############ FUN_ 1812b4430 size=119 ############ void FUN_1812b4430(undefined4 *param_1,undefined4 param_2,uint param_3) { uint uVar1; ulonglong uVar2; longlong lVar3; uVar1 = (int)(param_3 + ((int)param_3 >> 0x1f & 3U)) >> 2; uVar2 = (ulonglong)uVar1; if (((ulonglong)param_1 & 0xf) == 0) { if (0 < (int)uVar1) { do { *param_1 = param_2; param_1[1] = param_2; param_1[2] = param_2; param_1[3] = param_2; param_1 = param_1 + 4; uVar2 = uVar2 - 1; } while (uVar2 != 0); } } else if (0 < (int)uVar1) { do { *param_1 = param_2; param_1[1] = param_2; param_1[2] = param_2; param_1[3] = param_2; param_1 = param_1 + 4; uVar2 = uVar2 - 1; } while (uVar2 != 0); } if ((param_3 & 3) != 0) { for (lVar3 = (longlong)(int)(param_3 & 3); lVar3 != 0; lVar3 = lVar3 + -1) { *param_1 = param_2; param_1 = param_1 + 1; } } return; } ############ FUN_ 1805300f0 size=472 ############ void FUN_1805300f0(longlong param_1,int param_2) { longlong lVar1; int iVar2; uint uVar3; longlong lVar4; longlong lVar5; longlong *plVar6; longlong lVar7; int local_68; int local_64; undefined4 local_60; lVar5 = (longlong)param_2; lVar7 = (lVar5 + 9) * 0x40 + param_1; plVar6 = (longlong *)((lVar5 + 0x36) * 0x10 + param_1); uVar3 = *(int *)(lVar7 + 4) + *(int *)(param_1 + 0x3c8) & *(int *)(lVar7 + 8) - 1U; if ((int)uVar3 < 0) { uVar3 = uVar3 + *(int *)(lVar7 + 8); } *(uint *)(lVar7 + 4) = uVar3; FUN_18052db50(*plVar6,0,*(undefined4 *)(param_1 + 0x1a8)); lVar5 = (lVar5 + 7) * 0x40 + param_1; uVar3 = *(int *)(param_1 + 0x3c8) + *(int *)(lVar5 + 4) & *(int *)(lVar5 + 8) - 1U; if ((int)uVar3 < 0) { uVar3 = uVar3 + *(int *)(lVar5 + 8); } *(uint *)(lVar5 + 4) = uVar3; if (*(char *)(param_1 + 0x1b5) != '\0') { FUN_18052db50(*(undefined8 *)(param_1 + 0x390),0,*(undefined4 *)(param_1 + 0x1a8)); } if (*(int *)(param_1 + 0x1ac) < 2) { lVar1 = *plVar6; FUN_18052f640(lVar7,&local_68,*(undefined4 *)(param_1 + 0x1a0),0,0); lVar4 = (longlong)local_64; FUN_18052dbc0(lVar1,*(longlong *)(lVar7 + 0x20) + (longlong)local_68 * 4,local_64); FUN_18052dbc0(lVar1 + lVar4 * 4,*(undefined8 *)(lVar7 + 0x20),local_60); if (*(char *)(param_1 + 0x1b5) != '\0') { lVar7 = *(longlong *)(param_1 + 0x390); FUN_18052f640(lVar5,&local_68,*(undefined4 *)(param_1 + 0x1a0),0,0); FUN_18052dbc0(lVar7,*(longlong *)(lVar5 + 0x20) + (longlong)local_68 * 4,local_64); FUN_18052dbc0(lVar7 + (longlong)local_64 * 4,*(undefined8 *)(lVar5 + 0x20),local_60); } } else { FUN_1805334e0(lVar7,*plVar6,*(undefined8 *)(param_1 + 0x340),*(undefined4 *)(param_1 + 0x1a0)); if (*(char *)(param_1 + 0x1b5) != '\0') { FUN_1805334e0(lVar5,*(undefined8 *)(param_1 + 0x390),*(undefined8 *)(param_1 + 0x350), *(undefined4 *)(param_1 + 0x1a0)); } } lVar5 = *plVar6; iVar2 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(lVar5,*(undefined8 *)(param_1 + 0x78)); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(lVar5,*(undefined8 *)(param_1 + 0x80),*(undefined8 *)(param_1 + 200)); } ############ FUN_ 18052e130 size=91 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18052e130(longlong param_1) { float fVar1; double dVar2; fVar1 = (float)log2f(*(float *)(param_1 + 0x24) / _DAT_1824c45ec); fVar1 = floorf(fVar1); dVar2 = pow(DAT_1824c41e8,(double)fVar1); *(int *)(param_1 + 0x1a0) = (int)((float)dVar2 * (float)*(int *)(param_1 + 0x19c)); return; } ############ FUN_ 1813bbf80 size=2779 ############ /* WARNING: Removing unreachable block (ram,0x0001813bc9d5) */ /* WARNING: Removing unreachable block (ram,0x0001813bc092) */ /* WARNING: Removing unreachable block (ram,0x0001813bc019) */ /* WARNING: Removing unreachable block (ram,0x0001813bbffc) */ /* WARNING: Removing unreachable block (ram,0x0001813bc03d) */ /* WARNING: Removing unreachable block (ram,0x0001813bc2f7) */ /* WARNING: Removing unreachable block (ram,0x0001813bc730) */ /* WARNING: Removing unreachable block (ram,0x0001813bc94b) */ /* WARNING: Removing unreachable block (ram,0x0001813bc049) */ /* WARNING: Removing unreachable block (ram,0x0001813bcae1) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ ulonglong FUN_1813bbf80(void) { undefined8 uVar1; code *pcVar2; ulonglong uVar3; ulonglong uVar4; code **ppcVar5; uint uVar6; longlong lVar7; int iVar8; ulonglong uVar9; ulonglong uVar10; uint uVar11; float fVar12; int unaff_retaddr; code *local_78; int *local_70; undefined8 local_58; local_58 = 0xfffffffffffffffe; uVar6 = (uint)&stack0x00000000 & 0x3bf; iVar8 = (uVar6 + 2) * (uVar6 + 1) * uVar6; local_70 = &DAT_18116d230; uVar6 = (((uint)(DAT_18116d230 * 0x401) >> 6 ^ DAT_18116d230 * 0x401) + DAT_18116d234) * 0x401; uVar11 = ((uVar6 >> 6 ^ uVar6) + DAT_18116d238) * 0x401; uVar11 = uVar11 ^ uVar11 >> 6; uVar4 = (ulonglong)uVar11; uVar6 = uVar11 & 7 | 0x68; uVar10 = (ulonglong)(uVar6 * uVar6); uVar6 = (_DAT_18116d23c + uVar11) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d240) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d244) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d248) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d24c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d250) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d254) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d258) * 0x401; do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar6 = (_DAT_18116d25c + (uVar6 ^ uVar6 >> 6)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d260) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d264) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d268) * 0x401; uVar6 = uVar6 ^ uVar6 >> 6; uVar9 = (ulonglong)uVar6; uVar6 = (_DAT_18116d26c + uVar6) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d270) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d274) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d278) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d27c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d280) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d284) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d288) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d28c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d290) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d294) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d298) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d29c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2a0) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2a4) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2a8) * 0x401; do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar6 = (_DAT_18116d2ac + (uVar6 ^ uVar6 >> 6)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2b0) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2b4) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2b8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2bc) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2c0) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2c4) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2c8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2cc) * 0x401; do { uVar1 = rdtsc(); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar11 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x166a7a15; pcVar2 = (code *)0x0; if ((uVar11 >> 0x18 ^ uVar11) * -0x3b31e57b < 0x226250) { do { local_78 = pcVar2; ppcVar5 = &local_78; /* WARNING: Call to offcut address within same function */ func_0x0001813bcb29(ppcVar5,&local_78); *ppcVar5 = FUN_1813f2240; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } pcVar2 = local_78; } while (uVar11 != 0); uVar3 = (*local_78)(0,0xc0b6); if (1 < uVar3) { FUN_18113eab0(); } } uVar6 = (FUN_18116d2ce + (uVar6 ^ uVar6 >> 6)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2d4) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2d8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2dc) * 0x401; do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar6 = (_DAT_18116d2e0 + (uVar6 ^ uVar6 >> 6)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2e4) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2e8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2ec) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _DAT_18116d2f0) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d2f4) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d2f8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d2fc) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d300) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d304) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d308) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d30c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d310) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d314) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d318) * 0x401; uVar3 = (ulonglong)uVar6; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d31c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d320) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d324) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d328) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + _UNK_18116d32c) * 0x401; uVar6 = ~((uVar6 >> 6 ^ uVar6) + 0xb372369a) + 0xa44f94f3; do { uVar3 = ((uVar3 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; uVar4 = ~((uVar4 ^ 0xffffffffffffffff) + 1) + 1; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); if ((char)(((uVar6 * 0x400000 | uVar6 >> 10) == 0x501a0ee4) * '\x17') != '\0') { do { lVar7 = uVar3 + uVar4; uVar4 = ~((~(uVar4 - lVar7) + 1) - lVar7) + 1; uVar3 = lVar7 - uVar4; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); fVar12 = (float)log2f(0,uVar3,uVar9,uVar10); fVar12 = ceilf(fVar12); fVar12 = powf(DAT_1824c41e0,fVar12); return (ulonglong)((double)fVar12 + DAT_1824c4520) & 0xffffffff; } uVar4 = thunk_FUN_1805a9280((longlong) (int)(((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e ^ 0x980),uVar3,~(~uVar9 + 1) + 1); return uVar4; } ############ FUN_ 18052e190 size=137 ############ void FUN_18052e190(longlong *param_1,int param_2,undefined4 param_3) { longlong lVar1; ulonglong uVar2; uint uVar3; ulonglong uVar4; uVar2 = 0; if ((int)param_1[1] != param_2) { if ((0 < (int)param_1[1]) && (*param_1 != 0)) { FUN_1800010c0(); } *param_1 = 0; if (param_2 < 0) { param_2 = 0; } *(int *)(param_1 + 1) = param_2; if (param_2 == 0) { return; } lVar1 = FUN_180001080(param_2 * 4); *param_1 = lVar1; } uVar4 = uVar2; if (0 < (int)param_1[1]) { do { uVar3 = (int)uVar4 + 1; *(undefined4 *)(uVar2 + *param_1) = param_3; uVar2 = uVar2 + 4; uVar4 = (ulonglong)uVar3; } while ((int)uVar3 < (int)param_1[1]); } return; } ############ FUN_ 1800010c0 size=15 ############ void FUN_1800010c0(longlong param_1) { if (param_1 != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + -8)); } return; } ############ FUN_ 180001080 size=62 ############ ulonglong FUN_180001080(int param_1) { void *pvVar1; ulonglong uVar2; if ((0 < param_1) && (param_1 <= param_1 + 0x48)) { pvVar1 = malloc((longlong)(param_1 + 0x48)); if (pvVar1 == (void *)0x0) { uVar2 = 0; } else { uVar2 = (longlong)pvVar1 + 0x47U & 0xffffffffffffffc0; *(void **)(uVar2 - 8) = pvVar1; } return uVar2; } return 0; } ############ FUN_ 18052dc30 size=227 ############ void FUN_18052dc30(undefined4 *param_1,int param_2,undefined4 param_3) { int iVar1; undefined4 local_28; undefined4 local_24; undefined4 local_20; undefined4 local_1c; undefined1 local_18 [4]; undefined4 local_14; undefined4 local_10; undefined4 local_c; if (param_1[1] == param_2) { return; } param_1[2] = param_3; param_1[1] = param_2; FUN_1805335c0(param_1,&local_28,param_2); if ((int)param_1[2] < 0) { FUN_180534550(param_1 + 0x12,local_24); FUN_180534550(param_1 + 0x1a,local_20); } else { FUN_1805335c0(param_1,local_18); FUN_180534550(param_1 + 0x12,local_14); FUN_180534550(param_1 + 0x1a,local_10); local_1c = local_c; } FUN_180534550(param_1 + 0x16,local_1c); iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_1 + 6); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_1 + 8,local_28,*param_1,1,*(undefined8 *)(param_1 + 0x12), *(undefined8 *)(param_1 + 0x16)); } ############ FUN_ 18052df60 size=450 ############ void FUN_18052df60(longlong param_1) { longlong lVar1; float *pfVar2; longlong lVar3; int iVar4; longlong lVar5; float fVar6; fVar6 = 0.0; FUN_18052e190(param_1 + 0x340,*(undefined4 *)(param_1 + 0x1a0),0); FUN_18052e190(param_1 + 0x350,*(undefined4 *)(param_1 + 0x1a0),0); FUN_18052e190(param_1 + 0x3b0,*(int *)(param_1 + 0x1a0) * 2,0); FUN_1805356f0(*(undefined8 *)(param_1 + 0x350),*(undefined4 *)(param_1 + 0x1a0)); FUN_1805356f0(*(undefined8 *)(param_1 + 0x340),*(undefined4 *)(param_1 + 0x1a0)); if (*(char *)(param_1 + 0x1b4) == '\0') { iVar4 = *(int *)(param_1 + 0x1a0); lVar5 = (longlong)iVar4; lVar1 = 0; if (3 < lVar5) { pfVar2 = (float *)(*(longlong *)(param_1 + 0x340) + 8); lVar3 = (lVar5 - 4U >> 2) + 1; lVar1 = lVar3 * 4; do { fVar6 = fVar6 + pfVar2[-2] + pfVar2[-1] + *pfVar2 + pfVar2[1]; pfVar2 = pfVar2 + 4; lVar3 = lVar3 + -1; } while (lVar3 != 0); } for (; lVar1 < lVar5; lVar1 = lVar1 + 1) { fVar6 = fVar6 + *(float *)(*(longlong *)(param_1 + 0x340) + lVar1 * 4); } } else { FUN_18052da70(*(undefined8 *)(param_1 + 0x3b0),*(undefined8 *)(param_1 + 0x340), *(undefined8 *)(param_1 + 0x340),*(undefined4 *)(param_1 + 0x1a0)); iVar4 = *(int *)(param_1 + 0x1a0); lVar5 = (longlong)iVar4; lVar1 = 0; if (3 < lVar5) { pfVar2 = (float *)(*(longlong *)(param_1 + 0x3b0) + 8); lVar3 = (lVar5 - 4U >> 2) + 1; lVar1 = lVar3 * 4; do { fVar6 = fVar6 + pfVar2[-2] + pfVar2[-1] + *pfVar2 + pfVar2[1]; pfVar2 = pfVar2 + 4; lVar3 = lVar3 + -1; } while (lVar3 != 0); } for (; lVar1 < lVar5; lVar1 = lVar1 + 1) { fVar6 = fVar6 + *(float *)(*(longlong *)(param_1 + 0x3b0) + lVar1 * 4); } } fVar6 = DAT_1824c3ea4 / (fVar6 / (float)iVar4); *(float *)(param_1 + 0x1a4) = fVar6; *(float *)(param_1 + 0x1a4) = fVar6 / (float)*(int *)(param_1 + 0x1ac); return; } ############ FUN_ 18049b000 size=102 ############ uint FUN_18049b000(longlong *param_1,longlong *param_2) { uint *puVar1; uint uVar2; longlong lVar3; int iVar4; iVar4 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar4) { FUN_18048a300(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar4 / 2 & 0xfffffff8); } iVar4 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar4 + 1; lVar3 = *param_2; *(longlong *)(*param_1 + (longlong)iVar4 * 8) = lVar3; uVar2 = *(uint *)(lVar3 + -0x10); if ((uVar2 & 0x30000000) == 0) { LOCK(); puVar1 = (uint *)(lVar3 + -0x10); uVar2 = *puVar1; *puVar1 = *puVar1 + 1; UNLOCK(); } return uVar2; } ############ FUN_ 18052f680 size=454 ############ void FUN_18052f680(longlong *param_1) { uint *_Memory; longlong lVar1; undefined8 *puVar2; int iVar3; longlong *plVar4; longlong *plVar5; uint uVar6; longlong local_res8; longlong local_res10; undefined8 *local_res18 [2]; undefined1 local_40 [24]; if ((char)param_1[0xa2] != '\0') { return; } *(undefined1 *)(param_1 + 0xa2) = 1; FUN_18049c4e0(&local_res10, "lBnBKPSzl9hjqL9t6KtsEn5XFT0HQWftYA4e32/dbJSqTszNkf71S7wl8xnrBCTvwaU9YAhT8oxpw3tNwx+UoUBhEj2EuucDWJ/lfs5lip3iNTdOEArLWy3vEz1S9qkJ/Z9kMksfxEt3sOhyCX/j+qbkcqKsscs9aq+/7xGcX9Hk/DunFHeRV5vgJLakKAKm3yA+b2dKqNvCw2DTtnVSHRYJ/48vDmpp9flpJGZtIMZ0HxvdWac9o7bxN2476ZJcHUjsTWyB5WOWbxGkGSSvDmHyzVd/q5ecwBfkUEn3Ev1pfL25plhN9ciUXX0cLRSoFqHefaAOH9QbfMjzww0DAensSgvMmqA5B6BYP+Pri/nTu7rAMwTRn5pVcTD1zTs40GfCO51gf/0u//L5kPSffrFxyiyAwgt3ZtAPLh+lLG9BIj1x+NyYh3HKTtq6cMKIqOYZtiAiuqeeMoj13UeIowN0fCqRLZ1AW6PB5RCaCtZ3KcD9QAWMmdByMXZ0pUldRCoB+L8XOXBNzc2jG46SzeLS+QKTaPnzgPBKaxJYGX2ww46+Pm27mJnMJq5WCvzicIufjnZGhY2myql3QG49M/rCQ0YQjIOjx5eFyAk1h2X2dDT4xveIxK+CU8mLVu1N6smldr3RQN7oOOFJ8QVvcJSn0MfdLldhG4k/8psbP1D0cRm8xiZYDoVWXzpNdixn" ); local_res8 = local_res10; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } FUN_1805337e0(param_1 + 0x8a,&local_res8); plVar5 = param_1 + 0xa3; uVar6 = (int)param_1[0xa4] - 0x10; if ((-1 < (int)uVar6) && ((uVar6 & 0x1f) == 0)) { FUN_18123a6f0(plVar5,local_40,uVar6,0x10); FUN_18124a200(plVar5,(longlong)(int)uVar6,0); iVar3 = FUN_18141b260(param_1 + 0x8b); if (iVar3 == 0) { if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar6 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } goto LAB_18052f7a1; } } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar6 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } plVar5 = (longlong *)0x0; LAB_18052f7a1: if ((((DAT_1826216ff != '\0') && (DAT_18262170c != '\0')) && (DAT_18262170d != '\0')) && (((DAT_1826216fd != '\0' && (DAT_1826216fe != '\0')) && ((plVar5 != (longlong *)0x0 && (*plVar5 != 0)))))) { plVar4 = (longlong *)(**(code **)(*param_1 + 0x218))(param_1,local_res18); plVar5 = param_1 + 0x2e; if (plVar5 != plVar4) { lVar1 = *plVar4; *plVar4 = 0; puVar2 = (undefined8 *)*plVar5; *plVar5 = lVar1; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } if (local_res18[0] != (undefined8 *)0x0) { (**(code **)*local_res18[0])(local_res18[0],1); } } FUN_18052f850(param_1); return; } ############ FUN_ 18113eab0 size=36 ############ void FUN_18113eab0(void) { int iVar1; HANDLE pvVar2; iVar1 = FUN_18113f2d0(); if (iVar1 != 0) { pvVar2 = GetCurrentThread(); FUN_18113ebf0(pvVar2); return; } return; } ############ FUN_ 18114b490 size=379 ############ /* WARNING: Control flow encountered bad instruction data */ void FUN_18114b490(void) { uint uVar1; int iVar2; int unaff_retaddr; undefined1 auStack_98 [72]; uint local_50; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; uVar1 = (uint)&stack0x00000000 & 0x71ff; iVar2 = uVar1 * uVar1 + 1; uVar1 = (iVar2 >> 4) + (iVar2 >> 1) + iVar2 * 0x24924924 >> 0x1d; uVar1 = (int)(uVar1 - 7) >> 0x1f & uVar1; local_50 = ((int)(uVar1 | -uVar1) >> 0x1f) * -0xa5fb ^ 0xa8ab; DAT_18262b4c4 = (DAT_18262b4c4 >> 4 | DAT_18262b4c4 << 0x1c) & 0xc3c3c3c3 | (DAT_18262b4c4 << 4 | DAT_18262b4c4 >> 0x1c) & 0x3c3c3c3c; do { FUN_18114b0f5(); uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); FUN_18114b631(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 1812c37c0 size=344 ############ longlong * FUN_1812c37c0(longlong param_1,longlong *param_2) { int iVar1; longlong lVar2; int iVar3; ulonglong uVar4; longlong *plVar5; ulonglong uVar6; ulonglong uVar7; uVar4 = 0; *param_2 = 0; param_2[1] = 0; param_2[2] = 0; param_2[3] = 0; plVar5 = *(longlong **)(param_1 + 0xd0); uVar6 = (ulonglong)((longlong)(plVar5 + *(int *)(param_1 + 0xdc)) + (7 - (longlong)plVar5)) >> 3; if (plVar5 + *(int *)(param_1 + 0xdc) < plVar5) { uVar6 = uVar4; } uVar7 = uVar4; if (uVar6 != 0) { do { iVar1 = *(int *)((longlong)param_2 + 0xc); lVar2 = *plVar5; iVar3 = iVar1 + 1; if ((int)param_2[1] < iVar3) { if (iVar3 < 0) { iVar3 = iVar1 + 2; } FUN_1804d5cd0(param_2,iVar1 + 9 + (iVar3 >> 1) & 0xfffffff8); } iVar3 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar3 + 1; FUN_18123db10(*param_2 + (longlong)iVar3 * 0x28,lVar2 + 0x10); plVar5 = plVar5 + 1; uVar7 = uVar7 + 1; } while (uVar7 != uVar6); } plVar5 = *(longlong **)(param_1 + 0xe0); uVar6 = (ulonglong)((longlong)(plVar5 + *(int *)(param_1 + 0xec)) + (7 - (longlong)plVar5)) >> 3; if (plVar5 + *(int *)(param_1 + 0xec) < plVar5) { uVar6 = uVar4; } if (uVar6 != 0) { do { iVar1 = *(int *)((longlong)param_2 + 0x1c); lVar2 = *plVar5; iVar3 = iVar1 + 1; if ((int)param_2[3] < iVar3) { if (iVar3 < 0) { iVar3 = iVar1 + 2; } FUN_1804d5cd0(param_2 + 2,iVar1 + 9 + (iVar3 >> 1) & 0xfffffff8); } iVar3 = *(int *)((longlong)param_2 + 0x1c); *(int *)((longlong)param_2 + 0x1c) = iVar3 + 1; FUN_18123db10(param_2[2] + (longlong)iVar3 * 0x28,lVar2 + 0x10); plVar5 = plVar5 + 1; uVar4 = uVar4 + 1; } while (uVar4 != uVar6); } return param_2; } ############ FUN_ 18123d3f0 size=108 ############ int FUN_18123d3f0(longlong *param_1) { uint uVar1; longlong lVar2; int iVar3; longlong *plVar4; plVar4 = (longlong *)*param_1; iVar3 = 0; if (plVar4 == (longlong *)0x0) { plVar4 = param_1 + 1; } for (lVar2 = (longlong)(int)param_1[4] >> 5; -1 < lVar2; lVar2 = lVar2 + -1) { uVar1 = *(uint *)((longlong)plVar4 + lVar2 * 4); uVar1 = uVar1 - (uVar1 >> 1 & 0x55555555); uVar1 = (uVar1 >> 2 & 0x33333333) + (uVar1 & 0x33333333); uVar1 = (uVar1 >> 4) + uVar1 & 0xf0f0f0f; uVar1 = uVar1 + (uVar1 >> 8); iVar3 = iVar3 + ((uVar1 >> 0x10) + uVar1 & 0x3f); } return iVar3; } ############ FUN_ 18047c500 size=72 ############ void FUN_18047c500(undefined8 *param_1) { if (0 < *(int *)((longlong)param_1 + 0xc)) { /* WARNING: Subroutine does not return */ free(*(void **)*param_1); } *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x00018047c551. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 180531620 size=192 ############ void FUN_180531620(longlong *param_1) { void *_Dst; void *_Memory; longlong lVar1; int iVar2; longlong lVar3; iVar2 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar2) { lVar1 = (longlong)iVar2 * 8; lVar3 = lVar1; do { _Memory = *(void **)(lVar1 + *param_1); _Dst = (void *)(lVar3 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar2) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { *(undefined8 *)((longlong)_Memory + 0x20) = 0; if ((0 < *(int *)((longlong)_Memory + 0x18)) && (*(longlong *)((longlong)_Memory + 0x10) != 0)) { FUN_1800010c0(); } *(undefined8 *)((longlong)_Memory + 0x10) = 0; *(undefined4 *)((longlong)_Memory + 0x18) = 0; /* WARNING: Subroutine does not return */ free(_Memory); } lVar3 = lVar3 + -8; lVar1 = lVar1 + -8; iVar2 = iVar2 + -1; } while (-1 < iVar2); } return; } ############ FUN_ 1811316e0 size=58 ############ void FUN_1811316e0(size_t param_1) { int iVar1; void *pvVar2; do { pvVar2 = malloc(param_1); if (pvVar2 != (void *)0x0) { return; } iVar1 = _callnewh(param_1); } while (iVar1 != 0); if (param_1 == 0xffffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_181132538(); } /* WARNING: Subroutine does not return */ FUN_181132518(); } ############ FUN_ 18052bc40 size=103 ############ void FUN_18052bc40(undefined8 *param_1,undefined4 param_2) { int iVar1; ulonglong uVar2; uint uVar3; ulonglong uVar4; iVar1 = FUN_1813bbf80(param_2); if (*(int *)(param_1 + 1) != iVar1) { FUN_18052e190(param_1 + 2,iVar1,0); } uVar2 = 0; *(int *)(param_1 + 1) = iVar1; *param_1 = 0; uVar4 = uVar2; if (0 < *(int *)(param_1 + 3)) { do { uVar3 = (int)uVar4 + 1; *(undefined4 *)(uVar2 + param_1[2]) = 0; uVar2 = uVar2 + 4; uVar4 = (ulonglong)uVar3; } while ((int)uVar3 < *(int *)(param_1 + 3)); } param_1[4] = param_1[2]; return; } ############ FUN_ 18047cb30 size=115 ############ void FUN_18047cb30(undefined8 *param_1,int param_2) { void *pvVar1; if (*(int *)(param_1 + 1) == param_2) { *(int *)(param_1 + 1) = param_2; return; } pvVar1 = (void *)*param_1; if (0 < param_2) { if (pvVar1 == (void *)0x0) { pvVar1 = malloc((longlong)param_2 * 8); *param_1 = pvVar1; *(int *)(param_1 + 1) = param_2; return; } pvVar1 = realloc(pvVar1,(longlong)param_2 * 8); *param_1 = pvVar1; *(int *)(param_1 + 1) = param_2; return; } /* WARNING: Subroutine does not return */ free(pvVar1); } ############ FUN_ 1811c4880 size=1014 ############ /* WARNING: Removing unreachable block (ram,0x0001811c49d6) */ /* WARNING: Removing unreachable block (ram,0x0001811c4914) */ /* WARNING: Removing unreachable block (ram,0x0001811c48dc) */ /* WARNING: Removing unreachable block (ram,0x0001811c49bc) */ /* WARNING: Removing unreachable block (ram,0x0001811c4a14) */ longlong FUN_1811c4880(undefined8 param_1) { ulonglong uVar1; uint uVar2; int iVar3; uint uVar4; undefined1 auStack_168 [32]; undefined4 local_148; undefined8 local_140; undefined8 local_118; undefined8 local_110; undefined4 local_104; uint local_100; undefined8 local_f0; undefined1 *local_d0; undefined8 local_c8; undefined *local_a0; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_168; if (((uint)&stack0x00000000 >> 9 & 1) == 0) { uVar4 = 0x138a745a; } else { uVar4 = 1; } uVar2 = (uint)&stack0x00000000 & 0x17f; iVar3 = (uVar2 + 2) * (uVar2 + 1) * uVar2; local_100 = (int)(-uVar4 | uVar4) >> 0x1f & 0xb6f0U ^ 0xb5e0U - (((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e); local_104 = 0x590; local_f0 = 0x180000000; local_140 = 0; local_110 = 0x14153f0; local_118 = 0x22c; local_d0 = &LAB_1814153f0; local_a0 = &DAT_18141561c; local_148 = 0xbf; local_c8 = param_1; FUN_1811c5294(); /* WARNING: Call to offcut address within same function */ uVar1 = func_0x0001811c4af2(); return ~(~uVar1 + 1) + 1; } ############ FUN_ 1812a77d0 size=436 ############ void FUN_1812a77d0(longlong param_1,int param_2) { longlong *plVar1; undefined4 *puVar2; int iVar3; undefined4 uVar4; undefined4 *puVar5; longlong lVar6; undefined4 uVar7; undefined4 uVar8; longlong lVar9; longlong lVar10; longlong lVar11; int iVar12; undefined8 uVar13; undefined8 local_20; undefined8 uStack_18; uVar13 = 0xfffffffffffffffe; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673a78); iVar3 = *(int *)(param_1 + 0x10); iVar12 = 1; if (1 < param_2) { iVar12 = param_2; } *(int *)(param_1 + 0x10) = iVar12; lVar9 = DAT_1826736e0; if (iVar3 == 0) { if (DAT_1826736e0 == 0) { uVar13 = FUN_1811316e0(0x2d8); DAT_1826736e0 = FUN_1804d0200(uVar13); } lVar9 = DAT_1826736e0; lVar11 = *(longlong *)(DAT_1826736e0 + 0x220) - *(longlong *)(DAT_1826736e0 + 0x218) >> 4; uVar4 = *(undefined4 *)(param_1 + 0x10); uStack_18 = CONCAT44(uStack_18._4_4_,uVar4); puVar5 = *(undefined4 **)(DAT_1826736e0 + 0x220); local_20 = param_1; if (*(undefined4 **)(DAT_1826736e0 + 0x228) == puVar5) { FUN_1804d1fe0((longlong *)(DAT_1826736e0 + 0x218),puVar5,&local_20); } else { local_20._0_4_ = (undefined4)param_1; local_20._4_4_ = (undefined4)((ulonglong)param_1 >> 0x20); *puVar5 = (undefined4)local_20; puVar5[1] = local_20._4_4_; puVar5[2] = uVar4; puVar5[3] = uStack_18._4_4_; *(longlong *)(lVar9 + 0x220) = *(longlong *)(lVar9 + 0x220) + 0x10; } *(longlong *)(param_1 + 8) = lVar11; FUN_1804d0860(lVar9,lVar11); FUN_181215c10(lVar9 + 0xf8); } else if (DAT_1826736e0 != 0) { lVar11 = *(longlong *)(param_1 + 8); lVar10 = lVar11 * 0x10; iVar3 = *(int *)(*(longlong *)(DAT_1826736e0 + 0x218) + 8 + lVar10); if (iVar12 != iVar3) { *(int *)(*(longlong *)(DAT_1826736e0 + 0x218) + 8 + lVar10) = iVar12; if (iVar3 < iVar12) { FUN_1804d07a0(lVar9,lVar11,lVar11,iVar12,uVar13); } else if (lVar11 != 0) { plVar1 = (longlong *)(*(longlong *)(lVar9 + 0x218) + lVar10); local_20 = *plVar1; uStack_18 = plVar1[1]; do { lVar6 = *(longlong *)(lVar9 + 0x218); if (*(int *)(lVar6 + -8 + lVar10) <= (int)uStack_18) break; puVar2 = (undefined4 *)(lVar6 + -0x10 + lVar10); uVar4 = puVar2[1]; uVar7 = puVar2[2]; uVar8 = puVar2[3]; puVar5 = (undefined4 *)(lVar6 + lVar10); *puVar5 = *puVar2; puVar5[1] = uVar4; puVar5[2] = uVar7; puVar5[3] = uVar8; *(longlong *)(*(longlong *)(*(longlong *)(lVar9 + 0x218) + lVar10) + 8) = lVar11; lVar10 = lVar10 + -0x10; lVar11 = lVar11 + -1; } while (lVar11 != 0); plVar1 = (longlong *)(*(longlong *)(lVar9 + 0x218) + lVar11 * 0x10); *plVar1 = local_20; plVar1[1] = uStack_18; *(longlong *)(local_20 + 8) = lVar11; } FUN_181215c10(lVar9 + 0xf8); } } /* WARNING: Could not recover jumptable at 0x0001812a797d. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673a78); return; } ############ FUN_ 18052f850 size=190 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18052f850(longlong param_1) { undefined8 uVar1; BOOL BVar2; undefined1 auStack_88 [32]; undefined8 local_68; undefined **local_58; longlong local_50; undefined ***local_20; ulonglong local_18; local_68 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_88; BVar2 = TryEnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x528)); if (BVar2 != 0) { uVar1 = *(undefined8 *)(param_1 + 0x168); *(undefined8 *)(param_1 + 0x168) = *(undefined8 *)(param_1 + 0x170); *(undefined8 *)(param_1 + 0x170) = uVar1; LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x528)); local_58 = std::_Func_impl_no_alloc<,void>::vftable; local_20 = &local_58; local_50 = param_1; FUN_18120c6e0(&local_58,param_1 + 0x158); if (local_20 != (undefined ***)0x0) { (*(code *)(*local_20)[4]) (local_20,CONCAT71((int7)((ulonglong)&local_58 >> 8),local_20 != &local_58)); } } } ############ FUN_ 181198f30 size=302 ############ void FUN_181198f30(longlong param_1,char param_2) { char cVar1; longlong *plVar2; longlong *plVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; longlong *plVar8; byte bVar9; longlong *plVar10; byte bVar11; if (param_2 == '\0') { if (*(char *)(param_1 + 0x70) != '\0') { puVar4 = *(undefined8 **)(param_1 + 0x38); bVar11 = 0; puVar5 = (undefined8 *)*puVar4; while (puVar5 != puVar4) { bVar9 = (**(code **)(**(longlong **)(puVar5[5] + 0x288) + 0x10))(); bVar11 = bVar11 | bVar9; puVar6 = (undefined8 *)puVar5[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar5 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar5 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar7 = (undefined8 *)puVar5[1]; puVar6 = puVar5; while ((puVar5 = puVar7, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar5[2]))) { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar7 = (undefined8 *)puVar5[1]; puVar6 = puVar5; } } } LOCK(); *(byte *)(param_1 + 0x70) = bVar11; UNLOCK(); } } else { plVar2 = *(longlong **)(param_1 + 0x38); plVar10 = (longlong *)*plVar2; if (plVar10 != plVar2) { do { FUN_1811c4880(plVar10[5]); plVar3 = (longlong *)plVar10[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { cVar1 = *(char *)(*plVar3 + 0x19); plVar10 = plVar3; plVar3 = (longlong *)*plVar3; while (cVar1 == '\0') { cVar1 = *(char *)(*plVar3 + 0x19); plVar10 = plVar3; plVar3 = (longlong *)*plVar3; } } else { cVar1 = *(char *)(plVar10[1] + 0x19); plVar8 = (longlong *)plVar10[1]; plVar3 = plVar10; while ((plVar10 = plVar8, cVar1 == '\0' && (plVar3 == (longlong *)plVar10[2]))) { cVar1 = *(char *)(plVar10[1] + 0x19); plVar8 = (longlong *)plVar10[1]; plVar3 = plVar10; } } } while (plVar10 != plVar2); return; } } return; } ############ FUN_ 18052f640 size=58 ############ uint * FUN_18052f640(int *param_1,uint *param_2,uint param_3,int param_4,char param_5) { int iVar1; int iVar2; uint uVar3; uint uVar4; if (param_5 == '\0') { iVar2 = param_1[1]; } else { iVar2 = *param_1; } iVar1 = param_1[2]; uVar3 = iVar1 + iVar2 + param_4 & iVar1 - 1U; uVar4 = iVar1 - uVar3; *param_2 = uVar3; if ((int)param_3 < (int)uVar4) { uVar4 = param_3; } param_2[1] = uVar4; param_2[2] = param_3 - uVar4; return param_2; } ############ FUN_ 18052dbc0 size=97 ############ void FUN_18052dbc0(undefined8 param_1,undefined8 param_2,undefined4 param_3) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_1,param_3); } ############ FUN_ 18052fc90 size=174 ############ void FUN_18052fc90(int *param_1,float param_2) { int iVar1; float fVar2; int iVar3; longlong lVar4; fVar2 = DAT_1824c3ea4; iVar1 = param_1[1]; iVar3 = 0; if (0 < *param_1) { lVar4 = 0; do { if ((param_2 != fVar2) && ((char)param_1[0x48] == '\0')) { if (param_2 == 0.0) { memset(*(void **)(lVar4 + *(longlong *)(param_1 + 4)),0,(longlong)iVar1 << 2); } else { FUN_1812b3270(*(void **)(lVar4 + *(longlong *)(param_1 + 4)),param_2,iVar1); } } iVar3 = iVar3 + 1; lVar4 = lVar4 + 8; } while (iVar3 < *param_1); } return; } ############ FUN_ 18049c9e0 size=152 ############ undefined8 * FUN_18049c9e0(undefined8 *param_1,char *param_2) { char *pcVar1; char cVar2; longlong lVar3; undefined4 *puVar4; char *pcVar5; if ((param_2 != (char *)0x0) && (*param_2 != '\0')) { lVar3 = FUN_18049d240(param_2); puVar4 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar4 = 0; UNLOCK(); *(ulonglong *)(puVar4 + 2) = lVar3 + 4U & 0xfffffffffffffffc; pcVar1 = (char *)(puVar4 + 4); cVar2 = *param_2; *pcVar1 = cVar2; if (cVar2 != '\0') { pcVar5 = pcVar1; do { cVar2 = pcVar5[(longlong)(param_2 + (1 - (longlong)pcVar1))]; pcVar5 = pcVar5 + 1; *pcVar5 = cVar2; } while (cVar2 != '\0'); } *param_1 = pcVar1; return param_1; } *param_1 = &DAT_1821dbf98; return param_1; } ############ FUN_ 1812c1130 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; } ############ FUN_ 1812c1070 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; } ############ FUN_ 1812bf000 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); } ############ FUN_ 18123c5f0 size=193 ############ ulonglong FUN_18123c5f0(longlong *param_1,longlong *param_2) { uint uVar1; int iVar2; char cVar3; longlong lVar4; ulonglong uVar5; int iVar6; char cVar7; longlong *plVar8; if (*(char *)((longlong)param_1 + 0x24) != '\0') { plVar8 = (longlong *)*param_1; if (plVar8 == (longlong *)0x0) { plVar8 = param_1 + 1; } iVar6 = (int)param_1[4] >> 5; lVar4 = (longlong)iVar6; if (-1 < iVar6) { LAB_18123c620: uVar1 = *(uint *)((longlong)plVar8 + lVar4 * 4); if (uVar1 == 0) goto code_r0x00018123c628; iVar2 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar2 == 0; iVar2 = iVar2 + -1) { } } if (iVar6 * 0x20 + iVar2 < 0) goto LAB_18123c630; cVar7 = '\x01'; goto LAB_18123c632; } } LAB_18123c630: cVar7 = '\0'; LAB_18123c632: if (*(char *)((longlong)param_2 + 0x24) != '\0') { plVar8 = (longlong *)*param_2; if (plVar8 == (longlong *)0x0) { plVar8 = param_2 + 1; } iVar6 = (int)param_2[4] >> 5; lVar4 = (longlong)iVar6; if (-1 < iVar6) { LAB_18123c653: uVar1 = *(uint *)((longlong)plVar8 + lVar4 * 4); if (uVar1 == 0) goto code_r0x00018123c65b; iVar2 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar2 == 0; iVar2 = iVar2 + -1) { } } if (-1 < iVar6 * 0x20 + iVar2) { cVar3 = '\x01'; goto LAB_18123c665; } } } LAB_18123c663: cVar3 = '\0'; LAB_18123c665: if (cVar7 == cVar3) { uVar5 = FUN_18123c4d0(param_1,param_2); if (cVar7 != '\0') { return (ulonglong)(uint)-(int)uVar5; } } else { uVar5 = 1; if (cVar7 != '\0') { uVar5 = 0xffffffff; } } return uVar5; code_r0x00018123c628: iVar6 = iVar6 + -1; lVar4 = lVar4 + -1; if (lVar4 < 0) goto LAB_18123c630; goto LAB_18123c620; code_r0x00018123c65b: iVar6 = iVar6 + -1; lVar4 = lVar4 + -1; if (lVar4 < 0) goto LAB_18123c663; goto LAB_18123c653; } ############ FUN_ 18052c310 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]); } ############ FUN_ 18124a040 size=130 ############ undefined8 * FUN_18124a040(undefined8 *param_1,longlong param_2) { uint uVar1; int iVar2; int iVar3; longlong lVar4; undefined8 *puVar5; *param_1 = 0; *(bool *)((longlong)param_1 + 0x24) = param_2 < 0; param_1[3] = 4; *(undefined4 *)(param_1 + 4) = 0x3f; if (param_2 < 0) { param_2 = -param_2; } *(int *)(param_1 + 1) = (int)param_2; *(int *)((longlong)param_1 + 0xc) = (int)((ulonglong)param_2 >> 0x20); param_1[2] = 0; puVar5 = param_1 + 1; if ((undefined8 *)*param_1 != (undefined8 *)0x0) { puVar5 = (undefined8 *)*param_1; } iVar3 = *(int *)(param_1 + 4) >> 5; lVar4 = (longlong)iVar3; if (-1 < iVar3) { do { uVar1 = *(uint *)((longlong)puVar5 + lVar4 * 4); if (uVar1 != 0) { iVar2 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar2 == 0; iVar2 = iVar2 + -1) { } } *(int *)(param_1 + 4) = iVar3 * 0x20 + iVar2; return param_1; } iVar3 = iVar3 + -1; lVar4 = lVar4 + -1; } while (-1 < lVar4); } *(undefined4 *)(param_1 + 4) = 0xffffffff; return param_1; } ############ FUN_ 1804db6f0 size=215 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001804db7b7) */ void FUN_1804db6f0(longlong *param_1,undefined8 *param_2,uint param_3) { void *pvVar1; void **ppvVar2; bool bVar3; undefined1 auStack_98 [32]; undefined4 local_78; void *local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; undefined8 local_50; void *local_48 [5]; ulonglong local_20; local_20 = DAT_182615970 ^ (ulonglong)auStack_98; local_78 = 0; bVar3 = *(uint *)((longlong)param_1 + 0xc) <= param_3; if (bVar3) { local_70 = (void *)0x0; ppvVar2 = &local_70; local_58 = 4; local_50 = 0xffffffff; local_68 = 0; local_60 = 0; } else { FUN_18123db10(local_48,*param_1 + (longlong)(int)param_3 * 0x28); ppvVar2 = local_48; } *param_2 = *ppvVar2; *ppvVar2 = (void *)0x0; param_2[3] = ppvVar2[3]; *(undefined4 *)(param_2 + 4) = *(undefined4 *)(ppvVar2 + 4); *(undefined1 *)((longlong)param_2 + 0x24) = *(undefined1 *)((longlong)ppvVar2 + 0x24); pvVar1 = ppvVar2[2]; param_2[1] = ppvVar2[1]; param_2[2] = pvVar1; if (!bVar3) { /* WARNING: Subroutine does not return */ free(local_48[0]); } /* WARNING: Subroutine does not return */ free(local_70); } ############ FUN_ 1812c0230 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); } } } ############ FUN_ 1804df970 size=136 ############ undefined8 FUN_1804df970(longlong *param_1,longlong *param_2) { longlong lVar1; longlong lVar2; int iVar3; longlong lVar4; if (*(int *)((longlong)param_1 + 0xc) != *(int *)((longlong)param_2 + 0xc)) { return 0; } lVar4 = *param_2; lVar1 = lVar4 + (longlong)*(int *)((longlong)param_2 + 0xc) * 0x28; lVar2 = *param_1; while( true ) { if (lVar4 == lVar1) { return 1; } iVar3 = FUN_18123c5f0(lVar2,lVar4); if (iVar3 != 0) break; lVar4 = lVar4 + 0x28; lVar2 = lVar2 + 0x28; } return 0; } ############ FUN_ 18123d980 size=207 ############ longlong * FUN_18123d980(longlong *param_1,longlong *param_2) { uint uVar1; longlong lVar2; ulonglong uVar3; int iVar4; int iVar5; longlong *_Dst; longlong *plVar6; ulonglong uVar7; if (param_1 != param_2) { plVar6 = (longlong *)*param_2; if (plVar6 == (longlong *)0x0) { plVar6 = param_2 + 1; } iVar4 = (int)param_2[4] >> 5; lVar2 = (longlong)iVar4; if (-1 < iVar4) { LAB_18123d9b7: uVar1 = *(uint *)((longlong)plVar6 + lVar2 * 4); if (uVar1 == 0) goto code_r0x00018123d9bf; iVar5 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar5 == 0; iVar5 = iVar5 + -1) { } } iVar5 = iVar4 * 0x20 + iVar5; goto LAB_18123d9cc; } LAB_18123d9c7: iVar5 = -1; LAB_18123d9cc: *(int *)(param_1 + 4) = iVar5; uVar3 = (longlong)(iVar5 >> 5) + 1; uVar7 = 4; if (4 < uVar3) { uVar7 = uVar3; } if (uVar7 < 5) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } if (uVar7 != param_1[3]) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } param_1[3] = uVar7; plVar6 = (longlong *)*param_2; if (plVar6 == (longlong *)0x0) { plVar6 = param_2 + 1; } _Dst = (longlong *)*param_1; if (_Dst == (longlong *)0x0) { _Dst = param_1 + 1; } memcpy(_Dst,plVar6,uVar7 * 4); *(undefined1 *)((longlong)param_1 + 0x24) = *(undefined1 *)((longlong)param_2 + 0x24); } return param_1; code_r0x00018123d9bf: iVar4 = iVar4 + -1; lVar2 = lVar2 + -1; if (lVar2 < 0) goto LAB_18123d9c7; goto LAB_18123d9b7; } ############ FUN_ 1812c0000 size=543 ############ void FUN_1812c0000(longlong *param_1,char param_2,char param_3) { int iVar1; int iVar2; longlong lVar3; int iVar4; ulonglong *puVar5; longlong lVar6; uint uVar7; longlong *plVar8; ulonglong uVar9; uint uVar10; ulonglong uVar11; longlong lVar12; ulonglong uVar13; ulonglong uVar14; int iVar15; uVar11 = 0; iVar1 = *(int *)((longlong)param_1 + 0xec); iVar2 = *(int *)((longlong)param_1 + 0xdc); uVar10 = 0; uVar9 = uVar11; do { iVar15 = (int)uVar9; iVar4 = iVar1; if (iVar15 == 0) { iVar4 = iVar2; } uVar9 = uVar11; uVar14 = uVar11; if (0 < iVar4) { do { puVar5 = (ulonglong *)(param_1 + 0x1c); if (iVar15 == 0) { puVar5 = (ulonglong *)(param_1 + 0x1a); } if (((uint)uVar9 < *(uint *)((longlong)puVar5 + 0xc)) && (lVar3 = *(longlong *)(*puVar5 + uVar14 * 8), lVar3 != 0)) { lVar12 = *(longlong *)(lVar3 + 0x10); if (lVar12 == 0) { lVar12 = lVar3 + 0x18; } uVar7 = uVar10; uVar13 = uVar11; for (lVar6 = (longlong)*(int *)(lVar3 + 0x30) >> 5; -1 < lVar6; lVar6 = lVar6 + -1) { uVar7 = *(uint *)(lVar12 + lVar6 * 4); uVar7 = uVar7 - (uVar7 >> 1 & 0x55555555); uVar7 = (uVar7 >> 2 & 0x33333333) + (uVar7 & 0x33333333); uVar7 = (uVar7 >> 4) + uVar7 & 0xf0f0f0f; uVar7 = uVar7 + (uVar7 >> 8); uVar7 = (int)uVar13 + ((uVar7 >> 0x10) + uVar7 & 0x3f); uVar13 = (ulonglong)uVar7; } *(uint *)(lVar3 + 0x8c) = uVar7; } uVar9 = (ulonglong)((uint)uVar9 + 1); uVar14 = uVar14 + 1; } while ((longlong)uVar14 < (longlong)iVar4); } uVar9 = (ulonglong)(iVar15 + 1U); } while ((int)(iVar15 + 1U) < 2); plVar8 = (longlong *)param_1[0x1a]; uVar7 = 0; uVar9 = (ulonglong) ((longlong)(plVar8 + *(int *)((longlong)param_1 + 0xdc)) + (7 - (longlong)plVar8)) >> 3; if (plVar8 + *(int *)((longlong)param_1 + 0xdc) < plVar8) { uVar9 = uVar11; } uVar14 = uVar11; uVar13 = uVar11; if (uVar9 != 0) { do { lVar3 = *plVar8; plVar8 = plVar8 + 1; uVar14 = uVar14 + 1; uVar7 = (int)uVar13 + *(int *)(lVar3 + 0x8c); uVar13 = (ulonglong)uVar7; } while (uVar14 != uVar9); } *(uint *)(param_1 + 0x20) = uVar7; plVar8 = (longlong *)param_1[0x1c]; uVar9 = (ulonglong) ((longlong)(plVar8 + *(int *)((longlong)param_1 + 0xec)) + (7 - (longlong)plVar8)) >> 3; if (plVar8 + *(int *)((longlong)param_1 + 0xec) < plVar8) { uVar9 = uVar11; } uVar14 = uVar11; if (uVar9 != 0) { do { lVar3 = *plVar8; plVar8 = plVar8 + 1; uVar14 = uVar14 + 1; uVar10 = (int)uVar11 + *(int *)(lVar3 + 0x8c); uVar11 = (ulonglong)uVar10; } while (uVar14 != uVar9); } *(uint *)((longlong)param_1 + 0x104) = uVar10; FUN_1812c0470(param_1); if ((param_2 != '\0') && (*(code **)(*param_1 + 0x110) != FUN_1812c0e10)) { (**(code **)(*param_1 + 0x110))(param_1); } if ((param_3 != '\0') && (*(code **)(*param_1 + 0x108) != FUN_1812c0e20)) { (**(code **)(*param_1 + 0x108))(param_1); } /* WARNING: Could not recover jumptable at 0x0001812c020a. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x118))(param_1); return; } ############ FUN_ 1813affa0 size=42 ############ void FUN_1813affa0(undefined8 *param_1) { *param_1 = juce::AudioFormat::vftable; FUN_180488c50(param_1 + 2); /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } ############ FUN_ 180488c50 size=122 ############ void FUN_180488c50(longlong *param_1) { int iVar1; int *_Memory; int iVar2; longlong lVar3; iVar2 = 0; if (*(int *)((longlong)param_1 + 0xc) < 1) { *(undefined4 *)((longlong)param_1 + 0xc) = 0; return; } lVar3 = 0; do { _Memory = (int *)(*(longlong *)(lVar3 + *param_1) + -0x10); if ((*(uint *)(*(longlong *)(lVar3 + *param_1) + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar2 = iVar2 + 1; lVar3 = lVar3 + 8; } while (iVar2 < *(int *)((longlong)param_1 + 0xc)); *(undefined4 *)((longlong)param_1 + 0xc) = 0; return; } ############ FUN_ 18123fe10 size=725 ############ bool FUN_18123fe10(undefined8 *param_1,byte *param_2) { uint uVar1; byte bVar2; byte bVar3; char cVar4; byte bVar5; int iVar6; int iVar7; undefined8 uVar8; undefined8 *puVar9; uint *puVar10; byte *pbVar11; ulonglong uVar12; bool bVar13; byte *local_res10; undefined4 local_res18; byte *local_res20; longlong local_58; longlong local_50; longlong local_48 [4]; local_48[1] = 0xfffffffffffffffe; iVar6 = 0; local_res18 = 0; local_res10 = param_2; if (*param_2 == 0) { iVar6 = FUN_1812327b0(param_1,0x5c); iVar7 = FUN_1812327b0(param_1,0x2e); return iVar7 <= iVar6; } iVar7 = FUN_18049bc80(param_2,0x3b); if (iVar7 < 0) { cVar4 = FUN_181231160(param_1,param_2); if (cVar4 != '\0') { iVar7 = FUN_180493050(&local_res10,0); if (iVar7 == 0x2e) { return true; } pbVar11 = (byte *)*param_1; iVar7 = iVar6; while( true ) { while( true ) { bVar2 = *pbVar11; pbVar11 = pbVar11 + 1; if (-1 < (char)bVar2) break; if ((*pbVar11 & 0xc0) != 0x80) goto LAB_181240088; do { pbVar11 = pbVar11 + 1; } while ((*pbVar11 & 0xc0) == 0x80); iVar7 = iVar7 + 1; } if (bVar2 == 0) break; LAB_181240088: iVar7 = iVar7 + 1; } while( true ) { while( true ) { bVar2 = *param_2; param_2 = param_2 + 1; if (-1 < (char)bVar2) break; if ((*param_2 & 0xc0) != 0x80) goto LAB_1812400b8; do { param_2 = param_2 + 1; } while ((*param_2 & 0xc0) == 0x80); iVar6 = iVar6 + 1; } if (bVar2 == 0) break; LAB_1812400b8: iVar6 = iVar6 + 1; } if (-1 < (iVar7 - iVar6) + -1) { iVar6 = FUN_180493050(param_1); return iVar6 == 0x2e; } } return false; } FUN_18049c9e0(&local_58); local_res18 = 1; uVar8 = FUN_1812490c0(&local_58,local_48,0,iVar7); local_res18 = 3; puVar9 = (undefined8 *)FUN_181230800(uVar8,&local_50); local_res18 = 7; local_48[2] = *puVar9; cVar4 = FUN_18123fe10(param_1); if (cVar4 == '\0') { if (iVar7 + 1 < 0) { local_res20 = param_2; if (iVar7 + 2 < 1) { uVar12 = (ulonglong)(1 - (iVar7 + 2)); do { iVar6 = 0; do { param_2 = param_2 + -1; if ((*param_2 & 0xc0) != 0x80) break; iVar6 = iVar6 + 1; } while (iVar6 < 4); uVar12 = uVar12 - 1; local_res20 = param_2; } while (uVar12 != 0); } } else { for (; local_res20 = param_2, -1 < iVar7; iVar7 = iVar7 + -1) { bVar2 = *param_2; local_res20 = param_2 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { local_res20 = local_res20 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } param_2 = local_res20; } } while ((bVar2 = *param_2, bVar2 == 0x20 || ((byte)(bVar2 - 9) < 5))) { param_2 = param_2 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { param_2 = param_2 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } } cVar4 = FUN_18123fe10(param_1,param_2); if (cVar4 == '\0') { bVar13 = false; goto LAB_18123ffa6; } } bVar13 = true; LAB_18123ffa6: puVar10 = (uint *)(local_50 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_48[0] + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_58 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } return bVar13; } ############ FUN_ 180545be0 size=779 ############ undefined8 * FUN_180545be0(undefined8 *param_1,undefined8 param_2) { undefined8 uVar1; longlong lVar2; int iVar3; longlong *plVar4; undefined8 *puVar5; HMODULE pHVar6; FARPROC pFVar7; INT_PTR IVar8; uint uVar9; uint *puVar10; undefined2 local_res10 [4]; longlong local_res18; longlong local_res20; longlong local_78; LPCSTR local_70; undefined8 local_68; uint *local_60; undefined1 local_58 [24]; local_68 = 0xfffffffffffffffe; FUN_18049c4e0(&local_res18,"Windows Media"); lVar2 = DAT_1826739f8; local_60 = &DAT_182673984; do { LOCK(); uVar9 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar9 != 0); if (DAT_1826739f8 == 0) { local_res20 = local_res18; uVar9 = *(uint *)(local_res18 + -0x10); } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) != 0) && (iVar3 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res18,*(undefined1 *)(DAT_1826739f8 + 0x38) ,0), iVar3 < 0)) { FUN_181234570(*(undefined8 *)(lVar2 + 0x40),&local_res20,&local_res18,&local_res18); goto LAB_180545cca; } iVar3 = FUN_1812498b0(lVar2 + 0x18,local_res18,*(undefined1 *)(lVar2 + 0x38),0); if (iVar3 < 0) { local_res20 = local_res18; uVar9 = *(uint *)(local_res18 + -0x10); } else { plVar4 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar3); local_res20 = *plVar4; uVar9 = *(uint *)(local_res20 + -0x10); } } if ((uVar9 & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } LAB_180545cca: pFVar7 = (FARPROC)0x0; LOCK(); DAT_182673984 = 0; UNLOCK(); puVar10 = (uint *)(local_res18 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } *param_1 = juce::AudioFormatReader::vftable; param_1[1] = 0; *(undefined4 *)(param_1 + 2) = 0; param_1[3] = 0; *(undefined4 *)(param_1 + 4) = 0; *(undefined1 *)((longlong)param_1 + 0x24) = 0; param_1[5] = 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_res20; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } puVar10 = (uint *)(local_res20 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } *param_1 = juce::WindowsMediaCodec::WMAudioReader::vftable; FUN_18049c4e0(&local_78,"Wmvcore.dll"); param_1[0xc] = 0; puVar5 = (undefined8 *)FUN_18049a930(local_58,&local_78); pHVar6 = LoadLibraryW((LPCWSTR)*puVar5); param_1[0xc] = pHVar6; puVar10 = (uint *)(local_78 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; FUN_18049c4e0(&local_70,"WMCreateSyncReader"); if ((HMODULE)param_1[0xc] != (HMODULE)0x0) { pFVar7 = GetProcAddress((HMODULE)param_1[0xc],local_70); } puVar10 = (uint *)(local_70 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if (pFVar7 != (FARPROC)0x0) { CoInitialize((LPVOID)0x0); if ((longlong *)param_1[0xd] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[0xd] + 0x10))(); } param_1[0xd] = 0; IVar8 = (*pFVar7)(0,1,param_1 + 0xd); if (-1 < (int)IVar8) { puVar5 = (undefined8 *)FUN_1811316e0(0x18); uVar1 = param_1[10]; *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::WindowsMediaCodec::JuceIStream::vftable; puVar5[2] = uVar1; iVar3 = (**(code **)(*(longlong *)param_1[0xd] + 0xb8))((longlong *)param_1[0xd],puVar5); if (-1 < iVar3) { local_res10[0] = 1; (**(code **)(*(longlong *)param_1[0xd] + 0xa0))((longlong *)param_1[0xd],0,local_res10); (**(code **)(*(longlong *)param_1[0xd] + 0x50))((longlong *)param_1[0xd],local_res10[0],0); FUN_180546380(param_1); } } } return param_1; } ############ FUN_ 1813afcf0 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; } ############ FUN_ 1813af190 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; } ############ FUN_ 1813af220 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); } ############ FUN_ 180535db0 size=127 ############ /* WARNING: Removing unreachable block (ram,0x000180535e01) */ void FUN_180535db0(int *param_1,int param_2,int param_3) { *param_1 = param_2; param_1[1] = param_3; param_1[2] = 0; param_1[3] = 0; param_1[6] = 0; param_1[7] = 0; *(undefined1 *)(param_1 + 0x48) = 0; *(longlong *)(param_1 + 2) = (longlong)*param_1 * (longlong)param_1[1] * 4 + 0x20 + (longlong)(*param_1 + 1) * 8; /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 1804d5400 size=681 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804d5400(float *param_1,undefined1 (*param_2) [16],uint param_3) { undefined1 (*pauVar1) [16]; int iVar2; uint uVar3; longlong lVar4; float *pfVar5; longlong lVar6; ulonglong uVar7; float fVar8; float fVar10; undefined1 auVar9 [16]; float fVar12; undefined1 auVar11 [16]; float local_20; float fStack_14; iVar2 = (int)(param_3 + ((int)param_3 >> 0x1f & 3U)) >> 2; if (iVar2 < 2) { if ((int)param_3 < 1) { param_1[0] = 0.0; param_1[1] = 0.0; } else { fVar8 = *(float *)*param_2; iVar2 = param_3 - 1; pfVar5 = (float *)(*param_2 + 4); fVar10 = fVar8; if (3 < iVar2) { uVar3 = (param_3 - 5 >> 2) + 1; uVar7 = (ulonglong)uVar3; iVar2 = iVar2 + uVar3 * -4; do { fVar12 = *pfVar5; if (fVar10 < fVar12) { fVar10 = fVar12; } if (fVar12 < fVar8) { fVar8 = fVar12; } fVar12 = pfVar5[1]; if (fVar10 < fVar12) { fVar10 = fVar12; } if (fVar12 < fVar8) { fVar8 = fVar12; } fVar12 = pfVar5[2]; if (fVar10 < fVar12) { fVar10 = fVar12; } if (fVar12 < fVar8) { fVar8 = fVar12; } fVar12 = pfVar5[3]; if (fVar10 < fVar12) { fVar10 = fVar12; } if (fVar12 < fVar8) { fVar8 = fVar12; } pfVar5 = pfVar5 + 4; uVar7 = uVar7 - 1; } while (uVar7 != 0); } for (; 0 < iVar2; iVar2 = iVar2 + -1) { fVar12 = *pfVar5; if (fVar10 < fVar12) { fVar10 = fVar12; } if (fVar12 < fVar8) { fVar8 = fVar12; } pfVar5 = pfVar5 + 1; } *param_1 = fVar8; param_1[1] = fVar10; } } else { iVar2 = iVar2 + -1; if (((ulonglong)param_2 & 0xf) == 0) { auVar11 = *param_2; auVar9 = auVar11; while (0 < iVar2) { auVar11 = minps(auVar11,param_2[1]); param_2 = param_2 + 1; iVar2 = iVar2 + -1; auVar9 = maxps(auVar9,*param_2); } } else { auVar11 = *param_2; auVar9 = auVar11; while (0 < iVar2) { pauVar1 = param_2 + 1; param_2 = param_2 + 1; iVar2 = iVar2 + -1; auVar11 = minps(auVar11,*pauVar1); auVar9 = maxps(auVar9,*pauVar1); } } fVar8 = auVar9._4_4_; fVar10 = auVar9._8_4_; fStack_14 = auVar9._12_4_; if (fVar10 <= fVar8) { if (fStack_14 <= fVar8) { fStack_14 = fVar8; } } else if (fStack_14 <= fVar10) { fStack_14 = fVar10; } local_20 = auVar9._0_4_; fVar8 = fStack_14; if (fStack_14 <= local_20) { fVar8 = local_20; } fVar10 = auVar11._4_4_; fVar12 = auVar11._8_4_; fStack_14 = auVar11._12_4_; if (fVar10 <= fVar12) { if (fVar10 <= fStack_14) { fStack_14 = fVar10; } } else if (fVar12 <= fStack_14) { fStack_14 = fVar12; } local_20 = auVar11._0_4_; if (local_20 <= fStack_14) { fStack_14 = local_20; } if (fVar8 <= fStack_14) { fVar8 = fStack_14; } lVar4 = 0; uVar7 = (ulonglong)(param_3 & 3); if (3 < uVar7) { pfVar5 = (float *)(param_2[1] + 8); lVar6 = (uVar7 - 4 >> 2) + 1; lVar4 = lVar6 * 4; do { if (fVar8 <= pfVar5[-2]) { fVar8 = pfVar5[-2]; } if (pfVar5[-2] <= fStack_14) { fStack_14 = pfVar5[-2]; } if (fVar8 <= fStack_14) { fVar8 = fStack_14; } if (fVar8 <= pfVar5[-1]) { fVar8 = pfVar5[-1]; } if (pfVar5[-1] <= fStack_14) { fStack_14 = pfVar5[-1]; } if (fVar8 <= fStack_14) { fVar8 = fStack_14; } if (fVar8 <= *pfVar5) { fVar8 = *pfVar5; } if (*pfVar5 <= fStack_14) { fStack_14 = *pfVar5; } if (fVar8 <= fStack_14) { fVar8 = fStack_14; } if (pfVar5[1] <= fStack_14) { fStack_14 = pfVar5[1]; } fVar10 = fVar8; if (fVar8 <= pfVar5[1]) { fVar10 = pfVar5[1]; } fVar8 = fStack_14; if (fStack_14 < fVar10) { fVar8 = fVar10; } pfVar5 = pfVar5 + 4; lVar6 = lVar6 + -1; } while (lVar6 != 0); } for (; lVar4 < (longlong)uVar7; lVar4 = lVar4 + 1) { if (*(float *)(param_2[1] + lVar4 * 4) <= fStack_14) { fStack_14 = *(float *)(param_2[1] + lVar4 * 4); } fVar10 = fVar8; if (fVar8 <= *(float *)(param_2[1] + lVar4 * 4)) { fVar10 = *(float *)(param_2[1] + lVar4 * 4); } fVar8 = fStack_14; if (fStack_14 < fVar10) { fVar8 = fVar10; } } *param_1 = fStack_14; param_1[1] = fVar8; } } ############ FUN_ 18053dba0 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 ); } ############ FUN_ 18136fc00 size=1554 ############ undefined8 FUN_18136fc00(longlong param_1,longlong param_2) { uint *puVar1; byte *pbVar2; undefined8 *puVar3; longlong lVar4; int iVar5; int iVar6; undefined4 uVar7; undefined8 uVar8; longlong *plVar9; int *piVar10; byte bVar11; uint uVar12; int iVar13; int iVar14; longlong lVar15; uint uVar16; longlong lVar17; uint uVar18; ulonglong uVar19; longlong lVar20; uint uVar21; undefined8 local_78; longlong local_70; longlong local_68; ulonglong local_60; longlong local_58 [4]; uVar8 = FUN_181370220(); if (((int)uVar8 < 0) || (uVar8 = FUN_181371e20(param_1), (int)uVar8 != 0)) { return uVar8; } iVar6 = 0; LAB_18136fc70: uVar18 = *(uint *)(param_1 + 0xd4); uVar19 = (ulonglong)(int)uVar18; if (*(int *)(param_1 + 0xd0) <= (int)uVar18) { lVar17 = FUN_1813730a0(param_1,local_58,0xffffffffffffffff); lVar20 = local_58[0]; if (lVar17 < 0) goto LAB_181370127; if ((*(byte *)(local_58[0] + 5) & 2) != 0) { FUN_18138ffc0(param_1 + 0x218); FUN_181390bc0(param_1 + 0x298); *(undefined4 *)(param_1 + 0x80) = 2; } if (*(int *)(param_1 + 0x80) < 3) goto code_r0x000181370029; goto LAB_181370102; } uVar16 = *(uint *)(*(longlong *)(param_1 + 0xb8) + uVar19 * 4); lVar20 = *(longlong *)(param_1 + 0xb8) + uVar19 * 4; if ((uVar16 >> 10 & 1) != 0) { *(longlong *)(param_1 + 0x208) = *(longlong *)(param_1 + 0x208) + 1; *(uint *)(param_1 + 0xd4) = uVar18 + 1; LAB_181370127: *(undefined8 *)(param_1 + 0x90) = 0; *(undefined8 *)(param_1 + 0x98) = 0; bVar11 = (byte)*(undefined4 *)(*(longlong *)(*(longlong *)(param_1 + 0x68) + 0x20) + 0x1668); lVar20 = *(longlong *)(param_1 + 0x78); while (lVar20 < (param_2 >> (bVar11 & 0x3f)) << (bVar11 & 0x3f)) { iVar6 = *(int *)(param_1 + 0x240); lVar20 = param_2 - *(longlong *)(param_1 + 0x78) >> (bVar11 & 0x3f); if ((iVar6 < 0) || (*(int *)(param_1 + 0x23c) <= iVar6)) { iVar6 = 0; } else { iVar6 = *(int *)(param_1 + 0x23c) - iVar6; } if (lVar20 < iVar6) { iVar6 = (int)lVar20; } if ((iVar6 == 0) || (*(int *)(param_1 + 0x240) + iVar6 <= *(int *)(param_1 + 0x23c))) { *(int *)(param_1 + 0x240) = *(int *)(param_1 + 0x240) + iVar6; } *(longlong *)(param_1 + 0x78) = *(longlong *)(param_1 + 0x78) + (longlong)(iVar6 << (bVar11 & 0x1f)); if ((iVar6 < lVar20) && (iVar6 = FUN_181371870(param_1), iVar6 < 1)) { uVar8 = FUN_181371270(param_1,0xffffffff); *(undefined8 *)(param_1 + 0x78) = uVar8; } lVar20 = *(longlong *)(param_1 + 0x78); } return 0; } uVar21 = uVar16 & 0xff; uVar16 = uVar16 & 0x200; if (uVar21 == 0xff) { uVar21 = 0xff; do { puVar1 = (uint *)(lVar20 + 4); lVar20 = lVar20 + 4; uVar18 = (int)uVar19 + 1; uVar19 = (ulonglong)uVar18; uVar12 = *puVar1 & 0xff; if ((*puVar1 & 0x200) != 0) { uVar16 = 0x200; } uVar21 = uVar21 + uVar12; } while (uVar12 == 0xff); } uVar8 = *(undefined8 *)(param_1 + 0x208); lVar20 = *(longlong *)(param_1 + 0x68); lVar15 = (longlong)*(int *)(param_1 + 0xb0) + *(longlong *)(param_1 + 0xa0); lVar17 = *(longlong *)(*(longlong *)(param_1 + 0xc0) + (longlong)(int)uVar18 * 8); lVar4 = *(longlong *)(lVar20 + 0x20 + (longlong)*(int *)(param_1 + 0x88) * 0x28); local_78 = 0; local_60 = (ulonglong)uVar21; local_70 = lVar15; local_68 = lVar15; iVar5 = FUN_181392960(&local_78,1); if (iVar5 == 0) { iVar14 = 0; for (iVar5 = *(int *)(lVar4 + 8); 1 < iVar5; iVar5 = iVar5 >> 1) { iVar14 = iVar14 + 1; } iVar5 = FUN_181392960(&local_78,iVar14); if ((iVar5 != -1) && (iVar5 = *(int *)(lVar4 + (longlong)**(int **)(lVar4 + 0x20 + (longlong)iVar5 * 8) * 4), -1 < iVar5)) { if (iVar6 != 0) { *(longlong *)(param_1 + 0x78) = *(longlong *)(param_1 + 0x78) + ((longlong)(iVar5 + iVar6) >> 2); } lVar20 = *(longlong *)(lVar20 + 0x20); if (lVar20 == 0) { iVar6 = -1; } else { iVar6 = *(int *)(lVar20 + 4); } if (param_2 <= ((longlong)(iVar6 + iVar5) >> 2) + *(longlong *)(param_1 + 0x78)) goto LAB_181370127; uVar18 = *(uint *)(param_1 + 0xd4); uVar19 = (ulonglong)(int)uVar18; if ((int)uVar18 < *(int *)(param_1 + 0xd0)) { lVar20 = *(longlong *)(param_1 + 0xb8) + uVar19 * 4; uVar12 = *(uint *)(*(longlong *)(param_1 + 0xb8) + uVar19 * 4); if ((uVar12 >> 10 & 1) == 0) { uVar12 = uVar12 & 0xff; if (uVar12 == 0xff) { uVar12 = 0xff; do { pbVar2 = (byte *)(lVar20 + 4); lVar20 = lVar20 + 4; uVar12 = uVar12 + *pbVar2; uVar18 = (int)uVar19 + 1; uVar19 = (ulonglong)uVar18; } while (*pbVar2 == 0xff); } *(int *)(param_1 + 0xb0) = *(int *)(param_1 + 0xb0) + uVar12; } *(longlong *)(param_1 + 0x208) = *(longlong *)(param_1 + 0x208) + 1; *(uint *)(param_1 + 0xd4) = uVar18 + 1; } puVar3 = (undefined8 *)(param_1 + 0x298); lVar20 = *(longlong *)(*(longlong *)(param_1 + 0x2e8) + 0x78); lVar4 = *(longlong *)(*(longlong *)(*(longlong *)(param_1 + 0x2e8) + 8) + 0x20); FUN_181390c80(puVar3); *(undefined8 *)(param_1 + 0x2a0) = 0; *(undefined8 *)(param_1 + 0x2b8) = 0; *(longlong *)(param_1 + 0x2b0) = lVar15; *(longlong *)(param_1 + 0x2a8) = lVar15; *(uint *)(param_1 + 0x2b8) = uVar21; iVar6 = FUN_181392960(param_1 + 0x2a0,1); if ((iVar6 == 0) && (iVar6 = FUN_181392960(param_1 + 0x2a0,*(undefined4 *)(lVar20 + 0x50)), iVar6 != -1)) { *(int *)(param_1 + 0x2d0) = iVar6; piVar10 = *(int **)(lVar4 + 0x20 + (longlong)iVar6 * 8); if (piVar10 != (int *)0x0) { iVar6 = *piVar10; *(int *)(param_1 + 0x2c4) = iVar6; if (iVar6 == 0) { *(undefined4 *)(param_1 + 0x2c0) = 0; *(undefined4 *)(param_1 + 0x2c8) = 0; } else { uVar7 = FUN_181392960(param_1 + 0x2a0,1); *(undefined4 *)(param_1 + 0x2c0) = uVar7; iVar6 = FUN_181392960(param_1 + 0x2a0,1); *(int *)(param_1 + 0x2c8) = iVar6; if (iVar6 == -1) goto LAB_18136fef4; } *(undefined8 *)(param_1 + 0x2e0) = uVar8; *(longlong *)(param_1 + 0x2d8) = lVar17; *(uint *)(param_1 + 0x2d4) = uVar16; *(undefined4 *)(param_1 + 0x2cc) = 0; *puVar3 = 0; } } LAB_18136fef4: FUN_18138ec80(param_1 + 0x218,puVar3); iVar6 = iVar5; if (-1 < lVar17) { uVar18 = *(uint *)(param_1 + 0x88); lVar17 = lVar17 - *(longlong *) (*(longlong *)(param_1 + 0x60) + (longlong)(int)(uVar18 * 2) * 8); if (lVar17 < 0) { lVar17 = 0; } *(longlong *)(param_1 + 0x78) = lVar17; if (0 < (int)uVar18) { plVar9 = (longlong *)(*(longlong *)(param_1 + 0x60) + 8); uVar19 = (ulonglong)uVar18; do { lVar17 = lVar17 + *plVar9; plVar9 = plVar9 + 2; *(longlong *)(param_1 + 0x78) = lVar17; uVar19 = uVar19 - 1; } while (uVar19 != 0); } } goto LAB_18136fc70; } } uVar18 = *(uint *)(param_1 + 0xd4); uVar19 = (ulonglong)(int)uVar18; if ((int)uVar18 < *(int *)(param_1 + 0xd0)) { lVar20 = *(longlong *)(param_1 + 0xb8) + uVar19 * 4; uVar16 = *(uint *)(*(longlong *)(param_1 + 0xb8) + uVar19 * 4); if ((uVar16 >> 10 & 1) == 0) { uVar16 = uVar16 & 0xff; if (uVar16 == 0xff) { uVar16 = 0xff; do { pbVar2 = (byte *)(lVar20 + 4); lVar20 = lVar20 + 4; uVar16 = uVar16 + *pbVar2; uVar18 = (int)uVar19 + 1; uVar19 = (ulonglong)uVar18; } while (*pbVar2 == 0xff); } *(int *)(param_1 + 0xb0) = *(int *)(param_1 + 0xb0) + uVar16; } *(longlong *)(param_1 + 0x208) = *(longlong *)(param_1 + 0x208) + 1; *(uint *)(param_1 + 0xd4) = uVar18 + 1; } goto LAB_18136fc70; code_r0x000181370029: iVar13 = 0; iVar5 = *(int *)(param_1 + 0x40); iVar14 = *(int *)(lVar20 + 0xe); if (0 < iVar5) { piVar10 = *(int **)(param_1 + 0x58); iVar13 = 0; do { if (*piVar10 == iVar14) break; iVar13 = iVar13 + 1; piVar10 = piVar10 + 1; } while (iVar13 < iVar5); } if (iVar13 != iVar5) { *(int *)(param_1 + 0x88) = iVar13; *(undefined4 *)(param_1 + 0x80) = 3; *(undefined4 *)(param_1 + 0x84) = *(undefined4 *)(lVar20 + 0xe); *(undefined8 *)(param_1 + 0xac) = 0; *(undefined8 *)(param_1 + 0xcc) = 0; *(undefined4 *)(param_1 + 0xd4) = 0; *(undefined8 *)(param_1 + 500) = 0; *(undefined4 *)(param_1 + 0x1fc) = 0; *(undefined4 *)(param_1 + 0x204) = 0xffffffff; *(undefined8 *)(param_1 + 0x208) = 0; *(undefined8 *)(param_1 + 0x210) = 0; *(int *)(param_1 + 0x200) = iVar14; uVar8 = FUN_181371e20(param_1); iVar6 = 0; if ((int)uVar8 != 0) { return uVar8; } LAB_181370102: FUN_1813919f0((longlong *)(param_1 + 0xa0),local_58); } goto LAB_18136fc70; } ############ FUN_ 181371870 size=992 ############ undefined8 FUN_181371870(longlong param_1) { undefined4 uVar1; int iVar2; uint uVar3; uint uVar4; undefined8 uVar5; longlong *plVar6; byte bVar7; int *piVar8; longlong lVar9; ulonglong uVar10; ulonglong uVar11; longlong lVar12; ulonglong uVar13; longlong lVar14; longlong local_68; int local_60; undefined1 local_48 [8]; int local_40; int local_38; ulonglong local_30; uVar10 = 0; lVar12 = local_68; LAB_181371893: if ((*(int *)(param_1 + 0x80) != 3) || (uVar5 = FUN_181371e20(param_1), -1 < (int)uVar5)) { uVar4 = 0; if (*(int *)(param_1 + 0x80) == 4) { uVar1 = *(undefined4 *)(*(longlong *)(*(longlong *)(param_1 + 0x68) + 0x20) + 0x1668); while( true ) { iVar2 = FUN_181391840(param_1 + 0xa0,local_48,1); uVar11 = local_30; if (iVar2 == -1) { return 0xfffffffd; } if (iVar2 < 1) break; iVar2 = FUN_181377470(param_1 + 0x298,local_48); if (iVar2 == 0) { if ((-1 < *(int *)(param_1 + 0x240)) && (*(int *)(param_1 + 0x240) < *(int *)(param_1 + 0x23c))) { return 0xffffff7f; } FUN_18138ec80(param_1 + 0x218,param_1 + 0x298); iVar2 = *(int *)(param_1 + 0x240); uVar3 = uVar4; if ((-1 < iVar2) && (iVar2 < *(int *)(param_1 + 0x23c))) { uVar3 = *(int *)(param_1 + 0x23c) - iVar2; } bVar7 = (byte)uVar1; *(double *)(param_1 + 0x98) = (double)(int)(uVar3 << (bVar7 & 0x1f)) + *(double *)(param_1 + 0x98); *(double *)(param_1 + 0x90) = (double)(local_40 * 8) + *(double *)(param_1 + 0x90); if ((uVar11 != 0xffffffffffffffff) && (local_38 == 0)) { uVar3 = uVar4; if ((*(int *)(param_1 + 8) != 0) && (uVar3 = *(uint *)(param_1 + 0x88), 0 < (int)uVar3)) { uVar11 = uVar11 - *(longlong *) (*(longlong *)(param_1 + 0x60) + (longlong)(int)(uVar3 * 2) * 8); } iVar2 = *(int *)(param_1 + 0x240); if ((longlong)uVar11 < 0) { uVar11 = uVar10; } if ((-1 < iVar2) && (iVar2 < *(int *)(param_1 + 0x23c))) { uVar4 = *(int *)(param_1 + 0x23c) - iVar2; } lVar14 = (longlong)(int)uVar3; lVar12 = uVar11 - (longlong)(int)(uVar4 << (bVar7 & 0x1f)); uVar13 = uVar10; uVar11 = uVar10; if (1 < lVar14) { plVar6 = (longlong *)(*(longlong *)(param_1 + 0x60) + 0x18); lVar9 = (lVar14 - 2U >> 1) + 1; uVar11 = lVar9 * 2; do { uVar13 = uVar13 + plVar6[-2]; uVar10 = uVar10 + *plVar6; plVar6 = plVar6 + 4; lVar9 = lVar9 + -1; } while (lVar9 != 0); } if ((longlong)uVar11 < lVar14) { lVar12 = lVar12 + *(longlong *)(*(longlong *)(param_1 + 0x60) + 8 + uVar11 * 0x10); } *(ulonglong *)(param_1 + 0x78) = uVar10 + uVar13 + lVar12; } return 1; } } } if (1 < *(int *)(param_1 + 0x80)) { do { lVar14 = FUN_1813730a0(param_1,&local_68,0xffffffffffffffff); lVar12 = local_68; if (lVar14 < 0) { return 0xfffffffe; } *(double *)(param_1 + 0x90) = (double)(local_60 * 8) + *(double *)(param_1 + 0x90); if (*(int *)(param_1 + 0x80) != 4) goto LAB_1813719e7; if (*(int *)(param_1 + 0x84) == *(int *)(local_68 + 0xe)) goto LAB_1813719da; } while ((*(byte *)(local_68 + 5) & 2) == 0); FUN_181371c60(param_1); if (*(int *)(param_1 + 8) == 0) { FUN_181388250(*(undefined8 *)(param_1 + 0x68)); FUN_181388560(*(undefined8 *)(param_1 + 0x70)); } } LAB_1813719da: if (*(int *)(param_1 + 0x80) == 4) goto LAB_181371ae0; LAB_1813719e7: if (2 < *(int *)(param_1 + 0x80)) goto LAB_181371ae0; if (*(int *)(param_1 + 8) != 0) goto code_r0x0001813719fd; uVar5 = FUN_181372660(param_1,*(undefined8 *)(param_1 + 0x68),*(undefined8 *)(param_1 + 0x70),0, 0,&local_68); if ((int)uVar5 == 0) { *(int *)(param_1 + 0x88) = *(int *)(param_1 + 0x88) + 1; *(undefined4 *)(param_1 + 0x84) = *(undefined4 *)(param_1 + 0x200); lVar12 = local_68; goto LAB_181371ae0; } } return uVar5; code_r0x0001813719fd: uVar3 = *(uint *)(param_1 + 0x40); iVar2 = *(int *)(lVar12 + 0xe); if (0 < (int)uVar3) { piVar8 = *(int **)(param_1 + 0x58); uVar11 = uVar10; do { uVar4 = (uint)uVar11; if (*piVar8 == iVar2) break; uVar4 = uVar4 + 1; uVar11 = (ulonglong)uVar4; piVar8 = piVar8 + 1; } while ((int)uVar4 < (int)uVar3); } if (uVar4 != uVar3) { *(int *)(param_1 + 0x84) = iVar2; *(uint *)(param_1 + 0x88) = uVar4; *(undefined8 *)(param_1 + 0xac) = 0; *(undefined8 *)(param_1 + 0xcc) = 0; *(undefined4 *)(param_1 + 0xd4) = 0; *(undefined8 *)(param_1 + 500) = 0; *(undefined4 *)(param_1 + 0x1fc) = 0; *(undefined4 *)(param_1 + 0x204) = 0xffffffff; *(undefined8 *)(param_1 + 0x208) = 0; *(undefined8 *)(param_1 + 0x210) = 0; *(int *)(param_1 + 0x200) = iVar2; *(undefined4 *)(param_1 + 0x80) = 3; LAB_181371ae0: FUN_1813919f0(param_1 + 0xa0,&local_68); } goto LAB_181371893; } ############ FUN_ 1805386e0 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; } ############ FUN_ 1813aec40 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; } ############ FUN_ 1813af530 size=430 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813af530(longlong param_1,int *param_2,int param_3,int param_4,undefined8 param_5) { int iVar1; void *pvVar2; void *_Src; undefined1 auStack_2d8 [32]; int local_2b8; undefined8 local_2b0; int local_2a8; undefined1 local_2a0; void *local_298; void *local_290; undefined8 local_288; void *local_280; void *local_278; void *local_270; undefined8 local_268; undefined1 local_258 [528]; ulonglong local_48; if (param_4 < 1) { return; } local_288 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2d8; iVar1 = *param_2; local_2b8 = param_4; if (iVar1 < 3) { pvVar2 = (void *)0x0; LOCK(); *(undefined1 *)(param_2 + 0x48) = 0; UNLOCK(); _Src = (void *)(**(longlong **)(param_2 + 4) + (longlong)param_3 * 4); if (1 < iVar1) { LOCK(); *(undefined1 *)(param_2 + 0x48) = 0; UNLOCK(); pvVar2 = (void *)(*(longlong *)(*(longlong *)(param_2 + 4) + 8) + (longlong)param_3 * 4); } local_268 = 0; local_270 = (void *)0x0; if (1 < *(uint *)(param_1 + 0x20)) { local_270 = pvVar2; } local_2b0 = CONCAT71(local_2b0._1_7_,1); local_298 = _Src; local_290 = pvVar2; local_278 = _Src; FUN_1813af7b0(param_1,&local_278,2,param_5); if ((1 < iVar1) && ((local_278 == (void *)0x0 || (local_270 == (void *)0x0)))) { memcpy(pvVar2,_Src,(longlong)param_4 << 2); } if (*(char *)(param_1 + 0x24) == '\0') { FUN_1813af920(&local_298,2,param_4); } } else { local_2a8 = iVar1; if (0x40 < iVar1) { pvVar2 = malloc((longlong)(iVar1 + 1) << 3); local_2a0 = *(char *)(param_1 + 0x24) == '\0'; local_2b0 = param_5; local_280 = pvVar2; FUN_1813af700(param_1,pvVar2,param_2,param_3); /* WARNING: Subroutine does not return */ free(pvVar2); } local_2a0 = *(char *)(param_1 + 0x24) == '\0'; local_2b0 = param_5; FUN_1813af700(param_1,local_258,param_2,param_3); } } ############ FUN_ 18048cbc0 size=257 ############ int FUN_18048cbc0(byte *param_1,byte *param_2) { byte bVar1; uint uVar2; uint uVar3; uint uVar4; int iVar5; do { bVar1 = *param_1; param_1 = param_1 + 1; uVar4 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar2 = 0x40; iVar5 = 0; uVar4 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar2 < 9) break; uVar4 = uVar4 >> 1; iVar5 = iVar5 + 1; uVar2 = uVar2 >> 1; } while ((bVar1 & uVar2) != 0); } uVar4 = bVar1 & uVar4; for (; (iVar5 = iVar5 + -1, -1 < iVar5 && ((*param_1 & 0xc0) == 0x80)); param_1 = param_1 + 1) { uVar4 = *param_1 & 0x3f | uVar4 << 6; } } bVar1 = *param_2; param_2 = param_2 + 1; uVar2 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar3 = 0x40; iVar5 = 0; uVar2 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar3 < 9) break; uVar2 = uVar2 >> 1; iVar5 = iVar5 + 1; uVar3 = uVar3 >> 1; } while ((bVar1 & uVar3) != 0); } uVar2 = bVar1 & uVar2; for (; (iVar5 = iVar5 + -1, -1 < iVar5 && ((*param_2 & 0xc0) == 0x80)); param_2 = param_2 + 1) { uVar2 = *param_2 & 0x3f | uVar2 << 6; } } if (uVar4 != uVar2) { iVar5 = 1; if ((int)(uVar4 - uVar2) < 0) { iVar5 = -1; } if (iVar5 != 0) { return iVar5; } } if (uVar4 == 0) { return 0; } } while( true ); } ############ FUN_ 180528b30 size=87 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180528b30(longlong *param_1) { undefined8 *puVar1; undefined1 auStack_48 [32]; longlong *local_28; undefined1 local_20 [8]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_48; puVar1 = (undefined8 *)(**(code **)(*param_1 + 0x10))(param_1,&local_28); (**(code **)(*(longlong *)*puVar1 + 8))((longlong *)*puVar1,puVar1 + 1); (**(code **)(*local_28 + 0xb0))(local_28,local_20); } ############ FUN_ 18052fc30 size=92 ############ void FUN_18052fc30(longlong param_1) { int iVar1; *(undefined1 *)(param_1 + 0x24008c) = 1; iVar1 = *(int *)(param_1 + 0x2400a4); while( true ) { if (iVar1 < 1) { return; } iVar1 = iVar1 + -1; if ((*(int *)(param_1 + 0x2400a4) <= iVar1) && (iVar1 = *(int *)(param_1 + 0x2400a4) + -1, iVar1 < 0)) break; FUN_180526060(*(undefined8 *)(*(longlong *)(param_1 + 0x240098) + (longlong)iVar1 * 8)); } return; } ############ FUN_ 180528d50 size=203 ############ bool FUN_180528d50(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; longlong lVar2; int iVar3; longlong *plVar4; int iVar5; float fVar6; longlong local_res10; FUN_18049c4e0(&local_res10,"offline resolution",param_3,param_4,0xfffffffffffffffe); lVar2 = local_res10; plVar4 = (longlong *)FUN_18119aa60(param_1 + 0x178,local_res10); if (*(float *)(plVar4 + 0x17) == 0.0) { iVar5 = -1; local_res10 = lVar2; } else { fVar6 = (float)FUN_180487220(plVar4 + 0x16,(int)plVar4[0x31]); iVar5 = (int)(fVar6 / *(float *)(plVar4 + 0x17)); } iVar3 = (**(code **)(*plVar4 + 0x30))(plVar4); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return iVar5 != iVar3 + -1; } ############ FUN_ 181342bf0 size=264 ############ void FUN_181342bf0(longlong *param_1,float param_2) { double dVar1; char cVar2; int iVar3; longlong *plVar4; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; dVar1 = (double)param_2 * DAT_1824c4318 + DAT_1824c4520; iVar3 = SUB84(dVar1,0); if (iVar3 < 0) { cVar2 = '\0'; } else { cVar2 = SUB81(dVar1,0); if (0xff < iVar3) { cVar2 = -1; } } if (*(char *)((longlong)param_1 + 0xac) != (char)(-1 - cVar2)) { *(char *)((longlong)param_1 + 0xac) = -1 - cVar2; if (*(code **)(*param_1 + 0xb8) != .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__) { (**(code **)(*param_1 + 0xb8))(param_1); return; } if ((*(byte *)(param_1 + 0x15) & 1) == 0) { uStack_10 = (undefined4)param_1[5]; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } plVar4 = (longlong *)FUN_1812d2bd0(); if (plVar4 != (longlong *)0x0) { /* WARNING: Could not recover jumptable at 0x000181342ca3. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar4 + 0xf0)) (plVar4,(float)(int)(0xff - (uint)*(byte *)((longlong)param_1 + 0xac)) / DAT_1824c4548); return; } } return; } ############ FUN_ 181342870 size=427 ############ void FUN_181342870(longlong param_1,undefined1 (*param_2) [16],char param_3) { undefined1 auVar1 [16]; longlong lVar2; char cVar3; longlong *plVar4; undefined8 *puVar5; float fVar6; float fVar7; undefined8 local_48; undefined8 uStack_40; undefined1 local_38 [8]; int local_30; int local_2c; undefined8 local_28; undefined8 uStack_20; undefined1 local_18 [16]; if ((*(byte *)(param_1 + 0xa8) & 2) != 0) { if (*(longlong **)(param_1 + 0x68) != (longlong *)0x0) { lVar2 = **(longlong **)(param_1 + 0x68); if (param_3 == '\0') { cVar3 = (**(code **)(lVar2 + 0x18))(); } else { cVar3 = (**(code **)(lVar2 + 0x10))(); } if (cVar3 == '\0') { return; } } if ((0 < *(int *)(*param_2 + 8)) && (0 < *(int *)(*param_2 + 0xc))) { if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) != 0) { local_28 = *(undefined8 *)*param_2; uStack_20 = *(undefined8 *)(*param_2 + 8); puVar5 = (undefined8 *)FUN_18051e4b0(local_18,param_1,&local_28); local_28 = *puVar5; uStack_20 = puVar5[1]; FUN_181342a30(*(undefined8 *)(param_1 + 0x18),&local_28); return; } } else { plVar4 = (longlong *)FUN_1812d2bd0(param_1); if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x38))(plVar4,local_38); auVar1 = *param_2; fVar6 = (float)local_30 / (float)*(int *)(param_1 + 0x28); fVar7 = (float)local_2c / (float)*(int *)(param_1 + 0x2c); local_48 = CONCAT44((float)auVar1._4_4_ * fVar7,(float)auVar1._0_4_ * fVar6); uStack_40 = CONCAT44((float)auVar1._12_4_ * fVar7,(float)auVar1._8_4_ * fVar6); puVar5 = (undefined8 *)FUN_1804ab070(&local_48,&local_28); local_48 = *puVar5; uStack_40 = puVar5[1]; if (*(longlong *)(param_1 + 0x38) == 0) { puVar5 = &local_28; local_28 = local_48; uStack_20 = uStack_40; } else { puVar5 = (undefined8 *)FUN_1804b1290(&local_48,local_18); } (**(code **)(*plVar4 + 0xe0))(plVar4,puVar5); } } } } return; } ############ FUN_ 181339840 size=347 ############ undefined8 * FUN_181339840(undefined8 *param_1,undefined8 *param_2,undefined8 param_3) { undefined4 uVar1; char cVar2; undefined1 uVar3; undefined4 uVar4; undefined8 uVar5; undefined8 uVar6; undefined8 uVar7; undefined8 uVar8; undefined8 uVar9; undefined8 uVar10; undefined8 local_res8; undefined4 local_res10; undefined4 local_res14; FUN_18051dc40(&local_res10,param_3,param_1[6],param_1[5],0xfffffffffffffffe); FUN_18051dc40(&local_res8,param_3,param_1[6],*param_1); uVar5 = param_1[10]; cVar2 = *(char *)((longlong)param_1 + 0x59); uVar3 = *(undefined1 *)(param_1 + 0xb); uVar6 = param_1[9]; uVar7 = param_1[8]; uVar8 = param_1[7]; uVar1 = *(undefined4 *)((longlong)param_1 + 0x24); uVar9 = *(undefined8 *)((longlong)param_1 + 0x14); uVar10 = *(undefined8 *)((longlong)param_1 + 0x1c); uVar4 = *(undefined4 *)(param_1 + 2); *param_2 = local_res8; local_res8._0_4_ = SUB84((double)(float)local_res8 + DAT_1824c4520,0); *(float *)(param_2 + 1) = (float)local_res8; local_res8._0_4_ = SUB84((double)local_res8._4_4_ + DAT_1824c4520,0); *(float *)((longlong)param_2 + 0xc) = (float)local_res8; *(undefined4 *)(param_2 + 2) = uVar4; *(undefined8 *)((longlong)param_2 + 0x14) = uVar9; *(undefined8 *)((longlong)param_2 + 0x1c) = uVar10; *(undefined4 *)((longlong)param_2 + 0x24) = uVar1; *(undefined4 *)(param_2 + 5) = local_res10; *(undefined4 *)((longlong)param_2 + 0x2c) = local_res14; param_2[6] = param_3; param_2[7] = uVar8; param_2[8] = uVar7; param_2[9] = uVar6; param_2[10] = uVar5; *(undefined1 *)(param_2 + 0xb) = uVar3; *(bool *)((longlong)param_2 + 0x59) = cVar2 != '\0'; return param_2; } ############ FUN_ 1812d2bd0 size=106 ############ longlong FUN_1812d2bd0(longlong param_1) { longlong *plVar1; undefined8 uVar2; longlong *plVar3; if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } plVar3 = *(longlong **)(DAT_182673700 + 0x68); plVar1 = plVar3 + *(int *)(DAT_182673700 + 0x74); while( true ) { if (plVar3 == plVar1) { return 0; } if (*(longlong *)(*plVar3 + 8) == param_1) break; plVar3 = plVar3 + 1; } return *plVar3; } ############ FUN_ 18049a930 size=358 ############ undefined8 * FUN_18049a930(undefined8 *param_1,undefined8 *param_2) { byte bVar1; byte *pbVar2; byte *pbVar3; byte *pbVar4; longlong lVar5; ulonglong uVar7; uint uVar8; uint uVar9; int iVar10; longlong lVar6; if (*(char *)*param_2 == '\0') { *param_1 = &DAT_1821dbf84; return param_1; } lVar5 = -1; do { lVar6 = lVar5; lVar5 = lVar6 + 1; } while (((char *)*param_2)[lVar5] != '\0'); uVar7 = lVar6 + 5U & 0xfffffffc; lVar5 = FUN_18049d580(); FUN_1812342b0(param_2,lVar5 + 2 + uVar7); pbVar2 = (byte *)*param_2; pbVar4 = pbVar2 + (int)uVar7; pbVar3 = pbVar4; do { bVar1 = *pbVar2; pbVar2 = pbVar2 + 1; uVar9 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar8 = 0x40; uVar9 = 0x7f; iVar10 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar8 < 9) break; uVar9 = uVar9 >> 1; iVar10 = iVar10 + 1; uVar8 = uVar8 >> 1; } while ((bVar1 & uVar8) != 0); } uVar9 = bVar1 & uVar9; for (; (iVar10 = iVar10 + -1, -1 < iVar10 && ((*pbVar2 & 0xc0) == 0x80)); pbVar2 = pbVar2 + 1) { uVar9 = *pbVar2 & 0x3f | uVar9 << 6; } } if (uVar9 == 0) { pbVar3[0] = 0; pbVar3[1] = 0; *param_1 = pbVar4; return param_1; } if (uVar9 < 0x10000) { *(short *)pbVar3 = (short)uVar9; pbVar3 = pbVar3 + 2; } else { *(short *)pbVar3 = (short)(uVar9 - 0x10000 >> 10) + -0x2800; *(ushort *)(pbVar3 + 2) = ((ushort)(uVar9 - 0x10000) & 0x3ff) + 0xdc00; pbVar3 = pbVar3 + 4; } } while( true ); } ############ FUN_ 1804de690 size=193 ############ longlong * FUN_1804de690(longlong *param_1,longlong param_2) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; undefined8 *puVar5; if (param_2 != 0) { if (*(longlong *)(param_2 + 0xa0) == 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x18); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::WeakReference::SharedPointer:: vftable; puVar5[2] = param_2; if (*(undefined8 **)(param_2 + 0xa0) != puVar5) { LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); puVar3 = *(undefined8 **)(param_2 + 0xa0); *(undefined8 **)(param_2 + 0xa0) = puVar5; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } } } lVar4 = *(longlong *)(param_2 + 0xa0); *param_1 = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } return param_1; } *param_1 = 0; return param_1; } ############ FUN_ 181342b10 size=94 ############ void FUN_181342b10(longlong param_1) { undefined8 *puVar1; undefined8 local_28; undefined4 uStack_20; undefined4 uStack_1c; undefined1 local_18 [16]; if (*(longlong *)(param_1 + 0x18) != 0) { uStack_20 = *(undefined4 *)(param_1 + 0x28); uStack_1c = *(undefined4 *)(param_1 + 0x2c); local_28 = 0; puVar1 = (undefined8 *)FUN_18051e4b0(local_18,param_1,&local_28); local_28 = *puVar1; uStack_20 = *(undefined4 *)(puVar1 + 1); uStack_1c = *(undefined4 *)((longlong)puVar1 + 0xc); FUN_181342a30(*(undefined8 *)(param_1 + 0x18),&local_28); } return; } ############ FUN_ 18133f790 size=125 ############ ulonglong FUN_18133f790(void) { uint *puVar1; uint uVar2; longlong lVar3; undefined8 uVar4; ulonglong uVar5; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } uVar5 = *(ulonglong *)(DAT_182673700 + 0x30); lVar3 = **(longlong **)(uVar5 + 0x18); if ((*(byte *)(lVar3 + 0x28) & 0x70) == 0) { uVar5 = 0; puVar1 = (uint *)(*(longlong *)(lVar3 + 8) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { uVar5 = (ulonglong)uVar2; } UNLOCK(); if (uVar2 == 0) { uVar5 = FUN_1812a6720(*(undefined8 *)(lVar3 + 8)); if ((char)uVar5 == '\0') { LOCK(); puVar1 = (uint *)(*(longlong *)(lVar3 + 8) + 0x18); uVar2 = *puVar1; *puVar1 = 0; uVar5 = (ulonglong)uVar2; UNLOCK(); } } } return uVar5; } ############ FUN_ 1804e5060 size=116 ############ void FUN_1804e5060(longlong param_1) { undefined8 *puVar1; ulonglong uVar2; ulonglong uVar3; if (*(longlong **)(param_1 + 0x68) != (longlong *)0x0) { (**(code **)(**(longlong **)(param_1 + 0x68) + 0x20))(); } puVar1 = *(undefined8 **)(param_1 + 0x40); uVar3 = 0; uVar2 = (ulonglong)((longlong)(puVar1 + *(int *)(param_1 + 0x4c)) + (7 - (longlong)puVar1)) >> 3; if (puVar1 + *(int *)(param_1 + 0x4c) < puVar1) { uVar2 = uVar3; } if (uVar2 != 0) { do { FUN_1804e5060(*puVar1); uVar3 = uVar3 + 1; puVar1 = puVar1 + 1; } while (uVar3 != uVar2); } return; } ############ FUN_ 18133eae0 size=150 ############ ulonglong FUN_18133eae0(char param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *puVar1; uint uVar2; longlong lVar3; undefined8 uVar4; ulonglong uVar5; lVar3 = DAT_182673708; DAT_182673708 = 0; if ((param_1 != '\0') && (lVar3 != 0)) { FUN_18133f2f0(lVar3,2,param_3,param_4,0xfffffffffffffffe); } if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } lVar3 = DAT_182673700; uVar5 = 0; puVar1 = (uint *)(*(longlong *)(DAT_182673700 + 0x28) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { uVar5 = (ulonglong)uVar2; } UNLOCK(); if (uVar2 == 0) { uVar5 = FUN_1812a6720(*(undefined8 *)(lVar3 + 0x28)); if ((char)uVar5 == '\0') { uVar5 = *(ulonglong *)(lVar3 + 0x28); LOCK(); *(undefined4 *)(uVar5 + 0x18) = 0; UNLOCK(); } } return uVar5; } ############ FUN_ 18133ed60 size=398 ############ /* WARNING: Removing unreachable block (ram,0x00018133eec0) */ void FUN_18133ed60(longlong *param_1,undefined4 param_2,char param_3,undefined8 param_4) { code *pcVar1; char cVar2; longlong *plVar3; longlong lVar4; undefined8 uVar5; void *local_30; ulonglong local_28; uVar5 = 0xfffffffffffffffe; cVar2 = FUN_181345240(); if (cVar2 != '\0') { plVar3 = DAT_182673708; if (((*(byte *)(param_1 + 0x15) & 0x20) == 0) || ((((*(byte *)((longlong)param_1 + 0xa9) & 0x10) != 0 || ((param_1[3] != 0 && (cVar2 = FUN_18133eaa0(), cVar2 == '\0')))) && (plVar3 = DAT_182673708, param_1[3] != 0)))) { do { if (plVar3 == (longlong *)0x0) goto LAB_18133edfd; plVar3 = (longlong *)plVar3[3]; } while (plVar3 != param_1); cVar2 = FUN_181345240(); if (cVar2 == '\0') { LAB_18133edfd: plVar3 = (longlong *)(**(code **)(*param_1 + 0xa8))(); if (plVar3 != (longlong *)0x0) { pcVar1 = *(code **)(*plVar3 + 0x18); if (pcVar1 == FUN_181338ac0) { local_30 = (void *)0x0; local_28 = 0; if (*(int *)((longlong)param_1 + 0x4c) != 0) { FUN_181338d00(param_1,&local_30); } local_28 = local_28 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_30); } lVar4 = (*pcVar1)(plVar3,param_1,pcVar1,param_4,uVar5); if (plVar3 != (longlong *)0x0) { (**(code **)*plVar3)(plVar3,1); } if (lVar4 != 0) { FUN_18133ed60(lVar4,param_2,0); return; } } if ((param_3 != '\0') && (param_1[3] != 0)) { FUN_18133ed60(param_1[3],param_2,1); } } } else { FUN_18133ef00(param_1,param_2); } } return; } ############ FUN_ 1813452b0 size=218 ############ void FUN_1813452b0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; int iVar5; bool bVar6; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); (**(code **)(*param_1 + 0x60))(param_1); puVar3 = local_res8; bVar6 = local_res8 == (undefined8 *)0x0; if (bVar6) { lVar4 = 0; } else { lVar4 = local_res8[2]; } if (lVar4 != 0) { iVar5 = *(int *)((longlong)param_1 + 0x8c); while( true ) { if (bVar6) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar5 < 1)) break; iVar5 = iVar5 + -1; if ((*(int *)((longlong)param_1 + 0x8c) <= iVar5) && (iVar5 = *(int *)((longlong)param_1 + 0x8c) + -1, iVar5 < 0)) break; plVar2 = *(longlong **)(param_1[0x10] + (longlong)iVar5 * 8); (**(code **)(*plVar2 + 0x18))(plVar2,param_1); } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 18134c2e0 size=42 ############ undefined8 FUN_18134c2e0(longlong param_1) { byte bVar1; undefined8 uVar2; bVar1 = *(byte *)(param_1 + 0xa8); while( true ) { if ((bVar1 & 1) != 0) { uVar2 = FUN_1812d2bd0(); return uVar2; } param_1 = *(longlong *)(param_1 + 0x18); if (param_1 == 0) break; bVar1 = *(byte *)(param_1 + 0xa8); } return 0; } ############ FUN_ 181343670 size=294 ############ void FUN_181343670(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; int iVar5; bool bVar6; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); (**(code **)(*param_1 + 0x88))(param_1); puVar3 = local_res8; bVar6 = local_res8 == (undefined8 *)0x0; if (bVar6) { lVar4 = 0; } else { lVar4 = local_res8[2]; } if (lVar4 != 0) { iVar5 = *(int *)((longlong)param_1 + 0x8c); while( true ) { if (bVar6) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar5 < 1)) break; iVar5 = iVar5 + -1; if ((*(int *)((longlong)param_1 + 0x8c) <= iVar5) && (iVar5 = *(int *)((longlong)param_1 + 0x8c) + -1, iVar5 < 0)) break; plVar2 = *(longlong **)(param_1[0x10] + (longlong)iVar5 * 8); (**(code **)(*plVar2 + 0x28))(plVar2,param_1); } if (bVar6) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if (lVar4 != 0) { iVar5 = *(int *)((longlong)param_1 + 0x4c); while (iVar5 = iVar5 + -1, -1 < iVar5) { FUN_181343670(*(undefined8 *)(param_1[8] + (longlong)iVar5 * 8)); if (bVar6) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if (lVar4 == 0) break; if (*(int *)((longlong)param_1 + 0x4c) < iVar5) { iVar5 = *(int *)((longlong)param_1 + 0x4c); } } } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 18051e290 size=542 ############ undefined8 * FUN_18051e290(undefined8 *param_1,longlong *param_2,undefined8 param_3) { longlong *plVar1; float *pfVar2; undefined8 uVar3; int iVar4; float fVar5; undefined4 local_res8; undefined1 local_res10 [8]; undefined8 local_res18; if ((*(byte *)(param_2 + 0x15) & 1) == 0) { local_res18 = CONCAT44((int)((ulonglong)param_2[4] >> 0x20) + (int)((ulonglong)param_3 >> 0x20), (int)param_3 + (int)param_2[4]); param_3 = local_res18; } else { local_res18 = param_3; if ((*(byte *)(param_2 + 0x15) & 1) == 0) { if (param_2[3] == 0) goto LAB_18051e431; plVar1 = (longlong *)FUN_18134c2e0(); } else { plVar1 = (longlong *)FUN_1812d2bd0(param_2); } if (plVar1 != (longlong *)0x0) { fVar5 = (float)(**(code **)(*param_2 + 0x80))(param_2); uVar3 = param_3; if (fVar5 != DAT_1824c3ea4) { local_res18 = CONCAT44((int)((float)local_res18._4_4_ * fVar5), (int)((float)(int)param_3 * fVar5)); uVar3 = local_res18; } local_res18 = uVar3; pfVar2 = (float *)(**(code **)(*plVar1 + 0x48)) (plVar1,local_res10, CONCAT44((float)(int)((ulonglong)local_res18 >> 0x20), (float)(int)local_res18)); iVar4 = SUB84((double)*pfVar2 + DAT_1824c4520,0); local_res8 = SUB84((double)pfVar2[1] + DAT_1824c4520,0); local_res18 = CONCAT44(local_res8,iVar4); if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } fVar5 = *(float *)(DAT_182673700 + 0xc0); param_3 = local_res18; if (fVar5 != DAT_1824c3ea4) { local_res18 = CONCAT44((int)((float)(int)((ulonglong)local_res18 >> 0x20) / fVar5), (int)((float)iVar4 / fVar5)); param_3 = local_res18; } } } LAB_18051e431: pfVar2 = (float *)param_2[7]; if (pfVar2 != (float *)0x0) { fVar5 = (float)(int)((ulonglong)param_3 >> 0x20); local_res18 = CONCAT44((int)((float)(int)param_3 * pfVar2[3] + fVar5 * pfVar2[4] + pfVar2[5]), (int)(fVar5 * pfVar2[1] + (float)(int)param_3 * *pfVar2 + pfVar2[2])); *param_1 = local_res18; return param_1; } *param_1 = param_3; return param_1; } ############ FUN_ 18133c6c0 size=438 ############ undefined8 * FUN_18133c6c0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char cVar1; undefined8 *puVar2; undefined8 *puVar3; double dVar4; FUN_1812a7230(param_1,param_2,param_3,param_4,0xfffffffffffffffe); param_1[1] = juce::Timer::vftable; param_1[2] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 3) = 0; FUN_1812a59f0(param_1 + 4); *param_1 = juce::Desktop::vftable; param_1[1] = juce::Desktop::vftable; param_1[4] = juce::Desktop::vftable; puVar2 = (undefined8 *)FUN_1811316e0(0x38); puVar2[1] = 0xffffffffffffffff; *(undefined4 *)(puVar2 + 2) = 0; *puVar2 = juce::MouseInputSource::SourceList::vftable; puVar2[3] = 0; puVar2[4] = 0; puVar2[5] = 0; puVar2[6] = 0; FUN_1804e6f50(puVar2,0,0); param_1[6] = puVar2; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; param_1[0x15] = 0; param_1[0x16] = 0; *(undefined1 *)(param_1 + 0x17) = 0; *(undefined4 *)((longlong)param_1 + 0xbc) = 0xf; dVar4 = DAT_1824c4140; if ((DAT_1826736d8 != 0) && (cVar1 = FUN_1812c7510(), dVar4 = DAT_1824c4140, cVar1 == '\0')) { dVar4 = (double)FUN_1812c73f0(); dVar4 = dVar4 / DAT_1824c42e8; } *(float *)(param_1 + 0x18) = (float)dVar4; FUN_1813240c0(param_1 + 0x19); puVar3 = (undefined8 *)FUN_1811316e0(0x10); *puVar3 = 0; puVar3[1] = 0; FUN_1812c53e0(puVar3,*(undefined4 *)(param_1 + 0x18)); puVar2 = (undefined8 *)param_1[0xf]; param_1[0xf] = puVar3; if (puVar2 == (undefined8 *)0x0) { return param_1; } *(undefined4 *)((longlong)puVar2 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar2); } ############ FUN_ 180488600 size=143 ############ void FUN_180488600(longlong *param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; int iVar3; iVar1 = *(int *)((longlong)param_1 + 0xc); iVar3 = 0; lVar2 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(*param_1 + lVar2 * 8)) { iVar3 = iVar3 + 1; lVar2 = lVar2 + 1; if (iVar1 <= lVar2) { return; } } _Dst = (void *)(*param_1 + (longlong)iVar3 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar3) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar1 = *(int *)((longlong)param_1 + 0xc); iVar3 = 0; if (0 < iVar1 * 2) { iVar3 = iVar1 * 2; } if (iVar3 < (int)param_1[1]) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < (int)param_1[1]) { FUN_18047cb30(param_1); } } } return; } ############ FUN_ 18134bfe0 size=391 ############ void FUN_18134bfe0(longlong param_1,int param_2,int param_3,int param_4,int param_5) { char cVar1; byte bVar2; longlong lVar3; char cVar4; undefined8 local_38; int iStack_30; int iStack_2c; if (param_4 < 0) { param_4 = 0; } if (param_5 < 0) { param_5 = 0; } if ((*(int *)(param_1 + 0x28) == param_4) && (*(int *)(param_1 + 0x2c) == param_5)) { cVar4 = '\0'; } else { cVar4 = '\x01'; } if ((*(int *)(param_1 + 0x20) == param_2) && (*(int *)(param_1 + 0x24) == param_3)) { bVar2 = 0; if (cVar4 == '\0') { return; } } else { bVar2 = 1; } cVar1 = FUN_181345240(); if ((cVar1 != '\0') && (FUN_18133f790(), (*(byte *)(param_1 + 0xa8) & 1) == 0)) { FUN_181342b10(param_1); } *(int *)(param_1 + 0x20) = param_2; *(int *)(param_1 + 0x24) = param_3; *(int *)(param_1 + 0x28) = param_4; *(int *)(param_1 + 0x2c) = param_5; if (cVar1 == '\0') { if (*(longlong **)(param_1 + 0x68) != (longlong *)0x0) { (**(code **)(**(longlong **)(param_1 + 0x68) + 0x10))(); } } else if (cVar4 == '\0') { if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { FUN_181342b10(param_1); } } else { local_38 = 0; iStack_30 = param_4; iStack_2c = param_5; FUN_181342870(param_1,&local_38,1); } bVar2 = (*(byte *)(param_1 + 0xaa) ^ bVar2) & 1 ^ *(byte *)(param_1 + 0xaa); *(byte *)(param_1 + 0xaa) = (cVar4 * '\x02' ^ bVar2) & 2 ^ bVar2; if (((*(byte *)(param_1 + 0xa8) & 1) != 0) && (lVar3 = FUN_1812d2bd0(param_1), lVar3 != 0)) { FUN_18134b470(lVar3); } bVar2 = *(byte *)(param_1 + 0xaa); if (((bVar2 & 1) != 0) || ((bVar2 >> 1 & 1) != 0)) { *(byte *)(param_1 + 0xaa) = bVar2 & 0xfc; FUN_181344840(param_1); } return; } ############ FUN_ 181343a90 size=434 ############ longlong FUN_181343a90(longlong param_1,uint param_2,char param_3,char param_4) { int *piVar1; int iVar2; longlong lVar3; bool bVar4; undefined8 *puVar5; char cVar6; undefined8 uVar7; longlong lVar8; longlong lVar9; undefined8 *local_res8 [2]; if (param_2 < *(uint *)(param_1 + 0x4c)) { lVar9 = *(longlong *)(*(longlong *)(param_1 + 0x40) + (longlong)(int)param_2 * 8); if (lVar9 != 0) { if ((param_3 == '\0') || (cVar6 = FUN_181345240(lVar9), cVar6 == '\0')) { bVar4 = false; } else { bVar4 = true; FUN_18133f790(); if ((*(byte *)(lVar9 + 0xa8) >> 1 & 1) != 0) { FUN_181342b10(lVar9); } } if (param_2 < *(uint *)(param_1 + 0x4c)) { FUN_18049b4a0(param_1 + 0x40,param_2); } lVar8 = 0; *(undefined8 *)(lVar9 + 0x18) = 0; FUN_1804e5060(lVar9); for (lVar3 = DAT_182673708; lVar3 != lVar9; lVar3 = *(longlong *)(lVar3 + 0x18)) { if (lVar3 == 0) goto LAB_181343c0e; } if (bVar4) { FUN_1804de690(local_res8,param_1); if ((param_4 == '\0') && (DAT_182673708 == lVar9)) { uVar7 = 0; } else { uVar7 = 1; } FUN_18133eae0(uVar7); puVar5 = local_res8[0]; if (local_res8[0] != (undefined8 *)0x0) { lVar8 = local_res8[0][2]; } if (lVar8 == 0) { if (local_res8[0] == (undefined8 *)0x0) { return lVar9; } LOCK(); piVar1 = (int *)(local_res8[0] + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 != 1) { return lVar9; } (**(code **)*local_res8[0])(local_res8[0],1); return lVar9; } FUN_18133ed60(param_1,2,1); if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8[0])(local_res8[0],1); } } } else { if ((param_4 == '\0') && (DAT_182673708 == lVar9)) { uVar7 = 0; } else { uVar7 = 1; } FUN_18133eae0(uVar7); } LAB_181343c0e: if (param_4 != '\0') { FUN_181343670(lVar9); } if (bVar4) { FUN_1813437a0(param_1); } } } else { lVar9 = 0; } return lVar9; } ############ FUN_ 18134b470 size=277 ############ void FUN_18134b470(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { longlong lVar1; undefined8 uVar2; undefined8 uVar3; undefined8 *puVar4; float fVar5; undefined4 local_res10; undefined4 local_res20; undefined8 local_48; undefined8 uStack_40; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; lVar1 = param_1[1]; if (*(longlong *)(lVar1 + 0x38) == 0) { local_48 = *(undefined8 *)(lVar1 + 0x20); uStack_40 = *(undefined8 *)(lVar1 + 0x28); puVar4 = &local_48; } else { puVar4 = (undefined8 *) FUN_1804b1290(lVar1 + 0x20,&local_48,*(longlong *)(lVar1 + 0x38),param_4, 0xfffffffffffffffe); } uVar2 = *puVar4; uVar3 = puVar4[1]; local_48 = uVar2; uStack_40 = uVar3; fVar5 = (float)(**(code **)(*(longlong *)param_1[1] + 0x80))(); if (fVar5 != DAT_1824c3ea4) { local_res10 = SUB84((double)((float)local_48._4_4_ * fVar5) + DAT_1824c4520,0); local_res20 = SUB84((double)((float)uStack_40._4_4_ * fVar5) + DAT_1824c4520,0); uVar2 = CONCAT44(local_res10,SUB84((double)((float)(int)local_48 * fVar5) + DAT_1824c4520,0)); uVar3 = CONCAT44(local_res20,SUB84((double)((float)(int)uStack_40 * fVar5) + DAT_1824c4520,0)); } uStack_40 = uVar3; local_48 = uVar2; local_38 = (int)local_48; uStack_34 = local_48._4_4_; uStack_30 = (int)uStack_40; uStack_2c = uStack_40._4_4_; (**(code **)(*param_1 + 0x30))(param_1,&local_38,0); return; } ############ FUN_ 18134bdf0 size=54 ############ void FUN_18134bdf0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 180569ff0 size=123 ############ void FUN_180569ff0(longlong param_1) { longlong *plVar1; longlong lVar2; longlong lVar3; lVar3 = param_1; if (param_1 != 0) { while ((lVar2 = __RTDynamicCast(lVar3,0,&juce::Component::RTTI_Type_Descriptor, &StylerProvider::RTTI_Type_Descriptor,0), lVar2 == 0 || (*(longlong *)(lVar2 + 8) == 0))) { plVar1 = (longlong *)(lVar3 + 0x18); lVar3 = *plVar1; if (*plVar1 == 0) { return; } } *(undefined8 *)(param_1 + 0xb8) = *(undefined8 *)(lVar2 + 8); } return; } ############ FUN_ 18051e060 size=545 ############ undefined8 * FUN_18051e060(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined4 param_4) { undefined8 uVar1; float *pfVar2; longlong *plVar3; int iVar4; int iVar5; float fVar6; undefined1 local_res10 [8]; undefined8 local_res18; undefined1 local_40 [24]; local_res18 = param_3; if (param_2[7] != 0) { pfVar2 = (float *)FUN_1812a04f0(param_2[7],local_40,param_3,param_4,0xfffffffffffffffe); local_res18 = CONCAT44((int)((float)local_res18._4_4_ * pfVar2[4] + (float)(int)param_3 * pfVar2[3] + pfVar2[5]), (int)((float)local_res18._4_4_ * pfVar2[1] + (float)(int)param_3 * *pfVar2 + pfVar2[2])); } uVar1 = local_res18; iVar4 = (int)local_res18; iVar5 = (int)((ulonglong)local_res18 >> 0x20); if ((*(byte *)(param_2 + 0x15) & 1) == 0) { local_res18 = CONCAT44(iVar5 - (int)((ulonglong)param_2[4] >> 0x20),iVar4 - (int)param_2[4]); } else { if ((*(byte *)(param_2 + 0x15) & 1) == 0) { if (param_2[3] == 0) goto LAB_18051e243; plVar3 = (longlong *)FUN_18134c2e0(); } else { plVar3 = (longlong *)FUN_1812d2bd0(param_2); } if (plVar3 == (longlong *)0x0) { LAB_18051e243: *param_1 = uVar1; return param_1; } if (DAT_182673700 == 0) { local_res18 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res18); } fVar6 = *(float *)(DAT_182673700 + 0xc0); local_res18 = uVar1; if (fVar6 != DAT_1824c3ea4) { local_res18 = CONCAT44((int)((float)iVar5 * fVar6),(int)((float)iVar4 * fVar6)); } pfVar2 = (float *)(**(code **)(*plVar3 + 0x58)) (plVar3,local_res10, CONCAT44((float)(int)((ulonglong)local_res18 >> 0x20), (float)(int)local_res18)); iVar4 = SUB84((double)*pfVar2 + DAT_1824c4520,0); iVar5 = SUB84((double)pfVar2[1] + DAT_1824c4520,0); local_res18 = CONCAT44(iVar5,iVar4); fVar6 = (float)(**(code **)(*param_2 + 0x80))(param_2); if (fVar6 != DAT_1824c3ea4) { local_res18 = CONCAT44((int)((float)iVar5 / fVar6),(int)((float)iVar4 / fVar6)); } } *param_1 = local_res18; return param_1; } ############ FUN_ 181296c00 size=185 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181296c00(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined4 local_40 [2]; longlong local_38; undefined8 *puStack_30; undefined8 local_28; undefined8 uStack_20; undefined4 local_18; undefined4 local_14; if (*(char *)(param_1 + 0x10) != '\0') { *(undefined1 *)(param_1 + 0x10) = 0; (**(code **)(**(longlong **)(param_1 + 8) + 0x68)) (*(longlong **)(param_1 + 8),param_2,param_3,param_4,0xfffffffffffffffe); } local_40[0] = (undefined4)param_2; local_38 = 0; puStack_30 = (undefined8 *)0x0; local_28 = _DAT_1824c4780; uStack_20 = _UNK_1824c4788; local_18 = DAT_1824c3ea4; local_14 = 0; (**(code **)(**(longlong **)(param_1 + 8) + 0x88))(*(longlong **)(param_1 + 8),local_40); if (puStack_30 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puStack_30 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puStack_30)(puStack_30,1); } } if (local_38 != 0) { *(undefined4 *)(local_38 + 0x24) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(local_38 + 0x18)); } return; } ############ FUN_ 181295d20 size=326 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181295d20(longlong param_1,undefined8 param_2,undefined4 *param_3,undefined8 param_4) { float fVar1; char cVar2; float *pfVar3; undefined4 uVar4; undefined8 local_50; undefined8 uStack_48; ulonglong local_40; float *local_38; undefined8 local_30; undefined8 local_28; undefined8 uStack_20; undefined1 local_18; local_38 = (float *)0x0; local_30 = 0; local_28 = 0; uStack_20 = 0; local_18 = 1; uVar4 = (**(code **)(**(longlong **)(param_1 + 8) + 0x20))(); FUN_181297840(*param_3,param_3[1],param_3[2],&local_38,param_2,param_4,uVar4); cVar2 = (**(code **)(**(longlong **)(param_1 + 8) + 0x60))(); if (cVar2 == '\0') { for (pfVar3 = local_38; pfVar3 != local_38 + local_30._4_4_; pfVar3 = pfVar3 + 1) { fVar1 = *pfVar3; if (fVar1 == DAT_1824c4600) { pfVar3 = pfVar3 + 2; } else if (((fVar1 == DAT_1824c45fc) || (fVar1 == DAT_1824c4604)) || (fVar1 == DAT_1824c4608)) { local_50 = _DAT_1824c4780; uStack_48 = _UNK_1824c4788; local_40 = (ulonglong)DAT_1824c3ea4; (**(code **)(**(longlong **)(param_1 + 8) + 0xb8)) (*(longlong **)(param_1 + 8),&local_38,&local_50); break; } } } local_30 = local_30 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_38); } ############ FUN_ 1812a59f0 size=152 ############ undefined8 * FUN_1812a59f0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; *param_1 = juce::AsyncUpdater::vftable; param_1[1] = 0; puVar4 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar4 + 1) = 0; *puVar4 = juce::AsyncUpdater::AsyncUpdaterMessage::vftable; puVar4[2] = param_1; *(undefined4 *)(puVar4 + 3) = 0; if ((undefined8 *)param_1[1] != puVar4) { LOCK(); *(int *)(puVar4 + 1) = *(int *)(puVar4 + 1) + 1; UNLOCK(); puVar3 = (undefined8 *)param_1[1]; param_1[1] = puVar4; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1,puVar4,param_4,uVar5); } } } return param_1; } ############ FUN_ 1812a7230 size=123 ############ undefined8 * FUN_1812a7230(undefined8 *param_1) { uint uVar1; longlong *plVar2; int iVar3; *param_1 = juce::DeletedAtShutdown::vftable; do { LOCK(); uVar1 = DAT_182673a34 & 1; DAT_182673a34 = DAT_182673a34 | 1; UNLOCK(); } while (uVar1 != 0); plVar2 = (longlong *)FUN_1812a6d90(); iVar3 = *(int *)((longlong)plVar2 + 0xc) + 1; if ((int)plVar2[1] < iVar3) { FUN_18047cb30(plVar2,*(int *)((longlong)plVar2 + 0xc) + 9 + iVar3 / 2 & 0xfffffff8); } iVar3 = *(int *)((longlong)plVar2 + 0xc); *(int *)((longlong)plVar2 + 0xc) = iVar3 + 1; *(undefined8 **)(*plVar2 + (longlong)iVar3 * 8) = param_1; LOCK(); DAT_182673a34 = 0; UNLOCK(); return param_1; } ############ FUN_ 18133b010 size=280 ############ void FUN_18133b010(longlong param_1,char param_2) { int iVar1; int iVar2; longlong *plVar3; longlong lVar4; longlong *plVar5; int iVar6; bool bVar7; plVar5 = (longlong *)0x0; iVar6 = 0; iVar1 = FUN_18133b370(); if (0 < iVar1) { while( true ) { iVar1 = 0; iVar2 = *(int *)(param_1 + 0x24) + -1; if (iVar2 < 0) break; lVar4 = (longlong)iVar2; plVar3 = (longlong *)(*(longlong *)(param_1 + 0x18) + lVar4 * 8); while ((*(char *)(*plVar3 + 0x5c) == '\0' || (bVar7 = iVar1 != iVar6, iVar1 = iVar1 + 1, bVar7))) { plVar3 = plVar3 + -1; lVar4 = lVar4 + -1; if (lVar4 < 0) { return; } } lVar4 = *(longlong *)(*plVar3 + 0x40); if (lVar4 == 0) { return; } if ((*(byte *)(lVar4 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar4 + 0x18) != 0) { plVar3 = (longlong *)FUN_18134c2e0(); goto LAB_18133b0ba; } } else { plVar3 = (longlong *)FUN_1812d2bd0(lVar4); LAB_18133b0ba: if ((plVar3 != (longlong *)0x0) && (plVar3 != plVar5)) { if (plVar5 == (longlong *)0x0) { (**(code **)(*plVar3 + 0xb0))(plVar3,param_2); plVar5 = plVar3; if (param_2 != '\0') { (**(code **)(*plVar3 + 200))(plVar3); } } else { (**(code **)(*plVar3 + 0xb8))(plVar3,plVar5); plVar5 = plVar3; } } } iVar6 = iVar6 + 1; iVar1 = FUN_18133b370(param_1); if (iVar1 <= iVar6) { return; } } } return; } ############ FUN_ 18134adf0 size=240 ############ longlong FUN_18134adf0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong lVar2; undefined8 uVar3; longlong lVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; lVar4 = 0; while( true ) { if (param_1 == 0) { if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } lVar2 = DAT_182673700; if (*(longlong *)(DAT_182673700 + 0x98) != 0) { lVar4 = *(longlong *)(*(longlong *)(DAT_182673700 + 0x98) + 0x10); } if (lVar4 == 0) { if (*(longlong *)(DAT_182673700 + 0x90) == 0) { uVar3 = FUN_1811316e0(0x170); uVar3 = FUN_1812fbfd0(uVar3); puVar1 = *(undefined8 **)(lVar2 + 0x90); *(undefined8 *)(lVar2 + 0x90) = uVar3; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } lVar4 = *(longlong *)(lVar2 + 0x90); FUN_18051b750(lVar2 + 0x98,lVar4,param_3,param_4,uVar5); } return lVar4; } lVar2 = lVar4; if (*(longlong *)(param_1 + 0x50) != 0) { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x50) + 0x10); } if (lVar2 != 0) break; param_1 = *(longlong *)(param_1 + 0x18); } return lVar2; } ############ FUN_ 1812c6070 size=9 ############ void FUN_1812c6070(void) { /* WARNING: Could not recover jumptable at 0x0001812c6072. Too many branches */ /* WARNING: Treating indirect jump as call */ MessageBeep(0); return; } ############ FUN_ 18050dd00 size=885 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18050dd00(undefined8 *param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4, undefined1 param_5) { longlong *plVar1; DWORD DVar2; undefined8 uVar3; longlong lVar4; undefined8 *puVar5; int iVar6; undefined1 auStackY_d8 [32]; undefined8 *local_90; undefined8 local_88; undefined8 *local_80; IID local_78; undefined **local_68 [7]; undefined ***local_30; ulonglong local_28; local_88 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStackY_d8; *param_1 = juce::ComponentPeer::vftable; param_1[1] = param_2; *(undefined4 *)(param_1 + 2) = param_3; *(undefined8 *)((longlong)param_1 + 0x14) = 0; *(undefined8 *)((longlong)param_1 + 0x1c) = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; DAT_18262b5c4 = DAT_18262b5c4 + 2; *(int *)(param_1 + 0xb) = DAT_18262b5c4; *(undefined1 *)((longlong)param_1 + 0x5c) = 0; local_80 = param_1; if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } lVar4 = DAT_182673700; plVar1 = (longlong *)(DAT_182673700 + 0x68); iVar6 = *(int *)(DAT_182673700 + 0x74) + 1; if (*(int *)(DAT_182673700 + 0x70) < iVar6) { FUN_18047cb30(plVar1,*(int *)(DAT_182673700 + 0x74) + 9 + iVar6 / 2 & 0xfffffff8); } iVar6 = *(int *)(lVar4 + 0x74); *(int *)(lVar4 + 0x74) = iVar6 + 1; *(undefined8 **)(*plVar1 + (longlong)iVar6 * 8) = param_1; param_1[0xd] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0xe) = 0; *param_1 = juce::HWNDComponentPeer::vftable; param_1[0xc] = juce::HWNDComponentPeer::vftable; param_1[0xf] = juce::HWNDComponentPeer::vftable; *(undefined1 *)(param_1 + 0x10) = param_5; param_1[0x12] = param_4; param_1[0x13] = 0; param_1[0x14] = 0; param_1[0x15] = 0; *(undefined4 *)(param_1 + 0x16) = 0; *(undefined1 *)((longlong)param_1 + 0xb4) = 0; param_1[0x17] = 0; param_1[0x18] = 0; param_1[0x19] = 0; param_1[0x1a] = 0; *(undefined1 *)(param_1 + 0x1b) = 0xff; FUN_18050dad0(param_1 + 0x1c); param_1[0x22] = 0; param_1[0x23] = 0x3ff0000000000000; *(undefined1 *)(param_1 + 0x24) = 0; param_1[0x26] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x27) = 0; param_1[0x25] = juce::HWNDComponentPeer::TemporaryImage::vftable; param_1[0x28] = 0; param_1[0x29] = 0xffffffffffffffff; *(undefined1 *)(param_1 + 0x2a) = 0; lVar4 = FUN_1812a7550(); DVar2 = GetCurrentThreadId(); if (((ulonglong)DVar2 == *(ulonglong *)(lVar4 + 0x10)) || ((ulonglong)DVar2 == *(ulonglong *)(lVar4 + 0x18))) { FUN_180510be0(param_1); } else { FUN_1812a6500(lVar4,FUN_180510bd0,param_1); } puVar5 = (undefined8 *)FUN_18049a930(&local_90,param_1[1] + 8); SetWindowTextW((HWND)param_1[0x11],(LPCWSTR)*puVar5); FUN_180511150(param_1); if ((DAT_182673b00 == (undefined8 *)0x0) && (DAT_18267ab70 == '\0')) { DAT_18267ab70 = 1; puVar5 = (undefined8 *)FUN_1811316e0(0x30); local_90 = puVar5; FUN_1812a7230(puVar5); puVar5[2] = 0xffffffffffffffff; *(undefined4 *)(puVar5 + 3) = 0; *puVar5 = juce::OnScreenKeyboard::vftable; puVar5[1] = juce::OnScreenKeyboard::vftable; *(undefined2 *)(puVar5 + 4) = 0; local_78.Data1 = 0x4ce576fa; local_78.Data2 = 0x83dc; local_78.Data3 = 0x4f88; local_78.Data4[0] = 0x95; local_78.Data4[1] = '\x1c'; local_78.Data4[2] = 0x9d; local_78.Data4[3] = '\a'; local_78.Data4[4] = 0x82; local_78.Data4[5] = 0xb4; local_78.Data4[6] = 0xe3; local_78.Data4[7] = 'v'; puVar5[5] = (LPVOID)0x0; CoCreateInstance(&local_78,(LPUNKNOWN)0x0,6,(IID *)&DAT_18249bbf8,(LPVOID *)(puVar5 + 5)); DAT_18267ab70 = '\0'; DAT_182673b00 = puVar5; } local_30 = (undefined ***)0x0; if (DAT_182673ba8 != (undefined ***)0x0) { if (DAT_182673ba8 == (undefined ***)&DAT_182673b70) { local_30 = local_68; } else { local_30 = DAT_182673ba8; } } local_68[0] = std:: _Func_impl_no_alloc<,juce::ModifierKeys>:: vftable; _DAT_182673b70 = std::_Func_impl_no_alloc<,juce::ModifierKeys>:: vftable; DAT_182673ba8 = (undefined ***)&DAT_182673b70; if ((local_30 != (undefined ***)0x0) && (local_30 != local_68)) { /* WARNING: Subroutine does not return */ free(local_30); } } ############ FUN_ 18049fa40 size=302 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ float * FUN_18049fa40(float *param_1,uint param_2) { int iVar1; float fVar2; uint uVar3; uint uVar4; uint uVar5; uint uVar6; uint uVar7; float fVar8; float fVar9; float fVar10; uVar4 = param_2 & 0xff; uVar6 = param_2 >> 0x10 & 0xff; uVar5 = param_2 >> 8 & 0xff; if (uVar6 < uVar5) { iVar1 = uVar5 - uVar4; uVar3 = uVar5; } else { iVar1 = uVar6 - uVar4; uVar3 = uVar6; } if (SBORROW4(uVar3,uVar4) != iVar1 < 0) { uVar3 = uVar4; } uVar7 = uVar6; if (uVar5 < uVar6) { uVar7 = uVar5; } if (uVar4 < uVar7) { uVar7 = uVar4; } if (uVar3 == 0) { param_1[0] = 0.0; param_1[1] = 0.0; } else { fVar8 = (float)(int)(uVar3 - uVar7) / (float)uVar3; param_1[1] = fVar8; fVar2 = DAT_1824c3ea4; if (fVar8 <= 0.0) { *param_1 = 0.0; } else { fVar8 = DAT_1824c3ea4 / (float)(int)(uVar3 - uVar7); fVar10 = (float)(int)(uVar3 - uVar6) * fVar8; fVar9 = (float)(int)(uVar3 - uVar5) * fVar8; fVar8 = (float)(int)(uVar3 - uVar4) * fVar8; if (uVar6 == uVar3) { *param_1 = fVar8 - fVar9; } else if (uVar5 == uVar3) { *param_1 = (fVar10 + DAT_1824c41e0) - fVar8; } else { *param_1 = (fVar9 + DAT_1824c4334) - fVar10; } fVar8 = *param_1 * _DAT_1824c3d08; *param_1 = fVar8; if (fVar8 < 0.0) { *param_1 = fVar8 + fVar2; } } } param_1[2] = (float)uVar3 / DAT_1824c4548; return param_1; } ############ FUN_ 18049fbb0 size=645 ############ undefined1 * FUN_18049fbb0(undefined1 *param_1,float param_2,float param_3,float param_4,undefined1 param_5) { float fVar1; double dVar2; undefined1 uVar3; float fVar4; float fVar5; float _X; undefined1 local_70; undefined1 local_68; dVar2 = DAT_1824c4520; fVar1 = DAT_1824c3ea4; param_4 = param_4 * DAT_1824c4548; if (0.0 <= param_4) { fVar5 = DAT_1824c4548; if (param_4 <= DAT_1824c4548) { fVar5 = param_4; } } else { fVar5 = 0.0; } uVar3 = SUB81((double)fVar5 + DAT_1824c4520,0); if (param_3 <= 0.0) { *param_1 = uVar3; param_1[1] = uVar3; param_1[2] = uVar3; param_1[3] = param_5; return param_1; } if (DAT_1824c3ea4 <= param_3) { param_3 = DAT_1824c3ea4; } fVar4 = floorf(param_2); _X = (param_2 - fVar4) * DAT_1824c4388 + DAT_1824c3c3c; fVar4 = floorf(_X); fVar4 = _X - fVar4; local_70 = SUB81((double)((fVar1 - param_3) * fVar5) + dVar2,0); if (fVar1 <= _X) { if (_X < DAT_1824c41e0) { *param_1 = local_70; param_1[1] = uVar3; local_68 = SUB81((double)((fVar1 - fVar4 * param_3) * fVar5) + dVar2,0); goto LAB_18049fdf8; } if (_X < DAT_1824c42d0) { local_68 = SUB81((double)((fVar1 - (fVar1 - fVar4) * param_3) * fVar5) + dVar2,0); *param_1 = local_68; param_1[1] = uVar3; local_68 = local_70; goto LAB_18049fdf8; } if (_X < DAT_1824c4334) { *param_1 = uVar3; local_68 = SUB81((double)((fVar1 - fVar4 * param_3) * fVar5) + dVar2,0); param_1[1] = local_68; local_68 = local_70; goto LAB_18049fdf8; } if (_X < DAT_1824c4360) { *param_1 = uVar3; param_1[1] = local_70; local_68 = SUB81((double)((fVar1 - (fVar1 - fVar4) * param_3) * fVar5) + dVar2,0); goto LAB_18049fdf8; } local_68 = SUB81((double)((fVar1 - fVar4 * param_3) * fVar5) + dVar2,0); *param_1 = local_68; local_68 = local_70; } else { *param_1 = local_70; local_68 = SUB81((double)((fVar1 - (fVar1 - fVar4) * param_3) * fVar5) + dVar2,0); } param_1[1] = local_68; local_68 = uVar3; LAB_18049fdf8: param_1[2] = local_68; param_1[3] = param_5; return param_1; } ############ FUN_ 181ba94b0 size=18 ############ void FUN_181ba94b0(void) { FUN_180001000(); return; } ############ FUN_ 18129e350 size=25 ############ undefined8 * FUN_18129e350(undefined8 *param_1) { *param_1 = 0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; *(undefined1 *)(param_1 + 4) = 1; return param_1; } ############ FUN_ 18129e330 size=17 ############ void FUN_18129e330(undefined8 *param_1) { *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x00018129e33a. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 1804b02a0 size=144 ############ void FUN_1804b02a0(longlong *param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4) { int iVar1; iVar1 = *(int *)((longlong)param_1 + 0xc) + 3; if ((int)param_1[1] < iVar1) { FUN_1804af790(param_1,*(int *)((longlong)param_1 + 0xc) + 0xb + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined4 *)(*param_1 + (longlong)iVar1 * 4) = *param_2; iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined4 *)(*param_1 + (longlong)iVar1 * 4) = param_3; iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined4 *)(*param_1 + (longlong)iVar1 * 4) = param_4; return; } ############ FUN_ 18129ddd0 size=166 ############ void FUN_18129ddd0(longlong param_1,float param_2,float param_3) { if (*(int *)(param_1 + 0xc) == 0) { *(undefined8 *)(param_1 + 0x10) = 0; *(undefined8 *)(param_1 + 0x18) = 0; FUN_1804b02a0(param_1,&DAT_1821df344,0,0); } FUN_1804b02a0(param_1,&DAT_1821dfcb4,param_2,param_3); if (*(float *)(param_1 + 0x10) <= param_2) { if (*(float *)(param_1 + 0x14) <= param_2 && param_2 != *(float *)(param_1 + 0x14)) { *(float *)(param_1 + 0x14) = param_2; } } else { *(float *)(param_1 + 0x10) = param_2; } if (param_3 < *(float *)(param_1 + 0x18)) { *(float *)(param_1 + 0x18) = param_3; return; } if (*(float *)(param_1 + 0x1c) <= param_3 && param_3 != *(float *)(param_1 + 0x1c)) { *(float *)(param_1 + 0x1c) = param_3; } return; } ############ FUN_ 18129a910 size=2178 ############ ulonglong * FUN_18129a910(longlong *param_1,ulonglong *param_2,float param_3) { double dVar1; bool bVar2; bool bVar3; bool bVar4; float fVar5; float fVar6; ulonglong uVar7; int iVar8; uint uVar9; int iVar11; int iVar12; undefined4 uVar13; int iVar14; ulonglong uVar15; int iVar16; int iVar17; longlong lVar18; int iVar19; int iVar20; int iVar21; int iVar22; int iVar23; int iVar24; int iVar25; int iVar26; double dVar27; float fVar28; float fVar29; float fVar30; float fVar31; float fVar32; float fVar33; float fVar34; int local_134; int local_130; ulonglong local_128; undefined8 local_120; undefined8 local_118; undefined8 uStack_110; undefined1 local_108; longlong local_100; int local_f8; int local_f4; ulonglong uVar10; fVar6 = DAT_1824c460c; fVar5 = DAT_1824c45fc; if (param_3 <= DAT_1824c3c70) { FUN_1804ab000(param_2,param_1); uVar7 = param_1[3]; param_2[2] = param_1[2]; param_2[3] = uVar7; *(char *)(param_2 + 4) = (char)param_1[4]; return param_2; } lVar18 = *param_1; uVar7 = 0; bVar2 = false; local_118._0_4_ = 0.0; local_118._4_4_ = 0.0; uStack_110._0_4_ = 0.0; uStack_110._4_4_ = 0.0; uVar13 = 0; local_128 = 0; local_120 = 0; local_118 = 0; uStack_110 = 0; local_108 = 1; local_f4 = 0; local_f8 = 0; bVar3 = false; bVar4 = false; local_100 = lVar18; if (0 < *(int *)((longlong)param_1 + 0xc)) { iVar11 = -5; iVar23 = -2; iVar19 = -6; iVar25 = -3; iVar21 = -4; local_134 = -7; local_130 = -8; uVar10 = uVar7; uVar15 = uVar7; do { iVar8 = (int)uVar10; iVar17 = local_130 + 1; iVar16 = local_134 + 1; uVar9 = iVar8 + 1; uVar10 = (ulonglong)uVar9; iVar22 = iVar21 + 1; iVar20 = iVar19 + 1; fVar29 = *(float *)(lVar18 + (longlong)iVar8 * 4); iVar12 = iVar11 + 1; iVar26 = iVar25 + 1; iVar24 = iVar23 + 1; iVar14 = (int)uVar15; if (fVar29 == DAT_1824c4600) { fVar29 = *(float *)(lVar18 + (longlong)(int)uVar9 * 4); uVar10 = (ulonglong)(iVar8 + 3U); fVar28 = *(float *)(lVar18 + (longlong)(iVar8 + 2) * 4); if (iVar14 == 0) { local_118 = CONCAT44(fVar29,fVar29); uStack_110 = (ulonglong)(uint)fVar28; LAB_18129ab42: uStack_110 = CONCAT44(fVar28,(float)uStack_110); } else { if ((float)local_118 <= fVar29) { if (local_118._4_4_ < fVar29) { local_118 = CONCAT44(fVar29,(float)local_118); } } else { local_118 = CONCAT44(local_118._4_4_,fVar29); } if ((float)uStack_110 <= fVar28) { if (uStack_110._4_4_ < fVar28) goto LAB_18129ab42; } else { uStack_110 = CONCAT44(uStack_110._4_4_,fVar28); } } local_f8 = iVar8; local_f4 = iVar14; FUN_1804b02a0(&local_128,&DAT_1821df344); bVar3 = false; uVar7 = local_128; lVar18 = local_100; iVar12 = iVar11 + 3; iVar24 = iVar23 + 3; iVar20 = iVar19 + 3; iVar26 = iVar25 + 3; iVar22 = iVar21 + 3; iVar16 = local_134 + 3; iVar17 = local_130 + 3; bVar2 = false; if (*(float *)(local_100 + (longlong)(int)(iVar8 + 3U) * 4) == fVar5) { uVar15 = (ulonglong)local_120._4_4_; bVar4 = true; } else { uVar15 = (ulonglong)local_120._4_4_; bVar4 = false; } } else if ((fVar29 == fVar5) || (fVar29 == fVar6)) { fVar28 = 0.0; fVar34 = 0.0; fVar30 = 0.0; fVar31 = 0.0; if (fVar29 == fVar5) { local_130 = local_130 + 3; local_134 = local_134 + 3; iVar22 = iVar21 + 3; iVar20 = iVar19 + 3; fVar32 = *(float *)(lVar18 + (longlong)(int)uVar9 * 4); iVar12 = iVar11 + 3; iVar26 = iVar25 + 3; uVar10 = (ulonglong)(iVar8 + 3U); iVar24 = iVar23 + 3; fVar33 = *(float *)(lVar18 + (longlong)(iVar8 + 2) * 4); if (8 < (int)(iVar8 + 3U)) { fVar28 = *(float *)(lVar18 + (longlong)local_130 * 4); fVar34 = *(float *)(lVar18 + (longlong)local_134 * 4); fVar30 = *(float *)(lVar18 + (longlong)iVar12 * 4); iVar11 = iVar22; LAB_18129ac62: fVar31 = *(float *)(lVar18 + (longlong)iVar11 * 4); } } else { fVar32 = *(float *)(lVar18 + (longlong)(local_f8 + 1) * 4); fVar33 = *(float *)(lVar18 + (longlong)(local_f8 + 2) * 4); local_134 = iVar16; local_130 = iVar17; if (6 < (int)uVar9) { fVar28 = *(float *)(lVar18 + (longlong)iVar20 * 4); fVar34 = *(float *)(lVar18 + (longlong)iVar12 * 4); fVar30 = *(float *)(lVar18 + (longlong)iVar26 * 4); iVar11 = iVar24; goto LAB_18129ac62; } } if (bVar2) { dVar1 = _hypot((double)(fVar28 - fVar30),(double)(fVar34 - fVar31)); if (0.0 < dVar1) { dVar27 = (double)param_3 / dVar1; if (DAT_1824c4050 <= (double)param_3 / dVar1) { dVar27 = DAT_1824c4050; } *(float *)((local_128 - 8) + (longlong)iVar14 * 4) = (float)((double)fVar30 - (double)(fVar30 - fVar28) * dVar27); *(float *)((local_128 - 4) + (longlong)iVar14 * 4) = (float)((double)fVar31 - (double)(fVar31 - fVar34) * dVar27); } dVar1 = _hypot((double)(fVar32 - fVar30),(double)(fVar33 - fVar31)); if (0.0 < dVar1) { dVar27 = (double)param_3 / dVar1; if (DAT_1824c4050 <= (double)param_3 / dVar1) { dVar27 = DAT_1824c4050; } FUN_18129dca0(&local_128,fVar30,fVar31, (float)((double)(fVar32 - fVar30) * dVar27 + (double)fVar30), (float)((double)(fVar33 - fVar31) * dVar27 + (double)fVar31)); } FUN_18129ddd0(&local_128,fVar32,fVar33); bVar2 = bVar3; LAB_18129adbb: uVar15 = local_120 >> 0x20; lVar18 = local_100; bVar3 = bVar2; } else if (fVar29 == fVar5) { FUN_18129ddd0(&local_128,fVar32,fVar33); bVar2 = true; goto LAB_18129adbb; } uVar7 = local_128; iVar16 = local_134; iVar17 = local_130; if (fVar29 == fVar6) { if (bVar4) { fVar29 = *(float *)(lVar18 + (longlong)iVar26 * 4); fVar28 = *(float *)(lVar18 + (longlong)iVar24 * 4); fVar34 = *(float *)(lVar18 + (longlong)(local_f8 + 4) * 4); fVar30 = *(float *)(lVar18 + (longlong)(local_f8 + 5) * 4); dVar1 = _hypot((double)(fVar29 - fVar32),(double)(fVar28 - fVar33)); if (0.0 < dVar1) { dVar27 = (double)param_3 / dVar1; if (DAT_1824c4050 <= (double)param_3 / dVar1) { dVar27 = DAT_1824c4050; } *(float *)((local_128 - 8) + (longlong)(int)uVar15 * 4) = (float)((double)fVar32 - (double)(fVar32 - fVar29) * dVar27); *(float *)((local_128 - 4) + (longlong)(int)uVar15 * 4) = (float)((double)fVar33 - (double)(fVar33 - fVar28) * dVar27); } fVar30 = fVar30 - fVar33; fVar34 = fVar34 - fVar32; dVar1 = _hypot((double)fVar34,(double)fVar30); if (0.0 < dVar1) { dVar27 = (double)param_3 / dVar1; if (DAT_1824c4050 <= (double)param_3 / dVar1) { dVar27 = DAT_1824c4050; } fVar28 = (float)((double)fVar34 * dVar27 + (double)fVar32); fVar29 = (float)((double)fVar30 * dVar27 + (double)fVar33); FUN_18129dca0(&local_128,fVar32,fVar33,fVar28,fVar29); uVar15 = local_120 >> 0x20; *(float *)(local_128 + (longlong)(local_f4 + 1) * 4) = fVar28; *(float *)(local_128 + (longlong)(local_f4 + 2) * 4) = fVar29; } } iVar11 = (int)uVar15; uVar7 = local_128; lVar18 = local_100; bVar2 = bVar3; if ((iVar11 != 0) && ((iVar11 < 1 || (*(float *)(local_128 + (longlong)(iVar11 + -1) * 4) != fVar6)))) { iVar19 = iVar11 + 1; if ((int)local_120 < iVar19) { if (iVar19 < 0) { iVar19 = iVar11 + 2; } FUN_1804af790(&local_128,iVar11 + 9 + (iVar19 >> 1) & 0xfffffff8); iVar11 = local_120._4_4_; } uVar15 = (ulonglong)(iVar11 + 1U); local_120 = CONCAT44(iVar11 + 1U,(int)local_120); *(undefined4 *)(local_128 + (longlong)iVar11 * 4) = 0x47c35280; uVar7 = local_128; lVar18 = local_100; } } } else if (fVar29 == DAT_1824c4604) { bVar3 = false; uVar10 = (ulonglong)(iVar8 + 5); FUN_18129dca0(&local_128,*(undefined4 *)(lVar18 + (longlong)(int)uVar9 * 4), *(undefined4 *)(lVar18 + (longlong)(iVar8 + 2) * 4), *(undefined4 *)(lVar18 + (longlong)(iVar8 + 3) * 4), *(undefined4 *)(lVar18 + (longlong)(iVar8 + 4) * 4)); uVar15 = local_120 >> 0x20; uVar7 = local_128; lVar18 = local_100; iVar12 = iVar11 + 5; iVar24 = iVar23 + 5; iVar20 = iVar19 + 5; iVar26 = iVar25 + 5; iVar22 = iVar21 + 5; iVar16 = local_134 + 5; iVar17 = local_130 + 5; bVar2 = bVar3; } else if (fVar29 == DAT_1824c4608) { bVar3 = false; uVar10 = (ulonglong)(iVar8 + 7); FUN_18129daf0(&local_128,*(undefined4 *)(lVar18 + (longlong)(int)uVar9 * 4), *(undefined4 *)(lVar18 + (longlong)(iVar8 + 2) * 4), *(undefined4 *)(lVar18 + (longlong)(iVar8 + 3) * 4), *(undefined4 *)(lVar18 + (longlong)(iVar8 + 4) * 4), *(undefined4 *)(lVar18 + (longlong)(iVar8 + 5) * 4), *(undefined4 *)(lVar18 + (longlong)(iVar8 + 6) * 4)); uVar15 = local_120 >> 0x20; uVar7 = local_128; lVar18 = local_100; iVar12 = iVar11 + 7; iVar24 = iVar23 + 7; iVar20 = iVar19 + 7; iVar26 = iVar25 + 7; iVar22 = iVar21 + 7; iVar16 = local_134 + 7; iVar17 = local_130 + 7; bVar2 = bVar3; } local_130 = iVar17; local_134 = iVar16; iVar21 = iVar22; iVar25 = iVar26; iVar19 = iVar20; iVar23 = iVar24; iVar11 = iVar12; uVar13 = (undefined4)uVar15; } while ((int)uVar10 < *(int *)((longlong)param_1 + 0xc)); } *param_2 = uVar7; *(int *)(param_2 + 1) = (int)local_120; *(undefined4 *)((longlong)param_2 + 0xc) = uVar13; *(float *)(param_2 + 2) = (float)local_118; *(float *)((longlong)param_2 + 0x14) = local_118._4_4_; *(float *)(param_2 + 3) = (float)uStack_110; *(float *)((longlong)param_2 + 0x1c) = uStack_110._4_4_; *(undefined1 *)(param_2 + 4) = local_108; /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 180487300 size=303 ############ float FUN_180487300(float *param_1,float param_2) { longlong *plVar1; float fVar2; float fVar3; float fVar4; double dVar5; float fVar6; float local_res8 [4]; float local_res18 [2]; float local_res20 [2]; fVar2 = DAT_1824c3ea4; local_res18[0] = param_1[1]; if (*(longlong *)(param_1 + 0x24) == 0) { fVar6 = (param_2 - *param_1) / (local_res18[0] - *param_1); if (0.0 <= fVar6) { fVar4 = DAT_1824c3ea4; if (fVar6 <= DAT_1824c3ea4) { fVar4 = fVar6; } } else { fVar4 = 0.0; } fVar6 = param_1[3]; if (fVar6 != DAT_1824c3ea4) { if (*(char *)(param_1 + 4) == '\0') { fVar2 = powf(fVar4,fVar6); return fVar2; } fVar3 = fVar4 * DAT_1824c41e0 - DAT_1824c3ea4; fVar4 = DAT_1824c3ea4; if (fVar3 < 0.0) { fVar4 = DAT_1824c4680; } dVar5 = (double)fVar3; fVar6 = powf((float)(double)CONCAT44((uint)((ulonglong)dVar5 >> 0x20) & DAT_1824c4f10._4_4_, SUB84(dVar5,0) & (uint)DAT_1824c4f10),fVar6); fVar4 = (fVar6 * fVar4 + fVar2) * DAT_1824c3d8c; } } else { local_res20[0] = *param_1; plVar1 = *(longlong **)(param_1 + 0x24); local_res8[0] = param_2; if (plVar1 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar2 = (float)(**(code **)(*plVar1 + 0x10)) (plVar1,local_res20,local_res18,local_res8,0xfffffffffffffffe); fVar4 = 0.0; if (0.0 <= fVar2) { fVar6 = DAT_1824c3ea4; if (fVar2 <= DAT_1824c3ea4) { fVar6 = fVar2; } return fVar6; } } return fVar4; } ############ FUN_ 18058cb60 size=418 ############ void FUN_18058cb60(longlong param_1,float param_2) { longlong lVar1; ulonglong uVar2; float fVar3; float fVar4; float fVar5; float fVar6; ulonglong uVar7; ulonglong uVar8; longlong *plVar9; float fVar10; double dVar11; float fVar12; uint uVar13; float fVar14; fVar6 = DAT_1824c4408; fVar5 = DAT_1824c3ea4; fVar4 = DAT_1824c3d8c; fVar3 = DAT_1824c3d54; plVar9 = *(longlong **)(param_1 + 0xf0); uVar8 = 0; uVar7 = (ulonglong)((longlong)(plVar9 + *(int *)(param_1 + 0xfc)) + (7 - (longlong)plVar9)) >> 3; if (plVar9 + *(int *)(param_1 + 0xfc) < plVar9) { uVar7 = uVar8; } fVar14 = DAT_1824c3ea4 / (float)*(int *)(param_1 + 0x28); if (uVar7 == 0) { *(float *)(param_1 + 0x208) = param_2; } else { uVar13 = (uint)DAT_1824c4f10; uVar2 = (ulonglong)DAT_1824c4f10 >> 0x20; do { lVar1 = *plVar9; dVar11 = (double)(param_2 - ((float)*(int *)(lVar1 + 0x28) * fVar4 + (float)*(int *)(lVar1 + 0x20)) * fVar14); fVar12 = (float)(double)CONCAT44((uint)((ulonglong)dVar11 >> 0x20) & (uint)uVar2, SUB84(dVar11,0) & uVar13) * fVar6 - fVar3; if (0.0 <= fVar12) { fVar10 = fVar5; if (fVar12 <= fVar5) { fVar10 = fVar12; } } else { fVar10 = 0.0; } fVar10 = *(float *)(param_1 + 0x204) * fVar10; FUN_181342bf0(lVar1,fVar10 * fVar10 + (fVar5 - *(float *)(param_1 + 0x204))); plVar9 = plVar9 + 1; uVar8 = uVar8 + 1; } while (uVar8 != uVar7); *(float *)(param_1 + 0x208) = param_2; } return; } ############ FUN_ 1813f2240 size=25 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_1813f2240(void) { undefined8 unaff_retaddr; _DAT_18262a4f0 = (ulonglong)(DAT_18262a4f0 + 1); return unaff_retaddr; } ############ FUN_ 180bc28e0 size=24 ############ void FUN_180bc28e0(void) { FUN_1811528a0(); return; } ############ FUN_ 180589400 size=436 ############ longlong FUN_180589400(longlong param_1,longlong param_2) { int *piVar1; longlong lVar2; piVar1 = (int *)(param_1 + 0x10); lVar2 = 0x10; do { memcpy(*(void **)(piVar1 + -4),*(void **)((param_2 - param_1) + -0x10 + (longlong)piVar1), (longlong)*piVar1 << 3); memcpy(*(void **)(piVar1 + -2),*(void **)((param_2 - param_1) + -8 + (longlong)piVar1), (longlong)*piVar1 << 3); piVar1 = piVar1 + 0x20; lVar2 = lVar2 + -1; } while (lVar2 != 0); *(undefined4 *)(param_1 + 0x800) = *(undefined4 *)(param_2 + 0x800); *(undefined4 *)(param_1 + 0x804) = *(undefined4 *)(param_2 + 0x804); *(undefined4 *)(param_1 + 0x808) = *(undefined4 *)(param_2 + 0x808); *(undefined4 *)(param_1 + 0x80c) = *(undefined4 *)(param_2 + 0x80c); *(undefined1 *)(param_1 + 0x810) = *(undefined1 *)(param_2 + 0x810); *(undefined4 *)(param_1 + 0x814) = *(undefined4 *)(param_2 + 0x814); *(undefined1 *)(param_1 + 0x818) = *(undefined1 *)(param_2 + 0x818); *(undefined1 *)(param_1 + 0x819) = *(undefined1 *)(param_2 + 0x819); *(undefined1 *)(param_1 + 0x81a) = *(undefined1 *)(param_2 + 0x81a); *(undefined1 *)(param_1 + 0x81b) = *(undefined1 *)(param_2 + 0x81b); *(undefined1 *)(param_1 + 0x81c) = *(undefined1 *)(param_2 + 0x81c); *(undefined1 *)(param_1 + 0x81d) = *(undefined1 *)(param_2 + 0x81d); *(undefined1 *)(param_1 + 0x81e) = *(undefined1 *)(param_2 + 0x81e); *(undefined1 *)(param_1 + 0x81f) = *(undefined1 *)(param_2 + 0x81f); *(undefined1 *)(param_1 + 0x820) = *(undefined1 *)(param_2 + 0x820); *(undefined1 *)(param_1 + 0x821) = *(undefined1 *)(param_2 + 0x821); *(undefined1 *)(param_1 + 0x822) = *(undefined1 *)(param_2 + 0x822); *(undefined1 *)(param_1 + 0x823) = *(undefined1 *)(param_2 + 0x823); *(undefined1 *)(param_1 + 0x824) = *(undefined1 *)(param_2 + 0x824); *(undefined1 *)(param_1 + 0x825) = *(undefined1 *)(param_2 + 0x825); *(undefined1 *)(param_1 + 0x826) = *(undefined1 *)(param_2 + 0x826); *(undefined1 *)(param_1 + 0x827) = *(undefined1 *)(param_2 + 0x827); return param_1; } ############ FUN_ 1805a9280 size=214 ############ void FUN_1805a9280(void) { undefined8 uVar1; undefined1 auStack_1c8 [32]; undefined1 local_1a8; undefined1 local_1a0; undefined8 local_198; undefined1 local_190 [32]; undefined1 local_170 [32]; undefined1 local_150 [40]; undefined1 local_128 [272]; ulonglong local_18; local_198 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_1c8; FUN_1805a4160(local_170,"Authorization Error"); FUN_180487a80(local_190); uVar1 = FUN_1805a3f20(local_128, "%s cannot run because it is corrupted. Please try reinstalling the product." ); uVar1 = thunk_FUN_1805a21d0(uVar1,&PTR_s_soothe2_18260e5f8); uVar1 = FUN_1805a3b50(local_150,uVar1); FUN_1805a5a40(local_190,uVar1); FUN_180485450(local_150); FUN_1805a4fa0(local_128); local_1a0 = 0; local_1a8 = 0; FUN_1805f02b0(local_170,local_190,0,0); FUN_180485450(local_190); FUN_180485450(local_170); /* WARNING: Subroutine does not return */ exit(1); } ############ FUN_ 18134c250 size=23 ############ undefined8 * FUN_18134c250(longlong param_1,undefined8 *param_2) { undefined4 uVar1; undefined4 uVar2; uVar1 = *(undefined4 *)(param_1 + 0x28); uVar2 = *(undefined4 *)(param_1 + 0x2c); *param_2 = 0; *(undefined4 *)(param_2 + 1) = uVar1; *(undefined4 *)((longlong)param_2 + 0xc) = uVar2; return param_2; } ############ FUN_ 18134c170 size=31 ############ void FUN_18134c170(undefined8 param_1,undefined4 *param_2) { FUN_18134bfe0(param_1,*param_2,param_2[1],param_2[2],param_2[3]); return; } ############ FUN_ 1813bba80 size=25 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_1813bba80(void) { undefined8 unaff_retaddr; _DAT_18262a3e8 = (ulonglong)(DAT_18262a3e8 + 1); return unaff_retaddr; } ############ FUN_ 18058e380 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; } ############ FUN_ 180536300 size=475 ############ void FUN_180536300(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4, int param_5,undefined8 param_6,longlong param_7) { longlong lVar1; longlong lVar2; longlong lVar3; longlong lVar4; float fVar5; int iVar6; int iVar7; iVar7 = *(int *)(param_1 + 0x240080); lVar1 = param_7 + (longlong)(param_5 * 8) * 4; lVar2 = lVar1 + (longlong)param_5 * 4; fVar5 = *(float *)(param_1 + 0x24); lVar3 = lVar2 + (longlong)(param_5 * 2) * 4; lVar4 = lVar3 + (longlong)(param_5 * 2) * 4; iVar6 = __std_type_info_compare(0x182650db8,0x182650db8); FUN_18052da00(lVar1,param_3,(float)(DAT_1824c4248 / (double)((float)iVar7 * fVar5)),param_5); if (*(char *)(param_4 + 0x810) == '\0') { FUN_18052db50(lVar3,DAT_1824c3ea4,param_5); FUN_18052db50(lVar4,0,param_5); if (0 < *(int *)(param_4 + 0x814)) { if (iVar6 == 0) { FUN_180535880(); } else { FUN_180536f90(lVar2,param_7,param_4,lVar1,param_5); } iVar7 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar7 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(lVar2,param_7,param_5); } if ((1 < *(int *)(param_4 + 0x814)) && (*(char *)((longlong)(*(int *)(param_4 + 0x814) + -1) + 0x818 + param_4) == '\0')) { FUN_18052d990(lVar4,lVar3,param_5); } FUN_18052dbc0(param_2,lVar4,param_5); } else { FUN_18052db50(param_2,DAT_1824c3ea4,param_5); } return; } ############ FUN_ 18058b220 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); } } } } ############ FUN_ 181233e10 size=131 ############ char * FUN_181233e10(longlong param_1,uint param_2) { ulonglong uVar1; ulonglong uVar2; char *pcVar3; char *pcVar4; if (-1 < (int)param_2) { pcVar4 = (char *)(param_1 + -1); *pcVar4 = '\0'; uVar2 = (ulonglong)param_2; do { pcVar4 = pcVar4 + -1; uVar1 = uVar2 / 10; *pcVar4 = (char)uVar2 + (char)uVar1 * -10 + '0'; uVar2 = uVar1; } while ((int)uVar1 != 0); return pcVar4; } param_2 = -param_2; *(char *)(param_1 + -1) = '\0'; pcVar4 = (char *)(param_1 + -1); do { pcVar3 = pcVar4; pcVar4 = pcVar3 + -1; *pcVar4 = (char)param_2 + (char)((ulonglong)param_2 / 10) * -10 + '0'; param_2 = (uint)((ulonglong)param_2 / 10); } while (param_2 != 0); pcVar3 = pcVar3 + -2; *pcVar3 = '-'; return pcVar3; } ############ FUN_ 180495150 size=111 ############ undefined8 * FUN_180495150(undefined8 *param_1,undefined8 param_2,longlong param_3) { undefined4 uVar1; ulonglong uVar2; undefined4 *local_res8; uVar2 = param_3 + 4U & 0xfffffffffffffffc; local_res8 = (undefined4 *)thunk_FUN_1811316e0(uVar2 + 0x17); LOCK(); uVar1 = *local_res8; *local_res8 = 0; UNLOCK(); *(ulonglong *)(local_res8 + 2) = uVar2; local_res8 = local_res8 + 4; *param_1 = local_res8; FUN_18049d7f0(&local_res8,param_2,(int)param_3 + 1,uVar1); return param_1; } ############ FUN_ 181411be0 size=234 ############ void FUN_181411be0(longlong param_1,undefined8 param_2,undefined4 param_3,float param_4, float param_5) { uint uVar1; float fVar2; longlong lVar3; longlong *plVar4; longlong *plVar5; int iVar6; uint *_Memory; longlong local_res8; undefined8 local_50; undefined8 local_38; float local_30; FUN_181406d20(param_1,param_2,param_3,param_4,0xfffffffffffffffe); FUN_18049c9e0(&local_res8,param_2); plVar5 = (longlong *)FUN_1805714d0(param_1 + 0x168,&local_res8); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_50 = *(undefined8 *)(param_1 + 0x188); fVar2 = *(float *)(param_1 + 400); if (0.0 <= param_4) { local_50 = CONCAT44(param_4,(undefined4)local_50); } if (0.0 < param_5) { local_50 = CONCAT44(local_50._4_4_,param_5); } local_38 = local_50; local_30 = fVar2; FUN_1813bb6b0(*(undefined8 *)(*plVar5 + 0x10),&local_38); lVar3 = *plVar5; *(undefined4 *)(lVar3 + 0x18) = param_3; plVar4 = *(longlong **)(lVar3 + 0x10); if ((undefined **)*plVar4 == SkewInterpolator::vftable) { *(float *)((longlong)plVar4 + 0x6c) = *(float *)plVar4[1] - *(float *)plVar4[2]; *(float *)(plVar4 + 0xe) = *(float *)plVar4[2]; *(undefined4 *)(plVar4 + 0xd) = *(undefined4 *)((longlong)plVar4 + 100); } else { (*(code *)((undefined **)*plVar4)[1])(plVar4); } (**(code **)(**(longlong **)(*plVar5 + 0x10) + 0x10))(); if (*(int *)(param_1 + 0x10) < 1) { iVar6 = (int)fVar2; if (iVar6 < 1) { FUN_1812a7720(param_1); } else { FUN_1812a77d0(param_1,1000 / (longlong)iVar6 & 0xffffffff); } } return; } ############ FUN_ 18058b0c0 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); } } } } ############ FUN_ 180484cd0 size=126 ############ void FUN_180484cd0(longlong param_1) { longlong *plVar1; plVar1 = *(longlong **)(param_1 + 0xd0); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != (longlong *)(param_1 + 0x98)); *(undefined8 *)(param_1 + 0xd0) = 0; } plVar1 = *(longlong **)(param_1 + 0x90); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != (longlong *)(param_1 + 0x58)); *(undefined8 *)(param_1 + 0x90) = 0; } plVar1 = *(longlong **)(param_1 + 0x50); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != (longlong *)(param_1 + 0x18)); *(undefined8 *)(param_1 + 0x50) = 0; } return; } ############ FUN_ 18047cbc0 size=161 ############ void FUN_18047cbc0(longlong *param_1) { void *_Dst; undefined8 *puVar1; int iVar2; longlong lVar3; longlong lVar4; iVar2 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar2) { lVar3 = (longlong)iVar2 * 8; lVar4 = lVar3; do { puVar1 = *(undefined8 **)(lVar4 + *param_1); _Dst = (void *)(lVar3 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar2) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } lVar3 = lVar3 + -8; lVar4 = lVar4 + -8; iVar2 = iVar2 + -1; } while (-1 < iVar2); } return; } ############ FUN_ 18140e230 size=2119 ############ /* WARNING: Instruction at (ram,0x00018140e7d3) overlaps instruction at (ram,0x00018140e7d1) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018140ecd5) */ /* WARNING: Removing unreachable block (ram,0x00018140e9fe) */ /* WARNING: Removing unreachable block (ram,0x00018140e6f5) */ /* WARNING: Removing unreachable block (ram,0x00018140e679) */ /* WARNING: Removing unreachable block (ram,0x00018140e5c2) */ /* WARNING: Removing unreachable block (ram,0x00018140e2e8) */ /* WARNING: Removing unreachable block (ram,0x00018140e485) */ /* WARNING: Removing unreachable block (ram,0x00018140e5e7) */ /* WARNING: Removing unreachable block (ram,0x00018140e931) */ /* WARNING: Removing unreachable block (ram,0x00018140ea21) */ /* WARNING: Removing unreachable block (ram,0x00018140ea88) */ /* WARNING: Removing unreachable block (ram,0x00018140e918) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 * FUN_18140e230(undefined4 *param_1,undefined4 param_2) { uint uVar1; uint uVar2; undefined4 uVar3; ulonglong uVar4; undefined4 *puVar5; undefined1 *puVar6; ulonglong in_R11; longlong lVar7; int iVar8; ulonglong uVar9; longlong lVar10; bool bVar11; bool bVar12; int unaff_retaddr; undefined1 auStack_58 [32]; uVar2 = _UNK_1815797c0; puVar6 = auStack_58; uVar1 = (uint)&stack0x00000000 & 0x18ff; uVar1 = (uVar1 + 1) * uVar1 + 0x333 & 0x80000001; uVar1 = (int)(-uVar1 | uVar1) >> 0x1f; uVar9 = (ulonglong)(((int)(-uVar1 | uVar1) >> 0x1f) * -0x2a1d ^ 0x2f2d); do { uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); do { uVar9 = -((uVar9 ^ 0xffffffffffffffff) + 1); uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); do { uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); uVar1 = _UNK_1815797bc ^ (_UNK_1815797b8 ^ (_UNK_1815797b4 ^ (_UNK_1815797b0 ^ (_UNK_1815797ac ^ (_UNK_1815797a8 ^ (_UNK_1815797a4 ^ (_UNK_1815797a0 ^ (_UNK_18157979c ^ (_UNK_181579798 ^ (_UNK_181579794 ^ (_UNK_181579790 ^ (_UNK_18157978c ^ (DAT_181579788 ^ (DAT_181579784 ^ (DAT_181579780 ^ (DAT_18157977c ^ (DAT_181579778 ^ (DAT_181579774 ^ (DAT_181579770 ^ (DAT_18157976c ^ (DAT_181579768 ^ (DAT_181579764 ^ (DAT_181579760 ^ (DAT_18157975c ^ (DAT_181579758 ^ (DAT_181579754 ^ (DAT_181579750 ^ (DAT_18157974c ^ (DAT_181579748 ^ 0x811c9dc5) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; param_1[1] = param_2; uVar2 = _UNK_1815797d4 ^ (_UNK_1815797d0 ^ (_UNK_1815797cc ^ (_UNK_1815797c8 ^ (_UNK_1815797c4 ^ (uVar2 ^ uVar1 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; bVar12 = uVar2 == 0; lVar7 = (longlong)(int)uVar2 * 0x1000181; uVar2 = (uint)lVar7; bVar11 = (int)uVar2 != lVar7; do { uVar4 = 0; uVar3 = FUN_18140d737(); if ((bVar11 || bVar12) && ((uVar4 & 0x41) != 0)) { return (undefined4 *)((ulonglong)((uint3)((uint)uVar3 >> 8) & 0x2a04eb) << 8); } /* WARNING: Call to offcut address within same function */ func_0x00018140e48b(); uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } bVar11 = false; bVar12 = uVar1 == 0; } while (!bVar12); do { in_R11 = -((in_R11 ^ 0xffffffffffffffff) + 1); uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); do { in_R11 = (-in_R11 ^ 0xffffffffffffffff) + 1; param_1 = (undefined4 *)-(((ulonglong)param_1 ^ 0xffffffffffffffff) + 1); uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); uVar1 = (_UNK_1815797fc ^ (_UNK_1815797f8 ^ (_UNK_1815797f4 ^ (_UNK_1815797f0 ^ (_UNK_1815797ec ^ (_UNK_1815797e8 ^ (_UNK_1815797e4 ^ (_UNK_1815797e0 ^ (_UNK_1815797dc ^ (_UNK_1815797d8 ^ uVar2) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; uVar2 = uVar1 & 0x1f | 0x2a; if (((uVar2 * uVar2 * 0x195 ^ 0xffe18f95) & 0x4a0) == 0) { uVar2 = uVar1 & 0x4f; uVar2 = uVar2 * uVar2 * (uVar2 + 1) * (uVar2 + 1); } else { uVar2 = 0; } uVar4 = (longlong)(int)(uVar2 & 0x80000003) ^ 4; do { /* WARNING: Bad instruction - Truncating control flow here */ lVar10 = in_R11 + (longlong)param_1; lVar7 = (longlong)param_1 - lVar10; in_R11 = -lVar7; param_1 = (undefined4 *)(lVar10 + lVar7); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = ((*(uint *)(&UNK_18157983c + uVar4) ^ (*(uint *)(&UNK_181579838 + uVar4) ^ (*(uint *)(&UNK_181579834 + uVar4) ^ (*(uint *)(&UNK_181579830 + uVar4) ^ (*(uint *)(&UNK_18157982c + uVar4) ^ (*(uint *)(&UNK_181579828 + uVar4) ^ (*(uint *)(&UNK_181579824 + uVar4) ^ (*(uint *)(&UNK_181579820 + uVar4) ^ (*(uint *)(&UNK_18157981c + uVar4) ^ (*(uint *)(&UNK_181579818 + uVar4) ^ (*(uint *)(&UNK_181579814 + uVar4) ^ (*(uint *)(&UNK_181579810 + uVar4) ^ (*(uint *)(&UNK_18157980c + uVar4) ^ (*(uint *)(&UNK_181579808 + uVar4) ^ (*(uint *)(&UNK_181579804 + uVar4) ^ (*(uint *)(&UNK_181579800 + uVar4) ^ (*(uint *)(&UNK_1815797fc + uVar4) ^ uVar1) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ^ *(uint *)(&UNK_181579840 + uVar4)) * 0x1000181 + 0xc88c2f69; uVar2 = (uVar1 >> 4 ^ uVar1) >> 1 & 3; uVar1 = (uVar2 << 4 | uVar2) * 2 ^ uVar1 ^ 0x806f7cb9; uVar2 = (uVar1 >> 0x17 ^ uVar1) >> 3 & 0x3f; *param_1 = 0; if (((uVar2 << 0x17 | uVar2) << 3 ^ uVar1) == 0x16e664b) { iVar8 = (int)uVar9; do { *(undefined **)(puVar6 + -8) = &UNK_18140ec78; lVar7 = (longlong)iVar8; func_0x00018140ecd2(); *(undefined4 **)(puVar6 + -8) = param_1; *(ulonglong *)(puVar6 + -0x10) = uVar9; *(ulonglong *)(puVar6 + -0x18) = in_R11; lVar7 = -lVar7; in_R11 = *(ulonglong *)(puVar6 + lVar7 + 0x518); uVar9 = *(ulonglong *)(puVar6 + lVar7 + 0x520); param_1 = *(undefined4 **)(puVar6 + lVar7 + 0x528); puVar6 = puVar6 + lVar7 + 0x530; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); return param_1; } puVar5 = (undefined4 *)thunk_FUN_1805a9280(); return puVar5; } ############ FUN_ 1813f0dc0 size=4852 ############ /* WARNING: Instruction at (ram,0x0001813f14a6) overlaps instruction at (ram,0x0001813f14a5) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001813f14f1) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813f0dc0(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined1 *puVar2; ulonglong uVar3; ulonglong uVar4; int iVar5; uint uVar6; uint uVar7; uint uVar8; ulonglong uVar9; uint *puVar10; uint uVar11; uint uVar12; ulonglong uVar13; longlong *plVar14; longlong lVar15; undefined1 *puVar16; longlong lVar17; uint uVar18; uint uVar19; uint uVar20; uint uVar21; uint uVar22; uint uVar23; int iVar24; ulonglong uVar25; uint7 uVar26; int *piVar27; int unaff_retaddr; undefined1 auStack_178 [32]; ulonglong local_158; int local_150; uint local_14c; undefined8 local_148; undefined1 local_140; undefined1 local_13f [3]; uint local_13c; undefined8 local_138; uint local_130; uint local_12c; uint local_128; uint local_124 [3]; uint local_118; undefined8 local_110; undefined8 local_108; undefined4 local_100; undefined8 local_fc; undefined1 local_f4 [4]; undefined4 local_f0; undefined8 local_ec; undefined1 local_e4 [4]; undefined1 local_e0 [16]; undefined1 local_d0 [16]; undefined4 local_c0; undefined4 local_bc; longlong local_b8; longlong local_b0; longlong local_a8; code *local_a0; undefined8 local_98; int local_90; int local_8c; int local_88; uint local_84; undefined1 local_78 [24]; uint local_60; uint local_5c; ulonglong local_50; local_98 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_178; uVar6 = (uint)&stack0x00000000; iVar5 = (uVar6 & 0x38ff) * (uVar6 & 0x38ff) + 1; uVar18 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar25 = 0; uVar18 = (int)(uVar18 - 7) >> 0x1f & uVar18; local_118 = ((int)(-uVar18 | uVar18) >> 0x1f) * -0xc181 ^ 0xccc1; uVar19 = ((uVar6 & 0x5cff) * (uVar6 & 0x5cff) + 1) % 7; uVar3 = (ulonglong)uVar19; iVar5 = (uVar6 & 0x47ff) * (uVar6 & 0x47ff) + 1; uVar18 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar18 = (int)(uVar18 - 7) >> 0x1f & uVar18; local_128 = ((int)((-uVar18 | uVar18) ^ (-uVar19 | uVar19)) >> 0x1f) + 0x80bdU ^ 0x803d; uVar13 = 0x180000000; local_138 = 0x100; local_158 = 0x181500cf4; local_148 = 0x181500df4; do { uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); uVar18 = uRam0000000181500d44 ^ (uRam0000000181500d40 ^ (uRam0000000181500d3c ^ (_DAT_181500d38 ^ (DAT_181500d34 ^ (DAT_181500d30 ^ (((((((((((((((uRam0000000181500cf4 ^ 0x811c9e53) * 0x10001d1 ^ uRam0000000181500cf8) * 0x10001d1 ^ uRam0000000181500cfc) * 0x10001d1 ^ uRam0000000181500d00) * 0x10001d1 ^ uRam0000000181500d04) * 0x10001d1 ^ uRam0000000181500d08) * 0x10001d1 ^ uRam0000000181500d0c) * 0x10001d1 ^ uRam0000000181500d10) * 0x10001d1 ^ uRam0000000181500d14) * 0x10001d1 ^ uRam0000000181500d18) * 0x10001d1 ^ uRam0000000181500d1c) * 0x10001d1 ^ uRam0000000181500d20) * 0x10001d1 ^ uRam0000000181500d24) * 0x10001d1 ^ uRam0000000181500d28) * 0x10001d1 ^ uRam0000000181500d2c) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1; local_110 = param_4; local_108 = param_1; do { uVar9 = 0x620c; FUN_1813ef98b(0x620c,uVar13); uVar13 = ~uVar13 + 1; if ((uVar9 & 0xd300) == 0) { uVar13 = (ulonglong)((int)uVar13 + 0x1e5ec717); } uVar13 = -uVar13; uVar19 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); do { local_124[1] = 0x5f10f491; uVar19 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); do { uVar19 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); uVar18 = uRam0000000181500df0 ^ (uRam0000000181500dec ^ (uRam0000000181500de8 ^ (uRam0000000181500de4 ^ (uRam0000000181500de0 ^ (uRam0000000181500ddc ^ (uRam0000000181500dd8 ^ (uRam0000000181500dd4 ^ (uRam0000000181500dd0 ^ (uRam0000000181500dcc ^ (uRam0000000181500dc8 ^ (uRam0000000181500dc4 ^ (uRam0000000181500dc0 ^ (uRam0000000181500dbc ^ (uRam0000000181500db8 ^ (((((((((((((((((((((((((((uRam0000000181500d4c ^ (uRam0000000181500d48 ^ uVar18 * 0x10001d1) * 0x10001d1) * 0x10001d1 ^ uRam0000000181500d50) * 0x10001d1 ^ uRam0000000181500d54) * 0x10001d1 ^ uRam0000000181500d58) * 0x10001d1 ^ uRam0000000181500d5c) * 0x10001d1 ^ uRam0000000181500d60) * 0x10001d1 ^ uRam0000000181500d64) * 0x10001d1 ^ uRam0000000181500d68) * 0x10001d1 ^ uRam0000000181500d6c) * 0x10001d1 ^ uRam0000000181500d70) * 0x10001d1 ^ uRam0000000181500d74) * 0x10001d1 ^ uRam0000000181500d78) * 0x10001d1 ^ uRam0000000181500d7c) * 0x10001d1 ^ uRam0000000181500d80) * 0x10001d1 ^ uRam0000000181500d84) * 0x10001d1 ^ uRam0000000181500d88) * 0x10001d1 ^ uRam0000000181500d8c) * 0x10001d1 ^ uRam0000000181500d90) * 0x10001d1 ^ uRam0000000181500d94) * 0x10001d1 ^ uRam0000000181500d98) * 0x10001d1 ^ uRam0000000181500d9c) * 0x10001d1 ^ uRam0000000181500da0) * 0x10001d1 ^ uRam0000000181500da4) * 0x10001d1 ^ uRam0000000181500da8) * 0x10001d1 ^ uRam0000000181500dac) * 0x10001d1 ^ uRam0000000181500db0) * 0x10001d1 ^ uRam0000000181500db4) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1; local_158 = 0x49861a09c5216378; local_148 = CONCAT44(local_148._4_4_,0xc5216378); do { uVar13 = 0x620c; /* WARNING: Call to offcut address within same function */ func_0x0001813f1b52(); if ((uVar13 & 0xf300) == 0) { uVar25 = uVar3; } uVar19 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); do { uVar19 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); do { local_c0 = 0x69; local_b8 = 0x1813f1547; uVar19 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); local_150 = 0x1238f5d; do { local_130 = 0x60cf57d6; local_bc = 0x18; local_b0 = 0x1813f1637; FUN_1813f2291(); uVar19 = local_128; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = (local_130 >> 5 | local_130 << 0x1b) + 0xf4107841; uVar6 = (uVar6 >> 4 | uVar6 * 0x10000000) & 0xd2d2d2d2 | (uVar6 * 0x10 | uVar6 >> 0x1c) & 0x2d2d2d2d; uVar6 = (uVar6 >> 7 | uVar6 << 0x19) + 0xe5fa4715; uVar6 = (uVar6 * 4 & 0xcccccccc | uVar6 >> 2 & 0x33333333) ^ 0xff2131ff; uVar11 = uVar6 >> 0xc | uVar6 << 0x14; lVar15 = local_150 + local_b8; lVar17 = ((longlong)(int)(uVar11 << 4 | (uVar6 & 0xfff) >> 8) & 0xffffffffa5a5a5a5U | (ulonglong)((uVar11 >> 4 | (uVar6 >> 0xc) << 0x1c) & 0x5a5a5a5a)) + local_b0; local_150 = (int)uVar25; *(longlong *)(lVar15 + 4) = *(longlong *)(lVar15 + 4) + (ulonglong)((uint)(*(ulonglong *)(lVar17 + 4) >> 0xc) & 0x482407a8); do { uVar1 = rdtsc(); uVar6 = (int)uVar1 + (int)((ulonglong)uVar1 >> 0x20) * 2; uVar13 = (ulonglong)uVar6; uVar3 = uVar13 ^ ((ulonglong)(uVar6 >> 8) | uVar13 << 0x38); uVar13 = (uVar3 ^ (uVar3 << 7 | (uVar13 & 0xff) >> 1) + 0x1e6aba6b) * -0xffff + 0x5ee4fb5e; uVar13 = uVar13 >> 10 | uVar13 << 0x36; uVar13 = (uVar13 * 9 >> 0xf) + 0x67155a40 + uVar13 * 8; uVar3 = uVar13 >> 0xf; uVar13 = uVar3 | uVar13 << 0x31; uVar13 = uVar13 - ((uVar3 * 0x90000 | uVar13 * 9 >> 0x30) - 0x457302d9); uVar3 = uVar13 * 0x1000 | uVar13 >> 0x34; uVar3 = uVar3 ^ (uVar3 << 0x10 | (uVar13 & 0xfffffffffffff) >> 0x24) - 0x435ae871; uVar3 = uVar3 ^ (uVar3 << 9 | uVar3 >> 0x37) - 0x4ea67d1f; uVar6 = (uint)(uVar3 << 6) | (uint)(uVar3 >> 0x3a); 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) + (uVar6 ^ 0xedebcaa7); *(int *)(lVar15 + 4) = *(int *)(lVar15 + 4) + (uVar6 ^ 0xbea79026); uVar13 = *(ulonglong *)(lVar15 + 4); uVar13 = ((uVar13 << 8 | uVar13 >> 0x38) & 0x817e817e817e817e | (uVar13 >> 8 | uVar13 << 0x38) & 0x7e817e817e817e81) ^ 0xf1afd28345cd0ff6; uVar13 = uVar13 >> 0x1d | uVar13 << 0x23; uVar3 = (uVar13 & 0x3333333333333333) << 2 | uVar13 >> 2 & 0x3333333333333333; uVar13 = (ulonglong)((uint)((uVar3 >> 0x1a ^ uVar3) >> 6) & 0x3fffff); uVar13 = (uVar3 ^ (uVar13 << 0x1a | uVar13) << 6) + 0xfad3402216662f6e; uVar13 = (uVar13 * 0x10000 | uVar13 >> 0x30) & 0xa92556daa92556da | (uVar13 >> 0x10 | uVar13 << 0x30) & 0x56daa92556daa925; uVar13 = (uVar13 << 8 | uVar13 >> 0x38) & 0xfb04fb04fb04fb04 | (uVar13 >> 8 | uVar13 << 0x38) & 0x4fb04fb04fb04fb; uVar6 = (uint)((uVar13 >> 0x1b ^ uVar13) >> 2) & 0xffffff; uVar13 = ((ulonglong)uVar6 << 0x1b | (ulonglong)uVar6) << 2 ^ uVar13; *(ulonglong *)(lVar15 + 4) = uVar13; plVar14 = (longlong *)(lVar17 + 4); *plVar14 = *plVar14 + (ulonglong)((uint)(uVar13 >> 6) & 0xd204bc8); local_14c = (uint)(*(ulonglong *)(lVar15 + 4) >> 0x11) & 0x7fffffff; local_138 = CONCAT44(local_138._4_4_,(int)(*(ulonglong *)(lVar15 + 4) >> 0x14)) ^ 0x75369b88; local_158 = *(ulonglong *)(lVar15 + 4) ^ 0xbcf88e89ab5310b9; uVar23 = ~(uVar18 * 0x10001d1 ^ 0xcd3f930c); uVar18 = (uint)local_158 ^ (uint)local_138; uVar11 = uVar18 & 0x2bfd4af1 ^ (uint)local_138; uVar18 = uVar18 & 0xd402b50e ^ (uint)local_138 ^ uVar11; uVar12 = uVar18 & 0xf0f0f0f0 ^ uVar11; uVar11 = uVar18 & 0xf0f0f0f ^ uVar11; uVar18 = (uVar12 >> 6 ^ uVar12) >> 2 & 3; uVar6 = (uVar11 >> 0x16 ^ uVar11) >> 5 & 3; uVar22 = (uint)(local_158 >> 0x20); uVar7 = (uVar22 >> 0x14 ^ uVar22) >> 3 & 0x1ff; uVar18 = (uVar18 << 6 | uVar18) << 2 ^ uVar12 ^ 0x2ea6b862; uVar12 = ~(uVar18 & 0x74575030 ^ 0x2ea6b862); uVar21 = ~(uVar18 & 0x8ba8afcf ^ 0x2ea6b862); uVar20 = ~((uVar6 << 0x16 | uVar6) << 5 ^ uVar11); uVar18 = ~((uVar7 << 0x14 | uVar7) << 3 ^ uVar22); uVar11 = (uVar12 << 2 | uVar12 >> 0x1e) & 0x99999999 | (uVar12 >> 2 | uVar12 << 0x1e) & 0x66666666 ; uVar18 = (uVar18 >> 2 | uVar18 << 0x1e) & 0x99999999 | (uVar18 << 2 | uVar18 >> 0x1e) & 0x66666666 ; uVar6 = uVar18 << 5 | uVar18 >> 0x1b; uVar18 = uVar6 ^ (uVar11 << 0x15 | uVar11 >> 0xb); uVar22 = (uVar21 & 0xf0f0f0) << 4 | uVar21 >> 0x1c; uVar3 = (ulonglong)uVar22; uVar12 = (uVar20 << 8 | uVar20 >> 0x18) & 0x22dd22dd; uVar7 = (uVar20 >> 8 | uVar20 << 0x18) & 0xdd22dd22 | uVar12; uVar11 = uVar18 & 0xaaaaaaaa ^ uVar6 ^ 0x724d0b9e; uVar13 = (ulonglong)uVar11; piVar27 = (int *)register0x00000020; do { uVar1 = rdtsc(); local_124[2] = (int)uVar1 - (int)((ulonglong)uVar1 >> 0x20); piVar27 = (int *)((((ulonglong)piVar27 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1); uVar9 = ((ulonglong)local_124[2] ^ (ulonglong)(local_124[2] >> 0xb) + 0x1fd2d4c6) * 0x401 - 0x72522624; uVar9 = uVar9 ^ uVar9 * 0xa000 + 0x6b704cdd; uVar4 = uVar9 >> 0xc | uVar9 << 0x34; uVar4 = uVar4 ^ (uVar4 << 0xb | (uVar9 & 0xfff) >> 1) - 0x77068fd; uVar9 = uVar4 >> 0xd | uVar4 << 0x33; lVar15 = uVar9 - (uVar9 >> 0xf); iVar24 = uVar12 + uVar23; iVar5 = uVar23 - iVar24; uVar12 = -iVar5; uVar23 = iVar24 + iVar5; uVar8 = (*piVar27 + 1) * *piVar27 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_12c = ((int)lVar15 * 0x200 | (uint)((ulonglong)lVar15 >> 0x37)) >> 1 ^ local_14c; local_130 = local_150; if (local_12c < 0xd504) { do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); local_13c = 0xade2f2ae; local_90 = (uVar18 & 0x55555555 ^ uVar6) + 0x26edbe0b; local_8c = ((uVar21 >> 4 & 0xf0f0f0f0 | uVar21 << 0x1c | uVar22) >> 2 | (uVar21 >> 0x1c) << 0x1e ) + 0xd1b1c41; local_88 = (uVar7 << 2 | (uVar20 & 0xff) >> 6) + 0xd1de1f70; local_84 = uVar11; do { plVar14 = &local_a8; puVar10 = local_124; /* WARNING: Call to offcut address within same function */ func_0x0001813f1e7a(); *puVar10 = 0x2cc9d49c; uVar3 = 0; *plVar14 = 0x1813f1db3; uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); uVar18 = (local_124[0] >> 0xf | local_124[0] << 0x11) + 0x41124142; uVar18 = (uVar18 >> 0x1e | uVar18 * 4) ^ 0xe098d181; local_124[0] = (uVar18 >> 0x18 | uVar18 << 8) ^ 0x4d3f8a44; (*(code *)((int)local_124[0] + local_a8))(&local_90,local_78); iVar5 = 7; do { uVar11 = (local_5c ^ local_60) & 0x4efd1df ^ local_60; uVar18 = (local_5c ^ local_60) & 0xfb102e20 ^ local_60 ^ uVar11; uVar6 = ~(uVar18 & 0x54d3484b ^ uVar11); uVar11 = uVar6 ^ ~(uVar18 & 0xab2cb7b4 ^ uVar11); uVar18 = uVar11 & 0x7b746601 ^ uVar6; uVar6 = uVar11 & 0x848b99fe ^ uVar6; uVar6 = ((uVar6 << 4 | uVar6 >> 0x1c) & 0xc3c3c3c3 | (uVar6 >> 4 | uVar6 << 0x1c) & 0x3c3c3c3c ) + 0x36fae1ff; uVar18 = ((uVar18 << 0x10 | uVar18 >> 0x10) & 0x96b5694a | (uVar18 >> 0x10 | uVar18 << 0x10) & 0x694a96b5) + 0xf365dac8 ^ uVar6; uVar11 = uVar18 & 0xa7071cb4 ^ uVar6; uVar6 = uVar18 & 0x58f8e34b ^ uVar6; local_60 = (uVar11 << 0x18 | uVar11 >> 8) + 0xc3118cdd; local_5c = (uVar6 >> 6 | uVar6 << 0x1a) ^ 0x3825b93f; iVar5 = iVar5 + -1; } while (-1 < iVar5); uVar18 = ~(~(((local_60 ^ 0xbdd8dfd9) << 0x15 | (local_60 ^ 0xbdd8dfd9) >> 0xb) + 0x826d94) ^ 0x40e78bde) + 0xe3af4750; if (((uVar18 >> 0x1e | uVar18 * 4) + 0x94bef1a6 ^ local_13c) + local_5c != (uint)local_138) { do { local_a0 = FUN_180bc28c0; uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); FUN_180bc28c0(); do { func_0x0001813f24ea(); FUN_1813f0331(); uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); } } uVar9 = (ulonglong)uVar19; uVar26 = (uint7)(uVar25 >> 8); if ((int)CONCAT71(uVar26,uVar23 == (uint)local_148) == (int)(((ulonglong)uVar26 & 0xffffff) << 7)) { local_100 = param_2; local_fc = param_3; FUN_18056a290(local_e0,&local_140); FUN_18056d400(local_e0,&local_100,local_f4); FUN_1814139d0(local_108,local_110); FUN_180568e40(local_e0); FUN_180568e30(local_e0); thunk_FUN_1805a9280(); return; } local_f0 = param_2; local_ec = param_3; FUN_18056a290(local_d0,local_13f); FUN_18056d400(local_d0,&local_f0,local_e4); FUN_1814139d0(local_108,local_110,local_d0); FUN_180568e40(local_d0); FUN_180568e30(local_d0); puVar2 = auStack_178; do { puVar16 = puVar2; *(undefined8 *)(puVar16 + -8) = 0x1813f2168; lVar15 = (longlong)(int)uVar19; FUN_1813f40ca(); *(ulonglong *)(puVar16 + -8) = uVar3; *(ulonglong *)(puVar16 + -0x10) = uVar9; *(ulonglong *)(puVar16 + -0x18) = uVar13; lVar15 = -lVar15; uVar13 = *(ulonglong *)(puVar16 + lVar15 + 0x68); uVar9 = *(ulonglong *)(puVar16 + lVar15 + 0x70); uVar3 = *(ulonglong *)(puVar16 + lVar15 + 0x78); uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } puVar2 = puVar16 + lVar15 + 0x80; } while (uVar18 != 0); *(undefined **)(puVar16 + lVar15 + 0x78) = &UNK_1813f2225; } ############ FUN_ 1812ea010 size=187 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812ea010(longlong param_1,undefined8 *param_2) { uint uVar1; undefined8 *puVar2; bool bVar3; undefined1 auStack_58 [32]; undefined8 *local_38; undefined4 local_30; undefined8 local_28; longlong *local_20; undefined1 local_18 [8]; ulonglong local_10; local_28 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; local_30 = 0; local_38 = param_2; puVar2 = (undefined8 *) (**(code **)(**(longlong **)(param_1 + 0x198) + 8)) (*(longlong **)(param_1 + 0x198),&local_20); (**(code **)(*(longlong *)*puVar2 + 0x20))((longlong *)*puVar2,&local_38,puVar2 + 1); (**(code **)(*local_20 + 0xb0))(local_20,local_18); *param_2 = local_38; local_38 = (undefined8 *)&DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar3 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar3) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } ############ FUN_ 1813f22a0 size=278 ############ undefined8 * FUN_1813f22a0(longlong param_1,undefined8 *param_2,int param_3,ulonglong param_4) { char cVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 local_res8; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); puVar2 = *(undefined8 **)(param_1 + 0x20); cVar1 = *(char *)((longlong)puVar2[1] + 0x19); puVar4 = puVar2; puVar3 = (undefined8 *)puVar2[1]; while (cVar1 == '\0') { if ((ulonglong)puVar3[4] < param_4) { puVar5 = (undefined8 *)puVar3[2]; puVar3 = puVar4; } else { puVar5 = (undefined8 *)*puVar3; } puVar4 = puVar3; puVar3 = puVar5; cVar1 = *(char *)((longlong)puVar5 + 0x19); } if ((puVar4 == puVar2) || (param_4 < (ulonglong)puVar4[4])) { puVar4 = puVar2; } if (puVar4 != puVar2) { puVar2 = (undefined8 *)puVar4[5]; cVar1 = *(char *)((longlong)puVar2[1] + 0x19); puVar4 = puVar2; puVar3 = (undefined8 *)puVar2[1]; while (cVar1 == '\0') { if (*(int *)((longlong)puVar3 + 0x1c) < param_3) { puVar5 = (undefined8 *)puVar3[2]; puVar3 = puVar4; } else { puVar5 = (undefined8 *)*puVar3; } puVar4 = puVar3; puVar3 = puVar5; cVar1 = *(char *)((longlong)puVar5 + 0x19); } if ((puVar4 == puVar2) || (param_3 < *(int *)((longlong)puVar4 + 0x1c))) { puVar4 = puVar2; } if (puVar4 != puVar2) { *param_2 = puVar4[4]; LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); return param_2; } } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); if (param_4 == 0) { FUN_1813efd60(param_2,param_3); } else { FUN_1813f22a0(param_1,&local_res8,param_3,*(undefined8 *)(param_4 + 0x18),1); *param_2 = local_res8; } return param_2; } ############ FUN_ 180529fe0 size=2051 ############ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ (longlong param_1,undefined8 param_2,int param_3,int param_4) { uint *puVar1; undefined8 uVar2; undefined8 uVar3; float fVar4; uint uVar5; longlong lVar6; int iVar7; int iVar8; longlong lVar9; undefined8 *puVar10; float fVar11; double dVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; LOCK(); puVar1 = (uint *)(param_1 + 0x2404dc); uVar5 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); if ((uVar5 & 1) == 0) { uVar5 = *(int *)(param_1 + 0x2404e0) + 0x3cdcaU & 0x8000007f; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar5; fVar4 = DAT_1824c3c58; fVar17 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4); fVar15 = (float)DAT_18262b704; fVar11 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4); fVar13 = (float)DAT_18262b5c8; uVar5 = *(int *)(param_1 + 0x2404e0) + 0x140236U & 0x8000007f; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar5; iVar8 = (int)(fVar13 * fVar11 * fVar15 * fVar17 + fVar4) * DAT_18262b700 - (int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4) + fVar4) * DAT_18262b700; uVar5 = *(int *)(param_1 + 0x2404e0) + 0x10d56U & 0x8000007f; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar5; iVar7 = (int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4) + fVar4) * DAT_18262b700; uVar5 = *(int *)(param_1 + 0x2404e0) + 0xdf6b6U & 0x8000007f; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar5; fVar17 = (float)((int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4) + fVar4) * DAT_18262b700); uVar5 = *(int *)(param_1 + 0x2404e0) + 0xa8c5eU & 0x8000007f; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar5; fVar15 = DAT_1824c41e0; fVar11 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4); fVar16 = (float)DAT_18262b704; fVar13 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4); fVar14 = (float)DAT_18262b5c8; uVar5 = *(int *)(param_1 + 0x2404e0) + 0x72916U & 0x8000007f; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar5; lVar6 = (longlong)param_4; iVar7 = iVar7 + param_3 / ((int)(fVar14 * fVar13 * fVar16 * fVar11 + fVar4) * DAT_18262b700 + (int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar5 * 4) + fVar4) * DAT_18262b700); if (1 < param_4) { puVar10 = (undefined8 *)(param_1 + 0x540678 + (longlong)iVar8 * 0x10); FUN_18052dbc0(*(undefined8 *)(param_1 + 0x5406f8),*puVar10,iVar7); if (1 < lVar6) { uVar2 = *(undefined8 *)(param_1 + 0x540688); uVar3 = *(undefined8 *)(param_1 + 0x5406f8); iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar8 != 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(uVar3,uVar2,uVar3,iVar7); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } FUN_18052d920(*(undefined8 *)(param_1 + 0x5406f8),fVar17 / (float)param_4,iVar7); fVar11 = powf(*(float *)(param_1 + 0x2c),fVar15); if (iVar8 < lVar6) { uVar2 = *puVar10; iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar8 != 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0((double)(fVar17 - fVar11),uVar2,iVar7); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } } lVar9 = (longlong)iVar8; if (lVar9 < lVar6) { fVar17 = (fVar17 / (float)*(int *)(param_1 + 0x1a0)) * *(float *)(param_1 + 0x540870); if (*(char *)(param_1 + 0x5408b8) != '\0') { dVar12 = exp(0.0); fVar17 = (float)(int)dVar12 * fVar17; } fVar11 = *(float *)(param_1 + 0x54088c); uVar2 = *(undefined8 *)(param_1 + 0x540678 + lVar9 * 0x10); iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar8 != 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0((double)(fVar17 * fVar11),uVar2,iVar7); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } if (*(char *)(param_1 + 0x2404bc) != '\0') { LOCK(); *(undefined1 *)(param_1 + 0x2404bd) = 1; UNLOCK(); LOCK(); puVar1 = (uint *)(param_1 + 0x2404b8); uVar5 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); if ((uVar5 & 1) == 0) { if (0 < *(int *)(param_1 + 0x30)) { if (*(char *)(param_1 + 0x5408af) == '\0') { uVar2 = *(undefined8 *)(param_1 + 0x540728); uVar3 = *(undefined8 *)(param_1 + 0x540678); iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar8 != 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(uVar3,uVar2,uVar2,iVar7); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar8 != 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } if (*(char *)(param_1 + 0x5408af) != '\0') { LOCK(); *(undefined1 *)(param_1 + 0x5408af) = 0; UNLOCK(); } LOCK(); *(undefined4 *)(param_1 + 0x2404b8) = 0; UNLOCK(); } } fVar17 = expf(DAT_1824c4704); fVar17 = *(float *)(param_1 + 0x540874) - fVar17; if ((*(char *)(param_1 + 0x540891) == '\0') && (lVar9 < lVar6)) { uVar2 = *(undefined8 *)(param_1 + 0x540678 + lVar9 * 0x10); if (*(char *)(param_1 + 0x540890) == '\0') { fVar17 = fVar17 * *(float *)(param_1 + 0x540888); iVar8 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar8 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } } else { iVar8 = __std_type_info_compare(); if (iVar8 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0((double)fVar17,uVar2,iVar7); } LOCK(); *(undefined4 *)(param_1 + 0x2404dc) = 0; UNLOCK(); } return; } ############ FUN_ 180563440 size=863 ############ void FUN_180563440(longlong param_1) { float *pfVar1; longlong *plVar2; longlong lVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; uint uVar9; double *pdVar10; longlong lVar11; int iVar12; longlong lVar13; undefined8 uVar14; float fVar15; float fVar16; float fVar17; float local_res8 [2]; float local_res10 [2]; float local_res18 [2]; longlong local_res20; if (*(longlong *)(param_1 + 0xa0) - *(longlong *)(param_1 + 0x98) >> 3 == 0) { FUN_18056c640((longlong *)(param_1 + 0x98),0x800); } fVar8 = DAT_1824c4680; fVar7 = DAT_1824c41e0; fVar6 = DAT_1824c3ea4; fVar5 = DAT_1824c3d8c; fVar4 = DAT_1824c3c54; if (*(char *)(param_1 + 0x90) != '\0') { iVar12 = 0; pdVar10 = (double *)(param_1 + 0x198); do { fVar15 = (float)iVar12 * fVar4; pfVar1 = *(float **)(param_1 + 0x188); if (0.0 <= fVar15) { fVar16 = fVar6; if (fVar15 <= fVar6) { fVar16 = fVar15; } } else { fVar16 = 0.0; } if (*(longlong *)(pfVar1 + 0x14) == 0) { if (*(char *)(pfVar1 + 4) == '\0') { fVar15 = pfVar1[3]; if ((fVar15 != fVar6) && (0.0 < fVar16)) { fVar16 = logf(fVar16); fVar16 = expf(fVar16 / fVar15); } fVar15 = pfVar1[1] - *pfVar1; } else { fVar16 = fVar16 * fVar7 - fVar6; fVar15 = pfVar1[3]; if ((fVar15 != fVar6) && (fVar16 != 0.0)) { fVar17 = fVar6; if (fVar16 < 0.0) { fVar17 = fVar8; } fVar16 = logf((float)(double)CONCAT44((uint)((ulonglong)(double)fVar16 >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)fVar16,0) & (uint)DAT_1824c4f10)); fVar16 = expf(fVar16 / fVar15); fVar16 = fVar16 * fVar17; } fVar15 = (pfVar1[1] - *pfVar1) * fVar5; fVar16 = fVar16 + fVar6; } fVar15 = fVar15 * fVar16 + *pfVar1; } else { local_res10[0] = pfVar1[1]; local_res18[0] = *pfVar1; plVar2 = *(longlong **)(pfVar1 + 0x14); local_res8[0] = fVar16; if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar15 = (float)(**(code **)(*plVar2 + 0x10))(plVar2,local_res18,local_res10,local_res8); } *pdVar10 = (double)fVar15; iVar12 = iVar12 + 1; pdVar10 = pdVar10 + 1; } while (iVar12 < 0x400); uVar9 = 0; lVar13 = 0; lVar11 = param_1 + 0x4198; do { lVar3 = *(longlong *)(param_1 + 0x178); if (uVar9 < *(uint *)(lVar3 + 0x84)) { uVar14 = *(undefined8 *)(lVar13 + *(longlong *)(lVar3 + 0x78)); } else { uVar14 = 0; } FUN_18056e3e0(lVar3 + 0x18,lVar11,param_1 + 0x198,uVar14); uVar9 = uVar9 + 1; lVar11 = lVar11 + 0x2000; lVar13 = lVar13 + 8; } while ((int)uVar9 < 6); FUN_180563a60(param_1); local_res20 = *(longlong *)(param_1 + 0x178) + 0x2400d8; iVar12 = *(int *)(*(longlong *)(*(longlong *)(param_1 + 0x170) + 0x168) + 0x30); if (2 < iVar12) { iVar12 = 2; } if (0 < iVar12) { iVar12 = __std_type_info_compare(0x182650a88,0x182650db8); if (iVar12 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } } return; } ############ FUN_ 180563ce0 size=697 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180563ce0(longlong param_1) { undefined8 *puVar1; undefined8 uVar2; undefined8 uVar3; undefined8 uVar4; undefined8 uVar5; longlong lVar6; longlong lVar7; longlong lVar8; longlong lVar9; undefined8 local_28; undefined8 local_18; uVar5 = _UNK_1824c4798; uVar4 = _DAT_1824c4790; uVar3 = _UNK_1824c4788; uVar2 = _DAT_1824c4780; if ((*(longlong *)(param_1 + 0xa0) - *(longlong *)(param_1 + 0x98) & 0xfffffffffffffff8U) != 0) { lVar8 = 0x155; lVar9 = 0x155; lVar6 = 0x30; lVar7 = 0xc; do { lVar6 = lVar6 + 0x60; *(undefined4 *)(lVar7 + -0xc + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x90 + lVar6); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x90 + lVar6); *puVar1 = uVar2; puVar1[1] = uVar3; *(undefined4 *)(lVar7 + -8 + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x80 + lVar6); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x80 + lVar6); *puVar1 = uVar4; puVar1[1] = uVar5; *(undefined4 *)(lVar7 + -4 + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x70 + lVar6); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x70 + lVar6); *puVar1 = uVar2; puVar1[1] = uVar3; *(undefined4 *)(lVar7 + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x60 + lVar6); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x60 + lVar6); *puVar1 = uVar4; puVar1[1] = uVar5; *(undefined4 *)(lVar7 + 4 + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x50 + lVar6); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x50 + lVar6); *puVar1 = uVar2; puVar1[1] = uVar3; *(undefined4 *)(lVar7 + 8 + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x40 + lVar6); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x40 + lVar6); *puVar1 = uVar4; puVar1[1] = uVar5; lVar9 = lVar9 + -1; lVar7 = lVar7 + 0x18; } while (lVar9 != 0); local_28 = CONCAT44(0x3f800000,(int)uVar2); local_18 = CONCAT44(0x3f800000,(int)uVar4); lVar6 = 0x8010; lVar7 = 0x2004; do { lVar9 = lVar6 + 0x60; *(undefined4 *)(lVar7 + -0xc + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x90 + lVar9); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x90 + lVar9); *puVar1 = local_28; puVar1[1] = uVar3; *(undefined4 *)(*(longlong *)(param_1 + 0x28) + -0x20 + lVar7 + 0x18) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x80 + lVar9); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x80 + lVar9); *puVar1 = local_18; puVar1[1] = uVar5; *(undefined4 *)(lVar7 + -4 + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x70 + lVar9); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x70 + lVar9); *puVar1 = local_28; puVar1[1] = uVar3; *(undefined4 *)(lVar7 + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(lVar6 + *(longlong *)(param_1 + 0x40)); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(lVar6 + *(longlong *)(param_1 + 0x58)); *puVar1 = local_18; puVar1[1] = uVar5; *(undefined4 *)(lVar7 + 4 + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x50 + lVar9); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x50 + lVar9); *puVar1 = local_28; puVar1[1] = uVar3; *(undefined4 *)(lVar7 + 8 + *(longlong *)(param_1 + 0x28)) = 0x40400000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x40 + lVar9); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x40 + lVar9); *puVar1 = local_18; puVar1[1] = uVar5; lVar8 = lVar8 + -1; lVar6 = lVar9; lVar7 = lVar7 + 0x18; } while (lVar8 != 0); lVar6 = 0xffd0; lVar7 = 0x3ff4; do { lVar6 = lVar6 + 0x30; *(undefined4 *)(*(longlong *)(param_1 + 0x28) + -4 + lVar7) = 0x40e00000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x40 + lVar6); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x40 + lVar6); *puVar1 = 0; puVar1[1] = 0; *(undefined4 *)(lVar7 + *(longlong *)(param_1 + 0x28)) = 0x40e00000; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x30 + lVar6); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x30 + lVar6); *puVar1 = 0; puVar1[1] = 0; *(undefined4 *)(*(longlong *)(param_1 + 0x28) + 4 + lVar7) = 0x40e00000; lVar7 = lVar7 + 0xc; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x40) + -0x20 + lVar6); *puVar1 = 0; puVar1[1] = 0; puVar1 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + -0x20 + lVar6); *puVar1 = 0; puVar1[1] = 0; } while (lVar7 < 0x4ff0); *(undefined1 *)(param_1 + 0x91) = 1; } return; } ############ FUN_ 18056e3e0 size=196 ############ void FUN_18056e3e0(longlong param_1,undefined8 param_2,undefined8 param_3) { float fVar1; double dVar2; int iVar3; longlong in_stack_00000038; iVar3 = *(int *)(param_1 + 0x240080); fVar1 = *(float *)(param_1 + 0x24); __std_type_info_compare(0x182650a88,0x182650db8); dVar2 = DAT_1824c4248 / (double)((float)iVar3 * fVar1); iVar3 = __std_type_info_compare(0x182650a88,0x182650db8); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_3,(float)dVar2); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_3,SUB84(dVar2,0),in_stack_00000038 + 0x10000,0x400); } ############ FUN_ 18052d920 size=104 ############ void FUN_18052d920(undefined8 param_1,undefined8 param_2,undefined4 param_3) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0((double)(float)param_2,param_1,param_3); } ############ FUN_ 18052da00 size=85 ############ void FUN_18052da00(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_3); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,(double)(float)param_3,param_1,param_4); } ############ FUN_ 180535880 size=283 ############ /* WARNING: Removing unreachable block (ram,0x000180535987) */ /* WARNING: Removing unreachable block (ram,0x0001805359d3) */ /* WARNING: Removing unreachable block (ram,0x00018053598d) */ void FUN_180535880(undefined8 param_1,undefined8 param_2,undefined8 *param_3,undefined8 param_4, undefined4 param_5) { double *pdVar1; double *pdVar2; undefined1 auStack_c8 [32]; undefined8 local_a8; float local_a0; float local_9c; float local_98; float local_90; float local_8c; float local_88; ulonglong local_80; local_80 = DAT_182615970 ^ (ulonglong)auStack_c8; pdVar1 = (double *)*param_3; pdVar2 = (double *)param_3[1]; local_8c = (float)pdVar2[1]; local_9c = (float)pdVar1[1]; local_88 = (float)pdVar2[2]; local_a0 = (float)*pdVar1; local_90 = (float)*pdVar2; local_98 = (float)pdVar1[2]; local_a8 = param_4; /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(local_a0,param_2,param_5); } ############ FUN_ 180536f90 size=249 ############ /* WARNING: Removing unreachable block (ram,0x000180537079) */ /* WARNING: Removing unreachable block (ram,0x0001805370c8) */ /* WARNING: Removing unreachable block (ram,0x00018053707f) */ void FUN_180536f90(undefined8 param_1,undefined8 param_2,undefined8 *param_3,undefined8 param_4, undefined4 param_5) { undefined8 *puVar1; undefined8 *puVar2; undefined1 auStack_f8 [32]; undefined8 local_d8; undefined8 local_c8; undefined8 uStack_c0; undefined8 local_b8; undefined4 local_b0; undefined4 uStack_ac; undefined4 uStack_a8; undefined4 uStack_a4; undefined8 local_a0; undefined4 local_98; undefined4 uStack_94; undefined4 uStack_90; undefined4 uStack_8c; ulonglong local_88; local_88 = DAT_182615970 ^ (ulonglong)auStack_f8; puVar1 = (undefined8 *)*param_3; puVar2 = (undefined8 *)param_3[1]; local_b0 = *(undefined4 *)(puVar1 + 1); uStack_ac = *(undefined4 *)((longlong)puVar1 + 0xc); uStack_a8 = *(undefined4 *)(puVar1 + 2); uStack_a4 = *(undefined4 *)((longlong)puVar1 + 0x14); local_98 = *(undefined4 *)(puVar2 + 1); uStack_94 = *(undefined4 *)((longlong)puVar2 + 0xc); uStack_90 = *(undefined4 *)(puVar2 + 2); uStack_8c = *(undefined4 *)((longlong)puVar2 + 0x14); local_c8 = *puVar1; local_a0 = *puVar2; uStack_c0 = 0; local_d8 = param_4; local_b8 = local_c8; /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(&local_c8,param_2,param_5); } ############ FUN_ 180530d30 size=701 ############ void FUN_180530d30(longlong param_1) { double dVar1; float _Y; float fVar2; double dVar3; float fVar4; int iVar5; ulonglong uVar6; ulonglong uVar7; float fVar8; double dVar9; float fVar10; float fVar11; float fVar12; uint uVar13; uint uVar14; fVar4 = DAT_1824c4334; dVar3 = DAT_1824c4140; fVar2 = DAT_1824c3ea4; _Y = DAT_1824c3d3c; iVar5 = *(int *)(param_1 + 100) / 2 + 1; fVar11 = DAT_1824c45b4 / (*(float *)(param_1 + 0x24) * DAT_1824c3d8c); fVar12 = DAT_1824c4334; if (*(char *)(param_1 + 0x5408b8) != '\0') { fVar12 = DAT_1824c3ea4; } uVar6 = 0; if (0 < iVar5) { uVar13 = (uint)DAT_1824c4f10; uVar14 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); dVar1 = (double)((*(float *)(param_1 + 0x24) / (float)*(int *)(param_1 + 0x1a0)) * (float)*(int *)(param_1 + 0x1ac)) * DAT_1824c3e30; uVar7 = uVar6; do { fVar8 = powf((fVar11 * (float)iVar5) / ((float)(int)uVar7 + fVar2),_Y); fVar10 = *(float *)(param_1 + 0x540880) * _Y * fVar8 * fVar12; dVar9 = (double)(fVar2 / (fVar10 / (*(float *)(param_1 + 0x540880) * fVar4) + fVar2)); dVar9 = (double)fmax((double)((float)(double)CONCAT44((uint)((ulonglong)dVar9 >> 0x20) & uVar14,SUB84(dVar9,0) & uVar13) * fVar10 )); dVar9 = pow(DAT_1824c3f70,dVar3 / (dVar9 * dVar1)); *(float *)(*(longlong *)(param_1 + 0x5406b8) + uVar6 * 4) = (float)dVar9; *(float *)(*(longlong *)(param_1 + 0x5406c8) + uVar6 * 4) = (float)(dVar3 - dVar9); fVar8 = *(float *)(param_1 + 0x540884) * _Y * fVar8 * fVar12; dVar9 = (double)(fVar2 / (fVar8 / *(float *)(param_1 + 0x540884) + fVar2)); dVar9 = (double)fmax((double)((float)(double)CONCAT44((uint)((ulonglong)dVar9 >> 0x20) & uVar14,SUB84(dVar9,0) & uVar13) * fVar8) ); dVar9 = pow(DAT_1824c3f70,dVar3 / (dVar9 * dVar1)); uVar7 = (ulonglong)((int)uVar7 + 1); *(float *)(*(longlong *)(param_1 + 0x5406d8) + uVar6 * 4) = (float)dVar9; *(float *)(*(longlong *)(param_1 + 0x5406e8) + uVar6 * 4) = (float)(dVar3 - dVar9); uVar6 = uVar6 + 1; } while ((longlong)uVar6 < (longlong)iVar5); } return; } ############ FUN_ 1805316e0 size=6238 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1805316e0(longlong param_1,uint param_2) { float fVar1; longlong *plVar2; undefined8 uVar3; undefined8 uVar4; undefined8 uVar5; uint uVar6; uint uVar7; char cVar8; undefined8 *puVar9; undefined1 *puVar10; void *_Dst; longlong *plVar11; longlong *plVar12; longlong lVar13; bool bVar14; float fVar15; double dVar16; double dVar17; undefined8 extraout_XMM0_Qb; float fVar18; double dVar19; double dVar20; undefined1 auVar21 [16]; double dVar22; double dVar23; float fVar24; float fVar25; undefined1 auStack_1768 [32]; float local_1748; double *local_1728; undefined8 *local_1720; double *local_16a8; undefined8 *local_16a0; double *local_1628; double *local_1620; double *local_15a8; double *local_15a0; double *local_1528; double *local_1520; double *local_14a8; double *local_14a0; undefined1 local_1428 [128]; undefined1 local_13a8 [128]; undefined1 local_1328 [128]; undefined1 local_12a8 [128]; undefined1 local_1228 [128]; undefined1 local_11a8 [128]; undefined1 local_1128 [128]; undefined1 local_10a8 [128]; undefined1 local_1028 [128]; undefined1 local_fa8 [128]; undefined1 local_f28 [128]; undefined1 local_ea8 [128]; undefined1 local_e28 [128]; undefined1 local_da8 [128]; undefined1 local_d28 [128]; undefined1 local_ca8 [128]; undefined1 local_c28 [128]; undefined1 local_ba8 [128]; undefined1 local_b28 [128]; undefined1 local_aa8 [128]; undefined1 local_a28 [128]; undefined1 local_9a8 [128]; undefined1 local_928 [128]; undefined1 local_8a8 [128]; undefined1 local_828 [128]; undefined1 local_7a8 [128]; undefined1 local_728 [128]; undefined1 local_6a8 [128]; undefined1 local_628 [128]; undefined1 local_5a8 [128]; undefined1 local_528 [128]; undefined1 local_4a8 [128]; undefined1 local_428 [128]; undefined1 local_3a8 [128]; undefined1 local_328 [128]; undefined1 local_2a8 [128]; undefined1 local_228 [128]; undefined1 local_1a8 [128]; undefined1 local_128 [128]; ulonglong local_a8; fVar25 = DAT_1824c41e0; fVar1 = DAT_1824c3ea4; local_a8 = DAT_182615970 ^ (ulonglong)auStack_1768; plVar11 = (longlong *)0x0; plVar12 = plVar11; if (param_2 < *(uint *)(param_1 + 0x6c)) { plVar12 = *(longlong **)(*(longlong *)(param_1 + 0x60) + (longlong)(int)param_2 * 8); } fVar18 = *(float *)((longlong)plVar12 + 0x80c) * DAT_1824c41e0 * *(float *)((longlong)plVar12 + 0x80c); fVar18 = (fVar18 + DAT_1824c3ea4) / fVar18; fVar15 = fVar18 * DAT_1824c41e0; fVar15 = sqrtf(fVar15 * fVar15 * DAT_1824c3d3c - DAT_1824c3ea4); fVar15 = logf(fVar15 + fVar18); dVar19 = DAT_1824c41e8; fVar15 = fVar15 * _DAT_1824c45f8; dVar16 = log(DAT_1824c41e8); dVar17 = DAT_1824c4050; powf(fVar25,(float)((double)(float)(((double)fVar15 / dVar16) / DAT_1824c43d0) * DAT_1824c4050)); plVar12[0x103] = 0; plVar12[0x104] = 0; dVar22 = DAT_1824c42b0; dVar20 = DAT_1824c4270; dVar16 = DAT_1824c4140; uVar5 = DAT_1824c40c0; uVar4 = DAT_1824c4060; uVar3 = DAT_1824c4058; fVar25 = (*(float *)((longlong)plVar12 + 0x80c) - DAT_1824c3e00) * DAT_1824c3d8c + fVar1; switch((int)plVar12[0x100]) { case 0: *(undefined4 *)((longlong)plVar12 + 0x814) = 2; *(undefined1 *)((longlong)plVar12 + 0x819) = 1; dVar19 = pow(dVar19,dVar16); dVar19 = sqrt(dVar19 - dVar16); uVar7 = DAT_1824c4f20._4_4_; uVar6 = (uint)DAT_1824c4f20; dVar19 = ((double)*(float *)((longlong)plVar12 + 0x804) * (dVar16 / dVar19) * DAT_1824c4248) / (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24)); dVar19 = exp((double)CONCAT44((uint)((ulonglong)dVar19 >> 0x20) ^ DAT_1824c4f20._4_4_, SUB84(dVar19,0) ^ (uint)DAT_1824c4f20)); auVar21._8_4_ = (int)extraout_XMM0_Qb; auVar21._0_8_ = dVar19; auVar21._12_4_ = (int)((ulonglong)extraout_XMM0_Qb >> 0x20); FUN_180534730(&local_16a8); *local_16a8 = dVar16 - auVar21._0_8_; local_16a8[1] = 0.0; local_16a8[2] = 0.0; *local_16a0 = 0x3ff0000000000000; local_16a0[1] = CONCAT44(auVar21._4_4_ ^ uVar7,auVar21._0_4_ ^ uVar6); local_16a0[2] = 0; memcpy((void *)*plVar12,local_16a8,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],local_16a0,(longlong)(int)plVar12[2] << 3); puVar10 = local_ea8; break; case 1: *(undefined4 *)((longlong)plVar12 + 0x814) = 2; *(undefined1 *)((longlong)plVar12 + 0x819) = 1; puVar9 = (undefined8 *) FUN_1805343e0(local_e28, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),uVar5); memcpy((void *)*plVar12,(void *)*puVar9,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],(void *)puVar9[1],(longlong)(int)plVar12[2] << 3); puVar10 = local_da8; dVar17 = DAT_1824c4140; break; case 2: *(undefined4 *)((longlong)plVar12 + 0x814) = 3; *(undefined1 *)((longlong)plVar12 + 0x81a) = 1; puVar9 = (undefined8 *) FUN_1805343e0(local_d28, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),uVar4); memcpy((void *)*plVar12,(void *)*puVar9,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],(void *)puVar9[1],(longlong)(int)plVar12[2] << 3); puVar9 = (undefined8 *) FUN_1805343e0(local_ca8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),DAT_1824c4188); memcpy((void *)plVar12[0x10],(void *)*puVar9,(longlong)(int)plVar12[0x12] << 3); memcpy((void *)plVar12[0x11],(void *)puVar9[1],(longlong)(int)plVar12[0x12] << 3); puVar10 = local_c28; goto LAB_180531b79; case 3: *(undefined4 *)((longlong)plVar12 + 0x814) = 5; *(undefined1 *)((longlong)plVar12 + 0x81c) = 1; puVar9 = (undefined8 *) FUN_1805343e0(local_ba8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),uVar3); memcpy((void *)*plVar12,(void *)*puVar9,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],(void *)puVar9[1],(longlong)(int)plVar12[2] << 3); puVar9 = (undefined8 *) FUN_1805343e0(local_b28, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),DAT_1824c4078); memcpy((void *)plVar12[0x10],(void *)*puVar9,(longlong)(int)plVar12[0x12] << 3); memcpy((void *)plVar12[0x11],(void *)puVar9[1],(longlong)(int)plVar12[0x12] << 3); puVar9 = (undefined8 *) FUN_1805343e0(local_aa8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),DAT_1824c4120); memcpy((void *)plVar12[0x20],(void *)*puVar9,(longlong)(int)plVar12[0x22] << 3); memcpy((void *)plVar12[0x21],(void *)puVar9[1],(longlong)(int)plVar12[0x22] << 3); puVar9 = (undefined8 *) FUN_1805343e0(local_a28, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),DAT_1824c4200); memcpy((void *)plVar12[0x30],(void *)*puVar9,(longlong)(int)plVar12[0x32] << 3); memcpy((void *)plVar12[0x31],(void *)puVar9[1],(longlong)(int)plVar12[0x32] << 3); puVar10 = local_9a8; goto LAB_180531d8a; case 4: *(undefined4 *)((longlong)plVar12 + 0x814) = 2; *(undefined1 *)((longlong)plVar12 + 0x819) = 1; dVar19 = pow(dVar19,dVar16); dVar19 = sqrt(dVar19 - dVar16); uVar7 = DAT_1824c4f20._4_4_; uVar6 = (uint)DAT_1824c4f20; dVar19 = ((double)*(float *)((longlong)plVar12 + 0x804) * (dVar16 / dVar19) * DAT_1824c4248) / (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24)); dVar19 = exp((double)CONCAT44((uint)((ulonglong)dVar19 >> 0x20) ^ DAT_1824c4f20._4_4_, SUB84(dVar19,0) ^ (uint)DAT_1824c4f20)); FUN_180534730(&local_1728); dVar20 = (dVar19 + dVar16) * DAT_1824c4698; *local_1728 = (dVar19 + dVar16) * dVar17; local_1728[1] = dVar20; local_1728[2] = 0.0; *local_1720 = 0x3ff0000000000000; local_1720[1] = CONCAT44((uint)((ulonglong)dVar19 >> 0x20) ^ uVar7,SUB84(dVar19,0) ^ uVar6); local_1720[2] = 0; memcpy((void *)*plVar12,local_1728,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],local_1720,(longlong)(int)plVar12[2] << 3); puVar10 = local_1428; break; case 5: *(undefined4 *)((longlong)plVar12 + 0x814) = 2; *(undefined1 *)((longlong)plVar12 + 0x819) = 1; puVar9 = (undefined8 *) FUN_180534300(local_13a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),uVar5); memcpy((void *)*plVar12,(void *)*puVar9,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],(void *)puVar9[1],(longlong)(int)plVar12[2] << 3); puVar10 = local_1328; dVar17 = DAT_1824c4140; break; case 6: *(undefined4 *)((longlong)plVar12 + 0x814) = 3; *(undefined1 *)((longlong)plVar12 + 0x81a) = 1; puVar9 = (undefined8 *) FUN_180534300(local_12a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),uVar4); memcpy((void *)*plVar12,(void *)*puVar9,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],(void *)puVar9[1],(longlong)(int)plVar12[2] << 3); puVar9 = (undefined8 *) FUN_180534300(local_1228, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),DAT_1824c4188); memcpy((void *)plVar12[0x10],(void *)*puVar9,(longlong)(int)plVar12[0x12] << 3); memcpy((void *)plVar12[0x11],(void *)puVar9[1],(longlong)(int)plVar12[0x12] << 3); puVar10 = local_11a8; LAB_180531b79: local_1748 = fVar25; puVar9 = (undefined8 *) FUN_180533ec0(puVar10,(double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24)), (double)*(float *)((longlong)plVar12 + 0x804),dVar19); memcpy((void *)plVar12[0x20],(void *)*puVar9,(longlong)(int)plVar12[0x22] << 3); lVar13 = (longlong)(int)plVar12[0x22]; _Dst = (void *)plVar12[0x21]; goto LAB_180532e99; case 7: *(undefined4 *)((longlong)plVar12 + 0x814) = 5; *(undefined1 *)((longlong)plVar12 + 0x81c) = 1; puVar9 = (undefined8 *) FUN_180534300(local_1128, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),uVar3); memcpy((void *)*plVar12,(void *)*puVar9,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],(void *)puVar9[1],(longlong)(int)plVar12[2] << 3); puVar9 = (undefined8 *) FUN_180534300(local_10a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),DAT_1824c4078); memcpy((void *)plVar12[0x10],(void *)*puVar9,(longlong)(int)plVar12[0x12] << 3); memcpy((void *)plVar12[0x11],(void *)puVar9[1],(longlong)(int)plVar12[0x12] << 3); puVar9 = (undefined8 *) FUN_180534300(local_1028, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),DAT_1824c4120); memcpy((void *)plVar12[0x20],(void *)*puVar9,(longlong)(int)plVar12[0x22] << 3); memcpy((void *)plVar12[0x21],(void *)puVar9[1],(longlong)(int)plVar12[0x22] << 3); puVar9 = (undefined8 *) FUN_180534300(local_fa8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804),DAT_1824c4200); memcpy((void *)plVar12[0x30],(void *)*puVar9,(longlong)(int)plVar12[0x32] << 3); memcpy((void *)plVar12[0x31],(void *)puVar9[1],(longlong)(int)plVar12[0x32] << 3); puVar10 = local_f28; LAB_180531d8a: local_1748 = fVar25; puVar9 = (undefined8 *) FUN_180533ec0(puVar10,(double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24)), (double)*(float *)((longlong)plVar12 + 0x804),DAT_1824c4228); memcpy((void *)plVar12[0x40],(void *)*puVar9,(longlong)(int)plVar12[0x42] << 3); lVar13 = (longlong)(int)plVar12[0x42]; _Dst = (void *)plVar12[0x41]; goto LAB_180532e99; default: *(undefined4 *)((longlong)plVar12 + 0x814) = 1; *(undefined1 *)(plVar12 + 0x103) = 1; dVar17 = pow(dVar20,(double)*(float *)(plVar12 + 0x101) / DAT_1824c42b0); local_1748 = (float)dVar17; puVar9 = (undefined8 *) FUN_180533ec0(local_128, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804), (double)*(float *)((longlong)plVar12 + 0x80c)); goto LAB_180532e7b; case 9: *(undefined4 *)((longlong)plVar12 + 0x814) = 1; *(undefined1 *)(plVar12 + 0x103) = 1; dVar17 = pow(dVar20,(double)*(float *)(plVar12 + 0x101) / DAT_1824c42b0); local_1748 = (float)dVar17; puVar9 = (undefined8 *) FUN_180533ff0(local_8a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804), (double)*(float *)((longlong)plVar12 + 0x80c)); goto LAB_180532e7b; case 10: *(undefined4 *)((longlong)plVar12 + 0x814) = 1; *(undefined1 *)(plVar12 + 0x103) = 1; dVar17 = pow(dVar20,(double)*(float *)(plVar12 + 0x101) / DAT_1824c42b0); local_1748 = (float)dVar17; puVar9 = (undefined8 *) FUN_180534180(local_928, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804), (double)*(float *)((longlong)plVar12 + 0x80c)); LAB_180532e7b: memcpy((void *)*plVar12,(void *)*puVar9,(longlong)(int)plVar12[2] << 3); lVar13 = (longlong)(int)plVar12[2]; _Dst = (void *)plVar12[1]; goto LAB_180532e99; case 0xb: *(undefined4 *)((longlong)plVar12 + 0x814) = 2; *(undefined1 *)((longlong)plVar12 + 0x819) = 1; dVar17 = pow(DAT_1824c4270, (double)(float)(*(uint *)(plVar12 + 0x101) ^ DAT_1824c4f30) / DAT_1824c42b0); local_1748 = (float)dVar17; puVar9 = (undefined8 *) FUN_180534180(local_828, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804), (double)*(float *)((longlong)plVar12 + 0x80c)); memcpy((void *)*plVar12,(void *)*puVar9,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],(void *)puVar9[1],(longlong)(int)plVar12[2] << 3); dVar17 = pow(DAT_1824c4270,(double)*(float *)(plVar12 + 0x101) / DAT_1824c42b0); local_1748 = (float)dVar17; puVar9 = (undefined8 *) FUN_180533ff0(local_7a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) ),(double)*(float *)((longlong)plVar12 + 0x804), (double)*(float *)((longlong)plVar12 + 0x80c)); goto LAB_1805319e8; case 0xc: *(undefined4 *)((longlong)plVar12 + 0x814) = 1; *(undefined1 *)(plVar12 + 0x103) = 1; fVar1 = *(float *)((longlong)plVar12 + 0x80c); dVar20 = tan(((double)*(float *)((longlong)plVar12 + 0x804) * DAT_1824c4218) / (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24))); dVar16 = DAT_1824c4140; dVar20 = DAT_1824c4140 / dVar20; dVar23 = (DAT_1824c4140 / (double)fVar1) * dVar20; dVar17 = dVar20 * dVar20; dVar22 = DAT_1824c4140 / (dVar23 + DAT_1824c4140 + dVar17); FUN_180534730(&local_1628); dVar20 = (dVar22 * dVar20) / (double)fVar1; *local_1628 = dVar20; local_1628[1] = 0.0; local_1628[2] = (double)CONCAT44((uint)((ulonglong)dVar20 >> 0x20) ^ DAT_1824c4f20._4_4_, SUB84(dVar20,0) ^ (uint)DAT_1824c4f20); *local_1620 = 1.0; local_1620[1] = (dVar16 - dVar17) * dVar22 * dVar19; local_1620[2] = ((dVar16 - dVar23) + dVar17) * dVar22; memcpy((void *)*plVar12,local_1628,(longlong)(int)plVar12[2] << 3); lVar13 = (longlong)(int)plVar12[2]; _Dst = (void *)plVar12[1]; local_1520 = local_1620; goto LAB_180532e9d; case 0xd: *(undefined4 *)((longlong)plVar12 + 0x814) = 4; *(undefined1 *)((longlong)plVar12 + 0x81b) = 1; dVar16 = pow(dVar20,((double)*(float *)(plVar12 + 0x101) * dVar17) / dVar22); local_1748 = (float)dVar16; puVar9 = (undefined8 *) FUN_180533ff0(local_728, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)*plVar12,(void *)*puVar9,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],(void *)puVar9[1],(longlong)(int)plVar12[2] << 3); dVar16 = pow(dVar20,((double)*(float *)(plVar12 + 0x101) * dVar17) / dVar22); local_1748 = (float)dVar16; puVar9 = (undefined8 *) FUN_180533ff0(local_6a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)plVar12[0x10],(void *)*puVar9,(longlong)(int)plVar12[0x12] << 3); memcpy((void *)plVar12[0x11],(void *)puVar9[1],(longlong)(int)plVar12[0x12] << 3); uVar6 = DAT_1824c4f30; dVar16 = pow(dVar20,((double)(float)(*(uint *)(plVar12 + 0x101) ^ DAT_1824c4f30) * dVar17) / dVar22); local_1748 = (float)dVar16; puVar9 = (undefined8 *) FUN_180533ff0(local_628, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)plVar12[0x20],(void *)*puVar9,(longlong)(int)plVar12[0x22] << 3); memcpy((void *)plVar12[0x21],(void *)puVar9[1],(longlong)(int)plVar12[0x22] << 3); dVar17 = pow(dVar20,((double)(float)(*(uint *)(plVar12 + 0x101) ^ uVar6) * dVar17) / dVar22); local_1748 = (float)dVar17; puVar9 = (undefined8 *) FUN_180533ff0(local_5a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)plVar12[0x30],(void *)*puVar9,(longlong)(int)plVar12[0x32] << 3); lVar13 = (longlong)(int)plVar12[0x32]; _Dst = (void *)plVar12[0x31]; goto LAB_180532e99; case 0xe: *(undefined4 *)((longlong)plVar12 + 0x814) = 9; *(undefined1 *)((longlong)plVar12 + 0x81b) = 1; *(undefined2 *)((longlong)plVar12 + 0x81f) = 1; puVar9 = (undefined8 *) FUN_180534300(local_528, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)*plVar12,(void *)*puVar9,(longlong)(int)plVar12[2] << 3); memcpy((void *)plVar12[1],(void *)puVar9[1],(longlong)(int)plVar12[2] << 3); puVar9 = (undefined8 *) FUN_180534300(local_4a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)plVar12[0x10],(void *)*puVar9,(longlong)(int)plVar12[0x12] << 3); memcpy((void *)plVar12[0x11],(void *)puVar9[1],(longlong)(int)plVar12[0x12] << 3); puVar9 = (undefined8 *) FUN_180534300(local_428, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)plVar12[0x20],(void *)*puVar9,(longlong)(int)plVar12[0x22] << 3); memcpy((void *)plVar12[0x21],(void *)puVar9[1],(longlong)(int)plVar12[0x22] << 3); puVar9 = (undefined8 *) FUN_180534300(local_3a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)plVar12[0x30],(void *)*puVar9,(longlong)(int)plVar12[0x32] << 3); memcpy((void *)plVar12[0x31],(void *)puVar9[1],(longlong)(int)plVar12[0x32] << 3); puVar9 = (undefined8 *) FUN_1805343e0(local_328, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)plVar12[0x40],(void *)*puVar9,(longlong)(int)plVar12[0x42] << 3); memcpy((void *)plVar12[0x41],(void *)puVar9[1],(longlong)(int)plVar12[0x42] << 3); puVar9 = (undefined8 *) FUN_1805343e0(local_2a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)plVar12[0x50],(void *)*puVar9,(longlong)(int)plVar12[0x52] << 3); memcpy((void *)plVar12[0x51],(void *)puVar9[1],(longlong)(int)plVar12[0x52] << 3); puVar9 = (undefined8 *) FUN_1805343e0(local_228, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)plVar12[0x60],(void *)*puVar9,(longlong)(int)plVar12[0x62] << 3); memcpy((void *)plVar12[0x61],(void *)puVar9[1],(longlong)(int)plVar12[0x62] << 3); puVar9 = (undefined8 *) FUN_1805343e0(local_1a8, (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24) )); memcpy((void *)plVar12[0x70],(void *)*puVar9,(longlong)(int)plVar12[0x72] << 3); memcpy((void *)plVar12[0x71],(void *)puVar9[1],(longlong)(int)plVar12[0x72] << 3); dVar16 = tan(((double)*(float *)((longlong)plVar12 + 0x804) * DAT_1824c4218) / (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24))); dVar17 = DAT_1824c4140; dVar16 = DAT_1824c4140 / dVar16; dVar23 = dVar16 * dVar16; dVar16 = dVar16 / _DAT_1824c4240; dVar22 = DAT_1824c4140 / (dVar16 + DAT_1824c4140 + dVar23); FUN_180534730(&local_14a8); dVar20 = (dVar23 + dVar17) * dVar22; dVar19 = dVar22 * dVar19 * (dVar17 - dVar23); *local_14a8 = dVar20; local_14a8[1] = dVar19; local_14a8[2] = dVar20; *local_14a0 = 1.0; local_14a0[1] = dVar19; local_14a0[2] = ((dVar17 - dVar16) + dVar23) * dVar22; memcpy((void *)plVar12[0x80],local_14a8,(longlong)(int)plVar12[0x82] << 3); lVar13 = (longlong)(int)plVar12[0x82]; _Dst = (void *)plVar12[0x81]; local_1520 = local_14a0; goto LAB_180532e9d; case 0xf: *(undefined4 *)((longlong)plVar12 + 0x814) = 1; *(undefined1 *)(plVar12 + 0x103) = 1; fVar15 = (float)(((double)*(float *)((longlong)plVar12 + 0x804) * DAT_1824c4248) / (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24))); fVar25 = sinf(fVar15); dVar17 = sqrt((double)*(float *)((longlong)plVar12 + 0x80c)); fVar24 = (float)((double)fVar25 / (dVar17 * dVar19)); FUN_180534730(&local_15a8); fVar25 = cosf(fVar15); fVar18 = fVar25 * DAT_1824c46a8; fVar15 = (fVar25 + fVar1) * DAT_1824c3d8c; *local_15a8 = (double)fVar15; local_15a8[1] = (double)(float)((uint)(fVar25 + fVar1) ^ DAT_1824c4f30); local_15a8[2] = (double)fVar15; *local_15a0 = (double)(fVar24 + fVar1); local_15a0[1] = (double)fVar18; local_15a0[2] = (double)(fVar1 - fVar24); memcpy((void *)*plVar12,local_15a8,(longlong)(int)plVar12[2] << 3); lVar13 = (longlong)(int)plVar12[2]; _Dst = (void *)plVar12[1]; local_1520 = local_15a0; goto LAB_180532e9d; case 0x10: *(undefined4 *)((longlong)plVar12 + 0x814) = 1; *(undefined1 *)(plVar12 + 0x103) = 1; fVar15 = (float)(((double)*(float *)((longlong)plVar12 + 0x804) * DAT_1824c4248) / (double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24))); fVar25 = sinf(fVar15); dVar17 = sqrt((double)*(float *)((longlong)plVar12 + 0x80c)); fVar24 = (float)((double)fVar25 / (dVar17 * dVar19)); FUN_180534730(&local_1528); fVar25 = cosf(fVar15); fVar18 = fVar25 * DAT_1824c46a8; fVar15 = (fVar1 - fVar25) * DAT_1824c3d8c; *local_1528 = (double)fVar15; local_1528[1] = (double)(fVar1 - fVar25); local_1528[2] = (double)fVar15; *local_1520 = (double)(fVar24 + fVar1); local_1520[1] = (double)fVar18; local_1520[2] = (double)(fVar1 - fVar24); memcpy((void *)*plVar12,local_1528,(longlong)(int)plVar12[2] << 3); lVar13 = (longlong)(int)plVar12[2]; _Dst = (void *)plVar12[1]; goto LAB_180532e9d; } local_1748 = fVar25; puVar9 = (undefined8 *) FUN_180533ec0(puVar10,(double)((float)*(int *)(param_1 + 0x240080) * *(float *)(param_1 + 0x24)), (double)*(float *)((longlong)plVar12 + 0x804),dVar17); LAB_1805319e8: memcpy((void *)plVar12[0x10],(void *)*puVar9,(longlong)(int)plVar12[0x12] << 3); lVar13 = (longlong)(int)plVar12[0x12]; _Dst = (void *)plVar12[0x11]; LAB_180532e99: local_1520 = (double *)puVar9[1]; LAB_180532e9d: memcpy(_Dst,local_1520,lVar13 << 3); if (param_2 < *(uint *)(param_1 + 0x7c)) { plVar11 = *(longlong **)(*(longlong *)(param_1 + 0x70) + (longlong)(int)param_2 * 8); } plVar2 = (longlong *)*plVar12; lVar13 = plVar12[1]; plVar11[0x17] = *plVar2; plVar11[0x18] = plVar2[1]; plVar11[0x19] = plVar2[2]; plVar11[0x1a] = *(longlong *)(lVar13 + 8); plVar11[0x1b] = *(longlong *)(lVar13 + 0x10); if ((char)plVar11[0x12] != '\0') { LOCK(); bVar14 = *(int *)(plVar11[0xe] + 0x18) == 0; if (bVar14) { *(int *)(plVar11[0xe] + 0x18) = 1; } UNLOCK(); if ((bVar14) && (cVar8 = FUN_1812a6720(plVar11[0xe]), cVar8 == '\0')) { LOCK(); *(undefined4 *)(plVar11[0xe] + 0x18) = 0; UNLOCK(); } } FUN_180533de0(param_1,param_2); } ############ FUN_ 180563fa0 size=852 ############ ulonglong FUN_180563fa0(longlong param_1) { undefined4 *puVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; undefined4 uVar5; uint uVar6; longlong lVar7; int iVar8; ulonglong uVar9; longlong lVar10; longlong lVar11; longlong lVar12; longlong lVar13; longlong lVar14; float fVar15; float fVar16; float fVar17; uVar9 = *(longlong *)(param_1 + 0xa0) - *(longlong *)(param_1 + 0x98); if (((uVar9 & 0xfffffffffffffff8) == 0) || (*(char *)(param_1 + 0x90) == '\0')) { return uVar9 & 0xffffffffffffff00; } *(undefined1 *)(param_1 + 0x90) = 0; lVar10 = *(longlong *)(*(longlong *)(param_1 + 0x170) + 0x168); iVar8 = 2; if (*(int *)(lVar10 + 0x30) < 2) { iVar8 = *(int *)(lVar10 + 0x30); } lVar12 = 0; lVar14 = (longlong)iVar8; lVar10 = lVar12; lVar13 = lVar12; if (0 < iVar8) { do { lVar11 = 0x155; do { lVar7 = *(longlong *)(param_1 + 0x98); uVar2 = *(undefined4 *)(lVar10 + 8 + lVar7); uVar3 = *(undefined4 *)(lVar10 + 4 + lVar7); uVar4 = *(undefined4 *)(lVar10 + 0xc + lVar7); uVar5 = *(undefined4 *)(lVar10 + lVar7); puVar1 = (undefined4 *)(*(longlong *)(param_1 + 0x40) + lVar13); *puVar1 = uVar5; puVar1[1] = uVar2; puVar1[2] = uVar3; puVar1[3] = uVar4; puVar1 = (undefined4 *)(*(longlong *)(param_1 + 0x40) + 0x10 + lVar13); *puVar1 = uVar5; puVar1[1] = uVar2; puVar1[2] = uVar3; puVar1[3] = uVar4; lVar7 = *(longlong *)(param_1 + 0x98); uVar2 = *(undefined4 *)(lVar7 + 0x10 + lVar10); uVar3 = *(undefined4 *)(lVar7 + 0xc + lVar10); uVar4 = *(undefined4 *)(lVar7 + 0x14 + lVar10); uVar5 = *(undefined4 *)(lVar7 + 8 + lVar10); puVar1 = (undefined4 *)(*(longlong *)(param_1 + 0x40) + 0x20 + lVar13); *puVar1 = uVar5; puVar1[1] = uVar2; puVar1[2] = uVar3; puVar1[3] = uVar4; puVar1 = (undefined4 *)(*(longlong *)(param_1 + 0x40) + 0x30 + lVar13); *puVar1 = uVar5; puVar1[1] = uVar2; puVar1[2] = uVar3; puVar1[3] = uVar4; lVar7 = *(longlong *)(param_1 + 0x98); uVar2 = *(undefined4 *)(lVar7 + 0x10 + lVar10); uVar3 = *(undefined4 *)(lVar7 + lVar10 + 0x14); lVar10 = lVar10 + 0x18; uVar4 = *(undefined4 *)(lVar7 + lVar10); uVar5 = *(undefined4 *)(lVar7 + 4 + lVar10); puVar1 = (undefined4 *)(*(longlong *)(param_1 + 0x40) + 0x40 + lVar13); *puVar1 = uVar2; puVar1[1] = uVar4; puVar1[2] = uVar3; puVar1[3] = uVar5; puVar1 = (undefined4 *)(*(longlong *)(param_1 + 0x40) + 0x50 + lVar13); *puVar1 = uVar2; puVar1[1] = uVar4; puVar1[2] = uVar3; puVar1[3] = uVar5; lVar13 = lVar13 + 0x60; lVar11 = lVar11 + -1; } while (lVar11 != 0); lVar14 = lVar14 + -1; } while (lVar14 != 0); } lVar10 = (longlong)*(int *)(param_1 + 0xc0); if (*(int *)(param_1 + 0xc0) < 0) { do { *(undefined4 *)(*(longlong *)(param_1 + 0x40) + 0xffc0 + lVar12) = 0xc0000000; *(undefined4 *)(*(longlong *)(param_1 + 0x40) + 0xffc4 + lVar12) = 0xc0000000; *(undefined4 *)(lVar12 + 0xffd0 + *(longlong *)(param_1 + 0x40)) = 0xc0000000; *(undefined4 *)(*(longlong *)(param_1 + 0x40) + 0xffd4 + lVar12) = 0xc0000000; *(undefined4 *)(*(longlong *)(param_1 + 0x40) + 0xffe0 + lVar12) = 0xc0000000; lVar10 = *(longlong *)(param_1 + 0x40); *(undefined4 *)(lVar10 + 0xffe4 + lVar12) = 0xc0000000; lVar12 = lVar12 + 0x30; } while (lVar12 < 0x3ff0); return CONCAT71((int7)((ulonglong)lVar10 >> 8),1); } uVar6 = *(uint *)(param_1 + 200 + lVar10 * 4); lVar13 = 0xffd0; fVar15 = (float)(uVar6 >> 0x10 & 0xff) / DAT_1824c4548; fVar17 = (float)(uVar6 & 0xff) / DAT_1824c4548; fVar16 = (float)(uVar6 >> 8 & 0xff) / DAT_1824c4548; do { lVar11 = *(longlong *)(param_1 + 0xe0 + lVar10 * 0x18); lVar14 = lVar12 + 0x18; *(undefined4 *)(lVar13 + -0x10 + *(longlong *)(param_1 + 0x40)) = *(undefined4 *)(lVar12 + lVar11); *(undefined4 *)(*(longlong *)(param_1 + 0x40) + -0xc + lVar13) = *(undefined4 *)(lVar12 + 4 + lVar11); *(float *)(lVar13 + -0x10 + *(longlong *)(param_1 + 0x58)) = fVar15; *(float *)(*(longlong *)(param_1 + 0x58) + -0xc + lVar13) = fVar16; *(float *)(*(longlong *)(param_1 + 0x58) + -8 + lVar13) = fVar17; lVar12 = *(longlong *)(param_1 + 0xe0 + lVar10 * 0x18); *(undefined4 *)(lVar13 + *(longlong *)(param_1 + 0x40)) = *(undefined4 *)(lVar12 + -0x10 + lVar14); *(undefined4 *)(*(longlong *)(param_1 + 0x40) + 4 + lVar13) = *(undefined4 *)(lVar12 + -0xc + lVar14); *(float *)(lVar13 + *(longlong *)(param_1 + 0x58)) = fVar15; *(float *)(*(longlong *)(param_1 + 0x58) + 4 + lVar13) = fVar16; *(float *)(*(longlong *)(param_1 + 0x58) + 8 + lVar13) = fVar17; lVar12 = *(longlong *)(param_1 + 0xe0 + lVar10 * 0x18); *(undefined4 *)(lVar13 + 0x10 + *(longlong *)(param_1 + 0x40)) = *(undefined4 *)(lVar12 + -8 + lVar14); *(undefined4 *)(*(longlong *)(param_1 + 0x40) + 0x14 + lVar13) = *(undefined4 *)(lVar12 + -4 + lVar14); *(float *)(lVar13 + 0x10 + *(longlong *)(param_1 + 0x58)) = fVar15; *(float *)(*(longlong *)(param_1 + 0x58) + 0x14 + lVar13) = fVar16; lVar11 = *(longlong *)(param_1 + 0x58); *(float *)(lVar11 + 0x18 + lVar13) = fVar17; lVar13 = lVar13 + 0x30; lVar12 = lVar14; } while (lVar13 < 0x13fc0); return CONCAT71((int7)((ulonglong)lVar11 >> 8),1); } ############ FUN_ 1805631c0 size=44 ############ void FUN_1805631c0(longlong param_1) { FUN_180563440(); if (*(char *)(param_1 + 0x91) == '\0') { FUN_180563ce0(param_1); } FUN_180563fa0(param_1); return; } ############ FUN_ 180563260 size=89 ############ bool FUN_180563260(longlong param_1,int param_2) { int iVar1; undefined1 uVar2; if (param_2 == 1) { FUN_180563440(); if (*(char *)(param_1 + 0x91) == '\0') { FUN_180563ce0(param_1); } uVar2 = FUN_180563fa0(param_1); return (bool)uVar2; } if (param_2 != 2) { return false; } iVar1 = *(int *)(param_1 + 0xc4); *(int *)(param_1 + 0xc4) = *(int *)(param_1 + 0xc0); return iVar1 != *(int *)(param_1 + 0xc0); } ############ FUN_ 180563a60 size=625 ############ void FUN_180563a60(longlong param_1) { float *pfVar1; longlong *plVar2; ulonglong uVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; longlong lVar10; longlong lVar11; longlong *plVar12; int iVar13; int iVar14; float fVar15; float fVar16; float fVar17; double dVar18; uint uVar19; float local_res10 [2]; float local_res18 [2]; float local_res20 [2]; undefined8 uVar20; fVar9 = DAT_1824c4680; fVar8 = DAT_1824c43e0; fVar7 = DAT_1824c41e0; fVar6 = DAT_1824c3ea4; fVar5 = DAT_1824c3d8c; fVar4 = DAT_1824c3c50; uVar20 = 0xfffffffffffffffe; iVar14 = 0; lVar11 = param_1 + 0x4198; plVar12 = (longlong *)(param_1 + 0xe0); uVar19 = (uint)DAT_1824c4f10; uVar3 = (ulonglong)DAT_1824c4f10 >> 0x20; do { if (plVar12[1] - *plVar12 >> 3 == 0) { FUN_18056c640(param_1 + (longlong)iVar14 * 0x18 + 0xe0,0x400); } iVar13 = 0; lVar10 = 0; do { fVar15 = logf((float)*(double *)(lVar10 + lVar11)); fVar15 = fVar15 * fVar8; *(float *)(lVar10 + *plVar12) = (float)iVar13 * fVar4; pfVar1 = *(float **)(param_1 + 0x180); fVar16 = pfVar1[1]; fVar17 = fVar6; if (*(longlong *)(pfVar1 + 0x24) == 0) { fVar16 = (fVar15 - *pfVar1) / (fVar16 - *pfVar1); if (0.0 <= fVar16) { if (fVar16 <= fVar6) { fVar17 = fVar16; } } else { fVar17 = 0.0; } fVar16 = pfVar1[3]; if (fVar16 != fVar6) { if (*(char *)(pfVar1 + 4) == '\0') { fVar17 = powf(fVar17,fVar16); } else { fVar15 = fVar17 * fVar7 - fVar6; fVar17 = fVar6; if (fVar15 < 0.0) { fVar17 = fVar9; } dVar18 = (double)fVar15; fVar16 = powf((float)(double)CONCAT44((uint)((ulonglong)dVar18 >> 0x20) & (uint)uVar3, SUB84(dVar18,0) & uVar19),fVar16); fVar17 = (fVar16 * fVar17 + fVar6) * fVar5; } } } else { local_res20[0] = *pfVar1; plVar2 = *(longlong **)(pfVar1 + 0x24); local_res10[0] = fVar15; local_res18[0] = fVar16; if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar16 = (float)(**(code **)(*plVar2 + 0x10)) (plVar2,local_res20,local_res18,local_res10,uVar20); if (0.0 <= fVar16) { if (fVar16 <= fVar6) { fVar17 = fVar16; } } else { fVar17 = 0.0; } } *(float *)(lVar10 + 4 + *plVar12) = fVar17; iVar13 = iVar13 + 1; lVar10 = lVar10 + 8; } while (iVar13 < 0x400); iVar14 = iVar14 + 1; plVar12 = plVar12 + 3; lVar11 = lVar11 + 0x2000; } while (iVar14 < 6); return; } ############ FUN_ 18052d390 size=52 ############ 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; } ############ FUN_ 18052cfb0 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; } ############ FUN_ 180529550 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; } ############ FUN_ 180529610 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; } ############ FUN_ 18052d3d0 size=52 ############ 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; } ############ FUN_ 18052c8f0 size=26 ############ undefined8 .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ (undefined8 param_1,undefined8 param_2) { FUN_181353210(param_2); return param_2; } ############ FUN_ 1812c1fb0 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; } ############ FUN_ 18052c4a0 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,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(); } ############ FUN_ 18052bfa0 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; } ############ FUN_ 1812c0b60 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; } ############ FUN_ 18052bdf0 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; } ############ FUN_ 18052c8d0 size=18 ############ undefined8 .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(longlong param_1) { undefined8 uVar1; uVar1 = 1; if (*(int *)(param_1 + 8) == 3) { uVar1 = 0x80; } return uVar1; } ############ FUN_ 18052c8c0 size=16 ############ undefined4 .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__(longlong param_1) { if (*(int *)(param_1 + 8) == 3) { return *(undefined4 *)(param_1 + 0x448); } return 0; } ############ FUN_ 18052c880 size=49 ############ 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; } ############ FUN_ 18052c7f0 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; } ############ FUN_ 18052bde0 size=15 ############ void FUN_18052bde0(longlong param_1,undefined8 param_2) { FUN_1811fe4a0(param_1 + 0x338,param_2,0); return; } ############ FUN_ 1812bfff0 size=10 ############ void FUN_1812bfff0(longlong *param_1) { /* WARNING: Could not recover jumptable at 0x0001812bfff3. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0xe8))(); return; } ############ FUN_ 18052bdd0 size=15 ############ void FUN_18052bdd0(longlong param_1,undefined8 param_2,int param_3) { FUN_1811fc760(param_1 + 0x338,param_2,(longlong)param_3); return; } ############ FUN_ 1812bffb0 size=55 ############ 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; } ############ FUN_ 18052c490 size=14 ############ void FUN_18052c490(longlong param_1) { .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ (param_1,*(undefined8 *)(param_1 + 0x30),*(undefined4 *)(param_1 + 0x38)); return; } ############ FUN_ 1804d7000 size=33 ############ longlong FUN_1804d7000(undefined8 param_1,longlong param_2) { *(undefined8 *)(param_2 + 0x38) = 0; *(undefined1 **)(param_2 + 0x50) = &DAT_1821dbf98; *(undefined1 **)(param_2 + 0x58) = &DAT_1821dbf98; *(undefined8 *)(param_2 + 0x40) = 0; *(undefined8 *)(param_2 + 0x48) = 0; return param_2; } ############ FUN_ 1804d7030 size=10 ############ void FUN_1804d7030(longlong *param_1) { /* WARNING: Could not recover jumptable at 0x0001804d7033. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x150))(); return; } ############ FUN_ 18052fd40 size=38 ############ void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__(longlong param_1) { *(undefined4 *)(param_1 + 0x2404cc) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x2404c0)); } ############ FUN_ 18052ce00 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; } ############ FUN_ 18052cec0 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; } ############ FUN_ 18052ce90 size=48 ############ 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; } ############ FUN_ 18052ce80 size=14 ############ bool .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1) { char cVar1; LOCK(); cVar1 = *(char *)(param_1 + 0x2404bd); *(char *)(param_1 + 0x2404bd) = '\0'; UNLOCK(); return cVar1 != '\0'; } ############ FUN_ 18052ce70 size=9 ############ undefined4 .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__(void) { return DAT_1824c3ea4; } ############ FUN_ 180546620 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; } ############ FUN_ 1813afeb0 size=43 ############ 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; } ############ FUN_ 1813afef0 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); } ############ FUN_ 18136cc80 size=13 ############ undefined8 * .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__ (undefined8 param_1,undefined8 *param_2) { *param_2 = 0; param_2[1] = 0; return param_2; } ############ FUN_ 18136cc60 size=13 ############ undefined8 * .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__ (undefined8 param_1,undefined8 *param_2) { *param_2 = 0; param_2[1] = 0; return param_2; } ############ FUN_ 1813afd80 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]); } ############ FUN_ 1813afe80 size=13 ############ undefined8 * .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__ (undefined8 param_1,undefined8 *param_2) { *param_2 = 0; param_2[1] = 0; return param_2; } ############ FUN_ 18136cbb0 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; } ############ FUN_ 1813afe40 size=32 ############ undefined8 .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__ (undefined8 param_1,undefined8 *param_2) { if (param_2 != (undefined8 *)0x0) { (**(code **)*param_2)(param_2,1); } return 0; } ############ FUN_ 18053e010 size=47 ############ 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]); } ############ FUN_ 1813af160 size=29 ############ undefined8 FUN_1813af160(longlong param_1,undefined8 param_2) { FUN_1812b1fe0(param_2,*(undefined4 *)(param_1 + 0x20)); return param_2; } ############ FUN_ 1813aed60 size=24 ############ longlong FUN_1813aed60(longlong param_1) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 0x18); if (*(char *)(param_1 + 0x20) != '\0') { lVar1 = lVar1 % *(longlong *)(*(longlong *)(param_1 + 8) + 0x18); } return lVar1; } ############ FUN_ 1813aeda0 size=9 ############ undefined8 FUN_1813aeda0(longlong param_1) { return *(undefined8 *)(*(longlong *)(param_1 + 8) + 0x18); } ############ FUN_ 1805384a8 size=12 ############ void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (longlong param_1) { .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__(param_1 + -0x150); return; } ############ FUN_ 18052bd00 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); } ############ FUN_ 180536b60 size=22 ############ undefined8 * .?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 uVar1; *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; uVar1 = *(undefined8 *)(param_1 + 0x10); param_2[1] = *(undefined8 *)(param_1 + 8); param_2[2] = uVar1; return param_2; } ############ FUN_ 1805379a0 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; } ############ FUN_ 180536b50 size=8 ############ TypeDescriptor * .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 18048dc80 size=15 ############ void .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__(void *param_1,char param_2) { if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 180536850 size=22 ############ undefined8 * .?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) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 180537e90 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; } ############ FUN_ 180536840 size=8 ############ TypeDescriptor * .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 18048db00 size=15 ############ void .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__(void *param_1,char param_2) { if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 180536f20 size=14 ############ 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) { *param_2 = std::_Func_impl_no_alloc<,juce::String,float> ::vftable; return param_2; } ############ FUN_ 180537290 size=41 ############ 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; } ############ FUN_ 180536f10 size=8 ############ TypeDescriptor * .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180536610 size=30 ############ undefined8 * .?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 uVar1; *param_2 = std:: _Func_impl_no_alloc,Soothe2ModuleDecryptor,ParameterStates,float>::*)(void)___ptr64,CloudyAudioProcessor,class_Soothe2ModuleDecryptor,class_ParameterStates,float>*___ptr64>,void> ::vftable; uVar1 = *(undefined8 *)(param_1 + 0x10); param_2[1] = *(undefined8 *)(param_1 + 8); param_2[2] = uVar1; param_2[3] = *(undefined8 *)(param_1 + 0x18); return param_2; } ############ FUN_ 1805380e0 size=35 ############ void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (longlong param_1) { /* WARNING: Could not recover jumptable at 0x000180538100. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(param_1 + 8)) ((longlong)(int)*(undefined8 *)(param_1 + 0x10) + *(longlong *)(param_1 + 0x18)); return; } ############ FUN_ 180536600 size=8 ############ TypeDescriptor * .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (void) { return &std:: _Binder,Soothe2ModuleDecryptor,ParameterStates,float>::*)(void)___ptr64,CloudyAudioProcessor,class_Soothe2ModuleDecryptor,class_ParameterStates,float>*___ptr64> ::RTTI_Type_Descriptor; } ############ FUN_ 1805365f0 size=15 ############ void .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (void *param_1,char param_2) { if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 180536d60 size=22 ############ undefined8 * .?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) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 1805375e0 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; } ############ FUN_ 180536d50 size=8 ############ TypeDescriptor * .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180536dc0 size=22 ############ undefined8 * .?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) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 1805374e0 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; } ############ FUN_ 180536db0 size=8 ############ TypeDescriptor * .?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@ :: vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__ (void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 1805367f0 size=22 ############ undefined8 * .?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) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 180537f60 size=25 ############ void .?AV?$_Func_impl_no_alloc@V?$_Binder@U_Unforced@std@@P8?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@EAAXXZPEAV3@@std@@X$$V@std@@ :: vtbl___AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__EAAXXZPEAV3__std__X__V_std__ (longlong param_1,undefined4 *param_2) { longlong *plVar1; plVar1 = *(longlong **)(*(longlong *)(param_1 + 8) + 0x168); /* WARNING: Could not recover jumptable at 0x000180537f72. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar1 + 0x90))(plVar1,*param_2); return; } ############ FUN_ 1805367e0 size=8 ############ TypeDescriptor * .?AV?$_Func_impl_no_alloc@V?$_Binder@U_Unforced@std@@P8?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@EAAXXZPEAV3@@std@@X$$V@std@@ :: vtbl___AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__EAAXXZPEAV3__std__X__V_std__ (void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 1805366d0 size=22 ############ undefined8 * .?AV?$_Func_impl_no_alloc@V?$_Binder@U_Unforced@std@@P8?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@EAAXXZPEAV3@@std@@X$$V@std@@ :: vtbl___AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__EAAXXZPEAV3__std__X__V_std__ (longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 180538010 size=25 ############ void .?AV?$_Func_impl_no_alloc@V?$_Binder@U_Unforced@std@@P8?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@EAAXXZPEAV3@@std@@X$$V@std@@ :: vtbl___AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__EAAXXZPEAV3__std__X__V_std__ (longlong param_1,undefined4 *param_2) { longlong *plVar1; plVar1 = *(longlong **)(*(longlong *)(param_1 + 8) + 0x168); /* WARNING: Could not recover jumptable at 0x000180538022. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar1 + 0x98))(plVar1,*param_2); return; } ############ FUN_ 1805366c0 size=8 ############ TypeDescriptor * .?AV?$_Func_impl_no_alloc@V?$_Binder@U_Unforced@std@@P8?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@EAAXXZPEAV3@@std@@X$$V@std@@ :: vtbl___AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__EAAXXZPEAV3__std__X__V_std__ (void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180536a30 size=14 ############ undefined8 * .?AV?$_Func_impl_no_alloc@V?$_Binder@U_Unforced@std@@P8?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@EAAXXZPEAV3@@std@@X$$V@std@@ :: vtbl___AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__EAAXXZPEAV3__std__X__V_std__ (undefined8 param_1,undefined8 *param_2) { *param_2 = std:: _Func_impl_no_alloc<,float,juce::String_const&___ptr64> ::vftable; return param_2; } ############ FUN_ 18052d580 size=47 ############ void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__ (undefined8 *param_1) { *param_1 = AudioProcessingModule::vftable; *(undefined4 *)((longlong)param_1 + 0x54) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[9]); } ############ FUN_ 18052cfa0 size=13 ############ void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__ (longlong *param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { /* WARNING: Could not recover jumptable at 0x00018052cfa9. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x18))(param_1,param_3,param_4); return; } ############ FUN_ 180536aa0 size=22 ############ undefined8 * .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__ (longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 180537b10 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; } ############ FUN_ 180536a90 size=8 ############ TypeDescriptor * .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180536eb0 size=22 ############ undefined8 * .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__ (longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 1805373c0 size=41 ############ void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__ (longlong param_1,float *param_2) { longlong *plVar1; plVar1 = *(longlong **)(*(longlong *)(param_1 + 8) + 0x168); /* WARNING: Could not recover jumptable at 0x0001805373e2. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar1 + 0xb8))(plVar1,*param_2 == 0.0); return; } ############ FUN_ 180536ea0 size=8 ############ TypeDescriptor * .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 1805365d0 size=30 ############ undefined8 * .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__ (longlong param_1,undefined8 *param_2) { *param_2 = std:: _Func_impl_no_alloc<,float,float,float,float> ::vftable; param_2[1] = *(undefined8 *)(param_1 + 8); *(undefined4 *)(param_2 + 2) = *(undefined4 *)(param_1 + 0x10); return param_2; } ############ FUN_ 180538110 size=44 ############ void .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__ (longlong param_1,undefined8 param_2,undefined8 param_3,float *param_4) { float fVar1; fVar1 = logf(*param_4); powf((fVar1 - *(float *)(param_1 + 8)) * *(float *)(param_1 + 0xc),*(float *)(param_1 + 0x10)); return; } ############ FUN_ 1805365c0 size=8 ############ TypeDescriptor * .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 1805346b0 size=56 ############ void .?AV?$IIRFilterExtended@M$01@@::vtbl___AV__IIRFilterExtended_M_01__(undefined8 *param_1) { FUN_1812a5870(param_1 + 0xc); *param_1 = AudioProcessingModule::vftable; *(undefined4 *)((longlong)param_1 + 0x54) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[9]); } ############ FUN_ 18052fb50 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; } ############ FUN_ 18052fb30 size=31 ############ void .?AV?$IIRFilterExtended@M$01@@::vtbl___AV__IIRFilterExtended_M_01__(longlong param_1) { *(undefined8 *)(param_1 + 0xa8) = 0; *(undefined8 *)(param_1 + 0x98) = 0; *(undefined8 *)(param_1 + 0xb0) = 0; *(undefined8 *)(param_1 + 0xa0) = 0; return; } ############ FUN_ 180538460 size=12 ############ void .?AV?$IIRFilterExtended@M$01@@::vtbl___AV__IIRFilterExtended_M_01__(longlong param_1) { .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(param_1 + -0x3d0); return; } ############ FUN_ 180529c50 size=8 ############ void .?AV?$IIRFilterExtended@M$01@@::vtbl___AV__IIRFilterExtended_M_01__(longlong param_1) { *(undefined1 *)(param_1 + 0x5404dd) = 1; return; } ############ FUN_ 180589260 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]); } ############ FUN_ 18058b4d0 size=36 ############ void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong param_1) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 0xf8); if (lVar1 != 0) { *(undefined4 *)(lVar1 + 0x204) = 0x3f800000; FUN_18058cb60(lVar1,*(undefined4 *)(lVar1 + 0x208)); return; } return; } ############ FUN_ 18058b380 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; } ############ FUN_ 18134bb30 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; } ############ FUN_ 18134bad0 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; } ############ FUN_ 18134c900 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; } ############ FUN_ 18134c760 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; } ############ FUN_ 18134c3a0 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; } ############ FUN_ 18134c270 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); } ############ FUN_ 1805689c0 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; } ############ FUN_ 18134be30 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; } ############ FUN_ 18134bcf0 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; } ############ FUN_ 18134bc50 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; } ############ FUN_ 18134bc20 size=34 ############ longlong * .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (longlong param_1,longlong *param_2) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 0x58); if (lVar1 == 0) { *param_2 = 0; return param_2; } LOCK(); *(int *)(lVar1 + 0x10) = *(int *)(lVar1 + 0x10) + 1; UNLOCK(); *param_2 = lVar1; return param_2; } ############ FUN_ 18058ad80 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; } ############ FUN_ 18134ba90 size=20 ############ void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(longlong param_1) { if (*(longlong **)(param_1 + 0x18) != (longlong *)0x0) { /* WARNING: Could not recover jumptable at 0x00018134ba9c. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(**(longlong **)(param_1 + 0x18) + 0xe8))(); return; } return; } ############ FUN_ 18058af50 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; } ############ FUN_ 18134b940 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; } ############ FUN_ 18134b870 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; } ############ FUN_ 181a06ff0 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; } ############ FUN_ 181a07170 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,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); } ############ FUN_ 18058d230 size=47 ############ void .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__(undefined8 *param_1) { *param_1 = AudioProcessingModule::vftable; *(undefined4 *)((longlong)param_1 + 0x54) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[9]); } ############ FUN_ 18058c850 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; } ############ FUN_ 18058c8b0 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; } ############ FUN_ 18058c7b0 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; } ############ FUN_ 18058e330 size=22 ############ undefined8 * .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__ (longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,bool,int>::vftable; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18058e400 size=42 ############ undefined1 .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__ (longlong param_1,uint *param_2) { if (*param_2 < *(uint *)(*(longlong *)(param_1 + 8) + 0x84)) { return *(undefined1 *) (*(longlong *) (*(longlong *)(*(longlong *)(param_1 + 8) + 0x78) + (longlong)(int)*param_2 * 8) + 0x810); } return uRam0000000000000810; } ############ FUN_ 18058e320 size=8 ############ TypeDescriptor * .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 18058eb10 size=12 ############ void .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__(longlong param_1) { FUN_18058c630(param_1 + -0xe0); return; } ############ FUN_ 18058b500 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); } ############ FUN_ 18058eb1c size=12 ############ void .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___(longlong param_1) { FUN_18058c630(param_1 + -200); return; } ############ FUN_ 18058b010 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; } ############ FUN_ 18058eab0 size=12 ############ void .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___(longlong param_1) { vtbl___AV__FilterGraph_M_05_0CAA___(param_1 + -0xb0); return; } ############ FUN_ 18160b000 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; } ############ FUN_ 1805893c0 size=52 ############ void * .?AV?$FilterGraph@M$05$0CAA@@@::vtbl___AV__FilterGraph_M_05_0CAA___ (void *param_1,ulonglong param_2) { FUN_18160dba0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18160c410 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; } ############ FUN_ 18058e360 size=22 ############ undefined8 * FUN_18058e360(longlong param_1,undefined8 *param_2) { undefined8 uVar1; *param_2 = std::_Func_impl_no_alloc<,float*___ptr64,int> ::vftable; uVar1 = *(undefined8 *)(param_1 + 0x10); param_2[1] = *(undefined8 *)(param_1 + 8); param_2[2] = uVar1; return param_2; } ############ FUN_ 18058e350 size=8 ############ TypeDescriptor * FUN_18058e350(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 18058eb04 size=12 ############ void FUN_18058eb04(longlong param_1) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1 + -0xf0); return; } ############ FUN_ 18058c4b0 size=116 ############ void .?AV?$FilterGraphGrid@M@@::vtbl___AV__FilterGraphGrid_M__(undefined8 *param_1) { undefined8 *puVar1; *param_1 = FilterGraphGrid::vftable; param_1[0x16] = FilterGraphGrid::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]); } ############ FUN_ 1805895c0 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; } ############ FUN_ 180589f40 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; } ############ FUN_ 18058eaf8 size=12 ############ void .?AV?$FilterGraphGrid@M@@::vtbl___AV__FilterGraphGrid_M__(longlong param_1) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1 + -0xb0); return; } ############ FUN_ 180568990 size=48 ############ undefined8 .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__(longlong param_1) { if (*(longlong *)(param_1 + 8) == 0) { FUN_180569ff0(param_1 + -0xb0); return *(undefined8 *)(param_1 + 8); } return *(undefined8 *)(param_1 + 8); } ############ FUN_ 18058d2b0 size=47 ############ void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(undefined8 *param_1) { *param_1 = AudioProcessingModule::vftable; *(undefined4 *)((longlong)param_1 + 0x54) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[9]); } ############ FUN_ 18058e2d0 size=22 ############ undefined8 * .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (longlong param_1,undefined8 *param_2) { *param_2 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18058e450 size=196 ############ void .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (longlong param_1,undefined8 *param_2,float *param_3) { float fVar1; undefined1 uVar2; int iVar3; uint uVar4; int *_Memory; undefined4 local_res8; char *local_res10; FUN_18049c9e0(&local_res10,*param_2); fVar1 = *param_3; iVar3 = atoi(local_res10); if (iVar3 < 0) { uVar4 = *(uint *)(local_res10 + -0x10); } else { if (0.0 < fVar1) { if (fVar1 < DAT_1824c3ea4) { uVar2 = (undefined1)(int)(fVar1 * DAT_1824c454c); } else { uVar2 = 0xff; } } else { uVar2 = 0; } local_res8 = CONCAT13(uVar2,(int3)*(undefined4 *) (*(longlong *)(param_1 + 8) + 0x99c4 + (longlong)iVar3 * 4)); *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x99c4 + (longlong)iVar3 * 4) = local_res8; *(undefined1 *)(*(longlong *)(param_1 + 8) + 0x9a01) = 1; uVar4 = *(uint *)(local_res10 + -0x10); } _Memory = (int *)(local_res10 + -0x10); if ((uVar4 & 0x30000000) == 0) { LOCK(); iVar3 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 18058e2c0 size=8 ############ TypeDescriptor * .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180535ed0 size=52 ############ void * .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(void *param_1,ulonglong param_2) { FUN_180535f10(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180529c60 size=548 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ (longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, int param_5) { uint *puVar1; uint uVar2; undefined8 uVar3; int iVar4; int iVar5; longlong lVar6; float fVar7; float fVar8; double dVar9; double dVar10; LOCK(); puVar1 = (uint *)(param_1 + 0x2404dc); uVar2 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); if ((uVar2 & 1) == 0) { lVar6 = (longlong)param_5; iVar4 = *(int *)(param_1 + 100) / 2; iVar5 = iVar4 + 1; FUN_1805355d0(*(undefined8 *)(param_1 + 0x540678 + lVar6 * 0x10),param_2,iVar5); if (0 < *(int *)(param_1 + 0x1b0)) { lVar6 = *(longlong *)(param_1 + 0x540678 + lVar6 * 0x10); FUN_180530080(lVar6,lVar6 + 4,iVar4); FUN_18052d920(lVar6); uVar3 = *(undefined8 *)(param_1 + 0x5406f8); iVar5 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar5 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(lVar6 + 4,lVar6,uVar3,iVar4); } uVar3 = *(undefined8 *)(param_1 + 0x540678 + lVar6 * 0x10); fVar7 = (float)FUN_1804d56b0(uVar3,iVar5); fVar8 = expf((*(float *)(param_1 + 0x54087c) * DAT_1824c4478 - DAT_1824c44d0) * _DAT_1824c3cd4); FUN_18052d8a0(uVar3,uVar3,fVar8 * fVar7,iVar5); dVar10 = (double)((*(float *)(param_1 + 0x24) / (float)*(int *)(param_1 + 0x1a0)) * (float)*(int *)(param_1 + 0x1ac)) * DAT_1824c3e30; dVar9 = (double)fmax(DAT_1824c42d8,DAT_1824c3cf8); dVar10 = pow(DAT_1824c3f70,DAT_1824c4140 / (dVar9 * dVar10)); FUN_18052d920(*(undefined8 *)(param_1 + 0x5407a8 + lVar6 * 0x10)); FUN_18052dae0(*(undefined8 *)(param_1 + 0x5407a8 + lVar6 * 0x10), *(undefined8 *)(param_1 + 0x540678 + lVar6 * 0x10),DAT_1824c3ea4 - (float)dVar10, iVar5); FUN_18052dbc0(*(undefined8 *)(param_1 + 0x540678 + lVar6 * 0x10), *(undefined8 *)(param_1 + 0x5407a8 + lVar6 * 0x10),iVar5); LOCK(); *(undefined4 *)(param_1 + 0x2404dc) = 0; UNLOCK(); } return; } ############ FUN_ 180529ef0 size=227 ############ ulonglong .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1) { uint *puVar1; uint uVar2; ulonglong in_RAX; LOCK(); puVar1 = (uint *)(param_1 + 0x2404dc); uVar2 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); if ((uVar2 & 1) == 0) { if (*(int *)(param_1 + 0x5408a8) < 1) { *(int *)(param_1 + 0x5408a8) = (int)(*(int *)(param_1 + 0x1ac) + (*(int *)(param_1 + 0x1ac) >> 0x1f & 3U)) >> 2; if (*(char *)(param_1 + 0x54089c) != '\0') { *(undefined1 *)(param_1 + 0x54089c) = 0; LOCK(); uVar2 = *(uint *)(param_1 + 0x2404dc); *(uint *)(param_1 + 0x2404dc) = 0; UNLOCK(); return (ulonglong)uVar2; } if ((*(char *)(param_1 + 0x54089d) != '\0') || (*(char *)(param_1 + 0x54089e) != '\0')) { FUN_180530b60(); *(undefined2 *)(param_1 + 0x54089d) = 0; LOCK(); uVar2 = *(uint *)(param_1 + 0x2404dc); *(uint *)(param_1 + 0x2404dc) = 0; UNLOCK(); return (ulonglong)uVar2; } if (*(char *)(param_1 + 0x54089f) != '\0') { FUN_180530d30(); *(undefined1 *)(param_1 + 0x54089f) = 0; LOCK(); uVar2 = *(uint *)(param_1 + 0x2404dc); *(uint *)(param_1 + 0x2404dc) = 0; UNLOCK(); return (ulonglong)uVar2; } if (*(char *)(param_1 + 0x5408a0) != '\0') { FUN_180530d30(); *(undefined1 *)(param_1 + 0x5408a0) = 0; LOCK(); uVar2 = *(uint *)(param_1 + 0x2404dc); *(uint *)(param_1 + 0x2404dc) = 0; UNLOCK(); return (ulonglong)uVar2; } } else { *(int *)(param_1 + 0x5408a8) = *(int *)(param_1 + 0x5408a8) + -1; } LOCK(); uVar2 = *(uint *)(param_1 + 0x2404dc); *(uint *)(param_1 + 0x2404dc) = 0; in_RAX = (ulonglong)uVar2; UNLOCK(); } return in_RAX; } ############ FUN_ 18052bba0 size=68 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1,float param_2) { float fVar1; fVar1 = expf((param_2 * DAT_1824c4348 + _DAT_1824c44a4) * _DAT_1824c3cd4); *(int *)(param_1 + 0x5408a4) = *(int *)(param_1 + 0x5408a4) + 1; *(float *)(param_1 + 0x540870) = fVar1; *(undefined1 *)(param_1 + 0x54089c) = 1; return; } ############ FUN_ 18052bb80 size=22 ############ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ (longlong param_1,undefined4 param_2) { *(int *)(param_1 + 0x5408a4) = *(int *)(param_1 + 0x5408a4) + 1; *(undefined4 *)(param_1 + 0x540878) = param_2; *(undefined1 *)(param_1 + 0x54089d) = 1; return; } ############ FUN_ 18052bb60 size=22 ############ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ (longlong param_1,undefined4 param_2) { *(int *)(param_1 + 0x5408a4) = *(int *)(param_1 + 0x5408a4) + 1; *(undefined4 *)(param_1 + 0x54087c) = param_2; *(undefined1 *)(param_1 + 0x54089e) = 1; return; } ############ FUN_ 18052bb40 size=22 ############ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ (longlong param_1,undefined4 param_2) { *(int *)(param_1 + 0x5408a4) = *(int *)(param_1 + 0x5408a4) + 1; *(undefined4 *)(param_1 + 0x540880) = param_2; *(undefined1 *)(param_1 + 0x54089f) = 1; return; } ############ FUN_ 18052bb20 size=22 ############ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ (longlong param_1,undefined4 param_2) { *(int *)(param_1 + 0x5408a4) = *(int *)(param_1 + 0x5408a4) + 1; *(undefined4 *)(param_1 + 0x540884) = param_2; *(undefined1 *)(param_1 + 0x5408a0) = 1; return; } ############ FUN_ 18052bb00 size=17 ############ undefined4 .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1,undefined4 param_2) { undefined4 uVar1; LOCK(); uVar1 = *(undefined4 *)(param_1 + 0x540874); *(undefined4 *)(param_1 + 0x540874) = param_2; UNLOCK(); return uVar1; } ############ FUN_ 18052bad0 size=39 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1,float param_2) { float fVar1; fVar1 = expf(param_2 * _DAT_1824c3cd4); *(float *)(param_1 + 0x540888) = fVar1; return; } ############ FUN_ 18052baa0 size=39 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1,float param_2) { float fVar1; fVar1 = expf(param_2 * _DAT_1824c3cd4); *(float *)(param_1 + 0x54088c) = fVar1; return; } ############ FUN_ 18052ba50 size=71 ############ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1,float param_2) { float fVar1; float fVar2; if (*(int *)(param_1 + 0x30) == 2) { fVar1 = param_2 * DAT_1824c41e0; if (DAT_1824c3ea4 <= param_2 * DAT_1824c41e0) { fVar1 = DAT_1824c3ea4; } fVar2 = (DAT_1824c3ea4 - param_2) * DAT_1824c41e0; if (DAT_1824c3ea4 <= fVar2) { fVar2 = DAT_1824c3ea4; } *(float *)(param_1 + 0x20) = fVar1; *(float *)(param_1 + 0x1c) = fVar2; return; } *(undefined4 *)(param_1 + 0x1c) = 0x3f800000; *(undefined4 *)(param_1 + 0x20) = 0x3f800000; return; } ############ FUN_ 18052ba20 size=13 ############ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ (longlong param_1,undefined1 param_2) { *(undefined1 *)(param_1 + 0x5408b8) = param_2; FUN_18052e9b0(param_1,1); return; } ############ FUN_ 18052b9b0 size=104 ############ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__ (longlong param_1,undefined4 param_2,int param_3) { int iVar1; *(undefined4 *)(param_1 + 0x240498 + (longlong)param_3 * 4) = param_2; *(undefined1 *)(param_1 + 0x5408ad) = 1; 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; } ############ FUN_ 18052b990 size=17 ############ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1,int param_2) { FUN_18052e260(param_1,*(int *)(param_1 + 0x1b0) * param_2 * 2); return; } ############ FUN_ 18052b980 size=15 ############ undefined8 .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1,int param_2) { return *(undefined8 *)(param_1 + 0x540728 + (longlong)param_2 * 0x10); } ############ FUN_ 18052b960 size=17 ############ undefined4 .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1) { return *(undefined4 *)(param_1 + 0x540874); } ############ FUN_ 18052b950 size=12 ############ undefined1 .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1) { undefined1 uVar1; LOCK(); uVar1 = *(undefined1 *)(param_1 + 0x5408af); *(undefined1 *)(param_1 + 0x5408af) = 1; UNLOCK(); return uVar1; } ############ FUN_ 1805369d0 size=22 ############ undefined8 * .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 180537bd0 size=109 ############ void .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(longlong param_1,float *param_2) { undefined4 uVar1; longlong lVar2; undefined4 local_res8; local_res8 = SUB84((double)*param_2 + DAT_1824c4520,0); uVar1 = *(undefined4 *)(DAT_182673f50 + (longlong)local_res8 * 4); lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x168); if (5 < *(uint *)(lVar2 + 0x444)) { *(undefined4 *)(*(longlong *)(*(longlong *)(lVar2 + 0x438) + 0x28) + 0x800) = uVar1; *(undefined1 *)(lVar2 + 0x24046c) = 1; FUN_18052fc30(); return; } uRam0000000000000800 = uVar1; *(undefined1 *)(lVar2 + 0x24046c) = 1; FUN_18052fc30(); return; } ############ FUN_ 1805369c0 size=8 ############ TypeDescriptor * .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180536e50 size=22 ############ undefined8 * FUN_180536e50(longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 180537410 size=30 ############ void FUN_180537410(longlong param_1,float *param_2) { longlong *plVar1; plVar1 = *(longlong **)(*(longlong *)(param_1 + 8) + 0x168); /* WARNING: Could not recover jumptable at 0x00018053742a. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar1 + 0x68))(plVar1,*param_2 * DAT_1824c3cb8); return; } ############ FUN_ 180536e40 size=8 ############ TypeDescriptor * FUN_180536e40(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 1805367c0 size=22 ############ undefined8 * FUN_1805367c0(longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 180537f80 size=24 ############ void FUN_180537f80(longlong param_1,float *param_2) { LOCK(); *(bool *)(*(longlong *)(param_1 + 8) + 0x938) = 0.0 < *param_2; UNLOCK(); return; } ############ FUN_ 1805367b0 size=8 ############ TypeDescriptor * FUN_1805367b0(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180536940 size=22 ############ undefined8 * FUN_180536940(longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 180537c80 size=25 ############ void FUN_180537c80(longlong param_1,undefined4 *param_2) { longlong *plVar1; plVar1 = *(longlong **)(*(longlong *)(param_1 + 8) + 0x168); /* WARNING: Could not recover jumptable at 0x000180537c92. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar1 + 0xa0))(plVar1,*param_2); return; } ############ FUN_ 180536930 size=8 ############ TypeDescriptor * FUN_180536930(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 1805649b0 size=80 ############ void * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(void *param_1,ulonglong param_2) { FUN_18052fa60((longlong)param_1 + 0xa0); FUN_18052fa60((longlong)param_1 + 0x88); FUN_1805619f0((longlong)param_1 + 8); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805644b0 size=14 ############ undefined8 * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(undefined8 param_1,undefined8 *param_2) { *param_2 = &DAT_1824b0528; return param_2; } ############ FUN_ 1805644c0 size=24 ############ void .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1) { *(undefined4 *)(param_1 + 0xbc) = *(undefined4 *)(*(longlong *)(param_1 + 0xc0) + 0x88); FUN_180564570(); return; } ############ FUN_ 1805615b0 size=65 ############ undefined8 * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(undefined8 param_1,undefined8 *param_2) { undefined8 local_res10; undefined1 local_res18 [16]; *param_2 = 0; param_2[1] = 0; param_2[2] = 0; local_res10 = 0x100000000; FUN_18056d350(param_2,&local_res10,local_res18); return param_2; } ############ FUN_ 1805644e0 size=66 ############ undefined8 .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1,int param_2) { float fVar1; if (param_2 == 1) { fVar1 = *(float *)(*(longlong *)(param_1 + 0xc0) + 0x88); if (*(float *)(param_1 + 0xbc) != fVar1) { *(float *)(param_1 + 0xbc) = fVar1; FUN_180564570(); return 1; } } return 0; } ############ FUN_ 180564530 size=54 ############ void .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1) { undefined4 uVar1; glLineWidth(DAT_1824c3ea4); uVar1 = (**(code **)(*(longlong *)(param_1 + 8) + 0x18))(param_1 + 8); /* WARNING: Could not recover jumptable at 0x00018056455f. Too many branches */ /* WARNING: Treating indirect jump as call */ glDrawArrays(1,0,uVar1); return; } ############ FUN_ 180560370 size=43 ############ undefined8 * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(undefined8 *param_1,ulonglong param_2) { *param_1 = CloudyModalContainer::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18056f770 size=22 ############ undefined8 * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void>::vftable; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056fb00 size=45 ############ void .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1) { FUN_181411d60(*(longlong *)(*(longlong *)(*(longlong *)(param_1 + 8) + 0x498) + 0xf8) + 0x148, "phase",DAT_1824c3ea4); return; } ############ FUN_ 18056f760 size=8 ############ TypeDescriptor * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 18055e9f0 size=78 ############ void .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1) { undefined1 local_res8 [8]; FUN_18055eb10(param_1 + 0x48); *(undefined ***)(param_1 + 0x40) = ConfigOption::vftable; FUN_18056a760(param_1 + 0x30,local_res8,**(undefined8 **)(param_1 + 0x30), *(undefined8 **)(param_1 + 0x30)); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x30)); } ############ FUN_ 181411fb0 size=481 ############ void .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1,ulonglong param_2) { void *_Dst; char cVar1; int iVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; int iVar9; undefined8 *puVar10; undefined8 *local_res8; iVar2 = *(int *)(param_2 + 0x8c); lVar3 = *(longlong *)(param_2 + 0x80); iVar9 = 0; lVar4 = 0; if (0 < iVar2) { do { if (param_1 == *(longlong *)(lVar3 + lVar4 * 8)) { _Dst = (void *)(lVar3 + (longlong)iVar9 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar9) + -1) << 3); *(int *)(param_2 + 0x8c) = *(int *)(param_2 + 0x8c) + -1; iVar2 = *(int *)(param_2 + 0x8c); iVar9 = 0; if (0 < iVar2 * 2) { iVar9 = iVar2 * 2; } if (iVar9 < *(int *)(param_2 + 0x88)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(param_2 + 0x88)) { FUN_18047cb30((longlong *)(param_2 + 0x80)); } } break; } iVar9 = iVar9 + 1; lVar4 = lVar4 + 1; } while (lVar4 < iVar2); } EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); puVar10 = *(undefined8 **)(param_1 + 0x20); cVar1 = *(char *)((longlong)puVar10[1] + 0x19); local_res8 = puVar10; puVar7 = (undefined8 *)puVar10[1]; while (cVar1 == '\0') { if ((ulonglong)puVar7[4] < param_2) { puVar5 = (undefined8 *)puVar7[2]; puVar7 = local_res8; } else { puVar5 = (undefined8 *)*puVar7; } local_res8 = puVar7; puVar7 = puVar5; cVar1 = *(char *)((longlong)puVar5 + 0x19); } if ((local_res8 == puVar10) || (param_2 < (ulonglong)local_res8[4])) { local_res8 = puVar10; } if (local_res8 != puVar10) { puVar7 = (undefined8 *)puVar10[1]; cVar1 = *(char *)((longlong)puVar7 + 0x19); puVar5 = puVar10; puVar8 = puVar7; while (cVar1 == '\0') { if ((ulonglong)puVar8[4] < param_2) { puVar6 = (undefined8 *)puVar8[2]; puVar8 = puVar5; } else { if ((*(char *)((longlong)puVar10 + 0x19) != '\0') && (param_2 < (ulonglong)puVar8[4])) { puVar10 = puVar8; } puVar6 = (undefined8 *)*puVar8; } puVar5 = puVar8; puVar8 = puVar6; cVar1 = *(char *)((longlong)puVar6 + 0x19); } if (*(char *)((longlong)puVar10 + 0x19) == '\0') { puVar7 = (undefined8 *)*puVar10; } cVar1 = *(char *)((longlong)puVar7 + 0x19); while (cVar1 == '\0') { if (param_2 < (ulonglong)puVar7[4]) { puVar8 = (undefined8 *)*puVar7; puVar10 = puVar7; } else { puVar8 = (undefined8 *)puVar7[2]; } puVar7 = puVar8; cVar1 = *(char *)((longlong)puVar8 + 0x19); } while (puVar5 != puVar10) { puVar7 = (undefined8 *)puVar5[2]; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; } } else { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar8 = (undefined8 *)puVar5[1]; puVar7 = puVar5; while ((puVar5 = puVar8, cVar1 == '\0' && (puVar7 == (undefined8 *)puVar5[2]))) { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar8 = (undefined8 *)puVar5[1]; puVar7 = puVar5; } } } FUN_18056a8e0(param_1 + 0x20,&local_res8); } /* WARNING: Could not recover jumptable at 0x00018141218a. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); return; } ############ FUN_ 18056ebf0 size=22 ############ undefined8 * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056ee00 size=67 ############ void .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1,undefined4 *param_2) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 8); if (*(int *)(lVar1 + 0x84) != 0) { *(undefined4 *)(**(longlong **)(lVar1 + 0x78) + 0x80c) = *param_2; *(undefined1 *)(lVar1 + 0x2400a7) = 1; FUN_18052fc30(); return; } uRam000000000000080c = *param_2; *(undefined1 *)(lVar1 + 0x2400a7) = 1; FUN_18052fc30(); return; } ############ FUN_ 18056ebe0 size=8 ############ TypeDescriptor * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 18056e8c0 size=22 ############ undefined8 * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1,undefined8 *param_2) { undefined8 uVar1; *param_2 = std:: _Func_impl_no_alloc<,float,float,float,float> ::vftable; uVar1 = *(undefined8 *)(param_1 + 0x10); param_2[1] = *(undefined8 *)(param_1 + 8); param_2[2] = uVar1; return param_2; } ############ FUN_ 18056f540 size=100 ############ undefined4 .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__ (longlong param_1,float *param_2,float *param_3,float *param_4) { int iVar1; int iVar2; iVar1 = *(int *)(param_1 + 8) + -1; iVar2 = SUB84((double)(((float)*(int *)(param_1 + 8) / (*param_3 - *param_2)) * (*param_4 - *param_2)) + DAT_1824c4520,0); if (iVar2 < 0) { iVar2 = 0; } else if (iVar1 < iVar2) { iVar2 = iVar1; } return *(undefined4 *) (**(longlong **)(*(longlong *)(param_1 + 0x10) + 0x100) + (longlong)iVar2 * 4); } ############ FUN_ 18056e8b0 size=8 ############ TypeDescriptor * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 18056f660 size=22 ############ undefined8 * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056fd00 size=16 ############ void .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(longlong param_1) { FUN_181608b50(*(undefined8 *)(*(longlong *)(param_1 + 8) + 0x8f8)); return; } ############ FUN_ 18056f650 size=8 ############ TypeDescriptor * .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180570e2c size=12 ############ void FUN_180570e2c(longlong param_1) { FUN_180564cf0(param_1 + -0x140); return; } ############ FUN_ 18056e950 size=22 ############ undefined8 * FUN_18056e950(longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056f250 size=80 ############ void FUN_18056f250(longlong param_1,float *param_2) { undefined4 uVar1; longlong lVar2; lVar2 = *(longlong *)(param_1 + 8); uVar1 = *(undefined4 *)(DAT_182673f50 + (longlong)(int)*param_2 * 4); if (5 < *(uint *)(lVar2 + 0x84)) { *(undefined4 *)(*(longlong *)(*(longlong *)(lVar2 + 0x78) + 0x28) + 0x800) = uVar1; *(undefined1 *)(lVar2 + 0x2400ac) = 1; FUN_18052fc30(); return; } uRam0000000000000800 = uVar1; *(undefined1 *)(lVar2 + 0x2400ac) = 1; FUN_18052fc30(); return; } ############ FUN_ 18056e940 size=8 ############ TypeDescriptor * FUN_18056e940(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 18056ebc0 size=22 ############ undefined8 * FUN_18056ebc0(longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056ee50 size=67 ############ void FUN_18056ee50(longlong param_1,undefined4 *param_2) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 8); if (*(int *)(lVar1 + 0x84) != 0) { *(undefined4 *)(**(longlong **)(lVar1 + 0x78) + 0x804) = *param_2; *(undefined1 *)(lVar1 + 0x2400a7) = 1; FUN_18052fc30(); return; } uRam0000000000000804 = *param_2; *(undefined1 *)(lVar1 + 0x2400a7) = 1; FUN_18052fc30(); return; } ############ FUN_ 18056ebb0 size=8 ############ TypeDescriptor * FUN_18056ebb0(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 18055e150 size=32 ############ void .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__(longlong param_1) { *(undefined4 *)(param_1 + 0x14) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 8)); } ############ FUN_ 181639430 size=21 ############ undefined8 * .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 *param_2) { *(undefined4 *)(param_2 + 1) = 1; *param_2 = &PTR_vftable_18262b570; return param_2; } ############ FUN_ 18055e070 size=33 ############ undefined8 .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"GainRangeScaling"); return param_2; } ############ FUN_ 181639320 size=33 ############ undefined8 .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"Display range of the reduction graph"); return param_2; } ############ FUN_ 1811d2340 size=920 ############ /* WARNING: Removing unreachable block (ram,0x0001811d25c3) */ void .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (longlong *param_1,undefined8 param_2) { undefined8 uVar1; ulonglong uVar2; uint uVar3; int unaff_retaddr; undefined1 auStack_168 [32]; int local_148; undefined *local_140; undefined4 *local_138; undefined8 local_130; uint local_120; undefined8 local_118; longlong *local_110; undefined8 local_d8; undefined1 local_c8 [32]; undefined8 local_a8; undefined1 local_90 [80]; ulonglong local_40; ulonglong uVar4; local_a8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_168; uVar3 = (uint)&stack0x00000000 & 0x27f; uVar4 = (ulonglong)uVar3; local_120 = ((uVar3 + 2) * (uVar3 + 1) * uVar3) % 3 + 0xe90a ^ 0xea3a; local_130 = param_2; local_110 = param_1; local_d8 = param_2; uVar1 = (**(code **)(*param_1 + 0x10))(param_1,local_c8); FUN_1811de3f0(local_90,uVar1); FUN_18124a7e0(local_c8); uVar2 = 0x180000000; local_118 = 0x100; local_138 = &DAT_18145e1bc; local_140 = &DAT_18145e2bc; do { FUN_1811d2fca(0xf024); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = (DAT_18145e1bc ^ 0x811c9e53) * 0x10001d1; local_148 = (DAT_18145e1c0 ^ uVar3) * 0x10001d1; (*(code *)&LAB_1811a1bf5)(uVar3,~(~uVar2 + 1) + 1,uVar4); return; } ############ FUN_ 18055e0a0 size=157 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (longlong *param_1,undefined8 *param_2) { uint uVar1; longlong **pplVar2; undefined1 auStack_58 [32]; longlong *local_38; undefined1 local_30 [8]; undefined8 local_28; undefined8 *local_20; ulonglong local_18; local_28 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; local_20 = param_2; uVar1 = (**(code **)(*(longlong *)*param_2 + 8))((longlong *)*param_2,param_2 + 1); if (uVar1 < 3) { local_38 = (longlong *)*param_2; (**(code **)(*local_38 + 0xb8))(local_38,local_30,param_2 + 1); pplVar2 = &local_38; } else { pplVar2 = (longlong **)(**(code **)(*param_1 + 8))(param_1,&local_38); } FUN_1811d0a50(param_1,pplVar2); (**(code **)(*(longlong *)*param_2 + 0xb0))((longlong *)*param_2,param_2 + 1); } ############ FUN_ 1816393e0 size=70 ############ undefined4 .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 *param_2) { int iVar1; iVar1 = (**(code **)(*(longlong *)*param_2 + 8))((longlong *)*param_2,param_2 + 1); if (iVar1 != 2) { if (iVar1 == 1) { return DAT_1824c41e0; } if (iVar1 == 0) { return DAT_1824c4388; } } return DAT_1824c3ea4; } ############ FUN_ 181639350 size=127 ############ undefined8 * .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 *param_2,undefined8 *param_3) { int iVar1; iVar1 = (**(code **)(*(longlong *)*param_3 + 8))((longlong *)*param_3,param_3 + 1); if (iVar1 == 2) { FUN_18049c4e0(param_2,"large (from -18 dB to +18 dB)"); return param_2; } if (iVar1 == 0) { FUN_18049c4e0(param_2,"precise (from -3 dB to +3 dB)"); return param_2; } if (iVar1 == 1) { FUN_18049c4e0(param_2,"default (from -9 dB to +9 dB)"); return param_2; } *param_2 = &DAT_1821dbf98; return param_2; } ############ FUN_ 18055e7e0 size=39 ############ void .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__(longlong param_1) { FUN_180488c50(param_1 + 8); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 8)); } ############ FUN_ 18055e5f0 size=48 ############ undefined8 * .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 *param_2) { int *piVar1; longlong lVar2; *param_2 = &PTR_vftable_18262b560; lVar2 = DAT_182673918; param_2[1] = DAT_182673918; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(lVar2 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } return param_2; } ############ FUN_ 18055e620 size=33 ############ undefined8 .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"EditorSizeOption"); return param_2; } ############ FUN_ 1811d2320 size=24 ############ undefined8 .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (longlong *param_1,undefined8 param_2) { (**(code **)(*param_1 + 0x10))(); return param_2; } ############ FUN_ 18055e650 size=365 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 *param_2) { uint uVar1; longlong lVar2; longlong lVar3; int iVar4; int iVar5; uint *_Memory; undefined ***pppuVar6; undefined1 auStack_88 [32]; longlong local_68; undefined **local_60; longlong local_58; undefined **local_50; undefined1 local_48 [8]; undefined8 local_40; undefined8 *local_38; ulonglong local_30; local_40 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_88; local_38 = param_2; (**(code **)(*(longlong *)*param_2 + 0x20))((longlong *)*param_2,&local_68,param_2 + 1); lVar3 = local_68; iVar5 = 0; if (local_68 == DAT_1826738c8) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(local_68); } lVar2 = DAT_182673918; if (iVar4 != 0) { if (lVar3 == DAT_182673918) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(lVar3,DAT_182673918); } if (iVar4 != 0) { if (lVar3 == DAT_1826737c0) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(lVar3); } if (iVar4 != 0) { if (lVar3 != DAT_182673808) { iVar5 = FUN_18048cbc0(lVar3); } if (iVar5 != 0) { local_60 = &PTR_vftable_18262b560; local_58 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } pppuVar6 = &local_60; goto LAB_18055e770; } } } } local_50 = (undefined **)*param_2; (**(code **)(*local_50 + 0xb8))(local_50,local_48,param_2 + 1); pppuVar6 = &local_50; LAB_18055e770: FUN_1811d0a50(param_1,pppuVar6); _Memory = (uint *)(local_68 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*(longlong *)*param_2 + 0xb0))((longlong *)*param_2,param_2 + 1); } ############ FUN_ 18056ea70 size=22 ############ undefined8 * .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (longlong param_1,undefined8 *param_2) { undefined8 uVar1; *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; uVar1 = *(undefined8 *)(param_1 + 0x10); param_2[1] = *(undefined8 *)(param_1 + 8); param_2[2] = uVar1; return param_2; } ############ FUN_ 18056f0a0 size=30 ############ void .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (longlong param_1,undefined4 *param_2) { *(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x2400d8 + (longlong)*(int *)(param_1 + 8) * 4) = *param_2; *(undefined1 *)(*(longlong *)(param_1 + 0x10) + 0x240108) = 1; return; } ############ FUN_ 18056ea60 size=8 ############ TypeDescriptor * .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 18056f870 size=14 ############ undefined8 * .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void>::vftable; return param_2; } ############ FUN_ 18056f860 size=8 ############ TypeDescriptor * .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 1805619b0 size=56 ############ /* Library Function - Single Match public: void * __ptr64 __cdecl MRECmpImpl::`scalar deleting destructor'(unsigned int) __ptr64 Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release */ void * __thiscall MRECmpImpl::_scalar_deleting_destructor_(MRECmpImpl *this,uint param_1) { FUN_1805619f0(this + 8); if ((param_1 & 1) != 0) { /* WARNING: Subroutine does not return */ free(this); } return this; } ############ FUN_ 180570e80 size=12 ############ void .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@:: vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____(longlong param_1) { FUN_180564300(param_1 + -0x80); return; } ############ FUN_ 180570e50 size=12 ############ void .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@:: vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____(longlong param_1) { FUN_180564cf0(param_1 + -0x8a8); return; } ############ FUN_ 1813d3b10 size=12 ############ void .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@:: vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____(longlong param_1) { FUN_1813d59f0(param_1 + -0x8a8); return; } ############ FUN_ 18056f710 size=22 ############ undefined8 * .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@::vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____ (longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void>::vftable; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056fb60 size=39 ############ void .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@:: vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____(longlong param_1) { undefined8 *puVar1; puVar1 = *(undefined8 **)(*(longlong *)(param_1 + 8) + 0x488); *(undefined8 *)(*(longlong *)(param_1 + 8) + 0x488) = 0; if (puVar1 != (undefined8 *)0x0) { /* WARNING: Could not recover jumptable at 0x00018056fb83. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)*puVar1)(puVar1,1); return; } return; } ############ FUN_ 18056f700 size=8 ############ TypeDescriptor * .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@::vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____ (void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 1804834e0 size=33 ############ void * .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@:: vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____(void *param_1,ulonglong param_2) { if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18056f6e0 size=22 ############ undefined8 * .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@::vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____ (longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,juce::String,float> ::vftable; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056fb90 size=79 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@:: vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____ (undefined8 param_1,undefined8 param_2,float *param_3) { longlong lVar1; undefined1 auStack_58 [32]; undefined8 local_38; undefined1 local_11; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; local_38 = param_2; lVar1 = FUN_181233e10(&local_10,(int)*param_3); FUN_180495150(param_2,lVar1,&local_11 + -lVar1); } ############ FUN_ 18056f6d0 size=8 ############ TypeDescriptor * .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@::vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____ (void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180570f1c size=12 ############ void .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@:: vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____(longlong param_1) { FUN_180568c40(param_1 + -0x120); return; } ############ FUN_ 180565bd0 size=200 ############ int * .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@:: vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____(longlong param_1,int *param_2) { code *pcVar1; undefined8 uVar2; longlong lVar3; int iVar4; float fVar5; int local_res8; uint uStackX_c; uVar2 = (**(code **)(*(longlong *)(param_1 + -0x120) + 0x180))(param_1 + -0x120); pcVar1 = *(code **)(*(longlong *)(param_1 + 0x20) + 8); if (pcVar1 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { lVar3 = *(longlong *)(param_1 + 0x28); } else { lVar3 = (*pcVar1)(); } fVar5 = *(float *)(lVar3 + 0x88) * DAT_1824c42d0; local_res8 = 0; uStackX_c = *(uint *)(*(longlong *)(param_1 + 0x378) + 0x2c); FUN_18051db10(&local_res8,param_1 + -0x120,uVar2,(ulonglong)uStackX_c << 0x20); iVar4 = (int)fVar5; *param_2 = local_res8 + iVar4; param_2[1] = uStackX_c + iVar4; return param_2; } ############ FUN_ 180564360 size=43 ############ undefined8 * .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (undefined8 *param_1,ulonglong param_2) { *param_1 = Soothe2ModuleBase::Listener::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180570e08 size=12 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1) { FUN_180564cf0(param_1 + -0x120); return; } ############ FUN_ 18056ea10 size=22 ############ undefined8 * .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056f130 size=83 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1,float *param_2) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 8); if (*(uint *)(lVar1 + 0x84) < 6) { uRam0000000000000810 = *param_2 == 0.0; *(undefined1 *)(lVar1 + 0x2400ac) = 1; FUN_18052fc30(); return; } *(bool *)(*(longlong *)(*(longlong *)(lVar1 + 0x78) + 0x28) + 0x810) = *param_2 == 0.0; *(undefined1 *)(lVar1 + 0x2400ac) = 1; FUN_18052fc30(); return; } ############ FUN_ 18056ea00 size=8 ############ TypeDescriptor * .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180570ebc size=12 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1) { FUN_180568c40(param_1 + -0x118); return; } ############ FUN_ 180565f20 size=366 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1,longlong param_2) { longlong *plVar1; longlong *plVar2; undefined1 auVar3 [16]; longlong lVar4; undefined8 *puVar5; longlong *plVar6; undefined1 (*pauVar7) [16]; undefined8 *local_res8; undefined1 local_18 [16]; if (param_2 == *(longlong *)(*(longlong *)(param_1 + 0x380) + 0x108)) { plVar1 = (longlong *)(param_1 + -0x118); plVar2 = (longlong *)(param_1 + 0x368); if (*plVar2 == 0) { plVar6 = (longlong *)(**(code **)(*plVar1 + 0x198))(plVar1,&local_res8); if (plVar2 != plVar6) { lVar4 = *plVar6; *plVar6 = 0; puVar5 = (undefined8 *)*plVar2; *plVar2 = lVar4; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } } if (local_res8 != (undefined8 *)0x0) { (**(code **)*local_res8)(local_res8,1); } plVar6 = (longlong *)*plVar2; if (plVar6 != (longlong *)0x0) { (**(code **)(*plVar6 + 0x58))(plVar6,1); FUN_181343cc0(plVar1,plVar6,0xffffffff); } } if (((int)((longlong *)*plVar2)[0x18] - 1U & 0xfffffffd) == 0) { pauVar7 = (undefined1 (*) [16])(**(code **)(*plVar1 + 400))(plVar1,local_18); lVar4 = *plVar2; auVar3 = *pauVar7; *(undefined1 (*) [16])(lVar4 + 0xc4) = auVar3; FUN_18134bfe0(lVar4,auVar3._0_8_,auVar3._0_8_ >> 0x20,auVar3._8_8_,auVar3._12_4_); FUN_181344f60(*plVar2,1); if ((*(longlong *)(param_1 + 0x390) != 0) && ((*(byte *)(*(longlong *)(param_1 + 0x390) + 0xa8) & 2) != 0)) { FUN_181344e50(*plVar2); } /* WARNING: Could not recover jumptable at 0x00018056606f. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*(longlong *)*plVar2 + 0x160))(); return; } (**(code **)(*(longlong *)*plVar2 + 0x168))(); } return; } ############ FUN_ 18056e9e0 size=22 ############ undefined8 * .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056f190 size=68 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1,undefined4 *param_2) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 8); if (5 < *(uint *)(lVar1 + 0x84)) { *(undefined4 *)(*(longlong *)(*(longlong *)(lVar1 + 0x78) + 0x28) + 0x80c) = *param_2; *(undefined1 *)(lVar1 + 0x2400ac) = 1; FUN_18052fc30(); return; } uRam000000000000080c = *param_2; *(undefined1 *)(lVar1 + 0x2400ac) = 1; FUN_18052fc30(); return; } ############ FUN_ 18056e9d0 size=8 ############ TypeDescriptor * .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180570eec size=12 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1) { .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (param_1 + -0xb0); return; } ############ FUN_ 18056eb60 size=22 ############ undefined8 * .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056eec0 size=79 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1,float *param_2) { undefined4 uVar1; longlong lVar2; lVar2 = *(longlong *)(param_1 + 8); uVar1 = *(undefined4 *)(DAT_182673f90 + (longlong)(int)*param_2 * 4); if (*(int *)(lVar2 + 0x84) != 0) { *(undefined4 *)(**(longlong **)(lVar2 + 0x78) + 0x800) = uVar1; *(undefined1 *)(lVar2 + 0x2400a7) = 1; FUN_18052fc30(); return; } uRam0000000000000800 = uVar1; *(undefined1 *)(lVar2 + 0x2400a7) = 1; FUN_18052fc30(); return; } ############ FUN_ 18056eb50 size=8 ############ TypeDescriptor * .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180570df0 size=12 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1) { FUN_180562ab0(param_1 + -0x80); return; } ############ FUN_ 18055fda0 size=284 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__ (longlong param_1,undefined8 param_2,undefined8 *param_3) { uint *_Memory; uint uVar1; char cVar2; int iVar3; undefined4 uVar4; undefined1 auStack_78 [32]; undefined4 local_58; longlong local_48; undefined8 local_40; undefined8 *local_38; ulonglong local_30; local_40 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_78; local_48 = *(longlong *)(param_1 + 0x2e8); _Memory = (uint *)(local_48 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_38 = param_3; iVar3 = FUN_18048cbc0(param_2,local_48); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (iVar3 == 0) { cVar2 = (**(code **)(*(longlong *)*param_3 + 0x28))((longlong *)*param_3,param_3 + 1); uVar4 = DAT_1824c3ea4; if (cVar2 == '\0') { uVar4 = 0; } local_58 = DAT_1824c4680; FUN_181411be0(param_1 + 0x138,"alpha",uVar4); uVar4 = 0; if (cVar2 == '\0') { uVar4 = DAT_1824c3c70; } FUN_181411d60(param_1 + 0x138,"offset",uVar4); } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 180570ef8 size=9 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1) { FUN_180562ab0(param_1 + -0x78); return; } ############ FUN_ 18055fd70 size=41 ############ void .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (longlong param_1) { FUN_18055fee0(); if (*(longlong **)(param_1 + 0x60) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } /* WARNING: Could not recover jumptable at 0x00018055fd96. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(**(longlong **)(param_1 + 0x60) + 0x10))(); return; } ############ FUN_ 18056e980 size=22 ############ undefined8 * .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,void,float>::vftable ; param_2[1] = *(undefined8 *)(param_1 + 8); return param_2; } ############ FUN_ 18056f230 size=22 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1,undefined4 *param_2) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 8); *(undefined4 *)(lVar1 + 0x2400ec) = *param_2; *(undefined1 *)(lVar1 + 0x240108) = 1; return; } ############ FUN_ 18056e970 size=8 ############ TypeDescriptor * .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 180570eb0 size=12 ############ void .?AVListener@?$Soothe2ModuleBase@M$01@@::vtbl___AVListener___Soothe2ModuleBase_M_01__ (longlong param_1) { FUN_180564cf0(param_1 + -0x110); return; } ############ FUN_ 180565a70 size=260 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (longlong param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; int iVar2; longlong *plVar3; uint *puVar4; undefined1 auStack_68 [32]; longlong local_48; longlong local_40 [2]; undefined8 *local_30; ulonglong local_28; local_40[1] = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_68; local_30 = param_3; plVar3 = (longlong *) (**(code **)(*(longlong *)(param_1 + 0x410) + 0x10)) ((longlong *)(param_1 + 0x410),local_40); if (*param_2 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*param_2,*plVar3); } puVar4 = (uint *)(local_40[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (iVar2 == 0) { (**(code **)(*(longlong *)*param_3 + 0x20))((longlong *)*param_3,&local_48,param_3 + 1); FUN_180568f80(param_1 + -0x110,&local_48); puVar4 = (uint *)(local_48 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } else { FUN_180569a90(param_1 + 0x88); } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 180570ec8 size=12 ############ void .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__(longlong param_1) { FUN_180564300(param_1 + -0x88); return; } ############ FUN_ 180562fd0 size=12 ############ void .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__(longlong param_1) { FUN_180562fe0(param_1 + -0x88); return; } ############ FUN_ 180561240 size=52 ############ void * .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (void *param_1,ulonglong param_2) { FUN_180561290(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181413fd0 size=126 ############ void .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__(longlong param_1) { int iVar1; if ((*(char *)(param_1 + 0x240108) != '\0') || (*(char *)(param_1 + 0x2400a4) != '\0')) { if (*(char *)(param_1 + 0x2400a4) != '\0') { *(undefined1 *)(param_1 + 0x2400a4) = 0; FUN_18052fbd0(); } iVar1 = *(int *)(param_1 + 0x24011c); while (0 < iVar1) { iVar1 = iVar1 + -1; if ((*(int *)(param_1 + 0x24011c) <= iVar1) && (iVar1 = *(int *)(param_1 + 0x24011c) + -1, iVar1 < 0)) break; FUN_180492ef8(*(undefined8 *)(*(longlong *)(param_1 + 0x240110) + (longlong)iVar1 * 8)); } *(undefined1 *)(param_1 + 0x240108) = 0; } return; } ############ FUN_ 18056f690 size=14 ############ undefined8 * .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 *param_2) { *param_2 = std::_Func_impl_no_alloc<,juce::String,float> ::vftable; return param_2; } ############ FUN_ 180537680 size=31 ############ undefined8 .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__ (undefined8 param_1,undefined8 param_2,undefined4 *param_3) { FUN_18141afd0(param_2,*param_3); return param_2; } ############ FUN_ 18056f680 size=8 ############ TypeDescriptor * .?AVSoothe2AudioProcessorEditor@@::vtbl___AVSoothe2AudioProcessorEditor__(void) { return &::RTTI_Type_Descriptor; } ############ FUN_ 181a058a0 size=1095 ############ void FUN_181a058a0(longlong param_1) { ulonglong *puVar1; ulonglong *puVar2; longlong *plVar3; char *pcVar4; float *pfVar5; uint *puVar6; int iVar7; longlong *plVar8; code *pcVar9; ulonglong uVar10; float fVar11; float fVar12; float fVar13; bool bVar14; double dVar15; uint uVar16; undefined8 *puVar17; longlong lVar18; undefined8 uVar19; undefined8 uVar20; longlong lVar21; float *pfVar22; undefined4 *puVar23; longlong lVar24; ulonglong uVar25; longlong lVar26; longlong lVar27; ulonglong uVar28; ulonglong uVar29; uint uVar30; ulonglong uVar31; char cVar32; float fVar33; float fVar34; int local_res8; undefined4 local_res18 [2]; undefined4 local_res20 [2]; float afStack_b8 [4]; longlong *local_a8; undefined4 *puStack_a0; undefined1 local_98 [16]; undefined1 local_88 [72]; if (*(longlong *)(*(longlong *)(param_1 + 0x1b8) + 0x168) == 0) { return; } if (*(char *)(param_1 + 0x1e0) == '\0') { return; } *(undefined1 *)(param_1 + 0x1e0) = 0; uVar31 = *(longlong *)(param_1 + 0xe8) - *(longlong *)(param_1 + 0xe0) >> 2; puVar17 = (undefined8 *)FUN_1812c37c0(*(longlong *)(param_1 + 0x1b8),local_98); uVar25 = 0; if (*(int *)((longlong)puVar17 + 0xc) == 0) { local_res8 = 0; } else { local_res8 = FUN_18123d3f0(*puVar17); } FUN_18047c500(local_88); FUN_18047c500(local_98); puVar1 = (ulonglong *)(param_1 + 0x128); uVar30 = (uint)uVar31; lVar24 = (longlong)(int)uVar30; iVar7 = *(int *)(*(longlong *)(*(longlong *)(param_1 + 0x1b8) + 0x168) + 100) / 2 + 1; if ((longlong)(*(longlong *)(param_1 + 0x130) - *puVar1) >> 2 != lVar24) { FUN_18056cd00(puVar1,lVar24); } puVar2 = (ulonglong *)(param_1 + 0x140); if ((longlong)(*(longlong *)(param_1 + 0x148) - *puVar2) >> 2 != lVar24) { FUN_18056cd00(puVar2,lVar24); FUN_1812b4430(*puVar2); } plVar3 = (longlong *)(param_1 + 0xf8); if (*(longlong *)(param_1 + 0x100) - *plVar3 >> 2 != (longlong)iVar7) { puStack_a0 = local_res18; local_res18[0] = 0; local_a8 = plVar3; FUN_18058fc80(plVar3,(longlong)iVar7,&local_a8); } bVar14 = false; plVar8 = *(longlong **)(*(longlong *)(param_1 + 0x1b8) + 0x168); pcVar9 = *(code **)(*plVar8 + 0xd0); if (pcVar9 == .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__) { LOCK(); pcVar4 = (char *)((longlong)plVar8 + 0x2404bd); cVar32 = *pcVar4; *pcVar4 = '\0'; UNLOCK(); cVar32 = cVar32 != '\0'; } else { cVar32 = (*pcVar9)(); } if (cVar32 == '\0') { if (*(int *)(param_1 + 0x228) < 1) { bVar14 = true; } else { *(int *)(param_1 + 0x228) = *(int *)(param_1 + 0x228) + -1; } } else { *(undefined4 *)(param_1 + 0x228) = 3; } cVar32 = (**(code **)(**(longlong **)(*(longlong *)(param_1 + 0x1b8) + 0x168) + 0xe8))(); fVar34 = DAT_1824c3ea4; if ((cVar32 != '\0') || (bVar14)) { local_res20[0] = 0; FUN_1805686c0(puVar1,lVar24,local_res20); fVar33 = DAT_1824c3d18; if (!bVar14) goto LAB_181a05d2e; } else { lVar26 = *(longlong *)(*(longlong *)(param_1 + 0x1b8) + 0x168); do { LOCK(); puVar6 = (uint *)(lVar26 + 0x2404b8); uVar16 = *puVar6; *puVar6 = *puVar6 | 1; UNLOCK(); } while ((uVar16 & 1) != 0); plVar8 = *(longlong **)(*(longlong *)(param_1 + 0x1b8) + 0x168); lVar18 = *plVar8; if (local_res8 == 1) { lVar18 = (**(code **)(lVar18 + 0xd8))(); fVar33 = DAT_1824c3c3c; uVar28 = uVar25; if (3 < lVar24) { lVar27 = *(longlong *)(param_1 + 0xe0) - *puVar1; pfVar22 = (float *)(*puVar1 + 4); lVar21 = (lVar24 - 4U >> 2) + 1; uVar28 = lVar21 * 4; do { pfVar22[-1] = *(float *)(lVar18 + (longlong)*(int *)((longlong)pfVar22 + lVar27 + -4) * 4) + fVar33; *pfVar22 = *(float *)(lVar18 + (longlong)*(int *)((longlong)pfVar22 + lVar27) * 4) + fVar33; pfVar22[1] = *(float *)(lVar18 + (longlong)*(int *)((longlong)pfVar22 + lVar27 + 4) * 4) + fVar33; pfVar22[2] = *(float *)(lVar18 + (longlong)*(int *)((longlong)pfVar22 + lVar27 + 8) * 4) + fVar33; pfVar22 = pfVar22 + 4; lVar21 = lVar21 + -1; } while (lVar21 != 0); } if ((longlong)uVar28 < lVar24) { uVar25 = *puVar1; lVar26 = *(longlong *)(param_1 + 0xe0); lVar24 = lVar24 - uVar28; pfVar22 = (float *)(uVar25 + uVar28 * 4); do { *pfVar22 = *(float *)(lVar18 + (longlong)*(int *)((longlong)pfVar22 + (lVar26 - uVar25)) * 4) + fVar33; pfVar22 = pfVar22 + 1; lVar24 = lVar24 + -1; } while (lVar24 != 0); FUN_181a05cc3(); return; } } else { lVar21 = *plVar3; uVar19 = (**(code **)(lVar18 + 0xd8))(plVar8,0); FUN_18052dbc0(lVar21,uVar19,iVar7); uVar19 = *(undefined8 *)(param_1 + 0xf8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x1b8) + 0x168); uVar20 = (**(code **)(*plVar3 + 0xd8))(plVar3,1); FUN_180530010(uVar19,uVar19,uVar20,iVar7); uVar28 = uVar25; if (3 < lVar24) { lVar18 = *(longlong *)(param_1 + 0xf8); lVar21 = *(longlong *)(param_1 + 0xe0) - *puVar1; lVar27 = (lVar24 - 4U >> 2) + 1; uVar28 = lVar27 * 4; puVar23 = (undefined4 *)(*puVar1 + 4); do { puVar23[-1] = *(undefined4 *) (lVar18 + (longlong)*(int *)((longlong)puVar23 + lVar21 + -4) * 4); *puVar23 = *(undefined4 *)(lVar18 + (longlong)*(int *)((longlong)puVar23 + lVar21) * 4); puVar23[1] = *(undefined4 *) (lVar18 + (longlong)*(int *)((longlong)puVar23 + lVar21 + 4) * 4); puVar23[2] = *(undefined4 *) (lVar18 + (longlong)*(int *)((longlong)puVar23 + lVar21 + 8) * 4); lVar27 = lVar27 + -1; puVar23 = puVar23 + 4; } while (lVar27 != 0); } if ((longlong)uVar28 < lVar24) { uVar10 = *puVar1; lVar18 = *(longlong *)(param_1 + 0xe0); lVar21 = *(longlong *)(param_1 + 0xf8); lVar27 = lVar24 - uVar28; puVar23 = (undefined4 *)(uVar10 + uVar28 * 4); do { *puVar23 = *(undefined4 *) (lVar21 + (longlong)*(int *)((longlong)puVar23 + (lVar18 - uVar10)) * 4); lVar27 = lVar27 + -1; puVar23 = puVar23 + 1; } while (lVar27 != 0); } } LOCK(); *(undefined4 *)(lVar26 + 0x2404b8) = 0; UNLOCK(); fVar33 = (float)(**(code **)(**(longlong **)(*(longlong *)(param_1 + 0x1b8) + 0x168) + 0xe0))(); FUN_1812b3270(*puVar1); FUN_1812b3db0(*puVar1,fVar34 - fVar33,uVar31 & 0xffffffff); uVar28 = *puVar1; FUN_180535a70(uVar28,uVar28,uVar31 & 0xffffffff); FUN_18052d920(uVar28); LAB_181a05d2e: fVar33 = DAT_1824c3df0; } fVar34 = fVar34 - fVar33; uVar31 = uVar25; if ((0 < (int)uVar30) && (uVar31 = 0, 0xf < uVar30)) { uVar28 = *puVar2; uVar10 = *puVar1; if ((uVar10 + (longlong)(int)(uVar30 - 1) * 4 < uVar28) || (uVar28 + (longlong)(int)(uVar30 - 1) * 4 < uVar10)) { uVar16 = uVar30 & 0x8000000f; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffff0) + 1; } pfVar22 = (float *)(uVar28 + 0x20); uVar31 = uVar25; uVar29 = uVar25; do { uVar31 = (ulonglong)((int)uVar31 + 0x10); pfVar5 = (float *)((longlong)pfVar22 + uVar10 + (-0x20 - uVar28)); fVar11 = pfVar5[1]; fVar12 = pfVar5[2]; fVar13 = pfVar5[3]; uVar29 = uVar29 + 0x10; pfVar22[-8] = *pfVar5 * fVar33 + pfVar22[-8] * fVar34; pfVar22[-7] = fVar11 * fVar33 + pfVar22[-7] * fVar34; pfVar22[-6] = fVar12 * fVar33 + pfVar22[-6] * fVar34; pfVar22[-5] = fVar13 * fVar33 + pfVar22[-5] * fVar34; pfVar5 = (float *)((longlong)pfVar22 + uVar10 + (-0x10 - uVar28)); fVar11 = pfVar5[1]; fVar12 = pfVar5[2]; fVar13 = pfVar5[3]; pfVar22[-4] = *pfVar5 * fVar33 + pfVar22[-4] * fVar34; pfVar22[-3] = fVar11 * fVar33 + pfVar22[-3] * fVar34; pfVar22[-2] = fVar12 * fVar33 + pfVar22[-2] * fVar34; pfVar22[-1] = fVar13 * fVar33 + pfVar22[-1] * fVar34; pfVar5 = (float *)((longlong)pfVar22 + (uVar10 - uVar28)); fVar11 = pfVar5[1]; fVar12 = pfVar5[2]; fVar13 = pfVar5[3]; *pfVar22 = *pfVar5 * fVar33 + *pfVar22 * fVar34; pfVar22[1] = fVar11 * fVar33 + pfVar22[1] * fVar34; pfVar22[2] = fVar12 * fVar33 + pfVar22[2] * fVar34; pfVar22[3] = fVar13 * fVar33 + pfVar22[3] * fVar34; pfVar5 = (float *)((longlong)pfVar22 + uVar10 + (0x10 - uVar28)); fVar11 = pfVar5[1]; fVar12 = pfVar5[2]; fVar13 = pfVar5[3]; pfVar22[4] = *pfVar5 * fVar33 + pfVar22[4] * fVar34; pfVar22[5] = fVar11 * fVar33 + pfVar22[5] * fVar34; pfVar22[6] = fVar12 * fVar33 + pfVar22[6] * fVar34; pfVar22[7] = fVar13 * fVar33 + pfVar22[7] * fVar34; pfVar22 = pfVar22 + 0x10; } while ((longlong)uVar29 < (longlong)(int)(uVar30 - uVar16)); } } lVar26 = (longlong)(int)uVar31; if (lVar26 < lVar24) { if (3 < lVar24 - lVar26) { uVar31 = *puVar2; uVar28 = *puVar1; pfVar22 = (float *)(uVar31 + 8 + lVar26 * 4); lVar18 = ((lVar24 - lVar26) - 4U >> 2) + 1; lVar26 = lVar26 + lVar18 * 4; do { lVar21 = uVar28 + (-8 - uVar31); pfVar22[-2] = fVar34 * pfVar22[-2] + fVar33 * *(float *)(lVar21 + (longlong)pfVar22); pfVar22[-1] = fVar33 * *(float *)(lVar21 + 4 + (longlong)pfVar22) + fVar34 * pfVar22[-1]; *pfVar22 = fVar33 * *(float *)((uVar28 - uVar31) + (longlong)pfVar22) + fVar34 * *pfVar22; pfVar22[1] = fVar33 * *(float *)(uVar28 + (4 - uVar31) + (longlong)pfVar22) + fVar34 * pfVar22[1]; pfVar22 = pfVar22 + 4; lVar18 = lVar18 + -1; } while (lVar18 != 0); } if (lVar26 < lVar24) { uVar31 = *puVar2; uVar28 = *puVar1; pfVar22 = (float *)(uVar31 + lVar26 * 4); lVar26 = lVar24 - lVar26; do { *pfVar22 = fVar33 * *(float *)((longlong)pfVar22 + (uVar28 - uVar31)) + fVar34 * *pfVar22; pfVar22 = pfVar22 + 1; lVar26 = lVar26 + -1; } while (lVar26 != 0); } } fVar34 = (float)FUN_180487300(*(undefined8 *)(param_1 + 0x1c8)); dVar15 = DAT_1824c4140; plVar3 = (longlong *)(param_1 + 400); *(undefined8 *)(param_1 + 0x19c) = 0; *(undefined8 *)(param_1 + 0x1a4) = 0; *(undefined4 *)(param_1 + 0x1ac) = 0; fVar34 = (float)((dVar15 - (double)fVar34) * (double)*(int *)(param_1 + 0x16c)); if (*(int *)(param_1 + 0x19c) == 0) { *(float *)(param_1 + 0x1a8) = fVar34; *(undefined8 *)(param_1 + 0x1a0) = 0; } else { if (*(float *)(param_1 + 0x1a0) <= 0.0) { if (*(float *)(param_1 + 0x1a4) <= 0.0 && *(float *)(param_1 + 0x1a4) != 0.0) { *(undefined4 *)(param_1 + 0x1a4) = 0; } } else { *(undefined4 *)(param_1 + 0x1a0) = 0; } if (fVar34 < *(float *)(param_1 + 0x1a8)) { *(float *)(param_1 + 0x1a8) = fVar34; goto LAB_181a06023; } if (fVar34 < *(float *)(param_1 + 0x1ac) || fVar34 == *(float *)(param_1 + 0x1ac)) goto LAB_181a06023; } *(float *)(param_1 + 0x1ac) = fVar34; LAB_181a06023: FUN_1804b02a0(plVar3,&DAT_1821df344,0,fVar34); lVar26 = *(longlong *)(param_1 + 0x1b8); cVar32 = FUN_180528c00(lVar26); uVar30 = DAT_1824c4f30; if ((cVar32 == '\0') && (*(char *)(lVar26 + 0x939) == '\0')) { bVar14 = false; } else { bVar14 = true; } if (0 < lVar24) { do { afStack_b8[0] = *(float *)(*puVar2 + uVar25 * 4); if (bVar14) { afStack_b8[0] = (float)((uint)afStack_b8[0] ^ uVar30); } afStack_b8[0] = afStack_b8[0] * *(float *)(param_1 + 0x164); plVar8 = *(longlong **)(param_1 + 0x220); if (plVar8 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar8 + 0x10))(plVar8,afStack_b8); FUN_18129ddd0(plVar3); uVar25 = uVar25 + 1; } while ((longlong)uVar25 < lVar24); } FUN_18129ddd0(plVar3); if (!bVar14) { FUN_18129ddd0(plVar3); FUN_18129ddd0(plVar3); } iVar7 = *(int *)(param_1 + 0x19c); if ((iVar7 != 0) && ((iVar7 < 1 || (*(float *)(*plVar3 + (longlong)(iVar7 + -1) * 4) != DAT_1824c460c)))) { if (*(int *)(param_1 + 0x198) < iVar7 + 1) { FUN_1804af790(plVar3,iVar7 + 9 + (iVar7 + 1) / 2 & 0xfffffff8); } iVar7 = *(int *)(param_1 + 0x19c); *(int *)(param_1 + 0x19c) = iVar7 + 1; *(undefined4 *)(*plVar3 + (longlong)iVar7 * 4) = 0x47c35280; } return; } ############ FUN_ 180001a90 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615cc8)[DAT_1826159a0])(); return; } ############ FUN_ 18052db50 size=104 ############ void FUN_18052db50(undefined8 param_1,undefined8 param_2,undefined4 param_3) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0((double)(float)param_2,param_1,param_3); } ############ FUN_ 1805334e0 size=122 ############ void FUN_1805334e0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { longlong lVar1; int iVar2; int local_18; undefined4 local_14; FUN_18052f640(param_1,&local_18,param_4,0,0); lVar1 = *(longlong *)(param_1 + 0x20); iVar2 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_3,lVar1 + (longlong)local_18 * 4,param_2,local_14); } ############ FUN_ 1800019d0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615bc8)[DAT_1826159a0])(); return; } ############ FUN_ 1805305f0 size=579 ############ undefined8 * FUN_1805305f0(undefined8 *param_1) { undefined8 **ppuVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *puVar4; undefined8 *local_res8; ppuVar1 = (undefined8 **)(param_1 + 1); *ppuVar1 = (undefined8 *)0x0; *(undefined4 *)(param_1 + 2) = 0x3f800000; *(undefined8 *)((longlong)param_1 + 0x24) = 0; *(undefined4 *)((longlong)param_1 + 0x2c) = 0x3f800000; *(undefined4 *)(param_1 + 6) = 2; *(undefined4 *)((longlong)param_1 + 0x44) = 1; param_1[9] = 0; param_1[10] = 0; *(undefined4 *)(param_1 + 0xb) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x1c) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x14) = 0x3f800000; *(undefined4 *)(param_1 + 4) = 0x3f800000; *(undefined4 *)(param_1 + 3) = 0x3f800000; *param_1 = SpectralProcessor::vftable; local_res8 = param_1; FUN_180533670(param_1 + 0xc); *(undefined4 *)(param_1 + 0x33) = 0x10000; *(undefined4 *)((longlong)param_1 + 0x19c) = 0x1000; *(undefined4 *)(param_1 + 0x34) = 1; *(undefined4 *)((longlong)param_1 + 0x1a4) = 0x3f800000; *(undefined4 *)(param_1 + 0x35) = 1; *(undefined4 *)((longlong)param_1 + 0x1ac) = 4; param_1[0x36] = 2; *(undefined1 *)(param_1 + 0x37) = 0; _eh_vector_constructor_iterator_ (param_1 + 0x38,0x40,2,(_func_void_void_ptr *)&LAB_180533300,FUN_18052bcb0); _eh_vector_constructor_iterator_ (param_1 + 0x48,0x40,2,(_func_void_void_ptr *)&LAB_180533300,FUN_18052bcb0); _eh_vector_constructor_iterator_ (param_1 + 0x58,0x40,2,(_func_void_void_ptr *)&LAB_180533300,FUN_18052bcb0); param_1[0x68] = 0; *(undefined4 *)(param_1 + 0x69) = 0; param_1[0x6a] = 0; *(undefined4 *)(param_1 + 0x6b) = 0; _eh_vector_constructor_iterator_ (param_1 + 0x6c,0x10,2,(_func_void_void_ptr *)&LAB_180533330,FUN_18052e220); param_1[0x72] = 0; *(undefined4 *)(param_1 + 0x73) = 0; param_1[0x74] = 0; *(undefined4 *)(param_1 + 0x75) = 0; param_1[0x76] = 0; *(undefined4 *)(param_1 + 0x77) = 0; *(undefined4 *)(param_1 + 0x79) = 1; *(undefined1 *)((longlong)param_1 + 0x3cc) = 1; *(undefined4 *)(param_1 + 6) = 2; *(undefined4 *)((longlong)param_1 + 0x44) = 0x10000; uVar3 = FUN_1811316e0(0x128); puVar4 = (undefined8 *) FUN_180535db0(uVar3,*(undefined4 *)(param_1 + 6), *(undefined4 *)((longlong)param_1 + 0x44)); if (ppuVar1 == &local_res8) { if (puVar4 != (undefined8 *)0x0) { /* WARNING: Subroutine does not return */ free((void *)puVar4[3]); } } else { puVar2 = *ppuVar1; *ppuVar1 = puVar4; if (puVar2 != (undefined8 *)0x0) { /* WARNING: Subroutine does not return */ free((void *)puVar2[3]); } } FUN_180534840(param_1 + 9,*(undefined4 *)((longlong)param_1 + 0x44)); FUN_18052e130(param_1); return param_1; } ############ FUN_ 18052e9b0 size=3167 ############ void FUN_18052e9b0(longlong param_1,char param_2) { uint *puVar1; float *pfVar2; uint uVar3; int iVar4; uint uVar5; undefined8 uVar6; ulonglong uVar7; ulonglong uVar8; int iVar9; uint uVar10; int *piVar11; int iVar12; float *pfVar13; longlong lVar14; ulonglong uVar15; int iVar16; int iVar17; int iVar18; int iVar19; char *pcVar20; float fVar21; float fVar22; undefined8 extraout_XMM0_Qb; float fVar23; double dVar24; float fVar25; float fVar26; float fVar27; float fVar28; float fVar29; do { LOCK(); puVar1 = (uint *)(param_1 + 0x2404dc); uVar3 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); } while ((uVar3 & 1) != 0); uVar3 = *(int *)(param_1 + 0x2404e0) + 0x6dc0cf6U & 0x8000007f; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar3; fVar22 = DAT_1824c3c58; fVar29 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4); fVar27 = (float)DAT_18262b704; fVar21 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4); fVar25 = (float)DAT_18262b5c8; uVar3 = *(int *)(param_1 + 0x2404e0) + 0x1763eaU & 0x8000007f; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar3; iVar17 = (int)(fVar25 * fVar21 * fVar27 * fVar29 + fVar22) * DAT_18262b700 - (int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4) + fVar22) * DAT_18262b700; uVar3 = *(int *)(param_1 + 0x2404e0) + 0x6dc2ce2U & 0x8000007f; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar3; iVar9 = (int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4) + fVar22) * DAT_18262b700; uVar3 = *(int *)(param_1 + 0x2404e0) + 0x4bf29aU & 0x8000007f; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar3; fVar29 = (float)((int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4) + fVar22) * DAT_18262b700); uVar3 = *(int *)(param_1 + 0x2404e0) + 0xcb6294U & 0x8000007f; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar3; fVar27 = DAT_1824c3ea4; fVar21 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4); fVar28 = (float)DAT_18262b704; fVar25 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4); fVar26 = (float)DAT_18262b5c8; uVar3 = *(int *)(param_1 + 0x2404e0) + 0x10b5e0U & 0x8000007f; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xffffff80) + 1; } uVar15 = 0; iVar16 = 0; *(uint *)(param_1 + 0x2404e0) = uVar3; iVar18 = (int)(fVar26 * fVar25 * fVar28 * fVar21 + fVar22) * DAT_18262b700 + (int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar3 * 4) + fVar22) * DAT_18262b700; if (param_2 == '\0') { .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__(param_1); iVar4 = *(int *)(param_1 + 0x1a0) * iVar9 * 8; *(int *)(param_1 + 0x540868) = iVar4; iVar4 = iVar4 / 2 + iVar9; *(int *)(param_1 + 0x54086c) = iVar4; FUN_18052e190(param_1 + 0x540668,iVar4 * 2); FUN_18052e190(param_1 + 0x540698,*(undefined4 *)(param_1 + 0x54086c)); uVar7 = uVar15; uVar8 = uVar15; if (0 < *(int *)(param_1 + 0x5406a0)) { do { uVar3 = (int)uVar8 + 1; *(float *)(uVar7 + *(longlong *)(param_1 + 0x540698)) = fVar29; uVar7 = uVar7 + 4; uVar8 = (ulonglong)uVar3; } while ((int)uVar3 < *(int *)(param_1 + 0x5406a0)); } FUN_18052e190(param_1 + 0x5406a8,*(undefined4 *)(param_1 + 0x54086c)); FUN_18052e190(param_1 + 0x5406b8,*(undefined4 *)(param_1 + 0x54086c)); FUN_18052e190(param_1 + 0x5406c8,*(undefined4 *)(param_1 + 0x54086c)); FUN_18052e190(param_1 + 0x5406d8,*(undefined4 *)(param_1 + 0x54086c)); FUN_18052e190(param_1 + 0x5406e8,*(undefined4 *)(param_1 + 0x54086c)); if (iVar17 < *(int *)(param_1 + 0x30)) { iVar19 = iVar18 * iVar18 * 0x4000; piVar11 = (int *)(((longlong)iVar17 + 0x54073) * 0x10 + param_1); iVar4 = iVar17; do { iVar12 = *(int *)(param_1 + 0x54086c); if (piVar11[-0x2c] == iVar12) { LAB_18052ee7e: uVar7 = uVar15; uVar8 = uVar15; if (0 < piVar11[-0x2c]) { do { uVar3 = (int)uVar8 + 1; *(undefined4 *)(uVar7 + *(longlong *)(piVar11 + -0x2e)) = 0; uVar7 = uVar7 + 4; uVar8 = (ulonglong)uVar3; } while ((int)uVar3 < piVar11[-0x2c]); } } else { if ((0 < piVar11[-0x2c]) && (*(longlong *)(piVar11 + -0x2e) != 0)) { FUN_1800010c0(); } piVar11[-0x2e] = 0; piVar11[-0x2d] = 0; if (iVar12 < 0) { iVar12 = iVar16; } piVar11[-0x2c] = iVar12; if (iVar12 != 0) { uVar6 = FUN_180001080(iVar12 * 4); *(undefined8 *)(piVar11 + -0x2e) = uVar6; goto LAB_18052ee7e; } } if (*piVar11 == iVar19) { LAB_18052eee5: uVar7 = uVar15; uVar8 = uVar15; if (0 < *piVar11) { do { uVar3 = (int)uVar8 + 1; *(undefined4 *)(uVar7 + *(longlong *)(piVar11 + -2)) = 0x3f800000; uVar7 = uVar7 + 4; uVar8 = (ulonglong)uVar3; } while ((int)uVar3 < *piVar11); } } else { if ((0 < *piVar11) && (*(longlong *)(piVar11 + -2) != 0)) { FUN_1800010c0(); } piVar11[-2] = 0; piVar11[-1] = 0; iVar12 = iVar19; if (iVar18 * iVar18 * 0x4000 < 0) { iVar12 = iVar16; } *piVar11 = iVar12; if (iVar12 != 0) { uVar6 = FUN_180001080(iVar12 * 4); *(undefined8 *)(piVar11 + -2) = uVar6; goto LAB_18052eee5; } } iVar12 = *(int *)(param_1 + 0x54086c); if (piVar11[0x20] == iVar12) { LAB_18052ef4b: uVar7 = uVar15; uVar8 = uVar15; if (0 < piVar11[0x20]) { do { uVar3 = (int)uVar8 + 1; *(undefined4 *)(uVar7 + *(longlong *)(piVar11 + 0x1e)) = 0; uVar7 = uVar7 + 4; uVar8 = (ulonglong)uVar3; } while ((int)uVar3 < piVar11[0x20]); } } else { if ((0 < piVar11[0x20]) && (*(longlong *)(piVar11 + 0x1e) != 0)) { FUN_1800010c0(); } piVar11[0x1e] = 0; piVar11[0x1f] = 0; if (iVar12 < 0) { iVar12 = iVar16; } piVar11[0x20] = iVar12; if (iVar12 != 0) { uVar6 = FUN_180001080(iVar12 * 4); *(undefined8 *)(piVar11 + 0x1e) = uVar6; goto LAB_18052ef4b; } } iVar12 = *(int *)(param_1 + 0x54086c); if (piVar11[0x28] == iVar12) { LAB_18052efc4: uVar7 = uVar15; uVar8 = uVar15; if (0 < piVar11[0x28]) { do { uVar3 = (int)uVar8 + 1; *(undefined4 *)(uVar7 + *(longlong *)(piVar11 + 0x26)) = 0x3f800000; uVar7 = uVar7 + 4; uVar8 = (ulonglong)uVar3; } while ((int)uVar3 < piVar11[0x28]); } } else { if ((0 < piVar11[0x28]) && (*(longlong *)(piVar11 + 0x26) != 0)) { FUN_1800010c0(); } piVar11[0x26] = 0; piVar11[0x27] = 0; if (iVar12 < 0) { iVar12 = iVar16; } piVar11[0x28] = iVar12; if (iVar12 != 0) { uVar6 = FUN_180001080(iVar12 * 4); *(undefined8 *)(piVar11 + 0x26) = uVar6; goto LAB_18052efc4; } } iVar4 = iVar4 + 1; piVar11 = piVar11 + 4; } while (iVar4 < *(int *)(param_1 + 0x30)); } FUN_18052e190(param_1 + 0x5406f8,*(int *)(param_1 + 0x540868) << 3); FUN_18052e190(param_1 + 0x540708,*(int *)(param_1 + 0x540868) * iVar18); FUN_18052e190(param_1 + 0x540718,*(int *)(param_1 + 0x540868) * iVar18); FUN_18052e190(param_1 + 0x540798,*(undefined4 *)(param_1 + 0x540868)); uVar7 = uVar15; uVar8 = uVar15; if (0 < *(int *)(param_1 + 0x5407a0)) { do { uVar3 = (int)uVar8 + 1; *(undefined4 *)(uVar7 + *(longlong *)(param_1 + 0x540798)) = 0x3f800000; uVar7 = uVar7 + 4; uVar8 = (ulonglong)uVar3; } while ((int)uVar3 < *(int *)(param_1 + 0x5407a0)); } FUN_18052dc30(param_1 + 0x540530,*(undefined4 *)(param_1 + 100), *(undefined4 *)(param_1 + 0x540868)); FUN_18052fe00(param_1 + 0x540530,iVar18,iVar18); } if (iVar17 < *(int *)(param_1 + 0x30)) { piVar11 = (int *)(((longlong)iVar17 + 0x5407b) * 0x10 + param_1); iVar16 = iVar17; do { uVar7 = uVar15; uVar8 = uVar15; if (0 < piVar11[-0x20]) { do { uVar3 = (int)uVar8 + 1; *(float *)(uVar7 + *(longlong *)(piVar11 + -0x22)) = fVar29; uVar7 = uVar7 + 4; uVar8 = (ulonglong)uVar3; } while ((int)uVar3 < piVar11[-0x20]); } if (0 < *piVar11) { uVar7 = uVar15; uVar8 = uVar15; do { uVar3 = (int)uVar7 + 1; uVar7 = (ulonglong)uVar3; *(float *)(uVar8 + *(longlong *)(piVar11 + -2)) = (float)iVar17; uVar8 = uVar8 + 4; } while ((int)uVar3 < *piVar11); } if (0 < piVar11[8]) { uVar7 = uVar15; uVar8 = uVar15; do { uVar3 = (int)uVar7 + 1; uVar7 = (ulonglong)uVar3; *(float *)(uVar8 + *(longlong *)(piVar11 + 6)) = (float)iVar17; uVar8 = uVar8 + 4; } while ((int)uVar3 < piVar11[8]); } iVar16 = iVar16 + 1; piVar11 = piVar11 + 4; } while (iVar16 < *(int *)(param_1 + 0x30)); } fVar29 = DAT_1824c43e8; pfVar2 = *(float **)(param_1 + 0x540698); uVar3 = *(int *)(param_1 + 100) / 2 + 1; dVar24 = DAT_1824c4140 / ((double)(int)uVar3 - DAT_1824c4140); fVar21 = powf(DAT_1824c43e8,DAT_1824c3dd0); fVar22 = powf(fVar29,fVar27); fVar25 = logf(fVar29); fVar29 = DAT_1824c3e28; fVar25 = DAT_1824c3e28 / fVar25; uVar7 = uVar15; if ((0 < (int)uVar3) && (uVar7 = 0, 3 < uVar3)) { uVar5 = uVar3 & 0x80000003; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffc) + 1; } uVar7 = uVar15; pfVar13 = pfVar2; do { uVar6 = thunk_FUN_181a12cf0(); uVar10 = (int)uVar7 + 4; uVar7 = (ulonglong)uVar10; *pfVar13 = (float)uVar6 * fVar25; pfVar13[1] = (float)((ulonglong)uVar6 >> 0x20) * fVar25; pfVar13[2] = (float)extraout_XMM0_Qb * fVar25; pfVar13[3] = (float)((ulonglong)extraout_XMM0_Qb >> 0x20) * fVar25; pfVar13 = pfVar13 + 4; } while ((int)uVar10 < (int)(uVar3 - uVar5)); } for (lVar14 = (longlong)(int)uVar7; lVar14 < (int)uVar3; lVar14 = lVar14 + 1) { fVar27 = logf((float)(int)uVar7 * (float)dVar24 * (fVar22 - fVar21) + fVar21); uVar7 = (ulonglong)((int)uVar7 + 1); pfVar2[lVar14] = fVar27 * fVar25; } lVar14 = param_1 + 0x3d8; uVar3 = *(int *)(param_1 + 0x2404d0) - iVar9; *(undefined1 *)(param_1 + 0x5408ae) = 1; uVar7 = uVar15; if (uVar3 < *(uint *)(param_1 + 0x444)) { uVar7 = *(ulonglong *)(*(longlong *)(param_1 + 0x438) + (longlong)(int)uVar3 * 8); } *(undefined4 *)(uVar7 + 0x800) = 8; if ((int)uVar3 < 0) { *(undefined4 *)(param_1 + 0x240467) = 0x1010101; *(undefined4 *)(param_1 + 0x24046b) = 0x1010101; } else { *(undefined1 *)((longlong)(int)uVar3 + 0x24008f + lVar14) = 1; } FUN_18052fc30(lVar14); uVar7 = uVar15; if (uVar3 < *(uint *)(param_1 + 0x444)) { uVar7 = *(ulonglong *)(*(longlong *)(param_1 + 0x438) + (longlong)(int)uVar3 * 8); } *(undefined4 *)(uVar7 + 0x804) = 0x457a0000; if ((int)uVar3 < 0) { *(undefined4 *)(param_1 + 0x240467) = 0x1010101; *(undefined4 *)(param_1 + 0x24046b) = 0x1010101; } else { *(undefined1 *)((longlong)(int)uVar3 + 0x24008f + lVar14) = 1; } FUN_18052fc30(lVar14); uVar7 = uVar15; if (uVar3 < *(uint *)(param_1 + 0x444)) { uVar7 = *(ulonglong *)(*(longlong *)(param_1 + 0x438) + (longlong)(int)uVar3 * 8); } *(undefined4 *)(uVar7 + 0x808) = 0x40c00000; if ((int)uVar3 < 0) { *(undefined4 *)(param_1 + 0x240467) = 0x1010101; *(undefined4 *)(param_1 + 0x24046b) = 0x1010101; } else { *(undefined1 *)((longlong)(int)uVar3 + 0x24008f + lVar14) = 1; } FUN_18052fc30(lVar14); fVar21 = DAT_1824c3ea4; if (*(char *)(param_1 + 0x5408b8) == '\0') { fVar29 = DAT_1824c3ea4; } uVar7 = uVar15; if (uVar3 < *(uint *)(param_1 + 0x444)) { uVar7 = *(ulonglong *)(*(longlong *)(param_1 + 0x438) + (longlong)(int)uVar3 * 8); } *(float *)(uVar7 + 0x80c) = fVar29; if ((int)uVar3 < 0) { *(undefined4 *)(param_1 + 0x240467) = 0x1010101; *(undefined4 *)(param_1 + 0x24046b) = 0x1010101; } else { *(undefined1 *)((longlong)(int)uVar3 + 0x24008f + lVar14) = 1; } FUN_18052fc30(lVar14); if ((*(char *)(param_1 + 0x240464) != '\0') && (*(undefined1 *)(param_1 + 0x240464) = 0, 0 < *(int *)(param_1 + 0x24045c))) { pcVar20 = (char *)(param_1 + 0x240467); uVar7 = uVar15; do { if (*pcVar20 != '\0') { FUN_1805316e0(lVar14,uVar7); *pcVar20 = '\0'; } uVar3 = (int)uVar7 + 1; uVar7 = (ulonglong)uVar3; pcVar20 = pcVar20 + 1; } while ((int)uVar3 < *(int *)(param_1 + 0x24045c)); } iVar9 = *(int *)(param_1 + 100) / 2; iVar17 = iVar9 + 1; FUN_18052e190(param_1 + 0x540748,iVar17); fVar27 = DAT_1824c464c; fVar25 = DAT_1824c44ec; fVar22 = DAT_1824c43dc; fVar29 = DAT_1824c43a8; fVar26 = *(float *)(param_1 + 0x24) * DAT_1824c3d8c; uVar7 = uVar15; if (0 < (longlong)iVar17) { do { fVar23 = (float)(int)uVar7 * (fVar21 / (float)iVar9); fVar28 = fVar21; if (fVar23 <= fVar21) { fVar28 = fVar23; } fVar28 = expf((fVar28 * fVar26 - fVar25) * fVar27); *(float *)(*(longlong *)(param_1 + 0x540748) + uVar15 * 4) = fVar22 - (fVar21 / (fVar28 + fVar21)) * fVar29; uVar15 = uVar15 + 1; uVar7 = (ulonglong)((int)uVar7 + 1); } while ((longlong)uVar15 < (longlong)iVar17); } FUN_180530ff0(param_1); iVar17 = *(int *)(param_1 + 100) / 2 + 1; *(int *)(param_1 + 0x2404e8) = iVar17; *(int *)(param_1 + 0x340500) = iVar17; *(int *)(param_1 + 0x440518) = iVar17; fVar29 = ((float)*(int *)(param_1 + 0x19c) / (float)*(int *)(param_1 + 0x1a0)) * (float)iVar17; *(float *)(param_1 + 0x2404f0) = fVar29; *(float *)(param_1 + 0x340508) = fVar29; *(float *)(param_1 + 0x440520) = fVar29; FUN_180530b60(param_1); FUN_180530d30(param_1); FUN_180530850(param_1); *(undefined4 *)(param_1 + 0x54089c) = 0; *(undefined1 *)(param_1 + 0x5408a0) = 0; LOCK(); *(undefined4 *)(param_1 + 0x2404dc) = 0; UNLOCK(); return; } ############ FUN_ 18052fe00 size=392 ############ void FUN_18052fe00(undefined4 *param_1,int param_2,int param_3,undefined4 param_4) { int iVar1; undefined4 local_48; undefined4 local_44; undefined4 local_40; undefined4 local_3c; undefined1 local_38 [4]; undefined4 local_34; undefined4 local_30; undefined4 local_2c; iVar1 = param_1[2]; param_1[4] = param_3; if (iVar1 < 1) { iVar1 = param_1[1]; } FUN_18052e190(param_1 + 0x46,(longlong)iVar1 / (longlong)param_3 & 0xffffffff,0); FUN_18052e190(param_1 + 0x4a,iVar1,0); FUN_1805356f0(*(undefined8 *)(param_1 + 0x46), (longlong)(int)param_1[1] / (longlong)param_3 & 0xffffffff); FUN_18052d830(*(undefined8 *)(param_1 + 0x46),*(undefined8 *)(param_1 + 0x46),param_4, (longlong)(int)param_1[1] / (longlong)param_3 & 0xffffffff); FUN_1805356f0(*(undefined8 *)(param_1 + 0x4a),param_1[1]); FUN_18052d830(*(undefined8 *)(param_1 + 0x4a),*(undefined8 *)(param_1 + 0x4a),param_4,param_1[1]); param_1[3] = param_1[1] * param_2; FUN_1805335c0(param_1,&local_48); if ((int)param_1[2] < 0) { FUN_180534550(param_1 + 0x1e,local_44); FUN_180534550(param_1 + 0x26,local_40); } else { FUN_1805335c0(param_1,local_38,param_1[2] * param_2); FUN_180534550(param_1 + 0x1e,local_34); FUN_180534550(param_1 + 0x26,local_30); local_3c = local_2c; } FUN_180534550(param_1 + 0x22,local_3c); iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_1 + 10); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_1 + 0xc,local_48,*param_1,1,*(undefined8 *)(param_1 + 0x1e), *(undefined8 *)(param_1 + 0x22)); } ############ FUN_ 180530ff0 size=1570 ############ void FUN_180530ff0(longlong param_1) { float fVar1; uint uVar2; longlong lVar3; undefined8 uVar4; int iVar5; ulonglong uVar6; int iVar7; ulonglong uVar8; longlong *plVar9; int *piVar10; char *pcVar11; int iVar12; ulonglong uVar13; longlong lVar14; int iVar15; int iVar16; ulonglong uVar17; float fVar18; float fVar19; float fVar20; float fVar21; uVar2 = *(int *)(param_1 + 0x2404e0) + 0x5737c04U & 0x8000007f; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar2; fVar1 = DAT_1824c3c58; fVar21 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar2 * 4); fVar19 = (float)DAT_18262b704; fVar20 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4); fVar18 = (float)DAT_18262b5c8; uVar2 = *(int *)(param_1 + 0x2404e0) + 0x9d459a6U & 0x8000007f; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar2; iVar16 = (int)(fVar18 * fVar20 * fVar19 * fVar21 + fVar1) * DAT_18262b700 - (int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar2 * 4) + fVar1) * DAT_18262b700; uVar2 = *(int *)(param_1 + 0x2404e0) + 0x8b984cU & 0x8000007f; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar2; iVar15 = (int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar2 * 4) + fVar1) * DAT_18262b700; uVar2 = *(int *)(param_1 + 0x2404e0) + 0xad2c84U & 0x8000007f; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar2; iVar5 = (int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar2 * 4) + fVar1) * DAT_18262b700; uVar2 = *(int *)(param_1 + 0x2404e0) + 0x18507eU & 0x8000007f; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar2; fVar21 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar2 * 4); fVar19 = (float)DAT_18262b704; fVar20 = *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4); fVar18 = (float)DAT_18262b5c8; uVar2 = *(int *)(param_1 + 0x2404e0) + 0x683fde4U & 0x8000007f; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xffffff80) + 1; } *(uint *)(param_1 + 0x2404e0) = uVar2; iVar7 = (int)(fVar18 * fVar20 * fVar19 * fVar21 + fVar1) * DAT_18262b700 + (int)((float)DAT_18262b5c8 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(*(int *)(param_1 + 0x2404e0) + 1) * 4) * (float)DAT_18262b704 * *(float *)(*(longlong *)(param_1 + 0x5408b0) + (longlong)(int)uVar2 * 4) + fVar1) * DAT_18262b700; fVar21 = *(float *)(param_1 + 0x24) / (float)iVar7; FUN_18052e190(param_1 + 0x540758,*(undefined4 *)(param_1 + 0x54086c)); uVar13 = 0; if (0 < *(int *)(param_1 + 0x30)) { plVar9 = (longlong *)(param_1 + 0x540768); uVar17 = uVar13; do { iVar12 = *(int *)(param_1 + 0x540868); if ((int)plVar9[1] == iVar12) { LAB_18053139c: uVar6 = uVar13; uVar8 = uVar13; if (0 < (int)plVar9[1]) { do { uVar2 = (int)uVar8 + 1; *(undefined4 *)(uVar6 + *plVar9) = 0; uVar6 = uVar6 + 4; uVar8 = (ulonglong)uVar2; } while ((int)uVar2 < (int)plVar9[1]); } } else { if ((0 < (int)plVar9[1]) && (*plVar9 != 0)) { FUN_1800010c0(); } *plVar9 = 0; if (iVar12 < 0) { iVar12 = 0; } *(int *)(plVar9 + 1) = iVar12; if (iVar12 != 0) { lVar3 = FUN_180001080(iVar12 * 4); *plVar9 = lVar3; goto LAB_18053139c; } } uVar2 = (int)uVar17 + 1; uVar17 = (ulonglong)uVar2; plVar9 = plVar9 + 2; } while ((int)uVar2 < *(int *)(param_1 + 0x30)); } FUN_18052e190(param_1 + 0x540788,*(undefined4 *)(param_1 + 0x540868)); if (0 < *(int *)(param_1 + 0x2404d0)) { piVar10 = (int *)(param_1 + 0x5407f0); uVar17 = uVar13; do { iVar12 = *(int *)(param_1 + 0x540868) * iVar7; if (*piVar10 == iVar12) { LAB_180531441: uVar6 = uVar13; uVar8 = uVar13; if (0 < *piVar10) { do { uVar2 = (int)uVar8 + 1; *(undefined4 *)(uVar6 + *(longlong *)(piVar10 + -2)) = 0; uVar6 = uVar6 + 4; uVar8 = (ulonglong)uVar2; } while ((int)uVar2 < *piVar10); } } else { if ((0 < *piVar10) && (*(longlong *)(piVar10 + -2) != 0)) { FUN_1800010c0(); } piVar10[-2] = 0; piVar10[-1] = 0; if (iVar12 < 0) { iVar12 = 0; } *piVar10 = iVar12; if (iVar12 != 0) { uVar4 = FUN_180001080(iVar12 * 4); *(undefined8 *)(piVar10 + -2) = uVar4; goto LAB_180531441; } } if (0 < *piVar10) { uVar6 = uVar13; uVar8 = uVar13; do { uVar2 = (int)uVar6 + 1; uVar6 = (ulonglong)uVar2; *(float *)(uVar8 + *(longlong *)(piVar10 + -2)) = (float)iVar15; uVar8 = uVar8 + 4; } while ((int)uVar2 < *piVar10); } uVar2 = (int)uVar17 + 1; uVar17 = (ulonglong)uVar2; piVar10 = piVar10 + 4; } while ((int)uVar2 < *(int *)(param_1 + 0x2404d0)); } plVar9 = (longlong *)(param_1 + 0x540758); iVar15 = *(int *)(param_1 + 100) / 2 + 1; lVar3 = (longlong)iVar16; lVar14 = (longlong)iVar15; fVar20 = (float)iVar5 / (float)iVar15; if (lVar3 < lVar14) { if (3 < lVar14 - lVar3) { iVar15 = iVar16 + 2; iVar5 = iVar16; do { iVar16 = iVar5 + 4; *(float *)(*plVar9 + lVar3 * 4) = (float)iVar5 * fVar20 * fVar21; *(float *)(*plVar9 + 4 + lVar3 * 4) = (float)(iVar15 + -1) * fVar20 * fVar21; *(float *)(*plVar9 + 8 + lVar3 * 4) = (float)iVar15 * fVar20 * fVar21; iVar5 = iVar15 + 1; iVar15 = iVar15 + 4; *(float *)(*plVar9 + 0xc + lVar3 * 4) = (float)iVar5 * fVar20 * fVar21; lVar3 = lVar3 + 4; iVar5 = iVar16; } while (lVar3 < lVar14 + -3); } for (; lVar3 < lVar14; lVar3 = lVar3 + 1) { *(float *)(*plVar9 + lVar3 * 4) = (float)iVar16 * fVar20 * fVar21; iVar16 = iVar16 + 1; } } *(undefined1 *)(param_1 + 0x5408ad) = 1; if ((*(char *)(param_1 + 0x240464) != '\0') && (*(undefined1 *)(param_1 + 0x240464) = 0, 0 < *(int *)(param_1 + 0x24045c))) { pcVar11 = (char *)(param_1 + 0x240467); do { if (*pcVar11 != '\0') { FUN_1805316e0(param_1 + 0x3d8,uVar13); *pcVar11 = '\0'; } uVar2 = (int)uVar13 + 1; uVar13 = (ulonglong)uVar2; pcVar11 = pcVar11 + 1; } while ((int)uVar2 < *(int *)(param_1 + 0x24045c)); } return; } ############ FUN_ 180529aa0 size=380 ############ void FUN_180529aa0(undefined8 *param_1) { *param_1 = SpectralProcessor::vftable; if ((0 < *(int *)(param_1 + 0x77)) && (param_1[0x76] != 0)) { FUN_1800010c0(); } param_1[0x76] = 0; *(undefined4 *)(param_1 + 0x77) = 0; if ((0 < *(int *)(param_1 + 0x75)) && (param_1[0x74] != 0)) { FUN_1800010c0(); } param_1[0x74] = 0; *(undefined4 *)(param_1 + 0x75) = 0; if ((0 < *(int *)(param_1 + 0x73)) && (param_1[0x72] != 0)) { FUN_1800010c0(); } param_1[0x72] = 0; *(undefined4 *)(param_1 + 0x73) = 0; _eh_vector_destructor_iterator_(param_1 + 0x6c,0x10,2,FUN_18052e220); if ((0 < *(int *)(param_1 + 0x6b)) && (param_1[0x6a] != 0)) { FUN_1800010c0(); } param_1[0x6a] = 0; *(undefined4 *)(param_1 + 0x6b) = 0; if ((0 < *(int *)(param_1 + 0x69)) && (param_1[0x68] != 0)) { FUN_1800010c0(); } param_1[0x68] = 0; *(undefined4 *)(param_1 + 0x69) = 0; _eh_vector_destructor_iterator_(param_1 + 0x58,0x40,2,FUN_18052bcb0); _eh_vector_destructor_iterator_(param_1 + 0x48,0x40,2,FUN_18052bcb0); _eh_vector_destructor_iterator_(param_1 + 0x38,0x40,2,FUN_18052bcb0); FUN_18052dd30(param_1 + 0xc); *param_1 = AudioProcessingModule::vftable; *(undefined4 *)((longlong)param_1 + 0x54) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[9]); } ############ FUN_ 18052dd30 size=555 ############ void FUN_18052dd30(longlong param_1) { if ((0 < *(int *)(param_1 + 0x130)) && (*(longlong *)(param_1 + 0x128) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x128) = 0; *(undefined4 *)(param_1 + 0x130) = 0; if ((0 < *(int *)(param_1 + 0x120)) && (*(longlong *)(param_1 + 0x118) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x118) = 0; *(undefined4 *)(param_1 + 0x120) = 0; if ((0 < *(int *)(param_1 + 0x110)) && (*(longlong *)(param_1 + 0x108) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x108) = 0; *(undefined4 *)(param_1 + 0x110) = 0; if ((0 < *(int *)(param_1 + 0x100)) && (*(longlong *)(param_1 + 0xf8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0xf8) = 0; *(undefined4 *)(param_1 + 0x100) = 0; if ((0 < *(int *)(param_1 + 0xf0)) && (*(longlong *)(param_1 + 0xe8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0xe8) = 0; *(undefined4 *)(param_1 + 0xf0) = 0; if ((0 < *(int *)(param_1 + 0xe0)) && (*(longlong *)(param_1 + 0xd8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0xd8) = 0; *(undefined4 *)(param_1 + 0xe0) = 0; if ((0 < *(int *)(param_1 + 0xd0)) && (*(longlong *)(param_1 + 200) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 200) = 0; *(undefined4 *)(param_1 + 0xd0) = 0; if ((0 < *(int *)(param_1 + 0xc0)) && (*(longlong *)(param_1 + 0xb8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0xb8) = 0; *(undefined4 *)(param_1 + 0xc0) = 0; if ((0 < *(int *)(param_1 + 0xb0)) && (*(longlong *)(param_1 + 0xa8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0xa8) = 0; *(undefined4 *)(param_1 + 0xb0) = 0; if ((0 < *(int *)(param_1 + 0xa0)) && (*(longlong *)(param_1 + 0x98) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x98) = 0; *(undefined4 *)(param_1 + 0xa0) = 0; if ((0 < *(int *)(param_1 + 0x90)) && (*(longlong *)(param_1 + 0x88) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x88) = 0; *(undefined4 *)(param_1 + 0x90) = 0; if ((0 < *(int *)(param_1 + 0x80)) && (*(longlong *)(param_1 + 0x78) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x78) = 0; *(undefined4 *)(param_1 + 0x80) = 0; if ((0 < *(int *)(param_1 + 0x70)) && (*(longlong *)(param_1 + 0x68) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x68) = 0; *(undefined4 *)(param_1 + 0x70) = 0; if ((0 < *(int *)(param_1 + 0x60)) && (*(longlong *)(param_1 + 0x58) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x58) = 0; *(undefined4 *)(param_1 + 0x60) = 0; if ((0 < *(int *)(param_1 + 0x50)) && (*(longlong *)(param_1 + 0x48) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x48) = 0; *(undefined4 *)(param_1 + 0x50) = 0; return; } ############ FUN_ 18052e220 size=56 ############ void FUN_18052e220(longlong *param_1) { if (0 < (int)param_1[1]) { if (*param_1 != 0) { FUN_1800010c0(); } *param_1 = 0; *(undefined4 *)(param_1 + 1) = 0; return; } *param_1 = 0; *(undefined4 *)(param_1 + 1) = 0; return; } ############ FUN_ 180534550 size=115 ############ void FUN_180534550(longlong *param_1,int param_2) { longlong lVar1; ulonglong uVar2; uint uVar3; ulonglong uVar4; uVar2 = 0; if ((int)param_1[1] != param_2) { if ((0 < (int)param_1[1]) && (*param_1 != 0)) { FUN_1800010c0(); } *param_1 = 0; if (param_2 < 0) { param_2 = 0; } *(int *)(param_1 + 1) = param_2; if (param_2 == 0) { return; } lVar1 = FUN_180001080(param_2); *param_1 = lVar1; } uVar4 = uVar2; if (0 < (int)param_1[1]) { do { uVar3 = (int)uVar4 + 1; *(undefined1 *)(uVar2 + *param_1) = 0; uVar2 = uVar2 + 1; uVar4 = (ulonglong)uVar3; } while ((int)uVar3 < (int)param_1[1]); } return; } ############ FUN_ 18052bcb0 size=74 ############ void FUN_18052bcb0(longlong param_1) { *(undefined8 *)(param_1 + 0x20) = 0; if (0 < *(int *)(param_1 + 0x18)) { if (*(longlong *)(param_1 + 0x10) != 0) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x18) = 0; return; } *(undefined8 *)(param_1 + 0x10) = 0; *(undefined4 *)(param_1 + 0x18) = 0; return; } ############ FUN_ 1805344c0 size=137 ############ void FUN_1805344c0(longlong *param_1,int param_2,undefined8 param_3) { longlong lVar1; ulonglong uVar2; uint uVar3; ulonglong uVar4; uVar2 = 0; if ((int)param_1[1] != param_2) { if ((0 < (int)param_1[1]) && (*param_1 != 0)) { FUN_1800010c0(); } *param_1 = 0; if (param_2 < 0) { param_2 = 0; } *(int *)(param_1 + 1) = param_2; if (param_2 == 0) { return; } lVar1 = FUN_180001080(param_2 * 8); *param_1 = lVar1; } uVar4 = uVar2; if (0 < (int)param_1[1]) { do { uVar3 = (int)uVar4 + 1; *(undefined8 *)(uVar2 + *param_1) = param_3; uVar2 = uVar2 + 8; uVar4 = (ulonglong)uVar3; } while ((int)uVar3 < (int)param_1[1]); } return; } ############ FUN_ 180535f10 size=778 ############ void FUN_180535f10(longlong param_1) { _eh_vector_destructor_iterator_((void *)(param_1 + 0x5407e8),0x10,8,FUN_18052e220); _eh_vector_destructor_iterator_((void *)(param_1 + 0x5407c8),0x10,2,FUN_18052e220); _eh_vector_destructor_iterator_((void *)(param_1 + 0x5407a8),0x10,2,FUN_18052e220); if ((0 < *(int *)(param_1 + 0x5407a0)) && (*(longlong *)(param_1 + 0x540798) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x540798) = 0; *(undefined4 *)(param_1 + 0x5407a0) = 0; if ((0 < *(int *)(param_1 + 0x540790)) && (*(longlong *)(param_1 + 0x540788) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x540788) = 0; *(undefined4 *)(param_1 + 0x540790) = 0; _eh_vector_destructor_iterator_((void *)(param_1 + 0x540768),0x10,2,FUN_18052e220); if ((0 < *(int *)(param_1 + 0x540760)) && (*(longlong *)(param_1 + 0x540758) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x540758) = 0; *(undefined4 *)(param_1 + 0x540760) = 0; if ((0 < *(int *)(param_1 + 0x540750)) && (*(longlong *)(param_1 + 0x540748) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x540748) = 0; *(undefined4 *)(param_1 + 0x540750) = 0; _eh_vector_destructor_iterator_((void *)(param_1 + 0x540728),0x10,2,FUN_18052e220); if ((0 < *(int *)(param_1 + 0x540720)) && (*(longlong *)(param_1 + 0x540718) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x540718) = 0; *(undefined4 *)(param_1 + 0x540720) = 0; if ((0 < *(int *)(param_1 + 0x540710)) && (*(longlong *)(param_1 + 0x540708) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x540708) = 0; *(undefined4 *)(param_1 + 0x540710) = 0; if ((0 < *(int *)(param_1 + 0x540700)) && (*(longlong *)(param_1 + 0x5406f8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x5406f8) = 0; *(undefined4 *)(param_1 + 0x540700) = 0; if ((0 < *(int *)(param_1 + 0x5406f0)) && (*(longlong *)(param_1 + 0x5406e8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x5406e8) = 0; *(undefined4 *)(param_1 + 0x5406f0) = 0; if ((0 < *(int *)(param_1 + 0x5406e0)) && (*(longlong *)(param_1 + 0x5406d8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x5406d8) = 0; *(undefined4 *)(param_1 + 0x5406e0) = 0; if ((0 < *(int *)(param_1 + 0x5406d0)) && (*(longlong *)(param_1 + 0x5406c8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x5406c8) = 0; *(undefined4 *)(param_1 + 0x5406d0) = 0; if ((0 < *(int *)(param_1 + 0x5406c0)) && (*(longlong *)(param_1 + 0x5406b8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x5406b8) = 0; *(undefined4 *)(param_1 + 0x5406c0) = 0; if ((0 < *(int *)(param_1 + 0x5406b0)) && (*(longlong *)(param_1 + 0x5406a8) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x5406a8) = 0; *(undefined4 *)(param_1 + 0x5406b0) = 0; if ((0 < *(int *)(param_1 + 0x5406a0)) && (*(longlong *)(param_1 + 0x540698) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x540698) = 0; *(undefined4 *)(param_1 + 0x5406a0) = 0; _eh_vector_destructor_iterator_((void *)(param_1 + 0x540678),0x10,2,FUN_18052e220); if ((0 < *(int *)(param_1 + 0x540670)) && (*(longlong *)(param_1 + 0x540668) != 0)) { FUN_1800010c0(); } *(undefined8 *)(param_1 + 0x540668) = 0; *(undefined4 *)(param_1 + 0x540670) = 0; FUN_18052dd30(param_1 + 0x540530); *(undefined4 *)(param_1 + 0x2404cc) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x2404c0)); } ############ FUN_ 1805335c0 size=126 ############ void FUN_1805335c0(undefined4 *param_1,undefined8 param_2,int param_3) { int iVar1; double dVar2; double dVar3; undefined1 local_res10 [8]; undefined1 local_res18 [8]; undefined1 local_res20 [8]; dVar2 = log((double)param_3); dVar3 = log(DAT_1824c41e8); iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0((int)(dVar2 / dVar3),*param_1,1,local_res18,local_res20,local_res10); } ############ FUN_ 180002240 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182616708)[DAT_1826159a0])(); return; } ############ FUN_ 180001c10 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615ec8)[DAT_1826159a0])(); return; } ############ FUN_ 1805356f0 size=395 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1805356f0(undefined8 *param_1,uint param_2) { double dVar1; double dVar2; double dVar3; int iVar4; int iVar5; double dVar6; double dVar7; uint uVar8; int iVar9; undefined8 *puVar10; float *pfVar11; double dVar12; double dVar13; undefined1 auVar14 [16]; undefined1 auVar15 [16]; double extraout_XMM0_Qb; double dVar16; dVar7 = _UNK_1824c4e08; dVar6 = _DAT_1824c4e00; dVar13 = _UNK_1824c4da8; dVar3 = _DAT_1824c4da0; dVar2 = _UNK_1824c4c98; dVar1 = _DAT_1824c4c90; iVar5 = _UNK_1824c4884; iVar4 = _DAT_1824c4880; if (0 < (int)param_2) { iVar9 = 0; dVar16 = (double)(int)param_2; if (1 < param_2) { uVar8 = param_2 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar10 = param_1; do { auVar14._0_8_ = (double)(iVar9 + iVar4) * dVar6; auVar14._8_8_ = (double)(iVar9 + iVar5) * dVar7; auVar15._8_4_ = SUB84(dVar16,0); auVar15._0_8_ = dVar16; auVar15._12_4_ = (int)((ulonglong)dVar16 >> 0x20); auVar15 = divpd(auVar14,auVar15); dVar12 = (double)thunk_FUN_181a114e0(auVar15._0_8_); iVar9 = iVar9 + 2; *puVar10 = CONCAT44((float)((dVar13 - extraout_XMM0_Qb) * dVar2), (float)((dVar3 - dVar12) * dVar1)); puVar10 = puVar10 + 1; } while (iVar9 < (int)(param_2 - uVar8)); } dVar3 = DAT_1824c4248; dVar2 = DAT_1824c4140; dVar1 = DAT_1824c4050; if (iVar9 < (int)param_2) { pfVar11 = (float *)((longlong)param_1 + (longlong)iVar9 * 4); do { dVar13 = cos(((double)iVar9 * dVar3) / dVar16); iVar9 = iVar9 + 1; *pfVar11 = (float)((dVar2 - dVar13) * dVar1); pfVar11 = pfVar11 + 1; } while (iVar9 < (int)param_2); } } return; } ############ FUN_ 18052da70 size=78 ############ void FUN_18052da70(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_3,param_1,param_4); } ############ FUN_ 18048a300 size=194 ############ void FUN_18048a300(longlong *param_1,int param_2) { int iVar1; longlong lVar2; void *_Memory; void *pvVar3; int *_Memory_00; longlong lVar4; int iVar5; if ((int)param_1[1] == param_2) { *(int *)(param_1 + 1) = param_2; return; } if (param_2 < 1) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } pvVar3 = malloc((longlong)param_2 << 3); iVar5 = 0; if (0 < *(int *)((longlong)param_1 + 0xc)) { lVar4 = 0; do { lVar2 = *param_1; *(undefined8 *)(lVar4 + (longlong)pvVar3) = *(undefined8 *)(lVar2 + lVar4); *(undefined1 **)(lVar2 + lVar4) = &DAT_1821dbf98; _Memory_00 = (int *)(*(longlong *)(lVar4 + *param_1) + -0x10); if ((*(uint *)(*(longlong *)(lVar4 + *param_1) + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } iVar5 = iVar5 + 1; lVar4 = lVar4 + 8; } while (iVar5 < *(int *)((longlong)param_1 + 0xc)); } _Memory = (void *)*param_1; *param_1 = (longlong)pvVar3; /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18122dad0 size=94 ############ void FUN_18122dad0(longlong *param_1,int param_2,longlong *param_3) { uint uVar1; uint *_Memory; if (-1 < param_2) { if (param_2 < *(int *)((longlong)param_1 + 0xc)) { FUN_181249460(*param_1 + (longlong)param_2 * 8,param_3); } else { FUN_18049b000(param_1,param_3); } } _Memory = (uint *)(*param_3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 18132c9a0 size=3851 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18132c9a0(undefined8 *param_1,undefined4 param_2,undefined8 *param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; char cVar3; int iVar4; undefined8 *puVar5; undefined8 uVar6; longlong *plVar7; longlong lVar8; undefined4 *puVar9; uint uVar10; uint *puVar11; bool bVar12; undefined1 auStack_3a8 [32]; longlong local_388; char *local_380; longlong local_378; longlong local_370; longlong local_368; longlong local_360; longlong *local_358; undefined1 local_350 [4]; undefined1 local_34c [4]; undefined1 local_348 [4]; undefined1 local_344 [4]; undefined1 *local_340; longlong local_338; longlong local_330; char *local_328; undefined1 *local_320; undefined1 *local_318; longlong local_310; longlong local_308; undefined1 local_300 [8]; undefined8 *local_2f8; undefined4 *local_2f0; undefined8 local_2e8; undefined8 local_2e0; undefined8 local_2d8; undefined **local_2c8; undefined8 *local_2c0; undefined ***local_290; undefined **local_288; undefined8 *local_280; undefined ***local_250; undefined **local_248; undefined8 *local_240; undefined ***local_210; undefined **local_208; undefined8 *local_200; undefined ***local_1d0; undefined **local_1c8; undefined8 *local_1c0; undefined ***local_190; longlong local_188 [7]; longlong *local_150; longlong local_148 [7]; longlong *local_110; longlong local_108 [7]; longlong *local_d0; longlong local_c8 [7]; longlong *local_90; longlong local_88 [7]; longlong *local_50; ulonglong local_48; local_2d8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_3a8; *param_1 = juce::Component::vftable; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; param_1[0x16] = juce::FileBrowserListener::vftable; param_1[0x17] = juce::FileFilter::vftable; param_1[0x18] = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } local_2f8 = param_1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar10 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar10; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } param_1[0x1a] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x1b) = 0; *param_1 = juce::FileBrowserComponent::vftable; param_1[0x16] = juce::FileBrowserComponent::vftable; param_1[0x17] = juce::FileBrowserComponent::vftable; param_1[0x19] = juce::FileBrowserComponent::vftable; param_1[0x1c] = 0; param_1[0x1d] = param_4; *(undefined4 *)(param_1 + 0x1e) = param_2; puVar2 = param_1 + 0x1f; *puVar2 = &DAT_1821dbf98; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = 0; param_1[0x24] = 0; param_1[0x25] = 0; FUN_18049c4e0(&local_370,&DAT_1821e3e4c); FUN_181349800(param_1 + 0x26,&local_370); puVar11 = (uint *)(local_370 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } local_340 = &DAT_1821dbf98; FUN_1812e2370(param_1 + 0x58,&local_340,0); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar10 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar10; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } FUN_18049c4e0(&local_368,&DAT_1821e2bcc); FUN_18049c4e0(&local_388,"file:"); lVar8 = DAT_1826739f8; local_2f0 = &DAT_182673984; do { LOCK(); uVar10 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar10 != 0); if (DAT_1826739f8 == 0) { local_378 = local_388; uVar10 = *(uint *)(local_388 + -0x10); LAB_18132ccee: if ((uVar10 & 0x30000000) == 0) { LOCK(); *(int *)(local_378 + -0x10) = *(int *)(local_378 + -0x10) + 1; UNLOCK(); } } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_388,*(undefined1 *)(DAT_1826739f8 + 0x38),0 ), -1 < iVar4)) { iVar4 = FUN_1812498b0(lVar8 + 0x18,local_388,*(undefined1 *)(lVar8 + 0x38),0); if (iVar4 < 0) { local_378 = local_388; uVar10 = *(uint *)(local_388 + -0x10); } else { plVar7 = (longlong *)FUN_181249970(lVar8 + 0x28,iVar4); local_378 = *plVar7; uVar10 = *(uint *)(local_378 + -0x10); } goto LAB_18132ccee; } FUN_181234570(*(undefined8 *)(lVar8 + 0x40),&local_378,&local_388,&local_388); } LOCK(); iVar4 = 0; DAT_182673984 = 0; UNLOCK(); puVar11 = (uint *)(local_388 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_18134a080(param_1 + 0xbc,&local_368,&local_378); puVar11 = (uint *)(local_378 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_368 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } param_1[0xfd] = 0; FUN_18049c4e0(&local_360,"JUCE FileBrowser"); puVar1 = param_1 + 0xfe; FUN_18122b770(puVar1,&local_360); *puVar1 = juce::TimeSliceThread::vftable; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x13e)); InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)param_1 + 0xa1c)); param_1[0x149] = 0; param_1[0x14a] = 0; param_1[0x14b] = 0; puVar11 = (uint *)(local_360 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } *(undefined1 *)(param_1 + 0x14c) = 1; local_380 = ""; if ((undefined1 *)*param_3 != &DAT_1821dbf98) { iVar4 = FUN_18049bb30(*param_3,&DAT_1821dbf98); } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar10 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar10; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if (iVar4 == 0) { puVar5 = (undefined8 *)FUN_181217460(&local_338); local_2e8 = *puVar2; *puVar2 = *puVar5; *puVar5 = local_2e8; puVar11 = (uint *)(local_338 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { LAB_18132cf7f: /* WARNING: Subroutine does not return */ free(puVar11); } } } else { cVar3 = FUN_181245770(param_3); if (cVar3 == '\0') { FUN_18049b000(param_1 + 0x20,param_3); puVar5 = (undefined8 *)FUN_181241230(param_3,&local_330); local_2e0 = *puVar2; *puVar2 = *puVar5; *puVar5 = local_2e0; puVar11 = (uint *)(local_330 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } iVar4 = FUN_1812327b0(param_3,0x5c); FUN_1812491d0(param_3,&local_328,iVar4 + 1); local_380 = local_328; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = DAT_1821dbf88 - 1; if (bVar12) { puVar11 = &DAT_1821dbf88; DAT_1821dbf88 = 0xffffffff; goto LAB_18132cf7f; } } } else { FUN_181245860(puVar2); } } local_358 = (longlong *)FUN_1811316e0(0xb0); uVar6 = FUN_18132e630(local_358,param_1 + 0x17,puVar1); puVar5 = (undefined8 *)param_1[0x1c]; param_1[0x1c] = uVar6; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } FUN_18132e3a0(param_1[0x1c],puVar2,1); if ((*(byte *)(param_1 + 0x1e) & 0x20) == 0) { plVar7 = (longlong *)FUN_1811316e0(0x148); lVar8 = param_1[0x1c]; local_318 = &DAT_1821dbf98; local_358 = plVar7; FUN_1812e8530(plVar7,&local_318); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar10 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar10; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } plVar7[0x22] = lVar8; plVar7[0x23] = 0; plVar7[0x24] = 0; *plVar7 = (longlong)juce::FileListComponent::vftable; plVar7[0x16] = (longlong)juce::FileListComponent::vftable; plVar7[0x21] = (longlong)juce::FileListComponent::vftable; plVar7[0x25] = (longlong)juce::FileListComponent::vftable; plVar7[0x26] = (longlong)juce::FileListComponent::vftable; lVar8 = *(longlong *)(lVar8 + 0x48); plVar7[0x27] = lVar8; if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar8 + -0x10) = *(int *)(lVar8 + -0x10) + 1; UNLOCK(); } plVar7[0x28] = (longlong)&DAT_1821dbf98; FUN_1812e83d0(plVar7); FUN_1812a73a0(plVar7[0x22],plVar7 + 0x26); puVar2 = (undefined8 *)param_1[0x24]; param_1[0x24] = plVar7 + 0x21; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } *(undefined4 *)((longlong)plVar7 + 0xfc) = 1; (**(code **)(*plVar7 + 0x108))(plVar7); if ((*(byte *)(param_1 + 0x1e) & 0x10) != 0) { *(undefined1 *)((longlong)plVar7 + 0x104) = 1; } FUN_18134bf20(param_1,plVar7,0xffffffff); } else { plVar7 = (longlong *)FUN_1811316e0(0x160); lVar8 = param_1[0x1c]; local_320 = &DAT_1821dbf98; local_358 = plVar7; FUN_1812d8fe0(plVar7,&local_320); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar10 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar10; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } plVar7[0x27] = lVar8; plVar7[0x28] = 0; plVar7[0x29] = 0; *plVar7 = (longlong)juce::FileTreeComponent::vftable; plVar7[0x16] = (longlong)juce::FileTreeComponent::vftable; plVar7[0x18] = (longlong)juce::FileTreeComponent::vftable; plVar7[0x19] = (longlong)juce::FileTreeComponent::vftable; plVar7[0x26] = (longlong)juce::FileTreeComponent::vftable; plVar7[0x2a] = (longlong)&DAT_1821dbf98; *(undefined4 *)(plVar7 + 0x2b) = 0x16; FUN_1812d8d00(plVar7); FUN_181324bd0(plVar7); puVar2 = (undefined8 *)param_1[0x24]; param_1[0x24] = plVar7 + 0x26; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } if ((*(byte *)(param_1 + 0x1e) & 0x10) != 0) { *(undefined1 *)((longlong)plVar7 + 0x127) = 1; } FUN_18134bf20(param_1,plVar7,0xffffffff); } FUN_18051ae50(param_1[0x24] + 0x10,param_1 + 0x16); FUN_18134aef0(param_1,param_1 + 0x26,0xffffffff); FUN_1812ec210(param_1 + 0x26,1); FUN_18132bac0(param_1); local_2c8 = std::_Func_impl_no_alloc<,void>::vftable; local_290 = &local_2c8; local_150 = (longlong *)0x0; local_2c0 = param_1; FUN_180488560(local_188,&local_2c8); FUN_180488560(&local_2c8,param_1 + 0x41); FUN_180488560(param_1 + 0x41,local_188); if (local_150 != (longlong *)0x0) { (**(code **)(*local_150 + 0x20))(local_150,local_150 != local_188); } if (local_290 != (undefined ***)0x0) { (*(code *)(*local_290)[4])(local_290,local_290 != &local_2c8); } puVar2 = param_1 + 0x58; FUN_18134aef0(param_1,puVar2,0xffffffff); FUN_1812e1df0(puVar2,0,1); *(undefined1 *)((longlong)param_1 + 0x4b2) = 1; FUN_1812e1110(puVar2,&local_380,0); local_288 = std::_Func_impl_no_alloc<,void>::vftable; local_250 = &local_288; local_110 = (longlong *)0x0; local_280 = param_1; FUN_180488560(local_148,&local_288); FUN_180488560(&local_288,param_1 + 0x71); FUN_180488560(param_1 + 0x71,local_148); if (local_110 != (longlong *)0x0) { (**(code **)(*local_110 + 0x20))(local_110,local_110 != local_148); } if (local_250 != (undefined ***)0x0) { (*(code *)(*local_250)[4])(local_250,local_250 != &local_288); } local_248 = std::_Func_impl_no_alloc<,void>::vftable; local_210 = &local_248; local_d0 = (longlong *)0x0; local_240 = param_1; FUN_180488560(local_108,&local_248); FUN_180488560(&local_248,param_1 + 0x79); FUN_180488560(param_1 + 0x79,local_108); if (local_d0 != (longlong *)0x0) { (**(code **)(*local_d0 + 0x20))(local_d0,local_d0 != local_108); } if (local_210 != (undefined ***)0x0) { (*(code *)(*local_210)[4])(local_210,local_210 != &local_248); } local_208 = std::_Func_impl_no_alloc<,void>::vftable; local_1d0 = &local_208; local_90 = (longlong *)0x0; local_200 = param_1; FUN_180488560(local_c8,&local_208); FUN_180488560(&local_208,param_1 + 0x89); FUN_180488560(param_1 + 0x89,local_c8); if (local_90 != (longlong *)0x0) { (**(code **)(*local_90 + 0x20))(local_90,local_90 != local_c8); } if (local_1d0 != (undefined ***)0x0) { (*(code *)(*local_1d0)[4])(local_1d0,local_1d0 != &local_208); } FUN_1812e1d60(puVar2,(*(byte *)(param_1 + 0x1e) & 0x50) != 0); FUN_18134aef0(param_1,param_1 + 0xbc,0xffffffff); FUN_1812e9b30(param_1 + 0xbc,puVar2); lVar8 = FUN_18134adf0(param_1); uVar6 = (**(code **)(*(longlong *)(lVar8 + 0x20) + 0x28))(); puVar5 = (undefined8 *)param_1[0xfd]; param_1[0xfd] = uVar6; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } FUN_18134bf20(param_1,param_1[0xfd],0xffffffff); lVar8 = param_1[0xfd]; local_1c8 = std::_Func_impl_no_alloc<,void>::vftable; local_190 = &local_1c8; local_50 = (longlong *)0x0; local_1c0 = param_1; FUN_180488560(local_88,&local_1c8); FUN_180488560(&local_1c8,lVar8 + 0xc0); FUN_180488560(lVar8 + 0xc0,local_88); if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x20))(local_50,local_50 != local_88); } if (local_190 != (undefined ***)0x0) { (*(code *)(*local_190)[4])(local_190,local_190 != &local_1c8); } lVar8 = param_1[0xfd]; uVar6 = FUN_181249dc0(&local_310,"Go up to parent directory"); (**(code **)(*(longlong *)(lVar8 + 0xb0) + 0x10))(lVar8 + 0xb0,uVar6); puVar11 = (uint *)(local_310 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if (param_1[0x25] != 0) { FUN_18134bf20(param_1,param_1[0x25],0xffffffff); } puVar9 = (undefined4 *)FUN_18134a8d0(param_1,local_300,0x1000640,0); FUN_18134a800(param_1 + 0x26,0x1000b00,*puVar9); puVar9 = (undefined4 *)FUN_18134a8d0(param_1,local_350,0x1000641,0); FUN_18134a800(param_1 + 0x26,0x1000a00,*puVar9); puVar9 = (undefined4 *)FUN_18134a8d0(param_1,local_34c,0x1000642,0); FUN_18134a800(param_1 + 0x26,0x1000e00,*puVar9); puVar9 = (undefined4 *)FUN_18134a8d0(param_1,local_348,0x1000643,0); FUN_18134a800(puVar2,0x1000200,*puVar9); puVar9 = (undefined4 *)FUN_18134a8d0(param_1,local_344,0x1000644,0); FUN_18134a800(puVar2,0x1000201,*puVar9); FUN_18132bdc0(param_1,param_1 + 0x1f); if (*local_380 != '\0') { FUN_1812e1110(puVar2,&local_380,1); plVar7 = (longlong *)param_1[0x24]; uVar6 = FUN_181245100(param_1 + 0x1f,&local_308,local_380); (**(code **)(*plVar7 + 0x28))(plVar7,uVar6); puVar11 = (uint *)(local_308 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } } FUN_18122b2c0(puVar1,4); FUN_1812a77d0(param_1 + 0x19,2000); puVar11 = (uint *)(local_380 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } } ############ FUN_ 18122df60 size=32 ############ undefined8 * FUN_18122df60(undefined8 *param_1) { *param_1 = 0; param_1[1] = 0; FUN_18049b000(); return param_1; } ############ FUN_ 181237950 size=1643 ############ void FUN_181237950(undefined1 *param_1) { longlong *plVar1; byte bVar2; bool bVar3; int iVar4; int iVar5; undefined1 **ppuVar6; byte *pbVar7; undefined1 **ppuVar8; uint uVar9; uint *puVar10; char *pcVar11; uint uVar12; uint uVar13; uint uVar14; longlong lVar15; undefined1 *puVar16; uint uVar17; uint uVar18; ulonglong uVar19; longlong lVar20; undefined1 auStack_108 [32]; undefined1 **local_e8; undefined8 local_e0; undefined1 *local_d8; undefined4 local_d0; longlong local_c8; undefined8 local_c0; undefined2 local_b8; longlong local_b0; undefined1 **local_a8; undefined8 local_a0; undefined8 local_98; undefined1 *local_90; undefined1 *local_88; char local_78 [4]; undefined8 local_74; undefined4 local_6c; char local_68; undefined1 local_60; undefined1 local_5f; undefined1 local_5e; undefined1 local_5d; ulonglong local_48; local_98 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_108; uVar13 = 0; local_d0 = 0; param_1[0x10] = 0; local_d8 = param_1; FUN_181238020(&local_c0); iVar4 = FUN_181249270(&local_c0,&DAT_1821d9ebc); param_1[0x10] = -1 < iVar4; if (-1 >= iVar4) { local_a8 = (undefined1 **)0x0; local_a0 = 0; local_d0 = 1; FUN_18122d110(&local_a8,local_c0,&DAT_1821d9f3c,&DAT_1821da804); plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); uVar14 = local_a0._4_4_; ppuVar8 = local_a8; do { ppuVar6 = ppuVar8; if (uVar14 <= uVar13) { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar6 = &DAT_18267af68; } iVar4 = atoi(*ppuVar6); *param_1 = (char)iVar4; uVar13 = uVar13 + 1; ppuVar8 = ppuVar8 + 1; param_1 = param_1 + 1; } while ((int)uVar13 < 4); *(undefined8 *)(local_d8 + 4) = 0; *(undefined4 *)(local_d8 + 0xc) = 0; FUN_180488c50(&local_a8); ppuVar8 = local_a8; goto LAB_181237eac; } local_e8 = (undefined1 **)0x0; local_e0 = 0; local_d0 = 2; FUN_18122d110(&local_e8,local_c0,&DAT_1821d9ef4); ppuVar8 = local_e8; iVar4 = 0; uVar19 = (ulonglong)_tls_index; uVar13 = local_e0._4_4_; lVar20 = (longlong)(int)local_e0._4_4_; if (0 < (int)local_e0._4_4_) { lVar15 = 0; do { local_90 = ppuVar8[lVar15]; iVar5 = FUN_18048cbc0(&DAT_1821da804); if (iVar5 == 0) { if (-1 < iVar4) { iVar4 = 0; lVar15 = 0; goto LAB_181237b20; } break; } iVar4 = iVar4 + 1; lVar15 = lVar15 + 1; } while (lVar15 < lVar20); } goto LAB_181237c98; while( true ) { iVar4 = iVar4 + 1; lVar15 = lVar15 + 1; if (lVar20 <= lVar15) break; LAB_181237b20: local_88 = ppuVar8[lVar15]; iVar5 = FUN_18048cbc0(&DAT_1821da804); if (iVar5 == 0) goto LAB_181237b50; } iVar4 = -1; LAB_181237b50: FUN_18049c4e0(&local_c8,&DAT_1821d9f7c); if (-1 < iVar4) { if (iVar4 < (int)uVar13) { FUN_181249460(ppuVar8 + iVar4); } else { FUN_18049b000(&local_e8,&local_c8); } } puVar10 = (uint *)(local_c8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_18122d5d0(&local_e8); ppuVar8 = local_e8; uVar13 = local_e0._4_4_; if (local_e0._4_4_ - 1 < local_e0._4_4_) { ppuVar6 = local_e8 + (int)(local_e0._4_4_ - 1); } else { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar19 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar6 = &DAT_18267af68; } iVar5 = FUN_18049bc80(*ppuVar6); if (-1 < iVar5) { local_d8 = &DAT_1821dbf98; FUN_18122dc00(&local_e8); ppuVar8 = local_e8; uVar13 = local_e0._4_4_; } while ((int)uVar13 < 8) { FUN_18049c4e0(&local_b0,&DAT_1821d9f5c); FUN_180489070(&local_e8,iVar4,&local_b0); puVar10 = (uint *)(local_b0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } ppuVar8 = local_e8; uVar13 = local_e0._4_4_; } LAB_181237c98: uVar14 = 0; plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + uVar19 * 8); puVar16 = param_1; do { if (uVar14 == 6) { local_68 = '\x01'; iVar4 = 0; pcVar11 = local_78; do { *pcVar11 = pcVar11[(longlong)param_1 - (longlong)local_78]; iVar4 = iVar4 + 1; pcVar11 = pcVar11 + 1; iVar5 = 4; if (local_68 != '\0') { iVar5 = 0x10; } } while (iVar4 < iVar5); if (local_68 == '\0') { local_74 = 0; local_6c = 0; LAB_181237d06: bVar3 = false; } else { lVar20 = 0; do { if (local_78[lVar20] != '\0') goto LAB_181237d06; lVar20 = lVar20 + 1; } while (lVar20 < 10); if ((local_74._6_1_ != -1) || (local_74._7_1_ != -1)) goto LAB_181237d06; bVar3 = true; } if (bVar3) { if (uVar13 < 7) { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar8 = &DAT_18267af68; } else { ppuVar8 = ppuVar8 + 6; } FUN_181237950(&local_60,ppuVar8); param_1[0xc] = local_60; param_1[0xd] = local_5f; param_1[0xe] = local_5e; param_1[0xf] = local_5d; break; } } if (uVar14 < uVar13) { ppuVar6 = ppuVar8 + (int)uVar14; } else { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar6 = &DAT_18267af68; } pbVar7 = *ppuVar6; uVar18 = 0; local_b8 = 0; bVar2 = *pbVar7; while (bVar2 != 0) { uVar17 = (uint)bVar2; pbVar7 = pbVar7 + 1; if ((char)bVar2 < '\0') { uVar12 = 0x7f; uVar9 = 0x40; iVar4 = 0; if ((bVar2 & 0x40) != 0) { do { if (uVar9 < 9) break; uVar12 = uVar12 >> 1; iVar4 = iVar4 + 1; uVar9 = uVar9 >> 1; } while ((uVar17 & uVar9) != 0); } uVar17 = uVar17 & uVar12; for (; (iVar4 = iVar4 + -1, -1 < iVar4 && ((*pbVar7 & 0xc0) == 0x80)); pbVar7 = pbVar7 + 1) { uVar17 = *pbVar7 & 0x3f | uVar17 << 6; } } uVar9 = uVar17 - 0x30; if (uVar9 < 10) { LAB_181237e01: if (-1 < (int)uVar9) { uVar18 = uVar18 << 4 | uVar9; } } else { uVar9 = uVar17 - 0x61; if ((uVar9 < 6) || (uVar9 = uVar17 - 0x41, uVar9 < 6)) { uVar9 = uVar9 + 10; goto LAB_181237e01; } } local_b8 = (undefined2)uVar18; bVar2 = *pbVar7; } *puVar16 = (char)local_b8; puVar16[1] = (char)((ushort)local_b8 >> 8); uVar14 = uVar14 + 1; puVar16 = puVar16 + 2; } while ((int)uVar14 < 8); FUN_180488c50(&local_e8); ppuVar8 = local_e8; LAB_181237eac: /* WARNING: Subroutine does not return */ free(ppuVar8); } ############ FUN_ 18049c4e0 size=389 ############ undefined8 * FUN_18049c4e0(undefined8 *param_1,byte *param_2) { byte bVar1; byte *pbVar2; undefined4 *puVar3; byte *pbVar4; byte bVar5; int iVar6; longlong lVar7; uint uVar8; longlong lVar9; ulonglong uVar10; int iVar11; if ((param_2 != (byte *)0x0) && (bVar1 = *param_2, bVar1 != 0)) { lVar9 = 0; if (bVar1 != 0) { pbVar2 = param_2 + 1; do { uVar8 = (uint)bVar1; lVar7 = 1; if (((0x7f < uVar8) && (lVar7 = 2, 0x7ff < uVar8)) && (lVar7 = 3, 0xffff < uVar8)) { lVar7 = 4; } bVar1 = *pbVar2; lVar9 = lVar9 + lVar7; pbVar2 = pbVar2 + 1; } while (bVar1 != 0); } uVar10 = lVar9 + 4U & 0xfffffffffffffffc; puVar3 = (undefined4 *)thunk_FUN_1811316e0(uVar10 + 0x17); LOCK(); *puVar3 = 0; UNLOCK(); *(ulonglong *)(puVar3 + 2) = uVar10; bVar1 = *param_2; pbVar2 = param_2 + 1; pbVar4 = (byte *)(puVar3 + 4); while (bVar1 != 0) { uVar8 = (uint)bVar1; if (uVar8 < 0x80) { *pbVar4 = bVar1; pbVar4 = pbVar4 + 1; } else { iVar11 = 1; if ((0x7ff < uVar8) && (iVar11 = 2, 0xffff < uVar8)) { iVar11 = 3; } *pbVar4 = bVar1 >> (char)iVar11 * '\x06' | -1 << (7U - (char)iVar11 & 0x1f); pbVar4 = pbVar4 + 1; iVar11 = iVar11 + -1; if (-1 < iVar11) { iVar6 = iVar11 * 6; do { bVar5 = (byte)iVar6; iVar6 = iVar6 + -6; *pbVar4 = bVar1 >> (bVar5 & 0x1f) & 0x3f | 0x80; pbVar4 = pbVar4 + 1; iVar11 = iVar11 + -1; } while (-1 < iVar11); } } bVar1 = *pbVar2; pbVar2 = pbVar2 + 1; } *pbVar4 = 0; *param_1 = puVar3 + 4; return param_1; } *param_1 = &DAT_1821dbf98; return param_1; } ############ FUN_ 18123a6f0 size=155 ############ void FUN_18123a6f0(longlong *param_1,void *param_2,int param_3,size_t param_4) { size_t _Size; longlong lVar1; if (param_3 < 0) { memset(param_2,0,(longlong)-param_3); param_2 = (void *)((longlong)param_2 - (longlong)param_3); param_4 = param_4 - (longlong)-param_3; param_3 = 0; } lVar1 = (longlong)param_3; _Size = param_4; if ((ulonglong)param_1[1] < lVar1 + param_4) { _Size = param_1[1] - lVar1; memset((void *)(_Size + (longlong)param_2),0,param_4 - _Size); } if (_Size != 0) { memcpy(param_2,(void *)(*param_1 + lVar1),_Size); } return; } ############ FUN_ 18124a200 size=158 ############ void FUN_18124a200(undefined8 *param_1,size_t param_2,char param_3) { ulonglong uVar1; void *pvVar2; undefined1 local_28 [32]; if (param_1[1] != param_2) { pvVar2 = (void *)*param_1; if (param_2 == 0) { /* WARNING: Subroutine does not return */ free(pvVar2); } if (pvVar2 == (void *)0x0) { FUN_180481140(param_1,param_2,param_3); } else { pvVar2 = realloc(pvVar2,param_2); *param_1 = pvVar2; if (pvVar2 == (void *)0x0) { FUN_1804719e0(local_28); /* WARNING: Subroutine does not return */ _CxxThrowException(local_28,(ThrowInfo *)&DAT_1825fec68); } if ((param_3 != '\0') && (uVar1 = param_1[1], uVar1 < param_2)) { memset((void *)((longlong)pvVar2 + uVar1),0,param_2 - uVar1); } } param_1[1] = param_2; } return; } ############ FUN_ 18141b260 size=859 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18141b260(longlong param_1,undefined8 param_2,longlong *param_3,longlong param_4, undefined4 *param_5,ulonglong param_6) { char cVar1; longlong lVar2; ulonglong uVar3; ulonglong uVar4; int iVar5; undefined1 auStack_488 [32]; longlong local_468; longlong local_460; int local_458 [2]; longlong local_450; longlong local_448; LARGE_INTEGER local_440; __time64_t local_438; LARGE_INTEGER local_430; __time64_t local_428; LARGE_INTEGER local_420; __time64_t local_418 [2]; undefined **local_408; undefined8 local_400; undefined8 local_3f8; undefined8 uStack_3f0; undefined8 local_3e8; undefined8 uStack_3e0; undefined8 local_3d8; undefined8 local_3d0; undefined8 local_3c8; undefined8 uStack_3c0; longlong local_3b8; undefined8 uStack_3b0; undefined8 local_3a8; undefined1 local_3a0 [752]; undefined8 local_b0; undefined8 local_a8; undefined8 uStack_a0; undefined4 local_98; undefined2 local_94; LARGE_INTEGER local_88; undefined8 local_80; ulonglong local_78; __time64_t local_70; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined8 local_58; undefined8 uStack_50; ulonglong local_48; local_418[1] = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_488; iVar5 = 0; if ((((param_6 == 0) || (param_4 == 0)) || (param_5 == (undefined4 *)0x0)) || ((param_6 & 0x1f) != 0)) { } local_450 = *param_3; local_448 = param_3[1]; param_6 = param_6 >> 5; uVar3 = 0; LAB_18141b2f4: if (param_6 == 0) { } if (iVar5 != 0) { } if (*(char *)(param_1 + 0xb0) == '\0') goto code_r0x00018141b313; goto LAB_18141b4de; code_r0x00018141b313: *(undefined1 *)(param_1 + 0xb1) = 0; uVar4 = uVar3 + 1; if (99 < uVar3) { } _time64(&local_438); QueryPerformanceCounter(&local_440); local_88 = local_440; local_80 = *(undefined8 *)(param_1 + 8); uVar3 = rdtsc(); local_78 = CONCAT44((int)((ulonglong)local_80 >> 0x20),(int)uVar3) | uVar3 & 0xffffffff00000000; local_70 = local_438; lVar2 = FUN_1817b4990(&local_88,&local_68,param_1 + 0x10); if (lVar2 != 0) { iVar5 = 7; } uVar3 = uVar4; local_458[0] = iVar5; if (iVar5 == 0) { local_408 = pace::eden::thrift::pub::SetupDynamicCryptoWhiteboxOutput::vftable; local_400 = 0; local_3f8 = 0; uStack_3f0 = 0; local_3e8 = 0; uStack_3e0 = 0; local_3d8 = 0; local_3d0 = 0; local_3c8 = 0; uStack_3c0 = 0; local_3b8 = 0; uStack_3b0 = 0; local_3a8 = 0; FUN_180575180(local_3a0); local_b0 = 0; local_a8 = 0; uStack_a0 = 0; local_98 = 0; local_94 = 0; cVar1 = .?AVSoothe2_DynamicCryptoManager@eden@pace@@:: vtbl___AVSoothe2_DynamicCryptoManager_eden_pace__ (param_1,&local_68,&local_408,local_458); *(char *)(param_1 + 0xb1) = cVar1; iVar5 = local_458[0]; if (cVar1 != '\0') { _time64(&local_428); QueryPerformanceCounter(&local_430); local_88 = local_430; local_80 = *(undefined8 *)(param_1 + 8); uVar4 = rdtsc(); local_78 = CONCAT44((int)((ulonglong)local_80 >> 0x20),(int)uVar4) | uVar4 & 0xffffffff00000000; local_70 = local_428; local_468 = local_3b8; local_460 = param_1 + 0x10; lVar2 = FUN_181a01ad0(&local_88,local_400,local_3e8,local_3d0); iVar5 = local_458[0]; if (lVar2 != 0) { iVar5 = 8; } *(bool *)(param_1 + 0xb0) = iVar5 == 0; } FUN_1805759d0(&local_408); if ((iVar5 == 0) && (*(char *)(param_1 + 0xb0) != '\0')) { LAB_18141b4de: if (param_6 == 0) { } do { _time64(local_418); QueryPerformanceCounter(&local_420); local_88 = local_420; local_80 = *(undefined8 *)(param_1 + 8); uVar4 = rdtsc(); local_78 = CONCAT44((int)((ulonglong)local_80 >> 0x20),(int)uVar4) | uVar4 & 0xffffffff00000000; local_70 = local_418[0]; local_468 = param_1 + 0x10; lVar2 = FUN_1817217c0(&local_88,&local_450,param_4,&local_68); if (lVar2 != 0) { *(undefined2 *)(param_1 + 0xb0) = 0; break; } *param_5 = local_68; param_5[1] = uStack_64; param_5[2] = uStack_60; param_5[3] = uStack_5c; *(undefined8 *)(param_5 + 4) = local_58; *(undefined8 *)(param_5 + 6) = uStack_50; param_4 = param_4 + 0x20; param_5 = param_5 + 8; local_450 = local_450 + 1; param_6 = param_6 - 1; } while (param_6 != 0); } } goto LAB_18141b2f4; } ############ FUN_ 1805337e0 size=176 ############ void FUN_1805337e0(longlong param_1) { void *_Memory; undefined1 local_98 [16]; longlong *local_88; ulonglong local_60; undefined8 local_48; local_48 = 0xfffffffffffffffe; FUN_18124a4b0(local_98,0x100); FUN_181247a90(); if ((local_88 != (longlong *)0x0) && (local_60 < (ulonglong)local_88[1])) { *(undefined1 *)(local_60 + *local_88) = 0; } if (local_60 == 0) { _Memory = *(void **)(param_1 + 200); *(undefined8 *)(param_1 + 200) = 0; *(undefined8 *)(param_1 + 0xd0) = 0; /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 18113f2d0 size=37 ############ undefined8 FUN_18113f2d0(void) { undefined8 uVar1; if (((byte)DAT_182674ca4 & 2) == 0) { uVar1 = FUN_18113f300(); if ((int)uVar1 == 0) { return uVar1; } } return 1; } ############ FUN_ 18113ebf0 size=248 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18113ebf0(HANDLE param_1) { BOOL BVar1; DWORD64 local_res10; DWORD64 local_res18; DWORD64 local_res20; DWORD64 local_4e8 [2]; _CONTEXT local_4d8; FUN_1805a02a6(&DAT_182674ce8); if (DAT_182674ce8 == 0) { FUN_1805a0208(); } else { FUN_1805a0271(&local_res10,&local_res18,&local_res20,local_4e8); } local_4d8.ContextFlags = 0x100010; BVar1 = GetThreadContext(param_1,&local_4d8); if (BVar1 != 0) { GetThreadId(param_1); local_4d8.Dr0 = local_res10; _DAT_182678cf8 = local_res10; local_4d8.Dr1 = local_res18; _DAT_182678d00 = local_res18; local_4d8.Dr2 = local_res20; _DAT_182678d08 = local_res20; local_4d8.Dr3 = local_4e8[0]; _DAT_182678d10 = local_4e8[0]; local_4d8.Dr7 = (ulonglong)((uint)local_4d8.Dr7 & 0xdd00) | 0x55; SetThreadContext(param_1,&local_4d8); } return; } ############ FUN_ 1805bc560 size=771 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805bc560(longlong param_1,undefined4 param_2,longlong *param_3) { longlong lVar1; longlong lVar2; longlong lVar3; longlong *plVar4; longlong lVar5; longlong lVar7; undefined1 auStack_11f8 [32]; undefined8 local_11d8; undefined **local_11c8; undefined4 local_11c0; undefined1 local_11b8 [8]; undefined8 local_11b0; undefined8 local_11a8; undefined1 local_11a0 [32]; undefined4 local_1180; undefined1 local_1178 [336]; undefined4 local_1028; undefined1 local_1024; undefined1 local_d78; undefined1 local_d58; undefined8 local_d54; undefined4 local_d4c; undefined1 local_d48 [1080]; undefined4 local_910; undefined2 local_90c; undefined1 local_90a; undefined **local_908 [2]; undefined1 local_8f8 [1136]; undefined1 local_488 [1088]; ulonglong local_48; undefined8 uStack_40; longlong lVar6; uStack_40 = 0x1805bc57e; local_11d8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_11f8; FUN_18113eab0(); local_11c8 = pace::eden::thrift::pub::AuthSituation::vftable; FUN_1805b5e30(local_11b8); local_d58 = 1; local_d54 = 0; local_d4c = 0; FUN_1805b5060(local_d48); local_910 = 0; local_90c = 0; local_90a = 0; local_d58 = 0; local_11b0 = *(undefined8 *)(param_1 + 0x68); local_11a8 = *(undefined8 *)(param_1 + 0x70); plVar4 = (longlong *)(param_1 + 0x78); local_11c0 = param_2; if ((longlong *)local_11a0 != plVar4) { if (0xf < *(ulonglong *)(param_1 + 0x90)) { plVar4 = (longlong *)*plVar4; } FUN_1805a6cb0(local_11a0,plVar4,*(undefined8 *)(param_1 + 0x88)); } local_1180 = *(undefined4 *)(param_1 + 0x9c); local_1028 = *(undefined4 *)(param_1 + 0x1f0); local_1024 = *(undefined1 *)(param_1 + 500); if (*(char *)(param_1 + 0x2e3) != '\0') { FUN_1805ba780(local_1178,param_1 + 0xa0); local_d78 = 1; } lVar3 = *(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8); lVar2 = lVar3 >> 0x3f; if (lVar3 / 0x438 + lVar2 != lVar2) { local_d54 = *(undefined8 *)(*(longlong *)(param_1 + 8) + 8); local_d4c = *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x10); FUN_1805ba120(local_d48); local_90a = 1; } lVar2 = *param_3; lVar3 = param_3[1]; if (param_3[2] == lVar3) { FUN_1805b0450(param_3,lVar2,&local_11c8); } else if (lVar2 == lVar3) { FUN_1805b5540(lVar3,&local_11c8); param_3[1] = param_3[1] + 0x8c0; } else { FUN_1805b5540(local_908,&local_11c8); lVar1 = lVar3 + -0x8c0; FUN_1805b5540(lVar3,lVar1); param_3[1] = param_3[1] + 0x8c0; if (lVar1 != lVar2) { lVar7 = lVar3 + -0x1170; lVar6 = lVar3 + 0x10; do { lVar5 = lVar6 + -0x8c0; *(undefined4 *)(lVar6 + -0x8c8) = *(undefined4 *)(lVar7 + -8); FUN_1805ba4b0(lVar5,lVar7); *(undefined1 *)(lVar6 + -0x460) = *(undefined1 *)(lVar7 + 0x460); *(undefined4 *)(lVar6 + -0x45c) = *(undefined4 *)(lVar7 + 0x464); *(undefined4 *)(lVar6 + -0x458) = *(undefined4 *)(lVar7 + 0x468); *(undefined4 *)(lVar6 + -0x454) = *(undefined4 *)(lVar7 + 0x46c); FUN_1805ba120(lVar6 + -0x450,lVar7 + 0x470); *(undefined4 *)(lVar6 + -0x18) = *(undefined4 *)(lVar7 + 0x8a8); *(undefined2 *)(lVar6 + -0x14) = *(undefined2 *)(lVar7 + 0x8ac); *(undefined1 *)(lVar6 + -0x12) = *(undefined1 *)(lVar7 + 0x8ae); lVar7 = lVar7 + -0x8c0; lVar6 = lVar5; } while (lVar5 + (lVar1 - lVar3) + -0x10 != lVar2); } FUN_1805ba360(lVar2,local_908); local_908[0] = pace::eden::thrift::pub::AuthSituation::vftable; FUN_1805b7720(local_488); FUN_1805b8780(local_8f8); } local_11c8 = pace::eden::thrift::pub::AuthSituation::vftable; FUN_1805b7720(local_d48); FUN_1805b8780(local_11b8); } ############ FUN_ 18052c910 size=232 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18052c910(undefined8 *param_1) { uint uVar1; undefined8 *puVar2; int iVar3; uint *_Memory; *param_1 = CloudyAudioProcessor,Soothe2ModuleDecryptor,ParameterStates,float> ::vftable; param_1[0x29] = CloudyAudioProcessor,Soothe2ModuleDecryptor,ParameterStates,float> ::vftable; param_1[0x2a] = CloudyAudioProcessor,Soothe2ModuleDecryptor,ParameterStates,float> ::vftable; FUN_181252ea0(); FUN_18113eab0(); iVar3 = _Mtx_lock(&DAT_18267b100); if (iVar3 != 0) { std::_Throw_C_error(iVar3); } _DAT_18267b1a0 = _DAT_18267b1a0 + -1; FUN_1811497a0(); iVar3 = _Mtx_unlock(&DAT_18267b100); if (iVar3 != 0) { std::_Throw_C_error(iVar3); } FUN_18120c7f0(); _Memory = (uint *)(param_1[0xb9] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar2 = (undefined8 *)param_1[0xb7]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } *(undefined4 *)((longlong)param_1 + 0x5ac) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0xb4]); } ############ FUN_ 181202440 size=1151 ############ /* WARNING: Removing unreachable block (ram,0x00018120254c) */ /* WARNING: Removing unreachable block (ram,0x00018120253d) */ /* WARNING: Removing unreachable block (ram,0x000181202507) */ /* WARNING: Removing unreachable block (ram,0x00018120258c) */ /* WARNING: Removing unreachable block (ram,0x0001812025ce) */ /* WARNING: Removing unreachable block (ram,0x0001812024b8) */ void FUN_181202440(longlong param_1) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; longlong lVar5; int unaff_retaddr; undefined1 auStack_168 [32]; undefined4 local_148; undefined *local_140; uint local_134; undefined *local_128; undefined8 local_120; undefined4 local_104; undefined4 local_100; code *local_f8 [6]; longlong local_c8; undefined8 local_a8; longlong local_a0; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_168; local_104 = 0x9a0; local_100 = 0xca0; local_148 = 0; do { uVar2 = rdtsc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x166a7a15; local_134 = (uVar4 >> 0x18 ^ uVar4) * -0x166a00af; local_c8 = param_1; if (local_134 < 0x7fffffff) { do { local_f8[0] = FUN_18141db20; FUN_181203e50(local_f8,0xab5f); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (*local_f8[0])(); if (1 < uVar3) { FUN_18113eab0(); } } lVar5 = *(longlong *)(param_1 + 0x70) + 8; if (*(longlong *)(param_1 + 0x70) == 0) { lVar5 = 0; } lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x88) + 8); FUN_1804951c0(lVar1); local_a0 = lVar1; FUN_1811f5f40(param_1,lVar1,lVar5); FUN_1804951e0(lVar1 + -0x10); local_120 = 0x6f0d4a0; local_140 = &DAT_182251790; local_128 = &DAT_182265768; FUN_181203840(); FUN_1813b2163(); return; } ############ FUN_ 1813eca90 size=899 ############ /* WARNING: Removing unreachable block (ram,0x0001813ecb84) */ void FUN_1813eca90(undefined8 param_1,undefined8 param_2) { byte bVar1; ulonglong uVar2; undefined8 uVar3; uint uVar5; byte *pbVar6; int iVar7; ulonglong uVar8; bool bVar9; int unaff_retaddr; undefined1 auStack_b8 [40]; undefined4 *local_90; undefined *local_88; uint local_80; undefined8 local_78; uint local_70; undefined4 local_6c; code *local_68; undefined8 local_60; undefined8 local_58; ulonglong local_38; char *pcVar4; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; local_6c = 0x6c0; uVar5 = (uint)&stack0x00000000 & 0x33f; iVar7 = (uVar5 + 2) * (uVar5 + 1) * uVar5; local_70 = (0x6022 << ((byte)(((iVar7 >> 1) - (iVar7 >> 3)) + iVar7 * 0x55555555 >> 0x1e) & 1) | 0x7226U) ^ 0x77f6; local_60 = param_1; local_58 = param_2; do { FUN_1813ecfca(0x7710); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_78 = 0; uVar8 = 0xbdba00a9; local_90 = &DAT_18219d8f8; local_88 = &DAT_1821b18d0; do { uVar3 = rdtsc(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_80 = ((uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20)) * -0x3594166b; local_80 = local_80 >> 0x18 ^ local_80; pbVar6 = (byte *)(ulonglong)local_80; local_80 = local_80 * -0x13ac3b32; if (local_80 < 0x7fffffff) { do { local_68 = FUN_1813bba80; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } pbVar6 = (byte *)(ulonglong)uVar5; } while (uVar5 != 0); uVar2 = FUN_1813bba80(0,0xe761); if (1 < uVar2) { FUN_18113eab0(); } } local_78 = 0xc5249b37afba8d8a; local_90 = (undefined4 *)CONCAT44(local_90._4_4_,0xafba8d8a); FUN_1813eb349(); bVar9 = uVar8 < (((-uVar8 ^ 0xffffffffffffffff) + 1) - uVar8 ^ 0xffffffffffffffff) + 1; uVar3 = FUN_1813ece4c(); if (!bVar9) { thunk_FUN_1813ece4c(); return; } DAT_18219d8f8 = (undefined4)uVar3; bVar1 = (byte)uVar3 ^ *pbVar6; pcVar4 = (char *)CONCAT71((int7)((ulonglong)uVar3 >> 8),bVar1); *pcVar4 = *pcVar4 + bVar1; return; } ############ FUN_ 18117f810 size=1265 ############ /* WARNING: Removing unreachable block (ram,0x00018117f984) */ /* WARNING: Removing unreachable block (ram,0x00018117f96a) */ /* WARNING: Removing unreachable block (ram,0x00018117f989) */ /* WARNING: Removing unreachable block (ram,0x00018117faa1) */ void FUN_18117f810(undefined8 param_1) { undefined8 uVar1; ulonglong uVar2; uint uVar3; code **ppcVar4; undefined1 *puVar5; int iVar6; uint *puVar7; uint uVar8; int unaff_retaddr; undefined1 auStack_188 [32]; undefined4 local_168; undefined4 local_160; undefined1 local_15c [20]; uint local_148; undefined4 local_140; uint local_120; uint local_11c; undefined4 local_118; code *local_110 [5]; undefined8 local_e8; undefined8 local_e0; undefined4 local_d8; undefined8 local_c0; undefined4 local_98; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_188; uVar8 = (uint)&stack0x00000000; uVar3 = uVar8 & 0x23f; iVar6 = (uVar3 + 2) * (uVar3 + 1) * uVar3; if ((((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e & 0x1aU) == 0) { uVar3 = uVar8 & 0x2bf; local_11c = 0x1392 - (0 << ((char)((ulonglong) ((longlong)(int)((uVar3 + 2) * (uVar3 + 1) * uVar3) * 0x55555556) >> 0x20) * -3 & 0x1fU)); } else { local_11c = 0x1392; } uVar3 = (((uVar8 & 0x12ff) + 1) * (uVar8 & 0x12ff) + 7) % 0x51 | ((uVar8 & 0x70ff) * (uVar8 & 0x70ff) + 1) % 7; local_11c = ((int)(-uVar3 | uVar3) >> 0x1f) * -0x1722 ^ local_11c; local_118 = 0x850; local_c0 = param_1; FUN_18117d8f0(param_1); do { uVar1 = rdtsc(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x166ae57b; local_148 = (uVar3 >> 0x18 ^ uVar3) * -0x3d4d51cb; if (local_148 < 0x1bacf91f) { local_110[0] = (code *)0x0; do { ppcVar4 = local_110; FUN_1811801df(ppcVar4,local_110); *ppcVar4 = FUN_1813f2240; FUN_181180df2(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*local_110[0])(); if (1 < uVar2) { FUN_18113eab0(); } } do { func_0x00018117e7b1(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_168 = 0; do { FUN_18117fd3b(0xfd14); FUN_181181049(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { local_98 = 0x28; local_e8 = 0x18117fb47; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { local_d8 = 0x1e; local_e0 = 0x18117fc07; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_160 = 0; local_140 = 0; dvs_0x77487e89_mfort6317_ = (uint *)((longlong)dvs_0x77487e89_mfort6317_ + (ulonglong)((uint)((ulonglong)dvs_0x0bf24e58_mfort6317_ >> 0x17) & 0x10190080)); puVar7 = &local_120; puVar5 = local_15c; FUN_18117e4fa(puVar5); uVar1 = rdtsc(); uVar3 = (int)uVar1 + (int)((ulonglong)uVar1 >> 0x20); *puVar7 = uVar3; FUN_18117fd3c(puVar5,(ulonglong)uVar3 << 7); return; } ############ FUN_ 18052caf0 size=768 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_18052caf0(undefined8 *param_1,longlong *param_2,longlong param_3) { uint uVar1; int iVar2; undefined8 uVar3; uint *puVar4; longlong local_res20; LARGE_INTEGER local_78; longlong local_70; undefined8 local_68; undefined *local_60; undefined1 local_58; local_68 = 0xfffffffffffffffe; FUN_1812c2150(param_1,param_3); *param_1 = CloudyAudioProcessor,Soothe2ModuleDecryptor,ParameterStates,float> ::vftable; param_1[0x29] = CloudyAudioProcessor,Soothe2ModuleDecryptor,ParameterStates,float> ::vftable; param_1[0x2a] = CloudyAudioProcessor,Soothe2ModuleDecryptor,ParameterStates,float> ::vftable; param_1[0x2b] = 0x40e5888000000000; *(undefined4 *)(param_1 + 0x2c) = 0; *(undefined1 *)((longlong)param_1 + 0x164) = 0; local_res20 = FUN_1811316e0(0x2404d8); uVar3 = FUN_18052f920(local_res20); param_1[0x2d] = uVar3; local_res20 = FUN_1811316e0(0x2404d8); uVar3 = FUN_18052f920(local_res20); param_1[0x2e] = uVar3; local_res20 = *param_2; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } FUN_18119f700(param_1 + 0x2f,param_1,&local_res20,param_1 + 0x2b); FUN_181203fd0(param_1 + 0x67,param_1 + 0x2f); FUN_181163aa0(param_1 + 0x80,param_1 + 0x2f,param_1 + 0x67); param_1[0x8a] = ModuleDecryptor::vftable; param_1[0x8b] = pace::eden::Soothe2_DynamicCryptoManager::vftable; *(undefined2 *)(param_1 + 0xa1) = 0; QueryPerformanceFrequency(&local_78); *(LARGE_INTEGER *)(param_1 + 0x8c) = local_78; *(undefined1 *)(param_1 + 0xa2) = 0; param_1[0xa3] = 0; param_1[0xa4] = 0; param_1[0x8a] = Soothe2ModuleDecryptor::vftable; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xa5)); *(undefined1 *)((longlong)param_1 + 0x554) = 0; *(undefined4 *)(param_1 + 0xab) = 0; LOCK(); *(undefined4 *)(param_1 + 0xab) = 0; UNLOCK(); param_1[0xac] = 0; param_1[0xad] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xae)); param_1[0xb4] = 0; param_1[0xb5] = 0; *(undefined1 *)(param_1 + 0xb6) = 0; param_1[0xb7] = 0; FUN_180484030(param_1 + 0xb8,param_1 + 0x67); param_1[0xbb] = 0; FUN_18120dfe0(); FUN_18113eab0(); local_60 = &DAT_18267b100; iVar2 = _Mtx_lock(&DAT_18267b100); if (iVar2 != 0) { std::_Throw_C_error(iVar2); } local_58 = 1; _DAT_18267b1a0 = _DAT_18267b1a0 + 1; FUN_1811497a0(); iVar2 = _Mtx_unlock(&DAT_18267b100); if (iVar2 != 0) { std::_Throw_C_error(iVar2); } FUN_181145ea0(); local_70 = param_1[0xb9]; puVar4 = (uint *)(local_70 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } FUN_1811f8160(param_1 + 0x67,local_70,param_1 + 0x2a); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(*param_2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_1804db5b0(param_3 + 0x10); FUN_1804db5b0(param_3); return param_1; } ############ FUN_ 18119f700 size=1503 ############ void FUN_18119f700(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,undefined8 param_4) { undefined8 *_Dst; undefined8 uVar1; ulonglong uVar2; uint uVar3; uint *puVar4; undefined4 *puVar5; int unaff_retaddr; longlong local_188; longlong lStackY_180; longlong local_178; longlong local_170; longlong local_160; undefined1 local_138 [4]; uint local_134 [7]; undefined8 *local_118; undefined8 *local_110; undefined4 local_108 [4]; code *local_f8; undefined8 local_f0; undefined *local_e8; undefined8 *local_b8; undefined8 local_b0; undefined8 *local_a8; undefined8 *local_a0; ulonglong local_40; local_b0 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)&local_188; param_1[1] = ProcessorStateManagerOptionListener::vftable; *param_1 = ParameterStates::vftable; param_1[1] = ParameterStates::vftable; param_1[2] = ParameterStates::vftable; param_1[3] = ParameterStates::vftable; param_1[4] = ParameterStates::vftable; *(undefined1 *)(param_1 + 5) = 0; param_1[6] = param_2; local_110 = param_1 + 7; local_118 = param_1; local_b8 = param_3; local_a8 = param_1; local_a0 = param_3; FUN_180489700(local_110,local_138); FUN_18049c4e0(param_1 + 9,&DAT_1821d936c); param_1[10] = "PARAM"; param_1[0xb] = &DAT_1821d938c; param_1[0xc] = "value"; param_1[0xd] = "presetName"; *(undefined1 *)(param_1 + 0xe) = 0; local_110 = param_1 + 0xf; FUN_180489700(); _Dst = param_1 + 0x11; memset(_Dst,0,0xf0); local_110 = _Dst; _eh_vector_constructor_iterator_(_Dst,0x78,2,(_func_void_void_ptr *)&LAB_180485400,FUN_181352b00); param_1[0x2f] = param_4; param_1[0x30] = *param_3; FUN_1804951c0(); local_110 = param_1 + 0x31; param_1[0x32] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x33) = 0; *local_110 = ParameterStates::ParameterFloatTimer::vftable; param_1[0x34] = param_1; param_1[0x35] = 0; param_1[0x36] = 0; *(undefined1 *)(param_1 + 0x37) = 0; do { FUN_1811a1106(); FUN_18119dc6f(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { puVar4 = local_134; FUN_18119e734(puVar4,local_134); uVar1 = rdtsc(); *puVar4 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); /* WARNING: Call to offcut address within same function */ func_0x00018119f8c3(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_134[0] = (local_134[0] * -0x7a1413ad >> 0x18 ^ local_134[0] * -0x7a1413ad) * -0x3594166b; if (local_134[0] < 0x7fffffff) { do { local_f8 = FUN_1813bba80; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = FUN_1813bba80(0,0xd1ce); if (1 < uVar2) { FUN_18113eab0(); } } do { puVar5 = local_108; FUN_1811a0f98(); *puVar5 = 0x9afe8259; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_f0 = 0; local_e8 = &DAT_1813dc6d8; /* WARNING: Call to offcut address within same function */ func_0x00018119fb89(); local_170 = local_160 + 0x1b3e5e; local_178 = local_160 + -0x5f103; lStackY_180 = local_160 + 0x56dd8; local_188 = local_160 + 0x2072d; /* WARNING: Could not recover jumptable at 0x00018119fd1e. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(local_160 + 0x4b781))(); return; } ############ FUN_ 1811f8160 size=2439 ############ /* WARNING: Removing unreachable block (ram,0x0001811f822f) */ /* WARNING: Removing unreachable block (ram,0x0001811f81f7) */ /* WARNING: Removing unreachable block (ram,0x0001811f827b) */ void FUN_1811f8160(longlong param_1,undefined8 param_2,undefined8 param_3) { undefined8 uVar1; ulonglong uVar2; int iVar3; uint uVar4; uint *puVar5; uint *puVar6; code **ppcVar7; uint uVar8; ulonglong uVar9; uint uVar10; longlong lVar11; int unaff_retaddr; undefined1 auStack_188 [32]; int local_168; uint local_164; int local_160; uint local_15c; uint **local_158; undefined8 local_150; uint local_148 [2]; undefined8 local_140; undefined4 local_138; undefined8 local_128; uint local_11c; uint local_118; uint local_114; undefined8 local_110; code *local_108 [2]; longlong local_f8; undefined8 local_f0; undefined4 local_e0; undefined4 local_dc; longlong local_d8; undefined8 local_d0; LPCRITICAL_SECTION local_b8; undefined8 local_b0; LPCRITICAL_SECTION local_a8; ulonglong local_40; local_b0 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_188; uVar10 = (uint)&stack0x00000000 & 0x73ff; iVar3 = uVar10 * uVar10 + 1; uVar10 = (iVar3 >> 4) + (iVar3 >> 1) + iVar3 * 0x24924924 >> 0x1d; uVar10 = (int)(uVar10 - 7) >> 0x1f & uVar10; local_118 = (int)(uVar10 | -uVar10) >> 0x1f & 0x73dbU ^ 0x75db; uVar10 = (uint)&stack0x00000000 & 0x1ff; uVar10 = (uVar10 + 1) * uVar10 + 0x4c35 & 0x80000001; local_114 = ((int)(-uVar10 | uVar10) >> 0x1f) * -0xf797 ^ 0xf2c7; local_b8 = (LPCRITICAL_SECTION)(param_1 + 0x2c); local_128 = param_2; local_f8 = param_1; local_f0 = param_3; local_a8 = local_b8; EnterCriticalSection(local_b8); local_110 = 0x181141558; local_158 = (uint **)0x181141658; local_140 = 0xb573fc03; local_164 = 0x257dfb95; local_168 = (iRam000000018114155c * 0x16a88000 | (uint)(iRam000000018114155c * -0x3361d2af) >> 0x11) * 0x1b873593; local_150 = local_158; do { local_160 = -0x258788e3; local_dc = 0x31; local_d8 = 0x1811f8517; FUN_1811f97b7(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = (local_160 + 0xf6e1a627U >> 0x19 | (local_160 + 0xf6e1a627U) * 0x80) + 0xeaff167; uVar10 = (uVar10 >> 2 | uVar10 * 0x40000000) & 0x99999999 | (uVar10 * 4 | uVar10 >> 0x1e) & 0x66666666; uVar8 = (uVar10 >> 8 | uVar10 << 0x18) & 0xdd22dd22 | (uVar10 << 8 | uVar10 >> 0x18) & 0x22dd22dd; uVar10 = (uVar8 >> 0x14 ^ uVar8) >> 2 & 0x7f; uVar8 = ~((uVar10 << 0x14 | uVar10) << 2 ^ uVar8); uVar10 = (uVar8 >> 10 ^ uVar8) >> 1 & 0x1f; uVar10 = uVar8 ^ (uVar10 << 10 | uVar10) * 2; do { local_e0 = 0x33; local_d0 = 0x1811f8607; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); lVar11 = (int)((uVar10 << 8 | uVar8 >> 0x18) & 0xe619e619 | (uVar10 >> 8 | uVar10 << 0x18) & 0x19e619e6) + local_d8; local_158 = &dvs_0x8b9ae151_mfort6317_; local_160 = 0; local_138 = 0; *(longlong *)(lVar11 + 4) = *(longlong *)(lVar11 + 4) + (ulonglong)((uint)((ulonglong)dvs_0x8b9ae151_mfort6317_ >> 0x1a) & 0x42b04100); do { puVar6 = &local_11c; puVar5 = &local_15c; FUN_1811fa228(); uVar1 = rdtsc(); uVar10 = (int)uVar1 + (int)((ulonglong)uVar1 >> 0x20) * 8; *puVar6 = uVar10; uVar2 = ((ulonglong)uVar10 * 0x200800 >> 0x10) + 0x54af8b0b + (ulonglong)uVar10 * 0x1004000; *puVar5 = (int)(uVar2 >> 0x19) + (int)(uVar2 >> 0xd) * 4 & 0x72075e58; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); *(int *)(lVar11 + 8) = *(int *)(lVar11 + 8) + (local_15c ^ 0xe401b7a5); *(int *)(lVar11 + 4) = *(int *)(lVar11 + 4) + (local_15c ^ 0xf566fe99); uVar2 = *(ulonglong *)(lVar11 + 4) ^ 0x46ce908a230df951; uVar9 = ((uVar2 >> 0x10 | uVar2 << 0x30) & 0xa8ef5710a8ef5710 | (uVar2 << 0x10 | uVar2 >> 0x30) & 0x5710a8ef5710a8ef) + 0xddcc446c24fb9557; uVar2 = (ulonglong)((uint)((uVar9 >> 0x1c ^ uVar9) >> 3) & 0x7fffff); uVar2 = (uVar9 ^ (uVar2 << 0x1c | uVar2) << 3) + 0xab47880eb783b9ed; uVar9 = (uVar2 << 0x26 | uVar2 >> 0x1a) + 0x40d6bf08ae34ea60; uVar2 = (ulonglong)((uint)((uVar9 >> 10 ^ uVar9) >> 2) & 0x7f); uVar2 = uVar9 ^ (uVar2 << 10 | uVar2) << 2 ^ 0x94070bfe39c6f42e; *(ulonglong *)(lVar11 + 4) = uVar2; *local_158 = (uint *)((longlong)*local_158 + (ulonglong)((uint)(uVar2 >> 0x18) & 0x243832da)); local_15c = (uint)(*(ulonglong *)(lVar11 + 4) >> 0xd) & 0x7fffffff; local_164 = (uint)(*(ulonglong *)(lVar11 + 4) >> 0x1a) ^ 0x7da0669f; local_158 = (uint **)(*(ulonglong *)(lVar11 + 4) ^ 0xc59b842679053ba); do { puVar6 = local_148; FUN_1811f8b21(puVar6,local_148); uVar1 = rdtsc(); *puVar6 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_1811f7b1f(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); local_148[0] = (local_148[0] * -0x502813ad >> 0x18 ^ local_148[0] * -0x502813ad) * 0x5bd185eb; if (local_148[0] < 0x253c823) { local_108[0] = (code *)0x0; do { ppcVar7 = local_108; FUN_1811fa55b(ppcVar7,local_108); *ppcVar7 = FUN_18141db20; func_0x0001811f8ed0(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar2 = (*local_108[0])(); if (1 < uVar2) { FUN_18113eab0(); } } local_168 = (iRam0000000181141568 * 0x16a88000 | (uint)(iRam0000000181141568 * -0x3361d2af) >> 0x11) * 0x1b873593; do { FUN_1811fa8bb(); FUN_1811faedf(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); local_168 = (iRam0000000181141580 * 0x16a88000 | (uint)(iRam0000000181141580 * -0x3361d2af) >> 0x11) * 0x1b873593; FUN_1811f7b1f(0xf03c,0x181141584,0,&local_168); FUN_1811f8b22(); return; } ############ FUN_ 181203fd0 size=4043 ############ /* WARNING: Instruction at (ram,0x00018120423d) overlaps instruction at (ram,0x000181204239) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001812042ab) */ /* WARNING: Removing unreachable block (ram,0x0001812041ca) */ /* WARNING: Removing unreachable block (ram,0x00018120413e) */ /* WARNING: Type propagation algorithm not settling */ void FUN_181203fd0(LPCRITICAL_SECTION param_1,ULONG_PTR param_2) { ULONG_PTR UVar1; ulonglong uVar2; undefined4 uVar3; undefined8 uVar4; ulonglong uVar5; undefined8 *puVar6; uint uVar7; int iVar8; uint uVar9; longlong *plVar10; ulonglong uVar11; uint *puVar12; uint uVar13; uint uVar14; undefined4 *puVar15; uint *puVar16; undefined4 *puVar17; undefined4 *puVar18; undefined8 *puVar19; undefined8 *puVar20; undefined1 *puVar21; undefined4 *puVar22; uint uVar23; uint uVar24; longlong lVar25; uint uVar26; longlong lVar27; longlong *plVar28; uint uVar29; uint uVar30; longlong *plVar31; LPCRITICAL_SECTION p_Var32; longlong lVar33; int *piVar34; int unaff_retaddr; undefined8 local_210 [5]; undefined8 local_1e8; undefined4 local_1e0; uint local_1dc; longlong local_1d8; uint local_1d0 [2]; uint local_1c8; undefined1 local_1c4 [12]; undefined4 *local_1b8; uint local_1b0; undefined4 local_1a4; undefined8 local_1a0; undefined4 local_198; uint local_190; uint local_18c [3]; LPCRITICAL_SECTION local_180; code *local_178; longlong local_170; undefined8 local_168; LPCRITICAL_SECTION local_160; undefined4 local_158; undefined4 local_154; undefined1 local_150 [8]; longlong local_148; longlong local_140; undefined1 local_138 [8]; undefined1 local_130 [8]; undefined4 *local_128; undefined8 local_120; undefined1 local_118 [8]; longlong lStack_110; code *local_108; undefined1 auStack_100 [8]; uint local_f8 [2]; uint local_f0; uint local_ec; uint local_e8; uint local_e4; undefined4 local_e0; undefined4 local_dc; LPCRITICAL_SECTION local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 local_c0; undefined8 local_b8; undefined8 local_b0; undefined1 auStack_a8 [8]; undefined1 auStack_a0 [8]; undefined8 local_98; undefined4 uStack_90; undefined4 uStack_8c; undefined4 uStack_88; undefined4 uStack_84; undefined4 local_70 [4]; undefined1 auStack_60 [8]; uint uStack_58; uint uStack_54; ulonglong local_38; puVar6 = local_210 + 1; puVar19 = local_210 + 1; local_98 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)(local_210 + 1); local_180 = param_1; local_d8 = param_1; InitializeCriticalSection(param_1); InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)¶m_1[1].DebugInfo + 4)); uVar4 = FUN_18122bf10(); FUN_18122c1b0(uVar4,&local_170,&DAT_182673950); FUN_181352ec0(¶m_1[2].LockCount,&local_170); FUN_1804951e0(local_170 + -0x10); param_1[2].SpinCount = param_2; local_160 = param_1 + 3; FUN_1804898a0(local_160,local_1c4); local_d0 = 0; param_1[3].OwningThread = (HANDLE)0x0; local_c8 = 0; param_1[3].LockSemaphore = (HANDLE)0x0; local_c0 = 0; param_1[3].SpinCount = 0; local_b8 = 0; param_1[4].DebugInfo = (PRTL_CRITICAL_SECTION_DEBUG)0x0; param_1[4].LockCount = 0; local_b0 = 0; param_1[4].OwningThread = (HANDLE)0x0; param_1[4].LockSemaphore = (HANDLE)0x0; param_1[4].SpinCount = 0; local_18c[2] = 0xaa0; uVar9 = (uint)&stack0x00000000 & 0xfff; uVar9 = (uVar9 * uVar9 + 1) % 7; uVar7 = (uint)&stack0x00000000 & 0x77ff; iVar8 = uVar7 * uVar7 + 1; uVar7 = (iVar8 >> 4) + (iVar8 >> 1) + iVar8 * 0x24924924 >> 0x1d; uVar7 = (int)(uVar7 - 7) >> 0x1f & uVar7; local_18c[1] = ((int)(-uVar7 | uVar7) >> 0x1f) * -0x40fc ^ (int)(uVar9 | -uVar9) >> 0x1f & 0x4a1cU ; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_1a0 = 0x13fd8; local_1b8 = &DAT_18223d7b8; local_1e8 = &DAT_182251790; plVar31 = &DAT_186f0d1f8; do { local_198 = 0x4960a6c6; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_1d8 = 0xb0a7f32e40eababb; local_1a4 = 0x40eababb; do { uVar4 = rdtsc(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = ((uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20)) * -0x166a7a15; local_1d0[0] = (uVar9 >> 0x18 ^ uVar9) * -0x3d4d3d4e; if (local_1d0[0] < 0x7fffffff) { do { local_178 = FUN_18141db20; FUN_181203163(&local_178,0x33ac); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar5 = (*local_178)(); if (1 < uVar5) { FUN_18113eab0(); } } uVar4 = FUN_18048a7b0(local_150,param_1); FUN_180485db0(¶m_1[3].OwningThread,uVar4); FUN_18047c160(local_150); local_1e0 = 0xc6a4a793; local_1d8 = (longlong)local_1e8 - (longlong)local_1b8; lVar33 = 0; local_128 = local_1b8; uVar9 = 0xcb343682; do { local_1dc = 0x54bf3a39; local_158 = 0x42; local_148 = 0x1812045f7; func_0x0001812057c0(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = ((local_1dc >> 8 | local_1dc << 0x18) & 0xe01fe01f | (local_1dc << 8 | local_1dc >> 0x18) & 0x1fe01fe0) ^ 0x3dd26cfe; uVar13 = uVar7 << 3 | uVar7 >> 0x1d; uVar7 = ((uVar7 & 0x1fffffff) >> 4 ^ uVar13) >> 4 & 7; uVar7 = ((uVar7 << 7 | uVar7) << 4 ^ uVar13) + 0xdddd3a05; uVar7 = (uVar7 * 0x10000 | uVar7 >> 0x10) & 0xe38c1c73 | (uVar7 >> 0x10 | uVar7 * 0x10000) & 0x1c73e38c; uVar7 = (uVar7 << 0x10 | uVar7 >> 0x10) & 0xc9aa3655 | (uVar7 >> 0x10 | uVar7 << 0x10) & 0x3655c9aa; uVar13 = uVar7 + 0xf02a800; local_1dc = (uVar13 >> 2 | uVar7 << 0x1e) & 0x99999999 | (uVar13 * 4 | uVar13 >> 0x1e) & 0x66666666; puVar22 = (undefined4 *)0x9653c1a7; uVar3 = 0x9653c1a7; do { local_1b0 = 0x91bbe015; local_154 = 0x20; local_140 = 0x1812046e7; FUN_181203701(); p_Var32 = local_180; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = (local_1b0 << 0x10 | local_1b0 >> 0x10) & 0x8fd2702d | (local_1b0 >> 0x10 | local_1b0 << 0x10) & 0x702d8fd2; uVar13 = (uVar7 >> 0x13 | uVar7 << 0xd) + 0x87d3365b; uVar7 = (uVar13 >> 9 ^ uVar13) >> 8 & 0xf; uVar7 = uVar13 ^ (uVar7 << 9 | uVar7) << 8; uVar13 = uVar7 >> 4 & 0xf0f0f0f0 | uVar13 * 0x10000000 | (uVar7 & 0xf0f0f0) << 4 | uVar13 >> 0x1c; uVar23 = uVar13 << 0xc | uVar13 >> 0x14; uVar7 = (uVar23 >> 3 ^ uVar23) >> 0x12 & 7; lVar27 = (int)local_1dc + local_148; lVar25 = (int)((((uVar7 * 8 | uVar7) << 0x12 ^ uVar23) << 8 | (uVar13 & 0xfffff) >> 0xc) + 0x580553d9) + local_140; local_1dc = 0; local_1b0 = 0; uVar5 = (ulonglong)((uint)(*(ulonglong *)(lVar25 + 4) >> 0x1f) & 0x6480182) + 0x3baff9b9724c3835 + *(longlong *)(lVar27 + 4); uVar5 = (uVar5 >> 1 | (ulonglong)((uVar5 & 1) != 0) << 0x3f) + 0x4dfc870124caedd7; uVar5 = (uVar5 >> 2 & 0xcccccccccccccccc | uVar5 << 0x3e | uVar5 * 4 & 0x3333333333333333 | uVar5 >> 0x3e) + 0x2eb8058cf663f5a1; uVar5 = ((uVar5 * 0x10 | uVar5 >> 0x3c) & 0xe1e1e1e1e1e1e1e1 | (uVar5 >> 4 | uVar5 << 0x3c) & 0x1e1e1e1e1e1e1e1e) ^ 0xe4f3ca72446d143d; uVar5 = (uVar5 << 5 | uVar5 >> 0x3b) + 0x9d0a0a2101c272d2; *(ulonglong *)(lVar27 + 4) = uVar5; plVar10 = (longlong *)(lVar25 + 4); *plVar10 = *plVar10 + (ulonglong)((uint)(uVar5 >> 0x11) & 0x3a309011); local_190 = (uint)(*(ulonglong *)(lVar27 + 4) >> 7) & 0x7fffffff; local_1c8 = (uint)(*(ulonglong *)(lVar27 + 4) >> 0x1e) ^ 0x9709b029; local_1e8 = (undefined *)(*(ulonglong *)(lVar27 + 4) ^ 0xbed04c79e4ca78a3); uVar4 = FUN_18048a800(local_138,local_180); FUN_180485db0(&p_Var32[3].LockSemaphore,uVar4); FUN_18047c160(local_138); p_Var32 = local_180; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = FUN_18048a8d0(local_130,local_180); FUN_180485db0(&p_Var32[3].SpinCount,uVar4); FUN_18047c160(local_130); local_e0 = 0x7313be1f; local_dc = 0x9d1f0082; uVar7 = (uint)((ulonglong)local_1e8 >> 0x20); uVar30 = (uVar7 ^ 0x84296ecf) & 0x66666666 ^ uVar7; uVar26 = (uVar7 ^ 0x84296ecf) & 0x99999999 ^ uVar7; uVar13 = (uVar26 >> 2 ^ uVar26) >> 4 & 1; uVar23 = (local_1c8 >> 0x11 ^ local_1c8) & 0x3fff; uVar14 = ((uint)((ulonglong)local_1e8 >> 0xc) & 0xfffff ^ (uint)local_1e8) >> 9 & 0x7f; uVar24 = (uVar30 >> 0xb ^ uVar30) & 3; uVar26 = ~((uVar13 * 4 | uVar13) << 4 ^ uVar26); uVar13 = ~((uVar23 << 0x11 | uVar23) ^ local_1c8); uVar24 = ~((uVar24 << 0xb | uVar24) ^ uVar30); uVar23 = ~((uVar14 << 0xc | uVar14) << 9 ^ (uint)local_1e8) ^ uVar13; uVar29 = uVar23 & 0xe074d180 ^ uVar13; uVar5 = (ulonglong)uVar29; uVar13 = uVar23 & 0x1f8b2e7f ^ uVar13; uVar14 = (uVar26 >> 0x11 ^ uVar26) & 0xff; uVar30 = (uVar29 >> 6 ^ uVar29) >> 0x11 & 0xf; uVar23 = (uVar13 >> 6 ^ uVar13) & 0xf; uVar13 = (uVar23 << 6 | uVar23) ^ uVar13; uVar23 = (uVar24 >> 0x11 ^ uVar24) & 0x1ff; uVar23 = uVar24 ^ (uVar23 << 0x11 | uVar23) ^ uVar13; uVar24 = uVar23 & 0x5b705ebb ^ uVar13; uVar14 = uVar24 ^ uVar26 ^ (uVar14 << 0x11 | uVar14); local_18c[0] = ~(uVar14 & 0xaaaaaaaa ^ uVar24); puVar17 = (undefined4 *)(ulonglong)local_18c[0]; local_ec = ~((uVar30 << 6 | uVar30) << 0x11 ^ uVar29); local_1a0 = CONCAT44(local_1a0._4_4_,local_ec); local_e4 = ~(uVar23 & 0xa48fa144 ^ uVar13); uVar13 = ~(uVar14 & 0x55555555 ^ uVar24) ^ local_e4; local_e8 = uVar13 & 0x7f807f80 ^ local_e4; local_1b8 = (undefined4 *)CONCAT44(local_1b8._4_4_,local_e8); local_e4 = uVar13 & 0x807f807f ^ local_e4; local_1e8 = (undefined *)CONCAT44(uVar7,local_e4); local_f0 = local_18c[0]; if (local_1d8 == 0) { LAB_181204de3: *(undefined4 *)(puVar19 + 9) = uVar3; *(uint *)(puVar19 + 9) = uVar9; do { puVar6 = puVar19 + 9; puVar19[-1] = 0x181204e0b; uVar3 = FUN_18134e562(&LAB_18113e030); *(undefined4 *)puVar6 = uVar3; /* WARNING: Call to offcut address within same function */ puVar19[-1] = 0x181204e28; func_0x000181204ef5(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = *(uint *)(puVar19 + 9); puVar19[-1] = 0x181204e5c; uVar4 = FUN_18048a920(local_118,p_Var32); puVar19[-1] = 0x181204e6b; FUN_180485db0(p_Var32 + 4,uVar4); puVar19[-1] = 0x181204e74; FUN_18047c160(local_118); uVar9 = (~uVar9 + 0x8bc561d4 >> 0x1f | (~uVar9 + 0x8bc561d4) * 2) + 0x3e290af6; uVar9 = uVar9 >> 0x10 | uVar9 * 0x10000; if (p_Var32[2].SpinCount == 0) { lVar33 = 0; } else { lVar33 = p_Var32[2].SpinCount + 8; } lVar25 = 0; local_168 = *(undefined8 *)((longlong)p_Var32[3].OwningThread + 8); puVar19[-1] = 0x181204ea9; FUN_1804951c0(); uVar4 = local_168; puVar19[-1] = 0x181204eb9; FUN_1811f8160(p_Var32,uVar4,lVar33); puVar19[-1] = 0x181204ec3; FUN_18124a7e0(&local_168); do { puVar16 = local_f8; puVar12 = (uint *)((longlong)puVar19 + 0x5c); puVar19[-1] = 0x181204ede; FUN_181203e50(); puVar19[-1] = uVar5; uVar4 = rdtsc(); uVar7 = (int)uVar4 + (int)((ulonglong)uVar4 >> 0x20); *puVar16 = uVar7; uVar5 = (ulonglong)uVar7 * -0x1ff - 0x5b3ef5a3; uVar5 = ((uVar5 >> 9) - 0x300c9bb8) + uVar5 * 4; uVar5 = (uVar5 * 0x400 | uVar5 >> 0x36) * 0x1001 >> 5; uVar5 = uVar5 ^ uVar5 * 0x8000 - 0x48481e2b; uVar5 = (uVar5 ^ uVar5 * 3 >> 7) * -0x7ff - 0x2bb2843b; if ((undefined1 *)0xffffffff859dc6fa < &stack0x00000000) { FUN_181205015(); return; } *puVar12 = (int)uVar5 + (int)(uVar5 >> 5) & 0x7fffffff; uVar5 = puVar19[-1]; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = *(uint *)((longlong)puVar19 + 0x5c); *(uint *)((longlong)puVar19 + 0x5c) = uVar7 ^ *(uint *)(puVar19 + 0xf); piVar34 = (int *)register0x00000020; if ((uVar7 ^ *(uint *)(puVar19 + 0xf)) < 0x4444447) { uStack_90 = *(undefined4 *)((longlong)puVar19 + 0x7c); uStack_8c = *(undefined4 *)(puVar19 + 0xd); uStack_88 = *(undefined4 *)(puVar19 + 10); uStack_84 = *(undefined4 *)(puVar19 + 4); do { plVar10 = &lStack_110; puVar6 = puVar19 + 0xc; /* WARNING: Call to offcut address within same function */ puVar19[-1] = 0x18120509e; func_0x000181204a85(); puVar19[-1] = 0x1812050a3; lVar27 = puVar19[-1]; *(undefined4 *)puVar6 = 0x6ecd5091; *plVar10 = lVar27; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = (*(uint *)(puVar19 + 0xc) << 4 | *(uint *)(puVar19 + 0xc) >> 0x1c) + 0x914f558b; uVar7 = (uVar7 >> 0x1f | uVar7 * 2) + 0x54b8b08f; iVar8 = (uVar7 >> 6 | uVar7 * 0x4000000) + 0xba601b56; *(int *)(puVar19 + 0xc) = iVar8; puVar19[-1] = 0x181205113; (*(code *)(iVar8 + lStack_110))(&uStack_90,auStack_60); do { puVar22 = (undefined4 *)((longlong)puVar19 + 0x3c); /* WARNING: Call to offcut address within same function */ puVar19[-1] = 0x18120511d; func_0x000181204236(); *puVar22 = 0xc2c879bf; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = (*(int *)((longlong)puVar19 + 0x3c) + 0x6b6aa9U >> 0x12 | (*(int *)((longlong)puVar19 + 0x3c) + 0x6b6aa9U) * 0x4000) ^ 0x42bee0a9; uVar7 = (uVar7 << 0x1c | uVar7 >> 4) + 0x2ffa1d7f; uVar7 = (uVar7 >> 0x14 | uVar7 * 0x1000) ^ 0xd8e961ca; *(uint *)((longlong)puVar19 + 0x3c) = (uVar7 >> 0x13 | uVar7 << 0xd) + 0x42302c84; puVar17 = (undefined4 *)(ulonglong)uStack_54; iVar8 = 7; do { uVar7 = (uStack_58 >> 0xc ^ uStack_58) >> 2 & 0xfff; uVar14 = (uint)puVar17; uVar13 = ((uint)((ulonglong)puVar17 >> 5) ^ uVar14) >> 8 & 1; uStack_58 = (uVar7 << 0xc | uVar7) << 2 ^ uStack_58; uVar23 = (uStack_58 >> 0x18 | uStack_58 << 8) + 0x6e4157a7; uVar14 = (uVar14 << 0x1c | ((uVar13 << 5 | uVar13) << 8 ^ uVar14) >> 4) + 0x20a786ca; uVar7 = (uVar23 >> 0xb ^ uVar23) >> 9 & 0x3ff; uVar13 = uVar23 ^ (uVar7 << 0xb | uVar7) << 9; uVar7 = (uVar14 >> 0x11 ^ uVar14) >> 0xb & 3; uVar14 = uVar14 ^ (uVar7 << 0x11 | uVar7) << 0xb; uVar7 = (uVar13 << 4 | uVar13 >> 0x1c) & 0x87878787 | (uVar13 >> 4 | uVar23 * 0x10000000) & 0x78787878; uVar13 = (uVar14 >> 0x10 | uVar14 << 0x10) & 0xa3635c9c | (uVar14 << 0x10 | uVar14 >> 0x10) & 0x5c9ca363; uVar13 = (uVar13 << 0x12 | uVar13 >> 0xe) + 0x607d5440; uVar7 = uVar13 ^ (uVar7 << 0x12 | uVar7 >> 0xe) + 0x270a0bab; uStack_58 = uVar7 & 0x3c3c3c3c ^ uVar13; uVar7 = uVar7 & 0xc3c3c3c3 ^ uVar13 ^ uStack_58; uVar13 = uVar7 & 0x8cbe5e76 ^ uStack_58; puVar17 = (undefined4 *)(ulonglong)uVar13; uStack_58 = uVar7 & 0x7341a189 ^ uStack_58; iVar8 = iVar8 + -1; } while (-1 < iVar8); iVar8 = (uStack_58 + 0xfacf38d9 >> 0x15 | (uStack_58 + 0xfacf38d9) * 0x800) + 0x58b3008b; uVar7 = (iVar8 * 2 | (uint)(iVar8 < 0)) ^ 0xd75fe617; uVar7 = ~(uVar7 << 0x1a | uVar7 >> 6) + 0x1325155; if (((uVar7 * 0x400 | uVar7 >> 0x16) ^ *(uint *)((longlong)puVar19 + 0x3c)) + uVar13 != *(int *)(puVar19 + 8)) { do { puVar19[-1] = piVar34; puVar19[-2] = plVar31; local_108 = FUN_180bc28a0; plVar31 = (longlong *)puVar19[-2]; piVar34 = (int *)puVar19[-1]; uVar7 = (*piVar34 + 1) * *piVar34 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); puVar19[-1] = 0x181205340; FUN_180bc28a0(); do { puVar19[-1] = 0x181205345; FUN_181203ea5(); puVar19[-1] = 0x181205369; FUN_181207388(); uVar7 = (*piVar34 + 1) * *piVar34 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); } } uVar9 = uVar9 & *(uint *)((longlong)puVar19 + 100) | ~*(uint *)((longlong)puVar19 + 100) & ~uVar9; UVar1 = p_Var32[2].SpinCount; if (uVar9 == uVar9 >> 7) { if (UVar1 != 0) { lVar25 = UVar1 + 8; } puVar19[-1] = 0x1812053bd; uVar4 = FUN_1804730e0(p_Var32 + 4); puVar19[-1] = 0x1812053c9; uVar4 = .?AVSoothe2Header@@::vtbl___AVSoothe2Header__(uVar4,auStack_100); puVar19[-1] = 0x1812053d6; puVar6 = (undefined8 *)FUN_181245ff0(auStack_a8,uVar4); uVar4 = *puVar6; puVar19[-1] = 0x1812053e4; lVar33 = lVar25; FUN_1811f8160(p_Var32,uVar4); puVar19[-1] = 0x1812053ee; FUN_18124a7e0(auStack_100); do { puVar21 = (undefined1 *)puVar19; *(longlong *)(puVar21 + -8) = lVar25; *(LPCRITICAL_SECTION *)(puVar21 + -0x10) = p_Var32; *(longlong *)(puVar21 + -0x18) = lVar33; lVar27 = -(longlong)(int)local_18c[1]; lVar33 = *(longlong *)(puVar21 + lVar27 + 0xac8); p_Var32 = *(LPCRITICAL_SECTION *)(puVar21 + lVar27 + 0xad0); lVar25 = *(longlong *)(puVar21 + lVar27 + 0xad8); uVar9 = (*piVar34 + 1) * *piVar34 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } puVar19 = (undefined8 *)(puVar21 + lVar27 + 0xae0); } while (uVar9 != 0); *(undefined **)(puVar21 + lVar27 + 0xad8) = &UNK_181205618; } if (UVar1 != 0) { lVar25 = UVar1 + 8; } puVar19[-1] = 0x181205520; uVar4 = FUN_1804730e0(p_Var32 + 4); puVar19[-1] = 0x18120552c; uVar4 = .?AVSoothe2Header@@::vtbl___AVSoothe2Header__(uVar4,&local_160); puVar19[-1] = 0x181205539; puVar6 = (undefined8 *)FUN_181245ff0(auStack_a0,uVar4); uVar4 = *puVar6; puVar19[-1] = 0x181205547; FUN_1811f8160(p_Var32); puVar19[-1] = 0x181205551; FUN_18124a7e0(&local_160); lVar27 = (longlong)(int)local_18c[2]; puVar19[-1] = uVar4; puVar19[-2] = lVar25; puVar19[-3] = lVar33; thunk_FUN_1805a9280(lVar27,thunk_FUN_1805a9280,0x181205577,~(~(ulonglong)puVar17 + 1) + 1); return; } LAB_181204b10: puVar17 = (undefined4 *)((longlong)local_128 + lVar33); puVar18 = puVar17; if ((plVar31 != (longlong *)0x0) && (lVar25 = *plVar31, -1 < lVar25)) { local_120 = 0x2621fc0; do { if (puVar17 < IMAGE_DOS_HEADER_180000000.e_magic + lVar25 + 8) { if (-1 < lVar25) { plVar10 = (longlong *)(lVar25 + 0x180000000); if (plVar10 < puVar17 + 1) { local_70[0] = *puVar17; plVar28 = plVar31; goto LAB_181204b95; } } break; } plVar31 = plVar31 + 1; lVar25 = *plVar31; } while (-1 < lVar25); } goto LAB_181204bbc; while (plVar10 = (longlong *)(lVar25 + 0x180000000), plVar10 < puVar17 + 1) { LAB_181204b95: *(longlong *)(&stack0x00017fffff90 + (lVar25 - (longlong)puVar17)) = *plVar10 + -0x180000000; plVar28 = plVar28 + 1; lVar25 = *plVar28; puVar18 = local_70; if (lVar25 < 0) break; } LAB_181204bbc: puVar22 = (undefined4 *)(ulonglong)((int)puVar22 * uVar9); uVar7 = uVar9 & 0x1dff; uVar5 = (ulonglong)uVar7; puVar19 = puVar6; if ((int)((uVar7 - 1) * uVar7 & 1) >> ((byte)lVar33 & 0x1f) != 0) { do { puVar22 = (undefined4 *)(ulonglong)((uint)puVar22 | uVar9); lVar33 = lVar33 + 4; } while ((int)((uVar7 - 1) * uVar7 & 1) >> ((byte)lVar33 & 0x1f) != 0); } LAB_181204c40: puVar17 = (undefined4 *)((longlong)puVar19 + 0x74); uVar11 = 0x583c; puVar19[-1] = 0x181204c55; puVar15 = puVar18; FUN_181203e50(0x583c,puVar18,0); do { if ((uVar11 & 0xc300) == 0) goto LAB_181204c77; if ((uVar11 & 0xc300) == 0) goto LAB_181204c77; if ((uVar11 & 0xc3) != 0) goto LAB_181204c77; while ((uVar11 & 0xc300) != 0) { if ((uVar11 & 0xc300) != 0) goto LAB_181204c84; } } while( true ); LAB_181204c84: do { uVar2 = uVar11 & 0xc300; while (uVar2 != 0) { *(undefined4 **)((longlong)puVar19 + -8) = puVar22; puVar19 = (undefined8 *)((longlong)puVar19 + -8); puVar22 = puVar15; uVar2 = uVar11 & 0xc3; } LAB_181204c77: } while ((uVar11 & 0xc3) != 0); do { puVar20 = puVar19; puVar20[-1] = 0x181204cce; uVar3 = FUN_1813b2163(); *puVar17 = uVar3; uVar5 = (~uVar5 + 1 ^ 0xffffffffffffffff) + 1; puVar22 = (undefined4 *)*puVar20; puVar19 = puVar20 + 1; if (((uVar11 & 0xc300) == 0) || ((uVar11 & 0xc300) == 0)) goto LAB_181204c77; } while ((uVar11 & 0xc300) == 0); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } if (uVar7 != 0) goto LAB_181204c40; uVar9 = (uVar9 + *(int *)((longlong)puVar20 + 0x7c)) * *(int *)(puVar20 + 6); if (((ulonglong)puVar22 & 0x3f) != 0) { puVar22 = (undefined4 *)(ulonglong)((uint)puVar22 | uVar9); } uVar9 = uVar9 ^ uVar9 >> 0x10; if (uVar9 + (int)puVar22 < 0x28) { puVar22 = (undefined4 *)(ulonglong)((int)puVar22 + 0x8f051e07); } uVar7 = uVar9 & 0x1bf; iVar8 = (uVar7 + 2) * (uVar7 + 1) * uVar7; if ((((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 & 0xc0000000U) != 0) { iVar8 = (uVar7 + 2) * (uVar7 + 1) * uVar7; do { puVar22 = (undefined4 *) (ulonglong)((int)puVar22 * ((uint)((ulonglong)puVar22 >> 9) & 0x7fffff)); lVar33 = lVar33 + 4; } while (((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e != 0); } uVar3 = SUB84(puVar22,0); lVar33 = lVar33 + 4; puVar6 = puVar19; p_Var32 = local_180; if (lVar33 == puVar20[7]) goto LAB_181204de3; goto LAB_181204b10; } ############ FUN_ 1805bd330 size=56 ############ undefined8 FUN_1805bd330(longlong param_1) { undefined1 *puVar1; FUN_18113eab0(); *(undefined4 *)(param_1 + 8) = 0; *(undefined8 *)(param_1 + 0x60) = 0; if (0xf < *(ulonglong *)(param_1 + 0x68)) { puVar1 = *(undefined1 **)(param_1 + 0x50); *puVar1 = 0; return CONCAT71((int7)((ulonglong)puVar1 >> 8),1); } *(undefined1 *)(param_1 + 0x50) = 0; return 1; } ############ FUN_ 1805c0340 size=56 ############ undefined8 FUN_1805c0340(undefined8 param_1,longlong param_2) { undefined1 *puVar1; FUN_18113eab0(); *(undefined4 *)(param_2 + 8) = 0; *(undefined8 *)(param_2 + 0x60) = 0; if (0xf < *(ulonglong *)(param_2 + 0x68)) { puVar1 = *(undefined1 **)(param_2 + 0x50); *puVar1 = 0; return CONCAT71((int7)((ulonglong)puVar1 >> 8),1); } *(undefined1 *)(param_2 + 0x50) = 0; return 1; } ############ FUN_ 181a04090 size=1882 ############ /* WARNING: Removing unreachable block (ram,0x000181a04185) */ undefined8 FUN_181a04090(undefined8 param_1,undefined8 param_2) { ulonglong uVar1; undefined8 uVar2; code **ppcVar3; uint *puVar4; uint uVar5; undefined4 *puVar6; ulonglong uVar7; longlong *plVar8; uint uVar9; int unaff_retaddr; undefined1 auStack_168 [36]; uint local_144; undefined *local_140; ulonglong local_138; uint local_130; uint local_128; undefined4 local_124; undefined8 local_110; undefined *local_108; undefined4 local_100; uint local_fc; uint local_f8; undefined4 local_f4; code *local_f0; undefined *local_e8; undefined8 local_c8; undefined4 local_c0; undefined4 local_bc; longlong local_b0 [4]; undefined8 local_90; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_168; uVar9 = (uint)&stack0x00000000 & 0x2ff; uVar9 = (uVar9 * uVar9 * 0x10 + 4) % 0x13; local_f8 = ((int)(-uVar9 | uVar9) >> 0x1f) * -0x8644 ^ 0x8ac4; local_f4 = 0xd50; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_108 = &DAT_182111a10; local_140 = &DAT_1821259e8; local_138 = 0x794dcad6bd74d94c; local_110 = 0xbd74d94c; do { uVar2 = rdtsc(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x7a1400af; local_130 = (uVar9 >> 0x18 ^ uVar9) * -0x3d4d3595; local_c8 = param_2; local_90 = param_1; if (local_130 < 0x7fffffff) { local_f0 = (code *)0x0; do { ppcVar3 = &local_f0; /* WARNING: Call to offcut address within same function */ func_0x000181a04726(ppcVar3,&local_f0); *ppcVar3 = FUN_1813bba80; FUN_181a05e83(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar1 = (*local_f0)(); if (1 < uVar1) { FUN_18113eab0(); } } do { plVar8 = local_b0; puVar6 = &local_c0; puVar4 = &local_144; func_0x000181a03edb(); *puVar4 = 0xd588f26c; *puVar6 = 0x16; *plVar8 = 0x181a04377; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = ((local_144 >> 8 | local_144 << 0x18) & 0xa45ba45b | (local_144 << 8 | local_144 >> 0x18) & 0x5ba45ba4) + 0x9528e3ad; uVar5 = ((uVar9 * 0x10 | uVar9 >> 0x1c) & 0xe1e1e1e1 | (uVar9 >> 4 | uVar9 * 0x10000000) & 0x1e1e1e1e) ^ 0x21cc3f9e; uVar9 = (uVar5 >> 0xb ^ uVar5) >> 2 & 0x3ff; uVar5 = (uVar9 << 0xb | uVar9) << 2 ^ uVar5; uVar9 = (uVar5 << 0x15 | uVar5 >> 0xb) ^ 0xc77e6d0d; do { local_bc = 0x59; local_b0[1] = 0x181a04447; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_b0[0] = (int)((uVar9 >> 4 & 0xf0f0f0f0 | uVar9 << 0x1c | (uVar9 & 0xf0f0f0) << 4 | uVar9 >> 0x1c) ^ 0xab8cb152) + local_b0[0]; local_144 = 0; local_124 = 0; *(longlong *)(local_b0[0] + 4) = *(longlong *)(local_b0[0] + 4) + (ulonglong)((uint)((ulonglong)dvs_0x00b625aa_mfort6317_ >> 0xd) & 0x1148f29); uVar1 = *(ulonglong *)(local_b0[0] + 4); uVar9 = (uint)((uVar1 >> 0x10 ^ uVar1) >> 9) & 0x1fff; uVar7 = ((ulonglong)uVar9 << 0x10 | (ulonglong)uVar9) << 9 ^ uVar1 ^ 0x1ad82cde25fa3de9; uVar9 = (uint)((uVar7 >> 0x1d ^ uVar7) >> 1) & 0x1fffffff; uVar7 = ((ulonglong)uVar9 << 0x1d | (ulonglong)uVar9) * 2 ^ uVar7; uVar1 = uVar7 >> 2 & 0xcccccccccccccccc | uVar7 << 0x3e | (uVar7 & 0xccccccccccccccc) << 2 | uVar1 >> 0x3e; uVar1 = ((uVar1 >> 0x10 | uVar1 << 0x30) & 0x8aab75548aab7554 | (uVar1 << 0x10 | uVar1 >> 0x30) & 0x75548aab75548aab) ^ 0xa6729cab8f38677b; uVar1 = (uVar1 & 0x3333333333333333) << 2 | uVar1 >> 2 & 0x3333333333333333; uVar7 = uVar1 >> 0x18 | uVar1 << 0x28; uVar1 = (uVar7 << 0x10 | (uVar1 & 0xffffff) >> 8) & 0x87ae785187ae7851 | (uVar7 >> 0x10 | (uVar1 >> 0x18) << 0x30) & 0x785187ae785187ae; *(ulonglong *)(local_b0[0] + 4) = uVar1; dvs_0x00b625aa_mfort6317_ = (uint *)((longlong)dvs_0x00b625aa_mfort6317_ + (uVar1 >> 0x19 & 0xe0489005)); local_fc = (uint)(*(ulonglong *)(local_b0[0] + 4) >> 7) & 0x7fffffff; local_128 = (uint)(*(ulonglong *)(local_b0[0] + 4) >> 0x14) ^ 0xf1bcfbbf; local_138 = *(ulonglong *)(local_b0[0] + 4) ^ 0xcf265b0a6c3aa52d; local_e8 = local_108; local_108 = (undefined *)((longlong)local_140 - (longlong)local_108); do { local_100 = 0xe30439a5; FUN_181a05ca9(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar2 = FUN_181a048d3(); return uVar2; } ############ FUN_ 1813de690 size=1102 ############ /* WARNING: Removing unreachable block (ram,0x0001813de7cc) */ /* WARNING: Removing unreachable block (ram,0x0001813de7ac) */ /* WARNING: Removing unreachable block (ram,0x0001813de80d) */ void FUN_1813de690(undefined8 *param_1) { undefined8 uVar1; ulonglong uVar2; uint uVar3; code **ppcVar4; longlong unaff_RBX; int unaff_retaddr; undefined1 auStack_158 [32]; undefined4 local_138; uint local_110; undefined4 local_fc; undefined4 local_f0; undefined8 *local_e8; undefined4 local_e0; code *local_d8 [9]; undefined8 local_90; ulonglong local_30; local_90 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_158; *param_1 = Soothe2AudioProcessorEditor::vftable; param_1[0x22] = Soothe2AudioProcessorEditor::vftable; param_1[0x23] = Soothe2AudioProcessorEditor::vftable; param_1[0x24] = Soothe2AudioProcessorEditor::vftable; param_1[0x25] = Soothe2AudioProcessorEditor::vftable; param_1[0x28] = Soothe2AudioProcessorEditor::vftable; param_1[0x2b] = Soothe2AudioProcessorEditor::vftable; param_1[0x2c] = Soothe2AudioProcessorEditor::vftable; param_1[0x112] = Soothe2AudioProcessorEditor::vftable; param_1[0x115] = Soothe2AudioProcessorEditor::vftable; param_1[0x116] = Soothe2AudioProcessorEditor::vftable; param_1[0x117] = Soothe2AudioProcessorEditor::vftable; local_fc = 0xa70; local_e0 = 0x460; local_e8 = param_1; do { FUN_1813dee5e(0x5e24); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { local_f0 = 0xe36c0b68; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { FUN_1813dfc04(0x5e24); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_138 = 0x811c9e07; do { uVar1 = rdtsc(); local_110 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_1813deb39(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_110 = (local_110 * -0x166aa42f >> 0x18 ^ local_110 * -0x166aa42f) * -0x13ac12ab; if (local_110 < 0x1861861f) { local_d8[0] = (code *)0x0; do { ppcVar4 = local_d8; FUN_1813ddba8(ppcVar4,local_d8); *ppcVar4 = FUN_18141db20; FUN_1813dcb88(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*local_d8[0])(); if (1 < uVar2) { FUN_18113eab0(); } } FUN_181341510(param_1,param_1[0x120]); FUN_180568380(param_1[0x2f],param_1 + 0x115); FUN_1813df47a(); /* WARNING: Call to offcut address within same function */ func_0x0001813deb0b(); *(char *)(unaff_RBX + 0x4c) = *(char *)(unaff_RBX + 0x4c) + '\x01'; FUN_1813deb3a(); return; } ############ FUN_ 1811f09e2 size=3683 ############ /* WARNING: Instruction at (ram,0x0001811f0dbc) overlaps instruction at (ram,0x0001811f0dbb) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001811f0dbb) */ /* WARNING: Removing unreachable block (ram,0x0001811f0d06) */ /* WARNING: Removing unreachable block (ram,0x0001811f0d53) */ /* WARNING: Removing unreachable block (ram,0x0001811f191b) */ /* WARNING: Removing unreachable block (ram,0x0001811f1966) */ /* WARNING: Removing unreachable block (ram,0x0001811f1983) */ /* WARNING: Removing unreachable block (ram,0x0001811f198a) */ /* WARNING: Removing unreachable block (ram,0x0001811f1992) */ void FUN_1811f09e2(void) { int *piVar1; longlong *plVar2; undefined8 uVar3; byte bVar4; byte bVar5; uint uVar6; uint uVar7; ulonglong uVar8; uint uVar9; uint uVar10; undefined4 *puVar11; uint uVar12; undefined4 *puVar13; ulonglong uVar14; longlong unaff_RBX; longlong unaff_RBP; int unaff_ESI; longlong unaff_RDI; undefined8 *puVar15; longlong lVar16; uint uVar17; int iVar18; longlong lVar19; uint uVar20; int *unaff_R12; uint unaff_R13D; uint unaff_R15D; char cVar21; char cVar22; uint local_res20; undefined8 in_stack_00000028; uint in_stack_00000048; uint uStack000000000000004c; undefined4 in_stack_00000050; uint in_stack_00000058; code *in_stack_00000068; undefined4 in_stack_00000078; while( true ) { uVar9 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } cVar22 = '\0'; cVar21 = (int)uVar9 < 0; if (uVar9 == 0) break; FUN_1811f24ed(0x6320); if (cVar22 == cVar21) { FUN_1811f09e2(); return; } } uVar9 = *(uint *)(unaff_RDI + 0x54 + unaff_RBX) ^ unaff_R15D >> 0x1c ^ unaff_R15D << 4; uVar9 = *(uint *)(unaff_RDI + 0x58 + unaff_RBX) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x5c + unaff_RBX) ^ uVar9 >> 0x1c ^ uVar9 << 4; do { FUN_1811f20c9(0x6320); uVar10 = (*(int *)(unaff_RBP + 0x38) + 1) * *(int *)(unaff_RBP + 0x38) & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar9 = *(uint *)(unaff_RDI + 0x60 + unaff_RBX) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 100 + unaff_RBX) ^ uVar9 >> 0x1c ^ uVar9 << 4; bVar4 = (byte)(unaff_RBX + 0x68) & 0x6f; uVar10 = *(uint *)(unaff_RDI + 0x68 + unaff_RBX) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = (((unaff_R13D & 0x11ff) + 1) * (unaff_R13D & 0x11ff) + 7) % 0x51 << (bVar4 * bVar4 * (bVar4 + 1) * (bVar4 + 1) & 2); lVar19 = (((longlong)(((int)(-uVar9 | uVar9) >> 0x1f) * -0xfc0) ^ 0xec0U) - 0xfc) + unaff_RBX + 0x68; uVar9 = *(uint *)(unaff_RDI + lVar19) ^ uVar10 >> 0x1c ^ uVar10 << 4; uVar9 = *(uint *)(unaff_RDI + 4 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 8 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0xc + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x10 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x14 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x18 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x1c + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x20 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x24 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x28 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x2c + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x30 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x34 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x38 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x3c + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x40 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x44 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x48 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x4c + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0x50 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; bVar5 = (byte)(lVar19 + 0x54); bVar4 = bVar5 & 0xf; uVar10 = *(uint *)(unaff_RDI + 0x54 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = uVar10 & 0x5f; piVar1 = (int *)(unaff_RBP + 0x38); lVar19 = ((longlong) (int)(0xe587 - ((((uVar10 & 0x50ff) + 1) * (uVar10 & 0x50ff) & 0x80000001) << (bVar4 * bVar4 * (bVar4 + 1) * (bVar4 + 1) & 2))) ^ 0xe5b7U) + lVar19 + 0x54 + ((longlong) (int)(0x728d - ((uVar9 * uVar9 * (uVar9 + 1) * (uVar9 + 1) & 3) << ((bVar5 + 1) * bVar5 - 0x11 & 1))) ^ 0xffffffffffff8d59U); uVar9 = *(uint *)(unaff_RDI + lVar19) ^ uVar10 >> 0x1c ^ uVar10 << 4; do { uVar10 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar9 = *(uint *)(unaff_RDI + 4 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 8 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = *(uint *)(unaff_RDI + 0xc + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar10 = ~(*(uint *)(unaff_RDI + 0x10 + lVar19) ^ uVar9 >> 0x1c ^ uVar9 << 4 ^ 0x7b8e4413); uVar9 = (uVar10 >> 7 ^ uVar10) >> 0x11 & 0x1f; uVar9 = ((uVar9 << 7 | uVar9) << 0x11 ^ uVar10) + 0xb49b4b5d; do { in_stack_00000078 = 0x56; *(undefined8 *)(unaff_RBP + -0x78) = 0x1811f0e68; uVar10 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); do { puVar15 = (undefined8 *)(unaff_RBP + -0x70); puVar13 = (undefined4 *)&stack0x0000007c; puVar11 = &stack0x00000048; FUN_1811ef1bb(); *puVar11 = 0xddf04203; *puVar13 = 6; *puVar15 = 0x1811f0f38; uVar10 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = in_stack_00000048 >> 0xe; uVar6 = uVar10 | in_stack_00000048 << 0x12; lVar19 = *(longlong *)(unaff_RBP + -0x78); uVar7 = in_stack_00000048 & 0x3fff; in_stack_00000048 = 0; uVar10 = ((uVar6 << 4 | uVar7 >> 10) & 0xe1e1e1e1 | (uVar6 >> 4 | uVar10 << 0x1c) & 0x1e1e1e1e) + 0x7b99e6c2; uVar10 = (uVar10 * 0x100 | uVar10 >> 0x18) & 0x8c738c73 | (uVar10 >> 8 | uVar10 * 0x1000000) & 0x738c738c; uVar6 = uVar10 ^ 0x3097e12e; uVar10 = uVar10 >> 0x1e; uVar7 = uVar6 >> 2 & 0xcccccccc | uVar6 << 0x1e | (uVar6 & 0xccccccc) << 2 | uVar10; uVar10 = ((uVar7 << 2 | uVar6 & 3) & 0x99999999 | (uVar7 >> 2 | uVar10 << 0x1e) & 0x66666666) ^ 0xeef7527b; lVar16 = ((longlong)(int)(uVar10 >> 2 | uVar10 << 0x1e) & 0xffffffff99999999U | (ulonglong)((uVar10 << 2 | uVar10 >> 0x1e) & 0x66666666)) + *(longlong *)(unaff_RBP + -0x70); uVar8 = (ulonglong)((uint)(*(ulonglong *)(lVar16 + 4) >> 0x17) & 0x1000044e) + *(longlong *)(lVar19 + 0x14312a0); uVar8 = (uVar8 * 0x10000 | uVar8 >> 0x30) + 0xc5f58291f7962502; uVar10 = (uint)((uVar8 >> 0x16 ^ uVar8) >> 10) & 0xfffff; uVar14 = ((ulonglong)uVar10 << 0x16 | (ulonglong)uVar10) << 10 ^ uVar8; uVar14 = ((uVar14 << 2 | uVar8 >> 0x3e) & 0x6666666666666666 | (uVar14 >> 2 | uVar8 << 0x3e) & 0x9999999999999999) + 0xd053e5366efe0752; uVar8 = (ulonglong)((uint)((uVar14 >> 0x1c ^ uVar14) >> 0xf) & 7); uVar20 = unaff_ESI + 0xd6c7eba2; uVar8 = ((uVar14 ^ (uVar8 << 0x1c | uVar8) << 0xf) >> 4 | uVar14 << 0x3c) + 0x7a300a86273f5f60; uVar10 = (uint)((uVar8 >> 0x17 ^ uVar8) >> 0x13) & 0x3ffff; uVar8 = ((ulonglong)uVar10 << 0x17 | (ulonglong)uVar10) << 0x13 ^ uVar8; *(ulonglong *)(lVar19 + 0x14312a0) = uVar8; plVar2 = (longlong *)(lVar16 + 4); *plVar2 = *plVar2 + (uVar8 >> 0xf & 0xf06a04c7); in_stack_00000058 = (uint)(*(ulonglong *)(lVar19 + 0x14312a0) >> 0x1a) & 0x7fffffff; uVar7 = (uint)(*(ulonglong *)(lVar19 + 0x14312a0) >> 0x19) ^ 0x6f9c6bbc; uVar8 = *(ulonglong *)(lVar19 + 0x14312a0) ^ 0x148e7259ab00450a; *(uint *)(unaff_RBP + -0x54) = uVar7; *(int *)(unaff_RBP + -0x50) = (int)uVar8; uVar10 = *(uint *)(unaff_RBP + -0x54); uVar12 = *(uint *)(unaff_RBP + -0x50) ^ uVar10; uVar17 = (int)(uVar8 >> 0x20) + 0x7bc739d3; uVar6 = (uVar12 & 0x6593f979 ^ uVar10) + 0x4ed1481b; uVar10 = (uVar12 & 0x9a6c0686 ^ uVar10) + 0xaef7aa14; uVar12 = (uVar6 * 0x100 | uVar6 >> 0x18) & 0x9a659a65 | (uVar6 >> 8 | uVar6 * 0x1000000) & 0x659a659a; uVar17 = uVar17 >> 2 & 0xcccccccc | uVar17 * 0x40000000 | uVar17 * 4 & 0x33333333 | uVar17 >> 0x1e ; uVar6 = ((uVar10 * 0x10000 | uVar10 >> 0x10) & 0xc73b38c4 | (uVar10 >> 0x10 | uVar10 * 0x10000) & 0x38c4c73b) ^ uVar12; uVar10 = uVar6 & 0x8a578475 ^ uVar12; uVar6 = uVar6 & 0x75a87b8a ^ uVar12 ^ uVar10; uVar12 = uVar6 & 0x44465b56 ^ uVar10; uVar10 = uVar6 & 0xbbb9a4a9 ^ uVar10; uVar12 = uVar12 >> 0x19 | uVar12 << 7; uVar17 = (uVar17 >> 10 | uVar17 << 0x16) ^ uVar12; uVar6 = uVar17 & 0xddffbe9c ^ uVar12; uVar12 = uVar17 & 0x22004163 ^ uVar12 ^ uVar6; uVar17 = (uVar20 * 0x10 | uVar20 >> 0x1c) & 0x96969696 | (uVar20 >> 4 | uVar20 * 0x10000000) & 0x69696969; uVar10 = (uVar10 >> 0x1f | uVar10 << 1) ^ 0xea2cbcd1; do { uVar3 = rdtsc(); FUN_1811efc6f(); uVar20 = (*(int *)(unaff_RBP + 0x38) + 1) * *(int *)(unaff_RBP + 0x38) & 0x80000001; if ((int)uVar20 < 0) { uVar20 = (uVar20 - 1 | 0xfffffffe) + 1; } } while (uVar20 != 0); uVar20 = ((uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20)) * -0x73323d4e; if ((uVar20 >> 0x18 ^ uVar20) * -0x12aa166b < 0x6ac795) { do { in_stack_00000068 = FUN_1813f2240; uVar20 = (*(int *)(unaff_RBP + 0x38) + 1) * *(int *)(unaff_RBP + 0x38) & 0x80000001; if ((int)uVar20 < 0) { uVar20 = (uVar20 - 1 | 0xfffffffe) + 1; } } while (uVar20 != 0); uVar8 = FUN_1813f2240(0,0x52ad); if (1 < uVar8) { FUN_18113eab0(); } } do { uVar3 = rdtsc(); uVar20 = (int)uVar3 + (int)((ulonglong)uVar3 >> 0x20) * 4; *(uint *)(unaff_RBP + -0x80) = uVar20; uVar8 = (ulonglong)uVar20 ^ (ulonglong)uVar20 * 0x20 + 0x5a6a68c1; uVar8 = uVar8 * 0x4000 + ((uVar8 * 0x14000 >> 8) - 0x21947dd5); lVar19 = uVar8 - ((uVar8 >> 6) + 0x1441f5c6); uVar8 = lVar19 * 0x520000 | (ulonglong)(lVar19 * 0x148) >> 0x32; uVar8 = uVar8 - ((uVar8 >> 6) - 0x2a6d1d90); uVar20 = (*(int *)(unaff_RBP + 0x38) + 1) * *(int *)(unaff_RBP + 0x38) & 0x80000001; if ((int)uVar20 < 0) { uVar20 = (uVar20 - 1 | 0xfffffffe) + 1; } } while (uVar20 != 0); uStack000000000000004c = ((uint)uVar8 ^ (int)(uVar8 >> 10) + 0xcf8b987fU) >> 1 ^ in_stack_00000058 ; if (uStack000000000000004c < 0x155b1) { do { FUN_1811f1c17(); uVar20 = (*(int *)(unaff_RBP + 0x38) + 1) * *(int *)(unaff_RBP + 0x38) & 0x80000001; if ((int)uVar20 < 0) { uVar20 = (uVar20 - 1 | 0xfffffffe) + 1; } } while (uVar20 != 0); *(uint *)(unaff_RBP + -0x34) = uVar12 & 0x8ceffc62 ^ uVar6 ^ 0xaa7d1554; piVar1 = (int *)(unaff_RBP + 0x38); *(uint *)(unaff_RBP + -0x40) = (uVar17 >> 0x1d | uVar17 << 3) + 0xbc64070c; *(uint *)(unaff_RBP + -0x3c) = uVar10; *(uint *)(unaff_RBP + -0x38) = (uVar12 & 0x7310039d ^ uVar6) + 0x6bb1bcf9; do { *(undefined8 *)(unaff_RBP + -0x68) = 0x1811f1585; uVar6 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); in_stack_00000050 = 0xffa567fb; (*(code *)(*(longlong *)(unaff_RBP + -0x68) + -0x5a9805))(unaff_RBP + -0x40,unaff_RBP + -0x28); uVar6 = *(uint *)(unaff_RBP + -0x10); iVar18 = 7; uVar12 = *(uint *)(unaff_RBP + -0xc); do { uVar17 = ((uVar6 << 4 | uVar6 >> 0x1c) & 0xb4b4b4b4 | (uVar6 >> 4 | uVar6 << 0x1c) & 0x4b4b4b4b) + 0xedf66992; uVar12 = ((uVar12 >> 8 | uVar12 << 0x18) & 0xfa05fa05 | (uVar12 << 8 | uVar12 >> 0x18) & 0x5fa05fa) + 0x703d2ee4; uVar6 = uVar17 >> 0xc; uVar12 = (uVar12 >> 0x1d | uVar12 * 8) + 0x5f26144; uVar17 = (((uVar6 | uVar17 * 0x100000) ^ 0x2677a938) >> 3 | uVar6 << 0x1d) + 0x70f6a640; uVar12 = (uVar12 * 0x8000 | uVar12 >> 0x11) + 0x191d2650; uVar20 = uVar17 >> 0x17 | uVar17 * 0x200; uVar6 = uVar12 >> 0xc; uVar12 = uVar12 * 0x100000 | uVar6; uVar17 = (uVar20 >> 8 | (uVar17 >> 0x17) << 0x18) & 0xa857a857 | (uVar20 << 8 | (uVar17 & 0x7fffff) >> 0xf) & 0x57a857a8; uVar12 = (uVar6 << 0x10 | uVar12 >> 0x10) & 0xd65429ab | (uVar12 >> 0x10 | uVar6 << 0x10) & 0x29abd654; uVar6 = uVar17 >> 6 | uVar17 << 0x1a; uVar12 = uVar12 << 0x16 | uVar12 >> 10; iVar18 = iVar18 + -1; } while (-1 < iVar18); uVar6 = ~(uVar6 + 0xc568d382 >> 0x11 | (uVar6 + 0xc568d382) * 0x8000) ^ 0x52a4ae77; uVar6 = ~(uVar6 << 0x1d | uVar6 >> 3); if ((~((uVar6 << 0xb | uVar6 >> 0x15) ^ 0xfc83b814) ^ 0x6b242769) + uVar12 != uVar7) { do { *(code **)(unaff_RBP + -0x60) = FUN_180bc2900; uVar7 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); (**(code **)(unaff_RBP + -0x60))(); do { uVar7 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); } } if (local_res20 != (uVar9 >> 8 | uVar9 * 0x1000000)) { thunk_FUN_1805a9280(); return; } FUN_1811f193e((longlong)in_stack_00000028._4_4_,(ulonglong)uVar10 + 0x1811f18dc); return; } ############ FUN_ 1811be290 size=4634 ############ /* WARNING: Instruction at (ram,0x0001811beccd) overlaps instruction at (ram,0x0001811becca) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001811bec7c) */ /* WARNING: Removing unreachable block (ram,0x0001811beccd) */ /* WARNING: Removing unreachable block (ram,0x0001811bec85) */ void FUN_1811be290(longlong param_1,undefined8 *param_2) { longlong *plVar1; undefined8 uVar2; undefined8 *puVar3; undefined1 *puVar4; int iVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; ulonglong uVar9; uint uVar10; int iVar11; uint uVar12; uint uVar13; code **ppcVar14; longlong lVar15; uint uVar16; longlong lVar17; uint *puVar18; uint *puVar19; undefined1 *puVar20; uint uVar21; longlong *plVar22; uint uVar23; uint uVar24; int *piVar25; uint uVar26; undefined4 uVar27; int unaff_retaddr; undefined1 auStack_158 [32]; uint *local_138; int local_130; uint local_12c; uint local_128; uint local_124; undefined8 local_120; undefined *local_118; int local_110; uint local_10c; uint local_108; uint local_104; uint local_100; int local_fc; uint local_f8; code *local_f0; longlong local_e8; undefined8 *local_e0; undefined4 local_d8; undefined4 local_d4; longlong local_d0; longlong local_c8; undefined *local_c0; longlong local_b8; code *local_b0; uint local_a8; uint local_a4; uint local_a0; undefined8 local_90; int local_88; uint local_84; int local_80; uint local_7c; uint local_70; uint local_6c; ulonglong local_48; local_90 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_158; uVar10 = (uint)&stack0x00000000 & 0x37f; local_f8 = ((uVar10 + 2) * (uVar10 + 1) * uVar10) % 3 + 0xffea ^ 0xf77a; local_fc = 0xd00; local_120 = 0x100; local_138 = &DAT_181469714; local_118 = &DAT_181469814; uVar10 = 0xc5; lVar17 = 3; puVar18 = local_138; do { uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ *puVar18; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[1]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[2]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[3]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[4]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[5]; puVar18 = puVar18 + 6; lVar17 = lVar17 + -1; } while (lVar17 != 0); uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ *puVar18; iVar11 = (uVar10 & 0x1fff) * (uVar10 & 0x1fff) + 1; iVar11 = (iVar11 >> 4) + (iVar11 >> 1) + iVar11 * 0x24924924; puVar18 = (uint *)((((longlong) (0 << ((byte)((iVar11 >> 0x1d) + -7 >> 0x1f) & (byte)(iVar11 >> 0x1d) & 0x1f) ) ^ 0x604U) - 0x600) + (longlong)puVar18); uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ *puVar18; do { uVar2 = rdtsc(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x3d4d13ad; local_128 = (uVar12 >> 0x18 ^ uVar12) * -0x359413ad; local_e8 = param_1; local_e0 = param_2; local_c0 = local_118; if (local_128 < 0x449692) { local_f0 = (code *)0x0; do { ppcVar14 = &local_f0; /* WARNING: Call to offcut address within same function */ uVar27 = func_0x0001811beaae(ppcVar14,&local_f0); *ppcVar14 = FUN_18141db20; FUN_1811bd4f4(uVar27,0xfa49); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar6 = (*local_f0)(); if (1 < uVar6) { FUN_18113eab0(); } } uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[1]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[2]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[3]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[4]; do { local_d8 = 0x76; local_d0 = 0x1811be6c9; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); local_130 = 0x1463ceb; do { plVar22 = &local_c8; local_110 = -0xd51a796; local_d4 = 0x22; local_c8 = 0x1811be787; FUN_1811bfb9d(); puVar3 = local_e0; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = local_110 + 0x3109d89f; uVar13 = (uVar12 * 0x10000 | uVar12 >> 0x10) & 0xec1813e7 | (uVar12 >> 0x10 | uVar12 * 0x10000) & 0x13e7ec18; uVar13 = (uVar13 >> 2 | (uVar12 >> 0x10) << 0x1e) & 0x99999999 | (uVar13 << 2 | (uVar12 & 0xffff) >> 0xe) & 0x66666666; uVar12 = uVar13 >> 0xb; uVar13 = uVar12 | uVar13 << 0x15; uVar13 = ~((uVar13 >> 0x10 | uVar12 << 0x10) & 0x80f07f0f | (uVar12 << 0x10 | uVar13 >> 0x10) & 0x7f0f80f0); uVar12 = (uVar13 >> 0xb ^ uVar13) >> 4 & 0xff; lVar17 = (longlong)local_130; uVar6 = (longlong)(int)(uVar13 >> 0x1e | ((uVar12 << 0xb | uVar12) << 4 ^ uVar13) << 2) ^ 0xffffffffed18039c; local_130 = 0; local_110 = 0; plVar1 = (longlong *)(lVar17 + 4 + local_d0); *plVar1 = *plVar1 + (*(ulonglong *)(uVar6 + 4 + local_c8) >> 7 & 0xd24c7002); do { uVar2 = rdtsc(); local_100 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); uVar8 = (ulonglong)(local_100 >> 0xd) + (ulonglong)local_100 * 8; lVar7 = uVar8 - ((uVar8 >> 0xc | uVar8 << 0x34) - 0x7df0af06); uVar8 = lVar7 * 0x48200 | (ulonglong)(lVar7 * 0x1208) >> 0x3a; uVar8 = uVar8 ^ uVar8 * 0x2000 + 0x3c8d5d3; uVar8 = uVar8 - ((uVar8 >> 5) - 0x654e57b5); iVar11 = (int)(uVar8 >> 0xe); uVar12 = iVar11 + (iVar11 * 0x40 | (uint)(uVar8 >> 8) & 0x3f); plVar22 = (longlong *)((~(~(~(ulonglong)plVar22 + 1) + 1) + 1 ^ 0xffffffffffffffff) + 1); uVar12 = uVar12 ^ uVar12 * 0x200 + 0xbfb3b923; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); piVar25 = (int *)(lVar17 + 8 + local_d0); *piVar25 = *piVar25 + (uVar12 ^ 0x91181693); piVar25 = (int *)(lVar17 + 4 + local_d0); *piVar25 = *piVar25 + (uVar12 ^ 0x279d6ab0); uVar9 = (ulonglong) ((uint)((*(ulonglong *)(lVar17 + 4 + local_d0) >> 0x11 ^ *(ulonglong *)(lVar17 + 4 + local_d0)) >> 3) & 0x3ff); uVar8 = *(ulonglong *)(lVar17 + 4 + local_d0); uVar9 = (uVar9 << 0x11 | uVar9) << 3 ^ uVar8; uVar8 = (uVar9 >> 0x10 | uVar9 << 0x30) & 0xe47a1b85e47a1b85 | (uVar9 << 0x10 | uVar8 >> 0x30) & 0x1b85e47a1b85e47a; uVar8 = ((uVar8 & 0x3333333333333333) << 2 | uVar8 >> 2 & 0x3333333333333333) + 0xa19e4ad026cf7b8d ; uVar8 = (uVar8 * 0x10 | uVar8 >> 0x3c) & 0xc3c3c3c3c3c3c3c3 | (uVar8 >> 4 | uVar8 << 0x3c) & 0x3c3c3c3c3c3c3c3c; uVar8 = (uVar8 << 0x2b | uVar8 >> 0x15) + 0x123b50c37f31994; uVar9 = (uVar8 * 0x10000 | uVar8 >> 0x30) & 0xbf85407abf85407a | (uVar8 >> 0x10 | uVar8 << 0x30) & 0x407abf85407abf85; uVar8 = uVar9 >> 0xe; *(ulonglong *)(lVar17 + 4 + local_d0) = uVar8 | uVar9 << 0x32; plVar1 = (longlong *)(uVar6 + 4 + local_c8); *plVar1 = *plVar1 + ((uVar8 & 0x20828048400) >> 10); local_12c = (uint)(*(ulonglong *)(lVar17 + 4 + local_d0) >> 0x16) & 0x7fffffff; local_120 = CONCAT44(local_120._4_4_,(int)(*(ulonglong *)(lVar17 + 4 + local_d0) >> 3)) ^ 0xdb094346; local_118 = (undefined *)(*(ulonglong *)(lVar17 + 4 + local_d0) ^ 0x1974a4250ead95cd); uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[5]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[6]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[7]; if (local_e0 != (undefined8 *)0x0) { FUN_180488690(local_e8 + 0x290,local_e0,plVar22); } uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[8]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[9]; do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[10]; local_e0 = (undefined8 *)0xe017a5e5a06d52d6; local_138 = (uint *)CONCAT44(local_138._4_4_,0xa06d52d6); lVar17 = 0x11; puVar18 = puVar18 + 0xb; do { puVar19 = puVar18; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ *puVar19; lVar17 = lVar17 + -1; puVar18 = puVar19 + 1; } while (lVar17 != 0); do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar19[1]; uVar12 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar19[2]; uVar13 = (uint)local_c0 & 0xbff; uVar10 = uVar12 & 0x7f; uVar10 = ((uVar10 + 2) * (uVar10 + 1) * uVar10) % 3 + ((uVar13 - 1) * uVar13 - 1 & 1); puVar18 = (uint *)((longlong)(puVar19 + 2) + ((longlong)(((int)(-uVar10 | uVar10) >> 0x1f) * -0xda2a) ^ 0xda2eU)); uVar10 = uVar12 >> 0x1c ^ uVar12 << 4 ^ *puVar18; puVar18 = puVar18 + 1; uVar13 = uVar10 >> 0x1c ^ uVar10 << 4 ^ *puVar18; iVar11 = (uVar13 & 0x26ff) * (uVar13 & 0x26ff) + 1; uVar12 = (iVar11 >> 4) + (iVar11 >> 1) + iVar11 * 0x24924924 >> 0x1d; uVar10 = uVar13 & 0x2f; uVar10 = ((int)(uVar12 - 7) >> 0x1f & uVar12) - (uVar10 * uVar10 * (uVar10 + 1) * (uVar10 + 1) & 2); puVar18 = (uint *)((longlong)puVar18 + (0x504 - ((longlong)(((int)(-uVar10 | uVar10) >> 0x1f) * -0x671d) ^ 0x621dU))); lVar17 = 2; do { uVar10 = uVar13 >> 0x1c ^ uVar13 << 4 ^ *puVar18; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[1]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[2]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[3]; uVar10 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[4]; uVar13 = uVar10 >> 0x1c ^ uVar10 << 4 ^ puVar18[5]; puVar18 = puVar18 + 6; lVar17 = lVar17 + -1; } while (lVar17 != 0); uVar10 = *puVar18; do { puVar18 = &local_104; FUN_1811c09ca(); *puVar18 = 0xe212c7a; lVar17 = local_e8; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = (local_104 >> 0xb | local_104 << 0x15) + 0x6e19804a; uVar12 = (uVar12 >> 9 | uVar12 * 0x800000) + 0x1f1b1aca; uVar12 = (uVar12 >> 0x14 | uVar12 * 0x1000) + 0xa16ae3fe; uVar12 = (uVar12 * 0x4000 | uVar12 >> 0x12) + 0x5d1a0601; local_a8 = uVar12 >> 10 | uVar12 * 0x400000; local_a4 = (uint)local_120; local_a0 = (uint)local_118; uVar24 = local_a8 + 0xd6c7eba2; uVar12 = (((uint)local_120 ^ local_a0) & 0x6593f979 ^ (uint)local_120) + 0x4ed1481b; uVar16 = (((uint)local_120 ^ local_a0) & 0x9a6c0686 ^ (uint)local_120) + 0xaef7aa14; uVar23 = (int)((ulonglong)local_118 >> 0x20) + 0x7bc739d3; uVar21 = (uVar12 * 0x100 | uVar12 >> 0x18) & 0x9a659a65 | (uVar12 >> 8 | uVar12 * 0x1000000) & 0x659a659a; uVar16 = ((uVar16 * 0x10000 | uVar16 >> 0x10) & 0xc73b38c4 | (uVar16 >> 0x10 | uVar16 * 0x10000) & 0x38c4c73b) ^ uVar21; uVar12 = uVar16 & 0x8a578475 ^ uVar21; uVar16 = uVar16 & 0x75a87b8a ^ uVar21 ^ uVar12; uVar26 = uVar16 & 0xbbb9a4a9 ^ uVar12; uVar12 = uVar16 & 0x44465b56 ^ uVar12; uVar16 = uVar12 >> 0x19 | uVar12 << 7; uVar12 = uVar23 * 4 & 0x33333333 | uVar23 >> 0x1e; uVar6 = (ulonglong)uVar12; uVar12 = uVar23 >> 2 & 0xcccccccc | uVar23 * 0x40000000 | uVar12; uVar21 = (uVar12 >> 10 | uVar12 << 0x16) ^ uVar16; uVar12 = uVar21 & 0xddffbe9c ^ uVar16; uVar16 = uVar21 & 0x22004163 ^ uVar16 ^ uVar12; uVar21 = (uVar24 * 0x10 | uVar24 >> 0x1c) & 0x96969696 | (uVar24 >> 4 | uVar24 * 0x10000000) & 0x69696969; piVar25 = (int *)register0x00000020; do { uVar2 = rdtsc(); local_100 = (int)uVar2 - (int)((ulonglong)uVar2 >> 0x20); uVar8 = (((ulonglong)local_100 * -0x477 >> 8) - 0x30f0983c) + (ulonglong)local_100 * -0x1fc; uVar8 = (((uVar8 & 0x3fffffffffffff) >> 1) - 0x3b9f687c) + (uVar8 * 0x400 | uVar8 >> 0x36) * 4; uVar8 = uVar8 >> 0x10 | uVar8 << 0x30; uVar8 = (uVar8 * 0x240 | uVar8 * 9 >> 0x3a) + 0x1e4a6198 + uVar8 * 2; piVar25 = (int *)(~-(longlong)piVar25 + 1); uVar23 = (*piVar25 + 1) * *piVar25 & 0x80000001; if ((int)uVar23 < 0) { uVar23 = (uVar23 - 1 | 0xfffffffe) + 1; } } while (uVar23 != 0); local_10c = (uint)((int)(uVar8 >> 10) + (int)(uVar8 >> 0x19) + -0x3cd54c35) >> 1 ^ local_12c; iVar11 = (uVar21 >> 0x1d | uVar21 << 3) + 0xbc64070c; uVar21 = (uVar26 >> 0x1f | uVar26 << 1) ^ 0xea2cbcd1; iVar5 = (uVar16 & 0x7310039d ^ uVar12) + 0x6bb1bcf9; uVar12 = uVar16 & 0x8ceffc62 ^ uVar12 ^ 0xaa7d1554; if (local_10c < 0xdb7b) { do { local_7c = uVar12; local_80 = iVar5; local_84 = uVar21; local_88 = iVar11; plVar22 = &local_b8; puVar18 = &local_108; FUN_1811bfb9d(); *puVar18 = 0xe8925423; *plVar22 = 0x1811bf183; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } iVar11 = local_88; uVar21 = local_84; iVar5 = local_80; uVar12 = local_7c; } while (uVar16 != 0); uVar12 = ~(local_108 + 0x2abb5081 >> 0x1b | (local_108 + 0x2abb5081) * 0x20); uVar12 = (uVar12 << 5 | uVar12 >> 0x1b) + 0x168d190d; local_108 = uVar12 * 0x10 | uVar12 >> 0x1c; (*(code *)((int)local_108 + local_b8))(&local_88,&local_70); iVar11 = 7; do { uVar16 = ((local_70 << 4 | local_70 >> 0x1c) & 0xb4b4b4b4 | (local_70 >> 4 | local_70 << 0x1c) & 0x4b4b4b4b) + 0xedf66992; uVar12 = uVar16 >> 0xc; uVar21 = (((uVar12 | uVar16 * 0x100000) ^ 0x2677a938) >> 3 | uVar12 << 0x1d) + 0x70f6a640; uVar23 = uVar21 >> 0x17 | uVar21 * 0x200; uVar12 = ((local_6c >> 8 | local_6c << 0x18) & 0xfa05fa05 | (local_6c << 8 | local_6c >> 0x18) & 0x5fa05fa) + 0x703d2ee4; uVar12 = (uVar12 >> 0x1d | uVar12 * 8) + 0x5f26144; uVar16 = (uVar12 * 0x8000 | uVar12 >> 0x11) + 0x191d2650; uVar12 = uVar16 >> 0xc; uVar16 = uVar16 * 0x100000 | uVar12; uVar21 = (uVar23 >> 8 | (uVar21 >> 0x17) << 0x18) & 0xa857a857 | (uVar23 << 8 | (uVar21 & 0x7fffff) >> 0xf) & 0x57a857a8; local_70 = uVar21 >> 6 | uVar21 << 0x1a; uVar12 = (uVar12 << 0x10 | uVar16 >> 0x10) & 0xd65429ab | (uVar16 >> 0x10 | uVar12 << 0x10) & 0x29abd654; local_6c = uVar12 << 0x16 | uVar12 >> 10; iVar11 = iVar11 + -1; } while (-1 < iVar11); uVar12 = ((local_70 ^ 0x5870ba9) << 4 | (uVar21 & 0x3f) >> 2) + 0x9fbada8b; uVar12 = (uVar12 >> 9 | uVar12 * 0x800000) + 0xe543fa62; uVar12 = (uVar12 * 0x1000000 | uVar12 >> 8) + 0xdbcde7ac; do { puVar18 = &local_124; /* WARNING: Call to offcut address within same function */ func_0x0001811bef94(); *puVar18 = 0x70208ff3; /* WARNING: Call to offcut address within same function */ func_0x0001811bed3e(); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar16 = ((local_124 ^ 0x37d974cd) << 0x12 | (local_124 ^ 0x37d974cd) >> 0xe) + 0xe9f7cda1; uVar16 = (uVar16 >> 0xe | uVar16 * 0x40000) + 0x152f67bd; uVar16 = (uVar16 >> 0xc | uVar16 * 0x100000) + 0xeb02ec7f; local_124 = (uVar16 >> 5 | uVar16 * 0x8000000) ^ 0x5120e493; if ((local_124 ^ (uVar12 >> 0x14 | uVar12 * 0x1000) ^ 0xb5c9b3c) + local_6c != (uint)local_120) { do { local_b0 = FUN_180bc28e0; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); FUN_180bc28e0(); do { FUN_1811bf894(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); } } if ((char)((~((uVar10 ^ uVar13 >> 0x1c ^ uVar13 << 4) + 0x185cb397) != (uint)local_138) * '\'') == '\0') { uVar27 = FUN_1804835d0(lVar17 + 0x188,5); local_138 = (uint *)CONCAT44(local_138._4_4_,uVar27); (**(code **)*puVar3)(puVar3,lVar17,uVar27); lVar7 = (longlong)local_fc; puVar4 = auStack_158; do { puVar20 = puVar4; *(undefined8 *)(puVar20 + -8) = 0x1811bf448; lVar15 = lVar7; FUN_1811c024a(); *(longlong *)(puVar20 + -8) = lVar17; *(ulonglong *)(puVar20 + -0x10) = uVar6; *(BADSPACEBASE **)(puVar20 + -0x18) = register0x00000020; lVar15 = -lVar15; register0x00000020 = *(BADSPACEBASE **)(puVar20 + lVar15 + 0xce8); uVar6 = *(ulonglong *)(puVar20 + lVar15 + 0xcf0); lVar17 = *(longlong *)(puVar20 + lVar15 + 0xcf8); uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } puVar4 = puVar20 + lVar15 + 0xd00; } while (uVar10 != 0); *(undefined **)(puVar20 + lVar15 + 0xcf8) = &UNK_1811bf5f7; } uVar27 = FUN_180487200(lVar17 + 0x188,5); (**(code **)*puVar3)(puVar3,lVar17,uVar27); FUN_1811be0b4(); thunk_FUN_1805a9280(); return; } ############ FUN_ 18157f7a0 size=1607 ############ /* WARNING: Removing unreachable block (ram,0x00018157f862) */ /* WARNING: Removing unreachable block (ram,0x00018157f818) */ /* WARNING: Removing unreachable block (ram,0x00018157f91c) */ void FUN_18157f7a0(longlong param_1,longlong *param_2) { undefined8 uVar1; ulonglong uVar2; undefined8 *puVar3; int iVar4; code **ppcVar5; longlong *plVar6; uint uVar7; longlong lVar8; uint uVar9; IMAGE_DOS_HEADER *pIVar10; code *UNRECOVERED_JUMPTABLE; uint uVar11; undefined4 *puVar12; int unaff_retaddr; longlong lStack_188; longlong lStack_180; int local_168; longlong local_160; undefined4 local_154; undefined8 local_150; undefined8 local_148; undefined4 *local_140; longlong local_138; uint local_130; undefined1 local_128 [16]; undefined4 local_118; undefined4 local_110; uint local_10c; code *local_108; longlong *local_100; longlong local_f8 [3]; undefined4 *local_e0; longlong local_d8; undefined4 *local_d0; undefined8 local_a8; undefined4 local_80 [14]; ulonglong local_48; local_a8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)&lStack_188; uVar9 = (uint)&stack0x00000000; local_118 = 0xb40; uVar11 = ((uVar9 & 0x8ff) + 1) * (uVar9 & 0x8ff) + 0x3de9 & 0x80000001; iVar4 = (uVar9 & 0x40ff) * (uVar9 & 0x40ff) + 1; uVar7 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar7 = (int)(uVar7 - 7) >> 0x1f & uVar7; local_10c = 0x7891 << ((char)(((byte)(-uVar7 >> 0x18) | (byte)(uVar7 >> 0x18)) ^ (byte)(-(((uVar9 & 0x1fff) * (uVar9 & 0x1fff) * 0x10 + 4) % 0x13) >> 0x18)) >> 7 & 0x1fU) ^ (int)(-uVar11 | uVar11) >> 0x1f & 0x7e41U; local_f8[0] = param_2[1]; local_138 = param_1; local_100 = param_2; FUN_1804951c0(); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { local_110 = 0xcb4159b4; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_154 = 0xad7318e8; do { FUN_181580c74(0xee10); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_148 = 0; local_150 = 0x9c46bc; local_140 = (undefined4 *)0x1809c46bc; local_160 = 0x1809c49d0; do { uVar1 = rdtsc(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x51ca7a15; local_130 = (uVar7 >> 0x18 ^ uVar7) * -0x4601166b; if (local_130 < 0x4104107) { local_108 = (code *)0x0; do { ppcVar5 = &local_108; FUN_18157f601(ppcVar5,&local_108); *ppcVar5 = FUN_1813f2240; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar2 = (*local_108)(0,0x4dd2); if (1 < uVar2) { FUN_18113eab0(); } } local_150 = 0x2962b80fadedd718; local_148 = CONCAT44(local_148._4_4_,0xa1cf3f20); local_168 = -0x7f390abe; FUN_180583d90(local_138 + 0xe8,param_2); puVar3 = (undefined8 *)FUN_180583530(local_138 + 0x290,local_f8); plVar6 = local_100; *puVar3 = local_100; (**(code **)(*local_100 + 0x58))(local_100,1); FUN_181343cc0(local_138,plVar6,0xffffffff); FUN_181341570(plVar6[0x19],local_138,0); if (local_138 == 0) { lVar8 = 0; } else { lVar8 = local_138 + 0xc0; } if (lVar8 != 0) { FUN_180488690(plVar6[0x19] + 0x80); } local_e0 = local_140; local_d8 = local_160 - (longlong)local_140; local_d0 = local_140; local_148 = CONCAT44(local_148._4_4_,*(int *)(local_138 + 0x124) + -1); local_160 = CONCAT44(local_160._4_4_,0x1b873593); uVar7 = local_168 + 0x6123f2fbU >> 10; local_140 = (undefined4 *) CONCAT44(local_140._4_4_, ((uVar7 | (local_168 + 0x6123f2fbU) * 0x400000) + 0x4864a810 >> 3 | uVar7 << 0x1d) + 0x81a288f8); local_168 = 0xe6546b64; if (local_d8 == 0) { local_154 = 0xf802b4bb; /* WARNING: Call to offcut address within same function */ func_0x000181580153(); lStack_188 = lStack_180 + 0x2880; UNRECOVERED_JUMPTABLE = (code *)(lStack_180 + 0x2856); lStack_180 = lStack_180 + 0x181; /* WARNING: Could not recover jumptable at 0x000181580285. Too many branches */ /* WARNING: Treating indirect jump as call */ (*UNRECOVERED_JUMPTABLE)(); return; } puVar12 = local_e0; if (-1 < (longlong)IMAGE_DOS_HEADER_180000000._0_8_) { local_140 = (undefined4 *)0x2621fc0; lVar8 = IMAGE_DOS_HEADER_180000000._0_8_; pIVar10 = &IMAGE_DOS_HEADER_180000000; do { if (local_e0 < IMAGE_DOS_HEADER_180000000.e_magic + lVar8 + 8) { if (-1 < lVar8) { plVar6 = (longlong *)(lVar8 + 0x180000000); if (plVar6 < local_e0 + 1) { local_80[0] = *local_e0; goto LAB_18157fdd0; } } break; } lVar8._0_2_ = pIVar10->e_cparhdr; lVar8._2_2_ = pIVar10->e_minalloc; lVar8._4_2_ = pIVar10->e_maxalloc; lVar8._6_2_ = pIVar10->e_ss; pIVar10 = (IMAGE_DOS_HEADER *)&pIVar10->e_cparhdr; } while (-1 < lVar8); } goto LAB_18157fdf4; while (plVar6 = (longlong *)(lVar8 + 0x180000000), plVar6 < local_e0 + 1) { LAB_18157fdd0: *(longlong *)(&stack0x00017fffff80 + (lVar8 - (longlong)local_e0)) = *plVar6 + -0x180000000; pIVar10 = (IMAGE_DOS_HEADER *)&pIVar10->e_cparhdr; lVar8 = *(longlong *)pIVar10; puVar12 = local_80; if (lVar8 < 0) break; } LAB_18157fdf4: FUN_18157fe1a(0xee10,puVar12,local_128); return; } ############ FUN_ 1811620a0 size=2384 ############ /* WARNING: Possible PIC construction at 0x000181162d2d: Changing call to branch */ /* WARNING: Removing unreachable block (ram,0x000181162d32) */ /* WARNING: Removing unreachable block (ram,0x000181162d5f) */ /* WARNING: Removing unreachable block (ram,0x0001811621fe) */ /* WARNING: Removing unreachable block (ram,0x000181162b84) */ /* WARNING: Removing unreachable block (ram,0x000181162be6) */ void FUN_1811620a0(ulonglong param_1) { undefined8 uVar1; int *piVar2; undefined4 *puVar3; undefined *puVar4; uint uVar5; ulonglong uVar6; uint uVar7; uint uVar8; uint uVar9; int iVar10; uint *puVar11; longlong *plVar12; undefined4 *puVar13; ulonglong uVar14; int *piVar15; IMAGE_DOS_HEADER *pIVar16; uint uVar17; int iVar18; longlong lVar19; longlong unaff_R12; int *piVar20; uint uVar21; int unaff_retaddr; undefined1 auStack_1b8 [36]; uint local_194; uint local_190; uint local_18c; undefined4 *local_188; undefined8 local_180; uint local_178; longlong local_170; undefined4 local_168; uint uStack_164; uint auStack_160 [4]; ulonglong local_150; uint local_148; int local_144; undefined4 local_140; uint local_13c; code *local_138; IMAGE_DOS_HEADER *local_130; undefined4 local_128 [2]; undefined4 local_120; longlong local_118 [3]; undefined *local_100; ulonglong local_f8; undefined8 local_90; int local_68 [14]; ulonglong local_30; local_90 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_1b8; uVar17 = 0x771bc09e; if (((ulonglong)&stack0x00000000 & 0x370) == 0) { uVar7 = (uint)&stack0x00000000 & 0x3cff; iVar10 = uVar7 * uVar7 + 1; uVar7 = (iVar10 >> 4) + (iVar10 >> 1) + iVar10 * 0x24924924 >> 0x1d; uVar7 = (int)(uVar7 - 7) >> 0x1f & uVar7; local_13c = (int)((-uVar7 | uVar7) ^ 0xffffffff) >> 0x1f | 0x9697; } else { local_13c = 0x9697; } local_13c = local_13c ^ 0x98a7; local_140 = 0x780; local_170 = 0; lVar19 = 0x5c8ebe03; local_188 = &DAT_181cd428c; local_180 = &DAT_181cda280; local_130 = &IMAGE_DOS_HEADER_180000000; local_f8 = param_1; do { /* WARNING: Call to offcut address within same function */ func_0x000181162819(0x6334); if (lVar19 - unaff_R12 != 0 && unaff_R12 <= lVar19) { param_1 = ((param_1 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; } lVar19 = (lVar19 - unaff_R12) + unaff_R12; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); FUN_180485d90(param_1 + 0x20,0); do { local_148 = 0x4d960a1e; FUN_181162d1b(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = ~((local_148 << 0x15 | local_148 >> 0xb) + 0xe3d6627b) + 0xdb9e7a44; uVar7 = ~((uVar7 >> 0x1c | uVar7 * 0x10) + 0x701744da); local_144 = (uVar7 >> 0x1a | uVar7 << 6) + 0x845be95b; do { uVar1 = rdtsc(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * 0x5bd1ff51; local_178 = (uVar7 >> 0x18 ^ uVar7) * 0x5bd185eb; if (local_178 < 0x6666667f) { do { local_138 = FUN_1813f2240; FUN_18116438e(&local_138,0x7e48); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = (*local_138)(); if (1 < uVar6) { FUN_18113eab0(); } } puVar4 = local_180; puVar3 = local_188; local_194 = 0x3552170b; local_100 = local_180; uVar7 = 0x66266ce9; local_18c = 0x5bd1e995; local_170 = param_1 + 0x28; FUN_180485d90(local_170,0); local_150 = 0xb1a0b7493577244a; local_188 = (undefined4 *)CONCAT44(local_188._4_4_,0x3577244a); do { plVar12 = local_118; puVar13 = local_128; puVar11 = &local_190; FUN_181163074(); *puVar11 = 0xf8c68dbf; *puVar13 = 0x78; *plVar12 = 0x181162547; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = (local_190 >> 2 | local_190 << 0x1e) & 0x99999999 | (local_190 << 2 | local_190 >> 0x1e) & 0x66666666; uVar8 = (uVar8 << 0x14 | uVar8 >> 0xc) + 0x14dc4122; uVar8 = ((uVar8 >> 0x10 | uVar8 * 0x10000) & 0xbcb4434b | (uVar8 * 0x10000 | uVar8 >> 0x10) & 0x434bbcb4) ^ 0xcbf5e84d; uVar5 = uVar8 << 7 | uVar8 >> 0x19; uVar5 = (uVar5 << 8 | (uVar8 & 0x1ffffff) >> 0x11) & 0x946b946b | ((uVar8 & 0x1ffffff) >> 1 | uVar5 << 0x18) & 0x6b946b94; uVar8 = (uVar5 >> 8 ^ uVar5) >> 0xe & 3; uVar8 = uVar5 ^ (uVar8 << 8 | uVar8) << 0xe; do { local_120 = 4; local_118[1] = 0x181162627; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_118[0] = (int)((uVar8 >> 4 | uVar5 << 0x1c) & 0xb4b4b4b4 | (uVar8 << 4 | uVar5 >> 0x1c) & 0x4b4b4b4b) + local_118[0]; local_190 = 0; local_168 = 0; *(longlong *)(local_118[0] + 4) = *(longlong *)(local_118[0] + 4) + (ulonglong)((uint)((ulonglong)dvs_0xc58344e0_mfort6317_ >> 0x18) & 0xaa32800); uVar6 = *(ulonglong *)(local_118[0] + 4); uVar14 = (ulonglong)((uint)((uVar6 >> 3 ^ uVar6) >> 0xe) & 3); uVar14 = (uVar14 * 8 | uVar14) << 0xe ^ uVar6; uVar6 = ((uVar14 >> 0x10 | uVar14 << 0x30) & 0xbffe4001bffe4001 | (uVar14 << 0x10 | uVar6 >> 0x30) & 0x4001bffe4001bffe) + 0x60a06a5c24e8133e; uVar14 = (uVar6 * 0x10000 | uVar6 >> 0x30) & 0xa65d59a2a65d59a2 | (uVar6 >> 0x10 | uVar6 << 0x30) & 0x59a2a65d59a2a65d; uVar8 = (uint)((uVar14 >> 0x26 ^ uVar14) >> 3) & 0x7ff; uVar6 = ((ulonglong)uVar8 << 0x26 | (ulonglong)uVar8) << 3 ^ uVar14; uVar6 = ((uVar6 << 2 | uVar14 >> 0x3e) & 0x9999999999999999 | (uVar6 >> 2 | uVar14 << 0x3e) & 0x6666666666666666) + 0xc384b69c2d0923a7; uVar6 = ((uVar6 >> 0x10 | uVar6 << 0x30) & 0xc963369cc963369c | (uVar6 * 0x10000 | uVar6 >> 0x30) & 0x369cc963369cc963) ^ 0xdf2da24656459844; *(ulonglong *)(local_118[0] + 4) = uVar6; dvs_0xc58344e0_mfort6317_ = (uint *)((longlong)dvs_0xc58344e0_mfort6317_ + (ulonglong)((uint)(uVar6 >> 6) & 0x432f0810)); local_180 = (undefined *) (CONCAT44(local_180._4_4_,(int)((ulonglong)*(undefined8 *)(local_118[0] + 4) >> 0x10)) & 0xffffffff7fffffff); local_194 = (uint)((ulonglong)*(undefined8 *)(local_118[0] + 4) >> 0x10) ^ 0xbc06e145; local_150 = *(ulonglong *)(local_118[0] + 4) ^ 0x4e5410e22c4bd0be; lVar19 = (longlong)puVar4 - (longlong)(puVar3 + -1); pIVar16 = &IMAGE_DOS_HEADER_180000000; piVar2 = puVar3 + -1; joined_r0x0001811628a7: if (lVar19 == 4) { local_18c = uVar17; FUN_180485d90(param_1 + 0x30,0); auStack_160[0] = uVar7; do { puVar11 = auStack_160; func_0x000181161c31(&LAB_18113e030,&LAB_18113e030); uVar17 = func_0x0001811776fb(); *puVar11 = uVar17; uVar17 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar17 < 0) { uVar17 = (uVar17 - 1 | 0xfffffffe) + 1; } } while (uVar17 != 0); uVar17 = (auStack_160[0] >> 0xd ^ auStack_160[0]) >> 3 & 0xff; local_18c = ~((uVar17 << 0xd | uVar17) << 3 ^ auStack_160[0]) + 0x7f3d711d; thunk_FUN_18047cbc0(param_1 + 0x38,CONCAT71((uint7)(uint3)(auStack_160[0] >> 8),1)); FUN_18047cb30(param_1 + 0x38,0); /* WARNING: Could not recover jumptable at 0x000181162f41. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)&UNK_18115e00a)(); return; } piVar15 = piVar2 + 1; piVar20 = piVar15; if ((pIVar16 != (IMAGE_DOS_HEADER *)0x0) && (lVar19._0_1_ = pIVar16->e_magic[0], lVar19._1_1_ = pIVar16->e_magic[1], lVar19._2_2_ = pIVar16->e_cblp, lVar19._4_2_ = pIVar16->e_cp, lVar19._6_2_ = pIVar16->e_crlc, -1 < lVar19)) { local_118[2] = 0x2621fc0; do { if (piVar15 < IMAGE_DOS_HEADER_180000000.e_magic + lVar19 + 8) { if (-1 < lVar19) { plVar12 = (longlong *)(lVar19 + 0x180000000); if (plVar12 < piVar2 + 2) { local_68[0] = *piVar15; goto LAB_181162940; } } break; } local_130 = (IMAGE_DOS_HEADER *)&pIVar16->e_cparhdr; lVar19._0_2_ = pIVar16->e_cparhdr; lVar19._2_2_ = pIVar16->e_minalloc; lVar19._4_2_ = pIVar16->e_maxalloc; lVar19._6_2_ = pIVar16->e_ss; pIVar16 = local_130; } while (-1 < lVar19); } goto LAB_181162964; while (plVar12 = (longlong *)(lVar19 + 0x180000000), plVar12 < piVar2 + 2) { LAB_181162940: *(longlong *)(&stack0x00017fffff98 + (lVar19 - (longlong)piVar15)) = *plVar12 + -0x180000000; pIVar16 = (IMAGE_DOS_HEADER *)&pIVar16->e_cparhdr; lVar19 = *(longlong *)pIVar16; piVar20 = local_68; if (lVar19 < 0) break; } LAB_181162964: uVar17 = uVar17 * uVar7; uVar8 = uVar7 & 0x7f | 0x71; uVar5 = (uint)piVar15 & 0x3f | 0x38; uVar5 = uVar8 * uVar8 * 0x753b ^ uVar5 * uVar5 * 0x4307; uVar21 = uVar7 & 0x1ff; iVar18 = (uVar21 + 2) * (uVar21 + 1) * uVar21; uVar9 = uVar7 & 0x79ff; iVar10 = uVar9 * uVar9 + 1; uVar8 = (iVar10 >> 4) + (iVar10 >> 1) + iVar10 * 0x24924924 >> 0x1d; uVar8 = (((iVar18 >> 1) - (iVar18 >> 3)) + iVar18 * 0x55555555 >> 0x1e) - ((int)(uVar8 - 7) >> 0x1f & uVar8); if ((int)((-uVar5 | uVar5) ^ (-uVar8 | uVar8)) < 0) { uVar5 = uVar7 & 0x7f | 0x71; iVar10 = (uVar21 + 2) * (uVar21 + 1) * uVar21; iVar18 = uVar9 * uVar9 + 1; uVar8 = (iVar18 >> 4) + (iVar18 >> 1) + iVar18 * 0x24924924 >> 0x1d; uVar8 = (((iVar10 >> 1) - (iVar10 >> 3)) + iVar10 * 0x55555555 >> 0x1e) - ((int)(uVar8 - 7) >> 0x1f & uVar8); do { uVar17 = uVar17 * (uVar17 >> 8); piVar15 = piVar15 + 1; uVar9 = (uint)piVar15 & 0x3f | 0x38; uVar9 = uVar9 * uVar9 * 0x4307 ^ uVar5 * uVar5 * 0x753b; } while ((int)((-uVar9 | uVar9) ^ (-uVar8 | uVar8)) < 0); } if ((uVar17 & 0x3ff) != 0) { uVar17 = uVar17 * (uVar17 >> 0xb); } do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar5 = (uint)piVar15 & 0x2f; uVar8 = (uint)piVar15 & 0x2ff; iVar10 = (uVar8 + 2) * (uVar8 + 1) * uVar8; if ((uVar5 * uVar5 * (uVar5 + 1) * (uVar5 + 1) & 0x80000003) != iVar10 + (iVar10 / 3 + (iVar10 >> 0x1f) + (int)(((longlong)iVar10 / 3 + ((longlong)iVar10 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3) { do { uVar17 = uVar17 ^ uVar17 << 10; piVar15 = piVar15 + 1; uVar8 = (uint)piVar15 & 0x2f; uVar5 = (uint)piVar15 & 0x2ff; iVar10 = (uVar5 + 2) * (uVar5 + 1) * uVar5; } while ((uVar8 * uVar8 * (uVar8 + 1) * (uVar8 + 1) & 0x80000003) != iVar10 + (iVar10 / 3 + (iVar10 >> 0x1f) + (int)(((longlong)iVar10 / 3 + ((longlong)iVar10 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3); } uStack_164 = (*piVar20 * local_18c >> 0x18 ^ *piVar20 * local_18c) * local_18c; uVar7 = uVar7 * local_18c ^ uStack_164; lVar19 = (longlong)local_100 - (longlong)piVar15; pIVar16 = local_130; piVar2 = piVar15; param_1 = local_f8; goto joined_r0x0001811628a7; } ############ FUN_ 181174a20 size=2953 ############ /* WARNING: Removing unreachable block (ram,0x000181175111) */ /* WARNING: Removing unreachable block (ram,0x000181174b25) */ /* WARNING: Removing unreachable block (ram,0x0001811754d5) */ /* WARNING: Removing unreachable block (ram,0x000181174b05) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_181174a20(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,undefined8 param_4) { undefined *puVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; longlong *plVar5; int iVar6; ulonglong uVar7; ulonglong uVar8; longlong lVar9; IMAGE_DOS_HEADER *pIVar10; undefined4 *puVar11; uint uVar12; undefined4 *puVar13; uint uVar14; IMAGE_DOS_HEADER *pIVar15; uint *puVar16; int unaff_retaddr; undefined1 auStack_1f8 [32]; uint local_1d8 [2]; undefined *local_1d0; int local_1c8; uint local_1c4; uint local_1bc; undefined *local_1b8; uint local_1b0; uint local_1ac [3]; undefined8 local_1a0; undefined4 local_198; uint local_194; uint local_190; uint local_18c; code *local_188; undefined8 local_178; undefined8 local_170; ulonglong local_168; undefined4 local_15c; undefined1 local_158 [8]; longlong local_150; longlong local_148 [2]; undefined *local_138; undefined8 *local_130; undefined4 local_110; undefined8 local_108; undefined8 *local_100; undefined8 local_f8; undefined8 *local_f0; undefined8 local_e8; undefined8 *local_e0; undefined8 local_d8; undefined4 local_90 [14]; ulonglong local_58; local_f8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_1f8; local_178 = *param_3; local_170 = param_4; local_130 = param_1; local_108 = param_2; local_100 = param_3; local_f0 = param_1; local_e8 = param_2; local_e0 = param_3; local_d8 = param_4; FUN_1804951c0(); uVar2 = FUN_1804875e0(local_158,param_2); FUN_181182b70(param_1,uVar2,&local_178); *param_1 = XmlPreset::vftable; param_1[8] = &DAT_1821dbf98; uVar14 = (uint)&stack0x00000000 & 0x1bff; uVar14 = (uVar14 * uVar14 + 1) % 7; local_18c = ((int)(-uVar14 | uVar14) >> 0x1f) * -0xeb25 ^ 0xe7b5; uVar14 = (uint)&stack0x00000000 & 0x56ff; uVar14 = (uVar14 * uVar14 + 1) % 7; uVar14 = (int)(-uVar14 | uVar14) >> 0x1f; local_194 = ~((int)(-uVar14 | uVar14) >> 0x1f & 0xfffff0dfU) & 0x3ffd; local_1d8[0] = 0xc5; do { uVar2 = rdtsc(); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar14 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x3b31e57b; local_1c4 = (uVar14 >> 0x18 ^ uVar14) * 0x5bd18ccd; if (local_1c4 < 0x7fffffff) { do { local_188 = FUN_18141db20; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar3 = FUN_18141db20(0,0xa35e); if (1 < uVar3) { FUN_18113eab0(); } } do { FUN_181175da3(); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); do { local_110 = 0x55; local_150 = 0x181174d47; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); local_1c8 = 0x14ad53d; do { plVar5 = local_148; puVar13 = &local_15c; puVar16 = &local_1b0; FUN_181172fd4(); *puVar16 = 0x1054bab4; *puVar13 = 0xe; *plVar5 = 0x181174e17; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar4 = ~(((local_1b0 >> 4 | local_1b0 << 0x1c) & 0x87878787 | (local_1b0 << 4 | local_1b0 >> 0x1c) & 0x78787878) ^ 0xce3af40d); uVar14 = (uVar4 >> 0x12 ^ uVar4) >> 9 & 0xf; uVar4 = (uVar14 << 0x12 | uVar14) << 9 ^ uVar4 ^ 0x9e6e6a2a; uVar14 = (uVar4 >> 0x11 ^ uVar4) >> 1 & 0x7ff; uVar14 = uVar4 ^ (uVar14 << 0x11 | uVar14) * 2; uVar4 = (uVar14 >> 2 & 0xcccccccc | uVar14 << 0x1e | (uVar14 & 0xccccccc) << 2 | uVar4 >> 0x1e) + 0x250da25b; uVar14 = (uVar4 >> 0x13 ^ uVar4) >> 2 & 0xff; puVar16 = (uint *)(local_1c8 + local_150); local_148[0] = (int)(uVar4 ^ (uVar14 << 0x13 | uVar14) << 2) + local_148[0]; local_1c8 = 0; local_1b0 = 0; *(ulonglong *)(puVar16 + 1) = *(longlong *)(puVar16 + 1) + (ulonglong)((uint)(*(ulonglong *)(local_148[0] + 4) >> 0x1e) & 0x2c00081); uVar7 = *(ulonglong *)(puVar16 + 1) ^ 0x3b06c54c4d1fe7f8; uVar8 = uVar7 >> 0x21 | uVar7 << 0x1f; uVar3 = (ulonglong)((uint)((uVar8 >> 0xd ^ uVar8) >> 2) & 0x7ff); uVar8 = uVar8 ^ (uVar3 << 0xd | uVar3) << 2; uVar3 = ((uVar8 >> 0x10 | uVar8 << 0x30) & 0x9e63619c9e63619c | (uVar8 << 0x10 | (uVar7 & 0x1ffffffff) >> 0x11) & 0x619c9e63619c9e63) + 0xfe712c804bfd8f56 ; uVar3 = ((uVar3 >> 2 | uVar3 << 0x3e) & 0x9999999999999999 | (uVar3 * 4 | uVar3 >> 0x3e) & 0x6666666666666666) ^ 0x55d6400f5f3bd984; uVar3 = ((uVar3 << 0x10 | uVar3 >> 0x30) & 0xb5244adbb5244adb | (uVar3 >> 0x10 | uVar3 << 0x30) & 0x4adbb5244adbb524) + 0xc344382a52e831db; *(ulonglong *)(puVar16 + 1) = uVar3; plVar5 = (longlong *)(local_148[0] + 4); *plVar5 = *plVar5 + (uVar3 >> 0xf & 0x842f0892); local_190 = (uint)((ulonglong)*(undefined8 *)(puVar16 + 1) >> 0x18) & 0x7fffffff; local_1bc = (uint)(*(ulonglong *)(puVar16 + 1) >> 0x13) ^ 0x309406b; local_168 = *(ulonglong *)(puVar16 + 1) ^ 0xe4f249e36a92d181; pIVar15 = &IMAGE_DOS_HEADER_180000000; local_1a0 = 0; local_1d0 = &DAT_181e35fc8; local_1b8 = &DAT_181e3dfb8; local_138 = &DAT_181e3dfb8; do { uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); local_1d0 = (undefined *)0x68850da1d9306f50; do { local_198 = 0x27610ed; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); local_1b8 = (undefined *)0x10cde5db0; puVar13 = (undefined4 *)&UNK_181e35fc4; uVar3 = 0x81e35fc4; iVar6 = 0 >> (((byte)local_1d8[0] | 0xb8) + 0x48 & 0x1f); if (iVar6 == -0x8070) { LAB_1811754a5: local_1ac[0] = local_1d8[0]; FUN_1811aa0c3(local_1ac,iVar6,~(~uVar3 + 1) + 1,puVar16); return; } local_1a0 = 0x81e3e2f5; LAB_181175290: uVar14 = (uint)uVar3 & 0x23f; iVar6 = (uVar14 + 2) * (uVar14 + 1) * uVar14; puVar13 = (undefined4 *) ((longlong)puVar13 + (((longlong) (0x5a3d << ((byte)(((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1f) & 0x1f) ) ^ 0x5a2dU) - 0xc)); puVar11 = puVar13; if ((pIVar15 != (IMAGE_DOS_HEADER *)0x0) && (lVar9._0_1_ = pIVar15->e_magic[0], lVar9._1_1_ = pIVar15->e_magic[1], lVar9._2_2_ = pIVar15->e_cblp, lVar9._4_2_ = pIVar15->e_cp, lVar9._6_2_ = pIVar15->e_crlc, -1 < lVar9)) { local_148[1] = 0x2621fc0; pIVar10 = pIVar15; do { if (puVar13 < IMAGE_DOS_HEADER_180000000.e_magic + lVar9 + 8) { pIVar15 = pIVar10; if (-1 < lVar9) { plVar5 = (longlong *)(lVar9 + 0x180000000); if (plVar5 < puVar13 + 1) { local_90[0] = *puVar13; goto LAB_181175360; } } break; } pIVar15 = (IMAGE_DOS_HEADER *)&pIVar10->e_cparhdr; lVar9._0_2_ = pIVar10->e_cparhdr; lVar9._2_2_ = pIVar10->e_minalloc; lVar9._4_2_ = pIVar10->e_maxalloc; lVar9._6_2_ = pIVar10->e_ss; pIVar10 = pIVar15; } while (-1 < lVar9); } goto LAB_181175384; while (plVar5 = (longlong *)(lVar9 + 0x180000000), plVar5 < puVar13 + 1) { LAB_181175360: *(longlong *)(&stack0x00017fffff70 + (lVar9 - (longlong)puVar13)) = *plVar5 + -0x180000000; pIVar10 = (IMAGE_DOS_HEADER *)&pIVar10->e_cparhdr; lVar9 = *(longlong *)pIVar10; puVar11 = local_90; if (lVar9 < 0) break; } LAB_181175384: local_1d8[0] = local_1d8[0] >> 0x1c ^ local_1d8[0] << 4; do { puVar16 = local_1d8; FUN_18117751b(&DAT_0000d418,(undefined *)((longlong)puVar11 + 0x3c3f003d),0); uVar14 = FUN_18117b177(); *puVar16 = uVar14; FUN_1811736f1(); puVar1 = local_138; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); do { FUN_18117751b(); /* WARNING: Call to offcut address within same function */ func_0x000181175113(); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar12 = (uint)puVar13; uVar3 = (ulonglong)puVar13 & 0xffffffff; uVar4 = uVar12 & 0x1f | 0x6e; uVar14 = uVar12 & 0x3f | 0x2b; iVar6 = (int)(uint)(uVar14 * uVar14 * 0x6f53 == uVar4 * uVar4 * 0x833) >> (((byte)puVar1 | (byte)local_1d8[0]) - (byte)puVar1 & 0x1f); if ((uVar12 ^ 0x3d41) - (int)local_1a0 == iVar6) goto LAB_1811754a5; goto LAB_181175290; } ############ FUN_ 1814a9370 size=2590 ############ /* WARNING: Instruction at (ram,0x0001814a9bb2) overlaps instruction at (ram,0x0001814a9bb1) */ /* WARNING: Removing unreachable block (ram,0x0001814a9bb2) */ /* WARNING: Type propagation algorithm not settling */ undefined8 FUN_1814a9370(undefined8 *param_1) { undefined8 uVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; uint uVar5; uint *puVar6; uint *puVar7; undefined4 *puVar8; longlong lVar9; uint uVar10; longlong *plVar11; uint uVar12; int *piVar13; int unaff_retaddr; undefined1 auStack_158 [32]; undefined4 local_138; uint local_134; uint local_130 [2]; ulonglong local_128; uint local_120; uint local_118; undefined **local_110; undefined4 local_108; undefined8 local_f8; uint local_f0; int local_ec; uint local_e8; uint local_e4; uint local_e0; code *local_d8; undefined *local_d0; undefined4 local_c8; undefined4 local_c4; longlong local_c0 [2]; undefined8 *local_b0; undefined8 local_98; ulonglong local_38; local_98 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_158; *param_1 = PluginToolbar::vftable; param_1[0x16] = PluginToolbar::vftable; param_1[0x19] = PluginToolbar::vftable; param_1[0x1a] = PluginToolbar::vftable; uVar5 = (uint)&stack0x00000000; uVar12 = ((uVar5 & 0x15ff) * (uVar5 & 0x15ff) * 0x10 + 4) % 0x13; uVar10 = ((uVar5 & 0x5ff) * (uVar5 & 0x5ff) * 0x10 + 4) % 0x13; uVar10 = (int)((-uVar10 | uVar10) & (-uVar12 | uVar12)) >> 0x1f; local_e0 = ((int)(-uVar10 | uVar10) >> 0x1f) * -0x90de ^ 0x90be; uVar5 = uVar5 & 0x3ff; local_e4 = 0x735 >> (-(char)(((uVar5 + 2) * (uVar5 + 1) * uVar5) % 3) & 0x1fU) ^ 0x3a5; local_b0 = param_1; do { uVar1 = rdtsc(); local_120 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_1814ab306(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); local_120 = (local_120 * -0xae12ab >> 0x18 ^ local_120 * -0xae12ab) * -0x166a3d4e; if (local_120 < 0x1861861f) { do { local_d8 = FUN_1813f2240; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar2 = FUN_1813f2240(0,0x368b); if (1 < uVar2) { FUN_18113eab0(); } } local_138 = 0xb5; local_110 = &PTR__guard_check_icall_181bab6a8; local_d0 = &DAT_181bab6b8; local_128 = 0xdbd3e8b32194ff00; local_f8 = 0x2194ff00; FUN_181187660(param_1[0x25],param_1 + 0x19); do { puVar6 = &local_f0; FUN_1814a85f5(); *puVar6 = 0xec3691b9; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = (local_f0 >> 0x13 | local_f0 << 0xd) ^ 0x173120d2; uVar10 = ~(uVar10 << 0x1b | uVar10 >> 5) + 0x5f42ae4; uVar10 = (uVar10 >> 0x10 | uVar10 * 0x10000) + 0x1b367166; local_ec = (uVar10 >> 0x1d | uVar10 * 8) + 0x6e355d66; do { plVar11 = local_c0; puVar8 = &local_c8; puVar6 = &local_134; FUN_1814a91c9(); *puVar6 = 0xffcc90a9; *puVar8 = 0x24; *plVar11 = 0x1814a97c8; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = (local_134 >> 0x10 | local_134 << 0x10) & 0x8ded7212 | (local_134 << 0x10 | local_134 >> 0x10) & 0x72128ded; uVar10 = ((uVar10 & 0x33333333) << 2 | uVar10 >> 2 & 0x33333333) + 0xfce7d1d; uVar10 = (uVar10 >> 4 | uVar10 * 0x10000000) & 0xa5a5a5a5 | (uVar10 * 0x10 | uVar10 >> 0x1c) & 0x5a5a5a5a; uVar5 = (uVar10 >> 9 | uVar10 << 0x17) ^ 0xe603a2de; uVar10 = uVar5 >> 8; uVar12 = uVar10 | uVar5 << 0x18; uVar5 = (uVar12 >> 10 ^ uVar12) >> 10 & 0x1f; uVar12 = uVar12 ^ (uVar5 << 10 | uVar5) << 10; do { plVar11 = local_c0 + 1; local_c4 = 0x65; local_c0[1] = 0x1814a98a8; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); lVar9 = (int)((uVar12 << 8 | uVar12 >> 0x18) & 0x99669966 | (uVar12 >> 8 | uVar10 << 0x18) & 0x66996699) + local_c0[0]; local_134 = 0; local_108 = 0; *(longlong *)(lVar9 + 4) = *(longlong *)(lVar9 + 4) + (ulonglong)((uint)((ulonglong)dvs_0x1b7f41c4_mfort6317_ >> 5) & 0x1204e500); piVar13 = (int *)register0x00000020; do { puVar6 = &local_e8; puVar7 = local_130; /* WARNING: Call to offcut address within same function */ func_0x0001814a9979(puVar7,puVar6,plVar11); uVar1 = rdtsc(); uVar10 = (int)uVar1 + (int)((ulonglong)uVar1 >> 0x20) * 2; *puVar6 = uVar10; uVar2 = (ulonglong)uVar10 * 0x4001 + 0x36dcbcfd; uVar3 = uVar2 >> 8 | uVar2 << 0x38; uVar3 = uVar3 + ((uVar3 >> 0xc) - 0x67efc7d7); uVar2 = uVar3 >> 0x35; uVar3 = uVar3 * 0x800 | uVar2; uVar3 = uVar3 ^ (uVar3 >> 9 | uVar2 << 0x37); plVar11 = (longlong *)(~(((ulonglong)plVar11 ^ 0xffffffffffffffff) + 1) + 1); uVar2 = ((uVar3 >> 0xc | uVar3 << 0x34) + 0x3c28b377 + uVar3 * 8) * -0x7ff + 0x36975af6; uVar2 = uVar2 >> 10 | uVar2 << 0x36; piVar13 = (int *)(~(~(ulonglong)piVar13 + 1) + 1); lVar4 = uVar2 + (uVar2 >> 5) + 0x2a7ec935; *puVar7 = ((int)lVar4 * 0x200 | (uint)((ulonglong)lVar4 >> 0x37)) & 0x60ddff16; uVar10 = (*piVar13 + 1) * *piVar13 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); *(int *)(lVar9 + 8) = *(int *)(lVar9 + 8) + (local_130[0] ^ 0x4a1bf12e); *(int *)(lVar9 + 4) = *(int *)(lVar9 + 4) + (local_130[0] ^ 0xb85375ac); uVar3 = *(longlong *)(lVar9 + 4) + 0x4f9b2fbcad71af7d; uVar2 = uVar3 >> 0xb; uVar3 = uVar3 << 0x35 | uVar2; uVar2 = (uVar3 >> 0x10 | uVar2 << 0x30) & 0x93b96c4693b96c46 | (uVar2 << 0x10 | uVar3 >> 0x30) & 0x6c4693b96c4693b9; uVar3 = ((uVar2 >> 8 | uVar2 << 0x38) & 0x837c837c837c837c | (uVar2 << 8 | uVar2 >> 0x38) & 0x7c837c837c837c83) + 0x4ec8de757a8d252f; uVar2 = uVar3 >> 0xe; uVar3 = (uVar3 << 0x32 | uVar2) ^ 0xb8bbce0b11640ab4; uVar2 = (uVar3 << 2 | uVar3 >> 0x3e) & 0x9999999999999999 | (uVar3 >> 2 | uVar2 << 0x3e) & 0x6666666666666666; uVar10 = (uint)((uVar2 >> 0x29 ^ uVar2) >> 4) & 0x3ff; uVar2 = ((ulonglong)uVar10 << 0x29 | (ulonglong)uVar10) << 4 ^ uVar2; *(ulonglong *)(lVar9 + 4) = uVar2; dvs_0x1b7f41c4_mfort6317_ = (uint *)((longlong)dvs_0x1b7f41c4_mfort6317_ + (ulonglong)((uint)(uVar2 >> 2) & 0x604821)); local_130[0] = (uint)(*(ulonglong *)(lVar9 + 4) >> 0x1f) & 0x7fffffff; local_118 = (uint)(*(ulonglong *)(lVar9 + 4) >> 0x16) ^ 0x493628c7; local_128 = *(ulonglong *)(lVar9 + 4) ^ 0x12f856af61914c57; do { FUN_1814a8ffb(); FUN_1814ab497(); uVar10 = (*piVar13 + 1) * *piVar13 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); return 0x1eb0603; } ############ FUN_ 18144f9b0 size=883 ############ /* WARNING: Removing unreachable block (ram,0x00018144fa91) */ /* WARNING: Removing unreachable block (ram,0x00018144fb28) */ /* WARNING: Removing unreachable block (ram,0x00018144fae0) */ void FUN_18144f9b0(undefined8 *param_1) { undefined8 uVar1; ulonglong uVar2; uint uVar3; uint uVar4; uint *puVar5; code **ppcVar6; int iVar7; int iVar8; uint uVar9; int unaff_retaddr; undefined1 auStack_168 [64]; uint local_128 [10]; undefined4 local_100; uint local_f8; uint local_f4; code *local_f0; undefined8 *local_e8; undefined8 local_98; ulonglong local_38; local_98 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_168; *param_1 = PresetMenu::vftable; param_1[0x50] = PresetMenu::vftable; param_1[0x53] = PresetMenu::vftable; param_1[0x54] = PresetMenu::vftable; param_1[0x55] = PresetMenu::vftable; param_1[0x56] = PresetMenu::vftable; uVar4 = (uint)&stack0x00000000; uVar3 = uVar4 & 0x17f; iVar7 = (uVar3 + 2) * (uVar3 + 1) * uVar3; local_f8 = 0x92 << ((byte)(((iVar7 >> 1) - (iVar7 >> 3)) + iVar7 * 0x55555555 >> 0x1e) & 0x1f) ^ 0xec2; uVar9 = ((uVar4 & 0x10ff) + 1) * (uVar4 & 0x10ff) + 0x18d9 & 0x80000001; uVar3 = uVar4 & 0x23f; iVar8 = (uVar3 + 2) * (uVar3 + 1) * uVar3; uVar4 = uVar4 & 0x1ff; iVar7 = (uVar4 + 2) * (uVar4 + 1) * uVar4; local_f4 = 0x3660 >> ((char)(((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e) + (char)(((iVar7 >> 1) - (iVar7 >> 3)) + iVar7 * 0x55555555 >> 0x1e) & 0x1fU) ^ (int)(-uVar9 | uVar9) >> 0x1f & 0x36f0U; do { local_100 = 0xa223041b; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } local_e8 = param_1; } while (uVar3 != 0); do { puVar5 = local_128; FUN_181451b99(puVar5,local_128); uVar1 = rdtsc(); *puVar5 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_128[0] = (local_128[0] * -0x3b314602 >> 0x18 ^ local_128[0] * -0x3b314602) * -0x35943595; if (local_128[0] < 0x7fffffff) { local_f0 = (code *)0x0; do { ppcVar6 = &local_f0; FUN_18144eae2(ppcVar6,&local_f0); *ppcVar6 = FUN_181194940; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*local_f0)(0,0x4c44); if (1 < uVar2) { FUN_18113eab0(); } } FUN_18144fd67(); FUN_18144fd67(); return; } ############ FUN_ 181400bd0 size=469 ############ /* WARNING: Removing unreachable block (ram,0x000181400c6a) */ void FUN_181400bd0(undefined8 param_1,undefined4 param_2) { undefined8 uVar1; ulonglong uVar2; uint *puVar3; uint uVar4; int unaff_retaddr; undefined1 auStack_1c8 [84]; uint local_174 [2]; undefined4 local_16c; undefined4 local_168; uint local_150; code *local_148 [4]; undefined8 local_128; undefined8 local_b8; ulonglong local_40; local_b8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_1c8; uVar4 = (uint)&stack0x00000000 & 0x5ff; uVar4 = (uVar4 + 1) * uVar4 + 0x47c7 & 0x80000001; local_150 = ((int)(-uVar4 | uVar4) >> 0x1f) * -0xbe5c ^ 0xba6c; local_16c = 0x8a0; local_168 = param_2; local_128 = param_1; do { puVar3 = local_174; FUN_1814012aa(puVar3,local_174); uVar1 = rdtsc(); *puVar3 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_174[0] = (local_174[0] * -0x12aa00af >> 0x18 ^ local_174[0] * -0x12aa00af) * 0x5bd18ccd; if (local_174[0] < 0x25aa13f) { do { local_148[0] = FUN_1813f2240; FUN_18140036d(local_148,0x21f1); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = (*local_148[0])(); if (1 < uVar2) { FUN_18113eab0(); } } func_0x000181400dd2(); func_0x000181400dc8(); return; } ############ FUN_ 1805a6fd0 size=697 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805a6fd0(char param_1,char param_2,longlong param_3) { void *pvVar1; undefined8 uVar2; void *_Memory; undefined8 ****ppppuVar3; longlong lVar4; undefined1 auStack_228 [32]; undefined4 local_208; int local_1f8; longlong local_1f0; undefined8 local_1e8; undefined1 local_1c8 [8]; undefined4 local_1c0; undefined8 ***local_1b8 [2]; undefined8 local_1a8; ulonglong local_1a0; undefined8 ***local_198 [2]; undefined8 local_188; ulonglong local_180; undefined8 ***local_178 [2]; undefined8 local_168; ulonglong local_160; undefined4 local_158; undefined1 local_148; undefined7 uStack_147; undefined8 local_138; ulonglong local_130; undefined **local_128; undefined4 local_120; undefined1 local_118; undefined8 local_108; undefined8 local_100; undefined1 local_f8; undefined8 local_e8; undefined8 local_e0; undefined1 local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 uStack_c0; undefined8 local_b8; undefined1 local_a8 [128]; ulonglong local_28; local_1e8 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_228; local_1f0 = param_3; FUN_18113eab0(); local_128 = pace::ExceptionHandler::vftable; local_120 = 0; local_108 = 0; local_100 = 0xf; local_118 = 0; local_e8 = 0; local_e0 = 0xf; local_f8 = 0; local_d8 = 0; local_d0 = 0; local_c8 = 0; uStack_c0 = 0; local_b8 = 0; local_1f8 = 0; FUN_180575790(local_1c8); local_1c0 = 0; uVar2 = FUN_1805a7fd0(); local_138 = 0; local_130 = 0xf; local_148 = 0; lVar4 = -1; do { lVar4 = lVar4 + 1; } while (PTR_s_soothe2_18260e5f8[lVar4] != '\0'); FUN_1805a6cb0(&local_148); local_208 = 0; FUN_1805e3090(local_a8,&local_148,uVar2,0); if (local_130 < 0x10) { local_138 = 0; local_130 = 0xf; local_148 = 0; local_1f8 = FUN_1805e8730(local_a8,param_1 == '\0',param_2 == '\0'); DAT_18265dbbb = local_1f8 == 0; FUN_1805e38f0(local_a8); if (param_3 != 0) { *(undefined4 *)(param_3 + 8) = local_1c0; if ((undefined8 ****)(param_3 + 0x10) != local_1b8) { ppppuVar3 = local_1b8; if (0xf < local_1a0) { ppppuVar3 = (undefined8 ****)local_1b8[0]; } FUN_1805a6cb0((undefined8 ****)(param_3 + 0x10),ppppuVar3,local_1a8); } if ((undefined8 ****)(param_3 + 0x30) != local_198) { ppppuVar3 = local_198; if (0xf < local_180) { ppppuVar3 = (undefined8 ****)local_198[0]; } FUN_1805a6cb0((undefined8 ****)(param_3 + 0x30),ppppuVar3,local_188); } if ((undefined8 ****)(param_3 + 0x50) != local_178) { ppppuVar3 = local_178; if (0xf < local_160) { ppppuVar3 = (undefined8 ****)local_178[0]; } FUN_1805a6cb0((undefined8 ****)(param_3 + 0x50),ppppuVar3,local_168); } *(undefined4 *)(param_3 + 0x70) = local_158; } FUN_180575800(local_1c8); FUN_1805a55f0(&local_128); } pvVar1 = (void *)CONCAT71(uStack_147,local_148); _Memory = pvVar1; if ((0xfff < local_130 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805bba40 size=372 ############ void FUN_1805bba40(longlong param_1,undefined4 *param_2,longlong param_3,longlong param_4, longlong param_5) { char cVar1; undefined8 *puVar2; char *pcVar3; FUN_18113eab0(); *param_2 = *(undefined4 *)(param_1 + 8); if (0x3f < *(ulonglong *)(param_1 + 0x20)) { puVar2 = (undefined8 *)(param_1 + 0x10); if (*(ulonglong *)(param_1 + 0x20) < 0x3f) { FUN_1805a6b10(puVar2,0x3f - *(ulonglong *)(param_1 + 0x20),0); } else { *(undefined8 *)(param_1 + 0x20) = 0x3f; if (0xf < *(ulonglong *)(param_1 + 0x28)) { puVar2 = (undefined8 *)*puVar2; } *(undefined1 *)((longlong)puVar2 + 0x3f) = 0; } } if (*(longlong *)(param_1 + 0x20) != 0) { pcVar3 = (char *)(param_1 + 0x10); if (0xf < *(ulonglong *)(param_1 + 0x28)) { pcVar3 = *(char **)pcVar3; } param_3 = param_3 - (longlong)pcVar3; do { cVar1 = *pcVar3; pcVar3[param_3] = cVar1; pcVar3 = pcVar3 + 1; } while (cVar1 != '\0'); } if (0x3f < *(ulonglong *)(param_1 + 0x40)) { puVar2 = (undefined8 *)(param_1 + 0x30); if (*(ulonglong *)(param_1 + 0x40) < 0x3f) { FUN_1805a6b10(puVar2,0x3f - *(ulonglong *)(param_1 + 0x40),0); } else { *(undefined8 *)(param_1 + 0x40) = 0x3f; if (0xf < *(ulonglong *)(param_1 + 0x48)) { puVar2 = (undefined8 *)*puVar2; } *(undefined1 *)((longlong)puVar2 + 0x3f) = 0; } } if (*(longlong *)(param_1 + 0x40) != 0) { pcVar3 = (char *)(param_1 + 0x30); if (0xf < *(ulonglong *)(param_1 + 0x48)) { pcVar3 = *(char **)pcVar3; } param_4 = param_4 - (longlong)pcVar3; do { cVar1 = *pcVar3; pcVar3[param_4] = cVar1; pcVar3 = pcVar3 + 1; } while (cVar1 != '\0'); } if (0xff < *(ulonglong *)(param_1 + 0x60)) { puVar2 = (undefined8 *)(param_1 + 0x50); if (*(ulonglong *)(param_1 + 0x60) < 0xff) { FUN_1805a6b10(puVar2,0xff - *(ulonglong *)(param_1 + 0x60),0); } else { *(undefined8 *)(param_1 + 0x60) = 0xff; if (0xf < *(ulonglong *)(param_1 + 0x68)) { puVar2 = (undefined8 *)*puVar2; } *(undefined1 *)((longlong)puVar2 + 0xff) = 0; } } if (*(longlong *)(param_1 + 0x60) != 0) { pcVar3 = (char *)(param_1 + 0x50); if (0xf < *(ulonglong *)(param_1 + 0x68)) { pcVar3 = *(char **)pcVar3; } param_5 = param_5 - (longlong)pcVar3; do { cVar1 = *pcVar3; pcVar3[param_5] = cVar1; pcVar3 = pcVar3 + 1; } while (cVar1 != '\0'); } return; } ############ FUN_ 1805cdde0 size=98 ############ void FUN_1805cdde0(void) { uint uVar1; int unaff_retaddr; do { uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); thunk_FUN_180bc1af0(); FUN_18113eab0(); DAT_18265ddc5 = 1; FUN_1805c9e00(&DAT_18265ddd8,FUN_1805cac40); return; } ############ FUN_ 180bb71f0 size=46 ############ void FUN_180bb71f0(longlong param_1,undefined8 param_2) { FUN_18113eab0(); FUN_180bb6500(*(undefined8 *)(param_1 + 0x50),param_1,param_2); return; } ############ FUN_ 180bb9780 size=1887 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180bb9ef5) overlaps instruction at (ram,0x000180bb9ef1) */ /* WARNING: Switch with 1 destination removed at 0x000180bba04a */ void FUN_180bb9780(longlong param_1,longlong param_2) { ulonglong uVar1; ulonglong uVar2; undefined8 uVar3; undefined8 uVar4; uint uVar5; uint uVar6; uint *puVar7; code **ppcVar8; ulonglong uVar9; ulonglong uVar10; undefined1 *puVar11; undefined4 *puVar12; longlong lVar14; ulonglong uVar15; uint uVar16; longlong lVar17; bool bVar18; int unaff_retaddr; uint local_res18 [2]; undefined8 local_res20; undefined1 auStack_88 [32]; undefined8 local_68; undefined4 *local_60; code *local_58; undefined8 local_50; undefined4 *local_48; undefined4 *puVar13; local_50 = 0xfffffffffffffffe; uVar4 = 0xf20; uVar16 = (uint)&stack0x00000000 & 0x1ff; uVar16 = (uVar16 * uVar16 * 0x10 + 4) % 0x13; local_48 = &DAT_182670278; LOCK(); bVar18 = DAT_182670278 == 0; if (bVar18) { DAT_182670278 = 1; } UNLOCK(); while (!bVar18) { LOCK(); bVar18 = DAT_182670278 == 0; if (bVar18) { DAT_182670278 = 1; } UNLOCK(); } uVar15 = 0xa6c99b1e; lVar17 = 0x143fd98; local_68 = 0x100; local_60 = &DAT_18143fd98; bVar18 = true; do { if (!bVar18) { lVar14 = lVar17 + uVar15; lVar17 = ~(uVar15 - lVar14) + 1; uVar15 = lVar14 - lVar17; } uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } bVar18 = false; } while (uVar5 != 0); local_res20 = 0xc8115116b2ed1140; uVar5 = DAT_18143fe6c ^ (DAT_18143fe68 ^ (DAT_18143fe64 ^ (DAT_18143fe60 ^ (DAT_18143fe5c ^ (DAT_18143fe58 ^ (DAT_18143fe54 ^ (DAT_18143fe50 ^ (DAT_18143fe4c ^ (DAT_18143fe48 ^ (DAT_18143fe44 ^ (DAT_18143fe40 ^ (DAT_18143fe3c ^ (DAT_18143fe38 ^ (DAT_18143fe34 ^ (DAT_18143fe30 ^ (DAT_18143fe2c ^ (DAT_18143fe28 ^ (DAT_18143fe24 ^ (DAT_18143fe20 ^ (DAT_18143fe1c ^ (DAT_18143fe18 ^ ((((((((((((((((((((((((((((((((DAT_18143fd98 ^ 0x811c9dc5) * 0x1000181 ^ DAT_18143fd9c) * 0x1000181 ^ DAT_18143fda0) * 0x1000181 ^ DAT_18143fda4) * 0x1000181 ^ DAT_18143fda8) * 0x1000181 ^ DAT_18143fdac) * 0x1000181 ^ DAT_18143fdb0) * 0x1000181 ^ DAT_18143fdb4) * 0x1000181 ^ DAT_18143fdb8) * 0x1000181 ^ DAT_18143fdbc) * 0x1000181 ^ DAT_18143fdc0) * 0x1000181 ^ DAT_18143fdc4) * 0x1000181 ^ DAT_18143fdc8) * 0x1000181 ^ DAT_18143fdcc) * 0x1000181 ^ DAT_18143fdd0) * 0x1000181 ^ DAT_18143fdd4) * 0x1000181 ^ DAT_18143fdd8) * 0x1000181 ^ DAT_18143fddc) * 0x1000181 ^ DAT_18143fde0) * 0x1000181 ^ DAT_18143fde4) * 0x1000181 ^ DAT_18143fde8) * 0x1000181 ^ DAT_18143fdec) * 0x1000181 ^ DAT_18143fdf0) * 0x1000181 ^ DAT_18143fdf4) * 0x1000181 ^ DAT_18143fdf8) * 0x1000181 ^ DAT_18143fdfc) * 0x1000181 ^ DAT_18143fe00) * 0x1000181 ^ DAT_18143fe04) * 0x1000181 ^ DAT_18143fe08) * 0x1000181 ^ DAT_18143fe0c) * 0x1000181 ^ DAT_18143fe10) * 0x1000181 ^ DAT_18143fe14) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; do { puVar7 = local_res18; /* WARNING: Call to offcut address within same function */ func_0x000180bb9e1a(puVar7,local_res18); uVar3 = rdtsc(); *puVar7 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); FUN_180bbb18d(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_res18[0] = (local_res18[0] * -0x359413ad >> 0x18 ^ local_res18[0] * -0x359413ad) * 0x1a855bd1; if (local_res18[0] < 0x201007f) { local_58 = (code *)0x0; do { ppcVar8 = &local_58; FUN_180bb9185(ppcVar8,&local_58); *ppcVar8 = FUN_1813f2240; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar1 = (*local_58)(0,0xabd7); if (1 < uVar1) { FUN_18113eab0(); } } uVar1 = (ulonglong) ((DAT_18143fe80 ^ (DAT_18143fe7c ^ (DAT_18143fe78 ^ (DAT_18143fe74 ^ (DAT_18143fe70 ^ uVar5 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181); do { uVar1 = 0xfffffffffffff0e0 - (~(uVar1 + 0xf20) + 1); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = DAT_18143fe94 ^ ((((DAT_18143fe84 ^ (uint)uVar1) * 0x1000181 ^ DAT_18143fe88) * 0x1000181 ^ DAT_18143fe8c) * 0x1000181 ^ DAT_18143fe90) * 0x1000181; do { uVar2 = -param_1 ^ 0xffffffffffffffff; param_1 = uVar2 + 1; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = 0; do { bVar18 = (POPCOUNT(uVar6 & 0xff) & 1U) == 0; uVar9 = 0; FUN_180bbb794(); if ((bVar18) && ((uVar9 & 0x42) != 0)) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = ((uVar5 * 0x10001810 | uVar5 * 0x1000181 >> 0x1c) & 0xc3c3c3c3 | (uVar5 * 0x1000181 >> 4 | uVar5 * 0x10000000) & 0x3c3c3c3c) + 0xd24d9893; uVar6 = uVar5 * 0x80 | uVar5 >> 0x19; uVar9 = (ulonglong)uVar6; uVar5 = (uVar5 & 0x1ffffff ^ uVar6) >> 5 & 0xf; uVar10 = 0; if (((uint)local_res20 ^ ((uVar5 << 7 | uVar5) << 5 ^ uVar6) + 0xbf31575a) * 0x27 != 0) { do { uVar4 = func_0x000180bd8130(uVar2 + 9); *(undefined8 *)(param_2 + uVar10 * 8) = uVar4; uVar10 = uVar10 + 1; } while (uVar10 < 3); FUN_1805a9280(0xf20,uVar9,(-lVar17 ^ 0xffffffffffffffffU) + 1, ((uVar15 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1); return; } do { uVar3 = func_0x000180bd8130(uVar2 + 9); *(undefined8 *)(param_2 + uVar10 * 8) = uVar3; uVar10 = uVar10 + 1; } while (uVar10 < 4); puVar11 = auStack_88; do { *(ulonglong *)(puVar11 + -8) = uVar9; *(ulonglong *)(puVar11 + -0x10) = uVar1; *(undefined8 *)(puVar11 + -0x18) = uVar4; lVar17 = -(longlong)(int)(~((int)(-uVar16 | uVar16) >> 0x1f & 0xfffff6ffU) & 0xdd04); uVar4 = *(undefined8 *)(puVar11 + lVar17 + 0x8e8); uVar1 = *(ulonglong *)(puVar11 + lVar17 + 0x8f0); uVar9 = *(ulonglong *)(puVar11 + lVar17 + 0x8f8); puVar12 = (undefined4 *)(puVar11 + lVar17 + 0x900); puVar13 = (undefined4 *)(puVar11 + lVar17 + 0x900); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } puVar11 = puVar11 + lVar17 + 0x900; } while (uVar5 != 0); LOCK(); *puVar13 = *puVar12; UNLOCK(); DAT_182670278 = 0; return; } ############ FUN_ 180bdc9d0 size=2666 ############ /* WARNING: Instruction at (ram,0x000180bdce52) overlaps instruction at (ram,0x000180bdce4e) */ /* WARNING: Removing unreachable block (ram,0x000180bdd05e) */ /* WARNING: Removing unreachable block (ram,0x000180bdce4e) */ /* WARNING: Removing unreachable block (ram,0x000180bdcc52) */ /* WARNING: Removing unreachable block (ram,0x000180bdca08) */ /* WARNING: Removing unreachable block (ram,0x000180bdccd3) */ /* WARNING: Removing unreachable block (ram,0x000180bdd044) */ /* WARNING: Removing unreachable block (ram,0x000180bdd402) */ /* WARNING: Removing unreachable block (ram,0x000180bdcc0c) */ /* WARNING: Removing unreachable block (ram,0x000180bdca17) */ /* WARNING: Removing unreachable block (ram,0x000180bdd4bf) */ void FUN_180bdc9d0(undefined4 param_1) { undefined8 uVar1; char cVar2; char cVar3; byte bVar4; ulonglong uVar5; code **ppcVar6; uint uVar7; longlong lVar8; ulonglong uVar9; int iVar10; int *piVar11; int *piVar12; undefined1 *puVar13; uint uVar14; int iVar15; uint uVar16; uint uVar17; ulonglong uVar18; int unaff_retaddr; undefined1 auStack_68 [32]; undefined8 local_48; code *local_40; puVar13 = auStack_68; uVar7 = (uint)&stack0x00000000 | 1; uVar18 = (ulonglong)(((int)(-uVar7 | uVar7) >> 0x1f) * -0x8178 ^ 0x8278); local_48 = 0x1806974d4; uVar17 = (iRam00000001806974d4 + 0x4611a0ec) * -0x395b586d; uVar17 = uVar17 ^ uVar17 >> 0x10; uVar7 = uVar17 & 0xf | 0x23; uVar16 = uVar7 * uVar7 * 0x801d ^ 0x4aca997; uVar7 = uVar17 & 0x2ff; uVar14 = uVar17 & 0x13f; iVar10 = (uVar7 + 2) * (uVar7 + 1) * uVar7; iVar15 = (uVar14 + 2) * (uVar14 + 1) * uVar14; lVar8 = 4; piVar11 = (int *)(((longlong) (0x159 << (((byte)(((iVar10 >> 1) - (iVar10 >> 3)) + iVar10 * 0x55555555 >> 0x1e) ^ (char)iVar15 + (char)((ulonglong)((longlong)iVar15 * 0x55555556) >> 0x20) * -3) & 0x1f)) ^ 0xfffffffffffffe9dU) + 0x1806974d4 + ((longlong)(((int)(-uVar16 | uVar16) >> 0x1f) * -0xe0b) ^ 0xe4bU)); uVar7 = (*piVar11 + uVar17) * -0x395b586d; do { piVar12 = piVar11; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[1]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[2]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[3]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[4]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[5]) * -0x395b586d; lVar8 = lVar8 + -1; piVar11 = piVar12 + 5; } while (lVar8 != 0); do { /* WARNING: Call to offcut address within same function */ func_0x000180bdce37(0xf11c); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar7 = (piVar12[6] + (uVar7 ^ uVar7 >> 0x10)) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[7]) * -0x395b586d; do { uVar18 = (~uVar18 + 1 ^ 0xffffffffffffffff) + 1; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar7 = (piVar12[8] + (uVar7 ^ uVar7 >> 0x10)) * -0x395b586d; do { uVar1 = rdtsc(); FUN_180bdd506(); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar14 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x3b317a15; if ((uVar14 >> 0x18 ^ uVar14) * -0x7332a42f < 0x201007f) { local_40 = (code *)0x0; do { ppcVar6 = &local_40; FUN_180bdeca3(ppcVar6,&local_40); *ppcVar6 = FUN_181194940; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar5 = (*local_40)(0,0x8103); if (1 < uVar5) { FUN_18113eab0(); } } do { uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar7 = (piVar12[9] + (uVar7 ^ uVar7 >> 0x10)) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[10]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0xb]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0xc]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0xd]) * -0x395b586d; piVar11 = piVar12 + 0xf; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0xe]) * -0x395b586d; bVar4 = (byte)piVar11 & 0x6f; uVar16 = ((uVar7 >> 0x10 ^ uVar7) + *piVar11) * -0x395b586d; uVar16 = uVar16 ^ uVar16 >> 0x10; uVar14 = uVar16 & 0x1f; uVar7 = uVar14 + 1; uVar5 = (ulonglong)uVar7; cVar3 = (char)uVar14; cVar2 = (char)uVar7; piVar11 = (int *)((longlong)piVar11 + ((longlong) (0x2960 << (bVar4 * bVar4 * (bVar4 + 1) * (bVar4 + 1) & 3 ^ cVar3 * cVar3 * cVar2 * cVar2 & 3U)) ^ 0x2948U)); uVar7 = (piVar11[-9] + uVar16) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar11[-8]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar11[-7]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar11[-6]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar11[-5]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar11[-4]) * -0x395b586d; do { FUN_180bdbdc4(0xf11c); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar7 = (piVar11[-3] + (uVar7 ^ uVar7 >> 0x10)) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar11[-2]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar11[-1]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + *piVar11) * -0x395b586d; piVar12 = piVar11 + 2; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar11[1]) * -0x395b586d; uVar14 = (uint)piVar12 & 0x33ff; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + *piVar12) * -0x395b586d; uVar9 = (ulonglong)uVar7; piVar12 = (int *)((longlong)piVar12 + (100 - ((longlong)(int)(((uVar14 - 1) * uVar14 & 1) + 0x4294) ^ 0x42f4U))); uVar7 = ((uVar7 >> 0x10 ^ uVar7) + *piVar12) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[1]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[2]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[3]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[4]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[5]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[6]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[7]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[8]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[9]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[10]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0xb]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0xc]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0xd]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0xe]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0xf]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0x10]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0x11]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0x12]) * -0x395b586d; uVar7 = ((uVar7 >> 0x10 ^ uVar7) + piVar12[0x13]) * -0x395b586d; do { uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar7 = uVar7 ^ uVar7 >> 0x10 ^ 0x74affa64; uVar7 = (uVar7 << 0x15 | uVar7 >> 0xb) ^ 0x3bc5a0ee; uVar7 = (uVar7 << 0xc | uVar7 >> 0x14) + 0x732e2dfa; do { uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); if (((uVar7 >> 0xc | uVar7 * 0x100000) ^ 0x80d37bfb) * 0xe != 0) { DAT_182670294 = param_1; /* WARNING: Call to offcut address within same function */ func_0x000180bdd3f1(); thunk_FUN_1805a9280(); return; } iVar10 = (int)uVar18; do { *(ulonglong *)(puVar13 + -8) = uVar5; *(ulonglong *)(puVar13 + -0x10) = uVar18; *(ulonglong *)(puVar13 + -0x18) = uVar9; lVar8 = -(longlong)iVar10; uVar9 = *(ulonglong *)(puVar13 + lVar8 + 0x2e8); uVar18 = *(ulonglong *)(puVar13 + lVar8 + 0x2f0); uVar5 = *(ulonglong *)(puVar13 + lVar8 + 0x2f8); puVar13 = puVar13 + lVar8 + 0x300; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); DAT_182670294 = param_1; return; } ############ FUN_ 180bc5e30 size=91 ############ void FUN_180bc5e30(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; char cVar2; longlong local_res8 [4]; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; FUN_18113eab0(); while( true ) { if (*(char *)((longlong)param_1 + 9) != '\0') { return; } local_res8[0] = param_1[10]; plVar1 = (longlong *)param_1[9]; if (plVar1 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } cVar2 = (**(code **)(*plVar1 + 0x10))(plVar1,local_res8,param_3,param_4,uVar3); if (cVar2 == '\0') { return; } if (*(char *)((longlong)param_1 + 9) != '\0') break; (**(code **)(*param_1 + 0x20))(param_1); } return; } ############ FUN_ 180bc7d90 size=812 ############ /* WARNING: Removing unreachable block (ram,0x000180bc7e04) */ void FUN_180bc7d90(undefined8 *param_1,undefined8 param_2) { undefined8 uVar1; ulonglong uVar2; uint uVar3; uint uVar4; uint uVar5; int iVar6; int unaff_retaddr; undefined1 auStack_b8 [32]; undefined *local_98; uint local_90; undefined8 local_88; undefined **local_80; undefined8 local_70; uint local_64; uint local_60; code *local_58; undefined8 *local_50; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_b8; param_1[1] = param_2; *param_1 = pace::dlc::CritcalSectionLocker::vftable; uVar4 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0xd00) == 0) { uVar5 = uVar4 & 0x37f; uVar5 = ((uVar5 + 2) * (uVar5 + 1) * uVar5) % 3; } else { uVar5 = 0; } uVar3 = uVar4 & 0x3ff; local_60 = ((int)(-(uVar4 | 1) | uVar4 | 1) >> 0x1f) * 0x2482 & 0xdb7eU ^ uVar5 ^ 0xd0ae; iVar6 = (uVar3 + 2) * (uVar3 + 1) * uVar3; uVar4 = (((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e) + 0x6793f2f; local_64 = ((int)(-uVar4 | uVar4) >> 0x1f) * -0xe5a1 ^ 0xe2d1; local_70 = 0x6f01000; local_80 = &PTR__guard_check_icall_181bab6a8; local_98 = &DAT_181bab6b8; local_88 = 0xe09527395eb9c57; local_50 = param_1; do { uVar1 = rdtsc(); local_90 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_180bc63e7(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_90 = (local_90 * 0x1a851a85 >> 0x18 ^ local_90 * 0x1a851a85) * -0xae12ab; if (local_90 < 0x1999999f) { do { local_58 = FUN_181194940; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = FUN_181194940(0,0xa88); if (1 < uVar2) { FUN_18113eab0(); } } FUN_180bc80e9(); return; } ############ FUN_ 180bcde40 size=536 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180bcdf82) */ void FUN_180bcde40(longlong param_1) { undefined8 uVar1; ulonglong uVar2; uint uVar3; longlong lVar4; longlong lVar5; int unaff_retaddr; undefined1 local_c8 [48]; uint local_98 [6]; code *local_80; longlong local_58; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)local_c8; local_58 = param_1; do { uVar1 = rdtsc(); local_98[0] = (uint)((ulonglong)uVar1 >> 0x20); lVar4 = CONCAT44((int)((ulonglong)local_98 >> 0x20),local_98[0]); local_98[0] = (uint)uVar1 ^ local_98[0]; FUN_180bcea56(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_98[0] = (local_98[0] * -0x3b317333 >> 0x18 ^ local_98[0] * -0x3b317333) * -0x13ac166b; if (local_98[0] < 0x7fffffff) { do { lVar4 = 0xddbd; local_80 = FUN_18141db20; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = FUN_18141db20(0,0xddbd); if (1 < uVar2) { FUN_18113eab0(); } } *(undefined8 *)(param_1 + 0xc0) = 0; do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); InitializeConditionVariable((PCONDITION_VARIABLE)(param_1 + 0xb8)); do { lVar5 = lVar4 + param_1; param_1 = param_1 - lVar5; lVar4 = -param_1; param_1 = lVar5 + param_1; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); /* WARNING: Call to offcut address within same function */ func_0x000180bce078(0,lVar4); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180bcea70 size=39 ############ undefined8 FUN_180bcea70(longlong *param_1) { FUN_18113eab0(); (**(code **)(*param_1 + 0x18))(param_1); FUN_180bcf4e0(param_1); return 0; } ############ FUN_ 180bceae0 size=23 ############ void FUN_180bceae0(undefined8 param_1) { code *pcVar1; FUN_18113eab0(); FUN_180bceaa0(param_1); pcVar1 = (code *)swi(3); (*pcVar1)(); return; } ############ FUN_ 180bd2a90 size=1648 ############ /* WARNING: Removing unreachable block (ram,0x000180bd2ba9) */ void FUN_180bd2a90(longlong param_1) { int *piVar1; undefined8 *puVar2; undefined8 uVar3; undefined4 *puVar4; char cVar5; longlong lVar6; ulonglong uVar7; int iVar8; uint uVar9; uint uVar10; longlong *plVar11; longlong *plVar12; uint uVar13; longlong lVar14; int unaff_retaddr; undefined1 auStack_118 [32]; longlong local_f8; undefined4 local_e8; uint local_e4; undefined8 local_d8; undefined *local_d0; undefined8 local_c8; undefined *local_c0; undefined4 *local_b8; longlong *plStack_b0; uint local_a8; uint local_a4; code *local_a0; undefined8 local_98; undefined4 *local_90; longlong *local_88; undefined8 local_80; undefined8 local_78; undefined1 local_70 [16]; longlong *local_60; undefined8 local_58; ulonglong local_50; ulonglong local_30; local_98 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_118; uVar13 = (uint)&stack0x00000000; uVar10 = (((uVar13 & 0x3dff) + 1) * (uVar13 & 0x3dff) + 7) % 0x51; iVar8 = (uVar13 & 0x4bff) * (uVar13 & 0x4bff) + 1; uVar9 = (iVar8 >> 4) + (iVar8 >> 1) + iVar8 * 0x24924924 >> 0x1d; uVar9 = (int)(uVar9 - 7) >> 0x1f & uVar9; local_a4 = 0xb338U - ((int)((-uVar9 | uVar9) ^ (-uVar10 | uVar10)) >> 0x1f) ^ 0xb3f8; uVar9 = ((uVar13 & 0x15ff) * (uVar13 & 0x15ff) * 0x10 + 4) % 0x13; local_a8 = 0x647dU - ((int)(-uVar9 | uVar9) >> 0x1f) ^ 0x655e; do { local_b8 = (undefined4 *)0x0; plStack_b0 = (longlong *)0x0; FUN_180bc7d90(local_70,param_1 + 0x88); lVar14 = *(longlong *)(param_1 + 0x118); if (lVar14 == 0) { lVar14 = 0; } else { local_50 = *(ulonglong *)(param_1 + 0x110); local_58 = 0; local_60 = *(longlong **)(param_1 + 0xf8); lVar6 = 0; if (local_60 != (longlong *)0x0) { lVar6 = *local_60; } puVar2 = *(undefined8 **) (*(longlong *)(lVar6 + 8) + (*(longlong *)(lVar6 + 0x10) - 1U & local_50) * 8); if (puVar2[1] != 0) { LOCK(); piVar1 = (int *)(puVar2[1] + 8); *piVar1 = *piVar1 + 1; UNLOCK(); } local_b8 = (undefined4 *)*puVar2; plStack_b0 = (longlong *)puVar2[1]; local_80 = 0; local_78 = 0; plVar12 = *(longlong **) (*(longlong *) (*(longlong *)(param_1 + 0x100) + (*(longlong *)(param_1 + 0x108) - 1U & *(ulonglong *)(param_1 + 0x110)) * 8) + 8) ; local_90 = local_b8; local_88 = plStack_b0; if (plVar12 != (longlong *)0x0) { LOCK(); plVar11 = plVar12 + 1; lVar6 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)*plVar12)(plVar12); LOCK(); piVar1 = (int *)((longlong)plVar12 + 0xc); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)(*plVar12 + 8))(plVar12); } } } plVar12 = (longlong *)(param_1 + 0x118); *plVar12 = *plVar12 + -1; if (*plVar12 == 0) { *(undefined8 *)(param_1 + 0x110) = 0; lVar14 = lVar14 + -1; } else { *(longlong *)(param_1 + 0x110) = *(longlong *)(param_1 + 0x110) + 1; lVar14 = lVar14 + -1; } } puVar4 = local_b8; FUN_180bca970(local_70); if (puVar4 != (undefined4 *)0x0) { local_f8 = (longlong)(puVar4 + 0x12); if (0xf < *(ulonglong *)(puVar4 + 0x18)) { local_f8 = *(longlong *)local_f8; } plVar12 = (longlong *)(puVar4 + 10); if (0xf < *(ulonglong *)(puVar4 + 0x10)) { plVar12 = (longlong *)*plVar12; } plVar11 = (longlong *)(puVar4 + 2); if (0xf < *(ulonglong *)(puVar4 + 8)) { plVar11 = (longlong *)*plVar11; } FUN_181143610(*puVar4,puVar4[1],plVar11,plVar12); } plVar12 = plStack_b0; if (plStack_b0 != (longlong *)0x0) { LOCK(); plVar11 = plStack_b0 + 1; lVar6 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)*plStack_b0)(plStack_b0); LOCK(); piVar1 = (int *)((longlong)plVar12 + 0xc); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)(*plStack_b0 + 8))(); } } } } while ((lVar14 != 0) && (cVar5 = FUN_180bc54b0(param_1), cVar5 == '\0')); local_c0 = &DAT_18244d398; local_d0 = &DAT_18246d358; local_c8 = 0xbd008f2f2733afb9; local_d8 = 0x2733afb9; do { uVar3 = rdtsc(); local_e4 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); FUN_180bd3125(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_e4 = (local_e4 * -0x3d4d7a15 >> 0x18 ^ local_e4 * -0x3d4d7a15) * -0xae3d4e; if (local_e4 < 0x7fffffff) { do { local_a0 = FUN_1813f2240; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar7 = FUN_1813f2240(); if (1 < uVar7) { FUN_18113eab0(); } } local_e8 = 0; FUN_180bd49ad(); FUN_180bd3126(); return; } ############ FUN_ 180c48510 size=1269 ############ /* WARNING: Instruction at (ram,0x000180c48807) overlaps instruction at (ram,0x000180c48805) */ /* WARNING: Removing unreachable block (ram,0x000180c48555) */ /* WARNING: Removing unreachable block (ram,0x000180c485b8) */ undefined1 FUN_180c48510(longlong param_1) { undefined1 uVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; code **ppcVar5; longlong lVar6; longlong in_R11; bool bVar7; int unaff_retaddr; undefined1 auStack_1e8 [80]; undefined4 local_198; undefined *local_190; undefined *local_188; uint local_180; undefined *local_178; undefined *local_168; undefined4 local_154; undefined4 local_150; code *local_148 [4]; undefined1 local_128 [232]; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_1e8; local_154 = 0x530; local_150 = 0xd40; LOCK(); bVar7 = DAT_182670778 == 0; if (bVar7) { DAT_182670778 = 1; } UNLOCK(); while (!bVar7) { LOCK(); bVar7 = DAT_182670778 == 0; if (bVar7) { DAT_182670778 = 1; } UNLOCK(); } local_178 = &DAT_1823ed458; local_190 = &DAT_18240d418; local_168 = &DAT_186f12d18; local_198 = 0; do { uVar2 = rdtsc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x46015029; local_180 = (uVar4 >> 0x18 ^ uVar4) * -0x166a00af; local_188 = local_190; if (local_180 < 0x7fffffff) { local_148[0] = (code *)0x0; do { ppcVar5 = local_148; FUN_180c49c1b(ppcVar5,local_148); *ppcVar5 = FUN_1813bba80; FUN_180c471a7(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (*local_148[0])(); if (1 < uVar3) { FUN_18113eab0(); } } do { lVar6 = 0; uVar3 = FUN_180bd9af0(local_128,0,param_1); } while ((uVar3 & 0xfffffffd) == 0); do { uVar3 = -(lVar6 - in_R11); func_0x000160bbd1a7(0x4024,uVar3); lVar6 = ~uVar3 + 1 + in_R11; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } uVar3 = (ulonglong)uVar4; } while (uVar4 != 0); /* WARNING: Call to offcut address within same function */ func_0x000180c48860(); uVar1 = *(undefined1 *)(param_1 + 4); *(int *)(uVar3 + 0x5f) = *(int *)(uVar3 + 0x5f) + 0x49cf8b4d; return uVar1; } ############ FUN_ 180c4a8c4 size=288 ############ /* WARNING: Instruction at (ram,0x000180c4aa0d) overlaps instruction at (ram,0x000180c4aa09) */ /* WARNING: Control flow encountered bad instruction data */ void FUN_180c4a8c4(void) { undefined8 uVar1; ulonglong uVar2; uint uVar3; uint *puVar4; longlong *plVar5; longlong unaff_RBP; longlong unaff_RSI; longlong in_R11; int *unaff_R12; longlong lVar6; bool bVar7; undefined8 in_stack_00000050; longlong in_stack_00000058; ulonglong in_stack_00000070; longlong lStack_30; longlong lStack_28; undefined *puStack_20; uVar3 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } if (uVar3 != 0) { FUN_180c4a8c4(51000); return; } do { puVar4 = (uint *)((longlong)&stack0x00000050 + 4); func_0x000180c497ab(puVar4,(longlong)&stack0x00000050 + 4); uVar1 = rdtsc(); *puVar4 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar3 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); in_stack_00000050._4_4_ = (in_stack_00000050._4_4_ * 0x5bd1ca6b >> 0x18 ^ in_stack_00000050._4_4_ * 0x5bd1ca6b) * -0x3594166b; if (in_stack_00000050._4_4_ < 0x7fffffff) { *(undefined8 *)(unaff_RBP + -0x70) = 0; do { *(code **)(unaff_RBP + -0x70) = FUN_181194940; uVar3 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (**(code **)(unaff_RBP + -0x70))(0,0xb02a); if (1 < uVar2) { FUN_18113eab0(); } } do { uVar2 = 51000; FUN_180c4a8c3(); if ((uVar2 & 0xf700) == 0) { func_0x0001238c2b56(); in(0x47); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } func_0x000180c4b8ec(); uVar3 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); lVar6 = in_stack_00000058 - in_stack_00000070; plVar5 = (longlong *)&stack0xffffffffffffffe8; bVar7 = (longlong)-((in_stack_00000070 ^ 0xffffffffffffffff) + 1) < 0; /* WARNING: Call to offcut address within same function */ puStack_20 = &UNK_180c4aa99; func_0x000180c4aa9c(); if (!bVar7) { puStack_20 = (undefined *)(unaff_RSI + -0x199a); lStack_28 = unaff_RSI + 0x4f5024; lStack_30 = unaff_RSI + -0xb97; plVar5 = &lStack_30; lVar6 = -0x199a; in_R11 = unaff_RSI; } *(longlong *)((longlong)plVar5 + -8) = lVar6 + in_R11; *(longlong *)((longlong)plVar5 + -0x10) = in_R11 + -0xb97; *(longlong *)((longlong)plVar5 + -0x18) = in_R11 + -0x76ecb; /* WARNING: Could not recover jumptable at 0x000180c4ab78. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(in_R11 + 0x4f5024))(); return; } ############ FUN_ 181141d90 size=1098 ############ /* WARNING: Removing unreachable block (ram,0x000181141ddc) */ /* WARNING: Removing unreachable block (ram,0x000181141e54) */ /* WARNING: Removing unreachable block (ram,0x000181141f57) */ /* WARNING: Removing unreachable block (ram,0x000181141deb) */ /* WARNING: Removing unreachable block (ram,0x000181141e29) */ longlong FUN_181141d90(void) { undefined1 uVar1; undefined8 uVar2; ulonglong uVar3; longlong lVar4; code **ppcVar5; undefined2 uVar6; longlong *plVar7; undefined1 *unaff_RDI; uint uVar8; uint uVar9; uint uVar10; int unaff_retaddr; undefined1 auStack_178 [60]; uint local_13c; uint local_f0; uint local_ec; code *local_e8 [22]; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_178; uVar10 = (uint)&stack0x00000000; uVar9 = ((uVar10 & 0x2ff) + 1) * (uVar10 & 0x2ff) + 0x2cd5 & 0x80000001; uVar8 = ((uVar10 & 0x1bff) * (uVar10 & 0x1bff) * 0x10 + 4) % 0x13; local_ec = ((int)(uVar8 | -uVar8) >> 0x1f) * -0x4b12 ^ ((int)(-uVar9 | uVar9) >> 0x1f) * -0x48d2; uVar9 = (uVar10 & 0x28ff) * (uVar10 & 0x28ff) + 1; local_f0 = (0x4380 >> ((byte)(0 >> ((char)uVar9 + (char)(uVar9 / 7) * -7 & 0x1fU)) & 0x1f) | 0xc383U) ^ 0xcff3; do { uVar2 = rdtsc(); uVar6 = (undefined2)((ulonglong)uVar2 >> 0x20); local_13c = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); FUN_181140175(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_13c = (local_13c * -0xae166b >> 0x18 ^ local_13c * -0xae166b) * -0x51caa42f; if (local_13c < 0x7fffffff) { local_e8[0] = (code *)0x0; do { ppcVar5 = local_e8; FUN_181140b90(ppcVar5,local_e8); uVar6 = 0x4a23; *ppcVar5 = FUN_1813bba80; FUN_1811408bc(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar3 = (*local_e8[0])(); if (1 < uVar3) { FUN_18113eab0(); } } /* WARNING: Call to offcut address within same function */ uVar3 = func_0x00018114208f(); uVar1 = in(uVar6); *unaff_RDI = uVar1; plVar7 = (longlong *)(ulonglong)((int)&stack0xfffffffffffffe70 - 0x10); lVar4 = plVar7[2]; plVar7[2] = lVar4 + 0x1ad; plVar7[1] = lVar4 + -0x8e3; *plVar7 = lVar4 + 0x71f0; plVar7[-1] = lVar4 + 0x2f52; plVar7[-2] = lVar4 + 0x1bfc; plVar7[-3] = lVar4 + -0xa0c; plVar7[-4] = lVar4 + 0x8c09; plVar7[-5] = lVar4 + 0x1ded; plVar7[-6] = lVar4 + 0x1ded; plVar7[-7] = lVar4 + 0x52bb; plVar7[-8] = lVar4 + 0x540f; if (-0x5410 < lVar4) { return ((uVar3 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; } lVar4 = FUN_1811421fa(); return lVar4; } ############ FUN_ 181146d00 size=763 ############ /* WARNING: Instruction at (ram,0x000181146e4d) overlaps instruction at (ram,0x000181146e4c) */ void FUN_181146d00(void) { code *pcVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; int unaff_retaddr; undefined1 auStack_b8 [32]; undefined4 local_98; undefined *local_90; uint local_88; undefined8 local_80; undefined8 local_70; undefined *local_68; undefined4 local_60; uint local_5c; code *local_58; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; local_60 = 0x280; uVar4 = (uint)&stack0x00000000 & 0x13ff; uVar4 = (uVar4 * uVar4 * 0x10 + 4) % 0x13; local_5c = ((int)(-uVar4 | uVar4) >> 0x1f) * -0xbecc ^ 0xb9bc; do { FUN_18114714c(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_70 = 0; local_80 = 0xbfe8; local_68 = &DAT_181f0de18; local_90 = &DAT_181f19e00; local_98 = 0xb3; do { uVar2 = rdtsc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x35943b32; local_88 = (uVar4 >> 0x18 ^ uVar4) * -0xae3595; if (local_88 < 0x7fffffff) { do { local_58 = FUN_18141db20; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = FUN_18141db20(0,0x4070); if (1 < uVar3) { FUN_18113eab0(); } } local_70 = 0x20205d37638e3df6; local_90 = (undefined *)CONCAT44(local_90._4_4_,0x638e3df6); FUN_181147025(); pcVar1 = (code *)swi(3); (*pcVar1)(); return; } ############ FUN_ 18114b3b0 size=98 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18114b3b0(void) { int iVar1; FUN_18113eab0(); iVar1 = _Mtx_lock(&DAT_18267b100); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } _DAT_18267b1a0 = _DAT_18267b1a0 + -1; FUN_1811497a0(); iVar1 = _Mtx_unlock(&DAT_18267b100); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } return; } ############ FUN_ 18114b420 size=102 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18114b420(void) { int iVar1; FUN_18113eab0(); iVar1 = _Mtx_lock(&DAT_18267b100); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } _DAT_18267b1a0 = _DAT_18267b1a0 + 1; FUN_1811497a0(); iVar1 = _Mtx_unlock(&DAT_18267b100); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } FUN_181145ea0(); return; } ############ FUN_ 18114c5d0 size=27 ############ void FUN_18114c5d0(undefined8 param_1) { FUN_18113eab0(); FUN_18114b490(param_1); return; } ############ FUN_ 181152c00 size=1757 ############ /* WARNING: Control flow encountered bad instruction data */ void FUN_181152c00(undefined8 param_1,undefined8 param_2,undefined8 param_3) { undefined8 uVar1; ulonglong uVar2; byte bVar3; uint *puVar4; uint uVar5; int iVar6; uint uVar7; undefined4 *puVar8; ulonglong uVar9; longlong *plVar10; ulonglong uVar11; longlong lVar12; longlong unaff_R12; int unaff_retaddr; undefined1 auStack_198 [32]; undefined4 local_178; uint local_174; undefined4 local_170; undefined *local_168; uint local_160; uint local_158; undefined1 *local_150; ulonglong local_148; undefined4 local_140; undefined8 local_128; undefined4 local_11c; uint local_118; code *local_110; undefined8 local_108; undefined8 local_100; undefined8 local_f8; undefined8 local_f0; undefined4 local_e8; longlong local_e0 [4]; undefined4 local_c0 [30]; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_198; uVar5 = (uint)&stack0x00000000 & 0x2dff; iVar6 = uVar5 * uVar5 + 1; uVar5 = (iVar6 >> 4) + (iVar6 >> 1) + iVar6 * 0x24924924 >> 0x1d; if (((int)(uVar5 - 7) >> 0x1f & uVar5 & 0x28) == 0) { if (((ulonglong)&stack0x00000000 & 0x600) == 0) { bVar3 = 0; } else { uVar5 = (uint)&stack0x00000000 & 0x37f; iVar6 = (uVar5 + 2) * (uVar5 + 1) * uVar5; bVar3 = (byte)(((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e); } local_118 = 0x6cdb >> (bVar3 & 0x1f); } else { local_118 = 0x6cdb; } local_118 = local_118 ^ 0x663b; local_11c = 0x380; local_148 = 0; local_128 = 0xb30; local_168 = &DAT_1805cb61c; local_150 = &LAB_1805cc14c; do { uVar1 = rdtsc(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * 0x1a85ed55; local_160 = (uVar5 >> 0x18 ^ uVar5) * -0x166a13ad; local_108 = param_1; local_100 = param_3; local_f8 = param_2; local_f0 = param_2; if (local_160 < 0x9a90e7f) { do { local_110 = FUN_1813bba80; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar2 = FUN_1813bba80(0,0x92e3); if (1 < uVar2) { FUN_18113eab0(); } } do { plVar10 = local_e0; puVar8 = local_c0; puVar4 = &local_174; FUN_181153327(); *puVar4 = 0x3116009c; *puVar8 = 0x5d; *plVar10 = 0x181152f17; FUN_181153327(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ((local_174 << 4 | local_174 >> 0x1c) & 0xd2d2d2d2 | (local_174 >> 4 | local_174 << 0x1c) & 0x2d2d2d2d) ^ 0x4cdb5b72; uVar5 = ((uVar5 & 0xf0f0f0f) << 4 | uVar5 >> 4 & 0xf0f0f0f) + 0xd14d53b1; uVar7 = uVar5 * 0x40000000 | uVar5 >> 2; uVar5 = (uVar7 >> 0x12 ^ uVar7) >> 1 & 0x1fff; uVar7 = (uVar5 << 0x12 | uVar5) * 2 ^ uVar7; uVar5 = (uVar7 >> 9 | uVar7 << 0x17) + 0xa27cf302; do { local_e8 = 0x13; local_e0[1] = 0x181152fd7; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_e0[0] = (int)(uVar5 >> 0x19 | uVar5 * 0x80) + local_e0[0]; local_174 = 0; local_140 = 0; uVar11 = 0x1826222d4; *(longlong *)(local_e0[0] + 4) = *(longlong *)(local_e0[0] + 4) + (ulonglong)((uint)((ulonglong)dvs_0x3e72c9fd_mfort6317_ >> 0x14) & 0x1063c82); uVar2 = *(ulonglong *)(local_e0[0] + 4); uVar9 = (ulonglong)((uint)((uVar2 >> 0x1e ^ uVar2) >> 2) & 0x7ffffff); uVar2 = (uVar9 << 0x1e | uVar9) << 2 ^ uVar2; uVar2 = (uVar2 >> 0x21 | uVar2 << 0x1f) + 0x5fb3300dab489f57; uVar5 = (uint)((uVar2 >> 0x18 ^ uVar2) >> 0x15) & 0x3fff; uVar2 = (((ulonglong)uVar5 << 0x18 | (ulonglong)uVar5) << 0x15 ^ uVar2) + 0xf68993b5a69cab04; uVar9 = (uVar2 >> 0x35 | uVar2 * 0x800) ^ 0x82551130ffc2b3c2; uVar5 = (uint)((uVar9 >> 0x19 ^ uVar9) >> 5) & 0x7f; uVar2 = ((ulonglong)uVar5 << 0x19 | (ulonglong)uVar5) << 5 ^ uVar9; uVar2 = (uVar2 >> 4 | uVar9 << 0x3c) & 0xd2d2d2d2d2d2d2d2 | (uVar2 << 4 | uVar9 >> 0x3c) & 0x2d2d2d2d2d2d2d2d; *(ulonglong *)(local_e0[0] + 4) = uVar2; dvs_0x3e72c9fd_mfort6317_ = (uint *)((longlong)dvs_0x3e72c9fd_mfort6317_ + (uVar2 >> 0x15 & 0xe4000a00)); local_128 = CONCAT44(local_128._4_4_,(int)(*(ulonglong *)(local_e0[0] + 4) >> 0x15)) & 0xffffffff7fffffff; local_158 = (uint)(*(ulonglong *)(local_e0[0] + 4) >> 0x19) ^ 0x6f20b575; local_148 = *(ulonglong *)(local_e0[0] + 4) ^ 0xf2c7e3627bec4017; do { uVar2 = 0; FUN_181152be4(); lVar12 = unaff_R12 + uVar11; unaff_R12 = ~(uVar11 - lVar12) + 1; if ((uVar2 & 0xc0) != 0) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } uVar11 = lVar12 - unaff_R12; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_170 = 0x1b873593; local_178 = 0xe6546b64; FUN_181153328(0xcd,0xe6546b64,(uVar11 ^ 0xffffffffffffffff) + 1); return; } ############ FUN_ 1811542f0 size=2742 ############ /* WARNING: Removing unreachable block (ram,0x000181154476) */ undefined8 FUN_1811542f0(undefined8 *param_1) { undefined8 *puVar1; int iVar2; ulonglong uVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 uVar6; uint uVar7; uint *puVar8; longlong *plVar9; uint uVar10; ulonglong uVar11; longlong lVar12; IMAGE_DOS_HEADER *pIVar13; uint uVar14; IMAGE_DOS_HEADER *pIVar15; uint uVar16; undefined4 *puVar17; undefined4 *puVar18; longlong lVar19; int unaff_retaddr; undefined1 auStack_1a8 [32]; undefined4 *local_188; uint local_180; int local_17c; int local_178; undefined8 local_170; uint local_168 [2]; undefined8 local_160; uint local_158; uint local_154; uint local_150; undefined8 *local_140; undefined4 local_138; uint local_134; undefined8 local_130; uint local_128; uint local_124; code *local_120; undefined4 local_118; undefined4 local_114; undefined4 *local_108; longlong local_100; longlong local_f8; longlong local_f0; undefined1 local_e8 [8]; undefined1 local_e0 [8]; undefined1 local_d8 [8]; undefined1 local_d0 [8]; undefined1 local_c8 [8]; undefined1 local_c0 [32]; undefined8 local_a0; undefined8 *local_98; undefined4 local_70 [14]; ulonglong local_38; local_a0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_1a8; uVar14 = 0xb370ac2d; uVar16 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x600) == 0) { uVar7 = (uVar16 & 0x38ff) * (uVar16 & 0x38ff) + 1; iVar2 = (uVar7 / 7) * 7; } else { uVar7 = (uVar16 & 0x1bff) * (uVar16 & 0x1bff) * 0x10 + 4; iVar2 = (uVar7 / 0x13) * 0x13; } local_128 = ((int)(-(uVar7 - iVar2) | uVar7 - iVar2) >> 0x1f) * -0xf2d2 ^ 0xf142; uVar16 = ((uVar16 & 0x65ff) * (uVar16 & 0x65ff) + 1) % 7; local_124 = ((int)(-uVar16 | uVar16) >> 0x1f) * -0x2a74 ^ 0x2a14; *param_1 = &DAT_1821dbf98; local_138 = 1; do { uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); pIVar15 = &IMAGE_DOS_HEADER_180000000; local_130 = 0; local_160 = 0x48e0; local_188 = &DAT_18149cd38; local_170 = 0x1814a1618; local_140 = param_1; local_98 = param_1; do { puVar8 = &local_134; FUN_181153623(); *puVar8 = 0x80341a7c; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar16 = ~(~(((local_134 ^ 0x8250d77) >> 0xc | (local_134 ^ 0x8250d77) << 0x14) + 0x40538a28) + 0xc81d2db0) + 0x661f047d; local_130 = CONCAT44(local_130._4_4_,(uVar16 * 0x1000000 | uVar16 >> 8) + 0xba9a5349); do { puVar8 = local_168; FUN_181152684(puVar8,local_168); uVar6 = rdtsc(); *puVar8 = (uint)uVar6 ^ (uint)((ulonglong)uVar6 >> 0x20); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); local_168[0] = (local_168[0] * -0xae3595 >> 0x18 ^ local_168[0] * -0xae3595) * -0x460113ad; if (local_168[0] < 0x4924927f) { do { local_120 = FUN_181194940; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar3 = FUN_181194940(0,0x72a6); if (1 < uVar3) { FUN_18113eab0(); } } local_160 = 0x9bb9824cc53f487e; lVar19 = local_170 - (longlong)local_188; lVar12 = 0; local_108 = local_188; uVar16 = 0x4c57af76; local_180 = -0x3361d2af; local_17c = -0x19ab949c; local_170 = (CONCAT44(local_170._4_4_,0x14e8000) | 0x29d) ^ 0x1ac9b70e; local_100 = lVar19; do { FUN_18115644e(0x560c); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); if (lVar19 == 0) { LAB_1811549f9: puVar1 = local_140; do { local_118 = 0x7d; local_f8 = 0x181154a27; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_178 = 0x14cd84d; local_170._0_4_ = uVar14; do { local_154 = 0x15dff7c4; local_114 = 0x19; local_f0 = 0x181154af7; FUN_181154fa1(); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar14 = (local_154 << 8 | local_154 >> 0x18) & 0xbc43bc43 | (local_154 >> 8 | local_154 << 0x18) & 0x43bc43bc; uVar14 = (uVar14 >> 4 | uVar14 << 0x1c) & 0x87878787 | (uVar14 << 4 | uVar14 >> 0x1c) & 0x78787878; uVar14 = (uVar14 >> 4 | uVar14 << 0x1c) & 0xd2d2d2d2 | (uVar14 << 4 | uVar14 >> 0x1c) & 0x2d2d2d2d; uVar7 = ~(uVar14 << 6 | uVar14 >> 0x1a); uVar14 = (uVar7 >> 10 ^ uVar7) >> 5 & 0x7f; uVar7 = (uVar14 << 10 | uVar14) << 5 ^ uVar7; uVar10 = uVar7 >> 0x15 | uVar7 << 0xb; uVar14 = ((uVar7 & 0x1fffff) >> 1 ^ uVar10) & 0x7ff; uVar10 = uVar10 ^ (uVar14 << 0xc | uVar14); lVar19 = local_178 + local_f8; lVar12 = ((longlong)(int)(uVar10 >> 0x10 | uVar10 << 0x10) & 0xfffffffff4a40b5bU | (ulonglong)((uVar10 << 0x10 | uVar10 >> 0x10) & 0xb5bf4a4)) + local_f0; local_178 = 0; local_154 = 0; *(longlong *)(lVar19 + 4) = *(longlong *)(lVar19 + 4) + (ulonglong)((uint)(*(ulonglong *)(lVar12 + 4) >> 1) & 0x4401030); uVar3 = *(ulonglong *)(lVar19 + 4); uVar14 = ((uint)(uVar3 >> 0x2a) ^ (uint)(uVar3 >> 0x10)) & 0xfffff; uVar11 = ((ulonglong)uVar14 << 0x1a | (ulonglong)uVar14) << 0x10 ^ uVar3; uVar11 = (uVar11 << 4 | uVar11 >> 0x3c) & 0x8787878787878787 | (uVar11 >> 4 | uVar3 << 0x3c) & 0x7878787878787878; uVar3 = (ulonglong)(((uint)(uVar11 >> 0xc) ^ (uint)uVar11) & 0x7ff); uVar3 = ((uVar11 ^ (uVar3 << 0xc | uVar3)) << 6 | uVar11 >> 0x3a) + 0x3164bf90e7a4bb77; uVar3 = (uVar3 >> 2 & 0xcccccccccccccccc | uVar3 << 0x3e | uVar3 * 4 & 0x3333333333333333 | uVar3 >> 0x3e) + 0x4676beed1a912512; uVar3 = ((uVar3 >> 0x10 | uVar3 << 0x30) & 0x88b0774f88b0774f | (uVar3 * 0x10000 | uVar3 >> 0x30) & 0x774f88b0774f88b0) + 0xedc45bbc449e8750; *(ulonglong *)(lVar19 + 4) = uVar3; plVar9 = (longlong *)(lVar12 + 4); *plVar9 = *plVar9 + (uVar3 >> 0xe & 0x80825141); local_170 = CONCAT44(local_170._4_4_,(int)(*(ulonglong *)(lVar19 + 4) >> 0x16)) & 0xffffffff7fffffff; local_180 = (uint)(*(ulonglong *)(lVar19 + 4) >> 0x1f) ^ 0x54af611e; local_188 = (undefined4 *)(*(ulonglong *)(lVar19 + 4) ^ 0x3d474d34a2a479b9); puVar4 = (undefined8 *)FUN_181353210(local_c0); puVar5 = (undefined8 *)FUN_181353df0(local_c8); uVar6 = FUN_181155b70(local_d0); uVar6 = FUN_181245100(uVar6,local_d8,*puVar5); uVar6 = FUN_181245100(uVar6,local_e0,*puVar4); uVar6 = FUN_181245100(uVar6,local_e8,"Presets"); FUN_1812458c0(puVar1,uVar6); FUN_180473140(local_e8); FUN_180473140(local_e0); FUN_180473140(local_d8); FUN_180473140(local_d0); FUN_18124a7e0(local_c8); FUN_18124a7e0(local_c0); local_150 = uVar16; uVar6 = FUN_181154e00(); return uVar6; } LAB_1811547f3: puVar17 = (undefined4 *)((longlong)local_108 + lVar12); puVar18 = puVar17; if ((pIVar15 != (IMAGE_DOS_HEADER *)0x0) && (lVar19._0_1_ = pIVar15->e_magic[0], lVar19._1_1_ = pIVar15->e_magic[1], lVar19._2_2_ = pIVar15->e_cblp, lVar19._4_2_ = pIVar15->e_cp, lVar19._6_2_ = pIVar15->e_crlc, -1 < lVar19)) { local_188 = (undefined4 *)0x2621fc0; pIVar13 = pIVar15; do { if (puVar17 < IMAGE_DOS_HEADER_180000000.e_magic + lVar19 + 8) { pIVar15 = pIVar13; if (-1 < lVar19) { plVar9 = (longlong *)(lVar19 + 0x180000000); if (plVar9 < puVar17 + 1) { local_70[0] = *puVar17; goto LAB_181154870; } } break; } pIVar15 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; lVar19._0_2_ = pIVar13->e_cparhdr; lVar19._2_2_ = pIVar13->e_minalloc; lVar19._4_2_ = pIVar13->e_maxalloc; lVar19._6_2_ = pIVar13->e_ss; pIVar13 = pIVar15; } while (-1 < lVar19); } goto LAB_181154894; while (plVar9 = (longlong *)(lVar19 + 0x180000000), plVar9 < puVar17 + 1) { LAB_181154870: *(longlong *)(&stack0x00017fffff90 + (lVar19 - (longlong)puVar17)) = *plVar9 + -0x180000000; pIVar13 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; lVar19 = *(longlong *)pIVar13; puVar18 = local_70; if (lVar19 < 0) break; } LAB_181154894: do { puVar8 = &local_158; uVar7 = FUN_1811564fb(0x560c,(longlong)puVar18 + 0x3c3f003d,0); *puVar8 = uVar7; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar14 = (uVar14 + uVar16) * 0x801; uVar7 = uVar16 & 0xf; if (((uVar7 + 1) * (uVar7 + 1) * uVar7 * uVar7 & 2) != 0) { do { uVar14 = uVar14 ^ uVar14 << 4; lVar12 = lVar12 + 4; } while (((uVar7 + 1) * (uVar7 + 1) * uVar7 * uVar7 & 2) != 0); } uVar7 = uVar16 & 0x3f; if (((uVar7 + 1) * (uVar7 + 1) * uVar7 * uVar7 & 3) != 0) { do { uVar14 = uVar14 + 0x14990a49; lVar12 = lVar12 + 4; } while (((uVar7 + 1) * (uVar7 + 1) * uVar7 * uVar7 & 3) != 0); } local_158 = (local_158 * local_180 * 0x8000 | local_158 * local_180 >> 0x11) * (uint)local_170; uVar16 = ((uVar16 ^ local_158) << 0xd | (uVar16 ^ local_158) >> 0x13) * 5 + local_17c; lVar12 = lVar12 + 4; if (lVar12 == local_100) goto LAB_1811549f9; goto LAB_1811547f3; } ############ FUN_ 181165570 size=1504 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x0001811656d6) overlaps instruction at (ram,0x0001811656d4) */ /* WARNING: Removing unreachable block (ram,0x000181165679) */ undefined8 FUN_181165570(longlong param_1) { uint uVar1; undefined8 uVar2; ulonglong uVar3; uint *puVar4; code **ppcVar5; undefined1 uVar6; int unaff_retaddr; undefined1 local_1a8 [32]; undefined8 local_188; undefined4 local_180; undefined4 uStack_17c; undefined **local_178; undefined *local_170; undefined8 local_160; undefined8 local_158; uint local_150 [7]; uint local_134; undefined4 local_130; undefined1 local_128 [8]; undefined4 local_120; code *local_118; longlong local_110; undefined8 local_e8; undefined8 local_d8; undefined8 local_d0 [5]; undefined8 local_a8; ulonglong local_30; local_a8 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)local_1a8; local_130 = 0x8c0; uVar1 = (uint)&stack0x00000000 & 0xdff; uVar1 = (uVar1 + 1) * uVar1 + 0xab5 & 0x80000001; local_134 = (int)(-uVar1 | uVar1) >> 0x1f & 0xd956U ^ 0xdc96; local_110 = param_1; local_e8 = FUN_1811316e0(0x40); uVar2 = FUN_181174990(local_e8); do { FUN_181164784(); FUN_1811651ab(); uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); _local_180 = CONCAT44(uStack_17c,0x811c9dc5); local_160 = 0x10; local_178 = &PTR__guard_check_icall_181bab6a8; local_170 = &DAT_181bab6b8; local_188 = 0x9997df9e05a9f7d4; local_158 = 0x5a9f7d4; local_d8 = uVar2; FUN_180485df0(*(undefined8 *)(param_1 + 0x18),&local_d8); do { local_120 = 0x3b3f9608; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); local_d0[0] = uVar2; FUN_180485df0(param_1 + 8,local_d0); do { puVar4 = local_150; func_0x0001811640ba(puVar4,local_150); uVar2 = rdtsc(); *puVar4 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); local_150[0] = (local_150[0] * -0x50283595 >> 0x18 ^ local_150[0] * -0x50283595) * 0x1a8585eb; if (local_150[0] < 0x6666667f) { local_118 = (code *)0x0; do { ppcVar5 = &local_118; FUN_181164e79(ppcVar5,&local_118); *ppcVar5 = FUN_18141db20; FUN_181165479(); uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); uVar3 = (*local_118)(); if (1 < uVar3) { FUN_18113eab0(); } } FUN_18048c070(local_128); do { uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } uVar3 = (ulonglong)uVar1; } while (uVar1 != 0); uVar6 = unaff_retaddr == 0; /* WARNING: Call to offcut address within same function */ func_0x000181165a1f(); uVar2 = func_0x00014599a2cd(); if ((bool)uVar6) { return uVar2; } *(char *)(uVar3 - 9) = *(char *)(uVar3 - 9) - (char)uVar3; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 18119b4b0 size=2593 ############ /* WARNING: Removing unreachable block (ram,0x00018119b558) */ /* WARNING: Removing unreachable block (ram,0x00018119b4f0) */ /* WARNING: Removing unreachable block (ram,0x00018119b76d) */ undefined8 FUN_18119b4b0(longlong param_1,longlong param_2) { uint *_Memory; undefined8 *puVar1; int iVar2; undefined4 *puVar3; ulonglong uVar4; undefined8 uVar5; uint uVar6; uint uVar7; code **ppcVar8; ulonglong uVar9; undefined8 *puVar10; undefined8 *puVar11; undefined1 *puVar12; uint uVar13; uint uVar14; longlong in_R10; longlong in_R11; longlong lVar15; undefined8 *puVar16; bool bVar17; char cVar18; char cVar19; int unaff_retaddr; undefined1 auStack_b8 [32]; undefined4 *local_98; code *local_90; longlong local_88 [3]; undefined8 local_70; undefined8 *local_68; undefined8 local_60; longlong local_58; undefined8 *local_50; undefined8 *local_48; puVar12 = auStack_b8; local_88[1] = 0xfffffffffffffffe; uVar13 = (uint)&stack0x00000000 & 0x12ff; uVar13 = (uVar13 * uVar13 + 1) % 7; uVar14 = (uint)&stack0x00000000 & 0xaff; uVar14 = (uVar14 * uVar14 * 0x10 + 4) % 0x13; FUN_18049c9e0(local_88,param_2); puVar1 = *(undefined8 **)(param_1 + 0x38); puVar11 = puVar1; if (*(char *)((longlong)puVar1[1] + 0x19) == '\0') { local_88[2] = local_88[0]; puVar10 = puVar1; puVar16 = (undefined8 *)puVar1[1]; do { puVar11 = puVar16; local_70 = puVar11[4]; iVar2 = FUN_18048cbc0(local_70,local_88[0]); if (iVar2 < 0) { puVar16 = (undefined8 *)puVar11[2]; puVar11 = puVar10; } else { puVar16 = (undefined8 *)*puVar11; } puVar10 = puVar11; } while (*(char *)((longlong)puVar16 + 0x19) == '\0'); } local_68 = puVar1; if (puVar11 != puVar1) { local_60 = puVar11[4]; local_58 = local_88[0]; iVar2 = FUN_18048cbc0(local_88[0]); puVar16 = puVar11; if (-1 < iVar2) goto LAB_18119b62d; } puVar11 = puVar1; puVar16 = local_50; local_48 = puVar1; LAB_18119b62d: local_50 = puVar16; _Memory = (uint *)(local_88[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar6 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar3 = &DAT_1813665b8; uVar6 = (DAT_1813665b8 + 0x62b5eb3e) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665bc) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665c0) * 0x401; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = (DAT_1813665c4 + (uVar6 ^ uVar6 >> 6)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665c8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665cc) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665d0) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665d4) * 0x401; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = (DAT_1813665d8 + (uVar6 ^ uVar6 >> 6)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665dc) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665e0) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665e4) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665e8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665ec) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665f0) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665f4) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665f8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813665fc) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366600) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366604) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366608) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_18136660c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366610) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366614) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366618) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_18136661c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366620) * 0x401; do { uVar5 = rdtsc(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = ((uint)uVar5 ^ (uint)((ulonglong)uVar5 >> 0x20)) * -0x35947a15; local_98 = puVar3; if ((uVar7 >> 0x18 ^ uVar7) * -0x51ca13ad < 0xb6be0) { local_90 = (code *)0x0; do { ppcVar8 = &local_90; FUN_181199c84(ppcVar8,&local_90); *ppcVar8 = FUN_1813f2240; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = (*local_90)(0,0x8429); if (1 < uVar4) { FUN_18113eab0(); } } uVar6 = (DAT_181366624 + (uVar6 ^ uVar6 >> 6)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366628) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_18136662c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366630) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366634) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366638) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_18136663c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366640) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366644) * 0x401; uVar4 = (ulonglong)uVar6; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366648) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_18136664c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366650) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366654) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366658) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_18136665c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366660) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366664) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366668) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_18136666c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366670) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366674) * 0x401; uVar7 = ((uVar6 >> 6 ^ uVar6) + DAT_181366678) * 0x401; uVar7 = uVar7 ^ uVar7 >> 6; bVar17 = uVar7 == 0; uVar6 = uVar7; do { cVar19 = '\0'; cVar18 = (int)uVar6 < 0; uVar9 = 0; FUN_18119ae31(); if (bVar17 || cVar19 != cVar18) { lVar15 = in_R11 + in_R10; code_r0x00018119bc8e: in_R11 = -(in_R10 - lVar15); in_R10 = lVar15 + (in_R10 - lVar15); } else if ((uVar9 & 0xc1) != 0) { puVar11 = (undefined8 *)(ulonglong)(uint)((int)puVar11 + (int)uVar4); lVar15 = in_R11; goto code_r0x00018119bc8e; } uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } bVar17 = false; if (uVar6 == 0) { uVar6 = (DAT_18136667c + uVar7) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366680) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366684) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366688) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_18136668c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366690) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366694) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_181366698) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_18136669c) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813666a0) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813666a4) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813666a8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813666ac) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813666b0) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + DAT_1813666b4) * 0x401; uVar6 = uVar6 >> 6 ^ uVar6 ^ 0x1527c836; uVar6 = (uint)((uVar6 >> 1 | (uint)((uVar6 & 1) != 0) << 0x1f) == 0x98ac19c0); uVar9 = (ulonglong)uVar6; if (uVar6 * 0x1d != 0) { do { *(undefined4 **)(puVar12 + -8) = puVar3; *(longlong *)(puVar12 + -0x10) = in_R10; *(ulonglong *)(puVar12 + -0x18) = uVar9; register0x00000020 = (BADSPACEBASE *) ((-((longlong)register0x00000020 + -0x10a0e70d) ^ 0xffffffffffffffffU) + 0x10a0e70e); lVar15 = -(longlong)(int)(((int)(-uVar14 | uVar14) >> 0x1f) * -0xb065 ^ 0xba95); uVar9 = *(ulonglong *)(puVar12 + lVar15 + 0xad8); in_R10 = *(longlong *)(puVar12 + lVar15 + 0xae0); puVar3 = *(undefined4 **)(puVar12 + lVar15 + 0xae8); puVar12 = puVar12 + lVar15 + 0xaf0; uVar13 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); return puVar11[5]; } uVar5 = thunk_FUN_1805a9280((int)(-uVar13 | uVar13) >> 0x1f & 0x3b16U ^ 0x3866, (-uVar4 ^ 0xffffffffffffffff) + 1, &stack0x00000000 + param_2 + (param_2 - (longlong)(&stack0x00000000 + param_2))); return uVar5; } } while( true ); } ############ FUN_ 181185560 size=1823 ############ /* WARNING: Removing unreachable block (ram,0x000181185770) */ /* WARNING: Removing unreachable block (ram,0x00018118577b) */ /* WARNING: Removing unreachable block (ram,0x000181185772) */ /* WARNING: Removing unreachable block (ram,0x000181185797) */ void FUN_181185560(undefined8 param_1,undefined8 param_2) { longlong *plVar1; longlong lVar2; undefined8 uVar3; uint uVar4; int iVar5; uint *puVar6; ulonglong uVar7; ulonglong uVar8; uint uVar9; uint uVar10; uint *puVar11; ulonglong uVar12; longlong lVar13; uint uVar14; longlong lVar15; int unaff_retaddr; undefined1 auStack_1b8 [32]; undefined4 local_198; undefined *local_188; ulonglong local_180; undefined *local_178; uint local_16c; uint local_168; undefined4 local_164; uint local_160; uint local_158; uint local_14c; uint local_13c; uint local_138; undefined8 local_130; uint local_120 [2]; code *local_118; undefined8 local_f8; undefined4 local_f0; longlong local_e8; longlong local_e0; undefined4 local_c8; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_1b8; uVar14 = (uint)&stack0x00000000; local_198 = 0; uVar9 = uVar14 & 0x2bf; iVar5 = (uVar14 & 0x60ff) * (uVar14 & 0x60ff) + 1; local_13c = 0xf48 - ((uVar9 + 2) * (uVar9 + 1) * uVar9) % 3 ^ 0xa58; uVar14 = (((uVar14 & 0x7ff) + 1) * (uVar14 & 0x7ff) + 7) % 0x51; uVar9 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar9 = (int)(uVar9 - 7) >> 0x1f & uVar9; local_138 = (int)((-uVar9 | uVar9) ^ (-uVar14 | uVar14)) >> 0x1f ^ 0x2f0; local_f8 = param_1; local_130 = __RTDynamicCast(param_2,0,&juce::ChangeBroadcaster::RTTI_Type_Descriptor, &juce::UndoManager::RTTI_Type_Descriptor); local_188 = &DAT_181415734; local_178 = &DAT_18141592c; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_180 = 0xeae33acbcd12d31d; local_164 = 0xcd12d31d; do { local_16c = 0xd7d3ebf0; local_c8 = 0x1d; local_e8 = 0x1811857e7; func_0x000181187854(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_16c = local_16c ^ 0x9d2c763d; uVar9 = ((local_16c >> 8 | local_16c << 0x18) & 0xda25da25 | (local_16c << 8 | local_16c >> 0x18) & 0x25da25da) + 0x57f3a86f; uVar9 = (uVar9 >> 4 | uVar9 * 0x10000000) & 0xa5a5a5a5 | (uVar9 * 0x10 | uVar9 >> 0x1c) & 0x5a5a5a5a; uVar14 = (uVar9 >> 0x10 | uVar9 << 0x10) + 0xc3b1373e; uVar10 = uVar14 * 0x8000 | uVar14 >> 0x11; uVar9 = ((uVar14 & 0x1ffff) >> 6 ^ uVar10) >> 9 & 1; uVar10 = uVar10 ^ (uVar9 << 0x15 | uVar9) << 9; local_16c = (uVar10 >> 8 | (uVar14 >> 0x11) << 0x18) & 0xf20df20d | (uVar10 << 8 | uVar10 >> 0x18) & 0xdf20df2; do { local_14c = 0xc78ae62a; local_f0 = 0x17; local_e0 = 0x1811858b7; FUN_181184ebf(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); lVar13 = (int)local_16c + local_e8; uVar10 = local_14c >> 4; uVar4 = local_14c << 0x1c; uVar9 = local_14c << 4; uVar14 = local_14c >> 0x1c; local_16c = 0; local_14c = 0; uVar9 = ((uVar9 | uVar14) & 0xc3c3c3c3 | (uVar10 | uVar4) & 0x3c3c3c3c) ^ 0x880fda64; uVar14 = uVar9 >> 0x10 | uVar9 << 0x10; uVar14 = ~(((uVar14 << 8 | (uVar9 & 0xffff) >> 8) & 0xc23dc23d | (uVar14 >> 8 | (uVar9 >> 0x10) << 0x18) & 0x3dc23dc2) ^ 0xa300de10); uVar9 = (uVar14 >> 0x10 ^ uVar14) >> 1 & 0x7fff; uVar14 = uVar14 ^ (uVar9 << 0x10 | uVar9) * 2; lVar15 = (int)(((uVar14 >> 4 | uVar14 << 0x1c) & 0x96969696 | (uVar14 << 4 | uVar14 >> 0x1c) & 0x69696969) + 0x2e11bd49) + local_e0; *(longlong *)(lVar13 + 4) = *(longlong *)(lVar13 + 4) + (*(ulonglong *)(lVar15 + 4) >> 0xf & 0xa009a010); do { puVar11 = local_120; puVar6 = &local_168; FUN_181183d6c(); uVar3 = rdtsc(); uVar9 = (int)uVar3 + (int)((ulonglong)uVar3 >> 0x20); *puVar11 = uVar9; lVar2 = (((ulonglong)uVar9 * 0x10001 >> 10) - 0x498f5584) + (ulonglong)uVar9 * 0x20002; uVar9 = (uint)lVar2; *puVar6 = (uVar9 ^ (uVar9 * 0xc00 | (uint)((ulonglong)(lVar2 * 3) >> 0x36)) + 0x3a6392f9) & 0x28b35bea; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); *(int *)(lVar13 + 8) = *(int *)(lVar13 + 8) + (local_168 ^ 0xad9f3dcb); *(int *)(lVar13 + 4) = *(int *)(lVar13 + 4) + (local_168 ^ 0x1583b2aa); uVar7 = *(ulonglong *)(lVar13 + 4); uVar12 = ((uVar7 << 0x10 | uVar7 >> 0x30) & 0x35b9ca4635b9ca46 | (uVar7 >> 0x10 | uVar7 << 0x30) & 0xca4635b9ca4635b9) + 0x2c62d0f4fd200617; uVar9 = ((uint)(uVar12 >> 0x2c) ^ (uint)(uVar12 >> 8)) & 0x7f; uVar7 = ((ulonglong)uVar9 << 0x24 | (ulonglong)uVar9) << 8 ^ uVar12; uVar8 = uVar7 << 0xb | uVar12 >> 0x35; uVar7 = (uVar8 >> 2 | (uVar12 >> 0x35) << 0x3e) & 0x9999999999999999 | (uVar8 << 2 | (uVar7 & 0x1fffffffffffff) >> 0x33) & 0x6666666666666666; uVar9 = (uint)((uVar7 >> 0x1a ^ uVar7) >> 3) & 0x7ffff; uVar7 = ((ulonglong)uVar9 << 0x1a | (ulonglong)uVar9) << 3 ^ uVar7; uVar7 = (uVar7 >> 0xb | uVar7 << 0x35) ^ 0x4475a330011c596d; uVar7 = (uVar7 >> 8 | uVar7 << 0x38) & 0x906f906f906f906f | (uVar7 << 8 | uVar7 >> 0x38) & 0x6f906f906f906f90; *(ulonglong *)(lVar13 + 4) = uVar7; plVar1 = (longlong *)(lVar15 + 4); *plVar1 = *plVar1 + (uVar7 >> 8 & 0xfc042022); local_168 = (uint)(*(ulonglong *)(lVar13 + 4) >> 0x11) & 0x7fffffff; local_158 = (uint)(*(ulonglong *)(lVar13 + 4) >> 0xd) ^ 0x53610427; local_180 = *(ulonglong *)(lVar13 + 4) ^ 0x9e5b4c42616c8a76; do { uVar3 = rdtsc(); local_160 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); FUN_1811874ca(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_160 = (local_160 * -0x4601166b >> 0x18 ^ local_160 * -0x4601166b) * -0x46014602; if (local_160 < 0x20a32ff) { do { local_118 = FUN_181194940; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar7 = FUN_181194940(0,0xd549); if (1 < uVar7) { FUN_18113eab0(); } } FUN_181185cac(); return; } ############ FUN_ 181194970 size=1105 ############ /* WARNING: Instruction at (ram,0x000181194b21) overlaps instruction at (ram,0x000181194b1e) */ /* WARNING: Removing unreachable block (ram,0x0001811949f0) */ void FUN_181194970(undefined8 param_1,undefined8 param_2) { undefined1 uVar1; undefined8 uVar2; uint uVar3; int iVar4; uint uVar5; ulonglong uVar6; uint *puVar7; code **ppcVar8; undefined *puVar9; uint uVar10; ulonglong uVar11; longlong in_FS_OFFSET; int unaff_retaddr; undefined1 auStack_1b8 [32]; undefined *local_198; undefined *local_190; undefined8 local_188; undefined8 local_170; uint local_168 [10]; uint local_140; uint local_13c; undefined8 local_138; code *local_128 [27]; ulonglong local_50; local_50 = DAT_182615970 ^ (ulonglong)auStack_1b8; uVar5 = (uint)&stack0x00000000; uVar3 = ((uVar5 & 0x16ff) * (uVar5 & 0x16ff) + 1) % 7; iVar4 = (uVar5 & 0x66ff) * (uVar5 & 0x66ff) + 1; uVar10 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar10 = (int)(uVar10 - 7) >> 0x1f & uVar10; local_13c = ((int)(-uVar10 | uVar10) >> 0x1f) * -0xd95b ^ ((int)(uVar3 | -uVar3) >> 0x1f) * -0xd22b; if (((ulonglong)&stack0x00000000 & 0x1f8) == 0) { uVar3 = 0; } else { uVar5 = uVar5 & 0x23f; uVar3 = ((uVar5 + 2) * (uVar5 + 1) * uVar5) % 3; } uVar11 = (ulonglong)uVar3; local_140 = 0xad86 - uVar3 ^ 0xa5b6; local_170 = param_2; local_138 = param_1; do { FUN_18119465a(0x7504); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar6 = 0x7504; FUN_181195a53(); uVar11 = ~uVar11 + 1; if ((uVar11 == 0) && ((uVar6 & 0x43) != 0)) { *(int *)(uVar6 - 0x7d) = *(int *)(uVar6 - 0x7d) + -1; func_0x000149529428(); } else { uVar11 = (uVar11 ^ 0xffffffffffffffff) + 1; } FUN_181192efa(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { puVar7 = local_168; FUN_181196797(puVar7,local_168); uVar2 = rdtsc(); *puVar7 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_168[0] = (local_168[0] * 0x5bd1c4ce >> 0x18 ^ local_168[0] * 0x5bd1c4ce) * -0x13ac12ab; if (local_168[0] < 0x7fffffff) { local_128[0] = (code *)0x0; do { ppcVar8 = local_128; FUN_181194e78(ppcVar8,local_128); *ppcVar8 = FUN_18141db20; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar11 = (*local_128[0])(0,0x596c); if (1 < uVar11) { FUN_18113eab0(); } } local_188 = 0; local_198 = &DAT_181fadcd8; puVar9 = &DAT_181fbdcb8; local_190 = puVar9; /* WARNING: Call to offcut address within same function */ uVar2 = func_0x000181194ce7(); LOCK(); uVar1 = *(undefined1 *)(in_FS_OFFSET + 0x14862a82c); *(undefined1 *)(in_FS_OFFSET + 0x14862a82c) = (char)((ulonglong)uVar2 >> 8); UNLOCK(); uVar3 = *(uint *)(puVar9 + CONCAT62((int6)((ulonglong)uVar2 >> 0x10),CONCAT11(uVar1,(char)uVar2)) + 0x34d0000); *(uint *)(puVar9 + CONCAT62((int6)((ulonglong)uVar2 >> 0x10),CONCAT11(uVar1,(char)uVar2)) + 0x34d0000) = uVar3 >> 0xb | uVar3 << 0x16; FUN_181194de7(); return; } ############ FUN_ 1811bb600 size=4029 ############ /* WARNING: Instruction at (ram,0x0001811bbe6f) overlaps instruction at (ram,0x0001811bbe6c) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001811bc881) */ /* WARNING: Removing unreachable block (ram,0x0001811bbc6b) */ /* WARNING: Removing unreachable block (ram,0x0001811bb67d) */ /* WARNING: Removing unreachable block (ram,0x0001811bbf2f) */ /* WARNING: Removing unreachable block (ram,0x0001811bc78b) */ void FUN_1811bb600(longlong param_1,longlong param_2) { longlong lVar1; undefined8 uVar2; undefined1 *puVar3; longlong lVar4; int iVar5; uint uVar6; char cVar12; ulonglong uVar7; longlong *plVar8; code **ppcVar9; uint *puVar10; uint *puVar11; uint uVar13; uint uVar14; IMAGE_DOS_HEADER *pIVar15; ulonglong uVar16; longlong lVar17; ulonglong uVar18; undefined1 *puVar19; undefined4 *puVar20; uint uVar21; int iVar22; uint uVar23; uint uVar24; longlong lVar25; IMAGE_DOS_HEADER *pIVar26; uint uVar27; uint uVar28; uint uVar29; int *piVar30; ulonglong uVar31; int unaff_retaddr; undefined1 auStack_188 [32]; int local_168; undefined *local_160; undefined1 *local_158; uint local_150; ulonglong local_148; uint local_140; uint local_13c; uint local_138; int local_134; uint uStack_130; uint local_12c; uint local_128; uint local_124; uint local_120; uint local_11c; uint local_118; undefined4 local_114; code *local_110; longlong local_108; longlong local_100; undefined4 local_f8; undefined4 local_f4; uint local_f0 [2]; longlong local_e8; longlong local_e0; longlong local_d8; undefined1 *local_d0; longlong local_c8; code *local_c0; uint local_b8; uint local_b4; uint local_b0; uint local_a0; uint local_9c; uint local_98; uint local_94; undefined4 uStack_80; undefined1 local_70 [24]; uint local_58; uint local_54; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_188; uVar21 = (uint)&stack0x00000000; local_114 = 0xc70; iVar5 = (uVar21 & 0x30ff) * (uVar21 & 0x30ff) + 1; uVar13 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; if (((int)(uVar13 - 7) >> 0x1f & uVar13 & 0x3300) == 0) { uVar27 = 0x10b0aeb; uVar13 = 0xf775b4; } else { uVar27 = 0x65e7610; uVar13 = 0x310a9b5; } uVar6 = (uVar21 & 0x58ff) * (uVar21 & 0x58ff) + 1; uVar21 = (((uVar21 & 0x1fff) + 1) * (uVar21 & 0x1fff) + 7) % 0x51; uVar21 = ((int)(-uVar21 | uVar21) >> 0x1f) >> ((char)uVar6 + (char)(uVar6 / 7) * -7 & 0x1fU); local_118 = ((int)(-uVar21 | uVar21) >> 0x1f) * 0x8c1 & 0xf23fU ^ ((int)(-(uVar27 ^ uVar13) | uVar27 ^ uVar13) >> 0x1f) * -0xfbff; pIVar15 = &IMAGE_DOS_HEADER_180000000; local_158 = &LAB_18075fd74; local_160 = &DAT_180760464; do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); local_148 = 0x46728c12e24a2dac; local_124 = 0xe24a2dac; local_108 = param_2; local_100 = param_1; do { local_150 = -0x3bba147b; local_f8 = 0x1d; local_e8 = 0x1811bb8d7; FUN_1811bb06c(); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); local_150 = local_150 + 0xb826bb3c; uVar13 = ((local_150 >> 8 | local_150 * 0x1000000) & 0xf00ff00f | (local_150 * 0x100 | local_150 >> 0x18) & 0xff00ff0) ^ 0x6ebda2d; uVar21 = ((uVar13 << 0x10 | uVar13 >> 0x10) & 0xc2773d88 | (uVar13 >> 0x10 | uVar13 << 0x10) & 0x3d88c277) ^ 0x44eea504; uVar13 = (uVar21 >> 0xe ^ uVar21) & 0x1fff; uVar13 = ((uVar13 << 0xe | uVar13) ^ uVar21) + 0xe6b237c8; local_150 = ((uVar13 * 0x10 | uVar13 >> 0x1c) & 0x96969696 | (uVar13 >> 4 | uVar13 * 0x10000000) & 0x69696969) ^ 0x497c4bba; do { plVar8 = &local_e0; puVar20 = &local_f4; piVar30 = &local_134; FUN_1811bbd4e(); *piVar30 = -0x17bfd3b1; *puVar20 = 0x79; *plVar8 = 0x1811bb9a7; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar21 = local_134 + 0xa52bb9be; lVar25 = (int)local_150 + local_e8; uVar13 = (uVar21 >> 0x10 ^ uVar21) >> 1 & 0x1f; uVar21 = ((uVar13 << 0x10 | uVar13) * 2 ^ uVar21) + 0xb0fd7e22; uVar13 = (uVar21 >> 0xc ^ uVar21) & 0x3ff; uVar21 = ((uVar13 << 0xc | uVar13) ^ uVar21) + 0xddb33d16; uVar13 = uVar21 >> 8; uVar21 = (uVar13 | uVar21 * 0x1000000) + 0x38d24d30; uVar13 = (uVar21 * 4 | uVar21 >> 0x1e) & 0x99999999 | (uVar21 >> 2 | uVar13 << 0x1e) & 0x66666666; local_e0 = (int)(uVar13 >> 6 | uVar13 << 0x1a) + local_e0; local_150 = 0; local_134 = 0; *(longlong *)(lVar25 + 4) = *(longlong *)(lVar25 + 4) + (ulonglong)((uint)(*(ulonglong *)(local_e0 + 4) >> 0x1c) & 0x40420682); uVar7 = *(ulonglong *)(lVar25 + 4); uVar13 = (uint)((uVar7 >> 0x27 ^ uVar7) >> 5) & 0x1fff; uVar16 = ((ulonglong)uVar13 << 0x27 | (ulonglong)uVar13) << 5 ^ uVar7 ^ 0x2491872e988315e8; uVar7 = (uVar16 >> 2 & 0xcccccccccccccccc | uVar7 << 0x3e | (uVar16 & 0xccccccccccccccc) << 2 | uVar7 >> 0x3e) ^ 0xb7699a7c4c06f314; uVar16 = (uVar7 << 0x26 | uVar7 >> 0x1a) ^ 0x9f5ba63649e9a23; uVar7 = (uVar16 << 2 | (uVar7 & 0x3ffffff) >> 0x18) & 0x9999999999999999 | (uVar16 >> 2 | uVar16 << 0x3e) & 0x6666666666666666; lVar4 = (uVar7 >> 0xd | uVar7 << 0x33) + 0xee71cdafe87683d9; *(longlong *)(lVar25 + 4) = lVar4; plVar8 = (longlong *)(local_e0 + 4); *plVar8 = *plVar8 + (ulonglong)((uint)((ulonglong)lVar4 >> 0x10) & 0x60200008); local_11c = (uint)(*(ulonglong *)(lVar25 + 4) >> 0x14) & 0x7fffffff; local_138 = (uint)(*(ulonglong *)(lVar25 + 4) >> 0x17) ^ 0xe67b7443; local_148 = *(ulonglong *)(lVar25 + 4) ^ 0x8b4b335226dafc4d; do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar13 = 0x1a08108c; local_168 = -0x19ab949c; uVar27 = (uint)((longlong)local_160 - (longlong)local_158); uVar21 = uVar27 & 0x5f; lVar25 = 0x1b873593; uVar7 = 0xcc9e2d51; local_d0 = local_158; lVar4 = 0x3c - (((longlong)(int)((uVar21 + 1) * (uVar21 + 1) * uVar21 * uVar21 & 0x80000003) | 0x3736U) ^ 0x3776); local_160 = (undefined *)(((longlong)local_160 - (longlong)local_158) + -4); if (local_160 == (undefined *)lVar4) { LAB_1811bbf20: do { uVar21 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } piVar30 = (int *)register0x00000020; } while (uVar21 != 0); do { FUN_1811bc7ba(0xe50c); lVar4 = uVar7 + lVar25; uVar7 = ~(lVar25 - lVar4) + 1; lVar25 = lVar4 - uVar7; piVar30 = (int *)((~(~(~(ulonglong)piVar30 + 1) + 1) + 1 ^ 0xffffffffffffffff) + 1); uVar21 = (*piVar30 + 1) * *piVar30 & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); uVar13 = ((uVar13 ^ 0x81db0922) << 0x16 | (uVar13 ^ 0x81db0922) >> 10) + 0xbe434ac; do { uVar2 = rdtsc(); local_140 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); func_0x0001811ba203(); uVar21 = (*piVar30 + 1) * *piVar30 & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); local_140 = (local_140 * -0x7a147333 >> 0x18 ^ local_140 * -0x7a147333) * 0x5bd1afd7; if (local_140 < 0x670b44f) { local_110 = (code *)0x0; do { ppcVar9 = &local_110; FUN_1811bd04f(ppcVar9,&local_110); *ppcVar9 = FUN_181194940; uVar21 = (*piVar30 + 1) * *piVar30 & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); uVar16 = (*local_110)(0,0x6e0e); if (1 < uVar16) { FUN_18113eab0(); } } do { puVar10 = &local_120; FUN_1811bb59e(); *puVar10 = 0xd9819493; FUN_1811bb113(); uVar21 = (*piVar30 + 1) * *piVar30 & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); uVar21 = ~(((local_120 ^ 0x18690310) >> 0xe | (local_120 ^ 0x18690310) << 0x12) ^ 0xb008ee0b) + 0xb7857b84; uVar21 = (uVar21 >> 8 | uVar21 * 0x1000000) ^ 0x416c3884; local_b8 = (uVar21 >> 0x16 | uVar21 << 10) ^ 0x4a38a4a; local_b4 = local_138; local_b0 = (uint)local_148; uVar21 = (uint)(local_148 >> 0x20); uVar28 = (uVar21 ^ local_b8) & 0x99999999 ^ uVar21; uVar6 = (local_138 >> 0x11 ^ local_138) & 0x3fff; uVar14 = (local_b0 >> 0xc ^ local_b0) >> 9 & 0x7f; uVar21 = (uVar21 ^ local_b8) & 0x66666666 ^ uVar21; uVar27 = (uVar28 >> 2 ^ uVar28) >> 4 & 1; uVar23 = (uVar21 >> 0xb ^ uVar21) & 3; uVar6 = ~((uVar6 << 0x11 | uVar6) ^ local_138); uVar28 = ~((uVar27 * 4 | uVar27) << 4 ^ uVar28); uVar29 = ~((uVar23 << 0xb | uVar23) ^ uVar21); uVar21 = ~((uVar14 << 0xc | uVar14) << 9 ^ local_b0) ^ uVar6; uVar23 = uVar21 & 0x1f8b2e7f ^ uVar6; uVar6 = uVar21 & 0xe074d180 ^ uVar6; uVar27 = (uVar28 >> 0x11 ^ uVar28) & 0xff; uVar14 = (uVar29 >> 0x11 ^ uVar29) & 0x1ff; uVar24 = (uVar6 >> 6 ^ uVar6) >> 0x11 & 0xf; uVar21 = (uVar23 >> 6 ^ uVar23) & 0xf; uVar23 = (uVar21 << 6 | uVar21) ^ uVar23; uVar21 = uVar29 ^ (uVar14 << 0x11 | uVar14) ^ uVar23; uVar14 = uVar21 & 0x5b705ebb ^ uVar23; uVar28 = uVar14 ^ uVar28 ^ (uVar27 << 0x11 | uVar27); uVar21 = ~(uVar21 & 0xa48fa144 ^ uVar23); uVar27 = ~(uVar28 & 0x55555555 ^ uVar14) ^ uVar21; uVar23 = uVar27 & 0x7f807f80 ^ uVar21; uVar31 = (ulonglong)uVar23; uVar6 = ~((uVar24 << 6 | uVar24) << 0x11 ^ uVar6); uVar16 = (ulonglong)uVar6; piVar30 = (int *)register0x00000020; do { puVar10 = local_f0; puVar11 = &local_12c; FUN_1811bbd4e(); uVar2 = rdtsc(); uVar24 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); *puVar10 = uVar24; uVar18 = (ulonglong)uVar24 * 0x21 + 0x6537cf92; piVar30 = (int *)(~(((ulonglong)piVar30 ^ 0xffffffffffffffff) + 1) + 1); uVar18 = uVar18 ^ uVar18 * 0x20; uVar18 = uVar18 >> 8 | uVar18 << 0x38; uVar7 = -((uVar7 ^ 0xffffffffffffffff) + 1); uVar18 = uVar18 ^ (uVar18 * 5 >> 8) - 0x19670010; *puVar11 = (uint)(uVar18 << 7) & 0x7fffffff | (uint)(uVar18 >> 0x39); uVar24 = (*piVar30 + 1) * *piVar30 & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); local_12c = local_12c ^ local_11c; if (local_12c < 0x149bda) { do { puVar10 = &local_13c; FUN_1811bd04f(); *puVar10 = 0xaf1451eb; uVar24 = (*piVar30 + 1) * *piVar30 & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); uVar24 = ((local_13c ^ 0xb391a7ba) << 4 | (local_13c ^ 0xb391a7ba) >> 0x1c) + 0x742330bc; uVar24 = (uVar24 * 0x400000 | uVar24 >> 10) + 0xdbc5a4c0; uVar24 = (uVar24 * 0x2000 | uVar24 >> 0x13) ^ 0xee475fff; local_13c = (uVar24 << 0x1f | uVar24 >> 1) ^ 0xebe83c3a; local_a0 = ~(uVar28 & 0xaaaaaaaa ^ uVar14); local_9c = uVar6; local_98 = uVar23; local_94 = uVar27 & 0x807f807f ^ uVar21; do { local_128 = 0xc9293130; local_c8 = 0x1811bc483; FUN_1811bbd4e(); uVar21 = (*piVar30 + 1) * *piVar30 & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); uVar21 = ~((~local_128 << 6 | ~local_128 >> 0x1a) + 0x1f455fee); local_128 = (uVar21 >> 0x11 | uVar21 << 0xf) + 0x898697aa; (*(code *)((int)local_128 + local_c8))(&local_a0,local_70); iVar5 = 7; do { uVar21 = (local_58 >> 0xc ^ local_58) >> 2 & 0xfff; uVar27 = (local_54 >> 5 ^ local_54) >> 8 & 1; local_58 = (uVar21 << 0xc | uVar21) << 2 ^ local_58; uVar6 = (local_58 >> 0x18 | local_58 << 8) + 0x6e4157a7; uVar27 = (local_54 << 0x1c | ((uVar27 << 5 | uVar27) << 8 ^ local_54) >> 4) + 0x20a786ca; uVar21 = (uVar6 >> 0xb ^ uVar6) >> 9 & 0x3ff; uVar14 = uVar6 ^ (uVar21 << 0xb | uVar21) << 9; uVar21 = (uVar27 >> 0x11 ^ uVar27) >> 0xb & 3; uVar27 = uVar27 ^ (uVar21 << 0x11 | uVar21) << 0xb; uVar27 = (uVar27 >> 0x10 | uVar27 << 0x10) & 0xa3635c9c | (uVar27 << 0x10 | uVar27 >> 0x10) & 0x5c9ca363; uVar21 = (uVar14 << 4 | uVar14 >> 0x1c) & 0x87878787 | (uVar14 >> 4 | uVar6 * 0x10000000) & 0x78787878; uVar27 = (uVar27 << 0x12 | uVar27 >> 0xe) + 0x607d5440; uVar21 = uVar27 ^ (uVar21 << 0x12 | uVar21 >> 0xe) + 0x270a0bab; local_54 = uVar21 & 0x3c3c3c3c ^ uVar27; uVar21 = uVar21 & 0xc3c3c3c3 ^ uVar27 ^ local_54; local_58 = uVar21 & 0x7341a189 ^ local_54; local_54 = uVar21 & 0x8cbe5e76 ^ local_54; iVar5 = iVar5 + -1; } while (-1 < iVar5); uVar21 = ((local_58 ^ 0x8370e54f) >> 0x1f | (local_58 ^ 0x8370e54f) << 1) + 0xb2ed8502; uVar21 = (uVar21 >> 0x16 | uVar21 * 0x400) ^ 0x54fdac3b; uVar21 = (uVar21 << 0x13 | uVar21 >> 0xd) + 0xb3ff0948; if (((uVar21 >> 0x17 | uVar21 * 0x200) ^ 0xb570e78d ^ local_13c) + local_54 != local_138) { do { local_c0 = FUN_180bc28e0; uVar21 = (*piVar30 + 1) * *piVar30 & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); FUN_180bc28e0(); do { FUN_1811bd04f(); uVar21 = (*piVar30 + 1) * *piVar30 & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); } } uVar13 = ~uVar13 & local_124 | ~local_124 & uVar13; if ((uVar13 & 0x3ffff) == 0 && uVar13 == 0) { if (local_108 != 0) { FUN_180488690(local_100 + 0x2a0); } puVar3 = auStack_188; do { puVar19 = puVar3; *(ulonglong *)(puVar19 + -8) = uVar31; *(ulonglong *)(puVar19 + -0x10) = uVar16; *(ulonglong *)(puVar19 + -0x18) = uVar7; lVar4 = -(longlong)(int)local_118; piVar30 = (int *)((((ulonglong)piVar30 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1); uVar7 = *(ulonglong *)(puVar19 + lVar4 + 0x9a8); uVar16 = *(ulonglong *)(puVar19 + lVar4 + 0x9b0); uVar31 = *(ulonglong *)(puVar19 + lVar4 + 0x9b8); uVar13 = (*piVar30 + 1) * *piVar30 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } puVar3 = puVar19 + lVar4 + 0x9c0; } while (uVar13 != 0); *(undefined **)(puVar19 + lVar4 + 0x9b8) = &UNK_1811bc912; } if (local_108 != 0) { FUN_180488690(local_100 + 0x2a0,local_108); } thunk_FUN_1805a9280(); return; } uVar27 = uVar27 & 0x23ff; iVar5 = uVar27 * uVar27 + 1; uVar21 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar21 = (int)(uVar21 - 7) >> 0x1f & uVar21; local_d8 = (longlong)(int)(-uVar21 | uVar21); code_r0x0001811bbce0: uVar21 = (uint)lVar4 & 0x1ff; uVar27 = uVar13 & 0x4f; iVar22 = (uVar21 + 2) * (uVar21 + 1) * uVar21; uVar21 = (uint)lVar4 & 0x17ff; iVar5 = uVar21 * uVar21 + 1; uVar21 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar21 = (int)(uVar21 - 7) >> 0x1f & uVar21; lVar4 = lVar4 + (0x144 - (0xfcd4L >> (((char)((byte)(-uVar21 >> 0x18) | (byte)(uVar21 >> 0x18)) >> 7 ^ (byte)(local_d8 >> 0x1f)) & 0x3f) ^ ((longlong) (int)((iVar22 * 0x55555555 + ((iVar22 >> 1) - (iVar22 >> 3)) >> 0x1e) + 0xc410 + ((uVar27 + 1) * (uVar27 + 1) * uVar27 * uVar27 & 1)) | 0xfd94U))); puVar20 = (undefined4 *)(local_d0 + lVar4); if ((pIVar15 != (IMAGE_DOS_HEADER *)0x0) && (lVar17._0_1_ = pIVar15->e_magic[0], lVar17._1_1_ = pIVar15->e_magic[1], lVar17._2_2_ = pIVar15->e_cblp, lVar17._4_2_ = pIVar15->e_cp, lVar17._6_2_ = pIVar15->e_crlc, -1 < lVar17)) { local_158 = (undefined1 *)0x2621fc0; do { if (puVar20 < IMAGE_DOS_HEADER_180000000.e_magic + lVar17 + 8) { if (-1 < lVar17) { plVar8 = (longlong *)(lVar17 + 0x180000000); if (plVar8 < puVar20 + 1) { uStack_80 = *puVar20; pIVar26 = pIVar15; goto code_r0x0001811bbe20; } } break; } lVar17._0_2_ = pIVar15->e_cparhdr; lVar17._2_2_ = pIVar15->e_minalloc; lVar17._4_2_ = pIVar15->e_maxalloc; lVar17._6_2_ = pIVar15->e_ss; pIVar15 = (IMAGE_DOS_HEADER *)&pIVar15->e_cparhdr; } while (-1 < lVar17); } goto code_r0x0001811bbe50; while (plVar8 = (longlong *)(lVar17 + 0x180000000), plVar8 < puVar20 + 1) { code_r0x0001811bbe20: lVar1 = lVar17 - (longlong)puVar20; lVar17 = *(longlong *)&pIVar26->e_cparhdr; pIVar26 = (IMAGE_DOS_HEADER *)&pIVar26->e_cparhdr; *(longlong *)(&stack0x00017fffff80 + lVar1) = *plVar8 + -0x180000000; if (lVar17 < 0) break; } code_r0x0001811bbe50: do { puVar10 = &uStack_130; cVar12 = -0x1b; FUN_1811bd04f(); if (cVar12 == '\0') { uVar13 = 0x811bbe62; } uVar21 = func_0x0001811bad5d(); *puVar10 = uVar21; uVar21 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); uStack_130 = (uStack_130 * 0x16a88000 | uStack_130 * -0x3361d2af >> 0x11) * 0x1b873593; uVar13 = local_168 + ((uVar13 ^ uStack_130) << 0xd | (uVar13 ^ uStack_130) >> 0x13) * 5; if (local_160 == (undefined *)lVar4) goto LAB_1811bbf20; goto code_r0x0001811bbce0; } ############ FUN_ 1811a24e0 size=988 ############ /* WARNING: Removing unreachable block (ram,0x0001811a257c) */ /* WARNING: Removing unreachable block (ram,0x0001811a25d7) */ void FUN_1811a24e0(undefined8 param_1) { undefined8 uVar1; ulonglong uVar2; uint *puVar3; code **ppcVar4; uint uVar5; longlong unaff_RSI; int iVar6; int unaff_retaddr; undefined1 auStack_148 [32]; undefined4 local_128; uint local_108 [11]; uint local_dc; code *local_d8 [4]; undefined8 local_b8; undefined1 local_48 [24]; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_148; uVar5 = (uint)&stack0x00000000 & 0x1bf; iVar6 = (uVar5 + 2) * (uVar5 + 1) * uVar5; local_dc = 0x517bU - (((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e) ^ 0x57ab; local_128 = 0x590; local_b8 = param_1; do { puVar3 = local_108; /* WARNING: Call to offcut address within same function */ func_0x0001811a26dc(puVar3,local_108); uVar1 = rdtsc(); *puVar3 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_108[0] = (local_108[0] * -0x50283b32 >> 0x18 ^ local_108[0] * -0x50283b32) * -0x73325029; if (local_108[0] < 0x3d980f7) { local_d8[0] = (code *)0x0; do { ppcVar4 = local_d8; FUN_1811a39bb(ppcVar4,local_d8); *ppcVar4 = FUN_1813f2240; FUN_1811a3b9a(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar2 = (*local_d8[0])(); if (1 < uVar2) { FUN_18113eab0(); } } do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } uVar2 = (ulonglong)uVar5; } while (uVar5 != 0); /* WARNING: Call to offcut address within same function */ func_0x0001811a277c(); *(uint *)(uVar2 + 0x5e) = *(uint *)(uVar2 + 0x5e) ^ (uint)local_48; /* WARNING: Could not recover jumptable at 0x0001811a28d9. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(unaff_RSI + -0xb48))(); return; } ############ FUN_ 1811a4040 size=2348 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001811a40c4) */ /* WARNING: Removing unreachable block (ram,0x0001811a4689) */ /* WARNING: Removing unreachable block (ram,0x0001811a40eb) */ void FUN_1811a4040(undefined8 param_1) { undefined8 uVar1; ulonglong uVar2; uint uVar3; uint *puVar4; code **ppcVar5; int iVar6; uint uVar7; undefined4 *puVar8; ulonglong uVar9; longlong *plVar10; int unaff_retaddr; undefined1 auStack_168 [32]; uint local_148; uint local_144; uint local_140; uint local_138; undefined *local_130; undefined4 local_128; undefined8 local_118; undefined8 local_110; undefined8 local_108; uint local_100 [2]; undefined4 local_f8; uint local_f4; uint local_f0; code *local_e8; undefined *local_e0; ulonglong local_d8; undefined8 local_d0; undefined4 local_c8; undefined4 local_c4; longlong local_c0 [18]; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_168; uVar3 = (uint)&stack0x00000000 & 0x2bf; iVar6 = (uVar3 + 2) * (uVar3 + 1) * uVar3; local_f0 = 0xcf9f << ((byte)(((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e) & 0x1f) ^ 0xc4ef; local_f8 = 0x8c0; local_d0 = param_1; do { plVar10 = local_c0; puVar8 = &local_c8; puVar4 = &local_148; FUN_1811a59b1(); *puVar4 = 0xed59e0d1; *puVar8 = 0x66; *plVar10 = 0x1811a41a7; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar7 = ~((local_148 >> 0x10 | local_148 << 0x10) & 0xbba4445b | (local_148 << 0x10 | local_148 >> 0x10) & 0x445bbba4); uVar3 = (uVar7 >> 0xd ^ uVar7) & 0xfff; uVar7 = uVar7 ^ (uVar3 << 0xd | uVar3); uVar7 = (uVar7 << 0x10 | uVar7 >> 0x10) & 0x8c6d7392 | (uVar7 >> 0x10 | uVar7 << 0x10) & 0x73928c6d; uVar3 = (uVar7 >> 0xc ^ uVar7) & 0xff; uVar3 = uVar7 ^ (uVar3 << 0xc | uVar3); uVar3 = (uVar3 >> 4 | uVar3 << 0x1c) & 0x96969696 | (uVar3 << 4 | uVar7 >> 0x1c) & 0x69696969; uVar7 = (uVar3 >> 0xd ^ uVar3) >> 5 & 0x1fff; uVar3 = (uVar7 << 0xd | uVar7) << 5 ^ uVar3; do { local_c4 = 0x68; local_c0[1] = 0x1811a42a7; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_c0[0] = (int)((uVar3 >> 0x1c | uVar3 << 4) + 0x183cf589) + local_c0[0]; local_148 = 0; local_128 = 0; *(longlong *)(local_c0[0] + 4) = *(longlong *)(local_c0[0] + 4) + (ulonglong)((uint)((ulonglong)dvs_0x10c9b9f7_mfort6317_ >> 3) & 0x42a86); do { uVar1 = rdtsc(); local_f4 = (int)uVar1 - (int)((ulonglong)uVar1 >> 0x20); uVar2 = (ulonglong)local_f4 ^ (ulonglong)local_f4 * 0x120 - 0x24f08329; uVar2 = uVar2 - ((uVar2 * 0x2400 | uVar2 * 9 >> 0x36) - 0x70dfc340); uVar2 = (uVar2 * 0x4000 | uVar2 >> 0x32) * 0x81 + 0x18177156; uVar9 = (uVar2 >> 0xb | uVar2 << 0x35) * 0x202 + 0x18ec6e9e; uVar2 = uVar9 * 0x100 | uVar9 >> 0x38; uVar2 = (uVar2 ^ (uVar2 << 9 | (uVar9 & 0xffffffffffffff) >> 0x2f) + 0x6ebee3ee) * 0x4001 - 0x158bdaf2; uVar3 = (int)uVar2 + (int)(uVar2 >> 10) + -0x257570d9 & 0x38cef542; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); *(int *)(local_c0[0] + 8) = *(int *)(local_c0[0] + 8) + (uVar3 ^ 0x4917a782); *(int *)(local_c0[0] + 4) = *(int *)(local_c0[0] + 4) + (uVar3 ^ 0xc5172969); uVar2 = *(longlong *)(local_c0[0] + 4) + 0xda42623cfd301e17; uVar9 = uVar2 >> 0x23 | uVar2 * 0x20000000; uVar2 = ((uVar9 >> 2 | (uVar2 >> 0x23) << 0x3e) & 0x9999999999999999 | (uVar9 << 2 | (uVar2 & 0x7ffffffff) >> 0x21) & 0x6666666666666666) + 0xa426cad74cbab0fa; uVar2 = (uVar2 << 0x34 | uVar2 >> 0xc) + 0xbf717b49199144d4; uVar2 = (uVar2 * 0x10000 | uVar2 >> 0x30) & 0xfaa0055ffaa0055f | (uVar2 >> 0x10 | uVar2 << 0x30) & 0x55ffaa0055ffaa0; uVar2 = (uVar2 << 8 | uVar2 >> 0x38) & 0xd42bd42bd42bd42b | (uVar2 >> 8 | uVar2 << 0x38) & 0x2bd42bd42bd42bd4; uVar2 = (uVar2 << 0x10 | uVar2 >> 0x30) & 0xfb780487fb780487 | (uVar2 >> 0x10 | uVar2 << 0x30) & 0x487fb780487fb78; *(ulonglong *)(local_c0[0] + 4) = uVar2; dvs_0x10c9b9f7_mfort6317_ = (uint *)((longlong)dvs_0x10c9b9f7_mfort6317_ + (ulonglong)((uint)(uVar2 >> 10) & 0x4508a800)) ; local_144 = (uint)(*(ulonglong *)(local_c0[0] + 4) >> 0x1a) & 0x7fffffff; local_138 = (uint)(*(ulonglong *)(local_c0[0] + 4) >> 0x1b) ^ 0xef7005aa; local_d8 = *(ulonglong *)(local_c0[0] + 4) ^ 0x45d3007c661deb26; do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { FUN_1811a292f(0xd238); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar1 = rdtsc(); local_140 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_1811a3553(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_140 = (local_140 * -0x12aa00af >> 0x18 ^ local_140 * -0x12aa00af) * -0x7a147333; if (local_140 < 0x7fffffff) { local_e8 = (code *)0x0; do { ppcVar5 = &local_e8; FUN_1811a3d01(ppcVar5,&local_e8); *ppcVar5 = FUN_1813f2240; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*local_e8)(0,0x4079); if (1 < uVar2) { FUN_18113eab0(); } } local_e0 = &DAT_182279740; local_118 = 0x13fd8; local_130 = &DAT_18228d718; local_108 = 0x23fc9fc6b9b39977; local_110 = 0xb9b39977; do { puVar4 = local_100; FUN_1811a4d39(); *puVar4 = 0x397fc278; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = (local_100[0] << 6 | local_100[0] >> 0x1a) + 0x8f07272c; uVar3 = (uVar3 * 0x1000000 | uVar3 >> 8) + 0x1026867; uVar3 = ~((uVar3 * 0x2000000 | uVar3 >> 7) ^ 0x9681f62e) ^ 0xb3823eb6; local_118 = CONCAT44(local_118._4_4_,uVar3 << 0xe | uVar3 >> 0x12); FUN_1811a49e4(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 1811cc9a0 size=1263 ############ /* WARNING: Removing unreachable block (ram,0x0001811cca39) */ void FUN_1811cc9a0(undefined8 param_1,undefined8 param_2) { undefined8 uVar1; longlong lVar2; ulonglong uVar3; uint uVar4; int *piVar5; undefined1 auStack_258 [32]; undefined4 local_238; undefined8 local_230; undefined8 local_228; undefined8 local_220; undefined8 local_218; undefined4 local_210; undefined1 local_20c [4]; uint local_208; undefined4 local_1fc; undefined4 local_1ec; undefined4 local_1e8; undefined8 local_1e0; uint local_1d8; code *local_1d0 [4]; undefined8 local_1b0; undefined8 local_1a8; undefined4 local_1a0; undefined8 local_198; undefined8 local_190; undefined4 local_188; undefined8 local_158; ulonglong local_48; local_158 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_258; local_1ec = 0x610; local_1e8 = 0x150; piVar5 = (int *)register0x00000020; local_218 = param_2; local_1b0 = param_1; do { lVar2 = FUN_1811cd608(0xca04); piVar5 = (int *)((lVar2 + (longlong)piVar5) - (((longlong)piVar5 - (lVar2 + (longlong)piVar5) ^ 0xffffffffffffffffU) + 1)); uVar4 = (*piVar5 + 1) * *piVar5 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_230 = 0x3ff00; local_1a8 = 0x180c98588; local_1e0 = 0x180cd8488; local_228 = 0xe9f8620e2c842992; local_220 = 0x2c842992; do { uVar1 = rdtsc(); local_208 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_1811ccec8(); uVar4 = (*piVar5 + 1) * *piVar5 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_208 = (local_208 * -0x3d4d12ab >> 0x18 ^ local_208 * -0x3d4d12ab) * -0x46013d4e; if (local_208 < 0x7fffffff) { do { local_1d0[0] = FUN_181194940; FUN_1811cc442(local_1d0,0x12cf); uVar4 = (*piVar5 + 1) * *piVar5 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (*local_1d0[0])(); if (1 < uVar3) { FUN_18113eab0(); } } local_238 = 0; do { local_210 = 0x74acaabf; local_188 = 0x20; local_198 = 0x1811ccc9a; uVar4 = (*piVar5 + 1) * *piVar5 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_210 = 0x145565a; do { local_1fc = 0xa8be44f4; local_1a0 = 0x61; local_190 = 0x1811ccd87; uVar4 = (*piVar5 + 1) * *piVar5 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_210 = 0; local_1fc = 0; dvs_0x676db95e_mfort6317_ = (uint *)((longlong)dvs_0x676db95e_mfort6317_ + (ulonglong)((uint)((ulonglong)dvs_0xd3f9f4bb_mfort6317_ >> 0x1a) & 0x200044)); uVar1 = rdtsc(); local_1d8 = (uint)uVar1 ^ (-(int)((ulonglong)uVar1 >> 0x20) ^ 0xffffffffU) + 1; FUN_1811ccec9(local_20c,(ulonglong)local_1d8 - (ulonglong)(local_1d8 >> 9)); return; } ############ FUN_ 1811d5bf0 size=817 ############ /* WARNING: Control flow encountered bad instruction data */ void FUN_1811d5bf0(undefined8 param_1) { undefined8 uVar1; ulonglong uVar2; uint uVar3; int unaff_retaddr; undefined1 auStack_b8 [32]; uint local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; undefined8 local_70; undefined4 local_68; uint local_64; code *local_60; undefined8 local_58; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; local_68 = 0x1000; if (((ulonglong)&stack0x00000000 & 0x940) == 0) { uVar3 = (uint)&stack0x00000000 & 0x3bf; uVar3 = ((uVar3 + 2) * (uVar3 + 1) * uVar3) % 3; } else { uVar3 = 0; } local_64 = uVar3 + 0x8c57 ^ 0x8d37; do { uVar1 = rdtsc(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * 0x1a85c2b2; local_98 = (uVar3 >> 0x18 ^ uVar3) * -0x35943595; local_58 = param_1; if (local_98 < 0x7fffffff) { do { local_60 = FUN_1813bba80; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_80 = param_1; uVar2 = FUN_1813bba80(0,0xebdf); if (1 < uVar2) { FUN_18113eab0(); } } local_80 = 0; local_90 = 0x1215abc; local_70 = 0x181215abc; local_88 = 0x1812558bc; FUN_1811d5f43(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 1811e5160 size=509 ############ /* WARNING: Removing unreachable block (ram,0x0001811e524b) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ char FUN_1811e5160(undefined8 *param_1) { undefined8 uVar1; char cVar2; ulonglong uVar3; ulonglong uVar4; code **ppcVar5; uint uVar6; int unaff_retaddr; undefined1 auStack_1a8 [40]; uint local_180; uint local_148; undefined4 local_12c; code *local_128 [3]; undefined8 *local_110; undefined8 local_a8; undefined1 local_98 [104]; ulonglong local_30; local_a8 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_1a8; if (((ulonglong)&stack0x00000000 & 0x880) == 0) { uVar6 = 0; } else { uVar6 = (uint)&stack0x00000000 & 0x23f; uVar6 = ((uVar6 + 2) * (uVar6 + 1) * uVar6) % 3; } local_148 = (uVar6 | 0x9aec) ^ 0x9b3c; local_12c = 800; local_110 = param_1; (**(code **)(*(longlong *)*param_1 + 0x10))((longlong *)*param_1,local_98); do { uVar1 = rdtsc(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_180 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x51ca3595; local_180 = local_180 >> 0x18 ^ local_180; uVar4 = (ulonglong)local_180; local_180 = local_180 * -0x3b317a15; if (local_180 < 0x49cd42f) { local_128[0] = (code *)0x0; do { ppcVar5 = local_128; FUN_1811e5016(ppcVar5,local_128); *ppcVar5 = FUN_181194940; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } uVar4 = (ulonglong)uVar6; } while (uVar6 != 0); uVar3 = (*local_128[0])(0,0xd890); if (1 < uVar3) { FUN_18113eab0(); } } FUN_1811e560b(); /* WARNING: Call to offcut address within same function */ cVar2 = func_0x0001811e5368(); *(byte *)(uVar4 - 9) = *(byte *)(uVar4 - 9) | (byte)uVar4; return cVar2 + 'N'; } ############ FUN_ 181208620 size=865 ############ /* WARNING: Instruction at (ram,0x00018120889c) overlaps instruction at (ram,0x000181208898) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018120871e) */ longlong FUN_181208620(void) { undefined8 uVar1; ulonglong uVar2; uint uVar3; int iVar4; uint *puVar5; code **ppcVar6; undefined1 uVar7; undefined1 uVar8; int unaff_retaddr; undefined1 auStack_178 [56]; uint local_140 [18]; uint local_f8; undefined4 local_ec; code *local_e0 [22]; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_178; uVar3 = (uint)&stack0x00000000 & 31999; iVar4 = uVar3 * uVar3 + 1; uVar3 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar3 = (int)(uVar3 - 7) >> 0x1f & uVar3 | (uint)&stack0x00000000; local_f8 = (int)(-uVar3 | uVar3) >> 0x1f & 0xee3cU ^ 0xec0c; local_ec = 0x950; do { puVar5 = local_140; FUN_181207d6b(puVar5,local_140); uVar1 = rdtsc(); *puVar5 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_181208c7e(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_140[0] = (local_140[0] * -0x7a1412ab >> 0x18 ^ local_140[0] * -0x7a1412ab) * 0x5bd1ec53; uVar8 = (int)(local_140[0] + 0x80000001) < 0; uVar7 = 0; if (local_140[0] < 0x7fffffff) { local_e0[0] = (code *)0x0; do { ppcVar6 = local_e0; FUN_1812081f4(ppcVar6,local_e0); *ppcVar6 = FUN_1813f2240; FUN_18120793b(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*local_e0[0])(); uVar7 = uVar2 == 0; uVar8 = (longlong)(uVar2 - 1) < 0; if (1 < uVar2) { FUN_18113eab0(); } } if ((bool)uVar8) { uVar7 = 0; } /* WARNING: Call to offcut address within same function */ uVar2 = func_0x00018120885a(); if ((bool)uVar7) { return -(~uVar2 + 1); } /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 1813d3b30 size=3620 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x0001813d4323) overlaps instruction at (ram,0x0001813d4322) */ /* WARNING: Removing unreachable block (ram,0x0001813d56ec) */ /* WARNING: Removing unreachable block (ram,0x0001813d5621) */ /* WARNING: Removing unreachable block (ram,0x0001813d4f2f) */ /* WARNING: Removing unreachable block (ram,0x0001813d431d) */ /* WARNING: Removing unreachable block (ram,0x0001813d3f89) */ /* WARNING: Removing unreachable block (ram,0x0001813d3cdf) */ /* WARNING: Removing unreachable block (ram,0x0001813d3b69) */ /* WARNING: Removing unreachable block (ram,0x0001813d3c4c) */ /* WARNING: Removing unreachable block (ram,0x0001813d3cb4) */ /* WARNING: Removing unreachable block (ram,0x0001813d3fa6) */ /* WARNING: Removing unreachable block (ram,0x0001813d45cf) */ /* WARNING: Removing unreachable block (ram,0x0001813d5289) */ /* WARNING: Removing unreachable block (ram,0x0001813d5813) */ /* WARNING: Removing unreachable block (ram,0x0001813d48a0) */ /* WARNING: Removing unreachable block (ram,0x0001813d3f07) */ /* WARNING: Removing unreachable block (ram,0x0001813d3b78) */ /* WARNING: Removing unreachable block (ram,0x0001813d3fbf) */ /* WARNING: Removing unreachable block (ram,0x0001813d3bfe) */ /* WARNING: Removing unreachable block (ram,0x0001813d4f19) */ /* WARNING: Switch with 1 destination removed at 0x0001813d575e */ void FUN_1813d3b30(void) { int iVar1; longlong lVar2; undefined8 uVar3; undefined7 uVar4; byte bVar5; undefined8 uVar6; undefined1 *puVar7; uint uVar8; uint uVar9; ulonglong uVar10; undefined8 *puVar11; uint uVar12; uint uVar13; ulonglong uVar14; uint *puVar15; longlong lVar16; int iVar17; ulonglong uVar18; ulonglong *puVar19; undefined1 *puVar20; undefined1 *puVar21; undefined1 *puVar22; int iVar23; uint uVar24; int iVar25; int *piVar26; int iVar27; ulonglong uVar28; uint uVar29; uint uVar30; longlong lVar31; ulonglong uVar32; int *piVar33; undefined8 unaff_XMM6_Qa; undefined8 unaff_XMM6_Qb; int unaff_retaddr; ulonglong uStack_c0; undefined1 auStack_b8 [32]; undefined *local_98; ulonglong local_90; undefined4 *local_88; undefined *local_78; puVar20 = auStack_b8; uVar32 = 0; local_88 = &DAT_18163cb4c; local_98 = &DAT_18163cc4c; uVar12 = (DAT_18163cb4c * 0x16a88000 | (uint)(DAT_18163cb4c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0x684a622e; uVar12 = (DAT_18163cb50 * 0x16a88000 | (uint)(DAT_18163cb50 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (DAT_18163cb54 * 0x16a88000 | (uint)(DAT_18163cb54 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (DAT_18163cb58 * 0x16a88000 | (uint)(DAT_18163cb58 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (DAT_18163cb5c * 0x16a88000 | (uint)(DAT_18163cb5c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (DAT_18163cb60 * 0x16a88000 | (uint)(DAT_18163cb60 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar28 = (ulonglong)uVar12; uVar8 = uVar12 & 0x16ff; local_90 = (ulonglong)uVar8; uVar24 = uVar12 & 0x7f; uVar18 = (longlong) (int)(((uVar24 + 1) * (uVar24 + 1) * uVar24 * uVar24 & 0x80000003 & (uVar8 + 1) * uVar8 & 0x80000001) + 0xef87) ^ 0xffffffffffff107b; uVar12 = (*(int *)(&DAT_18163cb68 + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb68 + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar12; uVar12 = (*(int *)(&DAT_18163cb6c + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb6c + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar10 = uVar18; local_78 = local_98; do { uVar14 = 0x590c; *(undefined8 *)(puVar20 + -8) = 0x1813d404a; FUN_1813d2767(); if ((uVar14 & 0xe700) == 0) { puVar19 = (ulonglong *)(puVar20 + -8); puVar20 = puVar20 + -8; *puVar19 = uVar10; } uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar12 = (*(int *)(&DAT_18163cb70 + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb70 + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&DAT_18163cb74 + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb74 + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&DAT_18163cb78 + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb78 + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&DAT_18163cb7c + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb7c + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&DAT_18163cb80 + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb80 + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&DAT_18163cb84 + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb84 + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&DAT_18163cb88 + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb88 + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&DAT_18163cb8c + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb8c + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&DAT_18163cb90 + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb90 + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&DAT_18163cb94 + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb94 + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; do { puVar15 = (uint *)(puVar20 + 0xd0); *(undefined8 *)(puVar20 + -8) = 0x1813d4195; FUN_1813d538b(puVar15,puVar20 + 0xd0); uVar3 = rdtsc(); *puVar15 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); uVar8 = (*(int *)(puVar20 + 0xb8) + 1) * *(int *)(puVar20 + 0xb8) & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = ((uint)(*(int *)(puVar20 + 0xd0) * 0x5bd15bd1) >> 0x18 ^ *(int *)(puVar20 + 0xd0) * 0x5bd15bd1) * -0x12aa4602; *(uint *)(puVar20 + 0xd0) = uVar8; if (uVar8 < 0x3a909) { *(undefined8 *)(puVar20 + 0x38) = 0; do { *(code **)(puVar20 + 0x38) = FUN_181194940; *(undefined8 *)(puVar20 + -8) = 0x1813d4243; FUN_1813d2ae2(puVar20 + 0x38,0xc8de); uVar8 = (*(int *)(puVar20 + 0xb8) + 1) * *(int *)(puVar20 + 0xb8) & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); *(undefined8 *)(puVar20 + -8) = 0x1813d4263; uVar10 = (**(code **)(puVar20 + 0x38))(); if (1 < uVar10) { *(undefined8 *)(puVar20 + -8) = 0x1813d426e; FUN_18113eab0(); } } piVar26 = (int *)(&DAT_18163cba0 + uVar18); uVar12 = (*(int *)(&DAT_18163cb98 + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb98 + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&DAT_18163cb9c + uVar18) * 0x16a88000 | (uint)(*(int *)(&DAT_18163cb9c + uVar18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar10 = (ulonglong)uVar12; uVar12 = (*piVar26 * 0x16a88000 | (uint)(*piVar26 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar12; uVar12 = (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; bVar5 = (byte)uVar12 & 0x4f; piVar26 = (int *)((longlong)piVar26 + ((longlong) (0x7c3c << ((bVar5 + 1) * (bVar5 + 1) * bVar5 * bVar5 & (byte)piVar26 & 1)) ^ 0x7c38U)); do { lVar31 = uVar32 + uVar10; uVar10 = (-uVar10 ^ 0xffffffffffffffff) + 1; uVar32 = lVar31 - uVar10; uVar8 = (*(int *)(puVar20 + 0xb8) + 1) * *(int *)(puVar20 + 0xb8) & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar12 = (*piVar26 * 0x16a88000 | (uint)(*piVar26 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar12; uVar12 = (piVar26[1] * 0x16a88000 | (uint)(piVar26[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[2] * 0x16a88000 | (uint)(piVar26[2] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[3] * 0x16a88000 | (uint)(piVar26[3] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[4] * 0x16a88000 | (uint)(piVar26[4] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[5] * 0x16a88000 | (uint)(piVar26[5] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[6] * 0x16a88000 | (uint)(piVar26[6] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[7] * 0x16a88000 | (uint)(piVar26[7] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[8] * 0x16a88000 | (uint)(piVar26[8] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[9] * 0x16a88000 | (uint)(piVar26[9] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[10] * 0x16a88000 | (uint)(piVar26[10] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; *(undefined8 *)(puVar20 + 0x40) = 0x74cb706d70d03b75; iVar23 = piVar26[0xb]; iVar17 = piVar26[0xc]; *(int *)(puVar20 + 0x28) = (int)*(undefined8 *)(puVar20 + 0x40); uVar12 = (iVar23 * 0x16a88000 | (uint)(iVar23 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (iVar17 * 0x16a88000 | (uint)(iVar17 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0xd] * 0x16a88000 | (uint)(piVar26[0xd] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0xe] * 0x16a88000 | (uint)(piVar26[0xe] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0xf] * 0x16a88000 | (uint)(piVar26[0xf] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0x10] * 0x16a88000 | (uint)(piVar26[0x10] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0x11] * 0x16a88000 | (uint)(piVar26[0x11] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0x12] * 0x16a88000 | (uint)(piVar26[0x12] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0x13] * 0x16a88000 | (uint)(piVar26[0x13] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; iVar23 = *(int *)(puVar20 + 200); uVar12 = (piVar26[0x14] * 0x16a88000 | (uint)(piVar26[0x14] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0x15] * 0x16a88000 | (uint)(piVar26[0x15] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0x16] * 0x16a88000 | (uint)(piVar26[0x16] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0x17] * 0x16a88000 | (uint)(piVar26[0x17] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[0x18] * 0x16a88000 | (uint)(piVar26[0x18] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar8 = uVar12 & 0x20ff; piVar26 = (int *)((longlong)piVar26 + ((longlong) (int)(((((uint)*(undefined8 *)(puVar20 + 0x20) & 0x7aff) - 1) * ((uint)*(undefined8 *)(puVar20 + 0x20) & 0x7aff) & 1) + ((uVar8 + 1) * uVar8 & 0x80000001)) ^ 0xcU) + 0x60); uVar12 = (piVar26[-2] * 0x16a88000 | (uint)(piVar26[-2] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar12; uVar12 = (piVar26[-1] * 0x16a88000 | (uint)(piVar26[-1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar8 = (uint)piVar26 & 0x2ff; uVar12 = (*piVar26 * 0x16a88000 | (uint)(*piVar26 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; iVar17 = (uVar8 + 2) * (uVar8 + 1) * uVar8; if ((((iVar17 >> 1) - (iVar17 >> 3)) + iVar17 * 0x55555555 >> 0x1e & 0x440U) == 0) { uVar8 = (uint)piVar26 & 0x1bf; } else { uVar8 = uVar12 & 0x13f; } iVar17 = (uVar8 + 2) * (uVar8 + 1) * uVar8; piVar26 = (int *)((0x5ad4L >> ((char)iVar17 + (char)((ulonglong)((longlong)iVar17 * 0x55555556) >> 0x20) * -3 & 0x3fU) ^ 0x5af4U) + (longlong)piVar26); uVar12 = (piVar26[-7] * 0x16a88000 | (uint)(piVar26[-7] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar12; uVar12 = (piVar26[-6] * 0x16a88000 | (uint)(piVar26[-6] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[-5] * 0x16a88000 | (uint)(piVar26[-5] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[-4] * 0x16a88000 | (uint)(piVar26[-4] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[-3] * 0x16a88000 | (uint)(piVar26[-3] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[-2] * 0x16a88000 | (uint)(piVar26[-2] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[-1] * 0x16a88000 | (uint)(piVar26[-1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*piVar26 * 0x16a88000 | (uint)(*piVar26 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[1] * 0x16a88000 | (uint)(piVar26[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[2] * 0x16a88000 | (uint)(piVar26[2] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar10 = (ulonglong)uVar12; do { *(undefined8 *)(puVar20 + -8) = 0x1813d47aa; FUN_1813d2d40(); uVar8 = (*(int *)(puVar20 + 0xb8) + 1) * *(int *)(puVar20 + 0xb8) & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); lVar31 = *(longlong *)(puVar20 + 0xc0); uVar12 = (piVar26[3] * 0x16a88000 | (uint)(piVar26[3] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar12; uVar12 = (piVar26[4] * 0x16a88000 | (uint)(piVar26[4] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[5] * 0x16a88000 | (uint)(piVar26[5] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[6] * 0x16a88000 | (uint)(piVar26[6] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (piVar26[7] * 0x16a88000 | (uint)(piVar26[7] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; do { iVar17 = *(int *)(puVar20 + 0xb8); uVar8 = (iVar17 + 1) * iVar17 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar12 = (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0x69f18e98; uVar8 = (uint)uVar32; uVar4 = (undefined7)(uVar32 >> 8); uVar12 = (uVar12 * 0x10000 | uVar12 >> 0x10) ^ 0xac9fe7f8; uVar18 = (ulonglong)uVar12; if ((int)CONCAT71(uVar4,uVar12 != *(uint *)(puVar20 + 0x28)) * 0x21 != 0) { *(ulonglong *)(puVar20 + -8) = uVar18; *(longlong *)(puVar20 + -0x10) = lVar31; *(ulonglong *)(puVar20 + -0x18) = uVar28; thunk_FUN_1805a9280((longlong)iVar23,thunk_FUN_1805a9280); return; } iVar23 = *(int *)(puVar20 + 0xd8); puVar7 = puVar20; do { puVar21 = puVar7; *(ulonglong *)(puVar21 + -8) = uVar18; *(longlong *)(puVar21 + -0x10) = lVar31; *(ulonglong *)(puVar21 + -0x18) = uVar10; lVar16 = -(longlong)iVar23; uVar10 = *(ulonglong *)(puVar21 + lVar16 + 0x438); lVar31 = *(longlong *)(puVar21 + lVar16 + 0x440); uVar18 = *(ulonglong *)(puVar21 + lVar16 + 0x448); puVar22 = puVar21 + lVar16 + 0x450; iVar17 = *(int *)(puVar20 + 0xb8); uVar12 = (iVar17 + 1) * iVar17 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } puVar7 = puVar21 + lVar16 + 0x450; } while (uVar12 != 0); *(undefined8 *)(puVar21 + lVar16 + 0x4b0) = unaff_XMM6_Qa; *(undefined8 *)(puVar21 + lVar16 + 0x4b8) = unaff_XMM6_Qb; if (*(ulonglong *)(lVar31 + 0x488) == uVar32) { *(uint *)(lVar31 + 0x968) = uVar8; } else { *(undefined8 *)(puVar21 + lVar16 + 0x490) = 0x2621fc0; *(undefined8 *)(puVar21 + lVar16 + 0x480) = 0xbe812374; *(undefined8 *)(puVar21 + lVar16 + 0x478) = 0x121a2e8b; uVar12 = *(uint *)(puVar21 + lVar16 + 0x478); uVar24 = *(uint *)(puVar21 + lVar16 + 0x480); uVar13 = (uVar12 >> 9 ^ uVar12) & 0x1ff; uVar9 = (uVar24 >> 8 ^ uVar24) >> 3 & 0xf; uVar9 = (uVar9 << 8 | uVar9) << 3 ^ uVar24 ^ 0xbe45b59c; uVar24 = (uVar13 << 9 | uVar13) ^ uVar12 ^ 0x121b1717; uVar12 = (uVar9 >> 2 ^ uVar9) & 1; *(uint *)(puVar21 + lVar16 + 0x480) = uVar9 ^ (uVar12 * 4 | uVar12); uVar12 = (uVar24 >> 9 ^ uVar24) & 0x1ff; *(uint *)(puVar21 + lVar16 + 0x478) = uVar24 ^ (uVar12 << 9 | uVar12); *(undefined **)(puVar21 + lVar16 + 0x480) = &DAT_182621fc0 + (*(longlong *)(puVar21 + lVar16 + 0x480) - *(longlong *)(puVar21 + lVar16 + 0x490)); *(longlong *)(puVar21 + lVar16 + 0x490) = *(longlong *)(puVar21 + lVar16 + 0x480) + *(longlong *)(puVar21 + lVar16 + 0x478); *(undefined4 *)(puVar21 + lVar16 + 0x478) = 0xaa2c993a; uVar12 = *(uint *)(puVar21 + lVar16 + 0x478); *(undefined4 *)(puVar21 + lVar16 + 0x478) = 0x90765b27; uVar24 = *(uint *)(puVar21 + lVar16 + 0x478); iVar25 = ~uVar12 + 0x76cac68c; *(undefined4 *)(puVar21 + lVar16 + 0x478) = 0x5b4390f8; piVar26 = *(int **)(puVar21 + lVar16 + 0x480); iVar23 = ~*(uint *)(puVar21 + lVar16 + 0x478) + 0x76cac68c; iVar17 = ~uVar24 + 0x76cac68c; uVar12 = (iVar25 * *piVar26 * 0x8000 | (uint)(iVar25 * *piVar26) >> 0x11) * iVar23 ^ 0x21d83361; uVar12 = (iVar25 * piVar26[1] * 0x8000 | (uint)(iVar25 * piVar26[1]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar29 = (uint)*(ulonglong *)(puVar21 + lVar16 + 0x490) & 7 | 0x15; uVar12 = (iVar25 * piVar26[2] * 0x8000 | (uint)(iVar25 * piVar26[2]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[3] * 0x8000 | (uint)(iVar25 * piVar26[3]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[4] * 0x8000 | (uint)(iVar25 * piVar26[4]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[5] * 0x8000 | (uint)(iVar25 * piVar26[5]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[6] * 0x8000 | (uint)(iVar25 * piVar26[6]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[7] * 0x8000 | (uint)(iVar25 * piVar26[7]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar30 = (uint)(piVar26 + 9) & 0x72ff; uVar12 = (iVar25 * piVar26[8] * 0x8000 | (uint)(iVar25 * piVar26[8]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[9] * 0x8000 | (uint)(iVar25 * piVar26[9]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; *(ulonglong *)(puVar21 + lVar16 + 0x470) = *(ulonglong *)(puVar21 + lVar16 + 0x490) & 0xffffffff ; uVar9 = uVar12 & 0x13f; uVar13 = uVar12 & 0x1f | 0x54; iVar27 = (uVar9 + 2) * (uVar9 + 1) * uVar9; piVar26 = (int *)((longlong)(piVar26 + 9) + (8 - (0x47a9L >> ((char)iVar27 + (char)((ulonglong)((longlong)iVar27 * 0x55555556) >> 0x20) * -3 & puVar21[lVar16 + 0x470] & 0x3fU) ^ ((longlong) (int)(((int)CONCAT71(uVar4,uVar13 * uVar13 * 0x1e3d == uVar29 * uVar29 * 0xf925) - ((uVar30 - 1) * uVar30 & 1)) + 0x30d) | 0x47adU)))); uVar12 = (iVar25 * *piVar26 * 0x8000 | (uint)(iVar25 * *piVar26) >> 0x11) * iVar23 ^ uVar12; uVar12 = (iVar25 * piVar26[1] * 0x8000 | (uint)(iVar25 * piVar26[1]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[2] * 0x8000 | (uint)(iVar25 * piVar26[2]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[3] * 0x8000 | (uint)(iVar25 * piVar26[3]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[4] * 0x8000 | (uint)(iVar25 * piVar26[4]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[5] * 0x8000 | (uint)(iVar25 * piVar26[5]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[6] * 0x8000 | (uint)(iVar25 * piVar26[6]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; *(uint *)(puVar21 + lVar16 + 0x478) = iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; lVar2 = *(longlong *)(lVar31 + 0x488); if (*(int *)(lVar2 + 0xc0) == 3) { *(uint *)(lVar31 + 0x968) = uVar8; return; } uVar32 = uVar32 & 0xffffffff; for (; lVar2 != lVar31; lVar2 = *(longlong *)(lVar2 + 0x18)) { uVar8 = (int)uVar32 + *(int *)(lVar2 + 0x20); uVar32 = (ulonglong)uVar8; } *(undefined8 *)(puVar21 + lVar16 + 0x448) = 0x1813d4e11; puVar11 = (undefined8 *)FUN_1814d2b40(); iVar27 = piVar26[8]; iVar1 = piVar26[0xd]; uVar3 = *puVar11; uVar6 = puVar11[1]; *(undefined8 *)(puVar21 + lVar16 + 0x498) = uVar3; *(undefined8 *)(puVar21 + lVar16 + 0x4a0) = uVar6; uVar12 = (iVar25 * piVar26[7] * 0x8000 | (uint)(iVar25 * piVar26[7]) >> 0x11) * iVar23 ^ *(uint *)(puVar21 + lVar16 + 0x478); uVar12 = (iVar25 * iVar27 * 0x8000 | (uint)(iVar25 * iVar27) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[9] * 0x8000 | (uint)(iVar25 * piVar26[9]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[10] * 0x8000 | (uint)(iVar25 * piVar26[10]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0xb] * 0x8000 | (uint)(iVar25 * piVar26[0xb]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0xc] * 0x8000 | (uint)(iVar25 * piVar26[0xc]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * iVar1 * 0x8000 | (uint)(iVar25 * iVar1) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar9 = uVar12 & 0x37f; iVar27 = (uVar9 + 2) * (uVar9 + 1) * uVar9; lVar31 = (longlong)iVar27; uVar32 = 0x499eL >> ((char)iVar27 + ((char)((ulonglong)(lVar31 * 0x55555556) >> 0x20) + (char)((lVar31 / 3 + (lVar31 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3 & 0x3fU) ^ 0x4d9a; uVar9 = iVar25 * *(int *)((longlong)piVar26 + (uVar32 - 0x3cc)); piVar26 = (int *)((longlong)piVar26 + (uVar32 - 0x3c8)); uVar12 = (uVar9 * 0x8000 | uVar9 >> 0x11) * iVar23 ^ uVar12; uVar9 = (iVar25 * *piVar26 * 0x8000 | (uint)(iVar25 * *piVar26) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (uint)piVar26 & 0x6eff; iVar27 = uVar12 * uVar12 + 1; uVar12 = (iVar27 >> 4) + (iVar27 >> 1) + iVar27 * 0x24924924 >> 0x1d; uVar10 = (ulonglong)uVar12; uVar12 = ((int)(uVar12 - 7) >> 0x1f & uVar12) << (((char)piVar26 + -1) * (char)piVar26 & 1U); piVar26 = (int *)((longlong)piVar26 + ((longlong)(((int)(-uVar12 | uVar12) >> 0x1f) * -0x7ba9) ^ 0x7badU)); uVar12 = (iVar25 * *piVar26 * 0x8000 | (uint)(iVar25 * *piVar26) >> 0x11) * iVar23 ^ iVar17 + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[1] * 0x8000 | (uint)(iVar25 * piVar26[1]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[2] * 0x8000 | (uint)(iVar25 * piVar26[2]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[3] * 0x8000 | (uint)(iVar25 * piVar26[3]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar32 = (ulonglong)(iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5); do { uVar18 = 0x7810; *(undefined8 *)(puVar21 + lVar16 + 0x448) = 0x1813d508f; FUN_1813d6707(); lVar31 = uVar32 + uVar10; uVar32 = ~(uVar10 - lVar31) + 1; uVar10 = lVar31 - uVar32; if ((uVar18 & 0xdb00) != 0) { uVar10 = uVar10 ^ uVar32; } uVar10 = uVar32 ^ uVar10; uVar12 = (*(int *)(puVar21 + lVar16 + 0x508) + 1) * *(int *)(puVar21 + lVar16 + 0x508) & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = (iVar25 * piVar26[4] * 0x8000 | (uint)(iVar25 * piVar26[4]) >> 0x11) * iVar23 ^ (uint)uVar32; uVar12 = (iVar25 * piVar26[5] * 0x8000 | (uint)(iVar25 * piVar26[5]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; *(undefined8 *)(puVar21 + lVar16 + 0x490) = 0x7c12be1538ce6922; iVar27 = piVar26[6]; *(int *)(puVar21 + lVar16 + 0x478) = (int)*(undefined8 *)(puVar21 + lVar16 + 0x490); uVar12 = (iVar25 * iVar27 * 0x8000 | (uint)(iVar25 * iVar27) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[7] * 0x8000 | (uint)(iVar25 * piVar26[7]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[8] * 0x8000 | (uint)(iVar25 * piVar26[8]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[9] * 0x8000 | (uint)(iVar25 * piVar26[9]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[10] * 0x8000 | (uint)(iVar25 * piVar26[10]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0xb] * 0x8000 | (uint)(iVar25 * piVar26[0xb]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0xc] * 0x8000 | (uint)(iVar25 * piVar26[0xc]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0xd] * 0x8000 | (uint)(iVar25 * piVar26[0xd]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0xe] * 0x8000 | (uint)(iVar25 * piVar26[0xe]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0xf] * 0x8000 | (uint)(iVar25 * piVar26[0xf]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0x10] * 0x8000 | (uint)(iVar25 * piVar26[0x10]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0x11] * 0x8000 | (uint)(iVar25 * piVar26[0x11]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0x12] * 0x8000 | (uint)(iVar25 * piVar26[0x12]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; *(uint *)(puVar21 + lVar16 + 0x520) = iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; do { uVar12 = (*(int *)(puVar21 + lVar16 + 0x508) + 1) * *(int *)(puVar21 + lVar16 + 0x508) & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); lVar31 = *(longlong *)(puVar21 + lVar16 + 0x510); uVar12 = (iVar25 * piVar26[0x13] * 0x8000 | (uint)(iVar25 * piVar26[0x13]) >> 0x11) * iVar23 ^ *(uint *)(puVar21 + lVar16 + 0x520); uVar12 = iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; do { uVar12 = (~uVar12 + 1 ^ 0xffffffff) + 1; uVar9 = (*(int *)(puVar21 + lVar16 + 0x508) + 1) * *(int *)(puVar21 + lVar16 + 0x508) & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar12 = (iVar25 * piVar26[0x14] * 0x8000 | (uint)(iVar25 * piVar26[0x14]) >> 0x11) * iVar23 ^ uVar12; uVar12 = (iVar25 * piVar26[0x15] * 0x8000 | (uint)(iVar25 * piVar26[0x15]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0x16] * 0x8000 | (uint)(iVar25 * piVar26[0x16]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0x17] * 0x8000 | (uint)(iVar25 * piVar26[0x17]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0x18] * 0x8000 | (uint)(iVar25 * piVar26[0x18]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[0x19] * 0x8000 | (uint)(iVar25 * piVar26[0x19]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar32 = (ulonglong)uVar12; uVar9 = (uint)*(undefined8 *)(puVar21 + lVar16 + 0x470); if ((uVar12 >> 10 & 1) == 0) { uVar13 = uVar9 & 0x7f; uVar13 = uVar13 * uVar13 * (uVar13 + 1) * (uVar13 + 1) & 3 | ((uVar9 & 0x13ff) * (uVar9 & 0x13ff) * 0x10 + 4) % 0x13; *(int *)(puVar21 + lVar16 + 0x510) = ((int)(-uVar13 | uVar13) >> 0x1f) * -0xae9e; } else { *(undefined4 *)(puVar21 + lVar16 + 0x510) = 0xae9e; } uVar13 = uVar9 & 0x2bf; uVar29 = uVar9 & 0x1f; iVar27 = (uVar13 + 2) * (uVar13 + 1) * uVar13; piVar26 = (int *)((longlong)piVar26 + (0x668 - (longlong) (int)((uVar29 * uVar29 * (uVar29 + 1) * (uVar29 + 1) & 2) + 0xa89e + iVar27 + (iVar27 / 3 + (iVar27 >> 0x1f) + (int)(((longlong)iVar27 / 3 + ((longlong)iVar27 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3 ^ *(uint *)(puVar21 + lVar16 + 0x510)) )); uVar12 = (iVar25 * *piVar26 * 0x8000 | (uint)(iVar25 * *piVar26) >> 0x11) * iVar23 ^ uVar12; uVar12 = (iVar25 * piVar26[1] * 0x8000 | (uint)(iVar25 * piVar26[1]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[2] * 0x8000 | (uint)(iVar25 * piVar26[2]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[3] * 0x8000 | (uint)(iVar25 * piVar26[3]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[4] * 0x8000 | (uint)(iVar25 * piVar26[4]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[5] * 0x8000 | (uint)(iVar25 * piVar26[5]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[6] * 0x8000 | (uint)(iVar25 * piVar26[6]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; iVar27 = *(int *)(puVar21 + lVar16 + 0x518); uVar29 = uVar9 & 0x1ff; uVar9 = uVar9 & 0x43ff; uVar12 = (iVar25 * piVar26[7] * 0x8000 | (uint)(iVar25 * piVar26[7]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (iVar25 * piVar26[8] * 0x8000 | (uint)(iVar25 * piVar26[8]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar13 = (iVar25 * piVar26[9] * 0x8000 | (uint)(iVar25 * piVar26[9]) >> 0x11) * iVar23 ^ iVar17 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = ((uVar29 + 2) * (uVar29 + 1) * uVar29) % 3; uVar28 = (ulonglong)uVar12; piVar33 = (int *)(puVar21 + lVar16 + 0x508); piVar26 = (int *)((longlong)piVar26 + ((longlong)(int)((0xa4ed - uVar12) - ((uVar9 + 1) * uVar9 & 0x80000001)) ^ 0xa4e9U) + 0x24); uVar12 = iVar25 * *piVar26; uVar13 = (uVar12 * 0x8000 | uVar12 >> 0x11) * iVar23 ^ iVar17 + (uVar13 << 0xd | uVar13 >> 0x13) * 5; uVar12 = piVar26[1] * iVar25; uVar12 = iVar17 + (uVar13 << 0xd | uVar13 >> 0x13) * 5 ^ (uVar12 * 0x8000 | uVar12 >> 0x11) * iVar23; uVar12 = ~uVar24 + 0xfa67e9c0 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar18 = CONCAT71(uVar4,((uVar12 * 0x10000 | uVar12 >> 0x10) ^ 0xac9fe7f8) != *(uint *)(puVar21 + lVar16 + 0x478)); uVar10 = uVar18 & 0xffffffff; *(float *)(lVar31 + 0x968) = ((float)(int)((int)uVar6 + uVar8 + (int)uVar3) - (float)*(int *)(lVar31 + 0x958)) / (float)*(int *)(lVar31 + 0x960); if ((int)uVar18 != (int)(uVar10 >> 6)) { *(ulonglong *)(puVar21 + lVar16 + 0x448) = uVar32; *(longlong *)(puVar21 + lVar16 + 0x440) = lVar31; *(ulonglong *)(puVar21 + lVar16 + 0x438) = uVar10; thunk_FUN_1805a9280((longlong)iVar27,uVar10,uVar28, (-(ulonglong)uVar9 ^ 0xffffffffffffffff) + 1); return; } iVar23 = *(int *)(puVar21 + lVar16 + 0x528); do { *(undefined **)(puVar22 + -8) = &UNK_1813d56cb; lVar16 = (longlong)iVar23; func_0x0001813d71ef((longlong)iVar23,uVar10,uVar28); *(ulonglong *)(puVar22 + -8) = uVar10; *(ulonglong *)(puVar22 + -0x10) = uVar32; *(int **)(puVar22 + -0x18) = piVar33; lVar16 = -lVar16; piVar33 = *(int **)(puVar22 + lVar16 + 0x438); uVar32 = *(ulonglong *)(puVar22 + lVar16 + 0x440); uVar10 = *(ulonglong *)(puVar22 + lVar16 + 0x448); puVar22 = puVar22 + lVar16 + 0x450; uVar12 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar32 = 0; } uVar12 = (uint)uVar32; lVar16 = *(longlong *)(lVar31 + 0x480); if ((lVar16 == 0) || ((*(int *)(lVar16 + 0xc0) - 1U & 0xfffffffd) == 0)) { *(undefined4 *)(lVar31 + 0x96c) = 0x40000000; } else { for (; lVar16 != lVar31; lVar16 = *(longlong *)(lVar16 + 0x18)) { uVar12 = (int)uVar32 + *(int *)(lVar16 + 0x20); uVar32 = (ulonglong)uVar12; } *(float *)(lVar31 + 0x96c) = ((float)(int)uVar12 - (float)*(int *)(lVar31 + 0x958)) / (float)*(int *)(lVar31 + 0x960); } return; } ############ FUN_ 1813fec90 size=4293 ############ /* WARNING: Instruction at (ram,0x0001813ffc28) overlaps instruction at (ram,0x0001813ffc26) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001813ff5d3) */ /* WARNING: Removing unreachable block (ram,0x0001813fed56) */ /* WARNING: Removing unreachable block (ram,0x0001813fed6a) */ /* WARNING: Removing unreachable block (ram,0x0001813ff0c7) */ /* WARNING: Removing unreachable block (ram,0x0001813ff5a8) */ ulonglong FUN_1813fec90(longlong *param_1) { longlong lVar1; undefined4 *puVar2; code *pcVar3; byte bVar4; uint uVar5; undefined4 uVar6; undefined4 uVar7; char *pcVar8; undefined8 uVar9; undefined4 *puVar10; uint uVar11; code **ppcVar12; uint *puVar13; ulonglong uVar14; ulonglong uVar15; int iVar16; uint uVar17; ulonglong uVar18; ulonglong uVar19; ulonglong uVar20; undefined8 *puVar21; undefined1 *puVar22; undefined1 *puVar23; undefined1 *puVar24; ulonglong uVar25; uint uVar26; uint uVar27; longlong lVar28; byte bVar29; uint uVar30; IMAGE_DOS_HEADER *pIVar31; IMAGE_DOS_HEADER *pIVar32; longlong *plVar33; longlong lVar34; longlong *plVar35; undefined4 *puVar36; int *piVar37; longlong unaff_R15; longlong *plVar38; bool bVar39; bool bVar40; char cVar41; char cVar42; int unaff_retaddr; undefined8 uStack_1e0; undefined1 auStack_1d8 [64]; undefined8 local_198; undefined8 local_188; undefined4 local_180; undefined8 local_178; uint local_170; uint local_168; undefined4 local_164; uint local_160; undefined4 local_158; uint local_154; uint local_150; uint local_148; ulonglong local_140; uint local_138 [2]; code *local_130; longlong *local_128; undefined1 auStack_120 [8]; uint local_118; undefined4 local_114; undefined8 local_110; undefined8 local_108; undefined4 local_100; ulonglong local_f8; code *local_f0; uint local_e8; uint local_e4; int local_e0; uint local_dc; undefined4 local_d8; undefined4 local_d4; undefined4 uStack_c8; undefined4 uStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; undefined1 auStack_b8 [16]; uint local_a8; uint local_a4; int local_a0; uint local_9c; undefined4 local_88 [10]; undefined1 local_60 [8]; uint local_58; uint local_54; ulonglong local_38; puVar22 = auStack_1d8; local_38 = DAT_182615970 ^ (ulonglong)auStack_1d8; local_128 = param_1; uVar11 = (uint)&stack0x00000000 & 0x33f; uVar25 = 0x82c1dd7f; uVar6 = 0x82c1dd7f; local_148 = 0x172a - ((uVar11 + 2) * (uVar11 + 1) * uVar11) % 3 ^ 0x112a; local_164 = 0x590; do { local_114 = 3; local_110 = 0x1813fed97; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); do { local_100 = 0x45; local_108 = 0x1813fee76; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); plVar33 = (longlong *)0x122b745; local_180 = 0; local_158 = 0; uVar18 = ~((longlong)dvs_0xe48b3013_mfort6317_ + (ulonglong)((uint)((ulonglong)dvs_0xe6cfb7dd_mfort6317_ >> 0x1e) & 0x20545924)); uVar19 = (ulonglong)((uint)((uVar18 >> 0xc ^ uVar18) >> 6) & 0x1ff); uVar19 = (uVar18 ^ (uVar19 << 0xc | uVar19) << 6) + 0xa76c43752c8fcd8f; uVar18 = (uVar19 >> 8 | uVar19 << 0x38) & 0xa35ca35ca35ca35c | (uVar19 * 0x100 | uVar19 >> 0x38) & 0x5ca35ca35ca35ca3; uVar19 = uVar18 >> 0x3a; uVar18 = (uVar19 | uVar18 << 6) + 0xf506c5bec7baea6c; uVar19 = (uVar18 >> 2 & 0xcccccccccccccccc | uVar19 << 0x3e | uVar18 * 4 & 0x3333333333333333 | uVar18 >> 0x3e) ^ 0x1fb8c83946131acc; uVar11 = (uint)((uVar19 >> 0x16 ^ uVar19) >> 1) & 0xfffff; dvs_0xe48b3013_mfort6317_ = (uint *)(((ulonglong)uVar11 << 0x16 | (ulonglong)uVar11) * 2 ^ uVar19) ; dvs_0xe6cfb7dd_mfort6317_ = (uint *)((longlong)dvs_0xe6cfb7dd_mfort6317_ + ((ulonglong)dvs_0xe48b3013_mfort6317_ >> 10 & 0x89843686)); local_160 = (uint)((ulonglong)dvs_0xe48b3013_mfort6317_ >> 0xf) & 0x7fffffff; local_168 = (uint)((ulonglong)dvs_0xe48b3013_mfort6317_ >> 0xc) ^ 0x8606a497; local_140 = (ulonglong)dvs_0xe48b3013_mfort6317_ ^ 0x4ac10a17613f9771; do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); do { uVar9 = rdtsc(); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar11 = ((uint)uVar9 ^ (uint)((ulonglong)uVar9 >> 0x20)) * -0x3d4d3d4e; local_170 = (uVar11 >> 0x18 ^ uVar11) * -0x4601e57b; if (local_170 < 0x5d1745ff) { local_130 = (code *)0x0; do { ppcVar12 = &local_130; FUN_1813fff36(ppcVar12,&local_130); *ppcVar12 = FUN_181194940; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar19 = (*local_130)(0,0x28b4); if (1 < uVar19) { FUN_18113eab0(); } } pIVar32 = &IMAGE_DOS_HEADER_180000000; local_188 = 0; local_198 = 0x1809cfddc; local_178 = 0x1809d5704; pIVar31 = pIVar32; do { if (SBORROW8((ulonglong)pIVar31 ^ 0xffffffffffffffff,-1)) { lVar34 = unaff_R15 + (longlong)plVar33; puVar21 = (undefined8 *)(puVar22 + -8); puVar22 = puVar22 + -8; *puVar21 = 0xfffffffffb2b4dd1; unaff_R15 = ((longlong)plVar33 - lVar34 ^ 0xffffffffffffffffU) + 1; plVar33 = (longlong *)(lVar34 - unaff_R15); } pIVar31 = (IMAGE_DOS_HEADER *) ((((ulonglong)pIVar31 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); puVar10 = *(undefined4 **)(puVar22 + 0x40); puVar2 = *(undefined4 **)(puVar22 + 0x60); *(undefined4 *)(puVar22 + 0x48) = 0x811c9e29; do { puVar13 = local_138; /* WARNING: Call to offcut address within same function */ *(undefined8 *)(puVar22 + -8) = 0x1813ff339; func_0x0001813ff419(); *puVar13 = 0xa7255953; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); *(undefined8 *)(puVar22 + 0x50) = 0x36d8b2031399e9e5; uVar11 = (~local_138[0] + 0xc5188c8b >> 0x1f | (~local_138[0] + 0xc5188c8b) * 2) ^ 0x9342c933; *(int *)(puVar22 + 0x40) = (int)*(undefined8 *)(puVar22 + 0x50); uVar11 = ~((uVar11 >> 7 | uVar11 << 0x19) + 0x86cda25d) + 0xc5fc929c; uVar11 = uVar11 >> 0x10 | uVar11 * 0x10000; *(uint *)(puVar22 + 0x60) = uVar11; if (puVar2 != puVar10) { LAB_1813ff3e2: puVar36 = puVar10; if ((pIVar32 != (IMAGE_DOS_HEADER *)0x0) && (lVar34._0_1_ = pIVar32->e_magic[0], lVar34._1_1_ = pIVar32->e_magic[1], lVar34._2_2_ = pIVar32->e_cblp, lVar34._4_2_ = pIVar32->e_cp, lVar34._6_2_ = pIVar32->e_crlc, -1 < lVar34)) { *(undefined8 *)(puVar22 + 0x50) = 0x2621fc0; lVar28 = (longlong)&DAT_182621fc0 + -*(longlong *)(puVar22 + 0x50); do { if (puVar10 < (undefined4 *)(-*(longlong *)(puVar22 + 0x50) + 0x182621fc8 + lVar34)) { if (-1 < lVar34) { plVar38 = (longlong *)(lVar28 + lVar34); plVar33 = (longlong *)(puVar10 + 1); if (plVar38 < plVar33) { local_88[0] = *puVar10; pIVar31 = pIVar32; goto LAB_1813ff450; } } break; } lVar34._0_2_ = pIVar32->e_cparhdr; lVar34._2_2_ = pIVar32->e_minalloc; lVar34._4_2_ = pIVar32->e_maxalloc; lVar34._6_2_ = pIVar32->e_ss; pIVar32 = (IMAGE_DOS_HEADER *)&pIVar32->e_cparhdr; } while (-1 < lVar34); } goto LAB_1813ff480; } LAB_1813ff69a: plVar38 = (longlong *)(ulonglong)uVar11; *(undefined4 *)(puVar22 + 0x60) = uVar6; do { *(undefined8 *)(puVar22 + -8) = 0x1813ff6aa; FUN_1813fe0aa(0x6f30); *(undefined8 *)(puVar22 + -8) = 0x1813ff6ce; FUN_181400dc7(); plVar35 = local_128; uVar26 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar26 < 0) { uVar26 = (uVar26 - 1 | 0xfffffffe) + 1; } } while (uVar26 != 0); uVar26 = *(uint *)(puVar22 + 0x70); uVar11 = uVar11 + 0xd6c7eba2; uVar17 = (uint)local_140 ^ uVar26; local_d8 = 0x7ee4cf5b; local_d4 = 0xab07d190; uVar5 = (uVar17 & 0x6593f979 ^ uVar26) + 0x4ed1481b; uVar30 = (int)(local_140 >> 0x20) + 0x7bc739d3; uVar26 = (uVar26 ^ uVar17 & 0x9a6c0686) + 0xaef7aa14; uVar5 = (uVar5 * 0x100 | uVar5 >> 0x18) & 0x9a659a65 | (uVar5 >> 8 | uVar5 * 0x1000000) & 0x659a659a; uVar27 = ((uVar26 * 0x10000 | uVar26 >> 0x10) & 0xc73b38c4 | (uVar26 >> 0x10 | uVar26 * 0x10000) & 0x38c4c73b) ^ uVar5; uVar17 = uVar30 >> 2 & 0xcccccccc | uVar30 * 0x40000000 | uVar30 * 4 & 0x33333333 | uVar30 >> 0x1e ; uVar26 = uVar27 & 0x8a578475 ^ uVar5; uVar27 = uVar27 & 0x75a87b8a ^ uVar5 ^ uVar26; uVar5 = (uVar11 >> 4 | uVar11 * 0x10000000) & 0x69696969; uVar25 = (ulonglong)uVar5; uVar5 = (uVar11 * 0x10 | uVar11 >> 0x1c) & 0x96969696 | uVar5; uVar11 = uVar27 & 0xbbb9a4a9 ^ uVar26; uVar26 = uVar27 & 0x44465b56 ^ uVar26; uVar27 = uVar26 >> 0x19 | uVar26 << 7; local_e8 = (uVar5 >> 0x1d | uVar5 << 3) + 0xbc64070c; uVar18 = (ulonglong)local_e8; uVar26 = (uVar17 >> 10 | uVar17 << 0x16) ^ uVar27; local_e4 = (uVar11 >> 0x1f | uVar11 << 1) ^ 0xea2cbcd1; uVar19 = (ulonglong)local_e4; uVar11 = uVar26 & 0xddffbe9c ^ uVar27; uVar26 = uVar26 & 0x22004163 ^ uVar27 ^ uVar11; local_e0 = (uVar26 & 0x7310039d ^ uVar11) + 0x6bb1bcf9; local_dc = uVar26 & 0x8ceffc62 ^ uVar11 ^ 0xaa7d1554; do { *(ulonglong *)(puVar22 + -8) = uVar25; uVar9 = rdtsc(); plVar38 = (longlong *)(~(((ulonglong)plVar38 ^ 0xffffffffffffffff) + 1) + 1); local_118 = (int)uVar9 + (int)((ulonglong)uVar9 >> 0x20); uVar25 = (ulonglong)local_118 + ((ulonglong)(local_118 >> 0xe) - 0x50cbe76a); uVar25 = uVar25 - ((uVar25 >> 7) + 0x3c557302); uVar20 = (-((uVar25 >> 8) * 0x8000 + -0x4c4df1ce) ^ 0xffffffffffffffff) + 1; local_154 = (int)(uVar25 >> 8) + (int)uVar20 & 0x7fffffff; uVar25 = *(ulonglong *)(puVar22 + -8); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); local_154 = local_154 ^ *(uint *)(puVar22 + 0x78); bVar40 = local_154 == 0x129e413; bVar39 = false; if (local_154 < 0x129e413) { local_a0 = local_e0; local_a8 = local_e8; local_a4 = local_e4; local_9c = local_dc; do { *(undefined8 *)(puVar22 + -8) = 0x1813ff982; uVar25 = *(ulonglong *)(puVar22 + -8); local_150 = 0x6433aecf; plVar33 = (longlong *)0x0; /* WARNING: Call to offcut address within same function */ *(undefined8 *)(puVar22 + -8) = 0x1813ff9a1; local_f8 = uVar25; func_0x0001813ffcec(); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar11 = ~(local_150 + 0xc49387f8) + 0x417f5202; uVar11 = (uVar11 >> 0x18 | uVar11 * 0x100) + 0x45f6d5e3; local_150 = uVar11 >> 2 | uVar11 * 0x40000000; *(undefined8 *)(puVar22 + -8) = 0x1813ff9ea; (*(code *)((longlong)(int)local_150 + local_f8))(&local_a8,local_60); uVar20 = (ulonglong)local_58; iVar16 = 7; do { uVar11 = (uint)uVar20; uVar5 = ((uVar11 << 4 | uVar11 >> 0x1c) & 0xb4b4b4b4 | (uVar11 >> 4 | uVar11 << 0x1c) & 0x4b4b4b4b) + 0xedf66992; uVar26 = ((local_54 >> 8 | local_54 << 0x18) & 0xfa05fa05 | (local_54 << 8 | local_54 >> 0x18) & 0x5fa05fa) + 0x703d2ee4; uVar11 = uVar5 >> 0xc; uVar26 = (uVar26 >> 0x1d | uVar26 * 8) + 0x5f26144; uVar5 = (((uVar11 | uVar5 * 0x100000) ^ 0x2677a938) >> 3 | uVar11 << 0x1d) + 0x70f6a640; uVar26 = (uVar26 * 0x8000 | uVar26 >> 0x11) + 0x191d2650; uVar17 = uVar5 >> 0x17 | uVar5 * 0x200; uVar11 = uVar26 >> 0xc; uVar26 = uVar26 * 0x100000 | uVar11; uVar5 = (uVar17 >> 8 | (uVar5 >> 0x17) << 0x18) & 0xa857a857 | (uVar17 << 8 | (uVar5 & 0x7fffff) >> 0xf) & 0x57a857a8; uVar26 = (uVar11 << 0x10 | uVar26 >> 0x10) & 0xd65429ab | (uVar26 >> 0x10 | uVar11 << 0x10) & 0x29abd654; uVar11 = uVar5 >> 6 | uVar5 << 0x1a; uVar20 = (ulonglong)uVar11; local_54 = uVar26 << 0x16 | uVar26 >> 10; iVar16 = iVar16 + -1; } while (-1 < iVar16); uVar11 = uVar11 + 0xb3f44e64; uVar11 = (uVar11 >> 8 | uVar11 * 0x1000000) + 0xcc97198f; uVar11 = ~((uVar11 >> 8 | uVar11 * 0x1000000) + 0x9837473) ^ 0x45d2bc76; uVar11 = (uVar11 << 0x1e | uVar11 >> 2) ^ 0x1b1e8cc3; uVar18 = (ulonglong)uVar11; do { *(undefined4 *)(puVar22 + 0x6c) = 0x8ed1c96b; uVar26 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar26 < 0) { uVar26 = (uVar26 - 1 | 0xfffffffe) + 1; } } while (uVar26 != 0); uVar26 = (*(int *)(puVar22 + 0x6c) + 0x877380ffU >> 0x1d | (*(int *)(puVar22 + 0x6c) + 0x877380ffU) * 8) ^ 0x2fc7d9b9; uVar26 = ~((uVar26 >> 0x11 | uVar26 << 0xf) + 0x52d8badc) + 0x748253e5; *(uint *)(puVar22 + 0x6c) = (uVar26 * 0x2000000 | uVar26 >> 7) + 0x27a35e1c; local_54 = (*(uint *)(puVar22 + 0x6c) ^ uVar11) + local_54; bVar39 = local_54 < *(uint *)(puVar22 + 0x70); bVar40 = local_54 == *(uint *)(puVar22 + 0x70); if (!bVar40) { do { *(longlong **)(puVar22 + -8) = plVar35; *(ulonglong *)(puVar22 + -0x10) = uVar19; local_f0 = FUN_180bc28c0; uVar19 = *(ulonglong *)(puVar22 + -0x10); plVar35 = *(longlong **)(puVar22 + -8); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); *(undefined8 *)(puVar22 + -8) = 0x1813ffba3; FUN_180bc28c0(); do { *(undefined8 *)(puVar22 + -8) = 0x1813ffbcc; FUN_1813fe0aa(); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } bVar39 = false; bVar40 = uVar11 == 0; } while (!bVar40); } } do { uVar14 = 0x6f30; *(undefined8 *)(puVar22 + -8) = 0x1813ffbfb; func_0x000181400f62(); if (bVar39 || bVar40) { plVar35 = (longlong *)(~(ulonglong)plVar35 + 1); if ((uVar14 & 0x43) == 0) { plVar35 = (longlong *)(((ulonglong)plVar35 ^ 0xffffffffffffffff) + 1); } else { *(undefined8 *)(puVar22 + -8) = 0x1813ffc28; func_0x00010489e5ac(); *(int *)(uVar14 - 0x7d) = *(int *)(uVar14 - 0x7d) + -1; uVar11 = in((short)uVar20); *(int *)((ulonglong)uVar11 + 0x35) = *(int *)((ulonglong)uVar11 + 0x35) + -1; uVar18 = 0x41115cfd; } } uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } bVar39 = false; bVar40 = uVar11 == 0; } while (!bVar40); uVar26 = ~*(uint *)(puVar22 + 0x48) + 0x379e6a35; uVar11 = (uVar26 >> 0xd ^ uVar26) >> 4 & 0x1ff; uVar26 = ~((uVar11 << 0xd | uVar11) << 4 ^ uVar26 ^ 0xbf51d97f); uVar11 = (uVar26 >> 0xb ^ uVar26) & 0x7ff; *(uint *)(puVar22 + 0x48) = (uVar11 << 0xb | uVar11) ^ uVar26; uVar11 = ~(*(uint *)(puVar22 + 0x40) & *(uint *)(puVar22 + 0x48)); uVar26 = ~(uVar11 & *(uint *)(puVar22 + 0x40)); uVar20 = (ulonglong)uVar26; if ((char)(((~(uVar11 & *(uint *)(puVar22 + 0x48)) & uVar26) == 0xffffffff) * '\n') != '\0') { uVar14 = (ulonglong)*(int *)(puVar22 + 0x74); puVar24 = puVar22; piVar37 = (int *)register0x00000020; do { puVar23 = puVar24; *(undefined8 *)(puVar23 + -8) = 0x1813ffdd8; uVar15 = uVar14; FUN_181401d84(); *(ulonglong *)(puVar23 + -8) = uVar20; *(ulonglong *)(puVar23 + -0x10) = uVar18; *(int **)(puVar23 + -0x18) = piVar37; uVar14 = ~(~uVar14 + 1) + 1; lVar34 = -uVar15; piVar37 = *(int **)(puVar23 + lVar34 + 0x578); uVar18 = *(ulonglong *)(puVar23 + lVar34 + 0x580); uVar20 = *(ulonglong *)(puVar23 + lVar34 + 0x588); uVar11 = (*piVar37 + 1) * *piVar37 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } uVar15 = (ulonglong)uVar11; puVar24 = puVar23 + lVar34 + 0x590; } while (uVar11 != 0); if (0 < (int)plVar35[0x19]) { if (1 < (int)plVar35[0x1c] - 1U) { *(undefined8 *)(puVar23 + lVar34 + 0x588) = 0x181400ac1; uVar9 = FUN_1813f5c70(plVar35); *(undefined8 *)(puVar23 + lVar34 + 0x588) = 0x181400acf; lVar28 = FUN_181323ff0(uVar9,plVar35); if (lVar28 == 0) { pcVar3 = *(code **)(*plVar35 + 0x180); *(undefined8 *)(puVar23 + lVar34 + 0x588) = 0x181400af5; (*pcVar3)(plVar35,auStack_120); *(undefined8 *)(puVar23 + lVar34 + 0x588) = 0x181400afe; uVar6 = FUN_180487500(auStack_120); *(undefined8 *)(puVar23 + lVar34 + 0x588) = 0x181400b09; uVar7 = FUN_1804835d0(auStack_120); *(undefined8 *)(puVar23 + lVar34 + 0x588) = 0x181400b1f; puVar10 = (undefined4 *)FUN_1804ab630(plVar35 + 0x1a,auStack_b8,uVar7,uVar6); uStack_c8 = *puVar10; uStack_c4 = puVar10[1]; uStack_c0 = puVar10[2]; uStack_bc = puVar10[3]; *(undefined1 **)(puVar23 + lVar34 + 0x588) = &LAB_181400b32; FUN_18134c170(plVar35,&uStack_c8); } else { *(undefined8 *)(puVar23 + lVar34 + 0x588) = 0x181400ae2; FUN_181323c50(uVar9,plVar35,0); } lVar28 = plVar35[0x19]; *(undefined8 *)(puVar23 + lVar34 + 0x5c8) = 0; *(undefined8 *)(puVar23 + lVar34 + 0x5c0) = DAT_1824c4140; puVar23[lVar34 + 0x5b8] = 0; *(int *)(puVar23 + lVar34 + 0x5b0) = (int)lVar28; *(undefined8 *)(puVar23 + lVar34 + 0x588) = 0x181400b73; FUN_181323e20(uVar9,plVar35,plVar35 + 0x1a,DAT_1824c3ea4); *(undefined8 *)(puVar23 + lVar34 + 0x588) = 0x181400b80; FUN_1813f43e0(plVar35,2); lVar28 = plVar35[0x19]; *(undefined1 **)(puVar23 + lVar34 + 0x588) = &LAB_181400b93; FUN_1812a77d0(plVar35 + 0x16,(int)lVar28); } *(undefined **)(puVar23 + lVar34 + 0x588) = &UNK_181400ba2; } *(undefined8 *)(puVar23 + lVar34 + 0x588) = 0x1813ffed5; pcVar8 = (char *)FUN_1813fff36(); *(ulonglong *)(puVar23 + lVar34 + 0x588) = uVar14; puVar24 = puVar23 + lVar34 + 0x588; while( true ) { *(undefined8 *)(puVar24 + -8) = 0x5417f673; *(ulonglong *)(puVar24 + -0x10) = uVar19; cVar42 = '\0'; cVar41 = (longlong)((ulonglong)pcVar8 & uVar25) < 0; *(undefined8 *)(puVar24 + -0x18) = 0x1813ffee1; pcVar8 = (char *)FUN_1813ffef9(); if (cVar42 == cVar41) { bVar39 = plVar35 < (longlong *)0x418dcd7e; bVar40 = plVar35 == (longlong *)0x418dcd7e; } else { bVar39 = plVar38 < plVar35; bVar40 = plVar38 == plVar35; } if (!bVar39 && !bVar40) break; *pcVar8 = *pcVar8 + (char)pcVar8; *(char *)(uVar15 + 0x54) = *(char *)(uVar15 + 0x54) + (char)pcVar8; puVar24 = puVar24 + -0x10; } /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } /* WARNING: Call to offcut address within same function */ *(undefined8 *)(puVar22 + -8) = 0x1813ffcda; func_0x0001813ff419(); *(longlong **)(puVar22 + -8) = plVar33; *(longlong **)(puVar22 + -0x10) = plVar35; *(longlong **)(puVar22 + -0x18) = plVar38; uVar25 = thunk_FUN_1805a9280(); return uVar25; while (plVar38 = (longlong *)(lVar28 + lVar34), plVar38 < plVar33) { LAB_1813ff450: lVar1 = lVar34 + (lVar28 - (longlong)puVar10); lVar34 = *(longlong *)&pIVar31->e_cparhdr; pIVar31 = (IMAGE_DOS_HEADER *)&pIVar31->e_cparhdr; *(longlong *)((longlong)local_88 + lVar1) = *plVar38 - lVar28; puVar36 = local_88; if (lVar34 < 0) break; } LAB_1813ff480: puVar13 = (uint *)(puVar22 + 0x48); lVar34 = (longlong)puVar36 + 0x3c2b373f; uVar18 = 0x6f30; *(undefined8 *)(puVar22 + -8) = 0x1813ff499; uVar19 = FUN_181400dc7(0x6f30,lVar34,0); do { if ((uVar18 & 0xc3) != 0) goto LAB_1813ff4b9; if ((uVar18 & 0xc300) == 0) { return 0x1eb0633; } } while ((uVar18 & 0xc300) == 0); uVar19 = (ulonglong)*puVar13; if ((uVar18 & 0xc300) == 0) goto LAB_1813ff4ee; LAB_1813ff4b9: if ((uVar19 & 0xc3) == 0) goto LAB_1813ff4ee; if ((uVar18 & 0xc3) == 0) goto LAB_1813ff509; do { *(undefined8 *)(puVar22 + -8) = 0x1813ff4c9; uVar19 = FUN_1813f7e75(); *puVar13 = (uint)uVar19; if (((uVar18 & 0xc3) == 0) && ((uVar18 & 0xc3) == 0)) goto LAB_1813ff504; LAB_1813ff4ee: do { uVar19 = (ulonglong)((uint)uVar19 ^ *(uint *)(lVar34 + -0x3c2b373f)); if ((uVar18 & 0xc3) != 0) { return uVar19; } } while ((uVar18 & 0xc300) == 0); if ((uVar18 & 0xc3) != 0) { LAB_1813ff504: if ((uVar18 & 0xc3) != 0) break; goto LAB_1813ff50e; } } while( true ); LAB_1813ff509: if ((uVar18 & 0xc3) == 0) goto LAB_1813ff4ee; LAB_1813ff50e: uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } if (uVar11 != 0) goto LAB_1813ff480; uVar26 = *(int *)(puVar22 + 0x48) * 0x10001ab; uVar11 = (int)uVar25 + *(int *)(puVar22 + 0x48) ^ ((int)uVar25 + *(int *)(puVar22 + 0x48)) * 8; uVar25 = (ulonglong)uVar11; *(uint *)(puVar22 + 0x48) = uVar26; if ((uVar11 & 0xf) != 0) { uVar25 = (ulonglong)(uVar11 * uVar11 * 0x80); } while( true ) { uVar5 = (uint)puVar10; uVar11 = uVar5 & 0x13f; iVar16 = (uVar11 + 2) * (uVar11 + 1) * uVar11; if ((((iVar16 >> 1) - (iVar16 >> 3)) + iVar16 * 0x55555555 >> 0x1e & 0x3d00U) == 0) { uVar11 = uVar5 & 0x6f; uVar5 = uVar5 & 0x5f; uVar11 = (uVar11 * uVar11 * (uVar11 + 1) * (uVar11 + 1) & 0x80000003) + (uVar5 * uVar5 * (uVar5 + 1) * (uVar5 + 1) & 1); } else { uVar11 = ((uVar26 & 0x7ff) + 1) * (uVar26 & 0x7ff) & 0x80000001; } if (uVar11 == 0) break; uVar25 = (ulonglong)(uint)((int)uVar25 * 0x40001); puVar10 = puVar10 + 1; } while( true ) { if (((ulonglong)puVar10 & 0xec) == 0) { bVar29 = ((char)puVar10 + -1) * (char)puVar10 & 1; } else { bVar29 = (byte)uVar26 & 0x3f | 0x23; bVar4 = (byte)uVar26 & 0x1f | 0x4c; bVar29 = bVar29 * bVar29 * 'C' ^ bVar4 * bVar4 * 'S'; } uVar11 = (uint)puVar10 & 0x5f; uVar5 = (uint)uVar25; if ((char)((int)(uVar11 * uVar11 * (uVar11 + 1) * (uVar11 + 1) & 2) >> (bVar29 & 0x1f)) == '\0') break; uVar25 = (ulonglong)(uVar5 ^ (uint)(uVar25 >> 0xb)); puVar10 = puVar10 + 1; } if (3 < uVar26 + uVar5) { uVar25 = (ulonglong)(uVar5 * (int)(uVar25 >> 0xd)); } uVar6 = (undefined4)uVar25; puVar10 = puVar10 + 1; if (puVar2 == puVar10) goto code_r0x0001813ff68e; goto LAB_1813ff3e2; code_r0x0001813ff68e: uVar11 = *(uint *)(puVar22 + 0x60); goto LAB_1813ff69a; } ############ FUN_ 18141b970 size=3020 ############ /* WARNING: Instruction at (ram,0x00018141bc1a) overlaps instruction at (ram,0x00018141bc17) */ /* WARNING: Removing unreachable block (ram,0x00018141c346) */ /* WARNING: Removing unreachable block (ram,0x00018141ba4a) */ /* WARNING: Removing unreachable block (ram,0x00018141b9e2) */ /* WARNING: Removing unreachable block (ram,0x00018141ba36) */ /* WARNING: Removing unreachable block (ram,0x00018141c2e7) */ /* WARNING: Removing unreachable block (ram,0x00018141bc17) */ undefined8 FUN_18141b970(undefined8 param_1) { int iVar1; longlong lVar2; uint uVar3; ulonglong uVar4; undefined8 uVar5; uint uVar6; uint *puVar7; undefined4 *puVar8; undefined4 *puVar9; undefined8 *puVar10; undefined1 *puVar11; longlong *plVar12; longlong in_R10; bool bVar13; uint unaff_retaddr; undefined8 auStack_1a8 [2]; undefined1 local_198 [40]; undefined1 *local_170; undefined8 local_160; undefined4 local_158; undefined4 local_140; undefined4 *local_138; uint local_130 [5]; uint local_11c; undefined8 local_110; undefined8 local_108; undefined1 local_100 [8]; undefined4 local_f8; undefined1 local_f4 [4]; code *local_f0; undefined4 local_e8 [2]; longlong local_e0; longlong local_d8 [5]; undefined4 local_b0 [14]; undefined8 local_78; ulonglong local_30; puVar11 = local_198; local_78 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)local_198; local_170 = (undefined1 *)((ulonglong)local_170 & 0xffffffff00000000); if (((ulonglong)&stack0x00000000 & 0xc80) == 0) { uVar3 = 1; } else { uVar3 = (uint)&stack0x00000000 & 0x14ff; uVar3 = (uVar3 + 1) * uVar3 + 0x7327 & 0x80000001; } local_11c = ((int)(-uVar3 | uVar3) >> 0x1f) * -0xc069 ^ 0xc709; local_158 = 0xcf0; local_110 = param_1; local_108 = FUN_18134b820(); FUN_18133c070(local_108,local_100); local_140 = FUN_181228de0(); local_160 = 0x100; local_138 = &DAT_181551284; local_170 = &LAB_181551384; uVar3 = (((uint)(DAT_181551284 * 0x401) >> 6 ^ DAT_181551284 * 0x401) + DAT_181551288) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18155128c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551290) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551294) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551298) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18155129c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512a0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512a4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512a8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512ac) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512b0) * 0x401; do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = (DAT_1815512b4 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512b8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512bc) * 0x401; do { local_f8 = 0x8308de53; FUN_18141a532(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = (DAT_1815512c0 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512c4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512c8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512cc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512d0) * 0x401; uVar6 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512d4) * 0x401; uVar3 = uVar6 >> 6; uVar4 = (ulonglong)(uVar6 ^ uVar3); do { if (0xf030 < uVar3) { in_R10 = in_R10 + uVar4; uVar4 = ~(((uVar4 - in_R10 ^ 0xffffffffffffffff) + 1) - in_R10) + 1; in_R10 = in_R10 - uVar4; } uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } uVar3 = unaff_retaddr; } while (uVar6 != 0); uVar3 = (DAT_1815512d8 + (int)uVar4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512dc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512e0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512e4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512e8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512ec) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512f0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512f4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512f8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1815512fc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551300) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551304) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551308) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18155130c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551310) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551314) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551318) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18155131c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551320) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551324) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551328) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18155132c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551330) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551334) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551338) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18155133c) * 0x401; do { puVar7 = local_130; func_0x00018141ad03(puVar7,local_130); uVar5 = rdtsc(); *puVar7 = (uint)uVar5 ^ (uint)((ulonglong)uVar5 >> 0x20); FUN_18141a8a5(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_130[0] = (local_130[0] * -0x13ac51cb >> 0x18 ^ local_130[0] * -0x13ac51cb) * 0x5bd1ff51; if (local_130[0] < 0x36dd63) { do { local_f0 = FUN_18141db20; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar4 = FUN_18141db20(0,0x8f03); if (1 < uVar4) { FUN_18113eab0(); } } uVar3 = (DAT_181551340 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551344) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181551348) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18155134c) * 0x401; uVar3 = uVar3 ^ uVar3 >> 6; do { bVar13 = (int)uVar3 < 0; uVar4 = 0xf030; *(undefined8 *)(puVar11 + -8) = 0x18141c12a; uVar5 = FUN_18141ce2d(); if ((!bVar13) && ((uVar4 & 0xe300) == 0)) { *(undefined8 *)(puVar11 + -8) = 0; puVar10 = (undefined8 *)(puVar11 + -0x10); puVar11 = puVar11 + -0x10; *puVar10 = CONCAT71((int7)((ulonglong)uVar5 >> 8),(char)uVar5 + '@'); } *(undefined8 *)(puVar11 + -8) = 0x18141c14e; FUN_18141ab58(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { *(undefined8 *)(puVar11 + -8) = 0x18141c21b; func_0x00018141b801(0xf030); *(undefined8 *)(puVar11 + -8) = 0x18141c23f; FUN_18141d26b(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); *(undefined8 *)(puVar11 + 0x28) = 0xfd6920a9b61a1c3; *(int *)(puVar11 + 0x28) = (int)*(undefined8 *)(puVar11 + 0x28); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { plVar12 = &local_e0; puVar9 = local_e8; puVar8 = (undefined4 *)(puVar11 + 0x50); *(undefined8 *)(puVar11 + -8) = 0x18141c3a4; FUN_18141e024(); *(undefined8 *)(puVar11 + -8) = 0x18141c3a9; lVar2 = *(longlong *)(puVar11 + -8); *puVar8 = 0x6c45377f; *puVar9 = 0x5d; *plVar12 = lVar2; *(undefined8 *)(puVar11 + -8) = 0x18141c3c8; FUN_18141da4a(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = *(uint *)(puVar11 + 0x50); uVar6 = (uVar3 >> 0x10 ^ uVar3) >> 4 & 0x1ff; uVar3 = (uVar6 << 0x10 | uVar6) << 4 ^ uVar3; uVar6 = uVar3 << 10 | uVar3 >> 0x16; uVar3 = ((uVar6 << 4 | (uVar3 & 0x3fffff) >> 0x12) & 0xa5a5a5a5 | (uVar6 >> 4 | (uVar3 >> 0x16) << 0x1c) & 0x5a5a5a5a) + 0x6d760bdf; uVar3 = (((uVar3 >> 0x10 | uVar3 * 0x10000) & 0xa9ef5610 | (uVar3 * 0x10000 | uVar3 >> 0x10) & 0x5610a9ef) >> 3 | (uVar3 >> 0x10) << 0x1d) ^ 0xd4e49d48; uVar6 = (uVar3 << 0x10 | uVar3 >> 0x10) & 0xe8c81737 | (uVar3 >> 0x10 | uVar3 << 0x10) & 0x1737e8c8; uVar3 = (uVar6 >> 0x11 ^ uVar6) >> 2 & 0xff; *(uint *)(puVar11 + 0x50) = uVar6 ^ (uVar3 << 0x11 | uVar3) << 2; do { plVar12 = local_d8; puVar9 = local_b0; puVar8 = (undefined4 *)(puVar11 + 0x70); *(undefined8 *)(puVar11 + -8) = 0x18141c482; func_0x00018141aa2a(); *(undefined8 *)(puVar11 + -8) = 0x18141c487; lVar2 = *(longlong *)(puVar11 + -8); *puVar8 = 0xe1ea9fd; *puVar9 = 10; *plVar12 = lVar2; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = *(uint *)(puVar11 + 0x70); uVar6 = (uVar3 >> 8 ^ uVar3) >> 4 & 0xff; uVar3 = uVar3 ^ (uVar6 << 8 | uVar6) << 4; uVar3 = (uVar3 << 0x10 | uVar3 >> 0x10) & 0xcf1030ef | (uVar3 >> 0x10 | uVar3 << 0x10) & 0x30efcf10; uVar6 = uVar3 >> 0x17 | uVar3 << 9; uVar3 = (uVar6 >> 8 ^ uVar6) & 0x1f; uVar6 = (uVar3 << 8 | uVar3) ^ uVar6; uVar3 = (uVar6 >> 3 | uVar6 << 0x1d) + 0xe796fcf0; uVar3 = (uVar3 * 0x1000 | uVar3 >> 0x14) ^ 0xbdaccd2c; iVar1 = *(int *)(puVar11 + 0x50); *(longlong *)(puVar11 + 0x38) = local_e0; *(longlong *)(puVar11 + 0x60) = local_d8[0]; *(undefined4 *)(puVar11 + 0x50) = 0; *(undefined4 *)(puVar11 + 0x70) = 0; *(longlong *)((longlong)iVar1 + 4 + local_e0) = *(longlong *)((longlong)iVar1 + 4 + local_e0) + (*(ulonglong *) (((longlong)(int)(uVar3 >> 8 | uVar3 << 0x18) & 0xfffffffff708f708U | (ulonglong)((uVar3 << 8 | uVar3 >> 0x18) & 0x8f708f7)) + 4 + local_d8[0]) >> 0xc & 0x93503404); *(longlong *)(puVar11 + -8) = lVar2; *(undefined8 *)(puVar11 + -0x10) = 0x18141c59a; /* WARNING: Could not recover jumptable at 0x00018141c59f. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar5 = (*(code *)(*(longlong *)(puVar11 + -0x10) + 10))(puVar11 + 0x54,local_f4); return uVar5; } ############ FUN_ 18141db50 size=837 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x00018141dd88) overlaps instruction at (ram,0x00018141dd85) */ /* WARNING: Removing unreachable block (ram,0x00018141dbc8) */ void FUN_18141db50(undefined8 param_1) { undefined8 uVar1; ulonglong uVar2; uint uVar3; uint *puVar4; uint uVar5; int unaff_retaddr; undefined1 auStack_198 [72]; uint local_150 [4]; undefined4 local_140; uint local_120; uint local_11c; code *local_110; undefined4 local_108; undefined8 local_100; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_198; uVar3 = (uint)&stack0x00000000; uVar5 = ((uVar3 & 0xfff) * (uVar3 & 0xfff) * 0x10 + 4) % 0x13; uVar5 = (int)(-uVar5 | uVar5) >> 0x1f; local_120 = ((int)(-uVar5 | uVar5) >> 0x1f) * -0x6c71 ^ 0x61e1; if ((((uVar3 & 0x1ff) * (uVar3 & 0x1ff) * 0x10 + 4) % 0x13 & 0x1e8) == 0) { uVar3 = 0; } else { uVar3 = uVar3 & 0x2ff; uVar3 = ((uVar3 + 2) * (uVar3 + 1) * uVar3) % 3; } local_11c = (uVar3 | 0x435) ^ 0x6f5; do { local_108 = 0xf585c1f1; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_140 = 0x9f4c3416; local_100 = param_1; do { /* WARNING: Call to offcut address within same function */ func_0x00018141de91(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { puVar4 = local_150; FUN_18141db10(puVar4,local_150); uVar1 = rdtsc(); *puVar4 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_150[0] = (local_150[0] * -0x12aae57b >> 0x18 ^ local_150[0] * -0x12aae57b) * -0x359451cb; if (local_150[0] < 0x17d05f3f) { do { local_110 = FUN_1813f2240; /* WARNING: Call to offcut address within same function */ func_0x00018141de91(&local_110,0x5a48); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*local_110)(); if (1 < uVar2) { FUN_18113eab0(); } } FUN_18141decb(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 18142e3f0 size=2074 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018142ec5c) */ /* WARNING: Removing unreachable block (ram,0x00018142e4f5) */ /* WARNING: Removing unreachable block (ram,0x00018142e6bb) */ void FUN_18142e3f0(undefined8 param_1,undefined8 param_2) { undefined8 uVar1; ulonglong uVar2; int *piVar3; uint uVar4; undefined4 *puVar5; ulonglong uVar6; uint uVar7; longlong *plVar8; int unaff_retaddr; undefined1 auStack_1b8 [56]; int local_180; uint local_170; undefined4 local_164; int local_158 [4]; undefined4 local_148; uint local_140; undefined4 local_130; code *local_128; undefined8 local_120; undefined1 local_118 [24]; longlong local_100; longlong local_f8; longlong local_f0; undefined4 local_e8 [4]; undefined4 local_d8; undefined8 local_b8; ulonglong local_40; local_b8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_1b8; uVar7 = (uint)&stack0x00000000 & 0x15ff; uVar7 = uVar7 * uVar7 * 0x10 + 4; local_140 = 0x3f5d << ((byte)(0 << ((char)uVar7 + (char)(uVar7 / 0x13) * -0x13 & 0x1fU)) & 0x1f) ^ 0x31cd; local_148 = 0x9f0; local_120 = param_1; uVar1 = FUN_1812dc020(param_2,&local_100); FUN_181248e40(uVar1,local_118); FUN_1804951e0(local_100 + -0x10); do { uVar1 = rdtsc(); local_170 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_18142dfd2(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_170 = (local_170 * -0x51ca7333 >> 0x18 ^ local_170 * -0x51ca7333) * -0xae12ab; if (local_170 < 0x7b301ef) { do { local_128 = FUN_1813f2240; FUN_18142de30(&local_128,0x8858); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar2 = (*local_128)(); if (1 < uVar2) { FUN_18113eab0(); } } do { local_130 = 0xef25eea4; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_164 = 0x42d26b75; do { FUN_18142f036(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { local_d8 = 0x1f; local_f8 = 0x18142e707; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_180 = 0x11fbf85; do { plVar8 = &local_f0; puVar5 = local_e8; piVar3 = local_158; FUN_18143011e(); *piVar3 = 0x300bdc4d; *puVar5 = 0x70; *plVar8 = 0x18142e7f7; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = local_158[0] + 0xa9439d39; uVar7 = (uVar4 >> 0xb ^ uVar4) & 0x7ff; uVar4 = uVar4 ^ (uVar7 << 0xb | uVar7); uVar7 = (uVar4 << 0x10 | uVar4 >> 0x10) & 0xd7b82847 | (uVar4 >> 0x10 | uVar4 << 0x10) & 0x2847d7b8; uVar7 = ((uVar7 << 0x10 | uVar7 >> 0x10) & 0xd93226cd | (uVar7 >> 0x10 | uVar7 << 0x10) & 0x26cdd932) + 0xb68e753e; uVar7 = (uVar7 >> 0x12 | uVar7 * 0x4000) + 0x18cc69dd; local_f8 = local_180 + local_f8; local_f0 = (int)((uVar7 * 4 & 0xcccccccc | uVar7 >> 2 & 0x33333333) + 0xc8b201b9) + local_f0; *(longlong *)(local_f8 + 4) = *(longlong *)(local_f8 + 4) + (ulonglong)((uint)(*(ulonglong *)(local_f0 + 4) >> 0x12) & 0x14220410); do { uVar1 = rdtsc(); uVar2 = (ulonglong)(uint)((int)uVar1 + (int)((ulonglong)uVar1 >> 0x20) * 2) * -0xc0f3f - 0x175f3173; uVar2 = uVar2 >> 10 | uVar2 << 0x36; uVar7 = (uint)(uVar2 + (uVar2 * 3 >> 0xc) + 0xa9765bf >> 0xb); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); *(int *)(local_f8 + 8) = *(int *)(local_f8 + 8) + (uVar7 ^ 0xee24d431); *(int *)(local_f8 + 4) = *(int *)(local_f8 + 4) + (uVar7 ^ 0xcf6e0560); uVar2 = *(ulonglong *)(local_f8 + 4); uVar7 = (uint)((uVar2 >> 0x27 ^ uVar2) >> 0xe) & 7; uVar6 = ((ulonglong)uVar7 << 0x27 | (ulonglong)uVar7) << 0xe ^ uVar2; uVar2 = ((uVar6 << 4 | uVar2 >> 0x3c) & 0x9696969696969696 | (uVar6 >> 4 | uVar2 << 0x3c) & 0x6969696969696969) ^ 0x8e12f3f1a236b05f; uVar2 = uVar2 >> 2 & 0xcccccccccccccccc | uVar2 << 0x3e | (uVar2 & 0xccccccccccccccc) << 2 | uVar2 >> 0x3e; uVar2 = ((uVar2 << 0x10 | uVar2 >> 0x30) & 0x92566da992566da9 | (uVar2 >> 0x10 | uVar2 << 0x30) & 0x6da992566da99256) ^ 0x5991b5fdfcac1ed6; uVar2 = ((uVar2 >> 0x10 | uVar2 << 0x30) & 0xa2205ddfa2205ddf | (uVar2 << 0x10 | uVar2 >> 0x30) & 0x5ddfa2205ddfa220) + 0x360b57480f19b241; uVar2 = (uVar2 * 0x10 | uVar2 >> 0x3c) & 0x8787878787878787 | (uVar2 >> 4 | uVar2 << 0x3c) & 0x7878787878787878; *(ulonglong *)(local_f8 + 4) = uVar2; plVar8 = (longlong *)(local_f0 + 4); *plVar8 = *plVar8 + (uVar2 >> 0x1a & 0xc1409000); return; } ############ FUN_ 18143b960 size=1876 ############ /* WARNING: Removing unreachable block (ram,0x00018143beea) */ /* WARNING: Removing unreachable block (ram,0x00018143ba68) */ /* WARNING: Removing unreachable block (ram,0x00018143babd) */ /* WARNING: Removing unreachable block (ram,0x00018143bf2e) */ /* WARNING: Removing unreachable block (ram,0x00018143be95) */ /* WARNING: Removing unreachable block (ram,0x00018143bec8) */ /* WARNING: Removing unreachable block (ram,0x00018143bece) */ void FUN_18143b960(undefined8 param_1,undefined8 param_2) { undefined8 uVar1; ulonglong uVar2; undefined4 *puVar3; int *piVar4; longlong lVar5; uint uVar6; longlong *plVar7; uint uVar8; IMAGE_DOS_HEADER *pIVar9; uint *puVar10; int iVar11; IMAGE_DOS_HEADER *pIVar12; uint uVar13; int *piVar14; undefined4 *puVar15; int unaff_retaddr; undefined1 auStack_198 [32]; undefined8 local_178; uint local_170 [2]; undefined4 *local_168; undefined8 local_160; undefined8 local_150; undefined8 local_148; uint local_140; uint local_138; uint local_124; uint local_120; code *local_118; int local_10c [17]; undefined8 local_c8; undefined4 local_98 [20]; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_198; uVar13 = (uint)&stack0x00000000; uVar8 = (((uVar13 & 0x1ff) + 1) * (uVar13 & 0x1ff) + 7) % 0x51; local_120 = ((int)(-uVar8 | uVar8) >> 0x1f) * -0x47ac ^ 0x474c; uVar6 = uVar13 & 0x13f; uVar8 = ((uVar13 & 0x8ff) + 1) * (uVar13 & 0x8ff) + 0x138b & 0x80000001; uVar8 = (int)(-uVar8 | uVar8) >> 0x1f; local_124 = (0x2c >> ((char)((ulonglong) ((longlong)(int)((uVar6 + 2) * (uVar6 + 1) * uVar6) * 0x55555556) >> 0x20) * -3 & 0x1fU) | 0x606eU) ^ ((int)(-uVar8 | uVar8) >> 0x1f) * -0x6d1e; local_148 = param_2; local_c8 = param_1; do { FUN_18143b341(0x460c); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uVar1 = rdtsc(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x166a7a15; local_140 = (uVar8 >> 0x18 ^ uVar8) * -0x166a13ad; piVar14 = (int *)register0x00000020; if (local_140 < 0x7fffffff) { do { local_118 = FUN_1813f2240; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar2 = FUN_1813f2240(0,0x5871); if (1 < uVar2) { FUN_18113eab0(); } } do { piVar14 = (int *)-(~(ulonglong)piVar14 + 1); uVar8 = (*piVar14 + 1) * *piVar14 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); pIVar12 = &IMAGE_DOS_HEADER_180000000; local_150 = 0x110; puVar3 = &DAT_181415620; uVar8 = 0; local_160 = 0xf86ef99e6c52c321; local_178 = 0x16c52c321; local_168 = puVar3; do { FUN_18143d69a(0x460c); uVar6 = (*piVar14 + 1) * *piVar14 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_170[0] = 0; do { piVar4 = local_10c; FUN_18143a759(); *piVar4 = -0x48764f8; FUN_18143d118(); uVar6 = (*piVar14 + 1) * *piVar14 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = ((local_10c[0] + 0x33ec8702U) * 0x10 | local_10c[0] + 0x33ec8702U >> 0x1c) + 0x533f990b; uVar6 = (uVar6 >> 0xd | uVar6 * 0x80000) + 0x5a38037b; local_150 = CONCAT44(local_150._4_4_,~((uVar6 >> 0xd | uVar6 * 0x80000) + 0xa5b2247a) + 0x856b7050 ); local_168 = (undefined4 *)CONCAT44(local_168._4_4_,0x1c1aa5bc); iVar11 = 0x1c1aa5bc; LAB_18143be90: uVar6 = uVar8 & 0x3f | 0x39; if (((((local_170[0] & 0x62ff) + 1) * (local_170[0] & 0x62ff) & 0x80000001 ^ (uVar8 ^ 0x5502 | 0x8af1)) & (uVar8 ^ 0x5f63) ^ 0x5e73) == (uint)(uVar6 * uVar6 * 0xd117 == iVar11)) { local_138 = local_170[0]; FUN_18143c10b(); (*(code *)0xfffffffffff94e07)(); return; } puVar15 = puVar3; if ((pIVar12 != (IMAGE_DOS_HEADER *)0x0) && (lVar5._0_1_ = pIVar12->e_magic[0], lVar5._1_1_ = pIVar12->e_magic[1], lVar5._2_2_ = pIVar12->e_cblp, lVar5._4_2_ = pIVar12->e_cp, lVar5._6_2_ = pIVar12->e_crlc, -1 < lVar5)) { local_160 = 0x2621fc0; do { if (puVar3 < IMAGE_DOS_HEADER_180000000.e_magic + lVar5 + 8) { if (-1 < lVar5) { plVar7 = (longlong *)(lVar5 + 0x180000000); if (plVar7 < puVar3 + 1) { local_98[0] = *puVar3; pIVar9 = pIVar12; goto LAB_18143c010; } } break; } lVar5._0_2_ = pIVar12->e_cparhdr; lVar5._2_2_ = pIVar12->e_minalloc; lVar5._4_2_ = pIVar12->e_maxalloc; lVar5._6_2_ = pIVar12->e_ss; pIVar12 = (IMAGE_DOS_HEADER *)&pIVar12->e_cparhdr; } while (-1 < lVar5); } goto LAB_18143c02f; while (plVar7 = (longlong *)(lVar5 + 0x180000000), plVar7 < puVar3 + 1) { LAB_18143c010: pIVar9 = (IMAGE_DOS_HEADER *)&pIVar9->e_cparhdr; *(longlong *)((longlong)local_98 + lVar5 + (0x180000000 - (longlong)puVar3)) = *plVar7 + -0x180000000; lVar5 = *(longlong *)pIVar9; puVar15 = local_98; if (lVar5 < 0) break; } LAB_18143c02f: local_170[0] = local_170[0] * 0xc1; do { puVar10 = local_170; /* WARNING: Call to offcut address within same function */ func_0x00018143bfd2(0x460c,puVar15 + 0xf0f01b5,0); uVar6 = FUN_18143da4c(); *puVar10 = uVar6; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar8 = uVar8 + 4; puVar3 = puVar3 + 1; iVar11 = (int)local_168; goto LAB_18143be90; } ############ FUN_ 181443540 size=678 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018144363c) */ /* WARNING: Removing unreachable block (ram,0x000181443668) */ /* WARNING: Removing unreachable block (ram,0x0001814436c5) */ void FUN_181443540(longlong param_1,undefined8 param_2) { undefined8 uVar1; ulonglong uVar2; uint uVar3; uint *puVar4; int unaff_retaddr; undefined1 auStack_1b8 [88]; uint local_160 [8]; undefined8 local_140; undefined4 local_134; uint local_124; uint local_120; code *local_118; longlong local_110; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_1b8; uVar3 = (uint)&stack0x00000000; local_124 = 0x8479 << ((char)((byte)(-(((uVar3 & 0x55ff) * (uVar3 & 0x55ff) + 1) % 7) >> 0x18) ^ (byte)(-((((uVar3 & 0xaff) + 1) * (uVar3 & 0xaff) + 7) % 0x51) >> 0x18)) >> 7 & 0x1fU) ^ 0x8809; uVar3 = ((uVar3 & 0x3dff) * (uVar3 & 0x3dff) + 1) % 7; local_120 = ((int)(-uVar3 | uVar3) >> 0x1f) * -0x1223 ^ 0x1113; local_134 = *(undefined4 *)(param_1 + 0x3a0); local_140 = param_2; local_110 = param_1; do { puVar4 = local_160; FUN_181443855(puVar4,local_160); uVar1 = rdtsc(); *puVar4 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_160[0] = (local_160[0] * -0x12aa13ad >> 0x18 ^ local_160[0] * -0x12aa13ad) * -0x51cae57b; if (local_160[0] < 0x563b48f) { do { local_118 = FUN_1813bba80; FUN_181442bd1(&local_118,0xf0ad); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*local_118)(); if (1 < uVar2) { FUN_18113eab0(); } } /* WARNING: Call to offcut address within same function */ func_0x000181443804(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 181476c50 size=3092 ############ /* WARNING: Instruction at (ram,0x000181477615) overlaps instruction at (ram,0x000181477612) */ /* WARNING: Removing unreachable block (ram,0x000181476e48) */ /* WARNING: Removing unreachable block (ram,0x000181476de5) */ /* WARNING: Removing unreachable block (ram,0x00018147760e) */ undefined1 FUN_181476c50(undefined8 *param_1,longlong param_2,undefined8 param_3) { undefined8 *puVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 uVar4; longlong lVar5; longlong lVar6; longlong lVar7; longlong lVar8; longlong lVar9; uint *puVar10; ulonglong uVar11; ulonglong uVar12; code **ppcVar13; uint uVar14; undefined4 *puVar15; uint uVar16; longlong *plVar17; ulonglong uVar18; undefined4 uVar19; int unaff_retaddr; undefined1 auStack_288 [40]; ulonglong local_260; uint local_258 [2]; longlong local_250; undefined8 local_248; undefined8 local_240; uint local_238 [2]; uint local_230; undefined *local_228; uint local_220 [6]; undefined8 *local_208; undefined8 *local_200; undefined8 local_1f8; undefined4 local_1f0; uint local_1ec; undefined4 local_1e8; uint local_1e4; undefined1 *local_1e0; code *local_1d8; undefined8 *local_1d0; undefined1 local_1c8 [8]; undefined1 local_1c0 [8]; undefined1 local_1b8 [48]; longlong local_188; longlong local_180; undefined1 local_178 [8]; undefined1 local_170 [56]; undefined4 local_138; undefined4 local_134; undefined8 local_130; undefined8 uStack_128; undefined8 local_120; undefined8 local_118; undefined8 *local_110; undefined1 local_108 [16]; undefined8 *local_f8; ulonglong local_48; local_118 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_288; local_1d0 = param_1; local_f8 = param_1; FUN_181489570(); local_208 = param_1 + 0x1c; param_1[0x1f] = 0xffffffffffffffff; lVar9 = 0; *(undefined4 *)(param_1 + 0x20) = 0; *param_1 = PresetComponent::vftable; param_1[0x16] = PresetComponent::vftable; *local_208 = PresetComponent::vftable; param_1[0x1d] = PresetComponent::vftable; param_1[0x1e] = PresetComponent::vftable; local_200 = param_1 + 0x21; FUN_181600080(local_200,param_1,*(undefined8 *)(*(longlong *)(param_2 + 0x130) + 0x2b8),1); param_1[0x89] = param_3; FUN_18129e350(param_1 + 0x8a); param_1[0x8f] = 0; *(undefined1 *)(param_1 + 0x90) = 0; uVar16 = (uint)&stack0x00000000 & 0xdff; uVar16 = (uVar16 * uVar16 * 0x10 + 4) % 0x13; local_1e4 = ((int)(-uVar16 | uVar16) >> 0x1f) * 0x2a & 0x7f16U ^ 0x7e86; local_1e8 = 0x2a0; local_240 = 0x180000000; local_260 = 0; local_228 = &DAT_1806606e8; local_248 = 0x18066100c; do { puVar15 = &local_134; puVar10 = local_258; plVar17 = &local_188; FUN_181476420(); *puVar10 = 0x8e907078; *puVar15 = 0x4e; *plVar17 = 0x181476f97; FUN_18147518b(); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); local_258[0] = local_258[0] + 0x77d2aa16; uVar16 = (local_258[0] >> 4 | local_258[0] * 0x10000000) & 0xb4b4b4b4 | (local_258[0] * 0x10 | local_258[0] >> 0x1c) & 0x4b4b4b4b; uVar14 = uVar16 << 0x18 | uVar16 >> 8; uVar16 = (uVar14 >> 0x10 ^ uVar14) >> 1 & 0x3fff; uVar14 = uVar14 ^ (uVar16 << 0x10 | uVar16) * 2; uVar16 = (uVar14 & 0x33333333) << 2 | uVar14 >> 2 & 0x33333333; uVar14 = (uVar16 >> 0xb | uVar16 << 0x15) + 0x10b1d077; uVar16 = (uVar14 >> 0xf ^ uVar14) & 0x7fff; uVar16 = uVar14 ^ (uVar16 << 0xf | uVar16); local_258[0] = (uVar16 >> 2 | uVar16 << 0x1e) & 0x99999999 | (uVar16 << 2 | uVar14 >> 0x1e) & 0x66666666; do { plVar17 = &local_180; puVar15 = &local_138; puVar10 = local_220; FUN_18147619c(); *puVar10 = 0xfdfa362; *puVar15 = 0x1e; *plVar17 = 0x181477087; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar16 = (local_220[0] >> 0x10 ^ local_220[0]) & 1; uVar16 = local_220[0] ^ (uVar16 << 0x10 | uVar16); uVar16 = ((uVar16 >> 8 | uVar16 << 0x18) & 0xf30cf30c | (uVar16 << 8 | local_220[0] >> 0x18) & 0xcf30cf3) ^ 0x80ecd58f; uVar16 = ((uVar16 >> 4 | uVar16 << 0x1c) & 0x96969696 | (uVar16 << 4 | uVar16 >> 0x1c) & 0x69696969) + 0x13f6c098; uVar16 = (uVar16 * 0x100 | uVar16 >> 0x18) & 0x946b946b | (uVar16 >> 8 | uVar16 * 0x1000000) & 0x6b946b94; uVar16 = (uVar16 << 0x19 | uVar16 >> 7) ^ 0xcf6c706d; local_188 = (int)local_258[0] + local_188; local_180 = ((longlong)(int)(uVar16 << 0x10 | uVar16 >> 0x10) & 0xffffffffe0271fd8U | (ulonglong)((uVar16 >> 0x10 | uVar16 << 0x10) & 0x1fd8e027)) + local_180; local_258[0] = 0; local_220[0] = 0; *(longlong *)(local_188 + 4) = *(longlong *)(local_188 + 4) + (*(ulonglong *)(local_180 + 4) >> 0x1b & 0x8005008a); uVar11 = *(ulonglong *)(local_188 + 4); uVar11 = ((uVar11 >> 8 | uVar11 << 0x38) & 0xf30cf30cf30cf30c | (uVar11 << 8 | uVar11 >> 0x38) & 0xcf30cf30cf30cf3) + 0x6a338d5713ce5402; uVar12 = uVar11 >> 0x1a | uVar11 << 0x26; uVar12 = (uVar12 >> 0x10 | (uVar11 >> 0x1a) << 0x30) & 0x856d7a92856d7a92 | (uVar12 << 0x10 | (uVar11 & 0x3ffffff) >> 10) & 0x7a92856d7a92856d; uVar18 = uVar12 >> 0x2a | uVar12 << 0x16; uVar11 = (ulonglong)((uint)((uVar18 >> 0x10 ^ uVar18) >> 1) & 7); uVar18 = uVar18 ^ (uVar11 << 0x10 | uVar11) * 2; uVar12 = (uVar18 << 0x10 | (uVar12 & 0x3ffffffffff) >> 0x1a) & 0xeba5145aeba5145a | (uVar18 >> 0x10 | uVar18 << 0x30) & 0x145aeba5145aeba5; uVar11 = (ulonglong)((uint)((uVar12 >> 0x14 ^ uVar12) >> 1) & 0x3fff); uVar11 = uVar12 ^ (uVar11 << 0x14 | uVar11) * 2 ^ 0xbfbe7579974ff3ff; *(ulonglong *)(local_188 + 4) = uVar11; plVar17 = (longlong *)(local_180 + 4); *plVar17 = *plVar17 + (uVar11 >> 0xf & 0x860000d8); local_1ec = (uint)(*(ulonglong *)(local_188 + 4) >> 0x12) & 0x7fffffff; local_230 = (uint)(*(ulonglong *)(local_188 + 4) >> 0x1a) ^ 0x8b6d72fb; local_260 = *(ulonglong *)(local_188 + 4) ^ 0x54b481b7214c784f; do { local_1f0 = 0xaff9cd9f; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); do { puVar10 = local_238; /* WARNING: Call to offcut address within same function */ func_0x000181477569(puVar10,local_238); uVar3 = rdtsc(); *puVar10 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); local_238[0] = (local_238[0] * -0xae5029 >> 0x18 ^ local_238[0] * -0xae5029) * -0x73324602; if (local_238[0] < 0x820820f) { local_1d8 = (code *)0x0; do { ppcVar13 = &local_1d8; uVar19 = FUN_181476181(ppcVar13,&local_1d8); *ppcVar13 = FUN_18141db20; FUN_181478705(uVar19,0x3a0); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar11 = (*local_1d8)(); if (1 < uVar11) { FUN_18113eab0(); } } uVar3 = FUN_1811316e0(0x2a0); local_110 = &local_130; local_1e0 = local_1c8; local_130 = 0; uStack_128 = 0; local_120 = 0; local_250 = uVar3; FUN_18049c4e0(local_1c8,"delete preset"); FUN_18049c4e0(local_1c0,"delete preset"); uVar3 = FUN_181601a20(uVar3,local_1c0,local_1c8,&local_130); param_1[0x8f] = uVar3; uVar3 = FUN_1811316e0(0xe8); local_1f8 = uVar3; FUN_18049c4e0(local_1b8,"keywords"); local_250 = FUN_1815ef7f0(uVar3,local_1b8); if (local_250 == 0) { local_250 = 0; } else { local_250 = local_250 + 200; } lVar6 = param_1[0x8f] + 0x1e0; if (param_1[0x8f] == 0) { lVar6 = lVar9; } uVar3 = FUN_1811316e0(0xe8); local_1f8 = uVar3; uVar4 = FUN_18124a880(local_178,"actions"); lVar5 = FUN_1815ef7f0(uVar3,uVar4); lVar7 = lVar5 + 200; if (lVar5 == 0) { lVar7 = lVar9; } uVar3 = FUN_1815eeb10(param_1 + 0x21,lVar7); uVar3 = FUN_1815eeb10(uVar3,lVar6); FUN_1815eeb10(uVar3,local_250); uVar3 = (**(code **)(*(longlong *)param_1[0x89] + 0x40))(); lVar6 = FUN_1804730e0(uVar3); lVar7 = FUN_180485e50(uVar3); puVar2 = local_200; puVar1 = local_208; for (; lVar6 != lVar7; lVar6 = lVar6 + 8) { uVar3 = FUN_1811316e0(0x2b8); local_1f8 = uVar3; uVar4 = FUN_18124a830(local_170,lVar6); lVar8 = FUN_18148b250(uVar3,uVar4); FUN_18056aa40(lVar8 + 0xf0,puVar1); lVar5 = lVar8 + 200; if (lVar8 == 0) { lVar5 = lVar9; } FUN_1815eeb10(puVar2,lVar5); param_1 = local_1d0; } local_1f8 = FUN_1811316e0(0x6c8); lVar9 = FUN_18148bbe0(local_1f8); do { uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar3 = FUN_180485410(local_108,param_1); FUN_18057a740(lVar9 + 0x100,uVar3); local_208 = (undefined8 *)CONCAT44(local_208._4_4_,0xe9955bd1); local_250 = local_248; if (lVar9 == 0) { lVar9 = 0; } else { lVar9 = lVar9 + 200; } FUN_1815eeb10(local_200,lVar9); local_228 = (undefined *)CONCAT44(local_228._4_4_,0x5bd1e995); /* WARNING: Call to offcut address within same function */ uVar11 = func_0x000181477730(); return (&DAT_5bd1e995)[uVar11 & 0xff]; } ############ FUN_ 1814815a0 size=1646 ############ /* WARNING: Control flow encountered bad instruction data */ void FUN_1814815a0(undefined8 param_1) { undefined8 uVar1; uint uVar2; undefined4 uVar3; uint *puVar4; ulonglong uVar5; undefined4 *puVar6; longlong *plVar7; ulonglong uVar8; ulonglong uVar9; uint uVar10; longlong lVar11; int unaff_retaddr; undefined1 auStack_1d8 [40]; undefined *local_1b0; undefined8 local_1a8; undefined *local_1a0; int local_198; uint local_194; uint local_188; uint local_180; undefined4 local_17c; uint local_178 [6]; undefined8 local_160; ulonglong local_158; undefined4 local_150; uint local_148; code *local_140; undefined8 local_138; undefined4 local_130 [2]; longlong local_128; longlong local_120; undefined4 local_118; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_1d8; if (((ulonglong)&stack0x00000000 & 0x380) == 0) { uVar10 = (uint)&stack0x00000000 & 0x37f; uVar10 = ((uVar10 + 2) * (uVar10 + 1) * uVar10) % 3; } else { uVar10 = 0; } local_194 = (0x1000 - uVar10 | 0x94a8) ^ 0x9428; local_17c = 0xa0; do { local_150 = 0x810e82bc; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); do { local_118 = 0x2b; local_128 = 0x181481777; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); local_198 = 0x11a902d; local_138 = param_1; do { plVar7 = &local_120; puVar6 = local_130; puVar4 = local_178; FUN_181482145(); *puVar4 = 0xf38f1fe0; *puVar6 = 0x5f; *plVar7 = 0x181481857; FUN_181483252(); uVar10 = local_178[0]; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); lVar11 = local_198 + local_128; local_198 = 0; uVar2 = (local_178[0] >> 0x10 ^ local_178[0]) >> 3 & 0xfff; local_178[0] = 0; uVar2 = (uVar2 << 0x10 | uVar2) << 3 ^ uVar10 ^ 0xd7d6f936; uVar10 = (uVar2 >> 0xe ^ uVar2) & 0x7ff; uVar2 = (uVar10 << 0xe | uVar10) ^ uVar2; uVar10 = (uVar2 >> 0x13 | uVar2 << 0xd) + 0x12eb0d07; uVar10 = ((uVar10 * 0x10 | uVar10 >> 0x1c) & 0x96969696 | (uVar10 >> 4 | uVar10 * 0x10000000) & 0x69696969) + 0x402eee61; uVar2 = uVar10 >> 0x1f | uVar10 * 2; uVar10 = ((uVar10 & 0x7fffffff) >> 6 ^ uVar2) >> 0xb & 0xf; local_120 = (int)((uVar10 << 7 | uVar10) << 0xb ^ uVar2) + local_120; *(longlong *)(lVar11 + 4) = *(longlong *)(lVar11 + 4) + (ulonglong)((uint)(*(ulonglong *)(local_120 + 4) >> 10) & 0x2440b02); uVar5 = *(longlong *)(lVar11 + 4) + 0x7021025de2eb148a; uVar8 = (uVar5 >> 2 | uVar5 << 0x3e) & 0x9999999999999999 | (uVar5 * 4 | uVar5 >> 0x3e) & 0x6666666666666666; uVar9 = uVar8 >> 0x25 | uVar8 << 0x1b; uVar5 = (ulonglong)((uint)((uVar9 >> 0xf ^ uVar9) >> 3) & 0xf); uVar9 = uVar9 ^ (uVar5 << 0xf | uVar5) << 3; uVar5 = ~((uVar9 >> 4 | uVar9 << 0x3c) & 0xe1e1e1e1e1e1e1e1 | (uVar9 << 4 | (uVar8 & 0x1fffffffff) >> 0x21) & 0x1e1e1e1e1e1e1e1e); uVar3 = (undefined4)((uVar5 >> 0x20 ^ uVar5) >> 5); uVar5 = uVar5 ^ (CONCAT44(uVar3,uVar3) & 0x7fff00007fff) << 5; uVar5 = (uVar5 << 0x19 | uVar5 >> 0x27) + 0x49aaa08c2844f53; *(ulonglong *)(lVar11 + 4) = uVar5; plVar7 = (longlong *)(local_120 + 4); *plVar7 = *plVar7 + (uVar5 >> 0xd & 0x83c90a02); local_148 = (uint)(*(ulonglong *)(lVar11 + 4) >> 0xd) & 0x7fffffff; local_180 = (uint)(*(ulonglong *)(lVar11 + 4) >> 0xd) ^ 0x735e733b; local_158 = *(ulonglong *)(lVar11 + 4) ^ 0x3f50b00dd8c0bab9; local_160 = 0; local_1a8 = 0x1edde78; local_1b0 = &DAT_181edde78; local_1a0 = &DAT_181ee9e60; do { FUN_181482cf6(0xf30c); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); do { uVar1 = rdtsc(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x3d4d51cb; local_188 = (uVar10 >> 0x18 ^ uVar10) * -0x7a144602; if (local_188 < 0x7fffffff) { do { local_140 = FUN_181194940; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar5 = FUN_181194940(0,0xe7f9); if (1 < uVar5) { FUN_18113eab0(); } } FUN_181481c64(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 181499cb0 size=2511 ############ /* WARNING: Instruction at (ram,0x00018149a029) overlaps instruction at (ram,0x00018149a028) */ /* WARNING: Removing unreachable block (ram,0x000181499d6e) */ /* WARNING: Removing unreachable block (ram,0x000181499d3c) */ /* WARNING: Removing unreachable block (ram,0x000181499d7a) */ /* WARNING: Removing unreachable block (ram,0x000181499e1c) */ longlong FUN_181499cb0(longlong param_1,longlong param_2,char param_3) { undefined1 *puVar1; uint uVar2; undefined8 uVar3; ulonglong uVar4; uint uVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; float fVar9; float fVar10; int unaff_retaddr; undefined1 auStack_2e8 [32]; undefined1 local_2c8; char local_2b8; undefined1 local_2b7; undefined4 local_2b4; uint local_2b0; ulonglong local_2a8; uint local_2a0; uint local_298; undefined4 local_290; undefined8 local_278; undefined8 local_270; undefined1 local_268 [8]; undefined4 local_260; undefined4 local_25c; int local_258; code *local_250; longlong local_248; undefined4 local_240; undefined8 local_238; float local_230; float local_22c; float local_228; float local_224; longlong local_220 [5]; longlong local_1f8; undefined8 local_1f0; float local_1e8; float local_1e4; float local_1e0; float local_1dc; undefined4 local_1d8; undefined1 local_1c8 [4]; undefined4 local_1c4; ulonglong local_1c0; undefined8 local_1b8; longlong *local_198; longlong local_190; undefined4 local_184; undefined8 local_160; undefined1 local_f8 [48]; longlong *local_c8; undefined1 local_c0 [96]; ulonglong local_60; local_160 = 0xfffffffffffffffe; local_60 = DAT_182615970 ^ (ulonglong)auStack_2e8; local_25c = 0x40; lVar7 = 0; uVar2 = (uint)&stack0x00000000 & 0x3ff; local_278 = 0xff0; local_1f0 = 0x1808723cc; local_238 = 0x1808733bc; do { lVar7 = ~-lVar7 + 1; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_2b4 = 0; local_2a8 = 0xbe3d87d25ff68cbf; local_270 = 0x5ff68cbf; local_2b8 = param_3; local_248 = param_2; local_190 = param_1; if (param_3 != '\0') { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1,0x180000000,-(((uVar2 + 2) * (uVar2 + 1) * uVar2) % 3) ^ 0xf8d3,lVar7); } local_2c8 = 1; FUN_1813f22a0(*(undefined8 *)(param_1 + 0x1d0),local_1c8,DAT_18267428c,param_1); FUN_1812a3160(param_2,local_1c4); } uVar3 = (**(code **)(*(longlong *)(param_1 + 0x1f0) + 0x10)) ((longlong *)(param_1 + 0x1f0),&local_c8); local_2b7 = FUN_1812477c0(uVar3,&DAT_1821ef3ac); (**(code **)(*local_c8 + 0xb0))(local_c8,local_c0); local_198 = (longlong *)(param_1 + 0x1c8); (**(code **)(*local_198 + 8))(local_198); if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } FUN_1813f2500(*(undefined8 *)(param_1 + 0x1d0),local_268); do { uVar4 = 0; uVar2 = FUN_18149bec3(); if ((uVar4 & 0x40) != 0) { puVar1 = (undefined1 *) ((ulonglong) CONCAT31((int3)(uVar2 + 0xebd8f749 >> 8), (char)(uVar2 + 0xebd8f749) + -0x7b + (0x142708b6 < uVar2)) - 0x7b); *puVar1 = *puVar1; } uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); FUN_181296e50(param_2); (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),local_268); uVar3 = FUN_1814acd80(param_1,local_f8); FUN_1804ab5a0(uVar3,&local_1e8); FUN_18049c4e0(&local_1f8,&DAT_1821ef3bc); fVar9 = (float)FUN_1812518d0(local_268,&local_1f8); fVar9 = ceilf(fVar9); local_258 = (int)fVar9; FUN_1804951e0(local_1f8 + -0x10); do { local_260 = 0x4a7e8d33; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); local_240 = 0x5129feff; FUN_18049c4e0(local_220,&DAT_1821ef614); fVar9 = local_1dc; fVar10 = (float)FUN_1812518d0(local_268,local_220); fVar10 = ceilf(fVar10); local_228 = (float)(int)fVar10; local_22c = (local_1dc - fVar9) * DAT_1824c3d8c + local_1e4; local_230 = (local_1e0 - local_228) * DAT_1824c3d8c + local_1e8; local_224 = fVar9; FUN_1804951e0(local_220[0] + -0x10); do { uVar3 = rdtsc(); local_2a0 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); FUN_18149a6c3(); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); local_2a0 = (local_2a0 * -0x12aa12ab >> 0x18 ^ local_2a0 * -0x12aa12ab) * -0x13ac4602; if (local_2a0 < 0xd20d20f) { do { local_250 = FUN_181194940; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar4 = FUN_181194940(0,0xeb1b); if (1 < uVar4) { FUN_18113eab0(); } } do { local_2b0 = 0x9dab728d; local_184 = 0x70; local_1c0 = 0x18149a2b7; FUN_1814990cb(); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar5 = local_2b0 >> 6 | local_2b0 << 0x1a; uVar2 = (uVar5 >> 3 ^ uVar5) >> 0xd & 3; uVar5 = ((uVar2 * 8 | uVar2) << 0xd ^ uVar5) + 0x42c5e121; uVar2 = uVar5 >> 0x17; uVar5 = (uVar2 | uVar5 * 0x200) + 0x7f7a7d0; uVar2 = ((uVar5 * 4 | uVar5 >> 0x1e) & 0x99999999 | (uVar5 >> 2 | uVar2 << 0x1e) & 0x66666666) ^ 0x1bf73714; do { local_1d8 = 6; local_1b8 = 0x18149a367; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); lVar8 = (longlong)(int)((uVar2 << 0x14 | uVar2 >> 0xc) + 0x7d40ba5f); local_2b0 = 0; local_290 = 0; uVar4 = (ulonglong)((uint)((ulonglong)dvs_0xcbf7a3b2_mfort6317_ >> 0xc) & 0x600a8481) + *(longlong *)(lVar8 + 4 + local_1c0) ^ 0xf37db0e4d16fa422; uVar4 = (uVar4 << 2 | uVar4 >> 0x3e) & 0x9999999999999999 | (uVar4 >> 2 | uVar4 << 0x3e) & 0x6666666666666666; uVar4 = (uVar4 << 0x20 | uVar4 >> 0x20) + 0xde1614d95681d01e; uVar4 = (uVar4 * 0x2000000 | uVar4 >> 0x27) ^ 0x90b983db2a68a1a7; uVar4 = (uVar4 >> 4 | uVar4 << 0x3c) & 0xd2d2d2d2d2d2d2d2 | (uVar4 << 4 | uVar4 >> 0x3c) & 0x2d2d2d2d2d2d2d2d; uVar6 = uVar4 >> 0x2a | uVar4 << 0x16; uVar4 = (uVar6 >> 4 | (uVar4 >> 0x2a) << 0x3c) & 0xa5a5a5a5a5a5a5a5 | (uVar6 << 4 | (uVar4 & 0x3ffffffffff) >> 0x26) & 0x5a5a5a5a5a5a5a5a; *(ulonglong *)(lVar8 + 4 + local_1c0) = uVar4; dvs_0xcbf7a3b2_mfort6317_ = (uint *)((longlong)dvs_0xcbf7a3b2_mfort6317_ + (ulonglong)((uint)(uVar4 >> 0x11) & 0x1384cc4) ); local_278 = CONCAT44(local_278._4_4_,(int)(*(ulonglong *)(lVar8 + 4 + local_1c0) >> 7)) & 0xffffffff7fffffff; local_298 = (uint)(*(ulonglong *)(lVar8 + 4 + local_1c0) >> 0x1d) ^ 0xa9277677; lVar7 = 0x41c065df19625504; local_2a8 = *(ulonglong *)(lVar8 + 4 + local_1c0) ^ 0x41c065df19625504; uVar4 = local_1c0; FUN_18149c357(); /* WARNING: Call to offcut address within same function */ uVar6 = func_0x00018149a5a2(); *(undefined1 *)(lVar7 + -0x3b7cb7f3) = (char)(CONCAT11(param_2 + uVar4 < uVar4,*(undefined1 *)(lVar7 + -0x3b7cb7f3)) >> 1); return ~((uVar6 ^ 0xffffffffffffffff) + 1) + 1; } ############ FUN_ 1814dc540 size=2093 ############ /* WARNING: Instruction at (ram,0x0001814dce85) overlaps instruction at (ram,0x0001814dce84) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001814dce7f) */ /* WARNING: Removing unreachable block (ram,0x0001814dd801) */ /* WARNING: Removing unreachable block (ram,0x0001814dd3eb) */ /* WARNING: Removing unreachable block (ram,0x0001814dc936) */ /* WARNING: Removing unreachable block (ram,0x0001814dc8cb) */ /* WARNING: Removing unreachable block (ram,0x0001814dcc1d) */ /* WARNING: Removing unreachable block (ram,0x0001814dd263) */ /* WARNING: Removing unreachable block (ram,0x0001814dd79a) */ /* WARNING: Removing unreachable block (ram,0x0001814dc9f8) */ undefined8 FUN_1814dc540(ulonglong param_1,undefined8 param_2) { undefined7 uVar1; byte bVar2; undefined1 *puVar3; uint uVar4; undefined8 *puVar5; undefined8 uVar6; undefined8 uVar7; uint uVar8; uint uVar9; uint *puVar10; code **ppcVar11; ulonglong uVar12; int iVar13; longlong lVar14; undefined1 *puVar15; undefined1 *puVar16; undefined1 *puVar17; ulonglong uVar18; ulonglong uVar19; uint uVar20; uint uVar21; uint uVar22; uint uVar23; longlong in_R11; int *piVar24; byte bVar25; int *piVar26; longlong lVar27; bool bVar28; undefined4 uVar29; int unaff_retaddr; undefined1 auStack_158 [32]; int *local_138; undefined *local_130; undefined4 local_128; undefined *local_120; uint local_118; int local_114; uint local_110; code *local_108 [3]; undefined8 local_f0; undefined8 local_e0; undefined1 auStack_d0 [8]; undefined1 auStack_c8 [96]; longlong *local_68; undefined1 local_60 [8]; ulonglong local_58; local_e0 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_158; local_110 = 0xd913; if (((ulonglong)&stack0x00000000 & 0x300) == 0) { uVar8 = (uint)&stack0x00000000 & 0x2bf; iVar13 = (uVar8 + 2) * (uVar8 + 1) * uVar8; local_110 = (((iVar13 >> 1) - (iVar13 >> 3)) + iVar13 * 0x55555555 >> 0x1e) + 0xd913; } uVar6 = 0; local_110 = local_110 ^ 0xc913; local_114 = 0x250; local_f0 = param_2; puVar5 = (undefined8 *) (**(code **)(*(longlong *)(param_1 + 0x140) + 0x10)) ((longlong *)(param_1 + 0x140),&local_68); local_128 = (**(code **)(*(longlong *)*puVar5 + 8))((longlong *)*puVar5,puVar5 + 1); (**(code **)(*local_68 + 0xb0))(local_68,local_60); uVar18 = 0xf1a256d7; uVar19 = 0xc09205ea; local_138 = &DAT_1814075c0; local_130 = &DAT_1814076c0; uVar8 = (DAT_1814075c0 + 0x2de7207b) * -0x395b586d; lVar27 = 2; lVar14 = 2; piVar26 = local_138; do { piVar24 = piVar26; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[1]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[2]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[3]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[4]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[5]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[6]) * -0x395b586d; lVar14 = lVar14 + -1; piVar26 = piVar24 + 6; } while (lVar14 != 0); uVar8 = uVar8 ^ uVar8 >> 0x10; piVar26 = (int *)register0x00000020; uVar9 = uVar8; local_120 = local_130; do { bVar28 = (POPCOUNT(uVar9 & 0xff) & 1U) == 0; FUN_1814daefb(0x6d2c); if (!bVar28) { lVar14 = (longlong)piVar26 + param_1; piVar26 = (int *)((param_1 - lVar14 ^ 0xffffffffffffffff) + 1); param_1 = lVar14 - (longlong)piVar26; } uVar9 = (*piVar26 + 1) * *piVar26 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (piVar24[7] + uVar8) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[8]) * -0x395b586d; do { FUN_1814dd476(); uVar9 = (*piVar26 + 1) * *piVar26 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (piVar24[9] + (uVar8 ^ uVar8 >> 0x10)) * -0x395b586d; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (piVar24[10] + (uVar8 ^ uVar8 >> 0x10)) * -0x395b586d; piVar26 = piVar24 + 10; do { piVar24 = piVar26; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[1]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[2]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[3]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[4]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[5]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[6]) * -0x395b586d; lVar27 = lVar27 + -1; piVar26 = piVar24 + 6; } while (lVar27 != 0); do { uVar18 = uVar18 ^ uVar19; if (0 < (longlong)uVar18) { lVar14 = uVar19 + in_R11; uVar19 = ~(in_R11 - lVar14) + 1; in_R11 = lVar14 - uVar19; } uVar18 = uVar18 ^ uVar19; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (piVar24[7] + (uVar8 ^ uVar8 >> 0x10)) * -0x395b586d; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (piVar24[8] + (uVar8 ^ uVar8 >> 0x10)) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[9]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[10]) * -0x395b586d; piVar24 = piVar24 + 0xb; do { puVar10 = &local_118; FUN_1814db84d(puVar10,&local_118); uVar7 = rdtsc(); *puVar10 = (uint)uVar7 ^ (uint)((ulonglong)uVar7 >> 0x20); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_118 = (local_118 * -0x51ca7a15 >> 0x18 ^ local_118 * -0x51ca7a15) * -0x35947333; if (local_118 < 0x74400) { local_108[0] = (code *)0x0; do { ppcVar11 = local_108; FUN_1814dde27(ppcVar11,local_108); *ppcVar11 = FUN_1813f2240; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar18 = (*local_108[0])(0,0x7190); if (1 < uVar18) { FUN_18113eab0(); } } uVar8 = (*piVar24 + (uVar8 ^ uVar8 >> 0x10)) * -0x395b586d; uVar8 = uVar8 ^ uVar8 >> 0x10; if ((uVar8 & 0x40) == 0) { uVar20 = uVar8 & 0x7f | 0x3e; uVar9 = (uint)piVar24 & 7 | 0x4b; uVar9 = (uint)(uVar9 * uVar9 * 0xafbb == uVar20 * uVar20 * 0x5a77); } else { uVar9 = 0; } piVar24 = (int *)((longlong)piVar24 + ((longlong) (int)((((uVar8 & 0x6dff) - 1) * (uVar8 & 0x6dff) & 1) + (((uVar8 & 0x25ff) + 1) * (uVar8 & 0x25ff) & 0x80000001)) ^ 0x40U) + ((longlong)(int)(0xad91 - uVar9) ^ 0xffffffffffff5255U)); uVar9 = (*piVar24 + uVar8) * -0x395b586d; uVar9 = uVar9 ^ uVar9 >> 0x10; uVar18 = (ulonglong)uVar9; iVar13 = (uVar9 & 0x27ff) * (uVar9 & 0x27ff) + 1; uVar8 = (iVar13 >> 4) + (iVar13 >> 1) + iVar13 * 0x24924924 >> 0x1d; if (((int)(uVar8 - 7) >> 0x1f & uVar8 & 0x600) == 0) { uVar20 = (uint)piVar24 & 0x35ff; uVar8 = uVar9 & 0x4f; uVar19 = (ulonglong) ((uVar20 * uVar20 + 1) % 7 & uVar8 * uVar8 * (uVar8 + 1) * (uVar8 + 1) & 2 ^ 0xc4b9); } else { uVar19 = 0xc4b9; } uVar8 = (uint)piVar24 & 0x33f; iVar13 = (uVar8 + 2) * (uVar8 + 1) * uVar8; piVar24 = (int *)(((((longlong)(((iVar13 >> 1) - (iVar13 >> 3)) + iVar13 * 0x55555555) >> 0x1e & (longlong)(int)local_120 | 0xc479U) ^ (longlong)(int)uVar19) - 0xbc) + (longlong)piVar24); uVar8 = (*piVar24 + uVar9) * -0x395b586d; lVar14 = 4; do { piVar26 = piVar24; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[1]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[2]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[3]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[4]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[5]) * -0x395b586d; lVar14 = lVar14 + -1; piVar24 = piVar26 + 5; } while (lVar14 != 0); do { uVar12 = 0x6d2c; FUN_1814dee79(); if ((uVar12 & 0xdf00) == 0) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (piVar26[6] + (uVar8 ^ uVar8 >> 0x10)) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[7]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[8]) * -0x395b586d; local_138 = (int *)0x51270989452c0b28; local_120 = (undefined *)CONCAT44(local_120._4_4_,0x452c0b28); uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[9]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[10]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[0xb]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[0xc]) * -0x395b586d; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[0xd]) * -0x395b586d; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = ~(uVar8 ^ uVar8 >> 0x10) + 0x9da7e6c; if ((uVar8 >> 0xc | uVar8 * 0x100000) == 0xe09b03e2) { lVar14 = (longlong)local_114; puVar3 = auStack_158; do { puVar15 = puVar3; *(ulonglong *)(puVar15 + -8) = uVar18; *(undefined8 *)(puVar15 + -0x10) = uVar6; *(ulonglong *)(puVar15 + -0x18) = param_1; uVar19 = (-uVar19 ^ 0xffffffffffffffff) + 1; lVar27 = -lVar14; puVar17 = puVar15 + lVar27 + -0x18; param_1 = *(ulonglong *)(puVar15 + lVar27 + 0x238); uVar6 = *(undefined8 *)(puVar15 + lVar27 + 0x240); uVar18 = *(ulonglong *)(puVar15 + lVar27 + 0x248); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar3 = puVar15 + lVar27 + 0x250; } while (uVar8 != 0); if (*(int *)(puVar15 + lVar27 + 0x280) < 0) { *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814ddcb0; uVar6 = FUN_181339840(*(undefined8 *)(puVar15 + lVar27 + 0x2b8),auStack_c8,param_1); *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814ddcbc; uVar6 = func_0x0001813396e0(uVar6,auStack_d0); *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814ddcc4; FUN_1804835d0(uVar6); *(undefined1 **)(puVar15 + lVar27 + 0x248) = &LAB_1814ddcd4; FUN_1813399b0(auStack_c8); } else { *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814dd0af; FUN_181212060(puVar15 + lVar27 + 0x2b0,*(int *)(puVar15 + lVar27 + 0x280),uVar19); *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814dd0c6; uVar7 = FUN_181246550(puVar15 + lVar27 + 0x2c0,&UNK_1822c2394,puVar15 + lVar27 + 0x2b0); *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814dd0da; FUN_1812465e0(puVar15 + lVar27 + 0x2a8,uVar7,&UNK_1822c26f4); *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814dd0e9; FUN_1804951e0(*(longlong *)(puVar15 + lVar27 + 0x2b0) + -0x10); *(undefined8 *)(puVar15 + lVar27 + 0x270) = 0x2621fc0; lVar14 = *(longlong *)(puVar15 + lVar27 + 0x270); *(undefined8 *)(puVar15 + lVar27 + 0x270) = 0x692277c6; *(undefined8 *)(puVar15 + lVar27 + 0x278) = 0x5f3778bc; uVar20 = *(int *)(puVar15 + lVar27 + 0x270) + 0x87966d91; uVar21 = *(int *)(puVar15 + lVar27 + 0x278) + 0x615a8d2e; uVar8 = (uVar20 >> 8 ^ uVar20) >> 3 & 3; uVar9 = (uVar21 >> 0xd ^ uVar21) >> 6 & 0x1fff; *(uint *)(puVar15 + lVar27 + 0x270) = (uVar8 << 8 | uVar8) << 3 ^ uVar20 ^ 0xf0e22317; *(uint *)(puVar15 + lVar27 + 0x278) = (uVar9 << 0xd | uVar9) << 6 ^ uVar21 ^ 0x40be05aa; *(undefined **)(puVar15 + lVar27 + 0x270) = &DAT_182621fc0 + (*(longlong *)(puVar15 + lVar27 + 0x270) - lVar14); *(longlong *)(puVar15 + lVar27 + 0x278) = *(longlong *)(puVar15 + lVar27 + 0x270) + *(longlong *)(puVar15 + lVar27 + 0x278); *(undefined4 *)(puVar15 + lVar27 + 0x280) = 0xe1c9394a; uVar9 = ((*(uint *)(puVar15 + lVar27 + 0x280) ^ 0xca30327) << 0x18 | (*(uint *)(puVar15 + lVar27 + 0x280) ^ 0xca30327) >> 8) + 0x84773bfb; uVar8 = (uVar9 >> 0x15 ^ uVar9) & 0x1ff; uVar9 = (uVar8 << 0x15 | uVar8) ^ uVar9; uVar19 = (ulonglong)uVar9; piVar26 = *(int **)(puVar15 + lVar27 + 0x270); uVar18 = *(ulonglong *)(puVar15 + lVar27 + 0x278); uVar8 = (*piVar26 + -0x3593ff06) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[1]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[2]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[3]) * uVar9; piVar26 = piVar26 + 4; uVar22 = ((uVar8 >> 0x10 ^ uVar8) + *piVar26) * uVar9; uVar22 = uVar22 ^ uVar22 >> 0x10; uVar8 = (uint)piVar26 & 0x21ff; uVar21 = (uVar8 + 1) * uVar8 & 0x80000001 ^ ((uVar22 & 0x65ff) * (uVar22 & 0x65ff) + 1) % 7; uVar8 = uVar22 & 0x3f | 0x50; uVar20 = (uint)piVar26 & 0x7f | 0x18; uVar1 = (undefined7)((ulonglong)uVar6 >> 8); piVar26 = (int *)(((0xa984L >> ((byte)((int)CONCAT71(uVar1,uVar20 * uVar20 * 0x65a5 == uVar8 * uVar8 * 0x1367) << ((byte)piVar26 & 0x1f)) & 0x3f) ^ (ulonglong)((int)(-uVar21 | uVar21) >> 0x1f & 0xa804)) - 0x17c) + (longlong)piVar26); uVar8 = (*piVar26 + uVar22) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[1]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[2]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[3]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[4]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[5]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[6]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[7]) * uVar9; piVar26 = piVar26 + 8; do { uVar20 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar20 < 0) { uVar20 = (uVar20 - 1 | 0xfffffffe) + 1; } } while (uVar20 != 0); uVar8 = (*piVar26 + (uVar8 ^ uVar8 >> 0x10)) * uVar9; uVar8 = uVar8 ^ uVar8 >> 0x10; uVar20 = (uint)uVar18; bVar25 = (byte)uVar18; bVar2 = bVar25; if ((uVar18 & 0x380) != 0) { bVar2 = (byte)uVar8; } uVar21 = (uint)piVar26 & 0x2ff; iVar13 = (uVar21 + 2) * (uVar21 + 1) * uVar21; piVar26 = (int *)((longlong)piVar26 + ((((longlong) (iVar13 + (iVar13 / 3 + (iVar13 >> 0x1f) + (int)(((longlong)iVar13 / 3 + ((longlong)iVar13 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3) >> (bVar25 & 0x1f) | 0xf737U) ^ 0xf733) - 0xc0) + ((longlong)(0x917 << ((bVar2 + 1) * bVar2 & 1)) ^ 0x9d7U)); uVar8 = (*piVar26 + uVar8) * uVar9; lVar14 = 7; do { piVar24 = piVar26; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[1]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[2]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[3]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[4]) * uVar9; lVar14 = lVar14 + -1; piVar26 = piVar24 + 4; } while (lVar14 != 0); piVar24 = piVar24 + 5; do { *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814dd4ca; func_0x0001814dbf92(); *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814dd4ee; func_0x0001814db92a(); uVar21 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); uVar22 = (*piVar24 + (uVar8 ^ uVar8 >> 0x10)) * uVar9; uVar22 = uVar22 ^ uVar22 >> 0x10; uVar21 = (uint)piVar24; uVar8 = uVar21 & 0x27f; iVar13 = (uVar8 + 2) * (uVar8 + 1) * uVar8; if ((((iVar13 >> 1) - (iVar13 >> 3)) + iVar13 * 0x55555555 >> 0x1e & 0x2400U) == 0) { if (((ulonglong)piVar24 & 0x840) == 0) { uVar8 = uVar21 & 7 | 0x34; uVar4 = uVar21 & 0x3f | 0x47; uVar8 = (uint)CONCAT71(uVar1,uVar4 * uVar4 * 0xa75 == uVar8 * uVar8 * 0xfa3); } else { uVar8 = uVar20 & 0x27f; iVar13 = (uVar8 + 2) * (uVar8 + 1) * uVar8; uVar8 = ((iVar13 >> 1) - (iVar13 >> 3)) + iVar13 * 0x55555555 >> 0x1e; } uVar8 = uVar8 ^ 0xb765; } else { uVar8 = 0xb765; } uVar4 = uVar22 & 0x1f | 0x27; uVar21 = uVar21 & 0x3f | 0x4b; uVar4 = uVar4 * uVar4 * 0x51d3 ^ uVar21 * uVar21 * 0xdd5; uVar21 = uVar20 & 0x3bf; iVar13 = (uVar21 + 2) * (uVar21 + 1) * uVar21; uVar4 = ((int)(-uVar4 | uVar4) >> 0x1f) >> ((byte)(((iVar13 >> 1) - (iVar13 >> 3)) + iVar13 * 0x55555555 >> 0x1e) & 0x1f); bVar25 = bVar25 & 0x1f; uVar23 = uVar22 & 0x1f | 0x75; uVar21 = uVar22 & 0x3f | 0x14; piVar24 = (int *)((longlong)piVar24 + (((longlong) (0x6e0f << ((byte)((int)CONCAT71(uVar1,uVar21 * uVar21 * 0x16eb == uVar23 * uVar23 * 0x1de1) << ((bVar25 + 1) * (bVar25 + 1) * bVar25 * bVar25 & 2)) & 0x1f)) ^ 0x6e03U) - (longlong)(int)(((int)(-uVar4 | uVar4) >> 0x1f) * -0xb76d ^ uVar8))); uVar8 = (*piVar24 + uVar22) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[1]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar24[2]) * uVar9; piVar24 = piVar24 + 3; uVar23 = ((uVar8 >> 0x10 ^ uVar8) + *piVar24) * uVar9; uVar23 = uVar23 ^ uVar23 >> 0x10; uVar4 = uVar23 & 0x2f; uVar8 = uVar20 & 7 | 0x60; uVar21 = (uint)piVar24 & 0x1f | 0x42; uVar22 = ((uVar20 & 0x2cff) * (uVar20 & 0x2cff) + 1) % 7; uVar18 = (ulonglong)uVar22; piVar24 = (int *)((longlong)piVar24 + ((longlong) (int)(((uint)CONCAT71(uVar1,uVar8 * uVar8 * 0xf3fb == uVar21 * uVar21 * 0x9e81) & uVar22) + 0xba91) ^ 0xffffffffffff4415U) + ((longlong)(int)(0xad63 - (uVar4 * uVar4 * (uVar4 + 1) * (uVar4 + 1) & 3)) ^ 0xace3U)); uVar21 = (*piVar24 + uVar23) * uVar9; uVar8 = (uint)piVar24 & 0x2cff; uVar8 = (uVar8 + 1) * uVar8 + 7; piVar26 = (int *)(((longlong)(int)(((uVar20 & 0x6ff) + 1) * (uVar20 & 0x6ff) & 0x80000001) >> ((char)uVar8 + (char)(uVar8 / 0x51) * -0x51 & 0x1fU) ^ 0xffffffffffffff84U) + 0x80 + (longlong)piVar24); uVar8 = ((uVar21 >> 0x10 ^ uVar21) + *piVar26) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[1]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[2]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[3]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[4]) * uVar9; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + piVar26[5]) * uVar9; do { uVar20 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar20 < 0) { uVar20 = (uVar20 - 1 | 0xfffffffe) + 1; } } while (uVar20 != 0); uVar8 = (piVar26[6] + (uVar8 ^ uVar8 >> 0x10)) * uVar9; uVar8 = uVar8 ^ uVar8 >> 0x10; do { piVar24 = (int *)(~(((ulonglong)piVar24 ^ 0xffffffffffffffff) + 1) + 1); uVar20 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar20 < 0) { uVar20 = (uVar20 - 1 | 0xfffffffe) + 1; } } while (uVar20 != 0); uVar20 = (piVar26[7] + uVar8) * uVar9; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar26[8]) * uVar9; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar26[9]) * uVar9; uVar12 = (ulonglong)uVar20; *(undefined8 *)(puVar15 + lVar27 + 0x270) = 0x5af312fa8ec1179e; *(int *)(puVar15 + lVar27 + 0x280) = (int)*(undefined8 *)(puVar15 + lVar27 + 0x270); uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar26[10]) * uVar9; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar26[0xb]) * uVar9; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar26[0xc]) * uVar9; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar26[0xd]) * uVar9; uVar9 = ((uVar20 >> 0x10 ^ uVar20) + piVar26[0xe]) * uVar9; do { *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814dd9ab; func_0x0001814df062(0x4b14); lVar14 = param_1 + uVar12; uVar12 = (-uVar12 ^ 0xffffffffffffffff) + 1; param_1 = lVar14 - uVar12; uVar20 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar20 < 0) { uVar20 = (uVar20 - 1 | 0xfffffffe) + 1; } } while (uVar20 != 0); uVar9 = ~(uVar9 ^ uVar9 >> 0x10) + 0x9da7e6c; uVar6 = CONCAT71(uVar1,(uVar9 >> 0xc | uVar9 * 0x100000) + 0x64910746 != *(int *)(puVar15 + lVar27 + 0x280)); if ((int)uVar6 * 0x21 != 0) { *(undefined **)(puVar15 + lVar27 + 0x248) = &UNK_1814ddb3e; func_0x0001814dc1c0(); *(ulonglong *)(puVar15 + lVar27 + 0x248) = (ulonglong)uVar8; *(BADSPACEBASE **)(puVar15 + lVar27 + 0x240) = register0x00000020; *(undefined8 *)(puVar15 + lVar27 + 0x238) = uVar6; uVar6 = thunk_FUN_1805a9280(); return uVar6; } iVar13 = *(int *)(puVar15 + lVar27 + 0x294); puVar3 = puVar15 + lVar27 + -0x18; do { puVar16 = puVar3; *(ulonglong *)(puVar16 + 0x260) = uVar18; *(int **)(puVar16 + 600) = piVar24; *(ulonglong *)(puVar16 + 0x250) = uVar19; lVar14 = -(longlong)iVar13; puVar17 = puVar16 + lVar14 + 0x250; uVar19 = *(ulonglong *)(puVar16 + lVar14 + 0x4a0); piVar24 = *(int **)(puVar16 + lVar14 + 0x4a8); uVar18 = *(ulonglong *)(puVar16 + lVar14 + 0x4b0); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar3 = puVar16 + lVar14 + 0x250; } while (uVar8 != 0); uVar6 = *(undefined8 *)(puVar16 + lVar14 + 0x510); *(undefined **)(puVar16 + lVar14 + 0x4b0) = &UNK_1814ddaf4; uVar7 = FUN_1811ebcb0(param_1 + 0x140); *(undefined **)(puVar16 + lVar14 + 0x4b0) = &UNK_1814ddafc; uVar7 = FUN_1811f0330(uVar7); *(undefined **)(puVar16 + lVar14 + 0x4b0) = &UNK_1814ddb07; uVar6 = FUN_18119aa60(uVar7,uVar6); *(undefined **)(puVar16 + lVar14 + 0x4b0) = &UNK_1814ddb0f; uVar29 = func_0x0001811bf790(uVar6); uVar6 = *(undefined8 *)(param_1 + 0xd8); *(undefined **)(puVar16 + lVar14 + 0x4b0) = &UNK_1814ddb1e; FUN_180487300(uVar6,uVar29); *(undefined8 *)(puVar16 + lVar14 + 0x4b0) = 0x1814ddc9d; FUN_18124a7e0(puVar16 + lVar14 + 0x510); } *(undefined **)(puVar17 + 0x260) = &UNK_1814ddce3; } uVar18 = ~(~param_1 + 1) + 1; uVar6 = thunk_FUN_1805a9280((longlong)(int)local_110,1,uVar18 ^ 0x1814dcfec ^ uVar18); return uVar6; } ############ FUN_ 1815d34d0 size=2613 ############ /* WARNING: Instruction at (ram,0x0001815d3f24) overlaps instruction at (ram,0x0001815d3f23) */ /* WARNING: Removing unreachable block (ram,0x0001815d3fea) */ /* WARNING: Removing unreachable block (ram,0x0001815d39a1) */ /* WARNING: Removing unreachable block (ram,0x0001815d3528) */ /* WARNING: Removing unreachable block (ram,0x0001815d38ea) */ /* WARNING: Removing unreachable block (ram,0x0001815d3e38) */ /* WARNING: Removing unreachable block (ram,0x0001815d3f23) */ /* WARNING: Removing unreachable block (ram,0x0001815d3534) */ ulonglong FUN_1815d34d0(longlong param_1) { int *piVar1; byte bVar2; code *pcVar3; undefined8 uVar4; longlong lVar5; uint uVar6; int iVar7; undefined8 *puVar8; longlong *plVar9; ulonglong uVar10; ulonglong uVar11; ulonglong uVar12; uint uVar13; uint uVar14; char cVar15; uint *_Memory; byte *pbVar16; undefined1 *puVar17; longlong lVar18; longlong lVar19; undefined1 *puVar20; float fVar21; int unaff_retaddr; undefined1 auStack_c8 [32]; int local_a8; undefined8 *local_a0; undefined8 local_98; code *local_90; undefined8 *local_88; undefined4 *local_80; longlong local_78 [7]; local_78[1] = 0xfffffffffffffffe; lVar18 = 0; uVar11 = 1; local_a8 = 0x550; pcVar3 = *(code **)(*(longlong *)(param_1 + 0x208) + 8); puVar20 = (undefined1 *)register0x00000020; if (pcVar3 == FUN_180584490) { if (*(longlong *)(param_1 + 0x210) == 0) { FUN_1805849b0(param_1); } lVar19 = *(longlong *)(param_1 + 0x210); } else { lVar19 = (*pcVar3)(param_1 + 0x208); } local_a0 = (undefined8 *)**(longlong **)(lVar19 + 0x68); if (local_a0 != (undefined8 *)0x0) { LOCK(); *(int *)(local_a0 + 1) = *(int *)(local_a0 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_a0); FUN_181251cf0(&local_a0,&local_88,DAT_1824c3c7c); if (local_a0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_a0 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_a0)(local_a0,1); } } puVar8 = (undefined8 *)FUN_1812ea010(param_1,local_78); plVar9 = (longlong *)FUN_181252280(&local_88); lVar19 = *plVar9; fVar21 = (float)(**(code **)(lVar19 + 0x28))(plVar9,puVar8); if (*(float *)(local_88 + 6) != 0.0) { pbVar16 = (byte *)*puVar8; while( true ) { while( true ) { bVar2 = *pbVar16; pbVar16 = pbVar16 + 1; if (-1 < (char)bVar2) break; if ((*pbVar16 & 0xc0) != 0x80) goto LAB_1815d3798; do { pbVar16 = pbVar16 + 1; } while ((*pbVar16 & 0xc0) == 0x80); lVar18 = lVar18 + 1; } if (bVar2 == 0) break; LAB_1815d3798: lVar18 = lVar18 + 1; } fVar21 = fVar21 + (float)(int)lVar18 * *(float *)(local_88 + 6); lVar19 = lVar18; } ceilf(fVar21 * *(float *)(local_88 + 5) * *(float *)((longlong)local_88 + 0x2c)); _Memory = (uint *)(local_78[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar13 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_98 = 0x100; local_80 = &DAT_1809a6730; do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar13 = DAT_1809a67cc ^ (DAT_1809a67c8 ^ (DAT_1809a67c4 ^ (DAT_1809a67c0 ^ (DAT_1809a67bc ^ (DAT_1809a67b8 ^ (DAT_1809a67b4 ^ (DAT_1809a67b0 ^ (DAT_1809a67ac ^ (DAT_1809a67a8 ^ (DAT_1809a67a4 ^ ((((((((((((((((((DAT_1809a675c ^ (DAT_1809a6758 ^ (DAT_1809a6754 ^ (DAT_1809a6750 ^ (DAT_1809a674c ^ (DAT_1809a6748 ^ (DAT_1809a6744 ^ (DAT_1809a6740 ^ (DAT_1809a673c ^ (DAT_1809a6738 ^ (DAT_1809a6734 ^ (DAT_1809a6730 ^ 0x811c9e29) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab ^ DAT_1809a6760) * 0x10001ab ^ DAT_1809a6764) * 0x10001ab ^ DAT_1809a6768) * 0x10001ab ^ DAT_1809a676c) * 0x10001ab ^ DAT_1809a6770) * 0x10001ab ^ DAT_1809a6774) * 0x10001ab ^ DAT_1809a6778) * 0x10001ab ^ DAT_1809a677c) * 0x10001ab ^ DAT_1809a6780) * 0x10001ab ^ DAT_1809a6784) * 0x10001ab ^ DAT_1809a6788) * 0x10001ab ^ DAT_1809a678c) * 0x10001ab ^ DAT_1809a6790) * 0x10001ab ^ DAT_1809a6794) * 0x10001ab ^ DAT_1809a6798) * 0x10001ab ^ DAT_1809a679c) * 0x10001ab ^ DAT_1809a67a0) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab; if (*(char *)(param_1 + 0x49d) == '\0') { (**(code **)(*(longlong *)(param_1 + 0x208) + 8))(param_1 + 0x208); } else { (**(code **)(*(longlong *)(param_1 + 0x208) + 8))(); } uVar13 = ((((((((((((((((((((DAT_1809a67d0 ^ uVar13 * 0x10001ab) * 0x10001ab ^ DAT_1809a67d4) * 0x10001ab ^ DAT_1809a67d8) * 0x10001ab ^ DAT_1809a67dc) * 0x10001ab ^ DAT_1809a67e0) * 0x10001ab ^ DAT_1809a67e4) * 0x10001ab ^ DAT_1809a67e8) * 0x10001ab ^ DAT_1809a67ec) * 0x10001ab ^ DAT_1809a67f0) * 0x10001ab ^ DAT_1809a67f4) * 0x10001ab ^ DAT_1809a67f8) * 0x10001ab ^ DAT_1809a67fc) * 0x10001ab ^ DAT_1809a6800) * 0x10001ab ^ DAT_1809a6804) * 0x10001ab ^ DAT_1809a6808) * 0x10001ab ^ DAT_1809a680c) * 0x10001ab ^ DAT_1809a6810) * 0x10001ab ^ DAT_1809a6814) * 0x10001ab ^ DAT_1809a6818) * 0x10001ab ^ DAT_1809a681c) * 0x10001ab ^ DAT_1809a6820; do { uVar4 = rdtsc(); FUN_1815d4478(); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar14 = ((uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20)) * -0x73327333; if ((uVar14 >> 0x18 ^ uVar14) * -0x51ca7333 < 0x73e17) { do { local_90 = FUN_18141db20; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar10 = FUN_18141db20(0,0x73c9); if (1 < uVar10) { FUN_18113eab0(); } } do { param_1 = param_1 + lVar19; lVar19 = ((~(lVar19 - param_1) + 1U) - param_1 ^ 0xffffffffffffffff) + 1; param_1 = param_1 - lVar19; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar14 = (LAB_1809a682c ^ (DAT_1809a6828 ^ (DAT_1809a6824 ^ uVar13 * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab; uVar13 = (uVar14 >> 8 ^ uVar14) >> 2 & 0x1f; uVar14 = ~(((uVar13 << 8 | uVar13) << 2 ^ uVar14) << 0x10 | uVar14 >> 0x10) ^ 0xc7b2260e; uVar10 = (ulonglong)uVar14; uVar13 = (uVar14 >> 0xd ^ uVar14) >> 1 & 0x1fff; do { cVar15 = -0x3d; uVar6 = FUN_1815d30ca(); if ((((ulonglong)puVar20 & 0x492028c0) != 0) && (cVar15 == '\0')) { iVar7 = (uVar6 ^ (uint)&stack0x00000000) + 0xeb62aa59; return (ulonglong)CONCAT31((int3)((uint)iVar7 >> 8),(char)iVar7 + '*') & 0xffffffffffffff24; } uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); if (((uVar13 << 0xd | uVar13) * 2 ^ uVar14) == 0xceb25d86) { lVar18 = (longlong)local_a8; puVar20 = auStack_c8; do { puVar17 = puVar20; *(ulonglong *)(puVar17 + -8) = uVar10; *(longlong *)(puVar17 + -0x10) = lVar19; *(longlong *)(puVar17 + -0x18) = param_1; lVar19 = ~uVar11 + 1 + (longlong)register0x00000020; uVar11 = ~((longlong)register0x00000020 - lVar19) + 1; register0x00000020 = (BADSPACEBASE *)(lVar19 - uVar11); uVar11 = ~uVar11 + 1; lVar5 = -lVar18; param_1 = *(longlong *)(puVar17 + lVar5 + 0x538); lVar19 = *(longlong *)(puVar17 + lVar5 + 0x540); uVar10 = *(ulonglong *)(puVar17 + lVar5 + 0x548); uVar13 = *(uint *)register0x00000020; uVar12 = (ulonglong)uVar13; uVar13 = (uVar13 + 1) * uVar13 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } puVar20 = puVar17 + lVar5 + 0x550; } while (uVar13 != 0); if (local_88 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_88 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); uVar12 = (ulonglong)(iVar7 - 1U); if (iVar7 - 1U == 0) { pcVar3 = *(code **)*local_88; *(undefined1 **)(puVar17 + lVar5 + 0x548) = &LAB_1815d4129; uVar12 = (*pcVar3)(local_88,1); } } return uVar12; } /* WARNING: Call to offcut address within same function */ func_0x0001815d3857(); uVar11 = thunk_FUN_1805a9280(); return uVar11; } ############ FUN_ 1814f0dd0 size=1315 ############ /* WARNING: Removing unreachable block (ram,0x0001814f0f84) */ /* WARNING: Removing unreachable block (ram,0x0001814f0e66) */ /* WARNING: Removing unreachable block (ram,0x0001814f0fad) */ /* WARNING: Removing unreachable block (ram,0x0001814f0f93) */ undefined1 FUN_1814f0dd0(longlong param_1) { longlong *plVar1; undefined1 uVar2; ulonglong uVar3; longlong lVar4; int iVar5; uint uVar6; uint *puVar7; undefined8 uVar8; uint uVar9; char *pcVar10; char *pcVar11; longlong *plVar12; byte bVar13; undefined8 in_R11; char *unaff_R13; int unaff_retaddr; longlong alStack_188 [5]; undefined *local_138; uint local_12c [3]; undefined *local_120; undefined8 local_118; uint local_100; undefined8 local_f8; undefined4 local_e8; code *local_e0; longlong local_d8; char *local_98; char acStack_70 [56]; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)&stack0xfffffffffffffea8; uVar6 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x1a80) == 0) { bVar13 = 0; } else { uVar9 = uVar6 & 0x3ff; iVar5 = (uVar9 + 2) * (uVar9 + 1) * uVar9; bVar13 = (byte)(((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e); } iVar5 = (uVar6 & 0x45ff) * (uVar6 & 0x45ff) + 1; uVar9 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; if (((int)(uVar9 - 7) >> 0x1f & uVar9 & 0x30) == 0) { uVar6 = uVar6 & 0x3bf; iVar5 = (uVar6 + 2) * (uVar6 + 1) * uVar6; local_100 = (((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e) + 0x5971; } else { local_100 = 0x5971; } local_100 = 0x55b1 << (bVar13 & 0x1f) ^ local_100; local_e8 = 0xc60; local_118 = 0; local_f8 = 0x5ff4; local_120 = &DAT_181cb02d4; local_138 = &DAT_181cb62c8; local_d8 = param_1; do { puVar7 = local_12c; FUN_1814ef900(puVar7,local_12c); uVar8 = rdtsc(); *puVar7 = (uint)uVar8 ^ (uint)((ulonglong)uVar8 >> 0x20); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_12c[0] = (local_12c[0] * -0x3d4d166b >> 0x18 ^ local_12c[0] * -0x3d4d166b) * 0x1a85b9fe; if (local_12c[0] < 0x6666667f) { do { local_e0 = FUN_18141db20; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = FUN_18141db20(0,0x161b); if (1 < uVar3) { FUN_18113eab0(); } } pcVar10 = "radiusScaling"; uVar8 = *(undefined8 *)(param_1 + 0x328); local_98 = "radiusScaling"; FUN_181411d60(uVar8,"radiusScaling",DAT_1824c3ea4); FUN_1814f038d(); plVar1 = (longlong *)&stack0xfffffffffffffea0; do { plVar12 = plVar1; plVar12[-1] = in_R11; /* WARNING: Call to offcut address within same function */ plVar12[-2] = 0x1814f1181; lVar4 = func_0x0001814f11af(); pcVar11 = pcVar10 + (longlong)unaff_R13; pcVar10 = pcVar11 + -(longlong)unaff_R13; plVar1 = plVar12 + -1; } while (unaff_R13 <= pcVar11); uVar2 = in((short)pcVar10); acStack_70[param_1] = acStack_70[param_1] - ((byte)uVar8 | (byte)*(undefined4 *)(lVar4 + -0x7d)); lVar4 = plVar12[4]; plVar12[4] = lVar4 + 0x1c3; plVar12[3] = lVar4 + 0x18090; plVar12[2] = lVar4 + -0x3bed5; plVar12[1] = lVar4 + 0x36261; *plVar12 = lVar4 + -0x5e1af; plVar12[-1] = lVar4 + -0x78cf6; plVar12[-2] = lVar4 + 0x7ade4; plVar12[-3] = lVar4 + -0x61741; plVar12[-4] = lVar4 + -0x456e8; plVar12[-5] = lVar4 + -0x736e5; return uVar2; } ############ FUN_ 1814ff52b size=1291 ############ void FUN_1814ff52b(uint *param_1,longlong param_2) { int *piVar1; longlong *plVar2; undefined8 uVar3; byte extraout_AH; longlong in_RAX; ulonglong uVar4; uint uVar5; ulonglong uVar6; longlong unaff_RBX; longlong unaff_RBP; longlong unaff_RSI; longlong unaff_RDI; ulonglong unaff_R12; int *piVar7; longlong unaff_R13; longlong unaff_R14; uint in_stack_00000030; undefined8 in_stack_00000038; uint in_stack_00000040; uint in_stack_00000048; undefined8 in_stack_00000050; undefined *in_stack_00000058; undefined *in_stack_00000070; piVar7 = (int *)((unaff_R12 ^ 0xffffffffffffffff) + 1); uVar4 = in_RAX - (param_2 * 0x4000 + 0x780c997b); *param_1 = (uint)(uVar4 - (uVar4 >> 0xc) >> 0xd) & 0xc76a0436; uVar5 = (*piVar7 + 1) * *piVar7 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } if (uVar5 == 0) { piVar1 = (int *)(unaff_RDI + 8 + unaff_RSI); *piVar1 = *piVar1 + (in_stack_00000030 ^ 0x223f8ddb); piVar1 = (int *)(unaff_RDI + 4 + unaff_RSI); *piVar1 = *piVar1 + (in_stack_00000030 ^ 0x59a0fb48); uVar4 = *(ulonglong *)(unaff_RDI + 4 + unaff_RSI) ^ 0x3f2491447413e927; uVar4 = ((uVar4 << 0x10 | uVar4 >> 0x30) & 0xab5a54a5ab5a54a5 | (uVar4 >> 0x10 | uVar4 << 0x30) & 0x54a5ab5a54a5ab5a) + 0x5b677d19671e45a9; uVar5 = (uint)((uVar4 >> 0x18 ^ uVar4) >> 9) & 0xffffff; uVar6 = ((ulonglong)uVar5 << 0x18 | (ulonglong)uVar5) << 9 ^ uVar4; uVar4 = uVar6 >> 2 & 0xcccccccccccccccc | uVar4 << 0x3e | (uVar6 & 0xccccccccccccccc) << 2 | uVar4 >> 0x3e; uVar4 = (uVar4 >> 0x1e | uVar4 << 0x22) + 0xdcdfc7595eca8a15; uVar5 = (uint)((uVar4 >> 0xd ^ uVar4) >> 0x12) & 0xf; uVar6 = ((ulonglong)uVar5 << 0xd | (ulonglong)uVar5) << 0x12 ^ uVar4; uVar4 = (uVar6 >> 0x10 | uVar4 << 0x30) & 0xb894476bb894476b | (uVar6 << 0x10 | uVar4 >> 0x30) & 0x476bb894476bb894; *(ulonglong *)(unaff_RDI + 4 + unaff_RSI) = uVar4; plVar2 = (longlong *)(unaff_RBX + 4 + unaff_R14); *plVar2 = *plVar2 + (ulonglong)((uint)(uVar4 >> 1) & 0x14600920); in_stack_00000030 = (uint)(*(ulonglong *)(unaff_RDI + 4 + unaff_RSI) >> 6) & 0x7fffffff; in_stack_00000048 = (uint)(*(ulonglong *)(unaff_RDI + 4 + unaff_RSI) >> 0x1c) ^ 0x79661448; uVar3 = *(undefined8 *)(unaff_R13 + 0x60); *(ulonglong *)(unaff_RBP + -0x60) = *(ulonglong *)(unaff_RDI + 4 + unaff_RSI) ^ 0x5bdcf38eb1d46346; FUN_1811c2330(uVar3); in_stack_00000038 = 0x180000000; in_stack_00000050 = 0x72b790; in_stack_00000070 = &DAT_18072b790; in_stack_00000058 = &DAT_18072c9c0; do { uVar3 = rdtsc(); uVar5 = (*piVar7 + 1) * *piVar7 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ((uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20)) * -0x166a5029; in_stack_00000040 = (uVar5 >> 0x18 ^ uVar5) * -0x166a3d4e; if (in_stack_00000040 < 0xea0ea0f) { *(undefined8 *)(unaff_RBP + -0x80) = 0; do { *(code **)(unaff_RBP + -0x80) = FUN_18141db20; uVar5 = (*piVar7 + 1) * *piVar7 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = (**(code **)(unaff_RBP + -0x80))(0,0x73b); if (1 < uVar4) { FUN_18113eab0(); } } FUN_1811bf680(*(undefined8 *)(unaff_R13 + 0x60)); /* WARNING: Call to offcut address within same function */ func_0x0001814ff924(); *(byte *)(unaff_RDI + 0x495d419a) = *(byte *)(unaff_RDI + 0x495d419a) | extraout_AH; /* WARNING: Could not recover jumptable at 0x0001814ffa60. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(unaff_R13 + -0x5aabb))(); return; } piVar7 = (int *)&stack0x0000007c; /* WARNING: Call to offcut address within same function */ func_0x0001814ff7e0(&stack0x00000030); uVar3 = rdtsc(); *piVar7 = (int)uVar3 + (int)((ulonglong)uVar3 >> 0x20) * 8; FUN_1814ff52b(); return; } ############ FUN_ 181501ea0 size=2098 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000181501f14) */ /* WARNING: Removing unreachable block (ram,0x000181501f28) */ void FUN_181501ea0(longlong param_1) { longlong *plVar1; undefined8 uVar2; uint uVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; code **ppcVar7; uint uVar8; undefined8 *puVar9; longlong lVar10; undefined8 *puVar11; ulonglong uVar12; ulonglong uVar13; ulonglong uVar14; longlong lVar15; ulonglong uVar16; float fVar17; float fVar18; float fVar19; int unaff_retaddr; undefined1 auStack_1e8 [32]; uint local_1c8; longlong local_1c0; uint local_1b8; uint local_1b4; undefined4 local_1ac; undefined8 local_1a8; undefined8 local_1a0; ulonglong local_198; undefined4 local_190; longlong local_178; undefined4 local_170; undefined4 local_164; uint local_160; code *local_158 [2]; undefined8 local_148; undefined8 uStack_140; longlong local_138; undefined8 local_130; undefined4 local_128; undefined4 local_124; undefined4 local_118; int iStack_114; undefined4 uStack_110; int iStack_10c; longlong local_108; undefined8 local_100; longlong local_f8; undefined4 local_e0; undefined4 local_d8; undefined8 local_c8; undefined8 uStack_c0; undefined1 local_b8 [104]; ulonglong local_50; local_50 = DAT_182615970 ^ (ulonglong)auStack_1e8; fVar19 = *(float *)(param_1 + 0x160); local_164 = 0xf00; uVar3 = (uint)&stack0x00000000 & 0x3eff; uVar3 = ((uVar3 + 1) * uVar3 + 7) % 0x51; local_160 = ((int)(-uVar3 | uVar3) >> 0x1f) * -0x9f77 ^ 0x9257; local_178 = param_1; lVar4 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); fVar19 = *(float *)(lVar4 + 0x88) * fVar19; lVar4 = 0x180000000; fVar18 = 0.0; local_198 = 0; local_1a8 = 0x30c; local_1a0 = 0x1809c46c4; local_1c0 = 0x1809c49d0; do { uVar2 = rdtsc(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x13ac5029; local_1b4 = (uVar3 >> 0x18 ^ uVar3) * -0x12aa7333; if (local_1b4 < 0x358ae03) { local_158[0] = (code *)0x0; do { ppcVar7 = local_158; FUN_1815010ae(ppcVar7,local_158); *ppcVar7 = FUN_1813bba80; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar5 = (*local_158[0])(0,0x5efa); if (1 < uVar5) { FUN_18113eab0(); } } uVar12 = 0; local_1ac = 0x7cc1112f; local_1c8 = 0x66ae5cc3; puVar9 = *(undefined8 **)(param_1 + 0x128); local_170 = 0x1b873593; uVar5 = (ulonglong)((longlong)*(undefined8 **)(param_1 + 0x130) + (7 - (longlong)puVar9)) >> 3; if (*(undefined8 **)(param_1 + 0x130) < puVar9) { uVar5 = uVar12; } if (uVar5 != 0) { do { fVar17 = (float)FUN_18150a080(*puVar9); puVar9 = puVar9 + 1; uVar12 = uVar12 + 1; fVar18 = fVar18 + fVar17 * fVar19; } while (uVar12 != uVar5); } local_130 = 0; local_124 = *(undefined4 *)(local_178 + 0x2c); local_128 = *(undefined4 *)(local_178 + 0x28); FUN_18051bef0(&local_130,&local_148, (int)(((float)*(int *)(local_178 + 0x28) - fVar18) * DAT_1824c3d8c)); local_118 = (undefined4)local_148; iStack_10c = (int)fVar19; iStack_114 = (uStack_140._4_4_ - iStack_10c) / 2 + local_148._4_4_; uStack_110 = (undefined4)uStack_140; local_148 = CONCAT44(iStack_114,(undefined4)local_148); uStack_140 = CONCAT44(iStack_10c,(undefined4)uStack_140); local_1ac = 0xcc9e2d51; local_138 = local_1c0 - local_1a0; local_f8 = local_1a0; local_1a8 = CONCAT44(local_1a8._4_4_,0xe6546b64); do { local_1b8 = 0xa784db27; local_d8 = 0x22; local_108 = 0x181502327; FUN_1815006d2(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar8 = local_1b8 << 0x11 | local_1b8 >> 0xf; uVar3 = ((local_1b8 & 0x7fff) >> 6 ^ uVar8) & 0xf; uVar8 = uVar8 ^ (uVar3 << 0x17 | uVar3); uVar8 = ((uVar8 << 0x10 | uVar8 >> 0x10) & 0xf4000bff | (uVar8 >> 0x10 | uVar8 << 0x10) & 0xbfff400) ^ 0x5411b34c; uVar3 = (uVar8 >> 8 ^ uVar8) >> 5 & 0x7f; uVar8 = uVar8 ^ (uVar3 << 8 | uVar3) << 5; uVar3 = (uVar8 >> 0x10 | uVar8 << 0x10) & 0xa7f85807 | (uVar8 << 0x10 | uVar8 >> 0x10) & 0x5807a7f8; uVar3 = (uVar3 << 0x1c | uVar3 >> 4) ^ 0x85d12339; do { local_e0 = 5; local_100 = 0x1815023f7; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar16 = 0; lVar10 = (longlong)(int)(uVar3 >> 0x18 | uVar3 << 8); lVar15 = 0x1815023f7; local_1b8 = 0; local_190 = 0; plVar1 = (longlong *)(lVar10 + 4 + local_108); *plVar1 = *plVar1 + ((ulonglong)dvs_0x2404cbfc_mfort6317_ >> 0x16 & 0x82080204); uVar5 = *(ulonglong *)(lVar10 + 4 + local_108); uVar3 = ((uint)((uVar5 >> 0x15) >> 8) ^ (uint)(uVar5 >> 8)) & 0x7fff; uVar12 = ((ulonglong)uVar3 << 0x15 | (ulonglong)uVar3) << 8 ^ uVar5; uVar12 = ((uVar12 >> 2 | uVar5 << 0x3e) & 0x9999999999999999 | (uVar12 << 2 | uVar5 >> 0x3e) & 0x6666666666666666) ^ 0x3799ff9444098ff7; uVar13 = uVar12 >> 0x37 | uVar12 << 9; uVar5 = (ulonglong)((uint)(((uVar12 & 0x7fffffffffffff) >> 0x11 ^ uVar13) >> 0x16) & 0x7fff); uVar13 = uVar13 ^ (uVar5 << 0x1a | uVar5) << 0x16; uVar14 = (uVar13 << 8 | uVar13 >> 0x38) & 0x36c936c936c936c9; uVar12 = (uVar13 >> 8 | (uVar12 >> 0x37) << 0x38) & 0xc936c936c936c936 | uVar14; uVar13 = uVar12 >> 0x2e | uVar12 << 0x12; uVar5 = (ulonglong)((uint)(((uVar12 & 0x3fffffffffff) >> 8 ^ uVar13) >> 1) & 0x3ffffff); uVar13 = uVar13 ^ (uVar5 << 0x1a | uVar5) * 2; puVar9 = (undefined8 *)((uVar13 << 2 | (uVar12 & 0x3fffffffffff) >> 0x2c) & 0x6666666666666666); uVar5 = (uVar13 >> 2 | uVar13 << 0x3e) & 0x9999999999999999 | (ulonglong)puVar9; *(ulonglong *)(lVar10 + 4 + local_108) = uVar5; dvs_0x2404cbfc_mfort6317_ = (uint *)((longlong)dvs_0x2404cbfc_mfort6317_ + (ulonglong)((uint)(uVar5 >> 0x14) & 0x53037182)); local_1a0 = CONCAT44(local_1a0._4_4_,(int)(*(ulonglong *)(lVar10 + 4 + local_108) >> 0x13)) & 0xffffffff7fffffff; local_1c8 = (uint)(*(ulonglong *)(lVar10 + 4 + local_108) >> 0x12) ^ 0xd7c57993; local_198 = *(ulonglong *)(lVar10 + 4 + local_108) ^ 0x2adbbdaad6c8fe1a; puVar11 = *(undefined8 **)(local_178 + 0x128); uVar5 = (ulonglong)((longlong)*(undefined8 **)(local_178 + 0x130) + (7 - (longlong)puVar11)) >> 3; if (*(undefined8 **)(local_178 + 0x130) < puVar11) { uVar5 = uVar16; } if (uVar5 != 0) { do { fVar18 = (float)FUN_18150a080(*puVar11); uVar14 = (ulonglong)(uint)(int)(fVar18 * fVar19); puVar6 = (undefined8 *)FUN_1804db9d0(&local_148,local_b8,uVar14); puVar9 = &local_c8; local_c8 = *puVar6; uStack_c0 = puVar6[1]; FUN_18134c170(*puVar11,puVar9); uVar16 = uVar16 + 1; puVar11 = puVar11 + 1; } while (uVar16 != uVar5); } do { lVar10 = (longlong)puVar9 + lVar4; lVar4 = lVar4 - lVar10; puVar9 = (undefined8 *)-lVar4; lVar4 = lVar10 + lVar4; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); FUN_18150270e(0,puVar9,uVar14,(-lVar15 ^ 0xffffffffffffffffU) + 1); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 18151a4e0 size=1005 ############ /* WARNING: Instruction at (ram,0x00018151a906) overlaps instruction at (ram,0x00018151a905) */ /* WARNING: Removing unreachable block (ram,0x00018151a8c5) */ /* WARNING: Removing unreachable block (ram,0x00018151a535) */ /* WARNING: Removing unreachable block (ram,0x00018151a5d6) */ /* WARNING: Removing unreachable block (ram,0x00018151a901) */ char FUN_18151a4e0(undefined8 param_1) { undefined8 uVar1; uint uVar2; ulonglong uVar3; ulonglong uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint *puVar9; uint *puVar10; uint uVar11; longlong lVar12; uint uVar13; int iVar14; uint uVar15; int iVar16; int unaff_retaddr; undefined1 auStack_178 [32]; undefined4 local_158; uint local_154; uint uStack_150; uint uStack_14c; undefined *local_148; undefined8 local_140; ulonglong uStack_138; uint local_130; uint uStack_12c; undefined4 local_128; uint uStack_124; uint uStack_120; undefined4 uStack_11c; undefined8 local_110; undefined8 local_108; undefined4 local_100; int iStack_f8; undefined4 local_f0; code *local_e8; uint auStack_e0 [2]; int iStack_d8; int iStack_d4; int iStack_d0; uint uStack_cc; undefined4 uStack_c8; undefined4 uStack_c4; undefined8 local_c0; undefined4 uStack_b8; undefined4 uStack_b4; undefined *puStack_b0; undefined *puStack_a8; undefined *puStack_a0; code *pcStack_98; int iStack_90; int iStack_8c; int iStack_88; undefined4 uStack_84; uint uStack_60; uint uStack_5c; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_178; uVar2 = 0; local_f0 = 0xcc0; local_128 = 0x5a0; local_148 = &DAT_180839038; local_110 = 0xe3bb8ded; local_154 = 0x4b232261; local_158 = 0xcc9e2d51; local_108 = 0x11b873593; local_140 = 0x1e6546b64; local_c0 = param_1; do { puVar9 = &local_130; func_0x000181519b2d(puVar9,&local_130); uVar1 = rdtsc(); *puVar9 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_130 = (local_130 * -0x7332166b >> 0x18 ^ local_130 * -0x7332166b) * -0x51ca12ab; if (local_130 < 0xc30c30f) { do { local_e8 = FUN_18141db20; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = FUN_18141db20(0,0x5e3d); if (1 < uVar3) { FUN_18113eab0(); } } do { local_100 = 0x47481029; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar2 = -((uVar2 ^ 0xffffffff) + 1); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { /* WARNING: Call to offcut address within same function */ func_0x00018151ae1d(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uStack_b8 = 0x39; puStack_b0 = &UNK_18151a957; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uStack_b4 = 0x55; puStack_a8 = &UNK_18151aa37; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); lVar12 = (longlong)dvs_0x10933853_mfort6317_ + (ulonglong)((uint)((ulonglong)dvs_0x8356f864_mfort6317_ >> 5) & 0x59d14a8); do { uVar1 = rdtsc(); auStack_e0[0] = (int)uVar1 - (int)((ulonglong)uVar1 >> 0x20); uVar4 = (ulonglong)auStack_e0[0] + ((ulonglong)(auStack_e0[0] >> 5) - 0x417669eb); uVar4 = uVar4 + ((uVar4 * 0x10000 | uVar4 >> 0x30) - 0x34b25256); uVar3 = uVar4 >> 0x10; uVar4 = uVar3 | uVar4 << 0x30; uVar3 = (uVar4 ^ (uVar4 >> 0xe | uVar3 << 0x32) + 0x7070a6de) * -0x7ff; uVar3 = (uVar3 >> 10 | uVar3 << 0x36) * 0x801 + 0x4afd8522; uVar5 = (uint)(uVar3 + ((uVar3 >> 0xf) - 0x51ed1a0) >> 9) & 0x914de355; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); dvs_0x10933853_mfort6317_._4_4_ = (int)((ulonglong)lVar12 >> 0x20); dvs_0x10933853_mfort6317_._0_4_ = (int)lVar12; dvs_0x10933853_mfort6317_ = (uint *)CONCAT44(dvs_0x10933853_mfort6317_._4_4_ + (uVar5 ^ 0xaa30df46), (int)dvs_0x10933853_mfort6317_ + (uVar5 ^ 0x9b536712)); uVar3 = (((ulonglong)dvs_0x10933853_mfort6317_ & 0x3333333333333333) << 2 | (ulonglong)dvs_0x10933853_mfort6317_ >> 2 & 0x3333333333333333) + 0xf65bc7d74c4e9c20; uVar4 = (uVar3 >> 0x3d | uVar3 * 8) + 0xe723347faf8b1cf2; uVar3 = uVar4 >> 0x2d; uVar4 = (uVar4 * 0x80000 | uVar3) + 0xabe8e3c499cfa000; uVar3 = ((uVar4 * 0x100 | uVar4 >> 0x38) & 0xde21de21de21de21 | (uVar4 >> 8 | uVar3 << 0x38) & 0x21de21de21de21de) ^ 0xcc0d5a1652e8ba5c; uVar5 = ((uint)(uVar3 >> 0x1a) ^ (uint)uVar3) & 0x3ffffff; dvs_0x10933853_mfort6317_ = (uint *)(((ulonglong)uVar5 << 0x1a | (ulonglong)uVar5) ^ uVar3); dvs_0x8356f864_mfort6317_ = (uint *)((longlong)dvs_0x8356f864_mfort6317_ + (ulonglong)((uint)((ulonglong)dvs_0x10933853_mfort6317_ >> 0xb) & 0x28028900)); uStack_14c = (uint)((ulonglong)dvs_0x10933853_mfort6317_ >> 0x10) & 0x7fffffff; local_154 = (uint)((ulonglong)dvs_0x10933853_mfort6317_ >> 0x18) ^ 0xe5f487e0; uVar5 = (uint)((ulonglong)dvs_0x10933853_mfort6317_ ^ 0x2647eeb7a1518e47) ^ local_154; uStack_c8 = 0x6b9c874b; uStack_c4 = 0x22e4a13f; uVar7 = uVar5 & 0x2bfd4af1 ^ local_154; uVar5 = uVar5 & 0xd402b50e ^ local_154 ^ uVar7; uVar11 = uVar5 & 0xf0f0f0f0 ^ uVar7; uVar7 = uVar5 & 0xf0f0f0f ^ uVar7; uVar13 = (uint)(((ulonglong)dvs_0x10933853_mfort6317_ ^ 0x2647eeb7a1518e47) >> 0x20); uVar8 = (uVar13 >> 0x14 ^ uVar13) >> 3 & 0x1ff; uVar5 = (uVar11 >> 6 ^ uVar11) >> 2 & 3; uVar6 = (uVar7 >> 0x16 ^ uVar7) >> 5 & 3; uVar5 = (uVar5 << 6 | uVar5) << 2 ^ uVar11 ^ 0x27796b0f; uVar15 = ~(uVar5 & 0x8ba8afcf ^ 0x27796b0f); uVar5 = ~(uVar5 & 0x74575030 ^ 0x27796b0f); uVar11 = (uVar5 >> 2 | uVar5 << 0x1e) & 0x66666666; uVar3 = (ulonglong)uVar11; uVar11 = (uVar5 << 2 | uVar5 >> 0x1e) & 0x99999999 | uVar11; uVar5 = ~((uVar8 << 0x14 | uVar8) << 3 ^ uVar13); uVar5 = (uVar5 >> 2 | uVar5 << 0x1e) & 0x99999999 | (uVar5 << 2 | uVar5 >> 0x1e) & 0x66666666; uVar8 = uVar5 << 5 | uVar5 >> 0x1b; uVar5 = uVar8 ^ (uVar11 << 0x15 | uVar11 >> 0xb); uVar6 = ~((uVar6 << 0x16 | uVar6) << 5 ^ uVar7); iStack_f8 = (uVar5 & 0x55555555 ^ uVar8) + 0x26edbe0b; uVar8 = uVar5 & 0xaaaaaaaa ^ uVar8; iVar14 = ((uVar15 >> 4 & 0xf0f0f0f0 | uVar15 << 0x1c | (uVar15 & 0xf0f0f0) << 4 | uVar15 >> 0x1c) >> 2 | (uVar15 >> 0x1c) << 0x1e) + 0xd1b1c41; iVar16 = (((uVar6 >> 8 | uVar6 << 0x18) & 0xdd22dd22 | (uVar6 << 8 | uVar6 >> 0x18) & 0x22dd22dd) << 2 | (uVar6 & 0xff) >> 6) + 0xd1de1f70; uStack_cc = uVar8 ^ 0x724d0b9e; uStack_138 = CONCAT44(uVar13,uVar8) ^ 0x724d0b9e; uStack_150 = uVar2; uStack_124 = uVar2; iStack_d8 = iStack_f8; iStack_d4 = iVar14; iStack_d0 = iVar16; do { puVar9 = auStack_e0; puVar10 = &uStack_120; func_0x00018151945c(puVar10,puVar9,uVar3); uVar1 = rdtsc(); uVar2 = (int)uVar1 + (int)((ulonglong)uVar1 >> 0x20); *puVar9 = uVar2; lVar12 = (ulonglong)uVar2 * 0xa02 + 0x71563471; uVar4 = lVar12 * 0x4000 ^ lVar12 * 0x400000 + 0x369364d0U; *puVar10 = ((uint)uVar4 ^ (uint)(uVar4 >> 0xb)) & 0x7fffffff; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uStack_120 = uStack_120 ^ uStack_14c; if (uStack_120 < 0x270270) { do { puVar9 = &uStack_12c; func_0x00018151abd0(); *puVar9 = 0xe7fdc5a2; /* WARNING: Call to offcut address within same function */ func_0x00018151a57d(); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar2 = (((uStack_12c << 0xc | uStack_12c >> 0x14) ^ 0x6de8409) << 4 | (uStack_12c & 0xfffff) >> 0x10) + 0x4d233bff; uVar2 = (uVar2 >> 4 | uVar2 * 0x10000000) + 0xd21c1ec9; uStack_12c = ~((uVar2 * 0x2000 | uVar2 >> 0x13) ^ 0xa4c9fb92); iStack_90 = iStack_f8; uStack_84 = (undefined4)uStack_138; do { puStack_a0 = &UNK_18151b095; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uStack_11c = 0xff72c92b; iStack_8c = iVar14; iStack_88 = iVar16; FUN_180c479c0(&iStack_90,&uStack_60); iVar14 = 7; do { uVar5 = (uStack_5c ^ uStack_60) & 0x4efd1df ^ uStack_60; uVar6 = (uStack_5c ^ uStack_60) & 0xfb102e20 ^ uStack_60 ^ uVar5; uVar2 = ~(uVar6 & 0x54d3484b ^ uVar5); uVar5 = uVar2 ^ ~(uVar6 & 0xab2cb7b4 ^ uVar5); uVar6 = uVar5 & 0x848b99fe ^ uVar2; uVar2 = uVar5 & 0x7b746601 ^ uVar2; uVar5 = ((uVar6 << 4 | uVar6 >> 0x1c) & 0xc3c3c3c3 | (uVar6 >> 4 | uVar6 << 0x1c) & 0x3c3c3c3c ) + 0x36fae1ff; uVar2 = ((uVar2 << 0x10 | uVar2 >> 0x10) & 0x96b5694a | (uVar2 >> 0x10 | uVar2 << 0x10) & 0x694a96b5) + 0xf365dac8 ^ uVar5; uVar6 = uVar2 & 0x58f8e34b ^ uVar5; uVar5 = uVar2 & 0xa7071cb4 ^ uVar5; uStack_5c = (uVar6 >> 6 | uVar6 << 0x1a) ^ 0x3825b93f; uStack_60 = (uVar5 << 0x18 | uVar5 >> 8) + 0xc3118cdd; iVar14 = iVar14 + -1; } while (-1 < iVar14); uVar2 = ((uStack_60 ^ 0x69796d91) << 5 | (uStack_60 ^ 0x69796d91) >> 0x1b) + 0xc5719f61; uVar2 = (uVar2 * 0x10000 | uVar2 >> 0x10) + 0xa9e5c766; uVar2 = (uVar2 >> 10 | uVar2 * 0x400000) ^ 0xfd7ba52; if (((uVar2 << 10 | uVar2 >> 0x16) ^ 0xe70b96d7 ^ uStack_12c) + uStack_5c != local_154) { do { pcStack_98 = FUN_180bc2900; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); FUN_180bc2900(); do { /* WARNING: Call to offcut address within same function */ func_0x00018151a51b(); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); } } /* WARNING: Call to offcut address within same function */ func_0x00018151b2e6(); return cRam04eb24048b4c8190 + '`'; } ############ FUN_ 1815232c0 size=706 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001815233e3) */ /* WARNING: Removing unreachable block (ram,0x0001815233ff) */ /* WARNING: Removing unreachable block (ram,0x000181523404) */ void FUN_1815232c0(undefined8 param_1) { undefined8 uVar1; ulonglong uVar2; uint uVar3; code **ppcVar4; undefined4 *puVar5; int unaff_retaddr; undefined1 auStack_178 [72]; uint local_130; undefined4 local_108 [4]; undefined4 local_f8; undefined4 local_f4; code *local_f0; undefined8 local_e8; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_178; local_f4 = 0x370; local_f8 = 0x3c0; local_e8 = param_1; do { uVar1 = rdtsc(); local_130 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_181521c26(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_130 = (local_130 * -0x166aa42f >> 0x18 ^ local_130 * -0x166aa42f) * -0x733200af; if (local_130 < 0x7fffffff) { local_f0 = (code *)0x0; do { ppcVar4 = &local_f0; FUN_18152238d(ppcVar4,&local_f0); *ppcVar4 = FUN_1813bba80; FUN_181523d05(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*local_f0)(); if (1 < uVar2) { FUN_18113eab0(); } } do { puVar5 = local_108; FUN_1815239fa(); *puVar5 = 0xa90dc4f7; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); FUN_1815235bb(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 18152d8e0 size=1810 ############ void FUN_18152d8e0(undefined8 param_1,undefined8 param_2,undefined8 param_3) { undefined8 uVar1; longlong lVar2; uint uVar3; uint uVar4; uint uVar5; uint *puVar6; int *piVar7; longlong *plVar8; undefined4 *puVar9; ulonglong uVar10; ulonglong uVar11; undefined8 uVar12; IMAGE_DOS_HEADER *pIVar13; longlong lVar14; int unaff_retaddr; undefined1 auStack_198 [32]; undefined8 local_178; uint local_170 [2]; undefined1 *local_168; uint local_160 [2]; uint local_158; undefined4 *local_150; undefined8 local_148; undefined4 *local_140; uint local_138; undefined4 auStack_134 [3]; undefined8 local_128; int local_120; undefined1 local_11c [4]; uint local_118; undefined4 local_114; code *local_110; ulonglong local_108; undefined4 local_fc; undefined4 local_f8; longlong local_f0; longlong local_e8; undefined8 local_e0; longlong local_d8; undefined8 local_a8; undefined8 local_a0; undefined4 local_78 [14]; ulonglong local_40; local_a8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_198; local_114 = 0; local_148 = param_3; local_128 = param_2; local_a0 = param_2; do { plVar8 = &local_f0; puVar9 = &local_fc; puVar6 = local_170; FUN_18152c8fe(); *puVar6 = 0xfccb142c; *puVar9 = 0x18; *plVar8 = 0x18152d957; FUN_18152e059(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = ((local_170[0] << 0x10 | local_170[0] >> 0x10) & 0xd3ba2c45 | (local_170[0] >> 0x10 | local_170[0] << 0x10) & 0x2c45d3ba) >> 1; uVar4 = (local_170[0] >> 0x10) << 0x1f | uVar3; uVar5 = uVar4 ^ 0x1d55bcac; uVar3 = ((uVar5 << 2 | uVar4 >> 0x1e) & 0x99999999 | (uVar5 >> 2 | uVar3 << 0x1e) & 0x66666666) ^ 0xa3a470c2; uVar3 = (uVar3 << 4 | uVar3 >> 0x1c) + 0x39f12b82; local_170[0] = ((uVar3 >> 0x10 | uVar3 * 0x10000) & 0xe7d61829 | (uVar3 * 0x10000 | uVar3 >> 0x10) & 0x1829e7d6) ^ 0xc880fa8f; do { local_138 = 0x69f1bf52; local_f8 = 0x2b; local_e8 = 0x18152da17; FUN_18152be66(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar4 = local_138 >> 4 & 0xf0f0f0f0 | local_138 << 0x1c | (local_138 & 0xf0f0f0) << 4 | local_138 >> 0x1c; uVar3 = (uVar4 >> 6 ^ uVar4) >> 0xf & 7; uVar3 = ((uVar3 << 6 | uVar3) << 0xf ^ uVar4) + 0x1d5d088f; uVar3 = ((uVar3 >> 4 | uVar3 * 0x10000000) & 0xd2d2d2d2 | (uVar3 * 0x10 | uVar3 >> 0x1c) & 0x2d2d2d2d) ^ 0xf01f7c1d; uVar3 = uVar3 >> 2 & 0xcccccccc | uVar3 << 0x1e | (uVar3 & 0xccccccc) << 2 | uVar3 >> 0x1e; uVar4 = uVar3 ^ 0xbaa7057; uVar3 = (uVar4 << 4 | uVar3 >> 0x1c) & 0xd2d2d2d2 | (uVar4 >> 4 | uVar4 << 0x1c) & 0x2d2d2d2d; local_f0 = (int)local_170[0] + local_f0; lVar14 = ((longlong)(int)(uVar3 << 2) & 0xffffffffccccccccU | (ulonglong)(uVar3 >> 2 & 0x33333333) ) + local_e8; local_170[0] = 0; local_138 = 0; uVar10 = (ulonglong)((uint)(*(ulonglong *)(lVar14 + 4) >> 1) & 0x4266604) + 0xc1be4f49c65c8cdd + *(longlong *)(local_f0 + 4); uVar10 = (uVar10 >> 4 | uVar10 << 0x3c) & 0xa5a5a5a5a5a5a5a5 | (uVar10 * 0x10 | uVar10 >> 0x3c) & 0x5a5a5a5a5a5a5a5a; uVar3 = (uint)((uVar10 >> 0x1b ^ uVar10) >> 2) & 0x1fffff; uVar10 = ((ulonglong)uVar3 << 0x1b | (ulonglong)uVar3) << 2 ^ uVar10; uVar11 = (uVar10 >> 0x28 | uVar10 << 0x18) ^ 0x2315f53455deb9e8; uVar3 = (uint)((uVar11 >> 0x14 ^ uVar11) >> 9) & 0x7ffff; uVar11 = ((ulonglong)uVar3 << 0x14 | (ulonglong)uVar3) << 9 ^ uVar11; uVar10 = (uVar11 >> 2 | (uVar10 >> 0x28) << 0x3e) & 0x9999999999999999 | (uVar11 << 2 | (uVar10 & 0xffffffffff) >> 0x26) & 0x6666666666666666; uVar10 = (uVar10 >> 0xe | uVar10 << 0x32) + 0x764b6b87c7442346; *(ulonglong *)(local_f0 + 4) = uVar10; plVar8 = (longlong *)(lVar14 + 4); *plVar8 = *plVar8 + (ulonglong)((uint)(uVar10 >> 0x1a) & 0x62828400); local_118 = (uint)(*(ulonglong *)(local_f0 + 4) >> 0x19) & 0x7fffffff; local_158 = (uint)(*(ulonglong *)(local_f0 + 4) >> 0x1e) ^ 0x84c35b0d; local_108 = *(ulonglong *)(local_f0 + 4) ^ 0x775256a596da04e5; local_150 = &DAT_180739278; local_178 = 0x1807397ac; local_168 = &DAT_c6a4a793; lVar14 = 0x534; local_140 = local_150; local_d8 = lVar14; do { piVar7 = &local_120; FUN_18152fa05(); *piVar7 = 0x7f494006; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = ((local_120 + 0x4c28750bU) * 0x40000000 | local_120 + 0x4c28750bU >> 2) ^ 0x7082275d; local_150 = (undefined4 *) CONCAT44(local_150._4_4_, ~(~((uVar3 >> 0x19 | uVar3 << 7) + 0x9159a6d1) ^ 0x6284c885) + 0xfc4e12c5); do { lVar2 = FUN_18152faeb(0xf924); lVar14 = (lVar2 + lVar14) - ((lVar14 - (lVar2 + lVar14) ^ 0xffffffffffffffffU) + 1); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar1 = rdtsc(); uVar4 = (uint)((ulonglong)uVar1 >> 0x20); uVar12 = CONCAT44((int)((ulonglong)local_160 >> 0x20),uVar4); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = ((uint)uVar1 ^ uVar4) * -0x166a5029; local_160[0] = (uVar3 >> 0x18 ^ uVar3) * -0x7a143595; if (local_160[0] < 0x4e04e07) { do { uVar12 = 0x4cc3; local_110 = FUN_181194940; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar10 = FUN_181194940(0,0x4cc3); if (1 < uVar10) { FUN_18113eab0(); } } local_178 = 0xa02981a388ff7464; if (lVar14 == 0) { local_168 = (undefined1 *)CONCAT44(local_168._4_4_,0x66bd37c4); do { FUN_18152fa05(0xf924); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); auStack_134[0] = 0x379b87dc; FUN_1814d65bc(auStack_134,uVar12); return; } puVar9 = local_140; if (-1 < (longlong)IMAGE_DOS_HEADER_180000000._0_8_) { local_e0 = 0x2621fc0; lVar14 = IMAGE_DOS_HEADER_180000000._0_8_; pIVar13 = &IMAGE_DOS_HEADER_180000000; do { if (local_140 < IMAGE_DOS_HEADER_180000000.e_magic + lVar14 + 8) { if (-1 < lVar14) { plVar8 = (longlong *)(lVar14 + 0x180000000); if (plVar8 < local_140 + 1) { local_78[0] = *local_140; goto LAB_18152e010; } } break; } lVar14._0_2_ = pIVar13->e_cparhdr; lVar14._2_2_ = pIVar13->e_minalloc; lVar14._4_2_ = pIVar13->e_maxalloc; lVar14._6_2_ = pIVar13->e_ss; pIVar13 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; } while (-1 < lVar14); } goto LAB_18152e034; while (plVar8 = (longlong *)(lVar14 + 0x180000000), plVar8 < local_140 + 1) { LAB_18152e010: *(longlong *)(&stack0x00017fffff88 + (lVar14 - (longlong)local_140)) = *plVar8 + -0x180000000; pIVar13 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; lVar14 = *(longlong *)pIVar13; puVar9 = local_78; if (lVar14 < 0) break; } LAB_18152e034: FUN_18152e05a(0xf924,puVar9,local_11c); return; } ############ FUN_ 181535a60 size=2160 ############ /* WARNING: Instruction at (ram,0x000181535cb4) overlaps instruction at (ram,0x000181535cb2) */ /* WARNING: Removing unreachable block (ram,0x000181535bc7) */ /* WARNING: Removing unreachable block (ram,0x000181535abd) */ /* WARNING: Removing unreachable block (ram,0x000181535c6d) */ /* WARNING: Removing unreachable block (ram,0x000181535acc) */ /* WARNING: Removing unreachable block (ram,0x000181535bd3) */ void FUN_181535a60(undefined8 param_1,undefined8 param_2) { int *piVar1; longlong *plVar2; byte *pbVar3; undefined8 uVar4; int iVar5; uint uVar6; ulonglong uVar7; longlong lVar8; uint uVar9; char cVar11; ulonglong uVar10; undefined1 *puVar12; undefined1 *puVar13; uint uVar14; uint uVar15; longlong lVar16; longlong lVar17; ulonglong unaff_R12; undefined1 uVar18; undefined1 uVar19; bool bVar20; int unaff_retaddr; undefined1 auStack_1f8 [56]; int local_1c0; uint local_1bc; uint local_1b4; undefined8 local_1b0; int local_1a8; uint local_19c; undefined8 local_190; undefined8 local_188; undefined *local_180; uint local_174; uint local_170; code *local_168; undefined8 local_160; ulonglong local_158; undefined4 local_140; longlong local_138; longlong local_130; undefined4 local_128; undefined8 local_110; undefined1 local_108 [200]; ulonglong local_40; puVar12 = auStack_1f8; local_40 = DAT_182615970 ^ (ulonglong)auStack_1f8; uVar6 = (uint)&stack0x00000000; uVar9 = uVar6 & 0x1ff; iVar5 = (uVar9 + 2) * (uVar9 + 1) * uVar9; uVar14 = ((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e | ((uVar6 & 0x18ff) * (uVar6 & 0x18ff) * 0x10 + 4) % 0x13; uVar9 = uVar6 & 0x2ff; uVar15 = uVar6 & 0x33f; local_170 = 0x3964 - (((uVar15 + 2) * (uVar15 + 1) * uVar15) % 3 << ((char)((ulonglong) ((longlong)(int)((uVar9 + 2) * (uVar9 + 1) * uVar9) * 0x55555556) >> 0x20) * -3 & 0x1fU)) ^ ((int)(-uVar14 | uVar14) >> 0x1f) * -0x37f4; uVar6 = uVar6 & 0x2bf; local_19c = (((uVar6 + 2) * (uVar6 + 1) * uVar6) % 3 | 0x98c8) ^ 0x92d8; local_160 = param_2; local_110 = param_1; FUN_18134c250(param_1,local_108); do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); do { cVar11 = -0x1a; iVar5 = FUN_18153595f(); if (cVar11 == '\0') { piVar1 = (int *)((ulonglong)(0xf0834802 - iVar5) - 0x73); *piVar1 = *piVar1 + -1; } uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); do { local_1c0 = 0x94ceded7; local_140 = 0x51; local_138 = 0x181535d07; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_1c0 = 0x10f4b5d; do { local_1a8 = 0xce207ce; local_128 = 0x3c; local_130 = 0x181535da8; FUN_181534c5a(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); lVar17 = (longlong)local_1c0; uVar6 = local_1a8 + 0x16890ca4; uVar9 = local_1a8 << 0x1e; local_1c0 = 0; local_1a8 = 0; uVar9 = ((uVar6 >> 2 | uVar9) & 0x99999999 | (uVar6 * 4 | uVar6 >> 0x1e) & 0x66666666) + 0x70ff9b48; uVar6 = (uVar9 * 0x100 | uVar9 >> 0x18) & 0x837c837c | (uVar9 >> 8 | uVar9 * 0x1000000) & 0x7c837c83; uVar9 = (uVar6 >> 0xf ^ uVar6) >> 9 & 0x7f; uVar9 = uVar6 ^ (uVar9 << 0xf | uVar9) << 9; uVar9 = (uVar9 << 8 | uVar9 >> 0x18) & 0x946b946b | (uVar9 >> 8 | uVar6 << 0x18) & 0x6b946b94; uVar6 = (uVar9 & 0xf0f0f0f) << 4 | uVar9 >> 4 & 0xf0f0f0f; uVar9 = (uVar6 >> 1 ^ uVar6) >> 3 & 1; lVar16 = (longlong)(int)(((uVar9 * 2 | uVar9) << 3 ^ uVar6) + 0x31c17a50); plVar2 = (longlong *)(lVar17 + 4 + local_138); *plVar2 = *plVar2 + (*(ulonglong *)(lVar16 + 4 + local_130) >> 10 & 0xa0022864); uVar7 = *(ulonglong *)(lVar17 + 4 + local_138) ^ 0xf07e0b052d800432; uVar7 = (uVar7 << 0x20 | uVar7 >> 0x20) ^ 0xbebf0469e857bad5; uVar10 = (uVar7 & 0x3333333333333333) << 2 | uVar7 >> 2 & 0x3333333333333333; uVar10 = ((uVar10 << 2 | (uVar7 & 0x3fffffffffffffff) >> 0x3c) & 0x9999999999999999 | (uVar10 >> 2 | (uVar7 >> 2) << 0x3e) & 0x6666666666666666) + 0x939c269077439e15; uVar7 = (ulonglong)((uint)((uVar10 >> 0x1c ^ uVar10) >> 0x14) & 0xfff); uVar7 = (uVar10 ^ (uVar7 << 0x1c | uVar7) << 0x14) + 0x42ad8cb4546b5da1; uVar7 = (uVar7 * 0x100 | uVar7 >> 0x38) & 0xe619e619e619e619 | (uVar7 >> 8 | uVar7 << 0x38) & 0x19e619e619e619e6; *(ulonglong *)(lVar17 + 4 + local_138) = uVar7; plVar2 = (longlong *)(lVar16 + 4 + local_130); *plVar2 = *plVar2 + (ulonglong)((uint)uVar7 & 0x2629af08); local_174 = (uint)(*(ulonglong *)(lVar17 + 4 + local_138) >> 0x1b) & 0x7fffffff; local_1b4 = (uint)(*(ulonglong *)(lVar17 + 4 + local_138) >> 0x14) ^ 0x92ae13e2; local_158 = *(ulonglong *)(lVar17 + 4 + local_138) ^ 0x2bb8e3899cf47b52; lVar17 = 0x180000000; local_188 = 0; local_190 = 0xb285f0; local_180 = &DAT_180b285f0; local_1b0 = 0x180b299d8; lVar16 = local_138; do { uVar4 = rdtsc(); local_1bc = (uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20); FUN_1815370a8(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_1bc = local_1bc * 0x5bd1ed55 >> 0x18 ^ local_1bc * 0x5bd1ed55; uVar7 = (ulonglong)local_1bc; local_1bc = local_1bc * -0x3d4d12ab; puVar13 = auStack_1f8; if (0xfc0fc0e < local_1bc) goto LAB_18153619c; do { local_168 = FUN_1813bba80; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } uVar7 = (ulonglong)uVar9; } while (uVar9 != 0); lVar8 = FUN_1813bba80(0,0xb00d); uVar18 = lVar8 == 0; uVar19 = lVar8 == 1; do { puVar13 = puVar12; if (!(bool)uVar18 && !(bool)uVar19) { *(undefined8 *)(puVar12 + -8) = 0x18153619c; FUN_18113eab0(); } LAB_18153619c: *(undefined8 *)(puVar13 + 0x70) = 0xdaca55e614613f2; *(int *)(puVar13 + 0x68) = (int)*(undefined8 *)(puVar13 + 0x70); *(longlong *)(puVar13 + -8) = lVar16; *(undefined8 *)(puVar13 + -0x10) = 0x180000000; puVar12 = puVar13 + -0x18; *(BADSPACEBASE **)(puVar13 + -0x18) = register0x00000020; uVar18 = lVar17 + 0x85b0a35U < 0x85b0a35; bVar20 = SBORROW8(lVar17 + 0x85b0a35U,0x85b0a35); uVar19 = lVar17 == 0; /* WARNING: Call to offcut address within same function */ *(undefined8 *)(puVar13 + -0x20) = 0x1815361e0; uVar10 = func_0x0001815361f0(); if (bVar20) { uVar18 = false; uVar19 = (uVar10 & unaff_R12) == 0; } } while (!(bool)uVar18 && !(bool)uVar19); pbVar3 = (byte *)(uVar7 * 4 + 0x14); *pbVar3 = *pbVar3 | 0x24; *(int *)(puVar13 + -0x18) = *(int *)(puVar13 + -0x18) + 0x16d; *(longlong *)(puVar13 + -0x20) = lVar16 + -0x2097; *(longlong *)(puVar13 + -0x28) = lVar16 + 0xca9; *(longlong *)(puVar13 + -0x30) = lVar16 + 0x6316; *(longlong *)(puVar13 + -0x38) = lVar16 + 0xb79; *(longlong *)(puVar13 + -0x40) = lVar16 + -0x143c; *(longlong *)(puVar13 + -0x48) = lVar16 + 0xb79; *(longlong *)(puVar13 + -0x50) = lVar16 + 0xb79; *(longlong *)(puVar13 + -0x58) = lVar16 + 0x7d08; *(longlong *)(puVar13 + -0x60) = lVar16 + 0xc37; *(longlong *)(puVar13 + -0x68) = lVar16 + 0x2a23; return; } ############ FUN_ 181537510 size=961 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000181537895) overlaps instruction at (ram,0x000181537894) */ /* WARNING: Removing unreachable block (ram,0x00018153798f) */ /* WARNING: Removing unreachable block (ram,0x000181537915) */ /* WARNING: Removing unreachable block (ram,0x000181537901) */ /* WARNING: Removing unreachable block (ram,0x00018153790a) */ /* WARNING: Removing unreachable block (ram,0x000181537895) */ /* WARNING: Removing unreachable block (ram,0x000181537897) */ /* WARNING: Removing unreachable block (ram,0x000181537b7e) */ /* WARNING: Removing unreachable block (ram,0x0001815378fc) */ void FUN_181537510(longlong param_1) { undefined4 *puVar1; longlong lVar2; undefined8 uVar3; byte bVar4; undefined8 *puVar5; ulonglong uVar6; longlong *plVar7; uint uVar8; IMAGE_DOS_HEADER *pIVar9; longlong lVar10; int iVar11; uint *puVar12; IMAGE_DOS_HEADER *pIVar13; longlong lVar14; int unaff_retaddr; undefined1 auStack_1a8 [32]; undefined1 local_188; int local_184; undefined8 local_180; uint local_170; int local_168; undefined8 local_160; undefined *local_158; uint uStack_150; uint uStack_14c; undefined8 local_138; longlong *local_130; uint local_128; undefined4 local_124; code *local_120; uint local_118; int local_114; longlong local_f8; longlong *local_98; undefined1 local_90 [40]; undefined4 uStack_68; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_1a8; uVar8 = (uint)&stack0x00000000 & 0x17f; iVar11 = (uVar8 + 2) * (uVar8 + 1) * uVar8; local_128 = 0x8b61 << ((byte)(((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e) & 0x1f) ^ 0x80e1; local_130 = (longlong *)(param_1 + 0x1e8); local_124 = 0xb80; puVar5 = (undefined8 *)(**(code **)(*local_130 + 0x10))(local_130,&local_98); local_188 = (**(code **)(*(longlong *)*puVar5 + 0x28))((longlong *)*puVar5,puVar5 + 1); (**(code **)(*local_98 + 0xb0))(local_98,local_90); do { local_118 = 0xb027ead1; FUN_181538c03(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = ((local_118 ^ 0xe338008d) >> 0x1b | (local_118 ^ 0xe338008d) << 5) ^ 0x4ad70293; uVar8 = (uVar8 >> 1 | (uint)((uVar8 & 1) != 0) << 0x1f) + 0x1bd5ba8c; local_114 = ~((uVar8 * 0x20000 | uVar8 >> 0xf) + 0xac5cc61c) + 0x3dde4382; do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uVar3 = rdtsc(); local_170 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); FUN_181538b27(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_170 = (local_170 * -0x13ac12ab >> 0x18 ^ local_170 * -0x13ac12ab) * 0x1a85c2b2; if (local_170 < 0x5555557f) { do { local_120 = FUN_18141db20; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar6 = FUN_18141db20(0,0xcdcf); if (1 < uVar6) { FUN_18113eab0(); } } pIVar9 = &IMAGE_DOS_HEADER_180000000; uStack_14c = 0x8c606025; local_158 = &DAT_181c72350; local_138 = 0xcc9e2d51; lVar14 = 0; local_f8 = 0x3ff8; local_168 = 0x1b873593; local_184 = -0x19ab949c; do { /* WARNING: Bad instruction - Truncating control flow here */ uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_160 = 0x9f4e94447a78f294; local_180 = 0x17a78f294; code_r0x000181537a10: puVar1 = (undefined4 *)(local_158 + lVar14); if ((pIVar9 != (IMAGE_DOS_HEADER *)0x0) && (lVar10._0_1_ = pIVar9->e_magic[0], lVar10._1_1_ = pIVar9->e_magic[1], lVar10._2_2_ = pIVar9->e_cblp, lVar10._4_2_ = pIVar9->e_cp, lVar10._6_2_ = pIVar9->e_crlc, -1 < lVar10)) { local_160 = 0x2621fc0; do { if (puVar1 < IMAGE_DOS_HEADER_180000000.e_magic + lVar10 + 8) { if (-1 < lVar10) { plVar7 = (longlong *)(lVar10 + 0x180000000); if (plVar7 < puVar1 + 1) { uStack_68 = *puVar1; pIVar13 = pIVar9; goto code_r0x000181537a90; } } break; } lVar10._0_2_ = pIVar9->e_cparhdr; lVar10._2_2_ = pIVar9->e_minalloc; lVar10._4_2_ = pIVar9->e_maxalloc; lVar10._6_2_ = pIVar9->e_ss; pIVar9 = (IMAGE_DOS_HEADER *)&pIVar9->e_cparhdr; } while (-1 < lVar10); } goto code_r0x000181537ac3; while (plVar7 = (longlong *)(lVar10 + 0x180000000), plVar7 < puVar1 + 1) { code_r0x000181537a90: lVar2 = lVar10 - (longlong)puVar1; lVar10 = *(longlong *)&pIVar13->e_cparhdr; pIVar13 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; *(longlong *)(&stack0x00017fffff98 + lVar2) = *plVar7 + -0x180000000; if (lVar10 < 0) break; } code_r0x000181537ac3: do { puVar12 = &uStack_150; uVar8 = func_0x000181539ae0(); *puVar12 = uVar8; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uStack_150 = (uStack_150 * (int)local_138 * 0x8000 | uStack_150 * (int)local_138 >> 0x11) * local_168; uStack_14c = local_184 + ((uStack_14c ^ uStack_150) << 0xd | (uStack_14c ^ uStack_150) >> 0x13) * 5; bVar4 = (byte)uStack_14c & 0x4f; lVar14 = lVar14 + (((longlong) (0xdebc << (-(bVar4 * bVar4 * (bVar4 + 1) * (bVar4 + 1) & 3) & 0x1f)) ^ 0xdbbcU) - 0x4fc); if (local_f8 == lVar14) { func_0x000181537be6(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } goto code_r0x000181537a10; } ############ FUN_ 181540830 size=4883 ############ /* WARNING: Instruction at (ram,0x000181540ece) overlaps instruction at (ram,0x000181540eca) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000181541748) */ /* WARNING: Removing unreachable block (ram,0x00018154173b) */ /* WARNING: Removing unreachable block (ram,0x00018154171a) */ /* WARNING: Removing unreachable block (ram,0x00018154171d) */ /* WARNING: Removing unreachable block (ram,0x000181541558) */ /* WARNING: Removing unreachable block (ram,0x00018154129f) */ /* WARNING: Removing unreachable block (ram,0x000181541317) */ /* WARNING: Removing unreachable block (ram,0x00018154089e) */ /* WARNING: Removing unreachable block (ram,0x000181540b85) */ /* WARNING: Removing unreachable block (ram,0x0001815412ce) */ /* WARNING: Removing unreachable block (ram,0x00018154128b) */ /* WARNING: Removing unreachable block (ram,0x00018154130c) */ /* WARNING: Removing unreachable block (ram,0x0001815415c4) */ /* WARNING: Removing unreachable block (ram,0x000181541702) */ /* WARNING: Removing unreachable block (ram,0x000181541726) */ /* WARNING: Removing unreachable block (ram,0x00018154172b) */ /* WARNING: Removing unreachable block (ram,0x00018154185e) */ /* WARNING: Removing unreachable block (ram,0x000181541863) */ /* WARNING: Removing unreachable block (ram,0x000181541282) */ /* WARNING: Removing unreachable block (ram,0x000181540edf) */ /* WARNING: Removing unreachable block (ram,0x000181540eef) */ /* WARNING: Removing unreachable block (ram,0x0001815412bc) */ /* WARNING: Removing unreachable block (ram,0x00018154170e) */ /* WARNING: Removing unreachable block (ram,0x000181541762) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ ulonglong FUN_181540830(undefined8 param_1,undefined8 param_2,undefined8 param_3) { int *piVar1; char unaff_00089100; longlong unaff_0008f000; undefined8 uVar2; longlong *plVar3; undefined1 *puVar4; uint uVar5; int iVar6; undefined4 *puVar7; ulonglong uVar8; longlong lVar9; uint *puVar10; undefined4 *puVar11; uint *puVar12; undefined1 *puVar13; undefined1 *puVar15; undefined8 *puVar16; undefined8 *puVar17; undefined8 *puVar18; longlong *plVar19; uint *puVar20; uint uVar21; uint *puVar22; bool bVar23; int unaff_retaddr; undefined1 local_168 [32]; int local_148; uint local_144; undefined *local_140; undefined8 local_130; uint local_128; undefined4 *local_120; undefined8 local_118; undefined4 local_fc; code *local_f8; undefined8 local_f0; undefined8 local_b8; undefined8 local_98; undefined8 local_90; ulonglong local_48; undefined1 *puVar14; puVar15 = local_168; local_98 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)local_168; uVar5 = (uint)&stack0x00000000 & 0x1aff; uVar21 = (uVar5 + 1) * uVar5 + 0x35d & 0x80000001; uVar5 = (uint)&stack0x00000000 & 0x31ff; uVar5 = ((uVar5 + 1) * uVar5 + 7) % 0x51; local_144 = ((int)((-uVar5 | uVar5) ^ (-uVar21 | uVar21)) >> 0x1f | 0xfcb8U) ^ 0xf0e8; local_fc = 0x740; local_118 = 0x2621fc0; puVar7 = &DAT_18135bc88; local_140 = &UNK_18135bd88; local_130 = 0x4685f379; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_148 = ((uint)(DAT_18135bc98 * 0x5bd1e995) >> 0x18 ^ DAT_18135bc98 * 0x5bd1e995) * 0x5bd1e995 ; do { uVar2 = rdtsc(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x3d4d7a15; local_128 = (uVar5 >> 0x18 ^ uVar5) * -0x733200af; local_120 = puVar7; local_f0 = param_1; local_b8 = param_3; local_90 = param_3; if (local_128 < 0x151d07d) { do { local_f8 = FUN_1813f2240; FUN_1815422f1(&local_f8,0x8e7c); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar8 = (*local_f8)(); if (1 < uVar8) { FUN_18113eab0(); } } do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_148 = ((uint)(_UNK_18135bcc4 * 0x5bd1e995) >> 0x18 ^ _UNK_18135bcc4 * 0x5bd1e995) * 0x5bd1e995; puVar20 = (uint *)0x40; LAB_181540e90: puVar22 = (uint *)(puVar15 + 0x20); puVar10 = (uint *)0xc020; /* WARNING: Call to offcut address within same function */ *(undefined8 *)(puVar15 + -8) = 0x181540ea5; puVar12 = &DAT_18135bcc8; uVar5 = func_0x0001815416fa(0xc020,&DAT_18135bcc8,0); if (((ulonglong)puVar10 & 0xc3) == 0) { puVar16 = (undefined8 *)puVar15; if (((ulonglong)puVar10 & 0xc3) != 0) goto LAB_181540f4c; goto LAB_181540efc; } do { if ((((ulonglong)puVar10 & 0xc3) != 0) && ((char)puVar10 < '\0')) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } if (((ulonglong)puVar10 & 0xc300) == 0) { return 0x1eb0603; } if (((ulonglong)puVar10 & 0x40) != 0) { return (ulonglong) (((uVar5 | *(uint *)((longlong)puVar20 + 0x8ebffc3)) + *(int *)(puVar15 + -0x38)) - *(int *)(puVar15 + -0x40)); } *(uint **)(puVar15 + -8) = puVar20; puVar18 = (undefined8 *)(puVar15 + -8); puVar13 = puVar15 + -8; puVar14 = puVar15 + -8; puVar16 = (undefined8 *)(puVar15 + -8); puVar20 = puVar12; if (((ulonglong)puVar10 & 0xc3) == 0) { puVar15 = puVar15 + -8; if ((uVar5 & 0xc3) == 0) goto LAB_181540f4c; puVar15 = puVar14; if (((ulonglong)puVar10 & 0xc300) != 0) goto LAB_181540f4c; puVar4 = puVar13; if ((char)((ulonglong)puVar10 >> 8) < '\0') goto code_r0x000181540f65; *puVar10 = uVar5; goto LAB_181540f1b; } LAB_181540efc: puVar15 = (undefined1 *)puVar16; } while (((ulonglong)puVar10 & 0xc3) == 0); bVar23 = false; do { if ((bVar23) && (puVar10 = (uint *)((longlong)puVar10 + -1), puVar10 == (uint *)0x0 || uVar5 == *(uint *)((longlong)puVar20 + -0x137cb73d))) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } puVar15 = (undefined1 *)((longlong)puVar16 + 0x20); puVar4 = (undefined1 *)((longlong)puVar16 + 0x20); if (((ulonglong)puVar10 & 0xc300) != 0) { code_r0x000181540f65: puVar15 = puVar4; if ((((ulonglong)puVar10 & 0xc3) == 0) && (((ulonglong)puVar10 & 0xc3) == 0)) break; } LAB_181540f4c: uVar5 = *puVar20; puVar18 = (undefined8 *)puVar15; if (((ulonglong)puVar10 & 0xc3) != 0) { return (ulonglong)uVar5; } LAB_181540f1b: *puVar22 = uVar5; puVar16 = puVar18 + -3; puVar20 = (uint *)*puVar18; bVar23 = ((ulonglong)puVar10 & 0xd300) == 0; } while( true ); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } if (uVar5 == 0) { *(uint *)(puVar15 + 0x20) = ((uint)(*(int *)(puVar15 + 0x20) * 0x5bd1e995) >> 0x18 ^ *(int *)(puVar15 + 0x20) * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f23] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f23] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f24] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f24] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f25] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f25] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f26] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f26] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f27] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f27] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f28] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f28] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f29] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f29] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f2a] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f2a] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f2b] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f2b] * 0x5bd1e995) * 0x5bd1e995; do { *(undefined8 *)(puVar15 + -8) = 0x1815410a5; FUN_1815404a2(); *(undefined8 *)(puVar15 + -8) = 0x1815410aa; FUN_18154a771(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f2c] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f2c] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f2d] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f2d] * 0x5bd1e995) * 0x5bd1e995; do { *(undefined8 *)(puVar15 + -8) = 0x18154112d; FUN_18154367f(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f2e] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f2e] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f2f] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f2f] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f30] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f30] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f31] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f31] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f32] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f32] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f33] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f33] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f34] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f34] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f35] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f35] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + 0x20) = (puVar20[0x604d6f36] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f36] * 0x5bd1e995) * 0x5bd1e995; do { *(uint *)(puVar15 + 0x20) = puVar20[0x604d6f37]; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); iVar6 = *(int *)(puVar15 + 0x20); lVar9 = (ulonglong)(byte)(unaff_00089100 - 1) * -8; *(longlong *)(puVar15 + lVar9 + -8) = unaff_0008f000; puVar16 = (undefined8 *)(puVar15 + lVar9 + -0xaf17); *(uint *)(puVar15 + lVar9 + -0xaef7) = ((uint)(iVar6 * 0x5bd1e995) >> 0x18 ^ iVar6 * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f38] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f38] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f39] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f39] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f3a] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f3a] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f3b] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f3b] * 0x5bd1e995) * 0x5bd1e995; piVar1 = (int *)(unaff_0008f000 + 0x68); do { uVar5 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f3c] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f3c] * 0x5bd1e995) * 0x5bd1e995; do { *(undefined8 *)(puVar15 + lVar9 + -0xaf1f) = 0x181541405; FUN_18153f8b5(); *(undefined8 *)(puVar15 + lVar9 + -0xaf1f) = 0x18154140d; FUN_18153ff22(); *(undefined8 *)(puVar15 + lVar9 + -0xaf1f) = 0x181541429; FUN_181541e2f(); uVar5 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f3d] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f3d] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f3e] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f3e] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f3f] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f3f] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f40] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f40] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f41] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f41] * 0x5bd1e995) * 0x5bd1e995; do { *(undefined8 *)(puVar15 + lVar9 + -0xaf1f) = 0x1815414d5; FUN_18153fb3c(); *(undefined8 *)(puVar15 + lVar9 + -0xaf1f) = 0x1815414da; FUN_18154800a(); *(undefined8 *)(puVar15 + lVar9 + -0xaf1f) = 0x1815414f9; FUN_181542d31(); uVar5 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f42] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f42] * 0x5bd1e995) * 0x5bd1e995; do { uVar5 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f43] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f43] * 0x5bd1e995) * 0x5bd1e995; do { uVar5 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f44] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f44] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f45] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f45] * 0x5bd1e995) * 0x5bd1e995; do { *(undefined8 *)(puVar15 + lVar9 + -0xaf1f) = 0x18154163a; FUN_181541c4a(0xc020); uVar5 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f46] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f46] * 0x5bd1e995) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (puVar20[0x604d6f47] * 0x5bd1e995 >> 0x18 ^ puVar20[0x604d6f47] * 0x5bd1e995) * 0x5bd1e995; do { puVar22 = (uint *)(puVar15 + lVar9 + -0xaef7); /* WARNING: Bad instruction - Truncating control flow here */ *puVar22 = puVar20[0x604d6f48]; uVar5 = (*(int *)(unaff_0008f000 + 0x68) + 1) * *(int *)(unaff_0008f000 + 0x68) & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = *(int *)(puVar15 + lVar9 + -0xaef7) * 0x5bd1e995; *(uint *)(puVar15 + lVar9 + -0xaef7) = (uVar5 >> 0x18 ^ uVar5) * 0x5bd1e995; puVar12 = puVar20 + 0x27; puVar20 = puVar20 + 0x604d6f49; do { uVar8 = (ulonglong)uVar5; puVar10 = (uint *)((longlong)puVar16 + 0x20); uVar21 = 0xc020; *(uint **)((longlong)puVar16 + -8) = puVar12; puVar18 = (undefined8 *)((longlong)puVar16 + -8); puVar12 = puVar20; if ((uVar5 & 0xc3) != 0) goto LAB_181541874; while (((uVar8 & 0xc3) != 0 || (puVar16 = puVar18, (uVar21 & 0xc3) == 0))) { LAB_181541874: while( true ) { uVar5 = *puVar12; uVar8 = (ulonglong)uVar5; if ((uVar21 & 0xc300) == 0) break; *puVar10 = uVar5; puVar12 = (uint *)*puVar18; puVar22 = (uint *)((longlong)puVar22 + uVar8); if ((uVar21 & 0x43) == 0) { puVar22 = (uint *)((longlong)puVar22 - uVar8); } else { uVar21 = uVar21 - CONCAT31((int3)(uVar5 >> 8),(char)uVar5 + -0x4c); } puVar17 = puVar18 + 1; puVar16 = puVar18 + 1; puVar18 = puVar18 + 1; if (((uVar21 & 0xc3) == 0) && (puVar18 = puVar17, (uVar21 & 0xc3) == 0)) goto LAB_18154188a; } } LAB_18154188a: uVar5 = *(uint *)(unaff_0008f000 + 0x68); uVar21 = (uVar5 + 1) * uVar5 & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } if (uVar21 == 0) { *(uint *)((longlong)puVar16 + 0x20) = ((uint)(*(int *)((longlong)puVar16 + 0x20) * 0x5bd1e995) >> 0x18 ^ *(int *)((longlong)puVar16 + 0x20) * 0x5bd1e995) * 0x5bd1e995; *(uint *)((longlong)puVar16 + 0x20) = (puVar12[0x604d6f23] * 0x5bd1e995 >> 0x18 ^ puVar12[0x604d6f23] * 0x5bd1e995) * 0x5bd1e995; *(uint *)((longlong)puVar16 + 0x20) = (puVar12[0x604d6f24] * 0x5bd1e995 >> 0x18 ^ puVar12[0x604d6f24] * 0x5bd1e995) * 0x5bd1e995; *(uint *)((longlong)puVar16 + 0x20) = (puVar12[0x604d6f25] * 0x5bd1e995 >> 0x18 ^ puVar12[0x604d6f25] * 0x5bd1e995) * 0x5bd1e995; piVar1 = (int *)(unaff_0008f000 + 0x68); do { *(undefined8 *)((longlong)puVar16 + -8) = 0x18154192c; FUN_181547fcd(); uVar5 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(undefined8 *)((longlong)puVar16 + 0x50) = 0x9a21f0e330cc28ab; *(int *)((longlong)puVar16 + 0x28) = (int)*(undefined8 *)((longlong)puVar16 + 0x50); *(uint *)((longlong)puVar16 + 0x20) = (puVar12[0x604d6f26] * 0x5bd1e995 >> 0x18 ^ puVar12[0x604d6f26] * 0x5bd1e995) * 0x5bd1e995; *(uint *)((longlong)puVar16 + 0x20) = (puVar12[0x604d6f27] * 0x5bd1e995 >> 0x18 ^ puVar12[0x604d6f27] * 0x5bd1e995) * 0x5bd1e995; do { puVar11 = (undefined4 *)0xc020; *(undefined8 *)((longlong)puVar16 + -8) = 0x1815419bd; iVar6 = FUN_18153fecd(); if (((ulonglong)puVar11 & 0xc3) != 0) { puVar12 = (uint *)(ulonglong)(uint)(iVar6 + *(int *)((longlong)puVar12 + 0x4d3316eb)); puVar22 = puVar20; puVar7 = puVar11; } /* WARNING: Call to offcut address within same function */ *(undefined8 *)((longlong)puVar16 + -8) = 0x1815419e1; func_0x0001815419bf(); uVar5 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = *(int *)((longlong)(puVar7 + 6) + (longlong)puVar12) * 0x5bd1e995; *(uint *)((longlong)puVar16 + 0x20) = (uVar5 >> 0x18 ^ uVar5) * 0x5bd1e995; uVar5 = *(int *)((longlong)(puVar7 + 7) + (longlong)puVar12) * 0x5bd1e995; *(uint *)((longlong)puVar16 + 0x20) = (uVar5 >> 0x18 ^ uVar5) * 0x5bd1e995; uVar5 = *(int *)((longlong)(puVar7 + 8) + (longlong)puVar12) * 0x5bd1e995; *(uint *)((longlong)puVar16 + 0x20) = (uVar5 >> 0x18 ^ uVar5) * 0x5bd1e995; do { *(undefined4 *)((longlong)puVar16 + 0x68) = 0x8205baa5; uVar5 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar8 = (ulonglong)*(uint *)((longlong)puVar16 + 0x68); plVar3 = puVar16; do { plVar19 = plVar3; uVar5 = ~(~(((uint)uVar8 >> 0x10 | (uint)uVar8 << 0x10) + 0x1030a173) + 0x8865841d); uVar5 = (uVar5 >> 0x1b | uVar5 << 5) + 0x3270a064; uVar8 = (ulonglong)(uVar5 >> 0xc | uVar5 * 0x100000); plVar19[-1] = 0; plVar19[-2] = (longlong)piVar1; plVar19[-3] = uVar8; /* WARNING: Call to offcut address within same function */ plVar19[-4] = 0x181541acf; lVar9 = func_0x000181541b00(); plVar3 = plVar19 + -3; } while (puVar22 != (uint *)0x0); *(uint *)(lVar9 + -0x73) = *(uint *)(lVar9 + -0x73) | 0x48e02464; lVar9 = plVar19[1]; plVar19[1] = lVar9 + 0x1ad; *plVar19 = lVar9 + -0x4fec8; plVar19[-1] = lVar9 + 0x2a496; plVar19[-2] = lVar9 + 0x64fe; plVar19[-3] = lVar9 + -0x8ecc; plVar19[-4] = lVar9 + 0x1e0ef; uVar8 = FUN_181541c4b(); return uVar8; } } while( true ); } goto LAB_181540e90; } ############ FUN_ 181546ec0 size=968 ############ /* WARNING: Removing unreachable block (ram,0x000181546fb5) */ /* WARNING: Removing unreachable block (ram,0x000181546f54) */ /* WARNING: Removing unreachable block (ram,0x000181546f9e) */ /* WARNING: Removing unreachable block (ram,0x000181546fed) */ undefined8 FUN_181546ec0(undefined8 param_1) { byte *pbVar1; byte bVar2; ulonglong uVar3; undefined8 uVar4; ulonglong uVar5; uint uVar6; int unaff_retaddr; undefined1 auStack_188 [64]; uint local_148; undefined4 local_124; uint local_fc; code *local_f8; undefined8 local_d8; undefined8 local_90; ulonglong local_30; local_90 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_188; local_124 = 0x600; uVar6 = (uint)&stack0x00000000 & 0x5ff; uVar6 = (uVar6 * uVar6 + 1) % 7; local_fc = ((int)(-uVar6 | uVar6) >> 0x1f) * -0x3046 ^ 0x3a16; do { uVar4 = rdtsc(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_148 = ((uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20)) * -0x7332166b; local_148 = local_148 >> 0x18 ^ local_148; uVar5 = (ulonglong)local_148; local_148 = local_148 * -0x5028166b; local_d8 = param_1; if (local_148 < 0x7fffffff) { do { local_f8 = FUN_1813bba80; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } uVar5 = (ulonglong)uVar6; } while (uVar6 != 0); uVar3 = FUN_1813bba80(0,0x8e6c); if (1 < uVar3) { FUN_18113eab0(); } } FUN_181545461(); /* WARNING: Call to offcut address within same function */ uVar4 = func_0x000181547168(); out(0x4e,(char)uVar4); pbVar1 = (byte *)(uVar5 + 0x5a); bVar2 = (byte)uVar5 & 7; *pbVar1 = *pbVar1 << bVar2 | *pbVar1 >> 8 - bVar2; return uVar4; } ############ FUN_ 181548970 size=3311 ############ /* WARNING: Instruction at (ram,0x000181549446) overlaps instruction at (ram,0x000181549444) */ /* WARNING: Removing unreachable block (ram,0x000181549120) */ /* WARNING: Removing unreachable block (ram,0x000181548d3a) */ /* WARNING: Removing unreachable block (ram,0x000181548b90) */ /* WARNING: Removing unreachable block (ram,0x000181548b96) */ /* WARNING: Removing unreachable block (ram,0x000181548f68) */ /* WARNING: Removing unreachable block (ram,0x000181548f6d) */ /* WARNING: Removing unreachable block (ram,0x000181548f6f) */ /* WARNING: Removing unreachable block (ram,0x000181549348) */ /* WARNING: Removing unreachable block (ram,0x000181548c40) */ /* WARNING: Removing unreachable block (ram,0x000181548fe2) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_181548970(void) { byte bVar1; ulonglong uVar2; undefined8 uVar3; undefined8 uVar4; uint uVar5; uint uVar6; uint *puVar7; int iVar8; longlong lVar9; int *piVar10; int *piVar11; undefined1 *puVar12; undefined1 *puVar14; int *piVar15; int unaff_retaddr; uint auStackX_10 [6]; undefined1 auStack_98 [32]; uint local_78; undefined *local_70; code *apcStack_68 [3]; undefined8 local_50; undefined1 *puVar13; puVar12 = auStack_98; local_50 = 0xfffffffffffffffe; puVar14 = (undefined1 *)0x930; if (((ulonglong)&stack0x00000000 & 0x2c00) == 0) { uVar5 = (uint)&stack0x00000000 & 0x1bf; iVar8 = (uVar5 + 2) * (uVar5 + 1) * uVar5; local_78 = 0xf840 << ((byte)(((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e) & 0x1f) ; } else { local_78 = 0xf840; } local_78 = local_78 ^ 0xf5a0; local_70 = &UNK_1813626dc; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = (_UNK_1813625e0 + (_UNK_1813625dc * 0x401 ^ (uint)(_UNK_1813625dc * 0x401) >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_1813625e4) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_1813625e8) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_1813625ec) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_1813625f0) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_1813625f4) * 0x401; uVar3 = 0x4f1; uVar5 = (_UNK_1813625f8 + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_1813625fc) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_181362600) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_181362604) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_181362608) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_18136260c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_181362610) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_181362614) * 0x401; do { puVar7 = auStackX_10; FUN_181548436(puVar7,auStackX_10); uVar4 = rdtsc(); *puVar7 = (uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); auStackX_10[0] = (auStackX_10[0] * -0x35943595 >> 0x18 ^ auStackX_10[0] * -0x35943595) * -0x13ac13ad; if (auStackX_10[0] < 0xf5a02) { do { apcStack_68[0] = FUN_1813f2240; FUN_18154a43d(apcStack_68,0x5ebb); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar2 = (*apcStack_68[0])(); if (1 < uVar2) { FUN_18113eab0(); } } uVar5 = (_UNK_181362618 + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_18136261c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_181362620) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_181362624) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_181362628) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_18136262c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_181362630) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + _UNK_181362634) * 0x401; do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = (_UNK_181362638 + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar6 = uVar6 ^ uVar6 >> 6; uVar5 = uVar6 & 0x3f | 0x6c; uVar5 = uVar5 * uVar5 * 0x3d7 ^ 0x1240a84b; uVar2 = (longlong)(((int)(-uVar5 | uVar5) >> 0x1f) * -0x9071) ^ 0x9031; uVar5 = (*(int *)(&UNK_1813625fc + uVar2) + uVar6) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&UNK_181362600 + uVar2)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&UNK_181362604 + uVar2)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&UNK_181362608 + uVar2)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&UNK_18136260c + uVar2)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&UNK_181362610 + uVar2)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&UNK_181362614 + uVar2)) * 0x401; piVar15 = (int *)(&UNK_181362618 + uVar2); uVar6 = ((uVar5 >> 6 ^ uVar5) + *piVar15) * 0x401; bVar1 = (byte)piVar15 & 0x2f; uVar5 = (uint)piVar15 & 0xff; piVar15 = (int *)(&UNK_181362610 + (longlong) (int)(0x90ef << ((bVar1 + 1) * (bVar1 + 1) * bVar1 * bVar1 & 3) ^ 0x90e3 - ((uVar5 + 2) * (uVar5 + 1) * uVar5) % 3) + uVar2); uVar6 = ((uVar6 >> 6 ^ uVar6) + *piVar15) * 0x401; uVar6 = uVar6 ^ uVar6 >> 6; uVar5 = (uint)piVar15 & 0x2bff; uVar5 = ((uVar5 + 1) * uVar5 + 7) % 0x51 | uVar6; piVar10 = (int *)(((longlong)(((int)(-uVar5 | uVar5) >> 0x1f) * -0x4928) ^ 0xffffffffffffb7ecU) + 0x140 + (longlong)piVar15); uVar5 = (*piVar10 + uVar6) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar10[1]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar10[2]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar10[3]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar10[4]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar10[5]) * 0x401; do { /* WARNING: Call to offcut address within same function */ func_0x000181548f51(0xc838); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (piVar10[6] + (uVar5 ^ uVar5 >> 6)) * 0x401; lVar9 = 3; piVar10 = piVar10 + 6; do { piVar11 = piVar10; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[1]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[2]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[3]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[4]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[5]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[6]) * 0x401; lVar9 = lVar9 + -1; piVar10 = piVar11 + 6; } while (lVar9 != 0); do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (piVar11[7] + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[8]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[9]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[10]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[0xb]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar11[0xc]) * 0x401; uVar5 = (uVar5 >> 6 ^ uVar5) + 0x1051405e; uVar6 = uVar5 >> 0x17 | uVar5 * 0x200; uVar5 = ((uVar5 & 0x7fffff) >> 7 ^ uVar6) & 0xfff; uVar5 = ~((uVar5 << 0x10 | uVar5) ^ uVar6); uVar5 = ((uVar5 >> 0x10 | uVar5 << 0x10) & 0x962069df | (uVar5 << 0x10 | uVar5 >> 0x10) & 0x69df9620) + 0xfccdb; do { uVar2 = 0xc838; *(undefined8 *)(puVar12 + -8) = 0x18154943a; FUN_1815476d8(); if ((uVar2 & 0xe700) == 0) { *(undefined8 *)(puVar12 + -8) = 0x181549446; func_0x0001ba9d24b7(); puVar13 = puVar12 + -8; *(undefined1 **)(puVar12 + -8) = puVar14; puVar12 = puVar12 + -0x8550; puVar14 = puVar13; } *(undefined8 *)(puVar12 + -8) = 0x18154945e; FUN_18154a76a(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = ~(*(uint *)(puVar12 + 0xb8) & uVar5); lVar9 = *(longlong *)(puVar12 + 0xa0); if ((~(uVar6 & uVar5) & ~(uVar6 & *(uint *)(puVar12 + 0xb8))) != 0xffffffff) { *(undefined8 *)(puVar12 + -8) = 0x1815494ca; uVar3 = FUN_18154d8e0(lVar9,puVar12 + 0x38,(double)*(float *)(puVar12 + 0xb0)); uVar4 = 0; *(undefined8 *)(puVar12 + -8) = 0x1815494dd; FUN_181349c50(lVar9 + 0x390,uVar3); puVar7 = (uint *)(*(longlong *)(puVar12 + 0x38) + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ *(undefined8 *)(puVar12 + -8) = 0x181549505; free(puVar7); } } *(undefined8 *)(puVar12 + -8) = 0x181549510; FUN_181548322(); *(int **)(puVar12 + -8) = piVar15; *(undefined8 *)(puVar12 + -0x10) = 0x4f1; *(undefined8 *)(puVar12 + -0x18) = uVar4; thunk_FUN_1805a9280(); return; } *(undefined8 *)(puVar12 + -8) = 0x1815495d6; uVar4 = FUN_18154d8e0(lVar9,puVar12 + 0x40,(double)*(float *)(puVar12 + 0xb0)); *(undefined8 *)(puVar12 + -8) = 0x1815495e9; FUN_181349c50(lVar9 + 0x390,uVar4,0); puVar7 = (uint *)(*(longlong *)(puVar12 + 0x40) + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ *(undefined8 *)(puVar12 + -8) = 0x181549611; free(puVar7); } } iVar8 = *(int *)(puVar12 + 0x20); uVar4 = 1; do { *(undefined8 *)(puVar12 + -8) = uVar3; *(undefined8 *)(puVar12 + -0x10) = uVar4; *(int **)(puVar12 + -0x18) = piVar15; lVar9 = -(longlong)iVar8; piVar15 = *(int **)(puVar12 + lVar9 + 0xdc8); uVar4 = *(undefined8 *)(puVar12 + lVar9 + 0xdd0); uVar3 = *(undefined8 *)(puVar12 + lVar9 + 0xdd8); puVar12 = puVar12 + lVar9 + 0xde0; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); return; } ############ FUN_ 181549720 size=1937 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018154984f) */ /* WARNING: Removing unreachable block (ram,0x00018154982d) */ /* WARNING: Removing unreachable block (ram,0x0001815498f3) */ /* WARNING: Type propagation algorithm not settling */ void FUN_181549720(undefined8 param_1) { undefined8 uVar1; ulonglong uVar2; ulonglong uVar3; int iVar4; uint uVar5; code **ppcVar6; uint *puVar7; uint uVar8; undefined4 *puVar9; ulonglong uVar10; longlong *plVar11; uint uVar12; ulonglong uVar13; int unaff_retaddr; undefined1 auStack_178 [48]; undefined4 local_148; undefined *local_140; uint local_138; uint local_134; uint local_130; uint local_128; undefined *local_120; undefined4 local_118; uint local_104; uint local_100; undefined8 local_f0; uint local_e8; code *local_e0 [4]; undefined8 local_c0; undefined4 local_b8; undefined4 local_b4; longlong local_b0 [16]; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_178; uVar5 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x700) == 0) { uVar8 = uVar5 & 0x3ff; uVar12 = ((uVar5 & 0x28ff) * (uVar5 & 0x28ff) + 1) % 7; uVar8 = ((int)(-uVar12 | uVar12) >> 0x1f) >> ((char)((ulonglong)((longlong)(int)((uVar8 + 2) * (uVar8 + 1) * uVar8) * 0x55555556) >> 0x20) * -3 & 0x1fU); local_104 = (int)(-uVar8 | uVar8) >> 0x1f & 0x7309; } else { local_104 = 0x7309; } uVar8 = uVar5 & 0x37f; local_104 = 0x7c69 >> ((char)((ulonglong) ((longlong)(int)((uVar8 + 2) * (uVar8 + 1) * uVar8) * 0x55555556) >> 0x20) * -3 & 0x1fU) ^ local_104; iVar4 = (uVar5 & 0x33ff) * (uVar5 & 0x33ff) + 1; uVar5 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; local_e8 = ((int)(uVar5 | -uVar5) >> 0x1f) * -0x6d3c; uVar13 = (ulonglong)local_e8; local_148 = 0x811c9dc5; local_e8 = local_e8 ^ 0x6f9c; local_f0 = 0; local_140 = &DAT_181e0e018; local_120 = &DAT_181e16008; local_c0 = param_1; do { uVar1 = rdtsc(); local_130 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_1815485f3(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_130 = (local_130 * -0xae3b32 >> 0x18 ^ local_130 * -0xae3b32) * -0x166ae57b; if (local_130 < 0x7fffffff) { local_e0[0] = (code *)0x0; do { ppcVar6 = local_e0; FUN_181547fcd(ppcVar6,local_e0); *ppcVar6 = FUN_1813f2240; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar2 = (*local_e0[0])(0,0xf270); if (1 < uVar2) { FUN_18113eab0(); } } do { plVar11 = local_b0; puVar9 = &local_b8; puVar7 = &local_138; FUN_18154a63e(); *puVar7 = 0x9cbc96f4; *puVar9 = 0x5e; *plVar11 = 0x181549ab7; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_138 = ~local_138; uVar5 = (local_138 >> 0xf ^ local_138) & 0x7fff; local_138 = (uVar5 << 0xf | uVar5) ^ local_138; uVar5 = (local_138 >> 0x1b | local_138 << 5) + 0x8a00da1b; uVar8 = ~((uVar5 >> 8 | uVar5 * 0x1000000) & 0x847b847b | (uVar5 * 0x100 | uVar5 >> 0x18) & 0x7b847b84); uVar5 = (uVar8 >> 0x10 ^ uVar8) & 0x7fff; uVar5 = ((uVar5 << 0x10 | uVar5) ^ uVar8) + 0xf1753a22; do { local_b4 = 0x48; local_b0[1] = 0x181549b77; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_b0[0] = (int)(uVar5 >> 0xf | uVar5 * 0x20000) + local_b0[0]; local_138 = 0; local_118 = 0; *(longlong *)(local_b0[0] + 4) = *(longlong *)(local_b0[0] + 4) + (ulonglong)((uint)((ulonglong)dvs_0x0323672b_mfort6317_ >> 0x1b) & 0x24000090); do { uVar1 = rdtsc(); local_100 = (int)uVar1 + (int)((ulonglong)uVar1 >> 0x20) * 8; uVar2 = ((ulonglong)local_100 * 5 >> 9) + 0x6d3ca378 + (ulonglong)local_100 * 8; uVar2 = uVar2 >> 0xb | uVar2 << 0x35; uVar13 = (-uVar13 ^ 0xffffffffffffffff) + 1; uVar2 = uVar2 - ((uVar2 >> 10) + 0x72da1cc); uVar2 = (uVar2 >> 7) + 0x8f79651 + uVar2 * 2; uVar2 = uVar2 * 0x80 | uVar2 >> 0x39; uVar2 = (uVar2 ^ uVar2 * 5 >> 6) >> 7; uVar5 = ((uint)uVar2 ^ (uint)(uVar2 * 5 >> 0xe)) & 0xcecbab67; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); *(int *)(local_b0[0] + 8) = *(int *)(local_b0[0] + 8) + (uVar5 ^ 0xf533ca62); *(int *)(local_b0[0] + 4) = *(int *)(local_b0[0] + 4) + (uVar5 ^ 0x4fba63c8); uVar2 = *(ulonglong *)(local_b0[0] + 4); uVar2 = ((uVar2 >> 2 | uVar2 << 0x3e) & 0x9999999999999999 | (uVar2 << 2 | uVar2 >> 0x3e) & 0x6666666666666666) ^ 0x9f9e9d74458c3082; uVar5 = (uint)((uVar2 >> 0x1d ^ uVar2) >> 7) & 0x7ffffff; uVar2 = ((ulonglong)uVar5 << 0x1d | (ulonglong)uVar5) << 7 ^ uVar2; uVar3 = ((uVar2 >> 8 | uVar2 << 0x38) & 0xd52ad52ad52ad52a | (uVar2 << 8 | uVar2 >> 0x38) & 0x2ad52ad52ad52ad5) + 0x10bbbea1143c7412; uVar2 = uVar3 >> 0x39; uVar3 = (uVar2 | uVar3 * 0x80) + 0x52015b612fd1c270; uVar5 = (uint)((uVar3 >> 0x23 ^ uVar3) >> 0xe) & 0x1fff; uVar3 = ((ulonglong)uVar5 << 0x23 | (ulonglong)uVar5) << 0xe ^ uVar3; uVar10 = (uVar3 >> 4 | uVar2 << 0x3c) & 0x6969696969696969; uVar2 = (uVar3 << 4 | uVar3 >> 0x3c) & 0x9696969696969696 | uVar10; *(ulonglong *)(local_b0[0] + 4) = uVar2; dvs_0x0323672b_mfort6317_ = (uint *)((longlong)dvs_0x0323672b_mfort6317_ + (ulonglong)((uint)(uVar2 >> 4) & 0xe49a1)); local_134 = (uint)(*(ulonglong *)(local_b0[0] + 4) >> 0x1a) & 0x7fffffff; local_128 = (uint)(*(ulonglong *)(local_b0[0] + 4) >> 0x13) ^ 0x5c676631; local_140 = (undefined *)(*(ulonglong *)(local_b0[0] + 4) ^ 0x40164358994ce95a); FUN_18154a4b0(0x40164358994ce95a,uVar10,local_b0 + 1,uVar13); FUN_181549ee1(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 18154b260 size=2234 ############ /* WARNING: Instruction at (ram,0x00018154b708) overlaps instruction at (ram,0x00018154b706) */ /* WARNING: Removing unreachable block (ram,0x00018154ba7c) */ /* WARNING: Removing unreachable block (ram,0x00018154b706) */ /* WARNING: Removing unreachable block (ram,0x00018154b804) */ /* WARNING: Removing unreachable block (ram,0x00018154b6b7) */ ulonglong FUN_18154b260(longlong param_1) { undefined8 uVar1; uint uVar2; ulonglong uVar3; uint uVar4; uint uVar5; code **ppcVar6; longlong *plVar7; undefined1 *puVar8; longlong *plVar9; int iVar10; ulonglong uVar11; longlong lVar12; longlong lVar13; uint unaff_retaddr; undefined1 auStack_b8 [32]; undefined *local_98; code *local_90; undefined8 local_88; longlong local_78; undefined4 uStack_70; undefined4 uStack_6c; longlong local_68; undefined4 uStack_60; undefined4 uStack_5c; longlong local_58; undefined4 uStack_50; undefined4 uStack_4c; longlong local_48; undefined4 uStack_40; undefined4 uStack_3c; puVar8 = auStack_b8; local_88 = 0xfffffffffffffffe; lVar13 = 0; uVar2 = (uint)&stack0x00000000 & 0x34ff; uVar2 = ((uVar2 + 1) * uVar2 + 7) % 0x51; uVar2 = (int)(-uVar2 | uVar2) >> 0x1f; uVar2 = ((int)(-uVar2 | uVar2) >> 0x1f) * -0x3195 ^ 0x31b5; uVar11 = 0x100; local_98 = &DAT_1814387d0; iVar10 = ((DAT_1814386d0 * 0xc1 + DAT_1814386d4) * 0xc1 + DAT_1814386d8) * 0xc1 + DAT_1814386dc; do { uVar1 = rdtsc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x13ac3d4e; if ((uVar4 >> 0x18 ^ uVar4) * -0x12aa7333 < 0xf5b9f) { local_90 = (code *)0x0; do { ppcVar6 = &local_90; FUN_18154a362(ppcVar6,&local_90); *ppcVar6 = FUN_1813f2240; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (*local_90)(0,0x34f0); if (1 < uVar3) { FUN_18113eab0(); } } iVar10 = (((((((((iVar10 * 0xc1 + DAT_1814386e0) * 0xc1 + DAT_1814386e4) * 0xc1 + DAT_1814386e8) * 0xc1 + DAT_1814386ec) * 0xc1 + DAT_1814386f0) * 0xc1 + DAT_1814386f4) * 0xc1 + DAT_1814386f8) * 0xc1 + DAT_1814386fc) * 0xc1 + DAT_181438700) * 0xc1 + DAT_181438704; plVar9 = (longlong *)(param_1 + -0x850); (**(code **)(*plVar9 + 0x170))(plVar9); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar2 = ~(~uVar2 + 1) + 1; uVar11 = (-(uVar11 ^ 0x109ba030) ^ 0xffffffffffffffff) + 1 ^ 0x109ba030; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (((((((((((((((((((((((((((((((((((((((((((((((((iVar10 * 0xc1 + DAT_181438708) * 0xc1 + DAT_18143870c) * 0xc1 + DAT_181438710) * 0xc1 + DAT_181438714) * 0xc1 + DAT_181438718 ) * 0xc1 + DAT_18143871c) * 0xc1 + DAT_181438720) * 0xc1 + DAT_181438724) * 0xc1 + DAT_181438728) * 0xc1 + DAT_18143872c) * 0xc1 + DAT_181438730) * 0xc1 + DAT_181438734) * 0xc1 + DAT_181438738) * 0xc1 + DAT_18143873c) * 0xc1 + DAT_181438740) * 0xc1 + DAT_181438744) * 0xc1 + DAT_181438748) * 0xc1 + DAT_18143874c) * 0xc1 + DAT_181438750) * 0xc1 + DAT_181438754) * 0xc1 + DAT_181438758) * 0xc1 + DAT_18143875c) * 0xc1 + DAT_181438760) * 0xc1 + DAT_181438764) * 0xc1 + DAT_181438768) * 0xc1 + DAT_18143876c) * 0xc1 + DAT_181438770) * 0xc1 + DAT_181438774) * 0xc1 + DAT_181438778) * 0xc1 + DAT_18143877c) * 0xc1 + DAT_181438780) * 0xc1 + DAT_181438784) * 0xc1 + DAT_181438788) * 0xc1 + DAT_18143878c) * 0xc1 + DAT_181438790) * 0xc1 + DAT_181438794) * 0xc1 + DAT_181438798) * 0xc1 + DAT_18143879c) * 0xc1 + DAT_1814387a0) * 0xc1 + DAT_1814387a4) * 0xc1 + DAT_1814387a8) * 0xc1 + DAT_1814387ac) * 0xc1 + DAT_1814387b0) * 0xc1 + DAT_1814387b4) * 0xc1 + DAT_1814387b8) * 0xc1 + DAT_1814387bc) * 0xc1 + DAT_1814387c0 ) * 0xc1 + DAT_1814387c4) * 0xc1 + DAT_1814387c8) * 0xc1 + DAT_1814387cc; do { lVar12 = lVar13 + uVar11; lVar13 = (uVar11 - lVar12 ^ 0xffffffffffffffff) + 1; uVar11 = lVar12 - lVar13; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = (uVar4 >> 8 | uVar4 * 0x1000000) & 0xa35ca35c | (uVar4 * 0x100 | uVar4 >> 0x18) & 0x5ca35ca3; uVar4 = (uVar5 >> 0xe ^ uVar5) >> 1 & 0x3f; uVar4 = ((uVar4 << 0xe | uVar4) * 2 ^ uVar5) + 0xd088a1fa; uVar5 = uVar4 * 2 | (uint)((int)uVar4 < 0); uVar11 = CONCAT71((int7)((ulonglong)lVar13 >> 8), (((uVar4 & 0x7fffffff) >> 3 | uVar5 << 0x1c) & 0x96969696 | (uVar5 << 4 | (uVar4 & 0x7fffffff) >> 0x1b) & 0x69696969) == 0xcd6107aa); uStack_70 = *(undefined4 *)(param_1 + -0x828); if ((uVar11 & 0x1fffff) == 0 && (int)uVar11 == 0) { uStack_6c = *(undefined4 *)(param_1 + -0x824); local_78 = lVar13; uStack_50 = uStack_70; uStack_4c = uStack_6c; local_58 = lVar13; FUN_181342870(plVar9,&local_58); uVar11 = thunk_FUN_1805a9280(); return uVar11; } uStack_5c = *(undefined4 *)(param_1 + -0x824); plVar7 = &local_48; local_68 = lVar13; uStack_60 = uStack_70; uStack_40 = uStack_70; uStack_3c = uStack_5c; local_48 = lVar13; FUN_181342870(plVar9); do { /* WARNING: Call to offcut address within same function */ *(undefined8 *)(puVar8 + -8) = 0x18154bb6c; lVar12 = (longlong)(int)uVar2; func_0x00018154b2df(); *(longlong **)(puVar8 + -8) = plVar9; *(longlong *)(puVar8 + -0x10) = lVar13; *(longlong **)(puVar8 + -0x18) = plVar7; lVar12 = -lVar12; plVar7 = *(longlong **)(puVar8 + lVar12 + 8); lVar13 = *(longlong *)(puVar8 + lVar12 + 0x10); plVar9 = *(longlong **)(puVar8 + lVar12 + 0x18); puVar8 = puVar8 + lVar12 + 0x20; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); return (ulonglong)unaff_retaddr; } ############ FUN_ 1815552a0 size=2435 ############ /* WARNING: Instruction at (ram,0x00018155560b) overlaps instruction at (ram,0x00018155560a) */ /* WARNING: Removing unreachable block (ram,0x0001815555dd) */ /* WARNING: Removing unreachable block (ram,0x0001815555eb) */ /* WARNING: Removing unreachable block (ram,0x0001815555e9) */ /* WARNING: Removing unreachable block (ram,0x0001815555ef) */ /* WARNING: Removing unreachable block (ram,0x00018155538b) */ /* WARNING: Removing unreachable block (ram,0x00018155560a) */ /* WARNING: Removing unreachable block (ram,0x00018155560f) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_1815552a0(undefined8 param_1) { int *piVar1; byte *pbVar2; undefined8 uVar3; ulonglong uVar4; ulonglong uVar5; undefined4 uVar6; uint *puVar7; longlong lVar8; uint uVar9; undefined4 *puVar10; ulonglong uVar11; code *UNRECOVERED_JUMPTABLE; uint uVar12; longlong *plVar13; longlong lVar14; int unaff_retaddr; longlong local_1d8; longlong lStack_1d0; longlong local_1c8; undefined8 local_1a8; undefined8 local_1a0; ulonglong local_198; uint local_190; uint local_18c; uint local_180; undefined8 local_178; uint local_16c; uint local_154; undefined4 local_150; undefined *local_148; uint local_140; uint local_13c; code *local_138; undefined8 local_130; undefined4 local_128; longlong local_120; longlong local_118; undefined4 local_110 [44]; ulonglong local_60; local_60 = DAT_182615970 ^ (ulonglong)&local_1d8; uVar12 = (uint)&stack0x00000000 & 0x1cff; uVar12 = (uVar12 * uVar12 * 0x10 + 4) % 0x13; uVar12 = (int)(-uVar12 | uVar12) >> 0x1f; local_154 = (int)(-uVar12 | uVar12) >> 0x1f & 0x43e8U ^ 0x4a18; local_150 = 0xb10; local_198 = 0; local_1a8 = 0x1809a22f4; local_1a0 = &DAT_1809a596c; do { uVar3 = rdtsc(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = ((uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20)) * 0x1a855bd1; local_180 = (uVar12 >> 0x18 ^ uVar12) * 0x1a85ec53; local_130 = param_1; if (local_180 < 0x38e38e3f) { do { local_138 = FUN_181194940; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar4 = FUN_181194940(0,0xf278); if (1 < uVar4) { FUN_18113eab0(); } } local_148 = local_1a0; local_178 = CONCAT44(local_178._4_4_,0x41a16baa); local_1a0 = (undefined *)(CONCAT44(local_1a0._4_4_,0xbd1e995) | 0x50000000); do { puVar7 = &local_140; FUN_18155447f(); *puVar7 = 0x2f69aadd; FUN_1815539fd(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = ~(~(local_140 << 0x18 | local_140 >> 8) + 0x54d6eda6) + 0xde8df7ac; local_1a8 = CONCAT44(local_1a8._4_4_,~((uVar12 * 0x20 | uVar12 >> 0x1b) + 0xb27e83fe) + 0xcd0607c9 ); do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); do { plVar13 = &local_120; puVar10 = local_110; puVar7 = &local_190; FUN_181555db9(); *puVar7 = 0xc984cf97; *puVar10 = 0x1b; *plVar13 = 0x181555647; FUN_181557078(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar9 = (local_190 >> 2 | local_190 << 0x1e) & 0x99999999 | (local_190 << 2 | local_190 >> 0x1e) & 0x66666666; uVar12 = (uVar9 >> 5 ^ uVar9) >> 8 & 7; uVar12 = ((uVar12 << 5 | uVar12) << 8 ^ uVar9) + 0x6d4d7f0b; uVar9 = ((uVar12 * 0x10000 | uVar12 >> 0x10) & 0xd91e26e1 | (uVar12 >> 0x10 | uVar12 * 0x10000) & 0x26e1d91e) ^ 0xd9d36d40; uVar12 = uVar9 >> 0xf; uVar9 = uVar9 << 0x11 | uVar12; uVar12 = (uVar12 << 0x10 | uVar9 >> 0x10) & 0xb6b5494a | (uVar9 >> 0x10 | uVar12 << 0x10) & 0x494ab6b5; uVar9 = (uVar12 >> 0xb ^ uVar12) >> 5 & 0x7ff; uVar12 = (uVar9 << 0xb | uVar9) << 5 ^ uVar12; local_190 = uVar12 >> 0xe | uVar12 << 0x12; do { local_118 = 0x181555727; local_16c = 0xa588f06c; local_128 = 0x5b; FUN_181556924(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); lVar14 = (longlong)(int)local_190; uVar12 = (local_16c >> 6 ^ local_16c) >> 3 & 1; uVar12 = local_16c ^ (uVar12 << 6 | uVar12) << 3; uVar12 = (uVar12 >> 4 | uVar12 << 0x1c) & 0xc3c3c3c3 | (uVar12 << 4 | local_16c >> 0x1c) & 0x3c3c3c3c; uVar12 = ((uVar12 >> 0x10 | uVar12 << 0x10) & 0xce4131be | (uVar12 << 0x10 | uVar12 >> 0x10) & 0x31bece41) ^ 0x99927363; uVar9 = uVar12 >> 0x13 | uVar12 << 0xd; uVar12 = (uVar9 >> 2 | (uVar12 >> 0x13) << 0x1e) & 0x99999999 | (uVar9 << 2 | (uVar12 & 0x7ffff) >> 0x11) & 0x66666666; uVar9 = (uVar12 >> 4 | uVar12 << 0x1c) & 0x96969696 | (uVar12 << 4 | uVar12 >> 0x1c) & 0x69696969; uVar12 = (uVar9 >> 6 ^ uVar9) >> 5 & 0x1f; uVar12 = uVar9 ^ (uVar12 << 6 | uVar12) << 5; uVar4 = (longlong)(int)(uVar12 >> 2 | uVar9 << 0x1e) & 0xffffffffccccccccU | (ulonglong)((uVar12 & 0xccccccc) << 2 | uVar9 >> 0x1e); local_190 = 0; local_16c = 0; plVar13 = (longlong *)(lVar14 + 4 + local_120); *plVar13 = *plVar13 + (*(ulonglong *)(uVar4 + 4 + local_118) >> 0x15 & 0x8644d0b8); do { uVar3 = rdtsc(); local_13c = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); uVar11 = (ulonglong)local_13c * 0x100 - 0x772c472a; register0x00000020 = (BADSPACEBASE *)((~(ulonglong)register0x00000020 + 1 ^ 0xffffffffffffffff) + 1); uVar5 = (local_13c ^ uVar11) << 0x10 | uVar11 >> 0x30; uVar11 = uVar5 * 3; uVar11 = (uVar11 >> 9 | uVar11 << 0x37) + uVar5 * 2; uVar11 = uVar11 >> 0xf | uVar11 << 0x31; uVar11 = (uVar11 * -0x3fffc0 | uVar11 * -0xffff >> 0x3a) * 0x2001 + 0x4d216e65; uVar11 = uVar11 >> 6 | uVar11 << 0x3a; uVar11 = uVar11 + (uVar11 >> 0xc) + 0x435de980; uVar11 = uVar11 >> 5 ^ (uVar11 >> 0x13) + 0x531c2415; uVar12 = (int)uVar11 + (int)(uVar11 >> 0xb) + -0x61882cf0 & 0x30f1010d; uVar9 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); piVar1 = (int *)(lVar14 + 8 + local_120); *piVar1 = *piVar1 + (uVar12 ^ 0xf855dd28); piVar1 = (int *)(lVar14 + 4 + local_120); *piVar1 = *piVar1 + (uVar12 ^ 0x13b2022c); uVar11 = *(longlong *)(lVar14 + 4 + local_120) + 0x87a0d579b9a6e53e; uVar6 = (undefined4)((uVar11 >> 0x20 ^ uVar11) >> 2); uVar11 = uVar11 ^ (CONCAT44(uVar6,uVar6) & 0x3fff00003fff) << 2; uVar5 = (uVar11 << 0x14 | uVar11 >> 0x2c) + 0x612e5647d466577; uVar11 = (uVar5 >> 8 ^ uVar5) >> 0x2f & 0xff; uVar5 = ~(uVar5 ^ (uVar11 << 8 | uVar11) << 0x2f); uVar11 = (ulonglong)((uint)((uVar5 >> 0xf ^ uVar5) >> 0x12) & 0xfff); uVar11 = (uVar5 ^ (uVar11 << 0xf | uVar11) << 0x12) + 0xb406600d42403237; uVar11 = (uVar11 >> 8 | uVar11 << 0x38) & 0xf906f906f906f906 | (uVar11 * 0x100 | uVar11 >> 0x38) & 0x6f906f906f906f9; *(ulonglong *)(lVar14 + 4 + local_120) = uVar11; plVar13 = (longlong *)(uVar4 + 4 + local_118); *plVar13 = *plVar13 + (ulonglong)((uint)(uVar11 >> 0xc) & 0x61010011); lVar8 = -0xa99998967f1e914; local_18c = (uint)(*(ulonglong *)(lVar14 + 4 + local_120) >> 0xb) & 0x7fffffff; local_178._4_4_ = (undefined4)((ulonglong)local_118 >> 0x20); local_178 = CONCAT44(local_178._4_4_,(int)(*(ulonglong *)(lVar14 + 4 + local_120) >> 0xe)) ^ 0x91e2fa52; local_198 = *(ulonglong *)(lVar14 + 4 + local_120) ^ 0xf5666676980e16ec; /* WARNING: Call to offcut address within same function */ lVar14 = func_0x000181555ae8(); pbVar2 = (byte *)(lVar14 + -0x27db9b73 + lVar8 * 2); *pbVar2 = *pbVar2 | (byte)((ulonglong)lVar14 >> 8); lStack_1d0 = local_1c8 + 0x14afe; local_1d8 = local_1c8 + 0x302; UNRECOVERED_JUMPTABLE = (code *)(local_1c8 + 0x1648); local_1c8 = local_1c8 + 0x1d8; /* WARNING: Could not recover jumptable at 0x000181555c83. Too many branches */ /* WARNING: Treating indirect jump as call */ (*UNRECOVERED_JUMPTABLE)(); return; } ############ FUN_ 18155a1d0 size=2220 ############ /* WARNING: Removing unreachable block (ram,0x00018155a2e6) */ /* WARNING: Removing unreachable block (ram,0x00018155a3d0) */ int FUN_18155a1d0(undefined8 param_1,undefined8 param_2,undefined1 param_3) { int iVar1; int iVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; int iVar9; int iVar10; int iVar11; int iVar12; undefined8 uVar13; ulonglong uVar14; uint uVar15; int *piVar16; longlong lVar17; int *piVar18; int *piVar19; uint uVar20; int iVar21; uint uVar22; uint uVar23; undefined1 auStack_148 [40]; undefined4 *local_120; undefined1 *local_118; uint local_110; uint local_f8; undefined8 local_f0; uint local_e4; code *local_e0; undefined8 local_d8; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_148; uVar22 = (uint)&stack0x00000000; if ((((uVar22 & 0x3ff) * (uVar22 & 0x3ff) * 0x10 + 4) % 0x13 & 0x1c) == 0) { iVar21 = (uVar22 & 0x8ff) * (uVar22 & 0x8ff) + 1; uVar15 = (iVar21 >> 4) + (iVar21 >> 1) + iVar21 * 0x24924924 >> 0x1d; uVar15 = (int)(uVar15 - 7) >> 0x1f & uVar15; } else { uVar15 = ((uVar22 & 0x4aff) * (uVar22 & 0x4aff) + 1) % 7; } local_f8 = ((int)(-uVar15 | uVar15) >> 0x1f) * -0x4038 ^ 0x44d8; uVar22 = (((uVar22 & 0x4ff) + 1) * (uVar22 & 0x4ff) + 7) % 0x51; local_e4 = ((int)(-uVar22 | uVar22) >> 0x1f) * -0x237 ^ 0xdc7; local_f0 = 0x100; local_120 = &DAT_18145f6d4; local_118 = &LAB_18145f7d4; uVar20 = ((((((DAT_18145f6d4 * 0x3d + DAT_18145f6d8) * 0x3d + DAT_18145f6dc) * 0x3d + DAT_18145f6e0) * 0x3d + DAT_18145f6e4) * 0x3d + DAT_18145f6e8) * 0x3d + DAT_18145f6ec) * 0x3d + DAT_18145f6f0; uVar22 = uVar20 & 0x1f | 4; uVar23 = uVar20 & 0x1ff; uVar23 = (uVar23 + 2) * (uVar23 + 1) * uVar23; uVar15 = uVar23 / 3; uVar22 = 0x26a2 << ((char)uVar23 + (char)uVar15 * -3 + (uVar22 * uVar22 * 0x13f3 == 0x22b010d) & 0x1fU) ^ 0x2422; local_d8 = param_1; FUN_1815aa4d0(param_1,uVar15,param_3); iVar21 = ((((((uVar20 * 0x3d + *(int *)(&DAT_18145f474 + (int)uVar22)) * 0x3d + *(int *)(&DAT_18145f478 + (int)uVar22)) * 0x3d + *(int *)(&DAT_18145f47c + (int)uVar22)) * 0x3d + *(int *)(&DAT_18145f480 + (int)uVar22)) * 0x3d + *(int *)(&DAT_18145f484 + (int)uVar22) ) * 0x3d + *(int *)(&DAT_18145f488 + (int)uVar22)) * 0x3d + *(int *)(&DAT_18145f48c + (int)uVar22); piVar19 = (int *)register0x00000020; do { piVar16 = (int *)&DAT_00005a3c; FUN_181559a32(); if (((ulonglong)piVar16 & 0xe700) != 0) { piVar16 = piVar19; } uVar15 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } piVar19 = piVar16; } while (uVar15 != 0); lVar17 = 4; local_118 = (undefined1 *)0x9e3bd4a4ab8064de; local_120 = (undefined4 *)CONCAT44(local_120._4_4_,0xab8064de); piVar19 = (int *)(&DAT_18145f490 + (int)uVar22); do { piVar18 = piVar19; iVar21 = ((((iVar21 * 0x3d + *piVar18) * 0x3d + piVar18[1]) * 0x3d + piVar18[2]) * 0x3d + piVar18[3]) * 0x3d + piVar18[4]; lVar17 = lVar17 + -1; piVar19 = piVar18 + 5; } while (lVar17 != 0); do { FUN_18155c15f(&DAT_00005a3c); uVar22 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar22 < 0) { uVar22 = (uVar22 - 1 | 0xfffffffe) + 1; } } while (uVar22 != 0); piVar19 = piVar18 + 0xb; uVar22 = (uint)piVar19 & 0x1f | 0x32; uVar23 = ((((((iVar21 * 0x3d + piVar18[5]) * 0x3d + piVar18[6]) * 0x3d + piVar18[7]) * 0x3d + piVar18[8]) * 0x3d + piVar18[9]) * 0x3d + piVar18[10]) * 0x3d + *piVar19; uVar15 = uVar23 & 0x1f | 0x6e; uVar22 = uVar22 * uVar22 * 0x9085 ^ uVar15 * uVar15 * 0x9557; piVar19 = (int *)((longlong)piVar19 + (0x104 - ((longlong) (0x6769 << (((char)((byte)(-uVar22 >> 0x18) | (byte)(uVar22 >> 0x18)) >> 7) - (char)((int)-(((uVar23 & 0x1fff) * (uVar23 & 0x1fff) + 1) % 7) >> 0x1f ) & 0x1fU)) ^ 0x6669U))); iVar21 = *piVar19; iVar1 = piVar19[1]; iVar2 = piVar19[2]; iVar3 = piVar19[3]; piVar19 = piVar19 + 4; iVar4 = *piVar19; piVar19 = (int *)((longlong)piVar19 + (0xc6deL >> ((byte)(0 << ((byte)piVar19 & 0x1f)) & 0x3f) ^ 0xc6daU)); iVar5 = *piVar19; iVar6 = piVar19[1]; iVar7 = piVar19[2]; iVar8 = piVar19[3]; iVar9 = piVar19[4]; iVar10 = piVar19[5]; do { FUN_1815587ab(); FUN_18155bd3c(); uVar22 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar22 < 0) { uVar22 = (uVar22 - 1 | 0xfffffffe) + 1; } } while (uVar22 != 0); do { uVar13 = rdtsc(); local_110 = (uint)uVar13 ^ (uint)((ulonglong)uVar13 >> 0x20); uVar22 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar22 < 0) { uVar22 = (uVar22 - 1 | 0xfffffffe) + 1; } } while (uVar22 != 0); local_110 = local_110 * -0x3b317a15; local_110 = (local_110 >> 0x18 ^ local_110) * 0x5bd1c2b2; if (local_110 < 0xb3cc06) { do { local_e0 = FUN_18141db20; uVar22 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar22 < 0) { uVar22 = (uVar22 - 1 | 0xfffffffe) + 1; } } while (uVar22 != 0); uVar14 = FUN_18141db20(0,0xc392); if (1 < uVar14) { FUN_18113eab0(); } } iVar11 = piVar19[6]; iVar12 = piVar19[7]; do { FUN_18155932f(&DAT_00005a3c); uVar22 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar22 < 0) { uVar22 = (uVar22 - 1 | 0xfffffffe) + 1; } } while (uVar22 != 0); return ~(((((((((((((((((((((uVar23 * 0x3d + iVar21) * 0x3d + iVar1) * 0x3d + iVar2) * 0x3d + iVar3) * 0x3d + iVar4) * 0x3d + iVar5) * 0x3d + iVar6) * 0x3d + iVar7) * 0x3d + iVar8) * 0x3d + iVar9) * 0x3d + iVar10) * 0x3d + iVar11) * 0x3d + iVar12) * 0x3d + piVar19[8]) * 0x3d + piVar19[9]) * 0x3d + piVar19[10]) * 0x3d + piVar19[0xb]) * 0x3d + piVar19[0xc]) * 0x3d + piVar19[0xd]) * 0x3d + piVar19[0xe] ^ 0xffffffff) + 1) + 0xf92c868c; } ############ FUN_ 181560f30 size=1305 ############ /* WARNING: Instruction at (ram,0x000181561715) overlaps instruction at (ram,0x000181561714) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000181562088) */ /* WARNING: Removing unreachable block (ram,0x000181561461) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ char FUN_181560f30(longlong param_1,longlong param_2) { longlong *plVar1; float fVar2; undefined1 *puVar3; byte bVar4; char cVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint uVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; uint uVar21; uint uVar22; longlong lVar23; undefined4 *puVar24; undefined8 uVar25; undefined8 *puVar26; ulonglong uVar27; undefined4 *puVar28; uint uVar29; uint uVar30; uint uVar31; ulonglong uVar32; int iVar33; undefined1 *puVar34; undefined1 *puVar35; longlong lVar36; longlong lVar37; int *piVar38; longlong lVar39; ulonglong uVar40; ulonglong uVar41; bool bVar42; float fVar43; float fVar44; float fVar45; undefined4 uVar46; float fVar47; float fVar48; float fVar49; float fVar50; int unaff_retaddr; undefined1 auStack_288 [32]; float local_268; float fStack_260; undefined4 *local_258; undefined *local_250; float fStack_248; float fStack_244; undefined4 local_240; undefined8 local_238; int local_230; undefined8 local_228; code *local_220; float fStack_218; float fStack_214; float fStack_210; float fStack_20c; undefined1 local_208 [44]; undefined4 local_1dc; undefined8 local_1d0 [6]; undefined1 auStack_1a0 [24]; undefined1 local_188 [16]; undefined8 local_178; undefined8 local_138; undefined8 uStack_130; undefined8 local_128; undefined8 uStack_120; undefined1 local_e0 [160]; puVar35 = local_188; local_178 = 0xfffffffffffffffe; local_240 = 0; local_230 = 0x50; fVar47 = *(float *)(param_1 + 0x9e0); fVar48 = *(float *)(param_1 + 0x9e4); plVar1 = (longlong *)(param_1 + 0xb0); lVar23 = (**(code **)(*plVar1 + 8))(plVar1); fVar49 = *(float *)(lVar23 + 0x88) * DAT_1824c4408; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar25 = *(undefined8 *)(param_1 + 0xb8); } else { uVar25 = (**(code **)(*plVar1 + 8))(plVar1); } FUN_1813f2500(uVar25,local_208,fVar49); puVar24 = &DAT_1814311f8; local_250 = &DAT_1814312f8; local_238 = 0x100; local_258 = puVar24; FUN_1804a9ef0(&local_228,local_208); local_240 = 2; FUN_1812520a0(&local_228); uVar25 = FUN_181251cf0(&local_228,local_1d0,DAT_1824c3c7c); FUN_181296e50(param_2); (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),uVar25); FUN_1804888e0(local_1d0[0]); local_240 = 0; FUN_1804888e0(local_228); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0xa08)); local_138 = *(undefined8 *)(param_1 + 0x360); uStack_130 = *(undefined8 *)(param_1 + 0x368); local_1dc = 0xc; puVar26 = (undefined8 *)FUN_1804ab5a0(&local_138,local_e0); local_128 = *puVar26; uStack_120 = puVar26[1]; local_268 = (float)((uint)local_268 & 0xffffff00); FUN_1812963b0(param_2,param_1 + 8,&local_128,0xc); do { uVar25 = rdtsc(); uVar29 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar29 < 0) { uVar29 = (uVar29 - 1 | 0xfffffffe) + 1; } } while (uVar29 != 0); uVar29 = ((uint)uVar25 ^ (uint)((ulonglong)uVar25 >> 0x20)) * -0x7a143d4e; if ((uVar29 >> 0x18 ^ uVar29) * -0x5028166b < 0xd5762) { do { local_220 = FUN_1813bba80; uVar29 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar29 < 0) { uVar29 = (uVar29 - 1 | 0xfffffffe) + 1; } } while (uVar29 != 0); uVar27 = FUN_1813bba80(0,0x9735); if (1 < uVar27) { FUN_18113eab0(); } } uVar29 = DAT_1814311f8 * 0x5bd1e995; uVar6 = DAT_1814311fc * 0x5bd1e995; uVar7 = DAT_181431200 * 0x5bd1e995; uVar8 = DAT_181431204 * 0x5bd1e995; fVar49 = (float)FUN_181552c20(param_1); uVar9 = DAT_181431208 * 0x5bd1e995; uVar10 = DAT_18143120c * 0x5bd1e995; uVar11 = DAT_181431210 * 0x5bd1e995; do { func_0x00018155ffc6(); uVar30 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar30 < 0) { uVar30 = (uVar30 - 1 | 0xfffffffe) + 1; } } while (uVar30 != 0); fVar50 = fVar49 * DAT_1824c3d8c + (float)*(int *)(param_1 + 0x38c); fVar2 = *(float *)(param_1 + 900); fVar43 = *(float *)(param_1 + 0x388); do { uVar30 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar30 < 0) { uVar30 = (uVar30 - 1 | 0xfffffffe) + 1; } } while (uVar30 != 0); uVar29 = ((uint)(_UNK_181431240 * 0x5bd1e995) >> 0x18 ^ _UNK_181431240 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_18143123c * 0x5bd1e995) >> 0x18 ^ _UNK_18143123c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181431238 * 0x5bd1e995) >> 0x18 ^ _UNK_181431238 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181431234 * 0x5bd1e995) >> 0x18 ^ _UNK_181431234 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181431230 * 0x5bd1e995) >> 0x18 ^ _UNK_181431230 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_18143122c * 0x5bd1e995) >> 0x18 ^ _UNK_18143122c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181431228 * 0x5bd1e995) >> 0x18 ^ _UNK_181431228 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181431224 * 0x5bd1e995) >> 0x18 ^ _UNK_181431224 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181431220 * 0x5bd1e995) >> 0x18 ^ _UNK_181431220 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_18143121c * 0x5bd1e995) >> 0x18 ^ _UNK_18143121c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181431218 * 0x5bd1e995) >> 0x18 ^ _UNK_181431218 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_181431214 * 0x5bd1e995) >> 0x18 ^ DAT_181431214 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar11 >> 0x18 ^ uVar11) * 0x5bd1e995 ^ ((uVar10 >> 0x18 ^ uVar10) * 0x5bd1e995 ^ ((uVar9 >> 0x18 ^ uVar9) * 0x5bd1e995 ^ ((uVar8 >> 0x18 ^ uVar8) * 0x5bd1e995 ^ ((uVar7 >> 0x18 ^ uVar7) * 0x5bd1e995 ^ ((uVar6 >> 0x18 ^ uVar6) * 0x5bd1e995 ^ ((uVar29 >> 0x18 ^ uVar29) * 0x5bd1e995 ^ 0xb4251004) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; uVar27 = (ulonglong)uVar29; uVar29 = uVar29 * 0x5bd1e995 ^ ((uint)(_UNK_181431244 * 0x5bd1e995) >> 0x18 ^ _UNK_181431244 * 0x5bd1e995) * 0x5bd1e995; uVar40 = (ulonglong)uVar29; FUN_18129e350(auStack_1a0); do { uVar41 = ~(((ulonglong)puVar24 ^ 0xffffffffffffffff) + 1); puVar24 = (undefined4 *)(uVar41 + 1); func_0x00018156332a(0xe530); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = *(int *)(uVar41 + 0x51) * 0x5bd1e995; do { uVar32 = 0xe530; /* WARNING: Call to offcut address within same function */ bVar4 = func_0x000181561416(); if ((uVar32 & 0xc3) != 0) { bVar4 = bVar4 | 0x4c; puVar35 = (undefined1 *)(ulonglong)(uint)((int)puVar35 + (int)uVar40); } lVar39 = uVar27 + uVar40; lVar23 = uVar40 - lVar39; uVar27 = -lVar23; if ((uVar32 & 0xdb00) == 0) { return bVar4 + 99; } uVar40 = lVar39 + lVar23; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = *(int *)(uVar41 + 0x55) * 0x5bd1e995; uVar8 = (uVar7 >> 0x18 ^ uVar7) * 0x5bd1e995 ^ ((uVar6 >> 0x18 ^ uVar6) * 0x5bd1e995 ^ uVar29 * 0x5bd1e995) * 0x5bd1e995; uVar32 = (ulonglong)uVar8; uVar29 = (((uint)local_238 & 0xcff) - 1) * ((uint)local_238 & 0xcff) - 1 & 1; uVar40 = (ulonglong)uVar29; bVar4 = (byte)uVar8 & 0xf; uVar29 = ((int)(-uVar29 | uVar29) >> 0x1f) >> (bVar4 * bVar4 * (bVar4 + 1) * (bVar4 + 1) & 1); uVar27 = (longlong)(((int)(-uVar29 | uVar29) >> 0x1f) * -0x28a4) ^ 0x29a4; lVar39 = uVar27 - 0xa8; uVar29 = *(int *)((longlong)puVar24 + lVar39) * 0x5bd1e995; uVar6 = *(int *)(uVar41 + 5 + lVar39) * 0x5bd1e995; uVar7 = *(int *)(uVar41 + 9 + lVar39) * 0x5bd1e995; lVar23 = *(longlong *)(puVar35 + 400); piVar38 = (int *)(puVar35 + 0x188); do { func_0x0001815629fe(0xe530); lVar37 = ((ulonglong)piVar38 ^ uVar32 ^ 0x7bf6caab) + uVar40; lVar36 = uVar40 - lVar37; uVar40 = lVar37 + lVar36; piVar38 = (int *)(-lVar36 ^ 0x7bf6caabU ^ uVar32); uVar9 = (*piVar38 + 1) * *piVar38 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); if (0.0 < fVar50) { fStack_248 = fVar2; fStack_244 = fVar43; FUN_1812a0750(puVar35 + -0x30,0,fVar2); fVar43 = cosf(fVar47); fVar44 = sinf(fVar47); fStack_214 = fStack_244 - fVar43 * fVar50; fStack_218 = fVar44 * fVar50 + fStack_248; puVar28 = (undefined4 *)func_0x0001804ab740(&fStack_218,puVar35 + 0x18,puVar35 + -0x30); FUN_18129deb0(puVar35 + -0x18,*puVar28,puVar28[1]); fVar44 = _DAT_1824c4654; fVar43 = DAT_1824c3c94; if (fVar48 <= fVar47) { for (fVar47 = fVar47 - DAT_1824c3c94; fVar48 < fVar47; fVar47 = fVar47 + fVar44) { local_268 = fVar47; uVar25 = FUN_1804ab790(&fStack_248,puVar35 + 0x28,fVar50); puVar28 = (undefined4 *)func_0x0001804ab740(uVar25,puVar35 + 0x30,puVar35 + -0x30); FUN_18129ddd0(puVar35 + -0x18,*puVar28,puVar28[1]); } } else { while (fVar47 = fVar47 + fVar43, fVar47 < fVar48) { fVar44 = cosf(fVar47); fVar45 = sinf(fVar47); fStack_20c = fStack_244 - fVar50 * fVar44; fStack_210 = fVar50 * fVar45 + fStack_248; puVar28 = (undefined4 *)func_0x0001804ab740(&fStack_210,puVar35 + 0x20,puVar35 + -0x30); FUN_18129ddd0(puVar35 + -0x18,*puVar28,puVar28[1]); } } local_268 = fVar48; uVar25 = FUN_1804ab790(&fStack_248,puVar35 + 0x38,fVar50); puVar28 = (undefined4 *)func_0x0001804ab740(uVar25,puVar35 + 0x40,puVar35 + -0x30); FUN_18129ddd0(puVar35 + -0x18,*puVar28,puVar28[1]); } uVar9 = *(int *)(uVar41 + 0xd + lVar39) * 0x5bd1e995; puVar28 = (undefined4 *) FUN_1812a2a20(lVar23 + 0xa0c,puVar35 + -0x50,*(undefined4 *)(lVar23 + 0xa10)); uVar25 = *(undefined8 *)(puVar35 + 0x198); FUN_181296c00(uVar25,*puVar28); uVar10 = *(int *)(uVar41 + 0x11 + lVar39) * 0x5bd1e995; uVar11 = *(int *)(uVar41 + 0x15 + lVar39) * 0x5bd1e995; *(undefined8 *)(puVar35 + -0x5c) = 0; *(undefined8 *)(puVar35 + -0x6c) = _DAT_1824c4780; *(undefined8 *)(puVar35 + -100) = _UNK_1824c4788; *(undefined4 *)(puVar35 + -0x5c) = DAT_1824c3ea4; *(undefined4 *)(puVar35 + -0x58) = 0; uVar46 = FUN_181552c20(lVar23); *(undefined4 *)(puVar35 + -0x78) = uVar46; *(undefined8 *)(puVar35 + -0x74) = 1; FUN_181295d20(uVar25,puVar35 + -0x18,puVar35 + -0x78,puVar35 + -0x6c); uVar30 = *(int *)(uVar41 + 0x19 + lVar39) * 0x5bd1e995; uVar12 = *(int *)(uVar41 + 0x1d + lVar39) * 0x5bd1e995; uVar13 = *(int *)(uVar41 + 0x21 + lVar39) * 0x5bd1e995; uVar14 = *(int *)(uVar41 + 0x25 + lVar39) * 0x5bd1e995; uVar15 = *(int *)(uVar41 + 0x29 + lVar39) * 0x5bd1e995; uVar16 = *(int *)(uVar41 + 0x2d + lVar39) * 0x5bd1e995; uVar17 = *(int *)(uVar41 + 0x31 + lVar39) * 0x5bd1e995; lVar39 = uVar27 - 0x74; uVar18 = *(int *)((longlong)puVar24 + lVar39) * 0x5bd1e995; uVar7 = (uVar18 >> 0x18 ^ uVar18) * 0x5bd1e995 ^ ((uVar17 >> 0x18 ^ uVar17) * 0x5bd1e995 ^ ((uVar16 >> 0x18 ^ uVar16) * 0x5bd1e995 ^ ((uVar15 >> 0x18 ^ uVar15) * 0x5bd1e995 ^ ((uVar14 >> 0x18 ^ uVar14) * 0x5bd1e995 ^ ((uVar13 >> 0x18 ^ uVar13) * 0x5bd1e995 ^ ((uVar12 >> 0x18 ^ uVar12) * 0x5bd1e995 ^ ((uVar30 >> 0x18 ^ uVar30) * 0x5bd1e995 ^ (((uVar10 >> 0x18 ^ uVar10) * 0x5bd1e995 ^ ((uVar9 >> 0x18 ^ uVar9) * 0x5bd1e995 ^ ((uVar7 >> 0x18 ^ uVar7) * 0x5bd1e995 ^ ((uVar6 >> 0x18 ^ uVar6) * 0x5bd1e995 ^ ((uVar29 >> 0x18 ^ uVar29) * 0x5bd1e995 ^ uVar8 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995 ^ (uVar11 >> 0x18 ^ uVar11) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; uVar8 = (uint)local_238; uVar6 = (uint)lVar39 & 0xf | 0x4b; uVar29 = uVar8 & 0x7f | 0x42; uVar6 = uVar29 * uVar29 * 0x8f1d ^ uVar6 * uVar6 * 0x79b1; uVar29 = (uVar8 & 0x1dff) * (uVar8 & 0x1dff) * 0x10 + 4; uVar29 = ((int)(-uVar6 | uVar6) >> 0x1f) >> ((char)uVar29 + (char)(uVar29 / 0x13) * -0x13 & 0x1fU) ; lVar39 = lVar39 + (0xc - ((ulonglong) ((((uVar8 & 0xff) - 1) * (uVar8 & 0xff) & uVar7 & 1) - 0x54a1 & 0xa94d) ^ (longlong)(((int)(-uVar29 | uVar29) >> 0x1f) * -0xa945))); uVar29 = *(int *)((longlong)puVar24 + lVar39) * 0x5bd1e995; uVar6 = *(int *)(uVar41 + 5 + lVar39) * 0x5bd1e995; do { uVar8 = (*(int *)(puVar35 + 0x188) + 1) * *(int *)(puVar35 + 0x188) & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); cVar5 = FUN_18133eaa0(lVar23); if (cVar5 != '\0') { local_268 = fVar49; fStack_260 = fVar50; FUN_181560a10(lVar23,uVar25,fVar2); } FUN_18129e350(puVar35 + 0x80); uVar8 = *(int *)(uVar41 + 9 + lVar39) * 0x5bd1e995; uVar9 = *(int *)(uVar41 + 0xd + lVar39) * 0x5bd1e995; *(undefined8 *)(puVar35 + 400) = 0xb0946277b9380f13; *(int *)(puVar35 + 400) = (int)*(undefined8 *)(puVar35 + 400); uVar10 = *(int *)(uVar41 + 0x11 + lVar39) * 0x5bd1e995; do { uVar11 = (*(int *)(puVar35 + 0x188) + 1) * *(int *)(puVar35 + 0x188) & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar11 = *(int *)(uVar41 + 0x15 + lVar39) * 0x5bd1e995; uVar30 = *(int *)(uVar41 + 0x19 + lVar39) * 0x5bd1e995; uVar12 = *(int *)(uVar41 + 0x1d + lVar39) * 0x5bd1e995; uVar13 = *(int *)(uVar41 + 0x21 + lVar39) * 0x5bd1e995; uVar14 = *(int *)(uVar41 + 0x25 + lVar39) * 0x5bd1e995; uVar15 = *(int *)(uVar41 + 0x29 + lVar39) * 0x5bd1e995; uVar16 = *(int *)(uVar41 + 0x2d + lVar39) * 0x5bd1e995; uVar17 = *(int *)(uVar41 + 0x31 + lVar39) * 0x5bd1e995; fVar49 = (float)(*(int *)(lVar23 + 0x38c) * 2); fVar47 = (float)*(int *)(lVar23 + 0x38c); fVar48 = *(float *)(lVar23 + 0x388) - fVar47; fVar47 = *(float *)(lVar23 + 900) - fVar47; *(float *)(puVar35 + -0x40) = fVar47; *(float *)(puVar35 + -0x3c) = fVar48; *(float *)(puVar35 + -0x38) = fVar49; *(float *)(puVar35 + -0x34) = fVar49; *(float *)(puVar35 + 0x70) = fVar47; *(float *)(puVar35 + 0x74) = fVar48; *(float *)(puVar35 + 0x78) = fVar49; *(float *)(puVar35 + 0x7c) = fVar49; FUN_18129d1e0(puVar35 + 0x80,puVar35 + 0x70); uVar18 = *(int *)(uVar41 + 0x35 + lVar39) * 0x5bd1e995; uVar19 = *(int *)(uVar41 + 0x39 + lVar39) * 0x5bd1e995; lVar36 = (longlong)*(int *)(puVar35 + 0x1a8); do { /* WARNING: Call to offcut address within same function */ func_0x0001815615f9(); uVar31 = (*(int *)(puVar35 + 0x188) + 1) * *(int *)(puVar35 + 0x188) & 0x80000001; if ((int)uVar31 < 0) { uVar31 = (uVar31 - 1 | 0xfffffffe) + 1; } } while (uVar31 != 0); uVar31 = *(int *)(uVar41 + 0x3d + lVar39) * 0x5bd1e995; uVar20 = *(int *)(uVar41 + 0x41 + lVar39) * 0x5bd1e995; uVar25 = *(undefined8 *)(puVar35 + 0x198); FUN_181296c00(uVar25,*(undefined4 *)(lVar23 + 0xa18)); uVar21 = *(int *)(uVar41 + 0x45 + lVar39) * 0x5bd1e995; lVar39 = lVar39 + 0x48; uVar22 = *(int *)((longlong)puVar24 + lVar39) * 0x5bd1e995; uVar9 = (uVar22 >> 0x18 ^ uVar22) * 0x5bd1e995 ^ ((uVar21 >> 0x18 ^ uVar21) * 0x5bd1e995 ^ ((uVar20 >> 0x18 ^ uVar20) * 0x5bd1e995 ^ ((uVar31 >> 0x18 ^ uVar31) * 0x5bd1e995 ^ ((uVar19 >> 0x18 ^ uVar19) * 0x5bd1e995 ^ ((uVar18 >> 0x18 ^ uVar18) * 0x5bd1e995 ^ ((uVar17 >> 0x18 ^ uVar17) * 0x5bd1e995 ^ ((uVar16 >> 0x18 ^ uVar16) * 0x5bd1e995 ^ ((uVar15 >> 0x18 ^ uVar15) * 0x5bd1e995 ^ ((uVar14 >> 0x18 ^ uVar14) * 0x5bd1e995 ^ ((uVar13 >> 0x18 ^ uVar13) * 0x5bd1e995 ^ ((uVar12 >> 0x18 ^ uVar12) * 0x5bd1e995 ^ ((uVar30 >> 0x18 ^ uVar30) * 0x5bd1e995 ^ ((uVar11 >> 0x18 ^ uVar11) * 0x5bd1e995 ^ ((uVar10 >> 0x18 ^ uVar10) * 0x5bd1e995 ^ ((uVar9 >> 0x18 ^ uVar9) * 0x5bd1e995 ^ ((uVar8 >> 0x18 ^ uVar8) * 0x5bd1e995 ^ (((uVar29 >> 0x18 ^ uVar29) * 0x5bd1e995 ^ uVar7 * 0x5bd1e995) * 0x5bd1e995 ^ (uVar6 >> 0x18 ^ uVar6) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; uVar40 = (ulonglong)uVar9; uVar29 = (uint)lVar39 & 0x4f; iVar33 = (uVar9 & 0x64ff) * (uVar9 & 0x64ff) + 1; uVar6 = iVar33 * 0x24924924 + (iVar33 >> 4) + (iVar33 >> 1) >> 0x1d; uVar8 = (int)(uVar6 - 7) >> 0x1f & uVar6 | uVar9; uVar6 = (uint)local_238 & 0x3f | 0x48; uVar7 = (uint)lVar39 & 0x7f | 0x54; uVar6 = uVar6 * uVar6 * 0x96fd ^ uVar7 * uVar7 * 0x355; lVar39 = lVar39 + (((longlong)(((int)(-uVar8 | uVar8) >> 0x1f) * -0x96ca) ^ 0x968eU) - ((longlong)(((int)(-uVar6 | uVar6) >> 0x1f) * -0x26b9) ^ ((longlong)(int)((uVar29 + 1) * (uVar29 + 1) * uVar29 * uVar29 & 3) | 0x26f9U))) ; uVar29 = *(int *)((longlong)puVar24 + lVar39) * 0x5bd1e995; uVar12 = (uVar29 >> 0x18 ^ uVar29) * 0x5bd1e995 ^ uVar9 * 0x5bd1e995; uVar29 = (uint)local_238 & 0x33ff; iVar33 = uVar29 * uVar29 + 1; uVar29 = iVar33 * 0x24924924 + (iVar33 >> 4) + (iVar33 >> 1) >> 0x1d; uVar29 = (int)(uVar29 - 7) >> 0x1f & uVar29 | uVar12; lVar39 = lVar39 + (ulonglong)(((int)(-uVar29 | uVar29) >> 0x1f ^ 0xfffffffbU) & 0xf257); uVar29 = *(int *)((longlong)puVar24 + lVar39) * 0x5bd1e995; uVar6 = *(int *)(uVar41 + 5 + lVar39) * 0x5bd1e995; uVar7 = *(int *)(uVar41 + 9 + lVar39) * 0x5bd1e995; uVar8 = *(int *)(uVar41 + 0xd + lVar39) * 0x5bd1e995; uVar9 = *(int *)(uVar41 + 0x11 + lVar39) * 0x5bd1e995; uVar10 = *(int *)(uVar41 + 0x15 + lVar39) * 0x5bd1e995; uVar11 = *(int *)(uVar41 + 0x19 + lVar39) * 0x5bd1e995; uVar30 = *(int *)(uVar41 + 0x1d + lVar39) * 0x5bd1e995; uVar29 = (((uVar11 >> 0x18 ^ uVar11) * 0x5bd1e995 ^ ((uVar10 >> 0x18 ^ uVar10) * 0x5bd1e995 ^ ((uVar9 >> 0x18 ^ uVar9) * 0x5bd1e995 ^ ((uVar8 >> 0x18 ^ uVar8) * 0x5bd1e995 ^ ((uVar7 >> 0x18 ^ uVar7) * 0x5bd1e995 ^ ((uVar6 >> 0x18 ^ uVar6) * 0x5bd1e995 ^ ((uVar29 >> 0x18 ^ uVar29) * 0x5bd1e995 ^ uVar12 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995 ^ (uVar30 >> 0x18 ^ uVar30) * 0x5bd1e995) + 0x37f763b2; uVar29 = (uVar29 * 8 | uVar29 >> 0x1d) + 0x2a6e555f; uVar29 = (uVar29 >> 5 | uVar29 * 0x8000000) + 0x3613ed9; bVar42 = (uVar29 >> 0x1a | uVar29 * 0x40) == *(uint *)(puVar35 + 400); uVar29 = (uint)CONCAT11(bVar42,bVar42); uVar27 = (ulonglong)uVar29; if (uVar29 == 0) { FUN_181295ed0(uVar25,puVar35 + 0x80); func_0x000181563ca4(); cVar5 = thunk_FUN_1805a9280(); return cVar5; } FUN_181295ed0(uVar25,puVar35 + 0x80); lVar23 = (longlong)local_230; puVar3 = auStack_288; do { puVar34 = puVar3; /* WARNING: Call to offcut address within same function */ *(undefined **)(puVar34 + -8) = &UNK_1815623ac; lVar39 = lVar23; func_0x000181561416(); *(ulonglong *)(puVar34 + -8) = uVar40; *(ulonglong *)(puVar34 + -0x10) = uVar27; *(longlong *)(puVar34 + -0x18) = lVar36; lVar39 = -lVar39; lVar36 = *(longlong *)(puVar34 + lVar39 + 0x38); uVar27 = *(ulonglong *)(puVar34 + lVar39 + 0x40); uVar40 = *(ulonglong *)(puVar34 + lVar39 + 0x48); uVar29 = (*(int *)(puVar35 + 0x188) + 1) * *(int *)(puVar35 + 0x188) & 0x80000001; if ((int)uVar29 < 0) { uVar29 = (uVar29 - 1 | 0xfffffffe) + 1; } puVar3 = puVar34 + lVar39 + 0x50; } while (uVar29 != 0); *(undefined8 *)(puVar34 + lVar39 + 0x48) = 0x181562451; FUN_180474220(puVar35 + 0x80); *(undefined8 *)(puVar34 + lVar39 + 0x48) = 0x18156245b; FUN_180474220(puVar35 + -0x18); uVar25 = *(undefined8 *)(puVar35 + -0x80); *(undefined8 *)(puVar34 + lVar39 + 0x48) = 0x181562465; cVar5 = FUN_1804888e0(uVar25); return cVar5; } ############ FUN_ 1815729a0 size=2197 ############ /* WARNING: Removing unreachable block (ram,0x00018157330d) */ /* WARNING: Removing unreachable block (ram,0x000181572a7b) */ /* WARNING: Removing unreachable block (ram,0x000181572b3e) */ /* WARNING: Removing unreachable block (ram,0x0001815735ef) */ /* WARNING: Removing unreachable block (ram,0x000181572a23) */ ulonglong FUN_1815729a0(longlong param_1) { int *piVar1; longlong lVar2; undefined8 uVar3; byte bVar4; ulonglong uVar5; ulonglong uVar6; int iVar7; uint uVar8; uint *puVar9; code **ppcVar10; uint *puVar11; uint uVar12; undefined4 *puVar13; longlong *plVar14; longlong lVar15; uint uVar16; uint uVar17; longlong *plVar18; uint uVar19; longlong *plVar20; uint uVar21; longlong lVar22; longlong lVar23; int unaff_retaddr; undefined1 auStack_1c8 [32]; undefined *local_1a8; uint local_1a0 [2]; undefined8 local_198; uint local_190; uint local_18c; longlong local_188; uint local_180 [2]; ulonglong local_178; uint local_170; uint auStack_16c [4]; uint local_15c; uint local_158; undefined4 local_150; undefined **local_148; longlong local_140; undefined4 local_138; uint local_134; code *local_130; undefined8 uStack_128; longlong local_108; undefined4 local_100; undefined4 local_fc [5]; longlong local_e8; undefined8 local_e0; undefined1 local_b8 [48]; undefined4 uStack_88; ulonglong local_38; local_e0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_1c8; uVar12 = (uint)&stack0x00000000; uVar16 = uVar12 & 0x23f; iVar7 = (uVar16 + 2) * (uVar16 + 1) * uVar16; local_15c = -(((iVar7 >> 1) - (iVar7 >> 3)) + iVar7 * 0x55555555 >> 0x1e) - 0x901U & 0xe6be ^ 0xe69e; uVar16 = uVar12 & 0x3bf; uVar19 = ((uVar16 + 2) * (uVar16 + 1) * uVar16) % 3 ^ ((uVar12 & 0x1fff) + 1) * (uVar12 & 0x1fff) + 0x2dd9 & 0x80000001; uVar16 = ((uVar12 & 0x71ff) * (uVar12 & 0x71ff) + 1) % 7; local_158 = 0xffffbfb8U - ((int)(-uVar16 | uVar16) >> 0x1f) & 0xb6a9 ^ ((int)(-uVar19 | uVar19) >> 0x1f) * -0xb5f9; local_140 = param_1; (**(code **)(*(longlong *)(param_1 + 0x2e8) + 0x10))((longlong *)(param_1 + 0x2e8),local_b8); do { uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); do { uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); local_1a0[0] = 0xc5; do { puVar9 = local_180; FUN_181574047(puVar9,local_180); uVar3 = rdtsc(); *puVar9 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); local_180[0] = (local_180[0] * 0x1a85ec53 >> 0x18 ^ local_180[0] * 0x1a85ec53) * -0x733212ab; if (local_180[0] < 0x1414141f) { local_130 = (code *)0x0; do { ppcVar10 = &local_130; FUN_1815744ce(ppcVar10,&local_130); *ppcVar10 = FUN_181194940; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar5 = (*local_130)(0,0xb7fc); if (1 < uVar5) { FUN_18113eab0(); } } do { local_138 = 0xa278bb48; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); local_150 = 0x74d52383; local_178 = 0x6f01000; local_198 = 0x10; local_148 = &PTR__guard_check_icall_181bab6a8; local_1a8 = &DAT_181bab6b8; plVar14 = (longlong *)&DAT_186f01000; do { local_190 = 0x8e56f94c; local_100 = 4; local_e8 = 0x181572e6a; FUN_18157499a(); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar16 = (local_190 >> 0xc ^ local_190) & 0x1f; uVar16 = ((uVar16 << 0xc | uVar16) ^ local_190) + 0x101b3ac7; uVar12 = uVar16 >> 0xf | uVar16 * 0x20000; uVar16 = (uVar12 >> 2 & 0xcccccccc | (uVar16 >> 0xf) << 0x1e | (uVar12 & 0xccccccc) << 2 | (uVar16 & 0x7fff) >> 0xd) + 0xda0247a9; uVar12 = ((uVar16 >> 0x10 | uVar16 * 0x10000) & 0xb2264dd9 | (uVar16 * 0x10000 | uVar16 >> 0x10) & 0x4dd9b226) + 0xb6d806d1; uVar16 = (uVar12 >> 2 ^ uVar12) >> 9 & 1; uVar16 = uVar12 ^ (uVar16 * 4 | uVar16) << 9; local_190 = (uVar12 >> 0x10 | uVar16 << 0x10) & 0x916a6e95 | (uVar16 << 0x10 | uVar12 >> 0x10) & 0x6e95916a; do { plVar18 = &local_108; puVar13 = local_fc; puVar9 = &local_170; FUN_181572045(); lVar22 = 0x181572f47; *puVar9 = 0x5bdecd78; *puVar13 = 0x46; *plVar18 = 0x181572f47; FUN_1815746cd(); lVar23 = local_e8; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar16 = (local_170 >> 0xc | local_170 << 0x14) + 0x83de9cb0; uVar16 = (uVar16 * 4 | uVar16 >> 0x1e) & 0x99999999 | (uVar16 >> 2 | (local_170 >> 0xc) << 0x1e) & 0x66666666; uVar16 = (uVar16 << 8 | uVar16 >> 0x18) & 0xf708f708 | (uVar16 >> 8 | uVar16 << 0x18) & 0x8f708f7; uVar16 = (uVar16 >> 0x10 | uVar16 << 0x10) & 0xdda5225a | (uVar16 << 0x10 | uVar16 >> 0x10) & 0x225adda5; uVar12 = uVar16 >> 5 | uVar16 << 0x1b; uVar12 = (uVar12 >> 2 | (uVar16 >> 5) << 0x1e) & 0x99999999 | (uVar12 << 2 | (uVar16 & 0x1f) >> 3) & 0x66666666; uVar16 = (uVar12 >> 0xb ^ uVar12) & 0x3ff; uVar12 = uVar12 ^ (uVar16 << 0xb | uVar16); lVar15 = (longlong)(int)local_190; uVar5 = (longlong)(int)(uVar12 << 0x10 | uVar12 >> 0x10) & 0xffffffffc6f5390aU | (ulonglong)((uVar12 >> 0x10 | uVar12 << 0x10) & 0x390ac6f5); local_190 = 0; local_170 = 0; plVar18 = (longlong *)(lVar15 + 4 + local_e8); *plVar18 = *plVar18 + (ulonglong)((uint)(*(ulonglong *)(uVar5 + 4 + local_108) >> 5) & 0x202042d); do { puVar9 = &local_134; puVar11 = &local_18c; FUN_1815727fa(); uVar3 = rdtsc(); uVar16 = (int)uVar3 + (int)((ulonglong)uVar3 >> 0x20); *puVar9 = uVar16; uVar6 = (ulonglong)uVar16 + ((ulonglong)(uVar16 >> 6) | (ulonglong)uVar16 << 0x3a) + 0x583bf12; uVar6 = ((uVar6 * 0x20 | uVar6 >> 0x3b) ^ (uVar6 & 0x7ffffffffffffff) >> 1) * 0x84 - 0x9ca64d; *puVar11 = (uint)((uVar6 ^ (uVar6 * 3 >> 0xd) - 0x3b1fca8f) >> 10); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); piVar1 = (int *)(lVar15 + 8 + lVar23); *piVar1 = *piVar1 + (local_18c ^ 0xd7bed2e); piVar1 = (int *)(lVar15 + 4 + lVar23); *piVar1 = *piVar1 + (local_18c ^ 0x9c9de452); lVar2 = *(longlong *)(lVar15 + 4 + lVar23); uVar6 = lVar2 + 0x6a0762f8c200d6b4; uVar6 = (uVar6 >> 2 | lVar2 << 0x3e) & 0x9999999999999999 | (uVar6 * 4 | uVar6 >> 0x3e) & 0x6666666666666666; uVar6 = (uVar6 << 4 | uVar6 >> 0x3c) + 0x749a206b551aca81; uVar6 = (uVar6 >> 2 | uVar6 << 0x3e) & 0x9999999999999999 | (uVar6 * 4 | uVar6 >> 0x3e) & 0x6666666666666666; uVar16 = ((uint)(uVar6 >> 0x26) ^ (uint)(uVar6 >> 0x10)) & 0x7fff; uVar6 = ((ulonglong)uVar16 << 0x16 | (ulonglong)uVar16) << 0x10 ^ uVar6; uVar6 = (uVar6 >> 0x28 | uVar6 << 0x18) + 0xf2dee6ddca319b4; uVar6 = uVar6 >> 0xd | uVar6 << 0x33; *(ulonglong *)(lVar15 + 4 + lVar23) = uVar6; plVar18 = (longlong *)(uVar5 + 4 + local_108); *plVar18 = *plVar18 + (ulonglong)((uint)(uVar6 >> 1) & 0xa012424); local_18c = (uint)(*(ulonglong *)(lVar15 + 4 + lVar23) >> 0x1b) & 0x7fffffff; local_198 = CONCAT44(local_198._4_4_,(int)(*(ulonglong *)(lVar15 + 4 + lVar23) >> 0x1b)) ^ 0xc4514b9d; local_178 = *(ulonglong *)(lVar15 + 4 + lVar23) ^ 0x8287570d2512cefd; lVar15 = 0; lVar23 = (longlong)local_1a8 - (longlong)local_148; local_1a8 = (undefined *)0x29f2827f5d0d83c4; local_188 = lVar23; do { FUN_181572045(0xf22c); if (lVar22 != 0) { uVar5 = FUN_181573288(); return uVar5; } lVar22 = 0; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar16 = (uint)lVar23; LAB_1815732db: uVar19 = (uint)lVar15; uVar12 = (uint)lVar23 & 0x3f; uVar12 = (uVar12 + 2) * (uVar12 + 1) * uVar12; uVar17 = (int)((((int)uVar12 >> 1) - ((int)uVar12 >> 3)) + uVar12 * 0x55555555) >> 0x1e; if ((local_1a0[0] & 0xe0) == 0) { uVar21 = uVar19 & 0x1f | 0x2b; uVar8 = local_1a0[0] & 0xf | 0x4b; uVar21 = uVar21 * uVar21 * 0x8baf ^ uVar8 * uVar8 * 0x4339; } else { uVar21 = ((uVar19 & 0x5ff) + 1) * (uVar19 & 0x5ff) + 7; uVar12 = uVar21 / 0x51; uVar21 = uVar21 % 0x51; } if ((((uVar16 ^ 0x119) & 0x215b) + uVar17 | uVar16 ^ 0x8399) == ((int)(-uVar21 | uVar21) >> 0x1f & (uVar19 ^ 0x208) & 0x562a | uVar19 ^ 0x8399)) { auStack_16c[0] = local_1a0[0]; /* WARNING: Call to offcut address within same function */ uVar5 = func_0x000181573681(auStack_16c,uVar12,(~(ulonglong)uVar17 + 1 ^ 0xffffffffffffffff) + 1 ); return uVar5 & 0xffffffffffffff4d; } puVar13 = (undefined4 *)((longlong)local_148 + lVar15); if ((plVar14 != (longlong *)0x0) && (lVar22 = *plVar14, -1 < lVar22)) { uStack_128 = 0x2621fc0; do { if (puVar13 < IMAGE_DOS_HEADER_180000000.e_magic + lVar22 + 8) { if (-1 < lVar22) { plVar18 = (longlong *)(lVar22 + 0x180000000); if (plVar18 < puVar13 + 1) { uStack_88 = *puVar13; plVar20 = plVar14; goto LAB_181573470; } } break; } plVar14 = plVar14 + 1; lVar22 = *plVar14; } while (-1 < lVar22); } goto LAB_181573494; while (plVar18 = (longlong *)(lVar22 + 0x180000000), plVar18 < puVar13 + 1) { LAB_181573470: *(longlong *)(&stack0x00017fffff78 + (lVar22 - (longlong)puVar13)) = *plVar18 + -0x180000000; plVar20 = plVar20 + 1; lVar22 = *plVar20; if (lVar22 < 0) break; } LAB_181573494: local_1a0[0] = local_1a0[0] >> 0x1c ^ local_1a0[0] << 4; do { puVar9 = local_1a0; uVar12 = func_0x000181580067(); *puVar9 = uVar12; lVar23 = local_188; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); do { FUN_1815727fa(0xf22c); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); bVar4 = (byte)lVar23 & 0x5f; uVar12 = (((local_1a0[0] & 0x2fff) + 1) * (local_1a0[0] & 0x2fff) + 7) % 0x51 << ((bVar4 + 1) * (bVar4 + 1) * bVar4 * bVar4 & 3); lVar15 = lVar15 + ((ulonglong)(~((int)(-uVar12 | uVar12) >> 0x1f & 0xffffff7fU) & 0x4ef2) - 0x7c); goto LAB_1815732db; } ############ FUN_ 181585b70 size=5135 ############ /* WARNING: Instruction at (ram,0x0001815880b7) overlaps instruction at (ram,0x0001815880b5) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000181588172) */ /* WARNING: Removing unreachable block (ram,0x000181586220) */ /* WARNING: Removing unreachable block (ram,0x000181585f7f) */ /* WARNING: Removing unreachable block (ram,0x000181585be0) */ /* WARNING: Removing unreachable block (ram,0x000181585f34) */ /* WARNING: Removing unreachable block (ram,0x00018158620a) */ /* WARNING: Removing unreachable block (ram,0x000181586310) */ /* WARNING: Removing unreachable block (ram,0x0001815880b5) */ /* WARNING: Removing unreachable block (ram,0x00018158817e) */ /* WARNING: Removing unreachable block (ram,0x000181586736) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined8 .?AVSoothe2XYSliderArea@@::vtbl___AVSoothe2XYSliderArea__(longlong param_1,longlong param_2) { char cVar1; uint uVar2; undefined8 uVar3; int iVar4; ulonglong uVar5; code **ppcVar6; uint *puVar7; ulonglong uVar8; uint uVar9; uint uVar10; undefined4 *puVar11; longlong lVar12; uint uVar13; uint uVar14; longlong *plVar15; ulonglong uVar16; uint uVar17; uint uVar18; longlong lVar19; uint uVar20; undefined1 *puVar21; byte bVar22; uint uVar23; uint uVar24; int unaff_retaddr; undefined1 auStack_238 [32]; undefined4 local_218; int iStack_208; int local_204; int *local_200; uint local_1f8; ulonglong local_1f0; undefined4 local_1e8; int iStack_1e4; undefined *local_1e0; longlong local_1d8; int iStack_1d0; int *piStack_1c8; undefined1 *local_1c0; undefined8 local_1b8; uint uStack_1b0; longlong local_1a8; uint uStack_1a0; uint local_198; uint local_194; longlong local_190; uint uStack_184; int iStack_180; undefined4 uStack_178; code *pcStack_170; int iStack_168; int iStack_164; uint uStack_160; int iStack_15c; undefined4 uStack_158; undefined4 uStack_154; undefined4 uStack_150; undefined4 uStack_14c; longlong lStack_140; longlong local_138 [3]; undefined8 local_120; undefined1 local_108 [176]; ulonglong local_58; local_120 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_238; uVar13 = (uint)&stack0x00000000; local_198 = 0xca37 >> ((char)((int)-(((uVar13 & 0xdff) + 1) * (uVar13 & 0xdff) + 0x72e9 & 0x80000001) >> 0x1f) - (char)((int)-((((uVar13 & 0x3eff) + 1) * (uVar13 & 0x3eff) + 7) % 0x51) >> 0x1f) & 0x1fU) ^ 0xcb47; iVar4 = (uVar13 & 0x44ff) * (uVar13 & 0x44ff) + 1; uVar9 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar9 = (int)(uVar9 - 7) >> 0x1f & uVar9; uVar13 = (((uVar13 & 0x20ff) + 1) * (uVar13 & 0x20ff) + 7) % 0x51; uVar9 = (int)((-uVar13 | uVar13) & (-uVar9 | uVar9)) >> 0x1f; local_194 = ((int)(-uVar9 | uVar9) >> 0x1f) * -0x81e4 ^ 0x89b4; local_218 = 0; puVar21 = (undefined1 *)register0x00000020; local_1d8 = param_1; local_190 = param_2; local_1a8 = __RTDynamicCast(*(undefined8 *)(param_2 + 0x38),0, &juce::Component::RTTI_Type_Descriptor,&XYThumb::RTTI_Type_Descriptor) ; local_200 = (int *)&DAT_18161e7e4; local_1e0 = &UNK_18161e8e4; local_1b8 = CONCAT44(local_1b8._4_4_,0xe6cc9c2c); local_1f8 = -0x3361d2af; local_204 = 0x1b873593; local_1e8 = 0xe6546b64; local_1f0 = 0x100; uVar9 = (_DAT_18161e7e4 * 0x16a88000 | (uint)(_DAT_18161e7e4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0x7eb674f7; uVar9 = (DAT_18161e7e8 * 0x16a88000 | (uint)(DAT_18161e7e8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; do { uVar9 = ~(~uVar9 + 1) + 1; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } local_1c0 = (undefined1 *)local_200; } while (uVar13 != 0); do { /* WARNING: Call to offcut address within same function */ func_0x00018158809c(); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar9 = (_UNK_18161e7ec * 0x16a88000 | (uint)(_UNK_18161e7ec * -0x3361d2af) >> 0x11) * local_204 ^ uVar9; uVar9 = (ram0x00018161e7f0 * 0x16a88000 | (uint)(ram0x00018161e7f0 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ram0x00018161e7f4 * 0x16a88000 | (uint)(ram0x00018161e7f4 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ram0x00018161e7f8 * 0x16a88000 | (uint)(ram0x00018161e7f8 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ram0x00018161e7fc * 0x16a88000 | (uint)(ram0x00018161e7fc * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ram0x00018161e800 * 0x16a88000 | (uint)(ram0x00018161e800 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; do { FUN_18158761c(&DAT_0000ef04); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar9 = (ram0x00018161e804 * 0x16a88000 | (uint)(ram0x00018161e804 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ram0x00018161e808 * 0x16a88000 | (uint)(ram0x00018161e808 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ram0x00018161e80c * 0x16a88000 | (uint)(ram0x00018161e80c * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ram0x00018161e810 * 0x16a88000 | (uint)(ram0x00018161e810 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ram0x00018161e814 * 0x16a88000 | (uint)(ram0x00018161e814 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ram0x00018161e818 * 0x16a88000 | (uint)(ram0x00018161e818 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ram0x00018161e81c * 0x16a88000 | (uint)(ram0x00018161e81c * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar13 = (ram0x00018161e820 * 0x16a88000 | (uint)(ram0x00018161e820 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; local_1e0 = (undefined *)(local_1f0 & 0xffffffff); uVar9 = (uint)local_1f0 & 0x2f; uVar5 = (longlong)(int)(0xd4a3 - ((uVar9 + 1) * (uVar9 + 1) * uVar9 * uVar9 & 0x80000003)) ^ 0xd4a7; iVar4 = *(int *)((longlong)&DAT_18161e81e + uVar5 + 2); uVar9 = (iVar4 * 0x16a88000 | (uint)(iVar4 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; iVar4 = *(int *)((longlong)&DAT_18161e822 + uVar5 + 2); uVar14 = (iVar4 * 0x16a88000 | (uint)(iVar4 * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uint)local_1f0 & 0x1f | 0x45; uVar13 = (uint)local_1f0 & 7 | 0x69; lVar12 = uVar5 + 0x40 + (0x284 - (((longlong) (int)((uint)(uVar13 * uVar13 * 0x97cd == uVar9 * uVar9 * 0x9d3d) << ((byte)(uVar5 + 0x40) & 0x1f)) | 0x67dfU) ^ 0x655f)); uVar9 = (*(int *)(&DAT_18161e7e4 + lVar12) * 0x16a88000 | (uint)(*(int *)(&DAT_18161e7e4 + lVar12) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar14 << 0xd | uVar14 >> 0x13) * 5 + 0xe6546b64; do { FUN_181587703(); lVar19 = local_1d8; iVar4 = local_204; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); do { uStack_178 = 0xe1e33a96; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); iStack_1e4 = -0x7b4e9a12; uVar9 = (*(int *)(lVar12 + 0x18161e7e8) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e7e8) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(&UNK_18161e7ec + lVar12) * 0x16a88000 | (uint)(*(int *)(&UNK_18161e7ec + lVar12) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(lVar12 + 0x18161e7f0) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e7f0) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(lVar12 + 0x18161e7f4) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e7f4) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(lVar12 + 0x18161e7f8) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e7f8) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(lVar12 + 0x18161e7fc) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e7fc) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(lVar12 + 0x18161e800) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e800) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(lVar12 + 0x18161e804) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e804) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uStack_1a0 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; if (local_1a8 == 0) { uVar3 = FUN_181589070(local_108,local_190); FUN_180583860(local_1d8 + 0x1c0,uVar3); FUN_1813399b0(local_108); uVar9 = (*(int *)(lVar12 + 0x18161e808) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e808) * -0x3361d2af) >> 0x11) * iVar4 ^ uStack_1a0; do { /* WARNING: Call to offcut address within same function */ func_0x000181586266(); iVar4 = local_204; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar9 = (*(int *)(lVar12 + 0x18161e80c) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e80c) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(lVar12 + 0x18161e810) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e810) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(lVar12 + 0x18161e814) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e814) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(lVar12 + 0x18161e818) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e818) * -0x3361d2af) >> 0x11) * local_204 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; do { uVar3 = rdtsc(); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar13 = ((uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20)) * -0x733213ad; uStack_1b0 = (uVar13 >> 0x18 ^ uVar13) * -0x7a1412ab; bVar22 = (byte)local_1e0; if (uStack_1b0 < 0x6c3099) { pcStack_170 = (code *)0x0; do { ppcVar6 = &pcStack_170; FUN_18158700f(ppcVar6,&pcStack_170); *ppcVar6 = FUN_18141db20; FUN_1815873b8(); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar5 = (*pcStack_170)(); bVar22 = (byte)local_1e0; if (1 < uVar5) { FUN_18113eab0(); } } uVar9 = (*(int *)(lVar12 + 0x18161e81c) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e81c) * -0x3361d2af) >> 0x11) * iVar4 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar13 = (*(int *)(lVar12 + 0x18161e820) * 0x16a88000 | (uint)(*(int *)(lVar12 + 0x18161e820) * -0x3361d2af) >> 0x11) * iVar4 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uint)(lVar12 + 0x3c) & 0x2f; lVar12 = lVar12 + 0x3c + ((longlong) (0x368a - ((int)((uVar9 + 1) * (uVar9 + 1) * uVar9 * uVar9 & 1) >> (bVar22 & 0x1f))) ^ 0x368eU); do { iStack_1d0 = 0x41ef8c32; uStack_14c = 0x1d; lStack_140 = 0x181587c48; FUN_18158948d(); uVar9 = local_1f8; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar14 = iStack_1d0 + 0x1e67311; uVar10 = ((uVar14 * 0x10 | uVar14 >> 0x1c) & 0xd2d2d2d2 | (uVar14 >> 4 | uVar14 * 0x10000000) & 0x2d2d2d2d) ^ 0x7db34f68; uVar14 = (uVar10 >> 0xf ^ uVar10) >> 1 & 0x7fff; uVar14 = ((uVar14 << 0xf | uVar14) * 2 ^ uVar10) + 0x5c5261de; uVar14 = (uVar14 >> 8 | uVar14 * 0x1000000) & 0xf20df20d | (uVar14 * 0x100 | uVar14 >> 0x18) & 0xdf20df2; uVar10 = uVar14 ^ 0x4c9c3590; iStack_1d0 = ((uVar10 >> 2 | uVar14 << 0x1e) & 0x99999999 | (uVar10 << 2 | uVar10 >> 0x1e) & 0x66666666) + 0x974be1b7; do { puVar11 = &uStack_150; puVar7 = &uStack_184; plVar15 = local_138; FUN_181586b83(); *puVar7 = 0xa54f1689; *puVar11 = 99; *plVar15 = 0x181587d26; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar14 = (uStack_184 >> 0x1f | uStack_184 << 1) + 0x621450c8; uVar14 = (uVar14 * 0x10000 | uVar14 >> 0x10) & 0xf91c06e3 | (uVar14 >> 0x10 | uVar14 * 0x10000) & 0x6e3f91c; uVar14 = (uVar14 >> 8 | uVar14 << 0x18) + 0x4f0091ee; uVar14 = (uVar14 * 0x10000 | uVar14 >> 0x10) & 0xa5245adb | (uVar14 >> 0x10 | uVar14 * 0x10000) & 0x5adba524; uVar10 = uVar14 >> 10 | uVar14 << 0x16; lVar19 = (longlong)iStack_1d0; uVar14 = uVar10 + 0xc7529a8a; uVar10 = uVar10 + 0xc7529a8a; uVar16 = (longlong)(int)(uVar14 * 0x10000 | uVar14 >> 0x10) & 0xffffffffc2353dcaU | (ulonglong)((uVar10 >> 0x10 | uVar10 * 0x10000) & 0x3dcac235); iStack_1d0 = 0; uStack_184 = 0; uVar5 = (ulonglong) ((uint)((ulonglong)*(undefined8 *)(uVar16 + 4 + local_138[0]) >> 0x18) & 0x46303) + *(longlong *)(lVar19 + 4 + lStack_140); uVar5 = (uVar5 * 0x1000 | uVar5 >> 0x34) ^ 0xc23014cc54169c49; uVar5 = (uVar5 << 1 | (ulonglong)((longlong)uVar5 < 0)) + 0x89b201396c3550bc; uVar5 = (uVar5 >> 0xc | uVar5 << 0x34) + 0x2be956b9ef74f3b0; uVar8 = uVar5 >> 0x23 | uVar5 * 0x20000000; uVar5 = ((uVar8 >> 0x10 | (uVar5 >> 0x23) << 0x30) & 0x8aa775588aa77558 | (uVar8 << 0x10 | (uVar5 & 0x7ffffffff) >> 0x13) & 0x75588aa775588aa7) ^ 0x6ce436b840cf5c0b; *(ulonglong *)(lVar19 + 4 + lStack_140) = uVar5; plVar15 = (longlong *)(uVar16 + 4 + local_138[0]); *plVar15 = *plVar15 + (uVar5 >> 0x1a & 0x88044418); uStack_1a0 = (uint)(*(ulonglong *)(lVar19 + 4 + lStack_140) >> 0xd) & 0x7fffffff; uVar14 = (uint)(*(ulonglong *)(lVar19 + 4 + lStack_140) >> 0x1b); local_1f8 = uVar14 ^ 0x2d5d2dee; local_1c0 = (undefined1 *)(*(ulonglong *)(lVar19 + 4 + lStack_140) ^ 0x494a57b7384dbcef); uVar13 = (*(int *)(&DAT_18161e7e4 + lVar12) * uVar9 * 0x8000 | *(int *)(&DAT_18161e7e4 + lVar12) * uVar9 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e7e8) * uVar9; uVar13 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = (*(int *)(&UNK_18161e7ec + lVar12) * uVar9 * 0x8000 | *(int *)(&UNK_18161e7ec + lVar12) * uVar9 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e7f0) * uVar9; uVar10 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = *(int *)(lVar12 + 0x18161e7f4) * uVar9; uVar13 = (uVar13 * 0x8000 | uVar13 >> 0x11) * local_204 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e7f8) * uVar9; uVar10 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = *(int *)(lVar12 + 0x18161e7fc) * uVar9; uVar13 = (uVar13 * 0x8000 | uVar13 >> 0x11) * local_204 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e800) * uVar9; uVar10 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = *(int *)(lVar12 + 0x18161e804) * uVar9; uVar13 = (uVar13 * 0x8000 | uVar13 >> 0x11) * local_204 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e808) * uVar9; uVar10 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = *(int *)(lVar12 + 0x18161e80c) * uVar9; uVar13 = (uVar13 * 0x8000 | uVar13 >> 0x11) * local_204 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e810) * uVar9; uVar10 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = *(int *)(lVar12 + 0x18161e814) * uVar9; uVar13 = (uVar13 * 0x8000 | uVar13 >> 0x11) * local_204 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e818) * uVar9; uVar13 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e81c) * uVar9; uVar13 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; do { uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = *(int *)(lVar12 + 0x18161e820) * uVar9; uVar13 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e824) * uVar9; uVar13 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = (*(int *)(&UNK_18161e828 + lVar12) * uVar9 * 0x8000 | *(int *)(&UNK_18161e828 + lVar12) * uVar9 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar10 = ((uVar13 & 0x4ff) - 1) * (uVar13 & 0x4ff) - 1 & 1; if ((uVar13 & 0x16) == 0) { uVar23 = (uint)local_1e0 & 0x7f | 0x54; uVar2 = uVar13 & 0xf | 0xe; uVar23 = uVar23 * uVar23 * 0x4f87; uVar2 = uVar2 * uVar2 * 0x7655; } else { uVar2 = uVar13 & 0x3f | 0x28; uVar23 = (uint)local_1e0 & 0x3f | 0xb; uVar23 = uVar23 * uVar23 * 0x3df3; uVar2 = uVar2 * uVar2 * 0xbe75; } lVar12 = (ulonglong)(((int)(uVar23 ^ uVar2 | -(uVar23 ^ uVar2)) >> 0x1f ^ 0xfffffaffU) & 0x85f6) + lVar12 + 0x44 + ((longlong)(((int)(-uVar10 | uVar10) >> 0x1f) * -0xd2c) ^ 0xfffffffffffff628U); uVar13 = (*(int *)(&DAT_18161e7e4 + lVar12) * uVar9 * 0x8000 | *(int *)(&DAT_18161e7e4 + lVar12) * uVar9 >> 0x11) * local_204 ^ uVar13; uVar10 = *(int *)(lVar12 + 0x18161e7e8) * uVar9; uVar13 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = (*(int *)(&UNK_18161e7ec + lVar12) * uVar9 * 0x8000 | *(int *)(&UNK_18161e7ec + lVar12) * uVar9 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e7f0) * uVar9; uVar10 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = *(int *)(lVar12 + 0x18161e7f4) * uVar9; uVar13 = (uVar13 * 0x8000 | uVar13 >> 0x11) * local_204 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e7f8) * uVar9; uVar10 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = *(int *)(lVar12 + 0x18161e7fc) * uVar9; uVar13 = (uVar13 * 0x8000 | uVar13 >> 0x11) * local_204 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e800) * uVar9; uVar10 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar13 = *(int *)(lVar12 + 0x18161e804) * uVar9; uVar13 = (uVar13 * 0x8000 | uVar13 >> 0x11) * local_204 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e808) * uVar9; uVar13 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar10 = *(int *)(lVar12 + 0x18161e80c) * uVar9; uVar24 = (uVar10 * 0x8000 | uVar10 >> 0x11) * local_204 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar9 = *(int *)(lVar12 + 0x18161e810) * uVar9; uStack_158 = 0x241d6407; uStack_154 = 0x5aa343cb; uVar13 = (int)local_1c0 + 0xf1e309f9; uVar10 = (uint)((ulonglong)local_1c0 >> 0x20) ^ 0x4a5a460c ^ uVar13; uVar17 = iStack_1e4 + 0xf56b0f05; uVar14 = uVar14 ^ 0x7553dd09; uVar2 = (uVar10 & 0x404381bb ^ uVar13) + 0xf864faf4; uVar10 = uVar10 & 0xbfbc7e44 ^ uVar13 ^ 0xe070a390; uVar23 = (uVar17 >> 0xf ^ uVar17) >> 2 & 0x7fff; uVar18 = (uVar14 >> 0xe ^ uVar14) >> 2 & 0x3fff; uVar20 = (uVar2 >> 10 ^ uVar2) >> 0xb & 3; uVar13 = (uVar10 >> 9 ^ uVar10) >> 4 & 0xff; uVar13 = (uVar13 << 9 | uVar13) << 4 ^ uVar10 ^ 0x17d56d53; uVar10 = uVar13 ^ ((uVar23 << 0xf | uVar23) << 2 ^ uVar17) + 0x193437c3; uVar23 = uVar10 & 0x61fa746d ^ uVar13 ^ 0x4742c5fd; uVar14 = uVar14 ^ ((uVar18 << 0xe | uVar18) ^ 0xe46c1535) << 2; uVar20 = ((uVar20 << 10 | uVar20) << 0xb ^ uVar2 ^ 0x3e728703) + 0xea956873; uVar18 = (uVar10 & 0x9e058b92 ^ uVar13) + 0xf3638a6a; uVar13 = (uVar23 >> 7 ^ uVar23) & 3; uVar10 = (uVar14 >> 0xf ^ uVar14) >> 2 & 0x7fff; uVar2 = (uVar20 >> 10 ^ uVar20) >> 10 & 0x7f; uVar17 = (uVar18 >> 5 ^ uVar18) >> 2 & 0x1f; iStack_1e4 = ((uVar13 << 7 | uVar13) ^ uVar23) + 0x933d3959; iStack_164 = ((uVar10 << 0xf | uVar10) << 2 ^ uVar14) + 0x49b8f865; uStack_160 = (uVar2 << 10 | uVar2) << 10 ^ uVar20 ^ 0x5468063c; iStack_15c = ((uVar17 << 5 | uVar17) << 2 ^ uVar18) + 0xf6b09850; uVar9 = (uVar9 * 0x8000 | uVar9 >> 0x11) * local_204 ^ (uVar24 << 0xd | uVar24 >> 0x13) * 5 + 0xe6546b64; iStack_180 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + -0x19ab949c; iStack_168 = iStack_1e4; /* WARNING: Call to offcut address within same function */ func_0x0001815885c7(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } local_1f0 = 0x100000; /* WARNING: Ignoring partial resolution of indirect */ /* WARNING: Ignoring partial resolution of indirect */ local_1f0._0_4_ = 0x100; local_200 = (int *)0x181499f2c; local_1f0 = local_1f0 + 0x181499f2c; piStack_1c8 = (int *)CONCAT44(piStack_1c8._4_4_,0x48b5f382); iStack_208 = 0x88c3d52b; uVar3 = 0x2493; local_1b8 = (CONCAT44(local_1b8._4_4_,0x91608200) | 0x24db) ^ 0xf6248005; uVar9 = 0x674426de; if ((*(uint *)(local_190 + 0x10) >> 2 & 1) != 0) { cVar1 = FUN_1805847c0(local_1d8 + 0x1b0,local_1a8); if (cVar1 == '\0') { FUN_180583f50(lVar19 + 0x178); } uVar9 = (uint)local_1b8; } local_1b8 = local_1f0 - (longlong)local_200; piStack_1c8 = local_200; uVar13 = (uVar9 >> 4 | uVar9 << 0x1c) & 0x96969696 | (uVar9 << 4 | uVar9 >> 0x1c) & 0x69696969; uVar9 = (*local_200 * 0x16a88000 | (uint)(*local_200 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0xb417a2b6; uVar9 = (local_200[1] * 0x16a88000 | (uint)(local_200[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar13 + (uVar9 << 0xd | uVar9 >> 0x13) * 5; iStack_208 = uVar13 + (uVar9 << 0xd | uVar9 >> 0x13) * 5; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); /* WARNING: Call to offcut address within same function */ func_0x0001815867e2(0,iStack_208,uVar3); /* WARNING: Could not recover jumptable at 0x0001815868b4. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar3 = (*(code *)(puVar21 + 0x9adb))(); return uVar3; } ############ FUN_ 18158a900 size=927 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018158a9c0) */ /* WARNING: Removing unreachable block (ram,0x00018158a96a) */ /* WARNING: Removing unreachable block (ram,0x00018158a984) */ /* WARNING: Removing unreachable block (ram,0x00018158a989) */ /* WARNING: Removing unreachable block (ram,0x00018158a9ea) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void .?AVSoothe2XYSliderArea@@::vtbl___AVSoothe2XYSliderArea__(undefined8 param_1,longlong param_2) { uint uVar1; ulonglong uVar2; int *piVar3; ulonglong uVar4; ulonglong uVar5; uint uVar6; int unaff_retaddr; undefined1 auStack_1d8 [32]; undefined4 local_1b8; undefined8 local_1a8; undefined *local_198; undefined8 local_190; undefined4 local_184; undefined8 local_180; uint local_178; uint local_15c; undefined8 local_158; code *local_148; undefined8 local_140; longlong local_138; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_1d8; local_184 = 0x680; uVar1 = (uint)&stack0x00000000 & 0x1bff; uVar6 = (uVar1 + 1) * uVar1 + 0x2c1d & 0x80000001; uVar1 = (uint)&stack0x00000000 & 0xcff; uVar1 = (uVar1 + 1) * uVar1 + 0x3349 & 0x80000001; local_1b8 = 0; local_15c = (int)((-uVar1 | uVar1) ^ (-uVar6 | uVar6)) >> 0x1f ^ 0xe30; local_140 = param_1; local_138 = param_2; local_158 = __RTDynamicCast(*(undefined8 *)(param_2 + 0x38),0, &juce::Component::RTTI_Type_Descriptor,&XYThumb::RTTI_Type_Descriptor) ; local_180 = 0; local_190 = 0x1510; local_1a8 = 0x180b3f4f0; local_198 = &UNK_180b40a00; do { uVar4 = rdtsc(); uVar5 = uVar4 >> 0x20; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); local_178 = ((uint)uVar4 ^ (uint)(uVar4 >> 0x20)) * -0x50287a15; local_178 = local_178 >> 0x18 ^ local_178; uVar4 = (ulonglong)local_178; local_178 = local_178 * -0x3594e57b; if (local_178 < 0x108420ff) { do { uVar5 = 0x123c; local_148 = FUN_18141db20; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } uVar4 = (ulonglong)uVar1; } while (uVar1 != 0); uVar2 = FUN_18141db20(); if (1 < uVar2) { FUN_18113eab0(); } } /* WARNING: Call to offcut address within same function */ func_0x00018158acb4(); piVar3 = (int *)CONCAT71((int7)((uVar5 & 0xffffff81) >> 8),(char)(uVar5 & 0xffffff81) + '$'); *piVar3 = *piVar3 + (int)piVar3; *(char *)(uVar4 - 0x39) = *(char *)(uVar4 - 0x39) + (char)uVar4; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 1815adb50 size=1091 ############ /* WARNING: Instruction at (ram,0x0001815add2b) overlaps instruction at (ram,0x0001815add29) */ /* WARNING: Removing unreachable block (ram,0x0001815adba8) */ /* WARNING: Removing unreachable block (ram,0x0001815add29) */ /* WARNING: Removing unreachable block (ram,0x0001815adbb4) */ void FUN_1815adb50(undefined8 param_1,undefined8 param_2) { code *pcVar1; ulonglong uVar2; byte bVar3; int iVar4; uint uVar5; code **ppcVar6; uint uVar7; ulonglong uVar8; longlong *plVar9; undefined1 *puVar10; TypeDescriptor *pTVar11; ulonglong in_R11; uint unaff_retaddr; undefined1 local_1d0 [48]; undefined1 auStack_188 [32]; undefined4 local_168; uint local_148; uint local_114; uint local_110; code *local_108 [5]; undefined8 local_e0; ulonglong local_b0; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_188; uVar5 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x300) == 0) { bVar3 = 0; } else { uVar7 = uVar5 & 0x2bf; iVar4 = (uVar7 + 2) * (uVar7 + 1) * uVar7; bVar3 = (byte)(((iVar4 >> 1) - (iVar4 >> 3)) + iVar4 * 0x55555555 >> 0x1e); } local_168 = 0; iVar4 = (uVar5 & 0x3cff) * (uVar5 & 0x3cff) + 1; uVar7 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar7 = (int)(uVar7 - 7) >> 0x1f & uVar7; local_110 = ((int)(-uVar7 | uVar7) >> 0x1f) * -0x405a ^ 0x49ba >> (bVar3 & 0x1f); pTVar11 = &CloudyPopupMenuItem::RTTI_Type_Descriptor; uVar5 = ((uVar5 & 0xbff) * (uVar5 & 0xbff) * 0x10 + 4) % 0x13; uVar5 = (int)(-uVar5 | uVar5) >> 0x1f; local_114 = (int)(-uVar5 | uVar5) >> 0x1f & 0x1ec5U ^ 0x1125; local_e0 = param_1; local_b0 = __RTDynamicCast(param_2,0,&juce::Button::RTTI_Type_Descriptor); uVar2 = local_b0; do { if (SBORROW8(uVar2,0xc604)) { in_R11 = (~in_R11 + 1 ^ 0xffffffffffffffff) + 1; } uVar2 = (ulonglong)unaff_retaddr; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar2 = rdtsc(); uVar8 = uVar2 >> 0x20; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ((uint)uVar2 ^ (uint)(uVar2 >> 0x20)) * -0x35947333; local_148 = (uVar5 >> 0x18 ^ uVar5) * -0x460113ad; pcVar1 = (code *)0x0; if (local_148 < 0x5555557f) { do { local_108[0] = pcVar1; ppcVar6 = local_108; FUN_1815ad4a7(ppcVar6,local_108); uVar8 = 0xa9b8; *ppcVar6 = FUN_1813bba80; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } pcVar1 = local_108[0]; } while (uVar5 != 0); uVar2 = (*local_108[0])(); if (1 < uVar2) { FUN_18113eab0(); } } /* WARNING: Call to offcut address within same function */ func_0x0001815ade72(); plVar9 = (longlong *)&stack0xfffffffffffffe60; puVar10 = (undefined1 *)register0x00000020; if ((POPCOUNT((in_R11 + uVar8) - (~(uVar8 - (in_R11 + uVar8)) + 1) & 0xff) & 1U) != 0) { puVar10 = (undefined1 *)((longlong)&pTVar11[0xa3b].pVFTable + 7); plVar9 = (longlong *)local_1d0; } plVar9[3] = (longlong)puVar10; plVar9[2] = (longlong)((longlong)&pTVar11[0x1c10].spare + 6); plVar9[1] = (longlong)((longlong)&pTVar11[-0x3eed].spare + 7); *plVar9 = (longlong)&pTVar11[-0x67b0].spare; plVar9[-1] = (longlong)((longlong)&pTVar11[0x3ba1].spare + 3); plVar9[-2] = (longlong)((longlong)&pTVar11[-0xc17].pVFTable + 3); return; } ############ FUN_ 1815c080e size=809 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x0001815c095e) overlaps instruction at (ram,0x0001815c095a) */ /* WARNING: Removing unreachable block (ram,0x0001815c0958) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_1815c080e(void) { int *piVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; longlong unaff_RBX; longlong unaff_RBP; longlong unaff_RDI; int *unaff_R13; longlong unaff_R14; uint local_res20 [2]; uVar4 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } if (uVar4 != 0) { FUN_1815c079f(0xe61c,unaff_RDI + unaff_R14,local_res20); return; } uVar4 = (*(int *)(unaff_R14 + 0x24 + unaff_RBX) + (local_res20[0] * 0x401 ^ local_res20[0] * 0x401 >> 6)) * 0x401; local_res20[0] = uVar4 ^ uVar4 >> 6; piVar1 = (int *)(unaff_RBP + 0x68); do { FUN_1815c066e(); uVar4 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (*(int *)(unaff_R14 + 0x28 + unaff_RBX) + local_res20[0]) * 0x401; uVar4 = (*(int *)(unaff_R14 + 0x2c + unaff_RBX) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = (*(int *)(unaff_R14 + 0x30 + unaff_RBX) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = (*(int *)(unaff_R14 + 0x34 + unaff_RBX) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = (*(int *)(unaff_R14 + 0x38 + unaff_RBX) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = (*(int *)(unaff_R14 + 0x3c + unaff_RBX) + (uVar4 ^ uVar4 >> 6)) * 0x401; local_res20[0] = uVar4 ^ uVar4 >> 6; do { uVar4 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (*(int *)(unaff_R14 + 0x40 + unaff_RBX) + local_res20[0]) * 0x401; uVar4 = (*(int *)(unaff_R14 + 0x44 + unaff_RBX) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = (*(int *)(unaff_R14 + 0x48 + unaff_RBX) + (uVar4 ^ uVar4 >> 6)) * 0x401; local_res20[0] = uVar4 ^ uVar4 >> 6; do { FUN_1815c003d(); FUN_1815bf5ea(); FUN_1815c1913(); uVar4 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (*(int *)(unaff_R14 + 0x4c + unaff_RBX) + local_res20[0]) * 0x401; uVar4 = (*(int *)(unaff_R14 + 0x50 + unaff_RBX) + (uVar4 ^ uVar4 >> 6)) * 0x401; local_res20[0] = uVar4 ^ uVar4 >> 6; do { uVar2 = rdtsc(); FUN_1815c079e(); uVar4 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x7a14e57b; if ((uVar4 >> 0x18 ^ uVar4) * -0x5028e57b < 0xb79300) { *(undefined8 *)(unaff_RBP + -0x70) = 0; do { *(code **)(unaff_RBP + -0x70) = FUN_1813bba80; uVar4 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (**(code **)(unaff_RBP + -0x70))(0,0xd3fd); if (1 < uVar3) { FUN_18113eab0(); } } FUN_1815c0b73(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 1815c65b0 size=1240 ############ void FUN_1815c65b0(undefined8 param_1,undefined8 param_2) { undefined8 uVar1; ulonglong uVar2; uint uVar3; int iVar4; uint uVar5; longlong lVar6; ulonglong uVar7; ulonglong uVar8; byte bVar9; bool bVar10; bool bVar11; char cVar12; char cVar13; int unaff_retaddr; undefined1 auStack_168 [48]; undefined8 local_138; uint local_130; undefined *local_128; uint local_11c; undefined8 local_108; undefined8 local_100; undefined4 local_f8; undefined4 local_f0; code *local_e8; undefined8 local_d8; undefined *local_c8; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_168; uVar3 = (uint)&stack0x00000000 & 0x5ff; iVar4 = uVar3 * uVar3 + 1; uVar3 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar3 = (int)(uVar3 - 7) >> 0x1f & uVar3; uVar3 = (int)(-uVar3 | uVar3) >> 0x1f; uVar5 = (uint)&stack0x00000000 & 0x3bf; iVar4 = (uVar5 + 2) * (uVar5 + 1) * uVar5; local_11c = (((iVar4 >> 1) - (iVar4 >> 3)) + iVar4 * 0x55555555 >> 0x1e | 0x3c61U) ^ (int)(-uVar3 | uVar3) >> 0x1f & 0x3cc1U; uVar8 = (ulonglong)local_11c; local_f0 = 0xb60; do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar7 = 0x180000000; local_138 = 0; lVar6 = 0xc2f3d494; local_100 = 0x79746c; local_108 = 0x2e60; local_128 = &DAT_18079746c; local_c8 = &UNK_18079a2cc; do { uVar1 = rdtsc(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x73323595; local_130 = (uVar3 >> 0x18 ^ uVar3) * -0x166a4602; local_d8 = param_2; if (local_130 < 0x2e8ba2ff) { do { local_e8 = FUN_1813bba80; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = FUN_1813bba80(0,0xf188); if (1 < uVar2) { FUN_18113eab0(); } } do { local_f8 = 0x25151c4a; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); cVar13 = '\0'; cVar12 = '\x01'; bVar10 = false; local_108 = CONCAT44(local_108._4_4_,0x1c157164) ^ 0xde2e5a39; /* WARNING: Call to offcut address within same function */ func_0x0001815c6810(); bVar10 = bVar10 || cVar13 != cVar12; if (bVar10) { lVar6 = uVar7 - uVar8; bVar11 = uVar7 == uVar8; } else { bVar11 = lVar6 == 0; } cVar13 = bVar10 && SBORROW8(uVar7,uVar8); bVar9 = bVar10 && uVar7 < uVar8; cVar12 = lVar6 < 0; /* WARNING: Call to offcut address within same function */ uVar7 = func_0x0001815c6a15(); if (!bVar11 && cVar13 == cVar12) { bVar9 = uVar8 < uVar7; } *(int *)(uVar7 + 0x495941f7) = *(int *)(uVar7 + 0x495941f7) + (uint)bVar9; return; } ############ FUN_ 1815c7e80 size=2407 ############ /* WARNING: Control flow encountered bad instruction data */ void FUN_1815c7e80(longlong param_1,longlong param_2,undefined1 param_3,undefined1 param_4) { float fVar1; undefined8 uVar2; uint uVar3; longlong lVar4; undefined8 uVar5; ulonglong uVar6; ulonglong uVar7; ulonglong uVar8; uint *puVar9; uint uVar10; undefined4 *puVar11; ulonglong uVar12; longlong *plVar13; ulonglong uVar14; int *piVar15; int unaff_retaddr; undefined1 auStack_438 [48]; undefined1 local_408; undefined8 local_400; undefined1 local_3f8; undefined1 local_3f7; undefined8 local_3f0; int local_3e8; uint local_3e4 [3]; undefined8 local_3d8; ulonglong local_3c8; uint local_3c0; uint local_3b8; uint local_3b0; undefined4 local_3ac; longlong local_3a8; uint local_3a0 [4]; undefined4 local_390; longlong local_388; code *local_360; undefined1 local_358 [12]; undefined4 local_34c; uint local_348; undefined4 local_344; undefined1 local_320 [8]; undefined8 local_318; undefined4 local_310; undefined4 local_30c; undefined4 local_308 [6]; undefined8 local_2f0; longlong local_2e8; longlong local_2e0 [4]; undefined1 local_2c0 [16]; undefined4 local_2b0; undefined8 local_1d8; ulonglong local_80; local_1d8 = 0xfffffffffffffffe; local_80 = DAT_182615970 ^ (ulonglong)auStack_438; local_3ac = 0x130; uVar3 = (uint)&stack0x00000000 & 0xdff; uVar3 = ((uVar3 + 1) * uVar3 + 7) % 0x51; local_3b0 = 0x885cU - ((int)(-uVar3 | uVar3) >> 0x1f) ^ 0x8edd; local_30c = *(undefined4 *)(param_1 + 0x2c); local_310 = *(undefined4 *)(param_1 + 0x28); local_318 = 0; local_3f8 = param_4; local_3f7 = param_3; local_3a8 = param_1; local_388 = param_2; FUN_1804ab5a0(&local_318,local_2c0); fVar1 = *(float *)(param_1 + 0x298); plVar13 = (longlong *)(param_1 + 0x1c8); lVar4 = (**(code **)(*plVar13 + 8))(plVar13); uVar3 = (uint)(fVar1 * *(float *)(lVar4 + 0x88)) ^ DAT_1824c4f30; FUN_1804af0b0(local_2c0,local_358,uVar3,uVar3); if (*(code **)(*plVar13 + 8) == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } lVar4 = *(longlong *)(param_1 + 0x1d0); } else { lVar4 = (**(code **)(*plVar13 + 8))(plVar13); } uVar5 = FUN_1813f3070(lVar4 + 0x48,&local_2f0,local_34c); FUN_181251cf0(uVar5,local_320,DAT_1824c3c7c); FUN_1804888e0(local_2f0); local_390 = FUN_1815cb020(param_1 + 0x1e0); uVar5 = 0x180000000; local_3c8 = 0; local_3d8 = 0x18080af08; local_400 = 0x18080b5c8; local_3f0 = 0x6b121d6bddde42a7; do { local_344 = 0x56282d57; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar2 = rdtsc(); local_3c0 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); FUN_1815c9954(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_3c0 = (local_3c0 * -0x46017a15 >> 0x18 ^ local_3c0 * -0x46017a15) * -0x12aa3d4e; if (local_3c0 < 0x60f25df) { do { local_360 = FUN_18141db20; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar6 = FUN_18141db20(0,0xf963); if (1 < uVar6) { FUN_18113eab0(); } } FUN_181296e50(param_2); (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),local_320); local_408 = *(longlong *)(param_1 + 600) - *(longlong *)(param_1 + 0x250) >> 3 != 0; do { local_2b0 = 0xc; local_2e8 = 0x1815c834a; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_3e8 = 0x1062a3a; do { plVar13 = local_2e0; puVar11 = local_308; puVar9 = local_3a0; func_0x0001815c6810(); *puVar9 = 0x4847d4e5; *puVar11 = 0x40; *plVar13 = 0x1815c8448; func_0x0001815c6810(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = (local_3a0[0] >> 0xb ^ local_3a0[0]) >> 9 & 0xff; uVar10 = ((uVar3 << 0xb | uVar3) << 9 ^ local_3a0[0]) + 0xe8aafee5; uVar3 = (uVar10 >> 1 ^ uVar10) >> 3 & 1; uVar3 = uVar10 ^ (uVar3 * 2 | uVar3) << 3; uVar10 = ((uVar3 >> 2 | uVar10 * 0x40000000) & 0x99999999 | (uVar3 << 2 | uVar10 >> 0x1e) & 0x66666666) + 0x6fc0e80a; uVar3 = (uVar10 >> 4 ^ uVar10) >> 1 & 0xf; uVar10 = (uVar3 << 4 | uVar3) * 2 ^ uVar10 ^ 0x1a1c6bad; uVar3 = (uVar10 >> 6 ^ uVar10) >> 0x19 & 1; uVar3 = uVar10 ^ (uVar3 << 6 | uVar3) << 0x19; lVar4 = (longlong)local_3e8; uVar6 = (longlong)(int)(uVar3 >> 8 | uVar10 << 0x18) & 0xffffffffae51ae51U | (ulonglong)((uVar10 << 8 | uVar3 >> 0x18) & 0x51ae51ae); local_3e8 = 0; local_3a0[0] = 0; plVar13 = (longlong *)(lVar4 + 4 + local_2e8); *plVar13 = *plVar13 + (ulonglong)((uint)(*(ulonglong *)(uVar6 + 4 + local_2e0[0]) >> 2) & 0x292102); piVar15 = (int *)register0x00000020; do { uVar2 = rdtsc(); local_348 = (int)uVar2 + (int)((ulonglong)uVar2 >> 0x20); piVar15 = (int *)((~(ulonglong)piVar15 + 1 ^ 0xffffffffffffffff) + 1); uVar7 = (ulonglong)local_348 - (((ulonglong)(local_348 >> 5) | (ulonglong)local_348 << 0x3b) - 0x71818816); uVar8 = uVar7 >> 6 | uVar7 << 0x3a; uVar7 = uVar8 * 5; uVar8 = uVar8 + (uVar7 >> 5 | uVar7 << 0x3b) + 0x791bf67b; *(uint *)((((ulonglong)local_3e4 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1) = (uint)((uVar8 * 0x20 | uVar8 >> 0x3b) * -0x3fff + -0x1b8f8f85 >> 0x10) & 0xe65bdd00; uVar3 = (*piVar15 + 1) * *piVar15 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); piVar15 = (int *)(lVar4 + 8 + local_2e8); *piVar15 = *piVar15 + (local_3e4[0] ^ 0x302cf8aa); piVar15 = (int *)(lVar4 + 4 + local_2e8); *piVar15 = *piVar15 + (local_3e4[0] ^ 0xa3637bc5); uVar7 = *(ulonglong *)(lVar4 + 4 + local_2e8); uVar7 = (uVar7 << 8 | uVar7 >> 0x38) & 0xc738c738c738c738 | (uVar7 >> 8 | uVar7 << 0x38) & 0x38c738c738c738c7; uVar8 = uVar7 ^ 0xe3e21e6a53680630; uVar8 = (uVar8 >> 4 | uVar7 << 0x3c) & 0xe1e1e1e1e1e1e1e1 | (uVar8 << 4 | uVar8 >> 0x3c) & 0x1e1e1e1e1e1e1e1e; uVar7 = (ulonglong)((uint)((uVar8 >> 0x1f ^ uVar8) >> 5) & 0x3ffffff); uVar7 = (uVar8 ^ (uVar7 << 0x1f | uVar7) << 5) + 0x670a4e6783c319c4; uVar14 = (uVar7 * 0x100 | uVar7 >> 0x38) & 0x3cc33cc33cc33cc3; uVar8 = (uVar7 >> 8 | uVar7 << 0x38) & 0xc33cc33cc33cc33c | uVar14; uVar7 = (uVar8 >> 0x35 ^ uVar8) >> 2 & 0xff; uVar8 = uVar8 ^ (uVar7 << 0x35 | uVar7) << 2; uVar12 = (uVar8 >> 0x10 | uVar8 << 0x30) & 0xcfcf3030cfcf303; uVar7 = ((uVar8 << 0x10 | uVar8 >> 0x30) & 0xf3030cfcf3030cfc | uVar12) ^ 0xa0360342f034df3c; *(ulonglong *)(lVar4 + 4 + local_2e8) = uVar7; plVar13 = (longlong *)(uVar6 + 4 + local_2e0[0]); *plVar13 = *plVar13 + (uVar7 >> 4 & 0x82302082); local_3e4[0] = (uint)(*(ulonglong *)(lVar4 + 4 + local_2e8) >> 0xd) & 0x7fffffff; local_3b8 = (uint)(*(ulonglong *)(lVar4 + 4 + local_2e8) >> 0x11) ^ 0x74ceb75a; local_3c8 = *(ulonglong *)(lVar4 + 4 + local_2e8) ^ 0xb3b73c4dbbb63260; FUN_1815c942f(0xb3b73c4dbbb63260,uVar12,uVar14,uVar5); FUN_1815c8815(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 1815d0470 size=1830 ############ /* WARNING: Removing unreachable block (ram,0x0001815d0acd) */ void FUN_1815d0470(undefined8 param_1,undefined8 param_2,longlong param_3,ulonglong param_4) { longlong *plVar1; longlong lVar2; code *pcVar3; undefined8 uVar4; uint uVar5; uint uVar6; uint *puVar7; ulonglong uVar8; longlong lVar9; longlong lVar10; undefined8 in_R11; int unaff_retaddr; undefined1 auStack_1a8 [32]; undefined4 local_188; undefined1 local_180 [8]; undefined8 local_178; uint local_170; uint local_16c; uint local_168 [2]; uint local_160; undefined8 local_158; undefined8 local_150; uint local_148; uint local_134; undefined8 local_130; code *local_128; undefined8 local_120; ulonglong local_118; ulonglong local_110; undefined8 local_108; undefined4 local_100; longlong local_f8; longlong local_f0; undefined8 local_e8; undefined4 local_e0; longlong local_c0; undefined8 local_a8; ulonglong local_48; local_a8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1a8; pcVar3 = *(code **)(*(longlong *)(param_3 + 0xb0) + 0x10); local_130 = param_2; local_110 = param_4; local_108 = param_2; local_c0 = param_3; if (pcVar3 == FUN_1804e49c0) { local_120 = *(undefined8 *)(param_3 + 0x280); } else { (*pcVar3)((longlong *)(param_3 + 0xb0),&local_120); } FUN_1812dc020(param_3,local_180); local_188 = 0; do { local_170 = -0x5cbe57f0; local_100 = 0x68; local_f8 = 0x1815d0527; FUN_1815cfed8(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = local_170 + 0x7f5f9009 >> 6; uVar5 = (local_170 + 0x7f5f9009) * 0x4000000 | uVar6; uVar6 = (uVar6 << 8 | uVar5 >> 0x18) & 0xfe01fe01 | (uVar5 >> 8 | uVar6 << 0x18) & 0x1fe01fe; uVar6 = (uVar6 >> 8 | uVar6 << 0x18) & 0xbe41be41 | (uVar6 << 8 | uVar6 >> 0x18) & 0x41be41be; uVar6 = (uVar6 >> 10 | uVar6 << 0x16) ^ 0xdf9cad36; local_170 = ~((uVar6 << 4 | uVar6 >> 0x1c) & 0xc3c3c3c3 | (uVar6 >> 4 | uVar6 << 0x1c) & 0x3c3c3c3c); uVar6 = (local_170 >> 0xd ^ local_170) >> 2 & 0x7f; local_170 = local_170 ^ (uVar6 << 0xd | uVar6) << 2; do { local_148 = 0x63dd4f99; local_e0 = 0x20; local_f0 = 0x1815d05ea; func_0x0001815cec08(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = ((local_148 ^ 0xa9eab43b) << 0x1f | (local_148 ^ 0xa9eab43b) >> 1) + 0x666f8801; uVar5 = ((uVar6 * 0x10 | uVar6 >> 0x1c) & 0xa5a5a5a5 | (uVar6 >> 4 | uVar6 * 0x10000000) & 0x5a5a5a5a) + 0x4b3ea01e; uVar6 = (uVar5 >> 3 ^ uVar5) >> 9 & 3; uVar5 = ~((uVar6 * 8 | uVar6) << 9 ^ uVar5); uVar6 = (uVar5 >> 0xb ^ uVar5) >> 6 & 0x1ff; uVar5 = uVar5 ^ (uVar6 << 0xb | uVar6) << 6; lVar9 = (int)local_170 + local_f8; lVar10 = ((longlong)(int)(uVar5 >> 8 | uVar5 << 0x18) & 0xffffffff8b748b74U | (ulonglong)((uVar5 << 8 | uVar5 >> 0x18) & 0x748b748b)) + local_f0; local_170 = 0; local_148 = 0; *(longlong *)(lVar9 + 4) = *(longlong *)(lVar9 + 4) + (ulonglong)((uint)(*(ulonglong *)(lVar10 + 4) >> 0xd) & 0x42168281); do { uVar4 = rdtsc(); local_134 = (uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20); uVar8 = (ulonglong)local_134 * 0x6002 - 0x65abb009; lVar2 = (uVar8 >> 9 | uVar8 << 0x37) + 0x65512f05 + uVar8 * 4; uVar8 = lVar2 * 5; uVar8 = lVar2 + ((uVar8 >> 7 | uVar8 << 0x39) - 0x4c209602); uVar8 = uVar8 >> 10 | uVar8 << 0x36; param_4 = -(~-((param_4 ^ 0xffffffffffffffff) + 1) + 1); uVar8 = uVar8 ^ uVar8 * 0x100 + 0x75c4b6b1; uVar8 = ((uVar8 * 0x180 | uVar8 * 3 >> 0x39) - 0x13d4c8c8) + uVar8 * 2; uVar8 = uVar8 * 0x80 | uVar8 >> 0x39; uVar6 = (~(~(uint)uVar8 + 1) + 1 ^ (uint)(uVar8 >> 5)) & 0xb64678d5; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(int *)(lVar9 + 8) = *(int *)(lVar9 + 8) + (uVar6 ^ 0x120c1416); *(int *)(lVar9 + 4) = *(int *)(lVar9 + 4) + (uVar6 ^ 0xd5008f55); uVar8 = *(ulonglong *)(lVar9 + 4); uVar8 = (uVar8 << 0x10 | uVar8 >> 0x30) & 0xf0890f76f0890f76 | (uVar8 >> 0x10 | uVar8 << 0x30) & 0xf76f0890f76f089; uVar8 = ((uVar8 << 0x10 | uVar8 >> 0x30) & 0xeef1110eeef1110e | (uVar8 >> 0x10 | uVar8 << 0x30) & 0x110eeef1110eeef1) + 0x5df7262be645e3b4; uVar8 = ((uVar8 * 0x10 | uVar8 >> 0x3c) & 0xd2d2d2d2d2d2d2d2 | (uVar8 >> 4 | uVar8 << 0x3c) & 0x2d2d2d2d2d2d2d2d) + 0x66ec12f1bab86cfd; uVar8 = (uVar8 >> 0x3a | uVar8 * 0x40) + 0xddf975a109ba9817; uVar8 = ((uVar8 * 0x10 | uVar8 >> 0x3c) & 0x8787878787878787 | (uVar8 >> 4 | uVar8 << 0x3c) & 0x7878787878787878) ^ 0x9ae59c8abf91711d; *(ulonglong *)(lVar9 + 4) = uVar8; plVar1 = (longlong *)(lVar10 + 4); *plVar1 = *plVar1 + (ulonglong)((uint)(uVar8 >> 0xf) & 0x26905041); local_16c = (uint)(*(ulonglong *)(lVar9 + 4) >> 0x17) & 0x7fffffff; local_160 = (uint)((ulonglong)*(undefined8 *)(lVar9 + 4) >> 0x18) ^ 0xd7c03822; local_118 = *(ulonglong *)(lVar9 + 4) ^ 0x88a1c4697818fcb8; do { puVar7 = local_168; FUN_1815d26ed(puVar7,local_168); uVar4 = rdtsc(); *puVar7 = (uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_168[0] = (local_168[0] * -0x7332166b >> 0x18 ^ local_168[0] * -0x7332166b) * -0x3d4d00af; if (local_168[0] < 0x3fffffff) { do { local_128 = FUN_1813bba80; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar8 = FUN_1813bba80(0,0x50d); if (1 < uVar8) { FUN_18113eab0(); } } local_e8 = 0; local_158 = 0x3ff8; local_178 = 0x18001cfc8; local_150 = 0x180020fc0; FUN_1815f229c(0x180020fc0,0x1690,0x180000000,param_4,&LAB_1815cd859,&DAT_1815d0bd6, &stack0x00000000,in_R11); return; } ############ FUN_ 1815ef920 size=6672 ############ /* WARNING: Instruction at (ram,0x0001815f068a) overlaps instruction at (ram,0x0001815f0689) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001815efb19) */ /* WARNING: Removing unreachable block (ram,0x0001815efa9b) */ /* WARNING: Removing unreachable block (ram,0x0001815efab8) */ /* WARNING: Removing unreachable block (ram,0x0001815efb2d) */ /* WARNING: Removing unreachable block (ram,0x0001815efaa9) */ /* WARNING: Removing unreachable block (ram,0x0001815f063d) */ /* WARNING: Removing unreachable block (ram,0x0001815ef9a1) */ void FUN_1815ef920(undefined8 param_1,undefined8 param_2) { int iVar1; code *pcVar2; undefined8 uVar3; uint *puVar4; longlong lVar5; ulonglong uVar6; ulonglong uVar7; char *pcVar8; char cVar9; uint uVar10; uint *puVar11; uint *puVar12; undefined4 *puVar13; undefined8 *puVar14; int iVar15; uint uVar16; uint uVar17; longlong lVar18; ulonglong *puVar19; ulonglong *puVar20; undefined1 *puVar21; uint uVar22; longlong lVar23; uint uVar24; uint uVar25; uint uVar26; longlong *plVar27; uint uVar28; ulonglong *puVar29; uint uVar30; ulonglong uVar31; uint uVar32; int *piVar33; undefined1 *puVar34; undefined1 *puVar35; int unaff_retaddr; ulonglong auStack_1b8 [4]; undefined1 local_198 [32]; uint local_178 [4]; undefined8 local_168; uint local_160 [16]; longlong local_120; uint local_118 [4]; undefined8 local_108; undefined8 local_100; undefined4 local_f8; undefined4 local_f4; longlong local_f0; longlong local_e8 [3]; uint local_d0; uint local_cc; uint local_c8; uint local_c4; undefined4 local_c0; undefined4 local_bc; undefined1 local_98 [80]; ulonglong local_48; puVar21 = local_98; puVar19 = (ulonglong *)local_198; local_48 = DAT_182615970 ^ (ulonglong)local_198; uVar10 = (uint)&stack0x00000000 & 0x1ff; uVar24 = (uint)&stack0x00000000 & 0x39ff; iVar15 = (uVar10 + 2) * (uVar10 + 1) * uVar10; uVar10 = ((iVar15 >> 1) - (iVar15 >> 3)) + iVar15 * 0x55555555 >> 0x1e ^ ((uVar24 + 1) * uVar24 + 7) % 0x51; local_160[0xd] = ((int)(-uVar10 | uVar10) >> 0x1f) * -0x35b5 ^ 0x34b5; local_160[8] = 0x470; puVar4 = (uint *)&DAT_1815bf470; local_168 = &DAT_1815bf570; local_160[0] = 0x6fc7472; puVar35 = &DAT_e6546b64; local_160[3] = -0x3361d2af; uVar31 = 0x1b873593; local_178[2] = 0xc7596fdb; local_178[3] = 0x6886f981; do { local_118[1] = 0x613502e3; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); local_160[4] = 0x21f2cc3e; uVar10 = (DAT_1815bf470 * 0x16a88000 | (uint)(DAT_1815bf470 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0x319ef076; uVar10 = (DAT_1815bf474 * 0x16a88000 | (uint)(DAT_1815bf474 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = (DAT_1815bf478 * 0x16a88000 | (uint)(DAT_1815bf478 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; local_178[0] = (DAT_1815bf47c * 0x16a88000 | (uint)(DAT_1815bf47c * -0x3361d2af) >> 0x11) * 0x1b873593; uVar10 = local_178[0] ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; local_108 = param_1; local_100 = param_2; do { local_160[1] = 0xd59c22bd; local_f8 = 0x1a; local_f0 = 0x1815efea7; FUN_1815ef203(); uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); uVar24 = ((local_160[1] >> 0x10 | local_160[1] << 0x10) & 0xa18f5e70 | (local_160[1] << 0x10 | local_160[1] >> 0x10) & 0x5e70a18f) + 0xee1fc830; uVar16 = (uVar24 * 0x100 | uVar24 >> 0x18) & 0x916e916e | (uVar24 >> 8 | uVar24 * 0x1000000) & 0x6e916e91; uVar24 = (uVar16 >> 10 ^ uVar16) >> 1 & 0xff; uVar16 = ((uVar24 << 10 | uVar24) * 2 ^ uVar16) + 0x1de0d37b; uVar24 = (uVar16 >> 7 ^ uVar16) >> 0x11 & 1; uVar16 = ~((uVar24 << 7 | uVar24) << 0x11 ^ uVar16); uVar24 = (uVar16 >> 7 ^ uVar16) >> 2 & 0x7f; uVar24 = uVar16 ^ (uVar24 << 7 | uVar24) << 2; local_160[1] = (uVar24 >> 2 | uVar16 << 0x1e) & 0x99999999 | (uVar24 << 2 | uVar16 >> 0x1e) & 0x66666666; do { plVar27 = local_e8; puVar13 = &local_f4; puVar11 = local_160 + 9; FUN_1815f145d(); *puVar11 = 0xb3cf292; *puVar13 = 0x5f; *plVar27 = 0x1815eff97; /* WARNING: Call to offcut address within same function */ func_0x0001815f0bd6(); lVar18 = local_f0; uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); lVar23 = (longlong)(int)local_160[1]; uVar24 = (local_160[9] >> 0x11 ^ local_160[9]) & 0x3fff; local_160[9] = local_160[9] ^ (uVar24 << 0x11 | uVar24); uVar24 = ((local_160[9] & 0xf0f0f0f) << 4 | local_160[9] >> 4 & 0xf0f0f0f) + 0x56c9783a; uVar24 = (uVar24 * 0x100 | uVar24 >> 0x18) & 0xc837c837 | (uVar24 >> 8 | uVar24 * 0x1000000) & 0x37c837c8; uVar24 = (uVar24 << 0x10 | uVar24 >> 0x10) & 0x920a6df5 | (uVar24 >> 0x10 | uVar24 << 0x10) & 0x6df5920a; uVar24 = (uVar24 >> 10 | uVar24 << 0x16) + 0xd9419c4f; uVar16 = (uVar24 >> 0x10 ^ uVar24) >> 2 & 0x7ff; uVar24 = (uVar16 << 0x10 | uVar16) << 2 ^ uVar24; local_120 = local_e8[0]; local_168 = (undefined *)(longlong)(int)(uVar24 << 0x11 | uVar24 >> 0xf); local_160[1] = 0; local_160[9] = 0; plVar27 = (longlong *)(lVar23 + 4 + local_f0); *plVar27 = *plVar27 + (ulonglong) ((uint)(*(ulonglong *)((longlong)local_168 + 4 + local_e8[0]) >> 9) & 0x2001060); do { puVar11 = local_118; puVar12 = local_160 + 2; FUN_1815ef5c5(); uVar3 = rdtsc(); uVar24 = (int)uVar3 - (int)((ulonglong)uVar3 >> 0x20); *puVar11 = uVar24; uVar31 = ~(~uVar31 + 1) + 1; lVar5 = ((-(ulonglong)uVar24 ^ 0xffffffffffffffff) + 1) - ((ulonglong)uVar24 * 0x10000 + 0x171510d4); uVar6 = lVar5 * 3; uVar6 = ((uVar6 >> 9 | uVar6 << 0x37) - 0x81576da) + lVar5 * 2; *puVar12 = (uint)((uVar6 * 0x20 | uVar6 >> 0x3b) * 0x801 + 0x382ed45d >> 5) & 0xacc64d56; uVar24 = local_160[3]; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); piVar33 = (int *)(lVar23 + 8 + lVar18); *piVar33 = *piVar33 + (local_160[2] ^ 0x944ca18a); piVar33 = (int *)(lVar23 + 4 + lVar18); *piVar33 = *piVar33 + (local_160[2] ^ 0xd52bf4d6); uVar6 = *(longlong *)(lVar23 + 4 + lVar18) + 0x57be8979c4f57a0f; uVar6 = (uVar6 >> 0x3b | uVar6 * 0x20) + 0xfb70c695695fe38d; uVar6 = (uVar6 * 0x10000 | uVar6 >> 0x30) & 0x9dae62519dae6251 | (uVar6 >> 0x10 | uVar6 << 0x30) & 0x62519dae62519dae; uVar7 = uVar6 + 0xb1fcf43ee63e5e0; uVar6 = ((uVar7 >> 2 | uVar6 << 0x3e) & 0x9999999999999999 | (uVar7 * 4 | uVar7 >> 0x3e) & 0x6666666666666666) ^ 0xcf3c8ac96b473043; uVar6 = (uVar6 >> 0x14 | uVar6 << 0x2c) ^ 0x99fed20f329545db; *(ulonglong *)(lVar23 + 4 + lVar18) = uVar6; plVar27 = (longlong *)((longlong)local_168 + 4 + local_120); *plVar27 = *plVar27 + (uVar6 >> 0xf & 0xde8580a8); local_160[2] = (uint)(*(ulonglong *)(lVar23 + 4 + lVar18) >> 0x1b) & 0x7fffffff; local_160[0] = (uint)(*(ulonglong *)(lVar23 + 4 + lVar18) >> 10) ^ 0xb15863b8; local_168 = (undefined *)(*(ulonglong *)(lVar23 + 4 + lVar18) ^ 0xa156a2865b848f5b); iVar15 = (int)uVar31; uVar10 = (DAT_1815bf480 * local_160[3] * 0x8000 | DAT_1815bf480 * local_160[3] >> 0x11) * iVar15 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; local_178[0] = (DAT_1815bf484 * local_160[3] * 0x8000 | DAT_1815bf484 * local_160[3] >> 0x11) * iVar15; uVar10 = local_178[0] ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; do { FUN_1815f0e23(); /* WARNING: Call to offcut address within same function */ func_0x0001815f0384(); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar10 = (DAT_1815bf488 * uVar24 * 0x8000 | DAT_1815bf488 * uVar24 >> 0x11) * iVar15 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = (DAT_1815bf48c * uVar24 * 0x8000 | DAT_1815bf48c * uVar24 >> 0x11) * iVar15 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = (DAT_1815bf490 * uVar24 * 0x8000 | DAT_1815bf490 * uVar24 >> 0x11) * iVar15 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = (DAT_1815bf494 * uVar24 * 0x8000 | DAT_1815bf494 * uVar24 >> 0x11) * iVar15 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; do { uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar10 = (DAT_1815bf498 * uVar24 * 0x8000 | DAT_1815bf498 * uVar24 >> 0x11) * iVar15 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = (DAT_1815bf49c * uVar24 * 0x8000 | DAT_1815bf49c * uVar24 >> 0x11) * iVar15 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar16 = (local_160[0] >> 0x11 ^ local_160[0]) & 0x3fff; local_178[0] = (DAT_1815bf4a0 * uVar24 * 0x8000 | DAT_1815bf4a0 * uVar24 >> 0x11) * iVar15; uVar32 = local_178[0] ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar17 = ((uint)((ulonglong)local_168 >> 0xc) & 0xfffff ^ (uint)local_168) >> 9 & 0x7f; uVar10 = (uint)((ulonglong)local_168 >> 0x20); local_c0 = 0xabf9620d; local_bc = 0xbc6b5fd0; uVar28 = (uVar10 ^ local_160[4]) & 0x99999999 ^ uVar10; uVar30 = (uVar10 ^ local_160[4]) & 0x66666666 ^ uVar10; uVar24 = (uVar28 >> 2 ^ uVar28) >> 4 & 1; uVar25 = (uVar30 >> 0xb ^ uVar30) & 3; uVar16 = ~((uVar16 << 0x11 | uVar16) ^ local_160[0]); uVar22 = ~((uVar24 * 4 | uVar24) << 4 ^ uVar28); uVar24 = ~((uVar17 << 0xc | uVar17) << 9 ^ (uint)local_168) ^ uVar16; uVar30 = ~((uVar25 << 0xb | uVar25) ^ uVar30); uVar28 = uVar24 & 0x1f8b2e7f ^ uVar16; uVar16 = uVar24 & 0xe074d180 ^ uVar16; uVar6 = (ulonglong)uVar16; uVar17 = (uVar22 >> 0x11 ^ uVar22) & 0xff; uVar26 = (uVar16 >> 6 ^ uVar16) >> 0x11 & 0xf; uVar25 = (uVar30 >> 0x11 ^ uVar30) & 0x1ff; uVar24 = (uVar28 >> 6 ^ uVar28) & 0xf; uVar28 = (uVar24 << 6 | uVar24) ^ uVar28; uVar24 = uVar30 ^ (uVar25 << 0x11 | uVar25) ^ uVar28; uVar25 = uVar24 & 0x5b705ebb ^ uVar28; uVar17 = uVar25 ^ uVar22 ^ (uVar17 << 0x11 | uVar17); local_c4 = ~(uVar24 & 0xa48fa144 ^ uVar28); uVar24 = ~(uVar17 & 0x55555555 ^ uVar25) ^ local_c4; local_c8 = uVar24 & 0x7f807f80 ^ local_c4; local_160[4] = ~(uVar17 & 0xaaaaaaaa ^ uVar25); local_160[0xe] = ~((uVar26 << 6 | uVar26) << 0x11 ^ uVar16); local_c4 = uVar24 & 0x807f807f ^ local_c4; local_120 = CONCAT44(local_120._4_4_,local_c8); local_168 = (undefined *)CONCAT44(uVar10,local_c4); local_d0 = local_160[4]; local_cc = local_160[0xe]; do { puVar29 = puVar19 + 4; puVar11 = puVar4 + 0xd; uVar7 = 0xdb00; /* WARNING: Call to offcut address within same function */ puVar19[-1] = 0x1815f0606; pcVar8 = (char *)func_0x0001815f02cc(); uVar10 = (uint)uVar7; puVar19[-1] = (ulonglong)puVar4; cVar9 = (char)uVar7; puVar19 = puVar19 + -1; puVar4 = puVar11; code_r0x0001815f063e: puVar20 = puVar19; if ((uVar7 & 0xc3) == 0) { do { if ((uVar7 & 0xc3) != 0) { if (-1 < cVar9) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } goto LAB_1815f065b; } } while ((uVar7 & 0xc3) != 0); do { } while ((uVar7 & 0xc3) != 0); LAB_1815f065b: if ((uVar7 & 0xc300) != 0) goto LAB_1815f0643; } else { LAB_1815f0643: pcVar8 = (char *)(ulonglong)*puVar4; if ((uVar7 & 0xc300) == 0) { puVar20[-1] = (ulonglong)puVar21; pcVar2 = (code *)swi(3); (*pcVar2)(); return; } } *(int *)puVar29 = (int)pcVar8; puVar4 = (uint *)*puVar20; puVar19 = puVar20 + 1; if ((uVar7 & 0xc3) == 0) { if (((uVar7 & 0xc3) == 0) || (cVar9 < '\0')) goto LAB_1815f0683; goto code_r0x0001815f063e; } if (cVar9 < '\0') { *puVar20 = (ulonglong)puVar21; puVar20[-1] = (ulonglong)puVar20; *pcVar8 = *pcVar8 + (char)pcVar8; puVar21 = (undefined1 *)*puVar20; goto code_r0x0001815f0694; } LAB_1815f0683: uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { code_r0x0001815f0694: uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } if (uVar10 == 0) { iVar1 = *(int *)((longlong)puVar20 + 0x4c); uVar10 = ((int)puVar20[5] * iVar1 * 0x8000 | (uint)((int)puVar20[5] * iVar1) >> 0x11) * iVar15 ; *(uint *)(puVar20 + 5) = uVar10; uVar10 = uVar10 ^ (uVar32 << 0xd | uVar32 >> 0x13) * 5 + 0xe6546b64; uVar24 = (puVar4[0xe] * iVar1 * 0x8000 | puVar4[0xe] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = uVar24; uVar24 = uVar24 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = (puVar4[0xf] * iVar1 * 0x8000 | puVar4[0xf] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = uVar10; uVar10 = uVar10 ^ (uVar24 << 0xd | uVar24 >> 0x13) * 5 + 0xe6546b64; uVar24 = (puVar4[0x10] * iVar1 * 0x8000 | puVar4[0x10] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = uVar24; uVar24 = uVar24 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = (puVar4[0x11] * iVar1 * 0x8000 | puVar4[0x11] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = uVar10; uVar10 = uVar10 ^ (uVar24 << 0xd | uVar24 >> 0x13) * 5 + 0xe6546b64; uVar24 = (puVar4[0x12] * iVar1 * 0x8000 | puVar4[0x12] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = uVar24; uVar24 = uVar24 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = (puVar4[0x13] * iVar1 * 0x8000 | puVar4[0x13] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = uVar10; uVar10 = uVar10 ^ (uVar24 << 0xd | uVar24 >> 0x13) * 5 + 0xe6546b64; uVar24 = (puVar4[0x14] * iVar1 * 0x8000 | puVar4[0x14] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = uVar24; uVar24 = uVar24 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; uVar10 = (puVar4[0x15] * iVar1 * 0x8000 | puVar4[0x15] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = uVar10; uVar10 = uVar10 ^ (uVar24 << 0xd | uVar24 >> 0x13) * 5 + 0xe6546b64; piVar33 = (int *)(puVar21 + 0x98); uVar24 = (puVar4[0x16] * iVar1 * 0x8000 | puVar4[0x16] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = uVar24; uVar24 = uVar24 ^ (uVar10 << 0xd | uVar10 >> 0x13) * 5 + 0xe6546b64; do { /* WARNING: Call to offcut address within same function */ *puVar20 = 0x1815f07df; func_0x0001815f0dc3(); uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); *(uint *)(puVar20 + 5) = (puVar4[0x17] * iVar1 * 0x8000 | puVar4[0x17] * iVar1 >> 0x11) * iVar15; do { *puVar20 = uVar6; uVar3 = rdtsc(); uVar10 = (int)uVar3 + (int)((ulonglong)uVar3 >> 0x20) * 8; *(uint *)(puVar21 + -0x80) = uVar10; uVar6 = (ulonglong)uVar10 * 9; uVar6 = (ulonglong)uVar10 + (uVar6 >> 7 | uVar6 << 0x39) + 0x253c1d6c; uVar6 = uVar6 ^ uVar6 >> 6; uVar6 = uVar6 - ((uVar6 >> 0xf | uVar6 << 0x31) - 0x48231e7c); uVar6 = uVar6 * 0x2000 | uVar6 >> 0x33; uVar6 = uVar6 + ((~uVar6 + 1 ^ 0xffffffffffffffff) + 1) * 0x200; uVar31 = -((uVar31 ^ 0xffffffffffffffff) + 1); uVar6 = (uVar6 * 0x800 | uVar6 >> 0x35) + uVar6 * 4; uVar6 = uVar6 >> 0xe | uVar6 << 0x32; uVar6 = uVar6 ^ uVar6 * 3 >> 0xf; puVar34 = (undefined1 *)((longlong)puVar29 + (longlong)puVar35); puVar29 = (ulonglong *)(((longlong)puVar35 - (longlong)puVar34 ^ 0xffffffffffffffffU) + 1); puVar35 = puVar34 + -(longlong)puVar29; *(uint *)(puVar20 + 0xd) = (uint)((int)(uVar6 >> 0xf) + (int)(uVar6 >> 0x1d) + -0xa7de170) >> 1; uVar6 = *puVar20; uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar6 = puVar20[0xd]; *(uint *)(puVar20 + 0xd) = (uint)uVar6 ^ (uint)puVar20[9]; if (((uint)uVar6 ^ (uint)puVar20[9]) < 0x68709) { *(int *)(puVar21 + 0x10) = (int)puVar20[10]; *(int *)(puVar21 + 0x14) = (int)puVar20[0xf]; *(int *)(puVar21 + 0x18) = (int)puVar20[0x10]; *(int *)(puVar21 + 0x1c) = (int)puVar20[7]; do { puVar14 = (undefined8 *)(puVar21 + -0x48); puVar13 = (undefined4 *)((longlong)puVar20 + 0x6c); /* WARNING: Call to offcut address within same function */ *puVar20 = 0x1815f09fe; func_0x0001815f10e0(); *puVar20 = 0x1815f0a03; uVar3 = *puVar20; *puVar13 = 0xbb0f95c4; *puVar14 = uVar3; *puVar20 = 0x1815f0a22; func_0x0001815eea35(); uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = (*(uint *)((longlong)puVar20 + 0x6c) >> 7 | *(uint *)((longlong)puVar20 + 0x6c) << 0x19) + 0xf3b3ffa0; iVar15 = ~((uVar10 * 0x1000000 | uVar10 >> 8) + 0xad2120a9) + 0x7803b275; lVar18 = *(longlong *)(puVar21 + -0x48); *(int *)((longlong)puVar20 + 0x6c) = iVar15; *puVar20 = 0x1815f0a70; (*(code *)(iVar15 + lVar18))(puVar21 + 0x10,puVar21 + 0x28); do { *(undefined4 *)(puVar20 + 0xb) = 0x171f943e; uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar6 = 7; uVar10 = *(uint *)(puVar21 + 0x48); uVar16 = *(uint *)(puVar21 + 0x4c); uVar17 = (((int)puVar20[0xb] + 0xaf78a330U) * 0x80 | (int)puVar20[0xb] + 0xaf78a330U >> 0x19 ) + 0x645bdb2; uVar17 = (uVar17 * 0x80 | uVar17 >> 0x19) + 0x96e82c4b; *(uint *)(puVar20 + 0xb) = ~((uVar17 * -0x80000000 | uVar17 >> 1) + 0xca60f2f2) ^ 0x4eac78fa ; do { uVar17 = (uVar10 >> 0xc ^ uVar10) >> 2 & 0xfff; uVar25 = (uVar16 >> 5 ^ uVar16) >> 8 & 1; uVar10 = (uVar17 << 0xc | uVar17) << 2 ^ uVar10; uVar17 = (uVar10 >> 0x18 | uVar10 << 8) + 0x6e4157a7; uVar16 = (uVar16 << 0x1c | ((uVar25 << 5 | uVar25) << 8 ^ uVar16) >> 4) + 0x20a786ca; uVar10 = (uVar17 >> 0xb ^ uVar17) >> 9 & 0x3ff; uVar25 = uVar17 ^ (uVar10 << 0xb | uVar10) << 9; uVar10 = (uVar16 >> 0x11 ^ uVar16) >> 0xb & 3; uVar16 = uVar16 ^ (uVar10 << 0x11 | uVar10) << 0xb; uVar16 = (uVar16 >> 0x10 | uVar16 << 0x10) & 0xa3635c9c | (uVar16 << 0x10 | uVar16 >> 0x10) & 0x5c9ca363; uVar10 = (uVar25 << 4 | uVar25 >> 0x1c) & 0x87878787 | (uVar25 >> 4 | uVar17 * 0x10000000) & 0x78787878; uVar17 = (uVar16 << 0x12 | uVar16 >> 0xe) + 0x607d5440; uVar10 = uVar17 ^ (uVar10 << 0x12 | uVar10 >> 0xe) + 0x270a0bab; uVar16 = uVar10 & 0x3c3c3c3c ^ uVar17; uVar17 = uVar10 & 0xc3c3c3c3 ^ uVar17 ^ uVar16; uVar10 = uVar17 & 0x7341a189 ^ uVar16; uVar16 = uVar17 & 0x8cbe5e76 ^ uVar16; uVar17 = (int)uVar6 - 1; uVar6 = (ulonglong)uVar17; } while (-1 < (int)uVar17); uVar10 = ~(uVar10 + 0x80bddf0a) + 0x1e1f76b5; uVar10 = ~((uVar10 >> 0x17 | uVar10 * 0x200) + 0x8397daeb) ^ 0xf386fe29; if (((uVar10 << 10 | uVar10 >> 0x16) + 0xa0372212 ^ (uint)puVar20[0xb]) + uVar16 != (int)puVar20[8]) { do { puVar14 = (undefined8 *)(puVar21 + -0x40); /* WARNING: Call to offcut address within same function */ *puVar20 = 0x1815f0c59; func_0x0001815f10e0(); *puVar20 = uVar31; puVar20[-1] = uVar6; *puVar14 = FUN_180bc2900; uVar6 = puVar20[-1]; uVar31 = *puVar20; uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); pcVar2 = *(code **)(puVar21 + -0x40); *puVar20 = 0x1815f0cac; (*pcVar2)(); do { uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); } } iVar15 = (int)uVar31; *(uint *)(puVar20 + 5) = (puVar4[0x18] * iVar1 * 0x8000 | puVar4[0x18] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x19] * iVar1 * 0x8000 | puVar4[0x19] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x1a] * iVar1 * 0x8000 | puVar4[0x1a] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x1b] * iVar1 * 0x8000 | puVar4[0x1b] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x1c] * iVar1 * 0x8000 | puVar4[0x1c] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x1d] * iVar1 * 0x8000 | puVar4[0x1d] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x1e] * iVar1 * 0x8000 | puVar4[0x1e] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x1f] * iVar1 * 0x8000 | puVar4[0x1f] * iVar1 >> 0x11) * iVar15; do { puVar19 = puVar20 + 5; lVar18 = (longlong)puVar4 + 0x3c3f00bd; uVar31 = 0xdb00; /* WARNING: Call to offcut address within same function */ *puVar20 = 0x1815f0df9; func_0x0001815f10f3(0xdb00,lVar18,0); do { do { } while ((uVar31 & 0xc300) == 0); } while ((uVar31 & 0xc300) == 0); if ((uVar31 & 0xc3) == 0) goto LAB_1815f0e1f; while ((uVar31 & 0xc3) != 0) { LAB_1815f0e1f: if ((uVar31 & 0xc300) != 0) { *(undefined4 *)puVar19 = *(undefined4 *)(lVar18 + -0x3c3f003d); } } uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); *(uint *)(puVar20 + 5) = ((int)puVar20[5] * iVar1 * 0x8000 | (uint)((int)puVar20[5] * iVar1) >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x21] * iVar1 * 0x8000 | puVar4[0x21] * iVar1 >> 0x11) * iVar15; do { /* WARNING: Call to offcut address within same function */ *puVar20 = 0x1815f0e9a; func_0x0001815f13b1(0xdb00); uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); *(uint *)(puVar20 + 5) = (puVar4[0x22] * iVar1 * 0x8000 | puVar4[0x22] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x23] * iVar1 * 0x8000 | puVar4[0x23] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x24] * iVar1 * 0x8000 | puVar4[0x24] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x25] * iVar1 * 0x8000 | puVar4[0x25] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x26] * iVar1 * 0x8000 | puVar4[0x26] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x27] * iVar1 * 0x8000 | puVar4[0x27] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x28] * iVar1 * 0x8000 | puVar4[0x28] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x29] * iVar1 * 0x8000 | puVar4[0x29] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x2a] * iVar1 * 0x8000 | puVar4[0x2a] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x2b] * iVar1 * 0x8000 | puVar4[0x2b] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x2c] * iVar1 * 0x8000 | puVar4[0x2c] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x2d] * iVar1 * 0x8000 | puVar4[0x2d] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x2e] * iVar1 * 0x8000 | puVar4[0x2e] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x2f] * iVar1 * 0x8000 | puVar4[0x2f] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x30] * iVar1 * 0x8000 | puVar4[0x30] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x31] * iVar1 * 0x8000 | puVar4[0x31] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x32] * iVar1 * 0x8000 | puVar4[0x32] * iVar1 >> 0x11) * iVar15; do { *puVar20 = 0x1815f110c; FUN_1815f22de(); /* WARNING: Call to offcut address within same function */ *puVar20 = 0x1815f1129; func_0x0001815ef9e7(); uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); *(uint *)(puVar20 + 5) = (puVar4[0x33] * iVar1 * 0x8000 | puVar4[0x33] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x34] * iVar1 * 0x8000 | puVar4[0x34] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x35] * iVar1 * 0x8000 | puVar4[0x35] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x36] * iVar1 * 0x8000 | puVar4[0x36] * iVar1 >> 0x11) * iVar15; do { puVar11 = (uint *)((longlong)puVar20 + 0x5c); *puVar20 = 0x1815f11df; FUN_1815f229a(puVar11,(longlong)puVar20 + 0x5c); uVar3 = rdtsc(); *puVar11 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = ((uint)(*(int *)((longlong)puVar20 + 0x5c) * -0x46017333) >> 0x18 ^ *(int *)((longlong)puVar20 + 0x5c) * -0x46017333) * -0x7a147a15; *(uint *)((longlong)puVar20 + 0x5c) = uVar10; if (uVar10 < 0x20a32ff) { *(undefined8 *)(puVar21 + -0x78) = 0; do { *(code **)(puVar21 + -0x78) = FUN_1813bba80; uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); pcVar2 = *(code **)(puVar21 + -0x78); *puVar20 = 0x1815f12a1; uVar31 = (*pcVar2)(0,0x9b36); if (1 < uVar31) { *puVar20 = 0x1815f12ac; FUN_18113eab0(); } } *(uint *)(puVar20 + 5) = (puVar4[0x37] * iVar1 * 0x8000 | puVar4[0x37] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x38] * iVar1 * 0x8000 | puVar4[0x38] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x39] * iVar1 * 0x8000 | puVar4[0x39] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x3a] * iVar1 * 0x8000 | puVar4[0x3a] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x3b] * iVar1 * 0x8000 | puVar4[0x3b] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x3c] * iVar1 * 0x8000 | puVar4[0x3c] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x3d] * iVar1 * 0x8000 | puVar4[0x3d] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x3e] * iVar1 * 0x8000 | puVar4[0x3e] * iVar1 >> 0x11) * iVar15; *(uint *)(puVar20 + 5) = (puVar4[0x3f] * iVar1 * 0x8000 | puVar4[0x3f] * iVar1 >> 0x11) * iVar15; do { piVar33 = (int *)((~(ulonglong)piVar33 + 1 ^ 0xffffffffffffffff) + 1); uVar10 = (*piVar33 + 1) * *piVar33 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); *puVar20 = (ulonglong)((uVar24 << 0xd | uVar24 >> 0x13) * 5 + 0xe6546b64); puVar20[-1] = (ulonglong)puVar35; puVar20[-2] = (ulonglong)puVar4; puVar20[-3] = 0x1815f144e; func_0x0001815f1467(); func_0x0001815f145e(); return; } } while( true ); } ############ FUN_ 18161c080 size=1342 ############ /* WARNING: Instruction at (ram,0x00018161c4d0) overlaps instruction at (ram,0x00018161c4ce) */ /* WARNING: Removing unreachable block (ram,0x00018161c16f) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18161c080(longlong param_1) { longlong *plVar1; undefined8 *puVar2; int iVar3; undefined8 uVar4; longlong lVar5; ulonglong uVar6; undefined4 *puVar7; uint uVar8; ulonglong uVar9; longlong lVar10; ulonglong uVar11; int *piVar12; int iVar13; bool bVar14; int unaff_retaddr; undefined1 auStack_2f8 [48]; undefined4 local_2c8; undefined8 local_2b8; uint local_2b0; undefined8 local_2a0; undefined8 *local_298; int local_288; undefined4 local_278; int iStack_274; undefined8 uStack_270; undefined8 local_268; undefined4 local_260; undefined4 local_25c; undefined8 local_250; undefined4 local_248; longlong local_240; code *local_238; longlong local_230; undefined8 *local_228; undefined1 local_220 [32]; longlong *local_200; undefined4 local_1b8; undefined4 uStack_1b4; undefined4 uStack_1b0; undefined4 uStack_1ac; undefined4 local_1a8; int iStack_1a4; undefined4 uStack_1a0; undefined4 uStack_19c; undefined4 local_148; int iStack_144; undefined4 uStack_140; undefined4 uStack_13c; undefined1 local_138 [16]; undefined1 local_128 [16]; undefined1 local_118 [216]; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_2f8; local_248 = 0x370; local_25c = 0x910; local_230 = param_1; uVar4 = FUN_18134c250(param_1,local_138); FUN_1804ab5a0(uVar4,local_220); plVar1 = (longlong *)(param_1 + 0xf8); local_200 = plVar1; lVar5 = (**(code **)(*plVar1 + 8))(plVar1); lVar10 = 0x180000000; local_2b8 = 0x1ae0; local_2a0 = 0x667a70; local_268 = 0x180667a70; local_250 = 0x180669550; local_278 = 0; iVar13 = (int)(*(float *)(lVar5 + 0x88) * DAT_1824c442c); uStack_270 = 0; puVar2 = (undefined8 *)(param_1 + 0x110); local_148 = 0; uStack_140 = 0; uStack_13c = 0; local_298 = puVar2; local_288 = iVar13; iStack_274 = iVar13; local_240 = lVar10; iStack_144 = iVar13; FUN_1813e8df0(*puVar2,&local_148); do { uVar4 = rdtsc(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = ((uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20)) * -0x50284602; local_2b0 = (uVar8 >> 0x18 ^ uVar8) * -0x166ae57b; if (local_2b0 < 0x1414141f) { do { local_238 = FUN_18141db20; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar6 = FUN_18141db20(0,0x4a0b); if (1 < uVar6) { FUN_18113eab0(); } } lVar5 = (**(code **)(*plVar1 + 8))(plVar1); uVar4 = FUN_1804ab440(local_220,local_128,*(float *)(lVar5 + 0x88) * _DAT_1824c4538); puVar7 = (undefined4 *)FUN_18051bcc0(uVar4,local_118); local_1b8 = *puVar7; uStack_1b4 = puVar7[1]; uStack_1b0 = puVar7[2]; uStack_1ac = puVar7[3]; FUN_18134c170(*puVar2,&local_1b8); piVar12 = (int *)register0x00000020; do { uVar9 = 0x6300; iVar3 = func_0x00018161b57d(); uVar11 = lVar10 + (longlong)piVar12; uVar6 = uVar11 ^ 0x1df48369; if ((char)(uVar9 >> 8) == '\0') { bVar14 = iVar3 == 0x7eb6509e; } else { piVar12 = (int *)((longlong)piVar12 - uVar11); bVar14 = (uVar9 & 0x42) == 0; uVar6 = uVar11; } if (bVar14) { piVar12 = (int *)((ulonglong)piVar12 ^ 0xffffffffffffffff); } lVar10 = (longlong)piVar12 + 1; piVar12 = (int *)(uVar6 - lVar10); uVar8 = (*piVar12 + 1) * *piVar12 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_228 = (undefined8 *)(param_1 + 0x118); local_278 = 0; puVar7 = &local_1a8; uStack_270 = 0; local_1a8 = 0; uStack_1a0 = 0; uStack_19c = 0; iStack_274 = iVar13; iStack_1a4 = iVar13; FUN_1813e8df0(*local_228,puVar7); local_2a0 = 0x9c218ba3ba4f30a4; do { local_260 = 0x3002e291; uVar8 = (*piVar12 + 1) * *piVar12 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_2c8 = 0; FUN_18161c601(0,(longlong)puVar7 + 0x2b02780d); return; } ############ FUN_ 181486b25 size=1360 ############ /* WARNING: Instruction at (ram,0x000181487076) overlaps instruction at (ram,0x000181487075) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000181487071) */ undefined8 FUN_181486b25(int *param_1,longlong param_2) { longlong lVar1; undefined8 *puVar2; undefined4 uVar3; uint uVar4; ulonglong in_RAX; ulonglong uVar5; longlong lVar6; undefined8 uVar7; uint uVar8; uint uVar9; undefined4 *puVar10; longlong *plVar11; uint uVar12; longlong lVar13; longlong unaff_RBX; undefined8 *puVar14; longlong unaff_RBP; longlong unaff_RSI; undefined4 *puVar15; longlong unaff_RDI; undefined4 *puVar16; ulonglong uVar17; longlong lVar18; uint *puVar19; IMAGE_DOS_HEADER *pIVar20; IMAGE_DOS_HEADER *pIVar21; longlong unaff_R13; int *unaff_R14; longlong lVar22; longlong unaff_R15; uint in_stack_00000030; undefined4 *in_stack_00000038; uint in_stack_00000040; uint uStack0000000000000048; undefined8 in_stack_00000050; undefined4 *in_stack_00000068; undefined8 in_stack_00000070; uint in_stack_00000078; uint in_stack_00000080; undefined8 uStack_8; while( true ) { uVar5 = ((in_RAX - param_2) * 0x1000 | in_RAX - param_2 >> 0x34) * -0x1ff; uVar5 = uVar5 ^ uVar5 >> 0xd; uVar5 = uVar5 - (uVar5 >> 10 | uVar5 << 0x36); lVar6 = ~(~uVar5 + 1) + 1 + uVar5 * 0x60; lVar6 = lVar6 - (lVar6 * 0x900 | (ulonglong)(lVar6 * 9) >> 0x38); *param_1 = (int)lVar6 - ((int)((ulonglong)(lVar6 * 5) >> 0xc) + -0x6728932f); uVar8 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } if (uVar8 == 0) break; param_1 = (int *)&stack0x00000030; uVar7 = rdtsc(); in_stack_00000080 = (int)uVar7 + (int)((ulonglong)uVar7 >> 0x20) * 2; in_RAX = (ulonglong)in_stack_00000080; param_2 = ((ulonglong)(in_stack_00000080 >> 0xc) | in_RAX << 0x34) + 0x79d1918b; } *(int *)(unaff_RBX + 8) = *(int *)(unaff_RBX + 8) + (in_stack_00000030 ^ 0x839222ea); *(int *)(unaff_RBX + 4) = *(int *)(unaff_RBX + 4) + (in_stack_00000030 ^ 0x5cf4ea03); uVar5 = *(longlong *)(unaff_RBX + 4) + 0x7eae0e993fdb0e90; uVar5 = (uVar5 >> 8 | uVar5 << 0x38) & 0xb946b946b946b946 | (uVar5 * 0x100 | uVar5 >> 0x38) & 0x46b946b946b946b9; uVar17 = (uVar5 >> 0xc | uVar5 << 0x34) ^ 0xabc456ab5b7900fd; uVar5 = (ulonglong)(((uint)(uVar17 >> 9) ^ (uint)uVar17) & 0x3f); uVar5 = uVar17 ^ (uVar5 << 9 | uVar5); uVar17 = ((uVar5 << 8 | uVar17 >> 0x38) & 0xbf40bf40bf40bf40 | (uVar5 >> 8 | uVar5 << 0x38) & 0x40bf40bf40bf40bf) + 0xb4b14189174da02e; uVar5 = (ulonglong)((uint)((uVar17 >> 0x25 ^ uVar17) >> 5) & 0x1f); uVar5 = uVar17 ^ (uVar5 << 0x25 | uVar5) << 5; uVar5 = (uVar5 >> 4 | uVar17 << 0x3c) & 0xc3c3c3c3c3c3c3c3 | (uVar5 << 4 | uVar17 >> 0x3c) & 0x3c3c3c3c3c3c3c3c; *(ulonglong *)(unaff_RBX + 4) = uVar5; *(longlong *)(unaff_RDI + 4) = *(longlong *)(unaff_RDI + 4) + (ulonglong)((uint)(uVar5 >> 9) & 0x4401896); in_stack_00000030 = (uint)((ulonglong)*(undefined8 *)(unaff_RBX + 4) >> 0x18) & 0x7fffffff; uStack0000000000000048 = (uint)(*(ulonglong *)(unaff_RBX + 4) >> 0xd) ^ 0x1a58fb07; *(ulonglong *)(unaff_RBP + -0x78) = *(ulonglong *)(unaff_RBX + 4) ^ 0xa06b0f1514ae919; do { uVar5 = 0xd814; FUN_181485701(); if ((unaff_R15 != 0 || -unaff_R15 == 0) && ((uVar5 & 0xe700) == 0)) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } unaff_R15 = ~-unaff_R15 + 1; FUN_181486b24(); uVar8 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); pIVar21 = &IMAGE_DOS_HEADER_180000000; in_stack_00000070 = 0; in_stack_00000050 = 0x2480; in_stack_00000068 = (undefined4 *)&LAB_180b46214; in_stack_00000038 = (undefined4 *)&UNK_180b48694; *(undefined1 *)(unaff_RSI + 0xd9) = 1; do { uVar7 = rdtsc(); in_stack_00000040 = (uint)uVar7 ^ (uint)((ulonglong)uVar7 >> 0x20); FUN_181488542(); uVar8 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); in_stack_00000040 = (in_stack_00000040 * -0x166a5029 >> 0x18 ^ in_stack_00000040 * -0x166a5029) * -0x13ac51cb; if (in_stack_00000040 < 0x2492493f) { *(longlong *)(unaff_RBP + -0x80) = unaff_R15; do { *(code **)(unaff_RBP + -0x80) = FUN_18141db20; uVar8 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar5 = (**(code **)(unaff_RBP + -0x80))(0,0x74a9); if (1 < uVar5) { FUN_18113eab0(); } } uVar8 = (uint)unaff_R15; do { FUN_1814888f2(0xd814); puVar16 = in_stack_00000068; puVar15 = in_stack_00000038; lVar22 = unaff_R13 + (longlong)unaff_R14; lVar6 = (longlong)unaff_R14 - lVar22; unaff_R13 = -lVar6; unaff_R14 = (int *)(lVar22 + lVar6); uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); lVar6 = (longlong)in_stack_00000038 - (longlong)in_stack_00000068; lVar22 = 0; do { uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); do { puVar10 = &stack0x00000078; func_0x0001814890f8(); *puVar10 = 0x577db35c; uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); in_stack_00000070 = 0xe8f0c70ede303153; uVar9 = ~(in_stack_00000078 ^ 0xe539903b) + 0x63e4f2fe; in_stack_00000050 = CONCAT44(in_stack_00000050._4_4_,0xde303153); uVar9 = ~(uVar9 >> 0xf | uVar9 * 0x20000) ^ 0x6704457; uVar9 = ~((uVar9 >> 3 | uVar9 << 0x1d) + 0x1805471); in_stack_00000038 = (undefined4 *)CONCAT44(in_stack_00000038._4_4_,uVar9); if (puVar15 != puVar16) { LAB_181487170: puVar14 = (undefined8 *)((longlong)register0x00000020 + 8); puVar15 = puVar16; if ((pIVar21 != (IMAGE_DOS_HEADER *)0x0) && (lVar13._0_1_ = pIVar21->e_magic[0], lVar13._1_1_ = pIVar21->e_magic[1], lVar13._2_2_ = pIVar21->e_cblp, lVar13._4_2_ = pIVar21->e_cp, lVar13._6_2_ = pIVar21->e_crlc, puVar14 = (undefined8 *)((longlong)register0x00000020 + 8), -1 < lVar13)) { *(undefined8 *)((longlong)register0x00000020 + 0x70) = 0x2621fc0; lVar18 = (longlong)&DAT_182621fc0 + -*(longlong *)((longlong)register0x00000020 + 0x70); do { if (puVar16 < (undefined4 *) (-*(longlong *)((longlong)register0x00000020 + 0x70) + 0x182621fc8 + lVar13)) { puVar14 = (undefined8 *)((longlong)register0x00000020 + 8); if (-1 < lVar13) { plVar11 = (longlong *)(lVar18 + lVar13); puVar14 = (undefined8 *)((longlong)register0x00000020 + 8); if (plVar11 < puVar16 + 1) { *(undefined4 *)(unaff_RBP + 0x30) = *puVar16; pIVar20 = pIVar21; goto LAB_1814871e0; } } break; } lVar13._0_2_ = pIVar21->e_cparhdr; lVar13._2_2_ = pIVar21->e_minalloc; lVar13._4_2_ = pIVar21->e_maxalloc; lVar13._6_2_ = pIVar21->e_ss; pIVar21 = (IMAGE_DOS_HEADER *)&pIVar21->e_cparhdr; puVar14 = (undefined8 *)((longlong)register0x00000020 + 8); } while (-1 < lVar13); } goto LAB_181487210; } LAB_1814872f1: *(uint *)((longlong)register0x00000020 + 0x5c) = uVar8; do { puVar15 = (undefined4 *)((longlong)register0x00000020 + 0x5c); *(undefined8 *)register0x00000020 = 0x181487327; uVar3 = FUN_18144c44b(&LAB_18113e030,&LAB_18113e030,&LAB_18113e030); *puVar15 = uVar3; uVar8 = (*(int *)(unaff_RBP + 0x98) + 1) * *(int *)(unaff_RBP + 0x98) & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = *(uint *)((longlong)register0x00000020 + 0x5c); uVar4 = uVar8 << 7 | uVar8 >> 0x19; uVar12 = (uVar4 << 8 | (uVar8 & 0x1ffffff) >> 0x11) & 0xba45ba45 | ((uVar8 & 0x1ffffff) >> 1 | uVar4 << 0x18) & 0x45ba45ba; uVar8 = (uVar12 >> 0x12 ^ uVar12) >> 0xd & 1; uVar8 = (((uVar8 << 0x12 | uVar8) << 0xd ^ uVar12) >> 10 | uVar12 << 0x16) + 0x7dd9de3e; uVar4 = (uVar8 >> 4 | uVar8 * 0x10000000) & 0x78787878; *(uint *)((longlong)register0x00000020 + 0x28) = (uVar8 * 0x10 | uVar8 >> 0x1c) & 0x87878787 | uVar4; *(undefined4 **)register0x00000020 = puVar16; lVar6 = (ulonglong)uVar9 + (ulonglong)uVar12; *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1814873e8; FUN_18148740c(uVar4,lVar6 - (((ulonglong)uVar12 - lVar6 ^ 0xffffffffffffffff) + 1)); lVar6 = *(longlong *)register0x00000020; *(longlong *)register0x00000020 = lVar6 + 0x112; *(longlong *)((longlong)register0x00000020 + -8) = lVar6 + -0x1abbc; *(longlong *)((longlong)register0x00000020 + -0x10) = lVar6 + -0x7d8d7; *(longlong *)((longlong)register0x00000020 + -0x18) = lVar6 + -0x1db44; *(longlong *)((longlong)register0x00000020 + -0x20) = lVar6 + 0x2dec7; *(longlong *)((longlong)register0x00000020 + -0x28) = lVar6 + 0x813ef; /* WARNING: Could not recover jumptable at 0x0001814874da. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar7 = (*(code *)(lVar6 + -0x5021))(); return uVar7; while (plVar11 = (longlong *)(lVar18 + lVar13), puVar14 = (undefined8 *)((longlong)register0x00000020 + 8), plVar11 < puVar16 + 1) { LAB_1814871e0: lVar1 = (lVar18 - (longlong)puVar16) + lVar13; lVar13 = *(longlong *)&pIVar20->e_cparhdr; pIVar20 = (IMAGE_DOS_HEADER *)&pIVar20->e_cparhdr; *(longlong *)(unaff_RBP + 0x30 + lVar1) = *plVar11 - lVar18; puVar14 = (undefined8 *)((longlong)register0x00000020 + 8); puVar15 = (undefined4 *)(unaff_RBP + 0x30); if (lVar13 < 0) break; } LAB_181487210: do { puVar19 = (uint *)((longlong)puVar14 + 0x20); uVar5 = 0xd814; uVar8 = *puVar19; *(undefined4 **)((longlong)puVar14 + -8) = puVar15; puVar2 = (undefined8 *)((longlong)puVar14 + -8); if ((((uVar8 & 0xc3) == 0) && (puVar2 = (undefined8 *)((longlong)puVar14 + -8), (uVar8 & 0xc3) == 0)) && (puVar2 = (undefined8 *)((longlong)puVar14 + -8), (uVar8 & 0xc3) == 0)) { puVar2 = (undefined8 *)((longlong)puVar14 + -8); } do { do { register0x00000020 = (BADSPACEBASE *)puVar2; puVar2 = (undefined8 *)register0x00000020; } while ((uVar5 & 0xc300) == 0); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x181487276; uVar8 = FUN_181487772(); *puVar19 = uVar8; puVar2 = (undefined8 *)((longlong)register0x00000020 + 8); } while (((uVar5 & 0xc3) != 0) || (puVar2 = (undefined8 *)((longlong)register0x00000020 + 8), (uVar5 & 0xc3) != 0)); uVar8 = (*(int *)(unaff_RBP + 0x98) + 1) * *(int *)(unaff_RBP + 0x98) & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar14 = (undefined8 *)((longlong)register0x00000020 + 8); puVar15 = *(undefined4 **)register0x00000020; } while (uVar8 != 0); lVar22 = lVar22 + 4; puVar16 = puVar16 + 1; uVar8 = *(int *)((longlong)register0x00000020 + 0x28) * 0x401 ^ (uint)(*(int *)((longlong)register0x00000020 + 0x28) * 0x401) >> 6; *(uint *)((longlong)register0x00000020 + 0x28) = uVar8; if (lVar6 == lVar22) goto code_r0x0001814872e1; goto LAB_181487170; code_r0x0001814872e1: uVar9 = *(uint *)((longlong)register0x00000020 + 0x38); goto LAB_1814872f1; } ############ FUN_ 18114b631 size=307 ############ void FUN_18114b631(void) { longlong unaff_retaddr; /* WARNING: Could not recover jumptable at 0x00018114b766. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(unaff_retaddr + -0xbb60))(); return; } ############ FUN_ 18123db10 size=180 ############ undefined8 * FUN_18123db10(undefined8 *param_1,longlong *param_2) { uint uVar1; longlong lVar2; int iVar3; int iVar4; undefined8 *_Dst; longlong *plVar5; *param_1 = 0; param_1[3] = param_2[3]; plVar5 = (longlong *)*param_2; if (plVar5 == (longlong *)0x0) { plVar5 = param_2 + 1; } iVar3 = (int)param_2[4] >> 5; lVar2 = (longlong)iVar3; if (-1 < iVar3) { do { uVar1 = *(uint *)((longlong)plVar5 + lVar2 * 4); if (uVar1 != 0) { iVar4 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar4 == 0; iVar4 = iVar4 + -1) { } } iVar4 = iVar3 * 0x20 + iVar4; goto LAB_18123db65; } iVar3 = iVar3 + -1; lVar2 = lVar2 + -1; } while (-1 < lVar2); } iVar4 = -1; LAB_18123db65: *(int *)(param_1 + 4) = iVar4; *(undefined1 *)((longlong)param_1 + 0x24) = *(undefined1 *)((longlong)param_2 + 0x24); if (4 < (ulonglong)param_1[3]) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } plVar5 = (longlong *)*param_2; if (plVar5 == (longlong *)0x0) { plVar5 = param_2 + 1; } _Dst = (undefined8 *)*param_1; if (_Dst == (undefined8 *)0x0) { _Dst = param_1 + 1; } memcpy(_Dst,plVar5,param_1[3] << 2); return param_1; } ############ FUN_ 1804d5cd0 size=204 ############ void FUN_1804d5cd0(longlong *param_1,int param_2) { undefined8 *puVar1; void *_Memory; undefined8 uVar2; undefined8 *puVar3; undefined8 *puVar4; if ((int)param_1[1] == param_2) { *(int *)(param_1 + 1) = param_2; return; } if (0 < param_2) { puVar3 = malloc((longlong)param_2 * 0x28); if (0 < *(int *)((longlong)param_1 + 0xc)) { puVar1 = puVar3 + 4; puVar4 = (undefined8 *)((longlong)puVar1 + *param_1 + (-0x20 - (longlong)puVar3)); *puVar3 = *puVar4; *puVar4 = 0; puVar3[3] = puVar4[3]; *(undefined4 *)puVar1 = *(undefined4 *)(puVar4 + 4); *(undefined1 *)((longlong)puVar3 + 0x24) = *(undefined1 *)((longlong)puVar4 + 0x24); uVar2 = puVar4[2]; puVar3[1] = puVar4[1]; puVar3[2] = uVar2; /* WARNING: Subroutine does not return */ free(*(void **)((longlong)puVar1 + *param_1 + (-0x20 - (longlong)puVar3))); } _Memory = (void *)*param_1; *param_1 = (longlong)puVar3; /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 1812bf720 size=95 ############ undefined8 FUN_1812bf720(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; uVar1 = 0xfffffffffffffffe; FUN_1812c37c0(*param_1); FUN_1812bf790(param_1,param_3,param_2,param_4,1,uVar1); return param_2; } ############ FUN_ 1812bf790 size=719 ############ bool FUN_1812bf790(longlong *param_1,undefined8 param_2,longlong param_3) { undefined8 *puVar1; bool bVar2; bool bVar3; char cVar4; int iVar5; longlong lVar6; longlong *plVar7; longlong *plVar8; undefined8 *puVar9; bool bVar10; longlong local_b8; undefined4 local_b0; undefined4 local_ac; longlong local_a8; undefined4 local_a0; undefined4 local_9c; longlong local_98 [2]; undefined1 local_88 [16]; longlong local_78 [2]; longlong local_68 [2]; undefined8 local_58; undefined1 local_50 [16]; undefined1 local_40 [24]; local_58 = 0xfffffffffffffffe; plVar7 = (longlong *)*param_1; puVar1 = (undefined8 *)plVar7[0x1a]; for (puVar9 = puVar1; puVar9 != puVar1 + *(int *)((longlong)plVar7 + 0xdc); puVar9 = puVar9 + 1) { if (param_1 == (longlong *)*puVar9) { iVar5 = (int)((longlong)puVar9 - (longlong)puVar1 >> 3); goto LAB_1812bf807; } } iVar5 = -1; LAB_1812bf807: bVar10 = iVar5 < 0; if (bVar10) { puVar1 = (undefined8 *)plVar7[0x1c]; for (puVar9 = puVar1; puVar9 != puVar1 + *(int *)((longlong)plVar7 + 0xec); puVar9 = puVar9 + 1) { if (param_1 == (longlong *)*puVar9) { iVar5 = (int)((longlong)puVar9 - (longlong)puVar1 >> 3); goto LAB_1812bf847; } } iVar5 = -1; } LAB_1812bf847: if (param_3 == 0) { plVar7 = (longlong *)FUN_1812c37c0(plVar7,local_50); bVar3 = false; bVar2 = true; } else { if (((*(int *)(param_3 + 0xc) != *(int *)((longlong)plVar7 + 0xdc)) || (*(int *)(param_3 + 0x1c) != *(int *)((longlong)plVar7 + 0xec))) || (cVar4 = (**(code **)(*plVar7 + 0x150))(plVar7,param_3), cVar4 == '\0')) { lVar6 = FUN_1812c37c0(*param_1,local_98); FUN_1804db7e0(param_3,lVar6); FUN_1804db7e0(param_3 + 0x10,lVar6 + 0x10); FUN_18047c500(local_88); FUN_18047c500(local_98); } FUN_1804db870(local_98,param_3); FUN_1804db870(local_88,param_3 + 0x10); plVar7 = local_98; bVar3 = true; bVar2 = false; } local_b8 = *plVar7; *plVar7 = 0; local_b0 = (int)plVar7[1]; local_ac = *(undefined4 *)((longlong)plVar7 + 0xc); plVar7[1] = 0; local_a8 = plVar7[2]; plVar7[2] = 0; local_a0 = (int)plVar7[3]; local_9c = *(undefined4 *)((longlong)plVar7 + 0x1c); plVar7[3] = 0; if (bVar2) { FUN_18047c500(local_40); FUN_18047c500(local_50); } if (bVar3) { FUN_18047c500(local_88); FUN_18047c500(local_98); } plVar7 = &local_b8; if (bVar10) { plVar7 = &local_a8; } lVar6 = (longlong)iVar5 * 0x28; iVar5 = FUN_18123c5f0(*plVar7 + lVar6,param_2); if (iVar5 == 0) { bVar10 = true; } else { FUN_1804db870(local_78,&local_b8); FUN_1804db870(local_68,&local_a8); plVar8 = local_78; if (bVar10) { plVar8 = local_68; } FUN_18123d980(*plVar8 + lVar6,param_2); FUN_1812c11e0(*param_1,local_78,&local_b8); if (param_3 != 0) { FUN_1804d7300(param_3,&local_b8); } iVar5 = FUN_18123c5f0(*plVar7 + lVar6,param_2); bVar10 = iVar5 == 0; FUN_18047c500(local_68); FUN_18047c500(local_78); } FUN_18047c500(&local_a8); FUN_18047c500(&local_b8); return bVar10; } ############ FUN_ 18047aa70 size=373 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18047aa70(longlong param_1,undefined8 *param_2,int param_3,undefined8 *param_4,int param_5) { longlong lVar1; undefined8 uVar2; undefined8 *puVar3; undefined1 auStack_b8 [32]; undefined8 *local_98 [2]; undefined8 *local_88 [2]; undefined8 local_78; void *local_70 [5]; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_b8; lVar1 = *(longlong *)(param_1 + 0x28); if ((param_3 <= *(int *)(lVar1 + 0xdc)) && (param_5 <= *(int *)(lVar1 + 0xec))) { FUN_1812c37c0(lVar1,local_98); if (0 < param_3) { puVar3 = (undefined8 *)FUN_1811330f0(local_70,*param_2); uVar2 = *local_98[0]; *local_98[0] = *puVar3; *puVar3 = uVar2; uVar2 = puVar3[2]; local_98[0][1] = puVar3[1]; local_98[0][2] = uVar2; local_98[0][3] = puVar3[3]; *(undefined4 *)(local_98[0] + 4) = *(undefined4 *)(puVar3 + 4); *(undefined1 *)((longlong)local_98[0] + 0x24) = *(undefined1 *)((longlong)puVar3 + 0x24); /* WARNING: Subroutine does not return */ free(local_70[0]); } if (0 < param_5) { puVar3 = (undefined8 *)FUN_1811330f0(local_70,*param_4); uVar2 = *local_88[0]; *local_88[0] = *puVar3; *puVar3 = uVar2; uVar2 = puVar3[2]; local_88[0][1] = puVar3[1]; local_88[0][2] = uVar2; local_88[0][3] = puVar3[3]; *(undefined4 *)(local_88[0] + 4) = *(undefined4 *)(puVar3 + 4); *(undefined1 *)((longlong)local_88[0] + 0x24) = *(undefined1 *)((longlong)puVar3 + 0x24); /* WARNING: Subroutine does not return */ free(local_70[0]); } FUN_1812c3920(*(undefined8 *)(param_1 + 0x28),local_98); FUN_18047c500(local_88); FUN_18047c500(local_98); } } ############ FUN_ 1812c3920 size=1014 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812c3920(longlong *param_1,longlong param_2) { void *_Memory; char cVar1; int iVar2; longlong *plVar3; uint uVar4; longlong *plVar5; longlong lVar6; longlong lVar7; longlong lVar8; undefined8 *puVar9; ulonglong uVar10; uint uVar11; ulonglong uVar12; int iVar13; ulonglong uVar14; undefined8 *puVar15; longlong lVar16; ulonglong uVar17; ulonglong uVar18; ulonglong uVar19; bool bVar20; undefined1 auStack_f8 [32]; int local_d8; uint local_d4; uint local_d0; longlong *local_c8; longlong local_c0; uint local_b4; longlong local_b0; uint local_a4; longlong *local_a0; longlong local_98 [2]; longlong local_88 [2]; undefined8 local_78; undefined8 local_68; undefined8 uStack_60; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_f8; iVar13 = *(int *)((longlong)param_1 + 0xdc); local_a0 = param_1 + 0x1c; uVar4 = *(uint *)((longlong)param_1 + 0xec); uVar18 = (ulonglong)(int)uVar4; local_d8 = iVar13; local_d0 = uVar4; local_c8 = param_1; FUN_1804db870(&local_c0); FUN_1804db870(&local_b0,param_2 + 0x10); FUN_1812c37c0(param_1,local_98); uVar11 = 0; if (0 < iVar13) { lVar8 = 0; lVar7 = local_c0; do { if ((local_b4 <= uVar11) || (iVar2 = FUN_18123d3f0(lVar8 + lVar7), iVar2 == 0)) { FUN_18123d980(lVar8 + lVar7,lVar8 + local_98[0]); lVar7 = local_c0; } uVar11 = uVar11 + 1; lVar8 = lVar8 + 0x28; } while ((int)uVar11 < iVar13); } uVar11 = 0; if (0 < (int)uVar4) { lVar8 = 0; uVar10 = uVar18; lVar7 = local_b0; do { if (uVar11 < local_a4) { iVar13 = 0; lVar16 = *(longlong *)(lVar8 + lVar7); if (lVar16 == 0) { lVar16 = lVar7 + 8 + lVar8; } iVar2 = *(int *)(lVar8 + 0x20 + lVar7) >> 5; lVar6 = (longlong)iVar2; if (iVar2 < 0) goto LAB_1812c3a8d; do { uVar4 = *(uint *)(lVar16 + lVar6 * 4); uVar4 = uVar4 - (uVar4 >> 1 & 0x55555555); uVar4 = (uVar4 >> 2 & 0x33333333) + (uVar4 & 0x33333333); uVar4 = (uVar4 >> 4) + uVar4 & 0xf0f0f0f; uVar4 = uVar4 + (uVar4 >> 8); iVar13 = iVar13 + (uVar4 + (uVar4 >> 0x10) & 0x3f); lVar6 = lVar6 + -1; } while (-1 < lVar6); if (iVar13 == 0) goto LAB_1812c3a8d; } else { LAB_1812c3a8d: FUN_18123d980(lVar7 + (longlong)(int)uVar11 * 0x28, local_88[0] + (longlong)(int)uVar11 * 0x28); lVar7 = local_b0; } uVar11 = uVar11 + 1; lVar8 = lVar8 + 0x28; uVar10 = uVar10 - 1; iVar13 = local_d8; } while (uVar10 != 0); } plVar3 = local_c8; if (((local_b4 == *(uint *)((longlong)local_c8 + 0xdc)) && (local_a4 == *(uint *)((longlong)local_c8 + 0xec))) && (cVar1 = (**(code **)(*local_c8 + 0x150))(local_c8,&local_c0), cVar1 != '\0')) { uVar17 = 0; local_d4 = 0; uVar10 = uVar17; do { bVar20 = (uint)uVar10 != 0; iVar2 = (int)uVar18; if (bVar20) { iVar2 = iVar13; } uVar18 = uVar17; uVar12 = uVar17; uVar19 = uVar17; uVar4 = (uint)uVar10; if (0 < iVar2) { do { plVar5 = local_a0; if (bVar20) { plVar5 = plVar3 + 0x1a; } uVar10 = uVar17; if ((uint)uVar18 < *(uint *)((longlong)plVar5 + 0xc)) { uVar10 = *(ulonglong *)(*plVar5 + uVar12 * 8); } plVar3 = &local_c0; if (!bVar20) { plVar3 = &local_b0; } puVar9 = (undefined8 *)(*plVar3 + uVar19); lVar7 = *(longlong *)(uVar10 + 0x10); if (lVar7 == 0) { lVar7 = uVar10 + 0x18; } iVar13 = *(int *)(uVar10 + 0x30) >> 5; lVar8 = (longlong)iVar13; uVar14 = uVar17; uVar4 = 0; if (-1 < iVar13) { do { uVar4 = *(uint *)(lVar7 + lVar8 * 4); uVar4 = uVar4 - (uVar4 >> 1 & 0x55555555); uVar4 = (uVar4 >> 2 & 0x33333333) + (uVar4 & 0x33333333); uVar4 = (uVar4 >> 4) + uVar4 & 0xf0f0f0f; uVar4 = uVar4 + (uVar4 >> 8); uVar4 = (int)uVar14 + (uVar4 + (uVar4 >> 0x10) & 0x3f); uVar14 = (ulonglong)uVar4; lVar8 = lVar8 + -1; } while (-1 < lVar8); } if (uVar4 == 0) { puVar15 = (undefined8 *)*puVar9; if (puVar15 == (undefined8 *)0x0) { puVar15 = puVar9 + 1; } lVar7 = (longlong)(*(int *)(puVar9 + 4) >> 5); if (-1 < *(int *)(puVar9 + 4) >> 5) { do { uVar4 = *(uint *)((longlong)puVar15 + lVar7 * 4); uVar4 = uVar4 - (uVar4 >> 1 & 0x55555555); uVar4 = (uVar4 >> 2 & 0x33333333) + (uVar4 & 0x33333333); uVar4 = (uVar4 >> 4) + uVar4 & 0xf0f0f0f; uVar4 = uVar4 + (uVar4 >> 8); uVar17 = (ulonglong)((int)uVar17 + (uVar4 + (uVar4 >> 0x10) & 0x3f)); lVar7 = lVar7 + -1; } while (-1 < lVar7); } if ((int)uVar17 != 0) { FUN_18123d980(uVar10 + 0x60,puVar9); } local_68 = 0; uStack_60 = 0; _Memory = (void *)*puVar9; *puVar9 = 0; puVar9[1] = 0; puVar9[2] = 0; puVar9[3] = 4; *(undefined4 *)(puVar9 + 4) = 0xffffffff; *(undefined1 *)((longlong)puVar9 + 0x24) = 0; /* WARNING: Subroutine does not return */ free(_Memory); } uVar12 = uVar12 + 1; plVar3 = local_c8; uVar18 = (ulonglong)((uint)uVar18 + 1); uVar19 = uVar19 + 0x28; iVar13 = local_d8; uVar4 = local_d4; } while ((longlong)uVar12 < (longlong)iVar2); } local_d4 = uVar4 + 1; uVar10 = (ulonglong)local_d4; uVar18 = (ulonglong)local_d0; } while ((int)local_d4 < 2); FUN_1812c1e90(plVar3,&local_c0); } FUN_18047c500(local_88); FUN_18047c500(local_98); FUN_18047c500(&local_b0); FUN_18047c500(&local_c0); } ############ FUN_ 1812c1e90 size=266 ############ undefined1 FUN_1812c1e90(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { code *pcVar1; bool bVar2; char cVar3; undefined1 uVar4; longlong lVar5; undefined1 local_50 [16]; undefined1 local_40 [16]; undefined1 local_30 [16]; undefined1 local_20 [24]; lVar5 = FUN_1812c37c0(param_1,local_30,param_3,param_4,0xfffffffffffffffe); cVar3 = FUN_1804df970(param_2,lVar5); if (cVar3 != '\0') { cVar3 = FUN_1804df970(param_2 + 0x10,lVar5 + 0x10); if (cVar3 != '\0') { bVar2 = true; goto LAB_1812c1ee2; } } bVar2 = false; LAB_1812c1ee2: FUN_18047c500(local_20); FUN_18047c500(local_30); if (bVar2) { return 1; } FUN_1804db870(local_50,param_2); FUN_1804db870(local_40,param_2 + 0x10); pcVar1 = *(code **)(*param_1 + 0x158); if (pcVar1 == FUN_1804d7030) { cVar3 = (**(code **)(*param_1 + 0x150))(); } else { cVar3 = (*pcVar1)(param_1,local_50); } if (cVar3 == '\0') { uVar4 = 0; } else { uVar4 = (**(code **)(*param_1 + 0x160))(param_1,local_50); } FUN_18047c500(local_40); FUN_18047c500(local_50); return uVar4; } ############ FUN_ 1812c0e30 size=525 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812c0e30(longlong *param_1,int param_2,int param_3,longlong param_4,undefined4 param_5) { void *pvVar1; int iVar2; undefined8 uVar3; undefined1 auStack_b8 [32]; longlong local_98; int local_8c; longlong local_88; int local_7c; undefined8 local_78; void *local_70; undefined8 local_68; undefined8 uStack_60; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_b8; if ((int)param_1[0x20] != param_2) { uVar3 = FUN_1812b1fe0(&local_70); if ((*(int *)((longlong)param_1 + 0xdc) != 0) && (*(longlong *)param_1[0x1a] != 0)) { FUN_1812bf720(*(longlong *)param_1[0x1a],&local_98,uVar3); iVar2 = FUN_18123c5f0(local_98,uVar3); if (iVar2 == 0) { (**(code **)(*param_1 + 0x160))(param_1,&local_98); } FUN_18047c500(&local_88); FUN_18047c500(&local_98); } /* WARNING: Subroutine does not return */ free(local_70); } if (*(int *)((longlong)param_1 + 0x104) != param_3) { uVar3 = FUN_1812b1fe0(&local_70,param_3); if ((*(int *)((longlong)param_1 + 0xec) != 0) && (*(longlong *)param_1[0x1c] != 0)) { FUN_1812bf720(*(longlong *)param_1[0x1c],&local_98,uVar3); iVar2 = FUN_18123c5f0(local_88,uVar3); if (iVar2 == 0) { (**(code **)(*param_1 + 0x160))(param_1,&local_98); } FUN_18047c500(&local_88); FUN_18047c500(&local_98); } /* WARNING: Subroutine does not return */ free(local_70); } FUN_1812c37c0(param_1,&local_98); if (1 < local_8c) { local_68 = 0; uStack_60 = 0; pvVar1 = *(void **)(local_98 + 0x28); *(undefined8 *)(local_98 + 0x28) = 0; *(undefined8 *)(local_98 + 0x30) = 0; *(undefined8 *)(local_98 + 0x38) = 0; *(undefined8 *)(local_98 + 0x40) = 4; *(undefined4 *)(local_98 + 0x48) = 0xffffffff; *(undefined1 *)(local_98 + 0x4c) = 0; /* WARNING: Subroutine does not return */ free(pvVar1); } if (1 < local_7c) { local_68 = 0; uStack_60 = 0; pvVar1 = *(void **)(local_88 + 0x28); *(undefined8 *)(local_88 + 0x28) = 0; *(undefined8 *)(local_88 + 0x30) = 0; *(undefined8 *)(local_88 + 0x38) = 0; *(undefined8 *)(local_88 + 0x40) = 4; *(undefined4 *)(local_88 + 0x48) = 0xffffffff; *(undefined1 *)(local_88 + 0x4c) = 0; /* WARNING: Subroutine does not return */ free(pvVar1); } FUN_1812c1e90(param_1,&local_98); FUN_18047c500(&local_88); FUN_18047c500(&local_98); param_1[6] = param_4; *(undefined4 *)(param_1 + 7) = param_5; } ############ FUN_ 1812c05b0 size=247 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812c05b0(undefined8 param_1) { void *pvVar1; undefined1 auStack_98 [32]; longlong local_78; int local_6c; longlong local_68; int local_5c; undefined8 local_58; undefined8 local_48; undefined8 uStack_40; ulonglong local_28; local_58 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_98; FUN_1812c37c0(param_1,&local_78); if (1 < local_6c) { local_48 = 0; uStack_40 = 0; pvVar1 = *(void **)(local_78 + 0x28); *(undefined8 *)(local_78 + 0x28) = 0; *(undefined8 *)(local_78 + 0x30) = 0; *(undefined8 *)(local_78 + 0x38) = 0; *(undefined8 *)(local_78 + 0x40) = 4; *(undefined4 *)(local_78 + 0x48) = 0xffffffff; *(undefined1 *)(local_78 + 0x4c) = 0; /* WARNING: Subroutine does not return */ free(pvVar1); } if (1 < local_5c) { local_48 = 0; uStack_40 = 0; pvVar1 = *(void **)(local_68 + 0x28); *(undefined8 *)(local_68 + 0x28) = 0; *(undefined8 *)(local_68 + 0x30) = 0; *(undefined8 *)(local_68 + 0x38) = 0; *(undefined8 *)(local_68 + 0x40) = 4; *(undefined4 *)(local_68 + 0x48) = 0xffffffff; *(undefined1 *)(local_68 + 0x4c) = 0; /* WARNING: Subroutine does not return */ free(pvVar1); } FUN_1812c1e90(param_1,&local_78); FUN_18047c500(&local_68); FUN_18047c500(&local_78); } ############ FUN_ 18135fd70 size=293 ############ void FUN_18135fd70(longlong param_1,longlong param_2) { int iVar1; undefined8 uVar2; undefined1 auStack_168 [48]; undefined1 local_138; undefined1 local_135; undefined4 local_130; undefined4 local_128; longlong local_100; longlong local_e0; longlong local_d8; uint local_cc; undefined8 local_b8; undefined1 local_b0 [40]; void *local_88 [5]; ulonglong local_60; local_b8 = 0xfffffffffffffffe; local_60 = DAT_182615970 ^ (ulonglong)auStack_168; local_100 = param_2; local_e0 = param_1; FUN_1812c37c0(param_1,&local_d8); if (local_cc == 0) { local_128 = 0; } else { local_128 = FUN_18123d3f0(local_d8); } if (1 < local_cc) { FUN_18123d3f0(local_d8 + 0x28); } local_130 = *(undefined4 *)(param_2 + 4); if ((local_cc != 2) || (local_138 = 1, *(char *)(*(longlong *)(param_1 + 0x168) + 0x1b5) == '\0')) { local_138 = 0; } FUN_18124a040(local_b0,8); uVar2 = FUN_1804db6f0(&local_d8,local_88,1); iVar1 = FUN_18123c5f0(uVar2,local_b0); local_135 = iVar1 == 0; /* WARNING: Subroutine does not return */ free(local_88[0]); } ############ FUN_ 18047a7a0 size=245 ############ undefined8 FUN_18047a7a0(longlong param_1,int param_2,int param_3,uint param_4,undefined4 *param_5) { longlong lVar1; undefined4 uVar2; longlong *plVar3; longlong lVar4; if (param_2 == 0) { if ((int)param_4 < 0) { return 1; } lVar1 = *(longlong *)(param_1 + 0x30); lVar4 = lVar1 + 0xd0; if (param_3 != 0) { lVar4 = lVar1 + 0xe0; } if (*(int *)(lVar4 + 0xc) <= (int)param_4) { return 1; } if (param_3 == 0) { plVar3 = (longlong *)(lVar1 + 0xd0); } else { plVar3 = (longlong *)(lVar1 + 0xe0); } if ((param_4 < *(uint *)((longlong)plVar3 + 0xc)) && (lVar4 = *(longlong *)(*plVar3 + (longlong)(int)param_4 * 8), lVar4 != 0)) { *param_5 = 0; param_5[1] = param_3; uVar2 = FUN_18123d3f0(lVar4 + 0x60); param_5[2] = uVar2; FUN_1804741b0(param_5 + 3,lVar4 + 8); param_5[0x43] = (uint)(param_4 != 0); param_5[0x44] = (uint)(*(char *)(lVar4 + 0x88) != '\0'); return 0; } } else if (param_2 == 1) { param_5[0x44] = 1; } memset(param_5,0,0x114); return 1; } ############ FUN_ 18047a8a0 size=435 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18047a8a0(longlong param_1,int param_2,int param_3,uint param_4,char param_5) { longlong lVar1; int iVar2; longlong lVar3; longlong *plVar4; void **ppvVar5; uint uVar6; char cVar7; undefined1 auStack_98 [32]; uint local_78; undefined8 local_70; void *local_68; undefined8 local_60; undefined8 local_58; undefined8 local_50; undefined8 local_48; void *local_40 [5]; ulonglong local_18; local_70 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_98; local_78 = 0; if (param_2 == 1) { if (param_4 == 0) { if (param_3 == 0) { *(bool *)(param_1 + 0x358) = param_5 != '\0'; } else { *(bool *)(param_1 + 0x359) = param_5 != '\0'; } } } else if ((param_2 == 0) && (-1 < (int)param_4)) { lVar1 = *(longlong *)(param_1 + 0x30); lVar3 = lVar1 + 0xd0; if (param_3 != 0) { lVar3 = lVar1 + 0xe0; } if ((int)param_4 < *(int *)(lVar3 + 0xc)) { plVar4 = (longlong *)(lVar1 + 0xd0); if (param_3 != 0) { plVar4 = (longlong *)(lVar1 + 0xe0); } if ((param_4 < *(uint *)((longlong)plVar4 + 0xc)) && (lVar3 = *(longlong *)(*plVar4 + (longlong)(int)param_4 * 8), lVar3 != 0)) { cVar7 = param_5 != '\0'; iVar2 = FUN_18123d3f0(lVar3 + 0x10); if ((iVar2 != 0) != (bool)cVar7) { if (cVar7 == '\0') { local_68 = (void *)0x0; local_50 = 4; local_48 = 0xffffffff; local_60 = 0; local_58 = 0; ppvVar5 = &local_68; uVar6 = 2; } else { FUN_18123db10(local_40,lVar3 + 0x60); ppvVar5 = local_40; uVar6 = 1; } local_78 = uVar6; FUN_1812bfa70(lVar3,ppvVar5); if ((uVar6 & 2) != 0) { /* WARNING: Subroutine does not return */ free(local_68); } if ((uVar6 & 1) != 0) { /* WARNING: Subroutine does not return */ free(local_40[0]); } } } } } } ############ FUN_ 1812c11e0 size=2929 ############ /* WARNING: Removing unreachable block (ram,0x0001812c18e7) */ /* WARNING: Removing unreachable block (ram,0x0001812c1903) */ /* WARNING: Removing unreachable block (ram,0x0001812c195b) */ /* WARNING: Removing unreachable block (ram,0x0001812c1a01) */ /* WARNING: Removing unreachable block (ram,0x0001812c1a14) */ /* WARNING: Removing unreachable block (ram,0x0001812c1a70) */ void FUN_1812c11e0(longlong *param_1,longlong *param_2,longlong param_3) { bool bVar1; char cVar2; int iVar3; uint uVar4; longlong *plVar5; uint uVar6; int iVar7; longlong lVar8; longlong lVar9; longlong lVar10; longlong lVar11; int iVar12; int iVar13; ulonglong uVar14; undefined4 uVar15; longlong lVar16; uint local_res20; longlong local_1d8; undefined4 local_1d0; int local_1cc; longlong local_1c8; undefined4 local_1c0; int local_1bc; longlong local_1b8; undefined4 local_1b0; int local_1ac; longlong local_1a8; undefined4 local_1a0; int local_19c; longlong local_198; undefined4 local_190; int iStack_18c; longlong local_188; undefined8 local_180; int local_178; longlong local_170; undefined8 local_168; longlong local_160; undefined8 local_158; longlong local_150; undefined8 local_148; longlong local_140; undefined8 local_138; longlong local_130; longlong local_128; undefined4 local_120; int local_11c; longlong local_118; undefined4 local_110; int local_10c; longlong local_108; undefined4 local_100; int local_fc; longlong local_f8; undefined4 local_f0; int local_ec; longlong local_e8; undefined4 local_e0; int local_dc; longlong local_d8; undefined4 local_d0; int local_cc; longlong local_c8; undefined4 local_c0; int local_bc; longlong local_b8; undefined4 local_b0; int local_ac; longlong *local_a8; longlong *local_a0; longlong local_98; longlong local_90; longlong local_88; longlong *local_80; longlong local_78; longlong local_70 [2]; longlong local_60 [2]; undefined8 local_50; local_50 = 0xfffffffffffffffe; if (((*(int *)((longlong)param_2 + 0xc) == *(int *)((longlong)param_1 + 0xdc)) && (*(int *)((longlong)param_2 + 0x1c) == *(int *)((longlong)param_1 + 0xec))) && (cVar2 = (**(code **)(*param_1 + 0x150))(), cVar2 != '\0')) { FUN_1804d7300(param_3,param_2); } else { FUN_1804db870(local_70,param_3); FUN_1804db870(local_60,param_3 + 0x10); FUN_1804db870(&local_1b8,local_70); FUN_1804db870(&local_1a8,local_60); FUN_1804db870(&local_1d8,&local_1b8); FUN_1804db870(&local_1c8,&local_1a8); local_178 = 0; do { bVar1 = 0 < local_178; local_a0 = &local_1b8; if (!bVar1) { local_a0 = &local_1a8; } local_80 = &local_1d8; if (!bVar1) { local_80 = &local_1c8; } local_a8 = param_2; if (!bVar1) { local_a8 = param_2 + 2; } plVar5 = local_70; if (local_178 < 1) { plVar5 = local_60; } local_res20 = 0; local_130 = 0; if (0 < *(int *)((longlong)local_a8 + 0xc)) { local_78 = *plVar5; do { local_98 = (longlong)(int)local_res20 * 0x28; local_88 = *local_80 + local_98; local_90 = *local_a8 + local_98; iVar3 = FUN_18123c5f0(local_98 + local_78); iVar12 = local_1cc; if (iVar3 != 0) { local_170 = 0; local_168 = 0; iVar3 = 0; uVar15 = 0; if (0 < local_1cc) { iVar3 = local_1cc; if (local_1cc < 0) { iVar3 = local_1cc + 1; } FUN_1804d5cd0(&local_170,local_1cc + 8 + (iVar3 >> 1) & 0xfffffff8); iVar3 = local_168._4_4_; uVar15 = (undefined4)local_168; } lVar11 = local_170; iVar12 = iVar12 + -1; if (-1 < iVar12) { lVar16 = ((longlong)iVar3 * 0x28 - local_1d8) + local_170; lVar9 = local_1d8; do { FUN_18123db10(lVar16 + lVar9,lVar9); lVar9 = lVar9 + 0x28; iVar12 = iVar12 + -1; } while (-1 < iVar12); } local_170 = local_1b8; local_168 = CONCAT44(local_1ac,local_1b0); local_1b8 = lVar11; local_1b0 = uVar15; local_1ac = iVar3 + local_1cc; FUN_18047c500(&local_170); iVar12 = local_1bc; local_160 = 0; local_158 = 0; iVar3 = 0; uVar15 = 0; if (0 < local_1bc) { iVar3 = local_1bc; if (local_1bc < 0) { iVar3 = local_1bc + 1; } FUN_1804d5cd0(&local_160,local_1bc + 8 + (iVar3 >> 1) & 0xfffffff8); iVar3 = local_158._4_4_; uVar15 = (undefined4)local_158; } lVar11 = local_160; iVar13 = iVar12 + -1; if (-1 < iVar13) { lVar16 = ((longlong)iVar3 * 0x28 - local_1c8) + local_160; lVar9 = local_1c8; do { FUN_18123db10(lVar16 + lVar9,lVar9); lVar9 = lVar9 + 0x28; iVar13 = iVar13 + -1; iVar12 = local_1bc; } while (-1 < iVar13); } local_160 = local_1a8; local_158 = CONCAT44(local_19c,local_1a0); local_1a8 = lVar11; local_1a0 = uVar15; local_19c = iVar3 + iVar12; FUN_18047c500(&local_160); lVar9 = local_90; lVar11 = local_98; lVar16 = *local_a0 + local_98; FUN_18123d980(lVar16,local_90); if ((local_1ac == *(int *)((longlong)param_1 + 0xdc)) && (local_19c == *(int *)((longlong)param_1 + 0xec))) { cVar2 = (**(code **)(*param_1 + 0x150))(param_1,&local_1b8); iVar3 = local_1ac; lVar10 = local_1b8; if (cVar2 == '\0') goto LAB_1812c1669; local_150 = 0; local_148 = 0; iVar12 = 0; if (0 < local_1ac) { iVar12 = local_1ac; if (local_1ac < 0) { iVar12 = local_1ac + 1; } FUN_1804d5cd0(&local_150,local_1ac + 8 + (iVar12 >> 1) & 0xfffffff8); iVar12 = local_148._4_4_; } lVar11 = local_150; iVar13 = iVar3 + -1; if (-1 < iVar13) { lVar9 = ((longlong)iVar12 * 0x28 - lVar10) + local_150; do { FUN_18123db10(lVar9 + lVar10,lVar10); lVar10 = lVar10 + 0x28; iVar13 = iVar13 + -1; } while (-1 < iVar13); } uVar15 = local_1d0; local_150 = local_1d8; local_1d0 = (undefined4)local_148; local_148 = CONCAT44(local_1cc,uVar15); local_1d8 = lVar11; local_1cc = iVar12 + iVar3; FUN_18047c500(&local_150); iVar12 = local_19c; lVar11 = local_1a8; local_140 = 0; local_138 = 0; iVar3 = 0; if (0 < local_19c) { iVar3 = local_19c; if (local_19c < 0) { iVar3 = local_19c + 1; } FUN_1804d5cd0(&local_140,local_19c + 8 + (iVar3 >> 1) & 0xfffffff8); iVar3 = local_138._4_4_; } lVar9 = local_140; iVar13 = iVar12 + -1; if (-1 < iVar13) { lVar16 = ((longlong)iVar3 * 0x28 - lVar11) + local_140; do { FUN_18123db10(lVar16 + lVar11,lVar11); lVar11 = lVar11 + 0x28; iVar13 = iVar13 + -1; } while (-1 < iVar13); } uVar15 = local_1c0; local_140 = local_1c8; local_1c0 = (undefined4)local_138; local_138 = CONCAT44(local_1bc,uVar15); plVar5 = &local_140; local_1c8 = lVar9; local_1bc = iVar3 + iVar12; } else { LAB_1812c1669: plVar5 = param_1 + 0x1a; if (bVar1) { plVar5 = param_1 + 0x1c; } if ((int)local_res20 < *(int *)((longlong)plVar5 + 0xc)) { plVar5 = &local_1b8; if (bVar1) { plVar5 = &local_1a8; } lVar10 = *plVar5; FUN_18123d980(lVar11 + lVar10,lVar9); if (((local_1ac == *(int *)((longlong)param_1 + 0xdc)) && (local_19c == *(int *)((longlong)param_1 + 0xec))) && (cVar2 = (**(code **)(*param_1 + 0x150))(param_1,&local_1b8), cVar2 != '\0')) { FUN_1804db870(&local_128,&local_1b8); iVar3 = local_1cc; uVar15 = local_1d0; lVar11 = local_1d8; local_1d8 = local_128; local_128 = lVar11; local_1d0 = local_120; local_120 = uVar15; local_1cc = local_11c; local_11c = iVar3; FUN_18047c500(&local_128); FUN_1804db870(&local_118,&local_1a8); uVar15 = local_1c0; lVar11 = local_1c8; local_1c8 = local_118; local_118 = lVar11; local_1c0 = local_110; local_110 = uVar15; local_1bc = local_10c; plVar5 = &local_118; local_10c = iVar12; goto LAB_1812c1cc7; } plVar5 = param_1 + 0x1a; if (bVar1) { plVar5 = param_1 + 0x1c; } if (local_res20 < *(uint *)((longlong)plVar5 + 0xc)) { lVar8 = *(longlong *)(*plVar5 + local_130 * 8); } else { lVar8 = 0; } FUN_18123d980(lVar11 + lVar10,lVar8 + 0x38); if ((local_1ac == *(int *)((longlong)param_1 + 0xdc)) && (local_19c == *(int *)((longlong)param_1 + 0xec))) { cVar2 = (**(code **)(*param_1 + 0x150))(param_1,&local_1b8); if (cVar2 != '\0') { FUN_1804db870(&local_108,&local_1b8); iVar3 = local_1cc; uVar15 = local_1d0; lVar11 = local_1d8; local_1d8 = local_108; local_108 = lVar11; local_1d0 = local_100; local_100 = uVar15; local_1cc = local_fc; local_fc = iVar3; FUN_18047c500(&local_108); FUN_1804db870(&local_f8,&local_1a8); uVar15 = local_1c0; lVar11 = local_1c8; local_1c8 = local_f8; local_f8 = lVar11; local_1c0 = local_f0; local_f0 = uVar15; local_1bc = local_ec; plVar5 = &local_f8; local_ec = iVar12; goto LAB_1812c1cc7; } } } lVar11 = 0; iVar3 = 0; iVar12 = 0; iVar13 = 0; local_198 = 0; _local_190 = 0; local_188 = 0; local_180 = 0; uVar4 = FUN_1804731d0(param_1,1); uVar14 = (ulonglong)uVar4; if (0 < (int)uVar4) { uVar6 = uVar4; if ((int)uVar4 < 0) { uVar6 = uVar4 + 1; } FUN_1804d5cd0(&local_198,uVar4 + 8 + ((int)uVar6 >> 1) & 0xfffffff8); lVar11 = local_198 + (longlong)iStack_18c * 0x28; if (0 < (int)uVar4) { do { FUN_18123db10(lVar11,lVar9); uVar14 = uVar14 - 1; lVar11 = lVar11 + 0x28; } while (uVar14 != 0); } iVar3 = iStack_18c + uVar4; _local_190 = CONCAT44(iVar3,local_190); lVar11 = local_188; iVar13 = (int)local_180; iVar12 = local_180._4_4_; } uVar4 = FUN_1804731d0(param_1,0); uVar14 = (ulonglong)uVar4; if (0 < (int)uVar4) { iVar7 = uVar4 + iVar12; if (iVar13 < iVar7) { iVar12 = iVar7; if (iVar7 < 0) { iVar12 = iVar7 + 1; } FUN_1804d5cd0(&local_188,iVar7 + 8 + (iVar12 >> 1) & 0xfffffff8); lVar11 = local_188; iVar12 = local_180._4_4_; iVar3 = iStack_18c; } lVar11 = lVar11 + (longlong)iVar12 * 0x28; if (0 < (int)uVar4) { do { FUN_18123db10(lVar11,lVar9); uVar14 = uVar14 - 1; lVar11 = lVar11 + 0x28; } while (uVar14 != 0); iVar12 = local_180._4_4_; iVar3 = iStack_18c; } iVar12 = iVar12 + uVar4; local_180 = CONCAT44(iVar12,(int)local_180); } if (((iVar3 == *(int *)((longlong)param_1 + 0xdc)) && (iVar12 == *(int *)((longlong)param_1 + 0xec))) && (cVar2 = (**(code **)(*param_1 + 0x150))(param_1,&local_198), cVar2 != '\0')) { FUN_1804db870(&local_e8,&local_198); iVar12 = local_1cc; uVar15 = local_1d0; lVar11 = local_1d8; local_1d8 = local_e8; local_e8 = lVar11; local_1d0 = local_e0; local_e0 = uVar15; local_1cc = local_dc; local_dc = iVar12; FUN_18047c500(&local_e8); FUN_1804db870(&local_d8,&local_188); iVar12 = local_1bc; uVar15 = local_1c0; lVar11 = local_1c8; local_1c8 = local_d8; local_d8 = lVar11; local_1c0 = local_d0; local_d0 = uVar15; local_1bc = local_cc; local_cc = iVar12; plVar5 = &local_d8; LAB_1812c1cb2: FUN_18047c500(plVar5); } else { iVar12 = FUN_18123d3f0(local_88); iVar3 = FUN_18123d3f0(lVar9); uVar4 = iVar12 - iVar3 >> 0x1f; plVar5 = param_1 + 0x1a; if (!bVar1) { plVar5 = param_1 + 0x1c; } if (local_res20 < *(uint *)((longlong)plVar5 + 0xc)) { lVar11 = *(longlong *)(*plVar5 + local_130 * 8); } else { lVar11 = 0; } iVar13 = FUN_18123d3f0(lVar11 + 0x38); iVar7 = FUN_18123d3f0(lVar9); uVar6 = iVar13 - iVar7 >> 0x1f; if ((((int)((iVar13 - iVar7 ^ uVar6) - uVar6) < (int)((iVar12 - iVar3 ^ uVar4) - uVar4)) && (FUN_18123d980(lVar16,lVar11 + 0x38), local_1ac == *(int *)((longlong)param_1 + 0xdc))) && ((local_19c == *(int *)((longlong)param_1 + 0xec) && (cVar2 = (**(code **)(*param_1 + 0x150))(param_1,&local_1b8), cVar2 != '\0')))) { FUN_1804db870(&local_c8,&local_1b8); iVar12 = local_1cc; uVar15 = local_1d0; lVar11 = local_1d8; local_1d8 = local_c8; local_c8 = lVar11; local_1d0 = local_c0; local_c0 = uVar15; local_1cc = local_bc; local_bc = iVar12; FUN_18047c500(&local_c8); FUN_1804db870(&local_b8,&local_1a8); iVar12 = local_1bc; uVar15 = local_1c0; lVar11 = local_1c8; local_1c8 = local_b8; local_b8 = lVar11; local_1c0 = local_b0; local_b0 = uVar15; local_1bc = local_ac; local_ac = iVar12; plVar5 = &local_b8; goto LAB_1812c1cb2; } } FUN_18047c500(&local_188); plVar5 = &local_198; } LAB_1812c1cc7: FUN_18047c500(plVar5); } local_res20 = local_res20 + 1; local_130 = local_130 + 1; } while ((int)local_res20 < *(int *)((longlong)local_a8 + 0xc)); } local_178 = local_178 + 1; } while (local_178 < 2); FUN_1804d7300(param_3,&local_1d8); FUN_18047c500(&local_1c8); FUN_18047c500(&local_1d8); FUN_18047c500(&local_1a8); FUN_18047c500(&local_1b8); FUN_18047c500(local_60); FUN_18047c500(local_70); } return; } ############ FUN_ 180543ad0 size=81 ############ undefined8 FUN_180543ad0(longlong param_1,undefined8 param_2) { int iVar1; int iVar2; iVar1 = *(int *)(param_1 + 0x20); param_1 = param_1 + 0x88; iVar2 = FUN_18123d3f0(param_1); if (iVar2 == iVar1) { FUN_18123db10(param_2,param_1); return param_2; } FUN_18053f520(param_2,iVar1); return param_2; } ############ FUN_ 180543eb0 size=469 ############ undefined8 * FUN_180543eb0(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, undefined4 param_5,longlong param_6) { uint *_Memory; uint uVar1; undefined4 uVar2; undefined8 *puVar3; undefined8 uVar4; longlong local_res18 [2]; void *local_100 [25]; FUN_18049c4e0(local_res18,"WAV file"); *param_1 = juce::AudioFormatWriter::vftable; param_1[1] = param_3; uVar2 = FUN_18123d3f0(param_4); *(undefined4 *)(param_1 + 2) = uVar2; *(undefined4 *)((longlong)param_1 + 0x14) = param_5; *(undefined1 *)(param_1 + 3) = 0; FUN_18123db10(param_1 + 4,param_4); param_1[9] = param_2; param_1[10] = local_res18[0]; _Memory = (uint *)(local_res18[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::WavAudioFormatWriter::vftable; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; param_1[0x15] = 0; param_1[0x16] = 0; param_1[0x17] = 0; param_1[0x18] = 0; param_1[0x19] = 0; param_1[0x1a] = 0; param_1[0x1b] = 0; param_1[0x1c] = 0; param_1[0x1d] = 0; param_1[0x1e] = 0; param_1[0x1f] = 0; param_1[0x20] = 0; param_1[0x21] = 0; *(undefined1 *)(param_1 + 0x22) = 0; if (0 < *(int *)(param_6 + 0xc)) { puVar3 = (undefined8 *)FUN_18053f1f0(local_100,param_6); uVar4 = param_1[0xd]; param_1[0xd] = *puVar3; *puVar3 = uVar4; param_1[0xe] = puVar3[1]; /* WARNING: Subroutine does not return */ free(local_100[0]); } uVar4 = (**(code **)(*param_2 + 0x18))(param_2); param_1[0x21] = uVar4; FUN_180544840(param_1); return param_1; } ############ FUN_ 18054d2a0 size=137 ############ void FUN_18054d2a0(longlong param_1) { undefined8 uVar1; undefined1 auStack_368 [52]; undefined4 local_334; undefined4 local_330; longlong local_308; undefined8 local_2f0; void *local_88 [10]; ulonglong local_38; local_2f0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_368; local_308 = param_1; FUN_18054d130(); local_334 = *(undefined4 *)(param_1 + 0x27c); uVar1 = (**(code **)(*(longlong *)(param_1 + -0x18) + 0x88))(param_1 + -0x18,local_88); local_330 = FUN_18123d3f0(uVar1); /* WARNING: Subroutine does not return */ free(local_88[0]); } ############ FUN_ 1813b33b0 size=3960 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813b33b0(longlong param_1,longlong *param_2,undefined8 param_3,longlong *param_4, double param_5,uint param_6) { int *piVar1; double dVar2; uint uVar3; undefined4 uVar4; byte bVar5; undefined4 uVar6; undefined4 uVar7; undefined4 uVar8; int iVar9; DWORD dwPriorityClass; undefined4 *puVar10; HANDLE pvVar11; longlong *plVar12; undefined8 uVar13; int iVar14; uint uVar15; longlong lVar16; undefined8 *puVar17; longlong *plVar18; longlong *plVar19; uint *puVar20; undefined8 *puVar21; longlong lVar22; undefined8 *puVar23; ulonglong uVar24; undefined8 *puVar25; int iVar26; ulonglong uVar27; uint uVar28; bool bVar29; undefined1 auStack_1c8 [32]; uint local_1a8; longlong *local_1a0; longlong *local_198; undefined8 *local_190; undefined8 *local_188; undefined8 *local_180; longlong *local_178; longlong local_168; undefined8 local_160; uint uStack_15c; longlong local_158; undefined8 local_150; uint uStack_14c; longlong local_148; undefined8 local_140; longlong local_138; undefined8 local_130; longlong *local_128; longlong local_120; longlong local_118; int local_110; int local_10c; int local_108; int local_104; int local_100; int local_fc; undefined1 local_f8 [4]; undefined1 local_f4 [4]; longlong local_f0; longlong local_e8; undefined1 local_e0 [8]; undefined1 local_d8 [8]; undefined1 local_d0 [8]; undefined1 local_c8 [8]; undefined8 local_c0; longlong *local_b8; longlong local_b0; longlong local_a8; longlong local_a0; longlong local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; undefined8 local_78; undefined4 local_70; undefined4 uStack_6c; undefined4 uStack_68; undefined4 uStack_64; undefined4 local_60; undefined4 uStack_5c; undefined4 uStack_58; undefined4 uStack_54; ulonglong local_50; local_c0 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_1c8; puVar23 = (undefined8 *)0x0; uVar15 = 0; local_1a8 = 0; local_1a0 = param_2; local_198 = param_4; local_b8 = param_2; FUN_1805513d0(); if (param_5 <= 0.0) { param_5 = DAT_1824c43b8; } *(double *)(param_1 + 800) = param_5; if ((int)param_6 < 1) { param_6 = 0x3c0; } *(uint *)(param_1 + 0x318) = param_6 & 0xfffffff8; local_168 = 0; local_160 = 0; local_158 = 0; local_150 = 0; local_148 = 0; local_140 = 0; local_138 = 0; local_130 = 0; FUN_1805519f0(&local_168); plVar12 = (longlong *)(param_1 + 0x328); FUN_18123d980(plVar12,param_3); lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x330; } iVar9 = *(int *)(param_1 + 0x348) >> 5; uVar27 = (ulonglong)iVar9; uVar24 = uVar27; if (-1 < iVar9) { LAB_1813b34b0: uVar28 = *(uint *)(lVar16 + uVar27 * 4); if (uVar28 == 0) goto code_r0x0001813b34bb; local_110 = 0x1f; if (uVar28 != 0) { for (; uVar28 >> local_110 == 0; local_110 = local_110 + -1) { } } iVar9 = (int)uVar24 * 0x20 + local_110; goto LAB_1813b34c7; } LAB_1813b34c4: iVar9 = -1; LAB_1813b34c7: iVar26 = *(int *)(param_1 + 0x224); iVar9 = iVar9 - iVar26; if (-1 < iVar9) { bVar5 = (byte)iVar26 & 0x1f; uVar28 = 1 << bVar5 | 1U >> 0x20 - bVar5; do { if ((-1 < iVar26) && (iVar26 <= *(int *)(param_1 + 0x348))) { lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x330; } puVar20 = (uint *)(lVar16 + (longlong)(iVar26 >> 5) * 4); *puVar20 = *puVar20 & ~uVar28; if (iVar26 == *(int *)(param_1 + 0x348)) { lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x330; } iVar14 = *(int *)(param_1 + 0x348) >> 5; uVar27 = (ulonglong)iVar14; uVar24 = uVar27; if (-1 < iVar14) { LAB_1813b3534: uVar3 = *(uint *)(lVar16 + uVar27 * 4); if (uVar3 == 0) goto code_r0x0001813b3540; local_10c = 0x1f; if (uVar3 != 0) { for (; uVar3 >> local_10c == 0; local_10c = local_10c + -1) { } } iVar14 = (int)uVar24 * 0x20 + local_10c; goto LAB_1813b3549; } LAB_1813b3547: iVar14 = -1; LAB_1813b3549: *(int *)(param_1 + 0x348) = iVar14; } } iVar26 = iVar26 + 1; uVar28 = uVar28 << 1 | (uint)((int)uVar28 < 0); iVar9 = iVar9 + -1; } while (-1 < iVar9); } uVar24 = (ulonglong)*(uint *)(param_1 + 0x318); local_188 = (undefined8 *)CONCAT44(local_188._4_4_,*(uint *)(param_1 + 0x318)); iVar9 = FUN_18123d3f0(plVar12); lVar16 = (longlong)iVar9; piVar1 = (int *)(param_1 + 0x378); if (((int)uVar24 != *(int *)(param_1 + 0x37c)) || (iVar9 != *piVar1)) { local_180 = (undefined8 *)(uVar24 + 3 & 0xfffffffc); uVar24 = (ulonglong)(iVar9 + 1) * 8 + 0xf & 0xfffffff0; lVar22 = uVar24 + ((longlong)local_180 * lVar16 + 8) * 4; *(longlong *)(param_1 + 0x380) = lVar22; FUN_180481140(param_1 + 0x390,lVar22,CONCAT71(0xffffff,*(char *)(param_1 + 0x498) != '\0')); *(longlong *)(param_1 + 0x388) = *(longlong *)(param_1 + 0x390); lVar22 = *(longlong *)(param_1 + 0x390) + uVar24; if (0 < lVar16) { puVar17 = puVar23; do { *(longlong *)(*(longlong *)(param_1 + 0x388) + (longlong)puVar17 * 8) = lVar22; lVar22 = lVar22 + (longlong)local_180 * 4; puVar17 = (undefined8 *)((longlong)puVar17 + 1); } while ((longlong)puVar17 < lVar16); } *(undefined8 *)(*(longlong *)(param_1 + 0x388) + lVar16 * 8) = 0; *(undefined4 *)(param_1 + 0x37c) = local_188._0_4_; *piVar1 = iVar9; } FUN_180480870(piVar1); local_190 = (undefined8 *)0x0; puVar17 = puVar23; puVar25 = puVar23; do { lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x330; } iVar9 = *(int *)(param_1 + 0x348) >> 5; uVar27 = (ulonglong)iVar9; uVar24 = uVar27; if (-1 < iVar9) { LAB_1813b3663: uVar28 = *(uint *)(lVar16 + uVar27 * 4); if (uVar28 == 0) goto code_r0x0001813b366f; local_108 = 0x1f; if (uVar28 != 0) { for (; uVar28 >> local_108 == 0; local_108 = local_108 + -1) { } } iVar9 = (int)uVar24 * 0x20 + local_108; goto LAB_1813b3679; } LAB_1813b3677: iVar9 = -1; LAB_1813b3679: iVar26 = (int)puVar25; if (iVar9 < iVar26) goto LAB_1813b38bf; local_180 = puVar23; if ((iVar26 <= *(int *)(param_1 + 0x348)) && (-1 < iVar26)) { lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x330; } if ((*(uint *)(lVar16 + (longlong)(iVar26 >> 5) * 4) & 1 << ((byte)puVar25 & 0x1f)) != 0) { LOCK(); *(undefined1 *)(param_1 + 0x498) = 0; UNLOCK(); puVar25 = (undefined8 *)((longlong)puVar17 + *(longlong *)(param_1 + 0x388)); puVar17 = puVar17 + 1; local_180 = (undefined8 *)*puVar25; local_190 = puVar17; } } iVar9 = iVar26 + 1; puVar25 = puVar23; if ((iVar9 <= *(int *)(param_1 + 0x348)) && (-1 < iVar9)) { lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x330; } if ((*(uint *)(lVar16 + (longlong)(iVar9 >> 5) * 4) & 1 << ((byte)iVar9 & 0x1f)) != 0) { LOCK(); *(undefined1 *)(param_1 + 0x498) = 0; UNLOCK(); puVar25 = (undefined8 *)((longlong)puVar17 + *(longlong *)(param_1 + 0x388)); puVar17 = puVar17 + 1; puVar25 = (undefined8 *)*puVar25; local_190 = puVar17; } } if ((local_180 != (undefined8 *)0x0) || (puVar25 != (undefined8 *)0x0)) { lVar16 = FUN_1811316e0(0x60); uVar28 = *(uint *)(param_1 + 0x23c); if (uVar28 < local_130._4_4_) { puVar10 = (undefined4 *)((longlong)(int)uVar28 * 0x10 + local_138); local_70 = *puVar10; uStack_6c = puVar10[1]; uStack_68 = puVar10[2]; uStack_64 = puVar10[3]; local_188 = (undefined8 *)&local_70; } else { local_90 = 0; local_88 = 0; local_188 = &local_90; } if (uVar28 < uStack_14c) { plVar18 = (longlong *)(local_158 + (longlong)(int)uVar28 * 8); } else { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } plVar18 = (longlong *)&DAT_18267af68; } uVar4 = *(undefined4 *)(param_1 + 0x318); dVar2 = *(double *)(param_1 + 800); *(undefined4 *)(lVar16 + 0xc) = 0x10; lVar22 = *plVar18; *(longlong *)(lVar16 + 0x18) = lVar22; if ((*(uint *)(lVar22 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar22 + -0x10) = *(int *)(lVar22 + -0x10) + 1; UNLOCK(); } uVar6 = *(undefined4 *)((longlong)local_188 + 4); uVar7 = *(undefined4 *)(local_188 + 1); uVar8 = *(undefined4 *)((longlong)local_188 + 0xc); *(undefined4 *)(lVar16 + 0x20) = *(undefined4 *)local_188; *(undefined4 *)(lVar16 + 0x24) = uVar6; *(undefined4 *)(lVar16 + 0x28) = uVar7; *(undefined4 *)(lVar16 + 0x2c) = uVar8; *(int *)(lVar16 + 0x30) = (int)dVar2; *(undefined4 *)(lVar16 + 0x34) = uVar4; *(undefined8 **)(lVar16 + 0x38) = local_180; *(undefined8 **)(lVar16 + 0x40) = puVar25; *(undefined8 *)(lVar16 + 0x48) = 0; *(undefined8 *)(lVar16 + 0x50) = 0; *(undefined8 *)(lVar16 + 0x58) = 0; iVar14 = *(int *)(param_1 + 0x25c); iVar9 = iVar14 + 1; if (*(int *)(param_1 + 600) < iVar9) { if (iVar9 < 0) { iVar9 = iVar14 + 2; } FUN_18047cb30((longlong *)(param_1 + 0x250),iVar14 + 9 + (iVar9 >> 1) & 0xfffffff8); } iVar9 = *(int *)(param_1 + 0x25c); *(int *)(param_1 + 0x25c) = iVar9 + 1; *(longlong *)(*(longlong *)(param_1 + 0x250) + (longlong)iVar9 * 8) = lVar16; puVar17 = local_190; } puVar25 = (undefined8 *)(ulonglong)(iVar26 + 2); } while( true ); code_r0x0001813b34bb: uVar27 = uVar27 - 1; uVar24 = (ulonglong)((int)uVar24 - 1); if ((longlong)uVar27 < 0) goto LAB_1813b34c4; goto LAB_1813b34b0; code_r0x0001813b3540: uVar24 = (ulonglong)((int)uVar24 - 1); uVar27 = uVar27 - 1; if ((longlong)uVar27 < 0) goto LAB_1813b3547; goto LAB_1813b3534; code_r0x0001813b366f: uVar24 = (ulonglong)((int)uVar24 - 1); uVar27 = uVar27 - 1; if ((longlong)uVar27 < 0) goto LAB_1813b3677; goto LAB_1813b3663; LAB_1813b38bf: plVar12 = (longlong *)(param_1 + 0x350); FUN_18123d980(plVar12,local_198); lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x358; } iVar9 = *(int *)(param_1 + 0x370) >> 5; uVar27 = (ulonglong)iVar9; uVar24 = uVar27; if (-1 < iVar9) { LAB_1813b38f5: uVar28 = *(uint *)(lVar16 + uVar27 * 4); if (uVar28 == 0) goto code_r0x0001813b3900; local_104 = 0x1f; if (uVar28 != 0) { for (; uVar28 >> local_104 == 0; local_104 = local_104 + -1) { } } iVar9 = (int)uVar24 * 0x20 + local_104; goto LAB_1813b390c; } LAB_1813b3909: iVar9 = -1; LAB_1813b390c: iVar26 = *(int *)(param_1 + 0x234); iVar9 = iVar9 - iVar26; if (-1 < iVar9) { bVar5 = (byte)iVar26 & 0x1f; uVar28 = 1 << bVar5 | 1U >> 0x20 - bVar5; do { if ((-1 < iVar26) && (iVar26 <= *(int *)(param_1 + 0x370))) { lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x358; } puVar20 = (uint *)(lVar16 + (longlong)(iVar26 >> 5) * 4); *puVar20 = *puVar20 & ~uVar28; if (iVar26 == *(int *)(param_1 + 0x370)) { lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x358; } iVar14 = *(int *)(param_1 + 0x370) >> 5; uVar27 = (ulonglong)iVar14; uVar24 = uVar27; if (-1 < iVar14) { LAB_1813b3980: uVar3 = *(uint *)(lVar16 + uVar27 * 4); if (uVar3 == 0) goto code_r0x0001813b398c; local_100 = 0x1f; if (uVar3 != 0) { for (; uVar3 >> local_100 == 0; local_100 = local_100 + -1) { } } iVar14 = (int)uVar24 * 0x20 + local_100; goto LAB_1813b3996; } LAB_1813b3994: iVar14 = -1; LAB_1813b3996: *(int *)(param_1 + 0x370) = iVar14; } } iVar26 = iVar26 + 1; uVar28 = uVar28 << 1 | (uint)((int)uVar28 < 0); iVar9 = iVar9 + -1; } while (-1 < iVar9); } lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x358; } iVar9 = *(int *)(param_1 + 0x370) >> 5; lVar22 = (longlong)iVar9; puVar17 = puVar23; if (-1 < iVar9) { do { uVar15 = *(uint *)(lVar16 + lVar22 * 4); uVar15 = uVar15 - (uVar15 >> 1 & 0x55555555); uVar15 = (uVar15 >> 2 & 0x33333333) + (uVar15 & 0x33333333); uVar15 = (uVar15 >> 4) + uVar15 & 0xf0f0f0f; uVar15 = uVar15 + (uVar15 >> 8); uVar15 = (int)puVar17 + (uVar15 + (uVar15 >> 0x10) & 0x3f); lVar22 = lVar22 + -1; puVar17 = (undefined8 *)(ulonglong)uVar15; } while (-1 < lVar22); } uVar28 = *(uint *)(param_1 + 0x318); local_190 = (undefined8 *)CONCAT44(local_190._4_4_,uVar28); puVar20 = (uint *)(param_1 + 0x4a0); if ((uVar28 != *(uint *)(param_1 + 0x4a4)) || (uVar15 != *puVar20)) { local_198 = (longlong *)((ulonglong)uVar28 + 3 & 0xfffffffc); uVar24 = (ulonglong)(uVar15 + 1) * 8 + 0xf & 0xfffffff0; lVar22 = uVar24 + ((longlong)local_198 * (longlong)(int)uVar15 + 8) * 4; *(longlong *)(param_1 + 0x4a8) = lVar22; FUN_180481140(param_1 + 0x4b8,lVar22, CONCAT71((int7)((ulonglong)lVar16 >> 8),*(char *)(param_1 + 0x5c0) != '\0')); *(longlong *)(param_1 + 0x4b0) = *(longlong *)(param_1 + 0x4b8); lVar16 = *(longlong *)(param_1 + 0x4b8) + uVar24; if (0 < (int)uVar15) { puVar17 = puVar23; do { *(longlong *)(*(longlong *)(param_1 + 0x4b0) + (longlong)puVar17 * 8) = lVar16; lVar16 = lVar16 + (longlong)local_198 * 4; puVar17 = (undefined8 *)((longlong)puVar17 + 1); } while ((longlong)puVar17 < (longlong)(int)uVar15); } *(undefined8 *)(*(longlong *)(param_1 + 0x4b0) + (longlong)(int)uVar15 * 8) = 0; *(undefined4 *)(param_1 + 0x4a4) = local_190._0_4_; *puVar20 = uVar15; } FUN_180480870(puVar20); local_190 = (undefined8 *)0x0; puVar17 = puVar23; puVar25 = puVar23; do { plVar18 = local_1a0; lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x358; } iVar9 = *(int *)(param_1 + 0x370) >> 5; uVar27 = (ulonglong)iVar9; uVar24 = uVar27; if (-1 < iVar9) { LAB_1813b3b21: uVar15 = *(uint *)(lVar16 + uVar27 * 4); if (uVar15 == 0) goto code_r0x0001813b3b2d; local_fc = 0x1f; if (uVar15 != 0) { for (; uVar15 >> local_fc == 0; local_fc = local_fc + -1) { } } iVar9 = (int)uVar24 * 0x20 + local_fc; goto LAB_1813b3b3a; } LAB_1813b3b35: iVar9 = -1; LAB_1813b3b3a: iVar26 = (int)puVar25; if (iVar9 < iVar26) goto LAB_1813b3d79; local_188 = puVar23; if ((iVar26 <= *(int *)(param_1 + 0x370)) && (-1 < iVar26)) { lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x358; } if ((*(uint *)(lVar16 + (longlong)(iVar26 >> 5) * 4) & 1 << ((byte)puVar25 & 0x1f)) != 0) { LOCK(); *(undefined1 *)(param_1 + 0x5c0) = 0; UNLOCK(); puVar25 = (undefined8 *)((longlong)puVar17 + *(longlong *)(param_1 + 0x4b0)); puVar17 = puVar17 + 1; local_188 = (undefined8 *)*puVar25; local_190 = puVar17; } } iVar9 = iVar26 + 1; puVar25 = puVar23; if ((iVar9 <= *(int *)(param_1 + 0x370)) && (-1 < iVar9)) { lVar16 = *plVar12; if (lVar16 == 0) { lVar16 = param_1 + 0x358; } if ((*(uint *)(lVar16 + (longlong)(iVar9 >> 5) * 4) & 1 << ((byte)iVar9 & 0x1f)) != 0) { LOCK(); *(undefined1 *)(param_1 + 0x5c0) = 0; UNLOCK(); puVar25 = (undefined8 *)((longlong)puVar17 + *(longlong *)(param_1 + 0x4b0)); puVar17 = puVar17 + 1; puVar25 = (undefined8 *)*puVar25; local_190 = puVar17; } } if ((local_188 != (undefined8 *)0x0) || (puVar25 != (undefined8 *)0x0)) { plVar18 = (longlong *)FUN_1811316e0(0x70); uVar15 = *(uint *)(param_1 + 0x238); if (uVar15 < local_140._4_4_) { puVar10 = (undefined4 *)((longlong)(int)uVar15 * 0x10 + local_148); local_60 = *puVar10; uStack_5c = puVar10[1]; uStack_58 = puVar10[2]; uStack_54 = puVar10[3]; local_180 = (undefined8 *)&local_60; } else { local_80 = 0; local_78 = 0; local_180 = &local_80; } local_198 = plVar18; if (uVar15 < uStack_15c) { plVar19 = (longlong *)(local_168 + (longlong)(int)uVar15 * 8); } else { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } plVar19 = (longlong *)&DAT_18267af68; } uVar4 = *(undefined4 *)(param_1 + 0x318); dVar2 = *(double *)(param_1 + 800); *(undefined4 *)plVar18 = 0x10; lVar16 = *plVar19; plVar18[2] = lVar16; if ((*(uint *)(lVar16 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar16 + -0x10) = *(int *)(lVar16 + -0x10) + 1; UNLOCK(); } uVar6 = *(undefined4 *)((longlong)local_180 + 4); uVar7 = *(undefined4 *)(local_180 + 1); uVar8 = *(undefined4 *)((longlong)local_180 + 0xc); *(undefined4 *)(plVar18 + 3) = *(undefined4 *)local_180; *(undefined4 *)((longlong)plVar18 + 0x1c) = uVar6; *(undefined4 *)(plVar18 + 4) = uVar7; *(undefined4 *)((longlong)plVar18 + 0x24) = uVar8; *(int *)(plVar18 + 5) = (int)dVar2; *(undefined4 *)((longlong)plVar18 + 0x2c) = uVar4; plVar18[6] = (longlong)local_188; plVar18[7] = (longlong)puVar25; plVar18[8] = 0; plVar18[9] = 0; iVar14 = *(int *)(param_1 + 0x26c); iVar9 = iVar14 + 1; if (*(int *)(param_1 + 0x268) < iVar9) { if (iVar9 < 0) { iVar9 = iVar14 + 2; } FUN_18047cb30((longlong *)(param_1 + 0x260),iVar14 + 9 + (iVar9 >> 1) & 0xfffffff8); } iVar9 = *(int *)(param_1 + 0x26c); *(int *)(param_1 + 0x26c) = iVar9 + 1; *(longlong **)(*(longlong *)(param_1 + 0x260) + (longlong)iVar9 * 8) = plVar18; puVar17 = local_190; } puVar25 = (undefined8 *)(ulonglong)(iVar26 + 2); } while( true ); code_r0x0001813b3900: uVar24 = (ulonglong)((int)uVar24 - 1); uVar27 = uVar27 - 1; if ((longlong)uVar27 < 0) goto LAB_1813b3909; goto LAB_1813b38f5; code_r0x0001813b398c: uVar27 = uVar27 - 1; uVar24 = (ulonglong)((int)uVar24 - 1); if ((longlong)uVar27 < 0) goto LAB_1813b3994; goto LAB_1813b3980; code_r0x0001813b3b2d: uVar24 = (ulonglong)((int)uVar24 - 1); uVar27 = uVar27 - 1; if ((longlong)uVar27 < 0) goto LAB_1813b3b35; goto LAB_1813b3b21; LAB_1813b3d79: *local_1a0 = (longlong)&DAT_1821dbf98; local_1a8 = 1; pvVar11 = GetCurrentThread(); iVar9 = GetThreadPriority(pvVar11); pvVar11 = GetCurrentProcess(); dwPriorityClass = GetPriorityClass(pvVar11); pvVar11 = GetCurrentThread(); SetThreadPriority(pvVar11,0xf); pvVar11 = GetCurrentProcess(); SetPriorityClass(pvVar11,0x100); if (0 < *(int *)(param_1 + 0x26c)) { bVar29 = *(int *)(param_1 + 0x26c) != 0; puVar17 = puVar23; puVar25 = puVar23; do { puVar21 = puVar23; if (bVar29) { puVar21 = *(undefined8 **)((longlong)puVar25 + *(longlong *)(param_1 + 0x260)); } plVar12 = (longlong *)FUN_18054f040(puVar21,&local_f0); local_b0 = *plVar18; *plVar18 = *plVar12; *plVar12 = local_b0; puVar20 = (uint *)(local_f0 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } if (*(char *)*local_1a0 != '\0') { uVar13 = FUN_181249970(&local_168,puVar17); plVar18 = (longlong *)FUN_181246550(local_c8,"Error opening ",uVar13); local_198 = plVar18; FUN_181232e20(plVar18,&DAT_1821e4854,&DAT_1821e4857); plVar12 = local_1a0; local_120 = *plVar18; if ((*(uint *)(local_120 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_120 + -0x10) = *(int *)(local_120 + -0x10) + 1; UNLOCK(); } local_1a8 = 3; puVar20 = (uint *)(*plVar18 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } plVar18 = (longlong *)FUN_181232aa0(local_d0,&local_120,local_1a0); local_128 = plVar18; FUN_181232e20(plVar18,&DAT_1821e486c,&DAT_1821e486d); local_128 = (longlong *)*plVar18; if ((*(uint *)((longlong)local_128 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)((longlong)local_128 + -0x10) = *(int *)((longlong)local_128 + -0x10) + 1; UNLOCK(); } local_1a8 = 7; puVar20 = (uint *)(*plVar18 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } local_a8 = *plVar12; *plVar12 = (longlong)local_128; puVar20 = (uint *)(local_a8 + -0x10); plVar18 = local_1a0; if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } break; } uVar15 = (int)puVar17 + 1; puVar17 = (undefined8 *)(ulonglong)uVar15; puVar25 = puVar25 + 1; bVar29 = uVar15 < *(uint *)(param_1 + 0x26c); plVar18 = local_1a0; } while ((int)uVar15 < (int)*(uint *)(param_1 + 0x26c)); } if ((*(char *)*plVar18 == '\0') && (0 < *(int *)(param_1 + 0x25c))) { bVar29 = *(int *)(param_1 + 0x25c) != 0; puVar17 = puVar23; puVar25 = puVar23; do { puVar21 = puVar23; if (bVar29) { puVar21 = *(undefined8 **)((longlong)puVar25 + *(longlong *)(param_1 + 0x250)); } plVar12 = (longlong *)FUN_1805501d0(puVar21,&local_e8); local_a0 = *plVar18; *plVar18 = *plVar12; *plVar12 = local_a0; puVar20 = (uint *)(local_e8 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } if (*(char *)*local_1a0 != '\0') { uVar13 = FUN_181249970(&local_158,puVar17); plVar18 = (longlong *)FUN_181246550(local_e0,"Error opening ",uVar13); local_198 = plVar18; FUN_181232e20(plVar18,&DAT_1821e4844,&DAT_1821e4847); plVar12 = local_1a0; local_118 = *plVar18; if ((*(uint *)(local_118 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_118 + -0x10) = *(int *)(local_118 + -0x10) + 1; UNLOCK(); } local_1a8 = local_1a8 | 8; puVar20 = (uint *)(*plVar18 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } plVar18 = (longlong *)FUN_181232aa0(local_d8,&local_118,local_1a0); local_178 = plVar18; FUN_181232e20(plVar18,&DAT_1821e481c,&DAT_1821e481d); local_178 = (longlong *)*plVar18; if ((*(uint *)((longlong)local_178 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)((longlong)local_178 + -0x10) = *(int *)((longlong)local_178 + -0x10) + 1; UNLOCK(); } local_1a8 = local_1a8 | 0x10; puVar20 = (uint *)(*plVar18 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } local_98 = *plVar12; *plVar12 = (longlong)local_178; puVar20 = (uint *)(local_98 + -0x10); plVar18 = local_1a0; if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } break; } uVar15 = (int)puVar17 + 1; puVar17 = (undefined8 *)(ulonglong)uVar15; puVar25 = puVar25 + 1; bVar29 = uVar15 < *(uint *)(param_1 + 0x25c); plVar18 = local_1a0; } while ((int)uVar15 < (int)*(uint *)(param_1 + 0x25c)); } if (*(char *)*plVar18 == '\0') { puVar17 = puVar23; puVar25 = puVar23; if (0 < *(int *)(param_1 + 0x26c)) { do { lVar16 = *(longlong *)((longlong)puVar25 + *(longlong *)(param_1 + 0x260)); plVar12 = *(longlong **)(lVar16 + 0x48); if (plVar12 != (longlong *)0x0) { (**(code **)(*plVar12 + 0x20))(plVar12,local_f8,lVar16 + 0x50); } uVar15 = (int)puVar17 + 1; puVar17 = (undefined8 *)(ulonglong)uVar15; puVar25 = puVar25 + 1; } while ((int)uVar15 < *(int *)(param_1 + 0x26c)); } puVar17 = puVar23; if (0 < *(int *)(param_1 + 0x25c)) { do { plVar12 = *(longlong **) (*(longlong *)((longlong)puVar23 + *(longlong *)(param_1 + 0x250)) + 0x58); if (plVar12 != (longlong *)0x0) { (**(code **)(*plVar12 + 0x20))(plVar12,local_f4); } uVar15 = (int)puVar17 + 1; puVar23 = puVar23 + 1; puVar17 = (undefined8 *)(ulonglong)uVar15; } while ((int)uVar15 < *(int *)(param_1 + 0x25c)); } FUN_18122b2c0(param_1 + 0x18,9); Sleep(10); FUN_181215c10(param_1 + 0x110); } pvVar11 = GetCurrentThread(); SetThreadPriority(pvVar11,iVar9); pvVar11 = GetCurrentProcess(); SetPriorityClass(pvVar11,dwPriorityClass); FUN_180551fe0(&local_168); } ############ FUN_ 1812bf6f0 size=28 ############ void FUN_1812bf6f0(longlong param_1) { undefined4 uVar1; uVar1 = FUN_18123d3f0(param_1 + 0x10); *(undefined4 *)(param_1 + 0x8c) = uVar1; return; } ############ FUN_ 1812c34e0 size=237 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812c34e0(longlong param_1,char param_2) { int iVar1; void **ppvVar2; uint uVar3; undefined1 auStack_98 [32]; uint local_78; undefined8 local_70; void *local_68; undefined8 local_60; undefined8 local_58; undefined8 local_50; undefined8 local_48; void *local_40 [5]; ulonglong local_18; local_70 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_98; local_78 = 0; iVar1 = FUN_18123d3f0(param_1 + 0x10); if ((iVar1 != 0) != (bool)param_2) { if (param_2 == '\0') { local_68 = (void *)0x0; local_50 = 4; local_48 = 0xffffffff; local_60 = 0; local_58 = 0; ppvVar2 = &local_68; uVar3 = 2; } else { FUN_18123db10(local_40,param_1 + 0x60); ppvVar2 = local_40; uVar3 = 1; } local_78 = uVar3; FUN_1812bfa70(param_1,ppvVar2); if ((uVar3 & 2) != 0) { /* WARNING: Subroutine does not return */ free(local_68); } if ((uVar3 & 1) != 0) { /* WARNING: Subroutine does not return */ free(local_40[0]); } } } ############ FUN_ 1813aeb30 size=127 ############ undefined8 * FUN_1813aeb30(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4, undefined8 param_5,undefined4 param_6) { longlong lVar1; undefined4 uVar2; param_1[1] = param_4; *param_1 = juce::AudioFormatWriter::vftable; uVar2 = FUN_18123d3f0(param_5); *(undefined4 *)(param_1 + 2) = uVar2; *(undefined4 *)((longlong)param_1 + 0x14) = param_6; *(undefined1 *)(param_1 + 3) = 0; FUN_18123db10(param_1 + 4,param_5); param_1[9] = param_2; lVar1 = *param_3; param_1[10] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } return param_1; } ############ FUN_ 1813b8160 size=1775 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813b8160(longlong param_1,undefined8 *param_2,longlong *param_3,char param_4) { int *piVar1; undefined4 uVar2; char cVar3; int iVar4; longlong lVar5; longlong *plVar6; undefined8 uVar7; undefined8 *puVar8; uint *puVar9; ulonglong uVar10; ulonglong uVar11; int *piVar12; char *pcVar13; uint uVar14; bool bVar15; undefined4 uVar16; undefined4 extraout_XMM0_Da; undefined4 extraout_XMM0_Da_00; undefined4 uVar17; undefined1 auStack_138 [32]; undefined8 local_118; int local_110; char local_108; char *local_100; uint local_f8; undefined8 *local_f0; int local_e4; int local_e0; char *local_d8; longlong local_d0; void *local_c8; undefined4 local_bc; undefined8 local_b8; char *local_b0; undefined8 local_a8; void *local_98 [10]; ulonglong local_48; local_b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_138; local_f8 = 0; local_108 = param_4; local_f0 = param_2; if (*param_3 == *(longlong *)(param_1 + 0x58)) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(*param_3,*(undefined8 *)(param_1 + 0x58)); } if (iVar4 == 0) { if (param_3[1] == *(longlong *)(param_1 + 0x60)) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(param_3[1],*(undefined8 *)(param_1 + 0x60)); } if (((((iVar4 != 0) || ((double)param_3[2] != *(double *)(param_1 + 0x68))) || ((int)param_3[3] != *(int *)(param_1 + 0x70))) || ((iVar4 = FUN_18123c5f0(param_3 + 4,param_1 + 0x78), iVar4 != 0 || ((char)param_3[9] != *(char *)(param_1 + 0xa0))))) || ((iVar4 = FUN_18123c5f0(param_3 + 10,param_1 + 0xa8), iVar4 != 0 || ((char)param_3[0xf] != *(char *)(param_1 + 0xd0))))) goto LAB_1813b8258; bVar15 = true; } else { LAB_1813b8258: bVar15 = false; } if (bVar15) { if (*(longlong *)(param_1 + 0xd8) != 0) { *param_2 = &DAT_1821dbf98; } } else if (*(char *)(param_1 + 0x30) != '\0') { piVar1 = (int *)(*(longlong *)(param_1 + 0x10) + 0x18); LOCK(); bVar15 = *piVar1 == 0; if (bVar15) { *piVar1 = 1; } UNLOCK(); if ((bVar15) && (cVar3 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x10)), cVar3 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x18) = 0; UNLOCK(); } } lVar5 = FUN_1813b89b0(param_1); if ((lVar5 == 0) || ((*(char *)param_3[1] == '\0' && (*(char *)*param_3 == '\0')))) { FUN_1813b8a40(param_1); if (param_4 != '\0') { FUN_1813b7430(param_1); } *param_2 = &DAT_1821dbf98; } FUN_1813b7e30(param_1); pcVar13 = ""; local_100 = ""; if (*(longlong *)(param_1 + 0x60) == param_3[1]) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0x60),param_3[1]); } if (iVar4 == 0) { if (*(longlong *)(param_1 + 0x58) == *param_3) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0x58),*param_3); } if ((iVar4 != 0) || (*(longlong *)(param_1 + 0xd8) == 0)) goto LAB_1813b8350; LAB_1813b8512: uVar16 = FUN_180549c30(param_1 + 0x58,param_3); if (*(char *)(param_1 + 0xa0) == '\0') { uVar16 = FUN_18123d3f0(param_1 + 0x78); *(undefined4 *)(param_1 + 0xf0) = uVar16; uVar16 = extraout_XMM0_Da; } if (*(char *)(param_1 + 0xd0) == '\0') { uVar16 = FUN_18123d3f0(param_1 + 0xa8); *(undefined4 *)(param_1 + 0xf4) = uVar16; uVar16 = extraout_XMM0_Da_00; } uVar2 = *(undefined4 *)(param_1 + 0xf4); uVar17 = 0xffffffff; if (*(char *)(param_1 + 0xa0) != '\0') { uVar17 = *(undefined4 *)(param_1 + 0xf0); } uVar17 = FUN_180549d20(uVar16,param_1 + 0x60,param_1 + 0x78,uVar17); uVar16 = 0xffffffff; if (*(char *)(param_1 + 0xd0) != '\0') { uVar16 = uVar2; } FUN_180549d20(uVar17,param_1 + 0x58,param_1 + 0xa8,uVar16); lVar5 = *(longlong *)(param_1 + 0x78); if (lVar5 == 0) { lVar5 = param_1 + 0x80; } iVar4 = *(int *)(param_1 + 0x98) >> 5; uVar10 = (ulonglong)iVar4; uVar11 = uVar10; if (-1 < iVar4) { LAB_1813b85c0: uVar14 = *(uint *)(lVar5 + uVar10 * 4); if (uVar14 == 0) goto code_r0x0001813b85cc; local_e4 = 0x1f; if (uVar14 != 0) { for (; uVar14 >> local_e4 == 0; local_e4 = local_e4 + -1) { } } iVar4 = (int)uVar11 * 0x20 + local_e4; goto LAB_1813b85d7; } LAB_1813b85d4: iVar4 = -1; LAB_1813b85d7: if (iVar4 < 0) { lVar5 = *(longlong *)(param_1 + 0xa8); if (lVar5 == 0) { lVar5 = param_1 + 0xb0; } iVar4 = *(int *)(param_1 + 200) >> 5; uVar10 = (ulonglong)iVar4; uVar11 = uVar10; if (-1 < iVar4) { LAB_1813b8610: uVar14 = *(uint *)(lVar5 + uVar10 * 4); if (uVar14 == 0) goto code_r0x0001813b8618; local_e0 = 0x1f; if (uVar14 != 0) { for (; uVar14 >> local_e0 == 0; local_e0 = local_e0 + -1) { } } iVar4 = (int)uVar11 * 0x20 + local_e0; goto LAB_1813b8623; } LAB_1813b8620: iVar4 = -1; LAB_1813b8623: if (iVar4 < 0) { if (local_108 != '\0') { FUN_1813b7430(param_1); } *param_2 = &DAT_1821dbf98; puVar9 = (uint *)(pcVar13 + -0x10); if ((*puVar9 & 0x30000000) != 0) { } LOCK(); uVar14 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar14 != 0) { } /* WARNING: Subroutine does not return */ free(puVar9); } } uVar7 = FUN_1813b7f50(param_1,*(undefined8 *)(param_1 + 0x68)); *(undefined8 *)(param_1 + 0x68) = uVar7; local_110 = *(int *)(param_1 + 0x70); uVar14 = local_f8; if (0 < local_110) { puVar8 = (undefined8 *) (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x20)) (*(longlong **)(param_1 + 0xd8),&local_c8); uVar14 = 2; piVar12 = (int *)*puVar8; piVar1 = piVar12 + *(int *)((longlong)puVar8 + 0xc); for (; piVar12 != piVar1; piVar12 = piVar12 + 1) { if (local_110 == *piVar12) { bVar15 = true; goto LAB_1813b86e2; } } } bVar15 = false; LAB_1813b86e2: if ((uVar14 & 2) != 0) { local_bc = 0; /* WARNING: Subroutine does not return */ free(local_c8); } if (!bVar15) { local_110 = (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x28))(); } *(int *)(param_1 + 0x70) = local_110; local_118 = *(undefined8 *)(param_1 + 0x68); puVar8 = (undefined8 *) (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x30)) (*(longlong **)(param_1 + 0xd8),&local_f0,param_1 + 0x78,param_1 + 0xa8); local_100 = (char *)*puVar8; *puVar8 = pcVar13; puVar9 = (uint *)(local_f0 + -2); local_b0 = pcVar13; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar14 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar14 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (*local_100 == '\0') { FUN_181249460(param_1 + 0x100,*(longlong *)(param_1 + 0xd8) + 0x10); (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x48)) (*(longlong **)(param_1 + 0xd8),*(undefined8 *)(param_1 + 0x328)); uVar7 = (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x70))(); *(undefined8 *)(param_1 + 0x68) = uVar7; uVar16 = (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x68))(); *(undefined4 *)(param_1 + 0x70) = uVar16; puVar8 = (undefined8 *) (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x88)) (*(longlong **)(param_1 + 0xd8),local_98); local_a8 = *(undefined8 *)(param_1 + 0x78); *(undefined8 *)(param_1 + 0x78) = *puVar8; *puVar8 = local_a8; uVar7 = puVar8[2]; *(undefined8 *)(param_1 + 0x80) = puVar8[1]; *(undefined8 *)(param_1 + 0x88) = uVar7; *(undefined8 *)(param_1 + 0x90) = puVar8[3]; *(undefined4 *)(param_1 + 0x98) = *(undefined4 *)(puVar8 + 4); *(undefined1 *)(param_1 + 0x9c) = *(undefined1 *)((longlong)puVar8 + 0x24); /* WARNING: Subroutine does not return */ free(local_98[0]); } LAB_1813b849a: pcVar13 = local_100; FUN_1813b8a40(param_1); *param_2 = pcVar13; if ((DAT_1821dbf88 & 0x30000000) != 0) { } LOCK(); UNLOCK(); uVar14 = DAT_1821dbf88; } else { LAB_1813b8350: FUN_1813b8a40(param_1); FUN_1813b8c30(param_1); plVar6 = (longlong *)FUN_1813b89b0(param_1); if ((*(char *)*param_3 == '\0') || (cVar3 = FUN_1813b9e20(plVar6,0,param_3), cVar3 != '\0')) { if ((*(char *)param_3[1] == '\0') || (cVar3 = FUN_1813b9e20(plVar6,1,param_3 + 1), cVar3 != '\0')) { uVar7 = (**(code **)(*plVar6 + 0x28))(plVar6,param_3,param_3 + 1); puVar8 = *(undefined8 **)(param_1 + 0xd8); *(undefined8 *)(param_1 + 0xd8) = uVar7; if (puVar8 != (undefined8 *)0x0) { (**(code **)*puVar8)(puVar8,1); } plVar6 = *(longlong **)(param_1 + 0xd8); if (plVar6 == (longlong *)0x0) { FUN_18049c4e0(&local_d8, "Can\'t open the audio device!\n\nThis may be because another application is currently using the same device - if so, you should close any other applications and try again!" ); local_100 = local_d8; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar14 = DAT_1821dbf88 - 1; UNLOCK(); bVar15 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar14; if (bVar15) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } else { puVar8 = (undefined8 *)(**(code **)(*plVar6 + 0x60))(plVar6,&local_d0); local_100 = (char *)*puVar8; *puVar8 = &DAT_1821dbf98; puVar9 = (uint *)(local_d0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar14 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar14 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } pcVar13 = local_100; if (*local_100 == '\0') goto LAB_1813b8512; goto LAB_1813b849a; } param_3 = param_3 + 1; pcVar13 = "No such device: "; } else { pcVar13 = "No such device: "; } FUN_181246550(param_2,pcVar13,param_3); if ((DAT_1821dbf88 & 0x30000000) != 0) { } LOCK(); UNLOCK(); uVar14 = DAT_1821dbf88; } DAT_1821dbf88 = uVar14 - 1; if (uVar14 != 0) { } /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); code_r0x0001813b85cc: uVar11 = (ulonglong)((int)uVar11 - 1); uVar10 = uVar10 - 1; if ((longlong)uVar10 < 0) goto LAB_1813b85d4; goto LAB_1813b85c0; code_r0x0001813b8618: uVar10 = uVar10 - 1; uVar11 = (ulonglong)((int)uVar11 - 1); if ((longlong)uVar10 < 0) goto LAB_1813b8620; goto LAB_1813b8610; } ############ FUN_ 18047bf70 size=31 ############ void FUN_18047bf70(longlong param_1) { FUN_18047c500(param_1 + 0x10); FUN_18047c500(param_1); return; } ############ FUN_ 1812c1db0 size=211 ############ ulonglong FUN_1812c1db0(longlong *param_1,char param_2,uint param_3,undefined8 param_4) { longlong lVar1; byte bVar2; int iVar3; undefined8 in_RAX; ulonglong uVar4; longlong *plVar5; ulonglong *puVar6; bool bVar7; longlong local_30 [2]; longlong local_20 [3]; if (param_2 == '\0') { puVar6 = (ulonglong *)(param_1 + 0x1c); } else { puVar6 = (ulonglong *)(param_1 + 0x1a); } bVar7 = param_3 < *(uint *)((longlong)puVar6 + 0xc); uVar4 = CONCAT71((int7)((ulonglong)in_RAX >> 8),bVar7); if (bVar7) { uVar4 = *puVar6; lVar1 = *(longlong *)(uVar4 + (longlong)(int)param_3 * 8); if (lVar1 != 0) { FUN_1812bf720(lVar1,local_30,param_4,param_4,0xfffffffffffffffe); plVar5 = local_30; if (param_2 == '\0') { plVar5 = local_20; } iVar3 = FUN_18123c5f0(*plVar5 + (longlong)(int)param_3 * 0x28,param_4); if (iVar3 == 0) { bVar2 = (**(code **)(*param_1 + 0x160))(param_1,local_30); } else { bVar2 = 0; } FUN_18047c500(local_20); FUN_18047c500(local_30); return (ulonglong)bVar2; } } return uVar4 & 0xffffffffffffff00; } ############ FUN_ 1804d7300 size=178 ############ undefined8 * FUN_1804d7300(undefined8 *param_1,undefined8 *param_2) { undefined8 *puVar1; undefined4 uVar2; undefined4 uVar3; undefined8 uVar4; undefined8 local_18; undefined4 local_10; undefined4 local_c; if (param_1 != param_2) { FUN_1804db870(&local_18); uVar4 = *param_1; *param_1 = local_18; uVar2 = *(undefined4 *)(param_1 + 1); *(undefined4 *)(param_1 + 1) = local_10; uVar3 = *(undefined4 *)((longlong)param_1 + 0xc); *(undefined4 *)((longlong)param_1 + 0xc) = local_c; local_18 = uVar4; local_10 = uVar2; local_c = uVar3; FUN_18047c500(&local_18); } puVar1 = param_1 + 2; if (puVar1 != param_2 + 2) { FUN_1804db870(&local_18); uVar4 = *puVar1; *puVar1 = local_18; uVar2 = *(undefined4 *)(param_1 + 3); *(undefined4 *)(param_1 + 3) = local_10; uVar3 = *(undefined4 *)((longlong)param_1 + 0x1c); *(undefined4 *)((longlong)param_1 + 0x1c) = local_c; local_18 = uVar4; local_10 = uVar2; local_c = uVar3; FUN_18047c500(&local_18); } return param_1; } ############ FUN_ 18052f610 size=36 ############ void FUN_18052f610(undefined8 *param_1) { FUN_180531620(); *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x00018052f62d. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 181132518 size=31 ############ void FUN_181132518(void) { undefined1 local_28 [40]; FUN_1804719e0(local_28); /* WARNING: Subroutine does not return */ _CxxThrowException(local_28,(ThrowInfo *)&DAT_1825fec68); } ############ FUN_ 181132538 size=31 ############ void FUN_181132538(void) { undefined1 local_28 [40]; FUN_1811324a0(local_28); /* WARNING: Subroutine does not return */ _CxxThrowException(local_28,(ThrowInfo *)&DAT_1825feb90); } ############ FUN_ 1805a6cb0 size=336 ############ longlong * FUN_1805a6cb0(longlong *param_1,void *param_2,size_t param_3) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; ulonglong uVar4; void *_Memory; void *pvVar5; longlong *_Dst; ulonglong uVar6; uVar1 = param_1[3]; if (uVar1 < param_3) { if (0x7fffffffffffffff < param_3) { /* WARNING: Subroutine does not return */ FUN_1805a6980(); } uVar3 = param_3 | 0xf; uVar6 = 0x7fffffffffffffff; if (((uVar3 < 0x8000000000000000) && (uVar1 <= 0x7fffffffffffffff - (uVar1 >> 1))) && (uVar4 = (uVar1 >> 1) + uVar1, uVar6 = uVar3, uVar3 < uVar4)) { uVar6 = uVar4; } uVar3 = uVar6 + 1; if (uVar3 < 0x1000) { if (uVar3 == 0) { pvVar5 = (void *)0x0; } else { pvVar5 = (void *)FUN_1811316e0(uVar3); } } else { uVar4 = uVar6 + 0x28; if (uVar4 <= uVar3) { uVar4 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar4); if (lVar2 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar5 = (void *)(lVar2 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar5 - 8) = lVar2; } param_1[2] = param_3; param_1[3] = uVar6; memcpy(pvVar5,param_2,param_3); *(undefined1 *)((longlong)pvVar5 + param_3) = 0; if (0xf < uVar1) { pvVar5 = (void *)*param_1; _Memory = pvVar5; if ((0xfff < uVar1 + 1) && (_Memory = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = (longlong)pvVar5; } else { _Dst = param_1; if (0xf < uVar1) { _Dst = (longlong *)*param_1; } param_1[2] = param_3; memmove(_Dst,param_2,param_3); *(undefined1 *)((longlong)_Dst + param_3) = 0; } return param_1; } ############ FUN_ 1805a1320 size=378 ############ undefined8 * FUN_1805a1320(undefined8 *param_1,ulonglong param_2,undefined8 param_3,void *param_4,size_t param_5) { size_t _Size; ulonglong uVar1; void *_Src; longlong lVar2; ulonglong uVar3; ulonglong uVar4; ulonglong uVar5; void *pvVar6; _Size = param_1[2]; if (0x7fffffffffffffff - _Size < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a6980(); } uVar1 = param_1[3]; uVar3 = _Size + param_2 | 0xf; uVar5 = 0x7fffffffffffffff; if (((uVar3 < 0x8000000000000000) && (uVar1 <= 0x7fffffffffffffff - (uVar1 >> 1))) && (uVar4 = (uVar1 >> 1) + uVar1, uVar5 = uVar3, uVar3 < uVar4)) { uVar5 = uVar4; } uVar3 = uVar5 + 1; if (uVar3 < 0x1000) { if (uVar3 == 0) { pvVar6 = (void *)0x0; } else { pvVar6 = (void *)FUN_1811316e0(uVar3); } } else { uVar4 = uVar5 + 0x28; if (uVar4 <= uVar3) { uVar4 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar4); if (lVar2 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar6 = (void *)(lVar2 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar6 - 8) = lVar2; } param_1[2] = _Size + param_2; param_1[3] = uVar5; if (uVar1 < 0x10) { memcpy(pvVar6,param_1,_Size); memcpy((void *)(_Size + (longlong)pvVar6),param_4,param_5); *(undefined1 *)((longlong)(_Size + (longlong)pvVar6) + param_5) = 0; *param_1 = pvVar6; return param_1; } _Src = (void *)*param_1; memcpy(pvVar6,_Src,_Size); memcpy((void *)(_Size + (longlong)pvVar6),param_4,param_5); *(undefined1 *)((longlong)(_Size + (longlong)pvVar6) + param_5) = 0; pvVar6 = _Src; if ((0xfff < uVar1 + 1) && (pvVar6 = *(void **)((longlong)_Src + -8), 0x1f < (ulonglong)((longlong)_Src + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } ############ FUN_ 1805a4070 size=230 ############ undefined8 * FUN_1805a4070(undefined8 *param_1,undefined8 *param_2) { ulonglong uVar1; ulonglong uVar2; undefined8 uVar3; longlong lVar4; void *_Dst; ulonglong uVar5; ulonglong uVar6; _Dst = (void *)0x0; param_1[2] = 0; param_1[3] = 0; uVar2 = param_2[2]; if (0xf < (ulonglong)param_2[3]) { param_2 = (undefined8 *)*param_2; } if (uVar2 < 0x10) { uVar3 = param_2[1]; *param_1 = *param_2; param_1[1] = uVar3; param_1[2] = uVar2; param_1[3] = 0xf; } else { uVar6 = uVar2 | 0xf; if (0x7fffffffffffffff < uVar6) { uVar6 = 0x7fffffffffffffff; } uVar1 = uVar6 + 1; if (uVar1 < 0x1000) { if (uVar1 != 0) { _Dst = (void *)FUN_1811316e0(uVar1); } } else { uVar5 = uVar6 + 0x28; if (uVar5 <= uVar1) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } _Dst = (void *)(lVar4 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)_Dst - 8) = lVar4; } *param_1 = _Dst; memcpy(_Dst,param_2,uVar2 + 1); param_1[2] = uVar2; param_1[3] = uVar6; } return param_1; } ############ FUN_ 1805c04c0 size=2707 ############ /* WARNING: Instruction at (ram,0x0001805c0fb6) overlaps instruction at (ram,0x0001805c0fb5) */ /* WARNING: Removing unreachable block (ram,0x0001805c0f34) */ /* WARNING: Removing unreachable block (ram,0x0001805c0bb4) */ /* WARNING: Removing unreachable block (ram,0x0001805c0b73) */ /* WARNING: Removing unreachable block (ram,0x0001805c0990) */ /* WARNING: Removing unreachable block (ram,0x0001805c0997) */ /* WARNING: Removing unreachable block (ram,0x0001805c0995) */ /* WARNING: Removing unreachable block (ram,0x0001805c05cf) */ /* WARNING: Removing unreachable block (ram,0x0001805c08d1) */ /* WARNING: Removing unreachable block (ram,0x0001805c0a31) */ /* WARNING: Removing unreachable block (ram,0x0001805c0b98) */ /* WARNING: Removing unreachable block (ram,0x0001805c0bb9) */ /* WARNING: Removing unreachable block (ram,0x0001805c0de8) */ /* WARNING: Removing unreachable block (ram,0x0001805c0fb1) */ /* WARNING: Removing unreachable block (ram,0x0001805c0b7f) */ undefined8 FUN_1805c04c0(void) { int iVar1; ulonglong uVar2; undefined8 uVar3; uint uVar4; uint uVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; longlong lVar9; undefined8 *puVar10; bool bVar11; int unaff_retaddr; undefined4 unaff_retaddr_00; uint auStackX_8 [4]; undefined8 local_res18; undefined4 local_res20; code *pcStack_68; undefined8 local_60; undefined4 *local_58; undefined8 *local_50; local_60 = 0xfffffffffffffffe; puVar10 = (undefined8 *)0x0; local_res20 = 0xf00; lVar9 = (longlong)&DAT_18265dd50 + (SUB168(ZEXT816(0xc7ce0c7ce0c7ce0d) * ZEXT816(0x18265dd50),8) >> 5) * -0x29; LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar9 * 4); *(int *)(&DAT_18265dbd0 + lVar9 * 4) = 1; UNLOCK(); puVar7 = puVar10; puVar8 = DAT_18265dd50; while (DAT_18265dd50 = puVar8, iVar1 != 0) { uVar4 = (uint)puVar7; if ((3 < uVar4) && (0xf < uVar4)) { Sleep((uint)(0x1f < uVar4)); } puVar7 = (undefined8 *)(ulonglong)(uVar4 + 1); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar9 * 4); *(int *)(&DAT_18265dbd0 + lVar9 * 4) = 1; UNLOCK(); puVar8 = DAT_18265dd50; } *(undefined4 *)(&DAT_18265dbd0 + lVar9 * 4) = 0; local_res18 = 0xb97d1d49; if (puVar8 == (undefined8 *)0x0) { local_58 = &DAT_18265dd58; LOCK(); bVar11 = DAT_18265dd58 == 0; if (bVar11) { DAT_18265dd58 = 1; } UNLOCK(); while (!bVar11) { LOCK(); bVar11 = DAT_18265dd58 == 0; if (bVar11) { DAT_18265dd58 = 1; } UNLOCK(); } LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar9 * 4); *(int *)(&DAT_18265dbd0 + lVar9 * 4) = 1; UNLOCK(); puVar7 = puVar10; puVar8 = DAT_18265dd50; while (DAT_18265dd50 = puVar8, iVar1 != 0) { uVar4 = (uint)puVar7; if ((3 < uVar4) && (0xf < uVar4)) { Sleep((uint)(0x1f < uVar4)); } puVar7 = (undefined8 *)(ulonglong)(uVar4 + 1); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar9 * 4); *(int *)(&DAT_18265dbd0 + lVar9 * 4) = 1; UNLOCK(); puVar8 = DAT_18265dd50; } *(undefined4 *)(&DAT_18265dbd0 + lVar9 * 4) = 0; if (puVar8 == (undefined8 *)0x0) { local_50 = (undefined8 *)FUN_1811316e0(0x10); puVar7 = puVar10; if (local_50 != (undefined8 *)0x0) { *local_50 = 0; local_50[1] = 0; puVar7 = local_50; } FUN_1805ccdd0(FUN_1805c1760,puVar7); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar9 * 4); *(int *)(&DAT_18265dbd0 + lVar9 * 4) = 1; UNLOCK(); puVar8 = puVar10; while (iVar1 != 0) { uVar4 = (uint)puVar8; if ((3 < uVar4) && (0xf < uVar4)) { Sleep((uint)(0x1f < uVar4)); } puVar8 = (undefined8 *)(ulonglong)(uVar4 + 1); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar9 * 4); *(int *)(&DAT_18265dbd0 + lVar9 * 4) = 1; UNLOCK(); } DAT_18265dd50 = puVar7; *(undefined4 *)(&DAT_18265dbd0 + lVar9 * 4) = 0; } LOCK(); UNLOCK(); DAT_18265dd58 = 0; } do { puVar10 = (undefined8 *)((-(longlong)puVar10 ^ 0xffffffffffffffffU) + 1); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { FUN_1805ca55f(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { FUN_1805c24d5(); FUN_1805ca55f(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); lVar9 = 0xd; do { lVar9 = lVar9 + -1; } while (lVar9 != 0); do { /* WARNING: Call to offcut address within same function */ func_0x0001805c0f38(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); lVar9 = 0x17; do { lVar9 = lVar9 + -1; } while (lVar9 != 0); do { FUN_1805c1138(); /* WARNING: Call to offcut address within same function */ func_0x0001805c0f38(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { FUN_1805c1d8e(0x7838); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { FUN_1805bf7e8(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_res18 = 0xfecac20910efede2; do { uVar3 = rdtsc(); uVar5 = (uint)((ulonglong)uVar3 >> 0x20); uVar6 = CONCAT44((int)((ulonglong)auStackX_8 >> 0x20),uVar5); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar3 ^ uVar5) * 0x5bd1ed55; auStackX_8[0] = (uVar4 >> 0x18 ^ uVar4) * -0x5028166b; if (auStackX_8[0] < 0xae4c40f) { do { uVar6 = 0xdedd; pcStack_68 = FUN_1813bba80; /* WARNING: Call to offcut address within same function */ func_0x0001805c09e8(&pcStack_68,0xdedd); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = (*pcStack_68)(); if (1 < uVar2) { lVar9 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar9 != -0x3333333333333334) { *(undefined8 **)register0x00000020 = puVar10; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar9 = *(longlong *)register0x00000020; } } } do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = FUN_1805ef049(0,(~uVar6 + 1 ^ 0xffffffffffffffff) + 1,FUN_1805ef049); return uVar3; } ############ FUN_ 1806afd50 size=4643 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806afd50(longlong param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined8 *param_6,undefined8 *param_7) { int *piVar1; undefined4 uVar2; undefined4 uVar3; ulonglong uVar4; size_t _Size; char cVar5; uint uVar6; int iVar7; undefined4 uVar8; uint uVar9; undefined8 uVar10; HANDLE pvVar11; longlong lVar12; undefined8 *puVar13; tm *ptVar14; void **ppvVar15; longlong lVar16; longlong *plVar17; undefined1 *puVar18; undefined1 *puVar19; uint *puVar20; ushort uVar21; size_t _Size_00; ushort uVar22; ushort uVar23; char *_Buf2; undefined1 auStack_1cc8 [32]; void **local_1ca8; void ***local_1ca0; undefined1 local_1c98 [4]; uint local_1c94; undefined4 local_1c90; longlong local_1c88; ulonglong local_1c80; undefined8 local_1c78; longlong local_1c70; void *local_1c68; longlong lStack_1c60; undefined8 local_1c58; undefined4 local_1c50; undefined4 local_1c4c; undefined4 local_1c40 [2]; undefined4 local_1c38 [2]; undefined4 local_1c30 [2]; undefined4 local_1c28 [2]; undefined4 local_1c20 [2]; undefined4 local_1c18 [2]; undefined4 local_1c10 [2]; undefined4 local_1c08 [2]; undefined4 local_1c00 [4]; undefined4 local_1bf0 [2]; undefined8 *local_1be8; undefined4 local_1be0 [2]; longlong local_1bd8 [2]; void **local_1bc8; undefined1 *puStack_1bc0; undefined1 local_1bb8 [8]; ulonglong local_1bb0; undefined8 local_1ba8; undefined8 uStack_1ba0; undefined8 local_1b98; void **local_1b88; longlong lStack_1b80; longlong local_1b78; char *local_1b70; undefined8 local_1b68; char *local_1b60; undefined1 local_1b58 [8]; undefined8 local_1b50; undefined8 local_1b48; char *local_1b40; longlong local_1b38; char *local_1b30; longlong local_1b28; longlong local_1b20; char *local_1b18; char *local_1b10; char *local_1b08; longlong local_1b00; longlong local_1af8; char *local_1af0 [2]; char *local_1ae0; longlong local_1ad8; longlong local_1ad0; undefined1 local_1ac8 [8]; undefined1 local_1ac0 [8]; int *local_1ab8; char local_1ab0; undefined8 local_1aa8; longlong local_1aa0; int *local_1a98; char local_1a90; int *local_1a88; char local_1a80; undefined8 local_1a78; __time64_t local_1a70; undefined8 local_1a68; longlong local_1a60; longlong lStack_1a58; undefined8 local_1a50; undefined8 local_1a48; undefined8 uStack_1a40; undefined8 local_1a38; undefined8 local_1a30; undefined8 uStack_1a28; undefined8 local_1a20; void **local_1a18; longlong lStack_1a10; undefined1 local_1a08 [8]; longlong *local_1a00; void **local_19f8; undefined1 *puStack_19f0; undefined1 local_19e8 [16]; undefined1 local_19d8 [8]; undefined8 local_19d0; undefined1 auStack_19c4 [4]; undefined1 auStack_19c0 [8]; undefined8 local_19b8; undefined8 uStack_19b0; undefined8 local_19a8; undefined8 uStack_19a0; undefined8 local_1998; undefined8 uStack_1990; undefined8 local_1988; undefined8 uStack_1980; undefined8 local_1978; undefined8 uStack_1970; undefined4 local_1968; undefined4 uStack_1964; undefined4 uStack_1960; undefined4 uStack_195c; undefined4 local_1958; undefined4 uStack_1954; undefined4 uStack_1950; undefined4 uStack_194c; undefined1 local_1948 [32]; longlong local_1928 [48]; undefined **local_17a8; undefined1 local_17a0; undefined7 uStack_179f; longlong local_1790; ulonglong local_1788; undefined8 local_1780; undefined8 local_1778; undefined8 uStack_1770; undefined8 local_1768; undefined8 uStack_1760; undefined8 local_1758; undefined8 local_1750; undefined4 local_1748 [2]; undefined8 local_1740; undefined4 local_1738; undefined2 local_1734; undefined1 local_1732; undefined1 local_1728; undefined7 uStack_1727; ulonglong local_1718; ulonglong local_1710; char local_1708; undefined7 uStack_1707; size_t local_16f8; ulonglong local_16f0; undefined **local_16e8; undefined1 local_16e0; undefined7 uStack_16df; longlong local_16d0; ulonglong local_16c8; undefined8 local_16c0; undefined8 local_16b8; undefined8 uStack_16b0; undefined8 local_16a8; undefined8 uStack_16a0; undefined8 local_1698; undefined8 uStack_1690; undefined8 local_1688; undefined8 uStack_1680; undefined8 local_1678; undefined8 local_1670; undefined8 local_1668; undefined8 uStack_1660; undefined8 local_1658; undefined8 uStack_1650; undefined8 local_1648; undefined8 local_1640; undefined4 local_1638; undefined1 local_1634; undefined4 local_1628; undefined4 uStack_1624; undefined4 uStack_1620; undefined4 uStack_161c; undefined1 local_1618 [16]; undefined8 local_1608; undefined8 local_1600; undefined8 local_15f8; undefined8 local_15f0; undefined8 local_15e8; undefined8 local_15e0; undefined8 local_15d8; undefined8 local_15d0; undefined8 local_15c8; undefined1 local_15c0 [32]; undefined1 local_15a0 [32]; undefined1 local_1580 [32]; undefined1 local_1560 [56]; undefined1 local_1528 [48]; ulonglong local_14f8; uint uStack_14f0; undefined8 local_14e8; undefined8 uStack_14e0; undefined8 local_14d8; undefined8 uStack_14d0; undefined8 local_14c8; undefined8 uStack_14c0; undefined8 local_14b8; undefined8 uStack_14b0; undefined8 local_14a8; undefined8 uStack_14a0; undefined4 local_1498; undefined4 uStack_1494; undefined4 uStack_1490; undefined4 uStack_148c; undefined4 local_1488; undefined4 uStack_1484; undefined4 uStack_1480; undefined4 uStack_147c; undefined4 local_1478; undefined4 uStack_1474; undefined4 uStack_1470; undefined4 uStack_146c; undefined1 local_1348 [112]; undefined1 local_12d8 [112]; undefined1 local_1268 [112]; undefined1 local_11f8 [8]; longlong local_11f0 [281]; undefined1 local_928 [2240]; ulonglong local_68; undefined8 uStack_48; uStack_48 = 0x1806afd6f; local_19d0 = 0xfffffffffffffffe; local_68 = DAT_182615970 ^ (ulonglong)auStack_1cc8; local_1c70 = CONCAT44(local_1c70._4_4_,param_3); local_1c20[0] = param_5; local_1a78 = 0x7ffffffffffffffe; local_1c50 = 0xfffffffe; local_1c90 = param_4; local_1c4c = param_2; local_1ad0 = param_1; FUN_1805b41e0(&local_1c88,&local_1c50,&local_1a78); local_1ad8 = param_1 + 0x18; FUN_1805b45f0(&local_1ab8,local_1ad8); uVar10 = FUN_1806ab5b0(); local_1ca8 = (void **)CONCAT44(local_1ca8._4_4_,1); uVar10 = FUN_18066b810(local_1a08,uVar10,0,2); FUN_18067dba0(param_1 + 8,uVar10); if (local_1a00 != (longlong *)0x0) { LOCK(); plVar17 = local_1a00 + 1; lVar12 = *plVar17; *(int *)plVar17 = (int)*plVar17 + -1; UNLOCK(); if ((int)lVar12 == 1) { (**(code **)(*local_1a00 + 8))(local_1a00); LOCK(); piVar1 = (int *)((longlong)local_1a00 + 0xc); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)(*local_1a00 + 0x10))(local_1a00); } } } uVar3 = local_1c4c; *(undefined4 *)(param_1 + 0x30) = local_1c4c; uVar8 = (undefined4)local_1c70; *(undefined4 *)(param_1 + 0x34) = (undefined4)local_1c70; *(undefined4 *)(param_1 + 0x38) = local_1c90; *(undefined4 *)(param_1 + 0x3c) = param_5; if ((local_1ab0 != '\0') && (*local_1ab8 = *local_1ab8 + -1, *local_1ab8 == 0)) { LOCK(); local_1ab8[1] = 0; UNLOCK(); puVar20 = (uint *)(local_1ab8 + 2); LOCK(); uVar6 = *puVar20; *puVar20 = *puVar20 + 0x80000000; UNLOCK(); if (((uVar6 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar6)) { LOCK(); uVar6 = *puVar20; *puVar20 = *puVar20 | 0x40000000; UNLOCK(); if ((uVar6 >> 0x1e & 1) == 0) { pvVar11 = (HANDLE)FUN_1805a9100(); SetEvent(pvVar11); } } } if (param_6 != (undefined8 *)0x0) { param_6[2] = 0; puVar13 = param_6; if (0xf < (ulonglong)param_6[3]) { puVar13 = (undefined8 *)*param_6; } *(undefined1 *)puVar13 = 0; } if (param_7 != (undefined8 *)0x0) { param_7[2] = 0; puVar13 = param_7; if (0xf < (ulonglong)param_7[3]) { puVar13 = (undefined8 *)*param_7; } *(undefined1 *)puVar13 = 0; } FUN_1806863a0(param_1); local_17a8 = pace::eden::thrift::authorize::OpenEncryptedChannelInput::vftable; local_1790 = 0; local_1788 = 0xf; local_17a0 = 0; FUN_1805a6cb0(&local_17a0,&DAT_181baf991,0); local_1780 = 0; local_1778 = 0; uStack_1770 = 0; local_1768 = 0; uStack_1760 = 0; local_1758 = 0; local_1750 = 0; local_1748[0] = 0; local_1740 = 0; local_1738 = 0; local_1734 = 0; local_1732 = 0; local_16e8 = pace::eden::thrift::authorize::OpenEncryptedChannelReturn::vftable; local_16d0 = 0; local_16c8 = 0xf; local_16e0 = 0; FUN_1805a6cb0(&local_16e0,&DAT_181baf991,0); uVar2 = local_1c90; local_16c0 = 0; local_16b8 = 0; uStack_16b0 = 0; local_16a8 = 0; uStack_16a0 = 0; local_1698 = 0; uStack_1690 = 0; local_1688 = 0; uStack_1680 = 0; local_1678 = 0; local_1670 = 0; local_1668 = 0; uStack_1660 = 0; local_1658 = 0; uStack_1650 = 0; local_1648 = 0; local_1640 = 4; local_1638 = 0; local_1634 = 0; local_1750 = CONCAT44(uVar8,uVar3); local_1748[0] = local_1c90; local_1740 = FUN_1806d2560(); FUN_180738860(local_928,local_1750 & 0xffffffff); uVar6 = FUN_1807002d0(uVar2); local_1c94 = uVar6; if (uVar6 == 0) { local_1be8 = (undefined8 *)FUN_1811316e0(0x18); if (local_1be8 == (undefined8 *)0x0) { lVar12 = 0; } else { lVar12 = FUN_1805a48c0(local_1be8,"Encryption Algorithm %d not supported"); } puVar13 = (undefined8 *)FUN_1811316e0(0x18); local_1be8 = puVar13; if (puVar13 != (undefined8 *)0x0) { FUN_1805a48c0(puVar13,"|__FILE__|%s|__LINE__|%d"); *puVar13 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar12 + 8),local_1748); } FUN_180937700(local_11f8,local_1750 & 0xffffffff); (**(code **)(local_11f0[0] + 0x20))(local_11f0,&local_15f8,local_1348); FUN_18073e970(local_1348,&local_1780,&local_1768); _time64(&local_1a70); ptVar14 = _gmtime64(&local_1a70); if (ptVar14 == (tm *)0x0) { uVar10 = FUN_1805b6c80(local_1948,"could not convert calendar time to UTC time"); /* WARNING: Subroutine does not return */ FUN_1805b3e60(uVar10); } FUN_1805bd670(local_1bb8,ptVar14); FUN_180663c70(local_1bb8,&local_17a0); local_1c68 = (void *)0x0; lStack_1c60 = 0; ppvVar15 = (void **)0x0; local_1c58 = 0; local_1c98[0] = 0xa5; local_1bc8 = &local_1c68; puStack_1bc0 = local_1c98; local_19f8 = local_1bc8; puStack_19f0 = puStack_1bc0; FUN_1805e1ee0(&local_1c68,0x10,&local_19f8); local_1bc8 = (void **)0x0; puStack_1bc0 = (undefined1 *)0x0; local_1c70 = FUN_1811316e0(0x240); if (local_1c70 != 0) { local_1ca8 = &local_1c68; ppvVar15 = (void **)FUN_18063c260(local_1c70,0,1,0); } local_1b88 = ppvVar15; FUN_18066b4e0(&lStack_1b80,ppvVar15); FUN_1805ae620(&local_1b88,ppvVar15,ppvVar15); ppvVar15 = local_1b88; local_1bc8 = local_1b88; puStack_1bc0 = (undefined1 *)lStack_1b80; local_1a30 = 0; uStack_1a28 = 0; local_1a20 = 0; local_1a60 = 0; lStack_1a58 = 0; local_1a50 = 0; FUN_180673ff0(&local_17a8,&local_1a30,1); FUN_1805b45f0(&local_1a98,param_1 + 0x18); local_1a18 = ppvVar15; lStack_1a10 = lStack_1b80; if (lStack_1b80 != 0) { LOCK(); *(int *)(lStack_1b80 + 8) = *(int *)(lStack_1b80 + 8) + 1; UNLOCK(); uVar6 = local_1c94; } local_1aa8 = *(undefined8 *)(param_1 + 8); local_1aa0 = *(longlong *)(param_1 + 0x10); if (local_1aa0 != 0) { LOCK(); *(int *)(local_1aa0 + 8) = *(int *)(local_1aa0 + 8) + 1; UNLOCK(); uVar6 = local_1c94; } _Size_00 = (size_t)uVar6; local_1ca0 = &local_1a18; local_1ca8 = (void **)((ulonglong)local_1ca8 & 0xffffffff00000000); FUN_1806b91d0(0x1a,&local_1a30,&local_1a60,&local_1aa8); if ((local_1a90 != '\0') && (*local_1a98 = *local_1a98 + -1, *local_1a98 == 0)) { LOCK(); local_1a98[1] = 0; UNLOCK(); puVar20 = (uint *)(local_1a98 + 2); LOCK(); uVar6 = *puVar20; *puVar20 = *puVar20 + 0x80000000; UNLOCK(); if (((uVar6 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar6)) { LOCK(); uVar6 = *puVar20; *puVar20 = *puVar20 | 0x40000000; UNLOCK(); if ((uVar6 >> 0x1e & 1) == 0) { pvVar11 = (HANDLE)FUN_1805a9100(); SetEvent(pvVar11); } } _Size_00 = (size_t)local_1c94; } FUN_180671f40(local_1a60,lStack_1a58 - local_1a60,&local_16e8); FUN_1805b45f0(&local_1a88,param_1 + 0x18); *(undefined4 *)(param_1 + 0x40) = (undefined4)local_1678; if ((local_1a80 != '\0') && (*local_1a88 = *local_1a88 + -1, *local_1a88 == 0)) { LOCK(); local_1a88[1] = 0; UNLOCK(); puVar20 = (uint *)(local_1a88 + 2); LOCK(); uVar6 = *puVar20; *puVar20 = *puVar20 + 0x80000000; UNLOCK(); if (((uVar6 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar6)) { LOCK(); uVar6 = *puVar20; *puVar20 = *puVar20 | 0x40000000; UNLOCK(); if ((uVar6 >> 0x1e & 1) == 0) { pvVar11 = (HANDLE)FUN_1805a9100(); SetEvent(pvVar11); } } _Size_00 = (size_t)local_1c94; } FUN_180660c00(local_1bd8,&local_16e0,0); local_1a68 = 0x7ffffffffffffffe; local_1c40[0] = 0xfffffffe; FUN_1805b41e0(&local_1b78,local_1c40,&local_1a68); if (local_1bd8[0] == local_1b78) { lVar12 = FUN_1805c0220("licenseD_CallTime (%s) is not a valid date"); lVar16 = FUN_1805c0260(); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),&local_16e0); local_1c38[0] = 0xd80; local_1b70 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar16 + 8),&local_1b70); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_1c38); } FUN_1805c5170(&local_1c78,local_1bd8,local_1bb8); FUN_180661ba0(&local_1c78,&local_1c80); local_1b68 = 0; iVar7 = FUN_1805bd370(&local_1c78,&local_1b68); if ((iVar7 != -1) && (300 < local_1c80)) { lVar12 = FUN_1805c0220( "The openEncryptedChannel client_CallTime to licenseD_CallTime (%d second) was too long " ); lVar16 = FUN_1805c0260(); FUN_1805b2520(*(undefined8 *)(lVar12 + 8),&local_1c80); local_1c30[0] = 0xd8b; local_1b60 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar16 + 8),&local_1b60); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_1c30); } FUN_1806a8a70(local_1b58); FUN_1805c5170(&local_1b50,local_1b58,local_1bd8); local_1c78 = local_1b50; FUN_180661ba0(&local_1c78,&local_1c80); local_1b48 = 0; iVar7 = FUN_1805bd370(&local_1c78,&local_1b48); if ((iVar7 != -1) && (300 < local_1c80)) { lVar12 = FUN_1805c0220( "The openEncryptedChannel licenseD_CallTime to command finish (%d second) was too long" ); lVar16 = FUN_1805c0260(); FUN_1805b2520(*(undefined8 *)(lVar12 + 8),&local_1c80); local_1c28[0] = 0xd98; local_1b40 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar16 + 8),&local_1b40); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_1c28); } local_1ba8 = 0; uStack_1ba0 = 0; local_1b98 = 0; puVar18 = &local_17a0; if (0xf < local_1788) { puVar18 = (undefined1 *)CONCAT71(uStack_179f,local_17a0); } puVar19 = &local_17a0; if (0xf < local_1788) { puVar19 = (undefined1 *)CONCAT71(uStack_179f,local_17a0); } FUN_1805e1990(&local_1ba8,puVar19,puVar18 + local_1790); uVar21 = (ushort)((ulonglong)local_1740 >> 0x10); uVar22 = (ushort)((ulonglong)local_1740 >> 0x20); uVar23 = (ushort)((ulonglong)local_1740 >> 0x30); local_1bb0 = (ulonglong) CONCAT22((ushort)local_1740 << 8 | (ushort)local_1740 >> 8,uVar21 << 8 | uVar21 >> 8) << 0x20 | (ulonglong)(ushort)(uVar22 << 8 | uVar22 >> 8) << 0x10 | (ulonglong)(ushort)(uVar23 << 8 | uVar23 >> 8); local_1ca8._0_1_ = local_1c98[0]; FUN_1805d5a60(&local_1ba8,uStack_1ba0,&local_1bb0,&local_1ba8); puVar18 = &local_16e0; if (0xf < local_16c8) { puVar18 = (undefined1 *)CONCAT71(uStack_16df,local_16e0); } puVar19 = &local_16e0; if (0xf < local_16c8) { puVar19 = (undefined1 *)CONCAT71(uStack_16df,local_16e0); } local_1ca8 = (void **)CONCAT71(local_1ca8._1_7_,local_1c98[0]); FUN_1805d5a60(&local_1ba8,uStack_1ba0,puVar19,puVar18 + local_16d0); FUN_18073d980(&local_16c0,&local_16a8,local_12d8); local_1ca0 = &local_1c68; local_1ca8 = (void **)&local_1ba8; uVar6 = (uint)_Size_00; FUN_180938570(local_11f8,_Size_00,&local_15f8,local_12d8); if (lStack_1c60 - (longlong)local_1c68 != _Size_00) { lVar12 = FUN_1805c0220("The actual key size %d is not the expected size %d"); lVar16 = FUN_1805c0260(); local_1b38 = lStack_1c60 - (longlong)local_1c68; FUN_1805b2520(*(undefined8 *)(lVar12 + 8),&local_1b38); FUN_18060e760(*(undefined8 *)(lVar12 + 8),&local_1c94); local_1be0[0] = 0xdd9; local_1b30 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar16 + 8),&local_1b30); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_1be0); } local_15f8 = 0; local_15f0 = 0; local_15e8 = 0; local_15e0 = 0; local_15d8 = 0; local_15d0 = 0; local_15c8 = 0; FUN_1807da7c0(local_1528,0,local_1c20,&uStack_1690); if ((param_6 != (undefined8 *)0x0) || (param_7 != (undefined8 *)0x0)) { local_1628 = local_1478; uStack_1624 = uStack_1474; uStack_1620 = uStack_1470; uStack_161c = uStack_146c; if (param_6 != (undefined8 *)0x0) { plVar17 = (longlong *)FUN_18076a230(local_19d8,&local_1628); local_1c88 = *plVar17; FUN_1805b6b80(&local_1b28,0); if (local_1c88 != local_1b28) { uVar10 = FUN_180662d40(local_15c0,&local_1c88); FUN_1805a5a40(param_6,uVar10); FUN_180485450(local_15c0); } } if (param_7 != (undefined8 *)0x0) { plVar17 = (longlong *)FUN_18076a230(local_1ac8,&uStack_1620); local_1c88 = *plVar17; FUN_1805b6b80(&local_1b20,0); if (local_1c88 != local_1b20) { uVar10 = FUN_180662d40(local_15a0,&local_1c88); FUN_1805a5a40(param_7,uVar10); FUN_180485450(local_15a0); } } } uVar10 = FUN_1807e3f30(local_1528,local_1580); cVar5 = FUN_18093c400(uVar10); FUN_180485450(local_1580); if (cVar5 != '\0') { FUN_1805c0220("LicenseD\'s cert is no longer valid"); lVar12 = FUN_1805c0260(); local_1c18[0] = 0xe14; local_1b18 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&local_1b18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_1c18); } local_19b8 = local_14e8; uStack_19b0 = uStack_14e0; local_19a8 = local_14d8; uStack_19a0 = uStack_14d0; local_1998 = local_14c8; uStack_1990 = uStack_14c0; local_1988 = local_14b8; uStack_1980 = uStack_14b0; local_1978 = local_14a8; uStack_1970 = uStack_14a0; local_1968 = local_1498; uStack_1964 = uStack_1494; uStack_1960 = uStack_1490; uStack_195c = uStack_148c; local_1958 = local_1488; uStack_1954 = uStack_1484; uStack_1950 = uStack_1480; uStack_194c = uStack_147c; uVar9 = (uint)(local_14f8 >> 0x20); if (((((uVar9 & 0x800028) != 0x800028) || ((local_14f8 >> 0x20 & 0x10) != 0)) || ((uVar9 & 0x80003f) != 0x80002a)) || (((uStack_14f0 & 0x800) == 0 || ((byte)local_14f8 < 2)))) { lVar12 = FUN_1805c0220( "Bad privileges (Privilege: 0x%08X, MorePrivilege: 0x%08X) for a LicenseD certificate" ); lVar16 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar12 + 8),auStack_19c4); FUN_18060e760(*(undefined8 *)(lVar12 + 8),auStack_19c0); local_1c10[0] = 0xe28; local_1b10 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar16 + 8),&local_1b10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_1c10); } local_1718 = 0; local_1710 = 0xf; local_1728 = 0; local_16f8 = 0; local_16f0 = 0xf; local_1708 = '\0'; FUN_1805a6cb0(&local_1708,"LicenseD ",9); FUN_1807e1d40(local_1528,&local_1728); _Size = local_16f8; uVar4 = local_1718; _Buf2 = &local_1708; if (0xf < local_16f0) { _Buf2 = (char *)CONCAT71(uStack_1707,local_1708); } puVar18 = (undefined1 *)CONCAT71(uStack_1727,local_1728); puVar19 = &local_1728; if (0xf < local_1710) { puVar19 = puVar18; } if (local_16f8 <= local_1718) { if (local_16f8 == 0) { LAB_1806b0c88: local_1608 = 0; local_1600 = 0xf; local_1618[0] = 0; if (uVar4 < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } local_1b00 = uVar4 - _Size; puVar19 = &local_1728; if (0xf < local_1710) { puVar19 = puVar18; } local_1af8 = local_1b00; FUN_1805a6cb0(local_1618,puVar19 + _Size,local_1b00); iVar7 = FUN_18060c070(local_1618); if (iVar7 != (int)local_1640) { FUN_1805c0220( "The LicenseD service version in the cert does not match the service version on the openEncryptedChannel function" ); lVar12 = FUN_1805c0260(); local_1c00[0] = 0xe3e; local_1af0[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),local_1af0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_1c00); } FUN_1807dfee0(local_1528,local_1750 & 0xffffffff,local_1ac0,local_1268); local_1a48 = 0; uStack_1a40 = 0; local_1a38 = 0; FUN_180682a40(&local_16e8,&local_17a8,&local_1a48,4); uVar8 = 0x20; if (local_1678._4_4_ == 0) { uVar8 = FUN_180741570(local_928); } else if (local_1678._4_4_ != 2) { lVar12 = FUN_1805c0220("Hash truncation method %d is not supported"); FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar12 + 8),(longlong)&local_1678 + 4); } FUN_180610750(local_1928,local_1750._4_4_); FUN_180616fa0(local_1928,&local_1a48); (**(code **)(local_1928[0] + 0x40))(local_1928,uVar8,0,local_1560); local_1ca8 = (void **)&local_1658; cVar5 = FUN_180746170(local_928,local_1268,local_1560,&local_1670); if (cVar5 == '\0') { FUN_1805c0220("Bad signature on openEncryptedChannel command"); lVar12 = FUN_1805c0260(); local_1bf0[0] = 0xeb1; local_1ae0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&local_1ae0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_1bf0); } uVar9 = (int)local_1668 - (int)local_1670; if (uVar6 < uVar9) { uVar9 = uVar6; } if (uVar9 != 0) { FUN_180620470(local_1c68,local_1670,uVar9); } uVar9 = (int)uStack_1650 - (int)local_1658; if (uVar6 < uVar9) { uVar9 = uVar6; } if (uVar9 != 0) { FUN_180620470(local_1c68,local_1658,uVar9); } local_1ca8 = &local_1c68; (**(code **)((longlong)*local_1b88 + 0x10))(local_1b88,local_1c90,1,0); memset(local_1c68,0,_Size_00); FUN_1805b45f0(local_19e8,local_1ad8); FUN_180644560(local_1ad0 + 0x48,&local_1bc8); FUN_1805b7220(local_19e8); FUN_1806120b0(local_1928); FUN_180575ed0(&local_1a48); FUN_180485450(local_1618); FUN_180485450(&local_1708); FUN_180485450(&local_1728); FUN_1807dc8a0(local_1528); FUN_180575ed0(&local_1ba8); FUN_180575ed0(&local_1a60); FUN_180575ed0(&local_1a30); FUN_1805a4e80(&local_1bc8); FUN_180575ed0(&local_1c68); FUN_1809383a0(local_11f8); FUN_18073a080(local_928); FUN_18067c7b0(&local_16e8); FUN_18067c6a0(&local_17a8); } lVar12 = local_1718 - local_16f8; puVar18 = memchr(puVar19,(int)*_Buf2,lVar12 + 1); while (puVar18 != (undefined1 *)0x0) { iVar7 = memcmp(puVar18,_Buf2,_Size); if (iVar7 == 0) { if (puVar18 == puVar19) { puVar18 = (undefined1 *)CONCAT71(uStack_1727,local_1728); goto LAB_1806b0c88; } break; } puVar18 = memchr(puVar18 + 1,(int)*_Buf2, (size_t)(puVar19 + ((lVar12 + 1) - (longlong)(puVar18 + 1)))); } } lVar12 = FUN_1805c0220( "\"LicenseD \" is not at the beginning of the cert\'s BusinessCategory (Actual: %s)" ); lVar16 = FUN_1805c0260(); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),&local_1728); local_1c08[0] = 0xe34; local_1b08 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar16 + 8),&local_1b08); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_1c08); } ############ FUN_ 1805a0a80 size=93 ############ undefined8 * FUN_1805a0a80(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x20); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_pd,std::allocator_>*___ptr64,boost::io::basic_oaltstringstream,std::allocator_>::No_Op> ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1805a14a0 size=313 ############ undefined8 * FUN_1805a14a0(undefined8 *param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; void *_Src; longlong lVar3; ulonglong uVar4; ulonglong uVar5; ulonglong uVar6; void *pvVar7; lVar1 = param_1[2]; if (0x7fffffffffffffffU - lVar1 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a6980(); } uVar2 = param_1[3]; uVar4 = lVar1 + param_2 | 0xf; uVar6 = 0x7fffffffffffffff; if (((uVar4 < 0x8000000000000000) && (uVar2 <= 0x7fffffffffffffff - (uVar2 >> 1))) && (uVar5 = (uVar2 >> 1) + uVar2, uVar6 = uVar4, uVar4 < uVar5)) { uVar6 = uVar5; } uVar4 = uVar6 + 1; if (uVar4 < 0x1000) { if (uVar4 == 0) { pvVar7 = (void *)0x0; } else { pvVar7 = (void *)FUN_1811316e0(uVar4); } } else { uVar5 = uVar6 + 0x28; if (uVar5 <= uVar4) { uVar5 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar5); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar7 = (void *)(lVar3 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar7 - 8) = lVar3; } param_1[2] = lVar1 + param_2; param_1[3] = uVar6; if (uVar2 < 0x10) { memcpy(pvVar7,param_1,lVar1 + 1U); *param_1 = pvVar7; return param_1; } _Src = (void *)*param_1; memcpy(pvVar7,_Src,lVar1 + 1U); pvVar7 = _Src; if ((0xfff < uVar2 + 1) && (pvVar7 = *(void **)((longlong)_Src + -8), 0x1f < (ulonglong)((longlong)_Src + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } ############ FUN_ 1805a48c0 size=147 ############ undefined8 * FUN_1805a48c0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; *param_1 = pace::PaceFormatter::vftable; lVar2 = FUN_1811316e0(0x108); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a3f20(lVar2,param_2); } plVar1 = param_1 + 1; *plVar1 = lVar2; FUN_1805a0ae0(param_1 + 2,lVar2); FUN_1805ae620(plVar1,lVar2,lVar2,param_4,uVar3); *(undefined1 *)(*plVar1 + 0x68) = 0; return param_1; } ############ FUN_ 1805a0ae0 size=97 ############ undefined8 * FUN_1805a0ae0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p,std::allocator_>_> ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1805a15e0 size=378 ############ undefined8 * FUN_1805a15e0(undefined8 *param_1,ulonglong param_2,undefined8 param_3,size_t param_4,char param_5) { size_t _Size; ulonglong uVar1; void *_Src; longlong lVar2; ulonglong uVar3; ulonglong uVar4; ulonglong uVar5; void *pvVar6; _Size = param_1[2]; if (0x7fffffffffffffff - _Size < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a6980(); } uVar1 = param_1[3]; uVar3 = _Size + param_2 | 0xf; uVar5 = 0x7fffffffffffffff; if (((uVar3 < 0x8000000000000000) && (uVar1 <= 0x7fffffffffffffff - (uVar1 >> 1))) && (uVar4 = (uVar1 >> 1) + uVar1, uVar5 = uVar3, uVar3 < uVar4)) { uVar5 = uVar4; } uVar3 = uVar5 + 1; if (uVar3 < 0x1000) { if (uVar3 == 0) { pvVar6 = (void *)0x0; } else { pvVar6 = (void *)FUN_1811316e0(uVar3); } } else { uVar4 = uVar5 + 0x28; if (uVar4 <= uVar3) { uVar4 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar4); if (lVar2 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar6 = (void *)(lVar2 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar6 - 8) = lVar2; } param_1[2] = _Size + param_2; param_1[3] = uVar5; if (uVar1 < 0x10) { memcpy(pvVar6,param_1,_Size); memset((void *)((longlong)pvVar6 + _Size),(int)param_5,param_4); *(undefined1 *)((longlong)((longlong)pvVar6 + _Size) + param_4) = 0; *param_1 = pvVar6; return param_1; } _Src = (void *)*param_1; memcpy(pvVar6,_Src,_Size); memset((void *)((longlong)pvVar6 + _Size),(int)param_5,param_4); *(undefined1 *)((longlong)((longlong)pvVar6 + _Size) + param_4) = 0; pvVar6 = _Src; if ((0xfff < uVar1 + 1) && (pvVar6 = *(void **)((longlong)_Src + -8), 0x1f < (ulonglong)((longlong)_Src + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } ############ FUN_ 1805a6a00 size=116 ############ void FUN_1805a6a00(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x90; if (param_2 < 0x1c71c71c71c71c8) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 1805a1150 size=450 ############ undefined8 * FUN_1805a1150(undefined8 *param_1,ulonglong param_2,undefined8 param_3,size_t param_4, longlong param_5,void *param_6,size_t param_7) { longlong lVar1; ulonglong uVar2; void *_Src; longlong lVar3; ulonglong uVar4; ulonglong uVar5; ulonglong uVar6; void *pvVar7; lVar1 = param_1[2]; if (0x7fffffffffffffffU - lVar1 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a6980(); } uVar2 = param_1[3]; uVar4 = lVar1 + param_2 | 0xf; uVar6 = 0x7fffffffffffffff; if (((uVar4 < 0x8000000000000000) && (uVar2 <= 0x7fffffffffffffff - (uVar2 >> 1))) && (uVar5 = (uVar2 >> 1) + uVar2, uVar6 = uVar4, uVar4 < uVar5)) { uVar6 = uVar5; } uVar4 = uVar6 + 1; if (uVar4 < 0x1000) { if (uVar4 == 0) { pvVar7 = (void *)0x0; } else { pvVar7 = (void *)FUN_1811316e0(uVar4); } } else { uVar5 = uVar6 + 0x28; if (uVar5 <= uVar4) { uVar5 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar5); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar7 = (void *)(lVar3 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar7 - 8) = lVar3; } param_1[2] = lVar1 + param_2; param_1[3] = uVar6; if (uVar2 < 0x10) { memcpy(pvVar7,param_1,param_4); memcpy((void *)((longlong)pvVar7 + param_4),param_6,param_7); memcpy((void *)((longlong)((longlong)pvVar7 + param_4) + param_7), (void *)(param_5 + param_4 + (longlong)param_1),((lVar1 - param_4) - param_5) + 1); *param_1 = pvVar7; return param_1; } _Src = (void *)*param_1; memcpy(pvVar7,_Src,param_4); memcpy((void *)((longlong)pvVar7 + param_4),param_6,param_7); memcpy((void *)((longlong)((longlong)pvVar7 + param_4) + param_7), (void *)((longlong)_Src + param_5 + param_4),((lVar1 - param_4) - param_5) + 1); pvVar7 = _Src; if ((0xfff < uVar2 + 1) && (pvVar7 = *(void **)((longlong)_Src + -8), 0x1f < (ulonglong)((longlong)_Src + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } ############ FUN_ 1805a19c0 size=499 ############ void FUN_1805a19c0(longlong *param_1,ulonglong param_2,longlong param_3) { undefined4 *puVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; undefined4 *puVar7; void *pvVar8; ulonglong uVar9; puVar7 = (undefined4 *)param_1[1]; lVar4 = *param_1; uVar9 = (longlong)puVar7 - lVar4 >> 2; uVar5 = param_1[2] - lVar4 >> 2; if (param_2 <= uVar5) { if (uVar9 < param_2) { puVar1 = *(undefined4 **)(param_3 + 8); for (lVar4 = param_2 - uVar9; lVar4 != 0; lVar4 = lVar4 + -1) { *puVar7 = *puVar1; puVar7 = puVar7 + 1; } param_1[1] = (longlong)puVar7; return; } if (param_2 != uVar9) { param_1[1] = lVar4 + param_2 * 4; } return; } if (0x3fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar3 = param_2; if ((uVar5 <= 0x3fffffffffffffff - (uVar5 >> 1)) && (uVar3 = (uVar5 >> 1) + uVar5, uVar3 < param_2)) { uVar3 = param_2; } uVar5 = uVar3 * 4; if (uVar3 < 0x4000000000000000) { uVar3 = uVar5; if (uVar5 < 0x1000) { if (uVar5 == 0) { pvVar8 = (void *)0x0; } else { pvVar8 = (void *)FUN_1811316e0(uVar5); } goto LAB_1805a1ab0; } } else { uVar3 = 0xffffffffffffffff; } uVar6 = uVar3 + 0x27; if (uVar6 <= uVar3) { uVar6 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar6); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar8 = (void *)(lVar4 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar8 - 8) = lVar4; LAB_1805a1ab0: puVar7 = (undefined4 *)((longlong)pvVar8 + uVar9 * 4); puVar1 = *(undefined4 **)(param_3 + 8); for (lVar4 = param_2 - uVar9; lVar4 != 0; lVar4 = lVar4 + -1) { *puVar7 = *puVar1; puVar7 = puVar7 + 1; } memmove(pvVar8,(void *)*param_1,param_1[1] - *param_1); pvVar2 = (void *)*param_1; if (pvVar2 != (void *)0x0) { pvVar8 = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xfffffffffffffffcU)) && (pvVar8 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } *param_1 = (longlong)pvVar8; param_1[1] = (longlong)((longlong)pvVar8 + param_2 * 4); param_1[2] = (longlong)(uVar5 + (longlong)pvVar8); return; } ############ FUN_ 1805c0220 size=64 ############ undefined8 FUN_1805c0220(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; lVar1 = FUN_1811316e0(0x18); if (lVar1 != 0) { uVar2 = FUN_1805a48c0(lVar1,param_1,param_3,param_4,uVar2); return uVar2; } return 0; } ############ FUN_ 1805c0260 size=80 ############ undefined8 * FUN_1805c0260(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; return puVar1; } return (undefined8 *)0x0; } ############ FUN_ 1805bc8b0 size=91 ############ ulonglong FUN_1805bc8b0(undefined8 param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; if (param_2 < 0x1000) { if (param_2 != 0) { uVar2 = FUN_1811316e0(param_2); return uVar2; } return 0; } uVar2 = param_2 + 0x27; if (uVar2 <= param_2) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 != 0) { uVar2 = lVar1 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar1; return uVar2; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 1805f1950 size=354 ############ _Facet_base * FUN_1805f1950(longlong param_1) { longlong lVar1; _Facet_base *p_Var2; __uint64 _Var3; _Locimp *p_Var4; facet *this; undefined8 uVar5; char *pcVar6; _Facet_base *p_Var7; _Facet_base *p_Var8; _Lockit local_res10 [8]; facet *local_res18; _Locinfo local_90 [104]; p_Var7 = (_Facet_base *)0x0; std::_Lockit::_Lockit(local_res10,0); p_Var2 = DAT_18265f138; _Var3 = std::locale::id::operator_unsigned___int64((id *)id_exref); lVar1 = *(longlong *)(param_1 + 8); p_Var8 = p_Var7; if ((_Var3 < *(ulonglong *)(lVar1 + 0x18)) && (p_Var8 = *(_Facet_base **)(*(longlong *)(lVar1 + 0x10) + _Var3 * 8), p_Var8 != (_Facet_base *)0x0)) goto LAB_1805f1a93; if (*(char *)(lVar1 + 0x24) == '\0') { LAB_1805f19ce: if (p_Var8 != (_Facet_base *)0x0) goto LAB_1805f1a93; } else { p_Var4 = std::locale::_Getgloballocale(); if (_Var3 < *(ulonglong *)(p_Var4 + 0x18)) { p_Var8 = *(_Facet_base **)(*(longlong *)(p_Var4 + 0x10) + _Var3 * 8); goto LAB_1805f19ce; } } p_Var8 = p_Var2; if (p_Var2 == (_Facet_base *)0x0) { this = (facet *)FUN_1811316e0(0x30); p_Var8 = p_Var7; local_res18 = this; if (this != (facet *)0x0) { lVar1 = *(longlong *)(param_1 + 8); if (lVar1 == 0) { pcVar6 = ""; } else { pcVar6 = *(char **)(lVar1 + 0x28); if (pcVar6 == (char *)0x0) { pcVar6 = (char *)(lVar1 + 0x30); } } uVar5 = std::_Locinfo::_Locinfo(local_90,pcVar6); p_Var7 = (_Facet_base *)0x1; std::locale::facet::facet(this,0); *(undefined ***)this = std::numpunct::vftable; FUN_1805f2b30(this,uVar5,1); p_Var8 = (_Facet_base *)this; } if (p_Var7 != (_Facet_base *)0x0) { std::_Locinfo::~_Locinfo(local_90); } std::_Facet_Register(p_Var8); (**(code **)(*(longlong *)p_Var8 + 8))(p_Var8); DAT_18265f138 = p_Var8; } LAB_1805f1a93: std::_Lockit::~_Lockit(local_res10); return p_Var8; } ############ FUN_ 18063f370 size=447 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18063f370(longlong param_1,ulonglong param_2,undefined2 param_3,undefined8 param_4, undefined8 *param_5) { uint uVar1; longlong lVar2; char *pcVar3; undefined8 uVar4; void *_Memory; ulonglong _Size; ulonglong uVar5; undefined1 auStack_c8 [32]; void **local_a8; int local_98 [2]; char *local_90; void *local_88; undefined8 uStack_80; longlong local_78; undefined8 local_70; undefined1 local_68 [48]; ulonglong local_38; local_70 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_c8; *(undefined1 *)(param_1 + 0x210) = 0; local_88 = (void *)0x0; uStack_80 = 0; local_78 = 0; local_98[0] = CONCAT22(local_98[0]._2_2_,param_3); local_a8 = &local_88; FUN_18063f7c0(0,param_2,local_98); uVar1 = FUN_1807002d0(param_2 & 0xffffffff); uVar5 = (ulonglong)uVar1; _Size = param_5[1] - (longlong)*param_5; if (uVar5 < _Size) { _Size = uVar5; } memcpy(local_68,(void *)*param_5,_Size); memset(local_68 + _Size,0,uVar5 - _Size); local_a8 = (void **)local_68; local_98[0] = FUN_180700350(param_2 & 0xffffffff,param_1 + 8,(undefined2)local_98[0],local_88); if (local_98[0] != 0) { local_90 = (char *)FUN_1811316e0(0x18); if (local_90 == (char *)0x0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(local_90,"[%d] ENCR_Init error"); } pcVar3 = (char *)FUN_1811316e0(0x18); local_90 = pcVar3; if (pcVar3 == (char *)0x0) { pcVar3 = (char *)0x0; } else { FUN_1805a48c0(pcVar3,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar3 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar2 + 8),local_98); local_98[0] = 0xef; local_90 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_90); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_98); } *(undefined1 *)(param_1 + 0x210) = 1; if (local_88 == (void *)0x0) { } _Memory = local_88; if ((0xfff < (ulonglong)(local_78 - (longlong)local_88)) && (_Memory = *(void **)((longlong)local_88 + -8), 0x1f < (ulonglong)((longlong)local_88 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18063f7c0 size=480 ############ void FUN_18063f7c0(longlong param_1,undefined4 param_2,short *param_3,longlong param_4, undefined8 param_5) { short sVar1; undefined1 uVar2; int iVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 uVar6; undefined8 *puVar7; undefined8 *local_res8; undefined4 local_res10 [2]; char *local_res18; undefined8 *local_38; undefined8 *puStack_30; *(short *)(param_1 + 0x238) = *param_3; local_res10[0] = param_2; iVar3 = FUN_180700270(param_2); uVar2 = (undefined1)param_5; *(int *)(param_1 + 0x234) = iVar3; puVar7 = (undefined8 *)0x0; if (iVar3 != 0) { sVar1 = *param_3; *(bool *)(param_1 + 0x211) = sVar1 == 2; if ((param_4 == 0) || (sVar1 == 2)) { ((undefined8 *)CONCAT71(param_5._1_7_,(undefined1)param_5))[1] = *(undefined8 *)CONCAT71(param_5._1_7_,(undefined1)param_5); } else { FUN_1805b9910(CONCAT71(param_5._1_7_,(undefined1)param_5),param_4); } local_38 = (undefined8 *)CONCAT71(param_5._1_7_,uVar2); param_5._0_1_ = 0; puStack_30 = ¶m_5; FUN_1805e1ee0(local_38,*(undefined4 *)(param_1 + 0x234),&local_38); if (*(char *)(param_1 + 0x211) != '\0') { *param_3 = 0; puVar7 = (undefined8 *)(param_1 + 0x218); if (param_4 == 0) { *(undefined8 *)(param_1 + 0x220) = *puVar7; } else { FUN_1805b9910(puVar7,param_4); } param_5._0_1_ = 0; puStack_30 = ¶m_5; local_38 = puVar7; FUN_1805e1ee0(puVar7,*(undefined4 *)(param_1 + 0x234),&local_38); *(undefined4 *)(param_1 + 0x230) = 0; } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); puVar4 = puVar7; if (local_res8 != (undefined8 *)0x0) { puVar4 = (undefined8 *) FUN_1805a48c0(local_res8, "The encryption Algorithm (ID = %d) is not supported by the Encryptor"); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar5; if (puVar5 != (undefined8 *)0x0) { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; puVar7 = puVar5; } FUN_18060e760(puVar4[1],local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x322); local_res18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar6 = FUN_1805a21d0(puVar7[1],&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,&local_res8); } ############ FUN_ 18066b4e0 size=97 ############ undefined8 * FUN_18066b4e0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 18066b810 size=874 ############ undefined8 * FUN_18066b810(undefined8 *param_1,undefined8 param_2,undefined1 param_3,undefined4 param_4, int param_5) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; longlong lVar5; undefined8 uVar6; undefined8 uVar7; longlong *local_f8; longlong local_f0; longlong local_e8; undefined8 local_d8; longlong *plStack_d0; longlong local_c8 [2]; undefined8 local_b8; longlong *plStack_b0; undefined8 local_a8; longlong *plStack_a0; undefined8 local_98; longlong *plStack_90; undefined8 local_88; longlong *plStack_80; undefined8 local_78; longlong *plStack_70; undefined8 local_68; longlong *plStack_60; undefined8 local_58; undefined1 local_50 [40]; local_58 = 0xfffffffffffffffe; uVar7 = 0; lVar5 = FUN_1811316e0(0xb0); uVar6 = uVar7; local_c8[0] = lVar5; if (lVar5 != 0) { uVar6 = FUN_1805a4070(local_50,param_2); uVar6 = FUN_180927880(lVar5,uVar6); } local_d8 = uVar6; FUN_18066b780(&plStack_d0,uVar6); FUN_1805ae620(&local_d8,uVar6,uVar6); lVar5 = __RTDynamicCast(local_d8,0,&apache::thrift::transport::TTransport::RTTI_Type_Descriptor, &apache::thrift::transport::TAsioLocalSocket::RTTI_Type_Descriptor,0); local_f8 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } if (lVar5 == 0) { local_c8[0] = 0; FUN_18060c7a0(&local_f8,local_c8); } plVar1 = local_f8; FUN_18092b460(lVar5,param_5 * 1000); plVar4 = local_f8; if (plVar1 != (longlong *)0x0) { LOCK(); plVar1 = plVar1 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_f8 + 8))(local_f8); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_f8 + 0x10))(); } } } local_f0 = FUN_1811316e0(0x50); uVar6 = uVar7; if (local_f0 != 0) { local_98 = local_d8; plStack_90 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } uVar6 = FUN_180623170(local_f0,&local_98); } local_b8 = uVar6; FUN_1806230a0(&plStack_b0,uVar6); FUN_1805ae620(&local_b8,uVar6,uVar6); local_e8 = FUN_1811316e0(0x40); uVar6 = uVar7; if (local_e8 != 0) { local_88 = local_b8; plStack_80 = plStack_b0; if (plStack_b0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_b0 + 1) = (int)plStack_b0[1] + 1; UNLOCK(); } uVar6 = FUN_1806222c0(local_e8,&local_88); } local_a8 = uVar6; FUN_180621590(&plStack_a0,uVar6); FUN_1805ae620(&local_a8,uVar6,uVar6); local_78 = local_b8; plStack_70 = plStack_b0; if (plStack_b0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_b0 + 1) = (int)plStack_b0[1] + 1; UNLOCK(); } FUN_1806233d0(&local_78,param_3,param_4,0); local_e8 = FUN_1811316e0(0x60); if (local_e8 != 0) { local_68 = local_a8; plStack_60 = plStack_a0; if (plStack_a0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_a0 + 1) = (int)plStack_a0[1] + 1; UNLOCK(); } uVar7 = FUN_180674ad0(local_e8,&local_68,1); } *param_1 = uVar7; FUN_18066b470(param_1 + 1,uVar7); FUN_1805ae620(param_1,uVar7,uVar7); if (plStack_a0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_a0 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_a0 + 8))(plStack_a0); LOCK(); piVar2 = (int *)((longlong)plStack_a0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_a0 + 0x10))(plStack_a0); } } } if (plStack_b0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_b0 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_b0 + 8))(plStack_b0); LOCK(); piVar2 = (int *)((longlong)plStack_b0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_b0 + 0x10))(plStack_b0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } return param_1; } ############ FUN_ 180621590 size=96 ############ undefined8 * FUN_180621590(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1806230a0 size=97 ############ undefined8 * FUN_1806230a0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 18066b470 size=97 ############ undefined8 * FUN_18066b470(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 18066b780 size=97 ############ undefined8 * FUN_18066b780(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable ; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180671f40 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180671f40(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_18079d9a0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 1805d5580 size=97 ############ undefined8 * FUN_1805d5580(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180673ff0 size=446 ############ void FUN_180673ff0(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807b4930(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 1806acfc0 size=1156 ############ /* WARNING: Removing unreachable block (ram,0x0001806ad022) */ /* WARNING: Removing unreachable block (ram,0x0001806ad032) */ undefined * FUN_1806acfc0(void) { undefined *puVar1; int iVar2; longlong lVar3; uint uVar4; undefined1 auStack_a8 [56]; uint local_70; undefined1 *local_68; uint local_5c; undefined1 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; uVar4 = (uint)&stack0x00000000 & 0x1ff; iVar2 = (uVar4 + 2) * (uVar4 + 1) * uVar4; local_70 = (((iVar2 >> 1) - (iVar2 >> 3)) + iVar2 * 0x55555555 >> 0x1e) + 0x5b08U ^ 0x5798; uVar4 = (uint)&stack0x00000000 & 0xbff; uVar4 = (uVar4 * uVar4 * 0x10 + 4) % 0x13 | 0x1fb6f6b4; local_5c = ((int)(-uVar4 | uVar4) >> 0x1f) * -0xd37e ^ 0xdaee; local_68 = (undefined1 *)FUN_1811316e0(0x20); puVar1 = PTR_s_____pipe_com_paceap_eden_license_18260be90; if (local_68 != (undefined1 *)0x0) { *(undefined8 *)(local_68 + 0x10) = 0; *(undefined8 *)(local_68 + 0x18) = 0xf; *local_68 = 0; lVar3 = -1; do { lVar3 = lVar3 + 1; } while (puVar1[lVar3] != '\0'); local_58 = local_68; FUN_1805a6cb0(local_68); } return &DAT_1807e9958; } ############ FUN_ 1806b91d0 size=2156 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806b91d0(undefined4 param_1,undefined8 *param_2,void **param_3,longlong *param_4, uint param_5,longlong *param_6) { longlong *plVar1; int *piVar2; int iVar3; uint uVar4; undefined8 *puVar5; undefined8 uVar6; longlong lVar7; ulonglong uVar8; longlong *plVar9; ulonglong uVar10; void *_Memory; byte bVar11; ulonglong uVar12; ulonglong uVar13; byte *pbVar14; byte *pbVar15; ulonglong uVar16; byte bVar17; ulonglong uVar18; ulonglong uVar19; undefined1 auStack_228 [32]; undefined1 local_208 [8]; undefined4 local_200 [2]; byte **local_1f8; undefined1 *puStack_1f0; undefined4 local_1e8 [2]; undefined4 local_1e0 [6]; uint local_1c8; undefined **local_1b0; void *local_1a8; undefined8 uStack_1a0; longlong local_198; undefined8 local_190; undefined1 local_188; undefined8 local_184; undefined1 local_17c; longlong *local_178; char *local_170; char *local_168 [4]; ulonglong local_148; undefined8 local_140; longlong *local_138; longlong *local_130; undefined8 local_128; undefined8 local_120; byte **local_118; undefined1 *puStack_110; undefined **local_108; uint local_100; byte *local_f8; longlong lStack_f0; undefined8 local_e8; int local_e0; byte *local_d8; undefined8 uStack_d0; undefined8 local_c8; uint local_c0; undefined8 local_b8; undefined8 uStack_b0; undefined1 local_a8 [16]; undefined8 local_98; undefined8 local_90; undefined1 local_88; undefined8 local_80; undefined8 local_78; undefined8 uStack_70; undefined8 local_68; undefined4 local_60; undefined2 local_5c; undefined1 local_5a; ulonglong local_58; local_140 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_228; local_130 = param_6; local_108 = pace::eden::thrift::authorize::SendEncryptedCommandInput::vftable; local_100 = 0; local_f8 = (byte *)0x0; lStack_f0 = 0; local_e8 = 0; local_e0 = 0; local_d8 = (byte *)0x0; uStack_d0 = 0; local_c8 = 0; local_c0 = 0; local_b8 = 0; uStack_b0 = 0; local_98 = 0; local_90 = 0xf; local_a8[0] = 0; local_200[0] = param_1; local_178 = param_4; local_138 = param_4; FUN_1805a6cb0(local_a8,&DAT_181baf991,0); local_88 = 0; local_80 = 0; local_78 = 0; uStack_70 = 0; local_68 = 4; local_60 = 0; local_5c = 0; local_5a = 0; local_1b0 = pace::eden::thrift::authorize::SendEncryptedCommandReturn::vftable; local_1a8 = (void *)0x0; uStack_1a0 = 0; local_198 = 0; local_190 = 0; local_188 = 0; local_184 = 4; local_17c = 0; if (*param_6 == 0) { local_1f8 = (byte **)FUN_1811316e0(0x18); if (local_1f8 != (byte **)0x0) { FUN_1805a48c0(local_1f8, "Channel encryptor not provided to sendEncryptedCommand_AuthorizationServer"); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_1f8 = (byte **)puVar5; if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } local_1e8[0] = 0x187c; local_170 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(puVar5[1],&local_170); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_1e8); } uVar4 = (**(code **)(*(longlong *)*param_6 + 0x48))(); uVar18 = (ulonglong)uVar4; if (uVar4 == 0) { local_1f8 = (byte **)FUN_1811316e0(0x18); if (local_1f8 != (byte **)0x0) { FUN_1805a48c0(local_1f8,"Channel encryptor not setup properly. Blocksize is zero."); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_1f8 = (byte **)puVar5; if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } local_1e0[0] = 0x1884; local_168[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(puVar5[1],local_168); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_1e0); } local_e0 = (int)param_2[1] - (int)*param_2; if (local_e0 < 1) { local_1f8 = (byte **)FUN_1811316e0(0x18); if (local_1f8 == (byte **)0x0) { lVar7 = 0; } else { lVar7 = FUN_1805a48c0(local_1f8, "The command %d provided to sendEncryptedCommand_AuthorizationServer has no data" ); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_1f8 = (byte **)puVar5; if (puVar5 != (undefined8 *)0x0) { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar7 + 8),local_200); } local_128 = param_2[1]; local_120 = *param_2; FUN_1805e1990(&local_f8,local_120,local_128,local_208[0]); local_208[0] = 0x5a; local_1f8 = &local_f8; puStack_1f0 = local_208; local_118 = local_1f8; puStack_110 = puStack_1f0; FUN_1805e1ee0(&local_f8, (uVar18 - ((longlong)local_e0 + 4U) % uVar18) % uVar18 + (longlong)local_e0 + 4, &local_118); lVar7 = lStack_f0 - (longlong)local_f8; FUN_180621500(param_1,local_f8 + lVar7 + -4); FUN_1805b1330(&local_d8,uVar18,&local_d8); FUN_180605430(local_d8,uVar18); uVar19 = 0xffffffff; uVar13 = 0xffffffff; uVar8 = 0; uVar10 = uVar8; uVar12 = uVar8; do { if ((uVar13 & 1) != 0) { uVar10 = (ulonglong)((uint)uVar10 | 1 << (0x1fU - (int)uVar12 & 0x1f)); } uVar12 = uVar12 + 1; uVar13 = uVar13 >> 1; } while (uVar12 < 0x20); if (DAT_18265fac0 == '\0') { bVar17 = 0; do { bVar11 = 0x80; uVar13 = uVar8; do { uVar4 = (uint)uVar13; if ((bVar17 & bVar11) != 0) { uVar4 = uVar4 ^ 0x80000000; } if ((int)uVar4 < 0) { uVar4 = uVar4 * 2 ^ 0x4c11db7; } else { uVar4 = uVar4 * 2; } uVar13 = (ulonglong)uVar4; bVar11 = bVar11 >> 1; uVar12 = uVar8; uVar16 = uVar8; } while (bVar11 != 0); do { if ((uVar13 & 1) != 0) { uVar16 = (ulonglong)((uint)uVar16 | 1 << (0x1fU - (int)uVar12 & 0x1f)); } uVar12 = uVar12 + 1; uVar13 = uVar13 >> 1; } while (uVar12 < 0x20); uVar12 = 0; uVar13 = uVar8; bVar11 = bVar17; do { if ((bVar11 & 1) != 0) { uVar12 = (ulonglong)((uint)uVar12 & 0xff | 1 << (7U - (int)uVar13 & 0x1f)); } uVar13 = uVar13 + 1; bVar11 = bVar11 >> 1; } while (uVar13 < 8); *(int *)(&DAT_18265f6c0 + (uVar12 & 0xff) * 4) = (int)uVar16; bVar17 = bVar17 + 1; } while (bVar17 != 0); DAT_18265fac0 = '\x01'; } uVar13 = (longlong)(local_d8 + uVar18) - (longlong)local_d8; if (local_d8 + uVar18 < local_d8) { uVar13 = uVar8; } if (uVar13 != 0) { pbVar14 = local_d8; do { uVar10 = (ulonglong) (*(uint *)(&DAT_18265f6c0 + (ulonglong)(byte)((byte)uVar10 ^ *pbVar14) * 4) ^ (uint)(uVar10 >> 8)); pbVar14 = pbVar14 + 1; } while ((ulonglong)((longlong)pbVar14 - (longlong)local_d8) < uVar13); } local_c0 = (uint)uVar10; uVar13 = (longlong)(local_f8 + lVar7) - (longlong)local_f8; if (local_f8 + lVar7 < local_f8) { uVar13 = uVar8; } if (uVar13 != 0) { pbVar14 = local_f8; do { local_c0 = *(uint *)(&DAT_18265f6c0 + (ulonglong)(byte)((byte)uVar10 ^ *pbVar14) * 4) ^ (uint)(uVar10 >> 8); uVar10 = (ulonglong)local_c0; pbVar14 = pbVar14 + 1; } while ((ulonglong)((longlong)pbVar14 - (longlong)local_f8) < uVar13); } local_c0 = ~local_c0; (**(code **)(*(longlong *)*param_6 + 0x20))((longlong *)*param_6,1,&local_d8); (**(code **)(*(longlong *)*param_6 + 0x40))((longlong *)*param_6,&local_f8); local_100 = FUN_180620450(local_d8 + 0xb); local_100 = local_100 ^ param_5; plVar9 = (longlong *)((longlong)*(int *)(*(longlong *)*local_178 + 8) + *local_178); (**(code **)(*plVar9 + 0x128))(plVar9,&local_1b0,&local_108,4); if (param_3 != &local_1a8) { FUN_1805e1990(param_3,local_1a8,uStack_1a0); } uVar13 = (longlong)param_3[1] - (longlong)*param_3; local_148 = uVar13; if (uVar13 != 0) { (**(code **)(*(longlong *)*param_6 + 0x30))((longlong *)*param_6,param_3); uVar10 = uVar8; uVar12 = uVar8; do { if ((uVar19 & 1) != 0) { uVar12 = (ulonglong)((uint)uVar12 | 1 << (0x1fU - (int)uVar10 & 0x1f)); } uVar10 = uVar10 + 1; uVar19 = uVar19 >> 1; } while (uVar10 < 0x20); uVar19 = (longlong)(local_d8 + uVar18) - (longlong)local_d8; if (local_d8 + uVar18 < local_d8) { uVar19 = uVar8; } if (uVar19 != 0) { pbVar14 = local_d8; do { uVar12 = (ulonglong) (*(uint *)(&DAT_18265f6c0 + (ulonglong)(byte)((byte)uVar12 ^ *pbVar14) * 4) ^ (uint)(uVar12 >> 8)); pbVar14 = pbVar14 + 1; } while ((ulonglong)((longlong)pbVar14 - (longlong)local_d8) < uVar19); } local_1c8 = (uint)uVar12; pbVar14 = *param_3; uVar19 = (longlong)(pbVar14 + uVar13) - (longlong)pbVar14; if (pbVar14 + uVar13 < pbVar14) { uVar19 = uVar8; } if (uVar19 != 0) { pbVar15 = pbVar14; do { local_1c8 = *(uint *)(&DAT_18265f6c0 + (ulonglong)(byte)((byte)uVar12 ^ *pbVar15) * 4) ^ (uint)(uVar12 >> 8); uVar12 = (ulonglong)local_1c8; pbVar15 = pbVar15 + 1; } while ((ulonglong)((longlong)pbVar15 - (longlong)pbVar14) < uVar19); } local_1c8 = ~local_1c8; if (local_1c8 != local_190._4_4_) { local_1f8 = (byte **)FUN_1811316e0(0x18); if (local_1f8 != (byte **)0x0) { uVar8 = FUN_1805a48c0(local_1f8, "The result for command %d has a bad checksum (calculated: 0x%08X, provided: 0x%08X)" ); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_1f8 = (byte **)puVar5; if (puVar5 != (undefined8 *)0x0) { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(uVar8 + 8),local_200); } uVar19 = (ulonglong)(int)local_190; if (((uVar19 == 0) || (uVar13 < uVar19)) || (uVar19 <= uVar13 - uVar18)) { local_1f8 = (byte **)FUN_1811316e0(0x18); if (local_1f8 == (byte **)0x0) { lVar7 = 0; } else { lVar7 = FUN_1805a48c0(local_1f8, "The result for command %d has a bad size of %d (encrypted size: %d)") ; } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_1f8 = (byte **)puVar5; if (puVar5 != (undefined8 *)0x0) { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar7 + 8),local_200); } FUN_1805b0f50(param_3,uVar19,param_3); local_1b0 = pace::eden::thrift::authorize::SendEncryptedCommandReturn::vftable; if (local_1a8 == (void *)0x0) { FUN_18067d1b0(&local_108); plVar9 = (longlong *)local_178[1]; if (plVar9 != (longlong *)0x0) { LOCK(); plVar1 = plVar9 + 1; lVar7 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar9 + 8))(plVar9); LOCK(); piVar2 = (int *)((longlong)plVar9 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar9 + 0x10))(plVar9); } } } plVar9 = (longlong *)param_6[1]; if (plVar9 != (longlong *)0x0) { LOCK(); plVar1 = plVar9 + 1; lVar7 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar9 + 8))(plVar9); LOCK(); piVar2 = (int *)((longlong)plVar9 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar9 + 0x10))(plVar9); } } } } _Memory = local_1a8; if ((0xfff < (ulonglong)(local_198 - (longlong)local_1a8)) && (_Memory = *(void **)((longlong)local_1a8 + -8), 0x1f < (ulonglong)((longlong)local_1a8 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_1f8 = (byte **)FUN_1811316e0(0x18); if (local_1f8 != (byte **)0x0) { uVar8 = FUN_1805a48c0(local_1f8,"The result for command %d has no result data"); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_1f8 = (byte **)puVar5; if (puVar5 != (undefined8 *)0x0) { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(uVar8 + 8),local_200); } ############ FUN_ 1806054c0 size=717 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x00018060578a) overlaps instruction at (ram,0x000180605789) */ /* WARNING: Removing unreachable block (ram,0x0001806057f8) */ /* WARNING: Removing unreachable block (ram,0x000180605520) */ /* WARNING: Removing unreachable block (ram,0x000180605788) */ void FUN_1806054c0(void) { undefined8 *puVar1; longlong lVar2; longlong *plVar3; char cVar4; uint uVar5; int unaff_retaddr; undefined1 auStack_a8 [32]; undefined4 local_88; undefined *local_80; undefined *local_78; longlong local_70; undefined4 local_5c; uint local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_5c = 0xea0; uVar5 = (uint)&stack0x00000000 & 0x32ff; lVar2 = 0; uVar5 = uVar5 * uVar5 + 1; local_58 = (0x5062U - (0 >> ((char)uVar5 + (char)(uVar5 / 7) * -7 & 0x1fU)) | 0x5c6a) ^ 0x5c0a; local_70 = 0; local_78 = &DAT_180605a24; local_80 = &DAT_1806454dc; local_88 = 0x811c9dc5; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_70 = FUN_1811316e0(0x10,0x180000000); if (local_70 != 0) { lVar2 = FUN_180600e30(local_70); } plVar3 = (longlong *)FUN_180608a30(); puVar1 = (undefined8 *)*plVar3; *plVar3 = lVar2; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } cVar4 = (char)uVar5; } while (uVar5 != 0); /* WARNING: Call to offcut address within same function */ lVar2 = func_0x00018060582c(); *(char *)(lVar2 + 5) = *(char *)(lVar2 + 5) - cVar4; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180608a30 size=408 ############ undefined8 * FUN_180608a30(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 *puVar2; undefined8 *puVar3; uint uVar4; undefined8 *puVar5; longlong lVar6; bool bVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; lVar6 = (longlong)&DAT_18265f298 + (SUB168(ZEXT816(0xc7ce0c7ce0c7ce0d) * ZEXT816(0x18265f298),8) >> 5) * -0x29; puVar5 = (undefined8 *)0x0; LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar2 = puVar5; puVar3 = DAT_18265f298; while (DAT_18265f298 = puVar3, iVar1 != 0) { uVar4 = (uint)puVar2; if ((3 < uVar4) && (0xf < uVar4)) { Sleep((uint)(0x1f < uVar4)); } puVar2 = (undefined8 *)(ulonglong)(uVar4 + 1); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar3 = DAT_18265f298; } *(undefined4 *)(&DAT_18265dbd0 + lVar6 * 4) = 0; if (puVar3 == (undefined8 *)0x0) { LOCK(); bVar7 = DAT_18265f2a0 == 0; if (bVar7) { DAT_18265f2a0 = 1; } UNLOCK(); while (!bVar7) { LOCK(); bVar7 = DAT_18265f2a0 == 0; if (bVar7) { DAT_18265f2a0 = 1; } UNLOCK(); } LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar2 = puVar5; puVar3 = DAT_18265f298; while (DAT_18265f298 = puVar3, iVar1 != 0) { uVar4 = (uint)puVar2; if ((3 < uVar4) && (0xf < uVar4)) { Sleep((uint)(0x1f < uVar4)); } puVar2 = (undefined8 *)(ulonglong)(uVar4 + 1); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar3 = DAT_18265f298; } *(undefined4 *)(&DAT_18265dbd0 + lVar6 * 4) = 0; if (puVar3 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1811316e0(8); puVar3 = puVar5; if (puVar2 != (undefined8 *)0x0) { *puVar2 = 0; puVar3 = puVar2; } FUN_1805ccdd0(FUN_180608bd0,puVar3,param_3,param_4,uVar8); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); while (iVar1 != 0) { uVar4 = (uint)puVar5; if ((3 < uVar4) && (0xf < uVar4)) { Sleep((uint)(0x1f < uVar4)); } puVar5 = (undefined8 *)(ulonglong)(uVar4 + 1); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); } DAT_18265f298 = puVar3; *(undefined4 *)(&DAT_18265dbd0 + lVar6 * 4) = 0; } LOCK(); UNLOCK(); DAT_18265f2a0 = 0; } return puVar3; } ############ FUN_ 1805bc910 size=116 ############ void FUN_1805bc910(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 4; if (param_2 < 0x4000000000000000) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 1806d2860 size=2075 ############ /* WARNING: Instruction at (ram,0x0001806d2e2b) overlaps instruction at (ram,0x0001806d2e2a) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001806d2a21) */ /* WARNING: Removing unreachable block (ram,0x0001806d2ab3) */ /* WARNING: Removing unreachable block (ram,0x0001806d2d47) */ /* WARNING: Removing unreachable block (ram,0x0001806d2d4c) */ /* WARNING: Removing unreachable block (ram,0x0001806d2e72) */ /* WARNING: Heritage AFTER dead removal. Example location: s0x00000008 : 0x0001806d2e4d */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ ulonglong FUN_1806d2860(undefined8 *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4 ,undefined8 param_5) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; undefined1 *puVar5; longlong *plVar6; undefined1 *puVar7; undefined1 *puVar8; longlong *plVar9; int iVar10; uint *puVar11; uint uVar12; uint *puVar13; bool bVar14; float10 in_ST0; float10 in_ST1; float10 in_ST2; float10 in_ST3; float10 in_ST4; float10 in_ST5; float10 in_ST6; float10 in_ST7; uint unaff_retaddr; int local_res8; uint local_res10; int local_a8 [2]; undefined8 local_a0; undefined1 local_98 [32]; uint local_78; undefined8 local_70; int *local_68; undefined8 *local_60; undefined4 local_54; uint local_50; undefined8 local_48; puVar5 = local_98; local_48 = 0xfffffffffffffffe; param_1[1] = 0; param_1[2] = 0; *param_1 = pace::PaceException::vftable; *(undefined4 *)(param_1 + 3) = param_2; uVar2 = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[9] = 0; param_1[10] = 0xf; *(undefined1 *)(param_1 + 7) = 0; local_60 = param_1; FUN_1805a6cb0(param_1 + 7,&DAT_181baf991,0); param_1[0xd] = 0; param_1[0xe] = 0xf; *(undefined1 *)(param_1 + 0xb) = 0; FUN_1805a6cb0(param_1 + 0xb,&DAT_181baf991,0); param_1[0x11] = 0; param_1[0x12] = 0xf; *(undefined1 *)(param_1 + 0xf) = 0; FUN_1805a6cb0(param_1 + 0xf,&DAT_181baf991,0); param_1[0x15] = 0; param_1[0x16] = 0xf; *(undefined1 *)(param_1 + 0x13) = 0; FUN_1805a6cb0(param_1 + 0x13,&DAT_181baf991,0); FUN_1805a4070(param_1 + 0x17,param_3); param_1[0x1d] = 0; param_1[0x1e] = 0xf; *(undefined1 *)(param_1 + 0x1b) = 0; param_1[0x21] = 0; param_1[0x22] = 0xf; *(undefined1 *)(param_1 + 0x1f) = 0; *(undefined1 *)(param_1 + 0x23) = 0; local_68 = (int *)FUN_1811316e0(0x40); if (local_68 != (int *)0x0) { uVar2 = FUN_1806d42d0(local_68,param_4,param_5); } param_1[0x24] = uVar2; uVar12 = (uint)&stack0x00000000 & 0x27f; uVar4 = (uint)&stack0x00000000 & 0x3bf; local_50 = (((uVar4 + 2) * (uVar4 + 1) * uVar4) % 3 ^ ((uVar12 + 2) * (uVar12 + 1) * uVar12) % 3) + 0xfcb7 ^ 0xf8f7; local_54 = 0x570; uVar2 = 0x180000000; local_68 = &DAT_180bd47b8; puVar11 = (uint *)0x1b873593; local_70 = 0x11b873593; uVar4 = (DAT_180bd47b8 * 0x16a88000 | (uint)(DAT_180bd47b8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0xd7befa70; uVar4 = (DAT_180bd47bc * 0x16a88000 | (uint)(DAT_180bd47bc * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (DAT_180bd47c0 * 0x16a88000 | (uint)(DAT_180bd47c0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (DAT_180bd47c4 * 0x16a88000 | (uint)(DAT_180bd47c4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; local_78 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; puVar13 = (uint *)register0x00000020; do { *(undefined8 *)(puVar5 + -8) = 0x1806d2d2b; FUN_1806d285b(); uVar4 = *puVar13; uVar3 = (ulonglong)uVar4; uVar4 = (uVar4 + 1) * uVar4; LAB_1806d2d59_1: uVar4 = uVar4 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); puVar13 = &DAT_180bd47c8; plVar6 = (longlong *)puVar5; LAB_1806d2d80: do { uVar4 = 0x5338; puVar7 = (undefined1 *)plVar6; while( true ) { do { } while ((uVar4 & 0xc300) == 0); plVar6 = (longlong *)(puVar7 + -8); plVar9 = (longlong *)(puVar7 + -8); puVar5 = puVar7 + -8; if ((char)(uVar4 >> 8) == '\0') { uVar3 = (ulonglong)((uint)uVar3 & 0x49de8c17); uVar4 = uVar4 ^ 0x5ca6a266; } *(uint **)(puVar7 + -8) = puVar11; puVar11 = puVar13; if ((&stack0x00000000 == (undefined1 *)0xfffffffffffffff0) && ((uVar4 & 0xc3) != 0)) goto LAB_1806d2d80; bVar14 = (uVar4 & 0xc300) == 0; if (!bVar14) break; puVar7 = puVar7 + -8; if (bVar14) goto LAB_1806d2d59_1; } puVar8 = puVar7 + -8; if ((uVar4 & 0xc300) == 0) { LAB_1806d2de6: plVar9 = (longlong *)puVar8; if ((uVar4 & 0xc300) == 0) { return uVar3; } } else if ((uVar4 & 0xc300) != 0) { uVar3 = (ulonglong)DAT_180bd47c8; if ((uVar4 & 0xc300) == 0) { return (ulonglong)((DAT_180bd47c8 - *(int *)(puVar7 + -8)) + *(int *)(puVar7 + -0x10)); } local_res10 = DAT_180bd47c8; puVar11 = *(uint **)(puVar7 + -8); puVar8 = puVar7; if ((uVar4 & 0xc300) == 0) { return uVar3; } goto LAB_1806d2de6; } uVar3 = (ulonglong)unaff_retaddr; lRam0000000001488d17 = (longlong)in_ST0; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } plVar6 = plVar9; in_ST0 = in_ST1; in_ST1 = in_ST2; in_ST2 = in_ST3; in_ST3 = in_ST4; in_ST4 = in_ST5; in_ST5 = in_ST6; in_ST6 = in_ST7; if (uVar4 == 0) { iVar10 = (int)puVar11; uVar4 = (local_res10 * local_res8 * 0x8000 | local_res10 * local_res8 >> 0x11) * iVar10 ^ local_78; /* WARNING: Bad instruction - Truncating control flow here */ uVar4 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64 ^ (DAT_180bd47cc * local_res8 * 0x8000 | (uint)(DAT_180bd47cc * local_res8) >> 0x11) * iVar10; uVar4 = (DAT_180bd47d0 * local_res8 * 0x8000 | (uint)(DAT_180bd47d0 * local_res8) >> 0x11) * iVar10 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (DAT_180bd47d4 * local_res8 * 0x8000 | (uint)(DAT_180bd47d4 * local_res8) >> 0x11) * iVar10 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (DAT_180bd47d8 * local_res8 * 0x8000 | (uint)(DAT_180bd47d8 * local_res8) >> 0x11) * iVar10 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (DAT_180bd47dc * local_res8 * 0x8000 | (uint)(DAT_180bd47dc * local_res8) >> 0x11) * iVar10 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar12 = (DAT_180bd47e0 * local_res8 * 0x8000 | (uint)(DAT_180bd47e0 * local_res8) >> 0x11) * iVar10 ^ uVar4; plVar9[-1] = 0x1806d2f27; FUN_1806d395f((uVar12 << 0xd | uVar12 >> 0x13) * 5 + -0x19ab949c,uVar4,0); plVar9[-1] = uVar2; plVar9[-2] = (longlong)puVar11; /* WARNING: Call to offcut address within same function */ plVar9[-3] = 0x1806d2f60; func_0x0001806d2f63(); lVar1 = plVar9[1]; plVar9[1] = lVar1 + 0x14b; *plVar9 = lVar1 + 0x4603; plVar9[-1] = lVar1 + -0x1c3; plVar9[-2] = lVar1 + -0x1393; plVar9[-3] = lVar1 + -0x736e; plVar9[-4] = lVar1 + -0x13ad; /* WARNING: Could not recover jumptable at 0x0001806d30a9. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar3 = (*(code *)(lVar1 + 0x84d))(); return uVar3; } } while( true ); } ############ FUN_ 180741570 size=3011 ############ /* WARNING: Instruction at (ram,0x000180741e21) overlaps instruction at (ram,0x000180741e1f) */ /* WARNING: Removing unreachable block (ram,0x000180741e1f) */ /* WARNING: Removing unreachable block (ram,0x0001807416d6) */ /* WARNING: Removing unreachable block (ram,0x0001807415ea) */ /* WARNING: Removing unreachable block (ram,0x000180741d20) */ /* WARNING: Removing unreachable block (ram,0x0001807421c3) */ ulonglong FUN_180741570(longlong param_1) { undefined1 *puVar1; longlong lVar2; undefined8 *puVar3; undefined8 uVar4; ulonglong uVar5; uint uVar6; uint uVar7; uint uVar8; undefined1 *puVar9; undefined1 *puVar10; undefined8 uVar11; undefined8 *puVar12; uint7 uVar13; longlong lVar14; int unaff_retaddr; undefined1 auStack_98 [32]; undefined8 local_78; undefined4 local_70 [2]; undefined4 *local_68; undefined *local_60; char *local_58; undefined8 local_50; puVar9 = auStack_98; local_50 = 0xfffffffffffffffe; uVar8 = (uint)&stack0x00000000 & 0x3bf; uVar4 = 0; uVar11 = 0x5f1; puVar12 = (undefined8 *)0x0; local_68 = &DAT_1815b9c1c; local_60 = &DAT_1815b9d1c; local_78 = 0x1cc98ede; if (*(char *)(param_1 + 8) == '\0') { lVar2 = FUN_1811316e0(0x18); if (lVar2 != 0) { FUN_1805a48c0(lVar2,"Signer object has not been initialized"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; puVar12 = puVar3; } local_70[0] = 0x156; local_58 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = FUN_1805a21d0(puVar12[1],&local_58); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_70); } uVar6 = (DAT_1815b9c1c * 0x16a88000 | (uint)(DAT_1815b9c1c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0x66b5e5b0; uVar6 = (DAT_1815b9c20 * 0x16a88000 | (uint)(DAT_1815b9c20 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c24 * 0x16a88000 | (uint)(DAT_1815b9c24 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c28 * 0x16a88000 | (uint)(DAT_1815b9c28 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c2c * 0x16a88000 | (uint)(DAT_1815b9c2c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c30 * 0x16a88000 | (uint)(DAT_1815b9c30 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c34 * 0x16a88000 | (uint)(DAT_1815b9c34 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c38 * 0x16a88000 | (uint)(DAT_1815b9c38 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c3c * 0x16a88000 | (uint)(DAT_1815b9c3c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c40 * 0x16a88000 | (uint)(DAT_1815b9c40 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c44 * 0x16a88000 | (uint)(DAT_1815b9c44 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c48 * 0x16a88000 | (uint)(DAT_1815b9c48 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c4c * 0x16a88000 | (uint)(DAT_1815b9c4c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c50 * 0x16a88000 | (uint)(DAT_1815b9c50 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c54 * 0x16a88000 | (uint)(DAT_1815b9c54 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c58 * 0x16a88000 | (uint)(DAT_1815b9c58 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c5c * 0x16a88000 | (uint)(DAT_1815b9c5c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c60 * 0x16a88000 | (uint)(DAT_1815b9c60 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c64 * 0x16a88000 | (uint)(DAT_1815b9c64 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c68 * 0x16a88000 | (uint)(DAT_1815b9c68 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c6c * 0x16a88000 | (uint)(DAT_1815b9c6c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c70 * 0x16a88000 | (uint)(DAT_1815b9c70 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c74 * 0x16a88000 | (uint)(DAT_1815b9c74 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c78 * 0x16a88000 | (uint)(DAT_1815b9c78 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c7c * 0x16a88000 | (uint)(DAT_1815b9c7c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c80 * 0x16a88000 | (uint)(DAT_1815b9c80 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c84 * 0x16a88000 | (uint)(DAT_1815b9c84 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c88 * 0x16a88000 | (uint)(DAT_1815b9c88 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c8c * 0x16a88000 | (uint)(DAT_1815b9c8c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c90 * 0x16a88000 | (uint)(DAT_1815b9c90 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c94 * 0x16a88000 | (uint)(DAT_1815b9c94 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = (DAT_1815b9c98 * 0x16a88000 | (uint)(DAT_1815b9c98 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9c9c * 0x16a88000 | (uint)(DAT_1815b9c9c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9ca0 * 0x16a88000 | (uint)(DAT_1815b9ca0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9ca4 * 0x16a88000 | (uint)(DAT_1815b9ca4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9ca8 * 0x16a88000 | (uint)(DAT_1815b9ca8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cac * 0x16a88000 | (uint)(DAT_1815b9cac * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cb0 * 0x16a88000 | (uint)(DAT_1815b9cb0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cb4 * 0x16a88000 | (uint)(DAT_1815b9cb4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cb8 * 0x16a88000 | (uint)(DAT_1815b9cb8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cbc * 0x16a88000 | (uint)(DAT_1815b9cbc * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cc0 * 0x16a88000 | (uint)(DAT_1815b9cc0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cc4 * 0x16a88000 | (uint)(DAT_1815b9cc4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cc8 * 0x16a88000 | (uint)(DAT_1815b9cc8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = (DAT_1815b9ccc * 0x16a88000 | (uint)(DAT_1815b9ccc * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cd0 * 0x16a88000 | (uint)(DAT_1815b9cd0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cd4 * 0x16a88000 | (uint)(DAT_1815b9cd4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cd8 * 0x16a88000 | (uint)(DAT_1815b9cd8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cdc * 0x16a88000 | (uint)(DAT_1815b9cdc * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9ce0 * 0x16a88000 | (uint)(DAT_1815b9ce0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9ce4 * 0x16a88000 | (uint)(DAT_1815b9ce4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; do { FUN_1807400de(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = (DAT_1815b9ce8 * 0x16a88000 | (uint)(DAT_1815b9ce8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cec * 0x16a88000 | (uint)(DAT_1815b9cec * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cf0 * 0x16a88000 | (uint)(DAT_1815b9cf0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cf4 * 0x16a88000 | (uint)(DAT_1815b9cf4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cf8 * 0x16a88000 | (uint)(DAT_1815b9cf8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9cfc * 0x16a88000 | (uint)(DAT_1815b9cfc * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9d00 * 0x16a88000 | (uint)(DAT_1815b9d00 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9d04 * 0x16a88000 | (uint)(DAT_1815b9d04 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9d08 * 0x16a88000 | (uint)(DAT_1815b9d08 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9d0c * 0x16a88000 | (uint)(DAT_1815b9d0c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; lVar2 = 0x170; do { /* WARNING: Call to offcut address within same function */ func_0x0001807416dc(0x7200); lVar14 = (longlong)register0x00000020 + (longlong)puVar12; puVar12 = (undefined8 *) (((~((longlong)puVar12 - lVar14) + 1U) - lVar14 ^ 0xffffffffffffffff) + 1); register0x00000020 = (BADSPACEBASE *)(lVar14 - (longlong)puVar12); uVar7 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = (DAT_1815b9d10 * 0x16a88000 | (uint)(DAT_1815b9d10 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (DAT_1815b9d14 * 0x16a88000 | (uint)(DAT_1815b9d14 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64 ^ (DAT_1815b9d18 * 0x16a88000 | (uint)(DAT_1815b9d18 * -0x3361d2af) >> 0x11) * 0x1b873593; uVar6 = (uVar6 << 0xd | uVar6 >> 0x13) * 5 + 0xe6546b64; uVar6 = ~((uVar6 * 0x2000 | uVar6 >> 0x13) + 0x3c719dda) ^ 0x66abbc6; uVar5 = (ulonglong)uVar6; uVar13 = (uint7)((ulonglong)puVar12 >> 8); puVar1 = puVar9; if ((int)CONCAT71(uVar13,uVar6 == 0x635d4cba) == (int)(((ulonglong)uVar13 & 0xffffff) << 4)) { do { puVar10 = puVar1; *(undefined8 *)(puVar10 + -8) = 0x18074207a; lVar14 = lVar2; FUN_18074023e(lVar2,uVar5); *(undefined8 *)(puVar10 + -8) = uVar11; *(undefined8 *)(puVar10 + -0x10) = uVar4; *(longlong *)(puVar10 + -0x18) = lVar2; lVar14 = -lVar14; lVar2 = *(longlong *)(puVar10 + lVar14 + 0x158); uVar4 = *(undefined8 *)(puVar10 + lVar14 + 0x160); uVar11 = *(undefined8 *)(puVar10 + lVar14 + 0x168); uVar8 = (*(int *)(puVar10 + lVar14 + 0x208) + 1) * *(int *)(puVar10 + lVar14 + 0x208) & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar1 = puVar10 + lVar14 + 0x170; } while (uVar8 != 0); return (ulonglong)(uint)(*(int *)(*(longlong *)(puVar10 + lVar14 + 0x210) + 0x18) << 2); } uVar5 = thunk_FUN_1805a9280((((uVar8 + 2) * (uVar8 + 1) * uVar8) % 3 | 0xf388) ^ 0xfa38,uVar5); return uVar5; } ############ FUN_ 18076a230 size=3536 ############ /* WARNING: Instruction at (ram,0x00018076af69) overlaps instruction at (ram,0x00018076af67) */ /* WARNING: Removing unreachable block (ram,0x00018076a2bc) */ /* WARNING: Removing unreachable block (ram,0x00018076a907) */ /* WARNING: Type propagation algorithm not settling */ void FUN_18076a230(undefined8 param_1,byte *param_2) { longlong *plVar1; byte bVar2; byte bVar3; char cVar4; char *pcVar5; char *pcVar6; undefined8 uVar7; ulonglong uVar8; longlong lVar9; uint uVar10; int iVar11; uint uVar12; char *pcVar13; int *piVar14; int unaff_retaddr; undefined4 unaff_retaddr_00; longlong local_res10; uint local_1b0 [2]; uint local_1a8; code *local_1a0; char *local_198; int *local_190; undefined4 local_188 [2]; uint local_180; uint local_17c [3]; uint local_170 [2]; undefined4 local_168 [2]; uint local_160 [2]; undefined4 local_158 [2]; uint local_150; undefined4 local_120; char *local_e8; char *local_e0; uint local_d8 [2]; char *local_d0; char *local_c8; char *local_c0 [13]; undefined8 local_58; local_58 = 0xfffffffffffffffe; pcVar13 = (char *)0x0; local_120 = 0x2a0; uVar10 = (uint)&stack0x00000000 & 0x19ff; iVar11 = uVar10 * uVar10 + 1; uVar10 = (iVar11 >> 4) + (iVar11 >> 1) + iVar11 * 0x24924924 >> 0x1d; uVar10 = (int)(uVar10 - 7) >> 0x1f & uVar10; uVar10 = (int)(-uVar10 | uVar10) >> 0x1f; local_150 = ((int)(-uVar10 | uVar10) >> 0x1f) * -0xe279 ^ 0xe5d9; local_190 = &DAT_1814f4278; bVar2 = FUN_18061e560(param_2[3],0x164,0); piVar14 = local_190; if (bVar2 == 0xff) { local_e8 = (char *)FUN_1811316e0(0x18); pcVar5 = pcVar13; if (local_e8 != (char *)0x0) { pcVar5 = (char *)FUN_1805a48c0(local_e8, "Error converting the upper two digits of the Year from ILokTime (%d) to ptime." ); } pcVar6 = (char *)FUN_1811316e0(0x18); local_e8 = pcVar6; if (pcVar6 != (char *)0x0) { FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; pcVar13 = pcVar6; } local_d8[0] = (uint)param_2[3]; FUN_18060e760(*(undefined8 *)(pcVar5 + 8),local_d8); local_188[0] = 0xf24; local_e8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(pcVar13 + 8),&local_e8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_188); } uVar10 = (*local_190 + 0x70c53f1e) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + local_190[1]) * -0x395b586d; bVar3 = FUN_18061e560(param_2[2],100,0); uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[2]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[3]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[4]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[5]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[6]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[7]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[8]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[9]) * -0x395b586d; if (bVar3 == 0xff) { local_e0 = (char *)FUN_1811316e0(0x18); pcVar5 = pcVar13; if (local_e0 != (char *)0x0) { pcVar5 = (char *)FUN_1805a48c0(local_e0, "Error converting the lower two digits of the Year from ILokTime (%d) to ptime." ); } pcVar6 = (char *)FUN_1811316e0(0x18); local_e0 = pcVar6; if (pcVar6 != (char *)0x0) { FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; pcVar13 = pcVar6; } local_180 = (uint)param_2[2]; FUN_18060e760(*(undefined8 *)(pcVar5 + 8),&local_180); local_1b0[0] = 0xf2f; local_e0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(pcVar13 + 8),&local_e0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_1b0); } uVar10 = (piVar14[10] + (uVar10 ^ uVar10 >> 0x10)) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0xb]) * -0x395b586d; uVar12 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0xc]) * -0x395b586d; uVar10 = ((uVar12 >> 0x10 ^ uVar12) + piVar14[0xd]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0xe]) * -0x395b586d; cVar4 = FUN_18061e560(param_2[1],CONCAT71((uint7)(uint3)(uVar12 >> 8),0xc), CONCAT71((uint7)(uint3)((uint)bVar3 + (uint)bVar2 * 100 >> 8),1)); uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0xf]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x10]) * -0x395b586d; do { uVar7 = rdtsc(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = ((uint)uVar7 ^ (uint)((ulonglong)uVar7 >> 0x20)) * 0x5bd1e995; local_1a8 = (uVar12 >> 0x18 ^ uVar12) * -0x733212ab; if (local_1a8 < 0x2702703) { do { local_1a0 = FUN_181194940; FUN_18076a4bc(&local_1a0,0x34af); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar8 = (*local_1a0)(); if (1 < uVar8) { lVar9 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar1 = (longlong *)register0x00000020; while (lVar9 != -0x3333333333333334) { *plVar1 = 0; plVar1 = plVar1 + 8; lVar9 = *plVar1; } } } uVar10 = (piVar14[0x11] + (uVar10 ^ uVar10 >> 0x10)) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x12]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x13]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x14]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x15]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x16]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x17]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x18]) * -0x395b586d; do { piVar14 = (int *)-(((ulonglong)piVar14 ^ 0xffffffffffffffff) + 1); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar10 = (piVar14[0x19] + (uVar10 ^ uVar10 >> 0x10)) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x1a]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x1b]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x1c]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x1d]) * -0x395b586d; do { FUN_18076c80a(0xdb2c); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar10 = (piVar14[0x1e] + (uVar10 ^ uVar10 >> 0x10)) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x1f]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x20]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x21]) * -0x395b586d; uVar12 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x22]) * -0x395b586d; local_1b0[0] = 0x1517863; uVar10 = ((uVar12 >> 0x10 ^ uVar12) + piVar14[0x23]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x24]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x25]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x26]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x27]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x28]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x29]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x2a]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x2b]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x2c]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x2d]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x2e]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x2f]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x30]) * -0x395b586d; if (cVar4 == -2) { local_198 = (char *)FUN_1811316e0(0x18); pcVar5 = pcVar13; if (local_198 != (char *)0x0) { pcVar5 = (char *)FUN_1805a48c0(local_198, "Error converting the Month from ILokTime (%d) to ptime."); } pcVar6 = (char *)FUN_1811316e0(0x18); local_198 = pcVar6; if (pcVar6 != (char *)0x0) { FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; pcVar13 = pcVar6; } local_17c[0] = (uint)param_2[1]; FUN_18060e760(*(undefined8 *)(pcVar5 + 8),local_17c); local_17c[1] = 0xf3e; local_d0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(pcVar13 + 8),&local_d0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_17c + 1); } uVar10 = (piVar14[0x31] + (uVar10 ^ uVar10 >> 0x10)) * -0x395b586d; bVar2 = FUN_18061e560(*param_2,CONCAT71((uint7)(uint3)(uVar12 >> 8),0x1f)); uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x32]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x33]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x34]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x35]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x36]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x37]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x38]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x39]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x3a]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x3b]) * -0x395b586d; if (bVar2 + 1 == 0xff) { lVar9 = FUN_1811316e0(0x18); if (lVar9 == 0) { local_res10 = 0; } else { local_res10 = FUN_1805a48c0(lVar9,"Error converting the Day from ILokTime (%d) to ptime."); } pcVar5 = (char *)FUN_1811316e0(0x18); local_198 = pcVar5; if (pcVar5 != (char *)0x0) { FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; pcVar13 = pcVar5; } local_170[0] = (uint)*param_2; FUN_18060e760(*(undefined8 *)(local_res10 + 8),local_170); local_168[0] = 0xf4b; local_c8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(pcVar13 + 8),&local_c8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_168); } uVar7 = CONCAT71((uint7)(uint3)(bVar2 + 1 >> 8),0x18); cVar4 = FUN_18061e560(param_2[7],uVar7); uVar10 = ((uVar10 ^ uVar10 >> 0x10) + piVar14[0x3c]) * -0x395b586d; if (cVar4 != -1) { uVar10 = (piVar14[0x3d] + (uVar10 ^ uVar10 >> 0x10)) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x3e]) * -0x395b586d; uVar10 = ((uVar10 >> 0x10 ^ uVar10) + piVar14[0x3f]) * -0x395b586d; uVar12 = uVar10 >> 0x10 ^ uVar10; uVar10 = (uVar12 << 2 | uVar10 >> 0x1e) & 0x99999999 | (uVar12 >> 2 | uVar12 << 0x1e) & 0x66666666; lVar9 = CONCAT71((int7)((ulonglong)uVar7 >> 8),0x3c); FUN_18061e560(param_2[6],lVar9); do { FUN_18076b007(); /* WARNING: Call to offcut address within same function */ func_0x00018076a689(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); if ((char)((((uVar10 >> 0x10 | uVar10 << 0x10) & 0x932d6cd2 | (uVar10 << 0x10 | uVar10 >> 0x10) & 0x6cd2932d) != local_1b0[0]) * '6') != '\0') { FUN_18076a4bc(); thunk_FUN_1805a9280(); return; } FUN_18076b008((longlong)(int)local_150,-lVar9); return; } local_198 = (char *)FUN_1811316e0(0x18); if (local_198 == (char *)0x0) { local_1a0 = (code *)0x0; } else { local_1a0 = (code *)FUN_1805a48c0(local_198, "Error converting the Hour from ILokTime (%d) to ptime."); } pcVar5 = (char *)FUN_1811316e0(0x18); local_198 = pcVar5; if (pcVar5 != (char *)0x0) { FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; pcVar13 = pcVar5; } local_160[0] = (uint)param_2[7]; FUN_18060e760(*(undefined8 *)(local_1a0 + 8),local_160); local_158[0] = 0xf5a; local_c0[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(pcVar13 + 8),local_c0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_158); } ############ FUN_ 1807e3f30 size=1081 ############ /* WARNING: Removing unreachable block (ram,0x0001807e404d) */ void FUN_1807e3f30(longlong param_1,undefined8 param_2) { byte bVar1; basic_ostream_> *pbVar2; undefined8 *puVar3; longlong lVar4; undefined8 uVar5; uint uVar6; int iVar7; undefined1 auStack_258 [40]; longlong local_230; undefined8 local_228; undefined *local_220; undefined *local_218; undefined4 local_210; undefined4 local_208 [2]; uint local_200; uint local_1fc; undefined8 local_1f8; int iStack_1ec; undefined *local_1e8 [2]; undefined *local_1d8; undefined **local_1d0 [10]; undefined1 auStack_180 [24]; undefined8 local_168; undefined4 local_160; basic_ios_> local_150 [104]; char *local_e8; longlong local_e0; undefined8 local_d8; undefined1 local_d0 [16]; undefined1 local_c0 [120]; ulonglong local_48; local_d8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_258; local_210 = 0; uVar6 = (uint)&stack0x00000000 & 0x6aff; iVar7 = uVar6 * uVar6 + 1; uVar6 = (iVar7 >> 4) + (iVar7 >> 1) + iVar7 * 0x24924924 >> 0x1d; uVar6 = (int)(uVar6 - 7) >> 0x1f & uVar6; uVar6 = (int)(-uVar6 | uVar6) >> 0x1f; local_1fc = ((int)(-uVar6 | uVar6) >> 0x1f) * -0xd64a ^ 0xd09a; uVar6 = (uint)&stack0x00000000 & 0x12ff; uVar6 = (uVar6 + 1) * uVar6 + 7; local_200 = (0 >> ((char)uVar6 + (char)(uVar6 / 0x51) * -0x51 & 0x1fU) | 0x6216U) ^ 0x6fe6; local_1e8[0] = &DAT_181bb76c0; local_1d8 = &DAT_181bb76c8; local_230 = param_2; local_1f8 = param_2; local_e0 = param_1; std::basic_ios_>::basic_ios_>(local_150); local_210 = 2; std::basic_iostream_>::basic_iostream_> ((basic_iostream_> *)local_1e8, (basic_streambuf_> *)local_1d0); *(undefined ***)((longlong)local_1e8 + (longlong)*(int *)(local_1e8[0] + 4)) = std::basic_stringstream,std::allocator_>::vftable; *(int *)((longlong)&iStack_1ec + (longlong)*(int *)(local_1e8[0] + 4)) = *(int *)(local_1e8[0] + 4) + -0x98; std::basic_streambuf_>::basic_streambuf_> ((basic_streambuf_> *)local_1d0); local_1d0[0] = std::basic_stringbuf,std::allocator_>::vftable; local_168 = 0; local_160 = 0; uVar6 = *(uint *)(param_1 + 400); if (uVar6 == 0) { if (*(int *)(param_1 + 0x194) == 0) { local_230 = FUN_1811316e0(0x18); if (local_230 != 0) { FUN_1805a48c0(local_230, "The iLok device serial number portion of the cert serial number is invalid (it\'s zero)." ); } lVar4 = FUN_1805c0260(); local_208[0] = 0x230; local_e8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilokcert.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar4 + 8),&local_e8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_208); } } else { pbVar2 = std::basic_ostream_>::operator<< ((basic_ostream_> *)&local_1d8, (_func_ios_base_ptr_ios_base_ptr *)&LAB_18060ce80); pbVar2 = std::basic_ostream_>::operator<< ((basic_ostream_> *)pbVar2, (_func_ios_base_ptr_ios_base_ptr *)&LAB_18063bb30); std::basic_ostream_>::operator<< ((basic_ostream_> *)pbVar2,uVar6); puVar3 = (undefined8 *)std::setw((__int64)local_d0); (*(code *)*puVar3)((longlong)local_1d0 + (longlong)*(int *)(local_1d8 + 4) + -8,puVar3[1]); auStack_180[*(int *)(local_1d8 + 4)] = 0x30; } pbVar2 = std::basic_ostream_>::operator<< ((basic_ostream_> *)&local_1d8, (_func_ios_base_ptr_ios_base_ptr *)&LAB_18060ce80); pbVar2 = std::basic_ostream_>::operator<< ((basic_ostream_> *)pbVar2, (_func_ios_base_ptr_ios_base_ptr *)&LAB_18063bb30); std::basic_ostream_>::operator<< ((basic_ostream_> *)pbVar2,*(uint *)(param_1 + 0x194)); puVar3 = (undefined8 *)std::setw((__int64)local_c0); (*(code *)*puVar3)((longlong)local_1d0 + (longlong)*(int *)(local_1d8 + 4) + -8,puVar3[1]); auStack_180[*(int *)(local_1d8 + 4)] = 0x30; bVar1 = *(byte *)(param_1 + 0x19a); pbVar2 = std::basic_ostream_>::operator<< ((basic_ostream_> *)&local_1d8, (_func_ios_base_ptr_ios_base_ptr *)&LAB_18060ce80); pbVar2 = std::basic_ostream_>::operator<< ((basic_ostream_> *)pbVar2, (_func_ios_base_ptr_ios_base_ptr *)&LAB_18063bb30); std::basic_ostream_>::operator<< ((basic_ostream_> *)pbVar2,(uint)bVar1); local_230 = 0; local_228 = 0x1c4e398; local_218 = &DAT_181c4e398; local_220 = &DAT_181c52390; FUN_1807e26da(); FUN_1807e4381(); return; } ############ FUN_ 18097edd0 size=140 ############ undefined8 * FUN_18097edd0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; *param_1 = apache::thrift::concurrency::Mutex::vftable; lVar1 = FUN_1811316e0(8); if (lVar1 == 0) { uVar2 = 0; } else { uVar2 = FUN_18097ee60(lVar1,param_2); } param_1[1] = uVar2; FUN_18097ed20(param_1 + 2,uVar2); FUN_1805ae620(param_1 + 1,uVar2,uVar2,param_4,uVar3); return param_1; } ############ FUN_ 18097ed20 size=97 ############ undefined8 * FUN_18097ed20(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 181131014 size=56 ############ /* Library Function - Single Match void __cdecl std::_Facet_Register(class std::_Facet_base * __ptr64) Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release */ void __cdecl std::_Facet_Register(_Facet_base *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x10); if (puVar1 != (undefined8 *)0x0) { *puVar1 = DAT_1826729f8; puVar1[1] = param_1; } DAT_1826729f8 = puVar1; return; } ############ FUN_ 180480500 size=89 ############ void FUN_180480500(ulonglong param_1) { longlong lVar1; ulonglong uVar2; if (param_1 < 0x1000) { if (param_1 != 0) { FUN_1811316e0(); return; } return; } uVar2 = param_1 + 0x27; if (uVar2 <= param_1) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 != 0) { *(longlong *)((lVar1 + 0x27U & 0xffffffffffffffe0) - 8) = lVar1; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 1805bca90 size=115 ############ void FUN_1805bca90(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x8c0; if (param_2 < 0x1d41d41d41d41e) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 1805bcb90 size=116 ############ void FUN_1805bcb90(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 8; if (param_2 < 0x2000000000000000) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 1805c7ba0 size=95 ############ ulonglong FUN_1805c7ba0(undefined8 param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; if (param_2 == 0) { uVar2 = 0; } else { if (0xfff < param_2) { if (param_2 + 0x27 <= param_2) { /* WARNING: Subroutine does not return */ std::_Xbad_alloc(); } lVar1 = FUN_1811316e0(); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar1 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar1; return uVar2; } uVar2 = FUN_1811316e0(param_2); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } return uVar2; } ############ FUN_ 1805d2670 size=445 ############ undefined1 * FUN_1805d2670(void) { int iVar1; undefined1 *puVar2; undefined1 *puVar3; uint uVar4; undefined1 *puVar5; longlong lVar6; undefined8 in_R9; bool bVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; lVar6 = (longlong)&DAT_18265de08 + (SUB168(ZEXT816(0xc7ce0c7ce0c7ce0d) * ZEXT816(0x18265de08),8) >> 5) * -0x29; puVar5 = (undefined1 *)0x0; LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar2 = puVar5; puVar3 = DAT_18265de08; while (DAT_18265de08 = puVar3, iVar1 != 0) { uVar4 = (uint)puVar2; if ((3 < uVar4) && (0xf < uVar4)) { Sleep((uint)(0x1f < uVar4)); } puVar2 = (undefined1 *)(ulonglong)(uVar4 + 1); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar3 = DAT_18265de08; } *(undefined4 *)(&DAT_18265dbd0 + lVar6 * 4) = 0; if (puVar3 == (undefined1 *)0x0) { LOCK(); bVar7 = DAT_18265de10 == 0; if (bVar7) { DAT_18265de10 = 1; } UNLOCK(); while (!bVar7) { LOCK(); bVar7 = DAT_18265de10 == 0; if (bVar7) { DAT_18265de10 = 1; } UNLOCK(); } LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar2 = puVar5; puVar3 = DAT_18265de08; while (DAT_18265de08 = puVar3, iVar1 != 0) { uVar4 = (uint)puVar2; if ((3 < uVar4) && (0xf < uVar4)) { Sleep((uint)(0x1f < uVar4)); } puVar2 = (undefined1 *)(ulonglong)(uVar4 + 1); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar3 = DAT_18265de08; } *(undefined4 *)(&DAT_18265dbd0 + lVar6 * 4) = 0; if (puVar3 == (undefined1 *)0x0) { puVar2 = (undefined1 *)FUN_1811316e0(0x20); puVar3 = puVar5; if (puVar2 != (undefined1 *)0x0) { *(undefined8 *)(puVar2 + 0x10) = 0; *(undefined8 *)(puVar2 + 0x18) = 0xf; *puVar2 = 0; FUN_1805a6cb0(puVar2,"An error occurred while trying to build this string.",0x34,in_R9,uVar8 ); puVar3 = puVar2; } FUN_1805ccdd0(FUN_1805d2830,puVar3); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); while (iVar1 != 0) { uVar4 = (uint)puVar5; if ((3 < uVar4) && (0xf < uVar4)) { Sleep((uint)(0x1f < uVar4)); } puVar5 = (undefined1 *)(ulonglong)(uVar4 + 1); LOCK(); iVar1 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); } DAT_18265de08 = puVar3; *(undefined4 *)(&DAT_18265dbd0 + lVar6 * 4) = 0; } LOCK(); UNLOCK(); DAT_18265de10 = 0; } return puVar3; } ############ FUN_ 1805bbc20 size=180 ############ ulonglong FUN_1805bbc20(ulonglong *param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; ulonglong uVar3; ulonglong uVar4; uVar2 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (param_2 != 0) { if (0x864b8a7de6d1d6 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar4 = param_2 * 0x1e8; uVar3 = 0xffffffffffffffff; if ((param_2 < 0x864b8a7de6d1d7) && (uVar3 = uVar4, uVar4 < 0x1000)) { if (uVar4 != 0) { uVar2 = FUN_1811316e0(uVar4); } } else { uVar2 = uVar3 + 0x27; if (uVar3 + 0x27 <= uVar3) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar1 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar1; } *param_1 = uVar2; param_1[1] = uVar2; param_1[2] = uVar4 + *param_1; uVar2 = CONCAT71((int7)(*param_1 >> 8),1); } return uVar2; } ############ FUN_ 1805bbce0 size=177 ############ ulonglong FUN_1805bbce0(ulonglong *param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; ulonglong uVar3; ulonglong uVar4; uVar2 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (param_2 != 0) { if (0x276276276276276 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar4 = param_2 * 0x68; uVar3 = 0xffffffffffffffff; if ((param_2 < 0x276276276276277) && (uVar3 = uVar4, uVar4 < 0x1000)) { if (uVar4 != 0) { uVar2 = FUN_1811316e0(uVar4); } } else { uVar2 = uVar3 + 0x27; if (uVar3 + 0x27 <= uVar3) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar1 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar1; } *param_1 = uVar2; param_1[1] = uVar2; param_1[2] = uVar4 + *param_1; uVar2 = CONCAT71((int7)(*param_1 >> 8),1); } return uVar2; } ############ FUN_ 1805bca10 size=115 ############ void FUN_1805bca10(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x438; if (param_2 < 0x3cae759203cae8) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 1805bcc10 size=112 ############ void FUN_1805bcc10(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 2; if (param_2 < 0x8000000000000000) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 181a24a40 size=90 ############ undefined * Catch_181a24a40(undefined8 param_1,longlong param_2) { char cVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_1811316e0(0x18); *(longlong *)(param_2 + 0x20) = lVar2; uVar3 = 0; if (lVar2 != 0) { uVar3 = FUN_1805a48c0(lVar2, "Ilok2Protocols::~Ilok2Protocols: Suppressing exception trying to close the connection." ); } cVar1 = FUN_1805f42d0(param_2 + 0x50,*(undefined8 *)(param_2 + 0x40),uVar3); if (cVar1 != '\0') { /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } return &DAT_180643868; } ############ FUN_ 181a24a9c size=88 ############ undefined * Catch_All_181a24a9c(undefined8 param_1,longlong param_2) { char cVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_1811316e0(0x18); *(longlong *)(param_2 + 0x20) = lVar2; uVar3 = 0; if (lVar2 != 0) { uVar3 = FUN_1805a48c0(lVar2); } cVar1 = FUN_1805f42d0(param_2 + 0x50,0,uVar3); if (cVar1 != '\0') { /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } return &DAT_180643868; } ############ FUN_ 18063fa90 size=432 ############ longlong FUN_18063fa90(longlong *param_1,void *param_2,undefined8 *param_3,undefined8 param_4) { undefined8 *puVar1; longlong lVar2; void *pvVar3; undefined8 uVar4; ulonglong uVar5; ulonglong uVar6; void *_Dst; void *pvVar7; longlong lVar8; ulonglong uVar9; size_t _Size; ulonglong uVar10; lVar2 = *param_1; lVar8 = param_1[1] - lVar2 >> 5; if (lVar8 == 0x7ffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(param_1,param_2,0x7ffffffffffffff,param_4,0xfffffffffffffffe); } uVar9 = lVar8 + 1; uVar5 = param_1[2] - lVar2 >> 5; uVar10 = uVar9; if ((uVar5 <= 0x7ffffffffffffff - (uVar5 >> 1)) && (uVar10 = (uVar5 >> 1) + uVar5, uVar10 < uVar9) ) { uVar10 = uVar9; } uVar5 = uVar10 * 0x20; if (uVar10 < 0x800000000000000) { uVar10 = uVar5; if (uVar5 < 0x1000) { if (uVar5 == 0) { pvVar7 = (void *)0x0; } else { pvVar7 = (void *)FUN_1811316e0(uVar5); } goto LAB_18063fb7d; } } else { uVar10 = 0xffffffffffffffff; } uVar6 = uVar10 + 0x27; if (uVar6 <= uVar10) { uVar6 = 0xffffffffffffffff; } lVar8 = FUN_1811316e0(uVar6); if (lVar8 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar7 = (void *)(lVar8 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar7 - 8) = lVar8; LAB_18063fb7d: uVar10 = (longlong)param_2 - lVar2 & 0xffffffffffffffe0; uVar4 = param_3[1]; *(undefined8 *)(uVar10 + (longlong)pvVar7) = *param_3; ((undefined8 *)(uVar10 + (longlong)pvVar7))[1] = uVar4; uVar4 = param_3[3]; puVar1 = (undefined8 *)(uVar10 + 0x10 + (longlong)pvVar7); *puVar1 = param_3[2]; puVar1[1] = uVar4; pvVar3 = (void *)*param_1; if (param_2 == (void *)param_1[1]) { _Size = param_1[1] - (longlong)pvVar3; _Dst = pvVar7; param_2 = pvVar3; } else { memmove(pvVar7,pvVar3,(longlong)param_2 - (longlong)pvVar3); _Dst = (void *)(uVar10 + 0x20 + (longlong)pvVar7); _Size = param_1[1] - (longlong)param_2; } memmove(_Dst,param_2,_Size); pvVar3 = (void *)*param_1; if (pvVar3 == (void *)0x0) { *param_1 = (longlong)pvVar7; param_1[1] = (longlong)(uVar9 * 0x20 + (longlong)pvVar7); param_1[2] = (longlong)(uVar5 + (longlong)pvVar7); return *param_1 + uVar10; } pvVar7 = pvVar3; if ((0xfff < (param_1[2] - (longlong)pvVar3 & 0xffffffffffffffe0U)) && (pvVar7 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } ############ FUN_ 181a24b30 size=90 ############ undefined * Catch_181a24b30(undefined8 param_1,longlong param_2) { char cVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_1811316e0(0x18); *(longlong *)(param_2 + 0x58) = lVar2; uVar3 = 0; if (lVar2 != 0) { uVar3 = FUN_1805a48c0(lVar2, "Ilok2ProtocolsOpener::~Ilok2ProtocolsOpener: Suppressing exception trying to close the connection." ); } cVar1 = FUN_1805f42d0(param_2 + 0x70,*(undefined8 *)(param_2 + 0x68),uVar3); if (cVar1 != '\0') { /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } return &DAT_180643c76; } ############ FUN_ 181a24b8c size=88 ############ undefined * Catch_All_181a24b8c(undefined8 param_1,longlong param_2) { char cVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_1811316e0(0x18); *(longlong *)(param_2 + 0x58) = lVar2; uVar3 = 0; if (lVar2 != 0) { uVar3 = FUN_1805a48c0(lVar2); } cVar1 = FUN_1805f42d0(param_2 + 0x70,0,uVar3); if (cVar1 != '\0') { /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } return &DAT_180643c76; } ############ FUN_ 18060b550 size=347 ############ undefined8 * FUN_18060b550(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined1 param_4) { size_t _Size; ulonglong uVar1; void *_Src; longlong lVar2; ulonglong uVar3; ulonglong uVar4; void *pvVar5; ulonglong uVar6; _Size = param_1[2]; if (0x7fffffffffffffff - _Size < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a6980(); } uVar1 = param_1[3]; uVar3 = _Size + param_2 | 0xf; uVar6 = 0x7fffffffffffffff; if (((uVar3 < 0x8000000000000000) && (uVar1 <= 0x7fffffffffffffff - (uVar1 >> 1))) && (uVar4 = (uVar1 >> 1) + uVar1, uVar6 = uVar3, uVar3 < uVar4)) { uVar6 = uVar4; } uVar3 = uVar6 + 1; if (uVar3 < 0x1000) { if (uVar3 == 0) { pvVar5 = (void *)0x0; } else { pvVar5 = (void *)FUN_1811316e0(uVar3); } } else { uVar4 = uVar6 + 0x28; if (uVar4 <= uVar3) { uVar4 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar4); if (lVar2 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar5 = (void *)(lVar2 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar5 - 8) = lVar2; } param_1[2] = _Size + param_2; param_1[3] = uVar6; if (uVar1 < 0x10) { memcpy(pvVar5,param_1,_Size); *(undefined1 *)((longlong)pvVar5 + _Size) = param_4; *(undefined1 *)((longlong)pvVar5 + _Size + 1) = 0; *param_1 = pvVar5; return param_1; } _Src = (void *)*param_1; memcpy(pvVar5,_Src,_Size); *(undefined1 *)((longlong)pvVar5 + _Size) = param_4; *(undefined1 *)((longlong)pvVar5 + _Size + 1) = 0; pvVar5 = _Src; if ((0xfff < uVar1 + 1) && (pvVar5 = *(void **)((longlong)_Src + -8), 0x1f < (ulonglong)((longlong)_Src + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } ############ FUN_ 181a27540 size=218 ############ undefined * Catch_181a27540(undefined8 param_1,longlong param_2) { int iVar1; longlong lVar2; undefined8 uVar3; lVar2 = *(longlong *)(param_2 + 0x110); *(undefined8 *)(lVar2 + 0x18) = *(undefined8 *)(lVar2 + 0x10); *(undefined8 *)(lVar2 + 0x30) = *(undefined8 *)(lVar2 + 0x28); iVar1 = *(int *)(*(longlong *)(param_2 + 400) + 0x128); if ((iVar1 != 0x3f3) && (iVar1 != 0x45e)) { if (iVar1 != 0x3cf) { /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } lVar2 = FUN_1811316e0(0x18); *(longlong *)(param_2 + 0xf0) = lVar2; if (lVar2 != 0) { FUN_1805a48c0(lVar2,&DAT_181baf991); } lVar2 = FUN_1805c0260(); *(undefined4 *)(param_2 + 0xc0) = 0x547; *(char **)(param_2 + 0xf0) = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar2 + 8),param_2 + 0xf0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,param_2 + 0xc0); } *(undefined1 *)(lVar2 + 8) = 1; return &DAT_180695a3e; } ############ FUN_ 18060d220 size=490 ############ longlong FUN_18060d220(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; ulonglong uVar4; ulonglong uVar5; ulonglong uVar6; void *_Memory; ulonglong uVar7; longlong lVar8; ulonglong uVar9; ulonglong uVar10; ulonglong uVar11; ulonglong uVar12; ulonglong uVar13; undefined8 uVar14; uVar14 = 0xfffffffffffffffe; uVar1 = *param_1; lVar8 = (longlong)(param_1[1] - uVar1) >> 5; if (lVar8 == 0x7ffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = lVar8 + 1; uVar4 = (longlong)(param_1[2] - uVar1) >> 5; uVar3 = uVar9; if ((uVar4 <= 0x7ffffffffffffff - (uVar4 >> 1)) && (uVar3 = (uVar4 >> 1) + uVar4, uVar3 < uVar9)) { uVar3 = uVar9; } uVar4 = uVar3 * 0x20; if (uVar3 < 0x800000000000000) { uVar7 = uVar4; if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar7 = 0; } else { uVar7 = FUN_1811316e0(uVar4); } goto LAB_18060d31e; } } else { uVar7 = 0xffffffffffffffff; } uVar5 = uVar7 + 0x27; if (uVar5 <= uVar7) { uVar5 = 0xffffffffffffffff; } lVar8 = FUN_1811316e0(uVar5); if (lVar8 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar7 = lVar8 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar7 - 8) = lVar8; LAB_18060d31e: uVar11 = param_2 - uVar1 & 0xffffffffffffffe0; lVar8 = uVar11 + uVar7; uVar1 = lVar8 + 0x20; uVar12 = uVar7; uVar13 = uVar1; FUN_1805a4070(lVar8,param_3); uVar5 = param_1[1]; uVar6 = *param_1; uVar10 = uVar7; if (param_2 != uVar5) { FUN_1805cffb0(*param_1,param_2,uVar7,param_1,uVar12,uVar3,uVar13,uVar14); uVar5 = param_1[1]; uVar6 = param_2; uVar10 = uVar1; } FUN_1805cffb0(uVar6,uVar5,uVar10,param_1,uVar12,uVar3,uVar13,uVar14); if (*param_1 == 0) { *param_1 = uVar7; param_1[1] = uVar9 * 0x20 + uVar7; param_1[2] = uVar7 + uVar4; return *param_1 + uVar11; } FUN_18048c550(*param_1,param_1[1],param_1); pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xffffffffffffffe0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a28466 size=750 ############ void Catch_181a28466(undefined8 param_1,longlong param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; undefined8 uVar4; undefined8 uVar5; longlong lVar6; undefined8 uVar7; lVar2 = *(longlong *)(param_2 + 0x5c0); if (*(int *)(lVar2 + 0x128) == 0x454) { lVar2 = FUN_1811316e0(0x18); *(longlong *)(param_2 + 0x310) = lVar2; if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "ILok2 Auth (a:0x%08X, p:0x%08X, i:0x%08X) Expired: Time limit not valid yet." ); } lVar3 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2 + 0x108); FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2 + 0x104); FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2 + 0x10c); *(undefined4 *)(param_2 + 0x1a0) = 0x37da; *(char **)(param_2 + 0x88) = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),param_2 + 0x88); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,param_2 + 0x1a0); } if ((*(int *)(lVar2 + 0x128) == 0x455) || (*(int *)(lVar2 + 0x128) == 0x456)) { *(undefined ***)(param_2 + 0x230) = pace::eden::thrift::authorize::ReportStaleCachedAuthEntryInput::vftable; *(undefined8 *)(param_2 + 0x240) = 0; *(undefined8 *)(param_2 + 0x248) = 0; *(undefined ***)(param_2 + 0x150) = pace::eden::thrift::authorize::ReportStaleCachedAuthEntryReturn::vftable; *(undefined4 *)(param_2 + 0x158) = 4; *(undefined1 *)(param_2 + 0x15c) = 0; *(undefined8 *)(param_2 + 0x238) = *(undefined8 *)(*(longlong *)(param_2 + 0x138) + 0x70); plVar1 = (longlong *)(*(longlong *)(param_2 + 0x138) + 8); lVar3 = *plVar1; *(undefined4 *)(param_2 + 0x240) = *(undefined4 *)(lVar3 + 8); *(undefined4 *)(param_2 + 0x244) = *(undefined4 *)(lVar3 + 0xc); *(undefined4 *)(param_2 + 0x248) = *(undefined4 *)(lVar3 + 0x10); *(undefined8 *)(param_2 + 0x3b8) = 0; *(undefined8 *)(param_2 + 0x3c0) = 0; *(undefined8 *)(param_2 + 0x3c8) = 0; *(undefined8 *)(param_2 + 0x388) = 0; *(undefined8 *)(param_2 + 0x390) = 0; *(undefined8 *)(param_2 + 0x398) = 0; FUN_180674370(param_2 + 0x230,param_2 + 0x3b8,1); FUN_1806b86d0(*(undefined8 *)(param_2 + 0x140),0x1d,param_2 + 0x3b8,param_2 + 0x388); FUN_180670800(*(longlong *)(param_2 + 0x388), *(longlong *)(param_2 + 0x390) - *(longlong *)(param_2 + 0x388),param_2 + 0x150); if (*(int *)(lVar2 + 0x128) == 0x455) { uVar4 = FUN_1805c0220("ILok2 Auth (a:0x%08X, p:0x%08X, i:0x%08X) Expired: Time limit expired." ); uVar5 = FUN_1805c0260(); lVar2 = FUN_18067dee0(plVar1,0); lVar3 = FUN_18067dee0(plVar1,0); lVar6 = FUN_18067dee0(plVar1,0); uVar7 = FUN_18066b7f0(uVar4,lVar6 + 8); uVar7 = FUN_18066b7f0(uVar7,lVar3 + 0xc); FUN_18066b7f0(uVar7,lVar2 + 0x10); uVar7 = 0x37fd; } else { uVar4 = FUN_1805c0220( "ILok2 Auth (a:0x%08X, p:0x%08X, i:0x%08X) Expired: Count limit expired." ); uVar5 = FUN_1805c0260(); lVar2 = FUN_18067dee0(plVar1,0); lVar3 = FUN_18067dee0(plVar1,0); lVar6 = FUN_18067dee0(plVar1,0); uVar7 = FUN_18066b7f0(uVar4,lVar6 + 8); uVar7 = FUN_18066b7f0(uVar7,lVar3 + 0xc); FUN_18066b7f0(uVar7,lVar2 + 0x10); uVar7 = 0x3808; } FUN_1805bc880(uVar5, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ,uVar7); FUN_1806c8b00(0x19,uVar4,uVar5); FUN_180575ed0(param_2 + 0x388); FUN_180575ed0(); } /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } ############ FUN_ 180670800 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180670800(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_18078b8c0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180674370 size=447 ############ void FUN_180674370(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807b6100(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180609880 size=485 ############ undefined4 * FUN_180609880(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined4 *puVar3; undefined4 *puVar4; uint uVar5; longlong lVar6; undefined4 *puVar7; bool bVar8; undefined8 uVar9; uVar9 = 0xfffffffffffffffe; lVar6 = (longlong)&DAT_18265f288 + (SUB168(ZEXT816(0xc7ce0c7ce0c7ce0d) * ZEXT816(0x18265f288),8) >> 5) * -0x29; puVar7 = (undefined4 *)0x0; LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar3 = puVar7; puVar4 = DAT_18265f288; while (DAT_18265f288 = puVar4, iVar2 != 0) { uVar5 = (uint)puVar3; if ((3 < uVar5) && (0xf < uVar5)) { Sleep((uint)(0x1f < uVar5)); } puVar3 = (undefined4 *)(ulonglong)(uVar5 + 1); LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar4 = DAT_18265f288; } *(undefined4 *)(&DAT_18265dbd0 + lVar6 * 4) = 0; if (puVar4 == (undefined4 *)0x0) { LOCK(); bVar8 = DAT_18265f290 == 0; if (bVar8) { DAT_18265f290 = 1; } UNLOCK(); while (!bVar8) { LOCK(); bVar8 = DAT_18265f290 == 0; if (bVar8) { DAT_18265f290 = 1; } UNLOCK(); } LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar3 = puVar7; puVar4 = DAT_18265f288; while (DAT_18265f288 = puVar4, iVar2 != 0) { uVar5 = (uint)puVar3; if ((3 < uVar5) && (0xf < uVar5)) { Sleep((uint)(0x1f < uVar5)); } puVar3 = (undefined4 *)(ulonglong)(uVar5 + 1); LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); puVar4 = DAT_18265f288; } *(undefined4 *)(&DAT_18265dbd0 + lVar6 * 4) = 0; if (puVar4 == (undefined4 *)0x0) { puVar3 = (undefined4 *)FUN_1811316e0(0x9c8); puVar4 = puVar7; if (puVar3 != (undefined4 *)0x0) { *puVar3 = 0x1571; *(undefined8 *)(puVar3 + 0x270) = 1; do { piVar1 = puVar3 + *(longlong *)(puVar3 + 0x270); *piVar1 = ((uint)piVar1[-1] >> 0x1e ^ piVar1[-1]) * 0x6c078965 + puVar3[0x270]; *(longlong *)(puVar3 + 0x270) = *(longlong *)(puVar3 + 0x270) + 1; puVar4 = puVar3; } while (*(ulonglong *)(puVar3 + 0x270) < 0x270); } FUN_1805ccdd0(FUN_180609a70,puVar4,param_3,param_4,uVar9); LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); while (iVar2 != 0) { uVar5 = (uint)puVar7; if ((3 < uVar5) && (0xf < uVar5)) { Sleep((uint)(0x1f < uVar5)); } puVar7 = (undefined4 *)(ulonglong)(uVar5 + 1); LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar6 * 4); *(int *)(&DAT_18265dbd0 + lVar6 * 4) = 1; UNLOCK(); } DAT_18265f288 = puVar4; *(undefined4 *)(&DAT_18265dbd0 + lVar6 * 4) = 0; } LOCK(); UNLOCK(); DAT_18265f290 = 0; } return puVar4; } ############ FUN_ 1807efe60 size=1672 ############ /* WARNING: Instruction at (ram,0x0001807f025c) overlaps instruction at (ram,0x0001807f025b) */ /* WARNING: Removing unreachable block (ram,0x0001807eff73) */ /* WARNING: Removing unreachable block (ram,0x0001807f0253) */ /* WARNING: Removing unreachable block (ram,0x0001807f025a) */ /* WARNING: Removing unreachable block (ram,0x0001807f0258) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ longlong FUN_1807efe60(longlong param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uint uVar3; undefined8 *puVar4; uint uVar5; uint unaff_retaddr; undefined1 auStack_328 [32]; undefined8 *local_308; undefined4 *local_2f8; undefined *local_2f0; undefined4 local_2e8; undefined8 local_2e0; undefined4 local_2d8 [2]; undefined4 local_2d0; uint local_2cc; uint local_2c8; longlong local_290; undefined **ppuStack_288; undefined **ppuStack_280; undefined8 uStack_278; undefined8 uStack_270; undefined8 uStack_268; undefined4 uStack_260; undefined2 uStack_25c; undefined1 uStack_25a; undefined **ppuStack_258; undefined8 uStack_250; undefined8 uStack_248; undefined8 uStack_240; undefined4 uStack_238; undefined2 uStack_234; undefined1 uStack_232; undefined4 uStack_230; undefined8 local_228; undefined8 uStack_220; undefined8 uStack_218; undefined8 uStack_210; undefined8 uStack_208; undefined8 uStack_200; undefined4 uStack_1f8; undefined1 uStack_1f4; char *local_1e8; undefined8 local_1e0; undefined8 local_1c8; undefined8 local_1b8; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_328; uVar3 = (uint)&stack0x00000000; uVar5 = ((uVar3 & 0x15ff) * (uVar3 & 0x15ff) * 0x10 + 4) % 0x13 | uVar3; local_2cc = ((int)(-uVar5 | uVar5) >> 0x1f) * 0xc35 & 0x13c3U ^ 0x1463; uVar3 = ((uVar3 & 0x8ff) + 1) * (uVar3 & 0x8ff) + 0x1a61 & 0x80000001; uVar3 = (int)(-uVar3 | uVar3) >> 0x1f; local_2c8 = ((int)(-uVar3 | uVar3) >> 0x1f) * -0x1f47 ^ 0x11f7; local_2d0 = 0xc60e42d7; local_2f8 = &DAT_180bc6828; local_2f0 = &DAT_180bc6928; local_2e0 = 0xc7ade98d; puVar4 = (undefined8 *)0x0; local_2e8 = param_2; local_290 = param_1; local_1e0 = param_3; local_1c8 = param_4; if (*(longlong *)(param_1 + 8) != 0) { FUN_1807f1440(param_1,param_3,param_2); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); ppuStack_288 = pace::eden::thrift::ilok::CommandPacket::vftable; ppuStack_280 = pace::eden::thrift::ilok::CommandTarget::vftable; uStack_278 = 0; uStack_270 = 0; uStack_268 = 0; uStack_260 = 0; uStack_25c = 0; uStack_25a = 0; ppuStack_258 = pace::eden::thrift::ilok::CommandTarget::vftable; uStack_250 = 0; uStack_248 = 0; uStack_240 = 0; uStack_238 = 0; uStack_234 = 0; uStack_232 = 0; uStack_230 = 0; local_228 = 0; uStack_220 = 0; uStack_218 = 0; uStack_210 = 0; uStack_208 = 0; uStack_200 = 0; uStack_1f8 = 0; uStack_1f4 = 0; do { FUN_1807f0f54(); FUN_1807ec904(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); return ~-(ulonglong)unaff_retaddr + 1; } local_308 = (undefined8 *)FUN_1811316e0(0x18); if (local_308 != (undefined8 *)0x0) { FUN_1805a48c0(local_308,"ILok conduit not set"); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_308 = puVar1; if (puVar1 != (undefined8 *)0x0) { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d"); *puVar1 = pace::PaceLocationInfoFormatter::vftable; puVar4 = puVar1; } local_2d8[0] = 0x2c9; local_1e8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok1commander.cpp"; uVar2 = FUN_1805a21d0(puVar4[1],&local_1e8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_2d8); } ############ FUN_ 1807f74d0 size=1731 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x0001807f7829) overlaps instruction at (ram,0x0001807f7828) */ /* WARNING: Removing unreachable block (ram,0x0001807f77e0) */ /* WARNING: Removing unreachable block (ram,0x0001807f75aa) */ /* WARNING: Removing unreachable block (ram,0x0001807f75c8) */ /* WARNING: Removing unreachable block (ram,0x0001807f75cd) */ /* WARNING: Removing unreachable block (ram,0x0001807f77ce) */ /* WARNING: Removing unreachable block (ram,0x0001807f77fd) */ /* WARNING: Removing unreachable block (ram,0x0001807f783e) */ /* WARNING: Removing unreachable block (ram,0x0001807f77d7) */ /* WARNING: Removing unreachable block (ram,0x0001807f781d) */ /* WARNING: Removing unreachable block (ram,0x0001807f7787) */ /* WARNING: Removing unreachable block (ram,0x0001807f77ef) */ /* WARNING: Removing unreachable block (ram,0x0001807f77f9) */ /* WARNING: Removing unreachable block (ram,0x0001807f7807) */ /* WARNING: Removing unreachable block (ram,0x0001807f7829) */ /* WARNING: Removing unreachable block (ram,0x0001807f782c) */ /* WARNING: Heritage AFTER dead removal. Example location: s0xfffffffffffffeb8 : 0x0001807f7691 */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_1807f74d0(void) { longlong lVar1; undefined8 uVar2; uint uVar3; ulonglong uVar4; uint uVar5; int iVar6; uint uVar7; undefined4 uVar8; int unaff_retaddr; longlong *local_138; longlong lStack_130; ulonglong local_128; ulonglong local_120; longlong local_118; undefined8 local_110; longlong *local_108; undefined8 uStack_100; undefined8 local_f8; undefined8 local_f0; undefined8 local_e8; undefined4 local_e0; undefined4 local_dc; undefined4 local_d8; undefined4 local_d4; undefined4 local_d0; undefined4 local_cc; undefined4 local_c8; undefined4 local_c4; uint local_c0; uint local_bc; longlong *local_b8; undefined8 local_b0; longlong local_a8; longlong *local_a0; undefined8 local_98; ulonglong local_90; undefined8 local_88; undefined8 local_80; undefined8 local_70; undefined8 uStack_68; undefined8 local_60; undefined8 uStack_58; local_88 = 0xfffffffffffffffe; if (((ulonglong)&stack0x00000000 & 0x1f00) == 0) { uVar3 = (uint)&stack0x00000000 & 0x3bf; uVar3 = ((uVar3 + 2) * (uVar3 + 1) * uVar3) % 3 | 0x3990; } else { uVar3 = 0x3990; } local_c0 = uVar3 ^ 0x3a20; uVar3 = (uint)&stack0x00000000 & 0x2ff; local_bc = 0xa8d3 << ((char)(((uVar3 + 2) * (uVar3 + 1) * uVar3) / 3) * -3 & 0x1fU) ^ 0xad03; if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_182666c40) && (_Init_thread_header(&DAT_182666c40), DAT_182666c40 == -1)) { local_c8 = 0x41; local_c4 = 7; local_d0 = 0x40; local_cc = 6; local_d8 = 0x3f; local_d4 = 5; local_e0 = 0x3e; local_dc = 4; local_138 = (longlong *)0x0; lStack_130 = 0; local_128 = 0; local_120 = 0; local_118 = 0; local_138 = (longlong *)FUN_1811316e0(0x10); local_70 = 0; uStack_68 = 0; *local_138 = 0; local_138[1] = 0; *local_138 = (longlong)&local_138; local_80 = 0x3b00000001; if ((((int)local_120 + (int)local_118 & 1U) == 0) && (local_128 <= local_118 + 2U >> 1)) { FUN_1807ec1f0(&local_138,1); } local_120 = local_120 & local_128 * 2 - 1; uVar4 = local_118 + local_120; lVar1 = (uVar4 >> 1 & local_128 - 1) * 8; if (*(longlong *)(lVar1 + lStack_130) == 0) { uVar2 = FUN_1811316e0(0x10); *(undefined8 *)(lVar1 + lStack_130) = uVar2; } *(undefined8 *)(*(longlong *)(lVar1 + lStack_130) + (ulonglong)((uint)uVar4 & 1) * 8) = 0x3b00000001; local_118 = local_118 + 1; local_108 = (longlong *)0x0; uStack_100 = 0; local_f8 = 0; local_f0 = 0; local_e8 = 0; local_108 = (longlong *)FUN_1811316e0(0x10); local_60 = 0; uStack_58 = 0; *local_108 = 0; local_108[1] = 0; *local_108 = (longlong)&local_108; local_a8 = local_118 + local_120; local_b0 = 0; local_b8 = local_138; local_98 = 0; local_90 = local_120; local_a0 = local_138; FUN_1807ea970(&local_108,&local_a0,&local_b8); FUN_1807ec3f0(&local_138); /* WARNING: Subroutine does not return */ free(local_138); } local_110 = 0x5ce0ce56; do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { /* WARNING: Bad instruction - Truncating control flow here */ uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); /* WARNING: Bad instruction - Truncating control flow here */ uVar5 = ((((uint)(DAT_181400278 * 0x5bd1e995) >> 0x18 ^ DAT_181400278 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_181400274 * 0x5bd1e995) >> 0x18 ^ DAT_181400274 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_181400270 * 0x5bd1e995) >> 0x18 ^ DAT_181400270 * 0x5bd1e995) * 0x5bd1e995 ^ 0x2f013439) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995 ^ ((uint)(DAT_18140027c * 0x5bd1e995) >> 0x18 ^ DAT_18140027c * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995 ^ ((uint)(DAT_181400280 * 0x5bd1e995) >> 0x18 ^ DAT_181400280 * 0x5bd1e995) * 0x5bd1e995; uVar3 = uVar5 & 0x17f; iVar6 = (uVar3 + 2) * (uVar3 + 1) * uVar3; uVar3 = uVar5 & 0xf; uVar7 = uVar5 & 0x3f | 0xc; uVar4 = (ulonglong) (uVar5 * 0x5bd1e995 ^ ((uint)(*(int *)(&UNK_181400304 + -((longlong)(((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555) >> 0x1e & (ulonglong)(uVar7 * uVar7 * 0xfbb1 == 0x8b5c) ^ (ulonglong) (~(0xffffdffd - ((uVar3 + 1) * (uVar3 + 1) * uVar3 * uVar3 & 2) & 0xffffff7f) & 0x4bbd))) * 0x5bd1e995) >> 0x18 ^ *(int *)(&UNK_181400304 + -((longlong)(((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555) >> 0x1e & (ulonglong)(uVar7 * uVar7 * 0xfbb1 == 0x8b5c) ^ (ulonglong) (~(0xffffdffd - ((uVar3 + 1) * (uVar3 + 1) * uVar3 * uVar3 & 2) & 0xffffff7f) & 0x4bbd))) * 0x5bd1e995) * 0x5bd1e995); uVar8 = FUN_1807f8979(); FUN_1807f799d(uVar8,uVar4); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 18060cad0 size=55 ############ void FUN_18060cad0(void) { longlong lVar1; lVar1 = FUN_1811316e0(0x28); *(longlong *)lVar1 = lVar1; *(longlong *)(lVar1 + 8) = lVar1; *(longlong *)(lVar1 + 0x10) = lVar1; *(undefined2 *)(lVar1 + 0x18) = 0x101; return; } ############ FUN_ 18060cb10 size=63 ############ void FUN_18060cb10(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x28); *puVar1 = *param_1; puVar1[1] = *param_1; puVar1[2] = *param_1; return; } ############ FUN_ 1807ea970 size=248 ############ void FUN_1807ea970(longlong param_1,longlong param_2,longlong param_3) { longlong lVar1; undefined8 *puVar2; undefined8 uVar3; ulonglong uVar4; while (*(longlong *)(param_2 + 0x10) != *(longlong *)(param_3 + 0x10)) { puVar2 = (undefined8 *)FUN_1807ec090(param_2); if (((*(char *)(param_1 + 0x18) + (char)*(longlong *)(param_1 + 0x20) & 1U) == 0) && (*(ulonglong *)(param_1 + 0x10) <= *(longlong *)(param_1 + 0x20) + 2U >> 1)) { FUN_1807ec1f0(param_1,1); } *(ulonglong *)(param_1 + 0x18) = *(ulonglong *)(param_1 + 0x18) & *(longlong *)(param_1 + 0x10) * 2 - 1U; uVar4 = *(longlong *)(param_1 + 0x18) + *(longlong *)(param_1 + 0x20); lVar1 = (uVar4 >> 1 & *(longlong *)(param_1 + 0x10) - 1U) * 8; if (*(longlong *)(lVar1 + *(longlong *)(param_1 + 8)) == 0) { uVar3 = FUN_1811316e0(0x10); *(undefined8 *)(lVar1 + *(longlong *)(param_1 + 8)) = uVar3; } *(undefined8 *) (*(longlong *)(lVar1 + *(longlong *)(param_1 + 8)) + (ulonglong)((uint)uVar4 & 1) * 8) = *puVar2; *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; *(longlong *)(param_2 + 0x10) = *(longlong *)(param_2 + 0x10) + 1; } return; } ############ FUN_ 1807ec1f0 size=499 ############ void FUN_1807ec1f0(longlong param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; ulonglong uVar5; size_t sVar6; size_t sVar7; void *pvVar8; ulonglong uVar9; uVar2 = *(ulonglong *)(param_1 + 0x10); uVar5 = 1; if (uVar2 != 0) { uVar5 = uVar2; } for (; (uVar5 - uVar2 < param_2 || (uVar5 < 8)); uVar5 = uVar5 * 2) { if (0xfffffffffffffff - uVar5 < uVar5) { /* WARNING: Subroutine does not return */ FUN_180618c80(param_1); } } uVar5 = uVar5 - uVar2; uVar9 = *(ulonglong *)(param_1 + 0x18) >> 1; uVar4 = (uVar2 + uVar5) * 8; if (uVar2 + uVar5 < 0x2000000000000000) { if (uVar4 < 0x1000) { if (uVar4 == 0) { pvVar8 = (void *)0x0; } else { pvVar8 = (void *)FUN_1811316e0(uVar4); } goto LAB_1807ec2bc; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar8 = (void *)(lVar1 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar8 - 8) = lVar1; LAB_1807ec2bc: sVar7 = uVar9 * 8; pvVar3 = (void *)(*(longlong *)(param_1 + 8) + sVar7); sVar6 = (*(longlong *)(param_1 + 0x10) * 8 - (longlong)pvVar3) + *(longlong *)(param_1 + 8); memmove((void *)(sVar7 + (longlong)pvVar8),pvVar3,sVar6); pvVar3 = (void *)(sVar6 + (longlong)(sVar7 + (longlong)pvVar8)); if (uVar5 < uVar9) { sVar6 = uVar5 * 8; memmove(pvVar3,*(void **)(param_1 + 8),sVar6); pvVar3 = (void *)(sVar6 + *(longlong *)(param_1 + 8)); sVar7 = (*(longlong *)(param_1 + 8) - (longlong)pvVar3) + sVar7; memmove(pvVar8,pvVar3,sVar7); pvVar3 = (void *)(sVar7 + (longlong)pvVar8); } else { memmove(pvVar3,*(void **)(param_1 + 8),sVar7); memset((void *)(sVar7 + (longlong)pvVar3),0,(uVar5 - uVar9) * 8); pvVar3 = pvVar8; sVar6 = sVar7; } memset(pvVar3,0,sVar6); pvVar3 = *(void **)(param_1 + 8); if (pvVar3 == (void *)0x0) { *(void **)(param_1 + 8) = pvVar8; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + uVar5; return; } pvVar8 = pvVar3; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x10) << 3)) && (pvVar8 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } ############ FUN_ 1806d2580 size=325 ############ undefined8 * FUN_1806d2580(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; longlong lVar2; param_1[1] = 0; param_1[2] = 0; *param_1 = pace::PaceException::vftable; *(undefined4 *)(param_1 + 3) = *(undefined4 *)(param_2 + 0x18); param_1[4] = *(undefined8 *)(param_2 + 0x20); lVar2 = *(longlong *)(param_2 + 0x28); param_1[5] = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } param_1[6] = *(undefined8 *)(param_2 + 0x30); FUN_1805a4070(param_1 + 7,param_2 + 0x38,param_3,param_4,0xfffffffffffffffe); FUN_1805a4070(param_1 + 0xb,param_2 + 0x58); FUN_1805a4070(param_1 + 0xf,param_2 + 0x78); FUN_1805a4070(param_1 + 0x13,param_2 + 0x98); FUN_1805a4070(param_1 + 0x17,param_2 + 0xb8); param_1[0x1d] = 0; param_1[0x1e] = 0xf; *(undefined1 *)(param_1 + 0x1b) = 0; param_1[0x21] = 0; param_1[0x22] = 0xf; *(undefined1 *)(param_1 + 0x1f) = 0; *(undefined1 *)(param_1 + 0x23) = *(undefined1 *)(param_2 + 0x118); lVar2 = 0; if (*(longlong *)(param_2 + 0x120) != 0) { lVar1 = FUN_1811316e0(0x40); if (lVar1 != 0) { lVar2 = *(longlong *)(param_2 + 0x120); FUN_1805a4070(lVar1,lVar2); FUN_1805a4070(lVar1 + 0x20,lVar2 + 0x20); lVar2 = lVar1; } } param_1[0x24] = lVar2; return param_1; } ############ FUN_ 181a2e160 size=90 ############ undefined * Catch_181a2e160(undefined8 param_1,longlong param_2) { char cVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_1811316e0(0x18); *(longlong *)(param_2 + 0x40) = lVar2; uVar3 = 0; if (lVar2 != 0) { uVar3 = FUN_1805a48c0(lVar2, "ClientConnectionOpener::closeNoThrow: Suppressing exception trying to close the connection." ); } cVar1 = FUN_1805f42d0(param_2 + 0x60,*(undefined8 *)(param_2 + 0x58),uVar3); if (cVar1 != '\0') { /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } return &DAT_18092fceb; } ############ FUN_ 181a2e1bc size=88 ############ undefined * Catch_All_181a2e1bc(undefined8 param_1,longlong param_2) { char cVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_1811316e0(0x18); *(longlong *)(param_2 + 0x40) = lVar2; uVar3 = 0; if (lVar2 != 0) { uVar3 = FUN_1805a48c0(lVar2); } cVar1 = FUN_1805f42d0(param_2 + 0x60,0,uVar3); if (cVar1 != '\0') { /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } return &DAT_18092fceb; } ############ FUN_ 181a31640 size=545 ############ void Catch_181a31640(undefined8 param_1,longlong param_2) { void *pvVar1; longlong lVar2; longlong lVar3; undefined8 uVar4; void *pvVar5; lVar2 = FUN_1811316e0(0x18); *(longlong *)(param_2 + 0x38) = lVar2; if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Could not construct a Certifier using parameters from the cache. Failed attempting to verify signature of the object with selfRelation %s and uuid %s." ); } lVar3 = FUN_1805c0260(); *(longlong *)(param_2 + 0x38) = param_2 + 0x3f0; *(longlong *)(param_2 + 0x78) = param_2 + 0x3d0; *(undefined8 *)(param_2 + 0x400) = 0; *(undefined8 *)(param_2 + 0x408) = 0xf; *(undefined1 *)(param_2 + 0x3f0) = 0; FUN_1805a6cb0(param_2 + 0x3f0,&DAT_181bb56a0,2); *(undefined8 *)(param_2 + 0x3e0) = 0; *(undefined8 *)(param_2 + 1000) = 0xf; *(undefined1 *)(param_2 + 0x3d0) = 0; FUN_1805a6cb0(param_2 + 0x3d0,&DAT_181bb1ed8,1); *(undefined8 *)(param_2 + 0x658) = 0; *(undefined8 *)(param_2 + 0x660) = 0xf; *(undefined1 *)(param_2 + 0x648) = 0; FUN_1805a6cb0(param_2 + 0x648,&DAT_181bdf740,1); uVar4 = FUN_18080c630(param_2 + 0x768,*(undefined8 *)(param_2 + 0x58),param_2 + 0x648, param_2 + 0x3d0,param_2 + 0x3f0); FUN_1805b2240(*(undefined8 *)(lVar2 + 8),uVar4); FUN_1805b2240(*(undefined8 *)(lVar2 + 8),*(undefined8 *)(param_2 + 0x5c0)); if (0xf < *(ulonglong *)(param_2 + 0x780)) { pvVar1 = *(void **)(param_2 + 0x768); pvVar5 = pvVar1; if ((0xfff < *(ulonglong *)(param_2 + 0x780) + 1) && (pvVar5 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } *(undefined8 *)(param_2 + 0x778) = 0; *(undefined8 *)(param_2 + 0x780) = 0xf; *(undefined1 *)(param_2 + 0x768) = 0; if (*(ulonglong *)(param_2 + 0x660) < 0x10) { *(undefined4 *)(param_2 + 0xf8) = 0xa3; *(char **)(param_2 + 0x1d8) = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\dsigsignatureverifier.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),param_2 + 0x1d8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,param_2 + 0xf8); } pvVar1 = *(void **)(param_2 + 0x648); pvVar5 = pvVar1; if ((0xfff < *(ulonglong *)(param_2 + 0x660) + 1) && (pvVar5 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } ############ FUN_ 1806d26d0 size=395 ############ undefined8 * FUN_1806d26d0(undefined8 *param_1,undefined4 param_2,longlong *param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6) { longlong lVar1; undefined8 uVar2; param_1[1] = 0; param_1[2] = 0; *param_1 = pace::PaceException::vftable; *(undefined4 *)(param_1 + 3) = param_2; uVar2 = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[9] = 0; param_1[10] = 0xf; *(undefined1 *)(param_1 + 7) = 0; FUN_1805a6cb0(param_1 + 7,&DAT_181baf991,0,param_4,0xfffffffffffffffe); param_1[0xd] = 0; param_1[0xe] = 0xf; *(undefined1 *)(param_1 + 0xb) = 0; FUN_1805a6cb0(param_1 + 0xb,&DAT_181baf991,0); param_1[0x11] = 0; param_1[0x12] = 0xf; *(undefined1 *)(param_1 + 0xf) = 0; FUN_1805a6cb0(param_1 + 0xf,&DAT_181baf991,0); param_1[0x15] = 0; param_1[0x16] = 0xf; *(undefined1 *)(param_1 + 0x13) = 0; FUN_1805a6cb0(param_1 + 0x13,&DAT_181baf991,0); FUN_1805a4070(param_1 + 0x17,param_4); param_1[0x1d] = 0; param_1[0x1e] = 0xf; *(undefined1 *)(param_1 + 0x1b) = 0; param_1[0x21] = 0; param_1[0x22] = 0xf; *(undefined1 *)(param_1 + 0x1f) = 0; *(undefined1 *)(param_1 + 0x23) = 0; lVar1 = FUN_1811316e0(0x40); if (lVar1 != 0) { uVar2 = FUN_1806d42d0(lVar1,param_5,param_6); } param_1[0x24] = uVar2; uVar2 = (**(code **)(*param_3 + 0x10))(param_3); FUN_1805d0030(param_1 + 4,uVar2); *(undefined1 *)(param_1[4] + 0x118) = 1; return param_1; } ############ FUN_ 1805cfa60 size=97 ############ undefined8 * FUN_1805cfa60(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 181a3188b size=569 ############ void Catch_181a3188b(undefined8 param_1,longlong param_2) { void *pvVar1; longlong lVar2; longlong lVar3; undefined8 uVar4; undefined8 uVar5; void *pvVar6; lVar2 = FUN_1811316e0(0x18); *(longlong *)(param_2 + 0x38) = lVar2; if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The data digest method is unrecognized: \"%s\" Failed attempting to verify signature of the object with selfRelation % s and uuid %s." ); } lVar3 = FUN_1805c0260(); *(longlong *)(param_2 + 0x38) = param_2 + 0x390; *(longlong *)(param_2 + 0x78) = param_2 + 0x370; *(undefined8 *)(param_2 + 0x3a0) = 0; *(undefined8 *)(param_2 + 0x3a8) = 0xf; *(undefined1 *)(param_2 + 0x390) = 0; FUN_1805a6cb0(param_2 + 0x390,&DAT_181bb56a0,2); *(undefined8 *)(param_2 + 0x380) = 0; *(undefined8 *)(param_2 + 0x388) = 0xf; *(undefined1 *)(param_2 + 0x370) = 0; FUN_1805a6cb0(param_2 + 0x370,&DAT_181bb1ed8,1); *(undefined8 *)(param_2 + 0x638) = 0; *(undefined8 *)(param_2 + 0x640) = 0xf; *(undefined1 *)(param_2 + 0x628) = 0; FUN_1805a6cb0(param_2 + 0x628,&DAT_181bdf740,1); uVar4 = FUN_18080c630(param_2 + 0x788,*(undefined8 *)(param_2 + 0x58),param_2 + 0x628, param_2 + 0x370,param_2 + 0x390); uVar5 = FUN_180a8ff00(*(undefined8 *)(param_2 + 0x50)); FUN_1805b2240(*(undefined8 *)(lVar2 + 8),uVar5); FUN_1805b2240(*(undefined8 *)(lVar2 + 8),uVar4); FUN_1805b2240(*(undefined8 *)(lVar2 + 8),*(undefined8 *)(param_2 + 0x5c0)); if (0xf < *(ulonglong *)(param_2 + 0x7a0)) { pvVar1 = *(void **)(param_2 + 0x788); pvVar6 = pvVar1; if ((0xfff < *(ulonglong *)(param_2 + 0x7a0) + 1) && (pvVar6 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } *(undefined8 *)(param_2 + 0x798) = 0; *(undefined8 *)(param_2 + 0x7a0) = 0xf; *(undefined1 *)(param_2 + 0x788) = 0; if (*(ulonglong *)(param_2 + 0x640) < 0x10) { *(undefined4 *)(param_2 + 0x100) = 0xc3; *(char **)(param_2 + 0x1e8) = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\dsigsignatureverifier.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),param_2 + 0x1e8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,param_2 + 0x100); } pvVar1 = *(void **)(param_2 + 0x628); pvVar6 = pvVar1; if ((0xfff < *(ulonglong *)(param_2 + 0x640) + 1) && (pvVar6 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } ############ FUN_ 18080ca00 size=216 ############ void FUN_18080ca00(longlong *param_1,char param_2,undefined8 param_3) { longlong lVar1; char *pcVar2; undefined8 uVar3; undefined4 local_res10 [2]; undefined8 local_res18; char *local_res20; if (param_2 == '\0') { local_res18 = param_3; local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res20,"The isset flag is false for field %s::%s"); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res20 = (char *)(**(code **)(*param_1 + 0x28))(param_1); FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),&local_res20); FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),&local_res18); local_res10[0] = 0x9b; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\lsproxybase.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res10); } return; } ############ FUN_ 1813baca0 size=666 ############ void FUN_1813baca0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, double param_5) { uint *puVar1; uint uVar2; undefined8 *puVar3; undefined8 *puVar4; longlong *plVar5; longlong *plVar6; longlong *plVar7; longlong *plVar8; double dVar9; if (*(longlong **)(param_1 + 0x40) == param_2) { if (*(longlong **)(param_1 + 0x40) == (longlong *)0x0) { return; } FUN_1813baca0(param_1,0,0,0,0,2,0xfffffffffffffffe); } plVar6 = (longlong *)0x0; *(undefined4 *)(param_1 + 0xb4) = 0; *(double *)(param_1 + 0xa8) = param_5; puVar3 = *(undefined8 **)(param_1 + 0x48); puVar4 = *(undefined8 **)(param_1 + 0x50); plVar5 = *(longlong **)(param_1 + 0x60); plVar7 = plVar6; plVar8 = plVar6; if (param_2 != (longlong *)0x0) { (**(code **)(*param_2 + 0x20))(param_2,0); plVar8 = param_2; if (0.0 < param_5) { plVar6 = (longlong *)FUN_1811316e0(0x1e0); *plVar6 = (longlong)juce::ResamplingAudioSource::vftable; plVar6[1] = (longlong)param_2; *(undefined1 *)(plVar6 + 2) = 0; plVar6[3] = 0x3ff0000000000000; plVar6[4] = 0x3ff0000000000000; plVar6[5] = 0; plVar6[6] = 0; plVar6[7] = (longlong)(plVar6 + 9); plVar6[8] = 0; *(undefined1 *)(plVar6 + 0x29) = 0; plVar6[0x2a] = 0; plVar6[0x2b] = 0; *(undefined4 *)(plVar6 + 0x32) = 0; LOCK(); *(undefined4 *)(plVar6 + 0x32) = 0; UNLOCK(); InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)plVar6 + 0x194)); *(undefined4 *)(plVar6 + 0x38) = 2; plVar6[0x39] = 0; plVar6[0x3a] = 0; plVar6[0x3b] = 0; plVar6[0x2c] = 0; plVar6[0x2d] = 0; plVar6[0x2e] = 0; plVar6[0x2f] = 0; plVar6[0x30] = 0; plVar6[0x31] = 0; plVar8 = plVar6; } plVar7 = param_2; if (*(char *)(param_1 + 0xb8) != '\0') { if (((plVar6 != (longlong *)0x0) && (0.0 < *(double *)(param_1 + 0xa8))) && (0.0 < *(double *)(param_1 + 0xa0))) { dVar9 = *(double *)(param_1 + 0xa8) / *(double *)(param_1 + 0xa0); do { LOCK(); puVar1 = (uint *)(plVar6 + 0x32); uVar2 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); } while ((uVar2 & 1) != 0); if (dVar9 <= 0.0) { dVar9 = 0.0; } plVar6[3] = (longlong)dVar9; LOCK(); *(undefined4 *)(plVar6 + 0x32) = 0; UNLOCK(); } (**(code **)(*plVar8 + 8)) (plVar8,*(undefined4 *)(param_1 + 0xb0),*(undefined8 *)(param_1 + 0xa0)); } } EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x68)); *(longlong **)(param_1 + 0x40) = param_2; *(longlong **)(param_1 + 0x48) = plVar6; *(undefined8 *)(param_1 + 0x50) = 0; *(longlong **)(param_1 + 0x60) = plVar8; *(longlong **)(param_1 + 0x58) = plVar7; *(undefined1 *)(param_1 + 0xb9) = 0; LOCK(); *(undefined1 *)(param_1 + 0x9c) = 0; UNLOCK(); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x68)); if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x10))(plVar5); } if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } return; } ############ FUN_ 1804e6f50 size=534 ############ longlong FUN_1804e6f50(longlong param_1,undefined4 param_2,undefined4 param_3) { void *_Memory; undefined8 *puVar1; void *pvVar2; int iVar3; ulonglong uVar4; uint uVar5; ulonglong uVar6; puVar1 = (undefined8 *)FUN_1811316e0(0x100); FUN_1812a59f0(puVar1); *puVar1 = juce::MouseInputSourceInternal::vftable; *(undefined4 *)(puVar1 + 2) = param_2; *(undefined4 *)((longlong)puVar1 + 0x14) = param_3; uVar4 = 0; puVar1[3] = 0; puVar1[4] = 0; puVar1[5] = 0; puVar1[6] = 0; puVar1[7] = 0; *(undefined2 *)(puVar1 + 8) = 0; puVar1[9] = 0; puVar1[10] = 0; puVar1[0xb] = 0; puVar1[0xc] = 0; *(undefined4 *)(puVar1 + 0xd) = 0; puVar1[0xe] = 0; puVar1[0xf] = 0; puVar1[0x10] = 0; *(undefined1 *)(puVar1 + 0x11) = 0; puVar1[0x12] = 0; puVar1[0x13] = 0; puVar1[0x14] = 0; *(undefined1 *)(puVar1 + 0x15) = 0; puVar1[0x16] = 0; puVar1[0x17] = 0; puVar1[0x18] = 0; *(undefined1 *)(puVar1 + 0x19) = 0; puVar1[0x1a] = 0; puVar1[0x1b] = 0; puVar1[0x1c] = 0; *(undefined1 *)(puVar1 + 0x1d) = 0; puVar1[0x1e] = 0; *(undefined1 *)(puVar1 + 0x1f) = 0; iVar3 = *(int *)(param_1 + 0x24) + 1; if ((int)*(uint *)(param_1 + 0x20) < iVar3) { uVar5 = *(int *)(param_1 + 0x24) + 9 + iVar3 / 2 & 0xfffffff8; if (*(uint *)(param_1 + 0x20) != uVar5) { pvVar2 = *(void **)(param_1 + 0x18); if ((int)uVar5 < 1) { /* WARNING: Subroutine does not return */ free(pvVar2); } if (pvVar2 == (void *)0x0) { pvVar2 = malloc((longlong)(int)uVar5 * 8); *(void **)(param_1 + 0x18) = pvVar2; } else { pvVar2 = realloc(pvVar2,(longlong)(int)uVar5 * 8); *(void **)(param_1 + 0x18) = pvVar2; } } *(uint *)(param_1 + 0x20) = uVar5; } iVar3 = *(int *)(param_1 + 0x24); *(int *)(param_1 + 0x24) = iVar3 + 1; *(undefined8 **)(*(longlong *)(param_1 + 0x18) + (longlong)iVar3 * 8) = puVar1; iVar3 = *(int *)(param_1 + 0x34) + 1; if ((int)*(uint *)(param_1 + 0x30) < iVar3) { uVar5 = *(int *)(param_1 + 0x34) + 9 + iVar3 / 2 & 0xfffffff8; if (*(uint *)(param_1 + 0x30) != uVar5) { if ((int)uVar5 < 1) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x28)); } pvVar2 = malloc((longlong)(int)uVar5 << 3); uVar6 = uVar4; if (0 < *(int *)(param_1 + 0x34)) { do { *(undefined8 *)(uVar6 + (longlong)pvVar2) = *(undefined8 *)(uVar6 + *(longlong *)(param_1 + 0x28)); uVar5 = (int)uVar4 + 1; uVar4 = (ulonglong)uVar5; uVar6 = uVar6 + 8; } while ((int)uVar5 < *(int *)(param_1 + 0x34)); } _Memory = *(void **)(param_1 + 0x28); *(void **)(param_1 + 0x28) = pvVar2; /* WARNING: Subroutine does not return */ free(_Memory); } *(uint *)(param_1 + 0x30) = uVar5; } iVar3 = *(int *)(param_1 + 0x34); *(int *)(param_1 + 0x34) = iVar3 + 1; *(undefined8 **)(*(longlong *)(param_1 + 0x28) + (longlong)iVar3 * 8) = puVar1; return *(longlong *)(param_1 + 0x28) + (longlong)(*(int *)(param_1 + 0x34) + -1) * 8; } ############ FUN_ 181131fe4 size=26 ############ void FUN_181131fe4(void) { FUN_1811316e0(); return; } ############ FUN_ 18051e4b0 size=762 ############ undefined8 * FUN_18051e4b0(undefined8 *param_1,longlong *param_2,int *param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; double dVar3; longlong *plVar4; float *pfVar5; undefined8 uVar6; undefined8 *puVar7; float fVar8; undefined4 local_res8; undefined4 local_res10; double local_res18; double local_res20; undefined8 local_80; undefined4 uStack_78; undefined4 uStack_74; undefined8 local_68; undefined8 uStack_60; undefined8 local_58; undefined8 uStack_50; if ((*(byte *)(param_2 + 0x15) & 1) == 0) { uStack_50 = *(undefined8 *)(param_3 + 2); local_58 = CONCAT44(param_3[1] + (int)((ulonglong)param_2[4] >> 0x20),*param_3 + (int)param_2[4] ); *(undefined8 *)param_3 = local_58; *(undefined8 *)(param_3 + 2) = uStack_50; } else { if ((*(byte *)(param_2 + 0x15) & 1) == 0) { if (param_2[3] == 0) goto LAB_18051e75b; plVar4 = (longlong *)FUN_18134c2e0(param_2[3],param_2,param_3,param_4,0xfffffffffffffffe); } else { plVar4 = (longlong *)FUN_1812d2bd0(param_2); } if (plVar4 != (longlong *)0x0) { local_68 = *(undefined8 *)param_3; uStack_60 = *(undefined8 *)(param_3 + 2); fVar8 = (float)(**(code **)(*param_2 + 0x80))(param_2); dVar3 = DAT_1824c4520; if (fVar8 == DAT_1824c3ea4) { local_58 = *(undefined8 *)param_3; uStack_50 = *(undefined8 *)(param_3 + 2); puVar7 = &local_58; } else { local_res20 = (double)((float)uStack_60._4_4_ * fVar8) + DAT_1824c4520; local_res18 = (double)((float)(int)uStack_60 * fVar8) + DAT_1824c4520; local_res10 = SUB84((double)((float)local_68._4_4_ * fVar8) + DAT_1824c4520,0); local_68 = CONCAT44(local_res10, SUB84((double)((float)(int)local_68 * fVar8) + DAT_1824c4520,0)); uStack_60 = CONCAT44(local_res20._0_4_,SUB84(local_res18,0)); puVar7 = &local_68; } local_58 = *puVar7; uStack_50 = puVar7[1]; if ((undefined **)*plVar4 == juce::HWNDComponentPeer::vftable) { pfVar5 = (float *)(*(code *)juce::HWNDComponentPeer::vftable[9]) (plVar4,&local_res18, CONCAT44((float)(int)((ulonglong)local_58 >> 0x20), (float)(int)local_58)); local_res8 = SUB84((double)*pfVar5 + dVar3,0); local_80._0_4_ = local_res8; local_res10 = SUB84((double)pfVar5[1] + dVar3,0); local_80._4_4_ = local_res10; uStack_78 = (undefined4)uStack_50; uStack_74 = uStack_50._4_4_; puVar7 = &local_80; } else { puVar7 = (undefined8 *)(*(code *)((undefined **)*plVar4)[8])(plVar4,&local_80,&local_58); } uVar1 = *puVar7; uVar2 = puVar7[1]; local_68 = uVar1; uStack_60 = uVar2; if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } fVar8 = *(float *)(DAT_182673700 + 0xc0); local_58 = uVar1; uStack_50 = uVar2; if (fVar8 != DAT_1824c3ea4) { local_res20 = (double)((float)uStack_60._4_4_ / fVar8) + dVar3; local_res18 = (double)((float)(int)uStack_60 / fVar8) + dVar3; local_res10 = SUB84((double)((float)local_68._4_4_ / fVar8) + dVar3,0); local_58 = CONCAT44(local_res10,SUB84((double)((float)(int)local_68 / fVar8) + dVar3,0)); uStack_50 = CONCAT44(local_res20._0_4_,SUB84(local_res18,0)); } *(undefined8 *)param_3 = local_58; *(undefined8 *)(param_3 + 2) = uStack_50; } } LAB_18051e75b: if (param_2[7] != 0) { puVar7 = (undefined8 *)FUN_1804b1290(param_3,&local_58); uVar1 = puVar7[1]; *(undefined8 *)param_3 = *puVar7; *(undefined8 *)(param_3 + 2) = uVar1; } uVar1 = *(undefined8 *)(param_3 + 2); *param_1 = *(undefined8 *)param_3; param_1[1] = uVar1; return param_1; } ############ FUN_ 18134b820 size=61 ############ void FUN_18134b820(void) { undefined8 uVar1; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } return; } ############ FUN_ 18134c310 size=132 ############ void FUN_18134c310(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if ((*(byte *)(param_1 + 0xa8) & 1) != 0) { FUN_1804e5060(); puVar1 = (undefined8 *)FUN_1812d2bd0(param_1); *(byte *)(param_1 + 0xa8) = *(byte *)(param_1 + 0xa8) & 0xfe; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1,(undefined8 *)*puVar1,param_4,uVar2); } if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } FUN_180488600(DAT_182673700 + 0x58,param_1); return; } return; } ############ FUN_ 181343030 size=267 ############ ulonglong FUN_181343030(longlong *param_1) { longlong lVar1; uint uVar2; undefined8 *puVar3; longlong *plVar5; longlong lVar6; longlong *plVar7; longlong *plVar4; if (DAT_182673c20 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar3); FUN_1812a7230(puVar3 + 2); *puVar3 = juce::ModalComponentManager::vftable; puVar3[2] = juce::ModalComponentManager::vftable; puVar3[3] = 0; puVar3[4] = 0; DAT_182673c20 = puVar3; } uVar2 = *(int *)((longlong)DAT_182673c20 + 0x24) - 1; plVar4 = (longlong *)(ulonglong)uVar2; lVar6 = (longlong)(int)uVar2; plVar5 = plVar4; if (-1 < (int)uVar2) { plVar7 = (longlong *)0x0; do { plVar5 = plVar7; lVar1 = *(longlong *)(DAT_182673c20[3] + lVar6 * 8); plVar7 = plVar5; if ((*(char *)(lVar1 + 0x5c) != '\0') && (plVar7 = (longlong *)(ulonglong)((int)plVar5 + 1), plVar4 = plVar5, (int)plVar5 == 0)) { plVar4 = *(longlong **)(lVar1 + 0x40); goto LAB_1813430db; } lVar6 = lVar6 + -1; plVar5 = plVar4; } while (-1 < lVar6); } plVar4 = (longlong *)0x0; LAB_1813430db: plVar7 = param_1; if (plVar4 != (longlong *)0x0) { while (plVar4 != plVar7) { if (plVar7 == (longlong *)0x0) { plVar5 = (longlong *)(**(code **)(*plVar4 + 0x138))(plVar4,param_1); if ((char)plVar5 == '\0') { return 1; } break; } plVar5 = (longlong *)plVar7[3]; plVar7 = plVar5; } } return (ulonglong)plVar5 & 0xffffffffffffff00; } ############ FUN_ 1812cc560 size=399 ############ void FUN_1812cc560(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *_Dst; int iVar1; undefined8 *puVar2; undefined8 *puVar3; ulonglong uVar4; int iVar5; ulonglong uVar6; *param_1 = juce::TopLevelWindow::vftable; puVar3 = (undefined8 *)param_1[0x17]; uVar4 = 0; param_1[0x17] = 0; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1,param_3,param_4,0xfffffffffffffffe); } if (DAT_182673b08 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_1811316e0(0x38); *puVar3 = juce::Timer::vftable; puVar3[1] = 0xffffffffffffffff; *(undefined4 *)(puVar3 + 2) = 0; FUN_1812a7230(puVar3 + 3); *puVar3 = juce::TopLevelWindowManager::vftable; puVar3[3] = juce::TopLevelWindowManager::vftable; puVar3[4] = 0; puVar3[5] = 0; puVar3[6] = 0; DAT_182673b08 = puVar3; } puVar3 = DAT_182673b08; FUN_1812a77d0(DAT_182673b08,10); if ((undefined8 *)puVar3[6] == param_1) { puVar3[6] = 0; } iVar1 = *(int *)((longlong)puVar3 + 0x2c); uVar6 = uVar4; if (0 < iVar1) { do { iVar5 = (int)uVar6; if (param_1 == *(undefined8 **)(puVar3[4] + uVar4 * 8)) { _Dst = (void *)(puVar3[4] + (longlong)iVar5 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar5) + -1) << 3); *(int *)((longlong)puVar3 + 0x2c) = *(int *)((longlong)puVar3 + 0x2c) + -1; iVar1 = *(int *)((longlong)puVar3 + 0x2c); iVar5 = 0; if (0 < iVar1 * 2) { iVar5 = iVar1 * 2; } if (iVar5 < *(int *)(puVar3 + 5)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(puVar3 + 5)) { FUN_18047cb30(puVar3 + 4,iVar1); } } break; } uVar6 = (ulonglong)(iVar5 + 1); uVar4 = uVar4 + 1; } while ((longlong)uVar4 < (longlong)iVar1); } puVar2 = DAT_182673b08; if ((*(int *)((longlong)puVar3 + 0x2c) == 0) && (DAT_182673b08 = (undefined8 *)0x0, puVar2 != (undefined8 *)0x0)) { (**(code **)*puVar2)(puVar2,1); } puVar3 = (undefined8 *)param_1[0x17]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } FUN_18134caa0(param_1); return; } ############ FUN_ 1812a7460 size=224 ############ undefined1 FUN_1812a7460(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined1 uVar2; undefined8 *puVar3; undefined8 uVar4; longlong local_60 [7]; longlong *local_28; uVar4 = 0xfffffffffffffffe; puVar3 = (undefined8 *)FUN_1811316e0(0x50); local_28 = (longlong *)0x0; FUN_180488560(local_60,param_1); *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = `public:_static_bool___cdecl_juce::MessageManager::callAsync(std::function)' ::__l2::AsyncCallInvoker::vftable; puVar3[9] = 0; FUN_180488560(puVar3 + 2,local_60); if (local_28 != (longlong *)0x0) { (**(code **)(*local_28 + 0x20))(local_28,local_28 != local_60,*local_28,param_4,uVar4); local_28 = (longlong *)0x0; } uVar2 = FUN_1812a6720(puVar3); plVar1 = (longlong *)param_1[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1); param_1[7] = 0; } return uVar2; } ############ FUN_ 18051f9d0 size=107 ############ longlong FUN_18051f9d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; longlong lVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; if (param_1 != 0) { lVar2 = FUN_1811316e0(0x20); FUN_18051b380(lVar2,param_1,param_3,param_4,uVar3); lVar1 = *(longlong *)(param_1 + 0x18); *(longlong *)(lVar2 + 0x18) = lVar1; if (lVar1 != 0) { LOCK(); *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; UNLOCK(); } return lVar2; } return 0; } ############ FUN_ 181343150 size=787 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181343150(longlong param_1,undefined4 param_2) { int *piVar1; longlong *plVar2; float fVar3; float fVar4; float fVar5; float fVar6; undefined8 *puVar7; char cVar8; DWORD DVar9; int iVar10; longlong lVar11; undefined8 *puVar12; ulonglong uVar13; float *pfVar14; undefined8 **ppuVar15; longlong lVar16; longlong *plVar17; bool bVar18; undefined1 auStack_118 [32]; float local_f8; float fStack_f4; longlong local_f0; float local_e8; float local_e4; undefined8 *local_e0; undefined1 local_d8 [8]; undefined8 local_d0; undefined8 local_c8; undefined **local_c0 [2]; undefined4 local_b0; undefined ***local_88; longlong local_70; ushort local_68; ulonglong local_60; local_c8 = 0xfffffffffffffffe; local_60 = DAT_182615970 ^ (ulonglong)auStack_118; cVar8 = FUN_18134aa20(param_1,0); if (cVar8 != '\0') { lVar11 = FUN_1812a7550(); DVar9 = GetCurrentThreadId(); if ((ulonglong)DVar9 == *(ulonglong *)(lVar11 + 0x10)) { if (DAT_182673c20 == (undefined8 *)0x0) { puVar12 = (undefined8 *)FUN_1811316e0(0x28); local_e0 = puVar12; FUN_1812a59f0(puVar12); FUN_1812a7230(puVar12 + 2); *puVar12 = juce::ModalComponentManager::vftable; puVar12[2] = juce::ModalComponentManager::vftable; puVar12[3] = 0; puVar12[4] = 0; DAT_182673c20 = puVar12; } puVar12 = DAT_182673c20; iVar10 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar11 = (longlong)iVar10; if (-1 < iVar10) { do { lVar16 = *(longlong *)(puVar12[3] + lVar11 * 8); if (((*(longlong *)(lVar16 + 0x40) == param_1) && (*(undefined4 *)(lVar16 + 0x58) = param_2, *(char *)(lVar16 + 0x5c) != '\0')) && (*(undefined1 *)(lVar16 + 0x5c) = 0, puVar7 = DAT_182673c20, DAT_182673c20 != (undefined8 *)0x0)) { LOCK(); bVar18 = *(int *)(DAT_182673c20[1] + 0x18) == 0; if (bVar18) { *(int *)(DAT_182673c20[1] + 0x18) = 1; } UNLOCK(); if ((bVar18) && (cVar8 = FUN_1812a6720(puVar7[1]), cVar8 == '\0')) { LOCK(); *(undefined4 *)(puVar7[1] + 0x18) = 0; UNLOCK(); } } lVar11 = lVar11 + -1; } while (-1 < lVar11); } FUN_18133b010(puVar12,1); if (DAT_182673700 == 0) { local_f0 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_f0); } fVar6 = DAT_1824c3ea4; plVar17 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar2 = plVar17 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); for (; plVar17 != plVar2; plVar17 = plVar17 + 1) { local_f0 = *plVar17; if (*(longlong *)(local_f0 + 0x48) == 0) { lVar11 = 0; } else { lVar11 = *(longlong *)(*(longlong *)(local_f0 + 0x48) + 0x10); } if (lVar11 != 0) { _ftime64_s(&local_70); lVar16 = local_70 * 1000; uVar13 = (ulonglong)local_68; pfVar14 = (float *)FUN_1804e5a90(*plVar17,local_d8); fVar3 = *pfVar14; fVar4 = pfVar14[1]; puVar12 = *(undefined8 **)pfVar14; if (DAT_182673700 == 0) { local_d0 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_d0); } fVar5 = *(float *)(DAT_182673700 + 0xc0); if (fVar5 == fVar6) { local_e0 = puVar12; ppuVar15 = &local_e0; } else { local_e8 = fVar3 / fVar5; local_e4 = fVar4 / fVar5; ppuVar15 = (undefined8 **)&local_e8; } local_f8 = fVar3; fStack_f4 = fVar4; FUN_1813412b0(lVar11,&local_f0,*ppuVar15,lVar16 + uVar13); } } } else { FUN_1804de690(&local_f8,param_1); if (CONCAT44(fStack_f4,local_f8) != 0) { LOCK(); piVar1 = (int *)(CONCAT44(fStack_f4,local_f8) + 8); *piVar1 = *piVar1 + 1; UNLOCK(); } lVar11 = CONCAT44(fStack_f4,local_f8); local_c0[0] = std::_Func_impl_no_alloc<,void>:: vftable; local_88 = local_c0; local_b0 = param_2; FUN_1812a7460(local_c0); if (lVar11 != 0) { LOCK(); piVar1 = (int *)(lVar11 + 8); iVar10 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar10 == 1) { (*(code *)**(undefined8 **)CONCAT44(fStack_f4,local_f8)) ((undefined8 *)CONCAT44(fStack_f4,local_f8),1); } } } } } ############ FUN_ 1804e5a90 size=248 ############ float * FUN_1804e5a90(longlong param_1,float *param_2) { int iVar1; undefined8 uVar2; tagPOINT *ptVar3; char cVar4; float fVar5; float fVar6; tagPOINT local_res8; undefined1 local_res10 [8]; if (*(int *)(param_1 + 0x14) == 1) { fVar5 = *(float *)(param_1 + 0x18); fVar6 = *(float *)(param_1 + 0x1c); } else { GetCursorPos(&local_res8); FUN_1812c75b0(); if ((DAT_182678f18 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar4 = FUN_1812c7510(); } else { uVar2 = (*DAT_182678f18)(); iVar1 = (*DAT_182678ec8)(uVar2); cVar4 = iVar1 == 2; } if (cVar4 != '\0') { if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } ptVar3 = (tagPOINT *) FUN_18051ece0(*(undefined8 *)(DAT_182673700 + 0x78),local_res10,local_res8,0); local_res8 = *ptVar3; } fVar5 = (float)local_res8.x; fVar6 = (float)local_res8.y; } *param_2 = fVar5 + *(float *)(param_1 + 0x20); param_2[1] = fVar6 + *(float *)(param_1 + 0x24); return param_2; } ############ FUN_ 18051ece0 size=239 ############ int * FUN_18051ece0(undefined8 param_1,int *param_2,undefined8 param_3,longlong param_4) { float fVar1; int iVar2; int iVar3; undefined8 uVar4; double dVar5; if (param_4 == 0) { param_4 = FUN_18133d700(param_1,param_3,1,0,0xfffffffffffffffe); } if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } fVar1 = *(float *)(DAT_182673700 + 0xc0); iVar2 = *(int *)(param_4 + 8); iVar3 = *(int *)(param_4 + 0x28); dVar5 = *(double *)(param_4 + 0x30) / (double)fVar1; *param_2 = (int)((double)((int)param_3 - *(int *)(param_4 + 0x24)) / dVar5) + (int)((float)*(int *)(param_4 + 4) * fVar1); param_2[1] = (int)((double)((int)((ulonglong)param_3 >> 0x20) - iVar3) / dVar5) + (int)((float)iVar2 * fVar1); return param_2; } ############ FUN_ 1812a7550 size=452 ############ undefined8 * FUN_1812a7550(void) { uint uVar1; ushort *puVar2; DWORD DVar3; undefined8 *puVar4; longlong *plVar5; ushort *_Memory; uint *_Memory_00; longlong *local_res8; undefined *local_res10; longlong local_res18; if (DAT_1826736d0 == (undefined8 *)0x0) { puVar4 = (undefined8 *)FUN_1811316e0(0x20); *puVar4 = 0; puVar4[1] = 0; DVar3 = GetCurrentThreadId(); puVar4[2] = (ulonglong)DVar3; puVar4[3] = 0; if (DAT_1826736d8 != 0) { FUN_18049c4e0(&local_res8,"JUCE Message Thread"); _Memory_00 = (uint *)(local_res8 + -2); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } } DAT_1826736d0 = puVar4; OleInitialize((LPVOID)0x0); if (DAT_182673ad8 == (longlong *)0x0) { local_res10 = &DAT_182673aa8; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673aa8); if ((DAT_182673ad8 == (longlong *)0x0) && (DAT_18267aa98 == '\0')) { DAT_18267aa98 = 1; plVar5 = (longlong *)FUN_1811316e0(0x48); *plVar5 = 0; local_res8 = plVar5; InitializeCriticalSection((LPCRITICAL_SECTION)(plVar5 + 1)); plVar5[7] = 0; plVar5[8] = 0; local_res18 = FUN_1811316e0(0x10); _Memory = (ushort *)FUN_1804cf280(local_res18,&DAT_1821e11d8,FUN_1804d1550); if (plVar5 == &local_res18) { if (_Memory != (ushort *)0x0) { DestroyWindow(*(HWND *)(_Memory + 4)); UnregisterClassW((LPCWSTR)(ulonglong)*_Memory,(HINSTANCE)0x0); goto LAB_1812a76d2; } } else { puVar2 = (ushort *)*plVar5; *plVar5 = (longlong)_Memory; if (puVar2 != (ushort *)0x0) { DestroyWindow(*(HWND *)(puVar2 + 4)); UnregisterClassW((LPCWSTR)(ulonglong)*puVar2,(HINSTANCE)0x0); _Memory = puVar2; LAB_1812a76d2: /* WARNING: Subroutine does not return */ free(_Memory); } } DAT_1826736b0 = *(undefined8 *)(*plVar5 + 8); DAT_18267aa98 = '\0'; DAT_182673ad8 = plVar5; } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673aa8); } } return DAT_1826736d0; } ############ FUN_ 1813412b0 size=593 ############ void FUN_1813412b0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; char cVar3; longlong lVar4; longlong lVar5; int iVar6; undefined8 *local_f8; undefined8 local_f0; undefined8 local_e8; double local_e0; undefined8 local_d8; undefined8 local_c8; undefined4 uStack_c0; undefined4 uStack_bc; uint local_b8; double local_b0; undefined8 local_a8; float local_98; float local_94; undefined4 local_90; undefined4 local_8c; uint local_88; undefined8 local_84; undefined8 local_7c; undefined4 local_74; undefined8 local_70; longlong *local_68; longlong *local_60; undefined8 local_58; undefined8 local_50; longlong local_48; undefined2 local_40; undefined8 local_38; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; local_38 = 0xfffffffffffffffe; local_e8 = param_3; cVar3 = FUN_181343030(); if (cVar3 == '\0') { if ((*(byte *)((longlong)param_1 + 0xa9) & 8) != 0) { uStack_bc = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_c0 = (undefined4)param_1[5]; local_c8 = 0; local_28 = 0; uStack_24 = 0; uStack_20 = uStack_c0; uStack_1c = uStack_bc; FUN_181342870(param_1,&local_28,1); } FUN_1804de690(&local_f8,param_1); local_48 = *param_2; local_b8 = DAT_182673aec & 0xffffff8f; local_88 = *(uint *)(local_48 + 0x28) | local_b8; local_98 = (float)local_e8; local_94 = local_e8._4_4_; local_b0 = (double)(float)local_e8 + DAT_1824c4520; local_90 = local_b0._0_4_; local_e0 = (double)local_e8._4_4_ + DAT_1824c4520; local_8c = local_e0._0_4_; local_84 = 0; local_7c = 0; local_74 = 0; local_40 = 0; local_70 = param_3; local_68 = param_1; local_60 = param_1; local_58 = param_4; local_50 = param_4; (**(code **)(*param_1 + 0x10))(param_1,&local_98); if (local_f8 == (undefined8 *)0x0) { lVar4 = 0; } else { lVar4 = local_f8[2]; } if (lVar4 != 0) { if (DAT_182673700 == 0) { local_d8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_d8); } lVar4 = DAT_182673700; FUN_18133bd90(DAT_182673700); iVar6 = *(int *)(lVar4 + 0x44); while( true ) { if (local_f8 == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = local_f8[2]; } if ((lVar5 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(lVar4 + 0x44) <= iVar6) && (iVar6 = *(int *)(lVar4 + 0x44) + -1, iVar6 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(lVar4 + 0x38) + (longlong)iVar6 * 8); (**(code **)(*plVar2 + 0x10))(plVar2,&local_98); } FUN_18051e7b0(param_1,&local_f8,FUN_180526060,&local_98); } if (local_f8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_f8 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_f8)(local_f8,1); } } } else { local_a8 = 0; local_f0 = 0; FUN_1804e6d20(*param_2,&local_f0,0); } return; } ############ FUN_ 1804e6d20 size=363 ############ void FUN_1804e6d20(longlong param_1,longlong *param_2,char param_3,undefined8 param_4) { longlong lVar1; uint uVar2; char cVar3; HCURSOR pHVar4; HCURSOR pHVar5; pHVar5 = (HCURSOR)0x0; if ((*(char *)(param_1 + 0x40) == '\0') || (((*(float *)(param_1 + 0x20) == 0.0 && (*(float *)(param_1 + 0x24) == 0.0)) && (*(char *)(param_1 + 0x41) != '\0')))) { if (param_3 == '\0') { pHVar4 = pHVar5; if (*param_2 != 0) { pHVar4 = *(HCURSOR *)(*param_2 + 8); } if (pHVar4 == *(HCURSOR *)(param_1 + 0x60)) goto LAB_1804e6e6e; } } else { do { LOCK(); uVar2 = DAT_182673b68 & 1; DAT_182673b68 = DAT_182673b68 | 1; UNLOCK(); } while (uVar2 != 0); if (DAT_18267aad8 == (undefined8 *)0x0) { DAT_18267aad8 = (undefined8 *)FUN_1811316e0(0x20,&DAT_182673b68,param_3,param_4,0xfffffffffffffffe); *DAT_18267aad8 = 0; DAT_18267aad8[1] = 0x7ef4; *(undefined4 *)(DAT_18267aad8 + 2) = 1; *(undefined4 *)((longlong)DAT_18267aad8 + 0x14) = 1; *(undefined1 *)(DAT_18267aad8 + 3) = 1; } else { LOCK(); *(int *)(DAT_18267aad8 + 2) = *(int *)(DAT_18267aad8 + 2) + 1; UNLOCK(); } LOCK(); DAT_182673b68 = 0; UNLOCK(); lVar1 = *param_2; *param_2 = (longlong)DAT_18267aad8; if (lVar1 != 0) { FUN_1804e9060(lVar1); } } pHVar4 = pHVar5; if (*param_2 != 0) { pHVar4 = *(HCURSOR *)(*param_2 + 8); } *(HCURSOR *)(param_1 + 0x60) = pHVar4; cVar3 = FUN_1812d2b50(*(undefined8 *)(param_1 + 0x58)); if (cVar3 == '\0') { *(undefined8 *)(param_1 + 0x58) = 0; } pHVar4 = pHVar5; if (*param_2 != 0) { pHVar4 = *(HCURSOR *)(*param_2 + 8); } if (pHVar4 == (HCURSOR)0x0) { pHVar4 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f00); } else if (pHVar4 == (HCURSOR)0x7ef4) { pHVar4 = pHVar5; } SetCursor(pHVar4); LAB_1804e6e6e: if (*param_2 != 0) { FUN_1804e9060(); } return; } ############ FUN_ 1812d2b50 size=110 ############ longlong FUN_1812d2b50(longlong param_1) { longlong *plVar1; undefined8 uVar2; uint7 uVar3; longlong *plVar4; if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } plVar4 = *(longlong **)(DAT_182673700 + 0x68); plVar1 = plVar4 + *(int *)(DAT_182673700 + 0x74); uVar3 = (uint7)(int3)((uint)*(int *)(DAT_182673700 + 0x74) >> 8); while( true ) { if (plVar4 == plVar1) { return (ulonglong)uVar3 << 8; } if (param_1 == *plVar4) break; plVar4 = plVar4 + 1; } return CONCAT71(uVar3,1); } ############ FUN_ 18133bd90 size=285 ############ void FUN_18133bd90(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { float fVar1; float fVar2; float fVar3; float *pfVar4; undefined8 local_res8; undefined8 local_res10; if (*(int *)(param_1 + 0x44) == 0) { FUN_1812a7720(param_1 + 8); } else { FUN_1812a77d0(param_1 + 8,100,param_3,param_4,0xfffffffffffffffe); } if (DAT_182673700 == 0) { local_res8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8); } pfVar4 = (float *)FUN_1804e5a90(**(undefined8 **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18), &local_res8); fVar1 = *pfVar4; fVar2 = pfVar4[1]; if (DAT_182673700 == 0) { local_res10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } fVar3 = *(float *)(DAT_182673700 + 0xc0); local_res8._0_4_ = fVar1; local_res8._4_4_ = fVar2; if (fVar3 != DAT_1824c3ea4) { local_res8._0_4_ = fVar1 / fVar3; local_res8._4_4_ = fVar2 / fVar3; } *(float *)(param_1 + 0x80) = (float)local_res8; *(float *)(param_1 + 0x84) = local_res8._4_4_; return; } ############ FUN_ 18134aa20 size=264 ############ longlong FUN_18134aa20(ulonglong param_1,char param_2) { uint uVar1; undefined8 *puVar2; ulonglong uVar3; ulonglong uVar4; longlong *plVar5; uint7 uVar6; longlong lVar7; longlong *plVar8; ulonglong uVar9; ulonglong uVar10; uVar9 = 0; if (DAT_182673c20 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar2); FUN_1812a7230(puVar2 + 2); *puVar2 = juce::ModalComponentManager::vftable; puVar2[2] = juce::ModalComponentManager::vftable; puVar2[3] = 0; puVar2[4] = 0; DAT_182673c20 = puVar2; } if (param_2 == '\0') { plVar5 = (longlong *)DAT_182673c20[3]; plVar8 = plVar5 + *(int *)((longlong)DAT_182673c20 + 0x24); for (; uVar6 = (uint7)((ulonglong)plVar5 >> 8), plVar5 != plVar8; plVar5 = plVar5 + 1) { if ((*(char *)(*plVar5 + 0x5c) != '\0') && (*(ulonglong *)(*plVar5 + 0x40) == param_1)) { return CONCAT71(uVar6,1); } } lVar7 = (ulonglong)uVar6 << 8; } else { uVar1 = *(int *)((longlong)DAT_182673c20 + 0x24) - 1; uVar4 = (ulonglong)uVar1; if (-1 < (int)uVar1) { lVar7 = (longlong)(int)uVar1; uVar3 = DAT_182673c20[3]; plVar8 = (longlong *)(uVar3 + lVar7 * 8); uVar10 = uVar9; do { uVar4 = uVar10; uVar10 = uVar4; if ((*(char *)(*plVar8 + 0x5c) != '\0') && (uVar10 = (ulonglong)((int)uVar4 + 1), uVar3 = uVar4, (int)uVar4 == 0)) { uVar9 = *(ulonglong *)(*plVar8 + 0x40); break; } plVar8 = plVar8 + -1; lVar7 = lVar7 + -1; uVar4 = uVar3; } while (-1 < lVar7); } lVar7 = CONCAT71((int7)(uVar4 >> 8),param_1 == uVar9); } return lVar7; } ############ FUN_ 1812e2030 size=279 ############ void FUN_1812e2030(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; longlong lVar3; undefined8 uVar4; undefined8 *local_20; undefined8 local_18; undefined8 local_10; uVar4 = 0xfffffffffffffffe; *param_1 = juce::TextEditor::vftable; param_1[0x16] = juce::TextEditor::vftable; param_1[0x17] = juce::TextEditor::vftable; if (*(char *)((longlong)param_1 + 500) != '\0') { if ((*(byte *)(param_1 + 0x15) & 1) == 0) { if (param_1[3] == 0) goto LAB_1812e20b7; plVar1 = (longlong *)FUN_18134c2e0(); } else { plVar1 = (longlong *)FUN_1812d2bd0(); } if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0xd8))(plVar1); } } LAB_1812e20b7: lVar3 = param_1[0x3a] + 200; if (param_1[0x3a] == 0) { lVar3 = 0; } FUN_1813514c0(param_1 + 0x5b,lVar3,param_3,param_4,uVar4); puVar2 = (undefined8 *)FUN_1811316e0(0x40); FUN_181351450(puVar2); *puVar2 = juce::SimpleValueSource::vftable; puVar2[2] = juce::SimpleValueSource::vftable; puVar2[6] = &PTR_vftable_18262b558; LOCK(); *(int *)(puVar2 + 1) = *(int *)(puVar2 + 1) + 1; UNLOCK(); local_18 = 0; local_10 = 0; local_20 = puVar2; FUN_181351620(param_1 + 0x5b,&local_20); /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 181252ea0 size=371 ############ void FUN_181252ea0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; uint *puVar2; int iVar3; uint uVar4; undefined8 *puVar5; uint *puVar6; uint *local_res8; undefined *local_res10; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; if (DAT_182673a68 == (uint *)0x0) { local_res10 = &DAT_182673a38; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673a38); if ((DAT_182673a68 == (uint *)0x0) && (DAT_18267aa70 == '\0')) { DAT_18267aa70 = 1; puVar6 = (uint *)FUN_1811316e0(0x1a0); local_res8 = puVar6; FUN_1812a7230(puVar6); *(undefined ***)puVar6 = juce::TypefaceCache::vftable; puVar6[2] = 0; puVar6[3] = 0; FUN_18122bd40(puVar6 + 4); puVar6[0x62] = 0; puVar6[99] = 0; puVar6[100] = 0; puVar6[0x65] = 0; puVar6[0x66] = 0; puVar6[0x67] = 0; FUN_1804a2290(puVar6,10); DAT_18267aa70 = '\0'; DAT_182673a68 = puVar6; } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673a38); } puVar6 = DAT_182673a68; FUN_180493780(&local_res8,DAT_182673a68 + 4,param_3,param_4,uVar7); FUN_1804a2290(puVar6,puVar6[0x65]); puVar5 = *(undefined8 **)(puVar6 + 2); puVar6[2] = 0; puVar6[3] = 0; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar5)(puVar5,1); } } do { puVar6 = local_res8; LOCK(); uVar4 = *local_res8; *local_res8 = *local_res8 | 1; UNLOCK(); } while ((uVar4 & 1) != 0); puVar2 = local_res8 + 0x57; *puVar2 = *puVar2 - 1; if (*puVar2 == 0) { local_res8[0x58] = 0; local_res8[0x59] = 0; FUN_181215c10(local_res8 + 2); FUN_181215c10(puVar6 + 0x2c); } LOCK(); *puVar6 = 0; UNLOCK(); uVar7 = FUN_1804a8480(); FUN_1804a83f0(uVar7); if (DAT_1826736c0 != (code *)0x0) { (*DAT_1826736c0)(); } return; } ############ FUN_ 1804a8480 size=115 ############ undefined8 * FUN_1804a8480(void) { undefined8 *puVar1; puVar1 = DAT_18267aa68; if (DAT_18267aa68 == (undefined8 *)0x0) { puVar1 = (undefined8 *)FUN_1811316e0(0x50); FUN_1812a7230(puVar1); *puVar1 = juce::RenderingHelpers:: GlyphCache,juce::RenderingHelpers::SoftwareRendererSavedState> ::vftable; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; *(undefined4 *)(puVar1 + 4) = 0; InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)puVar1 + 0x24)); FUN_1804a83f0(puVar1); } DAT_18267aa68 = puVar1; return puVar1; } ############ FUN_ 1804ac500 size=255 ############ void FUN_1804ac500(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; int iVar2; undefined8 *puVar3; int iVar4; iVar4 = *(int *)(param_1 + 0x14) + param_2; plVar1 = (longlong *)(param_1 + 8); if (*(int *)(param_1 + 0x10) < iVar4) { FUN_18047cb30(plVar1,iVar4 + 8 + iVar4 / 2 & 0xfffffff8,iVar4,param_4,0xfffffffffffffffe); } while (param_2 = param_2 + -1, -1 < param_2) { puVar3 = (undefined8 *)FUN_1811316e0(0x30); puVar3[1] = 0; puVar3[2] = 0; puVar3[3] = 0; puVar3[4] = 0; puVar3[5] = 0; *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = juce::RenderingHelpers:: CachedGlyphEdgeTable::vftable; FUN_181252d20(puVar3 + 2); puVar3[3] = 0; puVar3[4] = 0; *(undefined1 *)(puVar3 + 5) = 0; iVar2 = *(int *)(param_1 + 0x14); iVar4 = iVar2 + 1; if (*(int *)(param_1 + 0x10) < iVar4) { if (iVar4 < 0) { iVar4 = iVar2 + 2; } FUN_18047cb30(plVar1,iVar2 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar4 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar4 + 1; *(undefined8 **)(*plVar1 + (longlong)iVar4 * 8) = puVar3; LOCK(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; UNLOCK(); } return; } ############ FUN_ 181252d20 size=368 ############ undefined8 * FUN_181252d20(undefined8 *param_1) { undefined8 *puVar1; undefined8 *puVar2; longlong *plVar3; longlong lVar4; puVar1 = (undefined8 *)FUN_1811316e0(0x40); *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::Font::SharedFontInternal::vftable; if (DAT_182673a68 == (undefined8 *)0x0) { EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673a38); if ((DAT_182673a68 == (undefined8 *)0x0) && (DAT_18267aa70 == '\0')) { DAT_18267aa70 = 1; puVar2 = (undefined8 *)FUN_1811316e0(0x1a0); FUN_1812a7230(puVar2); *puVar2 = juce::TypefaceCache::vftable; puVar2[1] = 0; FUN_18122bd40(puVar2 + 2); puVar2[0x31] = 0; puVar2[0x32] = 0; puVar2[0x33] = 0; FUN_1804a2290(puVar2,10); DAT_18267aa70 = '\0'; DAT_182673a68 = puVar2; } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673a38); } lVar4 = DAT_182673a68[1]; puVar1[2] = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } plVar3 = (longlong *)FUN_181252610(); lVar4 = *plVar3; puVar1[3] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } lVar4 = FUN_181252610(); lVar4 = *(longlong *)(lVar4 + 0x18); puVar1[4] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(puVar1 + 5) = 0x41600000; *(undefined8 *)((longlong)puVar1 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar1 + 0x34) = 0; *(undefined1 *)(puVar1 + 7) = 0; *param_1 = puVar1; LOCK(); *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; UNLOCK(); return param_1; } ############ FUN_ 1805989c0 size=172 ############ ulonglong * FUN_1805989c0(void) { ulonglong uVar1; ulonglong uVar2; DWORD DVar3; ulonglong *puVar4; ulonglong *puVar5; bool bVar6; DVar3 = GetCurrentThreadId(); uVar2 = (ulonglong)DVar3; for (puVar4 = DAT_182674808; puVar5 = DAT_182674808, puVar4 != (ulonglong *)0x0; puVar4 = (ulonglong *)puVar4[1]) { if (*puVar4 == uVar2) goto LAB_180598a62; } do { puVar4 = puVar5; if (puVar4 == (ulonglong *)0x0) { LAB_180598a1d: puVar4 = (ulonglong *)FUN_1811316e0(0x18); puVar5 = DAT_182674808; *puVar4 = uVar2; puVar4[2] = 0; do { puVar4[1] = (ulonglong)puVar5; LOCK(); bVar6 = puVar5 != DAT_182674808; puVar5 = puVar4; if (bVar6) { puVar5 = DAT_182674808; } DAT_182674808 = puVar5; UNLOCK(); puVar5 = DAT_182674808; } while (bVar6); LAB_180598a62: return puVar4 + 2; } LOCK(); uVar1 = *puVar4; if (uVar1 == 0) { *puVar4 = uVar2; } UNLOCK(); if (uVar1 == 0) { if (puVar4 != (ulonglong *)0x0) { puVar4[2] = 0; goto LAB_180598a62; } goto LAB_180598a1d; } puVar5 = (ulonglong *)puVar4[1]; } while( true ); } ############ FUN_ 1812d2cf0 size=331 ############ void FUN_1812d2cf0(undefined8 *param_1) { int *piVar1; void *_Dst; int iVar2; undefined8 *puVar3; longlong lVar4; char cVar5; longlong lVar6; int iVar7; bool bVar8; *param_1 = juce::ComponentPeer::vftable; if (DAT_182673700 == 0) { FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(); } lVar4 = DAT_182673700; iVar7 = 0; lVar6 = 0; iVar2 = *(int *)(DAT_182673700 + 0x74); if (0 < iVar2) { do { if (param_1 == *(undefined8 **)(*(longlong *)(DAT_182673700 + 0x68) + lVar6 * 8)) { _Dst = (void *)(*(longlong *)(DAT_182673700 + 0x68) + (longlong)iVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar4 + 0x74) = *(int *)(lVar4 + 0x74) + -1; iVar2 = *(int *)(lVar4 + 0x74); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (iVar7 < *(int *)(lVar4 + 0x70)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar4 + 0x70)) { FUN_18047cb30(lVar4 + 0x68); } } break; } iVar7 = iVar7 + 1; lVar6 = lVar6 + 1; } while (lVar6 < iVar2); } piVar1 = (int *)(*(longlong *)(lVar4 + 0x28) + 0x18); LOCK(); bVar8 = *piVar1 == 0; if (bVar8) { *piVar1 = 1; } UNLOCK(); if ((bVar8) && (cVar5 = FUN_1812a6720(*(undefined8 *)(lVar4 + 0x28)), cVar5 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(lVar4 + 0x28) + 0x18) = 0; UNLOCK(); } puVar3 = (undefined8 *)param_1[9]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = (undefined8 *)param_1[8]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *(undefined4 *)((longlong)param_1 + 0x3c) = 0; /* WARNING: Could not recover jumptable at 0x0001812d2e34. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)param_1[6]); return; } ############ FUN_ 180462310 size=218 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180462310(void) { uint uVar1; undefined8 uVar2; uint *_Memory; longlong local_res8 [4]; uVar2 = FUN_18122bf10(); FUN_18122c1b0(uVar2,local_res8,&DAT_182673800); DAT_1826738b0 = (undefined8 *)FUN_1811316e0(0x50); *(undefined4 *)(DAT_1826738b0 + 1) = 0; *DAT_1826738b0 = juce::ValueTree::SharedObject::vftable; DAT_1826738b0[2] = local_res8[0]; if ((*(uint *)(local_res8[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8[0] + -0x10) = *(int *)(local_res8[0] + -0x10) + 1; UNLOCK(); } DAT_1826738b0[3] = 0; DAT_1826738b0[4] = 0; DAT_1826738b0[5] = 0; DAT_1826738b0[6] = 0; DAT_1826738b0[7] = 0; DAT_1826738b0[8] = 0; DAT_1826738b0[9] = 0; LOCK(); *(int *)(DAT_1826738b0 + 1) = *(int *)(DAT_1826738b0 + 1) + 1; UNLOCK(); DAT_1826738b8 = 0; _DAT_1826738c0 = 0; _Memory = (uint *)(local_res8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } atexit(FUN_181a4a430); return; } ############ FUN_ 1805a2340 size=1022 ############ longlong * FUN_1805a2340(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong lVar3; char cVar4; longlong *plVar5; longlong *plVar6; longlong *local_res8; longlong *local_res10; longlong *local_res18; undefined4 uVar7; longlong local_100; longlong *aplStack_f8 [2]; undefined **local_e8; longlong *local_e0; char *local_d8; char *local_d0; undefined4 local_c8; undefined **local_c0; undefined8 local_b8; undefined8 local_b0; undefined **local_a8 [4]; undefined **local_88; longlong *local_80; undefined8 local_78; undefined8 uStack_70; undefined4 local_68; undefined **local_60; char *local_58; undefined8 local_50; undefined8 local_48; local_48 = 0xfffffffffffffffe; plVar6 = (longlong *)0x0; local_80 = (longlong *)0x0; local_78 = 0; uStack_70 = 0; local_68 = 0xffffffff; local_50 = 0; local_58 = "bad allocation"; local_88 = boost::exception_detail::bad_alloc_::vftable; local_60 = boost::exception_detail::bad_alloc_::vftable; local_a8[0] = (undefined **)&DAT_181bae6c8; local_a8[2] = boost::exception_detail::clone_base::vftable; uVar7 = 2; local_e8 = boost::exception::vftable; local_e0 = (longlong *)0x0; local_d8 = (char *)0x0; local_d0 = (char *)0x0; local_c8 = 0xffffffff; local_c0 = std::exception::vftable; local_b8 = 0; local_b0 = 0; local_res8 = param_1; __std_exception_copy(&local_58,&local_b8,param_3,param_4,2); local_e8 = boost::exception_detail::clone_impl::vftable; local_c0 = boost::exception_detail::clone_impl::vftable; *(undefined ***)((longlong)local_a8 + (longlong)*(int *)((longlong)local_a8[0] + 4)) = boost::exception_detail::clone_impl::vftable; *(int *)((longlong)local_a8 + (longlong)*(int *)((longlong)local_a8[0] + 4) + -4) = *(int *)((longlong)local_a8[0] + 4) + -0x10; local_res10 = (longlong *)0x0; plVar5 = plVar6; if (local_80 != (longlong *)0x0) { plVar5 = (longlong *)(**(code **)(*local_80 + 0x28))(local_80,&local_res8); plVar5 = (longlong *)*plVar5; local_res10 = plVar5; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x18))(plVar5); } if ((local_res8 != (longlong *)0x0) && (cVar4 = (**(code **)(*local_res8 + 0x20))(), cVar4 != '\0')) { local_res8 = plVar6; } } local_d0 = (char *)uStack_70; local_c8 = local_68; local_d8 = (char *)local_78; if (local_e0 != (longlong *)0x0) { (**(code **)(*local_e0 + 0x20))(); } local_e0 = plVar5; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x18))(plVar5); (**(code **)(*plVar5 + 0x20))(plVar5); } local_d8 = "class boost::exception_ptr __cdecl boost::exception_detail::get_static_exception_object(void)" ; local_d0 = "d:\\jenkins\\full\\eden\\client\\thirdpartylibs\\installedwin32\\individual\\boost\\include\\boost\\exception\\detail\\exception_ptr.hpp" ; local_c8 = 0x7c; if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_18265db80) && (_Init_thread_header(&DAT_18265db80), DAT_18265db80 == -1)) { plVar5 = (longlong *)FUN_1811316e0(0x58); local_res18 = plVar5; if (plVar5 != (longlong *)0x0) { plVar5[8] = (longlong)&DAT_181bae6c8; plVar5[10] = (longlong)boost::exception_detail::clone_base::vftable; uVar7 = 6; *plVar5 = (longlong)boost::exception::vftable; plVar5[1] = (longlong)local_e0; if (local_e0 != (longlong *)0x0) { (**(code **)(*local_e0 + 0x18))(); } plVar5[2] = (longlong)local_d8; plVar5[3] = (longlong)local_d0; *(undefined4 *)(plVar5 + 4) = local_c8; plVar5[5] = (longlong)std::exception::vftable; plVar5[6] = 0; plVar5[7] = 0; __std_exception_copy(&local_b8); *plVar5 = (longlong) boost::exception_detail::clone_impl::vftable; plVar5[5] = (longlong) boost::exception_detail::clone_impl::vftable; *(undefined ***)((longlong)*(int *)(plVar5[8] + 4) + 0x40 + (longlong)plVar5) = boost::exception_detail::clone_impl::vftable; *(undefined4 *)((longlong)*(int *)(plVar5[8] + 4) + 0x3c + (longlong)plVar5) = 0; plVar6 = plVar5; } if (plVar6 == (longlong *)0x0) { local_100 = 0; } else { local_100 = (longlong)plVar6 + (longlong)*(int *)(plVar6[8] + 4) + 0x40; } FUN_1805a0b50(aplStack_f8,plVar6); FUN_1805ae620(&local_100,plVar6,plVar6,param_4,uVar7); DAT_18265db70 = local_100; DAT_18265db78 = aplStack_f8[0]; if (aplStack_f8[0] != (longlong *)0x0) { LOCK(); *(int *)(aplStack_f8[0] + 1) = (int)aplStack_f8[0][1] + 1; UNLOCK(); LOCK(); plVar5 = aplStack_f8[0] + 1; lVar3 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)(*aplStack_f8[0] + 8))(aplStack_f8[0]); LOCK(); piVar1 = (int *)((longlong)aplStack_f8[0] + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*aplStack_f8[0] + 0x10))(aplStack_f8[0]); } } } atexit(FUN_181a502e0); _Init_thread_footer(&DAT_18265db80); } *param_1 = DAT_18265db70; plVar5 = DAT_18265db78; param_1[1] = (longlong)DAT_18265db78; if (plVar5 != (longlong *)0x0) { LOCK(); plVar5 = plVar5 + 1; *(int *)plVar5 = (int)*plVar5 + 1; UNLOCK(); } FUN_1805a0480(&local_e8); local_88 = boost::exception_detail::bad_alloc_::vftable; local_60 = std::exception::vftable; __std_exception_destroy(&local_58); local_88 = boost::exception::vftable; if (local_80 != (longlong *)0x0) { (**(code **)(*local_80 + 0x20))(); } return param_1; } ############ FUN_ 1805a0b50 size=97 ############ undefined8 * FUN_1805a0b50(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p_> ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1805a2740 size=1022 ############ longlong * FUN_1805a2740(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong lVar3; char cVar4; longlong *plVar5; longlong *plVar6; longlong *local_res8; longlong *local_res10; longlong *local_res18; undefined4 uVar7; longlong local_100; longlong *aplStack_f8 [2]; undefined **local_e8; longlong *local_e0; char *local_d8; char *local_d0; undefined4 local_c8; undefined **local_c0; undefined8 local_b8; undefined8 local_b0; undefined **local_a8 [4]; undefined **local_88; longlong *local_80; undefined8 local_78; undefined8 uStack_70; undefined4 local_68; undefined **local_60; char *local_58; undefined8 local_50; undefined8 local_48; local_48 = 0xfffffffffffffffe; plVar6 = (longlong *)0x0; local_80 = (longlong *)0x0; local_78 = 0; uStack_70 = 0; local_68 = 0xffffffff; local_50 = 0; local_58 = "bad exception"; local_88 = boost::exception_detail::bad_exception_::vftable; local_60 = boost::exception_detail::bad_exception_::vftable; local_a8[0] = (undefined **)&DAT_181bae828; local_a8[2] = boost::exception_detail::clone_base::vftable; uVar7 = 2; local_e8 = boost::exception::vftable; local_e0 = (longlong *)0x0; local_d8 = (char *)0x0; local_d0 = (char *)0x0; local_c8 = 0xffffffff; local_c0 = std::exception::vftable; local_b8 = 0; local_b0 = 0; local_res8 = param_1; __std_exception_copy(&local_58,&local_b8,param_3,param_4,2); local_e8 = boost::exception_detail::clone_impl::vftable; local_c0 = boost::exception_detail::clone_impl::vftable; *(undefined ***)((longlong)local_a8 + (longlong)*(int *)((longlong)local_a8[0] + 4)) = boost::exception_detail::clone_impl::vftable; *(int *)((longlong)local_a8 + (longlong)*(int *)((longlong)local_a8[0] + 4) + -4) = *(int *)((longlong)local_a8[0] + 4) + -0x10; local_res10 = (longlong *)0x0; plVar5 = plVar6; if (local_80 != (longlong *)0x0) { plVar5 = (longlong *)(**(code **)(*local_80 + 0x28))(local_80,&local_res8); plVar5 = (longlong *)*plVar5; local_res10 = plVar5; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x18))(plVar5); } if ((local_res8 != (longlong *)0x0) && (cVar4 = (**(code **)(*local_res8 + 0x20))(), cVar4 != '\0')) { local_res8 = plVar6; } } local_d0 = (char *)uStack_70; local_c8 = local_68; local_d8 = (char *)local_78; if (local_e0 != (longlong *)0x0) { (**(code **)(*local_e0 + 0x20))(); } local_e0 = plVar5; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x18))(plVar5); (**(code **)(*plVar5 + 0x20))(plVar5); } local_d8 = "class boost::exception_ptr __cdecl boost::exception_detail::get_static_exception_object(void)" ; local_d0 = "d:\\jenkins\\full\\eden\\client\\thirdpartylibs\\installedwin32\\individual\\boost\\include\\boost\\exception\\detail\\exception_ptr.hpp" ; local_c8 = 0x7c; if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_18265db98) && (_Init_thread_header(&DAT_18265db98), DAT_18265db98 == -1)) { plVar5 = (longlong *)FUN_1811316e0(0x58); local_res18 = plVar5; if (plVar5 != (longlong *)0x0) { plVar5[8] = (longlong)&DAT_181bae828; plVar5[10] = (longlong)boost::exception_detail::clone_base::vftable; uVar7 = 6; *plVar5 = (longlong)boost::exception::vftable; plVar5[1] = (longlong)local_e0; if (local_e0 != (longlong *)0x0) { (**(code **)(*local_e0 + 0x18))(); } plVar5[2] = (longlong)local_d8; plVar5[3] = (longlong)local_d0; *(undefined4 *)(plVar5 + 4) = local_c8; plVar5[5] = (longlong)std::exception::vftable; plVar5[6] = 0; plVar5[7] = 0; __std_exception_copy(&local_b8); *plVar5 = (longlong) boost::exception_detail::clone_impl:: vftable; plVar5[5] = (longlong) boost::exception_detail::clone_impl:: vftable; *(undefined ***)((longlong)*(int *)(plVar5[8] + 4) + 0x40 + (longlong)plVar5) = boost::exception_detail::clone_impl::vftable; *(undefined4 *)((longlong)*(int *)(plVar5[8] + 4) + 0x3c + (longlong)plVar5) = 0; plVar6 = plVar5; } if (plVar6 == (longlong *)0x0) { local_100 = 0; } else { local_100 = (longlong)plVar6 + (longlong)*(int *)(plVar6[8] + 4) + 0x40; } FUN_1805a0bc0(aplStack_f8,plVar6); FUN_1805ae620(&local_100,plVar6,plVar6,param_4,uVar7); DAT_18265db88 = local_100; DAT_18265db90 = aplStack_f8[0]; if (aplStack_f8[0] != (longlong *)0x0) { LOCK(); *(int *)(aplStack_f8[0] + 1) = (int)aplStack_f8[0][1] + 1; UNLOCK(); LOCK(); plVar5 = aplStack_f8[0] + 1; lVar3 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)(*aplStack_f8[0] + 8))(aplStack_f8[0]); LOCK(); piVar1 = (int *)((longlong)aplStack_f8[0] + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*aplStack_f8[0] + 0x10))(aplStack_f8[0]); } } } atexit(FUN_181a50340); _Init_thread_footer(&DAT_18265db98); } *param_1 = DAT_18265db88; plVar5 = DAT_18265db90; param_1[1] = (longlong)DAT_18265db90; if (plVar5 != (longlong *)0x0) { LOCK(); plVar5 = plVar5 + 1; *(int *)plVar5 = (int)*plVar5 + 1; UNLOCK(); } FUN_1805a05f0(&local_e8); local_88 = boost::exception_detail::bad_exception_::vftable; local_60 = std::exception::vftable; __std_exception_destroy(&local_58); local_88 = boost::exception::vftable; if (local_80 != (longlong *)0x0) { (**(code **)(*local_80 + 0x20))(); } return param_1; } ############ FUN_ 1805a0bc0 size=97 ############ undefined8 * FUN_1805a0bc0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p_> ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180469e10 size=386 ############ void FUN_180469e10(void) { undefined *_Memory; code *pcVar1; _Locimp *p_Var2; codecvt *pcVar3; _Locimp *p_Var4; void *_Dst; undefined8 *puVar5; char *pcVar6; char *pcVar7; codecvt *local_res8; pcVar3 = (codecvt *)FUN_1811316e0(0x40); local_res8 = pcVar3; if (pcVar3 == (codecvt *)0x0) { pcVar3 = (codecvt *)0x0; } else { std::codecvt::codecvt(pcVar3,0); *(undefined ***)pcVar3 = boost::filesystem::detail::utf8_codecvt_facet::vftable; } p_Var4 = std::locale::_Init(true); DAT_18265f150 = std::locale::_Locimp::_New_Locimp(p_Var4); pcVar1 = id_exref; if (pcVar3 != (codecvt *)0x0) { if (*(longlong *)id_exref == 0) { std::_Lockit::_Lockit((_Lockit *)&local_res8,0); if (*(longlong *)pcVar1 == 0) { *(int *)_Id_cnt_exref = *(int *)_Id_cnt_exref + 1; *(longlong *)pcVar1 = (longlong)*(int *)_Id_cnt_exref; } std::_Lockit::~_Lockit((_Lockit *)&local_res8); } std::locale::_Locimp::_Locimp_Addfac(DAT_18265f150,(facet *)pcVar3,*(__uint64 *)pcVar1); *(undefined4 *)(DAT_18265f150 + 0x20) = 0; p_Var2 = DAT_18265f150; _Memory = *(undefined **)(DAT_18265f150 + 0x28); if (_Memory != &DAT_181bb5c8c) { if (_Memory != (undefined *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } *(undefined8 *)(DAT_18265f150 + 0x28) = 0; pcVar6 = "*"; do { pcVar7 = pcVar6; pcVar6 = pcVar7 + 1; } while (*pcVar6 != '\0'); pcVar7 = pcVar7 + -0x181bb5c8a; _Dst = malloc((size_t)pcVar7); *(void **)(p_Var2 + 0x28) = _Dst; if (_Dst != (void *)0x0) { memcpy(_Dst,&DAT_181bb5c8c,(size_t)pcVar7); } } } if (p_Var4 != (_Locimp *)0x0) { puVar5 = (undefined8 *)(**(code **)(*(longlong *)p_Var4 + 0x10))(p_Var4); if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } } atexit(FUN_181a50bd0); return; } ############ FUN_ 180715e00 size=55 ############ void FUN_180715e00(void) { longlong lVar1; lVar1 = FUN_1811316e0(0x30); *(longlong *)lVar1 = lVar1; *(longlong *)(lVar1 + 8) = lVar1; *(longlong *)(lVar1 + 0x10) = lVar1; *(undefined2 *)(lVar1 + 0x18) = 0x101; return; } ############ FUN_ 1809c31c0 size=74 ############ void FUN_1809c31c0(undefined8 param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; plVar1 = (longlong *)FUN_1811316e0(0x18); if (param_2 == (longlong *)0x0) { param_2 = plVar1; param_3 = plVar1; } *plVar1 = (longlong)param_2; plVar1[1] = (longlong)param_3; return; } ############ FUN_ 18097dd10 size=182 ############ undefined8 * FUN_18097dd10(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined4 *puVar2; undefined4 *puVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; *param_1 = apache::thrift::concurrency::Monitor::vftable; puVar1 = (undefined8 *)FUN_1811316e0(0x48); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar2 = (undefined4 *)FUN_1811316e0(0x10); puVar3 = (undefined4 *)0x0; if (puVar2 != (undefined4 *)0x0) { *puVar2 = 0; *(undefined8 *)(puVar2 + 2) = 0; puVar3 = puVar2; } *puVar1 = puVar3; FUN_18097d7d0(puVar1 + 1,puVar3); FUN_1805ae620(puVar1,puVar3,puVar3,param_4,uVar4); *(undefined4 *)(puVar1 + 2) = 0; puVar1[3] = 0; puVar1[4] = 0; puVar1[5] = 0; puVar1[6] = 0; puVar1[7] = 0; puVar1[8] = 0; } param_1[1] = puVar1; return param_1; } ############ FUN_ 18097d7d0 size=97 ############ undefined8 * FUN_18097d7d0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b0bb20 size=55 ############ void FUN_180b0bb20(void) { longlong lVar1; lVar1 = FUN_1811316e0(0x38); *(longlong *)lVar1 = lVar1; *(longlong *)(lVar1 + 8) = lVar1; *(longlong *)(lVar1 + 0x10) = lVar1; *(undefined2 *)(lVar1 + 0x18) = 0x101; return; } ############ FUN_ 180473bd0 size=252 ############ LRESULT FUN_180473bd0(int param_1,WPARAM param_2,ushort *param_3) { ushort uVar1; int iVar2; uint uVar3; undefined8 uVar4; BOOL BVar5; undefined8 uVar6; longlong lVar7; longlong lVar8; HWND hWnd; LRESULT LVar9; if ((-1 < param_1) && (param_2 == 0x20a)) { uVar4 = *(undefined8 *)param_3; if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } lVar7 = FUN_18134b740(DAT_182673700,uVar4); if ((lVar7 != 0) && (lVar8 = FUN_18134b8d0(lVar7), lVar8 != 0)) { uVar1 = *param_3; iVar2 = *(int *)(param_3 + 2); uVar3 = *(uint *)(param_3 + 0x10); hWnd = (HWND)FUN_18134b8d0(lVar7); BVar5 = PostMessageW(hWnd,0x20a,(ulonglong)uVar3 & 0xffff0000, (ulonglong)uVar1 | (longlong)(iVar2 << 0x10)); return (longlong)BVar5; } } LVar9 = CallNextHookEx(DAT_182674ca8,param_1,param_2,(LPARAM)param_3); return LVar9; } ############ FUN_ 1805131b0 size=268 ############ undefined8 FUN_1805131b0(undefined8 param_1,undefined8 param_2) { longlong lVar1; char cVar2; int iVar3; undefined8 *puVar4; ulonglong uVar5; longlong lVar6; ulonglong uVar7; FUN_18050fa30(); switch(param_2) { case 0x10: case 0x11: case 0x12: case 0x14: case 0x5b: case 0x5c: case 0x5d: case 0x90: case 0x91: case 0xa0: case 0xa1: case 0xa2: case 0xa3: case 0xa4: case 0xa5: FUN_180513100(param_1); } cVar2 = FUN_1812d21d0(param_1,0); if (cVar2 == '\0') { uVar5 = 0; if (DAT_182673c20 == (undefined8 *)0x0) { puVar4 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar4); FUN_1812a7230(puVar4 + 2); *puVar4 = juce::ModalComponentManager::vftable; puVar4[2] = juce::ModalComponentManager::vftable; puVar4[3] = 0; puVar4[4] = 0; DAT_182673c20 = puVar4; } iVar3 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar6 = (longlong)iVar3; if (-1 < iVar3) { uVar7 = uVar5; do { lVar1 = *(longlong *)(DAT_182673c20[3] + lVar6 * 8); if ((*(char *)(lVar1 + 0x5c) != '\0') && (iVar3 = (int)uVar7, uVar7 = (ulonglong)(iVar3 + 1), iVar3 == 0)) { uVar5 = *(ulonglong *)(lVar1 + 0x40); break; } lVar6 = lVar6 + -1; } while (-1 < lVar6); } if (uVar5 == 0) { return 0; } } return 1; } ############ FUN_ 180513360 size=616 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_180513360(longlong param_1,longlong param_2) { char cVar1; char cVar2; WCHAR WVar3; BOOL BVar4; UINT UVar5; UINT wScanCode; int iVar6; undefined8 *puVar7; longlong lVar8; int iVar9; undefined7 uVar10; UINT uCode; bool bVar11; undefined1 auStackY_1d8 [32]; undefined8 *local_1a8; uint local_1a0; undefined8 local_198; tagMSG local_190; ulonglong local_160; undefined8 local_158; undefined8 local_150; undefined8 local_148; BYTE local_138 [256]; ulonglong local_38; local_198 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStackY_1d8; FUN_18050fa30(); iVar9 = 0; uCode = (UINT)param_2; uVar10 = (undefined7) ((ulonglong)(&switchD_1805133c8::switchdataD_1805135e0)[*(byte *)(param_2 + 0x1805135dc)] + 0x180000000 >> 8); switch(param_2) { case 0x10: case 0x11: case 0x12: case 0x14: case 0x5b: case 0x5c: case 0x5d: case 0x90: case 0x91: case 0xa0: case 0xa1: case 0xa2: case 0xa3: case 0xa4: case 0xa5: cVar1 = FUN_1812d21d0(param_1,CONCAT71(uVar10,1)); FUN_180513100(param_1); goto joined_r0x0001805134db; default: cVar1 = FUN_1812d21d0(param_1,1); BVar4 = PeekMessageW(&local_190,*(HWND *)(param_1 + 0x88),0x102,0x103,0); if (BVar4 != 0) goto joined_r0x0001805134db; UVar5 = MapVirtualKeyW(uCode,2); wScanCode = MapVirtualKeyW(uCode,0); GetKeyboardState(local_138); local_160 = 0; local_158 = 0; local_150 = 0; local_148 = 0; iVar6 = ToUnicode(uCode,wScanCode,local_138,(LPWSTR)&local_160,8,0); if (iVar6 == 1) { WVar3 = (WCHAR)local_160; } else { local_160 = local_160 & 0xffffffffffff0000; WVar3 = L'\0'; } local_1a8 = (undefined8 *)(CONCAT44(DAT_182673aec,UVar5) & 0xffffff8f0000ffff); local_1a0 = (uint)(ushort)WVar3; cVar2 = FUN_1812d2340(param_1,&local_1a8); break; case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: case 0x28: case 0x2d: case 0x2e: case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: case 0x78: case 0x79: case 0x7a: case 0x7b: case 0x7c: case 0x7d: case 0x7e: case 0x7f: case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87: cVar1 = FUN_1812d21d0(param_1,CONCAT71(uVar10,1)); local_1a8 = (undefined8 *)(CONCAT44(DAT_182673aec,uCode) & 0xffffff8fffffffff | 0x10000); local_1a0 = 0; cVar2 = FUN_1812d2340(param_1,&local_1a8); } if (cVar2 != '\0') { } joined_r0x0001805134db: if (cVar1 == '\0') { if (DAT_182673c20 == (undefined8 *)0x0) { puVar7 = (undefined8 *)FUN_1811316e0(0x28); local_1a8 = puVar7; FUN_1812a59f0(puVar7); FUN_1812a7230(puVar7 + 2); *puVar7 = juce::ModalComponentManager::vftable; puVar7[2] = juce::ModalComponentManager::vftable; puVar7[3] = 0; puVar7[4] = 0; DAT_182673c20 = puVar7; } iVar6 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar8 = (longlong)iVar6; if (-1 < iVar6) { do { if ((*(char *)(*(longlong *)(DAT_182673c20[3] + lVar8 * 8) + 0x5c) != '\0') && (bVar11 = iVar9 == 0, iVar9 = iVar9 + 1, bVar11)) { } lVar8 = lVar8 + -1; } while (-1 < lVar8); } } } ############ FUN_ 1812d2590 size=223 ############ ulonglong FUN_1812d2590(longlong param_1) { longlong lVar1; char cVar2; int iVar3; undefined8 *puVar4; longlong lVar5; ulonglong uVar6; ulonglong uVar7; ulonglong uVar8; uVar8 = DAT_182673708; if (DAT_182673708 == 0) { uVar8 = *(ulonglong *)(param_1 + 8); } cVar2 = FUN_181343030(uVar8); if (cVar2 != '\0') { uVar7 = 0; if (DAT_182673c20 == (undefined8 *)0x0) { puVar4 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar4); FUN_1812a7230(puVar4 + 2); *puVar4 = juce::ModalComponentManager::vftable; puVar4[2] = juce::ModalComponentManager::vftable; puVar4[3] = 0; puVar4[4] = 0; DAT_182673c20 = puVar4; } iVar3 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar5 = (longlong)iVar3; if (-1 < iVar3) { uVar6 = uVar7; do { lVar1 = *(longlong *)(DAT_182673c20[3] + lVar5 * 8); if ((*(char *)(lVar1 + 0x5c) != '\0') && (iVar3 = (int)uVar6, uVar6 = (ulonglong)(iVar3 + 1), iVar3 == 0)) { uVar7 = *(ulonglong *)(lVar1 + 0x40); break; } lVar5 = lVar5 + -1; } while (-1 < lVar5); } if (uVar7 != 0) { uVar8 = uVar7; } } return uVar8; } ############ FUN_ 181341760 size=191 ############ void FUN_181341760(void) { longlong lVar1; int iVar2; undefined8 *puVar3; longlong lVar4; longlong *plVar5; longlong *plVar6; plVar6 = (longlong *)0x0; if (DAT_182673c20 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar3); FUN_1812a7230(puVar3 + 2); *puVar3 = juce::ModalComponentManager::vftable; puVar3[2] = juce::ModalComponentManager::vftable; puVar3[3] = 0; puVar3[4] = 0; DAT_182673c20 = puVar3; } iVar2 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar4 = (longlong)iVar2; if (-1 < iVar2) { plVar5 = plVar6; do { lVar1 = *(longlong *)(DAT_182673c20[3] + lVar4 * 8); if ((*(char *)(lVar1 + 0x5c) != '\0') && (iVar2 = (int)plVar5, plVar5 = (longlong *)(ulonglong)(iVar2 + 1), iVar2 == 0)) { plVar6 = *(longlong **)(lVar1 + 0x40); break; } lVar4 = lVar4 + -1; } while (-1 < lVar4); } if (plVar6 != (longlong *)0x0) { (**(code **)(*plVar6 + 0x140))(plVar6); } return; } ############ FUN_ 180473fe0 size=442 ############ void FUN_180473fe0(longlong *param_1,longlong *param_2) { int iVar1; int iVar2; int iVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; uint uVar7; FUN_18047cbc0(param_1 + 2); puVar6 = (undefined8 *)0x0; if ((int)param_1[3] != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } *(undefined4 *)(param_1 + 3) = 0; *(undefined4 *)((longlong)param_1 + 0xc) = 0; if ((int)param_1[1] == 0) { *(undefined4 *)(param_1 + 1) = 0; *(undefined1 *)(param_1 + 4) = 0; if (*(code **)(*param_2 + 0x170) == FUN_1812beb90) { iVar3 = *(int *)((longlong)param_2 + 0x144); } else { iVar3 = (**(code **)(*param_2 + 0x170))(param_2); } *(bool *)((longlong)param_1 + 0x21) = *(int *)((longlong)param_2 + 0x144) == iVar3; puVar5 = puVar6; puVar4 = puVar6; if (0 < iVar3) { do { uVar7 = (uint)puVar4; if (*(char *)((longlong)param_1 + 0x21) == '\0') { puVar4 = (undefined8 *)FUN_1811316e0(0x60); *puVar4 = juce::AudioProcessorParameter::vftable; puVar4[1] = 0; *(undefined4 *)(puVar4 + 2) = 0xffffffff; InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)puVar4 + 0x14)); puVar4[8] = 0; puVar4[9] = 0; puVar4[10] = 0; puVar4[0xb] = 0; *puVar4 = juce::LegacyAudioParameter::vftable; puVar4[1] = param_2; *(uint *)(puVar4 + 2) = uVar7; iVar1 = *(int *)((longlong)param_1 + 0x1c); iVar2 = iVar1 + 1; if ((int)param_1[3] < iVar2) { if (iVar2 < 0) { iVar2 = iVar1 + 2; } FUN_18047cb30(param_1 + 2,iVar1 + 9 + (iVar2 >> 1) & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0x1c); *(int *)((longlong)param_1 + 0x1c) = iVar2 + 1; *(undefined8 **)(param_1[2] + (longlong)iVar2 * 8) = puVar4; } else { puVar4 = puVar6; if (uVar7 < *(uint *)((longlong)param_2 + 0x144)) { puVar4 = *(undefined8 **)(param_2[0x27] + (longlong)puVar5 * 8); } } iVar1 = *(int *)((longlong)param_1 + 0xc); iVar2 = iVar1 + 1; if ((int)param_1[1] < iVar2) { if (iVar2 < 0) { iVar2 = iVar1 + 2; } FUN_18047cb30(param_1,iVar1 + 9 + (iVar2 >> 1) & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0xc); puVar5 = (undefined8 *)((longlong)puVar5 + 1); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(undefined8 **)(*param_1 + (longlong)iVar2 * 8) = puVar4; puVar4 = (undefined8 *)(ulonglong)(uVar7 + 1); } while ((longlong)puVar5 < (longlong)iVar3); } return; } /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 18047c920 size=516 ############ uint * FUN_18047c920(longlong param_1,uint param_2) { longlong *plVar1; uint *puVar2; uint *puVar3; void *_Memory; int iVar4; uint *puVar5; undefined8 *puVar6; uint uVar7; uint uVar8; ulonglong uVar9; longlong lVar10; int iVar11; longlong lVar12; undefined8 *puVar13; undefined8 *local_38; undefined4 local_30; uint uStack_2c; plVar1 = (longlong *)(param_1 + 8); uVar7 = param_2 % *(uint *)(param_1 + 0x14); puVar2 = *(uint **)((longlong)(int)uVar7 * 8 + *plVar1); for (puVar3 = puVar2; puVar3 != (uint *)0x0; puVar3 = *(uint **)(puVar3 + 4)) { if (*puVar3 == param_2) { return puVar3 + 2; } } puVar5 = (uint *)FUN_1811316e0(0x18); *puVar5 = param_2; puVar3 = puVar5 + 2; puVar6 = (undefined8 *)0x0; *(uint **)(puVar5 + 4) = puVar2; puVar3[0] = 0; puVar3[1] = 0; if (-1 < (int)uVar7) { if ((int)uVar7 < *(int *)(param_1 + 0x14)) { *(uint **)((longlong)(int)uVar7 * 8 + *plVar1) = puVar5; } else { FUN_18047e060(plVar1,*(int *)(param_1 + 0x14) + 1); iVar4 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar4 + 1; *(uint **)(*plVar1 + (longlong)iVar4 * 8) = puVar5; } } *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + 1; if ((*(int *)(param_1 + 0x14) * 3) / 2 < *(int *)(param_1 + 0x18)) { uVar7 = *(int *)(param_1 + 0x14) * 2; local_38 = (undefined8 *)0x0; local_30 = 0; uStack_2c = 0; puVar13 = puVar6; if (0 < (int)uVar7) { FUN_18047e060(&local_38); uVar8 = uStack_2c; puVar13 = local_38; if (uStack_2c != 0) { memmove(local_38 + (int)uVar7,local_38,(longlong)(int)uStack_2c << 3); } if (0 < (int)uVar7) { uVar9 = (ulonglong)uVar7; puVar6 = puVar13; do { *puVar6 = 0; uVar9 = uVar9 - 1; puVar6 = puVar6 + 1; } while (uVar9 != 0); } uStack_2c = uVar8 + uVar7; puVar6 = (undefined8 *)(ulonglong)uStack_2c; } iVar11 = (int)puVar6; iVar4 = *(int *)(param_1 + 0x14) + -1; lVar10 = (longlong)iVar4; if (-1 < iVar4) { do { puVar2 = *(uint **)(*plVar1 + lVar10 * 8); while (puVar3 = puVar2, iVar11 = (int)puVar6, puVar3 != (uint *)0x0) { puVar2 = *(uint **)(puVar3 + 4); uVar8 = *puVar3 % uVar7; *(undefined8 *)(puVar3 + 4) = puVar13[(int)uVar8]; if (-1 < (int)uVar8) { if ((int)uVar8 < iVar11) { puVar13[(int)uVar8] = puVar3; } else { FUN_18047e060(&local_38); lVar12 = (longlong)(int)uStack_2c; uStack_2c = uStack_2c + 1; puVar6 = (undefined8 *)(ulonglong)uStack_2c; local_38[lVar12] = puVar3; puVar13 = local_38; } } } lVar10 = lVar10 + -1; } while (-1 < lVar10); } _Memory = (void *)*plVar1; *plVar1 = (longlong)puVar13; *(undefined4 *)(param_1 + 0x10) = local_30; *(int *)(param_1 + 0x14) = iVar11; /* WARNING: Subroutine does not return */ free(_Memory); } return puVar3; } ############ FUN_ 18047c390 size=164 ############ ulonglong * FUN_18047c390(void) { ulonglong uVar1; ulonglong uVar2; DWORD DVar3; ulonglong *puVar4; ulonglong *puVar5; bool bVar6; DVar3 = GetCurrentThreadId(); uVar2 = (ulonglong)DVar3; for (puVar4 = DAT_182673720; puVar5 = DAT_182673720, puVar4 != (ulonglong *)0x0; puVar4 = (ulonglong *)puVar4[1]) { if (*puVar4 == uVar2) goto LAB_18047c42a; } do { puVar4 = puVar5; if (puVar4 == (ulonglong *)0x0) { LAB_18047c3ed: puVar4 = (ulonglong *)FUN_1811316e0(0x18); puVar5 = DAT_182673720; *puVar4 = uVar2; *(undefined1 *)(puVar4 + 2) = 0; do { puVar4[1] = (ulonglong)puVar5; LOCK(); bVar6 = puVar5 != DAT_182673720; puVar5 = puVar4; if (bVar6) { puVar5 = DAT_182673720; } DAT_182673720 = puVar5; UNLOCK(); puVar5 = DAT_182673720; } while (bVar6); LAB_18047c42a: return puVar4 + 2; } LOCK(); uVar1 = *puVar4; if (uVar1 == 0) { *puVar4 = uVar2; } UNLOCK(); if (uVar1 == 0) { if (puVar4 != (ulonglong *)0x0) { *(undefined1 *)(puVar4 + 2) = 0; goto LAB_18047c42a; } goto LAB_18047c3ed; } puVar5 = (ulonglong *)puVar4[1]; } while( true ); } ############ FUN_ 1804764e0 size=599 ############ bool FUN_1804764e0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; char *pcVar6; undefined8 *puVar7; bool bVar8; undefined8 uVar9; undefined **local_40; char *local_38; uint local_30; uVar9 = 0xfffffffffffffffe; if ((param_2 == (longlong *)0x0) || (*(longlong *)(param_1 + 0x78) != 0)) { bVar8 = true; } else { bVar8 = *(longlong *)(param_1 + 0x10) == 0; if (bVar8) { *(longlong **)(param_1 + 0x10) = param_2; (**(code **)(*param_2 + 8))(param_2); } bVar8 = !bVar8; plVar3 = *(longlong **)(param_1 + 0x78); *(undefined8 *)(param_1 + 0x78) = 0; if (plVar3 != (longlong *)0x0) { if ((undefined **)*plVar3 == juce::JuceAudioProcessor::vftable) { LOCK(); plVar4 = plVar3 + 4; lVar1 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar1 == 1) { (**(code **)(*plVar3 + 0x78))(plVar3,1,juce::JuceAudioProcessor::vftable,param_4,uVar9); } } else { (*(code *)((undefined **)*plVar3)[2])(); } } iVar2 = (**(code **)*param_2)(param_2,&DAT_18262b380,param_1 + 0x78); if (iVar2 == 0) { FUN_180477210(param_1 + -0x18); } else { lVar1 = param_1 + -0x18; plVar3 = (longlong *)FUN_181137870(lVar1); if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,"JuceVST3EditController"); plVar4 = (longlong *)(**(code **)(*plVar3 + 0x28))(plVar3); if ((undefined **)*plVar4 == Steinberg::Vst::HostAttributeList::vftable) { FUN_181135760(); plVar5 = (longlong *)FUN_1811316e0(0x10); plVar5[1] = 0; *plVar5 = lVar1; local_38 = (char *)0x0; local_30 = local_30 & 0x80000000; local_40 = Steinberg::String::vftable; pcVar6 = malloc(0x17); if (pcVar6 != (char *)0x0) { if ((local_30 & 0x40000000) == 0) { *pcVar6 = '\0'; pcVar6[0x16] = '\0'; } else { pcVar6[0] = '\0'; pcVar6[1] = '\0'; pcVar6[0x2c] = '\0'; pcVar6[0x2d] = '\0'; } uVar9 = s_JuceVST3EditController_182493708._8_8_; if (pcVar6 != (char *)0x0) { *(undefined8 *)pcVar6 = s_JuceVST3EditController_182493708._0_8_; *(undefined8 *)(pcVar6 + 8) = uVar9; *(undefined4 *)(pcVar6 + 0x10) = s_JuceVST3EditController_182493708._16_4_; *(undefined2 *)(pcVar6 + 0x14) = s_JuceVST3EditController_182493708._20_2_; } local_30 = local_30 & 0x80000016 | 0x16; local_38 = pcVar6; } puVar7 = (undefined8 *)FUN_18047c5d0(plVar4 + 2,&local_40); *puVar7 = plVar5; local_40 = Steinberg::String::vftable; if (local_38 != (char *)0x0) { /* WARNING: Subroutine does not return */ free(local_38); } } else { (*(code *)((undefined **)*plVar4)[3])(plVar4,"JuceVST3EditController",lVar1); } plVar4 = *(longlong **)(param_1 + 0x10); if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x28))(plVar4,plVar3); } (**(code **)(*plVar3 + 0x10))(plVar3); } } } return bVar8; } ############ FUN_ 180477210 size=757 ############ void FUN_180477210(longlong param_1) { longlong *plVar1; longlong lVar2; uint *puVar3; longlong *plVar4; longlong *plVar5; undefined8 uVar6; longlong *plVar7; undefined8 *_Memory; int iVar8; undefined8 *local_58; undefined8 local_50; if (*(longlong *)(param_1 + 0x90) == 0) { return; } plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x90) + 0x28); if (plVar1 == (longlong *)0x0) { return; } plVar5 = (longlong *)(param_1 + 0x80); if (*(code **)(*plVar1 + 0x120) == FUN_1812c1130) { EnterCriticalSection((LPCRITICAL_SECTION)((longlong)plVar1 + 0x74)); plVar7 = (longlong *)plVar1[3]; iVar8 = *(int *)((longlong)plVar1 + 0x24); plVar4 = plVar7 + iVar8; for (; plVar7 != plVar4; plVar7 = plVar7 + 1) { if (plVar5 == (longlong *)*plVar7) goto LAB_1804772e4; } if ((int)plVar1[4] < iVar8 + 1) { FUN_18047cb30(plVar1 + 3,iVar8 + 9 + (iVar8 + 1) / 2 & 0xfffffff8); } iVar8 = *(int *)((longlong)plVar1 + 0x24); *(int *)((longlong)plVar1 + 0x24) = iVar8 + 1; *(longlong **)(plVar1[3] + (longlong)iVar8 * 8) = plVar5; LAB_1804772e4: LeaveCriticalSection((LPCRITICAL_SECTION)((longlong)plVar1 + 0x74)); } else { (**(code **)(*plVar1 + 0x120))(plVar1); } lVar2 = *(longlong *)(param_1 + 0x90); if (*(char *)(lVar2 + 0x1c) == '\0') { for (puVar3 = *(uint **)(*(longlong *)(lVar2 + 0x60) + (longlong)(int)(*(uint *)(lVar2 + 0x18) % *(uint *)(lVar2 + 0x6c)) * 8); puVar3 != (uint *)0x0; puVar3 = *(uint **)(puVar3 + 4)) { if (*puVar3 == *(uint *)(lVar2 + 0x18)) { uVar6 = *(undefined8 *)(puVar3 + 2); goto LAB_180477334; } } uVar6 = 0; LAB_180477334: FUN_1812c3e50(uVar6); } plVar4 = *(longlong **)(param_1 + 0x50); if ((plVar4 == (longlong *)0x0) || ((int)(plVar4[1] - *plVar4 >> 3) < 1)) { if (0 < *(int *)(*(longlong *)(param_1 + 0x90) + 0x14)) { lVar2 = *(longlong *)(param_1 + 0x90); puVar3 = *(uint **)(*(longlong *)(lVar2 + 0x60) + (longlong)(int)(**(uint **)(lVar2 + 8) % *(uint *)(lVar2 + 0x6c)) * 8); do { if (puVar3 == (uint *)0x0) { uVar6 = 0; LAB_1804773d9: _Memory = (undefined8 *)0x0; local_58 = (undefined8 *)0x0; local_50._0_4_ = 0; local_50._4_4_ = 0; iVar8 = 0; plVar5 = (longlong *)FUN_1812b6910(plVar1 + 0x21,uVar6); if (plVar5 != (longlong *)0x0) { for (; plVar5 != plVar1 + 0x21; plVar5 = (longlong *)plVar5[5]) { FUN_18047e060(&local_58,iVar8 + 1); iVar8 = local_50._4_4_; _Memory = local_58; if (local_50._4_4_ != 0) { memmove(local_58 + 1,local_58,(longlong)local_50._4_4_ << 3); } *_Memory = plVar5; iVar8 = iVar8 + 1; local_50._4_4_ = iVar8; } } local_50 = (ulonglong)(uint)local_50; /* WARNING: Subroutine does not return */ free(_Memory); } if (*puVar3 == **(uint **)(lVar2 + 8)) { uVar6 = *(undefined8 *)(puVar3 + 2); goto LAB_1804773d9; } puVar3 = *(uint **)(puVar3 + 4); } while( true ); } if (*(code **)(*plVar1 + 0xc0) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { if ((int)plVar1[1] != 3) goto LAB_180477727; } else { iVar8 = (**(code **)(*plVar1 + 0xc0))(plVar1); if (iVar8 < 2) goto LAB_180477727; } uVar6 = FUN_1811316e0(0x340); uVar6 = FUN_180475ba0(uVar6,plVar1); FUN_1811368e0((longlong *)(param_1 + 0x50),uVar6); } LAB_180477727: (**(code **)(*plVar5 + 0x10))(plVar5,plVar1); return; } ############ FUN_ 1811368e0 size=377 ############ longlong * FUN_1811368e0(longlong *param_1,longlong *param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong *local_res8; undefined8 *local_res20; if (*param_1 == 0) { plVar4 = (longlong *)FUN_1811316e0(0x18); *plVar4 = 0; plVar4[1] = 0; plVar4[2] = 0; *param_1 = (longlong)plVar4; if ((ulonglong)(plVar4[2] - *plVar4 >> 3) < 10) { FUN_18047cf30(plVar4); } } lVar1 = ((longlong *)*param_1)[1]; lVar2 = *(longlong *)*param_1; puVar3 = (undefined8 *)param_1[1]; puVar8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar6 = (undefined8 *)puVar3[1]; do { if (*(uint *)(puVar6 + 4) < *(uint *)(param_2 + 2)) { puVar7 = (undefined8 *)puVar6[2]; } else { puVar7 = (undefined8 *)*puVar6; puVar8 = puVar6; } puVar6 = puVar7; } while (*(char *)((longlong)puVar7 + 0x19) == '\0'); } if ((puVar8 == puVar3) || (*(uint *)(param_2 + 2) < *(uint *)(puVar8 + 4))) { lVar5 = FUN_180481d40(param_1 + 1); FUN_180481d70(param_1 + 1,&local_res20,puVar8,lVar5 + 0x20,lVar5); puVar8 = local_res20; } puVar8[5] = lVar1 - lVar2 >> 3; lVar1 = *param_1; puVar3 = *(undefined8 **)(lVar1 + 8); if (*(undefined8 **)(lVar1 + 0x10) == puVar3) { local_res8 = param_2; FUN_180480240(lVar1,puVar3,&local_res8); } else { local_res8 = (longlong *)0x0; *puVar3 = param_2; *(longlong *)(lVar1 + 8) = *(longlong *)(lVar1 + 8) + 8; } if (local_res8 != (longlong *)0x0) { if (*(code **)(*local_res8 + 0x10) == FUN_18113d7a0) { LOCK(); plVar4 = local_res8 + 1; lVar1 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar1 == 1) { *(undefined4 *)(local_res8 + 1) = 0xfffffc18; (**(code **)(*local_res8 + 0x20))(local_res8,1); } } else { (**(code **)(*local_res8 + 0x10))(local_res8); } } return param_2; } ############ FUN_ 180476bb0 size=193 ############ longlong FUN_180476bb0(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; char cVar2; undefined8 uVar3; longlong lVar4; longlong lVar5; longlong lVar6; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; if ((((*(longlong *)(param_1 + 0x60) == 0) || (plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x60) + 0x28), plVar1 == (longlong *)0x0)) || ((*(code **)(*plVar1 + 0xb0) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ && (cVar2 = (**(code **)(*plVar1 + 0xb0))(plVar1), cVar2 == '\0')))) || (param_2 == 0)) { LAB_180476c4f: lVar5 = 0; } else { lVar5 = 0; lVar4 = lVar5; do { lVar6 = lVar4 + 1; if (*(char *)(param_2 + lVar4) != "editor"[lVar4]) goto LAB_180476c4f; lVar4 = lVar6; } while (lVar6 != 7); uVar3 = FUN_1811316e0(0x80); lVar4 = FUN_180477760(uVar3,param_1 + -0x30,plVar1,param_4,uVar7); if (lVar4 != 0) { lVar5 = lVar4 + 0x10; } } return lVar5; } ############ FUN_ 180477760 size=408 ############ undefined8 * FUN_180477760(undefined8 *param_1,longlong *param_2,undefined8 param_3) { undefined8 *puVar1; int iVar2; DWORD DVar3; HINSTANCE pHVar4; undefined8 uVar5; bool bVar6; *(undefined4 *)(param_1 + 1) = 1; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; *param_1 = Steinberg::Vst::EditorView::vftable; param_1[2] = Steinberg::Vst::EditorView::vftable; param_1[7] = param_2; if (param_2 != (longlong *)0x0) { (**(code **)(*param_2 + 8))(param_2); } param_1[10] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0xb) = 0; *param_1 = juce::JuceVST3EditController::JuceVST3Editor::vftable; param_1[2] = juce::JuceVST3EditController::JuceVST3Editor::vftable; param_1[8] = juce::JuceVST3EditController::JuceVST3Editor::vftable; param_1[9] = juce::JuceVST3EditController::JuceVST3Editor::vftable; param_1[0xc] = param_2; if (param_2 != (longlong *)0x0) { if ((undefined **)*param_2 == juce::JuceVST3EditController::vftable) { LOCK(); *(int *)(param_2 + 1) = (int)param_2[1] + 1; UNLOCK(); } else { (*(code *)((undefined **)*param_2)[1])(param_2); } } param_1[0xd] = param_3; param_1[0xe] = 0; *(undefined4 *)(param_1 + 0xf) = 0x3f800000; iVar2 = DAT_182674ca0 + 1; bVar6 = DAT_182674ca0 == 0; DAT_182674ca0 = iVar2; if (bVar6) { DVar3 = GetCurrentThreadId(); pHVar4 = (HINSTANCE)FUN_181249ad0(); DAT_182674ca8 = SetWindowsHookExW(7,FUN_180473bd0,pHVar4,DVar3); DVar3 = GetCurrentThreadId(); pHVar4 = (HINSTANCE)FUN_181249ad0(); DAT_182674cb0 = SetWindowsHookExW(3,FUN_180473cd0,pHVar4,DVar3); } *(int *)(param_1 + 0xf) = (int)param_2[0xc44]; uVar5 = FUN_1811316e0(0xd8); uVar5 = FUN_1804783a0(uVar5,param_1,param_3); puVar1 = (undefined8 *)param_1[0xe]; param_1[0xe] = uVar5; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } return param_1; } ############ FUN_ 180520340 size=777 ############ undefined8 * FUN_180520340(undefined8 *param_1,longlong *param_2,int *param_3,undefined8 param_4) { double dVar1; undefined8 uVar2; undefined8 *puVar3; longlong *plVar4; float *pfVar5; float fVar6; undefined8 uVar7; double local_res8; double local_res10; double local_res18; double local_res20; undefined8 local_b0; undefined4 uStack_a8; undefined4 uStack_a4; undefined8 local_98; undefined8 uStack_90; undefined8 local_88; undefined8 uStack_80; undefined1 local_78 [16]; undefined1 local_68 [64]; if (param_2[7] != 0) { uVar2 = FUN_1812a04f0(param_2[7],local_68,param_3,param_4,0xfffffffffffffffe); puVar3 = (undefined8 *)FUN_1804b1290(param_3,local_78,uVar2); uVar2 = puVar3[1]; *(undefined8 *)param_3 = *puVar3; *(undefined8 *)(param_3 + 2) = uVar2; } if ((*(byte *)(param_2 + 0x15) & 1) == 0) { uVar7 = *(undefined8 *)(param_3 + 2); local_88 = CONCAT44(param_3[1] - (int)((ulonglong)param_2[4] >> 0x20),*param_3 - (int)param_2[4] ); uVar2 = local_88; } else { if ((*(byte *)(param_2 + 0x15) & 1) == 0) { if (param_2[3] == 0) goto LAB_18052060f; plVar4 = (longlong *)FUN_18134c2e0(); } else { plVar4 = (longlong *)FUN_1812d2bd0(param_2); } if (plVar4 == (longlong *)0x0) goto LAB_18052060f; local_98 = *(undefined8 *)param_3; uStack_90 = *(undefined8 *)(param_3 + 2); if (DAT_182673700 == 0) { local_res8 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8); } dVar1 = DAT_1824c4520; fVar6 = *(float *)(DAT_182673700 + 0xc0); if (fVar6 == DAT_1824c3ea4) { local_88 = *(undefined8 *)param_3; uStack_80 = *(undefined8 *)(param_3 + 2); puVar3 = &local_88; } else { local_res20 = (double)((float)uStack_90._4_4_ * fVar6) + DAT_1824c4520; local_res18 = (double)((float)(int)uStack_90 * fVar6) + DAT_1824c4520; local_res10 = (double)((float)local_98._4_4_ * fVar6) + DAT_1824c4520; local_res8 = (double)((float)(int)local_98 * fVar6) + DAT_1824c4520; local_98 = CONCAT44(local_res10._0_4_,SUB84(local_res8,0)); uStack_90 = CONCAT44(local_res20._0_4_,SUB84(local_res18,0)); puVar3 = &local_98; } local_88 = *puVar3; uStack_80 = puVar3[1]; if ((undefined **)*plVar4 == juce::HWNDComponentPeer::vftable) { pfVar5 = (float *)(*(code *)juce::HWNDComponentPeer::vftable[0xb]) (plVar4,&local_res8, CONCAT44((float)(int)((ulonglong)local_88 >> 0x20), (float)(int)local_88)); local_res10 = (double)pfVar5[1] + dVar1; local_res8 = (double)*pfVar5 + dVar1; local_b0._0_4_ = local_res8._0_4_; local_b0._4_4_ = local_res10._0_4_; uStack_a8 = (undefined4)uStack_80; uStack_a4 = uStack_80._4_4_; puVar3 = &local_b0; } else { puVar3 = (undefined8 *)(*(code *)((undefined **)*plVar4)[10])(plVar4,&local_b0,&local_88); } uVar2 = *puVar3; uVar7 = puVar3[1]; local_98 = uVar2; uStack_90 = uVar7; fVar6 = (float)(**(code **)(*param_2 + 0x80))(param_2); if (fVar6 != DAT_1824c3ea4) { local_res10._0_4_ = SUB84((double)((float)local_98._4_4_ / fVar6) + dVar1,0); uVar2 = CONCAT44(local_res10._0_4_,SUB84((double)((float)(int)local_98 / fVar6) + dVar1,0)); local_res20._0_4_ = SUB84((double)((float)uStack_90._4_4_ / fVar6) + dVar1,0); uVar7 = CONCAT44(local_res20._0_4_,SUB84((double)((float)(int)uStack_90 / fVar6) + dVar1,0)); } } *(undefined8 *)param_3 = uVar2; *(undefined8 *)(param_3 + 2) = uVar7; LAB_18052060f: uVar2 = *(undefined8 *)(param_3 + 2); *param_1 = *(undefined8 *)param_3; param_1[1] = uVar2; return param_1; } ############ FUN_ 1804779a0 size=373 ############ undefined8 FUN_1804779a0(longlong param_1,longlong param_2,longlong param_3,undefined8 param_4) { code *pcVar1; undefined8 *puVar2; char cVar3; undefined8 uVar4; int *piVar5; longlong lVar6; longlong lVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; if (((param_2 != 0) && (param_3 != 0)) && ((pcVar1 = *(code **)(**(longlong **)(param_1 + 0x58) + 0xb0), pcVar1 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ || (cVar3 = (*pcVar1)(), cVar3 != '\0')))) { lVar6 = 0; while (lVar7 = lVar6 + 1, *(char *)(param_3 + lVar6) == (&DAT_1821d8ff4)[lVar6]) { lVar6 = lVar7; if (lVar7 == 5) { if (*(longlong *)(param_1 + 0x60) == 0) { uVar4 = FUN_1811316e0(0xd8); uVar4 = FUN_1804783a0(uVar4,param_1 + -0x10,*(undefined8 *)(param_1 + 0x58)); puVar2 = *(undefined8 **)(param_1 + 0x60); *(undefined8 *)(param_1 + 0x60) = uVar4; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (*(undefined8 *)(param_1 + 0x60),0,param_2,param_4,uVar8); FUN_18134bd50(*(undefined8 *)(param_1 + 0x60),1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (*(undefined8 *)(param_1 + 0x60),1); FUN_180478740(*(undefined8 *)(param_1 + 0x60)); FUN_1804780b0(param_1 + 0x30,*(undefined4 *)(param_1 + 0x68)); FUN_1804789b0(*(undefined8 *)(param_1 + 0x60)); *(longlong *)(param_1 + 0x18) = param_2; if ((*(longlong **)(param_1 + 0x28) != (longlong *)0x0) && (pcVar1 = *(code **)(**(longlong **)(param_1 + 0x28) + 0xa8), pcVar1 != _guard_check_icall)) { (*pcVar1)(); } piVar5 = (int *)FUN_180473b00(); if (*piVar5 - 0x30U < 5) { FUN_1812a77d0(param_1 + 0x38,200); } return 0; } } } return 1; } ############ FUN_ 180478b30 size=454 ############ undefined8 * FUN_180478b30(undefined8 *param_1,longlong *param_2) { undefined8 *puVar1; longlong *plVar2; int iVar3; undefined8 uVar4; undefined1 *puVar5; bool bVar6; puVar1 = param_1 + 4; *param_1 = juce::JuceVST3Component::vftable; param_1[1] = juce::JuceVST3Component::vftable; param_1[2] = juce::JuceVST3Component::vftable; param_1[3] = juce::JuceVST3Component::vftable; *puVar1 = juce::JuceVST3Component::vftable; iVar3 = DAT_182678e90 + 1; bVar6 = DAT_182678e90 == 0; DAT_182678e90 = iVar3; if (bVar6) { FUN_1812a7550(); } *(undefined4 *)((longlong)param_1 + 0x2c) = 1; uVar4 = FUN_18134db00(); param_1[6] = uVar4; param_1[7] = param_2; if (param_2 != (longlong *)0x0) { (**(code **)(*param_2 + 8))(param_2); } param_1[8] = 0; param_1[9] = 0; param_1[0x1b] = 0; param_1[0x1c] = 0; param_1[0x1d] = 0; param_1[0x1e] = 0; param_1[0x1f] = 0; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = param_1 + 0x25; param_1[0x24] = 0; *(undefined1 *)(param_1 + 0x45) = 0; param_1[0x46] = 0; param_1[0x47] = 0; param_1[0x48] = param_1 + 0x4a; param_1[0x49] = 0; *(undefined1 *)(param_1 + 0x6a) = 0; *(undefined2 *)(param_1 + 0x6b) = 0; puVar5 = (undefined1 *)FUN_18047c390(); *puVar5 = 0; uVar4 = FUN_1811316e0(0x90); FUN_180474240(uVar4,param_1[6]); FUN_18047c290(param_1 + 8); memset(param_1 + 10,0,0x70); *(undefined4 *)(param_1 + 0x19) = 0x400; param_1[0x18] = 0; param_1[0x1a] = 0x40e5888000000000; plVar2 = (longlong *)param_1[6]; if (*(code **)(*plVar2 + 0x130) == FUN_1812c11d0) { LOCK(); plVar2[2] = (longlong)puVar1; UNLOCK(); } else { (**(code **)(*plVar2 + 0x130))(plVar2,puVar1); } return param_1; } ############ FUN_ 1804daf90 size=170 ############ ulonglong * FUN_1804daf90(void) { ulonglong uVar1; ulonglong uVar2; DWORD DVar3; ulonglong *puVar4; ulonglong *puVar5; bool bVar6; DVar3 = GetCurrentThreadId(); uVar2 = (ulonglong)DVar3; for (puVar4 = DAT_182673ae0; puVar5 = DAT_182673ae0, puVar4 != (ulonglong *)0x0; puVar4 = (ulonglong *)puVar4[1]) { if (*puVar4 == uVar2) goto LAB_1804db030; } do { puVar4 = puVar5; if (puVar4 == (ulonglong *)0x0) { LAB_1804dafed: puVar4 = (ulonglong *)FUN_1811316e0(0x18); puVar5 = DAT_182673ae0; *puVar4 = uVar2; *(undefined4 *)(puVar4 + 2) = 0; do { puVar4[1] = (ulonglong)puVar5; LOCK(); bVar6 = puVar5 != DAT_182673ae0; puVar5 = puVar4; if (bVar6) { puVar5 = DAT_182673ae0; } DAT_182673ae0 = puVar5; UNLOCK(); puVar5 = DAT_182673ae0; } while (bVar6); LAB_1804db030: return puVar4 + 2; } LOCK(); uVar1 = *puVar4; if (uVar1 == 0) { *puVar4 = uVar2; } UNLOCK(); if (uVar1 == 0) { if (puVar4 != (ulonglong *)0x0) { *(undefined4 *)(puVar4 + 2) = 0; goto LAB_1804db030; } goto LAB_1804dafed; } puVar5 = (ulonglong *)puVar4[1]; } while( true ); } ############ FUN_ 181350900 size=898 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181350900(longlong *param_1,longlong *param_2) { uint uVar1; int iVar2; undefined8 uVar3; undefined8 *puVar4; uint *puVar5; ulonglong uVar6; undefined1 auStack_c8 [32]; char *local_a8; longlong local_a0; void *local_98; int local_8c; char *local_88; longlong local_80; longlong *local_78; undefined8 *local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; longlong *local_50; undefined1 local_48 [8]; ulonglong local_40; local_58 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_c8; local_78 = param_1; (**(code **)(*param_2 + 0x90))(param_2,&local_a8); if (*local_a8 == '\0') { *param_1 = 0; param_1[1] = 0; param_1[2] = 0; puVar5 = (uint *)(local_a8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } uVar3 = FUN_18122bf10(); FUN_18122c1b0(uVar3,&local_78,&local_a8); puVar4 = (undefined8 *)FUN_1811316e0(0x50); *(undefined4 *)(puVar4 + 1) = 0; *puVar4 = juce::ValueTree::SharedObject::vftable; puVar4[2] = local_78; puVar5 = (uint *)(local_78 + -2); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } puVar4[3] = 0; puVar4[4] = 0; puVar4[5] = 0; puVar4[6] = 0; puVar4[7] = 0; puVar4[8] = 0; puVar4[9] = 0; LOCK(); *(int *)(puVar4 + 1) = *(int *)(puVar4 + 1) + 1; UNLOCK(); local_68 = 0; local_60 = 0; local_70 = puVar4; if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } uVar1 = (**(code **)(*param_2 + 0x80))(param_2); if ((int)uVar1 < 0) { *param_1 = (longlong)puVar4; param_1[1] = 0; param_1[2] = 0; if (*param_1 != 0) { FUN_180527d40(*param_1 + 0x38,&local_70); } /* WARNING: Subroutine does not return */ free((void *)0x0); } if (0 < (int)uVar1) { uVar6 = (ulonglong)uVar1; do { (**(code **)(*param_2 + 0x90))(param_2,&local_88); if (*local_88 != '\0') { uVar3 = FUN_18122bf10(); FUN_18122c1b0(uVar3,&local_80,&local_88); uVar3 = FUN_181226cb0(&local_50,param_2); FUN_181243e80(puVar4 + 3,&local_80,uVar3); (**(code **)(*local_50 + 0xb0))(local_50,local_48); puVar5 = (uint *)(local_80 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } puVar5 = (uint *)(local_88 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } uVar6 = uVar6 - 1; } while (uVar6 != 0); } iVar2 = (**(code **)(*param_2 + 0x80))(param_2); if (*(int *)(puVar4 + 6) < iVar2) { FUN_18047cb30(puVar4 + 5,iVar2 / 2 + 8 + iVar2 & 0xfffffff8); } if (iVar2 < 1) { *param_1 = (longlong)puVar4; param_1[1] = 0; param_1[2] = 0; if (*param_1 != 0) { FUN_180527d40(*param_1 + 0x38,&local_70); } /* WARNING: Subroutine does not return */ free((void *)0x0); } FUN_181350900(&local_a0,param_2); if (local_a0 == 0) { *param_1 = (longlong)puVar4; param_1[1] = 0; param_1[2] = 0; if (*param_1 != 0) { FUN_180527d40(*param_1 + 0x38,&local_70); } if ((local_8c != 0) && (local_a0 != 0)) { FUN_180527d40(local_a0 + 0x38,&local_a0); } local_8c = 0; /* WARNING: Subroutine does not return */ free(local_98); } FUN_180527fa0(puVar4 + 5,local_a0); *(undefined8 **)(local_a0 + 0x48) = puVar4; if ((local_8c != 0) && (local_a0 != 0)) { FUN_180527d40(local_a0 + 0x38,&local_a0); } local_8c = 0; /* WARNING: Subroutine does not return */ free(local_98); } ############ FUN_ 180479810 size=743 ############ void FUN_180479810(longlong param_1,undefined8 param_2) { LPCRITICAL_SECTION p_Var1; int *piVar2; int iVar3; uint uVar4; undefined1 *puVar5; longlong lVar6; undefined8 *puVar7; uint *_Memory; undefined1 auStack_138 [32]; undefined8 local_118; undefined1 *local_108; longlong local_100; char *local_f8; longlong local_f0; undefined **local_e8 [2]; void **local_d8; void *local_d0 [2]; void *local_c0; void *local_b0; undefined8 local_98; char *local_90; undefined8 *local_88; undefined8 local_80; undefined8 local_78; undefined8 local_70; LPCRITICAL_SECTION local_68; LPCRITICAL_SECTION local_60; undefined **local_58; undefined1 local_50 [8]; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_138; (**(code **)(**(longlong **)(param_1 + 0x30) + 0xe8))(); FUN_18124a4b0(local_e8,0x100); local_98 = 0; (*(code *)local_e8[0][4])(local_e8,&local_98,8); lVar6 = (**(code **)(**(longlong **)(param_1 + 0x30) + 0x98))(); if (lVar6 != 0) { local_f0 = (longlong)local_b0 + -8; (*(code *)local_e8[0][4])(local_e8,&local_f0,8); (*(code *)local_e8[0][4])(local_e8,"JUCEPrivateData",0xf); if (local_d8 != (void **)0x0) { if (local_b0 < local_d8[1]) { *(undefined1 *)((longlong)local_b0 + (longlong)*local_d8) = 0; } local_c0 = *local_d8; } FUN_18124a110(param_2,local_c0); local_e8[0] = juce::MemoryOutputStream::vftable; if ((local_d8 != local_d0) && (local_d8 != (void **)0x0)) { FUN_18124a200(local_d8,local_b0,0); } /* WARNING: Subroutine does not return */ free(local_d0[0]); } lVar6 = FUN_18122bf10(); if (s_JUCEPrivateData_1821d9fa0[0] == '\0') { local_108 = &DAT_1821dbf98; } else { p_Var1 = (LPCRITICAL_SECTION)(lVar6 + 0x10); local_68 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar6); local_90 = "JUCEPrivateData"; FUN_181211b90(&local_108,lVar6,&local_90); LeaveCriticalSection(p_Var1); } puVar5 = local_108; puVar7 = (undefined8 *)FUN_1811316e0(0x50); *(undefined4 *)(puVar7 + 1) = 0; *puVar7 = juce::ValueTree::SharedObject::vftable; puVar7[2] = puVar5; if ((*(uint *)(puVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(puVar5 + -0x10) = *(int *)(puVar5 + -0x10) + 1; UNLOCK(); } puVar7[3] = 0; puVar7[4] = 0; puVar7[5] = 0; puVar7[6] = 0; puVar7[7] = 0; puVar7[8] = 0; puVar7[9] = 0; LOCK(); *(int *)(puVar7 + 1) = *(int *)(puVar7 + 1) + 1; UNLOCK(); local_80 = 0; local_78 = 0; local_88 = puVar7; if ((*(uint *)(puVar5 + -0x10) & 0x30000000) == 0) { LOCK(); piVar2 = (int *)(puVar5 + -0x10); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5 + -0x10); } } lVar6 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar6 + 0x10); local_60 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar6); local_f8 = "Bypass"; FUN_181211b90(&local_100,lVar6,&local_f8); LeaveCriticalSection(p_Var1); local_50[0] = FUN_180479510(param_1); local_58 = &PTR_vftable_18262b550; local_118 = 0; FUN_180526e00(puVar7,&local_100,&local_58,0); (**(code **)(*local_58 + 0xb0))(local_58,local_50); _Memory = (uint *)(local_100 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180527630(local_e8,puVar7); /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 180526e00 size=442 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180526e00(longlong param_1,longlong *param_2,undefined8 *param_3,longlong param_4, undefined8 param_5) { longlong *plVar1; char cVar2; undefined8 uVar3; longlong *plVar4; undefined1 auStack_c8 [32]; undefined ***local_a8; undefined1 local_a0; undefined1 local_98; undefined8 local_90; longlong local_88; undefined4 local_80; longlong local_78; undefined8 local_70; undefined8 local_68; longlong local_60; longlong local_58; undefined **local_50; undefined1 local_48 [8]; ulonglong local_40; local_68 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_c8; local_80 = 0; if (param_4 == 0) { cVar2 = FUN_181243cd0(param_1 + 0x18); if (cVar2 != '\0') { FUN_180526c70(param_1,param_2,param_5); } } else { plVar4 = *(longlong **)(param_1 + 0x18); plVar1 = plVar4 + (longlong)*(int *)(param_1 + 0x24) * 3; if (plVar4 != plVar1) { local_60 = *param_2; do { local_58 = *plVar4; if (local_58 == local_60) { plVar1 = plVar4 + 1; if (plVar1 != (longlong *)0x0) { cVar2 = (**(code **)(*(longlong *)*plVar1 + 0xc0)) ((longlong *)*plVar1,plVar4 + 2,param_3 + 1,*param_3); if (cVar2 != '\0') { } local_70 = FUN_1811316e0(0x48); LOCK(); *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1; UNLOCK(); local_90 = param_5; local_98 = 0; local_a0 = 0; local_a8 = (undefined ***)plVar1; local_78 = param_1; uVar3 = FUN_180527710(local_70,&local_78,param_2,param_3); FUN_1813526d0(param_4,uVar3); } break; } plVar4 = plVar4 + 3; } while (plVar4 != plVar1); } local_70 = FUN_1811316e0(0x48); local_50 = &PTR_vftable_18262b558; local_80 = 1; LOCK(); *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1; UNLOCK(); local_90 = param_5; local_98 = 0; local_a0 = 1; local_a8 = &local_50; local_88 = param_1; uVar3 = FUN_180527710(local_70,&local_88,param_2,param_3); FUN_1813526d0(param_4,uVar3); (**(code **)(*local_50 + 0xb0))(local_50,local_48); } } ############ FUN_ 1813526d0 size=867 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813526d0(longlong param_1,ulonglong *param_2) { uint uVar1; longlong *plVar2; ulonglong uVar3; char cVar4; int iVar5; ulonglong *puVar6; uint uVar7; void *_Src; undefined8 *puVar8; ulonglong *puVar9; ulonglong *puVar10; ulonglong *puVar11; undefined1 auStack_78 [32]; ulonglong *local_58; ulonglong *local_50; undefined8 local_48; longlong local_40; ushort local_38; ulonglong local_30; local_48 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_78; if (param_2 != (ulonglong *)0x0) { local_58 = param_2; if (*(char *)(param_1 + 0x71) == '\0') { cVar4 = (**(code **)(*param_2 + 8))(param_2); if (cVar4 == '\0') { (**(code **)*param_2)(param_2,1); } uVar7 = *(int *)(param_1 + 0x6c) - 1; puVar10 = (ulonglong *)0x0; puVar9 = puVar10; if (uVar7 < *(uint *)(param_1 + 0x44)) { puVar9 = *(ulonglong **)(*(longlong *)(param_1 + 0x38) + (longlong)(int)uVar7 * 8); } if ((puVar9 == (ulonglong *)0x0) || (*(char *)(param_1 + 0x70) != '\0')) { puVar9 = (ulonglong *)FUN_1811316e0(0x20); *puVar9 = 0; puVar9[1] = 0; uVar3 = *(ulonglong *)(param_1 + 0x58); puVar9[2] = uVar3; if ((*(uint *)(uVar3 - 0x10) & 0x30000000) == 0) { LOCK(); *(int *)(uVar3 - 0x10) = *(int *)(uVar3 - 0x10) + 1; UNLOCK(); } local_50 = puVar9; _ftime64_s(&local_40); puVar9[3] = local_40 * 1000 + (ulonglong)local_38; uVar7 = *(uint *)(param_1 + 0x6c); iVar5 = *(int *)(param_1 + 0x44) + 1; if (*(int *)(param_1 + 0x40) < iVar5) { FUN_18047cb30(param_1 + 0x38,*(int *)(param_1 + 0x44) + 9 + iVar5 / 2 & 0xfffffff8); } uVar1 = *(uint *)(param_1 + 0x44); if (uVar7 < uVar1) { _Src = (void *)(*(longlong *)(param_1 + 0x38) + (longlong)(int)uVar7 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar1 - uVar7) << 3); puVar8 = (undefined8 *)(*(longlong *)(param_1 + 0x38) + (longlong)(int)uVar7 * 8); } else { puVar8 = (undefined8 *)(*(longlong *)(param_1 + 0x38) + (longlong)(int)uVar1 * 8); } *puVar8 = puVar9; *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + 1; *(int *)(param_1 + 0x6c) = *(int *)(param_1 + 0x6c) + 1; param_2 = local_58; } else if (((0 < *(int *)((longlong)puVar9 + 0xc)) && (plVar2 = *(longlong **) (*puVar9 + (longlong)(*(int *)((longlong)puVar9 + 0xc) + -1) * 8), plVar2 != (longlong *)0x0)) && (puVar6 = (ulonglong *)(**(code **)(*plVar2 + 0x20))(plVar2,param_2), puVar6 != (ulonglong *)0x0)) { local_58 = puVar6; (**(code **)*param_2)(param_2,1); iVar5 = (**(code **)(*plVar2 + 0x18))(plVar2); *(int *)(param_1 + 0x60) = *(int *)(param_1 + 0x60) - iVar5; param_2 = puVar6; if (*(int *)((longlong)puVar9 + 0xc) < 2) { FUN_18047cbc0(); if ((int)puVar9[1] != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar9); } *(undefined4 *)(puVar9 + 1) = 0; } else { FUN_180528070(puVar9,*(int *)((longlong)puVar9 + 0xc) + -1); } } iVar5 = (**(code **)(*param_2 + 0x18))(param_2); *(int *)(param_1 + 0x60) = *(int *)(param_1 + 0x60) + iVar5; local_58 = (ulonglong *)0x0; iVar5 = *(int *)((longlong)puVar9 + 0xc) + 1; if ((int)puVar9[1] < iVar5) { FUN_18047cb30(puVar9,*(int *)((longlong)puVar9 + 0xc) + 9 + iVar5 / 2 & 0xfffffff8); } iVar5 = *(int *)((longlong)puVar9 + 0xc); *(int *)((longlong)puVar9 + 0xc) = iVar5 + 1; *(ulonglong **)(*puVar9 + (longlong)iVar5 * 8) = param_2; *(undefined1 *)(param_1 + 0x70) = 0; FUN_18134fcc0(param_1); iVar5 = *(int *)(param_1 + 0x6c); while (((0 < iVar5 && (*(int *)(param_1 + 100) < *(int *)(param_1 + 0x60))) && (*(int *)(param_1 + 0x68) < *(int *)(param_1 + 0x44)))) { puVar9 = puVar10; if (0 < *(int *)(param_1 + 0x44)) { puVar9 = (ulonglong *)**(undefined8 **)(param_1 + 0x38); } puVar8 = (undefined8 *)*puVar9; puVar6 = (ulonglong *) ((ulonglong) ((longlong)(puVar8 + *(int *)((longlong)puVar9 + 0xc)) + (7 - (longlong)puVar8)) >> 3); if (puVar8 + *(int *)((longlong)puVar9 + 0xc) < puVar8) { puVar6 = puVar10; } puVar9 = puVar10; puVar11 = puVar10; uVar7 = 0; if (puVar6 != (ulonglong *)0x0) { do { iVar5 = (**(code **)(*(longlong *)*puVar8 + 0x18))(); uVar7 = (int)puVar11 + iVar5; puVar11 = (ulonglong *)(ulonglong)uVar7; puVar8 = puVar8 + 1; puVar9 = (ulonglong *)((longlong)puVar9 + 1); } while (puVar9 != puVar6); } *(int *)(param_1 + 0x60) = *(int *)(param_1 + 0x60) - uVar7; puVar9 = puVar10; if (*(int *)(param_1 + 0x44) != 0) { puVar8 = *(undefined8 **)(param_1 + 0x38); puVar9 = (ulonglong *)*puVar8; memmove(puVar8,puVar8 + 1,(longlong)(*(int *)(param_1 + 0x44) + -1) << 3); *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + -1; } if ((*(int *)(param_1 + 0x44) * 2 < *(int *)(param_1 + 0x40)) && (*(int *)(param_1 + 0x44) < *(int *)(param_1 + 0x40))) { FUN_18047cb30(param_1 + 0x38); } if (puVar9 != (ulonglong *)0x0) { FUN_180528290(puVar9); } *(int *)(param_1 + 0x6c) = *(int *)(param_1 + 0x6c) + -1; iVar5 = *(int *)(param_1 + 0x6c); } FUN_1812a5820(param_1); param_2 = puVar10; } if (param_2 != (ulonglong *)0x0) { (**(code **)*param_2)(param_2,1); } } } ############ FUN_ 18047b360 size=600 ############ ulonglong FUN_18047b360(undefined8 *param_1,undefined8 *param_2,longlong param_3,undefined8 param_4) { char cVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; longlong lVar5; undefined8 *puVar6; ulonglong in_RAX; undefined8 *puVar7; longlong lVar8; undefined8 uVar9; undefined7 uVar10; undefined7 extraout_var; int iVar11; undefined8 *puVar12; ulonglong uVar13; undefined8 *puVar14; undefined8 *puVar15; int iVar16; char *pcVar17; undefined8 *local_res8; lVar5 = DAT_182674c98; if (param_3 == 0) { uVar13 = in_RAX & 0xffffffffffffff00; } else { local_res8 = param_1; puVar7 = (undefined8 *)FUN_1811316e0(0x480,param_2,param_3,param_4,0xfffffffffffffffe); lVar8 = 3; iVar16 = 0x80; puVar15 = param_2; puVar6 = puVar7; do { puVar14 = puVar6; puVar12 = puVar15; uVar9 = puVar12[1]; *puVar14 = *puVar12; puVar14[1] = uVar9; uVar9 = puVar12[3]; puVar14[2] = puVar12[2]; puVar14[3] = uVar9; uVar9 = puVar12[5]; puVar14[4] = puVar12[4]; puVar14[5] = uVar9; uVar9 = puVar12[7]; puVar14[6] = puVar12[6]; puVar14[7] = uVar9; uVar9 = puVar12[9]; puVar14[8] = puVar12[8]; puVar14[9] = uVar9; uVar9 = puVar12[0xb]; puVar14[10] = puVar12[10]; puVar14[0xb] = uVar9; uVar9 = puVar12[0xd]; puVar14[0xc] = puVar12[0xc]; puVar14[0xd] = uVar9; uVar9 = puVar12[0xf]; puVar14[0xe] = puVar12[0xe]; puVar14[0xf] = uVar9; lVar8 = lVar8 + -1; puVar15 = puVar12 + 0x10; puVar6 = puVar14 + 0x10; } while (lVar8 != 0); uVar9 = puVar12[0x11]; puVar14[0x10] = puVar12[0x10]; puVar14[0x11] = uVar9; uVar9 = puVar12[0x13]; puVar14[0x12] = puVar12[0x12]; puVar14[0x13] = uVar9; uVar9 = puVar12[0x15]; puVar14[0x14] = puVar12[0x14]; puVar14[0x15] = uVar9; puVar14[0x16] = puVar12[0x16]; puVar7[0x37] = 0; puVar7[0x38] = 0; *(undefined4 *)(puVar7 + 0x39) = 0; memset((void *)((longlong)puVar7 + 0x1cc),0,0xa0); *(undefined4 *)((longlong)puVar7 + 0x26c) = 0; memset(puVar7 + 0x4e,0,0x200); puVar7[0x8e] = param_3; *(undefined1 *)(puVar7 + 0x8f) = 0; uVar2 = *(undefined4 *)((longlong)param_2 + 4); uVar3 = *(undefined4 *)(param_2 + 1); uVar4 = *(undefined4 *)((longlong)param_2 + 0xc); *(undefined4 *)(puVar7 + 0x37) = *(undefined4 *)param_2; *(undefined4 *)((longlong)puVar7 + 0x1bc) = uVar2; *(undefined4 *)(puVar7 + 0x38) = uVar3; *(undefined4 *)((longlong)puVar7 + 0x1c4) = uVar4; *(undefined4 *)(puVar7 + 0x39) = *(undefined4 *)(param_2 + 2); iVar11 = 0x20; pcVar17 = (char *)((longlong)puVar7 + 0x1cc); do { cVar1 = pcVar17[(longlong)param_2 + (0x14 - ((longlong)puVar7 + 0x1cc))]; *pcVar17 = cVar1; pcVar17 = pcVar17 + 1; if (cVar1 == '\0') { if ((iVar11 != 0) && (uVar13 = (ulonglong)(iVar11 - 1U), iVar11 - 1U != 0)) { for (; uVar13 != 0; uVar13 = uVar13 - 1) { *pcVar17 = '\0'; pcVar17 = pcVar17 + 1; } } break; } iVar11 = iVar11 + -1; } while (iVar11 != 0); local_res8 = puVar7; FUN_180471230((longlong)puVar7 + 0x1ec,(undefined4 *)((longlong)param_2 + 0x34)); *(undefined4 *)((longlong)puVar7 + 0x26c) = *(undefined4 *)((longlong)param_2 + 0x74); pcVar17 = (char *)(puVar7 + 0x4e); lVar8 = 0x78 - (longlong)pcVar17; do { cVar1 = pcVar17[(longlong)param_2 + lVar8]; *pcVar17 = cVar1; pcVar17 = pcVar17 + 1; if (cVar1 == '\0') { if ((iVar16 != 0) && (iVar16 - 1U != 0)) { for (uVar13 = (ulonglong)(iVar16 - 1U); uVar13 != 0; uVar13 = uVar13 - 1) { *pcVar17 = '\0'; pcVar17 = pcVar17 + 1; } } break; } iVar16 = iVar16 + -1; } while (iVar16 != 0); FUN_180471230(puVar7 + 0x5e,param_2 + 0x1f); FUN_180471230(puVar7 + 0x6e,param_2 + 0x27); uVar9 = FUN_180471230(puVar7 + 0x7e,param_2 + 0x2f); puVar15 = *(undefined8 **)(lVar5 + 0x1e0); uVar10 = (undefined7)((ulonglong)uVar9 >> 8); if (*(undefined8 **)(lVar5 + 0x1e8) == puVar15) { FUN_18047f980(lVar5 + 0x1d8,puVar15,&local_res8); puVar15 = local_res8; uVar10 = extraout_var; } else { *puVar15 = puVar7; *(longlong *)(lVar5 + 0x1e0) = *(longlong *)(lVar5 + 0x1e0) + 8; puVar15 = (undefined8 *)0x0; } if (puVar15 != (undefined8 *)0x0) { /* WARNING: Subroutine does not return */ free(puVar15); } uVar13 = CONCAT71(uVar10,1); } return uVar13; } ############ FUN_ 1804839b0 size=444 ############ longlong FUN_1804839b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; int iVar2; undefined8 *puVar3; undefined8 uVar4; undefined1 uVar5; undefined8 uVar6; undefined1 uVar7; undefined8 uVar8; undefined **local_40; undefined8 local_38; undefined8 local_30; char local_28; undefined8 *local_20; uVar4 = 0xfffffffffffffffe; _Mtx_init_in_situ(param_1,2,param_3,param_4,0xfffffffffffffffe); _Cnd_init_in_situ(param_1 + 0x50); *(undefined4 *)(param_1 + 0x98) = 0; *(undefined2 *)(param_1 + 0x9c) = 0; *(undefined1 *)(param_1 + 0x9e) = 0; *(undefined8 *)(param_1 + 0xd8) = 0; puVar3 = (undefined8 *)FUN_1811316e0(0x10); *puVar3 = FUN_180483bf0; puVar3[1] = param_1; iVar1 = _Cnd_init(&local_38); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } uVar5 = 1; uVar6 = local_38; iVar1 = _Mtx_init(&local_30,1); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } uVar7 = 1; local_28 = '\0'; uVar8 = local_30; iVar1 = _Mtx_lock(); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } local_40 = std:: _LaunchPad_>,std::default_delete_>_>_>_> ::vftable; local_20 = puVar3; iVar2 = _Thrd_start(param_1 + 0xe0,FUN_1804836d0,&local_40,param_4,uVar4,uVar5,uVar6,uVar7,uVar8); iVar1 = 1; if (iVar2 != 4) { iVar1 = iVar2; } uVar4 = local_38; uVar6 = local_30; if (iVar1 != 0) { std::_Throw_C_error(iVar1); uVar4 = local_38; uVar6 = local_30; } while (local_28 == '\0') { local_38 = uVar4; local_30 = uVar6; iVar1 = _Cnd_wait(uVar4,uVar6); uVar4 = local_38; uVar6 = local_30; if (iVar1 != 0) { std::_Throw_C_error(iVar1); uVar4 = local_38; uVar6 = local_30; } } if (local_20 == (undefined8 *)0x0) { iVar1 = _Mtx_unlock(uVar6); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } _Mtx_destroy(uVar6); _Cnd_destroy(uVar4); return param_1; } /* WARNING: Subroutine does not return */ free(local_20); } ############ FUN_ 1812459c0 size=264 ############ bool FUN_1812459c0(longlong *param_1,undefined4 param_2) { LPCRITICAL_SECTION lpCriticalSection; int *piVar1; undefined8 *_Memory; longlong *_Memory_00; longlong lVar2; longlong local_res8 [2]; LPCRITICAL_SECTION local_res18; undefined8 local_res20; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 1); local_res18 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); if (*param_1 == 0) { local_res20 = FUN_1811316e0(0x10); local_res8[0] = param_1[7]; if ((*(uint *)(local_res8[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8[0] + -0x10) = *(int *)(local_res8[0] + -0x10) + 1; UNLOCK(); } lVar2 = FUN_18049a330(local_res20,local_res8,param_2,local_res20,uVar3); _Memory = (undefined8 *)*param_1; *param_1 = lVar2; if (_Memory != (undefined8 *)0x0) { if ((HANDLE)*_Memory != (HANDLE)0x0) { ReleaseMutex((HANDLE)*_Memory); CloseHandle((HANDLE)*_Memory); *_Memory = 0; } /* WARNING: Subroutine does not return */ free(_Memory); } _Memory_00 = (longlong *)*param_1; if ((*_Memory_00 == 0) && (*param_1 = 0, _Memory_00 != (longlong *)0x0)) { if ((HANDLE)*_Memory_00 != (HANDLE)0x0) { ReleaseMutex((HANDLE)*_Memory_00); CloseHandle((HANDLE)*_Memory_00); *_Memory_00 = 0; } /* WARNING: Subroutine does not return */ free(_Memory_00); } } else { piVar1 = (int *)(*param_1 + 8); *piVar1 = *piVar1 + 1; } lVar2 = *param_1; LeaveCriticalSection(lpCriticalSection); return lVar2 != 0; } ############ FUN_ 180485b80 size=193 ############ longlong * FUN_180485b80(longlong *param_1,longlong param_2) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; undefined8 *puVar5; if (param_2 != 0) { if (*(longlong *)(param_2 + 0x2c0) == 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x18); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::WeakReference::SharedPointer:: vftable; puVar5[2] = param_2; if (*(undefined8 **)(param_2 + 0x2c0) != puVar5) { LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); puVar3 = *(undefined8 **)(param_2 + 0x2c0); *(undefined8 **)(param_2 + 0x2c0) = puVar5; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } } } lVar4 = *(longlong *)(param_2 + 0x2c0); *param_1 = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } return param_1; } *param_1 = 0; return param_1; } ############ FUN_ 1804864d0 size=534 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804864d0(longlong param_1,uint param_2) { longlong *plVar1; uint *puVar2; void *_Memory; uint *puVar3; int iVar4; uint *puVar5; uint *puVar6; uint uVar7; uint uVar8; ulonglong uVar9; int iVar10; longlong lVar11; longlong lVar12; undefined1 auStack_c8 [32]; uint *local_a8; undefined4 local_a0; uint uStack_9c; undefined8 local_98; ulonglong local_48; local_98 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_c8; local_a8 = (uint *)((ulonglong)local_a8 & 0xffffffff00000000); plVar1 = (longlong *)(param_1 + 8); uVar7 = param_2 % *(uint *)(param_1 + 0x14); puVar6 = *(uint **)((longlong)(int)uVar7 * 8 + *plVar1); for (puVar5 = puVar6; puVar5 != (uint *)0x0; puVar5 = *(uint **)(puVar5 + 0x12)) { if (*puVar5 == param_2) { } } puVar5 = (uint *)FUN_1811316e0(0x50); *puVar5 = param_2; local_a8 = puVar5 + 2; puVar5[0x10] = 0; puVar5[0x11] = 0; *(uint **)(puVar5 + 0x12) = puVar6; if (-1 < (int)uVar7) { if ((int)uVar7 < *(int *)(param_1 + 0x14)) { *(uint **)((longlong)(int)uVar7 * 8 + *plVar1) = puVar5; } else { FUN_18047e060(plVar1,*(int *)(param_1 + 0x14) + 1); iVar4 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar4 + 1; *(uint **)(*plVar1 + (longlong)iVar4 * 8) = puVar5; } } *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + 1; if (*(int *)(param_1 + 0x18) <= (*(int *)(param_1 + 0x14) * 3) / 2) { } uVar7 = *(int *)(param_1 + 0x14) * 2; puVar6 = (uint *)0x0; local_a8 = (uint *)0x0; local_a0 = 0; uStack_9c = 0; puVar5 = puVar6; if (0 < (int)uVar7) { FUN_18047e060(&local_a8); uVar8 = uStack_9c; puVar5 = local_a8; if (uStack_9c != 0) { memmove(local_a8 + (longlong)(int)uVar7 * 2,local_a8,(longlong)(int)uStack_9c << 3); } if (0 < (int)uVar7) { uVar9 = (ulonglong)uVar7; puVar6 = puVar5; do { puVar6[0] = 0; puVar6[1] = 0; uVar9 = uVar9 - 1; puVar6 = puVar6 + 2; } while (uVar9 != 0); } uStack_9c = uVar8 + uVar7; puVar6 = (uint *)(ulonglong)uStack_9c; } iVar10 = (int)puVar6; iVar4 = *(int *)(param_1 + 0x14) + -1; lVar12 = (longlong)iVar4; if (-1 < iVar4) { do { puVar2 = *(uint **)(*plVar1 + lVar12 * 8); while (puVar3 = puVar2, iVar10 = (int)puVar6, puVar3 != (uint *)0x0) { uVar8 = *puVar3 % uVar7; puVar2 = *(uint **)(puVar3 + 0x12); *(undefined8 *)(puVar3 + 0x12) = *(undefined8 *)(puVar5 + (longlong)(int)uVar8 * 2); if (-1 < (int)uVar8) { if ((int)uVar8 < iVar10) { *(uint **)(puVar5 + (longlong)(int)uVar8 * 2) = puVar3; } else { FUN_18047e060(&local_a8); lVar11 = (longlong)(int)uStack_9c; uStack_9c = uStack_9c + 1; puVar6 = (uint *)(ulonglong)uStack_9c; *(uint **)(local_a8 + lVar11 * 2) = puVar3; puVar5 = local_a8; } } } lVar12 = lVar12 + -1; } while (-1 < lVar12); } _Memory = (void *)*plVar1; *plVar1 = (longlong)puVar5; *(undefined4 *)(param_1 + 0x10) = local_a0; *(int *)(param_1 + 0x14) = iVar10; /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18048a5b0 size=93 ############ undefined8 * FUN_18048a5b0(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(); *(undefined4 *)(puVar1 + 2) = 0; puVar1[1] = 0xffffffffffffffff; *puVar1 = CloudyAsyncCaller::vftable; *(undefined4 *)(puVar1 + 3) = 0x400; puVar1[0xb] = 0; FUN_1812a77d0(puVar1,0x10); *param_1 = puVar1; return param_1; } ############ FUN_ 180490e00 size=91 ############ undefined8 * FUN_180490e00(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x48); *puVar1 = std::_Func_impl_no_alloc::vftable; puVar1[8] = 0; FUN_180488560(puVar1 + 1,param_1,param_3,param_4,uVar2); return puVar1; } ############ FUN_ 18048a7b0 size=74 ############ undefined8 * FUN_18048a7b0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x18); uVar1 = FUN_1811e4400(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18048a800 size=197 ############ undefined8 * FUN_18048a800(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; bool bVar3; undefined8 *local_res8 [2]; longlong local_res18; undefined8 *local_res20; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; local_res8[0] = param_1; puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res20 = puVar2; FUN_18049c4e0(local_res8,"AlternativeStateOption",param_3,param_4,uVar4); *puVar2 = ProcessorStateOption::vftable; puVar2[1] = local_res8[0]; puVar2[2] = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar3 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar3) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *puVar2 = AlternativeStateOption::vftable; local_res18 = puVar2[1]; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } FUN_1811efc90(param_2,&local_res18); *param_1 = puVar2; return param_1; } ############ FUN_ 18048a8d0 size=74 ############ undefined8 * FUN_18048a8d0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x18); uVar1 = FUN_1811e4590(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18048a920 size=74 ############ undefined8 * FUN_18048a920(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x18); uVar1 = FUN_180484030(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18048ac50 size=472 ############ void FUN_18048ac50(longlong param_1,undefined8 *param_2) { uint *puVar1; void **ppvVar2; uint uVar3; undefined8 uVar4; void *pvVar5; undefined8 uVar6; int iVar7; int iVar8; void *_Memory; undefined4 *puVar9; void *local_res18; undefined4 local_70; undefined4 uStack_6c; undefined4 uStack_68; undefined4 uStack_64; undefined **local_40; undefined8 local_38; undefined8 local_30; char local_28; undefined4 *local_20; LOCK(); puVar1 = (uint *)(param_1 + 0xa8); uVar3 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); if ((uVar3 & 1) != 0) { return; } ppvVar2 = (void **)(param_1 + 0xb0); if (*ppvVar2 != (void *)0x0) { FUN_1804836e0(); } uVar4 = *param_2; _Memory = (void *)FUN_1811316e0(0x10); local_res18 = _Memory; puVar9 = (undefined4 *)FUN_1811316e0(0x10); local_70 = (undefined4)param_1; uStack_6c = (undefined4)((ulonglong)param_1 >> 0x20); uStack_68 = (undefined4)uVar4; uStack_64 = (undefined4)((ulonglong)uVar4 >> 0x20); *puVar9 = local_70; puVar9[1] = uStack_6c; puVar9[2] = uStack_68; puVar9[3] = uStack_64; iVar7 = _Cnd_init(&local_38); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } iVar7 = _Mtx_init(&local_30,1); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } local_28 = '\0'; iVar7 = _Mtx_lock(); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } local_40 = std:: _LaunchPad_>,std::default_delete_>_>_>_> ::vftable; local_20 = puVar9; iVar8 = _Thrd_start(_Memory,FUN_1804836d0,&local_40); iVar7 = 1; if (iVar8 != 4) { iVar7 = iVar8; } uVar4 = local_38; uVar6 = local_30; if (iVar7 != 0) { std::_Throw_C_error(iVar7); uVar4 = local_38; uVar6 = local_30; } while (local_28 == '\0') { local_38 = uVar4; local_30 = uVar6; iVar7 = _Cnd_wait(uVar4,uVar6); uVar4 = local_38; uVar6 = local_30; if (iVar7 != 0) { std::_Throw_C_error(iVar7); uVar4 = local_38; uVar6 = local_30; } } if (local_20 != (undefined4 *)0x0) { /* WARNING: Subroutine does not return */ free(local_20); } iVar7 = _Mtx_unlock(uVar6); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } _Mtx_destroy(uVar6); _Cnd_destroy(uVar4); if (ppvVar2 == &local_res18) { if (*(int *)((longlong)_Memory + 8) != 0) { /* WARNING: Subroutine does not return */ terminate(); } } else { pvVar5 = *ppvVar2; *ppvVar2 = _Memory; if (pvVar5 == (void *)0x0) { return; } _Memory = pvVar5; if (*(int *)((longlong)pvVar5 + 8) != 0) { /* WARNING: Subroutine does not return */ terminate(); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18048ae30 size=472 ############ void FUN_18048ae30(longlong param_1,undefined8 *param_2) { uint *puVar1; void **ppvVar2; uint uVar3; undefined8 uVar4; void *pvVar5; undefined8 uVar6; int iVar7; int iVar8; void *_Memory; undefined4 *puVar9; void *local_res18; undefined4 local_70; undefined4 uStack_6c; undefined4 uStack_68; undefined4 uStack_64; undefined **local_40; undefined8 local_38; undefined8 local_30; char local_28; undefined4 *local_20; LOCK(); puVar1 = (uint *)(param_1 + 0xa8); uVar3 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); if ((uVar3 & 1) != 0) { return; } ppvVar2 = (void **)(param_1 + 0xb0); if (*ppvVar2 != (void *)0x0) { FUN_1804836e0(); } uVar4 = *param_2; _Memory = (void *)FUN_1811316e0(0x10); local_res18 = _Memory; puVar9 = (undefined4 *)FUN_1811316e0(0x10); local_70 = (undefined4)param_1; uStack_6c = (undefined4)((ulonglong)param_1 >> 0x20); uStack_68 = (undefined4)uVar4; uStack_64 = (undefined4)((ulonglong)uVar4 >> 0x20); *puVar9 = local_70; puVar9[1] = uStack_6c; puVar9[2] = uStack_68; puVar9[3] = uStack_64; iVar7 = _Cnd_init(&local_38); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } iVar7 = _Mtx_init(&local_30,1); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } local_28 = '\0'; iVar7 = _Mtx_lock(); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } local_40 = std:: _LaunchPad_>,std::default_delete_>_>_>_> ::vftable; local_20 = puVar9; iVar8 = _Thrd_start(_Memory,FUN_1804836d0,&local_40); iVar7 = 1; if (iVar8 != 4) { iVar7 = iVar8; } uVar4 = local_38; uVar6 = local_30; if (iVar7 != 0) { std::_Throw_C_error(iVar7); uVar4 = local_38; uVar6 = local_30; } while (local_28 == '\0') { local_38 = uVar4; local_30 = uVar6; iVar7 = _Cnd_wait(uVar4,uVar6); uVar4 = local_38; uVar6 = local_30; if (iVar7 != 0) { std::_Throw_C_error(iVar7); uVar4 = local_38; uVar6 = local_30; } } if (local_20 != (undefined4 *)0x0) { /* WARNING: Subroutine does not return */ free(local_20); } iVar7 = _Mtx_unlock(uVar6); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } _Mtx_destroy(uVar6); _Cnd_destroy(uVar4); if (ppvVar2 == &local_res18) { if (*(int *)((longlong)_Memory + 8) != 0) { /* WARNING: Subroutine does not return */ terminate(); } } else { pvVar5 = *ppvVar2; *ppvVar2 = _Memory; if (pvVar5 == (void *)0x0) { return; } _Memory = pvVar5; if (*(int *)((longlong)pvVar5 + 8) != 0) { /* WARNING: Subroutine does not return */ terminate(); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18048b010 size=472 ############ void FUN_18048b010(longlong param_1,undefined8 *param_2) { uint *puVar1; void **ppvVar2; uint uVar3; undefined8 uVar4; void *pvVar5; undefined8 uVar6; int iVar7; int iVar8; void *_Memory; undefined4 *puVar9; void *local_res18; undefined4 local_70; undefined4 uStack_6c; undefined4 uStack_68; undefined4 uStack_64; undefined **local_40; undefined8 local_38; undefined8 local_30; char local_28; undefined4 *local_20; LOCK(); puVar1 = (uint *)(param_1 + 0xa8); uVar3 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); if ((uVar3 & 1) != 0) { return; } ppvVar2 = (void **)(param_1 + 0xb0); if (*ppvVar2 != (void *)0x0) { FUN_1804836e0(); } uVar4 = *param_2; _Memory = (void *)FUN_1811316e0(0x10); local_res18 = _Memory; puVar9 = (undefined4 *)FUN_1811316e0(0x10); local_70 = (undefined4)param_1; uStack_6c = (undefined4)((ulonglong)param_1 >> 0x20); uStack_68 = (undefined4)uVar4; uStack_64 = (undefined4)((ulonglong)uVar4 >> 0x20); *puVar9 = local_70; puVar9[1] = uStack_6c; puVar9[2] = uStack_68; puVar9[3] = uStack_64; iVar7 = _Cnd_init(&local_38); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } iVar7 = _Mtx_init(&local_30,1); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } local_28 = '\0'; iVar7 = _Mtx_lock(); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } local_40 = std:: _LaunchPad_>,std::default_delete_>_>_>_> ::vftable; local_20 = puVar9; iVar8 = _Thrd_start(_Memory,FUN_1804836d0,&local_40); iVar7 = 1; if (iVar8 != 4) { iVar7 = iVar8; } uVar4 = local_38; uVar6 = local_30; if (iVar7 != 0) { std::_Throw_C_error(iVar7); uVar4 = local_38; uVar6 = local_30; } while (local_28 == '\0') { local_38 = uVar4; local_30 = uVar6; iVar7 = _Cnd_wait(uVar4,uVar6); uVar4 = local_38; uVar6 = local_30; if (iVar7 != 0) { std::_Throw_C_error(iVar7); uVar4 = local_38; uVar6 = local_30; } } if (local_20 != (undefined4 *)0x0) { /* WARNING: Subroutine does not return */ free(local_20); } iVar7 = _Mtx_unlock(uVar6); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } _Mtx_destroy(uVar6); _Cnd_destroy(uVar4); if (ppvVar2 == &local_res18) { if (*(int *)((longlong)_Memory + 8) != 0) { /* WARNING: Subroutine does not return */ terminate(); } } else { pvVar5 = *ppvVar2; *ppvVar2 = _Memory; if (pvVar5 == (void *)0x0) { return; } _Memory = pvVar5; if (*(int *)((longlong)pvVar5 + 8) != 0) { /* WARNING: Subroutine does not return */ terminate(); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18048b1f0 size=472 ############ void FUN_18048b1f0(longlong param_1,undefined8 *param_2) { uint *puVar1; void **ppvVar2; uint uVar3; undefined8 uVar4; void *pvVar5; undefined8 uVar6; int iVar7; int iVar8; void *_Memory; undefined4 *puVar9; void *local_res18; undefined4 local_70; undefined4 uStack_6c; undefined4 uStack_68; undefined4 uStack_64; undefined **local_40; undefined8 local_38; undefined8 local_30; char local_28; undefined4 *local_20; LOCK(); puVar1 = (uint *)(param_1 + 0xa8); uVar3 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); if ((uVar3 & 1) != 0) { return; } ppvVar2 = (void **)(param_1 + 0xb0); if (*ppvVar2 != (void *)0x0) { FUN_1804836e0(); } uVar4 = *param_2; _Memory = (void *)FUN_1811316e0(0x10); local_res18 = _Memory; puVar9 = (undefined4 *)FUN_1811316e0(0x10); local_70 = (undefined4)param_1; uStack_6c = (undefined4)((ulonglong)param_1 >> 0x20); uStack_68 = (undefined4)uVar4; uStack_64 = (undefined4)((ulonglong)uVar4 >> 0x20); *puVar9 = local_70; puVar9[1] = uStack_6c; puVar9[2] = uStack_68; puVar9[3] = uStack_64; iVar7 = _Cnd_init(&local_38); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } iVar7 = _Mtx_init(&local_30,1); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } local_28 = '\0'; iVar7 = _Mtx_lock(); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } local_40 = std:: _LaunchPad_>,std::default_delete_>_>_>_> ::vftable; local_20 = puVar9; iVar8 = _Thrd_start(_Memory,FUN_1804836d0,&local_40); iVar7 = 1; if (iVar8 != 4) { iVar7 = iVar8; } uVar4 = local_38; uVar6 = local_30; if (iVar7 != 0) { std::_Throw_C_error(iVar7); uVar4 = local_38; uVar6 = local_30; } while (local_28 == '\0') { local_38 = uVar4; local_30 = uVar6; iVar7 = _Cnd_wait(uVar4,uVar6); uVar4 = local_38; uVar6 = local_30; if (iVar7 != 0) { std::_Throw_C_error(iVar7); uVar4 = local_38; uVar6 = local_30; } } if (local_20 != (undefined4 *)0x0) { /* WARNING: Subroutine does not return */ free(local_20); } iVar7 = _Mtx_unlock(uVar6); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } _Mtx_destroy(uVar6); _Cnd_destroy(uVar4); if (ppvVar2 == &local_res18) { if (*(int *)((longlong)_Memory + 8) != 0) { /* WARNING: Subroutine does not return */ terminate(); } } else { pvVar5 = *ppvVar2; *ppvVar2 = _Memory; if (pvVar5 == (void *)0x0) { return; } _Memory = pvVar5; if (*(int *)((longlong)pvVar5 + 8) != 0) { /* WARNING: Subroutine does not return */ terminate(); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18048b6f0 size=97 ############ undefined8 * FUN_18048b6f0(undefined8 *param_1,undefined8 *param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *puVar1 = *param_2; *param_2 = 0; puVar1[1] = param_2[1]; param_2[1] = 0; puVar1[2] = param_2[2]; param_2[2] = 0; puVar1[3] = param_2[3]; param_2[3] = &DAT_1821dbf98; *param_1 = puVar1; return param_1; } ############ FUN_ 18048b840 size=54 ############ undefined8 * FUN_18048b840(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(); puVar1[1] = 0; *puVar1 = BaseUpdater::vftable; *(undefined4 *)(puVar1 + 1) = 0; *param_1 = puVar1; return param_1; } ############ FUN_ 18048b880 size=136 ############ undefined8 * FUN_18048b880(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; undefined1 local_60 [56]; undefined8 local_28; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x60); local_28 = 0; FUN_180488560(local_60,param_3); uVar1 = FUN_1811afba0(uVar1,param_2,local_60,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18048b950 size=164 ############ undefined8 * FUN_18048b950(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4, undefined8 param_5) { undefined8 uVar1; undefined1 local_58 [56]; undefined8 local_20; uVar1 = FUN_1811316e0(0x78); local_20 = 0; FUN_180488560(local_58,param_3); uVar1 = FUN_1811aeda0(uVar1,param_2,local_58,*param_4,param_5); *param_1 = uVar1; return param_1; } ############ FUN_ 18048ba90 size=106 ############ undefined8 * FUN_18048ba90(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; undefined8 uVar2; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *puVar1 = 0; puVar1[1] = 0; puVar1[2] = 0; uVar2 = FUN_18122bf10(); FUN_18122c1b0(uVar2,puVar1 + 3,param_2); *param_1 = puVar1; return param_1; } ############ FUN_ 18048bb90 size=277 ############ void FUN_18048bb90(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong *plVar2; undefined8 *puVar3; undefined8 *puVar4; uint *_Memory; longlong local_res8; undefined8 *local_res18 [2]; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; local_res8 = FUN_1811316e0(0x18); puVar4 = (undefined8 *)FUN_1811e4400(local_res8,param_2); local_res18[0] = puVar4; FUN_181184660(param_1,puVar4); local_res8 = puVar4[1]; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } plVar2 = *(longlong **)(param_1 + 0x38); if (*(longlong **)(param_1 + 0x40) == plVar2) { FUN_18048d8d0(param_1 + 0x30,plVar2,&local_res8,param_4,uVar5); } else { *plVar2 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } *(longlong *)(param_1 + 0x38) = *(longlong *)(param_1 + 0x38) + 8; } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar3 = *(undefined8 **)(param_1 + 0x50); if (*(undefined8 **)(param_1 + 0x58) == puVar3) { FUN_18048cfc0(param_1 + 0x48,puVar3,local_res18); puVar4 = local_res18[0]; } else { *puVar3 = puVar4; *(longlong *)(param_1 + 0x50) = *(longlong *)(param_1 + 0x50) + 8; puVar4 = (undefined8 *)0x0; } if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } return; } ############ FUN_ 181184660 size=175 ############ void FUN_181184660(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; void *pvVar2; void *local_res8; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; local_res8 = (void *)FUN_1811316e0(0x10); pvVar2 = (void *)(param_1 + 8); if (param_1 == 0) { pvVar2 = (void *)0x0; } local_res8 = (void *)FUN_1811e8780(local_res8,param_2,pvVar2,param_4,uVar3); puVar1 = *(undefined8 **)(param_1 + 0x98); if (*(undefined8 **)(param_1 + 0xa0) == puVar1) { FUN_18048bdd0(param_1 + 0x90,puVar1,&local_res8); pvVar2 = local_res8; } else { *puVar1 = local_res8; *(longlong *)(param_1 + 0x98) = *(longlong *)(param_1 + 0x98) + 8; pvVar2 = (void *)0x0; } if (pvVar2 != (void *)0x0) { FUN_1811e6b70(pvVar2); /* WARNING: Subroutine does not return */ free(pvVar2); } return; } ############ FUN_ 18048bcb0 size=277 ############ void FUN_18048bcb0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong *plVar2; undefined8 *puVar3; undefined8 *puVar4; uint *_Memory; longlong local_res8; undefined8 *local_res18 [2]; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; local_res8 = FUN_1811316e0(0x18); puVar4 = (undefined8 *)FUN_1811e4590(local_res8,param_2); local_res18[0] = puVar4; FUN_181184660(param_1,puVar4); local_res8 = puVar4[1]; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } plVar2 = *(longlong **)(param_1 + 0x38); if (*(longlong **)(param_1 + 0x40) == plVar2) { FUN_18048d8d0(param_1 + 0x30,plVar2,&local_res8,param_4,uVar5); } else { *plVar2 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } *(longlong *)(param_1 + 0x38) = *(longlong *)(param_1 + 0x38) + 8; } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar3 = *(undefined8 **)(param_1 + 0x50); if (*(undefined8 **)(param_1 + 0x58) == puVar3) { FUN_18048cfc0(param_1 + 0x48,puVar3,local_res18); puVar4 = local_res18[0]; } else { *puVar3 = puVar4; *(longlong *)(param_1 + 0x50) = *(longlong *)(param_1 + 0x50) + 8; puVar4 = (undefined8 *)0x0; } if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } return; } ############ FUN_ 18048bff0 size=124 ############ undefined8 * FUN_18048bff0(undefined8 *param_1,longlong *param_2,undefined1 *param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *local_res8; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res8 = param_1; uVar1 = FUN_1811316e0(0x40); local_res8 = (undefined8 *)*param_2; if ((*(uint *)(local_res8 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -2) = *(int *)(local_res8 + -2) + 1; UNLOCK(); } uVar1 = FUN_181184390(uVar1,&local_res8,*param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18048c070 size=58 ############ undefined8 * FUN_18048c070(undefined8 *param_1) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x40); uVar1 = FUN_1811718a0(uVar1); *param_1 = uVar1; return param_1; } ############ FUN_ 18048c0b0 size=74 ############ undefined8 * FUN_18048c0b0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x50); uVar1 = FUN_181167a50(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 181168f80 size=678 ############ ulonglong FUN_181168f80(longlong param_1,longlong *param_2) { uint uVar1; bool bVar2; DWORD DVar3; undefined8 *puVar4; longlong lVar5; longlong lVar6; undefined8 *puVar7; uint *puVar8; char *local_res18; undefined8 *local_res20; longlong local_a8; longlong local_a0; undefined1 *local_98; undefined8 local_90; undefined2 local_88; undefined1 *local_80; undefined1 *local_78; undefined8 local_70; undefined8 local_68; undefined2 local_60; undefined8 *local_58; undefined8 local_50; undefined1 local_48 [8]; undefined8 local_40; undefined8 local_38; local_50 = 0xfffffffffffffffe; FUN_181245100(param_2,&local_res18,"folder.xml"); bVar2 = true; if (*local_res18 != '\0') { puVar4 = (undefined8 *)FUN_18049a930(local_48,&local_res18); DVar3 = GetFileAttributesW((LPCWSTR)*puVar4); if (DVar3 != 0xffffffff) goto LAB_181168ff5; } bVar2 = false; LAB_181168ff5: if (bVar2) { local_98 = &DAT_1821dbf98; local_90 = 0; local_88 = 0; local_80 = &DAT_1821dbf98; local_78 = &DAT_1821dbf98; local_70 = 0; local_68 = 0; local_60 = 0x100; local_res20 = (undefined8 *)FUN_1811316e0(0x18); *local_res20 = juce::FileInputSource::vftable; local_res20[1] = local_res18; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } *(undefined1 *)(local_res20 + 2) = 0; local_58 = local_res20; FUN_181248430(&local_98,&local_res20); FUN_181248660(&local_98); puVar4 = local_res20; if (local_res20 != (undefined8 *)0x0) { lVar5 = FUN_181246a60(local_res20,&DAT_1821da79c); lVar6 = FUN_181246a60(puVar4,"GROUP"); if ((lVar5 != 0) && (lVar6 != 0)) { puVar4 = (undefined8 *)FUN_181246700(lVar5,&local_a8); local_40 = *(undefined8 *)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = *puVar4; *puVar4 = local_40; puVar8 = (uint *)(local_a8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar7 = (undefined8 *)FUN_181246700(lVar6,&local_a0); puVar4 = local_res20; local_38 = *(undefined8 *)(param_1 + 0x28); *(undefined8 *)(param_1 + 0x28) = *puVar7; *puVar7 = local_38; puVar8 = (uint *)(local_a0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (local_res20 == (undefined8 *)0x0) { puVar8 = (uint *)(local_res18 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(*param_2 + -0x10); uVar1 = *puVar8; if ((uVar1 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); uVar1 = uVar1 - 1; if (uVar1 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(puVar8); } } return CONCAT71((uint7)(uint3)(uVar1 >> 8),1); } FUN_1812472e0(local_res20); /* WARNING: Subroutine does not return */ free(puVar4); } } if (puVar4 != (undefined8 *)0x0) { FUN_1812472e0(puVar4); /* WARNING: Subroutine does not return */ free(puVar4); } } puVar8 = (uint *)(local_res18 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(*param_2 + -0x10); uVar1 = *puVar8; if ((uVar1 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); uVar1 = uVar1 - 1; if (uVar1 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(puVar8); } } return (ulonglong)uVar1 & 0xffffffffffffff00; } ############ FUN_ 1812425c0 size=1704 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812425c0(longlong *param_1,byte *param_2,byte *param_3,undefined8 *param_4, ulonglong *param_5,ulonglong *param_6,byte *param_7) { uint *puVar1; void *pvVar2; DWORD DVar3; char cVar4; byte bVar5; BOOL BVar6; uint uVar7; undefined8 *puVar8; HANDLE pvVar9; longlong *plVar10; longlong lVar11; uint uVar12; uint *puVar13; byte *pbVar14; undefined8 *puVar15; byte *pbVar16; int iVar17; uint uVar18; bool bVar19; undefined1 auStack_398 [32]; ulonglong *local_378; ulonglong *local_370; byte *local_368; byte local_358 [4]; uint local_354; byte local_350; byte *local_348; byte *local_340; longlong local_338; longlong local_330; undefined8 *local_328; byte *local_320; ulonglong *local_318; ulonglong *local_310; longlong local_308; longlong local_300; byte *local_2f8; byte *local_2f0; longlong *local_2e8; longlong *local_2e0; longlong local_2d8; undefined8 local_2d0; undefined1 local_2c8 [8]; byte *local_2c0; undefined8 local_2b8; longlong local_2b0; _WIN32_FIND_DATAW local_2a8; ulonglong local_58; local_2d0 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_398; local_318 = param_5; local_310 = param_6; local_320 = param_7; local_354 = 0; local_348 = param_3; local_328 = param_4; local_2f8 = param_2; LAB_181242650: pbVar16 = &DAT_1821dbf98; *(undefined1 *)((longlong)param_1 + 0x35) = 1; if (param_1[7] != 0) { local_378 = local_318; local_370 = local_310; local_368 = local_320; cVar4 = FUN_1812425c0(param_1[7],local_2f8,local_348,local_328); if (cVar4 != '\0') { } pvVar2 = (void *)param_1[7]; param_1[7] = 0; if (pvVar2 != (void *)0x0) { FUN_181242dc0(pvVar2); /* WARNING: Subroutine does not return */ free(pvVar2); } } local_340 = &DAT_1821dbf98; local_358[0] = 0; LAB_1812426b2: while( true ) { if ((local_348 == (byte *)0x0) && ((*(byte *)(param_1 + 6) & 4) == 0)) { pbVar14 = (byte *)0x0; } else { pbVar14 = local_358; } lVar11 = param_1[2]; if (*(HANDLE *)(lVar11 + 8) == (HANDLE)0xffffffffffffffff) { puVar8 = (undefined8 *)FUN_18049a930(local_2c8,lVar11); pvVar9 = FindFirstFileW((LPCWSTR)*puVar8,&local_2a8); *(HANDLE *)(lVar11 + 8) = pvVar9; bVar19 = pvVar9 == (HANDLE)0xffffffffffffffff; } else { BVar6 = FindNextFileW(*(HANDLE *)(lVar11 + 8),&local_2a8); bVar19 = BVar6 == 0; } if (bVar19) break; FUN_18049c800(&local_2f0,local_2a8.cFileName); DVar3 = local_2a8.dwFileAttributes; local_340 = local_2f0; puVar1 = (uint *)(pbVar16 + -0x10); local_2f0 = pbVar16; local_2c0 = pbVar16; if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } uVar18 = local_2a8.dwFileAttributes >> 4; local_350 = (byte)uVar18 & 1; if (pbVar14 != (byte *)0x0) { *pbVar14 = (byte)(local_2a8.dwFileAttributes >> 1) & 1; } pbVar16 = local_340; if (local_320 != (byte *)0x0) { *local_320 = (byte)DVar3 & 1; } if (local_328 != (undefined8 *)0x0) { *local_328 = CONCAT44(local_2a8.nFileSizeHigh,local_2a8.nFileSizeLow); } if (local_318 != (ulonglong *)0x0) { *local_318 = ((longlong)local_2a8.ftLastWriteTime + 0xfe624e212ac18000U) / 10000; } if (local_310 != (ulonglong *)0x0) { *local_310 = ((longlong)local_2a8.ftCreationTime + 0xfe624e212ac18000U) / 10000; } *(int *)(param_1 + 5) = (int)param_1[5] + 1; bVar5 = *local_340; pbVar14 = local_340; while (bVar5 != 0) { bVar5 = *pbVar14; pbVar14 = pbVar14 + 1; uVar12 = (uint)bVar5; if ((char)bVar5 < '\0') { uVar12 = 0x7f; uVar7 = 0x40; iVar17 = 0; if ((bVar5 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar12 = uVar12 >> 1; iVar17 = iVar17 + 1; uVar7 = uVar7 >> 1; } while ((bVar5 & uVar7) != 0); } uVar12 = bVar5 & uVar12; for (; (iVar17 = iVar17 + -1, -1 < iVar17 && ((*pbVar14 & 0xc0) == 0x80)); pbVar14 = pbVar14 + 1) { uVar12 = *pbVar14 & 0x3f | uVar12 << 6; } } iVar17 = FUN_18049bc80(&DAT_1821d96ec,uVar12); if (iVar17 < 0) { if ((uVar18 & 1) == 0) { bVar5 = (byte)(*(uint *)(param_1 + 6) >> 1); } else { if ((*(char *)((longlong)param_1 + 0x34) != '\0') && (((*(byte *)(param_1 + 6) & 4) == 0 || (local_358[0] == 0)))) { plVar10 = (longlong *)FUN_1811316e0(0x48); local_338 = param_1[4]; if ((*(uint *)(local_338 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_338 + -0x10) = *(int *)(local_338 + -0x10) + 1; UNLOCK(); } local_2e8 = &local_338; local_2e0 = plVar10; local_2e8 = (longlong *)FUN_181232d30(&local_338,&local_340); uVar18 = local_354; local_2e8 = (longlong *)*local_2e8; puVar1 = (uint *)((longlong)local_2e8 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } puVar13 = (uint *)(local_338 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { local_354 = local_354 | 4; /* WARNING: Subroutine does not return */ free(puVar13); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } LOCK(); UNLOCK(); local_330 = (longlong)local_2e8; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar12 = DAT_1821dbf88 - 1; UNLOCK(); bVar19 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar12; if (bVar19) { local_354 = local_354 | 5; /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_354 = local_354 | 7; local_378 = (ulonglong *)CONCAT44(local_378._4_4_,(int)param_1[6]); lVar11 = FUN_181242e90(plVar10,&local_330,1,param_1 + 3); pvVar2 = (void *)param_1[7]; param_1[7] = lVar11; if (pvVar2 != (void *)0x0) { FUN_181242dc0(pvVar2); /* WARNING: Subroutine does not return */ free(pvVar2); } local_354 = uVar18 & 0xfffffffd | 5; puVar13 = (uint *)(local_330 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } pbVar16 = local_340; if (((local_354 & 1) != 0) && (local_354 = local_354 & 0xfffffffe, (*puVar1 & 0x30000000) == 0)) { LOCK(); uVar18 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } } bVar5 = *(byte *)(param_1 + 6); } bVar19 = (bool)(bVar5 & 1); if (bVar19 == false) goto LAB_181242a9d; if ((*(char *)((longlong)param_1 + 0x34) == '\0') && (*(int *)((longlong)param_1 + 0xc) < 2) ) goto LAB_181242a86; puVar15 = (undefined8 *)*param_1; puVar8 = puVar15 + *(int *)((longlong)param_1 + 0xc); goto joined_r0x000181242a61; } bVar5 = *pbVar14; } } LAB_181242c59: puVar1 = (uint *)(pbVar16 + -0x10); if ((*puVar1 & 0x30000000) != 0) { } LOCK(); uVar18 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar18 != 0) { } /* WARNING: Subroutine does not return */ free(puVar1); joined_r0x000181242a61: if (puVar15 == puVar8) goto LAB_181242a9d; local_2b8 = *puVar15; cVar4 = FUN_18049aaa0(local_2b8,pbVar16,1); if (cVar4 == '\0') { puVar15 = puVar15 + 1; goto joined_r0x000181242a61; } bVar19 = true; LAB_181242a86: if ((*(byte *)(param_1 + 6) & 4) != 0) { bVar19 = local_358[0] == 0; } if (bVar19 != false) { local_308 = param_1[4]; if ((*(uint *)(local_308 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_308 + -0x10) = *(int *)(local_308 + -0x10) + 1; UNLOCK(); } local_2e0 = &local_308; plVar10 = (longlong *)FUN_181232d30(&local_308,&local_340); local_2d8 = *plVar10; puVar1 = (uint *)(local_2d8 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } puVar13 = (uint *)(local_308 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } LOCK(); UNLOCK(); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar18 = DAT_1821dbf88 - 1; UNLOCK(); bVar19 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar18; if (bVar19) { local_300 = local_2d8; /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_300 = param_1[8]; param_1[8] = local_2d8; puVar13 = (uint *)(local_300 + -0x10); local_2b0 = local_300; if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if (local_348 != (byte *)0x0) { *local_348 = local_358[0]; } pbVar16 = local_340; if (local_2f8 != (byte *)0x0) { *local_2f8 = local_350; } goto LAB_181242c59; } LAB_181242a9d: if (param_1[7] != 0) goto code_r0x000181242aad; goto LAB_1812426b2; code_r0x000181242aad: puVar1 = (uint *)(pbVar16 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } goto LAB_181242650; } ############ FUN_ 181242e90 size=420 ############ longlong FUN_181242e90(longlong param_1,undefined8 param_2,undefined8 param_3,longlong *param_4, undefined4 param_5) { uint uVar1; longlong lVar2; undefined8 uVar3; uint *puVar4; uint uVar5; longlong *plVar6; longlong local_res10; uint local_res18; longlong local_res20; local_res18 = 0; FUN_181242d50(param_1,param_4,param_3,param_4,0xfffffffffffffffe); if (((char)param_3 == '\0') && (*(int *)(param_1 + 0xc) < 2)) { local_res20 = *param_4; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } plVar6 = &local_res20; uVar5 = 1; local_res18 = 1; } else { FUN_18049c4e0(&local_res10,&DAT_1821d9604); plVar6 = &local_res10; uVar5 = 2; local_res18 = 2; } uVar3 = FUN_1811316e0(0x10); uVar3 = FUN_180498c40(uVar3,param_2,plVar6); *(undefined8 *)(param_1 + 0x10) = uVar3; if ((uVar5 & 2) != 0) { local_res18 = uVar5 & 0xfffffffd; puVar4 = (uint *)(local_res10 + -0x10); uVar5 = local_res18; if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } if (((uVar5 & 1) != 0) && (puVar4 = (uint *)(local_res20 + -0x10), (*puVar4 & 0x30000000) == 0)) { LOCK(); uVar5 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } lVar2 = *param_4; *(longlong *)(param_1 + 0x18) = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } FUN_1812416f0(param_1 + 0x20,param_2); *(undefined8 *)(param_1 + 0x28) = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x30) = param_5; *(char *)(param_1 + 0x34) = (char)param_3; *(undefined1 *)(param_1 + 0x35) = 0; *(undefined8 *)(param_1 + 0x38) = 0; *(undefined1 **)(param_1 + 0x40) = &DAT_1821dbf98; return param_1; } ############ FUN_ 181248430 size=548 ############ undefined8 FUN_181248430(longlong *param_1,undefined8 param_2,undefined1 param_3) { uint *_Memory; uint uVar1; char cVar2; longlong lVar3; undefined8 *puVar4; char *pcVar5; longlong local_res8; undefined1 local_res18 [8]; undefined8 *local_res20; longlong local_68 [2]; longlong *local_58; char *local_40; ulonglong local_30; local_res18[0] = param_3; if ((*(char *)*param_1 == '\0') && (lVar3 = param_1[8], lVar3 != 0)) { local_res8 = FUN_1811316e0(0x28); puVar4 = (undefined8 *)FUN_18123efe0(local_res8,lVar3 + 8); if (*(char *)puVar4[4] != '\0') { (**(code **)*puVar4)(puVar4,1); puVar4 = (undefined8 *)0x0; } local_res20 = puVar4; if (puVar4 != (undefined8 *)0x0) { FUN_18124a4b0(local_68,0x100); FUN_181234ba0(local_68,puVar4,0xffffffffffffffff); if (2 < local_30) { local_res18[0] = 0; (**(code **)(local_68[0] + 0x20))(local_68,local_res18,1); pcVar5 = local_40; if (local_58 != (longlong *)0x0) { if (local_30 < (ulonglong)local_58[1]) { *(undefined1 *)(local_30 + *local_58) = 0; } pcVar5 = (char *)*local_58; } cVar2 = *pcVar5; if (((cVar2 != -2) || (pcVar5[1] != -1)) && ((cVar2 != -1 || (pcVar5[1] != -2)))) { if (((cVar2 == -0x11) && (pcVar5[1] == -0x45)) && (pcVar5[2] == -0x41)) { pcVar5 = pcVar5 + 3; } FUN_1812258f0(param_1,param_2,pcVar5); FUN_18124a420(local_68); if (puVar4 == (undefined8 *)0x0) { return param_2; } (**(code **)*puVar4)(puVar4,1); return param_2; } if (local_58 != (longlong *)0x0) { if (local_30 < (ulonglong)local_58[1]) { *(undefined1 *)(local_30 + *local_58) = 0; } local_40 = (char *)*local_58; } FUN_18122f8f0(&local_res8,local_40,local_30 & 0xffffffff); lVar3 = *param_1; *param_1 = local_res8; _Memory = (uint *)(lVar3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } FUN_18124a420(local_68); } if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } FUN_1812258f0(param_1,param_2,*param_1); return param_2; } ############ FUN_ 181224610 size=1360 ############ undefined8 * FUN_181224610(longlong param_1,char param_2) { uint uVar1; longlong lVar2; byte bVar3; byte bVar4; longlong lVar5; byte bVar6; char cVar7; int iVar8; int iVar9; longlong *plVar10; undefined8 *puVar11; undefined8 uVar12; longlong *plVar13; undefined8 uVar14; byte *pbVar15; uint *puVar16; uint *puVar17; longlong local_res18; longlong *local_res20; longlong *local_98; longlong local_90; longlong *local_88; longlong local_80; undefined1 local_78 [8]; longlong local_70; longlong local_68; undefined1 local_60 [8]; undefined8 local_58; undefined1 local_50 [16]; local_58 = 0xfffffffffffffffe; FUN_181224ea0(); if (*(char *)(param_1 + 0x10) == '\0') { iVar8 = FUN_180492f10(param_1 + 8); if (iVar8 != 0x3c) { return (undefined8 *)0x0; } bVar3 = **(byte **)(param_1 + 8); pbVar15 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar15; if ((char)bVar3 < '\0') { bVar6 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar15 = pbVar15 + 1; *(byte **)(param_1 + 8) = pbVar15; bVar6 = bVar6 >> 1; bVar4 = bVar3 & bVar6; } } FUN_181225d60(&local_res18,*(undefined8 *)(param_1 + 8)); if (local_res18 == *(longlong *)(param_1 + 8)) { FUN_181224ea0(param_1); plVar10 = (longlong *)FUN_181225d60(local_50,*(undefined8 *)(param_1 + 8)); local_res18 = *plVar10; if (local_res18 == *(longlong *)(param_1 + 8)) { FUN_18049c4e0(&local_res20,"tag name missing"); if ((*(uint *)(local_res20 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -2) = (int)local_res20[-2] + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = (longlong)local_res20; UNLOCK(); puVar16 = (uint *)(lVar2 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } *(undefined1 *)(param_1 + 0x11) = 1; if ((*(uint *)(local_res20 + -2) & 0x30000000) == 0) { LOCK(); plVar10 = local_res20 + -2; lVar2 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar2 == 0) { /* WARNING: Subroutine does not return */ free(local_res20 + -2); } } goto LAB_181224746; } } lVar2 = local_res18; puVar11 = (undefined8 *)FUN_1811316e0(0x20); uVar14 = *(undefined8 *)(param_1 + 8); *puVar11 = 0; puVar11[1] = 0; puVar11[2] = 0; local_res20 = puVar11 + 3; uVar12 = FUN_18122bf10(); FUN_18122c3d0(uVar12,puVar11 + 3,uVar14,lVar2); *(longlong *)(param_1 + 8) = lVar2; plVar10 = puVar11 + 2; while( true ) { FUN_181224ea0(param_1); iVar8 = FUN_180492f10(param_1 + 8); if (iVar8 == 0x2f) { iVar9 = FUN_180493050(param_1 + 8,1); if (iVar9 == 0x3e) { bVar3 = **(byte **)(param_1 + 8); pbVar15 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar15; if ((char)bVar3 < '\0') { bVar6 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar15 = pbVar15 + 1; *(byte **)(param_1 + 8) = pbVar15; bVar6 = bVar6 >> 1; bVar4 = bVar3 & bVar6; } } bVar3 = **(byte **)(param_1 + 8); *(byte **)(param_1 + 8) = *(byte **)(param_1 + 8) + 1; if (-1 < (char)bVar3) { return puVar11; } bVar6 = 0x40; bVar4 = bVar3 & 0x40; while( true ) { if (bVar4 == 0) { return puVar11; } if (bVar6 < 9) break; *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + 1; bVar6 = bVar6 >> 1; bVar4 = bVar3 & bVar6; } return puVar11; } } else if (iVar8 == 0x3e) { bVar3 = **(byte **)(param_1 + 8); pbVar15 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar15; if ((char)bVar3 < '\0') { bVar6 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar15 = pbVar15 + 1; *(byte **)(param_1 + 8) = pbVar15; bVar6 = bVar6 >> 1; bVar4 = bVar3 & bVar6; } } if (param_2 == '\0') { return puVar11; } FUN_1812237a0(param_1,puVar11); return puVar11; } cVar7 = FUN_181225e90(iVar8); if (cVar7 == '\0') { if (*(char *)(param_1 + 0x10) != '\0') { return puVar11; } plVar10 = (longlong *)FUN_181246550(local_60,"illegal character found in ",local_res20); local_res20 = plVar10; FUN_181232e20(plVar10,&DAT_1821db2f4,&DAT_1821db2f7); local_90 = *plVar10; if ((*(uint *)(local_90 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_90 + -0x10) = *(int *)(local_90 + -0x10) + 1; UNLOCK(); } puVar16 = (uint *)(*plVar10 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } plVar10 = (longlong *)FUN_181232a20(&local_88,&local_90,iVar8); local_98 = plVar10; FUN_181232e20(plVar10,&DAT_1821db2dc,&DAT_1821db2dd); local_98 = (longlong *)*plVar10; puVar16 = (uint *)(local_98 + -2); if ((*puVar16 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } puVar17 = (uint *)(*plVar10 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } FUN_181225cf0(param_1,&local_98,0); if ((*puVar16 & 0x30000000) != 0) { return puVar11; } LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 != 0) { return puVar11; } /* WARNING: Subroutine does not return */ free(puVar16); } FUN_181225d60(&local_80,*(undefined8 *)(param_1 + 8)); lVar5 = local_80; lVar2 = *(longlong *)(param_1 + 8); if (local_80 == lVar2) { return puVar11; } *(longlong *)(param_1 + 8) = local_80; FUN_181224ea0(param_1); iVar8 = FUN_181225af0(param_1); if (iVar8 != 0x3d) break; FUN_181224ea0(param_1); iVar8 = FUN_180492f10(param_1 + 8); if ((iVar8 != 0x22) && (iVar8 != 0x27)) { return puVar11; } plVar13 = (longlong *)FUN_1811316e0(0x18); *plVar13 = 0; local_98 = plVar13; local_88 = plVar13 + 1; uVar14 = FUN_18122bf10(); FUN_18122c3d0(uVar14,plVar13 + 1,lVar2,lVar5); plVar13[2] = (longlong)&DAT_1821dbf98; FUN_181224b70(param_1); *plVar10 = (longlong)plVar13; plVar10 = plVar13; } uVar14 = FUN_18124a8a0(&local_68,lVar2,lVar5); plVar10 = (longlong *)FUN_181246550(local_78,"expected \'=\' after attribute \'",uVar14); local_res20 = plVar10; FUN_181232e20(plVar10,&DAT_1821db2c4,&DAT_1821db2c5); local_70 = *plVar10; puVar16 = (uint *)(local_70 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } puVar17 = (uint *)(*plVar10 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if ((*puVar16 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_70; UNLOCK(); puVar17 = (uint *)(lVar2 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } *(undefined1 *)(param_1 + 0x11) = 1; if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(local_68 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } } else { LAB_181224746: puVar11 = (undefined8 *)0x0; } return puVar11; } ############ FUN_ 1812207e0 size=156 ############ undefined8 * FUN_1812207e0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; undefined8 uVar3; uint *_Memory; longlong local_res10 [3]; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x20); *puVar2 = 0; puVar2[1] = 0; puVar2[2] = 0; puVar2[3] = &DAT_1821dbf98; uVar3 = FUN_18122bf10(); FUN_18122c1b0(uVar3,local_res10,&DAT_1826739f0,param_4,uVar4); FUN_181246b70(puVar2,local_res10,param_1); _Memory = (uint *)(local_res10[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return puVar2; } ############ FUN_ 181225b40 size=421 ############ /* WARNING: Removing unreachable block (ram,0x000181225cbd) */ undefined8 * FUN_181225b40(longlong param_1,undefined8 *param_2,undefined8 param_3) { uint uVar1; longlong lVar2; undefined8 uVar3; undefined8 *puVar4; undefined8 uVar5; longlong *plVar6; uint *puVar7; longlong local_res8; longlong local_res20; longlong local_38; longlong local_30 [3]; undefined8 local_18; longlong *local_10; local_30[1] = 0xfffffffffffffffe; lVar2 = *(longlong *)(param_1 + 0x40); if (lVar2 != 0) { uVar3 = FUN_181248e40(param_3,local_30); puVar4 = (undefined8 *)FUN_181230ba0(uVar3,&local_38); uVar3 = *puVar4; local_30[2] = uVar3; uVar5 = FUN_181241230(lVar2 + 8,&local_res20); FUN_181245100(uVar5,&local_res8,uVar3); puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_18 = FUN_1811316e0(0x28); plVar6 = (longlong *)FUN_18123efe0(local_18,&local_res8); if (*(char *)plVar6[4] != '\0') { (**(code **)*plVar6)(plVar6,1); plVar6 = (longlong *)0x0; } puVar7 = (uint *)(local_res8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_38 + -0x10); local_10 = plVar6; if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_30[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (plVar6 != (longlong *)0x0) { (**(code **)(*plVar6 + 0x98))(plVar6,param_2); (**(code **)*plVar6)(plVar6,1); return param_2; } } *param_2 = &DAT_1821dbf98; return param_2; } ############ FUN_ 181246b70 size=342 ############ void FUN_181246b70(longlong param_1,longlong *param_2,longlong *param_3) { int iVar1; longlong lVar2; undefined8 *puVar3; undefined8 *puVar4; int *piVar5; puVar3 = *(undefined8 **)(param_1 + 0x10); if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_1811316e0(0x18); *puVar3 = 0; lVar2 = *param_2; puVar3[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar2 = *param_3; puVar3[2] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } *(undefined8 **)(param_1 + 0x10) = puVar3; return; } lVar2 = puVar3[1]; while (lVar2 != *param_2) { puVar4 = (undefined8 *)*puVar3; if (puVar4 == (undefined8 *)0x0) { puVar4 = (undefined8 *)FUN_1811316e0(0x18); *puVar4 = 0; lVar2 = *param_2; puVar4[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar2 = *param_3; puVar4[2] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } *puVar3 = puVar4; return; } puVar3 = puVar4; lVar2 = puVar4[1]; } if ((*(uint *)(*param_3 + -0x10) & 0x30000000) == 0) { LOCK(); piVar5 = (int *)(*param_3 + -0x10); *piVar5 = *piVar5 + 1; UNLOCK(); } LOCK(); lVar2 = puVar3[2]; puVar3[2] = *param_3; UNLOCK(); piVar5 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar5); } } return; } ############ FUN_ 18048c100 size=129 ############ undefined8 * FUN_18048c100(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined1 *param_4) { undefined8 uVar1; undefined8 *local_res8; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res8 = param_1; uVar1 = FUN_1811316e0(0x50); local_res8 = (undefined8 *)*param_2; *param_2 = &DAT_1821dbf98; uVar1 = FUN_18116c900(uVar1,&local_res8,param_3,*param_4,uVar2,uVar1); *param_1 = uVar1; return param_1; } ############ FUN_ 18048f570 size=83 ############ undefined8 * FUN_18048f570(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x48); *puVar1 = std:: _Func_impl_no_alloc<,juce::String,float,int>:: vftable; FUN_180487140(puVar1 + 1,param_1,param_3,param_4,uVar2); return puVar1; } ############ FUN_ 18048d490 size=466 ############ undefined8 FUN_18048d490(undefined8 param_1,undefined8 param_2,longlong *param_3,longlong *param_4, undefined8 *param_5) { longlong lVar1; undefined8 uVar2; undefined8 uVar3; int iVar4; int iVar5; undefined8 *puVar6; undefined **local_30; undefined8 local_28; undefined8 local_20; char local_18; undefined8 *local_10; puVar6 = (undefined8 *)FUN_1811316e0(0x20); *puVar6 = *param_5; lVar1 = *param_4; puVar6[1] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } lVar1 = *param_3; puVar6[2] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } puVar6[3] = param_2; iVar4 = _Cnd_init(&local_28); if (iVar4 != 0) { std::_Throw_C_error(iVar4); } iVar4 = _Mtx_init(&local_20,1); if (iVar4 != 0) { std::_Throw_C_error(iVar4); } local_18 = '\0'; iVar4 = _Mtx_lock(); if (iVar4 != 0) { std::_Throw_C_error(iVar4); } local_30 = std:: _LaunchPad,std::default_delete_>_>_> ::vftable; local_10 = puVar6; iVar5 = _Thrd_start(param_1,FUN_1804836d0,&local_30); iVar4 = 1; if (iVar5 != 4) { iVar4 = iVar5; } uVar2 = local_28; uVar3 = local_20; puVar6 = local_10; if (iVar4 != 0) { std::_Throw_C_error(iVar4); uVar2 = local_28; uVar3 = local_20; puVar6 = local_10; } while (local_10 = puVar6, local_18 == '\0') { local_28 = uVar2; local_20 = uVar3; iVar4 = _Cnd_wait(uVar2,uVar3); uVar2 = local_28; uVar3 = local_20; puVar6 = local_10; if (iVar4 != 0) { std::_Throw_C_error(iVar4); uVar2 = local_28; uVar3 = local_20; puVar6 = local_10; } } if (puVar6 != (undefined8 *)0x0) { FUN_18048dee0(puVar6); /* WARNING: Subroutine does not return */ free(puVar6); } iVar4 = _Mtx_unlock(uVar3); if (iVar4 != 0) { std::_Throw_C_error(iVar4); } _Mtx_destroy(uVar3); _Cnd_destroy(uVar2); return param_1; } ############ FUN_ 18048ec10 size=75 ############ undefined8 * FUN_18048ec10(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x18); *puVar1 = std:: _Func_impl_no_alloc<,float,juce::String_const&___ptr64> ::vftable; puVar1[1] = 0; puVar1[2] = 0; FUN_18048c4c0(puVar1 + 1,*param_1,*(undefined4 *)((longlong)param_1 + 0xc)); return puVar1; } ############ FUN_ 18048ec60 size=75 ############ undefined8 * FUN_18048ec60(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x18); *puVar1 = std::_Func_impl_no_alloc<,juce::String,float>:: vftable; puVar1[1] = 0; puVar1[2] = 0; FUN_18048c4c0(puVar1 + 1,*param_1,*(undefined4 *)((longlong)param_1 + 0xc)); return puVar1; } ############ FUN_ 18048ecb0 size=118 ############ undefined8 * FUN_18048ecb0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x48); *puVar2 = std:: _Func_impl_no_alloc<,juce::String,float,int>:: vftable; puVar2[8] = 0; puVar1 = *(undefined8 **)(param_1 + 0x38); if (puVar1 != (undefined8 *)0x0) { uVar3 = (**(code **)*puVar1)(puVar1,puVar2 + 1,param_3,param_4,uVar3); puVar2[8] = uVar3; } return puVar2; } ############ FUN_ 180490ab0 size=113 ############ undefined8 * FUN_180490ab0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x48); *puVar2 = std::_Func_impl_no_alloc::vftable; puVar2[8] = 0; puVar1 = *(undefined8 **)(param_1 + 0x38); if (puVar1 != (undefined8 *)0x0) { uVar3 = (**(code **)*puVar1)(puVar1,puVar2 + 1,param_3,param_4,uVar3); puVar2[8] = uVar3; } return puVar2; } ############ FUN_ 1811fc470 size=655 ############ /* WARNING: Removing unreachable block (ram,0x0001811fc624) */ void FUN_1811fc470(LPCRITICAL_SECTION param_1,undefined1 *param_2,char param_3) { uint uVar1; undefined8 uVar2; undefined1 *puVar3; char cVar4; int iVar5; void *_Memory; uint *puVar6; void *pvVar7; longlong lVar8; bool bVar9; undefined1 *local_a8; longlong local_a0; longlong local_98; undefined8 uStack_90; undefined8 local_88; undefined1 *local_80; undefined1 *local_78; undefined1 *local_70; undefined1 local_68; undefined4 local_64; undefined *local_60; undefined8 local_58; LPCRITICAL_SECTION local_50; void *local_48; local_58 = 0xfffffffffffffffe; local_a8 = param_2; local_50 = param_1; EnterCriticalSection(param_1); lVar8._0_4_ = param_1[2].LockCount; lVar8._4_4_ = param_1[2].RecursionCount; if (lVar8 == 0) { local_98 = 0; } else { local_a8 = (undefined1 *)FUN_1811316e0(0x50); uVar2._0_4_ = param_1[2].LockCount; uVar2._4_4_ = param_1[2].RecursionCount; local_98 = FUN_180526910(local_a8,uVar2); LOCK(); *(int *)(local_98 + 8) = *(int *)(local_98 + 8) + 1; UNLOCK(); } uStack_90 = 0; _Memory = (void *)0x0; local_88 = 0; pvVar7 = _Memory; if (param_3 != '\0') { while( true ) { iVar5 = 0; if (*(longlong *)¶m_1[2].LockCount != 0) { iVar5 = *(int *)(*(longlong *)¶m_1[2].LockCount + 0x24); } if (iVar5 <= (int)pvVar7) break; FUN_181352050(¶m_1[2].LockCount,&local_a0,pvVar7); iVar5 = FUN_180488a80(¶m_1[4].LockSemaphore,&local_a0); lVar8 = local_98; if (((iVar5 < 0) && (local_98 != 0)) && (cVar4 = FUN_181243b40(local_98 + 0x18,&local_a0), cVar4 != '\0')) { FUN_180526c70(lVar8,&local_a0,0); } puVar6 = (uint *)(local_a0 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } pvVar7 = (void *)(ulonglong)((int)pvVar7 + 1); } } local_80 = &DAT_1821dbf98; local_78 = &DAT_1821dbf98; local_70 = &DAT_1821dbf98; local_68 = 1; local_64 = 0x3c; local_60 = &DAT_1821db4e4; if (local_98 != 0) { _Memory = (void *)FUN_1805273a0(); } local_48 = _Memory; if (_Memory == (void *)0x0) { local_a8 = &DAT_1821dbf98; } else { FUN_181220ef0(_Memory,&local_a8,&local_80); if (_Memory != (void *)0x0) { FUN_1812472e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } } puVar3 = local_a8; lVar8 = -1; do { lVar8 = lVar8 + 1; } while (local_a8[lVar8] != '\0'); FUN_181247930(param_2,local_a8); puVar6 = (uint *)(puVar3 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 180526910 size=277 ############ undefined8 * FUN_180526910(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; int iVar2; undefined8 uVar3; undefined8 uVar4; longlong lVar5; int iVar6; undefined8 *puVar7; param_1[1] = 0; *(undefined4 *)(param_1 + 1) = 0; *param_1 = juce::ValueTree::SharedObject::vftable; lVar5 = *(longlong *)(param_2 + 0x10); param_1[2] = lVar5; if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } FUN_18049b090(param_1 + 3,param_2 + 0x18,param_3,param_4,0xfffffffffffffffe); param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; puVar7 = *(undefined8 **)(param_2 + 0x28); puVar1 = puVar7 + *(int *)(param_2 + 0x34); for (; puVar7 != puVar1; puVar7 = puVar7 + 1) { uVar3 = *puVar7; uVar4 = FUN_1811316e0(0x50); lVar5 = FUN_180526910(uVar4,uVar3); *(undefined8 **)(lVar5 + 0x48) = param_1; iVar2 = *(int *)((longlong)param_1 + 0x34); iVar6 = iVar2 + 1; if (*(int *)(param_1 + 6) < iVar6) { if (iVar6 < 0) { iVar6 = iVar2 + 2; } FUN_18047cb30(param_1 + 5,iVar2 + 9 + (iVar6 >> 1) & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0x34); *(int *)((longlong)param_1 + 0x34) = iVar6 + 1; *(longlong *)(param_1[5] + (longlong)iVar6 * 8) = lVar5; LOCK(); *(int *)(lVar5 + 8) = *(int *)(lVar5 + 8) + 1; UNLOCK(); } return param_1; } ############ FUN_ 1805273a0 size=166 ############ undefined8 * FUN_1805273a0(longlong param_1) { int iVar1; undefined8 *puVar2; undefined8 *puVar3; longlong lVar4; puVar2 = (undefined8 *)FUN_1811316e0(0x20); *puVar2 = 0; puVar2[1] = 0; puVar2[2] = 0; lVar4 = *(longlong *)(param_1 + 0x10); puVar2[3] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } FUN_181243430(param_1 + 0x18,puVar2); iVar1 = *(int *)(param_1 + 0x34) + -1; lVar4 = (longlong)iVar1; if (-1 < iVar1) { do { puVar3 = (undefined8 *) FUN_1805273a0(*(undefined8 *)(*(longlong *)(param_1 + 0x28) + lVar4 * 8)); if (puVar3 != (undefined8 *)0x0) { *puVar3 = puVar2[1]; puVar2[1] = puVar3; } lVar4 = lVar4 + -1; } while (-1 < lVar4); } return puVar2; } ############ FUN_ 180493bc0 size=64 ############ void FUN_180493bc0(longlong param_1) { undefined1 uVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x20); uVar1 = *(undefined1 *)(param_1 + 0x18); puVar2[2] = *(undefined8 *)(param_1 + 0x10); *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::Expression::Helpers::Constant::vftable; *(undefined1 *)(puVar2 + 3) = uVar1; return; } ############ FUN_ 180493c20 size=89 ############ undefined8 * FUN_180493c20(longlong param_1,undefined8 *param_2) { undefined1 uVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x20); uVar1 = *(undefined1 *)(param_1 + 0x18); puVar2[2] = CONCAT44((uint)((ulonglong)*(undefined8 *)(param_1 + 0x10) >> 0x20) ^ DAT_1824c4f20._4_4_, (uint)*(undefined8 *)(param_1 + 0x10) ^ (uint)DAT_1824c4f20); *puVar2 = juce::Expression::Helpers::Constant::vftable; *(undefined1 *)(puVar2 + 3) = uVar1; *param_2 = puVar2; *(undefined4 *)(puVar2 + 1) = 1; return param_2; } ############ FUN_ 180493e40 size=300 ############ undefined8 * FUN_180493e40(longlong *param_1,undefined8 *param_2,undefined8 param_3,ulonglong param_4) { int *piVar1; longlong *plVar2; longlong *plVar3; longlong lVar4; undefined8 uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined4 uVar8; undefined4 uVar9; undefined8 *local_res10; undefined8 *local_40; undefined8 local_38; undefined8 *local_30; local_38 = 0xfffffffffffffffe; local_res10 = param_2; puVar6 = (undefined8 *)FUN_1811316e0(0x20,param_2,param_3,param_4,0); local_30 = puVar6; puVar7 = (undefined8 *) (**(code **)(*(longlong *)param_1[3] + 0x18)) ((longlong *)param_1[3],&local_40,param_3,param_4 & 0xffffffff); plVar2 = (longlong *)*puVar7; puVar7 = (undefined8 *) (**(code **)(*(longlong *)param_1[2] + 0x18)) ((longlong *)param_1[2],&local_res10,param_3,param_4 & 0xffffffff,1); plVar3 = (longlong *)*puVar7; lVar4 = *param_1; uVar8 = (**(code **)(*plVar2 + 0x28))(plVar2); uVar9 = (**(code **)(*plVar3 + 0x28))(plVar3); uVar5 = (**(code **)(lVar4 + 0x78))(param_1,uVar9,uVar8); *puVar6 = juce::Expression::Helpers::Constant::vftable; puVar6[2] = uVar5; *(undefined1 *)(puVar6 + 3) = 0; *param_2 = puVar6; *(undefined4 *)(puVar6 + 1) = 1; if (local_res10 != (undefined8 *)0x0) { piVar1 = (int *)(local_res10 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_res10)(local_res10,1); } } if (local_40 != (undefined8 *)0x0) { piVar1 = (int *)(local_40 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_40)(local_40,1); } } return param_2; } ############ FUN_ 1804941a0 size=201 ############ undefined8 * FUN_1804941a0(longlong param_1,undefined8 *param_2,undefined8 param_3,longlong param_4, undefined8 param_5,undefined8 param_6) { longlong *plVar1; undefined8 *puVar2; if ((param_4 != *(longlong *)(param_1 + 0x10)) && (param_4 != *(longlong *)(param_1 + 0x18))) { *param_2 = 0; return param_2; } plVar1 = (longlong *)FUN_180494bc0(param_6,param_1); if (plVar1 == (longlong *)0x0) { puVar2 = (undefined8 *)FUN_1811316e0(0x20); puVar2[2] = param_5; *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::Expression::Helpers::Constant::vftable; *(undefined1 *)(puVar2 + 3) = 0; *param_2 = puVar2; *(int *)(puVar2 + 1) = *(int *)(puVar2 + 1) + 1; } else { (**(code **)(*plVar1 + 0x58))(plVar1,param_2,param_3,param_1,param_5,param_6); } return param_2; } ############ FUN_ 180494290 size=111 ############ undefined8 * FUN_180494290(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x18); puVar3 = (undefined8 *)(**(code **)(**(longlong **)(param_1 + 0x10) + 0x10))(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::Expression::Helpers::Negate::vftable; puVar2[2] = puVar3; iVar1 = *(int *)(puVar3 + 1); *(int *)(puVar3 + 1) = iVar1; if (iVar1 == 0) { (**(code **)*puVar3)(puVar3,1,(undefined8 *)*puVar3,param_4,uVar4); } return puVar2; } ############ FUN_ 180494300 size=199 ############ undefined8 * FUN_180494300(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined4 param_4) { int *piVar1; undefined8 *puVar2; undefined8 *puVar3; uint uVar4; uint uVar5; undefined8 *local_res10; undefined4 uVar6; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; uVar6 = 0; local_res10 = param_2; puVar2 = (undefined8 *)FUN_1811316e0(0x20); puVar3 = (undefined8 *) (**(code **)(**(longlong **)(param_1 + 0x10) + 0x18)) (*(longlong **)(param_1 + 0x10),&local_res10,param_3,param_4,uVar6,uVar7,puVar2 ); uVar7 = (**(code **)(*(longlong *)*puVar3 + 0x28))(); uVar4 = (uint)uVar7 ^ (uint)DAT_1824c4f20; uVar5 = (uint)((ulonglong)uVar7 >> 0x20) ^ DAT_1824c4f20._4_4_; *puVar2 = juce::Expression::Helpers::Constant::vftable; puVar2[2] = CONCAT44(uVar5,uVar4); *(undefined1 *)(puVar2 + 3) = 0; *param_2 = puVar2; *(undefined4 *)(puVar2 + 1) = 1; if (local_res10 != (undefined8 *)0x0) { piVar1 = (int *)(local_res10 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_res10)(local_res10,1); } } return param_2; } ############ FUN_ 180494420 size=353 ############ undefined8 * FUN_180494420(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6) { int *piVar1; undefined8 *puVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 **ppuVar6; bool bVar7; undefined8 *local_res10; undefined4 uVar8; undefined8 *local_30; undefined8 local_28; local_28 = 0xfffffffffffffffe; uVar8 = 0; local_res10 = param_2; plVar4 = (longlong *)FUN_180494bc0(param_6,param_1); puVar5 = (undefined8 *)FUN_1811316e0(0x18); bVar7 = plVar4 != (longlong *)0x0; local_res10 = puVar5; if (bVar7) { ppuVar6 = (undefined8 **) (**(code **)(*plVar4 + 0x58))(plVar4,&local_30,param_3,param_1,param_5,param_6,uVar8); } else { local_res10 = (undefined8 *)FUN_1811316e0(0x20); *local_res10 = juce::Expression::Helpers::Constant::vftable; local_res10[2] = param_5; *(undefined1 *)(local_res10 + 3) = 0; *(undefined4 *)(local_res10 + 1) = 1; ppuVar6 = &local_res10; } puVar3 = local_res10; *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::Expression::Helpers::Negate::vftable; puVar2 = *ppuVar6; puVar5[2] = puVar2; if (puVar2 != (undefined8 *)0x0) { *(int *)(puVar2 + 1) = *(int *)(puVar2 + 1) + 1; } *param_2 = puVar5; *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; if (bVar7) { if (local_30 != (undefined8 *)0x0) { piVar1 = (int *)(local_30 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_30)(local_30,1); } } } if ((!bVar7) && (puVar3 != (undefined8 *)0x0)) { piVar1 = (int *)(puVar3 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar3)(puVar3,1); } } return param_2; } ############ FUN_ 180494750 size=120 ############ void FUN_180494750(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 uVar2; longlong local_res10; longlong local_res18; undefined8 local_res20; undefined8 uVar3; longlong *plVar4; uVar3 = 0xfffffffffffffffe; uVar2 = FUN_1811316e0(0x20); plVar4 = &local_res10; plVar1 = *(longlong **)(param_1 + 0x10); local_res20 = uVar2; local_res10 = (**(code **)(**(longlong **)(param_1 + 0x18) + 0x10))(); *(int *)(local_res10 + 8) = *(int *)(local_res10 + 8) + 1; local_res18 = (**(code **)(*plVar1 + 0x10))(plVar1); *(int *)(local_res18 + 8) = *(int *)(local_res18 + 8) + 1; FUN_1804946b0(uVar2,&local_res18,&local_res10,param_4,uVar3,plVar4); return; } ############ FUN_ 180494840 size=233 ############ longlong * FUN_180494840(longlong param_1,longlong *param_2,undefined8 param_3,longlong param_4, undefined8 param_5,undefined8 param_6) { int *piVar1; undefined8 uVar2; longlong lVar3; longlong *plVar4; undefined8 *local_38; longlong local_30; undefined8 *local_28; undefined8 local_20; undefined8 local_18; local_20 = 0xfffffffffffffffe; FUN_1804941a0(param_5,&local_38,param_3,param_4,param_5,param_6); if (local_38 == (undefined8 *)0x0) { *param_2 = 0; } else { uVar2 = FUN_1811316e0(0x20); plVar4 = (longlong *)(param_1 + 0x10); if (param_4 == *plVar4) { plVar4 = (longlong *)(param_1 + 0x18); } local_18 = uVar2; local_30 = (**(code **)(*(longlong *)*plVar4 + 0x10))(); *(int *)(local_30 + 8) = *(int *)(local_30 + 8) + 1; local_28 = local_38; if (local_38 != (undefined8 *)0x0) { *(int *)(local_38 + 1) = *(int *)(local_38 + 1) + 1; } lVar3 = FUN_180494930(uVar2,&local_28,&local_30); *param_2 = lVar3; *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; if (local_38 != (undefined8 *)0x0) { piVar1 = (int *)(local_38 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_38)(local_38,1); } } } return param_2; } ############ FUN_ 1804949d0 size=120 ############ void FUN_1804949d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 uVar2; longlong local_res10; longlong local_res18; undefined8 local_res20; undefined8 uVar3; longlong *plVar4; uVar3 = 0xfffffffffffffffe; uVar2 = FUN_1811316e0(0x20); plVar4 = &local_res10; plVar1 = *(longlong **)(param_1 + 0x10); local_res20 = uVar2; local_res10 = (**(code **)(**(longlong **)(param_1 + 0x18) + 0x10))(); *(int *)(local_res10 + 8) = *(int *)(local_res10 + 8) + 1; local_res18 = (**(code **)(*plVar1 + 0x10))(plVar1); *(int *)(local_res18 + 8) = *(int *)(local_res18 + 8) + 1; FUN_180494930(uVar2,&local_res18,&local_res10,param_4,uVar3,plVar4); return; } ############ FUN_ 180494a80 size=310 ############ longlong * FUN_180494a80(longlong param_1,longlong *param_2,undefined8 param_3,longlong param_4, undefined8 param_5,undefined8 param_6) { int *piVar1; longlong *plVar2; undefined8 uVar3; longlong lVar4; undefined8 *local_38; longlong local_30; undefined8 *local_28; undefined8 local_20; undefined8 local_18; undefined8 **local_10; local_20 = 0xfffffffffffffffe; FUN_1804941a0(param_5,&local_38,param_3,param_4,param_5,param_6); if (local_38 == (undefined8 *)0x0) { *param_2 = 0; } else { if (param_4 == *(longlong *)(param_1 + 0x10)) { uVar3 = FUN_1811316e0(0x20); local_18 = uVar3; local_30 = (**(code **)(**(longlong **)(param_1 + 0x18) + 0x10))(); *(int *)(local_30 + 8) = *(int *)(local_30 + 8) + 1; local_28 = local_38; *(int *)(local_38 + 1) = *(int *)(local_38 + 1) + 1; lVar4 = FUN_1804946b0(uVar3,&local_28,&local_30); } else { uVar3 = FUN_1811316e0(0x20); local_10 = &local_28; plVar2 = *(longlong **)(param_1 + 0x10); local_28 = local_38; *(int *)(local_38 + 1) = *(int *)(local_38 + 1) + 1; local_18 = uVar3; local_30 = (**(code **)(*plVar2 + 0x10))(); *(int *)(local_30 + 8) = *(int *)(local_30 + 8) + 1; lVar4 = FUN_180494930(uVar3,&local_30,&local_28); } *param_2 = lVar4; *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; if (local_38 != (undefined8 *)0x0) { piVar1 = (int *)(local_38 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_38)(local_38,1); return param_2; } } } return param_2; } ############ FUN_ 180496520 size=422 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180496520(undefined8 param_1,undefined8 *param_2,longlong param_3) { longlong lVar1; undefined8 *puVar2; int iVar3; undefined8 *puVar4; uint uVar5; longlong *plVar6; longlong *plVar7; undefined8 *puVar8; undefined1 auStack_98 [32]; undefined4 local_78; longlong local_68; int local_60; uint local_5c; undefined8 *local_58; undefined8 local_50; undefined **local_48; undefined8 local_40; ulonglong local_38; local_50 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; plVar6 = (longlong *)0x0; local_68 = 0; local_60 = 0; local_5c = 0; local_78 = 0; local_58 = param_2; lVar1 = __RTDynamicCast(*(undefined8 *)(param_3 + 8),0, &juce::ReferenceCountedObject::RTTI_Type_Descriptor, &juce::var::VariantType_Array::RefCountedArray::RTTI_Type_Descriptor); plVar7 = (longlong *)(lVar1 + 0x10); if (lVar1 == 0) { plVar7 = plVar6; } if (plVar7 != (longlong *)0x0) { iVar3 = *(int *)((longlong)plVar7 + 0xc); if (0 < iVar3) { FUN_180489a50(&local_68,iVar3 + 8 + iVar3 / 2 & 0xfffffff8); plVar6 = (longlong *)(ulonglong)local_5c; } puVar2 = (undefined8 *)*plVar7; puVar8 = puVar2 + (longlong)*(int *)((longlong)plVar7 + 0xc) * 2; for (; puVar2 != puVar8; puVar2 = puVar2 + 2) { (**(code **)(*(longlong *)*puVar2 + 0x48))((longlong *)*puVar2,&local_48,puVar2); uVar5 = (uint)plVar6; iVar3 = uVar5 + 1; if (local_60 < iVar3) { if (iVar3 < 0) { iVar3 = uVar5 + 2; } FUN_180489a50(&local_68,uVar5 + 9 + (iVar3 >> 1) & 0xfffffff8); uVar5 = local_5c; } local_5c = uVar5 + 1; plVar6 = (longlong *)(ulonglong)local_5c; puVar4 = (undefined8 *)((longlong)(int)uVar5 * 0x10 + local_68); *puVar4 = local_48; puVar4[1] = local_40; local_48 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_40); } } *param_2 = &PTR_vftable_18262b4c8; puVar2 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::var::VariantType_Array::RefCountedArray::vftable; local_58 = puVar2; FUN_18049b170(puVar2 + 2,&local_68); LOCK(); *(int *)(puVar2 + 1) = *(int *)(puVar2 + 1) + 1; UNLOCK(); param_2[1] = puVar2; FUN_180487600(&local_68); } ############ FUN_ 1804969f0 size=67 ############ void FUN_1804969f0(undefined8 param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x10); uVar1 = FUN_18123aa50(uVar1,*param_3); *param_2 = uVar1; return; } ############ FUN_ 180496b60 size=67 ############ void FUN_180496b60(undefined8 param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x40); uVar1 = FUN_18049b230(uVar1,*param_3); *param_2 = uVar1; return; } ############ FUN_ 180497890 size=761 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180497890(longlong param_1,undefined8 *param_2) { undefined8 *puVar1; uint uVar2; byte bVar3; byte bVar4; char *pcVar5; char cVar6; int iVar7; byte *pbVar8; undefined8 uVar9; undefined8 uVar10; undefined8 uVar11; undefined8 uVar12; byte bVar13; uint *puVar14; undefined1 auStack_c8 [32]; undefined8 *local_a8; undefined4 local_a0; char *local_98; undefined1 local_90 [8]; longlong local_88; undefined1 local_80 [8]; undefined1 local_78 [8]; undefined1 local_70 [8]; undefined8 local_68; undefined8 *local_60; longlong *local_58; undefined1 local_50 [8]; ulonglong local_48; local_68 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_c8; local_a0 = 0; local_60 = param_2; local_a8 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(local_a8 + 1) = 0; *local_a8 = juce::DynamicObject::vftable; puVar1 = local_a8 + 2; *puVar1 = 0; local_a8[3] = 0; *param_2 = &PTR_vftable_18262b4d0; param_2[1] = local_a8; LOCK(); *(int *)(local_a8 + 1) = *(int *)(local_a8 + 1) + 1; UNLOCK(); local_a0 = 1; uVar12 = *(undefined8 *)(param_1 + 8); while( true ) { pbVar8 = *(byte **)(param_1 + 8); while ((bVar3 = *pbVar8, bVar3 == 0x20 || ((byte)(bVar3 - 9) < 5))) { pbVar8 = pbVar8 + 1; if ((char)bVar3 < '\0') { bVar13 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; bVar13 = bVar13 >> 1; bVar4 = bVar3 & bVar13; } } } *(byte **)(param_1 + 8) = pbVar8; iVar7 = FUN_180483820(param_1 + 8); if (iVar7 == 0x7d) { } if (iVar7 == 0) { uVar11 = FUN_18124a880(&local_a8,"Unexpected EOF in object declaration"); /* WARNING: Subroutine does not return */ FUN_180496e50(param_1,uVar11,uVar12); } if (iVar7 != 0x22) { uVar12 = FUN_18124a880(local_90,"Expected a property name in double-quotes"); /* WARNING: Subroutine does not return */ FUN_180496e50(param_1,uVar12,pbVar8); } uVar11 = *(undefined8 *)(param_1 + 8); uVar9 = FUN_1804970d0(param_1,&local_88,0x22); uVar10 = FUN_18122bf10(); FUN_18122c1b0(uVar10,&local_98,uVar9); pcVar5 = local_98; puVar14 = (uint *)(local_88 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if (*local_98 == '\0') { uVar12 = FUN_18124a880(local_70,"Invalid property name"); /* WARNING: Subroutine does not return */ FUN_180496e50(param_1,uVar12,uVar11); } pbVar8 = *(byte **)(param_1 + 8); while ((bVar3 = *pbVar8, bVar3 == 0x20 || ((byte)(bVar3 - 9) < 5))) { pbVar8 = pbVar8 + 1; if ((char)bVar3 < '\0') { bVar13 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; bVar13 = bVar13 >> 1; bVar4 = bVar3 & bVar13; } } } *(byte **)(param_1 + 8) = pbVar8; iVar7 = FUN_180483820(param_1 + 8); if (iVar7 != 0x3a) { uVar12 = FUN_18124a880(local_78,"Expected \':\'"); /* WARNING: Subroutine does not return */ FUN_180496e50(param_1,uVar12,pbVar8); } uVar11 = FUN_1804973f0(param_1,&local_58); FUN_181243e80(puVar1,&local_98,uVar11); (**(code **)(*local_58 + 0xb0))(local_58,local_50); FUN_180496f90(param_1); cVar6 = FUN_180496fe0(param_1,0x2c); if (cVar6 == '\0') break; puVar14 = (uint *)(pcVar5 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } } cVar6 = FUN_180496fe0(param_1,0x7d); if (cVar6 == '\0') { uVar12 = FUN_18124a880(local_80,"Expected \',\' or \'}\'"); /* WARNING: Subroutine does not return */ FUN_180496e50(param_1,uVar12,*(undefined8 *)(param_1 + 8)); } puVar14 = (uint *)(pcVar5 + -0x10); if ((*puVar14 & 0x30000000) != 0) { } LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 != 0) { } /* WARNING: Subroutine does not return */ free(puVar14); } ############ FUN_ 1812464d0 size=118 ############ undefined8 * FUN_1812464d0(undefined8 *param_1,undefined8 *param_2) { undefined8 *puVar1; *param_1 = &PTR_vftable_18262b4c8; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::var::VariantType_Array::RefCountedArray::vftable; puVar1[2] = *param_2; *param_2 = 0; *(undefined4 *)(puVar1 + 3) = *(undefined4 *)(param_2 + 1); *(undefined4 *)((longlong)puVar1 + 0x1c) = *(undefined4 *)((longlong)param_2 + 0xc); param_2[1] = 0; LOCK(); *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; UNLOCK(); param_1[1] = puVar1; return param_1; } ############ FUN_ 18049a870 size=180 ############ ulonglong * FUN_18049a870(ulonglong *param_1) { ulonglong uVar1; DWORD DVar2; ulonglong *puVar3; ulonglong uVar4; DVar2 = GetCurrentThreadId(); uVar1 = (ulonglong)DVar2; for (puVar3 = (ulonglong *)*param_1; puVar3 != (ulonglong *)0x0; puVar3 = (ulonglong *)puVar3[1]) { if (*puVar3 == uVar1) { return puVar3 + 2; } } puVar3 = (ulonglong *)*param_1; do { if (puVar3 == (ulonglong *)0x0) { LAB_18049a8cd: puVar3 = (ulonglong *)FUN_1811316e0(0x18); uVar4 = *param_1; *puVar3 = uVar1; puVar3[2] = 0; while( true ) { puVar3[1] = uVar4; LOCK(); uVar1 = *param_1; if (uVar4 == uVar1) { *param_1 = (ulonglong)puVar3; } UNLOCK(); if (uVar4 == uVar1) break; uVar4 = *param_1; } LAB_18049a915: return puVar3 + 2; } LOCK(); uVar4 = *puVar3; if (uVar4 == 0) { *puVar3 = uVar1; } UNLOCK(); if (uVar4 == 0) { if (puVar3 != (ulonglong *)0x0) { puVar3[2] = 0; goto LAB_18049a915; } goto LAB_18049a8cd; } puVar3 = (ulonglong *)puVar3[1]; } while( true ); } ############ FUN_ 18049f430 size=408 ############ longlong * FUN_18049f430(longlong *param_1,undefined4 param_2) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; longlong *plVar5; longlong *plVar6; undefined8 *local_res8 [2]; int local_res18; int iStackX_1c; undefined **local_res20; undefined8 *local_60; undefined8 local_58; int local_50; int local_4c; undefined4 local_48; undefined4 local_44; local_58 = 0xfffffffffffffffe; local_res8[0] = (undefined8 *)FUN_1811316e0(0x78); plVar5 = (longlong *)FUN_18049f9a0(local_res8[0],param_1); param_1 = (longlong *)*param_1; if (param_1 != (longlong *)0x0) { (**(code **)(*param_1 + 0x58))(param_1,&local_50); local_res20 = juce::NativeImageType::vftable; (*(code *)PTR_FUN_1824988f0)(&local_res20,local_res8,2,local_48,local_44,1); puVar3 = (undefined8 *)plVar5[0xd]; plVar5[0xd] = (longlong)local_res8[0]; local_res8[0] = puVar3; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *(undefined4 *)((longlong)plVar5 + 100) = param_2; if ((char)plVar5[5] == '\0') { *(int *)(plVar5 + 1) = (int)plVar5[1]; *(undefined4 *)((longlong)plVar5 + 0xc) = *(undefined4 *)((longlong)plVar5 + 0xc); *(float *)(plVar5 + 2) = (float)-local_50 + *(float *)(plVar5 + 2); *(undefined4 *)((longlong)plVar5 + 0x14) = *(undefined4 *)((longlong)plVar5 + 0x14); plVar5[3] = CONCAT44((float)-local_4c + *(float *)((longlong)plVar5 + 0x1c),(int)plVar5[3]); } else { *(int *)(plVar5 + 4) = (int)plVar5[4] + -local_50; *(int *)((longlong)plVar5 + 0x24) = *(int *)((longlong)plVar5 + 0x24) + -local_4c; } plVar6 = (longlong *)*plVar5; if (1 < (int)plVar6[1]) { plVar6 = (longlong *)(**(code **)(*plVar6 + 8))(plVar6,&local_60); lVar4 = *plVar5; *plVar5 = *plVar6; *plVar6 = lVar4; if (local_60 != (undefined8 *)0x0) { piVar1 = (int *)(local_60 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_60)(local_60,1); } } } local_res18 = -local_50; iStackX_1c = -local_4c; (**(code **)(*(longlong *)*plVar5 + 0x48))((longlong *)*plVar5,CONCAT44(iStackX_1c,local_res18)) ; } return plVar5; } ############ FUN_ 1804b0230 size=97 ############ undefined8 * FUN_1804b0230(undefined8 *param_1) { undefined8 *puVar1; if (param_1 != (undefined8 *)0x0) { puVar1 = (undefined8 *)FUN_1811316e0(0x28); *puVar1 = *param_1; puVar1[1] = param_1[1]; *(undefined1 *)(puVar1 + 2) = *(undefined1 *)(param_1 + 2); FUN_1804aaeb0(puVar1 + 3,param_1 + 3); return puVar1; } return (undefined8 *)0x0; } ############ FUN_ 18049f5d0 size=891 ############ void FUN_18049f5d0(longlong *param_1,undefined4 param_2,float *param_3) { int *piVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; int iVar9; float fVar10; undefined8 uVar11; longlong *plVar12; undefined8 *puVar13; undefined8 *puVar14; double dVar15; float fVar16; undefined8 *local_res8; undefined8 *local_b8; undefined8 local_b0; undefined8 *local_a8; float local_a0; float local_9c; float local_98; float local_94; float local_90; float local_8c; undefined1 local_88 [112]; fVar10 = DAT_1824c3ea4; local_b0 = 0xfffffffffffffffe; if (*param_1 != 0) { fVar2 = param_3[1]; if ((((fVar2 == 0.0) && (param_3[3] == 0.0)) && (*param_3 == DAT_1824c3ea4)) && ((param_3[4] == DAT_1824c3ea4 && (*(char *)((longlong)param_1 + 0x29) == '\0')))) { uVar11 = FUN_1804a8480(); fVar2 = param_3[5]; fVar16 = param_3[2]; if ((char)param_1[5] == '\0') { fVar3 = *(float *)((longlong)param_1 + 0x14); fVar4 = *(float *)(param_1 + 3); fVar5 = *(float *)((longlong)param_1 + 0x1c); fVar6 = *(float *)((longlong)param_1 + 0xc); fVar7 = *(float *)(param_1 + 1); fVar8 = *(float *)(param_1 + 2); local_res8 = (undefined8 *)param_1[0xe]; if (local_res8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_res8,*(float *)(param_1[0xe] + 0x28) * *(float *)(param_1 + 3)); dVar15 = (double)(*(float *)(param_1 + 1) / *(float *)(param_1 + 3) - fVar10); if (DAT_1824c3c70 < (float)(double)CONCAT44((uint)((ulonglong)dVar15 >> 0x20) & DAT_1824c4f10._4_4_, SUB84(dVar15,0) & (uint)DAT_1824c4f10)) { FUN_181251de0(&local_res8); } FUN_1804a8250(uVar11,param_1,&local_res8,param_2, CONCAT44(fVar16 * fVar3 + fVar2 * fVar4 + fVar5, fVar2 * fVar6 + fVar16 * fVar7 + fVar8)); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_res8)(local_res8,1); } } } else { FUN_1804a8250(uVar11,param_1,param_1 + 0xe,param_2, CONCAT44((float)*(int *)((longlong)param_1 + 0x24) + fVar2, (float)(int)param_1[4] + fVar16)); } } else { fVar10 = *(float *)(param_1[0xe] + 0x28); fVar16 = *(float *)(param_1[0xe] + 0x2c) * fVar10; local_94 = param_3[4] * 0.0; local_90 = param_3[3] * 0.0; local_8c = local_90 + local_94 + param_3[5]; local_90 = param_3[4] * fVar10 + local_90; local_94 = param_3[3] * fVar16 + local_94; local_9c = *param_3 * 0.0; local_98 = local_9c + fVar2 * 0.0 + param_3[2]; local_9c = fVar2 * fVar10 + local_9c; local_a0 = *param_3 * fVar16 + fVar2 * 0.0; FUN_18049eab0(param_1 + 1,local_88,&local_a0); plVar12 = (longlong *)FUN_181252280(param_1 + 0xe); puVar13 = (undefined8 *)(**(code **)(*plVar12 + 0x40))(plVar12,param_2,local_88,fVar10); if (puVar13 != (undefined8 *)0x0) { local_a8 = puVar13; puVar14 = (undefined8 *)FUN_1811316e0(0x38); *(undefined4 *)(puVar14 + 1) = 0; *puVar14 = juce::RenderingHelpers:: ClipRegions::EdgeTableRegion ::vftable; local_res8 = puVar14; FUN_18129f450(puVar14 + 2,puVar13); *(int *)(puVar14 + 1) = *(int *)(puVar14 + 1) + 1; local_b8 = puVar14; FUN_1804a9960(param_1,&local_b8); /* WARNING: Subroutine does not return */ free((void *)*puVar13); } } } return; } ############ FUN_ 1804a8250 size=408 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804a8250(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { int *piVar1; int iVar2; undefined8 uVar3; undefined8 *puVar4; undefined8 *puVar5; longlong lVar6; undefined4 extraout_XMM0_Db; float fVar7; undefined4 uVar8; undefined8 *local_48; undefined8 *local_40; double local_38; undefined8 local_30; undefined1 local_28 [32]; local_30 = 0xfffffffffffffffe; FUN_1804ac600(param_1,&local_48); puVar4 = local_48; if (local_48 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(param_1 + 0x18); iVar2 = *piVar1; *piVar1 = *piVar1 + 1; UNLOCK(); *(int *)((longlong)local_48 + 0x24) = iVar2 + 1; uVar8 = 0; if (*(char *)(local_48 + 5) != '\0') { param_5._0_4_ = floorf((float)param_5 + DAT_1824c3d8c); uVar8 = extraout_XMM0_Db; } if (puVar4[3] != 0) { local_38 = (double)param_5._4_4_ + DAT_1824c4520; uVar3 = puVar4[3]; if (*param_2 != 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x38); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::RenderingHelpers:: ClipRegions::EdgeTableRegion:: vftable; local_40 = puVar5; FUN_18129f450(puVar5 + 2,uVar3); FUN_18129eee0(puVar5 + 2,CONCAT44(uVar8,(float)param_5),(ulonglong)local_38 & 0xffffffff); if ((param_2[7] == 0) && (param_2[8] == 0)) { lVar6 = FUN_18049fa40(local_28,(int)param_2[6]); fVar7 = *(float *)(lVar6 + 8) - DAT_1824c3d8c; if (0.0 < fVar7) { FUN_18129ee60(puVar5 + 2,fVar7 * _DAT_1824c3fb4 + DAT_1824c3ea4); } } *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; local_40 = puVar5; FUN_1804a9960(param_2,&local_40); } } } if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_48)(local_48,1); } } return; } ############ FUN_ 1804ad350 size=1109 ############ void FUN_1804ad350(undefined8 *param_1,longlong *param_2,undefined8 param_3,longlong *param_4) { undefined1 uVar1; longlong lVar2; int iVar3; undefined1 auVar4 [16]; undefined1 auVar5 [16]; longlong *plVar6; undefined8 *puVar7; int iVar8; int iVar9; int iVar10; int iVar11; int iVar12; int iVar13; uint uVar14; uint uVar15; longlong *local_res8; undefined8 in_stack_ffffffffffffff48; undefined4 uVar17; undefined8 uVar16; undefined1 local_98 [16]; longlong *local_88; float local_80; float local_7c; float local_78; float local_74; float local_70; float local_6c; void *local_68; ulonglong local_60; undefined8 local_58; undefined8 uStack_50; undefined1 local_48; undefined8 local_40; longlong *local_38; uVar17 = (undefined4)((ulonglong)in_stack_ffffffffffffff48 >> 0x20); local_40 = 0xfffffffffffffffe; plVar6 = param_4; FUN_18049eab0(param_1 + 1,&local_80); uVar1 = *(undefined1 *)((longlong)param_1 + 0x33); uVar14 = (uint)DAT_1824c4f10; uVar15 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); if (((((float)(double)CONCAT44((uint)((ulonglong)(double)local_7c >> 0x20) & uVar15, SUB84((double)local_7c,0) & uVar14) < DAT_1824c3c5c) && ((float)(double)CONCAT44((uint)((ulonglong)(double)local_74 >> 0x20) & uVar15, SUB84((double)local_74,0) & uVar14) < DAT_1824c3c5c)) && ((float)(double)CONCAT44((uint)((ulonglong)(double)(local_80 - DAT_1824c3ea4) >> 0x20) & uVar15,SUB84((double)(local_80 - DAT_1824c3ea4),0) & uVar14) < DAT_1824c3c5c)) && ((float)(double)CONCAT44((uint)((ulonglong)(double)(local_70 - DAT_1824c3ea4) >> 0x20) & uVar15 ,SUB84((double)(local_70 - DAT_1824c3ea4),0) & uVar14) < DAT_1824c3c5c )) { if ((*(int *)(param_1 + 0xc) == 0) || ((((int)(local_6c * DAT_1824c4550) | (int)(local_78 * DAT_1824c4550)) & 0xe0U) == 0)) { iVar13 = (int)((int)(local_78 * DAT_1824c4550) + 0x80U) >> 8; iVar12 = (int)((int)(local_6c * DAT_1824c4550) + 0x80U) >> 8; if (plVar6 != (longlong *)0x0) { (**(code **)(*param_4 + 0x88)) (plVar6,param_1,param_2,uVar1,CONCAT44(uVar17,iVar13),iVar12,1); return; } lVar2 = *param_2; iVar10 = 0; iVar9 = 0; if (lVar2 != 0) { iVar10 = *(int *)(lVar2 + 0x18); iVar9 = *(int *)(lVar2 + 0x14); } if (param_1[0xd] == 0) { local_98 = ZEXT416(0); } else { auVar4._8_8_ = 0; auVar4._0_8_ = *(ulonglong *)(param_1[0xd] + 0x14); local_98 = auVar4 << 0x40; } iVar11 = iVar13; if (iVar13 < 0) { iVar11 = 0; } iVar3 = iVar12; if (iVar12 < 0) { iVar3 = 0; } iVar8 = iVar9 + iVar13; if (local_98._8_4_ < iVar9 + iVar13) { iVar8 = local_98._8_4_; } iVar8 = iVar8 - iVar11; if (iVar8 < 0) { return; } iVar9 = iVar10 + iVar12; if (local_98._12_4_ < iVar10 + iVar12) { iVar9 = local_98._12_4_; } local_98._12_4_ = iVar9 - iVar3; if ((int)local_98._12_4_ < 0) { return; } local_98._4_4_ = iVar3; local_98._0_4_ = iVar11; local_98._8_4_ = iVar8; if (iVar8 < 1) { return; } if ((int)local_98._12_4_ < 1) { return; } plVar6 = (longlong *)FUN_1811316e0(0x38); *(undefined4 *)(plVar6 + 1) = 0; *plVar6 = (longlong) juce::RenderingHelpers:: ClipRegions::EdgeTableRegion:: vftable; local_38 = plVar6; FUN_18129fce0(plVar6 + 2,local_98); *(int *)(plVar6 + 1) = (int)plVar6[1] + 1; local_res8 = plVar6; (**(code **)(*(longlong *)*param_1 + 0x10))((longlong *)*param_1,&local_88,&local_res8); if (local_res8 != (longlong *)0x0) { plVar6 = local_res8 + 1; *(int *)plVar6 = (int)*plVar6 + -1; if ((int)*plVar6 == 0) { (**(code **)*local_res8)(local_res8,1); } } if (local_88 != (longlong *)0x0) { (**(code **)(*local_88 + 0x88)) (local_88,param_1,param_2,uVar1,CONCAT44(uVar17,iVar13),iVar12,0); } if (local_88 == (longlong *)0x0) { return; } plVar6 = local_88 + 1; *(int *)plVar6 = (int)*plVar6 + -1; if ((int)*plVar6 != 0) { return; } (**(code **)*local_88)(local_88,1); return; } } if (local_70 * local_80 - local_74 * local_7c != 0.0) { if (plVar6 == (longlong *)0x0) { local_68 = (void *)0x0; local_60 = 0; local_58 = 0; uStack_50 = 0; local_48 = 1; if (*param_2 == 0) { local_98 = ZEXT816(0); } else { auVar5._8_8_ = 0; auVar5._0_8_ = *(ulonglong *)(*param_2 + 0x14); local_98 = auVar5 << 0x40; } uVar16 = CONCAT44(uVar17,(float)(int)local_98._12_4_); FUN_18129d850(&local_68); puVar7 = (undefined8 *) (**(code **)(*(longlong *)*param_1 + 8))((longlong *)*param_1,&local_88); (**(code **)(*(longlong *)*puVar7 + 0x30)) ((longlong *)*puVar7,&local_res8,&local_68,&local_80,uVar16); if (local_88 != (longlong *)0x0) { plVar6 = local_88 + 1; *(int *)plVar6 = (int)*plVar6 + -1; if ((int)*plVar6 == 0) { (**(code **)*local_88)(local_88,1); } } if (local_res8 != (longlong *)0x0) { (**(code **)(*local_res8 + 0x80)) (local_res8,param_1,param_2,uVar1,&local_80,*(undefined4 *)(param_1 + 0xc),0); } if (local_res8 != (longlong *)0x0) { plVar6 = local_res8 + 1; *(int *)plVar6 = (int)*plVar6 + -1; if ((int)*plVar6 == 0) { (**(code **)*local_res8)(local_res8,1); } } local_60 = local_60 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_68); } (**(code **)(*param_4 + 0x80)) (plVar6,param_1,param_2,uVar1,&local_80,*(undefined4 *)(param_1 + 0xc),1); } return; } ############ FUN_ 181252280 size=331 ############ undefined8 FUN_181252280(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; undefined8 *local_res8; undefined *local_res10; undefined8 *local_res18; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; if (*(longlong *)(*param_1 + 0x10) == 0) { if (DAT_182673a68 == (undefined8 *)0x0) { local_res10 = &DAT_182673a38; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673a38); if ((DAT_182673a68 == (undefined8 *)0x0) && (DAT_18267aa70 == '\0')) { DAT_18267aa70 = 1; puVar3 = (undefined8 *)FUN_1811316e0(0x1a0); local_res18 = puVar3; FUN_1812a7230(puVar3); *puVar3 = juce::TypefaceCache::vftable; puVar3[1] = 0; FUN_18122bd40(puVar3 + 2); puVar3[0x31] = 0; puVar3[0x32] = 0; puVar3[0x33] = 0; FUN_1804a2290(puVar3,10); DAT_18267aa70 = '\0'; DAT_182673a68 = puVar3; } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673a38); } puVar3 = (undefined8 *)FUN_1804a23e0(DAT_182673a68,&local_res8,param_1,param_4,uVar4); local_res18 = *(undefined8 **)(*param_1 + 0x10); *(undefined8 *)(*param_1 + 0x10) = *puVar3; *puVar3 = local_res18; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } return *(undefined8 *)(*param_1 + 0x10); } return *(undefined8 *)(*param_1 + 0x10); } ############ FUN_ 18124abe0 size=413 ############ undefined8 * FUN_18124abe0(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int iVar1; uint uVar2; longlong lVar3; int iVar4; undefined8 uVar5; undefined8 *puVar6; HDC pHVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; do { LOCK(); uVar2 = DAT_18267aa78 & 1; DAT_18267aa78 = DAT_18267aa78 | 1; UNLOCK(); } while (uVar2 != 0); iVar4 = DAT_18267aa88 + 1; if (iVar4 == 1) { iVar1 = DAT_18267aa88 + 0x30; DAT_18267aa88 = iVar4; uVar5 = FUN_1811316e0(iVar1); uVar5 = FUN_1804a4110(uVar5); FUN_1804af690(&DAT_18267aa80,uVar5); iVar4 = DAT_18267aa88; } DAT_18267aa88 = iVar4; lVar3 = DAT_18267aa80; LOCK(); DAT_18267aa78 = 0; UNLOCK(); if (*(longlong *)(DAT_18267aa80 + 0x10) != 0) { uVar5 = FUN_1811316e0(0x90); puVar6 = (undefined8 *) FUN_1804a4410(uVar5,param_2,*(undefined8 *)(lVar3 + 0x10),param_4,uVar8,uVar5); if (puVar6[0xc] != 0) { *param_1 = puVar6; LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); do { LOCK(); uVar2 = DAT_18267aa78 & 1; DAT_18267aa78 = DAT_18267aa78 | 1; UNLOCK(); } while (uVar2 != 0); goto LAB_18124ad4c; } (**(code **)*puVar6)(puVar6,1); } puVar6 = (undefined8 *)FUN_1811316e0(0x108); FUN_181254d40(puVar6,*param_2 + 0x18,*param_2 + 0x20,param_4,uVar8,puVar6); *puVar6 = juce::WindowsTypeface::vftable; puVar6[0xb] = 0; puVar6[0xc] = 0; pHVar7 = CreateCompatibleDC((HDC)0x0); puVar6[0xd] = pHVar7; puVar6[0x16] = 0; *(undefined4 *)(puVar6 + 0x17) = 0x3f800000; *(undefined4 *)((longlong)puVar6 + 0xbc) = 0x3f800000; *(undefined4 *)(puVar6 + 0x18) = 0xffffffff; *(undefined4 *)((longlong)puVar6 + 0xc4) = 0; FUN_1804a7550(puVar6 + 0x19); FUN_1804a6370(puVar6); *param_1 = puVar6; LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); do { LOCK(); uVar2 = DAT_18267aa78 & 1; DAT_18267aa78 = DAT_18267aa78 | 1; UNLOCK(); } while (uVar2 != 0); LAB_18124ad4c: DAT_18267aa88 = DAT_18267aa88 + -1; if (DAT_18267aa88 == 0) { FUN_1804af690(&DAT_18267aa80,0); } LOCK(); DAT_18267aa78 = 0; UNLOCK(); return param_1; } ############ FUN_ 1804a4410 size=1018 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804a4410(undefined8 *param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; int iVar2; int iVar3; undefined8 uVar4; undefined8 *puVar5; void *_Memory; HDC hdc; double dVar6; double dVar7; float fVar8; float fVar9; uint uVar10; uint uVar11; undefined1 auStack_118 [32]; undefined4 local_f8; undefined4 local_f4; int local_f0 [2]; longlong *local_e8; int local_e0; int local_dc; longlong *local_d8; longlong *local_d0; undefined1 local_c8 [12]; undefined8 uStack_bc; undefined4 uStack_b4; undefined8 local_a8; undefined8 *local_a0; uint *local_98; undefined8 local_90; undefined1 local_88 [8]; void *local_80; ushort local_78; ushort local_76; ushort local_74; ulonglong local_60; local_a8 = 0xfffffffffffffffe; local_60 = DAT_182615970 ^ (ulonglong)auStack_118; local_a0 = param_1; FUN_181254d40(param_1,*param_2 + 0x18,*param_2 + 0x20); *param_1 = juce::WindowsDirectWriteTypeface::vftable; local_98 = &DAT_18267aa78; do { LOCK(); uVar10 = DAT_18267aa78 & 1; DAT_18267aa78 = DAT_18267aa78 | 1; UNLOCK(); } while (uVar10 != 0); iVar2 = DAT_18267aa88 + 1; if (iVar2 == 1) { iVar3 = DAT_18267aa88 + 0x30; DAT_18267aa88 = iVar2; local_90 = FUN_1811316e0(iVar3); uVar4 = FUN_1804a4110(local_90); FUN_1804af690(&DAT_18267aa80,uVar4); iVar2 = DAT_18267aa88; } DAT_18267aa88 = iVar2; param_1[0xb] = DAT_18267aa80; LOCK(); DAT_18267aa78 = 0; UNLOCK(); param_1[0xc] = 0; *(undefined4 *)(param_1 + 0xd) = 0x3f800000; *(undefined8 *)((longlong)param_1 + 0x6c) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x74) = 0; param_1[0xf] = 0x3f800000; param_1[0x10] = 0; param_1[0x11] = 0x3f800000; local_e0 = 0; local_f4 = 0; puVar5 = (undefined8 *)FUN_18049a930(local_88,*param_2 + 0x18); (**(code **)(*param_3 + 0x28))(param_3,*puVar5,&local_f4,&local_e0); if (local_e0 == 0) { local_f4 = 0; } local_d0 = (longlong *)0x0; (**(code **)(*param_3 + 0x20))(param_3,local_f4,&local_d0); local_e8 = (longlong *)0x0; iVar2 = (**(code **)(*local_d0 + 0x20))(); plVar1 = local_d0; iVar2 = iVar2 + -1; if (-1 < iVar2) { if (local_e8 != (longlong *)0x0) { (**(code **)(*local_e8 + 0x10))(); } local_e8 = (longlong *)0x0; (**(code **)(*plVar1 + 0x28))(plVar1,iVar2,&local_e8); if (iVar2 != 0) { local_d8 = (longlong *)0x0; (**(code **)(*local_e8 + 0x40))(local_e8,&local_d8); plVar1 = local_d8; local_f8 = 0; local_dc = 0; (**(code **)(*local_d8 + 0x20))(local_d8,L"en-us",&local_f8,&local_dc); if (local_dc == 0) { local_f8 = 0; } local_f0[0] = 0; (**(code **)(*plVar1 + 0x38))(plVar1,local_f8,local_f0); _Memory = malloc((ulonglong)(local_f0[0] + 1) * 2); local_80 = _Memory; (**(code **)(*plVar1 + 0x40))(plVar1,local_f8,_Memory,local_f0[0] + 1); FUN_18049c800(local_c8,_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } } plVar1 = local_e8; if ((longlong *)param_1[0xc] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[0xc] + 0x10))(); } param_1[0xc] = 0; (**(code **)(*plVar1 + 0x68))(plVar1,param_1 + 0xc); if (local_e8 != (longlong *)0x0) { (**(code **)(*local_e8 + 0x10))(); } plVar1 = (longlong *)param_1[0xc]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x40))(plVar1,&local_78); *(uint *)((longlong)param_1 + 0x74) = (uint)local_78; uVar10 = (uint)DAT_1824c4f10; uVar11 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); fVar9 = (float)(double)CONCAT44((uint)((ulonglong)(double)local_76 >> 0x20) & uVar11, SUB84((double)local_76,0) & uVar10); fVar8 = (float)(double)CONCAT44((uint)((ulonglong)(double)local_74 >> 0x20) & uVar11, SUB84((double)local_74,0) & uVar10) + fVar9; *(float *)(param_1 + 0xe) = fVar9 / fVar8; *(float *)(param_1 + 0xd) = (float)local_78 / fVar8; hdc = GetDC((HWND)0x0); iVar2 = GetDeviceCaps(hdc,0x5a); iVar3 = GetDeviceCaps(hdc,0x58); fVar8 = (float)(iVar2 + iVar3) * DAT_1824c3d8c; iVar2 = GetDeviceCaps(hdc,0x5a); *(float *)((longlong)param_1 + 0x6c) = (fVar8 / (float)iVar2) * *(float *)(param_1 + 0xd); ReleaseDC((HWND)0x0,hdc); dVar6 = (double)(((float)local_76 * DAT_1824c45a4) / (float)*(int *)((longlong)param_1 + 0x74)); dVar7 = (double)(((float)local_74 * DAT_1824c45a4) / (float)*(int *)((longlong)param_1 + 0x74)); fVar8 = DAT_1824c3ea4 / ((float)(double)CONCAT44((uint)((ulonglong)dVar7 >> 0x20) & uVar11, SUB84(dVar7,0) & uVar10) + (float)(double)CONCAT44((uint)((ulonglong)dVar6 >> 0x20) & uVar11, SUB84(dVar6,0) & uVar10)); uStack_bc = 0; uStack_b4 = 0; *(float *)(param_1 + 0xf) = fVar8; *(undefined4 *)((longlong)param_1 + 0x7c) = 0; *(undefined4 *)(param_1 + 0x10) = 0; *(undefined4 *)((longlong)param_1 + 0x84) = 0; param_1[0x11] = (ulonglong)(uint)fVar8; } if (local_d0 != (longlong *)0x0) { (**(code **)(*local_d0 + 0x10))(); } } ############ FUN_ 181252760 size=239 ############ ulonglong FUN_181252760(ulonglong *param_1) { uint *puVar1; uint uVar2; ulonglong uVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; ulonglong uVar7; uVar7 = *param_1; if (1 < *(int *)(uVar7 + 8)) { puVar6 = (undefined8 *)FUN_1811316e0(0x40); uVar3 = *param_1; puVar6[1] = 0; *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::Font::SharedFontInternal::vftable; lVar4 = *(longlong *)(uVar3 + 0x10); puVar6[2] = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } lVar4 = *(longlong *)(uVar3 + 0x18); puVar6[3] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } lVar4 = *(longlong *)(uVar3 + 0x20); puVar6[4] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(puVar6 + 5) = *(undefined4 *)(uVar3 + 0x28); *(undefined4 *)((longlong)puVar6 + 0x2c) = *(undefined4 *)(uVar3 + 0x2c); *(undefined4 *)(puVar6 + 6) = *(undefined4 *)(uVar3 + 0x30); *(undefined4 *)((longlong)puVar6 + 0x34) = *(undefined4 *)(uVar3 + 0x34); uVar7 = (ulonglong)*(byte *)(uVar3 + 0x38); *(byte *)(puVar6 + 7) = *(byte *)(uVar3 + 0x38); if ((undefined8 *)*param_1 != puVar6) { LOCK(); puVar1 = (uint *)(puVar6 + 1); uVar7 = (ulonglong)*puVar1; *puVar1 = *puVar1 + 1; UNLOCK(); puVar5 = (undefined8 *)*param_1; *param_1 = (ulonglong)puVar6; if (puVar5 != (undefined8 *)0x0) { LOCK(); puVar1 = (uint *)(puVar5 + 1); uVar2 = *puVar1; uVar7 = (ulonglong)uVar2; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar2 == 1) { /* WARNING: Could not recover jumptable at 0x000181252846. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar7 = (**(code **)*puVar5)(puVar5,1); return uVar7; } } } } return uVar7; } ############ FUN_ 1804a01c0 size=129 ############ undefined8 * FUN_1804a01c0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *local_res10; undefined8 local_res18; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; local_res10 = param_2; FUN_181291830(); LOCK(); *(int *)(param_1 + 1) = *(int *)(param_1 + 1) + 1; UNLOCK(); local_res10 = param_1; local_res18 = FUN_1811316e0(0x20); uVar3 = FUN_181291bd0(local_res18,&local_res10,param_3,param_4,uVar3); *param_2 = uVar3; if (param_1 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(param_1 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*param_1)(param_1,1); } } return param_2; } ############ FUN_ 181291bd0 size=399 ############ undefined8 * FUN_181291bd0(undefined8 *param_1,longlong *param_2) { int iVar1; longlong lVar2; undefined8 uVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined1 (*pauVar7) [16]; undefined8 local_60 [2]; undefined8 local_50; undefined8 uStack_48; undefined1 local_38 [16]; puVar4 = (undefined8 *)FUN_1811316e0(0x78); lVar2 = *param_2; if (lVar2 == 0) { local_50 = 0; uStack_48 = 0; pauVar7 = (undefined1 (*) [16])&local_50; } else { local_60[1]._4_4_ = *(undefined4 *)(lVar2 + 0x18); local_60[1]._0_4_ = *(undefined4 *)(lVar2 + 0x14); local_60[0] = 0; pauVar7 = (undefined1 (*) [16])local_60; } puVar5 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::RenderingHelpers::ClipRegions ::RectangleListRegion::vftable; puVar5[2] = 0; puVar5[3] = 0; local_38 = *pauVar7; if ((0 < local_38._8_4_) && (local_38._12_4_ != 0 && -1 < local_38._8_8_)) { FUN_18049ba20(puVar5 + 2,8); iVar1 = *(int *)((longlong)puVar5 + 0x1c); *(int *)((longlong)puVar5 + 0x1c) = iVar1 + 1; puVar6 = (undefined8 *)((longlong)iVar1 * 0x10 + puVar5[2]); uVar3 = *(undefined8 *)(*pauVar7 + 8); *puVar6 = *(undefined8 *)*pauVar7; puVar6[1] = uVar3; } *puVar4 = puVar5; *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; puVar4[1] = 0x3f800000; puVar4[2] = 0; puVar4[3] = 0x3f800000; puVar4[4] = 0; *(undefined2 *)(puVar4 + 5) = 1; *(undefined4 *)(puVar4 + 6) = 0xff000000; puVar4[7] = 0; puVar4[8] = 0; puVar4[9] = 0x3f800000; puVar4[10] = 0; puVar4[0xb] = 0x3f800000; *(undefined4 *)(puVar4 + 0xc) = 1; *(undefined4 *)((longlong)puVar4 + 100) = 0x3f800000; lVar2 = *param_2; puVar4[0xd] = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } FUN_181252d20(puVar4 + 0xe); param_1[1] = puVar4; param_1[2] = 0; param_1[3] = 0; *param_1 = juce::LowLevelGraphicsSoftwareRenderer::vftable; return param_1; } ############ FUN_ 1804a0290 size=120 ############ longlong * FUN_1804a0290(longlong param_1,longlong *param_2) { undefined8 uVar1; longlong lVar2; uVar1 = FUN_1811316e0(0x50); lVar2 = FUN_1804a00e0(uVar1,*(undefined4 *)(param_1 + 0x10),*(undefined4 *)(param_1 + 0x14), *(undefined4 *)(param_1 + 0x18),0); memcpy(*(void **)(lVar2 + 0x40),*(void **)(param_1 + 0x40), (longlong)*(int *)(param_1 + 0x4c) * (longlong)*(int *)(param_1 + 0x18)); *param_2 = lVar2; LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); return param_2; } ############ FUN_ 1804a0310 size=46 ############ undefined8 * FUN_1804a0310(undefined8 param_1,undefined8 *param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(8); *puVar1 = juce::SoftwareImageType::vftable; *param_2 = puVar1; return param_2; } ############ FUN_ 181252a20 size=292 ############ undefined8 * FUN_181252a20(undefined8 *param_1,longlong *param_2,longlong *param_3,float param_4) { int *piVar1; uint uVar2; longlong lVar3; undefined8 *puVar4; longlong *plVar5; uint *_Memory; float fVar6; puVar4 = (undefined8 *)FUN_1811316e0(0x40); fVar6 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= param_4) && (fVar6 = DAT_1824c45c8, param_4 <= DAT_1824c45c8)) { fVar6 = param_4; } *(undefined4 *)(puVar4 + 1) = 0; *puVar4 = juce::Font::SharedFontInternal::vftable; puVar4[2] = 0; lVar3 = *param_2; puVar4[3] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } lVar3 = *param_3; puVar4[4] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } *(float *)(puVar4 + 5) = fVar6; *(undefined8 *)((longlong)puVar4 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar4 + 0x34) = 0; *(undefined1 *)(puVar4 + 7) = 0; if (*(char *)puVar4[3] == '\0') { plVar5 = (longlong *)FUN_181252610(); if ((*(uint *)(*plVar5 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar5 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar3 = puVar4[3]; puVar4[3] = *plVar5; UNLOCK(); _Memory = (uint *)(lVar3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } *param_1 = puVar4; LOCK(); *(int *)(puVar4 + 1) = *(int *)(puVar4 + 1) + 1; UNLOCK(); return param_1; } ############ FUN_ 1804a1870 size=453 ############ undefined8 * FUN_1804a1870(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined4 uVar5; undefined8 *local_res10; undefined8 *local_res18; undefined8 *local_res20; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; *(undefined4 *)(param_1 + 4) = 0; LOCK(); *(int *)(param_2 + 1) = *(int *)(param_2 + 1) + 1; UNLOCK(); local_res10 = (undefined8 *)FUN_1811316e0(0x40,param_2,param_3,param_4,0xfffffffffffffffe,param_2) ; *(undefined4 *)(local_res10 + 1) = 0; *local_res10 = juce::Font::SharedFontInternal::vftable; local_res10[2] = param_2; if (param_2 != (undefined8 *)0x0) { LOCK(); *(int *)(param_2 + 1) = *(int *)(param_2 + 1) + 1; UNLOCK(); } lVar3 = param_2[2]; local_res10[3] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } lVar3 = param_2[3]; local_res10[4] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(local_res10 + 5) = 0x41600000; *(undefined8 *)((longlong)local_res10 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)local_res10 + 0x34) = 0; *(undefined1 *)(local_res10 + 7) = 0; LOCK(); *(int *)(local_res10 + 1) = *(int *)(local_res10 + 1) + 1; UNLOCK(); LOCK(); piVar1 = (int *)(param_2 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*param_2)(param_2,1); } local_res18 = local_res10; if (local_res10 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res10 + 1) = *(int *)(local_res10 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_res18,DAT_1824c44dc); puVar4 = local_res10; local_res20 = local_res10; local_res10 = local_res18; local_res18 = puVar4; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } uVar5 = FUN_1804a1ef0(&local_res10,"BDEFPRTZOQ",1); *(undefined4 *)(param_1 + 3) = uVar5; uVar5 = FUN_1804a1ef0(&local_res10,"acegmnopqrsuvwxy",1); *(undefined4 *)((longlong)param_1 + 0x1c) = uVar5; uVar5 = FUN_1804a1ef0(&local_res10,"BDELZOC",0); *(undefined4 *)(param_1 + 4) = uVar5; if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res10)(local_res10,1); } } return param_1; } ############ FUN_ 1804a2b80 size=481 ############ undefined8 * FUN_1804a2b80(undefined8 *param_1,ulonglong param_2,undefined4 param_3) { int *piVar1; int iVar2; longlong lVar3; longlong *plVar4; char *pcVar5; undefined8 *puVar6; undefined8 *puVar7; char *pcVar8; *(undefined4 *)(param_1 + 1) = 0; *param_1 = juce::Font::SharedFontInternal::vftable; param_1[2] = 0; plVar4 = (longlong *)FUN_181252610(); lVar3 = *plVar4; param_1[3] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } if ((param_2 & 1) == 0) { pcVar8 = "Italic"; pcVar5 = "Regular"; } else { pcVar8 = "Bold Italic"; pcVar5 = "Bold"; } if (((param_2 & 0xffffffff) >> 1 & 1) == 0) { pcVar8 = pcVar5; } FUN_18049c4e0(param_1 + 4,pcVar8); *(undefined4 *)(param_1 + 5) = param_3; *(undefined8 *)((longlong)param_1 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x34) = 0; *(byte *)(param_1 + 7) = (byte)(param_2 >> 2) & 1; if ((int)param_2 != 0) { return param_1; } if (DAT_182673a68 == (undefined8 *)0x0) { EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673a38); if ((DAT_182673a68 == (undefined8 *)0x0) && (DAT_18267aa70 == '\0')) { DAT_18267aa70 = 1; puVar6 = (undefined8 *)FUN_1811316e0(0x1a0); FUN_1812a7230(puVar6); *puVar6 = juce::TypefaceCache::vftable; puVar6[1] = 0; FUN_18122bd40(puVar6 + 2); puVar6[0x31] = 0; puVar6[0x32] = 0; puVar6[0x33] = 0; FUN_1804a2290(puVar6,10); DAT_18267aa70 = '\0'; DAT_182673a68 = puVar6; } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673a38); } lVar3 = DAT_182673a68[1]; if (lVar3 == 0) { puVar6 = (undefined8 *)param_1[2]; param_1[2] = 0; if (puVar6 == (undefined8 *)0x0) { return param_1; } LOCK(); piVar1 = (int *)(puVar6 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 != 1) { return param_1; } puVar7 = (undefined8 *)*puVar6; } else { if (param_1[2] == lVar3) { return param_1; } LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); puVar6 = (undefined8 *)param_1[2]; param_1[2] = lVar3; if (puVar6 == (undefined8 *)0x0) { return param_1; } LOCK(); piVar1 = (int *)(puVar6 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 != 1) { return param_1; } puVar7 = (undefined8 *)*puVar6; } (*(code *)*puVar7)(puVar6,1); return param_1; } ############ FUN_ 1804a2d70 size=434 ############ undefined8 * FUN_1804a2d70(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined4 param_4) { int *piVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; *(undefined4 *)(param_1 + 1) = 0; *param_1 = juce::Font::SharedFontInternal::vftable; param_1[2] = 0; lVar3 = *param_2; param_1[3] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(param_1 + 4,"Regular",param_3,param_4,0xfffffffffffffffe); *(undefined4 *)(param_1 + 5) = param_4; *(undefined8 *)((longlong)param_1 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x34) = 0; *(undefined1 *)(param_1 + 7) = 0; if (*(char *)param_1[3] != '\0') { return param_1; } if (DAT_182673a68 == (undefined8 *)0x0) { EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673a38); if ((DAT_182673a68 == (undefined8 *)0x0) && (DAT_18267aa70 == '\0')) { DAT_18267aa70 = 1; puVar4 = (undefined8 *)FUN_1811316e0(0x1a0); FUN_1812a7230(puVar4); *puVar4 = juce::TypefaceCache::vftable; puVar4[1] = 0; FUN_18122bd40(puVar4 + 2); puVar4[0x31] = 0; puVar4[0x32] = 0; puVar4[0x33] = 0; FUN_1804a2290(puVar4,10); DAT_18267aa70 = '\0'; DAT_182673a68 = puVar4; } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673a38); } lVar3 = DAT_182673a68[1]; if (lVar3 == 0) { puVar4 = (undefined8 *)param_1[2]; param_1[2] = 0; if (puVar4 == (undefined8 *)0x0) { return param_1; } LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 != 1) { return param_1; } puVar5 = (undefined8 *)*puVar4; } else { if (param_1[2] == lVar3) { return param_1; } LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); puVar4 = (undefined8 *)param_1[2]; param_1[2] = lVar3; if (puVar4 == (undefined8 *)0x0) { return param_1; } LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 != 1) { return param_1; } puVar5 = (undefined8 *)*puVar4; } (*(code *)*puVar5)(puVar4,1); return param_1; } ############ FUN_ 1804a30a0 size=2577 ############ /* WARNING: Removing unreachable block (ram,0x0001804a3ae7) */ /* WARNING: Removing unreachable block (ram,0x0001804a3a97) */ /* WARNING: Removing unreachable block (ram,0x0001804a372f) */ /* WARNING: Removing unreachable block (ram,0x0001804a33b0) */ /* WARNING: Removing unreachable block (ram,0x0001804a33a5) */ /* WARNING: Removing unreachable block (ram,0x0001804a3412) */ void FUN_1804a30a0(longlong *param_1,longlong param_2,ulonglong *param_3) { uint uVar1; float fVar2; float fVar3; float fVar4; int iVar5; char *pcVar6; bool bVar7; char cVar8; undefined8 uVar9; undefined8 *puVar10; longlong *plVar11; longlong *plVar12; undefined4 *puVar13; longlong lVar14; float *pfVar15; uint *puVar16; longlong lVar17; longlong *plVar18; longlong lVar19; undefined8 *puVar20; ulonglong uVar21; int iVar22; uint uVar23; ulonglong uVar24; undefined4 uVar25; float fVar26; float fVar27; float fVar28; uint local_174; char *local_148; longlong local_140; undefined8 local_138; uint uStack_134; longlong local_130; longlong local_128; undefined8 *local_120; void *local_118; ulonglong local_110; longlong local_108; undefined4 local_100; uint uStack_fc; uint local_f8; uint uStack_f4; undefined4 local_f0; uint uStack_ec; longlong *local_e8; undefined4 local_e0; uint uStack_dc; undefined4 local_d8; uint uStack_d4; longlong *local_d0; longlong local_c8 [2]; char *local_b8; undefined8 local_b0; undefined1 local_a8 [104]; local_c8[1] = 0xfffffffffffffffe; uVar23 = 0; iVar22 = (int)param_1[2]; if ((int)param_3[1] < iVar22) { FUN_18047cb30(param_3,iVar22 + 8 + iVar22 / 2 & 0xfffffff8,param_3,iVar22,0); } iVar22 = *(int *)(param_2 + 0x24); lVar17 = (longlong)iVar22; iVar5 = 0x40; if (0x40 < iVar22) { iVar5 = iVar22; } FUN_18047e060(param_1,iVar5); if (0 < iVar22) { lVar19 = 0; do { lVar14 = *(longlong *)(param_2 + 0x18); FUN_1812490c0(param_2,&local_108,*(ulonglong *)(lVar19 + lVar14) & 0xffffffff, *(ulonglong *)(lVar19 + lVar14) >> 0x20); uVar23 = uVar23 | 1; FUN_1804a3b30(param_1,&local_108,lVar14 + 8 + lVar19,*(undefined4 *)(lVar19 + 0x10 + lVar14), uVar23); puVar16 = (uint *)(local_108 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } lVar19 = lVar19 + 0x18; lVar17 = lVar17 + -1; } while (lVar17 != 0); } FUN_1804a3e70(param_1,(int)param_3[2],*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0x10) ); fVar26 = DAT_1824c3d8c; local_174 = 0; bVar7 = true; if (0 < *(int *)((longlong)param_1 + 0xc)) { local_128 = 0; puVar20 = *(undefined8 **)*param_1; local_140 = 0; local_138 = 0; local_118 = (void *)0x0; local_110 = 0; local_120 = puVar20; uVar9 = FUN_181230800(puVar20,&local_148); if ((*local_148 == '\0') && (*(char *)*puVar20 != '\0')) { puVar10 = (undefined8 *) FUN_1812314e0(puVar20,local_c8,&DAT_182498440,&DAT_18249843c,uVar23 | 2); local_b8 = local_148; pcVar6 = (char *)*puVar10; *puVar10 = local_148; puVar16 = (uint *)(local_c8[0] + -0x10); local_148 = pcVar6; if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } } plVar18 = puVar20 + 1; FUN_181251660(plVar18,uVar9,&local_140,&local_118); puVar16 = (uint *)(local_148 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } lVar17 = FUN_1811316e0(0x28); FUN_181252d20(lVar17); *(undefined4 *)(lVar17 + 8) = 0xff000000; *(undefined8 *)(lVar17 + 0x10) = 0; *(undefined8 *)(lVar17 + 0x18) = 0; *(undefined8 *)(lVar17 + 0x20) = 0; plVar11 = (longlong *)FUN_1811316e0(0x30); *plVar11 = 0; plVar11[1] = 0; plVar11[2] = 0; plVar11[3] = 0; plVar11[4] = 0; *(undefined4 *)(plVar11 + 5) = 0; if ((int)uStack_134 < 1) { if ((*(char *)((longlong)puVar20 + 0x2c) != '\0') || (uVar23 = 0, *(char *)((longlong)puVar20 + 0x2d) != '\0')) { uVar23 = 1; } } else { FUN_1804aea80(lVar17 + 0x10,uStack_134 + *(int *)(lVar17 + 0x1c)); if (*(float *)(*plVar18 + 0x34) == 0.0) { plVar12 = (longlong *)FUN_181252280(plVar18); lVar19 = *plVar18; uVar25 = (**(code **)(*plVar12 + 0x10))(); *(undefined4 *)(lVar19 + 0x34) = uVar25; } local_b0 = *(undefined8 *)((longlong)puVar20 + 0x14); fVar27 = *(float *)(*plVar18 + 0x34) * *(float *)(*plVar18 + 0x28) + (float)((ulonglong)local_b0 >> 0x20); fVar28 = (float)local_b0 + 0.0; *(float *)(plVar11 + 3) = fVar28; *(float *)((longlong)plVar11 + 0x1c) = fVar27; bVar7 = false; fVar26 = *(float *)((longlong)plVar11 + 0x1c); fVar2 = *(float *)(plVar11 + 3); uVar23 = uStack_134; if (0 < (int)uStack_134) { lVar19 = 0; iVar22 = 0; do { fVar3 = *(float *)(lVar19 + (longlong)local_118); fVar4 = *(float *)(lVar19 + 4 + (longlong)local_118); uVar25 = *(undefined4 *)(lVar19 + local_140); FUN_1804aea80(lVar17 + 0x10,*(int *)(lVar17 + 0x1c) + 1); iVar5 = *(int *)(lVar17 + 0x1c); *(int *)(lVar17 + 0x1c) = iVar5 + 1; puVar13 = (undefined4 *)((longlong)iVar5 * 0x10 + *(longlong *)(lVar17 + 0x10)); *puVar13 = uVar25; puVar13[1] = (fVar28 - fVar2) + fVar3; puVar13[2] = (fVar27 - fVar26) + 0.0; puVar13[3] = fVar4 - fVar3; iVar22 = iVar22 + 1; lVar19 = lVar19 + 4; } while (iVar22 < (int)uStack_134); plVar18 = local_120 + 1; puVar20 = local_120; uVar23 = uStack_134; } } if ((*(uint *)((longlong)param_1 + 0xc) < 2) || (lVar19 = *(longlong *)(local_128 + 8 + *param_1), lVar19 == 0)) { local_e0 = 0; uStack_dc = 0; if (0 < (int)uVar23) { uStack_dc = uVar23; } *(ulonglong *)(lVar17 + 0x20) = (ulonglong)uStack_dc << 0x20; FUN_181252990(lVar17,plVar18); *(undefined4 *)(lVar17 + 8) = *(undefined4 *)(puVar20 + 2); if (*(float *)(*plVar18 + 0x34) == 0.0) { plVar12 = (longlong *)FUN_181252280(plVar18); lVar19 = *plVar18; uVar25 = (**(code **)(*plVar12 + 0x10))(plVar12); *(undefined4 *)(lVar19 + 0x34) = uVar25; } fVar26 = *(float *)(*plVar18 + 0x34) * *(float *)(*plVar18 + 0x28); if (fVar26 <= *(float *)(plVar11 + 4)) { fVar26 = *(float *)(plVar11 + 4); } *(float *)(plVar11 + 4) = fVar26; lVar19 = *plVar18; if (*(float *)(lVar19 + 0x34) == 0.0) { plVar12 = (longlong *)FUN_181252280(plVar18); lVar14 = *plVar18; uVar25 = (**(code **)(*plVar12 + 0x10))(plVar12); *(undefined4 *)(lVar14 + 0x34) = uVar25; } fVar26 = *(float *)(lVar19 + 0x28) - *(float *)(*plVar18 + 0x34) * *(float *)(*plVar18 + 0x28) ; if (fVar26 <= *(float *)((longlong)plVar11 + 0x24)) { fVar26 = *(float *)((longlong)plVar11 + 0x24); } *(float *)((longlong)plVar11 + 0x24) = fVar26; FUN_18047e060(plVar11,*(int *)((longlong)plVar11 + 0xc) + 1); iVar22 = *(int *)((longlong)plVar11 + 0xc); *(int *)((longlong)plVar11 + 0xc) = iVar22 + 1; *(longlong *)(*plVar11 + (longlong)iVar22 * 8) = lVar17; local_d8 = 0; uStack_d4 = 0; if (0 < (int)uVar23) { uStack_d4 = uVar23; } plVar11[2] = (ulonglong)uStack_d4 << 0x20; if (!bVar7) { local_d0 = plVar11; FUN_18124e930(param_3,&local_d0); } } else { cVar8 = FUN_181252880(plVar18,lVar19 + 8); if ((cVar8 == '\0') || (lVar14 = lVar17, *(int *)(puVar20 + 2) != *(int *)(lVar19 + 0x10))) { lVar14 = 0; local_100 = 0; uStack_fc = 0; if (0 < (int)uVar23) { uStack_fc = uVar23; } *(ulonglong *)(lVar17 + 0x20) = (ulonglong)uStack_fc << 0x20; local_130 = lVar17; FUN_181252990(lVar17,plVar18); *(undefined4 *)(lVar17 + 8) = *(undefined4 *)(puVar20 + 2); if (*(float *)(*plVar18 + 0x34) == 0.0) { plVar12 = (longlong *)FUN_181252280(plVar18); lVar17 = *plVar18; uVar25 = (**(code **)(*plVar12 + 0x10))(plVar12); *(undefined4 *)(lVar17 + 0x34) = uVar25; } fVar26 = *(float *)(*plVar18 + 0x34) * *(float *)(*plVar18 + 0x28); if (fVar26 <= *(float *)(plVar11 + 4)) { fVar26 = *(float *)(plVar11 + 4); } *(float *)(plVar11 + 4) = fVar26; local_120 = (undefined8 *)*plVar18; if (*(float *)((longlong)local_120 + 0x34) == 0.0) { plVar12 = (longlong *)FUN_181252280(plVar18); lVar17 = *plVar18; uVar25 = (**(code **)(*plVar12 + 0x10))(plVar12); *(undefined4 *)(lVar17 + 0x34) = uVar25; } fVar26 = *(float *)(local_120 + 5) - *(float *)(*plVar18 + 0x34) * *(float *)(*plVar18 + 0x28); if (fVar26 <= *(float *)((longlong)plVar11 + 0x24)) { fVar26 = *(float *)((longlong)plVar11 + 0x24); } *(float *)((longlong)plVar11 + 0x24) = fVar26; FUN_18047e060(plVar11,*(int *)((longlong)plVar11 + 0xc) + 1); iVar22 = *(int *)((longlong)plVar11 + 0xc); *(int *)((longlong)plVar11 + 0xc) = iVar22 + 1; *(longlong *)(*plVar11 + (longlong)iVar22 * 8) = local_130; local_174 = uVar23; } if (*(int *)((longlong)puVar20 + 0x24) != *(int *)(lVar19 + 0x24)) { if (lVar14 == 0) { lVar14 = FUN_1811316e0(0x28); FUN_181252d20(); *(undefined4 *)(lVar14 + 8) = 0xff000000; *(undefined8 *)(lVar14 + 0x10) = 0; *(undefined8 *)(lVar14 + 0x18) = 0; *(undefined8 *)(lVar14 + 0x20) = 0; } local_f8 = local_174; uStack_f4 = local_174; if ((int)local_174 < (int)uVar23) { uStack_f4 = uVar23; } *(ulonglong *)(lVar14 + 0x20) = CONCAT44(uStack_f4,local_174); FUN_181252990(lVar14,plVar18); *(undefined4 *)(lVar14 + 8) = *(undefined4 *)(puVar20 + 2); if (*(float *)(*plVar18 + 0x34) == 0.0) { plVar12 = (longlong *)FUN_181252280(plVar18); lVar17 = *plVar18; uVar25 = (**(code **)(*plVar12 + 0x10))(plVar12); *(undefined4 *)(lVar17 + 0x34) = uVar25; } fVar26 = *(float *)(*plVar18 + 0x34) * *(float *)(*plVar18 + 0x28); if (fVar26 <= *(float *)(plVar11 + 4)) { fVar26 = *(float *)(plVar11 + 4); } *(float *)(plVar11 + 4) = fVar26; lVar17 = *plVar18; if (*(float *)(lVar17 + 0x34) == 0.0) { plVar12 = (longlong *)FUN_181252280(plVar18); lVar19 = *plVar18; uVar25 = (**(code **)(*plVar12 + 0x10))(plVar12); *(undefined4 *)(lVar19 + 0x34) = uVar25; } fVar26 = *(float *)(lVar17 + 0x28) - *(float *)(*plVar18 + 0x34) * *(float *)(*plVar18 + 0x28); if (fVar26 <= *(float *)((longlong)plVar11 + 0x24)) { fVar26 = *(float *)((longlong)plVar11 + 0x24); } *(float *)((longlong)plVar11 + 0x24) = fVar26; FUN_18047e060(plVar11,*(int *)((longlong)plVar11 + 0xc) + 1); iVar22 = *(int *)((longlong)plVar11 + 0xc); *(int *)((longlong)plVar11 + 0xc) = iVar22 + 1; *(longlong *)(*plVar11 + (longlong)iVar22 * 8) = lVar14; local_f0 = 0; uStack_ec = 0; if (0 < (int)uVar23) { uStack_ec = uVar23; } plVar11[2] = (ulonglong)uStack_ec << 0x20; if (!bVar7) { local_e8 = plVar11; FUN_18124e930(param_3,&local_e8); } } } local_110 = local_110 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_118); } uVar23 = *(uint *)(param_2 + 0xc); uVar24 = 0; if ((uVar23 & 6) != 0) { fVar2 = *(float *)(param_3 + 2); plVar18 = (longlong *)*param_3; uVar21 = (ulonglong) ((longlong)(plVar18 + *(int *)((longlong)param_3 + 0xc)) + (7 - (longlong)plVar18)) >> 3; if (plVar18 + *(int *)((longlong)param_3 + 0xc) < plVar18) { uVar21 = uVar24; } if (uVar21 != 0) { do { lVar17 = *plVar18; pfVar15 = (float *)FUN_18124eb40(lVar17,local_a8); fVar27 = fVar2 - (pfVar15[1] - *pfVar15); if ((uVar23 >> 2 & 1) != 0) { fVar27 = fVar27 * fVar26; } *(float *)(lVar17 + 0x18) = fVar27 + *(float *)(lVar17 + 0x18); plVar18 = plVar18 + 1; uVar24 = uVar24 + 1; } while (uVar24 != uVar21); } } return; } ############ FUN_ 1804a3b30 size=819 ############ void FUN_1804a3b30(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined4 param_4) { char *pcVar1; uint uVar2; undefined8 uVar3; undefined8 *puVar4; uint uVar5; uint *puVar6; int iVar7; ulonglong uVar8; byte *pbVar9; byte bVar10; longlong lVar11; byte bVar12; char *local_res10; longlong local_48 [3]; char *local_30; local_48[1] = 0xfffffffffffffffe; pbVar9 = (byte *)*param_2; local_res10 = ""; bVar10 = 0; LAB_1804a3b71: do { bVar12 = *pbVar9; pbVar9 = pbVar9 + 1; uVar5 = (uint)bVar12; if ((char)bVar12 < '\0') { uVar5 = 0x7f; uVar2 = 0x40; iVar7 = 0; if ((bVar12 & 0x40) != 0) { do { if (uVar2 < 9) break; uVar5 = uVar5 >> 1; iVar7 = iVar7 + 1; uVar2 = uVar2 >> 1; } while ((bVar12 & uVar2) != 0); } uVar5 = bVar12 & uVar5; for (; (iVar7 = iVar7 + -1, -1 < iVar7 && ((*pbVar9 & 0xc0) == 0x80)); pbVar9 = pbVar9 + 1) { uVar5 = *pbVar9 & 0x3f | uVar5 << 6; } } if (uVar5 == 0) { if (*local_res10 != '\0') { local_48[2] = FUN_1811316e0(0x30); uVar3 = FUN_1804a2fe0(local_48[2],&local_res10,param_3,param_4,bVar10 == 2); FUN_18047e060(param_1,*(int *)((longlong)param_1 + 0xc) + 1); iVar7 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar7 + 1; *(undefined8 *)(*param_1 + (longlong)iVar7 * 8) = uVar3; } puVar6 = (uint *)(local_res10 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return; } if ((uVar5 == 0xd) || (uVar5 == 10)) { bVar12 = 0; LAB_1804a3c1b: if (*local_res10 != '\0') { local_48[2] = FUN_1811316e0(0x30); uVar3 = FUN_1804a2fe0(local_48[2],&local_res10,param_3,param_4,(bVar10 & 0xfd) == 0); FUN_18047e060(param_1,*(int *)((longlong)param_1 + 0xc) + 1); iVar7 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar7 + 1; *(undefined8 *)(*param_1 + (longlong)iVar7 * 8) = uVar3; } puVar4 = (undefined8 *)FUN_181233f40(local_48,uVar5); local_30 = local_res10; pcVar1 = (char *)*puVar4; *puVar4 = local_res10; puVar6 = (uint *)(local_48[0] + -0x10); local_res10 = pcVar1; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } bVar10 = bVar12; if (uVar5 == 0xd) { bVar12 = *pbVar9; uVar5 = (uint)bVar12; if ((char)bVar12 < '\0') { uVar5 = 0x7f; uVar8 = 0x7f; uVar2 = 0x40; iVar7 = 0; if ((bVar12 & 0x40) != 0) { do { uVar5 = (uint)uVar8; if (uVar2 < 9) break; uVar8 = uVar8 >> 1; uVar5 = (uint)uVar8; iVar7 = iVar7 + 1; uVar2 = uVar2 >> 1; } while ((bVar12 & uVar2) != 0); } uVar5 = bVar12 & uVar5; lVar11 = 1; if (0 < (longlong)iVar7) { do { if ((pbVar9[lVar11] & 0xc0) != 0x80) break; uVar5 = pbVar9[lVar11] & 0x3f | uVar5 << 6; lVar11 = lVar11 + 1; } while (lVar11 <= iVar7); } } if (uVar5 == 10) { pbVar9 = pbVar9 + 1; if ((char)bVar12 < '\0') { uVar5 = 0x40; iVar7 = 0; if ((bVar12 & 0x40) != 0) { do { if (uVar5 < 9) break; iVar7 = iVar7 + 1; uVar5 = uVar5 >> 1; } while ((bVar12 & uVar5) != 0); } for (; (iVar7 = iVar7 + -1, -1 < iVar7 && ((*pbVar9 & 0xc0) == 0x80)); pbVar9 = pbVar9 + 1) { } } FUN_181232b70(&local_res10); } } goto LAB_1804a3b71; } iVar7 = iswspace((wint_t)uVar5); bVar12 = (iVar7 != 0) + 1; if ((bVar12 == 0) || (bVar12 != bVar10)) goto LAB_1804a3c1b; FUN_181232b70(&local_res10); bVar10 = bVar12; } while( true ); } ############ FUN_ 1804a4e80 size=288 ############ undefined8 FUN_1804a4e80(longlong param_1,undefined2 param_2,longlong *param_3) { longlong *plVar1; undefined4 uVar2; undefined4 uVar3; longlong lVar4; char cVar5; longlong *plVar6; undefined2 local_res10 [4]; local_res10[0] = param_2; plVar6 = (longlong *)FUN_1811316e0(0x38); *(undefined4 *)(plVar6 + 1) = 0; *plVar6 = (longlong)juce::WindowsDirectWriteTypeface::PathGeometrySink::vftable; plVar1 = plVar6 + 2; *plVar1 = 0; plVar6[3] = 0; plVar6[4] = 0; plVar6[5] = 0; *(undefined1 *)(plVar6 + 6) = 1; (**(code **)(*plVar6 + 8))(plVar6); (**(code **)(**(longlong **)(param_1 + 0x60) + 0x70)) (*(longlong **)(param_1 + 0x60),DAT_1824c45a4,local_res10,0,0,1,0,0,plVar6); if (param_3 != plVar1) { FUN_1804aaf40(param_3,plVar1); uVar2 = *(undefined4 *)((longlong)plVar6 + 0x24); lVar4 = plVar6[5]; uVar3 = *(undefined4 *)((longlong)plVar6 + 0x2c); *(int *)(param_3 + 2) = (int)plVar6[4]; *(undefined4 *)((longlong)param_3 + 0x14) = uVar2; *(int *)(param_3 + 3) = (int)lVar4; *(undefined4 *)((longlong)param_3 + 0x1c) = uVar3; *(char *)(param_3 + 4) = (char)plVar6[6]; } param_1 = param_1 + 0x78; cVar5 = FUN_1812a0b10(param_1); if (cVar5 == '\0') { FUN_18129b680(param_3,param_1); } if ((undefined **)*plVar6 == juce::WindowsDirectWriteTypeface::PathGeometrySink::vftable) { plVar1 = plVar6 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (*(code *)juce::WindowsDirectWriteTypeface::PathGeometrySink::vftable[10])(plVar6,1); } } else { (*(code *)((undefined **)*plVar6)[2])(plVar6); } return 1; } ############ FUN_ 1804a52d0 size=899 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804a52d0(longlong param_1,longlong *param_2,float param_3,float param_4,undefined8 param_5 ,undefined8 *param_6,longlong param_7,longlong *param_8) { int *piVar1; float fVar2; float fVar3; ushort uVar4; undefined4 uVar5; longlong lVar6; longlong *plVar7; longlong *plVar8; uint *puVar9; uint uVar10; int iVar11; uint uVar12; ulonglong uVar13; float fVar14; undefined1 auStack_108 [32]; undefined4 local_e8; int local_d8; int iStack_d4; undefined8 *local_d0; undefined8 *local_c8; longlong *local_c0; undefined8 local_b8; longlong local_b0; ushort local_a8; ushort local_a6; ushort local_a4; undefined4 local_90; undefined4 local_8c; undefined4 local_88; undefined4 local_84; ulonglong local_80; local_b8 = 0xfffffffffffffffe; local_80 = DAT_182615970 ^ (ulonglong)auStack_108; local_c0 = param_8; if ((param_4 < _DAT_1824c4764) || (DAT_1824c4620 < param_4)) { param_4 = 0.0; } uVar13 = 0; if (param_4 != *(float *)(param_1 + 0x24)) { *(float *)(param_1 + 0x24) = param_4; *(int *)(param_1 + 0x20) = *(int *)(param_1 + 0x20) + 1; if (*(int *)((longlong)param_2 + 0xc) <= *(int *)(param_1 + 0x20)) { local_c8 = (undefined8 *)FUN_1811316e0(0x30); *local_c8 = 0; local_c8[1] = 0; local_c8[2] = 0; local_c8[3] = 0; local_c8[4] = 0; *(undefined4 *)(local_c8 + 5) = 0; *(float *)(local_c8 + 3) = param_3; *(float *)((longlong)local_c8 + 0x1c) = param_4; FUN_18124e930(param_2,&local_c8); } } plVar8 = *(longlong **)(*param_2 + (longlong)*(int *)(param_1 + 0x20) * 8); (**(code **)(*(longlong *)*param_6 + 0x40))((longlong *)*param_6,&local_a8); uVar10 = (uint)DAT_1824c4f10; uVar12 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); fVar14 = ((float)(double)CONCAT44((uint)((ulonglong)(double)local_a6 >> 0x20) & uVar12, SUB84((double)local_a6,0) & uVar10) / (float)local_a8) * *(float *)(param_6 + 1); if (fVar14 <= *(float *)(plVar8 + 4)) { fVar14 = *(float *)(plVar8 + 4); } *(float *)(plVar8 + 4) = fVar14; fVar14 = ((float)(double)CONCAT44((uint)((ulonglong)(double)local_a4 >> 0x20) & uVar12, SUB84((double)local_a4,0) & uVar10) / (float)local_a8) * *(float *)(param_6 + 1); if (fVar14 <= *(float *)((longlong)plVar8 + 0x24)) { fVar14 = *(float *)((longlong)plVar8 + 0x24); } *(float *)((longlong)plVar8 + 0x24) = fVar14; plVar7 = (longlong *)FUN_1811316e0(0x28); local_d8 = *(int *)(param_7 + 0x20); iVar11 = *(int *)(param_7 + 0x10) + local_d8; iStack_d4 = local_d8; if (local_d8 < iVar11) { iStack_d4 = iVar11; } uVar5 = *(undefined4 *)((longlong)param_6 + 0xc); FUN_181252d20(plVar7); *(undefined4 *)(plVar7 + 1) = 0xff000000; plVar7[2] = 0; plVar7[3] = 0; plVar7[4] = CONCAT44(iStack_d4,local_d8); FUN_1804aea80(plVar7 + 2,uVar5); FUN_18047e060(plVar8,*(int *)((longlong)plVar8 + 0xc) + 1); iVar11 = *(int *)((longlong)plVar8 + 0xc); *(int *)((longlong)plVar8 + 0xc) = iVar11 + 1; *(longlong **)(*plVar8 + (longlong)iVar11 * 8) = plVar7; (**(code **)(*(longlong *)*param_6 + 0x40))((longlong *)*param_6,&local_a8); plVar8 = (longlong *) FUN_1804a5690(param_1,&local_d0,param_6, *(float *)(param_6 + 1) / ((float)local_a8 / ((float)(double)CONCAT44((uint)((ulonglong)(double)local_a4 >> 0x20) & uVar12,SUB84((double)local_a4,0) & uVar10) + (float)(double)CONCAT44((uint)((ulonglong)(double)local_a6 >> 0x20) & uVar12,SUB84((double)local_a6,0) & uVar10)))); local_b0 = *plVar7; *plVar7 = *plVar8; *plVar8 = local_b0; if (local_d0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_d0 + 1); iVar11 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar11 == 1) { (**(code **)*local_d0)(local_d0,1); } } iVar11 = DAT_18262b59c; if (local_c0 != (longlong *)0x0) { (**(code **)(*local_c0 + 0x48))(local_c0,&local_90); local_e8 = local_84; FUN_1812a2fc0(&local_d8,local_90,local_8c,local_88); iVar11 = local_d8; } *(int *)(plVar7 + 1) = iVar11; lVar6 = *(longlong *)(*param_2 + (longlong)*(int *)(param_1 + 0x20) * 8); param_3 = param_3 - *(float *)(lVar6 + 0x18); fVar14 = *(float *)(*plVar7 + 0x30) * *(float *)(*plVar7 + 0x28); if (*(int *)((longlong)param_6 + 0xc) != 0) { uVar10 = *(uint *)((longlong)param_6 + 0x2c) & 1; fVar2 = *(float *)(lVar6 + 0x1c); do { fVar3 = *(float *)(param_6[3] + uVar13 * 4); if (uVar10 != 0) { param_3 = param_3 - (fVar3 + fVar14); } uVar4 = *(ushort *)(param_6[2] + uVar13 * 2); FUN_1804aea80(plVar7 + 2,*(int *)((longlong)plVar7 + 0x1c) + 1); iVar11 = *(int *)((longlong)plVar7 + 0x1c); *(int *)((longlong)plVar7 + 0x1c) = iVar11 + 1; puVar9 = (uint *)((longlong)iVar11 * 0x10 + plVar7[2]); *puVar9 = (uint)uVar4; puVar9[1] = (uint)param_3; puVar9[2] = (uint)(param_4 - fVar2); puVar9[3] = (uint)fVar3; uVar10 = *(uint *)((longlong)param_6 + 0x2c) & 1; if (uVar10 == 0) { param_3 = param_3 + fVar3 + fVar14; } uVar12 = (int)uVar13 + 1; uVar13 = (ulonglong)uVar12; } while (uVar12 < *(uint *)((longlong)param_6 + 0xc)); } } ############ FUN_ 1804ad7b0 size=402 ############ void FUN_1804ad7b0(longlong *param_1,longlong param_2) { int iVar1; int *piVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *local_res8; float local_98; float local_94; float local_90; float local_8c; int local_88; int iStack_84; int iStack_80; int iStack_7c; int local_78; int iStack_74; int iStack_70; int iStack_6c; int local_68; int iStack_64; int iStack_60; int iStack_5c; undefined1 local_58 [16]; undefined1 local_48 [48]; plVar4 = (longlong *)*param_1; if (plVar4 != (longlong *)0x0) { FUN_18049eab0(param_1 + 1,local_48); (**(code **)(*plVar4 + 0x58))(plVar4,&local_78); iVar1 = local_78; local_94 = *(float *)(param_2 + 0x18); local_98 = *(float *)(param_2 + 0x10); local_8c = *(float *)(param_2 + 0x1c) - local_94; local_90 = *(float *)(param_2 + 0x14) - local_98; local_88 = local_78; iStack_84 = iStack_74; iStack_80 = iStack_70; iStack_7c = iStack_6c; FUN_1804ab160(&local_98,&local_68,local_48); piVar2 = (int *)FUN_1804ab070(&local_68,local_58); if (iVar1 < *piVar2 + piVar2[2]) { if ((((iStack_84 < piVar2[1] + piVar2[3]) && (*piVar2 < iVar1 + iStack_80)) && (piVar2[1] < iStack_84 + iStack_7c)) && (((0 < piVar2[2] && (0 < piVar2[3])) && ((0 < iStack_80 && (0 < iStack_7c)))))) { puVar3 = (undefined8 *)FUN_1811316e0(0x38); local_68 = local_78; iStack_64 = iStack_74; iStack_60 = iStack_70; iStack_5c = iStack_6c; *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = juce::RenderingHelpers:: ClipRegions::EdgeTableRegion:: vftable; FUN_18129fdb0(puVar3 + 2,&local_68,param_2,local_48); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; local_res8 = puVar3; FUN_1804a9960(param_1,&local_res8); } } } return; } ############ FUN_ 1804af920 size=516 ############ void FUN_1804af920(undefined8 *param_1,float *param_2) { uint uVar1; uint uVar2; float fVar3; byte bVar4; int *piVar5; undefined8 *puVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; undefined8 local_res8; float local_68; float fStack_64; float fStack_60; float fStack_5c; undefined1 local_58 [80]; if ((param_1[7] == 0) && (param_1[8] == 0)) { uVar1 = *(uint *)(param_1 + 6); local_68 = *param_2; fStack_64 = param_2[1]; fStack_60 = param_2[2]; fStack_5c = param_2[3]; uVar2 = uVar1 >> 0x18; local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,uVar1); if (uVar2 < 0xff) { if (uVar2 == 0) { bVar4 = (byte)(uVar1 >> 0x18); local_res8._0_3_ = CONCAT12(bVar4,(ushort)bVar4); } else { local_res8._0_3_ = CONCAT12((char)((uVar1 >> 0x10 & 0xff) * uVar2 + 0x7f >> 8), CONCAT11((char)((uVar1 >> 8 & 0xff) * uVar2 + 0x7f >> 8), (char)((uVar1 & 0xff) * uVar2 + 0x7f >> 8))); } uVar1 = (uint)local_res8; } (**(code **)(*(longlong *)*param_1 + 0x60))((longlong *)*param_1,param_1,&local_68,uVar1); return; } fVar9 = *param_2; fVar3 = param_2[1]; fVar11 = param_2[2]; fStack_5c = param_2[3]; local_68 = fVar9; fStack_64 = fVar3; fStack_60 = fVar11; piVar5 = (int *)(**(code **)(*(longlong *)*param_1 + 0x58))((longlong *)*param_1,local_58); fVar7 = (float)*piVar5; fVar11 = fVar9 + fVar11; if (fVar9 <= fVar7) { fVar9 = fVar7; } fVar8 = (float)piVar5[1]; if (fVar7 + (float)piVar5[2] <= fVar11) { fVar11 = fVar7 + (float)piVar5[2]; } fVar7 = fVar3; if (fVar3 <= fVar8) { fVar7 = fVar8; } fVar11 = fVar11 - fVar9; if (0.0 <= fVar11) { fVar10 = fVar3 + fStack_5c; if (fVar8 + (float)piVar5[3] <= fVar3 + fStack_5c) { fVar10 = fVar8 + (float)piVar5[3]; } fVar10 = fVar10 - fVar7; if (((0.0 <= fVar10) && (0.0 < fVar11)) && (0.0 < fVar10)) { puVar6 = (undefined8 *)FUN_1811316e0(0x38); *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::RenderingHelpers:: ClipRegions::EdgeTableRegion:: vftable; local_68 = fVar9; fStack_64 = fVar7; fStack_60 = fVar11; fStack_5c = fVar10; FUN_18129f510(puVar6 + 2,&local_68); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; local_res8 = puVar6; FUN_1804a9960(param_1,&local_res8); } } return; } ############ FUN_ 1804afb30 size=461 ############ void FUN_1804afb30(undefined8 *param_1,undefined1 (*param_2) [16],undefined1 param_3) { undefined8 *puVar1; undefined1 auVar2 [16]; uint uVar3; int iVar4; int iVar5; int iVar6; uint uVar7; byte bVar8; int *piVar9; int iVar10; int iVar11; int iVar12; int iVar13; undefined8 local_res8; undefined1 local_48 [16]; undefined1 local_38 [32]; if ((param_1[7] == 0) && (param_1[8] == 0)) { uVar3 = *(uint *)(param_1 + 6); local_48 = *param_2; uVar7 = uVar3 >> 0x18; local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,uVar3); if (uVar7 < 0xff) { if (uVar7 == 0) { bVar8 = (byte)(uVar3 >> 0x18); local_res8._0_3_ = CONCAT12(bVar8,(ushort)bVar8); } else { local_res8._0_3_ = CONCAT12((char)((uVar3 >> 0x10 & 0xff) * uVar7 + 0x7f >> 8), CONCAT11((char)((uVar3 >> 8 & 0xff) * uVar7 + 0x7f >> 8), (char)((uVar3 & 0xff) * uVar7 + 0x7f >> 8))); } uVar3 = (uint)local_res8; } (**(code **)(*(longlong *)*param_1 + 0x68))((longlong *)*param_1,param_1,local_48,uVar3,param_3) ; return; } auVar2 = *param_2; local_48 = auVar2; piVar9 = (int *)(**(code **)(*(longlong *)*param_1 + 0x58))((longlong *)*param_1,local_38); iVar10 = auVar2._0_4_; iVar11 = *piVar9; iVar4 = piVar9[1]; iVar5 = iVar11; if (iVar11 < iVar10) { iVar5 = iVar10; } iVar12 = auVar2._4_4_; iVar6 = iVar4; if (iVar4 < iVar12) { iVar6 = iVar12; } iVar10 = iVar10 + auVar2._8_4_; iVar13 = piVar9[2] + iVar11; if (iVar10 < piVar9[2] + iVar11) { iVar13 = iVar10; } iVar13 = iVar13 - iVar5; if (-1 < iVar13) { iVar11 = piVar9[3] + iVar4; if (local_48._12_4_ + iVar12 < piVar9[3] + iVar4) { iVar11 = local_48._12_4_ + iVar12; } local_48._12_4_ = iVar11 - iVar6; if (-1 < (int)local_48._12_4_) { local_48._4_4_ = iVar6; local_48._0_4_ = iVar5; local_48._8_4_ = iVar13; if ((0 < iVar13) && (0 < (int)local_48._12_4_)) { local_res8 = (undefined8 *)FUN_1811316e0(); *(undefined4 *)(local_res8 + 1) = 0; *local_res8 = juce::RenderingHelpers:: ClipRegions:: RectangleListRegion::vftable; local_res8[2] = 0; local_res8[3] = 0; if (0 < local_48._12_4_) { FUN_18049ba20(local_res8 + 2,8); iVar11 = *(int *)((longlong)local_res8 + 0x1c); *(int *)((longlong)local_res8 + 0x1c) = iVar11 + 1; puVar1 = (undefined8 *)(local_res8[2] + (longlong)iVar11 * 0x10); *puVar1 = local_48._0_8_; puVar1[1] = local_48._8_8_; } *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; FUN_1804a9960(param_1,&local_res8); } } } return; } ############ FUN_ 1804ac3b0 size=115 ############ void FUN_1804ac3b0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; int iVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x78); uVar1 = FUN_18049f9a0(uVar1,*param_1,param_3,param_4,uVar3); iVar2 = *(int *)((longlong)param_1 + 0x14) + 1; if (*(int *)(param_1 + 2) < iVar2) { FUN_18047cb30(param_1 + 1,*(int *)((longlong)param_1 + 0x14) + 9 + iVar2 / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0x14); *(int *)((longlong)param_1 + 0x14) = iVar2 + 1; *(undefined8 *)(param_1[1] + (longlong)iVar2 * 8) = uVar1; return; } ############ FUN_ 1804a98b0 size=96 ############ undefined8 * FUN_1804a98b0(longlong param_1,undefined8 *param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x38); puVar1[1] = 0; *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::RenderingHelpers::ClipRegions ::EdgeTableRegion::vftable; FUN_18129f450(puVar1 + 2,param_1 + 0x10); *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; *param_2 = puVar1; return param_2; } ############ FUN_ 1804ace60 size=174 ############ undefined8 FUN_1804ace60(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined4 param_5) { longlong *plVar1; longlong *plVar2; plVar2 = (longlong *)FUN_1811316e0(0x38); *(undefined4 *)(plVar2 + 1) = 0; *plVar2 = (longlong) juce::RenderingHelpers::ClipRegions ::EdgeTableRegion::vftable; FUN_18129fae0(plVar2 + 2,param_1 + 0x10); *(int *)(plVar2 + 1) = (int)plVar2[1] + 1; (**(code **)(*plVar2 + 0x40))(plVar2,param_2,param_3,param_4,param_5); plVar1 = plVar2 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (**(code **)*plVar2)(plVar2,1); } return param_2; } ############ FUN_ 1804acf10 size=159 ############ undefined8 FUN_1804acf10(longlong param_1,undefined8 param_2,undefined8 param_3) { longlong *plVar1; longlong *plVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; plVar2 = (longlong *)FUN_1811316e0(0x38); *(undefined4 *)(plVar2 + 1) = 0; *plVar2 = (longlong) juce::RenderingHelpers::ClipRegions ::EdgeTableRegion::vftable; FUN_18129fae0(plVar2 + 2,param_1 + 0x10); *(int *)(plVar2 + 1) = (int)plVar2[1] + 1; (**(code **)(*plVar2 + 0x38))(plVar2,param_2,param_3,*plVar2,uVar3); plVar1 = plVar2 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (**(code **)*plVar2)(plVar2,1); } return param_2; } ############ FUN_ 1804acfb0 size=163 ############ undefined8 FUN_1804acfb0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; plVar2 = (longlong *)FUN_1811316e0(0x38); *(undefined4 *)(plVar2 + 1) = 0; *plVar2 = (longlong) juce::RenderingHelpers::ClipRegions ::EdgeTableRegion::vftable; FUN_18129fae0(plVar2 + 2,param_1 + 0x10); *(int *)(plVar2 + 1) = (int)plVar2[1] + 1; (**(code **)(*plVar2 + 0x30))(plVar2,param_2,param_3,param_4,uVar3); plVar1 = plVar2 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (**(code **)*plVar2)(plVar2,1); } return param_2; } ############ FUN_ 1804ad2f0 size=96 ############ undefined8 * FUN_1804ad2f0(longlong param_1,undefined8 *param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); puVar1[1] = 0; *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::RenderingHelpers::ClipRegions ::RectangleListRegion::vftable; FUN_1804aaeb0(puVar1 + 2,param_1 + 0x10); *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; *param_2 = puVar1; return param_2; } ############ FUN_ 1804ad950 size=587 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804ad950(longlong *param_1,longlong *param_2) { int iVar1; int iVar2; void *_Src; longlong lVar3; longlong lVar4; undefined8 *puVar5; float *pfVar6; undefined8 uVar7; float *pfVar8; int iVar9; undefined8 *local_res8; float *local_78; undefined8 uStack_70; undefined8 local_68; undefined8 uStack_60; ulonglong local_58; undefined4 local_50; undefined4 uStack_4c; undefined4 uStack_48; undefined4 uStack_44; ulonglong local_40; if (*param_1 != 0) { iVar1 = *(int *)((longlong)param_2 + 0xc); if (iVar1 == 1) { puVar5 = (undefined8 *)*param_2; local_78 = (float *)*puVar5; uStack_70 = puVar5[1]; FUN_1804adba0(*(undefined4 *)puVar5,&local_78); } else { if ((((char)param_1[5] == '\0') || ((int)param_1[4] != 0)) || (*(int *)((longlong)param_1 + 0x24) != 0)) { if (*(char *)((longlong)param_1 + 0x29) == '\0') { local_78 = (float *)0x0; uStack_70 = 0; _Src = (void *)*param_2; iVar9 = 0; if (0 < iVar1) { FUN_18049ba20(&local_78,iVar1 + 8 + iVar1 / 2 & 0xfffffff8); iVar9 = uStack_70._4_4_; } pfVar8 = local_78; memcpy(local_78 + (longlong)iVar9 * 4,_Src,(longlong)iVar1 << 4); uStack_70 = CONCAT44(iVar9 + iVar1,(undefined4)uStack_70); if ((char)param_1[5] == '\0') { lVar4 = param_1[1]; lVar3 = param_1[2]; local_58 = param_1[3]; local_68._0_4_ = (undefined4)lVar4; local_68._4_4_ = (undefined4)((ulonglong)lVar4 >> 0x20); uStack_60._0_4_ = (undefined4)lVar3; uStack_60._4_4_ = (undefined4)((ulonglong)lVar3 >> 0x20); local_50 = (undefined4)local_68; uStack_4c = local_68._4_4_; uStack_48 = (undefined4)uStack_60; uStack_44 = uStack_60._4_4_; local_68 = lVar4; uStack_60 = lVar3; local_40 = local_58; FUN_1804afd00(&local_78,&local_50); } else { iVar2 = *(int *)((longlong)param_1 + 0x24); lVar4 = param_1[4]; pfVar6 = pfVar8 + (longlong)(iVar9 + iVar1) * 4; for (; pfVar8 != pfVar6; pfVar8 = pfVar8 + 4) { *pfVar8 = (float)(int)lVar4 + *pfVar8; pfVar8[1] = (float)iVar2 + pfVar8[1]; } } puVar5 = (undefined8 *)FUN_1811316e0(0x38); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::RenderingHelpers:: ClipRegions::EdgeTableRegion ::vftable; FUN_18129f7b0(puVar5 + 2,&local_78); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; local_res8 = puVar5; FUN_1804a9960(param_1,&local_res8); pfVar8 = local_78; } else { local_68 = _DAT_1824c4780; uStack_60 = _UNK_1824c4788; local_58 = (ulonglong)DAT_1824c3ea4; uVar7 = FUN_1804a9f10(param_2,&local_50); FUN_1804ad7b0(param_1,uVar7,&local_68); uStack_44 = 0; pfVar8 = (float *)CONCAT44(uStack_4c,local_50); } /* WARNING: Subroutine does not return */ free(pfVar8); } puVar5 = (undefined8 *)FUN_1811316e0(0x38); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::RenderingHelpers:: ClipRegions::EdgeTableRegion:: vftable; FUN_18129f7b0(puVar5 + 2,param_2); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; local_res8 = puVar5; FUN_1804a9960(param_1,&local_res8); } } return; } ############ FUN_ 1804d0350 size=509 ############ void FUN_1804d0350(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong lVar2; char cVar3; DWORD DVar4; DWORD DVar5; undefined8 *puVar6; longlong lVar7; int iVar8; undefined8 uVar9; uVar9 = 0xfffffffffffffffe; DVar4 = timeGetTime(); if (DVar4 < DAT_1826737fc) { if (DVar4 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar4; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar4; } puVar6 = (undefined8 *)FUN_1811316e0(0x10); *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::Timer::TimerThread::CallTimersMessage::vftable; LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); LAB_1804d03e0: do { while( true ) { if (*(int *)(param_1 + 0x1b8) != 0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*puVar6)(puVar6,1,param_3,param_4,uVar9); } return; } DVar5 = timeGetTime(); if (DVar5 < DAT_1826737fc) { if (DVar5 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar5; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar5; } iVar8 = (DVar5 - DVar4) + -1; if (DVar4 <= DVar5) { iVar8 = DVar5 - DVar4; } EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673a78); lVar2 = *(longlong *)(param_1 + 0x220); DVar4 = DVar5; if (*(longlong *)(param_1 + 0x218) != lVar2) break; LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673a78); iVar8 = 1000; LAB_1804d0464: if (100 < iVar8) { iVar8 = 100; } FUN_181215c90(param_1 + 0xf8,iVar8); } for (lVar7 = *(longlong *)(param_1 + 0x218); lVar7 != lVar2; lVar7 = lVar7 + 0x10) { *(int *)(lVar7 + 8) = *(int *)(lVar7 + 8) - iVar8; } iVar8 = *(int *)(*(longlong *)(param_1 + 0x218) + 8); LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673a78); if ((0 < iVar8) || (cVar3 = FUN_181215c90(param_1 + 0x230,0), cVar3 != '\0')) { if (0 < iVar8) goto LAB_1804d0464; FUN_181215c90(param_1 + 0xf8,1); goto LAB_1804d03e0; } FUN_1812a6720(puVar6); cVar3 = FUN_181215c90(param_1 + 0x230,300); if (cVar3 == '\0') { FUN_1812a6720(puVar6); } } while( true ); } ############ FUN_ 1812a5530 size=170 ############ void FUN_1812a5530(longlong *param_1) { undefined8 uVar1; FUN_18122b1d0(param_1[0xb]); EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 1)); if (param_1[7] != 0) { FUN_1812388c0(); } if (param_1[8] != 0) { FUN_181217150(); } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 1)); FUN_18122afa0(param_1[0xb],4000); FUN_1812a54d0(param_1); if ((char)param_1[9] != '\0') { *(undefined1 *)(param_1 + 9) = 0; if (*(char *)((longlong)param_1 + 0x49) != '\0') { uVar1 = FUN_1811316e0(0x20); uVar1 = FUN_1804d0b70(uVar1,param_1,0); FUN_1812a6720(uVar1); return; } (**(code **)(*param_1 + 0x10))(param_1); } return; } ############ FUN_ 1804d1aa0 size=178 ############ longlong * FUN_1804d1aa0(longlong *param_1,longlong param_2) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; undefined8 *puVar5; if (param_2 != 0) { if (*(longlong *)(param_2 + 0x68) == 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x18); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::WeakReference:: SharedPointer::vftable; puVar5[2] = param_2; if (*(undefined8 **)(param_2 + 0x68) != puVar5) { LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); puVar3 = *(undefined8 **)(param_2 + 0x68); *(undefined8 **)(param_2 + 0x68) = puVar5; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } } } lVar4 = *(longlong *)(param_2 + 0x68); *param_1 = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } return param_1; } *param_1 = 0; return param_1; } ############ FUN_ 1804d1550 size=226 ############ LRESULT FUN_1804d1550(HWND param_1,UINT param_2,WPARAM param_3,longlong *param_4) { uint uVar1; longlong lVar2; undefined8 *puVar3; LRESULT LVar4; if (param_1 == DAT_1826736b0) { if (param_2 == 0x47b) { if (DAT_182673ad8 != 0) { FUN_1804d17d0(); } } else { if (param_2 != 0x4a) { if ((param_2 == 0x1a) && (DAT_1826736f0 != (code *)0x0)) { (*DAT_1826736f0)(); } goto LAB_1804d160b; } if ((param_4 != (longlong *)0x0) && (*param_4 == 0xc403)) { puVar3 = (undefined8 *)FUN_1811316e0(0x18); uVar1 = *(uint *)(param_4 + 1); lVar2 = param_4[2]; *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = `private:_static_void___cdecl_juce::InternalMessageQueue::handleBroadcastMessage(tagCOPYDATASTRUCT_const*___ptr64)' ::__l5::BroadcastMessage::vftable; FUN_18049ce10(puVar3 + 2,lVar2,uVar1 >> 2); FUN_1812a6720(puVar3); return 0; } } LVar4 = 0; } else { LAB_1804d160b: LVar4 = DefWindowProcW(param_1,param_2,param_3,(LPARAM)param_4); } return LVar4; } ############ FUN_ 1812a5a90 size=347 ############ void FUN_1812a5a90(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; undefined8 uVar2; undefined8 *puVar3; longlong lVar4; int iVar5; undefined8 *puVar6; undefined8 *puVar7; longlong lVar8; undefined8 uVar9; uVar9 = 0xfffffffffffffffe; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x18)); iVar5 = *(int *)(param_1 + 0x14) + -1; lVar8 = (longlong)iVar5; if (-1 < iVar5) { do { puVar6 = (undefined8 *)FUN_1811316e0(0x28); uVar2 = *(undefined8 *)(*(longlong *)(param_1 + 8) + lVar8 * 8); *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::ActionBroadcaster::ActionMessage::vftable; if (param_1 == 0) { puVar6[2] = 0; } else { if (*(longlong *)(param_1 + 0x48) == 0) { puVar7 = (undefined8 *)FUN_1811316e0(0x18); *(undefined4 *)(puVar7 + 1) = 0; *puVar7 = juce::WeakReference:: SharedPointer::vftable; puVar7[2] = param_1; if (*(undefined8 **)(param_1 + 0x48) != puVar7) { LOCK(); *(int *)(puVar7 + 1) = *(int *)(puVar7 + 1) + 1; UNLOCK(); puVar3 = *(undefined8 **)(param_1 + 0x48); *(undefined8 **)(param_1 + 0x48) = puVar7; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*puVar3)(puVar3,1,param_3,param_4,uVar9); } } } } lVar4 = *(longlong *)(param_1 + 0x48); puVar6[2] = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } } lVar4 = *param_2; puVar6[3] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } puVar6[4] = uVar2; FUN_1812a6720(puVar6); lVar8 = lVar8 + -1; } while (-1 < lVar8); } /* WARNING: Could not recover jumptable at 0x0001812a5be4. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x18)); return; } ############ FUN_ 18051b750 size=238 ############ longlong * FUN_18051b750(longlong *param_1,longlong param_2) { int *piVar1; int iVar2; undefined8 *puVar3; undefined8 *puVar4; longlong lVar5; if (param_2 == 0) { lVar5 = 0; } else { if (*(longlong *)(param_2 + 0x120) == 0) { puVar4 = (undefined8 *)FUN_1811316e0(); *(undefined4 *)(puVar4 + 1) = 0; *puVar4 = juce::WeakReference::SharedPointer:: vftable; puVar4[2] = param_2; if (*(undefined8 **)(param_2 + 0x120) != puVar4) { LOCK(); *(int *)(puVar4 + 1) = *(int *)(puVar4 + 1) + 1; UNLOCK(); puVar3 = *(undefined8 **)(param_2 + 0x120); *(undefined8 **)(param_2 + 0x120) = puVar4; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } } } lVar5 = *(longlong *)(param_2 + 0x120); if (lVar5 != 0) { LOCK(); *(int *)(lVar5 + 8) = *(int *)(lVar5 + 8) + 1; UNLOCK(); } } puVar4 = (undefined8 *)*param_1; *param_1 = lVar5; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } return param_1; } ############ FUN_ 1804d8e40 size=263 ############ void FUN_1804d8e40(longlong param_1) { undefined1 uVar1; longlong lVar2; undefined8 *puVar3; undefined8 uVar4; undefined8 local_68; undefined8 local_60; void *local_58 [3]; (**(code **)(*(longlong *)(param_1 + 0x48) + 0x58))((longlong *)(param_1 + 0x48),0); puVar3 = (undefined8 *)FUN_1811316e0(0x48); local_68 = 0; local_60 = 0; FUN_18048c4c0(&local_68,*(undefined8 *)(param_1 + 0x4d8),*(undefined4 *)(param_1 + 0x4e4)); uVar1 = *(undefined1 *)(param_1 + 0xfa4); lVar2 = *(longlong *)(param_1 + 0x18); uVar4 = *(undefined8 *)(param_1 + 0x20); *puVar3 = *(undefined8 *)(lVar2 + 200); puVar3[1] = uVar4; puVar3[2] = 0; puVar3[3] = 0; lVar2 = *(longlong *)(lVar2 + 0xd0); puVar3[4] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } puVar3[5] = 0; puVar3[6] = 0; puVar3[7] = 0; *(undefined1 *)(puVar3 + 8) = uVar1; FUN_18123e3a0(&local_68); uVar4 = (**(code **)(*(longlong *)puVar3[1] + 0x50)) ((longlong *)puVar3[1],local_58,&local_68,1,*(undefined1 *)(puVar3 + 8)); FUN_1812b9c40(puVar3,uVar4); FUN_180488c50(local_58); /* WARNING: Subroutine does not return */ free(local_58[0]); } ############ FUN_ 18122a910 size=371 ############ void FUN_18122a910(longlong param_1,int param_2,longlong param_3) { int iVar1; int iVar2; undefined8 *puVar3; void *pvVar4; uint *_Memory; ulonglong uVar5; int iVar6; ulonglong uVar7; uint uVar8; longlong local_res18 [2]; iVar6 = 1; if (1 < param_2) { iVar6 = param_2; } uVar7 = 0; local_res18[0] = param_3; do { iVar6 = iVar6 + -1; if (iVar6 < 0) { puVar3 = *(undefined8 **)(param_1 + 0x10); uVar5 = (ulonglong)((longlong)(puVar3 + *(int *)(param_1 + 0x1c)) + (7 - (longlong)puVar3)) >> 3; if (puVar3 + *(int *)(param_1 + 0x1c) < puVar3) { uVar5 = uVar7; } if (uVar5 != 0) { do { FUN_18122b350(*puVar3); puVar3 = puVar3 + 1; uVar7 = uVar7 + 1; } while (uVar7 != uVar5); } return; } puVar3 = (undefined8 *)FUN_1811316e0(0x210); FUN_18049c4e0(local_res18,&DAT_1824968b4); FUN_18122b770(puVar3,local_res18); _Memory = (uint *)(local_res18[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar8 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *puVar3 = juce::ThreadPool::ThreadPoolThread::vftable; puVar3[0x40] = 0; puVar3[0x41] = param_1; iVar1 = *(int *)(param_1 + 0x1c); iVar2 = iVar1 + 1; if ((int)*(uint *)(param_1 + 0x18) < iVar2) { if (iVar2 < 0) { iVar2 = iVar1 + 2; } uVar8 = iVar1 + 9 + (iVar2 >> 1) & 0xfffffff8; if (*(uint *)(param_1 + 0x18) != uVar8) { pvVar4 = *(void **)(param_1 + 0x10); if ((int)uVar8 < 1) { /* WARNING: Subroutine does not return */ free(pvVar4); } if (pvVar4 == (void *)0x0) { pvVar4 = malloc((longlong)(int)uVar8 * 8); *(void **)(param_1 + 0x10) = pvVar4; } else { pvVar4 = realloc(pvVar4,(longlong)(int)uVar8 * 8); *(void **)(param_1 + 0x10) = pvVar4; } } *(uint *)(param_1 + 0x18) = uVar8; } iVar2 = *(int *)(param_1 + 0x1c); *(int *)(param_1 + 0x1c) = iVar2 + 1; *(undefined8 **)(*(longlong *)(param_1 + 0x10) + (longlong)iVar2 * 8) = puVar3; } while( true ); } ############ FUN_ 1812d3dc0 size=3438 ############ void FUN_1812d3dc0(longlong param_1,char param_2) { uint *_Memory; float fVar1; uint uVar2; byte bVar3; double dVar4; undefined8 uVar5; undefined8 uVar6; int iVar7; longlong lVar8; longlong *plVar9; undefined8 *puVar10; int *piVar11; longlong lVar12; int iVar13; uint *_Memory_00; byte *pbVar14; longlong *plVar15; longlong *plVar16; int iVar17; int iVar18; ulonglong uVar19; ulonglong uVar20; int iVar21; ulonglong uVar22; float fVar23; float fVar24; undefined8 uVar25; undefined8 extraout_XMM0_Qb; undefined1 auVar26 [16]; ulonglong local_res8; undefined1 local_res20 [8]; longlong local_1f8; undefined1 *local_1f0; undefined4 local_1e8; undefined4 local_1e4; undefined8 local_1e0; int *local_1d8; undefined8 local_1d0; longlong local_1c8; byte *local_1c0; undefined4 local_1b8; int iStack_1b4; undefined4 local_1b0; int iStack_1ac; undefined4 local_1a8; int iStack_1a4; int local_1a0; int iStack_19c; undefined4 local_198; int iStack_194; int local_190; int iStack_18c; int local_188; int iStack_184; int local_180; int iStack_17c; undefined8 local_178; undefined4 uStack_170; undefined4 uStack_16c; undefined8 local_168; undefined4 uStack_160; undefined4 uStack_15c; undefined8 *local_158; double local_150; double local_148; double local_140; double local_138; undefined8 local_130; undefined8 local_128; undefined8 uStack_120; undefined8 local_118; undefined8 uStack_110; undefined8 local_108; undefined8 uStack_100; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined8 uStack_e0; undefined8 local_d8; undefined8 uStack_d0; undefined1 local_c8 [16]; undefined1 local_b8 [16]; undefined1 local_a8 [16]; undefined1 local_98 [16]; undefined1 local_88 [16]; local_130 = 0xfffffffffffffffe; lVar8 = FUN_18134adf0(); plVar15 = (longlong *)(lVar8 + 0x38); (**(code **)(*plVar15 + 0x38))(plVar15,&local_1f8); plVar9 = (longlong *)FUN_181252280(&local_1f8); fVar23 = (float)(**(code **)(*plVar9 + 0x28))(plVar9,param_1 + 8); iVar18 = 0; if (*(float *)(local_1f8 + 0x30) != 0.0) { pbVar14 = *(byte **)(param_1 + 8); iVar13 = iVar18; while( true ) { while( true ) { bVar3 = *pbVar14; pbVar14 = pbVar14 + 1; if (-1 < (char)bVar3) break; if ((*pbVar14 & 0xc0) != 0x80) goto LAB_1812d3e77; do { pbVar14 = pbVar14 + 1; } while ((*pbVar14 & 0xc0) == 0x80); iVar13 = iVar13 + 1; } if (bVar3 == 0) break; LAB_1812d3e77: iVar13 = iVar13 + 1; } fVar23 = fVar23 + (float)iVar13 * *(float *)(local_1f8 + 0x30); } fVar23 = ceilf(fVar23 * *(float *)(local_1f8 + 0x28) * *(float *)(local_1f8 + 0x2c)); plVar9 = (longlong *)FUN_181252280(&local_1f8); uVar25 = (**(code **)(*plVar9 + 0x28))(plVar9,param_1 + 0xc0); auVar26._8_4_ = (int)extraout_XMM0_Qb; auVar26._0_8_ = uVar25; auVar26._12_4_ = (int)((ulonglong)extraout_XMM0_Qb >> 0x20); if (*(float *)(local_1f8 + 0x30) != 0.0) { pbVar14 = *(byte **)(param_1 + 0xc0); while( true ) { while( true ) { bVar3 = *pbVar14; pbVar14 = pbVar14 + 1; if (-1 < (char)bVar3) break; if ((*pbVar14 & 0xc0) != 0x80) goto LAB_1812d3f17; do { pbVar14 = pbVar14 + 1; } while ((*pbVar14 & 0xc0) == 0x80); iVar18 = iVar18 + 1; } if (bVar3 == 0) break; LAB_1812d3f17: iVar18 = iVar18 + 1; } auVar26._0_4_ = (float)uVar25 + (float)iVar18 * *(float *)(local_1f8 + 0x30); } fVar1 = *(float *)(local_1f8 + 0x28); fVar24 = ceilf(fVar1 * auVar26._0_4_ * *(float *)(local_1f8 + 0x2c)); iVar18 = (int)fVar24; if ((int)fVar24 < (int)fVar23) { iVar18 = (int)fVar23; } sqrtf((float)iVar18 * fVar1); if (*(longlong *)(param_1 + 0x18) == 0) { FUN_181344bc0(param_1,local_c8); } fVar23 = DAT_1824c3df0; iVar13 = 0; local_1f0 = &DAT_1821dbf98; local_1e8 = 0; local_1e4 = 1; local_1e0 = 1; local_1d8 = (int *)0x0; local_1d0 = 0; uVar25 = (**(code **)(*plVar15 + 0x30))(plVar15,&local_158); FUN_181232d30(&local_1f0,param_1 + 8); pbVar14 = *(byte **)(param_1 + 8); uVar20 = 0; iVar18 = 0; uVar22 = uVar20; while( true ) { while( true ) { bVar3 = *pbVar14; pbVar14 = pbVar14 + 1; if (-1 < (char)bVar3) break; if ((*pbVar14 & 0xc0) != 0x80) goto LAB_1812d4028; do { pbVar14 = pbVar14 + 1; } while ((*pbVar14 & 0xc0) == 0x80); uVar22 = uVar22 + 1; } if (bVar3 == 0) break; LAB_1812d4028: uVar22 = uVar22 + 1; } FUN_1812554b0(&local_1d8,uVar22 & 0xffffffff,uVar25,0); if (local_158 != (undefined8 *)0x0) { LOCK(); piVar11 = (int *)(local_158 + 1); iVar21 = *piVar11; *piVar11 = *piVar11 + -1; UNLOCK(); if (iVar21 == 1) { (**(code **)*local_158)(local_158,1); } } if (**(char **)(param_1 + 0xc0) != '\0') { FUN_18049c4e0(&local_1c8,&DAT_1821e32bc); puVar10 = (undefined8 *)FUN_181232d30(&local_1c8,param_1 + 0xc0); local_1c0 = (byte *)*puVar10; _Memory = (uint *)(local_1c0 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } _Memory_00 = (uint *)(local_1c8 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } FUN_181232d30(&local_1f0,&local_1c0); pbVar14 = local_1c0; uVar22 = uVar20; while( true ) { while( true ) { bVar3 = *pbVar14; pbVar14 = pbVar14 + 1; if (-1 < (char)bVar3) break; if ((*pbVar14 & 0xc0) != 0x80) goto LAB_1812d4128; do { pbVar14 = pbVar14 + 1; } while ((*pbVar14 & 0xc0) == 0x80); uVar22 = uVar22 + 1; } if (bVar3 == 0) break; LAB_1812d4128: uVar22 = uVar22 + 1; } FUN_1812554b0(&local_1d8,uVar22,&local_1f8,0); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } piVar11 = (int *)FUN_18134a8d0(param_1,local_res20,0x1001810,0); iVar21 = *piVar11; iVar7 = iVar18; if (local_1d0._4_4_ != 0) { iVar7 = local_1d8[(longlong)(local_1d0._4_4_ + -1) * 6 + 1]; } local_1b8 = 0; iStack_1b4 = iVar18; if (0 < iVar7) { iStack_1b4 = iVar7; } if (local_1d0._4_4_ != 0) { iVar18 = local_1d8[(longlong)(local_1d0._4_4_ + -1) * 6 + 1]; } local_1b0 = 0; iStack_1ac = 0; if (0 < iVar18) { iStack_1ac = iVar18; } iVar18 = iStack_1b4; if (iStack_1ac < iStack_1b4) { iVar18 = iStack_1ac; } local_1a8 = 0; iVar7 = 0; if (0 < iVar18) { iVar7 = iVar18; } iStack_1a4 = iVar7; if (iVar7 != 0) { FUN_181255950(&local_1d8,0); FUN_181255950(&local_1d8,iVar7); } for (piVar11 = local_1d8; piVar11 != local_1d8 + (longlong)local_1d0._4_4_ * 6; piVar11 = piVar11 + 6) { if (0 < piVar11[1]) { if (iVar7 <= *piVar11) break; piVar11[4] = iVar21; } } FUN_181255700(&local_1d8); if (*(int *)(param_1 + 0xe8) == 0) { local_1e4 = 0xc; FUN_18124e270(param_1 + 200,&local_1f0); } else { local_1e4 = 9; FUN_18124e270(param_1 + 200,&local_1f0); iVar13 = 0x50; } iVar13 = (int)*(float *)(param_1 + 0xd8) + 0x28 + iVar13; iVar18 = 0x15e; if (0x15e < iVar13) { iVar18 = iVar13; } if (*(longlong *)(param_1 + 0x18) == 0) { lVar8 = FUN_181344bc0(param_1,local_b8); iVar13 = *(int *)(lVar8 + 8); } else { iVar13 = *(int *)(*(longlong *)(param_1 + 0x18) + 0x28); } iVar13 = (int)((float)iVar13 * fVar23); if (iVar13 < iVar18) { iVar18 = iVar13; } iVar21 = (int)*(float *)(param_1 + 0xdc) + 0x28; iVar13 = 0x28; plVar15 = *(longlong **)(param_1 + 0x140); uVar22 = (ulonglong)((longlong)(plVar15 + *(int *)(param_1 + 0x14c)) + (7 - (longlong)plVar15)) >> 3; if (plVar15 + *(int *)(param_1 + 0x14c) < plVar15) { uVar22 = uVar20; } uVar19 = uVar20; if (uVar22 != 0) { do { iVar13 = iVar13 + 0x10 + *(int *)(*plVar15 + 0x28); plVar15 = plVar15 + 1; uVar19 = uVar19 + 1; } while (uVar19 != uVar22); } if (iVar13 < iVar18) { iVar13 = iVar18; } iVar18 = (*(int *)(param_1 + 0x17c) + *(int *)(param_1 + 0x16c) + *(int *)(param_1 + 0x15c)) * 0x32 + iVar21; if ((*(int *)(param_1 + 0x14c) != 0) && (**(longlong **)(param_1 + 0x140) != 0)) { iVar18 = iVar18 + *(int *)(**(longlong **)(param_1 + 0x140) + 0x2c) + 0x14; } plVar15 = *(longlong **)(param_1 + 0x180); uVar22 = (ulonglong)((longlong)(plVar15 + *(int *)(param_1 + 0x18c)) + (7 - (longlong)plVar15)) >> 3; if (plVar15 + *(int *)(param_1 + 0x18c) < plVar15) { uVar22 = uVar20; } uVar19 = uVar20; if (uVar22 != 0) { do { lVar8 = *plVar15; iVar7 = (*(int *)(lVar8 + 0x28) * 100) / 0x50; if (iVar13 < iVar7) { iVar13 = iVar7; } iVar18 = iVar18 + *(int *)(lVar8 + 0x2c) + 10; if (**(char **)(lVar8 + 8) != '\0') { iVar18 = iVar18 + 0x12; } plVar15 = plVar15 + 1; uVar19 = uVar19 + 1; } while (uVar19 != uVar22); } plVar15 = *(longlong **)(param_1 + 400); uVar22 = (ulonglong)((longlong)(plVar15 + *(int *)(param_1 + 0x19c)) + (7 - (longlong)plVar15)) >> 3; if (plVar15 + *(int *)(param_1 + 0x19c) < plVar15) { uVar22 = uVar20; } if (uVar22 != 0) { do { if (iVar13 < *(int *)(*plVar15 + 800)) { iVar13 = *(int *)(*plVar15 + 800); } plVar15 = plVar15 + 1; uVar20 = uVar20 + 1; } while (uVar20 != uVar22); } if (*(longlong *)(param_1 + 0x18) == 0) { uStack_16c = *(undefined4 *)(param_1 + 0x2c); uStack_170 = *(undefined4 *)(param_1 + 0x28); local_178 = 0; uVar6 = 0; uVar25 = local_128; uVar5 = uStack_120; uStack_120 = *(undefined8 *)(param_1 + 0x28); for (lVar8 = param_1; local_128 = uVar6, lVar8 != 0; lVar8 = *(longlong *)(lVar8 + 0x18)) { puVar10 = (undefined8 *)FUN_18051e4b0(local_a8,lVar8,&local_128); uVar6 = *puVar10; uVar25 = local_128; uVar5 = uStack_120; uStack_120 = puVar10[1]; } local_118 = local_128; uStack_110 = uStack_120; local_108 = local_128; uStack_100 = uStack_120; if (DAT_182673700 == 0) { local_128 = uVar25; uStack_120 = uVar5; local_108 = local_118; uStack_100 = uStack_110; uVar25 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar25); uVar25 = local_128; uVar5 = uStack_120; } uStack_120 = uVar5; local_128 = uVar25; lVar8 = FUN_18133d8f0(*(undefined8 *)(DAT_182673700 + 0x78),&local_108,0); iVar7 = *(int *)(lVar8 + 0x1c); } else { iVar7 = *(int *)(*(longlong *)(param_1 + 0x18) + 0x28); } fVar1 = DAT_1824c3e28; iVar7 = (int)((float)iVar7 * fVar23); if (iVar7 < iVar13) { iVar13 = iVar7; } plVar15 = *(longlong **)(param_1 + 400); uVar20 = 0; uVar22 = (ulonglong)((longlong)(plVar15 + *(int *)(param_1 + 0x19c)) + (7 - (longlong)plVar15)) >> 3; if (plVar15 + *(int *)(param_1 + 0x19c) < plVar15) { uVar22 = uVar20; } if (uVar22 != 0) { fVar23 = (float)iVar13 * DAT_1824c3e28; do { lVar8 = *plVar15; FUN_18050beb0(lVar8,(int)fVar23); iVar18 = iVar18 + 10 + *(int *)(lVar8 + 0x2c); plVar15 = plVar15 + 1; uVar20 = uVar20 + 1; } while (uVar20 != uVar22); } if (*(longlong *)(param_1 + 0x18) == 0) { uStack_15c = *(undefined4 *)(param_1 + 0x2c); uStack_160 = *(undefined4 *)(param_1 + 0x28); local_168 = 0; uVar6 = 0; uVar25 = local_f8; uVar5 = uStack_f0; uStack_f0 = *(undefined8 *)(param_1 + 0x28); for (lVar8 = param_1; local_f8 = uVar6, lVar8 != 0; lVar8 = *(longlong *)(lVar8 + 0x18)) { puVar10 = (undefined8 *)FUN_18051e4b0(local_98,lVar8,&local_f8); uVar6 = *puVar10; uVar25 = local_f8; uVar5 = uStack_f0; uStack_f0 = puVar10[1]; } local_e8 = local_f8; uStack_e0 = uStack_f0; local_d8 = local_f8; uStack_d0 = uStack_f0; if (DAT_182673700 == 0) { local_f8 = uVar25; uStack_f0 = uVar5; local_d8 = local_e8; uStack_d0 = uStack_e0; uVar25 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar25); uVar25 = local_f8; uVar5 = uStack_f0; } uStack_f0 = uVar5; local_f8 = uVar25; lVar8 = FUN_18133d8f0(*(undefined8 *)(DAT_182673700 + 0x78),&local_d8,0); iVar7 = SUB164(*(undefined1 (*) [16])(lVar8 + 0x14),0xc); } else { iVar7 = *(int *)(*(longlong *)(param_1 + 0x18) + 0x2c); } iVar17 = iVar7 + -0x32; if (iVar18 < iVar7 + -0x32) { iVar17 = iVar18; } if (param_2 != '\0') { if (iVar13 < *(int *)(param_1 + 0x28)) { iVar13 = *(int *)(param_1 + 0x28); } if (iVar17 < *(int *)(param_1 + 0x2c)) { iVar17 = *(int *)(param_1 + 0x2c); } } if ((*(byte *)(param_1 + 0xa8) >> 1 & 1) == 0) { FUN_1812cbe70(param_1,*(undefined8 *)(param_1 + 0x1d0),iVar13,iVar17); } else { local_88 = *(undefined1 (*) [16])(param_1 + 0x20); iStack_184 = local_88._4_4_ + (local_88._12_4_ - iVar17) / 2; local_188 = (local_88._8_4_ - iVar13) / 2 + local_88._0_4_; local_180 = iVar13; iStack_17c = iVar17; FUN_18134bfe0(param_1,local_188,iStack_184,iVar13,iVar17); } *(undefined4 *)(param_1 + 0x130) = 10; *(undefined4 *)(param_1 + 0x134) = 10; *(int *)(param_1 + 0x138) = iVar13 + -0x14; *(int *)(param_1 + 0x13c) = iVar17 + -10; dVar4 = DAT_1824c4520; fVar23 = DAT_1824c3e7c; iVar18 = -0x10; plVar15 = *(longlong **)(param_1 + 0x140); uVar20 = 0; uVar22 = (ulonglong)((longlong)(plVar15 + *(int *)(param_1 + 0x14c)) + (7 - (longlong)plVar15)) >> 3; if (plVar15 + *(int *)(param_1 + 0x14c) < plVar15) { uVar22 = uVar20; } uVar19 = uVar20; if (uVar22 != 0) { do { iVar18 = iVar18 + 0x10 + *(int *)(*plVar15 + 0x28); plVar15 = plVar15 + 1; uVar19 = uVar19 + 1; } while (uVar19 != uVar22); } iVar13 = (iVar13 - iVar18) / 2; iVar18 = (int)((float)*(int *)(param_1 + 0x2c) * DAT_1824c3e7c); plVar15 = *(longlong **)(param_1 + 0x140); local_res8 = 0; uVar22 = (ulonglong)((longlong)(plVar15 + *(int *)(param_1 + 0x14c)) + (7 - (longlong)plVar15)) >> 3; if (plVar15 + *(int *)(param_1 + 0x14c) < plVar15) { uVar22 = uVar20; } if (uVar22 != 0) { do { lVar8 = *plVar15; local_150 = (double)((float)*(int *)(param_1 + 0x2c) * fVar23) + dVar4; iVar7 = local_150._0_4_ - *(int *)(lVar8 + 0x2c); local_1a0 = iVar13; iStack_19c = iVar7; FUN_18134bfe0(lVar8,iVar13,iVar7,*(undefined4 *)(lVar8 + 0x28),*(int *)(lVar8 + 0x2c)); if (iVar7 < iVar18) { iVar18 = iVar7; } iVar13 = iVar13 + *(int *)(lVar8 + 0x28) + 0x10; FUN_181344f60(lVar8,0); plVar15 = plVar15 + 1; local_res8 = local_res8 + 1; } while (local_res8 != uVar22); } fVar23 = DAT_1824c3cb8; uVar20 = 0; plVar15 = *(longlong **)(param_1 + 0x1a0); uVar22 = (ulonglong)((longlong)(plVar15 + *(int *)(param_1 + 0x1ac)) + (7 - (longlong)plVar15)) >> 3; if (plVar15 + *(int *)(param_1 + 0x1ac) < plVar15) { uVar22 = uVar20; } if (uVar22 != 0) { do { lVar8 = *plVar15; iVar18 = 0x16; lVar12 = __RTDynamicCast(lVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::ComboBox::RTTI_Type_Descriptor,0); plVar9 = *(longlong **)(param_1 + 0x160); for (plVar16 = plVar9; plVar16 != plVar9 + *(int *)(param_1 + 0x16c); plVar16 = plVar16 + 1) { if (lVar12 == *plVar16) { if ((-1 < (int)((longlong)plVar16 - (longlong)plVar9 >> 3)) && (puVar10 = (undefined8 *)FUN_181249970(param_1 + 0x1c0), *(char *)*puVar10 != '\0')) { iVar21 = iVar21 + 0x12; } break; } } lVar12 = __RTDynamicCast(lVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::TextEditor::RTTI_Type_Descriptor,0); plVar9 = *(longlong **)(param_1 + 0x150); for (plVar16 = plVar9; plVar16 != plVar9 + *(int *)(param_1 + 0x15c); plVar16 = plVar16 + 1) { if (lVar12 == *plVar16) { if ((-1 < (int)((longlong)plVar16 - (longlong)plVar9 >> 3)) && (puVar10 = (undefined8 *)FUN_181249970(param_1 + 0x1b0), *(char *)*puVar10 != '\0')) { iVar21 = iVar21 + 0x12; } break; } } plVar16 = *(longlong **)(param_1 + 0x180); plVar9 = plVar16 + *(int *)(param_1 + 0x18c); for (; plVar16 != plVar9; plVar16 = plVar16 + 1) { if (lVar8 == *plVar16) { if (**(char **)(lVar8 + 8) != '\0') { iVar21 = iVar21 + 0x12; } local_148 = (double)((float)*(int *)(param_1 + 0x28) * fVar23) + dVar4; local_198 = SUB84(local_148,0); iStack_194 = iVar21; FUN_18134bfe0(lVar8,(ulonglong)local_148 & 0xffffffff,iVar21,*(undefined4 *)(lVar8 + 0x28) ,*(undefined4 *)(lVar8 + 0x2c)); iVar18 = *(int *)(lVar8 + 0x2c); goto LAB_1812d4a4c; } } plVar16 = *(longlong **)(param_1 + 400); plVar9 = plVar16 + *(int *)(param_1 + 0x19c); for (; plVar16 != plVar9; plVar16 = plVar16 + 1) { if (lVar8 == *plVar16) { local_190 = (*(int *)(param_1 + 0x28) - *(int *)(lVar8 + 0x28)) / 2; iStack_18c = iVar21; FUN_18134bfe0(lVar8,local_190,iVar21,*(int *)(lVar8 + 0x28),*(undefined4 *)(lVar8 + 0x2c)) ; iVar18 = *(int *)(lVar8 + 0x2c); goto LAB_1812d4a4c; } } local_140 = (double)((float)*(int *)(param_1 + 0x28) * fVar1) + dVar4; local_138 = (double)((float)*(int *)(param_1 + 0x28) * fVar23) + dVar4; FUN_18134bfe0(lVar8,(ulonglong)local_138 & 0xffffffff,iVar21,(ulonglong)local_140 & 0xffffffff ,0x16); LAB_1812d4a4c: iVar21 = iVar21 + 10 + iVar18; plVar15 = plVar15 + 1; uVar20 = uVar20 + 1; } while (uVar20 != uVar22); } *(byte *)(param_1 + 0xa8) = *(byte *)(param_1 + 0xa8) ^ ((*(int *)(param_1 + 0x4c) == 0) << 5 ^ *(byte *)(param_1 + 0xa8)) & 0x20; FUN_1804aed10(&local_1d8); /* WARNING: Subroutine does not return */ free(local_1d8); } ############ FUN_ 18124b8d0 size=335 ############ undefined8 FUN_18124b8d0(undefined8 param_1,longlong param_2) { uint uVar1; int iVar2; undefined8 uVar3; longlong lVar4; int iVar5; ulonglong in_stack_ffffffffffffffc8; iVar2 = *(int *)(param_2 + 0x24); iVar5 = 0; if (0 < iVar2) { do { uVar3 = FUN_181252280(*(longlong *)(param_2 + 0x18) + ((longlong)iVar5 * 3 + 1) * 8); in_stack_ffffffffffffffc8 = in_stack_ffffffffffffffc8 & 0xffffffff00000000; lVar4 = __RTDynamicCast(uVar3,0,&juce::Typeface::RTTI_Type_Descriptor, &juce::WindowsDirectWriteTypeface::RTTI_Type_Descriptor, in_stack_ffffffffffffffc8); if (lVar4 == 0) { return 0; } iVar5 = iVar5 + 1; } while (iVar5 < iVar2); } do { LOCK(); uVar1 = DAT_18267aa78 & 1; DAT_18267aa78 = DAT_18267aa78 | 1; UNLOCK(); } while (uVar1 != 0); iVar2 = DAT_18267aa88 + 1; if (iVar2 == 1) { iVar5 = DAT_18267aa88 + 0x30; DAT_18267aa88 = iVar2; uVar3 = FUN_1811316e0(iVar5); uVar3 = FUN_1804a4110(uVar3); FUN_1804af690(&DAT_18267aa80,uVar3); iVar2 = DAT_18267aa88; } DAT_18267aa88 = iVar2; LOCK(); DAT_18267aa78 = 0; UNLOCK(); if ((*DAT_18267aa80 == 0) || (DAT_18267aa80[2] == 0)) { uVar3 = 0; } else { FUN_18124bac0(param_1,param_2,DAT_18267aa80[1],DAT_18267aa80[2],DAT_18267aa80[3]); uVar3 = 1; } do { LOCK(); uVar1 = DAT_18267aa78 & 1; DAT_18267aa78 = DAT_18267aa78 | 1; UNLOCK(); } while (uVar1 != 0); DAT_18267aa88 = DAT_18267aa88 + -1; if (DAT_18267aa88 == 0) { FUN_1804af690(&DAT_18267aa80,0); } LOCK(); UNLOCK(); DAT_18267aa78 = 0; return uVar3; } ############ FUN_ 18124bac0 size=765 ############ void FUN_18124bac0(longlong *param_1,longlong param_2,ulonglong param_3,longlong param_4, undefined8 param_5) { longlong *plVar1; float fVar2; longlong lVar3; uint uVar4; char cVar5; int iVar6; longlong *plVar7; void *_Memory; int iVar8; ulonglong uVar9; ulonglong uVar10; int *piVar11; longlong lVar12; float fVar13; uint local_res8 [2]; undefined8 local_58; longlong *local_50; undefined8 local_48; local_48 = 0xfffffffffffffffe; uVar9 = 0; local_50 = (longlong *)0x0; cVar5 = FUN_18124bdd0(param_2,(int)param_1[2],*(undefined4 *)((longlong)param_1 + 0x14),param_5, param_3,param_4,&local_50); if (cVar5 != '\0') { local_res8[0] = 0; (**(code **)(*local_50 + 0x1d8))(local_50,0,0,local_res8); if ((int)param_1[1] < (int)local_res8[0]) { FUN_18047cb30(param_1,local_res8[0] + 8 + (int)local_res8[0] / 2 & 0xfffffff8); } plVar7 = (longlong *)FUN_1811316e0(0x28); *(undefined4 *)(plVar7 + 1) = 0; *plVar7 = (longlong)juce::DirectWriteTypeLayout::CustomDirectWriteTextRenderer::vftable; plVar7[2] = param_2; plVar7[3] = param_4; *(undefined4 *)(plVar7 + 4) = 0xffffffff; *(undefined4 *)((longlong)plVar7 + 0x24) = 0xc61c4000; (*(code *)PTR_FUN_182498678)(plVar7); fVar13 = 0.0; (**(code **)(*local_50 + 0x1d0))(local_50,param_1,plVar7,0,param_3 & 0xffffffff00000000); if ((undefined **)*plVar7 == juce::DirectWriteTypeLayout::CustomDirectWriteTextRenderer::vftable ) { plVar1 = plVar7 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (*(code *)PTR_FUN_1824986c0)(plVar7,1); } } else { (*(code *)((undefined **)*plVar7)[2])(plVar7); } _Memory = malloc((ulonglong)local_res8[0] * 0x18); (**(code **)(*local_50 + 0x1d8))(local_50,_Memory,local_res8[0],local_res8); uVar4 = local_res8[0]; if (*(int *)((longlong)param_1 + 0xc) < (int)local_res8[0]) { uVar4 = *(uint *)((longlong)param_1 + 0xc); } fVar2 = *(float *)(param_2 + 8); lVar12 = (longlong)(int)uVar4; uVar10 = uVar9; if (3 < lVar12) { piVar11 = (int *)((longlong)_Memory + 0x30); do { lVar3 = *(longlong *)(*param_1 + uVar10 * 8); iVar8 = (int)uVar9; iVar6 = iVar8; if (iVar8 < piVar11[-0xc] + iVar8) { iVar6 = piVar11[-0xc] + iVar8; } local_58 = CONCAT44(iVar6,iVar8); *(undefined8 *)(lVar3 + 0x10) = local_58; *(float *)(lVar3 + 0x1c) = fVar13 + *(float *)(lVar3 + 0x1c); iVar8 = iVar8 + piVar11[-0xc]; lVar3 = *(longlong *)(*param_1 + 8 + uVar10 * 8); iVar6 = iVar8; if (iVar8 < piVar11[-6] + iVar8) { iVar6 = piVar11[-6] + iVar8; } local_58 = CONCAT44(iVar6,iVar8); *(undefined8 *)(lVar3 + 0x10) = local_58; *(float *)(lVar3 + 0x1c) = fVar13 + fVar2 + *(float *)(lVar3 + 0x1c); fVar13 = fVar13 + fVar2 + fVar2; iVar8 = iVar8 + piVar11[-6]; lVar3 = *(longlong *)(*param_1 + 0x10 + uVar10 * 8); iVar6 = iVar8; if (iVar8 < *piVar11 + iVar8) { iVar6 = *piVar11 + iVar8; } local_58 = CONCAT44(iVar6,iVar8); *(undefined8 *)(lVar3 + 0x10) = local_58; *(float *)(lVar3 + 0x1c) = fVar13 + *(float *)(lVar3 + 0x1c); fVar13 = fVar13 + fVar2; iVar8 = iVar8 + *piVar11; lVar3 = *(longlong *)(*param_1 + 0x18 + uVar10 * 8); iVar6 = iVar8; if (iVar8 < piVar11[6] + iVar8) { iVar6 = piVar11[6] + iVar8; } local_58 = CONCAT44(iVar6,iVar8); *(undefined8 *)(lVar3 + 0x10) = local_58; *(float *)(lVar3 + 0x1c) = fVar13 + *(float *)(lVar3 + 0x1c); fVar13 = fVar13 + fVar2; uVar9 = (ulonglong)(uint)(iVar8 + piVar11[6]); uVar10 = uVar10 + 4; piVar11 = piVar11 + 0x18; } while ((longlong)uVar10 < lVar12 + -3); } if ((longlong)uVar10 < lVar12) { piVar11 = (int *)((longlong)_Memory + uVar10 * 0x18); do { lVar3 = *(longlong *)(*param_1 + uVar10 * 8); iVar8 = (int)uVar9; iVar6 = iVar8; if (iVar8 < *piVar11 + iVar8) { iVar6 = *piVar11 + iVar8; } local_58 = CONCAT44(iVar6,iVar8); *(undefined8 *)(lVar3 + 0x10) = local_58; *(float *)(lVar3 + 0x1c) = fVar13 + *(float *)(lVar3 + 0x1c); fVar13 = fVar13 + fVar2; uVar9 = (ulonglong)(uint)(iVar8 + *piVar11); uVar10 = uVar10 + 1; piVar11 = piVar11 + 6; } while ((longlong)uVar10 < lVar12); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x10))(); } return; } ############ FUN_ 1804e4fb0 size=161 ############ undefined8 * FUN_1804e4fb0(undefined8 *param_1,longlong param_2) { undefined4 uVar1; undefined4 uVar2; longlong lVar3; char *pcVar4; undefined8 uVar5; char *pcVar6; char *pcVar7; lVar3 = *(longlong *)(param_2 + 0x18); if (lVar3 == 0) { if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } pcVar4 = (char *)**(undefined8 **)(DAT_182673700 + 0x78); for (pcVar6 = pcVar4; (pcVar7 = pcVar4, pcVar6 != pcVar4 + (longlong) *(int *)((longlong)*(undefined8 **)(DAT_182673700 + 0x78) + 0xc) * 0x40 && (pcVar7 = pcVar6, *pcVar6 == '\0')); pcVar6 = pcVar6 + 0x40) { } uVar5 = *(undefined8 *)(pcVar7 + 0x1c); *param_1 = *(undefined8 *)(pcVar7 + 0x14); param_1[1] = uVar5; return param_1; } uVar1 = *(undefined4 *)(lVar3 + 0x2c); uVar2 = *(undefined4 *)(lVar3 + 0x28); *param_1 = 0; *(undefined4 *)(param_1 + 1) = uVar2; *(undefined4 *)((longlong)param_1 + 0xc) = uVar1; return param_1; } ############ FUN_ 1812cbb60 size=425 ############ ulonglong FUN_1812cbb60(void) { longlong lVar1; undefined8 *puVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; ulonglong uVar6; int iVar7; int iVar8; uint uVar9; longlong lVar10; uVar4 = 0; iVar8 = -1; if (DAT_182673b08 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1811316e0(0x38); *puVar2 = juce::Timer::vftable; puVar2[1] = 0xffffffffffffffff; *(undefined4 *)(puVar2 + 2) = 0; FUN_1812a7230(); *puVar2 = juce::TopLevelWindowManager::vftable; puVar2[3] = juce::TopLevelWindowManager::vftable; puVar2[4] = 0; puVar2[5] = 0; puVar2[6] = 0; DAT_182673b08 = puVar2; } uVar9 = *(int *)((longlong)DAT_182673b08 + 0x2c) - 1; lVar10 = (longlong)(int)uVar9; puVar2 = DAT_182673b08; if (-1 < (int)uVar9) { do { if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1811316e0(0x38); *puVar2 = juce::Timer::vftable; puVar2[1] = 0xffffffffffffffff; *(undefined4 *)(puVar2 + 2) = 0; FUN_1812a7230(); *puVar2 = juce::TopLevelWindowManager::vftable; puVar2[3] = juce::TopLevelWindowManager::vftable; puVar2[4] = 0; puVar2[5] = 0; puVar2[6] = 0; DAT_182673b08 = puVar2; } uVar5 = 0; uVar6 = uVar5; if (uVar9 < *(uint *)((longlong)puVar2 + 0x2c)) { uVar6 = *(ulonglong *)(puVar2[4] + lVar10 * 8); } if (*(char *)(uVar6 + 0xb2) != '\0') { iVar7 = 0; for (lVar1 = *(longlong *)(uVar6 + 0x18); lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { lVar3 = __RTDynamicCast(lVar1,0,&juce::Component::RTTI_Type_Descriptor, &juce::TopLevelWindow::RTTI_Type_Descriptor,0); if (lVar3 != 0) { uVar5 = (ulonglong)((int)uVar5 + 1); } iVar7 = (int)uVar5; puVar2 = DAT_182673b08; } if (iVar8 < iVar7) { uVar4 = uVar6; iVar8 = iVar7; } } uVar9 = uVar9 - 1; lVar10 = lVar10 + -1; } while (-1 < lVar10); } return uVar4; } ############ FUN_ 181344bc0 size=182 ############ undefined8 * FUN_181344bc0(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { undefined4 *puVar1; longlong lVar2; undefined8 uVar3; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; undefined1 local_18 [16]; uVar3 = 0xfffffffffffffffe; uStack_1c = *(undefined4 *)(param_1 + 0x2c); uStack_20 = *(undefined4 *)(param_1 + 0x28); local_28 = 0; uStack_24 = 0; for (; param_1 != 0; param_1 = *(longlong *)(param_1 + 0x18)) { puVar1 = (undefined4 *)FUN_18051e4b0(local_18,param_1,&local_28,param_4,uVar3); local_28 = *puVar1; uStack_24 = puVar1[1]; uStack_20 = puVar1[2]; uStack_1c = puVar1[3]; } if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } lVar2 = FUN_18133d8f0(*(undefined8 *)(DAT_182673700 + 0x78),&local_28,0); uVar3 = *(undefined8 *)(lVar2 + 0x1c); *param_2 = *(undefined8 *)(lVar2 + 0x14); param_2[1] = uVar3; return param_2; } ############ FUN_ 18133f490 size=639 ############ void FUN_18133f490(longlong *param_1) { int *piVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; longlong lVar6; longlong *plVar7; int iVar8; longlong *plVar9; uint uVar10; ulonglong uVar11; ulonglong uVar12; bool bVar13; undefined8 *local_res8; undefined8 *local_res10; if ((*(byte *)(param_1 + 0x15) & 1) != 0) { if (DAT_182673700 == 0) { local_res8 = (undefined8 *)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8); } plVar9 = (longlong *)(DAT_182673700 + 0x58); plVar4 = (longlong *)*plVar9; for (plVar7 = plVar4; plVar7 != plVar4 + *(int *)(DAT_182673700 + 100); plVar7 = plVar7 + 1) { if (param_1 == (longlong *)*plVar7) { lVar6 = (longlong)plVar7 - (longlong)plVar4 >> 3; if (-1 < (int)lVar6) { iVar8 = -1; if ((*(byte *)((longlong)param_1 + 0xa9) & 1) != 0) goto LAB_18133f55f; uVar10 = *(uint *)(DAT_182673700 + 100); uVar11 = (ulonglong)(int)uVar10; if ((int)uVar10 < 1) goto LAB_18133f55c; uVar12 = uVar11; goto LAB_18133f540; } break; } } } goto LAB_18133f567; while( true ) { uVar10 = uVar10 - 1; uVar11 = (ulonglong)uVar10; uVar12 = uVar12 - 1; if ((longlong)uVar12 < 1) break; LAB_18133f540: uVar10 = (uint)uVar11; if ((*(byte *)(*(longlong *)(*plVar9 + -8 + uVar12 * 8) + 0xa9) & 1) == 0) break; } LAB_18133f55c: iVar8 = uVar10 - 1; LAB_18133f55f: FUN_18051b170(plVar9,lVar6,iVar8); LAB_18133f567: FUN_1804de690(&local_res8,param_1); (**(code **)(*param_1 + 0x128))(param_1); puVar3 = local_res8; bVar13 = local_res8 != (undefined8 *)0x0; plVar9 = (longlong *)0x0; plVar4 = plVar9; if (bVar13) { plVar4 = (longlong *)local_res8[2]; } if (plVar4 != (longlong *)0x0) { iVar8 = *(int *)((longlong)param_1 + 0x8c); while( true ) { plVar4 = plVar9; if (bVar13) { plVar4 = (longlong *)puVar3[2]; } if ((plVar4 == (longlong *)0x0) || (iVar8 < 1)) break; iVar8 = iVar8 + -1; if ((*(int *)((longlong)param_1 + 0x8c) <= iVar8) && (iVar8 = *(int *)((longlong)param_1 + 0x8c) + -1, iVar8 < 0)) break; plVar4 = *(longlong **)(param_1[0x10] + (longlong)iVar8 * 8); (**(code **)(*plVar4 + 0x10))(plVar4,param_1); } plVar4 = plVar9; if (bVar13) { plVar4 = (longlong *)puVar3[2]; } if (plVar4 != (longlong *)0x0) { if (DAT_182673c20 == (undefined8 *)0x0) { puVar5 = (undefined8 *)FUN_1811316e0(0x28); local_res10 = puVar5; FUN_1812a59f0(puVar5); FUN_1812a7230(puVar5 + 2); *puVar5 = juce::ModalComponentManager::vftable; puVar5[2] = juce::ModalComponentManager::vftable; puVar5[3] = 0; puVar5[4] = 0; DAT_182673c20 = puVar5; } iVar8 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar6 = (longlong)iVar8; if (-1 < iVar8) { plVar4 = plVar9; do { lVar2 = *(longlong *)(DAT_182673c20[3] + lVar6 * 8); if ((*(char *)(lVar2 + 0x5c) != '\0') && (iVar8 = (int)plVar4, plVar4 = (longlong *)(ulonglong)(iVar8 + 1), iVar8 == 0)) { plVar9 = *(longlong **)(lVar2 + 0x40); break; } lVar6 = lVar6 + -1; } while (-1 < lVar6); } if (plVar9 != (longlong *)0x0) { plVar4 = (longlong *)plVar9[3]; while (plVar7 = plVar4, plVar7 != (longlong *)0x0) { plVar9 = plVar7; plVar4 = (longlong *)plVar7[3]; } plVar4 = (longlong *)param_1[3]; while (plVar7 = plVar4, plVar7 != (longlong *)0x0) { param_1 = plVar7; plVar4 = (longlong *)plVar7[3]; } if (plVar9 != param_1) { FUN_18133b010(DAT_182673c20,0); } } } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 180500d50 size=1146 ############ void FUN_180500d50(longlong param_1) { longlong *plVar1; int *piVar2; longlong lVar3; undefined8 *puVar4; longlong lVar5; longlong *plVar6; int *piVar7; undefined8 uVar8; int iVar9; char cVar10; ulonglong uVar11; int iVar12; int iVar13; int iVar14; uint uVar15; ulonglong uVar16; int local_res8; undefined4 uStackX_c; int local_res10; undefined4 local_res18; int local_res20; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; *(undefined1 *)(param_1 + 0x1dc) = 1; iVar9 = *(int *)(*(longlong *)(param_1 + 0x1b8) + 0xf4); uVar16 = 0; uVar11 = uVar16; if (*(longlong *)(param_1 + 0x180) != 0) { uVar11 = *(ulonglong *)(*(longlong *)(param_1 + 0x180) + 0x10); } local_res8 = iVar9; if (0 < iVar9) { iVar13 = *(int *)(param_1 + 0x18c); local_res18 = *(undefined4 *)(uVar11 + 0x28); iVar12 = *(int *)(param_1 + 0xfc) / iVar9 + 2; plVar1 = (longlong *)(param_1 + 0x1c0); local_res10 = iVar13; local_res20 = iVar12; FUN_18051a5c0(plVar1,iVar12,*(undefined4 *)(param_1 + 0x1cc)); iVar14 = *(int *)(param_1 + 0x1cc); while (iVar14 < iVar12) { plVar6 = (longlong *)FUN_1811316e0(0xd0); lVar3 = *(longlong *)(param_1 + 0x1b8); plVar6[1] = (longlong)&DAT_1821dbf98; plVar6[2] = (longlong)&DAT_1821dbf98; plVar6[3] = 0; plVar6[4] = 0; plVar6[5] = 0; plVar6[6] = 0; plVar6[7] = 0; plVar6[8] = 0; plVar6[9] = 0; plVar6[10] = 0; plVar6[0xb] = 0; plVar6[0xc] = 0; plVar6[0xd] = 0; plVar6[0xe] = 0; plVar6[0xf] = 0; plVar6[0x10] = 0; plVar6[0x11] = 0; plVar6[0x12] = 0; plVar6[0x13] = 0; plVar6[0x14] = 0; *(undefined4 *)(plVar6 + 0x15) = 0; *(undefined1 *)((longlong)plVar6 + 0xac) = 0; plVar6[0x16] = (longlong)juce::TooltipClient::vftable; *plVar6 = (longlong)juce::ListBox::RowComponent::vftable; plVar6[0x16] = (longlong)juce::ListBox::RowComponent::vftable; plVar6[0x17] = lVar3; plVar6[0x18] = 0; *(undefined4 *)(plVar6 + 0x19) = 0xffffffff; *(undefined4 *)((longlong)plVar6 + 0xcc) = 0; iVar14 = *(int *)(param_1 + 0x1cc); iVar9 = iVar14 + 1; if (*(int *)(param_1 + 0x1c8) < iVar9) { if (iVar9 < 0) { iVar9 = iVar14 + 2; } FUN_18047cb30(plVar1,iVar14 + 9 + (iVar9 >> 1) & 0xfffffff8); } iVar9 = *(int *)(param_1 + 0x1cc); *(int *)(param_1 + 0x1cc) = iVar9 + 1; *(longlong **)(*plVar1 + (longlong)iVar9 * 8) = plVar6; (**(code **)(*plVar6 + 0x58))(plVar6,1); FUN_181343cc0(uVar11,plVar6,0xffffffff); iVar9 = local_res8; iVar13 = local_res10; iVar14 = *(int *)(param_1 + 0x1cc); } *(int *)(param_1 + 0x1d0) = iVar13 / iVar9; *(int *)(param_1 + 0x1d4) = (iVar9 + -1 + iVar13) / iVar9; *(int *)(param_1 + 0x1d8) = (*(int *)(param_1 + 0xfc) + -1 + iVar13) / iVar9; if (0 < iVar12) { do { iVar13 = *(int *)(param_1 + 0x1d0) + (int)uVar16; iVar14 = 1; if (1 < *(int *)(param_1 + 0x1cc)) { iVar14 = *(int *)(param_1 + 0x1cc); } if (((uint)(iVar13 % iVar14) < *(uint *)(param_1 + 0x1cc)) && (lVar3 = *(longlong *)(*plVar1 + (longlong)(iVar13 % iVar14) * 8), lVar3 != 0)) { FUN_18134bfe0(lVar3,0,iVar13 * iVar9,local_res18,iVar9); piVar7 = *(int **)(*(longlong *)(param_1 + 0x1b8) + 0xe0); piVar2 = piVar7 + (longlong)*(int *)(*(longlong *)(param_1 + 0x1b8) + 0xec) * 2; for (; (piVar7 != piVar2 && (*piVar7 <= iVar13)); piVar7 = piVar7 + 2) { if (iVar13 < piVar7[1]) { cVar10 = '\x01'; goto LAB_18050101d; } } cVar10 = '\0'; LAB_18050101d: if ((*(int *)(lVar3 + 200) != iVar13) || (*(char *)(lVar3 + 0xcc) != cVar10)) { uStack_4c = *(undefined4 *)(lVar3 + 0x2c); uStack_50 = *(undefined4 *)(lVar3 + 0x28); local_58 = 0; uStack_54 = 0; FUN_181342870(lVar3,&local_58,1); *(int *)(lVar3 + 200) = iVar13; *(char *)(lVar3 + 0xcc) = cVar10; } plVar6 = *(longlong **)(*(longlong *)(lVar3 + 0xb8) + 0xc0); if (plVar6 != (longlong *)0x0) { uVar8 = (**(code **)(*plVar6 + 0x68))(plVar6,&local_res8,*(undefined4 *)(lVar3 + 200)); FUN_181342db0(lVar3,uVar8); if (CONCAT44(uStackX_c,local_res8) != 0) { FUN_1804e9060(); } uVar8 = *(undefined8 *)(lVar3 + 0xc0); *(undefined8 *)(lVar3 + 0xc0) = 0; uVar8 = (**(code **)(*plVar6 + 0x18))(plVar6,iVar13,cVar10,uVar8); puVar4 = *(undefined8 **)(lVar3 + 0xc0); *(undefined8 *)(lVar3 + 0xc0) = uVar8; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } plVar6 = *(longlong **)(lVar3 + 0xc0); if (plVar6 != (longlong *)0x0) { (**(code **)(*plVar6 + 0x58))(plVar6,1); FUN_181343cc0(lVar3,plVar6,0xffffffff); FUN_18134bfe0(*(undefined8 *)(lVar3 + 0xc0),0,0,*(undefined4 *)(lVar3 + 0x28), *(undefined4 *)(lVar3 + 0x2c)); } } } uVar15 = (int)uVar16 + 1; uVar16 = (ulonglong)uVar15; } while ((int)uVar15 < local_res20); } } lVar3 = *(longlong *)(param_1 + 0x1b8); lVar5 = *(longlong *)(lVar3 + 0xd0); if (lVar5 != 0) { iVar9 = *(int *)(lVar3 + 0xfc); iVar14 = *(int *)(lVar3 + 0x28) + iVar9 * -2; if (iVar14 < *(int *)(uVar11 + 0x28)) { iVar14 = *(int *)(uVar11 + 0x28); } FUN_18134bfe0(lVar5,*(int *)(uVar11 + 0x20) + iVar9,iVar9,iVar14,*(undefined4 *)(lVar5 + 0x2c)); } return; } ############ FUN_ 1812e8530 size=289 ############ undefined8 * FUN_1812e8530(undefined8 *param_1) { longlong *plVar1; undefined8 uVar2; undefined8 *puVar3; puVar3 = param_1; FUN_1813453e0(); puVar3[0x17] = &DAT_1821dbf98; *puVar3 = juce::ListBox::vftable; puVar3[0x16] = juce::ListBox::vftable; puVar3[0x18] = 0; puVar3[0x19] = 0; puVar3[0x1a] = 0; puVar3[0x1b] = 0; puVar3[0x1c] = 0; puVar3[0x1d] = 0; *(undefined4 *)(puVar3 + 0x1e) = 0; *(undefined8 *)((longlong)puVar3 + 0xf4) = 0x16; *(undefined4 *)((longlong)puVar3 + 0xfc) = 0; *(undefined4 *)(puVar3 + 0x20) = 0xffffffff; *(undefined4 *)((longlong)puVar3 + 0x104) = 0x1000000; uVar2 = FUN_1811316e0(0x1e0); uVar2 = FUN_180500af0(uVar2,param_1); puVar3 = (undefined8 *)param_1[0x19]; param_1[0x19] = uVar2; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } plVar1 = (longlong *)param_1[0x19]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); } *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x20; FUN_1812e7390(param_1); return param_1; } ############ FUN_ 180500af0 size=356 ############ undefined8 * FUN_180500af0(undefined8 *param_1,undefined8 param_2,undefined1 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; bool bVar3; undefined1 *local_res10; local_res10 = &DAT_1821dbf98; FUN_18134a630(param_1,&local_res10,param_3,param_4,0xfffffffffffffffe); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar3 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar3) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = juce::ListBox::ListViewport::vftable; param_1[0x16] = juce::ListBox::ListViewport::vftable; param_1[0x17] = juce::ListBox::ListViewport::vftable; param_1[0x37] = param_2; param_1[0x38] = 0; param_1[0x39] = 0; param_1[0x3a] = 0; *(undefined4 *)(param_1 + 0x3b) = 0; *(undefined1 *)((longlong)param_1 + 0x1dc) = 0; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xdf; puVar2 = (undefined8 *)FUN_1811316e0(0xb0); *puVar2 = juce::Component::vftable; puVar2[1] = &DAT_1821dbf98; puVar2[2] = &DAT_1821dbf98; puVar2[3] = 0; puVar2[4] = 0; puVar2[5] = 0; puVar2[6] = 0; puVar2[7] = 0; puVar2[8] = 0; puVar2[9] = 0; puVar2[10] = 0; puVar2[0xb] = 0; puVar2[0xc] = 0; puVar2[0xd] = 0; puVar2[0xe] = 0; puVar2[0xf] = 0; puVar2[0x10] = 0; puVar2[0x11] = 0; puVar2[0x12] = 0; puVar2[0x13] = 0; puVar2[0x14] = 0; *(undefined4 *)(puVar2 + 0x15) = 0; *(undefined1 *)((longlong)puVar2 + 0xac) = 0; FUN_18134a370(param_1,puVar2,1); *(byte *)(puVar2 + 0x15) = *(byte *)(puVar2 + 0x15) & 0xdf; return param_1; } ############ FUN_ 1813379d0 size=423 ############ undefined8 * FUN_1813379d0(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 *puVar2; undefined8 *puVar3; longlong lVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; puVar3 = param_1; FUN_1813453e0(); puVar3[0x17] = &DAT_1821dbf98; *puVar3 = juce::Button::vftable; puVar3[0x16] = juce::Button::vftable; lVar4 = 0; puVar3[0x1f] = 0; puVar3[0x27] = 0; puVar3[0x28] = 0; puVar3[0x29] = 0; puVar3[0x2a] = 0; lVar1 = *param_2; param_1[0x2b] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } param_1[0x2c] = 0; param_1[0x2d] = 0; param_1[0x2e] = 0; param_1[0x2f] = 0; param_1[0x30] = 0; *(undefined4 *)(param_1 + 0x31) = 0xffffffff; *(undefined4 *)((longlong)param_1 + 0x18c) = 0; *(undefined4 *)(param_1 + 0x32) = 0xffffffff; *(undefined8 *)((longlong)param_1 + 0x194) = 0; *(undefined8 *)((longlong)param_1 + 0x19c) = 0; *(undefined4 *)((longlong)param_1 + 0x1a4) = 0; FUN_181351c70(param_1 + 0x35); *(undefined4 *)(param_1 + 0x38) = 0; *(undefined2 *)((longlong)param_1 + 0x1c4) = 0; *(undefined1 *)((longlong)param_1 + 0x1c6) = 0; puVar2 = (undefined8 *)FUN_1811316e0(0x38); puVar2[1] = 0xffffffffffffffff; *(undefined4 *)(puVar2 + 2) = 0; *puVar2 = juce::Button::CallbackHelper::vftable; puVar2[3] = juce::Button::CallbackHelper::vftable; puVar2[4] = juce::Button::CallbackHelper::vftable; puVar2[5] = juce::Button::CallbackHelper::vftable; puVar2[6] = param_1; puVar3 = (undefined8 *)param_1[0x2e]; param_1[0x2e] = puVar2; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1,param_3,param_4,uVar5); } *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xdf; if (param_1[0x2e] != 0) { lVar4 = param_1[0x2e] + 0x20; } FUN_181351570(param_1 + 0x35,lVar4); return param_1; } ############ FUN_ 181342db0 size=180 ############ void FUN_181342db0(longlong param_1,longlong *param_2) { longlong lVar1; longlong lVar2; undefined8 uVar3; longlong lVar4; lVar2 = 0; lVar4 = lVar2; if (*(longlong *)(param_1 + 0x58) != 0) { lVar4 = *(longlong *)(*(longlong *)(param_1 + 0x58) + 8); } lVar1 = *param_2; if (lVar1 != 0) { lVar2 = *(longlong *)(lVar1 + 8); } if (lVar4 != lVar2) { if (lVar1 != 0) { LOCK(); *(int *)(lVar1 + 0x10) = *(int *)(lVar1 + 0x10) + 1; UNLOCK(); } if (*(longlong *)(param_1 + 0x58) != 0) { FUN_1804e9060(); } *(longlong *)(param_1 + 0x58) = *param_2; if ((*(byte *)(param_1 + 0xa8) & 2) != 0) { if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } FUN_1804e6e90(**(undefined8 **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18),1); } } return; } ############ FUN_ 181346e20 size=556 ############ void FUN_181346e20(longlong param_1,longlong param_2) { double dVar1; longlong *plVar2; void *pvVar3; int iVar4; uint uVar5; double dVar6; plVar2 = (longlong *)FUN_1811316e0(0x108); plVar2[1] = (longlong)&DAT_1821dbf98; plVar2[2] = (longlong)&DAT_1821dbf98; plVar2[3] = 0; plVar2[4] = 0; plVar2[5] = 0; plVar2[6] = 0; plVar2[7] = 0; plVar2[8] = 0; plVar2[9] = 0; plVar2[10] = 0; plVar2[0xb] = 0; plVar2[0xc] = 0; plVar2[0xd] = 0; plVar2[0xe] = 0; plVar2[0xf] = 0; plVar2[0x10] = 0; plVar2[0x11] = 0; plVar2[0x12] = 0; plVar2[0x13] = 0; plVar2[0x14] = 0; *(undefined4 *)(plVar2 + 0x15) = 0; *(undefined1 *)((longlong)plVar2 + 0xac) = 0; plVar2[0x17] = (longlong)&DAT_1821dbf98; plVar2[0x19] = -1; *(undefined4 *)(plVar2 + 0x1a) = 0; *plVar2 = (longlong)juce::ProgressBar::vftable; plVar2[0x16] = (longlong)juce::ProgressBar::vftable; plVar2[0x18] = (longlong)juce::ProgressBar::vftable; plVar2[0x1b] = param_2; *(undefined1 *)(plVar2 + 0x1d) = 1; plVar2[0x1e] = (longlong)&DAT_1821dbf98; plVar2[0x1f] = (longlong)&DAT_1821dbf98; *(undefined4 *)(plVar2 + 0x20) = 0; dVar1 = *(double *)plVar2[0x1b]; dVar6 = 0.0; if ((0.0 <= dVar1) && (dVar6 = DAT_1824c4140, dVar1 <= DAT_1824c4140)) { dVar6 = dVar1; } plVar2[0x1c] = (longlong)dVar6; iVar4 = *(int *)(param_1 + 0x17c) + 1; if ((int)*(uint *)(param_1 + 0x178) < iVar4) { uVar5 = *(int *)(param_1 + 0x17c) + 9 + iVar4 / 2 & 0xfffffff8; if (*(uint *)(param_1 + 0x178) != uVar5) { pvVar3 = *(void **)(param_1 + 0x170); if ((int)uVar5 < 1) { /* WARNING: Subroutine does not return */ free(pvVar3); } if (pvVar3 == (void *)0x0) { pvVar3 = malloc((longlong)(int)uVar5 * 8); *(void **)(param_1 + 0x170) = pvVar3; } else { pvVar3 = realloc(pvVar3,(longlong)(int)uVar5 * 8); *(void **)(param_1 + 0x170) = pvVar3; } } *(uint *)(param_1 + 0x178) = uVar5; } iVar4 = *(int *)(param_1 + 0x17c); *(int *)(param_1 + 0x17c) = iVar4 + 1; *(longlong **)(*(longlong *)(param_1 + 0x170) + (longlong)iVar4 * 8) = plVar2; iVar4 = *(int *)(param_1 + 0x1ac) + 1; if (*(int *)(param_1 + 0x1a8) < iVar4) { FUN_18047cb30((longlong *)(param_1 + 0x1a0), *(int *)(param_1 + 0x1ac) + 9 + iVar4 / 2 & 0xfffffff8); } iVar4 = *(int *)(param_1 + 0x1ac); *(int *)(param_1 + 0x1ac) = iVar4 + 1; *(longlong **)(*(longlong *)(param_1 + 0x1a0) + (longlong)iVar4 * 8) = plVar2; (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff); FUN_1812d3dc0(param_1,0); return; } ############ FUN_ 181347060 size=1143 ############ void FUN_181347060(longlong param_1,undefined8 param_2,undefined4 param_3,int *param_4,int *param_5) { uint *_Memory; ulonglong *puVar1; undefined ***pppuVar2; undefined ***pppuVar3; void *_Src; undefined4 uVar4; longlong *plVar5; longlong *plVar6; longlong lVar7; longlong lVar8; int iVar9; int iVar10; ulonglong uVar11; undefined4 uVar12; uint uVar13; ulonglong uVar14; bool bVar15; undefined1 auStack_148 [32]; undefined4 local_128; longlong local_118; undefined4 local_110; int iStack_10c; undefined4 local_108; undefined4 local_104; void *local_100; uint local_f4; longlong *local_f0; undefined8 local_e8; undefined8 uStack_e0; undefined8 local_d8; undefined1 *local_d0; undefined **local_c8; undefined4 local_c0; undefined4 uStack_bc; undefined4 uStack_b8; undefined4 uStack_b4; undefined ***local_90; longlong local_88 [7]; longlong *local_50; ulonglong local_48; local_d8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_148; local_108 = 0; local_104 = param_3; plVar5 = (longlong *)FUN_1811316e0(0x1c8); local_d0 = &DAT_1821dbf98; local_108 = 1; local_f0 = plVar5; FUN_1813379d0(plVar5,param_2); *plVar5 = (longlong)juce::TextButton::vftable; plVar5[0x16] = (longlong)juce::TextButton::vftable; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } LOCK(); lVar7 = plVar5[0x17]; plVar5[0x17] = (longlong)&DAT_1821dbf98; UNLOCK(); _Memory = (uint *)(lVar7 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar13 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(undefined1 *)((longlong)plVar5 + 0x1c6) = 0; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar13 = DAT_1821dbf88 - 1; UNLOCK(); bVar15 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar13; if (bVar15) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar1 = (ulonglong *)(param_1 + 0x140); FUN_18047e060(puVar1,*(int *)(param_1 + 0x14c) + 1); iVar10 = *(int *)(param_1 + 0x14c); *(int *)(param_1 + 0x14c) = iVar10 + 1; *(longlong **)(*puVar1 + (longlong)iVar10 * 8) = plVar5; *(byte *)(plVar5 + 0x15) = *(byte *)(plVar5 + 0x15) | 0xa0; *(undefined4 *)((longlong)plVar5 + 0x19c) = local_104; *(undefined1 *)((longlong)plVar5 + 0x1c6) = 0; lVar7 = plVar5[0x30]; if (lVar7 != 0) { if (plVar5[0x2e] == 0) { lVar8 = 0; } else { lVar8 = plVar5[0x2e] + 0x18; } iVar9 = 0; iVar10 = *(int *)(lVar7 + 0x34); plVar6 = *(longlong **)(lVar7 + 0x28); if (iVar10 < 1) { LAB_18134724c: plVar5[0x30] = 0; } else { do { if (lVar8 == *plVar6) { plVar6 = *(longlong **)(lVar7 + 0x28) + iVar9; memmove(plVar6,plVar6 + 1,(longlong)((iVar10 - iVar9) + -1) << 3); *(int *)(lVar7 + 0x34) = *(int *)(lVar7 + 0x34) + -1; iVar10 = *(int *)(lVar7 + 0x34); iVar9 = 0; if (0 < iVar10 * 2) { iVar9 = iVar10 * 2; } if (iVar9 < *(int *)(lVar7 + 0x30)) { if (iVar10 < 8) { iVar10 = 8; } if (iVar10 < *(int *)(lVar7 + 0x30)) { FUN_18047cb30(lVar7 + 0x28); } } goto LAB_18134724c; } iVar9 = iVar9 + 1; plVar6 = plVar6 + 1; } while (iVar9 < iVar10); plVar5[0x30] = 0; } } uVar13 = 0; if (plVar5[0x30] == 0) { FUN_18133e970(plVar5,1); } else { FUN_181335fc0(); } if (*param_4 != 0) { FUN_18051b4d0(plVar5 + 0x28,param_4); (**(code **)(*plVar5 + 0x88))(plVar5); } if (*param_5 != 0) { FUN_18051b4d0(plVar5 + 0x28); (**(code **)(*plVar5 + 0x88))(plVar5); } pppuVar2 = (undefined ***)(plVar5 + 0x18); local_c8 = std::_Func_impl_no_alloc<,void>::vftable; local_e8._0_4_ = (undefined4)param_1; local_e8._4_4_ = (undefined4)((ulonglong)param_1 >> 0x20); uStack_e0._0_4_ = SUB84(plVar5,0); uStack_e0._4_4_ = (undefined4)((ulonglong)plVar5 >> 0x20); local_c0 = (undefined4)local_e8; uStack_bc = local_e8._4_4_; uStack_b8 = (undefined4)uStack_e0; uStack_b4 = uStack_e0._4_4_; local_90 = &local_c8; local_50 = (longlong *)0x0; local_e8 = param_1; uStack_e0 = plVar5; local_50 = (longlong *)(*(code *)PTR_FUN_1824aabc8)(&local_c8,local_88); if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); local_90 = (undefined ***)0x0; } pppuVar3 = (undefined ***)plVar5[0x1f]; if (pppuVar3 != (undefined ***)0x0) { if (pppuVar3 == pppuVar2) { local_90 = (undefined ***)(*(code *)(*pppuVar3)[1])(pppuVar3,&local_c8); pppuVar3 = (undefined ***)plVar5[0x1f]; if (pppuVar3 == (undefined ***)0x0) goto LAB_181347366; (*(code *)(*pppuVar3)[4])(pppuVar3,pppuVar3 != pppuVar2); pppuVar3 = local_90; } local_90 = pppuVar3; plVar5[0x1f] = 0; } LAB_181347366: FUN_180488560(pppuVar2,local_88); if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x20))(local_50,local_50 != local_88); } if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); } iVar10 = *(int *)(param_1 + 0x14c); _Src = (void *)*puVar1; local_118 = 0; _local_110 = 0; FUN_18047e060(&local_118,iVar10); memcpy((void *)(local_118 + (longlong)iStack_10c * 8),_Src,(longlong)iVar10 << 3); _local_110 = CONCAT44(iStack_10c + iVar10,local_110); lVar7 = FUN_18134adf0(param_1); plVar6 = (longlong *)(lVar7 + 0x38); uVar4 = (**(code **)(*plVar6 + 0x28))(plVar6); (**(code **)(*plVar6 + 0x20))(plVar6,&local_100,param_1,&local_118); plVar6 = (longlong *)*puVar1; uVar11 = 0; uVar14 = (ulonglong)((longlong)(plVar6 + *(int *)(param_1 + 0x14c)) + (7 - (longlong)plVar6)) >> 3 ; if (plVar6 + *(int *)(param_1 + 0x14c) < plVar6) { uVar14 = uVar11; } if (uVar14 != 0) { do { lVar7 = *plVar6; if (uVar13 < local_f4) { uVar12 = *(undefined4 *)((longlong)local_100 + uVar11 * 4); } else { uVar12 = 0; } local_128 = uVar4; FUN_18134bfe0(lVar7,*(undefined4 *)(lVar7 + 0x20),*(undefined4 *)(lVar7 + 0x24),uVar12); uVar13 = uVar13 + 1; plVar6 = plVar6 + 1; uVar11 = uVar11 + 1; plVar5 = local_f0; } while (uVar11 != uVar14); } (**(code **)(*plVar5 + 0x58))(plVar5,1); FUN_181343cc0(param_1,plVar5,0); FUN_1812d3dc0(param_1,0); local_f4 = 0; /* WARNING: Subroutine does not return */ free(local_100); } ############ FUN_ 1812c81b0 size=807 ############ void FUN_1812c81b0(longlong param_1) { char *pcVar1; int *piVar2; int iVar3; int iVar4; int iVar5; undefined8 *puVar6; char cVar7; undefined8 uVar8; longlong lVar9; int iVar10; int iVar11; longlong lVar12; int iVar13; int iVar14; int iVar15; uint uVar16; longlong lVar17; bool bVar18; undefined8 *local_res20; int iVar19; pcVar1 = (char *)(param_1 + 0x30); if (*pcVar1 == '\0') { *pcVar1 = '\x01'; if ((((*(longlong *)(param_1 + 8) == 0) || (cVar7 = FUN_181345240(), cVar7 == '\0')) || (*(int *)(*(longlong *)(param_1 + 8) + 0x28) < 1)) || (*(int *)(*(longlong *)(param_1 + 8) + 0x2c) < 1)) { FUN_18047cbc0(param_1 + 0x10); if (*(int *)(param_1 + 0x18) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x10)); } *(undefined4 *)(param_1 + 0x18) = 0; } else { iVar15 = *(int *)(param_1 + 0x1c); while (iVar15 < 4) { uVar8 = FUN_1811316e0(200); uVar8 = FUN_18050cf50(uVar8,*(undefined8 *)(param_1 + 8),param_1 + 0x20); FUN_180485fc0(param_1 + 0x10,uVar8); iVar15 = *(int *)(param_1 + 0x1c); } iVar15 = *(int *)(param_1 + 0x28); if (*(int *)(param_1 + 0x28) < *(int *)(param_1 + 0x2c)) { iVar15 = *(int *)(param_1 + 0x2c); } iVar15 = iVar15 + *(int *)(param_1 + 0x24); lVar12 = *(longlong *)(param_1 + 8); iVar4 = *(int *)(lVar12 + 0x20); iVar10 = *(int *)(lVar12 + 0x24) - iVar15; iVar5 = *(int *)(lVar12 + 0x28); iVar3 = *(int *)(lVar12 + 0x2c) + iVar15 * 2; lVar12 = 0; uVar16 = 3; lVar17 = 0x18; do { lVar9 = lVar12; if (uVar16 < *(uint *)(param_1 + 0x1c)) { lVar9 = *(longlong *)(lVar17 + *(longlong *)(param_1 + 0x10)); } FUN_1804de690(&local_res20,lVar9); puVar6 = local_res20; bVar18 = local_res20 == (undefined8 *)0x0; lVar9 = lVar12; if (!bVar18) { lVar9 = local_res20[2]; } if (lVar9 != 0) { lVar9 = lVar12; if (!bVar18) { lVar9 = local_res20[2]; } FUN_18134b0f0(lVar9,*(byte *)(*(longlong *)(param_1 + 8) + 0xa9) & 1); lVar9 = lVar12; if (!bVar18) { lVar9 = puVar6[2]; } if (lVar9 != 0) { lVar9 = lVar12; iVar19 = iVar3; iVar13 = iVar10; iVar14 = iVar15; if (uVar16 == 0) { if (!bVar18) { lVar9 = puVar6[2]; } iVar11 = iVar4 - iVar15; LAB_1812c8403: FUN_18134bfe0(lVar9,iVar11,iVar13,iVar14,iVar19); } else { if (uVar16 == 1) { if (bVar18) { iVar11 = iVar5 + iVar4; } else { lVar9 = puVar6[2]; iVar11 = iVar5 + iVar4; } goto LAB_1812c8403; } iVar19 = iVar15; iVar11 = iVar4; iVar14 = iVar5; if (uVar16 == 2) { if (!bVar18) { lVar9 = puVar6[2]; } goto LAB_1812c8403; } if (uVar16 == 3) { iVar13 = *(int *)(*(longlong *)(param_1 + 8) + 0x2c) + *(int *)(*(longlong *)(param_1 + 8) + 0x24); if (!bVar18) { lVar9 = puVar6[2]; } goto LAB_1812c8403; } } lVar9 = lVar12; if (!bVar18) { lVar9 = puVar6[2]; } if (lVar9 != 0) { if (uVar16 == 3) { uVar8 = *(undefined8 *)(param_1 + 8); } else { uVar8 = *(undefined8 *)(*(longlong *)(param_1 + 0x10) + 8 + lVar17); } lVar9 = lVar12; if (!bVar18) { lVar9 = puVar6[2]; } FUN_181344e50(lVar9,uVar8); goto LAB_1812c8444; } } if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(puVar6 + 1); iVar15 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)*local_res20)(local_res20,1); } } break; } LAB_1812c8444: if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(puVar6 + 1); iVar13 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)*local_res20)(local_res20,1); } } lVar17 = lVar17 + -8; uVar16 = uVar16 - 1; } while (-1 < (int)uVar16); } *pcVar1 = '\0'; } return; } ############ FUN_ 1812cc700 size=350 ############ undefined8 * FUN_1812cc700(undefined8 *param_1,undefined8 param_2,char param_3,undefined8 param_4) { undefined1 uVar1; undefined8 *puVar2; int iVar3; uint uVar4; undefined7 uVar5; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; puVar2 = param_1; FUN_1813453e0(); *puVar2 = juce::TopLevelWindow::vftable; *(undefined2 *)(puVar2 + 0x16) = 1; *(undefined1 *)((longlong)puVar2 + 0xb2) = 0; puVar2[0x17] = 0; uVar5 = (undefined7)((ulonglong)param_2 >> 8); FUN_18134bd50(); if (param_3 == '\0') { FUN_1812cc270(param_1,CONCAT71(uVar5,1)); } else { uVar4 = 1; if (*(char *)(param_1 + 0x16) != '\0') { uVar4 = 0x101; } if (*(char *)((longlong)param_1 + 0xb1) != '\0') { uVar4 = uVar4 | 8; } .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (param_1,uVar4,0,param_4,uVar6); } *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x20; *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) | 4; if (DAT_182673b08 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1811316e0(0x38); *puVar2 = juce::Timer::vftable; puVar2[1] = 0xffffffffffffffff; *(undefined4 *)(puVar2 + 2) = 0; FUN_1812a7230(puVar2 + 3); *puVar2 = juce::TopLevelWindowManager::vftable; puVar2[3] = juce::TopLevelWindowManager::vftable; puVar2[4] = 0; puVar2[5] = 0; puVar2[6] = 0; DAT_182673b08 = puVar2; } puVar2 = DAT_182673b08; iVar3 = *(int *)((longlong)DAT_182673b08 + 0x2c) + 1; if (*(int *)(DAT_182673b08 + 5) < iVar3) { FUN_18047cb30(DAT_182673b08 + 4, *(int *)((longlong)DAT_182673b08 + 0x2c) + 9 + iVar3 / 2 & 0xfffffff8); } iVar3 = *(int *)((longlong)puVar2 + 0x2c); *(int *)((longlong)puVar2 + 0x2c) = iVar3 + 1; *(undefined8 **)(puVar2[4] + (longlong)iVar3 * 8) = param_1; FUN_1812a77d0(puVar2,10); uVar1 = FUN_18050ca90(puVar2,param_1); *(undefined1 *)((longlong)param_1 + 0xb2) = uVar1; return param_1; } ############ FUN_ 181347bc0 size=237 ############ undefined8 * FUN_181347bc0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong *plVar2; undefined8 *puVar3; undefined8 uVar4; undefined8 uVar5; longlong local_60 [7]; longlong *local_28; uVar5 = 0xfffffffffffffffe; puVar3 = (undefined8 *)FUN_1811316e0(0x48); local_28 = (longlong *)0x0; puVar1 = (undefined8 *)param_1[7]; if (puVar1 != (undefined8 *)0x0) { local_28 = (longlong *)(**(code **)*puVar1)(puVar1,local_60); } *puVar3 = juce::LambdaCallback::vftable; puVar3[8] = 0; if (local_28 != (longlong *)0x0) { uVar4 = (**(code **)*local_28)(local_28,puVar3 + 1); puVar3[8] = uVar4; } if (local_28 != (longlong *)0x0) { (**(code **)(*local_28 + 0x20))(local_28,local_28 != local_60,*local_28,param_4,uVar5); local_28 = (longlong *)0x0; } plVar2 = (longlong *)param_1[7]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x20))(plVar2,plVar2 != param_1); param_1[7] = 0; } return puVar3; } ############ FUN_ 18134a630 size=449 ############ undefined8 * FUN_18134a630(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined4 uVar1; longlong *plVar2; undefined8 *puVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; puVar3 = param_1; FUN_1813453e0(); *puVar3 = juce::Viewport::vftable; puVar3[0x16] = juce::Viewport::vftable; puVar3[0x17] = juce::Viewport::vftable; param_1[0x18] = 0; param_1[0x19] = 0; plVar2 = param_1 + 0x1a; *plVar2 = (longlong)juce::Component::vftable; param_1[0x1b] = &DAT_1821dbf98; param_1[0x1c] = &DAT_1821dbf98; param_1[0x1d] = 0; param_1[0x1e] = 0; param_1[0x1f] = 0; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = 0; param_1[0x24] = 0; param_1[0x25] = 0; param_1[0x26] = 0; param_1[0x27] = 0; param_1[0x28] = 0; param_1[0x29] = 0; param_1[0x2a] = 0; param_1[0x2b] = 0; param_1[0x2c] = 0; param_1[0x2d] = 0; param_1[0x2e] = 0; *(undefined4 *)(param_1 + 0x2f) = 0; *(undefined1 *)((longlong)param_1 + 0x17c) = 0; param_1[0x30] = 0; param_1[0x31] = 0; param_1[0x32] = 0; *(undefined4 *)(param_1 + 0x33) = 0; *(undefined4 *)((longlong)param_1 + 0x19c) = 0x10; *(undefined4 *)(param_1 + 0x34) = 0x10; *(undefined4 *)((longlong)param_1 + 0x1a4) = 0x10101; *(undefined4 *)(param_1 + 0x35) = 0x1010000; param_1[0x36] = 0; (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff,param_4,uVar4); *(byte *)(param_1 + 0x2f) = *(byte *)(param_1 + 0x2f) | 0x18; plVar2 = (longlong *)FUN_18134adf0(param_1); uVar1 = (**(code **)(*plVar2 + 0x30))(plVar2); *(undefined4 *)(param_1 + 0x33) = uVar1; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x38; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } FUN_181317020(param_1,*(int *)(**(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18) + 0x14) == 1); FUN_1813175f0(param_1); return param_1; } ############ FUN_ 181317020 size=125 ############ void FUN_181317020(longlong param_1,char param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; if ((*(longlong *)(param_1 + 0x1b0) != 0) != (bool)param_2) { if (param_2 == '\0') { puVar2 = *(undefined8 **)(param_1 + 0x1b0); *(undefined8 *)(param_1 + 0x1b0) = 0; } else { uVar1 = FUN_1811316e0(0x118); uVar3 = FUN_1804f8630(uVar1,param_1,param_3,param_4,uVar3); puVar2 = *(undefined8 **)(param_1 + 0x1b0); *(undefined8 *)(param_1 + 0x1b0) = uVar3; } if (puVar2 != (undefined8 *)0x0) { /* WARNING: Could not recover jumptable at 0x000181317094. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)*puVar2)(puVar2,1); return; } } return; } ############ FUN_ 1813175f0 size=592 ############ void FUN_1813175f0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; int iVar2; undefined8 *puVar3; undefined8 uVar4; longlong lVar5; undefined8 *puVar6; longlong *plVar7; puVar3 = (undefined8 *)param_1[0x18]; param_1[0x18] = 0; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1,param_3,param_4,0xfffffffffffffffe); } puVar3 = (undefined8 *)param_1[0x19]; param_1[0x19] = 0; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } if (*(code **)(*param_1 + 0x168) == FUN_181316130) { uVar4 = FUN_1811316e0(0x150); lVar5 = FUN_18131e970(uVar4,1); } else { lVar5 = (**(code **)(*param_1 + 0x168))(param_1,1); } puVar3 = (undefined8 *)param_1[0x18]; param_1[0x18] = lVar5; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } if (*(code **)(*param_1 + 0x168) == FUN_181316130) { uVar4 = FUN_1811316e0(0x150); lVar5 = FUN_18131e970(uVar4,0); } else { lVar5 = (**(code **)(*param_1 + 0x168))(param_1,0); } puVar3 = (undefined8 *)param_1[0x19]; param_1[0x19] = lVar5; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } if (param_1[0x18] != 0) { FUN_181343cc0(param_1,param_1[0x18],0xffffffff); } if (param_1[0x19] != 0) { FUN_181343cc0(param_1,param_1[0x19],0xffffffff); } plVar1 = param_1 + 0x17; if (plVar1 != (longlong *)0x0) { lVar5 = param_1[0x18]; plVar7 = (longlong *)(lVar5 + 0x140); puVar6 = (undefined8 *)*plVar7; iVar2 = *(int *)(lVar5 + 0x14c); puVar3 = puVar6 + iVar2; for (; puVar6 != puVar3; puVar6 = puVar6 + 1) { if (plVar1 == (longlong *)*puVar6) goto LAB_181317782; } if (*(int *)(lVar5 + 0x148) < iVar2 + 1) { FUN_18047cb30(plVar7,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar5 + 0x14c); *(int *)(lVar5 + 0x14c) = iVar2 + 1; *(longlong **)(*plVar7 + (longlong)iVar2 * 8) = plVar1; LAB_181317782: if (plVar1 != (longlong *)0x0) { lVar5 = param_1[0x19]; plVar7 = (longlong *)(lVar5 + 0x140); puVar6 = (undefined8 *)*plVar7; iVar2 = *(int *)(lVar5 + 0x14c); puVar3 = puVar6 + iVar2; for (; puVar6 != puVar3; puVar6 = puVar6 + 1) { if (plVar1 == (longlong *)*puVar6) goto LAB_1813177e4; } if (*(int *)(lVar5 + 0x148) < iVar2 + 1) { FUN_18047cb30(plVar7,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar5 + 0x14c); *(int *)(lVar5 + 0x14c) = iVar2 + 1; *(longlong **)(*plVar7 + (longlong)iVar2 * 8) = plVar1; } } LAB_1813177e4: if (*(code **)(*param_1 + 0x108) != thunk_FUN_1813165e0) { (**(code **)(*param_1 + 0x108))(param_1); return; } FUN_1813165e0(); return; } ############ FUN_ 181341570 size=288 ############ void FUN_181341570(longlong param_1,longlong param_2,char param_3) { longlong *plVar1; int iVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; int iVar6; longlong *plVar7; if (*(longlong *)(param_1 + 0x70) == 0) { puVar5 = (undefined8 *)FUN_1811316e0(); *puVar5 = 0; puVar5[1] = 0; *(undefined4 *)(puVar5 + 2) = 0; puVar3 = *(undefined8 **)(param_1 + 0x70); *(undefined8 **)(param_1 + 0x70) = puVar5; if (puVar3 != (undefined8 *)0x0) { *(undefined4 *)((longlong)puVar3 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar3); } } plVar4 = *(longlong **)(param_1 + 0x70); plVar7 = (longlong *)*plVar4; iVar2 = *(int *)((longlong)plVar4 + 0xc); plVar1 = plVar7 + iVar2; while( true ) { if (plVar7 == plVar1) { iVar6 = iVar2 + 1; if (param_3 == '\0') { if ((int)plVar4[1] < iVar6) { FUN_18047cb30(plVar4,iVar2 + 9 + iVar6 / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)plVar4 + 0xc); *(int *)((longlong)plVar4 + 0xc) = iVar2 + 1; *(longlong *)(*plVar4 + (longlong)iVar2 * 8) = param_2; } else { if ((int)plVar4[1] < iVar6) { FUN_18047cb30(plVar4,iVar2 + 9 + iVar6 / 2 & 0xfffffff8); } if (*(int *)((longlong)plVar4 + 0xc) == 0) { *(longlong *)*plVar4 = param_2; *(int *)((longlong)plVar4 + 0xc) = *(int *)((longlong)plVar4 + 0xc) + 1; *(int *)(plVar4 + 2) = (int)plVar4[2] + 1; } else { memmove((void *)(*plVar4 + 8),(void *)*plVar4, (longlong)*(int *)((longlong)plVar4 + 0xc) << 3); *(longlong *)*plVar4 = param_2; *(int *)((longlong)plVar4 + 0xc) = *(int *)((longlong)plVar4 + 0xc) + 1; *(int *)(plVar4 + 2) = (int)plVar4[2] + 1; } } return; } if (param_2 == *plVar7) break; plVar7 = plVar7 + 1; } return; } ############ FUN_ 18134ab30 size=349 ############ void FUN_18134ab30(longlong *param_1,char param_2,undefined8 param_3,undefined1 param_4) { char cVar1; undefined8 *puVar2; undefined8 *puVar3; int iVar4; cVar1 = FUN_18134aa20(param_1,0,param_3,param_4,0xfffffffffffffffe); if (cVar1 == '\0') { if (DAT_182673c20 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar2); FUN_1812a7230(puVar2 + 2); *puVar2 = juce::ModalComponentManager::vftable; puVar2[2] = juce::ModalComponentManager::vftable; puVar2[3] = 0; puVar2[4] = 0; DAT_182673c20 = puVar2; } puVar2 = DAT_182673c20; if (param_1 != (longlong *)0x0) { puVar3 = (undefined8 *)FUN_1811316e0(0x60); FUN_181322bc0(puVar3,param_1); *puVar3 = juce::ModalComponentManager::ModalItem::vftable; puVar3[8] = param_1; puVar3[9] = 0; puVar3[10] = 0; *(undefined4 *)(puVar3 + 0xb) = 0; *(undefined1 *)((longlong)puVar3 + 0x5c) = 1; *(undefined1 *)((longlong)puVar3 + 0x5d) = param_4; iVar4 = *(int *)((longlong)puVar2 + 0x24) + 1; if (*(int *)(puVar2 + 4) < iVar4) { FUN_18047cb30(puVar2 + 3,*(int *)((longlong)puVar2 + 0x24) + 9 + iVar4 / 2 & 0xfffffff8); } iVar4 = *(int *)((longlong)puVar2 + 0x24); *(int *)((longlong)puVar2 + 0x24) = iVar4 + 1; *(undefined8 **)(puVar2[3] + (longlong)iVar4 * 8) = puVar3; } FUN_18133b470(puVar2,param_1,param_3); (**(code **)(*param_1 + 0x58))(param_1,1); if (param_2 != '\0') { FUN_18133ed60(param_1,2,1); } } return; } ############ FUN_ 181351c70 size=122 ############ undefined8 * FUN_181351c70(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x40); FUN_181351450(puVar1); *puVar1 = juce::SimpleValueSource::vftable; puVar1[2] = juce::SimpleValueSource::vftable; puVar1[6] = &PTR_vftable_18262b558; *param_1 = puVar1; LOCK(); *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; UNLOCK(); param_1[1] = 0; param_1[2] = 0; return param_1; } ############ FUN_ 1812192a0 size=212 ############ undefined8 * FUN_1812192a0(undefined8 *param_1,undefined8 param_2) { int iVar1; void *_Dst; *param_1 = juce::OutputStream::vftable; FUN_18049c4e0(param_1 + 1); *param_1 = juce::GZIPCompressorOutputStream::vftable; param_1[2] = param_2; *(undefined1 *)(param_1 + 3) = 0; _Dst = (void *)FUN_1811316e0(0x8060); *(undefined4 *)((longlong)_Dst + 0x58) = 9; *(undefined2 *)((longlong)_Dst + 0x5c) = 1; *(undefined1 *)((longlong)_Dst + 0x5e) = 0; memset(_Dst,0,0x58); iVar1 = FUN_18121fbc0(_Dst,*(undefined4 *)((longlong)_Dst + 0x58),8,0xf,8,0,"1.2.3"); *(bool *)((longlong)_Dst + 0x5d) = iVar1 == 0; param_1[4] = _Dst; *param_1 = juce::GZIPCompressorOutputStream::vftable; return param_1; } ############ FUN_ 18134f2a0 size=908 ############ undefined8 FUN_18134f2a0(longlong param_1) { LPCRITICAL_SECTION p_Var1; uint *_Memory; uint uVar2; undefined1 *puVar3; undefined1 uVar4; char cVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; longlong *plVar9; bool bVar10; undefined1 *local_res10 [2]; undefined1 local_res20 [8]; undefined8 local_128; longlong alStack_120 [2]; undefined1 *local_110; longlong local_108 [2]; undefined2 local_f8; undefined1 *local_f0; undefined1 *local_e8; void *local_e0; undefined8 local_d8; undefined2 local_d0; undefined8 *local_c8; char *local_c0; char *local_b8 [3]; undefined1 *local_a0; undefined1 *local_98; undefined1 *local_90; undefined1 local_88; undefined4 local_84; undefined *local_80; undefined8 local_78; LPCRITICAL_SECTION local_70; undefined8 *local_68; LPCRITICAL_SECTION local_60; undefined8 *local_50; local_78 = 0xfffffffffffffffe; local_128 = 0; alStack_120[0] = 0; puVar7 = (undefined8 *)0x0; alStack_120[1] = 0; lVar6 = FUN_18122bf10(); if (s_PROPERTIES_1821e7430[0] == '\0') { local_110 = &DAT_1821dbf98; } else { p_Var1 = (LPCRITICAL_SECTION)(lVar6 + 0x10); local_70 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar6); local_c0 = "PROPERTIES"; FUN_181211b90(&local_110,lVar6,&local_c0); LeaveCriticalSection(p_Var1); } if (0 < *(int *)(param_1 + 0x14)) { puVar7 = (undefined8 *)FUN_1811316e0(0x20); *puVar7 = 0; puVar7[1] = 0; puVar7[2] = 0; local_68 = puVar7; uVar8 = FUN_18122bf10(); FUN_18122c330(uVar8,puVar7 + 3,"VALUE"); plVar9 = alStack_120; lVar6 = alStack_120[0]; while (lVar6 != 0) { plVar9 = (longlong *)*plVar9; lVar6 = *plVar9; } *plVar9 = (longlong)puVar7; lVar6 = FUN_18122bf10(); if (DAT_1821e7428 == '\0') { local_res10[0] = &DAT_1821dbf98; } else { p_Var1 = (LPCRITICAL_SECTION)(lVar6 + 0x10); local_60 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar6); local_b8[0] = "name"; FUN_181211b90(local_res10,lVar6,local_b8); LeaveCriticalSection(p_Var1); } puVar3 = local_res10[0]; uVar8 = FUN_181249970(param_1 + 8,0); FUN_181246b70(puVar7,local_res10,uVar8); _Memory = (uint *)(puVar3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } plVar9 = (longlong *)FUN_181249970(param_1 + 0x18,0); local_108[0] = *plVar9; if ((*(uint *)(local_108[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_108[0] + -0x10) = *(int *)(local_108[0] + -0x10) + 1; UNLOCK(); } local_108[1] = 0; local_f8 = 0; local_f0 = &DAT_1821dbf98; local_e8 = &DAT_1821dbf98; local_e0 = (void *)0x0; local_d8 = 0; local_d0 = 0x100; local_c8 = (undefined8 *)0x0; FUN_181248430(local_108,local_res20); if (local_c8 != (undefined8 *)0x0) { (**(code **)*local_c8)(local_c8,1); } FUN_180488c50(&local_e0); /* WARNING: Subroutine does not return */ free(local_e0); } if (*(longlong *)(param_1 + 0xf0) != 0) { puVar7 = (undefined8 *)FUN_1811316e0(0x10); uVar8 = *(undefined8 *)(param_1 + 0xf0); *puVar7 = uVar8; uVar4 = FUN_1812459c0(uVar8,0xffffffff); *(undefined1 *)(puVar7 + 1) = uVar4; } local_50 = puVar7; if ((puVar7 == (undefined8 *)0x0) || (*(char *)(puVar7 + 1) != '\0')) { local_a0 = &DAT_1821dbf98; local_98 = &DAT_1821dbf98; local_90 = &DAT_1821dbf98; local_88 = 1; local_84 = 0x3c; local_80 = &DAT_1821db4e4; cVar5 = FUN_1812470e0(&local_128,param_1 + 0xb8,&local_a0); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if (cVar5 != '\0') { *(undefined1 *)(param_1 + 0xf9) = 0; uVar8 = 1; goto LAB_18134f759; } } uVar8 = 0; LAB_18134f759: if (puVar7 == (undefined8 *)0x0) { FUN_1812472e0(&local_128); return uVar8; } FUN_181245930(*puVar7); /* WARNING: Subroutine does not return */ free(puVar7); } ############ FUN_ 18134f980 size=101 ############ undefined8 * FUN_18134f980(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined1 uVar2; undefined8 *puVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0xf0) != 0) { puVar3 = (undefined8 *)FUN_1811316e0(0x10); uVar1 = *(undefined8 *)(param_1 + 0xf0); *puVar3 = uVar1; uVar2 = FUN_1812459c0(uVar1,0xffffffff,param_3,param_4,uVar4); *(undefined1 *)(puVar3 + 1) = uVar2; return puVar3; } return (undefined8 *)0x0; } ############ FUN_ 181346500 size=1188 ############ ulonglong FUN_181346500(undefined4 param_1,longlong *param_2,longlong *param_3,undefined8 *param_4, undefined8 *param_5,undefined8 param_6,longlong param_7) { int *piVar1; undefined8 *puVar2; char *pcVar3; bool bVar4; longlong lVar5; int iVar6; undefined8 uVar7; ulonglong uVar8; longlong *plVar9; uint uVar10; uint *puVar11; char **ppcVar12; longlong lVar13; bool bVar14; undefined4 local_d8; undefined4 uStack_d4; char *local_d0; char *local_c8; char *local_c0; longlong local_b8; char *local_b0; longlong local_a8; longlong local_a0; char *local_98; char *local_90; undefined1 *local_88; undefined4 local_80; undefined8 local_7c; undefined1 local_70 [8]; longlong local_68; undefined1 local_60; undefined8 local_58; undefined4 *local_48; local_58 = 0xfffffffffffffffe; lVar13 = 0; local_d8 = 0; if (DAT_182673700 == 0) { local_c8 = (char *)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_c8); } lVar5 = DAT_182673700; if (*(longlong *)(DAT_182673700 + 0x98) != 0) { lVar13 = *(longlong *)(*(longlong *)(DAT_182673700 + 0x98) + 0x10); } if (lVar13 == 0) { if (*(longlong *)(DAT_182673700 + 0x90) == 0) { uVar7 = FUN_1811316e0(0x170); uVar7 = FUN_1812fbfd0(uVar7); puVar2 = *(undefined8 **)(lVar5 + 0x90); *(undefined8 *)(lVar5 + 0x90) = uVar7; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } lVar13 = *(longlong *)(lVar5 + 0x90); FUN_18051b750(lVar5 + 0x98,lVar13); } if (*(char *)(lVar13 + 0x118) == '\0') { local_a8 = *param_2; if ((*(uint *)(local_a8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a8 + -0x10) = *(int *)(local_a8 + -0x10) + 1; UNLOCK(); } local_a0 = *param_3; if ((*(uint *)(local_a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a0 + -0x10) = *(int *)(local_a0 + -0x10) + 1; UNLOCK(); } local_98 = ""; local_90 = ""; local_88 = &DAT_1821dbf98; bVar4 = false; bVar14 = true; local_7c = 2; local_80 = param_1; FUN_1804de690(local_70,param_6); local_68 = param_7; local_60 = param_7 == 0; pcVar3 = (char *)*param_4; if (*pcVar3 == '\0') { FUN_18049c4e0(&local_d8,&DAT_1821e337c); lVar13 = DAT_1826739f8; local_48 = &DAT_182673984; do { LOCK(); uVar10 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar10 != 0); if (DAT_1826739f8 == 0) { local_d0 = (char *)CONCAT44(uStack_d4,local_d8); if ((*(uint *)(local_d0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d0 + -0x10) = *(int *)(local_d0 + -0x10) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar6 = FUN_1812498b0(DAT_1826739f8 + 0x18,CONCAT44(uStack_d4,local_d8), *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar6)) { iVar6 = FUN_1812498b0(lVar13 + 0x18,CONCAT44(uStack_d4,local_d8), *(undefined1 *)(lVar13 + 0x38),0); if (iVar6 < 0) { local_d0 = (char *)CONCAT44(uStack_d4,local_d8); uVar10 = *(uint *)(local_d0 + -0x10); } else { plVar9 = (longlong *)FUN_181249970(lVar13 + 0x28,iVar6); local_d0 = (char *)*plVar9; uVar10 = *(uint *)(local_d0 + -0x10); } if ((uVar10 & 0x30000000) == 0) { LOCK(); *(int *)(local_d0 + -0x10) = *(int *)(local_d0 + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar13 + 0x40),&local_d0,&local_d8,&local_d8); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar11 = (uint *)(CONCAT44(uStack_d4,local_d8) + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } ppcVar12 = &local_d0; bVar4 = true; bVar14 = false; } else { local_c0 = pcVar3; if ((*(uint *)(pcVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar3 + -0x10) = *(int *)(pcVar3 + -0x10) + 1; UNLOCK(); } ppcVar12 = &local_c0; } if ((*(uint *)(*ppcVar12 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*ppcVar12 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } pcVar3 = *ppcVar12; LOCK(); UNLOCK(); puVar11 = (uint *)(local_98 + -0x10); local_98 = pcVar3; if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((bVar14) && (puVar11 = (uint *)(local_c0 + -0x10), (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((bVar4) && (puVar11 = (uint *)(local_d0 + -0x10), (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } pcVar3 = (char *)*param_5; if (*pcVar3 == '\0') { FUN_18049c4e0(&local_b8,"Cancel"); FUN_1812344e0(&local_c8,&local_b8); puVar11 = (uint *)(local_b8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } ppcVar12 = &local_c8; bVar4 = true; bVar14 = false; } else { local_b0 = pcVar3; if ((*(uint *)(pcVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar3 + -0x10) = *(int *)(pcVar3 + -0x10) + 1; UNLOCK(); } ppcVar12 = &local_b0; bVar4 = false; bVar14 = true; } if ((*(uint *)(*ppcVar12 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*ppcVar12 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } pcVar3 = *ppcVar12; LOCK(); UNLOCK(); puVar11 = (uint *)(local_90 + -0x10); local_90 = pcVar3; if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((bVar14) && (puVar11 = (uint *)(local_b0 + -0x10), (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((bVar4) && (puVar11 = (uint *)(local_c8 + -0x10), (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } uVar7 = FUN_1812a7550(); FUN_1812a6500(uVar7,FUN_18050c240,&local_a8); bVar14 = local_7c._4_4_ != 0; FUN_18050c250(&local_a8); uVar8 = (ulonglong)bVar14; } else { uVar8 = FUN_1812c6290(param_1,param_2,param_3,param_6,param_7); } return uVar8; } ############ FUN_ 1812a6500 size=248 ############ undefined8 FUN_1812a6500(longlong param_1,code *param_2,undefined8 param_3) { int *piVar1; int iVar2; char cVar3; DWORD DVar4; undefined8 uVar5; undefined8 *puVar6; DVar4 = GetCurrentThreadId(); if ((ulonglong)DVar4 == *(ulonglong *)(param_1 + 0x10)) { uVar5 = (*param_2)(param_3); } else { puVar6 = (undefined8 *)FUN_1811316e0(0xd0); uVar5 = 0; *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::AsyncFunctionCallback::vftable; *(undefined1 *)(puVar6 + 2) = 0; _Mtx_init_in_situ(puVar6 + 3,2); _Cnd_init_in_situ(puVar6 + 0xd); *(undefined1 *)(puVar6 + 0x16) = 0; puVar6[0x17] = 0; puVar6[0x18] = param_2; puVar6[0x19] = param_3; LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); cVar3 = FUN_1812a6720(puVar6); if (cVar3 != '\0') { FUN_181215c90(puVar6 + 2,0xffffffff); uVar5 = puVar6[0x17]; } LOCK(); piVar1 = (int *)(puVar6 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar6)(puVar6,1); } } return uVar5; } ############ FUN_ 1812c6290 size=202 ############ bool FUN_1812c6290(undefined4 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, longlong param_5) { int iVar1; undefined8 uVar2; undefined8 *puVar3; bool bVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; uVar2 = FUN_1811316e0(0x38); puVar3 = (undefined8 *) FUN_1805166a0(uVar2,param_1,param_2,param_3,param_4,1,param_5,param_5 != 0,uVar5,uVar2); if (param_5 == 0) { iVar1 = FUN_1805167d0(puVar3); bVar4 = iVar1 != 0; } else { puVar3 = (undefined8 *)0x0; bVar4 = false; } if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } return bVar4; } ############ FUN_ 1813469b0 size=917 ############ void FUN_1813469b0(undefined4 param_1,longlong *param_2,longlong *param_3,undefined8 *param_4, char *param_5,char *param_6) { int *piVar1; undefined8 *puVar2; char *pcVar3; bool bVar4; bool bVar5; longlong lVar6; int iVar7; undefined8 uVar8; ulonglong *puVar9; uint uVar10; uint *puVar11; char **ppcVar12; longlong lVar13; char *local_b8 [2]; longlong local_a8; longlong local_a0; char *local_98; undefined1 *local_90; undefined1 *local_88; undefined4 local_80; undefined8 local_7c; undefined1 local_70 [8]; undefined8 local_68; undefined1 local_60; undefined8 local_58; undefined4 *local_48; local_58 = 0xfffffffffffffffe; lVar13 = 0; param_5 = (char *)((ulonglong)param_5 & 0xffffffff00000000); if (DAT_182673700 == 0) { param_5 = (char *)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(param_5); } lVar6 = DAT_182673700; if (*(longlong *)(DAT_182673700 + 0x98) != 0) { lVar13 = *(longlong *)(*(longlong *)(DAT_182673700 + 0x98) + 0x10); } if (lVar13 == 0) { if (*(longlong *)(DAT_182673700 + 0x90) == 0) { uVar8 = FUN_1811316e0(0x170); uVar8 = FUN_1812fbfd0(uVar8); puVar2 = *(undefined8 **)(lVar6 + 0x90); *(undefined8 *)(lVar6 + 0x90) = uVar8; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } lVar13 = *(longlong *)(lVar6 + 0x90); FUN_18051b750(lVar6 + 0x98,lVar13); } if (*(char *)(lVar13 + 0x118) == '\0') { local_a8 = *param_2; if ((*(uint *)(local_a8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a8 + -0x10) = *(int *)(local_a8 + -0x10) + 1; UNLOCK(); } local_a0 = *param_3; if ((*(uint *)(local_a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a0 + -0x10) = *(int *)(local_a0 + -0x10) + 1; UNLOCK(); } local_98 = ""; local_90 = &DAT_1821dbf98; local_88 = &DAT_1821dbf98; local_7c = 1; local_80 = param_1; FUN_1804de690(local_70,0); local_68 = 0; local_60 = 0; pcVar3 = (char *)*param_4; if (*pcVar3 == '\0') { FUN_18049c4e0(¶m_5,&DAT_1821e327c); lVar13 = DAT_1826739f8; local_48 = &DAT_182673984; do { LOCK(); uVar10 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar10 != 0); if (DAT_1826739f8 == 0) { param_6 = param_5; if ((*(uint *)(param_5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(param_5 + -0x10) = *(int *)(param_5 + -0x10) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar7 = FUN_1812498b0(DAT_1826739f8 + 0x18,param_5, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar7)) { iVar7 = FUN_1812498b0(lVar13 + 0x18,param_5,*(undefined1 *)(lVar13 + 0x38),0); if (iVar7 < 0) { uVar10 = *(uint *)(param_5 + -0x10); param_6 = param_5; } else { puVar9 = (ulonglong *)FUN_181249970(lVar13 + 0x28,iVar7); uVar10 = *(uint *)((char *)*puVar9 + -0x10); param_6 = (char *)*puVar9; } if ((uVar10 & 0x30000000) == 0) { LOCK(); *(int *)(param_6 + -0x10) = *(int *)(param_6 + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar13 + 0x40),¶m_6,¶m_5,¶m_5); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar11 = (uint *)(param_5 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } ppcVar12 = ¶m_6; bVar5 = true; bVar4 = false; } else { local_b8[0] = pcVar3; if ((*(uint *)(pcVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar3 + -0x10) = *(int *)(pcVar3 + -0x10) + 1; UNLOCK(); } ppcVar12 = local_b8; bVar5 = false; bVar4 = true; } if ((*(uint *)(*ppcVar12 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*ppcVar12 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } pcVar3 = *ppcVar12; LOCK(); UNLOCK(); puVar11 = (uint *)(local_98 + -0x10); local_98 = pcVar3; if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((bVar4) && (puVar11 = (uint *)(local_b8[0] + -0x10), (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((bVar5) && (puVar11 = (uint *)(param_6 + -0x10), (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } uVar8 = FUN_1812a7550(); FUN_1812a6500(uVar8,FUN_18050c240,&local_a8); FUN_18050c250(&local_a8); } else { param_5 = (char *)FUN_1811316e0(0x38); FUN_1805166a0(param_5,param_1,param_2,param_3,0,0,0,1); } return; } ############ FUN_ 1812b9780 size=1152 ############ /* WARNING: Removing unreachable block (ram,0x0001812b98b4) */ /* WARNING: Removing unreachable block (ram,0x0001812b98da) */ /* WARNING: Removing unreachable block (ram,0x0001812b98e0) */ /* WARNING: Removing unreachable block (ram,0x0001812b9924) */ /* WARNING: Removing unreachable block (ram,0x0001812b98eb) */ /* WARNING: Removing unreachable block (ram,0x0001812b9930) */ /* WARNING: Removing unreachable block (ram,0x0001812b9934) */ /* WARNING: Removing unreachable block (ram,0x0001812b9966) */ /* WARNING: Removing unreachable block (ram,0x0001812b9945) */ /* WARNING: Removing unreachable block (ram,0x0001812b9949) */ /* WARNING: Removing unreachable block (ram,0x0001812b9952) */ undefined4 FUN_1812b9780(longlong *param_1,undefined8 param_2,undefined8 *param_3) { longlong *plVar1; uint uVar2; longlong lVar3; char *pcVar4; int iVar5; undefined8 *puVar6; void *pvVar7; undefined8 uVar8; uint *puVar9; int iVar10; longlong lVar11; void *pvVar12; longlong lVar13; char *local_res8; int local_res10; undefined8 *local_res18; char *local_res20; void *local_c8 [2]; char *local_b8; longlong local_b0; undefined8 local_a8; undefined8 local_a0; void *local_98; longlong local_90; longlong local_88; longlong local_80 [2]; LPCRITICAL_SECTION local_70; undefined8 local_60; undefined8 local_58; local_80[1] = 0xfffffffffffffffe; LOCK(); plVar1 = param_1 + 7; lVar3 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); iVar10 = (int)lVar3 + -1; if (-1 < iVar10) { local_res10 = iVar10; local_res18 = param_3; puVar6 = (undefined8 *)FUN_181249970(param_1 + 2,iVar10); local_res8 = (char *)*puVar6; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } if (*local_res8 != '\0') { local_b0 = param_1[1]; lVar3 = *param_1; local_70 = (LPCRITICAL_SECTION)(lVar3 + 0x8c); EnterCriticalSection(local_70); pcVar4 = local_res8; lVar11 = *(longlong *)(lVar3 + 0x38); lVar13 = (longlong)*(int *)(lVar3 + 0x44) * 0x60 + lVar11; pvVar12 = (void *)0x0; if (lVar11 != lVar13) { puVar6 = (undefined8 *)(lVar11 + 0x30); do { iVar10 = 0; if ((char *)*puVar6 != pcVar4) { iVar10 = FUN_18048cbc0(*puVar6,pcVar4); } if (iVar10 == 0) { uVar8 = FUN_1811316e0(0x60); pvVar7 = (void *)FUN_1804d7090(uVar8,lVar11); local_98 = pvVar7; LeaveCriticalSection((LPCRITICAL_SECTION)(lVar3 + 0x8c)); goto LAB_1812b988a; } lVar11 = lVar11 + 0x60; puVar6 = puVar6 + 0xc; } while (lVar11 != lVar13); } local_98 = (void *)0x0; LeaveCriticalSection((LPCRITICAL_SECTION)(lVar3 + 0x8c)); pvVar7 = pvVar12; LAB_1812b988a: if (pvVar7 != (void *)0x0) { FUN_1804d7190(pvVar7); /* WARNING: Subroutine does not return */ free(pvVar7); } puVar6 = (undefined8 *) (**(code **)(*(longlong *)param_1[1] + 0x28)) ((longlong *)param_1[1],&local_90,&local_res8); local_60 = *local_res18; *local_res18 = *puVar6; *puVar6 = local_60; puVar9 = (uint *)(local_90 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_a8 = 0; local_a0 = 0; FUN_1812ba080(local_c8,param_1 + 4); FUN_18122d7a0(local_c8,local_res8,0); local_res20 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(local_c8,&local_res20); if (*(char *)param_1[4] != '\0') { uVar8 = FUN_18122d360(local_c8,&local_88,&DAT_1821e2754); FUN_1812447f0(param_1 + 4,uVar8,1,1,&DAT_1821e2764); puVar9 = (uint *)(local_88 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } FUN_1812ba960(*param_1,&local_res8); FUN_18122d7a0(local_c8,local_res8,0); if (*(char *)param_1[4] != '\0') { uVar8 = FUN_18122d360(local_c8,local_80,&DAT_1821e2754); FUN_1812447f0(param_1 + 4,uVar8,1,1,&DAT_1821e2764); puVar9 = (uint *)(local_80[0] + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } pcVar4 = local_res8; if (local_a0._4_4_ == 0) { iVar10 = *(int *)(*param_1 + 0x54); if (0 < iVar10) { puVar6 = *(undefined8 **)(*param_1 + 0x48); pvVar7 = pvVar12; do { local_58 = *puVar6; iVar5 = FUN_18048cbc0(pcVar4); if (iVar5 == 0) { if (-1 < (int)pvVar7) goto LAB_1812b9b80; break; } pvVar7 = (void *)(ulonglong)((int)pvVar7 + 1); pvVar12 = (void *)((longlong)pvVar12 + 1); puVar6 = puVar6 + 1; } while ((longlong)pvVar12 < (longlong)iVar10); } local_b8 = pcVar4; if ((*(uint *)(pcVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar4 + -0x10) = *(int *)(pcVar4 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_1 + 5,&local_b8); } LAB_1812b9b80: FUN_180488c50(local_c8); /* WARNING: Subroutine does not return */ free(local_c8[0]); } puVar9 = (uint *)(local_res8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } *(float *)((longlong)param_1 + 0x3c) = DAT_1824c3ea4 - (float)(int)param_1[7] / (float)*(int *)((longlong)param_1 + 0x1c); return CONCAT31((int3)((uint)(int)param_1[7] >> 8),0 < iVar10); } ############ FUN_ 1812ba960 size=1188 ############ bool FUN_1812ba960(longlong param_1,longlong *param_2,undefined8 param_3,longlong *param_4, longlong *param_5) { LPCRITICAL_SECTION lpCriticalSection; longlong lVar1; bool bVar2; bool bVar3; char cVar4; int iVar5; longlong *plVar6; longlong *plVar7; undefined8 uVar8; longlong *plVar9; void *pvVar10; int iVar11; uint *_Memory; uint uVar12; longlong *plVar13; int iVar14; undefined8 *puVar15; longlong lVar16; bool bVar17; longlong *local_98; undefined8 local_90; void *local_88; longlong local_80; LPCRITICAL_SECTION local_78; undefined8 local_70; LPCRITICAL_SECTION local_68; LPCRITICAL_SECTION local_60; longlong local_58; undefined8 local_50; LPCRITICAL_SECTION local_48; local_70 = 0xfffffffffffffffe; local_78 = (LPCRITICAL_SECTION)(param_1 + 0x60); local_68 = local_78; EnterCriticalSection(local_78); plVar6 = (longlong *)FUN_1812bb2e0(param_1,&local_88,param_2); bVar17 = false; if (local_88 != (void *)0x0) { FUN_1804d7190(local_88); /* WARNING: Subroutine does not return */ free(local_88); } if (*plVar6 == 0) { LAB_1812bab3c: lVar1 = *param_2; iVar14 = 0; iVar11 = *(int *)(param_1 + 0x54); local_58 = lVar1; if (0 < iVar11) { lVar16 = 0; puVar15 = *(undefined8 **)(param_1 + 0x48); do { local_50 = *puVar15; iVar5 = FUN_18048cbc0(lVar1); if (iVar5 == 0) { if (-1 < iVar14) { bVar17 = false; goto LAB_1812badde; } break; } iVar14 = iVar14 + 1; lVar16 = lVar16 + 1; puVar15 = puVar15 + 1; } while (lVar16 < iVar11); } local_98 = (longlong *)0x0; local_90 = 0; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x60); local_48 = lpCriticalSection; LeaveCriticalSection(lpCriticalSection); plVar6 = *(longlong **)(param_1 + 0x58); if (plVar6 == (longlong *)0x0) { (**(code **)(*param_5 + 0x18))(param_5,&local_98,param_2); } else { cVar4 = (**(code **)(*plVar6 + 8))(plVar6,param_5,&local_98,param_2); if (cVar4 == '\0') { FUN_1812ba430(param_1,param_2); } } EnterCriticalSection(lpCriticalSection); plVar6 = local_98 + local_90._4_4_; plVar13 = local_98; if (local_98 != plVar6) { do { plVar7 = (longlong *)*plVar13; FUN_1812bb1d0(param_1,plVar7); plVar9 = (longlong *)FUN_1811316e0(0x60); lVar1 = *plVar7; *plVar9 = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } lVar1 = plVar7[1]; plVar9[1] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } lVar1 = plVar7[2]; plVar9[2] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } lVar1 = plVar7[3]; plVar9[3] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } lVar1 = plVar7[4]; plVar9[4] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } lVar1 = plVar7[5]; plVar9[5] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } lVar1 = plVar7[6]; plVar9[6] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } plVar9[7] = plVar7[7]; plVar9[8] = plVar7[8]; *(int *)(plVar9 + 9) = (int)plVar7[9]; *(undefined1 *)((longlong)plVar9 + 0x4c) = *(undefined1 *)((longlong)plVar7 + 0x4c); *(int *)(plVar9 + 10) = (int)plVar7[10]; *(undefined4 *)((longlong)plVar9 + 0x54) = *(undefined4 *)((longlong)plVar7 + 0x54); *(char *)(plVar9 + 0xb) = (char)plVar7[0xb]; iVar14 = *(int *)((longlong)param_4 + 0xc); iVar11 = iVar14 + 1; if ((int)*(uint *)(param_4 + 1) < iVar11) { if (iVar11 < 0) { iVar11 = iVar14 + 2; } uVar12 = iVar14 + 9 + (iVar11 >> 1) & 0xfffffff8; if (*(uint *)(param_4 + 1) != uVar12) { pvVar10 = (void *)*param_4; if ((int)uVar12 < 1) { /* WARNING: Subroutine does not return */ free(pvVar10); } if (pvVar10 == (void *)0x0) { pvVar10 = malloc((longlong)(int)uVar12 * 8); *param_4 = (longlong)pvVar10; } else { pvVar10 = realloc(pvVar10,(longlong)(int)uVar12 * 8); *param_4 = (longlong)pvVar10; } } *(uint *)(param_4 + 1) = uVar12; } iVar11 = *(int *)((longlong)param_4 + 0xc); *(int *)((longlong)param_4 + 0xc) = iVar11 + 1; *(longlong **)(*param_4 + (longlong)iVar11 * 8) = plVar9; plVar13 = plVar13 + 1; } while (plVar13 != plVar6); } bVar17 = local_90._4_4_ != 0; FUN_1804db390(&local_98); } else { bVar3 = false; local_60 = (LPCRITICAL_SECTION)(param_1 + 0x8c); EnterCriticalSection(local_60); plVar6 = *(longlong **)(param_1 + 0x38); iVar11 = *(int *)(param_1 + 0x44); if (plVar6 != plVar6 + (longlong)iVar11 * 0xc) { plVar13 = plVar6 + 2; do { if (plVar13[4] == *param_2) { iVar14 = 0; } else { iVar14 = FUN_18048cbc0(plVar13[4],*param_2); } if (iVar14 == 0) { plVar7 = (longlong *)(**(code **)(*param_5 + 0x10))(param_5,&local_80); bVar17 = true; if (*plVar13 == *plVar7) { iVar14 = 0; } else { iVar14 = FUN_18048cbc0(*plVar13,*plVar7); } if (iVar14 != 0) goto LAB_1812baa9b; bVar2 = true; } else { LAB_1812baa9b: bVar2 = false; } if (bVar17) { bVar17 = false; _Memory = (uint *)(local_80 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar12 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } if (bVar2) { cVar4 = (**(code **)(*param_5 + 0x30))(param_5,plVar13 + -2); if (cVar4 == '\0') { uVar8 = FUN_1811316e0(0x60); uVar8 = FUN_1804d7090(uVar8,plVar13 + -2); FUN_180485e60(param_4,uVar8); } else { bVar3 = true; } } plVar7 = plVar13 + 10; plVar13 = plVar13 + 0xc; } while (plVar7 != plVar6 + (longlong)iVar11 * 0xc); if (bVar3) { LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); goto LAB_1812bab3c; } } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); bVar17 = false; } LAB_1812badde: LeaveCriticalSection(local_78); return bVar17; } ############ FUN_ 1812bb2e0 size=206 ############ undefined8 * FUN_1812bb2e0(longlong param_1,undefined8 *param_2,longlong *param_3) { longlong lVar1; int iVar2; undefined8 uVar3; longlong *plVar4; longlong lVar5; longlong lVar6; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); lVar6 = *(longlong *)(param_1 + 0x38); lVar5 = (longlong)*(int *)(param_1 + 0x44) * 0x60 + lVar6; if (lVar6 != lVar5) { lVar1 = *param_3; plVar4 = (longlong *)(lVar6 + 0x30); do { if (*plVar4 == lVar1) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar4,lVar1); } if (iVar2 == 0) { uVar3 = FUN_1811316e0(0x60); uVar3 = FUN_1804d7090(uVar3,lVar6); *param_2 = uVar3; goto LAB_1812bb371; } lVar6 = lVar6 + 0x60; plVar4 = plVar4 + 0xc; } while (lVar6 != lVar5); } *param_2 = 0; LAB_1812bb371: LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); return param_2; } ############ FUN_ 1804dbe40 size=962 ############ void FUN_1804dbe40(undefined8 *param_1,longlong param_2,undefined4 param_3) { longlong *plVar1; uint *puVar2; bool bVar3; char cVar4; uint uVar5; int iVar6; int iVar7; int *piVar8; undefined8 *puVar9; uint uVar10; int iVar11; int iVar12; int iVar13; uint uVar14; uint *puVar15; int iVar16; uint uVar17; longlong lVar19; undefined8 local_res8; longlong local_a8; int local_a0; uint uStack_9c; undefined8 local_98; int local_90; undefined4 local_8c; int iStack_88; int local_84; undefined8 local_80; longlong *local_78; uint *local_70; uint *local_68; longlong local_60; undefined8 local_58; uint uVar18; local_58 = 0xfffffffffffffffe; local_78 = *(longlong **)(param_2 + 0x28); iVar13 = (int)local_78[0x20]; iVar7 = *(int *)((longlong)local_78 + 0x104); local_90 = iVar13; if (iVar13 < iVar7) { local_90 = iVar7; } uVar5 = 0; local_a8 = 0; local_a0 = 0; uStack_9c = 0; uVar14 = *(uint *)(param_2 + 0x10); FUN_1812bcde0(*param_1); uVar17 = uVar5; uVar18 = uVar5; for (puVar15 = local_70; puVar15 != local_68; puVar15 = puVar15 + 4) { if (puVar15[2] == uVar14) { for (puVar2 = *(uint **)(param_1[9] + (longlong)(int)(*puVar15 % *(uint *)((longlong)param_1 + 0x54)) * 8); puVar2 != (uint *)0x0; puVar2 = *(uint **)(puVar2 + 2)) { if (*puVar2 == *puVar15) { uVar10 = puVar2[1]; goto LAB_1804dbf03; } } uVar10 = 0; LAB_1804dbf03: bVar3 = (int)uVar17 < (int)uVar10; uVar17 = uVar18; if (bVar3) { uVar17 = uVar10; uVar18 = uVar10; } } } if (local_70 != (uint *)0x0) { puVar15 = local_70; if ((0xfff < (local_60 - (longlong)local_70 & 0xfffffffffffffff0U)) && (puVar15 = *(uint **)(local_70 + -2), 0x1f < (ulonglong)((longlong)local_70 + (-8 - (longlong)puVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(puVar15); } iVar12 = 0; if (0 < iVar13) { do { iVar6 = FUN_1804dd330(param_1,param_2,iVar12,param_3,uVar17); iVar16 = uVar5 + 1; uVar14 = uVar5; local_84 = iVar6; if (local_a0 < iVar16) { iVar11 = iVar16; if (iVar16 < 0) { iVar11 = uVar5 + 2; } FUN_1804af790(&local_a8,iVar16 + (iVar11 >> 1) + 8 & 0xfffffff8); uVar14 = uStack_9c; } uVar5 = uVar14 + 1; *(int *)(local_a8 + (longlong)(int)uVar14 * 4) = iVar6; if (iVar12 < iVar7) { local_98 = CONCAT44(iVar12,*(undefined4 *)(param_2 + 0x10)); *(undefined8 *)(param_1[4] + (longlong)iVar6 * 8) = local_98; } iVar12 = iVar12 + 1; uStack_9c = uVar5; } while (iVar12 < iVar13); } if (iVar13 < iVar7) { plVar1 = param_1 + 4; lVar19 = local_a8; iVar12 = local_a0; do { iVar16 = iVar13; iVar13 = 1; if (1 < *(int *)((longlong)param_1 + 0x2c)) { piVar8 = (int *)*plVar1; do { piVar8 = piVar8 + 2; if (*piVar8 == 0x7fffffff) goto LAB_1804dc03b; iVar13 = iVar13 + 1; } while (iVar13 < *(int *)((longlong)param_1 + 0x2c)); } local_98 = 0x7fffffff; local_80 = 0x7fffffff; FUN_1804dbb20(plVar1,&local_80); iVar13 = *(int *)((longlong)param_1 + 0x2c) + -1; LAB_1804dc03b: iVar6 = uVar5 + 1; uVar14 = uVar5; if (iVar12 < iVar6) { if (iVar6 < 0) { iVar6 = uVar5 + 2; } FUN_1804af790(&local_a8,uVar5 + 9 + (iVar6 >> 1) & 0xfffffff8); lVar19 = local_a8; uVar14 = uStack_9c; iVar12 = local_a0; } uVar5 = uVar14 + 1; *(int *)(lVar19 + (longlong)(int)uVar14 * 4) = iVar13; local_8c = *(undefined4 *)(param_2 + 0x10); *(ulonglong *)(*plVar1 + (longlong)iVar13 * 8) = CONCAT44(iVar16,local_8c); iVar13 = iVar16 + 1; iStack_88 = iVar16; uStack_9c = uVar5; } while (iVar16 + 1 < iVar7); } iVar13 = FUN_1804dcf30(param_1,param_2,param_3); plVar1 = local_78; if ((*(code **)(*local_78 + 0x78) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) && (cVar4 = (**(code **)(*local_78 + 0x78))(local_78), cVar4 != '\0')) { local_res8 = CONCAT44(0x1000,*(undefined4 *)(param_2 + 0x10)); *(undefined8 *)(param_1[6] + (longlong)iVar13 * 8) = local_res8; } iVar12 = *(int *)((longlong)plVar1 + 0x3c); piVar8 = (int *)FUN_1804def70(param_1 + 8,*(undefined4 *)(param_2 + 0x10)); *piVar8 = iVar12 + uVar17; if (iVar7 == 0) { *(uint *)(param_1 + 0xc) = uVar17; } LOCK(); *(int *)(param_2 + 8) = *(int *)(param_2 + 8) + 1; UNLOCK(); puVar9 = (undefined8 *)FUN_1811316e0(0x288); *puVar9 = juce::GraphRenderSequence::ProcessOp::vftable; puVar9[1] = param_2; LOCK(); *(int *)(param_2 + 8) = *(int *)(param_2 + 8) + 1; UNLOCK(); puVar9[2] = *(undefined8 *)(param_2 + 0x28); puVar9[3] = 0; puVar9[4] = 0; FUN_1804e0430(puVar9 + 3,local_a8,uStack_9c); puVar9[5] = 0; puVar9[6] = 0; puVar9[7] = 0; puVar9[8] = puVar9 + 10; puVar9[9] = 0; *(undefined1 *)(puVar9 + 0x2a) = 0; puVar9[0x2b] = 0; puVar9[0x2c] = 0; puVar9[0x2d] = puVar9 + 0x2f; puVar9[0x2e] = 0; *(undefined1 *)(puVar9 + 0x4f) = 0; iVar7 = 1; if (1 < local_90) { iVar7 = local_90; } *(int *)(puVar9 + 0x50) = iVar7; *(int *)((longlong)puVar9 + 0x284) = iVar13; /* WARNING: Subroutine does not return */ free((void *)puVar9[5]); } ############ FUN_ 1804dcf30 size=990 ############ void FUN_1804dcf30(longlong param_1,longlong param_2,undefined4 param_3) { int *piVar1; longlong *plVar2; longlong lVar3; char cVar4; undefined4 uVar5; int iVar6; undefined8 *puVar7; int *piVar8; int iVar9; undefined8 *puVar10; undefined8 uVar11; int iVar12; longlong lVar13; int iVar14; int iVar15; int iVar16; undefined8 local_res10; undefined8 *local_50; int local_44; plVar2 = *(longlong **)(param_2 + 0x28); FUN_1804de830(param_1,&local_50,param_2,0x1000,0xfffffffffffffffe); iVar6 = local_44; if (local_44 == 0) { uVar5 = FUN_1804dcec0(param_1 + 0x30); if (((*(code **)(*plVar2 + 0x70) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) && (cVar4 = (**(code **)(*plVar2 + 0x70))(plVar2), cVar4 != '\0')) || ((*(code **)(*plVar2 + 0x78) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ && (cVar4 = (**(code **)(*plVar2 + 0x78))(plVar2), cVar4 != '\0')))) { lVar13 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; *(undefined4 *)(puVar7 + 1) = uVar5; FUN_180485e60(lVar13 + 0x298,puVar7); } } else if (local_44 == 1) { uVar11 = *local_50; iVar6 = FUN_1804de7d0(param_1,uVar11); if (iVar6 < 0) { FUN_1804dcec0(param_1 + 0x30); } else { cVar4 = FUN_1804dcca0(param_1,param_3,0x1000,uVar11); if (cVar4 != '\0') { uVar5 = FUN_1804dcec0(param_1 + 0x30); FUN_1804deb80(*(undefined8 *)(param_1 + 8),iVar6,uVar5); } } } else { iVar12 = 0; puVar7 = local_50; if (0 < local_44) { do { iVar14 = 0; iVar16 = (int)((ulonglong)*puVar7 >> 0x20); puVar10 = (undefined8 *)(param_1 + 0x30); if (iVar16 != 0x1000) { puVar10 = (undefined8 *)(param_1 + 0x20); } piVar8 = (int *)*puVar10; piVar1 = piVar8 + (longlong)*(int *)((longlong)puVar10 + 0xc) * 2; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)*puVar7) && (piVar8[1] == iVar16)) { if ((-1 < iVar14) && (cVar4 = FUN_1804dcca0(param_1,param_3), cVar4 == '\0')) { if (-1 < iVar12) goto LAB_1804dd1a8; goto LAB_1804dd0fe; } break; } iVar14 = iVar14 + 1; } iVar12 = iVar12 + 1; puVar7 = puVar7 + 1; } while (iVar12 < iVar6); } LAB_1804dd0fe: puVar7 = (undefined8 *)(param_1 + 0x30); iVar14 = FUN_1804dcec0(puVar7); iVar6 = 0; iVar12 = (int)((ulonglong)*local_50 >> 0x20); if (iVar12 != 0x1000) { puVar7 = (undefined8 *)(param_1 + 0x20); } piVar8 = (int *)*puVar7; piVar1 = piVar8 + (longlong)*(int *)((longlong)puVar7 + 0xc) * 2; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)*local_50) && (piVar8[1] == iVar12)) { if (-1 < iVar6) { lVar13 = *(longlong *)(param_1 + 8); local_res10 = CONCAT44(iVar6,iVar14); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar7[1] = local_res10; goto LAB_1804dd192; } break; } iVar6 = iVar6 + 1; } lVar13 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; *(int *)(puVar7 + 1) = iVar14; LAB_1804dd192: FUN_180485e60(lVar13 + 0x298,puVar7); iVar12 = 0; iVar6 = local_44; LAB_1804dd1a8: iVar16 = 0; if (0 < iVar6) { lVar13 = 0; do { if (lVar13 != iVar12) { iVar15 = 0; iVar9 = (int)((ulonglong)local_50[lVar13] >> 0x20); puVar7 = (undefined8 *)(param_1 + 0x30); if (iVar9 != 0x1000) { puVar7 = (undefined8 *)(param_1 + 0x20); } piVar8 = (int *)*puVar7; piVar1 = piVar8 + (longlong)*(int *)((longlong)puVar7 + 0xc) * 2; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)local_50[lVar13]) && (piVar8[1] == iVar9)) { if (-1 < iVar15) { lVar3 = *(longlong *)(param_1 + 8); local_res10 = CONCAT44(iVar15,iVar14); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar7[1] = local_res10; FUN_180485e60(lVar3 + 0x298,puVar7); iVar6 = local_44; } break; } iVar15 = iVar15 + 1; } } iVar16 = iVar16 + 1; lVar13 = lVar13 + 1; } while (iVar16 < iVar6); } } local_44 = 0; /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 1804dd330 size=1397 ############ void FUN_1804dd330(longlong param_1,longlong param_2,int param_3,undefined4 param_4,int param_5) { int *piVar1; char cVar2; undefined4 uVar3; int iVar4; int iVar5; int iVar6; undefined8 *puVar7; int *piVar8; int iVar9; longlong *plVar10; longlong lVar11; int iVar12; ulonglong *puVar13; ulonglong uVar14; int iVar15; int iVar16; int iVar17; undefined8 local_res10; longlong local_60; ulonglong *local_48; int local_3c; iVar9 = *(int *)(*(longlong *)(param_2 + 0x28) + 0x104); FUN_1804de830(param_1,&local_48,param_2,param_3); iVar4 = local_3c; if (local_3c == 0) { if (param_3 < iVar9) { uVar3 = FUN_1804dcec0(param_1 + 0x20); lVar11 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; *(undefined4 *)(puVar7 + 1) = uVar3; FUN_180485e60(lVar11 + 0x298,puVar7); } goto LAB_1804dd897; } if (local_3c == 1) { uVar14 = *local_48; iVar4 = FUN_1804de7d0(param_1); if (iVar4 < 0) { iVar4 = 0; } iVar5 = iVar4; if ((param_3 < iVar9) && (cVar2 = FUN_1804dcca0(param_1,param_4,param_3,uVar14), cVar2 != '\0')) { iVar5 = FUN_1804dcec0(param_1 + 0x20); FUN_1804debd0(*(undefined8 *)(param_1 + 8),iVar4,iVar5); } for (piVar1 = *(int **)(*(longlong *)(param_1 + 0x48) + (longlong) (int)((uVar14 & 0xffffffff) % (ulonglong)*(uint *)(param_1 + 0x54)) * 8); piVar1 != (int *)0x0; piVar1 = *(int **)(piVar1 + 2)) { if (*piVar1 == (int)uVar14) { iVar9 = piVar1[1]; goto LAB_1804dd460; } } iVar9 = 0; LAB_1804dd460: if (iVar9 < param_5) { FUN_1804deaf0(*(undefined8 *)(param_1 + 8),iVar5,param_5 - iVar9); } goto LAB_1804dd897; } iVar16 = 0; iVar5 = 0; puVar13 = local_48; iVar9 = iVar16; if (0 < local_3c) { do { uVar14 = *puVar13; iVar15 = (int)(uVar14 >> 0x20); puVar7 = (undefined8 *)(param_1 + 0x30); if (iVar15 != 0x1000) { puVar7 = (undefined8 *)(param_1 + 0x20); } piVar8 = (int *)*puVar7; piVar1 = piVar8 + (longlong)*(int *)((longlong)puVar7 + 0xc) * 2; iVar12 = iVar16; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)uVar14) && (piVar8[1] == iVar15)) { if ((-1 < iVar12) && (cVar2 = FUN_1804dcca0(param_1,param_4,param_3), cVar2 == '\0')) { piVar1 = *(int **)(*(longlong *)(param_1 + 0x48) + (longlong) (int)((uVar14 & 0xffffffff) % (ulonglong)*(uint *)(param_1 + 0x54)) * 8); goto joined_r0x0001804dd538; } break; } iVar12 = iVar12 + 1; } iVar9 = iVar9 + 1; puVar13 = puVar13 + 1; } while (iVar9 < iVar4); } LAB_1804dd57a: plVar10 = (longlong *)(param_1 + 0x20); iVar12 = FUN_1804dcec0(plVar10); *(undefined8 *)(*plVar10 + (longlong)iVar12 * 8) = 0x7ffffffd; if (local_3c < 1) { local_res10 = 0; } else { local_res10 = *local_48; } iVar9 = (int)(local_res10 >> 0x20); if (iVar9 == 0x1000) { plVar10 = (longlong *)(param_1 + 0x30); } piVar8 = (int *)*plVar10; piVar1 = piVar8 + (longlong)*(int *)((longlong)plVar10 + 0xc) * 2; iVar4 = iVar16; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)local_res10) && (piVar8[1] == iVar9)) { if (-1 < iVar4) { lVar11 = *(longlong *)(param_1 + 8); local_res10 = CONCAT44(iVar4,iVar12); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar7[1] = local_res10; goto LAB_1804dd62a; } break; } iVar4 = iVar4 + 1; } lVar11 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; *(int *)(puVar7 + 1) = iVar12; LAB_1804dd62a: FUN_180485e60(lVar11 + 0x298); if (local_3c < 1) { local_res10 = 0; } else { local_res10 = *local_48; } for (piVar1 = *(int **)(*(longlong *)(param_1 + 0x48) + (longlong) (int)((local_res10 & 0xffffffff) % (ulonglong)*(uint *)(param_1 + 0x54)) * 8); iVar15 = iVar5, piVar1 != (int *)0x0; piVar1 = *(int **)(piVar1 + 2)) { if (*piVar1 == (int)local_res10) { iVar15 = piVar1[1]; break; } } iVar4 = local_3c; iVar9 = iVar5; if (iVar15 < param_5) { FUN_1804deaf0(*(undefined8 *)(param_1 + 8),iVar12,param_5 - iVar15); iVar4 = local_3c; iVar9 = 0; } goto LAB_1804dd6d5; joined_r0x0001804dd538: iVar15 = iVar5; if (piVar1 == (int *)0x0) goto LAB_1804dd551; if (*piVar1 == (int)uVar14) { iVar15 = piVar1[1]; goto LAB_1804dd551; } piVar1 = *(int **)(piVar1 + 2); goto joined_r0x0001804dd538; joined_r0x0001804dd78a: iVar4 = iVar5; if (piVar1 == (int *)0x0) goto LAB_1804dd7a1; if (*piVar1 == (int)uVar14) { iVar4 = piVar1[1]; goto LAB_1804dd7a1; } piVar1 = *(int **)(piVar1 + 2); goto joined_r0x0001804dd78a; LAB_1804dd7a1: iVar6 = iVar17; if (iVar4 < param_5) { cVar2 = FUN_1804dcca0(param_1,param_4,param_3); if (cVar2 == '\0') { FUN_1804deaf0(*(undefined8 *)(param_1 + 8),iVar17,param_5 - iVar4); } else { iVar6 = FUN_1804dcec0(param_1 + 0x20); lVar11 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar7[1] = CONCAT44(iVar17,iVar6); FUN_180485e60(lVar11 + 0x298,puVar7); FUN_1804deaf0(*(undefined8 *)(param_1 + 8),iVar6,param_5 - iVar4); } } lVar11 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar7[1] = CONCAT44(iVar6,iVar12); FUN_180485e60(lVar11 + 0x298,puVar7); iVar4 = local_3c; LAB_1804dd87c: iVar15 = iVar15 + 1; local_60 = local_60 + 1; if (iVar4 <= iVar15) goto LAB_1804dd897; goto LAB_1804dd6f3; LAB_1804dd551: if (iVar15 < param_5) { FUN_1804deaf0(*(undefined8 *)(param_1 + 8),iVar12,param_5 - iVar15); iVar4 = local_3c; } if (iVar9 < 0) goto LAB_1804dd57a; LAB_1804dd6d5: if (0 < iVar4) { local_60 = 0; iVar15 = iVar16; LAB_1804dd6f3: if (local_60 != iVar9) { uVar14 = local_48[local_60]; iVar6 = (int)(uVar14 >> 0x20); puVar7 = (undefined8 *)(param_1 + 0x30); if (iVar6 != 0x1000) { puVar7 = (undefined8 *)(param_1 + 0x20); } piVar8 = (int *)*puVar7; piVar1 = piVar8 + (longlong)*(int *)((longlong)puVar7 + 0xc) * 2; iVar17 = iVar16; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)uVar14) && (piVar8[1] == iVar6)) { if (-1 < iVar17) { piVar1 = *(int **)(*(longlong *)(param_1 + 0x48) + (longlong) (int)((uVar14 & 0xffffffff) % (ulonglong)*(uint *)(param_1 + 0x54)) * 8); goto joined_r0x0001804dd78a; } break; } iVar17 = iVar17 + 1; } } goto LAB_1804dd87c; } LAB_1804dd897: local_3c = 0; /* WARNING: Subroutine does not return */ free(local_48); } ############ FUN_ 1804deaf0 size=90 ############ void FUN_1804deaf0(undefined8 param_1,undefined4 param_2,int param_3) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *puVar1 = juce::GraphRenderSequence::DelayChannelOp::vftable; puVar1[1] = 0; *(undefined4 *)(puVar1 + 2) = param_2; *(int *)((longlong)puVar1 + 0x14) = param_3 + 1; *(undefined4 *)(puVar1 + 3) = 0; *(int *)((longlong)puVar1 + 0x1c) = param_3; /* WARNING: Subroutine does not return */ free((void *)puVar1[1]); } ############ FUN_ 1804deb80 size=72 ############ void FUN_1804deb80(longlong param_1,undefined4 param_2,undefined4 param_3) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x10); *puVar1 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar1[1] = CONCAT44(param_2,param_3); FUN_180485e60(param_1 + 0x298,puVar1); return; } ############ FUN_ 1804debd0 size=72 ############ void FUN_1804debd0(longlong param_1,undefined4 param_2,undefined4 param_3) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x10); *puVar1 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar1[1] = CONCAT44(param_2,param_3); FUN_180485e60(param_1 + 0x298,puVar1); return; } ############ FUN_ 1804def70 size=516 ############ uint * FUN_1804def70(longlong param_1,uint param_2) { longlong *plVar1; uint *puVar2; void *_Memory; int iVar3; uint *puVar4; undefined8 *puVar5; uint uVar6; uint uVar7; ulonglong uVar8; longlong lVar9; int iVar10; longlong lVar11; undefined8 *puVar12; undefined8 *local_38; undefined4 local_30; uint uStack_2c; plVar1 = (longlong *)(param_1 + 8); uVar6 = param_2 % *(uint *)(param_1 + 0x14); puVar2 = *(uint **)((longlong)(int)uVar6 * 8 + *plVar1); for (puVar4 = puVar2; puVar4 != (uint *)0x0; puVar4 = *(uint **)(puVar4 + 2)) { if (*puVar4 == param_2) { return puVar4 + 1; } } puVar4 = (uint *)FUN_1811316e0(0x10); *puVar4 = param_2; puVar5 = (undefined8 *)0x0; *(uint **)(puVar4 + 2) = puVar2; puVar4[1] = 0; if (-1 < (int)uVar6) { if ((int)uVar6 < *(int *)(param_1 + 0x14)) { *(uint **)((longlong)(int)uVar6 * 8 + *plVar1) = puVar4; } else { FUN_18047e060(plVar1,*(int *)(param_1 + 0x14) + 1); iVar3 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar3 + 1; *(uint **)(*plVar1 + (longlong)iVar3 * 8) = puVar4; } } *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + 1; if ((*(int *)(param_1 + 0x14) * 3) / 2 < *(int *)(param_1 + 0x18)) { uVar6 = *(int *)(param_1 + 0x14) * 2; local_38 = (undefined8 *)0x0; local_30 = 0; uStack_2c = 0; puVar12 = puVar5; if (0 < (int)uVar6) { FUN_18047e060(&local_38); uVar7 = uStack_2c; puVar12 = local_38; if (uStack_2c != 0) { memmove(local_38 + (int)uVar6,local_38,(longlong)(int)uStack_2c << 3); } if (0 < (int)uVar6) { uVar8 = (ulonglong)uVar6; puVar5 = puVar12; do { *puVar5 = 0; uVar8 = uVar8 - 1; puVar5 = puVar5 + 1; } while (uVar8 != 0); } uStack_2c = uVar7 + uVar6; puVar5 = (undefined8 *)(ulonglong)uStack_2c; } iVar10 = (int)puVar5; iVar3 = *(int *)(param_1 + 0x14) + -1; lVar9 = (longlong)iVar3; if (-1 < iVar3) { do { puVar2 = *(uint **)(*plVar1 + lVar9 * 8); while (puVar4 = puVar2, iVar10 = (int)puVar5, puVar4 != (uint *)0x0) { puVar2 = *(uint **)(puVar4 + 2); uVar7 = *puVar4 % uVar6; *(undefined8 *)(puVar4 + 2) = puVar12[(int)uVar7]; if (-1 < (int)uVar7) { if ((int)uVar7 < iVar10) { puVar12[(int)uVar7] = puVar4; } else { FUN_18047e060(&local_38); lVar11 = (longlong)(int)uStack_2c; uStack_2c = uStack_2c + 1; puVar5 = (undefined8 *)(ulonglong)uStack_2c; local_38[lVar11] = puVar4; puVar12 = local_38; } } } lVar9 = lVar9 + -1; } while (-1 < lVar9); } _Memory = (void *)*plVar1; *plVar1 = (longlong)puVar12; *(undefined4 *)(param_1 + 0x10) = local_30; *(int *)(param_1 + 0x14) = iVar10; /* WARNING: Subroutine does not return */ free(_Memory); } return puVar4 + 1; } ############ FUN_ 1804dc2b0 size=962 ############ void FUN_1804dc2b0(undefined8 *param_1,longlong param_2,undefined4 param_3) { longlong *plVar1; uint *puVar2; bool bVar3; char cVar4; uint uVar5; int iVar6; int iVar7; int *piVar8; undefined8 *puVar9; uint uVar10; int iVar11; int iVar12; int iVar13; uint uVar14; uint *puVar15; int iVar16; uint uVar17; longlong lVar19; undefined8 local_res8; longlong local_a8; int local_a0; uint uStack_9c; undefined8 local_98; int local_90; undefined4 local_8c; int iStack_88; int local_84; undefined8 local_80; longlong *local_78; uint *local_70; uint *local_68; longlong local_60; undefined8 local_58; uint uVar18; local_58 = 0xfffffffffffffffe; local_78 = *(longlong **)(param_2 + 0x28); iVar13 = (int)local_78[0x20]; iVar7 = *(int *)((longlong)local_78 + 0x104); local_90 = iVar13; if (iVar13 < iVar7) { local_90 = iVar7; } uVar5 = 0; local_a8 = 0; local_a0 = 0; uStack_9c = 0; uVar14 = *(uint *)(param_2 + 0x10); FUN_1812bcde0(*param_1); uVar17 = uVar5; uVar18 = uVar5; for (puVar15 = local_70; puVar15 != local_68; puVar15 = puVar15 + 4) { if (puVar15[2] == uVar14) { for (puVar2 = *(uint **)(param_1[9] + (longlong)(int)(*puVar15 % *(uint *)((longlong)param_1 + 0x54)) * 8); puVar2 != (uint *)0x0; puVar2 = *(uint **)(puVar2 + 2)) { if (*puVar2 == *puVar15) { uVar10 = puVar2[1]; goto LAB_1804dc373; } } uVar10 = 0; LAB_1804dc373: bVar3 = (int)uVar17 < (int)uVar10; uVar17 = uVar18; if (bVar3) { uVar17 = uVar10; uVar18 = uVar10; } } } if (local_70 != (uint *)0x0) { puVar15 = local_70; if ((0xfff < (local_60 - (longlong)local_70 & 0xfffffffffffffff0U)) && (puVar15 = *(uint **)(local_70 + -2), 0x1f < (ulonglong)((longlong)local_70 + (-8 - (longlong)puVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(puVar15); } iVar12 = 0; if (0 < iVar13) { do { iVar6 = FUN_1804ddcc0(param_1,param_2,iVar12,param_3,uVar17); iVar16 = uVar5 + 1; uVar14 = uVar5; local_84 = iVar6; if (local_a0 < iVar16) { iVar11 = iVar16; if (iVar16 < 0) { iVar11 = uVar5 + 2; } FUN_1804af790(&local_a8,iVar16 + (iVar11 >> 1) + 8 & 0xfffffff8); uVar14 = uStack_9c; } uVar5 = uVar14 + 1; *(int *)(local_a8 + (longlong)(int)uVar14 * 4) = iVar6; if (iVar12 < iVar7) { local_98 = CONCAT44(iVar12,*(undefined4 *)(param_2 + 0x10)); *(undefined8 *)(param_1[4] + (longlong)iVar6 * 8) = local_98; } iVar12 = iVar12 + 1; uStack_9c = uVar5; } while (iVar12 < iVar13); } if (iVar13 < iVar7) { plVar1 = param_1 + 4; lVar19 = local_a8; iVar12 = local_a0; do { iVar16 = iVar13; iVar13 = 1; if (1 < *(int *)((longlong)param_1 + 0x2c)) { piVar8 = (int *)*plVar1; do { piVar8 = piVar8 + 2; if (*piVar8 == 0x7fffffff) goto LAB_1804dc4ab; iVar13 = iVar13 + 1; } while (iVar13 < *(int *)((longlong)param_1 + 0x2c)); } local_98 = 0x7fffffff; local_80 = 0x7fffffff; FUN_1804dbb20(plVar1,&local_80); iVar13 = *(int *)((longlong)param_1 + 0x2c) + -1; LAB_1804dc4ab: iVar6 = uVar5 + 1; uVar14 = uVar5; if (iVar12 < iVar6) { if (iVar6 < 0) { iVar6 = uVar5 + 2; } FUN_1804af790(&local_a8,uVar5 + 9 + (iVar6 >> 1) & 0xfffffff8); lVar19 = local_a8; uVar14 = uStack_9c; iVar12 = local_a0; } uVar5 = uVar14 + 1; *(int *)(lVar19 + (longlong)(int)uVar14 * 4) = iVar13; local_8c = *(undefined4 *)(param_2 + 0x10); *(ulonglong *)(*plVar1 + (longlong)iVar13 * 8) = CONCAT44(iVar16,local_8c); iVar13 = iVar16 + 1; iStack_88 = iVar16; uStack_9c = uVar5; } while (iVar16 + 1 < iVar7); } iVar13 = FUN_1804dd8c0(param_1,param_2,param_3); plVar1 = local_78; if ((*(code **)(*local_78 + 0x78) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) && (cVar4 = (**(code **)(*local_78 + 0x78))(local_78), cVar4 != '\0')) { local_res8 = CONCAT44(0x1000,*(undefined4 *)(param_2 + 0x10)); *(undefined8 *)(param_1[6] + (longlong)iVar13 * 8) = local_res8; } iVar12 = *(int *)((longlong)plVar1 + 0x3c); piVar8 = (int *)FUN_1804def70(param_1 + 8,*(undefined4 *)(param_2 + 0x10)); *piVar8 = iVar12 + uVar17; if (iVar7 == 0) { *(uint *)(param_1 + 0xc) = uVar17; } LOCK(); *(int *)(param_2 + 8) = *(int *)(param_2 + 8) + 1; UNLOCK(); puVar9 = (undefined8 *)FUN_1811316e0(0x288); *puVar9 = juce::GraphRenderSequence::ProcessOp::vftable; puVar9[1] = param_2; LOCK(); *(int *)(param_2 + 8) = *(int *)(param_2 + 8) + 1; UNLOCK(); puVar9[2] = *(undefined8 *)(param_2 + 0x28); puVar9[3] = 0; puVar9[4] = 0; FUN_1804e0430(puVar9 + 3,local_a8,uStack_9c); puVar9[5] = 0; puVar9[6] = 0; puVar9[7] = 0; puVar9[8] = puVar9 + 10; puVar9[9] = 0; *(undefined1 *)(puVar9 + 0x2a) = 0; puVar9[0x2b] = 0; puVar9[0x2c] = 0; puVar9[0x2d] = puVar9 + 0x2f; puVar9[0x2e] = 0; *(undefined1 *)(puVar9 + 0x4f) = 0; iVar7 = 1; if (1 < local_90) { iVar7 = local_90; } *(int *)(puVar9 + 0x50) = iVar7; *(int *)((longlong)puVar9 + 0x284) = iVar13; /* WARNING: Subroutine does not return */ free((void *)puVar9[5]); } ############ FUN_ 1804dd8c0 size=990 ############ void FUN_1804dd8c0(longlong param_1,longlong param_2,undefined4 param_3) { int *piVar1; longlong *plVar2; longlong lVar3; char cVar4; undefined4 uVar5; int iVar6; undefined8 *puVar7; int *piVar8; int iVar9; undefined8 *puVar10; undefined8 uVar11; int iVar12; longlong lVar13; int iVar14; int iVar15; int iVar16; undefined8 local_res10; undefined8 *local_50; int local_44; plVar2 = *(longlong **)(param_2 + 0x28); FUN_1804de830(param_1,&local_50,param_2,0x1000,0xfffffffffffffffe); iVar6 = local_44; if (local_44 == 0) { uVar5 = FUN_1804dcec0(param_1 + 0x30); if (((*(code **)(*plVar2 + 0x70) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) && (cVar4 = (**(code **)(*plVar2 + 0x70))(plVar2), cVar4 != '\0')) || ((*(code **)(*plVar2 + 0x78) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ && (cVar4 = (**(code **)(*plVar2 + 0x78))(plVar2), cVar4 != '\0')))) { lVar13 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; *(undefined4 *)(puVar7 + 1) = uVar5; FUN_180485e60(lVar13 + 0x298,puVar7); } } else if (local_44 == 1) { uVar11 = *local_50; iVar6 = FUN_1804de7d0(param_1,uVar11); if (iVar6 < 0) { FUN_1804dcec0(param_1 + 0x30); } else { cVar4 = FUN_1804dcca0(param_1,param_3,0x1000,uVar11); if (cVar4 != '\0') { uVar5 = FUN_1804dcec0(param_1 + 0x30); FUN_1804deed0(*(undefined8 *)(param_1 + 8),iVar6,uVar5); } } } else { iVar12 = 0; puVar7 = local_50; if (0 < local_44) { do { iVar14 = 0; iVar16 = (int)((ulonglong)*puVar7 >> 0x20); puVar10 = (undefined8 *)(param_1 + 0x30); if (iVar16 != 0x1000) { puVar10 = (undefined8 *)(param_1 + 0x20); } piVar8 = (int *)*puVar10; piVar1 = piVar8 + (longlong)*(int *)((longlong)puVar10 + 0xc) * 2; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)*puVar7) && (piVar8[1] == iVar16)) { if ((-1 < iVar14) && (cVar4 = FUN_1804dcca0(param_1,param_3), cVar4 == '\0')) { if (-1 < iVar12) goto LAB_1804ddb38; goto LAB_1804dda8e; } break; } iVar14 = iVar14 + 1; } iVar12 = iVar12 + 1; puVar7 = puVar7 + 1; } while (iVar12 < iVar6); } LAB_1804dda8e: puVar7 = (undefined8 *)(param_1 + 0x30); iVar14 = FUN_1804dcec0(puVar7); iVar6 = 0; iVar12 = (int)((ulonglong)*local_50 >> 0x20); if (iVar12 != 0x1000) { puVar7 = (undefined8 *)(param_1 + 0x20); } piVar8 = (int *)*puVar7; piVar1 = piVar8 + (longlong)*(int *)((longlong)puVar7 + 0xc) * 2; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)*local_50) && (piVar8[1] == iVar12)) { if (-1 < iVar6) { lVar13 = *(longlong *)(param_1 + 8); local_res10 = CONCAT44(iVar6,iVar14); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar7[1] = local_res10; goto LAB_1804ddb22; } break; } iVar6 = iVar6 + 1; } lVar13 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; *(int *)(puVar7 + 1) = iVar14; LAB_1804ddb22: FUN_180485e60(lVar13 + 0x298,puVar7); iVar12 = 0; iVar6 = local_44; LAB_1804ddb38: iVar16 = 0; if (0 < iVar6) { lVar13 = 0; do { if (lVar13 != iVar12) { iVar15 = 0; iVar9 = (int)((ulonglong)local_50[lVar13] >> 0x20); puVar7 = (undefined8 *)(param_1 + 0x30); if (iVar9 != 0x1000) { puVar7 = (undefined8 *)(param_1 + 0x20); } piVar8 = (int *)*puVar7; piVar1 = piVar8 + (longlong)*(int *)((longlong)puVar7 + 0xc) * 2; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)local_50[lVar13]) && (piVar8[1] == iVar9)) { if (-1 < iVar15) { lVar3 = *(longlong *)(param_1 + 8); local_res10 = CONCAT44(iVar15,iVar14); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar7[1] = local_res10; FUN_180485e60(lVar3 + 0x298,puVar7); iVar6 = local_44; } break; } iVar15 = iVar15 + 1; } } iVar16 = iVar16 + 1; lVar13 = lVar13 + 1; } while (iVar16 < iVar6); } } local_44 = 0; /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 1804ddcc0 size=1397 ############ void FUN_1804ddcc0(longlong param_1,longlong param_2,int param_3,undefined4 param_4,int param_5) { int *piVar1; char cVar2; undefined4 uVar3; int iVar4; int iVar5; int iVar6; undefined8 *puVar7; int *piVar8; int iVar9; longlong *plVar10; longlong lVar11; int iVar12; ulonglong *puVar13; ulonglong uVar14; int iVar15; int iVar16; int iVar17; undefined8 local_res10; longlong local_60; ulonglong *local_48; int local_3c; iVar9 = *(int *)(*(longlong *)(param_2 + 0x28) + 0x104); FUN_1804de830(param_1,&local_48,param_2,param_3); iVar4 = local_3c; if (local_3c == 0) { if (param_3 < iVar9) { uVar3 = FUN_1804dcec0(param_1 + 0x20); lVar11 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; *(undefined4 *)(puVar7 + 1) = uVar3; FUN_180485e60(lVar11 + 0x298,puVar7); } goto LAB_1804de227; } if (local_3c == 1) { uVar14 = *local_48; iVar4 = FUN_1804de7d0(param_1); if (iVar4 < 0) { iVar4 = 0; } iVar5 = iVar4; if ((param_3 < iVar9) && (cVar2 = FUN_1804dcca0(param_1,param_4,param_3,uVar14), cVar2 != '\0')) { iVar5 = FUN_1804dcec0(param_1 + 0x20); FUN_1804def20(*(undefined8 *)(param_1 + 8),iVar4,iVar5); } for (piVar1 = *(int **)(*(longlong *)(param_1 + 0x48) + (longlong) (int)((uVar14 & 0xffffffff) % (ulonglong)*(uint *)(param_1 + 0x54)) * 8); piVar1 != (int *)0x0; piVar1 = *(int **)(piVar1 + 2)) { if (*piVar1 == (int)uVar14) { iVar9 = piVar1[1]; goto LAB_1804dddf0; } } iVar9 = 0; LAB_1804dddf0: if (iVar9 < param_5) { FUN_1804dee40(*(undefined8 *)(param_1 + 8),iVar5,param_5 - iVar9); } goto LAB_1804de227; } iVar16 = 0; iVar5 = 0; puVar13 = local_48; iVar9 = iVar16; if (0 < local_3c) { do { uVar14 = *puVar13; iVar15 = (int)(uVar14 >> 0x20); puVar7 = (undefined8 *)(param_1 + 0x30); if (iVar15 != 0x1000) { puVar7 = (undefined8 *)(param_1 + 0x20); } piVar8 = (int *)*puVar7; piVar1 = piVar8 + (longlong)*(int *)((longlong)puVar7 + 0xc) * 2; iVar12 = iVar16; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)uVar14) && (piVar8[1] == iVar15)) { if ((-1 < iVar12) && (cVar2 = FUN_1804dcca0(param_1,param_4,param_3), cVar2 == '\0')) { piVar1 = *(int **)(*(longlong *)(param_1 + 0x48) + (longlong) (int)((uVar14 & 0xffffffff) % (ulonglong)*(uint *)(param_1 + 0x54)) * 8); goto joined_r0x0001804ddec8; } break; } iVar12 = iVar12 + 1; } iVar9 = iVar9 + 1; puVar13 = puVar13 + 1; } while (iVar9 < iVar4); } LAB_1804ddf0a: plVar10 = (longlong *)(param_1 + 0x20); iVar12 = FUN_1804dcec0(plVar10); *(undefined8 *)(*plVar10 + (longlong)iVar12 * 8) = 0x7ffffffd; if (local_3c < 1) { local_res10 = 0; } else { local_res10 = *local_48; } iVar9 = (int)(local_res10 >> 0x20); if (iVar9 == 0x1000) { plVar10 = (longlong *)(param_1 + 0x30); } piVar8 = (int *)*plVar10; piVar1 = piVar8 + (longlong)*(int *)((longlong)plVar10 + 0xc) * 2; iVar4 = iVar16; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)local_res10) && (piVar8[1] == iVar9)) { if (-1 < iVar4) { lVar11 = *(longlong *)(param_1 + 8); local_res10 = CONCAT44(iVar4,iVar12); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar7[1] = local_res10; goto LAB_1804ddfba; } break; } iVar4 = iVar4 + 1; } lVar11 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; *(int *)(puVar7 + 1) = iVar12; LAB_1804ddfba: FUN_180485e60(lVar11 + 0x298); if (local_3c < 1) { local_res10 = 0; } else { local_res10 = *local_48; } for (piVar1 = *(int **)(*(longlong *)(param_1 + 0x48) + (longlong) (int)((local_res10 & 0xffffffff) % (ulonglong)*(uint *)(param_1 + 0x54)) * 8); iVar15 = iVar5, piVar1 != (int *)0x0; piVar1 = *(int **)(piVar1 + 2)) { if (*piVar1 == (int)local_res10) { iVar15 = piVar1[1]; break; } } iVar4 = local_3c; iVar9 = iVar5; if (iVar15 < param_5) { FUN_1804dee40(*(undefined8 *)(param_1 + 8),iVar12,param_5 - iVar15); iVar4 = local_3c; iVar9 = 0; } goto LAB_1804de065; joined_r0x0001804ddec8: iVar15 = iVar5; if (piVar1 == (int *)0x0) goto LAB_1804ddee1; if (*piVar1 == (int)uVar14) { iVar15 = piVar1[1]; goto LAB_1804ddee1; } piVar1 = *(int **)(piVar1 + 2); goto joined_r0x0001804ddec8; joined_r0x0001804de11a: iVar4 = iVar5; if (piVar1 == (int *)0x0) goto LAB_1804de131; if (*piVar1 == (int)uVar14) { iVar4 = piVar1[1]; goto LAB_1804de131; } piVar1 = *(int **)(piVar1 + 2); goto joined_r0x0001804de11a; LAB_1804de131: iVar6 = iVar17; if (iVar4 < param_5) { cVar2 = FUN_1804dcca0(param_1,param_4,param_3); if (cVar2 == '\0') { FUN_1804dee40(*(undefined8 *)(param_1 + 8),iVar17,param_5 - iVar4); } else { iVar6 = FUN_1804dcec0(param_1 + 0x20); lVar11 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar7[1] = CONCAT44(iVar17,iVar6); FUN_180485e60(lVar11 + 0x298,puVar7); FUN_1804dee40(*(undefined8 *)(param_1 + 8),iVar6,param_5 - iVar4); } } lVar11 = *(longlong *)(param_1 + 8); puVar7 = (undefined8 *)FUN_1811316e0(0x10); *puVar7 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar7[1] = CONCAT44(iVar6,iVar12); FUN_180485e60(lVar11 + 0x298,puVar7); iVar4 = local_3c; LAB_1804de20c: iVar15 = iVar15 + 1; local_60 = local_60 + 1; if (iVar4 <= iVar15) goto LAB_1804de227; goto LAB_1804de083; LAB_1804ddee1: if (iVar15 < param_5) { FUN_1804dee40(*(undefined8 *)(param_1 + 8),iVar12,param_5 - iVar15); iVar4 = local_3c; } if (iVar9 < 0) goto LAB_1804ddf0a; LAB_1804de065: if (0 < iVar4) { local_60 = 0; iVar15 = iVar16; LAB_1804de083: if (local_60 != iVar9) { uVar14 = local_48[local_60]; iVar6 = (int)(uVar14 >> 0x20); puVar7 = (undefined8 *)(param_1 + 0x30); if (iVar6 != 0x1000) { puVar7 = (undefined8 *)(param_1 + 0x20); } piVar8 = (int *)*puVar7; piVar1 = piVar8 + (longlong)*(int *)((longlong)puVar7 + 0xc) * 2; iVar17 = iVar16; for (; piVar8 != piVar1; piVar8 = piVar8 + 2) { if ((*piVar8 == (int)uVar14) && (piVar8[1] == iVar6)) { if (-1 < iVar17) { piVar1 = *(int **)(*(longlong *)(param_1 + 0x48) + (longlong) (int)((uVar14 & 0xffffffff) % (ulonglong)*(uint *)(param_1 + 0x54)) * 8); goto joined_r0x0001804de11a; } break; } iVar17 = iVar17 + 1; } } goto LAB_1804de20c; } LAB_1804de227: local_3c = 0; /* WARNING: Subroutine does not return */ free(local_48); } ############ FUN_ 1804dee40 size=90 ############ void FUN_1804dee40(undefined8 param_1,undefined4 param_2,int param_3) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *puVar1 = juce::GraphRenderSequence::DelayChannelOp::vftable; puVar1[1] = 0; *(undefined4 *)(puVar1 + 2) = param_2; *(int *)((longlong)puVar1 + 0x14) = param_3 + 1; *(undefined4 *)(puVar1 + 3) = 0; *(int *)((longlong)puVar1 + 0x1c) = param_3; /* WARNING: Subroutine does not return */ free((void *)puVar1[1]); } ############ FUN_ 1804deed0 size=72 ############ void FUN_1804deed0(longlong param_1,undefined4 param_2,undefined4 param_3) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x10); *puVar1 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar1[1] = CONCAT44(param_2,param_3); FUN_180485e60(param_1 + 0x298,puVar1); return; } ############ FUN_ 1804def20 size=72 ############ void FUN_1804def20(longlong param_1,undefined4 param_2,undefined4 param_3) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x10); *puVar1 = `private:_void___cdecl_juce::GraphRenderSequence::createOp<_>(&&___ptr64)___ptr64' ::__l2::LambdaOp::vftable; puVar1[1] = CONCAT44(param_2,param_3); FUN_180485e60(param_1 + 0x298,puVar1); return; } ############ FUN_ 1812b7150 size=1104 ############ void FUN_1812b7150(longlong param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 *puVar2; bool bVar3; bool bVar4; bool bVar5; bool bVar6; longlong lVar7; int iVar8; undefined8 uVar9; longlong *plVar10; char **ppcVar11; uint uVar12; uint *puVar13; char **ppcVar14; char *local_res20; char *local_88; char *local_80; char *local_78; char *local_70; char *local_68; undefined8 local_60; undefined8 local_58; undefined4 *local_50; undefined4 *local_48; local_60 = 0xfffffffffffffffe; uVar9 = FUN_1811316e0(0xfb0); pcVar1 = *(char **)(param_1 + 0x3e0); local_58 = uVar9; if (*pcVar1 == '\0') { FUN_18049c4e0(&local_res20,"Searching for all possible plug-in files..."); lVar7 = DAT_1826739f8; local_50 = &DAT_182673984; do { LOCK(); uVar12 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar12 != 0); if (DAT_1826739f8 == 0) { local_78 = local_res20; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar8 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res20, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar8)) { iVar8 = FUN_1812498b0(lVar7 + 0x18,local_res20,*(undefined1 *)(lVar7 + 0x38),0); if (iVar8 < 0) { uVar12 = *(uint *)(local_res20 + -0x10); local_78 = local_res20; } else { plVar10 = (longlong *)FUN_181249970(lVar7 + 0x28,iVar8); uVar12 = *(uint *)((char *)*plVar10 + -0x10); local_78 = (char *)*plVar10; } if ((uVar12 & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar7 + 0x40),&local_78,&local_res20,&local_res20); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar13 = (uint *)(local_res20 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } ppcVar14 = &local_78; bVar6 = true; bVar3 = false; } else { if ((*(uint *)(pcVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar1 + -0x10) = *(int *)(pcVar1 + -0x10) + 1; UNLOCK(); } ppcVar14 = &local_68; bVar6 = false; bVar3 = true; local_68 = pcVar1; } pcVar1 = *(char **)(param_1 + 0x3d8); if (*pcVar1 == '\0') { FUN_18049c4e0(&local_88,"Scanning for plug-ins..."); lVar7 = DAT_1826739f8; local_48 = &DAT_182673984; do { LOCK(); uVar12 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar12 != 0); if (DAT_1826739f8 == 0) { local_80 = local_88; if ((*(uint *)(local_88 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_88 + -0x10) = *(int *)(local_88 + -0x10) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar8 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_88, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar8)) { iVar8 = FUN_1812498b0(lVar7 + 0x18,local_88,*(undefined1 *)(lVar7 + 0x38),0); if (iVar8 < 0) { uVar12 = *(uint *)(local_88 + -0x10); local_80 = local_88; } else { plVar10 = (longlong *)FUN_181249970(lVar7 + 0x28,iVar8); uVar12 = *(uint *)((char *)*plVar10 + -0x10); local_80 = (char *)*plVar10; } if ((uVar12 & 0x30000000) == 0) { LOCK(); *(int *)(local_80 + -0x10) = *(int *)(local_80 + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar7 + 0x40),&local_80,&local_88,&local_88); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar13 = (uint *)(local_88 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } ppcVar11 = &local_80; bVar5 = false; bVar4 = true; } else { if ((*(uint *)(pcVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar1 + -0x10) = *(int *)(pcVar1 + -0x10) + 1; UNLOCK(); } ppcVar11 = &local_70; bVar5 = true; bVar4 = false; local_70 = pcVar1; } uVar9 = FUN_1804d81b0(uVar9,param_1,param_2,param_3,*(undefined8 *)(param_1 + 0x3d0), *(undefined1 *)(param_1 + 1000),*(undefined4 *)(param_1 + 0x3ec),ppcVar11, ppcVar14); puVar2 = *(undefined8 **)(param_1 + 0x3f8); *(undefined8 *)(param_1 + 0x3f8) = uVar9; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } if ((bVar4) && (puVar13 = (uint *)(local_80 + -0x10), (*puVar13 & 0x30000000) == 0)) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } if ((bVar5) && (puVar13 = (uint *)(local_70 + -0x10), (*puVar13 & 0x30000000) == 0)) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } if ((bVar6) && (puVar13 = (uint *)(local_78 + -0x10), (*puVar13 & 0x30000000) == 0)) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } if ((bVar3) && (puVar13 = (uint *)(local_68 + -0x10), (*puVar13 & 0x30000000) == 0)) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } return; } ############ FUN_ 1813434a0 size=452 ############ ulonglong FUN_1813434a0(undefined8 param_1) { longlong lVar1; char cVar2; DWORD DVar3; int iVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; int iVar8; bool bVar9; undefined8 *local_res10; uint local_res18 [2]; undefined1 local_res20 [8]; undefined8 uVar10; undefined **local_60; uint *local_58; undefined8 **ppuStack_50; undefined ***local_28; uVar10 = 0xfffffffffffffffe; lVar5 = FUN_1812a7550(); DVar3 = GetCurrentThreadId(); if ((ulonglong)DVar3 != *(ulonglong *)(lVar5 + 0x10)) { uVar10 = FUN_1812a7550(); uVar6 = FUN_1812a6500(uVar10,FUN_1804e4cd0,param_1); return uVar6; } cVar2 = FUN_18134aa20(param_1,0); if (cVar2 == '\0') { FUN_18134ab30(param_1,1,0,0,uVar10); } iVar8 = 0; if (DAT_182673c20 == (undefined8 *)0x0) { puVar7 = (undefined8 *)FUN_1811316e0(0x28); local_res10 = puVar7; FUN_1812a59f0(puVar7); FUN_1812a7230(puVar7 + 2); *puVar7 = juce::ModalComponentManager::vftable; puVar7[2] = juce::ModalComponentManager::vftable; puVar7[3] = 0; puVar7[4] = 0; DAT_182673c20 = puVar7; } puVar7 = DAT_182673c20; local_res18[0] = 0; iVar4 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar5 = (longlong)iVar4; if (-1 < iVar4) { do { lVar1 = *(longlong *)(DAT_182673c20[3] + lVar5 * 8); if ((*(char *)(lVar1 + 0x5c) != '\0') && (bVar9 = iVar8 == 0, iVar8 = iVar8 + 1, bVar9)) { lVar5 = *(longlong *)(lVar1 + 0x40); if (lVar5 == 0) { return 0; } FUN_1804de690(local_res20,DAT_182673708); local_res10 = (undefined8 *)((ulonglong)local_res10 & 0xffffffffffffff00); local_58 = local_res18; ppuStack_50 = &local_res10; local_60 = std::_Func_impl_no_alloc<,void,int>:: vftable; local_28 = &local_60; uVar10 = FUN_181347bc0(&local_60); FUN_18133b470(puVar7,lVar5,uVar10); goto joined_r0x000181343626; } lVar5 = lVar5 + -1; } while (-1 < lVar5); } return 0; joined_r0x000181343626: if ((char)local_res10 != '\0') { LAB_181343643: FUN_1804e4a90(local_res20); return (ulonglong)local_res18[0]; } uVar10 = FUN_1812a7550(); cVar2 = FUN_1812a6650(uVar10); if (cVar2 == '\0') goto LAB_181343643; goto joined_r0x000181343626; } ############ FUN_ 18051dc40 size=746 ############ float * FUN_18051dc40(float *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { float fVar1; float fVar2; float fVar3; undefined8 uVar4; longlong *plVar5; longlong *plVar6; longlong *plVar7; float *pfVar8; undefined8 *puVar9; float fVar10; float local_res18; float fStackX_1c; undefined8 local_98; float local_90; float local_8c; float local_88; float fStack_84; float local_80; float local_7c; undefined8 local_78; undefined8 local_70; undefined8 local_68; undefined8 local_60; undefined1 local_58 [64]; fVar3 = DAT_1824c3ea4; local_60 = 0xfffffffffffffffe; local_98._4_4_ = (float)((ulonglong)param_4 >> 0x20); local_98._0_4_ = (float)param_4; for (; param_3 != (longlong *)0x0; param_3 = (longlong *)param_3[3]) { plVar7 = param_2; if (param_3 == param_2) goto LAB_18051dee2; while (plVar7 != (longlong *)0x0) { plVar7 = (longlong *)plVar7[3]; if (plVar7 == param_3) { if ((longlong *)param_2[3] == param_3) { FUN_1805200f0(param_1,param_2,param_4); return param_1; } puVar9 = (undefined8 *)FUN_1805200a0(&local_res18,param_3,(longlong *)param_2[3],param_4); FUN_1805200f0(param_1,param_2,*puVar9); return param_1; } } if ((*(byte *)(param_3 + 0x15) & 1) == 0) { local_98._0_4_ = (float)(int)param_3[4] + (float)local_98; local_98._4_4_ = (float)(int)((ulonglong)param_3[4] >> 0x20) + local_98._4_4_; } else { if ((*(byte *)(param_3 + 0x15) & 1) == 0) { if (param_3[3] == 0) goto LAB_18051de05; plVar7 = (longlong *)FUN_18134c2e0(); } else { plVar7 = (longlong *)FUN_1812d2bd0(param_3); } if (plVar7 != (longlong *)0x0) { local_res18 = (float)local_98; fStackX_1c = local_98._4_4_; fVar10 = (float)(**(code **)(*param_3 + 0x80))(param_3); if (fVar10 == fVar3) { local_70 = CONCAT44(fStackX_1c,local_res18); pfVar8 = (float *)&local_70; } else { local_90 = (float)local_98 * fVar10; local_8c = local_98._4_4_ * fVar10; pfVar8 = &local_90; } pfVar8 = (float *)(**(code **)(*plVar7 + 0x48))(plVar7,local_58,*(undefined8 *)pfVar8); fVar10 = *pfVar8; fVar1 = pfVar8[1]; uVar4 = *(undefined8 *)pfVar8; if (DAT_182673700 == 0) { local_78 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_78); } fVar2 = *(float *)(DAT_182673700 + 0xc0); local_88 = fVar10; fStack_84 = fVar1; if (fVar2 == fVar3) { local_68 = uVar4; pfVar8 = (float *)&local_68; } else { local_80 = fVar10 / fVar2; local_7c = fVar1 / fVar2; pfVar8 = &local_80; } local_98._0_4_ = (float)*(undefined8 *)pfVar8; local_98._4_4_ = (float)((ulonglong)*(undefined8 *)pfVar8 >> 0x20); } } LAB_18051de05: pfVar8 = (float *)param_3[7]; fVar10 = (float)local_98; if (pfVar8 != (float *)0x0) { fVar10 = local_98._4_4_ * pfVar8[1] + (float)local_98 * *pfVar8 + pfVar8[2]; local_98._4_4_ = (float)local_98 * pfVar8[3] + local_98._4_4_ * pfVar8[4] + pfVar8[5]; } local_98 = CONCAT44(local_98._4_4_,fVar10); param_4 = local_98; local_98._0_4_ = fVar10; } if (param_2 == (longlong *)0x0) { LAB_18051dee2: *param_1 = (float)local_98; param_1[1] = local_98._4_4_; } else { plVar6 = (longlong *)param_2[3]; plVar7 = param_2; while (plVar5 = plVar6, plVar5 != (longlong *)0x0) { plVar7 = plVar5; plVar6 = (longlong *)plVar5[3]; } pfVar8 = (float *)FUN_1805200f0(&local_res18,plVar7,param_4); fVar3 = pfVar8[1]; if (plVar7 == param_2) { *param_1 = *pfVar8; param_1[1] = fVar3; } else { FUN_1805200a0(param_1,plVar7,param_2,*(undefined8 *)pfVar8); } } return param_1; } ############ FUN_ 1805200f0 size=486 ############ float * FUN_1805200f0(float *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { float *pfVar1; longlong *plVar2; undefined8 uVar3; float fVar4; float fVar5; undefined8 local_res8; undefined1 local_res10 [16]; undefined1 local_50 [56]; local_res8._0_4_ = (float)param_3; local_res8._4_4_ = (float)((ulonglong)param_3 >> 0x20); fVar5 = local_res8._4_4_; if (param_2[7] != 0) { pfVar1 = (float *)FUN_1812a04f0(param_2[7],local_50,param_3,param_4,0xfffffffffffffffe); fVar5 = (float)local_res8 * pfVar1[3]; local_res8._0_4_ = local_res8._4_4_ * pfVar1[1] + (float)local_res8 * *pfVar1 + pfVar1[2]; fVar5 = fVar5 + local_res8._4_4_ * pfVar1[4] + pfVar1[5]; } if ((*(byte *)(param_2 + 0x15) & 1) == 0) { local_res8._4_4_ = (float)((ulonglong)param_2[4] >> 0x20); local_res8._0_4_ = (float)local_res8 - (float)(int)param_2[4]; fVar5 = fVar5 - (float)(int)local_res8._4_4_; } else { if ((*(byte *)(param_2 + 0x15) & 1) == 0) { if (param_2[3] == 0) goto LAB_1805202b0; plVar2 = (longlong *)FUN_18134c2e0(); } else { plVar2 = (longlong *)FUN_1812d2bd0(param_2); } if (plVar2 != (longlong *)0x0) { if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } fVar4 = *(float *)(DAT_182673700 + 0xc0); local_res8 = CONCAT44(fVar5,(float)local_res8); if (fVar4 != DAT_1824c3ea4) { local_res8 = CONCAT44(fVar5 * fVar4,(float)local_res8 * fVar4); } pfVar1 = (float *)(**(code **)(*plVar2 + 0x58))(plVar2,local_res10,local_res8); local_res8._0_4_ = *pfVar1; fVar5 = pfVar1[1]; fVar4 = (float)(**(code **)(*param_2 + 0x80))(param_2); if (fVar4 != DAT_1824c3ea4) { fVar5 = fVar5 / fVar4; local_res8._0_4_ = (float)local_res8 / fVar4; } } } LAB_1805202b0: *param_1 = (float)local_res8; param_1[1] = fVar5; return param_1; } ############ FUN_ 1804e5b90 size=159 ############ void FUN_1804e5b90(undefined8 param_1,ulonglong param_2,undefined4 param_3,undefined8 param_4) { ulonglong uVar1; undefined8 uVar2; undefined8 local_res8; if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130,param_2,param_3,param_4,0xfffffffffffffffe); DAT_182673700 = FUN_18133c6c0(uVar2); } local_res8._0_4_ = (float)param_2; uVar1 = param_2; if (*(float *)(DAT_182673700 + 0xc0) != DAT_1824c3ea4) { local_res8 = (ulonglong)(uint)((float)local_res8 * *(float *)(DAT_182673700 + 0xc0)); uVar1 = local_res8; } local_res8 = uVar1; FUN_1812c60b0(local_res8); return; } ############ FUN_ 1812c60b0 size=238 ############ void FUN_1812c60b0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 uVar2; ulonglong *puVar3; ulonglong uVar4; char cVar5; float local_res10; float fStackX_14; undefined4 local_res18; undefined1 local_res20 [8]; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; fStackX_14 = (float)((ulonglong)param_1 >> 0x20); local_res10 = (float)param_1; local_res10 = SUB84((double)local_res10 + DAT_1824c4520,0); local_res18 = SUB84((double)fStackX_14 + DAT_1824c4520,0); uVar4 = CONCAT44(local_res18,local_res10); FUN_1812c75b0(); if ((DAT_182678f18 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar5 = FUN_1812c7510(); } else { uVar2 = (*DAT_182678f18)(); iVar1 = (*DAT_182678ec8)(uVar2); cVar5 = iVar1 == 2; } if (cVar5 != '\0') { if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } puVar3 = (ulonglong *) FUN_18051edd0(*(undefined8 *)(DAT_182673700 + 0x78),local_res20,uVar4,param_4,uVar6); uVar4 = *puVar3; local_res10 = (float)uVar4; } /* WARNING: Could not recover jumptable at 0x0001812c6197. Too many branches */ /* WARNING: Treating indirect jump as call */ SetCursorPos(local_res10,uVar4 >> 0x20); return; } ############ FUN_ 18051edd0 size=238 ############ int * FUN_18051edd0(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4) { float fVar1; int iVar2; int iVar3; longlong lVar4; undefined8 uVar5; double dVar6; lVar4 = FUN_18133d700(param_1,param_3,0,param_4,0xfffffffffffffffe); if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } fVar1 = *(float *)(DAT_182673700 + 0xc0); iVar2 = *(int *)(lVar4 + 0x28); iVar3 = *(int *)(lVar4 + 8); dVar6 = *(double *)(lVar4 + 0x30) / (double)fVar1; *param_2 = (int)((double)((int)param_3 - (int)((float)*(int *)(lVar4 + 4) * fVar1)) * dVar6) + *(int *)(lVar4 + 0x24); param_2[1] = (int)((double)((int)((ulonglong)param_3 >> 0x20) - (int)((float)iVar3 * fVar1)) * dVar6) + iVar2; return param_2; } ############ FUN_ 1804e5c30 size=989 ############ bool FUN_1804e5c30(longlong param_1,undefined8 param_2,undefined8 param_3,uint param_4) { int *piVar1; longlong *plVar2; undefined4 uVar3; undefined4 uVar4; undefined4 uVar5; undefined4 uVar6; undefined4 uVar7; int iVar8; uint uVar9; int iVar10; uint uVar11; undefined8 *puVar12; longlong lVar13; longlong lVar14; longlong *plVar15; bool bVar16; bool bVar17; float local_f8; float fStack_f4; longlong local_f0; longlong local_e8; undefined8 *local_e0; undefined8 local_d8; undefined1 local_d0 [8]; undefined1 local_c8 [144]; local_d8 = 0xfffffffffffffffe; if (*(uint *)(param_1 + 0x28) == param_4) { return false; } if (((*(uint *)(param_1 + 0x28) & 0x70) == 0) || ((param_4 & 0x70) != 0)) { FUN_1804e62b0(param_1,param_2,param_3,0); } uVar9 = *(uint *)(param_1 + 0x28); bVar16 = (uVar9 & 0x70) != 0; bVar17 = (param_4 & 0x70) != 0; if (bVar16 == bVar17) { *(uint *)(param_1 + 0x28) = param_4; return false; } iVar10 = *(int *)(param_1 + 0x68); fStack_f4 = (float)((ulonglong)param_2 >> 0x20); local_f8 = (float)param_2; if (bVar16) { if (*(longlong *)(param_1 + 0x48) == 0) { lVar13 = 0; } else { lVar13 = *(longlong *)(*(longlong *)(param_1 + 0x48) + 0x10); } if (lVar13 != 0) { uVar11 = DAT_182673aec & 0xffffff8f; *(uint *)(param_1 + 0x28) = param_4; uVar3 = *(undefined4 *)(param_1 + 0x3c); uVar4 = *(undefined4 *)(param_1 + 0x38); uVar5 = *(undefined4 *)(param_1 + 0x34); uVar6 = *(undefined4 *)(param_1 + 0x30); uVar7 = *(undefined4 *)(param_1 + 0x2c); local_f0 = param_1; puVar12 = (undefined8 *) FUN_1804e5790(local_d0,lVar13, CONCAT44(*(float *)(param_1 + 0x24) + fStack_f4, *(float *)(param_1 + 0x20) + local_f8)); FUN_1813403f0(lVar13,&local_f0,*puVar12,param_3,uVar9 | uVar11,uVar7,uVar6,uVar5,uVar4,uVar3); if (iVar10 != *(int *)(param_1 + 0x68)) { return true; } } FUN_1804e67c0(param_1,0); } *(uint *)(param_1 + 0x28) = param_4; if (!bVar17) goto LAB_1804e5fc8; lVar13 = FUN_18134b820(); *(int *)(lVar13 + 0x88) = *(int *)(lVar13 + 0x88) + 1; if (*(longlong *)(param_1 + 0x48) == 0) { lVar13 = 0; } else { lVar13 = *(longlong *)(*(longlong *)(param_1 + 0x48) + 0x10); } if (lVar13 == 0) goto LAB_1804e5fc8; *(undefined8 *)(param_1 + 0xd0) = *(undefined8 *)(param_1 + 0xb0); *(undefined8 *)(param_1 + 0xd8) = *(undefined8 *)(param_1 + 0xb8); *(undefined8 *)(param_1 + 0xe0) = *(undefined8 *)(param_1 + 0xc0); *(undefined8 *)(param_1 + 0xe8) = *(undefined8 *)(param_1 + 200); *(undefined8 *)(param_1 + 0xb0) = *(undefined8 *)(param_1 + 0x90); *(undefined8 *)(param_1 + 0xb8) = *(undefined8 *)(param_1 + 0x98); *(undefined8 *)(param_1 + 0xc0) = *(undefined8 *)(param_1 + 0xa0); *(undefined8 *)(param_1 + 200) = *(undefined8 *)(param_1 + 0xa8); *(undefined4 *)(param_1 + 0x90) = *(undefined4 *)(param_1 + 0x70); *(undefined4 *)(param_1 + 0x94) = *(undefined4 *)(param_1 + 0x74); *(undefined4 *)(param_1 + 0x98) = *(undefined4 *)(param_1 + 0x78); *(undefined4 *)(param_1 + 0x9c) = *(undefined4 *)(param_1 + 0x7c); *(undefined4 *)(param_1 + 0xa0) = *(undefined4 *)(param_1 + 0x80); *(undefined4 *)(param_1 + 0xa4) = *(undefined4 *)(param_1 + 0x84); *(undefined4 *)(param_1 + 0xa8) = *(undefined4 *)(param_1 + 0x88); *(undefined4 *)(param_1 + 0xac) = *(undefined4 *)(param_1 + 0x8c); *(float *)(param_1 + 0x70) = local_f8; *(float *)(param_1 + 0x74) = fStack_f4; *(undefined8 *)(param_1 + 0x78) = param_3; *(uint *)(param_1 + 0x80) = *(uint *)(param_1 + 0x28) & 0x70; *(bool *)(param_1 + 0x88) = *(int *)(param_1 + 0x14) == 1; if ((*(byte *)(lVar13 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar13 + 0x18) != 0) { lVar14 = FUN_18134c2e0(); goto LAB_1804e5efa; } LAB_1804e5f0a: *(undefined4 *)(param_1 + 0x84) = 0; } else { if (DAT_182673700 == 0) { local_e0 = (undefined8 *)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_e0); } plVar15 = *(longlong **)(DAT_182673700 + 0x68); plVar2 = plVar15 + *(int *)(DAT_182673700 + 0x74); for (; plVar15 != plVar2; plVar15 = plVar15 + 1) { lVar14 = *plVar15; if (*(longlong *)(lVar14 + 8) == lVar13) goto LAB_1804e5efa; } lVar14 = 0; LAB_1804e5efa: if (lVar14 == 0) goto LAB_1804e5f0a; *(undefined4 *)(param_1 + 0x84) = *(undefined4 *)(lVar14 + 0x58); } *(undefined1 *)(param_1 + 0xf8) = 0; local_e0 = *(undefined8 **)(param_1 + 0x50); *(undefined8 *)(param_1 + 0x50) = 0; if (local_e0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_e0 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_e0)(local_e0,1); } } uVar3 = *(undefined4 *)(param_1 + 0x3c); uVar4 = *(undefined4 *)(param_1 + 0x38); uVar5 = *(undefined4 *)(param_1 + 0x34); uVar6 = *(undefined4 *)(param_1 + 0x30); uVar7 = *(undefined4 *)(param_1 + 0x2c); local_e8 = param_1; puVar12 = (undefined8 *)FUN_1804e5790(local_c8,lVar13,param_2); FUN_1813409c0(lVar13,&local_e8,*puVar12,param_3,uVar7,uVar6,uVar5,uVar4,uVar3); LAB_1804e5fc8: return iVar10 != *(int *)(param_1 + 0x68); } ############ FUN_ 1804e67c0 size=503 ############ void FUN_1804e67c0(longlong param_1,char param_2) { float fVar1; undefined8 uVar2; undefined8 *puVar3; longlong lVar4; char cVar5; float fVar6; float fVar7; undefined8 local_res8; undefined8 local_48; undefined8 uStack_40; undefined1 local_38 [48]; if ((param_2 == '\0') || ((*(byte *)(param_1 + 0x28) & 0x70) == 0)) { cVar5 = '\0'; } else { cVar5 = '\x01'; } *(undefined1 *)(param_1 + 0x41) = 0; if (cVar5 != *(char *)(param_1 + 0x40)) { lVar4 = 0; if (cVar5 == '\0') { if (*(longlong *)(param_1 + 0x48) != 0) { lVar4 = *(longlong *)(*(longlong *)(param_1 + 0x48) + 0x10); } if (lVar4 != 0) { fVar6 = *(float *)(param_1 + 0x18); fVar7 = *(float *)(param_1 + 0x1c); local_res8 = *(undefined8 *)(param_1 + 0x18); if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } fVar1 = *(float *)(DAT_182673700 + 0xc0); if (fVar1 != DAT_1824c3ea4) { local_res8 = CONCAT44(fVar7 / fVar1,fVar6 / fVar1); } uStack_40 = *(undefined8 *)(lVar4 + 0x28); local_48 = 0; do { if (lVar4 == 0) break; puVar3 = (undefined8 *)FUN_18051e4b0(local_38,lVar4,&local_48); local_48 = *puVar3; uStack_40 = puVar3[1]; lVar4 = *(longlong *)(lVar4 + 0x18); } while (lVar4 != 0); fVar6 = (float)(int)local_48; fVar7 = (float)(int)((ulonglong)local_48 >> 0x20); if ((fVar6 <= (float)local_res8) && (fVar6 = fVar6 + (float)(int)uStack_40, (float)local_res8 <= fVar6)) { fVar6 = (float)local_res8; } if ((fVar7 <= local_res8._4_4_) && (fVar7 = fVar7 + (float)(int)((ulonglong)uStack_40 >> 0x20), local_res8._4_4_ <= fVar7)) { fVar7 = local_res8._4_4_; } FUN_1804e5b90(CONCAT44(fVar7,fVar6),CONCAT44(fVar7,fVar6)); } } *(char *)(param_1 + 0x40) = cVar5; *(undefined8 *)(param_1 + 0x20) = 0; FUN_1804e6e90(param_1,1); } return; } ############ FUN_ 1804e69c0 size=864 ############ void FUN_1804e69c0(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { float fVar1; int iVar2; int iVar3; int *piVar4; undefined8 uVar5; undefined8 *puVar6; int iVar7; int iVar8; float fVar9; float fVar10; float local_res8; float fStackX_c; undefined8 local_88; undefined8 uStack_80; undefined1 local_78 [16]; undefined1 local_68 [80]; piVar4 = (int *)FUN_181344bc0(param_2,local_78,param_3,param_4,0xfffffffffffffffe); iVar8 = 0; if (0 < piVar4[2] + -4) { iVar8 = piVar4[2] + -4; } iVar7 = 0; if (0 < piVar4[3] + -4) { iVar7 = piVar4[3] + -4; } iVar2 = piVar4[1]; iVar3 = *piVar4; if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } fVar1 = *(float *)(DAT_182673700 + 0xc0); if (fVar1 == DAT_1824c3ea4) { local_88._4_4_ = (float)(iVar2 + 2); local_88._0_4_ = (float)(iVar3 + 2); uStack_80._0_4_ = (float)iVar8; uStack_80._4_4_ = (float)iVar7; } else { local_88._4_4_ = fVar1 * (float)(iVar2 + 2); local_88._0_4_ = (float)(iVar3 + 2) * fVar1; uStack_80._0_4_ = fVar1 * (float)iVar8; uStack_80._4_4_ = fVar1 * (float)iVar7; } fVar1 = (float)local_88; if ((fVar1 <= *(float *)(param_1 + 0x18)) && (local_88._4_4_ <= *(float *)(param_1 + 0x1c))) { if (*(float *)(param_1 + 0x18) < fVar1 + (float)uStack_80) { if (*(float *)(param_1 + 0x1c) < local_88._4_4_ + uStack_80._4_4_) { if (*(char *)(param_1 + 0x41) == '\0') { return; } if ((*(float *)(param_1 + 0x20) == 0.0) && (*(float *)(param_1 + 0x24) == 0.0)) { return; } fVar10 = *(float *)(param_1 + 0x20) + *(float *)(param_1 + 0x18); fVar9 = *(float *)(param_1 + 0x24) + *(float *)(param_1 + 0x1c); if (fVar10 < fVar1) { return; } if (fVar9 < local_88._4_4_) { return; } if (fVar1 + (float)uStack_80 <= fVar10) { return; } if (local_88._4_4_ + uStack_80._4_4_ <= fVar9) { return; } FUN_1812c60b0(CONCAT44(*(float *)(param_1 + 0x24) + *(float *)(param_1 + 0x1c), *(float *)(param_1 + 0x20) + *(float *)(param_1 + 0x18))); *(undefined8 *)(param_1 + 0x20) = 0; return; } } } uStack_80 = *(undefined8 *)(param_2 + 0x28); local_88 = 0; for (; param_2 != 0; param_2 = *(longlong *)(param_2 + 0x18)) { puVar6 = (undefined8 *)FUN_18051e4b0(local_68,param_2,&local_88); local_88 = *puVar6; uStack_80 = puVar6[1]; } fStackX_c = (float)(int)((ulonglong)uStack_80 >> 0x20) * DAT_1824c3d8c + (float)(int)((ulonglong)local_88 >> 0x20); local_res8 = (float)(int)uStack_80 * DAT_1824c3d8c + (float)(int)local_88; if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } fVar1 = *(float *)(DAT_182673700 + 0xc0); if (fVar1 != DAT_1824c3ea4) { fStackX_c = fVar1 * fStackX_c; local_res8 = local_res8 * fVar1; } *(float *)(param_1 + 0x20) = (*(float *)(param_1 + 0x18) - local_res8) + *(float *)(param_1 + 0x20); *(float *)(param_1 + 0x24) = (*(float *)(param_1 + 0x1c) - fStackX_c) + *(float *)(param_1 + 0x24) ; FUN_1804e5b90(); return; } ############ FUN_ 18133fcf0 size=493 ############ void FUN_18133fcf0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; longlong lVar3; char cVar4; longlong lVar5; int iVar6; undefined8 *local_c8; double local_c0; undefined8 local_b8; uint local_b0; double local_a8; float local_98; float local_94; undefined4 local_90; undefined4 local_8c; uint local_88; undefined8 local_84; undefined8 local_7c; undefined4 local_74; undefined8 local_70; longlong *local_68; longlong *local_60; undefined8 local_58; undefined8 local_50; longlong local_48; undefined2 local_40; undefined8 local_38; local_38 = 0xfffffffffffffffe; local_b8 = param_3; if (DAT_182673700 == 0) { local_c0 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_c0); } lVar3 = DAT_182673700; cVar4 = FUN_181343030(param_1); if (cVar4 == '\0') { FUN_1804de690(&local_c8,param_1); local_48 = *param_2; local_b0 = DAT_182673aec & 0xffffff8f; local_88 = *(uint *)(local_48 + 0x28) | local_b0; local_98 = (float)local_b8; local_94 = local_b8._4_4_; local_a8 = (double)(float)local_b8 + DAT_1824c4520; local_90 = local_a8._0_4_; local_c0 = (double)local_b8._4_4_ + DAT_1824c4520; local_8c = local_c0._0_4_; local_84 = 0; local_7c = 0; local_74 = 0; local_40 = 0; local_70 = param_3; local_68 = param_1; local_60 = param_1; local_58 = param_4; local_50 = param_4; (**(code **)(*param_1 + 8))(param_1,&local_98); if (local_c8 == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = local_c8[2]; } if (lVar5 != 0) { FUN_18133bd90(lVar3); iVar6 = *(int *)(lVar3 + 0x44); while( true ) { if (local_c8 == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = local_c8[2]; } if ((lVar5 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(lVar3 + 0x44) <= iVar6) && (iVar6 = *(int *)(lVar3 + 0x44) + -1, iVar6 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(lVar3 + 0x38) + (longlong)iVar6 * 8); (**(code **)(*plVar2 + 8))(plVar2,&local_98); } FUN_18051e7b0(param_1,&local_c8,FUN_180492ef8,&local_98); } if (local_c8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_c8 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_c8)(local_c8,1); } } } else { FUN_18133b830(lVar3); } return; } ############ FUN_ 18133b830 size=930 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18133b830(longlong param_1) { int *piVar1; float fVar2; float fVar3; longlong *plVar4; longlong lVar5; longlong lVar6; double dVar7; longlong lVar8; float *pfVar9; longlong lVar10; undefined8 *puVar11; int iVar12; undefined8 uVar13; undefined1 auStack_148 [32]; undefined8 local_128; float local_120; float fStack_11c; double local_118; float local_110; float local_10c; undefined4 local_108; undefined4 uStack_104; undefined8 local_100; double local_f8; double local_f0; undefined8 local_e8; double local_e0; float local_d8; float local_d4; undefined4 local_d0; undefined4 local_cc; uint local_c8; undefined8 local_c4; undefined8 local_bc; undefined4 local_b4; float local_b0; float local_ac; longlong local_a8; longlong local_a0; longlong local_98; longlong local_90; undefined8 local_88; undefined2 local_80; undefined8 local_78; undefined1 local_70 [8]; undefined1 local_68 [8]; undefined1 local_60 [8]; longlong local_58; ushort local_50; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_148; if (*(int *)(param_1 + 0x44) != 0) { FUN_1812a77d0(param_1 + 8,0x14); if (DAT_182673700 == 0) { local_118 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_118); } pfVar9 = (float *)FUN_1804e5a90(**(undefined8 **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18), local_70); local_120 = *pfVar9; fStack_11c = pfVar9[1]; uVar13 = *(undefined8 *)pfVar9; if (DAT_182673700 == 0) { local_118 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_118); } fVar2 = *(float *)(DAT_182673700 + 0xc0); if (fVar2 == DAT_1824c3ea4) { local_100 = uVar13; pfVar9 = (float *)&local_100; } else { local_110 = local_120 / fVar2; local_10c = fStack_11c / fVar2; pfVar9 = &local_110; } fVar2 = *pfVar9; fVar3 = pfVar9[1]; *(float *)(param_1 + 0x84) = fVar3; dVar7 = DAT_1824c4520; local_f0 = (double)fVar3 + DAT_1824c4520; *(float *)(param_1 + 0x80) = fVar2; local_f8 = (double)fVar2 + dVar7; local_108 = local_f8._0_4_; uStack_104 = local_f0._0_4_; lVar10 = FUN_18134b740(param_1,CONCAT44(local_f0._0_4_,local_f8._0_4_)); if (lVar10 != 0) { FUN_1804de690(&local_120,lVar10); local_128 = *(undefined8 *)(param_1 + 0x80); lVar8 = *(longlong *)(lVar10 + 0x18); lVar5 = lVar10; while (lVar6 = lVar8, lVar6 != 0) { lVar5 = lVar6; lVar8 = *(longlong *)(lVar6 + 0x18); } puVar11 = (undefined8 *)FUN_1805200f0(local_68,lVar5,local_128); uVar13 = *puVar11; local_128 = uVar13; if (lVar5 != lVar10) { if (*(longlong *)(lVar10 + 0x18) != lVar5) { puVar11 = (undefined8 *)FUN_1805200a0(local_60,lVar5,*(longlong *)(lVar10 + 0x18),uVar13); uVar13 = *puVar11; } FUN_1805200f0(&local_128,lVar10,uVar13); } _ftime64_s(&local_58); local_98 = local_58 * 1000 + (ulonglong)local_50; local_e8 = **(undefined8 **)(*(longlong *)(param_1 + 0x30) + 0x18); local_d8 = (float)local_128; local_d4 = local_128._4_4_; local_e0 = (double)(float)local_128 + dVar7; local_d0 = local_e0._0_4_; local_118 = (double)local_128._4_4_ + dVar7; local_cc = local_118._0_4_; local_c8 = DAT_182673aec; local_c4 = 0; local_bc = 0; local_b4 = 0; local_b0 = (float)local_128; local_ac = local_128._4_4_; local_80 = 0; iVar12 = *(int *)(param_1 + 0x44); lVar5 = CONCAT44(fStack_11c,local_120); local_a8 = lVar10; local_a0 = lVar10; local_90 = local_98; local_88 = local_e8; if ((DAT_182673aec & 0x70) == 0) { while( true ) { if (lVar5 == 0) { lVar10 = 0; } else { lVar10 = *(longlong *)(lVar5 + 0x10); } if ((lVar10 == 0) || (iVar12 < 1)) break; iVar12 = iVar12 + -1; if ((*(int *)(param_1 + 0x44) <= iVar12) && (iVar12 = *(int *)(param_1 + 0x44) + -1, iVar12 < 0)) break; plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x38) + (longlong)iVar12 * 8); (**(code **)(*plVar4 + 8))(plVar4,&local_d8); } } else { while( true ) { if (lVar5 == 0) { lVar10 = 0; } else { lVar10 = *(longlong *)(lVar5 + 0x10); } if ((lVar10 == 0) || (iVar12 < 1)) break; iVar12 = iVar12 + -1; if ((*(int *)(param_1 + 0x44) <= iVar12) && (iVar12 = *(int *)(param_1 + 0x44) + -1, iVar12 < 0)) break; plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x38) + (longlong)iVar12 * 8); (**(code **)(*plVar4 + 0x28))(plVar4,&local_d8); } } if (lVar5 != 0) { LOCK(); piVar1 = (int *)(lVar5 + 8); iVar12 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar12 == 1) { (*(code *)**(undefined8 **)CONCAT44(fStack_11c,local_120)) ((undefined8 *)CONCAT44(fStack_11c,local_120),1); } } } } } ############ FUN_ 18133fef0 size=1264 ############ void FUN_18133fef0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8, undefined4 param_9) { int *piVar1; float fVar2; float fVar3; float fVar4; undefined8 uVar5; longlong *plVar6; undefined1 uVar7; longlong *plVar8; undefined8 uVar9; longlong *plVar10; char cVar11; int iVar12; float *pfVar13; undefined8 *puVar14; longlong lVar15; longlong lVar16; int iVar17; undefined8 uVar18; double dVar19; uint uVar20; undefined8 local_128; float local_120; float fStack_11c; undefined8 *local_118; longlong *local_110; float local_108; float local_104; undefined8 local_100; longlong local_f8; double local_f0; uint local_e8; uint local_e4; undefined8 local_e0; float local_d8; float local_d4; undefined4 local_d0; undefined4 local_cc; uint local_c8; undefined4 local_c4; undefined4 local_c0; undefined4 local_bc; undefined4 local_b8; undefined4 local_b4; undefined4 local_b0; undefined4 local_ac; longlong *local_a8; longlong *local_a0; undefined8 local_98; undefined8 local_90; longlong local_88; char local_80; undefined1 local_7f; undefined8 local_78; undefined8 local_70; undefined1 local_68 [8]; undefined1 local_60 [8]; undefined8 local_58; local_78 = 0xfffffffffffffffe; local_100 = param_3; cVar11 = FUN_181343030(); if (cVar11 == '\0') { FUN_1804de690(&local_118,param_1); local_110 = &local_f8; local_f8 = *param_2; if ((*(char *)(local_f8 + 0xf8) == '\0') && (*(longlong *)(local_f8 + 0xf0) <= *(longlong *)(local_f8 + 0x78) + (longlong)DAT_1824c4328)) { uVar7 = 0; } else { uVar7 = 1; } cVar11 = '\x01'; if ((*(char *)(local_f8 + 0xf8) == '\0') && (*(longlong *)(local_f8 + 0xf0) <= *(longlong *)(local_f8 + 0x78) + (longlong)DAT_1824c4328)) { iVar17 = 1; pfVar13 = (float *)(local_f8 + 0x94); cVar11 = '\x01'; while( true ) { iVar12 = iVar17; if (2 < iVar17) { iVar12 = 2; } if ((double)(iVar12 * 400) * DAT_1824c3e30 <= (double)(*(longlong *)(local_f8 + 0x78) - *(longlong *)(pfVar13 + 1)) * DAT_1824c3e30) break; dVar19 = (double)(*(float *)(local_f8 + 0x70) - pfVar13[-1]); uVar20 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); iVar12 = 8; if (*(char *)(local_f8 + 0x88) != '\0') { iVar12 = 0x19; } if (((((float)iVar12 <= (float)(double)CONCAT44((uint)((ulonglong)dVar19 >> 0x20) & uVar20, SUB84(dVar19,0) & (uint)DAT_1824c4f10)) || (dVar19 = (double)(*(float *)(local_f8 + 0x74) - *pfVar13), (float)iVar12 <= (float)(double)CONCAT44((uint)((ulonglong)dVar19 >> 0x20) & uVar20, SUB84(dVar19,0) & (uint)DAT_1824c4f10))) || (*(float *)(local_f8 + 0x80) != pfVar13[3])) || (*(float *)(local_f8 + 0x84) != pfVar13[4])) break; cVar11 = cVar11 + '\x01'; iVar17 = iVar17 + 1; pfVar13 = pfVar13 + 8; if (3 < iVar17) break; } } uVar5 = *(undefined8 *)(local_f8 + 0x78); fVar2 = *(float *)(local_f8 + 0x70); fVar3 = *(float *)(local_f8 + 0x74); uVar9 = *(undefined8 *)(local_f8 + 0x70); local_70 = uVar5; if (DAT_182673700 == 0) { local_f0 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_f0); } fVar4 = *(float *)(DAT_182673700 + 0xc0); if (fVar4 == DAT_1824c3ea4) { local_e0 = uVar9; pfVar13 = (float *)&local_e0; } else { local_108 = fVar2 / fVar4; local_104 = fVar3 / fVar4; pfVar13 = &local_108; } local_120 = *pfVar13; fStack_11c = pfVar13[1]; local_128 = *(undefined8 *)pfVar13; uVar9 = *(undefined8 *)pfVar13; if (param_1 != (longlong *)0x0) { plVar10 = (longlong *)param_1[3]; plVar6 = param_1; while (plVar8 = plVar10, plVar8 != (longlong *)0x0) { plVar6 = plVar8; plVar10 = (longlong *)plVar8[3]; } puVar14 = (undefined8 *)FUN_1805200f0(local_68,plVar6,*(undefined8 *)pfVar13); uVar18 = *puVar14; uVar9 = *puVar14; if (plVar6 != param_1) { local_128 = uVar18; if ((longlong *)param_1[3] != plVar6) { puVar14 = (undefined8 *)FUN_1805200a0(local_60,plVar6,(longlong *)param_1[3],uVar18); uVar18 = *puVar14; } FUN_1805200f0(&local_128,param_1,uVar18); uVar9 = local_128; } } local_128 = uVar9; local_e8 = DAT_182673aec & 0xffffff8f; local_e4 = *(uint *)(*param_2 + 0x28) | local_e8; local_d8 = (float)local_100; local_d4 = local_100._4_4_; local_f0 = (double)(float)local_100 + DAT_1824c4520; local_d0 = local_f0._0_4_; local_110 = (longlong *)((double)local_100._4_4_ + DAT_1824c4520); local_cc = local_110._0_4_; local_c4 = param_5; local_c0 = param_6; local_bc = param_7; local_b8 = param_8; local_b4 = param_9; local_b0 = (undefined4)local_128; local_ac = local_128._4_4_; local_88 = local_f8; local_c8 = local_e4; local_a8 = param_1; local_a0 = param_1; local_98 = param_4; local_90 = uVar5; local_80 = cVar11; local_7f = uVar7; (**(code **)(*param_1 + 0x28))(param_1,&local_d8); if (local_118 == (undefined8 *)0x0) { lVar15 = 0; } else { lVar15 = local_118[2]; } if (lVar15 != 0) { if (DAT_182673700 == 0) { local_58 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_58); } lVar15 = DAT_182673700; FUN_18133bd90(DAT_182673700); iVar17 = *(int *)(lVar15 + 0x44); while( true ) { if (local_118 == (undefined8 *)0x0) { lVar16 = 0; } else { lVar16 = local_118[2]; } if ((lVar16 == 0) || (iVar17 < 1)) break; iVar17 = iVar17 + -1; if ((*(int *)(lVar15 + 0x44) <= iVar17) && (iVar17 = *(int *)(lVar15 + 0x44) + -1, iVar17 < 0)) break; plVar6 = *(longlong **)(*(longlong *)(lVar15 + 0x38) + (longlong)iVar17 * 8); (**(code **)(*plVar6 + 0x28))(plVar6,&local_d8); } FUN_18051e7b0(param_1,&local_118,&LAB_180526748,&local_d8); } if (local_118 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_118 + 1); iVar17 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar17 == 1) { (**(code **)*local_118)(local_118,1); } } } return; } ############ FUN_ 1813403f0 size=1479 ############ void FUN_1813403f0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8, undefined4 param_9,undefined4 param_10) { int *piVar1; float fVar2; float fVar3; float fVar4; undefined8 uVar5; longlong *plVar6; undefined1 uVar7; longlong *plVar8; longlong *plVar9; char cVar10; int iVar11; float *pfVar12; undefined8 *puVar13; longlong lVar14; longlong lVar15; int iVar16; undefined8 uVar17; byte bVar18; double dVar19; uint uVar20; undefined8 *local_res8; float local_138; float fStack_134; longlong *local_130; float local_128; float local_124; float local_120; float fStack_11c; undefined8 local_118; longlong local_110; double local_108; undefined8 local_f8; undefined4 uStack_f0; undefined4 uStack_ec; float local_e8; float local_e4; undefined4 local_e0; undefined4 local_dc; undefined4 local_d8; undefined4 local_d4; undefined4 local_d0; undefined4 local_cc; undefined4 local_c8; undefined4 local_c4; float local_c0; float local_bc; longlong *local_b8; longlong *local_b0; undefined8 local_a8; undefined8 local_a0; longlong local_98; byte local_90; undefined1 local_8f; undefined8 local_88; undefined8 local_80; undefined8 local_78; undefined1 local_70 [8]; undefined1 local_68 [8]; undefined8 local_60; undefined8 local_58; longlong lStack_50; local_80 = 0xfffffffffffffffe; local_118 = param_3; if (((*(byte *)((longlong)param_1 + 0xa9) & 0x80) == 0) || (cVar10 = FUN_181343030(), cVar10 == '\0')) { FUN_1804de690(&local_res8,param_1); if ((*(byte *)((longlong)param_1 + 0xa9) & 8) != 0) { uStack_ec = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_f0 = (undefined4)param_1[5]; lStack_50 = param_1[5]; local_f8 = 0; local_58 = 0; FUN_181342870(param_1,&local_58,1); } local_130 = &local_110; local_110 = *param_2; if ((*(char *)(local_110 + 0xf8) == '\0') && (*(longlong *)(local_110 + 0xf0) <= *(longlong *)(local_110 + 0x78) + (longlong)DAT_1824c4328 )) { uVar7 = 0; } else { uVar7 = 1; } bVar18 = 1; if ((*(char *)(local_110 + 0xf8) == '\0') && (*(longlong *)(local_110 + 0xf0) <= *(longlong *)(local_110 + 0x78) + (longlong)DAT_1824c4328 )) { iVar16 = 1; pfVar12 = (float *)(local_110 + 0x94); bVar18 = 1; while( true ) { iVar11 = iVar16; if (2 < iVar16) { iVar11 = 2; } if ((double)(iVar11 * 400) * DAT_1824c3e30 <= (double)(*(longlong *)(local_110 + 0x78) - *(longlong *)(pfVar12 + 1)) * DAT_1824c3e30) break; dVar19 = (double)(*(float *)(local_110 + 0x70) - pfVar12[-1]); uVar20 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); iVar11 = 8; if (*(char *)(local_110 + 0x88) != '\0') { iVar11 = 0x19; } if (((((float)iVar11 <= (float)(double)CONCAT44((uint)((ulonglong)dVar19 >> 0x20) & uVar20, SUB84(dVar19,0) & (uint)DAT_1824c4f10)) || (dVar19 = (double)(*(float *)(local_110 + 0x74) - *pfVar12), (float)iVar11 <= (float)(double)CONCAT44((uint)((ulonglong)dVar19 >> 0x20) & uVar20, SUB84(dVar19,0) & (uint)DAT_1824c4f10))) || (*(float *)(local_110 + 0x80) != pfVar12[3])) || (*(float *)(local_110 + 0x84) != pfVar12[4])) break; bVar18 = bVar18 + 1; iVar16 = iVar16 + 1; pfVar12 = pfVar12 + 8; if (3 < iVar16) break; } } uVar5 = *(undefined8 *)(local_110 + 0x78); fVar2 = *(float *)(local_110 + 0x70); fVar3 = *(float *)(local_110 + 0x74); uVar17 = *(undefined8 *)(local_110 + 0x70); local_78 = uVar5; if (DAT_182673700 == 0) { local_108 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_108); } fVar4 = *(float *)(DAT_182673700 + 0xc0); if (fVar4 == DAT_1824c3ea4) { local_88 = uVar17; pfVar12 = (float *)&local_88; } else { local_128 = fVar2 / fVar4; local_124 = fVar3 / fVar4; pfVar12 = &local_128; } local_138 = *pfVar12; local_120 = local_138; fStack_134 = pfVar12[1]; plVar9 = (longlong *)param_1[3]; plVar6 = param_1; while (plVar8 = plVar9, plVar8 != (longlong *)0x0) { plVar6 = plVar8; plVar9 = (longlong *)plVar8[3]; } fStack_11c = fStack_134; pfVar12 = (float *)FUN_1805200f0(local_70,plVar6,*(undefined8 *)pfVar12); local_138 = *pfVar12; fStack_134 = pfVar12[1]; uVar17 = *(undefined8 *)pfVar12; if (plVar6 != param_1) { if ((longlong *)param_1[3] != plVar6) { puVar13 = (undefined8 *) FUN_1805200a0(local_68,plVar6,(longlong *)param_1[3],*(undefined8 *)pfVar12); uVar17 = *puVar13; } FUN_1805200f0(&local_138,param_1,uVar17); } local_e8 = (float)local_118; local_e4 = local_118._4_4_; local_108 = (double)(float)local_118 + DAT_1824c4520; local_e0 = local_108._0_4_; local_130 = (longlong *)((double)local_118._4_4_ + DAT_1824c4520); local_dc = local_130._0_4_; local_d8 = param_5; local_d4 = param_6; local_d0 = param_7; local_cc = param_8; local_c8 = param_9; local_c4 = param_10; local_c0 = local_138; local_bc = fStack_134; local_98 = local_110; local_b8 = param_1; local_b0 = param_1; local_a8 = param_4; local_a0 = uVar5; local_90 = bVar18; local_8f = uVar7; (**(code **)(*param_1 + 0x30))(param_1,&local_e8); if (local_res8 == (undefined8 *)0x0) { lVar14 = 0; } else { lVar14 = local_res8[2]; } if (lVar14 != 0) { if (DAT_182673700 == 0) { local_60 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_60); } lVar14 = DAT_182673700; FUN_18133bd90(DAT_182673700); iVar16 = *(int *)(lVar14 + 0x44); while( true ) { if (local_res8 == (undefined8 *)0x0) { lVar15 = 0; } else { lVar15 = local_res8[2]; } if ((lVar15 == 0) || (iVar16 < 1)) break; iVar16 = iVar16 + -1; if ((*(int *)(lVar14 + 0x44) <= iVar16) && (iVar16 = *(int *)(lVar14 + 0x44) + -1, iVar16 < 0)) break; plVar6 = *(longlong **)(*(longlong *)(lVar14 + 0x38) + (longlong)iVar16 * 8); (**(code **)(*plVar6 + 0x30))(plVar6,&local_e8); } FUN_18051e7b0(param_1,&local_res8,&LAB_180526148,&local_e8); if (local_res8 == (undefined8 *)0x0) { lVar15 = 0; } else { lVar15 = local_res8[2]; } if ((lVar15 != 0) && (1 < local_90)) { (**(code **)(*param_1 + 0x38))(param_1,&local_e8); if (local_res8 == (undefined8 *)0x0) { lVar15 = 0; } else { lVar15 = local_res8[2]; } if (lVar15 != 0) { iVar16 = *(int *)(lVar14 + 0x44); while( true ) { if (local_res8 == (undefined8 *)0x0) { lVar15 = 0; } else { lVar15 = local_res8[2]; } if ((lVar15 == 0) || (iVar16 < 1)) break; iVar16 = iVar16 + -1; if ((*(int *)(lVar14 + 0x44) <= iVar16) && (iVar16 = *(int *)(lVar14 + 0x44) + -1, iVar16 < 0)) break; plVar6 = *(longlong **)(*(longlong *)(lVar14 + 0x38) + (longlong)iVar16 * 8); (**(code **)(*plVar6 + 0x38))(plVar6,&local_e8); } FUN_18051e7b0(param_1,&local_res8,&LAB_180526798,&local_e8); } } } if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_res8)(local_res8,1); } } } return; } ############ FUN_ 1813409c0 size=1669 ############ void FUN_1813409c0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8, undefined4 param_9) { int *piVar1; longlong lVar2; char cVar3; int iVar4; longlong lVar5; float *pfVar6; longlong *plVar7; int iVar8; double dVar9; uint uVar10; undefined8 *local_168 [2]; double local_158; undefined8 local_150; undefined8 local_148; undefined4 uStack_140; undefined4 uStack_13c; uint local_138; uint local_134; longlong local_130; double local_128; double local_120; longlong local_118; double local_110; float local_108; float local_104; undefined4 local_100; undefined4 local_fc; uint local_f8; undefined4 local_f4; undefined4 local_f0; undefined4 local_ec; undefined4 local_e8; undefined4 local_e4; undefined8 local_e0; longlong *local_d8; longlong *local_d0; undefined8 local_c8; undefined8 local_c0; longlong local_b8; char local_b0; undefined1 local_af; float local_a8; float local_a4; undefined4 local_a0; undefined4 local_9c; uint local_98; undefined4 local_94; undefined4 local_90; undefined4 local_8c; undefined4 local_88; undefined4 local_84; undefined8 local_80; longlong *local_78; longlong *local_70; undefined8 local_68; undefined8 local_60; longlong local_58; char local_50; undefined1 local_4f; undefined8 local_48; undefined8 local_38; longlong lStack_30; local_48 = 0xfffffffffffffffe; local_150 = param_3; if (DAT_182673700 == 0) { local_158 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_158); } lVar2 = DAT_182673700; FUN_1804de690(local_168,param_1); cVar3 = FUN_181343030(param_1); if (cVar3 != '\0') { *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) | 0x80; FUN_181341760(); if (local_168[0] == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = local_168[0][2]; } if (lVar5 == 0) goto LAB_181341005; cVar3 = FUN_181343030(param_1); if (cVar3 != '\0') { local_130 = *param_2; local_50 = '\x01'; if ((*(char *)(local_130 + 0xf8) == '\0') && (*(longlong *)(local_130 + 0xf0) <= *(longlong *)(local_130 + 0x78) + (longlong)DAT_1824c4328)) { iVar8 = 1; pfVar6 = (float *)(local_130 + 0x94); local_50 = '\x01'; while( true ) { iVar4 = iVar8; if (2 < iVar8) { iVar4 = 2; } if ((double)(iVar4 * 400) * DAT_1824c3e30 <= (double)(*(longlong *)(local_130 + 0x78) - *(longlong *)(pfVar6 + 1)) * DAT_1824c3e30) break; dVar9 = (double)(*(float *)(local_130 + 0x70) - pfVar6[-1]); uVar10 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); iVar4 = 8; if (*(char *)(local_130 + 0x88) != '\0') { iVar4 = 0x19; } if (((((float)iVar4 <= (float)(double)CONCAT44((uint)((ulonglong)dVar9 >> 0x20) & uVar10, SUB84(dVar9,0) & (uint)DAT_1824c4f10)) || (dVar9 = (double)(*(float *)(local_130 + 0x74) - *pfVar6), (float)iVar4 <= (float)(double)CONCAT44((uint)((ulonglong)dVar9 >> 0x20) & uVar10, SUB84(dVar9,0) & (uint)DAT_1824c4f10))) || (*(float *)(local_130 + 0x80) != pfVar6[3])) || (*(float *)(local_130 + 0x84) != pfVar6[4])) break; local_50 = local_50 + '\x01'; iVar8 = iVar8 + 1; pfVar6 = pfVar6 + 8; if (3 < iVar8) break; } } local_138 = DAT_182673aec & 0xffffff8f; local_98 = *(uint *)(local_130 + 0x28) | local_138; local_a8 = (float)local_150; local_a4 = local_150._4_4_; local_128 = (double)(float)local_150 + DAT_1824c4520; local_a0 = local_128._0_4_; local_120 = (double)local_150._4_4_ + DAT_1824c4520; local_9c = local_120._0_4_; local_94 = param_5; local_90 = param_6; local_8c = param_7; local_88 = param_8; local_84 = param_9; local_4f = 0; local_80 = param_3; local_78 = param_1; local_70 = param_1; local_68 = param_4; local_60 = param_4; local_58 = local_130; FUN_18133bd90(lVar2); iVar8 = *(int *)(lVar2 + 0x44); while( true ) { if (local_168[0] == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = local_168[0][2]; } if ((lVar5 == 0) || (iVar8 < 1)) break; iVar8 = iVar8 + -1; if ((*(int *)(lVar2 + 0x44) <= iVar8) && (iVar8 = *(int *)(lVar2 + 0x44) + -1, iVar8 < 0)) break; plVar7 = *(longlong **)(*(longlong *)(lVar2 + 0x38) + (longlong)iVar8 * 8); (**(code **)(*plVar7 + 0x20))(plVar7,&local_a8); } goto LAB_181341005; } } *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) & 0x7f; plVar7 = param_1; do { if ((*(byte *)((longlong)plVar7 + 0xa9) >> 2 & 1) != 0) { FUN_181344f60(plVar7,1); if (local_168[0] == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = local_168[0][2]; } if (lVar5 == 0) goto LAB_181341005; } plVar7 = (longlong *)plVar7[3]; } while (plVar7 != (longlong *)0x0); if ((*(byte *)(param_1 + 0x15) & 0x80) == 0) { FUN_18133ed60(param_1,0,1); if (local_168[0] == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = local_168[0][2]; } if (lVar5 == 0) goto LAB_181341005; } if ((*(byte *)((longlong)param_1 + 0xa9) & 8) != 0) { uStack_13c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_140 = (undefined4)param_1[5]; lStack_30 = param_1[5]; local_148 = 0; local_38 = 0; FUN_181342870(param_1,&local_38,1); } local_118 = *param_2; local_b0 = '\x01'; if ((*(char *)(local_118 + 0xf8) == '\0') && (*(longlong *)(local_118 + 0xf0) <= *(longlong *)(local_118 + 0x78) + (longlong)DAT_1824c4328)) { iVar8 = 1; pfVar6 = (float *)(local_118 + 0x94); local_b0 = '\x01'; while( true ) { iVar4 = iVar8; if (2 < iVar8) { iVar4 = 2; } if ((double)(iVar4 * 400) * DAT_1824c3e30 <= (double)(*(longlong *)(local_118 + 0x78) - *(longlong *)(pfVar6 + 1)) * DAT_1824c3e30) break; dVar9 = (double)(*(float *)(local_118 + 0x70) - pfVar6[-1]); uVar10 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); iVar4 = 8; if (*(char *)(local_118 + 0x88) != '\0') { iVar4 = 0x19; } if (((((float)iVar4 <= (float)(double)CONCAT44((uint)((ulonglong)dVar9 >> 0x20) & uVar10, SUB84(dVar9,0) & (uint)DAT_1824c4f10)) || (dVar9 = (double)(*(float *)(local_118 + 0x74) - *pfVar6), (float)iVar4 <= (float)(double)CONCAT44((uint)((ulonglong)dVar9 >> 0x20) & uVar10, SUB84(dVar9,0) & (uint)DAT_1824c4f10))) || (*(float *)(local_118 + 0x80) != pfVar6[3])) || (*(float *)(local_118 + 0x84) != pfVar6[4])) break; local_b0 = local_b0 + '\x01'; iVar8 = iVar8 + 1; pfVar6 = pfVar6 + 8; if (3 < iVar8) break; } } local_134 = DAT_182673aec & 0xffffff8f; local_f8 = *(uint *)(local_118 + 0x28) | local_134; local_108 = (float)local_150; local_104 = local_150._4_4_; local_110 = (double)(float)local_150 + DAT_1824c4520; local_100 = local_110._0_4_; local_158 = (double)local_150._4_4_ + DAT_1824c4520; local_fc = local_158._0_4_; local_f4 = param_5; local_f0 = param_6; local_ec = param_7; local_e8 = param_8; local_e4 = param_9; local_af = 0; local_e0 = param_3; local_d8 = param_1; local_d0 = param_1; local_c8 = param_4; local_c0 = param_4; local_b8 = local_118; (**(code **)(*param_1 + 0x20))(param_1,&local_108); if (local_168[0] == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = local_168[0][2]; } if (lVar5 != 0) { FUN_18133bd90(lVar2); iVar8 = *(int *)(lVar2 + 0x44); while( true ) { if (local_168[0] == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = local_168[0][2]; } if ((lVar5 == 0) || (iVar8 < 1)) break; iVar8 = iVar8 + -1; if ((*(int *)(lVar2 + 0x44) <= iVar8) && (iVar8 = *(int *)(lVar2 + 0x44) + -1, iVar8 < 0)) break; plVar7 = *(longlong **)(*(longlong *)(lVar2 + 0x38) + (longlong)iVar8 * 8); (**(code **)(*plVar7 + 0x20))(plVar7,&local_108); } FUN_18051e7b0(param_1,local_168,&LAB_1805260b0,&local_108); } LAB_181341005: if (local_168[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_168[0] + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_168[0])(local_168[0],1); } } return; } ############ FUN_ 181341050 size=593 ############ void FUN_181341050(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; char cVar3; longlong lVar4; longlong lVar5; int iVar6; undefined8 *local_f8; undefined8 local_f0; undefined8 local_e8; double local_e0; undefined8 local_d8; undefined8 local_c8; undefined4 uStack_c0; undefined4 uStack_bc; uint local_b8; double local_b0; undefined8 local_a8; float local_98; float local_94; undefined4 local_90; undefined4 local_8c; uint local_88; undefined8 local_84; undefined8 local_7c; undefined4 local_74; undefined8 local_70; longlong *local_68; longlong *local_60; undefined8 local_58; undefined8 local_50; longlong local_48; undefined2 local_40; undefined8 local_38; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; local_38 = 0xfffffffffffffffe; local_e8 = param_3; cVar3 = FUN_181343030(); if (cVar3 == '\0') { if ((*(byte *)((longlong)param_1 + 0xa9) & 8) != 0) { uStack_bc = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_c0 = (undefined4)param_1[5]; local_c8 = 0; local_28 = 0; uStack_24 = 0; uStack_20 = uStack_c0; uStack_1c = uStack_bc; FUN_181342870(param_1,&local_28,1); } FUN_1804de690(&local_f8,param_1); local_48 = *param_2; local_b8 = DAT_182673aec & 0xffffff8f; local_88 = *(uint *)(local_48 + 0x28) | local_b8; local_98 = (float)local_e8; local_94 = local_e8._4_4_; local_b0 = (double)(float)local_e8 + DAT_1824c4520; local_90 = local_b0._0_4_; local_e0 = (double)local_e8._4_4_ + DAT_1824c4520; local_8c = local_e0._0_4_; local_84 = 0; local_7c = 0; local_74 = 0; local_40 = 0; local_70 = param_3; local_68 = param_1; local_60 = param_1; local_58 = param_4; local_50 = param_4; (**(code **)(*param_1 + 0x18))(param_1,&local_98); if (local_f8 == (undefined8 *)0x0) { lVar4 = 0; } else { lVar4 = local_f8[2]; } if (lVar4 != 0) { if (DAT_182673700 == 0) { local_d8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_d8); } lVar4 = DAT_182673700; FUN_18133bd90(DAT_182673700); iVar6 = *(int *)(lVar4 + 0x44); while( true ) { if (local_f8 == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = local_f8[2]; } if ((lVar5 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(lVar4 + 0x44) <= iVar6) && (iVar6 = *(int *)(lVar4 + 0x44) + -1, iVar6 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(lVar4 + 0x38) + (longlong)iVar6 * 8); (**(code **)(*plVar2 + 0x18))(plVar2,&local_98); } FUN_18051e7b0(param_1,&local_f8,FUN_1805266f8,&local_98); } if (local_f8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_f8 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_f8)(local_f8,1); } } } else { local_a8 = 0; local_f0 = 0; FUN_1804e6d20(*param_2,&local_f0,0); } return; } ############ FUN_ 1804e65c0 size=396 ############ void FUN_1804e65c0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, longlong param_5) { int *piVar1; int iVar2; longlong *plVar3; longlong lVar4; undefined8 *puVar5; undefined8 uVar6; longlong lVar7; longlong *local_res8; longlong local_58; undefined8 *local_50; undefined8 local_48; undefined1 local_40 [8]; undefined8 local_38; undefined1 local_30 [24]; local_48 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { local_res8 = (longlong *)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8); } *(int *)(DAT_182673700 + 0x8c) = *(int *)(DAT_182673700 + 0x8c) + 1; local_res8 = (longlong *)0x0; lVar7 = 0; lVar4 = lVar7; if (*(longlong *)(param_1 + 0x50) != 0) { lVar4 = *(longlong *)(*(longlong *)(param_1 + 0x50) + 0x10); } if ((lVar4 == 0) || (*(char *)(param_5 + 10) == '\0')) { uVar6 = FUN_1804e6500(param_1,param_2,param_3,param_4,&local_res8); puVar5 = (undefined8 *)FUN_1804de690(&local_50,uVar6); local_38 = *(undefined8 *)(param_1 + 0x50); *(undefined8 *)(param_1 + 0x50) = *puVar5; *puVar5 = local_38; if (local_50 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_50 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_50)(local_50,1); } } } else { puVar5 = (undefined8 *)(**(code **)(*param_2 + 0x48))(param_2,local_40,param_3); local_res8 = (longlong *)*puVar5; } if (*(longlong *)(param_1 + 0x50) != 0) { lVar7 = *(longlong *)(*(longlong *)(param_1 + 0x50) + 0x10); } if (lVar7 != 0) { plVar3 = local_res8; local_res8 = &local_58; local_58 = param_1; puVar5 = (undefined8 *)FUN_1804e5790(local_30,lVar7,plVar3); FUN_18133fa80(lVar7,&local_58,*puVar5,param_4,param_5); } return; } ############ FUN_ 18133fa80 size=604 ############ void FUN_18133fa80(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { int *piVar1; longlong *plVar2; longlong lVar3; char cVar4; undefined8 uVar5; longlong lVar6; longlong lVar7; int iVar8; double dVar9; undefined8 *local_res10 [2]; undefined8 local_res20; undefined4 local_c8; float local_b8; float local_b4; undefined4 local_b0; undefined4 local_ac; uint local_a8; undefined8 local_a4; undefined8 local_9c; undefined4 local_94; undefined8 local_90; longlong *local_88; longlong *local_80; undefined8 local_78; undefined8 local_70; longlong local_68; undefined2 local_60; undefined8 local_58; local_58 = 0xfffffffffffffffe; local_res20 = (double)param_3; if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } lVar3 = DAT_182673700; FUN_1804de690(local_res10,param_1); local_68 = *param_2; local_a8 = *(uint *)(local_68 + 0x28) | DAT_182673aec & 0xffffff8f; local_b8 = (float)local_res20; local_b4 = local_res20._4_4_; dVar9 = (double)(float)local_res20; local_res20._0_4_ = SUB84(dVar9 + DAT_1824c4520,0); local_b0 = (float)local_res20; local_c8 = SUB84((double)local_res20._4_4_ + DAT_1824c4520,0); local_ac = local_c8; local_a4 = 0; local_9c = 0; local_94 = 0; local_60 = 0; local_res20 = dVar9 + DAT_1824c4520; local_90 = param_3; local_88 = param_1; local_80 = param_1; local_78 = param_4; local_70 = param_4; cVar4 = FUN_181343030(param_1); if (cVar4 == '\0') { (**(code **)(*param_1 + 0x40))(param_1,&local_b8,param_5); lVar6 = 0; lVar7 = lVar6; if (local_res10[0] != (undefined8 *)0x0) { lVar7 = local_res10[0][2]; } if (lVar7 != 0) { iVar8 = *(int *)(lVar3 + 0x44); while( true ) { lVar7 = lVar6; if (local_res10[0] != (undefined8 *)0x0) { lVar7 = local_res10[0][2]; } if ((lVar7 == 0) || (iVar8 < 1)) break; iVar8 = iVar8 + -1; if ((*(int *)(lVar3 + 0x44) <= iVar8) && (iVar8 = *(int *)(lVar3 + 0x44) + -1, iVar8 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(lVar3 + 0x38) + (longlong)iVar8 * 8); (**(code **)(*plVar2 + 0x40))(plVar2,&local_b8,param_5); } if (local_res10[0] != (undefined8 *)0x0) { lVar6 = local_res10[0][2]; } if (lVar6 != 0) { FUN_18051e930(param_1,local_res10); } } } else { iVar8 = *(int *)(lVar3 + 0x44); while( true ) { lVar6 = 0; if (local_res10[0] != (undefined8 *)0x0) { lVar6 = local_res10[0][2]; } if ((lVar6 == 0) || (iVar8 < 1)) break; iVar8 = iVar8 + -1; if ((*(int *)(lVar3 + 0x44) <= iVar8) && (iVar8 = *(int *)(lVar3 + 0x44) + -1, iVar8 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(lVar3 + 0x38) + (longlong)iVar8 * 8); (**(code **)(*plVar2 + 0x40))(plVar2,&local_b8,param_5); } } if (local_res10[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10[0] + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_res10[0])(local_res10[0],1); } } return; } ############ FUN_ 1804e7240 size=506 ############ uint FUN_1804e7240(longlong param_1) { uint *puVar1; longlong *plVar2; longlong lVar3; ushort uVar4; int iVar5; undefined8 uVar6; tagPOINT *ptVar7; uint uVar8; tagPOINT tVar9; longlong *plVar10; bool bVar11; char cVar12; bool bVar13; float fVar14; float fVar15; tagPOINT local_68; undefined8 local_60; undefined1 local_58 [8]; undefined8 local_50; local_60 = 0xfffffffffffffffe; bVar13 = false; plVar10 = *(longlong **)(param_1 + 0x18); plVar2 = plVar10 + *(int *)(param_1 + 0x24); if (plVar10 != plVar2) { do { lVar3 = *plVar10; bVar11 = (*(byte *)(lVar3 + 0x28) & 0x70) != 0; uVar8 = (uint)bVar11; if (bVar11) { if (DAT_182673ba8 != 0) { FUN_18050fa30(); uVar4 = GetAsyncKeyState(1); uVar8 = 0; if ((uVar4 & 0x8000) != 0) { uVar8 = 0x10; } uVar4 = GetAsyncKeyState(2); if ((uVar4 & 0x8000) != 0) { uVar8 = uVar8 | 0x20; } uVar4 = GetAsyncKeyState(4); if ((uVar4 & 0x8000) != 0) { uVar8 = uVar8 | 0x40; } DAT_182673aec = DAT_182673aec & 0xffffff8f | uVar8; } bVar11 = (DAT_182673aec & 0x70) != 0; uVar8 = (uint)bVar11; if (bVar11) { if (*(int *)(lVar3 + 0x14) == 1) { fVar14 = *(float *)(lVar3 + 0x18); fVar15 = *(float *)(lVar3 + 0x1c); } else { GetCursorPos(&local_68); tVar9 = local_68; FUN_1812c75b0(); if ((DAT_182678f18 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar12 = FUN_1812c7510(); } else { uVar6 = (*DAT_182678f18)(); iVar5 = (*DAT_182678ec8)(uVar6); cVar12 = iVar5 == 2; } if (cVar12 != '\0') { if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } ptVar7 = (tagPOINT *) FUN_18051ece0(*(undefined8 *)(DAT_182673700 + 0x78),local_58,tVar9,0); tVar9 = *ptVar7; } fVar15 = (float)tVar9.y; fVar14 = (float)tVar9.x; } local_50 = CONCAT44(fVar15 + *(float *)(lVar3 + 0x24),fVar14 + *(float *)(lVar3 + 0x20)); *(undefined8 *)(lVar3 + 0x18) = local_50; puVar1 = (uint *)(*(longlong *)(lVar3 + 8) + 0x18); LOCK(); uVar8 = *puVar1; bVar13 = uVar8 == 0; if (bVar13) { *puVar1 = 1; uVar8 = 0; } UNLOCK(); if ((bVar13) && (uVar8 = FUN_1812a6720(*(undefined8 *)(lVar3 + 8)), (char)uVar8 == '\0')) { LOCK(); puVar1 = (uint *)(*(longlong *)(lVar3 + 8) + 0x18); uVar8 = *puVar1; *puVar1 = 0; UNLOCK(); } bVar13 = true; } } plVar10 = plVar10 + 1; } while (plVar10 != plVar2); if (bVar13) { return uVar8; } } uVar8 = FUN_1812a7720(param_1); return uVar8; } ############ FUN_ 1804e8770 size=860 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804e8770(longlong param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4) { int *piVar1; int iVar2; longlong lVar3; longlong lVar4; longlong lVar5; longlong *plVar6; longlong *plVar7; char cVar8; undefined8 *puVar9; longlong *plVar10; longlong *plVar11; longlong lVar12; longlong lVar13; uint uVar14; bool bVar15; undefined1 auStack_e8 [32]; undefined4 local_c8; undefined8 *local_b8; longlong local_b0; undefined8 *local_a8; undefined8 local_a0; undefined8 *local_98; undefined8 local_90; undefined1 local_88 [8]; undefined1 local_80 [8]; undefined1 local_78 [8]; undefined1 local_70 [8]; undefined1 local_68 [8]; longlong *local_60; undefined1 local_58 [8]; undefined8 *local_50; undefined8 local_48; ulonglong local_40; local_90 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_e8; lVar3 = *(longlong *)(param_1 + 0x18); local_b8 = param_4; local_b0 = param_1; local_98 = param_3; if (lVar3 == 0) { if (DAT_182673700 == 0) { local_a0 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_a0); } lVar3 = DAT_182673700; uVar14 = *(int *)(DAT_182673700 + 100) - 1; lVar13 = (longlong)(int)uVar14; bVar15 = (int)uVar14 < 0; while (!bVar15) { if (uVar14 < *(uint *)(lVar3 + 100)) { lVar12 = *(longlong *)(*(longlong *)(lVar3 + 0x58) + lVar13 * 8); puVar9 = param_2; if (lVar12 != 0) { lVar4 = lVar12; for (lVar5 = *(longlong *)(lVar12 + 0x18); lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x18) ) { lVar4 = lVar5; } puVar9 = (undefined8 *)FUN_18051e060(local_88,lVar4,param_2); puVar9 = (undefined8 *)*puVar9; if (lVar4 != lVar12) { if (*(longlong *)(lVar12 + 0x18) != lVar4) { puVar9 = (undefined8 *) FUN_180520050(local_80,lVar4,*(longlong *)(lVar12 + 0x18),puVar9); puVar9 = (undefined8 *)*puVar9; } FUN_18051e060(&local_a8,lVar12,puVar9); puVar9 = local_a8; } } } else { lVar12 = 0; puVar9 = param_2; } local_a8 = puVar9; puVar9 = local_a8; plVar10 = (longlong *)FUN_181343e50(lVar12,local_a8); if (plVar10 != (longlong *)0x0) { FUN_18051db10(&local_a0,plVar10,lVar12,puVar9); cVar8 = (**(code **)(*plVar10 + 0x98))(plVar10,local_a0 & 0xffffffff,local_a0._4_4_); param_4 = local_b8; param_3 = local_98; param_1 = local_b0; if (cVar8 != '\0') goto LAB_1804e8954; } uVar14 = uVar14 - 1; lVar13 = lVar13 + -1; bVar15 = lVar13 < 0; } plVar10 = (longlong *)0x0; param_4 = local_b8; param_3 = local_98; param_1 = local_b0; } else { lVar13 = lVar3; for (lVar12 = *(longlong *)(lVar3 + 0x18); lVar12 != 0; lVar12 = *(longlong *)(lVar12 + 0x18)) { lVar13 = lVar12; } plVar10 = (longlong *)FUN_18051e060(&local_98,lVar13,param_2); lVar12 = *plVar10; if (lVar13 != lVar3) { if (*(longlong *)(lVar3 + 0x18) != lVar13) { plVar10 = (longlong *)FUN_180520050(local_78,lVar13); lVar12 = *plVar10; } FUN_18051e060(&local_b0,lVar3,lVar12); lVar12 = local_b0; } local_b0 = lVar12; plVar10 = (longlong *)FUN_181343e50(lVar3,local_b0); } LAB_1804e8954: local_60 = *(longlong **)(param_1 + 200); (**(code **)(*local_60 + 0xb8))(local_60,local_58,param_1 + 0xd0); local_50 = *(undefined8 **)(param_1 + 0xd8); if (local_50 != (undefined8 *)0x0) { LOCK(); *(int *)(local_50 + 1) = *(int *)(local_50 + 1) + 1; UNLOCK(); } local_48 = *(undefined8 *)(param_1 + 0xe0); do { if (plVar10 == (longlong *)0x0) { *param_4 = 0; LAB_1804e8a00: if (local_50 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_50 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_50)(local_50,1); } } (**(code **)(*local_60 + 0xb0))(local_60,local_58); } local_c8 = 0; plVar11 = (longlong *) __RTDynamicCast(plVar10,0,&juce::Component::RTTI_Type_Descriptor, &juce::DragAndDropTarget::RTTI_Type_Descriptor); if ((plVar11 != (longlong *)0x0) && (cVar8 = (**(code **)(*plVar11 + 8))(plVar11), cVar8 != '\0')) { puVar9 = param_2; if (plVar10 != (longlong *)0x0) { plVar7 = (longlong *)plVar10[3]; plVar11 = plVar10; while (plVar6 = plVar7, plVar6 != (longlong *)0x0) { plVar11 = plVar6; plVar7 = (longlong *)plVar6[3]; } puVar9 = (undefined8 *)FUN_18051e060(local_70,plVar11,param_2); puVar9 = (undefined8 *)*puVar9; if (plVar11 != plVar10) { if ((longlong *)plVar10[3] != plVar11) { puVar9 = (undefined8 *)FUN_180520050(local_68,plVar11); puVar9 = (undefined8 *)*puVar9; } FUN_18051e060(&local_b8,plVar10,puVar9); puVar9 = local_b8; } } local_b8 = puVar9; *param_3 = local_b8; *param_4 = plVar10; goto LAB_1804e8a00; } plVar10 = (longlong *)plVar10[3]; } while( true ); } ############ FUN_ 1804e8d50 size=552 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804e8d50(longlong *param_1,char param_2) { longlong lVar1; longlong lVar2; undefined8 uVar3; undefined8 uVar4; longlong *plVar5; char cVar6; undefined8 *puVar7; longlong lVar8; longlong lVar9; undefined8 local_res8; int iStackX_1c; undefined8 uVar10; undefined8 local_30; longlong lStack_28; uVar10 = 0xfffffffffffffffe; (**(code **)(*param_1 + 0x58))(param_1,1); if (DAT_182673700 == 0) { local_res8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8); } lVar1 = DAT_182673700 + 200; if (((param_2 != '\0') && (lVar2 = param_1[0x1b], lVar2 != 0)) && (*(longlong *)(lVar2 + 0x10) != 0)) { lVar9 = 0; lVar8 = lVar9; if (lVar2 != 0) { lVar8 = *(longlong *)(lVar2 + 0x10); } local_res8 = CONCAT44(*(int *)(lVar8 + 0x2c) / 2,*(int *)(lVar8 + 0x28) / 2); uVar3 = local_res8; if (param_1[0x1b] != 0) { lVar9 = *(longlong *)(param_1[0x1b] + 0x10); } for (; lVar9 != 0; lVar9 = *(longlong *)(lVar9 + 0x18)) { puVar7 = (undefined8 *)FUN_18051e290(&local_res8,lVar9,uVar3); uVar3 = *puVar7; } local_res8 = CONCAT44(*(int *)((longlong)param_1 + 0x2c) / 2,(int)param_1[5] / 2); uVar4 = local_res8; for (plVar5 = param_1; plVar5 != (longlong *)0x0; plVar5 = (longlong *)plVar5[3]) { puVar7 = (undefined8 *)FUN_18051e290(&local_res8,plVar5,uVar4); uVar4 = *puVar7; } iStackX_1c = (int)((ulonglong)uVar3 >> 0x20); lStack_28 = param_1[5]; local_30 = CONCAT44(*(int *)((longlong)param_1 + 0x24) + (iStackX_1c - (int)((ulonglong)uVar4 >> 0x20)), (int)param_1[4] + ((int)uVar3 - (int)uVar4)); FUN_181323e20(lVar1,param_1,&local_30,0,0x78,1,_DAT_1824c4da0,_UNK_1824c4da8,uVar10); return; } cVar6 = FUN_181345240(param_1); if (cVar6 != '\0') { local_30 = param_1[4]; lStack_28 = param_1[5]; FUN_181323e20(lVar1,param_1,&local_30,0,0x78,1,_DAT_1824c4da0,_UNK_1824c4da8,uVar10); } /* WARNING: Could not recover jumptable at 0x0001804e8f74. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x58))(param_1,0); return; } ############ FUN_ 181323e20 size=447 ############ void FUN_181323e20(longlong param_1,longlong param_2,undefined8 param_3,undefined4 param_4, undefined4 param_5,undefined1 param_6,undefined8 param_7,undefined8 param_8) { int *piVar1; longlong lVar2; char cVar3; DWORD DVar4; longlong lVar5; longlong lVar6; int iVar7; bool bVar8; if (param_2 != 0) { iVar7 = *(int *)(param_1 + 0x5c) + -1; lVar6 = (longlong)iVar7; if (-1 < iVar7) { do { lVar2 = **(longlong **)(*(longlong *)(param_1 + 0x50) + lVar6 * 8); lVar5 = 0; if (lVar2 != 0) { lVar5 = *(longlong *)(lVar2 + 0x10); } if (param_2 == lVar5) { lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x50) + (longlong)iVar7 * 8); if (lVar6 != 0) goto LAB_181323f37; break; } iVar7 = iVar7 + -1; lVar6 = lVar6 + -1; } while (-1 < lVar6); } lVar6 = FUN_1811316e0(0x88); FUN_1804de690(lVar6,param_2); *(undefined8 *)(lVar6 + 8) = 0; *(undefined8 *)(lVar6 + 0x10) = 0; *(undefined8 *)(lVar6 + 0x18) = 0; *(undefined8 *)(lVar6 + 0x80) = 0; iVar7 = *(int *)(param_1 + 0x5c) + 1; if (*(int *)(param_1 + 0x58) < iVar7) { FUN_18047cb30(param_1 + 0x50,*(int *)(param_1 + 0x5c) + 9 + iVar7 / 2 & 0xfffffff8); } iVar7 = *(int *)(param_1 + 0x5c); *(int *)(param_1 + 0x5c) = iVar7 + 1; *(longlong *)(*(longlong *)(param_1 + 0x50) + (longlong)iVar7 * 8) = lVar6; if (*(char *)(param_1 + 0x30) != '\0') { piVar1 = (int *)(*(longlong *)(param_1 + 0x10) + 0x18); LOCK(); bVar8 = *piVar1 == 0; if (bVar8) { *piVar1 = 1; } UNLOCK(); if ((bVar8) && (cVar3 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x10)), cVar3 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x18) = 0; UNLOCK(); } } LAB_181323f37: FUN_1804f6770(lVar6,param_3,param_4,param_5,param_6,param_7,param_8); if (*(int *)(param_1 + 0x48) < 1) { DVar4 = timeGetTime(); if (DVar4 < DAT_1826737fc) { if (DVar4 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar4; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar4; } *(DWORD *)(param_1 + 0x60) = DVar4; FUN_1812a77d0(param_1 + 0x38,0x14); } } return; } ############ FUN_ 1804f6770 size=686 ############ void FUN_1804f6770(longlong *param_1,longlong *param_2,float param_3,int param_4,char param_5, undefined8 *param_6,double param_7) { int *piVar1; longlong lVar2; undefined8 *puVar3; longlong lVar4; float fVar5; undefined1 uVar6; int iVar7; longlong *plVar8; undefined8 uVar9; double *pdVar10; longlong *plVar11; double dVar12; double dVar13; plVar11 = (longlong *)0x0; *(undefined4 *)(param_1 + 5) = 0; iVar7 = 1; if (1 < param_4) { iVar7 = param_4; } *(int *)((longlong)param_1 + 0x2c) = iVar7; param_1[9] = 0; lVar2 = param_2[1]; param_1[2] = *param_2; param_1[3] = lVar2; param_1[4] = (longlong)(double)param_3; lVar2 = *param_1; plVar8 = plVar11; if (lVar2 != 0) { plVar8 = *(longlong **)(lVar2 + 0x10); } lVar4 = plVar8[4]; if (((((int)*param_2 == (int)lVar4) && (*(int *)((longlong)param_2 + 4) == *(int *)((longlong)plVar8 + 0x24))) && ((int)param_2[1] == (int)plVar8[5])) && (*(int *)((longlong)param_2 + 0xc) == *(int *)((longlong)plVar8 + 0x2c))) { uVar6 = 0; } else { uVar6 = 1; } *(undefined1 *)(param_1 + 0xf) = uVar6; fVar5 = DAT_1824c4548; plVar8 = plVar11; if (lVar2 != 0) { plVar8 = *(longlong **)(lVar2 + 0x10); } *(bool *)((longlong)param_1 + 0x79) = param_3 != (float)(int)(0xff - (uint)*(byte *)((longlong)plVar8 + 0xac)) / DAT_1824c4548; lVar2 = *param_1; plVar8 = plVar11; if (lVar2 != 0) { plVar8 = *(longlong **)(lVar2 + 0x10); } param_1[10] = (longlong)(double)(int)plVar8[4]; plVar8 = plVar11; if (lVar2 != 0) { plVar8 = *(longlong **)(lVar2 + 0x10); } param_1[0xb] = (longlong)(double)*(int *)((longlong)plVar8 + 0x24); plVar8 = plVar11; if (lVar2 != 0) { plVar8 = *(longlong **)(lVar2 + 0x10); } param_1[0xc] = (longlong)(double)((int)plVar8[5] + (int)plVar8[4]); plVar8 = plVar11; if (*param_1 != 0) { plVar8 = *(longlong **)(*param_1 + 0x10); } param_1[0xd] = (longlong) (double)(*(int *)((longlong)plVar8 + 0x2c) + *(int *)((longlong)plVar8 + 0x24)); plVar8 = plVar11; if (*param_1 != 0) { plVar8 = *(longlong **)(*param_1 + 0x10); } param_1[0xe] = (longlong) (double)((float)(int)(0xff - (uint)*(byte *)((longlong)plVar8 + 0xac)) / fVar5); dVar12 = DAT_1824c4228 / ((double)param_6 + param_7 + DAT_1824c41e8); dVar13 = dVar12 * (double)param_6; if (dVar12 * (double)param_6 <= 0.0) { dVar13 = 0.0; } param_1[6] = (longlong)dVar13; param_1[7] = (longlong)dVar12; dVar13 = dVar12 * param_7; if (dVar12 * param_7 <= 0.0) { dVar13 = 0.0; } param_1[8] = (longlong)dVar13; if ((param_1[1] != 0) && (puVar3 = *(undefined8 **)(param_1[1] + 0x10), puVar3 != (undefined8 *)0x0)) { (**(code **)*puVar3)(puVar3,1,param_3,param_4,0xfffffffffffffffe,(int)lVar4); } if (param_5 != '\0') { param_6 = (undefined8 *)FUN_1811316e0(0xb8); plVar8 = plVar11; if (*param_1 != 0) { plVar8 = *(longlong **)(*param_1 + 0x10); } uVar9 = FUN_1804f6ea0(param_6,plVar8); pdVar10 = (double *)FUN_1804de690(¶m_6,uVar9); param_7 = (double)param_1[1]; param_1[1] = (longlong)*pdVar10; *pdVar10 = param_7; if (param_6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(param_6 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*param_6)(param_6,1); } } } if (*param_1 != 0) { plVar11 = *(longlong **)(*param_1 + 0x10); } /* WARNING: Could not recover jumptable at 0x0001804f6a1a. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar11 + 0x58))(plVar11,param_5 == '\0'); return; } ############ FUN_ 1804f6ea0 size=869 ############ /* WARNING: Removing unreachable block (ram,0x0001804f707e) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ longlong * FUN_1804f6ea0(longlong *param_1,longlong param_2) { int *piVar1; int iVar2; double dVar3; undefined8 uVar4; undefined8 uVar5; byte bVar6; longlong lVar7; undefined8 *puVar8; longlong lVar9; longlong *plVar10; float fVar11; undefined8 *local_res10; longlong local_res18; undefined8 local_e8; undefined8 uStack_e0; ulonglong local_d8; undefined8 local_d0; undefined8 local_c8; longlong lStack_c0; undefined8 local_b8; longlong lStack_b0; undefined8 local_a8; longlong lStack_a0; undefined8 local_98; undefined8 uStack_90; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; undefined8 local_70; undefined8 uStack_68; undefined8 local_60; undefined1 local_58 [16]; undefined1 local_48 [32]; local_d0 = 0xfffffffffffffffe; param_1[1] = (longlong)&DAT_1821dbf98; param_1[2] = (longlong)&DAT_1821dbf98; lVar9 = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = (longlong)juce::ComponentAnimator::AnimationTask::ProxyComponent::vftable; param_1[0x16] = 0; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xdf; local_58 = *(undefined1 (*) [16])(param_2 + 0x20); FUN_18134bfe0(param_1,local_58._0_8_,local_58._0_8_ >> 0x20,local_58._8_4_,local_58._12_4_); puVar8 = *(undefined8 **)(param_2 + 0x38); if (puVar8 == (undefined8 *)0x0) { local_e8 = _DAT_1824c4780; uStack_e0 = _UNK_1824c4788; local_d8 = (ulonglong)DAT_1824c3ea4; puVar8 = &local_e8; } else { local_88 = *puVar8; uStack_80 = puVar8[1]; local_78 = puVar8[2]; puVar8 = &local_88; } local_70 = *puVar8; uStack_68 = puVar8[1]; local_60 = puVar8[2]; FUN_18134af50(param_1,&local_70); FUN_181342bf0(param_1,(float)(int)(0xff - (uint)*(byte *)(param_2 + 0xac)) / DAT_1824c4548); *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xef | 8; lVar7 = *(longlong *)(param_2 + 0x18); if (lVar7 == 0) { bVar6 = *(byte *)(param_2 + 0xa8) & 1; if (((bVar6 != 0) && (bVar6 != 0)) && (lVar7 = FUN_1812d2bd0(param_2), lVar7 != 0)) { if ((*(byte *)(param_2 + 0xa8) & 1) == 0) { if (*(longlong *)(param_2 + 0x18) != 0) { lVar9 = FUN_18134c2e0(); } } else { lVar9 = FUN_1812d2bd0(param_2); } .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (param_1,*(uint *)(lVar9 + 0x10) | 0x400,0); } } else { (**(code **)(*param_1 + 0x58))(param_1,1); FUN_181343cc0(lVar7,param_1,0xffffffff); } uVar5 = 0; uVar4 = local_c8; lVar9 = lStack_c0; lStack_c0 = param_1[5]; for (plVar10 = param_1; local_c8 = uVar5, plVar10 != (longlong *)0x0; plVar10 = (longlong *)plVar10[3]) { puVar8 = (undefined8 *)FUN_18051e4b0(local_48,plVar10,&local_c8); uVar5 = *puVar8; uVar4 = local_c8; lVar9 = lStack_c0; lStack_c0 = puVar8[1]; } local_b8 = local_c8; lStack_b0 = lStack_c0; local_a8 = local_c8; lStack_a0 = lStack_c0; if (DAT_182673700 == 0) { local_c8 = uVar4; lStack_c0 = lVar9; local_a8 = local_b8; lStack_a0 = lStack_b0; local_res10 = (undefined8 *)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); uVar4 = local_c8; lVar9 = lStack_c0; } lStack_c0 = lVar9; local_c8 = uVar4; lVar9 = FUN_18133d8f0(*(undefined8 *)(DAT_182673700 + 0x78),&local_a8,0); dVar3 = *(double *)(lVar9 + 0x30); fVar11 = (float)FUN_181344210(param_2); uStack_90 = *(undefined8 *)(param_2 + 0x28); local_98 = 0; plVar10 = (longlong *)FUN_181341cd0(param_2,&local_res10,&local_98,0,fVar11 * (float)dVar3); local_res18 = param_1[0x16]; param_1[0x16] = *plVar10; *plVar10 = local_res18; if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res10)(local_res10,1); } } .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,1); FUN_181344e50(param_1,param_2); return param_1; } ############ FUN_ 181344210 size=696 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ float FUN_181344210(longlong *param_1) { undefined8 *puVar1; float fVar2; float *pfVar3; undefined8 uVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined8 local_e0; undefined8 uStack_d8; undefined8 local_d0; undefined8 local_c8; undefined8 local_c0; undefined8 uStack_b8; undefined8 local_b0; undefined8 local_98; local_c8 = 0xfffffffffffffffe; local_e0 = _DAT_1824c4780; uStack_d8 = _UNK_1824c4788; fVar9 = 0.0; fVar10 = DAT_1824c3ea4; if (param_1 != (longlong *)0x0) { while( true ) { puVar1 = (undefined8 *)param_1[7]; if (puVar1 == (undefined8 *)0x0) { local_f8 = _DAT_1824c4780; uStack_f0 = _UNK_1824c4788; local_e8 = 0x3f800000; pfVar3 = (float *)&local_f8; } else { local_c0 = *puVar1; uStack_b8 = puVar1[1]; local_b0 = puVar1[2]; pfVar3 = (float *)&local_c0; } fVar5 = *pfVar3; fVar2 = pfVar3[1]; fVar6 = pfVar3[3]; uVar4 = *(undefined8 *)(pfVar3 + 4); fVar7 = (float)uVar4; local_98._4_4_ = (float)((ulonglong)uVar4 >> 0x20); fVar8 = fVar7 * fVar9 + fVar6 * (float)uStack_d8 + local_98._4_4_; fVar11 = fVar7 * fVar10 + fVar6 * local_e0._4_4_; fVar6 = fVar7 * uStack_d8._4_4_ + fVar6 * (float)local_e0; fVar7 = fVar2 * fVar9 + fVar5 * (float)uStack_d8 + pfVar3[2]; fVar10 = fVar2 * fVar10 + fVar5 * local_e0._4_4_; fVar9 = fVar2 * uStack_d8._4_4_ + fVar5 * (float)local_e0; local_f8 = CONCAT44(fVar10,fVar9); uStack_f0 = CONCAT44(fVar6,fVar7); local_e0 = CONCAT44(fVar10,fVar9); uStack_d8 = CONCAT44(fVar6,fVar7); local_d0 = CONCAT44(fVar8,fVar11); local_98 = uVar4; if ((*(byte *)(param_1 + 0x15) & 1) != 0) { fVar5 = (float)(**(code **)(*param_1 + 0x80))(param_1); local_f8 = CONCAT44(fVar10 * fVar5,fVar9 * fVar5); uStack_f0 = CONCAT44(fVar6 * fVar5,fVar7 * fVar5); local_e0 = CONCAT44(fVar10 * fVar5,fVar9 * fVar5); uStack_d8 = CONCAT44(fVar6 * fVar5,fVar7 * fVar5); local_d0 = CONCAT44(fVar8 * fVar5,fVar11 * fVar5); } param_1 = (longlong *)param_1[3]; fVar10 = (float)local_d0; if (param_1 == (longlong *)0x0) break; fVar9 = local_d0._4_4_; } } fVar9 = ((float)(double)CONCAT44((uint)((ulonglong)(double)fVar10 >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)fVar10,0) & (uint)DAT_1824c4f10) + (float)(double)CONCAT44((uint)((ulonglong)(double)(float)local_e0 >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)(float)local_e0,0) & (uint)DAT_1824c4f10)) * DAT_1824c3d8c; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } return fVar9 / *(float *)(DAT_182673700 + 0xc0); } ############ FUN_ 18134af50 size=396 ############ void FUN_18134af50(longlong param_1,float *param_2) { float *pfVar1; float fVar2; float fVar3; float fVar4; undefined8 uVar5; char cVar6; undefined8 *puVar7; void *_Memory; float *pfVar8; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; pfVar8 = param_2; cVar6 = FUN_1812a0b10(param_2); if (cVar6 == '\0') { pfVar1 = *(float **)(param_1 + 0x38); if (pfVar1 != (float *)0x0) { if ((((*pfVar1 == *pfVar8) && (pfVar1[1] == pfVar8[1])) && (pfVar1[2] == pfVar8[2])) && (((pfVar1[3] == pfVar8[3] && (pfVar1[4] == pfVar8[4])) && (pfVar1[5] == pfVar8[5])))) { return; } FUN_18134bdf0(param_1); pfVar8 = *(float **)(param_1 + 0x38); fVar2 = param_2[1]; fVar3 = param_2[2]; fVar4 = param_2[3]; *pfVar8 = *param_2; pfVar8[1] = fVar2; pfVar8[2] = fVar3; pfVar8[3] = fVar4; *(undefined8 *)(pfVar8 + 4) = *(undefined8 *)(param_2 + 4); FUN_18134bdf0(param_1); goto LAB_18134b0ba; } uStack_c = *(undefined4 *)(param_1 + 0x2c); uStack_10 = *(undefined4 *)(param_1 + 0x28); local_18 = 0; FUN_181342870(param_1,&local_18,1); puVar7 = (undefined8 *)FUN_1811316e0(0x18); uVar5 = *(undefined8 *)(param_2 + 2); *puVar7 = *(undefined8 *)param_2; puVar7[1] = uVar5; puVar7[2] = *(undefined8 *)(param_2 + 4); _Memory = *(void **)(param_1 + 0x38); *(undefined8 **)(param_1 + 0x38) = puVar7; } else { if (*(longlong *)(param_1 + 0x38) == 0) { return; } uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); _Memory = *(void **)(param_1 + 0x38); *(undefined8 *)(param_1 + 0x38) = 0; } if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); LAB_18134b0ba: FUN_181344840(param_1,0,0); return; } ############ FUN_ 1804e8170 size=1051 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804e8170(longlong *param_1,char param_2,undefined8 param_3) { int *piVar1; longlong lVar2; char cVar3; ulonglong *puVar4; longlong *plVar5; longlong *plVar6; longlong lVar7; undefined8 uVar8; longlong lVar9; ulonglong uVar10; int iVar11; undefined8 local_res18 [2]; undefined1 auStack_e8 [32]; undefined4 local_c8; undefined8 local_b8; ulonglong local_b0; longlong local_a8; undefined8 *local_a0; undefined8 local_98; undefined1 local_90 [8]; undefined1 local_88 [8]; longlong local_80; undefined8 local_70; longlong *local_68; undefined1 local_60 [8]; undefined8 *local_58; longlong local_50; longlong local_48; ushort local_40; ulonglong local_38; local_98 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_e8; local_68 = (longlong *)param_1[0x19]; local_res18[0] = param_3; (**(code **)(*local_68 + 0xb8))(local_68,local_60,param_1 + 0x1a); local_58 = (undefined8 *)param_1[0x1b]; if (local_58 != (undefined8 *)0x0) { LOCK(); *(int *)(local_58 + 1) = *(int *)(local_58 + 1) + 1; UNLOCK(); param_3 = local_res18[0]; } local_50 = param_1[0x1c]; iVar11 = (int)param_3 - (int)param_1[0x21]; local_b8 = CONCAT44((int)((ulonglong)param_3 >> 0x20) - (int)((ulonglong)param_1[0x21] >> 0x20), iVar11); lVar9 = param_1[3]; if (lVar9 != 0) { lVar7 = lVar9; for (lVar2 = *(longlong *)(lVar9 + 0x18); lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x18)) { lVar7 = lVar2; } puVar4 = (ulonglong *)FUN_18051e060(local_90,lVar7,local_b8); uVar10 = *puVar4; if (lVar7 == lVar9) { local_b8._0_4_ = (int)uVar10; iVar11 = (int)local_b8; local_b8 = uVar10; local_b0 = uVar10; } else { if (*(longlong *)(lVar9 + 0x18) != lVar7) { puVar4 = (ulonglong *)FUN_180520050(local_88,lVar7); uVar10 = *puVar4; } FUN_18051e060(&local_b0,lVar9,uVar10); local_b8 = local_b0; uVar10 = local_b8; local_b8._0_4_ = (int)local_b0; iVar11 = (int)local_b8; local_b8 = uVar10; } } local_c8 = *(undefined4 *)((longlong)param_1 + 0x2c); FUN_18134bfe0(param_1,iVar11,local_b8 >> 0x20,(int)param_1[5]); plVar5 = (longlong *)FUN_1804e8770(param_1,param_3,&local_50,&local_a8); if (((plVar5 == (longlong *)0x0) || (*(code **)(*plVar5 + 0x30) == FUN_181339d20)) || (cVar3 = (**(code **)(*plVar5 + 0x30))(plVar5), cVar3 != '\0')) { uVar8 = 1; } else { uVar8 = 0; } (**(code **)(*param_1 + 0x58))(param_1,uVar8); lVar9 = param_1[0x20]; if (lVar9 == 0) { lVar7 = 0; } else { lVar7 = *(longlong *)(lVar9 + 0x10); } if (local_a8 != lVar7) { if (lVar9 == 0) { uVar8 = 0; } else { uVar8 = *(undefined8 *)(lVar9 + 0x10); } local_c8 = 0; plVar6 = (longlong *) __RTDynamicCast(uVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::DragAndDropTarget::RTTI_Type_Descriptor); if (plVar6 != (longlong *)0x0) { if (local_58 == (undefined8 *)0x0) { lVar9 = 0; } else { lVar9 = local_58[2]; } if ((lVar9 != 0) && (cVar3 = (**(code **)(*plVar6 + 8))(plVar6,&local_68), cVar3 != '\0')) { (**(code **)(*plVar6 + 0x20))(plVar6,&local_68); } } plVar6 = (longlong *)FUN_1804de690(&local_a0,local_a8); local_80 = param_1[0x20]; param_1[0x20] = *plVar6; *plVar6 = local_80; if (local_a0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_a0 + 1); iVar11 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar11 == 1) { (**(code **)*local_a0)(local_a0,1); } } if ((plVar5 != (longlong *)0x0) && (cVar3 = (**(code **)(*plVar5 + 8))(plVar5,&local_68), cVar3 != '\0')) { (**(code **)(*plVar5 + 0x10))(plVar5,&local_68); } } if (param_1[0x20] == 0) { uVar8 = 0; } else { uVar8 = *(undefined8 *)(param_1[0x20] + 0x10); } local_c8 = 0; plVar5 = (longlong *) __RTDynamicCast(uVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::DragAndDropTarget::RTTI_Type_Descriptor); if (plVar5 != (longlong *)0x0) { cVar3 = (**(code **)(*plVar5 + 8))(plVar5,&local_68); if (cVar3 != '\0') { (**(code **)(*plVar5 + 0x18))(plVar5,&local_68); } } if (param_2 != '\0') { _ftime64_s(&local_48); lVar9 = local_48 * 1000 + (ulonglong)local_40; if (param_1[0x20] == 0) { uVar8 = 0; } else { uVar8 = *(undefined8 *)(param_1[0x20] + 0x10); } local_c8 = 0; lVar7 = __RTDynamicCast(uVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::DragAndDropTarget::RTTI_Type_Descriptor); if (lVar7 == 0) { if ((param_1[0x23] + (longlong)_DAT_1824c4338 < lVar9) && ((char)param_1[0x22] == '\0')) { FUN_1804e8af0(param_1,&local_68,local_res18); } } else { param_1[0x23] = lVar9; } } if (DAT_182673700 == 0) { local_b8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_b8); } local_70 = **(undefined8 **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18); FUN_1804e6e90(local_70,1); if (local_58 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_58 + 1); iVar11 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar11 == 1) { (**(code **)*local_58)(local_58,1); } } (**(code **)(*local_68 + 0xb0))(local_68,local_60); } ############ FUN_ 1804e8af0 size=574 ############ void FUN_1804e8af0(undefined8 *param_1,undefined8 param_2,undefined8 *param_3) { uint uVar1; char cVar2; longlong lVar3; byte *pbVar4; uint *_Memory; bool bVar5; ulonglong local_res20; void *local_d0; undefined8 local_c8; void *local_c0; undefined8 local_b8; undefined1 local_b0; char *local_a8; undefined1 local_a0 [8]; undefined **local_98; void *local_90; undefined4 local_88; undefined4 local_84; undefined1 local_80; undefined ***local_60; undefined8 local_58; undefined **local_50; char *local_48; undefined ***local_18; local_58 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { local_res20 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res20); } lVar3 = FUN_18134b740(DAT_182673700,*param_3); if (lVar3 != 0) { return; } *(undefined1 *)(param_1 + 0x22) = 1; pbVar4 = (byte *)FUN_1812d0cb0(local_a0); if ((*pbVar4 & 0x70) == 0) { return; } local_d0 = (void *)0x0; local_c8 = 0; local_res20 = local_res20 & 0xffffffffffffff00; cVar2 = (**(code **)(*(longlong *)param_1[0x1e] + 8)) ((longlong *)param_1[0x1e],param_2,&local_d0,&local_res20); if ((cVar2 != '\0') && (local_c8._4_4_ != 0)) { local_c0 = (void *)0x0; local_b8 = 0; FUN_18048c4c0(&local_c0,local_d0); local_b0 = (undefined1)local_res20; local_98 = std::_Func_impl_no_alloc<,void>::vftable; local_90 = local_c0; local_c0 = (void *)0x0; local_88 = (undefined4)local_b8; local_84 = local_b8._4_4_; local_b8 = 0; local_80 = (undefined1)local_res20; local_60 = &local_98; FUN_180488c50(&local_c0); /* WARNING: Subroutine does not return */ free(local_c0); } local_a8 = ""; cVar2 = (**(code **)(*(longlong *)param_1[0x1e] + 0x10)) ((longlong *)param_1[0x1e],param_2,&local_a8); if ((cVar2 == '\0') || (*local_a8 == '\0')) { _Memory = (uint *)(local_a8 + -0x10); if ((*_Memory & 0x30000000) != 0) goto LAB_1804e8d1c; LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); } else { if ((*(uint *)(local_a8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a8 + -0x10) = *(int *)(local_a8 + -0x10) + 1; UNLOCK(); } local_50 = std::_Func_impl_no_alloc<,void>::vftable; local_48 = local_a8; local_18 = &local_50; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar5 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar5) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } FUN_1812a7460(&local_50); (**(code **)*param_1)(param_1,1); _Memory = (uint *)(local_a8 + -0x10); if ((*_Memory & 0x30000000) != 0) goto LAB_1804e8d1c; LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); } if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } LAB_1804e8d1c: FUN_180488c50(&local_d0); /* WARNING: Subroutine does not return */ free(local_d0); } ############ FUN_ 1804e85b0 size=342 ############ void FUN_1804e85b0(longlong param_1) { longlong *plVar1; bool bVar2; undefined8 uVar3; longlong lVar4; undefined8 *puVar5; longlong *plVar6; longlong lVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } FUN_1804e6e90(**(undefined8 **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18),1); lVar7 = 0; lVar4 = lVar7; if (*(longlong *)(param_1 + 0x28) != 0) { lVar4 = *(longlong *)(*(longlong *)(param_1 + 0x28) + 0x10); } if (lVar4 == 0) { if ((undefined8 *)(param_1 + -0xb0) != (undefined8 *)0x0) { puVar5 = *(undefined8 **)(param_1 + -0xb0); LAB_1804e86ef: (*(code *)*puVar5)(param_1 + -0xb0,1); } } else { if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } plVar6 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar6 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); if (plVar6 != plVar1) { puVar5 = (undefined8 *)(param_1 + -0xb0); do { lVar4 = *plVar6; if ((*(int *)(lVar4 + 0x14) != *(int *)(param_1 + 0x74)) || (bVar2 = true, *(int *)(lVar4 + 0x10) != *(int *)(param_1 + 0x70))) { bVar2 = false; } if ((bVar2) && ((*(byte *)(lVar4 + 0x28) & 0x70) == 0)) { lVar4 = *(longlong *)(param_1 + 0x48); if ((lVar4 != 0) && (*(longlong *)(lVar4 + 0x10) != 0)) { if (lVar4 != 0) { lVar7 = *(longlong *)(lVar4 + 0x10); } FUN_181341510(lVar7,puVar5,plVar1,*(int *)(param_1 + 0x74),uVar8); } if (puVar5 == (undefined8 *)0x0) { return; } puVar5 = (undefined8 *)*puVar5; goto LAB_1804e86ef; } plVar6 = plVar6 + 1; } while (plVar6 != plVar1); } } return; } ############ FUN_ 181336e60 size=161 ############ void FUN_181336e60(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; undefined1 uVar3; undefined8 uVar4; longlong lVar5; longlong *plVar6; undefined1 uVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } plVar6 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar6 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); do { if (plVar6 == plVar1) { uVar7 = 0; LAB_181336ede: uVar3 = FUN_18133e590(param_1,1,plVar1,param_4,uVar8); FUN_181336db0(param_1,uVar3,uVar7); return; } lVar2 = *(longlong *)(*plVar6 + 0x48); lVar5 = 0; if (lVar2 != 0) { lVar5 = *(longlong *)(lVar2 + 0x10); } if ((lVar5 == param_1) && ((*(byte *)(*plVar6 + 0x28) & 0x70) != 0)) { uVar7 = 1; goto LAB_181336ede; } plVar6 = plVar6 + 1; } while( true ); } ############ FUN_ 18133e590 size=754 ############ undefined8 FUN_18133e590(longlong param_1,char param_2) { longlong *plVar1; float fVar2; float fVar3; float fVar4; longlong lVar5; longlong lVar6; float fVar7; double dVar8; undefined8 uVar9; char cVar10; float *pfVar11; undefined8 *puVar12; longlong lVar13; longlong lVar14; undefined8 uVar15; longlong *plVar16; undefined8 local_res18; double local_res20; float local_c0; float local_bc; undefined4 local_b8; undefined4 uStack_b4; undefined8 local_b0; double local_a8; undefined8 local_a0; undefined8 local_98; undefined1 local_90 [8]; undefined1 local_88 [8]; undefined1 local_80 [72]; local_98 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { local_res18 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res18); } dVar8 = DAT_1824c4520; fVar7 = DAT_1824c3ea4; plVar16 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar16 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); do { if (plVar16 == plVar1) { return 0; } lVar13 = *plVar16; if (*(longlong *)(lVar13 + 0x48) == 0) { lVar14 = 0; } else { lVar14 = *(longlong *)(*(longlong *)(lVar13 + 0x48) + 0x10); } if (lVar14 == param_1) { LAB_18133e676: if (((*(byte *)(lVar13 + 0x28) & 0x70) != 0) || ((*(int *)(lVar13 + 0x14) != 1 && (*(int *)(lVar13 + 0x14) != 2)))) { pfVar11 = (float *)FUN_1804e5a90(lVar13,local_90); fVar2 = *pfVar11; fVar3 = pfVar11[1]; uVar9 = *(undefined8 *)pfVar11; if (DAT_182673700 == 0) { local_res20 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res20); } fVar4 = *(float *)(DAT_182673700 + 0xc0); if (fVar4 == fVar7) { local_b0 = uVar9; pfVar11 = (float *)&local_b0; } else { local_c0 = fVar2 / fVar4; local_bc = fVar3 / fVar4; pfVar11 = &local_c0; } local_res20 = *(double *)pfVar11; uVar9 = *(undefined8 *)pfVar11; if (lVar14 != 0) { lVar5 = *(longlong *)(lVar14 + 0x18); lVar13 = lVar14; while (lVar6 = lVar5, lVar6 != 0) { lVar13 = lVar6; lVar5 = *(longlong *)(lVar6 + 0x18); } puVar12 = (undefined8 *)FUN_1805200f0(local_88,lVar13,*(undefined8 *)pfVar11); uVar15 = *puVar12; uVar9 = *puVar12; if (lVar13 != lVar14) { local_res20 = (double)uVar15; if (*(longlong *)(lVar14 + 0x18) != lVar13) { puVar12 = (undefined8 *) FUN_1805200a0(local_80,lVar13,*(longlong *)(lVar14 + 0x18),uVar15); uVar15 = *puVar12; } FUN_1805200f0(&local_res18,lVar14,uVar15); uVar9 = local_res18; } } local_res18 = uVar9; local_a8 = (double)local_res18._4_4_ + dVar8; local_res20 = (double)(float)local_res18 + dVar8; local_b8 = local_res20._0_4_; uStack_b4 = local_a8._0_4_; uVar9 = CONCAT44(local_a8._0_4_,local_res20._0_4_); cVar10 = FUN_181343fe0(lVar14,uVar9); if (cVar10 != '\0') { lVar5 = *(longlong *)(lVar14 + 0x18); lVar13 = lVar14; while (lVar6 = lVar5, lVar6 != 0) { lVar13 = lVar6; lVar5 = *(longlong *)(lVar6 + 0x18); } FUN_18051db10(&local_a0,lVar13,lVar14,uVar9); lVar13 = FUN_181343e50(lVar13,local_a0); if (lVar13 == lVar14) { return 1; } } } } else { lVar5 = lVar14; if (param_2 != '\0') { do { if (lVar5 == 0) goto LAB_18133e840; lVar5 = *(longlong *)(lVar5 + 0x18); } while (lVar5 != param_1); goto LAB_18133e676; } } LAB_18133e840: plVar16 = plVar16 + 1; } while( true ); } ############ FUN_ 1804e9bf0 size=1518 ############ longlong FUN_1804e9bf0(longlong *param_1,longlong *param_2) { longlong lVar1; bool bVar2; bool bVar3; char cVar4; int iVar5; uint uVar6; longlong lVar7; longlong *plVar8; undefined8 uVar9; uint *puVar10; uint *_Memory; undefined8 *puVar11; undefined4 uVar12; undefined4 extraout_XMM0_Da; undefined4 extraout_XMM0_Da_00; float fVar13; float fVar14; undefined8 local_res8; undefined8 local_res10; undefined8 local_res18; longlong local_res20; longlong local_168; longlong local_160; longlong lStack_158; undefined8 local_150; undefined8 uStack_148; longlong local_140; longlong lStack_138; longlong local_130; longlong local_128; longlong local_118; longlong local_110; longlong local_108; longlong local_100; undefined8 local_f8; float local_f0; float local_ec; undefined4 local_e8; undefined4 local_e4; undefined4 local_e0; undefined4 local_dc; longlong local_d8; longlong local_d0 [3]; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; undefined8 local_98; undefined1 local_90 [24]; undefined1 local_78 [56]; local_b8 = 0xfffffffffffffffe; local_res8 = FUN_1811316e0(0xf0); lVar7 = FUN_1813327c0(local_res8); FUN_1804eb420(lVar7,param_2); local_168 = *param_1; bVar2 = true; if ((*(uint *)(local_168 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_168 + -0x10) = *(int *)(local_168 + -0x10) + 1; UNLOCK(); } local_160 = param_1[1]; lStack_158 = param_1[2]; local_150 = param_1[3]; uStack_148 = param_1[4]; local_140 = param_1[5]; lStack_138 = param_1[6]; local_130 = param_1[7]; local_128 = param_1[8]; if ((*(uint *)(local_128 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_128 + -0x10) = *(int *)(local_128 + -0x10) + 1; UNLOCK(); } for (puVar11 = *(undefined8 **)(*param_2 + 0x10); puVar11 != (undefined8 *)0x0; puVar11 = (undefined8 *)*puVar11) { local_b0 = puVar11[1]; iVar5 = FUN_18048cbc0(local_b0,"transform"); if (iVar5 == 0) goto LAB_1804e9ce2; } puVar11 = (undefined8 *)0x0; LAB_1804e9ce2: if (puVar11 != (undefined8 *)0x0) { FUN_1804f0910(&local_168,param_2); } uVar12 = FUN_1812339a0(&local_110,SUB84((double)(float)local_150,0),0,0); local_118 = local_110; for (puVar11 = *(undefined8 **)(*param_2 + 0x10); local_110 = local_118, puVar11 != (undefined8 *)0x0; puVar11 = (undefined8 *)*puVar11) { local_a8 = puVar11[1]; iVar5 = FUN_18048cbc0(local_a8,"width"); uVar12 = extraout_XMM0_Da; if (iVar5 == 0) { local_118 = puVar11[2]; puVar10 = (uint *)(local_118 + -0x10); uVar6 = *puVar10; goto LAB_1804e9d52; } local_118 = local_110; } puVar10 = (uint *)(local_118 + -0x10); uVar6 = *puVar10; LAB_1804e9d52: if ((uVar6 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } uVar12 = FUN_1804f0b80(uVar12,&local_118,(int)param_1[4]); local_150 = CONCAT44(local_150._4_4_,uVar12); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_110 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar12 = FUN_1812339a0(&local_100,SUB84((double)local_150._4_4_,0),0,0); local_108 = local_100; for (puVar11 = *(undefined8 **)(*param_2 + 0x10); local_100 = local_108, puVar11 != (undefined8 *)0x0; puVar11 = (undefined8 *)*puVar11) { local_a0 = puVar11[1]; iVar5 = FUN_18048cbc0(local_a0,"height"); uVar12 = extraout_XMM0_Da_00; if (iVar5 == 0) { local_108 = puVar11[2]; puVar10 = (uint *)(local_108 + -0x10); uVar6 = *puVar10; goto LAB_1804e9e13; } local_108 = local_100; } puVar10 = (uint *)(local_108 + -0x10); uVar6 = *puVar10; LAB_1804e9e13: if ((uVar6 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } fVar13 = (float)FUN_1804f0b80(uVar12,&local_108,*(undefined4 *)((longlong)param_1 + 0x24)); local_150._4_4_ = fVar13; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_100 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if ((float)local_150 <= 0.0) { local_150._0_4_ = DAT_1824c44dc; } if (fVar13 <= 0.0) { local_150._4_4_ = DAT_1824c44dc; } local_res18 = 0; lVar1 = *param_2; fVar13 = (float)local_150; fVar14 = local_150._4_4_; for (puVar11 = *(undefined8 **)(lVar1 + 0x10); puVar11 != (undefined8 *)0x0; puVar11 = (undefined8 *)*puVar11) { local_98 = puVar11[1]; iVar5 = FUN_18048cbc0(local_98,"viewBox"); if (iVar5 == 0) goto LAB_1804e9ef2; } puVar11 = (undefined8 *)0x0; LAB_1804e9ef2: if (puVar11 == (undefined8 *)0x0) { if (*(float *)(param_1 + 4) == 0.0) { uStack_148 = CONCAT44(uStack_148._4_4_,fVar13); } if (*(float *)((longlong)param_1 + 0x24) == 0.0) { uStack_148 = CONCAT44(fVar14,(undefined4)uStack_148); } } else { plVar8 = (longlong *)FUN_181246db0(lVar1,"viewBox"); local_res20 = *plVar8; puVar10 = (uint *)(local_res20 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } local_res10 = 0; local_d8 = local_res20; cVar4 = FUN_1804f0ad0(param_1,&local_res20,&local_res18,1,1); if ((cVar4 == '\0') || (cVar4 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_res18 + 4,1,0), cVar4 == '\0')) { bVar3 = false; } else { bVar3 = true; } if (bVar3) { cVar4 = FUN_1804f0ad0(param_1,&local_res20,&local_res10,1,1); if ((cVar4 == '\0') || (cVar4 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_res10 + 4,1,0), cVar4 == '\0') ) { bVar2 = false; } if (((bVar2) && (0.0 < (float)local_res10)) && (0.0 < local_res10._4_4_)) { uStack_148 = local_res10; uVar9 = FUN_181246db0(*param_2,"preserveAspectRatio"); uVar9 = FUN_181248e40(uVar9,local_d0); iVar5 = FUN_1804f1750(uVar9); _Memory = (uint *)(local_d0[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar6 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (iVar5 != 0) { local_f8 = 0; local_f0 = (float)local_150; local_ec = local_150._4_4_; local_e8 = (undefined4)local_res18; local_e4 = local_res18._4_4_; local_e0 = (float)local_res10; local_dc = local_res10._4_4_; local_res8 = CONCAT44(local_res8._4_4_,iVar5); uVar9 = FUN_1812971a0(&local_res8,local_90,&local_e8,&local_f8); plVar8 = (longlong *)FUN_1812a0a40(uVar9,local_78,&local_140); local_140 = *plVar8; lStack_138 = plVar8[1]; local_130 = plVar8[2]; } } } if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } FUN_1804eb590(&local_168,param_2,lVar7,1); *(undefined4 *)(lVar7 + 0xd8) = (undefined4)local_res18; *(undefined4 *)(lVar7 + 0xdc) = local_res18._4_4_; *(undefined4 *)(lVar7 + 0xe0) = (undefined4)uStack_148; *(undefined4 *)(lVar7 + 0xe4) = uStack_148._4_4_; FUN_181331c50(lVar7); FUN_1804f34a0(&local_168); return lVar7; } ############ FUN_ 1804ebe50 size=439 ############ longlong * FUN_1804ebe50(longlong *param_1,longlong *param_2,char param_3) { uint uVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; int iVar5; longlong *plVar6; undefined8 uVar7; undefined4 *puVar8; uint *puVar9; undefined8 *puVar10; undefined1 local_70 [24]; longlong local_58; longlong local_50; longlong lStack_48; longlong local_40; longlong lStack_38; undefined4 local_30; undefined4 uStack_2c; undefined4 uStack_28; undefined4 uStack_24; longlong local_20; longlong local_18; if (param_3 != '\0') { for (puVar10 = *(undefined8 **)(*param_2 + 0x10); puVar10 != (undefined8 *)0x0; puVar10 = (undefined8 *)*puVar10) { iVar5 = FUN_18048cbc0(puVar10[1],"transform"); if (iVar5 == 0) goto LAB_1804ebeb6; } puVar10 = (undefined8 *)0x0; LAB_1804ebeb6: if (puVar10 != (undefined8 *)0x0) { local_58 = *param_1; if ((*(uint *)(local_58 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_58 + -0x10) = *(int *)(local_58 + -0x10) + 1; UNLOCK(); } local_50 = param_1[1]; lStack_48 = param_1[2]; local_40 = param_1[3]; lStack_38 = param_1[4]; local_30 = (undefined4)param_1[5]; uStack_2c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_28 = (undefined4)param_1[6]; uStack_24 = *(undefined4 *)((longlong)param_1 + 0x34); local_20 = param_1[7]; local_18 = param_1[8]; if ((*(uint *)(local_18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_18 + -0x10) = *(int *)(local_18 + -0x10) + 1; UNLOCK(); } FUN_1804f0910(&local_58,param_2); plVar6 = (longlong *)FUN_1804ebe50(&local_58,param_2,0); puVar9 = (uint *)(local_18 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_58 + -0x10); if ((*puVar9 & 0x30000000) != 0) { return plVar6; } LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 != 0) { return plVar6; } /* WARNING: Subroutine does not return */ free(puVar9); } } uVar7 = FUN_1811316e0(0xf0); plVar6 = (longlong *)FUN_1813327c0(uVar7); FUN_1804eb420(plVar6,param_2); FUN_1804eb590(param_1,param_2,plVar6,1); puVar8 = (undefined4 *)(**(code **)(*plVar6 + 0x168))(plVar6,local_70); uVar2 = puVar8[1]; uVar3 = puVar8[2]; uVar4 = puVar8[3]; *(undefined4 *)(plVar6 + 0x1b) = *puVar8; *(undefined4 *)((longlong)plVar6 + 0xdc) = uVar2; *(undefined4 *)(plVar6 + 0x1c) = uVar3; *(undefined4 *)((longlong)plVar6 + 0xe4) = uVar4; FUN_181331c50(plVar6); return plVar6; } ############ FUN_ 1804ed050 size=1890 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_1804ed050(longlong *param_1,longlong *param_2,undefined8 *param_3,char param_4,char *param_5) { int *piVar1; uint uVar2; longlong lVar3; undefined4 uVar4; undefined4 uVar5; undefined4 uVar6; bool bVar7; char cVar8; int iVar9; undefined8 *puVar10; undefined8 uVar11; undefined8 uVar12; undefined8 uVar13; uint *puVar14; undefined8 *puVar15; undefined1 *local_1e8; undefined1 *local_1e0; undefined1 *local_1d8; undefined1 *local_1d0; undefined1 *local_1c8; undefined1 *local_1c0; char *local_1b8; undefined8 *local_1b0; undefined8 local_1a8; undefined4 uStack_1a0; undefined4 uStack_19c; longlong local_198; longlong local_190; longlong local_188; int local_180 [2]; undefined8 local_178; undefined8 uStack_170; undefined8 local_168; undefined8 uStack_160; undefined4 local_158; undefined4 uStack_154; int local_150; undefined8 local_14c; undefined8 uStack_144; undefined8 local_13c; undefined8 *local_130; undefined8 local_128; longlong local_118; longlong local_110; longlong lStack_108; longlong local_100; longlong lStack_f8; undefined4 local_f0; undefined4 uStack_ec; undefined4 uStack_e8; undefined4 uStack_e4; longlong local_e0; longlong local_d8; undefined8 local_c8; undefined8 local_c0; undefined4 local_b8; undefined4 uStack_b4; undefined4 uStack_b0; undefined4 uStack_ac; undefined1 local_a8 [16]; undefined1 local_98 [8]; longlong local_90; undefined8 *local_88; undefined1 local_68 [64]; local_c8 = 0xfffffffffffffffe; if (param_4 != '\0') { for (puVar10 = *(undefined8 **)(*param_2 + 0x10); puVar15 = (undefined8 *)0x0, puVar10 != (undefined8 *)0x0; puVar10 = (undefined8 *)*puVar10) { local_c0 = puVar10[1]; iVar9 = FUN_18048cbc0(local_c0,"transform"); puVar15 = puVar10; if (iVar9 == 0) break; } if (puVar15 != (undefined8 *)0x0) { local_118 = *param_1; if ((*(uint *)(local_118 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_118 + -0x10) = *(int *)(local_118 + -0x10) + 1; UNLOCK(); } local_110 = param_1[1]; lStack_108 = param_1[2]; local_100 = param_1[3]; lStack_f8 = param_1[4]; local_f0 = (undefined4)param_1[5]; uStack_ec = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_e8 = (undefined4)param_1[6]; uStack_e4 = *(undefined4 *)((longlong)param_1 + 0x34); local_e0 = param_1[7]; local_d8 = param_1[8]; if ((*(uint *)(local_d8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d8 + -0x10) = *(int *)(local_d8 + -0x10) + 1; UNLOCK(); } FUN_1804f0910(&local_118,param_2); puVar10 = (undefined8 *)FUN_1804ed050(&local_118,param_2,param_3,0,0); puVar14 = (uint *)(local_d8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_118 + -0x10); if ((*puVar14 & 0x30000000) != 0) { return puVar10; } LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 != 0) { return puVar10; } /* WARNING: Subroutine does not return */ free(puVar14); } } puVar10 = (undefined8 *)FUN_1811316e0(400); local_1b0 = puVar10; FUN_181330640(puVar10); *puVar10 = juce::DrawablePath::vftable; FUN_1804eb420(puVar10,param_2); uVar13 = _UNK_1824c4788; uVar12 = _DAT_1824c4780; local_180[0] = DAT_182673b60; local_178 = 0; uStack_170 = 0; local_168 = _DAT_1824c4780; uStack_160 = _UNK_1824c4788; local_158 = DAT_1824c3ea4; uStack_154 = 0; piVar1 = (int *)(puVar10 + 0x26); iVar9 = DAT_182673b60; if ((((*piVar1 != DAT_182673b60) || (puVar10[0x28] != 0)) || (cVar8 = FUN_1812a0bf0(puVar10 + 0x29,&local_168), cVar8 == '\0')) || (bVar7 = true, puVar10[0x27] != 0)) { bVar7 = false; } if (!bVar7) { if (piVar1 != local_180) { *piVar1 = iVar9; uVar11 = FUN_1804b0230(0); lVar3 = puVar10[0x27]; puVar10[0x27] = uVar11; if (lVar3 != 0) { *(undefined4 *)(lVar3 + 0x24) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(lVar3 + 0x18)); } FUN_1812911c0(puVar10 + 0x28,&uStack_170); puVar10[0x29] = uVar12; puVar10[0x2a] = uVar13; puVar10[0x2b] = CONCAT44(uStack_154,local_158); } uStack_19c = *(undefined4 *)((longlong)puVar10 + 0x2c); uStack_1a0 = *(undefined4 *)(puVar10 + 5); local_1a8 = 0; local_b8 = 0; uStack_b4 = 0; uStack_b0 = uStack_1a0; uStack_ac = uStack_19c; FUN_181342870(puVar10,&local_b8,1); } FUN_18129b680(param_3,param_1 + 5); if (puVar10 + 0x1c != param_3) { FUN_1804aaf40(puVar10 + 0x1c,param_3); uVar4 = *(undefined4 *)((longlong)param_3 + 0x14); uVar5 = *(undefined4 *)(param_3 + 3); uVar6 = *(undefined4 *)((longlong)param_3 + 0x1c); *(undefined4 *)(puVar10 + 0x1e) = *(undefined4 *)(param_3 + 2); *(undefined4 *)((longlong)puVar10 + 0xf4) = uVar4; *(undefined4 *)(puVar10 + 0x1f) = uVar5; *(undefined4 *)((longlong)puVar10 + 0xfc) = uVar6; *(undefined1 *)(puVar10 + 0x20) = *(undefined1 *)(param_3 + 4); } FUN_181330000(puVar10); local_150 = 0; local_14c = 0; uStack_144 = 0; local_13c = 0; local_128 = *param_3; local_130 = param_3; cVar8 = FUN_181299d60(&local_150); while ((iVar9 = DAT_182673b60, cVar8 != '\0' && (iVar9 = DAT_18262b5b8, local_150 != 4))) { cVar8 = FUN_181299d60(&local_150); } local_1e0 = &DAT_1821dbf98; uVar12 = FUN_1804f1300(param_1,&local_190,param_2,"opacity",&local_1e0); local_1e8 = &DAT_1821dbf98; uVar13 = FUN_1804f1300(param_1,&local_198,param_2,"fill-opacity",&local_1e8); uVar12 = FUN_1804eebf0(param_1,local_98,param_3,param_2,&DAT_18249f004,uVar13,uVar12,iVar9); FUN_181330430(puVar10,uVar12); if (local_88 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_88 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_88)(local_88,1); } } if (local_90 == 0) { puVar14 = (uint *)(local_198 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_1e8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_190 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_1e0 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } local_1d8 = &DAT_1821dbf98; FUN_1804f1300(param_1,&local_1b8,param_2,"stroke",&local_1d8); puVar14 = (uint *)(local_1d8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if ((*local_1b8 != '\0') && (iVar9 = FUN_18049bb30(local_1b8,&DAT_18249ef08), iVar9 != 0)) { local_1c8 = &DAT_1821dbf98; uVar12 = FUN_1804f1300(param_1,&local_1b0,param_2,"opacity",&local_1c8); local_1d0 = &DAT_1821dbf98; uVar13 = FUN_1804f1300(param_1,&local_188,param_2,"stroke-opacity",&local_1d0); uVar12 = FUN_1804eebf0(param_1,local_68,param_3,param_2,"stroke",uVar13,uVar12,DAT_182673b60); cVar8 = FUN_1812a0d20(puVar10 + 0x2c,uVar12); if (cVar8 != '\0') { FUN_1812a0f40(puVar10 + 0x2c,uVar12); FUN_18134bdf0(puVar10); } FUN_1812a0e00(local_68); puVar14 = (uint *)(local_188 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_1d0 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_1b0 + -2); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_1c8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } uVar12 = FUN_1804eef10(param_1,local_a8,param_2); FUN_181330370(puVar10,uVar12); } local_1c0 = &DAT_1821dbf98; FUN_1804f1300(param_1,¶m_5,param_2,"stroke-dasharray",&local_1c0); puVar14 = (uint *)(local_1c0 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if (*param_5 != '\0') { FUN_1804ed7e0(param_1,¶m_5,puVar10); } puVar14 = (uint *)(param_5 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_1b8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } return puVar10; } *(undefined4 *)(local_90 + 0x24) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(local_90 + 0x18)); } ############ FUN_ 1804ef190 size=2390 ############ undefined8 FUN_1804ef190(longlong *param_1,longlong *param_2,char param_3,longlong param_4) { int *piVar1; uint uVar2; longlong lVar3; longlong *plVar4; float fVar5; char cVar6; int iVar7; undefined8 uVar8; undefined8 uVar9; longlong lVar10; longlong *plVar11; undefined8 *puVar12; longlong *plVar13; uint *puVar14; float *pfVar15; undefined1 uVar16; undefined8 *puVar17; float fVar18; undefined4 uVar19; double dVar20; double dVar21; float fVar22; float fVar23; float fVar24; float fVar25; float fVar26; undefined4 local_res18; undefined8 in_stack_fffffffffffffd98; ulonglong uVar27; longlong *local_258; longlong local_250; undefined8 local_248; char *local_240; float *local_238; undefined8 local_230; float *local_228; undefined8 local_220; undefined1 *local_218; longlong local_210; longlong local_208; void *local_200; undefined8 local_1f8; undefined8 local_1f0; undefined8 local_1e8; undefined8 local_1e0; float local_1d8; undefined4 local_1d4; undefined4 local_1d0; float local_1cc; undefined1 local_1c8 [8]; longlong local_1c0; longlong local_1b8; longlong local_1b0; longlong local_1a8; undefined8 local_1a0; double local_198; longlong local_190; longlong *local_188; undefined8 *local_180; undefined8 local_178; float local_170; float fStack_16c; float fStack_168; float fStack_164; undefined8 local_160; longlong *local_158; longlong *local_150; longlong local_148; longlong local_140; longlong lStack_138; longlong local_130; longlong lStack_128; undefined4 local_120; undefined4 uStack_11c; undefined4 uStack_118; undefined4 uStack_114; longlong local_110; longlong local_108; undefined8 local_f8; undefined8 local_f0; undefined8 local_e8; float local_d8; float fStack_d4; float fStack_d0; float fStack_cc; undefined8 local_c8; undefined1 local_b8 [128]; local_f8 = 0xfffffffffffffffe; if (param_3 != '\0') { for (puVar12 = *(undefined8 **)(*param_2 + 0x10); puVar17 = (undefined8 *)0x0, puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) { local_f0 = puVar12[1]; iVar7 = FUN_18048cbc0(local_f0,"transform"); puVar17 = puVar12; if (iVar7 == 0) break; } if (puVar17 != (undefined8 *)0x0) { local_148 = *param_1; if ((*(uint *)(local_148 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_148 + -0x10) = *(int *)(local_148 + -0x10) + 1; UNLOCK(); } local_140 = param_1[1]; lStack_138 = param_1[2]; local_130 = param_1[3]; lStack_128 = param_1[4]; local_120 = (undefined4)param_1[5]; uStack_11c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_118 = (undefined4)param_1[6]; uStack_114 = *(undefined4 *)((longlong)param_1 + 0x34); local_110 = param_1[7]; local_108 = param_1[8]; if ((*(uint *)(local_108 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_108 + -0x10) = *(int *)(local_108 + -0x10) + 1; UNLOCK(); } FUN_1804f0910(&local_148,param_2); uVar8 = FUN_1804ef190(&local_148,param_2,0,param_4); puVar14 = (uint *)(local_108 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_148 + -0x10); if ((*puVar14 & 0x30000000) != 0) { return uVar8; } LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 != 0) { return uVar8; } /* WARNING: Subroutine does not return */ free(puVar14); } } iVar7 = FUN_18049bb30(*(undefined8 *)(*param_2 + 0x18),&DAT_18249ef3c); if (iVar7 == 0) { lVar3 = *param_2; dVar20 = (double)FUN_181246d40(lVar3,&DAT_18249efb8,0); dVar21 = (double)FUN_181246d40(lVar3,&DAT_18249efb4,0); local_1d8 = (float)dVar21; local_1e0 = 0x3f800000; local_1d4 = 0; local_1d0 = 0x3f800000; local_180 = &local_1e0; local_178 = 0; local_1cc = (float)dVar20; local_188 = param_1; FUN_1804ecd50(&local_240,param_2); if (*local_240 != '\0') { FUN_18051f620(param_1 + 1,&local_240,&local_188); } puVar14 = (uint *)(local_240 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } } else { iVar7 = FUN_18049bb30(*(undefined8 *)(*param_2 + 0x18),&DAT_18249ef20); if ((iVar7 == 0) || (cVar6 = FUN_181220e10(*param_2,"tspan"), cVar6 != '\0')) { local_228 = (float *)0x0; local_220 = 0; local_238 = (float *)0x0; local_230 = 0; local_1f0 = 0; local_1e8 = 0; local_200 = (void *)0x0; local_1f8 = 0; uVar8 = FUN_1804f1690(param_1,&local_1c0,param_2,&DAT_18249efb4); uVar27 = CONCAT71((int7)((ulonglong)in_stack_fffffffffffffd98 >> 8),1); FUN_1804f0cc0(param_1,&local_228,uVar8); puVar14 = (uint *)(local_1c0 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } uVar8 = FUN_1804f1690(param_1,&local_1b8,param_2,&DAT_18249efb8,uVar27); uVar27 = uVar27 & 0xffffffffffffff00; FUN_1804f0cc0(param_1,&local_238,uVar8); puVar14 = (uint *)(local_1b8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } uVar8 = FUN_1804f1690(param_1,&local_1b0,param_2,&DAT_18249f134,uVar27); uVar9 = 1; FUN_1804f0cc0(param_1,&local_1f0,uVar8); puVar14 = (uint *)(local_1b0 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } uVar8 = FUN_1804f1690(param_1,&local_1a8,param_2,&DAT_18249f130,uVar9); FUN_1804f0cc0(param_1,&local_200,uVar8); puVar14 = (uint *)(local_1a8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } FUN_1804efb20(param_1,&local_258,param_2); local_218 = &DAT_1821dbf98; FUN_1804f1300(param_1,&local_208,param_2,"text-anchor",&local_218); puVar14 = (uint *)(local_218 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } local_248 = FUN_1811316e0(0xf0); uVar8 = FUN_1813327c0(local_248); local_248 = uVar8; FUN_1804eb420(uVar8,param_2); dVar20 = DAT_1824c4520; fVar5 = DAT_1824c3d8c; for (plVar4 = *(longlong **)(*param_2 + 8); plVar4 != (longlong *)0x0; plVar4 = (longlong *)*plVar4) { if (*(char *)plVar4[3] == '\0') { uVar9 = FUN_181220890(); FUN_181248e40(uVar9,&local_250); local_e8 = FUN_1811316e0(0x100); lVar10 = FUN_18132fad0(local_e8); FUN_18134bf20(uVar8,lVar10,0xffffffff); lVar3 = local_250; if (*(longlong *)(lVar10 + 0xf0) == local_250) { iVar7 = 0; } else { iVar7 = FUN_18048cbc0(*(undefined8 *)(lVar10 + 0xf0),local_250); } if (iVar7 != 0) { if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(lVar3 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar3 = *(longlong *)(lVar10 + 0xf0); *(longlong *)(lVar10 + 0xf0) = local_250; UNLOCK(); puVar14 = (uint *)(lVar3 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } FUN_18132f430(lVar10); } FUN_18132f6a0(lVar10,&local_258); if (param_4 == 0) { plVar11 = param_1 + 5; } else { plVar11 = (longlong *)FUN_1812a0a40(param_1 + 5,local_b8,param_4); } FUN_18134af50(lVar10,plVar11); FUN_18049c4e0(&local_210,&DAT_18249f074); plVar11 = &local_210; puVar12 = (undefined8 *)FUN_1804f1300(param_1,&local_190,param_2,"fill-opacity",plVar11); uVar19 = (undefined4)((ulonglong)plVar11 >> 0x20); local_1a0 = *puVar12; dVar21 = (double)FUN_18049bd80(&local_1a0); puVar14 = (uint *)FUN_1804f2100(param_1,local_1c8,param_2,&DAT_18249f004, CONCAT44(uVar19,DAT_18262b5b8)); local_198 = (double)((float)(*puVar14 >> 0x18) * (float)dVar21) + dVar20; uVar16 = 0xff; if (SUB84(local_198,0) < 0xff) { uVar16 = SUB81(local_198,0); } local_res18 = CONCAT13(uVar16,(int3)*puVar14); FUN_18132f710(lVar10,local_res18); puVar14 = (uint *)(local_190 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_210 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } fVar26 = *(float *)(local_258 + 5); plVar11 = (longlong *)FUN_181252280(&local_258); fVar18 = (float)(**(code **)(*plVar11 + 0x28))(plVar11,&local_250); fVar25 = *(float *)(local_258 + 6); plVar11 = local_258; if (fVar25 != 0.0) { iVar7 = FUN_180493130(&local_250); fVar18 = fVar18 + (float)iVar7 * fVar25; } fVar25 = fVar18 * *(float *)(plVar11 + 5) * *(float *)((longlong)plVar11 + 0x2c); if (local_230._4_4_ == 0) { fVar18 = 0.0; } else { fVar18 = *local_238; } if (*(float *)((longlong)plVar11 + 0x34) == 0.0) { plVar13 = (longlong *)FUN_181252280(&local_258); plVar11 = local_258; uVar19 = (**(code **)(*plVar13 + 0x10))(plVar13); *(undefined4 *)((longlong)plVar11 + 0x34) = uVar19; plVar11 = local_258; } lVar3 = local_208; if (local_220._4_4_ == 0) { fVar22 = 0.0; } else { fVar22 = *local_228; } fVar18 = fVar18 - *(float *)((longlong)plVar11 + 0x34) * *(float *)(plVar11 + 5); iVar7 = FUN_18048cbc0(local_208,"middle"); if (iVar7 == 0) { fVar22 = fVar22 - fVar25 * fVar5; } else { iVar7 = FUN_18048cbc0(lVar3,&DAT_18249f15c); if (iVar7 == 0) { fVar22 = fVar22 - fVar25; } } fVar25 = fVar22 + fVar25; fVar26 = fVar26 + fVar18; local_160 = CONCAT44(fVar26,fVar22); pfVar15 = (float *)(lVar10 + 0xc0); fVar23 = fVar18; fVar24 = fVar22; local_170 = fVar22; fStack_16c = fVar18; fStack_168 = fVar25; fStack_164 = fVar18; local_d8 = fVar22; fStack_d4 = fVar18; fStack_d0 = fVar25; fStack_cc = fVar18; local_c8 = local_160; cVar6 = FUN_18051b310(pfVar15,&local_d8); if (cVar6 != '\0') { *pfVar15 = fVar22; pfVar15[1] = fVar18; pfVar15[2] = fVar25; pfVar15[3] = fVar23; *(ulonglong *)(pfVar15 + 4) = CONCAT44(fVar26,fVar24); FUN_18132f430(lVar10); } puVar14 = (uint *)(local_250 + -0x10); uVar8 = local_248; if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } } else { cVar6 = FUN_181220e10(plVar4,"tspan"); if (cVar6 != '\0') { local_158 = plVar4; local_150 = param_2; uVar9 = FUN_1804ef190(param_1,&local_158,1,0); FUN_18134bf20(uVar8,uVar9,0xffffffff); } } } puVar14 = (uint *)(local_208 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if (local_258 != (longlong *)0x0) { LOCK(); plVar4 = local_258 + 1; lVar3 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)*local_258)(local_258,1); } } /* WARNING: Subroutine does not return */ free(local_200); } local_178 = 0; } return local_178; } ############ FUN_ 1804eff90 size=2413 ############ /* WARNING: Removing unreachable block (ram,0x0001804f0880) */ /* WARNING: Removing unreachable block (ram,0x0001804f0891) */ /* WARNING: Removing unreachable block (ram,0x0001804f0899) */ undefined8 * FUN_1804eff90(longlong *param_1,longlong *param_2,char param_3,longlong param_4) { int *piVar1; byte bVar2; byte bVar3; double dVar4; double dVar5; double dVar6; double dVar7; byte bVar8; char cVar9; int iVar10; int iVar11; int iVar12; uint uVar13; undefined4 uVar14; undefined8 *puVar15; longlong *plVar16; undefined8 uVar17; uint *puVar18; byte *pbVar19; undefined8 *puVar20; undefined1 *puVar21; undefined8 *puVar22; longlong lVar23; int iVar24; undefined8 *local_278; byte *local_270; byte *local_268; longlong local_260; undefined8 *local_258; char *local_250; longlong local_248; longlong local_240; float local_238; float local_234; float local_230; float local_22c; undefined8 local_228; float local_220; undefined4 local_21c; undefined4 local_218; float local_214; longlong local_210; longlong local_208; longlong local_200; longlong local_1f8; longlong local_1f0; longlong local_1e8; undefined8 *local_1e0; longlong local_1d8; uint *local_1d0; longlong *local_1c8; undefined8 *local_1c0; undefined8 *local_1b8; longlong local_1a8; longlong local_1a0; longlong lStack_198; longlong local_190; longlong lStack_188; undefined4 local_180; undefined4 uStack_17c; undefined4 uStack_178; undefined4 uStack_174; longlong local_170; longlong local_168; undefined8 local_158; undefined8 local_150; undefined8 local_148; undefined1 local_138 [16]; longlong *local_128; longlong local_110; ulonglong local_100; undefined1 local_e8 [24]; undefined1 local_d0 [24]; undefined1 local_b8 [24]; undefined1 local_a0 [24]; undefined1 local_88 [80]; local_158 = 0xfffffffffffffffe; puVar15 = (undefined8 *)0x0; iVar24 = 0; if (param_3 != '\0') { for (puVar20 = *(undefined8 **)(*param_2 + 0x10); puVar22 = puVar15, puVar20 != (undefined8 *)0x0; puVar20 = (undefined8 *)*puVar20) { local_150 = puVar20[1]; iVar10 = FUN_18048cbc0(local_150,"transform"); puVar22 = puVar20; if (iVar10 == 0) break; } if (puVar22 != (undefined8 *)0x0) { local_1a8 = *param_1; if ((*(uint *)(local_1a8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1a8 + -0x10) = *(int *)(local_1a8 + -0x10) + 1; UNLOCK(); } local_1a0 = param_1[1]; lStack_198 = param_1[2]; local_190 = param_1[3]; lStack_188 = param_1[4]; local_180 = (undefined4)param_1[5]; uStack_17c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_178 = (undefined4)param_1[6]; uStack_174 = *(undefined4 *)((longlong)param_1 + 0x34); local_170 = param_1[7]; local_168 = param_1[8]; if ((*(uint *)(local_168 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_168 + -0x10) = *(int *)(local_168 + -0x10) + 1; UNLOCK(); } FUN_1804f0910(&local_1a8,param_2); puVar15 = (undefined8 *)FUN_1804eff90(&local_1a8,param_2,0,param_4); puVar18 = (uint *)(local_168 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } puVar18 = (uint *)(local_1a8 + -0x10); if ((*puVar18 & 0x30000000) != 0) { return puVar15; } LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 != 0) { return puVar15; } /* WARNING: Subroutine does not return */ free(puVar18); } } iVar10 = FUN_18049bb30(*(undefined8 *)(*param_2 + 0x18),&DAT_18249ef3c); if (iVar10 == 0) { lVar23 = *param_2; dVar4 = (double)FUN_181246d40(lVar23,&DAT_18249efb8); dVar5 = (double)FUN_181246d40(lVar23,&DAT_18249efb4); local_220 = (float)dVar5; local_228 = 0x3f800000; local_21c = 0; local_218 = 0x3f800000; local_1c0 = &local_228; local_1b8 = (undefined8 *)0x0; local_214 = (float)dVar4; local_1c8 = param_1; FUN_1804ecd50(&local_250,param_2); if (*local_250 != '\0') { FUN_18051f710(param_1 + 1,&local_250,&local_1c8); } puVar18 = (uint *)(local_250 + -0x10); if ((*puVar18 & 0x30000000) != 0) { return local_1b8; } LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 != 0) { return local_1b8; } /* WARNING: Subroutine does not return */ free(puVar18); } iVar10 = FUN_18049bb30(*(undefined8 *)(*param_2 + 0x18),"image"); if (iVar10 != 0) { return (undefined8 *)0x0; } plVar16 = (longlong *)FUN_181246db0(*param_2,"xlink:href"); local_260 = *plVar16; local_1d0 = (uint *)(local_260 + -0x10); if ((*local_1d0 & 0x30000000) == 0) { LOCK(); *local_1d0 = *local_1d0 + 1; UNLOCK(); } local_278 = (undefined8 *)0x0; FUN_18124a4b0(local_138,0x100); lVar23 = local_260; pbVar19 = &DAT_18249f1a4; puVar20 = puVar15; while( true ) { while( true ) { bVar2 = *pbVar19; pbVar19 = pbVar19 + 1; if (-1 < (char)bVar2) break; if ((*pbVar19 & 0xc0) != 0x80) goto LAB_1804f0289; do { pbVar19 = pbVar19 + 1; } while ((*pbVar19 & 0xc0) == 0x80); puVar20 = (undefined8 *)((longlong)puVar20 + 1); } if (bVar2 == 0) break; LAB_1804f0289: puVar20 = (undefined8 *)((longlong)puVar20 + 1); } iVar10 = FUN_18049da40(local_260,&DAT_18249f1a4,(ulonglong)puVar20 & 0xffffffff); if (iVar10 == 0) { iVar10 = FUN_181249270(&local_260,&DAT_182495df0); uVar17 = FUN_1812490c0(&local_260,&local_210,5,iVar10); FUN_181248e40(uVar17,&local_270); puVar18 = (uint *)(local_210 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } iVar11 = FUN_181249270(&local_270,&DAT_18249f1a0); pbVar19 = local_270; iVar12 = iVar11; if (iVar11 + 1 < 1) { local_268 = local_270; if ((*(uint *)(local_270 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_270 + -0x10) = *(int *)(local_270 + -0x10) + 1; UNLOCK(); } } else { for (; -1 < iVar12; iVar12 = iVar12 + -1) { bVar2 = *pbVar19; if (bVar2 == 0) { local_268 = &DAT_1821dbf98; goto LAB_1804f039e; } pbVar19 = pbVar19 + 1; if ((char)bVar2 < '\0') { bVar8 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar8))) { pbVar19 = pbVar19 + 1; bVar8 = bVar8 >> 1; bVar3 = bVar2 & bVar8; } } } FUN_18049c9e0(&local_268); } LAB_1804f039e: puVar20 = (undefined8 *)FUN_181248e40(&local_268,&local_208); iVar12 = FUN_18049bb30(*puVar20,"base64"); puVar18 = (uint *)(local_208 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } puVar18 = (uint *)(local_268 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } if (iVar12 == 0) { uVar17 = FUN_1812490c0(&local_270,&local_200,0,iVar11); FUN_181248e40(uVar17,&local_248); lVar23 = local_248; puVar18 = (uint *)(local_200 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } iVar12 = FUN_18049bb30(local_248,"image/png"); if ((iVar12 == 0) || (iVar12 = FUN_18049bb30(lVar23,"image/jpeg"), iVar12 == 0)) { uVar17 = FUN_1812491d0(&local_260,&local_1f8,iVar10 + 1); FUN_1812487f0(uVar17,&local_1f0,&DAT_18249f1c4); puVar18 = (uint *)(local_1f8 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } cVar9 = FUN_181247a90(local_138,local_1f0); if (cVar9 != '\0') { local_278 = (undefined8 *)FUN_1811316e0(0x30); if (local_128 != (longlong *)0x0) { if (local_100 < (ulonglong)local_128[1]) { *(undefined1 *)(*local_128 + local_100) = 0; } local_110 = *local_128; } *local_278 = juce::MemoryInputStream::vftable; local_278[1] = local_110; local_278[2] = local_100; local_278[3] = 0; local_278[4] = 0; local_278[5] = 0; } puVar18 = (uint *)(local_1f0 + -0x10); lVar23 = local_248; if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } } puVar18 = (uint *)(lVar23 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } } puVar18 = (uint *)(local_270 + -0x10); uVar13 = *puVar18; } else { uVar17 = FUN_181241230(param_1,&local_1e8); FUN_181245100(uVar17,&local_240,lVar23); puVar18 = (uint *)(local_1e8 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } cVar9 = FUN_1812457c0(&local_240); if (cVar9 != '\0') { local_278 = (undefined8 *)FUN_18123fa60(&local_240); } puVar18 = (uint *)(local_240 + -0x10); uVar13 = *puVar18; } if ((uVar13 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } if ((local_278 != (undefined8 *)0x0) && (FUN_18128e6a0(&local_258,local_278), local_258 != (undefined8 *)0x0)) { local_148 = FUN_1811316e0(0xe8); puVar15 = (undefined8 *)FUN_1813316f0(local_148); FUN_1804eb420(puVar15,param_2); iVar10 = 0; if (local_258 != (undefined8 *)0x0) { iVar10 = *(int *)(local_258 + 3); } lVar23 = *param_2; if (local_258 != (undefined8 *)0x0) { iVar24 = *(int *)((longlong)local_258 + 0x14); } dVar4 = (double)FUN_181246d40(lVar23,"height",(double)iVar10); dVar5 = (double)FUN_181246d40(lVar23,"width",(double)iVar24); dVar6 = (double)FUN_181246d40(lVar23,&DAT_18249efb8); dVar7 = (double)FUN_181246d40(lVar23,&DAT_18249efb4); local_238 = (float)dVar7; local_234 = (float)dVar6; local_230 = (float)dVar5; local_22c = (float)dVar4; uVar17 = FUN_181290d60(&local_258,&local_1e0,(int)dVar5,(int)dVar4); FUN_181331340(puVar15,uVar17); if (local_1e0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_1e0 + 1); iVar24 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar24 == 1) { (**(code **)*local_1e0)(local_1e0,1); } } uVar17 = FUN_181246db0(*param_2,"preserveAspectRatio"); uVar17 = FUN_181248e40(uVar17,&local_1d8); uVar14 = FUN_1804f1750(uVar17); FUN_181332820(puVar15,&local_238,uVar14); puVar18 = (uint *)(local_1d8 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } if (param_4 == 0) { uVar17 = FUN_18134bf70(puVar15,local_a0,param_1 + 5); puVar21 = local_88; } else { uVar17 = FUN_18134bf70(puVar15,local_e8,param_1 + 5); uVar17 = FUN_1812a0a40(uVar17,local_d0); puVar21 = local_b8; } uVar17 = FUN_1812a0a40(uVar17,puVar21); FUN_18134af50(puVar15,uVar17); if (local_258 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_258 + 1); iVar24 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar24 == 1) { (**(code **)*local_258)(local_258,1); } } } FUN_18124a420(local_138); if (local_278 != (undefined8 *)0x0) { (**(code **)*local_278)(local_278,1); } if ((*local_1d0 & 0x30000000) == 0) { LOCK(); uVar13 = *local_1d0; *local_1d0 = *local_1d0 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(local_1d0); } } return puVar15; } ############ FUN_ 18051f240 size=352 ############ undefined8 FUN_18051f240(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 *puVar1; undefined8 uVar2; undefined8 uVar3; char cVar4; int iVar5; undefined8 *puVar6; undefined8 *local_res8; undefined8 *local_30; longlong *local_28; puVar6 = *(undefined8 **)(*param_1 + 8); do { if (puVar6 == (undefined8 *)0x0) { return 0; } local_30 = puVar6; local_28 = param_1; for (puVar1 = (undefined8 *)puVar6[2]; puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { iVar5 = FUN_18048cbc0(puVar1[1],&DAT_18249ef04); if (iVar5 == 0) { iVar5 = FUN_18048cbc0(puVar1[2],*param_2); if ((iVar5 == 0) && (iVar5 = FUN_18049bb30(puVar6[3],&DAT_18249ef44), iVar5 != 0)) { uVar2 = param_3[1]; uVar3 = *param_3; cVar4 = FUN_181220e10(local_30,"clipPath"); if (cVar4 == '\0') { return 0; } local_res8 = (undefined8 *)FUN_1811316e0(0xf0); puVar6 = (undefined8 *)FUN_1813327c0(local_res8); FUN_1804eb590(uVar3,&local_30,puVar6,0); if (0 < *(int *)((longlong)puVar6 + 0x4c)) { FUN_1804eb420(puVar6,&local_30); local_res8 = puVar6; FUN_181332ad0(uVar2,&local_res8); return 1; } if (puVar6 == (undefined8 *)0x0) { return 0; } (**(code **)*puVar6)(puVar6,1); return 0; } break; } } cVar4 = FUN_18051f240(&local_30,param_2,param_3); if (cVar4 != '\0') { return 1; } puVar6 = (undefined8 *)*puVar6; } while( true ); } ############ FUN_ 18123fa60 size=76 ############ undefined8 * FUN_18123fa60(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x28); puVar2 = (undefined8 *)FUN_18123efe0(uVar1,param_1); if (*(char *)puVar2[4] != '\0') { (**(code **)*puVar2)(puVar2,1,(undefined8 *)*puVar2,param_4,uVar3); puVar2 = (undefined8 *)0x0; } return puVar2; } ############ FUN_ 1812a1120 size=132 ############ undefined4 * FUN_1812a1120(undefined4 *param_1,undefined8 *param_2) { undefined8 *puVar1; *param_1 = 0xff000000; puVar1 = (undefined8 *)FUN_1811316e0(0x28); *puVar1 = *param_2; puVar1[1] = param_2[1]; *(undefined1 *)(puVar1 + 2) = *(undefined1 *)(param_2 + 2); FUN_1804aaeb0(puVar1 + 3,param_2 + 3); *(undefined8 **)(param_1 + 2) = puVar1; *(undefined8 *)(param_1 + 4) = 0; *(undefined8 *)(param_1 + 8) = 0; *(undefined8 *)(param_1 + 6) = 0x3f800000; *(undefined8 *)(param_1 + 10) = 0x3f800000; return param_1; } ############ FUN_ 18132fad0 size=409 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_18132fad0(undefined8 *param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4) { int *piVar1; int iVar2; bool bVar3; undefined4 uVar4; undefined4 uVar5; undefined8 uVar6; undefined8 *puVar7; undefined8 *local_res10; undefined8 uVar8; undefined4 uVar9; undefined4 uVar10; uVar8 = 0xfffffffffffffffe; puVar7 = param_1; FUN_1813331e0(param_1,param_2,param_3,param_4,0xfffffffffffffffe); *puVar7 = juce::DrawableText::vftable; puVar7[0x18] = 0; puVar7[0x19] = 0; puVar7[0x1a] = 0; FUN_181252d20(puVar7 + 0x1c); FUN_181252d20(param_1 + 0x1d); param_1[0x1e] = &DAT_1821dbf98; *(undefined4 *)(param_1 + 0x1f) = DAT_18262b5b8; *(undefined4 *)((longlong)param_1 + 0xfc) = 0x21; uVar5 = _UNK_1824c47fc; uVar10 = _UNK_1824c47f8; uVar4 = _UNK_1824c47f4; uVar9 = _DAT_1824c47f0; if ((((*(float *)(param_1 + 0x18) == 0.0) && (*(float *)((longlong)param_1 + 0xc4) == 0.0)) && (*(float *)(param_1 + 0x19) == DAT_1824c44a8)) && (((*(float *)((longlong)param_1 + 0xcc) == 0.0 && (*(float *)(param_1 + 0x1a) == 0.0)) && (*(float *)((longlong)param_1 + 0xd4) == DAT_1824c442c)))) { bVar3 = true; } else { bVar3 = false; } if (!bVar3) { *(undefined4 *)(param_1 + 0x18) = _DAT_1824c47f0; *(undefined4 *)((longlong)param_1 + 0xc4) = uVar4; *(undefined4 *)(param_1 + 0x19) = uVar10; *(undefined4 *)((longlong)param_1 + 0xcc) = uVar5; param_1[0x1a] = 0x41a0000000000000; FUN_18132f430(param_1); } uVar6 = FUN_1811316e0(0x40); puVar7 = (undefined8 *)FUN_1804a2b80(uVar6,0,DAT_1824c4418,param_4,uVar8,uVar9,uVar10); if (puVar7 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar7 + 1) = *(int *)(puVar7 + 1) + 1; UNLOCK(); } local_res10 = puVar7; FUN_18132f6a0(param_1,&local_res10); if (puVar7 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar7 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar7)(puVar7,1); } } return param_1; } ############ FUN_ 181329360 size=1065 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181329360(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined1 param_5,undefined4 param_6,longlong param_7) { undefined ***pppuVar1; longlong lVar2; undefined ***pppuVar3; undefined1 auStack_118 [32]; undefined4 local_f8; undefined8 local_e8; longlong *local_e0; undefined8 local_d8; undefined **local_c8; longlong *local_c0; undefined ***local_90; longlong local_88 [7]; longlong *local_50; ulonglong local_48; local_e8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_118; local_e0 = param_1; FUN_1812cfab0(param_1,param_2,param_6,param_7 == 0); *param_1 = (longlong)juce::FileChooserDialogBox::vftable; param_1[0x28] = (longlong)juce::FileChooserDialogBox::vftable; *(undefined1 *)(param_1 + 0x2a) = param_5; local_d8 = FUN_1811316e0(0x638); lVar2 = FUN_1804f3d50(local_d8,param_2,param_3,param_4); param_1[0x29] = lVar2; FUN_1812cf600(param_1,lVar2,1,0); FUN_1812cec00(param_1,1); local_f8 = 1000; FUN_1812cea70(param_1,300,300,0x4b0); lVar2 = param_1[0x29]; pppuVar3 = (undefined ***)(lVar2 + 0x178); local_c8 = std::_Func_impl_no_alloc<,void>::vftable; local_90 = &local_c8; local_50 = (longlong *)0x0; local_c0 = param_1; local_50 = (longlong *)(*(code *)PTR_FUN_1824aa780)(&local_c8,local_88); if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); local_90 = (undefined ***)0x0; } pppuVar1 = *(undefined ****)(lVar2 + 0x1b0); if (pppuVar1 != (undefined ***)0x0) { if (pppuVar1 == pppuVar3) { local_90 = (undefined ***)(*(code *)(*pppuVar1)[1])(pppuVar1,&local_c8); pppuVar1 = *(undefined ****)(lVar2 + 0x1b0); if (pppuVar1 == (undefined ***)0x0) goto LAB_1813294e2; (*(code *)(*pppuVar1)[4])(pppuVar1,pppuVar1 != pppuVar3); pppuVar1 = local_90; } local_90 = pppuVar1; *(undefined8 *)(lVar2 + 0x1b0) = 0; } LAB_1813294e2: FUN_180488560(pppuVar3,local_88); if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x20))(local_50,local_50 != local_88); } if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); } lVar2 = param_1[0x29]; pppuVar3 = (undefined ***)(lVar2 + 0x340); local_c8 = std::_Func_impl_no_alloc<,void>::vftable; local_90 = &local_c8; local_50 = (longlong *)0x0; local_c0 = param_1; local_50 = (longlong *)(*(code *)PTR_FUN_1824a1c38)(&local_c8,local_88); if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); local_90 = (undefined ***)0x0; } pppuVar1 = *(undefined ****)(lVar2 + 0x378); if (pppuVar1 != (undefined ***)0x0) { if (pppuVar1 == pppuVar3) { local_90 = (undefined ***)(*(code *)(*pppuVar1)[1])(pppuVar1,&local_c8); pppuVar1 = *(undefined ****)(lVar2 + 0x378); if (pppuVar1 == (undefined ***)0x0) goto LAB_1813295db; (*(code *)(*pppuVar1)[4])(pppuVar1,pppuVar1 != pppuVar3); pppuVar1 = local_90; } local_90 = pppuVar1; *(undefined8 *)(lVar2 + 0x378) = 0; } LAB_1813295db: FUN_180488560(pppuVar3,local_88); if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x20))(local_50,local_50 != local_88); } if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); } lVar2 = param_1[0x29]; pppuVar3 = (undefined ***)(lVar2 + 0x508); local_c8 = std::_Func_impl_no_alloc<,void>::vftable; local_90 = &local_c8; local_50 = (longlong *)0x0; local_c0 = param_1; local_50 = (longlong *)(*(code *)PTR_FUN_1824a14a8)(&local_c8,local_88); if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); local_90 = (undefined ***)0x0; } pppuVar1 = *(undefined ****)(lVar2 + 0x540); if (pppuVar1 != (undefined ***)0x0) { if (pppuVar1 == pppuVar3) { local_90 = (undefined ***)(*(code *)(*pppuVar1)[1])(pppuVar1,&local_c8); pppuVar1 = *(undefined ****)(lVar2 + 0x540); if (pppuVar1 == (undefined ***)0x0) goto LAB_1813296d4; (*(code *)(*pppuVar1)[4])(pppuVar1,pppuVar1 != pppuVar3); pppuVar1 = local_90; } local_90 = pppuVar1; *(undefined8 *)(lVar2 + 0x540) = 0; } LAB_1813296d4: FUN_180488560(pppuVar3,local_88); if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x20))(local_50,local_50 != local_88); } if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); } FUN_18051ae50(*(longlong *)(param_1[0x29] + 0xb0) + 0x110,param_1 + 0x28); FUN_1813290e0(param_1 + 0x28); if (param_7 != 0) { (**(code **)(*param_1 + 0x58))(param_1,1); FUN_181343cc0(param_7,param_1,0xffffffff); } } ############ FUN_ 1812cec00 size=849 ############ void FUN_1812cec00(longlong *param_1,char param_2,char param_3) { undefined8 *puVar1; code *pcVar2; bool bVar3; char cVar4; undefined4 uVar5; undefined8 uVar6; longlong lVar7; undefined8 *puVar8; longlong lVar9; int local_30; int local_2c; int local_28; int local_24; lVar9 = 0; if (param_2 == '\0') { puVar1 = (undefined8 *)param_1[0x18]; param_1[0x18] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } puVar1 = (undefined8 *)param_1[0x19]; param_1[0x19] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } else if (param_3 == '\0') { puVar1 = (undefined8 *)param_1[0x18]; param_1[0x18] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if (param_1[0x19] == 0) { puVar8 = (undefined8 *)FUN_1811316e0(0xe8); lVar7 = param_1[0x27]; puVar8[1] = &DAT_1821dbf98; puVar8[2] = &DAT_1821dbf98; puVar8[3] = 0; puVar8[4] = 0; puVar8[5] = 0; puVar8[6] = 0; puVar8[7] = 0; puVar8[8] = 0; puVar8[9] = 0; puVar8[10] = 0; puVar8[0xb] = 0; puVar8[0xc] = 0; puVar8[0xd] = 0; puVar8[0xe] = 0; puVar8[0xf] = 0; puVar8[0x10] = 0; puVar8[0x11] = 0; puVar8[0x12] = 0; puVar8[0x13] = 0; puVar8[0x14] = 0; *(undefined4 *)(puVar8 + 0x15) = 0; *(undefined1 *)((longlong)puVar8 + 0xac) = 0; *puVar8 = juce::ResizableBorderComponent::vftable; FUN_1804de690(puVar8 + 0x16,param_1); puVar8[0x17] = lVar7; *(undefined4 *)(puVar8 + 0x18) = 5; *(undefined4 *)((longlong)puVar8 + 0xc4) = 5; *(undefined4 *)(puVar8 + 0x19) = 5; *(undefined8 *)((longlong)puVar8 + 0xcc) = 5; *(undefined8 *)((longlong)puVar8 + 0xd4) = 0; *(undefined8 *)((longlong)puVar8 + 0xdc) = 0; puVar1 = (undefined8 *)param_1[0x19]; param_1[0x19] = (longlong)puVar8; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if (param_1[0x19] != 0) { FUN_181343cc0(param_1,param_1[0x19],0xffffffff); } } } else { puVar1 = (undefined8 *)param_1[0x19]; param_1[0x19] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if (param_1[0x18] == 0) { uVar6 = FUN_1811316e0(0xd0); lVar7 = FUN_1813490d0(uVar6,param_1,param_1[0x27]); puVar1 = (undefined8 *)param_1[0x18]; param_1[0x18] = lVar7; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if (param_1[0x18] != 0) { FUN_181343cc0(param_1,param_1[0x18],0xffffffff); } FUN_18134b0f0(param_1[0x18],1); } } if ((*(char *)((longlong)param_1 + 0xb1) == '\0') || (((*(byte *)(param_1 + 0x15) & 1) == 0 && (cVar4 = FUN_181345240(param_1), cVar4 != '\0')))) { bVar3 = false; } else { bVar3 = true; } if ((bVar3) && ((*(byte *)(param_1 + 0x15) & 1) != 0)) { uVar5 = (**(code **)(*param_1 + 0x160))(param_1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,uVar5,0); FUN_181344f60(param_1,1); } lVar7 = lVar9; if (param_1[0x1a] != 0) { lVar7 = *(longlong *)(param_1[0x1a] + 0x10); } pcVar2 = *(code **)(*param_1 + 0x118); if (pcVar2 == FUN_1812cf070) { if (param_1[0x1a] != 0) { lVar9 = *(longlong *)(param_1[0x1a] + 0x10); } if (((lVar7 == lVar9) && (lVar7 != 0)) && (*(char *)((longlong)param_1 + 0xe1) != '\0')) { (**(code **)(*param_1 + 0x170))(param_1,&local_30); FUN_18134bfe0(param_1,(int)param_1[4],*(undefined4 *)((longlong)param_1 + 0x24), *(int *)(lVar7 + 0x28) + local_24 + local_2c, *(int *)(lVar7 + 0x2c) + local_30 + local_28); } } else { (*pcVar2)(param_1,lVar7); } /* WARNING: Could not recover jumptable at 0x0001812cef40. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x108))(param_1); return; } ############ FUN_ 1812d8fe0 size=625 ############ undefined8 * FUN_1812d8fe0(undefined8 *param_1) { longlong *plVar1; uint uVar2; undefined8 *puVar3; bool bVar4; undefined8 *local_res18; puVar3 = param_1; FUN_1813453e0(); puVar3[0x17] = &DAT_1821dbf98; *puVar3 = juce::TreeView::vftable; puVar3[0x16] = juce::TreeView::vftable; puVar3[0x18] = juce::TreeView::vftable; puVar3[0x19] = juce::TreeView::vftable; puVar3 = (undefined8 *)FUN_1811316e0(0x1c0); local_res18 = (undefined8 *)&DAT_1821dbf98; FUN_18134a630(puVar3,&local_res18); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *puVar3 = juce::TreeView::TreeViewport::vftable; puVar3[0x16] = juce::TreeView::TreeViewport::vftable; puVar3[0x17] = juce::TreeView::TreeViewport::vftable; *(undefined4 *)(puVar3 + 0x37) = 0xffffffff; param_1[0x1a] = puVar3; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1b)); param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = 0; *(undefined4 *)(param_1 + 0x24) = 0xffffffff; *(undefined4 *)((longlong)param_1 + 0x124) = 0x10100; *(undefined1 *)(param_1 + 0x25) = 1; plVar1 = (longlong *)param_1[0x1a]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); } puVar3 = (undefined8 *)FUN_1811316e0(0xf0); *puVar3 = juce::Component::vftable; puVar3[1] = &DAT_1821dbf98; puVar3[2] = &DAT_1821dbf98; puVar3[3] = 0; puVar3[4] = 0; puVar3[5] = 0; puVar3[6] = 0; puVar3[7] = 0; puVar3[8] = 0; puVar3[9] = 0; puVar3[10] = 0; puVar3[0xb] = 0; puVar3[0xc] = 0; puVar3[0xd] = 0; puVar3[0xe] = 0; puVar3[0xf] = 0; puVar3[0x10] = 0; puVar3[0x11] = 0; puVar3[0x12] = 0; puVar3[0x13] = 0; puVar3[0x14] = 0; *(undefined4 *)(puVar3 + 0x15) = 0; *(undefined1 *)((longlong)puVar3 + 0xac) = 0; puVar3[0x16] = juce::TooltipClient::vftable; local_res18 = puVar3; FUN_1812a59f0(puVar3 + 0x17); *puVar3 = juce::TreeView::ContentComponent::vftable; puVar3[0x16] = juce::TreeView::ContentComponent::vftable; puVar3[0x17] = juce::TreeView::ContentComponent::vftable; puVar3[0x19] = param_1; puVar3[0x1a] = 0; puVar3[0x1b] = 0; puVar3[0x1c] = 0; *(undefined2 *)(puVar3 + 0x1d) = 0; FUN_18134a370(param_1[0x1a],puVar3,1); *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x20; return param_1; } ############ FUN_ 1812dc240 size=1332 ############ void FUN_1812dc240(longlong param_1,undefined8 param_2,longlong param_3,int param_4) { int *piVar1; longlong *plVar2; undefined4 uVar3; int iVar4; uint uVar5; longlong lVar6; undefined8 uVar7; undefined8 *puVar8; int iVar9; int iVar10; int iVar11; longlong lVar12; ulonglong uVar13; int iVar14; ulonglong uVar15; longlong *plVar16; longlong lVar17; void *pvVar18; void *pvVar19; int iVar20; uint uVar21; ulonglong uVar22; int iVar24; longlong *local_88; void *local_58; int local_50; uint local_4c; void *pvVar23; iVar14 = (int)((ulonglong)param_2 >> 0x20); iVar10 = (int)param_2; if (iVar10 != iVar14) { uVar13 = 0; if (0 < *(int *)(param_1 + 0x2b4)) { uVar15 = uVar13; uVar22 = uVar13; iVar9 = 0; do { iVar24 = iVar9 + 1; iVar20 = (int)uVar22; lVar17 = *(longlong *)(uVar13 + *(longlong *)(param_1 + 0x2a8)); iVar11 = 0; lVar6 = *(longlong *)(lVar17 + 0x10); lVar17 = (longlong)*(int *)(lVar17 + 0x1c) * 0x10 + lVar6; for (; lVar6 != lVar17; lVar6 = lVar6 + 0x10) { iVar11 = iVar11 + *(int *)(lVar6 + 0xc); } iVar4 = (int)uVar15; uVar5 = iVar11 + iVar4; if (((iVar4 < iVar10) && (iVar11 = iVar10, iVar10 < (int)uVar5)) || ((iVar4 < iVar14 && (iVar11 = iVar14, iVar14 < (int)uVar5)))) { uVar7 = FUN_180506840(*(undefined8 *)(uVar13 + *(longlong *)(param_1 + 0x2a8)), iVar11 - iVar4); FUN_18051b0d0(param_1 + 0x2a8,iVar24,uVar7); iVar20 = iVar20 + -1; uVar13 = uVar13 - 8; iVar24 = iVar9; } else { uVar15 = (ulonglong)uVar5; if (iVar14 < (int)uVar5) break; } uVar22 = (ulonglong)(iVar20 + 1U); uVar13 = uVar13 + 8; iVar9 = iVar24; } while ((int)(iVar20 + 1U) < *(int *)(param_1 + 0x2b4)); } pvVar18 = (void *)0x0; if (param_3 != 0) { local_58 = (void *)0x0; local_50 = 0; local_4c = 0; plVar16 = *(longlong **)(param_1 + 0x2a8); plVar2 = plVar16 + *(int *)(param_1 + 0x2b4); pvVar19 = pvVar18; pvVar23 = pvVar18; while ((uVar5 = (uint)pvVar18, plVar16 != plVar2 && (lVar17 = *plVar16, iVar10 < iVar14))) { iVar9 = 0; lVar6 = *(longlong *)(lVar17 + 0x10); lVar12 = (longlong)*(int *)(lVar17 + 0x1c) * 0x10 + lVar6; for (; lVar6 != lVar12; lVar6 = lVar6 + 0x10) { iVar9 = iVar9 + *(int *)(lVar6 + 0xc); } iVar11 = (int)pvVar23; uVar21 = iVar9 + iVar11; pvVar23 = (void *)(ulonglong)uVar21; if ((iVar10 <= iVar11) && ((int)uVar21 <= iVar14)) { uVar7 = FUN_1811316e0(0x28); uVar7 = FUN_180508fb0(uVar7,lVar17); iVar9 = uVar5 + 1; if (local_50 < iVar9) { iVar11 = iVar9; if (iVar9 < 0) { iVar11 = uVar5 + 2; } FUN_18047cb30(&local_58,iVar9 + (iVar11 >> 1) + 8 & 0xfffffff8); pvVar19 = local_58; uVar5 = local_4c; } local_4c = uVar5 + 1; pvVar18 = (void *)(ulonglong)local_4c; *(undefined8 *)((longlong)pvVar19 + (longlong)(int)uVar5 * 8) = uVar7; } plVar16 = plVar16 + 1; } if ((((*(char *)(param_3 + 0x70) == '\0') && (uVar21 = *(int *)(param_3 + 0x6c) - 1, uVar21 < *(uint *)(param_3 + 0x44))) && (lVar17 = *(longlong *)(*(longlong *)(param_3 + 0x38) + (longlong)(int)uVar21 * 8), lVar17 != 0)) && (100 < *(int *)(lVar17 + 0xc))) { uVar5 = DAT_1826737fc; if (DAT_1826737fc == 0) { uVar5 = timeGetTime(); if (uVar5 < DAT_1826737fc) { if (uVar5 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = uVar5; } } else { LOCK(); UNLOCK(); DAT_1826737fc = uVar5; } } *(uint *)(param_1 + 0x290) = uVar5; FUN_181352640(param_1 + 0x200); uVar5 = local_4c; } puVar8 = (undefined8 *)FUN_1811316e0(0x30); uVar3 = *(undefined4 *)(param_1 + 0x2a4); *puVar8 = juce::TextEditor::RemoveAction::vftable; puVar8[1] = param_1; puVar8[2] = param_2; *(undefined4 *)(puVar8 + 3) = uVar3; *(int *)((longlong)puVar8 + 0x1c) = param_4; puVar8[4] = 0; puVar8[5] = 0; if (0 < (int)uVar5) { FUN_18047cb30(puVar8 + 4,uVar5 + 8 + (int)uVar5 / 2 & 0xfffffff8); } memcpy((void *)(puVar8[4] + (longlong)*(int *)((longlong)puVar8 + 0x2c) * 8),local_58, (longlong)(int)uVar5 << 3); *(int *)((longlong)puVar8 + 0x2c) = *(int *)((longlong)puVar8 + 0x2c) + uVar5; FUN_1813526d0(param_3,puVar8); /* WARNING: Subroutine does not return */ free(local_58); } if (0 < *(int *)(param_1 + 0x2b4)) { plVar2 = (longlong *)(param_1 + 0x2a8); pvVar19 = pvVar18; pvVar23 = pvVar18; do { iVar9 = 0; uVar5 = (uint)pvVar19; lVar17 = *(longlong *)(*(longlong *)((longlong)pvVar18 + *plVar2) + 0x10); lVar6 = (longlong)*(int *)(*(longlong *)((longlong)pvVar18 + *plVar2) + 0x1c) * 0x10 + lVar17; for (; lVar17 != lVar6; lVar17 = lVar17 + 0x10) { iVar9 = iVar9 + *(int *)(lVar17 + 0xc); } iVar11 = (int)pvVar23; uVar21 = iVar9 + iVar11; if ((iVar11 < iVar10) || (iVar14 < (int)uVar21)) { pvVar23 = (void *)(ulonglong)uVar21; } else { local_88 = (longlong *)0x0; if (uVar5 < *(uint *)(param_1 + 0x2b4)) { local_88 = *(longlong **)(*plVar2 + (longlong)pvVar18); pvVar19 = (void *)(*plVar2 + (longlong)(int)uVar5 * 8); memmove(pvVar19,(void *)((longlong)pvVar19 + 8), (longlong)(int)((*(uint *)(param_1 + 0x2b4) - uVar5) + -1) << 3); *(int *)(param_1 + 0x2b4) = *(int *)(param_1 + 0x2b4) + -1; } if ((*(int *)(param_1 + 0x2b4) * 2 < *(int *)(param_1 + 0x2b0)) && (*(int *)(param_1 + 0x2b4) < *(int *)(param_1 + 0x2b0))) { FUN_18047cb30(plVar2); } if (local_88 != (longlong *)0x0) { FUN_18051a4c0(local_88 + 2); puVar8 = (undefined8 *)*local_88; if (puVar8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar8 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { (**(code **)*puVar8)(puVar8,1); } } /* WARNING: Subroutine does not return */ free(local_88); } iVar14 = (iVar14 - uVar21) + iVar11; if ((iVar14 < iVar10) || (iVar14 == iVar10)) break; uVar5 = uVar5 - 1; pvVar18 = (void *)((longlong)pvVar18 - 8); } pvVar19 = (void *)(ulonglong)(uVar5 + 1); pvVar18 = (void *)((longlong)pvVar18 + 8); } while ((int)(uVar5 + 1) < *(int *)(param_1 + 0x2b4)); } FUN_1812db150(param_1); *(undefined4 *)(param_1 + 0x2a0) = 0xffffffff; *(undefined1 *)(param_1 + 0x1f8) = 1; *(undefined4 *)(param_1 + 0x2f8) = 0; FUN_1812e0940(param_1,*(undefined8 *)(param_1 + 0x280)); iVar14 = 0; if ((-1 < param_4) && (iVar9 = FUN_1812dbb90(param_1), iVar14 = param_4, iVar9 < param_4)) { iVar14 = iVar9; } if (iVar14 != *(int *)(param_1 + 0x2a4)) { *(int *)(param_1 + 0x2a4) = iVar14; FUN_1812a77d0(*(longlong *)(param_1 + 0x1d0) + 0xb0,0x15e); FUN_1812e0240(param_1); FUN_1812e16d0(param_1); } *(ulonglong *)(param_1 + 0x280) = CONCAT44(*(undefined4 *)(param_1 + 0x2a4),*(undefined4 *)(param_1 + 0x2a4)); iVar9 = FUN_1812dbb90(param_1); iVar14 = iVar10; if (iVar10 < iVar9) { iVar14 = iVar9; } FUN_1812e0940(param_1,CONCAT44(iVar14,iVar10)); } return; } ############ FUN_ 180506840 size=1547 ############ longlong * FUN_180506840(longlong *param_1,int param_2) { longlong *plVar1; longlong *plVar2; byte bVar3; undefined4 uVar4; int iVar5; byte bVar6; longlong lVar7; longlong lVar8; undefined8 *puVar9; byte bVar10; int iVar11; longlong *plVar12; undefined8 uVar13; int iVar14; ulonglong uVar15; uint *puVar16; byte *pbVar17; byte *pbVar18; uint *puVar19; uint uVar20; byte *pbVar21; undefined8 *puVar22; longlong *plVar23; uint uVar24; uint uVar25; longlong lVar26; uint uVar27; ulonglong uVar28; ulonglong uVar29; uint uVar30; ulonglong uVar31; bool bVar32; undefined4 uVar33; uint local_res18; byte *local_c8; undefined8 *local_c0; byte *local_b8; undefined4 local_b0; uint local_ac; undefined1 *local_a8; longlong local_a0; longlong local_98; longlong local_90; uint *local_88; longlong *local_80; undefined8 local_78; undefined8 local_70; longlong local_68; longlong local_58; local_78 = 0xfffffffffffffffe; uVar31 = 0; plVar12 = (longlong *)FUN_1811316e0(0x28); local_a8 = &DAT_1821dbf98; lVar7 = param_1[4]; lVar8 = param_1[1]; lVar26 = *param_1; *plVar12 = lVar26; if (lVar26 != 0) { LOCK(); *(int *)(lVar26 + 8) = *(int *)(lVar26 + 8) + 1; UNLOCK(); } *(int *)(plVar12 + 1) = (int)lVar8; plVar1 = plVar12 + 2; *plVar1 = 0; plVar12[3] = 0; *(int *)(plVar12 + 4) = (int)lVar7; local_80 = plVar12; FUN_180506e50(plVar12,&local_a8); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar27 = DAT_1821dbf88 - 1; UNLOCK(); bVar32 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar27; if (bVar32) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_res18 = 0; plVar2 = param_1 + 2; if (0 < *(int *)((longlong)param_1 + 0x1c)) { uVar15 = uVar31; uVar28 = uVar31; uVar29 = uVar31; do { uVar27 = (uint)uVar29; local_c0 = (undefined8 *)(uVar15 + *plVar2); iVar11 = (int)uVar28; uVar20 = *(int *)((longlong)local_c0 + 0xc) + iVar11; if (iVar11 == param_2) { if ((int)uVar27 < *(int *)((longlong)param_1 + 0x1c)) { lVar26 = (longlong)(int)uVar27 << 4; do { lVar7 = *plVar2; local_58 = *(longlong *)(lVar26 + lVar7); if ((*(uint *)(local_58 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_58 + -0x10) = *(int *)(local_58 + -0x10) + 1; UNLOCK(); } uVar33 = *(undefined4 *)(lVar26 + 8 + lVar7); uVar4 = *(undefined4 *)(lVar26 + 0xc + lVar7); iVar14 = *(int *)((longlong)plVar12 + 0x1c); iVar11 = iVar14 + 1; if ((int)plVar12[3] < iVar11) { if (iVar11 < 0) { iVar11 = iVar14 + 2; } FUN_18051d4f0(plVar1,iVar14 + 9 + (iVar11 >> 1) & 0xfffffff8); } iVar11 = *(int *)((longlong)plVar12 + 0x1c); *(int *)((longlong)plVar12 + 0x1c) = iVar11 + 1; plVar23 = (longlong *)((longlong)iVar11 * 0x10 + *plVar1); *plVar23 = local_58; *(undefined4 *)(plVar23 + 1) = uVar33; *(undefined4 *)((longlong)plVar23 + 0xc) = uVar4; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar27 = DAT_1821dbf88 - 1; UNLOCK(); bVar32 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar27; if (bVar32) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar20 = (int)uVar29 + 1; uVar29 = (ulonglong)uVar20; lVar26 = lVar26 + 0x10; uVar27 = local_res18; } while ((int)uVar20 < *(int *)((longlong)param_1 + 0x1c)); } uVar20 = *(uint *)((longlong)param_1 + 0x1c); uVar24 = *(int *)((longlong)param_1 + 0x1c) + uVar27; uVar30 = 0; uVar25 = uVar30; if ((-1 < (int)uVar24) && (uVar25 = uVar24, (int)uVar20 < (int)uVar24)) { uVar25 = uVar20; } uVar24 = uVar30; if ((-1 < (int)uVar27) && (uVar24 = uVar27, (int)uVar20 < (int)uVar27)) { uVar24 = uVar20; } iVar11 = uVar25 - uVar24; if (iVar11 < 1) { return local_80; } FUN_18051fd30(plVar2,uVar24,iVar11); *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) - iVar11; iVar11 = *(int *)((longlong)param_1 + 0x1c); if (0 < iVar11 * 2) { uVar30 = iVar11 * 2; } if ((int)param_1[3] <= (int)uVar30) { return local_80; } if (iVar11 < 4) { iVar11 = 4; } if ((int)param_1[3] <= iVar11) { return local_80; } FUN_18051d4f0(plVar2); return local_80; } if ((iVar11 < param_2) && (param_2 < (int)uVar20)) { local_b8 = &DAT_1821dbf98; iVar11 = param_2 - iVar11; if (iVar11 < 1) { local_c8 = (byte *)*local_c0; if ((*(uint *)(local_c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c8 + -0x10) = *(int *)(local_c8 + -0x10) + 1; UNLOCK(); } goto LAB_1805069ec; } pbVar21 = (byte *)*local_c0; iVar14 = iVar11; goto joined_r0x0001805069a6; } uVar28 = (ulonglong)uVar20; local_res18 = uVar27 + 1; uVar29 = (ulonglong)local_res18; uVar15 = uVar15 + 0x10; } while ((int)local_res18 < *(int *)((longlong)param_1 + 0x1c)); } return local_80; joined_r0x0001805069a6: iVar14 = iVar14 + -1; if (-1 < iVar14) { bVar3 = *pbVar21; if (bVar3 == 0) { local_c8 = &DAT_1821dbf98; goto LAB_1805069ec; } pbVar21 = pbVar21 + 1; if ((char)bVar3 < '\0') { bVar10 = 0x40; bVar6 = bVar3 & 0x40; while ((bVar6 != 0 && (8 < bVar10))) { pbVar21 = pbVar21 + 1; bVar10 = bVar10 >> 1; bVar6 = bVar3 & bVar10; } } goto joined_r0x0001805069a6; } FUN_18049c9e0(&local_c8); LAB_1805069ec: local_b8 = local_c8; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar20 = DAT_1821dbf88 - 1; UNLOCK(); bVar32 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar20; if (bVar32) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar13 = FUN_180506630(&local_b8,&local_a0,(int)param_1[4]); local_b0 = FUN_1812518d0(param_1,uVar13); pbVar21 = local_c8; puVar16 = (uint *)(local_a0 + -0x10); pbVar17 = local_c8; if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar20 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar20 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } do { while( true ) { pbVar18 = pbVar17 + 1; if (-1 < (char)*pbVar17) break; if ((*pbVar18 & 0xc0) != 0x80) goto LAB_180506aa1; do { pbVar18 = pbVar18 + 1; } while ((*pbVar18 & 0xc0) == 0x80); uVar31 = uVar31 + 1; pbVar17 = pbVar18; } if (*pbVar17 == 0) { local_ac = (uint)uVar31 & 0xffff; iVar14 = *(int *)((longlong)plVar12 + 0x1c) + 1; if ((int)plVar12[3] < iVar14) { FUN_18051d4f0(plVar1,*(int *)((longlong)plVar12 + 0x1c) + 9 + iVar14 / 2 & 0xfffffff8); } puVar9 = local_c0; iVar14 = *(int *)((longlong)plVar12 + 0x1c); *(int *)((longlong)plVar12 + 0x1c) = iVar14 + 1; puVar22 = (undefined8 *)((longlong)iVar14 * 0x10 + *plVar1); *puVar22 = pbVar21; puVar16 = (uint *)(pbVar21 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } *(undefined4 *)(puVar22 + 1) = local_b0; *(uint *)((longlong)puVar22 + 0xc) = local_ac; local_88 = puVar16; puVar22 = (undefined8 *)FUN_1812490c0(local_c0,&local_98,0,iVar11); local_70 = *puVar9; *puVar9 = *puVar22; *puVar22 = local_70; puVar19 = (uint *)(local_98 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar20 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar20 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } uVar13 = FUN_180506630(local_c0,&local_90,(int)param_1[4]); uVar33 = FUN_1812518d0(param_1,uVar13); *(undefined4 *)(local_c0 + 1) = uVar33; puVar19 = (uint *)(local_90 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar20 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar20 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } *(uint *)((longlong)local_c0 + 0xc) = (uint)(ushort)((short)param_2 - (short)uVar28); iVar11 = uVar27 + 1; uVar31 = (ulonglong)iVar11; if (iVar11 < *(int *)((longlong)param_1 + 0x1c)) { lVar26 = uVar31 << 4; do { lVar7 = *plVar2; local_68 = *(longlong *)(lVar26 + lVar7); if ((*(uint *)(local_68 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_68 + -0x10) = *(int *)(local_68 + -0x10) + 1; UNLOCK(); } uVar33 = *(undefined4 *)(lVar26 + 8 + lVar7); uVar4 = *(undefined4 *)(lVar26 + 0xc + lVar7); iVar5 = *(int *)((longlong)plVar12 + 0x1c); iVar14 = iVar5 + 1; if ((int)plVar12[3] < iVar14) { if (iVar14 < 0) { iVar14 = iVar5 + 2; } FUN_18051d4f0(plVar1,iVar5 + 9 + (iVar14 >> 1) & 0xfffffff8); } iVar14 = *(int *)((longlong)plVar12 + 0x1c); *(int *)((longlong)plVar12 + 0x1c) = iVar14 + 1; plVar23 = (longlong *)((longlong)iVar14 * 0x10 + *plVar1); *plVar23 = local_68; *(undefined4 *)(plVar23 + 1) = uVar33; *(undefined4 *)((longlong)plVar23 + 0xc) = uVar4; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar27 = DAT_1821dbf88 - 1; UNLOCK(); bVar32 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar27; if (bVar32) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar27 = (int)uVar31 + 1; uVar31 = (ulonglong)uVar27; lVar26 = lVar26 + 0x10; puVar16 = local_88; } while ((int)uVar27 < *(int *)((longlong)param_1 + 0x1c)); } FUN_18051a540(plVar2,iVar11,*(undefined4 *)((longlong)param_1 + 0x1c)); if ((*puVar16 & 0x30000000) != 0) { return local_80; } LOCK(); uVar27 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar27 != 0) { return local_80; } /* WARNING: Subroutine does not return */ free(puVar16); } LAB_180506aa1: uVar31 = uVar31 + 1; pbVar17 = pbVar18; } while( true ); } ############ FUN_ 1812dccb0 size=962 ############ void FUN_1812dccb0(longlong param_1,longlong *param_2,int param_3,longlong *param_4, undefined4 param_5,longlong param_6,undefined4 param_7) { undefined4 uVar1; undefined8 *puVar2; longlong lVar3; undefined8 uVar4; longlong *plVar5; uint uVar6; int iVar7; int iVar8; longlong lVar9; int iVar10; longlong lVar11; if (*(char *)*param_2 != '\0') { if (param_6 == 0) { FUN_1812dbb90(); FUN_1812e0940(param_1); iVar7 = 0; iVar8 = 0; if (0 < *(int *)(param_1 + 0x2b4)) { lVar11 = 0; iVar10 = 0; do { lVar9 = *(longlong *)(lVar11 + *(longlong *)(param_1 + 0x2a8)); iVar7 = 0; lVar3 = *(longlong *)(lVar9 + 0x10); lVar9 = (longlong)*(int *)(lVar9 + 0x1c) * 0x10 + lVar3; for (; lVar3 != lVar9; lVar3 = lVar3 + 0x10) { iVar7 = iVar7 + *(int *)(lVar3 + 0xc); } iVar7 = iVar7 + iVar10; if (param_3 == iVar10) { plVar5 = (longlong *)FUN_1811316e0(0x28); uVar1 = *(undefined4 *)(param_1 + 0x2c4); lVar11 = *param_4; *plVar5 = lVar11; if (lVar11 != 0) { LOCK(); *(int *)(lVar11 + 8) = *(int *)(lVar11 + 8) + 1; UNLOCK(); } *(undefined4 *)(plVar5 + 1) = param_5; plVar5[2] = 0; plVar5[3] = 0; *(undefined4 *)(plVar5 + 4) = uVar1; FUN_180506e50(plVar5,param_2); FUN_18051b0d0(param_1 + 0x2a8,iVar8,plVar5); break; } if ((iVar10 < param_3) && (param_3 < iVar7)) { uVar4 = FUN_180506840(*(undefined8 *) (*(longlong *)(param_1 + 0x2a8) + (longlong)iVar8 * 8), param_3 - iVar10); FUN_18051b0d0(param_1 + 0x2a8,iVar8 + 1,uVar4); uVar4 = FUN_1811316e0(0x28); uVar4 = FUN_1805067e0(uVar4,param_2,param_4,param_5,*(undefined4 *)(param_1 + 0x2c4)); FUN_18051b0d0(param_1 + 0x2a8,iVar8 + 1,uVar4); break; } iVar8 = iVar8 + 1; lVar11 = lVar11 + 8; iVar10 = iVar7; } while (iVar8 < *(int *)(param_1 + 0x2b4)); } if (iVar7 == param_3) { plVar5 = (longlong *)FUN_1811316e0(0x28); uVar1 = *(undefined4 *)(param_1 + 0x2c4); lVar11 = *param_4; *plVar5 = lVar11; if (lVar11 != 0) { LOCK(); *(int *)(lVar11 + 8) = *(int *)(lVar11 + 8) + 1; UNLOCK(); } *(undefined4 *)(plVar5 + 1) = param_5; plVar5[2] = 0; plVar5[3] = 0; *(undefined4 *)(plVar5 + 4) = uVar1; FUN_180506e50(plVar5,param_2); iVar7 = *(int *)(param_1 + 0x2b4) + 1; if (*(int *)(param_1 + 0x2b0) < iVar7) { FUN_18047cb30((longlong *)(param_1 + 0x2a8), *(int *)(param_1 + 0x2b4) + 9 + iVar7 / 2 & 0xfffffff8); } iVar7 = *(int *)(param_1 + 0x2b4); *(int *)(param_1 + 0x2b4) = iVar7 + 1; *(longlong **)(*(longlong *)(param_1 + 0x2a8) + (longlong)iVar7 * 8) = plVar5; } FUN_1812db150(param_1); *(undefined4 *)(param_1 + 0x2a0) = 0xffffffff; *(undefined1 *)(param_1 + 0x1f8) = 1; FUN_1812e0480(param_1); *(undefined4 *)(param_1 + 0x2f8) = 0; FUN_1812e0940(param_1,*(undefined8 *)(param_1 + 0x280)); FUN_1812e08d0(param_1,param_7); *(ulonglong *)(param_1 + 0x280) = CONCAT44(*(undefined4 *)(param_1 + 0x2a4),*(undefined4 *)(param_1 + 0x2a4)); iVar8 = FUN_1812dbb90(param_1); iVar7 = param_3; if (param_3 < iVar8) { iVar7 = iVar8; } FUN_1812e0940(param_1,CONCAT44(iVar7,param_3)); } else { if ((((*(char *)(param_6 + 0x70) == '\0') && (uVar6 = *(int *)(param_6 + 0x6c) - 1, uVar6 < *(uint *)(param_6 + 0x44))) && (lVar11 = *(longlong *)(*(longlong *)(param_6 + 0x38) + (longlong)(int)uVar6 * 8), lVar11 != 0)) && (100 < *(int *)(lVar11 + 0xc))) { FUN_1812e1fc0(param_1); } puVar2 = (undefined8 *)FUN_1811316e0(0x38); uVar1 = *(undefined4 *)(param_1 + 0x2a4); *puVar2 = juce::TextEditor::InsertAction::vftable; puVar2[1] = param_1; lVar11 = *param_2; puVar2[2] = lVar11; if ((*(uint *)(lVar11 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar11 + -0x10) = *(int *)(lVar11 + -0x10) + 1; UNLOCK(); } *(int *)(puVar2 + 3) = param_3; *(undefined4 *)((longlong)puVar2 + 0x1c) = uVar1; *(undefined4 *)(puVar2 + 4) = param_7; lVar11 = *param_4; puVar2[5] = lVar11; if (lVar11 != 0) { LOCK(); *(int *)(lVar11 + 8) = *(int *)(lVar11 + 8) + 1; UNLOCK(); } *(undefined4 *)(puVar2 + 6) = param_5; FUN_1813526d0(param_6); } } return; } ############ FUN_ 1812e1780 size=458 ############ void FUN_1812e1780(longlong param_1) { code *pcVar1; undefined8 *puVar2; char cVar3; longlong lVar4; undefined8 *puVar5; if (((*(char *)(param_1 + 0x1ed) == '\0') || (*(char *)(param_1 + 0x1ec) != '\0')) || ((*(byte *)(param_1 + 0xa9) & 0x10) != 0)) { LAB_1812e1911: puVar5 = *(undefined8 **)(param_1 + 0x278); *(undefined8 *)(param_1 + 0x278) = 0; if (puVar5 != (undefined8 *)0x0) { /* WARNING: Could not recover jumptable at 0x0001812e1933. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)*puVar5)(puVar5,1); return; } } else { if (*(longlong *)(param_1 + 0x18) != 0) { cVar3 = FUN_18133eaa0(); if (cVar3 == '\0') goto LAB_1812e1911; } if (*(longlong *)(param_1 + 0x278) == 0) { lVar4 = FUN_18134adf0(param_1); pcVar1 = *(code **)(*(longlong *)(lVar4 + 0x18) + 0x18); if (pcVar1 == FUN_18130f9a0) { puVar5 = (undefined8 *)FUN_1811316e0(0xd0); puVar5[1] = &DAT_1821dbf98; puVar5[2] = &DAT_1821dbf98; puVar5[3] = 0; puVar5[4] = 0; puVar5[5] = 0; puVar5[6] = 0; puVar5[7] = 0; puVar5[8] = 0; puVar5[9] = 0; puVar5[10] = 0; puVar5[0xb] = 0; puVar5[0xc] = 0; puVar5[0xd] = 0; puVar5[0xe] = 0; puVar5[0xf] = 0; puVar5[0x10] = 0; puVar5[0x11] = 0; puVar5[0x12] = 0; puVar5[0x13] = 0; puVar5[0x14] = 0; *(undefined4 *)(puVar5 + 0x15) = 0; *(undefined1 *)((longlong)puVar5 + 0xac) = 0; *(undefined4 *)(puVar5 + 0x18) = 0; puVar5[0x17] = 0xffffffffffffffff; *(byte *)((longlong)puVar5 + 0xa9) = *(byte *)((longlong)puVar5 + 0xa9) | 0x40; *puVar5 = juce::CaretComponent::vftable; puVar5[0x16] = juce::CaretComponent::vftable; puVar5[0x19] = param_1; *(byte *)(puVar5 + 0x15) = *(byte *)(puVar5 + 0x15) & 0xef | 8; } else { puVar5 = (undefined8 *)(*pcVar1)(lVar4 + 0x18,param_1); } puVar2 = *(undefined8 **)(param_1 + 0x278); *(undefined8 **)(param_1 + 0x278) = puVar5; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } if (*(longlong *)(param_1 + 0x278) != 0) { FUN_181343cc0(*(undefined8 *)(param_1 + 0x1d0),*(longlong *)(param_1 + 0x278),0xffffffff); } FUN_1812e16d0(param_1); return; } } return; } ############ FUN_ 1812e2370 size=975 ############ undefined8 * FUN_1812e2370(undefined8 *param_1,undefined8 param_2,undefined4 param_3) { undefined8 *puVar1; uint uVar2; undefined8 uVar3; longlong lVar4; longlong *plVar5; HCURSOR pHVar6; undefined8 *puVar7; bool bVar8; longlong *local_res20; undefined1 *local_38; undefined8 local_30; undefined4 *local_28; longlong *local_20; local_30 = 0xfffffffffffffffe; puVar7 = param_1; FUN_1813453e0(); puVar7[0x18] = &DAT_1821dbf98; *puVar7 = juce::TextEditor::vftable; puVar7[0x16] = juce::TextEditor::vftable; puVar7[0x17] = juce::TextEditor::vftable; puVar7[0x20] = 0; puVar7[0x28] = 0; puVar7[0x30] = 0; puVar7[0x38] = 0; puVar7[0x39] = 0; *(undefined4 *)(puVar7 + 0x3b) = 1; *(undefined4 *)((longlong)puVar7 + 0x1dc) = 1; *(undefined4 *)(puVar7 + 0x3c) = 1; *(undefined4 *)((longlong)puVar7 + 0x1e4) = 3; *(undefined4 *)(puVar7 + 0x3d) = 1; *(undefined4 *)((longlong)puVar7 + 0x1ec) = 0x100; *(undefined4 *)(puVar7 + 0x3e) = 0x1000100; *(undefined4 *)((longlong)puVar7 + 500) = 0x100; *(undefined2 *)(puVar7 + 0x3f) = 0x100; FUN_181352b90(puVar7 + 0x40); param_1[0x4f] = 0; param_1[0x50] = 0; *(undefined4 *)(param_1 + 0x51) = 4; *(undefined8 *)((longlong)param_1 + 0x28c) = 4; local_res20 = param_1 + 0x53; uVar3 = FUN_1811316e0(0x40); lVar4 = FUN_1804a2b80(uVar3,0,DAT_1824c4414); param_1[0x53] = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } param_1[0x54] = 0; param_1[0x55] = 0; param_1[0x56] = 0; param_1[0x57] = &DAT_1821dbf98; *(undefined4 *)(param_1 + 0x58) = 0; *(undefined4 *)((longlong)param_1 + 0x2c4) = param_3; param_1[0x59] = 0; *(undefined1 *)(param_1 + 0x5a) = 0; FUN_181351c70(param_1 + 0x5b); *(undefined4 *)(param_1 + 0x5e) = 0; *(undefined8 *)((longlong)param_1 + 0x2f4) = 0x3f800000; param_1[0x60] = 0; param_1[0x61] = 0; param_1[0x62] = 0; param_1[99] = 0; local_28 = &DAT_182673b68; do { LOCK(); uVar2 = DAT_182673b68 & 1; DAT_182673b68 = DAT_182673b68 | 1; UNLOCK(); } while (uVar2 != 0); if (DAT_18267aaf0 == (longlong *)0x0) { plVar5 = (longlong *)FUN_1811316e0(0x20); *plVar5 = 0; local_20 = plVar5; pHVar6 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f01); if (pHVar6 == (HCURSOR)0x0) { pHVar6 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f00); } plVar5[1] = (longlong)pHVar6; *(undefined4 *)(plVar5 + 2) = 1; *(undefined4 *)((longlong)plVar5 + 0x14) = 4; *(undefined1 *)(plVar5 + 3) = 1; DAT_18267aaf0 = plVar5; } else { LOCK(); *(int *)(DAT_18267aaf0 + 2) = (int)DAT_18267aaf0[2] + 1; UNLOCK(); } plVar5 = DAT_18267aaf0; LOCK(); DAT_182673b68 = 0; UNLOCK(); local_res20 = DAT_18267aaf0; FUN_181342db0(param_1,&local_res20); if (plVar5 != (longlong *)0x0) { FUN_1804e9060(plVar5); } puVar7 = (undefined8 *)FUN_1811316e0(0x1c8); local_38 = &DAT_1821dbf98; local_20 = puVar7; FUN_18134a630(puVar7,&local_38); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar8 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar8) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *puVar7 = juce::TextEditor::TextEditorViewport::vftable; puVar7[0x16] = juce::TextEditor::TextEditorViewport::vftable; puVar7[0x17] = juce::TextEditor::TextEditorViewport::vftable; puVar7[0x37] = param_1; *(undefined4 *)(puVar7 + 0x38) = 0; *(undefined1 *)((longlong)puVar7 + 0x1c4) = 0; puVar1 = (undefined8 *)param_1[0x39]; param_1[0x39] = puVar7; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } plVar5 = (longlong *)param_1[0x39]; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x58))(plVar5,1); FUN_181343cc0(param_1,plVar5,0xffffffff); } local_res20 = (longlong *)FUN_1811316e0(0xd8); uVar3 = FUN_1805088d0(local_res20,param_1); param_1[0x3a] = uVar3; FUN_18134a370(param_1[0x39],uVar3,1); *(byte *)(param_1[0x39] + 0xa8) = *(byte *)(param_1[0x39] + 0xa8) & 0xdf; lVar4 = param_1[0x39]; *(undefined2 *)(lVar4 + 0x1a8) = 0; if ((*(char *)(lVar4 + 0x1a5) != '\0') || (*(char *)(lVar4 + 0x1a4) != '\0')) { *(undefined2 *)(lVar4 + 0x1a4) = 0; FUN_1813165e0(); } *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x20; FUN_1812e1780(param_1); return param_1; } ############ FUN_ 1805088d0 size=430 ############ undefined8 * FUN_1805088d0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; uint uVar2; undefined8 *puVar3; HCURSOR pHVar4; undefined8 *local_res10; undefined4 *local_res18; undefined8 *local_res20; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; param_1[0x17] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x18) = 0; *param_1 = juce::TextEditor::TextHolderComponent::vftable; param_1[0x16] = juce::TextEditor::TextHolderComponent::vftable; param_1[0x19] = juce::TextEditor::TextHolderComponent::vftable; param_1[0x1a] = param_2; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xdf; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x18; local_res18 = &DAT_182673b68; do { LOCK(); uVar2 = DAT_182673b68 & 1; DAT_182673b68 = DAT_182673b68 | 1; UNLOCK(); } while (uVar2 != 0); if (DAT_18267aad0 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_1811316e0(0x20); *puVar3 = 0; local_res20 = puVar3; pHVar4 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f00); if (pHVar4 == (HCURSOR)0x0) { pHVar4 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f00); } puVar3[1] = pHVar4; puVar3[2] = 1; *(undefined1 *)(puVar3 + 3) = 1; DAT_18267aad0 = puVar3; } else { LOCK(); *(int *)(DAT_18267aad0 + 2) = *(int *)(DAT_18267aad0 + 2) + 1; UNLOCK(); } puVar3 = DAT_18267aad0; LOCK(); DAT_182673b68 = 0; UNLOCK(); local_res10 = DAT_18267aad0; FUN_181342db0(param_1,&local_res10,param_3,param_4,uVar5); if (puVar3 != (undefined8 *)0x0) { FUN_1804e9060(puVar3); } lVar1 = param_1[0x1a]; FUN_1812e1050(lVar1); FUN_181351570(lVar1 + 0x2d8,param_1 + 0x19); return param_1; } ############ FUN_ 181324bd0 size=160 ############ void FUN_181324bd0(longlong param_1) { undefined8 *puVar1; undefined8 uVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar1 = *(undefined8 **)(param_1 + 0x108); FUN_1812d8df0(param_1,0); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } uVar2 = FUN_1811316e0(0xf8); uVar3 = FUN_1804f5420(uVar2,param_1,0,0,*(longlong *)(param_1 + 0x138) + 0x48, *(undefined8 *)(*(longlong *)(param_1 + 0x138) + 0x58),uVar3); FUN_1804f5ae0(uVar3,*(undefined8 *)(param_1 + 0x138),0); FUN_1812d8df0(param_1,uVar3); return; } ############ FUN_ 18050ac50 size=1214 ############ void FUN_18050ac50(longlong *param_1) { ulonglong *puVar1; void *_Dst; undefined4 uVar2; int iVar3; undefined8 *puVar4; longlong lVar5; int iVar6; uint uVar7; longlong *plVar8; longlong lVar9; undefined8 uVar10; longlong *plVar11; uint uVar12; undefined8 *puVar13; longlong *plVar14; int iVar15; longlong *plVar16; int iVar17; longlong *plVar18; longlong *plVar19; int iVar20; undefined1 local_50 [24]; iVar20 = -*(int *)((longlong)param_1 + 0x24); if (param_1[3] == 0) { lVar9 = FUN_181344bc0(param_1,local_50); iVar15 = *(int *)(lVar9 + 0xc); } else { iVar15 = *(int *)(param_1[3] + 0x2c); } puVar1 = (ulonglong *)(param_1 + 0x1a); plVar8 = (longlong *)*puVar1; plVar19 = (longlong *)0x0; iVar17 = 0; plVar14 = (longlong *) ((ulonglong) ((longlong)(plVar8 + *(int *)((longlong)param_1 + 0xdc)) + (7 - (longlong)plVar8)) >> 3 ); if (plVar8 + *(int *)((longlong)param_1 + 0xdc) < plVar8) { plVar14 = plVar19; } plVar18 = plVar19; if (plVar14 != (longlong *)0x0) { do { *(undefined1 *)(*plVar8 + 0x14) = 0; plVar8 = plVar8 + 1; plVar18 = (longlong *)((longlong)plVar18 + 1); } while (plVar18 != plVar14); } plVar8 = *(longlong **)(param_1[0x19] + 0x108); if ((plVar8 != (longlong *)0x0) && (*(char *)(param_1[0x19] + 0x126) == '\0')) { iVar17 = -*(int *)((longlong)plVar8 + 0x2c); } joined_r0x00018050ad1c: do { plVar14 = plVar8; if ((plVar14 == (longlong *)0x0) || (iVar15 + iVar20 <= iVar17)) break; iVar17 = iVar17 + *(int *)((longlong)plVar14 + 0x2c); if (iVar20 <= iVar17) { plVar18 = (longlong *)*puVar1; plVar8 = plVar18 + *(int *)((longlong)param_1 + 0xdc); if (plVar18 != plVar8) { do { if (*(int *)(*plVar18 + 0x10) == *(int *)((longlong)plVar14 + 0x3c)) { *(undefined1 *)(*plVar18 + 0x14) = 1; goto LAB_18050ae01; } plVar18 = plVar18 + 1; } while (plVar18 != plVar8); } plVar8 = (longlong *)(**(code **)(*plVar14 + 0x38))(plVar14); if (plVar8 != (longlong *)0x0) { lVar9 = FUN_1811316e0(0x18); uVar2 = *(undefined4 *)((longlong)plVar14 + 0x3c); FUN_1804de690(lVar9,plVar8); *(longlong **)(lVar9 + 8) = plVar14; *(undefined4 *)(lVar9 + 0x10) = uVar2; *(undefined1 *)(lVar9 + 0x14) = 1; iVar3 = *(int *)((longlong)param_1 + 0xdc); iVar6 = iVar3 + 1; if ((int)param_1[0x1b] < iVar6) { if (iVar6 < 0) { iVar6 = iVar3 + 2; } FUN_18047cb30(puVar1,iVar3 + 9 + (iVar6 >> 1) & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0xdc); *(int *)((longlong)param_1 + 0xdc) = iVar6 + 1; *(longlong *)(*puVar1 + (longlong)iVar6 * 8) = lVar9; (**(code **)(*plVar8 + 0x58))(plVar8,1); FUN_181343cc0(param_1,plVar8,0xffffffff); } plVar19 = (longlong *)0x0; } LAB_18050ae01: uVar7 = *(uint *)((longlong)plVar14 + 0x44) & 3; plVar8 = plVar19; if (uVar7 == 0) { if ((plVar14[1] != 0) && (*(char *)(plVar14[1] + 0x124) != '\0')) { LAB_18050ae7b: if (*(int *)((longlong)plVar14 + 0x24) != 0) { if (0 < *(int *)((longlong)plVar14 + 0x24)) { plVar8 = *(longlong **)plVar14[3]; } goto joined_r0x00018050ad1c; } } } else if (uVar7 == 2) goto LAB_18050ae7b; lVar9 = plVar14[2]; if (lVar9 == 0) break; puVar4 = *(undefined8 **)(lVar9 + 0x18); for (puVar13 = puVar4; puVar13 != puVar4 + *(int *)(lVar9 + 0x24); puVar13 = puVar13 + 1) { if (plVar14 == (longlong *)*puVar13) { iVar6 = (int)((longlong)puVar13 - (longlong)puVar4 >> 3); goto LAB_18050ae53; } } iVar6 = -1; LAB_18050ae53: uVar7 = iVar6 + 1; if ((int)uVar7 < (int)*(uint *)(lVar9 + 0x24)) { if (uVar7 < *(uint *)(lVar9 + 0x24)) { plVar8 = (longlong *)puVar4[(int)uVar7]; } } else { plVar8 = (longlong *)FUN_1812d5970(lVar9,0); } } while( true ); uVar7 = *(int *)((longlong)param_1 + 0xdc) - 1; if (-1 < (int)uVar7) { lVar9 = (longlong)(int)uVar7 * 8; do { plVar8 = *(longlong **)(lVar9 + *puVar1); plVar14 = plVar19; if (*plVar8 != 0) { plVar14 = *(longlong **)(*plVar8 + 0x10); } do { if (plVar14 == (longlong *)0x0) goto LAB_18050af14; plVar14 = (longlong *)plVar14[3]; } while (plVar14 != param_1); if (*(char *)((longlong)plVar8 + 0x14) == '\0') { LAB_18050b03e: plVar14 = plVar19; if (*plVar8 != 0) { plVar14 = *(longlong **)(*plVar8 + 0x10); } if (DAT_182673700 == 0) { uVar10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar10); plVar19 = (longlong *)0x0; } plVar16 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar18 = plVar16 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); for (; plVar16 != plVar18; plVar16 = plVar16 + 1) { if ((*(byte *)(*plVar16 + 0x28) & 0x70) != 0) { lVar5 = *(longlong *)(*plVar16 + 0x48); plVar11 = plVar19; if (lVar5 != 0) { plVar11 = *(longlong **)(lVar5 + 0x10); } if (plVar11 != (longlong *)0x0) { if (plVar14 == plVar11) { LAB_18050b0e4: plVar14 = plVar19; if (*plVar8 != 0) { plVar14 = *(longlong **)(*plVar8 + 0x10); } FUN_18134bfe0(plVar14,(int)plVar14[4],*(undefined4 *)((longlong)plVar14 + 0x24),0, (int)plVar19); goto LAB_18050af6d; } do { plVar11 = (longlong *)plVar11[3]; if (plVar11 == plVar14) goto LAB_18050b0e4; } while (plVar11 != (longlong *)0x0); } } } LAB_18050af14: if (uVar7 < *(uint *)((longlong)param_1 + 0xdc)) { plVar19 = *(longlong **)(lVar9 + *puVar1); _Dst = (void *)(*puVar1 + (longlong)(int)uVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)((longlong)param_1 + 0xdc) - uVar7) + -1) << 3); *(int *)((longlong)param_1 + 0xdc) = *(int *)((longlong)param_1 + 0xdc) + -1; } if ((*(int *)((longlong)param_1 + 0xdc) * 2 < (int)param_1[0x1b]) && (*(int *)((longlong)param_1 + 0xdc) < (int)param_1[0x1b])) { FUN_18047cb30(puVar1); } if (plVar19 != (longlong *)0x0) { FUN_18051dab0(plVar19); } } else { lVar5 = plVar8[1]; iVar17 = FUN_1812d65b0(lVar5); uVar12 = *(uint *)(lVar5 + 0x34); if ((*(longlong *)(lVar5 + 8) != 0) && ((int)uVar12 < 0)) { uVar12 = *(int *)(*(longlong *)(*(longlong *)(lVar5 + 8) + 0xd0) + 400) - iVar17; } iVar6 = *(int *)(lVar5 + 0x28); plVar19 = (longlong *)0x0; plVar14 = plVar19; if (0 < (int)uVar12) { plVar14 = (longlong *)(ulonglong)uVar12; } if ((*(int *)(plVar8[1] + 0x2c) + iVar6 < iVar20) || (iVar15 + iVar20 <= iVar6)) goto LAB_18050b03e; if (*plVar8 != 0) { plVar19 = *(longlong **)(*plVar8 + 0x10); } FUN_18134bfe0(plVar19,iVar17,iVar6,plVar14,*(int *)(plVar8[1] + 0x2c)); } LAB_18050af6d: lVar9 = lVar9 + -8; uVar7 = uVar7 - 1; plVar19 = (longlong *)0x0; } while (-1 < (int)uVar7); } return; } ############ FUN_ 18132e120 size=320 ############ void FUN_18132e120(longlong param_1) { uint uVar1; void *_Memory; bool bVar2; DWORD DVar3; undefined8 *puVar4; undefined8 uVar5; uint *_Memory_00; longlong local_res10; undefined1 local_res18 [8]; undefined8 local_res20; FUN_18132e310(); *(bool *)(param_1 + 0xa9) = *(int *)(param_1 + 0x9c) == 0; FUN_18051c700(param_1 + 0x90); if (*(int *)(param_1 + 0x98) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x90)); } *(undefined4 *)(param_1 + 0x98) = 0; puVar4 = (undefined8 *)FUN_18049a930(local_res18,param_1 + 0x48); DVar3 = GetFileAttributesW((LPCWSTR)*puVar4); if (((DVar3 & 0x10) == 0) || (bVar2 = true, DVar3 == 0xffffffff)) { bVar2 = false; } if (bVar2) { uVar5 = FUN_1811316e0(0x48); local_res20 = uVar5; FUN_18049c4e0(&local_res10,&DAT_1821e2b74); uVar5 = FUN_181242e90(uVar5,param_1 + 0x48,0,&local_res10,*(undefined4 *)(param_1 + 0x60)); _Memory = *(void **)(param_1 + 0xa0); *(undefined8 *)(param_1 + 0xa0) = uVar5; if (_Memory != (void *)0x0) { FUN_181242dc0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } _Memory_00 = (uint *)(local_res10 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } LOCK(); *(undefined1 *)(param_1 + 0xa8) = 0; UNLOCK(); FUN_181229aa0(*(undefined8 *)(param_1 + 0x58),param_1 + 0x38); } return; } ############ FUN_ 1813489c0 size=794 ############ /* WARNING: Removing unreachable block (ram,0x000181348a3d) */ void FUN_1813489c0(longlong *param_1,longlong param_2,int *param_3,undefined1 param_4, undefined1 param_5,undefined1 param_6,undefined1 param_7) { undefined1 auVar1 [16]; int iVar2; int iVar3; longlong lVar4; longlong lVar5; longlong lVar6; int iVar7; longlong *plVar8; undefined8 uVar9; longlong lVar10; undefined8 *puVar11; int iVar12; int iVar13; undefined8 uVar14; undefined8 local_a8; undefined8 uStack_a0; undefined8 local_98; undefined8 uStack_90; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; undefined8 uStack_70; undefined8 local_68; undefined8 uStack_60; undefined1 local_58 [16]; undefined1 local_48 [16]; uVar14 = 0xfffffffffffffffe; local_68 = 0; uStack_60 = 0; local_a8 = *(undefined8 *)param_3; uStack_a0 = *(undefined8 *)(param_3 + 2); local_88 = 0; uStack_80 = 0; if (*(longlong *)(param_2 + 0x18) == 0) { if (((*(byte *)(param_2 + 0xa8) & 1) != 0) && (plVar8 = (longlong *)FUN_1812d2bd0(param_2), plVar8 != (longlong *)0x0)) { if ((undefined **)*plVar8 == juce::HWNDComponentPeer::vftable) { local_78 = plVar8[0x17]; uStack_70 = plVar8[0x18]; puVar11 = &local_78; } else { puVar11 = (undefined8 *)(*(code *)((undefined **)*plVar8)[0x13])(plVar8,&local_78); } local_88 = *puVar11; uStack_80 = puVar11[1]; } iVar7 = param_3[3]; iVar13 = param_3[1]; iVar2 = param_3[2]; iVar3 = *param_3; if (DAT_182673700 == 0) { uVar9 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar9); } lVar10 = FUN_18133d700(*(undefined8 *)(DAT_182673700 + 0x78), CONCAT44(iVar7 / 2 + iVar13,iVar2 / 2 + iVar3),0); uVar9 = *(undefined8 *)(param_2 + 0x20); lVar6 = *(longlong *)(param_2 + 0x18); lVar5 = param_2; while (lVar4 = lVar6, lVar4 != 0) { lVar5 = lVar4; lVar6 = *(longlong *)(lVar4 + 0x18); } local_78 = *(undefined8 *)(lVar10 + 0x14); uStack_70 = *(undefined8 *)(lVar10 + 0x1c); puVar11 = (undefined8 *)FUN_180520340(local_58,lVar5,&local_78); local_78 = *puVar11; uStack_70 = puVar11[1]; if (lVar5 != param_2) { if (*(longlong *)(param_2 + 0x18) != lVar5) { puVar11 = (undefined8 *) FUN_1805202e0(local_48,lVar5,*(longlong *)(param_2 + 0x18),&local_78); local_78 = *puVar11; uStack_70 = puVar11[1]; } FUN_180520340(&local_98,param_2,&local_78); local_78 = local_98; uStack_70 = uStack_90; } uStack_90 = uStack_70; local_98 = local_78; local_78 = CONCAT44((int)((ulonglong)uVar9 >> 0x20) + local_98._4_4_,(int)local_98 + (int)uVar9) ; local_68 = local_78; uStack_60 = uStack_90; } else { uStack_60 = *(undefined8 *)(*(longlong *)(param_2 + 0x18) + 0x28); } iVar13 = local_88._4_4_; iVar7 = (int)local_88; local_78 = CONCAT44(local_a8._4_4_ - (int)local_88,(int)local_a8 - local_88._4_4_); iVar3 = uStack_80._4_4_; iVar2 = (int)uStack_80; uStack_70 = CONCAT44(uStack_a0._4_4_ + (int)uStack_80 + (int)local_88, (int)uStack_a0 + uStack_80._4_4_ + local_88._4_4_); local_a8 = local_78; uStack_a0 = uStack_70; auVar1 = *(undefined1 (*) [16])(param_2 + 0x20); local_78 = CONCAT44(auVar1._4_4_ - (int)local_88,auVar1._0_4_ - local_88._4_4_); uStack_70 = CONCAT44(auVar1._12_4_ + (int)uStack_80 + (int)local_88, auVar1._8_4_ + uStack_80._4_4_ + local_88._4_4_); (**(code **)(*param_1 + 8)) (param_1,&local_a8,&local_78,&local_68,param_4,param_5,param_6,param_7,uVar14); iVar12 = (int)local_a8 + iVar13; local_a8._4_4_ = local_a8._4_4_ + iVar7; local_98 = CONCAT44(local_a8._4_4_,iVar12); iVar13 = ((int)uStack_a0 - iVar3) - iVar13; iVar7 = (uStack_a0._4_4_ - iVar2) - iVar7; uStack_90 = CONCAT44(iVar7,iVar13); local_a8 = local_98; uStack_a0 = uStack_90; local_78 = local_98; uStack_70 = uStack_90; if ((undefined **)*param_1 == juce::ComponentBoundsConstrainer::vftable) { plVar8 = *(longlong **)(param_2 + 0x30); if (plVar8 == (longlong *)0x0) { FUN_18134bfe0(param_2,iVar12,local_a8._4_4_,iVar13,iVar7); } else { (**(code **)(*plVar8 + 8))(plVar8,&local_78); } } else { (*(code *)((undefined **)*param_1)[4])(param_1,param_2,&local_78); } return; } ############ FUN_ 1813490d0 size=378 ############ undefined8 * FUN_1813490d0(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { uint uVar1; undefined8 *puVar2; HCURSOR pHVar3; undefined8 *local_res18; undefined4 *local_res20; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = juce::ResizableCornerComponent::vftable; param_1[0x16] = param_3; local_res18 = param_1 + 0x17; FUN_1804de690(); param_1[0x18] = 0; param_1[0x19] = 0; *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) | 8; local_res20 = &DAT_182673b68; do { LOCK(); uVar1 = DAT_182673b68 & 1; DAT_182673b68 = DAT_182673b68 | 1; UNLOCK(); } while (uVar1 != 0); if (DAT_18267ab68 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1811316e0(0x20); *puVar2 = 0; pHVar3 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f82); if (pHVar3 == (HCURSOR)0x0) { pHVar3 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f00); } puVar2[1] = pHVar3; *(undefined4 *)(puVar2 + 2) = 1; *(undefined4 *)((longlong)puVar2 + 0x14) = 0x13; *(undefined1 *)(puVar2 + 3) = 1; DAT_18267ab68 = puVar2; } else { LOCK(); *(int *)(DAT_18267ab68 + 2) = *(int *)(DAT_18267ab68 + 2) + 1; UNLOCK(); } puVar2 = DAT_18267ab68; LOCK(); DAT_182673b68 = 0; UNLOCK(); local_res18 = DAT_18267ab68; FUN_181342db0(param_1,&local_res18); if (puVar2 != (undefined8 *)0x0) { FUN_1804e9060(puVar2); } return param_1; } ############ FUN_ 1812eadd0 size=1387 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812eadd0(longlong *param_1) { int *piVar1; uint uVar2; code *pcVar3; longlong lVar4; undefined8 *puVar5; undefined ***pppuVar6; byte bVar7; int iVar8; longlong lVar9; longlong *plVar10; undefined8 uVar11; undefined4 *puVar12; uint *puVar13; char cVar14; undefined ***pppuVar15; bool bVar16; undefined1 auStack_158 [32]; longlong local_138; undefined4 local_130; undefined1 *local_128; longlong local_120 [2]; undefined4 uStack_110; undefined4 uStack_10c; undefined8 local_108; undefined4 uStack_100; undefined4 uStack_fc; int local_f8; undefined1 local_f4 [4]; undefined1 local_f0 [4]; undefined1 local_ec [4]; undefined1 *local_e8; longlong local_e0 [3]; undefined4 local_c8; undefined4 uStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; undefined4 local_b8; undefined4 uStack_b4; undefined4 uStack_b0; undefined4 uStack_ac; undefined **local_a8; longlong *local_a0; undefined ***local_70; longlong local_68 [7]; longlong *local_30; ulonglong local_28; local_e0[1] = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_158; local_130 = 0; uStack_10c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_110 = (undefined4)param_1[5]; local_120[1] = 0; local_c8 = 0; uStack_c4 = 0; uStack_c0 = uStack_110; uStack_bc = uStack_10c; FUN_181342870(param_1,&local_c8,1); lVar9 = FUN_18134adf0(param_1); pcVar3 = *(code **)(*(longlong *)(lVar9 + 0x48) + 0x18); if (pcVar3 == FUN_18130f1f0) { local_120[0] = FUN_1811316e0(0x208); local_e8 = &DAT_1821dbf98; local_128 = &DAT_1821dbf98; local_130 = 3; lVar9 = FUN_18134a080(local_120[0],&local_128,&local_e8); puVar13 = (uint *)(local_128 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar16 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar16) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } else { lVar9 = (*pcVar3)(); } lVar4 = param_1[0x2e]; local_138 = lVar9; local_e0[2] = lVar9; if (lVar4 != 0) { if ((*(char *)(lVar4 + 0x200) == '\0') && (*(char *)(lVar4 + 0x201) == '\0')) { cVar14 = '\0'; } else { cVar14 = '\x01'; } *(char *)(lVar9 + 0x200) = cVar14; *(undefined2 *)(lVar9 + 0x201) = 0; *(byte *)(lVar9 + 0xa8) = *(byte *)(lVar9 + 0xa8) & 0xdf; *(byte *)(lVar9 + 0xa8) = *(byte *)(lVar9 + 0xa8) | (cVar14 != '\0') << 5; *(byte *)(lVar9 + 0xa8) = ((cVar14 != '\0') << 6 ^ *(byte *)(lVar9 + 0xa8)) & 0x40 ^ *(byte *)(lVar9 + 0xa8); local_f8 = *(int *)(param_1[0x2e] + 0x1c0); if (*(int *)(lVar9 + 0x1c0) != local_f8) { *(int *)(lVar9 + 0x1c0) = local_f8; uStack_fc = *(undefined4 *)(lVar9 + 0x2c); uStack_100 = *(undefined4 *)(lVar9 + 0x28); local_108 = 0; local_b8 = 0; uStack_b4 = 0; uStack_b0 = uStack_100; uStack_ac = uStack_fc; FUN_181342870(lVar9,&local_b8,1); } plVar10 = (longlong *) (**(code **)(*(longlong *)(param_1[0x2e] + 0xb0) + 8)) ((longlong *)(param_1[0x2e] + 0xb0),local_e0); pcVar3 = *(code **)(*(longlong *)(lVar9 + 0xb0) + 0x10); if (pcVar3 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { if ((*(uint *)(*plVar10 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar10 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar4 = *(longlong *)(lVar9 + 0xb8); *(longlong *)(lVar9 + 0xb8) = *plVar10; UNLOCK(); puVar13 = (uint *)(lVar4 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } } else { (*pcVar3)(lVar9 + 0xb0,plVar10); } puVar13 = (uint *)(local_e0[0] + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } uVar11 = FUN_1812ea010(param_1[0x2e],local_120); FUN_181349c50(local_138,uVar11,0); puVar13 = (uint *)(local_120[0] + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } } puVar5 = (undefined8 *)param_1[0x2e]; param_1[0x2e] = local_138; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } plVar10 = (longlong *)param_1[0x2e]; if (plVar10 != (longlong *)0x0) { (**(code **)(*plVar10 + 0x58))(plVar10,1); FUN_181343cc0(param_1,plVar10,0xffffffff); } if ((*(char *)(param_1[0x2e] + 0x200) == '\0') && (*(char *)(param_1[0x2e] + 0x201) == '\0')) { bVar7 = 0; } else { bVar7 = 1; } iVar8 = bVar7 + 1; if (iVar8 != (int)param_1[0x31]) { *(int *)(param_1 + 0x31) = iVar8; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xdf; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | (iVar8 == 1) << 5; } lVar9 = param_1[0x2e]; pppuVar15 = (undefined ***)(lVar9 + 0xd8); local_a8 = std::_Func_impl_no_alloc<,void>::vftable; local_70 = &local_a8; local_30 = (longlong *)0x0; local_a0 = param_1; local_30 = (longlong *)(*(code *)PTR_FUN_18249db20)(&local_a8,local_68); if (local_70 != (undefined ***)0x0) { (*(code *)(*local_70)[4])(local_70,local_70 != &local_a8); local_70 = (undefined ***)0x0; } pppuVar6 = *(undefined ****)(lVar9 + 0x110); if (pppuVar6 != (undefined ***)0x0) { if (pppuVar6 == pppuVar15) { local_70 = (undefined ***)(*(code *)(*pppuVar6)[1])(pppuVar6,&local_a8); pppuVar6 = *(undefined ****)(lVar9 + 0x110); if (pppuVar6 == (undefined ***)0x0) goto LAB_1812eb1d6; (*(code *)(*pppuVar6)[4])(pppuVar6,pppuVar6 != pppuVar15); pppuVar6 = local_70; } local_70 = pppuVar6; *(undefined8 *)(lVar9 + 0x110) = 0; } LAB_1812eb1d6: FUN_180488560(pppuVar15,local_68); if (local_30 != (longlong *)0x0) { (**(code **)(*local_30 + 0x20))(local_30,local_30 != local_68); } if (local_70 != (undefined ***)0x0) { (*(code *)(*local_70)[4]) (local_70,CONCAT71((int7)((ulonglong)&local_a8 >> 8),local_70 != &local_a8)); } FUN_181341570(param_1[0x2e],param_1,0); FUN_18134a800(param_1[0x2e],0x1000280,DAT_182673b60); lVar9 = param_1[0x2e]; puVar12 = (undefined4 *)FUN_18134a8d0(param_1,local_f4,0x1000a00,0); FUN_18134a800(lVar9,0x1000281,*puVar12); lVar9 = param_1[0x2e]; puVar12 = (undefined4 *)FUN_18134a8d0(param_1,local_f0,0x1000a00,0); FUN_18134a800(lVar9,0x1000201,*puVar12); FUN_18134a800(param_1[0x2e],0x1000200,DAT_182673b60); lVar9 = param_1[0x2e]; puVar12 = (undefined4 *)FUN_18134a8d0(param_1,local_ec,0x1000202,0); FUN_18134a800(lVar9,0x1000202,*puVar12); FUN_18134a800(param_1[0x2e],0x1000205,DAT_182673b60); (**(code **)(*param_1 + 0x108))(param_1); } ############ FUN_ 18134a080 size=601 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18134a080(undefined8 *param_1,undefined8 param_2,longlong *param_3) { undefined8 *puVar1; undefined8 uVar2; longlong lVar3; undefined8 *puVar4; undefined1 auStack_78 [32]; longlong *local_58; undefined8 local_50; undefined8 *local_48; undefined **local_40; longlong local_38; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_78; puVar4 = param_1; local_48 = param_1; FUN_1813453e0(); puVar4[0x17] = &DAT_1821dbf98; *puVar4 = juce::Label::vftable; puVar4[0x16] = juce::Label::vftable; puVar4[0x18] = juce::Label::vftable; puVar4[0x19] = juce::Label::vftable; puVar4[0x1a] = juce::Label::vftable; puVar4[0x22] = 0; puVar4[0x2a] = 0; puVar4[0x32] = 0; local_40 = &PTR_vftable_18262b560; local_38 = *param_3; if ((*(uint *)(local_38 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_38 + -0x10) = *(int *)(local_38 + -0x10) + 1; UNLOCK(); } puVar4 = param_1 + 0x33; local_58 = puVar4; puVar1 = (undefined8 *)FUN_1811316e0(0x40); local_58 = puVar1; FUN_181351450(puVar1); *puVar1 = juce::SimpleValueSource::vftable; puVar1[2] = juce::SimpleValueSource::vftable; puVar1[6] = local_40; (**(code **)(*local_40 + 0xb8))(local_40,puVar1 + 7,&local_38); *puVar4 = puVar1; LOCK(); *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; UNLOCK(); param_1[0x34] = 0; param_1[0x35] = 0; (**(code **)(*local_40 + 0xb0))(local_40,&local_38); lVar3 = *param_3; param_1[0x36] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } local_58 = param_1 + 0x37; uVar2 = FUN_1811316e0(0x40); lVar3 = FUN_1804a2b80(uVar2,0,DAT_1824c4418); param_1[0x37] = lVar3; if (lVar3 != 0) { LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); } *(undefined4 *)(param_1 + 0x38) = 0x21; param_1[0x39] = 0; param_1[0x3a] = 0; param_1[0x3b] = 0; param_1[0x3c] = 0; *(undefined4 *)(param_1 + 0x3d) = 1; *(undefined4 *)((longlong)param_1 + 0x1ec) = 5; *(undefined4 *)(param_1 + 0x3e) = 1; *(undefined8 *)((longlong)param_1 + 500) = 5; *(undefined8 *)((longlong)param_1 + 0x1fc) = 0; FUN_18134a800(param_1,0x1000201,DAT_18262b5b8); FUN_18134a800(param_1,0x1000200,DAT_182673b60); FUN_18134a800(param_1,0x1000205,DAT_182673b60); FUN_181351570(puVar4,param_1 + 0x1a); } ############ FUN_ 18128f8e0 size=360 ############ void FUN_18128f8e0(longlong *param_1,longlong param_2) { longlong *plVar1; longlong lVar2; uint uVar3; undefined8 *puVar4; int iVar5; if (DAT_182673a70 == (undefined8 *)0x0) { puVar4 = (undefined8 *)FUN_1811316e0(0x60); *puVar4 = juce::Timer::vftable; puVar4[1] = 0xffffffffffffffff; *(undefined4 *)(puVar4 + 2) = 0; FUN_1812a7230(puVar4 + 3); *puVar4 = juce::ImageCache::Pimpl::vftable; puVar4[3] = juce::ImageCache::Pimpl::vftable; puVar4[4] = 0; puVar4[5] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(puVar4 + 6)); *(undefined4 *)((longlong)puVar4 + 0x5c) = 5000; DAT_182673a70 = puVar4; } puVar4 = DAT_182673a70; if (*param_1 != 0) { if (*(int *)(DAT_182673a70 + 2) < 1) { FUN_1812a77d0(DAT_182673a70,2000); } EnterCriticalSection((LPCRITICAL_SECTION)(puVar4 + 6)); lVar2 = *param_1; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } uVar3 = DAT_1826737fc; if (DAT_1826737fc == 0) { uVar3 = timeGetTime(); if (uVar3 < DAT_1826737fc) { if (uVar3 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = uVar3; } } else { LOCK(); UNLOCK(); DAT_1826737fc = uVar3; } } iVar5 = *(int *)((longlong)puVar4 + 0x2c) + 1; if (*(int *)(puVar4 + 5) < iVar5) { FUN_1804b0100(puVar4 + 4,*(int *)((longlong)puVar4 + 0x2c) + 9 + iVar5 / 2 & 0xfffffff8); } iVar5 = *(int *)((longlong)puVar4 + 0x2c); *(int *)((longlong)puVar4 + 0x2c) = iVar5 + 1; plVar1 = (longlong *)(puVar4[4] + (longlong)iVar5 * 0x18); *plVar1 = lVar2; plVar1[1] = param_2; *(uint *)(plVar1 + 2) = uVar3; LeaveCriticalSection((LPCRITICAL_SECTION)(puVar4 + 6)); } return; } ############ FUN_ 1804f5950 size=288 ############ void FUN_1804f5950(longlong param_1,char param_2) { uint uVar1; code *pcVar2; char cVar3; DWORD DVar4; undefined8 *puVar5; undefined8 uVar6; undefined8 local_res18 [2]; if (param_2 != '\0') { FUN_1812d7200(); puVar5 = (undefined8 *)FUN_18049a930(local_res18,param_1 + 0x70); DVar4 = GetFileAttributesW((LPCWSTR)*puVar5); if (((DVar4 & 0x10) == 0) || (DVar4 == 0xffffffff)) { cVar3 = '\0'; } else { cVar3 = '\x01'; } *(char *)(param_1 + 0xa0) = cVar3; if (cVar3 != '\0') { if (*(longlong *)(param_1 + 0x90) == 0) { local_res18[0] = FUN_1811316e0(0xb0); uVar6 = FUN_18132e630(local_res18[0],*(undefined8 *)(*(longlong *)(param_1 + 0x80) + 0x50), *(undefined8 *)(param_1 + 0xa8)); uVar1 = *(uint *)(*(longlong *)(param_1 + 0x80) + 0x60); FUN_18132e3a0(uVar6,param_1 + 0x70,*(byte *)(*(longlong *)(param_1 + 0x80) + 0x60) & 1, CONCAT31((uint3)(uVar1 >> 9),(char)(uVar1 >> 1)) & 0xffffff01); FUN_1804f5ae0(param_1,uVar6,1); } pcVar2 = *(code **)(*(longlong *)(param_1 + 0x68) + 8); if (pcVar2 != FUN_1804f5d10) { (*pcVar2)((longlong *)(param_1 + 0x68),0); return; } FUN_1804f5d20(param_1); return; } } return; } ############ FUN_ 1804f5d20 size=490 ############ void FUN_1804f5d20(longlong param_1) { LPCRITICAL_SECTION p_Var1; int iVar2; longlong lVar3; uint uVar4; undefined8 uVar5; uint *_Memory; ulonglong uVar6; ulonglong uVar7; undefined1 *local_res10; undefined8 local_res18; LPCRITICAL_SECTION local_res20; uVar6 = 0; FUN_1812d7200(); uVar4 = *(uint *)(param_1 + 0x44) & 3; if (uVar4 == 0) { if (*(longlong *)(param_1 + 8) == 0) { return; } if (*(char *)(*(longlong *)(param_1 + 8) + 0x124) == '\0') { return; } } else if (uVar4 != 2) { return; } lVar3 = *(longlong *)(param_1 + 0x90); if (lVar3 != 0) { EnterCriticalSection((LPCRITICAL_SECTION)(lVar3 + 100)); iVar2 = *(int *)(lVar3 + 0x9c); LeaveCriticalSection((LPCRITICAL_SECTION)(lVar3 + 100)); uVar7 = uVar6; if (0 < iVar2) { do { uVar5 = FUN_1811316e0(0xf8); lVar3 = *(longlong *)(param_1 + 0x90); p_Var1 = (LPCRITICAL_SECTION)(lVar3 + 100); local_res18 = uVar5; local_res20 = p_Var1; EnterCriticalSection(p_Var1); if (((uint)uVar6 < *(uint *)(lVar3 + 0x9c)) && (*(longlong *)(uVar7 + *(longlong *)(lVar3 + 0x90)) != 0)) { FUN_181245100(lVar3 + 0x48,&local_res10); } else { local_res10 = &DAT_1821dbf98; } LeaveCriticalSection(p_Var1); uVar5 = FUN_1804f5420(uVar5,*(undefined8 *)(param_1 + 0x78),*(undefined8 *)(param_1 + 0x90), uVar6,&local_res10,*(undefined8 *)(param_1 + 0xa8)); FUN_1812d6fd0(param_1,uVar5); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } uVar4 = (uint)uVar6 + 1; uVar6 = (ulonglong)uVar4; lVar3 = *(longlong *)(param_1 + 0x90); p_Var1 = (LPCRITICAL_SECTION)(lVar3 + 100); EnterCriticalSection(p_Var1); iVar2 = *(int *)(lVar3 + 0x9c); LeaveCriticalSection(p_Var1); uVar7 = uVar7 + 8; } while ((int)uVar4 < iVar2); } } return; } ############ FUN_ 18051a960 size=193 ############ longlong * FUN_18051a960(longlong *param_1,longlong param_2) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; undefined8 *puVar5; if (param_2 != 0) { if (*(longlong *)(param_2 + 0x80) == 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x18); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce:: WeakReference:: SharedPointer::vftable; puVar5[2] = param_2; if (*(undefined8 **)(param_2 + 0x80) != puVar5) { LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); puVar3 = *(undefined8 **)(param_2 + 0x80); *(undefined8 **)(param_2 + 0x80) = puVar5; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } } } lVar4 = *(longlong *)(param_2 + 0x80); *param_1 = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } return param_1; } *param_1 = 0; return param_1; } ############ FUN_ 181319110 size=1777 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181319110(longlong param_1) { undefined8 *puVar1; undefined ***pppuVar2; double dVar3; int iVar4; int iVar5; int iVar6; longlong lVar7; longlong lVar8; undefined8 uVar9; undefined ***pppuVar10; longlong *plVar11; int iVar12; uint uVar13; uint uVar14; int iVar15; bool bVar16; double dVar17; undefined1 auStack_168 [32]; int local_148; undefined8 local_138; int local_130; longlong *local_128; ulonglong uStack_120; int local_118; int local_114; longlong local_110; undefined4 local_108; uint uStack_104; undefined4 uStack_100; int iStack_fc; uint local_f8; undefined4 uStack_f4; int iStack_f0; undefined4 uStack_ec; undefined8 local_e8; undefined **local_d8; longlong local_d0; undefined ***local_a0; longlong local_98 [7]; longlong *local_60; ulonglong local_58; local_e8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_168; lVar7 = FUN_18134adf0(); iVar12 = *(int *)(param_1 + 0x28); iVar15 = *(int *)(param_1 + 0x2c); if (1 < *(int *)(param_1 + 0xf8) - 2U) { iVar12 = *(int *)(param_1 + 0x2c); iVar15 = *(int *)(param_1 + 0x28); } local_110 = CONCAT44(local_110._4_4_,iVar15); plVar11 = (longlong *)(lVar7 + 0x78); local_128 = plVar11; local_118 = iVar12; iVar4 = (**(code **)(*plVar11 + 0x10))(plVar11,iVar12); iVar5 = (**(code **)(*plVar11 + 8))(plVar11); local_130 = iVar4 + iVar5 * 2; iVar4 = 0; if (0 < local_130) { iVar4 = local_130; } local_114 = *(int *)(param_1 + 0xf4); iVar5 = 0; if (0 < local_114) { iVar15 = 0; if (0 < local_130 / 2) { iVar15 = local_130 / 2; } lVar7 = 0; do { plVar11 = (longlong *)**(longlong **)(lVar7 + *(longlong *)(param_1 + 0xe8)); if ((undefined **)*plVar11 == juce::TabBarButton::vftable) { lVar8 = FUN_18134adf0(); iVar6 = (**(code **)(*(longlong *)(lVar8 + 0x78) + 0x18)) ((longlong *)(lVar8 + 0x78),plVar11,iVar12); } else { iVar6 = (*(code *)((undefined **)*plVar11)[0x31])(plVar11,iVar12); } iVar4 = iVar4 + (iVar6 - local_130); *(int *)(plVar11 + 0x3a) = iVar15; iVar5 = iVar5 + 1; lVar7 = lVar7 + 8; } while (iVar5 < *(int *)(param_1 + 0xf4)); plVar11 = local_128; iVar15 = (int)local_110; } dVar3 = DAT_1824c4520; dVar17 = DAT_1824c4140; if (iVar15 < iVar4) { dVar17 = (double)iVar15 / (double)iVar4; if ((double)iVar15 / (double)iVar4 <= *(double *)(param_1 + 0x100)) { dVar17 = *(double *)(param_1 + 0x100); } } if ((int)((double)iVar4 * dVar17) <= iVar15) { puVar1 = *(undefined8 **)(param_1 + 0x118); *(undefined8 *)(param_1 + 0x118) = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } goto LAB_1813195cb; } if (*(longlong *)(param_1 + 0x118) == 0) { uVar9 = (**(code **)(*plVar11 + 0x60))(plVar11); puVar1 = *(undefined8 **)(param_1 + 0x118); *(undefined8 *)(param_1 + 0x118) = uVar9; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } plVar11 = *(longlong **)(param_1 + 0x118); if (plVar11 != (longlong *)0x0) { (**(code **)(*plVar11 + 0x58))(plVar11,1); FUN_181343cc0(param_1,plVar11,0xffffffff); } FUN_18134b0f0(*(undefined8 *)(param_1 + 0x118),1); *(undefined1 *)(*(longlong *)(param_1 + 0x118) + 0x1c5) = 1; lVar7 = *(longlong *)(param_1 + 0x118); pppuVar10 = (undefined ***)(lVar7 + 0xc0); local_d8 = std::_Func_impl_no_alloc<,void>::vftable; local_a0 = &local_d8; local_60 = (longlong *)0x0; local_d0 = param_1; local_60 = (longlong *)(*(code *)PTR_FUN_18249f860)(&local_d8,local_98); if (local_a0 != (undefined ***)0x0) { (*(code *)(*local_a0)[4])(local_a0,local_a0 != &local_d8); local_a0 = (undefined ***)0x0; } pppuVar2 = *(undefined ****)(lVar7 + 0xf8); if (pppuVar2 != (undefined ***)0x0) { if (pppuVar2 == pppuVar10) { local_a0 = (undefined ***)(*(code *)(*pppuVar2)[1])(pppuVar2,&local_d8); pppuVar2 = *(undefined ****)(lVar7 + 0xf8); if (pppuVar2 == (undefined ***)0x0) goto LAB_1813193c9; (*(code *)(*pppuVar2)[4])(pppuVar2,pppuVar2 != pppuVar10); pppuVar2 = local_a0; } local_a0 = pppuVar2; *(undefined8 *)(lVar7 + 0xf8) = 0; } LAB_1813193c9: FUN_180488560(pppuVar10,local_98); if (local_60 != (longlong *)0x0) { (**(code **)(*local_60 + 0x20))(local_60,local_60 != local_98); } if (local_a0 != (undefined ***)0x0) { (*(code *)(*local_a0)[4])(local_a0,local_a0 != &local_d8); } } local_138 = (longlong *)((double)((float)*(int *)(param_1 + 0x2c) * DAT_1824c3df0) + dVar3); local_128 = (longlong *)((double)((float)*(int *)(param_1 + 0x28) * DAT_1824c3df0) + dVar3); plVar11 = local_128; if ((int)local_138 < (int)local_128) { plVar11 = local_138; } lVar7 = *(longlong *)(param_1 + 0x118); iVar15 = (int)plVar11; local_148 = iVar15; FUN_18134bfe0(lVar7,*(undefined4 *)(lVar7 + 0x20),*(undefined4 *)(lVar7 + 0x24), (ulonglong)plVar11 & 0xffffffff); if (*(int *)(param_1 + 0xf8) - 2U < 2) { iVar15 = (*(int *)(param_1 + 0x2c) - iVar15 / 2) + -1; local_138 = (longlong *)CONCAT44(iVar15,*(int *)(param_1 + 0x28) / 2); } else { iVar15 = (*(int *)(param_1 + 0x28) - iVar15 / 2) + -1; local_138 = (longlong *)CONCAT44(*(int *)(param_1 + 0x2c) / 2,iVar15); } FUN_181344690(*(undefined8 *)(param_1 + 0x118),local_138); iVar5 = 0; iVar4 = 0; if (0 < *(int *)(param_1 + 0xf4)) { lVar7 = 0; do { plVar11 = (longlong *)**(undefined8 **)(*(longlong *)(param_1 + 0xe8) + lVar7 * 8); if ((undefined **)*plVar11 == juce::TabBarButton::vftable) { lVar8 = FUN_18134adf0(); iVar6 = (**(code **)(*(longlong *)(lVar8 + 0x78) + 0x18)) ((longlong *)(lVar8 + 0x78),plVar11,iVar12); } else { iVar6 = (*(code *)((undefined **)*plVar11)[0x31])(plVar11,iVar12); } if ((0 < lVar7) && ((double)iVar15 < (double)(iVar6 + iVar5) * *(double *)(param_1 + 0x100))) { iVar5 = iVar5 + local_130; break; } iVar4 = iVar4 + 1; iVar5 = (iVar6 + iVar5) - local_130; lVar7 = lVar7 + 1; local_114 = iVar4; } while (iVar4 < *(int *)(param_1 + 0xf4)); } dVar17 = (double)iVar15 / (double)iVar5; if ((double)iVar15 / (double)iVar5 <= *(double *)(param_1 + 0x100)) { dVar17 = *(double *)(param_1 + 0x100); } LAB_1813195cb: uVar13 = 0; local_138 = (longlong *)0x0; if (DAT_182673700 == 0) { local_128 = (longlong *)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_128); } iVar12 = local_118; local_110 = DAT_182673700 + 200; uVar14 = 0; plVar11 = (longlong *)0x0; if (0 < *(int *)(param_1 + 0xf4)) { lVar7 = 0; bVar16 = *(int *)(param_1 + 0xf4) != 0; do { if (((bVar16) && (plVar11 = *(longlong **)(*(longlong *)(param_1 + 0xe8) + lVar7 * 8), plVar11 != (longlong *)0x0)) && (plVar11 = (longlong *)*plVar11, plVar11 != (longlong *)0x0)) { if ((undefined **)*plVar11 == juce::TabBarButton::vftable) { lVar8 = FUN_18134adf0(); iVar15 = (**(code **)(*(longlong *)(lVar8 + 0x78) + 0x18)) ((longlong *)(lVar8 + 0x78),plVar11,iVar12); } else { iVar15 = (*(code *)((undefined **)*plVar11)[0x31])(plVar11,iVar12); } local_128 = (longlong *)((double)iVar15 * dVar17 + dVar3); iVar15 = (int)local_128; if (lVar7 < local_114) { if (*(int *)(param_1 + 0xf8) - 2U < 2) { local_108 = 0; uStack_100 = *(undefined4 *)(param_1 + 0x28); local_128 = (longlong *)((ulonglong)uVar13 << 0x20); uStack_120 = CONCAT44(iVar15,uStack_100); uStack_104 = uVar13; iStack_fc = iVar15; } else { uStack_f4 = 0; uStack_ec = *(undefined4 *)(param_1 + 0x2c); local_128 = (longlong *)(ulonglong)uVar13; uStack_120 = CONCAT44(uStack_ec,iVar15); local_f8 = uVar13; iStack_f0 = iVar15; } FUN_181323c50(local_110,plVar11); local_148 = (int)(uStack_120 >> 0x20); FUN_18134bfe0(plVar11,local_128,(ulonglong)local_128 >> 0x20,uStack_120 & 0xffffffff); FUN_181344d70(plVar11); if (uVar14 == *(uint *)(param_1 + 0x108)) { local_138 = plVar11; } uVar9 = 1; } else { uVar9 = 0; } (**(code **)(*plVar11 + 0x58))(plVar11,uVar9); uVar13 = uVar13 + (iVar15 - local_130); } uVar14 = uVar14 + 1; lVar7 = lVar7 + 1; bVar16 = uVar14 < *(uint *)(param_1 + 0xf4); plVar11 = local_138; } while ((int)uVar14 < (int)*(uint *)(param_1 + 0xf4)); } local_128 = (longlong *)0x0; local_148 = *(undefined4 *)(param_1 + 0x2c); uStack_120 = *(undefined8 *)(param_1 + 0x28); FUN_18134bfe0(*(undefined8 *)(param_1 + 0x110),0,0); if (plVar11 != (longlong *)0x0) { FUN_181344f60(plVar11,0); FUN_181344e50(*(undefined8 *)(param_1 + 0x110),plVar11); } } ############ FUN_ 18131d0b0 size=345 ############ void FUN_18131d0b0(undefined8 *param_1) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; undefined8 uVar4; ulonglong uVar5; ulonglong uVar6; int iVar7; ulonglong uVar8; *param_1 = juce::SidePanel::vftable; param_1[0x16] = juce::SidePanel::vftable; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } lVar2 = DAT_182673700; uVar6 = 0; uVar5 = uVar6; uVar8 = uVar6; if (0 < (longlong)*(int *)(DAT_182673700 + 0x44)) { do { if (param_1 == *(undefined8 **)(*(longlong *)(DAT_182673700 + 0x38) + uVar5 * 8)) { FUN_18049b4a0(DAT_182673700 + 0x38,uVar8); break; } uVar8 = (ulonglong)((int)uVar8 + 1); uVar5 = uVar5 + 1; } while ((longlong)uVar5 < (longlong)*(int *)(DAT_182673700 + 0x44)); } FUN_18133bd90(lVar2); lVar2 = param_1[0x27]; if (lVar2 != 0) { lVar3 = *(longlong *)(lVar2 + 0x80); iVar1 = *(int *)(lVar2 + 0x8c); uVar5 = uVar6; if (0 < iVar1) { do { iVar7 = (int)uVar5; if (param_1 + 0x16 == *(undefined8 **)(lVar3 + uVar6 * 8)) { _Dst = (void *)(lVar3 + (longlong)iVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar7) + -1) << 3); *(int *)(lVar2 + 0x8c) = *(int *)(lVar2 + 0x8c) + -1; iVar1 = *(int *)(lVar2 + 0x8c); iVar7 = 0; if (0 < iVar1 * 2) { iVar7 = iVar1 * 2; } if (iVar7 < *(int *)(lVar2 + 0x88)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x88)) { FUN_18047cb30((longlong *)(lVar2 + 0x80)); } } break; } uVar5 = (ulonglong)(iVar7 + 1); uVar6 = uVar6 + 1; } while ((longlong)uVar6 < (longlong)iVar1); } } param_1[0x6d] = juce::ShapeButton::vftable; param_1[0x83] = juce::ShapeButton::vftable; *(undefined4 *)((longlong)param_1 + 0x574) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0xad]); } ############ FUN_ 1804f8510 size=114 ############ void FUN_1804f8510(longlong param_1,undefined8 param_2) { longlong *plVar1; undefined8 uVar2; plVar1 = *(longlong **)(param_1 + 0x120); if (*(code **)(*plVar1 + 0x168) == FUN_181318800) { uVar2 = FUN_1811316e0(0x1e8); FUN_18131ab40(uVar2,param_2,plVar1[0x16]); return; } (**(code **)(*plVar1 + 0x168))(plVar1); return; } ############ FUN_ 1804f8940 size=268 ############ void FUN_1804f8940(undefined8 *param_1) { longlong *plVar1; longlong *plVar2; longlong lVar3; uint uVar4; longlong *plVar5; ulonglong uVar6; undefined8 uVar7; longlong lVar8; int iVar9; *param_1 = juce::Viewport::DragToScrollListener::vftable; param_1[1] = juce::Viewport::DragToScrollListener::vftable; plVar1 = *(longlong **)(param_1[2] + 0x140); if (plVar1 != (longlong *)0x0) { plVar2 = (longlong *)*plVar1; for (plVar5 = plVar2; plVar5 != plVar2 + *(int *)((longlong)plVar1 + 0xc); plVar5 = plVar5 + 1) { if (param_1 == (undefined8 *)*plVar5) { uVar6 = (longlong)plVar5 - (longlong)plVar2 >> 3; uVar4 = (uint)uVar6; if (-1 < (int)uVar4) { if ((int)uVar4 < (int)plVar1[2]) { *(int *)(plVar1 + 2) = (int)plVar1[2] + -1; } if (uVar4 < *(uint *)((longlong)plVar1 + 0xc)) { FUN_18049b4a0(plVar1,uVar6 & 0xffffffff,plVar1,plVar2,0xfffffffffffffffe); } } break; } } } if (DAT_182673700 == 0) { uVar7 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar7); } lVar3 = DAT_182673700; iVar9 = 0; lVar8 = 0; if (0 < (longlong)*(int *)(DAT_182673700 + 0x44)) { do { if (param_1 == *(undefined8 **)(*(longlong *)(DAT_182673700 + 0x38) + lVar8 * 8)) { FUN_18049b4a0(DAT_182673700 + 0x38,iVar9); break; } iVar9 = iVar9 + 1; lVar8 = lVar8 + 1; } while (lVar8 < *(int *)(DAT_182673700 + 0x44)); } FUN_18133bd90(lVar3); *(undefined4 *)((longlong)param_1 + 0x104) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x1f]); } ############ FUN_ 1804f8ae0 size=198 ############ void FUN_1804f8ae0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; if (*(char *)(param_1 + 0x111) == '\0') { uVar1 = *(undefined8 *)(param_1 + 0x48); FUN_1812a7720(param_1 + 0x18,param_2,param_3,param_4,0xfffffffffffffffe); FUN_18051c3e0(param_1 + 0x18,(int)uVar1); uVar1 = *(undefined8 *)(param_1 + 0xc0); FUN_1812a7720(param_1 + 0x90); FUN_18051c3e0(param_1 + 0x90,(int)uVar1); FUN_181341510(*(longlong *)(param_1 + 0x10) + 0xd0,param_1); if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } FUN_18134b370(DAT_182673700,param_1); *(undefined1 *)(param_1 + 0x111) = 1; } return; } ############ FUN_ 1804f8bb0 size=499 ############ void FUN_1804f8bb0(longlong param_1,float *param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; longlong lVar2; longlong *plVar3; ulonglong uVar4; ulonglong uVar5; ulonglong uVar6; float fVar7; int local_res18; int local_res20; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130,param_2,param_3,param_4,0xfffffffffffffffe); DAT_182673700 = FUN_18133c6c0(uVar1); } uVar4 = 0; plVar3 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18); uVar6 = (ulonglong) ((longlong)(plVar3 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x24)) + (7 - (longlong)plVar3)) >> 3; if (plVar3 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x24) < plVar3) { uVar6 = uVar4; } uVar5 = uVar4; if (uVar6 != 0) { do { if ((*(byte *)(*plVar3 + 0x28) & 0x70) != 0) { uVar5 = (ulonglong)((int)uVar5 + 1); } plVar3 = plVar3 + 1; uVar4 = uVar4 + 1; } while (uVar4 != uVar6); if ((int)uVar5 == 1) { lVar2 = *(longlong *)(param_2 + 0xc); if (lVar2 != 0) { do { if (lVar2 == *(longlong *)(param_1 + 0x10)) break; if ((*(byte *)(lVar2 + 0xaa) & 4) != 0) { return; } lVar2 = *(longlong *)(lVar2 + 0x18); } while (lVar2 != 0); } local_res18 = SUB84((double)(*param_2 - param_2[10]) + DAT_1824c4520,0); local_res20 = SUB84((double)(param_2[1] - param_2[0xb]) + DAT_1824c4520,0); if (*(char *)(param_1 + 0x110) == '\0') { fVar7 = _hypotf((float)local_res18,(float)local_res20); if (DAT_1824c43d8 < fVar7) { *(undefined1 *)(param_1 + 0x110) = 1; *(undefined8 *)(param_1 + 0x108) = *(undefined8 *)(*(longlong *)(param_1 + 0x10) + 0x188); FUN_1812a7720(param_1 + 0x18); FUN_18051c3e0(param_1 + 0x18,0); *(undefined8 *)(param_1 + 0x50) = *(undefined8 *)(param_1 + 0x48); *(undefined8 *)(param_1 + 0x58) = 0; FUN_1812a7720(param_1 + 0x18); lVar2 = param_1 + 0x90; FUN_1812a7720(lVar2); FUN_18051c3e0(lVar2,0); *(undefined8 *)(param_1 + 200) = *(undefined8 *)(param_1 + 0xc0); *(undefined8 *)(param_1 + 0xd0) = 0; FUN_1812a7720(lVar2); } if (*(char *)(param_1 + 0x110) == '\0') { return; } } FUN_18051a830(param_1 + 0x18,(double)local_res18); FUN_18051a830(param_1 + 0x90,(double)local_res20); } } return; } ############ FUN_ 1804f8db0 size=364 ############ void FUN_1804f8db0(longlong param_1) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; longlong *plVar4; ulonglong uVar5; ulonglong uVar6; ulonglong uVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; if (*(char *)(param_1 + 0x111) != '\0') { if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } uVar3 = 0; plVar4 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18); uVar5 = (ulonglong) ((longlong)(plVar4 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x24)) + (7 - (longlong)plVar4)) >> 3; if (plVar4 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x24) < plVar4) { uVar5 = uVar3; } uVar6 = uVar3; uVar7 = uVar3; if (uVar5 != 0) { do { if ((*(byte *)(*plVar4 + 0x28) & 0x70) != 0) { uVar7 = (ulonglong)((int)uVar7 + 1); } plVar4 = plVar4 + 1; uVar6 = uVar6 + 1; } while (uVar6 != uVar5); if ((int)uVar7 != 0) { return; } } FUN_1812a77d0(param_1 + 0x18,0x10,uVar6,uVar7,uVar8); FUN_1812a77d0(param_1 + 0x90,0x10); *(undefined1 *)(param_1 + 0x110) = 0; FUN_181341570(*(longlong *)(param_1 + 0x10) + 0xd0,param_1,1); if (DAT_182673700 == 0) { uVar8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar8); } lVar1 = DAT_182673700; uVar5 = uVar3; if (0 < (longlong)*(int *)(DAT_182673700 + 0x44)) { do { if (param_1 == *(longlong *)(*(longlong *)(DAT_182673700 + 0x38) + uVar3 * 8)) { FUN_18049b4a0(DAT_182673700 + 0x38,uVar5); break; } uVar5 = (ulonglong)((int)uVar5 + 1); uVar3 = uVar3 + 1; } while ((longlong)uVar3 < (longlong)*(int *)(DAT_182673700 + 0x44)); } FUN_18133bd90(lVar1); *(undefined1 *)(param_1 + 0x111) = 0; } return; } ############ FUN_ 181296970 size=266 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181296970(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined4 local_40 [2]; undefined8 *local_38; undefined8 *local_30; undefined8 local_28; undefined8 uStack_20; undefined4 local_18; undefined4 local_14; local_40[0] = 0xff000000; local_38 = (undefined8 *)FUN_1811316e0(0x28,param_2,param_3,param_4,0xfffffffffffffffe); *local_38 = *param_2; local_38[1] = param_2[1]; *(undefined1 *)(local_38 + 2) = *(undefined1 *)(param_2 + 2); local_38[3] = param_2[3]; param_2[3] = 0; *(undefined4 *)(local_38 + 4) = *(undefined4 *)(param_2 + 4); *(undefined4 *)((longlong)local_38 + 0x24) = *(undefined4 *)((longlong)param_2 + 0x24); param_2[4] = 0; local_30 = (undefined8 *)0x0; local_28 = _DAT_1824c4780; uStack_20 = _UNK_1824c4788; local_18 = DAT_1824c3ea4; local_14 = 0; if (*(char *)(param_1 + 0x10) != '\0') { *(undefined1 *)(param_1 + 0x10) = 0; (**(code **)(**(longlong **)(param_1 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_1 + 8) + 0x88))(*(longlong **)(param_1 + 8),local_40); if (local_30 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_30 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_30)(local_30,1); } } if (local_38 != (undefined8 *)0x0) { *(undefined4 *)((longlong)local_38 + 0x24) = 0; /* WARNING: Subroutine does not return */ free((void *)local_38[3]); } return; } ############ FUN_ 181296a90 size=256 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181296a90(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; undefined4 local_40 [2]; undefined8 *local_38; undefined8 *local_30; undefined8 local_28; undefined8 uStack_20; undefined4 local_18; undefined4 local_14; local_40[0] = 0xff000000; puVar3 = (undefined8 *)FUN_1811316e0(0x28,param_2,param_3,param_4,0xfffffffffffffffe); *puVar3 = *param_2; puVar3[1] = param_2[1]; *(undefined1 *)(puVar3 + 2) = *(undefined1 *)(param_2 + 2); FUN_1804aaeb0(puVar3 + 3,param_2 + 3); local_30 = (undefined8 *)0x0; local_28 = _DAT_1824c4780; uStack_20 = _UNK_1824c4788; local_18 = DAT_1824c3ea4; local_14 = 0; local_38 = puVar3; if (*(char *)(param_1 + 0x10) != '\0') { *(undefined1 *)(param_1 + 0x10) = 0; (**(code **)(**(longlong **)(param_1 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_1 + 8) + 0x88))(*(longlong **)(param_1 + 8),local_40); if (local_30 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_30 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_30)(local_30,1); } } if (local_38 != (undefined8 *)0x0) { *(undefined4 *)((longlong)local_38 + 0x24) = 0; /* WARNING: Subroutine does not return */ free((void *)local_38[3]); } return; } ############ FUN_ 1804f9e00 size=193 ############ void FUN_1804f9e00(undefined8 *param_1) { longlong lVar1; undefined8 uVar2; longlong *plVar3; int iVar4; *param_1 = juce::MenuBarComponent::vftable; param_1[0x16] = juce::MenuBarComponent::vftable; param_1[0x17] = juce::MenuBarComponent::vftable; FUN_1812f40d0(); if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } lVar1 = DAT_182673700; plVar3 = *(longlong **)(DAT_182673700 + 0x38); iVar4 = 0; if (0 < *(int *)(DAT_182673700 + 0x44)) { do { if (param_1 == (undefined8 *)*plVar3) { FUN_18049b4a0(DAT_182673700 + 0x38); break; } iVar4 = iVar4 + 1; plVar3 = plVar3 + 1; } while (iVar4 < *(int *)(DAT_182673700 + 0x44)); } FUN_18133bd90(lVar1); *(undefined4 *)((longlong)param_1 + 0xf4) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x1d]); } ############ FUN_ 1804fa3a0 size=744 ############ longlong * FUN_1804fa3a0(longlong *param_1,longlong param_2,undefined4 param_3,undefined8 param_4) { int *piVar1; uint uVar2; longlong *plVar3; undefined8 *puVar4; longlong lVar5; undefined8 uVar6; undefined8 *puVar7; uint *_Memory; int iVar8; undefined4 uVar9; int local_res10 [2]; undefined8 in_stack_ffffffffffffff78; undefined4 *puVar10; undefined4 local_78 [2]; undefined8 *local_70; undefined8 local_68; undefined8 local_58; undefined4 uStack_50; undefined4 uStack_4c; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; undefined4 uVar11; uVar11 = (undefined4)((ulonglong)in_stack_ffffffffffffff78 >> 0x20); local_68 = 0xfffffffffffffffe; param_1[1] = (longlong)&DAT_1821dbf98; param_1[2] = (longlong)&DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = (longlong)juce::PopupMenu::HelperClasses::ItemComponent::vftable; plVar3 = param_1 + 0x16; FUN_1812f0e30(plVar3); lVar5 = *(longlong *)(param_2 + 0x60); param_1[0x27] = lVar5; if (lVar5 != 0) { *(int *)(lVar5 + 0xb8) = *(int *)(lVar5 + 0xb8) + 1; } *(undefined1 *)(param_1 + 0x28) = 0; if (*(char *)((longlong)param_1 + 0x137) != '\0') { puVar4 = (undefined8 *)FUN_1811316e0(0xd0); puVar7 = puVar4; local_70 = puVar4; uVar9 = FUN_1812effb0(puVar4,0); *puVar7 = juce::PopupMenu::HelperClasses::HeaderItemComponent::vftable; puVar7[0x16] = juce::PopupMenu::HelperClasses::HeaderItemComponent::vftable; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(uVar9,plVar3); if ((undefined8 *)param_1[0x27] != puVar4) { *(int *)(puVar4 + 0x17) = *(int *)(puVar4 + 0x17) + 1; puVar7 = (undefined8 *)param_1[0x27]; param_1[0x27] = (longlong)puVar4; if (puVar7 != (undefined8 *)0x0) { piVar1 = (int *)(puVar7 + 0x17); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar7)(puVar7,1); } } } } lVar5 = param_1[0x27]; if (lVar5 != 0) { *(longlong **)(lVar5 + 200) = plVar3; uStack_4c = *(undefined4 *)(lVar5 + 0x2c); uStack_50 = *(undefined4 *)(lVar5 + 0x28); local_58 = 0; local_48 = 0; uStack_44 = 0; uStack_40 = uStack_50; uStack_3c = uStack_4c; FUN_181342870(lVar5,&local_48,1); plVar3 = (longlong *)param_1[0x27]; (**(code **)(*plVar3 + 0x58))(plVar3,1); FUN_181343cc0(param_1,plVar3,0xffffffff); } (**(code **)(*param_1 + 0x58))(param_1,1); FUN_181343cc0(param_4,param_1,0xffffffff); FUN_1804fa930(param_1); local_78[0] = 0x50; local_res10[0] = 0x10; plVar3 = (longlong *)param_1[0x27]; if (plVar3 == (longlong *)0x0) { lVar5 = FUN_18134adf0(param_1); uVar6 = FUN_1804fad70(param_1,&local_70); puVar10 = local_78; (**(code **)(*(longlong *)(lVar5 + 0x40) + 0x30)) ((longlong *)(lVar5 + 0x40),uVar6,*(undefined1 *)((longlong)param_1 + 0x136),param_3, puVar10,local_res10); uVar11 = (undefined4)((ulonglong)puVar10 >> 0x20); _Memory = (uint *)(local_70 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } else { (**(code **)(*plVar3 + 0x158))(plVar3,local_78,local_res10); } iVar8 = 1; if ((0 < local_res10[0]) && (iVar8 = local_res10[0], 600 < local_res10[0])) { iVar8 = 600; } FUN_18134bfe0(param_1,(int)param_1[4],*(undefined4 *)((longlong)param_1 + 0x24),local_78[0], CONCAT44(uVar11,iVar8)); FUN_181341570(param_1,param_4,0); return param_1; } ############ FUN_ 1804faf50 size=2107 ############ undefined8 * FUN_1804faf50(undefined8 *param_1,longlong *param_2,longlong param_3,undefined8 *param_4, undefined1 param_5,undefined1 param_6,undefined8 param_7,undefined4 param_8) { uint *_Memory; int *piVar1; int *piVar2; longlong lVar3; int iVar4; longlong lVar5; undefined8 uVar6; char cVar7; DWORD DVar8; uint uVar9; uint uVar10; ulonglong uVar11; ulonglong uVar12; longlong lVar13; undefined8 uVar14; undefined8 *puVar15; longlong *plVar16; int iVar17; ulonglong uVar18; longlong *plVar19; undefined4 uVar20; undefined1 local_res10 [8]; longlong local_res18; undefined8 *local_res20; undefined8 local_108; undefined8 local_100; float local_f8; float local_f4; float local_f0; float local_ec; undefined8 local_e8; undefined8 uStack_e0; longlong local_d8; longlong *local_d0; undefined8 local_c8; undefined8 uStack_c0; undefined8 local_b8; undefined8 local_b0; undefined8 *local_a8; undefined4 local_a0; undefined4 local_9c; undefined4 local_98; undefined4 local_94; undefined4 local_90; undefined1 local_8c; undefined4 local_88; undefined8 local_80; undefined1 local_78 [8]; undefined1 local_70 [8]; undefined8 local_68; undefined8 uStack_60; undefined1 local_58 [24]; local_80 = 0xfffffffffffffffe; local_res18 = param_3; local_res20 = param_4; FUN_18049c4e0(&local_d8,&DAT_18249f288); *param_1 = juce::Component::vftable; param_1[1] = local_d8; _Memory = (uint *)(local_d8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } param_1[2] = &DAT_1821dbf98; uVar18 = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar10 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::PopupMenu::HelperClasses::MenuWindow::vftable; param_1[0x16] = param_3; piVar2 = (int *)(param_1 + 0x17); uVar14 = param_4[1]; *(undefined8 *)piVar2 = *param_4; param_1[0x18] = uVar14; param_1[0x19] = param_4[2]; param_1[0x1a] = param_4[3]; lVar13 = param_4[4]; param_1[0x1b] = lVar13; if (lVar13 != 0) { LOCK(); *(int *)(lVar13 + 8) = *(int *)(lVar13 + 8) + 1; UNLOCK(); } *(undefined4 *)(param_1 + 0x1c) = *(undefined4 *)(param_4 + 5); *(undefined4 *)((longlong)param_1 + 0xe4) = *(undefined4 *)((longlong)param_4 + 0x2c); *(undefined4 *)(param_1 + 0x1d) = *(undefined4 *)(param_4 + 6); *(undefined4 *)((longlong)param_1 + 0xec) = *(undefined4 *)((longlong)param_4 + 0x34); *(undefined4 *)(param_1 + 0x1e) = *(undefined4 *)(param_4 + 7); *(undefined1 *)((longlong)param_1 + 0xf4) = *(undefined1 *)((longlong)param_4 + 0x3c); *(undefined4 *)(param_1 + 0x1f) = *(undefined4 *)(param_4 + 8); plVar16 = param_1 + 0x20; *plVar16 = 0; param_1[0x21] = 0; param_1[0x22] = param_7; FUN_1804de690(param_1 + 0x23,param_1[0x19]); param_1[0x24] = 0; param_1[0x25] = 0; param_1[0x26] = 0; *(undefined2 *)(param_1 + 0x27) = 0; *(undefined1 *)((longlong)param_1 + 0x13a) = param_6; *(undefined2 *)((longlong)param_1 + 0x13b) = 0; *(undefined1 *)((longlong)param_1 + 0x13d) = 0; param_1[0x28] = 0; *(undefined4 *)(param_1 + 0x29) = 0; param_1[0x2a] = 0; param_1[0x2b] = 0; param_1[0x2c] = 0; param_1[0x2d] = 0; DVar8 = timeGetTime(); if (DVar8 < DAT_1826737fc) { if (DVar8 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar8; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar8; } *(DWORD *)(param_1 + 0x2e) = DVar8; *(DWORD *)((longlong)param_1 + 0x174) = DVar8; *(DWORD *)(param_1 + 0x2f) = DVar8; param_1[0x30] = 0; param_1[0x31] = 0; uVar20 = DAT_1824c3ea4; if (param_3 != 0) { uVar20 = param_8; } *(undefined4 *)(param_1 + 0x32) = uVar20; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xdf; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x80; FUN_18134b0f0(param_1,CONCAT71((uint7)(uint3)(DVar8 >> 8),1)); if (param_1[0x16] == 0) { if (param_2[3] == 0) { uVar11 = 0; } else { uVar11 = *(ulonglong *)(param_2[3] + 0x10); } } else { uVar11 = FUN_18134adf0(); } uVar12 = uVar18; if (param_1[10] != 0) { uVar12 = *(ulonglong *)(param_1[10] + 0x10); } if (uVar12 != uVar11) { FUN_18051b750(param_1 + 10); FUN_181341b10(param_1); } lVar13 = FUN_18134adf0(param_1); plVar19 = (longlong *)(lVar13 + 0x40); local_d0 = plVar19; if (*(code **)(*plVar19 + 0x68) == FUN_18130fd70) { local_b0 = param_1[0x1a]; } else { local_b0 = (**(code **)(*plVar19 + 0x68))(plVar19,piVar2); } param_1[0x24] = local_b0; local_c8 = *(undefined8 *)piVar2; uStack_c0 = param_1[0x18]; local_b8 = param_1[0x19]; puVar15 = (undefined8 *)param_1[0x1b]; if (puVar15 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar15 + 1) = *(int *)(puVar15 + 1) + 1; UNLOCK(); } local_a0 = *(undefined4 *)(param_1 + 0x1c); local_9c = *(undefined4 *)((longlong)param_1 + 0xe4); local_98 = *(undefined4 *)(param_1 + 0x1d); local_94 = *(undefined4 *)((longlong)param_1 + 0xec); local_90 = *(undefined4 *)(param_1 + 0x1e); local_8c = *(undefined1 *)((longlong)param_1 + 0xf4); local_88 = *(undefined4 *)(param_1 + 0x1f); local_a8 = puVar15; FUN_1804ff130(piVar2,&local_c8); if (puVar15 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar15 + 1); iVar17 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar17 == 1) { (**(code **)*local_a8)(local_a8,1); } } if ((((param_1[0x24] == 0) && (local_res18 == 0)) && ((*(code **)(*plVar19 + 0x78) == FUN_18130fd50 || (cVar7 = (**(code **)(*plVar19 + 0x78))(plVar19,piVar2), cVar7 != '\0')))) && (param_1[0x19] != 0)) { uVar20 = FUN_181344210(); *(undefined4 *)(param_1 + 0x32) = uVar20; } lVar13 = FUN_181346420(lVar13,local_res10,0x1000700); FUN_18134bd50(param_1,*(char *)(lVar13 + 3) == -1); lVar13 = param_2[1]; lVar3 = lVar13 - *param_2 >> 0x3f; uVar11 = uVar18; if ((lVar13 - *param_2) / 0x88 + lVar3 != lVar3) { do { lVar3 = *param_2 + uVar11; uVar18 = uVar18 + 1; if ((uVar18 < (ulonglong)((lVar13 - *param_2) / 0x88)) || (*(char *)(lVar3 + 0x86) == '\0')) { local_res18 = FUN_1811316e0(0x148); uVar14 = FUN_1804fa3a0(local_res18,lVar3,*(undefined4 *)(param_1 + 0x1e),param_1); iVar4 = *(int *)((longlong)param_1 + 0x10c); iVar17 = iVar4 + 1; if (*(int *)(param_1 + 0x21) < iVar17) { if (iVar17 < 0) { iVar17 = iVar4 + 2; } FUN_18047cb30(plVar16,iVar4 + 9 + (iVar17 >> 1) & 0xfffffff8); } iVar17 = *(int *)((longlong)param_1 + 0x10c); *(int *)((longlong)param_1 + 0x10c) = iVar17 + 1; *(undefined8 *)(*plVar16 + (longlong)iVar17 * 8) = uVar14; } lVar13 = param_2[1]; plVar19 = local_d0; uVar11 = uVar11 + 0x88; } while (uVar18 < (ulonglong)((lVar13 - *param_2) / 0x88)); } local_f8 = *(float *)(param_1 + 0x32); local_e8 = *(undefined8 *)piVar2; uStack_e0 = param_1[0x18]; local_ec = (float)*(int *)((longlong)param_1 + 0xc4) / local_f8; local_f0 = (float)*(int *)(param_1 + 0x18) / local_f8; local_f4 = (float)*(int *)((longlong)param_1 + 0xbc) / local_f8; local_f8 = (float)*piVar2 / local_f8; puVar15 = (undefined8 *)FUN_1804ab070(&local_f8,local_58); local_e8 = *puVar15; uStack_e0 = puVar15[1]; local_68 = local_e8; uStack_60 = uStack_e0; FUN_1804fcbe0(param_1,&local_68,param_5); FUN_18134bfe0(param_1,param_1[0x25] & 0xffffffff,(ulonglong)param_1[0x25] >> 0x20, *(undefined4 *)(param_1 + 5),*(undefined4 *)((longlong)param_1 + 0x2c)); FUN_1804fd880(param_1); iVar17 = *(int *)(param_1 + 0x1c); if (iVar17 != 0) { lVar13 = param_1[0x24]; uVar14 = local_e8; uVar6 = local_108; if (lVar13 != 0) { lVar3 = lVar13; for (lVar5 = *(longlong *)(lVar13 + 0x18); lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x18)) { lVar3 = lVar5; } puVar15 = (undefined8 *)FUN_18051e060(local_78,lVar3,local_e8); uVar14 = *puVar15; uVar6 = uVar14; if (lVar3 != lVar13) { if (*(longlong *)(lVar13 + 0x18) != lVar3) { puVar15 = (undefined8 *)FUN_180520050(local_70,lVar3); uVar14 = *puVar15; } FUN_18051e060(&local_108,lVar13,uVar14); uVar14 = local_108; uVar6 = local_108; } } local_108 = uVar6; uVar9 = (int)((ulonglong)uVar14 >> 0x20) - *(int *)((longlong)param_1 + 300); uVar10 = 0xffffffff; if (uVar9 < *(uint *)((longlong)param_1 + 0x134)) { uVar10 = uVar9; } FUN_1804fd500(param_1,iVar17,uVar10); } FUN_1804fd6e0(param_1); if (param_1[0x24] == 0) { if (*(code **)(*plVar19 + 0x38) == FUN_181310180) { uVar10 = 0x100; } else { uVar10 = (**(code **)(*plVar19 + 0x38))(plVar19); } .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,uVar10 | 0x402,0); if (DAT_182673700 == 0) { local_res18 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res18); } FUN_18134b370(DAT_182673700,param_1); } else { FUN_181343cc0(param_1[0x24],param_1,0xffffffff); } plVar16 = (longlong *)FUN_1804fc440(); iVar17 = *(int *)((longlong)plVar16 + 0xc) + 1; if ((int)plVar16[1] < iVar17) { FUN_18047cb30(plVar16,*(int *)((longlong)plVar16 + 0xc) + 9 + iVar17 / 2 & 0xfffffff8); } iVar17 = *(int *)((longlong)plVar16 + 0xc); *(int *)((longlong)plVar16 + 0xc) = iVar17 + 1; *(undefined8 **)(*plVar16 + (longlong)iVar17 * 8) = param_1; if (*(code **)(*plVar19 + 0x70) != FUN_18130fd60) { (**(code **)(*plVar19 + 0x70))(plVar19,param_1); } if (DAT_182673700 == 0) { local_res18 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res18); } local_100 = **(undefined8 **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18); FUN_1804fc4c0(param_1,&local_100); puVar15 = (undefined8 *)local_res20[4]; if (puVar15 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(puVar15 + 1); iVar17 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar17 == 1) { (**(code **)*puVar15)(puVar15,1); } } return param_1; } ############ FUN_ 1804fc4c0 size=468 ############ undefined8 * FUN_1804fc4c0(longlong param_1,longlong *param_2) { longlong *plVar1; longlong lVar2; DWORD DVar3; undefined8 *puVar4; void *pvVar5; int iVar6; ulonglong *puVar7; undefined8 *puVar8; uint uVar9; undefined8 *puVar10; undefined8 *puVar11; puVar7 = *(ulonglong **)(param_1 + 0x180); puVar4 = (undefined8 *)0x0; puVar11 = (undefined8 *) ((ulonglong)((longlong)(puVar7 + *(int *)(param_1 + 0x18c)) + (7 - (longlong)puVar7)) >> 3); if (puVar7 + *(int *)(param_1 + 0x18c) < puVar7) { puVar11 = puVar4; } puVar10 = puVar4; if (puVar11 != (undefined8 *)0x0) { do { puVar8 = (undefined8 *)*puVar7; plVar1 = puVar8 + 4; if ((*plVar1 != *param_2) && (puVar8 = puVar4, *(int *)(*plVar1 + 0x14) != *(int *)(*param_2 + 0x14))) { FUN_1812a7720(); } puVar7 = puVar7 + 1; puVar10 = (undefined8 *)((longlong)puVar10 + 1); puVar4 = puVar8; } while (puVar10 != puVar11); if (puVar8 != (undefined8 *)0x0) { return puVar8; } } puVar4 = (undefined8 *)FUN_1811316e0(0x48); lVar2 = *param_2; puVar4[1] = 0xffffffffffffffff; *(undefined4 *)(puVar4 + 2) = 0; *puVar4 = juce::PopupMenu::HelperClasses::MouseSourceState::vftable; puVar4[3] = param_1; puVar4[4] = lVar2; puVar4[5] = 0; puVar4[6] = 0; DVar3 = timeGetTime(); if (DVar3 < DAT_1826737fc) { if (DVar3 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar3; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar3; } *(DWORD *)(puVar4 + 7) = DVar3; *(undefined4 *)((longlong)puVar4 + 0x3c) = 0; *(undefined1 *)(puVar4 + 8) = 0; FUN_1812a77d0(puVar4,0x32); iVar6 = *(int *)(param_1 + 0x18c) + 1; if ((int)*(uint *)(param_1 + 0x188) < iVar6) { uVar9 = *(int *)(param_1 + 0x18c) + 9 + iVar6 / 2 & 0xfffffff8; if (*(uint *)(param_1 + 0x188) != uVar9) { pvVar5 = *(void **)(param_1 + 0x180); if ((int)uVar9 < 1) { /* WARNING: Subroutine does not return */ free(pvVar5); } if (pvVar5 == (void *)0x0) { pvVar5 = malloc((longlong)(int)uVar9 * 8); *(void **)(param_1 + 0x180) = pvVar5; } else { pvVar5 = realloc(pvVar5,(longlong)(int)uVar9 * 8); *(void **)(param_1 + 0x180) = pvVar5; } } *(uint *)(param_1 + 0x188) = uVar9; } iVar6 = *(int *)(param_1 + 0x18c); *(int *)(param_1 + 0x18c) = iVar6 + 1; *(undefined8 **)(*(longlong *)(param_1 + 0x180) + (longlong)iVar6 * 8) = puVar4; return puVar4; } ############ FUN_ 1804fc960 size=626 ############ undefined8 * FUN_1804fc960(longlong param_1,undefined8 *param_2,undefined8 param_3,longlong param_4) { float fVar1; code *pcVar2; int iVar3; longlong lVar4; longlong lVar5; undefined8 *puVar6; longlong lVar7; int iVar8; int iVar9; int iVar10; int iVar11; int iVar12; int iVar13; undefined1 local_res18 [8]; undefined8 local_res20; undefined8 local_58; undefined8 uStack_50; undefined8 local_48; undefined8 uStack_40; undefined1 local_38 [16]; if (param_4 != 0) { for (; param_4 != 0; param_4 = *(longlong *)(param_4 + 0x18)) { puVar6 = (undefined8 *)FUN_18051e290(local_res18,param_4); param_3 = *puVar6; } } fVar1 = *(float *)(param_1 + 400); if (DAT_182673700 == 0) { local_res20 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res20); } lVar7 = FUN_18133d700(*(undefined8 *)(DAT_182673700 + 0x78), CONCAT44((int)((float)(int)((ulonglong)param_3 >> 0x20) * fVar1), (int)((float)(int)param_3 * fVar1)),0); local_48 = *(undefined8 *)(lVar7 + 4); uStack_40 = *(undefined8 *)(lVar7 + 0xc); if (*(longlong *)(param_1 + 0x120) == 0) goto LAB_1804fcb79; lVar7 = FUN_18134adf0(param_1); pcVar2 = *(code **)(*(longlong *)(lVar7 + 0x40) + 0x80); if (pcVar2 == FUN_18130fd40) { iVar11 = 2; } else { iVar11 = (*pcVar2)(); } lVar7 = *(longlong *)(param_1 + 0x120); uStack_50 = *(undefined8 *)(lVar7 + 0x28); local_58 = 0; for (; lVar7 != 0; lVar7 = *(longlong *)(lVar7 + 0x18)) { puVar6 = (undefined8 *)FUN_18051e4b0(local_38,lVar7,&local_58); local_58 = *puVar6; uStack_50 = puVar6[1]; } iVar8 = (int)uStack_50 + iVar11 * -2; iVar9 = (int)((ulonglong)uStack_50 >> 0x20) + iVar11 * -2; iVar10 = (int)local_58 + iVar11; iVar11 = (int)((ulonglong)local_58 >> 0x20) + iVar11; iVar12 = 0; if (0 < iVar8) { iVar12 = iVar8; } iVar8 = 0; if (0 < iVar9) { iVar8 = iVar9; } iVar9 = iVar10; if (iVar10 < (int)local_48) { iVar9 = (int)local_48; } local_48._4_4_ = (int)((ulonglong)local_48 >> 0x20); iVar3 = iVar11; if (iVar11 < local_48._4_4_) { iVar3 = local_48._4_4_; } iVar13 = iVar12 + iVar10; if ((int)local_48 + (int)uStack_40 < iVar12 + iVar10) { iVar13 = (int)local_48 + (int)uStack_40; } if (iVar13 - iVar9 < 0) { LAB_1804fcb2f: local_48 = 0; uStack_40 = 0; } else { uStack_40._4_4_ = (int)((ulonglong)uStack_40 >> 0x20); iVar12 = iVar8 + iVar11; if (uStack_40._4_4_ + local_48._4_4_ < iVar8 + iVar11) { iVar12 = uStack_40._4_4_ + local_48._4_4_; } if (iVar12 - iVar3 < 0) goto LAB_1804fcb2f; local_58 = CONCAT44(iVar3,iVar9); uStack_50 = CONCAT44(iVar12 - iVar3,iVar13 - iVar9); local_48 = local_58; uStack_40 = uStack_50; } lVar7 = *(longlong *)(param_1 + 0x120); if (lVar7 == 0) { *param_2 = local_48; param_2[1] = uStack_40; return param_2; } lVar4 = lVar7; for (lVar5 = *(longlong *)(lVar7 + 0x18); lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x18)) { lVar4 = lVar5; } puVar6 = (undefined8 *)FUN_180520340(local_38,lVar4,&local_48); local_48 = *puVar6; uStack_40 = puVar6[1]; if (lVar4 != lVar7) { if (*(longlong *)(lVar7 + 0x18) != lVar4) { puVar6 = (undefined8 *)FUN_1805202e0(local_38,lVar4,*(longlong *)(lVar7 + 0x18),&local_48); local_48 = *puVar6; uStack_40 = puVar6[1]; } FUN_180520340(param_2,lVar7,&local_48); return param_2; } LAB_1804fcb79: *param_2 = local_48; param_2[1] = uStack_40; return param_2; } ############ FUN_ 1804fbba0 size=83 ############ float FUN_1804fbba0(longlong param_1) { undefined8 uVar1; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } return *(float *)(DAT_182673700 + 0xc0) * *(float *)(param_1 + 400); } ############ FUN_ 1804fdba0 size=822 ############ undefined8 FUN_1804fdba0(longlong param_1,longlong param_2) { int *piVar1; int iVar2; undefined8 *puVar3; longlong *plVar4; longlong lVar5; undefined8 *puVar6; undefined8 uVar7; undefined4 *puVar8; undefined8 uVar9; undefined4 uVar10; undefined4 local_158; undefined4 uStack_154; undefined4 local_138; undefined4 uStack_134; undefined4 uStack_130; undefined4 uStack_12c; undefined8 local_128; undefined8 local_120; undefined8 *local_118; undefined4 local_110; undefined4 local_10c; undefined4 local_108; undefined4 local_104; undefined4 local_100; undefined1 local_fc; undefined4 local_f8; undefined8 local_f0; undefined4 local_e8; undefined4 uStack_e4; undefined4 uStack_e0; undefined4 uStack_dc; undefined1 local_d8 [16]; undefined1 local_c8 [72]; undefined1 local_80 [32]; undefined8 *local_60; local_f0 = 0xfffffffffffffffe; puVar3 = *(undefined8 **)(param_1 + 0x158); *(undefined8 *)(param_1 + 0x158) = 0; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } if ((((param_2 != 0) && (*(char *)(param_2 + 0x134) != '\0')) && (plVar4 = *(longlong **)(param_2 + 0x100), plVar4 != (longlong *)0x0)) && ((plVar4[1] - *plVar4) / 0x88 != 0)) { uVar7 = FUN_1811316e0(0x198); uStack_12c = *(undefined4 *)(param_2 + 0x2c); uVar10 = *(undefined4 *)(param_2 + 0x28); local_158 = 0; uStack_154 = 0; uStack_134 = uStack_154; for (lVar5 = param_2; lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x18)) { local_e8 = local_158; uStack_e4 = uStack_134; uStack_e0 = uVar10; uStack_dc = uStack_12c; puVar8 = (undefined4 *)FUN_18051e4b0(local_d8,lVar5,&local_e8); local_158 = *puVar8; uStack_134 = puVar8[1]; uVar10 = puVar8[2]; uStack_12c = puVar8[3]; } local_128 = *(undefined8 *)(param_1 + 200); local_120 = *(undefined8 *)(param_1 + 0xd0); puVar3 = *(undefined8 **)(param_1 + 0xd8); if (puVar3 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; UNLOCK(); } local_110 = *(undefined4 *)(param_1 + 0xe0); local_108 = *(undefined4 *)(param_1 + 0xe8); local_104 = *(undefined4 *)(param_1 + 0xec); local_100 = *(undefined4 *)(param_1 + 0xf0); local_fc = *(undefined1 *)(param_1 + 0xf4); local_f8 = *(undefined4 *)(param_1 + 0xf8); if (puVar3 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; UNLOCK(); } local_10c = 0; local_138 = local_158; uStack_130 = uVar10; local_118 = puVar3; uVar9 = FUN_1812f0830(&local_138,local_80,0); uVar9 = FUN_1812f0590(uVar9,local_c8,*(undefined8 *)(param_1 + 0x120)); uVar7 = FUN_1804faf50(uVar7,*(undefined8 *)(param_2 + 0x100),param_1,uVar9,0, *(undefined1 *)(param_1 + 0x13a),*(undefined8 *)(param_1 + 0x110), *(undefined4 *)(param_1 + 400),local_158,uVar10); puVar6 = *(undefined8 **)(param_1 + 0x158); *(undefined8 *)(param_1 + 0x158) = uVar7; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } if (local_60 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_60 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_60)(local_60,1); } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } (**(code **)(**(longlong **)(param_1 + 0x158) + 0x58))(*(longlong **)(param_1 + 0x158),1); FUN_18134ab30(*(undefined8 *)(param_1 + 0x158),0,0,0); FUN_181344f60(*(undefined8 *)(param_1 + 0x158),0); return 1; } return 0; } ############ FUN_ 1804fbed0 size=793 ############ void FUN_1804fbed0(longlong param_1) { int *piVar1; longlong *plVar2; float fVar3; float fVar4; float fVar5; int iVar6; longlong *plVar7; longlong lVar8; float fVar9; double dVar10; undefined8 *puVar11; longlong lVar12; char cVar13; float *pfVar14; undefined8 uVar15; longlong lVar16; longlong lVar17; undefined8 *puVar18; longlong *plVar19; undefined8 uVar20; longlong lVar21; bool bVar22; undefined8 local_res8; float local_res10; float local_res14; undefined4 local_res18; undefined4 uStackX_1c; undefined8 *local_res20; undefined4 local_d8; undefined8 local_d0; double local_c8; undefined8 local_c0; undefined1 local_b8 [8]; undefined8 local_b0; undefined1 local_a8 [8]; undefined1 local_a0 [8]; undefined1 local_98 [88]; local_c0 = 0xfffffffffffffffe; FUN_1804de690(&local_res20,param_1); puVar11 = local_res20; dVar10 = DAT_1824c4520; fVar9 = DAT_1824c3ea4; plVar19 = *(longlong **)(param_1 + 0x180); plVar2 = plVar19 + *(int *)(param_1 + 0x18c); lVar21 = 0; if (plVar19 != plVar2) { bVar22 = local_res20 != (undefined8 *)0x0; do { plVar7 = (longlong *)*plVar19; if ((undefined **)*plVar7 == juce::PopupMenu::HelperClasses::MouseSourceState::vftable) { if ((((*(int *)(plVar7[4] + 0x14) != 1) && (*(int *)(plVar7[4] + 0x14) != 2)) || (cVar13 = FUN_1804fed30(plVar7), cVar13 != '\0')) && (cVar13 = FUN_1804fc2d0(plVar7[3]), cVar13 != '\0')) { pfVar14 = (float *)FUN_1804e5a90(plVar7[4],local_b8); fVar3 = *pfVar14; fVar4 = pfVar14[1]; uVar20 = *(undefined8 *)pfVar14; if (DAT_182673700 == 0) { uVar15 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar15); } fVar5 = *(float *)(DAT_182673700 + 0xc0); if (fVar5 == fVar9) { local_d0 = uVar20; pfVar14 = (float *)&local_d0; } else { local_res14 = fVar4 / fVar5; local_res10 = fVar3 / fVar5; pfVar14 = &local_res10; } local_b0 = *(undefined8 *)pfVar14; local_c8 = (double)(float)local_b0 + dVar10; local_res18 = local_c8._0_4_; local_d8 = SUB84((double)(float)((ulonglong)local_b0 >> 0x20) + dVar10,0); uStackX_1c = local_d8; local_res8 = uVar20; FUN_1804fe350(plVar7,CONCAT44(local_d8,local_c8._0_4_)); } } else { (*(code *)((undefined **)*plVar7)[1])(plVar7); } lVar16 = lVar21; if (bVar22) { lVar16 = puVar11[2]; } if (lVar16 == 0) goto LAB_1804fc191; plVar19 = plVar19 + 1; } while (plVar19 != plVar2); } cVar13 = FUN_1804fc6a0(param_1); if (cVar13 == '\0') { lVar16 = *(longlong *)(param_1 + 0x118); lVar17 = lVar21; if (lVar16 != 0) { lVar17 = *(longlong *)(lVar16 + 0x10); } if (lVar17 != 0) { lVar17 = lVar21; if (lVar16 != 0) { lVar17 = *(longlong *)(lVar16 + 0x10); } puVar18 = (undefined8 *)FUN_18133c1f0(local_a8); uVar20 = *puVar18; if (lVar17 != 0) { lVar12 = *(longlong *)(lVar17 + 0x18); lVar16 = lVar17; while (lVar8 = lVar12, lVar8 != 0) { lVar16 = lVar8; lVar12 = *(longlong *)(lVar8 + 0x18); } puVar18 = (undefined8 *)FUN_18051e060(local_a0,lVar16); uVar20 = *puVar18; if (lVar16 != lVar17) { if (*(longlong *)(lVar17 + 0x18) != lVar16) { puVar18 = (undefined8 *)FUN_180520050(local_98,lVar16); uVar20 = *puVar18; } FUN_18051e060(&local_res8,lVar17,uVar20); uVar20 = local_res8; } } local_res8 = uVar20; if (*(longlong *)(param_1 + 0x118) != 0) { lVar21 = *(longlong *)(*(longlong *)(param_1 + 0x118) + 0x10); } cVar13 = FUN_181343f20(lVar21,local_res8,1); if (cVar13 != '\0') { FUN_1813416b0(param_1,0x6287345f); goto LAB_1804fc191; } } FUN_1804fbaf0(param_1,0); } LAB_1804fc191: if (puVar11 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar11 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res20)(local_res20,1); } } return; } ############ FUN_ 1804fc2d0 size=354 ############ undefined8 FUN_1804fc2d0(longlong param_1) { longlong lVar1; longlong lVar2; int iVar3; ulonglong uVar4; undefined8 *puVar5; longlong lVar6; ulonglong uVar7; if ((*(byte *)(param_1 + 0xa8) >> 1 & 1) != 0) { uVar7 = 0; uVar4 = uVar7; if (*(longlong *)(param_1 + 0x118) != 0) { uVar4 = *(ulonglong *)(*(longlong *)(param_1 + 0x118) + 0x10); } if (uVar4 == *(ulonglong *)(param_1 + 200)) { if (DAT_182673c20 == (undefined8 *)0x0) { puVar5 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar5); FUN_1812a7230(puVar5 + 2); *puVar5 = juce::ModalComponentManager::vftable; puVar5[2] = juce::ModalComponentManager::vftable; puVar5[3] = 0; puVar5[4] = 0; DAT_182673c20 = puVar5; } iVar3 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar6 = (longlong)iVar3; if (-1 < iVar3) { uVar4 = uVar7; do { lVar1 = *(longlong *)(DAT_182673c20[3] + lVar6 * 8); if ((*(char *)(lVar1 + 0x5c) != '\0') && (iVar3 = (int)uVar4, uVar4 = (ulonglong)(iVar3 + 1), iVar3 == 0)) { uVar7 = *(ulonglong *)(lVar1 + 0x40); break; } lVar6 = lVar6 + -1; } while (-1 < lVar6); } lVar6 = __RTDynamicCast(uVar7,0,&juce::Component::RTTI_Type_Descriptor, &juce::PopupMenu::HelperClasses::MenuWindow::RTTI_Type_Descriptor,0); if (lVar6 != 0) { lVar1 = *(longlong *)(param_1 + 0xb0); while (lVar2 = lVar1, lVar2 != 0) { param_1 = lVar2; lVar1 = *(longlong *)(lVar2 + 0xb0); } while (param_1 != lVar6) { param_1 = *(longlong *)(param_1 + 0x158); if (param_1 == 0) { return 0; } } } return 1; } FUN_1804fbaf0(param_1,0); } return 0; } ############ FUN_ 1804fc750 size=526 ############ undefined8 FUN_1804fc750(longlong param_1) { longlong *plVar1; float fVar2; float fVar3; float fVar4; longlong lVar5; longlong lVar6; longlong lVar7; longlong lVar8; float fVar9; double dVar10; float fVar11; char cVar12; float *pfVar13; undefined8 *puVar14; longlong *plVar15; undefined8 uVar16; float local_res8; float local_resc; double local_res10; float local_res18; float fStackX_1c; float local_res20; float local_res24; undefined8 local_b0; double local_a8; undefined8 local_a0; undefined1 local_98 [8]; undefined1 local_90 [8]; undefined1 local_88 [88]; dVar10 = DAT_1824c4520; fVar9 = DAT_1824c3ea4; local_a0 = 0xfffffffffffffffe; plVar15 = *(longlong **)(param_1 + 0x180); plVar1 = plVar15 + *(int *)(param_1 + 0x18c); while( true ) { if (plVar15 == plVar1) { return 0; } lVar5 = *plVar15; pfVar13 = (float *)FUN_1804e5a90(*(undefined8 *)(lVar5 + 0x20),local_98); fVar2 = *pfVar13; fVar3 = pfVar13[1]; uVar16 = *(undefined8 *)pfVar13; if (DAT_182673700 == 0) { local_res10 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } fVar4 = *(float *)(DAT_182673700 + 0xc0); if (fVar4 == fVar9) { local_b0 = uVar16; pfVar13 = (float *)&local_b0; } else { local_res24 = fVar3 / fVar4; local_res20 = fVar2 / fVar4; pfVar13 = &local_res20; } local_res10 = *(double *)pfVar13; lVar6 = *(longlong *)(lVar5 + 0x18); fVar4 = *pfVar13; fVar11 = pfVar13[1]; local_res18 = fVar2; fStackX_1c = fVar3; if (lVar6 != 0) { lVar7 = lVar6; for (lVar8 = *(longlong *)(lVar6 + 0x18); lVar8 != 0; lVar8 = *(longlong *)(lVar8 + 0x18)) { lVar7 = lVar8; } pfVar13 = (float *)FUN_1805200f0(local_90,lVar7,*(undefined8 *)pfVar13); uVar16 = *(undefined8 *)pfVar13; fVar4 = *pfVar13; fVar11 = pfVar13[1]; if (lVar7 != lVar6) { local_res10 = (double)uVar16; if (*(longlong *)(lVar6 + 0x18) != lVar7) { puVar14 = (undefined8 *)FUN_1805200a0(local_88,lVar7,*(longlong *)(lVar6 + 0x18),uVar16); uVar16 = *puVar14; } FUN_1805200f0(&local_res8,lVar6,uVar16); fVar4 = local_res8; fVar11 = local_resc; } } local_resc = fVar11; local_res8 = fVar4; local_a8 = (double)local_resc + dVar10; local_res10 = (double)local_res8 + dVar10; cVar12 = FUN_181343f20(*(undefined8 *)(lVar5 + 0x18),CONCAT44(local_a8._0_4_,local_res10._0_4_), 1); if (cVar12 != '\0') break; plVar15 = plVar15 + 1; } return 1; } ############ FUN_ 1804fe600 size=546 ############ void FUN_1804fe600(longlong param_1,undefined8 param_2,uint param_3,char param_4,char param_5, char param_6) { longlong lVar1; undefined1 uVar2; char cVar3; DWORD DVar4; byte *pbVar5; HWND hWnd; undefined8 uVar6; longlong *plVar7; longlong lVar8; uint uVar9; bool bVar10; DWORD local_res8 [2]; if ((*(char *)(*(longlong *)(param_1 + 0x18) + 0x138) == '\0') || ((((byte)DAT_182673aec & 0x70) == 0 && (pbVar5 = (byte *)FUN_1812d0cb0(local_res8), (*pbVar5 & 0x70) == 0)))) { uVar2 = 0; } else { uVar2 = 1; } *(undefined1 *)(param_1 + 0x40) = uVar2; lVar1 = *(longlong *)(param_1 + 0x18); hWnd = GetForegroundWindow(); if (hWnd != (HWND)0x0) { local_res8[0] = 0; GetWindowThreadProcessId(hWnd,local_res8); DVar4 = GetCurrentProcessId(); if (local_res8[0] != DVar4) goto LAB_1804fe7b3; } bVar10 = true; if (DAT_182673708 == 0) { bVar10 = *(char *)(lVar1 + 0x13d) == '\0'; if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } uVar9 = *(int *)(DAT_182673700 + 0x74) - 1; lVar8 = (longlong)(int)uVar9; if (-1 < (int)uVar9) { do { if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } if (uVar9 < *(uint *)(DAT_182673700 + 0x74)) { plVar7 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x68) + lVar8 * 8); } else { plVar7 = (longlong *)0x0; } cVar3 = (**(code **)(*plVar7 + 0xc0))(); if (cVar3 != '\0') { *(undefined1 *)(lVar1 + 0x13d) = 1; goto LAB_1804fe767; } uVar9 = uVar9 - 1; lVar8 = lVar8 + -1; } while (-1 < lVar8); } } if (bVar10) { LAB_1804fe767: if ((((param_4 == '\0') || (param_3 <= *(int *)(*(longlong *)(param_1 + 0x18) + 0x170) + 0xfaU)) || (*(char *)(param_1 + 0x40) != '\0')) || (param_5 != '\0')) { *(uint *)(*(longlong *)(param_1 + 0x18) + 0x174) = param_3; return; } cVar3 = FUN_181343f20(*(longlong *)(param_1 + 0x18),param_2,1); lVar1 = *(longlong *)(param_1 + 0x18); if (cVar3 != '\0') { FUN_1804fdee0(); return; } if ((*(char *)(lVar1 + 0x138) == '\0') && (*(char *)(lVar1 + 0x13a) != '\0')) { return; } if (param_6 != '\0') { return; } FUN_1804fbaf0(lVar1,0); return; } LAB_1804fe7b3: if (*(int *)(*(longlong *)(param_1 + 0x18) + 0x174) + 10U < param_3) { DAT_182678e96 = 1; FUN_1804fbaf0(*(longlong *)(param_1 + 0x18),0); } return; } ############ FUN_ 1804fed30 size=505 ############ longlong FUN_1804fed30(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { float fVar1; longlong lVar2; float *pfVar3; undefined8 *puVar4; uint7 uVar6; longlong lVar5; longlong lVar7; undefined8 uVar8; undefined8 local_res8; undefined8 local_res10; undefined1 local_res18 [16]; pfVar3 = (float *)FUN_1804e5a90(*(undefined8 *)(param_1 + 0x20),&local_res8,param_3,param_4, 0xfffffffffffffffe); local_res8._0_4_ = *pfVar3; local_res8._4_4_ = pfVar3[1]; if (DAT_182673700 == 0) { local_res10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } fVar1 = *(float *)(DAT_182673700 + 0xc0); if (fVar1 != DAT_1824c3ea4) { local_res8._4_4_ = local_res8._4_4_ / fVar1; local_res8._0_4_ = (float)local_res8 / fVar1; } local_res10 = CONCAT44(local_res8._4_4_,(float)local_res8); lVar5 = *(longlong *)(param_1 + 0x18); uVar8 = local_res10; if (*(longlong *)(lVar5 + 0x158) == 0) { if (lVar5 == 0) goto LAB_1804feeff; lVar7 = lVar5; for (lVar2 = *(longlong *)(lVar5 + 0x18); lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x18)) { lVar7 = lVar2; } puVar4 = (undefined8 *)FUN_1805200f0(&local_res10,lVar7,local_res10); local_res8 = *puVar4; uVar8 = *puVar4; if (lVar7 == lVar5) goto LAB_1804feeff; } else { lVar5 = *(longlong *)(lVar5 + 0x158); if (lVar5 == 0) goto LAB_1804feeff; lVar7 = lVar5; for (lVar2 = *(longlong *)(lVar5 + 0x18); lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x18)) { lVar7 = lVar2; } puVar4 = (undefined8 *)FUN_1805200f0(&local_res10,lVar7,local_res10); local_res8 = *puVar4; uVar8 = *puVar4; if (lVar7 == lVar5) goto LAB_1804feeff; } uVar8 = local_res8; if (*(longlong *)(lVar5 + 0x18) != lVar7) { puVar4 = (undefined8 *)FUN_1805200a0(local_res18,lVar7,*(longlong *)(lVar5 + 0x18),local_res8); uVar8 = *puVar4; } FUN_1805200f0(&local_res8,lVar5,uVar8); uVar8 = local_res8; LAB_1804feeff: local_res8 = uVar8; uVar6 = (uint7)((ulonglong)&local_res8 >> 8); if ((0.0 <= (float)local_res8) || (0.0 <= local_res8._4_4_)) { lVar5 = CONCAT71(uVar6,1); } else { lVar5 = (ulonglong)uVar6 << 8; } return lVar5; } ############ FUN_ 18133c1f0 size=288 ############ undefined4 * FUN_18133c1f0(undefined4 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { float fVar1; float fVar2; float fVar3; float *pfVar4; double dVar5; undefined8 local_res8; undefined8 local_res10; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { local_res8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8); } pfVar4 = (float *)FUN_1804e5a90(**(undefined8 **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18), &local_res8,param_3,param_4,uVar6); fVar1 = *pfVar4; fVar2 = pfVar4[1]; if (DAT_182673700 == 0) { local_res10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } fVar3 = *(float *)(DAT_182673700 + 0xc0); local_res8._0_4_ = fVar1; local_res8._4_4_ = fVar2; if (fVar3 != DAT_1824c3ea4) { local_res8._0_4_ = fVar1 / fVar3; local_res8._4_4_ = fVar2 / fVar3; } dVar5 = (double)local_res8._4_4_ + DAT_1824c4520; local_res8._0_4_ = SUB84((double)(float)local_res8 + DAT_1824c4520,0); *param_1 = (float)local_res8; local_res10._0_4_ = SUB84(dVar5,0); param_1[1] = (undefined4)local_res10; return param_1; } ############ FUN_ 1804fe210 size=317 ############ void FUN_1804fe210(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { float fVar1; int iVar2; char cVar3; float *pfVar4; undefined8 uVar5; float local_res8; float fStackX_c; undefined4 local_res10; undefined1 local_res18 [16]; iVar2 = *(int *)(*(longlong *)(param_1 + 0x20) + 0x14); if ((((iVar2 != 1) && (iVar2 != 2)) || (cVar3 = FUN_1804fed30(param_1,param_2,param_3,param_4,0xfffffffffffffffe), cVar3 != '\0')) && (cVar3 = FUN_1804fc2d0(*(undefined8 *)(param_1 + 0x18)), cVar3 != '\0')) { pfVar4 = (float *)FUN_1804e5a90(*(undefined8 *)(param_1 + 0x20),local_res18); local_res8 = *pfVar4; fStackX_c = pfVar4[1]; if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } fVar1 = *(float *)(DAT_182673700 + 0xc0); if (fVar1 != DAT_1824c3ea4) { fStackX_c = fStackX_c / fVar1; local_res8 = local_res8 / fVar1; } local_res10 = SUB84((double)fStackX_c + DAT_1824c4520,0); FUN_1804fe350(param_1,CONCAT44(local_res10,SUB84((double)local_res8 + DAT_1824c4520,0))); } return; } ############ FUN_ 1812f1110 size=360 ############ void FUN_1812f1110(undefined8 *param_1) { int iVar1; undefined8 *puVar2; longlong lVar3; longlong *plVar4; undefined8 uVar5; ulonglong uVar6; longlong *plVar7; int iVar8; ulonglong uVar9; *param_1 = juce::PopupMenu::HelperClasses::MenuWindow::vftable; plVar4 = (longlong *)FUN_1804fc440(); uVar6 = 0; iVar1 = *(int *)((longlong)plVar4 + 0xc); plVar7 = (longlong *)*plVar4; uVar9 = uVar6; if (0 < iVar1) { do { iVar8 = (int)uVar9; if (param_1 == (undefined8 *)*plVar7) { plVar7 = (longlong *)*plVar4 + iVar8; memmove(plVar7,plVar7 + 1,(longlong)((iVar1 - iVar8) + -1) << 3); *(int *)((longlong)plVar4 + 0xc) = *(int *)((longlong)plVar4 + 0xc) + -1; iVar1 = *(int *)((longlong)plVar4 + 0xc); iVar8 = 0; if (0 < iVar1 * 2) { iVar8 = iVar1 * 2; } if (iVar8 < (int)plVar4[1]) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < (int)plVar4[1]) { FUN_18047cb30(plVar4); } } break; } plVar7 = plVar7 + 1; uVar9 = (ulonglong)(iVar8 + 1U); } while ((int)(iVar8 + 1U) < iVar1); } if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } lVar3 = DAT_182673700; uVar9 = uVar6; if (0 < (longlong)*(int *)(DAT_182673700 + 0x44)) { do { if (param_1 == *(undefined8 **)(*(longlong *)(DAT_182673700 + 0x38) + uVar6 * 8)) { FUN_18049b4a0(DAT_182673700 + 0x38,uVar9); break; } uVar9 = (ulonglong)((int)uVar9 + 1); uVar6 = uVar6 + 1; } while ((longlong)uVar6 < (longlong)*(int *)(DAT_182673700 + 0x44)); } FUN_18133bd90(lVar3); puVar2 = (undefined8 *)param_1[0x2b]; param_1[0x2b] = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } FUN_18047cbc0(param_1 + 0x20); if (*(int *)(param_1 + 0x21) == 0) { *(undefined4 *)(param_1 + 0x21) = 0; FUN_180485f00(param_1 + 0x30); *(undefined4 *)((longlong)param_1 + 0x16c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x2c]); } /* WARNING: Subroutine does not return */ free((void *)param_1[0x20]); } ############ FUN_ 1804ff360 size=229 ############ undefined8 * FUN_1804ff360(longlong param_1,undefined8 *param_2,undefined8 param_3) { int iVar1; longlong lVar2; undefined8 *puVar3; undefined4 uVar4; undefined1 local_res20 [8]; iVar1 = FUN_1812ef770(param_3); if (iVar1 == 6) { iVar1 = *(int *)(*(longlong *)(param_1 + 8) + 0x28); } else { if (iVar1 != 7) { lVar2 = FUN_1804ff580(*(undefined8 *)(param_1 + 8),param_3,local_res20); if (lVar2 != 0) { uVar4 = FUN_18123b890(lVar2 + 8,param_1); FUN_18123b9e0(param_2,uVar4); return param_2; } FUN_18123b2a0(param_1,param_2,param_3); return param_2; } iVar1 = *(int *)(*(longlong *)(param_1 + 8) + 0x2c); } puVar3 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = juce::Expression::Helpers::Constant::vftable; puVar3[2] = (double)iVar1; *(undefined1 *)(puVar3 + 3) = 0; *param_2 = puVar3; *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; return param_2; } ############ FUN_ 18123b2a0 size=131 ############ undefined8 * FUN_18123b2a0(undefined8 param_1,undefined8 *param_2,undefined8 *param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; undefined1 local_res18 [16]; undefined1 local_30 [40]; if (*(char *)*param_3 == '\0') { puVar1 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::Expression::Helpers::Constant::vftable; puVar1[2] = 0; *(undefined1 *)(puVar1 + 3) = 0; *param_2 = puVar1; *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; return param_2; } uVar2 = FUN_181246550(local_res18,"Unknown symbol: ",param_3,param_4,0xfffffffffffffffe); FUN_180493b80(local_30,uVar2); /* WARNING: Subroutine does not return */ _CxxThrowException(local_30,(ThrowInfo *)&DAT_1825fede0); } ############ FUN_ 18123b9e0 size=78 ############ undefined8 * FUN_18123b9e0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); puVar1[2] = param_2; *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::Expression::Helpers::Constant::vftable; *(undefined1 *)(puVar1 + 3) = 0; *param_1 = puVar1; *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; return param_1; } ############ FUN_ 18133a190 size=2538 ############ /* WARNING: Removing unreachable block (ram,0x00018133a78e) */ /* WARNING: Removing unreachable block (ram,0x00018133a81c) */ /* WARNING: Heritage AFTER dead removal. Example location: s0xfffffffffffffe08 : 0x00018133a7b0 */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_18133a190(longlong *param_1,undefined8 param_2,longlong param_3,longlong *param_4, char param_5,int *param_6,undefined8 param_7) { int *piVar1; float fVar2; float fVar3; float fVar4; longlong *plVar5; longlong lVar6; longlong lVar7; double dVar8; float fVar9; undefined4 uVar10; double dVar11; undefined4 uVar12; double dVar13; int iVar14; uint uVar15; BOOL BVar16; longlong lVar17; longlong *plVar18; float *pfVar19; undefined8 uVar20; longlong *plVar21; undefined8 *puVar22; longlong lVar23; uint uVar24; int iVar25; uint uVar26; undefined8 uVar27; longlong lVar28; int iVar29; uint uVar30; bool bVar31; float fVar32; undefined8 in_stack_fffffffffffffd58; undefined4 uVar33; int local_278; undefined8 local_270; longlong local_268; ulonglong local_260; float local_258; float local_254; int local_250; int iStack_24c; int local_248; int iStack_244; int local_240; int iStack_23c; int local_238; int iStack_234; undefined8 *local_230; double local_228; longlong *local_220; undefined8 local_218; undefined4 uStack_210; undefined4 uStack_20c; undefined8 local_208; undefined4 local_200; undefined4 local_1fc; undefined8 local_1f8; int local_1f0; int local_1ec; undefined8 local_1e8; int local_1e0; int local_1dc; undefined8 local_1d8; double local_1d0; double local_1c8; undefined8 *local_1c0; undefined8 *local_1b8; undefined8 local_1b0; undefined8 uStack_1a8; undefined8 local_180; undefined8 uStack_178; undefined8 local_170; undefined8 uStack_168; uint *local_160 [2]; undefined4 local_14c; undefined4 local_148; undefined8 *local_140; undefined1 local_138 [8]; undefined1 local_130 [8]; undefined1 local_128 [8]; undefined1 local_120 [8]; undefined8 local_118; undefined8 local_110; undefined8 local_108; undefined8 uStack_100; longlong local_f8; undefined1 local_f0 [16]; tagMSG local_e0 [3]; uVar33 = (undefined4)((ulonglong)in_stack_fffffffffffffd58 >> 0x20); local_118 = 0xfffffffffffffffe; plVar21 = (longlong *)param_1[1]; plVar18 = plVar21 + *(int *)((longlong)param_1 + 0x14); lVar28 = 0; plVar5 = param_1; for (; plVar21 != plVar18; plVar21 = plVar21 + 1) { plVar5 = *(longlong **)(*plVar21 + 0xd8); lVar17 = lVar28; if (plVar5 != (longlong *)0x0) { lVar17 = plVar5[2]; } if (lVar17 == param_3) { puVar22 = (undefined8 *)*param_4; goto LAB_18133ab16; } } plVar18 = (longlong *)FUN_181339e10(plVar5,param_3,param_7); local_220 = plVar18; if ((plVar18 == (longlong *)0x0) || (lVar17 = *plVar18, (*(byte *)(lVar17 + 0x28) & 0x70) == 0)) { puVar22 = (undefined8 *)*param_4; LAB_18133ab16: if (puVar22 == (undefined8 *)0x0) { return; } LOCK(); piVar1 = (int *)(puVar22 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); goto LAB_18133ab28; } fVar2 = *(float *)(lVar17 + 0x70); fVar3 = *(float *)(lVar17 + 0x74); uVar27 = *(undefined8 *)(lVar17 + 0x70); if (DAT_182673700 == 0) { local_228 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_228); } dVar8 = DAT_1824c4520; fVar4 = *(float *)(DAT_182673700 + 0xc0); if (fVar4 == DAT_1824c3ea4) { local_1d8 = uVar27; pfVar19 = (float *)&local_1d8; } else { local_258 = fVar2 / fVar4; local_254 = fVar3 / fVar4; pfVar19 = &local_258; } local_110 = *(undefined8 *)pfVar19; local_1c8 = (double)(float)((ulonglong)local_110 >> 0x20) + DAT_1824c4520; dVar13 = local_1c8; local_1d0 = (double)(float)local_110 + DAT_1824c4520; dVar11 = local_1d0; uVar10 = local_1d0._0_4_; uVar12 = local_1c8._0_4_; lVar17 = *param_4; uVar27 = CONCAT44(local_1c8._0_4_,local_1d0._0_4_); iVar14 = 0; local_1d0 = dVar11; local_1c8 = dVar13; if (lVar17 == 0) { uStack_20c = *(undefined4 *)(param_3 + 0x2c); uStack_210 = *(undefined4 *)(param_3 + 0x28); uStack_100 = *(undefined8 *)(param_3 + 0x28); local_218 = 0; local_108 = 0; uVar20 = FUN_181341cd0(param_3,&local_1b8,&local_108,1,CONCAT44(uVar33,DAT_1824c3ea4)); plVar21 = (longlong *)FUN_181290930(uVar20,&local_1c0,2); local_f8 = *param_4; *param_4 = *plVar21; *plVar21 = local_f8; if (local_1c0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_1c0 + 1); iVar29 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar29 == 1) { (**(code **)*local_1c0)(local_1c0,1); } } if (local_1b8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_1b8 + 1); iVar29 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar29 == 1) { (**(code **)*local_1b8)(local_1b8,1); } } FUN_1812900e0(param_4,DAT_1824c3db8); if (param_3 != 0) { lVar23 = *(longlong *)(param_3 + 0x18); lVar17 = param_3; while (lVar7 = lVar23, lVar7 != 0) { lVar17 = lVar7; lVar23 = *(longlong *)(lVar7 + 0x18); } puVar22 = (undefined8 *)FUN_18051e060(local_138,lVar17,uVar27); uVar27 = *puVar22; if (lVar17 != param_3) { if (*(longlong *)(param_3 + 0x18) != lVar17) { puVar22 = (undefined8 *) FUN_180520050(local_130,lVar17,*(longlong *)(param_3 + 0x18),uVar27); uVar27 = *puVar22; } FUN_18051e060(&local_270,param_3,uVar27); uVar27 = local_270; } } local_270 = uVar27; lVar17 = *param_4; if (lVar17 == 0) { local_1b0 = 0; uStack_1a8 = 0; puVar22 = &local_1b0; } else { local_208 = 0; local_200 = *(undefined4 *)(lVar17 + 0x14); local_1fc = *(undefined4 *)(lVar17 + 0x18); puVar22 = &local_208; } uVar27 = *puVar22; uVar20 = puVar22[1]; local_278 = (int)uVar27; iVar25 = (int)uVar20 + local_278; iVar29 = (int)local_270; if ((local_278 <= iVar29) && (local_278 = iVar29, iVar25 < iVar29)) { local_278 = iVar25; } local_180._4_4_ = (int)((ulonglong)uVar27 >> 0x20); uStack_178._4_4_ = (int)((ulonglong)uVar20 >> 0x20); iVar25 = (int)((ulonglong)local_270 >> 0x20); iVar29 = local_180._4_4_; if ((local_180._4_4_ <= iVar25) && (iVar29 = iVar25, uStack_178._4_4_ + local_180._4_4_ < iVar25)) { iVar29 = uStack_178._4_4_ + local_180._4_4_; } local_260 = 1; local_250 = local_278; iStack_24c = iVar29; local_180 = uVar27; uStack_178 = uVar20; FUN_18123ad30(&local_260); fVar9 = DAT_1824c4750; fVar4 = DAT_1824c4544; fVar3 = DAT_1824c3c6c; fVar2 = DAT_1824c3c24; if (*param_4 != 0) { iVar14 = *(int *)(*param_4 + 0x18); } uVar30 = iVar14 - 1; if (-1 < (int)uVar30) { iVar29 = uVar30 - iVar29; do { iVar14 = FUN_1812910f0(param_4); uVar26 = iVar14 - 1; if (-1 < (int)uVar26) { iVar14 = uVar26 - local_278; do { local_228 = sqrt((double)(iVar14 * iVar14 + iVar29 * iVar29)); local_228 = local_228 + dVar8; iVar25 = SUB84(local_228,0); if (0x96 < iVar25) { if (iVar25 < 0x191) { local_260 = local_260 * 0x5deece66d + 0xb & 0xffffffffffff; fVar32 = (float)(400 - iVar25) / fVar4 + (float)(local_260 >> 0x10) * fVar2 * fVar3; } else { fVar32 = 0.0; } plVar18 = (longlong *)*param_4; bVar31 = plVar18 != (longlong *)0x0; uVar15 = 0; uVar24 = uVar15; if (bVar31) { uVar24 = *(uint *)((longlong)plVar18 + 0x14); } if (uVar26 < uVar24) { uVar24 = uVar15; if (bVar31) { uVar24 = *(uint *)(plVar18 + 3); } if (uVar30 < uVar24) { uVar24 = uVar15; if (bVar31) { uVar24 = *(uint *)(plVar18 + 2); } if (uVar24 != 1) { local_14c = 1; local_148 = 1; local_140 = (undefined8 *)0x0; (**(code **)(*plVar18 + 0x20))(plVar18,local_160,uVar26,uVar30,2); if (*param_4 != 0) { uVar15 = *(uint *)(*param_4 + 0x10); } if (uVar15 == 2) { iVar25 = 1 - (int)(fVar32 * fVar9); uVar24 = *local_160[0] >> 8 & 0xff00ff; *local_160[0] = ((*local_160[0] & 0xff00ff) * iVar25 >> 8 ^ uVar24 * iVar25) & 0xff00ff ^ uVar24 * iVar25; } else { *(byte *)local_160[0] = (byte)(int)((float)(byte)*local_160[0] * fVar32); } if (local_140 != (undefined8 *)0x0) { (**(code **)*local_140)(local_140,1); } } } } } iVar14 = iVar14 + -1; uVar26 = uVar26 - 1; } while (-1 < (int)uVar26); } iVar29 = iVar29 + -1; uVar30 = uVar30 - 1; plVar18 = local_220; } while (-1 < (int)uVar30); } uVar27 = CONCAT44(iStack_24c,local_250); } else if (param_6 == (int *)0x0) { local_1ec = *(int *)(lVar17 + 0x18); local_1f0 = *(int *)(lVar17 + 0x14); local_1f8 = 0; local_1f8 = 0; local_f0._8_8_ = 0; local_f0._0_8_ = *(ulonglong *)(lVar17 + 0x14); local_f0 = local_f0 << 0x40; iStack_244 = local_1ec / 2; local_248 = local_1f0 / 2; uVar27 = CONCAT44(iStack_244,local_248); } else { iStack_23c = -param_6[1]; local_240 = -*param_6; local_1dc = *(int *)(lVar17 + 0x18); local_1e0 = *(int *)(lVar17 + 0x14); uStack_168 = *(undefined8 *)(lVar17 + 0x14); local_1e8 = 0; local_1e8 = 0; local_170 = 0; local_238 = 0; if ((-1 < local_240) && (local_238 = local_240, local_1e0 < local_240)) { local_238 = local_1e0; } local_170._4_4_ = 0; iStack_234 = local_170._4_4_; if ((-1 < iStack_23c) && (iStack_234 = iStack_23c, local_1dc < iStack_23c)) { iStack_234 = local_1dc; } uVar27 = CONCAT44(iStack_234,local_238); } lVar17 = CONCAT44(uVar12,uVar10); local_220 = (longlong *)FUN_1811316e0(0x128); plVar21 = (longlong *)FUN_1804e7920(local_220,param_4,param_2,param_3,plVar18,param_1,uVar27); iVar14 = *(int *)((longlong)param_1 + 0x14) + 1; if ((int)param_1[2] < iVar14) { FUN_18047cb30(param_1 + 1,*(int *)((longlong)param_1 + 0x14) + 9 + iVar14 / 2 & 0xfffffff8); } iVar14 = *(int *)((longlong)param_1 + 0x14); *(int *)((longlong)param_1 + 0x14) = iVar14 + 1; *(longlong **)(param_1[1] + (longlong)iVar14 * 8) = plVar21; if (param_5 == '\0') { lVar23 = __RTDynamicCast(param_1,0,&juce::DragAndDropContainer::RTTI_Type_Descriptor, &juce::Component::RTTI_Type_Descriptor, (ulonglong)plVar18 & 0xffffffff00000000); if (lVar23 != 0) { if (plVar21 != (longlong *)0x0) { FUN_181343cc0(lVar23,plVar21,0xffffffff); } goto LAB_18133a95f; } } else { (**(code **)(*plVar21 + 0x68))(plVar21,0x406,0); LAB_18133a95f: lVar23 = lVar17; if (param_3 != 0) { lVar23 = *(longlong *)(param_3 + 0x18); lVar7 = param_3; while (lVar6 = lVar23, lVar6 != 0) { lVar7 = lVar6; lVar23 = *(longlong *)(lVar6 + 0x18); } plVar18 = (longlong *)FUN_18051e060(local_128,lVar7,lVar17); lVar23 = *plVar18; if (lVar7 != param_3) { if (*(longlong *)(param_3 + 0x18) != lVar7) { plVar18 = (longlong *)FUN_180520050(local_120,lVar7); lVar23 = *plVar18; } FUN_18051e060(&local_268,param_3,lVar23); lVar23 = local_268; } } local_268 = lVar23; plVar21[0x1c] = local_268; FUN_1804e8170(plVar21,0,lVar17); if ((*(byte *)(plVar21 + 0x15) & 1) == 0) { if (plVar21[3] != 0) { plVar18 = (longlong *)FUN_18134c2e0(); goto LAB_18133aa19; } } else { plVar18 = (longlong *)FUN_1812d2bd0(plVar21); LAB_18133aa19: if (plVar18 != (longlong *)0x0) { if ((undefined **)*plVar18 == juce::HWNDComponentPeer::vftable) { if ((*(byte *)(plVar18[1] + 0xa8) >> 1 & 1) != 0) { FUN_1804de690(&local_230); puVar22 = local_230; if (((*(byte *)(plVar18[1] + 0xa8) >> 2 & 1) == 0) || (BVar16 = PeekMessageW(local_e0,(HWND)plVar18[0x11],0xf,0xf,1), BVar16 != 0)) { if (puVar22 != (undefined8 *)0x0) { lVar28 = puVar22[2]; } if (lVar28 != 0) { FUN_1805113b0(plVar18); } } if (puVar22 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar22 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { (**(code **)*local_230)(local_230,1); } } } } else { (*(code *)((undefined **)*plVar18)[0x1d])(plVar18); } } } if (*(code **)(*param_1 + 0x18) != .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { (**(code **)(*param_1 + 0x18))(param_1,plVar21 + 0x19); } } puVar22 = (undefined8 *)*param_4; if (puVar22 == (undefined8 *)0x0) { return; } LOCK(); piVar1 = (int *)(puVar22 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); LAB_18133ab28: if (iVar14 == 1) { (**(code **)*puVar22)(puVar22,1); } return; } ############ FUN_ 180511500 size=1664 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180511500(longlong *param_1,HDC param_2,HRGN param_3,int param_4,longlong param_5) { longlong *plVar1; HWND hWnd; int iVar2; longlong lVar3; HRGN hrgn; DWORD DVar4; int iVar5; int *piVar6; longlong lVar7; HRGN hrgnSrc2; longlong *plVar8; int iVar9; int yDest; int iVar10; undefined8 *puVar11; int iVar12; undefined8 *puVar13; int iVar14; int iVar15; int iVar16; HDC hdc; int iVar17; bool bVar18; double dVar19; undefined1 auStackY_21d8 [32]; int local_2164; undefined8 *local_2160; undefined8 local_2158; undefined4 local_2150; BLENDFUNCTION local_214c; int local_2148; undefined8 local_2144; undefined8 uStack_213c; longlong *local_2130; longlong *local_2128; HDC local_2120; int local_2118; int iStack_2114; POINT local_2110; SIZE local_2108; POINT local_2100; undefined8 local_20f8; undefined8 local_20f0; int local_20e8; int iStack_20e4; undefined8 local_20e0; int iStack_20d8; int iStack_20d4; float local_20d0 [5]; undefined4 local_20bc; undefined8 *local_20b8; RECT *local_20b0; HRGN local_20a8; HDC local_20a0; longlong *local_2098; undefined8 **local_2090; int local_2088; int local_2084; int local_2080; undefined8 local_2078; undefined1 local_2070 [16]; undefined1 local_2060 [24]; _RGNDATA local_2048; int local_2024 [2039]; ulonglong local_48; undefined8 uStack_40; uStack_40 = 0x18051151e; local_2078 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStackY_21d8; local_20b0 = (RECT *)(param_5 + 0xc); local_2164 = local_20b0->left; yDest = *(int *)(param_5 + 0x10); iVar10 = *(int *)(param_5 + 0x14) - local_2164; iVar12 = *(int *)(param_5 + 0x18) - yDest; bVar18 = (*(byte *)(param_1[1] + 0xa8) >> 2 & 1) == 0; local_2148 = param_4; local_2130 = param_1; local_2120 = param_2; local_20a8 = param_3; if (bVar18) { piVar6 = (int *)FUN_1812c6d70(local_2070); yDest = 0; local_2164 = 0; iVar10 = piVar6[2] - *piVar6; iVar12 = piVar6[3] - piVar6[1]; } if ((iVar10 < 1) || (iVar12 < 1)) { } plVar1 = param_1 + 0x28; if (*plVar1 == 0) { LAB_180511643: local_20f8 = FUN_1811316e0(0xe0); lVar7 = FUN_18050d450(local_20f8,bVar18 + 1,iVar10 + 0x1fU & 0xffffffe0, iVar12 + 0x1fU & 0xffffffe0); if (lVar7 != 0) { LOCK(); *(int *)(lVar7 + 8) = *(int *)(lVar7 + 8) + 1; UNLOCK(); } local_20b8 = (undefined8 *)*plVar1; *plVar1 = lVar7; if (local_20b8 != (undefined8 *)0x0) { LOCK(); piVar6 = (int *)(local_20b8 + 1); iVar17 = *piVar6; *piVar6 = *piVar6 + -1; UNLOCK(); if (iVar17 == 1) { (**(code **)*local_20b8)(local_20b8,1); } } } else { lVar7 = *plVar1; iVar5 = 0; iVar17 = iVar5; if (lVar7 != 0) { iVar17 = *(int *)(lVar7 + 0x14); } if (iVar17 < iVar10) goto LAB_180511643; iVar17 = iVar5; if (lVar7 != 0) { iVar17 = *(int *)(lVar7 + 0x18); } if (iVar17 < iVar12) goto LAB_180511643; if (lVar7 != 0) { iVar5 = *(int *)(lVar7 + 0x10); } if (iVar5 != bVar18 + 1) goto LAB_180511643; } FUN_1812a77d0(param_1 + 0x25,3000); local_2160 = (undefined8 *)0x0; local_2158._0_4_ = 0; local_2158._4_4_ = 0; local_20f0 = 0; local_20e8 = iVar10; iStack_20e4 = iVar12; if ((local_2148 == 3) && (!bVar18)) { hrgnSrc2 = CreateRectRgnIndirect(local_20b0); hrgn = local_20a8; CombineRgn(local_20a8,local_20a8,hrgnSrc2,1); DeleteObject(hrgnSrc2); DVar4 = GetRegionData(hrgn,0x2000,&local_2048); if ((DVar4 - 1 < 0x2000) && (((local_2048.rdh.iType == 1 && (iVar10 <= local_2048.rdh.rcBound.right - local_2048.rdh.rcBound.left)) && (iVar12 <= local_2048.rdh.rcBound.bottom - local_2048.rdh.rcBound.top)))) { iVar17 = local_2048.rdh.nCount - 1; if (-1 < iVar17) { local_2148 = iVar10 + local_2164; piVar6 = local_2024 + 1; do { param_1 = local_2130; if ((local_2148 < *piVar6) || (iVar12 + yDest < piVar6[1])) goto LAB_180511a9e; iVar5 = local_2164; if (local_2164 < piVar6[-2]) { iVar5 = piVar6[-2]; } iVar15 = piVar6[-1] - yDest; iVar9 = iVar5 - local_2164; iVar2 = iVar9; if (iVar9 < 0) { iVar2 = 0; } iVar16 = (int)((ulonglong)local_20f0 >> 0x20); iVar14 = iVar15; if (iVar15 < iVar16) { iVar14 = iVar16; } iVar9 = (*piVar6 - iVar5) + iVar9; if (iVar10 < iVar9) { iVar9 = iVar10; } iVar9 = iVar9 - iVar2; if (iVar9 < 0) { LAB_18051187a: local_2144 = 0; uStack_213c = 0; } else { iVar15 = iVar15 + (piVar6[1] - piVar6[-1]); if (iStack_20e4 + iVar16 < iVar15) { iVar15 = iStack_20e4 + iVar16; } iVar15 = iVar15 - iVar14; if (iVar15 < 0) goto LAB_18051187a; local_2144 = CONCAT44(iVar14,iVar2); uStack_213c = CONCAT44(iVar15,iVar9); if ((0 < iVar9) && (0 < iVar15)) { iVar5 = local_2158._4_4_ + 1; if ((int)(uint)local_2158 < iVar5) { if (iVar5 < 0) { iVar5 = local_2158._4_4_ + 2; } FUN_18049ba20(&local_2160,local_2158._4_4_ + 9 + (iVar5 >> 1) & 0xfffffff8); } local_2158._4_4_ = 1; *local_2160 = local_2144; local_2160[1] = uStack_213c; } } piVar6 = piVar6 + 4; iVar17 = iVar17 + -1; param_1 = local_2130; } while (-1 < iVar17); } goto LAB_18051189e; } } LAB_180511a9e: local_2158._4_4_ = 0; local_20e0 = 0; iStack_20d8 = iVar10; iStack_20d4 = iVar12; if (0 < iVar12) { iVar10 = 0; if ((int)(uint)local_2158 < 1) { FUN_18049ba20(&local_2160,8); iVar10 = local_2158._4_4_; } local_2158._4_4_ = iVar10 + 1; local_2160[(longlong)iVar10 * 2] = local_20e0; (local_2160 + (longlong)iVar10 * 2)[1] = CONCAT44(iStack_20d4,iStack_20d8); } LAB_18051189e: local_20a0 = local_2120; local_2090 = &local_2160; local_2088 = local_2164; local_2080 = 0; local_2098 = param_1; local_2084 = yDest; EnumChildWindows((HWND)param_1[0x11],FUN_180511260,(LPARAM)&local_20a0); hdc = local_2120; if (local_2158._4_4_ != 0) { if ((bVar18) && (puVar11 = local_2160 + (longlong)local_2158._4_4_ * 2, local_2160 != puVar11)) { local_2150 = 0; puVar13 = local_2160; do { FUN_1812904a0(plVar1,puVar13,0); puVar13 = puVar13 + 2; } while (puVar13 != puVar11); } plVar8 = (longlong *)FUN_18134adf0(param_1[1]); iVar10 = -local_2164; iVar12 = -yDest; local_2118 = iVar10; iStack_2114 = iVar12; (**(code **)(*plVar8 + 0x50))(plVar8,&local_2128,plVar1,CONCAT44(iVar12,iVar10)); plVar8 = local_2128; dVar19 = (double)(**(code **)(*param_1 + 0x110))(param_1); local_20d0[0] = (float)dVar19; local_20d0[1] = 0.0; local_20d0[2] = 0.0; local_20d0[3] = 0.0; local_20bc = 0; local_20d0[4] = local_20d0[0]; (**(code **)(*plVar8 + 0x18))(plVar8,local_20d0); FUN_1812d2680(param_1,local_2128); if (local_2128 != (longlong *)0x0) { (**(code **)*local_2128)(local_2128,1); } hdc = local_2120; lVar7 = *plVar1; lVar3 = param_1[0x1b]; hWnd = (HWND)param_1[0x11]; SetMapMode(local_2120,1); if (bVar18) { piVar6 = (int *)FUN_1812c6d70(local_2060,hWnd); local_2100.x = *piVar6; local_2100.y = piVar6[1]; local_2108.cx = piVar6[2] - local_2100.x; local_2108.cy = piVar6[3] - local_2100.y; local_214c.AlphaFormat = '\x01'; local_214c.BlendOp = '\0'; local_214c.BlendFlags = '\0'; local_214c.SourceConstantAlpha = (BYTE)lVar3; local_2110.x = iVar10; local_2110.y = iVar12; UpdateLayeredWindow(hWnd,(HDC)0x0,&local_2100,&local_2108,*(HDC *)(lVar7 + 0xc0),&local_2110,0 ,&local_214c,2); } else { StretchDIBits(hdc,local_2164,yDest,*(int *)(lVar7 + 0x14),*(int *)(lVar7 + 0x18),0,0, *(int *)(lVar7 + 0x14),*(int *)(lVar7 + 0x18),*(void **)(lVar7 + 200), (BITMAPINFO *)(lVar7 + 0x50),0,0xcc0020); } } if (local_2080 != 0) { RestoreDC(hdc,local_2080); } local_2158 = (ulonglong)(uint)local_2158; /* WARNING: Subroutine does not return */ free(local_2160); } ############ FUN_ 181339e10 size=701 ############ longlong * FUN_181339e10(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 param_4) { float fVar1; longlong lVar2; float fVar3; longlong lVar4; undefined8 uVar5; undefined8 *puVar6; float *pfVar7; ulonglong uVar8; longlong *plVar9; longlong *plVar10; int iVar11; uint uVar12; ulonglong uVar13; ulonglong uVar14; ulonglong uVar15; float fVar16; float fVar17; float fVar18; float local_res8; float fStackX_c; float local_res18; float local_res1c; undefined8 local_res20; undefined1 local_c0 [24]; undefined8 local_a8; undefined8 uStack_a0; fVar18 = DAT_1824c4628; if (param_3 == (longlong *)0x0) { if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130,param_2,0,param_4,0xfffffffffffffffe); DAT_182673700 = FUN_18133c6c0(uVar5); } lVar4 = DAT_182673700; uVar15 = 0; if (param_2 == 0) { local_res8 = 0.0; fStackX_c = 0.0; } else { uStack_a0 = *(undefined8 *)(param_2 + 0x28); local_a8 = 0; do { if (param_2 == 0) break; puVar6 = (undefined8 *)FUN_18051e4b0(local_c0,param_2,&local_a8); local_a8 = *puVar6; uStack_a0 = puVar6[1]; param_2 = *(longlong *)(param_2 + 0x18); } while (param_2 != 0); fStackX_c = (float)((int)((ulonglong)local_a8 >> 0x20) + (int)((ulonglong)uStack_a0 >> 0x20) / 2); local_res8 = (float)((int)uStack_a0 / 2 + (int)local_a8); } fVar3 = DAT_1824c3ea4; lVar2 = *(longlong *)(lVar4 + 0x30); iVar11 = 0; plVar9 = *(longlong **)(lVar2 + 0x18); uVar13 = (ulonglong)((longlong)(plVar9 + *(int *)(lVar2 + 0x24)) + (7 - (longlong)plVar9)) >> 3; if (plVar9 + *(int *)(lVar2 + 0x24) < plVar9) { uVar13 = uVar15; } uVar8 = uVar15; uVar14 = uVar15; if (uVar13 != 0) { do { if ((*(byte *)(*plVar9 + 0x28) & 0x70) != 0) { uVar8 = (ulonglong)((int)uVar8 + 1); } iVar11 = (int)uVar8; plVar9 = plVar9 + 1; uVar14 = uVar14 + 1; } while (uVar14 != uVar13); } uVar13 = uVar15; if (0 < iVar11) { do { lVar2 = *(longlong *)(lVar4 + 0x30); plVar10 = *(longlong **)(lVar2 + 0x28); plVar9 = plVar10 + *(int *)(lVar2 + 0x34); uVar8 = uVar15; for (; plVar10 != plVar9; plVar10 = plVar10 + 1) { if ((*(byte *)(*plVar10 + 0x28) & 0x70) != 0) { if ((int)uVar13 == (int)uVar8) { if (plVar10 != (longlong *)0x0) { pfVar7 = (float *)FUN_1804e5a90(*plVar10,local_c0); fVar16 = *pfVar7; fVar17 = pfVar7[1]; uVar5 = *(undefined8 *)pfVar7; if (DAT_182673700 == 0) { local_a8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_a8); } fVar1 = *(float *)(DAT_182673700 + 0xc0); if (fVar1 == fVar3) { local_res20 = uVar5; pfVar7 = (float *)&local_res20; } else { local_res18 = fVar16 / fVar1; local_res1c = fVar17 / fVar1; pfVar7 = &local_res18; } fVar16 = (float)*(undefined8 *)pfVar7 - local_res8; fVar17 = (float)((ulonglong)*(undefined8 *)pfVar7 >> 0x20) - fStackX_c; fVar16 = fVar17 * fVar17 + fVar16 * fVar16; if (fVar16 < fVar18) { param_3 = plVar10; fVar18 = fVar16; } } break; } uVar8 = (ulonglong)((int)uVar8 + 1); } } uVar12 = (int)uVar13 + 1; uVar13 = (ulonglong)uVar12; } while ((int)uVar12 < iVar11); } } return param_3; } ############ FUN_ 1805023a0 size=2094 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805023a0(longlong param_1,longlong param_2) { int *piVar1; byte *pbVar2; longlong lVar3; longlong lVar4; code *pcVar5; undefined ***pppuVar6; longlong *plVar7; undefined8 uVar8; undefined8 *puVar9; HCURSOR pHVar10; undefined8 uVar11; uint *puVar12; uint uVar13; undefined ***pppuVar14; undefined4 uVar15; undefined1 auStack_238 [32]; uint local_218; longlong local_210; longlong local_208; longlong local_200; longlong local_1f8; longlong local_1f0; undefined8 *local_1e8; undefined8 local_1e0; undefined4 *local_1d8; undefined8 *local_1d0; longlong *local_1c8; undefined1 local_1c0 [8]; undefined **local_1b8; longlong local_1b0; undefined ***local_180; undefined **local_178; longlong local_170; undefined ***local_140; undefined **local_138; longlong local_130; undefined ***local_100; longlong local_f8 [7]; longlong *local_c0; longlong local_b8 [7]; longlong *local_80; longlong local_78 [7]; longlong *local_40; ulonglong local_38; local_1e0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_238; uVar11 = 0; local_218 = 0; if (*(int *)(param_1 + 0x208) == 0) { puVar9 = *(undefined8 **)(param_1 + 0x250); *(undefined8 *)(param_1 + 0x250) = 0; if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } goto LAB_18050286c; } if (*(longlong *)(param_1 + 0x250) == 0) { (**(code **)(**(longlong **)(param_1 + 0x38) + 8))(*(longlong **)(param_1 + 0x38),&local_1c8); local_218 = 10; uVar15 = (**(code **)(*local_1c8 + 0x18))(local_1c8,local_1c0); plVar7 = (longlong *) (**(code **)(**(longlong **)(param_1 + 0x18) + 0x178)) (*(longlong **)(param_1 + 0x18),&local_200,uVar15); local_218 = 0xe; } else { plVar7 = (longlong *)FUN_1812ea010(*(undefined8 *)(param_1 + 0x250),&local_1f8); local_218 = 1; } local_208 = *plVar7; *plVar7 = (longlong)&DAT_1821dbf98; if ((local_218 & 4) != 0) { local_218 = local_218 & 0xfffffffb; puVar12 = (uint *)(local_200 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } uVar13 = local_218; if ((local_218 & 2) != 0) { uVar13 = local_218 & 0xfffffffd; local_218 = uVar13; (**(code **)(*local_1c8 + 0xb0))(local_1c8,local_1c0); } if (((uVar13 & 1) != 0) && (puVar12 = (uint *)(local_1f8 + -0x10), (*puVar12 & 0x30000000) == 0)) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar9 = *(undefined8 **)(param_1 + 0x250); *(undefined8 *)(param_1 + 0x250) = 0; if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } uVar8 = (**(code **)(*(longlong *)(param_2 + 0x58) + 0x38)) ((longlong *)(param_2 + 0x58),*(undefined8 *)(param_1 + 0x18)); puVar9 = *(undefined8 **)(param_1 + 0x250); *(undefined8 *)(param_1 + 0x250) = uVar8; if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } plVar7 = *(longlong **)(param_1 + 0x250); uVar8 = *(undefined8 *)(param_1 + 0x18); if (plVar7 != (longlong *)0x0) { (**(code **)(*plVar7 + 0x58))(plVar7,1); FUN_181343cc0(uVar8,plVar7,0xffffffff); } pbVar2 = (byte *)(*(longlong *)(param_1 + 0x250) + 0xa8); *pbVar2 = *pbVar2 & 0xdf; FUN_181349c50(*(undefined8 *)(param_1 + 0x250),&local_208,0); lVar4 = *(longlong *)(param_1 + 0x250); plVar7 = (longlong *)(*(longlong *)(param_1 + 0x18) + 0xb0); plVar7 = (longlong *)(**(code **)(*plVar7 + 8))(plVar7,&local_1f0); pcVar5 = *(code **)(*(longlong *)(lVar4 + 0xb0) + 0x10); if (pcVar5 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { if ((*(uint *)(*plVar7 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar7 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar3 = *(longlong *)(lVar4 + 0xb8); *(longlong *)(lVar4 + 0xb8) = *plVar7; UNLOCK(); puVar12 = (uint *)(lVar3 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } else { (*pcVar5)(lVar4 + 0xb0,plVar7); } puVar12 = (uint *)(local_1f0 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } FUN_1805022f0(param_1); lVar4 = *(longlong *)(param_1 + 0x250); pppuVar14 = (undefined ***)(lVar4 + 0xd8); local_1b8 = std::_Func_impl_no_alloc<,void>::vftable; local_180 = &local_1b8; local_c0 = (longlong *)0x0; local_1b0 = param_1; local_c0 = (longlong *)(*(code *)PTR_FUN_1824a0650)(&local_1b8,local_f8); if (local_180 != (undefined ***)0x0) { (*(code *)(*local_180)[4])(local_180,local_180 != &local_1b8); local_180 = (undefined ***)0x0; } pppuVar6 = *(undefined ****)(lVar4 + 0x110); if (pppuVar6 != (undefined ***)0x0) { if (pppuVar6 == pppuVar14) { local_180 = (undefined ***)(*(code *)(*pppuVar6)[1])(pppuVar6,&local_1b8); pppuVar6 = *(undefined ****)(lVar4 + 0x110); if (pppuVar6 == (undefined ***)0x0) goto LAB_1805026f3; (*(code *)(*pppuVar6)[4])(pppuVar6,pppuVar6 != pppuVar14); pppuVar6 = local_180; } local_180 = pppuVar6; *(undefined8 *)(lVar4 + 0x110) = 0; } LAB_1805026f3: FUN_180488560(pppuVar14,local_f8); if (local_c0 != (longlong *)0x0) { (**(code **)(*local_c0 + 0x20))(local_c0,local_c0 != local_f8); } if (local_180 != (undefined ***)0x0) { (*(code *)(*local_180)[4])(local_180,local_180 != &local_1b8); } if (*(int *)(param_1 + 0x20) - 2U < 2) { FUN_181341570(*(undefined8 *)(param_1 + 0x250),*(undefined8 *)(param_1 + 0x18),0); local_1d8 = &DAT_182673b68; do { LOCK(); uVar13 = DAT_182673b68 & 1; DAT_182673b68 = DAT_182673b68 | 1; UNLOCK(); } while (uVar13 != 0); if (DAT_18267aad0 == (undefined8 *)0x0) { puVar9 = (undefined8 *)FUN_1811316e0(0x20); *puVar9 = 0; local_1d0 = puVar9; pHVar10 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f00); if (pHVar10 == (HCURSOR)0x0) { pHVar10 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f00); } puVar9[1] = pHVar10; puVar9[2] = 1; *(undefined1 *)(puVar9 + 3) = 1; DAT_18267aad0 = puVar9; } else { LOCK(); *(int *)(DAT_18267aad0 + 2) = *(int *)(DAT_18267aad0 + 2) + 1; UNLOCK(); } puVar9 = DAT_18267aad0; LOCK(); DAT_182673b68 = 0; UNLOCK(); local_1e8 = DAT_18267aad0; FUN_181342db0(*(undefined8 *)(param_1 + 0x250),&local_1e8); if (puVar9 != (undefined8 *)0x0) { FUN_1804e9060(puVar9); } } puVar12 = (uint *)(local_208 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } LAB_18050286c: if (*(int *)(param_1 + 0x20) == 8) { uVar8 = (**(code **)(*(longlong *)(param_2 + 0x58) + 0x30)) (param_2 + 0x58,*(undefined8 *)(param_1 + 0x18),1); puVar9 = *(undefined8 **)(param_1 + 600); *(undefined8 *)(param_1 + 600) = uVar8; if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } uVar8 = (**(code **)(*(longlong *)(param_2 + 0x58) + 0x30)) (param_2 + 0x58,*(undefined8 *)(param_1 + 0x18),0); puVar9 = *(undefined8 **)(param_1 + 0x260); *(undefined8 *)(param_1 + 0x260) = uVar8; if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } FUN_18134bf20(*(undefined8 *)(param_1 + 0x18),*(undefined8 *)(param_1 + 600),0xffffffff); FUN_18134bf20(*(undefined8 *)(param_1 + 0x18),*(undefined8 *)(param_1 + 0x260),0xffffffff); lVar4 = *(longlong *)(param_1 + 600); local_178 = std::_Func_impl_no_alloc<,void>::vftable; local_140 = &local_178; local_80 = (longlong *)0x0; local_170 = param_1; FUN_180488560(local_b8,&local_178); FUN_180488560(&local_178,lVar4 + 0xc0); FUN_180488560(lVar4 + 0xc0,local_b8); if (local_80 != (longlong *)0x0) { (**(code **)(*local_80 + 0x20))(local_80,local_80 != local_b8); } if (local_140 != (undefined ***)0x0) { (*(code *)(*local_140)[4])(local_140,local_140 != &local_178); } lVar4 = *(longlong *)(param_1 + 0x260); local_138 = std::_Func_impl_no_alloc<,void>::vftable; local_40 = (longlong *)0x0; local_130 = param_1; local_100 = &local_138; FUN_180488560(local_78,&local_138); FUN_180488560(&local_138,lVar4 + 0xc0); FUN_180488560(lVar4 + 0xc0,local_78); if (local_40 != (longlong *)0x0) { (**(code **)(*local_40 + 0x20))(local_40,local_40 != local_78); } if (local_100 != (undefined ***)0x0) { (*(code *)(*local_100)[4])(local_100,local_100 != &local_138); } if (*(int *)(param_1 + 0x224) == 0) { lVar4 = *(longlong *)(param_1 + 600); *(undefined4 *)(lVar4 + 0x188) = 300; *(undefined4 *)(lVar4 + 0x18c) = 100; *(undefined4 *)(lVar4 + 400) = 0x14; lVar4 = *(longlong *)(param_1 + 0x260); *(undefined4 *)(lVar4 + 0x188) = 300; *(undefined4 *)(lVar4 + 0x18c) = 100; *(undefined4 *)(lVar4 + 400) = 0x14; } else { FUN_181341570(*(undefined8 *)(param_1 + 600),*(undefined8 *)(param_1 + 0x18),0); FUN_181341570(*(undefined8 *)(param_1 + 0x260),*(undefined8 *)(param_1 + 0x18),0); } plVar7 = (longlong *)(*(longlong *)(param_1 + 0x18) + 0xb0); (**(code **)(*plVar7 + 8))(plVar7,&local_210); plVar7 = (longlong *)(*(longlong *)(param_1 + 600) + 0xb0); (**(code **)(*plVar7 + 0x10))(plVar7,&local_210); plVar7 = (longlong *)(*(longlong *)(param_1 + 0x260) + 0xb0); (**(code **)(*plVar7 + 0x10))(plVar7,&local_210); puVar12 = (uint *)(local_210 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } else { puVar9 = *(undefined8 **)(param_1 + 600); *(undefined8 *)(param_1 + 600) = 0; if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } puVar9 = *(undefined8 **)(param_1 + 0x260); *(undefined8 *)(param_1 + 0x260) = 0; if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } } pcVar5 = *(code **)(*(longlong *)(param_2 + 0x58) + 0x40); if (pcVar5 != FUN_18130ccb0) { uVar11 = (*pcVar5)((longlong *)(param_2 + 0x58),*(undefined8 *)(param_1 + 0x18)); } FUN_181341c80(*(undefined8 *)(param_1 + 0x18),uVar11); (**(code **)(**(longlong **)(param_1 + 0x18) + 0x108))(); FUN_18134bdf0(*(undefined8 *)(param_1 + 0x18)); } ############ FUN_ 1812f0230 size=628 ############ undefined8 FUN_1812f0230(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { longlong lVar1; bool bVar2; undefined8 *puVar3; longlong lVar4; undefined8 uVar5; undefined8 uVar6; longlong *plVar7; undefined8 *puVar8; longlong lVar9; undefined8 *puVar10; undefined8 *puVar11; undefined8 uVar12; undefined1 local_88 [80]; puVar3 = (undefined8 *)FUN_1811316e0(0x28); *puVar3 = juce::PopupMenuCompletionCallback::vftable; lVar9 = 0; puVar3[1] = 0; puVar3[2] = 0; FUN_1804de690(puVar3 + 3,DAT_182673708); lVar1 = puVar3[3]; lVar4 = lVar9; if (lVar1 != 0) { lVar4 = *(longlong *)(lVar1 + 0x10); } if (lVar4 != 0) { if (lVar1 != 0) { lVar9 = *(longlong *)(lVar1 + 0x10); } lVar1 = *(longlong *)(lVar9 + 0x18); while (lVar4 = lVar1, lVar4 != 0) { lVar9 = lVar4; lVar1 = *(longlong *)(lVar4 + 0x18); } } FUN_1804de690(puVar3 + 4,lVar9); DAT_182678e96 = 0; puVar10 = param_3; puVar11 = puVar3; if (*param_1 != param_1[1]) { uVar5 = FUN_1811316e0(0x198); uVar12 = uVar5; uVar6 = FUN_1804ff0d0(local_88,param_2); if ((*(int *)(param_2 + 1) < 1) || (*(int *)((longlong)param_2 + 0xc) < 1)) { bVar2 = true; } else { bVar2 = false; } plVar7 = (longlong *) FUN_1804faf50(uVar5,param_1,0,uVar6,!bVar2,((byte)DAT_182673aec & 0x70) != 0,puVar3 + 1 ,DAT_1824c3ea4,uVar12,*param_2,*(int *)(param_2 + 1)); if (plVar7 != (longlong *)0x0) { puVar10 = (undefined8 *)puVar3[2]; puVar3[2] = plVar7; if (puVar10 != (undefined8 *)0x0) { (**(code **)*puVar10)(puVar10,1); } (**(code **)(*plVar7 + 0x58))(plVar7,1); puVar10 = (undefined8 *)0x0; FUN_18134ab30(plVar7,0,param_3,0); puVar11 = (undefined8 *)0x0; if (DAT_182673c20 == (undefined8 *)0x0) { puVar8 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar8); FUN_1812a7230(puVar8 + 2); *puVar8 = juce::ModalComponentManager::vftable; puVar8[2] = juce::ModalComponentManager::vftable; puVar8[3] = 0; puVar8[4] = 0; DAT_182673c20 = puVar8; } FUN_18133b470(DAT_182673c20,plVar7,puVar3); FUN_181344f60(plVar7,0); } } if (puVar11 != (undefined8 *)0x0) { (**(code **)*puVar11)(puVar11,1); } if (puVar10 != (undefined8 *)0x0) { (**(code **)*puVar10)(puVar10,1); } return 0; } ############ FUN_ 181348420 size=519 ############ void FUN_181348420(longlong param_1,longlong *param_2,longlong *param_3,undefined8 param_4, longlong *param_5) { int *piVar1; undefined8 *puVar2; uint uVar3; longlong lVar4; undefined8 uVar5; int iVar6; uint *_Memory; bool bVar7; longlong local_158; undefined4 local_150; undefined8 local_110; longlong *local_108; longlong alStack_100 [4]; undefined1 *local_e0; undefined4 local_d8; undefined1 local_d4; ushort local_d3; undefined1 local_d1; undefined8 local_c8; undefined1 local_c0 [136]; local_c8 = 0xfffffffffffffffe; local_158 = *param_2; *param_2 = (longlong)&DAT_1821dbf98; iVar6 = 0; local_110 = 0; local_108 = (longlong *)0x0; alStack_100[0] = 0; alStack_100[1] = 0; alStack_100[2] = 0; alStack_100[3] = 0; local_e0 = &DAT_1821dbf98; local_d8 = 0; local_d3 = 0; local_d1 = 0; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar7 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar7) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_150 = 0; lVar4 = *param_3; if (lVar4 != param_3[1]) { do { if (*(char *)(lVar4 + 0x86) == '\0') { iVar6 = iVar6 + 1; } lVar4 = lVar4 + 0x88; } while (lVar4 != param_3[1]); local_d4 = 1; if (0 < iVar6) goto LAB_1813484f5; } local_d4 = 0; LAB_1813484f5: local_108 = (longlong *)FUN_1811316e0(0x20); *local_108 = 0; local_108[1] = 0; local_108[2] = 0; *local_108 = *param_3; local_108[1] = param_3[1]; local_108[2] = param_3[2]; *param_3 = 0; param_3[1] = 0; param_3[2] = 0; local_108[3] = param_3[3]; param_3[3] = 0; local_d3 = local_d3 & 0xff00; if (alStack_100 != param_5) { alStack_100[0] = *param_5; *param_5 = 0; } uVar5 = FUN_181348200(local_c0,&local_158); lVar4 = *(longlong *)(param_1 + 8); if (*(longlong *)(param_1 + 0x10) == lVar4) { FUN_18051fa90(param_1,lVar4,uVar5,param_4,uVar5); } else { FUN_181348200(lVar4,uVar5); *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + 0x88; } FUN_1804d80a0(uVar5); FUN_1804d80a0(&local_158); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar2 = (undefined8 *)param_3[3]; if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*puVar2)(puVar2,1); } } FUN_18051c930(param_3); puVar2 = (undefined8 *)*param_5; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } return; } ############ FUN_ 180503a60 size=884 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180503a60(longlong param_1,undefined4 *param_2) { undefined4 uVar1; float fVar2; uint uVar3; uint uVar4; bool bVar5; char cVar6; undefined4 uVar7; longlong *plVar8; ulonglong uVar9; undefined8 *puVar10; double dVar11; double dVar12; undefined8 uVar13; undefined1 auStack_88 [40]; undefined8 local_60; longlong *local_58; undefined1 local_50 [8]; longlong *local_48; undefined1 local_40 [8]; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_88; *(undefined2 *)(param_1 + 0x235) = 0; uVar7 = *param_2; uVar1 = param_2[1]; *(undefined4 *)(param_1 + 0x1d0) = uVar7; *(undefined4 *)(param_1 + 0x1d4) = uVar1; *(undefined4 *)(param_1 + 0x1c8) = uVar7; *(undefined4 *)(param_1 + 0x1cc) = uVar1; puVar10 = *(undefined8 **)(param_1 + 0x200); *(undefined8 *)(param_1 + 0x200) = 0; if (puVar10 != (undefined8 *)0x0) { FUN_180501f20(*puVar10); /* WARNING: Subroutine does not return */ free(puVar10); } puVar10 = *(undefined8 **)(param_1 + 0x268); *(undefined8 *)(param_1 + 0x268) = 0; if (puVar10 != (undefined8 *)0x0) { (**(code **)*puVar10)(puVar10,1); } if ((*(byte *)(*(longlong *)(param_1 + 0x18) + 0xa9) & 0x10) == 0) { if ((*(longlong *)(*(longlong *)(param_1 + 0x18) + 0x18) != 0) && (cVar6 = FUN_18133eaa0(), cVar6 == '\0')) { } uVar3 = param_2[4]; uVar9 = (ulonglong)((uVar3 >> 0xd) << 8); if (((uVar3 >> 5 & 1) == 0) || (*(char *)(param_1 + 0x234) == '\0')) { if ((*(char *)(param_1 + 0x22d) == '\0') || (((*(int *)(param_1 + 0x20) == 8 || (*(double *)(param_1 + 0x180) < *(double *)(param_1 + 0x98))) || (bVar5 = true, *(double *)(param_1 + 0xa0) < *(double *)(param_1 + 0x180))))) { bVar5 = false; } if (bVar5) { uVar4 = *(uint *)(param_1 + 0x248); uVar9 = (ulonglong)uVar4; if ((uVar4 != 0) && ((uVar3 & 0xffffff8f) == uVar4)) { FUN_180504780(param_1); } } if (*(double *)(param_1 + 0x98) <= *(double *)(param_1 + 0xa0) && *(double *)(param_1 + 0xa0) != *(double *)(param_1 + 0x98)) { *(undefined1 *)(param_1 + 0x235) = 1; if (*(longlong *)(param_1 + 0x250) != 0) { FUN_1812e8fb0(*(longlong *)(param_1 + 0x250),CONCAT71((int7)(uVar9 >> 8),1)); } uVar7 = FUN_1805031b0(param_1,param_2); *(undefined4 *)(param_1 + 0x1e0) = uVar7; puVar10 = (undefined8 *)(param_1 + 0x68); (**(code **)(*(longlong *)*puVar10 + 8))((longlong *)*puVar10,&local_58); (**(code **)(**(longlong **)(param_1 + 0x50) + 8))(*(longlong **)(param_1 + 0x50),&local_48) ; dVar11 = (double)(**(code **)(*local_58 + 0x18))(local_58,local_50); dVar12 = (double)(**(code **)(*local_48 + 0x18))(local_48,local_40); *(double *)(param_1 + 0x1b0) = dVar11 - dVar12; (**(code **)(*local_48 + 0xb0))(local_48,local_40); (**(code **)(*local_58 + 0xb0))(local_58,local_50); if (1 < *(int *)(param_1 + 0x20) - 9U) { (**(code **)(**(longlong **)(param_1 + 0x38) + 8)) (*(longlong **)(param_1 + 0x38),&local_58); uVar13 = (**(code **)(*local_58 + 0x18))(local_58,local_50); fVar2 = *(float *)(param_1 + 0x1bc); dVar11 = (double)(**(code **)(**(longlong **)(param_1 + 0x18) + 0x188)) (*(longlong **)(param_1 + 0x18),uVar13); *(double *)(param_1 + 0x198) = dVar11 * (double)(*(float *)(param_1 + 0x1c0) - fVar2) + (double)fVar2; (**(code **)(*local_58 + 0xb0))(local_58,local_50); } if ((*(int *)(param_1 + 0x1e0) != 2) && (puVar10 = (undefined8 *)(param_1 + 0x50), *(int *)(param_1 + 0x1e0) != 1)) { puVar10 = (undefined8 *)(param_1 + 0x38); } (**(code **)(*(longlong *)*puVar10 + 8))((longlong *)*puVar10,&local_58); uVar13 = (**(code **)(*local_58 + 0x18))(local_58,local_50); *(undefined8 *)(param_1 + 0x188) = uVar13; (**(code **)(*local_58 + 0xb0))(local_58,local_50); *(undefined8 *)(param_1 + 400) = *(undefined8 *)(param_1 + 0x188); if ((*(char *)(param_1 + 0x232) != '\0') || (*(char *)(param_1 + 0x233) != '\0')) { FUN_180504460(param_1); if (*(longlong *)(param_1 + 0x268) != 0) { FUN_1812a7720(*(longlong *)(param_1 + 0x268) + 0xe8); } } plVar8 = (longlong *)FUN_1811316e0(8); *plVar8 = param_1; local_48 = plVar8; FUN_180501e20(param_1); puVar10 = *(undefined8 **)(param_1 + 0x200); *(longlong **)(param_1 + 0x200) = plVar8; if (puVar10 != (undefined8 *)0x0) { FUN_180501f20(*puVar10); /* WARNING: Subroutine does not return */ free(puVar10); } FUN_180503df0(param_1,param_2); } } else { FUN_180502bf0(param_1); } } } ############ FUN_ 180504460 size=541 ############ void FUN_180504460(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; code *pcVar2; undefined8 *puVar3; undefined8 *puVar4; longlong lVar5; longlong lVar6; longlong lVar7; undefined4 uVar8; undefined4 local_30; undefined8 local_2c; undefined4 local_24; undefined4 local_20; undefined4 local_1c; if ((*(int *)(param_1 + 0x20) != 8) && (*(longlong *)(param_1 + 0x268) == 0)) { puVar4 = (undefined8 *)FUN_1811316e0(0x118,param_2,param_3,param_4,0xfffffffffffffffe); lVar6 = *(longlong *)(param_1 + 0x270); uVar1 = *(undefined8 *)(param_1 + 0x18); FUN_1812c9050(puVar4); puVar4[0x1e] = 0xffffffffffffffff; lVar7 = 0; *(undefined4 *)(puVar4 + 0x1f) = 0; *puVar4 = juce::Slider::Pimpl::PopupDisplayComponent::vftable; puVar4[0x1d] = juce::Slider::Pimpl::PopupDisplayComponent::vftable; puVar4[0x20] = uVar1; lVar5 = FUN_18134adf0(uVar1); (**(code **)(*(longlong *)(lVar5 + 0x58) + 0x48)) ((longlong *)(lVar5 + 0x58),puVar4 + 0x21,uVar1); puVar4[0x22] = &DAT_1821dbf98; if (lVar6 == 0) { local_30 = FUN_181344210(uVar1); local_2c = 0; local_24 = 0; local_1c = 0; local_20 = local_30; FUN_18134af50(puVar4,&local_30); } FUN_18134b0f0(puVar4,1); lVar6 = FUN_18134adf0(puVar4[0x20]); pcVar2 = *(code **)(*(longlong *)(lVar6 + 0x58) + 0x50); if (pcVar2 == FUN_18130cbe0) { uVar8 = 0xf; } else { uVar8 = (*pcVar2)((longlong *)(lVar6 + 0x58),uVar1); } *(undefined4 *)(puVar4 + 0x19) = uVar8; lVar6 = FUN_18134adf0(uVar1); if (puVar4[10] != 0) { lVar7 = *(longlong *)(puVar4[10] + 0x10); } if (lVar7 != lVar6) { FUN_18051b750(puVar4 + 10,lVar6); FUN_181341b10(puVar4); } puVar3 = *(undefined8 **)(param_1 + 0x268); *(undefined8 **)(param_1 + 0x268) = puVar4; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } if (*(longlong *)(param_1 + 0x270) == 0) { (**(code **)(**(longlong **)(param_1 + 0x268) + 0x68)) (*(longlong **)(param_1 + 0x268),0x406,0); } else if (*(longlong *)(param_1 + 0x268) != 0) { FUN_181343cc0(*(longlong *)(param_1 + 0x270),*(longlong *)(param_1 + 0x268),0xffffffff); } if (*(int *)(param_1 + 0x20) - 9U < 2) { if (*(int *)(param_1 + 0x1e0) == 2) { uVar8 = FUN_180501d40(); } else { uVar8 = FUN_180501cd0(param_1); } } else { uVar8 = FUN_180501460(); } FUN_180504680(param_1,uVar8); (**(code **)(**(longlong **)(param_1 + 0x268) + 0x58))(*(longlong **)(param_1 + 0x268),1); } return; } ############ FUN_ 180504a80 size=1410 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180504a80(longlong param_1) { longlong *plVar1; longlong *plVar2; longlong lVar3; longlong lVar4; longlong lVar5; float fVar6; float fVar7; double dVar8; double dVar9; uint uVar10; undefined8 uVar11; char cVar12; int iVar13; undefined8 *puVar14; float *pfVar15; int iVar16; int iVar17; undefined8 uVar18; bool bVar19; longlong *plVar20; double dVar21; double dVar22; float fVar23; float fVar24; float fVar25; float fVar26; undefined1 auStack_198 [32]; float local_178; float fStack_174; undefined8 local_170; float local_168; float fStack_164; undefined8 local_158; undefined8 uStack_150; float local_148; float fStack_144; float local_140; float local_13c; undefined1 local_138 [8]; undefined8 local_130; undefined8 local_128; undefined4 uStack_120; undefined4 uStack_11c; undefined8 local_118; undefined1 local_110 [8]; undefined1 local_108 [8]; undefined1 local_100 [16]; longlong *local_f0; undefined1 local_e8 [8]; longlong *local_e0; undefined1 local_d8 [8]; ulonglong local_d0; local_118 = 0xfffffffffffffffe; local_d0 = DAT_182615970 ^ (ulonglong)auStack_198; bVar19 = false; local_178 = 0.0; if (DAT_182673700 == 0) { local_130 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_130); } uVar10 = DAT_1824c4f30; dVar9 = DAT_1824c4140; dVar8 = DAT_1824c4050; fVar7 = DAT_1824c3ea4; fVar6 = DAT_1824c3d8c; plVar20 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar20 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); if (plVar20 != plVar1) { do { if (*(char *)(*plVar20 + 0x40) != '\0') { FUN_1804e67c0(*plVar20,0); if (*(int *)(param_1 + 0x1e0) == 2) { (**(code **)(**(longlong **)(param_1 + 0x68) + 8)) (*(longlong **)(param_1 + 0x68),&local_f0); dVar21 = (double)(**(code **)(*local_f0 + 0x18))(local_f0,local_e8); (**(code **)(*local_f0 + 0xb0))(local_f0,local_e8); } else if (*(int *)(param_1 + 0x1e0) == 1) { dVar21 = (double)FUN_180501cd0(param_1); } else { (**(code **)(**(longlong **)(param_1 + 0x38) + 8)) (*(longlong **)(param_1 + 0x38),&local_e0); bVar19 = true; dVar21 = (double)(**(code **)(*local_e0 + 0x18))(local_e0,local_d8); } if (bVar19) { bVar19 = false; (**(code **)(*local_e0 + 0xb0))(local_e0,local_d8); } if (*(int *)(param_1 + 0x20) - 4U < 4) { pfVar15 = (float *)(*plVar20 + 0x70); fVar23 = *pfVar15; fVar26 = *(float *)(*plVar20 + 0x74); uVar18 = *(undefined8 *)pfVar15; if (DAT_182673700 == 0) { local_158 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_158); } fVar24 = *(float *)(DAT_182673700 + 0xc0); if (fVar24 == fVar7) { local_130 = uVar18; pfVar15 = (float *)&local_130; } else { local_140 = fVar23 / fVar24; local_13c = fVar26 / fVar24; pfVar15 = &local_140; } fVar24 = *pfVar15; fVar25 = pfVar15[1]; plVar2 = *(longlong **)(param_1 + 0x18); local_148 = fVar23; fStack_144 = fVar26; dVar21 = (double)(**(code **)(*plVar2 + 0x188))(plVar2,*(undefined8 *)(param_1 + 400)); dVar22 = (double)(**(code **)(*plVar2 + 0x188))(plVar2); fVar23 = (float)((double)*(int *)(param_1 + 0x1e4) * (dVar21 - dVar22)); if (*(int *)(param_1 + 0x20) == 5) { fVar23 = (float)((uint)fVar23 ^ uVar10); fVar26 = 0.0; LAB_180504d3a: fVar24 = fVar23 + fVar24; fVar23 = fVar26; } else { if (*(int *)(param_1 + 0x20) != 6) { fVar26 = fVar23 * fVar6; fVar23 = fVar23 * DAT_1824c4670; goto LAB_180504d3a; } fVar24 = fVar24 + 0.0; } fVar25 = fVar25 + fVar23; lVar3 = *(longlong *)(param_1 + 0x18); uStack_11c = *(undefined4 *)(lVar3 + 0x2c); uStack_120 = *(undefined4 *)(lVar3 + 0x28); uStack_150 = *(undefined8 *)(lVar3 + 0x28); local_128 = 0; local_158 = 0; for (; lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x18)) { puVar14 = (undefined8 *)FUN_18051e4b0(local_100,lVar3,&local_158); local_158 = *puVar14; uStack_150 = puVar14[1]; } iVar13 = (int)uStack_150 + -8; iVar17 = 0; if (0 < iVar13) { iVar17 = iVar13; } iVar16 = (int)((ulonglong)uStack_150 >> 0x20) + -8; iVar13 = 0; if (0 < iVar16) { iVar13 = iVar16; } fVar23 = (float)((int)((ulonglong)local_158 >> 0x20) + 4); fVar26 = (float)((int)local_158 + 4); local_178 = fVar26; if ((fVar26 <= fVar24) && (local_178 = fVar26 + (float)iVar17, fVar24 <= fVar26 + (float)iVar17)) { local_178 = fVar24; } fStack_174 = fVar23; if ((fVar23 <= fVar25) && (fStack_174 = (float)iVar13 + fVar23, fVar25 <= (float)iVar13 + fVar23)) { fStack_174 = fVar25; } lVar3 = *(longlong *)(param_1 + 0x18); local_168 = local_178; fStack_164 = fStack_174; if (lVar3 == 0) { uVar11 = CONCAT44(fStack_174,local_178); } else { lVar4 = lVar3; for (lVar5 = *(longlong *)(lVar3 + 0x18); lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x18)) { lVar4 = lVar5; } pfVar15 = (float *)FUN_1805200f0(local_110,lVar4,CONCAT44(fStack_174,local_178)); local_178 = *pfVar15; fStack_174 = pfVar15[1]; uVar18 = *(undefined8 *)pfVar15; uVar11 = *(undefined8 *)pfVar15; if (lVar4 != lVar3) { if (*(longlong *)(lVar3 + 0x18) != lVar4) { puVar14 = (undefined8 *) FUN_1805200a0(local_108,lVar4,*(longlong *)(lVar3 + 0x18), *(undefined8 *)pfVar15); uVar18 = *puVar14; } FUN_1805200f0(&local_170,lVar3,uVar18); uVar11 = local_170; } } local_170 = uVar11; *(undefined8 *)(param_1 + 0x1c8) = local_170; *(undefined8 *)(param_1 + 0x1d0) = local_170; *(undefined8 *)(param_1 + 400) = *(undefined8 *)(param_1 + 0x188); } else { dVar22 = dVar8; if (*(double *)(param_1 + 0x98) < *(double *)(param_1 + 0xa0)) { if (*(double *)(param_1 + 0x98) <= dVar21) { dVar22 = dVar9; if (dVar21 <= *(double *)(param_1 + 0xa0)) { dVar22 = (double)(**(code **)(**(longlong **)(param_1 + 0x18) + 0x188))(); } } else { dVar22 = 0.0; } } if ((*(uint *)(param_1 + 0x20) < 0xd) && ((0x150aU >> (*(uint *)(param_1 + 0x20) & 0x1f) & 1) != 0)) { dVar22 = dVar9 - dVar22; } fVar26 = (float)((double)*(int *)(param_1 + 0x1dc) * dVar22 + (double)*(int *)(param_1 + 0x1d8)); cVar12 = FUN_180501440(param_1); fVar23 = fVar26; if (cVar12 == '\0') { fVar23 = (float)*(int *)(*(longlong *)(param_1 + 0x18) + 0x2c) * fVar6; } cVar12 = FUN_180501420(param_1); if (cVar12 == '\0') { fVar26 = (float)*(int *)(*(longlong *)(param_1 + 0x18) + 0x28) * fVar6; } FUN_18051dc40(local_138,0,*(undefined8 *)(param_1 + 0x18),CONCAT44(fVar23,fVar26)); } FUN_1804e5b90(); } plVar20 = plVar20 + 1; } while (plVar20 != plVar1); } } ############ FUN_ 1812dc780 size=1307 ############ void FUN_1812dc780(longlong param_1,uint param_2,longlong *param_3) { void *pvVar1; uint uVar2; undefined4 uVar3; uint uVar4; int iVar5; undefined8 uVar6; longlong *plVar7; longlong *plVar8; longlong lVar9; undefined4 *puVar10; ulonglong uVar11; undefined8 *puVar12; ulonglong uVar13; longlong *plVar14; longlong lVar15; ulonglong uVar16; longlong *plVar17; int iVar18; ulonglong uVar19; longlong *plVar20; uint uVar21; uint uVar22; ulonglong uVar23; uVar13 = 0; uVar4 = 0; if (0 < *(int *)(param_1 + 0x2b4)) { plVar14 = (longlong *)(param_1 + 0x2a8); uVar16 = uVar13; uVar19 = uVar13; uVar23 = uVar13; do { lVar15 = *(longlong *)(uVar19 + *plVar14); lVar9 = *(longlong *)(lVar15 + 0x10); lVar15 = (longlong)*(int *)(lVar15 + 0x1c) * 0x10 + lVar9; uVar11 = uVar13; for (; lVar9 != lVar15; lVar9 = lVar9 + 0x10) { uVar11 = (ulonglong)(uint)((int)uVar11 + *(int *)(lVar9 + 0xc)); } uVar2 = (uint)uVar16; uVar4 = (int)uVar11 + uVar2; uVar21 = (uint)uVar23; if (param_2 == uVar2) { iVar5 = *(int *)((longlong)param_3 + 0xc) + -1; lVar15 = (longlong)iVar5; if (-1 < iVar5) { do { plVar7 = (longlong *)FUN_1811316e0(0x28); plVar20 = *(longlong **)(*param_3 + lVar15 * 8); lVar9 = *plVar20; *plVar7 = lVar9; if (lVar9 != 0) { LOCK(); *(int *)(lVar9 + 8) = *(int *)(lVar9 + 8) + 1; UNLOCK(); } *(int *)(plVar7 + 1) = (int)plVar20[1]; plVar7[2] = 0; plVar7[3] = 0; iVar5 = *(int *)((longlong)plVar20 + 0x1c); lVar9 = plVar20[2]; if (0 < iVar5) { iVar18 = iVar5; if (iVar5 < 0) { iVar18 = iVar5 + 1; } FUN_18051d4f0(plVar7 + 2,(iVar18 >> 1) + 8 + iVar5 & 0xfffffff8); } iVar18 = iVar5 + -1; if (-1 < iVar18) { puVar10 = (undefined4 *)(lVar9 + 0xc); plVar8 = (longlong *)((longlong)*(int *)((longlong)plVar7 + 0x1c) * 0x10 + plVar7[2]); do { lVar9 = *(longlong *)(puVar10 + -3); *plVar8 = lVar9; if ((*(uint *)(lVar9 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar9 + -0x10) = *(int *)(lVar9 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(plVar8 + 1) = puVar10[-1]; uVar3 = *puVar10; puVar10 = puVar10 + 4; iVar18 = iVar18 + -1; *(undefined4 *)((longlong)plVar8 + 0xc) = uVar3; plVar8 = plVar8 + 2; } while (-1 < iVar18); } *(int *)((longlong)plVar7 + 0x1c) = *(int *)((longlong)plVar7 + 0x1c) + iVar5; *(int *)(plVar7 + 4) = (int)plVar20[4]; iVar18 = *(int *)(param_1 + 0x2b4); iVar5 = iVar18 + 1; if (*(int *)(param_1 + 0x2b0) < iVar5) { if (iVar5 < 0) { iVar5 = iVar18 + 2; } FUN_18047cb30(plVar14,iVar18 + 9 + (iVar5 >> 1) & 0xfffffff8); } uVar2 = *(uint *)(param_1 + 0x2b4); if (uVar21 < uVar2) { pvVar1 = (void *)(*plVar14 + (longlong)(int)uVar21 * 8); memmove((void *)((longlong)pvVar1 + 8),pvVar1,(longlong)(int)(uVar2 - uVar21) << 3); puVar12 = (undefined8 *)(*plVar14 + (longlong)(int)uVar21 * 8); } else { puVar12 = (undefined8 *)(*plVar14 + (longlong)(int)uVar2 * 8); } *puVar12 = plVar7; *(int *)(param_1 + 0x2b4) = *(int *)(param_1 + 0x2b4) + 1; lVar15 = lVar15 + -1; } while (-1 < lVar15); } break; } if (((int)uVar2 < (int)param_2) && ((int)param_2 < (int)uVar4)) { uVar22 = uVar21 + 1; uVar6 = FUN_180506840(*(undefined8 *)(*plVar14 + (longlong)(int)uVar21 * 8),param_2 - uVar2) ; FUN_18051b0d0(plVar14,uVar22,uVar6); iVar5 = *(int *)((longlong)param_3 + 0xc) + -1; lVar15 = (longlong)iVar5; if (-1 < iVar5) { do { plVar7 = (longlong *)FUN_1811316e0(0x28); plVar20 = *(longlong **)(*param_3 + lVar15 * 8); lVar9 = *plVar20; *plVar7 = lVar9; if (lVar9 != 0) { LOCK(); *(int *)(lVar9 + 8) = *(int *)(lVar9 + 8) + 1; UNLOCK(); } *(int *)(plVar7 + 1) = (int)plVar20[1]; plVar7[2] = 0; plVar7[3] = 0; iVar5 = *(int *)((longlong)plVar20 + 0x1c); lVar9 = plVar20[2]; if (0 < iVar5) { iVar18 = iVar5; if (iVar5 < 0) { iVar18 = iVar5 + 1; } FUN_18051d4f0(plVar7 + 2,(iVar18 >> 1) + 8 + iVar5 & 0xfffffff8); } iVar18 = iVar5 + -1; if (-1 < iVar18) { puVar10 = (undefined4 *)(lVar9 + 0xc); plVar8 = (longlong *)((longlong)*(int *)((longlong)plVar7 + 0x1c) * 0x10 + plVar7[2]); do { lVar9 = *(longlong *)(puVar10 + -3); *plVar8 = lVar9; if ((*(uint *)(lVar9 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar9 + -0x10) = *(int *)(lVar9 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(plVar8 + 1) = puVar10[-1]; uVar3 = *puVar10; puVar10 = puVar10 + 4; iVar18 = iVar18 + -1; *(undefined4 *)((longlong)plVar8 + 0xc) = uVar3; plVar8 = plVar8 + 2; } while (-1 < iVar18); } *(int *)((longlong)plVar7 + 0x1c) = *(int *)((longlong)plVar7 + 0x1c) + iVar5; *(int *)(plVar7 + 4) = (int)plVar20[4]; iVar18 = *(int *)(param_1 + 0x2b4); iVar5 = iVar18 + 1; if (*(int *)(param_1 + 0x2b0) < iVar5) { if (iVar5 < 0) { iVar5 = iVar18 + 2; } FUN_18047cb30(plVar14,iVar18 + 9 + (iVar5 >> 1) & 0xfffffff8); } uVar2 = *(uint *)(param_1 + 0x2b4); if (uVar22 < uVar2) { pvVar1 = (void *)(*plVar14 + (longlong)(int)uVar22 * 8); memmove((void *)((longlong)pvVar1 + 8),pvVar1,(longlong)(int)(uVar2 - uVar22) << 3); puVar12 = (undefined8 *)(*plVar14 + (longlong)(int)uVar22 * 8); } else { puVar12 = (undefined8 *)(*plVar14 + (longlong)(int)uVar2 * 8); } *puVar12 = plVar7; *(int *)(param_1 + 0x2b4) = *(int *)(param_1 + 0x2b4) + 1; lVar15 = lVar15 + -1; } while (-1 < lVar15); } break; } uVar23 = (ulonglong)(uVar21 + 1); uVar19 = uVar19 + 8; uVar16 = (ulonglong)uVar4; } while ((int)(uVar21 + 1) < *(int *)(param_1 + 0x2b4)); } if (uVar4 == param_2) { plVar14 = (longlong *)*param_3; plVar20 = plVar14 + *(int *)((longlong)param_3 + 0xc); if (plVar14 != plVar20) { do { plVar7 = (longlong *)*plVar14; plVar8 = (longlong *)FUN_1811316e0(0x28); lVar15 = *plVar7; *plVar8 = lVar15; if (lVar15 != 0) { LOCK(); *(int *)(lVar15 + 8) = *(int *)(lVar15 + 8) + 1; UNLOCK(); } *(int *)(plVar8 + 1) = (int)plVar7[1]; plVar8[2] = 0; plVar8[3] = 0; iVar5 = *(int *)((longlong)plVar7 + 0x1c); lVar15 = plVar7[2]; if (0 < iVar5) { iVar18 = iVar5; if (iVar5 < 0) { iVar18 = iVar5 + 1; } FUN_18051d4f0(plVar8 + 2,(iVar18 >> 1) + 8 + iVar5 & 0xfffffff8); } iVar18 = iVar5 + -1; if (-1 < iVar18) { puVar10 = (undefined4 *)(lVar15 + 0xc); plVar17 = (longlong *)((longlong)*(int *)((longlong)plVar8 + 0x1c) * 0x10 + plVar8[2]); do { lVar15 = *(longlong *)(puVar10 + -3); *plVar17 = lVar15; if ((*(uint *)(lVar15 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar15 + -0x10) = *(int *)(lVar15 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(plVar17 + 1) = puVar10[-1]; uVar3 = *puVar10; puVar10 = puVar10 + 4; iVar18 = iVar18 + -1; *(undefined4 *)((longlong)plVar17 + 0xc) = uVar3; plVar17 = plVar17 + 2; } while (-1 < iVar18); } *(int *)((longlong)plVar8 + 0x1c) = *(int *)((longlong)plVar8 + 0x1c) + iVar5; *(int *)(plVar8 + 4) = (int)plVar7[4]; iVar18 = *(int *)(param_1 + 0x2b4); iVar5 = iVar18 + 1; if (*(int *)(param_1 + 0x2b0) < iVar5) { if (iVar5 < 0) { iVar5 = iVar18 + 2; } FUN_18047cb30((longlong *)(param_1 + 0x2a8),iVar18 + 9 + (iVar5 >> 1) & 0xfffffff8); } iVar5 = *(int *)(param_1 + 0x2b4); plVar14 = plVar14 + 1; *(int *)(param_1 + 0x2b4) = iVar5 + 1; *(longlong **)(*(longlong *)(param_1 + 0x2a8) + (longlong)iVar5 * 8) = plVar8; } while (plVar14 != plVar20); } } FUN_1812db150(param_1); *(undefined4 *)(param_1 + 0x2a0) = 0xffffffff; *(undefined1 *)(param_1 + 0x1f8) = 1; return; } ############ FUN_ 1812e0ae0 size=570 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812e0ae0(longlong param_1) { longlong lVar1; char cVar2; longlong *plVar3; undefined8 *puVar4; undefined8 uVar5; undefined1 auStackY_78 [32]; undefined8 *local_48; undefined8 local_40; undefined1 local_38 [16]; IID local_28; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStackY_78; if (((*(char *)(param_1 + 500) == '\0') && (uVar5 = 0, DAT_182673708 == param_1)) && (cVar2 = FUN_181343030(), cVar2 == '\0')) { *(undefined1 *)(param_1 + 500) = 1; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) { } plVar3 = (longlong *)FUN_18134c2e0(); } else { plVar3 = (longlong *)FUN_1812d2bd0(param_1); } if ((plVar3 != (longlong *)0x0) && (cVar2 = FUN_1812e1d20(param_1), cVar2 == '\0')) { lVar1 = param_1 + 0xb0; local_48 = (undefined8 *)0x0; for (; param_1 != 0; param_1 = *(longlong *)(param_1 + 0x18)) { puVar4 = (undefined8 *)FUN_18051e290(&local_48,param_1,uVar5); uVar5 = *puVar4; } puVar4 = (undefined8 *)FUN_1812d17d0(plVar3,local_38); if ((undefined **)*plVar3 == juce::HWNDComponentPeer::vftable) { if (*(char *)((longlong)plVar3 + 0xb3) == '\0') { *(undefined1 *)((longlong)plVar3 + 0xb3) = 1; CreateCaret((HWND)plVar3[0x11],(HBITMAP)0x1,0,0); } ShowCaret((HWND)plVar3[0x11]); SetCaretPos(0,0); cVar2 = FUN_18050dc40(plVar3 + 0x1c,plVar3[0x11]); if (cVar2 != '\0') { if ((DAT_182673b00 == (undefined8 *)0x0) && (DAT_18267ab70 == '\0')) { DAT_18267ab70 = 1; puVar4 = (undefined8 *)FUN_1811316e0(0x30); local_48 = puVar4; FUN_1812a7230(puVar4); puVar4[2] = 0xffffffffffffffff; *(undefined4 *)(puVar4 + 3) = 0; *puVar4 = juce::OnScreenKeyboard::vftable; puVar4[1] = juce::OnScreenKeyboard::vftable; *(undefined2 *)(puVar4 + 4) = 0; local_28.Data1 = 0x4ce576fa; local_28.Data2 = 0x83dc; local_28.Data3 = 0x4f88; local_28.Data4[0] = 0x95; local_28.Data4[1] = '\x1c'; local_28.Data4[2] = 0x9d; local_28.Data4[3] = '\a'; local_28.Data4[4] = 0x82; local_28.Data4[5] = 0xb4; local_28.Data4[6] = 0xe3; local_28.Data4[7] = 'v'; puVar4[5] = (LPVOID)0x0; CoCreateInstance(&local_28,(LPUNKNOWN)0x0,6,(IID *)&DAT_18249bbf8,(LPVOID *)(puVar4 + 5) ); DAT_18267ab70 = '\0'; DAT_182673b00 = puVar4; } puVar4 = DAT_182673b00; *(undefined1 *)(DAT_182673b00 + 4) = 1; FUN_1812a77d0(puVar4 + 1,10); } } else { (*(code *)((undefined **)*plVar3)[0x1a])(plVar3,*puVar4,lVar1); } } } } ############ FUN_ 1805090d0 size=550 ############ undefined8 * FUN_1805090d0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; uint uVar3; undefined8 *puVar4; longlong *plVar5; undefined8 *local_res18; undefined8 *local_res20; undefined8 *local_40; undefined8 local_38; undefined4 local_30; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = juce::ToolbarItemComponent::ItemDragAndDropOverlayComponent::vftable; *(undefined1 *)(param_1 + 0x16) = 0; FUN_18134b0f0(param_1,1,param_3,param_4,0xfffffffffffffffe); *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) | 8; do { LOCK(); uVar3 = DAT_182673b68 & 1; DAT_182673b68 = DAT_182673b68 | 1; UNLOCK(); } while (uVar3 != 0); if (DAT_18267ab10 == (undefined8 *)0x0) { puVar4 = (undefined8 *)FUN_1811316e0(0x20); *puVar4 = 0; if (DAT_18267aaa8 == 0) { plVar5 = (longlong *)FUN_18128e5a0(&local_res18,&GIF_18249e780,99); local_40 = (undefined8 *)*plVar5; if (local_40 != (undefined8 *)0x0) { LOCK(); *(int *)(local_40 + 1) = *(int *)(local_40 + 1) + 1; UNLOCK(); } local_38 = 0x700000008; local_30 = DAT_1824c3ea4; DAT_18267aaa8 = FUN_1812c50f0(&local_40); if (local_40 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_40 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_40)(local_40,1); } } if (local_res18 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res18 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res18)(local_res18,1); } } } puVar4[1] = DAT_18267aaa8; *(undefined4 *)(puVar4 + 2) = 1; *(undefined4 *)((longlong)puVar4 + 0x14) = 8; *(undefined1 *)(puVar4 + 3) = 1; DAT_18267ab10 = puVar4; } else { LOCK(); *(int *)(DAT_18267ab10 + 2) = *(int *)(DAT_18267ab10 + 2) + 1; UNLOCK(); } puVar4 = DAT_18267ab10; LOCK(); DAT_182673b68 = 0; UNLOCK(); local_res20 = DAT_18267ab10; FUN_181342db0(param_1,&local_res20); if (puVar4 != (undefined8 *)0x0) { FUN_1804e9060(puVar4); } return param_1; } ############ FUN_ 1812c66b0 size=442 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ HICON FUN_1812c66b0(longlong *param_1,BOOL param_2,DWORD param_3,DWORD param_4) { longlong *plVar1; longlong lVar2; char cVar3; undefined8 uVar4; longlong *plVar5; HBITMAP ho; HICON pHVar6; int nWidth; int nHeight; undefined4 uVar7; undefined4 uVar8; longlong *local_88; longlong *local_80; undefined1 local_78; ICONINFO local_70; undefined8 local_50; undefined8 uStack_48; undefined4 local_40; undefined4 local_3c; undefined8 local_38; longlong *local_30; local_38 = 0xfffffffffffffffe; uVar4 = FUN_1811316e0(0xe0); lVar2 = *param_1; if (lVar2 == 0) { uVar8 = 0; uVar7 = 0; } else { uVar8 = *(undefined4 *)(lVar2 + 0x18); uVar7 = *(undefined4 *)(lVar2 + 0x14); } plVar5 = (longlong *)FUN_18050d450(uVar4,2,uVar7,uVar8,1); local_30 = plVar5; if (plVar5 == (longlong *)0x0) { local_88 = (longlong *)0x0; } else { LOCK(); *(int *)(plVar5 + 1) = (int)plVar5[1] + 1; UNLOCK(); (**(code **)(*plVar5 + 8))(plVar5,&local_88); } local_78 = 0; local_50 = _DAT_1824c4780; uStack_48 = _UNK_1824c4788; local_40 = DAT_1824c3ea4; local_3c = 0; local_80 = local_88; if ((*param_1 != 0) && (cVar3 = (**(code **)(*local_88 + 0x60))(), cVar3 == '\0')) { (**(code **)(*local_80 + 0xc0))(local_80,param_1,&local_50); } if (local_88 != (longlong *)0x0) { (**(code **)*local_88)(local_88,1); } lVar2 = *param_1; if (lVar2 == 0) { nHeight = 0; nWidth = 0; } else { nHeight = *(int *)(lVar2 + 0x18); nWidth = *(int *)(lVar2 + 0x14); } ho = CreateBitmap(nWidth,nHeight,1,1,(void *)0x0); local_70.hbmColor = (HBITMAP)plVar5[8]; local_70.fIcon = param_2; local_70.xHotspot = param_3; local_70.yHotspot = param_4; local_70.hbmMask = ho; pHVar6 = CreateIconIndirect(&local_70); DeleteObject(ho); LOCK(); plVar1 = plVar5 + 1; lVar2 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar2 == 1) { (**(code **)*plVar5)(plVar5,1); } return pHVar6; } ############ FUN_ 18133e440 size=137 ############ ulonglong FUN_18133e440(longlong param_1) { ulonglong *puVar1; undefined8 uVar2; ulonglong uVar3; ulonglong *puVar4; longlong lVar5; if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } puVar4 = *(ulonglong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); uVar3 = (ulonglong)*(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); puVar1 = puVar4 + uVar3; while( true ) { if (puVar4 == puVar1) { return uVar3 & 0xffffffffffffff00; } uVar3 = *puVar4; lVar5 = 0; if (*(longlong *)(uVar3 + 0x48) != 0) { lVar5 = *(longlong *)(*(longlong *)(uVar3 + 0x48) + 0x10); } if ((lVar5 == param_1) && (((*(byte *)(uVar3 + 0x28) & 0x70) != 0 || (*(int *)(uVar3 + 0x14) != 1)))) break; puVar4 = puVar4 + 1; } return CONCAT71((int7)(uVar3 >> 8),1); } ############ FUN_ 1812da170 size=1201 ############ void FUN_1812da170(longlong param_1,char param_2) { longlong *plVar1; char cVar2; undefined4 uVar3; int iVar4; longlong lVar5; undefined8 uVar6; uint uVar7; double *pdVar8; double *pdVar9; undefined8 uVar10; uint uVar11; ulonglong uVar12; uint uVar13; longlong *plVar14; int iVar15; ulonglong uVar16; uint uVar17; longlong *plVar18; bool bVar19; double dVar20; int local_res8; int iStackX_c; char local_res10; uint local_res18 [2]; double *local_res20; uint *in_stack_ffffffffffffff28; uint local_a0; uint uStack_9c; int local_98; int iStack_94; double *local_90; undefined8 local_88; uVar3 = (undefined4)((ulonglong)in_stack_ffffffffffffff28 >> 0x20); if ((0 < *(int *)(param_1 + 0x28)) && (0 < *(int *)(param_1 + 0x2c))) { uVar16 = 0; local_90 = (double *)0x0; local_88 = 0; plVar18 = *(longlong **)(param_1 + 0xe0); uVar12 = (ulonglong)((longlong)(plVar18 + *(int *)(param_1 + 0xec)) + (7 - (longlong)plVar18)) >> 3; if (plVar18 + *(int *)(param_1 + 0xec) < plVar18) { uVar12 = uVar16; } local_res10 = param_2; if (uVar12 != 0) { do { plVar14 = (longlong *)*plVar18; FUN_1812daaf0(plVar14,*(char *)(param_1 + 0xd9) != '\0'); (**(code **)(*plVar14 + 0x188))(plVar14,param_1 + 0xdc); lVar5 = __RTDynamicCast(plVar14,0,&juce::ToolbarItemComponent::RTTI_Type_Descriptor, &juce::Toolbar::Spacer::RTTI_Type_Descriptor, (ulonglong)in_stack_ffffffffffffff28 & 0xffffffff00000000); local_res20 = (double *)CONCAT44(local_res20._4_4_,1); local_res18[0] = 1; local_res8 = 1; uVar3 = FUN_1812da680(param_1); in_stack_ffffffffffffff28 = local_res18; cVar2 = (**(code **)(*plVar14 + 400)) (plVar14,uVar3,*(undefined1 *)(param_1 + 0xd8),&local_res20, in_stack_ffffffffffffff28,&local_res8); if (cVar2 == '\0') { *(undefined1 *)(plVar14 + 0x3d) = 0; (**(code **)(*plVar14 + 0x58))(plVar14,0); } else { *(undefined1 *)(plVar14 + 0x3d) = 1; if (lVar5 == 0) { uVar17 = 2; } else { uVar17 = (uint)(0.0 < *(float *)(lVar5 + 0x200)); } in_stack_ffffffffffffff28 = (uint *)CONCAT44((int)((ulonglong)in_stack_ffffffffffffff28 >> 0x20),uVar17); FUN_18131ae50(&local_90,(double)(int)local_res20,(double)(int)local_res18[0], (double)local_res8,in_stack_ffffffffffffff28); } uVar3 = (undefined4)((ulonglong)in_stack_ffffffffffffff28 >> 0x20); plVar18 = plVar18 + 1; uVar16 = uVar16 + 1; } while (uVar16 != uVar12); } uVar17 = 0; if (*(char *)(param_1 + 0xd8) == '\0') { iVar15 = *(int *)(param_1 + 0x28); } else { iVar15 = *(int *)(param_1 + 0x2c); } FUN_18131abb0(&local_90,(double)iVar15); pdVar8 = local_90; uVar13 = 0; uVar11 = local_88._4_4_; if (0 < (int)local_88._4_4_) { bVar19 = local_88._4_4_ != 0; pdVar9 = local_90; uVar13 = uVar17; uVar7 = uVar17; do { if (bVar19) { dVar20 = *pdVar9; } else { dVar20 = 0.0; } uVar13 = uVar13 + (int)dVar20; uVar7 = uVar7 + 1; pdVar9 = pdVar9 + 4; bVar19 = uVar7 < local_88._4_4_; } while ((int)uVar7 < (int)local_88._4_4_); } if (*(char *)(param_1 + 0xd8) == '\0') { iVar15 = *(int *)(param_1 + 0x28); } else { iVar15 = *(int *)(param_1 + 0x2c); } if (*(char *)(param_1 + 0xd8) == '\0') { iVar4 = *(int *)(param_1 + 0x2c); } else { iVar4 = *(int *)(param_1 + 0x28); } iVar4 = iVar4 / 2; lVar5 = *(longlong *)(param_1 + 0xd0); uVar6 = CONCAT44(uVar3,iVar4); FUN_18134bfe0(lVar5,*(undefined4 *)(lVar5 + 0x20),*(undefined4 *)(lVar5 + 0x24),iVar4,uVar6); (**(code **)(**(longlong **)(param_1 + 0xd0) + 0x58)) (*(longlong **)(param_1 + 0xd0),iVar15 < (int)uVar13); FUN_18133e970(*(undefined8 *)(param_1 + 0xd0),*(char *)(param_1 + 0xd9) == '\0'); if (*(char *)(param_1 + 0xd8) == '\0') { local_res8 = (*(int *)(param_1 + 0x28) - iVar4 / 2) + -4; iStackX_c = *(int *)(param_1 + 0x2c) / 2; } else { local_res8 = *(int *)(param_1 + 0x28) / 2; iStackX_c = (*(int *)(param_1 + 0x2c) - iVar4 / 2) + -4; } FUN_181344690(*(undefined8 *)(param_1 + 0xd0),CONCAT44(iStackX_c,local_res8)); if (iVar15 < (int)uVar13) { if (*(char *)(param_1 + 0xd8) == '\0') { local_res8 = *(int *)(*(longlong *)(param_1 + 0xd0) + 0x20) + -4; } else { local_res8 = *(int *)(*(longlong *)(param_1 + 0xd0) + 0x24) + -4; } } else if (*(char *)(param_1 + 0xd8) == '\0') { local_res8 = *(int *)(param_1 + 0x28); } else { local_res8 = *(int *)(param_1 + 0x2c); } plVar14 = *(longlong **)(param_1 + 0xe0); plVar18 = plVar14 + *(int *)(param_1 + 0xec); uVar13 = uVar17; pdVar9 = pdVar8; for (; plVar14 != plVar18; plVar14 = plVar14 + 1) { uVar3 = (undefined4)((ulonglong)uVar6 >> 0x20); plVar1 = (longlong *)*plVar14; if ((char)plVar1[0x3d] != '\0') { if (uVar13 < uVar11) { dVar20 = *pdVar8; } else { dVar20 = 0.0; } iVar15 = (int)dVar20; local_res18[0] = uVar13 + 1; local_res20 = pdVar8 + 4; if (*(char *)(param_1 + 0xd8) == '\0') { iStack_94 = *(int *)(param_1 + 0x2c); uStack_9c = 0; iVar4 = iVar15; local_a0 = uVar17; } else { local_a0 = 0; iVar4 = *(int *)(param_1 + 0x28); uStack_9c = uVar17; iStack_94 = iVar15; } uVar11 = local_a0; local_98 = iVar4; if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } if (local_res10 == '\0') { FUN_181323c50(DAT_182673700 + 200,plVar1); uVar6 = CONCAT44(uVar3,iStack_94); FUN_18134bfe0(plVar1,uVar11,uStack_9c,iVar4,uVar6); } else { uVar6 = CONCAT44(uVar3,200); FUN_181323e20(DAT_182673700 + 200,plVar1,&local_a0); } uVar17 = uVar17 + iVar15; if ((local_res8 < (int)uVar17) || ((*(char *)((longlong)plVar1 + 0x1e9) != '\0' && (*(int *)((longlong)plVar1 + 0x1cc) != 2)))) { uVar10 = 0; } else { uVar10 = 1; } (**(code **)(*plVar1 + 0x58))(plVar1,uVar10); pdVar8 = local_res20; uVar11 = local_88._4_4_; uVar13 = local_res18[0]; } pdVar9 = local_90; } /* WARNING: Subroutine does not return */ free(pdVar9); } return; } ############ FUN_ 1812daaf0 size=271 ############ void FUN_1812daaf0(longlong *param_1,int param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; longlong lVar3; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(int *)((longlong)param_1 + 0x1cc) == param_2) { return; } *(int *)((longlong)param_1 + 0x1cc) = param_2; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_10 = (undefined4)param_1[5]; local_18 = 0; FUN_181342870(0,&local_18,1,param_4,0xfffffffffffffffe); if (*(int *)((longlong)param_1 + 0x1cc) == 0) { puVar1 = (undefined8 *)param_1[0x3b]; param_1[0x3b] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); /* WARNING: Could not recover jumptable at 0x0001812dab7c. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x108))(param_1); return; } } else if (param_1[0x3b] == 0) { uVar2 = FUN_1811316e0(0xb8); lVar3 = FUN_1805090d0(uVar2); puVar1 = (undefined8 *)param_1[0x3b]; param_1[0x3b] = lVar3; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_18134bf20(param_1,param_1[0x3b],0xffffffff); (**(code **)(*(longlong *)param_1[0x3b] + 0x120))(); } /* WARNING: Could not recover jumptable at 0x0001812dabf2. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x108))(param_1); return; } ############ FUN_ 18050c070 size=462 ############ void FUN_18050c070(longlong param_1) { longlong lVar1; undefined4 uVar2; longlong lVar3; undefined8 uVar4; undefined8 *puVar5; ulonglong local_res8; undefined8 *local_res10; lVar1 = *(longlong *)(param_1 + 0x38); if (lVar1 == 0) { lVar3 = 0; } else { lVar3 = *(longlong *)(lVar1 + 0x10); } if (lVar3 == 0) { if (DAT_182673700 == 0) { local_res8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8); } lVar1 = DAT_182673700; if (*(longlong *)(DAT_182673700 + 0x98) == 0) { lVar3 = 0; } else { lVar3 = *(longlong *)(*(longlong *)(DAT_182673700 + 0x98) + 0x10); } if (lVar3 == 0) { if (*(longlong *)(DAT_182673700 + 0x90) == 0) { uVar4 = FUN_1811316e0(0x170); uVar4 = FUN_1812fbfd0(uVar4); puVar5 = *(undefined8 **)(lVar1 + 0x90); *(undefined8 *)(lVar1 + 0x90) = uVar4; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } } lVar3 = *(longlong *)(lVar1 + 0x90); FUN_18051b750(lVar1 + 0x98,lVar3); } } else if (lVar1 == 0) { lVar3 = FUN_18134adf0(0); } else { lVar3 = FUN_18134adf0(*(undefined8 *)(lVar1 + 0x10)); } if (*(longlong *)(param_1 + 0x38) == 0) { uVar4 = 0; } else { uVar4 = *(undefined8 *)(*(longlong *)(param_1 + 0x38) + 0x10); } puVar5 = (undefined8 *) (**(code **)(*(longlong *)(lVar3 + 0x38) + 8)) ((longlong *)(lVar3 + 0x38),param_1,param_1 + 8,param_1 + 0x10,param_1 + 0x18, param_1 + 0x20,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c) ,uVar4); local_res8 = local_res8 & 0xffffffffffffff00; local_res10 = puVar5; EnumWindows(FUN_1812c6400,(LPARAM)&local_res8); FUN_18134b0f0(puVar5,local_res8 & 0xff); if (*(char *)(param_1 + 0x48) == '\0') { FUN_18134ab30(puVar5,1,*(undefined8 *)(param_1 + 0x40)); puVar5 = (undefined8 *)0x0; } else { uVar2 = FUN_1813434a0(); *(undefined4 *)(param_1 + 0x30) = uVar2; } if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } return; } ############ FUN_ 1812ce2f0 size=136 ############ bool FUN_1812ce2f0(longlong param_1) { byte bVar1; undefined1 uVar2; longlong *plVar3; undefined8 uVar4; bVar1 = *(byte *)(param_1 + 0xa8) & 1; if (bVar1 != 0) { if (bVar1 == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812ce33d; plVar3 = (longlong *)FUN_18134c2e0(); } else { plVar3 = (longlong *)FUN_1812d2bd0(); } if (plVar3 != (longlong *)0x0) { /* WARNING: Could not recover jumptable at 0x0001812ce336. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar2 = (**(code **)(*plVar3 + 0x80))(plVar3); return (bool)uVar2; } } LAB_1812ce33d: if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } return *(longlong *)(DAT_182673700 + 0xa0) == param_1; } ############ FUN_ 18050c870 size=518 ############ ulonglong FUN_18050c870(longlong param_1) { uint *puVar1; longlong *plVar2; longlong *plVar3; int iVar4; int iVar5; bool bVar6; longlong *plVar7; char cVar8; DWORD DVar9; HWND hWnd; undefined4 extraout_var; longlong lVar10; ulonglong uVar11; longlong lVar12; uint uVar13; DWORD local_res8 [2]; undefined8 local_res10; iVar5 = *(int *)(param_1 + 0x10) * 2; iVar4 = 0x6c3; if (iVar5 < 0x6c3) { iVar4 = iVar5; } FUN_1812a77d0(param_1,iVar4); hWnd = GetForegroundWindow(); if (hWnd == (HWND)0x0) { LAB_18050c8d4: plVar2 = DAT_182673708; lVar10 = __RTDynamicCast(DAT_182673708,0,&juce::Component::RTTI_Type_Descriptor, &juce::TopLevelWindow::RTTI_Type_Descriptor,0); if (lVar10 == 0) { if (plVar2 != (longlong *)0x0) { for (lVar12 = plVar2[3]; lVar12 != 0; lVar12 = *(longlong *)(lVar12 + 0x18)) { lVar10 = __RTDynamicCast(lVar12,0,&juce::Component::RTTI_Type_Descriptor, &juce::TopLevelWindow::RTTI_Type_Descriptor,0); if (lVar10 != 0) goto LAB_18050c946; } } uVar11 = 0; lVar10 = *(longlong *)(param_1 + 0x30); if (lVar10 == 0) goto LAB_18050c952; } LAB_18050c946: uVar11 = FUN_181345240(lVar10); if ((char)uVar11 != '\0') goto LAB_18050c955; } else { local_res8[0] = 0; GetWindowThreadProcessId(hWnd,local_res8); DVar9 = GetCurrentProcessId(); uVar11 = CONCAT71((int7)(CONCAT44(extraout_var,DVar9) >> 8),local_res8[0] == DVar9); if (local_res8[0] == DVar9) goto LAB_18050c8d4; } LAB_18050c952: lVar10 = 0; LAB_18050c955: if (lVar10 != *(longlong *)(param_1 + 0x30)) { *(longlong *)(param_1 + 0x30) = lVar10; uVar13 = *(int *)(param_1 + 0x2c) - 1; lVar10 = (longlong)(int)uVar13; if (-1 < (int)uVar13) { LAB_18050c980: if ((uVar13 < *(uint *)(param_1 + 0x2c)) && (plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x20) + lVar10 * 8), plVar2 != (longlong *)0x0)) { for (plVar3 = *(longlong **)(param_1 + 0x30); plVar2 != plVar3; plVar3 = (longlong *)plVar3[3]) { plVar7 = DAT_182673708; if (plVar3 == (longlong *)0x0) goto joined_r0x00018050c9bd; } goto LAB_18050c9dd; } goto LAB_18050ca08; } LAB_18050ca13: if (DAT_182673700 == 0) { local_res10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } lVar10 = DAT_182673700; uVar11 = 0; puVar1 = (uint *)(*(longlong *)(DAT_182673700 + 0x28) + 0x18); LOCK(); uVar13 = *puVar1; if (uVar13 == 0) { *puVar1 = 1; } else { uVar11 = (ulonglong)uVar13; } UNLOCK(); if ((uVar13 == 0) && (uVar11 = FUN_1812a6720(*(undefined8 *)(lVar10 + 0x28)), (char)uVar11 == '\0')) { uVar11 = *(ulonglong *)(lVar10 + 0x28); LOCK(); *(undefined4 *)(uVar11 + 0x18) = 0; UNLOCK(); } } return uVar11; joined_r0x00018050c9bd: if (plVar7 == plVar2) goto LAB_18050c9d6; if (plVar7 == (longlong *)0x0) { bVar6 = false; goto LAB_18050c9d9; } plVar7 = (longlong *)plVar7[3]; goto joined_r0x00018050c9bd; LAB_18050c9d6: bVar6 = true; LAB_18050c9d9: if (bVar6) { LAB_18050c9dd: cVar8 = FUN_181345240(plVar2); lVar12 = 1; if (cVar8 != '\0') goto LAB_18050c9ee; } lVar12 = 0; LAB_18050c9ee: if (*(char *)((longlong)plVar2 + 0xb2) != (char)lVar12) { *(char *)((longlong)plVar2 + 0xb2) = (char)lVar12; (**(code **)(*plVar2 + 0x158))(plVar2); } LAB_18050ca08: uVar13 = uVar13 - 1; lVar10 = lVar10 + -1; if (lVar10 < 0) goto LAB_18050ca13; goto LAB_18050c980; } ############ FUN_ 1812cb880 size=275 ############ void FUN_1812cb880(undefined8 *param_1) { longlong *plVar1; void *_Dst; int iVar2; longlong lVar3; undefined8 *puVar4; longlong lVar5; undefined8 uVar6; ulonglong uVar7; int iVar8; ulonglong uVar9; *param_1 = juce::ApplicationCommandManager::vftable; param_1[2] = juce::ApplicationCommandManager::vftable; if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } lVar5 = DAT_182673700; plVar1 = (longlong *)(DAT_182673700 + 0x48); lVar3 = *plVar1; uVar7 = 0; iVar2 = *(int *)(DAT_182673700 + 0x54); uVar9 = uVar7; if (0 < iVar2) { do { iVar8 = (int)uVar9; if (param_1 + 2 == *(undefined8 **)(lVar3 + uVar7 * 8)) { _Dst = (void *)(lVar3 + (longlong)iVar8 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar8) + -1) << 3); *(int *)(lVar5 + 0x54) = *(int *)(lVar5 + 0x54) + -1; iVar2 = *(int *)(lVar5 + 0x54); iVar8 = 0; if (0 < iVar2 * 2) { iVar8 = iVar2 * 2; } if (iVar8 < *(int *)(lVar5 + 0x50)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar5 + 0x50)) { FUN_18047cb30(plVar1); } } break; } uVar9 = (ulonglong)(iVar8 + 1); uVar7 = uVar7 + 1; } while ((longlong)uVar7 < (longlong)iVar2); } puVar4 = (undefined8 *)param_1[7]; param_1[7] = 0; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } puVar4 = (undefined8 *)param_1[7]; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } *(undefined4 *)((longlong)param_1 + 0x34) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[5]); } ############ FUN_ 18050cd10 size=269 ############ void FUN_18050cd10(undefined8 *param_1) { longlong *plVar1; int iVar2; longlong *plVar3; longlong lVar4; undefined8 uVar5; longlong *plVar6; int iVar7; *param_1 = juce::KeyPressMappingSet::vftable; param_1[1] = juce::KeyPressMappingSet::vftable; param_1[8] = juce::KeyPressMappingSet::vftable; if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } lVar4 = DAT_182673700; plVar1 = (longlong *)(DAT_182673700 + 0x48); plVar3 = (longlong *)*plVar1; iVar7 = 0; iVar2 = *(int *)(DAT_182673700 + 0x54); plVar6 = plVar3; if (0 < iVar2) { do { if (param_1 + 8 == (undefined8 *)*plVar6) { plVar3 = plVar3 + iVar7; memmove(plVar3,plVar3 + 1,(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar4 + 0x54) = *(int *)(lVar4 + 0x54) + -1; iVar2 = *(int *)(lVar4 + 0x54); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (iVar7 < *(int *)(lVar4 + 0x50)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar4 + 0x50)) { FUN_18047cb30(plVar1); } } break; } iVar7 = iVar7 + 1; plVar6 = plVar6 + 1; } while (iVar7 < iVar2); } FUN_18051b430(param_1 + 0xc); FUN_18051ccc0(param_1 + 10); *(undefined4 *)((longlong)param_1 + 0x5c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[10]); } ############ FUN_ 18050d110 size=125 ############ ulonglong FUN_18050d110(longlong param_1) { longlong lVar1; longlong *plVar2; undefined8 uVar3; longlong *plVar4; ulonglong uVar5; lVar1 = *(longlong *)(param_1 + 0xb0); plVar4 = (longlong *)0x0; plVar2 = plVar4; if (lVar1 != 0) { plVar2 = *(longlong **)(lVar1 + 0x10); } if (plVar2 == (longlong *)0x0) { if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } return (ulonglong)*(uint *)(DAT_182673700 + 0xc0); } if (lVar1 != 0) { plVar4 = *(longlong **)(lVar1 + 0x10); } /* WARNING: Could not recover jumptable at 0x00018050d14e. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar5 = (**(code **)(*plVar4 + 0x80))(); return uVar5; } ############ FUN_ 18050d6b0 size=46 ############ undefined8 * FUN_18050d6b0(undefined8 param_1,undefined8 *param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(8); *puVar1 = juce::NativeImageType::vftable; *param_2 = puVar1; return param_2; } ############ FUN_ 18050d6e0 size=134 ############ undefined8 * FUN_18050d6e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *local_res10; undefined8 local_res18; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; local_res10 = param_2; FUN_181291830(); if (param_1 != (undefined8 *)0x0) { LOCK(); *(int *)(param_1 + 1) = *(int *)(param_1 + 1) + 1; UNLOCK(); } local_res10 = param_1; local_res18 = FUN_1811316e0(0x20); uVar3 = FUN_181291bd0(local_res18,&local_res10,param_3,param_4,uVar3); *param_2 = uVar3; if (param_1 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(param_1 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*param_1)(param_1,1); } } return param_2; } ############ FUN_ 18050d7c0 size=173 ############ longlong * FUN_18050d7c0(longlong param_1,longlong *param_2) { undefined8 uVar1; longlong lVar2; int iVar3; longlong lVar4; uVar1 = FUN_1811316e0(0xe0); lVar2 = FUN_18050d450(uVar1,*(undefined4 *)(param_1 + 0x10),*(undefined4 *)(param_1 + 0x14), *(undefined4 *)(param_1 + 0x18),0); iVar3 = 0; if (0 < *(int *)(param_1 + 0x18)) { do { lVar4 = (longlong)(*(int *)(param_1 + 0xd4) * iVar3); memcpy((void *)(*(longlong *)(lVar2 + 0xd8) + lVar4), (void *)(*(longlong *)(param_1 + 0xd8) + lVar4),(longlong)*(int *)(param_1 + 0xd4)); iVar3 = iVar3 + 1; } while (iVar3 < *(int *)(param_1 + 0x18)); } *param_2 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_2; } ############ FUN_ 180510be0 size=1160 ############ void FUN_180510be0(longlong *param_1) { undefined1 auVar1 [16]; ushort uVar2; uint uVar3; char *pcVar4; char cVar5; int iVar6; undefined8 uVar7; HINSTANCE hInstance; HWND pHVar8; LONG_PTR dwNewLong; longlong *plVar9; undefined8 *puVar10; longlong lVar11; char *pcVar12; char *pcVar13; HMODULE pHVar14; FARPROC pFVar15; uint dwExStyle; uint dwStyle; undefined8 local_28; undefined8 uStack_20; uVar3 = *(uint *)(param_1 + 2); if ((uVar3 >> 3 & 1) == 0) { dwStyle = 0x86080000; if (param_1[0x12] != 0) { dwStyle = 0x46000000; } } else { dwStyle = 0x6000000; if ((uVar3 & 0x80) != 0) { dwStyle = 0x6080000; } if ((uVar3 & 0x10) != 0) { dwStyle = dwStyle | 0x40000; } } dwExStyle = 0x40000; if ((uVar3 & 1) == 0) { dwExStyle = 0x80; } if ((uVar3 & 0x20) != 0) { dwStyle = dwStyle | 0x20000; } if ((uVar3 & 0x40) != 0) { dwStyle = dwStyle | 0x10000; } if ((uVar3 & 4) != 0) { dwExStyle = dwExStyle | 0x20; } if ((uVar3 >> 0x1e & 1) != 0) { dwExStyle = dwExStyle | 0x80000; } if (DAT_182673bd8 == 0) { uVar7 = FUN_1811316e0(0x10); DAT_182673bd8 = FUN_180510480(uVar7); } uVar2 = *(ushort *)(DAT_182673bd8 + 8); hInstance = (HINSTANCE)FUN_181249ad0(); pHVar8 = CreateWindowExW(dwExStyle,(LPCWSTR)(ulonglong)uVar2,L"",dwStyle,0,0,0,0, (HWND)param_1[0x12],(HMENU)0x0,hInstance,(LPVOID)0x0); param_1[0x11] = (longlong)pHVar8; if (pHVar8 != (HWND)0x0) { SetWindowLongPtrW(pHVar8,0,0); SetWindowLongPtrW((HWND)param_1[0x11],8,(LONG_PTR)param_1); pHVar8 = (HWND)param_1[0x11]; dwNewLong = FUN_1804cf4b0(); SetWindowLongPtrW(pHVar8,-0x15,dwNewLong); if (param_1[0x1a] == 0) { if (((char)param_1[0x10] == '\0') || (plVar9 = (longlong *)FUN_18050f9e0(param_1[0x12]), plVar9 == (longlong *)0x0)) { plVar9 = param_1; } puVar10 = (undefined8 *)FUN_1811316e0(0x40); *(undefined4 *)(puVar10 + 1) = 1; *puVar10 = juce::HWNDComponentPeer::FileDropTarget::vftable; puVar10[2] = plVar9; puVar10[3] = 0; puVar10[4] = 0; puVar10[5] = &DAT_1821dbf98; puVar10[6] = 0; *(undefined1 *)(puVar10 + 7) = 0; param_1[0x1a] = (longlong)puVar10; } RegisterDragDrop((HWND)param_1[0x11],(LPDROPTARGET)param_1[0x1a]); cVar5 = FUN_1812c78b0(); if (cVar5 != '\0') { (*DAT_182678ed0)(param_1[0x11],0); } FUN_1812c75b0(); FUN_1812c75b0(); if ((DAT_182678f18 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar5 = FUN_1812c7510(); } else { uVar7 = (*DAT_182678f18)(); iVar6 = (*DAT_182678ec8)(uVar7); cVar5 = iVar6 == 2; } if (cVar5 != '\0') { lVar11 = param_1[1]; auVar1 = *(undefined1 (*) [16])(lVar11 + 0x20); if ((auVar1._8_4_ < 1) || (auVar1._12_4_ == 0 || auVar1._8_8_ < 0)) { lVar11 = FUN_18134b820(); pcVar4 = (char *)**(undefined8 **)(lVar11 + 0x78); for (pcVar12 = pcVar4; (pcVar13 = pcVar4, pcVar12 != pcVar4 + (longlong)*(int *)((longlong)*(undefined8 **)(lVar11 + 0x78) + 0xc) * 0x40 && (pcVar13 = pcVar12, *pcVar12 == '\0')); pcVar12 = pcVar12 + 0x40) { } param_1[0x23] = *(longlong *)(pcVar13 + 0x30); } else { local_28 = *(undefined8 *)(lVar11 + 0x20); uStack_20 = *(undefined8 *)(lVar11 + 0x28); lVar11 = FUN_18134b820(); lVar11 = FUN_18133d8f0(*(undefined8 *)(lVar11 + 0x78),&local_28,0); param_1[0x23] = *(longlong *)(lVar11 + 0x30); } if (DAT_182673700 == 0) { uVar7 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar7); } param_1[0x23] = (longlong)((double)param_1[0x23] / (double)*(float *)(DAT_182673700 + 0xc0)); } pHVar14 = GetModuleHandleA("user32.dll"); pFVar15 = GetProcAddress(pHVar14,"ChangeWindowMessageFilterEx"); if (pFVar15 != (FARPROC)0x0) { (*pFVar15)(param_1[0x11],0x233,1); (*pFVar15)(param_1[0x11],0x4a,1); (*pFVar15)(param_1[0x11],0x49,1); } FUN_18050e380(param_1); pHVar14 = GetModuleHandleA("user32.dll"); DAT_182678f28 = GetProcAddress(pHVar14,"GetPointerType"); pHVar14 = GetModuleHandleA("user32.dll"); DAT_182678e98 = GetProcAddress(pHVar14,"GetPointerTouchInfo"); pHVar14 = GetModuleHandleA("user32.dll"); DAT_182678f00 = GetProcAddress(pHVar14,"GetPointerPenInfo"); if (((DAT_182678f28 == (FARPROC)0x0) || (DAT_182678e98 == (FARPROC)0x0)) || (DAT_182674aaf = 1, DAT_182678f00 == (FARPROC)0x0)) { DAT_182674aaf = 0; } if (DAT_1826736d8 == 0) { DAT_1826736f0 = FUN_1805148d0; } GetSystemMenu((HWND)param_1[0x11],0); if ((float)(int)(0xff - (uint)*(byte *)(param_1[1] + 0xac)) / DAT_1824c4548 < DAT_1824c3ea4) { (**(code **)(*param_1 + 0xf0))(param_1); } } return; } ############ FUN_ 1812c6ef0 size=313 ############ void FUN_1812c6ef0(HWND param_1,int *param_2,UINT param_3,char param_4) { int iVar1; undefined8 uVar2; undefined8 *puVar3; longlong lVar4; int *piVar5; int iVar6; char cVar7; int iVar8; int iStackX_14; undefined1 local_30 [8]; int local_28; int iStack_24; int iStack_20; int iStack_1c; undefined1 local_18 [16]; FUN_1812c75b0(); if ((DAT_182678f08 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar7 = FUN_1812c7510(); } else { uVar2 = (*DAT_182678f08)(param_1); iVar1 = (*DAT_182678ec8)(uVar2); cVar7 = iVar1 == 2; } if (cVar7 != '\0') { if (param_4 == '\0') { piVar5 = (int *)FUN_1812c7190(local_18,param_2,param_1); iVar6 = *piVar5; iStackX_14 = piVar5[1]; iVar1 = piVar5[2]; iVar8 = piVar5[3]; } else { if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } puVar3 = (undefined8 *) FUN_18051edd0(*(undefined8 *)(DAT_182673700 + 0x78),local_30,*(undefined8 *)param_2); uVar2 = *puVar3; lVar4 = FUN_1812c7190(local_18,param_2,param_1); iVar6 = (int)uVar2; iStackX_14 = (int)((ulonglong)uVar2 >> 0x20); iStack_24 = iStackX_14; iVar1 = *(int *)(lVar4 + 8); iVar8 = *(int *)(lVar4 + 0xc); local_28 = iVar6; iStack_20 = iVar1; iStack_1c = iVar8; } *param_2 = iVar6; param_2[1] = iStackX_14; param_2[2] = iVar1; param_2[3] = iVar8; } SetWindowPos(param_1,(HWND)0x0,*param_2,param_2[1],param_2[2],param_2[3],param_3); return; } ############ FUN_ 1812c7190 size=217 ############ undefined4 * FUN_1812c7190(undefined4 *param_1,undefined4 *param_2,undefined8 param_3) { int iVar1; undefined8 uVar2; undefined8 uVar3; char cVar4; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; FUN_1812c75b0(); if ((DAT_182678f08 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar4 = FUN_1812c7510(); } else { uVar2 = (*DAT_182678f08)(param_3); iVar1 = (*DAT_182678ec8)(uVar2); cVar4 = iVar1 == 2; } local_18 = *param_2; uStack_14 = param_2[1]; uStack_10 = param_2[2]; uStack_c = param_2[3]; if (cVar4 != '\0') { if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } uVar2 = *(undefined8 *)(DAT_182673700 + 0x78); uVar3 = FUN_1812c59b0(param_3); FUN_18133d410(uVar2,param_1,&local_18,uVar3); return param_1; } *param_1 = local_18; param_1[1] = uStack_14; param_1[2] = uStack_10; param_1[3] = uStack_c; return param_1; } ############ FUN_ 1812c59b0 size=1048 ############ void FUN_1812c59b0(HWND param_1) { float fVar1; undefined1 auVar2 [16]; ulonglong uVar3; longlong lVar4; double dVar5; double dVar6; int iVar7; LONG_PTR LVar8; longlong lVar9; longlong *plVar10; undefined8 uVar11; ulonglong *_Memory; undefined1 (*pauVar12) [16]; undefined8 *puVar13; int iVar14; char *pcVar15; int iVar16; int iVar17; uint uVar18; char *pcVar19; int iVar20; ulonglong uVar21; uint uVar22; int iVar23; ulonglong uVar24; ulonglong *puVar25; int iVar26; ulonglong uVar27; int iVar28; ulonglong *puVar29; double dVar30; double dVar31; double dVar32; uint uVar33; uint uVar34; undefined8 local_b8; undefined8 uStack_b0; undefined1 local_a8 [16]; undefined1 local_98 [96]; _Memory = (ulonglong *)0x0; if (param_1 == (HWND)0x0) { LAB_1812c5a42: dVar30 = (double)FUN_1812c7030(param_1); } else { LVar8 = GetWindowLongPtrW(param_1,-0x15); lVar9 = FUN_1804cf4b0(); if ((LVar8 != lVar9) || (plVar10 = (longlong *)GetWindowLongPtrW(param_1,8), plVar10 == (longlong *)0x0)) goto LAB_1812c5a42; dVar30 = (double)(**(code **)(*plVar10 + 0x110))(plVar10); } if (DAT_182673700 == 0) { uVar11 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar11); } dVar6 = DAT_1824c3c80; dVar5 = DAT_1824c3c18; fVar1 = *(float *)(DAT_182673700 + 0xc0); uVar21 = **(ulonglong **)(DAT_182673700 + 0x78); uVar27 = (longlong)*(int *)((longlong)*(ulonglong **)(DAT_182673700 + 0x78) + 0xc) * 0x40 + uVar21 ; if (uVar21 != uVar27) { uVar33 = (uint)DAT_1824c4f10; uVar34 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); puVar25 = _Memory; puVar29 = _Memory; do { dVar32 = *(double *)(uVar21 + 0x30) / (double)fVar1; uVar22 = SUB84(dVar32 - dVar30,0); uVar18 = (uint)((ulonglong)(dVar32 - dVar30) >> 0x20); dVar31 = dVar30; if (dVar30 <= dVar32) { dVar31 = dVar32; } if (((double)CONCAT44(uVar18 & uVar34,uVar22 & uVar33) <= dVar31 * dVar6) || ((double)CONCAT44(uVar18 & uVar34,uVar22 & uVar33) < dVar5)) { iVar28 = (int)puVar29; uVar22 = iVar28 + 1; if ((int)(uint)puVar25 < (int)uVar22) { uVar18 = uVar22; if ((int)uVar22 < 0) { uVar18 = iVar28 + 2; } uVar18 = iVar28 + 9 + ((int)uVar18 >> 1) & 0xfffffff8; if ((uint)puVar25 != uVar18) { if ((int)uVar18 < 1) { /* WARNING: Subroutine does not return */ free(_Memory); } if (_Memory == (ulonglong *)0x0) { _Memory = malloc((longlong)(int)uVar18 * 8); } else { _Memory = realloc(_Memory,(longlong)(int)uVar18 * 8); } } puVar25 = (ulonglong *)(ulonglong)uVar18; } puVar29 = (ulonglong *)(ulonglong)uVar22; _Memory[iVar28] = uVar21; } uVar21 = uVar21 + 0x40; } while (uVar21 != uVar27); iVar28 = (int)puVar29; if (0 < iVar28) { if (iVar28 == 1) goto LAB_1812c5dc1; if (param_1 == (HWND)0x0) { LAB_1812c5bf8: pauVar12 = (undefined1 (*) [16])FUN_1812c6d70(local_a8,param_1); auVar2 = *pauVar12; local_b8 = auVar2._0_8_; uStack_b0 = CONCAT44(auVar2._12_4_ - auVar2._4_4_,auVar2._8_4_ - auVar2._0_4_); if (DAT_182673700 == 0) { uVar11 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar11); } puVar13 = (undefined8 *) FUN_18133d580(*(undefined8 *)(DAT_182673700 + 0x78),local_98,&local_b8,0); local_b8 = *puVar13; uStack_b0 = puVar13[1]; } else { LVar8 = GetWindowLongPtrW(param_1,-0x15); lVar9 = FUN_1804cf4b0(); if ((LVar8 != lVar9) || (LVar8 = GetWindowLongPtrW(param_1,8), LVar8 == 0)) goto LAB_1812c5bf8; lVar9 = *(longlong *)(LVar8 + 8); for (lVar4 = *(longlong *)(*(longlong *)(LVar8 + 8) + 0x18); lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x18)) { lVar9 = lVar4; } local_b8 = *(undefined8 *)(lVar9 + 0x20); uStack_b0 = *(undefined8 *)(lVar9 + 0x28); } uVar21 = 0; iVar20 = -1; uVar27 = (ulonglong)((longlong)(_Memory + iVar28) + (7 - (longlong)_Memory)) >> 3; if (_Memory + iVar28 < _Memory) { uVar27 = uVar21; } if (uVar27 != 0) { iVar28 = (int)local_b8; iVar7 = (int)uStack_b0 + iVar28; uVar24 = uVar21; puVar25 = _Memory; do { uVar3 = *puVar25; iVar23 = *(int *)(uVar3 + 4); iVar16 = iVar23; if (iVar23 < iVar28) { iVar16 = iVar28; } iVar17 = *(int *)(uVar3 + 8); iVar14 = (int)((ulonglong)local_b8 >> 0x20); iVar26 = iVar17; if (iVar17 < iVar14) { iVar26 = iVar14; } iVar23 = *(int *)(uVar3 + 0xc) + iVar23; if (iVar7 < iVar23) { iVar23 = iVar7; } iVar23 = iVar23 - iVar16; if (iVar23 < 0) { LAB_1812c5d34: iVar23 = 0; iVar16 = iVar23; } else { iVar14 = (int)((ulonglong)uStack_b0 >> 0x20) + iVar14; iVar17 = *(int *)(uVar3 + 0x10) + iVar17; if (iVar14 < iVar17) { iVar17 = iVar14; } iVar16 = iVar17 - iVar26; if (iVar17 - iVar26 < 0) goto LAB_1812c5d34; } if (iVar20 < iVar23 * iVar16) { uVar21 = uVar3; iVar20 = iVar23 * iVar16; } puVar25 = puVar25 + 1; uVar24 = uVar24 + 1; } while (uVar24 != uVar27); if (uVar21 != 0) goto LAB_1812c5dc1; } } } if (DAT_182673700 == 0) { uVar11 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar11); } pcVar19 = (char *)**(undefined8 **)(DAT_182673700 + 0x78); pcVar15 = pcVar19 + (longlong)*(int *)((longlong)*(undefined8 **)(DAT_182673700 + 0x78) + 0xc) * 0x40; for (; (pcVar19 != pcVar15 && (*pcVar19 == '\0')); pcVar19 = pcVar19 + 0x40) { } LAB_1812c5dc1: /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1812c7270 size=217 ############ undefined4 * FUN_1812c7270(undefined4 *param_1,undefined4 *param_2,undefined8 param_3) { int iVar1; undefined8 uVar2; undefined8 uVar3; char cVar4; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; FUN_1812c75b0(); if ((DAT_182678f08 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar4 = FUN_1812c7510(); } else { uVar2 = (*DAT_182678f08)(param_3); iVar1 = (*DAT_182678ec8)(uVar2); cVar4 = iVar1 == 2; } local_18 = *param_2; uStack_14 = param_2[1]; uStack_10 = param_2[2]; uStack_c = param_2[3]; if (cVar4 != '\0') { if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } uVar2 = *(undefined8 *)(DAT_182673700 + 0x78); uVar3 = FUN_1812c59b0(param_3); FUN_18133d580(uVar2,param_1,&local_18,uVar3); return param_1; } *param_1 = local_18; param_1[1] = uStack_14; param_1[2] = uStack_10; param_1[3] = uStack_c; return param_1; } ############ FUN_ 18050ef60 size=511 ############ ulonglong FUN_18050ef60(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { undefined1 auVar1 [16]; int iVar2; BOOL BVar3; undefined1 (*pauVar4) [16]; ulonglong uVar5; undefined8 uVar6; undefined8 *puVar7; HWND hWnd; LONG LVar8; char cVar9; POINT local_res10; undefined1 local_res20 [8]; int local_60; int local_5c; int local_58; int local_54; int local_50; int local_4c; int local_48; int local_44; undefined1 local_40 [24]; pauVar4 = (undefined1 (*) [16]) FUN_1812c6d70(local_40,*(undefined8 *)(param_1 + 0x88),param_3,param_4, 0xfffffffffffffffe); auVar1 = *pauVar4; local_5c = auVar1._4_4_; local_54 = auVar1._12_4_ - local_5c; local_60 = auVar1._0_4_; local_58 = auVar1._8_4_ - local_60; uVar5 = FUN_1812c7270(&local_50,&local_60,*(undefined8 *)(param_1 + 0x88)); iVar2 = (int)param_2; if ((((iVar2 < 0) || (local_res10.y = (LONG)((ulonglong)param_2 >> 0x20), param_2 < 0)) || (local_48 <= iVar2)) || (local_44 <= local_res10.y)) { return uVar5 & 0xffffffffffffff00; } pauVar4 = (undefined1 (*) [16])FUN_1812c6d70(local_40,*(undefined8 *)(param_1 + 0x88)); auVar1 = *pauVar4; local_5c = auVar1._4_4_; local_54 = auVar1._12_4_ - local_5c; local_60 = auVar1._0_4_; local_58 = auVar1._8_4_ - local_60; FUN_1812c7270(&local_50,&local_60,*(undefined8 *)(param_1 + 0x88)); LVar8 = iVar2 + local_50 + *(int *)(param_1 + 0xbc); local_res10.y = local_4c + *(int *)(param_1 + 0xb8) + local_res10.y; local_res10.x = LVar8; FUN_1812c75b0(); if ((DAT_182678f18 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar9 = FUN_1812c7510(); } else { uVar6 = (*DAT_182678f18)(); iVar2 = (*DAT_182678ec8)(uVar6); cVar9 = iVar2 == 2; } if ((cVar9 != '\0') || (cVar9 = FUN_1812c74c0(*(undefined8 *)(param_1 + 0x88)), cVar9 != '\0')) { if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } puVar7 = (undefined8 *) FUN_18051edd0(*(undefined8 *)(DAT_182673700 + 0x78),local_res20,local_res10); local_res10 = (POINT)*puVar7; LVar8 = local_res10.x; } local_res10.y = (LONG)((ulonglong)local_res10 >> 0x20); local_res10.x = LVar8; hWnd = WindowFromPoint(local_res10); if ((hWnd != *(HWND *)(param_1 + 0x88)) && (((char)param_3 == '\0' || (BVar3 = IsChild(*(HWND *)(param_1 + 0x88),hWnd), BVar3 == 0)))) { return 0; } return 1; } ############ FUN_ 18050f400 size=379 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18050f400(longlong param_1) { LPVOID *ppv; char cVar1; undefined8 *puVar2; undefined1 auStackY_68 [32]; IID local_28; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStackY_68; if (*(char *)(param_1 + 0xb3) == '\0') { *(undefined1 *)(param_1 + 0xb3) = 1; CreateCaret(*(HWND *)(param_1 + 0x88),(HBITMAP)0x1,0,0); } ShowCaret(*(HWND *)(param_1 + 0x88)); SetCaretPos(0,0); cVar1 = FUN_18050dc40(param_1 + 0xe0,*(undefined8 *)(param_1 + 0x88)); if (cVar1 != '\0') { if ((DAT_182673b00 == (undefined8 *)0x0) && (DAT_18267ab70 == '\0')) { DAT_18267ab70 = 1; puVar2 = (undefined8 *)FUN_1811316e0(0x30); FUN_1812a7230(puVar2); puVar2[2] = 0xffffffffffffffff; *(undefined4 *)(puVar2 + 3) = 0; *puVar2 = juce::OnScreenKeyboard::vftable; puVar2[1] = juce::OnScreenKeyboard::vftable; *(undefined2 *)(puVar2 + 4) = 0; ppv = (LPVOID *)(puVar2 + 5); *ppv = (LPVOID)0x0; local_28.Data1 = 0x4ce576fa; local_28.Data2 = 0x83dc; local_28.Data3 = 0x4f88; local_28.Data4[0] = 0x95; local_28.Data4[1] = '\x1c'; local_28.Data4[2] = 0x9d; local_28.Data4[3] = '\a'; local_28.Data4[4] = 0x82; local_28.Data4[5] = 0xb4; local_28.Data4[6] = 0xe3; local_28.Data4[7] = 'v'; if (*ppv != (longlong *)0x0) { (**(code **)(*(longlong *)*ppv + 0x10))(); } *ppv = (LPVOID)0x0; CoCreateInstance(&local_28,(LPUNKNOWN)0x0,6,(IID *)&DAT_18249bbf8,ppv); DAT_18267ab70 = '\0'; DAT_182673b00 = puVar2; } puVar2 = DAT_182673b00; *(undefined1 *)(DAT_182673b00 + 4) = 1; FUN_1812a77d0(puVar2 + 1,10); } } ############ FUN_ 18050f590 size=368 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18050f590(longlong param_1) { HWND pHVar1; char cVar2; HIMC pHVar3; undefined8 *puVar4; undefined1 auStackY_68 [32]; IID local_28; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStackY_68; pHVar1 = *(HWND *)(param_1 + 0x88); if (*(char *)(param_1 + 0x150) != '\0') { *(undefined1 *)(param_1 + 0x150) = 0; pHVar3 = ImmGetContext(pHVar1); if (pHVar3 != (HIMC)0x0) { ImmNotifyIME(pHVar3,0x15,1,0); ImmReleaseContext(pHVar1,pHVar3); } } cVar2 = FUN_18050dc40(param_1 + 0xe0,*(undefined8 *)(param_1 + 0x88)); if (cVar2 != '\0') { if ((DAT_182673b00 == (undefined8 *)0x0) && (DAT_18267ab70 == '\0')) { DAT_18267ab70 = 1; puVar4 = (undefined8 *)FUN_1811316e0(0x30); FUN_1812a7230(puVar4); puVar4[2] = 0xffffffffffffffff; *(undefined4 *)(puVar4 + 3) = 0; *puVar4 = juce::OnScreenKeyboard::vftable; puVar4[1] = juce::OnScreenKeyboard::vftable; *(undefined2 *)(puVar4 + 4) = 0; local_28.Data1 = 0x4ce576fa; local_28.Data2 = 0x83dc; local_28.Data3 = 0x4f88; local_28.Data4[0] = 0x95; local_28.Data4[1] = '\x1c'; local_28.Data4[2] = 0x9d; local_28.Data4[3] = '\a'; local_28.Data4[4] = 0x82; local_28.Data4[5] = 0xb4; local_28.Data4[6] = 0xe3; local_28.Data4[7] = 'v'; puVar4[5] = (LPVOID)0x0; CoCreateInstance(&local_28,(LPUNKNOWN)0x0,6,(IID *)&DAT_18249bbf8,(LPVOID *)(puVar4 + 5)); DAT_18267ab70 = '\0'; DAT_182673b00 = puVar4; } puVar4 = DAT_182673b00; *(undefined1 *)(DAT_182673b00 + 4) = 0; FUN_1812a77d0(puVar4 + 1,10); } } ############ FUN_ 18050f720 size=455 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18050f720(longlong *param_1,int *param_2) { longlong lVar1; char *pcVar2; int iVar3; undefined8 uVar4; int *piVar5; char *pcVar6; char *pcVar7; char cVar8; double dVar9; undefined1 auStack_98 [32]; undefined1 local_78 [12]; int iStack_6c; double local_68; double dStack_60; undefined8 local_58; undefined1 local_50 [24]; RECT local_38; ulonglong local_28; local_58 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_98; dVar9 = (double)(**(code **)(*param_1 + 0x110))(); FUN_1812c75b0(); if ((DAT_182678f18 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar8 = FUN_1812c7510(); } else { uVar4 = (*DAT_182678f18)(); iVar3 = (*DAT_182678ec8)(uVar4); cVar8 = iVar3 == 2; } if (cVar8 != '\0') { lVar1 = param_1[0x11]; FUN_1812c75b0(); if ((DAT_182678f08 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar8 = FUN_1812c7510(); } else { uVar4 = (*DAT_182678f08)(lVar1); iVar3 = (*DAT_182678ec8)(uVar4); cVar8 = iVar3 == 2; } if (cVar8 == '\0') { if (DAT_182673700 == 0) { local_78._0_8_ = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_78._0_8_); } pcVar2 = (char *)**(undefined8 **)(DAT_182673700 + 0x78); for (pcVar6 = pcVar2; (pcVar7 = pcVar2, pcVar6 != pcVar2 + (longlong) *(int *)((longlong)*(undefined8 **)(DAT_182673700 + 0x78) + 0xc) * 0x40 && (pcVar7 = pcVar6, *pcVar6 == '\0')); pcVar6 = pcVar6 + 0x40) { } dVar9 = DAT_1824c4140 / *(double *)(pcVar7 + 0x30); } } local_78._0_8_ = (double)*param_2 * dVar9; register0x00001240 = (double)param_2[1] * dVar9; local_68 = (double)param_2[2] * dVar9; dStack_60 = (double)param_2[3] * dVar9; piVar5 = (int *)FUN_18051bbd0(local_78,local_50); local_78._0_4_ = piVar5[0]; local_78._4_4_ = piVar5[1]; iStack_6c = piVar5[3] + piVar5[1]; local_78._8_4_ = *piVar5 + piVar5[2]; local_38.right = *piVar5 + piVar5[2]; local_38.bottom = piVar5[3] + piVar5[1]; local_38._0_8_ = local_78._0_8_; InvalidateRect((HWND)param_1[0x11],&local_38,0); } ############ FUN_ 1812c70b0 size=203 ############ undefined8 * FUN_1812c70b0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3) { int iVar1; undefined8 uVar2; undefined8 uVar3; char cVar4; FUN_1812c75b0(); if ((DAT_182678f08 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar4 = FUN_1812c7510(); } else { uVar2 = (*DAT_182678f08)(param_3); iVar1 = (*DAT_182678ec8)(uVar2); cVar4 = iVar1 == 2; } if (cVar4 == '\0') { *param_1 = *param_2; } else { if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } uVar2 = *(undefined8 *)(DAT_182673700 + 0x78); uVar3 = FUN_1812c59b0(param_3); FUN_18051ece0(uVar2,param_1,*param_2,uVar3); } return param_1; } ############ FUN_ 180523f00 size=51 ############ undefined8 FUN_180523f00(undefined8 param_1) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x50); FUN_180522290(uVar1,param_1); return uVar1; } ############ FUN_ 1805106e0 size=291 ############ undefined8 FUN_1805106e0(HWND param_1) { longlong lVar1; char cVar2; BOOL BVar3; undefined8 uVar4; longlong lVar5; longlong *plVar6; HWND hWndParent; longlong lVar7; uint uVar8; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } uVar8 = *(int *)(DAT_182673700 + 100) - 1; lVar7 = (longlong)(int)uVar8; lVar5 = DAT_182673700; if (-1 < (int)uVar8) { do { if (lVar5 == 0) { uVar4 = FUN_1811316e0(0x130); lVar5 = FUN_18133c6c0(uVar4); DAT_182673700 = lVar5; } if (((uVar8 < *(uint *)(lVar5 + 100)) && (lVar1 = *(longlong *)(*(longlong *)(lVar5 + 0x58) + lVar7 * 8), lVar1 != 0)) && (cVar2 = FUN_181343030(lVar1), lVar5 = DAT_182673700, cVar2 == '\0')) { if ((*(byte *)(lVar1 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar1 + 0x18) != 0) { plVar6 = (longlong *)FUN_18134c2e0(); goto LAB_1805107a7; } LAB_1805107bd: hWndParent = (HWND)0x0; } else { plVar6 = (longlong *)FUN_1812d2bd0(lVar1); LAB_1805107a7: if (plVar6 == (longlong *)0x0) goto LAB_1805107bd; if ((undefined **)*plVar6 == juce::HWNDComponentPeer::vftable) { hWndParent = (HWND)plVar6[0x11]; } else { hWndParent = (HWND)(*(code *)((undefined **)*plVar6)[1])(plVar6); } } BVar3 = IsChild(hWndParent,param_1); lVar5 = DAT_182673700; if (BVar3 != 0) { return 0; } } uVar8 = uVar8 - 1; lVar7 = lVar7 + -1; } while (-1 < lVar7); } return 1; } ############ FUN_ 180510810 size=537 ############ undefined8 FUN_180510810(undefined8 *param_1) { uint uVar1; longlong lVar2; char cVar3; int iVar4; undefined8 *puVar5; LONG_PTR LVar6; longlong lVar7; undefined8 uVar8; longlong *plVar9; longlong *plVar10; longlong *plVar11; longlong *plVar12; longlong *plVar13; plVar10 = (longlong *)0x0; if (DAT_182673c20 == (undefined8 *)0x0) { puVar5 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar5); FUN_1812a7230(puVar5 + 2); *puVar5 = juce::ModalComponentManager::vftable; puVar5[2] = juce::ModalComponentManager::vftable; puVar5[3] = 0; puVar5[4] = 0; DAT_182673c20 = puVar5; } plVar9 = (longlong *)DAT_182673c20[3]; plVar13 = (longlong *) ((ulonglong) ((longlong)(plVar9 + *(int *)((longlong)DAT_182673c20 + 0x24)) + (7 - (longlong)plVar9) ) >> 3); if (plVar9 + *(int *)((longlong)DAT_182673c20 + 0x24) < plVar9) { plVar13 = plVar10; } plVar11 = plVar10; plVar12 = plVar10; if (plVar13 != (longlong *)0x0) { do { if (*(char *)(*plVar9 + 0x5c) != '\0') { plVar12 = (longlong *)(ulonglong)((int)plVar12 + 1); } plVar9 = plVar9 + 1; plVar11 = (longlong *)((longlong)plVar11 + 1); } while (plVar11 != plVar13); } if ((int)plVar12 != 0) { LVar6 = GetWindowLongPtrW((HWND)*param_1,-0x15); lVar7 = FUN_1804cf4b0(); if (LVar6 != lVar7) { uVar1 = *(uint *)(param_1 + 1); if (0x200 < uVar1) { if (0x319 < uVar1) { return 0; } if (uVar1 != 0x319) { switch(uVar1 - 0x201) { case 0: case 2: case 3: case 5: case 6: case 8: case 0x41: case 0x45: goto switchD_18051092c_caseD_80; case 1: case 4: case 7: case 9: case 0xd: case 0x3f: case 0x40: case 0x44: case 0x46: case 0x4a: case 0x4d: case 0x4e: case 0x9f: case 0xa0: break; default: goto switchD_18051092c_caseD_1; } } goto switchD_18051092c_caseD_0; } if (uVar1 == 0x200) { switchD_18051092c_caseD_0: uVar8 = FUN_1805106e0(*param_1); return uVar8; } switch(uVar1 - 0x21) { case 0: case 0x7f: case 0xe0: case 0xe1: case 0xe4: goto switchD_18051092c_caseD_0; default: break; case 0x80: case 0x82: case 0x83: case 0x85: case 0x86: case 0x88: case 0xdf: case 0xe3: switchD_18051092c_caseD_80: cVar3 = FUN_1805106e0(*param_1); if (cVar3 != '\0') { if (DAT_182673c20 == (undefined8 *)0x0) { puVar5 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar5); FUN_1812a7230(puVar5 + 2); *puVar5 = juce::ModalComponentManager::vftable; puVar5[2] = juce::ModalComponentManager::vftable; puVar5[3] = 0; puVar5[4] = 0; DAT_182673c20 = puVar5; } iVar4 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar7 = (longlong)iVar4; if (-1 < iVar4) { plVar9 = plVar10; do { lVar2 = *(longlong *)(DAT_182673c20[3] + lVar7 * 8); if ((*(char *)(lVar2 + 0x5c) != '\0') && (iVar4 = (int)plVar9, plVar9 = (longlong *)(ulonglong)(iVar4 + 1), iVar4 == 0)) { plVar10 = *(longlong **)(lVar2 + 0x40); break; } lVar7 = lVar7 + -1; } while (-1 < lVar7); } if (plVar10 != (longlong *)0x0) { (**(code **)(*plVar10 + 0x140))(plVar10); } return 1; } } } } switchD_18051092c_caseD_1: return 0; } ############ FUN_ 180511ba0 size=269 ############ void FUN_180511ba0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5) { longlong *plVar1; longlong lVar2; undefined8 uVar3; longlong *plVar4; longlong local_58 [3]; undefined4 local_40; local_58[1] = 0xfffffffffffffffe; local_58[2] = 0; local_40 = 0; uVar3 = FUN_1812c6c70(); if (DAT_182673700 == 0) { local_58[0] = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_58[0]); } lVar2 = *(longlong *)(DAT_182673700 + 0x30); plVar4 = *(longlong **)(lVar2 + 0x28); plVar1 = plVar4 + *(int *)(lVar2 + 0x34); while( true ) { if (plVar4 == plVar1) { FUN_1804e6f50(lVar2,0,0); return; } if (*(int *)(*plVar4 + 0x14) == 0) break; plVar4 = plVar4 + 1; } local_58[0] = *plVar4; FUN_18133dc10(local_58,param_1,param_2,uVar3,param_5,param_3,param_4,local_58 + 2); return; } ############ FUN_ 180511d50 size=116 ############ longlong FUN_180511d50(void) { longlong *plVar1; undefined8 uVar2; longlong *plVar3; uint7 uVar4; if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } plVar3 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar3 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); while( true ) { uVar4 = (uint7)((ulonglong)plVar3 >> 8); if (plVar3 == plVar1) { return (ulonglong)uVar4 << 8; } if (((*(byte *)(*plVar3 + 0x28) & 0x70) != 0) && (*(int *)(*plVar3 + 0x14) - 1U < 2)) break; plVar3 = plVar3 + 1; } return CONCAT71(uVar4,1); } ############ FUN_ 180511dd0 size=690 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180511dd0(longlong *param_1,undefined8 param_2,char param_3) { char cVar1; ushort uVar2; int iVar3; ulonglong uVar4; longlong lVar5; undefined8 uVar6; uint uVar7; uint uVar8; float local_58; float fStack_54; undefined4 local_50; tagTRACKMOUSEEVENT local_40; uVar7 = DAT_182673aec; if ((DAT_182678ed0 != 0) && (uVar4 = GetMessageExtraInfo(), (uVar4 & 0xffffff80) == 0xff515780)) { return; } cVar1 = FUN_180511d50(); if (cVar1 == '\0') { if (*(char *)((longlong)param_1 + 0xb2) == '\0') { *(undefined1 *)((longlong)param_1 + 0xb2) = 1; if ((param_3 != '\0') && (DAT_182673ba8 != 0)) { FUN_18050fa30(); uVar2 = GetAsyncKeyState(1); uVar8 = 0; if ((uVar2 & 0x8000) != 0) { uVar8 = 0x10; } uVar2 = GetAsyncKeyState(2); if ((uVar2 & 0x8000) != 0) { uVar8 = uVar8 | 0x20; } uVar2 = GetAsyncKeyState(4); if ((uVar2 & 0x8000) != 0) { uVar8 = uVar8 | 0x40; } DAT_182673aec = DAT_182673aec & 0xffffff8f | uVar8; } FUN_18050fa30(); if ((longlong *)param_1[0x22] != (longlong *)0x0) { uVar8 = (**(code **)(*(longlong *)param_1[0x22] + 8))(); DAT_182673aec = DAT_182673aec | uVar8; } local_40.cbSize = 0x18; local_40.dwFlags = 2; local_40.hwndTrack = (HWND)param_1[0x11]; local_40.dwHoverTime = 0; TrackMouseEvent(&local_40); lVar5 = FUN_18134b820(); FUN_1804e6e90(**(undefined8 **)(*(longlong *)(lVar5 + 0x30) + 0x18),1); } else if (*(char *)((longlong)param_1 + 0xb1) == '\0') { fStack_54 = (float)((ulonglong)param_2 >> 0x20); local_58 = (float)param_2; local_50 = SUB84((double)fStack_54 + DAT_1824c4520,0); cVar1 = (**(code **)(*param_1 + 0x90)) (param_1,CONCAT44(local_50,SUB84((double)local_58 + DAT_1824c4520,0)),0); if (cVar1 == '\0') { return; } } if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267b0f4) && (_Init_thread_header(&DAT_18267b0f4), DAT_18267b0f4 == -1) ) { iVar3 = FUN_181216340(); DAT_18267b0c4 = 0x10; if (0x202 < iVar3) { DAT_18267b0c4 = 0; } _Init_thread_footer(&DAT_18267b0f4); } uVar8 = FUN_181228e30(); if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } if ((*(byte *)(**(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18) + 0x28) & 0x70) == 0) { uVar7 = uVar7 & 0xffffff8f; } if (DAT_18267b0c4 + _DAT_18267aac0 <= uVar8) { _DAT_18267aac0 = uVar8; FUN_180511ba0(param_1,param_2,0,0,uVar7); } } return; } ############ FUN_ 180512270 size=363 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180512270(undefined8 param_1,ulonglong param_2,char param_3) { int iVar1; longlong lVar2; undefined8 uVar3; undefined8 *puVar4; undefined4 uVar5; float fVar6; undefined1 auStack_78 [32]; float *local_58; int local_48 [2]; undefined8 local_40; undefined8 local_38; undefined8 local_30; float local_28; float local_24; undefined2 local_20; undefined1 local_1e; ulonglong local_18; local_38 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_78; FUN_18050fa30(); fVar6 = (float)(int)(short)(param_2 >> 0x10) * DAT_1824c3d8c; local_24 = DAT_1824c4754; if ((DAT_1824c4754 <= fVar6) && (local_24 = DAT_1824c459c, fVar6 <= DAT_1824c459c)) { local_24 = fVar6; } if (param_3 == '\0') { local_28 = local_24 * _DAT_1824c4648; local_24 = 0.0; } else { local_28 = 0.0; local_24 = local_24 * _DAT_1824c3c60; } local_20 = 0; local_1e = 0; local_40 = 0; lVar2 = FUN_180512190(param_1,&local_40); if (lVar2 == 0) { } if ((DAT_182678f28 != (code *)0x0) && (iVar1 = (*DAT_182678f28)(param_2 & 0xffff,local_48), iVar1 != 0)) { if (local_48[0] == 2) { uVar5 = 1; goto LAB_18051236b; } if (local_48[0] == 3) { uVar5 = 2; goto LAB_18051236b; } } uVar5 = 0; LAB_18051236b: uVar3 = FUN_1812c6c70(); if (DAT_182673700 == 0) { local_30 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_30); } puVar4 = (undefined8 *)FUN_1804e7170(*(undefined8 *)(DAT_182673700 + 0x30),uVar5,0); if (puVar4 != (undefined8 *)0x0) { local_58 = &local_28; FUN_1804e65c0(*puVar4,lVar2,local_40,uVar3); } } ############ FUN_ 1805123f0 size=513 ############ undefined8 FUN_1805123f0(longlong param_1,undefined8 param_2) { longlong *plVar1; longlong lVar2; char cVar3; int iVar4; longlong lVar5; undefined8 uVar6; longlong *plVar7; undefined8 *puVar8; double dVar9; double dVar10; longlong local_res18; undefined8 local_res20; undefined4 uVar11; undefined4 local_78; int iStack_74; undefined8 local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; longlong local_50; undefined8 local_48; local_70 = 0; local_68 = 0; local_60 = 0; local_58 = 0; local_50 = 0; local_48 = 0; local_78 = 0x38; iStack_74 = 0; if ((DAT_182678ec0 != (code *)0x0) && (iVar4 = (*DAT_182678ec0)(param_2,&local_78), iVar4 != 0)) { FUN_18050fa30(); local_res18 = 0; lVar5 = FUN_180512190(param_1,&local_res18); if ((lVar5 != 0) && ((int)local_70 == 3)) { if ((iStack_74 != 1) && (lVar2 = *(longlong *)(param_1 + 0xa8), lVar2 != 0)) { dVar9 = (double)local_50; if (local_50 < 0) { dVar9 = dVar9 + DAT_1824c4570; } dVar10 = (double)lVar2; if (lVar2 < 0) { dVar10 = dVar10 + DAT_1824c4570; } uVar6 = FUN_1812c6c70(); if (DAT_182673700 == 0) { local_res20 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res20); } lVar2 = *(longlong *)(DAT_182673700 + 0x30); plVar7 = *(longlong **)(lVar2 + 0x28); plVar1 = plVar7 + *(int *)(lVar2 + 0x34); for (; plVar7 != plVar1; plVar7 = plVar7 + 1) { if ((*(int *)(*plVar7 + 0x14) == 1) && (*(int *)(*plVar7 + 0x10) == 0)) goto LAB_180512559; } cVar3 = FUN_1812c78b0(); if (cVar3 != '\0') { plVar7 = (longlong *)FUN_1804e6f50(lVar2,0,1); LAB_180512559: if (plVar7 != (longlong *)0x0) { lVar2 = *plVar7; local_res20 = 0; puVar8 = &local_res20; lVar5 = FUN_1804e6500(lVar2,lVar5,local_res18,uVar6,puVar8); uVar11 = (undefined4)((ulonglong)puVar8 >> 0x20); if (lVar5 != 0) { local_res18 = lVar2; puVar8 = (undefined8 *)FUN_1804e5790(&local_res20,lVar5,local_res20); FUN_18133f820(lVar5,&local_res18,*puVar8,uVar6, CONCAT44(uVar11,(float)(dVar9 / dVar10))); } } } } *(longlong *)(param_1 + 0xa8) = local_50; return 1; } } return 0; } ############ FUN_ 18133f820 size=587 ############ void FUN_18133f820(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, undefined4 param_5) { int *piVar1; longlong *plVar2; longlong lVar3; char cVar4; undefined8 uVar5; longlong lVar6; longlong lVar7; int iVar8; double dVar9; undefined8 *local_res10 [2]; undefined8 local_res20; undefined4 local_b8; float local_a8; float local_a4; undefined4 local_a0; undefined4 local_9c; uint local_98; undefined8 local_94; undefined8 local_8c; undefined4 local_84; undefined8 local_80; longlong *local_78; longlong *local_70; undefined8 local_68; undefined8 local_60; longlong local_58; undefined2 local_50; undefined8 local_48; local_48 = 0xfffffffffffffffe; local_res20 = (double)param_3; if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } lVar3 = DAT_182673700; FUN_1804de690(local_res10,param_1); local_58 = *param_2; local_98 = *(uint *)(local_58 + 0x28) | DAT_182673aec & 0xffffff8f; local_a8 = (float)local_res20; local_a4 = local_res20._4_4_; dVar9 = (double)(float)local_res20; local_res20._0_4_ = SUB84(dVar9 + DAT_1824c4520,0); local_a0 = (float)local_res20; local_b8 = SUB84((double)local_res20._4_4_ + DAT_1824c4520,0); local_9c = local_b8; local_94 = 0; local_8c = 0; local_84 = 0; local_50 = 0; local_res20 = dVar9 + DAT_1824c4520; local_80 = param_3; local_78 = param_1; local_70 = param_1; local_68 = param_4; local_60 = param_4; cVar4 = FUN_181343030(param_1); if (cVar4 == '\0') { (**(code **)(*param_1 + 0x48))(param_1,&local_a8,param_5); lVar6 = 0; lVar7 = lVar6; if (local_res10[0] != (undefined8 *)0x0) { lVar7 = local_res10[0][2]; } if (lVar7 != 0) { iVar8 = *(int *)(lVar3 + 0x44); while( true ) { lVar7 = lVar6; if (local_res10[0] != (undefined8 *)0x0) { lVar7 = local_res10[0][2]; } if ((lVar7 == 0) || (iVar8 < 1)) break; iVar8 = iVar8 + -1; if ((*(int *)(lVar3 + 0x44) <= iVar8) && (iVar8 = *(int *)(lVar3 + 0x44) + -1, iVar8 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(lVar3 + 0x38) + (longlong)iVar8 * 8); (**(code **)(*plVar2 + 0x48))(plVar2,&local_a8,param_5); } if (local_res10[0] != (undefined8 *)0x0) { lVar6 = local_res10[0][2]; } if (lVar6 != 0) { FUN_18051ead0(param_1,local_res10); } } } else { iVar8 = *(int *)(lVar3 + 0x44); while( true ) { lVar6 = 0; if (local_res10[0] != (undefined8 *)0x0) { lVar6 = local_res10[0][2]; } if ((lVar6 == 0) || (iVar8 < 1)) break; iVar8 = iVar8 + -1; if ((*(int *)(lVar3 + 0x44) <= iVar8) && (iVar8 = *(int *)(lVar3 + 0x44) + -1, iVar8 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(lVar3 + 0x38) + (longlong)iVar8 * 8); (**(code **)(*plVar2 + 0x48))(plVar2,&local_a8,param_5); } } if (local_res10[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10[0] + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_res10[0])(local_res10[0],1); } } return; } ############ FUN_ 1812d2a10 size=212 ############ void FUN_1812d2a10(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6,undefined8 param_7,undefined8 param_8, undefined4 param_9) { undefined8 *puVar1; undefined8 local_28; undefined8 local_20; local_20 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { local_28 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_28); } puVar1 = (undefined8 *)FUN_1804e7170(*(undefined8 *)(DAT_182673700 + 0x30),param_2,param_9); if (puVar1 != (undefined8 *)0x0) { local_28 = *puVar1; FUN_18133dc10(&local_28,param_1,param_3,param_7,param_4,param_5,param_6,param_8); } return; } ############ FUN_ 180512d70 size=904 ############ undefined8 FUN_180512d70(undefined8 param_1,longlong param_2,undefined8 param_3,undefined4 param_4,char param_5 ,char param_6) { longlong *plVar1; longlong lVar2; uint uVar3; ulonglong uVar4; char cVar5; undefined8 uVar6; longlong *plVar7; uint uVar8; uint uVar9; float fVar10; longlong local_res10; undefined8 uVar11; undefined8 local_68; float local_60; uVar11 = 0xfffffffffffffffe; uVar6 = FUN_1812c6c70(); uVar9 = DAT_182673aec; uVar8 = *(uint *)(param_2 + 100); fVar10 = 0.0; if ((uVar8 & 2) != 0) { fVar10 = (float)*(uint *)(param_2 + 0x6c) * DAT_1824c3c78; } local_68 = (ulonglong)(uint)fVar10; if ((uVar8 & 4) != 0) { local_68 = CONCAT44((float)*(int *)(param_2 + 0x70) / DAT_1824c44d0,fVar10); } uVar4 = local_68; if ((uVar8 & 8) == 0) { local_60 = 0.0; } else { local_60 = (float)*(int *)(param_2 + 0x74) / DAT_1824c44d0; } fVar10 = local_60; uVar8 = *(uint *)(param_2 + 0xc); if ((uVar8 & 0x10) == 0) { if ((uVar8 & 0x20) != 0) { DAT_182673aec = DAT_182673aec & 0xffffff8f | 0x20; } } else { DAT_182673aec = DAT_182673aec & 0xffffff8f | 0x10; } uVar3 = DAT_182673aec; if (param_5 == '\0') { if ((param_6 != '\0') || ((uVar8 & 4) == 0)) { uVar9 = uVar9 & 0xffffff8f; DAT_182673aec = DAT_182673aec & 0xffffff8f; } } else { uVar8 = DAT_182673aec & 0xffffff8f; if (DAT_182673700 == 0) { local_res10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } lVar2 = *(longlong *)(DAT_182673700 + 0x30); plVar7 = *(longlong **)(lVar2 + 0x28); plVar1 = plVar7 + *(int *)(lVar2 + 0x34); for (; plVar7 != plVar1; plVar7 = plVar7 + 1) { if (*(int *)(*plVar7 + 0x14) == 2) { local_res10 = *plVar7; FUN_18133dc10(&local_res10,param_1,param_3,uVar6,uVar8,param_4,0,&local_68,uVar11); goto LAB_180512ee0; } } FUN_1804e6f50(lVar2,0,2); LAB_180512ee0: cVar5 = FUN_1812d2b50(param_1); uVar9 = uVar3; if (cVar5 == '\0') { return 0; } } local_68 = uVar4; local_60 = fVar10; if (DAT_182673700 == 0) { local_res10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } lVar2 = *(longlong *)(DAT_182673700 + 0x30); plVar7 = *(longlong **)(lVar2 + 0x28); plVar1 = plVar7 + *(int *)(lVar2 + 0x34); for (; plVar7 != plVar1; plVar7 = plVar7 + 1) { if (*(int *)(*plVar7 + 0x14) == 2) { local_res10 = *plVar7; FUN_18133dc10(&local_res10,param_1,param_3,uVar6,uVar9,param_4,0,&local_68,uVar11); goto LAB_180512fb4; } } FUN_1804e6f50(lVar2,0,2); LAB_180512fb4: cVar5 = FUN_1812d2b50(param_1); uVar8 = DAT_182673aec; uVar11 = DAT_18248a358; if (cVar5 == '\0') { return 0; } if (param_6 != '\0') { local_68 = uVar4; local_60 = fVar10; if (DAT_182673700 == 0) { local_res10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } lVar2 = *(longlong *)(DAT_182673700 + 0x30); plVar7 = *(longlong **)(lVar2 + 0x28); plVar1 = plVar7 + *(int *)(lVar2 + 0x34); for (; plVar7 != plVar1; plVar7 = plVar7 + 1) { if (*(int *)(*plVar7 + 0x14) == 2) { local_res10 = *plVar7; FUN_18133dc10(&local_res10,param_1,uVar11,uVar6,uVar8,param_4,0,&local_68); goto LAB_180513047; } } FUN_1804e6f50(lVar2,0,2); LAB_180513047: cVar5 = FUN_1812d2b50(param_1); if (cVar5 == '\0') { return 0; } } return 1; } ############ FUN_ 180513100 size=171 ############ void FUN_180513100(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; longlong *plVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; if (DAT_182673b64 != DAT_182673aec) { DAT_182673b64 = DAT_182673aec; if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } lVar1 = *(longlong *)(**(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18) + 0x48); plVar3 = (longlong *)0x0; if (lVar1 != 0) { plVar3 = *(longlong **)(lVar1 + 0x10); } if ((plVar3 == (longlong *)0x0) && (plVar3 = DAT_182673708, DAT_182673708 == (longlong *)0x0)) { plVar3 = *(longlong **)(param_1 + 8); } FUN_18133f790(); (**(code **)(*plVar3 + 0xe8))(plVar3,&DAT_182673aec,param_3,param_4,uVar4); } return; } ############ FUN_ 180513850 size=551 ############ undefined8 FUN_180513850(longlong *param_1,double *param_2) { void *pvVar1; ulonglong uVar2; bool bVar3; char cVar4; undefined8 *puVar5; void **ppvVar6; undefined8 uVar7; float fVar8; undefined4 local_res20; double local_b8 [2]; double local_a8; int local_a0; int local_9c; undefined8 local_98; undefined8 local_88; undefined8 uStack_80; void *local_78; void *pvStack_70; undefined1 local_68 [64]; local_98 = 0xfffffffffffffffe; if (((param_1[5] == 0) || (((byte)(int)param_1[2] & 0x18) != 0x18)) || (cVar4 = (**(code **)(*param_1 + 0x80))(), cVar4 != '\0')) { bVar3 = false; } else { bVar3 = true; } if (bVar3) { local_9c = *(int *)((longlong)param_2 + 0xc) - *(int *)((longlong)param_2 + 4); local_a8 = *param_2; local_a0 = *(int *)(param_2 + 1) - *(int *)param_2; puVar5 = (undefined8 *)FUN_1812c7270(local_b8,&local_a8,param_1[0x11]); pvVar1 = (void *)*puVar5; uVar2 = puVar5[1]; local_88 = pvVar1; uStack_80 = uVar2; fVar8 = (float)(**(code **)(*(longlong *)param_1[1] + 0x80))(); if (fVar8 == DAT_1824c3ea4) { local_78 = pvVar1; pvStack_70 = (void *)uVar2; ppvVar6 = &local_78; } else { local_a8 = (double)((float)uStack_80._4_4_ / fVar8) + DAT_1824c4520; local_b8[0] = (double)((float)(int)uStack_80 / fVar8) + DAT_1824c4520; local_res20 = SUB84((double)((float)local_88._4_4_ / fVar8) + DAT_1824c4520,0); local_88 = (void *)CONCAT44(local_res20, SUB84((double)((float)(int)local_88 / fVar8) + DAT_1824c4520,0)); uStack_80 = CONCAT44(local_a8._0_4_,SUB84(local_b8[0],0)); ppvVar6 = (void **)&local_88; } local_78 = *ppvVar6; pvStack_70 = ppvVar6[1]; FUN_1805136e0(param_1,local_68); if (DAT_182673700 == 0) { uVar7 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar7); } uVar7 = FUN_18133d310(*(undefined8 *)(DAT_182673700 + 0x78),&local_88); FUN_1804aa5a0(uVar7,&local_a8); uStack_80 = uStack_80 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_88); } return 1; } ############ FUN_ 180514460 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180514460(longlong *param_1,short param_2) { longlong lVar1; int iVar2; undefined8 *puVar3; longlong lVar4; longlong *plVar5; longlong *plVar6; char cVar7; undefined1 auStack_78 [32]; undefined8 *local_58; undefined4 uStack_50; undefined4 uStack_4c; undefined8 local_48; WINDOWPLACEMENT local_40; ulonglong local_10; local_48 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_78; DAT_182673b64 = 0xffffffff; FUN_18050fa30(); if ((undefined **)*param_1 == juce::HWNDComponentPeer::vftable) { local_40.length = 0x2c; GetWindowPlacement((HWND)param_1[0x11],&local_40); cVar7 = local_40.showCmd == 2; } else { cVar7 = (*(code *)((undefined **)*param_1)[0xd])(param_1); } plVar6 = (longlong *)0x0; if (cVar7 != '\0') { lVar4 = param_1[1]; uStack_4c = *(undefined4 *)(lVar4 + 0x2c); uStack_50 = *(undefined4 *)(lVar4 + 0x28); local_58 = (undefined8 *)0x0; FUN_181342870(lVar4,&local_58,1); FUN_1812d1d10(param_1); cVar7 = FUN_1812d2b50(param_1); if (cVar7 == '\0') { } } puVar3 = (undefined8 *)FUN_18133e370(param_1[1],&local_58); lVar4 = FUN_181343e50(param_1[1],*puVar3); if (lVar4 == 0) { lVar4 = param_1[1]; } cVar7 = FUN_181343030(lVar4); if (cVar7 == '\0') { FUN_18133f490(param_1[1]); } else if (param_2 == 2) { if (DAT_182673c20 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_1811316e0(0x28); local_58 = puVar3; FUN_1812a59f0(puVar3); FUN_1812a7230(puVar3 + 2); *puVar3 = juce::ModalComponentManager::vftable; puVar3[2] = juce::ModalComponentManager::vftable; puVar3[3] = 0; puVar3[4] = 0; DAT_182673c20 = puVar3; } iVar2 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar4 = (longlong)iVar2; if (-1 < iVar2) { plVar5 = plVar6; do { lVar1 = *(longlong *)(DAT_182673c20[3] + lVar4 * 8); if ((*(char *)(lVar1 + 0x5c) != '\0') && (iVar2 = (int)plVar5, plVar5 = (longlong *)(ulonglong)(iVar2 + 1), iVar2 == 0)) { plVar6 = *(longlong **)(lVar1 + 0x40); break; } lVar4 = lVar4 + -1; } while (-1 < lVar4); } (**(code **)(*plVar6 + 0x140))(plVar6); } else { if (DAT_182673c20 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_1811316e0(0x28); local_58 = puVar3; FUN_1812a59f0(puVar3); FUN_1812a7230(puVar3 + 2); *puVar3 = juce::ModalComponentManager::vftable; puVar3[2] = juce::ModalComponentManager::vftable; puVar3[3] = 0; puVar3[4] = 0; DAT_182673c20 = puVar3; } FUN_18133b010(DAT_182673c20,1); } } ############ FUN_ 180514680 size=583 ############ void FUN_180514680(longlong *param_1) { undefined4 uVar1; undefined4 uVar2; HWND hWnd; undefined8 uVar3; char cVar4; int iVar5; undefined8 uVar6; undefined4 *puVar7; longlong lVar8; int *piVar9; float fVar10; undefined4 local_res10; undefined4 local_res20; undefined8 local_48; undefined8 uStack_40; undefined1 local_38 [32]; if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } FUN_18133d120(*(undefined8 *)(DAT_182673700 + 0x78)); if (((char)param_1[0x16] != '\0') && (cVar4 = (**(code **)(*param_1 + 0x68))(param_1), cVar4 == '\0')) { lVar8 = param_1[1]; uVar1 = *(undefined4 *)(lVar8 + 0x2c); uVar2 = *(undefined4 *)(lVar8 + 0x28); local_48._0_4_ = 0; local_48._4_4_ = 0; for (; lVar8 != 0; lVar8 = *(longlong *)(lVar8 + 0x18)) { uStack_40 = CONCAT44(uVar1,uVar2); puVar7 = (undefined4 *)FUN_18051e4b0(local_38,lVar8,&local_48); local_48._0_4_ = *puVar7; local_48._4_4_ = puVar7[1]; uVar2 = puVar7[2]; uVar1 = puVar7[3]; } uStack_40 = CONCAT44(uVar1,uVar2); if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } lVar8 = FUN_18133d8f0(*(undefined8 *)(DAT_182673700 + 0x78),&local_48,0); uVar6 = *(undefined8 *)(lVar8 + 0x14); uVar3 = *(undefined8 *)(lVar8 + 0x1c); local_48 = uVar6; uStack_40 = uVar3; fVar10 = (float)(**(code **)(*(longlong *)param_1[1] + 0x80))(); if (fVar10 != DAT_1824c3ea4) { local_res10 = SUB84((double)((float)local_48._4_4_ * fVar10) + DAT_1824c4520,0); local_res20 = SUB84((double)((float)uStack_40._4_4_ * fVar10) + DAT_1824c4520,0); uVar6 = CONCAT44(local_res10,SUB84((double)((float)(int)local_48 * fVar10) + DAT_1824c4520,0)) ; uVar3 = CONCAT44(local_res20,SUB84((double)((float)(int)uStack_40 * fVar10) + DAT_1824c4520,0) ); } uStack_40 = uVar3; local_48 = uVar6; hWnd = (HWND)param_1[0x11]; FUN_1812c75b0(); if ((DAT_182678f08 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar4 = FUN_1812c7510(); } else { uVar6 = (*DAT_182678f08)(hWnd); iVar5 = (*DAT_182678ec8)(uVar6); cVar4 = iVar5 == 2; } if (cVar4 != '\0') { piVar9 = (int *)FUN_1812c7190(local_38,&local_48,hWnd); local_48._0_4_ = *piVar9; local_48._4_4_ = piVar9[1]; uStack_40._0_4_ = piVar9[2]; uStack_40._4_4_ = piVar9[3]; } SetWindowPos(hWnd,(HWND)0x0,(int)local_48,local_48._4_4_,(int)uStack_40,uStack_40._4_4_,0x614); } return; } ############ FUN_ 18133d120 size=411 ############ void FUN_18133d120(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; void *_Memory; char cVar2; undefined8 uVar3; void *pvVar4; longlong lVar5; longlong *plVar6; uint uVar7; longlong lVar8; _Memory = (void *)*param_1; *param_1 = 0; lVar5 = param_1[1]; *(undefined4 *)(param_1 + 1) = 0; iVar1 = *(int *)((longlong)param_1 + 0xc); *(undefined4 *)((longlong)param_1 + 0xc) = 0; if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130,param_2,param_3,param_4,0xfffffffffffffffe,_Memory,(int)lVar5); DAT_182673700 = FUN_18133c6c0(uVar3); } FUN_1812c53e0(param_1,*(undefined4 *)(DAT_182673700 + 0xc0)); if (iVar1 == *(int *)((longlong)param_1 + 0xc)) { lVar5 = *param_1; lVar8 = (longlong)*(int *)((longlong)param_1 + 0xc) * 0x40 + lVar5; pvVar4 = _Memory; if (lVar5 != lVar8) { do { cVar2 = FUN_18133d090(pvVar4); pvVar4 = (void *)((longlong)pvVar4 + 0x40); if (cVar2 == '\0') goto LAB_18133d1e1; lVar5 = lVar5 + 0x40; } while (lVar5 != lVar8); } } else { LAB_18133d1e1: if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } uVar7 = *(int *)(DAT_182673700 + 0x74) - 1; lVar8 = (longlong)(int)uVar7; lVar5 = DAT_182673700; if (-1 < (int)uVar7) { do { if (lVar5 == 0) { uVar3 = FUN_1811316e0(0x130); lVar5 = FUN_18133c6c0(uVar3); DAT_182673700 = lVar5; } if (uVar7 < *(uint *)(lVar5 + 0x74)) { plVar6 = *(longlong **)(*(longlong *)(lVar5 + 0x68) + lVar8 * 8); } else { plVar6 = (longlong *)0x0; } if (plVar6 != (longlong *)0x0) { if ((undefined **)*plVar6 == juce::HWNDComponentPeer::vftable) { (**(code **)(*(longlong *)plVar6[1] + 0x120))(); FUN_1812d1d10(plVar6); lVar5 = DAT_182673700; } else { (*(code *)((undefined **)*plVar6)[0x14])(plVar6); lVar5 = DAT_182673700; } } uVar7 = uVar7 - 1; lVar8 = lVar8 + -1; } while (-1 < lVar8); } } /* WARNING: Could not recover jumptable at 0x00018133d2ad. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } ############ FUN_ 1805148d0 size=69 ############ void FUN_1805148d0(void) { undefined8 uVar1; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } FUN_18133d120(*(undefined8 *)(DAT_182673700 + 0x78)); return; } ############ FUN_ 180514a70 size=398 ############ float * FUN_180514a70(longlong *param_1,float *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; int iVar2; undefined8 uVar3; undefined8 *puVar4; int *piVar5; short sVar6; char cVar7; undefined8 local_res8; undefined1 local_res20 [8]; undefined1 local_30 [24]; lVar1 = param_1[0x11]; FUN_1812c75b0(param_1,param_2,param_3,param_4,0xfffffffffffffffe); if ((DAT_182678f08 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar7 = FUN_1812c7510(); } else { uVar3 = (*DAT_182678f08)(lVar1); iVar2 = (*DAT_182678ec8)(uVar3); cVar7 = iVar2 == 2; } sVar6 = (short)((ulonglong)param_3 >> 0x10); if (cVar7 != '\0') { puVar4 = (undefined8 *)FUN_1812c6d70(local_30,param_1[0x11]); local_res8._0_4_ = SUB84((double)*(int *)((longlong)param_1 + 0xbc) * (double)param_1[0x23] + DAT_1824c4520,0) ; iVar2 = (int)local_res8 + (short)param_3; local_res8._0_4_ = SUB84((double)(int)param_1[0x17] * (double)param_1[0x23] + DAT_1824c4520,0); local_res8 = CONCAT44((int)((ulonglong)*puVar4 >> 0x20) + (int)local_res8 + (int)sVar6, iVar2 + (int)*puVar4); if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } piVar5 = (int *)FUN_18051ece0(*(undefined8 *)(DAT_182673700 + 0x78),local_res20,local_res8,0); (**(code **)(*param_1 + 0x58))(param_1,param_2,CONCAT44((float)piVar5[1],(float)*piVar5)); return param_2; } *param_2 = (float)(int)(short)param_3; param_2[1] = (float)(int)sVar6; return param_2; } ############ FUN_ 180515c40 size=227 ############ undefined8 FUN_180515c40(longlong param_1) { longlong lVar1; char cVar2; int iVar3; undefined8 *puVar4; longlong lVar5; longlong *plVar6; longlong *plVar7; cVar2 = FUN_181343030(*(undefined8 *)(param_1 + 8)); if (cVar2 == '\0') { return 0; } plVar7 = (longlong *)0x0; if (DAT_182673c20 == (undefined8 *)0x0) { puVar4 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar4); FUN_1812a7230(puVar4 + 2); *puVar4 = juce::ModalComponentManager::vftable; puVar4[2] = juce::ModalComponentManager::vftable; puVar4[3] = 0; puVar4[4] = 0; DAT_182673c20 = puVar4; } iVar3 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; lVar5 = (longlong)iVar3; if (-1 < iVar3) { plVar6 = plVar7; do { lVar1 = *(longlong *)(DAT_182673c20[3] + lVar5 * 8); if ((*(char *)(lVar1 + 0x5c) != '\0') && (iVar3 = (int)plVar6, plVar6 = (longlong *)(ulonglong)(iVar3 + 1), iVar3 == 0)) { plVar7 = *(longlong **)(lVar1 + 0x40); break; } lVar5 = lVar5 + -1; } while (-1 < lVar5); } if (plVar7 != (longlong *)0x0) { (**(code **)(*plVar7 + 0x140))(plVar7); } return 1; } ############ FUN_ 1805165e0 size=177 ############ undefined8 * FUN_1805165e0(undefined8 *param_1,ulonglong param_2) { ushort uVar1; HINSTANCE hInstance; *param_1 = juce::HWNDComponentPeer::WindowClassHolder::vftable; if (DAT_182673700 == 0) { FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(); } if (*(int *)(DAT_182673700 + 0x74) == 0) { uVar1 = *(ushort *)(param_1 + 1); hInstance = (HINSTANCE)FUN_181249ad0(); UnregisterClassW((LPCWSTR)(ulonglong)uVar1,hInstance); } if (DAT_182673bd8 == param_1) { DAT_182673bd8 = (undefined8 *)0x0; } FUN_1812a7170(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805169f0 size=106 ############ undefined8 FUN_1805169f0(longlong param_1,undefined8 *param_2) { undefined8 uVar1; undefined8 *puVar2; if (param_2 == (undefined8 *)0x0) { return 0x80004003; } puVar2 = (undefined8 *)FUN_1811316e0(0x20); uVar1 = *(undefined8 *)(param_1 + 0x10); *(undefined4 *)(puVar2 + 3) = 0; *(undefined4 *)(puVar2 + 1) = 1; *puVar2 = juce::DragAndDropHelpers::JuceEnumFormatEtc::vftable; puVar2[2] = uVar1; *(undefined4 *)(puVar2 + 3) = *(undefined4 *)(param_1 + 0x18); *param_2 = puVar2; return 0; } ############ FUN_ 180516c90 size=126 ############ undefined8 FUN_180516c90(longlong param_1,int param_2,undefined8 *param_3) { undefined8 uVar1; undefined8 *puVar2; if (param_3 == (undefined8 *)0x0) { return 0x80004003; } if (param_2 == 1) { puVar2 = (undefined8 *)FUN_1811316e0(0x20); uVar1 = *(undefined8 *)(param_1 + 0x10); *(undefined4 *)(puVar2 + 1) = 1; *puVar2 = juce::DragAndDropHelpers::JuceEnumFormatEtc::vftable; puVar2[2] = uVar1; *(undefined4 *)(puVar2 + 3) = 0; *param_3 = puVar2; return 0; } *param_3 = 0; return 0x80004001; } ############ FUN_ 180516e80 size=329 ############ undefined8 FUN_180516e80(longlong param_1) { LPDATAOBJECT pIVar1; LPDROPSOURCE pIVar2; LPDROPSOURCE pDropSource; LPDATAOBJECT pDataObj; DWORD local_res8 [2]; LPDATAOBJECT local_res10; undefined1 local_60 [56]; undefined8 local_28; OleInitialize((LPVOID)0x0); pDropSource = (LPDROPSOURCE)FUN_1811316e0(0x10); *(undefined4 *)&pDropSource[1].lpVtbl = 1; pDropSource->lpVtbl = (IDropSourceVtbl *)juce::DragAndDropHelpers::JuceDropSource::vftable; local_res10 = (LPDATAOBJECT)pDropSource; pDataObj = (LPDATAOBJECT)FUN_1811316e0(0x20); *(undefined4 *)&pDataObj[1].lpVtbl = 1; pDataObj->lpVtbl = (IDataObjectVtbl *)juce::DragAndDropHelpers::JuceDataObject::vftable; pDataObj[2].lpVtbl = (IDataObjectVtbl *)(param_1 + 0x60); pDataObj[3].lpVtbl = (IDataObjectVtbl *)(param_1 + 0x80); local_res10 = pDataObj; DoDragDrop(pDataObj,pDropSource,*(DWORD *)(param_1 + 0x98),local_res8); if (pDataObj->lpVtbl == (IDataObjectVtbl *)juce::DragAndDropHelpers::JuceDataObject::vftable) { pIVar1 = pDataObj + 1; *(int *)&pIVar1->lpVtbl = *(int *)&pIVar1->lpVtbl + -1; if (*(int *)&pIVar1->lpVtbl == 0) { (*(code *)juce::DragAndDropHelpers::JuceDataObject::vftable[0xc])(pDataObj,1); } } else { (*pDataObj->lpVtbl->Release)(pDataObj); } if (pDropSource->lpVtbl == (IDropSourceVtbl *)juce::DragAndDropHelpers::JuceDropSource::vftable) { pIVar2 = pDropSource + 1; *(int *)&pIVar2->lpVtbl = *(int *)&pIVar2->lpVtbl + -1; if (*(int *)&pIVar2->lpVtbl == 0) { (*(code *)juce::DragAndDropHelpers::JuceDropSource::vftable[5])(pDropSource,1); } } else { (*pDropSource->lpVtbl->Release)(pDropSource); } OleUninitialize(); if (*(longlong *)(param_1 + 0xd8) != 0) { local_res10 = (LPDATAOBJECT)local_60; local_28 = 0; FUN_180488560(local_60,param_1 + 0xa0); FUN_1812a7460(local_60); } return 0; } ############ FUN_ 180518790 size=731 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180518790(longlong param_1,HWND param_2) { int *piVar1; LPCRITICAL_SECTION lpCriticalSection; double dVar2; int cy; DWORD DVar3; undefined8 uVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; int iVar10; int iVar11; undefined1 auStackY_188 [32]; undefined8 *local_148; double local_140; int local_138; int iStack_134; int iStack_130; int iStack_12c; undefined8 *local_120; tagRECT local_118; double local_108; HWND local_100; undefined **local_f8 [2]; tagRECT local_e8; double local_d8; HWND local_d0; undefined ***local_c0; undefined8 local_b8; LPCRITICAL_SECTION local_b0; undefined1 local_a8 [8]; undefined8 uStack_a0; tagRECT local_70; tagRECT local_60; ulonglong local_50; local_b8 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStackY_188; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x300); local_b0 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); uVar4 = FUN_180518400(); plVar5 = (longlong *)FUN_18051c1b0(uVar4,param_2); *plVar5 = param_1; if (*(int *)(param_1 + 0x350) == 0) { LOCK(); *(HWND *)(param_1 + 0x348) = param_2; UNLOCK(); if (*(longlong *)(param_1 + 0x238) != 0) { FUN_1804de690(&local_148); GetWindowRect(param_2,&local_70); GetClientRect(param_2,&local_60); local_138 = local_70.left; iStack_134 = local_70.top; iVar10 = local_70.right - local_70.left; iVar11 = local_70.bottom - local_70.top; uStack_a0 = CONCAT44(iVar11,iVar10); iStack_130 = iVar10; iStack_12c = iVar11; if (DAT_182673700 == 0) { local_140 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_140); } lVar6 = FUN_18133d8f0(*(undefined8 *)(DAT_182673700 + 0x78),local_a8,1); local_120 = local_148; dVar2 = *(double *)(lVar6 + 0x30); if (local_148 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = local_148[2]; } local_140 = (double)*(int *)(lVar6 + 0x28) * dVar2 + DAT_1824c4520; cy = 0x96; if (0x96 < iVar11) { cy = iVar11; } iVar11 = 0x96; if (0x96 < iVar10) { iVar11 = iVar10; } SetWindowPos(param_2,(HWND)0x0,local_70.left,local_70.top,iVar11 + local_140._0_4_,cy,0x214); puVar9 = local_120; if (local_120 != (undefined8 *)0x0) { LOCK(); *(int *)(local_120 + 1) = *(int *)(local_120 + 1) + 1; UNLOCK(); puVar9 = local_148; } local_118.left = local_60.left; local_118.top = local_60.top; local_118.right = local_60.right; local_118.bottom = local_60.bottom; local_108 = dVar2; local_100 = param_2; lVar6 = FUN_1812a7550(); DVar3 = GetCurrentThreadId(); if ((ulonglong)DVar3 == *(ulonglong *)(lVar6 + 0x10)) { FUN_180518a90(&local_120); } else { puVar7 = (undefined8 *)0x0; if (puVar9 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar9 + 1) = *(int *)(puVar9 + 1) + 1; UNLOCK(); puVar7 = local_148; } local_f8[0] = std::_Func_impl_no_alloc<,void>:: vftable; puVar8 = (undefined8 *)0x0; if (puVar7 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar7 + 1) = *(int *)(puVar7 + 1) + 1; UNLOCK(); puVar8 = local_148; } local_e8.left = local_118.left; local_e8.top = local_118.top; local_e8.right = local_118.right; local_e8.bottom = local_118.bottom; local_c0 = local_f8; puVar9 = (undefined8 *)0x0; local_d8 = dVar2; local_d0 = param_2; if (puVar8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar8 + 1); iVar10 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); puVar9 = local_148; if (iVar10 == 1) { (**(code **)*local_148)(local_148,1); } } FUN_1812a7460(local_f8); } if (local_120 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_120 + 1); iVar10 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); puVar9 = local_148; if (iVar10 == 1) { (**(code **)*local_120)(local_120,1); puVar9 = local_148; } } if (puVar9 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar9 + 1); iVar10 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar10 == 1) { (**(code **)*local_148)(local_148,1); } } } } else { EndDialog(param_2,0); } LeaveCriticalSection(lpCriticalSection); } ############ FUN_ 18051c1b0 size=546 ############ ulonglong * FUN_18051c1b0(longlong param_1,ulonglong param_2) { longlong *plVar1; void *_Memory; uint uVar2; int iVar3; ulonglong *puVar4; undefined8 *puVar5; ulonglong uVar6; ulonglong *puVar7; longlong lVar8; undefined4 uVar9; longlong lVar10; undefined8 *puVar11; undefined8 *local_38; undefined8 local_30; plVar1 = (longlong *)(param_1 + 8); iVar3 = (int)(param_2 % (ulonglong)(longlong)*(int *)(param_1 + 0x14)); puVar7 = *(ulonglong **)((longlong)iVar3 * 8 + *plVar1); for (puVar4 = puVar7; puVar4 != (ulonglong *)0x0; puVar4 = (ulonglong *)puVar4[2]) { if (*puVar4 == param_2) { return puVar4 + 1; } } puVar4 = (ulonglong *)FUN_1811316e0(0x18); puVar4[1] = 0; *puVar4 = param_2; puVar4[2] = (ulonglong)puVar7; if (-1 < iVar3) { if (iVar3 < *(int *)(param_1 + 0x14)) { *(ulonglong **)((longlong)iVar3 * 8 + *plVar1) = puVar4; } else { FUN_18047e060(plVar1,*(int *)(param_1 + 0x14) + 1); iVar3 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar3 + 1; *(ulonglong **)(*plVar1 + (longlong)iVar3 * 8) = puVar4; } } *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + 1; if ((*(int *)(param_1 + 0x14) * 3) / 2 < *(int *)(param_1 + 0x18)) { puVar5 = (undefined8 *)0x0; uVar2 = *(int *)(param_1 + 0x14) * 2; uVar6 = (ulonglong)uVar2; local_38 = (undefined8 *)0x0; local_30 = 0; puVar11 = puVar5; if (0 < (int)uVar2) { FUN_18047e060(&local_38); puVar11 = local_38; iVar3 = local_30._4_4_; if (local_30._4_4_ != 0) { memmove(local_38 + (int)uVar2,local_38,(longlong)local_30._4_4_ << 3); } puVar5 = puVar11; if (0 < (int)uVar2) { do { *puVar5 = 0; uVar6 = uVar6 - 1; puVar5 = puVar5 + 1; } while (uVar6 != 0); } puVar5 = (undefined8 *)(ulonglong)(iVar3 + uVar2); local_30 = CONCAT44(iVar3 + uVar2,(undefined4)local_30); } uVar9 = SUB84(puVar5,0); iVar3 = *(int *)(param_1 + 0x14) + -1; lVar8 = (longlong)iVar3; if (-1 < iVar3) { do { puVar7 = *(ulonglong **)(*plVar1 + lVar8 * 8); if (puVar7 != (ulonglong *)0x0) { do { puVar4 = (ulonglong *)puVar7[2]; iVar3 = (int)(*puVar7 % (ulonglong)(longlong)(int)uVar2); puVar7[2] = puVar11[iVar3]; if (-1 < iVar3) { if (iVar3 < (int)puVar5) { puVar11[iVar3] = puVar7; } else { FUN_18047e060(&local_38); lVar10 = (longlong)local_30._4_4_; puVar5 = (undefined8 *)(ulonglong)(local_30._4_4_ + 1U); local_30 = CONCAT44(local_30._4_4_ + 1U,(undefined4)local_30); local_38[lVar10] = puVar7; puVar11 = local_38; } } puVar7 = puVar4; } while (puVar4 != (ulonglong *)0x0); } uVar9 = SUB84(puVar5,0); lVar8 = lVar8 + -1; } while (-1 < lVar8); } _Memory = (void *)*plVar1; *plVar1 = (longlong)puVar11; *(undefined4 *)(param_1 + 0x10) = (undefined4)local_30; *(undefined4 *)(param_1 + 0x14) = uVar9; /* WARNING: Subroutine does not return */ free(_Memory); } return puVar4 + 1; } ############ FUN_ 180519350 size=520 ############ undefined8 * FUN_180519350(undefined8 *param_1,longlong param_2,undefined4 param_3,ulonglong param_4) { undefined1 auVar1 [16]; char *pcVar2; longlong lVar3; char *pcVar4; char *pcVar5; ulonglong local_res20; ulonglong uVar6; longlong lVar7; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = juce::FileChooser::Native::vftable; param_1[0x16] = juce::FileChooser::Native::vftable; param_1[0x17] = param_2; local_res20 = param_4; local_res20 = FUN_1811316e0(0x358); lVar7 = param_2 + 8; uVar6 = param_2 + 0x10; lVar3 = FUN_1805170d0(local_res20,param_1,param_3); param_1[0x18] = lVar3; if (lVar3 != 0) { LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); } if (DAT_182673700 == 0) { local_res20 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res20); } pcVar2 = (char *)**(undefined8 **)(DAT_182673700 + 0x78); for (pcVar4 = pcVar2; (pcVar5 = pcVar2, pcVar4 != pcVar2 + (longlong)*(int *)((longlong)*(undefined8 **)(DAT_182673700 + 0x78) + 0xc) * 0x40 && (pcVar5 = pcVar4, *pcVar4 == '\0')); pcVar4 = pcVar4 + 0x40) { } auVar1 = *(undefined1 (*) [16])(pcVar5 + 0x14); FUN_18134bfe0(param_1,((int)((auVar1._8_4_ >> 0x1f & 3U) + auVar1._8_4_) >> 2) + auVar1._0_4_, auVar1._4_4_ + ((int)(auVar1._12_4_ + (auVar1._12_4_ >> 0x1f & 3U)) >> 2),0, uVar6 & 0xffffffff00000000,param_2,lVar7); FUN_18134bd50(param_1,1); local_res20 = local_res20 & 0xffffffffffffff00; EnumWindows(FUN_1812c6400,(LPARAM)&local_res20); FUN_18134b0f0(param_1,local_res20 & 0xff); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,0,0); return param_1; } ############ FUN_ 18051ec70 size=103 ############ undefined8 FUN_18051ec70(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130,param_2,param_3,param_4,0xfffffffffffffffe); DAT_182673700 = FUN_18133c6c0(uVar1); } FUN_18051ffe0(param_1,*(undefined4 *)(DAT_182673700 + 0xc0),param_2); return param_1; } ############ FUN_ 180521630 size=364 ############ void FUN_180521630(longlong param_1) { char cVar1; undefined8 *puVar2; undefined8 uVar3; undefined4 uVar4; undefined4 local_c8; undefined4 uStack_c4; undefined8 uStack_c0; undefined8 local_b8; undefined4 uStack_b0; undefined4 uStack_ac; undefined4 local_a8; undefined4 uStack_a4; undefined8 uStack_a0; undefined4 local_98; undefined4 uStack_94; undefined4 uStack_90; undefined4 uStack_8c; undefined8 local_88; undefined8 local_78; undefined8 uStack_70; undefined8 local_68; longlong local_58 [7]; longlong *local_20; local_88 = 0xfffffffffffffffe; local_20 = (longlong *)0x0; cVar1 = *(char *)(param_1 + 0x18); if (*(int *)(param_1 + 0x14) != 0) { local_a8 = CONCAT22(local_a8._2_2_,0xf); uStack_a0 = 0; local_98 = 1; uStack_94 = 0xffffffff; uStack_90 = 1; uVar4 = 1; local_c8 = 1; local_b8 = 0; uStack_c0 = FUN_1812c4b40(); if ((DAT_182673b10 == (undefined8 *)0x0) && (DAT_18267ab71 == '\0')) { DAT_18267ab71 = 1; puVar2 = (undefined8 *)FUN_1811316e0(0x100); memset(puVar2,0,0x100); FUN_1812a7230(puVar2); *puVar2 = juce::DragAndDropHelpers::ThreadPoolHolder::vftable; FUN_18122abb0(puVar2 + 1,1); DAT_18267ab71 = '\0'; DAT_182673b10 = puVar2; } puVar2 = DAT_182673b10; uVar3 = FUN_1811316e0(0xe0); local_78 = CONCAT44(uStack_c4,local_c8); uStack_70 = uStack_c0; local_68 = local_b8; local_c8 = local_a8; uStack_c4 = uStack_a4; uStack_c0 = uStack_a0; local_b8 = CONCAT44(uStack_94,local_98); uStack_b0 = uStack_90; uStack_ac = uStack_8c; if (cVar1 != '\0') { uVar4 = 3; } uVar3 = FUN_180516d60(uVar3,&local_c8,&local_78,uVar4,local_58); FUN_18122a750(puVar2 + 1,uVar3,1); if (local_20 != (longlong *)0x0) { (**(code **)(*local_20 + 0x20)) (local_20,CONCAT71((int7)((ulonglong)local_58 >> 8),local_20 != local_58)); } } return; } ############ FUN_ 1812c4770 size=506 ############ undefined8 FUN_1812c4770(undefined8 *param_1,undefined8 param_2,longlong *param_3) { longlong *plVar1; longlong lVar2; HGLOBAL hMem; LPVOID pvVar3; undefined8 *puVar4; undefined8 uVar5; undefined4 local_78; undefined4 uStack_74; HGLOBAL pvStack_70; undefined8 local_68; undefined4 uStack_60; undefined4 uStack_5c; undefined8 local_58; HGLOBAL pvStack_50; undefined8 local_48; undefined4 local_38; undefined4 uStack_34; undefined8 uStack_30; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; if (*(char *)*param_1 == '\0') { plVar1 = (longlong *)param_3[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_3); param_3[7] = 0; } uVar5 = 0; } else { uStack_30 = 0; local_28 = 1; uStack_24 = 0xffffffff; uStack_20 = 1; local_78 = 1; local_68 = 0; lVar2 = FUN_18049d580(); hMem = GlobalAlloc(0x42,lVar2 + 2U); pvStack_70 = hMem; pvVar3 = GlobalLock(hMem); FUN_18122f5a0(param_1,pvVar3,lVar2 + 2U); local_38 = CONCAT22(local_38._2_2_,0xd); GlobalUnlock(hMem); if ((DAT_182673b10 == (undefined8 *)0x0) && (DAT_18267ab71 == '\0')) { DAT_18267ab71 = 1; puVar4 = (undefined8 *)FUN_1811316e0(0x100); memset(puVar4,0,0x100); FUN_1812a7230(puVar4); *puVar4 = juce::DragAndDropHelpers::ThreadPoolHolder::vftable; FUN_18122abb0(puVar4 + 1,1); DAT_18267ab71 = '\0'; DAT_182673b10 = puVar4; } puVar4 = DAT_182673b10; uVar5 = FUN_1811316e0(0xe0); local_58 = CONCAT44(uStack_74,local_78); pvStack_50 = pvStack_70; local_48 = local_68; local_78 = local_38; uStack_74 = uStack_34; pvStack_70 = (HGLOBAL)uStack_30; local_68 = CONCAT44(uStack_24,local_28); uStack_60 = uStack_20; uStack_5c = uStack_1c; uVar5 = FUN_180516d60(uVar5,&local_78,&local_58,3,param_3); FUN_18122a750(puVar4 + 1,uVar5,1); plVar1 = (longlong *)param_3[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_3); param_3[7] = 0; } uVar5 = 1; } return uVar5; } ############ FUN_ 180522350 size=222 ############ undefined8 * FUN_180522350(longlong *param_1) { longlong lVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x50); *puVar2 = std::_Func_impl_no_alloc<,void>::vftable; lVar1 = *param_1; puVar2[1] = lVar1; if (lVar1 != 0) { LOCK(); *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; UNLOCK(); } puVar2[2] = 0; puVar2[3] = 0; FUN_18048c4c0(puVar2 + 2,param_1[1],*(undefined4 *)((longlong)param_1 + 0x14)); lVar1 = param_1[3]; puVar2[4] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } puVar2[5] = param_1[4]; puVar2[6] = 0; puVar2[7] = 0; FUN_18048c4c0(puVar2 + 6,param_1[5],*(undefined4 *)((longlong)param_1 + 0x34)); lVar1 = param_1[7]; puVar2[8] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } puVar2[9] = param_1[8]; return puVar2; } ############ FUN_ 181329c90 size=223 ############ longlong FUN_181329c90(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong lVar2; undefined8 uVar3; longlong lVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; FUN_18051c520(param_1 + 0x20); lVar4 = 0; if (*(int *)(param_1 + 0x28) == 0) { *(undefined4 *)(param_1 + 0x28) = 0; if (*(longlong *)(param_1 + 0x78) != 0) { puVar1 = *(undefined8 **)(param_1 + 0x78); *(undefined8 *)(param_1 + 0x78) = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } if ((*(char *)(param_1 + 0x30) == '\0') || ((((param_2 & 0xffffffff) >> 2 & 1) != 0 && ((param_2 >> 3 & 1) != 0)))) { uVar3 = FUN_1811316e0(0xc08); lVar4 = FUN_1804f36a0(uVar3,param_1,param_2 & 0xffffffff,param_4,uVar5); } else { uVar5 = FUN_1811316e0(200); lVar2 = FUN_180519350(uVar5,param_1,param_2 & 0xffffffff); if (lVar2 != 0) { lVar4 = lVar2 + 0xb0; } } return lVar4; } /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x20)); } ############ FUN_ 1805278e0 size=248 ############ undefined8 FUN_1805278e0(longlong param_1,undefined8 param_2) { longlong lVar1; undefined8 uVar2; longlong local_res8 [2]; longlong local_res18; longlong local_res20; ulonglong in_stack_ffffffffffffffb8; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; if (((*(byte *)(param_1 + 0x38) & 1) == 0) && ((*(byte *)(param_1 + 0x38) & 2) == 0)) { lVar1 = __RTDynamicCast(param_2,0,&juce::UndoableAction::RTTI_Type_Descriptor, &juce::ValueTree::SharedObject::SetPropertyAction::RTTI_Type_Descriptor, in_stack_ffffffffffffffb8 & 0xffffffff00000000); if ((lVar1 != 0) && (*(longlong *)(lVar1 + 8) == *(longlong *)(param_1 + 8))) { local_res18 = *(longlong *)(param_1 + 0x10); local_res20 = *(longlong *)(lVar1 + 0x10); if ((local_res20 == local_res18) && ((*(byte *)(lVar1 + 0x38) & 3) == 0)) { uVar2 = FUN_1811316e0(0x48); local_res8[0] = *(longlong *)(param_1 + 8); LOCK(); *(int *)(local_res8[0] + 8) = *(int *)(local_res8[0] + 8) + 1; UNLOCK(); uVar3 = FUN_180527710(uVar2,local_res8,param_1 + 0x10,lVar1 + 0x18,param_1 + 0x28,0,0,0, uVar3,uVar2); return uVar3; } } } return 0; } ############ FUN_ 180533980 size=505 ############ void FUN_180533980(longlong param_1) { undefined8 *puVar1; int iVar2; int iVar3; undefined8 *puVar4; void *pvVar5; uint uVar6; longlong lVar7; lVar7 = 8; do { puVar4 = (undefined8 *)FUN_1811316e0(0xe0); *puVar4 = AudioProcessingModule::vftable; puVar4[1] = 0; *(undefined4 *)(puVar4 + 2) = 0x3f800000; *(undefined8 *)((longlong)puVar4 + 0x24) = 0; *(undefined4 *)((longlong)puVar4 + 0x2c) = 0x3f800000; *(undefined4 *)(puVar4 + 6) = 2; *(undefined4 *)((longlong)puVar4 + 0x44) = 1; puVar4[9] = 0; puVar4[10] = 0; *(undefined4 *)(puVar4 + 0xb) = 0x3f800000; *(undefined4 *)((longlong)puVar4 + 0x1c) = 0x3f800000; *(undefined4 *)((longlong)puVar4 + 0x14) = 0x3f800000; *(undefined4 *)(puVar4 + 4) = 0x3f800000; *(undefined4 *)(puVar4 + 3) = 0x3f800000; puVar1 = puVar4 + 0xc; *puVar1 = juce::ChangeBroadcaster::vftable; FUN_1812a59f0(puVar4 + 0xd); puVar4[0xd] = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; puVar4[0x10] = 0; puVar4[0x11] = 0; *(undefined1 *)(puVar4 + 0x12) = 0; puVar4[0xf] = puVar1; *puVar4 = IIRFilterExtended::vftable; *puVar1 = IIRFilterExtended::vftable; puVar4[0x17] = 0; puVar4[0x18] = 0; puVar4[0x19] = 0; puVar4[0x1a] = 0; puVar4[0x1b] = 0; puVar1 = puVar4 + 0x13; if (((ulonglong)puVar1 & 0xf) == 0) { *(undefined4 *)puVar1 = 0; *(undefined4 *)((longlong)puVar4 + 0x9c) = 0; *(undefined4 *)(puVar4 + 0x14) = 0; *(undefined4 *)((longlong)puVar4 + 0xa4) = 0; } else { *(undefined4 *)puVar1 = 0; *(undefined4 *)((longlong)puVar4 + 0x9c) = 0; *(undefined4 *)(puVar4 + 0x14) = 0; *(undefined4 *)((longlong)puVar4 + 0xa4) = 0; } puVar1 = puVar4 + 0x15; if (((ulonglong)puVar1 & 0xf) == 0) { *(undefined4 *)puVar1 = 0; *(undefined4 *)((longlong)puVar4 + 0xac) = 0; *(undefined4 *)(puVar4 + 0x16) = 0; *(undefined4 *)((longlong)puVar4 + 0xb4) = 0; } else { *(undefined4 *)puVar1 = 0; *(undefined4 *)((longlong)puVar4 + 0xac) = 0; *(undefined4 *)(puVar4 + 0x16) = 0; *(undefined4 *)((longlong)puVar4 + 0xb4) = 0; } iVar2 = *(int *)(param_1 + 0x7c); iVar3 = iVar2 + 1; if ((int)*(uint *)(param_1 + 0x78) < iVar3) { if (iVar3 < 0) { iVar3 = iVar2 + 2; } uVar6 = iVar2 + 9 + (iVar3 >> 1) & 0xfffffff8; if (*(uint *)(param_1 + 0x78) != uVar6) { pvVar5 = *(void **)(param_1 + 0x70); if ((int)uVar6 < 1) { /* WARNING: Subroutine does not return */ free(pvVar5); } if (pvVar5 == (void *)0x0) { pvVar5 = malloc((longlong)(int)uVar6 * 8); *(void **)(param_1 + 0x70) = pvVar5; } else { pvVar5 = realloc(pvVar5,(longlong)(int)uVar6 * 8); *(void **)(param_1 + 0x70) = pvVar5; } } *(uint *)(param_1 + 0x78) = uVar6; } iVar3 = *(int *)(param_1 + 0x7c); *(int *)(param_1 + 0x7c) = iVar3 + 1; *(undefined8 **)(*(longlong *)(param_1 + 0x70) + (longlong)iVar3 * 8) = puVar4; lVar7 = lVar7 + -1; } while (lVar7 != 0); return; } ############ FUN_ 180533b80 size=504 ############ void FUN_180533b80(longlong param_1) { longlong *plVar1; int iVar2; float fVar3; double dVar4; void *_Dst; int iVar5; longlong lVar6; longlong lVar7; double dVar8; plVar1 = (longlong *)(param_1 + 0x60); FUN_180533240(plVar1); lVar7 = 0; if (*(int *)(param_1 + 0x68) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar1); } *(undefined4 *)(param_1 + 0x68) = 0; dVar4 = DAT_1824c4390; dVar8 = DAT_1824c41e8; fVar3 = DAT_1824c3cc8; _Dst = (void *)FUN_1811316e0(0x828); memset(_Dst,0,0x828); _eh_vector_constructor_iterator_(_Dst,0x80,0x10,FUN_180534680,_guard_check_icall); *(undefined4 *)((longlong)_Dst + 0x800) = 8; *(undefined8 *)((longlong)_Dst + 0x804) = 0x447a0000; *(undefined4 *)((longlong)_Dst + 0x80c) = 0x3f34fdf4; *(undefined1 *)((longlong)_Dst + 0x810) = 0; *(undefined4 *)((longlong)_Dst + 0x814) = 1; *(undefined8 *)((longlong)_Dst + 0x818) = 0; *(undefined8 *)((longlong)_Dst + 0x820) = 0; iVar2 = *(int *)(param_1 + 0x6c); iVar5 = iVar2 + 1; if (*(int *)(param_1 + 0x68) < iVar5) { if (iVar5 < 0) { iVar5 = iVar2 + 2; } FUN_18047cb30(plVar1,iVar2 + 9 + (iVar5 >> 1) & 0xfffffff8); } iVar5 = *(int *)(param_1 + 0x6c); *(int *)(param_1 + 0x6c) = iVar5 + 1; *(void **)(*plVar1 + (longlong)iVar5 * 8) = _Dst; dVar8 = pow((double)(fVar3 * 1.0),dVar8); lVar6 = lVar7; if (*(int *)(param_1 + 0x6c) != 0) { lVar6 = *(longlong *)*plVar1; } *(float *)(lVar6 + 0x804) = (float)(dVar8 * dVar4); lVar6 = lVar7; if (*(int *)(param_1 + 0x6c) != 0) { lVar6 = *(longlong *)*plVar1; } *(undefined4 *)(lVar6 + 0x80c) = 0x3f333333; if (*(int *)(param_1 + 0x6c) != 0) { lVar7 = *(longlong *)*plVar1; } *(undefined4 *)(lVar7 + 0x808) = 0; iVar5 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar5 != 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } ############ FUN_ 1812c06e0 size=392 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001812c07e6) */ /* WARNING: Removing unreachable block (ram,0x0001812c0813) */ /* WARNING: Removing unreachable block (ram,0x0001812c081a) */ /* WARNING: Removing unreachable block (ram,0x0001812c0824) */ /* WARNING: Removing unreachable block (ram,0x0001812c083b) */ void FUN_1812c06e0(undefined8 param_1,undefined8 param_2,longlong *param_3) { longlong lVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; longlong lVar5; undefined8 *puVar6; void **ppvVar7; bool bVar8; undefined1 auStack_b8 [32]; undefined8 *local_98; void *local_90; undefined8 local_88; undefined8 local_80; undefined8 local_78; undefined8 local_70; void *local_68 [5]; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_b8; local_98 = (undefined8 *)((ulonglong)local_98 & 0xffffffff00000000); puVar6 = (undefined8 *)FUN_1811316e0(0x90); lVar5 = param_3[6]; *puVar6 = param_1; lVar1 = *param_3; puVar6[1] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } bVar8 = (char)lVar5 == '\0'; local_98 = puVar6; if (bVar8) { local_90 = (void *)0x0; ppvVar7 = &local_90; local_78 = 4; local_70 = 0xffffffff; local_88 = 0; local_80 = 0; } else { FUN_18123db10(local_68,param_3 + 1); ppvVar7 = local_68; } puVar6[2] = *ppvVar7; *ppvVar7 = (void *)0x0; puVar6[5] = ppvVar7[3]; *(undefined4 *)(puVar6 + 6) = *(undefined4 *)(ppvVar7 + 4); *(undefined1 *)((longlong)puVar6 + 0x34) = *(undefined1 *)((longlong)ppvVar7 + 0x24); uVar2 = *(undefined4 *)((longlong)ppvVar7 + 0xc); uVar3 = *(undefined4 *)(ppvVar7 + 2); uVar4 = *(undefined4 *)((longlong)ppvVar7 + 0x14); *(undefined4 *)(puVar6 + 3) = *(undefined4 *)(ppvVar7 + 1); *(undefined4 *)((longlong)puVar6 + 0x1c) = uVar2; *(undefined4 *)(puVar6 + 4) = uVar3; *(undefined4 *)((longlong)puVar6 + 0x24) = uVar4; if (!bVar8) { /* WARNING: Subroutine does not return */ free(local_68[0]); } /* WARNING: Subroutine does not return */ free(local_90); } ############ FUN_ 181352ec0 size=137 ############ undefined8 * FUN_181352ec0(undefined8 *param_1,longlong *param_2) { longlong lVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x50); *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::ValueTree::SharedObject::vftable; lVar1 = *param_2; puVar2[2] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } puVar2[3] = 0; puVar2[4] = 0; puVar2[5] = 0; puVar2[6] = 0; puVar2[7] = 0; puVar2[8] = 0; puVar2[9] = 0; *param_1 = puVar2; LOCK(); *(int *)(puVar2 + 1) = *(int *)(puVar2 + 1) + 1; UNLOCK(); param_1[1] = 0; param_1[2] = 0; return param_1; } ############ FUN_ 1805c4280 size=3417 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001805c5081) */ void FUN_1805c4280(undefined8 param_1,longlong param_2,longlong param_3,longlong param_4) { longlong lVar1; int iVar2; bool bVar3; char cVar4; int *piVar5; int *piVar6; undefined8 uVar7; int *piVar8; longlong lVar9; undefined8 *puVar10; undefined8 *puVar11; int *piVar12; undefined1 auStack_cd8 [32]; longlong local_cb8; char local_ca8; undefined1 local_ca7; undefined1 local_ca6; undefined1 local_ca5; undefined1 local_ca4; undefined1 local_ca3; undefined1 local_ca2; undefined1 local_ca1; longlong local_ca0; int *local_c98; undefined8 local_c90; undefined **local_c88; undefined1 local_c80; undefined8 local_c78; undefined8 uStack_c70; undefined8 local_c68; longlong lStack_c60; undefined1 *local_c58; undefined1 *puStack_c50; int local_c48 [2]; undefined8 local_c40; undefined4 local_c38; undefined1 local_c34; longlong local_c28; longlong local_c20; char *local_c18; undefined4 local_c10 [2]; undefined4 local_c08 [4]; undefined4 local_bf8 [2]; undefined4 local_bf0 [2]; char *local_be8; int *local_be0; longlong local_bd8; longlong local_bd0; longlong lStack_bc8; longlong local_bc0; undefined8 local_bb8; undefined1 local_bb0 [8]; longlong local_ba8; ulonglong local_ba0; longlong local_b98; undefined8 local_b90; longlong local_b88; char *local_b80; int *local_b78; char *local_b70; undefined **local_b68; longlong local_b60; longlong local_b58; undefined8 uStack_b50; longlong local_b48; longlong lStack_b40; undefined8 local_b38; undefined8 local_b30; undefined1 local_b28; longlong local_b18; longlong lStack_b10; undefined8 local_b08; undefined **local_af8; undefined4 local_af0; undefined4 local_aec; undefined8 local_ae8; undefined4 local_ae0; int *local_ad8; int *piStack_ad0; undefined8 local_ac8; undefined4 local_ac0; undefined1 local_abc; longlong local_ab0; char *local_aa8; char *local_aa0 [2]; longlong local_a90; char *local_a88; longlong local_a80; char *local_a78 [6]; undefined8 local_a48; undefined **local_a28; undefined4 local_a20; undefined2 local_a1c; undefined4 local_a18; undefined1 local_a14; undefined1 local_a10 [16]; undefined8 local_a00; undefined8 local_9f8; undefined1 local_9f0 [16]; undefined8 local_9e0; undefined8 local_9d8; undefined8 local_9d0; undefined8 local_9c8; undefined2 local_9c0; undefined1 local_9be; undefined1 local_9b8 [8]; int local_9b0; int local_9ac; undefined1 local_9a8; undefined4 local_970; undefined2 local_928; ulonglong local_40; local_a48 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_cd8; piVar8 = (int *)0x0; *(undefined4 *)(param_4 + 8) = 0; puVar11 = (undefined8 *)(param_4 + 0x50); *(undefined8 *)(param_4 + 0x60) = 0; if (0xf < *(ulonglong *)(param_4 + 0x68)) { puVar11 = (undefined8 *)*puVar11; } *(undefined1 *)puVar11 = 0; *(undefined8 *)(param_3 + 0x28) = *(undefined8 *)(param_3 + 0x20); *(undefined8 *)(param_3 + 0x40) = *(undefined8 *)(param_3 + 0x38); *(undefined1 *)(param_3 + 0x88) = 0; puVar11 = *(undefined8 **)(param_3 + 0x78); local_bd8 = param_3; local_ca0 = param_4; for (puVar10 = *(undefined8 **)(param_3 + 0x70); local_ba8 = param_2, puVar10 != puVar11; puVar10 = puVar10 + 0x87) { (**(code **)*puVar10)(puVar10,0); param_2 = local_ba8; } *(undefined8 *)(param_3 + 0x78) = *(undefined8 *)(param_3 + 0x70); if (*(longlong *)(param_2 + 0x10) - *(longlong *)(param_2 + 8) != 0x20) { local_c98 = (int *)FUN_1811316e0(0x18); piVar5 = piVar8; if (local_c98 != (int *)0x0) { piVar5 = (int *)FUN_1805a48c0(local_c98,"Bad randomData size ($d). This should be 32."); } piVar6 = (int *)FUN_1811316e0(0x18); local_c98 = piVar6; if (piVar6 != (int *)0x0) { FUN_1805a48c0(piVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)piVar6 = pace::PaceLocationInfoFormatter::vftable; piVar8 = piVar6; } local_b88 = *(longlong *)(param_2 + 0x10) - *(longlong *)(param_2 + 8); FUN_1805b2520(*(undefined8 *)(piVar5 + 2),&local_b88); local_c28 = CONCAT44(local_c28._4_4_,0xc70); local_b80 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(piVar8 + 2),&local_b80); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,&local_c28); } local_af8 = pace::eden::thrift::fusion::DynamicCryptoLicenseData::vftable; local_ae8 = 0; local_ad8 = (int *)0x0; piStack_ad0 = (int *)0x0; local_ac8 = 0; local_ac0 = 0; local_abc = 0; local_af0 = 1; local_aec = 1; FUN_1805de600(param_1,&local_af8); piVar5 = piStack_ad0; local_bd0 = 0; lStack_bc8 = 0; local_bc0 = 0; local_be0 = piStack_ad0; bVar3 = true; piVar6 = local_ad8; while( true ) { local_b78 = piVar6; if ((!bVar3) || (piVar6 == piVar5)) break; bVar3 = false; while (!bVar3) { FUN_1805b5490(local_9b8); local_9b0 = piVar6[4]; local_9ac = piVar6[5]; local_9a8 = (undefined1)piVar6[6]; local_970 = local_ae0; local_928 = 1; if (local_bc0 == lStack_bc8) { FUN_1805b0190(&local_bd0,lStack_bc8); } else { FUN_1805b53c0(lStack_bc8,local_9b8); lStack_bc8 = lStack_bc8 + 0xa8; } FUN_1805b7ad0(local_9b8); bVar3 = true; } piVar6 = piVar6 + 0x3a; } lVar9 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(lStack_bc8 - local_bd0),8) + (lStack_bc8 - local_bd0); if (lVar9 >> 7 != lVar9 >> 0x3f) { local_a28 = pace::eden::thrift::pub::FindAuthOptions::vftable; local_a20 = 1; local_a1c = 0; local_a14 = 0; local_a00 = 0; local_9f8 = 0xf; local_a10[0] = 0; FUN_1805a6cb0(local_a10,&DAT_181baf991,0); local_9e0 = 0; local_9d8 = 0xf; local_9f0[0] = 0; FUN_1805a6cb0(local_9f0,&DAT_181baf991,0); local_9c8 = 0; local_9c0 = 0; local_9be = 0; local_a18 = 0; local_9d0 = local_ae8; local_b18 = 0; lStack_b10 = 0; local_b08 = 0; FUN_1805bdb50(&local_bb8,0); local_b90 = 1; local_c98 = (int *)FUN_1806a4f70(local_bb8); local_ba0 = (ulonglong)local_c98; local_c18 = (char *)FUN_1806a35e0(local_bb8); local_cb8 = param_3 + 0x358; local_be8 = local_c18; FUN_18069bc20(local_bb8,&local_bd0,&local_a28,&local_b18); lVar9 = local_b18; local_b98 = local_b18; local_c20 = (lStack_b10 - local_b18) / 0x2f0; if (local_c20 == 0) { local_be0 = (int *)FUN_1811316e0(0x18); if (local_be0 != (int *)0x0) { FUN_1805a48c0(local_be0,"No authorized licenses found."); } piVar5 = (int *)FUN_1811316e0(0x18); local_be0 = piVar5; if (piVar5 != (int *)0x0) { FUN_1805a48c0(piVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)piVar5 = pace::PaceLocationInfoFormatter::vftable; piVar8 = piVar5; } local_c90 = CONCAT44(local_c90._4_4_,0xcce); local_b70 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(piVar8 + 2),&local_b70); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,&local_c90); } local_c90 = 1; local_ab0 = lStack_b10; cVar4 = '\x01'; while( true ) { if ((cVar4 == '\0') || (lVar9 == local_ab0)) { FUN_1805b9860(local_bb0); FUN_1805bc0b0(&local_b18); FUN_1805b8040(&local_a28); FUN_1805b72a0(&local_bd0); local_af8 = pace::eden::thrift::fusion::DynamicCryptoLicenseData::vftable; FUN_1805b7370(&local_ad8); } local_c28 = lVar9; local_ca8 = '\0'; piVar5 = local_ad8 + 5; while ((piVar6 = piVar5 + -5, piVar12 = piVar8, piVar6 != piStack_ad0 && ((piVar5[-1] != *(int *)(*(longlong *)(lVar9 + 8) + 8) || ((iVar2 = *(int *)(*(longlong *)(lVar9 + 8) + 0xc), piVar12 = piVar6, *piVar5 != iVar2 && (((char)piVar5[1] == '\0' || (iVar2 != -1))))))))) { piVar5 = piVar5 + 0x3a; } if (piVar12 == (int *)0x0) { local_be0 = (int *)FUN_1811316e0(0x18); if (local_be0 != (int *)0x0) { FUN_1805a48c0(local_be0, "The DynamicCryptoLicenseData has no product information for the given AuthChain" ); } lVar9 = FUN_1805c0260(); local_c10[0] = 0xcea; local_aa8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar9 + 8),&local_aa8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_c10); } local_c88 = pace::eden::thrift::fusion::DynamicCryptoKeyExchangeInput::vftable; local_c78 = 0; uStack_c70 = 0; local_c68 = 0; lStack_c60 = 0; local_c58 = (undefined1 *)0x0; puStack_c50 = (undefined1 *)0x0; local_c48[0] = 3; local_c40 = 0; local_c38 = 0; local_c34 = 0; local_b68 = pace::eden::thrift::fusion::DynamicCryptoKeyExchangeOutput::vftable; local_b60 = 0; local_b58 = 0; uStack_b50 = 0; local_b48 = 0; lStack_b40 = 0; local_b38 = 0; local_b30 = 0; local_b28 = 0; local_c80 = *(undefined1 *)((longlong)piVar12 + 0x19); FUN_1805b9910(&local_c78,local_ba8 + 8); if ((ulonglong)((longlong)puStack_c50 - lStack_c60) < 7) { FUN_1805bbf80(&lStack_c60,7); } local_ca7 = 0x92; if (puStack_c50 == local_c58) { FUN_1805b0850(&lStack_c60,local_c58,&local_ca7); } else { *local_c58 = 0x92; local_c58 = local_c58 + 1; } local_ca6 = 0x75; if (puStack_c50 == local_c58) { FUN_1805b0850(&lStack_c60,local_c58,&local_ca6); } else { *local_c58 = 0x75; local_c58 = local_c58 + 1; } local_ca5 = 0xf6; if (puStack_c50 == local_c58) { FUN_1805b0850(&lStack_c60,local_c58,&local_ca5); } else { *local_c58 = 0xf6; local_c58 = local_c58 + 1; } local_ca4 = 0x1a; if (puStack_c50 == local_c58) { FUN_1805b0850(&lStack_c60,local_c58,&local_ca4); } else { *local_c58 = 0x1a; local_c58 = local_c58 + 1; } local_ca3 = 0xfe; if (puStack_c50 == local_c58) { FUN_1805b0850(&lStack_c60,local_c58,&local_ca3); } else { *local_c58 = 0xfe; local_c58 = local_c58 + 1; } local_ca2 = 0xd3; if (puStack_c50 == local_c58) { FUN_1805b0850(&lStack_c60,local_c58,&local_ca2); } else { *local_c58 = 0xd3; local_c58 = local_c58 + 1; } local_ca1 = 0x6b; if (puStack_c50 == local_c58) { FUN_1805b0850(&lStack_c60,local_c58,&local_ca1); } else { *local_c58 = 0x6b; local_c58 = local_c58 + 1; } local_c48[0] = piVar12[0x12]; FUN_1806995c0(local_bb8,lVar9,&local_c88,&local_b68); if (local_b30._4_1_ != '\0') { local_b70 = (char *)FUN_1811316e0(0x18); if (local_b70 != (char *)0x0) { FUN_1805a48c0(local_b70,"Location needs to be updated."); } lVar9 = FUN_1805c0260(); local_c08[0] = 0xd04; local_aa0[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar9 + 8),local_aa0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_c08); } if (local_c48[0] != (int)local_b30) { local_b78 = (int *)FUN_1811316e0(0x18); if (local_b78 != (int *)0x0) { piVar8 = (int *)FUN_1805a48c0(local_b78, "Requested algorithmId $d, but algorithmId %d was used."); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(piVar8 + 2),local_c48); } if (local_b58 - local_b60 != 0x20) break; if (lStack_b40 - local_b48 != 0x20) { local_b88 = FUN_1811316e0(0x18); if (local_b88 != 0) { piVar8 = (int *)FUN_1805a48c0(local_b88, "Bad Integral Domain Data size (%d). This should be 32."); } lVar9 = FUN_1805c0260(); local_a80 = lStack_b40 - local_b48; FUN_1805b2520(*(undefined8 *)(piVar8 + 2),&local_a80); local_bf0[0] = 0xd17; local_a78[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar9 + 8),local_a78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_bf0); } lVar1 = param_3 + 8; if ((local_ba0 & *(ulonglong *)(lVar9 + 0x68)) == 0) { if (((ulonglong)local_c18 & *(ulonglong *)(lVar9 + 0x68)) == 0) { FUN_1805b9910(lVar1,piVar12 + 0x20); FUN_1805b9910(param_3 + 0x50,piVar12 + 0x26); } else { FUN_1805b9910(lVar1,piVar12 + 0x2c); FUN_1805b9910(param_3 + 0x50,piVar12 + 0x32); } } else { FUN_1805b9910(lVar1,piVar12 + 0x14); FUN_1805b9910(param_3 + 0x50,piVar12 + 0x1a); } FUN_1805b9910(param_3 + 0x20,&local_b60); FUN_1805b9910(param_3 + 0x38,&local_b48); FUN_1805b9ea0(param_3 + 0x68,lVar9); FUN_1805b7e80(&local_b68); FUN_1805b7dc0(&local_c88); cVar4 = local_ca8; } local_b80 = (char *)FUN_1811316e0(0x18); if (local_b80 != (char *)0x0) { piVar8 = (int *)FUN_1805a48c0(local_b80,"Bad Exchange Data size (%d). This should be 32."); } lVar9 = FUN_1805c0260(); local_a90 = local_b58 - local_b60; FUN_1805b2520(*(undefined8 *)(piVar8 + 2),&local_a90); local_bf8[0] = 0xd11; local_a88 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar9 + 8),&local_a88); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_bf8); } local_c98 = (int *)FUN_1811316e0(0x18); if (local_c98 != (int *)0x0) { FUN_1805a48c0(local_c98,"The Pace Eden license data has no product information"); } piVar5 = (int *)FUN_1811316e0(0x18); local_c98 = piVar5; if (piVar5 != (int *)0x0) { FUN_1805a48c0(piVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)piVar5 = pace::PaceLocationInfoFormatter::vftable; piVar8 = piVar5; } local_c20 = CONCAT44(local_c20._4_4_,0xc90); local_be8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(piVar8 + 2),&local_be8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,&local_c20); } ############ FUN_ 1805b0190 size=694 ############ longlong FUN_1805b0190(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; ulonglong uVar12; ulonglong uVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar12 = *param_1; lVar5 = (param_2 - uVar12) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_2 - uVar12)),8); lVar7 = (lVar5 >> 7) - (lVar5 >> 0x3f); lVar5 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[1] - uVar12)),8) + (param_1[1] - uVar12); lVar5 = (lVar5 >> 7) - (lVar5 >> 0x3f); if (lVar5 == 0x186186186186186) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = lVar5 + 1; lVar5 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[2] - uVar12)),8) + (param_1[2] - uVar12); uVar6 = (lVar5 >> 7) - (lVar5 >> 0x3f); uVar12 = uVar13; if ((uVar6 <= 0x186186186186186 - (uVar6 >> 1)) && (uVar12 = (uVar6 >> 1) + uVar6, uVar12 < uVar13)) { uVar12 = uVar13; } uVar6 = uVar12 * 0xa8; lVar5 = lVar7; puVar14 = param_1; if (uVar12 < 0x186186186186187) { if (uVar6 < 0x1000) { if (uVar6 == 0) { uVar6 = 0; } else { uVar6 = FUN_1811316e0(uVar6); } goto LAB_1805b02d2; } } else { uVar6 = 0xffffffffffffffff; } uVar4 = uVar6 + 0x27; if (uVar4 <= uVar6) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar6 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar6 - 8) = lVar3; LAB_1805b02d2: lVar8 = lVar7 * 0xa8 + uVar6; lVar7 = lVar8 + 0xa8; lVar3 = lVar7; uVar11 = uVar6; FUN_1805b53c0(lVar8,param_3); uVar4 = param_1[1]; if (param_2 == uVar4) { uVar9 = uVar6; for (uVar11 = *param_1; uVar11 != uVar4; uVar11 = uVar11 + 0xa8) { FUN_1805b53c0(uVar9); uVar9 = uVar9 + 0xa8; } } else { FUN_1805bc3b0(param_1,*param_1,param_2,uVar6,uVar13,lVar5,lVar3,uVar11,puVar14,uVar15); FUN_1805bc3b0(param_1,param_2,param_1[1],lVar7); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[1]; for (; puVar10 != puVar1; puVar10 = puVar10 + 0x15) { (**(code **)*puVar10)(puVar10,0); } pvVar2 = (void *)*param_1; lVar5 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[2] - (longlong)pvVar2)) ,8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar5 >> 7) - (lVar5 >> 0x3f)) * 0xa8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar6; param_1[1] = uVar13 * 0xa8 + uVar6; param_1[2] = uVar12 * 0xa8 + uVar6; return lVar5 * 0xa8 + *param_1; } ############ FUN_ 1805b0850 size=311 ############ longlong FUN_1805b0850(longlong *param_1,void *param_2,undefined1 *param_3) { ulonglong uVar1; void *_Src; ulonglong uVar2; longlong lVar3; void *_Dst; ulonglong uVar4; void *_Dst_00; size_t _Size; longlong lVar5; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; lVar3 = *param_1; lVar5 = (longlong)param_2 - lVar3; if (param_1[1] - lVar3 == 0x7fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = (param_1[1] - lVar3) + 1; uVar2 = param_1[2] - lVar3; uVar4 = uVar1; if ((uVar2 <= 0x7fffffffffffffff - (uVar2 >> 1)) && (uVar4 = (uVar2 >> 1) + uVar2, uVar4 < uVar1)) { uVar4 = uVar1; } if (uVar4 < 0x1000) { if (uVar4 == 0) { _Dst_00 = (void *)0x0; } else { _Dst_00 = (void *)FUN_1811316e0(uVar4); } } else { uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar2); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } _Dst_00 = (void *)(lVar3 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)_Dst_00 - 8) = lVar3; } *(undefined1 *)((longlong)_Dst_00 + lVar5) = *param_3; _Src = (void *)*param_1; if (param_2 == (void *)param_1[1]) { _Size = param_1[1] - (longlong)_Src; _Dst = _Dst_00; param_2 = _Src; } else { memmove(_Dst_00,_Src,(longlong)param_2 - (longlong)_Src); _Dst = (void *)(lVar5 + 1 + (longlong)_Dst_00); _Size = param_1[1] - (longlong)param_2; } memmove(_Dst,param_2,_Size); FUN_1805bbe20(param_1,_Dst_00,uVar1,uVar4,uVar6); return *param_1 + lVar5; } ############ FUN_ 1805b49f0 size=268 ############ ulonglong * FUN_1805b49f0(ulonglong *param_1,longlong *param_2) { void *_Dst; longlong lVar1; ulonglong uVar2; ulonglong uVar3; size_t _Size; uVar3 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; uVar2 = param_2[1] - *param_2 >> 2; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar2 != 0) { if (0x3fffffffffffffff < uVar2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar2 = uVar2 * 4; if (uVar2 < 0x1000) { if (uVar2 != 0) { uVar3 = FUN_1811316e0(uVar2); } } else { uVar3 = uVar2 + 0x27; if (uVar3 <= uVar2) { uVar3 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar3); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar1 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar1; } *param_1 = uVar3; param_1[1] = uVar3; _Dst = (void *)*param_1; param_1[2] = (ulonglong)(uVar2 + (longlong)_Dst); _Size = param_2[1] - *param_2; memmove(_Dst,(void *)*param_2,_Size); param_1[1] = _Size + (longlong)_Dst; } return param_1; } ############ FUN_ 1805bbf80 size=176 ############ void FUN_1805bbf80(longlong *param_1,ulonglong param_2) { longlong lVar1; longlong lVar2; longlong lVar3; ulonglong uVar4; void *_Dst; lVar1 = param_1[1]; lVar2 = *param_1; if (param_2 < 0x1000) { if (param_2 == 0) { _Dst = (void *)0x0; } else { _Dst = (void *)FUN_1811316e0(param_2); } } else { uVar4 = param_2 + 0x27; if (uVar4 <= param_2) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } _Dst = (void *)(lVar3 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)_Dst - 8) = lVar3; } memmove(_Dst,(void *)*param_1,param_1[1] - *param_1); FUN_1805bbe20(param_1,_Dst,lVar1 - lVar2,param_2); return; } ############ FUN_ 1805bdb50 size=798 ############ /* WARNING: Removing unreachable block (ram,0x0001805bdd1f) */ /* WARNING: Removing unreachable block (ram,0x0001805bdd30) */ /* WARNING: Removing unreachable block (ram,0x0001805bdd47) */ /* WARNING: Removing unreachable block (ram,0x0001805bde31) */ /* WARNING: Removing unreachable block (ram,0x0001805bde42) */ /* WARNING: Removing unreachable block (ram,0x0001805bde59) */ undefined8 * FUN_1805bdb50(undefined8 *param_1,char param_2) { uint uVar1; undefined8 uVar2; undefined8 uVar3; longlong lVar4; HANDLE pvVar5; undefined8 *puVar6; uint *puVar7; longlong local_res18; char *local_res20; undefined8 local_68; undefined4 uStack_60; undefined4 uStack_5c; int *local_58; char local_50; undefined8 local_48; undefined8 local_40; undefined8 local_38; longlong local_30; uVar3 = 0; uVar2 = FUN_1805c2740(); FUN_1805b45f0(&local_58,uVar2); if (DAT_18265dd28 == 0) { local_res18 = FUN_1811316e0(0x1b0); if (local_res18 != 0) { uVar3 = FUN_180675cd0(local_res18); } local_68 = uVar3; FUN_1805aeea0(&uStack_60,uVar3); FUN_1805ae620(&local_68,uVar3,uVar3); uVar2 = local_68; if (param_2 == '\0') { FUN_1806afd50(local_68,0,2,0,0,0,0); } else { FUN_1806b10b0(); } uVar3 = FUN_1805c04c0(); FUN_18069ae50(uVar2,&DAT_18265dd28,uVar3,0); if (DAT_18265dd28 == 0) { local_res18 = FUN_1811316e0(0x18); if (local_res18 != 0) { FUN_1805a48c0(local_res18,&DAT_181baf991); } lVar4 = FUN_1805c0260(); local_res18 = CONCAT44(local_res18._4_4_,0x3b2); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(lVar4 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res18); } *param_1 = uVar2; param_1[1] = CONCAT44(uStack_5c,uStack_60); if ((local_50 != '\0') && (*local_58 = *local_58 + -1, *local_58 == 0)) { LOCK(); local_58[1] = 0; UNLOCK(); puVar7 = (uint *)(local_58 + 2); LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 + 0x80000000; UNLOCK(); if (((uVar1 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar1)) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 | 0x40000000; UNLOCK(); if ((uVar1 >> 0x1e & 1) == 0) { pvVar5 = (HANDLE)FUN_1805a9100(); SetEvent(pvVar5); } } } } else { lVar4 = FUN_1811316e0(0x1b0); if (lVar4 != 0) { puVar6 = (undefined8 *)FUN_1805c04c0(); local_38 = *puVar6; local_30 = puVar6[1]; if (local_30 != 0) { LOCK(); *(int *)(local_30 + 8) = *(int *)(local_30 + 8) + 1; UNLOCK(); } uVar3 = FUN_180674d00(lVar4,DAT_18265dd28,&local_38,0); } local_48 = uVar3; FUN_1805aeea0(&local_40,uVar3); FUN_1805ae620(&local_48,uVar3,uVar3); *param_1 = local_48; param_1[1] = local_40; if ((local_50 != '\0') && (*local_58 = *local_58 + -1, *local_58 == 0)) { LOCK(); local_58[1] = 0; UNLOCK(); puVar7 = (uint *)(local_58 + 2); LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 + 0x80000000; UNLOCK(); if (((uVar1 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar1)) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 | 0x40000000; UNLOCK(); if ((uVar1 >> 0x1e & 1) == 0) { pvVar5 = (HANDLE)FUN_1805a9100(); SetEvent(pvVar5); } } } } return param_1; } ############ FUN_ 1805aeea0 size=97 ############ undefined8 * FUN_1805aeea0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180674d00 size=2454 ############ /* WARNING: Instruction at (ram,0x000180675844) overlaps instruction at (ram,0x00018067583f) */ /* WARNING: Removing unreachable block (ram,0x00018067583f) */ /* WARNING: Removing unreachable block (ram,0x000180675148) */ /* WARNING: Removing unreachable block (ram,0x000180674e48) */ /* WARNING: Removing unreachable block (ram,0x000180674ed1) */ /* WARNING: Removing unreachable block (ram,0x00018067535a) */ /* WARNING: Removing unreachable block (ram,0x000180675a4a) */ undefined8 * FUN_180674d00(undefined8 *param_1,int param_2,longlong *param_3,undefined1 param_4) { longlong *plVar1; undefined8 *puVar2; int *piVar3; longlong *plVar4; code *pcVar5; undefined4 uVar6; undefined4 uVar7; undefined4 uVar8; undefined1 *puVar9; char cVar10; char *pcVar11; char *pcVar12; undefined8 uVar13; char *pcVar14; undefined8 uVar15; undefined8 *puVar16; HANDLE hEvent; int iVar17; uint uVar18; undefined8 *puVar19; ulonglong uVar20; uint *puVar21; uint uVar22; longlong lVar23; ulonglong uVar24; longlong lVar25; undefined1 *puVar26; longlong lVar27; uint uVar28; uint uVar29; ulonglong uVar30; uint uVar31; byte bVar32; int unaff_retaddr; int local_res10 [2]; longlong *local_res18; undefined1 local_res20; undefined1 auStack_c8 [32]; undefined1 *local_a8; ulonglong local_a0; undefined4 *local_98; int local_90; uint local_8c; undefined4 local_88 [2]; longlong *local_80; char *local_78; undefined8 local_70; undefined1 local_68 [16]; undefined8 local_58; local_58 = 0xfffffffffffffffe; *param_1 = pace::AuthorizationVerifier::vftable; pcVar14 = (char *)0x0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; *(undefined4 *)(param_1 + 4) = 0; param_1[5] = 0; plVar4 = param_1 + 9; *plVar4 = 0; param_1[10] = 0; local_res10[0] = param_2; local_res18 = param_3; local_res20 = param_4; local_80 = param_3; FUN_180677430(param_1 + 0xc); uVar18 = (uint)&stack0x00000000; iVar17 = (uVar18 & 0x70ff) * (uVar18 & 0x70ff) + 1; uVar22 = (iVar17 >> 4) + (iVar17 >> 1) + iVar17 * 0x24924924 >> 0x1d; if (((int)(uVar22 - 7) >> 0x1f & uVar22 & 0x10) == 0) { uVar22 = uVar18 & 0x1bf; bVar32 = (char)((ulonglong)((longlong)(int)((uVar22 + 2) * (uVar22 + 1) * uVar22) * 0x55555556) >> 0x20) * -3; } else { bVar32 = 0; } uVar28 = ((uVar18 & 0x10ff) * (uVar18 & 0x10ff) + 1) % 7; uVar22 = ((uVar18 & 0x1bff) + 1) * (uVar18 & 0x1bff) + 0x334d & 0x80000001; local_8c = (((int)(-uVar28 | uVar28) >> 0x1f) - ((int)(-uVar22 | uVar22) >> 0x1f)) + 0x320bU ^ 0x7bfb << (bVar32 & 0x1f) & 0x33ebU; local_90 = 0xda0; FUN_1805b45f0(local_68,param_1 + 3); local_98 = &DAT_18114a948; local_a8 = &LAB_18114aa48; local_70 = 0x100; uVar22 = (((uint)(DAT_18114a948 * 0x401) >> 6 ^ DAT_18114a948 * 0x401) + DAT_18114a94c) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + DAT_18114a950) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + DAT_18114a954) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + DAT_18114a958) * 0x401; uVar22 = uVar22 ^ uVar22 >> 6; local_a0 = (ulonglong)uVar22; FUN_1806a8b40(param_1); local_a8 = (undefined1 *)CONCAT44(local_a8._4_4_,local_res10[0]); if ((local_res10[0] == 0) || (*local_80 == 0)) { local_78 = (char *)FUN_1811316e0(0x18); pcVar11 = pcVar14; if (local_78 != (char *)0x0) { pcVar11 = (char *)FUN_1805a48c0(local_78, "The AuthorizationVerifier constructor was not provided a proper channel encyptor (ID = %d)" ); } pcVar12 = (char *)FUN_1811316e0(0x18); local_78 = pcVar12; if (pcVar12 != (char *)0x0) { FUN_1805a48c0(pcVar12,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar12 = pace::PaceLocationInfoFormatter::vftable; pcVar14 = pcVar12; } FUN_18060e760(*(undefined8 *)(pcVar11 + 8),local_res10); local_88[0] = 199; local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar13 = FUN_1805a21d0(*(undefined8 *)(pcVar14 + 8),&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_88); } local_98 = (undefined4 *)FUN_1811316e0(0x240); if (local_98 != (undefined4 *)0x0) { pcVar14 = (char *)FUN_18063c2c0(local_98); } FUN_180672510(plVar4,pcVar14); uVar22 = (DAT_18114a95c + uVar22) * 0x401; do { uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); uVar22 = (DAT_18114a960 + (uVar22 ^ uVar22 >> 6)) * 0x401; local_a0 = CONCAT44(local_a0._4_4_,uVar22 ^ uVar22 >> 6); lVar27 = *local_80; lVar25 = *plVar4; puVar16 = (undefined8 *)(lVar27 + 8); lVar23 = 4; puVar19 = (undefined8 *)(lVar25 + 8); do { uVar13 = puVar16[1]; *puVar19 = *puVar16; puVar19[1] = uVar13; uVar13 = puVar16[3]; puVar19[2] = puVar16[2]; puVar19[3] = uVar13; uVar13 = puVar16[5]; puVar19[4] = puVar16[4]; puVar19[5] = uVar13; uVar13 = puVar16[7]; puVar19[6] = puVar16[6]; puVar19[7] = uVar13; uVar13 = puVar16[9]; puVar19[8] = puVar16[8]; puVar19[9] = uVar13; uVar13 = puVar16[0xb]; puVar19[10] = puVar16[10]; puVar19[0xb] = uVar13; uVar6 = *(undefined4 *)((longlong)puVar16 + 100); uVar7 = *(undefined4 *)(puVar16 + 0xd); uVar8 = *(undefined4 *)((longlong)puVar16 + 0x6c); *(undefined4 *)(puVar19 + 0xc) = *(undefined4 *)(puVar16 + 0xc); *(undefined4 *)((longlong)puVar19 + 100) = uVar6; *(undefined4 *)(puVar19 + 0xd) = uVar7; *(undefined4 *)((longlong)puVar19 + 0x6c) = uVar8; puVar2 = puVar19 + 0x10; uVar6 = *(undefined4 *)((longlong)puVar16 + 0x74); uVar7 = *(undefined4 *)(puVar16 + 0xf); uVar8 = *(undefined4 *)((longlong)puVar16 + 0x7c); *(undefined4 *)(puVar19 + 0xe) = *(undefined4 *)(puVar16 + 0xe); *(undefined4 *)((longlong)puVar19 + 0x74) = uVar6; *(undefined4 *)(puVar19 + 0xf) = uVar7; *(undefined4 *)((longlong)puVar19 + 0x7c) = uVar8; puVar16 = puVar16 + 0x10; lVar23 = lVar23 + -1; puVar19 = puVar2; } while (lVar23 != 0); *puVar2 = *puVar16; *(undefined1 *)(lVar25 + 0x210) = *(undefined1 *)(lVar27 + 0x210); *(undefined1 *)(lVar25 + 0x211) = *(undefined1 *)(lVar27 + 0x211); if ((undefined8 *)(lVar25 + 0x218) != (undefined8 *)(lVar27 + 0x218)) { FUN_1805e1990((undefined8 *)(lVar25 + 0x218),*(undefined8 *)(lVar27 + 0x218), *(undefined8 *)(lVar27 + 0x220)); } uVar13 = local_70; *(undefined4 *)(lVar25 + 0x230) = *(undefined4 *)(lVar27 + 0x230); *(undefined4 *)(lVar25 + 0x234) = *(undefined4 *)(lVar27 + 0x234); *(undefined2 *)(lVar25 + 0x238) = *(undefined2 *)(lVar27 + 0x238); uVar22 = (DAT_18114a964 + (int)local_a0) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + DAT_18114a968) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + DAT_18114a96c) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + DAT_18114a970) * 0x401; *(undefined1 *)(param_1 + 0xb) = 1; uVar22 = ((uVar22 >> 6 ^ uVar22) + DAT_18114a974) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + DAT_18114a978) * 0x401; uVar31 = ((uVar22 >> 6 ^ uVar22) + DAT_18114a97c) * 0x401; uVar31 = uVar31 ^ uVar31 >> 6; uVar22 = (uint)local_70; iVar17 = ((uint)local_70 & 0x68ff) * ((uint)local_70 & 0x68ff) + 1; uVar18 = (iVar17 >> 4) + (iVar17 >> 1) + iVar17 * 0x24924924 >> 0x1d; uVar18 = (int)(uVar18 - 7) >> 0x1f & uVar18; uVar30 = (ulonglong)uVar18; uVar28 = uVar31 & 0x7f | 0x6e; uVar28 = (uVar28 * uVar28 * 0x3611 == 0xa804ae5) + 5; uVar24 = (ulonglong)(~(((int)(-uVar18 | uVar18) >> 0x1f) + 1U) & 0x9600) ^ (longlong)(((int)(-uVar28 | uVar28) >> 0x1f) * -0x9700); uVar18 = (*(int *)(&UNK_18114a880 + uVar24) + uVar31) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a884 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a888 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a88c + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a890 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a894 + uVar24)) * 0x401; *(uint *)(param_1 + 8) = (uint)local_a8; *(undefined4 *)(param_1 + 6) = 0; *(undefined4 *)((longlong)param_1 + 0x34) = 2; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a898 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a89c + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8a0 + uVar24)) * 0x401; local_70 = 0xdd01652dea47ec50; local_a8 = (undefined1 *)CONCAT44(local_a8._4_4_,0xea47ec50); uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8a4 + uVar24)) * 0x401; do { uVar20 = 0xf304; cVar10 = FUN_180676fca(); if ((uVar20 & 0xe300) == 0) { DAT_c08548c18b410ceb = cVar10 + '\r'; } uVar28 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar28 < 0) { uVar28 = (uVar28 - 1 | 0xfffffffe) + 1; } } while (uVar28 != 0); uVar18 = (*(int *)(&UNK_18114a8a8 + uVar24) + (uVar18 ^ uVar18 >> 6)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8ac + uVar24)) * 0x401; *(undefined4 *)(param_1 + 7) = *(undefined4 *)(param_1[9] + 8); uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8b0 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8b4 + uVar24)) * 0x401; *(undefined4 *)((longlong)param_1 + 0x3c) = 0; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8b8 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8bc + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8c0 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8c4 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8c8 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8cc + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8d0 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8d4 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8d8 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8dc + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8e0 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8e4 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8e8 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8ec + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8f0 + uVar24)) * 0x401; do { uVar20 = 0xf304; uVar15 = func_0x000180674082(); if ((uVar20 & 0x41) != 0) { *(byte *)(uVar24 - 200) = *(byte *)(uVar24 - 200) | (byte)(uVar20 >> 8); return (undefined8 *) (ulonglong) ((int)CONCAT71((int7)((ulonglong)uVar15 >> 8),(char)uVar15 + '9') + 0x8067569a); } func_0x0001806738ee(); uVar28 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar28 < 0) { uVar28 = (uVar28 - 1 | 0xfffffffe) + 1; } } while (uVar28 != 0); uVar18 = (*(int *)(&UNK_18114a8f4 + uVar24) + (uVar18 ^ uVar18 >> 6)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8f8 + uVar24)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a8fc + uVar24)) * 0x401; uVar29 = ((uVar18 >> 6 ^ uVar18) + *(int *)(&UNK_18114a900 + uVar24)) * 0x401; uVar28 = (uint)(uVar24 - 0x48); uVar18 = uVar28 & 0x3fff; uVar18 = ((uVar18 + 1) * uVar18 + 7) % 0x51; uVar31 = ((int)(-uVar18 | uVar18) >> 0x1f) >> ((byte)uVar13 & 0x1f); uVar28 = uVar28 & 0x14ff; uVar18 = (uVar28 * uVar28 * 0x10 + 4) % 0x13 | uVar22; lVar25 = (uVar24 - 0x48) + (((longlong)(((int)(-uVar31 | uVar31) >> 0x1f) * -0x40cd) ^ 0x42cdU) - ((longlong)(((int)(-uVar18 | uVar18) >> 0x1f) * -0xacbc) ^ 0xaebcU)); uVar18 = ((uVar29 >> 6 ^ uVar29) + *(int *)(lVar25 + 0x18114a94c)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(lVar25 + 0x18114a950)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(lVar25 + 0x18114a954)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(lVar25 + 0x18114a958)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(lVar25 + 0x18114a95c)) * 0x401; lVar27 = (longlong)local_90; do { uVar28 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar28 < 0) { uVar28 = (uVar28 - 1 | 0xfffffffe) + 1; } } while (uVar28 != 0); uVar28 = (*(int *)(lVar25 + 0x18114a960) + (uVar18 ^ uVar18 >> 6)) * 0x401; uVar28 = uVar28 ^ uVar28 >> 6; uVar18 = uVar28 & 0xbf; iVar17 = (uVar18 + 2) * (uVar18 + 1) * uVar18; lVar25 = lVar25 + 0x18 + (0x7f71L >> ((byte)(((iVar17 >> 1) - (iVar17 >> 3)) + iVar17 * 0x55555555 >> 0x1e) & (byte)(lVar25 + 0x18) & 0x3f) ^ 0x7f75U); uVar18 = (*(int *)(lVar25 + 0x18114a948) + uVar28) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(lVar25 + 0x18114a94c)) * 0x401; uVar18 = ((uVar18 >> 6 ^ uVar18) + *(int *)(lVar25 + 0x18114a950)) * 0x401; uVar31 = ((uVar18 >> 6 ^ uVar18) + *(int *)(lVar25 + 0x18114a954)) * 0x401; uVar18 = (uint)(lVar25 + 0xc) & 0x3eff; iVar17 = uVar18 * uVar18 + 1; uVar28 = (iVar17 >> 4) + (iVar17 >> 1) + iVar17 * 0x24924924 >> 0x1d; uVar24 = (ulonglong)uVar28; uVar18 = uVar22 & 0x7f | 0x16; uVar22 = uVar22 & 0x1f | 0x67; uVar22 = ((int)(uVar28 - 7) >> 0x1f & uVar28) - (uint)(uVar22 * uVar22 * 0x5afb == uVar18 * uVar18 * 0xf3c1); lVar25 = lVar25 + 0xc + ((longlong)(((int)(-uVar22 | uVar22) >> 0x1f) * -0xe4ce) ^ 0xe4caU); uVar22 = ((uVar31 >> 6 ^ uVar31) + *(int *)(lVar25 + 0x18114a948)) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + *(int *)(lVar25 + 0x18114a94c)) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + *(int *)(lVar25 + 0x18114a950)) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + *(int *)(lVar25 + 0x18114a954)) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + *(int *)(lVar25 + 0x18114a958)) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + *(int *)(lVar25 + 0x18114a95c)) * 0x401; uVar22 = ((uVar22 >> 6 ^ uVar22) + *(int *)(lVar25 + 0x18114a960)) * 0x401; uVar22 = uVar22 ^ uVar22 >> 6; do { uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); uVar22 = (uVar22 >> 0x17 | uVar22 << 9) + 0xbc0cf0d0; uVar22 = (uVar22 >> 0x17 | uVar22 * 0x200) + 0xe2ea0ade; uVar22 = (uint)local_a8 ^ (uVar22 >> 6 | uVar22 * 0x4000000) + 0x5199b4d4; *(undefined1 *)(param_1 + 0x35) = local_res20; puVar9 = auStack_c8; if (uVar22 == 0 && (uVar22 & 0x3fffff) == 0) { do { puVar26 = puVar9; *(undefined **)(puVar26 + -8) = &UNK_180675aac; lVar25 = lVar27; func_0x000180674cf4(); *(ulonglong *)(puVar26 + -8) = uVar24; *(longlong *)(puVar26 + -0x10) = lVar27; *(ulonglong *)(puVar26 + -0x18) = uVar30; lVar25 = -lVar25; uVar30 = *(ulonglong *)(puVar26 + lVar25 + 0xd88); lVar27 = *(longlong *)(puVar26 + lVar25 + 0xd90); uVar24 = *(ulonglong *)(puVar26 + lVar25 + 0xd98); uVar22 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar22 < 0) { uVar22 = (uVar22 - 1 | 0xfffffffe) + 1; } puVar9 = puVar26 + lVar25 + 0xda0; } while (uVar22 != 0); if (puVar26[lVar25 + 0xe08] != '\0') { piVar3 = *(int **)(puVar26 + lVar25 + 0xe00); *piVar3 = *piVar3 + -1; if (*piVar3 == 0) { LOCK(); piVar3[1] = 0; UNLOCK(); puVar21 = (uint *)(*(longlong *)(puVar26 + lVar25 + 0xe00) + 8); LOCK(); uVar22 = *puVar21; *puVar21 = *puVar21 + 0x80000000; UNLOCK(); if (((uVar22 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar22)) { LOCK(); uVar22 = *puVar21; *puVar21 = *puVar21 | 0x40000000; UNLOCK(); if ((uVar22 >> 0x1e & 1) == 0) { *(undefined8 *)(puVar26 + lVar25 + 0xd98) = 0x180675c73; hEvent = (HANDLE)FUN_1805a9100(); *(undefined8 *)(puVar26 + lVar25 + 0xd98) = 0x180675c7c; SetEvent(hEvent); } } } } plVar4 = *(longlong **)(*(longlong *)(puVar26 + lVar25 + 0xde8) + 8); if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar27 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar27 == 1) { pcVar5 = *(code **)(*plVar4 + 8); *(undefined8 *)(puVar26 + lVar25 + 0xd98) = 0x180675ca5; (*pcVar5)(plVar4); LOCK(); piVar3 = (int *)((longlong)plVar4 + 0xc); iVar17 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar17 == 1) { pcVar5 = *(code **)(*plVar4 + 0x10); *(undefined8 *)(puVar26 + lVar25 + 0xd98) = 0x180675cb8; (*pcVar5)(plVar4); } } } return param_1; } puVar16 = (undefined8 *)thunk_FUN_1805a9280((longlong)(int)local_8c,thunk_FUN_1805a9280,uVar24); return puVar16; } ############ FUN_ 1805bc990 size=115 ############ void FUN_1805bc990(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x2f0; if (param_2 < 0x572620ae4c415d) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 18066bb80 size=568 ############ void FUN_18066bb80(ulonglong *param_1,longlong param_2,longlong param_3) { undefined8 *puVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; ulonglong uVar5; undefined8 *puVar6; ulonglong uVar7; ulonglong uVar8; ulonglong uVar9; puVar1 = (undefined8 *)param_1[1]; puVar4 = (undefined8 *)*param_1; lVar3 = (longlong)puVar1 - (longlong)puVar4; lVar2 = (param_3 - param_2) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_3 - param_2),8); uVar7 = (lVar2 >> 7) - (lVar2 >> 0x3f); lVar3 = lVar3 + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(lVar3),8); uVar8 = (lVar3 >> 7) - (lVar3 >> 0x3f); lVar2 = (param_1[2] - (longlong)puVar4) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[2] - (longlong)puVar4)),8 ); uVar9 = (lVar2 >> 7) - (lVar2 >> 0x3f); if (uVar9 < uVar7) { if (0x186186186186186 < uVar7) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar8 = uVar7; if ((uVar9 <= 0x186186186186186 - (uVar9 >> 1)) && (uVar8 = (uVar9 >> 1) + uVar9, uVar8 < uVar7) ) { uVar8 = uVar7; } if (puVar4 != (undefined8 *)0x0) { for (; puVar4 != puVar1; puVar4 = puVar4 + 0x15) { (**(code **)*puVar4)(puVar4,0); } FUN_1805bd8b0(param_1,*param_1,uVar9); } uVar7 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar8 != 0) { if (0x186186186186186 < uVar8) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = uVar8 * 0xa8; uVar9 = 0xffffffffffffffff; if ((uVar8 < 0x186186186186187) && (uVar9 = uVar5, uVar5 < 0x1000)) { if (uVar5 != 0) { uVar7 = FUN_1811316e0(uVar5); } } else { uVar7 = uVar9 + 0x27; if (uVar9 + 0x27 <= uVar9) { uVar7 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar7); if (lVar2 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar7 = lVar2 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar7 - 8) = lVar2; } *param_1 = uVar7; param_1[1] = uVar7; param_1[2] = *param_1 + uVar5; } uVar7 = FUN_18066e1c0(param_1,param_2,param_3,*param_1); param_1[1] = uVar7; } else if (uVar8 < uVar7) { lVar2 = uVar8 * 0xa8 + param_2; FUN_18066c7e0(param_2,lVar2,puVar4); uVar7 = FUN_18066e1c0(param_1,lVar2,param_3,param_1[1]); param_1[1] = uVar7; } else { FUN_18066c7e0(param_2,param_3,puVar4); puVar1 = (undefined8 *)param_1[1]; for (puVar6 = puVar4 + uVar7 * 0x15; puVar6 != puVar1; puVar6 = puVar6 + 0x15) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (ulonglong)(puVar4 + uVar7 * 0x15); } return; } ############ FUN_ 1806713a0 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806713a0(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_1807930d0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180673570 size=447 ############ void FUN_180673570(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807ab570(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180622660 size=164 ############ ulonglong FUN_180622660(ulonglong *param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; uVar2 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (param_2 != 0) { if (0x3fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } param_2 = param_2 * 4; if (param_2 < 0x1000) { if (param_2 != 0) { uVar2 = FUN_1811316e0(param_2); } } else { uVar2 = param_2 + 0x27; if (param_2 + 0x27 <= param_2) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar1 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar1; } *param_1 = uVar2; param_1[1] = uVar2; param_1[2] = param_2 + *param_1; uVar2 = CONCAT71((int7)(*param_1 >> 8),1); } return uVar2; } ############ FUN_ 1806b10b0 size=2473 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_1806b10b0(longlong param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4) { longlong *plVar1; int *piVar2; uint uVar3; int iVar4; undefined8 uVar5; HANDLE pvVar6; longlong lVar7; undefined8 *puVar8; tm *ptVar9; void **ppvVar10; longlong lVar11; uint *puVar12; undefined1 *puVar13; undefined1 *puVar14; ulonglong uVar15; undefined1 auStack_d78 [32]; void **local_d58; void ***local_d50; undefined1 local_d48 [4]; undefined4 local_d44; uint local_d40 [2]; undefined8 local_d38; ulonglong local_d30; void *local_d28; longlong lStack_d20; undefined8 local_d18; undefined4 local_d08 [2]; undefined4 local_d00 [2]; undefined4 local_cf8 [2]; undefined4 local_cf0 [2]; undefined4 local_ce8 [2]; longlong local_ce0; undefined8 *local_cd8; void **local_cc8; undefined1 *puStack_cc0; undefined1 local_cb8 [16]; void **local_ca8; longlong lStack_ca0; void **local_c98; longlong alStack_c90 [4]; char *local_c70; undefined1 local_c68 [8]; undefined8 local_c60; undefined8 local_c58; char *local_c50; longlong local_c48; char *local_c40; __time64_t local_c38 [2]; int *local_c28; char local_c20; undefined8 local_c18; longlong local_c10; int *local_c08; char local_c00; int *local_bf8; char local_bf0; longlong local_be8; char *local_be0; undefined8 local_bd8; longlong local_bd0; longlong lStack_bc8; undefined8 local_bc0; undefined8 local_bb8; undefined8 uStack_bb0; undefined8 local_ba8; undefined1 local_ba0 [16]; undefined8 local_b90; undefined1 local_b88 [8]; longlong *local_b80; void **local_b78; undefined1 *puStack_b70; undefined1 local_b68 [32]; undefined **local_b48; undefined8 local_b40; undefined8 local_b38; undefined8 uStack_b30; undefined8 local_b28; undefined8 uStack_b20; undefined8 local_b18; undefined8 local_b10; undefined1 local_b08; undefined7 uStack_b07; longlong local_af8; ulonglong local_af0; undefined8 local_ae8; undefined8 local_ae0; undefined2 local_ad8; undefined1 local_ad6; undefined **local_ac8; undefined4 local_ac0; undefined8 local_ab8; undefined8 uStack_ab0; undefined8 local_aa8; undefined8 local_aa0; undefined8 local_a98; undefined8 uStack_a90; undefined1 local_a88; undefined7 uStack_a87; longlong local_a78; ulonglong local_a70; undefined8 local_a68; undefined1 local_a60; undefined8 local_a58; undefined8 local_a50; undefined8 local_a48; undefined8 local_a40; undefined8 local_a38; undefined8 local_a30; undefined8 local_a28; undefined1 local_a18 [112]; undefined1 local_9a8 [112]; undefined1 local_938 [8]; longlong local_930 [281]; ulonglong local_68; local_b90 = 0xfffffffffffffffe; local_68 = DAT_182615970 ^ (ulonglong)auStack_d78; local_d44 = param_4; FUN_1805b45f0(&local_c28,param_1 + 0x18); uVar5 = FUN_1806ab5b0(); local_d58 = (void **)CONCAT44(local_d58._4_4_,1); uVar5 = FUN_18066b810(local_b88,uVar5,0,2); FUN_18067dba0(param_1 + 8,uVar5); if (local_b80 != (longlong *)0x0) { LOCK(); plVar1 = local_b80 + 1; lVar7 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); param_4 = local_d44; if ((int)lVar7 == 1) { (**(code **)(*local_b80 + 8))(local_b80); LOCK(); piVar2 = (int *)((longlong)local_b80 + 0xc); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); param_4 = local_d44; if (iVar4 == 1) { (**(code **)(*local_b80 + 0x10))(local_b80); param_4 = local_d44; } } } if ((local_c20 != '\0') && (*local_c28 = *local_c28 + -1, *local_c28 == 0)) { LOCK(); local_c28[1] = 0; UNLOCK(); puVar12 = (uint *)(local_c28 + 2); LOCK(); uVar3 = *puVar12; *puVar12 = *puVar12 + 0x80000000; UNLOCK(); if (((uVar3 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar3)) { LOCK(); uVar3 = *puVar12; *puVar12 = *puVar12 | 0x40000000; UNLOCK(); if ((uVar3 >> 0x1e & 1) == 0) { pvVar6 = (HANDLE)FUN_1805a9100(); SetEvent(pvVar6); } } } FUN_1806863a0(param_1); local_b48 = pace::eden::thrift::authorize::OpenQuicklyEncryptedChannelInput::vftable; local_b40 = 0; local_b38 = 0; uStack_b30 = 0; local_b28 = 0; uStack_b20 = 0; local_b18 = 0; local_b10 = 0; local_af8 = 0; local_af0 = 0xf; local_b08 = 0; FUN_1805a6cb0(&local_b08,&DAT_181baf991,0); local_ae8 = 0; local_ae0 = 0; local_ad8 = 0; local_ad6 = 0; local_ac8 = pace::eden::thrift::authorize::OpenQuicklyEncryptedChannelReturn::vftable; local_ac0 = 0; local_ab8 = 0; uStack_ab0 = 0; local_aa8 = 0; local_aa0 = 0; local_a98 = 0; uStack_a90 = 0; local_a78 = 0; local_a70 = 0xf; local_a88 = 0; FUN_1805a6cb0(&local_a88,&DAT_181baf991,0); local_a68 = 4; local_a60 = 0; local_ae0 = CONCAT44(local_ae0._4_4_,param_3); local_ae8._0_4_ = param_4; local_ae8._4_4_ = param_2; local_b10 = FUN_1806d2560(); local_d40[0] = FUN_1807002d0(param_4); if (local_d40[0] == 0) { local_cd8 = (undefined8 *)FUN_1811316e0(0x18); if (local_cd8 == (undefined8 *)0x0) { lVar7 = 0; } else { lVar7 = FUN_1805a48c0(local_cd8,"Encryption Algorithm %d not supported"); } puVar8 = (undefined8 *)FUN_1811316e0(0x18); local_cd8 = puVar8; if (puVar8 != (undefined8 *)0x0) { FUN_1805a48c0(puVar8,"|__FILE__|%s|__LINE__|%d"); *puVar8 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar7 + 8),&local_ae8); } ppvVar10 = (void **)0x0; FUN_180937700(local_938,local_ae8._4_4_); (**(code **)(local_930[0] + 0x20))(local_930,&local_a58,local_a18); FUN_18073e970(local_a18,&local_b28,&local_b40); _time64(local_c38); ptVar9 = _gmtime64(local_c38); if (ptVar9 == (tm *)0x0) { uVar5 = FUN_1805b6c80(local_b68,"could not convert calendar time to UTC time"); /* WARNING: Subroutine does not return */ FUN_1805b3e60(uVar5); } FUN_1805bd670(local_cb8,ptVar9); FUN_180663c70(local_cb8,&local_b08); local_d28 = (void *)0x0; lStack_d20 = 0; local_d18 = 0; local_d48[0] = 0xa5; local_cc8 = &local_d28; puStack_cc0 = local_d48; local_b78 = local_cc8; puStack_b70 = puStack_cc0; FUN_1805e1ee0(&local_d28,0x10,&local_b78); local_cc8 = (void **)0x0; puStack_cc0 = (undefined1 *)0x0; local_ca8 = (void **)FUN_1811316e0(0x240); if (local_ca8 != (void **)0x0) { local_d58 = &local_d28; ppvVar10 = (void **)FUN_18063c260(local_ca8,0,1,0); } local_c98 = ppvVar10; FUN_18066b4e0(alStack_c90,ppvVar10); FUN_1805ae620(&local_c98,ppvVar10,ppvVar10); ppvVar10 = local_c98; local_cc8 = local_c98; puStack_cc0 = (undefined1 *)alStack_c90[0]; local_bb8 = 0; uStack_bb0 = 0; local_ba8 = 0; local_bd0 = 0; lStack_bc8 = 0; local_bc0 = 0; FUN_1806741b0(&local_b48,&local_bb8,1); FUN_1805b45f0(&local_c08,param_1 + 0x18); local_ca8 = ppvVar10; lStack_ca0 = alStack_c90[0]; if (alStack_c90[0] != 0) { LOCK(); *(int *)(alStack_c90[0] + 8) = *(int *)(alStack_c90[0] + 8) + 1; UNLOCK(); } local_c18 = *(undefined8 *)(param_1 + 8); local_c10 = *(longlong *)(param_1 + 0x10); if (local_c10 != 0) { LOCK(); *(int *)(local_c10 + 8) = *(int *)(local_c10 + 8) + 1; UNLOCK(); } local_d50 = &local_ca8; local_d58 = (void **)((ulonglong)local_d58 & 0xffffffff00000000); FUN_1806b91d0(0x1b,&local_bb8,&local_bd0,&local_c18); if ((local_c00 != '\0') && (*local_c08 = *local_c08 + -1, *local_c08 == 0)) { LOCK(); local_c08[1] = 0; UNLOCK(); puVar12 = (uint *)(local_c08 + 2); LOCK(); uVar3 = *puVar12; *puVar12 = *puVar12 + 0x80000000; UNLOCK(); if (((uVar3 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar3)) { LOCK(); uVar3 = *puVar12; *puVar12 = *puVar12 | 0x40000000; UNLOCK(); if ((uVar3 >> 0x1e & 1) == 0) { pvVar6 = (HANDLE)FUN_1805a9100(); SetEvent(pvVar6); } } } FUN_180672130(local_bd0,lStack_bc8 - local_bd0,&local_ac8); FUN_1805b45f0(&local_bf8,param_1 + 0x18); *(undefined4 *)(param_1 + 0x40) = local_ac0; if ((local_bf0 != '\0') && (*local_bf8 = *local_bf8 + -1, *local_bf8 == 0)) { LOCK(); local_bf8[1] = 0; UNLOCK(); puVar12 = (uint *)(local_bf8 + 2); LOCK(); uVar3 = *puVar12; *puVar12 = *puVar12 + 0x80000000; UNLOCK(); if (((uVar3 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar3)) { LOCK(); uVar3 = *puVar12; *puVar12 = *puVar12 | 0x40000000; UNLOCK(); if ((uVar3 >> 0x1e & 1) == 0) { pvVar6 = (HANDLE)FUN_1805a9100(); SetEvent(pvVar6); } } } FUN_180660c00(&local_ce0,&local_a88,0); local_c38[1] = 0x7ffffffffffffffe; local_d08[0] = 0xfffffffe; FUN_1805b41e0(&local_be8,local_d08,local_c38 + 1); if (local_ce0 != local_be8) { FUN_1805c5170(&local_d38,&local_ce0,local_cb8); FUN_180661ba0(&local_d38,&local_d30); local_bd8 = 0; iVar4 = FUN_1805bd370(&local_d38,&local_bd8); if ((iVar4 != -1) && (300 < local_d30)) { lVar7 = FUN_1805c0220( "The openQuicklyEncryptedChannel client_CallTime to licenseD_CallTime (%d second) was too long " ); lVar11 = FUN_1805c0260(); FUN_1805b2520(*(undefined8 *)(lVar7 + 8),&local_d30); local_cf8[0] = 0xf63; local_c70 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar11 + 8),&local_c70); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_cf8); } FUN_1806a8a70(local_c68); FUN_1805c5170(&local_c60,local_c68,&local_ce0); local_d38 = local_c60; FUN_180661ba0(&local_d38,&local_d30); local_c58 = 0; iVar4 = FUN_1805bd370(&local_d38,&local_c58); if ((iVar4 != -1) && (300 < local_d30)) { lVar7 = FUN_1805c0220( "The openQuicklyEncryptedChannel licenseD_CallTime to command finish (%d second) was too long" ); lVar11 = FUN_1805c0260(); FUN_1805b2520(*(undefined8 *)(lVar7 + 8),&local_d30); local_cf0[0] = 0xf70; local_c50 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar11 + 8),&local_c50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_cf0); } alStack_c90[1] = 0; alStack_c90[2] = 0; alStack_c90[3] = 0; puVar14 = &local_a88; if (0xf < local_a70) { puVar14 = (undefined1 *)CONCAT71(uStack_a87,local_a88); } puVar13 = &local_a88; if (0xf < local_a70) { puVar13 = (undefined1 *)CONCAT71(uStack_a87,local_a88); } FUN_1805e1990(alStack_c90 + 1,puVar13,puVar14 + local_a78); puVar14 = &local_b08; if (0xf < local_af0) { puVar14 = (undefined1 *)CONCAT71(uStack_b07,local_b08); } puVar13 = &local_b08; if (0xf < local_af0) { puVar13 = (undefined1 *)CONCAT71(uStack_b07,local_b08); } local_d58 = (void **)CONCAT71(local_d58._1_7_,local_d48[0]); FUN_1805d5a60(alStack_c90 + 1,alStack_c90[2],puVar13,puVar14 + local_af8); FUN_18073d980(&local_aa0,&local_ab8,local_9a8); uVar3 = local_d40[0]; local_d50 = &local_d28; local_d58 = (void **)(alStack_c90 + 1); uVar15 = (ulonglong)local_d40[0]; FUN_180938570(local_938,uVar15,&local_a58,local_9a8); if (lStack_d20 - (longlong)local_d28 == uVar15) { local_a58 = 0; local_a50 = 0; local_a48 = 0; local_a40 = 0; local_a38 = 0; local_a30 = 0; local_a28 = 0; local_d58 = &local_d28; (**(code **)((longlong)*local_c98 + 0x10))(local_c98,local_d44,1,0); memset(local_d28,0,(ulonglong)uVar3); FUN_1805b45f0(local_ba0,param_1 + 0x18); FUN_180644560(param_1 + 0x48,&local_cc8); FUN_1805b7220(local_ba0); FUN_180575ed0(alStack_c90 + 1); FUN_180575ed0(&local_bd0); FUN_180575ed0(&local_bb8); FUN_1805a4e80(&local_cc8); FUN_180575ed0(&local_d28); FUN_1809383a0(local_938); FUN_18067cad0(&local_ac8); FUN_18067c9c0(&local_b48); } lVar7 = FUN_1805c0220("The actual key size %d is not the expected size %d"); lVar11 = FUN_1805c0260(); local_c48 = lStack_d20 - (longlong)local_d28; FUN_1805b2520(*(undefined8 *)(lVar7 + 8),&local_c48); FUN_18060e760(*(undefined8 *)(lVar7 + 8),local_d40); local_ce8[0] = 0xfab; local_c40 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar11 + 8),&local_c40); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_ce8); } lVar7 = FUN_1805c0220("licenseD_CallTime (%s) is not a valid date"); lVar11 = FUN_1805c0260(); FUN_1805b2240(*(undefined8 *)(lVar7 + 8),&local_a88); local_d00[0] = 0xf58; local_be0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar11 + 8),&local_be0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_d00); } ############ FUN_ 180672130 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180672130(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_18079ee40(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 1806741b0 size=447 ############ void FUN_1806741b0(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807b5ca0(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180671970 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180671970(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_1807980a0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180673ab0 size=447 ############ void FUN_180673ab0(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807b0250(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180538300 size=154 ############ undefined8 * FUN_180538300(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x48); *puVar2 = std:: _Func_impl_no_alloc,float,juce::String_const&___ptr64> ::vftable; puVar2[8] = 0; plVar1 = (longlong *)param_1[7]; if (plVar1 != (longlong *)0x0) { if (plVar1 == param_1) { uVar3 = (**(code **)(*plVar1 + 8))(plVar1,puVar2 + 1,param_3,param_4,uVar3); puVar2[8] = uVar3; plVar1 = (longlong *)param_1[7]; if (plVar1 == (longlong *)0x0) { return puVar2; } (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1); } else { puVar2[8] = plVar1; } param_1[7] = 0; } return puVar2; } ############ FUN_ 1805351c0 size=44 ############ undefined8 * FUN_1805351c0(undefined8 *param_1) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x2400c0); uVar1 = FUN_180533130(uVar1); *param_1 = uVar1; return param_1; } ############ FUN_ 1805351f0 size=166 ############ undefined8 * FUN_1805351f0(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,int *param_4, undefined8 param_5) { undefined8 uVar1; undefined **local_48; undefined8 local_40; undefined ***local_10; uVar1 = FUN_1811316e0(0x78); local_40 = *param_3; local_48 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_10 = &local_48; uVar1 = FUN_1811aeda0(uVar1,param_2,&local_48,(double)*param_4,param_5); *param_1 = uVar1; return param_1; } ############ FUN_ 180535580 size=74 ############ undefined8 * FUN_180535580(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x5408c0); uVar1 = FUN_180535ae0(uVar1,*param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 180538220 size=113 ############ undefined8 * FUN_180538220(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x48); *puVar2 = std:: _Func_impl_no_alloc,float,juce::String_const&___ptr64> ::vftable; puVar2[8] = 0; puVar1 = *(undefined8 **)(param_1 + 0x38); if (puVar1 != (undefined8 *)0x0) { uVar3 = (**(code **)*puVar1)(puVar1,puVar2 + 1,param_3,param_4,uVar3); puVar2[8] = uVar3; } return puVar2; } ############ FUN_ 18054a740 size=1079 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ bool FUN_18054a740(longlong param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { uint *puVar1; uint uVar2; longlong *plVar3; longlong *plVar4; byte bVar5; char cVar6; int iVar7; int iVar8; ulonglong uVar9; longlong lVar10; ulonglong uVar11; int iVar12; uint uVar13; undefined4 local_res8; undefined4 uStackX_c; longlong *local_res10; local_res8 = 0; *(undefined8 *)(param_1 + 0x18) = param_2; FUN_18123d980(param_1 + 0x60,param_3); lVar10 = *(longlong *)(param_1 + 0x60); if (lVar10 == 0) { lVar10 = param_1 + 0x68; } iVar7 = *(int *)(param_1 + 0x80) >> 5; uVar11 = (ulonglong)iVar7; uVar9 = uVar11; if (-1 < iVar7) { LAB_18054a7a0: uVar13 = *(uint *)(lVar10 + uVar11 * 4); if (uVar13 == 0) goto code_r0x00018054a7ab; iVar7 = 0x1f; if (uVar13 != 0) { for (; uVar13 >> iVar7 == 0; iVar7 = iVar7 + -1) { } } iVar7 = (int)uVar9 * 0x20 + iVar7; goto LAB_18054a7ba; } LAB_18054a7b4: iVar7 = -1; LAB_18054a7ba: iVar12 = *(int *)(param_1 + 0x2c); iVar7 = iVar7 - iVar12; if (-1 < iVar7) { bVar5 = (byte)iVar12 & 0x1f; uVar13 = 1 << bVar5 | 1U >> 0x20 - bVar5; do { if ((-1 < iVar12) && (iVar12 <= *(int *)(param_1 + 0x80))) { lVar10 = *(longlong *)(param_1 + 0x60); if (lVar10 == 0) { lVar10 = param_1 + 0x68; } puVar1 = (uint *)(lVar10 + (longlong)(iVar12 >> 5) * 4); *puVar1 = *puVar1 & ~uVar13; if (iVar12 == *(int *)(param_1 + 0x80)) { lVar10 = *(longlong *)(param_1 + 0x60); if (lVar10 == 0) { lVar10 = param_1 + 0x68; } iVar8 = *(int *)(param_1 + 0x80) >> 5; uVar11 = (ulonglong)iVar8; uVar9 = uVar11; if (-1 < iVar8) { LAB_18054a830: uVar2 = *(uint *)(lVar10 + uVar11 * 4); if (uVar2 == 0) goto code_r0x00018054a83c; iVar8 = 0x1f; if (uVar2 != 0) { for (; uVar2 >> iVar8 == 0; iVar8 = iVar8 + -1) { } } iVar8 = (int)uVar9 * 0x20 + iVar8; goto LAB_18054a849; } LAB_18054a844: iVar8 = -1; LAB_18054a849: *(int *)(param_1 + 0x80) = iVar8; } } iVar12 = iVar12 + 1; uVar13 = uVar13 << 1 | (uint)((int)uVar13 < 0); iVar7 = iVar7 + -1; } while (-1 < iVar7); } lVar10 = *(longlong *)(param_1 + 0x60); if (lVar10 == 0) { lVar10 = param_1 + 0x68; } iVar7 = *(int *)(param_1 + 0x80) >> 5; uVar11 = (ulonglong)iVar7; uVar9 = uVar11; if (-1 < iVar7) { do { uVar13 = *(uint *)(lVar10 + uVar11 * 4); if (uVar13 != 0) { iVar7 = 0x1f; if (uVar13 != 0) { for (; uVar13 >> iVar7 == 0; iVar7 = iVar7 + -1) { } } iVar7 = (int)uVar9 * 0x20 + iVar7; goto LAB_18054a899; } uVar9 = (ulonglong)((int)uVar9 - 1); uVar11 = uVar11 - 1; } while (-1 < (longlong)uVar11); } iVar7 = -1; LAB_18054a899: *(int *)(param_1 + 0x28) = iVar7 + 1; if (iVar7 + 1 == 0) { return true; } local_res10 = (longlong *)0x0; local_res8 = 1; plVar3 = *(longlong **)(param_1 + 8); if (plVar3 != (longlong *)0x0) { local_res10 = (longlong *)0x0; (**(code **)(*plVar3 + 0x18))(plVar3,&DAT_1824adc10,1,0,&local_res10); } plVar3 = local_res10; if (local_res10 != (longlong *)0x0) { (**(code **)(*local_res10 + 8))(); } plVar4 = *(longlong **)(param_1 + 0x10); if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x10))(plVar4); } *(longlong **)(param_1 + 0x10) = plVar3; if (local_res10 != (longlong *)0x0) { (**(code **)(*local_res10 + 0x10))(); } if ((*(longlong *)(param_1 + 0x10) == 0) || (cVar6 = FUN_18054af40(param_1,param_4), cVar6 == '\0')) { return false; } *(undefined2 *)(param_1 + 0xa4) = 0; plVar3 = (longlong *)(param_1 + 0x88); FUN_1804d5930(plVar3); uVar13 = 0; while( true ) { lVar10 = *(longlong *)(param_1 + 0x60); if (lVar10 == 0) { lVar10 = param_1 + 0x68; } iVar7 = *(int *)(param_1 + 0x80) >> 5; uVar11 = (ulonglong)iVar7; uVar9 = uVar11; if (-1 < iVar7) break; LAB_18054a9c5: iVar7 = -1; LAB_18054a9ca: if (iVar7 < (int)uVar13) { iVar7 = (**(code **)(**(longlong **)(param_1 + 0x10) + 0x28)) (*(longlong **)(param_1 + 0x10),&local_res8); if (-1 < iVar7) { local_res10 = (longlong *) ((double)CONCAT44(uStackX_c,local_res8) * *(double *)(param_1 + 0x18) * _DAT_1824c3d30 + DAT_1824c4520); *(undefined4 *)(param_1 + 0x38) = local_res10._0_4_; } (**(code **)(**(longlong **)(param_1 + 0x10) + 0x20)) (*(longlong **)(param_1 + 0x10),param_1 + 0x98); FUN_18054ac60(param_1); plVar3 = *(longlong **)(param_1 + 0x10); if (*(longlong **)(param_1 + 0xe8) != (longlong *)0x0) { (**(code **)(**(longlong **)(param_1 + 0xe8) + 0x10))(); } *(undefined8 *)(param_1 + 0xe8) = 0; (**(code **)(*plVar3 + 0x70))(plVar3,&DAT_1824ade88,param_1 + 0xe8); if (*(longlong *)(param_1 + 0xe8) != 0) { local_res10 = (longlong *)FUN_1811316e0(0x18); *(undefined4 *)(local_res10 + 1) = 1; *local_res10 = (longlong) juce::WasapiClasses::WASAPIDeviceBase::SessionEventCallback::vftable; local_res10[2] = param_1; FUN_1805555f0(param_1 + 0xf0,local_res10); (**(code **)(**(longlong **)(param_1 + 0xe8) + 0x50)) (*(longlong **)(param_1 + 0xe8),*(undefined8 *)(param_1 + 0xf0)); plVar3 = *(longlong **)(param_1 + 0xf0); if ((undefined **)*plVar3 == juce::WasapiClasses::WASAPIDeviceBase::SessionEventCallback::vftable) { plVar4 = plVar3 + 1; *(int *)plVar4 = (int)*plVar4 + -1; if ((int)*plVar4 == 0) { (*(code *)juce::WasapiClasses::WASAPIDeviceBase::SessionEventCallback::vftable[10]) (plVar3,1); } } else { (*(code *)((undefined **)*plVar3)[2])(); } } iVar7 = (**(code **)(**(longlong **)(param_1 + 0x10) + 0x68)) (*(longlong **)(param_1 + 0x10),*(undefined8 *)(param_1 + 0x58)); return -1 < iVar7; } if (((int)uVar13 <= *(int *)(param_1 + 0x80)) && (-1 < (int)uVar13)) { lVar10 = *(longlong *)(param_1 + 0x60); if (lVar10 == 0) { lVar10 = param_1 + 0x68; } if ((*(uint *)(lVar10 + (longlong)((int)uVar13 >> 5) * 4) >> (uVar13 & 0x1f) & 1) != 0) { iVar12 = *(int *)(param_1 + 0x94); iVar7 = iVar12 + 1; if (*(int *)(param_1 + 0x90) < iVar7) { if (iVar7 < 0) { iVar7 = iVar12 + 2; } FUN_1804af790(plVar3,iVar12 + 9 + (iVar7 >> 1) & 0xfffffff8); } iVar7 = *(int *)(param_1 + 0x94); *(int *)(param_1 + 0x94) = iVar7 + 1; *(uint *)(*plVar3 + (longlong)iVar7 * 4) = uVar13; } } uVar13 = uVar13 + 1; } LAB_18054a9b5: uVar2 = *(uint *)(lVar10 + uVar11 * 4); if (uVar2 == 0) goto code_r0x00018054a9bd; iVar7 = 0x1f; if (uVar2 != 0) { for (; uVar2 >> iVar7 == 0; iVar7 = iVar7 + -1) { } } iVar7 = (int)uVar9 * 0x20 + iVar7; goto LAB_18054a9ca; code_r0x00018054a7ab: uVar11 = uVar11 - 1; uVar9 = (ulonglong)((int)uVar9 - 1); if ((longlong)uVar11 < 0) goto LAB_18054a7b4; goto LAB_18054a7a0; code_r0x00018054a83c: uVar9 = (ulonglong)((int)uVar9 - 1); uVar11 = uVar11 - 1; if ((longlong)uVar11 < 0) goto LAB_18054a844; goto LAB_18054a830; code_r0x00018054a9bd: uVar9 = (ulonglong)((int)uVar9 - 1); uVar11 = uVar11 - 1; if ((longlong)uVar11 < 0) goto LAB_18054a9c5; goto LAB_18054a9b5; } ############ FUN_ 18054b300 size=310 ############ void FUN_18054b300(longlong param_1,char param_2,undefined8 param_3,undefined8 param_4) { undefined4 uVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; if (param_2 != '\0') { puVar3 = (undefined8 *)FUN_1811316e0(0x10); uVar1 = *(undefined4 *)(param_1 + 0x2c); *puVar3 = juce::AudioData:: ConverterInstance,juce::AudioData::Pointer_> ::vftable; *(undefined4 *)(puVar3 + 1) = uVar1; *(undefined4 *)((longlong)puVar3 + 0xc) = 1; puVar2 = *(undefined8 **)(param_1 + 0x128); *(undefined8 **)(param_1 + 0x128) = puVar3; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1,param_3,param_4,uVar4); } return; } if (*(int *)(param_1 + 0x9c) == 4) { puVar3 = (undefined8 *)FUN_1811316e0(0x10); uVar1 = *(undefined4 *)(param_1 + 0x2c); *puVar3 = juce::AudioData:: ConverterInstance,juce::AudioData::Pointer_> ::vftable; *(undefined4 *)(puVar3 + 1) = uVar1; *(undefined4 *)((longlong)puVar3 + 0xc) = 1; puVar2 = *(undefined8 **)(param_1 + 0x128); *(undefined8 **)(param_1 + 0x128) = puVar3; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } return; } if (*(int *)(param_1 + 0x9c) == 3) { puVar3 = (undefined8 *)FUN_1811316e0(0x10); uVar1 = *(undefined4 *)(param_1 + 0x2c); *puVar3 = juce::AudioData:: ConverterInstance,juce::AudioData::Pointer_> ::vftable; *(undefined4 *)(puVar3 + 1) = uVar1; *(undefined4 *)((longlong)puVar3 + 0xc) = 1; puVar2 = *(undefined8 **)(param_1 + 0x128); *(undefined8 **)(param_1 + 0x128) = puVar3; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } return; } puVar3 = (undefined8 *)FUN_1811316e0(0x10); uVar1 = *(undefined4 *)(param_1 + 0x2c); *puVar3 = juce::AudioData:: ConverterInstance,juce::AudioData::Pointer_> ::vftable; *(undefined4 *)(puVar3 + 1) = uVar1; *(undefined4 *)((longlong)puVar3 + 0xc) = 1; puVar2 = *(undefined8 **)(param_1 + 0x128); *(undefined8 **)(param_1 + 0x128) = puVar3; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } return; } ############ FUN_ 18054b640 size=166 ############ void FUN_18054b640(longlong param_1,char param_2) { undefined4 uVar1; undefined8 *puVar2; undefined8 *puVar3; undefined **ppuVar4; if (param_2 == '\0') { if (*(int *)(param_1 + 0x9c) == 4) { puVar3 = (undefined8 *)FUN_1811316e0(0x10); ppuVar4 = juce::AudioData:: ConverterInstance,juce::AudioData::Pointer_> ::vftable; } else if (*(int *)(param_1 + 0x9c) == 3) { puVar3 = (undefined8 *)FUN_1811316e0(0x10); ppuVar4 = juce::AudioData:: ConverterInstance,juce::AudioData::Pointer_> ::vftable; } else { puVar3 = (undefined8 *)FUN_1811316e0(0x10); ppuVar4 = juce::AudioData:: ConverterInstance,juce::AudioData::Pointer_> ::vftable; } *(undefined4 *)((longlong)puVar3 + 0xc) = *(undefined4 *)(param_1 + 0x2c); *puVar3 = ppuVar4; } else { puVar3 = (undefined8 *)FUN_1811316e0(0x10); uVar1 = *(undefined4 *)(param_1 + 0x2c); *puVar3 = juce::AudioData:: ConverterInstance,juce::AudioData::Pointer_> ::vftable; *(undefined4 *)((longlong)puVar3 + 0xc) = uVar1; } *(undefined4 *)(puVar3 + 1) = 1; puVar2 = *(undefined8 **)(param_1 + 0x100); *(undefined8 **)(param_1 + 0x100) = puVar3; if (puVar2 != (undefined8 *)0x0) { /* WARNING: Could not recover jumptable at 0x00018054b6dd. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)*puVar2)(puVar2,1); return; } return; } ############ FUN_ 18054d8d0 size=1131 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18054d8d0(longlong param_1) { uint *puVar1; uint uVar2; undefined8 *puVar3; HRESULT HVar4; int iVar5; int iVar6; undefined8 *puVar7; undefined ***pppuVar8; undefined ***pppuVar9; char *pcVar10; uint uVar11; undefined1 auStackY_148 [32]; longlong *local_110; uint local_108 [2]; char *local_100; int local_f8 [2]; longlong *local_f0; longlong *local_e8; longlong *local_e0; undefined8 local_d8; undefined8 *local_d0; undefined8 *local_c8; undefined **local_b8; longlong local_b0; undefined ***local_80; undefined **local_78; longlong local_70; undefined ***local_40; ulonglong local_38; local_d8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStackY_148; uVar11 = 0; local_e0 = (longlong *)0x0; HVar4 = CoCreateInstance((IID *)&DAT_1824ae0a0,(LPUNKNOWN)0x0,1,(IID *)&DAT_1824adbb8,&local_e0); if (-1 < HVar4) { local_e8 = (longlong *)0x0; iVar5 = (**(code **)(*local_e0 + 0x18))(local_e0,2,1,&local_e8); if (-1 < iVar5) { local_108[0] = 0; iVar5 = (**(code **)(*local_e8 + 0x18))(local_e8,local_108); if ((-1 < iVar5) && (local_108[0] != 0)) { do { local_110 = (longlong *)0x0; iVar5 = (**(code **)(*local_e8 + 0x20))(local_e8,uVar11,&local_110); if (iVar5 < 0) { if (local_110 != (longlong *)0x0) { (**(code **)(*local_110 + 0x10))(); } } else { FUN_1813b4890(&local_100,local_110); if (*local_100 == '\0') { puVar1 = (uint *)(local_100 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if (local_110 != (longlong *)0x0) { (**(code **)(*local_110 + 0x10))(); } } else { local_f8[0] = 0; local_f0 = (longlong *)0x0; if (local_110 != (longlong *)0x0) { local_f0 = (longlong *)0x0; iVar5 = (**(code **)*local_110)(local_110,&DAT_1824adb10,&local_f0); if (-1 < iVar5) { (**(code **)(*local_f0 + 0x18))(local_f0,local_f8); } } iVar5 = local_f8[0]; if (local_f0 != (longlong *)0x0) { (**(code **)(*local_f0 + 0x10))(); } pcVar10 = local_100; iVar6 = 0; if (local_100 != *(char **)(param_1 + 0x230)) { iVar6 = FUN_18048cbc0(local_100,*(undefined8 *)(param_1 + 0x230)); } if ((iVar6 == 0) && (iVar5 == 1)) { puVar7 = (undefined8 *)FUN_1811316e0(0x130); local_b8 = std::_Func_impl_no_alloc<,void> ::vftable; local_80 = &local_b8; local_d0 = puVar7; local_b0 = param_1; FUN_18054a0b0(puVar7,&local_110,*(undefined1 *)(param_1 + 0x250),&local_b8); *puVar7 = juce::WasapiClasses::WASAPIInputDevice::vftable; puVar7[0x1f] = 0; puVar7[0x20] = 0; puVar7[0x21] = 0; puVar7[0x25] = 0; puVar3 = *(undefined8 **)(param_1 + 0x240); *(undefined8 **)(param_1 + 0x240) = puVar7; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } pcVar10 = local_100; if (local_80 != (undefined ***)0x0) { pppuVar8 = &local_b8; pppuVar9 = local_80; LAB_18054dc4a: (*(code *)(*pppuVar9)[4])(pppuVar9,pppuVar9 != pppuVar8); pcVar10 = local_100; } } else { iVar6 = 0; if (pcVar10 != *(char **)(param_1 + 0x228)) { iVar6 = FUN_18048cbc0(pcVar10,*(undefined8 *)(param_1 + 0x228)); } if ((iVar6 == 0) && (iVar5 == 0)) { puVar7 = (undefined8 *)FUN_1811316e0(0x108); local_78 = std:: _Func_impl_no_alloc<,void>:: vftable; local_40 = &local_78; local_c8 = puVar7; local_70 = param_1; FUN_18054a0b0(puVar7,&local_110,*(undefined1 *)(param_1 + 0x250),&local_78); *puVar7 = juce::WasapiClasses::WASAPIOutputDevice::vftable; puVar7[0x1f] = 0; puVar7[0x20] = 0; puVar3 = *(undefined8 **)(param_1 + 0x248); *(undefined8 **)(param_1 + 0x248) = puVar7; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } pcVar10 = local_100; if (local_40 != (undefined ***)0x0) { pppuVar8 = &local_78; pppuVar9 = local_40; goto LAB_18054dc4a; } } } puVar1 = (uint *)(pcVar10 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if (local_110 != (longlong *)0x0) { (**(code **)(*local_110 + 0x10))(); } } } uVar11 = uVar11 + 1; } while (uVar11 < local_108[0]); } } if (local_e8 != (longlong *)0x0) { (**(code **)(*local_e8 + 0x10))(); } } if (local_e0 != (longlong *)0x0) { (**(code **)(*local_e0 + 0x10))(); } } ############ FUN_ 18054e570 size=1515 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18054e570(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { int *piVar1; longlong *plVar2; LPVOID *ppv; undefined8 *puVar3; longlong lVar4; longlong *plVar5; undefined8 uVar6; HRESULT HVar7; int iVar8; longlong *plVar9; undefined8 *puVar10; uint *puVar11; undefined8 uVar12; uint uVar13; longlong **pplVar14; uint uVar15; bool bVar16; undefined1 auStackY_138 [32]; longlong *local_108; uint local_100; int local_fc; undefined8 local_f8; longlong *local_f0; longlong *local_e8; longlong *local_e0; longlong *local_d8; longlong *local_d0; longlong *local_c8; longlong *local_c0; longlong *local_b8; longlong *local_b0; longlong *local_a8; longlong *local_a0; undefined8 local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; undefined8 local_78; undefined8 local_70; undefined4 local_68; undefined4 local_64; undefined4 local_60; undefined4 local_5c; undefined4 local_58; ulonglong local_50; local_70 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStackY_138; local_90 = param_5; ppv = (LPVOID *)(param_1 + 0x90); uVar15 = 0; local_f8 = param_3; local_98 = param_4; if (*ppv == (LPVOID)0x0) { if (*ppv != (longlong *)0x0) { (**(code **)(*(longlong *)*ppv + 0x10))(); } *ppv = (LPVOID)0x0; HVar7 = CoCreateInstance((IID *)&DAT_1824ae0a0,(LPUNKNOWN)0x0,1,(IID *)&DAT_1824adbb8,ppv); if (HVar7 < 0) { } plVar9 = (longlong *)FUN_1811316e0(0x18); *(undefined4 *)(plVar9 + 1) = 0; *plVar9 = (longlong) juce::WasapiClasses::WASAPIAudioIODeviceType::ChangeNotificationClient::vftable; plVar5 = plVar9 + 2; local_d0 = plVar5; local_c8 = plVar9; if (*(longlong *)(param_1 + 0xa0) == 0) { puVar10 = (undefined8 *)FUN_1811316e0(0x18); *(undefined4 *)(puVar10 + 1) = 0; *puVar10 = juce:: WeakReference ::SharedPointer::vftable; puVar10[2] = param_1; if (*(undefined8 **)(param_1 + 0xa0) != puVar10) { LOCK(); *(int *)(puVar10 + 1) = *(int *)(puVar10 + 1) + 1; UNLOCK(); puVar3 = *(undefined8 **)(param_1 + 0xa0); *(undefined8 **)(param_1 + 0xa0) = puVar10; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*puVar3)(puVar3,1); } } } } lVar4 = *(longlong *)(param_1 + 0xa0); *plVar5 = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } if ((undefined **)*plVar9 == juce::WasapiClasses::WASAPIAudioIODeviceType::ChangeNotificationClient::vftable) { *(int *)(plVar9 + 1) = (int)plVar9[1] + 1; } else { (*(code *)((undefined **)*plVar9)[1])(plVar9); } plVar5 = *(longlong **)(param_1 + 0x98); if (plVar5 != (longlong *)0x0) { if ((undefined **)*plVar5 == juce::WasapiClasses::WASAPIAudioIODeviceType::ChangeNotificationClient::vftable) { plVar2 = plVar5 + 1; *(int *)plVar2 = (int)*plVar2 + -1; if ((int)*plVar2 == 0) { (*(code *)juce::WasapiClasses::WASAPIAudioIODeviceType::ChangeNotificationClient::vftable [8])(plVar5,1); } } else { (*(code *)((undefined **)*plVar5)[2])(); } } *(longlong **)(param_1 + 0x98) = plVar9; (**(code **)(*(longlong *)*ppv + 0x30))(*ppv,plVar9); } uVar6 = local_f8; FUN_18054e490(&local_a0,*ppv,0); FUN_18054e490(&local_a8,*ppv,1); local_100 = 0; local_d8 = (longlong *)0x0; iVar8 = (**(code **)(*(longlong *)*ppv + 0x18))(*ppv,2,1,&local_d8); if ((-1 < iVar8) && (iVar8 = (**(code **)(*local_d8 + 0x18))(local_d8,&local_100), -1 < iVar8)) { if (local_100 != 0) { do { local_108 = (longlong *)0x0; iVar8 = (**(code **)(*local_d8 + 0x20))(local_d8,uVar15,&local_108); if (iVar8 < 0) { if (local_108 != (longlong *)0x0) { (**(code **)(*local_108 + 0x10))(); } } else { local_fc = 0; iVar8 = (**(code **)(*local_108 + 0x30))(local_108,&local_fc); if ((iVar8 < 0) || (local_fc != 1)) { if (local_108 != (longlong *)0x0) { (**(code **)(*local_108 + 0x10))(); } } else { FUN_1813b4890(&local_e0,local_108); local_e8 = (longlong *)&DAT_1821dbf98; local_f0 = (longlong *)0x0; iVar8 = (**(code **)(*local_108 + 0x20))(local_108,0,&local_f0); if (iVar8 < 0) { if (local_f0 != (longlong *)0x0) { (**(code **)(*local_f0 + 0x10))(); } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar13 = DAT_1821dbf88 - 1; UNLOCK(); bVar16 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar13; if (bVar16) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar11 = (uint *)(local_e0 + -2); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if (local_108 != (longlong *)0x0) { (**(code **)(*local_108 + 0x10))(); } } else { local_88 = 0; local_80 = 0; local_78 = 0; local_68 = 0xa45c254e; local_64 = 0x4efddf1c; local_60 = 0xd1672080; local_5c = 0xe050a846; local_58 = 0xe; iVar8 = (**(code **)(*local_f0 + 0x28))(local_f0,&local_68,&local_88); if (-1 < iVar8) { FUN_18049c800(&local_c0,local_80); local_e8 = local_c0; local_c0 = (longlong *)&DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar13 = DAT_1821dbf88 - 1; UNLOCK(); bVar16 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar13; if (bVar16) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } PropVariantClear((PROPVARIANT *)&local_88); if (local_f0 != (longlong *)0x0) { (**(code **)(*local_f0 + 0x10))(); } iVar8 = FUN_1813b4810(&local_108); plVar5 = local_e0; if (iVar8 == 0) { iVar8 = 0; if (local_e0 != local_a0) { iVar8 = FUN_18048cbc0(local_e0); } uVar13 = (uint)(iVar8 == 0); local_b8 = plVar5; if ((*(uint *)(plVar5 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(plVar5 + -2) = (int)plVar5[-2] + 1; UNLOCK(); } FUN_18122dbb0(local_98,uVar13 - 1,&local_b8); local_b0 = local_e8; if ((*(uint *)(local_e8 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_e8 + -2) = (int)local_e8[-2] + 1; UNLOCK(); } pplVar14 = &local_b0; uVar12 = param_2; LAB_18054ea35: FUN_18122dbb0(uVar12,uVar13 - 1,pplVar14); } else if (iVar8 == 1) { iVar8 = 0; if (local_e0 != local_a8) { iVar8 = FUN_18048cbc0(local_e0); } uVar13 = (uint)(iVar8 == 0); local_d0 = plVar5; if ((*(uint *)(plVar5 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(plVar5 + -2) = (int)plVar5[-2] + 1; UNLOCK(); } FUN_18122dbb0(local_90,uVar13 - 1,&local_d0); local_c8 = local_e8; if ((*(uint *)(local_e8 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_e8 + -2) = (int)local_e8[-2] + 1; UNLOCK(); } pplVar14 = &local_c8; uVar12 = uVar6; goto LAB_18054ea35; } puVar11 = (uint *)(local_e8 + -2); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_e0 + -2); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if (local_108 != (longlong *)0x0) { (**(code **)(*local_108 + 0x10))(); } } } } uVar15 = uVar15 + 1; } while (uVar15 < local_100); } FUN_18122cad0(uVar6); FUN_18122cad0(param_2); } if (local_d8 != (longlong *)0x0) { (**(code **)(*local_d8 + 0x10))(); } puVar11 = (uint *)(local_a8 + -2); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_a0 + -2); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } } ############ FUN_ 18054e2d0 size=369 ############ undefined8 * FUN_18054e2d0(longlong param_1,undefined8 *param_2,undefined8 *param_3) { int iVar1; char cVar2; int iVar3; int iVar4; undefined8 uVar5; undefined8 uVar6; undefined8 uVar7; undefined8 *puVar8; longlong lVar9; int iVar10; uVar5 = *param_2; iVar10 = 0; iVar1 = *(int *)(param_1 + 0x54); if (0 < iVar1) { lVar9 = 0; puVar8 = *(undefined8 **)(param_1 + 0x48); do { iVar3 = FUN_18048cbc0(uVar5,*puVar8); if (iVar3 == 0) goto LAB_18054e344; iVar10 = iVar10 + 1; lVar9 = lVar9 + 1; puVar8 = puVar8 + 1; } while (lVar9 < iVar1); } iVar10 = -1; LAB_18054e344: uVar5 = *param_3; iVar3 = 0; iVar1 = *(int *)(param_1 + 0x74); if (0 < iVar1) { lVar9 = 0; puVar8 = *(undefined8 **)(param_1 + 0x68); do { iVar4 = FUN_18048cbc0(uVar5,*puVar8); if (iVar4 == 0) goto LAB_18054e382; iVar3 = iVar3 + 1; lVar9 = lVar9 + 1; puVar8 = puVar8 + 1; } while (lVar9 < iVar1); } iVar3 = -1; LAB_18054e382: if ((-1 < iVar10) || (-1 < iVar3)) { uVar5 = FUN_1811316e0(0x328); if (*(char *)*param_2 != '\0') { param_3 = param_2; } uVar6 = FUN_181249970(param_1 + 0x78,iVar3); uVar7 = FUN_181249970(param_1 + 0x58,iVar10); puVar8 = (undefined8 *) FUN_18054b9d0(uVar5,param_3,param_1 + 8,uVar7,uVar6,*(undefined1 *)(param_1 + 0x88)); cVar2 = FUN_18054bdc0(puVar8); if (cVar2 != '\0') { return puVar8; } if (puVar8 != (undefined8 *)0x0) { (**(code **)*puVar8)(puVar8,1); } } return (undefined8 *)0x0; } ############ FUN_ 180552290 size=251 ############ undefined8 FUN_180552290(longlong param_1,undefined8 *param_2,undefined8 *param_3) { int iVar1; int iVar2; undefined8 uVar3; int iVar4; int iVar5; ulonglong uVar6; ulonglong uVar7; ulonglong uVar8; undefined8 *puVar9; uVar3 = *param_2; uVar6 = 0; iVar1 = *(int *)(param_1 + 0x54); if (0 < iVar1) { puVar9 = *(undefined8 **)(param_1 + 0x48); uVar8 = uVar6; uVar7 = uVar6; do { iVar4 = (int)uVar8; iVar2 = FUN_18048cbc0(uVar3,*puVar9); if (iVar2 == 0) goto LAB_1805522f5; uVar8 = (ulonglong)(iVar4 + 1); uVar7 = uVar7 + 1; puVar9 = puVar9 + 1; } while ((longlong)uVar7 < (longlong)iVar1); } iVar4 = -1; LAB_1805522f5: uVar3 = *param_3; iVar1 = *(int *)(param_1 + 100); if (0 < iVar1) { puVar9 = *(undefined8 **)(param_1 + 0x58); uVar8 = uVar6; do { iVar5 = (int)uVar6; iVar2 = FUN_18048cbc0(uVar3,*puVar9); if (iVar2 == 0) goto LAB_180552332; uVar6 = (ulonglong)(iVar5 + 1); uVar8 = uVar8 + 1; puVar9 = puVar9 + 1; } while ((longlong)uVar8 < (longlong)iVar1); } iVar5 = -1; LAB_180552332: if ((iVar4 < 0) && (iVar5 < 0)) { uVar3 = 0; } else { uVar3 = FUN_1811316e0(0x600); if (*(char *)*param_2 != '\0') { param_3 = param_2; } uVar3 = FUN_1805509c0(uVar3,param_3,iVar4,iVar5); } return uVar3; } ############ FUN_ 180552970 size=125 ############ void FUN_180552970(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x50); *puVar1 = juce::Win32MidiService::Win32InputWrapper::vftable; puVar1[1] = param_2; puVar1[2] = param_4; *(undefined4 *)((longlong)puVar1 + 0x1c) = 0; puVar1[4] = 0; puVar1[5] = 0x1000; /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 1805531b0 size=952 ############ void FUN_1805531b0(longlong *param_1,longlong param_2,longlong *param_3) { uint *_Memory; int *piVar1; LPCRITICAL_SECTION lpCriticalSection; longlong *plVar2; uint uVar3; longlong lVar4; MMRESULT MVar5; undefined8 *dwInstance; int iVar6; uint *puVar7; longlong *plVar8; longlong *plVar9; UINT UVar10; bool bVar11; UINT local_res20; undefined1 *local_b8; longlong *local_a8; int local_9c; undefined1 *local_98; longlong local_90; undefined1 *local_88; longlong local_80; HMIDIIN local_78; undefined8 local_70; LPCRITICAL_SECTION local_68; undefined8 *local_60; undefined1 local_58 [32]; local_70 = 0xfffffffffffffffe; local_res20 = 0xffffffff; local_b8 = &DAT_1821dbf98; FUN_180554b70(&local_a8); UVar10 = 0; plVar9 = local_a8; if (0 < local_9c) { do { local_98 = (undefined1 *)*plVar9; puVar7 = (uint *)(local_98 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); *puVar7 = *puVar7 + 1; UNLOCK(); } local_90 = plVar9[1]; _Memory = (uint *)(local_90 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if (local_90 == *param_3) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(local_90,*param_3); } if (iVar6 == 0) { if ((*(uint *)(local_98 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_98 + -0x10) = *(int *)(local_98 + -0x10) + 1; UNLOCK(); } LOCK(); local_b8 = local_98; UNLOCK(); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar11 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar11) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar7 = (uint *)(local_90 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_res20 = UVar10; if ((*(uint *)(local_98 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_98 + -0x10); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 0) { /* WARNING: Subroutine does not return */ free(local_98 + -0x10); } } break; } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } UVar10 = UVar10 + 1; plVar9 = plVar9 + 2; } while ((int)UVar10 < local_9c); } lpCriticalSection = (LPCRITICAL_SECTION)(param_2 + 0x20); local_68 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); plVar9 = (longlong *)(param_2 + 0x50); plVar8 = (longlong *)*plVar9; plVar2 = plVar8 + *(int *)(param_2 + 0x5c); if (plVar8 != plVar2) { lVar4 = *param_3; do { if (*(longlong *)(*plVar8 + 0x18) == lVar4) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*(undefined8 *)(*plVar8 + 0x18),lVar4); } if (iVar6 == 0) { lVar4 = *plVar8; *param_1 = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } LeaveCriticalSection(lpCriticalSection); FUN_180555c90(&local_a8); /* WARNING: Subroutine does not return */ free(local_a8); } plVar8 = plVar8 + 1; } while (plVar8 != plVar2); } dwInstance = (undefined8 *)FUN_1811316e0(0x2e80); local_88 = local_b8; if ((*(uint *)(local_b8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_b8 + -0x10) = *(int *)(local_b8 + -0x10) + 1; UNLOCK(); } local_80 = *param_3; if ((*(uint *)(local_80 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_80 + -0x10) = *(int *)(local_80 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(dwInstance + 1) = 0; *dwInstance = juce::Win32MidiService::MidiInCollector::vftable; dwInstance[2] = local_b8; if ((*(uint *)(local_b8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_b8 + -0x10) = *(int *)(local_b8 + -0x10) + 1; UNLOCK(); } dwInstance[3] = local_80; if ((*(uint *)(local_80 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_80 + -0x10) = *(int *)(local_80 + -0x10) + 1; UNLOCK(); } dwInstance[4] = 0; dwInstance[5] = param_2; InitializeCriticalSection((LPCRITICAL_SECTION)(dwInstance + 6)); dwInstance[0xc] = 0; dwInstance[0xd] = 0; *(undefined1 *)(dwInstance + 0xe) = 0; dwInstance[0xf] = 0; FUN_1804d1090(&local_88); LOCK(); *(int *)(dwInstance + 1) = *(int *)(dwInstance + 1) + 1; UNLOCK(); local_60 = dwInstance; MVar5 = midiInOpen(&local_78,local_res20,0x180552e30,(DWORD_PTR)dwInstance,0x30000); if (MVar5 != 0) { FUN_1805499d0(local_58,"Failed to create Windows input device wrapper"); /* WARNING: Subroutine does not return */ _CxxThrowException(local_58,(ThrowInfo *)&DAT_1825feea8); } dwInstance[4] = local_78; iVar6 = *(int *)(param_2 + 0x5c) + 1; if (*(int *)(param_2 + 0x58) < iVar6) { FUN_18047cb30(plVar9,*(int *)(param_2 + 0x5c) + 9 + iVar6 / 2 & 0xfffffff8); } iVar6 = *(int *)(param_2 + 0x5c); *(int *)(param_2 + 0x5c) = iVar6 + 1; *(undefined8 **)(*plVar9 + (longlong)iVar6 * 8) = dwInstance; LOCK(); *(int *)(dwInstance + 1) = *(int *)(dwInstance + 1) + 1; UNLOCK(); *param_1 = (longlong)dwInstance; LeaveCriticalSection(lpCriticalSection); FUN_180555c90(&local_a8); /* WARNING: Subroutine does not return */ free(local_a8); } ############ FUN_ 180552af0 size=67 ############ void FUN_180552af0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x18); FUN_180553670(uVar1,param_1,param_2,param_4,uVar2); return; } ############ FUN_ 180553670 size=1078 ############ void FUN_180553670(undefined8 *param_1,undefined8 param_2,longlong *param_3) { uint *_Memory; longlong lVar1; longlong lVar2; longlong lVar3; undefined8 uVar4; int iVar5; MMRESULT MVar6; uint uVar7; undefined8 *puVar8; uint *puVar9; int *piVar10; UINT UVar11; longlong lVar12; longlong *plVar13; HMIDIOUT pHVar14; UINT uDeviceID; bool bVar15; undefined1 *local_res10; HMIDIOUT local_res20; longlong *local_b8; int local_ac; undefined8 *local_a8; undefined1 *local_a0; longlong local_98; undefined1 *local_90; longlong local_88; undefined8 *local_80; longlong local_78; longlong local_70; undefined8 local_68; undefined1 local_60 [32]; local_68 = 0xfffffffffffffffe; *param_1 = juce::Win32MidiService::Win32OutputWrapper::vftable; param_1[1] = param_2; local_a8 = param_1 + 2; *local_a8 = 0; FUN_180554470(&local_b8); local_res10 = &DAT_1821dbf98; uDeviceID = 0; plVar13 = local_b8; UVar11 = 0xffffffff; if (0 < local_ac) { do { local_a0 = (undefined1 *)*plVar13; puVar9 = (uint *)(local_a0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } local_98 = plVar13[1]; _Memory = (uint *)(local_98 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if (local_98 == *param_3) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(local_98,*param_3); } if (iVar5 == 0) { if ((*(uint *)(local_a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a0 + -0x10) = *(int *)(local_a0 + -0x10) + 1; UNLOCK(); } LOCK(); local_res10 = local_a0; UNLOCK(); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar15 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar15) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar9 = (uint *)(local_98 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((*(uint *)(local_a0 + -0x10) & 0x30000000) == 0) { LOCK(); piVar10 = (int *)(local_a0 + -0x10); iVar5 = *piVar10; *piVar10 = *piVar10 + -1; UNLOCK(); if (iVar5 == 0) { /* WARNING: Subroutine does not return */ free(local_a0 + -0x10); } } UVar11 = uDeviceID; if (uDeviceID != 0xffffffff) goto LAB_1805538d2; break; } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar7 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } uDeviceID = uDeviceID + 1; plVar13 = plVar13 + 2; } while ((int)uDeviceID < local_ac); } uDeviceID = UVar11; UVar11 = 0; if (0 < local_ac) { do { FUN_180555f30(&local_b8,&local_78); iVar5 = FUN_18049d2f0(local_78,"microsoft"); puVar9 = (uint *)(local_70 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_78 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (-1 < iVar5) { uDeviceID = UVar11; } UVar11 = UVar11 + 1; } while ((int)UVar11 < local_ac); } LAB_1805538d2: iVar5 = *(int *)(param_1[1] + 0x6c) + -1; if (-1 < iVar5) { lVar1 = *param_3; lVar12 = (longlong)iVar5; lVar2 = *(longlong *)(param_1[1] + 0x60); do { lVar3 = *(longlong *)(lVar2 + lVar12 * 8); if (*(longlong *)(lVar3 + 0x20) == lVar1) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(*(undefined8 *)(lVar3 + 0x20),*param_3); } if (iVar5 == 0) { FUN_180554b10(local_a8,lVar3); uVar7 = *(uint *)(local_res10 + -0x10); goto LAB_180553a59; } lVar12 = lVar12 + -1; } while (-1 < lVar12); } iVar5 = 3; do { local_res20 = (HMIDIOUT)0x0; MVar6 = midiOutOpen(&local_res20,uDeviceID,0,0,0); if (MVar6 == 0) { puVar8 = (undefined8 *)FUN_1811316e0(0x30); local_90 = local_res10; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } local_88 = *param_3; if ((*(uint *)(local_88 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_88 + -0x10) = *(int *)(local_88 + -0x10) + 1; UNLOCK(); } uVar4 = param_1[1]; *(undefined4 *)(puVar8 + 1) = 0; *puVar8 = juce::Win32MidiService::MidiOutHandle::vftable; puVar8[2] = uVar4; pHVar14 = local_res20; local_80 = puVar8; FUN_180549a80(puVar8 + 3,&local_90); puVar8[5] = pHVar14; lVar1 = puVar8[2]; iVar5 = *(int *)(lVar1 + 0x6c) + 1; if (*(int *)(lVar1 + 0x68) < iVar5) { FUN_18047cb30(lVar1 + 0x60,*(int *)(lVar1 + 0x6c) + 9 + iVar5 / 2 & 0xfffffff8); } iVar5 = *(int *)(lVar1 + 0x6c); *(int *)(lVar1 + 0x6c) = iVar5 + 1; *(undefined8 **)(*(longlong *)(lVar1 + 0x60) + (longlong)iVar5 * 8) = puVar8; FUN_1804d1090(&local_90); FUN_180554b10(local_a8,puVar8); uVar7 = *(uint *)(local_res10 + -0x10); LAB_180553a59: piVar10 = (int *)(local_res10 + -0x10); if ((uVar7 & 0x30000000) == 0) { LOCK(); iVar5 = *piVar10; *piVar10 = *piVar10 + -1; UNLOCK(); if (iVar5 == 0) { /* WARNING: Subroutine does not return */ free(piVar10); } } FUN_180555c90(&local_b8); /* WARNING: Subroutine does not return */ free(local_b8); } if (MVar6 != 4) break; Sleep(100); iVar5 = iVar5 + -1; } while (-1 < iVar5); FUN_1805499d0(local_60,"Failed to create Windows output device wrapper"); /* WARNING: Subroutine does not return */ _CxxThrowException(local_60,(ThrowInfo *)&DAT_1825feea8); } ############ FUN_ 180553f00 size=280 ############ undefined8 FUN_180553f00(void) { undefined8 *puVar1; undefined8 *puVar2; undefined8 *puVar3; if (DAT_182673e90 == (undefined8 *)0x0) { EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673e60); if ((DAT_182673e90 == (undefined8 *)0x0) && (DAT_18267ab78 == '\0')) { DAT_18267ab78 = 1; puVar2 = (undefined8 *)FUN_1811316e0(0x10); FUN_1812a7230(puVar2); *puVar2 = juce::MidiService::vftable; puVar2[1] = 0; puVar3 = (undefined8 *)FUN_1811316e0(0x70); puVar3[2] = 0xffffffffffffffff; *(undefined4 *)(puVar3 + 3) = 0; *puVar3 = juce::Win32MidiService::vftable; puVar3[1] = juce::Win32MidiService::vftable; InitializeCriticalSection((LPCRITICAL_SECTION)(puVar3 + 4)); puVar3[10] = 0; puVar3[0xb] = 0; puVar3[0xc] = 0; puVar3[0xd] = 0; puVar1 = (undefined8 *)puVar2[1]; puVar2[1] = puVar3; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } DAT_18267ab78 = '\0'; DAT_182673e90 = puVar2; } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673e60); } return DAT_182673e90[1]; } ############ FUN_ 180556230 size=128 ############ undefined8 * FUN_180556230(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x20); *puVar2 = 0; puVar2[1] = 0; puVar2[2] = 0; lVar1 = *(longlong *)(param_2 + 0x18); puVar2[3] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } FUN_1812217a0(puVar2,param_2,param_3,param_4,uVar3); *param_1 = puVar2; return param_1; } ############ FUN_ 1812217a0 size=226 ############ void FUN_1812217a0(longlong param_1,longlong param_2) { undefined8 *puVar1; longlong lVar2; longlong *plVar3; undefined8 *puVar4; undefined8 uVar5; longlong *plVar6; undefined8 *puVar7; plVar3 = (longlong *)(param_1 + 8); for (puVar1 = *(undefined8 **)(param_2 + 8); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { uVar5 = FUN_1811316e0(0x20); plVar6 = (longlong *)FUN_181247410(uVar5,puVar1); *plVar6 = *plVar3; *plVar3 = (longlong)plVar6; plVar3 = plVar6; } puVar4 = (undefined8 *)(param_1 + 0x10); for (puVar1 = *(undefined8 **)(param_2 + 0x10); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { puVar7 = (undefined8 *)FUN_1811316e0(0x18); *puVar7 = 0; lVar2 = puVar1[1]; puVar7[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar2 = puVar1[2]; puVar7[2] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } *puVar7 = *puVar4; *puVar4 = puVar7; puVar4 = puVar7; } return; } ############ FUN_ 180557d90 size=500 ############ void FUN_180557d90(longlong *param_1,byte *param_2) { byte bVar1; byte bVar2; bool bVar3; byte bVar4; longlong lVar5; uint uVar6; int iVar7; uint uVar8; byte *pbVar9; int iVar10; int iVar11; int iVar12; int iVar13; int iVar14; int iVar15; bVar3 = false; iVar7 = 0; LAB_180557dc0: if (*param_2 == 0) { return; } iVar15 = 0; pbVar9 = param_2; iVar14 = iVar7; iVar10 = 0; do { bVar1 = *pbVar9; pbVar9 = pbVar9 + 1; uVar8 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar8 = 0x7f; uVar6 = 0x40; iVar12 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar8 = uVar8 >> 1; iVar12 = iVar12 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } uVar8 = bVar1 & uVar8; for (; (iVar12 = iVar12 + -1, -1 < iVar12 && ((*pbVar9 & 0xc0) == 0x80)); pbVar9 = pbVar9 + 1) { uVar8 = *pbVar9 & 0x3f | uVar8 << 6; } } if (uVar8 == 0) { bVar3 = true; iVar12 = iVar14; iVar11 = iVar10; goto LAB_180557ef5; } iVar12 = iVar14 + 1; iVar11 = iVar10 + 1; if (uVar8 == 0xd) { iVar15 = 1; bVar1 = *pbVar9; uVar8 = (uint)bVar1; if (-1 < (char)bVar1) goto LAB_180557ec3; uVar8 = 0x7f; uVar6 = 0x40; iVar13 = 0; if ((bVar1 & 0x40) != 0) goto LAB_180557e85; goto LAB_180557e95; } iVar14 = iVar12; iVar10 = iVar11; } while (uVar8 != 10); iVar15 = 1; goto LAB_180557ef5; while( true ) { uVar8 = uVar8 >> 1; iVar13 = iVar13 + 1; uVar6 = uVar6 >> 1; if ((bVar1 & uVar6) == 0) break; LAB_180557e85: if (uVar6 < 9) break; } LAB_180557e95: uVar8 = bVar1 & uVar8; lVar5 = 1; if (0 < (longlong)iVar13) { do { if ((pbVar9[lVar5] & 0xc0) != 0x80) break; uVar8 = pbVar9[lVar5] & 0x3f | uVar8 << 6; lVar5 = lVar5 + 1; } while (lVar5 <= iVar13); } LAB_180557ec3: if (uVar8 == 10) { pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar4 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar4))) { pbVar9 = pbVar9 + 1; bVar4 = bVar4 >> 1; bVar2 = bVar1 & bVar4; } } iVar15 = 2; iVar12 = iVar14 + 2; iVar11 = iVar10 + 2; } LAB_180557ef5: lVar5 = FUN_1811316e0(0x18); FUN_18124a8a0(lVar5,param_2); *(int *)(lVar5 + 8) = iVar7; *(int *)(lVar5 + 0xc) = iVar11; *(int *)(lVar5 + 0x10) = iVar11 - iVar15; iVar14 = *(int *)((longlong)param_1 + 0xc); iVar7 = iVar14 + 1; if ((int)param_1[1] < iVar7) { if (iVar7 < 0) { iVar7 = iVar14 + 2; } FUN_18047cb30(param_1,iVar14 + 9 + (iVar7 >> 1) & 0xfffffff8); } iVar7 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar7 + 1; *(longlong *)(*param_1 + (longlong)iVar7 * 8) = lVar5; param_2 = pbVar9; iVar7 = iVar12; if (bVar3) { return; } goto LAB_180557dc0; } ############ FUN_ 1813c6950 size=1169 ############ void FUN_1813c6950(longlong *param_1,longlong *param_2,int param_3,char param_4) { uint uVar1; uint uVar2; int iVar3; char *pcVar4; longlong lVar5; undefined4 uVar6; undefined8 *puVar7; undefined8 uVar8; longlong *plVar9; longlong *plVar10; int iVar11; uint *puVar12; ulonglong uVar13; void *_Src; longlong lVar14; longlong *plVar15; uint uVar16; undefined4 uVar17; longlong *plVar18; uint uVar19; ulonglong uVar20; char *local_b0; longlong local_a8; longlong *local_a0; undefined8 local_98; longlong *local_90; undefined8 local_88; undefined4 local_80; undefined1 local_7c; undefined1 local_78 [8]; char *local_70; longlong local_68; longlong *local_60; longlong *local_58; undefined8 local_50; char *local_48; local_50 = 0xfffffffffffffffe; pcVar4 = (char *)*param_2; if (*pcVar4 != '\0') { if (param_4 == '\0') { plVar18 = (longlong *)0x0; local_88 = 0; uVar17 = 0; local_80 = 0; local_7c = 0; local_90 = param_1; FUN_1813c8260(&local_90,param_3); uVar6 = local_80; lVar14 = local_88; uVar19 = local_88._4_4_; uVar20 = (ulonglong)(int)local_88._4_4_; plVar15 = plVar18; if (local_88._4_4_ < *(uint *)((longlong)param_1 + 0xc)) { plVar15 = *(longlong **)(*param_1 + uVar20 * 8); } if ((*(uint *)(pcVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar4 + -0x10) = *(int *)(pcVar4 + -0x10) + 1; UNLOCK(); } local_b0 = pcVar4; if (plVar15 != (longlong *)0x0) { uVar8 = FUN_1812491d0(plVar15,&local_68,local_80); plVar9 = (longlong *)FUN_1812490c0(plVar15,local_78,0,uVar6); local_58 = plVar9; plVar10 = (longlong *)FUN_181232d30(plVar9,&local_b0); local_a8 = *plVar10; if ((*(uint *)(local_a8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a8 + -0x10) = *(int *)(local_a8 + -0x10) + 1; UNLOCK(); } puVar12 = (uint *)(*plVar9 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } local_58 = &local_a8; puVar7 = (undefined8 *)FUN_181232d30(&local_a8,uVar8); local_70 = (char *)*puVar7; if ((*(uint *)(local_70 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_70 + -0x10) = *(int *)(local_70 + -0x10) + 1; UNLOCK(); } puVar12 = (uint *)(local_a8 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } local_48 = local_b0; puVar12 = (uint *)(local_b0 + -0x10); local_b0 = local_70; if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_68 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } *(undefined4 *)(param_1 + 0x14) = 0xffffffff; local_a0 = (longlong *)0x0; local_98 = 0; FUN_180557d90(&local_a0,local_b0); plVar9 = (longlong *)*local_a0; if (plVar15 != (longlong *)0x0) { uVar17 = (undefined4)plVar15[1]; } *(undefined4 *)(plVar9 + 1) = uVar17; if (-1 < lVar14) { iVar11 = *(int *)((longlong)param_1 + 0xc); if ((int)uVar19 < iVar11) { plVar15 = (longlong *)(*param_1 + uVar20 * 8); local_60 = (longlong *)*plVar15; if (local_60 == plVar9) { local_60 = plVar18; } *plVar15 = (longlong)plVar9; if (local_60 != (longlong *)0x0) { puVar12 = (uint *)(*local_60 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar19 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar19 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } /* WARNING: Subroutine does not return */ free(local_60); } } else { if ((int)param_1[1] < iVar11 + 1) { FUN_18047cb30(param_1,iVar11 + 9 + (iVar11 + 1) / 2 & 0xfffffff8); } iVar11 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar11 + 1; *(longlong **)(*param_1 + (longlong)iVar11 * 8) = plVar9; } } if ((1 < local_98._4_4_) && (uVar1 = local_98._4_4_ - 1, 0 < (int)uVar1)) { plVar15 = local_a0 + 1; iVar11 = *(int *)((longlong)param_1 + 0xc) + uVar1; if ((int)param_1[1] < iVar11) { FUN_18047cb30(param_1,iVar11 + 8 + iVar11 / 2 & 0xfffffff8); } uVar16 = uVar19 + 1; uVar2 = *(uint *)((longlong)param_1 + 0xc); if (uVar16 < uVar2) { _Src = (void *)(*param_1 + (longlong)(int)uVar16 * 8); memmove((void *)((longlong)_Src + (longlong)(int)uVar1 * 8),_Src, (longlong)(int)(uVar2 - uVar16) << 3); lVar14 = *param_1 + (longlong)(int)uVar16 * 8; } else { lVar14 = *param_1 + (longlong)(int)uVar2 * 8; } if (0 < (int)uVar1) { lVar14 = lVar14 - (longlong)plVar15; uVar13 = (ulonglong)uVar1; do { *(longlong *)((longlong)plVar15 + lVar14) = *plVar15; plVar15 = plVar15 + 1; uVar13 = uVar13 - 1; } while (uVar13 != 0); } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + uVar1; } iVar11 = (int)plVar9[1]; if ((int)uVar19 < *(int *)((longlong)param_1 + 0xc)) { lVar14 = uVar20 * 8; do { lVar5 = *(longlong *)(lVar14 + *param_1); *(int *)(lVar5 + 8) = iVar11; iVar11 = iVar11 + *(int *)(lVar5 + 0xc); uVar19 = (int)uVar20 + 1; uVar20 = (ulonglong)uVar19; lVar14 = lVar14 + 8; } while ((int)uVar19 < *(int *)((longlong)param_1 + 0xc)); } FUN_1813c6ed0(param_1); iVar11 = FUN_180493130(param_2); plVar15 = (longlong *)param_1[2]; plVar9 = (longlong *) ((ulonglong) ((longlong)(plVar15 + *(int *)((longlong)param_1 + 0x1c)) + (7 - (longlong)plVar15)) >> 3); if (plVar15 + *(int *)((longlong)param_1 + 0x1c) < plVar15) { plVar9 = plVar18; } if (plVar9 != (longlong *)0x0) { do { iVar3 = *(int *)(*plVar15 + 8); if (param_3 <= iVar3) { FUN_1813c8260(*plVar15,iVar3 + iVar11); } plVar15 = plVar15 + 1; plVar18 = (longlong *)((longlong)plVar18 + 1); } while (plVar18 != plVar9); } iVar11 = *(int *)((longlong)param_1 + 0xb4); while (0 < iVar11) { iVar11 = iVar11 + -1; if ((*(int *)((longlong)param_1 + 0xb4) <= iVar11) && (iVar11 = *(int *)((longlong)param_1 + 0xb4) + -1, iVar11 < 0)) break; plVar15 = *(longlong **)(param_1[0x15] + (longlong)iVar11 * 8); (**(code **)(*plVar15 + 8))(plVar15,param_2,param_3); } /* WARNING: Subroutine does not return */ free(local_a0); } puVar7 = (undefined8 *)FUN_1811316e0(0x20); *puVar7 = juce::CodeDocument::InsertAction::vftable; puVar7[1] = param_1; lVar14 = *param_2; puVar7[2] = lVar14; if ((*(uint *)(lVar14 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar14 + -0x10) = *(int *)(lVar14 + -0x10) + 1; UNLOCK(); } *(int *)(puVar7 + 3) = param_3; FUN_1813526d0(param_1 + 4); } return; } ############ FUN_ 1813c6ed0 size=321 ############ void FUN_1813c6ed0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; longlong lVar2; longlong lVar3; int iVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; iVar4 = *(int *)((longlong)param_1 + 0xc); while ((0 < iVar4 && (*(int *)(*(longlong *)(*param_1 + (longlong)(iVar4 + -1) * 8) + 0xc) == 0))) { if (iVar4 == 1) { LAB_1813c6f36: FUN_18055c880(param_1); if ((int)param_1[1] != 0) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } *(undefined4 *)(param_1 + 1) = 0; } else { lVar2 = *(longlong *)(*param_1 + (longlong)(iVar4 + -2) * 8); if (*(int *)(lVar2 + 0x10) != *(int *)(lVar2 + 0xc)) break; if (iVar4 < 2) goto LAB_1813c6f36; FUN_18055c460(param_1,iVar4 + -1,1,param_4,uVar5); } iVar4 = *(int *)((longlong)param_1 + 0xc); } if (((0 < *(int *)((longlong)param_1 + 0xc)) && (lVar2 = *(longlong *)(*param_1 + (longlong)(*(int *)((longlong)param_1 + 0xc) + -1) * 8), lVar2 != 0)) && (*(int *)(lVar2 + 0x10) != *(int *)(lVar2 + 0xc))) { lVar3 = FUN_1811316e0(0x18); iVar4 = *(int *)(lVar2 + 8); iVar1 = *(int *)(lVar2 + 0xc); FUN_18124a8a0(lVar3,&DAT_1821da804,&DAT_1821da804); *(int *)(lVar3 + 8) = iVar4 + iVar1; *(undefined8 *)(lVar3 + 0xc) = 0; iVar4 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar4) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar4 / 2 & 0xfffffff8); } iVar4 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar4 + 1; *(longlong *)(*param_1 + (longlong)iVar4 * 8) = lVar3; } return; } ############ FUN_ 1813c64d0 size=1136 ############ void FUN_1813c64d0(longlong *param_1,int param_2,int param_3,char param_4) { uint uVar1; longlong lVar2; int iVar3; undefined8 *puVar4; undefined8 uVar5; longlong *plVar6; longlong *plVar7; uint *puVar8; ulonglong uVar9; int iVar10; longlong lVar11; int iVar12; ulonglong uVar13; longlong *plVar14; longlong *local_e8; longlong *local_e0; undefined8 local_d8; undefined4 local_d0; char local_cc; longlong *local_c8; undefined8 local_c0; undefined4 local_b8; char local_b4; longlong *local_b0; undefined8 local_a8; undefined4 local_a0; char local_9c; longlong *local_98; undefined8 local_90; undefined4 local_88; char local_84; undefined1 local_80 [8]; longlong local_78; longlong local_70; undefined1 local_68 [8]; longlong *local_60; longlong local_58; longlong local_50; undefined8 local_48; longlong local_40; if (param_2 < param_3) { local_48 = 0xfffffffffffffffe; if (param_4 == '\0') { uVar9 = 0; local_d8 = 0; iVar12 = 0; local_d0 = 0; local_cc = '\0'; local_e0 = param_1; FUN_1813c8260(&local_e0); local_c0 = 0; local_b8 = 0; local_b4 = '\0'; local_c8 = param_1; FUN_1813c8260(&local_c8,param_3); *(undefined4 *)(param_1 + 0x14) = 0xffffffff; iVar10 = local_d8._4_4_; iVar3 = local_c0._4_4_; plVar14 = *(longlong **)(*param_1 + (longlong)local_d8._4_4_ * 8); if (local_d8._4_4_ == local_c0._4_4_) { uVar5 = FUN_1812491d0(plVar14,&local_70); plVar6 = (longlong *)FUN_1812490c0(plVar14,local_80,0,local_d0); local_e8 = plVar6; plVar7 = (longlong *)FUN_181232d30(plVar6,uVar5); local_78 = *plVar7; if ((*(uint *)(local_78 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } puVar8 = (uint *)(*plVar6 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_50 = *plVar14; *plVar14 = local_78; puVar8 = (uint *)(local_50 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_70 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_180557f90(plVar14); } else { uVar5 = FUN_1812491d0(*(undefined8 *)(*param_1 + (longlong)local_c0._4_4_ * 8),&local_e8, local_b8); local_60 = (longlong *)FUN_1812490c0(plVar14,local_68,0,local_d0); plVar6 = (longlong *)FUN_181232d30(local_60,uVar5); local_58 = *plVar6; if ((*(uint *)(local_58 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_58 + -0x10) = *(int *)(local_58 + -0x10) + 1; UNLOCK(); } puVar8 = (uint *)(*local_60 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_40 = *plVar14; *plVar14 = local_58; puVar8 = (uint *)(local_40 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_e8 + -2); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_180557f90(plVar14); FUN_18055c460(param_1,iVar10 + 1,iVar3 - iVar10); } iVar10 = iVar10 + 1; if (iVar10 < *(int *)((longlong)param_1 + 0xc)) { lVar11 = (longlong)iVar10 * 8; do { lVar2 = *(longlong *)(lVar11 + -8 + *param_1); *(int *)(*(longlong *)(lVar11 + *param_1) + 8) = *(int *)(lVar2 + 0xc) + *(int *)(lVar2 + 8); iVar10 = iVar10 + 1; lVar11 = lVar11 + 8; } while (iVar10 < *(int *)((longlong)param_1 + 0xc)); } FUN_1813c6ed0(param_1); if ((0 < *(int *)((longlong)param_1 + 0xc)) && (lVar11 = *(longlong *)(*param_1 + (longlong)(*(int *)((longlong)param_1 + 0xc) + -1) * 8), lVar11 != 0)) { iVar12 = *(int *)(lVar11 + 0xc) + *(int *)(lVar11 + 8); } plVar14 = (longlong *)param_1[2]; uVar13 = (ulonglong) ((longlong)(plVar14 + *(int *)((longlong)param_1 + 0x1c)) + (7 - (longlong)plVar14)) >> 3; if (plVar14 + *(int *)((longlong)param_1 + 0x1c) < plVar14) { uVar13 = uVar9; } if (uVar13 != 0) { do { lVar11 = *plVar14; if ((int)local_d8 < *(int *)(lVar11 + 8)) { iVar3 = (*(int *)(lVar11 + 8) - param_3) + param_2; iVar10 = param_2; if (param_2 < iVar3) { iVar10 = iVar3; } FUN_1813c8260(lVar11,iVar10); } if (iVar12 < *(int *)(lVar11 + 8)) { FUN_1813c8260(lVar11,iVar12); } plVar14 = plVar14 + 1; uVar9 = uVar9 + 1; } while (uVar9 != uVar13); } iVar10 = *(int *)((longlong)param_1 + 0xb4); while (0 < iVar10) { iVar10 = iVar10 + -1; if ((*(int *)((longlong)param_1 + 0xb4) <= iVar10) && (iVar10 = *(int *)((longlong)param_1 + 0xb4) + -1, iVar10 < 0)) break; plVar14 = *(longlong **)(param_1[0x15] + (longlong)iVar10 * 8); (**(code **)(*plVar14 + 0x10))(plVar14,param_2,param_3); } if (local_b4 != '\0') { FUN_1813c8030(&local_c8,0); } if (local_cc != '\0') { FUN_1813c8030(&local_e0,0); } } else { puVar4 = (undefined8 *)FUN_1811316e0(0x20); *puVar4 = juce::CodeDocument::DeleteAction::vftable; puVar4[1] = param_1; *(int *)(puVar4 + 2) = param_2; *(int *)((longlong)puVar4 + 0x14) = param_3; local_90 = 0; local_88 = 0; local_84 = '\0'; local_98 = param_1; FUN_1813c8260(&local_98,param_3); local_a8 = 0; local_a0 = 0; local_9c = '\0'; local_b0 = param_1; FUN_1813c8260(&local_b0,param_2); FUN_1813c7d80(param_1,puVar4 + 3,&local_b0,&local_98); if (local_9c != '\0') { FUN_1813c8030(&local_b0,0); } if (local_84 != '\0') { FUN_1813c8030(&local_98,0); } FUN_1813526d0(param_1 + 4,puVar4); } } return; } ############ FUN_ 18055a400 size=514 ############ void FUN_18055a400(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; void *_Dst; int iVar2; longlong *plVar3; undefined **ppuVar4; longlong lVar5; longlong lVar6; longlong lVar7; int iVar8; uint uVar9; longlong lVar10; *param_1 = juce::ActiveXControlComponent::Pimpl::vftable; param_1[8] = juce::ActiveXControlComponent::Pimpl::vftable; plVar3 = (longlong *)param_1[0xd]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x30))(plVar3,1,param_3,param_4,0xfffffffffffffffe); (**(code **)(*(longlong *)param_1[0xd] + 0x10))(); } ppuVar4 = *(undefined ***)param_1[0xc]; if (ppuVar4 == juce::ActiveXHelpers::JuceIOleClientSite::vftable) { plVar3 = (longlong *)param_1[0xc] + 1; *(int *)plVar3 = (int)*plVar3 + -1; if ((int)*plVar3 == 0) { (*(code *)juce::ActiveXHelpers::JuceIOleClientSite::vftable[9])(); } } else { (*(code *)ppuVar4[2])(); } plVar3 = (longlong *)param_1[0xb]; if (*(code **)(*plVar3 + 0x10) == FUN_18055b900) { plVar1 = plVar3 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (**(code **)(*plVar3 + 0x90))(); } } else { (**(code **)(*plVar3 + 0x10))(); } uVar9 = 0; lVar10 = 0; lVar5 = DAT_182673700; LAB_18055a4d0: do { if (lVar5 == 0) { FUN_1811316e0(0x130); lVar5 = FUN_18133c6c0(); DAT_182673700 = lVar5; } if (*(int *)(lVar5 + 0x74) <= (int)uVar9) { FUN_181322ab0(param_1); return; } if (lVar5 == 0) { FUN_1811316e0(0x130); lVar5 = FUN_18133c6c0(); DAT_182673700 = lVar5; } if (uVar9 < *(uint *)(lVar5 + 0x74)) { lVar7 = *(longlong *)(lVar10 + *(longlong *)(lVar5 + 0x68)); } else { lVar7 = 0; } if (lVar7 != 0) { iVar8 = 0; lVar6 = 0; iVar2 = *(int *)(lVar7 + 0x3c); if (0 < iVar2) { do { if (param_1 + 8 == *(undefined8 **)(*(longlong *)(lVar7 + 0x30) + lVar6 * 8)) { _Dst = (void *)(*(longlong *)(lVar7 + 0x30) + (longlong)iVar8 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar8) + -1) << 3); *(int *)(lVar7 + 0x3c) = *(int *)(lVar7 + 0x3c) + -1; iVar2 = *(int *)(lVar7 + 0x3c); iVar8 = 0; if (0 < iVar2 * 2) { iVar8 = iVar2 * 2; } if (iVar8 < *(int *)(lVar7 + 0x38)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar7 + 0x38)) { FUN_18047cb30(); lVar5 = DAT_182673700; } } goto LAB_18055a5c0; } iVar8 = iVar8 + 1; lVar6 = lVar6 + 1; } while (lVar6 < iVar2); uVar9 = uVar9 + 1; lVar10 = lVar10 + 8; goto LAB_18055a4d0; } } LAB_18055a5c0: uVar9 = uVar9 + 1; lVar10 = lVar10 + 8; } while( true ); } ############ FUN_ 18055ae40 size=443 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18055ae40(longlong param_1) { longlong *plVar1; int iVar2; longlong lVar3; longlong *plVar4; undefined1 auStack_98 [32]; undefined4 local_78; longlong *local_68; undefined8 local_60; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; ulonglong local_28; local_60 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_98; local_58 = _DAT_1824ae3f8; uStack_54 = _UNK_1824ae3fc; uStack_50 = _UNK_1824ae400; uStack_4c = _UNK_1824ae404; FUN_1813bd860(_DAT_1824ae3f8,&local_58); local_48 = _DAT_1824af610; uStack_44 = _UNK_1824af614; uStack_40 = _UNK_1824af618; uStack_3c = _UNK_1824af61c; local_38 = _DAT_1824af5d0; uStack_34 = _UNK_1824af5d4; uStack_30 = _UNK_1824af5d8; uStack_2c = _UNK_1824af5dc; local_68 = (longlong *)0x0; lVar3 = *(longlong *)(param_1 + 0xb0); if ((lVar3 != 0) && (*(longlong *)(lVar3 + 0x68) != 0)) { iVar2 = (**(code **)**(undefined8 **)(lVar3 + 0x68)) (*(undefined8 **)(lVar3 + 0x68),&local_48,&local_68); if (-1 < iVar2) goto LAB_18055aeda; } local_68 = (longlong *)0x0; LAB_18055aeda: *(longlong **)(param_1 + 0xc0) = local_68; local_68 = (longlong *)0x0; lVar3 = *(longlong *)(param_1 + 0xb0); if ((lVar3 != 0) && (*(longlong *)(lVar3 + 0x68) != 0)) { iVar2 = (**(code **)**(undefined8 **)(lVar3 + 0x68)) (*(undefined8 **)(lVar3 + 0x68),&local_38,&local_68); if ((-1 < iVar2) && (local_68 != (longlong *)0x0)) { (**(code **)(*local_68 + 0x20))(local_68,&DAT_1824aec60,param_1 + 200); if (*(longlong *)(param_1 + 200) != 0) { local_78 = 0; lVar3 = __RTDynamicCast(*(undefined8 *)(param_1 + 0x18),0, &juce::Component::RTTI_Type_Descriptor, &juce::WebBrowserComponent::RTTI_Type_Descriptor); plVar4 = (longlong *)FUN_1811316e0(0x58); *(undefined4 *)(plVar4 + 1) = 1; *plVar4 = (longlong)juce::ComBaseClassHelper::vftable; local_68 = plVar4; FUN_181322bc0(plVar4 + 2,lVar3); *plVar4 = (longlong)juce::WebBrowserComponent::Pimpl::EventHandler::vftable; plVar4[2] = (longlong)juce::WebBrowserComponent::Pimpl::EventHandler::vftable; plVar4[10] = lVar3; (**(code **)(**(longlong **)(param_1 + 200) + 0x28)) (*(longlong **)(param_1 + 200),plVar4,param_1 + 0xd0); if ((undefined **)*plVar4 == juce::WebBrowserComponent::Pimpl::EventHandler::vftable) { plVar1 = plVar4 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (*(code *)juce::WebBrowserComponent::Pimpl::EventHandler::vftable[7])(plVar4,1); } } else { (*(code *)((undefined **)*plVar4)[2])(plVar4); } } } } } ############ FUN_ 1813bd860 size=1058 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813bd860(longlong param_1,IID *param_2) { LPVOID *ppvObj; undefined8 *puVar1; longlong lVar2; HRESULT HVar3; int iVar4; longlong *plVar5; undefined8 *puVar6; LPOLECLIENTSITE pClientSite; IOleClientSiteVtbl *pIVar7; _func_6217 *p_Var8; LONG_PTR LVar9; _func_6216 *p_Var10; float fVar11; float fVar12; undefined1 auStackY_f8 [32]; undefined8 local_b8; int iStack_b0; int iStack_ac; undefined8 *local_a8; undefined4 uStack_a0; undefined4 uStack_9c; undefined8 local_98; int iStack_90; int iStack_8c; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; LPOLECLIENTSITE local_70; int local_68; int local_64; undefined4 local_58; undefined4 uStack_54; int iStack_50; int iStack_4c; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStackY_f8; puVar6 = *(undefined8 **)(param_1 + 0xb0); *(undefined8 *)(param_1 + 0xb0) = 0; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) { } plVar5 = (longlong *)FUN_18134c2e0(); } else { plVar5 = (longlong *)FUN_1812d2bd0(param_1); } if (plVar5 != (longlong *)0x0) { uStack_9c = *(undefined4 *)(param_1 + 0x2c); uStack_a0 = *(undefined4 *)(param_1 + 0x28); uStack_80 = *(undefined8 *)(param_1 + 0x28); local_a8 = (undefined8 *)0x0; local_88 = 0.0; FUN_18051df30(&local_b8,plVar5[1],param_1,&local_88); fVar11 = (float)(**(code **)(*(longlong *)plVar5[1] + 0x80))(); if (fVar11 == DAT_1824c3ea4) { uStack_80._0_4_ = iStack_b0; uStack_80._4_4_ = iStack_ac; local_88 = (double)local_b8; } else { local_a8 = (undefined8 *)((double)((float)iStack_ac * fVar11) + DAT_1824c4520); local_70 = (LPOLECLIENTSITE)((double)((float)iStack_b0 * fVar11) + DAT_1824c4520); fVar12 = (float)local_b8._4_4_; local_b8 = (IOleClientSiteVtbl *)((double)((float)(int)local_b8 * fVar11) + DAT_1824c4520); local_98._0_4_ = SUB84((double)(fVar12 * fVar11) + DAT_1824c4520,0); local_88 = (double)CONCAT44((int)local_98,(int)local_b8); uStack_80._0_4_ = (int)local_70; uStack_80._4_4_ = (int)local_a8; } local_98._0_4_ = SUB84(local_88,0); local_98._4_4_ = local_88._4_4_; iStack_90 = (int)uStack_80; iStack_8c = uStack_80._4_4_; if ((undefined **)*plVar5 == juce::HWNDComponentPeer::vftable) { p_Var10 = (_func_6216 *)plVar5[0x11]; } else { p_Var10 = (_func_6216 *)(*(code *)((undefined **)*plVar5)[1])(plVar5); } puVar6 = (undefined8 *)FUN_1811316e0(0x78); local_a8 = puVar6; FUN_181322bc0(puVar6,param_1); *puVar6 = juce::ActiveXControlComponent::Pimpl::vftable; puVar6[8] = juce::ActiveXControlComponent::Pimpl::vftable; puVar6[9] = param_1; puVar6[10] = 0; local_70 = (LPOLECLIENTSITE)FUN_1811316e0(0x10); *(undefined4 *)(local_70 + 1) = 1; *local_70 = (IOleClientSite)juce::ActiveXHelpers::JuceIStorage::vftable; puVar6[0xb] = local_70; pClientSite = (LPOLECLIENTSITE)FUN_1811316e0(0x18); *(undefined4 *)&pClientSite[1].lpVtbl = 1; pClientSite->lpVtbl = (IOleClientSiteVtbl *)juce::ActiveXHelpers::JuceIOleClientSite::vftable; local_70 = pClientSite; pIVar7 = (IOleClientSiteVtbl *)FUN_1811316e0(0x20); *(undefined4 *)&pIVar7->AddRef = 1; pIVar7->QueryInterface = (_func_6214 *)juce::ActiveXHelpers::JuceIOleInPlaceSite::vftable; pIVar7->Release = p_Var10; local_b8 = pIVar7; p_Var8 = (_func_6217 *)FUN_1811316e0(0x20); p_Var10 = pIVar7->Release; *(undefined4 *)(p_Var8 + 8) = 1; *(undefined ***)p_Var8 = juce::ActiveXHelpers::JuceOleInPlaceFrame::vftable; *(_func_6216 **)(p_Var8 + 0x10) = p_Var10; *(undefined8 *)(p_Var8 + 0x18) = 0; pIVar7->SaveObject = p_Var8; pClientSite[2].lpVtbl = pIVar7; puVar6[0xc] = pClientSite; ppvObj = (LPVOID *)(puVar6 + 0xd); *ppvObj = (LPVOID)0x0; puVar6[0xe] = 0; local_a8 = puVar6; HVar3 = OleCreate(param_2,(IID *)&DAT_1824af048,1,(LPFORMATETC)0x0,pClientSite, (LPSTORAGE)puVar6[0xb],ppvObj); if (HVar3 == 0) { (**(code **)(*(longlong *)*ppvObj + 0x28))(*ppvObj,L"JUCE",0); HVar3 = OleSetContainedObject(*ppvObj,1); if (HVar3 == 0) { local_70 = (LPOLECLIENTSITE)CONCAT44(local_98._4_4_,(int)local_98); local_68 = (int)local_98 + iStack_90; local_64 = iStack_8c + local_98._4_4_; iVar4 = (**(code **)(*(longlong *)*ppvObj + 0x58))(*ppvObj,0xffffffff,0,puVar6[0xc]); if (iVar4 == 0) { local_a8 = (undefined8 *)0x0; puVar1 = *(undefined8 **)(param_1 + 0xb0); *(undefined8 **)(param_1 + 0xb0) = puVar6; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } local_b8 = (IOleClientSiteVtbl *)0x0; local_58 = _DAT_1824b00b0; uStack_54 = _UNK_1824b00b4; iStack_50 = _UNK_1824b00b8; iStack_4c = _UNK_1824b00bc; local_98 = (longlong *)0x0; lVar2 = *(longlong *)(param_1 + 0xb0); if ((((lVar2 != 0) && (*(longlong *)(lVar2 + 0x68) != 0)) && (iVar4 = (**(code **)**(undefined8 **)(lVar2 + 0x68)) (*(undefined8 **)(lVar2 + 0x68),&local_58,&local_98), plVar5 = local_98, -1 < iVar4)) && (local_98 != (longlong *)0x0)) { (**(code **)(*local_98 + 0x18))(local_98,&local_b8); (**(code **)(*plVar5 + 0x10))(plVar5); } *(IOleClientSiteVtbl **)(*(longlong *)(param_1 + 0xb0) + 0x50) = local_b8; if (*(longlong *)(*(longlong *)(param_1 + 0xb0) + 0x50) == 0) { } local_58 = (undefined4)local_88; uStack_54 = local_88._4_4_; iStack_50 = (int)uStack_80; iStack_4c = uStack_80._4_4_; FUN_18055a610(*(longlong *)(param_1 + 0xb0),&local_58); lVar2 = *(longlong *)(param_1 + 0xb0); LVar9 = GetWindowLongPtrW(*(HWND *)(lVar2 + 0x50),-4); *(LONG_PTR *)(lVar2 + 0x70) = LVar9; SetWindowLongPtrW(*(HWND *)(*(longlong *)(param_1 + 0xb0) + 0x50),-4,0x18055aaf0); } } } (**(code **)*puVar6)(puVar6,1); } } ############ FUN_ 1813c7b70 size=250 ############ void FUN_1813c7b70(longlong param_1,int param_2,int param_3) { undefined8 *puVar1; undefined8 uVar2; longlong local_40 [2]; undefined4 local_30; char local_2c; longlong local_28 [2]; undefined4 local_18; char local_14; if (param_2 < param_3) { uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *puVar1 = juce::CodeDocument::DeleteAction::vftable; puVar1[1] = param_1; *(int *)(puVar1 + 2) = param_2; *(int *)((longlong)puVar1 + 0x14) = param_3; local_28[1] = 0; local_18 = 0; local_14 = '\0'; local_28[0] = param_1; FUN_1813c8260(local_28,param_3); local_40[1] = 0; local_30 = 0; local_2c = '\0'; local_40[0] = param_1; FUN_1813c8260(local_40,param_2); FUN_1813c7d80(param_1,puVar1 + 3,local_40,local_28,uVar2); if (local_2c != '\0') { FUN_1813c8030(local_40,0); } if (local_14 != '\0') { FUN_1813c8030(local_28,0); } FUN_1813526d0(param_1 + 0x20,puVar1); } return; } ############ FUN_ 18055f8f0 size=819 ############ undefined8 * FUN_18055f8f0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,longlong *param_6,undefined4 param_7) { undefined8 *puVar1; char cVar2; longlong *plVar3; longlong lVar4; longlong *plVar5; undefined4 uVar6; float fVar7; longlong *plVar8; undefined8 uVar9; longlong *plVar10; float fVar11; float fVar12; undefined **local_88; undefined8 *local_80; undefined ***local_50; *param_1 = CueVisualisationBase::vftable; param_1[1] = CueVisualisationBase::vftable; *(undefined4 *)(param_1 + 2) = 0; *(undefined8 *)((longlong)param_1 + 0x14) = 0x3f800000; param_1[4] = param_5; param_1[0xc] = 0; FUN_180488560(param_1 + 5,param_6,param_3,param_4,0xfffffffffffffffe); FUN_180484da0(param_1 + 0xd,param_2); puVar1 = param_1 + 0x28; FUN_181411e40(puVar1,DAT_1824c4508,DAT_1824c3ea4,param_7); param_1[0x5c] = param_4; FUN_1811e50d0(param_1 + 0x5d,param_3); param_1[0x60] = 0; param_1[0x61] = 0; param_1[0x62] = 0; *(undefined4 *)(param_1 + 99) = 0x3f800000; param_1[100] = 0; *(undefined8 *)((longlong)param_1 + 0x2d4) = DAT_18235df78; *(undefined4 *)((longlong)param_1 + 0x2dc) = DAT_18235df80; fVar7 = DAT_1824c44a8; uVar6 = DAT_1824c3df0; plVar3 = (longlong *)param_1[0x57]; plVar10 = (longlong *)*plVar3; if (plVar10 != plVar3) { fVar11 = sqrtf(DAT_1824c4584); fVar11 = fVar11 * DAT_1824c41e0; fVar12 = sqrtf(DAT_1824c45ac); fVar12 = fVar12 / DAT_1824c459c; do { lVar4 = *(longlong *)(plVar10[5] + 0x10); *(undefined8 *)(lVar4 + 0x78) = 0x447a000042480000; *(undefined4 *)(lVar4 + 0x80) = uVar6; *(float *)(lVar4 + 0x84) = fVar7 / fVar11; *(float *)(lVar4 + 0x88) = fVar12; plVar5 = (longlong *)plVar10[2]; if (*(char *)((longlong)plVar5 + 0x19) == '\0') { cVar2 = *(char *)(*plVar5 + 0x19); plVar10 = plVar5; plVar5 = (longlong *)*plVar5; while (cVar2 == '\0') { cVar2 = *(char *)(*plVar5 + 0x19); plVar10 = plVar5; plVar5 = (longlong *)*plVar5; } } else { cVar2 = *(char *)(plVar10[1] + 0x19); plVar8 = (longlong *)plVar10[1]; plVar5 = plVar10; while ((plVar10 = plVar8, cVar2 == '\0' && (plVar5 == (longlong *)plVar10[2]))) { cVar2 = *(char *)(plVar10[1] + 0x19); plVar8 = (longlong *)plVar10[1]; plVar5 = plVar10; } } } while (plVar10 != plVar3); } FUN_181410d30(puVar1,"alpha",0); FUN_181411b10(puVar1,"offset",0); local_88 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_50 = &local_88; local_80 = param_1; FUN_181410000(puVar1,&local_88); uVar9 = FUN_1811316e0(0x10); uVar9 = FUN_1811e8780(uVar9,param_1 + 0x5d,param_1 + 1); FUN_180485e60(param_1 + 0x60,uVar9); uVar9 = FUN_1811316e0(0x40); local_88 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_50 = &local_88; local_80 = param_1; uVar9 = FUN_18055e880(uVar9,param_4,&local_88); lVar4 = param_1[100]; param_1[100] = uVar9; if (lVar4 != 0) { FUN_18056a070(); } FUN_181414200(param_5,param_1); FUN_180484cd0(param_2); plVar3 = (longlong *)param_6[7]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_6); param_6[7] = 0; } return param_1; } ############ FUN_ 180573920 size=154 ############ undefined8 * FUN_180573920(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x48); *puVar2 = std:: _Func_impl_no_alloc,void,juce::String,float> ::vftable; puVar2[8] = 0; plVar1 = (longlong *)param_1[7]; if (plVar1 != (longlong *)0x0) { if (plVar1 == param_1) { uVar3 = (**(code **)(*plVar1 + 8))(plVar1,puVar2 + 1,param_3,param_4,uVar3); puVar2[8] = uVar3; plVar1 = (longlong *)param_1[7]; if (plVar1 == (longlong *)0x0) { return puVar2; } (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1); } else { puVar2[8] = plVar1; } param_1[7] = 0; } return puVar2; } ############ FUN_ 181406d20 size=837 ############ void FUN_181406d20(longlong param_1,undefined8 param_2) { longlong *plVar1; uint uVar2; char cVar3; undefined4 uVar4; undefined8 uVar5; undefined8 *puVar6; undefined4 *puVar7; int iVar8; undefined4 *puVar9; undefined8 *puVar10; undefined8 *puVar11; undefined4 **ppuVar12; longlong lVar13; uint *puVar14; undefined8 *puVar15; undefined8 *puVar16; undefined4 *local_res18; longlong local_res20; longlong local_108; undefined8 local_100; longlong local_f8; undefined4 *local_e8; undefined4 local_e0; undefined8 local_d8; undefined8 uStack_d0; undefined4 *local_c8; undefined4 local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; undefined4 *local_98; undefined4 *local_90; undefined8 local_88; longlong local_80; undefined **local_78; undefined4 local_70; undefined4 uStack_6c; undefined4 uStack_68; undefined4 uStack_64; undefined ***local_40; local_b8 = 0xfffffffffffffffe; FUN_18049c9e0(); puVar10 = *(undefined8 **)(param_1 + 0x168); puVar11 = (undefined8 *)puVar10[1]; cVar3 = *(char *)((longlong)puVar11 + 0x19); puVar6 = puVar10; puVar15 = puVar11; while (cVar3 == '\0') { uVar5 = puVar15[4]; local_b0 = uVar5; iVar8 = FUN_18048cbc0(uVar5,local_108); if (iVar8 < 0) { puVar16 = (undefined8 *)puVar15[2]; puVar15 = puVar6; } else { if ((*(char *)((longlong)puVar10 + 0x19) != '\0') && (local_a8 = uVar5, iVar8 = FUN_18048cbc0(local_108,uVar5), iVar8 < 0)) { puVar10 = puVar15; } puVar16 = (undefined8 *)*puVar15; } puVar6 = puVar15; puVar15 = puVar16; cVar3 = *(char *)((longlong)puVar16 + 0x19); } if (*(char *)((longlong)puVar10 + 0x19) == '\0') { puVar11 = (undefined8 *)*puVar10; } cVar3 = *(char *)((longlong)puVar11 + 0x19); while (cVar3 == '\0') { local_a0 = puVar11[4]; iVar8 = FUN_18048cbc0(); if (iVar8 < 0) { puVar15 = (undefined8 *)*puVar11; puVar10 = puVar11; } else { puVar15 = (undefined8 *)puVar11[2]; } puVar11 = puVar15; cVar3 = *(char *)((longlong)puVar15 + 0x19); } lVar13 = 0; while (puVar6 != puVar10) { lVar13 = lVar13 + 1; puVar11 = (undefined8 *)puVar6[2]; if (*(char *)((longlong)puVar11 + 0x19) == '\0') { cVar3 = *(char *)((longlong)*puVar11 + 0x19); puVar6 = puVar11; puVar11 = (undefined8 *)*puVar11; while (cVar3 == '\0') { cVar3 = *(char *)((longlong)*puVar11 + 0x19); puVar6 = puVar11; puVar11 = (undefined8 *)*puVar11; } } else { cVar3 = *(char *)((longlong)puVar6[1] + 0x19); puVar15 = (undefined8 *)puVar6[1]; puVar11 = puVar6; while ((puVar6 = puVar15, cVar3 == '\0' && (puVar11 == (undefined8 *)puVar6[2]))) { cVar3 = *(char *)((longlong)puVar6[1] + 0x19); puVar15 = (undefined8 *)puVar6[1]; puVar11 = puVar6; } } } puVar14 = (uint *)(local_108 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if (lVar13 != 0) { return; } puVar9 = (undefined4 *)FUN_1811316e0(0x48); local_res18 = *(undefined4 **)(param_1 + 0x188); uVar4 = *(undefined4 *)(param_1 + 400); *puVar9 = 0x3f800000; *(undefined1 **)(puVar9 + 2) = &DAT_1821dbf98; plVar1 = (longlong *)(puVar9 + 4); *plVar1 = 0; puVar7 = puVar9 + 6; *puVar7 = 0x3f800000; local_c8 = local_res18; local_c0 = uVar4; local_98 = puVar9; InitializeCriticalSection((LPCRITICAL_SECTION)(puVar9 + 7)); local_d8 = param_1 + 0x58; uStack_d0 = puVar9; local_90 = puVar7; local_88 = FUN_1811316e0(0x88); local_e8 = local_res18; local_78 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_70 = (undefined4)local_d8; uStack_6c = local_d8._4_4_; uStack_68 = (undefined4)uStack_d0; uStack_64 = uStack_d0._4_4_; local_40 = &local_78; local_e0 = uVar4; puVar10 = (undefined8 *)FUN_1813bb890(local_88,puVar7,puVar9,&local_78,&local_e8); if (plVar1 == &local_80) { if (puVar10 == (undefined8 *)0x0) goto LAB_181406f90; puVar11 = (undefined8 *)*puVar10; } else { puVar6 = (undefined8 *)*plVar1; *plVar1 = (longlong)puVar10; if (puVar6 == (undefined8 *)0x0) goto LAB_181406f90; puVar11 = (undefined8 *)*puVar6; puVar10 = puVar6; } (*(code *)*puVar11)(puVar10,1); LAB_181406f90: local_res18 = puVar9; FUN_18049c9e0(&local_100,param_2); local_f8 = *(longlong *)(puVar9 + 2); *(undefined8 *)(puVar9 + 2) = local_100; puVar14 = (uint *)(local_f8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } FUN_18049c9e0(&local_res20,param_2); ppuVar12 = (undefined4 **)FUN_1805714d0(param_1 + 0x168,&local_res20); if (ppuVar12 != &local_res18) { local_res18 = (undefined4 *)0x0; puVar7 = *ppuVar12; *ppuVar12 = puVar9; if (puVar7 != (undefined4 *)0x0) { FUN_18056e160(); } } puVar14 = (uint *)(local_res20 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if (local_res18 != (undefined4 *)0x0) { FUN_18056e160(); } return; } ############ FUN_ 181406a70 size=672 ############ void FUN_181406a70(longlong param_1,undefined8 param_2) { uint uVar1; char cVar2; undefined8 uVar3; longlong lVar4; undefined8 *puVar5; int iVar6; longlong *plVar7; longlong lVar8; uint *puVar9; undefined8 *puVar10; undefined8 *puVar11; undefined8 *puVar12; undefined8 *puVar13; longlong local_res18; longlong local_res20; longlong local_88; undefined8 local_80; undefined8 local_78; undefined8 local_70; undefined8 local_68; undefined8 local_60; longlong local_58; undefined8 local_48; undefined4 local_40; local_78 = 0xfffffffffffffffe; FUN_18049c9e0(); puVar11 = *(undefined8 **)(param_1 + 0x178); puVar13 = (undefined8 *)puVar11[1]; cVar2 = *(char *)((longlong)puVar13 + 0x19); puVar5 = puVar11; puVar10 = puVar13; while (cVar2 == '\0') { uVar3 = puVar10[4]; local_70 = uVar3; iVar6 = FUN_18048cbc0(uVar3,local_88); if (iVar6 < 0) { puVar12 = (undefined8 *)puVar10[2]; puVar10 = puVar5; } else { if ((*(char *)((longlong)puVar11 + 0x19) != '\0') && (local_68 = uVar3, iVar6 = FUN_18048cbc0(local_88,uVar3), iVar6 < 0)) { puVar11 = puVar10; } puVar12 = (undefined8 *)*puVar10; } puVar5 = puVar10; puVar10 = puVar12; cVar2 = *(char *)((longlong)puVar12 + 0x19); } if (*(char *)((longlong)puVar11 + 0x19) == '\0') { puVar13 = (undefined8 *)*puVar11; } cVar2 = *(char *)((longlong)puVar13 + 0x19); while (cVar2 == '\0') { local_60 = puVar13[4]; iVar6 = FUN_18048cbc0(); if (iVar6 < 0) { puVar10 = (undefined8 *)*puVar13; puVar11 = puVar13; } else { puVar10 = (undefined8 *)puVar13[2]; } puVar13 = puVar10; cVar2 = *(char *)((longlong)puVar10 + 0x19); } lVar8 = 0; while (puVar5 != puVar11) { lVar8 = lVar8 + 1; puVar13 = (undefined8 *)puVar5[2]; if (*(char *)((longlong)puVar13 + 0x19) == '\0') { cVar2 = *(char *)((longlong)*puVar13 + 0x19); puVar5 = puVar13; puVar13 = (undefined8 *)*puVar13; while (cVar2 == '\0') { cVar2 = *(char *)((longlong)*puVar13 + 0x19); puVar5 = puVar13; puVar13 = (undefined8 *)*puVar13; } } else { cVar2 = *(char *)((longlong)puVar5[1] + 0x19); puVar10 = (undefined8 *)puVar5[1]; puVar13 = puVar5; while ((puVar5 = puVar10, cVar2 == '\0' && (puVar13 == (undefined8 *)puVar5[2]))) { cVar2 = *(char *)((longlong)puVar5[1] + 0x19); puVar10 = (undefined8 *)puVar5[1]; puVar13 = puVar5; } } } puVar9 = (uint *)(local_88 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (lVar8 == 0) { local_res18 = FUN_1811316e0(0x48); local_48 = *(undefined8 *)(param_1 + 0x194); local_40 = *(undefined4 *)(param_1 + 0x19c); lVar8 = FUN_180572270(local_res18,param_1 + 0x58,&local_48); local_res18 = lVar8; FUN_18049c9e0(&local_80,param_2); local_58 = *(longlong *)(lVar8 + 8); *(undefined8 *)(lVar8 + 8) = local_80; puVar9 = (uint *)(local_58 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_18049c9e0(&local_res20,param_2); plVar7 = (longlong *)FUN_1805714d0(param_1 + 0x178,&local_res20); if (plVar7 != &local_res18) { local_res18 = 0; lVar4 = *plVar7; *plVar7 = lVar8; if (lVar4 != 0) { FUN_18056e160(); } } puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (local_res18 != 0) { FUN_18056e160(); } } return; } ############ FUN_ 180572270 size=525 ############ undefined4 * FUN_180572270(undefined4 *param_1,undefined8 param_2,undefined8 *param_3) { undefined4 **ppuVar1; undefined8 uVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; float fVar6; float fVar7; undefined4 *local_res8; undefined8 *local_res10; undefined ***local_res20; float fStack_114; undefined4 local_108; undefined4 uStack_104; undefined4 uStack_100; undefined4 uStack_fc; undefined **local_f8; undefined4 local_f0; undefined4 uStack_ec; undefined4 uStack_e8; undefined4 uStack_e4; undefined ***local_c0; undefined8 local_b8; undefined1 local_b0 [56]; undefined8 local_78; local_b8 = 0xfffffffffffffffe; *param_1 = 0x3f800000; *(undefined1 **)(param_1 + 2) = &DAT_1821dbf98; ppuVar1 = (undefined4 **)(param_1 + 4); *ppuVar1 = (undefined4 *)0x0; param_1[6] = 0x3f800000; local_res8 = param_1; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 7)); puVar4 = (undefined8 *)FUN_1811316e0(0x98); uVar2 = *param_3; fVar7 = *(float *)(param_3 + 1); local_f8 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_108 = (undefined4)param_2; uStack_104 = (undefined4)((ulonglong)param_2 >> 0x20); uStack_100 = SUB84(param_1,0); uStack_fc = (undefined4)((ulonglong)param_1 >> 0x20); local_f0 = local_108; uStack_ec = uStack_104; uStack_e8 = uStack_100; uStack_e4 = uStack_fc; local_c0 = &local_f8; local_res20 = &local_f8; local_78 = 0; local_res10 = puVar4; local_78 = (*(code *)std:: _Func_impl_no_alloc<,void,float>:: vftable[0])(&local_f8,local_b0); FUN_1813bbb50(puVar4,param_1 + 6,param_1,local_b0); *puVar4 = SpringInterpolator::vftable; puVar4[0xc] = 0; puVar4[0xd] = 0; puVar4[0xe] = 0; *(undefined4 *)(puVar4 + 0xf) = 0x41a00000; *(undefined4 *)((longlong)puVar4 + 0x7c) = 0x43960000; *(undefined4 *)(puVar4 + 0x10) = 0x3ecccccd; *(undefined4 *)((longlong)puVar4 + 0x8c) = 0x3ba3d70a; *(undefined4 *)(puVar4 + 0x12) = 0x3ba3d70a; fStack_114 = (float)((ulonglong)uVar2 >> 0x20); puVar4[0xf] = uVar2; *(float *)(puVar4 + 0x10) = fVar7; fVar6 = sqrtf(fStack_114 * fVar7); *(float *)((longlong)puVar4 + 0x84) = (float)uVar2 / (fVar6 * DAT_1824c41e0); fVar7 = sqrtf(fStack_114 / fVar7); *(float *)(puVar4 + 0x11) = fVar7 / DAT_1824c459c; if (local_c0 != (undefined ***)0x0) { (*(code *)(*local_c0)[4])(local_c0,local_c0 != &local_f8); } if (ppuVar1 == &local_res8) { puVar5 = (undefined8 *)*puVar4; } else { puVar3 = (undefined8 *)*ppuVar1; *ppuVar1 = (undefined4 *)puVar4; if (puVar3 == (undefined8 *)0x0) { return param_1; } puVar5 = (undefined8 *)*puVar3; puVar4 = puVar3; } (*(code *)*puVar5)(puVar4,1); return param_1; } ############ FUN_ 181414060 size=243 ############ void FUN_181414060(longlong param_1,undefined8 param_2,longlong *param_3) { longlong *plVar1; longlong lVar2; longlong local_res8; undefined8 uVar3; undefined1 local_60 [56]; undefined8 local_28; uVar3 = 0xfffffffffffffffe; lVar2 = FUN_1811316e0(0x40); local_28 = 0; local_res8 = lVar2; FUN_180488560(local_60,param_3); local_res8 = FUN_18055e880(lVar2,param_2,local_60); plVar1 = *(longlong **)(param_1 + 0x2400f8); if (*(longlong **)(param_1 + 0x240100) == plVar1) { FUN_180571dd0(param_1 + 0x2400f0,plVar1,&local_res8,plVar1,uVar3); lVar2 = local_res8; } else { *plVar1 = local_res8; *(longlong *)(param_1 + 0x2400f8) = *(longlong *)(param_1 + 0x2400f8) + 8; lVar2 = 0; } if (lVar2 != 0) { FUN_18056a070(); } plVar1 = (longlong *)param_3[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_3); param_3[7] = 0; } return; } ############ FUN_ 180561650 size=633 ############ void FUN_180561650(longlong param_1,int param_2,int param_3) { int *piVar1; int iVar2; longlong lVar3; undefined4 *puVar4; longlong *plVar5; longlong *local_c0; longlong *local_b8; undefined1 local_b0; undefined8 *local_a8; int *local_a0; undefined8 *local_98; float local_90; float local_8c; undefined8 local_88; undefined1 local_80; void *local_78; undefined8 local_70; undefined **local_68; undefined8 local_60; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined1 local_48 [24]; local_60 = 0xfffffffffffffffe; local_68 = juce::NativeImageType::vftable; (*(code *)PTR_FUN_1824988f0)(&local_68,&local_a8,2,param_2,param_3,1,0); local_98 = *(undefined8 **)(param_1 + 0x80); *(undefined8 **)(param_1 + 0x80) = local_a8; local_a8 = local_98; if (local_98 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_98 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_98)(local_98,1); } } plVar5 = *(longlong **)(param_1 + 0x80); if (plVar5 == (longlong *)0x0) { local_c0 = (longlong *)0x0; } else { (**(code **)(*plVar5 + 8))(plVar5,&local_c0); } local_b0 = 0; local_78 = (void *)0x0; local_70 = 0; local_80 = 1; local_90 = (float)param_2 * DAT_1824c3db8; local_8c = (float)param_3 * DAT_1824c4334; local_88 = CONCAT44((float)param_3 * DAT_1824c4680,local_90); local_b8 = local_c0; FUN_1812a1940(&local_90); FUN_1812a1940(&local_90,DAT_1824c4080,0xffe0dcda); FUN_1812a1940(&local_90,DAT_1824c40b0,0xffcccccc); FUN_1812a1940(&local_90,DAT_1824c40e0,0xffb2c0c6); FUN_1812a1940(&local_90,DAT_1824c40f8,0xffa7b9c0); FUN_1812a1940(&local_90,DAT_1824c4140,0xffb2c0c6); FUN_181296a90(&local_c0,&local_90); puVar4 = (undefined4 *)(**(code **)(*local_b8 + 0x58))(local_b8,local_48); local_58 = *puVar4; uStack_54 = puVar4[1]; uStack_50 = puVar4[2]; uStack_4c = puVar4[3]; (**(code **)(*local_b8 + 0xa8))(local_b8,&local_58,0); plVar5 = (longlong *)FUN_1805989c0(); lVar3 = *plVar5; local_a0 = (int *)FUN_1811316e0(0x18); local_a0[0] = 0; local_a0[1] = 0; local_a0[2] = 0; local_a0[4] = 0; local_a0[5] = 0; *(undefined4 *)(lVar3 + 500) = 0; FUN_18163bd70(local_a0,param_1 + 0x80); FUN_1805684e0(param_1 + 0x88,&local_a0); piVar1 = local_a0; if (local_a0 != (int *)0x0) { if (*local_a0 != 0) { plVar5 = (longlong *)FUN_1805989c0(); if (*(longlong *)(piVar1 + 4) == *plVar5) { glDeleteTextures(1,piVar1); piVar1[0] = 0; piVar1[1] = 0; piVar1[2] = 0; } } /* WARNING: Subroutine does not return */ free(piVar1); } /* WARNING: Subroutine does not return */ free(local_78); } ############ FUN_ 180561f90 size=1187 ############ void FUN_180561f90(longlong param_1,undefined8 *param_2,longlong *param_3) { int *piVar1; int iVar2; uint uVar3; longlong lVar4; undefined4 uVar5; longlong *plVar6; ulonglong *puVar7; ulonglong uVar8; uint *puVar9; float fVar10; float fVar11; undefined8 *local_res8; int *local_a8; longlong local_a0; longlong local_98; undefined **local_90; undefined8 *local_88; undefined8 local_80; undefined8 local_70; undefined8 uStack_68; local_80 = 0xfffffffffffffffe; if ((*(longlong *)(param_1 + 0x80) != 0) && ((*(byte *)(*(longlong *)(param_1 + 0x80) + 0xa8) >> 1 & 1) != 0)) { fVar11 = (float)(double)param_2[0x33]; local_70 = *(undefined8 *)(param_1 + 0xb8); uStack_68 = *(undefined8 *)(param_1 + 0xc0); (*(code *)*param_2)(0x84c0); if (*(char *)(param_1 + 0xd1) != '\0') { *(undefined1 *)(param_1 + 0xd1) = 0; plVar6 = (longlong *)FUN_1805989c0(); if (*plVar6 != 0) { fVar10 = (float)*(double *)(*plVar6 + 0x198); local_90 = juce::NativeImageType::vftable; (*(code *)PTR_FUN_1824988f0) (&local_90,&local_res8,2,(int)((float)*(int *)(param_1 + 0xa0) * fVar10), (int)((float)SUB164(*(undefined1 (*) [16])(param_1 + 0x98),0xc) * fVar10),1); local_88 = *(undefined8 **)(param_1 + 0xd8); *(undefined8 **)(param_1 + 0xd8) = local_res8; local_res8 = local_88; if (local_88 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_88 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_88)(local_88,1); } } plVar6 = (longlong *)FUN_1805989c0(); lVar4 = *plVar6; local_a8 = (int *)FUN_1811316e0(0x18); local_a8[0] = 0; local_a8[1] = 0; local_a8[2] = 0; local_a8[4] = 0; local_a8[5] = 0; *(undefined4 *)(lVar4 + 500) = 0; FUN_18163bd70(local_a8,param_1 + 0xd8); FUN_1805684e0(param_1 + 0xe0,&local_a8); piVar1 = local_a8; if (local_a8 != (int *)0x0) { if (*local_a8 != 0) { plVar6 = (longlong *)FUN_1805989c0(); if (*(longlong *)(piVar1 + 4) == *plVar6) { glDeleteTextures(1,piVar1); piVar1[0] = 0; piVar1[1] = 0; piVar1[2] = 0; } } /* WARNING: Subroutine does not return */ free(piVar1); } } glCopyTexSubImage2D(0xde1,0,0,0,(int)((float)(int)local_70 * fVar11), (int)((float)local_70._4_4_ * fVar11), (int)((float)(int)uStack_68 * fVar11), (int)((float)uStack_68._4_4_ * fVar11)); } glBindTexture(0xde1,**(undefined4 **)(param_1 + 0xe0)); glReadBuffer(0x405); puVar7 = (ulonglong *)FUN_18123aca0(); uVar8 = *puVar7 * 0x5deece66d + 0xb & 0xffffffffffff; *puVar7 = uVar8; fVar10 = (float)((longlong)uVar8 >> 0x10) * DAT_1824c3c24; puVar7 = (ulonglong *)FUN_18123aca0(); *puVar7 = *puVar7 * 0x5deece66d + 0xb & 0xffffffffffff; uVar5 = (**(code **)(*param_3 + 0x98))((int)param_3[1],"jitter"); (**(code **)(*param_3 + 0xd0))(uVar5,*param_3,fVar10); uVar5 = (**(code **)(*param_3 + 0x98))((int)param_3[1],"alpha"); (**(code **)(*param_3 + 0xc0))(uVar5); uVar5 = (**(code **)(*param_3 + 0x98))((int)param_3[1],"desaturation"); (**(code **)(*param_3 + 0xc0))(uVar5); uVar5 = (**(code **)(*param_3 + 0x98))((int)param_3[1],"baseColour"); (**(code **)(*param_3 + 0xd8))(uVar5,*param_3,DAT_1824c3e54,DAT_1824c3e60); glDrawArrays(6,0,*(undefined4 *)(param_1 + 0x94)); FUN_18049c4e0(&local_a0,"BlurLayer draw"); puVar9 = (uint *)(local_a0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } glCopyTexSubImage2D(0xde1,0,0,0,(int)((float)(int)local_70 * fVar11), (int)((float)local_70._4_4_ * fVar11),(int)((float)(int)uStack_68 * fVar11), (int)((float)uStack_68._4_4_ * fVar11)); FUN_18049c4e0(&local_98,"BlurLayer glCopyTexSubImage"); puVar9 = (uint *)(local_98 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } return; } ############ FUN_ 180562b00 size=794 ############ undefined8 * FUN_180562b00(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8, undefined4 *param_9,undefined8 param_10) { undefined8 *puVar1; longlong *plVar2; longlong lVar3; undefined4 uVar4; undefined4 uVar5; undefined4 uVar6; undefined8 uVar7; int iVar8; longlong *plVar9; LPCRITICAL_SECTION lpCriticalSection; undefined **local_60; undefined8 *local_58; undefined ***local_28; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[1] = Soothe2VertexData::vftable; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; *(undefined2 *)(param_1 + 0xe) = 0; *(undefined1 *)((longlong)param_1 + 0x72) = 0; puVar1 = param_1 + 0x11; *param_1 = FilterCurveLayer::vftable; param_1[0xf] = FilterCurveLayer::vftable; param_1[0x10] = FilterCurveLayer::vftable; *puVar1 = FilterCurveLayer::vftable; *(undefined2 *)(param_1 + 0x12) = 0; param_1[0x13] = 0; param_1[0x14] = 0; param_1[0x15] = 0; param_1[0x16] = param_3; param_1[0x17] = 0; param_1[0x18] = 0xffffffffffffffff; param_1[0x19] = 0; param_1[0x1a] = 0; param_1[0x1b] = 0; _eh_vector_constructor_iterator_ (param_1 + 0x1c,0x18,6,(_func_void_void_ptr *)&LAB_180485d70,FUN_18047cfb0); param_1[0x2e] = param_2; param_1[0x2f] = param_4; param_1[0x30] = param_5; param_1[0x31] = param_6; *(undefined4 *)(param_1 + 0x32) = 0xfa; *(undefined4 *)((longlong)param_1 + 0x194) = 2000; param_1[0xa033] = param_10; uVar4 = param_9[1]; uVar5 = param_9[2]; uVar6 = param_9[3]; *(undefined4 *)(param_1 + 0x19) = *param_9; *(undefined4 *)((longlong)param_1 + 0xcc) = uVar4; *(undefined4 *)(param_1 + 0x1a) = uVar5; *(undefined4 *)((longlong)param_1 + 0xd4) = uVar6; param_1[0x1b] = *(undefined8 *)(param_9 + 4); FUN_18056cd00(param_1 + 5,0x13fb); FUN_18056c7b0(param_1 + 8,0x13fb); FUN_18056c7b0(param_1 + 0xb,0x13fb); lVar3 = param_1[0x2e]; lpCriticalSection = (LPCRITICAL_SECTION)(lVar3 + 0x570); EnterCriticalSection(lpCriticalSection); plVar9 = *(longlong **)(lVar3 + 0x5a0); plVar2 = plVar9 + *(int *)(lVar3 + 0x5ac); for (; plVar9 != plVar2; plVar9 = plVar9 + 1) { if (puVar1 == (undefined8 *)*plVar9) goto LAB_180562d83; } LeaveCriticalSection(lpCriticalSection); if (puVar1 != (undefined8 *)0x0) { EnterCriticalSection(lpCriticalSection); EnterCriticalSection(lpCriticalSection); plVar9 = *(longlong **)(lVar3 + 0x5a0); plVar2 = plVar9 + *(int *)(lVar3 + 0x5ac); for (; plVar9 != plVar2; plVar9 = plVar9 + 1) { if (puVar1 == (undefined8 *)*plVar9) goto LAB_180562d7a; } LeaveCriticalSection(lpCriticalSection); EnterCriticalSection(lpCriticalSection); iVar8 = *(int *)(lVar3 + 0x5ac) + 1; if (*(int *)(lVar3 + 0x5a8) < iVar8) { FUN_18048a270(lpCriticalSection,*(int *)(lVar3 + 0x5ac) + 9 + iVar8 / 2 & 0xfffffff8); } iVar8 = *(int *)(lVar3 + 0x5ac); *(int *)(lVar3 + 0x5ac) = iVar8 + 1; *(undefined8 **)(*(longlong *)(lVar3 + 0x5a0) + (longlong)iVar8 * 8) = puVar1; LAB_180562d7a: LeaveCriticalSection(lpCriticalSection); LAB_180562d83: LeaveCriticalSection(lpCriticalSection); } uVar7 = FUN_1811316e0(0x40); local_60 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_28 = &local_60; local_58 = param_1; uVar7 = FUN_18055e880(uVar7,param_3,&local_60); lVar3 = param_1[0x17]; param_1[0x17] = uVar7; if (lVar3 != 0) { FUN_18056a070(); } FUN_180562fe0(param_1); FUN_181414200(param_4,param_1 + 0x10); return param_1; } ############ FUN_ 1805653d0 size=1510 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805653d0(longlong param_1,float param_2,undefined8 param_3,float param_4, undefined8 param_5,float param_6) { longlong *plVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; double dVar5; double dVar6; double dVar7; double dVar8; uint uVar9; undefined8 *puVar10; undefined8 in_RDX; longlong lVar11; longlong lVar12; double dVar13; float fVar14; double dVar15; undefined4 uVar16; undefined4 uVar17; undefined4 uVar18; undefined4 uVar19; undefined1 auStack_228 [32]; undefined ***local_208; undefined1 *local_200; undefined4 local_1f8; undefined4 uStack_1f4; undefined8 uStack_1f0; longlong local_1e8; float local_1e0; float local_1dc; double local_1d8; double local_1d0; double local_1c8; undefined8 local_1c0; longlong local_1b8; undefined **local_1b0; undefined8 local_1a8; longlong lStack_1a0; undefined ***local_178; undefined1 local_170 [56]; undefined8 local_138; undefined **local_128; float local_120; float fStack_11c; float fStack_118; undefined4 uStack_114; longlong local_110; undefined ***local_f0; ulonglong local_e8; local_1c0 = 0xfffffffffffffffe; local_e8 = DAT_182615970 ^ (ulonglong)auStack_228; fVar14 = (float)param_3; lVar11 = 0; local_138 = 0; local_1b0 = std:: _Func_impl_no_alloc<,float,float,float,float> ::vftable; local_1a8 = CONCAT44(uStack_1f4,0x2000); local_178 = &local_1b0; local_1f8 = 0x2000; local_128 = std:: _Func_impl_no_alloc<,float,float,float,float> ::vftable; uStack_1f0._0_4_ = (undefined4)param_1; uStack_1f0._4_4_ = (undefined4)((ulonglong)param_1 >> 0x20); local_120 = 1.14794e-41; fStack_118 = (float)(undefined4)uStack_1f0; uStack_114 = uStack_1f0._4_4_; local_200 = local_170; local_208 = &local_1b0; uStack_1f0 = param_1; local_1e0 = fVar14; local_1dc = param_2; local_1b8 = param_1; lStack_1a0 = param_1; local_f0 = &local_128; FUN_1804db1b0(0x2000,in_RDX,param_3,&local_128); *(float *)(param_1 + 0xd8) = param_2; *(float *)(param_1 + 0xdc) = fVar14; *(undefined8 *)(param_1 + 0xe0) = 0; *(undefined8 *)(param_1 + 0xe8) = 0x3ff0000000000000; *(undefined4 *)(param_1 + 0xf0) = 0x2000; plVar1 = (longlong *)(param_1 + 0xf8); *plVar1 = 0; plVar2 = (longlong *)(param_1 + 0x100); *plVar2 = 0; dVar6 = (double)param_4; *(double *)(param_1 + 0x108) = dVar6; dVar5 = exp(dVar6); dVar8 = DAT_1824c4140; dVar13 = DAT_1824c4140 / (dVar5 + DAT_1824c4140); *(double *)(param_1 + 0x110) = dVar13; *(double *)(param_1 + 0x118) = (dVar5 - dVar8) * dVar13; *(double *)(param_1 + 0x120) = (double)param_2; *(double *)(param_1 + 0x128) = (double)fVar14; *(double *)(param_1 + 0x130) = (double)fVar14 / dVar6; local_1c8 = tanh(dVar6); local_1d0 = (double)atanh(); local_1d0 = dVar8 / local_1d0; local_1d8 = *(double *)(param_1 + 0x128) - *(double *)(param_1 + 0x120); puVar10 = (undefined8 *)FUN_1811316e0(0x10); *puVar10 = 0; puVar10[1] = 0; if (plVar1 == (longlong *)&local_1f8) { *(undefined4 *)((longlong)puVar10 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)0x0); } puVar3 = (undefined8 *)*plVar1; *plVar1 = (longlong)puVar10; if (puVar3 == (undefined8 *)0x0) { FUN_180534840(*plVar1,0x2000); lVar4 = *(longlong *)*plVar1; local_208 = (undefined ***)CONCAT44(local_208._4_4_,0x2000); FUN_180557920(lVar4,DAT_1824c3ea4,0,DAT_1824c3ea4); dVar6 = local_1d0; uVar9 = DAT_1824c4f30; dVar5 = DAT_1824c4050; uVar18 = (undefined4)DAT_1824c41e8; uVar19 = (undefined4)((ulonglong)DAT_1824c41e8 >> 0x20); lVar12 = lVar11; do { dVar13 = (double)*(float *)(lVar4 + lVar12 * 4); if (0.0 <= param_6) { dVar7 = (double)param_6; if (dVar7 != 0.0) { dVar13 = (double)log2(SUB84(dVar7 * dVar13 + dVar8,0)); dVar7 = (double)log2(SUB84(dVar7 + dVar8,0)); dVar13 = dVar13 / dVar7; } } else { dVar7 = (double)(float)((uint)param_6 ^ uVar9); dVar13 = dVar8 - dVar13; if (dVar7 != 0.0) { dVar13 = (double)log2(SUB84(dVar13 * dVar7 + dVar8,0)); dVar7 = (double)log2(SUB84(dVar7 + dVar8,0)); dVar13 = dVar13 / dVar7; } dVar13 = dVar8 - dVar13; uVar18 = (undefined4)DAT_1824c41e8; uVar19 = (undefined4)((ulonglong)DAT_1824c41e8 >> 0x20); } dVar13 = (double)atanh(SUB84((dVar13 - dVar5) * (double)CONCAT44(uVar19,uVar18) * local_1c8,0) ); uVar16 = SUB84(local_1d8,0); uVar17 = (undefined4)((ulonglong)local_1d8 >> 0x20); *(float *)(lVar4 + lVar12 * 4) = (float)((dVar13 * dVar6 + dVar8) * dVar5 * local_1d8 + *(double *)(param_1 + 0x120)); lVar12 = lVar12 + 1; } while (lVar12 < 0x2000); local_1f8 = 0; uStack_1f4 = 0x3f800000; uStack_1f0 = CONCAT44(uStack_1f0._4_4_,0x45fff800); local_128 = std::_Func_impl_no_alloc<,float,float>:: vftable; local_120 = 0.0; fStack_11c = 1.0; fStack_118 = 8191.0; uStack_114 = uStack_1f0._4_4_; local_1e8 = lVar4; local_110 = lVar4; local_f0 = &local_128; (*(code *) PTR_vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M___1824b0a58 )(&local_128,0); puVar10 = (undefined8 *)FUN_1811316e0(0x10); *puVar10 = 0; puVar10[1] = 0; if (plVar2 == (longlong *)&local_1f8) { *(undefined4 *)((longlong)puVar10 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)0x0); } puVar3 = (undefined8 *)*plVar2; *plVar2 = (longlong)puVar10; if (puVar3 == (undefined8 *)0x0) { FUN_180534840(*plVar2,0x2000); lVar4 = *(longlong *)*plVar2; local_208 = (undefined ***)CONCAT44(local_208._4_4_,0x2000); FUN_180557920(lVar4,DAT_1824c3ea4,local_1dc,local_1e0); dVar13 = local_1c8; dVar6 = local_1d0; do { dVar7 = tanh(((((double)*(float *)(lVar4 + lVar11 * 4) - *(double *)(param_1 + 0x120)) / (double)CONCAT44(uVar17,uVar16)) * (double)CONCAT44(uVar19,uVar18) - dVar8) / dVar6); dVar7 = (dVar7 / dVar13) * dVar5 + dVar5; dVar15 = *(double *)(param_1 + 0xe0); if ((*(double *)(param_1 + 0xe0) <= dVar7) && (dVar15 = *(double *)(param_1 + 0xe8), dVar7 <= *(double *)(param_1 + 0xe8))) { dVar15 = dVar7; } if (0.0 <= param_6) { dVar7 = (double)param_6; if (dVar7 != 0.0) { dVar15 = pow(dVar7 + dVar8,dVar15); dVar15 = (dVar15 - dVar8) / dVar7; } } else { dVar7 = (double)(float)((uint)param_6 ^ uVar9); dVar15 = dVar8 - dVar15; if (dVar7 != 0.0) { dVar15 = pow(dVar7 + dVar8,dVar15); dVar15 = (dVar15 - dVar8) / dVar7; } dVar15 = dVar8 - dVar15; } *(float *)(lVar4 + lVar11 * 4) = (float)dVar15; lVar11 = lVar11 + 1; uVar16 = SUB84(local_1d8,0); uVar17 = (undefined4)((ulonglong)local_1d8 >> 0x20); } while (lVar11 < 0x2000); fStack_118 = DAT_1824c45c0 / (local_1e0 - local_1dc); local_128 = std::_Func_impl_no_alloc<,float,float>:: vftable; local_120 = local_1dc; fStack_11c = local_1e0; uStack_114 = uStack_1f0._4_4_; local_1e8 = lVar4; local_110 = lVar4; local_f0 = &local_128; (*(code *) PTR_vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M___1824b0a58 )(&local_128,0); } *(undefined4 *)((longlong)puVar3 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar3); } *(undefined4 *)((longlong)puVar3 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar3); } ############ FUN_ 18056a2c0 size=230 ############ void FUN_18056a2c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; void *_Src; int *_Memory; int iVar3; undefined8 uVar4; int iVar5; int iVar6; int *piVar7; int *local_40; undefined8 local_38; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130,param_2,param_3,param_4,0xfffffffffffffffe); DAT_182673700 = FUN_18133c6c0(uVar4); } local_40 = (int *)0x0; local_38 = 0; iVar2 = *(int *)((longlong)*(undefined8 **)(DAT_182673700 + 0x78) + 0xc); _Src = (void *)**(undefined8 **)(DAT_182673700 + 0x78); FUN_18051d660(&local_40,iVar2); _Memory = local_40; iVar3 = local_38._4_4_; memcpy(local_40 + (longlong)local_38._4_4_ * 0x10,_Src,(longlong)iVar2 << 6); iVar6 = 0; iVar5 = 0; if (_Memory != _Memory + (longlong)(iVar3 + iVar2) * 0x10) { piVar7 = _Memory + 8; do { if (iVar6 < piVar7[-1]) { iVar6 = piVar7[-1]; } if (iVar5 < *piVar7) { iVar5 = *piVar7; } piVar1 = piVar7 + 8; piVar7 = piVar7 + 0x10; } while (piVar1 != _Memory + (longlong)(iVar3 + iVar2) * 0x10); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18163b610 size=339 ############ void FUN_18163b610(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 *puVar2; bool bVar3; char cVar4; longlong lVar5; undefined8 *puVar6; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_c = *(undefined4 *)(param_2 + 0x2c); uStack_10 = *(undefined4 *)(param_2 + 0x28); lVar5 = 0; local_18 = 0; FUN_181342870(param_2,&local_18,CONCAT71((uint7)(uint3)((uint)uStack_c >> 8),1),param_4, 0xfffffffffffffffe); lVar1 = *(longlong *)(param_1 + 0x1a0); if ((lVar1 != 0) && (*(longlong *)(lVar1 + 8) != 0)) { lVar5 = *(longlong *)(*(longlong *)(lVar1 + 8) + 0x10); } if (lVar5 != param_2) { if (lVar1 != 0) { FUN_180597f80(); puVar6 = *(undefined8 **)(param_1 + 0x1a0); *(undefined8 *)(param_1 + 0x1a0) = 0; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } } *(undefined8 *)(param_1 + 0x188) = 0; puVar6 = (undefined8 *)FUN_1811316e0(0x60); FUN_181322bc0(puVar6,param_2); puVar6[9] = 0xffffffffffffffff; *(undefined4 *)(puVar6 + 10) = 0; *puVar6 = juce::OpenGLContext::Attachment::vftable; puVar6[8] = juce::OpenGLContext::Attachment::vftable; puVar6[0xb] = param_1; if ((((*(char *)(param_1 + 499) == '\0') && (0 < *(int *)(param_2 + 0x28))) && (0 < *(int *)(param_2 + 0x2c))) && (cVar4 = FUN_180598290(param_2), cVar4 != '\0')) { bVar3 = true; } else { bVar3 = false; } if (bVar3) { FUN_180598300(puVar6); } puVar2 = *(undefined8 **)(param_1 + 0x1a0); *(undefined8 **)(param_1 + 0x1a0) = puVar6; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } return; } ############ FUN_ 180598300 size=378 ############ void FUN_180598300(longlong param_1) { undefined8 *puVar1; void *_Memory; undefined8 uVar2; longlong lVar3; longlong lVar4; longlong lVar5; ulonglong uVar6; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; lVar4 = 0; lVar5 = lVar4; if (*(longlong *)(param_1 + 8) != 0) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x10); } uVar2 = FUN_1811316e0(0x400); lVar3 = *(longlong *)(param_1 + 0x58); uVar6 = *(ulonglong *)(lVar3 + 0x1d8); lVar3 = FUN_180596440(uVar2,lVar3,lVar5,lVar3 + 0x1a8,uVar6); if (*(longlong *)(lVar5 + 0x68) != lVar3) { puVar1 = *(undefined8 **)(lVar5 + 0x68); *(longlong *)(lVar5 + 0x68) = lVar3; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } uStack_c = *(undefined4 *)(lVar5 + 0x2c); uStack_10 = *(undefined4 *)(lVar5 + 0x28); local_18 = 0; FUN_181342870(lVar5,&local_18,1); } if (*(longlong *)(param_1 + 8) != 0) { lVar4 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x10); } lVar4 = __RTDynamicCast(*(undefined8 *)(lVar4 + 0x68),0, &juce::CachedComponentImage::RTTI_Type_Descriptor, &juce::OpenGLContext::CachedImage::RTTI_Type_Descriptor, uVar6 & 0xffffffff00000000); if (lVar4 != 0) { if (*(longlong *)(lVar4 + 0x68) != 0) { uVar2 = FUN_1811316e0(0xf8); uVar2 = FUN_18122abb0(uVar2,1); _Memory = *(void **)(lVar4 + 0x300); *(undefined8 *)(lVar4 + 0x300) = uVar2; if (_Memory != (void *)0x0) { FUN_18122aa90(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } if (*(longlong *)(lVar4 + 0x300) != 0) { FUN_18122a750(*(longlong *)(lVar4 + 0x300),lVar4 + 8,0); } } FUN_180596f80(lVar4,1); FUN_1812a77d0(param_1 + 0x40,400); } return; } ############ FUN_ 180596440 size=721 ############ undefined8 * FUN_180596440(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { uint *_Memory; uint uVar1; undefined8 *puVar2; undefined8 uVar3; longlong local_res10; *param_1 = juce::CachedComponentImage::vftable; FUN_18049c4e0(&local_res10,"OpenGL Rendering"); param_1[1] = juce::ThreadPoolJob::vftable; param_1[2] = local_res10; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } param_1[3] = 0; *(undefined2 *)(param_1 + 4) = 0; *(undefined1 *)((longlong)param_1 + 0x22) = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 5)); param_1[0xb] = 0; param_1[0xc] = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::OpenGLContext::CachedImage::vftable; param_1[1] = juce::OpenGLContext::CachedImage::vftable; param_1[0xd] = 0; param_1[0xe] = param_2; param_1[0xf] = param_3; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; param_1[0x15] = 0; param_1[0x16] = 0; param_1[0x17] = 0; param_1[0x18] = 0x3ff0000000000000; param_1[0x19] = 0x3f800000; param_1[0x1a] = 0; param_1[0x1b] = 0x3f800000; param_1[0x1c] = 0; param_1[0x1d] = 0; param_1[0x1e] = 0; param_1[0x1f] = 0; *(undefined1 *)(param_1 + 0x20) = 0; _Mtx_init_in_situ(param_1 + 0x21,2); _Cnd_init_in_situ(param_1 + 0x2b); *(undefined1 *)(param_1 + 0x34) = 0; *(undefined1 *)(param_1 + 0x35) = 0; _Mtx_init_in_situ(param_1 + 0x36,2); _Cnd_init_in_situ(param_1 + 0x40); *(undefined1 *)(param_1 + 0x49) = 0; *(undefined1 *)(param_1 + 0x4a) = 0; _Mtx_init_in_situ(param_1 + 0x4b,2); _Cnd_init_in_situ(param_1 + 0x55); *(undefined1 *)(param_1 + 0x5e) = 0; param_1[0x5f] = 0x10000; param_1[0x60] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x61)); param_1[0x67] = 0; param_1[0x68] = 0; param_1[0x69] = 0; *(undefined1 *)(param_1 + 0x6a) = 0; _Mtx_init_in_situ(param_1 + 0x6b,2); _Cnd_init_in_situ(param_1 + 0x75); *(undefined1 *)(param_1 + 0x7e) = 0; param_1[0x7f] = 0; local_res10 = FUN_1811316e0(0x68); uVar3 = FUN_180595860(local_res10,param_1[0xf],param_4,param_5); puVar2 = (undefined8 *)param_1[0xd]; param_1[0xd] = uVar3; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar2 = (undefined8 *)param_1[0xd]; if (puVar2[5] == 0) { param_1[0xd] = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } else { *(undefined8 **)(param_1[0xe] + 0x188) = puVar2; } return param_1; } ############ FUN_ 180595860 size=1264 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180595860(undefined8 *param_1,longlong param_2,int *param_3,HGLRC param_4) { undefined8 *puVar1; longlong lVar2; longlong lVar3; longlong lVar4; int format; BOOL BVar5; HGLRC pHVar6; HGLRC pHVar7; PROC pPVar8; char *pcVar9; int iVar10; undefined1 auStack_1c8 [32]; int *local_1a8; undefined8 **local_1a0; undefined8 *local_198; undefined8 uStack_190; int local_188 [2]; undefined8 local_180; undefined8 *local_178; PIXELFORMATDESCRIPTOR local_170; undefined8 local_148; undefined8 uStack_140; undefined8 local_138; undefined8 uStack_130; undefined4 local_128; undefined4 local_124; undefined4 local_120; int local_11c; undefined4 local_118; int local_114; undefined4 local_110; int local_10c; undefined4 local_108; int local_104; undefined4 local_100; int local_fc; undefined4 local_f8; int local_f4; undefined4 local_f0; int local_ec; undefined4 local_e8; int local_e4; undefined4 local_e0; int local_dc; undefined4 local_d8; int local_d4; undefined4 local_d0; int local_cc; undefined4 local_c8; undefined4 local_c4; undefined4 local_c0; uint local_bc; ulonglong local_48; local_180 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1c8; param_1[1] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 2) = 0; *param_1 = juce::OpenGLContext::NativeContext::vftable; param_1[3] = 0; param_1[4] = 0; param_1[7] = 0; param_1[8] = 0x3ff0000000000000; param_1[9] = 0; local_178 = param_1; local_198 = (undefined8 *)FUN_1811316e0(0xb8); local_198[1] = &DAT_1821dbf98; local_198[2] = &DAT_1821dbf98; local_198[3] = 0; local_198[4] = 0; local_198[5] = 0; local_198[6] = 0; local_198[7] = 0; local_198[8] = 0; local_198[9] = 0; local_198[10] = 0; local_198[0xb] = 0; local_198[0xc] = 0; local_198[0xd] = 0; local_198[0xe] = 0; local_198[0xf] = 0; local_198[0x10] = 0; local_198[0x11] = 0; local_198[0x12] = 0; local_198[0x13] = 0; local_198[0x14] = 0; *(undefined4 *)(local_198 + 0x15) = 0; *(undefined1 *)((longlong)local_198 + 0xac) = 0; *local_198 = juce::OpenGLContext::NativeContext::DummyComponent::vftable; local_198[0x16] = param_1; puVar1 = (undefined8 *)param_1[3]; param_1[3] = local_198; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_180596030(param_1,param_2); local_170.dwVisibleMask = 0; local_170.dwDamageMask = 0; local_170.nSize = 0x28; local_170.nVersion = 1; local_170.dwFlags = 0x25; local_170._8_4_ = (uint)CONCAT11((char)*param_3,(char)param_3[1] + (char)*param_3 + (char)param_3[2]) << 8; local_170.cGreenBits = (char)param_3[1]; local_170.cGreenShift = '\0'; local_170.cBlueBits = (char)param_3[2]; local_170.cBlueShift = '\0'; local_170.cAuxBuffers = '\0'; local_170.iLayerType = '\0'; local_170.bReserved = '\0'; local_170.dwLayerMask = 0; local_170.cStencilBits = *(byte *)(param_3 + 5); local_170.cAlphaShift = '\0'; local_170.cAlphaBits = *(byte *)(param_3 + 3); local_170.cAccumBits = (BYTE)param_3[7] + (BYTE)param_3[6] + (BYTE)param_3[8] + (BYTE)param_3[9]; local_170.cAccumRedBits = (BYTE)param_3[6]; local_170.cAccumGreenBits = (BYTE)param_3[7]; local_170.cAccumBlueBits = (BYTE)param_3[8]; local_170.cAccumAlphaBits = (BYTE)param_3[9]; local_170.cDepthBits = (BYTE)param_3[4]; format = ChoosePixelFormat((HDC)param_1[6],&local_170); if (format != 0) { SetPixelFormat((HDC)param_1[6],format,&local_170); } pHVar6 = wglCreateContext((HDC)param_1[6]); param_1[5] = pHVar6; if (pHVar6 != (HGLRC)0x0) { pHVar7 = wglGetCurrentContext(); if (pHVar7 != pHVar6) { wglMakeCurrent((HDC)param_1[6],pHVar6); } pPVar8 = wglGetProcAddress("wglChoosePixelFormatARB"); param_1[10] = pPVar8; pPVar8 = wglGetProcAddress("wglSwapIntervalEXT"); param_1[0xb] = pPVar8; pPVar8 = wglGetProcAddress("wglGetSwapIntervalEXT"); param_1[0xc] = pPVar8; local_188[0] = 0; if (param_1[10] != 0) { local_148 = _DAT_1824c4850; uStack_140 = _UNK_1824c4858; local_138 = _DAT_1824c4940; uStack_130 = _UNK_1824c4948; local_128 = 0x2003; local_124 = 0x2027; local_120 = 0x2014; local_11c = param_3[2] + *param_3 + param_3[1]; local_118 = 0x2015; local_114 = *param_3; local_110 = 0x2017; local_10c = param_3[1]; local_108 = 0x2019; local_104 = param_3[2]; local_100 = 0x201b; local_fc = param_3[3]; local_f8 = 0x2022; local_f4 = param_3[4]; local_f0 = 0x2023; local_ec = param_3[5]; local_e8 = 0x201e; local_e4 = param_3[6]; local_e0 = 0x201f; local_dc = param_3[7]; local_d8 = 0x2020; local_d4 = param_3[8]; local_d0 = 0x2021; local_cc = param_3[9]; iVar10 = 0x20; if ((char)param_3[10] != '\0') { pcVar9 = (char *)glGetString(0x1f03); for (pcVar9 = strstr(pcVar9,"GL_ARB_multisample"); pcVar9 != (char *)0x0; pcVar9 = strstr(pcVar9 + 0x12,"GL_ARB_multisample")) { if ((pcVar9[0x12] & 0xdfU) == 0) { local_c8 = 0x2041; local_c4 = 1; local_c0 = 0x2042; local_bc = (uint)*(byte *)(param_3 + 10); iVar10 = 0x24; break; } } } *(undefined4 *)((longlong)&local_148 + (longlong)iVar10 * 4) = 0; local_198 = (undefined8 *)((ulonglong)local_198 & 0xffffffff00000000); local_1a0 = &local_198; local_1a8 = local_188; (*(code *)param_1[10])(param_1[6],&local_148,0,1); } iVar10 = local_188[0]; wglMakeCurrent((HDC)0x0,(HGLRC)0x0); if ((iVar10 != format) && (iVar10 != 0)) { FUN_1805962f0(param_1); puVar1 = (undefined8 *)param_1[4]; param_1[4] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_180596030(param_1,param_2); BVar5 = SetPixelFormat((HDC)param_1[6],iVar10,&local_170); if (BVar5 != 0) { if ((HGLRC)param_1[5] != (HGLRC)0x0) { wglDeleteContext((HGLRC)param_1[5]); param_1[5] = 0; } pHVar6 = wglCreateContext((HDC)param_1[6]); param_1[5] = pHVar6; } } if (param_4 != (HGLRC)0x0) { wglShareLists(param_4,(HGLRC)param_1[5]); } lVar4 = *(longlong *)(param_2 + 0x18); lVar3 = param_2; while (lVar2 = lVar4, lVar2 != 0) { lVar3 = lVar2; lVar4 = *(longlong *)(lVar2 + 0x18); } uStack_190 = *(undefined8 *)(lVar3 + 0x28); local_198 = (undefined8 *)0x0; FUN_181342870(lVar3,&local_198,1); uStack_190 = *(undefined8 *)(param_2 + 0x28); local_198 = (undefined8 *)0x0; FUN_181342870(param_2,&local_198, CONCAT71((uint7)(uint3)((uint)*(undefined4 *)(param_2 + 0x2c) >> 8),1)); } } ############ FUN_ 180596030 size=692 ############ void FUN_180596030(longlong param_1,longlong param_2) { int *piVar1; int iVar2; undefined8 *puVar3; undefined **ppuVar4; longlong lVar5; longlong lVar6; char cVar7; longlong *plVar8; undefined8 uVar9; undefined4 *puVar10; HDC pHVar11; HWND hWnd; longlong lVar12; float fVar13; undefined8 *local_res8; double local_res10; double local_res18; double local_res20; undefined4 local_a8; int local_98; int iStack_94; int iStack_90; int iStack_8c; undefined8 local_88; undefined4 uStack_80; undefined4 uStack_7c; undefined4 local_78; undefined4 local_74; undefined4 local_70; undefined4 local_6c; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined4 local_58 [4]; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; lVar12 = *(longlong *)(param_2 + 0x18); lVar6 = param_2; while (lVar5 = lVar12, lVar5 != 0) { lVar6 = lVar5; lVar12 = *(longlong *)(lVar5 + 0x18); } if ((*(byte *)(lVar6 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar6 + 0x18) != 0) { plVar8 = (longlong *)FUN_18134c2e0(); goto LAB_180596095; } LAB_1805960b2: lVar12 = 0; } else { plVar8 = (longlong *)FUN_1812d2bd0(lVar6); LAB_180596095: if (plVar8 == (longlong *)0x0) goto LAB_1805960b2; if ((undefined **)*plVar8 == juce::HWNDComponentPeer::vftable) { lVar12 = plVar8[0x11]; } else { lVar12 = (*(code *)((undefined **)*plVar8)[1])(); } } uVar9 = *(undefined8 *)(param_1 + 0x18); local_res8 = (undefined8 *)FUN_1811316e0(0x158); uVar9 = FUN_18050dd00(local_res8,uVar9,4,lVar12,1); puVar3 = *(undefined8 **)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = uVar9; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } if ((*(byte *)(lVar6 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar6 + 0x18) == 0) goto LAB_180596296; plVar8 = (longlong *)FUN_18134c2e0(); } else { plVar8 = (longlong *)FUN_1812d2bd0(lVar6); } if (plVar8 != (longlong *)0x0) { FUN_1804de690(&local_res8,param_2); FUN_1804a9e60(param_1 + 0x48,&local_res8); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } uVar9 = (**(code **)(*plVar8 + 0x110))(plVar8); *(undefined8 *)(param_1 + 0x40) = uVar9; cVar7 = FUN_18134ce40(); if (cVar7 != '\0') { *(double *)(param_1 + 0x40) = *(double *)(param_1 + 0x40) * *(double *)(param_1 + 0x40); } FUN_1812a77d0(param_1,0x32); uStack_7c = *(undefined4 *)(param_2 + 0x2c); uStack_80 = *(undefined4 *)(param_2 + 0x28); local_88 = 0; local_68 = 0; uStack_64 = 0; uStack_60 = uStack_80; uStack_5c = uStack_7c; FUN_18051df30(&local_98,plVar8[1],param_2,&local_68); fVar13 = (float)(**(code **)(*(longlong *)plVar8[1] + 0x80))(); if (fVar13 == DAT_1824c3ea4) { puVar10 = local_58; } else { local_res20 = (double)((float)iStack_90 * fVar13) + DAT_1824c4520; local_res18 = (double)((float)iStack_94 * fVar13) + DAT_1824c4520; local_res10 = (double)((float)local_98 * fVar13) + DAT_1824c4520; local_78 = local_res10._0_4_; local_74 = local_res18._0_4_; local_70 = local_res20._0_4_; local_a8 = SUB84((double)((float)iStack_8c * fVar13) + DAT_1824c4520,0); local_6c = local_a8; puVar10 = &local_78; } local_48 = *puVar10; uStack_44 = puVar10[1]; uStack_40 = puVar10[2]; uStack_3c = puVar10[3]; FUN_180595d70(param_1,&local_48); } LAB_180596296: (**(code **)(**(longlong **)(param_1 + 0x20) + 0x10))(*(longlong **)(param_1 + 0x20),1); ppuVar4 = (undefined **)**(longlong **)(param_1 + 0x20); if (ppuVar4 == juce::HWNDComponentPeer::vftable) { hWnd = (HWND)(*(longlong **)(param_1 + 0x20))[0x11]; } else { hWnd = (HWND)(*(code *)ppuVar4[1])(); } pHVar11 = GetDC(hWnd); *(HDC *)(param_1 + 0x30) = pHVar11; return; } ############ FUN_ 180596f80 size=1161 ############ void FUN_180596f80(longlong *param_1,char param_2) { double dVar1; undefined4 uVar2; undefined4 uVar3; int iVar4; undefined4 uVar5; undefined4 uVar6; longlong lVar7; int iVar8; int iVar9; longlong lVar10; undefined4 *puVar11; undefined8 uVar12; longlong lVar13; longlong *plVar14; undefined8 *puVar15; char cVar16; float fVar17; undefined4 local_res8; undefined4 local_res18; undefined4 local_res20; int local_198; int iStack_194; int iStack_190; int iStack_18c; undefined8 local_188; undefined4 uStack_180; undefined4 uStack_17c; undefined8 local_178; int iStack_170; int iStack_16c; undefined8 local_168; undefined4 uStack_160; undefined4 uStack_15c; undefined4 local_158; undefined4 local_154; undefined4 local_150; undefined4 local_14c; double local_148; float local_140; undefined8 uStack_13c; undefined4 uStack_134; ulonglong local_130; undefined1 local_128 [8]; int local_120; int local_11c; longlong local_118; longlong lStack_110; double local_108; double local_100; double local_f8; double local_f0; undefined8 local_e8; undefined4 local_d8; undefined4 uStack_d4; undefined4 uStack_d0; undefined4 uStack_cc; undefined4 local_c8; undefined4 uStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; undefined4 local_b8; undefined4 uStack_b4; undefined4 uStack_b0; undefined4 uStack_ac; undefined8 local_a8; undefined8 uStack_a0; undefined8 local_98; undefined8 uStack_90; undefined8 local_88 [2]; undefined8 local_78; undefined8 uStack_70; undefined1 local_68 [16]; undefined1 local_58 [32]; local_e8 = 0xfffffffffffffffe; lVar10 = param_1[0xf]; if ((*(byte *)(lVar10 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar10 + 0x18) == 0) { return; } lVar10 = FUN_18134c2e0(); } else { lVar10 = FUN_1812d2bd0(lVar10); } if (lVar10 == 0) { return; } lVar13 = param_1[0xf]; for (lVar7 = *(longlong *)(param_1[0xf] + 0x18); lVar7 != 0; lVar7 = *(longlong *)(lVar7 + 0x18)) { lVar13 = lVar7; } uVar2 = *(undefined4 *)(lVar13 + 0x2c); uVar3 = *(undefined4 *)(lVar13 + 0x28); local_188 = 0; local_188._0_4_ = 0; local_188._4_4_ = 0; uStack_17c = uVar2; uStack_180 = uVar3; uVar5 = (undefined4)local_188; uVar6 = local_188._4_4_; for (; lVar13 != 0; lVar13 = *(longlong *)(lVar13 + 0x18)) { local_d8 = uVar5; uStack_d4 = uVar6; uStack_d0 = uVar3; uStack_cc = uVar2; puVar11 = (undefined4 *)FUN_18051e4b0(local_68,lVar13,&local_d8); uVar5 = *puVar11; uVar6 = puVar11[1]; uVar3 = puVar11[2]; uVar2 = puVar11[3]; } plVar14 = *(longlong **)(param_1[0xd] + 0x20); local_c8 = uVar5; uStack_c4 = uVar6; uStack_c0 = uVar3; uStack_bc = uVar2; if (plVar14 != (longlong *)0x0) { if ((undefined **)*plVar14 == juce::HWNDComponentPeer::vftable) { lVar13 = plVar14[0x11]; } else { lVar13 = (*(code *)((undefined **)*plVar14)[1])(); } FUN_1812c75b0(); if ((DAT_182678f08 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar16 = FUN_1812c7510(); } else { uVar12 = (*DAT_182678f08)(lVar13); iVar8 = (*DAT_182678ec8)(uVar12); cVar16 = iVar8 == 2; } if (cVar16 != '\0') { local_b8 = uVar5; uStack_b4 = uVar6; uStack_b0 = uVar3; uStack_ac = uVar2; if (DAT_182673700 == 0) { uVar12 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar12); } lVar13 = FUN_18133d8f0(*(undefined8 *)(DAT_182673700 + 0x78),&local_b8,0); dVar1 = *(double *)(lVar13 + 0x30); goto LAB_180597129; } } if (DAT_182673700 == 0) { uVar12 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar12); } dVar1 = (double)*(float *)(DAT_182673700 + 0xc0); LAB_180597129: lVar13 = param_1[0xf]; iVar8 = *(int *)(lVar13 + 0x2c); iVar4 = *(int *)(lVar13 + 0x28); uStack_a0 = *(undefined8 *)(lVar13 + 0x28); local_178 = 0; local_a8 = 0; iStack_170 = iVar4; iStack_16c = iVar8; FUN_18051df30(local_128,*(undefined8 *)(lVar10 + 8),lVar13,&local_a8); local_f0 = (double)local_11c * dVar1; local_f8 = (double)local_120 * dVar1; local_100 = dVar1 * 0.0; local_108 = dVar1 * 0.0; plVar14 = (longlong *)FUN_18051bbd0(&local_108,local_58,local_100,local_f8,0); local_118 = *plVar14; lStack_110 = plVar14[1]; iVar9 = (int)((ulonglong)lStack_110 >> 0x20); if (((((double)param_1[0x18] != dVar1) || ((int)param_1[0x14] != (int)local_118)) || (*(int *)((longlong)param_1 + 0xa4) != (int)((ulonglong)local_118 >> 0x20))) || (((int)param_1[0x15] != (int)lStack_110 || (*(int *)((longlong)param_1 + 0xac) != iVar9)))) { param_1[0x18] = (longlong)dVar1; param_1[0x14] = local_118; param_1[0x15] = lStack_110; local_140 = (float)(int)lStack_110 / (float)iVar4; uStack_13c = 0; uStack_134 = 0; *(float *)(param_1 + 0x19) = local_140; *(undefined4 *)((longlong)param_1 + 0xcc) = 0; *(undefined4 *)(param_1 + 0x1a) = 0; *(undefined4 *)((longlong)param_1 + 0xd4) = 0; local_130 = (ulonglong)(uint)((float)iVar9 / (float)iVar8); param_1[0x1b] = local_130; lVar13 = param_1[0xf]; uStack_15c = *(undefined4 *)(lVar13 + 0x2c); uStack_160 = *(undefined4 *)(lVar13 + 0x28); uStack_90 = *(undefined8 *)(lVar13 + 0x28); local_168 = 0; local_98 = 0; FUN_18051df30(&local_198,*(undefined8 *)(lVar10 + 8),lVar13,&local_98); fVar17 = (float)(**(code **)(**(longlong **)(lVar10 + 8) + 0x80))(); if (fVar17 == DAT_1824c3ea4) { puVar15 = local_88; } else { local_148 = (double)((float)iStack_18c * fVar17) + DAT_1824c4520; dVar1 = local_148; local_res8 = SUB84((double)((float)local_198 * fVar17) + DAT_1824c4520,0); local_158 = local_res8; local_res18 = SUB84((double)((float)iStack_194 * fVar17) + DAT_1824c4520,0); local_154 = local_res18; local_res20 = SUB84((double)((float)iStack_190 * fVar17) + DAT_1824c4520,0); local_150 = local_res20; local_14c = local_148._0_4_; puVar15 = (undefined8 *)&local_158; local_148 = dVar1; } local_78 = *puVar15; uStack_70 = puVar15[1]; FUN_180595d70(param_1[0xd],&local_78); if (param_2 != '\0') { if ((undefined **)*param_1 == juce::OpenGLContext::CachedImage::vftable) { *(undefined4 *)((longlong)param_1 + 0x9c) = 0; LOCK(); *(undefined1 *)((longlong)param_1 + 0x2fa) = 1; UNLOCK(); FUN_181215c10(param_1 + 0x4a); } else { (*(code *)((undefined **)*param_1)[2])(param_1); } } } return; } ############ FUN_ 180565ca0 size=58 ############ undefined8 * FUN_180565ca0(undefined8 param_1,undefined8 *param_2) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x300); uVar1 = FUN_1814d78a0(uVar1); *param_2 = uVar1; return param_2; } ############ FUN_ 1814d78a0 size=1164 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814d78a0(longlong *param_1) { undefined8 **ppuVar1; longlong *plVar2; longlong *plVar3; uint uVar4; undefined8 *puVar5; longlong lVar6; undefined ***pppuVar7; undefined8 *puVar8; undefined8 *puVar9; uint *_Memory; undefined ***pppuVar10; undefined1 auStack_188 [32]; longlong local_168; longlong local_160; undefined8 *local_158; undefined8 local_150; longlong *local_148; longlong local_140; undefined **local_138; longlong *local_130; undefined ***local_100; undefined **local_f8; longlong *local_f0; undefined ***local_c0; longlong local_b8 [7]; longlong *local_80; longlong local_78 [7]; longlong *local_40; ulonglong local_38; local_150 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_188; local_148 = param_1; FUN_1813f4190(); param_1[0x51] = 0; *(undefined1 *)(param_1 + 0x52) = 0; param_1[0x54] = -1; *(undefined4 *)(param_1 + 0x55) = 0; *param_1 = (longlong)ConfigMenu::vftable; param_1[0x50] = (longlong)ConfigMenu::vftable; param_1[0x53] = (longlong)ConfigMenu::vftable; ppuVar1 = (undefined8 **)(param_1 + 0x56); *ppuVar1 = (undefined8 *)0x0; plVar2 = param_1 + 0x57; *plVar2 = 0; param_1[0x58] = 0; param_1[0x59] = 0; param_1[0x5a] = 0; param_1[0x5b] = 0; param_1[0x5c] = 0; param_1[0x5d] = 0; *(undefined4 *)(param_1 + 0x5e) = 0; plVar3 = param_1 + 0x5f; *plVar3 = 0; FUN_18049c4e0(&local_168,"Config menu"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,&local_168); _Memory = (uint *)(local_168 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_168 = FUN_1811316e0(0x490); puVar8 = (undefined8 *)FUN_1814b7eb0(local_168); if (plVar2 == &local_160) { if (puVar8 != (undefined8 *)0x0) { puVar9 = (undefined8 *)*puVar8; goto LAB_1814d7a05; } } else { puVar5 = (undefined8 *)*plVar2; *plVar2 = (longlong)puVar8; if (puVar5 != (undefined8 *)0x0) { puVar9 = (undefined8 *)*puVar5; puVar8 = puVar5; LAB_1814d7a05: (*(code *)*puVar9)(puVar8,1); } } local_160 = FUN_1811316e0(0x498); puVar8 = (undefined8 *)FUN_1814be8d0(local_160); if (ppuVar1 == &local_158) { if (puVar8 != (undefined8 *)0x0) { puVar9 = (undefined8 *)*puVar8; goto LAB_1814d7a4b; } } else { puVar5 = *ppuVar1; *ppuVar1 = puVar8; if (puVar5 != (undefined8 *)0x0) { puVar9 = (undefined8 *)*puVar5; puVar8 = puVar5; LAB_1814d7a4b: (*(code *)*puVar9)(puVar8,1); } } (**(code **)(*param_1 + 0x188))(param_1,*ppuVar1); (**(code **)(*param_1 + 0x188))(param_1,*plVar2); FUN_1812a77d0(param_1 + 0x53,0x21); FUN_18134bd50(param_1); puVar8 = (undefined8 *)FUN_1811316e0(0x100); local_158 = puVar8; memset(puVar8,0,0x100); *puVar8 = std::_Func_impl_no_alloc<,void>::vftable; puVar8[7] = puVar8; puVar8[8] = std::_Func_impl_no_alloc<,void>::vftable; puVar8[0xf] = puVar8 + 8; puVar8[0x10] = std::_Func_impl_no_alloc<,void>::vftable; puVar8[0x17] = puVar8 + 0x10; puVar8[0x18] = std::_Func_impl_no_alloc<,void>::vftable; puVar8[0x1f] = puVar8 + 0x18; if (plVar3 == &local_140) { FUN_18056ae80(puVar8); LAB_1814d7b24: /* WARNING: Subroutine does not return */ free(puVar8); } puVar9 = (undefined8 *)*plVar3; *plVar3 = (longlong)puVar8; if (puVar9 != (undefined8 *)0x0) { FUN_18056ae80(puVar9); puVar8 = puVar9; goto LAB_1814d7b24; } lVar6 = *plVar3; pppuVar10 = (undefined ***)(lVar6 + 0x40); local_138 = std::_Func_impl_no_alloc<,void>::vftable; local_100 = &local_138; local_80 = (longlong *)0x0; local_130 = param_1; local_80 = (longlong *)(*(code *)PTR_FUN_1824b6220)(&local_138,local_b8); if (local_100 != (undefined ***)0x0) { (*(code *)(*local_100)[4])(local_100,local_100 != &local_138); local_100 = (undefined ***)0x0; } pppuVar7 = *(undefined ****)(lVar6 + 0x78); if (pppuVar7 != (undefined ***)0x0) { if (pppuVar7 == pppuVar10) { local_100 = (undefined ***)(*(code *)(*pppuVar7)[1])(pppuVar7,&local_138); pppuVar7 = *(undefined ****)(lVar6 + 0x78); if (pppuVar7 == (undefined ***)0x0) goto LAB_1814d7bcb; (*(code *)(*pppuVar7)[4])(pppuVar7,pppuVar7 != pppuVar10); pppuVar7 = local_100; } local_100 = pppuVar7; *(undefined8 *)(lVar6 + 0x78) = 0; } LAB_1814d7bcb: FUN_180488560(pppuVar10,local_b8); if (local_80 != (longlong *)0x0) { (**(code **)(*local_80 + 0x20))(local_80,local_80 != local_b8); } if (local_100 != (undefined ***)0x0) { (*(code *)(*local_100)[4])(local_100,local_100 != &local_138); } lVar6 = *plVar3; pppuVar10 = (undefined ***)(lVar6 + 0x80); local_f8 = std::_Func_impl_no_alloc<,void>::vftable; local_c0 = &local_f8; local_40 = (longlong *)0x0; local_f0 = param_1; local_40 = (longlong *)(*(code *)PTR_FUN_1824b6970)(&local_f8,local_78); if (local_c0 != (undefined ***)0x0) { (*(code *)(*local_c0)[4])(local_c0,local_c0 != &local_f8); local_c0 = (undefined ***)0x0; } pppuVar7 = *(undefined ****)(lVar6 + 0xb8); if (pppuVar7 != (undefined ***)0x0) { if (pppuVar7 == pppuVar10) { local_c0 = (undefined ***)(*(code *)(*pppuVar7)[1])(pppuVar7,&local_f8); pppuVar7 = *(undefined ****)(lVar6 + 0xb8); if (pppuVar7 == (undefined ***)0x0) goto LAB_1814d7cb8; (*(code *)(*pppuVar7)[4])(pppuVar7,pppuVar7 != pppuVar10); pppuVar7 = local_c0; } local_c0 = pppuVar7; *(undefined8 *)(lVar6 + 0xb8) = 0; } LAB_1814d7cb8: FUN_180488560(pppuVar10,local_78); if (local_40 != (longlong *)0x0) { (**(code **)(*local_40 + 0x20))(local_40,local_40 != local_78); } if (local_c0 != (undefined ***)0x0) { (*(code *)(*local_c0)[4])(local_c0,local_c0 != &local_f8); } FUN_18056aa40(param_1 + 0x16,*plVar3); } ############ FUN_ 1814b7eb0 size=1056 ############ /* WARNING: Instruction at (ram,0x0001814b81a0) overlaps instruction at (ram,0x0001814b819c) */ /* WARNING: Removing unreachable block (ram,0x0001814b819c) */ /* WARNING: Removing unreachable block (ram,0x0001814b8300) */ /* WARNING: Removing unreachable block (ram,0x0001814b800d) */ void FUN_1814b7eb0(undefined8 *param_1) { undefined8 *puVar1; undefined8 uVar2; uint uVar3; uint uVar4; int unaff_retaddr; undefined1 auStack_198 [104]; undefined4 local_130; uint local_128; uint local_124; undefined1 local_118 [32]; undefined1 *local_f8; undefined1 local_f0 [16]; undefined8 *local_e0; undefined1 local_c0 [8]; undefined8 local_b8; undefined8 *local_b0; ulonglong local_30; local_b8 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_198; local_e0 = param_1; local_b0 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(8); *puVar1 = NoTooltipOption::vftable; FUN_1814d5360(param_1,puVar1); *param_1 = NoTooltipOptionComponent::vftable; param_1[0x16] = NoTooltipOptionComponent::vftable; param_1[0x19] = NoTooltipOptionComponent::vftable; param_1[0x1e] = NoTooltipOptionComponent::vftable; local_f8 = local_118; uVar2 = (**(code **)(*(longlong *)param_1[0x1a] + 0x10))((longlong *)param_1[0x1a],local_c0); FUN_18049c4e0(local_118,""); uVar2 = FUN_1812465e0(local_f0,uVar2,"Button"); FUN_18160ae50(param_1 + 0x1f,uVar2,local_118); uVar3 = (uint)&stack0x00000000 & 0x39ff; uVar3 = (uVar3 * uVar3 + 1) % 7; local_128 = ~((int)(-uVar3 | uVar3) >> 0x1f & 0x106U) & 0xb16; uVar3 = (uint)&stack0x00000000 & 0x30ff; uVar3 = (uVar3 + 1) * uVar3 + 7; uVar4 = uVar3 % 0x51; local_124 = ((int)(-uVar4 | uVar4) >> 0x1f) * -0xba50 ^ 0xbda0; (**(code **)(param_1[0x1f] + 0x58))(param_1 + 0x1f,CONCAT71((uint7)(uint3)(uVar3 / 0x51 >> 8),1)); FUN_181343cc0(param_1,param_1 + 0x1f,0xffffffff); do { local_130 = 0xd79d49ec; FUN_1814b9956(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); return; } ############ FUN_ 1814be8d0 size=806 ############ /* WARNING: Removing unreachable block (ram,0x0001814beb78) */ /* WARNING: Removing unreachable block (ram,0x0001814bebeb) */ /* WARNING: Removing unreachable block (ram,0x0001814bea0e) */ short FUN_1814be8d0(undefined8 *param_1) { undefined8 *puVar1; longlong *plVar2; undefined1 uVar3; byte bVar4; undefined8 *puVar5; undefined8 uVar6; ulonglong uVar7; uint uVar8; uint *puVar9; code **ppcVar10; int iVar11; int unaff_retaddr; undefined1 local_218 [32]; undefined *puStack_1f8; undefined4 uStack_1f0; undefined8 uStack_1e8; undefined *puStack_1e0; undefined8 uStack_1d8; undefined8 uStack_1d0; uint auStack_1c0 [9]; uint local_19c; uint local_198; undefined8 *local_190; undefined4 uStack_188; code *apcStack_180 [4]; undefined8 *local_160; undefined1 local_138 [8]; undefined1 *local_130; undefined1 local_120 [8]; undefined1 local_118 [56]; undefined8 local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined1 auStack_c8 [152]; ulonglong local_30; local_e0 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)local_218; local_190 = param_1; local_d8 = param_1; puVar5 = (undefined8 *)FUN_1811316e0(8); *puVar5 = NoOpenGLOption::vftable; FUN_1814d5360(param_1,puVar5); puVar5 = param_1 + 0x1e; *param_1 = NoOpenGLOptionComponent::vftable; param_1[0x16] = NoOpenGLOptionComponent::vftable; param_1[0x19] = NoOpenGLOptionComponent::vftable; *puVar5 = NoOpenGLOptionComponent::vftable; local_130 = local_138; puVar1 = param_1 + 0x1a; local_160 = puVar1; uVar6 = (**(code **)(*(longlong *)*puVar1 + 0x10))((longlong *)*puVar1,local_120); FUN_18049c4e0(local_138,&DAT_1821d912f); uVar6 = FUN_1812465e0(local_118,uVar6,"Button"); plVar2 = param_1 + 0x1f; FUN_18160ae50(plVar2,uVar6,local_138); param_1[0x92] = NoOpenGLOption::vftable; uVar8 = (uint)&stack0x00000000 & 0x1ff; iVar11 = (uVar8 + 2) * (uVar8 + 1) * uVar8; local_198 = 0x74ad >> ((byte)(((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e) & 0x1f) ^ 0x74ed; if (((ulonglong)&stack0x00000000 & 0x1b00) == 0) { uVar8 = 1; } else { uVar8 = 0xd9efb50; } local_19c = ((int)(-uVar8 | uVar8) >> 0x1f) * -0x84b3 ^ 0x8d93; (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff); do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uStack_188 = 0x91ba20ca; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uStack_1f0 = 0x9cf52717; if (puVar5 != (undefined8 *)0x0) { FUN_180488690(param_1 + 0x4b,puVar5); } puVar5 = (undefined8 *)(**(code **)(*(longlong *)*puVar1 + 0x20))((longlong *)*puVar1,&plStack_d0) ; uVar3 = (**(code **)(*(longlong *)*puVar5 + 0x28))((longlong *)*puVar5,puVar5 + 1); (**(code **)(*plStack_d0 + 0xb0))(plStack_d0,auStack_c8); do { func_0x0001814bf93e(0xe714); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); puStack_1e0 = &UNK_182161970; puStack_1f8 = &UNK_182175948; uStack_1e8 = 0x16b98123; uStack_1d8 = 0x13fd8; uStack_1d0._4_4_ = 1; uStack_1d0._0_4_ = 0x1b5c86d8; FUN_181337080(plVar2,uVar3,2); uStack_1d0 = CONCAT44(uStack_1d0._4_4_,0x1a00680) ^ 0x5a71ef15; do { puVar9 = auStack_1c0; func_0x0001814bd338(puVar9,auStack_1c0); uVar6 = rdtsc(); *puVar9 = (uint)uVar6 ^ (uint)((ulonglong)uVar6 >> 0x20); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); auStack_1c0[0] = (auStack_1c0[0] * -0x73327a15 >> 0x18 ^ auStack_1c0[0] * -0x73327a15) * -0x35943d4e; if (auStack_1c0[0] < 0x7fffffff) { apcStack_180[0] = (code *)0x0; do { ppcVar10 = apcStack_180; func_0x0001814c0bfb(ppcVar10,apcStack_180); *ppcVar10 = FUN_181194940; func_0x0001814be6d6(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar7 = (*apcStack_180[0])(); if (1 < uVar7) { FUN_18113eab0(); } } func_0x0001814c0e96(); /* WARNING: Call to offcut address within same function */ bVar4 = func_0x0001814befce(); return (ushort)bVar4 * (ushort)bRam00000000dbd85e72; } ############ FUN_ 18160ae50 size=418 ############ undefined8 * FUN_18160ae50(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { uint uVar1; longlong lVar2; undefined8 *puVar3; undefined8 *puVar4; uint *puVar5; undefined8 local_78; undefined4 local_70; undefined **local_68; undefined8 *local_60; undefined ***local_30; FUN_1813379d0(param_1,param_2,param_3,param_4,0xfffffffffffffffe); *(undefined1 *)((longlong)param_1 + 0x1c1) = 1; param_1[0x3a] = 0; *(undefined1 *)(param_1 + 0x3b) = 0; *param_1 = CloudyBigToggle::vftable; param_1[0x16] = CloudyBigToggle::vftable; param_1[0x39] = CloudyBigToggle::vftable; lVar2 = *param_3; param_1[0x3c] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } local_78 = DAT_18235df78; local_70 = DAT_18235df80; FUN_181408750(param_1 + 0x3e,&local_78); *(undefined4 *)(param_1 + 0x72) = 0; FUN_181411b10(param_1 + 0x3e,"bgAlpha",0); local_68 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_30 = &local_68; local_60 = param_1; FUN_181410000(param_1 + 0x3e,&local_68); if (param_1[0xd] == 0) { puVar4 = (undefined8 *)FUN_1811316e0(0x30); *puVar4 = juce::StandardCachedComponentImage::vftable; puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = param_1; *(undefined4 *)(puVar4 + 5) = 0x3f800000; puVar3 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar4; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } } puVar5 = (uint *)(*param_2 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(*param_3 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return param_1; } ############ FUN_ 180566250 size=306 ############ void FUN_180566250(longlong *param_1) { longlong lVar1; longlong lVar2; longlong *plVar3; longlong *plVar4; longlong local_res8; plVar3 = (longlong *)0x0; lVar2 = __RTDynamicCast(param_1,0, &CloudyAudioProcessorEditor:: RTTI_Type_Descriptor,&CloudyOpenGLRendererCallbacks::RTTI_Type_Descriptor ,0); if (lVar2 != 0) { param_1[0x8f] = lVar2; } FUN_180569a90(param_1 + 0x33); local_res8 = FUN_1811316e0(0x18); plVar4 = param_1 + 0x22; if (param_1 == (longlong *)0x0) { plVar4 = plVar3; } lVar2 = FUN_1804841f0(local_res8,param_1 + 0xa4,plVar4); plVar4 = param_1 + 0xab; if (plVar4 != &local_res8) { lVar1 = *plVar4; *plVar4 = lVar2; lVar2 = lVar1; } if (lVar2 != 0) { FUN_18056ae10(lVar2); } local_res8 = FUN_1811316e0(0x18); if (param_1 != (longlong *)0x0) { plVar3 = param_1 + 0x22; } lVar2 = FUN_1804841f0(local_res8,param_1 + 0xa7,plVar3); plVar3 = param_1 + 0xac; if (plVar3 != &local_res8) { lVar1 = *plVar3; *plVar3 = lVar2; lVar2 = lVar1; } if (lVar2 != 0) { FUN_18056ae10(lVar2); } /* WARNING: Could not recover jumptable at 0x00018056637b. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x1a0)) (param_1,*(undefined8 *)(*(longlong *)(param_1[0x93] + 0x100) + 0x1f0)); return; } ############ FUN_ 1814d4600 size=239 ############ void FUN_1814d4600(longlong *param_1) { longlong lVar1; undefined8 uVar2; undefined8 uVar3; undefined8 uVar4; if ((longlong *)param_1[0x2f5] != (longlong *)0x0) { lVar1 = (**(code **)(*(longlong *)param_1[0x2f5] + 0x60))(); if (lVar1 != 0) { uVar2 = FUN_1811316e0(0x28); uVar3 = FUN_1811316e0(0x40); uVar3 = FUN_1811829c0(uVar3,param_1[0x2f5]); uVar4 = FUN_1811316e0(0x40); uVar4 = FUN_1811829c0(uVar4,param_1[0x2f4]); uVar2 = FUN_181152830(uVar2,uVar4,uVar3,param_1[0x58]); if (*(char *)(*(longlong *)param_1[0x58] + 0x1b8) == '\0') { uVar3 = FUN_18118c230(); FUN_181352640(uVar3); FUN_1813526d0(uVar3,uVar2); } } } /* WARNING: Could not recover jumptable at 0x0001814d46e8. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x168))(param_1); return; } ############ FUN_ 1811829c0 size=392 ############ void FUN_1811829c0(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; uint uVar2; longlong lVar3; void *_Memory; char cVar4; undefined8 uVar5; uint *puVar6; void *local_40; undefined8 local_38; *param_1 = Preset::vftable; param_1[1] = 0; param_1[2] = &DAT_1821dbf98; FUN_18049c4e0(param_1 + 3,&DAT_1821d8e5a,param_3,param_4,0xfffffffffffffffe); param_1[4] = &DAT_1821dbf98; param_1[6] = 0; param_1[7] = 0; if ((undefined **)*param_2 == Preset::vftable) { cVar4 = (char)param_2[5]; } else { cVar4 = (*(code *)((undefined **)*param_2)[9])(param_2); } if (cVar4 != '\0') { *(undefined1 *)(param_1 + 5) = 1; } if (param_2[1] != 0) { uVar5 = FUN_1811316e0(0x20); uVar5 = FUN_181247410(uVar5,param_2[1]); _Memory = (void *)param_1[1]; param_1[1] = uVar5; if (_Memory != (void *)0x0) { FUN_1812472e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*(uint *)(param_2[2] + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(param_2[2] + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar3 = param_1[2]; param_1[2] = param_2[2]; UNLOCK(); puVar6 = (uint *)(lVar3 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if ((*(uint *)(param_2[4] + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(param_2[4] + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar3 = param_1[4]; param_1[4] = param_2[4]; UNLOCK(); puVar6 = (uint *)(lVar3 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } local_40 = (void *)0x0; local_38 = 0; FUN_18048c4c0(&local_40,param_2[6],*(undefined4 *)((longlong)param_2 + 0x3c)); FUN_1804876e0(param_1 + 6,&local_40); FUN_180488c50(&local_40); /* WARNING: Subroutine does not return */ free(local_40); } ############ FUN_ 180566b50 size=3557 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180566b50(undefined8 *param_1,longlong param_2) { longlong *plVar1; int *piVar2; int iVar3; uint uVar4; longlong *plVar5; undefined8 uVar6; undefined8 uVar7; undefined ***pppuVar8; bool bVar9; longlong lVar10; char cVar11; DWORD DVar12; undefined8 *puVar13; undefined8 uVar14; undefined8 *puVar15; undefined8 *puVar16; undefined8 *puVar17; uint *puVar18; longlong *plVar19; undefined ***pppuVar20; longlong *plVar21; undefined1 auStack_3c8 [32]; undefined8 local_3a8; undefined8 *local_398; undefined8 *local_390; char *local_388; longlong *local_380; char *local_378; longlong local_370; undefined **local_368; undefined8 *local_360; undefined **local_358; undefined1 local_350; undefined **local_348; undefined4 local_340; undefined **local_338; undefined4 local_330; longlong *local_320; undefined8 local_318; undefined8 *local_310; longlong local_308; longlong local_300; undefined1 local_2f8 [8]; longlong local_2f0; longlong local_2e8; undefined **local_2e0; undefined1 local_2d8 [16]; undefined **local_2c8; undefined8 *local_2c0; undefined ***local_290; undefined **local_288; undefined8 *local_280; undefined ***local_250; longlong *local_248; undefined1 local_240 [8]; undefined **local_238; undefined8 *local_230; undefined ***local_200; undefined **local_1f8; undefined8 *local_1f0; undefined ***local_1c0; undefined **local_1b8; undefined8 *local_1b0; undefined ***local_180; longlong local_178 [7]; longlong *local_140; undefined1 local_138 [56]; longlong *local_100; longlong local_f8 [7]; longlong *local_c0; longlong local_b8 [7]; longlong *local_80; longlong local_78 [7]; longlong *local_40; ulonglong local_38; local_318 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_3c8; local_398 = (undefined8 *)param_2; local_310 = param_1; FUN_1812bdb90(); param_1[0x22] = ConfigOptionListener::vftable; puVar17 = param_1 + 0x23; *puVar17 = juce::Button::Listener::vftable; param_1[0x24] = CloudyTooltip::Positioner::vftable; param_1[0x25] = juce::DragAndDropContainer::vftable; param_1[0x26] = 0; param_1[0x27] = 0; puVar16 = param_1 + 0x28; param_1[0x29] = 0; *puVar16 = StylerSource::vftable; local_380 = puVar16; puVar13 = (undefined8 *)FUN_1811316e0(0x90); local_380 = puVar13; memset(puVar13,0,0x90); *puVar13 = Styler::vftable; *(undefined1 *)(puVar13 + 1) = 0; puVar15 = puVar13 + 2; *puVar15 = 0; puVar13[3] = 0; local_390 = puVar15; uVar14 = FUN_18048a0f0(); *puVar15 = uVar14; puVar15 = puVar13 + 4; *puVar15 = 0; puVar13[5] = 0; local_390 = puVar15; uVar14 = FUN_18048a0f0(); *puVar15 = uVar14; puVar15 = puVar13 + 6; *puVar15 = 0; puVar13[7] = 0; local_390 = puVar15; uVar14 = FUN_18048a0f0(); *puVar15 = uVar14; puVar13[8] = NoOpenGLOption::vftable; FUN_1814143a0(puVar13 + 9); *(undefined4 *)(puVar13 + 0x11) = 0; param_1[0x2a] = puVar13; param_1[0x29] = puVar13; param_1[0x2b] = CloudyModalContainer::vftable; param_1[0x2c] = ProcessorStateManagerOptionListener::vftable; plVar5 = param_1 + 0x2d; *plVar5 = 0; param_1[0x2e] = 0; local_380 = plVar5; puVar15 = (undefined8 *)FUN_1811316e0(0x668); *(undefined4 *)(puVar15 + 1) = 1; *(undefined4 *)((longlong)puVar15 + 0xc) = 1; *puVar15 = std::_Ref_count_obj::vftable; local_390 = puVar15; FUN_1815dc2d0(puVar15 + 2,param_1); *plVar5 = (longlong)(puVar15 + 2); plVar5 = (longlong *)param_1[0x2e]; param_1[0x2e] = puVar15; local_320 = plVar5; if (plVar5 != (longlong *)0x0) { LOCK(); plVar1 = plVar5 + 1; lVar10 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar10 == 1) { if ((undefined **)*plVar5 == std::_Ref_count_obj::vftable) { (**(code **)plVar5[2])(plVar5 + 2,0); } else { (**(code **)*plVar5)(plVar5); } LOCK(); piVar2 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { if ((undefined **)*local_320 == std::_Ref_count_obj::vftable) { (*(code *)std::_Ref_count_obj::vftable[2])(local_320,1); } else { (*(code *)((undefined **)*local_320)[1])(); } } } } *param_1 = CloudyAudioProcessorEditor::vftable; param_1[0x22] = CloudyAudioProcessorEditor::vftable; *puVar17 = CloudyAudioProcessorEditor::vftable; param_1[0x24] = CloudyAudioProcessorEditor::vftable; param_1[0x25] = CloudyAudioProcessorEditor::vftable; *puVar16 = CloudyAudioProcessorEditor::vftable; param_1[0x2b] = CloudyAudioProcessorEditor::vftable; param_1[0x2c] = CloudyAudioProcessorEditor::vftable; param_1[0x2f] = local_398; lVar10 = (longlong)local_398 + 0x338; param_1[0x30] = lVar10; param_1[0x31] = (longlong)local_398 + 0x178; param_1[0x32] = (longlong)local_398 + 0x400; param_1[0x35] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x36) = 0; param_1[0x33] = CloudyOpenGLRenderer::vftable; param_1[0x34] = CloudyOpenGLRenderer::vftable; param_1[0x37] = NoOpenGLOption::vftable; param_1[0x3f] = 0; param_1[0x40] = 0; param_1[0x41] = 0; param_1[0x42] = 0; *(undefined4 *)(param_1 + 0x43) = 0; *(undefined8 *)((longlong)param_1 + 0x21c) = 0; *(undefined8 *)((longlong)param_1 + 0x224) = 0; *(undefined8 *)((longlong)param_1 + 0x22c) = 0; *(undefined8 *)((longlong)param_1 + 0x234) = 0; *(undefined8 *)((longlong)param_1 + 0x23c) = 0; *(undefined8 *)((longlong)param_1 + 0x244) = 0; InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)param_1 + 0x24c)); param_1[0x4f] = param_1; FUN_18163b800(param_1 + 0x50); param_1[0x8f] = 0; param_1[0x90] = 0; param_1[0x91] = 0; param_1[0x92] = 0; plVar5 = param_1 + 0x93; *plVar5 = 0; param_1[0x94] = 0; param_1[0x95] = 0; FUN_1814da360(param_1 + 0x96,param_1); FUN_18055e510(param_1 + 0xa4); param_1[0xa7] = NoOpenGLOption::vftable; FUN_180484030(param_1 + 0xa8,lVar10); param_1[0xab] = 0; param_1[0xac] = 0; param_1[0xad] = 0; param_1[0xae] = 0; param_1[0xaf] = 0; FUN_1814d7030(param_1 + 0xb0,param_1,param_1 + 0x24,lVar10); *(undefined4 *)(param_1 + 0x110) = 0x313; *(undefined4 *)((longlong)param_1 + 0x884) = 0x1b8; *(undefined4 *)((longlong)param_1 + 0x88c) = 0x43480000; FUN_18049c4e0(&local_370,"CloudyAudioProcessorEditor"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,&local_370); puVar18 = (uint *)(local_370 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } uVar14 = param_1[0x2f]; uVar6 = param_1[0x32]; uVar7 = param_1[0x30]; local_398 = (undefined8 *)FUN_1811316e0(0x150); local_3a8 = uVar14; puVar15 = (undefined8 *)FUN_1814d1e10(local_398,uVar7,uVar6,param_1); if (plVar5 == &local_308) { if (puVar15 != (undefined8 *)0x0) { puVar16 = (undefined8 *)*puVar15; goto LAB_18056703d; } } else { puVar13 = (undefined8 *)*plVar5; *plVar5 = (longlong)puVar15; if (puVar13 != (undefined8 *)0x0) { puVar16 = (undefined8 *)*puVar13; puVar15 = puVar13; LAB_18056703d: (*(code *)*puVar16)(puVar15,1); } } local_398 = (undefined8 *)FUN_1811316e0(0x550); puVar15 = (undefined8 *)FUN_1814d7d60(local_398,param_1); plVar1 = param_1 + 0x94; if (plVar1 == &local_300) { if (puVar15 != (undefined8 *)0x0) { puVar16 = (undefined8 *)*puVar15; goto LAB_18056708c; } } else { puVar13 = (undefined8 *)*plVar1; *plVar1 = (longlong)puVar15; if (puVar13 != (undefined8 *)0x0) { puVar16 = (undefined8 *)*puVar13; puVar15 = puVar13; LAB_18056708c: (*(code *)*puVar16)(puVar15,1); } } local_368 = HelpOpenedOption::vftable; local_2e0 = &PTR_vftable_18262b550; local_2d8[0] = 0; puVar15 = (undefined8 *) .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (&local_368,&local_248); cVar11 = (**(code **)(*(longlong *)*puVar15 + 0xc0)) ((longlong *)*puVar15,puVar15 + 1,local_2d8,local_2e0); (**(code **)(*local_248 + 0xb0))(local_248,local_240); (**(code **)(*local_2e0 + 0xb0))(local_2e0,local_2d8); if (cVar11 != '\0') { FUN_1814d7520(); local_358 = &PTR_vftable_18262b550; local_350 = 1; FUN_1811d0a50(&local_368,&local_358); } lVar10 = *(longlong *)(*plVar5 + 0xf8); pppuVar20 = (undefined ***)(lVar10 + 0xd0); local_2c8 = std::_Func_impl_no_alloc<,void>::vftable; local_140 = (longlong *)0x0; local_2c0 = param_1; local_290 = &local_2c8; local_140 = (longlong *) (*(code *) PTR_vtbl___AV__GainRangeScalingOptionComponent_VSoothe2GainRangeScalingOption_____1824b1e48 )(&local_2c8,local_178); if (local_290 != (undefined ***)0x0) { (*(code *)(*local_290)[4])(local_290,local_290 != &local_2c8); local_290 = (undefined ***)0x0; } pppuVar8 = *(undefined ****)(lVar10 + 0x108); if (pppuVar8 != (undefined ***)0x0) { if (pppuVar8 == pppuVar20) { local_290 = (undefined ***)(*(code *)(*pppuVar8)[1])(pppuVar8,&local_2c8); pppuVar8 = *(undefined ****)(lVar10 + 0x108); if (pppuVar8 == (undefined ***)0x0) goto LAB_1805671e9; (*(code *)(*pppuVar8)[4])(pppuVar8,pppuVar8 != pppuVar20); pppuVar8 = local_290; } local_290 = pppuVar8; *(undefined8 *)(lVar10 + 0x108) = 0; } LAB_1805671e9: FUN_180488560(pppuVar20,local_178); if (local_140 != (longlong *)0x0) { (**(code **)(*local_140 + 0x20))(local_140,local_140 != local_178); } if (local_290 != (undefined ***)0x0) { (*(code *)(*local_290)[4])(local_290,local_290 != &local_2c8); } lVar10 = *(longlong *)(*plVar5 + 0x108); if (puVar17 != (undefined8 *)0x0) { plVar21 = (longlong *)(lVar10 + 0x160); plVar19 = (longlong *)*plVar21; iVar3 = *(int *)(lVar10 + 0x16c); plVar1 = plVar19 + iVar3; for (; plVar19 != plVar1; plVar19 = plVar19 + 1) { if (puVar17 == (undefined8 *)*plVar19) goto LAB_1805672af; } if (*(int *)(lVar10 + 0x168) < iVar3 + 1) { FUN_18047cb30(plVar21,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(lVar10 + 0x16c); *(int *)(lVar10 + 0x16c) = iVar3 + 1; *(undefined8 **)(*plVar21 + (longlong)iVar3 * 8) = puVar17; } LAB_1805672af: *(undefined1 *)(*(longlong *)(*plVar5 + 0x108) + 0x1c5) = 1; FUN_181341570(param_1,param_1,1); pppuVar20 = (undefined ***)(param_1 + 0x99); local_288 = std::_Func_impl_no_alloc<,void>::vftable; local_250 = &local_288; local_100 = (longlong *)0x0; local_280 = param_1; local_100 = (longlong *)(*(code *)PTR_FUN_1824b0ef8)(&local_288,local_138); if (local_250 != (undefined ***)0x0) { (*(code *)(*local_250)[4])(local_250,local_250 != &local_288); local_250 = (undefined ***)0x0; } pppuVar8 = (undefined ***)param_1[0xa0]; if (pppuVar8 != (undefined ***)0x0) { if (pppuVar8 == pppuVar20) { local_250 = (undefined ***)(*(code *)(*pppuVar8)[1])(pppuVar8,&local_288); pppuVar8 = (undefined ***)param_1[0xa0]; if (pppuVar8 == (undefined ***)0x0) goto LAB_180567384; (*(code *)(*pppuVar8)[4])(pppuVar8,pppuVar8 != pppuVar20); pppuVar8 = local_250; } local_250 = pppuVar8; param_1[0xa0] = 0; } LAB_180567384: FUN_180488560(pppuVar20); if (local_100 != (longlong *)0x0) { (**(code **)(*local_100 + 0x20))(); } if (local_250 != (undefined ***)0x0) { (*(code *)(*local_250)[4])(); } puVar15 = (undefined8 *)FUN_1811316e0(0x100); local_398 = puVar15; memset(puVar15,0,0x100); *puVar15 = std::_Func_impl_no_alloc<,void>::vftable; puVar15[7] = puVar15; puVar15[8] = std::_Func_impl_no_alloc<,void>::vftable; puVar15[0xf] = puVar15 + 8; puVar15[0x10] = std::_Func_impl_no_alloc<,void>::vftable; puVar15[0x17] = puVar15 + 0x10; puVar15[0x18] = std::_Func_impl_no_alloc<,void>::vftable; puVar15[0x1f] = puVar15 + 0x18; local_360 = puVar15; FUN_180569e60(param_1 + 0x92,&local_360); puVar15 = local_360; if (local_360 != (undefined8 *)0x0) { FUN_18056ae80(local_360); /* WARNING: Subroutine does not return */ free(puVar15); } lVar10 = param_1[0x92]; local_238 = std::_Func_impl_no_alloc<,void>::vftable; local_200 = &local_238; local_c0 = (longlong *)0x0; local_230 = param_1; FUN_180488560(local_f8,&local_238); FUN_180488560(&local_238,lVar10 + 0x40); FUN_180488560(lVar10 + 0x40,local_f8); if (local_c0 != (longlong *)0x0) { (**(code **)(*local_c0 + 0x20))(local_c0,local_c0 != local_f8); } if (local_200 != (undefined ***)0x0) { (*(code *)(*local_200)[4])(local_200,local_200 != &local_238); } lVar10 = param_1[0x92]; local_1f8 = std::_Func_impl_no_alloc<,void>::vftable; local_1c0 = &local_1f8; local_80 = (longlong *)0x0; local_1f0 = param_1; FUN_180488560(local_b8,&local_1f8); FUN_180488560(&local_1f8,lVar10 + 0xc0); FUN_180488560(lVar10 + 0xc0,local_b8); if (local_80 != (longlong *)0x0) { (**(code **)(*local_80 + 0x20))(local_80,local_80 != local_b8); } if (local_1c0 != (undefined ***)0x0) { (*(code *)(*local_1c0)[4])(local_1c0,local_1c0 != &local_1f8); } lVar10 = param_1[0x92]; local_1b8 = std::_Func_impl_no_alloc<,void>::vftable; local_180 = &local_1b8; local_40 = (longlong *)0x0; local_1b0 = param_1; FUN_180488560(local_78,&local_1b8); FUN_180488560(&local_1b8,lVar10 + 0x80); FUN_180488560(lVar10 + 0x80,local_78); if (local_40 != (longlong *)0x0) { (**(code **)(*local_40 + 0x20))(local_40,local_40 != local_78); } if (local_180 != (undefined ***)0x0) { (*(code *)(*local_180)[4])(local_180,local_180 != &local_1b8); } uVar14 = FUN_1814d9640(&local_390); FUN_181245100(uVar14,&local_388,"tutorials.xml"); puVar18 = (uint *)(local_390 + -2); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } if (*local_388 == '\0') { LAB_180567734: bVar9 = false; } else { puVar15 = (undefined8 *)FUN_18049a930(local_2f8,&local_388); DVar12 = GetFileAttributesW((LPCWSTR)*puVar15); bVar9 = true; if ((DVar12 & 0x10) != 0) goto LAB_180567734; } if (!bVar9) { local_338 = &PTR_vftable_18262b570; local_330 = 0; (**(code **)(param_1[0xa8] + 0x18))(param_1 + 0xa8,&local_338); goto LAB_1805678eb; } local_380 = (longlong *)param_1[0xa9]; puVar18 = (uint *)(local_380 + -2); if ((*puVar18 & 0x30000000) == 0) { LOCK(); *puVar18 = *puVar18 + 1; UNLOCK(); } FUN_1811f8160(param_1[0x30],local_380,param_1 + 0x2c); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } lVar10 = param_1[0x2f]; local_398 = (undefined8 *)FUN_1811316e0(0x138); puVar15 = (undefined8 *)FUN_18114e3f0(local_398); plVar5 = (longlong *)(lVar10 + 0x5b8); if (plVar5 == &local_2f0) { if (puVar15 != (undefined8 *)0x0) { puVar17 = (undefined8 *)*puVar15; goto LAB_1805677e4; } } else { puVar16 = (undefined8 *)*plVar5; *plVar5 = (longlong)puVar15; if (puVar16 != (undefined8 *)0x0) { puVar17 = (undefined8 *)*puVar16; puVar15 = puVar16; LAB_1805677e4: (*(code *)*puVar17)(puVar15,1); } } (**(code **)(*(longlong *)(*plVar5 + 0x70) + 8)) ((longlong *)(*plVar5 + 0x70),*(undefined4 *)(lVar10 + 0x38), *(undefined8 *)(lVar10 + 0x30)); local_348 = &PTR_vftable_18262b570; local_340 = 1; (**(code **)(*(longlong *)(lVar10 + 0x5c0) + 0x18))((longlong *)(lVar10 + 0x5c0),&local_348); uVar14 = *(undefined8 *)(param_1[0x2f] + 0x5b8); uVar6 = param_1[0x30]; local_398 = (undefined8 *)FUN_1811316e0(0x548); local_378 = local_388; if ((*(uint *)(local_388 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_388 + -0x10) = *(int *)(local_388 + -0x10) + 1; UNLOCK(); } local_3a8 = uVar14; puVar15 = (undefined8 *)FUN_1814d9850(local_398,param_1,uVar6,&local_378); plVar5 = param_1 + 0x95; if (plVar5 == &local_2e8) { if (puVar15 != (undefined8 *)0x0) { puVar17 = (undefined8 *)*puVar15; goto LAB_1805678af; } } else { puVar16 = (undefined8 *)*plVar5; *plVar5 = (longlong)puVar15; if (puVar16 != (undefined8 *)0x0) { puVar17 = (undefined8 *)*puVar16; puVar15 = puVar16; LAB_1805678af: (*(code *)*puVar17)(puVar15,1); } } if (*plVar5 != 0) { FUN_181343cc0(param_1,*plVar5,0xffffffff); } LAB_1805678eb: puVar18 = (uint *)(local_388 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } } ############ FUN_ 18114e3f0 size=1023 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18114e3f0(undefined8 *param_1) { undefined8 *puVar1; undefined8 *puVar2; undefined ****ppppuVar3; uint uVar4; undefined ***pppuVar5; undefined8 uVar6; undefined ***pppuVar7; undefined **ppuVar8; uint *puVar9; undefined1 auStack_378 [32]; undefined8 local_358; undefined4 local_350; undefined ***local_348; undefined8 local_340; undefined8 **local_338; undefined ***local_330; undefined ***local_328; undefined4 local_320; undefined4 local_308; longlong local_300; longlong local_2f8; longlong local_2f0; undefined8 *local_2e8; undefined ***local_2e0; undefined8 local_2d8; undefined8 *local_2d0; undefined8 local_2c8; undefined ***local_2c0; undefined ***local_2b8; undefined **local_2b0; undefined8 *local_2a8; undefined ***local_278; undefined **local_270 [7]; undefined ***local_238; undefined **local_230 [7]; undefined ***local_1f8; undefined1 local_1f0 [216]; undefined4 local_118; undefined4 uStack_114; undefined4 uStack_110; undefined4 uStack_10c; undefined1 local_108; longlong local_100 [7]; longlong *local_c8; longlong local_c0 [7]; longlong *local_88; longlong local_80 [7]; longlong *local_48; ulonglong local_38; local_2d8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_378; local_308 = 0; *param_1 = CloudyTutorialAudioPlayer::vftable; param_1[1] = std::_Func_impl_no_alloc<,void,bool>:: vftable; param_1[8] = param_1 + 1; *(undefined4 *)(param_1 + 9) = 0x3f000000; param_1[10] = 0; param_1[0xb] = 0; *(undefined4 *)(param_1 + 0xc) = 0; param_1[0xd] = 0; param_1[0xe] = juce::PositionableAudioSource::vftable; puVar1 = param_1 + 0xf; *puVar1 = juce::ChangeBroadcaster::vftable; puVar2 = param_1 + 0x10; local_2e8 = puVar2; local_2d0 = param_1; FUN_1812a59f0(puVar2); *puVar2 = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined1 *)(param_1 + 0x15) = 0; param_1[0x12] = puVar1; param_1[0xe] = juce::AudioTransportSource::vftable; *puVar1 = juce::AudioTransportSource::vftable; param_1[0x16] = 0; param_1[0x17] = 0; param_1[0x18] = 0; param_1[0x19] = 0; param_1[0x1a] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1b)); *(undefined4 *)((longlong)param_1 + 0x104) = 0x3f800000; *(undefined4 *)(param_1 + 0x21) = 0x3f800000; *(undefined2 *)((longlong)param_1 + 0x10c) = 0x100; param_1[0x22] = 0x40e5888000000000; param_1[0x23] = 0; param_1[0x24] = 0x80; *(undefined2 *)(param_1 + 0x25) = 0; ppppuVar3 = (undefined ****)(param_1 + 0x26); *ppppuVar3 = (undefined ***)0x0; FUN_1813b0270(param_1 + 10); FUN_1812a73a0(param_1 + 0xf,param_1); local_118 = _DAT_1824c4b40; uStack_114 = _UNK_1824c4b44; uStack_110 = _UNK_1824c4b48; uStack_10c = _UNK_1824c4b4c; local_108 = 0; local_c8 = (longlong *)0x0; local_88 = (longlong *)0x0; local_48 = (longlong *)0x0; uVar6 = FUN_1811316e0(0x2c8); local_2c0 = local_270; local_2b8 = local_230; local_2e8 = DAT_1824c43b8; local_2e0 = &local_2b0; local_2c8 = uVar6; FUN_18049c4e0(&local_2f0,"tutorial volume"); local_308 = 1; FUN_18049c4e0(&local_2f8,"tutorial volume"); local_308 = 3; FUN_18049c4e0(&local_300,"tutorial volume"); local_308 = 7; local_270[0] = std:: _Func_impl_no_alloc<,float,juce::String_const&___ptr64> ::vftable; local_238 = local_270; local_230[0] = std:: _Func_impl_no_alloc<,juce::String,float>:: vftable; local_1f8 = local_230; local_2b0 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_278 = &local_2b0; local_2a8 = param_1; local_358 = FUN_180485290(local_1f0,&local_118); local_320 = 0; local_328 = local_270; local_330 = local_230; local_338 = &local_2e8; local_340 = DAT_1824c42d8; local_348 = &local_2b0; local_350 = DAT_1824c3d8c; pppuVar7 = (undefined ***)FUN_1811c75f0(uVar6,&local_300,&local_2f8,&local_2f0); puVar9 = (uint *)(local_300 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_2f8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_2f0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (ppppuVar3 == &local_2e0) { if (pppuVar7 == (undefined ***)0x0) goto LAB_18114e760; ppuVar8 = *pppuVar7; } else { pppuVar5 = *ppppuVar3; *ppppuVar3 = pppuVar7; if (pppuVar5 == (undefined ***)0x0) goto LAB_18114e760; ppuVar8 = *pppuVar5; pppuVar7 = pppuVar5; } (*(code *)*ppuVar8)(pppuVar7,1); LAB_18114e760: if (local_48 != (longlong *)0x0) { (**(code **)(*local_48 + 0x20))(local_48,local_48 != local_80); } if (local_88 != (longlong *)0x0) { (**(code **)(*local_88 + 0x20))(local_88,local_88 != local_c0); } if (local_c8 != (longlong *)0x0) { (**(code **)(*local_c8 + 0x20))(local_c8,local_c8 != local_100); } } ############ FUN_ 1812bd920 size=266 ############ void FUN_1812bd920(longlong param_1) { longlong *plVar1; int iVar2; undefined8 *puVar3; byte bVar4; longlong lVar5; undefined8 *puVar6; longlong *plVar7; longlong *plVar8; *(undefined1 *)(param_1 + 200) = 0; if (*(longlong *)(param_1 + 0x100) != param_1 + 0xd0) { *(longlong *)(param_1 + 0x100) = param_1 + 0xd0; bVar4 = *(byte *)(param_1 + 0xa8) & 1; if (bVar4 != 0) { if (bVar4 == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812bd982; lVar5 = FUN_18134c2e0(); } else { lVar5 = FUN_1812d2bd0(); } if (lVar5 != 0) { *(undefined8 *)(lVar5 + 0x28) = *(undefined8 *)(param_1 + 0x100); } } } LAB_1812bd982: puVar6 = (undefined8 *)FUN_1811316e0(0x10); *puVar6 = juce::AudioProcessorEditor::AudioProcessorEditorListener::vftable; puVar6[1] = param_1; puVar3 = *(undefined8 **)(param_1 + 0xc0); *(undefined8 **)(param_1 + 0xc0) = puVar6; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } lVar5 = *(longlong *)(param_1 + 0xc0); if (lVar5 != 0) { plVar8 = (longlong *)(param_1 + 0x80); plVar7 = (longlong *)*plVar8; iVar2 = *(int *)(param_1 + 0x8c); plVar1 = plVar7 + iVar2; for (; plVar7 != plVar1; plVar7 = plVar7 + 1) { if (lVar5 == *plVar7) { return; } } if (*(int *)(param_1 + 0x88) < iVar2 + 1) { FUN_18047cb30(plVar8,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x8c); *(int *)(param_1 + 0x8c) = iVar2 + 1; *(longlong *)(*plVar8 + (longlong)iVar2 * 8) = lVar5; } return; } ############ FUN_ 1813b0270 size=718 ############ void FUN_1813b0270(longlong *param_1) { uint uVar1; undefined *puVar2; longlong lVar3; undefined8 *puVar4; undefined **ppuVar5; int iVar6; uint *puVar7; undefined8 *local_res10; longlong local_res18; undefined8 *local_res20; void *local_38; undefined8 local_30; local_res10 = (undefined8 *)FUN_1811316e0(0x20); lVar3 = FUN_18136d830(local_res10); if (lVar3 != 0) { iVar6 = *(int *)((longlong)param_1 + 0xc); *(int *)(param_1 + 2) = iVar6; if ((int)param_1[1] < iVar6 + 1) { FUN_18047cb30(param_1,iVar6 + 9 + (iVar6 + 1) / 2 & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar6 + 1; *(longlong *)(*param_1 + (longlong)iVar6 * 8) = lVar3; } puVar4 = (undefined8 *)FUN_1811316e0(0x20); *puVar4 = juce::AudioFormat::vftable; local_res10 = puVar4; FUN_18049c9e0(puVar4 + 1,"AIFF file"); FUN_18122ce70(puVar4 + 2,".aiff .aif"); *puVar4 = juce::AiffAudioFormat::vftable; iVar6 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar6) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar6 / 2 & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar6 + 1; *(undefined8 **)(*param_1 + (longlong)iVar6 * 8) = puVar4; puVar4 = (undefined8 *)FUN_1811316e0(0x20); *puVar4 = juce::AudioFormat::vftable; local_res10 = puVar4; FUN_18049c9e0(puVar4 + 1,"FLAC file"); FUN_18122ce70(puVar4 + 2,".flac"); *puVar4 = juce::FlacAudioFormat::vftable; iVar6 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar6) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar6 / 2 & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar6 + 1; *(undefined8 **)(*param_1 + (longlong)iVar6 * 8) = puVar4; local_res10 = (undefined8 *)FUN_1811316e0(0x20); lVar3 = FUN_18136f570(local_res10); if (lVar3 != 0) { iVar6 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar6) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar6 / 2 & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar6 + 1; *(longlong *)(*param_1 + (longlong)iVar6 * 8) = lVar3; } puVar4 = (undefined8 *)FUN_1811316e0(0x20); local_38 = (void *)0x0; local_30 = 0; ppuVar5 = &PTR_DAT_18235baa0; puVar2 = PTR_DAT_18235baa0; while (puVar2 != (undefined *)0x0) { ppuVar5 = ppuVar5 + 1; puVar2 = *ppuVar5; } local_res20 = puVar4; FUN_18049d400(&local_38); FUN_18049c4e0(&local_res18,"Windows Media"); FUN_1812344e0(&local_res10,&local_res18); puVar7 = (uint *)(local_res18 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } *puVar4 = juce::AudioFormat::vftable; puVar4[1] = local_res10; if ((*(uint *)(local_res10 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = *(int *)(local_res10 + -2) + 1; UNLOCK(); } puVar4[2] = 0; puVar4[3] = 0; FUN_18048c4c0(puVar4 + 2,local_38,local_30._4_4_); puVar7 = (uint *)(local_res10 + -2); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_180488c50(&local_38); /* WARNING: Subroutine does not return */ free(local_38); } ############ FUN_ 1814143a0 size=2461 ############ /* WARNING: Removing unreachable block (ram,0x00018141447f) */ /* WARNING: Removing unreachable block (ram,0x000181414462) */ /* WARNING: Removing unreachable block (ram,0x000181414527) */ void FUN_1814143a0(undefined8 *param_1) { undefined8 *puVar1; undefined8 uVar2; uint uVar3; undefined1 *puVar4; int unaff_retaddr; undefined1 auStack_368 [32]; undefined8 local_348; undefined8 local_340; undefined8 local_338; undefined4 local_330; undefined8 local_328; undefined4 local_320; undefined8 local_318; undefined8 local_310; code *local_308; undefined4 local_300; undefined4 local_2fc; undefined4 local_2f8; undefined4 local_2f4; undefined4 local_2f0; undefined4 local_2ec; undefined8 *local_2e8; undefined *local_2e0; undefined4 local_2c4; undefined4 local_2bc; undefined4 local_2b8; IMAGE_DEBUG_DIRECTORY *local_2b0; undefined *local_2a8; undefined *local_298; IMAGE_DIRECTORY_ENTRY_EXPORT *local_290; undefined *local_288; undefined *local_280; undefined4 *local_278; undefined *local_270; undefined4 *local_268; undefined *local_260; code *local_258; undefined8 local_250; undefined *local_248; undefined *local_230; char *local_228; undefined8 local_218; undefined *local_210; undefined8 local_200; undefined *local_1e8; undefined1 local_1e0 [24]; undefined1 local_1c8 [8]; undefined8 *local_1c0; undefined8 local_1a8; undefined8 *local_1a0; undefined1 local_198 [48]; undefined1 local_168 [48]; undefined1 local_138 [264]; ulonglong local_30; local_1a8 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_368; *param_1 = 0; puVar1 = param_1 + 1; *puVar1 = 0; param_1[2] = 0; local_2e8 = param_1; local_1a0 = param_1; FUN_18051f800(param_1 + 3); FUN_18051f800(param_1 + 4); FUN_18051f800(param_1 + 5); FUN_18051f800(param_1 + 6); local_1c0 = param_1 + 7; FUN_18051f800(local_1c0); local_2fc = 0xa60; local_300 = 0x550; FUN_1812351d0(local_198,&DAT_1823ca040,0x42ed,0); local_330 = 0xc1; local_308 = FUN_180001000; local_250 = 0x180001004; local_2f8 = 0xc1; local_2e0 = &DAT_182603de4; local_228 = ""; local_320 = 0xc1; local_270 = &DAT_181140964; local_230 = &DAT_18114bd50; local_2f4 = 0xc1; local_278 = &DAT_186f01000; local_298 = &DAT_186f47cc0; local_2f0 = 0xc1; local_338 = 0x180000000; local_248 = &DAT_1824d5e88; local_290 = &IMAGE_DIRECTORY_ENTRY_EXPORT_1825feee0; local_2ec = 0xc1; local_340 = 0x180000000; local_268 = &DAT_18114bd58; local_288 = &DAT_181414de8; local_2c4 = 0xc1; local_218 = 0x180000000; local_260 = &DAT_181415930; local_280 = &DAT_181a5268c; local_2bc = 0xc1; local_1e8 = &DAT_181bae4d8; local_2b0 = &IMAGE_DEBUG_DIRECTORY_1824d5d20; local_210 = &DAT_186f03e18; local_2b8 = 0xc1; local_200 = 0x180000000; local_348 = 0; local_328 = 0x1000; local_310 = 0x113e818; local_258 = FUN_180001000; local_2a8 = &DAT_18113f818; local_318 = FUN_1811316e0(0x170); uVar2 = FUN_181254070(local_318,local_198); *local_2e8 = uVar2; uVar2 = FUN_180571c80(local_1e0,local_2e8); FUN_180571460(local_2e8 + 4,uVar2); FUN_180568b10(local_1e0); FUN_1812351d0(local_138,&DAT_182472270,0x393e,0); local_318 = FUN_1811316e0(0x170); uVar2 = FUN_181254070(local_318,local_138); *puVar1 = uVar2; uVar2 = FUN_180571c80(local_1c8,puVar1); puVar1 = local_2e8; FUN_180571460(local_2e8 + 5,uVar2); FUN_180568b10(local_1c8); FUN_1812351d0(local_168,&DAT_18238c8c0,0xd989,0); local_318 = FUN_1811316e0(0x170); puVar4 = local_168; uVar2 = FUN_181254070(local_318,puVar4); puVar1[2] = uVar2; do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); FUN_18141e8b8(0,~(((ulonglong)puVar4 ^ 0xffffffffffffffff) + 1) + 1); return; } ############ FUN_ 180571c80 size=148 ############ undefined8 * FUN_180571c80(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; undefined8 uVar4; undefined8 *local_res8; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; local_res8 = param_1; uVar4 = FUN_1811316e0(8); puVar3 = (undefined8 *)*param_2; if (puVar3 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; UNLOCK(); } local_res8 = puVar3; uVar4 = FUN_181252c60(uVar4,&local_res8,param_3,param_4,1,uVar5); *param_1 = uVar4; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } return param_1; } ############ FUN_ 181252c60 size=173 ############ undefined8 * FUN_181252c60(undefined8 *param_1,longlong *param_2) { longlong lVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x40); *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::Font::SharedFontInternal::vftable; lVar1 = *param_2; puVar2[2] = lVar1; if (lVar1 != 0) { LOCK(); *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; UNLOCK(); } lVar1 = *(longlong *)(*param_2 + 0x10); puVar2[3] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } lVar1 = *(longlong *)(*param_2 + 0x18); puVar2[4] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(puVar2 + 5) = 0x41600000; *(undefined8 *)((longlong)puVar2 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar2 + 0x34) = 0; *(undefined1 *)(puVar2 + 7) = 0; *param_1 = puVar2; LOCK(); *(int *)(puVar2 + 1) = *(int *)(puVar2 + 1) + 1; UNLOCK(); return param_1; } ############ FUN_ 1812196a0 size=242 ############ undefined8 * FUN_1812196a0(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { bool bVar1; int iVar2; void *pvVar3; undefined4 *puVar4; longlong lVar5; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; *param_1 = juce::GZIPDecompressorInputStream::vftable; param_1[1] = param_2; *(undefined1 *)(param_1 + 2) = 0; param_1[3] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 4) = 0; *(undefined1 *)((longlong)param_1 + 0x24) = 0; *(undefined4 *)(param_1 + 5) = 0; if ((undefined **)*param_2 == juce::MemoryInputStream::vftable) { lVar5 = param_2[3]; } else { lVar5 = (*(code *)((undefined **)*param_2)[0x15])(param_2); } param_1[6] = lVar5; param_1[7] = 0; pvVar3 = malloc(0x8000); param_1[8] = pvVar3; puVar4 = (undefined4 *)FUN_1811316e0(0x70); *puVar4 = 0x10001; *(undefined8 *)(puVar4 + 0x18) = 0; *(undefined8 *)(puVar4 + 0x1a) = 0; memset(puVar4 + 2,0,0x58); iVar2 = FUN_18121d700(puVar4 + 2,0xf,"1.2.3",param_4,uVar6); *(bool *)((longlong)puVar4 + 3) = iVar2 == 0; bVar1 = iVar2 != 0; *(bool *)((longlong)puVar4 + 2) = bVar1; *(bool *)puVar4 = bVar1; param_1[9] = puVar4; return param_1; } ############ FUN_ 181253de0 size=202 ############ void FUN_181253de0(longlong param_1,ulonglong param_2,longlong param_3,uint param_4) { uint uVar1; uint uVar2; uint uVar3; uint *puVar4; int iVar5; ulonglong in_R9; if ((uint)param_2 < 0x80) { in_R9 = (ulonglong)*(uint *)(param_1 + 0x6c); *(short *)(param_1 + 0x70 + (param_2 & 0xffffffff) * 2) = (short)*(uint *)(param_1 + 0x6c); } puVar4 = (uint *)FUN_1811316e0(0x48,param_2,param_3,in_R9,0xfffffffffffffffe); *puVar4 = (uint)param_2; FUN_1804ab000(puVar4 + 2,param_3); uVar1 = *(uint *)(param_3 + 0x14); uVar2 = *(uint *)(param_3 + 0x18); uVar3 = *(uint *)(param_3 + 0x1c); puVar4[6] = *(uint *)(param_3 + 0x10); puVar4[7] = uVar1; puVar4[8] = uVar2; puVar4[9] = uVar3; *(undefined1 *)(puVar4 + 10) = *(undefined1 *)(param_3 + 0x20); puVar4[0xc] = param_4; puVar4[0xe] = 0; puVar4[0xf] = 0; puVar4[0x10] = 0; puVar4[0x11] = 0; iVar5 = *(int *)(param_1 + 0x6c) + 1; if (*(int *)(param_1 + 0x68) < iVar5) { FUN_18047cb30(param_1 + 0x60,*(int *)(param_1 + 0x6c) + 9 + iVar5 / 2 & 0xfffffff8); } iVar5 = *(int *)(param_1 + 0x6c); *(int *)(param_1 + 0x6c) = iVar5 + 1; *(uint **)(*(longlong *)(param_1 + 0x60) + (longlong)iVar5 * 8) = puVar4; return; } ############ FUN_ 1814d1e10 size=2126 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814d1e10(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { longlong *plVar1; undefined8 **ppuVar2; undefined8 *puVar3; void *_Memory; undefined8 uVar4; undefined8 *puVar5; undefined8 *puVar6; longlong *plVar7; longlong *plVar8; longlong lVar9; longlong lVar10; undefined8 uVar11; uint *puVar12; uint uVar13; longlong lVar14; undefined1 auStack_1e8 [32]; undefined4 local_1c8; undefined8 *local_1c0; longlong local_1b8; longlong local_1b0; void *local_1a8; longlong local_1a0; undefined8 local_198; undefined8 *local_190; undefined8 *local_188; undefined8 *local_180; undefined8 local_178; undefined8 *local_170; longlong local_168; longlong local_160; undefined **local_158; undefined8 *local_150; undefined ***local_120; undefined **local_118; undefined8 *local_110; undefined ***local_e0; longlong local_d8 [7]; longlong *local_a0; longlong local_98 [7]; longlong *local_60; ulonglong local_58; local_178 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_1e8; lVar14 = 0; local_1c8 = 0; local_198 = param_4; local_170 = param_1; FUN_180579c10(param_1,"Toolbar"); *param_1 = PluginToolbar::vftable; param_1[0x16] = PluginToolbar::vftable; param_1[0x19] = PluginToolbar::vftable; param_1[0x1a] = PluginToolbar::vftable; param_1[0x1b] = 0; param_1[0x1c] = 0; plVar1 = param_1 + 0x1d; *plVar1 = 0; param_1[0x1e] = 0; ppuVar2 = (undefined8 **)(param_1 + 0x1f); *ppuVar2 = (undefined8 *)0x0; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; *(undefined1 *)(param_1 + 0x23) = 0; param_1[0x24] = param_3; uVar4 = FUN_1811f0330(param_2); param_1[0x25] = uVar4; param_1[0x26] = param_2; FUN_180484030(param_1 + 0x27,param_2); if (param_1[0xd] == 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x30); *puVar5 = juce::StandardCachedComponentImage::vftable; puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = param_1; *(undefined4 *)(puVar5 + 5) = 0x3f800000; puVar6 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar5; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } } local_1a0 = FUN_1811316e0(0x318); puVar6 = (undefined8 *)FUN_1814a0f10(local_1a0,param_2,param_3); if (ppuVar2 == &local_180) { if (puVar6 != (undefined8 *)0x0) { puVar5 = (undefined8 *)*puVar6; goto LAB_1814d1faa; } } else { puVar3 = *ppuVar2; *ppuVar2 = puVar6; if (puVar3 != (undefined8 *)0x0) { puVar5 = (undefined8 *)*puVar3; puVar6 = puVar3; LAB_1814d1faa: (*(code *)*puVar5)(puVar6,1); } } puVar6 = (undefined8 *)FUN_1811316e0(0x210); local_180 = puVar6; FUN_180578e30(puVar6,param_2); *puVar6 = SwapABSwitchButton::vftable; puVar6[0x16] = SwapABSwitchButton::vftable; puVar6[0x39] = SwapABSwitchButton::vftable; puVar6[0x3c] = SwapABSwitchButton::vftable; if ((*(uint *)(DAT_1826742c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_1826742c8 + -0x10) = *(int *)(DAT_1826742c8 + -0x10) + 1; UNLOCK(); } LOCK(); lVar10 = puVar6[0x17]; puVar6[0x17] = DAT_1826742c8; UNLOCK(); puVar12 = (uint *)(lVar10 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } *(undefined1 *)((longlong)puVar6 + 0x1c6) = 0; puVar5 = (undefined8 *)param_1[0x1b]; param_1[0x1b] = puVar6; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } puVar6 = (undefined8 *)FUN_1811316e0(0x210); local_1c0 = puVar6; FUN_180578e30(puVar6,param_2); *puVar6 = CopyABSwitchButton::vftable; puVar6[0x16] = CopyABSwitchButton::vftable; puVar6[0x39] = CopyABSwitchButton::vftable; puVar6[0x3c] = CopyABSwitchButton::vftable; if ((*(uint *)(DAT_1826742e0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_1826742e0 + -0x10) = *(int *)(DAT_1826742e0 + -0x10) + 1; UNLOCK(); } LOCK(); lVar10 = puVar6[0x17]; puVar6[0x17] = DAT_1826742e0; UNLOCK(); puVar12 = (uint *)(lVar10 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } *(undefined1 *)((longlong)puVar6 + 0x1c6) = 0; puVar5 = (undefined8 *)param_1[0x1c]; param_1[0x1c] = puVar6; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } puVar6 = (undefined8 *)FUN_1811316e0(0x220); local_1c0 = puVar6; FUN_18049c4e0(&local_1b8,"configButton"); local_1c8 = 0xf; FUN_1813379d0(puVar6,&local_1b8); *puVar6 = juce::DrawableButton::vftable; puVar6[0x16] = juce::DrawableButton::vftable; *(undefined4 *)(puVar6 + 0x39) = 0; puVar6[0x3a] = 0; puVar6[0x3b] = 0; puVar6[0x3c] = 0; puVar6[0x3d] = 0; puVar6[0x3e] = 0; puVar6[0x3f] = 0; puVar6[0x40] = 0; puVar6[0x41] = 0; puVar6[0x42] = 0; *(undefined4 *)(puVar6 + 0x43) = 3; puVar12 = (uint *)(local_1b8 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } plVar7 = param_1 + 0x21; if (plVar7 == &local_168) { puVar5 = (undefined8 *)*puVar6; LAB_1814d2214: (*(code *)*puVar5)(puVar6,1); } else { puVar3 = (undefined8 *)*plVar7; *plVar7 = (longlong)puVar6; if (puVar3 != (undefined8 *)0x0) { puVar5 = (undefined8 *)*puVar3; puVar6 = puVar3; goto LAB_1814d2214; } } (**(code **)(*(longlong *)(param_1[0x21] + 0xb0) + 0x10)) ((longlong *)(param_1[0x21] + 0xb0),&DAT_1826742f0); local_1c0 = (undefined8 *)FUN_1811316e0(0x658); puVar6 = (undefined8 *)FUN_1814c3700(local_1c0,local_198,param_2,param_5); plVar7 = param_1 + 0x20; if (plVar7 == &local_160) { if (puVar6 == (undefined8 *)0x0) goto LAB_1814d2290; puVar5 = (undefined8 *)*puVar6; } else { puVar3 = (undefined8 *)*plVar7; *plVar7 = (longlong)puVar6; if (puVar3 == (undefined8 *)0x0) goto LAB_1814d2290; puVar5 = (undefined8 *)*puVar3; puVar6 = puVar3; } (*(code *)*puVar5)(puVar6,1); LAB_1814d2290: plVar7 = (longlong *)FUN_180579f50(&local_190,&DAT_1822b05c4); if (plVar1 != plVar7) { lVar10 = *plVar7; *plVar7 = 0; puVar6 = (undefined8 *)*plVar1; *plVar1 = lVar10; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } } if (local_190 != (undefined8 *)0x0) { (**(code **)*local_190)(local_190,1); } plVar8 = (longlong *)FUN_180579f50(&local_188,&DAT_1822b2714); plVar7 = param_1 + 0x1e; if (plVar7 != plVar8) { lVar10 = *plVar8; *plVar8 = 0; puVar6 = (undefined8 *)*plVar7; *plVar7 = lVar10; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } } if (local_188 != (undefined8 *)0x0) { (**(code **)*local_188)(local_188,1); } lVar10 = *plVar1; local_158 = std::_Func_impl_no_alloc<,void>::vftable; local_120 = &local_158; local_a0 = (longlong *)0x0; local_150 = param_1; FUN_180488560(local_d8,&local_158); FUN_180488560(&local_158,lVar10 + 0xc0); FUN_180488560(lVar10 + 0xc0,local_d8); if (local_a0 != (longlong *)0x0) { (**(code **)(*local_a0 + 0x20))(local_a0,local_a0 != local_d8); } if (local_120 != (undefined ***)0x0) { (*(code *)(*local_120)[4])(local_120,local_120 != &local_158); } lVar10 = param_1[0x1e]; local_118 = std::_Func_impl_no_alloc<,void>::vftable; local_e0 = &local_118; local_60 = (longlong *)0x0; local_110 = param_1; FUN_180488560(local_98,&local_118); FUN_180488560(&local_118,lVar10 + 0xc0); FUN_180488560(lVar10 + 0xc0,local_98); if (local_60 != (longlong *)0x0) { (**(code **)(*local_60 + 0x20))(local_60,local_60 != local_98); } if (local_e0 != (undefined ***)0x0) { (*(code *)(*local_e0)[4])(local_e0,local_e0 != &local_118); } lVar9 = FUN_18118c230(param_1[0x25]); uVar13 = *(int *)(lVar9 + 0x6c) - 1; lVar10 = lVar14; if (uVar13 < *(uint *)(lVar9 + 0x44)) { lVar10 = *(longlong *)(*(longlong *)(lVar9 + 0x38) + (longlong)(int)uVar13 * 8); } FUN_18133e970(*plVar1,CONCAT71((int7)((ulonglong)lVar10 >> 8),lVar10 != 0)); lVar10 = FUN_18118c230(param_1[0x25]); uVar13 = *(uint *)(lVar10 + 0x6c); if (uVar13 < *(uint *)(lVar10 + 0x44)) { lVar14 = *(longlong *)(*(longlong *)(lVar10 + 0x38) + (longlong)(int)uVar13 * 8); } FUN_18133e970(param_1[0x1e],CONCAT71((int7)(int3)(uVar13 >> 8),lVar14 != 0)); uVar4 = param_1[0x21]; uVar11 = FUN_1811316e0(0x40); local_1c0 = (undefined8 *)uVar11; FUN_18049c4e0(&local_1b0,"Update available"); local_1c8 = 0x77; local_1a8 = (void *)FUN_1816057f0(uVar11,uVar4,&local_1b0); puVar12 = (uint *)(local_1b0 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } FUN_180578cc0(param_1 + 0x22,&local_1a8); _Memory = local_1a8; if (local_1a8 == (void *)0x0) { *(undefined1 *)(param_1[0x22] + 0x10) = 0; FUN_18134bf20(param_1,param_1[0x1f],0xffffffff); FUN_18134bf20(param_1,param_1[0x1b],0xffffffff); FUN_18134bf20(param_1,param_1[0x1c],0xffffffff); FUN_18134bf20(param_1,param_1[0x21],0xffffffff); FUN_18134bf20(param_1,*plVar1,0xffffffff); FUN_18134bf20(param_1,param_1[0x1e],0xffffffff); FUN_18134bf20(param_1,param_1[0x20],0xffffffff); FUN_181188cc0(param_1[0x25],param_1 + 0x19); local_1a0 = param_1[0x28]; puVar12 = (uint *)(local_1a0 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); *puVar12 = *puVar12 + 1; UNLOCK(); } FUN_1811f8160(param_2,local_1a0,param_1 + 0x1a); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } FUN_1816056e0(local_1a8); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180578e30 size=202 ############ undefined8 * FUN_180578e30(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; FUN_181346350(); param_1[0x3a] = 0; *(undefined1 *)(param_1 + 0x3b) = 0; *param_1 = SwitchButton::vftable; param_1[0x16] = SwitchButton::vftable; param_1[0x39] = SwitchButton::vftable; param_1[0x3c] = SwitchButton::vftable; param_1[0x3d] = param_2; FUN_1811e4400(param_1 + 0x3e,param_2); uVar1 = FUN_1811316e0(0x10); uVar1 = FUN_1811e8780(uVar1,param_1 + 0x3e,param_1 + 0x3c,param_4,uVar2); param_1[0x41] = uVar1; return param_1; } ############ FUN_ 180579f50 size=190 ############ undefined8 * FUN_180579f50(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; uint *_Memory; undefined8 *local_res8 [2]; undefined8 *local_res18; undefined8 **local_res20; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; local_res8[0] = param_1; puVar2 = (undefined8 *)FUN_1811316e0(0x1e0); local_res18 = puVar2; FUN_18049c4e0(local_res8,param_2,param_3,param_4,uVar3); local_res20 = local_res8; FUN_1813379d0(puVar2,local_res8); puVar2[0x3a] = 0; *(undefined1 *)(puVar2 + 0x3b) = 0; *puVar2 = PluginToolbarButton::vftable; puVar2[0x16] = PluginToolbarButton::vftable; puVar2[0x39] = PluginToolbarButton::vftable; _Memory = (uint *)(local_res8[0] + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = puVar2; return param_1; } ############ FUN_ 1814a0f10 size=1453 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814a0f10(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { longlong *plVar1; uint uVar2; undefined8 *puVar3; undefined ***pppuVar4; longlong *plVar5; longlong *plVar6; void *pvVar7; longlong lVar8; undefined8 *puVar9; undefined8 uVar10; ulonglong uVar11; undefined8 *puVar12; void *_Memory; uint *puVar13; undefined ***pppuVar14; undefined1 auStack_258 [32]; undefined8 local_238; undefined1 local_230 [8]; longlong local_228; undefined1 local_220 [8]; longlong local_218; longlong local_210; longlong local_208 [2]; undefined8 local_1f8; undefined8 *local_1f0; longlong local_1e8; undefined **local_1e0; undefined8 *local_1d8; undefined ***local_1a8; undefined1 local_1a0 [40]; undefined1 local_178 [48]; undefined **local_148; undefined8 local_140; undefined ***local_110; undefined **local_108; undefined8 local_100; undefined ***local_d0; longlong local_c8 [7]; longlong *local_90; longlong local_88 [7]; longlong *local_50; ulonglong local_48; local_1f8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_258; uVar10 = param_3; local_1f0 = param_1; FUN_18056b680(param_1,param_2,param_3,param_2); *param_1 = PresetButton::vftable; param_1[0x16] = PresetButton::vftable; param_1[0x19] = PresetButton::vftable; param_1[0x1a] = std::_Func_impl_no_alloc<,void>::vftable; param_1[0x21] = param_1 + 0x1a; plVar5 = param_1 + 0x22; *plVar5 = 0; plVar6 = param_1 + 0x23; *plVar6 = 0; param_1[0x24] = uVar10; FUN_1811e4590(param_1 + 0x25,param_2); plVar1 = param_1 + 0x28; *plVar1 = 0; FUN_181408890(param_1 + 0x29); param_1[0x5d] = 0; param_1[0x5e] = 0; param_1[0x5f] = 0; param_1[0x60] = 0; *(undefined1 *)(param_1 + 0x61) = 0; *(undefined8 *)((longlong)param_1 + 0x30c) = 0; *(undefined4 *)((longlong)param_1 + 0x314) = 0; lVar8 = FUN_1811316e0(0x238); local_228 = lVar8; FUN_18049c4e0(local_220,""); puVar9 = (undefined8 *)FUN_1815ef4d0(lVar8,local_220); if (plVar5 == local_208) { if (puVar9 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar9; goto LAB_1814a1067; } } else { puVar3 = (undefined8 *)*plVar5; *plVar5 = (longlong)puVar9; if (puVar3 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar3; puVar9 = puVar3; LAB_1814a1067: (*(code *)*puVar12)(puVar9,1); } } FUN_18049c4e0(&local_218, "\n\n\n" ); uVar10 = FUN_180576a30(local_1a0,&local_218); FUN_1815ef420(*plVar5,uVar10); puVar13 = (uint *)(local_218 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } local_238 = (ulonglong)local_238._4_4_ << 0x20; *(undefined4 *)(*plVar5 + 0x208) = 0; lVar8 = *plVar5; pppuVar14 = (undefined ***)(lVar8 + 0xc0); local_148 = std::_Func_impl_no_alloc<,void>::vftable; local_110 = &local_148; local_90 = (longlong *)0x0; local_140 = param_3; local_90 = (longlong *)(*(code *)PTR_FUN_1824b6dd8)(&local_148,local_c8); if (local_110 != (undefined ***)0x0) { (*(code *)(*local_110)[4])(local_110,local_110 != &local_148); local_110 = (undefined ***)0x0; } pppuVar4 = *(undefined ****)(lVar8 + 0xf8); if (pppuVar4 != (undefined ***)0x0) { if (pppuVar4 == pppuVar14) { local_110 = (undefined ***)(*(code *)(*pppuVar4)[1])(pppuVar4,&local_148); pppuVar4 = *(undefined ****)(lVar8 + 0xf8); if (pppuVar4 == (undefined ***)0x0) goto LAB_1814a1185; (*(code *)(*pppuVar4)[4])(pppuVar4,pppuVar4 != pppuVar14); pppuVar4 = local_110; } local_110 = pppuVar4; *(undefined8 *)(lVar8 + 0xf8) = 0; } LAB_1814a1185: FUN_180488560(pppuVar14,local_c8); if (local_90 != (longlong *)0x0) { (**(code **)(*local_90 + 0x20))(local_90,local_90 != local_c8); } if (local_110 != (undefined ***)0x0) { (*(code *)(*local_110)[4])(local_110,local_110 != &local_148); } plVar5 = (longlong *)*plVar5; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x58))(plVar5,1); FUN_181343cc0(param_1,plVar5,0xffffffff); } uVar11 = FUN_1811316e0(0x238); local_238 = uVar11; FUN_18049c4e0(local_230,""); puVar9 = (undefined8 *)FUN_1815ef4d0(uVar11,local_230); if (plVar6 == &local_210) { if (puVar9 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar9; goto LAB_1814a125f; } } else { puVar3 = (undefined8 *)*plVar6; *plVar6 = (longlong)puVar9; if (puVar3 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar3; puVar9 = puVar3; LAB_1814a125f: (*(code *)*puVar12)(puVar9,1); } } FUN_18049c4e0(&local_228, "\n\n\n" ); uVar10 = FUN_180576a30(local_178,&local_228); FUN_1815ef420(*plVar6,uVar10); puVar13 = (uint *)(local_228 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } local_238 = local_238 & 0xffffffff00000000; *(undefined4 *)(*plVar6 + 0x208) = 0; lVar8 = *plVar6; pppuVar14 = (undefined ***)(lVar8 + 0xc0); local_108 = std::_Func_impl_no_alloc<,void>::vftable; local_d0 = &local_108; local_50 = (longlong *)0x0; local_100 = param_3; local_50 = (longlong *) (*(code *)PTR_vtbl___AVSoothe2_DynamicCryptoManager_eden_pace___1824b2610) (&local_108,local_88); if (local_d0 != (undefined ***)0x0) { (*(code *)(*local_d0)[4])(local_d0,local_d0 != &local_108); local_d0 = (undefined ***)0x0; } pppuVar4 = *(undefined ****)(lVar8 + 0xf8); if (pppuVar4 != (undefined ***)0x0) { if (pppuVar4 == pppuVar14) { local_d0 = (undefined ***)(*(code *)(*pppuVar4)[1])(pppuVar4,&local_108); pppuVar4 = *(undefined ****)(lVar8 + 0xf8); if (pppuVar4 == (undefined ***)0x0) goto LAB_1814a1383; (*(code *)(*pppuVar4)[4])(pppuVar4,pppuVar4 != pppuVar14); pppuVar4 = local_d0; } local_d0 = pppuVar4; *(undefined8 *)(lVar8 + 0xf8) = 0; } LAB_1814a1383: FUN_180488560(pppuVar14,local_88); if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x20))(local_50,local_50 != local_88); } if (local_d0 != (undefined ***)0x0) { (*(code *)(*local_d0)[4])(local_d0,local_d0 != &local_108); } plVar6 = (longlong *)*plVar6; if (plVar6 != (longlong *)0x0) { (**(code **)(*plVar6 + 0x58))(plVar6,1); FUN_181343cc0(param_1,plVar6,0xffffffff); } FUN_181411b10(param_1 + 0x29,"phase",0); local_1e0 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_1a8 = &local_1e0; local_1d8 = param_1; FUN_181410000(param_1 + 0x29,&local_1e0); local_210 = FUN_1811316e0(0x10); _Memory = (void *)FUN_1811e8780(local_210,param_1 + 0x25,param_1 + 0x19); if (plVar1 == &local_1e8) { if (_Memory == (void *)0x0) { } FUN_1811e6b70(_Memory); } else { pvVar7 = (void *)*plVar1; *plVar1 = (longlong)_Memory; if (pvVar7 == (void *)0x0) { } FUN_1811e6b70(pvVar7); _Memory = pvVar7; } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1814c3700 size=978 ############ void FUN_1814c3700(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; undefined8 *puVar3; undefined8 uVar4; undefined8 *puVar5; uint *puVar6; longlong local_388; longlong local_380; undefined1 local_378 [128]; undefined8 *local_2f8; undefined8 local_2f0; undefined4 local_2e8; undefined4 local_2e4; undefined8 local_2a0; void *local_298; undefined8 *local_290; void *local_a8; undefined4 local_9c; local_2a0 = 0xfffffffffffffffe; FUN_18049c4e0(&local_388,"HelpMenuButton"); FUN_1813379d0(param_1,&local_388); puVar6 = (uint *)(local_388 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } param_1[0x3a] = 0; *(undefined1 *)(param_1 + 0x3b) = 0; *param_1 = HelpMenuButton::vftable; param_1[0x16] = HelpMenuButton::vftable; param_1[0x39] = HelpMenuButton::vftable; param_1[0x3c] = HelpMenuButton::vftable; lVar2 = __RTDynamicCast(param_2,0,&juce::Component::RTTI_Type_Descriptor, &CloudyModalContainer::RTTI_Type_Descriptor,0); *(bool *)(param_1 + 0x3d) = lVar2 != 0; puVar3 = (undefined8 *)FUN_1811316e0(0x8a8); local_290 = puVar3; FUN_1815ef340(puVar3,param_2,*(char *)(param_1 + 0x3d) == '\0'); *puVar3 = ShortcutModal::vftable; puVar3[0x16] = ShortcutModal::vftable; puVar5 = puVar3 + 0x10f; *puVar5 = 0; puVar3[0x110] = 0; local_2f8 = puVar5; uVar4 = FUN_18047e380(); *puVar5 = uVar4; puVar3[0x111] = 0; puVar3[0x112] = 0; *(undefined4 *)(puVar3 + 0x113) = 0x41a00000; *(undefined4 *)((longlong)puVar3 + 0x89c) = 0x41600000; *(undefined4 *)(puVar3 + 0x114) = 0x40800000; FUN_18049c4e0(&local_380,"ShortcutModal"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(puVar3,&local_380); puVar6 = (uint *)(local_380 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } param_1[0x3e] = puVar3; param_1[0x3f] = 0; param_1[0x40] = 0; param_1[0x41] = 0; param_1[0x42] = 0; *(undefined1 *)(param_1 + 0x43) = 1; param_1[0x44] = 0; param_1[0x45] = 0; param_1[0x46] = 0; param_1[0x47] = 0; *(undefined1 *)(param_1 + 0x48) = 1; param_1[0x49] = 0; param_1[0x4a] = 0; param_1[0x4b] = 0; param_1[0x4c] = 0; *(undefined1 *)(param_1 + 0x4d) = 1; param_1[0x4e] = 0; param_1[0x4f] = 0; param_1[0x50] = 0; param_1[0x51] = 0; *(undefined1 *)(param_1 + 0x52) = 1; param_1[0x53] = 0; param_1[0x54] = 0; param_1[0x55] = 0; param_1[0x56] = 0; *(undefined1 *)(param_1 + 0x57) = 1; param_1[0x58] = 0; param_1[0x59] = 0; param_1[0x5a] = 0; param_1[0x5b] = 0; *(undefined1 *)(param_1 + 0x5c) = 1; param_1[0x5d] = 0; FUN_181600080(param_1 + 0x5e,param_1,param_2); FUN_180484030(param_1 + 199,param_3); puVar5 = (undefined8 *)FUN_1811316e0(0x980); local_2f8 = puVar5; FUN_1815ef340(puVar5,param_2,1); *puVar5 = AboutModal::vftable; puVar5[0x16] = AboutModal::vftable; puVar5[0x10f] = param_4; FUN_1815ef760(puVar5 + 0x110); FUN_18134a370(puVar5 + 0xa7,puVar5 + 0x110,0); param_1[0xca] = puVar5; FUN_18049c4e0(local_378,&DAT_18242bf10); puVar3 = (undefined8 *)FUN_180576a30(&local_a8,local_378); puVar5 = param_1 + 0x3f; if (puVar5 != puVar3) { local_2f0 = *puVar3; *puVar3 = 0; local_2e8 = *(undefined4 *)(puVar3 + 1); local_2e4 = *(undefined4 *)((longlong)puVar3 + 0xc); puVar3[1] = 0; local_298 = (void *)*puVar5; *puVar5 = local_2f0; *(undefined4 *)(param_1 + 0x40) = local_2e8; *(undefined4 *)((longlong)param_1 + 0x204) = local_2e4; /* WARNING: Subroutine does not return */ free(local_298); } uVar4 = puVar3[3]; param_1[0x41] = puVar3[2]; param_1[0x42] = uVar4; *(undefined1 *)(param_1 + 0x43) = *(undefined1 *)(puVar3 + 4); local_9c = 0; /* WARNING: Subroutine does not return */ free(local_a8); } ############ FUN_ 1814d7030 size=522 ############ undefined8 * FUN_1814d7030(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined **local_f0; undefined8 *local_e8; undefined ***local_b8; undefined **local_b0; undefined8 *local_a8; undefined ***local_78; undefined1 local_70 [56]; undefined8 local_38; FUN_180579c10(param_1,"tooltip"); param_1[0x1a] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x1b) = 0; *param_1 = CloudyTooltip::vftable; param_1[0x16] = CloudyTooltip::vftable; param_1[0x19] = CloudyTooltip::vftable; param_1[0x1c] = 0; param_1[0x1d] = 0; param_1[0x1e] = &DAT_1821dbf98; param_1[0x1f] = &DAT_1821dbf98; param_1[0x20] = 700; param_1[0x21] = 0; *(undefined4 *)(param_1 + 0x22) = 0; *(undefined1 *)((longlong)param_1 + 0x114) = 0; param_1[0x23] = 0; param_1[0x24] = 0; param_1[0x25] = 0; *(undefined4 *)(param_1 + 0x26) = 9; param_1[0x27] = param_3; FUN_1815f84a0(param_1 + 0x28); FUN_180484030(param_1 + 0x5d,param_4); FUN_18134b0f0(param_1,1); FUN_18134bd50(param_1,1); FUN_181343cc0(param_2,param_1,0xffffffff); if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } if (*(int *)(**(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18) + 0x14) != 1) { FUN_1812a77d0(param_1 + 0x19,0xfa); } local_38 = 0; local_f0 = std::_Func_impl_no_alloc<,juce::Path*___ptr64> ::vftable; local_b8 = &local_f0; local_b0 = std::_Func_impl_no_alloc<,int>::vftable; local_78 = &local_b0; local_e8 = param_1; local_a8 = param_1; FUN_1815f8200(param_1 + 0x28,param_1,&local_b0,&local_f0,local_70); FUN_181342bf0(param_1 + 0x28,DAT_1824c3d18); return param_1; } ############ FUN_ 1814d9850 size=2785 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814d9850(undefined8 *param_1,undefined8 param_2,undefined8 param_3,longlong *param_4, undefined8 param_5) { longlong *plVar1; undefined ***pppuVar2; longlong *plVar3; longlong lVar4; undefined8 *puVar5; undefined ***pppuVar6; bool bVar7; char cVar8; undefined1 uVar9; DWORD DVar10; undefined8 *puVar11; undefined8 *puVar12; undefined8 uVar13; longlong *plVar14; undefined8 uVar15; void *pvVar16; undefined8 *puVar17; uint uVar18; int iVar19; uint *puVar20; longlong *plVar22; int iVar23; ulonglong uVar24; undefined1 auStack_308 [32]; longlong *local_2e8; undefined8 local_2e0; longlong *local_2d8; undefined8 local_2d0; int local_2c8; undefined8 local_2c0; undefined1 local_2b8 [8]; longlong local_2b0; longlong local_2a8; longlong local_2a0; longlong local_298; longlong local_290; void *local_288; longlong *local_280; undefined1 local_278 [8]; undefined8 local_270; undefined8 local_268; longlong local_260; undefined8 *local_258; longlong *local_250; longlong local_248; longlong local_240; longlong local_238; undefined1 local_230 [8]; undefined8 local_228; longlong *local_220; undefined8 local_218; undefined8 local_210; undefined8 local_208; undefined8 local_200; longlong local_1f8; undefined1 local_1f0 [40]; undefined **local_1c8; undefined8 *local_1c0; undefined ***local_190; undefined **local_188; undefined8 *local_180; undefined ***local_150; undefined **local_148; undefined8 *local_140; undefined ***local_110; longlong local_108 [7]; longlong *local_d0; longlong local_c8 [7]; longlong *local_90; longlong local_88 [7]; longlong *local_50; ulonglong local_48; ulonglong uVar21; local_218 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_308; local_270 = param_5; local_2c0 = param_2; local_280 = param_4; local_268 = param_3; local_258 = param_1; local_250 = param_4; FUN_180579c10(param_1,"Tutorial Panel"); puVar17 = param_1 + 0x1a; *param_1 = CloudyTutorialPanel::vftable; param_1[0x16] = CloudyTutorialPanel::vftable; param_1[0x19] = CloudyTutorialPanel::vftable; *puVar17 = CloudyTutorialPanel::vftable; param_1[0x1b] = param_3; FUN_180484030(param_1 + 0x1c,param_3); lVar4 = *param_4; param_1[0x1f] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } param_1[0x20] = param_2; plVar14 = param_1 + 0x21; uVar24 = 0; *plVar14 = 0; param_1[0x22] = 0; param_1[0x23] = 0; param_1[0x24] = 0; *(undefined4 *)(param_1 + 0x25) = 0xffffffff; param_1[0x26] = CompletedTutorialsOption::vftable; FUN_18049c4e0(local_2b8,&DAT_1821d912e); FUN_1815ef4d0(param_1 + 0x27,local_2b8); FUN_1815f84a0(param_1 + 0x6e); param_1[0xa3] = 0; param_1[0xa4] = 0; plVar1 = param_1 + 0xa5; *plVar1 = 0; *(undefined8 *)((longlong)param_1 + 0x534) = 0; *(undefined8 *)((longlong)param_1 + 0x53c) = 0; puVar11 = (undefined8 *)FUN_1811316e0(0xb0); *puVar11 = juce::Component::vftable; puVar11[1] = &DAT_1821dbf98; puVar11[2] = &DAT_1821dbf98; puVar11[3] = 0; puVar11[4] = 0; puVar11[5] = 0; puVar11[6] = 0; puVar11[7] = 0; puVar11[8] = 0; puVar11[9] = 0; puVar11[10] = 0; puVar11[0xb] = 0; puVar11[0xc] = 0; puVar11[0xd] = 0; puVar11[0xe] = 0; puVar11[0xf] = 0; puVar11[0x10] = 0; puVar11[0x11] = 0; puVar11[0x12] = 0; puVar11[0x13] = 0; puVar11[0x14] = 0; *(undefined4 *)(puVar11 + 0x15) = 0; *(undefined1 *)((longlong)puVar11 + 0xac) = 0; if (plVar14 == &local_248) { puVar12 = (undefined8 *)*puVar11; LAB_1814d9a76: (*(code *)*puVar12)(puVar11,1); } else { puVar5 = (undefined8 *)*plVar14; *plVar14 = (longlong)puVar11; if (puVar5 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar5; puVar11 = puVar5; goto LAB_1814d9a76; } } plVar14 = (longlong *)*plVar14; if (plVar14 != (longlong *)0x0) { (**(code **)(*plVar14 + 0x58))(plVar14,1); FUN_181343cc0(param_1,plVar14,0xffffffff); } local_2d8 = (longlong *)FUN_1811316e0(0xe0); puVar11 = (undefined8 *)FUN_1814d0240(local_2d8); plVar14 = param_1 + 0xa4; if (plVar14 == &local_240) { if (puVar11 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar11; goto LAB_1814d9ae3; } } else { puVar5 = (undefined8 *)*plVar14; *plVar14 = (longlong)puVar11; if (puVar5 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar5; puVar11 = puVar5; LAB_1814d9ae3: (*(code *)*puVar12)(puVar11,1); } } uVar13 = local_2c0; if (*plVar14 != 0) { FUN_181343cc0(local_2c0,*plVar14,0xffffffff); } local_2d8 = (longlong *)FUN_1811316e0(0x2a8); puVar11 = (undefined8 *)FUN_1814cfbf0(local_2d8); if (plVar1 == &local_238) { if (puVar11 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar11; goto LAB_1814d9b40; } } else { puVar5 = (undefined8 *)*plVar1; *plVar1 = (longlong)puVar11; if (puVar5 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar5; puVar11 = puVar5; LAB_1814d9b40: (*(code *)*puVar12)(puVar11,1); } } if (*plVar1 != 0) { FUN_181343cc0(uVar13,*plVar1,0xffffffff); } (**(code **)(param_1[0x27] + 0x58))(param_1 + 0x27,1); FUN_181343cc0(param_1,param_1 + 0x27,0xffffffff); FUN_18049c4e0(&local_2b0, "\n\n\n" ); uVar13 = FUN_180576a30(local_1f0,&local_2b0); FUN_1815ef420(param_1 + 0x27,uVar13); puVar20 = (uint *)(local_2b0 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } pppuVar2 = (undefined ***)(param_1 + 0x3f); local_1c8 = std::_Func_impl_no_alloc<,void>::vftable; local_190 = &local_1c8; local_d0 = (longlong *)0x0; local_1c0 = param_1; local_d0 = (longlong *)(*(code *)PTR_FUN_1824b3ba8)(&local_1c8,local_108); if (local_190 != (undefined ***)0x0) { (*(code *)(*local_190)[4])(local_190,local_190 != &local_1c8); local_190 = (undefined ***)0x0; } pppuVar6 = (undefined ***)param_1[0x46]; if (pppuVar6 != (undefined ***)0x0) { if (pppuVar6 == pppuVar2) { local_190 = (undefined ***)(*(code *)(*pppuVar6)[1])(pppuVar6,&local_1c8); pppuVar6 = (undefined ***)param_1[0x46]; if (pppuVar6 == (undefined ***)0x0) goto LAB_1814d9c89; (*(code *)(*pppuVar6)[4])(pppuVar6,pppuVar6 != pppuVar2); pppuVar6 = local_190; } local_190 = pppuVar6; param_1[0x46] = 0; } LAB_1814d9c89: FUN_180488560(pppuVar2,local_108); if (local_d0 != (longlong *)0x0) { (**(code **)(*local_d0 + 0x20))(local_d0,local_d0 != local_108); } if (local_190 != (undefined ***)0x0) { (*(code *)(*local_190)[4])(local_190,local_190 != &local_1c8); } plVar14 = local_280; if (*(char *)*local_280 == '\0') { LAB_1814d9d1c: bVar7 = false; } else { puVar11 = (undefined8 *)FUN_18049a930(local_230,local_280); DVar10 = GetFileAttributesW((LPCWSTR)*puVar11); bVar7 = true; if ((DVar10 & 0x10) != 0) goto LAB_1814d9d1c; } if ((!bVar7) || (cVar8 = FUN_1814c5d10(), cVar8 == '\0')) goto LAB_1814da2ff; FUN_181225f50(&local_288,plVar14); local_2d8 = (longlong *)((longlong)local_288 + 8); iVar23 = -1; while( true ) { uVar18 = 0; uVar21 = uVar24; for (puVar11 = (undefined8 *)*local_2d8; puVar11 != (undefined8 *)0x0; puVar11 = (undefined8 *)*puVar11) { uVar18 = (int)uVar21 + 1; uVar21 = (ulonglong)uVar18; } local_2c8 = iVar23 + 1; plVar14 = local_2d8; if ((int)uVar18 <= local_2c8) break; while ((-1 < iVar23 && ((longlong *)*plVar14 != (longlong *)0x0))) { iVar23 = iVar23 + -1; plVar14 = (longlong *)*plVar14; } lVar4 = *plVar14; uVar13 = FUN_1811316e0(0x348); local_220 = &local_2a8; local_228 = uVar13; for (puVar11 = *(undefined8 **)(lVar4 + 0x10); puVar11 != (undefined8 *)0x0; puVar11 = (undefined8 *)*puVar11) { local_210 = puVar11[1]; iVar23 = FUN_18048cbc0(local_210,&DAT_1822a3b14); if (iVar23 == 0) { plVar14 = puVar11 + 2; goto LAB_1814d9dee; } } plVar14 = (longlong *)FUN_181220d40(); LAB_1814d9dee: local_2a8 = *plVar14; if ((*(uint *)(local_2a8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_2a8 + -0x10) = *(int *)(local_2a8 + -0x10) + 1; UNLOCK(); } uVar15 = FUN_181246700(lVar4,local_278); for (puVar11 = *(undefined8 **)(lVar4 + 0x10); puVar11 != (undefined8 *)0x0; puVar11 = (undefined8 *)*puVar11) { local_208 = puVar11[1]; iVar23 = FUN_18048cbc0(local_208,&DAT_1822a4ef4); if (iVar23 == 0) { plVar14 = puVar11 + 2; goto LAB_1814d9e5e; } } plVar14 = (longlong *)FUN_181220d40(); LAB_1814d9e5e: local_2a0 = *plVar14; if ((*(uint *)(local_2a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_2a0 + -0x10) = *(int *)(local_2a0 + -0x10) + 1; UNLOCK(); } for (puVar11 = *(undefined8 **)(lVar4 + 0x10); puVar11 != (undefined8 *)0x0; puVar11 = (undefined8 *)*puVar11) { local_200 = puVar11[1]; iVar23 = FUN_18048cbc0(local_200,&DAT_1821e9924); if (iVar23 == 0) { plVar14 = puVar11 + 2; goto LAB_1814d9ebe; } } plVar14 = (longlong *)FUN_181220d40(); LAB_1814d9ebe: local_298 = *plVar14; if ((*(uint *)(local_298 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_298 + -0x10) = *(int *)(local_298 + -0x10) + 1; UNLOCK(); } local_2e8 = &local_2a8; plVar14 = (longlong *)FUN_1814d1530(uVar13,&local_298,&local_2a0,uVar15); local_290 = plVar14[0x3c]; if ((*(uint *)(local_290 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_290 + -0x10) = *(int *)(local_290 + -0x10) + 1; UNLOCK(); } uVar9 = FUN_1811ca880(param_1 + 0x26,&local_290); *(undefined1 *)(plVar14 + 0x43) = uVar9; if (puVar17 != (undefined8 *)0x0) { plVar1 = plVar14 + 0x2c; plVar22 = (longlong *)*plVar1; iVar23 = *(int *)((longlong)plVar14 + 0x16c); plVar3 = plVar22 + iVar23; for (; plVar22 != plVar3; plVar22 = plVar22 + 1) { if (puVar17 == (undefined8 *)*plVar22) goto LAB_1814d9f94; } iVar19 = iVar23 + 1; if ((int)plVar14[0x2d] < iVar19) { if (iVar19 < 0) { iVar19 = iVar23 + 2; } FUN_18047cb30(plVar1,iVar23 + 9 + (iVar19 >> 1) & 0xfffffff8); } iVar23 = *(int *)((longlong)plVar14 + 0x16c); *(int *)((longlong)plVar14 + 0x16c) = iVar23 + 1; *(undefined8 **)(*plVar1 + (longlong)iVar23 * 8) = puVar17; } LAB_1814d9f94: uVar13 = param_1[0x21]; (**(code **)(*plVar14 + 0x58))(plVar14,1); FUN_181343cc0(uVar13,plVar14,0xffffffff); iVar19 = *(int *)((longlong)param_1 + 0x124); iVar23 = iVar19 + 1; if ((int)*(uint *)(param_1 + 0x24) < iVar23) { if (iVar23 < 0) { iVar23 = iVar19 + 2; } uVar18 = iVar19 + 9 + (iVar23 >> 1) & 0xfffffff8; if (*(uint *)(param_1 + 0x24) != uVar18) { pvVar16 = (void *)param_1[0x23]; if ((int)uVar18 < 1) { /* WARNING: Subroutine does not return */ free(pvVar16); } if (pvVar16 == (void *)0x0) { pvVar16 = malloc((longlong)(int)uVar18 * 8); param_1[0x23] = pvVar16; } else { pvVar16 = realloc(pvVar16,(longlong)(int)uVar18 * 8); param_1[0x23] = pvVar16; } } *(uint *)(param_1 + 0x24) = uVar18; } iVar23 = *(int *)((longlong)param_1 + 0x124); *(int *)((longlong)param_1 + 0x124) = iVar23 + 1; *(longlong **)(param_1[0x23] + (longlong)iVar23 * 8) = plVar14; iVar23 = local_2c8; } plVar14 = (longlong *)param_1[0xa5]; uVar13 = param_1[0xa4]; local_2d0 = FUN_1811316e0(0xdb8); uVar15 = local_2c0; local_2e0 = local_270; local_2e8 = plVar14; puVar17 = (undefined8 *)FUN_1814c9b60(local_2d0,local_2c0,local_268,uVar13); plVar14 = param_1 + 0x22; if (plVar14 == &local_1f8) { if (puVar17 != (undefined8 *)0x0) { puVar11 = (undefined8 *)*puVar17; goto LAB_1814da0ef; } } else { puVar12 = (undefined8 *)*plVar14; *plVar14 = (longlong)puVar17; if (puVar12 != (undefined8 *)0x0) { puVar11 = (undefined8 *)*puVar12; puVar17 = puVar12; LAB_1814da0ef: (*(code *)*puVar11)(puVar17,1); } } if (*plVar14 != 0) { FUN_181343cc0(param_1,*plVar14,0xffffffff); } lVar4 = *plVar14; local_188 = std::_Func_impl_no_alloc<,void>::vftable; local_150 = &local_188; local_90 = (longlong *)0x0; local_180 = param_1; FUN_180488560(local_c8,&local_188); FUN_180488560(&local_188,lVar4 + 0xd38); FUN_180488560(lVar4 + 0xd38,local_c8); if (local_90 != (longlong *)0x0) { (**(code **)(*local_90 + 0x20))(local_90,local_90 != local_c8); } if (local_150 != (undefined ***)0x0) { (*(code *)(*local_150)[4])(local_150,local_150 != &local_188); } lVar4 = *plVar14; local_148 = std::_Func_impl_no_alloc<,void>::vftable; local_110 = &local_148; local_50 = (longlong *)0x0; local_140 = param_1; FUN_180488560(local_88,&local_148); FUN_180488560(&local_148,lVar4 + 0xd78); FUN_180488560(lVar4 + 0xd78,local_88); if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x20))(local_50,local_50 != local_88); } if (local_110 != (undefined ***)0x0) { (*(code *)(*local_110)[4])(local_110,local_110 != &local_148); } uVar13 = (**(code **)(param_1[0x26] + 0x10))(param_1 + 0x26,&local_260); FUN_1811e1fd0(uVar13,param_1 + 0x19); puVar20 = (uint *)(local_260 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } if (*plVar14 != 0) { uVar24 = *plVar14 + 0xd0; } FUN_18133e2b0(uVar15,uVar24); if (local_288 != (void *)0x0) { FUN_1812472e0(local_288); /* WARNING: Subroutine does not return */ free(local_288); } LAB_1814da2ff: puVar20 = (uint *)(*local_280 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } } ############ FUN_ 181225f50 size=182 ############ undefined8 FUN_181225f50(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; undefined1 *local_50; undefined8 local_48; undefined2 local_40; undefined1 *local_38; undefined1 *local_30; undefined8 local_28; undefined8 local_20; undefined2 local_18; undefined8 *local_10; uVar2 = 0xfffffffffffffffe; local_50 = &DAT_1821dbf98; local_48 = 0; local_40 = 0; local_38 = &DAT_1821dbf98; local_30 = &DAT_1821dbf98; local_28 = 0; local_20 = 0; local_18 = 0x100; local_10 = (undefined8 *)FUN_1811316e0(0x18); *local_10 = juce::FileInputSource::vftable; lVar1 = *param_2; local_10[1] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } *(undefined1 *)(local_10 + 2) = 0; FUN_181248430(&local_50,param_1,lVar1,param_4,uVar2); FUN_181248660(&local_50); return param_1; } ############ FUN_ 18133e2b0 size=173 ############ void FUN_18133e2b0(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; longlong *plVar6; if (*(longlong *)(param_1 + 0x78) == 0) { puVar5 = (undefined8 *)FUN_1811316e0(); *puVar5 = 0; puVar5[1] = 0; puVar3 = *(undefined8 **)(param_1 + 0x78); *(undefined8 **)(param_1 + 0x78) = puVar5; if (puVar3 != (undefined8 *)0x0) { *(undefined4 *)((longlong)puVar3 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar3); } } plVar4 = *(longlong **)(param_1 + 0x78); plVar6 = (longlong *)*plVar4; iVar2 = *(int *)((longlong)plVar4 + 0xc); plVar1 = plVar6 + iVar2; while( true ) { if (plVar6 == plVar1) { if ((int)plVar4[1] < iVar2 + 1) { FUN_18047cb30(plVar4,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)plVar4 + 0xc); *(int *)((longlong)plVar4 + 0xc) = iVar2 + 1; *(longlong *)(*plVar4 + (longlong)iVar2 * 8) = param_2; return; } if (param_2 == *plVar6) break; plVar6 = plVar6 + 1; } return; } ############ FUN_ 1814d0240 size=398 ############ undefined8 * FUN_1814d0240(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; undefined8 *puVar2; undefined8 *puVar3; longlong local_res10; FUN_18049c4e0(&local_res10,"Tutorial overlay",param_3,param_4,0xfffffffffffffffe); *param_1 = juce::Component::vftable; param_1[1] = local_res10; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x17] = 0; *(undefined1 *)(param_1 + 0x18) = 0; *param_1 = CloudyTutorialOverlay::vftable; param_1[0x16] = CloudyTutorialOverlay::vftable; param_1[0x19] = 0; param_1[0x1a] = 0; param_1[0x1b] = 0; *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) & 0xf7; if (param_1[0xd] == 0) { puVar3 = (undefined8 *)FUN_1811316e0(0x30); *puVar3 = juce::StandardCachedComponentImage::vftable; puVar3[1] = 0; puVar3[2] = 0; puVar3[3] = 0; puVar3[4] = param_1; *(undefined4 *)(puVar3 + 5) = 0x3f800000; puVar2 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar3; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xef | 8; return param_1; } ############ FUN_ 1815dc2d0 size=596 ############ longlong * FUN_1815dc2d0(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; undefined8 *puVar3; uint *_Memory; undefined1 *local_res10; undefined1 *local_res18; longlong local_res20; undefined4 local_78; undefined4 uStack_74; undefined4 uStack_70; undefined4 uStack_6c; undefined **local_68; longlong *local_60; undefined ***local_30; local_res10 = &DAT_1821dbf98; local_res18 = &DAT_1821dbf98; FUN_1815d7db0(param_1,&local_res18,&local_res10,param_4,0xfffffffffffffffe); *param_1 = (longlong)InlineTooltip::vftable; param_1[0x16] = (longlong)InlineTooltip::vftable; param_1[0x18] = (longlong)InlineTooltip::vftable; param_1[0x19] = (longlong)InlineTooltip::vftable; param_1[0x1a] = (longlong)InlineTooltip::vftable; param_1[0x41] = (longlong)InlineTooltip::vftable; param_1[0x44] = (longlong)InlineTooltip::vftable; param_1[0x47] = (longlong)InlineTooltip::vftable; param_1[0x48] = (longlong)InlineTooltip::vftable; *(undefined4 *)(param_1 + 0x94) = 2; param_1[0x95] = param_2; FUN_181408890(param_1 + 0x96); param_1[0xca] = 0; *(undefined2 *)(param_1 + 0x40) = 0; *(undefined1 *)((longlong)param_1 + 0x202) = 0; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0x8f | 8; if (param_1[0xd] == 0) { puVar3 = (undefined8 *)FUN_1811316e0(0x30); *puVar3 = juce::StandardCachedComponentImage::vftable; puVar3[1] = 0; puVar3[2] = 0; puVar3[3] = 0; puVar3[4] = param_1; *(undefined4 *)(puVar3 + 5) = 0x3f800000; puVar2 = (undefined8 *)param_1[0xd]; param_1[0xd] = (longlong)puVar3; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } FUN_18049c4e0(&local_res20,"InlineTooltip"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,&local_res20); _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*param_1 + 0x58))(param_1,1); FUN_181343cc0(param_2,param_1,0xffffffff); FUN_181342bf0(param_1,0); if ((int)param_1[0x38] != 4) { *(undefined4 *)(param_1 + 0x38) = 4; uStack_6c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_70 = (undefined4)param_1[5]; local_78 = 0; uStack_74 = 0; FUN_181342870(param_1,&local_78,1); } FUN_181410d30(param_1 + 0x96,"alpha",0); local_68 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_30 = &local_68; local_60 = param_1; FUN_181410000(param_1 + 0x96,&local_68); return param_1; } ############ FUN_ 1814dbc30 size=1063 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814dbc30(longlong *param_1,longlong param_2,longlong *param_3,undefined1 param_4) { undefined ***pppuVar1; undefined ***pppuVar2; undefined8 *puVar3; uint uVar4; undefined8 *puVar5; longlong *plVar6; longlong *plVar7; uint *_Memory; bool bVar8; undefined1 auStack_188 [32]; undefined4 local_168; undefined4 local_158; longlong *local_150; undefined1 *local_148; longlong local_140; undefined8 local_138; undefined4 local_130; undefined8 local_128; longlong *local_120; longlong *local_118; undefined **local_110; longlong *local_108; undefined ***local_d8; undefined **local_c8; longlong *local_c0; undefined ***local_90; longlong local_88 [7]; longlong *local_50; ulonglong local_48; local_128 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_188; plVar7 = param_1; local_140 = param_2; local_120 = param_1; local_118 = param_3; FUN_1813453e0(param_1,param_3); plVar7[0x17] = 0; *(undefined1 *)(plVar7 + 0x18) = 0; *plVar7 = (longlong)CloudyModal::vftable; plVar7[0x16] = (longlong)CloudyModal::vftable; *(undefined4 *)(plVar7 + 0x19) = 0; plVar7[0x1a] = param_2; plVar6 = plVar7 + 0x1b; local_150 = plVar6; FUN_1813ec2b0(plVar6); plVar7[0x3b] = 0; *(undefined1 *)(plVar7 + 0x3c) = 0; *plVar6 = (longlong)CloudyModal::ContentBackground::vftable; plVar7[0x3a] = (longlong)CloudyModal::ContentBackground::vftable; FUN_1815f84a0(plVar7 + 0x3d); *(undefined1 *)(param_1 + 0x72) = param_4; local_138 = DAT_18235df78; local_130 = DAT_18235df80; FUN_181408750(param_1 + 0x73,&local_138); local_148 = &DAT_1821dbf98; FUN_18134a630(param_1 + 0xa7,&local_148); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar8 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar8) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } param_1[0xde] = 0; *(undefined4 *)(param_1 + 0xdf) = 0x41000000; plVar7 = param_1 + 0xe0; FUN_181605530(plVar7,1); FUN_181411b10(param_1 + 0x73,"alpha",0); local_110 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_d8 = &local_110; local_108 = param_1; FUN_181410000(param_1 + 0x73,&local_110); pppuVar1 = (undefined ***)(param_1 + 0x76); local_c8 = std::_Func_impl_no_alloc<,void>::vftable; local_90 = &local_c8; local_50 = (longlong *)0x0; local_c0 = param_1; local_50 = (longlong *)(*(code *)PTR_FUN_1824bdcc0)(&local_c8,local_88); if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); local_90 = (undefined ***)0x0; } pppuVar2 = (undefined ***)param_1[0x7d]; if (pppuVar2 != (undefined ***)0x0) { if (pppuVar2 == pppuVar1) { local_90 = (undefined ***)(*(code *)(*pppuVar2)[1])(pppuVar2,&local_c8); pppuVar2 = (undefined ***)param_1[0x7d]; if (pppuVar2 == (undefined ***)0x0) goto LAB_1814dbe8a; (*(code *)(*pppuVar2)[4])(pppuVar2,pppuVar2 != pppuVar1); pppuVar2 = local_90; } local_90 = pppuVar2; param_1[0x7d] = 0; } LAB_1814dbe8a: FUN_180488560(pppuVar1,local_88); if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x20))(local_50,local_50 != local_88); } if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); } local_158 = 0x1010101; *(undefined4 *)(param_1 + 0x39) = 0x1010101; (**(code **)(*plVar6 + 0x58))(plVar6,1); FUN_181343cc0(param_1,plVar6,0xffffffff); (**(code **)(param_1[0xa7] + 0x58))(param_1 + 0xa7,1); FUN_181343cc0(param_1,param_1 + 0xa7,0xffffffff); if (param_1[0xd] == 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x30); *puVar5 = juce::StandardCachedComponentImage::vftable; puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = param_1; *(undefined4 *)(puVar5 + 5) = 0x3f800000; puVar3 = (undefined8 *)param_1[0xd]; param_1[0xd] = (longlong)puVar5; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } } plVar6 = (longlong *)0x0; if (param_1[10] != 0) { plVar6 = *(longlong **)(param_1[10] + 0x10); } if (plVar6 != plVar7) { FUN_18051b750(param_1 + 10,plVar7); FUN_181341b10(param_1); } local_168 = 0; plVar6 = (longlong *) __RTDynamicCast(local_140,0,&juce::Component::RTTI_Type_Descriptor, &CloudyModalContainer::RTTI_Type_Descriptor); if ((plVar6 != (longlong *)0x0) && ((char)param_1[0x72] == '\0')) { if ((undefined **)*plVar6 == Soothe2AudioProcessorEditor::vftable) { puVar3 = (undefined8 *)plVar6[0x83]; local_150 = param_1; if ((undefined8 *)plVar6[0x84] == puVar3) { FUN_1804803a0(plVar6 + 0x82,puVar3,&local_150); } else { *puVar3 = param_1; plVar6[0x83] = plVar6[0x83] + 8; } } else { (**(code **)*plVar6)(plVar6,param_1); } } _Memory = (uint *)(*param_3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 1815ef420 size=149 ############ void FUN_1815ef420(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; longlong lVar5; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; lVar5 = FUN_1811316e0(0x28); FUN_1804ab000(lVar5,param_2,param_3,param_4,uVar6); uVar2 = *(undefined4 *)((longlong)param_2 + 0x14); uVar3 = *(undefined4 *)(param_2 + 3); uVar4 = *(undefined4 *)((longlong)param_2 + 0x1c); *(undefined4 *)(lVar5 + 0x10) = *(undefined4 *)(param_2 + 2); *(undefined4 *)(lVar5 + 0x14) = uVar2; *(undefined4 *)(lVar5 + 0x18) = uVar3; *(undefined4 *)(lVar5 + 0x1c) = uVar4; *(undefined1 *)(lVar5 + 0x20) = *(undefined1 *)(param_2 + 4); puVar1 = (undefined8 *)param_1[0x3f]; param_1[0x3f] = lVar5; if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)((longlong)puVar1 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } (**(code **)(*param_1 + 0x108))(param_1); *(undefined4 *)((longlong)param_2 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x0001815ef4b9. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_2); return; } ############ FUN_ 181345120 size=134 ############ void FUN_181345120(longlong param_1,char param_2) { undefined8 *puVar1; undefined8 *puVar2; if (param_2 == '\0') { puVar1 = *(undefined8 **)(param_1 + 0x68); *(undefined8 *)(param_1 + 0x68) = 0; if (puVar1 != (undefined8 *)0x0) { /* WARNING: Could not recover jumptable at 0x00018134519d. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)*puVar1)(puVar1,1); return; } } else if (*(longlong *)(param_1 + 0x68) == 0) { puVar2 = (undefined8 *)FUN_1811316e0(0x30); *puVar2 = juce::StandardCachedComponentImage::vftable; puVar2[1] = 0; puVar2[2] = 0; puVar2[3] = 0; puVar2[4] = param_1; *(undefined4 *)(puVar2 + 5) = 0x3f800000; puVar1 = *(undefined8 **)(param_1 + 0x68); *(undefined8 **)(param_1 + 0x68) = puVar2; if (puVar1 != (undefined8 *)0x0) { /* WARNING: Jumptable with 0 entries at 0x00018134517b */ /* WARNING: Treating indirect jump as call */ (**(code **)*puVar1)(puVar1,1); return; } } return; } ############ FUN_ 1805679e0 size=419 ############ void .?AV?$CloudyOpenGLRenderer@USoothe2VertexData@@@@:: vtbl___AV__CloudyOpenGLRenderer_USoothe2VertexData____(longlong param_1) { void *_Memory; longlong lVar1; undefined8 uVar2; undefined **local_a0; undefined8 local_98; undefined8 uStack_90; undefined8 local_88; undefined8 local_80; undefined8 uStack_78; undefined8 local_70; undefined8 uStack_68; undefined8 local_60; undefined8 uStack_58; undefined8 local_50; undefined8 uStack_48; undefined8 local_40; undefined2 local_38; undefined1 local_36; if (*(char *)(param_1 + 0x7a) != '\0') { if (*(longlong *)(param_1 + 0x70) == 0) { EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xac)); lVar1 = FUN_1811316e0(0x68); memset(&local_a0,0,0x70); local_98 = 0; uStack_90 = 0; local_88 = 0; local_a0 = Soothe2VertexData::vftable; local_80 = 0; uStack_78 = 0; local_70 = 0; uStack_68 = 0; local_60 = 0; uStack_58 = 0; local_50 = 0; uStack_48 = 0; local_40 = 0; local_38 = 0; local_36 = 0; (*(code *)Soothe2VertexData::vftable[1])(&local_a0,lVar1); FUN_1805619f0(&local_a0); *(undefined8 *)(lVar1 + 0x18) = 0; *(undefined8 *)(lVar1 + 0x20) = 0; uVar2 = FUN_18047e100(); *(undefined8 *)(lVar1 + 0x18) = uVar2; *(undefined8 *)(lVar1 + 0x28) = 0; *(undefined8 *)(lVar1 + 0x30) = 0; *(undefined8 *)(lVar1 + 0x38) = 0; *(undefined8 *)(lVar1 + 0x40) = 0; *(undefined8 *)(lVar1 + 0x48) = 0; *(undefined8 *)(lVar1 + 0x50) = 0; *(undefined8 *)(lVar1 + 0x58) = 0; uVar2 = FUN_180489c00(); *(undefined8 *)(lVar1 + 0x50) = uVar2; *(undefined8 *)(lVar1 + 0x60) = 0; _Memory = *(void **)(param_1 + 0x70); *(longlong *)(param_1 + 0x70) = lVar1; if (_Memory != (void *)0x0) { FUN_18056afc0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } if (*(longlong **)(param_1 + 0x2d8) != (longlong *)0x0) { (**(code **)(**(longlong **)(param_1 + 0x2d8) + 8))(); } FUN_181413d90(*(undefined8 *)(param_1 + 0xd8)); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xac)); } LOCK(); *(undefined1 *)(param_1 + 0x7a) = 0; UNLOCK(); } lVar1 = FUN_181639c10(param_1 + 0xe0); if (lVar1 != 0) { LOCK(); *(undefined1 *)(lVar1 + 0x2fa) = 1; UNLOCK(); FUN_181215c10(lVar1 + 0x250); } return; } ############ FUN_ 180569930 size=337 ############ void FUN_180569930(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; void *_Memory; char cVar2; longlong *plVar3; uint *puVar4; longlong *_Memory_00; longlong local_res8; longlong local_res10; longlong *local_res18; (**(code **)(**(longlong **)(param_1 + 0x2e0) + 0x18)) (*(longlong **)(param_1 + 0x2e0),&local_res10,param_3,param_4,0xfffffffffffffffe); (**(code **)(**(longlong **)(param_1 + 0x2e0) + 0x20)) (*(longlong **)(param_1 + 0x2e0),&local_res8); plVar3 = (longlong *)FUN_1811316e0(0x18); *plVar3 = param_1 + 0xe8; *(undefined4 *)(plVar3 + 1) = 0; plVar3[2] = (longlong)&DAT_1821dbf98; local_res18 = plVar3; cVar2 = FUN_18163a160(plVar3,&local_res10,0x8b31); _Memory_00 = plVar3; if (cVar2 != '\0') { cVar2 = FUN_18163a160(plVar3,&local_res8,0x8b30); if (cVar2 != '\0') { cVar2 = FUN_18163bb70(plVar3); if (cVar2 != '\0') { _Memory_00 = (longlong *)0x0; local_res18 = (longlong *)0x0; _Memory = *(void **)(param_1 + 0x68); *(longlong **)(param_1 + 0x68) = plVar3; if (_Memory != (void *)0x0) { FUN_18163bcd0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } (**(code **)(**(longlong **)(param_1 + 0x68) + 0x70)) ((int)(*(longlong **)(param_1 + 0x68))[1]); } } } if (_Memory_00 != (longlong *)0x0) { FUN_18163bcd0(_Memory_00); /* WARNING: Subroutine does not return */ free(_Memory_00); } puVar4 = (uint *)(local_res8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_res10 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return; } ############ FUN_ 18056b720 size=58 ############ undefined8 * FUN_18056b720(undefined8 *param_1) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x490); uVar1 = FUN_1814d7240(uVar1); *param_1 = uVar1; return param_1; } ############ FUN_ 1814d7240 size=700 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814d7240(undefined8 *param_1) { int *piVar1; longlong *plVar2; longlong *plVar3; uint uVar4; longlong lVar5; int iVar6; undefined1 *puVar7; undefined1 uVar8; undefined8 *puVar9; longlong *plVar10; uint *puVar11; longlong *plVar12; undefined1 auStack_88 [32]; longlong *local_68; undefined1 *local_60; undefined1 local_58 [8]; undefined1 local_50 [8]; longlong local_48 [2]; undefined8 *local_38; longlong *local_30; undefined1 local_28 [8]; ulonglong local_20; local_48[1] = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_88; local_38 = param_1; puVar9 = (undefined8 *)FUN_1811316e0(8); *puVar9 = AutoBandSoloOption::vftable; FUN_1814d5360(param_1,puVar9); puVar9 = param_1 + 0x1e; *param_1 = AutoBandSoloOptionComponent::vftable; param_1[0x16] = AutoBandSoloOptionComponent::vftable; param_1[0x19] = AutoBandSoloOptionComponent::vftable; *puVar9 = AutoBandSoloOptionComponent::vftable; local_60 = local_50; plVar10 = (longlong *)param_1[0x1a]; FUN_18049c4e0(local_50,""); plVar10 = (longlong *)(**(code **)(*plVar10 + 0x10))(plVar10,local_58); local_68 = plVar10; FUN_181232e20(plVar10,"Button",""); local_48[0] = *plVar10; if ((*(uint *)(local_48[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_48[0] + -0x10) = *(int *)(local_48[0] + -0x10) + 1; UNLOCK(); } puVar11 = (uint *)(*plVar10 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } plVar10 = param_1 + 0x1f; FUN_18160ae50(plVar10,local_48,local_50); (**(code **)(*plVar10 + 0x58))(plVar10,1); FUN_181343cc0(param_1,plVar10,0xffffffff); if (puVar9 != (undefined8 *)0x0) { plVar2 = param_1 + 0x4b; plVar12 = (longlong *)*plVar2; iVar6 = *(int *)((longlong)param_1 + 0x264); plVar3 = plVar12 + iVar6; for (; plVar12 != plVar3; plVar12 = plVar12 + 1) { if (puVar9 == (undefined8 *)*plVar12) goto LAB_1814d73ef; } if (*(int *)(param_1 + 0x4c) < iVar6 + 1) { FUN_18047cb30(plVar2,iVar6 + 9 + (iVar6 + 1) / 2 & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0x264); *(int *)((longlong)param_1 + 0x264) = iVar6 + 1; *(undefined8 **)(*plVar2 + (longlong)iVar6 * 8) = puVar9; } LAB_1814d73ef: FUN_18049c4e0(&local_68,"Auto band listen"); FUN_181347ea0(plVar10,&local_68); puVar11 = (uint *)(local_68 + -2); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_18049c4e0(&local_60,"Use this to automatically enable band listen when dragging an EQ node."); puVar7 = local_60; if ((*(uint *)(local_60 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_60 + -0x10) = *(int *)(local_60 + -0x10) + 1; UNLOCK(); } LOCK(); lVar5 = param_1[0x5b]; param_1[0x5b] = local_60; UNLOCK(); puVar11 = (uint *)(lVar5 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((*(uint *)(puVar7 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(puVar7 + -0x10); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7 + -0x10); } } puVar9 = (undefined8 *) (**(code **)(*(longlong *)param_1[0x1a] + 0x20))((longlong *)param_1[0x1a],&local_30); uVar8 = (**(code **)(*(longlong *)*puVar9 + 0x28))((longlong *)*puVar9,puVar9 + 1); (**(code **)(*local_30 + 0xb0))(local_30,local_28); FUN_181337080(plVar10,uVar8,0,0); } ############ FUN_ 18056b760 size=58 ############ undefined8 * FUN_18056b760(undefined8 *param_1) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x490); uVar1 = FUN_1814d53d0(uVar1); *param_1 = uVar1; return param_1; } ############ FUN_ 1814d53d0 size=700 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814d53d0(undefined8 *param_1) { int *piVar1; longlong *plVar2; longlong *plVar3; uint uVar4; longlong lVar5; int iVar6; undefined1 *puVar7; undefined1 uVar8; undefined8 *puVar9; longlong *plVar10; uint *puVar11; longlong *plVar12; undefined1 auStack_88 [32]; longlong *local_68; undefined1 *local_60; undefined1 local_58 [8]; undefined1 local_50 [8]; longlong local_48 [2]; undefined8 *local_38; longlong *local_30; undefined1 local_28 [8]; ulonglong local_20; local_48[1] = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_88; local_38 = param_1; puVar9 = (undefined8 *)FUN_1811316e0(8); *puVar9 = BypassOnSoloOption::vftable; FUN_1814d5360(param_1,puVar9); puVar9 = param_1 + 0x1e; *param_1 = BypassOnSoloOptionComponent::vftable; param_1[0x16] = BypassOnSoloOptionComponent::vftable; param_1[0x19] = BypassOnSoloOptionComponent::vftable; *puVar9 = BypassOnSoloOptionComponent::vftable; local_60 = local_50; plVar10 = (longlong *)param_1[0x1a]; FUN_18049c4e0(local_50,""); plVar10 = (longlong *)(**(code **)(*plVar10 + 0x10))(plVar10,local_58); local_68 = plVar10; FUN_181232e20(plVar10,"Button",""); local_48[0] = *plVar10; if ((*(uint *)(local_48[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_48[0] + -0x10) = *(int *)(local_48[0] + -0x10) + 1; UNLOCK(); } puVar11 = (uint *)(*plVar10 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } plVar10 = param_1 + 0x1f; FUN_18160ae50(plVar10,local_48,local_50); (**(code **)(*plVar10 + 0x58))(plVar10,1); FUN_181343cc0(param_1,plVar10,0xffffffff); if (puVar9 != (undefined8 *)0x0) { plVar2 = param_1 + 0x4b; plVar12 = (longlong *)*plVar2; iVar6 = *(int *)((longlong)param_1 + 0x264); plVar3 = plVar12 + iVar6; for (; plVar12 != plVar3; plVar12 = plVar12 + 1) { if (puVar9 == (undefined8 *)*plVar12) goto LAB_1814d557f; } if (*(int *)(param_1 + 0x4c) < iVar6 + 1) { FUN_18047cb30(plVar2,iVar6 + 9 + (iVar6 + 1) / 2 & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0x264); *(int *)((longlong)param_1 + 0x264) = iVar6 + 1; *(undefined8 **)(*plVar2 + (longlong)iVar6 * 8) = puVar9; } LAB_1814d557f: FUN_18049c4e0(&local_68,"Use dry signal with band listen"); FUN_181347ea0(plVar10,&local_68); puVar11 = (uint *)(local_68 + -2); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_18049c4e0(&local_60,"Use this to hear the unprocessed input when band listen is enabled."); puVar7 = local_60; if ((*(uint *)(local_60 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_60 + -0x10) = *(int *)(local_60 + -0x10) + 1; UNLOCK(); } LOCK(); lVar5 = param_1[0x5b]; param_1[0x5b] = local_60; UNLOCK(); puVar11 = (uint *)(lVar5 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((*(uint *)(puVar7 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(puVar7 + -0x10); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7 + -0x10); } } puVar9 = (undefined8 *) (**(code **)(*(longlong *)param_1[0x1a] + 0x20))((longlong *)param_1[0x1a],&local_30); uVar8 = (**(code **)(*(longlong *)*puVar9 + 0x28))((longlong *)*puVar9,puVar9 + 1); (**(code **)(*local_30 + 0xb0))(local_30,local_28); FUN_181337080(plVar10,uVar8,0,0); } ############ FUN_ 18056b7a0 size=58 ############ undefined8 * FUN_18056b7a0(undefined8 *param_1) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x318); uVar1 = FUN_18056d8c0(uVar1); *param_1 = uVar1; return param_1; } ############ FUN_ 18056d8c0 size=1578 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18056d8c0(undefined8 *param_1) { undefined ***pppuVar1; undefined4 *puVar2; int iVar3; undefined ***pppuVar4; int iVar5; undefined8 *puVar6; longlong lVar7; undefined8 uVar8; longlong *plVar9; void *pvVar10; uint *puVar11; uint uVar12; undefined4 *puVar13; bool bVar14; undefined1 auStack_1c8 [32]; undefined4 local_1a8; undefined4 local_198; undefined4 local_194; undefined4 local_190 [2]; longlong local_188; undefined1 *local_180; undefined1 local_178 [8]; longlong local_170; undefined8 *local_168 [2]; undefined8 local_158; undefined4 uStack_150; undefined4 uStack_14c; undefined8 local_148; undefined4 uStack_140; undefined4 uStack_13c; undefined1 *local_138; longlong local_130 [2]; undefined4 local_120; undefined4 uStack_11c; undefined8 *puStack_118; undefined8 local_110; undefined8 *local_108; undefined8 local_100; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined8 uStack_e0; undefined **local_d8; undefined4 local_d0 [2]; undefined **local_c8; undefined8 local_c0; undefined8 *puStack_b8; undefined ***local_90; longlong *local_88; undefined1 local_80 [8]; longlong local_78 [7]; longlong *local_40; ulonglong local_38; local_110 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_1c8; local_108 = param_1; puVar6 = (undefined8 *)FUN_1811316e0(0x18); *puVar6 = GainRangeScalingOption::vftable; puVar6[1] = 0; puVar6[2] = 0; local_198 = 0; local_168[0] = puVar6; FUN_180568b90(puVar6 + 1,&local_198); local_194 = 1; FUN_180568b90(puVar6 + 1,&local_194); local_190[0] = 2; FUN_180568b90(puVar6 + 1,local_190); *puVar6 = Soothe2GainRangeScalingOption::vftable; FUN_1814d5360(param_1,puVar6); *param_1 = GainRangeScalingOptionComponent::vftable; param_1[0x16] = GainRangeScalingOptionComponent::vftable; param_1[0x19] = GainRangeScalingOptionComponent::vftable; param_1[0x1e] = 0; param_1[0x1f] = 0; local_138 = &DAT_1821dbf98; local_180 = &DAT_1821dbf98; FUN_18134a080(param_1 + 0x20,&local_180,&local_138); puVar11 = (uint *)(local_180 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar12 = DAT_1821dbf88 - 1; UNLOCK(); bVar14 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar12; if (bVar14) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *(undefined4 *)(param_1 + 0x61) = 0x41c00000; local_1a8 = 0; lVar7 = __RTDynamicCast(param_1[0x1a],0,&ConfigOption::RTTI_Type_Descriptor, &Soothe2GainRangeScalingOption::RTTI_Type_Descriptor); param_1[0x62] = lVar7; puVar13 = *(undefined4 **)(lVar7 + 8); puVar2 = puVar13 + *(int *)(lVar7 + 0x14); do { if (puVar13 == puVar2) { plVar9 = param_1 + 0x20; uVar8 = (**(code **)(*(longlong *)param_1[0x1a] + 0x18))((longlong *)param_1[0x1a],local_130); FUN_181349c50(plVar9,uVar8,3); puVar11 = (uint *)(local_130[0] + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((((*(int *)(param_1 + 0x5d) == 0) && (*(int *)((longlong)param_1 + 0x2ec) == 0)) && (*(int *)(param_1 + 0x5e) == 0)) && (*(int *)((longlong)param_1 + 0x2f4) == 0)) { bVar14 = true; } else { bVar14 = false; } if (!bVar14) { param_1[0x5d] = 0; param_1[0x5e] = 0; uStack_14c = *(undefined4 *)((longlong)param_1 + 300); uStack_150 = *(undefined4 *)(param_1 + 0x25); uStack_f0 = param_1[0x25]; local_158 = 0; local_f8 = 0; FUN_181342870(plVar9,&local_f8,1); } if (*(int *)(param_1 + 0x58) != 0x21) { *(undefined4 *)(param_1 + 0x58) = 0x21; uStack_13c = *(undefined4 *)((longlong)param_1 + 300); uStack_140 = *(undefined4 *)(param_1 + 0x25); uStack_e0 = param_1[0x25]; local_148 = 0; local_e8 = 0; FUN_181342870(plVar9,&local_e8,1); } uVar8 = (**(code **)(*(longlong *)param_1[0x62] + 0x20))((longlong *)param_1[0x62],&local_88); uVar8 = (**(code **)(*(longlong *)param_1[0x62] + 0x38)) ((longlong *)param_1[0x62],local_168,uVar8); FUN_180568ed0(param_1,uVar8); puVar11 = (uint *)(local_168[0] + -2); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } (**(code **)(*local_88 + 0xb0))(local_88,local_80); (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(param_1,plVar9,0xffffffff); } local_d0[0] = *puVar13; local_d8 = &PTR_vftable_18262b570; (**(code **)(*(longlong *)param_1[0x62] + 0x38))((longlong *)param_1[0x62],&local_188,&local_d8) ; (**(code **)(*local_d8 + 0xb0))(local_d8,local_d0); uVar8 = FUN_1811316e0(0x398); local_100 = uVar8; FUN_18049c4e0(local_178,&DAT_18249336a); local_170 = local_188; if ((*(uint *)(local_188 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_188 + -0x10) = *(int *)(local_188 + -0x10) + 1; UNLOCK(); } plVar9 = (longlong *)FUN_18160ae50(uVar8,&local_170,local_178); (**(code **)(*plVar9 + 0x50))(plVar9,&local_188); if ((*(int *)((longlong)plVar9 + 0x194) != 1) && (*(undefined4 *)((longlong)plVar9 + 0x194) = 1, (char)plVar9[0x38] != '\0')) { FUN_181336f60(plVar9,1,1); } local_120 = *puVar13; pppuVar1 = (undefined ***)(plVar9 + 0x18); local_c8 = std::_Func_impl_no_alloc<,void>::vftable; local_c0 = CONCAT44(uStack_11c,local_120); local_40 = (longlong *)0x0; puStack_118 = param_1; puStack_b8 = param_1; local_90 = &local_c8; local_40 = (longlong *)(*(code *)PTR_FUN_1824b1a98)(&local_c8,local_78); if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); local_90 = (undefined ***)0x0; } pppuVar4 = (undefined ***)plVar9[0x1f]; if (pppuVar4 != (undefined ***)0x0) { if (pppuVar4 == pppuVar1) { local_90 = (undefined ***)(*(code *)(*pppuVar4)[1])(pppuVar4,&local_c8); pppuVar4 = (undefined ***)plVar9[0x1f]; if (pppuVar4 == (undefined ***)0x0) goto LAB_18056dbf6; (*(code *)(*pppuVar4)[4])(pppuVar4,pppuVar4 != pppuVar1); pppuVar4 = local_90; } local_90 = pppuVar4; plVar9[0x1f] = 0; } LAB_18056dbf6: FUN_180488560(pppuVar1,local_78); if (local_40 != (longlong *)0x0) { (**(code **)(*local_40 + 0x20))(local_40,local_40 != local_78); } if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); } iVar3 = *(int *)((longlong)param_1 + 0xfc); iVar5 = iVar3 + 1; if ((int)*(uint *)(param_1 + 0x1f) < iVar5) { if (iVar5 < 0) { iVar5 = iVar3 + 2; } uVar12 = iVar3 + 9 + (iVar5 >> 1) & 0xfffffff8; if (*(uint *)(param_1 + 0x1f) != uVar12) { pvVar10 = (void *)param_1[0x1e]; if ((int)uVar12 < 1) { /* WARNING: Subroutine does not return */ free(pvVar10); } if (pvVar10 == (void *)0x0) { pvVar10 = malloc((longlong)(int)uVar12 * 8); param_1[0x1e] = pvVar10; } else { pvVar10 = realloc(pvVar10,(longlong)(int)uVar12 * 8); param_1[0x1e] = pvVar10; } } *(uint *)(param_1 + 0x1f) = uVar12; } iVar5 = *(int *)((longlong)param_1 + 0xfc); *(int *)((longlong)param_1 + 0xfc) = iVar5 + 1; *(longlong **)(param_1[0x1e] + (longlong)iVar5 * 8) = plVar9; (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(param_1,plVar9,0xffffffff); puVar11 = (uint *)(local_188 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar13 = puVar13 + 1; } while( true ); } ############ FUN_ 18056b7e0 size=90 ############ undefined8 * FUN_18056b7e0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(800); uVar1 = FUN_18163edd0(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18163edd0 size=2154 ############ undefined8 * FUN_18163edd0(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { uint uVar1; longlong lVar2; code *pcVar3; undefined1 uVar4; undefined8 uVar5; undefined8 uVar6; undefined8 *puVar7; uint *puVar8; longlong *plVar9; longlong local_res20; undefined1 local_80 [8]; undefined1 local_78 [8]; longlong local_70; undefined1 local_68 [8]; undefined1 local_60 [8]; undefined1 local_58 [8]; undefined1 local_50 [8]; undefined1 local_48 [8]; undefined8 local_40; undefined8 local_38; local_38 = 0xfffffffffffffffe; puVar7 = param_1; FUN_1813ec2b0(); puVar7[0x20] = 0; *(undefined1 *)(puVar7 + 0x21) = 0; *puVar7 = LeftControls::vftable; puVar7[0x1f] = LeftControls::vftable; puVar7[0x22] = LeftControls::vftable; uVar4 = FUN_1813592b0(param_3); *(undefined1 *)(param_1 + 0x23) = uVar4; param_1[0x24] = param_2; param_1[0x25] = 0; param_1[0x26] = 0; param_1[0x27] = 0; param_1[0x28] = 0; param_1[0x29] = 0; param_1[0x2a] = 0; param_1[0x2b] = 0; param_1[0x2c] = 0; param_1[0x2d] = 0; param_1[0x2e] = 0; FUN_1815f84a0(param_1 + 0x2f); FUN_18049c4e0(&local_res20,"LeftControls"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,&local_res20); puVar8 = (uint *)(local_res20 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } *(undefined4 *)(param_1 + 0x1e) = 0x10100; uVar5 = FUN_1811316e0(0x128); FUN_18049c4e0(local_80,"STEREO"); uVar5 = FUN_18058fde0(uVar5,local_80,1); puVar7 = (undefined8 *)param_1[0x2a]; param_1[0x2a] = uVar5; if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } plVar9 = (longlong *)param_1[0x2a]; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(param_1,plVar9,0xffffffff); } uVar5 = FUN_1811316e0(0x128); FUN_18049c4e0(local_78,&DAT_1822fa8e4); uVar5 = FUN_18058fde0(uVar5,local_78,1); puVar7 = (undefined8 *)param_1[0x2b]; param_1[0x2b] = uVar5; if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } plVar9 = (longlong *)param_1[0x2b]; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(param_1,plVar9,0xffffffff); } uVar5 = FUN_1811316e0(0xc30); FUN_18049c4e0(&local_70,&DAT_1822fabe4); uVar6 = FUN_18119aa60(param_2,"stereo mode"); uVar5 = FUN_1815345c0(uVar5,&local_70,uVar6,param_1); puVar7 = (undefined8 *)param_1[0x2c]; param_1[0x2c] = uVar5; if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } puVar8 = (uint *)(local_70 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } lVar2 = param_1[0x2c]; plVar9 = (longlong *)(lVar2 + 0x810); pcVar3 = *(code **)(*plVar9 + 0x10); if (pcVar3 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { if ((*(uint *)(DAT_182674958 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_182674958 + -0x10) = *(int *)(DAT_182674958 + -0x10) + 1; UNLOCK(); } LOCK(); plVar9 = (longlong *)(lVar2 + 0x818); lVar2 = *plVar9; *plVar9 = DAT_182674958; UNLOCK(); puVar8 = (uint *)(lVar2 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } else { (*pcVar3)(plVar9,&DAT_182674958); } plVar9 = (longlong *)param_1[0x2c]; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(param_1,plVar9,0xffffffff); } uVar5 = FUN_1811316e0(0x870); FUN_18049c4e0(local_68,&DAT_1822fd694); uVar6 = FUN_18119aa60(param_2,"stereo link"); uVar5 = FUN_181550d40(uVar5,local_68,uVar6); puVar7 = (undefined8 *)param_1[0x2d]; param_1[0x2d] = uVar5; if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } lVar2 = param_1[0x2d]; plVar9 = (longlong *)(lVar2 + 0x840); pcVar3 = *(code **)(*plVar9 + 0x10); if (pcVar3 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { if ((*(uint *)(DAT_182674870 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_182674870 + -0x10) = *(int *)(DAT_182674870 + -0x10) + 1; UNLOCK(); } LOCK(); plVar9 = (longlong *)(lVar2 + 0x848); lVar2 = *plVar9; *plVar9 = DAT_182674870; UNLOCK(); puVar8 = (uint *)(lVar2 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } else { (*pcVar3)(plVar9,&DAT_182674870); } plVar9 = (longlong *)param_1[0x2d]; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(param_1,plVar9,0xffffffff); } uVar5 = FUN_1811316e0(0xa30); local_40 = uVar5; FUN_18049c4e0(local_60,"balance"); uVar6 = FUN_18119aa60(param_2,"stereo balance"); uVar5 = FUN_181567090(uVar5,local_60,uVar6,1,0); puVar7 = (undefined8 *)param_1[0x2e]; param_1[0x2e] = uVar5; if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } lVar2 = param_1[0x2e]; plVar9 = (longlong *)(lVar2 + 0x100); pcVar3 = *(code **)(*plVar9 + 0x10); if (pcVar3 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { if ((*(uint *)(DAT_182674860 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_182674860 + -0x10) = *(int *)(DAT_182674860 + -0x10) + 1; UNLOCK(); } LOCK(); plVar9 = (longlong *)(lVar2 + 0x108); lVar2 = *plVar9; *plVar9 = DAT_182674860; UNLOCK(); puVar8 = (uint *)(lVar2 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } else { (*pcVar3)(plVar9,&DAT_182674860); } lVar2 = param_1[0x2e]; *(undefined4 *)(lVar2 + 0xa04) = 1; *(undefined4 *)(lVar2 + 0xfc) = 0x3f800000; FUN_18134bf20(param_1,param_1[0x2e],0xffffffff); uVar5 = FUN_18119aa60(param_2,"stereo mode"); FUN_1811be290(uVar5,param_1 + 0x22); uVar5 = FUN_1811316e0(0xd0); uVar5 = FUN_18059c980(uVar5); puVar7 = (undefined8 *)param_1[0x25]; param_1[0x25] = uVar5; if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } FUN_18134bf20(param_1,param_1[0x25],0xffffffff); uVar5 = FUN_1811316e0(0x368); uVar6 = FUN_181199120(param_2,&DAT_1822fc344); uVar5 = FUN_18059d230(uVar5,uVar6); puVar7 = (undefined8 *)param_1[0x26]; param_1[0x26] = uVar5; if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } plVar9 = (longlong *)(param_1[0x26] + 200); pcVar3 = *(code **)(*plVar9 + 0x10); if (pcVar3 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { FUN_181249460(param_1[0x26] + 0xd0); } else { (*pcVar3)(plVar9,&DAT_182674938); } FUN_18134bf20(param_1,param_1[0x26],0xffffffff); uVar5 = FUN_1811316e0(0xa30); FUN_18049c4e0(local_58,"depth"); uVar6 = FUN_18119aa60(param_2,"depth"); uVar5 = FUN_181567090(uVar5,local_58,uVar6,1,0); puVar7 = (undefined8 *)param_1[0x27]; param_1[0x27] = uVar5; if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } plVar9 = (longlong *)(param_1[0x27] + 0x100); pcVar3 = *(code **)(*plVar9 + 0x10); if (pcVar3 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { FUN_181249460(param_1[0x27] + 0x108); } else { (*pcVar3)(plVar9,&DAT_182674838); } FUN_18134bf20(param_1,param_1[0x27],0xffffffff); uVar5 = FUN_1811316e0(0xa30); FUN_18049c4e0(local_50,"sharpness"); uVar6 = FUN_18119aa60(param_2,"sharpness"); uVar5 = FUN_181567090(uVar5,local_50,uVar6,0,0); puVar7 = (undefined8 *)param_1[0x28]; param_1[0x28] = uVar5; if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } plVar9 = (longlong *)(param_1[0x28] + 0x100); pcVar3 = *(code **)(*plVar9 + 0x10); if (pcVar3 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { FUN_181249460(param_1[0x28] + 0x108); } else { (*pcVar3)(plVar9,&DAT_1826748a0); } FUN_18134bf20(param_1,param_1[0x28],0xffffffff); uVar5 = FUN_1811316e0(0xa30); FUN_18049c4e0(local_48,"selectivity"); uVar6 = FUN_18119aa60(param_2,"selectivity"); uVar5 = FUN_181567090(uVar5,local_48,uVar6,0,0); puVar7 = (undefined8 *)param_1[0x29]; param_1[0x29] = uVar5; if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } plVar9 = (longlong *)(param_1[0x29] + 0x100); pcVar3 = *(code **)(*plVar9 + 0x10); if (pcVar3 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { FUN_181249460(param_1[0x29] + 0x108); } else { (*pcVar3)(plVar9,&DAT_182674920); } FUN_18134bf20(param_1,param_1[0x29],0xffffffff); return param_1; } ############ FUN_ 18058fde0 size=304 ############ undefined8 * FUN_18058fde0(undefined8 *param_1,longlong *param_2,undefined1 param_3) { uint uVar1; longlong lVar2; undefined8 *puVar3; undefined8 *puVar4; uint *_Memory; puVar4 = param_1; FUN_18056b680(); *puVar4 = Soothe2SectionHeader::vftable; puVar4[0x16] = Soothe2SectionHeader::vftable; lVar2 = *param_2; param_1[0x19] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[0x1a] = 0; param_1[0x1b] = 0; param_1[0x1c] = 0; param_1[0x1d] = 0; *(undefined1 *)(param_1 + 0x1e) = 1; *(undefined1 *)(param_1 + 0x1f) = param_3; param_1[0x20] = 0; param_1[0x21] = 0; *(undefined1 *)(param_1 + 0x22) = 0; param_1[0x23] = 0; param_1[0x24] = 0; if (param_1[0xd] == 0) { puVar3 = (undefined8 *)FUN_1811316e0(0x30); *puVar3 = juce::StandardCachedComponentImage::vftable; puVar3[1] = 0; puVar3[2] = 0; puVar3[3] = 0; puVar3[4] = param_1; *(undefined4 *)(puVar3 + 5) = 0x3f800000; puVar4 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar3; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 18059c980 size=476 ############ undefined8 * FUN_18059c980(undefined8 *param_1) { longlong *plVar1; uint uVar2; longlong lVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; uint *puVar7; longlong local_res10; longlong local_res18; void *local_res20; undefined8 *local_98; undefined8 local_90; longlong local_88 [2]; undefined2 local_78; undefined1 *local_70; undefined1 *local_68; undefined8 local_60; undefined8 local_58; undefined2 local_50; undefined8 local_48; local_90 = 0xfffffffffffffffe; puVar6 = param_1; FUN_18056b680(); *puVar6 = Soothe2Header::vftable; puVar6[0x16] = Soothe2Header::vftable; plVar1 = puVar6 + 0x19; *plVar1 = 0; FUN_18049c4e0(&local_res10,"header"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,&local_res10); puVar7 = (uint *)(local_res10 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_18049c4e0(&local_res18,&DAT_18238b470); local_88[0] = local_res18; puVar7 = (uint *)(local_res18 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); *puVar7 = *puVar7 + 1; UNLOCK(); } local_88[1] = 0; local_78 = 0; local_70 = &DAT_1821dbf98; local_68 = &DAT_1821dbf98; local_60 = 0; local_58 = 0; local_50 = 0x100; local_48 = 0; FUN_181248430(local_88,&local_res20); FUN_181248660(local_88); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } plVar4 = (longlong *)FUN_18132eac0(&local_98,local_res20); if (plVar1 != plVar4) { lVar3 = *plVar4; *plVar4 = 0; puVar6 = (undefined8 *)*plVar1; *plVar1 = lVar3; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } } if (local_98 != (undefined8 *)0x0) { (**(code **)*local_98)(local_98,1); } if (param_1[0xd] == 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x30); *puVar5 = juce::StandardCachedComponentImage::vftable; puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = param_1; *(undefined4 *)(puVar5 + 5) = 0x3f800000; puVar6 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar5; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } } if (local_res20 != (void *)0x0) { FUN_1812472e0(local_res20); /* WARNING: Subroutine does not return */ free(local_res20); } return param_1; } ############ FUN_ 18059d230 size=743 ############ undefined8 * FUN_18059d230(undefined8 *param_1,longlong param_2) { int *piVar1; uint uVar2; int iVar3; longlong lVar4; longlong *plVar5; undefined8 *puVar6; undefined8 uVar7; undefined8 *puVar8; uint *_Memory; longlong local_res10; undefined **local_60; undefined8 *local_58; undefined ***local_28; puVar8 = param_1; FUN_18056b680(); puVar8[0x19] = juce::SettableTooltipClient::vftable; puVar8[0x1a] = &DAT_1821dbf98; puVar8[0x1b] = ParameterFloat::Listener::vftable; puVar8[0x1c] = ParameterControllingComponent::vftable; FUN_18057f340(puVar8 + 0x1d,param_1); *param_1 = ModeSelector::vftable; param_1[0x16] = ModeSelector::vftable; param_1[0x19] = ModeSelector::vftable; param_1[0x1b] = ModeSelector::vftable; param_1[0x1c] = ModeSelector::vftable; param_1[99] = 0; param_1[100] = param_2; plVar5 = (longlong *)FUN_181249970(param_2 + 0x2c8,0); lVar4 = *plVar5; param_1[0x65] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } plVar5 = (longlong *)FUN_181249970(param_1[100] + 0x2c8,1); lVar4 = *plVar5; param_1[0x66] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } param_1[0x67] = 0; param_1[0x68] = 0; param_1[0x69] = 0; *(undefined1 *)((longlong)param_1 + 0x354) = 0; *(undefined4 *)(param_1 + 0x6b) = 0x43c80000; *(undefined4 *)((longlong)param_1 + 0x35c) = 0x40400000; *(undefined4 *)(param_1 + 0x6c) = 0x42f00000; *(undefined4 *)((longlong)param_1 + 0x364) = 0x3f800000; FUN_18049c4e0(&local_res10,"mode-selector"); if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } LOCK(); lVar4 = param_1[2]; param_1[2] = local_res10; UNLOCK(); _Memory = (uint *)(lVar4 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_res10 + -0x10); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_res10 + -0x10)); } } if (param_1[0xd] == 0) { puVar6 = (undefined8 *)FUN_1811316e0(0x30); *puVar6 = juce::StandardCachedComponentImage::vftable; puVar6[1] = 0; puVar6[2] = 0; puVar6[3] = 0; puVar6[4] = param_1; *(undefined4 *)(puVar6 + 5) = 0x3f800000; puVar8 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar6; if (puVar8 != (undefined8 *)0x0) { (**(code **)*puVar8)(puVar8,1); } } local_res10 = FUN_1811316e0(0x1a0); uVar7 = FUN_181411e40(local_res10,DAT_1824c44dc,DAT_1824c3d8c,DAT_1824c44bc); puVar8 = (undefined8 *)param_1[99]; param_1[99] = uVar7; if (puVar8 != (undefined8 *)0x0) { (**(code **)*puVar8)(puVar8,1); } local_60 = std:: _Func_impl_no_alloc<,void,int,juce::Colour>:: vftable; local_28 = &local_60; local_58 = param_1; FUN_181407070(param_1[99],&local_60); FUN_1811be290(param_1[100],param_1 + 0x1b); return param_1; } ############ FUN_ 180585b20 size=660 ############ undefined8 * FUN_180585b20(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { longlong *plVar1; undefined1 **ppuVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; undefined1 *local_res18; undefined1 *local_res20; undefined **local_60; undefined8 *local_58; undefined ***local_28; puVar4 = param_1; FUN_1813453e0(param_1,param_2,param_3,param_4,0xfffffffffffffffe); puVar4[0x17] = 0; *puVar4 = Styled::vftable; puVar4[0x16] = Styled::vftable; *(undefined1 *)(puVar4 + 0x18) = 0; local_60 = std::_Func_impl_no_alloc<,juce::Path*___ptr64> ::vftable; local_28 = &local_60; local_58 = puVar4; FUN_18057f2a0(puVar4 + 0x19,param_1,&local_60); *param_1 = CloudyBoxLayout_>::vftable; param_1[0x16] = CloudyBoxLayout_>::vftable; *(undefined4 *)(param_1 + 0x5f) = 0x40400000; *(undefined4 *)((longlong)param_1 + 0x2fc) = 0x3f170a3d; *(undefined4 *)(param_1 + 0x60) = 0x3ef0a3d7; *(undefined4 *)((longlong)param_1 + 0x304) = 0x3f4ccccd; *(undefined4 *)(param_1 + 0x61) = 0x3f4ccccd; *(undefined4 *)((longlong)param_1 + 0x30c) = 0x3f4ccccd; *(undefined4 *)(param_1 + 0x62) = 0x3f2b851f; *(undefined4 *)((longlong)param_1 + 0x314) = 0x3f800000; *(undefined4 *)(param_1 + 99) = 0x3f800000; *(undefined2 *)((longlong)param_1 + 0x31c) = 0x100; param_1[100] = 0; param_1[0x65] = 0; param_1[0x66] = 0; param_1[0x67] = 0; *(undefined4 *)(param_1 + 0x68) = 1; FUN_181252d20(param_1 + 0x69); FUN_181252d20(param_1 + 0x6a); local_res18 = &DAT_1821dbf98; local_res20 = &DAT_1821dbf98; plVar1 = param_1 + 0x6b; FUN_1815d7db0(plVar1,&local_res20,&local_res18); *(undefined4 *)(param_1 + 0xff) = 0; ppuVar2 = (undefined1 **)(param_1 + 0x100); *ppuVar2 = (undefined1 *)0x0; local_res18 = (undefined1 *)FUN_1811316e0(0x1a0); puVar4 = (undefined8 *)FUN_181411e40(local_res18,DAT_1824c4540,DAT_1824c3d8c,DAT_1824c44bc); if (ppuVar2 == &local_res18) { if (puVar4 == (undefined8 *)0x0) goto LAB_180585d03; puVar5 = (undefined8 *)*puVar4; } else { puVar3 = (undefined8 *)*ppuVar2; *ppuVar2 = (undefined1 *)puVar4; if (puVar3 == (undefined8 *)0x0) goto LAB_180585d03; puVar5 = (undefined8 *)*puVar3; puVar4 = puVar3; } (*(code *)*puVar5)(puVar4,1); LAB_180585d03: local_60 = std:: _Func_impl_no_alloc<,void,int,juce::Colour>:: vftable; local_28 = &local_60; local_58 = param_1; FUN_181407070(*ppuVar2,&local_60); if (param_1[0xd] == 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x30); *puVar5 = juce::StandardCachedComponentImage::vftable; puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = param_1; *(undefined4 *)(puVar5 + 5) = 0x3f800000; puVar4 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar5; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); *(byte *)(param_1 + 0x80) = *(byte *)(param_1 + 0x80) & 0xef | 8; return param_1; } ############ FUN_ 1805857c0 size=642 ############ undefined8 * FUN_1805857c0(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,undefined4 *param_4) { longlong *plVar1; undefined1 **ppuVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; undefined1 *local_68; undefined1 *local_60; undefined8 local_58; undefined **local_50; undefined8 *local_48; undefined ***local_18; local_58 = 0xfffffffffffffffe; FUN_1815aa800(param_1,param_2,*param_3,*param_4); local_50 = std::_Func_impl_no_alloc<,juce::Path*___ptr64> ::vftable; local_18 = &local_50; local_48 = param_1; FUN_18057f2a0(param_1 + 0x20,param_1,&local_50); *param_1 = CloudyBoxLayout::vftable; param_1[0x16] = CloudyBoxLayout::vftable; param_1[0x19] = CloudyBoxLayout::vftable; *(undefined4 *)(param_1 + 0x66) = 0x40400000; *(undefined4 *)((longlong)param_1 + 0x334) = 0x3f170a3d; *(undefined4 *)(param_1 + 0x67) = 0x3ef0a3d7; *(undefined4 *)((longlong)param_1 + 0x33c) = 0x3f4ccccd; *(undefined4 *)(param_1 + 0x68) = 0x3f4ccccd; *(undefined4 *)((longlong)param_1 + 0x344) = 0x3f4ccccd; *(undefined4 *)(param_1 + 0x69) = 0x3f2b851f; *(undefined4 *)((longlong)param_1 + 0x34c) = 0x3f800000; *(undefined4 *)(param_1 + 0x6a) = 0x3f800000; *(undefined2 *)((longlong)param_1 + 0x354) = 0x100; param_1[0x6b] = 0; param_1[0x6c] = 0; param_1[0x6d] = 0; param_1[0x6e] = 0; *(undefined4 *)(param_1 + 0x6f) = 1; FUN_181252d20(param_1 + 0x70); FUN_181252d20(param_1 + 0x71); local_68 = &DAT_1821dbf98; local_60 = &DAT_1821dbf98; plVar1 = param_1 + 0x72; FUN_1815d7db0(plVar1,&local_60,&local_68); *(undefined4 *)(param_1 + 0x106) = 0; ppuVar2 = (undefined1 **)(param_1 + 0x107); *ppuVar2 = (undefined1 *)0x0; local_60 = (undefined1 *)FUN_1811316e0(0x1a0); puVar4 = (undefined8 *)FUN_181411e40(local_60,DAT_1824c4540,DAT_1824c3d8c,DAT_1824c44bc); if (ppuVar2 == &local_60) { if (puVar4 == (undefined8 *)0x0) goto LAB_180585988; puVar5 = (undefined8 *)*puVar4; } else { puVar3 = (undefined8 *)*ppuVar2; *ppuVar2 = (undefined1 *)puVar4; if (puVar3 == (undefined8 *)0x0) goto LAB_180585988; puVar5 = (undefined8 *)*puVar3; puVar4 = puVar3; } (*(code *)*puVar5)(puVar4,1); LAB_180585988: local_50 = std:: _Func_impl_no_alloc<,void,int,juce::Colour>:: vftable; local_18 = &local_50; local_48 = param_1; FUN_181407070(*ppuVar2,&local_50); if (param_1[0xd] == 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x30); *puVar5 = juce::StandardCachedComponentImage::vftable; puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = param_1; *(undefined4 *)(puVar5 + 5) = 0x3f800000; puVar4 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar5; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); *(byte *)(param_1 + 0x87) = *(byte *)(param_1 + 0x87) & 0xef | 8; return param_1; } ############ FUN_ 18056b840 size=90 ############ undefined8 * FUN_18056b840(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x130); uVar1 = FUN_181637840(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18056b8a0 size=98 ############ undefined8 * FUN_18056b8a0(undefined8 *param_1,undefined8 param_2,undefined4 *param_3,undefined8 param_4) { undefined8 uVar1; undefined8 local_res10 [3]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res10[0] = param_2; uVar1 = FUN_1811316e0(0xf8); FUN_18049c4e0(local_res10,"graphAndToolbarContainer"); uVar1 = FUN_181413ea0(uVar1,local_res10,*param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18056b910 size=151 ############ undefined8 * FUN_18056b910(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined1 *param_7) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x6d0); uVar1 = FUN_1816140c0(uVar1,param_2,param_3,param_4,param_5,param_6,*param_7); *param_1 = uVar1; return param_1; } ############ FUN_ 1816140c0 size=4214 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1816140c0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined4 *param_5,undefined4 *param_6,char param_7) { ulonglong *puVar1; undefined4 uVar2; int iVar3; undefined4 uVar4; undefined4 uVar5; undefined4 uVar6; char *pcVar7; undefined8 uVar8; undefined4 *puVar9; longlong lVar10; longlong lVar11; undefined8 uVar12; undefined8 uVar13; undefined8 uVar14; undefined8 uVar15; undefined8 *puVar16; ulonglong uVar17; void *pvVar18; uint *puVar19; longlong *plVar20; ulonglong uVar21; uint uVar22; longlong *plVar23; ulonglong uVar24; ulonglong uVar25; char *_Dst; undefined1 auStack_2a8 [32]; undefined8 local_288; undefined8 local_280; undefined8 local_278; undefined8 local_270; uint local_268; uint *local_260; undefined4 local_258; undefined4 local_254; undefined4 local_250; undefined4 local_24c; char *local_248; char *local_240; char *local_238; undefined4 *local_230; int local_228; char *local_220; char *local_218; char *local_210; char *local_208; char *local_200; char *local_1f8; undefined1 *local_1f0; undefined4 *local_1e8; undefined8 local_1e0; undefined8 local_1d8; undefined1 local_1d0 [8]; undefined4 *local_1c8; undefined8 *local_1c0; undefined8 *local_1b8; char *local_1b0; undefined4 *local_1a8; undefined8 *local_1a0; undefined4 *local_198; undefined1 local_190 [8]; undefined4 *local_188; void *local_180; undefined1 local_178 [8]; undefined1 local_170 [8]; undefined1 local_168 [8]; undefined1 local_160 [8]; char *local_158; char *local_150; undefined8 local_148; undefined8 local_140; longlong local_138; uint *local_130; uint *local_128; uint *local_120; uint *local_118; uint *local_110; undefined8 local_108; undefined1 local_100 [8]; char *local_f8; char *local_f0; char *local_e8; undefined8 local_e0; undefined8 local_d8; char *local_d0; char **local_c8; char **local_c0; char **local_b8; char **local_b0; char **local_a8; char **local_a0; char *local_98; undefined8 local_90; undefined8 local_88; undefined8 *local_80; undefined1 local_59; ulonglong local_58 [3]; local_88 = 0xfffffffffffffffe; local_58[0] = DAT_182615970 ^ (ulonglong)auStack_2a8; local_268 = 0; local_1e0 = param_2; local_1b8 = param_1; local_e0 = param_3; local_80 = param_1; FUN_18158ea10(); param_1[0x62] = 0; *(undefined1 *)(param_1 + 99) = 0; *param_1 = Soothe2XYSliderArea::vftable; param_1[0x16] = Soothe2XYSliderArea::vftable; param_1[0x17] = Soothe2XYSliderArea::vftable; param_1[0x18] = Soothe2XYSliderArea::vftable; param_1[0x19] = Soothe2XYSliderArea::vftable; param_1[0x61] = Soothe2XYSliderArea::vftable; param_1[100] = Soothe2XYSliderArea::vftable; param_1[0x65] = Soothe2XYSliderArea::vftable; puVar16 = param_1 + 0x66; FUN_181600080(puVar16,param_1,param_2); uVar8 = FUN_1811f0330(param_3); param_1[0xce] = uVar8; *(undefined4 *)(param_1 + 0xcf) = 0xffffffff; FUN_1811e4250(param_1 + 0xd0,param_3); FUN_1811e4f60(param_1 + 0xd3,param_3); param_1[0xd6] = 0; param_1[0xd7] = 0; param_1[0xd8] = 0; param_1[0xd9] = 0; puVar9 = (undefined4 *)FUN_1811316e0(0x2a0); local_1f0 = local_168; local_230 = puVar9; FUN_18049c4e0(local_168,"enabled"); FUN_18049c4e0(local_178,"on/off"); lVar10 = FUN_181601d30(puVar9,local_178,local_168); lVar11 = lVar10 + 0x1e0; if (lVar10 == 0) { lVar11 = 0; } FUN_1815eeb30(puVar16,lVar11,*(undefined4 *)((longlong)param_1 + 0x5ec)); puVar9 = (undefined4 *)FUN_1811316e0(0x2a0); local_1f0 = local_160; local_230 = puVar9; FUN_18049c4e0(local_160,"listen"); FUN_18049c4e0(local_170,"listen"); lVar10 = FUN_181601d30(puVar9,local_170,local_160); lVar11 = lVar10 + 0x1e0; if (lVar10 == 0) { lVar11 = 0; } FUN_1815eeb30(puVar16,lVar11,*(undefined4 *)((longlong)param_1 + 0x5ec)); FUN_1815fe840(puVar16,param_1 + 100); FUN_181344f60(param_1,1); local_250 = CONCAT13(0x54,(int3)DAT_18262bb7c); lVar11 = FUN_18119aa60(param_1[0xce],"band solo on"); uVar8 = FUN_18119aa60(param_1[0xce],"band0 mode"); uVar12 = FUN_18119aa60(param_1[0xce],"band0 on"); uVar13 = FUN_18119aa60(param_1[0xce],"band0 balance"); uVar14 = FUN_18119aa60(param_1[0xce],"band0 q"); uVar15 = FUN_18119aa60(param_1[0xce],"band0 freq"); local_1c0 = (undefined8 *)FUN_1811316e0(); local_1c0[7] = 0; *(undefined4 *)(local_1c0 + 7) = 0; local_268 = 6; *local_1c0 = uVar15; local_1c0[1] = 0; local_1c0[2] = uVar14; local_1c0[3] = uVar13; local_1c0[4] = uVar12; local_1c0[5] = uVar8; local_1c0[6] = lVar11; if (lVar11 != 0) { *(undefined4 *)(local_1c0 + 7) = 1; } local_230 = (undefined4 *)FUN_1811316e0(0x28); uVar4 = param_5[1]; uVar5 = param_5[2]; uVar6 = param_5[3]; uVar8 = *(undefined8 *)(param_5 + 4); uVar2 = *param_6; *local_230 = *param_5; local_230[1] = uVar4; local_230[2] = uVar5; local_230[3] = uVar6; *(undefined8 *)(local_230 + 4) = uVar8; local_230[6] = uVar2; local_230[7] = local_250; *(undefined1 *)(local_230 + 8) = 1; local_1c8 = local_230; puVar9 = (undefined4 *)FUN_1811316e0(0x100); local_230 = puVar9; FUN_18049c4e0(local_1d0,"eq node 0"); uVar8 = FUN_181595b30(puVar9,local_1d0,&local_1c0,&local_1c8); FUN_18157f7a0(param_1,uVar8); if (local_1c8 != (undefined4 *)0x0) { /* WARNING: Subroutine does not return */ free(local_1c8); } if (local_1c0 != (undefined8 *)0x0) { /* WARNING: Subroutine does not return */ free(local_1c0); } puVar9 = (undefined4 *)FUN_1811316e0(0x2c0); local_258 = 0xffc8dceb; local_230 = puVar9; uVar8 = FUN_18119aa60(param_1[0xce],"band0 mode"); local_288 = (ulonglong)local_288._4_4_ << 0x20; uVar8 = __RTDynamicCast(uVar8,0,&ParameterFloat::RTTI_Type_Descriptor, &ParameterChoice::RTTI_Type_Descriptor); local_280 = CONCAT44(local_280._4_4_,local_258); local_108 = FUN_1814fee80(puVar9,uVar8,&DAT_182673f90,local_1e0); if (param_1[0xd8] == param_1[0xd7]) { FUN_1804803a0(param_1 + 0xd6,param_1[0xd7],&local_108); } else { *(undefined8 *)param_1[0xd7] = local_108; param_1[0xd7] = param_1[0xd7] + 8; } local_228 = 1; local_c8 = &local_240; local_c0 = &local_220; local_b8 = &local_218; local_b0 = &local_210; local_a8 = &local_208; local_a0 = &local_200; local_254 = 0xffc8dceb; local_198 = param_6 + 1; do { lVar11 = FUN_181233e10(local_58,local_228); FUN_180495150(&local_1f8,lVar11,&local_59 + -lVar11); FUN_18049c4e0(&local_238,&DAT_1822cf694); pcVar7 = local_238; if (*local_238 == '\0') { if ((*(uint *)(local_1f8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1f8 + -0x10) = *(int *)(local_1f8 + -0x10) + 1; UNLOCK(); } LOCK(); local_238 = local_1f8; UNLOCK(); puVar19 = (uint *)(pcVar7 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } } else { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_1f8[lVar11] != '\0'); local_98 = local_1f8 + lVar11; FUN_181232e20(&local_238); } pcVar7 = local_238; local_248 = local_238; if ((*(uint *)(local_238 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_238 + -0x10) = *(int *)(local_238 + -0x10) + 1; UNLOCK(); } local_268 = local_268 | 8; puVar19 = (uint *)(local_238 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } local_240 = local_238; if ((*(uint *)(local_238 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_238 + -0x10) = *(int *)(local_238 + -0x10) + 1; UNLOCK(); } lVar11 = -1; do { lVar10 = lVar11; lVar11 = lVar10 + 1; } while (local_238[lVar11] != '\0'); FUN_1812342b0(&local_240,lVar10 + 6); _Dst = local_240 + (int)lVar11; memcpy(_Dst," mode",5); _Dst[5] = '\0'; local_f8 = local_240; local_260 = (uint *)(local_240 + -0x10); if ((*local_260 & 0x30000000) == 0) { LOCK(); *local_260 = *local_260 + 1; UNLOCK(); } local_268 = local_268 | 0x10; puVar19 = (uint *)(local_240 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } local_220 = local_248; if ((*(uint *)(pcVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar7 + -0x10) = *(int *)(pcVar7 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_220,&DAT_182217fe4,&DAT_182217fe7); local_f0 = local_220; local_110 = (uint *)(local_220 + -0x10); if ((*local_110 & 0x30000000) == 0) { LOCK(); *local_110 = *local_110 + 1; UNLOCK(); } local_268 = local_268 | 0x20; puVar19 = (uint *)(local_220 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } local_218 = local_248; if ((*(uint *)(pcVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar7 + -0x10) = *(int *)(pcVar7 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_218," balance",""); local_e8 = local_218; local_118 = (uint *)(local_218 + -0x10); if ((*local_118 & 0x30000000) == 0) { LOCK(); *local_118 = *local_118 + 1; UNLOCK(); } local_268 = local_268 | 0x40; puVar19 = (uint *)(local_218 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } local_210 = local_248; if ((*(uint *)(pcVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar7 + -0x10) = *(int *)(pcVar7 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_210,&DAT_1822178c4,&DAT_1822178c6); local_d0 = local_210; local_120 = (uint *)(local_210 + -0x10); if ((*local_120 & 0x30000000) == 0) { LOCK(); *local_120 = *local_120 + 1; UNLOCK(); } local_268 = local_268 | 0x80; puVar19 = (uint *)(local_210 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } local_208 = local_248; if ((*(uint *)(pcVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar7 + -0x10) = *(int *)(pcVar7 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_208," sens",""); local_158 = local_208; local_128 = (uint *)(local_208 + -0x10); if ((*local_128 & 0x30000000) == 0) { LOCK(); *local_128 = *local_128 + 1; UNLOCK(); } local_268 = local_268 | 0x100; puVar19 = (uint *)(local_208 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } local_200 = local_248; if ((*(uint *)(pcVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar7 + -0x10) = *(int *)(pcVar7 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_200,&DAT_1822cf044,&DAT_1822cf049); local_150 = local_200; local_130 = (uint *)(local_200 + -0x10); if ((*local_130 & 0x30000000) == 0) { LOCK(); *local_130 = *local_130 + 1; UNLOCK(); } local_268 = local_268 | 0x200; puVar19 = (uint *)(local_200 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } local_138 = FUN_18119aa60(param_1[0xce],"band solo on"); local_140 = FUN_18119aa60(param_1[0xce],local_f8); local_148 = FUN_18119aa60(param_1[0xce],local_f0); uVar8 = FUN_18119aa60(param_1[0xce],local_e8); puVar16 = local_1b8; uVar12 = FUN_18119aa60(local_1b8[0xce],local_d0); uVar13 = FUN_18119aa60(puVar16[0xce],local_158); uVar14 = FUN_18119aa60(puVar16[0xce],local_150); local_1a0 = (undefined8 *)FUN_1811316e0(0x40); local_1a0[7] = 0; *(undefined4 *)(local_1a0 + 7) = 0; local_268 = local_268 | 0xc00; *local_1a0 = uVar14; local_1a0[1] = uVar13; local_1a0[2] = uVar12; local_1a0[3] = uVar8; local_1a0[4] = local_148; local_1a0[5] = local_140; local_1a0[6] = local_138; if (local_138 != 0) { *(undefined4 *)(local_1a0 + 7) = 1; } if ((*local_130 & 0x30000000) == 0) { LOCK(); uVar22 = *local_130; *local_130 = *local_130 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(local_130); } } if ((*local_128 & 0x30000000) == 0) { LOCK(); uVar22 = *local_128; *local_128 = *local_128 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(local_128); } } if ((*local_120 & 0x30000000) == 0) { LOCK(); uVar22 = *local_120; *local_120 = *local_120 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(local_120); } } if ((*local_118 & 0x30000000) == 0) { LOCK(); uVar22 = *local_118; *local_118 = *local_118 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(local_118); } } if ((*local_110 & 0x30000000) == 0) { LOCK(); uVar22 = *local_110; *local_110 = *local_110 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(local_110); } } if ((*local_260 & 0x30000000) == 0) { LOCK(); uVar22 = *local_260; *local_260 = *local_260 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(local_260); } } local_260 = (uint *)FUN_1811316e0(0x28); puVar9 = local_198; uVar4 = param_5[1]; uVar5 = param_5[2]; uVar6 = param_5[3]; uVar8 = *(undefined8 *)(param_5 + 4); uVar2 = *local_198; *local_260 = *param_5; local_260[1] = uVar4; local_260[2] = uVar5; local_260[3] = uVar6; *(undefined8 *)(local_260 + 4) = uVar8; local_260[6] = uVar2; local_260[7] = local_250; *(undefined1 *)(local_260 + 8) = 0; local_1a8 = local_260; uVar8 = FUN_1811316e0(0x100); local_90 = uVar8; uVar12 = FUN_181246550(local_100,"eq node ",&local_1f8); uVar8 = FUN_181595b30(uVar8,uVar12,&local_1a0,&local_1a8); param_1 = local_1b8; FUN_18157f7a0(local_1b8,uVar8); uVar8 = FUN_1811316e0(0x2c0); local_1b0 = local_248; if ((*(uint *)(pcVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar7 + -0x10) = *(int *)(pcVar7 + -0x10) + 1; UNLOCK(); } local_d8 = uVar8; puVar16 = (undefined8 *)FUN_1812465e0(&local_1f0,&local_1b0," mode"); uVar22 = local_268; local_268 = local_268 | 1; local_1e8 = (undefined4 *)*puVar16; uVar12 = FUN_18119aa60(param_1[0xce]); local_288 = local_288 & 0xffffffff00000000; uVar12 = __RTDynamicCast(uVar12,0,&ParameterFloat::RTTI_Type_Descriptor, &ParameterChoice::RTTI_Type_Descriptor); local_280 = CONCAT44(local_280._4_4_,local_254); local_1d8 = FUN_1814fee80(uVar8,uVar12,&DAT_182673f68,local_1e0); puVar1 = param_1 + 0xd6; if (param_1[0xd8] == param_1[0xd7]) { FUN_1804803a0(puVar1,param_1[0xd7],&local_1d8); } else { *(undefined8 *)param_1[0xd7] = local_1d8; param_1[0xd7] = param_1[0xd7] + 8; } local_268 = uVar22 & 0xfffffffe; FUN_180495200(local_1f0); if (local_1a8 != (undefined4 *)0x0) { /* WARNING: Subroutine does not return */ free(local_1a8); } if (local_1a0 != (undefined8 *)0x0) { /* WARNING: Subroutine does not return */ free(local_1a0); } FUN_180495200(local_248); FUN_180495200(local_1f8); local_228 = local_228 + 1; local_198 = puVar9 + 1; } while (local_228 < 5); uVar8 = FUN_18119aa60(param_1[0xce],"band solo on"); uVar12 = FUN_18119aa60(param_1[0xce],"band5 mode"); uVar13 = FUN_18119aa60(param_1[0xce],"band5 on"); uVar17 = FUN_18119aa60(param_1[0xce],"band5 balance"); uVar14 = FUN_18119aa60(param_1[0xce],"band5 q"); uVar15 = FUN_18119aa60(param_1[0xce],"band5 freq"); local_288 = uVar17; local_280 = uVar13; local_278 = uVar12; local_270 = uVar8; FUN_18058eb30(&local_180,uVar15,0,uVar14); local_1e8 = (undefined4 *)FUN_1811316e0(0x28); uVar4 = param_5[1]; uVar5 = param_5[2]; uVar6 = param_5[3]; uVar8 = *(undefined8 *)(param_5 + 4); uVar2 = param_6[5]; *local_1e8 = *param_5; local_1e8[1] = uVar4; local_1e8[2] = uVar5; local_1e8[3] = uVar6; *(undefined8 *)(local_1e8 + 4) = uVar8; local_1e8[6] = uVar2; local_1e8[7] = local_250; *(undefined1 *)(local_1e8 + 8) = 1; local_188 = local_1e8; uVar8 = FUN_1811316e0(0x100); local_1e8 = (undefined4 *)uVar8; FUN_18049c4e0(local_190,"eq node 5"); uVar8 = FUN_181595b30(uVar8,local_190,&local_180,&local_188); FUN_18157f7a0(param_1,uVar8); if (local_188 != (undefined4 *)0x0) { /* WARNING: Subroutine does not return */ free(local_188); } if (local_180 == (void *)0x0) { uVar8 = FUN_1811316e0(0x2c0); local_24c = 0xffc8dceb; local_1e8 = (undefined4 *)uVar8; uVar12 = FUN_18119aa60(param_1[0xce],"band5 mode"); uVar17 = 0; local_288 = local_288 & 0xffffffff00000000; uVar12 = __RTDynamicCast(uVar12,0,&ParameterFloat::RTTI_Type_Descriptor, &ParameterChoice::RTTI_Type_Descriptor); local_280 = CONCAT44(local_280._4_4_,local_24c); local_230 = (undefined4 *)FUN_1814fee80(uVar8,uVar12,&DAT_182673f50,local_1e0); if (param_1[0xd8] == param_1[0xd7]) { FUN_1804803a0(puVar1,param_1[0xd7],&local_230); } else { *(undefined4 **)param_1[0xd7] = local_230; param_1[0xd7] = param_1[0xd7] + 8; } plVar23 = (longlong *)*puVar1; uVar25 = (param_1[0xd7] - (longlong)plVar23) + 7U >> 3; if ((longlong *)param_1[0xd7] < plVar23) { uVar25 = uVar17; } uVar24 = uVar17; if (uVar25 != 0) { do { uVar21 = *plVar23 + 0x1e0; if (*plVar23 == 0) { uVar21 = uVar17; } FUN_1815eeb30(param_1 + 0x66,uVar21,*(undefined4 *)((longlong)param_1 + 0x5ec)); plVar23 = plVar23 + 1; uVar24 = uVar24 + 1; } while (uVar24 != uVar25); } if (param_7 == '\0') { uVar8 = FUN_1811316e0(0x2e8); local_1e8 = (undefined4 *)uVar8; uVar12 = FUN_1811f0330(local_e0); uVar8 = FUN_1816116b0(uVar8,uVar12); puVar16 = (undefined8 *)param_1[0xd9]; param_1[0xd9] = uVar8; if (puVar16 != (undefined8 *)0x0) { (**(code **)*puVar16)(puVar16,1); } FUN_18134bf20(param_1,param_1[0xd9],0xffffffff); } if (param_1 != (undefined8 *)0xfffffffffffffcd8) { plVar23 = (longlong *)param_1[0x1a]; iVar3 = *(int *)((longlong)param_1 + 0xdc); for (plVar20 = plVar23; plVar20 != plVar23 + iVar3; plVar20 = plVar20 + 1) { if (param_1 + 0x65 == (undefined8 *)*plVar20) { } } if ((int)*(uint *)(param_1 + 0x1b) < iVar3 + 1) { uVar22 = iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8; if (*(uint *)(param_1 + 0x1b) != uVar22) { if ((int)uVar22 < 1) { /* WARNING: Subroutine does not return */ free(plVar23); } if (plVar23 == (longlong *)0x0) { pvVar18 = malloc((longlong)(int)uVar22 * 8); param_1[0x1a] = pvVar18; } else { pvVar18 = realloc(plVar23,(longlong)(int)uVar22 * 8); param_1[0x1a] = pvVar18; } } *(uint *)(param_1 + 0x1b) = uVar22; } iVar3 = *(int *)((longlong)param_1 + 0xdc); *(int *)((longlong)param_1 + 0xdc) = iVar3 + 1; *(undefined8 **)(param_1[0x1a] + (longlong)iVar3 * 8) = param_1 + 0x65; } } /* WARNING: Subroutine does not return */ free(local_180); } ############ FUN_ 18058eb30 size=184 ############ longlong * FUN_18058eb30(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7,longlong param_8) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(); puVar1[7] = 0; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; puVar1[4] = 0; puVar1[5] = 0; puVar1[6] = 0; *(undefined4 *)(puVar1 + 7) = 0; *param_1 = (longlong)puVar1; *puVar1 = param_2; *(undefined8 *)(*param_1 + 8) = param_3; *(undefined8 *)(*param_1 + 0x10) = param_4; *(undefined8 *)(*param_1 + 0x18) = param_5; *(undefined8 *)(*param_1 + 0x20) = param_6; *(undefined8 *)(*param_1 + 0x28) = param_7; *(longlong *)(*param_1 + 0x30) = param_8; if (param_8 != 0) { *(undefined4 *)(*param_1 + 0x38) = 1; } return param_1; } ############ FUN_ 1814fee80 size=786 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814fee80(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4, undefined8 param_5,undefined4 param_6) { undefined1 **ppuVar1; undefined1 **ppuVar2; undefined8 *puVar3; undefined1 *puVar4; undefined ***pppuVar5; longlong *plVar6; undefined8 *puVar7; undefined8 *puVar8; undefined ***pppuVar9; undefined1 auStack_138 [32]; undefined1 local_118 [8]; undefined1 *local_110; undefined1 local_108 [8]; undefined8 local_100; undefined8 uStack_f8; undefined8 local_f0; undefined8 local_e8; undefined8 *local_e0; undefined8 *local_d8; undefined **local_c8; undefined8 *local_c0; undefined ***local_90; longlong local_88 [7]; longlong *local_50; ulonglong local_48; local_e8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_138; local_d8 = &local_100; local_110 = local_118; local_100 = 0; uStack_f8 = 0; local_f0 = 0; local_e0 = param_1; FUN_18049c4e0(local_118,"bandMode"); FUN_18049c4e0(local_108,"bandMode"); FUN_181601a20(param_1,local_108,local_118,&local_100); *param_1 = BandModePopupMenuItem::vftable; param_1[0x16] = BandModePopupMenuItem::vftable; param_1[0x39] = BandModePopupMenuItem::vftable; param_1[0x3c] = BandModePopupMenuItem::vftable; param_1[0x40] = BandModePopupMenuItem::vftable; ppuVar1 = (undefined1 **)(param_1 + 0x54); *ppuVar1 = (undefined1 *)0x0; ppuVar2 = (undefined1 **)(param_1 + 0x55); *ppuVar2 = (undefined1 *)0x0; *(int *)(param_1 + 0x56) = (int)(param_3[1] - *param_3 >> 2); *(undefined4 *)((longlong)param_1 + 0x2b4) = 0x3f800000; *(undefined4 *)(param_1 + 0x57) = param_6; local_110 = (undefined1 *)FUN_1811316e0(0xf8); puVar7 = (undefined8 *)FUN_1813ec2b0(local_110); if (ppuVar1 == &local_110) { if (puVar7 != (undefined8 *)0x0) { puVar8 = (undefined8 *)*puVar7; goto LAB_1814fefe2; } } else { puVar3 = (undefined8 *)*ppuVar1; *ppuVar1 = (undefined1 *)puVar7; if (puVar3 != (undefined8 *)0x0) { puVar8 = (undefined8 *)*puVar3; puVar7 = puVar3; LAB_1814fefe2: (*(code *)*puVar8)(puVar7,1); } } local_110 = (undefined1 *)FUN_1811316e0(0x168); puVar7 = (undefined8 *)FUN_1815073e0(local_110,param_2,param_3,param_4); if (ppuVar2 == &local_110) { if (puVar7 != (undefined8 *)0x0) { puVar8 = (undefined8 *)*puVar7; goto LAB_1814ff031; } } else { puVar3 = (undefined8 *)*ppuVar2; *ppuVar2 = (undefined1 *)puVar7; if (puVar3 != (undefined8 *)0x0) { puVar8 = (undefined8 *)*puVar3; puVar7 = puVar3; LAB_1814ff031: (*(code *)*puVar8)(puVar7,1); } } puVar4 = *ppuVar2; pppuVar9 = (undefined ***)(puVar4 + 0xe8); local_c8 = std::_Func_impl_no_alloc<,void>::vftable; local_90 = &local_c8; local_50 = (longlong *)0x0; local_c0 = param_1; local_50 = (longlong *)(*(code *)PTR_FUN_1824b8ea8)(&local_c8,local_88); if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); local_90 = (undefined ***)0x0; } pppuVar5 = *(undefined ****)(puVar4 + 0x120); if (pppuVar5 != (undefined ***)0x0) { if (pppuVar5 == pppuVar9) { local_90 = (undefined ***)(*(code *)(*pppuVar5)[1])(pppuVar5,&local_c8); pppuVar5 = *(undefined ****)(puVar4 + 0x120); if (pppuVar5 == (undefined ***)0x0) goto LAB_1814ff0d2; (*(code *)(*pppuVar5)[4])(pppuVar5,pppuVar5 != pppuVar9); pppuVar5 = local_90; } local_90 = pppuVar5; *(undefined8 *)(puVar4 + 0x120) = 0; } LAB_1814ff0d2: FUN_180488560(pppuVar9,local_88); if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x20))(local_50,local_50 != local_88); } if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); } plVar6 = (longlong *)*ppuVar1; if (plVar6 != (longlong *)0x0) { (**(code **)(*plVar6 + 0x58))(plVar6,1); FUN_181343cc0(param_1,plVar6,0xffffffff); } plVar6 = (longlong *)*ppuVar2; if (plVar6 != (longlong *)0x0) { (**(code **)(*plVar6 + 0x58))(plVar6,1); FUN_181343cc0(param_1,plVar6,0xffffffff); } *(undefined4 *)(*ppuVar1 + 0xf0) = 0x1010000; } ############ FUN_ 180583530 size=708 ############ longlong * FUN_180583530(longlong param_1,longlong *param_2) { longlong *plVar1; uint *_Memory; uint uVar2; longlong *plVar3; longlong lVar4; void *_Memory_00; longlong lVar5; uint uVar6; int iVar7; int iVar8; longlong *plVar9; undefined8 *puVar10; ulonglong uVar11; longlong lVar12; undefined8 *puVar13; longlong lVar14; undefined8 *local_58; undefined4 local_50; uint uStack_4c; plVar1 = (longlong *)(param_1 + 8); iVar7 = FUN_18057ee50(param_2,*(undefined4 *)(param_1 + 0x14)); lVar14 = *param_2; _Memory = (uint *)(lVar14 + -0x10); plVar3 = *(longlong **)((longlong)iVar7 * 8 + *plVar1); plVar9 = plVar3; if ((*(uint *)(lVar14 + -0x10) & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } do { if (plVar9 == (longlong *)0x0) { if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } plVar9 = (longlong *)FUN_1811316e0(0x18); lVar14 = *param_2; *plVar9 = lVar14; if ((*(uint *)(lVar14 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar14 + -0x10) = *(int *)(lVar14 + -0x10) + 1; UNLOCK(); } plVar9[1] = 0; plVar9[2] = (longlong)plVar3; if (-1 < iVar7) { if (iVar7 < *(int *)(param_1 + 0x14)) { *(longlong **)((longlong)iVar7 * 8 + *plVar1) = plVar9; } else { FUN_18047e060(plVar1,*(int *)(param_1 + 0x14) + 1); iVar7 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar7 + 1; *(longlong **)(*plVar1 + (longlong)iVar7 * 8) = plVar9; } } *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + 1; if ((*(int *)(param_1 + 0x14) * 3) / 2 < *(int *)(param_1 + 0x18)) { puVar10 = (undefined8 *)0x0; uVar2 = *(int *)(param_1 + 0x14) * 2; local_58 = (undefined8 *)0x0; local_50 = 0; uStack_4c = 0; puVar13 = puVar10; if (0 < (int)uVar2) { FUN_18047e060(&local_58,uVar2); uVar6 = uStack_4c; puVar13 = local_58; if (uStack_4c != 0) { memmove(local_58 + (int)uVar2,local_58,(longlong)(int)uStack_4c << 3); } if (0 < (int)uVar2) { uVar11 = (ulonglong)uVar2; puVar10 = puVar13; do { *puVar10 = 0; uVar11 = uVar11 - 1; puVar10 = puVar10 + 1; } while (uVar11 != 0); } uStack_4c = uVar6 + uVar2; puVar10 = (undefined8 *)(ulonglong)uStack_4c; } iVar8 = (int)puVar10; iVar7 = *(int *)(param_1 + 0x14) + -1; lVar14 = (longlong)iVar7; if (-1 < iVar7) { do { lVar4 = *(longlong *)(*plVar1 + lVar14 * 8); while (lVar5 = lVar4, iVar8 = (int)puVar10, lVar5 != 0) { iVar7 = FUN_18057ee50(lVar5,uVar2); lVar4 = *(longlong *)(lVar5 + 0x10); *(undefined8 *)(lVar5 + 0x10) = puVar13[iVar7]; if (-1 < iVar7) { if (iVar7 < iVar8) { puVar13[iVar7] = lVar5; } else { FUN_18047e060(&local_58,iVar8 + 1); lVar12 = (longlong)(int)uStack_4c; uStack_4c = uStack_4c + 1; puVar10 = (undefined8 *)(ulonglong)uStack_4c; local_58[lVar12] = lVar5; puVar13 = local_58; } } } lVar14 = lVar14 + -1; } while (-1 < lVar14); } _Memory_00 = (void *)*plVar1; *plVar1 = (longlong)puVar13; *(undefined4 *)(param_1 + 0x10) = local_50; *(int *)(param_1 + 0x14) = iVar8; /* WARNING: Subroutine does not return */ free(_Memory_00); } LAB_1805837e3: return plVar9 + 1; } if (*plVar9 == lVar14) { iVar8 = 0; } else { iVar8 = FUN_18048cbc0(*plVar9,lVar14); } if (iVar8 == 0) { if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } goto LAB_1805837e3; } plVar9 = (longlong *)plVar9[2]; } while( true ); } ############ FUN_ 181595b30 size=921 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181595b30(undefined8 *param_1,longlong *param_2,undefined8 *param_3,undefined8 *param_4) { undefined8 *puVar1; longlong **pplVar2; uint uVar3; undefined8 uVar4; undefined8 uVar5; longlong lVar6; longlong *plVar7; undefined8 *puVar8; longlong *plVar9; uint *_Memory; longlong *plVar10; undefined1 auStack_e8 [32]; longlong *local_c8; longlong *local_c0; longlong *plStack_b8; longlong local_b0; longlong *local_a8; longlong *local_a0; undefined8 local_98; undefined8 *local_90; longlong *local_88; undefined8 *local_80; undefined8 local_78; undefined8 local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; ulonglong local_50 [2]; local_98 = 0xfffffffffffffffe; local_50[0] = DAT_182615970 ^ (ulonglong)auStack_e8; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; puVar1 = param_1 + 0x16; *param_1 = XYSlider::vftable; *puVar1 = XYSlider::vftable; uVar4 = *param_3; *param_3 = 0; param_1[0x17] = uVar4; uVar4 = *param_4; *param_4 = 0; param_1[0x18] = uVar4; pplVar2 = (longlong **)(param_1 + 0x19); *pplVar2 = (longlong *)0x0; *(undefined1 *)(param_1 + 0x1a) = *(undefined1 *)(param_1[0x18] + 0x20); *(undefined8 *)((longlong)param_1 + 0xd4) = 0; *(undefined8 *)((longlong)param_1 + 0xdc) = 0; *(undefined4 *)((longlong)param_1 + 0xe4) = 0x40d66666; param_1[0x1d] = 0; param_1[0x1e] = 0; param_1[0x1f] = 0; local_a8 = param_2; local_90 = param_1; local_88 = param_2; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_2); uVar4 = param_1[0x18]; uVar5 = param_1[0x17]; local_c8 = (longlong *)FUN_1811316e0(1000); plVar7 = (longlong *)FUN_1815aa120(local_c8,uVar5,uVar4); if (pplVar2 == &local_a0) { if (plVar7 == (longlong *)0x0) goto LAB_181595cc5; puVar8 = (undefined8 *)*plVar7; } else { plVar10 = *pplVar2; *pplVar2 = plVar7; if (plVar10 == (longlong *)0x0) goto LAB_181595cc5; puVar8 = (undefined8 *)*plVar10; plVar7 = plVar10; } (*(code *)*puVar8)(plVar7,1); LAB_181595cc5: (**(code **)(**pplVar2 + 0x50))(*pplVar2,param_2); plVar7 = *pplVar2; if (plVar7 != (longlong *)0x0) { (**(code **)(*plVar7 + 0x58))(plVar7,1); FUN_181343cc0(param_1,plVar7,0xffffffff); } *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x18; FUN_1815924a0(param_1,*(undefined4 *)((longlong)param_1 + 0xe4)); puVar8 = (undefined8 *)param_1[0x17]; local_78 = *puVar8; local_70 = puVar8[1]; local_68 = puVar8[2]; local_60 = puVar8[3]; local_58 = puVar8[4]; local_c0 = (longlong *)0x0; plStack_b8 = (longlong *)0x0; local_b0 = 0; FUN_180535640(&local_c0,&local_78,local_50); plVar7 = local_c0; plVar10 = local_c0; if (local_c0 != plStack_b8) { do { lVar6 = *plVar10; if (lVar6 != 0) { local_80 = puVar1; plVar9 = (longlong *)FUN_1811316e0(0x50); *plVar9 = lVar6; plVar9[1] = (longlong)puVar1; plVar9[2] = (longlong) std::_Func_impl_no_alloc<,void>:: vftable; plVar9[3] = (longlong)plVar9; plVar9[9] = (longlong)(plVar9 + 2); local_a0 = plVar9; FUN_1811be290(*plVar9,plVar9[1]); puVar8 = (undefined8 *)param_1[0x1e]; if ((undefined8 *)param_1[0x1f] == puVar8) { local_c8 = plVar9; FUN_180584e30(param_1 + 0x1d,puVar8,&local_c8); } else { local_c8 = (longlong *)0x0; *puVar8 = plVar9; param_1[0x1e] = param_1[0x1e] + 8; } plVar9 = local_c8; if (local_c8 != (longlong *)0x0) { plVar7 = local_c8 + 2; if ((longlong *)local_c8[9] == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*(longlong *)local_c8[9] + 0x10))(); plVar10 = (longlong *)plVar9[9]; if (plVar10 != (longlong *)0x0) { (**(code **)(*plVar10 + 0x20))(plVar10,plVar10 != plVar7); plVar9[9] = 0; } /* WARNING: Subroutine does not return */ free(plVar9); } } plVar10 = plVar10 + 1; } while (plVar10 != plStack_b8); } if (plVar7 == (longlong *)0x0) { _Memory = (uint *)(*local_a8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } plVar10 = plVar7; if ((0xfff < (ulonglong)((local_b0 - (longlong)plVar7 >> 3) * 8)) && (plVar10 = (longlong *)plVar7[-1], 0x1f < (ulonglong)((longlong)plVar7 + (-8 - (longlong)plVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(plVar10); } ############ FUN_ 1815aa120 size=796 ############ undefined8 * FUN_1815aa120(undefined8 *param_1,longlong *param_2,undefined8 param_3) { uint *_Memory; uint uVar1; longlong lVar2; undefined8 uVar3; undefined8 *puVar4; uint *puVar5; longlong local_res10; longlong *local_res18; undefined8 local_c8; undefined4 local_c0; undefined8 local_b8; undefined **local_b0; undefined8 *local_a8; undefined ***local_78; undefined **local_70; undefined8 *local_68; undefined ***local_38; local_b8 = 0xfffffffffffffffe; puVar4 = param_1; FUN_18056b680(); local_b0 = std::_Func_impl_no_alloc<,juce::Path*___ptr64> ::vftable; local_78 = &local_b0; local_a8 = puVar4; FUN_18057f2a0(puVar4 + 0x1c,param_1,&local_b0); param_1[0x1a] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x1b) = 0; *param_1 = XYThumb::vftable; param_1[0x16] = XYThumb::vftable; param_1[0x19] = XYThumb::vftable; param_1[0x62] = 0; param_1[99] = param_3; param_1[100] = param_2; param_1[0x65] = *param_2; param_1[0x66] = param_2[1]; param_1[0x67] = param_2[2]; param_1[0x68] = param_2[3]; param_1[0x69] = param_2[4]; param_1[0x6a] = param_2[5]; param_1[0x6b] = param_2[6]; local_res10 = FUN_1811316e0(0x1a0); local_c8 = DAT_18235df78; local_c0 = DAT_18235df80; uVar3 = FUN_181408750(local_res10,&local_c8); param_1[0x6c] = uVar3; puVar4 = (undefined8 *)param_1[99]; *(undefined4 *)(param_1 + 0x6d) = *(undefined4 *)(puVar4 + 3); *(undefined4 *)((longlong)param_1 + 0x36c) = *(undefined4 *)((longlong)puVar4 + 0x1c); param_1[0x6e] = *puVar4; param_1[0x6f] = puVar4[1]; *(undefined1 *)(param_1 + 0x70) = 0; *(undefined8 *)((longlong)param_1 + 900) = 0; *(undefined8 *)((longlong)param_1 + 0x38c) = 0; *(undefined8 *)((longlong)param_1 + 0x394) = 0; *(undefined8 *)((longlong)param_1 + 0x39c) = 0; *(undefined8 *)((longlong)param_1 + 0x3a4) = 0; *(undefined8 *)((longlong)param_1 + 0x3ac) = 0; *(undefined1 *)((longlong)param_1 + 0x3b4) = 0; param_1[0x77] = 0; *(undefined4 *)(param_1 + 0x78) = 0; *(undefined4 *)((longlong)param_1 + 0x3c4) = 0x3f800000; *(undefined4 *)(param_1 + 0x79) = 0x3f800000; *(undefined2 *)((longlong)param_1 + 0x3cc) = 0; *(undefined4 *)(param_1 + 0x7a) = 0x3f800000; *(undefined2 *)((longlong)param_1 + 0x3d4) = 0; param_1[0x7b] = 500; param_1[0x7c] = 0; local_res10 = *(longlong *)(*param_2 + 0x60); if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } local_res18 = &local_res10; FUN_181232e20(&local_res10,&DAT_1822bc2f4,&DAT_1822bc2fa); local_res18 = (longlong *)local_res10; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } LOCK(); lVar2 = param_1[2]; param_1[2] = local_res10; UNLOCK(); puVar5 = (uint *)(lVar2 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_70 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_38 = &local_70; local_68 = param_1; FUN_181410000(param_1[0x6c],&local_70); FUN_181411b10(param_1[0x6c],"scaling",DAT_1824c3df0); return param_1; } ############ FUN_ 181601a20 size=767 ############ undefined8 * FUN_181601a20(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { longlong *plVar1; uint uVar2; longlong lVar3; undefined8 *puVar4; longlong *plVar5; undefined8 *puVar6; uint *puVar7; longlong local_b8; undefined8 *local_b0; longlong local_a8; void *local_a0; longlong local_98 [2]; undefined2 local_88; undefined1 *local_80; undefined1 *local_78; undefined8 local_70; undefined8 local_68; undefined2 local_60; undefined8 local_58; undefined8 local_50; local_50 = 0xfffffffffffffffe; FUN_1813379d0(param_1,param_3); param_1[0x3a] = 0; *param_1 = Styled::vftable; param_1[0x16] = Styled::vftable; param_1[0x39] = Styled::vftable; *(undefined1 *)(param_1 + 0x3b) = 0; local_b8 = *param_2; if ((*(uint *)(local_b8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_b8 + -0x10) = *(int *)(local_b8 + -0x10) + 1; UNLOCK(); } FUN_1815fb460(param_1 + 0x3c,&local_b8); *param_1 = CloudyPopupMenuItem::vftable; param_1[0x16] = CloudyPopupMenuItem::vftable; param_1[0x39] = CloudyPopupMenuItem::vftable; param_1[0x3c] = CloudyPopupMenuItem::vftable; param_1[0x40] = CloudyPopupMenuItem::vftable; param_1[0x48] = 0; *(undefined4 *)(param_1 + 0x49) = 0x3f800000; FUN_180584230(param_1 + 0x4a,param_4); param_1[0x4d] = 0; plVar1 = param_1 + 0x4e; *plVar1 = 0; *(undefined8 *)((longlong)param_1 + 0x284) = 0; *(undefined8 *)((longlong)param_1 + 0x28c) = 0; *(undefined4 *)((longlong)param_1 + 0x294) = 0x41800000; *(undefined4 *)(param_1 + 0x53) = 0x40000000; *(undefined4 *)((longlong)param_1 + 0x29c) = 0x41600000; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_3); FUN_18049c4e0(&local_a8, "\n\n\n" ); local_98[0] = local_a8; puVar7 = (uint *)(local_a8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); *puVar7 = *puVar7 + 1; UNLOCK(); } local_98[1] = 0; local_88 = 0; local_80 = &DAT_1821dbf98; local_78 = &DAT_1821dbf98; local_70 = 0; local_68 = 0; local_60 = 0x100; local_58 = 0; FUN_181248430(local_98,&local_a0); FUN_181248660(local_98); plVar5 = (longlong *)FUN_18132eac0(&local_b0,local_a0); if (plVar1 != plVar5) { lVar3 = *plVar5; *plVar5 = 0; puVar4 = (undefined8 *)*plVar1; *plVar1 = lVar3; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } if (local_b0 != (undefined8 *)0x0) { (**(code **)*local_b0)(local_b0,1); } if (local_a0 != (void *)0x0) { FUN_1812472e0(local_a0); /* WARNING: Subroutine does not return */ free(local_a0); } if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (param_1[0xd] == 0) { puVar6 = (undefined8 *)FUN_1811316e0(0x30); *puVar6 = juce::StandardCachedComponentImage::vftable; puVar6[1] = 0; puVar6[2] = 0; puVar6[3] = 0; puVar6[4] = param_1; *(undefined4 *)(puVar6 + 5) = 0x3f800000; puVar4 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar6; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } puVar7 = (uint *)(*param_2 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(*param_3 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_18047cfb0(param_4); return param_1; } ############ FUN_ 18056b9b0 size=122 ############ undefined8 * FUN_18056b9b0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 *param_5,undefined4 *param_6) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x598); uVar1 = FUN_1816071a0(uVar1,param_5,param_3,param_4,*param_5,*param_6); *param_1 = uVar1; return param_1; } ############ FUN_ 1816071a0 size=1003 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1816071a0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, longlong param_5,int param_6) { undefined8 *puVar1; undefined ***pppuVar2; uint uVar3; undefined8 *puVar4; undefined ***pppuVar5; undefined8 *puVar6; undefined8 uVar7; uint *_Memory; longlong lVar8; undefined1 auStack_1a8 [32]; longlong local_188 [2]; undefined8 local_178; undefined4 local_170; undefined8 local_168; undefined8 local_160; undefined8 *local_158; undefined **local_150; undefined8 *local_148; undefined ***local_118; undefined **local_110; undefined8 *local_108; undefined ***local_d8; undefined **local_c8; undefined8 *local_c0; undefined ***local_90; longlong local_88 [7]; longlong *local_50; ulonglong local_48; local_160 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1a8; local_168 = param_4; local_158 = param_1; FUN_1813f4190(); param_1[0x51] = 0; *(undefined1 *)(param_1 + 0x52) = 0; puVar1 = param_1 + 0x54; *puVar1 = std::_Func_impl_no_alloc<,void>::vftable; param_1[0x5b] = puVar1; param_1[0x5c] = std::_Func_impl_no_alloc<,void>::vftable; param_1[99] = param_1 + 0x5c; param_1[100] = std::_Func_impl_no_alloc<,void>::vftable; param_1[0x6b] = param_1 + 100; param_1[0x6c] = std::_Func_impl_no_alloc<,void>::vftable; param_1[0x73] = param_1 + 0x6c; *param_1 = CloudySliderArea::vftable; param_1[0x50] = CloudySliderArea::vftable; param_1[0x53] = CloudySliderArea::vftable; param_1[0x74] = 0; param_1[0x75] = 0; param_1[0x76] = 0; param_1[0x77] = param_4; FUN_18057f1a0(param_1 + 0x78,param_3); param_1[0x7b] = 0; param_1[0x7c] = 0; param_1[0x7d] = 0; *(undefined2 *)(param_1 + 0x7e) = 0x101; local_178 = DAT_18235df78; local_170 = DAT_18235df80; FUN_181408750(param_1 + 0x7f,&local_178); *(undefined4 *)((longlong)param_1 + 0x3f4) = 1; lVar8 = 0; if (0 < (longlong)param_6) { do { FUN_181605870(param_1,*(undefined8 *)(param_5 + lVar8 * 8)); lVar8 = lVar8 + 1; } while (lVar8 < param_6); } if (param_1[0xd] == 0) { puVar6 = (undefined8 *)FUN_1811316e0(0x30); *puVar6 = juce::StandardCachedComponentImage::vftable; puVar6[1] = 0; puVar6[2] = 0; puVar6[3] = 0; puVar6[4] = param_1; *(undefined4 *)(puVar6 + 5) = 0x3f800000; puVar4 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar6; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } local_188[0] = FUN_1811316e0(0x10); uVar7 = FUN_1811e8780(local_188[0],param_1 + 0x78,param_1 + 0x53); FUN_180485e60(param_1 + 0x7c,uVar7); FUN_18049c4e0(local_188,"CloudySliderArea"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,local_188); _Memory = (uint *)(local_188[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_188[0] = FUN_1811316e0(0x40); local_150 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_118 = &local_150; local_148 = param_1; uVar7 = FUN_18055e880(local_188[0],local_168,&local_150); lVar8 = param_1[0x76]; param_1[0x76] = uVar7; if (lVar8 != 0) { FUN_18056a070(); } FUN_181411b10(param_1 + 0x7f,"alpha",0); local_110 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_d8 = &local_110; local_108 = param_1; FUN_181410000(param_1 + 0x7f,&local_110); pppuVar2 = (undefined ***)(param_1 + 100); local_c8 = std::_Func_impl_no_alloc<,void>::vftable; local_90 = &local_c8; local_50 = (longlong *)0x0; local_c0 = param_1; local_50 = (longlong *)(*(code *)PTR_FUN_1824bdaf0)(&local_c8,local_88); if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); local_90 = (undefined ***)0x0; } pppuVar5 = (undefined ***)param_1[0x6b]; if (pppuVar5 != (undefined ***)0x0) { if (pppuVar5 == pppuVar2) { local_90 = (undefined ***)(*(code *)(*pppuVar5)[1])(pppuVar5,&local_c8); pppuVar5 = (undefined ***)param_1[0x6b]; if (pppuVar5 == (undefined ***)0x0) goto LAB_181607515; (*(code *)(*pppuVar5)[4])(pppuVar5,pppuVar5 != pppuVar2); pppuVar5 = local_90; } local_90 = pppuVar5; param_1[0x6b] = 0; } LAB_181607515: FUN_180488560(pppuVar2,local_88); if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x20))(local_50,local_50 != local_88); } if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); } FUN_18056aa40(param_1 + 0x16,puVar1); } ############ FUN_ 18056ba30 size=74 ############ undefined8 * FUN_18056ba30(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x200); uVar1 = FUN_1816075b0(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18056ba80 size=225 ############ undefined8 * FUN_18056ba80(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4, undefined8 param_5,undefined8 param_6,undefined8 *param_7) { undefined8 uVar1; undefined8 uVar2; undefined8 uVar3; undefined ***pppuVar4; undefined **local_70; undefined8 local_68; undefined ***local_38; undefined1 local_30 [24]; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x188); pppuVar4 = &local_70; local_68 = *param_7; local_70 = std::_Func_impl_no_alloc<,juce::String,float> ::vftable; local_38 = &local_70; uVar2 = FUN_18052cf30(local_30,param_3); uVar1 = FUN_18160a660(uVar1,param_2,uVar2,*param_4,param_5,param_6,&local_70,0,uVar3,pppuVar4); *param_1 = uVar1; return param_1; } ############ FUN_ 18160a660 size=1753 ############ undefined8 * FUN_18160a660(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,undefined4 param_4, undefined8 param_5,undefined8 param_6,longlong *param_7,char param_8) { undefined1 **ppuVar1; float fVar2; undefined8 *puVar3; longlong lVar4; undefined4 uVar5; undefined4 uVar6; undefined4 uVar7; undefined8 uVar8; longlong *plVar9; longlong *plVar10; undefined8 *puVar11; undefined8 *puVar12; longlong lVar13; uint *puVar14; uint uVar15; float *pfVar16; undefined8 *local_res10; undefined8 *local_res18; uint local_res20; longlong local_168; longlong local_160; longlong *local_158; longlong local_150; longlong local_148; longlong local_140; longlong local_138; longlong local_130; undefined1 local_128 [8]; undefined1 local_120 [8]; float *local_118; longlong *local_110; longlong *local_108; undefined8 local_100; undefined1 *local_f8; undefined8 local_f0; longlong *local_e8; longlong local_e0; longlong local_d8; undefined **local_d0; longlong *local_c8; undefined ***local_98; local_f0 = 0xfffffffffffffffe; local_res20 = 0; puVar11 = param_3; local_res18 = param_3; FUN_18056b680(); *param_1 = GraphLabels::vftable; param_1[0x16] = GraphLabels::vftable; param_1[0x19] = GraphLabels::vftable; param_1[0x1a] = 0; param_1[0x1b] = param_2; FUN_18052cf30(param_1 + 0x1c,puVar11); *(undefined4 *)(param_1 + 0x1f) = param_4; local_res10 = param_1 + 0x20; param_1[0x27] = 0; plVar9 = (longlong *)param_7[7]; if (plVar9 != (longlong *)0x0) { if (plVar9 == param_7) { uVar8 = (**(code **)(*plVar9 + 8))(plVar9,local_res10); param_1[0x27] = uVar8; plVar9 = (longlong *)param_7[7]; if (plVar9 == (longlong *)0x0) goto LAB_18160a768; (**(code **)(*plVar9 + 0x20))(plVar9,plVar9 != param_7); } else { param_1[0x27] = plVar9; } param_7[7] = 0; } LAB_18160a768: FUN_18057f0f0(param_1 + 0x28,param_5); param_1[0x2b] = 0; param_1[0x2c] = 0; param_1[0x2d] = 0; param_1[0x2e] = 0; param_1[0x2f] = param_6; param_1[0x30] = 0; uVar7 = DAT_1824c44dc; uVar6 = DAT_1824c44bc; uVar5 = DAT_1824c3ea4; pfVar16 = (float *)*param_3; local_118 = (float *)local_res18[1]; uVar15 = 0; if (pfVar16 != local_118) { do { fVar2 = *pfVar16; local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,fVar2); plVar9 = (longlong *)param_1[0x27]; if (plVar9 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar9 + 0x10))(plVar9,&local_130,&local_res10); local_res20 = uVar15 | 2; plVar9 = (longlong *)FUN_1811316e0(0x4a8); local_110 = &local_168; local_168 = local_130; if ((*(uint *)(local_130 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_130 + -0x10) = *(int *)(local_130 + -0x10) + 1; UNLOCK(); } local_108 = &local_168; local_e8 = plVar9; FUN_1812339a0(&local_138,(double)fVar2,0,0); local_res20 = local_res20 | 1; FUN_18049c4e0(&local_148,"Label for: "); plVar10 = (longlong *)FUN_181232d30(&local_148,&local_138); local_160 = *plVar10; if ((*(uint *)(local_160 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_160 + -0x10) = *(int *)(local_160 + -0x10) + 1; UNLOCK(); } local_res20 = local_res20 | 4; puVar14 = (uint *)(local_148 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } local_110 = &local_160; local_150 = local_168; if ((*(uint *)(local_168 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_168 + -0x10) = *(int *)(local_168 + -0x10) + 1; UNLOCK(); } if ((*(uint *)(local_160 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_160 + -0x10) = *(int *)(local_160 + -0x10) + 1; UNLOCK(); } local_140 = local_160; FUN_1815d7db0(plVar9,&local_140,&local_150); *plVar9 = (longlong)GraphLabels::Label::vftable; plVar9[0x16] = (longlong)GraphLabels::Label::vftable; plVar9[0x18] = (longlong)GraphLabels::Label::vftable; plVar9[0x19] = (longlong)GraphLabels::Label::vftable; plVar9[0x1a] = (longlong)GraphLabels::Label::vftable; plVar9[0x41] = (longlong)GraphLabels::Label::vftable; plVar9[0x44] = (longlong)GraphLabels::Label::vftable; plVar9[0x47] = (longlong)GraphLabels::Label::vftable; plVar9[0x48] = (longlong)GraphLabels::Label::vftable; ppuVar1 = (undefined1 **)(plVar9 + 0x94); *ppuVar1 = (undefined1 *)0x0; puVar14 = (uint *)(local_160 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_168 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } local_158 = plVar9; if ((local_res20 & 1) != 0) { local_res20 = local_res20 & 0xfffffffe; puVar14 = (uint *)(local_138 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } } uVar15 = local_res20; *(undefined2 *)(plVar9 + 0x40) = 0; *(undefined1 *)((longlong)plVar9 + 0x202) = 0; *(byte *)(plVar9 + 0x15) = *(byte *)(plVar9 + 0x15) & 0x9f; local_100 = FUN_1811316e0(0x1a0); puVar11 = (undefined8 *)FUN_181411e40(local_100,uVar7,uVar5,uVar6); local_res20 = uVar15 | 8; if (ppuVar1 == &local_f8) { if (puVar11 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar11; goto LAB_18160aacf; } } else { puVar3 = (undefined8 *)*ppuVar1; *ppuVar1 = (undefined1 *)puVar11; if (puVar3 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar3; puVar11 = puVar3; LAB_18160aacf: (*(code *)*puVar12)(puVar11,1); } } FUN_181410d30(*ppuVar1,"alpha",uVar5); local_d0 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_98 = &local_d0; local_c8 = plVar9; FUN_181410000(*ppuVar1,&local_d0); puVar11 = (undefined8 *)param_1[0x2d]; if ((undefined8 *)param_1[0x2e] == puVar11) { FUN_180586090(param_1 + 0x2c,puVar11,&local_158); plVar9 = local_158; } else { *puVar11 = plVar9; param_1[0x2d] = param_1[0x2d] + 8; } if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(param_1,plVar9,0xffffffff); } puVar14 = (uint *)(local_130 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar15 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar15 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } pfVar16 = pfVar16 + 1; uVar15 = local_res20; } while (pfVar16 != local_118); } plVar9 = param_1 + 0x2b; if (param_8 == '\0') goto LAB_18160ac7d; puVar11 = (undefined8 *)FUN_1811316e0(0x4a8); local_f8 = local_128; local_res10 = puVar11; FUN_18049c4e0(local_128,""); FUN_18049c4e0(local_120,"Sliding graph label display"); puVar11 = (undefined8 *)FUN_18057f890(puVar11,local_120,local_128); if (plVar9 == &local_e0) { if (puVar11 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar11; goto LAB_18160ac38; } } else { puVar3 = (undefined8 *)*plVar9; *plVar9 = (longlong)puVar11; if (puVar3 != (undefined8 *)0x0) { puVar12 = (undefined8 *)*puVar3; puVar11 = puVar3; LAB_18160ac38: (*(code *)*puVar12)(puVar11,1); } } lVar13 = *plVar9; *(undefined2 *)(lVar13 + 0x200) = 0; *(undefined1 *)(lVar13 + 0x202) = 0; *(byte *)(lVar13 + 0xa8) = *(byte *)(lVar13 + 0xa8) & 0x9f; plVar9 = (longlong *)*plVar9; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(param_1,plVar9,0xffffffff); } LAB_18160ac7d: *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xef | 8; local_res10 = (undefined8 *)FUN_1811316e0(0x18); lVar13 = FUN_1804841f0(local_res10,param_6,param_1 + 0x19); plVar9 = param_1 + 0x30; if (plVar9 != &local_d8) { lVar4 = *plVar9; *plVar9 = lVar13; lVar13 = lVar4; } if (lVar13 != 0) { FUN_18056ae10(lVar13); } FUN_18052fa60(local_res18); plVar9 = (longlong *)param_7[7]; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x20))(plVar9,plVar9 != param_7); param_7[7] = 0; } return param_1; } ############ FUN_ 18056bb70 size=225 ############ undefined8 * FUN_18056bb70(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4, undefined8 param_5,undefined8 param_6,undefined4 *param_7) { undefined8 uVar1; undefined8 uVar2; undefined8 uVar3; undefined ***pppuVar4; undefined **local_70; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined ***local_38; undefined1 local_30 [24]; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x188); pppuVar4 = &local_70; local_70 = std::_Func_impl_no_alloc<,juce::String,float> ::vftable; local_68 = *param_7; uStack_64 = param_7[1]; uStack_60 = param_7[2]; uStack_5c = param_7[3]; local_38 = &local_70; uVar2 = FUN_18052cf30(local_30,param_3); uVar1 = FUN_18160a660(uVar1,param_2,uVar2,*param_4,param_5,param_6,&local_70,0,uVar3,pppuVar4); *param_1 = uVar1; return param_1; } ############ FUN_ 18056bc60 size=219 ############ undefined8 * FUN_18056bc60(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined1 *param_8) { undefined8 uVar1; undefined8 uVar2; undefined8 uVar3; undefined1 local_78 [24]; undefined **local_60 [7]; undefined ***local_28; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x188); local_60[0] = std:: _Func_impl_no_alloc<,juce::String,float>:: vftable; local_28 = local_60; uVar2 = FUN_18052cf30(local_78,param_3); uVar1 = FUN_18160a660(uVar1,param_2,uVar2,*param_4,param_5,param_6,local_60,*param_8,uVar3); *param_1 = uVar1; return param_1; } ############ FUN_ 18056bd40 size=239 ############ undefined8 * FUN_18056bd40(undefined8 *param_1,longlong param_2,longlong param_3,undefined8 param_4, undefined8 param_5) { uint uVar1; undefined8 uVar2; uint *puVar3; longlong local_res10; longlong local_res18 [2]; local_res10 = param_2; local_res18[0] = param_3; uVar2 = FUN_1811316e0(0x1d0); FUN_18049c4e0(&local_res10,"1.1.2"); FUN_18049c4e0(local_res18,"soothe2"); uVar2 = FUN_1814d2680(uVar2,local_res18,&local_res10,param_4,param_5); *param_1 = uVar2; puVar3 = (uint *)(local_res18[0] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(local_res10 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } return param_1; } ############ FUN_ 1814d2680 size=1207 ############ undefined8 * FUN_1814d2680(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4, longlong param_5) { undefined8 *puVar1; int iVar2; longlong lVar3; undefined8 *puVar4; longlong *plVar5; undefined8 uVar6; undefined8 *puVar7; undefined8 *puVar8; longlong *plVar9; longlong *plVar10; longlong *plVar11; longlong *plVar12; longlong *plVar13; undefined8 local_res10; undefined8 local_res18; undefined8 local_res20; longlong local_60; longlong local_58; longlong local_50 [2]; puVar7 = param_1; local_res20 = param_4; FUN_18056b680(); puVar1 = puVar7 + 0x1a; puVar7[0x1c] = 0xffffffffffffffff; *(undefined4 *)(puVar7 + 0x1d) = 0; *puVar7 = PluginUpdateComponent::vftable; puVar7[0x16] = PluginUpdateComponent::vftable; puVar7[0x19] = PluginUpdateComponent::vftable; *puVar1 = PluginUpdateComponent::vftable; puVar7[0x1b] = PluginUpdateComponent::vftable; InitializeCriticalSection((LPCRITICAL_SECTION)(puVar7 + 0x1e)); lVar3 = *param_2; param_1[0x24] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } lVar3 = *param_3; param_1[0x25] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } param_1[0x26] = param_5; param_1[0x27] = &DAT_1821dbf98; param_1[0x28] = &DAT_1821dbf98; param_1[0x29] = &DAT_1821dbf98; param_1[0x2a] = 0; param_1[0x2b] = 0; param_1[0x2c] = 0; param_1[0x2d] = 0; param_1[0x2e] = 0; param_1[0x2f] = 0; param_1[0x30] = 0; param_1[0x31] = 0; *(undefined2 *)(param_1 + 0x32) = 0; *(undefined1 *)((longlong)param_1 + 0x192) = 0; *(undefined8 *)((longlong)param_1 + 0x194) = 0; *(undefined8 *)((longlong)param_1 + 0x19c) = 0; plVar5 = param_1 + 0x35; *plVar5 = 0; plVar10 = param_1 + 0x36; *plVar10 = 0; plVar13 = param_1 + 0x37; *plVar13 = 0; param_1[0x38] = 0; param_1[0x39] = LastSeenUpdateOption::vftable; uVar6 = FUN_1811316e0(0x238); FUN_18049c4e0(&local_res10,"Download"); puVar7 = (undefined8 *)FUN_1815ef4d0(uVar6,&local_res10); if (plVar5 == &local_60) { if (puVar7 != (undefined8 *)0x0) { puVar8 = (undefined8 *)*puVar7; goto LAB_1814d286d; } } else { puVar4 = (undefined8 *)*plVar5; *plVar5 = (longlong)puVar7; if (puVar4 != (undefined8 *)0x0) { puVar8 = (undefined8 *)*puVar4; puVar7 = puVar4; LAB_1814d286d: (*(code *)*puVar8)(puVar7,1); } } lVar3 = *plVar5; if (puVar1 != (undefined8 *)0x0) { plVar11 = (longlong *)(lVar3 + 0x160); plVar12 = (longlong *)*plVar11; iVar2 = *(int *)(lVar3 + 0x16c); plVar9 = plVar12 + iVar2; for (; plVar12 != plVar9; plVar12 = plVar12 + 1) { if (puVar1 == (undefined8 *)*plVar12) goto LAB_1814d28d2; } if (*(int *)(lVar3 + 0x168) < iVar2 + 1) { FUN_18047cb30(plVar11,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar3 + 0x16c); *(int *)(lVar3 + 0x16c) = iVar2 + 1; *(undefined8 **)(*plVar11 + (longlong)iVar2 * 8) = puVar1; } LAB_1814d28d2: *(undefined4 *)(*plVar5 + 0x208) = 0x1000000; plVar5 = (longlong *)*plVar5; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x58))(plVar5,1); FUN_181343cc0(param_1,plVar5,0xffffffff); } uVar6 = FUN_1811316e0(0x238); FUN_18049c4e0(&local_res18,"Show changes"); puVar7 = (undefined8 *)FUN_1815ef4d0(uVar6,&local_res18); if (plVar10 == &local_58) { if (puVar7 != (undefined8 *)0x0) { puVar8 = (undefined8 *)*puVar7; goto LAB_1814d2972; } } else { puVar4 = (undefined8 *)*plVar10; *plVar10 = (longlong)puVar7; if (puVar4 != (undefined8 *)0x0) { puVar8 = (undefined8 *)*puVar4; puVar7 = puVar4; LAB_1814d2972: (*(code *)*puVar8)(puVar7,1); } } *(undefined4 *)(*plVar10 + 0x208) = 0x10000; lVar3 = *plVar10; if (puVar1 != (undefined8 *)0x0) { plVar12 = (longlong *)(lVar3 + 0x160); plVar9 = (longlong *)*plVar12; iVar2 = *(int *)(lVar3 + 0x16c); plVar5 = plVar9 + iVar2; for (; plVar9 != plVar5; plVar9 = plVar9 + 1) { if (puVar1 == (undefined8 *)*plVar9) goto LAB_1814d29f2; } if (*(int *)(lVar3 + 0x168) < iVar2 + 1) { FUN_18047cb30(plVar12,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar3 + 0x16c); *(int *)(lVar3 + 0x16c) = iVar2 + 1; *(undefined8 **)(*plVar12 + (longlong)iVar2 * 8) = puVar1; } LAB_1814d29f2: plVar10 = (longlong *)*plVar10; if (plVar10 != (longlong *)0x0) { (**(code **)(*plVar10 + 0x58))(plVar10,1); FUN_181343cc0(param_1,plVar10,0xffffffff); } puVar7 = (undefined8 *)FUN_1811316e0(0x978); FUN_1815ef340(puVar7,local_res20,1); *puVar7 = PluginUpdateComponent::ChangeLogModal::vftable; puVar7[0x16] = PluginUpdateComponent::ChangeLogModal::vftable; FUN_1815ef760(puVar7 + 0x10f); *(undefined4 *)(puVar7 + 0x12e) = DAT_18262bb5c; FUN_18134a370(puVar7 + 0xa7,puVar7 + 0x10f,0); if (plVar13 == local_50) { puVar8 = (undefined8 *)*puVar7; } else { puVar4 = (undefined8 *)*plVar13; *plVar13 = (longlong)puVar7; if (puVar4 == (undefined8 *)0x0) goto LAB_1814d2ab0; puVar8 = (undefined8 *)*puVar4; puVar7 = puVar4; } (*(code *)*puVar8)(puVar7,1); LAB_1814d2ab0: lVar3 = *(longlong *)(param_5 + 0x108); if (puVar1 != (undefined8 *)0x0) { plVar13 = (longlong *)(lVar3 + 0x160); plVar10 = (longlong *)*plVar13; iVar2 = *(int *)(lVar3 + 0x16c); plVar5 = plVar10 + iVar2; for (; plVar10 != plVar5; plVar10 = plVar10 + 1) { if (puVar1 == (undefined8 *)*plVar10) goto LAB_1814d2b12; } if (*(int *)(lVar3 + 0x168) < iVar2 + 1) { FUN_18047cb30(plVar13,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar3 + 0x16c); *(int *)(lVar3 + 0x16c) = iVar2 + 1; *(undefined8 **)(*plVar13 + (longlong)iVar2 * 8) = puVar1; } LAB_1814d2b12: FUN_1812a77d0(param_1 + 0x1b,1000); return param_1; } ############ FUN_ 18056be30 size=303 ############ undefined8 * FUN_18056be30(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; uint *_Memory; bool bVar5; undefined8 *local_res8; undefined1 *local_res10; undefined8 *local_res18; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; local_res8 = param_1; puVar2 = (undefined8 *)FUN_1811316e0(0x2d0); puVar4 = puVar2; local_res18 = puVar2; FUN_18056b680(); *puVar4 = InvalidLicenceOverlay::vftable; puVar4[0x16] = InvalidLicenceOverlay::vftable; local_res10 = &DAT_1821dbf98; local_res8 = (undefined8 *)&DAT_1821dbf98; FUN_18134a080(puVar4 + 0x19,&local_res8,&local_res10,param_4,uVar6); _Memory = (uint *)(local_res8 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar5 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar5) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if (puVar2[0xd] == 0) { puVar3 = (undefined8 *)FUN_1811316e0(0x30); *puVar3 = juce::StandardCachedComponentImage::vftable; puVar3[1] = 0; puVar3[2] = 0; puVar3[3] = 0; puVar3[4] = puVar2; *(undefined4 *)(puVar3 + 5) = 0x3f800000; puVar4 = (undefined8 *)puVar2[0xd]; puVar2[0xd] = puVar3; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } *param_1 = puVar2; return param_1; } ############ FUN_ 18056bf60 size=126 ############ undefined8 * FUN_18056bf60(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; undefined **local_50; undefined8 local_48; undefined ***local_18; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x40); local_48 = *param_3; local_50 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_18 = &local_50; uVar1 = FUN_18055e880(uVar1,param_2,&local_50,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18056f940 size=353 ############ void .?AV?$GainRangeScalingOptionComponent@VSoothe2GainRangeScalingOption@@@@:: vtbl___AV__GainRangeScalingOptionComponent_VSoothe2GainRangeScalingOption____(longlong param_1) { longlong *plVar1; longlong *plVar2; longlong lVar3; undefined8 *puVar4; longlong *plVar5; undefined8 uVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res8; undefined1 local_18 [16]; plVar2 = *(longlong **)(param_1 + 8); plVar1 = plVar2 + 0x91; if (*plVar1 != 0) goto LAB_18056fa0f; uVar6 = (**(code **)(*plVar2 + 0x180))(plVar2); lVar3 = plVar2[0x32]; local_res8 = FUN_1811316e0(0x1950); puVar7 = (undefined8 *)FUN_1814d4700(local_res8,lVar3,plVar2); if (plVar1 == &local_res8) { if (puVar7 != (undefined8 *)0x0) { puVar8 = (undefined8 *)*puVar7; goto LAB_18056f9ce; } } else { puVar4 = (undefined8 *)*plVar1; *plVar1 = (longlong)puVar7; if (puVar4 != (undefined8 *)0x0) { puVar8 = (undefined8 *)*puVar4; puVar7 = puVar4; LAB_18056f9ce: (*(code *)*puVar8)(puVar7,1); } } FUN_18056aa40(*plVar1 + 0xb0,plVar2[0x92]); plVar5 = (longlong *)*plVar1; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x58))(plVar5,1); FUN_181343cc0(uVar6,plVar5,0xffffffff); } LAB_18056fa0f: if ((*(int *)(*plVar1 + 0xc0) - 1U & 0xfffffffd) == 0) { (**(code **)(*plVar2 + 0x188))(plVar2,local_18); lVar3 = *plVar1; *(undefined1 (*) [16])(lVar3 + 0xc4) = local_18; FUN_18134bfe0(lVar3,local_18._0_8_,local_18._0_8_ >> 0x20,local_18._8_8_,local_18._12_4_); FUN_181344f60(*plVar1,1); (**(code **)(*(longlong *)*plVar1 + 0x160))(); } else { FUN_1814d4600(); } return; } ############ FUN_ 1814d4700 size=2752 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814d4700(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { undefined ***pppuVar1; int iVar2; longlong lVar3; longlong *plVar4; undefined8 *puVar5; undefined ***pppuVar6; uint uVar7; undefined8 uVar8; undefined8 *puVar9; undefined8 uVar10; undefined8 *puVar11; longlong *plVar12; longlong *plVar13; longlong *plVar14; undefined4 *puVar15; longlong *plVar16; bool bVar17; undefined1 auStack_178 [32]; undefined8 *local_158; undefined4 local_150; undefined4 local_148; undefined4 local_144; undefined4 local_140; undefined4 local_13c; undefined4 local_138 [2]; undefined1 local_130 [8]; undefined1 local_128 [8]; undefined1 local_120 [8]; undefined1 local_118 [8]; undefined1 *local_110; undefined1 local_108 [8]; undefined1 *local_100; undefined1 local_f8 [8]; undefined1 local_f0 [8]; undefined8 local_e8; undefined8 *local_e0; longlong local_d8 [2]; undefined **local_c8; undefined8 *local_c0; undefined ***local_90; undefined1 local_88 [16]; longlong local_78 [7]; longlong *local_40; ulonglong local_38; local_e8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_178; local_e0 = param_1; FUN_1813f4190(); param_1[0x51] = 0; *(undefined1 *)(param_1 + 0x52) = 0; puVar9 = param_1 + 0x53; puVar11 = param_1 + 0x55; *param_1 = PresetMenu::vftable; param_1[0x50] = PresetMenu::vftable; *puVar9 = PresetMenu::vftable; param_1[0x54] = PresetMenu::vftable; *puVar11 = PresetMenu::vftable; param_1[0x56] = PresetMenu::vftable; param_1[0x57] = param_3; param_1[0x58] = param_2; plVar4 = param_1 + 0x59; *plVar4 = (longlong)juce::Component::vftable; param_1[0x5a] = &DAT_1821dbf98; param_1[0x5b] = &DAT_1821dbf98; param_1[0x5c] = 0; param_1[0x5d] = 0; param_1[0x5e] = 0; param_1[0x5f] = 0; param_1[0x60] = 0; param_1[0x61] = 0; param_1[0x62] = 0; param_1[99] = 0; param_1[100] = 0; param_1[0x65] = 0; param_1[0x66] = 0; param_1[0x67] = 0; param_1[0x68] = 0; param_1[0x69] = 0; param_1[0x6a] = 0; param_1[0x6b] = 0; param_1[0x6c] = 0; param_1[0x6d] = 0; *(undefined4 *)(param_1 + 0x6e) = 0; *(undefined1 *)((longlong)param_1 + 0x374) = 0; FUN_1813b0610(local_88,"rootpanel",9); uVar8 = FUN_1813b0fe0(local_88,&local_100); FUN_181465d70(param_1 + 0x6f,param_1,uVar8); param_1[0xe7] = 0; param_1[0xe8] = 0; FUN_180576700(param_1 + 0xe9); local_158 = (undefined8 *)&DAT_1821dbf98; plVar14 = param_1 + 0x101; FUN_18134a630(plVar14,&local_158); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar17 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar17) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } FUN_181601800(param_1 + 0x138,0); FUN_180576700(param_1 + 0x1a1); FUN_18049c4e0(local_138,"Cancel"); FUN_1815ef4d0(param_1 + 0x1b9,local_138); FUN_18049c4e0(local_130,"Open from file"); FUN_1815ef4d0(param_1 + 0x200,local_130); FUN_18049c4e0(local_128,&DAT_1822b5094); FUN_1815ef4d0(param_1 + 0x247,local_128); FUN_18049c4e0(local_120,"Set as default"); FUN_1815ef4d0(param_1 + 0x28e,local_120); plVar16 = param_1 + 0x2d5; FUN_1813ec2b0(plVar16); param_1[0x2f4] = 0; param_1[0x2f5] = 0; puVar5 = param_1 + 0x2f6; *puVar5 = 0; param_1[0x2f7] = 0; local_158 = puVar5; uVar8 = FUN_18047e380(); *puVar5 = uVar8; FUN_181605530(param_1 + 0x2f8,0); param_1[0x327] = 0; param_1[0x328] = 0; param_1[0x329] = LastUsedPresetFolderOption::vftable; FUN_1811620a0(param_1[0x58]); (**(code **)(*plVar4 + 0x58))(plVar4,1); FUN_181343cc0(param_1,plVar4,0xffffffff); FUN_181341570(plVar4,param_1,0); FUN_18144c7e0(param_1); (**(code **)(param_1[0x6f] + 0x58))(param_1 + 0x6f,1); FUN_181343cc0(param_1,param_1 + 0x6f,0xffffffff); FUN_18134a370(plVar14,param_1 + 0xe9,0); *(undefined2 *)(param_1 + 0x136) = 0; if ((*(char *)((longlong)param_1 + 0x9ad) != '\0') || (*(char *)((longlong)param_1 + 0x9ac) != '\x01')) { *(undefined2 *)((longlong)param_1 + 0x9ac) = 1; FUN_1813165e0(plVar14); } (**(code **)(*plVar14 + 0x58))(plVar14,1); FUN_181343cc0(param_1,plVar14,0xffffffff); if (puVar9 != (undefined8 *)0x0) { plVar4 = param_1 + 0x198; plVar12 = (longlong *)*plVar4; iVar2 = *(int *)((longlong)param_1 + 0xccc); plVar14 = plVar12 + iVar2; for (; plVar12 != plVar14; plVar12 = plVar12 + 1) { if (puVar9 == (undefined8 *)*plVar12) goto LAB_1814d4b24; } if (*(int *)(param_1 + 0x199) < iVar2 + 1) { FUN_18047cb30(plVar4,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0xccc); *(int *)((longlong)param_1 + 0xccc) = iVar2 + 1; *(undefined8 **)(*plVar4 + (longlong)iVar2 * 8) = puVar9; } LAB_1814d4b24: FUN_18133e2b0(param_1 + 0x138,param_1 + 0x54); FUN_18049c4e0(local_118,"search..."); FUN_181600150(param_1 + 0x138,local_118); (**(code **)(param_1[0x138] + 0x58))(param_1 + 0x138,1); FUN_181343cc0(param_1,param_1 + 0x138,0xffffffff); *(undefined4 *)(param_1 + 0x1b7) = 2; plVar4 = param_1 + 0x1a1; (**(code **)(*plVar4 + 0x58))(plVar4,1); FUN_181343cc0(param_1,plVar4,0xffffffff); plVar14 = param_1 + 0x1b9; (**(code **)(*plVar14 + 0x58))(plVar14,1); FUN_181343cc0(plVar4,plVar14,0xffffffff); plVar12 = param_1 + 0x247; (**(code **)(*plVar12 + 0x58))(plVar12,1); FUN_181343cc0(plVar4,plVar12,0xffffffff); plVar12 = param_1 + 0x200; (**(code **)(*plVar12 + 0x58))(plVar12,1); FUN_181343cc0(plVar4,plVar12,0xffffffff); (**(code **)(param_1[0x28e] + 0x58))(param_1 + 0x28e,1); FUN_181343cc0(plVar4,param_1 + 0x28e,0xffffffff); if (puVar11 != (undefined8 *)0x0) { plVar4 = param_1 + 0x1e5; plVar13 = (longlong *)*plVar4; iVar2 = *(int *)((longlong)param_1 + 0xf34); plVar12 = plVar13 + iVar2; for (; plVar13 != plVar12; plVar13 = plVar13 + 1) { if (puVar11 == (undefined8 *)*plVar13) goto LAB_1814d4c9f; } if (*(int *)(param_1 + 0x1e6) < iVar2 + 1) { FUN_18047cb30(plVar4,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0xf34); *(int *)((longlong)param_1 + 0xf34) = iVar2 + 1; *(undefined8 **)(*plVar4 + (longlong)iVar2 * 8) = puVar11; LAB_1814d4c9f: if (puVar11 != (undefined8 *)0x0) { plVar4 = param_1 + 0x273; plVar13 = (longlong *)*plVar4; iVar2 = *(int *)((longlong)param_1 + 0x13a4); plVar12 = plVar13 + iVar2; for (; plVar13 != plVar12; plVar13 = plVar13 + 1) { if (puVar11 == (undefined8 *)*plVar13) goto LAB_1814d4cff; } if (*(int *)(param_1 + 0x274) < iVar2 + 1) { FUN_18047cb30(plVar4,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0x13a4); *(int *)((longlong)param_1 + 0x13a4) = iVar2 + 1; *(undefined8 **)(*plVar4 + (longlong)iVar2 * 8) = puVar11; LAB_1814d4cff: if (puVar11 != (undefined8 *)0x0) { plVar4 = param_1 + 0x22c; plVar13 = (longlong *)*plVar4; iVar2 = *(int *)((longlong)param_1 + 0x116c); plVar12 = plVar13 + iVar2; for (; plVar13 != plVar12; plVar13 = plVar13 + 1) { if (puVar11 == (undefined8 *)*plVar13) goto LAB_1814d4d5f; } if (*(int *)(param_1 + 0x22d) < iVar2 + 1) { FUN_18047cb30(plVar4,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0x116c); *(int *)((longlong)param_1 + 0x116c) = iVar2 + 1; *(undefined8 **)(*plVar4 + (longlong)iVar2 * 8) = puVar11; LAB_1814d4d5f: if (puVar11 != (undefined8 *)0x0) { plVar4 = param_1 + 0x2ba; plVar13 = (longlong *)*plVar4; iVar2 = *(int *)((longlong)param_1 + 0x15dc); plVar12 = plVar13 + iVar2; for (; plVar13 != plVar12; plVar13 = plVar13 + 1) { if (puVar11 == (undefined8 *)*plVar13) goto LAB_1814d4dbf; } if (*(int *)(param_1 + 699) < iVar2 + 1) { FUN_18047cb30(plVar4,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0x15dc); *(int *)((longlong)param_1 + 0x15dc) = iVar2 + 1; *(undefined8 **)(*plVar4 + (longlong)iVar2 * 8) = puVar11; } } } } LAB_1814d4dbf: FUN_18133e970(plVar14,0); *(byte *)(param_1 + 0x1ce) = *(byte *)(param_1 + 0x1ce) & 0xdf; *(byte *)(param_1 + 0x1ce) = *(byte *)(param_1 + 0x1ce) | 0x80; *(byte *)(param_1 + 0x25c) = *(byte *)(param_1 + 0x25c) & 0xdf; *(byte *)(param_1 + 0x25c) = *(byte *)(param_1 + 0x25c) | 0x80; *(byte *)(param_1 + 0x215) = *(byte *)(param_1 + 0x215) & 0xdf; *(byte *)(param_1 + 0x215) = *(byte *)(param_1 + 0x215) | 0x80; *(byte *)(param_1 + 0x2a3) = *(byte *)(param_1 + 0x2a3) & 0xdf; *(byte *)(param_1 + 0x2a3) = *(byte *)(param_1 + 0x2a3) | 0x80; local_150 = CONCAT13(0x26,(int3)DAT_18262bb60); local_140 = local_150; local_13c = DAT_1826742e8; local_148 = 0; local_144 = DAT_1824c3ea4; puVar9 = (undefined8 *)0x0; *(undefined4 *)((longlong)param_1 + 0x177c) = 0; if (*(int *)(param_1 + 0x2ef) != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0x2ee]); } *(undefined4 *)(param_1 + 0x2ef) = 0; param_1[0x2eb] = 0; param_1[0x2ec] = 0x3f800000; *(undefined1 *)(param_1 + 0x2ed) = 0; puVar15 = &local_140; do { FUN_1812a1940(param_1 + 0x2eb,(double)(float)puVar15[-2],*puVar15); puVar15 = puVar15 + 1; } while (puVar15 != local_138); *(byte *)(param_1 + 0x2ea) = *(byte *)(param_1 + 0x2ea) & 0xef | 8; *(byte *)((longlong)param_1 + 0x1751) = *(byte *)((longlong)param_1 + 0x1751) & 0xf7; (**(code **)(*plVar16 + 0x58))(plVar16,1); FUN_181343cc0(param_1,plVar16,0xffffffff); FUN_181344e50(plVar16,param_1 + 0x6f); if (param_1[10] != 0) { puVar9 = *(undefined8 **)(param_1[10] + 0x10); } if (puVar9 != param_1 + 0x2f8) { FUN_18051b750(param_1 + 10); FUN_181341b10(param_1); } lVar3 = param_1[0x11a]; puVar9 = param_1 + 0x56; if (puVar9 != (undefined8 *)0x0) { plVar16 = (longlong *)(lVar3 + 0x140); plVar14 = (longlong *)*plVar16; iVar2 = *(int *)(lVar3 + 0x14c); plVar4 = plVar14 + iVar2; for (; plVar14 != plVar4; plVar14 = plVar14 + 1) { if (puVar9 == (undefined8 *)*plVar14) goto LAB_1814d4faf; } if (*(int *)(lVar3 + 0x148) < iVar2 + 1) { FUN_18047cb30(plVar16,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar3 + 0x14c); *(int *)(lVar3 + 0x14c) = iVar2 + 1; *(undefined8 **)(*plVar16 + (longlong)iVar2 * 8) = puVar9; } LAB_1814d4faf: puVar9 = (undefined8 *)FUN_1811316e0(0x48); local_100 = local_108; plVar4 = *(longlong **)param_1[0x58]; local_158 = puVar9; FUN_18049c4e0(local_108,"cancelpreset"); uVar8 = FUN_180576610(param_1[0x58],local_f0); local_110 = &DAT_1821dbf98; uVar10 = (**(code **)(*plVar4 + 0x10))(plVar4,local_f8,&local_110); puVar9 = (undefined8 *)FUN_181174a20(puVar9,uVar10,uVar8,local_108); plVar4 = param_1 + 0x2f4; if (plVar4 == local_d8) { if (puVar9 != (undefined8 *)0x0) { puVar11 = (undefined8 *)*puVar9; goto LAB_1814d505b; } } else { puVar5 = (undefined8 *)*plVar4; *plVar4 = (longlong)puVar9; if (puVar5 != (undefined8 *)0x0) { puVar11 = (undefined8 *)*puVar5; puVar9 = puVar5; LAB_1814d505b: (*(code *)*puVar11)(puVar9,1); } } pppuVar1 = (undefined ***)(param_1 + 0x89); local_c8 = std::_Func_impl_no_alloc<,void>::vftable; local_90 = &local_c8; local_40 = (longlong *)0x0; local_c0 = param_1; local_40 = (longlong *)(*(code *)PTR_FUN_1824b5290)(&local_c8,local_78); if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); local_90 = (undefined ***)0x0; } pppuVar6 = (undefined ***)param_1[0x90]; if (pppuVar6 != (undefined ***)0x0) { if (pppuVar6 == pppuVar1) { local_90 = (undefined ***)(*(code *)(*pppuVar6)[1])(pppuVar6,&local_c8); pppuVar6 = (undefined ***)param_1[0x90]; if (pppuVar6 == (undefined ***)0x0) goto LAB_1814d510e; (*(code *)(*pppuVar6)[4])(pppuVar6,pppuVar6 != pppuVar1); pppuVar6 = local_90; } local_90 = pppuVar6; param_1[0x90] = 0; } LAB_1814d510e: FUN_180488560(pppuVar1,local_78); if (local_40 != (longlong *)0x0) { (**(code **)(*local_40 + 0x20))(local_40,local_40 != local_78); } if (local_90 != (undefined ***)0x0) { (*(code *)(*local_90)[4])(local_90,local_90 != &local_c8); } if (param_1[0xd] == 0) { puVar11 = (undefined8 *)FUN_1811316e0(0x30); *puVar11 = juce::StandardCachedComponentImage::vftable; puVar11[1] = 0; puVar11[2] = 0; puVar11[3] = 0; puVar11[4] = param_1; *(undefined4 *)(puVar11 + 5) = 0x3f800000; puVar9 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar11; if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } } } ############ FUN_ 180571ae0 size=319 ############ undefined8 * FUN_180571ae0(undefined8 *param_1,undefined8 param_2,undefined8 *param_3) { undefined8 **ppuVar1; undefined4 uVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; undefined8 *local_98; undefined4 local_90; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; undefined8 local_70; undefined **local_68; undefined4 local_60; undefined4 uStack_5c; undefined4 uStack_58; undefined4 uStack_54; undefined ***local_30; local_78 = 0xfffffffffffffffe; local_res8 = param_1; puVar4 = (undefined8 *)FUN_1811316e0(0x48); local_res8 = (undefined8 *)*param_3; uVar2 = *(undefined4 *)(param_3 + 1); *puVar4 = 0; ppuVar1 = (undefined8 **)(puVar4 + 1); *ppuVar1 = (undefined8 *)0x0; *(undefined4 *)(puVar4 + 2) = 0; *(undefined8 *)((longlong)puVar4 + 0x14) = 0x3f800000; InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)puVar4 + 0x1c)); local_88 = param_2; uStack_80 = puVar4; local_70 = FUN_1811316e0(0x88); local_98 = local_res8; local_68 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_60 = (undefined4)local_88; uStack_5c = local_88._4_4_; uStack_58 = (undefined4)uStack_80; uStack_54 = uStack_80._4_4_; local_30 = &local_68; local_90 = uVar2; puVar5 = (undefined8 *) FUN_1813bb890(local_70,(longlong)puVar4 + 0x14,puVar4 + 2,&local_68,&local_98); if (ppuVar1 == &local_res8) { if (puVar5 == (undefined8 *)0x0) goto LAB_180571bfc; puVar6 = (undefined8 *)*puVar5; } else { puVar3 = *ppuVar1; *ppuVar1 = puVar5; if (puVar3 == (undefined8 *)0x0) goto LAB_180571bfc; puVar6 = (undefined8 *)*puVar3; puVar5 = puVar3; } (*(code *)*puVar6)(puVar5,1); LAB_180571bfc: *param_1 = puVar4; return param_1; } ############ FUN_ 180571d20 size=74 ############ undefined8 * FUN_180571d20(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(8); uVar1 = FUN_181252c60(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 180571d70 size=81 ############ undefined8 * FUN_180571d70(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; uVar1 = FUN_1811316e0(8,param_2,param_3,param_4,0xfffffffffffffffe); uVar1 = FUN_181252bd0(uVar1); *param_1 = uVar1; return param_1; } ############ FUN_ 181252bd0 size=106 ############ longlong * FUN_181252bd0(longlong *param_1,float param_2,undefined4 param_3) { undefined8 uVar1; longlong lVar2; float fVar3; uVar1 = FUN_1811316e0(0x40); fVar3 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= param_2) && (fVar3 = DAT_1824c45c8, param_2 <= DAT_1824c45c8)) { fVar3 = param_2; } lVar2 = FUN_1804a2b80(uVar1,param_3,fVar3); *param_1 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_1; } ############ FUN_ 180573680 size=113 ############ undefined8 * FUN_180573680(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x48); *puVar2 = std:: _Func_impl_no_alloc,void,juce::String,float> ::vftable; puVar2[8] = 0; puVar1 = *(undefined8 **)(param_1 + 0x38); if (puVar1 != (undefined8 *)0x0) { uVar3 = (**(code **)*puVar1)(puVar1,puVar2 + 1,param_3,param_4,uVar3); puVar2[8] = uVar3; } return puVar2; } ############ FUN_ 1805785f0 size=570 ############ void FUN_1805785f0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong *plVar2; char cVar3; undefined8 uVar4; longlong lVar5; uint *puVar6; byte *pbVar7; byte *pbVar8; longlong lVar9; longlong lVar10; byte *local_res8; longlong *local_res10; longlong local_res18; longlong local_res20; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; plVar2 = *(longlong **)(*param_1 + 0x448); lVar10 = 0; local_res10 = param_2; if (*(code **)(*plVar2 + 0x50) == FUN_181176450) { uVar4 = FUN_181248c30(param_2,&local_res20,FUN_181176450,param_4,0xfffffffffffffffe); FUN_181248e40(uVar4,&local_res8); puVar6 = (uint *)(local_res20 + -0x10); pbVar7 = local_res8; lVar9 = lVar10; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } while( true ) { while( true ) { pbVar8 = pbVar7 + 1; if (-1 < (char)*pbVar7) break; if ((*pbVar8 & 0xc0) != 0x80) goto LAB_1805786c7; do { pbVar8 = pbVar8 + 1; } while ((*pbVar8 & 0xc0) == 0x80); pbVar7 = pbVar8; lVar9 = lVar9 + 1; } if (*pbVar7 == 0) break; LAB_1805786c7: pbVar7 = pbVar8; lVar9 = lVar9 + 1; } if ((int)lVar9 == 0) { puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } goto LAB_1805787f2; } cVar3 = FUN_180486900(plVar2 + 6,&local_res8); FUN_181176290(plVar2); puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } else { cVar3 = (**(code **)(*plVar2 + 0x50))(plVar2); } if (cVar3 != '\0') { (**(code **)(**(longlong **)(*param_1 + 0x448) + 0x10))(); uVar4 = FUN_1811316e0(0x2b8); local_res18 = *param_2; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } lVar5 = FUN_18148b250(uVar4,&local_res18); lVar9 = lVar10; if (*param_1 != 0) { lVar9 = *param_1 + 0xe0; } FUN_18056aa40(lVar5 + 0xf0,lVar9); if (lVar5 != 0) { lVar10 = lVar5 + 200; } FUN_1815eeb30(*param_1 + 0x108,lVar10,*(int *)(*param_1 + 0x3c4) + -1,param_4,uVar11,uVar4); FUN_1815ecd00(*param_1 + 0x108); } LAB_1805787f2: puVar6 = (uint *)(*param_2 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return; } ############ FUN_ 181176290 size=428 ############ void FUN_181176290(longlong param_1) { LPCRITICAL_SECTION lpCriticalSection; longlong lVar1; undefined8 *puVar2; longlong lVar3; longlong *plVar4; undefined8 *_Memory; int iVar5; longlong lVar6; undefined8 *puVar7; longlong lVar8; longlong lVar9; char *local_res8; undefined8 *local_res10; LPCRITICAL_SECTION local_res18; lVar1 = *(longlong *)(param_1 + 8); puVar7 = *(undefined8 **)(lVar1 + 8); do { _Memory = puVar7; if (_Memory == (undefined8 *)0x0) { lVar6 = FUN_1812469a0(*(undefined8 *)(param_1 + 8),"KEYWORDS"); lVar9 = *(longlong *)(param_1 + 0x30); lVar1 = lVar9 + (longlong)*(int *)(param_1 + 0x3c) * 8; if (lVar9 != lVar1) { local_res8 = "KEYWORD"; do { puVar7 = (undefined8 *)FUN_1811316e0(0x20); *puVar7 = 0; plVar4 = puVar7 + 1; *plVar4 = 0; puVar7[2] = 0; local_res10 = puVar7; local_res18 = (LPCRITICAL_SECTION)(puVar7 + 3); lVar8 = FUN_18122bf10(); lpCriticalSection = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_res18 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); FUN_18122c130(lVar8); FUN_181211b90(puVar7 + 3,lVar8,&local_res8); LeaveCriticalSection(lpCriticalSection); lVar8 = FUN_1812207e0(lVar9); if (lVar8 != 0) { lVar3 = *plVar4; while (lVar3 != 0) { plVar4 = (longlong *)*plVar4; lVar3 = *plVar4; } *plVar4 = lVar8; } lVar8 = *(longlong *)(lVar6 + 8); plVar4 = (longlong *)(lVar6 + 8); while (lVar8 != 0) { plVar4 = (longlong *)*plVar4; lVar8 = *plVar4; } *plVar4 = (longlong)puVar7; lVar9 = lVar9 + 8; } while (lVar9 != lVar1); } return; } puVar7 = (undefined8 *)*_Memory; iVar5 = FUN_18049bb30(_Memory[3],"KEYWORDS"); } while (iVar5 != 0); puVar7 = (undefined8 *)(lVar1 + 8); puVar2 = *(undefined8 **)(lVar1 + 8); do { if (puVar2 == (undefined8 *)0x0) { LAB_181176317: FUN_1812472e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } if (puVar2 == _Memory) { puVar2 = (undefined8 *)*puVar7; if (puVar2 != (undefined8 *)0x0) { *puVar7 = *puVar2; *puVar2 = 0; } goto LAB_181176317; } puVar7 = puVar2; puVar2 = (undefined8 *)*puVar2; } while( true ); } ############ FUN_ 1812469a0 size=135 ############ undefined8 * FUN_1812469a0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; undefined8 uVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; puVar3 = (undefined8 *)FUN_1811316e0(0x20); *puVar3 = 0; puVar3[1] = 0; puVar3[2] = 0; uVar4 = FUN_18122bf10(); FUN_18122c330(uVar4,puVar3 + 3,param_2,param_4,uVar5); plVar1 = (longlong *)(param_1 + 8); lVar2 = *plVar1; while (lVar2 != 0) { plVar1 = (longlong *)*plVar1; lVar2 = *plVar1; } *plVar1 = (longlong)puVar3; return puVar3; } ############ FUN_ 18148b250 size=909 ############ undefined8 * FUN_18148b250(undefined8 *param_1,longlong *param_2) { uint uVar1; int iVar2; longlong lVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 uVar7; undefined8 uVar8; undefined8 *puVar9; uint *puVar10; longlong *plVar11; longlong *plVar12; longlong local_res20; longlong local_d8; longlong local_d0; undefined8 local_c8; undefined8 local_c0; undefined **local_b8; undefined8 *local_b0; undefined ***local_80; undefined1 local_78 [56]; local_c0 = 0xfffffffffffffffe; FUN_18056b680(); local_res20 = *param_2; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } FUN_1815fb460(param_1 + 0x19,&local_res20); puVar5 = param_1 + 0x1d; *param_1 = PresetKeywordMenuItem::vftable; param_1[0x16] = PresetKeywordMenuItem::vftable; param_1[0x19] = PresetKeywordMenuItem::vftable; *puVar5 = PresetKeywordMenuItem::vftable; param_1[0x1e] = 0; param_1[0x1f] = 0; param_1[0x20] = 0; FUN_181408890(param_1 + 0x21); lVar3 = *param_2; param_1[0x55] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } param_1[0x56] = 0; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_2); if (param_1[0xd] == 0) { puVar6 = (undefined8 *)FUN_1811316e0(0x30); *puVar6 = juce::StandardCachedComponentImage::vftable; puVar6[1] = 0; puVar6[2] = 0; puVar6[3] = 0; puVar6[4] = param_1; *(undefined4 *)(puVar6 + 5) = 0x3f800000; puVar9 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar6; if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } } uVar7 = FUN_1811316e0(0x3d8); local_c8 = uVar7; FUN_18049c4e0(&local_d0, "\n\n\n" ); FUN_18049c4e0(&local_d8,"delete keyword"); uVar8 = FUN_180576a30(local_78,&local_d0); uVar7 = FUN_1815f9c50(uVar7,&local_d8,uVar8,DAT_18262bb60); puVar9 = (undefined8 *)param_1[0x20]; param_1[0x20] = uVar7; if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } puVar10 = (uint *)(local_d8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_d0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } plVar4 = (longlong *)param_1[0x20]; if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x58))(plVar4,1); FUN_181343cc0(param_1,plVar4,0xffffffff); } FUN_181342bf0(param_1[0x20],0); lVar3 = param_1[0x20]; if (puVar5 != (undefined8 *)0x0) { plVar12 = (longlong *)(lVar3 + 0x160); plVar11 = (longlong *)*plVar12; iVar2 = *(int *)(lVar3 + 0x16c); plVar4 = plVar11 + iVar2; for (; plVar11 != plVar4; plVar11 = plVar11 + 1) { if (puVar5 == (undefined8 *)*plVar11) goto LAB_18148b50f; } if (*(int *)(lVar3 + 0x168) < iVar2 + 1) { FUN_18047cb30(plVar12,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar3 + 0x16c); *(int *)(lVar3 + 0x16c) = iVar2 + 1; *(undefined8 **)(*plVar12 + (longlong)iVar2 * 8) = puVar5; } LAB_18148b50f: FUN_181341570(param_1[0x20],param_1,0); FUN_181410d30(param_1 + 0x21,"deleteButtonAlpha",0); local_b8 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_80 = &local_b8; local_b0 = param_1; FUN_181410000(param_1 + 0x21,&local_b8); if (param_1[0xd] == 0) { puVar9 = (undefined8 *)FUN_1811316e0(0x30); *puVar9 = juce::StandardCachedComponentImage::vftable; puVar9[1] = 0; puVar9[2] = 0; puVar9[3] = 0; puVar9[4] = param_1; *(undefined4 *)(puVar9 + 5) = 0x3f800000; puVar5 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar9; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } } puVar10 = (uint *)(*param_2 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } return param_1; } ############ FUN_ 180579d20 size=102 ############ undefined8 * FUN_180579d20(undefined8 *param_1,undefined4 *param_2) { undefined4 uVar1; undefined4 *puVar2; puVar2 = (undefined4 *)FUN_1811316e0(0x20); uVar1 = *param_2; *(undefined8 *)(puVar2 + 2) = 0; *(undefined8 *)(puVar2 + 4) = 0; *(undefined8 *)(puVar2 + 6) = 0; *(undefined8 *)(puVar2 + 2) = *(undefined8 *)(param_2 + 2); *(undefined8 *)(puVar2 + 4) = *(undefined8 *)(param_2 + 4); *puVar2 = uVar1; *(undefined8 *)(puVar2 + 6) = *(undefined8 *)(param_2 + 6); *(undefined8 *)(param_2 + 2) = 0; *(undefined8 *)(param_2 + 4) = 0; *(undefined8 *)(param_2 + 6) = 0; *param_1 = puVar2; return param_1; } ############ FUN_ 18114e120 size=657 ############ void FUN_18114e120(longlong param_1,longlong *param_2) { void *pvVar1; uint uVar2; double dVar3; double dVar4; code *pcVar5; undefined8 *puVar6; char cVar7; char cVar8; undefined8 uVar9; undefined8 *puVar10; longlong lVar11; longlong *plVar12; uint *_Memory; void *pvVar13; undefined8 *puVar14; void *local_58; int local_4c; cVar7 = *(char *)(param_1 + 0x10c); puVar14 = *(undefined8 **)(param_1 + 0x50); puVar6 = puVar14 + *(int *)(param_1 + 0x5c); LAB_18114e161: do { if (puVar14 == puVar6) { LAB_18114e365: _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } plVar12 = (longlong *)*puVar14; pcVar5 = *(code **)(*plVar12 + 0x10); if (pcVar5 == .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__) { (**(code **)(*plVar12 + 8))(plVar12,&local_58); pvVar1 = (void *)((longlong)local_58 + (longlong)local_4c * 8); pvVar13 = local_58; while( true ) { if (pvVar13 == pvVar1) { FUN_180488c50(&local_58); /* WARNING: Subroutine does not return */ free(local_58); } cVar7 = FUN_18123fe10(param_2); if (cVar7 != '\0') break; pvVar13 = (void *)((longlong)pvVar13 + 8); } FUN_180488c50(&local_58); /* WARNING: Subroutine does not return */ free(local_58); } cVar8 = (*pcVar5)(plVar12,param_2); if (cVar8 != '\0') { uVar9 = FUN_1811316e0(0x28); puVar10 = (undefined8 *)FUN_18123efe0(uVar9,param_2); if (*(char *)puVar10[4] == '\0') { lVar11 = (**(code **)(*plVar12 + 0x50))(plVar12,puVar10,1); if (lVar11 == 0) goto LAB_18114e25c; plVar12 = (longlong *)FUN_1811316e0(0x28); *plVar12 = (longlong)juce::AudioFormatReaderSource::vftable; plVar12[1] = lVar11; *(undefined1 *)(plVar12 + 2) = 1; plVar12[3] = 0; *(undefined1 *)(plVar12 + 4) = 0; if ((undefined **)*plVar12 == juce::AudioFormatReaderSource::vftable) { *(undefined1 *)(plVar12 + 4) = 1; } else { (*(code *)((undefined **)*plVar12)[8])(plVar12,1); } uVar9 = *(undefined8 *)(lVar11 + 8); FUN_1813baca0(param_1 + 0x70,plVar12); puVar6 = *(undefined8 **)(param_1 + 0x68); *(longlong **)(param_1 + 0x68) = plVar12; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } if (cVar7 != '\0') { dVar3 = *(double *)(param_1 + 0x110); if (0.0 < dVar3) { lVar11 = (longlong)(dVar3 * 0.0); plVar12 = *(longlong **)(param_1 + 200); if (plVar12 != (longlong *)0x0) { dVar4 = *(double *)(param_1 + 0x118); if (0.0 < dVar4) { lVar11 = (longlong)(((double)lVar11 * dVar4) / dVar3); } (**(code **)(*plVar12 + 0x20))(plVar12,lVar11,dVar3,dVar4,uVar9); if (*(longlong *)(param_1 + 0xb8) != 0) { FUN_1812aa290(); } *(undefined1 *)(param_1 + 0x129) = 0; } } FUN_1813bab70(param_1 + 0x70); } goto LAB_18114e365; } (**(code **)*puVar10)(puVar10,1); puVar14 = puVar14 + 1; goto LAB_18114e161; } LAB_18114e25c: puVar14 = puVar14 + 1; } while( true ); } ############ FUN_ 1814c67f0 size=1393 ############ void FUN_1814c67f0(longlong param_1) { int iVar1; undefined8 *puVar2; longlong lVar3; float fVar4; double dVar5; uint uVar6; int iVar7; longlong *plVar8; longlong *plVar9; longlong lVar10; undefined8 uVar11; undefined8 *puVar12; longlong *plVar13; longlong lVar14; float fVar15; float fVar16; float fVar17; undefined4 local_res10; undefined4 local_res18; undefined1 *puVar18; undefined4 uVar19; undefined8 local_1f0; undefined8 uStack_1e8; undefined8 local_1e0; longlong local_1d8; undefined8 local_1d0; undefined8 uStack_1c8; double local_1c0; double local_1b8; double local_1b0; longlong *local_1a8; byte local_1a0; undefined8 local_198; undefined8 local_190; longlong local_188; undefined8 *local_180; longlong *local_178; undefined **local_170; longlong *local_168; undefined ***local_138; undefined **local_130; longlong *local_128; undefined ***local_f8; undefined1 local_f0 [16]; undefined1 local_e0 [56]; undefined8 local_a8; local_198 = 0xfffffffffffffffe; FUN_1814c65c0(); puVar2 = *(undefined8 **)(*(longlong *)(param_1 + 0xd8) + 0x98); puVar12 = *(undefined8 **)(*(longlong *)(param_1 + 0xd8) + 0x90); fVar4 = DAT_1824c41e0; dVar5 = DAT_1824c4520; uVar6 = DAT_1824c4f30; do { DAT_1824c41e0 = fVar4; DAT_1824c4520 = dVar5; DAT_1824c4f30 = uVar6; if (puVar12 == puVar2) { lVar14 = *(longlong *)(*(longlong *)(param_1 + 0xd8) + 0xa8); lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xd8) + 0xb0); if (lVar14 != lVar3) { local_180 = &local_1f0; do { plVar9 = (longlong *)FUN_1811316e0(1000); local_1f0 = 0; uStack_1e8 = 0; local_1e0 = 0; local_1d8 = *(longlong *)(lVar14 + 0x18); if ((*(uint *)(local_1d8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1d8 + -0x10) = *(int *)(local_1d8 + -0x10) + 1; UNLOCK(); } local_178 = plVar9; FUN_1812217a0(&local_1f0,lVar14); local_1d0 = *(undefined8 *)(lVar14 + 0x20); uStack_1c8 = *(undefined8 *)(lVar14 + 0x28); FUN_180579c10(plVar9,"Tutorial float"); *plVar9 = (longlong)CloudyTutorialFloat::vftable; plVar9[0x16] = (longlong)CloudyTutorialFloat::vftable; FUN_180577240(plVar9 + 0x19,&local_1f0); plVar13 = plVar9 + 0x1f; FUN_1814cd550(plVar13); FUN_1815f84a0(plVar9 + 0x47); *(undefined4 *)(plVar9 + 0x7c) = 0x3f000000; FUN_1814cdcf0(plVar13,&local_1f0); local_res10 = CONCAT13(0x7f,(int3)DAT_18262bb60); *(undefined4 *)(plVar9 + 0x3e) = local_res10; (**(code **)(*plVar13 + 0x58))(plVar13,1); FUN_181343cc0(plVar9,plVar13,0xffffffff); *(byte *)(plVar9 + 0x15) = *(byte *)(plVar9 + 0x15) & 0xef | 8; local_res18 = CONCAT13(0x19,(int3)DAT_18262bb5c); *(undefined4 *)((longlong)plVar9 + 0x30c) = local_res18; local_a8 = 0; local_170 = std:: _Func_impl_no_alloc<,juce::Path*___ptr64> ::vftable; local_138 = &local_170; local_130 = std::_Func_impl_no_alloc<,int>:: vftable; local_f8 = &local_130; puVar18 = local_e0; local_168 = plVar9; local_128 = plVar9; FUN_1815f8200(plVar9 + 0x47,plVar9,&local_130,&local_170,puVar18); uVar19 = (undefined4)((ulonglong)puVar18 >> 0x20); FUN_1812472e0(&local_1f0); uVar11 = *(undefined8 *)(param_1 + 0x130); (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(uVar11,plVar9,0xffffffff); if ((undefined **)*plVar9 == CloudyTutorialFloat::vftable) { fVar16 = *(float *)((longlong)plVar9 + 0xf4); lVar10 = (**(code **)(plVar9[0x16] + 8))(); fVar17 = (float)((uint)(*(float *)(lVar10 + 0x88) * fVar16 * *(float *)(plVar9 + 0x7c)) ^ uVar6); fVar16 = fVar17 * fVar4 + (float)(int)plVar9[5]; if (fVar16 <= 0.0) { fVar16 = 0.0; } fVar15 = fVar17 * fVar4 + (float)*(int *)((longlong)plVar9 + 0x2c); if (fVar15 <= 0.0) { fVar15 = 0.0; } local_1c0 = (double)(0.0 - fVar17) + dVar5; local_1b8 = (double)fVar16 + dVar5; local_1b0 = (double)fVar15 + dVar5; FUN_18134bfe0(plVar13,(ulonglong)((double)(0.0 - fVar17) + dVar5) & 0xffffffff, (ulonglong)local_1c0 & 0xffffffff,(ulonglong)local_1b8 & 0xffffffff, CONCAT44(uVar19,local_1b0._0_4_)); } else { (*(code *)((undefined **)*plVar9)[0x21])(plVar9); } iVar1 = *(int *)(param_1 + 0xd24); iVar7 = iVar1 + 1; if (*(int *)(param_1 + 0xd20) < iVar7) { if (iVar7 < 0) { iVar7 = iVar1 + 2; } FUN_18047cb30((longlong *)(param_1 + 0xd18),iVar1 + 9 + (iVar7 >> 1) & 0xfffffff8); } iVar7 = *(int *)(param_1 + 0xd24); *(int *)(param_1 + 0xd24) = iVar7 + 1; *(longlong **)(*(longlong *)(param_1 + 0xd18) + (longlong)iVar7 * 8) = plVar9; lVar14 = lVar14 + 0x30; } while (lVar14 != lVar3); } lVar14 = *(longlong *)(*(longlong *)(param_1 + 0xd8) + 0x70); lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xd8) + 0x78); if (lVar14 != lVar3) { do { uVar11 = FUN_1811316e0(1000); lVar10 = FUN_1814ceea0(uVar11,lVar14); if (lVar10 != 0) { FUN_181343cc0(param_1,lVar10,0xffffffff); } iVar1 = *(int *)(param_1 + 0xd04); iVar7 = iVar1 + 1; if (*(int *)(param_1 + 0xd00) < iVar7) { if (iVar7 < 0) { iVar7 = iVar1 + 2; } FUN_18047cb30((longlong *)(param_1 + 0xcf8),iVar1 + 9 + (iVar7 >> 1) & 0xfffffff8); } iVar7 = *(int *)(param_1 + 0xd04); *(int *)(param_1 + 0xd04) = iVar7 + 1; *(longlong *)(*(longlong *)(param_1 + 0xcf8) + (longlong)iVar7 * 8) = lVar10; FUN_181341570(lVar10,param_1,1); lVar14 = lVar14 + 0x60; } while (lVar14 != lVar3); } return; } uVar11 = *puVar12; plVar13 = *(longlong **)(*(longlong *)(param_1 + 0x130) + 0x40); plVar9 = plVar13 + *(int *)(*(longlong *)(param_1 + 0x130) + 0x4c); local_190 = uVar11; for (; plVar13 != plVar9; plVar13 = plVar13 + 1) { plVar8 = (longlong *)*plVar13; local_188 = plVar8[2]; iVar7 = FUN_18048cbc0(local_188,uVar11); if ((iVar7 == 0) || (plVar8 = (longlong *)FUN_1813438f0(plVar8,uVar11,1), plVar8 != (longlong *)0x0)) { if (plVar8 != (longlong *)0x0) { local_1a0 = *(byte *)(plVar8 + 0x15) >> 1 & 1; local_1a8 = plVar8; FUN_18057bd50(param_1 + 0xd08,local_f0); (**(code **)(*plVar8 + 0x58))(plVar8,0); } break; } } puVar12 = puVar12 + 1; fVar4 = DAT_1824c41e0; dVar5 = DAT_1824c4520; uVar6 = DAT_1824c4f30; } while( true ); } ############ FUN_ 1814cd650 size=1637 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814cd650(longlong param_1) { int *piVar1; uint uVar2; undefined4 uVar3; DWORD DVar4; undefined8 *puVar5; ulonglong *puVar6; longlong lVar7; longlong *plVar8; undefined8 *puVar9; undefined8 uVar10; undefined8 *puVar11; int iVar12; ulonglong uVar13; uint *puVar14; uint *puVar15; undefined8 *puVar16; int iVar17; bool bVar18; undefined1 auStack_1e8 [32]; longlong local_1c8; char *local_1b8; undefined4 local_1b0 [2]; longlong local_1a8; longlong local_1a0; longlong *local_198; float local_190; float local_18c; float local_188; float local_184; undefined1 *local_180; longlong local_178; undefined8 local_170; longlong local_168; void *local_160; longlong *local_158; longlong local_150; undefined8 *local_148; undefined8 *local_140; undefined8 *local_138; longlong *local_130; undefined8 *local_128; longlong local_120; undefined8 *local_118; undefined1 *local_110; void *local_108; undefined4 local_fc; float local_f8; float local_f4; float local_f0; float local_ec; longlong local_e0; undefined8 local_d8; undefined8 local_d0; undefined1 local_c8 [8]; undefined8 local_c0; undefined8 local_b8; undefined8 *local_b0; undefined8 local_a8; undefined8 local_a0; undefined8 local_98; undefined8 local_90; undefined8 local_88; undefined8 uStack_80; undefined1 local_78 [55]; undefined1 local_41; ulonglong local_40 [3]; local_90 = 0xfffffffffffffffe; local_40[0] = DAT_182615970 ^ (ulonglong)auStack_1e8; plVar8 = (longlong *)(param_1 + 0x130); lVar7 = *plVar8; local_198 = plVar8; local_120 = param_1; FUN_18048a070(plVar8,*(undefined8 *)(lVar7 + 8)); *(longlong *)(*plVar8 + 8) = lVar7; *(longlong *)*plVar8 = lVar7; *(longlong *)(*plVar8 + 0x10) = lVar7; *(undefined8 *)(param_1 + 0x138) = 0; puVar5 = (undefined8 *)FUN_1811316e0(0x170); local_110 = &DAT_1821dbf98; local_180 = &DAT_1821dbf98; local_138 = puVar5; FUN_181254d40(puVar5,&local_180,&local_110); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar18 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar18) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar18 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar18) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *puVar5 = juce::CustomTypeface::vftable; puVar5[0xc] = 0; puVar5[0xd] = 0; FUN_181253f80(puVar5); puVar6 = (ulonglong *)FUN_18123aca0(); uVar13 = *puVar6 * 0x5deece66d + 0xb & 0xffffffffffff; *puVar6 = uVar13; lVar7 = FUN_181233e10(local_40,uVar13 >> 0x10); FUN_180495150(&local_1a0,lVar7,&local_41 + -lVar7); FUN_18049c4e0(&local_1a8,"icon font"); plVar8 = (longlong *)FUN_181232d30(&local_1a8,&local_1a0); local_178 = *plVar8; puVar15 = (uint *)(local_178 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); *puVar15 = *puVar15 + 1; UNLOCK(); } puVar14 = (uint *)(local_1a8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if ((*puVar15 & 0x30000000) == 0) { LOCK(); *puVar15 = *puVar15 + 1; UNLOCK(); } LOCK(); lVar7 = puVar5[2]; puVar5[2] = local_178; UNLOCK(); puVar14 = (uint *)(lVar7 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } *(undefined4 *)(puVar5 + 0xb) = 1; *(undefined4 *)((longlong)puVar5 + 0x5c) = 0x3e99999a; FUN_18049c4e0(&local_170,"Regular"); local_e0 = puVar5[3]; puVar5[3] = local_170; puVar14 = (uint *)(local_e0 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } puVar15 = (uint *)(local_1a0 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } uVar3 = DAT_1824c3f20; local_130 = (longlong *)(param_1 + 0x108); iVar17 = 1; do { iVar12 = 0; for (puVar9 = (undefined8 *)*local_130; puVar9 != (undefined8 *)0x0; puVar9 = (undefined8 *)*puVar9) { iVar12 = iVar12 + 1; } if (iVar12 <= iVar17 + -1) { LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); local_128 = puVar5; puVar9 = (undefined8 *)FUN_181252c60(&local_118,&local_128); local_98 = *(undefined8 *)(local_120 + 0x120); *(undefined8 *)(local_120 + 0x120) = *puVar9; *puVar9 = local_98; if (local_118 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_118 + 1); iVar17 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar17 == 1) { (**(code **)*local_118)(local_118,1); } } LOCK(); piVar1 = (int *)(puVar5 + 1); iVar17 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar17 == 1) { (**(code **)*puVar5)(puVar5,1); } } iVar12 = iVar17 + -2; plVar8 = local_130; while ((-1 < iVar12 && ((longlong *)*plVar8 != (longlong *)0x0))) { iVar12 = iVar12 + -1; plVar8 = (longlong *)*plVar8; } lVar7 = *plVar8; iVar12 = FUN_18048cbc0(*(undefined8 *)(lVar7 + 0x18),&DAT_1822845d4); if (iVar12 == 0) { for (puVar9 = *(undefined8 **)(lVar7 + 0x10); puVar9 != (undefined8 *)0x0; puVar9 = (undefined8 *)*puVar9) { local_d8 = puVar9[1]; iVar12 = FUN_18048cbc0(local_d8,&DAT_182284884); if (iVar12 == 0) { puVar9 = puVar9 + 2; goto LAB_1814cd9bc; } } puVar9 = (undefined8 *)FUN_181220d40(); LAB_1814cd9bc: uVar10 = FUN_1814d9640(&local_168); local_d0 = *puVar9; FUN_181245100(uVar10,&local_1b8); puVar15 = (uint *)(local_168 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } if (*local_1b8 == '\0') { LAB_1814cda2f: bVar18 = false; } else { puVar11 = (undefined8 *)FUN_18049a930(local_c8,&local_1b8); DVar4 = GetFileAttributesW((LPCWSTR)*puVar11); bVar18 = true; if ((DVar4 & 0x10) != 0) goto LAB_1814cda2f; } if (bVar18) { uVar10 = FUN_181244920(&local_1b8,&local_150); FUN_1812483a0(&local_160,uVar10); FUN_18132eac0(&local_158,local_160); (**(code **)(*local_158 + 0x160))(local_158,&local_108); (**(code **)*local_158)(local_158,1); if (local_160 != (void *)0x0) { FUN_1812472e0(local_160); /* WARNING: Subroutine does not return */ free(local_160); } puVar15 = (uint *)(local_150 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } local_88 = _DAT_1824c4b60; uStack_80 = _UNK_1824c4b68; local_1b0[0] = 0x24; local_184 = local_ec - local_f0; local_188 = local_f4 - local_f8; local_190 = local_f8; local_18c = local_f0; FUN_1812971a0(local_1b0,local_78,&local_190,&local_88); FUN_18129b680(&local_108,local_78); FUN_181253de0(puVar5,iVar17,&local_108,uVar3); local_b0 = (undefined8 *)*local_198; puVar5 = local_b0; if (*(char *)((longlong)local_b0[1] + 0x19) == '\0') { uVar10 = *puVar9; puVar16 = local_b0; puVar11 = (undefined8 *)local_b0[1]; local_c0 = uVar10; do { puVar5 = puVar11; local_b8 = puVar5[4]; iVar12 = FUN_18048cbc0(local_b8,uVar10); if (iVar12 < 0) { puVar11 = (undefined8 *)puVar5[2]; puVar5 = puVar16; } else { puVar11 = (undefined8 *)*puVar5; } puVar16 = puVar5; } while (*(char *)((longlong)puVar11 + 0x19) == '\0'); } plVar8 = local_198; if (puVar5 != local_b0) { local_a8 = puVar5[4]; local_a0 = *puVar9; iVar12 = FUN_18048cbc0(); if (-1 < iVar12) goto LAB_1814cdbf2; } local_148 = puVar9; local_1c8 = FUN_18048fc10(plVar8); FUN_18048fc70(plVar8,&local_140,puVar5,local_1c8 + 0x20); puVar5 = local_140; LAB_1814cdbf2: *(int *)(puVar5 + 5) = iVar17; local_fc = 0; /* WARNING: Subroutine does not return */ free(local_108); } puVar15 = (uint *)(local_1b8 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } } iVar17 = iVar17 + 1; } while( true ); } ############ FUN_ 18057c850 size=212 ############ undefined8 * FUN_18057c850(longlong param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x28); *puVar1 = 0; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; *(undefined1 *)(puVar1 + 4) = 1; (**(code **)(*(longlong *)(*(longlong *)(param_1 + 8) + 0xb0) + 8))(); FUN_18129d5a0(puVar1,0); return puVar1; } ############ FUN_ 18057cd60 size=145 ############ undefined8 * FUN_18057cd60(void) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x28); *puVar1 = 0; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; *(undefined1 *)(puVar1 + 4) = 1; FUN_18129d850(puVar1,0); return puVar1; } ############ FUN_ 1811caa60 size=1010 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811caa60(undefined8 param_1,longlong *param_2) { uint uVar1; char cVar2; undefined8 *puVar3; longlong *plVar4; longlong *plVar5; int iVar6; uint *puVar7; undefined8 *puVar8; bool bVar9; undefined1 auStack_118 [32]; longlong local_f8; longlong *local_f0; longlong local_e8; undefined1 *local_e0; longlong local_d8; undefined8 local_d0; longlong local_c8; undefined **local_c0; undefined8 local_b8; undefined **local_b0; longlong local_a8; undefined8 local_a0; longlong *local_98; undefined **local_90; longlong local_88; undefined **local_80; longlong local_78; longlong *local_70; undefined1 local_68 [8]; undefined **local_60; longlong *local_58; longlong *local_50; undefined1 local_48 [8]; ulonglong local_40; local_a0 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_118; local_d0 = param_1; local_98 = param_2; puVar3 = (undefined8 *) .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (param_1,&local_50); (**(code **)(*(longlong *)*puVar3 + 0x20))((longlong *)*puVar3,&local_d8,puVar3 + 1); (**(code **)(*local_50 + 0xb0))(local_50,local_48); FUN_181249700(&local_70,&local_d8); cVar2 = (**(code **)(*local_70 + 0x90))(); if (cVar2 == '\0') { FUN_18049c4e0(&local_e8,&DAT_1821d9354); plVar4 = (longlong *)FUN_181232d30(&local_e8,param_2); local_f8 = *plVar4; if ((*(uint *)(local_f8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f8 + -0x10) = *(int *)(local_f8 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(local_e8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_f0 = &local_f8; FUN_181232e20(&local_f8,&DAT_1821d9324,&DAT_1821d9326); local_e0 = (undefined1 *)local_f8; if ((*(uint *)(local_f8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f8 + -0x10) = *(int *)(local_f8 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(local_f8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_b0 = &PTR_vftable_18262b560; local_a8 = local_f8; local_e0 = &DAT_1821dbf98; FUN_1811d0a50(param_1,&local_b0); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } else { plVar4 = (longlong *)(**(code **)(*local_70 + 0x38))(local_70,local_68); local_90 = &PTR_vftable_18262b560; local_88 = *param_2; if ((*(uint *)(local_88 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_88 + -0x10) = *(int *)(local_88 + -0x10) + 1; UNLOCK(); } puVar3 = (undefined8 *)*plVar4; puVar8 = puVar3 + (longlong)*(int *)((longlong)plVar4 + 0xc) * 2; for (; puVar3 != puVar8; puVar3 = puVar3 + 2) { cVar2 = (**(code **)(*local_90 + 0xc0))(local_90,&local_88,puVar3 + 1,*puVar3); if (cVar2 != '\0') { bVar9 = true; goto LAB_1811cab7b; } } bVar9 = false; LAB_1811cab7b: (**(code **)(*local_90 + 0xb0))(local_90,&local_88); if (!bVar9) { local_80 = &PTR_vftable_18262b560; local_78 = *param_2; if ((*(uint *)(local_78 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } iVar6 = *(int *)((longlong)plVar4 + 0xc) + 1; if ((int)plVar4[1] < iVar6) { FUN_180489a50(plVar4,*(int *)((longlong)plVar4 + 0xc) + 9 + iVar6 / 2 & 0xfffffff8); } iVar6 = *(int *)((longlong)plVar4 + 0xc); *(int *)((longlong)plVar4 + 0xc) = iVar6 + 1; puVar3 = (undefined8 *)((longlong)iVar6 * 0x10 + *plVar4); *puVar3 = local_80; puVar3[1] = local_78; local_80 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_78); local_60 = &PTR_vftable_18262b4c8; plVar5 = (longlong *)FUN_1811316e0(0x20); *(undefined4 *)(plVar5 + 1) = 0; *plVar5 = (longlong)juce::var::VariantType_Array::RefCountedArray::vftable; local_f0 = plVar5; FUN_18049b170(plVar5 + 2,plVar4); LOCK(); *(int *)(plVar5 + 1) = (int)plVar5[1] + 1; UNLOCK(); local_58 = plVar5; puVar3 = (undefined8 *)FUN_1812495e0(&local_c8,&local_60,1); local_c0 = &PTR_vftable_18262b560; local_b8 = *puVar3; *puVar3 = &DAT_1821dbf98; FUN_1811d0a50(local_d0,&local_c0); puVar7 = (uint *)(local_c8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } (**(code **)(*local_60 + 0xb0))(local_60,&local_58); } } (**(code **)(*local_70 + 0xb0))(local_70,local_68); puVar7 = (uint *)(local_d8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(*param_2 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } ############ FUN_ 18057dab0 size=203 ############ void FUN_18057dab0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 uVar2; undefined8 uVar3; uint uVar4; undefined8 local_res8; undefined8 local_res10; undefined8 local_res18; plVar1 = *(longlong **)(param_1 + 8); if (0 < (int)plVar1[9]) { FUN_1811528b0(plVar1,&local_res10,param_3,param_4,0xfffffffffffffffe); uVar4 = (int)plVar1[9] - 1; uVar2 = 0; if (uVar4 < *(uint *)((longlong)plVar1 + 0x44)) { uVar2 = *(undefined8 *)(plVar1[7] + (longlong)(int)uVar4 * 8); } FUN_18115d300(plVar1,uVar2); FUN_1811528b0(plVar1,&local_res8); local_res18 = FUN_1811316e0(0x28); uVar3 = local_res10; uVar2 = local_res8; local_res8 = 0; local_res10 = 0; uVar2 = FUN_181152830(local_res18,uVar3,uVar2,plVar1); if (*(char *)(*plVar1 + 0x1b8) == '\0') { uVar3 = FUN_18118c230(); FUN_181352640(uVar3); FUN_1813526d0(uVar3,uVar2); } } return; } ############ FUN_ 1811528b0 size=244 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811528b0(undefined8 *param_1,undefined8 *param_2) { undefined8 *puVar1; undefined8 *puVar2; undefined8 uVar3; undefined1 auStack_88 [32]; undefined8 *local_68; undefined1 *local_60; undefined1 local_58 [8]; undefined8 local_50 [2]; undefined8 local_40; undefined8 local_38; longlong *local_30; undefined1 local_28 [8]; ulonglong local_20; local_40 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_88; local_68 = param_2; puVar1 = (undefined8 *)(**(code **)(param_1[1] + 0x10))(param_1 + 1,&local_30); local_60 = &DAT_1821dbf98; puVar2 = (undefined8 *) (**(code **)(*(longlong *)*param_1 + 0x10))((longlong *)*param_1,&local_68,&local_60); uVar3 = FUN_1811316e0(0x40); local_38 = uVar3; (**(code **)(*(longlong *)*puVar1 + 0x20))((longlong *)*puVar1,local_58,puVar1 + 1); local_50[0] = *puVar2; *puVar2 = 0; uVar3 = FUN_181182b70(uVar3,local_50,local_58); puVar1 = local_68; *param_2 = uVar3; if (local_68 != (undefined8 *)0x0) { FUN_1812472e0(local_68); /* WARNING: Subroutine does not return */ free(puVar1); } (**(code **)(*local_30 + 0xb0))(local_30,local_28); } ############ FUN_ 18057db80 size=207 ############ void .?AVSoothe2_DynamicCryptoManager@eden@pace@@::vtbl___AVSoothe2_DynamicCryptoManager_eden_pace__ (longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 uVar2; undefined8 uVar3; uint uVar4; undefined8 local_res8; undefined8 local_res10; undefined8 local_res18; plVar1 = *(longlong **)(param_1 + 8); if ((int)plVar1[9] < *(int *)((longlong)plVar1 + 0x44) + -1) { FUN_1811528b0(plVar1,&local_res10,param_3,param_4,0xfffffffffffffffe); uVar4 = (int)plVar1[9] + 1; uVar2 = 0; if (uVar4 < *(uint *)((longlong)plVar1 + 0x44)) { uVar2 = *(undefined8 *)(plVar1[7] + (longlong)(int)uVar4 * 8); } FUN_18115d300(plVar1,uVar2); FUN_1811528b0(plVar1,&local_res8); local_res18 = FUN_1811316e0(0x28); uVar3 = local_res10; uVar2 = local_res8; local_res8 = 0; local_res10 = 0; uVar2 = FUN_181152830(local_res18,uVar3,uVar2,plVar1); if (*(char *)(*plVar1 + 0x1b8) == '\0') { uVar3 = FUN_18118c230(); FUN_181352640(uVar3); FUN_1813526d0(uVar3,uVar2); } } return; } ############ FUN_ 1805832e0 size=546 ############ ulonglong * FUN_1805832e0(longlong param_1,ulonglong param_2) { longlong *plVar1; void *_Memory; uint uVar2; int iVar3; ulonglong *puVar4; undefined8 *puVar5; ulonglong uVar6; ulonglong *puVar7; longlong lVar8; undefined4 uVar9; longlong lVar10; undefined8 *puVar11; undefined8 *local_38; undefined8 local_30; plVar1 = (longlong *)(param_1 + 8); iVar3 = (int)(param_2 % (ulonglong)(longlong)*(int *)(param_1 + 0x14)); puVar7 = *(ulonglong **)((longlong)iVar3 * 8 + *plVar1); for (puVar4 = puVar7; puVar4 != (ulonglong *)0x0; puVar4 = (ulonglong *)puVar4[2]) { if (*puVar4 == param_2) { return puVar4 + 1; } } puVar4 = (ulonglong *)FUN_1811316e0(0x18); *(undefined4 *)(puVar4 + 1) = 0; *puVar4 = param_2; puVar4[2] = (ulonglong)puVar7; if (-1 < iVar3) { if (iVar3 < *(int *)(param_1 + 0x14)) { *(ulonglong **)((longlong)iVar3 * 8 + *plVar1) = puVar4; } else { FUN_18047e060(plVar1,*(int *)(param_1 + 0x14) + 1); iVar3 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar3 + 1; *(ulonglong **)(*plVar1 + (longlong)iVar3 * 8) = puVar4; } } *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + 1; if ((*(int *)(param_1 + 0x14) * 3) / 2 < *(int *)(param_1 + 0x18)) { puVar5 = (undefined8 *)0x0; uVar2 = *(int *)(param_1 + 0x14) * 2; uVar6 = (ulonglong)uVar2; local_38 = (undefined8 *)0x0; local_30 = 0; puVar11 = puVar5; if (0 < (int)uVar2) { FUN_18047e060(&local_38); puVar11 = local_38; iVar3 = local_30._4_4_; if (local_30._4_4_ != 0) { memmove(local_38 + (int)uVar2,local_38,(longlong)local_30._4_4_ << 3); } puVar5 = puVar11; if (0 < (int)uVar2) { do { *puVar5 = 0; uVar6 = uVar6 - 1; puVar5 = puVar5 + 1; } while (uVar6 != 0); } puVar5 = (undefined8 *)(ulonglong)(iVar3 + uVar2); local_30 = CONCAT44(iVar3 + uVar2,(undefined4)local_30); } uVar9 = SUB84(puVar5,0); iVar3 = *(int *)(param_1 + 0x14) + -1; lVar8 = (longlong)iVar3; if (-1 < iVar3) { do { puVar7 = *(ulonglong **)(*plVar1 + lVar8 * 8); if (puVar7 != (ulonglong *)0x0) { do { puVar4 = (ulonglong *)puVar7[2]; iVar3 = (int)(*puVar7 % (ulonglong)(longlong)(int)uVar2); puVar7[2] = puVar11[iVar3]; if (-1 < iVar3) { if (iVar3 < (int)puVar5) { puVar11[iVar3] = puVar7; } else { FUN_18047e060(&local_38); lVar10 = (longlong)local_30._4_4_; puVar5 = (undefined8 *)(ulonglong)(local_30._4_4_ + 1U); local_30 = CONCAT44(local_30._4_4_ + 1U,(undefined4)local_30); local_38[lVar10] = puVar7; puVar11 = local_38; } } puVar7 = puVar4; } while (puVar4 != (ulonglong *)0x0); } uVar9 = SUB84(puVar5,0); lVar8 = lVar8 + -1; } while (-1 < lVar8); } _Memory = (void *)*plVar1; *plVar1 = (longlong)puVar11; *(undefined4 *)(param_1 + 0x10) = (undefined4)local_30; *(undefined4 *)(param_1 + 0x14) = uVar9; /* WARNING: Subroutine does not return */ free(_Memory); } return puVar4 + 1; } ############ FUN_ 1805823c0 size=724 ############ longlong * FUN_1805823c0(longlong param_1,longlong *param_2) { longlong *plVar1; uint *_Memory; uint uVar2; longlong *plVar3; longlong lVar4; void *_Memory_00; longlong lVar5; uint uVar6; int iVar7; int iVar8; longlong *plVar9; undefined8 *puVar10; ulonglong uVar11; longlong lVar12; undefined8 *puVar13; longlong lVar14; undefined8 *local_58; undefined4 local_50; uint uStack_4c; plVar1 = (longlong *)(param_1 + 8); iVar7 = FUN_18057ee50(param_2,*(undefined4 *)(param_1 + 0x14)); lVar14 = *param_2; _Memory = (uint *)(lVar14 + -0x10); plVar3 = *(longlong **)((longlong)iVar7 * 8 + *plVar1); plVar9 = plVar3; if ((*(uint *)(lVar14 + -0x10) & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } for (; plVar9 != (longlong *)0x0; plVar9 = (longlong *)plVar9[2]) { if (*plVar9 == lVar14) { iVar8 = 0; } else { iVar8 = FUN_18048cbc0(*plVar9,lVar14); } if (iVar8 == 0) { if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return plVar9 + 1; } } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } plVar9 = (longlong *)FUN_1811316e0(0x18); lVar14 = *param_2; *plVar9 = lVar14; if ((*(uint *)(lVar14 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar14 + -0x10) = *(int *)(lVar14 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(plVar9 + 1) = 0; plVar9[2] = (longlong)plVar3; if (-1 < iVar7) { if (iVar7 < *(int *)(param_1 + 0x14)) { *(longlong **)((longlong)iVar7 * 8 + *plVar1) = plVar9; } else { FUN_18047e060(plVar1,*(int *)(param_1 + 0x14) + 1); iVar7 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar7 + 1; *(longlong **)(*plVar1 + (longlong)iVar7 * 8) = plVar9; } } *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + 1; if (*(int *)(param_1 + 0x18) <= (*(int *)(param_1 + 0x14) * 3) / 2) { return plVar9 + 1; } puVar10 = (undefined8 *)0x0; uVar2 = *(int *)(param_1 + 0x14) * 2; local_58 = (undefined8 *)0x0; local_50 = 0; uStack_4c = 0; puVar13 = puVar10; if (0 < (int)uVar2) { FUN_18047e060(&local_58,uVar2); uVar6 = uStack_4c; puVar13 = local_58; if (uStack_4c != 0) { memmove(local_58 + (int)uVar2,local_58,(longlong)(int)uStack_4c << 3); } if (0 < (int)uVar2) { uVar11 = (ulonglong)uVar2; puVar10 = puVar13; do { *puVar10 = 0; uVar11 = uVar11 - 1; puVar10 = puVar10 + 1; } while (uVar11 != 0); } uStack_4c = uVar6 + uVar2; puVar10 = (undefined8 *)(ulonglong)uStack_4c; } iVar8 = (int)puVar10; iVar7 = *(int *)(param_1 + 0x14) + -1; lVar14 = (longlong)iVar7; if (-1 < iVar7) { do { lVar4 = *(longlong *)(*plVar1 + lVar14 * 8); while (lVar5 = lVar4, iVar8 = (int)puVar10, lVar5 != 0) { iVar7 = FUN_18057ee50(lVar5,uVar2); lVar4 = *(longlong *)(lVar5 + 0x10); *(undefined8 *)(lVar5 + 0x10) = puVar13[iVar7]; if (-1 < iVar7) { if (iVar7 < iVar8) { puVar13[iVar7] = lVar5; } else { FUN_18047e060(&local_58,iVar8 + 1); lVar12 = (longlong)(int)uStack_4c; uStack_4c = uStack_4c + 1; puVar10 = (undefined8 *)(ulonglong)uStack_4c; local_58[lVar12] = lVar5; puVar13 = local_58; } } } lVar14 = lVar14 + -1; } while (-1 < lVar14); } _Memory_00 = (void *)*plVar1; *plVar1 = (longlong)puVar13; *(undefined4 *)(param_1 + 0x10) = local_50; *(int *)(param_1 + 0x14) = iVar8; /* WARNING: Subroutine does not return */ free(_Memory_00); } ############ FUN_ 180585190 size=145 ############ undefined ** FUN_180585190(undefined **param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4, undefined1 *param_5) { undefined *puVar1; undefined **local_res8; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res8 = param_1; puVar1 = (undefined *)FUN_1811316e0(8); local_res8 = juce::NativeImageType::vftable; (*(code *)PTR_FUN_1824988f0)(&local_res8,puVar1,*param_2,*param_3,*param_4,*param_5,uVar2,puVar1); *param_1 = puVar1; return param_1; } ############ FUN_ 180585fa0 size=100 ############ undefined8 * FUN_180585fa0(undefined8 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 param_4) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x1a0,param_2,param_3,param_4,0xfffffffffffffffe); uVar1 = FUN_181411e40(uVar1,*param_2,*param_3,DAT_1824c44bc); *param_1 = uVar1; return param_1; } ############ FUN_ 180586030 size=93 ############ undefined8 * FUN_180586030(undefined8 *param_1,undefined8 *param_2) { undefined8 uVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x28); *puVar2 = *param_2; *param_2 = 0; *(undefined4 *)(puVar2 + 1) = *(undefined4 *)(param_2 + 1); *(undefined4 *)((longlong)puVar2 + 0xc) = *(undefined4 *)((longlong)param_2 + 0xc); param_2[1] = 0; uVar1 = param_2[3]; puVar2[2] = param_2[2]; puVar2[3] = uVar1; *(undefined1 *)(puVar2 + 4) = *(undefined1 *)(param_2 + 4); *param_1 = puVar2; return param_1; } ############ FUN_ 180586ff0 size=246 ############ undefined8 * FUN_180586ff0(longlong param_1) { undefined8 *puVar1; longlong lVar2; float fVar3; float local_38; float fStack_34; float fStack_30; float fStack_2c; puVar1 = (undefined8 *)FUN_1811316e0(0x28); *puVar1 = 0; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; *(undefined1 *)(puVar1 + 4) = 1; lVar2 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 8) + 0xb0) + 8))(); fVar3 = (float)((uint)(*(float *)(lVar2 + 0x88) * DAT_1824c41e0) ^ DAT_1824c4f30); local_38 = 0.0 - fVar3; fStack_34 = 0.0 - fVar3; fStack_30 = fVar3 * DAT_1824c41e0 + (float)*(int *)(*(longlong *)(param_1 + 8) + 0x28); fStack_2c = fVar3 * DAT_1824c41e0 + (float)*(int *)(*(longlong *)(param_1 + 8) + 0x2c); if (fStack_30 <= 0.0) { fStack_30 = 0.0; } if (fStack_2c <= 0.0) { fStack_2c = 0.0; } FUN_18129d1e0(puVar1,&local_38); return puVar1; } ############ FUN_ 180587190 size=176 ############ undefined8 * FUN_180587190(longlong param_1) { longlong lVar1; undefined8 *puVar2; float local_18; float fStack_14; float fStack_10; float fStack_c; puVar2 = (undefined8 *)FUN_1811316e0(0x28); *puVar2 = 0; puVar2[1] = 0; puVar2[2] = 0; puVar2[3] = 0; *(undefined1 *)(puVar2 + 4) = 1; lVar1 = *(longlong *)(param_1 + 8); fStack_10 = (float)*(int *)(lVar1 + 0x380) * DAT_1824c41e0; local_18 = *(float *)(lVar1 + 900) - fStack_10 * DAT_1824c3d8c; fStack_14 = *(float *)(lVar1 + 0x388) - fStack_10 * DAT_1824c3d8c; fStack_c = fStack_10; FUN_18129d1e0(puVar2,&local_18); return puVar2; } ############ FUN_ 180587400 size=184 ############ undefined8 * FUN_180587400(longlong param_1) { longlong lVar1; undefined8 *puVar2; float local_18; float fStack_14; float fStack_10; float fStack_c; puVar2 = (undefined8 *)FUN_1811316e0(0x28); *puVar2 = 0; puVar2[1] = 0; puVar2[2] = 0; puVar2[3] = 0; *(undefined1 *)(puVar2 + 4) = 1; lVar1 = *(longlong *)(param_1 + 8); fStack_10 = (float)*(int *)(lVar1 + 0x380) * DAT_1824c41e0 * DAT_1824c3e50; local_18 = *(float *)(lVar1 + 900) - fStack_10 * DAT_1824c3d8c; fStack_14 = *(float *)(lVar1 + 0x388) - fStack_10 * DAT_1824c3d8c; fStack_c = fStack_10; FUN_18129d1e0(puVar2,&local_18); return puVar2; } ############ FUN_ 180587e60 size=152 ############ undefined8 * FUN_180587e60(void) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x28); *puVar1 = 0; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; *(undefined1 *)(puVar1 + 4) = 1; FUN_18129d850(puVar1); return puVar1; } ############ FUN_ 180587fd0 size=152 ############ undefined8 * FUN_180587fd0(void) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x28); *puVar1 = 0; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; *(undefined1 *)(puVar1 + 4) = 1; FUN_18129d850(puVar1); return puVar1; } ############ FUN_ 18058cd10 size=541 ############ void FUN_18058cd10(longlong param_1,undefined8 param_2,longlong *param_3) { undefined8 *puVar1; uint uVar2; int iVar3; undefined8 uVar4; float fVar5; int iVar6; undefined8 uVar7; longlong *plVar8; uint *_Memory; undefined8 *puVar9; undefined1 local_res8 [8]; undefined1 local_res18 [8]; longlong local_res20; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; FUN_1804aaf40(param_1 + 0xd0); fVar5 = DAT_1824c3ea4; puVar9 = (undefined8 *)*param_3; puVar1 = puVar9 + *(int *)((longlong)param_3 + 0xc); if (puVar9 != puVar1) { do { uVar4 = *puVar9; uVar7 = FUN_1811316e0(0x4a0); FUN_18049c9e0(local_res8,uVar4); FUN_18049c9e0(local_res18,uVar4); plVar8 = (longlong *)FUN_1815d7db0(uVar7,local_res18,local_res8); FUN_18049c4e0(&local_res20,"gridLabel"); (**(code **)(*plVar8 + 0x50))(plVar8,&local_res20); _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (*(float *)(plVar8 + 0x3f) != fVar5) { *(undefined4 *)(plVar8 + 0x3f) = 0x3f800000; uStack_60 = (undefined4)plVar8[5]; uStack_5c = *(undefined4 *)((longlong)plVar8 + 0x2c); local_68 = 0; uStack_64 = 0; FUN_181342870(plVar8,&local_68,1); } if ((int)plVar8[0x38] != 0x24) { *(undefined4 *)(plVar8 + 0x38) = 0x24; uStack_50 = (undefined4)plVar8[5]; uStack_4c = *(undefined4 *)((longlong)plVar8 + 0x2c); local_58 = 0; uStack_54 = 0; FUN_181342870(plVar8,&local_58,1); } iVar3 = *(int *)(param_1 + 0xfc); iVar6 = iVar3 + 1; if (*(int *)(param_1 + 0xf8) < iVar6) { if (iVar6 < 0) { iVar6 = iVar3 + 2; } FUN_18047cb30((longlong *)(param_1 + 0xf0),iVar3 + 9 + (iVar6 >> 1) & 0xfffffff8); } iVar6 = *(int *)(param_1 + 0xfc); *(int *)(param_1 + 0xfc) = iVar6 + 1; *(longlong **)(*(longlong *)(param_1 + 0xf0) + (longlong)iVar6 * 8) = plVar8; (**(code **)(*plVar8 + 0x58))(plVar8,1); FUN_181343cc0(param_1,plVar8,0xffffffff); puVar9 = puVar9 + 1; } while (puVar9 != puVar1); } plVar8 = *(longlong **)(param_1 + 0x120); if (plVar8 != (longlong *)0x0) { (**(code **)(*plVar8 + 0x58))(plVar8,1); FUN_181343cc0(param_1,plVar8,0xffffffff); } return; } ############ FUN_ 18058d330 size=1597 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18058d330(longlong param_1) { longlong *plVar1; longlong *plVar2; float *pfVar3; uint uVar4; int iVar5; ulonglong uVar6; float fVar7; float fVar8; float fVar9; double dVar10; float fVar11; char *pcVar12; int iVar13; longlong lVar14; undefined8 uVar15; longlong *plVar16; uint *puVar17; float *pfVar18; float fVar19; float fVar20; float fVar21; uint uVar22; undefined1 auStack_248 [32]; float local_228 [2]; undefined4 local_220 [2]; undefined4 local_218 [2]; undefined1 local_210 [8]; undefined1 local_208 [8]; longlong local_200; char *local_1f8; undefined1 local_1f0 [8]; undefined1 local_1e8 [8]; longlong local_1e0; char *local_1d8 [2]; undefined8 local_1c8; undefined4 uStack_1c0; undefined4 uStack_1bc; undefined8 local_1b8; undefined4 uStack_1b0; undefined4 uStack_1ac; undefined8 local_1a8; undefined4 uStack_1a0; undefined4 uStack_19c; undefined8 local_198; undefined4 uStack_190; undefined4 uStack_18c; double local_188; double local_180; undefined1 *local_178; undefined1 *local_170; undefined8 local_168; undefined8 local_160; undefined8 local_158; undefined4 local_148; undefined4 uStack_144; undefined4 uStack_140; undefined4 uStack_13c; undefined4 local_138; undefined4 uStack_134; undefined4 uStack_130; undefined4 uStack_12c; undefined4 local_128; undefined4 uStack_124; undefined4 uStack_120; undefined4 uStack_11c; undefined4 local_118; undefined4 uStack_114; undefined4 uStack_110; undefined4 uStack_10c; undefined1 local_e9 [32]; undefined1 local_c9; ulonglong local_c8 [20]; local_168 = 0xfffffffffffffffe; local_c8[0] = DAT_182615970 ^ (ulonglong)auStack_248; plVar1 = (longlong *)(param_1 + 0x100); FUN_18047cbc0(plVar1); if (*(int *)(param_1 + 0x108) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar1); } *(undefined4 *)(param_1 + 0x108) = 0; plVar2 = (longlong *)(param_1 + 0x110); FUN_18047cbc0(plVar2); if (*(int *)(param_1 + 0x118) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar2); } *(undefined4 *)(param_1 + 0x118) = 0; fVar11 = DAT_1824c4680; dVar10 = DAT_1824c4520; fVar9 = DAT_1824c41e0; fVar8 = DAT_1824c3ea4; fVar7 = DAT_1824c3d8c; pfVar18 = *(float **)(param_1 + 0xe0); pfVar3 = pfVar18 + *(int *)(param_1 + 0xec); if (pfVar18 != pfVar3) { uVar22 = (uint)DAT_1824c4f10; uVar6 = (ulonglong)DAT_1824c4f10 >> 0x20; do { fVar19 = fVar8 - *pfVar18; if (0.0 <= fVar19) { fVar20 = fVar8; if (fVar19 <= fVar8) { fVar20 = fVar19; } } else { fVar20 = 0.0; } if (*(longlong *)(param_1 + 0x178) == 0) { if (*(char *)(param_1 + 0x138) == '\0') { fVar19 = *(float *)(param_1 + 0x134); if ((fVar19 != fVar8) && (0.0 < fVar20)) { fVar20 = logf(fVar20); fVar20 = expf(fVar20 / fVar19); } fVar19 = (*(float *)(param_1 + 300) - *(float *)(param_1 + 0x128)) * fVar20 + *(float *)(param_1 + 0x128); } else { fVar20 = fVar20 * fVar9 - fVar8; fVar19 = *(float *)(param_1 + 0x134); if ((fVar19 != fVar8) && (fVar20 != 0.0)) { fVar21 = fVar8; if (fVar20 < 0.0) { fVar21 = fVar11; } fVar20 = logf((float)(double)CONCAT44((uint)((ulonglong)(double)fVar20 >> 0x20) & (uint)uVar6,SUB84((double)fVar20,0) & uVar22)); fVar20 = expf(fVar20 / fVar19); fVar20 = fVar20 * fVar21; } fVar19 = (*(float *)(param_1 + 300) - *(float *)(param_1 + 0x128)) * fVar7 * (fVar20 + fVar8) + *(float *)(param_1 + 0x128); } } else { local_220[0] = *(undefined4 *)(param_1 + 300); local_218[0] = *(undefined4 *)(param_1 + 0x128); plVar16 = *(longlong **)(param_1 + 0x178); local_228[0] = fVar20; if (plVar16 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar19 = (float)(**(code **)(*plVar16 + 0x10))(plVar16,local_218,local_220,local_228); } local_188 = (double)fVar19 + dVar10; lVar14 = FUN_181233e10(local_e9 + 1,(ulonglong)local_188 & 0xffffffff); FUN_180495150(&local_1f8,lVar14,local_e9 + -lVar14); uVar15 = FUN_1811316e0(0x4a0); local_178 = local_210; local_160 = uVar15; FUN_18049c9e0(local_210,local_1f8); FUN_18049c9e0(local_208,local_1f8); plVar16 = (longlong *)FUN_1815d7db0(uVar15,local_208,local_210); FUN_18049c4e0(&local_200,"gridLabel"); (**(code **)(*plVar16 + 0x50))(plVar16,&local_200); puVar17 = (uint *)(local_200 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if (*(float *)(plVar16 + 0x3f) != fVar8) { *(undefined4 *)(plVar16 + 0x3f) = 0x3f800000; uStack_1bc = *(undefined4 *)((longlong)plVar16 + 0x2c); uStack_1c0 = (undefined4)plVar16[5]; local_1c8 = 0; local_148 = 0; uStack_144 = 0; uStack_140 = uStack_1c0; uStack_13c = uStack_1bc; FUN_181342870(plVar16,&local_148,1); } if ((int)plVar16[0x38] != 2) { *(undefined4 *)(plVar16 + 0x38) = 2; uStack_1ac = *(undefined4 *)((longlong)plVar16 + 0x2c); uStack_1b0 = (undefined4)plVar16[5]; local_1b8 = 0; local_138 = 0; uStack_134 = 0; uStack_130 = uStack_1b0; uStack_12c = uStack_1ac; FUN_181342870(plVar16,&local_138,1); } pcVar12 = local_1f8; if (*local_1f8 != '\0') { iVar5 = *(int *)(param_1 + 0x10c); iVar13 = iVar5 + 1; if (*(int *)(param_1 + 0x108) < iVar13) { if (iVar13 < 0) { iVar13 = iVar5 + 2; } FUN_18047cb30(plVar1,iVar5 + 9 + (iVar13 >> 1) & 0xfffffff8); } iVar13 = *(int *)(param_1 + 0x10c); *(int *)(param_1 + 0x10c) = iVar13 + 1; *(longlong **)(*plVar1 + (longlong)iVar13 * 8) = plVar16; (**(code **)(*plVar16 + 0x58))(plVar16,1); FUN_181343cc0(param_1,plVar16,0xffffffff); } puVar17 = (uint *)(pcVar12 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } local_180 = (double)(fVar19 / *(float *)(param_1 + 0x20c)) + dVar10; lVar14 = FUN_181233e10(local_c8,(ulonglong)local_180 & 0xffffffff); FUN_180495150(local_1d8,lVar14,&local_c9 + -lVar14); uVar15 = FUN_1811316e0(0x4a0); local_170 = local_1f0; local_158 = uVar15; FUN_18049c9e0(local_1f0,local_1d8[0]); FUN_18049c9e0(local_1e8,local_1d8[0]); plVar16 = (longlong *)FUN_1815d7db0(uVar15,local_1e8,local_1f0); FUN_18049c4e0(&local_1e0,"gridLabel"); (**(code **)(*plVar16 + 0x50))(plVar16,&local_1e0); puVar17 = (uint *)(local_1e0 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if (*(float *)(plVar16 + 0x3f) != fVar8) { *(undefined4 *)(plVar16 + 0x3f) = 0x3f800000; uStack_19c = *(undefined4 *)((longlong)plVar16 + 0x2c); uStack_1a0 = (undefined4)plVar16[5]; local_1a8 = 0; local_128 = 0; uStack_124 = 0; uStack_120 = uStack_1a0; uStack_11c = uStack_19c; FUN_181342870(plVar16,&local_128,1); } if ((int)plVar16[0x38] != 2) { *(undefined4 *)(plVar16 + 0x38) = 2; uStack_18c = *(undefined4 *)((longlong)plVar16 + 0x2c); uStack_190 = (undefined4)plVar16[5]; local_198 = 0; local_118 = 0; uStack_114 = 0; uStack_110 = uStack_190; uStack_10c = uStack_18c; FUN_181342870(plVar16,&local_118,1); } pcVar12 = local_1d8[0]; if (*local_1d8[0] != '\0') { iVar5 = *(int *)(param_1 + 0x11c); iVar13 = iVar5 + 1; if (*(int *)(param_1 + 0x118) < iVar13) { if (iVar13 < 0) { iVar13 = iVar5 + 2; } FUN_18047cb30(plVar2,iVar5 + 9 + (iVar13 >> 1) & 0xfffffff8); } iVar13 = *(int *)(param_1 + 0x11c); *(int *)(param_1 + 0x11c) = iVar13 + 1; *(longlong **)(*plVar2 + (longlong)iVar13 * 8) = plVar16; (**(code **)(*plVar16 + 0x58))(plVar16,1); FUN_181343cc0(param_1,plVar16,0xffffffff); } puVar17 = (uint *)(pcVar12 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } pfVar18 = pfVar18 + 1; } while (pfVar18 != pfVar3); } } ############ FUN_ 18058bc50 size=2114 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18058bc50(longlong *param_1,longlong param_2,longlong param_3,longlong param_4, float param_5,int param_6,longlong param_7,longlong param_8,longlong param_9, longlong param_10) { uint *_Memory; byte bVar1; undefined8 *puVar2; ulonglong uVar3; double dVar4; longlong lVar5; longlong *plVar6; longlong *plVar7; longlong lVar8; longlong lVar9; undefined8 uVar10; int iVar11; ulonglong uVar12; uint uVar13; char *pcVar14; char *pcVar15; bool bVar16; double dVar17; float fVar18; undefined1 auStackY_198 [32]; longlong *local_168; longlong local_160; longlong local_158; undefined8 local_150; undefined8 local_148; undefined4 uStack_140; undefined4 uStack_13c; longlong local_138; undefined8 local_130; longlong *local_128; undefined8 local_118; longlong lStack_110; undefined **local_108; longlong *local_100; undefined ***local_d0; undefined **local_c8; longlong *local_c0; undefined ***local_90; char local_6b [3]; ulonglong local_68; local_130 = 0xfffffffffffffffe; local_68 = DAT_182615970 ^ (ulonglong)auStackY_198; local_138 = param_8; local_158 = param_9; plVar7 = param_1; local_128 = param_1; FUN_18056b680(); plVar7[0x19] = (longlong)juce::Timer::vftable; plVar7[0x1a] = -1; uVar12 = 0; *(undefined4 *)(plVar7 + 0x1b) = 0; *param_1 = (longlong)FilterGraph::vftable; param_1[0x16] = (longlong)FilterGraph::vftable; param_1[0x19] = (longlong)FilterGraph::vftable; param_1[0x1c] = (longlong)FilterGraph::vftable; param_1[0x1d] = (longlong)FilterGraph::vftable; param_1[0x1e] = (longlong)FilterGraph::vftable; param_1[0x1f] = 0; param_1[0x20] = param_10; local_168 = param_1 + 0x21; param_1[0x28] = 0; plVar7 = *(longlong **)(param_2 + 0x38); if (plVar7 != (longlong *)0x0) { if ((undefined **)*plVar7 == std:: _Func_impl_no_alloc,float_const*___ptr64,int>:: vftable) { lVar5 = FUN_18058e8d0(plVar7 + 1); } else { lVar5 = (**(code **)*plVar7)(plVar7,local_168); } param_1[0x28] = lVar5; } local_168 = param_1 + 0x29; param_1[0x30] = 0; puVar2 = *(undefined8 **)(param_3 + 0x38); if (puVar2 != (undefined8 *)0x0) { lVar5 = (**(code **)*puVar2)(puVar2,local_168); param_1[0x30] = lVar5; } local_168 = param_1 + 0x31; param_1[0x38] = 0; plVar7 = *(longlong **)(param_4 + 0x38); if (plVar7 != (longlong *)0x0) { if ((undefined **)*plVar7 == std::_Func_impl_no_alloc,double_const_>::vftable) { lVar5 = FUN_18058e850(plVar7 + 1); } else { lVar5 = (**(code **)*plVar7)(plVar7,local_168); } param_1[0x38] = lVar5; } *(int *)(param_1 + 0x130f) = param_6; param_1[0x1310] = 0; param_1[0x1311] = 0; *(undefined4 *)(param_1 + 0x1312) = 3; *(undefined4 *)((longlong)param_1 + 0x9894) = 0x10; *(undefined4 *)(param_1 + 0x1313) = 0x10; *(undefined4 *)((longlong)param_1 + 0x989c) = 0x21; local_168 = (longlong *)FUN_1811316e0(0x1a0); lVar5 = FUN_181411e40(local_168); param_1[0x1314] = lVar5; param_1[0x1315] = 0; param_1[0x1316] = 0; param_1[0x1317] = 0; param_1[0x1318] = 0; *(undefined1 *)(param_1 + 0x1319) = 1; _eh_vector_constructor_iterator_(param_1 + 0x131a,0x28,6,FUN_18129e350,FUN_18129e330); *(undefined4 *)(param_1 + 0x1338) = DAT_182490e78; *(undefined8 *)((longlong)param_1 + 0x99c4) = 0; *(undefined8 *)((longlong)param_1 + 0x99cc) = 0; *(undefined8 *)((longlong)param_1 + 0x99d4) = 0; *(undefined4 *)(param_1 + 0x133d) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x99ec) = 0x3f800000; *(undefined4 *)(param_1 + 0x133e) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x99f4) = 0x40000000; *(undefined4 *)(param_1 + 0x133f) = 0x41f00000; *(undefined4 *)((longlong)param_1 + 0x99fc) = 0x3f800000; *(undefined2 *)(param_1 + 0x1340) = 0; *(undefined1 *)(param_1 + 0x1341) = 0; *(undefined8 *)((longlong)param_1 + 0x9a0c) = 0; param_1[0x1343] = 0; param_1[0x1344] = 0; param_1[0x1345] = 0; param_1[0x1346] = 0; *(undefined4 *)(param_1 + 0x1347) = 0; *(undefined8 *)((longlong)param_1 + 0x9a3c) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x9a44) = 0x3f800000; *(undefined1 *)(param_1 + 0x1349) = 0; param_1[0x1351] = 0; param_1[0x1359] = 0; param_1[0x1361] = 0; *(undefined4 *)(param_1 + 0x1362) = 0; *(undefined8 *)((longlong)param_1 + 0x9b14) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x9b1c) = 0x3f800000; *(undefined1 *)(param_1 + 0x1364) = 0; param_1[0x136c] = 0; param_1[0x1374] = 0; param_1[0x137c] = 0; plVar6 = (longlong *)FUN_1811316e0(0xf8); plVar6[1] = 0; *(undefined4 *)(plVar6 + 2) = 0x3f800000; *(undefined8 *)((longlong)plVar6 + 0x24) = 0; *(undefined4 *)((longlong)plVar6 + 0x2c) = 0x3f800000; lVar5 = 2; *(undefined4 *)(plVar6 + 6) = 2; *(undefined4 *)((longlong)plVar6 + 0x44) = 1; plVar6[9] = 0; plVar6[10] = 0; *(undefined4 *)(plVar6 + 0xb) = 0x3f800000; *(undefined4 *)((longlong)plVar6 + 0x1c) = 0x3f800000; *(undefined4 *)((longlong)plVar6 + 0x14) = 0x3f800000; *(undefined4 *)(plVar6 + 4) = 0x3f800000; *(undefined4 *)(plVar6 + 3) = 0x3f800000; *plVar6 = (longlong)DigitalFilter::vftable; *(undefined4 *)(plVar6 + 0xc) = 0; *(undefined4 *)((longlong)plVar6 + 100) = 1; *(undefined4 *)(plVar6 + 0xd) = 0x3f800000; plVar7 = plVar6 + 0xe; do { *(undefined8 *)((longlong)plVar7 + -4) = 0; *(undefined8 *)((longlong)plVar7 + 4) = 0; *(undefined8 *)((longlong)plVar7 + 0xc) = 0; *(undefined8 *)((longlong)plVar7 + 0x14) = 0; *(undefined8 *)((longlong)plVar7 + 0x1c) = 0; *(undefined8 *)((longlong)plVar7 + 0x24) = 0; *(undefined8 *)((longlong)plVar7 + 0x2c) = 0; *(undefined8 *)((longlong)plVar7 + 0x34) = 0; plVar7 = plVar7 + 8; lVar5 = lVar5 + -1; } while (lVar5 != 0); *plVar6 = (longlong)LowPassFilter::vftable; *(undefined4 *)((longlong)plVar6 + 100) = 1; dVar4 = DAT_1824c4140; local_168 = plVar6; dVar17 = pow(DAT_1824c41e8,DAT_1824c4140); dVar17 = sqrt(dVar17 - dVar4); fVar18 = (float)((dVar4 / dVar17) * DAT_1824c46b8); *(float *)((longlong)plVar6 + 0xf4) = fVar18; *(undefined4 *)(plVar6 + 0xd) = 0x461c4000; fVar18 = expf((DAT_1824c45c8 / *(float *)((longlong)plVar6 + 0x24)) * fVar18); *(float *)(plVar6 + 0xc) = fVar18; *(float *)(plVar6 + 0x1e) = (float)(dVar4 - (double)fVar18); param_1[0x137d] = (longlong)plVar6; param_1[0x137e] = 0; param_1[0x137f] = 0; param_1[0x1380] = 0; param_1[0x1381] = 0; param_1[0x1382] = 0; param_1[0x1383] = param_8; param_1[0x1384] = 0; plVar7 = param_1 + 0x1385; local_168 = plVar7; FUN_18049c4e0(&local_160,"CWFreqOption"); lVar5 = local_158; *plVar7 = (longlong)ProcessorStateOption::vftable; param_1[0x1386] = local_160; param_1[4999] = param_7; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar13 = DAT_1821dbf88 - 1; UNLOCK(); bVar16 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar13; if (bVar16) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *plVar7 = (longlong)CueFreqDisplayFreqOption::vftable; param_1[5000] = 0; param_1[0x1389] = 0; param_1[0x138a] = 0; param_1[0x138b] = 0; param_1[0x138c] = local_158; *(undefined4 *)((longlong)param_1 + 0x9a02) = 0x1010101; *(undefined2 *)((longlong)param_1 + 0x9a06) = 0x101; fVar18 = DAT_1824c3d8c; *(float *)((longlong)param_1 + 0x99dc) = (float)*(int *)((longlong)param_1 + 0x2c) * DAT_1824c3d8c ; *(float *)(param_1 + 0x133c) = (float)(int)param_1[5] / (float)(int)param_1[0x1312]; *(undefined4 *)(param_1 + 0x133f) = 0x41200000; *(float *)((longlong)param_1 + 0x99fc) = (fVar18 / *(float *)(param_1 + 0x133d)) * (float)*(int *)((longlong)param_1 + 0x9894); bVar1 = *(byte *)(param_1 + 0x15); *(byte *)(param_1 + 0x15) = bVar1 & 0xef | 8; if ((bVar1 & 4) != 0) { *(byte *)(param_1 + 0x15) = bVar1 & 0xeb | 8; if (((bVar1 & 1) != 0) && (lVar8 = FUN_1812d2bd0(param_1), lVar8 != 0)) { (**(code **)(*param_1 + 0x68))(param_1,*(undefined4 *)(lVar8 + 0x10),0); } uStack_13c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_140 = (undefined4)param_1[5]; lStack_110 = param_1[5]; local_148 = 0; local_118 = 0; FUN_181342870(param_1,&local_118,1); } local_108 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_d0 = &local_108; local_100 = param_1; FUN_181410000(param_1[0x1314],&local_108); if (0 < param_6) { do { iVar11 = (int)uVar12; pcVar14 = local_6b + 2; local_6b[2] = 0; if (iVar11 < 0) { uVar13 = -iVar11; do { pcVar15 = pcVar14; pcVar14 = pcVar15 + -1; *pcVar14 = (char)uVar13 + (char)((ulonglong)uVar13 / 10) * -10 + '0'; uVar13 = (uint)((ulonglong)uVar13 / 10); } while (uVar13 != 0); pcVar14 = pcVar15 + -2; *pcVar14 = '-'; } else { do { pcVar14 = pcVar14 + -1; uVar3 = uVar12 / 10; *pcVar14 = (char)uVar12 + (char)uVar3 * -10 + '0'; uVar12 = uVar3; } while ((int)uVar3 != 0); } FUN_180495150(&local_168,pcVar14,local_6b + (2 - (longlong)pcVar14)); plVar6 = local_168; FUN_181411be0(param_1[0x1314],local_168,0); _Memory = (uint *)(plVar6 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar13 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } uVar12 = (ulonglong)(iVar11 + 1U); lVar5 = local_158; } while ((int)(iVar11 + 1U) < param_6); } local_150 = FUN_1811316e0(0x40); local_c8 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_90 = &local_c8; local_c0 = param_1; lVar9 = FUN_18055e880(local_150,local_138,&local_c8); lVar8 = param_1[0x1384]; param_1[0x1384] = lVar9; if (lVar8 != 0) { FUN_18056a070(); } local_150 = FUN_1811316e0(0x10); uVar10 = FUN_1811e8780(local_150,plVar7,param_1 + 0x1c); FUN_180485e60(param_1 + 5000,uVar10); FUN_181341570(param_1,param_1,1); FUN_181341570(lVar5,param_1,1); *(int *)(param_1 + 0x1313) = (int)(DAT_1824c459c / param_5); FUN_1812a77d0(param_1 + 0x19); } ############ FUN_ 18058e850 size=113 ############ undefined8 * FUN_18058e850(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x48); *puVar2 = std::_Func_impl_no_alloc,double_const_>::vftable; puVar2[8] = 0; puVar1 = *(undefined8 **)(param_1 + 0x38); if (puVar1 != (undefined8 *)0x0) { uVar3 = (**(code **)*puVar1)(puVar1,puVar2 + 1,param_3,param_4,uVar3); puVar2[8] = uVar3; } return puVar2; } ############ FUN_ 18058e8d0 size=113 ############ undefined8 * FUN_18058e8d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x48); *puVar2 = std:: _Func_impl_no_alloc,float_const*___ptr64,int> ::vftable; puVar2[8] = 0; puVar1 = *(undefined8 **)(param_1 + 0x38); if (puVar1 != (undefined8 *)0x0) { uVar3 = (**(code **)*puVar1)(puVar1,puVar2 + 1,param_3,param_4,uVar3); puVar2[8] = uVar3; } return puVar2; } ############ FUN_ 18058cf30 size=570 ############ void FUN_18058cf30(longlong *param_1) { longlong *plVar1; undefined8 *puVar2; float fVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 uVar6; void *pvVar7; int iVar8; uint uVar9; longlong *plVar10; longlong local_res8; local_res8 = FUN_1811316e0(0x220); puVar4 = (undefined8 *)FUN_18058e000(local_res8); plVar1 = param_1 + 0x1f; if (plVar1 == &local_res8) { if (puVar4 == (undefined8 *)0x0) goto LAB_18058cfa6; puVar5 = (undefined8 *)*puVar4; } else { puVar2 = (undefined8 *)*plVar1; *plVar1 = (longlong)puVar4; if (puVar2 == (undefined8 *)0x0) goto LAB_18058cfa6; puVar5 = (undefined8 *)*puVar2; puVar4 = puVar2; } (*(code *)*puVar5)(puVar4,1); LAB_18058cfa6: local_res8 = FUN_1811316e0(0x18); if (param_1 == (longlong *)0x0) { plVar10 = (longlong *)0x0; } else { plVar10 = param_1 + 0x1d; } uVar6 = FUN_1804841f0(local_res8,param_1[0x20],plVar10); iVar8 = *(int *)((longlong)param_1 + 0x9c5c) + 1; if ((int)*(uint *)(param_1 + 0x138b) < iVar8) { uVar9 = *(int *)((longlong)param_1 + 0x9c5c) + 9 + iVar8 / 2 & 0xfffffff8; if (*(uint *)(param_1 + 0x138b) != uVar9) { pvVar7 = (void *)param_1[0x138a]; if ((int)uVar9 < 1) { /* WARNING: Subroutine does not return */ free(pvVar7); } if (pvVar7 == (void *)0x0) { pvVar7 = malloc((longlong)(int)uVar9 * 8); param_1[0x138a] = (longlong)pvVar7; } else { pvVar7 = realloc(pvVar7,(longlong)(int)uVar9 * 8); param_1[0x138a] = (longlong)pvVar7; } } *(uint *)(param_1 + 0x138b) = uVar9; } iVar8 = *(int *)((longlong)param_1 + 0x9c5c); *(int *)((longlong)param_1 + 0x9c5c) = iVar8 + 1; *(undefined8 *)(param_1[0x138a] + (longlong)iVar8 * 8) = uVar6; plVar10 = (longlong *)*plVar1; if (plVar10 != (longlong *)0x0) { (**(code **)(*plVar10 + 0x58))(plVar10,1); FUN_181343cc0(param_1,plVar10,0xffffffff); } if (*(code **)(*param_1 + 0x108) == .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__) { if (*plVar1 != 0) { FUN_18134bfe0(*plVar1,0,0,(int)param_1[5],*(undefined4 *)((longlong)param_1 + 0x2c)); } fVar3 = DAT_1824c3d8c; *(float *)((longlong)param_1 + 0x99dc) = (float)*(int *)((longlong)param_1 + 0x2c) * DAT_1824c3d8c; *(float *)(param_1 + 0x133c) = (float)(int)param_1[5] / (float)(int)param_1[0x1312]; *(undefined4 *)(param_1 + 0x133f) = 0x41200000; *(float *)((longlong)param_1 + 0x99fc) = (fVar3 / *(float *)(param_1 + 0x133d)) * (float)*(int *)((longlong)param_1 + 0x9894); } else { (**(code **)(*param_1 + 0x108))(param_1); } return; } ############ FUN_ 18058e000 size=569 ############ undefined8 * FUN_18058e000(undefined8 *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined1 uVar3; undefined8 in_RDX; double dVar4; undefined4 local_res10; puVar2 = param_1; FUN_18056b680(param_1,in_RDX,param_3,param_4,0xfffffffffffffffe); *puVar2 = FilterGraphGrid::vftable; puVar2[0x16] = FilterGraphGrid::vftable; dVar4 = (double)((float)(DAT_18262bb74 >> 0x18) * DAT_1824c3d54) + DAT_1824c4520; uVar3 = 0xff; if (SUB84(dVar4,0) < 0xff) { uVar3 = SUB81(dVar4,0); } local_res10 = CONCAT13(uVar3,(int3)DAT_18262bb74); *(undefined4 *)(param_1 + 0x19) = local_res10; param_1[0x1a] = 0; param_1[0x1b] = 0; param_1[0x1c] = 0; param_1[0x1d] = 0; param_1[0x1e] = 0; param_1[0x1f] = 0; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = 0; puVar2 = (undefined8 *)FUN_1811316e0(0xe0); puVar2[1] = &DAT_1821dbf98; puVar2[2] = &DAT_1821dbf98; puVar2[3] = 0; puVar2[4] = 0; puVar2[5] = 0; puVar2[6] = 0; puVar2[7] = 0; puVar2[8] = 0; puVar2[9] = 0; puVar2[10] = 0; puVar2[0xb] = 0; puVar2[0xc] = 0; puVar2[0xd] = 0; puVar2[0xe] = 0; puVar2[0xf] = 0; puVar2[0x10] = 0; puVar2[0x11] = 0; puVar2[0x12] = 0; puVar2[0x13] = 0; puVar2[0x14] = 0; *(undefined4 *)(puVar2 + 0x15) = 0; *(undefined1 *)((longlong)puVar2 + 0xac) = 0; *puVar2 = FilterGraphGrid::Lines::vftable; puVar2[0x16] = param_1; puVar2[0x17] = 0; puVar2[0x18] = 0; *(undefined1 *)(puVar2 + 0x19) = 0; puVar2[0x1a] = 0; puVar2[0x1b] = 0; param_1[0x24] = puVar2; *(undefined4 *)(param_1 + 0x25) = 0; *(undefined8 *)((longlong)param_1 + 300) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x134) = 0x3f800000; *(undefined1 *)(param_1 + 0x27) = 0; param_1[0x2f] = 0; param_1[0x37] = 0; param_1[0x3f] = 0; *(undefined4 *)(param_1 + 0x40) = 0x3f800000; *(undefined8 *)((longlong)param_1 + 0x204) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x20c) = param_2; param_1[0x42] = 1; *(undefined1 *)(param_1 + 0x43) = 0; plVar1 = (longlong *)param_1[0x24]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); } return param_1; } ############ FUN_ 18058dc10 size=992 ############ undefined8 * FUN_18058dc10(undefined8 *param_1,longlong param_2,undefined8 param_3,longlong param_4, undefined4 *param_5,undefined4 *param_6,longlong param_7,undefined8 param_8, undefined8 *param_9,undefined8 param_10) { undefined4 uVar1; undefined4 uVar2; int iVar3; undefined8 *puVar4; undefined8 uVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; longlong *plVar9; longlong *plVar10; bool bVar11; undefined4 uVar12; longlong *plVar13; longlong local_148 [7]; longlong *local_110; longlong local_108 [7]; longlong *local_d0; undefined8 local_c8; longlong local_b8 [7]; longlong *local_80; longlong local_78 [7]; longlong *local_40; local_c8 = 0xfffffffffffffffe; puVar7 = (undefined8 *)FUN_1811316e0(0x20a4a8); local_110 = (longlong *)0x0; puVar4 = *(undefined8 **)(param_4 + 0x38); if (puVar4 != (undefined8 *)0x0) { local_110 = (longlong *)(**(code **)*puVar4)(puVar4,local_148); } local_40 = (longlong *)0x0; if (local_110 != (longlong *)0x0) { local_40 = (longlong *)FUN_18058e9f0(local_148); } if (local_110 != (longlong *)0x0) { (**(code **)(*local_110 + 0x20))(local_110,local_110 != local_148); local_110 = (longlong *)0x0; } local_d0 = (longlong *)0x0; puVar4 = *(undefined8 **)(param_2 + 0x38); if (puVar4 != (undefined8 *)0x0) { local_d0 = (longlong *)(**(code **)*puVar4)(puVar4,local_108); } plVar13 = local_108; local_80 = (longlong *)0x0; if (local_d0 != (longlong *)0x0) { local_80 = (longlong *)FUN_18058e950(local_108); } if (local_d0 != (longlong *)0x0) { (**(code **)(*local_d0 + 0x20))(local_d0,local_d0 != local_108); local_d0 = (longlong *)0x0; } uVar12 = 3; uVar5 = *param_9; uVar2 = *param_6; uVar1 = *param_5; uVar8 = FUN_18119aa60(param_7 + 0x178,"selected band"); FUN_18058bc50(puVar7,local_b8,param_3,local_78,uVar1,uVar2,param_7 + 0x338,uVar8,uVar5,param_10, uVar12,plVar13); puVar4 = puVar7 + 0x138d; *puVar7 = Soothe2FilterGraph::vftable; puVar7[0x16] = Soothe2FilterGraph::vftable; puVar7[0x19] = Soothe2FilterGraph::vftable; puVar7[0x1c] = Soothe2FilterGraph::vftable; puVar7[0x1d] = Soothe2FilterGraph::vftable; puVar7[0x1e] = Soothe2FilterGraph::vftable; *puVar4 = Soothe2FilterGraph::vftable; puVar7[0x138e] = param_7; puVar7[0x138f] = param_8; puVar7[0x41390] = 0; puVar7[0x41391] = 0; puVar7[0x41392] = 0; puVar7[0x41393] = 0; *(undefined1 *)(puVar7 + 0x41394) = 1; lVar6 = *(longlong *)(puVar7[0x138e] + 0x168); if (puVar4 != (undefined8 *)0x0) { plVar10 = (longlong *)(lVar6 + 0x2404c0); plVar9 = (longlong *)*plVar10; iVar3 = *(int *)(lVar6 + 0x2404cc); plVar13 = plVar9 + iVar3; for (; plVar9 != plVar13; plVar9 = plVar9 + 1) { if (puVar4 == (undefined8 *)*plVar9) goto LAB_18058deef; } if (*(int *)(lVar6 + 0x2404c8) < iVar3 + 1) { FUN_18047cb30(plVar10,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(lVar6 + 0x2404cc); *(int *)(lVar6 + 0x2404cc) = iVar3 + 1; *(undefined8 **)(*plVar10 + (longlong)iVar3 * 8) = puVar4; } LAB_18058deef: plVar13 = local_80; *param_1 = puVar7; if (local_80 != (longlong *)0x0) { bVar11 = local_80 != local_b8; if ((undefined **)*local_80 == std:: _Func_impl_no_alloc,float_const*___ptr64,int>:: vftable) { plVar9 = (longlong *)local_80[8]; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x20))(plVar9,plVar9 != local_80 + 1); plVar13[8] = 0; } if (bVar11) { /* WARNING: Subroutine does not return */ free(plVar13); } } else { (*(code *)((undefined **)*local_80)[4])(local_80,bVar11); } } plVar13 = local_40; if (local_40 != (longlong *)0x0) { bVar11 = local_40 != local_78; if ((undefined **)*local_40 == std::_Func_impl_no_alloc,double_const_>::vftable) { plVar9 = (longlong *)local_40[8]; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x20))(plVar9,plVar9 != local_40 + 1); plVar13[8] = 0; } if (bVar11) { /* WARNING: Subroutine does not return */ free(plVar13); } } else { (*(code *)((undefined **)*local_40)[4])(local_40,bVar11); } } return param_1; } ############ FUN_ 18058e950 size=154 ############ undefined8 * FUN_18058e950(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x48); *puVar2 = std:: _Func_impl_no_alloc,float_const*___ptr64,int> ::vftable; puVar2[8] = 0; plVar1 = (longlong *)param_1[7]; if (plVar1 != (longlong *)0x0) { if (plVar1 == param_1) { uVar3 = (**(code **)(*plVar1 + 8))(plVar1,puVar2 + 1,param_3,param_4,uVar3); puVar2[8] = uVar3; plVar1 = (longlong *)param_1[7]; if (plVar1 == (longlong *)0x0) { return puVar2; } (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1); } else { puVar2[8] = plVar1; } param_1[7] = 0; } return puVar2; } ############ FUN_ 18058e9f0 size=154 ############ undefined8 * FUN_18058e9f0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x48); *puVar2 = std::_Func_impl_no_alloc,double_const_>::vftable; puVar2[8] = 0; plVar1 = (longlong *)param_1[7]; if (plVar1 != (longlong *)0x0) { if (plVar1 == param_1) { uVar3 = (**(code **)(*plVar1 + 8))(plVar1,puVar2 + 1,param_3,param_4,uVar3); puVar2[8] = uVar3; plVar1 = (longlong *)param_1[7]; if (plVar1 == (longlong *)0x0) { return puVar2; } (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1); } else { puVar2[8] = plVar1; } param_1[7] = 0; } return puVar2; } ############ FUN_ 18058f240 size=111 ############ undefined8 * FUN_18058f240(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { undefined8 uVar1; undefined8 *local_res8; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res8 = param_1; uVar1 = FUN_1811316e0(0x360); FUN_18049c4e0(&local_res8,&DAT_18249336a); uVar1 = FUN_1814fa810(uVar1,param_2,param_3,&local_res8,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 1814fa810 size=1892 ############ /* WARNING: Removing unreachable block (ram,0x0001814faa38) */ /* WARNING: Removing unreachable block (ram,0x0001814fa9cd) */ /* WARNING: Removing unreachable block (ram,0x0001814faa88) */ /* WARNING: Removing unreachable block (ram,0x0001814faa16) */ void FUN_1814fa810(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; longlong *plVar2; int *piVar3; undefined8 uVar4; ulonglong uVar5; undefined1 uVar6; ulonglong uVar7; uint uVar8; uint uVar9; ulonglong uVar10; longlong lVar11; ulonglong uVar12; int unaff_retaddr; undefined1 auStack_258 [36]; uint local_234; uint local_230; uint local_22c; undefined4 local_208; uint local_1ec; undefined4 local_1e8; undefined4 local_1e4; undefined8 *local_1e0; undefined8 *local_1d8; undefined8 local_1d0; ulonglong local_1c8; ulonglong local_1c0; undefined8 local_1b8; undefined4 local_1b0; undefined8 local_198; undefined4 local_188; undefined8 local_178; undefined4 local_170; undefined8 local_150; undefined8 local_148; undefined8 local_140; undefined8 local_138; undefined8 *local_130; ulonglong local_40; local_138 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_258; local_1d8 = param_1; local_1d0 = param_4; local_198 = param_2; local_150 = param_4; local_130 = param_1; FUN_18056b680(); param_1[0x19] = juce::SettableTooltipClient::vftable; param_1[0x1a] = &DAT_1821dbf98; param_1[0x1b] = ParameterControllingComponent::vftable; local_1e0 = param_1 + 0x1d; FUN_1815df540(local_1e0,param_1); *param_1 = CloudyToggleButton::vftable; param_1[0x16] = CloudyToggleButton::vftable; param_1[0x19] = CloudyToggleButton::vftable; param_1[0x1b] = CloudyToggleButton::vftable; param_1[0x1c] = CloudyToggleButton::vftable; *(undefined4 *)(param_1 + 99) = 0; *(undefined2 *)((longlong)param_1 + 0x31c) = 0x100; *(undefined1 *)((longlong)param_1 + 0x31e) = 0; param_1[100] = param_3; local_1e0 = (undefined8 *)FUN_1811316e0(0x1a0); local_178 = DAT_18235df78; local_170 = DAT_18235df80; local_148 = FUN_181408750(local_1e0,&local_178); param_1[0x65] = local_148; param_1[0x66] = 0x3f333333; param_1[0x67] = 0; param_1[0x68] = 0; param_1[0x69] = 0; param_1[0x6a] = &DAT_1821dbf98; local_140 = 0; param_1[0x6b] = 0; local_1e8 = 0xd80; local_1e4 = 0xd30; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_2); FUN_181345120(param_1,1); do { FUN_1814fa08e(0xea10); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); FUN_18134a800(param_1,0x1006502,DAT_18262bb68); FUN_18134a800(param_1,0x1006504,DAT_1826742ec); do { local_230 = 0x1c0585d9; local_1b0 = 0x2e; local_1c0 = 0x1814fab4a; FUN_1814f8d62(); uVar5 = local_1c0; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar9 = (local_230 << 0x10 | local_230 >> 0x10) & 0xd690296f | (local_230 >> 0x10 | local_230 << 0x10) & 0x296fd690; uVar8 = (uVar9 >> 0x10 | uVar9 << 0x10) & 0xcb0d34f2 | (uVar9 << 0x10 | uVar9 >> 0x10) & 0x34f2cb0d; uVar8 = (uVar8 >> 2 | uVar8 << 0x1e) & 0x99999999 | (uVar8 << 2 | (uVar9 & 0xffff) >> 0xe) & 0x66666666; uVar9 = uVar8 >> 0x16 | uVar8 << 10; uVar8 = ((uVar8 & 0x3fffff) >> 0xd ^ uVar9) & 0x1f; uVar9 = (uVar8 << 0x17 | uVar8) ^ uVar9; uVar8 = uVar9 + 0x9123f770; uVar8 = (uVar8 >> 4 | uVar9 << 0x1c) & 0xb4b4b4b4 | (uVar8 * 0x10 | uVar8 >> 0x1c) & 0x4b4b4b4b; do { local_188 = 0x27; local_1b8 = 0x1814fac27; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); lVar11 = (longlong)(int)((uVar8 >> 0x19 | uVar8 << 7) ^ 0x1f18b29a); local_230 = 0; local_208 = 0; plVar2 = (longlong *)(lVar11 + 4 + local_1c0); *plVar2 = *plVar2 + (ulonglong)((uint)((ulonglong)dvs_0x88601756_mfort6317_ >> 0x13) & 0x14430625) ; do { uVar4 = rdtsc(); local_1ec = (int)uVar4 - (int)((ulonglong)uVar4 >> 0x20); register0x00000020 = (BADSPACEBASE *)(~-(longlong)register0x00000020 + 1); uVar7 = (ulonglong)local_1ec + ((ulonglong)(local_1ec >> 0x10) | (ulonglong)local_1ec << 0x30) + 0xe84ab04; lVar1 = (uVar7 >> 6) + 0x11cceef1 + uVar7 * 2; uVar7 = lVar1 * 9; uVar7 = (uVar7 >> 9 | uVar7 << 0x37) + lVar1 * 2; uVar7 = uVar7 ^ uVar7 * 0x20 + 0x6cf3f578; uVar8 = (int)uVar7 + ((uint)(uVar7 << 8) | (uint)(byte)(uVar7 >> 0x38)) & 0x2735f44b; uVar9 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); piVar3 = (int *)(lVar11 + 8 + local_1c0); *piVar3 = *piVar3 + (uVar8 ^ 0x419c55e1); piVar3 = (int *)(lVar11 + 4 + local_1c0); *piVar3 = *piVar3 + (uVar8 ^ 0x56dd29c9); uVar7 = *(ulonglong *)(lVar11 + 4 + local_1c0); uVar8 = (uint)((uVar7 >> 0x12 ^ uVar7) >> 6) & 0x7ff; uVar7 = (((ulonglong)uVar8 << 0x12 | (ulonglong)uVar8) << 6 ^ uVar7) + 0xa6ecc3168f4576b6; uVar10 = uVar7 >> 4 & 0xf0f0f0f0f0f0f0f; uVar12 = (uVar7 * 0x10 & 0xf0f0f0f0f0f0f0f0 | uVar10) + 0xc6f12e26545d1a28; uVar7 = (ulonglong)((uint)((uVar12 >> 0xb ^ uVar12) >> 0x1b) & 0x7f); uVar12 = uVar12 << 0x37 | (uVar12 ^ (uVar7 << 0xb | uVar7) << 0x1b) >> 9; uVar7 = (ulonglong)((uint)((uVar12 >> 0x18 ^ uVar12) >> 0x12) & 0x7ff); uVar12 = uVar12 ^ (uVar7 << 0x18 | uVar7) << 0x12; uVar7 = uVar12 << 0xc | uVar12 >> 0x34; uVar7 = (uVar7 << 2 | (uVar12 & 0xfffffffffffff) >> 0x32) & 0x9999999999999999 | (uVar7 >> 2 | (uVar12 >> 0x34) << 0x3e) & 0x6666666666666666; *(ulonglong *)(lVar11 + 4 + local_1c0) = uVar7; dvs_0x88601756_mfort6317_ = (uint *)((longlong)dvs_0x88601756_mfort6317_ + (ulonglong)((uint)(uVar7 >> 6) & 0x300c1282)); local_22c = (uint)(*(ulonglong *)(lVar11 + 4 + local_1c0) >> 0x19) & 0x7fffffff; local_234 = (uint)(*(ulonglong *)(lVar11 + 4 + local_1c0) >> 6) ^ 0x3451b4ed; local_1c8 = *(ulonglong *)(lVar11 + 4 + local_1c0) ^ 0x9606259f61bce06d; uVar6 = FUN_1814faf97(); lVar11 = ((uVar10 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; out((short)lVar11,uVar6); (*(code *)0x1132969)(uVar5 & 0xffffffff,lVar11); return; } ############ FUN_ 18058f2b0 size=140 ############ undefined8 * FUN_18058f2b0(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,undefined1 *param_4, undefined1 *param_5) { undefined8 uVar1; undefined8 *local_res8; local_res8 = param_1; uVar1 = FUN_1811316e0(0xa30); FUN_18049c4e0(&local_res8,param_2); uVar1 = FUN_181567090(uVar1,&local_res8,*param_3,*param_4,*param_5); *param_1 = uVar1; return param_1; } ############ FUN_ 18058f340 size=99 ############ undefined8 * FUN_18058f340(undefined8 *param_1,undefined8 param_2,undefined1 *param_3,undefined8 param_4) { undefined8 uVar1; undefined8 local_res10 [3]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res10[0] = param_2; uVar1 = FUN_1811316e0(0xa30); FUN_18049c4e0(local_res10,&DAT_1822e7db4); uVar1 = FUN_181566f90(uVar1,local_res10,*param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18058f3b0 size=132 ############ undefined8 * FUN_18058f3b0(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,undefined1 *param_4, undefined1 *param_5) { undefined8 uVar1; undefined8 local_res10; local_res10 = param_2; uVar1 = FUN_1811316e0(0xa30); FUN_18049c4e0(&local_res10,&DAT_18221a7c4); uVar1 = FUN_181567090(uVar1,&local_res10,*param_3,*param_4,*param_5); *param_1 = uVar1; return param_1; } ############ FUN_ 18058f440 size=99 ############ undefined8 * FUN_18058f440(undefined8 *param_1,undefined8 param_2,undefined1 *param_3,undefined8 param_4) { undefined8 uVar1; undefined8 local_res10 [3]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res10[0] = param_2; uVar1 = FUN_1811316e0(0xa30); FUN_18049c4e0(local_res10,"balance"); uVar1 = FUN_181566f90(uVar1,local_res10,*param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18058f4b0 size=132 ############ undefined8 * FUN_18058f4b0(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,undefined1 *param_4, undefined1 *param_5) { undefined8 uVar1; undefined8 local_res10; local_res10 = param_2; uVar1 = FUN_1811316e0(0xa30); FUN_18049c4e0(&local_res10,"balance"); uVar1 = FUN_181567090(uVar1,&local_res10,*param_3,*param_4,*param_5); *param_1 = uVar1; return param_1; } ############ FUN_ 18058f540 size=108 ############ undefined8 * FUN_18058f540(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x168); uVar1 = FUN_1815073e0(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18058f5b0 size=365 ############ undefined8 * FUN_18058f5b0(undefined8 *param_1,longlong param_2,undefined8 param_3,longlong param_4, undefined8 param_5) { uint uVar1; undefined8 *puVar2; uint *puVar3; undefined8 *local_res8; longlong local_res10; longlong local_res20; undefined4 uVar4; undefined8 uVar5; undefined8 *puVar6; uVar5 = 0xfffffffffffffffe; local_res8 = param_1; local_res10 = param_2; local_res20 = param_4; puVar2 = (undefined8 *)FUN_1811316e0(0x380); puVar6 = puVar2; FUN_18049c4e0(&local_res8,"listen"); uVar4 = 1; FUN_18049c4e0(&local_res20,DAT_18262ae48); local_res10 = local_res20; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } FUN_1814fa810(puVar2,&local_res8,param_3,&local_res10,uVar4,uVar5,puVar6,&local_res20); *puVar2 = AutoCueOverridingToggleButton::vftable; puVar2[0x16] = AutoCueOverridingToggleButton::vftable; puVar2[0x19] = AutoCueOverridingToggleButton::vftable; puVar2[0x1b] = AutoCueOverridingToggleButton::vftable; puVar2[0x1c] = AutoCueOverridingToggleButton::vftable; puVar2[0x6c] = AutoCueOverridingToggleButton::vftable; FUN_1811e4250(puVar2 + 0x6d,param_5); puVar3 = (uint *)(local_res20 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } *param_1 = puVar2; puVar3 = (uint *)(local_res8 + -2); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } return param_1; } ############ FUN_ 1805913f0 size=462 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805913f0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4, undefined4 *param_5,undefined8 *param_6) { uint uVar1; undefined8 uVar2; uint *_Memory; undefined1 auStack_168 [32]; undefined ***local_148; undefined ***local_140; undefined1 *local_138; undefined4 local_128; undefined8 *local_120; undefined1 local_118 [8]; undefined8 local_110; undefined8 local_108; undefined8 local_100; undefined8 local_f8; undefined **local_e8; undefined8 local_e0; undefined ***local_b0; undefined **local_a8; undefined4 local_a0; undefined4 uStack_9c; undefined4 uStack_98; undefined4 uStack_94; undefined ***local_70; undefined **local_68; undefined8 local_60; undefined ***local_30; ulonglong local_28; local_108 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_168; local_128 = 0; local_120 = param_1; uVar2 = FUN_1811316e0(0x4b8); local_110 = *param_6; local_68 = std::_Func_impl_no_alloc<,bool>::vftable; local_a8 = std:: _Func_impl_no_alloc<,void,juce::MouseEvent_const&___ptr64> ::vftable; local_a0 = *param_5; uStack_9c = param_5[1]; uStack_98 = param_5[2]; uStack_94 = param_5[3]; local_70 = &local_a8; local_f8 = *param_4; local_e8 = std::_Func_impl_no_alloc<,bool>::vftable; local_b0 = &local_e8; local_128 = 7; local_100 = uVar2; local_e0 = local_f8; local_60 = local_110; local_30 = &local_68; FUN_18049c4e0(&local_120,"delta"); local_128 = 0xf; FUN_18049c4e0(local_118,&DAT_18249336a); local_138 = local_118; local_148 = &local_a8; local_140 = &local_68; uVar2 = FUN_1814ec2d0(uVar2,&local_120,param_3,&local_e8); *param_1 = uVar2; _Memory = (uint *)(local_120 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (local_b0 != (undefined ***)0x0) { (*(code *)(*local_b0)[4])(local_b0,local_b0 != &local_e8); local_b0 = (undefined ***)0x0; } if (local_70 != (undefined ***)0x0) { (*(code *)(*local_70)[4])(local_70,local_70 != &local_a8); local_70 = (undefined ***)0x0; } if (local_30 != (undefined ***)0x0) { (*(code *)(*local_30)[4])(local_30,local_30 != &local_68); } } ############ FUN_ 1805915e0 size=462 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805915e0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4, undefined4 *param_5,undefined8 *param_6) { uint uVar1; undefined8 uVar2; uint *_Memory; undefined1 auStack_168 [32]; undefined ***local_148; undefined ***local_140; undefined1 *local_138; undefined4 local_128; undefined8 *local_120; undefined1 local_118 [8]; undefined8 local_110; undefined8 local_108; undefined8 local_100; undefined8 local_f8; undefined **local_e8; undefined8 local_e0; undefined ***local_b0; undefined **local_a8; undefined4 local_a0; undefined4 uStack_9c; undefined4 uStack_98; undefined4 uStack_94; undefined ***local_70; undefined **local_68; undefined8 local_60; undefined ***local_30; ulonglong local_28; local_108 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_168; local_128 = 0; local_120 = param_1; uVar2 = FUN_1811316e0(0x4b8); local_110 = *param_6; local_68 = std::_Func_impl_no_alloc<,bool>::vftable; local_a8 = std:: _Func_impl_no_alloc<,void,juce::MouseEvent_const&___ptr64> ::vftable; local_a0 = *param_5; uStack_9c = param_5[1]; uStack_98 = param_5[2]; uStack_94 = param_5[3]; local_70 = &local_a8; local_f8 = *param_4; local_e8 = std::_Func_impl_no_alloc<,bool>::vftable; local_b0 = &local_e8; local_128 = 7; local_100 = uVar2; local_e0 = local_f8; local_60 = local_110; local_30 = &local_68; FUN_18049c4e0(&local_120,"bypass"); local_128 = 0xf; FUN_18049c4e0(local_118,&DAT_18249336a); local_138 = local_118; local_148 = &local_a8; local_140 = &local_68; uVar2 = FUN_1814ec2d0(uVar2,&local_120,param_3,&local_e8); *param_1 = uVar2; _Memory = (uint *)(local_120 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (local_b0 != (undefined ***)0x0) { (*(code *)(*local_b0)[4])(local_b0,local_b0 != &local_e8); local_b0 = (undefined ***)0x0; } if (local_70 != (undefined ***)0x0) { (*(code *)(*local_70)[4])(local_70,local_70 != &local_a8); local_70 = (undefined ***)0x0; } if (local_30 != (undefined ***)0x0) { (*(code *)(*local_30)[4])(local_30,local_30 != &local_68); } } ############ FUN_ 180591d70 size=74 ############ undefined8 * FUN_180591d70(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x2d0); uVar1 = FUN_181635990(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 181635990 size=3514 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000181635c24) overlaps instruction at (ram,0x000181635c22) */ /* WARNING: Removing unreachable block (ram,0x00018163657a) */ /* WARNING: Removing unreachable block (ram,0x000181635a8c) */ /* WARNING: Removing unreachable block (ram,0x000181635ab8) */ /* WARNING: Removing unreachable block (ram,0x000181636604) */ /* WARNING: Removing unreachable block (ram,0x0001816365bc) */ /* WARNING: Removing unreachable block (ram,0x00018163662d) */ /* WARNING: Removing unreachable block (ram,0x000181636613) */ void FUN_181635990(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; undefined4 *puVar2; undefined4 uVar3; undefined8 uVar4; undefined8 uVar5; undefined8 uVar6; ulonglong uVar7; ulonglong uVar8; undefined8 *puVar9; uint uVar10; int iVar11; uint uVar12; byte *pbVar13; uint *puVar14; uint uVar15; uint *puVar16; uint uVar17; IMAGE_DOS_HEADER *pIVar18; uint uVar19; undefined4 *puVar20; ulonglong uVar21; longlong lVar22; longlong *plVar23; uint uVar24; uint uVar25; uint uVar26; int iVar27; uint unaff_retaddr; undefined1 auStack_388 [32]; undefined1 local_368; undefined1 local_360; longlong local_358; undefined4 local_350; uint local_34c; ulonglong local_348; uint local_33c; undefined4 local_338; longlong local_330; undefined4 *local_328; undefined4 local_320; int iStack_31c; undefined4 *local_310; int local_308; undefined1 local_304 [4]; undefined4 local_300; uint local_2fc; uint local_2f8; int local_2f4; undefined8 local_2f0; uint local_2e8; uint local_2e4; undefined8 local_2e0; undefined8 *local_2d8; undefined1 local_2d0 [8]; undefined1 local_2c8 [8]; undefined8 local_2c0; undefined8 local_2b8; undefined1 local_2b0 [8]; undefined4 local_2a8; undefined4 local_298; undefined8 local_290; char *local_288; undefined1 local_280 [24]; int local_268; int local_264; int local_260; uint local_25c; undefined4 local_258; undefined4 local_254; undefined8 local_250; undefined8 local_248; undefined8 local_240; undefined8 *local_228; undefined4 local_80 [14]; ulonglong local_48; local_240 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_388; local_2f0 = param_2; local_2d8 = param_1; local_228 = param_1; FUN_1805718f0(); *param_1 = RightControls::TimePanel::vftable; param_1[0x1f] = RightControls::TimePanel::vftable; local_250 = 0; param_1[0x22] = 0; puVar1 = param_1 + 0x23; local_248 = 0; *puVar1 = 0; local_290 = 0; param_1[0x24] = 0; FUN_1815f84a0(param_1 + 0x25); uVar12 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x340) == 0) { uVar10 = ((uVar12 & 0x15ff) + 1) * (uVar12 & 0x15ff) + 0x23ef & 0x80000001; } else { uVar10 = (((uVar12 & 0x2ff) + 1) * (uVar12 & 0x2ff) + 7) % 0x51; } local_2e4 = (int)(-uVar10 | uVar10) >> 0x1f & 0x1137U ^ 0x1c37; iVar11 = (uVar12 & 0x35ff) * (uVar12 & 0x35ff) + 1; uVar10 = (iVar11 >> 4) + (iVar11 >> 1) + iVar11 * 0x24924924 >> 0x1d; uVar10 = (int)(uVar10 - 7) >> 0x1f & uVar10; uVar21 = (ulonglong)uVar10; uVar24 = (uVar12 & 0xbff) * (uVar12 & 0xbff) * 0x10 + 4; uVar25 = uVar24 % 0x13; uVar12 = (int)((-uVar10 | uVar10) & (-uVar25 | uVar25)) >> 0x1f; local_2e8 = (int)(-uVar12 | uVar12) >> 0x1f & 0x99c4U ^ 0x9374; uVar12 = local_2e8; do { uVar21 = uVar21 ^ 0x2d8b1cad ^ (ulonglong)uVar25; lVar22 = uVar12 + uVar21; uVar21 = lVar22 - ((uVar21 - lVar22 ^ 0xffffffffffffffff) + 1) ^ (ulonglong)uVar25 ^ 0x2d8b1cad; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } uVar12 = unaff_retaddr; } while (uVar10 != 0); uVar4 = FUN_1811316e0(0x128,uVar24 / 0x13,uVar21); local_2e0 = uVar4; FUN_18049c4e0(local_2d0,"SPEED"); uVar4 = FUN_18058fde0(uVar4,local_2d0,0); FUN_180485d90(param_1 + 0x22,uVar4); do { pbVar13 = &DAT_00004234; /* WARNING: Call to offcut address within same function */ func_0x0001816366fb(); if (((ulonglong)pbVar13 & 0x43) != 0) { LOCK(); *(int *)(pbVar13 + -0x7d) = *(int *)(pbVar13 + -0x7d) + -1; UNLOCK(); *pbVar13 = *pbVar13 << 4 | *pbVar13 >> 4; } uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar4 = FUN_1811316e0(0xa30); local_2e0 = uVar4; uVar5 = FUN_18124a880(local_280,"attack"); local_288 = "attack"; uVar6 = FUN_18119aa60(param_2); local_360 = 0; local_368 = 0; uVar4 = FUN_181567090(uVar4,uVar5,uVar6); FUN_180485d90(puVar1,uVar4); local_330 = 0; local_348 = 0x1ffc; local_310 = &DAT_180010fe0; local_358 = 0x180012fdc; lVar22 = FUN_1804730e0(puVar1); (**(code **)(*(longlong *)(lVar22 + 0x100) + 0x10))((longlong *)(lVar22 + 0x100),&DAT_182674770); do { local_2a8 = 0x3e; local_2c0 = 0x181635d77; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); do { local_298 = 0x79; local_2b8 = 0x181635e57; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar21 = 0x4c2ff812; local_350 = 0; local_320 = 0; dvs_0xb9eb9a72_mfort6317_ = (uint *)((longlong)dvs_0xb9eb9a72_mfort6317_ + (ulonglong)((uint)((ulonglong)dvs_0x469510d1_mfort6317_ >> 0x1f) & 0x8448002)); do { puVar16 = &local_2f8; puVar14 = &local_34c; FUN_181635845(puVar14,puVar16,uVar21); uVar4 = rdtsc(); uVar12 = (int)uVar4 + (int)((ulonglong)uVar4 >> 0x20) * 4; *puVar16 = uVar12; uVar7 = (ulonglong)uVar12 + ((ulonglong)uVar12 * 3 >> 0xf) + 0x69c1de38; uVar7 = -((uVar7 >> 1 | uVar7 << 0x3f) + 0x33f53fea) - ((uVar7 * 0x2000 ^ 0xffffffffffffffff) + 1); uVar7 = uVar7 ^ uVar7 * 0x1400; uVar8 = uVar7 << 10 | uVar7 >> 0x36; uVar7 = uVar8 * 5; uVar7 = (uVar7 >> 0xe | uVar7 << 0x32) + uVar8 * 4; uVar7 = uVar7 ^ (uVar7 >> 0xd) + 0x62a1b4bd; uVar7 = uVar7 ^ uVar7 >> 0xc; uVar21 = -((uVar21 ^ 0xffffffffffffffff) + 1); lVar22 = uVar7 + (uVar7 >> 7); *puVar14 = ((int)lVar22 * 0x200 | (uint)((ulonglong)lVar22 >> 0x37)) & 0xa6269bbc; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = dvs_0xb9eb9a72_mfort6317_._4_4_ + (local_34c ^ 0x8508b55d); dvs_0xb9eb9a72_mfort6317_ = (uint *)CONCAT44(uVar12,(int)dvs_0xb9eb9a72_mfort6317_ + (local_34c ^ 0x685128d9)); uVar3 = (undefined4)(((ulonglong)uVar12 ^ (ulonglong)dvs_0xb9eb9a72_mfort6317_) >> 0xd); uVar21 = (CONCAT44(uVar3,uVar3) & 0xfff00000fff) << 0xd ^ (ulonglong)dvs_0xb9eb9a72_mfort6317_; uVar21 = (uVar21 << 8 | uVar21 >> 0x38) & 0xcc33cc33cc33cc33 | (uVar21 >> 8 | (longlong)dvs_0xb9eb9a72_mfort6317_ << 0x38) & 0x33cc33cc33cc33cc; uVar21 = (uVar21 >> 0x38 | uVar21 << 8) ^ 0xcc98ed70ef4006e3; uVar7 = uVar21 << 0x20 | uVar21 >> 0x20; uVar7 = (uVar7 << 4 | (uVar21 & 0xffffffff) >> 0x1c) & 0xd2d2d2d2d2d2d2d2 | (uVar7 >> 4 | (uVar21 >> 0x20) << 0x3c) & 0x2d2d2d2d2d2d2d2d; uVar21 = (ulonglong)((uint)((uVar7 >> 0x2c ^ uVar7) >> 1) & 0x3ff); uVar7 = uVar7 ^ (uVar21 << 0x2c | uVar21) * 2; dvs_0xb9eb9a72_mfort6317_ = (uint *)~((uVar7 << 0x10 | uVar7 >> 0x30) & 0xed2512daed2512da | (uVar7 >> 0x10 | uVar7 << 0x30) & 0x12daed2512daed25); dvs_0x469510d1_mfort6317_ = (uint *)((longlong)dvs_0x469510d1_mfort6317_ + (ulonglong)((uint)((ulonglong)dvs_0xb9eb9a72_mfort6317_ >> 0x18) & 0x290102b)); local_34c = (uint)((ulonglong)dvs_0xb9eb9a72_mfort6317_ >> 0x13) & 0x7fffffff; local_33c = (uint)((ulonglong)dvs_0xb9eb9a72_mfort6317_ >> 1) ^ 0xdd764adc; local_348 = (ulonglong)dvs_0xb9eb9a72_mfort6317_ ^ 0xdff92ff5f6c7c362; uVar4 = FUN_1811316e0(0xa30); local_328 = (undefined4 *)uVar4; uVar5 = FUN_18124a880(local_2b0,"release"); puVar9 = (undefined8 *)FUN_181249f00(local_2c8,"release"); uVar6 = FUN_18119aa60(local_2f0,*puVar9); local_360 = 0; local_368 = 0; uVar4 = FUN_181567090(uVar4,uVar5,uVar6,1); puVar9 = local_2d8; FUN_180485d90(local_2d8 + 0x24,uVar4); local_338 = 0x1382b97; local_328 = local_310; local_330 = local_358 - (longlong)local_310; lVar22 = FUN_1804730e0(puVar9 + 0x24); (**(code **)(*(longlong *)(lVar22 + 0x100) + 0x10))((longlong *)(lVar22 + 0x100),&DAT_1826746a8); uVar4 = FUN_1804730e0(puVar9 + 0x22); FUN_18134bf20(puVar9,uVar4,0xffffffff); uVar4 = FUN_1804730e0(puVar1); FUN_18134bf20(puVar9,uVar4,0xffffffff); local_338 = 0xc6a4a793; do { local_308 = -0x334cd03a; /* WARNING: Call to offcut address within same function */ func_0x0001816361dc(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = ~((local_308 + 0x2058a09U) * 0x2000 | local_308 + 0x2058a09U >> 0x13) ^ 0x86440f5b; uVar12 = (uVar12 << 0x17 | uVar12 >> 9) ^ 0xfd340692; uVar17 = ~(uVar12 << 5 | uVar12 >> 0x1b) ^ 0x9f7ef294; uVar4 = FUN_1804730e0(puVar9 + 0x24); FUN_18134bf20(puVar9,uVar4,0xffffffff); puVar2 = local_328; local_258 = 0x3ca2dad1; local_254 = 0x3047ce3f; uVar12 = (uint)local_348 ^ local_33c; uVar24 = uVar12 & 0x2bfd4af1 ^ local_33c; uVar12 = uVar12 & 0xd402b50e ^ local_33c ^ uVar24; uVar15 = uVar12 & 0xf0f0f0f0 ^ uVar24; uVar24 = uVar12 & 0xf0f0f0f ^ uVar24; uVar12 = (uVar17 >> 0xf ^ uVar17) & 0x7fff; uVar17 = (uVar12 << 0xf | uVar12) ^ uVar17; uVar12 = (uVar15 >> 6 ^ uVar15) >> 2 & 3; uVar10 = (uVar24 >> 0x16 ^ uVar24) >> 5 & 3; uVar19 = (uint)(local_348 >> 0x20); uVar25 = (uVar19 >> 0x14 ^ uVar19) >> 3 & 0x1ff; uVar12 = (uVar12 << 6 | uVar12) << 2 ^ uVar15 ^ uVar17; uVar15 = ~(uVar12 & 0x74575030 ^ uVar17); uVar26 = ~(uVar12 & 0x8ba8afcf ^ uVar17); uVar17 = ~((uVar10 << 0x16 | uVar10) << 5 ^ uVar24); uVar12 = ~((uVar25 << 0x14 | uVar25) << 3 ^ uVar19); uVar24 = (uVar15 << 2 | uVar15 >> 0x1e) & 0x99999999 | (uVar15 >> 2 | uVar15 << 0x1e) & 0x66666666 ; uVar12 = (uVar12 >> 2 | uVar12 << 0x1e) & 0x99999999 | (uVar12 << 2 | uVar12 >> 0x1e) & 0x66666666 ; uVar10 = uVar12 << 5 | uVar12 >> 0x1b; uVar12 = uVar10 ^ (uVar24 << 0x15 | uVar24 >> 0xb); uVar24 = uVar12 & 0xaaaaaaaa ^ uVar10; local_2f4 = (uVar10 ^ uVar12 & 0x55555555) + 0x26edbe0b; local_264 = ((uVar26 >> 4 & 0xf0f0f0f0 | uVar26 << 0x1c | (uVar26 & 0xf0f0f0) << 4 | uVar26 >> 0x1c) >> 2 | (uVar26 >> 0x1c) << 0x1e) + 0xd1b1c41; local_2f0 = CONCAT44(local_2f0._4_4_,local_264); local_260 = (((uVar17 >> 8 | uVar17 << 0x18) & 0xdd22dd22 | (uVar17 << 8 | uVar17 >> 0x18) & 0x22dd22dd) << 2 | (uVar17 & 0xff) >> 6) + 0xd1de1f70; local_310 = (undefined4 *)CONCAT44(local_310._4_4_,local_260); local_25c = uVar24 ^ 0x724d0b9e; local_348 = CONCAT44(uVar19,uVar24) ^ 0x724d0b9e; local_358 = 0x36da64a4ce46871d; local_300 = 0; local_2fc = (uint)local_330 ^ 0x8598; local_268 = local_2f4; if ((((uint)local_330 ^ 0xffffd7bc) & 0xadd3 | local_2fc) == 0x8598) { iVar11 = 0x8598; iStack_31c = -0xa39a6cd; do { iVar27 = iVar11 + iStack_31c; iVar11 = (iStack_31c - iVar27 ^ 0xffffffffU) + 1; iStack_31c = iVar27 - iVar11; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); FUN_181636903(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } puVar20 = puVar2; if (-1 < (longlong)IMAGE_DOS_HEADER_180000000._0_8_) { local_328 = (undefined4 *)0x2621fc0; lVar22 = IMAGE_DOS_HEADER_180000000._0_8_; pIVar18 = &IMAGE_DOS_HEADER_180000000; do { if (puVar2 < IMAGE_DOS_HEADER_180000000.e_magic + lVar22 + 8) { if (-1 < lVar22) { plVar23 = (longlong *)(lVar22 + 0x180000000); if (plVar23 < puVar2 + 1) { local_80[0] = *puVar2; goto LAB_181636740; } } break; } lVar22._0_2_ = pIVar18->e_cparhdr; lVar22._2_2_ = pIVar18->e_minalloc; lVar22._4_2_ = pIVar18->e_maxalloc; lVar22._6_2_ = pIVar18->e_ss; pIVar18 = (IMAGE_DOS_HEADER *)&pIVar18->e_cparhdr; } while (-1 < lVar22); } goto LAB_18163675f; while (plVar23 = (longlong *)(lVar22 + 0x180000000), plVar23 < puVar2 + 1) { LAB_181636740: *(longlong *)(&stack0x00017fffff80 + (lVar22 - (longlong)puVar2)) = *plVar23 + -0x180000000; pIVar18 = (IMAGE_DOS_HEADER *)&pIVar18->e_cparhdr; lVar22 = *(longlong *)pIVar18; puVar20 = local_80; if (lVar22 < 0) break; } LAB_18163675f: FUN_1816367a5(&DAT_00004234,puVar20,0,local_304); return; } ############ FUN_ 180591dc0 size=90 ############ undefined8 * FUN_180591dc0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x828); uVar1 = FUN_181631d30(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 181631d30 size=1395 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000181631fa6) */ void FUN_181631d30(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { undefined8 uVar1; undefined8 uVar2; longlong lVar3; undefined8 *puVar4; uint uVar5; int iVar6; longlong lVar7; uint uVar8; int unaff_retaddr; undefined1 auStack_2f8 [48]; undefined1 local_2c8 [4]; undefined4 local_2c4; undefined *local_2b8; undefined8 local_2a0; undefined *local_298; undefined *local_290; undefined8 local_278; longlong local_270; undefined8 local_268; uint local_25c; uint local_258; undefined8 *local_248; longlong local_240; longlong local_238; undefined1 local_230 [56]; undefined8 local_1f8; undefined8 *local_1f0; undefined8 local_1e8; undefined1 local_1e0 [8]; undefined1 local_1d8 [400]; ulonglong local_48; local_1f8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2f8; local_270 = param_3; local_268 = param_2; local_248 = param_1; local_1f0 = param_1; FUN_1805718f0(); *param_1 = RightControls::QualityPanel::vftable; param_1[0x1f] = RightControls::QualityPanel::vftable; param_1[0x22] = RightControls::QualityPanel::vftable; FUN_181408890(param_1 + 0x23); local_1e8 = 0; param_1[0x57] = 0; param_1[0x58] = param_2; FUN_1815f84a0(param_1 + 0x59); *(undefined4 *)(param_1 + 0x8e) = 0; FUN_18124ea80(param_1 + 0x8f); param_1[0x93] = 0; param_1[0x94] = 0; FUN_181600080(param_1 + 0x95,param_1,param_3,1); FUN_18049c4e0(&local_240,""); FUN_1816057f0(param_1 + 0xfd,param_1,&local_240); FUN_1804951e0(local_240 + -0x10); uVar8 = (uint)&stack0x00000000; uVar5 = uVar8 & 0x23f; iVar6 = (uVar5 + 2) * (uVar5 + 1) * uVar5; if ((((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e & 0x2aU) == 0) { uVar5 = 1; } else { iVar6 = (uVar8 & 0x2dff) * (uVar8 & 0x2dff) + 1; uVar5 = iVar6 * 0x24924924 + (iVar6 >> 4) + (iVar6 >> 1) >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; } local_25c = ((int)(-uVar5 | uVar5) >> 0x1f) * -0xc691 ^ 0xc721; if ((((uVar8 & 0x19ff) * (uVar8 & 0x19ff) * 0x10 + 4) % 0x13 & 0x118) == 0) { uVar5 = ((uVar8 & 0xdff) * (uVar8 & 0xdff) * 0x10 + 4) % 0x13; } else { iVar6 = (uVar8 & 0x77ff) * (uVar8 & 0x77ff) + 1; uVar5 = iVar6 * 0x24924924 + (iVar6 >> 4) + (iVar6 >> 1) >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; } local_258 = ((int)(-uVar5 | uVar5) >> 0x1f) * -0x9bf2 ^ 0x9a42; local_2a0 = 0x6f115a0; local_278 = 0x1ffc0; local_298 = &DAT_18230d618; local_2b8 = &DAT_18232d5d8; FUN_18049c4e0(&local_238,"quality-panel"); FUN_181249460(param_1 + 2,&local_238); FUN_1804951e0(local_238 + -0x10); local_2c4 = 0; uVar1 = FUN_1811316e0(0x128); local_290 = (undefined *)uVar1; uVar2 = FUN_18124a880(local_230,"QUALITY"); uVar1 = FUN_18058fde0(uVar1,uVar2,0); FUN_180485d90(param_1 + 0x57,uVar1); uVar1 = FUN_1804730e0(param_1 + 0x57); FUN_18134bf20(param_1,uVar1,0xffffffff); local_290 = (undefined *)FUN_1811316e0(0x2e8); lVar3 = FUN_181a0ef80(local_290,param_2,local_270); lVar7 = lVar3 + 0x1e0; if (lVar3 == 0) { lVar7 = 0; } FUN_1815eeb10(param_1 + 0x95,lVar7); local_2c8[0] = 0; FUN_180590f70(param_1 + 0xf2,local_2c8); puVar4 = (undefined8 *)FUN_181249f00(local_1e0,"resolution"); uVar1 = FUN_18119aa60(param_2,*puVar4); FUN_1811be290(uVar1,param_1 + 0x22); puVar4 = (undefined8 *)FUN_181249f00(local_1d8,"oversample"); uVar1 = FUN_18119aa60(param_2,*puVar4); FUN_1811be290(uVar1,param_1 + 0x22); do { FUN_181631520(0xdb38); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_270 = (longlong)local_2b8 - (longlong)local_298; local_290 = local_298; FUN_1816322b6(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180591e20 size=74 ############ undefined8 * FUN_180591e20(undefined8 *param_1,undefined8 param_2) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x150); uVar1 = FUN_181626ed0(uVar1,param_2); *param_1 = uVar1; return param_1; } ############ FUN_ 180591e70 size=90 ############ undefined8 * FUN_180591e70(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x2f8); uVar1 = FUN_18161f8c0(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 18161f8c0 size=1895 ############ undefined8 * FUN_18161f8c0(undefined8 *param_1,undefined8 param_2,longlong param_3) { int *piVar1; longlong *plVar2; longlong *plVar3; longlong *plVar4; int iVar5; undefined8 *puVar6; undefined **ppuVar7; code *pcVar8; longlong lVar9; longlong lVar10; void *pvVar11; undefined8 *puVar12; undefined8 uVar13; undefined8 uVar14; undefined8 *puVar15; longlong *plVar16; uint *puVar17; undefined1 local_res20 [8]; undefined8 in_stack_fffffffffffffdf8; uint uVar18; void *local_1f8; longlong local_1f0; undefined1 local_1e8 [8]; undefined1 local_1e0 [8]; longlong local_1d8; longlong local_1d0; longlong *local_1c8; longlong *local_1c0; longlong *local_1b8; longlong *local_1b0; longlong local_1a8; undefined8 local_1a0; longlong *local_198; undefined8 *local_190; longlong *local_188; undefined8 *local_180; undefined8 local_178; longlong local_170; undefined8 local_168; longlong local_160; longlong local_158; undefined **local_150; undefined8 *local_148; undefined ***local_118; undefined **local_110; undefined8 *local_108; undefined ***local_d8; undefined **local_d0; undefined8 *local_c8; undefined ***local_98; undefined1 local_90 [56]; undefined8 local_58; uVar18 = (uint)((ulonglong)in_stack_fffffffffffffdf8 >> 0x20); local_178 = 0xfffffffffffffffe; lVar10 = 0; puVar12 = param_1; FUN_1813ec2b0(); puVar12[0x20] = 0; *(undefined1 *)(puVar12 + 0x21) = 0; *puVar12 = RightControls::OutputPanel::vftable; puVar12[0x1f] = RightControls::OutputPanel::vftable; plVar16 = puVar12 + 0x22; *plVar16 = 0; plVar2 = puVar12 + 0x23; *plVar2 = 0; plVar3 = puVar12 + 0x24; *plVar3 = 0; lVar9 = __RTDynamicCast(*(undefined8 *)(param_3 + 0xb0),0, &juce::AudioProcessor::RTTI_Type_Descriptor, &WithAutoCue::RTTI_Type_Descriptor,(ulonglong)uVar18 << 0x20); if (lVar9 != 0) { lVar10 = lVar9 + 0x30; } plVar4 = param_1 + 0x25; *plVar4 = lVar10; local_1c8 = plVar4; local_1c0 = plVar4; local_198 = plVar4; local_190 = param_1 + 0x26; FUN_18119aa60(param_2,"delta"); FUN_1805913f0(param_1 + 0x26); local_180 = param_1 + 0x27; local_1b8 = plVar4; local_1b0 = plVar4; local_188 = plVar4; FUN_18119aa60(param_2,"bypass"); FUN_1805915e0(); param_1[0x28] = 0; plVar4 = param_1 + 0x29; *plVar4 = 0; FUN_1815f84a0(param_1 + 0x2a); pvVar11 = (void *)FUN_1811316e0(0x128); local_1f8 = pvVar11; FUN_18049c4e0(local_res20,"OUTPUT"); puVar12 = (undefined8 *)FUN_18058fde0(pvVar11,local_res20,0); if (plVar16 == &local_1a8) { if (puVar12 != (undefined8 *)0x0) { puVar15 = (undefined8 *)*puVar12; goto LAB_18161fa9a; } } else { puVar6 = (undefined8 *)*plVar16; *plVar16 = (longlong)puVar12; if (puVar6 != (undefined8 *)0x0) { puVar15 = (undefined8 *)*puVar6; puVar12 = puVar6; LAB_18161fa9a: (*(code *)*puVar15)(puVar12,1); } } plVar16 = (longlong *)*plVar16; if (plVar16 != (longlong *)0x0) { (**(code **)(*plVar16 + 0x58))(plVar16,1); FUN_181343cc0(param_1,plVar16,0xffffffff); } uVar13 = FUN_18119aa60(param_2,&DAT_18221c38c); lVar9 = FUN_1811316e0(0x870); local_1a8 = lVar9; FUN_18049c4e0(local_1e8,&DAT_18221c0d4); puVar12 = (undefined8 *)FUN_181550d40(lVar9,local_1e8,uVar13); if (plVar2 == &local_170) { if (puVar12 != (undefined8 *)0x0) { puVar15 = (undefined8 *)*puVar12; goto LAB_18161fb33; } } else { puVar6 = (undefined8 *)*plVar2; *plVar2 = (longlong)puVar12; if (puVar6 != (undefined8 *)0x0) { puVar15 = (undefined8 *)*puVar6; puVar12 = puVar6; LAB_18161fb33: (*(code *)*puVar15)(puVar12,1); } } lVar9 = *plVar2; plVar16 = (longlong *)(lVar9 + 0x840); ppuVar7 = (undefined **)*plVar16; if (ppuVar7 == CloudyBoxSlider::vftable) { if ((*(uint *)(DAT_182674760 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_182674760 + -0x10) = *(int *)(DAT_182674760 + -0x10) + 1; UNLOCK(); } LOCK(); plVar16 = (longlong *)(lVar9 + 0x848); lVar9 = *plVar16; *plVar16 = DAT_182674760; UNLOCK(); puVar17 = (uint *)(lVar9 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } } else { (*(code *)ppuVar7[2])(plVar16,&DAT_182674760); } uVar13 = FUN_18119aa60(param_2,&DAT_1822f55a4); uVar14 = FUN_1811316e0(0x870); local_168 = uVar14; FUN_18049c4e0(local_1e0,&DAT_1822f49b4); puVar12 = (undefined8 *)FUN_181550d40(uVar14,local_1e0,uVar13); if (plVar3 == &local_160) { if (puVar12 == (undefined8 *)0x0) goto LAB_18161fc12; puVar15 = (undefined8 *)*puVar12; } else { puVar6 = (undefined8 *)*plVar3; *plVar3 = (longlong)puVar12; if (puVar6 == (undefined8 *)0x0) goto LAB_18161fc12; puVar15 = (undefined8 *)*puVar6; puVar12 = puVar6; } (*(code *)*puVar15)(puVar12,1); LAB_18161fc12: lVar9 = *plVar3; plVar16 = (longlong *)(lVar9 + 0x840); ppuVar7 = (undefined **)*plVar16; if (ppuVar7 == CloudyBoxSlider::vftable) { if ((*(uint *)(DAT_1826746f0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_1826746f0 + -0x10) = *(int *)(DAT_1826746f0 + -0x10) + 1; UNLOCK(); } LOCK(); plVar16 = (longlong *)(lVar9 + 0x848); lVar9 = *plVar16; *plVar16 = DAT_1826746f0; UNLOCK(); puVar17 = (uint *)(lVar9 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } } else { (*(code *)ppuVar7[2])(plVar16,&DAT_1826746f0); } FUN_18049c4e0(&local_1d8,"delta-control"); lVar9 = param_1[0x26]; if ((*(uint *)(local_1d8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1d8 + -0x10) = *(int *)(local_1d8 + -0x10) + 1; UNLOCK(); } LOCK(); lVar10 = *(longlong *)(lVar9 + 0x10); *(longlong *)(lVar9 + 0x10) = local_1d8; UNLOCK(); puVar17 = (uint *)(lVar10 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if ((*(uint *)(local_1d8 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_1d8 + -0x10); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_1d8 + -0x10)); } } lVar9 = param_1[0x26]; plVar16 = (longlong *)(lVar9 + 200); pcVar8 = *(code **)(*plVar16 + 0x10); if (pcVar8 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { if ((*(uint *)(DAT_182674700 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_182674700 + -0x10) = *(int *)(DAT_182674700 + -0x10) + 1; UNLOCK(); } LOCK(); plVar16 = (longlong *)(lVar9 + 0xd0); lVar9 = *plVar16; *plVar16 = DAT_182674700; UNLOCK(); puVar17 = (uint *)(lVar9 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } } else { (*pcVar8)(plVar16,&DAT_182674700); } FUN_18049c4e0(&local_1d0,"bypass-control"); lVar9 = param_1[0x27]; if ((*(uint *)(local_1d0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1d0 + -0x10) = *(int *)(local_1d0 + -0x10) + 1; UNLOCK(); } LOCK(); lVar10 = *(longlong *)(lVar9 + 0x10); *(longlong *)(lVar9 + 0x10) = local_1d0; UNLOCK(); puVar17 = (uint *)(lVar10 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if ((*(uint *)(local_1d0 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_1d0 + -0x10); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_1d0 + -0x10)); } } plVar16 = (longlong *)(param_1[0x27] + 200); pcVar8 = *(code **)(*plVar16 + 0x10); if (pcVar8 == .?AVSoothe2Header@@::vtbl___AVSoothe2Header__) { FUN_181249460(param_1[0x27] + 0xd0); } else { (*pcVar8)(plVar16,&DAT_182674720); } lVar9 = *plVar2; uVar13 = FUN_1811316e0(0x40); local_1a0 = uVar13; FUN_18049c4e0(&local_1f0,&DAT_18221d1a4); local_1f8 = (void *)FUN_1816057f0(uVar13,lVar9,&local_1f0); puVar17 = (uint *)(local_1f0 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } FUN_180578cc0(param_1 + 0x28,&local_1f8); pvVar11 = local_1f8; if (local_1f8 != (void *)0x0) { FUN_1816056e0(local_1f8); /* WARNING: Subroutine does not return */ free(pvVar11); } uVar13 = FUN_18119aa60(param_2,&DAT_18221c934); uVar14 = FUN_1811316e0(0x40); local_150 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_118 = &local_150; local_148 = param_1; lVar9 = FUN_18055e880(uVar14,uVar13,&local_150); if (plVar4 != &local_158) { lVar10 = *plVar4; *plVar4 = lVar9; lVar9 = lVar10; } if (lVar9 != 0) { FUN_18056a070(&local_158,lVar9); } FUN_18134bf20(param_1,*plVar2,0xffffffff); FUN_18134bf20(param_1,*plVar3,0xffffffff); FUN_18134bf20(param_1,param_1[0x26],0xffffffff); FUN_18134bf20(param_1,param_1[0x27],0xffffffff); local_58 = 0; local_110 = std:: _Func_impl_no_alloc<,juce::Path*___ptr64>:: vftable; local_d8 = &local_110; local_d0 = std::_Func_impl_no_alloc<,int>::vftable; local_98 = &local_d0; local_108 = param_1; local_c8 = param_1; FUN_1815f8200(param_1 + 0x2a,param_1,&local_d0,&local_110,local_90); FUN_181342bf0(param_1 + 0x2a,DAT_1824c3d54); return param_1; } ############ FUN_ 1805920b0 size=41 ############ void .?AVSoothe2SectionHeader@@::vtbl___AVSoothe2SectionHeader__(longlong param_1) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x28); FUN_180570fc0(*(undefined8 *)(param_1 + 8),uVar1); return; } ############ FUN_ 180592500 size=873 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180592500(longlong param_1,undefined8 *param_2,longlong *param_3) { int iVar1; longlong lVar2; longlong *plVar3; longlong lVar4; longlong *plVar5; ulonglong *puVar6; int iVar7; uint uVar8; longlong *plVar9; ulonglong *puVar10; ulonglong uVar12; ulonglong uVar13; undefined1 auStack_b8 [32]; undefined4 local_98; longlong *local_88 [2]; undefined8 local_78; undefined4 local_70; undefined4 uStack_6c; ushort uStack_68; undefined2 uStack_66; longlong local_58; ushort local_50; ulonglong local_48; ulonglong uVar11; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_b8; lVar2 = *param_3; plVar9 = *(longlong **)(param_1 + 0x20); plVar3 = plVar9 + *(int *)(param_1 + 0x2c); for (; plVar9 != plVar3; plVar9 = plVar9 + 1) { plVar5 = (longlong *)*plVar9; if (plVar5[1] == lVar2) { if (plVar5 != (longlong *)0x0) goto LAB_180592798; break; } } uVar13 = 0; local_98 = 0; lVar4 = __RTDynamicCast(lVar2,0,&juce::ImagePixelData::RTTI_Type_Descriptor, &juce::OpenGLFrameBufferImage::RTTI_Type_Descriptor); if ((lVar4 == 0) || ((longlong *)(lVar4 + 0x48) == (longlong *)0x0)) { plVar5 = (longlong *)FUN_1811316e0(0x40); *plVar5 = param_1; plVar5[1] = lVar2; plVar5[2] = 0; *(undefined4 *)(plVar5 + 3) = 0; plVar5[4] = 0; local_88[0] = plVar5; _ftime64_s(&local_58); plVar5[5] = local_58 * 1000 + (ulonglong)local_50; plVar5[6] = (longlong)(*(int *)(lVar2 + 0x18) * *(int *)(lVar2 + 0x14)); *(undefined1 *)(plVar5 + 7) = 1; uVar12 = uVar13; if (*plVar5 != 0) { uVar12 = *plVar5 + 0x10; } lVar2 = plVar5[1]; if (uVar12 != 0) { puVar10 = *(ulonglong **)(lVar2 + 0x30); iVar7 = *(int *)(lVar2 + 0x3c); puVar6 = puVar10 + iVar7; for (; puVar10 != puVar6; puVar10 = puVar10 + 1) { if (uVar12 == *puVar10) goto LAB_1805926b9; } if (*(int *)(lVar2 + 0x38) < iVar7 + 1) { FUN_18047cb30(lVar2 + 0x30,iVar7 + 9 + (iVar7 + 1) / 2 & 0xfffffff8); } iVar7 = *(int *)(lVar2 + 0x3c); *(int *)(lVar2 + 0x3c) = iVar7 + 1; *(ulonglong *)(*(longlong *)(lVar2 + 0x30) + (longlong)iVar7 * 8) = uVar12; } LAB_1805926b9: iVar7 = *(int *)(param_1 + 0x2c) + 1; if (*(int *)(param_1 + 0x28) < iVar7) { FUN_18047cb30(param_1 + 0x20,*(int *)(param_1 + 0x2c) + 9 + iVar7 / 2 & 0xfffffff8); } iVar7 = *(int *)(param_1 + 0x2c); *(int *)(param_1 + 0x2c) = iVar7 + 1; *(longlong **)(*(longlong *)(param_1 + 0x20) + (longlong)iVar7 * 8) = plVar5; *(longlong *)(param_1 + 0x30) = *(longlong *)(param_1 + 0x30) + plVar5[6]; if (*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x30)) { do { if ((*(int *)(param_1 + 0x2c) < 2) || (*(longlong *)(param_1 + 0x30) == 0)) break; puVar10 = *(ulonglong **)(param_1 + 0x20); puVar6 = puVar10 + *(int *)(param_1 + 0x2c); uVar12 = uVar13; if (puVar10 != puVar6) { do { if ((uVar12 == 0) || (*(longlong *)(*puVar10 + 0x28) < *(longlong *)(uVar12 + 0x28))) { uVar12 = *puVar10; } puVar10 = puVar10 + 1; } while (puVar10 != puVar6); if (uVar12 != 0) { *(longlong *)(param_1 + 0x30) = *(longlong *)(param_1 + 0x30) - *(longlong *)(uVar12 + 0x30); if (0 < *(int *)(param_1 + 0x2c)) { puVar6 = *(ulonglong **)(param_1 + 0x20); uVar11 = uVar13; do { if (uVar12 == *puVar6) { FUN_180599eb0(param_1 + 0x20); break; } uVar8 = (int)uVar11 + 1; uVar11 = (ulonglong)uVar8; puVar6 = puVar6 + 1; } while ((int)uVar8 < *(int *)(param_1 + 0x2c)); } } } } while (*(ulonglong *)(param_1 + 0x38) < *(ulonglong *)(param_1 + 0x30)); } LAB_180592798: if (((char)plVar5[7] != '\0') && (plVar3 = (longlong *)plVar5[1], plVar3 != (longlong *)0x0)) { *(undefined1 *)(plVar5 + 7) = 0; LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); local_88[0] = plVar3; FUN_18163bd70(plVar5 + 2,local_88); if (plVar3 != (longlong *)0x0) { LOCK(); plVar9 = plVar3 + 1; lVar2 = *plVar9; *(int *)plVar9 = (int)*plVar9 + -1; UNLOCK(); if ((int)lVar2 == 1) { (**(code **)*plVar3)(plVar3,1); } } } *(int *)param_2 = (int)plVar5[2]; iVar7 = *(int *)(plVar5[1] + 0x14); *(int *)((longlong)param_2 + 4) = iVar7; iVar1 = *(int *)(plVar5[1] + 0x18); *(int *)(param_2 + 1) = iVar1; *(float *)((longlong)param_2 + 0xc) = (float)iVar7 / (float)*(int *)((longlong)plVar5 + 0x14); *(float *)(param_2 + 2) = (float)iVar1 / (float)(int)plVar5[3]; _ftime64_s(&local_70); plVar5[5] = CONCAT44(uStack_6c,local_70) * 1000 + (ulonglong)uStack_68; } else { lVar2 = *(longlong *)(lVar4 + 0x48); if (lVar2 == 0) { local_70 = 0; } else { local_70 = *(undefined4 *)(lVar2 + 0x10); } lVar2 = *param_3; if (lVar2 == 0) { uStack_6c = 0; uStack_68 = 0; uStack_66 = 0; } else { uStack_6c = *(undefined4 *)(lVar2 + 0x14); uStack_68 = (ushort)*(undefined4 *)(lVar2 + 0x18); uStack_66 = (undefined2)((uint)*(undefined4 *)(lVar2 + 0x18) >> 0x10); } *param_2 = CONCAT44(uStack_6c,local_70); param_2[1] = CONCAT44(0x3f800000,CONCAT22(uStack_66,uStack_68)); *(undefined4 *)(param_2 + 2) = 0x3f800000; } } ############ FUN_ 180593430 size=430 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180593430(longlong param_1,undefined8 *param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; int iVar3; uint uVar4; undefined1 auStack_478 [48]; undefined8 *local_448; undefined1 local_438 [1024]; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_478; if (*(char *)(param_1 + 0x24) != '\0') { *(undefined1 *)(param_1 + 0x24) = 0; if (*(int *)(param_1 + 0x1c) < 10) { *(int *)(param_1 + 0x20) = *(int *)(param_1 + 0x1c); *param_2 = 0; *(undefined4 *)(param_2 + 1) = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); *puVar1 = 0; *(undefined4 *)(puVar1 + 1) = 0; puVar1[2] = 0; iVar3 = *(int *)(param_1 + 0x1c) + 1; local_448 = puVar1; if ((int)*(uint *)(param_1 + 0x18) < iVar3) { uVar4 = *(int *)(param_1 + 0x1c) + 9 + iVar3 / 2 & 0xfffffff8; if (*(uint *)(param_1 + 0x18) != uVar4) { pvVar2 = *(void **)(param_1 + 0x10); if ((int)uVar4 < 1) { /* WARNING: Subroutine does not return */ free(pvVar2); } if (pvVar2 == (void *)0x0) { pvVar2 = malloc((longlong)(int)uVar4 * 8); *(void **)(param_1 + 0x10) = pvVar2; } else { pvVar2 = realloc(pvVar2,(longlong)(int)uVar4 * 8); *(void **)(param_1 + 0x10) = pvVar2; } } *(uint *)(param_1 + 0x18) = uVar4; } iVar3 = *(int *)(param_1 + 0x1c); *(int *)(param_1 + 0x1c) = iVar3 + 1; *(undefined8 **)(*(longlong *)(param_1 + 0x10) + (longlong)iVar3 * 8) = puVar1; } else { *(int *)(param_1 + 0x20) = (*(int *)(param_1 + 0x20) + 1) % 10; } FUN_1812a1520(param_3,local_438,0x100); FUN_181639e20(*(undefined8 *) (*(longlong *)(param_1 + 0x10) + (longlong)*(int *)(param_1 + 0x20) * 8),0x100,1, local_438); } iVar3 = **(int **)(*(longlong *)(param_1 + 0x10) + (longlong)*(int *)(param_1 + 0x20) * 8); if (*(int *)((longlong)param_2 + (longlong)*(int *)(param_2 + 2) * 4) != iVar3) { *(int *)((longlong)param_2 + (longlong)*(int *)(param_2 + 2) * 4) = iVar3; glBindTexture(0xde1); } } ############ FUN_ 180593710 size=275 ############ undefined8 * FUN_180593710(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong lVar3; undefined8 uVar4; undefined8 *puVar5; *param_1 = param_2; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; lVar3 = FUN_181639ad0(*param_1,"GraphicsContextPrograms",param_3,param_4,0xfffffffffffffffe); if (lVar3 == 0) { puVar5 = (undefined8 *)param_1[1]; param_1[1] = 0; LAB_18059377b: if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } } else if (param_1[1] != lVar3) { LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); puVar5 = (undefined8 *)param_1[1]; param_1[1] = lVar3; goto LAB_18059377b; } if (param_1[1] != 0) { return param_1; } uVar4 = FUN_1811316e0(0x940); lVar3 = FUN_180592a00(uVar4,*param_1); if (lVar3 == 0) { puVar5 = (undefined8 *)param_1[1]; param_1[1] = 0; } else { if (param_1[1] == lVar3) goto LAB_1805937fc; LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); puVar5 = (undefined8 *)param_1[1]; param_1[1] = lVar3; } if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } LAB_1805937fc: FUN_1816398a0(*param_1,"GraphicsContextPrograms",param_1[1]); return param_1; } ############ FUN_ 180593a40 size=830 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180593a40(longlong *param_1,longlong *param_2) { int *piVar1; undefined8 *puVar2; undefined4 uVar3; longlong lVar4; undefined8 *puVar5; int iVar6; int iVar7; longlong lVar8; short *psVar9; short sVar10; undefined1 auStack_68 [32]; int local_48; undefined4 local_44; undefined8 local_40; char local_38 [8]; char local_30 [4]; char local_2c; ulonglong local_28; local_40 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_68; *param_1 = *param_2; *(int *)(param_1 + 1) = (int)param_2[1]; lVar8 = param_2[2]; uVar3 = *(undefined4 *)((longlong)param_2 + 0x14); lVar4 = param_2[3]; *(undefined4 *)((longlong)param_1 + 0xc) = *(undefined4 *)((longlong)param_2 + 0xc); *(int *)(param_1 + 2) = (int)lVar8; *(undefined4 *)((longlong)param_1 + 0x14) = uVar3; *(int *)(param_1 + 3) = (int)lVar4; *(undefined1 *)(param_1 + 4) = 0; *(undefined8 *)((longlong)param_1 + 0x24) = 0; lVar8 = *param_2; *(undefined4 *)((longlong)param_1 + 0x3c) = 0; *(undefined4 *)(param_1 + 8) = 0xffffffff; param_1[9] = lVar8; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; *(undefined4 *)(param_1 + 0xe) = 0; *(undefined1 *)((longlong)param_1 + 0x74) = 1; FUN_180593710(param_1 + 0xf,*param_2); param_1[0x595] = *param_2; param_1[0x596] = 0; param_1[0x597] = 0; glGetIntegerv(0x8ca6,&local_44); *(undefined4 *)(param_1 + 0x598) = local_44; if (*(code **)(*param_1 + 0x150) != (code *)0x0) { (**(code **)(*param_1 + 0x150))(0x8d40,(int)param_1[1]); } glViewport(0,0,*(undefined4 *)((longlong)param_1 + 0x14),(int)param_1[3]); glDisable(0xb71); glDisable(0xbe2); *(undefined8 *)((longlong)param_1 + 0x24) = 0; param_1[6] = 0; *(undefined4 *)(param_1 + 7) = 0; local_48 = 0; glGetIntegerv(0x80e9,&local_48); iVar7 = local_48 / 6 + (local_48 >> 0x1f) + (int)(((longlong)local_48 / 6 + ((longlong)local_48 >> 0x3f) & 0xffffffffU) >> 0x1f); iVar6 = 0x100; if (iVar7 < 0x100) { iVar6 = iVar7; } *(int *)((longlong)param_1 + 0x2cb4) = iVar6 * 4 + -4; if (0 < iVar6 * 6) { sVar10 = 2; psVar9 = (short *)((longlong)param_1 + 0x20ae); lVar8 = ((longlong)(iVar6 * 6) - 1U) / 6 + 1; do { psVar9[-3] = sVar10 + -2; *psVar9 = sVar10 + -1; psVar9[-2] = sVar10 + -1; psVar9[1] = sVar10; psVar9[-1] = sVar10; psVar9[2] = sVar10 + 1; psVar9 = psVar9 + 6; sVar10 = sVar10 + 4; lVar8 = lVar8 + -1; } while (lVar8 != 0); } (**(code **)(param_1[0x595] + 0x18))(2,param_1 + 0x14); (**(code **)(param_1[0x595] + 8))(0x8893,(int)param_1[0x14]); (**(code **)(param_1[0x595] + 0x20))(0x8893,0xc00,param_1 + 0x415,0x88e4); (**(code **)(param_1[0x595] + 8))(0x8892,*(undefined4 *)((longlong)param_1 + 0xa4)); (**(code **)(param_1[0x595] + 0x20))(0x8892,0x2000,param_1 + 0x15,0x88e0); lVar8 = *param_2; local_38[0] = s_CachedImages_1824c0868[0]; local_38[1] = s_CachedImages_1824c0868[1]; local_38[2] = s_CachedImages_1824c0868[2]; local_38[3] = s_CachedImages_1824c0868[3]; local_38[4] = s_CachedImages_1824c0868[4]; local_38[5] = s_CachedImages_1824c0868[5]; local_38[6] = s_CachedImages_1824c0868[6]; local_38[7] = s_CachedImages_1824c0868[7]; local_30[0] = s_CachedImages_1824c0868[8]; local_30[1] = s_CachedImages_1824c0868[9]; local_30[2] = s_CachedImages_1824c0868[10]; local_30[3] = s_CachedImages_1824c0868[0xb]; local_2c = s_CachedImages_1824c0868[0xc]; puVar5 = (undefined8 *)FUN_181639ad0(lVar8,local_38); if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)FUN_1811316e0(0x40); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::OpenGLRendering::CachedImageList::vftable; puVar5[2] = juce::OpenGLRendering::CachedImageList::vftable; puVar5[3] = lVar8; puVar5[4] = 0; puVar5[5] = 0; puVar5[6] = 0; puVar5[7] = *(undefined8 *)(lVar8 + 0x1e8); FUN_1816398a0(lVar8,local_38,puVar5); } if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)param_1[0x597]; param_1[0x597] = 0; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*puVar5)(puVar5,1); } } } else if ((undefined8 *)param_1[0x597] != puVar5) { LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); puVar2 = (undefined8 *)param_1[0x597]; param_1[0x597] = (longlong)puVar5; if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*puVar2)(puVar2,1); } } } } ############ FUN_ 180594650 size=219 ############ longlong * FUN_180594650(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 *puVar2; undefined4 uVar3; undefined4 uVar4; undefined8 uVar5; undefined8 *puVar6; lVar1 = *param_2; *param_1 = lVar1; if (lVar1 != 0) { *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; } uVar3 = *(undefined4 *)((longlong)param_2 + 0xc); lVar1 = param_2[2]; uVar4 = *(undefined4 *)((longlong)param_2 + 0x14); *(int *)(param_1 + 1) = (int)param_2[1]; *(undefined4 *)((longlong)param_1 + 0xc) = uVar3; *(int *)(param_1 + 2) = (int)lVar1; *(undefined4 *)((longlong)param_1 + 0x14) = uVar4; uVar3 = *(undefined4 *)((longlong)param_2 + 0x1c); lVar1 = param_2[4]; uVar4 = *(undefined4 *)((longlong)param_2 + 0x24); *(int *)(param_1 + 3) = (int)param_2[3]; *(undefined4 *)((longlong)param_1 + 0x1c) = uVar3; *(int *)(param_1 + 4) = (int)lVar1; *(undefined4 *)((longlong)param_1 + 0x24) = uVar4; *(int *)(param_1 + 5) = (int)param_2[5]; FUN_1812a0fd0(param_1 + 6,param_2 + 6,param_3,param_4,0xfffffffffffffffe); *(int *)(param_1 + 0xc) = (int)param_2[0xc]; *(undefined4 *)((longlong)param_1 + 100) = *(undefined4 *)((longlong)param_2 + 100); lVar1 = param_2[0xd]; param_1[0xd] = lVar1; if (lVar1 != 0) { LOCK(); *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; UNLOCK(); } param_1[0xe] = param_2[0xe]; *(undefined1 *)(param_1 + 0xf) = 0; lVar1 = param_2[0x10]; param_1[0x10] = lVar1; if (lVar1 != 0) { LOCK(); *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; UNLOCK(); } puVar2 = (undefined8 *)param_2[0x11]; if (puVar2 == (undefined8 *)0x0) { puVar6 = (undefined8 *)0x0; } else { puVar6 = (undefined8 *)FUN_1811316e0(0x20); *puVar6 = *puVar2; *(undefined4 *)(puVar6 + 1) = *(undefined4 *)(puVar2 + 1); uVar5 = *(undefined8 *)((longlong)puVar2 + 0x14); *(undefined8 *)((longlong)puVar6 + 0xc) = *(undefined8 *)((longlong)puVar2 + 0xc); *(undefined8 *)((longlong)puVar6 + 0x14) = uVar5; } param_1[0x11] = (longlong)puVar6; return param_1; } ############ FUN_ 180594730 size=559 ############ longlong * FUN_180594730(longlong *param_1,undefined4 param_2) { int *piVar1; int iVar2; undefined8 *puVar3; void *_Memory; undefined4 uVar4; undefined4 uVar5; undefined4 uVar6; longlong *plVar7; longlong *plVar8; undefined8 *puVar9; longlong lVar10; longlong *plVar11; undefined4 uVar12; undefined8 local_res8; undefined **local_res18; undefined8 *local_res20; undefined8 *local_78; undefined8 local_70; longlong local_68; undefined1 local_60 [8]; undefined4 local_58; undefined4 local_54; undefined4 local_44; undefined4 uStack_40; undefined4 uStack_3c; undefined4 uStack_38; local_70 = 0xfffffffffffffffe; local_res8 = FUN_1811316e0(0x90); plVar7 = (longlong *)FUN_180594650(local_res8,param_1); plVar8 = (longlong *)*param_1; if (plVar8 != (longlong *)0x0) { (**(code **)(*plVar8 + 0x58))(plVar8,local_60); lVar10 = param_1[0xe]; if (0 < *(int *)(lVar10 + 0x2cb0)) { FUN_1805936a0(lVar10 + 0xa0); } FUN_1805939d0(lVar10 + 0x78,lVar10 + 0xa0); local_res18 = juce::OpenGLImageType::vftable; plVar8 = (longlong *) (*(code *)PTR_FUN_1824bff70)(&local_res18,&local_res8,2,local_58,local_54,1); local_68 = *plVar8; plVar11 = (longlong *)0x0; uVar12 = 0; *plVar8 = 0; local_res20 = (undefined8 *)plVar7[0x10]; plVar7[0x10] = local_68; if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res20 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res20)(local_res20,1); } } puVar9 = (undefined8 *)FUN_1811316e0(0x20); puVar3 = (undefined8 *)param_1[0xe]; *puVar9 = *puVar3; *(undefined4 *)(puVar9 + 1) = *(undefined4 *)(puVar3 + 1); uVar4 = *(undefined4 *)(puVar3 + 2); uVar5 = *(undefined4 *)((longlong)puVar3 + 0x14); uVar6 = *(undefined4 *)(puVar3 + 3); *(undefined4 *)((longlong)puVar9 + 0xc) = *(undefined4 *)((longlong)puVar3 + 0xc); *(undefined4 *)(puVar9 + 2) = uVar4; *(undefined4 *)((longlong)puVar9 + 0x14) = uVar5; *(undefined4 *)(puVar9 + 3) = uVar6; _Memory = (void *)plVar7[0x11]; plVar7[0x11] = (longlong)puVar9; if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } lVar10 = __RTDynamicCast(plVar7[0x10],0,&juce::ImagePixelData::RTTI_Type_Descriptor, &juce::OpenGLFrameBufferImage::RTTI_Type_Descriptor,0); if (lVar10 != 0) { plVar11 = (longlong *)(lVar10 + 0x48); } lVar10 = *plVar11; uStack_38 = uVar12; uVar4 = uVar12; if (lVar10 != 0) { uVar12 = *(undefined4 *)(lVar10 + 8); uStack_38 = *(undefined4 *)(lVar10 + 0xc); uVar4 = *(undefined4 *)(lVar10 + 0x14); } local_44 = local_60._0_4_; uStack_40 = local_60._4_4_; lVar10 = param_1[0xe]; *(undefined4 *)(lVar10 + 8) = uVar4; *(undefined4 *)(lVar10 + 0xc) = local_44; *(undefined4 *)(lVar10 + 0x10) = uStack_40; *(undefined4 *)(lVar10 + 0x14) = uVar12; *(undefined4 *)(lVar10 + 0x18) = uStack_38; *(undefined4 *)((longlong)plVar7 + 100) = param_2; plVar8 = (longlong *)*plVar7; uStack_3c = uVar12; if (1 < (int)plVar8[1]) { plVar8 = (longlong *)(**(code **)(*plVar8 + 8))(plVar8,&local_78); lVar10 = *plVar7; *plVar7 = *plVar8; *plVar8 = lVar10; if (local_78 != (undefined8 *)0x0) { piVar1 = (int *)(local_78 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_78)(local_78,1); } } } FUN_1805929a0(plVar7[0xe]); } return plVar7; } ############ FUN_ 180594960 size=891 ############ void FUN_180594960(longlong *param_1,undefined4 param_2,float *param_3) { int *piVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; int iVar9; float fVar10; undefined8 uVar11; longlong *plVar12; undefined8 *puVar13; undefined8 *puVar14; double dVar15; float fVar16; undefined8 *local_res8; undefined8 *local_b8; undefined8 local_b0; undefined8 *local_a8; float local_a0; float local_9c; float local_98; float local_94; float local_90; float local_8c; undefined1 local_88 [112]; fVar10 = DAT_1824c3ea4; local_b0 = 0xfffffffffffffffe; if (*param_1 != 0) { fVar2 = param_3[1]; if ((((fVar2 == 0.0) && (param_3[3] == 0.0)) && (*param_3 == DAT_1824c3ea4)) && ((param_3[4] == DAT_1824c3ea4 && (*(char *)((longlong)param_1 + 0x29) == '\0')))) { uVar11 = FUN_180599280(); fVar2 = param_3[5]; fVar16 = param_3[2]; if ((char)param_1[5] == '\0') { fVar3 = *(float *)((longlong)param_1 + 0x14); fVar4 = *(float *)(param_1 + 3); fVar5 = *(float *)((longlong)param_1 + 0x1c); fVar6 = *(float *)((longlong)param_1 + 0xc); fVar7 = *(float *)(param_1 + 1); fVar8 = *(float *)(param_1 + 2); local_res8 = (undefined8 *)param_1[0xd]; if (local_res8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_res8,*(float *)(param_1[0xd] + 0x28) * *(float *)(param_1 + 3)); dVar15 = (double)(*(float *)(param_1 + 1) / *(float *)(param_1 + 3) - fVar10); if (DAT_1824c3c70 < (float)(double)CONCAT44((uint)((ulonglong)dVar15 >> 0x20) & DAT_1824c4f10._4_4_, SUB84(dVar15,0) & (uint)DAT_1824c4f10)) { FUN_181251de0(&local_res8); } FUN_180599050(uVar11,param_1,&local_res8,param_2, CONCAT44(fVar16 * fVar3 + fVar2 * fVar4 + fVar5, fVar2 * fVar6 + fVar16 * fVar7 + fVar8)); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_res8)(local_res8,1); } } } else { FUN_180599050(uVar11,param_1,param_1 + 0xd,param_2, CONCAT44((float)*(int *)((longlong)param_1 + 0x24) + fVar2, (float)(int)param_1[4] + fVar16)); } } else { fVar10 = *(float *)(param_1[0xd] + 0x28); fVar16 = *(float *)(param_1[0xd] + 0x2c) * fVar10; local_94 = param_3[4] * 0.0; local_90 = param_3[3] * 0.0; local_8c = local_90 + local_94 + param_3[5]; local_90 = param_3[4] * fVar10 + local_90; local_94 = param_3[3] * fVar16 + local_94; local_9c = *param_3 * 0.0; local_98 = local_9c + fVar2 * 0.0 + param_3[2]; local_9c = fVar2 * fVar10 + local_9c; local_a0 = *param_3 * fVar16 + fVar2 * 0.0; FUN_18049eab0(param_1 + 1,local_88,&local_a0); plVar12 = (longlong *)FUN_181252280(param_1 + 0xd); puVar13 = (undefined8 *)(**(code **)(*plVar12 + 0x40))(plVar12,param_2,local_88,fVar10); if (puVar13 != (undefined8 *)0x0) { local_a8 = puVar13; puVar14 = (undefined8 *)FUN_1811316e0(0x38); *(undefined4 *)(puVar14 + 1) = 0; *puVar14 = juce::RenderingHelpers::ClipRegions:: EdgeTableRegion::vftable; local_res8 = puVar14; FUN_18129f450(puVar14 + 2,puVar13); *(int *)(puVar14 + 1) = *(int *)(puVar14 + 1) + 1; local_b8 = puVar14; FUN_1805998c0(param_1,&local_b8); /* WARNING: Subroutine does not return */ free((void *)*puVar13); } } } return; } ############ FUN_ 180599050 size=408 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180599050(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { int *piVar1; int iVar2; undefined8 uVar3; undefined8 *puVar4; undefined8 *puVar5; longlong lVar6; undefined4 extraout_XMM0_Db; float fVar7; undefined4 uVar8; undefined8 *local_48; undefined8 *local_40; double local_38; undefined8 local_30; undefined1 local_28 [32]; local_30 = 0xfffffffffffffffe; FUN_18059a460(param_1,&local_48); puVar4 = local_48; if (local_48 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(param_1 + 0x18); iVar2 = *piVar1; *piVar1 = *piVar1 + 1; UNLOCK(); *(int *)((longlong)local_48 + 0x24) = iVar2 + 1; uVar8 = 0; if (*(char *)(local_48 + 5) != '\0') { param_5._0_4_ = floorf((float)param_5 + DAT_1824c3d8c); uVar8 = extraout_XMM0_Db; } if (puVar4[3] != 0) { local_38 = (double)param_5._4_4_ + DAT_1824c4520; uVar3 = puVar4[3]; if (*param_2 != 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x38); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::RenderingHelpers::ClipRegions:: EdgeTableRegion::vftable; local_40 = puVar5; FUN_18129f450(puVar5 + 2,uVar3); FUN_18129eee0(puVar5 + 2,CONCAT44(uVar8,(float)param_5),(ulonglong)local_38 & 0xffffffff); if ((param_2[7] == 0) && (param_2[8] == 0)) { lVar6 = FUN_18049fa40(local_28,(int)param_2[6]); fVar7 = *(float *)(lVar6 + 8) - DAT_1824c3d8c; if (0.0 < fVar7) { FUN_18129ee60(puVar5 + 2,fVar7 * _DAT_1824c3fb4 + DAT_1824c3ea4); } } *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; local_40 = puVar5; FUN_1805998c0(param_2,&local_40); } } } if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_48)(local_48,1); } } return; } ############ FUN_ 180599280 size=115 ############ undefined8 * FUN_180599280(void) { undefined8 *puVar1; puVar1 = DAT_18267ab80; if (DAT_18267ab80 == (undefined8 *)0x0) { puVar1 = (undefined8 *)FUN_1811316e0(0x50); FUN_1812a7230(puVar1); *puVar1 = juce::RenderingHelpers:: GlyphCache,juce::OpenGLRendering::SavedState> ::vftable; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; *(undefined4 *)(puVar1 + 4) = 0; InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)puVar1 + 0x24)); FUN_1805991f0(puVar1); } DAT_18267ab80 = puVar1; return puVar1; } ############ FUN_ 18059a360 size=255 ############ void FUN_18059a360(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; int iVar2; undefined8 *puVar3; int iVar4; iVar4 = *(int *)(param_1 + 0x14) + param_2; plVar1 = (longlong *)(param_1 + 8); if (*(int *)(param_1 + 0x10) < iVar4) { FUN_18047cb30(plVar1,iVar4 + 8 + iVar4 / 2 & 0xfffffff8,iVar4,param_4,0xfffffffffffffffe); } while (param_2 = param_2 + -1, -1 < param_2) { puVar3 = (undefined8 *)FUN_1811316e0(0x30); puVar3[1] = 0; puVar3[2] = 0; puVar3[3] = 0; puVar3[4] = 0; puVar3[5] = 0; *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = juce::RenderingHelpers::CachedGlyphEdgeTable:: vftable; FUN_181252d20(puVar3 + 2); puVar3[3] = 0; puVar3[4] = 0; *(undefined1 *)(puVar3 + 5) = 0; iVar2 = *(int *)(param_1 + 0x14); iVar4 = iVar2 + 1; if (*(int *)(param_1 + 0x10) < iVar4) { if (iVar4 < 0) { iVar4 = iVar2 + 2; } FUN_18047cb30(plVar1,iVar2 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar4 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar4 + 1; *(undefined8 **)(*plVar1 + (longlong)iVar4 * 8) = puVar3; LOCK(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; UNLOCK(); } return; } ############ FUN_ 18059ac10 size=1075 ############ void FUN_18059ac10(undefined8 *param_1,longlong *param_2,undefined8 param_3,longlong *param_4) { undefined1 auVar1 [16]; undefined1 uVar2; longlong lVar3; int iVar4; int iVar5; int iVar6; longlong *plVar7; undefined8 *puVar8; int iVar9; int iVar10; int iVar11; int iVar12; int iVar13; int iVar14; uint uVar15; uint uVar16; longlong *local_res8; undefined8 in_stack_ffffffffffffff48; undefined4 uVar18; undefined8 uVar17; undefined8 local_98; int iStack_90; int iStack_8c; longlong *local_88; float local_80; float local_7c; float local_78; float local_74; float local_70; float local_6c; void *local_68; ulonglong local_60; undefined8 local_58; undefined8 uStack_50; undefined1 local_48; undefined8 local_40; longlong *local_38; uVar18 = (undefined4)((ulonglong)in_stack_ffffffffffffff48 >> 0x20); local_40 = 0xfffffffffffffffe; plVar7 = param_4; FUN_18049eab0(param_1 + 1,&local_80); uVar2 = *(undefined1 *)((longlong)param_1 + 0x33); uVar15 = (uint)DAT_1824c4f10; uVar16 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); if (((((float)(double)CONCAT44((uint)((ulonglong)(double)local_7c >> 0x20) & uVar16, SUB84((double)local_7c,0) & uVar15) < DAT_1824c3c5c) && ((float)(double)CONCAT44((uint)((ulonglong)(double)local_74 >> 0x20) & uVar16, SUB84((double)local_74,0) & uVar15) < DAT_1824c3c5c)) && ((float)(double)CONCAT44((uint)((ulonglong)(double)(local_80 - DAT_1824c3ea4) >> 0x20) & uVar16,SUB84((double)(local_80 - DAT_1824c3ea4),0) & uVar15) < DAT_1824c3c5c)) && ((float)(double)CONCAT44((uint)((ulonglong)(double)(local_70 - DAT_1824c3ea4) >> 0x20) & uVar16 ,SUB84((double)(local_70 - DAT_1824c3ea4),0) & uVar15) < DAT_1824c3c5c )) { if ((*(int *)(param_1 + 0xc) == 0) || ((((int)(local_6c * DAT_1824c4550) | (int)(local_78 * DAT_1824c4550)) & 0xe0U) == 0)) { iVar14 = (int)((int)(local_78 * DAT_1824c4550) + 0x80U) >> 8; iVar13 = (int)((int)(local_6c * DAT_1824c4550) + 0x80U) >> 8; if (plVar7 != (longlong *)0x0) { (**(code **)(*param_4 + 0x88)) (plVar7,param_1,param_2,uVar2,CONCAT44(uVar18,iVar14),iVar13,1); return; } lVar3 = *param_2; iVar11 = 0; if (lVar3 == 0) { iVar6 = 0; } else { iVar11 = *(int *)(lVar3 + 0x18); iVar6 = *(int *)(lVar3 + 0x14); } auVar1 = *(undefined1 (*) [16])(param_1[0xe] + 0xc); iVar5 = auVar1._0_4_; iVar12 = iVar14; if (iVar14 < iVar5) { iVar12 = iVar5; } iVar9 = auVar1._4_4_; iVar4 = iVar13; if (iVar13 < iVar9) { iVar4 = iVar9; } iVar5 = iVar5 + auVar1._8_4_; iVar10 = iVar6 + iVar14; if (iVar5 < iVar6 + iVar14) { iVar10 = iVar5; } iVar10 = iVar10 - iVar12; if (iVar10 < 0) { return; } iVar9 = auVar1._12_4_ + iVar9; iVar6 = iVar11 + iVar13; if (iVar9 < iVar11 + iVar13) { iVar6 = iVar9; } iVar6 = iVar6 - iVar4; if (iVar6 < 0) { return; } local_98 = CONCAT44(iVar4,iVar12); _iStack_90 = CONCAT44(iVar6,iVar10); if (iVar10 < 1) { return; } if (iVar6 < 1) { return; } plVar7 = (longlong *)FUN_1811316e0(0x38); *(undefined4 *)(plVar7 + 1) = 0; *plVar7 = (longlong) juce::RenderingHelpers::ClipRegions:: EdgeTableRegion::vftable; local_38 = plVar7; FUN_18129fce0(plVar7 + 2,&local_98); *(int *)(plVar7 + 1) = (int)plVar7[1] + 1; local_res8 = plVar7; (**(code **)(*(longlong *)*param_1 + 0x10))((longlong *)*param_1,&local_88,&local_res8); if (local_res8 != (longlong *)0x0) { plVar7 = local_res8 + 1; *(int *)plVar7 = (int)*plVar7 + -1; if ((int)*plVar7 == 0) { (**(code **)*local_res8)(local_res8,1); } } if (local_88 != (longlong *)0x0) { (**(code **)(*local_88 + 0x88)) (local_88,param_1,param_2,uVar2,CONCAT44(uVar18,iVar14),iVar13,0); } if (local_88 == (longlong *)0x0) { return; } plVar7 = local_88 + 1; *(int *)plVar7 = (int)*plVar7 + -1; if ((int)*plVar7 != 0) { return; } (**(code **)*local_88)(local_88,1); return; } } if (local_70 * local_80 - local_74 * local_7c != 0.0) { if (plVar7 == (longlong *)0x0) { local_68 = (void *)0x0; local_60 = 0; local_58 = 0; uStack_50 = 0; local_48 = 1; lVar3 = *param_2; if (lVar3 == 0) { iStack_90 = 0; iStack_8c = 0; } else { iStack_8c = *(int *)(lVar3 + 0x18); iStack_90 = *(undefined4 *)(lVar3 + 0x14); } local_98 = 0; uVar17 = CONCAT44(uVar18,(float)iStack_8c); FUN_18129d850(&local_68); puVar8 = (undefined8 *) (**(code **)(*(longlong *)*param_1 + 8))((longlong *)*param_1,&local_88); (**(code **)(*(longlong *)*puVar8 + 0x30)) ((longlong *)*puVar8,&local_res8,&local_68,&local_80,uVar17); if (local_88 != (longlong *)0x0) { plVar7 = local_88 + 1; *(int *)plVar7 = (int)*plVar7 + -1; if ((int)*plVar7 == 0) { (**(code **)*local_88)(local_88,1); } } if (local_res8 != (longlong *)0x0) { (**(code **)(*local_res8 + 0x80)) (local_res8,param_1,param_2,uVar2,&local_80,*(undefined4 *)(param_1 + 0xc),0); } if (local_res8 != (longlong *)0x0) { plVar7 = local_res8 + 1; *(int *)plVar7 = (int)*plVar7 + -1; if ((int)*plVar7 == 0) { (**(code **)*local_res8)(local_res8,1); } } local_60 = local_60 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_68); } (**(code **)(*param_4 + 0x80)) (plVar7,param_1,param_2,uVar2,&local_80,*(undefined4 *)(param_1 + 0xc),1); } return; } ############ FUN_ 180594cf0 size=370 ############ undefined8 * FUN_180594cf0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; longlong lVar2; undefined8 uVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; *param_1 = juce::OpenGLRendering::ShaderContext::vftable; FUN_180593a40(param_1 + 4); puVar4 = (undefined8 *)FUN_1811316e0(0x90); uVar3 = *(undefined8 *)((longlong)param_1 + 0x2c); lVar2 = *(longlong *)((longlong)param_1 + 0x34); puVar5 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::RenderingHelpers::ClipRegions:: RectangleListRegion::vftable; puVar5[2] = 0; puVar5[3] = 0; if ((0 < (int)lVar2) && ((int)((ulonglong)lVar2 >> 0x20) != 0 && -1 < lVar2)) { FUN_18049ba20(puVar5 + 2,8,param_3,param_4,uVar7); iVar1 = *(int *)((longlong)puVar5 + 0x1c); *(int *)((longlong)puVar5 + 0x1c) = iVar1 + 1; puVar6 = (undefined8 *)((longlong)iVar1 * 0x10 + puVar5[2]); *puVar6 = uVar3; puVar6[1] = lVar2; } *puVar4 = puVar5; *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; puVar4[1] = 0x3f800000; puVar4[2] = 0; puVar4[3] = 0x3f800000; puVar4[4] = 0; *(undefined2 *)(puVar4 + 5) = 1; *(undefined4 *)(puVar4 + 6) = 0xff000000; puVar4[7] = 0; puVar4[8] = 0; puVar4[9] = 0x3f800000; puVar4[10] = 0; puVar4[0xb] = 0x3f800000; *(undefined4 *)(puVar4 + 0xc) = 1; *(undefined4 *)((longlong)puVar4 + 100) = 0x3f800000; FUN_181252d20(puVar4 + 0xd); puVar4[0xe] = param_1 + 4; *(undefined1 *)(puVar4 + 0xf) = 0; puVar4[0x10] = 0; puVar4[0x11] = 0; lVar2 = param_1[1]; param_1[1] = puVar4; if (lVar2 != 0) { FUN_18059b800(); } return param_1; } ############ FUN_ 1816395b0 size=711 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1816395b0(longlong param_1,undefined4 *param_2,int *param_3,undefined8 param_4,int param_5) { undefined4 uVar1; bool bVar2; int iVar3; longlong lVar4; undefined1 auStack_88 [32]; undefined4 local_68; undefined8 local_60; char local_58 [4]; undefined4 local_54; undefined8 local_50; undefined8 local_48; float local_40; float local_3c; short local_38; short local_36; short local_34; short local_32; short local_30; short local_2e; short local_2c; short local_2a; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_88; if (0 < param_5) { glBlendFunc(1,0x303); glEnable(0xbe2); glGetBooleanv(0xb71,local_58); if (local_58[0] != '\0') { glDisable(0xb71); } lVar4 = FUN_181639c10(param_1); if ((lVar4 == 0) || (*(char *)(lVar4 + 0x2f8) == '\0')) { bVar2 = false; } else { bVar2 = true; } if (bVar2) { local_38 = (short)*param_2; local_34 = (short)param_2[2] + local_38; local_2e = (short)param_2[1]; local_36 = (short)param_2[3] + local_2e; local_32 = local_36; local_30 = local_38; local_2c = local_34; local_2a = local_2e; lVar4 = FUN_181639ad0(param_1,"juceGLComponentOverlayShader"); if (lVar4 == 0) { local_48 = FUN_1811316e0(0x78); lVar4 = FUN_180598630(local_48,param_1); FUN_1816398a0(param_1,"juceGLComponentOverlayShader",lVar4); } (**(code **)(*(longlong *)(lVar4 + 0x10) + 0x70))(*(undefined4 *)(lVar4 + 0x18)); local_3c = (float)param_3[3]; local_40 = (float)param_3[2]; local_48 = CONCAT44((float)param_3[1],(float)*param_3); (**(code **)(*(longlong *)(lVar4 + 0x60) + 0xf0))(*(undefined4 *)(lVar4 + 0x58),4,&local_48); (**(code **)(*(longlong *)(lVar4 + 0x50) + 200))(*(undefined4 *)(lVar4 + 0x48),0); (**(code **)(*(longlong *)(lVar4 + 0x40) + 0xd0))(*(undefined4 *)(lVar4 + 0x38)); (**(code **)(*(longlong *)(lVar4 + 0x70) + 0xd0))(*(undefined4 *)(lVar4 + 0x68)); local_54 = 0; (**(code **)(param_1 + 0x18))(1,&local_54); (**(code **)(param_1 + 8))(0x8892,local_54); (**(code **)(param_1 + 0x20))(0x8892,0x10,&local_38); uVar1 = *(undefined4 *)(lVar4 + 0x30); local_60 = 0; local_68 = 4; (**(code **)(param_1 + 0xa8))(uVar1,2,0x1402); (**(code **)(param_1 + 0xb0))(uVar1); iVar3 = (**(code **)(param_1 + 0x168))(0x8d40); if (iVar3 == 0x8cd5) { glDrawArrays(5,0,4); (**(code **)(param_1 + 8))(0x8892,0); (**(code **)(param_1 + 0x70))(0); (**(code **)(param_1 + 0xb8))(uVar1); (**(code **)(param_1 + 0x10))(1,&local_54); } else { do { iVar3 = glGetError(); } while (iVar3 != 0); } } if (local_58[0] != '\0') { glEnable(0xb71); } } } ############ FUN_ 18163ac10 size=456 ############ bool FUN_18163ac10(longlong *param_1,longlong param_2,undefined4 param_3,undefined4 param_4) { longlong lVar1; bool bVar2; longlong *plVar3; lVar1 = *param_1; *param_1 = 0; if (lVar1 != 0) { FUN_18059b780(); } plVar3 = (longlong *)FUN_1811316e0(0x20); *plVar3 = param_2; *(undefined4 *)(plVar3 + 1) = param_3; *(undefined4 *)((longlong)plVar3 + 0xc) = param_4; plVar3[2] = 0; *(undefined4 *)(plVar3 + 3) = 0; *(undefined2 *)((longlong)plVar3 + 0x1c) = 0; if (*(code **)(param_2 + 0x160) != (code *)0x0) { (**(code **)(param_2 + 0x160))(1,(longlong)plVar3 + 0x14); (**(code **)(*plVar3 + 0x150))(0x8d40,*(undefined4 *)((longlong)plVar3 + 0x14)); glGenTextures(1,plVar3 + 2); glBindTexture(0xde1,(int)plVar3[2]); glTexParameteri(0xde1,0x2801,0x2601); glTexParameteri(0xde1,0x2800,0x2601); glTexParameteri(0xde1,0x2802,0x812f); glTexParameteri(0xde1,0x2803,0x812f); glTexImage2D(0xde1,0,0x1908,(int)plVar3[1],*(undefined4 *)((longlong)plVar3 + 0xc),0,0x1908, 0x1401,0); (**(code **)(*plVar3 + 0x170))(0x8d40,0x8ce0,0xde1,(int)plVar3[2],0); (**(code **)(*plVar3 + 0x150))(0x8d40,0); } lVar1 = *param_1; *param_1 = (longlong)plVar3; if (lVar1 != 0) { FUN_18059b780(); } lVar1 = *param_1; if ((*(int *)(lVar1 + 0x14) == 0) || (bVar2 = true, *(int *)(lVar1 + 0x10) == 0)) { bVar2 = false; } if ((!bVar2) && (*param_1 = 0, lVar1 != 0)) { FUN_18059b780(); } return *param_1 != 0; } ############ FUN_ 18163a690 size=315 ############ undefined8 * FUN_18163a690(undefined8 *param_1,undefined8 *param_2) { int *piVar1; int iVar2; undefined4 uVar3; undefined4 uVar4; undefined4 uVar5; bool bVar6; longlong lVar7; undefined8 *puVar8; undefined8 *local_res10; undefined **local_res18; undefined8 *local_res20; undefined8 uVar9; uVar9 = 0xfffffffffffffffe; DAT_1826736c0 = FUN_18163a7e0; lVar7 = FUN_181639c10(*param_2); if ((lVar7 == 0) || (*(char *)(lVar7 + 0x2f8) == '\0')) { bVar6 = false; } else { bVar6 = true; } if (bVar6) { local_res18 = (undefined **)FUN_1811316e0(0x2ce8); uVar9 = FUN_180594cf0(local_res18,param_2); *param_1 = uVar9; return param_1; } local_res18 = juce::SoftwareImageType::vftable; (*(code *)PTR_FUN_182498650) (&local_res18,&local_res10,2,*(undefined4 *)((longlong)param_2 + 0x14), *(undefined4 *)(param_2 + 3),1,uVar9); local_res18 = juce::ImageType::vftable; puVar8 = (undefined8 *)FUN_1811316e0(0x48); local_res20 = puVar8; FUN_181291bd0(puVar8,&local_res10); *puVar8 = juce::OpenGLRendering::NonShaderContext::vftable; puVar8[4] = *param_2; *(undefined4 *)(puVar8 + 5) = *(undefined4 *)(param_2 + 1); uVar3 = *(undefined4 *)(param_2 + 2); uVar4 = *(undefined4 *)((longlong)param_2 + 0x14); uVar5 = *(undefined4 *)(param_2 + 3); *(undefined4 *)((longlong)puVar8 + 0x2c) = *(undefined4 *)((longlong)param_2 + 0xc); *(undefined4 *)(puVar8 + 6) = uVar3; *(undefined4 *)((longlong)puVar8 + 0x34) = uVar4; *(undefined4 *)(puVar8 + 7) = uVar5; puVar8[8] = local_res10; if (local_res10 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res10 + 1) = *(int *)(local_res10 + 1) + 1; UNLOCK(); } *param_1 = puVar8; if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res10)(local_res10,1); } } return param_1; } ############ FUN_ 180595210 size=46 ############ undefined8 * FUN_180595210(undefined8 param_1,undefined8 *param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(8); *puVar1 = juce::OpenGLImageType::vftable; *param_2 = puVar1; return param_2; } ############ FUN_ 180595240 size=448 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_180595240(longlong *param_1,undefined8 *param_2) { longlong *plVar1; undefined4 uVar2; longlong lVar3; longlong lVar4; char cVar5; longlong *plVar6; longlong *local_res18; longlong *local_res20; longlong *local_78; longlong *local_70; undefined1 local_68; undefined8 local_58; undefined8 uStack_50; undefined4 local_48; undefined4 local_44; undefined8 local_40; longlong *local_30; local_40 = 0xfffffffffffffffe; plVar6 = (longlong *)FUN_1811316e0(0x60); lVar4 = param_1[3]; uVar2 = *(undefined4 *)((longlong)param_1 + 0x14); lVar3 = param_1[8]; *(undefined4 *)(plVar6 + 1) = 0; *(undefined4 *)(plVar6 + 2) = 2; *(undefined4 *)((longlong)plVar6 + 0x14) = uVar2; *(int *)(plVar6 + 3) = (int)lVar4; plVar6[4] = 0; plVar6[5] = 0; plVar6[6] = 0; plVar6[7] = 0; *plVar6 = (longlong)juce::OpenGLFrameBufferImage::vftable; plVar6[8] = lVar3; plVar6[9] = 0; plVar6[10] = 0; *(undefined4 *)(plVar6 + 0xb) = 4; *(int *)((longlong)plVar6 + 0x5c) = *(int *)((longlong)plVar6 + 0x14) << 2; local_res18 = plVar6; local_res20 = plVar6; cVar5 = FUN_180595150(plVar6); if (cVar5 == '\0') { *param_2 = 0; (**(code **)*plVar6)(plVar6,1); } else { local_res20 = (longlong *)0x0; LOCK(); *(int *)(plVar6 + 1) = (int)plVar6[1] + 1; UNLOCK(); local_30 = plVar6; (**(code **)(*plVar6 + 8))(plVar6,&local_78); local_70 = local_78; local_68 = 0; LOCK(); *(int *)(param_1 + 1) = (int)param_1[1] + 1; UNLOCK(); local_58 = _DAT_1824c4780; uStack_50 = _UNK_1824c4788; local_48 = DAT_1824c3ea4; local_44 = 0; local_res18 = param_1; cVar5 = (**(code **)(*local_78 + 0x60))(); if (cVar5 == '\0') { (**(code **)(*local_70 + 0xc0))(local_70,&local_res18,&local_58); } if (local_res18 != (longlong *)0x0) { LOCK(); plVar1 = local_res18 + 1; lVar3 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)*local_res18)(local_res18,1); } } *param_2 = plVar6; LOCK(); *(int *)(plVar6 + 1) = (int)plVar6[1] + 1; UNLOCK(); if (local_78 != (longlong *)0x0) { (**(code **)*local_78)(local_78,1); } LOCK(); plVar1 = plVar6 + 1; lVar3 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)*plVar6)(plVar6,1); } } return param_2; } ############ FUN_ 180595400 size=544 ############ void FUN_180595400(longlong param_1,undefined8 *param_2,undefined4 param_3,undefined4 param_4, int param_5) { int iVar1; int iVar2; undefined8 *puVar3; undefined8 *puVar4; void *pvVar5; *(undefined4 *)(param_2 + 1) = *(undefined4 *)(param_1 + 0x10); *(undefined4 *)((longlong)param_2 + 0xc) = *(undefined4 *)(param_1 + 0x5c); *(undefined4 *)(param_2 + 2) = *(undefined4 *)(param_1 + 0x58); if (param_5 == 0) { puVar4 = (undefined8 *)FUN_1811316e0(0x18); iVar1 = *(int *)((longlong)param_2 + 0x14); iVar2 = *(int *)(param_2 + 3); *puVar4 = juce::OpenGLFrameBufferImage:: DataReleaser ::vftable; pvVar5 = malloc((longlong)(iVar1 * iVar2) << 2); puVar4[1] = pvVar5; puVar3 = (undefined8 *)param_2[4]; param_2[4] = puVar4; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } *param_2 = puVar4[1]; *(uint *)((longlong)param_2 + 0xc) = *(int *)(param_2 + 2) * *(int *)((longlong)param_2 + 0x14) + 3U & 0xfffffffc; FUN_180595620(param_1 + 0x48,param_2,param_3,param_4); return; } if (param_5 == 1) { puVar4 = (undefined8 *)FUN_1811316e0(0x28); iVar1 = *(int *)((longlong)param_2 + 0x14); iVar2 = *(int *)(param_2 + 3); *puVar4 = juce::OpenGLFrameBufferImage:: DataReleaser ::vftable; pvVar5 = malloc((longlong)(iVar1 * iVar2) << 2); puVar4[1] = pvVar5; puVar4[2] = param_1 + 0x48; *(undefined4 *)(puVar4 + 3) = param_3; *(undefined4 *)((longlong)puVar4 + 0x1c) = param_4; *(int *)(puVar4 + 4) = iVar1; *(int *)((longlong)puVar4 + 0x24) = iVar2; puVar3 = (undefined8 *)param_2[4]; param_2[4] = puVar4; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } *param_2 = puVar4[1]; *(uint *)((longlong)param_2 + 0xc) = *(int *)(param_2 + 2) * *(int *)((longlong)param_2 + 0x14) + 3U & 0xfffffffc; } else { if (param_5 == 2) { puVar4 = (undefined8 *)FUN_1811316e0(0x28); iVar1 = *(int *)((longlong)param_2 + 0x14); iVar2 = *(int *)(param_2 + 3); *puVar4 = juce::OpenGLFrameBufferImage:: DataReleaser ::vftable; pvVar5 = malloc((longlong)(iVar1 * iVar2) << 2); puVar4[1] = pvVar5; puVar4[2] = param_1 + 0x48; *(undefined4 *)(puVar4 + 3) = param_3; *(undefined4 *)((longlong)puVar4 + 0x1c) = param_4; *(int *)(puVar4 + 4) = iVar1; *(int *)((longlong)puVar4 + 0x24) = iVar2; puVar3 = (undefined8 *)param_2[4]; param_2[4] = puVar4; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } *param_2 = puVar4[1]; *(uint *)((longlong)param_2 + 0xc) = *(int *)(param_2 + 2) * *(int *)((longlong)param_2 + 0x14) + 3U & 0xfffffffc; FUN_180595620(param_1 + 0x48,param_2,param_3,param_4); FUN_181291830(param_1); return; } if (param_5 == 0) { return; } } FUN_181291830(param_1); return; } ############ FUN_ 1812a60a0 size=463 ############ ulonglong FUN_1812a60a0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; DWORD DVar5; ulonglong in_RAX; undefined4 extraout_var; undefined8 *puVar6; ulonglong extraout_RAX; ulonglong uVar7; undefined8 uVar8; lVar4 = DAT_1826736d0; uVar8 = 0xfffffffffffffffe; if (DAT_1826736d0 != 0) { in_RAX = (ulonglong)*(uint *)(param_1 + 0x16); if (*(uint *)(param_1 + 0x16) == 0) { DVar5 = GetCurrentThreadId(); uVar7 = CONCAT44(extraout_var,DVar5); if (((ulonglong)DVar5 == *(ulonglong *)(lVar4 + 0x10)) || (uVar7 = *(ulonglong *)(lVar4 + 0x18), DVar5 == uVar7)) { LAB_1812a61e8: return CONCAT71((int7)(uVar7 >> 8),1); } puVar6 = (undefined8 *)FUN_1811316e0(0xf0); *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::MessageManager::Lock::BlockingMessage::vftable; InitializeCriticalSection((LPCRITICAL_SECTION)(puVar6 + 2)); puVar6[8] = param_1; *(undefined1 *)(puVar6 + 9) = 0; _Mtx_init_in_situ(puVar6 + 10,2,param_3,param_4,uVar8); _Cnd_init_in_situ(puVar6 + 0x14); *(undefined1 *)(puVar6 + 0x1d) = 0; if ((undefined8 *)*param_1 != puVar6) { LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); puVar3 = (undefined8 *)*param_1; *param_1 = (longlong)puVar6; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } } in_RAX = FUN_1812a6720(*param_1); if ((char)in_RAX != '\0') { while ((int)param_1[0x16] == 0) { FUN_181215c90(param_1 + 1,0xffffffff); } LOCK(); *(undefined4 *)(param_1 + 0x16) = 0; UNLOCK(); if (*(int *)((longlong)param_1 + 0xb4) != 0) { DVar5 = GetCurrentThreadId(); LOCK(); uVar7 = *(ulonglong *)(lVar4 + 0x18); *(ulonglong *)(lVar4 + 0x18) = (ulonglong)DVar5; UNLOCK(); goto LAB_1812a61e8; } FUN_181215c10(*param_1 + 0x48); lVar4 = *param_1; EnterCriticalSection((LPCRITICAL_SECTION)(lVar4 + 0x10)); LOCK(); *(undefined4 *)((longlong)param_1 + 0xb4) = 0; UNLOCK(); LOCK(); *(undefined8 *)(*param_1 + 0x40) = 0; UNLOCK(); LeaveCriticalSection((LPCRITICAL_SECTION)(lVar4 + 0x10)); in_RAX = extraout_RAX; } puVar6 = (undefined8 *)*param_1; *param_1 = 0; if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); in_RAX = (ulonglong)(iVar2 - 1U); if (iVar2 - 1U == 0) { uVar7 = (**(code **)*puVar6)(puVar6,1); return uVar7 & 0xffffffffffffff00; } } } else { LOCK(); *(undefined4 *)(param_1 + 0x16) = 0; UNLOCK(); } } return in_RAX & 0xffffffffffffff00; } ############ FUN_ 18059b050 size=402 ############ void FUN_18059b050(longlong *param_1,longlong param_2) { int iVar1; int *piVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *local_res8; float local_98; float local_94; float local_90; float local_8c; int local_88; int iStack_84; int iStack_80; int iStack_7c; int local_78; int iStack_74; int iStack_70; int iStack_6c; int local_68; int iStack_64; int iStack_60; int iStack_5c; undefined1 local_58 [16]; undefined1 local_48 [48]; plVar4 = (longlong *)*param_1; if (plVar4 != (longlong *)0x0) { FUN_18049eab0(param_1 + 1,local_48); (**(code **)(*plVar4 + 0x58))(plVar4,&local_78); iVar1 = local_78; local_94 = *(float *)(param_2 + 0x18); local_98 = *(float *)(param_2 + 0x10); local_8c = *(float *)(param_2 + 0x1c) - local_94; local_90 = *(float *)(param_2 + 0x14) - local_98; local_88 = local_78; iStack_84 = iStack_74; iStack_80 = iStack_70; iStack_7c = iStack_6c; FUN_1804ab160(&local_98,&local_68,local_48); piVar2 = (int *)FUN_1804ab070(&local_68,local_58); if (iVar1 < *piVar2 + piVar2[2]) { if ((((iStack_84 < piVar2[1] + piVar2[3]) && (*piVar2 < iVar1 + iStack_80)) && (piVar2[1] < iStack_84 + iStack_7c)) && (((0 < piVar2[2] && (0 < piVar2[3])) && ((0 < iStack_80 && (0 < iStack_7c)))))) { puVar3 = (undefined8 *)FUN_1811316e0(0x38); local_68 = local_78; iStack_64 = iStack_74; iStack_60 = iStack_70; iStack_5c = iStack_6c; *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = juce::RenderingHelpers::ClipRegions:: EdgeTableRegion::vftable; FUN_18129fdb0(puVar3 + 2,&local_68,param_2,local_48); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; local_res8 = puVar3; FUN_1805998c0(param_1,&local_res8); } } } return; } ############ FUN_ 18059b8b0 size=516 ############ void FUN_18059b8b0(undefined8 *param_1,float *param_2) { uint uVar1; uint uVar2; float fVar3; byte bVar4; int *piVar5; undefined8 *puVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; undefined8 local_res8; float local_68; float fStack_64; float fStack_60; float fStack_5c; undefined1 local_58 [80]; if ((param_1[7] == 0) && (param_1[8] == 0)) { uVar1 = *(uint *)(param_1 + 6); local_68 = *param_2; fStack_64 = param_2[1]; fStack_60 = param_2[2]; fStack_5c = param_2[3]; uVar2 = uVar1 >> 0x18; local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,uVar1); if (uVar2 < 0xff) { if (uVar2 == 0) { bVar4 = (byte)(uVar1 >> 0x18); local_res8._0_3_ = CONCAT12(bVar4,(ushort)bVar4); } else { local_res8._0_3_ = CONCAT12((char)((uVar1 >> 0x10 & 0xff) * uVar2 + 0x7f >> 8), CONCAT11((char)((uVar1 >> 8 & 0xff) * uVar2 + 0x7f >> 8), (char)((uVar1 & 0xff) * uVar2 + 0x7f >> 8))); } uVar1 = (uint)local_res8; } (**(code **)(*(longlong *)*param_1 + 0x60))((longlong *)*param_1,param_1,&local_68,uVar1); return; } fVar9 = *param_2; fVar3 = param_2[1]; fVar11 = param_2[2]; fStack_5c = param_2[3]; local_68 = fVar9; fStack_64 = fVar3; fStack_60 = fVar11; piVar5 = (int *)(**(code **)(*(longlong *)*param_1 + 0x58))((longlong *)*param_1,local_58); fVar7 = (float)*piVar5; fVar11 = fVar9 + fVar11; if (fVar9 <= fVar7) { fVar9 = fVar7; } fVar8 = (float)piVar5[1]; if (fVar7 + (float)piVar5[2] <= fVar11) { fVar11 = fVar7 + (float)piVar5[2]; } fVar7 = fVar3; if (fVar3 <= fVar8) { fVar7 = fVar8; } fVar11 = fVar11 - fVar9; if (0.0 <= fVar11) { fVar10 = fVar3 + fStack_5c; if (fVar8 + (float)piVar5[3] <= fVar3 + fStack_5c) { fVar10 = fVar8 + (float)piVar5[3]; } fVar10 = fVar10 - fVar7; if (((0.0 <= fVar10) && (0.0 < fVar11)) && (0.0 < fVar10)) { puVar6 = (undefined8 *)FUN_1811316e0(0x38); *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::RenderingHelpers::ClipRegions:: EdgeTableRegion::vftable; local_68 = fVar9; fStack_64 = fVar7; fStack_60 = fVar11; fStack_5c = fVar10; FUN_18129f510(puVar6 + 2,&local_68); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; local_res8 = puVar6; FUN_1805998c0(param_1,&local_res8); } } return; } ############ FUN_ 18059b5b0 size=461 ############ void FUN_18059b5b0(undefined8 *param_1,undefined1 (*param_2) [16],undefined1 param_3) { undefined8 *puVar1; undefined1 auVar2 [16]; uint uVar3; int iVar4; int iVar5; int iVar6; uint uVar7; byte bVar8; int *piVar9; int iVar10; int iVar11; int iVar12; int iVar13; undefined8 local_res8; undefined1 local_48 [16]; undefined1 local_38 [32]; if ((param_1[7] == 0) && (param_1[8] == 0)) { uVar3 = *(uint *)(param_1 + 6); local_48 = *param_2; uVar7 = uVar3 >> 0x18; local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,uVar3); if (uVar7 < 0xff) { if (uVar7 == 0) { bVar8 = (byte)(uVar3 >> 0x18); local_res8._0_3_ = CONCAT12(bVar8,(ushort)bVar8); } else { local_res8._0_3_ = CONCAT12((char)((uVar3 >> 0x10 & 0xff) * uVar7 + 0x7f >> 8), CONCAT11((char)((uVar3 >> 8 & 0xff) * uVar7 + 0x7f >> 8), (char)((uVar3 & 0xff) * uVar7 + 0x7f >> 8))); } uVar3 = (uint)local_res8; } (**(code **)(*(longlong *)*param_1 + 0x68))((longlong *)*param_1,param_1,local_48,uVar3,param_3) ; return; } auVar2 = *param_2; local_48 = auVar2; piVar9 = (int *)(**(code **)(*(longlong *)*param_1 + 0x58))((longlong *)*param_1,local_38); iVar10 = auVar2._0_4_; iVar11 = *piVar9; iVar4 = piVar9[1]; iVar5 = iVar11; if (iVar11 < iVar10) { iVar5 = iVar10; } iVar12 = auVar2._4_4_; iVar6 = iVar4; if (iVar4 < iVar12) { iVar6 = iVar12; } iVar10 = iVar10 + auVar2._8_4_; iVar13 = piVar9[2] + iVar11; if (iVar10 < piVar9[2] + iVar11) { iVar13 = iVar10; } iVar13 = iVar13 - iVar5; if (-1 < iVar13) { iVar11 = piVar9[3] + iVar4; if (local_48._12_4_ + iVar12 < piVar9[3] + iVar4) { iVar11 = local_48._12_4_ + iVar12; } local_48._12_4_ = iVar11 - iVar6; if (-1 < (int)local_48._12_4_) { local_48._4_4_ = iVar6; local_48._0_4_ = iVar5; local_48._8_4_ = iVar13; if ((0 < iVar13) && (0 < (int)local_48._12_4_)) { local_res8 = (undefined8 *)FUN_1811316e0(); *(undefined4 *)(local_res8 + 1) = 0; *local_res8 = juce::RenderingHelpers::ClipRegions:: RectangleListRegion::vftable; local_res8[2] = 0; local_res8[3] = 0; if (0 < local_48._12_4_) { FUN_18049ba20(local_res8 + 2,8); iVar11 = *(int *)((longlong)local_res8 + 0x1c); *(int *)((longlong)local_res8 + 0x1c) = iVar11 + 1; puVar1 = (undefined8 *)(local_res8[2] + (longlong)iVar11 * 0x10); *puVar1 = local_48._0_8_; puVar1[1] = local_48._8_8_; } *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; FUN_1805998c0(param_1,&local_res8); } } } return; } ############ FUN_ 18059a2e0 size=115 ############ void FUN_18059a2e0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; int iVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x90); uVar1 = FUN_180594650(uVar1,*param_1,param_3,param_4,uVar3); iVar2 = *(int *)((longlong)param_1 + 0x14) + 1; if (*(int *)(param_1 + 2) < iVar2) { FUN_18047cb30(param_1 + 1,*(int *)((longlong)param_1 + 0x14) + 9 + iVar2 / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0x14); *(int *)((longlong)param_1 + 0x14) = iVar2 + 1; *(undefined8 *)(param_1[1] + (longlong)iVar2 * 8) = uVar1; return; } ############ FUN_ 180599860 size=96 ############ undefined8 * FUN_180599860(longlong param_1,undefined8 *param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x38); puVar1[1] = 0; *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::RenderingHelpers::ClipRegions::EdgeTableRegion ::vftable; FUN_18129f450(puVar1 + 2,param_1 + 0x10); *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; *param_2 = puVar1; return param_2; } ############ FUN_ 18059a9b0 size=174 ############ undefined8 FUN_18059a9b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined4 param_5) { longlong *plVar1; longlong *plVar2; plVar2 = (longlong *)FUN_1811316e0(0x38); *(undefined4 *)(plVar2 + 1) = 0; *plVar2 = (longlong) juce::RenderingHelpers::ClipRegions::EdgeTableRegion ::vftable; FUN_18129fae0(plVar2 + 2,param_1 + 0x10); *(int *)(plVar2 + 1) = (int)plVar2[1] + 1; (**(code **)(*plVar2 + 0x40))(plVar2,param_2,param_3,param_4,param_5); plVar1 = plVar2 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (**(code **)*plVar2)(plVar2,1); } return param_2; } ############ FUN_ 18059aa60 size=159 ############ undefined8 FUN_18059aa60(longlong param_1,undefined8 param_2,undefined8 param_3) { longlong *plVar1; longlong *plVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; plVar2 = (longlong *)FUN_1811316e0(0x38); *(undefined4 *)(plVar2 + 1) = 0; *plVar2 = (longlong) juce::RenderingHelpers::ClipRegions::EdgeTableRegion ::vftable; FUN_18129fae0(plVar2 + 2,param_1 + 0x10); *(int *)(plVar2 + 1) = (int)plVar2[1] + 1; (**(code **)(*plVar2 + 0x38))(plVar2,param_2,param_3,*plVar2,uVar3); plVar1 = plVar2 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (**(code **)*plVar2)(plVar2,1); } return param_2; } ############ FUN_ 18059ab00 size=163 ############ undefined8 FUN_18059ab00(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; plVar2 = (longlong *)FUN_1811316e0(0x38); *(undefined4 *)(plVar2 + 1) = 0; *plVar2 = (longlong) juce::RenderingHelpers::ClipRegions::EdgeTableRegion ::vftable; FUN_18129fae0(plVar2 + 2,param_1 + 0x10); *(int *)(plVar2 + 1) = (int)plVar2[1] + 1; (**(code **)(*plVar2 + 0x30))(plVar2,param_2,param_3,param_4,uVar3); plVar1 = plVar2 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (**(code **)*plVar2)(plVar2,1); } return param_2; } ############ FUN_ 18059abb0 size=96 ############ undefined8 * FUN_18059abb0(longlong param_1,undefined8 *param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); puVar1[1] = 0; *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::RenderingHelpers::ClipRegions:: RectangleListRegion::vftable; FUN_1804aaeb0(puVar1 + 2,param_1 + 0x10); *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; *param_2 = puVar1; return param_2; } ############ FUN_ 18059b1f0 size=587 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18059b1f0(longlong *param_1,longlong *param_2) { int iVar1; int iVar2; void *_Src; longlong lVar3; longlong lVar4; undefined8 *puVar5; float *pfVar6; undefined8 uVar7; float *pfVar8; int iVar9; undefined8 *local_res8; float *local_78; undefined8 uStack_70; undefined8 local_68; undefined8 uStack_60; ulonglong local_58; undefined4 local_50; undefined4 uStack_4c; undefined4 uStack_48; undefined4 uStack_44; ulonglong local_40; if (*param_1 != 0) { iVar1 = *(int *)((longlong)param_2 + 0xc); if (iVar1 == 1) { puVar5 = (undefined8 *)*param_2; local_78 = (float *)*puVar5; uStack_70 = puVar5[1]; FUN_18059b440(*(undefined4 *)puVar5,&local_78); } else { if ((((char)param_1[5] == '\0') || ((int)param_1[4] != 0)) || (*(int *)((longlong)param_1 + 0x24) != 0)) { if (*(char *)((longlong)param_1 + 0x29) == '\0') { local_78 = (float *)0x0; uStack_70 = 0; _Src = (void *)*param_2; iVar9 = 0; if (0 < iVar1) { FUN_18049ba20(&local_78,iVar1 + 8 + iVar1 / 2 & 0xfffffff8); iVar9 = uStack_70._4_4_; } pfVar8 = local_78; memcpy(local_78 + (longlong)iVar9 * 4,_Src,(longlong)iVar1 << 4); uStack_70 = CONCAT44(iVar9 + iVar1,(undefined4)uStack_70); if ((char)param_1[5] == '\0') { lVar4 = param_1[1]; lVar3 = param_1[2]; local_58 = param_1[3]; local_68._0_4_ = (undefined4)lVar4; local_68._4_4_ = (undefined4)((ulonglong)lVar4 >> 0x20); uStack_60._0_4_ = (undefined4)lVar3; uStack_60._4_4_ = (undefined4)((ulonglong)lVar3 >> 0x20); local_50 = (undefined4)local_68; uStack_4c = local_68._4_4_; uStack_48 = (undefined4)uStack_60; uStack_44 = uStack_60._4_4_; local_68 = lVar4; uStack_60 = lVar3; local_40 = local_58; FUN_1804afd00(&local_78,&local_50); } else { iVar2 = *(int *)((longlong)param_1 + 0x24); lVar4 = param_1[4]; pfVar6 = pfVar8 + (longlong)(iVar9 + iVar1) * 4; for (; pfVar8 != pfVar6; pfVar8 = pfVar8 + 4) { *pfVar8 = (float)(int)lVar4 + *pfVar8; pfVar8[1] = (float)iVar2 + pfVar8[1]; } } puVar5 = (undefined8 *)FUN_1811316e0(0x38); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::RenderingHelpers::ClipRegions:: EdgeTableRegion::vftable; FUN_18129f7b0(puVar5 + 2,&local_78); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; local_res8 = puVar5; FUN_1805998c0(param_1,&local_res8); pfVar8 = local_78; } else { local_68 = _DAT_1824c4780; uStack_60 = _UNK_1824c4788; local_58 = (ulonglong)DAT_1824c3ea4; uVar7 = FUN_1804a9f10(param_2,&local_50); FUN_18059b050(param_1,uVar7,&local_68); uStack_44 = 0; pfVar8 = (float *)CONCAT44(uStack_4c,local_50); } /* WARNING: Subroutine does not return */ free(pfVar8); } puVar5 = (undefined8 *)FUN_1811316e0(0x38); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::RenderingHelpers::ClipRegions:: EdgeTableRegion::vftable; FUN_18129f7b0(puVar5 + 2,param_2); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; local_res8 = puVar5; FUN_1805998c0(param_1,&local_res8); } } return; } ############ FUN_ 18059f620 size=177 ############ undefined8 * FUN_18059f620(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; uint *_Memory; undefined8 *local_res8; local_res8 = param_1; uVar2 = FUN_1811316e0(0xc30); FUN_18049c4e0(&local_res8,param_2); uVar2 = FUN_1815345c0(uVar2,&local_res8,param_3,param_4); *param_1 = uVar2; _Memory = (uint *)(local_res8 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 1805e1ad0 size=556 ############ void FUN_1805e1ad0(ulonglong *param_1,longlong param_2,longlong param_3) { undefined8 *puVar1; longlong lVar2; ulonglong uVar3; ulonglong uVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; ulonglong uVar8; puVar1 = (undefined8 *)param_1[1]; puVar7 = (undefined8 *)*param_1; uVar3 = (param_3 - param_2) / 0x450; uVar5 = ((longlong)puVar1 - (longlong)puVar7) / 0x450; uVar4 = (longlong)(param_1[2] - (longlong)puVar7) / 0x450; if (uVar4 < uVar3) { if (0x3b5cc0ed7303b5 < uVar3) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = uVar3; if ((uVar4 <= 0x3b5cc0ed7303b5 - (uVar4 >> 1)) && (uVar5 = (uVar4 >> 1) + uVar4, uVar5 < uVar3)) { uVar5 = uVar3; } if (puVar7 != (undefined8 *)0x0) { for (; puVar7 != puVar1; puVar7 = puVar7 + 0x8a) { (**(code **)*puVar7)(puVar7,0); } FUN_1805e86e0(param_1,*param_1,uVar4); } uVar3 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar5 != 0) { if (0x3b5cc0ed7303b5 < uVar5) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar8 = uVar5 * 0x450; uVar4 = 0xffffffffffffffff; if ((uVar5 < 0x3b5cc0ed7303b6) && (uVar4 = uVar8, uVar8 < 0x1000)) { if (uVar8 != 0) { uVar3 = FUN_1811316e0(uVar8); } } else { uVar3 = uVar4 + 0x27; if (uVar4 + 0x27 <= uVar4) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar2 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar2; } *param_1 = uVar3; param_1[1] = uVar3; param_1[2] = *param_1 + uVar8; } uVar3 = FUN_1805e2000(param_1,param_2,param_3,*param_1); param_1[1] = uVar3; } else if (uVar5 < uVar3) { lVar2 = uVar5 * 0x450 + param_2; FUN_1805e1d00(param_2,lVar2,puVar7); uVar3 = FUN_1805e2000(param_1,lVar2,param_3,param_1[1]); param_1[1] = uVar3; } else { FUN_1805e1d00(param_2,param_3,puVar7); puVar1 = (undefined8 *)param_1[1]; for (puVar6 = puVar7 + uVar3 * 0x8a; puVar6 != puVar1; puVar6 = puVar6 + 0x8a) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (ulonglong)(puVar7 + uVar3 * 0x8a); } return; } ############ FUN_ 1805d6980 size=116 ############ void FUN_1805d6980(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x18; if (param_2 < 0xaaaaaaaaaaaaaab) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 1805e4e50 size=179 ############ ulonglong FUN_1805e4e50(ulonglong *param_1,ulonglong param_2) { ulonglong in_RAX; longlong lVar1; ulonglong uVar2; uVar2 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (param_2 == 0) { return in_RAX & 0xffffffffffffff00; } if (param_2 < 0xaaaaaaaaaaaaaab) { param_2 = param_2 * 0x18; if (param_2 < 0x1000) { if (param_2 != 0) { uVar2 = FUN_1811316e0(param_2); } } else { uVar2 = param_2 + 0x27; if (uVar2 <= param_2) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar1 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar1; } *param_1 = uVar2; param_1[1] = uVar2; param_1[2] = param_2 + *param_1; return CONCAT71((int7)(*param_1 >> 8),1); } /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } ############ FUN_ 1805a7490 size=227 ############ longlong FUN_1805a7490(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x68); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[10] = &DAT_181baff38; puVar1[0xc] = boost::exception_detail::clone_base::vftable; FUN_1805a4470(puVar1,param_1 + -0x60,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_> ::vftable; puVar1[5] = boost::exception_detail:: clone_impl_> ::vftable; *(undefined ***)((longlong)*(int *)(puVar1[10] + 4) + 0x50 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>:: vftable; *(int *)((longlong)*(int *)(puVar1[10] + 4) + 0x4c + (longlong)puVar1) = *(int *)(puVar1[10] + 4) + -0x10; if (param_1 + -0x60 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 5,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[10] + 4) + 0x50; } ############ FUN_ 1805a7580 size=234 ############ longlong FUN_1805a7580(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x88); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[0xe] = &DAT_181baffb0; puVar1[0x10] = boost::exception_detail::clone_base::vftable; FUN_1805a4530(puVar1,param_1 + -0x80,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_>::vftable; puVar1[9] = boost::exception_detail:: clone_impl_>:: vftable; *(undefined ***)((longlong)*(int *)(puVar1[0xe] + 4) + 0x70 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>::vftable; *(int *)((longlong)*(int *)(puVar1[0xe] + 4) + 0x6c + (longlong)puVar1) = *(int *)(puVar1[0xe] + 4) + -0x10; if (param_1 + -0x80 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 9,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[0xe] + 4) + 0x70; } ############ FUN_ 1805a7680 size=234 ############ longlong FUN_1805a7680(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x88); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[0xe] = &DAT_181bafec0; puVar1[0x10] = boost::exception_detail::clone_base::vftable; FUN_1805a45d0(puVar1,param_1 + -0x80,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_> ::vftable; puVar1[9] = boost::exception_detail:: clone_impl_> ::vftable; *(undefined ***)((longlong)*(int *)(puVar1[0xe] + 4) + 0x70 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>:: vftable; *(int *)((longlong)*(int *)(puVar1[0xe] + 4) + 0x6c + (longlong)puVar1) = *(int *)(puVar1[0xe] + 4) + -0x10; if (param_1 + -0x80 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 9,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[0xe] + 4) + 0x70; } ############ FUN_ 1805a7780 size=227 ############ longlong FUN_1805a7780(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x68); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[10] = &DAT_181bb0060; puVar1[0xc] = boost::exception_detail::clone_base::vftable; FUN_1805a4670(puVar1,param_1 + -0x60,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_>:: vftable; puVar1[5] = boost::exception_detail:: clone_impl_>:: vftable; *(undefined ***)((longlong)*(int *)(puVar1[10] + 4) + 0x50 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>::vftable ; *(int *)((longlong)*(int *)(puVar1[10] + 4) + 0x4c + (longlong)puVar1) = *(int *)(puVar1[10] + 4) + -0x10; if (param_1 + -0x60 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 5,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[10] + 4) + 0x50; } ############ FUN_ 1805a7870 size=227 ############ longlong FUN_1805a7870(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x68); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[10] = &DAT_181bb00f0; puVar1[0xc] = boost::exception_detail::clone_base::vftable; FUN_1805a4730(puVar1,param_1 + -0x60,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_>:: vftable; puVar1[5] = boost::exception_detail:: clone_impl_> ::vftable; *(undefined ***)((longlong)*(int *)(puVar1[10] + 4) + 0x50 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>:: vftable; *(int *)((longlong)*(int *)(puVar1[10] + 4) + 0x4c + (longlong)puVar1) = *(int *)(puVar1[10] + 4) + -0x10; if (param_1 + -0x60 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 5,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[10] + 4) + 0x50; } ############ FUN_ 1805a7960 size=216 ############ longlong FUN_1805a7960(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; int iVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x58); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[8] = &DAT_181bae6c8; puVar1[10] = boost::exception_detail::clone_base::vftable; FUN_1805a0690(puVar1,param_1 + -0x50); *puVar1 = boost::exception_detail::clone_impl::vftable; puVar1[5] = boost::exception_detail::clone_impl::vftable; *(undefined ***)((longlong)*(int *)(puVar1[8] + 4) + 0x40 + (longlong)puVar1) = boost::exception_detail::clone_impl::vftable; iVar2 = *(int *)(puVar1[8] + 4) + -0x10; *(int *)((longlong)*(int *)(puVar1[8] + 4) + 0x3c + (longlong)puVar1) = iVar2; FUN_1805a7b20(puVar1,param_1 + -0x50,iVar2,param_4,uVar3); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[8] + 4) + 0x40; } ############ FUN_ 1805a7a40 size=216 ############ longlong FUN_1805a7a40(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; int iVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x58); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[8] = &DAT_181bae828; puVar1[10] = boost::exception_detail::clone_base::vftable; FUN_1805a07a0(puVar1,param_1 + -0x50); *puVar1 = boost::exception_detail::clone_impl::vftable; puVar1[5] = boost::exception_detail::clone_impl:: vftable; *(undefined ***)((longlong)*(int *)(puVar1[8] + 4) + 0x40 + (longlong)puVar1) = boost::exception_detail::clone_impl::vftable; iVar2 = *(int *)(puVar1[8] + 4) + -0x10; *(int *)((longlong)*(int *)(puVar1[8] + 4) + 0x3c + (longlong)puVar1) = iVar2; FUN_1805a7b20(puVar1,param_1 + -0x50,iVar2,param_4,uVar3); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[8] + 4) + 0x40; } ############ FUN_ 1805a9740 size=603 ############ ulonglong FUN_1805a9740(basic_streambuf_> *param_1,uint param_2) { basic_streambuf_> bVar1; void *_Src; longlong *plVar2; undefined8 uVar3; undefined8 uVar4; undefined8 *puVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; ulonglong uVar9; void *_Dst; int iVar10; if (param_2 == 0xffffffff) { return 0; } uVar9 = **(ulonglong **)(param_1 + 0x40); if ((uVar9 != 0) && (uVar9 < (longlong)**(int **)(param_1 + 0x58) + uVar9)) { std::basic_streambuf_>::sputc(param_1,(char)param_2); return (ulonglong)param_2; } if (((byte)param_1[0x74] & 2) == 0) { return 0xffffffffffffffff; } if (**(longlong **)(param_1 + 0x40) == 0) { uVar9 = 0; } else { uVar9 = ((longlong)**(int **)(param_1 + 0x58) - **(longlong **)(param_1 + 0x18)) + **(longlong **)(param_1 + 0x40); } uVar6 = uVar9 >> 1; if (uVar6 < 0x100) { uVar6 = 0x100; } _Src = (void *)**(undefined8 **)(param_1 + 0x18); for (; uVar8 = uVar9, _Dst = (void *)0x0, uVar6 != 0; uVar6 = uVar6 >> 1) { if (uVar9 <= -uVar6 - 1) { if (uVar6 != 0) { uVar8 = uVar6 + uVar9; if (uVar8 < 0x1000) { _Dst = (void *)0x0; if (uVar8 != 0) { _Dst = (void *)FUN_1811316e0(uVar8); } } else { uVar6 = uVar8 + 0x27; if (uVar6 <= uVar8) { uVar6 = 0xffffffffffffffff; } lVar7 = FUN_1811316e0(uVar6); if (lVar7 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } _Dst = (void *)(lVar7 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)_Dst - 8) = lVar7; } } break; } } if (uVar9 != 0) { memcpy(_Dst,_Src,uVar9); } if (param_1[0x70] != (basic_streambuf_>)0x0) { FUN_1805a7bf0(param_1 + 0x78,_Src,uVar9); } param_1[0x70] = (basic_streambuf_>)0x1; if (uVar9 == 0) { *(void **)(param_1 + 0x68) = _Dst; **(undefined8 **)(param_1 + 0x20) = _Dst; **(undefined8 **)(param_1 + 0x40) = _Dst; **(int **)(param_1 + 0x58) = (int)uVar8; bVar1 = param_1[0x74]; **(undefined8 **)(param_1 + 0x18) = _Dst; puVar5 = *(undefined8 **)(param_1 + 0x38); if (((byte)bVar1 & 1) != 0) { *puVar5 = _Dst; **(undefined4 **)(param_1 + 0x50) = 1; goto LAB_1805a9970; } } else { plVar2 = *(longlong **)(param_1 + 0x20); *(longlong *)(param_1 + 0x68) = (longlong)_Dst + (*(longlong *)(param_1 + 0x68) - (longlong)_Src); lVar7 = (*plVar2 - (longlong)_Src) + (longlong)_Dst; iVar10 = **(int **)(param_1 + 0x40) - (int)*plVar2; uVar3 = **(undefined8 **)(param_1 + 0x38); uVar4 = **(undefined8 **)(param_1 + 0x18); *plVar2 = lVar7; **(longlong **)(param_1 + 0x40) = lVar7; **(int **)(param_1 + 0x58) = ((int)_Dst - (int)lVar7) + (int)uVar8; **(int **)(param_1 + 0x58) = **(int **)(param_1 + 0x58) - iVar10; **(longlong **)(param_1 + 0x40) = **(longlong **)(param_1 + 0x40) + (longlong)iVar10; if (((byte)param_1[0x74] & 1) != 0) { lVar7 = (longlong)((int)uVar3 - (int)uVar4) + (longlong)_Dst; uVar3 = **(undefined8 **)(param_1 + 0x40); **(undefined8 **)(param_1 + 0x18) = _Dst; **(longlong **)(param_1 + 0x38) = lVar7; **(int **)(param_1 + 0x50) = ((int)uVar3 - (int)lVar7) + 1; goto LAB_1805a9970; } **(undefined8 **)(param_1 + 0x18) = _Dst; puVar5 = *(undefined8 **)(param_1 + 0x38); } *puVar5 = 0; **(int **)(param_1 + 0x50) = (int)_Dst; LAB_1805a9970: std::basic_streambuf_>::sputc(param_1,(char)param_2); return (ulonglong)param_2; } ############ FUN_ 1805bbde0 size=63 ############ void FUN_1805bbde0(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *puVar1 = *param_1; puVar1[1] = *param_1; puVar1[2] = *param_1; return; } ############ FUN_ 1805bcb10 size=115 ############ void FUN_1805bcb10(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 << 6; if (param_2 < 0x400000000000000) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 1805bbda0 size=55 ############ void FUN_1805bbda0(void) { longlong lVar1; lVar1 = FUN_1811316e0(0x20); *(longlong *)lVar1 = lVar1; *(longlong *)(lVar1 + 8) = lVar1; *(longlong *)(lVar1 + 0x10) = lVar1; *(undefined2 *)(lVar1 + 0x18) = 0x101; return; } ############ FUN_ 1805bce80 size=227 ############ longlong FUN_1805bce80(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x58); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[8] = &DAT_181bb32b8; puVar1[10] = boost::exception_detail::clone_base::vftable; FUN_1805b4310(puVar1,param_1 + -0x50,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_> ::vftable; puVar1[3] = boost::exception_detail:: clone_impl_> ::vftable; *(undefined ***)((longlong)*(int *)(puVar1[8] + 4) + 0x40 + (longlong)puVar1) = boost::exception_detail:: clone_impl_> ::vftable; *(int *)((longlong)*(int *)(puVar1[8] + 4) + 0x3c + (longlong)puVar1) = *(int *)(puVar1[8] + 4) + -0x10; if (param_1 + -0x50 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 3,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[8] + 4) + 0x40; } ############ FUN_ 1805bcf70 size=227 ############ longlong FUN_1805bcf70(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x58); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[8] = &DAT_181bb3330; puVar1[10] = boost::exception_detail::clone_base::vftable; FUN_1805b43c0(puVar1,param_1 + -0x50,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_> ::vftable; puVar1[3] = boost::exception_detail:: clone_impl_> ::vftable; *(undefined ***)((longlong)*(int *)(puVar1[8] + 4) + 0x40 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>:: vftable; *(int *)((longlong)*(int *)(puVar1[8] + 4) + 0x3c + (longlong)puVar1) = *(int *)(puVar1[8] + 4) + -0x10; if (param_1 + -0x50 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 3,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[8] + 4) + 0x40; } ############ FUN_ 1805bd060 size=227 ############ longlong FUN_1805bd060(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x58); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[8] = &DAT_181bb33a8; puVar1[10] = boost::exception_detail::clone_base::vftable; FUN_1805b4470(puVar1,param_1 + -0x50,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_> ::vftable; puVar1[3] = boost::exception_detail:: clone_impl_> ::vftable; *(undefined ***)((longlong)*(int *)(puVar1[8] + 4) + 0x40 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>:: vftable; *(int *)((longlong)*(int *)(puVar1[8] + 4) + 0x3c + (longlong)puVar1) = *(int *)(puVar1[8] + 4) + -0x10; if (param_1 + -0x50 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 3,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[8] + 4) + 0x40; } ############ FUN_ 1805bd150 size=227 ############ longlong FUN_1805bd150(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x58); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[8] = &DAT_181bb3240; puVar1[10] = boost::exception_detail::clone_base::vftable; FUN_1805b4520(puVar1,param_1 + -0x50,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_>::vftable ; puVar1[3] = boost::exception_detail:: clone_impl_>:: vftable; *(undefined ***)((longlong)*(int *)(puVar1[8] + 4) + 0x40 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>::vftable; *(int *)((longlong)*(int *)(puVar1[8] + 4) + 0x3c + (longlong)puVar1) = *(int *)(puVar1[8] + 4) + -0x10; if (param_1 + -0x50 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 3,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[8] + 4) + 0x40; } ############ FUN_ 1805bd240 size=234 ############ longlong FUN_1805bd240(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x88); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[0xe] = &DAT_181bb0238; puVar1[0x10] = boost::exception_detail::clone_base::vftable; FUN_1805aebe0(puVar1,param_1 + -0x80,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_> ::vftable; puVar1[9] = boost::exception_detail:: clone_impl_> ::vftable; *(undefined ***)((longlong)*(int *)(puVar1[0xe] + 4) + 0x70 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>:: vftable; *(int *)((longlong)*(int *)(puVar1[0xe] + 4) + 0x6c + (longlong)puVar1) = *(int *)(puVar1[0xe] + 4) + -0x10; if (param_1 + -0x80 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 9,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[0xe] + 4) + 0x70; } ############ FUN_ 180672320 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180672320(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_18079fea0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180674530 size=447 ############ void FUN_180674530(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807b7af0(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 1805c52d0 size=9372 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1805c52d0(uint *param_1,undefined8 *param_2) { uint uVar1; undefined **ppuVar2; bool bVar3; char cVar4; undefined4 uVar5; undefined4 uVar6; int iVar7; undefined1 *puVar8; undefined8 *puVar9; undefined8 uVar10; tm *ptVar11; undefined1 *puVar12; ulonglong uVar13; int *piVar14; int *piVar15; undefined8 uVar16; void *pvVar17; void *pvVar18; longlong lVar19; ulonglong uVar20; undefined ***pppuVar21; undefined8 *puVar22; int *piVar23; uint *puVar24; ulonglong uVar25; void *pvVar26; longlong lVar27; int *piVar28; size_t sVar29; undefined1 *_Size; ulonglong uVar30; undefined1 *puVar31; undefined ***pppuVar32; bool bVar33; undefined1 *_Src; undefined1 auStack_10f8 [32]; longlong *local_10d8; ulonglong local_10d0; longlong *local_10c8; char *local_10c0; undefined8 local_10b8; undefined8 local_10b0; char local_10a8; char local_10a7; uint *local_10a0; undefined8 *local_1098; undefined8 *local_1090; char *local_1088; longlong local_1080; uint *local_1078; uint local_1070; ulonglong local_1068; longlong local_1060; longlong lStack_1058; undefined8 local_1050; undefined8 local_1048 [2]; undefined **local_1038; undefined2 local_1030; void *local_1028; void *pvStack_1020; longlong local_1018; void *pvStack_1010; void *local_1008; longlong lStack_1000; uint local_ff8; undefined2 local_ff4; undefined ***local_fe8; undefined **local_fd8; undefined1 local_fd0; uint local_fcc; uint uStack_fc8; uint local_fc4; void *local_fc0; longlong local_fb8; undefined8 uStack_fb0; void *local_fa8; void *pvStack_fa0; longlong local_f98; undefined4 local_f90; undefined2 local_f8c; longlong local_f88; longlong lStack_f80; longlong local_f78; ulonglong local_f70; ulonglong local_f68; ulonglong local_f60; longlong *local_f58; undefined8 local_f50 [2]; __time64_t local_f40; undefined1 local_f38 [8]; __time64_t local_f30; undefined1 local_f28 [8]; undefined8 *local_f20; longlong local_f18; undefined8 *local_f10; longlong local_f08; int *local_f00; undefined8 local_ea0; longlong local_e98; undefined **local_e80 [2]; undefined8 *local_e70; longlong local_e68; undefined8 *local_e60; longlong local_e58; undefined **local_e48; int local_e40; undefined1 local_e38 [16]; undefined8 local_e28; undefined8 local_e20; undefined1 local_e18 [16]; undefined8 local_e08; undefined8 local_e00; undefined1 local_df8; undefined7 uStack_df7; undefined8 local_de8; ulonglong local_de0; undefined4 local_dd8; undefined1 local_dc8; undefined7 uStack_dc7; longlong local_db8; ulonglong local_db0; longlong local_da8; longlong lStack_da0; longlong local_d98; longlong local_d88; longlong lStack_d80; undefined8 local_d78; undefined8 local_d68; undefined8 local_d60; undefined **local_d58; undefined4 local_d50; undefined2 local_d4c; undefined4 local_d48; undefined1 local_d44; undefined1 local_d40 [16]; undefined8 local_d30; undefined8 local_d28; undefined1 local_d20 [16]; undefined8 local_d10; undefined8 local_d08; undefined8 local_d00; undefined8 local_cf8; undefined2 local_cf0; undefined1 local_cee; undefined **local_ce8; undefined8 local_ce0; int local_cd8; uint uStack_cd4; uint uStack_cd0; uint local_ccc; undefined **local_cc8; undefined8 uStack_cc0; undefined **local_cb8; undefined8 uStack_cb0; undefined8 local_ca8; undefined4 local_ca0; undefined8 local_c98; void *local_c90 [2]; undefined8 local_c80; ulonglong local_c78; void *local_c70; undefined8 local_c68; longlong lStack_c60; undefined8 local_c58; undefined8 local_c50; undefined2 local_c48; undefined **local_bd8; longlong local_bd0 [3]; undefined2 local_bb8; undefined2 uStack_bb6; undefined4 uStack_bb4; undefined1 local_bb0; undefined7 uStack_baf; undefined **local_ba0; ulonglong local_b98; undefined1 local_b90 [16]; undefined8 local_b80; undefined8 local_b78; undefined8 local_b70; undefined8 local_b68; undefined1 local_b60 [16]; undefined8 local_b50; undefined8 local_b48; undefined1 local_b40; undefined4 local_b3c; undefined1 local_b38 [336]; undefined4 local_9e8; undefined1 local_9e4; undefined8 local_9e0; undefined8 local_9d8; undefined8 uStack_9d0; undefined8 local_9c8; undefined **local_9c0; undefined8 local_9b8; undefined1 local_9b0 [16]; undefined8 local_9a0; undefined8 local_998; undefined1 local_990 [16]; undefined8 local_980; undefined8 local_978; undefined4 local_970; undefined8 local_96c; undefined4 local_964; undefined8 local_960; undefined8 local_958; undefined8 uStack_950; undefined8 local_948; undefined8 local_940; undefined2 local_938; undefined8 local_930; undefined8 local_928; undefined8 uStack_920; undefined8 local_918; undefined8 uStack_910; undefined8 local_908; undefined8 local_900; undefined8 local_8f8; undefined2 local_8f0; undefined1 local_8ee; undefined1 local_768; undefined4 local_764; undefined4 local_760; undefined4 local_75c; undefined1 local_758 [1080]; undefined4 local_320; undefined2 local_31c; undefined1 local_31a; undefined **local_318; undefined **local_310; undefined8 local_308; undefined8 uStack_300; undefined8 local_2f8; undefined4 local_2f0; undefined4 local_2ec; int *local_2e8; int *piStack_2e0; undefined8 local_2d8; undefined4 local_2d0; undefined4 local_2c8; undefined4 local_2c4; undefined1 local_2c0 [12]; undefined4 local_2b4; undefined4 local_40; ulonglong local_30; local_ea0 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_10f8; local_1070 = 0; local_10a0 = param_1; local_1098 = param_2; local_1090 = param_2; local_1078 = param_1; LAB_1805c5360: puVar22 = (undefined8 *)0x0; local_10a7 = '\0'; *param_2 = 0x1b0; param_2[1] = 0; param_2[2] = 0; *(undefined4 *)(param_2 + 3) = 0; *(undefined1 *)((longlong)param_2 + 0x1c) = 0; *(undefined1 *)((longlong)param_2 + 0x5c) = 0; *(undefined1 *)((longlong)param_2 + 0x9c) = 0; param_2[0x34] = 0; param_2[0x35] = 0; local_10a8 = '\0'; local_e48 = pace::eden::thrift::pub::ErrorInfo::vftable; local_e40 = 0; local_e28 = 0; local_e20 = 0xf; local_e38[0] = 0; FUN_1805a6cb0(local_e38,&DAT_181baf991,0); local_e08 = 0; local_e00 = 0xf; local_e18[0] = 0; FUN_1805a6cb0(local_e18,&DAT_181baf991,0); local_de8 = 0; local_de0 = 0xf; local_df8 = 0; FUN_1805a6cb0(&local_df8,&DAT_181baf991,0); local_dd8 = 0; local_1060 = 0; lStack_1058 = 0; local_1050 = 0; local_318 = pace::eden::thrift::fusion::PaceEdenLicenseData::vftable; local_310 = pace::eden::thrift::fusion::FusionLicenseData::vftable; local_308 = 0; uStack_300 = 0; local_2f8 = 0; local_2e8 = (int *)0x0; piStack_2e0 = (int *)0x0; local_2d8 = 0; local_2d0 = 0; local_2f0 = 1; local_2ec = 1; FUN_1805b6350(local_2c0); local_40 = 0; local_2c8 = 1; local_2c4 = 1; local_e40 = 0; local_de8 = 0; puVar8 = &local_df8; if (0xf < local_de0) { puVar8 = (undefined1 *)CONCAT71(uStack_df7,local_df8); } *puVar8 = 0; if (param_1[1] != 0) { local_e98 = FUN_1811316e0(0x18); if (local_e98 != 0) { FUN_1805a48c0(local_e98,&DAT_181baf991); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_e70 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar22 = puVar9; } local_1080 = CONCAT44(local_1080._4_4_,0x190f); local_1088 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp"; uVar10 = FUN_1805a21d0(puVar22[1],&local_1088); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_1080); } if (*param_1 < 0x50) { local_e68 = FUN_1811316e0(0x18); if (local_e68 != 0) { FUN_1805a48c0(local_e68,&DAT_181baf991); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_e60 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar22 = puVar9; } local_1080 = CONCAT44(local_1080._4_4_,0x1914); local_1088 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp"; uVar10 = FUN_1805a21d0(puVar22[1],&local_1088); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_1080); } FUN_1805dfee0(*(undefined8 *)(param_1 + 0x12),&local_318); piVar23 = piStack_2e0; if (local_40._3_1_ == '\0') { local_e58 = FUN_1811316e0(0x18); if (local_e58 != 0) { FUN_1805a48c0(local_e58, "You need to regenerate your PACE Eden License Data to match the current SDK"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_f20 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar22 = puVar9; } local_1080 = CONCAT44(local_1080._4_4_,0x191f); local_1088 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp"; uVar10 = FUN_1805a21d0(puVar22[1],&local_1088); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_1080); } local_f88 = 0; lStack_f80 = 0; local_f78 = 0; bVar3 = true; for (piVar14 = local_2e8; (bVar3 && (piVar14 != piVar23)); piVar14 = piVar14 + 0x114) { bVar3 = false; while (!bVar3) { local_ce8 = pace::eden::thrift::pub::AuthSearch::vftable; local_ce0 = 0; local_cd8._0_1_ = 1; uStack_cd4 = 0; uStack_cd0 = 0; local_cc8 = _DAT_181bb33f0; uStack_cc0 = _UNK_181bb33f8; local_cb8 = _DAT_181bb33f0; uStack_cb0 = _UNK_181bb33f8; local_ca8 = 0xffffffffffffffff; local_c98 = 0; local_c80 = 0; local_c78 = 0xf; local_c90[0] = (void *)((ulonglong)local_c90[0] & 0xffffffffffffff00); FUN_1805a6cb0(local_c90,&DAT_181baf991,0); local_c70 = (void *)0x0; local_c68 = 0; lStack_c60 = 0; local_c58 = 1; local_c50 = 0; local_c48 = 0; local_ce0 = *(ulonglong *)(piVar14 + 4); local_cd8 = CONCAT31(local_cd8._1_3_,(char)piVar14[6]); local_ca0 = local_2b4; if (local_f78 == lStack_f80) { FUN_1805b0190(&local_f88,lStack_f80); } else { FUN_1805b53c0(lStack_f80,&local_ce8); lStack_f80 = lStack_f80 + 0xa8; } if (local_c70 != (void *)0x0) { pvVar18 = local_c70; if ((0xfff < (lStack_c60 - (longlong)local_c70 & 0xfffffffffffffffcU)) && (pvVar18 = *(void **)((longlong)local_c70 + -8), 0x1f < (ulonglong)((longlong)local_c70 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } if (0xf < local_c78) { pvVar18 = local_c90[0]; if ((0xfff < local_c78 + 1) && (pvVar18 = *(void **)((longlong)local_c90[0] + -8), 0x1f < (ulonglong)((longlong)local_c90[0] + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } bVar3 = true; } } lVar19 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(lStack_f80 - local_f88),8) + (lStack_f80 - local_f88); if (lVar19 >> 7 == lVar19 >> 0x3f) { local_f18 = FUN_1811316e0(0x18); if (local_f18 != 0) { FUN_1805a48c0(local_f18,"The Pace Eden license data has no product information"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_f10 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar22 = puVar9; } local_1080 = CONCAT44(local_1080._4_4_,0x1933); local_1088 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp"; uVar10 = FUN_1805a21d0(puVar22[1],&local_1088); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_1080); } local_d58 = pace::eden::thrift::pub::FindAuthOptions::vftable; local_d50 = 1; local_d4c = 0; local_d44 = 0; local_d30 = 0; local_d28 = 0xf; local_d40[0] = 0; FUN_1805a6cb0(local_d40,&DAT_181baf991,0); local_d10 = 0; local_d08 = 0xf; local_d20[0] = 0; FUN_1805a6cb0(local_d20,&DAT_181baf991,0); param_1 = local_10a0; local_cf8 = 0; local_cf0 = 0; local_cee = 0; local_d48 = 0; local_d00 = *(undefined8 *)(local_10a0 + 8); local_da8 = 0; lStack_da0 = 0; local_d98 = 0; FUN_1805bdb50(local_1048,1); param_2 = local_1090; if (*(char *)((longlong)param_1 + 0xe) == '\0') { local_1088 = (char *)0x1; local_10d8 = &local_1060; FUN_18069bc20(local_1048[0],&local_f88,&local_d58,&local_da8); uVar10 = local_1048[0]; uVar20 = FUN_1806a4f70(local_1048[0]); uVar13 = FUN_1806a4590(uVar10); local_1088 = (char *)(uVar13 & uVar20); local_f60 = FUN_1806a7ae0(local_1048[0]); local_f68 = FUN_1806a35e0(local_1048[0]); } else { local_bd8 = pace::eden::thrift::pub::AuthChain::vftable; local_bd0[0] = 0; local_bd0[1] = 0; local_bd0[2] = 0; local_bb8 = 0; uStack_bb4 = 0; local_ba0 = (undefined **)0x0; local_b98 = 0xf; local_bb0 = 0; FUN_1805a6cb0(&local_bb0,&DAT_181baf991,0); local_b80 = 0; local_b78 = 0xf; local_b90[0] = 0; FUN_1805a6cb0(local_b90,&DAT_181baf991,0); local_b70 = 0; local_b68 = 0xffffffffffffffff; local_b50 = 0; local_b48 = 0xf; local_b60[0] = 0; FUN_1805a6cb0(local_b60,&DAT_181baf991,0); local_b40 = 0; local_b3c = 0; FUN_180574b80(local_b38); local_9e4 = 0; local_9e0 = 0; local_9d8 = 0; uStack_9d0 = 0; local_9c8 = 0; local_fe8 = &local_9c0; local_9c0 = pace::eden::thrift::pub::SharedLicenseInfo::vftable; local_9b8 = 0; local_9a0 = 0; local_998 = 0xf; local_9b0[0] = 0; FUN_1805a6cb0(local_9b0,&DAT_181baf991,0); local_980 = 0; local_978 = 0xf; local_990[0] = 0; FUN_1805a6cb0(local_990,&DAT_181baf991,0); local_970 = 1; local_96c = 1; local_964 = 0; local_960 = 0; local_958 = 0; uStack_950 = 0; local_948 = 0; local_940 = 0; local_938 = 0; local_930 = 0; local_928 = 0; uStack_920 = 0; local_918 = 0; uStack_910 = 0; local_908 = 0; local_900 = 0; local_8f8 = 0; local_8f0 = 0; local_8ee = 0; local_9e8 = 0; local_bb8 = 1; uStack_bb4 = 100; _time64(&local_f40); ptVar11 = _gmtime64(&local_f40); if (ptVar11 == (tm *)0x0) { uVar10 = FUN_1805b6c80(&local_d88,"could not convert calendar time to UTC time"); /* WARNING: Subroutine does not return */ FUN_1805b3e60(uVar10); } FUN_1805bd670(local_f38,ptVar11); FUN_180663c70(local_f38,&local_bb0); puVar8 = &local_bb0; if (0xf < local_b98) { puVar8 = (undefined1 *)CONCAT71(uStack_baf,local_bb0); } FUN_1805a6cb0(local_b90,puVar8,local_ba0); local_b70 = 0x20; local_b68 = 0x12345678; local_b3c = 1; local_9e4 = 1; local_9e0 = 0; FUN_1805b10b0(local_bd0,1,local_bd0); *(undefined4 *)(local_bd0[0] + 8) = *(undefined4 *)(local_f88 + 8); *(undefined4 *)(local_bd0[0] + 0xc) = *(undefined4 *)(local_f88 + 0xc); *(undefined4 *)(local_bd0[0] + 0x10) = 1; local_db8 = 0; local_db0 = 0xf; local_dc8 = 0; FUN_1805a6cb0(&local_dc8,"6A2522CA-0D8F-39DF-2D1E-93236A8710D3",0x24); lVar27 = local_bd0[0]; lVar19 = local_db8; puVar8 = &local_dc8; if (0xf < local_db0) { puVar8 = (undefined1 *)CONCAT71(uStack_dc7,local_dc8); } _Src = &local_dc8; if (0xf < local_db0) { _Src = (undefined1 *)CONCAT71(uStack_dc7,local_dc8); } _Size = puVar8 + (local_db8 - (longlong)_Src); pvVar18 = *(void **)(local_bd0[0] + 0x18); puVar12 = (undefined1 *)(*(longlong *)(local_bd0[0] + 0x20) - (longlong)pvVar18); puVar31 = (undefined1 *)(*(longlong *)(local_bd0[0] + 0x28) - (longlong)pvVar18); if (puVar31 < _Size) { if ((undefined1 *)0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar20 = *(longlong *)(local_bd0[0] + 0x28) - (longlong)pvVar18; puVar8 = _Size; if ((uVar20 <= 0x7fffffffffffffff - (uVar20 >> 1)) && (puVar8 = (undefined1 *)((uVar20 >> 1) + uVar20), puVar8 < _Size)) { puVar8 = _Size; } if (pvVar18 != (void *)0x0) { pvVar17 = pvVar18; if (((undefined1 *)0xfff < puVar31) && (pvVar17 = *(void **)((longlong)pvVar18 + -8), 0x1f < (ulonglong)((longlong)pvVar18 + (-8 - (longlong)pvVar17)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar17); } FUN_1805bbbc0(local_bd0[0] + 0x18,puVar8); pvVar18 = *(void **)(lVar27 + 0x18); memmove(pvVar18,_Src,(size_t)_Size); *(undefined1 **)(lVar27 + 0x20) = _Size + (longlong)pvVar18; } else if (puVar12 < _Size) { puVar12 = _Src + (longlong)puVar12; memmove(pvVar18,_Src,(longlong)puVar12 - (longlong)_Src); pvVar18 = *(void **)(lVar27 + 0x20); memmove(pvVar18,puVar12,(size_t)(puVar8 + (lVar19 - (longlong)puVar12))); *(undefined1 **)(lVar27 + 0x20) = puVar8 + (lVar19 - (longlong)puVar12) + (longlong)pvVar18; } else { memmove(pvVar18,_Src,(size_t)_Size); *(undefined1 **)(lVar27 + 0x20) = (undefined1 *)((longlong)pvVar18 + (longlong)_Size); } *(undefined8 *)(local_bd0[0] + 0x30) = 8; *(undefined8 *)(local_bd0[0] + 0x38) = 1; *(undefined8 *)(local_bd0[0] + 0x40) = 1; *(undefined8 *)(local_bd0[0] + 0x48) = 0x155961; *(undefined4 *)(local_bd0[0] + 0x50) = 0x1c; *(undefined4 *)(local_bd0[0] + 0x54) = 1; *(undefined1 *)(local_bd0[0] + 0x58) = 1; *(undefined1 *)(local_bd0[0] + 0x59) = 1; if (local_d98 == lStack_da0) { FUN_1805aff70(&local_da8,lStack_da0); } else { FUN_1805b4bc0(lStack_da0,&local_bd8); lStack_da0 = lStack_da0 + 0x2f0; } uVar10 = local_1048[0]; uVar20 = FUN_1806a4f70(local_1048[0]); uVar13 = FUN_1806a4590(uVar10); local_1088 = (char *)(uVar13 & uVar20); local_f60 = FUN_1806a7ae0(local_1048[0]); local_f68 = FUN_1806a35e0(local_1048[0]); if (0xf < local_db0) { pvVar17 = (void *)CONCAT71(uStack_dc7,local_dc8); pvVar18 = pvVar17; if ((0xfff < local_db0 + 1) && (pvVar18 = *(void **)((longlong)pvVar17 + -8), 0x1f < (ulonglong)((longlong)pvVar17 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_db8 = 0; local_db0 = 0xf; local_dc8 = 0; FUN_1805753e0(&local_bd8); param_1 = local_10a0; param_2 = local_1090; } uVar20 = 0; local_f70 = (lStack_da0 - local_da8) / 0x2f0; LAB_1805c6269: puVar24 = local_10a0; piVar23 = (int *)0x0; local_1068 = uVar20; if (local_f70 <= uVar20) goto LAB_1805c6f95; pppuVar32 = (undefined ***)(uVar20 * 0x2f0 + local_da8); local_fe8 = pppuVar32; if (*(char *)(pppuVar32 + 4) != '\0') { piVar14 = local_2e8 + 5; while ((piVar15 = piVar14 + -5, piVar28 = piVar23, piVar15 != piStack_2e0 && ((piVar14[-1] != *(int *)(pppuVar32[1] + 1) || ((iVar7 = *(int *)((longlong)pppuVar32[1] + 0xc), piVar28 = piVar15, *piVar14 != iVar7 && (((char)piVar14[1] == '\0' || (iVar7 != -1))))))))) { piVar14 = piVar14 + 0x114; } param_1 = local_10a0; if (piVar28 == (int *)0x0) goto LAB_1805c6eb1; local_ce8 = (undefined **)0x60; local_ce0 = local_ce0 & 0xffffffff00000000; local_cd8 = *(int *)(pppuVar32[1] + 1); uStack_cd4 = *(uint *)((longlong)pppuVar32[1] + 0xc) | local_cd8 >> 0x1f; uStack_cd0 = local_10a0[6]; local_ccc = local_10a0[7]; _time64(&local_f30); ptVar11 = _gmtime64(&local_f30); if (ptVar11 == (tm *)0x0) { uVar10 = FUN_1805b6c80(&local_d88,"could not convert calendar time to UTC time"); /* WARNING: Subroutine does not return */ FUN_1805b3e60(uVar10); } FUN_1805bd670(local_f28,ptVar11); uStack_cc0 = FUN_18065ffa0(local_f28); FUN_180605430(&local_ca8,0x10); local_c98 = *(undefined8 *)(puVar24 + 0xe); local_c90[0] = *(void **)(puVar24 + 10); local_cc8 = *(undefined ***)(puVar24 + 8); ppuVar2 = pppuVar32[0xd]; if (((ulonglong)local_1088 & (ulonglong)ppuVar2) == 0) { if ((local_f60 & (ulonglong)ppuVar2) != 0) { local_ce0 = CONCAT44(2,(undefined4)local_ce0); LAB_1805c645b: local_d88 = 0; lStack_d80 = 0; local_d78 = 0; FUN_1806d12a0(pppuVar32 + 0xf,&local_d88); local_1080 = lStack_d80 - local_d88; if (local_1080 != 0x10) { local_f08 = FUN_1811316e0(0x18); piVar14 = piVar23; if (local_f08 != 0) { piVar14 = (int *)FUN_1805a48c0(local_f08, "A Guid serial number string should always translate into 16 hex bytes, not %d bytes." ); } piVar15 = (int *)FUN_1811316e0(0x18); local_f00 = piVar15; if (piVar15 != (int *)0x0) { FUN_1805a48c0(piVar15,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)piVar15 = pace::PaceLocationInfoFormatter::vftable; piVar23 = piVar15; } FUN_1805b2520(*(undefined8 *)(piVar14 + 2),&local_1080); local_1080 = CONCAT44(local_1080._4_4_,0x19f7); local_f58 = (longlong *)0x181bb2d00; uVar10 = FUN_1805a21d0(*(undefined8 *)(piVar23 + 2),&local_f58); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_1080); } FUN_1805ca0c0(&local_cb8); if (local_d88 != 0) { FUN_1805a7bf0(&local_d88); } goto LAB_1805c65a1; } if ((local_f68 & (ulonglong)ppuVar2) != 0) { local_ce0 = CONCAT44(3,(undefined4)local_ce0); goto LAB_1805c645b; } uVar20 = uVar20 + 1; param_1 = puVar24; goto LAB_1805c6269; } local_ce0 = CONCAT44(1,(undefined4)local_ce0); local_cb8 = pppuVar32[0xe]; uVar5 = FUN_180603ca0(); uVar6 = FUN_180603ca0(); uStack_cb0 = CONCAT44(uVar5,uVar6); puVar24 = local_10a0; LAB_1805c65a1: local_d68 = 0x10; local_d60 = 0; cVar4 = (**(code **)(puVar24 + 0xc))(&local_ce8,&local_d68); param_1 = local_10a0; if (cVar4 == '\0') goto LAB_1805c6eb1; local_fd8 = pace::eden::thrift::fusion::DlcKeyExchangeInput::vftable; local_fc0 = (void *)0x0; local_fb8 = 0; uStack_fb0 = 0; local_fa8 = (void *)0x0; pvStack_fa0 = (void *)0x0; local_f98 = 0; local_f90 = 0; local_f8c = 0; local_1038 = pace::eden::thrift::fusion::DlcKeyExchangeOutput::vftable; local_1030 = 0; local_1028 = (void *)0x0; pvStack_1020 = (void *)0x0; local_1018 = 0; pvStack_1010 = (void *)0x0; local_1008 = (void *)0x0; lStack_1000 = 0; local_ff8 = 0; local_ff4 = 0; local_fd0 = *(undefined1 *)((longlong)piVar28 + 0x19); _local_fcc = CONCAT44(puVar24[5],puVar24[6]); local_fc4 = puVar24[4]; FUN_1805b1330(&local_fc0,0x10,&local_fc0); FUN_1805ce9b0(local_fc0,&local_ca8,0x10); pvVar18 = *(void **)(puVar24 + 10); uVar1 = puVar24[7]; uVar13 = (ulonglong)uVar1; uVar30 = local_f98 - (longlong)local_fa8; if (uVar30 < uVar13) { if (0x7fffffffffffffff < uVar13) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar25 = uVar13; if ((uVar30 <= 0x7fffffffffffffff - (uVar30 >> 1)) && (uVar25 = (uVar30 >> 1) + uVar30, uVar25 < uVar13)) { uVar25 = uVar13; } if (local_fa8 != (void *)0x0) { FUN_1805a7bf0(&local_fa8,local_fa8); } local_fa8 = (void *)0x0; pvStack_fa0 = (void *)0x0; local_f98 = 0; if (uVar25 != 0) { if (0x7fffffffffffffff < uVar25) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } pvStack_fa0 = (void *)FUN_1805bc8b0(&local_fa8,uVar25); local_f98 = (longlong)pvStack_fa0 + uVar25; } pvVar17 = pvStack_fa0; local_fa8 = pvStack_fa0; memmove(pvStack_fa0,pvVar18,uVar13); pvStack_fa0 = (void *)(uVar13 + (longlong)pvVar17); } else if ((ulonglong)((longlong)pvStack_fa0 - (longlong)local_fa8) < uVar13) { pvVar17 = (void *)(((longlong)pvStack_fa0 - (longlong)local_fa8) + (longlong)pvVar18); memmove(local_fa8,pvVar18,(longlong)pvVar17 - (longlong)pvVar18); pvVar26 = pvStack_fa0; sVar29 = (longlong)pvVar18 + ((ulonglong)uVar1 - (longlong)pvVar17); memmove(pvStack_fa0,pvVar17,sVar29); pvStack_fa0 = (void *)(sVar29 + (longlong)pvVar26); } else { lVar19 = (longlong)local_fa8 + uVar13; memmove(local_fa8,pvVar18,uVar13); pvStack_fa0 = (void *)lVar19; } lVar19 = local_fb8; pvVar18 = local_fc0; if (*(char *)((longlong)local_10a0 + 0xe) == '\0') { FUN_180694cf0(local_1048[0],pppuVar32,&local_fd8,&local_1038); } else { local_ff8 = local_ff8 & 0xffffff00; local_1030 = 0; uVar13 = local_fb8 - (longlong)local_fc0; uVar30 = local_1018 - (longlong)local_1028; if (uVar30 < uVar13) { if (0x7fffffffffffffff < uVar13) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar25 = uVar13; if ((uVar30 <= 0x7fffffffffffffff - (uVar30 >> 1)) && (uVar25 = (uVar30 >> 1) + uVar30, uVar25 < uVar13)) { uVar25 = uVar13; } if (local_1028 != (void *)0x0) { FUN_1805a7bf0(&local_1028,local_1028); } FUN_1805bbbc0(&local_1028,uVar25); pvVar17 = local_1028; sVar29 = lVar19 - (longlong)pvVar18; memmove(local_1028,pvVar18,sVar29); pvStack_1020 = (void *)(sVar29 + (longlong)pvVar17); } else if ((ulonglong)((longlong)pvStack_1020 - (longlong)local_1028) < uVar13) { pvVar18 = (void *)((longlong)local_fc0 + ((longlong)pvStack_1020 - (longlong)local_1028)); memmove(local_1028,local_fc0,(longlong)pvVar18 - (longlong)local_fc0); pvVar17 = pvStack_1020; sVar29 = lVar19 - (longlong)pvVar18; memmove(pvStack_1020,pvVar18,sVar29); pvStack_1020 = (void *)(sVar29 + (longlong)pvVar17); } else { pvVar18 = (void *)((longlong)local_1028 + uVar13); memmove(local_1028,local_fc0,uVar13); pvStack_1020 = pvVar18; } pvVar17 = pvStack_fa0; pvVar18 = local_fa8; uVar13 = (longlong)pvStack_fa0 - (longlong)local_fa8; uVar30 = lStack_1000 - (longlong)pvStack_1010; if (uVar30 < uVar13) { if (0x7fffffffffffffff < uVar13) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar25 = uVar13; if ((uVar30 <= 0x7fffffffffffffff - (uVar30 >> 1)) && (uVar25 = uVar30 + (uVar30 >> 1), uVar25 < uVar13)) { uVar25 = uVar13; } if (pvStack_1010 != (void *)0x0) { FUN_1805a7bf0(&pvStack_1010,pvStack_1010); } FUN_1805bbbc0(&pvStack_1010,uVar25); pvVar26 = pvStack_1010; } else { if (uVar13 <= (ulonglong)((longlong)local_1008 - (longlong)pvStack_1010)) { pvVar18 = (void *)(uVar13 + (longlong)pvStack_1010); memmove(pvStack_1010,local_fa8,uVar13); local_1008 = pvVar18; goto LAB_1805c6a86; } pvVar18 = (void *)(((longlong)local_1008 - (longlong)pvStack_1010) + (longlong)local_fa8); memmove(pvStack_1010,local_fa8,(longlong)pvVar18 - (longlong)local_fa8); pvVar26 = local_1008; } memmove(pvVar26,pvVar18,(longlong)pvVar17 - (longlong)pvVar18); local_1008 = (void *)(((longlong)pvVar17 - (longlong)pvVar18) + (longlong)pvVar26); } LAB_1805c6a86: lVar19 = lStack_1058; if ((char)local_ff8 != '\0') { bVar33 = true; bVar3 = true; for (lVar27 = local_1060; (bVar3 && (lVar27 != lVar19)); lVar27 = lVar27 + 0x8c0) { bVar3 = false; local_bd8 = pace::eden::thrift::pub::AuthSituation::vftable; local_bd0[0] = CONCAT44(local_bd0[0]._4_4_,*(undefined4 *)(lVar27 + 8)); FUN_1805b5c00(local_bd0 + 1,lVar27 + 0x10); local_768 = *(undefined1 *)(lVar27 + 0x470); local_764 = *(undefined4 *)(lVar27 + 0x474); local_760 = *(undefined4 *)(lVar27 + 0x478); local_75c = *(undefined4 *)(lVar27 + 0x47c); FUN_1805b4dc0(local_758,lVar27 + 0x480); local_320 = *(undefined4 *)(lVar27 + 0x8b8); local_31c = *(undefined2 *)(lVar27 + 0x8bc); local_31a = *(undefined1 *)(lVar27 + 0x8be); if (((int)local_bd0[0] == 6) && ((undefined **)CONCAT44(uStack_bb4,CONCAT22(uStack_bb6,local_bb8)) == pppuVar32[0xe])) { pppuVar21 = pppuVar32 + 0xf; if ((undefined **)0xf < pppuVar32[0x12]) { pppuVar21 = (undefined ***)pppuVar32[0xf]; } puVar8 = &local_bb0; if (0xf < local_b98) { puVar8 = (undefined1 *)CONCAT71(uStack_baf,local_bb0); } if ((local_ba0 != pppuVar32[0x11]) || (iVar7 = memcmp(puVar8,pppuVar21,(size_t)local_ba0), iVar7 != 0)) goto LAB_1805c6bc1; bVar33 = false; } else { LAB_1805c6bc1: bVar3 = true; } local_bd8 = pace::eden::thrift::pub::AuthSituation::vftable; FUN_1805b7720(local_758); FUN_1805b8780(local_bd0 + 1); if (!bVar3) break; } if (bVar33) { FUN_1805bc560(pppuVar32,6); } } lVar19 = lStack_1058; if ((char)local_1030 != '\0') { bVar33 = true; bVar3 = true; for (lVar27 = local_1060; (bVar3 && (lVar27 != lVar19)); lVar27 = lVar27 + 0x8c0) { bVar3 = false; local_bd8 = pace::eden::thrift::pub::AuthSituation::vftable; local_bd0[0] = CONCAT44(local_bd0[0]._4_4_,*(undefined4 *)(lVar27 + 8)); FUN_1805b5c00(local_bd0 + 1,lVar27 + 0x10); local_768 = *(undefined1 *)(lVar27 + 0x470); local_764 = *(undefined4 *)(lVar27 + 0x474); local_760 = *(undefined4 *)(lVar27 + 0x478); local_75c = *(undefined4 *)(lVar27 + 0x47c); FUN_1805b4dc0(local_758,lVar27 + 0x480); local_320 = *(undefined4 *)(lVar27 + 0x8b8); local_31c = *(undefined2 *)(lVar27 + 0x8bc); local_31a = *(undefined1 *)(lVar27 + 0x8be); if (((int)local_bd0[0] == 0x10) && ((undefined **)CONCAT44(uStack_bb4,CONCAT22(uStack_bb6,local_bb8)) == pppuVar32[0xe])) { pppuVar21 = pppuVar32 + 0xf; if ((undefined **)0xf < pppuVar32[0x12]) { pppuVar21 = (undefined ***)pppuVar32[0xf]; } puVar8 = &local_bb0; if (0xf < local_b98) { puVar8 = (undefined1 *)CONCAT71(uStack_baf,local_bb0); } if ((local_ba0 != pppuVar32[0x11]) || (iVar7 = memcmp(puVar8,pppuVar21,(size_t)local_ba0), iVar7 != 0)) goto LAB_1805c6d4f; bVar33 = false; } else { LAB_1805c6d4f: bVar3 = true; } local_bd8 = pace::eden::thrift::pub::AuthSituation::vftable; FUN_1805b7720(local_758); FUN_1805b8780(local_bd0 + 1); if (!bVar3) break; } if (bVar33) { FUN_1805bc560(pppuVar32,0x10); } } lVar19 = lStack_1058; if (local_1030._1_1_ != '\0') { bVar3 = true; bVar33 = true; for (lVar27 = local_1060; (bVar33 && (lVar27 != lVar19)); lVar27 = lVar27 + 0x8c0) { bVar33 = false; FUN_1805b5540(&local_bd8,lVar27); if (((int)local_bd0[0] == 7) && (((undefined **)CONCAT44(uStack_bb4,CONCAT22(uStack_bb6,local_bb8)) == pppuVar32[0xe] && (cVar4 = FUN_1805aef10(&local_bb0,pppuVar32 + 0xf), cVar4 != '\0')))) { bVar3 = false; } else { bVar33 = true; } FUN_1805b7ba0(&local_bd8); if (!bVar33) break; } if (bVar3) { FUN_1805bc560(pppuVar32,7); } } param_2 = local_1090; if (((longlong)pvStack_1020 - (longlong)local_1028 == 0x10) || ((longlong)local_1008 - (longlong)pvStack_1010 == (longlong)pvStack_fa0 - (longlong)local_fa8 )) { FUN_1805ca0c0(local_1090 + 0x34,local_1028,2); param_1 = local_10a0; memcpy(*(void **)(local_10a0 + 10),pvStack_1010,(ulonglong)local_10a0[7]); *(undefined4 *)((longlong)param_2 + 0xc) = local_ce0._4_4_; param_2[2] = CONCAT44(uStack_cd4,local_cd8); local_10a8 = '\x01'; FUN_1805b7d00(&local_1038); FUN_1805b7c40(&local_fd8); goto switchD_1805c6fde_default; } FUN_1805b7d00(&local_1038); FUN_1805b7c40(&local_fd8); param_1 = local_10a0; param_2 = local_1090; } LAB_1805c6eb1: uVar20 = uVar20 + 1; goto LAB_1805c6269; LAB_1805c6f95: lVar19 = FUN_1805c5140(&local_1060); if ((lVar19 == 0) || ((char)param_1[3] != '\0')) { uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1ab4); FUN_1806c45b0(0x3e,uVar10); } else { switch(*(undefined4 *)(local_1060 + 8)) { case 0: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1abf); FUN_1806c45b0(0x48,uVar10,uVar16); case 0xe: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1ac4); FUN_1806c45b0(0x49,uVar10,uVar16); case 1: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1ac9); FUN_1806c45b0(0x4a,uVar10,uVar16); case 2: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1ace); FUN_1806c45b0(0x4b,uVar10,uVar16); case 3: case 7: case 8: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1ad5); FUN_1806c45b0(0x4c,uVar10,uVar16); case 4: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1ada); FUN_1806c45b0(0x4d,uVar10,uVar16); case 5: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1adf); FUN_1806c45b0(0x1b,uVar10,uVar16); case 6: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1ae4); FUN_1806c45b0(0x4e,uVar10,uVar16); case 9: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1ae9); FUN_1806c45b0(0x4f,uVar10,uVar16); case 10: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1aee); FUN_1806c45b0(0x50,uVar10,uVar16); case 0xb: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1af3); FUN_1806c45b0(0x51,uVar10,uVar16); case 0xc: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1af8); FUN_1806c45b0(0x52,uVar10,uVar16); case 0xd: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1afd); FUN_1806c45b0(0x53,uVar10,uVar16); case 0xf: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1b02); FUN_1806c45b0(0x54,uVar10,uVar16); case 0x10: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1b07); FUN_1806c45b0(0x55,uVar10,uVar16); case 0x11: uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1b0c); FUN_1806c45b0(0x57,uVar10); } } switchD_1805c6fde_default: FUN_1805a4e80(local_1048); FUN_1805bc0b0(&local_da8); FUN_1805b8040(&local_d58); FUN_1805b72a0(&local_f88); if (local_e40 != 0) { local_10d8 = (longlong *)((longlong)param_2 + 0x9c); FUN_1805bba40(&local_e48,param_2 + 3,(longlong)param_2 + 0x1c,(longlong)param_2 + 0x5c); } local_db8 = 0; local_db0 = 0xf; local_dc8 = 0; if (*(longlong *)(param_1 + 0x10) != 0) { FUN_1805b98f0(&local_dc8); } if (local_10a8 == '\0') { FUN_1805bdb50(local_f50,1); local_10d8 = (longlong *)CONCAT44(local_10d8._4_4_,1); uVar20 = FUN_1806a2680(local_f50[0],local_2b4,0,0); local_10a8 = '\0'; local_fe8 = local_e80; local_f58 = &local_d88; uVar10 = FUN_1805b45d0(local_e80,local_f50); uVar13 = FUN_1805a4070(&local_d88,&local_df8); local_10d8 = (longlong *)FUN_1805a4070(&local_da8,&local_dc8); local_10b8 = *(undefined8 *)(local_10a0 + 8); local_10c0 = &local_10a8; local_10c8 = &local_1060; local_10d0 = uVar13; local_10b0 = uVar10; local_10a7 = FUN_1805bdf40((char)local_10a0[3] != '\0',(local_f60 & uVar20) != 0, (local_f68 & uVar20) != 0,0); if (local_10a8 != '\0') { local_e40 = 0; FUN_1805bce50(&local_df8); uVar10 = FUN_1805c0220(&DAT_181baf991); uVar16 = FUN_1805c0260(); FUN_1805bc880(uVar16, "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\paceeden.cpp" ,0x1b4e); FUN_1806c45b0(2,uVar10,uVar16); local_10d8 = (longlong *)((longlong)local_1090 + 0x9c); FUN_1805bba40(&local_e48,local_1090 + 3,(longlong)local_1090 + 0x1c, (longlong)local_1090 + 0x5c); FUN_1805a4e80(local_f50); FUN_180485450(&local_dc8); FUN_1805b8be0(&local_318); FUN_180575f30(&local_1060); FUN_180575800(&local_e48); } FUN_1805a4e80(local_f50); param_1 = local_10a0; } if (((*(char *)((longlong)param_1 + 0xd) != '\0') && (*(int *)(param_2 + 3) != 0)) && (local_10a7 == '\0')) { if (local_db8 == 0) { FUN_1805b98f0(&local_dc8,"This software"); } uVar10 = FUN_1805a3f20(&local_ce8,"%s %s"); uVar10 = FUN_1805b2240(uVar10,local_e18); uVar10 = FUN_1805b2240(uVar10,local_e38); FUN_1805ae640(uVar10,&local_da8); local_1070 = local_1070 | 1; FUN_1805a4fa0(&local_ce8); uVar10 = FUN_1805a3f20(&local_bd8,"%s cannot run, because an error occurred.\n\n%s"); uVar10 = FUN_1805b2240(uVar10,&local_dc8); uVar10 = FUN_1805b2240(uVar10,&local_df8); FUN_1805ae640(uVar10,&local_d88); local_1070 = local_1070 | 2; FUN_1805a4fa0(&local_bd8); local_10d0 = local_10d0 & 0xffffffffffffff00; local_10d8 = (longlong *)((ulonglong)local_10d8 & 0xffffffffffffff00); FUN_1805f02b0(&local_da8,&local_d88,0,0); FUN_180485450(&local_d88); FUN_180485450(&local_da8); } FUN_180485450(&local_dc8); FUN_1805b8be0(&local_318); FUN_180575f30(&local_1060); FUN_180575800(&local_e48); if (local_10a7 == '\0') { } goto LAB_1805c5360; } ############ FUN_ 1805dfee0 size=3244 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x0001805e0b5f) overlaps instruction at (ram,0x0001805e0b5e) */ /* WARNING: Removing unreachable block (ram,0x0001805dff78) */ /* WARNING: Removing unreachable block (ram,0x0001805e099a) */ void FUN_1805dfee0(uint *param_1) { int iVar1; ulonglong *puVar2; longlong lVar3; undefined8 *puVar4; uint uVar5; int iVar6; char cVar9; ulonglong uVar7; ulonglong uVar8; uint uVar10; uint *puVar11; ulonglong uVar12; int *piVar13; ulonglong *puVar14; ulonglong *puVar15; ulonglong uVar16; uint *puVar17; uint *puVar18; uint uVar19; int iVar20; int unaff_retaddr; uint local_res18 [2]; undefined4 local_res20; undefined1 auStack_d8 [32]; ulonglong local_b8; undefined1 *local_b0; uint *local_a0; undefined8 local_98; undefined4 local_90 [4]; undefined4 local_80; undefined8 local_78; undefined8 *local_70; ulonglong local_68; undefined8 local_60; undefined8 local_58; uVar16 = (longlong)&local_60 + 1; puVar14 = (ulonglong *)auStack_d8; local_58 = 0xfffffffffffffffe; local_res20 = 0xae0; local_80 = 0xca0; local_78 = 0x180bc8fa0; local_a0 = (uint *)0x180bc90a0; local_b8 = 0x4c1dcc63; puVar17 = (uint *)&DAT_e6546b64; local_b0 = &DAT_e6546b64; local_68 = (ulonglong)*param_1; lVar3 = 0; local_98 = local_a0; local_60 = local_78; if (local_68 == 0x5b625031) { uVar5 = (iRam0000000180bc8fa0 * 0x16a88000 | (uint)(iRam0000000180bc8fa0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0xf1175bbc; uVar5 = (iRam0000000180bc8fa4 * 0x16a88000 | (uint)(iRam0000000180bc8fa4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam0000000180bc8fa8 * 0x16a88000 | (uint)(iRam0000000180bc8fa8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar19 = (((uVar5 & 0x18ff) + 1) * (uVar5 & 0x18ff) + 7) % 0x51; iVar6 = (uVar5 & 0x5ff) * (uVar5 & 0x5ff) + 1; uVar10 = (iVar6 >> 4) + (iVar6 >> 1) + iVar6 * 0x24924924 >> 0x1d; uVar10 = (int)(uVar10 - 7) >> 0x1f & uVar10; uVar10 = (int)((-uVar10 | uVar10) & (-uVar19 | uVar19)) >> 0x1f; iVar20 = 0; uVar7 = (longlong)(((int)(-uVar10 | uVar10) >> 0x1f) * -0x5894) ^ 0xffffffffffffa768; uVar5 = (*(int *)(uVar7 + 0x180bc8fb0) * 0x16a88000 | (uint)(*(int *)(uVar7 + 0x180bc8fb0) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar5; uVar5 = (*(int *)(uVar7 + 0x180bc8fb4) * 0x16a88000 | (uint)(*(int *)(uVar7 + 0x180bc8fb4) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (*(int *)(uVar7 + 0x180bc8fb8) * 0x16a88000 | (uint)(*(int *)(uVar7 + 0x180bc8fb8) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; iVar6 = *(int *)(uVar7 + 0x180bc8fbc); uVar5 = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar10 = uVar5 & 0x23f; iVar6 = (uVar10 + 2) * (uVar10 + 1) * uVar10; piVar13 = (int *)((((longlong) ((((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e) + 0x3a95) ^ 0x3ab9U) - 0x28) + (longlong)(uVar7 + 0x180bc8fbc)); uVar5 = (*piVar13 * 0x16a88000 | (uint)(*piVar13 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar5; uVar5 = (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar10 = (uint)piVar13 & 0x23f; uVar19 = uVar5 & 0x7ff; iVar6 = (uVar10 + 2) * (uVar10 + 1) * uVar10; piVar13 = (int *)((longlong)piVar13 + (0x34 - ((longlong) (int)(iVar6 + (iVar6 / 3 + (iVar6 >> 0x1f) + (int)(((longlong)iVar6 / 3 + ((longlong)iVar6 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3 + ((uVar19 - 1) * uVar19 & 1) ^ 0xe904) ^ 0xe934U))); uVar5 = (*piVar13 * 0x16a88000 | (uint)(*piVar13 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar5; uVar5 = (piVar13[1] * 0x16a88000 | (uint)(piVar13[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; local_res18[0] = (piVar13[2] * 0x16a88000 | (uint)(piVar13[2] * -0x3361d2af) >> 0x11) * 0x1b873593; uVar5 = local_res18[0] ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; local_b8 = (ulonglong)((uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64); local_68 = 0x5b625031; do { puVar18 = local_res18; puVar11 = (uint *)(piVar13 + 3); uVar8 = 0x5018; *(undefined8 *)((longlong)puVar14 + -8) = 0x1805e04a2; uVar7 = FUN_1805e1914(); puVar2 = puVar14; if (((uVar8 & 0xc3) == 0) && ((uVar8 & 0xc3) == 0)) { *(uint **)((longlong)puVar14 + -8) = puVar17; puVar2 = (ulonglong *)((longlong)puVar14 + -8); puVar17 = puVar11; if (((uVar7 & 0xc3) != 0) && (puVar2 = (ulonglong *)((longlong)puVar14 + -8), (uVar7 & 0xc3) == 0)) { puVar2 = (ulonglong *)((longlong)puVar14 + -8); } } do { do { puVar15 = puVar2; puVar2 = puVar15; } while ((uVar8 & 0xc3) != 0); *puVar18 = *puVar17; puVar17 = (uint *)*puVar15; puVar14 = puVar15 + 1; puVar2 = puVar15 + 1; } while (((uVar8 & 0xc300) == 0) || (puVar2 = puVar15 + 1, (uVar8 & 0xc3) != 0)); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = (local_res18[0] * 0x16a88000 | local_res18[0] * -0x3361d2af >> 0x11) * 0x1b873593 ^ (uint)local_b8; iVar6 = (int)puVar17; uVar5 = (piVar13[4] * 0x16a88000 | (uint)(piVar13[4] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar6 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[5] * 0x16a88000 | (uint)(piVar13[5] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar6 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[6] * 0x16a88000 | (uint)(piVar13[6] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar6 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[7] * 0x16a88000 | (uint)(piVar13[7] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar6 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[8] * 0x16a88000 | (uint)(piVar13[8] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar6 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[9] * 0x16a88000 | (uint)(piVar13[9] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar6 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; local_a0 = param_1 + 2; uVar5 = (piVar13[10] * 0x16a88000 | (uint)(piVar13[10] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar6 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0xb] * 0x16a88000 | (uint)(piVar13[0xb] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar6 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; local_res18[0] = (piVar13[0xc] * 0x16a88000 | (uint)(piVar13[0xc] * -0x3361d2af) >> 0x11) * 0x1b873593; uVar5 = local_res18[0] ^ iVar6 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; do { *puVar15 = 0x1805e067b; FUN_1805e0f39(); *puVar15 = 0x1805e0699; FUN_1805df7a3(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar5 = (piVar13[0xd] * 0x16a88000 | (uint)(piVar13[0xd] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar6 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0xe] * 0x16a88000 | (uint)(piVar13[0xe] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0xf] * 0x16a88000 | (uint)(piVar13[0xf] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0x10] * 0x16a88000 | (uint)(piVar13[0x10] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = uVar5 << 0xd | uVar5 >> 0x13; iVar6 = (int)local_b0 + uVar5 * 4; iVar1 = iVar6; do { iVar20 = iVar20 + iVar1; iVar20 = iVar20 - (~((~(iVar1 - iVar20) + 1U) - iVar20) + 1); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } iVar1 = unaff_retaddr; } while (uVar10 != 0); uVar5 = (piVar13[0x11] * 0x16a88000 | (uint)(piVar13[0x11] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar5 + iVar6; uVar5 = (piVar13[0x12] * 0x16a88000 | (uint)(piVar13[0x12] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0x13] * 0x16a88000 | (uint)(piVar13[0x13] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0x14] * 0x16a88000 | (uint)(piVar13[0x14] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0x15] * 0x16a88000 | (uint)(piVar13[0x15] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0x16] * 0x16a88000 | (uint)(piVar13[0x16] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0x17] * 0x16a88000 | (uint)(piVar13[0x17] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0x18] * 0x16a88000 | (uint)(piVar13[0x18] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (piVar13[0x19] * 0x16a88000 | (uint)(piVar13[0x19] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; iVar6 = piVar13[0x1a]; uVar5 = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar8 = (ulonglong)uVar5; iVar6 = ((uint)local_98 & 0x7aff) * ((uint)local_98 & 0x7aff) + 1; uVar10 = (iVar6 >> 4) + (iVar6 >> 1) + iVar6 * 0x24924924 >> 0x1d; uVar10 = (int)(uVar10 - 7) >> 0x1f & uVar10; uVar19 = ((uVar5 & 0xaff) * (uVar5 & 0xaff) * 0x10 + 4) % 0x13; uVar10 = (int)((-uVar19 | uVar19) & (-uVar10 | uVar10)) >> 0x1f; piVar13 = (int *)((longlong)(piVar13 + 0x1a) + (0x18 - ((longlong)(((int)(-uVar10 | uVar10) >> 0x1f) * -0x1f04) ^ 0x1f10U))); iVar6 = *piVar13; uVar5 = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar5; piVar13 = piVar13 + 1; uVar10 = (*piVar13 * 0x16a88000 | (uint)(*piVar13 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (uint)piVar13 & 0x7f; uVar7 = (longlong) (int)((0xe0c3 - (uVar5 * uVar5 * (uVar5 + 1) * (uVar5 + 1) & 0x80000003)) - (iVar20 * iVar20 * (iVar20 + 1) * (iVar20 + 1) & 1U)) ^ 0xe047; iVar6 = *(int *)((longlong)piVar13 + (uVar7 - 0x80)); uVar5 = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar10 << 0xd | uVar10 >> 0x13) * 5; iVar6 = *(int *)((longlong)piVar13 + (uVar7 - 0x7c)); uVar5 = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; iVar6 = *(int *)((longlong)piVar13 + (uVar7 - 0x78)); uVar5 = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; iVar6 = *(int *)((longlong)piVar13 + (uVar7 - 0x74)); uVar5 = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; iVar6 = *(int *)((longlong)piVar13 + (uVar7 - 0x70)); uVar5 = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; iVar6 = *(int *)((longlong)piVar13 + (uVar7 - 0x6c)); local_res18[0] = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593; uVar5 = local_res18[0] ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar5 = (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; do { *puVar15 = 0x1805e0a7a; FUN_1805e1abc(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); iVar6 = *(int *)((longlong)piVar13 + (uVar7 - 0x68)); uVar5 = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar5; iVar6 = *(int *)((longlong)piVar13 + (uVar7 - 100)); uVar5 = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5; uVar12 = (ulonglong)((int)local_b0 + (uVar5 << 0xd | uVar5 >> 0x13) * 5); iVar6 = *(int *)((longlong)piVar13 + (uVar7 - 0x60)); local_res18[0] = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593; do { cVar9 = 'P'; *puVar15 = 0x1805e0b4a; FUN_1805e0efe(); if (cVar9 == '\0') { uVar16 = (ulonglong)(uint)((int)uVar16 + (int)uVar12); } *puVar15 = 0x1805e0b6e; FUN_1805e0efe(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); iVar6 = *(int *)((longlong)piVar13 + (uVar7 - 0x5c)); *(uint *)(uVar16 + 0x77) = (iVar6 * 0x16a88000 | (uint)(iVar6 * -0x3361d2af) >> 0x11) * 0x1b873593; *puVar15 = uVar8; puVar15[-1] = uVar16 + 0x5f; puVar15[-2] = 0x1805e0bbe; FUN_1805e0bf2(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } local_70 = (undefined8 *)FUN_1811316e0(0x18); if (local_70 != (undefined8 *)0x0) { lVar3 = FUN_1805a48c0(local_70, "The actual thriftId 0x%08X does not match the expected thriftId 0x%08X"); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); local_70 = puVar4; if (puVar4 != (undefined8 *)0x0) { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; } local_90[0] = 0x5b625031; FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_68); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),local_90); } ############ FUN_ 180671d50 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180671d50(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_18079b3d0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180673e30 size=447 ############ void FUN_180673e30(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807b2370(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 1805c79f0 size=392 ############ void FUN_1805c79f0(ulonglong *param_1,ulonglong param_2,size_t param_3) { ulonglong uVar1; void *pvVar2; ulonglong *puVar3; ulonglong uVar4; void *_Memory; ulonglong *_Dst; ulonglong uVar5; uVar5 = param_2 | 0xf; if (uVar5 != 0xffffffffffffffff) { uVar1 = param_1[3]; uVar4 = uVar1 >> 1; param_2 = uVar5; if ((uVar5 / 3 < uVar4) && (param_2 = 0xfffffffffffffffe, uVar1 <= -uVar4 - 2)) { param_2 = uVar1 + uVar4; } } if (param_2 == 0xffffffffffffffff) { _Dst = (ulonglong *)0x0; } else if (param_2 + 1 < 0x1000) { _Dst = (ulonglong *)FUN_1811316e0(); if (_Dst == (ulonglong *)0x0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } else { if (param_2 + 0x28 <= param_2 + 1) { /* WARNING: Subroutine does not return */ std::_Xbad_alloc(); } uVar5 = FUN_1811316e0(param_2 + 0x28); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } _Dst = (ulonglong *)(uVar5 + 0x27 & 0xffffffffffffffe0); _Dst[-1] = uVar5; } if (param_3 != 0) { puVar3 = param_1; if (0xf < param_1[3]) { puVar3 = (ulonglong *)*param_1; } if (param_3 != 0) { memcpy(_Dst,puVar3,param_3); } } if (param_1[3] < 0x10) { param_1[3] = 0xf; param_1[2] = 0; puVar3 = param_1; if (0xf < param_1[3]) { puVar3 = (ulonglong *)*param_1; } *(undefined1 *)puVar3 = 0; *param_1 = (ulonglong)_Dst; param_1[3] = param_2; param_1[2] = param_3; if (0xf < param_1[3]) { param_1 = _Dst; } *(undefined1 *)((longlong)param_1 + param_3) = 0; return; } pvVar2 = (void *)*param_1; _Memory = pvVar2; if (0xfff < param_1[3] + 1) { if (((ulonglong)pvVar2 & 0x1f) != 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } _Memory = *(void **)((longlong)pvVar2 - 8); if (pvVar2 <= _Memory) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } if ((ulonglong)((longlong)pvVar2 - (longlong)_Memory) < 8) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } if (0x27 < (ulonglong)((longlong)pvVar2 - (longlong)_Memory)) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805c9c00 size=495 ############ longlong FUN_1805c9c00(ulonglong *param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; undefined8 *puVar2; undefined8 *puVar3; void *pvVar4; undefined8 uVar5; longlong lVar6; undefined8 *puVar7; ulonglong uVar8; ulonglong uVar9; void *_Memory; ulonglong uVar10; ulonglong uVar11; uVar11 = *param_1; lVar6 = (longlong)(param_1[1] - uVar11) >> 4; if (lVar6 == 0xfffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar6 + 1; uVar8 = (longlong)(param_1[2] - uVar11) >> 4; uVar10 = uVar1; if ((uVar8 <= 0xfffffffffffffff - (uVar8 >> 1)) && (uVar10 = (uVar8 >> 1) + uVar8, uVar10 < uVar1) ) { uVar10 = uVar1; } uVar8 = uVar10 * 0x10; if (uVar10 < 0x1000000000000000) { uVar10 = uVar8; if (uVar8 < 0x1000) { if (uVar8 == 0) { uVar10 = 0; } else { uVar10 = FUN_1811316e0(uVar8); } goto LAB_1805c9cee; } } else { uVar10 = 0xffffffffffffffff; } uVar9 = uVar10 + 0x27; if (uVar9 <= uVar10) { uVar9 = 0xffffffffffffffff; } lVar6 = FUN_1811316e0(uVar9); if (lVar6 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar10 = lVar6 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar10 - 8) = lVar6; LAB_1805c9cee: uVar11 = (longlong)param_2 - uVar11 & 0xfffffffffffffff0; uVar5 = param_3[1]; *(undefined8 *)(uVar11 + uVar10) = *param_3; ((undefined8 *)(uVar11 + uVar10))[1] = uVar5; puVar3 = (undefined8 *)param_1[1]; puVar7 = (undefined8 *)*param_1; if (param_2 == puVar3) { if (puVar7 != puVar3) { lVar6 = uVar10 - (longlong)puVar7; do { uVar5 = puVar7[1]; puVar2 = (undefined8 *)((longlong)puVar7 + lVar6); *puVar2 = *puVar7; puVar2[1] = uVar5; puVar7 = puVar7 + 2; } while (puVar7 != puVar3); } } else { if (puVar7 != param_2) { lVar6 = uVar10 - (longlong)puVar7; do { uVar5 = puVar7[1]; puVar3 = (undefined8 *)((longlong)puVar7 + lVar6); *puVar3 = *puVar7; puVar3[1] = uVar5; puVar7 = puVar7 + 2; } while (puVar7 != param_2); } puVar3 = (undefined8 *)param_1[1]; if (param_2 != puVar3) { lVar6 = (uVar11 + 0x10 + uVar10) - (longlong)param_2; do { uVar5 = param_2[1]; puVar7 = (undefined8 *)((longlong)param_2 + lVar6); *puVar7 = *param_2; puVar7[1] = uVar5; param_2 = param_2 + 2; } while (param_2 != puVar3); } } pvVar4 = (void *)*param_1; if (pvVar4 == (void *)0x0) { *param_1 = uVar10; param_1[1] = uVar1 * 0x10 + uVar10; param_1[2] = uVar10 + uVar8; return *param_1 + uVar11; } _Memory = pvVar4; if ((0xfff < (param_1[2] - (longlong)pvVar4 & 0xfffffffffffffff0)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805cfe00 size=423 ############ undefined8 * FUN_1805cfe00(undefined8 *param_1,ulonglong param_2,undefined8 param_3,size_t param_4,void *param_5, size_t param_6) { longlong lVar1; ulonglong uVar2; void *_Src; longlong lVar3; ulonglong uVar4; ulonglong uVar5; ulonglong uVar6; void *pvVar7; lVar1 = param_1[2]; if (0x7fffffffffffffffU - lVar1 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a6980(); } uVar2 = param_1[3]; uVar4 = lVar1 + param_2 | 0xf; uVar6 = 0x7fffffffffffffff; if (((uVar4 < 0x8000000000000000) && (uVar2 <= 0x7fffffffffffffff - (uVar2 >> 1))) && (uVar5 = (uVar2 >> 1) + uVar2, uVar6 = uVar4, uVar4 < uVar5)) { uVar6 = uVar5; } uVar4 = uVar6 + 1; if (uVar4 < 0x1000) { if (uVar4 == 0) { pvVar7 = (void *)0x0; } else { pvVar7 = (void *)FUN_1811316e0(uVar4); } } else { uVar5 = uVar6 + 0x28; if (uVar5 <= uVar4) { uVar5 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar5); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar7 = (void *)(lVar3 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar7 - 8) = lVar3; } param_1[2] = lVar1 + param_2; param_1[3] = uVar6; if (uVar2 < 0x10) { memcpy(pvVar7,param_1,param_4); memcpy((void *)((longlong)pvVar7 + param_4),param_5,param_6); memcpy((void *)((longlong)((longlong)pvVar7 + param_4) + param_6), (void *)((longlong)param_1 + param_4),(lVar1 - param_4) + 1); *param_1 = pvVar7; return param_1; } _Src = (void *)*param_1; memcpy(pvVar7,_Src,param_4); memcpy((void *)((longlong)pvVar7 + param_4),param_5,param_6); memcpy((void *)((longlong)((longlong)pvVar7 + param_4) + param_6), (void *)((longlong)_Src + param_4),(lVar1 - param_4) + 1); pvVar7 = _Src; if ((0xfff < uVar2 + 1) && (pvVar7 = *(void **)((longlong)_Src + -8), 0x1f < (ulonglong)((longlong)_Src + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } ############ FUN_ 1805cfbf0 size=520 ############ longlong FUN_1805cfbf0(longlong *param_1,longlong param_2,undefined4 *param_3) { undefined4 *puVar1; void *pvVar2; undefined4 uVar3; undefined4 uVar4; undefined4 uVar5; ulonglong uVar6; ulonglong uVar7; ulonglong uVar8; void *_Memory; longlong lVar9; undefined4 *puVar10; longlong lVar11; ulonglong uVar12; undefined4 *puVar13; ulonglong uVar14; undefined4 *puVar15; undefined4 *puVar16; undefined8 uVar17; uVar17 = 0xfffffffffffffffe; lVar9 = *param_1; lVar11 = param_1[1] - lVar9 >> 5; if (lVar11 == 0x7ffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar11 + 1; uVar7 = param_1[2] - lVar9 >> 5; uVar6 = uVar12; if ((uVar7 <= 0x7ffffffffffffff - (uVar7 >> 1)) && (uVar6 = (uVar7 >> 1) + uVar7, uVar6 < uVar12)) { uVar6 = uVar12; } uVar14 = uVar6 * 0x20; uVar7 = uVar6; if (uVar6 < 0x800000000000000) { if (uVar14 < 0x1000) { if (uVar14 == 0) { puVar10 = (undefined4 *)0x0; } else { puVar10 = (undefined4 *)FUN_1811316e0(uVar14); } goto LAB_1805cfcef; } } else { uVar14 = 0xffffffffffffffff; } uVar8 = uVar14 + 0x27; if (uVar8 <= uVar14) { uVar8 = 0xffffffffffffffff; } lVar11 = FUN_1811316e0(uVar8); if (lVar11 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined4 *)(lVar11 + 0x27U & 0xffffffffffffffe0); *(longlong *)(puVar10 + -2) = lVar11; LAB_1805cfcef: uVar14 = param_2 - lVar9 & 0xffffffffffffffe0; puVar15 = (undefined4 *)(uVar14 + (longlong)puVar10); puVar1 = puVar15 + 8; *(undefined8 *)(puVar15 + 4) = 0; *(undefined8 *)(puVar15 + 6) = 0; uVar3 = param_3[1]; uVar4 = param_3[2]; uVar5 = param_3[3]; *puVar15 = *param_3; puVar15[1] = uVar3; puVar15[2] = uVar4; puVar15[3] = uVar5; uVar3 = param_3[5]; uVar4 = param_3[6]; uVar5 = param_3[7]; puVar15[4] = param_3[4]; puVar15[5] = uVar3; puVar15[6] = uVar4; puVar15[7] = uVar5; *(undefined8 *)(param_3 + 4) = 0; *(undefined8 *)(param_3 + 6) = 0xf; *(undefined1 *)param_3 = 0; lVar9 = param_1[1]; lVar11 = *param_1; puVar13 = puVar10; puVar16 = puVar1; if (param_2 != lVar9) { FUN_1805cffb0(*param_1,param_2,puVar10,param_1,puVar15,uVar7,puVar1,uVar17); lVar9 = param_1[1]; lVar11 = param_2; puVar13 = puVar1; puVar15 = puVar10; } FUN_1805cffb0(lVar11,lVar9,puVar13,param_1,puVar15,uVar7,puVar16,uVar17); if (*param_1 == 0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + uVar12 * 8); param_1[2] = (longlong)(puVar10 + uVar6 * 8); return *param_1 + uVar14; } FUN_18048c550(*param_1,param_1[1],param_1); pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805d55f0 size=97 ############ undefined8 * FUN_1805d55f0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1805d5d20 size=488 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805d5d20(longlong param_1,int param_2,undefined8 param_3,undefined4 param_4) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_128 [32]; int local_108; undefined8 *local_f8; longlong *local_f0; undefined8 *local_e8; longlong *plStack_e0; undefined8 *local_d8; undefined8 *local_c8; longlong *plStack_c0; undefined8 local_b8; undefined1 local_b0 [40]; undefined1 local_88 [64]; ulonglong local_48; local_b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_128; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_d8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_b0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_88,6,local_b0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_88,(ThrowInfo *)&DAT_1825fdc30); } local_108 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_e8 = puVar7; FUN_1805d5580(&plStack_e0,puVar7); FUN_1805ae620(&local_e8,puVar7,puVar7); local_d8 = (undefined8 *)FUN_1811316e0(0x90); if (local_d8 != (undefined8 *)0x0) { local_c8 = local_e8; plStack_c0 = plStack_e0; if (plStack_e0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_e0 + 1) = (int)plStack_e0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806f2b90(local_d8,&local_c8,param_4,0); } local_f8 = puVar6; FUN_1805d55f0(&local_f0,puVar6); FUN_1805ae620(&local_f8,puVar6,puVar6); FUN_1806e08c0(param_3,local_f8); if (local_f0 != (longlong *)0x0) { LOCK(); plVar1 = local_f0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_f0 + 8))(local_f0); LOCK(); piVar2 = (int *)((longlong)local_f0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_f0 + 0x10))(local_f0); } } } if (plStack_e0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_e0 + 8))(plStack_e0); LOCK(); piVar2 = (int *)((longlong)plStack_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_e0 + 0x10))(plStack_e0); } } } } ############ FUN_ 1805d5f20 size=488 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805d5f20(longlong param_1,int param_2,undefined8 param_3,undefined4 param_4) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_128 [32]; int local_108; undefined8 *local_f8; longlong *local_f0; undefined8 *local_e8; longlong *plStack_e0; undefined8 *local_d8; undefined8 *local_c8; longlong *plStack_c0; undefined8 local_b8; undefined1 local_b0 [40]; undefined1 local_88 [64]; ulonglong local_48; local_b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_128; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_d8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_b0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_88,6,local_b0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_88,(ThrowInfo *)&DAT_1825fdc30); } local_108 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_e8 = puVar7; FUN_1805d5580(&plStack_e0,puVar7); FUN_1805ae620(&local_e8,puVar7,puVar7); local_d8 = (undefined8 *)FUN_1811316e0(0x90); if (local_d8 != (undefined8 *)0x0) { local_c8 = local_e8; plStack_c0 = plStack_e0; if (plStack_e0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_e0 + 1) = (int)plStack_e0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806f2b90(local_d8,&local_c8,param_4,0); } local_f8 = puVar6; FUN_1805d55f0(&local_f0,puVar6); FUN_1805ae620(&local_f8,puVar6,puVar6); FUN_1806e3860(param_3,local_f8); if (local_f0 != (longlong *)0x0) { LOCK(); plVar1 = local_f0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_f0 + 8))(local_f0); LOCK(); piVar2 = (int *)((longlong)local_f0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_f0 + 0x10))(local_f0); } } } if (plStack_e0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_e0 + 8))(plStack_e0); LOCK(); piVar2 = (int *)((longlong)plStack_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_e0 + 0x10))(plStack_e0); } } } } ############ FUN_ 1805d6120 size=488 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805d6120(longlong param_1,int param_2,undefined8 param_3,undefined4 param_4) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_128 [32]; int local_108; undefined8 *local_f8; longlong *local_f0; undefined8 *local_e8; longlong *plStack_e0; undefined8 *local_d8; undefined8 *local_c8; longlong *plStack_c0; undefined8 local_b8; undefined1 local_b0 [40]; undefined1 local_88 [64]; ulonglong local_48; local_b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_128; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_d8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_b0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_88,6,local_b0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_88,(ThrowInfo *)&DAT_1825fdc30); } local_108 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_e8 = puVar7; FUN_1805d5580(&plStack_e0,puVar7); FUN_1805ae620(&local_e8,puVar7,puVar7); local_d8 = (undefined8 *)FUN_1811316e0(0x90); if (local_d8 != (undefined8 *)0x0) { local_c8 = local_e8; plStack_c0 = plStack_e0; if (plStack_e0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_e0 + 1) = (int)plStack_e0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806f2b90(local_d8,&local_c8,param_4,0); } local_f8 = puVar6; FUN_1805d55f0(&local_f0,puVar6); FUN_1805ae620(&local_f8,puVar6,puVar6); FUN_1806e6310(param_3,local_f8); if (local_f0 != (longlong *)0x0) { LOCK(); plVar1 = local_f0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_f0 + 8))(local_f0); LOCK(); piVar2 = (int *)((longlong)local_f0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_f0 + 0x10))(local_f0); } } } if (plStack_e0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_e0 + 8))(plStack_e0); LOCK(); piVar2 = (int *)((longlong)plStack_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_e0 + 0x10))(plStack_e0); } } } } ############ FUN_ 1805df0f0 size=811 ############ /* WARNING: Removing unreachable block (ram,0x0001805df166) */ void FUN_1805df0f0(uint *param_1,undefined8 param_2) { char cVar1; longlong lVar2; undefined8 *puVar3; undefined8 uVar4; ulonglong uVar5; longlong local_e8; longlong local_e0; undefined4 local_c8; undefined8 local_c0; undefined8 local_b8; undefined8 local_a0; undefined8 local_98; undefined4 local_90; undefined4 local_8c; undefined4 local_88; undefined8 *local_80; uint *local_78; undefined8 local_70; ulonglong local_68 [5]; ulonglong local_40; local_68[1] = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)&local_e8; local_8c = 0x720; local_88 = 0xb10; local_98 = 0; uVar5 = 0x651808; local_a0 = 0x651808; local_c0 = 0x180651808; uVar4 = 0x1806536d8; local_c8 = 0x811c9dc5; local_68[0] = (ulonglong)*param_1; lVar2 = 0; local_b8 = uVar4; local_78 = param_1; local_70 = param_2; if (local_68[0] != 0x6c736142) { local_80 = (undefined8 *)FUN_1811316e0(0x18); if (local_80 != (undefined8 *)0x0) { lVar2 = FUN_1805a48c0(local_80, "The actual thriftId 0x%08X does not match the expected thriftId 0x%08X" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_80 = puVar3; if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } local_90 = 0x6c736142; FUN_1805b2520(*(undefined8 *)(lVar2 + 8),local_68); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),&local_90); } local_98 = 0x9c7eec28dce8232e; local_a0 = 0xdce8232e; func_0x0001805e0961(); /* WARNING: Call to offcut address within same function */ lVar2 = func_0x0001805df3e4(); LOCK(); cVar1 = *(char *)(lVar2 + -0x7d); *(char *)(lVar2 + -0x7d) = (char)uVar4; lVar2 = CONCAT71((int7)((ulonglong)uVar4 >> 8),cVar1); UNLOCK(); in((short)uVar5); (&stack0x00000074)[lVar2 * 4] = (&stack0x00000074)[lVar2 * 4] - cVar1; local_e0 = (longlong)param_1 + 0x1c7; local_e8 = (longlong)param_1 + -0x1a73; /* WARNING: Could not recover jumptable at 0x0001805df57e. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(param_1 + -0x16ca))(lVar2,~((uVar5 ^ 0xffffffffffffffff) + 1) + 1); return; } ############ FUN_ 1805e4f10 size=8121 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_1805e4f10(char *param_1,char param_2,longlong *param_3,undefined8 *param_4) { size_t *psVar1; longlong lVar2; size_t sVar3; void *pvVar4; bool bVar5; int iVar6; undefined8 uVar7; char *pcVar8; longlong *plVar9; undefined8 *******pppppppuVar10; ulonglong uVar11; longlong lVar12; void *pvVar13; undefined1 *puVar14; undefined8 *******pppppppuVar15; undefined1 *puVar16; undefined8 *puVar17; undefined8 *******pppppppuVar18; uint uVar19; undefined8 *puVar20; undefined1 auStack_c78 [32]; size_t local_c58; undefined1 local_c50; uint local_c48 [2]; longlong local_c40; longlong lStack_c38; longlong local_c30; char *local_c28; char *local_c20; undefined8 *local_c18; longlong local_c10; longlong local_c08; longlong *local_c00; undefined8 *local_bf8; undefined8 local_bf0; undefined8 *******local_be8; longlong lStack_be0; ulonglong local_bd8; char *pcStack_bd0; longlong local_bc8 [2]; ulonglong local_bb8; ulonglong uStack_bb0; ulonglong local_ba8; longlong lStack_ba0; longlong local_b98; undefined8 local_b90; undefined8 *******local_b88; longlong lStack_b80; longlong local_b78; ulonglong uStack_b70; undefined8 *******local_b68 [2]; ulonglong local_b58; char *pcStack_b50; undefined8 ******local_b48 [2]; undefined8 local_b38; undefined8 local_b30; undefined1 local_b28; undefined7 uStack_b27; longlong local_b18; ulonglong local_b10; undefined1 local_b08 [16]; undefined8 local_af8; undefined8 local_af0; undefined1 local_ae8 [16]; undefined8 local_ad8; undefined8 local_ad0; undefined1 local_ac8 [8]; undefined4 local_ac0; undefined4 local_abc; undefined4 local_ab4; undefined8 local_a88; undefined8 local_a78; undefined8 local_a70 [7]; undefined2 local_a38; undefined1 local_9b8 [16]; undefined8 local_9a8; undefined8 local_9a0; undefined1 local_998 [112]; undefined **local_928; int local_920; undefined1 local_918 [1136]; undefined1 local_4a8 [1088]; ulonglong local_68; local_bf0 = 0xfffffffffffffffe; local_68 = DAT_182615970 ^ (ulonglong)auStack_c78; puVar20 = (undefined8 *)0x0; local_c48[0] = 0; local_c40 = 0; lStack_c38 = 0; local_c30 = 0; local_c08 = param_3[1]; bVar5 = true; local_c28 = param_1; local_c20 = param_1; local_c00 = param_3; local_bf8 = param_4; for (lVar12 = *param_3; (local_c10 = lVar12, bVar5 && (lVar12 != local_c08)); lVar12 = lVar12 + 0x8c0) { bVar5 = false; FUN_1805b5540(&local_928,lVar12); while (!bVar5) { if (local_920 == 0xf) { local_b88 = (undefined8 *******)0x0; lStack_b80 = 0; local_b78 = 0; FUN_1805b5490(local_ac8); local_ba8 = 0; lStack_ba0 = 0; local_b98 = 0; FUN_1805b57c0(local_998); lVar2 = *param_3; local_ac0 = *(undefined4 *)(lVar2 + 0x474); local_abc = *(undefined4 *)(lVar2 + 0x478); local_ab4 = *(undefined4 *)(lVar2 + 0x47c); local_a88 = *(undefined8 *)(lVar2 + 0x18); local_a78 = *(undefined8 *)(lVar2 + 0x20); puVar17 = (undefined8 *)(lVar2 + 0x28); if (local_a70 != puVar17) { if (0xf < *(ulonglong *)(lVar2 + 0x40)) { puVar17 = (undefined8 *)*puVar17; } FUN_1805a6cb0(local_a70,puVar17,*(undefined8 *)(lVar2 + 0x38)); } local_a38 = 0x100; if (local_b78 == lStack_b80) { FUN_1805b0190(&local_b88,lStack_b80,local_ac8); } else { FUN_1805b53c0(lStack_b80,local_ac8); lStack_b80 = lStack_b80 + 0xa8; } local_c58 = 0; FUN_18069bc20(*param_4,&local_b88,local_998,&local_ba8); if ((longlong)(lStack_ba0 - local_ba8) / 0x2f0 != 0) { FUN_1806bb800(*param_4,local_ba8,0,0x80000000); FUN_1805b8040(local_998); FUN_1805b7280(&local_ba8); FUN_1805b7ad0(local_ac8); FUN_1805b72a0(&local_b88); local_928 = pace::eden::thrift::pub::AuthSituation::vftable; FUN_1805b7720(local_4a8); FUN_1805b8780(local_918); FUN_180575f30(&local_c40); FUN_180575f30(param_3); FUN_1805a4e80(param_4); } FUN_1805b8040(local_998); FUN_1805b7280(&local_ba8); FUN_1805b7ad0(local_ac8); FUN_1805b72a0(&local_b88); bVar5 = true; } else if (local_c30 == lStack_c38) { FUN_1805b0450(&local_c40,lStack_c38,&local_928); bVar5 = true; } else { FUN_1805b5540(lStack_c38,&local_928); lStack_c38 = lStack_c38 + 0x8c0; bVar5 = true; } } local_928 = pace::eden::thrift::pub::AuthSituation::vftable; FUN_1805b7720(local_4a8); FUN_1805b8780(local_918); } if (param_2 != '\0') { local_c18 = (undefined8 *)FUN_1811316e0(0x18); if (local_c18 != (undefined8 *)0x0) { FUN_1805a48c0(local_c18,&DAT_181baf991); } puVar17 = (undefined8 *)FUN_1811316e0(0x18); local_c18 = puVar17; if (puVar17 != (undefined8 *)0x0) { FUN_1805a48c0(puVar17,"|__FILE__|%s|__LINE__|%d"); *puVar17 = pace::PaceLocationInfoFormatter::vftable; puVar20 = puVar17; } local_c48[0] = 0x5a2; local_c28 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\licensecallbackhandler.cpp" ; uVar7 = FUN_1805a21d0(puVar20[1],&local_c28); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_c48); } local_9a8 = 0; local_9a0 = 0xf; local_9b8[0] = 0; FUN_1805a6cb0(local_9b8,"Authorization Required",0x16); pcVar8 = local_c20; local_b58 = 0; pcStack_b50 = (char *)0xf; local_b68[0] = (undefined8 *******)((ulonglong)local_b68[0] & 0xffffffffffffff00); if (local_c20[9] == '\0') { uVar7 = FUN_1805a3f20(local_ac8, "Please insert an iLok with a license for %s and then press the \"OK\" button to continue using this product. Press \"Cancel\" to stop using this product." ); uVar7 = FUN_1805b2240(uVar7,pcVar8 + 0x10); FUN_1805ae640(uVar7,&local_be8); uVar19 = 2; FUN_180485450(local_b68); } else { uVar7 = FUN_1805a3f20(local_ac8, "Please insert an iLok with a license for %s or activate a license for %s to your computer, and then press the \"OK\" button to continue using this product. Press \"Cancel\" to stop using this product." ); uVar7 = FUN_1805b2240(uVar7,pcVar8 + 0x10); uVar7 = FUN_1805b2240(uVar7,pcVar8 + 0x10); FUN_1805ae640(uVar7,&local_be8); uVar19 = 1; FUN_180485450(local_b68); } local_b68[0] = local_be8; local_b58 = local_bd8; pcStack_b50 = pcStack_bd0; FUN_1805a4fa0(local_ac8); if (pcVar8[8] != '\0') { if ((longlong)pcStack_b50 - local_b58 < 0x4a) { local_c58 = 0x4a; FUN_1805a1320(local_b68,0x4a,0, "\n\nNote that this product is not compatible with the first-generation iLok."); } else { pppppppuVar10 = local_b68; if ((char *)0xf < pcStack_b50) { pppppppuVar10 = local_b68[0]; } pvVar13 = (void *)((longlong)pppppppuVar10 + local_b58); local_b58 = local_b58 + 0x4a; memmove(pvVar13,"\n\nNote that this product is not compatible with the first-generation iLok." ,0x4a); *(undefined1 *)((longlong)pvVar13 + 0x4a) = 0; } } if ((lStack_c38 - local_c40) / 0x8c0 == 0) goto LAB_1805e6e41; local_b78 = 0; uStack_b70 = 0xf; local_b88 = (undefined8 *******)((ulonglong)local_b88 & 0xffffffffffffff00); local_ad8 = 0; local_ad0 = 0xf; local_ae8[0] = 0; local_af8 = 0; local_af0 = 0xf; local_b08[0] = 0; local_b98 = 0; local_b90 = 0xf; local_ba8 = local_ba8 & 0xffffffffffffff00; local_b18 = 0; local_b10 = 0xf; local_b28 = 0; pcVar8 = (char *)FUN_1806a68d0(*param_4); local_c20 = pcVar8; if ((*(ulonglong *)(local_c40 + 0x18) & (ulonglong)pcVar8) == 0) { FUN_1805a6cb0(local_ae8,&DAT_181bb21d4,4); FUN_1805a6cb0(local_b08,&DAT_181bb21dc,4); } else { FUN_1805a6cb0(&local_b88,"iLok Server",0xb); FUN_1805a6cb0(local_ae8,&DAT_181bb2154,3); FUN_1805a6cb0(local_b08,&DAT_181bb2158,3); FUN_1805a6cb0(&local_ba8,"Please contact the iLok Server\'s administrator for help.",0x38); lVar12 = local_c40; if (*(char *)(local_c40 + 0x450) != '\0') { puVar20 = (undefined8 *)(local_c40 + 0x58); if (*(longlong *)(local_c40 + 0x68) != 0) { local_bb8 = 0; uStack_bb0 = 0xf; local_bc8[0]._0_1_ = 0; local_c48[0] = uVar19 | 4; psVar1 = (size_t *)(local_c40 + 0x68); uVar11 = *psVar1 + 2; if (0xf < uVar11) { FUN_1805a14a0(local_bc8,uVar11,0); } local_bb8 = 0; if (uStack_bb0 < 2) { local_c58 = 2; FUN_1805a1320(local_bc8,2,0,&DAT_181bb1ee0); } else { local_bb8 = 2; puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } memmove(puVar14,&DAT_181bb1ee0,2); puVar14[2] = 0; } if (0xf < *(ulonglong *)(lVar12 + 0x70)) { puVar20 = (undefined8 *)*puVar20; } sVar3 = *psVar1; if (uStack_bb0 - local_bb8 < sVar3) { local_c58 = sVar3; FUN_1805a1320(local_bc8,sVar3,0,puVar20); } else { puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } puVar14 = puVar14 + local_bb8; local_bb8 = local_bb8 + sVar3; memmove(puVar14,puVar20,sVar3); puVar14[sVar3] = 0; } if (uStack_bb0 == local_bb8) { local_c58 = 1; plVar9 = (longlong *)FUN_1805a1320(local_bc8,1,0,&DAT_181bb1ed8); } else { puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } puVar14 = puVar14 + local_bb8; local_bb8 = local_bb8 + 1; memmove(puVar14,&DAT_181bb1ed8,1); puVar14[1] = 0; plVar9 = local_bc8; } pppppppuVar10 = (undefined8 *******)*plVar9; lStack_be0 = plVar9[1]; uVar11 = plVar9[2]; local_c28 = (char *)plVar9[3]; plVar9[2] = 0; plVar9[3] = 0xf; *(undefined1 *)plVar9 = 0; local_c48[0] = uVar19 | 0xc; pppppppuVar18 = &local_be8; if ((char *)0xf < local_c28) { pppppppuVar18 = pppppppuVar10; } local_be8 = pppppppuVar10; local_bd8 = uVar11; pcStack_bd0 = local_c28; if (uStack_b70 - local_b78 < uVar11) { local_c58 = uVar11; FUN_1805a1320(&local_b88,uVar11,0); pcVar8 = pcStack_bd0; pppppppuVar10 = local_be8; } else { pppppppuVar15 = &local_b88; if (0xf < uStack_b70) { pppppppuVar15 = local_b88; } pvVar13 = (void *)((longlong)pppppppuVar15 + local_b78); local_b78 = local_b78 + uVar11; memmove(pvVar13,pppppppuVar18,uVar11); *(undefined1 *)((longlong)pvVar13 + uVar11) = 0; pcVar8 = local_c28; } if ((char *)0xf < pcVar8) { pppppppuVar18 = pppppppuVar10; if (((char *)0xfff < pcVar8 + 1) && (pppppppuVar18 = (undefined8 *******)pppppppuVar10[-1], 0x1f < (ulonglong)((longlong)pppppppuVar10 + (-8 - (longlong)pppppppuVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppppuVar18); } uVar19 = uVar19 | 8; if (0xf < uStack_bb0) { pvVar4 = (void *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); pvVar13 = pvVar4; if ((0xfff < uStack_bb0 + 1) && (pvVar13 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar13)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar13); } } lVar12 = local_c40; puVar20 = (undefined8 *)(local_c40 + 0x128); pcVar8 = local_c20; if (*(longlong *)(local_c40 + 0x138) != 0) { local_bb8 = 0; uStack_bb0 = 0xf; local_bc8[0]._0_1_ = 0; local_c48[0] = uVar19 | 0x10; psVar1 = (size_t *)(local_c40 + 0x138); uVar11 = *psVar1 + 8; if (0xf < uVar11) { FUN_1805a14a0(local_bc8,uVar11,0); } local_bb8 = 0; if (uStack_bb0 < 8) { local_c58 = 8; FUN_1805a1320(local_bc8,8,0," (Name: "); } else { local_bb8 = 8; puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } memmove(puVar14," (Name: ",8); puVar14[8] = 0; } if (0xf < *(ulonglong *)(lVar12 + 0x140)) { puVar20 = (undefined8 *)*puVar20; } sVar3 = *psVar1; if (uStack_bb0 - local_bb8 < sVar3) { local_c58 = sVar3; FUN_1805a1320(local_bc8,sVar3,0,puVar20); } else { puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } puVar14 = puVar14 + local_bb8; local_bb8 = local_bb8 + sVar3; memmove(puVar14,puVar20,sVar3); puVar14[sVar3] = 0; } uVar11 = local_bb8; puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } if (local_b10 - local_b18 < local_bb8) { local_c58 = local_bb8; FUN_1805a1320(&local_b28,local_bb8,0); } else { puVar16 = &local_b28; if (0xf < local_b10) { puVar16 = (undefined1 *)CONCAT71(uStack_b27,local_b28); } puVar16 = puVar16 + local_b18; local_b18 = local_b18 + local_bb8; memmove(puVar16,puVar14,local_bb8); puVar16[uVar11] = 0; } lVar12 = local_c40; if (0xf < uStack_bb0) { pvVar4 = (void *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); pvVar13 = pvVar4; if ((0xfff < uStack_bb0 + 1) && (pvVar13 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar13)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar13); } puVar20 = (undefined8 *)(local_c40 + 0x148); local_bb8 = 0; uStack_bb0 = 0xf; local_bc8[0]._0_1_ = 0; local_c48[0] = uVar19 | 0x20; plVar9 = (longlong *)(local_c40 + 0x158); uVar11 = *plVar9 + 9; if (0xf < uVar11) { FUN_1805a14a0(local_bc8,uVar11,0); } local_bb8 = 0; if (uStack_bb0 < 9) { local_c58 = 9; FUN_1805a1320(local_bc8,9,0,", Phone: "); } else { local_bb8 = 9; puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } memmove(puVar14,", Phone: ",9); puVar14[9] = 0; } if (0xf < *(ulonglong *)(lVar12 + 0x160)) { puVar20 = (undefined8 *)*puVar20; } FUN_1805a6a80(local_bc8,puVar20,*plVar9); puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } FUN_1805a6a80(&local_b28,puVar14,local_bb8); FUN_180485450(local_bc8); uVar7 = FUN_1805af050(local_b48,", Email: ",local_c40 + 0x168); plVar9 = (longlong *)FUN_1805a6a80(uVar7,&DAT_181bb1ed8,1); local_be8 = (undefined8 *******)*plVar9; lStack_be0 = plVar9[1]; local_bd8 = plVar9[2]; pcStack_bd0 = (char *)plVar9[3]; plVar9[2] = 0; plVar9[3] = 0xf; *(undefined1 *)plVar9 = 0; uVar19 = uVar19 | 0x40; pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(&local_b28,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); FUN_180485450(local_b48); puVar14 = &local_b28; if (0xf < local_b10) { puVar14 = (undefined1 *)CONCAT71(uStack_b27,local_b28); } FUN_1805a6a80(&local_ba8,puVar14,local_b18); pcVar8 = local_c20; } } FUN_1805a6a80(&local_ba8,&DAT_181bb1edc,1); } lVar12 = local_c40; uVar11 = FUN_1806a4f70(*param_4); lVar2 = local_c40; if ((*(ulonglong *)(lVar12 + 0x18) & uVar11) == 0) { uVar11 = FUN_1806a7ae0(*param_4); if ((*(ulonglong *)(lVar2 + 0x18) & uVar11) == 0) { FUN_1805a6cb0(&local_b88,"license location with the serial number ",0x28); if (*(longlong *)(local_c40 + 0x38) == 0) { uVar7 = FUN_1805a3f20(local_ac8,&DAT_181bb2264); uVar7 = FUN_1805b23b0(uVar7,local_c40 + 0x20); FUN_1805ae640(uVar7,&local_be8); uVar19 = uVar19 | 0x400; pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(&local_b88,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); } else { uVar7 = FUN_1805a3f20(local_ac8,&DAT_181bb2268); uVar7 = FUN_1805b2240(uVar7,local_c40 + 0x28); FUN_1805ae640(uVar7,&local_be8); uVar19 = uVar19 | 0x800; pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(&local_b88,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); } FUN_1805a4fa0(local_ac8); } else if ((*(ulonglong *)(local_c40 + 0x18) & (ulonglong)pcVar8) == 0) { FUN_1805a6cb0(&local_b88,"computer",8); } } else { uVar7 = FUN_1805a3f20(local_ac8,"iLok (serial number %X)"); uVar7 = FUN_1805b23b0(uVar7,local_c40 + 0x20); FUN_1805ae640(uVar7,local_bc8); FUN_1805a4fa0(local_ac8); uVar11 = local_bb8; if ((*(ulonglong *)(local_c40 + 0x18) & (ulonglong)pcVar8) == 0) { puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } FUN_1805a6cb0(&local_b88,puVar14,local_bb8); uVar19 = uVar19 | 0x80; } else { local_b38 = 0; local_b30 = 0xf; local_b48[0]._0_1_ = 0; local_c48[0] = uVar19 | 0x180; if (0xf < local_bb8 + 8) { FUN_1805a14a0(local_b48,local_bb8 + 8,0); } local_b38 = 0; puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } FUN_1805a6a80(local_b48,puVar14,uVar11); FUN_1805a6a80(local_b48," on the ",8); pppppppuVar10 = &local_b88; if (0xf < uStack_b70) { pppppppuVar10 = local_b88; } plVar9 = (longlong *)FUN_1805a6a80(local_b48,pppppppuVar10,local_b78); pppppppuVar10 = (undefined8 *******)*plVar9; lVar12 = plVar9[1]; lVar2 = plVar9[2]; uVar11 = plVar9[3]; plVar9[2] = 0; plVar9[3] = 0xf; *(undefined1 *)plVar9 = 0; local_be8 = pppppppuVar10; lStack_be0 = lVar12; local_bd8 = lVar2; pcStack_bd0 = (char *)uVar11; FUN_180485450(&local_b88); local_bd8 = 0; pcStack_bd0 = (char *)0xf; local_be8 = (undefined8 *******)((ulonglong)local_be8 & 0xffffffffffffff00); local_b88 = pppppppuVar10; lStack_b80 = lVar12; local_b78 = lVar2; uStack_b70 = uVar11; FUN_180485450(&local_be8); FUN_180485450(local_b48); uVar19 = uVar19 | 0x280; } FUN_180485450(local_bc8); } FUN_1805a6a80(local_b68,"\n\nProblem Found: ",0x11); switch(*(undefined4 *)(local_c40 + 8)) { case 0: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8, "Please launch the ILok License Manager app, which will automatically refresh this license." ,0x5a); } uVar7 = FUN_1805a3f20(local_ac8,"%s %s has an expired Lost or Stolen license. %s"); uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 1: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8,"Please contact support at www.ilok.com to find out why.",0x37); } uVar7 = FUN_1805a3f20(local_ac8,"The licenses on %s %s cannot be used. %s"); uVar7 = FUN_1805b2240(uVar7,local_ae8); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 2: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8, "Please disconnect and reconnect this device when switching to another OS/Computer." ,0x52); } uVar7 = FUN_1805a3f20(local_ac8, "The licenses on %s %s cannot be shared across multiple operating systems or computers. %s" ); uVar7 = FUN_1805b2240(uVar7,local_ae8); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 3: case 7: case 8: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8, "Launch the ILok License Manager app, which will automatically fix your database." ,0x50); } uVar7 = FUN_1805a3f20(local_ac8,"%s %s database needs updating. %s"); uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 4: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8, "Please launch the ILok License Manager app, which will automatically refresh this license if allowed by the publisher." ,0x76); } uVar7 = FUN_1805a3f20(local_ac8,"%s %s has an expired NFR (Not for Resale) license. %s"); uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 5: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8, "Please correct your computer clock, then launch the ILok License Manager app and sign in. For an iLok, right-click on the iLok\'s icon, and select Synchonize." ,0x9e); } uVar7 = FUN_1805a3f20(local_ac8, "%s computer clock for %s %s appears to have been turned backward. %s"); uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,local_ae8); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 6: local_bb8 = 0; uStack_bb0 = 0xf; local_bc8[0]._0_1_ = 0; FUN_1805a6cb0(local_bc8, "lease go to iLok.com and download and install the latest License Support.",0x49); uVar11 = local_bb8; if (local_b98 == 0) { local_b38 = 0; local_b30 = 0xf; local_b48[0]._0_1_ = 0; local_c48[0] = uVar19 | 0x40000; if (0xf < local_bb8 + 1) { FUN_1805a14a0(local_b48,local_bb8 + 1,0); } local_b38 = 0; FUN_1805a6a80(local_b48,&DAT_181bb2714,1); puVar14 = (undefined1 *)local_bc8; if (0xf < uStack_bb0) { puVar14 = (undefined1 *)CONCAT71(local_bc8[0]._1_7_,(undefined1)local_bc8[0]); } FUN_1805a6a80(local_b48,puVar14,uVar11); FUN_1805a5a40(&local_ba8,local_b48); pppppppuVar10 = local_b48; } else { puVar17 = (undefined8 *)FUN_1805af050(&local_be8," Also, p",local_bc8); puVar20 = puVar17; if (0xf < (ulonglong)puVar17[3]) { puVar20 = (undefined8 *)*puVar17; } FUN_1805a6a80(&local_ba8,puVar20,puVar17[2]); pppppppuVar10 = &local_be8; } FUN_180485450(pppppppuVar10); uVar7 = FUN_1805a3f20(local_ac8,"%s %s has an old version of License Support. %s"); uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); FUN_1805a4fa0(local_ac8); FUN_180485450(local_bc8); goto switchD_1805e61e1_caseD_f; case 9: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8, "Please launch the ILok License Manager app and use it to refresh this license." ,0x4e); } uVar7 = FUN_1805a3f20(local_ac8,"%s %s has an expired subscription license. %s"); uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 10: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8,"Please contact the iLok Server\'s administrator for help.",0x38); } uVar7 = FUN_1805a3f20(local_ac8, "%s %s is offline. This could be why a valid license cannot be found. %s") ; uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 0xb: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8,"Please contact the iLok Server\'s administrator for help.",0x38); } uVar7 = FUN_1805a3f20(local_ac8,"%s %s has an expired license. %s"); uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 0xc: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8,"Please contact the iLok Server\'s administrator for help.",0x38); } uVar7 = FUN_1805a3f20(local_ac8, "%s %s requires a password to access. This could be why a valid license cannot be found. %s" ); uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 0xd: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8,"Please contact the iLok Server\'s administrator for help.",0x38); } uVar7 = FUN_1805a3f20(local_ac8, "%s %s requires information that is not set in your iLok Server client settings. This could be why a valid license cannot be found. %s" ); uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; case 0xe: uVar7 = FUN_1805af050(local_b48, "If leases are often not available, please contact the iLok Server\'s administrator" ,&local_b28); plVar9 = (longlong *)FUN_1805a6a80(uVar7,&DAT_181bb1edc,1); local_be8 = (undefined8 *******)*plVar9; lStack_be0 = plVar9[1]; local_bd8 = plVar9[2]; pcStack_bd0 = (char *)plVar9[3]; plVar9[2] = 0; plVar9[3] = 0xf; *(undefined1 *)plVar9 = 0; FUN_1805a5a40(&local_ba8,&local_be8); FUN_180485450(&local_be8); FUN_180485450(local_b48); uVar7 = FUN_1805a3f20(local_ac8, "All of the leases for the shared license on %s %s are in use by others. When someone stops using this shared license, a lease for this shared license will become available for use, and then you should be able to run this product at that time. Please try again later. %s" ); uVar7 = FUN_1805b2240(uVar7,local_ae8); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); break; default: goto switchD_1805e61e1_caseD_f; case 0x10: if (local_b98 == 0) { FUN_1805a6cb0(&local_ba8, "Please launch the ILok License Manager app. The firmware will be updated if you activate or deactivate any license on the iLok or if you right-click on the iLok icon and select Synchonize." ,0xbd); } uVar7 = FUN_1805a3f20(local_ac8,"%s %s needs a firmware update. %s"); uVar7 = FUN_1805b2240(uVar7,local_b08); uVar7 = FUN_1805b2240(uVar7,&local_b88); uVar7 = FUN_1805b2240(uVar7,&local_ba8); FUN_1805ae640(uVar7,&local_be8); pppppppuVar10 = &local_be8; if ((char *)0xf < pcStack_bd0) { pppppppuVar10 = local_be8; } FUN_1805a6a80(local_b68,pppppppuVar10,local_bd8); FUN_180485450(&local_be8); } FUN_1805a4fa0(local_ac8); switchD_1805e61e1_caseD_f: FUN_180485450(&local_b28); FUN_180485450(&local_ba8); FUN_180485450(local_b08); FUN_180485450(local_ae8); FUN_180485450(&local_b88); LAB_1805e6e41: local_c50 = 0; local_c58 = CONCAT71(local_c58._1_7_,1); iVar6 = FUN_1805f02b0(local_9b8,local_b68,0,1); if (iVar6 != 2) { FUN_180485450(local_b68); FUN_180485450(local_9b8); FUN_180575f30(&local_c40); FUN_180575f30(param_3); FUN_1805a4e80(param_4); } local_c18 = (undefined8 *)FUN_1811316e0(0x18); if (local_c18 != (undefined8 *)0x0) { FUN_1805a48c0(local_c18,&DAT_181baf991); } lVar12 = FUN_1805c0260(); local_c48[0] = 0x724; local_c28 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\licensecallbackhandler.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&local_c28); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_c48); } ############ FUN_ 1805eb269 size=1747 ############ /* WARNING: Instruction at (ram,0x0001805eb6a2) overlaps instruction at (ram,0x0001805eb69f) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001805eb86b) */ /* WARNING: Removing unreachable block (ram,0x0001805eb69f) */ /* WARNING: Removing unreachable block (ram,0x0001805eb25f) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_1805eb269(undefined8 param_1,undefined8 param_2,longlong param_3,undefined8 param_4, undefined8 param_5,int param_6,int param_7,undefined8 param_8,undefined4 param_9, undefined8 param_10,int param_11) { int *piVar1; uint uVar2; int iVar3; undefined1 *puVar4; undefined8 *puVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; longlong lVar10; uint unaff_EBX; longlong lVar11; undefined1 *puVar12; longlong unaff_RBP; longlong unaff_RSI; int *unaff_RDI; undefined8 in_R10; longlong *unaff_R12; longlong *unaff_R14; FUN_1805eae1c(); uVar6 = (*unaff_RDI + 1) * *unaff_RDI & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } if (uVar6 != 0) { FUN_1805eb269(); return; } uVar6 = *(uint *)(unaff_RSI + 0x48); uVar9 = *(uint *)(unaff_RSI + 0x4c); uVar2 = *(uint *)(unaff_RSI + 0x50); do { uVar7 = (*unaff_RDI + 1) * *unaff_RDI & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = *(uint *)(unaff_RSI + 0x54); *(longlong **)(unaff_RBP + -0x78) = unaff_R12; lVar10 = unaff_R12[1]; iVar3 = *(int *)(unaff_RBP + 0xb0); for (lVar11 = *unaff_R12; lVar11 != lVar10; lVar11 = lVar11 + 0x40) { if (((param_6 == 0) || (param_6 == *(int *)(lVar11 + 8))) && ((iVar3 == 0 || (iVar3 == *(int *)(lVar11 + 0xc))))) { FUN_1805b5490(unaff_RBP + -0x70); *(undefined4 *)(unaff_RBP + -0x68) = *(undefined4 *)(lVar11 + 8); *(undefined4 *)(unaff_RBP + -100) = *(undefined4 *)(lVar11 + 0xc); *(undefined1 *)(unaff_RBP + -0x60) = *(undefined1 *)(lVar11 + 0x10); *(undefined4 *)(unaff_RBP + -0x28) = param_9; if (unaff_R14[2] == unaff_R14[1]) { param_3 = unaff_RBP + -0x70; FUN_1805b0190(); } else { FUN_1805b53c0(); unaff_R14[1] = unaff_R14[1] + 0xa8; } FUN_1805b7ad0(unaff_RBP + -0x70); } } lVar11 = (longlong)param_7; piVar1 = (int *)(unaff_RBP + 0x88); do { uVar8 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uVar8 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar6 = ~((*(uint *)(unaff_RSI + 0xec) ^ (*(uint *)(unaff_RSI + 0xe8) ^ (*(uint *)(unaff_RSI + 0xe4) ^ (*(uint *)(unaff_RSI + 0xe0) ^ (*(uint *)(unaff_RSI + 0xdc) ^ (*(uint *)(unaff_RSI + 0xd8) ^ (*(uint *)(unaff_RSI + 0xd4) ^ (*(uint *)(unaff_RSI + 0xd0) ^ (*(uint *)(unaff_RSI + 0xcc) ^ (*(uint *)(unaff_RSI + 200) ^ (*(uint *)(unaff_RSI + 0xc4) ^ (*(uint *)(unaff_RSI + 0xc0) ^ (*(uint *)(unaff_RSI + 0xbc) ^ (*(uint *)(unaff_RSI + 0xb8) ^ (*(uint *)(unaff_RSI + 0xb4) ^ (*(uint *)(unaff_RSI + 0xb0) ^ (*(uint *)(unaff_RSI + 0xac) ^ (*(uint *)(unaff_RSI + 0xa8) ^ (*(uint *)(unaff_RSI + 0xa4) ^ (*(uint *)(unaff_RSI + 0xa0) ^ (*(uint *)(unaff_RSI + 0x9c) ^ (*(uint *)(unaff_RSI + 0x98) ^ (*(uint *)(unaff_RSI + 0x94) ^ (*(uint *)(unaff_RSI + 0x90) ^ (*(uint *)(unaff_RSI + 0x8c) ^ (*(uint *)(unaff_RSI + 0x88) ^ (*(uint *)(unaff_RSI + 0x84) ^ (*(uint *)(unaff_RSI + 0x80) ^ (*(uint *)(unaff_RSI + 0x7c) ^ (*(uint *)(unaff_RSI + 0x78) ^ (*(uint *)(unaff_RSI + 0x74) ^ (*(uint *)(unaff_RSI + 0x70) ^ (*(uint *)(unaff_RSI + 0x6c) ^ (*(uint *)(unaff_RSI + 0x68) ^ (*(uint *)(unaff_RSI + 100) ^ (*(uint *)(unaff_RSI + 0x60) ^ (*(uint *)(unaff_RSI + 0x5c) ^ (*(uint *)(unaff_RSI + 0x58) ^ (uVar7 ^ (uVar2 ^ (uVar9 ^ (uVar6 ^ unaff_EBX) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) + 0x23a5cdd4; do { uVar9 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); do { uVar9 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); lVar10 = unaff_R14[1] - *unaff_R14; if (((uVar6 >> 0x1a | uVar6 * 0x40) + 0x75e228eb) * 0x2a == 0) { lVar10 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(lVar10),8) + lVar10; if (lVar10 >> 7 == lVar10 >> 0x3f) { lVar11 = FUN_1811316e0(0x18); if (lVar11 == 0) { lVar11 = 0; } else { lVar11 = FUN_1805a48c0(lVar11, "The generated license data has no products or has no product(s) matching the authId %08X (if nonzero) and productId %08X (if nonzero)" ); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); if (puVar5 != (undefined8 *)0x0) { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar11 + 8),¶m_6); } puVar4 = (undefined1 *)register0x00000020; do { puVar12 = puVar4; *(undefined8 *)(puVar12 + -8) = in_R10; *(longlong *)(puVar12 + -0x10) = lVar11; *(undefined8 *)(puVar12 + -0x18) = param_4; lVar10 = -(longlong)param_11; param_4 = *(undefined8 *)(puVar12 + lVar10 + 0x7b8); lVar11 = *(longlong *)(puVar12 + lVar10 + 0x7c0); in_R10 = *(undefined8 *)(puVar12 + lVar10 + 0x7c8); uVar6 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } puVar4 = puVar12 + lVar10 + 2000; } while (uVar6 != 0); *(undefined **)(puVar12 + lVar10 + 0x7c8) = &UNK_1805eba7d; } lVar10 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(lVar10),8) + lVar10; if (lVar10 >> 7 != lVar10 >> 0x3f) { lVar11 = FUN_1811316e0(0x18); if (lVar11 == 0) { lVar11 = 0; } else { lVar11 = FUN_1805a48c0(lVar11, "The generated license data has no products or has no product(s) matching the authId %08X (if nonzero) and productId %08X (if nonzero)" ); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); if (puVar5 != (undefined8 *)0x0) { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar11 + 8),¶m_6); } FUN_1805ea4e5(lVar11,0,param_3); thunk_FUN_1805a9280(); return; } ############ FUN_ 1805f15c0 size=97 ############ undefined8 * FUN_1805f15c0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1805f2d20 size=227 ############ longlong FUN_1805f2d20(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x68); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[10] = &DAT_181bb5798; puVar1[0xc] = boost::exception_detail::clone_base::vftable; FUN_1805f1b50(puVar1,param_1 + -0x60,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_>:: vftable; puVar1[5] = boost::exception_detail:: clone_impl_>:: vftable; *(undefined ***)((longlong)*(int *)(puVar1[10] + 4) + 0x50 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>::vftable ; *(int *)((longlong)*(int *)(puVar1[10] + 4) + 0x4c + (longlong)puVar1) = *(int *)(puVar1[10] + 4) + -0x10; if (param_1 + -0x60 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 5,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[10] + 4) + 0x50; } ############ FUN_ 1805f2f20 size=4902 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805f2f20(longlong *param_1,longlong *param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; char *pcVar3; int iVar4; undefined4 uVar5; undefined4 uVar6; void *pvVar7; ulonglong uVar8; longlong lVar9; longlong *plVar10; longlong lVar11; undefined8 uVar12; undefined4 *puVar13; undefined1 *puVar14; uint *puVar15; longlong *plVar16; int iVar17; void *pvVar18; uint uVar19; uint *puVar20; longlong lVar21; longlong lVar22; undefined1 auStack_638 [32]; undefined8 local_618; undefined1 local_608; uint local_604; longlong local_600; longlong *plStack_5f8; undefined8 local_5f0; undefined8 uStack_5e8; undefined4 local_5e0; longlong *local_5d8; longlong *local_5d0; undefined8 local_5c8; longlong local_5c0; undefined **local_5b8; code *local_5b0; undefined ***local_5a8; undefined8 local_5a0; longlong local_598; undefined **local_588; undefined **local_580; undefined8 local_578; undefined8 local_570; longlong local_568; undefined **local_560; undefined **local_558; undefined8 local_550; undefined8 local_548; undefined1 local_540 [440]; char *local_388; undefined ***local_380; undefined1 local_378; undefined7 uStack_377; undefined8 local_368; ulonglong local_360; uint local_358; undefined4 uStack_354; undefined4 uStack_350; undefined4 uStack_34c; longlong local_348; longlong *plStack_340; uint local_338; uint uStack_334; uint uStack_330; uint uStack_32c; undefined8 local_328; ulonglong uStack_320; uint local_318; uint uStack_314; uint uStack_310; uint uStack_30c; undefined8 local_308; ulonglong uStack_300; uint local_2f8; uint uStack_2f4; uint uStack_2f0; uint uStack_2ec; undefined8 local_2e8; ulonglong uStack_2e0; undefined1 local_2d8; undefined7 uStack_2d7; undefined8 local_2c8; ulonglong local_2c0; undefined1 local_2b8; undefined7 uStack_2b7; undefined8 local_2a8; ulonglong local_2a0; undefined1 local_298; undefined7 uStack_297; undefined8 local_288; ulonglong local_280; undefined1 local_278; undefined7 uStack_277; undefined8 local_268; ulonglong local_260; undefined1 local_258; undefined7 uStack_257; undefined8 local_248; ulonglong local_240; undefined1 local_238; undefined7 uStack_237; undefined8 local_228; ulonglong local_220; undefined1 local_218; undefined7 uStack_217; undefined8 local_208; ulonglong local_200; undefined1 local_1f8; undefined7 uStack_1f7; undefined8 local_1e8; ulonglong local_1e0; undefined1 local_1d8; undefined7 uStack_1d7; undefined8 local_1c8; ulonglong local_1c0; undefined4 local_1b8; undefined4 uStack_1b4; undefined4 uStack_1b0; undefined4 uStack_1ac; undefined8 local_1a8; undefined8 uStack_1a0; undefined1 local_198 [16]; undefined8 local_188; undefined8 local_180; undefined1 local_178; undefined7 uStack_177; undefined8 local_168; ulonglong local_160; undefined1 local_158; undefined7 uStack_157; undefined8 local_148; ulonglong local_140; undefined1 local_138; undefined7 uStack_137; undefined8 local_128; ulonglong local_120; undefined1 local_118; undefined7 uStack_117; undefined8 local_108; ulonglong local_100; undefined4 local_f8; undefined4 uStack_f4; undefined4 uStack_f0; undefined4 uStack_ec; undefined8 local_e8; undefined8 uStack_e0; undefined1 local_d8 [16]; undefined8 local_c8; undefined8 local_c0; undefined4 local_b8; undefined4 uStack_b4; undefined4 uStack_b0; undefined4 uStack_ac; undefined4 local_a8; undefined4 uStack_a4; undefined4 uStack_a0; undefined4 uStack_9c; undefined4 local_98; undefined4 uStack_94; undefined4 uStack_90; undefined4 uStack_8c; undefined4 local_88; undefined4 uStack_84; undefined4 uStack_80; undefined4 uStack_7c; undefined1 local_78 [52]; undefined1 local_44 [4]; ulonglong local_40; local_5a0 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_638; lVar11 = 0; local_5e0 = 0; local_604 = (uint)local_40 & 0xffffff00; local_608 = 0; *(undefined4 *)(param_1 + 1) = 0xc; plVar16 = param_1 + 2; param_1[4] = 0; plVar10 = plVar16; if (0xf < (ulonglong)param_1[5]) { plVar10 = (longlong *)*plVar16; } *(undefined1 *)plVar10 = 0; plVar10 = param_1 + 6; param_1[8] = 0; if (0xf < (ulonglong)param_1[9]) { plVar10 = (longlong *)*plVar10; } *(undefined1 *)plVar10 = 0; param_1[0xb] = 0; plVar10 = (longlong *)param_1[0xc]; param_1[0xc] = 0; lVar21 = -1; local_5d8 = param_1; local_5d0 = param_2; local_5c8 = param_3; if (plVar10 != (longlong *)0x0) { LOCK(); plVar1 = plVar10 + 1; lVar9 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar10 + 8))(plVar10); LOCK(); piVar2 = (int *)((longlong)plVar10 + 0xc); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*plVar10 + 0x10))(plVar10); } } } param_1[0xd] = 0; plVar10 = (longlong *)param_1[0xe]; param_1[0xe] = 0; if (plVar10 != (longlong *)0x0) { LOCK(); plVar1 = plVar10 + 1; lVar9 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar10 + 8))(plVar10); LOCK(); piVar2 = (int *)((longlong)plVar10 + 0xc); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*plVar10 + 0x10))(plVar10); } } } if (param_2 == (longlong *)0x0) { FUN_1805a6cb0(plVar16,"Unknown",7); } else { lVar9 = __RTtypeid(param_2); lVar9 = __std_type_info_name(lVar9 + 8,&DAT_182673010); local_208 = 0; local_200 = 0xf; local_218 = 0; lVar22 = -1; do { lVar22 = lVar22 + 1; } while (*(char *)(lVar9 + lVar22) != '\0'); FUN_1805a6cb0(&local_218,lVar9); plVar10 = (longlong *)FUN_1807029f0(&local_1d8,&local_218); if (plVar16 != plVar10) { FUN_180485450(plVar16); uVar5 = *(undefined4 *)((longlong)plVar10 + 4); lVar9 = plVar10[1]; uVar6 = *(undefined4 *)((longlong)plVar10 + 0xc); *(int *)plVar16 = (int)*plVar10; *(undefined4 *)((longlong)param_1 + 0x14) = uVar5; *(int *)(param_1 + 3) = (int)lVar9; *(undefined4 *)((longlong)param_1 + 0x1c) = uVar6; lVar9 = plVar10[3]; param_1[4] = plVar10[2]; param_1[5] = lVar9; plVar10[2] = 0; plVar10[3] = 0xf; *(undefined1 *)plVar10 = 0; } if (0xf < local_1c0) { pvVar7 = (void *)CONCAT71(uStack_1d7,local_1d8); pvVar18 = pvVar7; if ((0xfff < local_1c0 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_1c8 = 0; local_1c0 = 0xf; local_1d8 = 0; if (0xf < local_200) { pvVar7 = (void *)CONCAT71(uStack_217,local_218); pvVar18 = pvVar7; if ((0xfff < local_200 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_618 = (undefined1 *)((ulonglong)local_618._4_4_ << 0x20); lVar9 = __RTDynamicCast(param_2,0,&std::exception::RTTI_Type_Descriptor, &pace::PaceUtilMemoryAllocationError::RTTI_Type_Descriptor); if (lVar9 == 0) { local_618 = (undefined1 *)((ulonglong)local_618 & 0xffffffff00000000); plVar16 = (longlong *) __RTDynamicCast(param_2,0,&std::exception::RTTI_Type_Descriptor, &pace::PaceException::RTTI_Type_Descriptor); if (plVar16 == (longlong *)0x0) { local_618 = (undefined1 *)((ulonglong)local_618 & 0xffffffff00000000); lVar9 = __RTDynamicCast(param_2,0,&std::exception::RTTI_Type_Descriptor, &pace::eden::thrift::exception::PaceThriftExceptionWire:: RTTI_Type_Descriptor); if (lVar9 == 0) { local_618 = (undefined1 *)((ulonglong)local_618 & 0xffffffff00000000); lVar9 = __RTDynamicCast(param_2,0,&std::exception::RTTI_Type_Descriptor, &apache::thrift::TException::RTTI_Type_Descriptor); if (lVar9 == 0) { local_618 = (undefined1 *)((ulonglong)local_618 & 0xffffffff00000000); lVar9 = __RTDynamicCast(param_2,0,&std::exception::RTTI_Type_Descriptor, &litesql::Except::RTTI_Type_Descriptor); if (lVar9 == 0) { local_618 = (undefined1 *)((ulonglong)local_618 & 0xffffffff00000000); lVar9 = __RTDynamicCast(param_2,0,&std::exception::RTTI_Type_Descriptor, &boost::filesystem::filesystem_error::RTTI_Type_Descriptor); if (lVar9 == 0) { local_618 = (undefined1 *)((ulonglong)local_618 & 0xffffffff00000000); lVar9 = __RTDynamicCast(param_2,0,&std::exception::RTTI_Type_Descriptor, &boost::system::system_error::RTTI_Type_Descriptor); if (lVar9 == 0) { local_618 = (undefined1 *)((ulonglong)local_618 & 0xffffffff00000000); lVar9 = __RTDynamicCast(param_2,0,&std::exception::RTTI_Type_Descriptor, &std::bad_alloc::RTTI_Type_Descriptor); *(uint *)(param_1 + 1) = 0xb - (uint)(lVar9 != 0); } else { *(undefined4 *)(param_1 + 1) = 7; } } else { *(undefined4 *)(param_1 + 1) = 6; } } else { *(undefined4 *)(param_1 + 1) = 5; } } else { *(undefined4 *)(param_1 + 1) = 4; } } else { *(undefined4 *)(param_1 + 1) = 3; } } else { *(undefined4 *)(param_1 + 1) = 2; lVar9 = (**(code **)(*plVar16 + 0x10))(plVar16); local_600 = lVar9; FUN_1805cfa60(&plStack_5f8,lVar9); FUN_1805ae620(&local_600,lVar9,lVar9); local_598 = local_600; lVar9 = param_1[0xb]; param_1[0xb] = local_600; plVar16 = (longlong *)param_1[0xc]; param_1[0xc] = (longlong)plStack_5f8; local_600 = lVar9; plStack_5f8 = plVar16; if (plVar16 != (longlong *)0x0) { LOCK(); plVar10 = plVar16 + 1; lVar9 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar16 + 8))(plVar16); LOCK(); piVar2 = (int *)((longlong)plVar16 + 0xc); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*plVar16 + 0x10))(plVar16); } } } } } else { *(undefined4 *)(param_1 + 1) = 1; } } iVar4 = (int)param_1[1]; if (iVar4 == 3) { local_618 = (undefined1 *)((ulonglong)local_618._4_4_ << 0x20); lVar21 = __RTDynamicCast(param_2,0,&std::exception::RTTI_Type_Descriptor, &pace::eden::thrift::exception::PaceThriftExceptionWire:: RTTI_Type_Descriptor); if (lVar21 != 0) { local_580 = pace::ThriftClassWrapperParentInfo::vftable; local_578 = 0; local_570 = 0; local_588 = pace::PaceThriftExceptionWireWrapper::vftable; pcVar3 = (char *)(lVar21 + 0x130); local_558 = pace::ThriftClassWrapperParentInfo::vftable; local_550 = 0; local_548 = 0; local_560 = pace::ThriftClassWrapperHolder::vftable; local_5b8 = pace::ThriftClassWrapperParentInfo::vftable; local_5b0 = FUN_1805f4c00; local_5a8 = &local_560; local_568 = lVar21; FUN_1805f1c60(local_540,lVar21 + 0x38,&local_5b8); local_380 = &local_588; local_288 = 0; local_280 = 0xf; local_298 = 0; local_348 = 0; plStack_340 = (longlong *)0xf; local_358 = local_358 & 0xffffff00; local_388 = pcVar3; if (*pcVar3 != '\0') { local_5c0 = FUN_1811316e0(0x1b8); if (local_5c0 != 0) { lVar11 = FUN_1805f1e80(local_5c0,local_540); } local_5f0 = lVar11; FUN_1805f15c0(&uStack_5e8,lVar11); FUN_1805ae620(&local_5f0,lVar11,lVar11); local_5c0 = local_5f0; lVar11 = param_1[0xd]; param_1[0xd] = local_5f0; plVar16 = (longlong *)param_1[0xe]; param_1[0xe] = (longlong)uStack_5e8; local_5f0 = lVar11; uStack_5e8 = plVar16; if (plVar16 != (longlong *)0x0) { LOCK(); plVar10 = plVar16 + 1; lVar11 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar11 == 1) { (**(code **)(*plVar16 + 8))(plVar16); LOCK(); piVar2 = (int *)((longlong)plVar16 + 0xc); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*plVar16 + 0x10))(plVar16); } } } plVar16 = *(longlong **)(param_1[0xd] + 0x78); if ((longlong *)&local_298 != plVar16) { plVar10 = plVar16; if (0xf < (ulonglong)plVar16[3]) { plVar10 = (longlong *)*plVar16; } FUN_1805a6cb0(&local_298,plVar10,plVar16[2]); } if (**(char **)(param_1[0xd] + 0x1a8) == '\0') { puVar15 = *(uint **)(param_1[0xd] + 0x98); if (&local_358 != puVar15) { puVar20 = puVar15; if (0xf < *(ulonglong *)(puVar15 + 6)) { puVar20 = *(uint **)puVar15; } FUN_1805a6cb0(&local_358,puVar20,*(longlong *)(puVar15 + 4)); } } else { local_1e8 = 0; local_1e0 = 0xf; local_1f8 = 0; FUN_1805a6cb0(&local_1f8,&DAT_181bb56a0,2); local_2a8 = 0; local_2a0 = 0xf; local_2b8 = 0; FUN_1805a6cb0(&local_2b8,&DAT_181bb56a0,2); local_268 = 0; local_260 = 0xf; local_278 = 0; FUN_1805a6cb0(&local_278,&DAT_181bb56a0,2); local_368 = 0; local_360 = 0xf; local_378 = 0; local_5e0 = 2; iVar4 = **(int **)(param_1[0xd] + 0x130); iVar17 = iVar4; if (iVar4 < 0) { iVar17 = -iVar4; } puVar14 = (undefined1 *)FUN_1805f1740(iVar17,local_44); if (iVar4 < 0) { puVar14 = puVar14 + -1; *puVar14 = 0x2d; } local_618 = local_44 + -(longlong)puVar14; FUN_1805a9f40(&local_378,0,local_368); local_2c8 = 0; local_2c0 = 0xf; local_2d8 = 0; FUN_1805a6cb0(&local_2d8,&DAT_181bb56a0,2); plVar16 = *(longlong **)(param_1[0xd] + 0x110); plVar10 = plVar16; if (0xf < (ulonglong)plVar16[3]) { plVar10 = (longlong *)*plVar16; } puVar15 = (uint *)FUN_1805f4610(&local_2d8,0,plVar10,plVar16[2]); local_2f8 = *puVar15; uStack_2f4 = puVar15[1]; uStack_2f0 = puVar15[2]; uStack_2ec = puVar15[3]; local_2e8 = *(undefined8 *)(puVar15 + 4); uStack_2e0 = *(ulonglong *)(puVar15 + 6); puVar15[4] = 0; puVar15[5] = 0; puVar15[6] = 0xf; puVar15[7] = 0; *(undefined1 *)puVar15 = 0; uVar12 = FUN_1805f1630(&local_118,&local_2f8,&local_378); uVar12 = FUN_1805f1630(&local_138,uVar12,&local_278); plVar16 = *(longlong **)(param_1[0xd] + 0x150); plVar10 = plVar16; if (0xf < (ulonglong)plVar16[3]) { plVar10 = (longlong *)*plVar16; } puVar15 = (uint *)FUN_1805a6a80(uVar12,plVar10,plVar16[2]); local_318 = *puVar15; uStack_314 = puVar15[1]; uStack_310 = puVar15[2]; uStack_30c = puVar15[3]; local_308 = *(undefined8 *)(puVar15 + 4); uStack_300 = *(ulonglong *)(puVar15 + 6); puVar15[4] = 0; puVar15[5] = 0; puVar15[6] = 0xf; puVar15[7] = 0; *(undefined1 *)puVar15 = 0; uVar12 = FUN_1805f1630(&local_158,&local_318,&local_2b8); plVar16 = *(longlong **)(param_1[0xd] + 400); plVar10 = plVar16; if (0xf < (ulonglong)plVar16[3]) { plVar10 = (longlong *)*plVar16; } puVar15 = (uint *)FUN_1805a6a80(uVar12,plVar10,plVar16[2]); local_338 = *puVar15; uStack_334 = puVar15[1]; uStack_330 = puVar15[2]; uStack_32c = puVar15[3]; local_328 = *(undefined8 *)(puVar15 + 4); uStack_320 = *(ulonglong *)(puVar15 + 6); puVar15[4] = 0; puVar15[5] = 0; puVar15[6] = 0xf; puVar15[7] = 0; *(undefined1 *)puVar15 = 0; uVar12 = FUN_1805f1630(&local_178,&local_338,&local_1f8); plVar16 = *(longlong **)(param_1[0xd] + 0x170); plVar10 = plVar16; if (0xf < (ulonglong)plVar16[3]) { plVar10 = (longlong *)*plVar16; } plVar16 = (longlong *)FUN_1805a6a80(uVar12,plVar10,plVar16[2]); local_5f0 = *plVar16; uStack_5e8 = (longlong *)plVar16[1]; local_600 = plVar16[2]; plStack_5f8 = (longlong *)plVar16[3]; plVar16[2] = 0; plVar16[3] = 0xf; *(undefined1 *)plVar16 = 0; FUN_180485450(&local_358); local_358 = (uint)local_5f0; uStack_354 = local_5f0._4_4_; uStack_350 = (undefined4)uStack_5e8; uStack_34c = uStack_5e8._4_4_; local_348 = local_600; plStack_340 = plStack_5f8; if (0xf < local_160) { pvVar7 = (void *)CONCAT71(uStack_177,local_178); pvVar18 = pvVar7; if ((0xfff < local_160 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_168 = 0; local_160 = 0xf; local_178 = 0; if (0xf < uStack_320) { pvVar7 = (void *)CONCAT44(uStack_334,local_338); pvVar18 = pvVar7; if ((0xfff < uStack_320 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_328 = 0; uStack_320 = 0xf; local_338 = local_338 & 0xffffff00; if (0xf < local_140) { pvVar7 = (void *)CONCAT71(uStack_157,local_158); pvVar18 = pvVar7; if ((0xfff < local_140 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_148 = 0; local_140 = 0xf; local_158 = 0; if (0xf < uStack_300) { pvVar7 = (void *)CONCAT44(uStack_314,local_318); pvVar18 = pvVar7; if ((0xfff < uStack_300 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_308 = 0; uStack_300 = 0xf; local_318 = local_318 & 0xffffff00; if (0xf < local_120) { pvVar7 = (void *)CONCAT71(uStack_137,local_138); pvVar18 = pvVar7; if ((0xfff < local_120 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_128 = 0; local_120 = 0xf; local_138 = 0; if (0xf < local_100) { pvVar7 = (void *)CONCAT71(uStack_117,local_118); pvVar18 = pvVar7; if ((0xfff < local_100 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_108 = 0; local_100 = 0xf; local_118 = 0; if (0xf < uStack_2e0) { pvVar7 = (void *)CONCAT44(uStack_2f4,local_2f8); pvVar18 = pvVar7; if ((0xfff < uStack_2e0 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_2e8 = 0; uStack_2e0 = 0xf; local_2f8 = local_2f8 & 0xffffff00; if (0xf < local_2c0) { pvVar7 = (void *)CONCAT71(uStack_2d7,local_2d8); pvVar18 = pvVar7; if ((0xfff < local_2c0 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_2c8 = 0; local_2c0 = 0xf; local_2d8 = 0; if (0xf < local_360) { pvVar7 = (void *)CONCAT71(uStack_377,local_378); pvVar18 = pvVar7; if ((0xfff < local_360 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_368 = 0; local_360 = 0xf; local_378 = 0; if (0xf < local_260) { pvVar7 = (void *)CONCAT71(uStack_277,local_278); pvVar18 = pvVar7; if ((0xfff < local_260 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_268 = 0; local_260 = 0xf; local_278 = 0; if (0xf < local_2a0) { pvVar7 = (void *)CONCAT71(uStack_2b7,local_2b8); pvVar18 = pvVar7; if ((0xfff < local_2a0 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_2a8 = 0; local_2a0 = 0xf; local_2b8 = 0; if (0xf < local_1e0) { pvVar7 = (void *)CONCAT71(uStack_1f7,local_1f8); pvVar18 = pvVar7; if ((0xfff < local_1e0 + 1) && (pvVar18 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } } } local_c8 = 0; local_c0 = 0xf; local_d8[0] = 0; FUN_1805a6cb0(local_d8,&DAT_181bb3b44,2); puVar14 = &local_298; if (0xf < local_280) { puVar14 = (undefined1 *)CONCAT71(uStack_297,local_298); } puVar13 = (undefined4 *)FUN_1805f4610(local_d8,0,puVar14,local_288); local_f8 = *puVar13; uStack_f4 = puVar13[1]; uStack_f0 = puVar13[2]; uStack_ec = puVar13[3]; local_e8 = *(undefined8 *)(puVar13 + 4); uStack_e0 = *(undefined8 *)(puVar13 + 6); *(undefined8 *)(puVar13 + 4) = 0; *(undefined8 *)(puVar13 + 6) = 0xf; *(undefined1 *)puVar13 = 0; puVar15 = &local_358; if ((longlong *)0xf < plStack_340) { puVar15 = (uint *)CONCAT44(uStack_354,local_358); } puVar13 = (undefined4 *)FUN_1805a6a80(&local_f8,puVar15,local_348); local_98 = *puVar13; uStack_94 = puVar13[1]; uStack_90 = puVar13[2]; uStack_8c = puVar13[3]; local_88 = puVar13[4]; uStack_84 = puVar13[5]; uStack_80 = puVar13[6]; uStack_7c = puVar13[7]; *(undefined8 *)(puVar13 + 4) = 0; *(undefined8 *)(puVar13 + 6) = 0xf; *(undefined1 *)puVar13 = 0; FUN_1805a5a40(param_1 + 6,&local_98); FUN_180485450(&local_98); FUN_180485450(&local_f8); FUN_180485450(local_d8); FUN_180485450(&local_358); FUN_180485450(&local_298); FUN_1805f2180(&local_560); } } else if (iVar4 == 4) { local_228 = 0; local_220 = 0xf; local_238 = 0; FUN_1805a6cb0(&local_238,"TException",10); local_248 = 0; local_240 = 0xf; local_258 = 0; if (param_2 != (longlong *)0x0) { lVar11 = (**(code **)(*param_2 + 8))(param_2); do { lVar21 = lVar21 + 1; } while (*(char *)(lVar11 + lVar21) != '\0'); FUN_1805a6cb0(&local_258,lVar11,lVar21); } uVar8 = local_240; uVar12 = local_248; local_188 = 0; local_180 = 0xf; local_198[0] = 0; FUN_1805a6cb0(local_198,&DAT_181baf994,2); puVar14 = &local_238; if (0xf < local_220) { puVar14 = (undefined1 *)CONCAT71(uStack_237,local_238); } puVar13 = (undefined4 *)FUN_1805f4610(local_198,0,puVar14,local_228); local_1b8 = *puVar13; uStack_1b4 = puVar13[1]; uStack_1b0 = puVar13[2]; uStack_1ac = puVar13[3]; local_1a8 = *(undefined8 *)(puVar13 + 4); uStack_1a0 = *(undefined8 *)(puVar13 + 6); *(undefined8 *)(puVar13 + 4) = 0; *(undefined8 *)(puVar13 + 6) = 0xf; *(undefined1 *)puVar13 = 0; puVar14 = &local_258; if (0xf < uVar8) { puVar14 = (undefined1 *)CONCAT71(uStack_257,local_258); } puVar13 = (undefined4 *)FUN_1805a6a80(&local_1b8,puVar14,uVar12); local_b8 = *puVar13; uStack_b4 = puVar13[1]; uStack_b0 = puVar13[2]; uStack_ac = puVar13[3]; local_a8 = puVar13[4]; uStack_a4 = puVar13[5]; uStack_a0 = puVar13[6]; uStack_9c = puVar13[7]; *(undefined8 *)(puVar13 + 4) = 0; *(undefined8 *)(puVar13 + 6) = 0xf; *(undefined1 *)puVar13 = 0; FUN_1805a5a40(param_1 + 6,&local_b8); FUN_180485450(&local_b8); FUN_180485450(&local_1b8); FUN_180485450(local_198); FUN_180485450(&local_258); FUN_180485450(&local_238); } else if (iVar4 == 5) { local_618 = (undefined1 *)((ulonglong)local_618._4_4_ << 0x20); lVar11 = __RTDynamicCast(param_2,0,&std::exception::RTTI_Type_Descriptor, &litesql::Except::RTTI_Type_Descriptor); if (lVar11 != 0) { uVar12 = FUN_1805f49a0(local_78,lVar11); FUN_1805a5a40(param_1 + 6,uVar12); FUN_180485450(local_78); } } else if (iVar4 == 8) { FUN_1805a6cb0(param_1 + 6, "Error processing the command line because multiple occurances of the same option was provided." ,0x5e); } else if (iVar4 == 0xc) { FUN_1805a6cb0(param_1 + 6,"Unknown exception!",0x12); } else if (param_2 != (longlong *)0x0) { lVar11 = (**(code **)(*param_2 + 8))(param_2); do { lVar21 = lVar21 + 1; } while (*(char *)(lVar11 + lVar21) != '\0'); FUN_1805a6cb0(param_1 + 6,lVar11,lVar21); } if ((((int)param_1[1] == 1) || (uVar19 = local_604, (int)param_1[1] == 10)) && (uVar19 = local_604 & 0xff, (char)param_1[10] == '\0')) { uVar19 = 1; } (**(code **)(*param_1 + 0x10))(param_1,uVar19,param_2,local_5c8); } ############ FUN_ 1805fd6e0 size=97 ############ undefined8 * FUN_1805fd6e0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1805fd750 size=97 ############ undefined8 * FUN_1805fd750(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1805fd960 size=181 ############ undefined8 * FUN_1805fd960(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x38); if (puVar1 != (undefined8 *)0x0) { puVar1[3] = 7; puVar1[2] = 0; puVar2 = puVar1; if (7 < (ulonglong)puVar1[3]) { puVar2 = (undefined8 *)*puVar1; } *(undefined2 *)puVar2 = 0; *(undefined4 *)(puVar1 + 4) = 0; *(undefined8 *)((longlong)puVar1 + 0x24) = 0xffff; *(undefined4 *)((longlong)puVar1 + 0x2c) = 0xffff; puVar1[6] = 0; } *param_1 = puVar1; FUN_1805fd6e0(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1,param_4,uVar3); FUN_1805ff070(param_1,param_2,0); return param_1; } ############ FUN_ 1805fda70 size=260 ############ undefined8 * FUN_1805fda70(undefined8 *param_1,undefined8 *param_2,longlong param_3,undefined4 *param_4) { undefined8 *puVar1; longlong lVar2; undefined8 uVar3; undefined8 uVar4; undefined8 *local_40; undefined1 local_38; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; uVar4 = 0xfffffffffffffffe; local_28 = *param_4; uStack_24 = param_4[1]; uStack_20 = param_4[2]; uStack_1c = param_4[3]; if (0xf < (ulonglong)param_2[3]) { param_2 = (undefined8 *)*param_2; } *param_1 = std::exception::vftable; param_1[1] = 0; param_1[2] = 0; local_38 = 1; local_40 = param_2; __std_exception_copy(&local_40); *param_1 = boost::system::system_error::vftable; *(undefined4 *)(param_1 + 3) = local_28; *(undefined4 *)((longlong)param_1 + 0x1c) = uStack_24; *(undefined4 *)(param_1 + 4) = uStack_20; *(undefined4 *)((longlong)param_1 + 0x24) = uStack_1c; puVar1 = param_1 + 5; param_1[8] = 0xf; uVar3 = 0; param_1[7] = 0; if (0xf < (ulonglong)param_1[8]) { puVar1 = (undefined8 *)*puVar1; } *(undefined1 *)puVar1 = 0; *param_1 = boost::filesystem::filesystem_error::vftable; param_1[9] = 0; param_1[10] = 0; lVar2 = FUN_1811316e0(0x60); if (lVar2 != 0) { uVar3 = FUN_1805fdc70(lVar2); } FUN_1805fd8c0(param_1 + 9,uVar3); if (param_1[9] != param_3) { FUN_1805f6da0(param_1[9],param_3,0,0xffffffffffffffff,uVar4); } return param_1; } ############ FUN_ 1805fdb80 size=231 ############ undefined8 * FUN_1805fdb80(undefined8 *param_1,undefined8 *param_2,undefined4 *param_3) { undefined8 *puVar1; longlong lVar2; undefined8 uVar3; undefined8 *local_30; undefined1 local_28; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; local_18 = *param_3; uStack_14 = param_3[1]; uStack_10 = param_3[2]; uStack_c = param_3[3]; if (0xf < (ulonglong)param_2[3]) { param_2 = (undefined8 *)*param_2; } *param_1 = std::exception::vftable; param_1[1] = 0; param_1[2] = 0; local_28 = 1; local_30 = param_2; __std_exception_copy(&local_30); *param_1 = boost::system::system_error::vftable; *(undefined4 *)(param_1 + 3) = local_18; *(undefined4 *)((longlong)param_1 + 0x1c) = uStack_14; *(undefined4 *)(param_1 + 4) = uStack_10; *(undefined4 *)((longlong)param_1 + 0x24) = uStack_c; puVar1 = param_1 + 5; param_1[8] = 0xf; uVar3 = 0; param_1[7] = 0; if (0xf < (ulonglong)param_1[8]) { puVar1 = (undefined8 *)*puVar1; } *(undefined1 *)puVar1 = 0; *param_1 = boost::filesystem::filesystem_error::vftable; param_1[9] = 0; param_1[10] = 0; lVar2 = FUN_1811316e0(0x60); if (lVar2 != 0) { uVar3 = FUN_1805fdc70(lVar2); } FUN_1805fd8c0(param_1 + 9,uVar3); return param_1; } ############ FUN_ 18060cc00 size=115 ############ void FUN_18060cc00(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 << 5; if (param_2 < 0x800000000000000) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 18060cc80 size=227 ############ longlong FUN_18060cc80(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x58); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[8] = &DAT_181bb7740; puVar1[10] = boost::exception_detail::clone_base::vftable; FUN_18060c320(puVar1,param_1 + -0x50,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_>:: vftable; puVar1[3] = boost::exception_detail:: clone_impl_>:: vftable; *(undefined ***)((longlong)*(int *)(puVar1[8] + 4) + 0x40 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>::vftable; *(int *)((longlong)*(int *)(puVar1[8] + 4) + 0x3c + (longlong)puVar1) = *(int *)(puVar1[8] + 4) + -0x10; if (param_1 + -0x50 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 3,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[8] + 4) + 0x40; } ############ FUN_ 18061da50 size=190 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18061da50(longlong param_1,undefined4 *param_2) { longlong lVar1; undefined4 *puVar2; undefined8 uVar3; undefined1 auStack_48 [32]; undefined8 local_28; undefined4 *local_20; ulonglong local_18; local_28 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_48; local_20 = param_2; if (*(ulonglong *)(param_1 + 0x10) <= *(longlong *)(param_1 + 0x20) + 1U) { FUN_180618890(param_1,1); } *(ulonglong *)(param_1 + 0x18) = *(ulonglong *)(param_1 + 0x18) & *(longlong *)(param_1 + 0x10) - 1U; lVar1 = (*(longlong *)(param_1 + 0x10) - 1U & *(longlong *)(param_1 + 0x18) + *(longlong *)(param_1 + 0x20)) * 8; if (*(longlong *)(lVar1 + *(longlong *)(param_1 + 8)) == 0) { uVar3 = FUN_1811316e0(0x28); *(undefined8 *)(lVar1 + *(longlong *)(param_1 + 8)) = uVar3; } puVar2 = *(undefined4 **)(lVar1 + *(longlong *)(param_1 + 8)); *puVar2 = *param_2; FUN_1805a4070(puVar2 + 2,param_2 + 2); *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; FUN_180611fb0(param_2); } ############ FUN_ 180618890 size=496 ############ void FUN_180618890(longlong param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; void *pvVar4; ulonglong uVar5; ulonglong uVar6; size_t sVar7; size_t sVar8; void *pvVar9; uVar3 = *(ulonglong *)(param_1 + 0x10); uVar6 = 1; if (uVar3 != 0) { uVar6 = uVar3; } for (; (uVar6 - uVar3 < param_2 || (uVar6 < 8)); uVar6 = uVar6 * 2) { if (0x666666666666666 - uVar6 < uVar6) { /* WARNING: Subroutine does not return */ FUN_180618c80(param_1); } } uVar6 = uVar6 - uVar3; uVar1 = *(ulonglong *)(param_1 + 0x18); uVar5 = (uVar3 + uVar6) * 8; if (uVar3 + uVar6 < 0x2000000000000000) { if (uVar5 < 0x1000) { if (uVar5 == 0) { pvVar9 = (void *)0x0; } else { pvVar9 = (void *)FUN_1811316e0(uVar5); } goto LAB_180618959; } } else { uVar5 = 0xffffffffffffffff; } uVar3 = uVar5 + 0x27; if (uVar3 <= uVar5) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar9 = (void *)(lVar2 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar9 - 8) = lVar2; LAB_180618959: sVar8 = uVar1 * 8; pvVar4 = (void *)(*(longlong *)(param_1 + 8) + sVar8); sVar7 = (*(longlong *)(param_1 + 0x10) * 8 - (longlong)pvVar4) + *(longlong *)(param_1 + 8); memmove((void *)(sVar8 + (longlong)pvVar9),pvVar4,sVar7); pvVar4 = (void *)(sVar7 + (longlong)(sVar8 + (longlong)pvVar9)); if (uVar6 < uVar1) { sVar7 = uVar6 * 8; memmove(pvVar4,*(void **)(param_1 + 8),sVar7); pvVar4 = (void *)(sVar7 + *(longlong *)(param_1 + 8)); sVar8 = (*(longlong *)(param_1 + 8) - (longlong)pvVar4) + sVar8; memmove(pvVar9,pvVar4,sVar8); pvVar4 = (void *)(sVar8 + (longlong)pvVar9); } else { memmove(pvVar4,*(void **)(param_1 + 8),sVar8); memset((void *)(sVar8 + (longlong)pvVar4),0,(uVar6 - uVar1) * 8); pvVar4 = pvVar9; sVar7 = sVar8; } memset(pvVar4,0,sVar7); pvVar4 = *(void **)(param_1 + 8); if (pvVar4 == (void *)0x0) { *(void **)(param_1 + 8) = pvVar9; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + uVar6; return; } pvVar9 = pvVar4; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x10) << 3)) && (pvVar9 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } ############ FUN_ 18060d080 size=224 ############ void FUN_18060d080(longlong param_1,longlong param_2,longlong param_3) { longlong lVar1; undefined4 *puVar2; undefined4 *puVar3; undefined8 uVar4; while (*(longlong *)(param_2 + 0x10) != *(longlong *)(param_3 + 0x10)) { puVar3 = (undefined4 *)FUN_180489600(param_2); if (*(ulonglong *)(param_1 + 0x10) <= *(longlong *)(param_1 + 0x20) + 1U) { FUN_180618890(param_1,1); } *(ulonglong *)(param_1 + 0x18) = *(ulonglong *)(param_1 + 0x18) & *(longlong *)(param_1 + 0x10) - 1U; lVar1 = (*(longlong *)(param_1 + 0x10) - 1U & *(longlong *)(param_1 + 0x18) + *(longlong *)(param_1 + 0x20)) * 8; if (*(longlong *)(lVar1 + *(longlong *)(param_1 + 8)) == 0) { uVar4 = FUN_1811316e0(0x28); *(undefined8 *)(lVar1 + *(longlong *)(param_1 + 8)) = uVar4; } puVar2 = *(undefined4 **)(lVar1 + *(longlong *)(param_1 + 8)); *puVar2 = *puVar3; FUN_1805a4070(puVar2 + 2,puVar3 + 2); *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; *(longlong *)(param_2 + 0x10) = *(longlong *)(param_2 + 0x10) + 1; } return; } ############ FUN_ 180612340 size=2305 ############ /* WARNING: Instruction at (ram,0x000180612765) overlaps instruction at (ram,0x000180612762) */ /* WARNING: Removing unreachable block (ram,0x000180612762) */ /* WARNING: Removing unreachable block (ram,0x0001806123b6) */ /* WARNING: Removing unreachable block (ram,0x000180612833) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ ulonglong FUN_180612340(longlong param_1,uint param_2,longlong param_3,longlong param_4) { uint uVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *puVar4; longlong lVar5; ulonglong uVar6; uint uVar7; uint uVar8; longlong lVar9; undefined1 *puVar10; ulonglong uVar11; uint unaff_retaddr; int local_res8 [2]; uint local_res10; undefined8 *local_res18; undefined4 local_res20 [2]; undefined1 auStack_d8 [32]; longlong local_b8; undefined8 local_b0; longlong local_a8; undefined *local_98; uint *local_90; uint local_88; undefined4 local_80 [2]; uint local_78; char *local_70; char *local_68; char *local_60; undefined8 local_58; puVar10 = auStack_d8; local_58 = 0xfffffffffffffffe; uVar1 = (uint)&stack0x00000000 & 0x35ff; uVar1 = ((uVar1 + 1) * uVar1 + 7) % 0x51; local_88 = (int)(-uVar1 | uVar1) >> 0x1f & 0x8a6eU ^ 0x833e; uVar1 = (uint)&stack0x00000000 & 0x4eff; uVar1 = (uVar1 * uVar1 + 1) % 7; local_78 = ((int)(uVar1 | -uVar1) >> 0x1f) * -0xc28f ^ 0xceaf; local_90 = &DAT_1815942fc; local_98 = &DAT_1815943fc; puVar4 = (undefined8 *)0x0; local_res10 = param_2; if (*(char *)(param_1 + 0x170) == '\0') { local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"Hasher object has not been initialized"); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar2; if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; puVar4 = puVar2; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x13e); local_70 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\hasher.cpp"; uVar3 = FUN_1805a21d0(puVar4[1],&local_70); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res18); } uVar1 = DAT_1815942fc ^ 0x811c9dc5; do { FUN_18061074e(0x662c); uVar8 = local_res10; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_98 = (undefined *)0x253b035a16b5dd23; local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x16b5dd23); uVar1 = DAT_181594324 ^ (DAT_181594320 ^ (DAT_18159431c ^ (DAT_181594318 ^ (DAT_181594314 ^ (DAT_181594310 ^ (DAT_18159430c ^ (DAT_181594308 ^ (DAT_181594304 ^ (DAT_181594300 ^ uVar1 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; if (param_4 != 0) { FUN_18070abe0(param_4); } uVar1 = (DAT_181594334 ^ (DAT_181594330 ^ (DAT_18159432c ^ (DAT_181594328 ^ uVar1 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ) * 0x1000181; uVar6 = (ulonglong)uVar1; if (*(longlong *)(param_1 + 0x160) == *(longlong *)(param_1 + 0x158)) { uVar11 = 0; local_b8 = param_3; local_res8[0] = FUN_18070ace0(); } else { local_b0 = 0; uVar11 = (ulonglong)uVar8; local_b8 = param_4; local_a8 = param_3; local_res8[0] = FUN_18070b8c0(param_1 + 8); } do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar1 = DAT_18159437c ^ (DAT_181594378 ^ (DAT_181594374 ^ (DAT_181594370 ^ (DAT_18159436c ^ (DAT_181594368 ^ (DAT_181594364 ^ (DAT_181594360 ^ (DAT_18159435c ^ (DAT_181594358 ^ (DAT_181594354 ^ (DAT_181594350 ^ (DAT_18159434c ^ (DAT_181594348 ^ (DAT_181594344 ^ (DAT_181594340 ^ (DAT_18159433c ^ (DAT_181594338 ^ uVar1) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; do { FUN_180613048(0x662c); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar1 = DAT_1815943f8 ^ (DAT_1815943f4 ^ (DAT_1815943f0 ^ (DAT_1815943ec ^ (DAT_1815943e8 ^ (DAT_1815943e4 ^ (DAT_1815943e0 ^ (DAT_1815943dc ^ (DAT_1815943d8 ^ (DAT_1815943d4 ^ (DAT_1815943d0 ^ (DAT_1815943cc ^ (DAT_1815943c8 ^ (DAT_1815943c4 ^ (DAT_1815943c0 ^ (DAT_1815943bc ^ (DAT_1815943b8 ^ (DAT_1815943b4 ^ (DAT_1815943b0 ^ (DAT_1815943ac ^ (DAT_1815943a8 ^ (DAT_1815943a4 ^ (DAT_1815943a0 ^ (DAT_18159439c ^ (DAT_181594398 ^ (DAT_181594394 ^ (DAT_181594390 ^ (DAT_18159438c ^ (DAT_181594388 ^ (DAT_181594384 ^ (DAT_181594380 ^ uVar1 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; do { FUN_180613195(0x662c); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar1 = (uVar1 * 0x40000000 | uVar1 * 0x1000181 >> 2) ^ 0x88bdc9a; if (~((uVar1 >> 2 | uVar1 << 0x1e) ^ 0x12c3b62e) == (uint)local_res18) { if (local_res8[0] == 0) { lVar5 = (longlong)(int)local_78; do { *(undefined8 *)(puVar10 + -8) = 0x180612cc8; lVar9 = lVar5; FUN_180610ebe(); *(undefined8 **)(puVar10 + -8) = puVar4; *(ulonglong *)(puVar10 + -0x10) = uVar6; *(ulonglong *)(puVar10 + -0x18) = uVar11; lVar9 = -lVar9; uVar11 = *(ulonglong *)(puVar10 + lVar9 + 0xc08); uVar6 = *(ulonglong *)(puVar10 + lVar9 + 0xc10); puVar4 = *(undefined8 **)(puVar10 + lVar9 + 0xc18); puVar10 = puVar10 + lVar9 + 0xc20; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); return (ulonglong)unaff_retaddr; } local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { puVar4 = (undefined8 *)FUN_1805a48c0(local_res18,"[%d] HASH_ByID_ProcessBuffer error"); } lVar5 = FUN_1805c0260(); FUN_18060e760(puVar4[1],local_res8); local_80[0] = 0x160; local_60 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\hasher.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_60); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_80); } if (local_res8[0] != 0) { uVar6 = thunk_FUN_1805a9280(); return uVar6; } local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { puVar4 = (undefined8 *)FUN_1805a48c0(local_res18,"[%d] HASH_ByID_ProcessBuffer error"); } lVar5 = FUN_1805c0260(); FUN_18060e760(puVar4[1],local_res8); local_res20[0] = 0x186; local_68 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\hasher.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_68); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res20); } ############ FUN_ 180615200 size=2990 ############ /* WARNING: Instruction at (ram,0x0001806159b3) overlaps instruction at (ram,0x0001806159b2) */ /* WARNING: Removing unreachable block (ram,0x000180615a8b) */ /* WARNING: Removing unreachable block (ram,0x00018061574e) */ /* WARNING: Removing unreachable block (ram,0x00018061552c) */ /* WARNING: Removing unreachable block (ram,0x000180615737) */ /* WARNING: Removing unreachable block (ram,0x0001806159b2) */ /* WARNING: Removing unreachable block (ram,0x000180615c3c) */ /* WARNING: Removing unreachable block (ram,0x000180615505) */ /* WARNING: Removing unreachable block (ram,0x0001806152aa) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_180615200(longlong param_1,undefined4 param_2) { char *pcVar1; char *pcVar2; undefined8 uVar3; uint uVar4; uint uVar5; longlong lVar6; uint uVar7; char *pcVar8; undefined1 *puVar9; uint uVar10; int iVar11; ulonglong uVar12; ulonglong uVar13; int unaff_retaddr; int local_res20 [2]; undefined1 auStack_98 [32]; undefined4 local_78 [2]; uint *local_70; undefined *local_68; char *local_60; undefined8 local_58; puVar9 = auStack_98; local_58 = 0xfffffffffffffffe; uVar10 = (uint)&stack0x00000000 & 0x40ff; iVar11 = uVar10 * uVar10 + 1; uVar10 = (iVar11 >> 4) + (iVar11 >> 1) + iVar11 * 0x24924924 >> 0x1d; if (((int)(uVar10 - 7) >> 0x1f & uVar10 & 0x2a00) == 0) { uVar10 = (uint)&stack0x00000000 & 0x37f; iVar11 = (uVar10 + 2) * (uVar10 + 1) * uVar10; uVar10 = 0x816e - (((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e); } else { uVar10 = 0x816e; } pcVar8 = (char *)0x0; local_70 = &DAT_1814a8438; local_68 = &UNK_1814a8538; uVar7 = DAT_1814a843c ^ DAT_1814a8438 >> 0x1c ^ (DAT_1814a8438 ^ 0xb30) << 4; uVar7 = _DAT_1814a8440 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8444 ^ uVar7 >> 0x1c ^ uVar7 << 4; do { FUN_180616515(0xd938); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar7 = _DAT_1814a8448 ^ uVar7 >> 0x1c ^ uVar7 << 4; *(undefined1 *)(param_1 + 0x170) = 0; uVar7 = _DAT_1814a844c ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8450 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8454 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8458 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a845c ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8460 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8464 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8468 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a846c ^ uVar7 >> 0x1c ^ uVar7 << 4; *(undefined8 *)(param_1 + 0x160) = *(undefined8 *)(param_1 + 0x158); uVar7 = _DAT_1814a8470 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8474 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8478 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a847c ^ uVar7 >> 0x1c ^ uVar7 << 4; local_res20[0] = FUN_18070b240(param_2,param_1 + 8,0x40); uVar7 = _DAT_1814a8480 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8484 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar4 = _DAT_1814a8488 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar13 = (ulonglong)(uVar10 ^ 0x8b8e); uVar7 = uVar4 << 4; uVar12 = (ulonglong)uVar7; uVar7 = _DAT_1814a848c ^ uVar4 >> 0x1c ^ uVar7; uVar7 = _DAT_1814a8490 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _DAT_1814a8494 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a8498 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a849c ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84a0 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84a4 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84a8 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84ac ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84b0 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84b4 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84b8 ^ uVar7 >> 0x1c ^ uVar7 << 4; if (local_res20[0] != 0) { local_60 = (char *)FUN_1811316e0(0x18); pcVar1 = pcVar8; if (local_60 != (char *)0x0) { pcVar1 = (char *)FUN_1805a48c0(local_60,"[%d] HASH_ByID_Init error"); } pcVar2 = (char *)FUN_1811316e0(0x18); local_60 = pcVar2; if (pcVar2 != (char *)0x0) { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; pcVar8 = pcVar2; } FUN_18060e760(*(undefined8 *)(pcVar1 + 8),local_res20); local_78[0] = 0x9a; local_60 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\hasher.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar8 + 8),&local_60); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_78); } uVar7 = _UNK_1814a84bc ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84c0 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84c4 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84c8 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84cc ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84d0 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84d4 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84d8 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84dc ^ uVar7 >> 0x1c ^ uVar7 << 4; do { uVar12 = (-uVar12 ^ 0xffffffffffffffff) + 1; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar7 = _UNK_1814a84e0 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84e4 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = _UNK_1814a84e8 ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar4 = _UNK_1814a84ec ^ uVar7 >> 0x1c ^ uVar7 << 4; iVar11 = (uVar4 & 0x59ff) * (uVar4 & 0x59ff) + 1; uVar7 = (iVar11 >> 4) + (iVar11 >> 1) + iVar11 * 0x24924924 >> 0x1d; if (((int)(uVar7 - 7) >> 0x1f & uVar7 & 0x360) == 0) { uVar7 = uVar4 & 0xf | 0x76; uVar7 = (uint)(uVar7 * uVar7 * 0x86a7 == 0x1a03790); } else { uVar7 = 0; } lVar6 = -((longlong)(int)(0x582b - uVar7) ^ 0x592bU); uVar7 = *(uint *)(&UNK_1814a85f0 + lVar6) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar7 = *(uint *)(&UNK_1814a85f4 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a85f8 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a85fc + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a8600 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a8604 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a8608 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a860c + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a8610 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a8614 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a8618 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a861c + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a8620 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a8624 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a8628 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar4 = uVar7 << 4; uVar7 = *(uint *)(&UNK_1814a862c + lVar6) ^ uVar7 >> 0x1c ^ uVar4; uVar7 = uVar7 >> 0x1c ^ uVar7 << 4 ^ *(uint *)(&UNK_1814a8630 + lVar6); uVar7 = *(uint *)(&UNK_1814a8634 + lVar6) ^ uVar7 >> 0x1c ^ uVar7 << 4; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = (uVar7 >> 8 ^ uVar7) >> 1 & 3; uVar7 = (uVar5 << 8 | uVar5) * 2 ^ uVar7; uVar7 = (uVar7 >> 5 | uVar7 << 0x1b) + 0x83fa7d52; uVar5 = uVar7 * 0x10 & 0xf0f0f0f0 | uVar7 >> 4 & 0xf0f0f0f; uVar7 = (uVar5 >> 0xc ^ uVar5) >> 0xb & 0xf; *(undefined1 *)(param_1 + 0x170) = 1; if (((uVar7 << 0xc | uVar7) << 0xb ^ uVar5) != 0x792344c7) { thunk_FUN_1805a9280((longlong)(int)(uVar10 ^ 0x8b8e),uVar5, (~(ulonglong)uVar4 + 1 ^ 0xffffffffffffffff) + 1,uVar12); return; } local_res20[0] = 0; uVar3 = 0; do { *(undefined8 *)(puVar9 + -8) = 0x180615e08; lVar6 = 0x550; FUN_180616099(); *(undefined8 *)(puVar9 + -8) = uVar3; *(BADSPACEBASE **)(puVar9 + -0x10) = register0x00000020; *(ulonglong *)(puVar9 + -0x18) = uVar13; lVar6 = -lVar6; uVar13 = *(ulonglong *)(puVar9 + lVar6 + 0x538); register0x00000020 = *(BADSPACEBASE **)(puVar9 + lVar6 + 0x540); uVar3 = *(undefined8 *)(puVar9 + lVar6 + 0x548); puVar9 = puVar9 + lVar6 + 0x550; uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); return; } ############ FUN_ 180617db0 size=386 ############ void FUN_180617db0(longlong param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4) { undefined8 uVar1; int iVar2; undefined8 *puVar3; char *pcVar4; longlong lVar5; undefined8 local_res8; char *local_res20; if (*(char *)(param_1 + 0x170) == '\0') { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Hasher object has not been initialized"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; local_res8._4_4_ = 0; } else { local_res8 = puVar3; FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xce); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\hasher.cpp"; uVar1 = FUN_1805a21d0(puVar3[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar1,&local_res8); } iVar2 = FUN_18070b4b0(param_1 + 8,param_2,param_3,param_4,0xfffffffffffffffe); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar2); if (iVar2 == 0) { return; } local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_res20,"[%d] HASH_ByID_ProcessBuffer error"); } pcVar4 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar5 + 8),&local_res8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xd1); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\hasher.cpp"; uVar1 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar1,&local_res8); } ############ FUN_ 1806c91c0 size=328 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806c91c0(undefined8 param_1,undefined8 param_2,undefined1 param_3,undefined1 param_4, undefined1 param_5,undefined1 param_6,undefined8 param_7) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined2 *puVar5; undefined1 auStack_b8 [32]; undefined1 local_98; undefined1 local_90; undefined8 local_88; undefined2 *local_78; longlong *local_70; undefined2 *local_68; undefined8 local_60; undefined1 local_58 [32]; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; FUN_1806ca1c0(local_58,param_1); puVar5 = (undefined2 *)FUN_1811316e0(0x38); if (puVar5 != (undefined2 *)0x0) { *(undefined8 *)(puVar5 + 8) = 0; *(undefined8 *)(puVar5 + 0xc) = 7; *puVar5 = 0; *(undefined4 *)(puVar5 + 0x10) = 0; *(undefined8 *)(puVar5 + 0x12) = 0xffff; *(undefined4 *)(puVar5 + 0x16) = 0xffff; *(undefined8 *)(puVar5 + 0x18) = 0; } local_78 = puVar5; local_68 = puVar5; FUN_1805fd6e0(&local_70,puVar5); FUN_1805ae620(&local_78,puVar5,puVar5); FUN_1805ff070(&local_78,local_58,0); local_88 = param_7; local_90 = param_6; local_98 = param_5; FUN_1806c8cb0(&local_78,param_2,param_3,param_4); if (local_70 != (longlong *)0x0) { LOCK(); plVar1 = local_70 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_70 + 8))(local_70); LOCK(); piVar2 = (int *)((longlong)local_70 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_70 + 0x10))(local_70); } } } FUN_1805bc2c0(local_58); } ############ FUN_ 1806c8e90 size=564 ############ longlong FUN_1806c8e90(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { ulonglong uVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; ulonglong uVar7; void *_Memory; longlong lVar8; longlong lVar9; ulonglong uVar10; ulonglong uVar11; ulonglong *puVar12; undefined8 uVar13; uVar13 = 0xfffffffffffffffe; uVar11 = *param_1; lVar8 = (longlong)(param_2 - uVar11) >> 5; lVar3 = (longlong)(param_1[1] - uVar11) >> 5; if (lVar3 == 0x7ffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar3 + 1; uVar6 = (longlong)(param_1[2] - uVar11) >> 5; uVar11 = uVar1; if ((uVar6 <= 0x7ffffffffffffff - (uVar6 >> 1)) && (uVar11 = (uVar6 >> 1) + uVar6, uVar11 < uVar1) ) { uVar11 = uVar1; } uVar4 = uVar11 << 5; uVar6 = uVar11; lVar3 = lVar8; puVar12 = param_1; if (uVar11 < 0x800000000000000) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_1806c8f88; } } else { uVar4 = 0xffffffffffffffff; } uVar7 = uVar4 + 0x27; if (uVar7 <= uVar4) { uVar7 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar7); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_1806c8f88: lVar9 = lVar8 * 0x20 + uVar4; lVar8 = lVar9 + 0x20; lVar5 = lVar8; uVar10 = uVar4; FUN_1805b3ee0(lVar9,param_3); uVar7 = param_1[1]; if (param_2 == uVar7) { uVar10 = uVar4; for (uVar6 = *param_1; uVar6 != uVar7; uVar6 = uVar6 + 0x20) { FUN_1805b3ee0(uVar10,uVar6); uVar10 = uVar10 + 0x20; } } else { FUN_1806c9150(param_1,*param_1,param_2,uVar4,uVar6,lVar3,lVar5,uVar10,puVar12,uVar13); FUN_1806c9150(param_1,param_2,param_1[1],lVar8); } uVar6 = *param_1; if (uVar6 != 0) { uVar11 = param_1[1]; for (; uVar6 != uVar11; uVar6 = uVar6 + 0x20) { FUN_1805bc2c0(uVar6); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xffffffffffffffe0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar1 * 0x20 + uVar4; param_1[2] = uVar11 * 0x20 + uVar4; return lVar3 * 0x20 + *param_1; } ############ FUN_ 180618040 size=781 ############ void FUN_180618040(longlong *param_1,undefined8 *param_2) { longlong *plVar1; void *pvVar2; char *pcVar3; undefined8 uVar4; uint *puVar5; char *pcVar6; ulonglong uVar7; char *pcVar8; void *_Memory; undefined8 *puVar9; ulonglong uVar10; ulonglong uVar11; undefined1 auStack_1c8 [32]; undefined4 local_1a8; undefined4 local_198 [2]; char *local_190; undefined8 local_188; int iStack_17c; undefined *local_178 [22]; basic_ios_> local_c8 [96]; undefined1 local_68; undefined7 uStack_67; undefined8 local_58; ulonglong local_50; ulonglong local_48; local_188 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1c8; pcVar8 = (char *)0x0; local_198[0] = 0; if ((char)param_1[0x2e] == '\0') { local_190 = (char *)FUN_1811316e0(0x18); if (local_190 != (char *)0x0) { FUN_1805a48c0(local_190,"Hasher object has not been initialized"); } pcVar3 = (char *)FUN_1811316e0(0x18); if (pcVar3 != (char *)0x0) { local_190 = pcVar3; FUN_1805a48c0(pcVar3,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar3 = pace::PaceLocationInfoFormatter::vftable; pcVar8 = pcVar3; } local_198[0] = 0xd9; local_190 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\hasher.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar8 + 8),&local_190); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_198); } puVar5 = (uint *)FUN_180600890(&local_190,param_2,0); if (1 < *puVar5) { local_178[0] = &DAT_181bb7e88; std::basic_ios_>::basic_ios_>(local_c8); local_198[0] = 4; puVar9 = param_2; if (7 < (ulonglong)param_2[3]) { puVar9 = (undefined8 *)*param_2; } local_1a8 = 0; FUN_18060f0b0(local_178,puVar9,0x20); *(undefined ***)((longlong)local_178 + (longlong)*(int *)(local_178[0] + 4)) = boost::filesystem::basic_ifstream_>::vftable; *(int *)((longlong)&iStack_17c + (longlong)*(int *)(local_178[0] + 4)) = *(int *)(local_178[0] + 4) + -0xb0; uVar7 = FUN_1805ff960(param_2,0); uVar11 = 0xa00000; if (uVar7 < 0xa00000) { uVar11 = uVar7; } pcVar8 = (char *)thunk_FUN_1811316e0(uVar11); local_190 = pcVar8; for (; uVar7 != 0; uVar7 = uVar7 - uVar10) { uVar10 = uVar7; if (uVar11 < uVar7) { uVar10 = uVar11; } std::basic_istream_>::read ((basic_istream_> *)local_178,pcVar8,uVar10); (**(code **)(*param_1 + 0x20))(param_1,pcVar8,uVar10 & 0xffffffff); } /* WARNING: Subroutine does not return */ free(pcVar8); } local_190 = (char *)FUN_1811316e0(0x18); pcVar3 = pcVar8; if (local_190 != (char *)0x0) { pcVar3 = (char *)FUN_1805a48c0(local_190,"This file does not exist: \"%s\""); } pcVar6 = (char *)FUN_1811316e0(0x18); local_190 = pcVar6; if (pcVar6 != (char *)0x0) { FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; pcVar8 = pcVar6; } uVar4 = FUN_1805f71a0(); local_58 = 0; local_50 = 0xf; local_68 = 0; local_198[0] = 2; plVar1 = param_2 + 2; if (*plVar1 != 0) { puVar9 = param_2; if (7 < (ulonglong)param_2[3]) { puVar9 = (undefined8 *)*param_2; param_2 = (undefined8 *)*param_2; } FUN_1805f5100(param_2,(longlong)puVar9 + *plVar1 * 2,&local_68,uVar4); } FUN_1805b2240(*(undefined8 *)(pcVar3 + 8),&local_68); if (local_50 < 0x10) { local_198[0] = 0xdb; local_190 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\hasher.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar8 + 8),&local_190); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_198); } pvVar2 = (void *)CONCAT71(uStack_67,local_68); _Memory = pvVar2; if ((0xfff < local_50 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18061ad20 size=1077 ############ void FUN_18061ad20(void) { void *pvVar1; longlong lVar2; undefined8 uVar3; void *_Memory; int iVar4; uint uVar5; uint uVar6; longlong lVar7; undefined1 auStack_4c8 [48]; longlong **local_498; undefined8 local_488; undefined4 *local_478; longlong local_470; undefined4 local_468; undefined4 local_464; undefined4 local_460; undefined4 local_45c; uint local_458; uint local_454; longlong *local_450; undefined8 uStack_448; undefined8 local_440; longlong local_438; longlong local_430; longlong *local_428; undefined8 uStack_420; undefined8 local_418; undefined8 local_410; undefined8 local_408; longlong *local_3c8; undefined8 local_3c0; longlong local_3b8; longlong *local_3b0; undefined8 local_3a8; longlong local_3a0; undefined8 local_368; undefined4 local_328 [2]; undefined1 local_320 [440]; undefined8 local_168; undefined8 uStack_160; undefined8 local_158; undefined8 uStack_150; undefined1 local_128; undefined7 uStack_127; undefined8 local_118; ulonglong local_110; ulonglong local_30; local_368 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_4c8; uVar6 = (uint)&stack0x00000000 & 0x14ff; uVar5 = ((uVar6 + 1) * uVar6 + 7) % 0x51; uVar5 = (int)(-uVar5 | uVar5) >> 0x1f; local_458 = (int)(-uVar5 | uVar5) >> 0x1f & 0xf8e6U ^ 0xfad6; uVar5 = (uint)&stack0x00000000 & 0x2ff; iVar4 = (uVar5 + 2) * (uVar5 + 1) * uVar5; uVar5 = uVar6 * uVar6 * 0x10 + 4; local_454 = 0xe553 << ((byte)(((iVar4 >> 1) - (iVar4 >> 3)) + iVar4 * 0x55555555 >> 0x1e) & (char)uVar5 + (char)(uVar5 / 0x13) * -0x13 & 0x1f) ^ 0xe043; lVar7 = 0; if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_18265f368) && (_Init_thread_header(&DAT_18265f368), DAT_18265f368 == -1)) { lVar2 = FUN_1811316e0(0x88); local_498 = (longlong **)lVar2; if (lVar2 != 0) { lVar7 = lVar2 + 0x39; *(longlong *)(lVar2 + 8) = lVar7; local_470 = lVar2 + 0x28; uVar3 = FUN_1811316e0(0x58); *(undefined8 *)(lVar2 + 0x30) = uVar3; FUN_180619400(lVar2 + 0x39); FUN_1806194a0(lVar2 + 0x39); *(undefined8 *)(lVar2 + 0x40) = 0; *(longlong *)(lVar2 + 0x50) = lVar7; *(longlong *)(lVar2 + 0x70) = lVar7; lVar7 = lVar2; } DAT_18265f360 = lVar7; _Init_thread_footer(&DAT_18265f368); } local_498 = (longlong **)0x0; local_488 = 0x13c75a0; local_470 = 0x1813c75a0; local_478 = &DAT_181405818; local_45c = 0xb; local_460 = 10; local_464 = 9; local_468 = 7; local_450 = (longlong *)0x0; uStack_448 = 0; local_440 = 0; local_438 = 0; local_430 = 0; local_450 = (longlong *)FUN_1811316e0(0x10); local_168 = 0; uStack_160 = 0; *local_450 = 0; local_450[1] = 0; *local_450 = (longlong)&local_450; local_118 = 0; local_110 = 0xf; local_128 = 0; FUN_1805a6cb0(&local_128,"gostr3411",9); local_328[0] = 0; FUN_1805a4070(local_320,&local_128); FUN_18061da50(&local_450,local_328); if (local_110 < 0x10) { local_118 = 0; local_110 = 0xf; local_128 = 0; local_498 = &local_428; local_428 = (longlong *)0x0; uStack_420 = 0; local_418 = 0; local_410 = 0; local_408 = 0; local_428 = (longlong *)FUN_1811316e0(0x10); local_158 = 0; uStack_150 = 0; *local_428 = 0; local_428[1] = 0; *local_428 = (longlong)&local_428; local_3b8 = local_430 + local_438; local_3c0 = 0; local_3c8 = local_450; local_3a8 = 0; local_3a0 = local_438; local_3b0 = local_450; FUN_18060d080(&local_428,&local_3b0,&local_3c8); FUN_180618b80(&local_450); /* WARNING: Subroutine does not return */ free(local_450); } pvVar1 = (void *)CONCAT71(uStack_127,local_128); _Memory = pvVar1; if ((0xfff < local_110 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180621520 size=83 ############ undefined8 * FUN_180621520(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180622710 size=177 ############ ulonglong FUN_180622710(ulonglong *param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; ulonglong uVar3; ulonglong uVar4; uVar2 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (param_2 != 0) { if (0x492492492492492 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar4 = param_2 * 0x38; uVar3 = 0xffffffffffffffff; if ((param_2 < 0x492492492492493) && (uVar3 = uVar4, uVar4 < 0x1000)) { if (uVar4 != 0) { uVar2 = FUN_1811316e0(uVar4); } } else { uVar2 = uVar3 + 0x27; if (uVar3 + 0x27 <= uVar3) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar1 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar1; } *param_1 = uVar2; param_1[1] = uVar2; param_1[2] = uVar4 + *param_1; uVar2 = CONCAT71((int7)(*param_1 >> 8),1); } return uVar2; } ############ FUN_ 18062cbf0 size=116 ############ void FUN_18062cbf0(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x28; if (param_2 < 0x666666666666667) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 180631980 size=1385 ############ /* WARNING: Instruction at (ram,0x000180631c7c) overlaps instruction at (ram,0x000180631c78) */ /* WARNING: Removing unreachable block (ram,0x000180631a89) */ /* WARNING: Removing unreachable block (ram,0x000180631ace) */ int FUN_180631980(void) { void *pvVar1; int iVar2; longlong lVar3; undefined8 uVar4; ulonglong uVar5; void *_Memory; longlong lVar6; uint uVar7; uint uVar8; ulonglong uVar9; int unaff_retaddr; undefined1 auStack_3b8 [48]; undefined4 local_388; undefined4 *local_380; longlong **local_378; undefined *local_368; uint local_358; uint local_354; longlong *local_348; undefined8 uStack_340; undefined8 local_338; longlong local_330; longlong local_328; longlong *local_320; undefined8 uStack_318; undefined8 local_310; undefined8 local_308; undefined8 local_300; longlong *local_2e0; undefined8 local_2d8; longlong local_2d0; longlong *local_2c8; undefined8 local_2c0; longlong local_2b8; undefined8 local_268; undefined4 local_260 [2]; undefined1 local_258 [328]; undefined8 local_110; undefined8 uStack_108; undefined8 local_100; undefined8 uStack_f8; undefined1 local_f0; undefined7 uStack_ef; undefined8 local_e0; ulonglong local_d8; ulonglong local_38; local_268 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_3b8; uVar7 = (uint)&stack0x00000000; uVar8 = uVar7 & 0x3bf; local_354 = 0xaf0 - ((uVar8 + 2) * (uVar8 + 1) * uVar8) % 3 ^ 0xa70; if ((((uVar8 + 2) * (uVar8 + 1) * uVar8) % 3 & 10) == 0) { uVar7 = ((uVar7 & 0xfff) + 1) * (uVar7 & 0xfff) + 0x323f & 0x80000001; } else { uVar7 = (((uVar7 & 0x32ff) + 1) * (uVar7 & 0x32ff) + 7) % 0x51; } local_358 = ((int)(-uVar7 | uVar7) >> 0x1f) * 0x2051 & 0x59abU ^ 0x569b; uVar9 = (ulonglong)local_358; lVar6 = 0; if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_18265f548) && (_Init_thread_header(&DAT_18265f548), DAT_18265f548 == -1)) { lVar3 = FUN_1811316e0(0x88); local_378 = (longlong **)lVar3; if (lVar3 != 0) { lVar6 = lVar3 + 0x39; *(longlong *)(lVar3 + 8) = lVar6; local_368 = (undefined *)(lVar3 + 0x28); uVar4 = FUN_1811316e0(0x58); *(undefined8 *)(lVar3 + 0x30) = uVar4; FUN_180619400(lVar3 + 0x39); FUN_1806194a0(lVar3 + 0x39); *(undefined8 *)(lVar3 + 0x40) = 0; *(longlong *)(lVar3 + 0x50) = lVar6; *(longlong *)(lVar3 + 0x70) = lVar6; lVar6 = lVar3; } DAT_18265f540 = lVar6; _Init_thread_footer(&DAT_18265f548); } local_378 = (longlong **)0x0; local_380 = &DAT_1826dc0fc; local_368 = &DAT_1826dc200; local_388 = 0x811c9ddb; do { uVar5 = 0x501c; iVar2 = FUN_18062fd44(); if ((SBORROW8(~uVar9,-1)) && ((uVar5 & 0xc700) == 0)) { DAT_00000000 = DAT_00000000 | (byte)(uVar5 >> 8); return CONCAT31((int3)((uint)(iVar2 + -0x1452d587) >> 8),(char)(iVar2 + -0x1452d587) + '$') + -0x7f9ce396; } uVar9 = ~(~uVar9 + 1) + 1; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_348 = (longlong *)0x0; uStack_340 = 0; local_338 = 0; local_330 = 0; local_328 = 0; local_348 = (longlong *)FUN_1811316e0(0x10); local_100 = 0; uStack_f8 = 0; *local_348 = 0; local_348[1] = 0; *local_348 = (longlong)&local_348; local_e0 = 0; local_d8 = 0xf; local_f0 = 0; FUN_1805a6cb0(&local_f0,"Undefined",9); local_260[0] = 0; FUN_1805a4070(local_258,&local_f0); FUN_18061da50(&local_348,local_260); if (local_d8 < 0x10) { local_e0 = 0; local_d8 = 0xf; local_f0 = 0; local_378 = &local_320; local_320 = (longlong *)0x0; uStack_318 = 0; local_310 = 0; local_308 = 0; local_300 = 0; local_320 = (longlong *)FUN_1811316e0(0x10); local_110 = 0; uStack_108 = 0; *local_320 = 0; local_320[1] = 0; *local_320 = (longlong)&local_320; local_2d0 = local_328 + local_330; local_2d8 = 0; local_2e0 = local_348; local_2c0 = 0; local_2b8 = local_330; local_2c8 = local_348; FUN_18060d080(&local_320,&local_2c8,&local_2e0); FUN_180618b80(&local_348); /* WARNING: Subroutine does not return */ free(local_348); } pvVar1 = (void *)CONCAT71(uStack_ef,local_f0); _Memory = pvVar1; if ((0xfff < local_d8 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18063cba0 size=376 ############ void FUN_18063cba0(longlong param_1,longlong *param_2) { int iVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *puVar4; longlong lVar5; undefined8 *local_res8; char *local_res10; puVar4 = (undefined8 *)0x0; if (*(char *)(param_1 + 0x210) == '\0') { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Encryptor object has not been initialized"); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; puVar4 = puVar2; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x149); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar3 = FUN_1805a21d0(puVar4[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } lVar5 = param_2[1] - *param_2; if (lVar5 != 0) { if (*(char *)(param_1 + 0x211) != '\0') { FUN_18063de30(param_1,0,lVar5,*param_2); return; } iVar1 = FUN_1806fd540(param_1 + 8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar1); if (iVar1 != 0) { local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 != (char *)0x0) { puVar4 = (undefined8 *)FUN_1805a48c0(local_res10,"[%d] ENCR_Decrypt error"); } lVar5 = FUN_1805c0260(); FUN_18060e760(puVar4[1],&local_res8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x159); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } } return; } ############ FUN_ 18063cd40 size=2081 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x00018063d685) overlaps instruction at (ram,0x00018063d683) */ /* WARNING: Removing unreachable block (ram,0x00018063da58) */ /* WARNING: Removing unreachable block (ram,0x00018063ce74) */ /* WARNING: Removing unreachable block (ram,0x00018063ce8b) */ /* WARNING: Removing unreachable block (ram,0x00018063d683) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18063cd40(ulonglong param_1,longlong param_2,undefined8 param_3) { longlong lVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint uVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; uint uVar21; uint uVar22; uint uVar23; uint uVar24; uint uVar25; uint uVar26; uint uVar27; uint uVar28; uint uVar29; uint uVar30; uint uVar31; uint uVar32; uint uVar33; uint uVar34; uint uVar35; uint uVar36; uint uVar37; uint uVar38; uint uVar39; uint uVar40; uint uVar41; uint uVar42; uint uVar43; uint uVar44; uint uVar45; uint uVar46; uint uVar47; uint uVar48; uint uVar49; uint uVar50; uint uVar51; uint uVar52; uint uVar53; uint uVar54; uint uVar55; uint uVar56; char *pcVar57; undefined8 uVar58; longlong lVar59; uint uVar60; uint uVar61; uint uVar62; uint uVar63; undefined1 *puVar64; longlong lVar65; int *piVar66; char *pcVar67; int unaff_retaddr; undefined1 auStack_c8 [32]; undefined4 *local_a8; undefined *local_a0; undefined8 local_98; undefined4 local_90 [2]; int aiStack_88 [2]; undefined4 auStack_80 [2]; int aiStack_78 [2]; undefined4 auStack_70 [2]; char *local_68; char *pcStack_60; char *pcStack_58; undefined8 local_50; local_50 = 0xfffffffffffffffe; pcVar57 = (char *)0x0; uVar60 = (uint)&stack0x00000000 & 0x33f; lVar59 = 0; local_a8 = &DAT_181543570; local_a0 = &DAT_181543670; local_98 = 0x13a5bc9e; uVar2 = DAT_181543570 * 0x5bd1e995; uVar3 = DAT_181543574 * 0x5bd1e995; uVar4 = DAT_181543578 * 0x5bd1e995; pcVar67 = (char *)0x0; if (*(char *)(param_1 + 0x210) == '\0') { local_68 = (char *)FUN_1811316e0(0x18); if (local_68 == (char *)0x0) { local_a8 = (undefined4 *)0x0; } else { local_a8 = (undefined4 *)FUN_1805a48c0(local_68,"Encryptor object has not been initialized"); } pcVar57 = (char *)FUN_1811316e0(0x18); if (pcVar57 != (char *)0x0) { local_68 = pcVar57; FUN_1805a48c0(pcVar57,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar57 = pace::PaceLocationInfoFormatter::vftable; pcVar67 = pcVar57; } local_90[0] = 0x165; local_68 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar58 = FUN_1805a21d0(*(undefined8 *)(pcVar67 + 8),&local_68); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar58,local_90); } uVar5 = DAT_18154357c * 0x5bd1e995; uVar6 = DAT_181543580 * 0x5bd1e995; uVar7 = DAT_181543584 * 0x5bd1e995; uVar8 = DAT_181543588 * 0x5bd1e995; uVar9 = DAT_18154358c * 0x5bd1e995; uVar10 = DAT_181543590 * 0x5bd1e995; uVar11 = DAT_181543594 * 0x5bd1e995; uVar12 = DAT_181543598 * 0x5bd1e995; uVar13 = DAT_18154359c * 0x5bd1e995; uVar14 = DAT_1815435a0 * 0x5bd1e995; uVar15 = DAT_1815435a4 * 0x5bd1e995; uVar16 = DAT_1815435a8 * 0x5bd1e995; uVar17 = DAT_1815435ac * 0x5bd1e995; uVar18 = DAT_1815435b0 * 0x5bd1e995; uVar19 = DAT_1815435b4 * 0x5bd1e995; uVar20 = DAT_1815435b8 * 0x5bd1e995; uVar21 = DAT_1815435bc * 0x5bd1e995; uVar22 = DAT_1815435c0 * 0x5bd1e995; uVar23 = DAT_1815435c4 * 0x5bd1e995; uVar24 = DAT_1815435c8 * 0x5bd1e995; uVar25 = DAT_1815435cc * 0x5bd1e995; uVar26 = DAT_1815435d0 * 0x5bd1e995; uVar27 = DAT_1815435d4 * 0x5bd1e995; uVar28 = DAT_1815435d8 * 0x5bd1e995; uVar29 = DAT_1815435dc * 0x5bd1e995; uVar30 = DAT_1815435e0 * 0x5bd1e995; uVar31 = DAT_1815435e4 * 0x5bd1e995; uVar32 = DAT_1815435e8 * 0x5bd1e995; uVar33 = DAT_1815435ec * 0x5bd1e995; uVar34 = DAT_1815435f0 * 0x5bd1e995; uVar35 = DAT_1815435f4 * 0x5bd1e995; piVar66 = (int *)register0x00000020; do { if (param_1 == ((uint)&stack0x00000000 & 0x66ff)) { lVar65 = (longlong)piVar66 + lVar59; lVar59 = lVar59 - lVar65; piVar66 = (int *)-lVar59; lVar59 = lVar65 + lVar59; } pcVar67 = (char *)((-(longlong)pcVar67 ^ 0xffffffffffffffffU) + 1); uVar61 = (*piVar66 + 1) * *piVar66 & 0x80000001; if ((int)uVar61 < 0) { uVar61 = (uVar61 - 1 | 0xfffffffe) + 1; } } while (uVar61 != 0); uVar61 = DAT_1815435f8 * 0x5bd1e995; uVar36 = DAT_1815435fc * 0x5bd1e995; uVar37 = DAT_181543600 * 0x5bd1e995; uVar38 = DAT_181543604 * 0x5bd1e995; uVar39 = DAT_181543608 * 0x5bd1e995; uVar40 = DAT_18154360c * 0x5bd1e995; uVar41 = DAT_181543610 * 0x5bd1e995; uVar42 = DAT_181543614 * 0x5bd1e995; uVar43 = DAT_181543618 * 0x5bd1e995; uVar44 = DAT_18154361c * 0x5bd1e995; uVar45 = DAT_181543620 * 0x5bd1e995; uVar46 = DAT_181543624 * 0x5bd1e995; uVar47 = DAT_181543628 * 0x5bd1e995; uVar48 = DAT_18154362c * 0x5bd1e995; uVar49 = DAT_181543630 * 0x5bd1e995; uVar50 = DAT_181543634 * 0x5bd1e995; uVar51 = DAT_181543638 * 0x5bd1e995; uVar52 = DAT_18154363c * 0x5bd1e995; uVar53 = DAT_181543640 * 0x5bd1e995; do { pcVar57 = pcVar67 + (longlong)(pcVar57 + -0x5a4c6c31); pcVar67 = (char *)(~((((longlong)pcVar67 - (longlong)pcVar57 ^ 0xffffffffffffffffU) + 1) - (longlong)pcVar57) + 1); pcVar57 = pcVar57 + (0x5a4c6c31 - (longlong)pcVar67); uVar62 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar62 < 0) { uVar62 = (uVar62 - 1 | 0xfffffffe) + 1; } } while (uVar62 != 0); uVar62 = DAT_181543644 * 0x5bd1e995; uVar54 = DAT_181543648 * 0x5bd1e995; uVar55 = _UNK_18154364c * 0x5bd1e995; uVar56 = _UNK_181543650 * 0x5bd1e995; do { func_0x00018063c872(); uVar63 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar63 < 0) { uVar63 = (uVar63 - 1 | 0xfffffffe) + 1; } } while (uVar63 != 0); do { /* WARNING: Bad instruction - Truncating control flow here */ uVar63 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar63 < 0) { uVar63 = (uVar63 - 1 | 0xfffffffe) + 1; } } while (uVar63 != 0); uVar2 = (((uint)(_UNK_181543668 * 0x5bd1e995) >> 0x18 ^ _UNK_181543668 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181543664 * 0x5bd1e995) >> 0x18 ^ _UNK_181543664 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181543660 * 0x5bd1e995) >> 0x18 ^ _UNK_181543660 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_18154365c * 0x5bd1e995) >> 0x18 ^ _UNK_18154365c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181543658 * 0x5bd1e995) >> 0x18 ^ _UNK_181543658 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181543654 * 0x5bd1e995) >> 0x18 ^ _UNK_181543654 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar56 >> 0x18 ^ uVar56) * 0x5bd1e995 ^ ((uVar55 >> 0x18 ^ uVar55) * 0x5bd1e995 ^ ((uVar54 >> 0x18 ^ uVar54) * 0x5bd1e995 ^ ((uVar62 >> 0x18 ^ uVar62) * 0x5bd1e995 ^ ((uVar53 >> 0x18 ^ uVar53) * 0x5bd1e995 ^ ((uVar52 >> 0x18 ^ uVar52) * 0x5bd1e995 ^ ((uVar51 >> 0x18 ^ uVar51) * 0x5bd1e995 ^ ((uVar50 >> 0x18 ^ uVar50) * 0x5bd1e995 ^ ((uVar49 >> 0x18 ^ uVar49) * 0x5bd1e995 ^ ((uVar48 >> 0x18 ^ uVar48) * 0x5bd1e995 ^ ((uVar47 >> 0x18 ^ uVar47) * 0x5bd1e995 ^ ((uVar46 >> 0x18 ^ uVar46) * 0x5bd1e995 ^ ((uVar45 >> 0x18 ^ uVar45) * 0x5bd1e995 ^ ((uVar44 >> 0x18 ^ uVar44) * 0x5bd1e995 ^ ((uVar43 >> 0x18 ^ uVar43) * 0x5bd1e995 ^ ((uVar42 >> 0x18 ^ uVar42) * 0x5bd1e995 ^ ((uVar41 >> 0x18 ^ uVar41) * 0x5bd1e995 ^ ((uVar40 >> 0x18 ^ uVar40) * 0x5bd1e995 ^ ((uVar39 >> 0x18 ^ uVar39) * 0x5bd1e995 ^ ((uVar38 >> 0x18 ^ uVar38) * 0x5bd1e995 ^ ((uVar37 >> 0x18 ^ uVar37) * 0x5bd1e995 ^ ((uVar36 >> 0x18 ^ uVar36) * 0x5bd1e995 ^ ((uVar61 >> 0x18 ^ uVar61) * 0x5bd1e995 ^ ((uVar35 >> 0x18 ^ uVar35) * 0x5bd1e995 ^ ((uVar34 >> 0x18 ^ uVar34) * 0x5bd1e995 ^ ((uVar33 >> 0x18 ^ uVar33) * 0x5bd1e995 ^ ((uVar32 >> 0x18 ^ uVar32) * 0x5bd1e995 ^ ((uVar31 >> 0x18 ^ uVar31) * 0x5bd1e995 ^ ((uVar30 >> 0x18 ^ uVar30) * 0x5bd1e995 ^ ((uVar29 >> 0x18 ^ uVar29) * 0x5bd1e995 ^ ((uVar28 >> 0x18 ^ uVar28) * 0x5bd1e995 ^ ((uVar27 >> 0x18 ^ uVar27) * 0x5bd1e995 ^ ((uVar26 >> 0x18 ^ uVar26) * 0x5bd1e995 ^ ((uVar25 >> 0x18 ^ uVar25) * 0x5bd1e995 ^ ((uVar24 >> 0x18 ^ uVar24) * 0x5bd1e995 ^ ((uVar23 >> 0x18 ^ uVar23) * 0x5bd1e995 ^ ((uVar22 >> 0x18 ^ uVar22) * 0x5bd1e995 ^ ((uVar21 >> 0x18 ^ uVar21) * 0x5bd1e995 ^ ((uVar20 >> 0x18 ^ uVar20) * 0x5bd1e995 ^ ((uVar19 >> 0x18 ^ uVar19) * 0x5bd1e995 ^ ((uVar18 >> 0x18 ^ uVar18) * 0x5bd1e995 ^ ((uVar17 >> 0x18 ^ uVar17) * 0x5bd1e995 ^ ((uVar16 >> 0x18 ^ uVar16) * 0x5bd1e995 ^ ((uVar15 >> 0x18 ^ uVar15) * 0x5bd1e995 ^ ((uVar14 >> 0x18 ^ uVar14) * 0x5bd1e995 ^ ((uVar13 >> 0x18 ^ uVar13) * 0x5bd1e995 ^ ((uVar12 >> 0x18 ^ uVar12) * 0x5bd1e995 ^ ((uVar11 >> 0x18 ^ uVar11) * 0x5bd1e995 ^ ((uVar10 >> 0x18 ^ uVar10) * 0x5bd1e995 ^ ((uVar9 >> 0x18 ^ uVar9) * 0x5bd1e995 ^ ((uVar8 >> 0x18 ^ uVar8) * 0x5bd1e995 ^ ((uVar7 >> 0x18 ^ uVar7) * 0x5bd1e995 ^ ((uVar6 >> 0x18 ^ uVar6) * 0x5bd1e995 ^ ((uVar5 >> 0x18 ^ uVar5) * 0x5bd1e995 ^ (((uVar3 >> 0x18 ^ uVar3) * 0x5bd1e995 ^ ((uVar2 >> 0x18 ^ uVar2) * 0x5bd1e995 ^ 0xf7599d4f) * 0x5bd1e995) * 0x5bd1e995 ^ (uVar4 >> 0x18 ^ uVar4) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995 ^ ((uint)(_UNK_18154366c * 0x5bd1e995) >> 0x18 ^ _UNK_18154366c * 0x5bd1e995) * 0x5bd1e995 ^ 0x2099770d; uVar2 = (uVar2 >> 6 | uVar2 << 0x1a) ^ 0x57e1fed0; lVar65 = (longlong) (int)(0xfbcf >> ((char)(((uVar60 + 2) * (uVar60 + 1) * uVar60) / 3) * -3 & 0x1fU) & 0xc2c3U ^ 0xcbd3); if ((int)CONCAT71((int7)((ulonglong)pcVar67 >> 8),(uVar2 << 0xe | uVar2 >> 0x12) == 0x2d3807fe) * 0xb == 0) { if (param_2 == 0) { if (*(char *)(param_1 + 0x211) == '\0') { FUN_18063de30(param_1,0,0,param_3); } else { aiStack_88[0] = FUN_1806fd540(param_1 + 8); if (aiStack_88[0] == 0) { lVar59 = FUN_1811316e0(0x18); if (lVar59 != 0) { pcVar67 = (char *)FUN_1805a48c0(lVar59,"[%d] ENCR_Decrypt error"); } lVar59 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pcVar67 + 8),aiStack_88); auStack_80[0] = 0x186; pcStack_60 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar58 = FUN_1805a21d0(*(undefined8 *)(lVar59 + 8),&pcStack_60); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar58,auStack_80); } } } func_0x00018063c8d1(); thunk_FUN_1805a9280(); return; } puVar64 = auStack_c8; if (param_2 != 0) { if (*(char *)(param_1 + 0x211) == '\0') { aiStack_78[0] = FUN_1806fd540(param_1 + 8,param_3,param_2); puVar64 = auStack_c8; if (aiStack_78[0] != 0) { lVar59 = FUN_1811316e0(0x18); if (lVar59 != 0) { pcVar67 = (char *)FUN_1805a48c0(lVar59,"[%d] ENCR_Decrypt error"); } lVar59 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pcVar67 + 8),aiStack_78); auStack_70[0] = 0x173; pcStack_58 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar58 = FUN_1805a21d0(*(undefined8 *)(lVar59 + 8),&pcStack_58); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar58,auStack_70); } } else { FUN_18063de30(param_1,0,param_2,param_3); puVar64 = auStack_c8; } } do { *(char **)(puVar64 + -8) = pcVar67; *(longlong *)(puVar64 + -0x10) = lVar65; *(longlong *)(puVar64 + -0x18) = lVar59; lVar1 = -lVar65; lVar59 = *(longlong *)(puVar64 + lVar1 + 0x8f8); lVar65 = *(longlong *)(puVar64 + lVar1 + 0x900); pcVar67 = *(char **)(puVar64 + lVar1 + 0x908); puVar64 = puVar64 + lVar1 + 0x910; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); return; } ############ FUN_ 18063daf0 size=376 ############ void FUN_18063daf0(longlong param_1,longlong *param_2) { int iVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *puVar4; longlong lVar5; undefined8 *local_res8; char *local_res10; puVar4 = (undefined8 *)0x0; if (*(char *)(param_1 + 0x210) == '\0') { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Encryptor object has not been initialized"); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; puVar4 = puVar2; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x17e); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar3 = FUN_1805a21d0(puVar4[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } lVar5 = *param_2; if (param_2[1] - lVar5 != 0) { if (*(char *)(param_1 + 0x211) != '\0') { FUN_18063de30(param_1,CONCAT71((int7)((ulonglong)lVar5 >> 8),1),param_2[1] - lVar5,lVar5); return; } iVar1 = FUN_1806fe9a0(param_1 + 8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar1); if (iVar1 != 0) { local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 != (char *)0x0) { puVar4 = (undefined8 *)FUN_1805a48c0(local_res10,"[%d] ENCR_Encrypt error"); } lVar5 = FUN_1805c0260(); FUN_18060e760(puVar4[1],&local_res8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x18d); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } } return; } ############ FUN_ 18063dc90 size=379 ############ void FUN_18063dc90(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *puVar4; longlong lVar5; undefined8 *local_res8; char *local_res10; puVar4 = (undefined8 *)0x0; if (*(char *)(param_1 + 0x210) == '\0') { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Encryptor object has not been initialized"); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; puVar4 = puVar2; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x199); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar3 = FUN_1805a21d0(puVar4[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } if (param_2 != 0) { if (*(char *)(param_1 + 0x211) == '\0') { iVar1 = FUN_1806fe9a0(param_1 + 8,param_3,param_2,param_4,0xfffffffffffffffe); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar1); if (iVar1 != 0) { local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 != (char *)0x0) { puVar4 = (undefined8 *)FUN_1805a48c0(local_res10,"[%d] ENCR_Encrypt error"); } lVar5 = FUN_1805c0260(); FUN_18060e760(puVar4[1],&local_res8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1a6); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } } else { FUN_18063de30(param_1,1,param_2,param_3); } } return; } ############ FUN_ 18063f150 size=204 ############ undefined4 FUN_18063f150(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res8; char *local_res10; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (*(char *)(param_1 + 0x210) != '\0') { return *(undefined4 *)(param_1 + 0x234); } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Encryptor object has not been initialized",param_3,param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x228); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res8); } ############ FUN_ 18063f250 size=205 ############ void FUN_18063f250(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res8; char *local_res10; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (*(char *)(param_1 + 0x210) != '\0') { FUN_1807002d0(*(undefined4 *)(param_1 + 8)); return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Encryptor object has not been initialized",param_3,param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x233); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res8); } ############ FUN_ 18063f570 size=558 ############ void FUN_18063f570(longlong param_1,undefined2 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; longlong lVar3; void *_Memory; char *local_res8; int local_res10 [2]; void *local_40; undefined8 uStack_38; longlong local_30; if (*(char *)(param_1 + 0x210) == '\0') { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 != (char *)0x0) { FUN_1805a48c0(local_res8,"Encryptor object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_res8 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res10[0] = 0x115; local_res8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_res10); } local_40 = (void *)0x0; uStack_38 = 0; local_30 = 0; local_res10[0] = CONCAT22(local_res10[0]._2_2_,param_2); FUN_18063f7c0(param_1,*(undefined4 *)(param_1 + 8),local_res10,param_3,&local_40); local_res10[0] = FUN_180700580(param_1 + 8,(undefined2)local_res10[0],local_40); if (local_res10[0] != 0) { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8,"[%d] ENCR_Reset error"); } pcVar1 = (char *)FUN_1811316e0(0x18); local_res8 = pcVar1; if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar3 + 8),local_res10); local_res10[0] = 0x12a; local_res8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\encryptor.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_res10); } if (local_40 == (void *)0x0) { return; } _Memory = local_40; if ((0xfff < (ulonglong)(local_30 - (longlong)local_40)) && (_Memory = *(void **)((longlong)local_40 + -8), 0x1f < (ulonglong)((longlong)local_40 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18063f9b0 size=97 ############ undefined8 * FUN_18063f9b0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 18063fa20 size=97 ############ undefined8 * FUN_18063fa20(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180645aa0 size=383 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180645aa0(longlong param_1,undefined4 param_2,undefined4 param_3,longlong *param_4) { void *pvVar1; char *pcVar2; undefined8 uVar3; void *_Memory; size_t _Size; undefined1 auStack_b8 [32]; undefined4 local_98 [2]; undefined1 local_90 [8]; char *local_88; undefined8 local_80; longlong *local_78; undefined4 local_70; undefined4 local_6c; undefined8 local_68; undefined8 local_60; ulonglong local_58; local_80 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_b8; _Size = param_4[1] - *param_4; local_78 = param_4; if (*(longlong *)(param_1 + 8) == 0) { local_88 = (char *)FUN_1811316e0(0x18); if (local_88 != (char *)0x0) { FUN_1805a48c0(local_88,"The commander for the target iLok device has not been set"); } pcVar2 = (char *)FUN_1811316e0(0x18); if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { local_88 = pcVar2; FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } local_98[0] = 500; local_88 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2protocols.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_88); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_98); } if (_Size != 0) { if (0x10 < _Size) { _Size = 0x10; } local_68 = 0; local_60 = 0; local_70 = param_2; local_6c = param_3; memcpy(&local_68,(void *)*param_4,_Size); (**(code **)(**(longlong **)(param_1 + 8) + 0x100)) (*(longlong **)(param_1 + 8),&local_70,local_90); } pvVar1 = (void *)*param_4; if (pvVar1 == (void *)0x0) { } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_4[2] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180647c60 size=304 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180647c60(longlong param_1,undefined8 *param_2) { char *pcVar1; undefined8 uVar2; char *pcVar3; undefined1 auStack_a8 [32]; undefined4 local_88 [2]; char *local_80; undefined8 local_78; undefined8 local_70; undefined8 uStack_68; undefined8 local_60; undefined8 uStack_58; undefined8 local_48; undefined8 local_40; undefined4 local_38; undefined4 local_34; undefined4 local_30; ulonglong local_28; local_78 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_a8; pcVar3 = (char *)0x0; if (*(longlong *)(param_1 + 8) != 0) { local_48 = 1; local_40 = 0; local_38 = 0; local_34 = 0xffffffff; local_30 = 0; (**(code **)(**(longlong **)(param_1 + 8) + 0xa8)) (*(longlong **)(param_1 + 8),&local_48,&local_70,0); *param_2 = local_70; param_2[1] = uStack_68; param_2[2] = local_60; param_2[3] = uStack_58; } local_80 = (char *)FUN_1811316e0(0x18); if (local_80 != (char *)0x0) { FUN_1805a48c0(local_80,"The commander for the target iLok device has not been set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_80 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_88[0] = 0x1a5; local_80 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2protocols.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_80); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_88); } ############ FUN_ 180648f40 size=1766 ############ /* WARNING: Instruction at (ram,0x000180649cf7) overlaps instruction at (ram,0x000180649cf5) */ /* WARNING: Removing unreachable block (ram,0x000180648fe7) */ ulonglong FUN_180648f40(longlong param_1,int param_2,undefined8 param_3,undefined8 *param_4, undefined8 param_5,undefined8 param_6) { longlong *plVar1; byte bVar2; char cVar3; uint uVar4; char *pcVar5; undefined8 uVar6; ulonglong uVar7; uint uVar8; undefined1 *puVar9; longlong lVar10; ulonglong uVar11; uint uVar12; uint uVar13; IMAGE_DOS_HEADER *pIVar14; uint *puVar15; char *pcVar16; longlong *plVar17; uint uVar18; uint *puVar19; uint *puVar20; uint *puVar21; longlong lVar22; uint *puVar23; IMAGE_DOS_HEADER *pIVar24; uint uVar25; int unaff_retaddr; undefined8 local_1b0; undefined1 local_1a8 [48]; undefined4 local_178; undefined4 local_170 [2]; undefined *local_168; undefined8 local_160; int local_158; int local_150; undefined8 local_140; undefined8 *local_138; undefined8 local_120; longlong local_118; char *local_110; longlong local_108; undefined8 local_100; undefined8 *local_f8; undefined8 local_f0; undefined8 local_d0; int local_64; ulonglong local_40; plVar17 = (longlong *)local_1a8; local_d0 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)local_1a8; local_138 = param_4; local_120 = param_3; local_158 = param_2; local_118 = param_1; local_108 = param_1; local_150 = param_2; local_100 = param_3; local_f8 = param_4; local_f0 = param_6; puVar19 = (uint *)0xe8cee8b2; do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_178 = 0x811c9e07; pIVar14 = &IMAGE_DOS_HEADER_180000000; local_168 = &DAT_1805cf184; do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); param_4[1] = *param_4; local_140 = 0x2f347895092add95; local_160 = 0x1092add95; if (*(longlong *)(param_1 + 8) == 0) { local_110 = (char *)FUN_1811316e0(0x18); if (local_110 != (char *)0x0) { FUN_1805a48c0(local_110,"The commander for the target iLok device has not been set"); } pcVar16 = (char *)0x0; pcVar5 = (char *)FUN_1811316e0(0x18); if (pcVar5 != (char *)0x0) { local_110 = pcVar5; FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; pcVar16 = pcVar5; } local_170[0] = 0x315; local_110 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2protocols.cpp"; uVar6 = FUN_1805a21d0(*(undefined8 *)(pcVar16 + 8),&local_110); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_170); } local_64 = param_2 + -0x20; uVar8 = 0x811c9e07; puVar20 = (uint *)&UNK_1805cf178; pIVar24 = pIVar14; LAB_180649240: puVar21 = puVar20 + 1; if (puVar21 == (uint *)plVar17[8]) { *(int *)(plVar17 + 0xc) = (int)puVar19; *(undefined2 *)(plVar17 + 0x26) = 3; *(uint *)((longlong)plVar17 + 0x54) = uVar8; puVar9 = (undefined1 *)((longlong)plVar17 + 0x54); plVar17[-1] = (longlong)puVar19; /* WARNING: Call to offcut address within same function */ plVar17[-2] = 0x1806492a5; uVar7 = func_0x0001806492a8(puVar9,~-(longlong)pIVar14 + 1); *(char *)(plVar17 + 0x35) = (char)plVar17[0x35] + -1; *(int *)(uVar7 - 0x73) = *(int *)(uVar7 - 0x73) - (int)puVar9; lVar10 = *plVar17; *plVar17 = lVar10 + 0x110; plVar17[-1] = lVar10 + 0x60525; plVar17[-2] = lVar10 + -0x7be7f; plVar17[-3] = lVar10 + 0x1389e; plVar17[-4] = lVar10 + -0x391fd; plVar17[-5] = lVar10 + -0x4f177; plVar17[-6] = lVar10 + 0x181e; plVar17[-7] = lVar10 + 0x5ab4d; return uVar7 & 0xfffffffffffffff8; } do { uVar8 = ((int)plVar17[0x35] + 1) * (int)plVar17[0x35] & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); puVar23 = puVar21; if ((pIVar24 != (IMAGE_DOS_HEADER *)0x0) && (lVar10._0_1_ = pIVar24->e_magic[0], lVar10._1_1_ = pIVar24->e_magic[1], lVar10._2_2_ = pIVar24->e_cblp, lVar10._4_2_ = pIVar24->e_cp, lVar10._6_2_ = pIVar24->e_crlc, -1 < lVar10)) { plVar17[0xd] = 0x2621fc0; lVar22 = (longlong)&DAT_182621fc0 + -plVar17[0xd]; pIVar14 = pIVar24; do { if (puVar21 < (uint *)(-plVar17[0xd] + 0x182621fc8 + lVar10)) { pIVar24 = pIVar14; if (-1 < lVar10) { puVar15 = (uint *)(lVar22 + lVar10); if (puVar15 < puVar20 + 2) { *(uint *)(plVar17 + 0x2b) = *puVar21; goto LAB_180649c11; } } break; } pIVar24 = (IMAGE_DOS_HEADER *)&pIVar14->e_cparhdr; lVar10._0_2_ = pIVar14->e_cparhdr; lVar10._2_2_ = pIVar14->e_minalloc; lVar10._4_2_ = pIVar14->e_maxalloc; lVar10._6_2_ = pIVar14->e_ss; pIVar14 = pIVar24; } while (-1 < lVar10); } goto LAB_180649c30; while (puVar15 = (uint *)(lVar22 + lVar10), puVar15 < puVar20 + 2) { LAB_180649c11: *(longlong *)((longlong)plVar17 + lVar10 + (lVar22 - (longlong)puVar21) + 0x158) = *(longlong *)puVar15 - lVar22; pIVar14 = (IMAGE_DOS_HEADER *)&pIVar14->e_cparhdr; lVar10 = *(longlong *)pIVar14; puVar23 = (uint *)(plVar17 + 0x2b); if (lVar10 < 0) break; } LAB_180649c30: plVar1 = plVar17 + 0x35; do { puVar20 = (uint *)((longlong)plVar17 + 0x30); uVar11 = 0xd600; *(char *)((longlong)plVar17 + -8) = 'S'; *(char *)((longlong)plVar17 + -7) = -100; *(char *)((longlong)plVar17 + -6) = 'd'; *(char *)((longlong)plVar17 + -5) = -0x80; *(char *)((longlong)plVar17 + -4) = '\x01'; *(char *)((longlong)plVar17 + -3) = '\0'; *(char *)((longlong)plVar17 + -2) = '\0'; *(char *)((longlong)plVar17 + -1) = '\0'; puVar15 = puVar23; uVar7 = FUN_18064b29d(0xd600,puVar23,0); if ((uVar11 & 0xc300) == 0) { return uVar7; } if ((uVar11 & 0xc3) != 0) { return (ulonglong)CONCAT11((char)(uVar7 >> 8) + *(char *)plVar17,(char)uVar7); } *(uint **)((longlong)plVar17 + -8) = puVar19; plVar17 = (longlong *)((longlong)plVar17 + -8); pcVar16 = (char *)plVar17; if ((uVar11 & 0xc3) == 0) { if ((uVar11 & 0xc3) == 0) { uVar8 = *puVar20; goto LAB_180649c7a; } } else { while( true ) { uVar8 = (uint)uVar7; if ((uVar11 & 0xc300) == 0) { return 0x1eb0603; } *puVar20 = uVar8; puVar15 = *(uint **)pcVar16; if ((uVar11 & 0x41) != 0) { uVar8 = puVar15[-0x22d99ff]; puVar19 = (uint *)(uVar11 - 1); bVar2 = (byte)uVar11 & 0x1f; *puVar19 = *puVar19 >> bVar2 | *puVar19 << 0x20 - bVar2; return (ulonglong)uVar8; } plVar17 = (longlong *)(pcVar16 + 8); pcVar16 = pcVar16 + 8; if ((uVar11 & 0xc300) != 0) break; LAB_180649c7a: uVar7 = (ulonglong)(uVar8 ^ *puVar15); if ((uVar11 & 0xc300) == 0) { return 0x1eb068b; } } } uVar8 = ((int)*plVar1 + 1) * (int)*plVar1 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar19 = puVar15; } while (uVar8 != 0); uVar8 = *(int *)((longlong)plVar17 + 0x30) * 0x10001a7; *(uint *)((longlong)plVar17 + 0x30) = uVar8; uVar18 = (uint)puVar15 | uVar8; uVar18 = uVar18 ^ uVar18 >> 10; uVar25 = uVar8 & 0x6f; uVar12 = uVar8 & 0x3f | 0x20; uVar4 = uVar8 & 0x1f | 0x76; cVar3 = (char)uVar25; uVar13 = 0; if ((int)(uint)(uVar4 * uVar4 * 0x4645 == uVar12 * uVar12 * 0xd3b1) >> ((cVar3 + '\x01') * (cVar3 + '\x01') * cVar3 * cVar3 & 2U) != 0) { uVar4 = uVar8 & 0x3f | 0x20; uVar12 = uVar8 & 0x1f | 0x76; uVar13 = (uVar25 + 1) * (uVar25 + 1) * uVar25 * uVar25; do { uVar18 = uVar18 ^ uVar8; puVar21 = puVar21 + 1; } while ((int)(uint)(uVar12 * uVar12 * 0x4645 == uVar4 * uVar4 * 0xd3b1) >> ((byte)uVar13 & 2) != 0); } pIVar14 = (IMAGE_DOS_HEADER *)(ulonglong)uVar13; if ((uVar18 & 3) != 0) { uVar18 = uVar18 + uVar8; } puVar19 = (uint *)(ulonglong)(uVar18 * 0x11); puVar20 = puVar21; goto LAB_180649240; } ############ FUN_ 180649e20 size=3182 ############ /* WARNING: Removing unreachable block (ram,0x000180649ee7) */ void FUN_180649e20(longlong param_1,int param_2,undefined4 *param_3,undefined8 *param_4, undefined8 param_5,undefined8 param_6) { undefined8 uVar1; uint uVar2; uint uVar3; ulonglong uVar4; int iVar5; undefined8 *puVar6; int iVar7; undefined4 uVar8; int unaff_retaddr; undefined1 auStack_1c8 [48]; char *local_198; undefined8 local_190; int local_188; int local_184; undefined4 local_180 [2]; undefined8 local_178; undefined8 local_170; int local_168; undefined4 local_15c; undefined4 local_158; undefined8 *local_150; longlong local_148; undefined4 *local_140; undefined8 *local_138; undefined4 *local_130; undefined4 local_128 [4]; undefined8 *local_118; undefined8 local_110; char *local_108 [5]; longlong local_e0; char *local_d8; undefined8 local_d0; undefined4 local_a0; undefined4 uStack_9c; undefined4 uStack_98; undefined4 uStack_94; undefined4 local_90; undefined4 uStack_8c; undefined4 uStack_88; undefined4 uStack_84; undefined2 local_68; undefined2 local_66; undefined8 local_64; undefined4 local_5c; undefined4 local_58; int local_54; undefined1 local_50; undefined1 local_4f; undefined2 local_4e; ulonglong local_48; local_d0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1c8; local_110 = param_6; iVar5 = 0; local_158 = 0xa0; local_15c = 0xf20; local_170 = 0x2621fc0; local_138 = (undefined8 *)&DAT_181196320; local_198 = (char *)0xa08e778e; local_184 = -0x3361d2af; local_178 = 0x1e6546b64; local_190 = 0x11b873593; uVar2 = (DAT_181196320 * 0x16a88000 | (uint)(DAT_181196320 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0x97ed6be9; uVar2 = (DAT_181196324 * 0x16a88000 | (uint)(DAT_181196324 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196328 * 0x16a88000 | (uint)(DAT_181196328 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; iVar7 = local_184; do { iVar7 = iVar7 + iVar5; iVar5 = (-iVar5 ^ 0xffffffffU) + 1; iVar7 = iVar7 - iVar5; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (DAT_18119632c * iVar7 * 0x8000 | (uint)(DAT_18119632c * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; param_4[1] = *param_4; local_188 = param_2; local_168 = param_2; local_150 = param_4; local_148 = param_1; local_140 = param_3; local_130 = param_3; local_118 = param_4; local_e0 = param_1; if (*(longlong *)(param_1 + 8) == 0) { local_108[0] = (char *)FUN_1811316e0(0x18); if (local_108[0] == (char *)0x0) { local_170 = 0; } else { local_170 = FUN_1805a48c0(local_108[0], "The commander for the target iLok device has not been set"); } local_198 = (char *)FUN_1811316e0(0x18); if (local_198 == (char *)0x0) { local_198 = (char *)0x0; } else { local_108[0] = local_198; FUN_1805a48c0(local_198,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)local_198 = pace::PaceLocationInfoFormatter::vftable; } local_128[0] = 0x390; local_108[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2protocols.cpp"; uVar1 = FUN_1805a21d0(*(undefined8 *)(local_198 + 8),local_108); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar1,local_128); } uVar2 = (DAT_181196330 * iVar7 * 0x8000 | (uint)(DAT_181196330 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196334 * iVar7 * 0x8000 | (uint)(DAT_181196334 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196338 * iVar7 * 0x8000 | (uint)(DAT_181196338 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_18119633c * iVar7 * 0x8000 | (uint)(DAT_18119633c * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196340 * iVar7 * 0x8000 | (uint)(DAT_181196340 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196344 * iVar7 * 0x8000 | (uint)(DAT_181196344 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196348 * iVar7 * 0x8000 | (uint)(DAT_181196348 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_18119634c * iVar7 * 0x8000 | (uint)(DAT_18119634c * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196350 * iVar7 * 0x8000 | (uint)(DAT_181196350 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; local_54 = param_2 + -0x20; uVar2 = (DAT_181196354 * iVar7 * 0x8000 | (uint)(DAT_181196354 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196358 * iVar7 * 0x8000 | (uint)(DAT_181196358 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_18119635c * iVar7 * 0x8000 | (uint)(DAT_18119635c * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196360 * iVar7 * 0x8000 | (uint)(DAT_181196360 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196364 * iVar7 * 0x8000 | (uint)(DAT_181196364 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196368 * iVar7 * 0x8000 | (uint)(DAT_181196368 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_18119636c * iVar7 * 0x8000 | (uint)(DAT_18119636c * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196370 * iVar7 * 0x8000 | (uint)(DAT_181196370 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196374 * iVar7 * 0x8000 | (uint)(DAT_181196374 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; local_68 = 3; uVar2 = (DAT_181196378 * iVar7 * 0x8000 | (uint)(DAT_181196378 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_18119637c * iVar7 * 0x8000 | (uint)(DAT_18119637c * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196380 * iVar7 * 0x8000 | (uint)(DAT_181196380 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196384 * iVar7 * 0x8000 | (uint)(DAT_181196384 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196388 * iVar7 * 0x8000 | (uint)(DAT_181196388 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_18119638c * iVar7 * 0x8000 | (uint)(DAT_18119638c * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196390 * iVar7 * 0x8000 | (uint)(DAT_181196390 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; local_66 = 0; uVar2 = (DAT_181196394 * iVar7 * 0x8000 | (uint)(DAT_181196394 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196398 * iVar7 * 0x8000 | (uint)(DAT_181196398 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_18119639c * iVar7 * 0x8000 | (uint)(DAT_18119639c * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963a0 * iVar7 * 0x8000 | (uint)(DAT_1811963a0 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963a4 * iVar7 * 0x8000 | (uint)(DAT_1811963a4 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963a8 * iVar7 * 0x8000 | (uint)(DAT_1811963a8 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; local_64 = 0; local_5c = 0; uVar2 = (DAT_1811963ac * iVar7 * 0x8000 | (uint)(DAT_1811963ac * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; local_58 = 0; uVar2 = (DAT_1811963b0 * iVar7 * 0x8000 | (uint)(DAT_1811963b0 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; local_50 = 1; uVar2 = (DAT_1811963b4 * iVar7 * 0x8000 | (uint)(DAT_1811963b4 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963b8 * iVar7 * 0x8000 | (uint)(DAT_1811963b8 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; local_4f = 1; uVar2 = (DAT_1811963bc * iVar7 * 0x8000 | (uint)(DAT_1811963bc * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963c0 * iVar7 * 0x8000 | (uint)(DAT_1811963c0 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963c4 * iVar7 * 0x8000 | (uint)(DAT_1811963c4 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963c8 * iVar7 * 0x8000 | (uint)(DAT_1811963c8 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963cc * iVar7 * 0x8000 | (uint)(DAT_1811963cc * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963d0 * iVar7 * 0x8000 | (uint)(DAT_1811963d0 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963d4 * iVar7 * 0x8000 | (uint)(DAT_1811963d4 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963d8 * iVar7 * 0x8000 | (uint)(DAT_1811963d8 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963dc * iVar7 * 0x8000 | (uint)(DAT_1811963dc * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963e0 * iVar7 * 0x8000 | (uint)(DAT_1811963e0 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963e4 * iVar7 * 0x8000 | (uint)(DAT_1811963e4 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; local_4e = 0; uVar2 = (DAT_1811963e8 * iVar7 * 0x8000 | (uint)(DAT_1811963e8 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963ec * iVar7 * 0x8000 | (uint)(DAT_1811963ec * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963f0 * iVar7 * 0x8000 | (uint)(DAT_1811963f0 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; local_198 = (char *)(ulonglong)uVar2; local_170 = 0xd4; (**(code **)(**(longlong **)(param_1 + 8) + 0xa8)) (*(longlong **)(param_1 + 8),&local_68,&local_a0); *local_130 = local_a0; local_130[1] = uStack_9c; local_130[2] = uStack_98; local_130[3] = uStack_94; local_130[4] = local_90; local_130[5] = uStack_8c; local_130[6] = uStack_88; local_130[7] = uStack_84; uVar2 = (DAT_1811963f4 * iVar7 * 0x8000 | (uint)(DAT_1811963f4 * iVar7) >> 0x11) * 0x1b873593 ^ uVar2; uVar2 = (DAT_1811963f8 * iVar7 * 0x8000 | (uint)(DAT_1811963f8 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_1811963fc * iVar7 * 0x8000 | (uint)(DAT_1811963fc * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196400 * iVar7 * 0x8000 | (uint)(DAT_181196400 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196404 * iVar7 * 0x8000 | (uint)(DAT_181196404 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196408 * iVar7 * 0x8000 | (uint)(DAT_181196408 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_18119640c * iVar7 * 0x8000 | (uint)(DAT_18119640c * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (DAT_181196410 * iVar7 * 0x8000 | (uint)(DAT_181196410 * iVar7) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar4 = (ulonglong)((uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64); if (local_188 != local_130[7]) { local_d8 = (char *)FUN_1811316e0(0x18); if (local_d8 == (char *)0x0) { local_140 = (undefined4 *)0x0; } else { local_140 = (undefined4 *)FUN_1805a48c0(local_d8,"The expected Auth Record was not found"); } local_138 = (undefined8 *)FUN_1811316e0(0x18); puVar6 = (undefined8 *)0x0; if (local_138 != (undefined8 *)0x0) { FUN_1805a48c0(local_138,"|__FILE__|%s|__LINE__|%d"); *local_138 = pace::PaceLocationInfoFormatter::vftable; puVar6 = local_138; } local_180[0] = 0x421; local_d8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2protocols.cpp"; uVar1 = FUN_1805a21d0(puVar6[1],&local_d8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar1,local_180); } do { FUN_18064ab32(0x6214); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); /* WARNING: Call to offcut address within same function */ uVar8 = func_0x00018064ab1e(); FUN_18064ab33(uVar8,uVar4); return; } ############ FUN_ 18064b020 size=309 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18064b020(longlong param_1,longlong *param_2,int param_3,undefined4 param_4) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; longlong lVar5; undefined8 *puVar6; undefined1 auStack_b8 [32]; undefined4 local_98; undefined8 local_90; longlong *local_88; undefined8 *local_80; int local_78; undefined4 local_74; undefined1 local_70; int local_68 [8]; ulonglong local_48; local_90 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_b8; puVar6 = (undefined8 *)0x0; local_98 = 0; local_88 = param_2; local_80 = (undefined8 *)FUN_1811316e0(0x30); if (local_80 != (undefined8 *)0x0) { *local_80 = pace::eden::thrift::ilok::Ilok2CertChain::vftable; *(undefined4 *)(local_80 + 1) = 0; local_80[2] = 0; local_80[3] = 0; local_80[4] = 0; *(undefined2 *)(local_80 + 5) = 0; puVar6 = local_80; } *param_2 = (longlong)puVar6; FUN_18063fa20(param_2 + 1,puVar6); FUN_1805ae620(param_2,puVar6,puVar6); local_98 = 1; local_70 = 1; local_78 = param_3; local_74 = param_4; (**(code **)(**(longlong **)(param_1 + 8) + 0x68)) (*(longlong **)(param_1 + 8),&local_78,local_68,*param_2 + 0x10); if (local_68[0] == -1) { *param_2 = 0; plVar4 = (longlong *)param_2[1]; param_2[1] = 0; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } else { *(int *)(*param_2 + 8) = local_68[0]; if (param_3 == 0) { *(undefined1 *)(param_1 + 0x18) = 1; } } } ############ FUN_ 18065fec0 size=206 ############ ulonglong FUN_18065fec0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { ulonglong uVar1; undefined8 *puVar2; undefined8 *local_res10; char *local_res18; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_18065ffa0(); if (uVar1 < 0x100000000) { return uVar1 & 0xffffffff; } local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10, "Can\'t convert Ptime to a 32-bit Unix/Posix time, because the Unix/Posix time is larger than a 32-bit number." ,param_3,param_4,uVar3); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar3); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x5f); local_res18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\timeutils.cpp"; uVar3 = FUN_1805a21d0(puVar2[1],&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res10); } ############ FUN_ 1806528f0 size=310 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806528f0(longlong param_1,undefined4 *param_2,undefined4 *param_3) { char *pcVar1; undefined8 uVar2; char *pcVar3; undefined1 auStack_98 [32]; undefined4 local_78 [2]; undefined4 local_70 [2]; char *local_68; undefined8 local_60; undefined1 local_58 [28]; undefined4 local_3c; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; *param_3 = 0xffffffff; *param_2 = *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x3b4); pcVar3 = (char *)0x0; if (*(longlong *)(param_1 + 8) != 0) { local_78[0] = 0x100; (**(code **)(**(longlong **)(param_1 + 8) + 0x1e8)) (*(longlong **)(param_1 + 8),local_78,local_58); *param_3 = local_3c; } local_68 = (char *)FUN_1811316e0(0x18); if (local_68 != (char *)0x0) { FUN_1805a48c0(local_68,"The commander for the target iLok device has not been set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_68 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_70[0] = 0x1c9; local_68 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2protocols.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_68); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_70); } ############ FUN_ 180652c80 size=1279 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180652c80(basic_istream_> *param_1,undefined8 param_2) { uint uVar1; void *pvVar2; bool bVar3; longlong lVar4; __uint64 _Var5; undefined8 *puVar6; _Locimp *p_Var7; facet *pfVar8; longlong lVar9; void *pvVar10; longlong lVar11; basic_istream_> *pbVar12; undefined1 auStack_138 [32]; basic_istream_> *local_118; undefined8 local_110; undefined1 *local_108; undefined1 local_100; _Locimp *local_f0; longlong local_e8; longlong *local_e0; basic_istream_> *local_d8; undefined8 local_d0; undefined2 local_c8; longlong local_c0; undefined1 local_b8; undefined1 local_b7; basic_istream_> *local_b0; locale local_a8 [8]; longlong *local_a0; basic_istream_> *local_98; uint local_90; undefined8 local_88; basic_istream_> *local_80; undefined1 local_78; undefined1 local_70 [24]; undefined1 local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_88 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_138; pbVar12 = param_1 + *(int *)(*(longlong *)param_1 + 4); uVar1 = *(uint *)(pbVar12 + 0x18); local_d8 = param_1; local_b0 = pbVar12; local_98 = pbVar12; local_90 = uVar1; local_80 = param_1; if (*(longlong **)(pbVar12 + 0x48) != (longlong *)0x0) { (**(code **)(**(longlong **)(pbVar12 + 0x48) + 8))(); } local_78 = std::basic_istream_>::_Ipfx(param_1,false); if (!(bool)local_78) goto LAB_180653144; local_c0 = *(longlong *)(param_1 + (longlong)*(int *)(*(longlong *)param_1 + 4) + 0x48); local_b8 = local_c0 == 0; local_b7 = 0; pfVar8 = (facet *)0x0; local_d0 = 0; local_c8 = 1; lVar4 = std::ios_base::getloc((ios_base *)(param_1 + *(int *)(*(longlong *)param_1 + 4))); std::_Lockit::_Lockit((_Lockit *)&local_e8,0); _Var5 = std::locale::id::operator_unsigned___int64((id *)&DAT_18265f608); lVar4 = *(longlong *)(lVar4 + 8); if ((_Var5 < *(ulonglong *)(lVar4 + 0x18)) && (*(longlong *)(*(longlong *)(lVar4 + 0x10) + _Var5 * 8) != 0)) { LAB_180652d99: bVar3 = true; } else { lVar9 = 0; if (*(char *)(lVar4 + 0x24) == '\0') { LAB_180652f24: if (lVar9 != 0) goto LAB_180652d99; } else { p_Var7 = std::locale::_Getgloballocale(); if (_Var5 < *(ulonglong *)(p_Var7 + 0x18)) { lVar9 = *(longlong *)(*(longlong *)(p_Var7 + 0x10) + _Var5 * 8); goto LAB_180652f24; } } bVar3 = false; } std::_Lockit::~_Lockit((_Lockit *)&local_e8); if ((local_f0 != (_Locimp *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*(longlong *)local_f0 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } local_110 = param_2; if (!bVar3) { local_e8 = FUN_1811316e0(0x180); if (local_e8 != 0) { pfVar8 = (facet *)FUN_18065a970(local_e8,0); } lVar4 = std::ios_base::getloc((ios_base *)(param_1 + *(int *)(*(longlong *)param_1 + 4))); local_f0 = std::locale::_Locimp::_New_Locimp(*(_Locimp **)(lVar4 + 8)); if (pfVar8 != (facet *)0x0) { _Var5 = std::locale::id::operator_unsigned___int64((id *)&DAT_18265f608); std::locale::_Locimp::_Locimp_Addfac(local_f0,pfVar8,_Var5); *(undefined4 *)(local_f0 + 0x20) = 0; std::_Yarn::operator=((_Yarn *)(local_f0 + 0x28),"*"); } if ((local_e0 != (longlong *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*local_e0 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } std::basic_ios_>::imbue ((basic_ios_> *) (param_1 + *(int *)(*(longlong *)param_1 + 4)),local_a8); if ((local_a0 != (longlong *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*local_a0 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } local_118 = param_1 + *(int *)(*(longlong *)param_1 + 4); local_48 = 0; local_40 = 0xf; local_58 = 0; local_100 = 0; local_108 = &local_58; FUN_18065ecc0(pfVar8,local_a8,&local_c0,&local_d0); if (0xf < local_40) { pvVar2 = (void *)CONCAT71(uStack_57,local_58); pvVar10 = pvVar2; if ((0xfff < local_40 + 1) && (pvVar10 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } if ((local_f0 != (_Locimp *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*(longlong *)local_f0 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } goto LAB_180653144; } lVar4 = std::ios_base::getloc((ios_base *)(param_1 + *(int *)(*(longlong *)param_1 + 4))); std::_Lockit::_Lockit((_Lockit *)&local_e8,0); lVar9 = DAT_18265f648; _Var5 = std::locale::id::operator_unsigned___int64((id *)&DAT_18265f608); lVar4 = *(longlong *)(lVar4 + 8); if (_Var5 < *(ulonglong *)(lVar4 + 0x18)) { lVar11 = *(longlong *)(*(longlong *)(lVar4 + 0x10) + _Var5 * 8); if (lVar11 == 0) goto LAB_180652f37; } else { lVar11 = 0; LAB_180652f37: if (*(char *)(lVar4 + 0x24) == '\0') { LAB_180652f50: if (lVar11 != 0) goto LAB_180652e30; } else { p_Var7 = std::locale::_Getgloballocale(); if (_Var5 < *(ulonglong *)(p_Var7 + 0x18)) { lVar11 = *(longlong *)(*(longlong *)(p_Var7 + 0x10) + _Var5 * 8); goto LAB_180652f50; } } lVar11 = lVar9; if (lVar9 == 0) { FUN_1805a49a0(local_70); /* WARNING: Subroutine does not return */ _CxxThrowException(local_70,(ThrowInfo *)&DAT_1825fd200); } } LAB_180652e30: std::_Lockit::~_Lockit((_Lockit *)&local_e8); local_118 = param_1 + *(int *)(*(longlong *)param_1 + 4); local_48 = 0; local_40 = 0xf; local_58 = 0; local_100 = 0; local_108 = &local_58; FUN_18065ecc0(lVar11,local_a8,&local_c0,&local_d0); if (0xf < local_40) { pvVar2 = (void *)CONCAT71(uStack_57,local_58); pvVar10 = pvVar2; if ((0xfff < local_40 + 1) && (pvVar10 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } if ((local_f0 != (_Locimp *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*(longlong *)local_f0 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } LAB_180653144: if (*(longlong **)(param_1 + (longlong)*(int *)(*(longlong *)param_1 + 4) + 0x48) != (longlong *)0x0) { (**(code **)(**(longlong **)(param_1 + (longlong)*(int *)(*(longlong *)param_1 + 4) + 0x48) + 0x10))(); } *(uint *)(pbVar12 + 0x18) = uVar1 & 0xffff; } ############ FUN_ 18065d630 size=55 ############ void FUN_18065d630(void) { longlong lVar1; lVar1 = FUN_1811316e0(0x40); *(longlong *)lVar1 = lVar1; *(longlong *)(lVar1 + 8) = lVar1; *(longlong *)(lVar1 + 0x10) = lVar1; *(undefined2 *)(lVar1 + 0x18) = 0x101; return; } ############ FUN_ 18065ecc0 size=3910 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18065ecc0(longlong param_1,undefined8 *param_2,undefined8 *param_3,ulonglong param_4, ios_base *param_5,undefined8 *param_6,undefined8 param_7,char param_8) { undefined4 uVar1; undefined4 uVar2; undefined4 uVar3; void *pvVar4; bool bVar5; ulonglong uVar6; char cVar7; undefined1 uVar8; undefined2 uVar9; int iVar10; longlong lVar11; __uint64 _Var12; undefined8 *puVar13; num_get_>_> *this; _Locimp *p_Var14; ushort *puVar15; undefined2 *puVar16; undefined8 uVar17; undefined4 *puVar18; longlong lVar19; ios_base *piVar20; void *pvVar21; num_get_>_> *pnVar22; char *pcVar23; char *pcVar24; undefined2 uVar25; undefined1 auStack_188 [32]; ulonglong *local_168; undefined1 *local_160; undefined1 local_158; undefined1 local_157; uint local_154; int local_150; ushort local_14c; ulonglong local_148; char local_140 [8]; longlong local_138; undefined8 local_130; uint local_128 [2]; undefined8 *local_120; undefined1 local_118 [8]; undefined8 *local_110; int local_108; int local_104; undefined8 local_100; undefined8 local_f8; longlong *local_f0; ios_base *local_e8; longlong *local_e0; longlong local_d8; ulonglong local_d0; undefined8 *local_c8; undefined8 *local_c0; undefined1 local_b8 [2]; undefined1 local_b6 [2]; undefined1 local_b4 [4]; undefined1 local_b0 [32]; undefined8 local_90; undefined1 local_88; undefined7 uStack_87; ulonglong local_78; ulonglong local_70; undefined4 local_68; undefined1 local_60; undefined7 uStack_5f; _Locimp *local_58; undefined8 local_50; ulonglong local_48; ulonglong local_40; local_90 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_188; local_e8 = param_5; local_110 = param_6; local_c0 = param_6; local_130 = param_7; local_148 = param_4; local_138 = param_1; local_120 = param_2; local_d8 = param_1; local_d0 = param_4; local_c8 = param_3; cVar7 = FUN_180653530(param_3,param_4); pnVar22 = (num_get_>_> *)0x0; while (cVar7 == '\0') { if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar10 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar10 == -1)) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar10; } *(undefined1 *)(param_3 + 1) = 1; } iVar10 = isspace((int)*(char *)((longlong)param_3 + 9)); if (iVar10 == 0) break; if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar10 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar10 == -1 )) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; } else { *(undefined1 *)(param_3 + 1) = 0; } cVar7 = FUN_180653530(param_3,param_4); } local_154 = local_154 & 0xffffff00; local_157 = 0; cVar7 = FUN_180653530(param_3,param_4); if (cVar7 == '\0') { if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar10 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar10 == -1)) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar10; } *(undefined1 *)(param_3 + 1) = 1; } if ((*(char *)((longlong)param_3 + 9) == '-') || (cVar7 = FUN_18065bb70(param_3), cVar7 == '+')) { if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar10 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar10 == -1)) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar10; } *(undefined1 *)(param_3 + 1) = 1; } local_157 = *(undefined1 *)((longlong)param_3 + 9); } } local_150 = 0; local_104 = 0; local_108 = 0; local_100 = 0; local_14c = 0; local_128[0] = 0x578; uVar9 = 1; lVar11 = std::ios_base::getloc(param_5); std::_Lockit::_Lockit((_Lockit *)&local_f8,0); _Var12 = std::locale::id::operator_unsigned___int64((id *)id_exref); lVar11 = *(longlong *)(lVar11 + 8); if ((*(ulonglong *)(lVar11 + 0x18) <= _Var12) || (*(longlong *)(*(longlong *)(lVar11 + 0x10) + _Var12 * 8) == 0)) { lVar19 = 0; if (*(char *)(lVar11 + 0x24) == '\0') { LAB_18065ef7a: if (lVar19 != 0) goto LAB_18065eee9; } else { p_Var14 = std::locale::_Getgloballocale(); if (_Var12 < *(ulonglong *)(p_Var14 + 0x18)) { lVar19 = *(longlong *)(*(longlong *)(p_Var14 + 0x10) + _Var12 * 8); goto LAB_18065ef7a; } } _Var12 = std::num_get_>_>::_Getcat ((facet **)0x0,(locale *)0x0); if (_Var12 == 0xffffffffffffffff) { bVar5 = false; goto LAB_18065eeeb; } } LAB_18065eee9: bVar5 = true; LAB_18065eeeb: std::_Lockit::~_Lockit((_Lockit *)&local_f8); if ((local_58 != (_Locimp *)0x0) && (puVar13 = (undefined8 *)(**(code **)(*(longlong *)local_58 + 0x10))(), puVar13 != (undefined8 *)0x0)) { (**(code **)*puVar13)(puVar13); } if (!bVar5) { this = (num_get_>_> *) FUN_1811316e0(0x10); local_f8 = this; if (this != (num_get_>_> *)0x0) { std::num_get_>_>:: num_get_>_>(this,0); *(undefined ***)this = std::num_get_>_>::vftable; pnVar22 = this; } piVar20 = local_e8; lVar11 = std::ios_base::getloc(local_e8); local_58 = std::locale::_Locimp::_New_Locimp(*(_Locimp **)(lVar11 + 8)); if (pnVar22 != (num_get_>_> *)0x0) { _Var12 = std::locale::id::operator_unsigned___int64((id *)id_exref); std::locale::_Locimp::_Locimp_Addfac(local_58,(facet *)pnVar22,_Var12); *(undefined4 *)(local_58 + 0x20) = 0; std::_Yarn::operator=((_Yarn *)(local_58 + 0x28),"*"); } if ((local_f0 != (longlong *)0x0) && (puVar13 = (undefined8 *)(**(code **)(*local_f0 + 0x10))(), puVar13 != (undefined8 *)0x0)) { (**(code **)*puVar13)(puVar13,1); } std::ios_base::imbue(piVar20,(locale *)&local_e8); if ((local_e0 != (longlong *)0x0) && (puVar13 = (undefined8 *)(**(code **)(*local_e0 + 0x10))(), puVar13 != (undefined8 *)0x0)) { (**(code **)*puVar13)(puVar13,1); } if ((local_58 != (_Locimp *)0x0) && (puVar13 = (undefined8 *)(**(code **)(*(longlong *)local_58 + 0x10))(), puVar13 != (undefined8 *)0x0)) { (**(code **)*puVar13)(puVar13,1); } } uVar6 = local_148; local_e8 = (ios_base *)(local_138 + 0x10); pcVar24 = (char *)local_e8; uVar25 = uVar9; if (0xf < *(ulonglong *)(local_138 + 0x28)) { pcVar24 = *(char **)local_e8; } LAB_18065f0d0: while( true ) { while( true ) { pcVar23 = pcVar24; piVar20 = local_e8; if (0xf < *(ulonglong *)(local_e8 + 0x18)) { piVar20 = *(ios_base **)local_e8; } if (((ios_base *)pcVar23 == piVar20 + *(longlong *)(local_e8 + 0x10)) || (cVar7 = FUN_180653530(param_3,uVar6), pnVar22 = local_f8, cVar7 != '\0')) { if ((short)local_14c < 1) { puVar18 = (undefined4 *)FUN_1805b6990(&local_148,local_128[0],uVar9,uVar25); } else { local_148 = CONCAT44(local_148._4_4_,(int)(short)local_14c); puVar16 = (undefined2 *)FUN_18065b100(local_118,(short)local_128[0] + -1); uVar17 = FUN_1805b6990(local_128,*puVar16,0xc,0x1f); puVar18 = (undefined4 *)FUN_18065c070(uVar17,&local_154,&local_148); } uVar1 = *puVar18; local_168 = (ulonglong *)local_100; FUN_18065a5a0(&local_130,local_150,local_104,local_108); local_148 = CONCAT44(local_148._4_4_,uVar1); FUN_1805b41e0(&local_100,&local_148,&local_130); *local_110 = local_100; uVar17 = param_3[1]; *param_2 = *param_3; param_2[1] = uVar17; } if (*pcVar23 == '%') break; pcVar24 = pcVar23 + 1; if ((char)local_154 == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar10 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar10 == -1)) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; } else { *(undefined1 *)(param_3 + 1) = 0; } } else { local_154 = local_154 & 0xffffff00; } } pcVar24 = pcVar23 + 1; cVar7 = *pcVar24; if (cVar7 != '%') break; if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar10 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar10 == -1 )) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; goto switchD_18065f144_caseD_43; } *(undefined1 *)(param_3 + 1) = 0; pcVar24 = pcVar23 + 2; } switch(cVar7) { case 'A': case 'a': case 'w': local_f8._3_5_ = SUB85(pnVar22,3); local_f8._0_3_ = (uint3)CONCAT11(cVar7,0x25); local_50 = 0; local_48 = 0xf; local_60 = 0; lVar11 = -1; do { lVar19 = lVar11 + 1; lVar11 = lVar11 + 1; } while (*(char *)((longlong)&local_f8 + lVar19) != '\0'); FUN_1805a6cb0(&local_60,&local_f8); local_78 = 0; local_70 = 0xf; local_88 = 0; local_68 = 0xffff0000; local_168 = (ulonglong *)FUN_1805a4070(local_b0,&local_60); local_160 = &local_88; FUN_180667750(local_138 + 0x90,local_b4,param_3,uVar6); uVar8 = (char)local_154; if ((ushort)local_68 < local_78) { uVar8 = 1; } local_154 = CONCAT31(local_154._1_3_,uVar8); if (0xf < local_70) { pvVar4 = (void *)CONCAT71(uStack_87,local_88); pvVar21 = pvVar4; if ((0xfff < local_70 + 1) && (pvVar21 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar21)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar21); } local_78 = 0; local_70 = 0xf; local_88 = 0; if (0xf < local_48) { pvVar4 = (void *)CONCAT71(uStack_5f,local_60); pvVar21 = pvVar4; if ((0xfff < local_48 + 1) && (pvVar21 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar21)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } LAB_18065f2b8: local_70 = 0xf; local_78 = 0; local_88 = 0; /* WARNING: Subroutine does not return */ free(pvVar21); } break; case 'B': case 'b': case 'm': local_140[4] = 0x25; local_140[5] = cVar7; local_140[6] = 0; local_50 = 0; local_48 = 0xf; local_60 = 0; lVar11 = -1; do { lVar19 = lVar11 + 5; lVar11 = lVar11 + 1; } while (local_140[lVar19] != '\0'); FUN_1805a6cb0(&local_60,local_140 + 4); local_78 = 0; local_70 = 0xf; local_88 = 0; local_68 = 0xffff0000; local_168 = (ulonglong *)FUN_1805a4070(local_b0,&local_60); local_160 = &local_88; puVar16 = (undefined2 *)FUN_180667290(local_138 + 0x90,local_b6,param_3,uVar6); uVar9 = *puVar16; local_154 = local_154 & 0xff; if ((ushort)local_68 < local_78) { local_154 = 1; } if (0xf < local_70) { pvVar4 = (void *)CONCAT71(uStack_87,local_88); pvVar21 = pvVar4; if ((0xfff < local_70 + 1) && (pvVar21 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar21)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar21); } local_78 = 0; local_70 = 0xf; local_88 = 0; if (0xf < local_48) { pvVar4 = (void *)CONCAT71(uStack_5f,local_60); pvVar21 = pvVar4; if ((0xfff < local_48 + 1) && (pvVar21 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar21)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } goto LAB_18065f2b8; } break; case 'F': cVar7 = FUN_18065bb70(param_3); if (cVar7 == '.') goto LAB_18065fb83; goto LAB_18065fba3; case 'H': local_78 = 0; local_70 = 0xf; local_88 = 0; local_68 = 0xffff0000; local_158 = 0x30; local_168 = (ulonglong *)&local_158; local_150 = FUN_180655c50(param_3,uVar6,&local_88,2); if (local_150 == -1) { local_160 = (undefined1 *)CONCAT71(local_160._1_7_,local_157); local_168 = local_110; FUN_180653fa0(local_138,param_2,param_3,uVar6); FUN_180485450(&local_88); } FUN_180485450(&local_88); pcVar24 = pcVar23 + 2; goto LAB_18065f0d0; case 'M': local_78 = 0; local_70 = 0xf; local_88 = 0; local_68 = 0xffff0000; local_158 = 0x30; local_168 = (ulonglong *)&local_158; local_104 = FUN_180655c50(param_3,uVar6,&local_88,2); if (local_104 == -1) { local_160 = (undefined1 *)CONCAT71(local_160._1_7_,local_157); local_168 = local_110; FUN_180653fa0(local_138,param_2,param_3,uVar6); FUN_180485450(&local_88); } FUN_180485450(&local_88); pcVar24 = pcVar23 + 2; goto LAB_18065f0d0; case 'S': case 's': local_78 = 0; local_70 = 0xf; local_88 = 0; local_68 = 0xffff0000; local_158 = 0x30; local_168 = (ulonglong *)&local_158; local_108 = FUN_180655c50(param_3,uVar6,&local_88,2); if (local_108 == -1) { local_160 = (undefined1 *)CONCAT71(local_160._1_7_,local_157); local_168 = local_110; FUN_180653fa0(local_138,param_2,param_3,uVar6); FUN_180485450(&local_88); } if (*pcVar24 != 'S') { FUN_180485450(&local_88); goto switchD_18065f144_caseD_66; } FUN_180485450(&local_88); pcVar24 = pcVar23 + 2; goto LAB_18065f0d0; case 'Y': case 'y': local_140[0] = '%'; local_140[1] = cVar7; local_140[2] = 0; local_50 = 0; local_48 = 0xf; local_60 = 0; lVar11 = -1; do { lVar19 = lVar11 + 1; lVar11 = lVar11 + 1; } while (local_140[lVar19] != '\0'); FUN_1805a6cb0(&local_60,local_140); local_78 = 0; local_70 = 0xf; local_88 = 0; local_68 = 0xffff0000; local_168 = (ulonglong *)FUN_1805a4070(local_b0,&local_60); local_160 = &local_88; puVar15 = (ushort *)FUN_180667c10(local_138 + 0x90,local_b8,param_3,uVar6); local_128[0] = (uint)*puVar15; if (0xf < local_70) { pvVar4 = (void *)CONCAT71(uStack_87,local_88); pvVar21 = pvVar4; if ((0xfff < local_70 + 1) && (pvVar21 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar21)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar21); } local_78 = 0; local_70 = 0xf; local_88 = 0; if (0xf < local_48) { pvVar4 = (void *)CONCAT71(uStack_5f,local_60); pvVar21 = pvVar4; if ((0xfff < local_48 + 1) && (pvVar21 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar21)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } goto LAB_18065f2b8; } break; case 'Z': if (param_8 == '\0') goto LAB_18065fba3; pcVar24 = pcVar23 + 2; if (*pcVar24 != 'P') goto LAB_18065f0d0; cVar7 = FUN_180653530(param_3,uVar6); while (cVar7 == '\0') { cVar7 = FUN_18065bb70(param_3); iVar10 = isspace((int)cVar7); if (iVar10 == 0) break; FUN_18065bbc0(param_3); cVar7 = FUN_180653530(param_3,uVar6); } cVar7 = FUN_180653530(param_3,uVar6); if (cVar7 == '\0') { do { cVar7 = FUN_18065bb70(param_3); iVar10 = isspace((int)cVar7); if (iVar10 != 0) goto switchD_18065f144_caseD_43; uVar8 = FUN_18065bb70(param_3); FUN_18062b560(local_130,uVar8); FUN_18065bbc0(param_3); cVar7 = FUN_180653530(param_3,uVar6); } while (cVar7 == '\0'); pcVar24 = pcVar23 + 3; goto LAB_18065f0d0; } break; case 'd': puVar16 = (undefined2 *)FUN_180666eb0(local_138 + 0x90,local_118,param_3,uVar6); pcVar24 = pcVar23 + 2; uVar25 = *puVar16; goto LAB_18065f0d0; case 'f': switchD_18065f144_caseD_66: cVar7 = FUN_18065bb70(param_3); if (cVar7 != '.') { local_160 = (undefined1 *)CONCAT71(local_160._1_7_,local_157); local_168 = local_110; FUN_180653fa0(local_138,param_2,param_3,uVar6); } LAB_18065fb83: FUN_18065bbc0(param_3); FUN_180667020(local_138,param_3,uVar6,&local_100); LAB_18065fba3: local_154 = CONCAT31(local_154._1_3_,1); pcVar24 = pcVar23 + 2; goto LAB_18065f0d0; case 'j': goto switchD_18065f144_caseD_6a; } switchD_18065f144_caseD_43: pcVar24 = pcVar24 + 1; goto LAB_18065f0d0; switchD_18065f144_caseD_6a: local_78 = 0; local_70 = 0xf; local_88 = 0; local_68 = 0xffff0000; local_158 = 0x30; local_168 = (ulonglong *)&local_158; local_14c = FUN_180655a40(param_3,uVar6,&local_88,3); if (local_14c == 0xffff) { local_148 = local_148 & 0xffffffff00000000; local_168 = &local_148; FUN_180666b90(local_138 + 0x148,param_3,uVar6,&local_88); if (local_68._2_2_ != -1) { puVar13 = (undefined8 *)FUN_1805b6b80(&local_130,(int)local_68._2_2_); *local_110 = *puVar13; uVar1 = *(undefined4 *)((longlong)param_3 + 4); uVar2 = *(undefined4 *)(param_3 + 1); uVar3 = *(undefined4 *)((longlong)param_3 + 0xc); *(undefined4 *)param_2 = *(undefined4 *)param_3; *(undefined4 *)((longlong)param_2 + 4) = uVar1; *(undefined4 *)(param_2 + 1) = uVar2; *(undefined4 *)((longlong)param_2 + 0xc) = uVar3; FUN_180485450(&local_88); } } if (local_14c + 1 < 2) { /* WARNING: Subroutine does not return */ FUN_180666e50(1,local_14c,0); } if (0x16e < local_14c) { /* WARNING: Subroutine does not return */ FUN_180666e50(1,local_14c,1); } FUN_180485450(&local_88); pcVar24 = pcVar23 + 2; goto LAB_18065f0d0; } ############ FUN_ 18065d670 size=63 ############ void FUN_18065d670(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x40); *puVar1 = *param_1; puVar1[1] = *param_1; puVar1[2] = *param_1; return; } ############ FUN_ 1806531c0 size=878 ############ longlong * FUN_1806531c0(longlong *param_1,undefined8 param_2) { undefined1 uVar1; bool bVar2; facet *pfVar3; longlong lVar4; __uint64 _Var5; undefined8 *puVar6; _Locimp *p_Var7; facet *pfVar8; longlong lVar9; ios_base *this; longlong local_res8; undefined8 local_res10; uint local_res18; longlong *local_98; undefined8 local_88; undefined8 uStack_80; ios_base *local_78; uint local_70; undefined1 local_68 [8]; longlong *local_60; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; this = (ios_base *)((longlong)*(int *)(*param_1 + 4) + (longlong)param_1); local_res18 = *(uint *)(this + 0x18); local_88 = local_88 & 0xffffffffffffff00; uStack_80 = *(undefined8 *)(this + 0x48); local_res10 = param_2; local_78 = this; local_70 = local_res18; lVar4 = std::ios_base::getloc(this); std::_Lockit::_Lockit((_Lockit *)&local_res8,0); _Var5 = std::locale::id::operator_unsigned___int64((id *)&DAT_18265f620); lVar4 = *(longlong *)(lVar4 + 8); pfVar8 = (facet *)0x0; if ((_Var5 < *(ulonglong *)(lVar4 + 0x18)) && (*(longlong *)(*(longlong *)(lVar4 + 0x10) + _Var5 * 8) != 0)) { LAB_180653263: bVar2 = true; } else { lVar9 = 0; if (*(char *)(lVar4 + 0x24) == '\0') { LAB_1806533a4: if (lVar9 != 0) goto LAB_180653263; } else { p_Var7 = std::locale::_Getgloballocale(); if (_Var5 < *(ulonglong *)(p_Var7 + 0x18)) { lVar9 = *(longlong *)(*(longlong *)(p_Var7 + 0x10) + _Var5 * 8); goto LAB_1806533a4; } } bVar2 = false; } std::_Lockit::~_Lockit((_Lockit *)&local_res8); if ((local_98 != (longlong *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*local_98 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } if (!bVar2) { local_res8 = FUN_1811316e0(0x1a8); if (local_res8 != 0) { pfVar8 = (facet *)FUN_18065a640(local_res8,0); } lVar4 = std::ios_base::getloc ((ios_base *)((longlong)*(int *)(*param_1 + 4) + (longlong)param_1)); p_Var7 = std::locale::_Locimp::_New_Locimp(*(_Locimp **)(lVar4 + 8)); if (pfVar8 != (facet *)0x0) { _Var5 = std::locale::id::operator_unsigned___int64((id *)&DAT_18265f620); std::locale::_Locimp::_Locimp_Addfac(p_Var7,pfVar8,_Var5); *(undefined4 *)(p_Var7 + 0x20) = 0; std::_Yarn::operator=((_Yarn *)(p_Var7 + 0x28),"*"); } if ((local_60 != (longlong *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*local_60 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } std::basic_ios_>::imbue ((basic_ios_> *) ((longlong)*(int *)(*param_1 + 4) + (longlong)param_1),(locale *)&local_48); if (((longlong *)CONCAT44(uStack_3c,uStack_40) != (longlong *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*(longlong *)CONCAT44(uStack_3c,uStack_40) + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } local_48 = (undefined4)local_88; uStack_44 = local_88._4_4_; uStack_40 = (undefined4)uStack_80; uStack_3c = uStack_80._4_4_; lVar4 = (longlong)*(int *)(*param_1 + 4) + (longlong)param_1; FUN_180667f20(pfVar8,&local_88,&local_48,lVar4,*(undefined1 *)(lVar4 + 0x58),param_2); if ((p_Var7 != (_Locimp *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*(longlong *)p_Var7 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } goto LAB_1806534ef; } lVar4 = std::ios_base::getloc((ios_base *)((longlong)*(int *)(*param_1 + 4) + (longlong)param_1)); uVar1 = *(undefined1 *)((longlong)*(int *)(*param_1 + 4) + 0x58 + (longlong)param_1); std::_Lockit::_Lockit((_Lockit *)&local_res8,0); pfVar3 = DAT_18265f650; _Var5 = std::locale::id::operator_unsigned___int64((id *)&DAT_18265f620); lVar4 = *(longlong *)(lVar4 + 8); if ((*(ulonglong *)(lVar4 + 0x18) <= _Var5) || (pfVar8 = *(facet **)(*(longlong *)(lVar4 + 0x10) + _Var5 * 8), pfVar8 == (facet *)0x0)) { if (*(char *)(lVar4 + 0x24) == '\0') { LAB_18065331c: if (pfVar8 != (facet *)0x0) goto LAB_18065332d; } else { p_Var7 = std::locale::_Getgloballocale(); if (_Var5 < *(ulonglong *)(p_Var7 + 0x18)) { pfVar8 = *(facet **)(*(longlong *)(p_Var7 + 0x10) + _Var5 * 8); goto LAB_18065331c; } } pfVar8 = pfVar3; if (pfVar3 == (facet *)0x0) { FUN_1805a49a0(local_68); /* WARNING: Subroutine does not return */ _CxxThrowException(local_68,(ThrowInfo *)&DAT_1825fd200); } } LAB_18065332d: std::_Lockit::~_Lockit((_Lockit *)&local_res8); FUN_180667f20(pfVar8,&local_48,&local_88,(longlong)*(int *)(*param_1 + 4) + (longlong)param_1, uVar1,local_res10); if ((local_98 != (longlong *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*local_98 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } LAB_1806534ef: *(uint *)(this + 0x18) = local_res18 & 0xffff; return param_1; } ############ FUN_ 180654b30 size=1094 ############ void FUN_180654b30(longlong *param_1,undefined8 *param_2,ulonglong *param_3,undefined8 *param_4, ulonglong *param_5) { ulonglong *puVar1; char *pcVar2; ulonglong *puVar3; char *pcVar4; undefined8 uVar5; longlong *plVar6; longlong *plVar7; ulonglong **ppuVar8; longlong *plVar9; ulonglong uVar10; longlong *plVar11; longlong lVar12; ulonglong uVar13; ulonglong uVar14; longlong *plVar15; longlong *plVar16; ulonglong *local_res18; undefined1 local_res20 [8]; longlong *local_b8; longlong lStack_b0; ulonglong local_a8; ulonglong local_a0; longlong local_98; longlong *local_90; undefined8 uStack_88; longlong local_80; longlong *local_78; longlong *plStack_70; ulonglong local_68; undefined4 uStack_60; undefined4 uStack_5c; undefined8 local_50; local_50 = 0xfffffffffffffffe; local_78 = (longlong *)*param_4; plStack_70 = (longlong *)param_4[1]; local_68 = *param_5; uStack_60 = (undefined4)param_5[1]; uStack_5c = *(undefined4 *)((longlong)param_5 + 0xc); local_b8 = (longlong *)0x0; lStack_b0 = 0; local_a8 = 0; local_a0 = 0; local_98 = 0; local_res18 = param_3; local_b8 = (longlong *)FUN_1811316e0(0x10); *local_b8 = 0; local_b8[1] = 0; *local_b8 = (longlong)&local_b8; plVar9 = param_1; plVar7 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar7 = (longlong *)*param_1; plVar9 = (longlong *)*param_1; } if (local_78 == plStack_70) { LAB_180654e52: plVar6 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar6 = (longlong *)*param_1; } puVar1 = (ulonglong *)(param_1 + 2); plVar7 = (longlong *) FUN_1806574a0(local_res20,&local_b8,param_1,plVar7,plVar9,*puVar1 + (longlong)plVar6); if (local_98 == 0) { uVar14 = param_1[3]; plVar9 = param_1; if (0xf < uVar14) { plVar9 = (longlong *)*param_1; } uVar13 = *puVar1; plVar6 = param_1; if (0xf < uVar14) { plVar6 = (longlong *)*param_1; } uVar10 = *plVar7 - (longlong)plVar6; if (uVar13 < uVar10) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } param_5 = (ulonglong *)((longlong)plVar9 + (uVar13 - *plVar7)); local_res18 = (ulonglong *)(uVar13 - uVar10); ppuVar8 = &local_res18; if (param_5 <= (ulonglong *)(uVar13 - uVar10)) { ppuVar8 = ¶m_5; } puVar3 = *ppuVar8; if (0xf < uVar14) { param_1 = (longlong *)*param_1; } uVar13 = uVar13 - (longlong)puVar3; *puVar1 = uVar13; memmove((void *)((longlong)param_1 + uVar10), (void *)((longlong)((longlong)param_1 + uVar10) + (longlong)puVar3), (uVar13 - uVar10) + 1); } else { local_80 = local_a0 + local_98; uStack_88 = 0; local_90 = local_b8; plStack_70 = (longlong *)0x0; local_68 = local_a0; local_78 = local_b8; plVar7 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar7 = (longlong *)*param_1; } FUN_180656e30(param_1,*puVar1 + (longlong)plVar7,&local_78,&local_90); } FUN_18047c850(&local_b8); return; } uVar13 = CONCAT44(uStack_5c,uStack_60); plVar6 = plVar7; plVar16 = local_78; uVar14 = local_68; plVar15 = plVar9; plVar9 = plStack_70; do { for (; (local_98 != 0 && (plVar6 != plVar15)); plVar6 = (longlong *)((longlong)plVar6 + 1)) { if (local_b8 == (longlong *)0x0) { lVar12 = 0; } else { lVar12 = *local_b8; } *(undefined1 *)plVar6 = *(undefined1 *) ((ulonglong)((uint)local_a0 & 0xf) + *(longlong *) (*(longlong *)(lVar12 + 8) + (*(longlong *)(lVar12 + 0x10) - 1U & local_a0 >> 4) * 8)); local_98 = local_98 + -1; if (local_98 == 0) { local_a0 = 0; } else { local_a0 = local_a0 + 1; } } if (local_98 == 0) { plVar7 = plVar16; if (plVar6 != plVar15) { memmove(plVar6,plVar15,(longlong)plVar16 - (longlong)plVar15); plVar7 = (longlong *)((longlong)plVar6 + ((longlong)plVar16 - (longlong)plVar15)); } } else { for (; plVar7 = plVar6, plVar6 != plVar16; plVar6 = (longlong *)((longlong)plVar6 + 1)) { if ((((int)local_98 + (int)local_a0 & 0xfU) == 0) && (local_a8 <= local_98 + 0x10U >> 4)) { FUN_18065d710(&local_b8,1); } local_a0 = local_a0 & local_a8 * 0x10 - 1; uVar10 = local_a0 + local_98; lVar12 = (uVar10 >> 4 & local_a8 - 1) * 8; if (*(longlong *)(lVar12 + lStack_b0) == 0) { uVar5 = FUN_1811316e0(0x10); *(undefined8 *)(lVar12 + lStack_b0) = uVar5; } *(char *)((ulonglong)((uint)uVar10 & 0xf) + *(longlong *)(lVar12 + lStack_b0)) = (char)*plVar6; lVar12 = 0; if (local_b8 != (longlong *)0x0) { lVar12 = *local_b8; } *(undefined1 *)plVar6 = *(undefined1 *) ((ulonglong)((uint)local_a0 & 0xf) + *(longlong *) (*(longlong *)(lVar12 + 8) + (*(longlong *)(lVar12 + 0x10) - 1U & local_a0 >> 4) * 8) ); if (local_98 == 0) { local_a0 = 0; } else { local_a0 = local_a0 + 1; } } } local_80 = local_a0 + local_98; local_90 = (longlong *)0x0; uStack_88 = 0; if ((local_b8 != (longlong *)0x0) && ((undefined8 *)*local_b8 != (undefined8 *)0x0)) { local_90 = *(longlong **)*local_b8; } FUN_1806568a0(&local_b8,&local_78,&local_90,uVar14,uVar13); plVar6 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar6 = (longlong *)*param_1; } plVar6 = (longlong *)(param_1[2] + (longlong)plVar6); plVar11 = plVar6; plVar16 = plVar6; if (plVar9 != plVar6) { pcVar2 = (char *)param_2[1]; plVar15 = plVar9; do { pcVar4 = (char *)*param_2; plVar11 = plVar15; if ((char *)*param_2 == pcVar2) goto LAB_180654e52; for (; plVar16 = plVar15, plVar11 != plVar6; plVar11 = (longlong *)((longlong)plVar11 + 1)) { if (pcVar4 == pcVar2) goto LAB_180654e3a; if ((char)*plVar11 != *pcVar4) break; pcVar4 = pcVar4 + 1; } } while ((pcVar4 != pcVar2) && (plVar15 = (longlong *)((longlong)plVar15 + 1), plVar11 = plVar6, plVar16 = plVar6, plVar15 != plVar6)); } LAB_180654e3a: if (plVar16 == plVar11) goto LAB_180654e52; uVar14 = *local_res18; uVar13 = local_res18[1]; plVar6 = plVar7; plVar15 = plVar9; plVar9 = plVar11; } while( true ); } ############ FUN_ 180654f80 size=1109 ############ void FUN_180654f80(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4) { ulonglong *puVar1; char *pcVar2; ulonglong uVar3; ulonglong uVar4; char *pcVar5; undefined8 uVar6; longlong *plVar7; longlong *plVar8; ulonglong *puVar9; longlong *plVar10; ulonglong uVar11; longlong *plVar12; longlong lVar13; ulonglong uVar14; longlong *plVar15; longlong *plVar16; ulonglong local_res20; longlong *local_a8; longlong lStack_a0; ulonglong local_98; ulonglong local_90; longlong local_88; longlong *local_80; undefined8 uStack_78; longlong local_70; longlong *local_68; longlong *plStack_60; ulonglong local_58; ulonglong local_48; undefined8 local_40; undefined1 local_38 [16]; local_40 = 0xfffffffffffffffe; local_68 = (longlong *)*param_4; plStack_60 = (longlong *)param_4[1]; local_a8 = (longlong *)0x0; lStack_a0 = 0; local_98 = 0; local_90 = 0; local_88 = 0; local_a8 = (longlong *)FUN_1811316e0(0x10); *local_a8 = 0; local_a8[1] = 0; *local_a8 = (longlong)&local_a8; plVar10 = param_1; plVar8 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar8 = (longlong *)*param_1; plVar10 = (longlong *)*param_1; } plVar7 = plVar8; plVar16 = local_68; plVar15 = plVar10; plVar12 = plStack_60; if (local_68 != plStack_60) { do { for (; (plVar10 = plVar12, local_88 != 0 && (plVar7 != plVar15)); plVar7 = (longlong *)((longlong)plVar7 + 1)) { if (local_a8 == (longlong *)0x0) { lVar13 = 0; } else { lVar13 = *local_a8; } *(undefined1 *)plVar7 = *(undefined1 *) ((ulonglong)((uint)local_90 & 0xf) + *(longlong *) (*(longlong *)(lVar13 + 8) + (*(longlong *)(lVar13 + 0x10) - 1U & local_90 >> 4) * 8) ); local_88 = local_88 + -1; if (local_88 == 0) { local_90 = 0; } else { local_90 = local_90 + 1; } plVar12 = plVar10; } if (local_88 == 0) { plVar8 = plVar16; if (plVar7 != plVar15) { memmove(plVar7,plVar15,(longlong)plVar16 - (longlong)plVar15); plVar8 = (longlong *)((longlong)plVar7 + ((longlong)plVar16 - (longlong)plVar15)); } } else { for (; plVar8 = plVar7, plVar7 != plVar16; plVar7 = (longlong *)((longlong)plVar7 + 1)) { if ((((int)local_88 + (int)local_90 & 0xfU) == 0) && (local_98 <= local_88 + 0x10U >> 4)) { FUN_18065d710(&local_a8,1); } local_90 = local_90 & local_98 * 0x10 - 1; uVar3 = local_90 + local_88; lVar13 = (uVar3 >> 4 & local_98 - 1) * 8; if (*(longlong *)(lVar13 + lStack_a0) == 0) { uVar6 = FUN_1811316e0(0x10); *(undefined8 *)(lVar13 + lStack_a0) = uVar6; } *(char *)((ulonglong)((uint)uVar3 & 0xf) + *(longlong *)(lVar13 + lStack_a0)) = (char)*plVar7; lVar13 = 0; if (local_a8 != (longlong *)0x0) { lVar13 = *local_a8; } *(undefined1 *)plVar7 = *(undefined1 *) ((ulonglong)((uint)local_90 & 0xf) + *(longlong *) (*(longlong *)(lVar13 + 8) + (*(longlong *)(lVar13 + 0x10) - 1U & local_90 >> 4) * 8)); if (local_88 == 0) { local_90 = 0; } else { local_90 = local_90 + 1; } } } local_70 = local_90 + local_88; local_80 = (longlong *)0x0; uStack_78 = 0; if ((local_a8 != (longlong *)0x0) && ((undefined8 *)*local_a8 != (undefined8 *)0x0)) { local_80 = *(longlong **)*local_a8; } FUN_1806568a0(&local_a8,&local_68,&local_80,0,0); plVar7 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar7 = (longlong *)*param_1; } plVar7 = (longlong *)(param_1[2] + (longlong)plVar7); plVar12 = plVar7; plVar16 = plVar7; if (plVar10 != plVar7) { pcVar2 = (char *)param_2[1]; plVar15 = plVar10; do { pcVar5 = (char *)*param_2; plVar12 = plVar15; if ((char *)*param_2 == pcVar2) goto LAB_180655293; for (; plVar16 = plVar15, plVar12 != plVar7; plVar12 = (longlong *)((longlong)plVar12 + 1) ) { if (pcVar5 == pcVar2) goto LAB_18065528a; if ((char)*plVar12 != *pcVar5) break; pcVar5 = pcVar5 + 1; } } while ((pcVar5 != pcVar2) && (plVar15 = (longlong *)((longlong)plVar15 + 1), plVar12 = plVar7, plVar16 = plVar7, plVar15 != plVar7)); } LAB_18065528a: plVar7 = plVar8; plVar15 = plVar10; } while (plVar16 != plVar12); } LAB_180655293: plVar7 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar7 = (longlong *)*param_1; } puVar1 = (ulonglong *)(param_1 + 2); plVar8 = (longlong *) FUN_1806574a0(local_38,&local_a8,param_1,plVar8,plVar10,*puVar1 + (longlong)plVar7); if (local_88 == 0) { uVar3 = param_1[3]; plVar10 = param_1; if (0xf < uVar3) { plVar10 = (longlong *)*param_1; } uVar14 = *puVar1; plVar7 = param_1; if (0xf < uVar3) { plVar7 = (longlong *)*param_1; } uVar11 = *plVar8 - (longlong)plVar7; if (uVar14 < uVar11) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } local_48 = (longlong)plVar10 + (uVar14 - *plVar8); local_res20 = uVar14 - uVar11; puVar9 = &local_res20; if (local_48 <= local_res20) { puVar9 = &local_48; } uVar4 = *puVar9; if (0xf < uVar3) { param_1 = (longlong *)*param_1; } uVar14 = uVar14 - uVar4; *puVar1 = uVar14; memmove((void *)((longlong)param_1 + uVar11), (void *)((longlong)((longlong)param_1 + uVar11) + uVar4),(uVar14 - uVar11) + 1); } else { local_70 = local_90 + local_88; uStack_78 = 0; local_80 = local_a8; plStack_60 = (longlong *)0x0; local_58 = local_90; local_68 = local_a8; plVar8 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar8 = (longlong *)*param_1; } FUN_180656e30(param_1,*puVar1 + (longlong)plVar8,&local_68,&local_80); } FUN_18047c850(&local_a8); return; } ############ FUN_ 1806553e0 size=1101 ############ void FUN_1806553e0(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4) { ulonglong *puVar1; char *pcVar2; ulonglong uVar3; ulonglong uVar4; char *pcVar5; undefined8 uVar6; longlong *plVar7; ulonglong *puVar8; longlong *plVar9; longlong *plVar10; ulonglong uVar11; longlong *plVar12; longlong lVar13; ulonglong uVar14; longlong *plVar15; longlong *plVar16; ulonglong local_res20; longlong *local_a8; longlong lStack_a0; ulonglong local_98; ulonglong local_90; longlong local_88; longlong *local_80; undefined8 uStack_78; longlong local_70; longlong *local_68; longlong *plStack_60; ulonglong local_58; ulonglong local_48; undefined8 local_40; undefined1 local_38 [16]; local_40 = 0xfffffffffffffffe; local_68 = (longlong *)*param_4; plStack_60 = (longlong *)param_4[1]; local_a8 = (longlong *)0x0; lStack_a0 = 0; local_98 = 0; local_90 = 0; local_88 = 0; local_a8 = (longlong *)FUN_1811316e0(0x10); *local_a8 = 0; local_a8[1] = 0; *local_a8 = (longlong)&local_a8; plVar10 = param_1; plVar7 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar7 = (longlong *)*param_1; plVar10 = (longlong *)*param_1; } plVar9 = plVar7; plVar16 = local_68; plVar15 = plVar10; plVar12 = plStack_60; if (local_68 != plStack_60) { do { for (; (plVar10 = plVar12, local_88 != 0 && (plVar9 != plVar15)); plVar9 = (longlong *)((longlong)plVar9 + 1)) { if (local_a8 == (longlong *)0x0) { lVar13 = 0; } else { lVar13 = *local_a8; } *(undefined1 *)plVar9 = *(undefined1 *) ((ulonglong)((uint)local_90 & 0xf) + *(longlong *) (*(longlong *)(lVar13 + 8) + (*(longlong *)(lVar13 + 0x10) - 1U & local_90 >> 4) * 8) ); local_88 = local_88 + -1; if (local_88 == 0) { local_90 = 0; } else { local_90 = local_90 + 1; } plVar12 = plVar10; } if (local_88 == 0) { plVar7 = plVar16; if (plVar9 != plVar15) { memmove(plVar9,plVar15,(longlong)plVar16 - (longlong)plVar15); plVar7 = (longlong *)((longlong)plVar9 + ((longlong)plVar16 - (longlong)plVar15)); } } else { for (; plVar7 = plVar9, plVar9 != plVar16; plVar9 = (longlong *)((longlong)plVar9 + 1)) { if ((((int)local_88 + (int)local_90 & 0xfU) == 0) && (local_98 <= local_88 + 0x10U >> 4)) { FUN_18065d710(&local_a8,1); } local_90 = local_90 & local_98 * 0x10 - 1; uVar3 = local_90 + local_88; lVar13 = (uVar3 >> 4 & local_98 - 1) * 8; if (*(longlong *)(lVar13 + lStack_a0) == 0) { uVar6 = FUN_1811316e0(0x10); *(undefined8 *)(lVar13 + lStack_a0) = uVar6; } *(char *)((ulonglong)((uint)uVar3 & 0xf) + *(longlong *)(lVar13 + lStack_a0)) = (char)*plVar9; lVar13 = 0; if (local_a8 != (longlong *)0x0) { lVar13 = *local_a8; } *(undefined1 *)plVar9 = *(undefined1 *) ((ulonglong)((uint)local_90 & 0xf) + *(longlong *) (*(longlong *)(lVar13 + 8) + (*(longlong *)(lVar13 + 0x10) - 1U & local_90 >> 4) * 8)); if (local_88 == 0) { local_90 = 0; } else { local_90 = local_90 + 1; } } } local_70 = local_90 + local_88; local_80 = (longlong *)0x0; uStack_78 = 0; if ((local_a8 != (longlong *)0x0) && ((undefined8 *)*local_a8 != (undefined8 *)0x0)) { local_80 = *(longlong **)*local_a8; } FUN_1806568a0(&local_a8,&local_68,&local_80,0,0); plVar9 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar9 = (longlong *)*param_1; } plVar9 = (longlong *)((longlong)plVar9 + param_1[2]); plVar12 = plVar9; plVar16 = plVar9; if (plVar10 != plVar9) { pcVar2 = (char *)param_2[1]; plVar15 = plVar10; do { pcVar5 = (char *)*param_2; plVar12 = plVar15; if ((char *)*param_2 == pcVar2) goto LAB_1806556eb; for (; plVar16 = plVar15, plVar12 != plVar9; plVar12 = (longlong *)((longlong)plVar12 + 1) ) { if (pcVar5 == pcVar2) goto LAB_1806556e2; if ((char)*plVar12 != *pcVar5) break; pcVar5 = pcVar5 + 1; } } while ((pcVar5 != pcVar2) && (plVar15 = (longlong *)((longlong)plVar15 + 1), plVar12 = plVar9, plVar16 = plVar9, plVar15 != plVar9)); } LAB_1806556e2: plVar9 = plVar7; plVar15 = plVar10; } while (plVar16 != plVar12); } LAB_1806556eb: plVar9 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar9 = (longlong *)*param_1; } puVar1 = (ulonglong *)(param_1 + 2); plVar7 = (longlong *) FUN_1806574a0(local_38,&local_a8,param_1,plVar7,plVar10,*puVar1 + (longlong)plVar9); if (local_88 == 0) { uVar3 = param_1[3]; plVar10 = param_1; if (0xf < uVar3) { plVar10 = (longlong *)*param_1; } uVar14 = *puVar1; plVar9 = param_1; if (0xf < uVar3) { plVar9 = (longlong *)*param_1; } uVar11 = *plVar7 - (longlong)plVar9; if (uVar14 < uVar11) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } local_48 = (longlong)plVar10 + (uVar14 - *plVar7); local_res20 = uVar14 - uVar11; puVar8 = &local_res20; if (local_48 <= local_res20) { puVar8 = &local_48; } uVar4 = *puVar8; if (0xf < uVar3) { param_1 = (longlong *)*param_1; } uVar14 = uVar14 - uVar4; *puVar1 = uVar14; memmove((void *)((longlong)param_1 + uVar11), (void *)((longlong)((longlong)param_1 + uVar11) + uVar4),(uVar14 - uVar11) + 1); } else { local_70 = local_90 + local_88; uStack_78 = 0; local_80 = local_a8; plStack_60 = (longlong *)0x0; local_58 = local_90; local_68 = local_a8; plVar7 = param_1; if (0xf < (ulonglong)param_1[3]) { plVar7 = (longlong *)*param_1; } FUN_180656e30(param_1,*puVar1 + (longlong)plVar7,&local_68,&local_80); } FUN_18047c850(&local_a8); return; } ############ FUN_ 1806568a0 size=992 ############ undefined8 * FUN_1806568a0(longlong *param_1,undefined8 *param_2,longlong param_3,undefined1 *param_4, undefined1 *param_5) { ulonglong *puVar1; ulonglong uVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; undefined8 uVar6; longlong *plVar7; longlong *plVar8; longlong lVar9; ulonglong uVar10; ulonglong uVar11; undefined8 local_98; undefined8 uStack_90; longlong local_88; longlong *local_80; undefined8 uStack_78; longlong local_70; longlong *local_68; undefined8 local_60; longlong local_58; undefined8 local_50; undefined1 local_48 [32]; local_50 = 0xfffffffffffffffe; uVar11 = *(longlong *)(param_3 + 0x10) - param_1[3]; uVar2 = param_1[4]; if (param_4 != param_5) { if (uVar2 >> 1 < uVar11) { for (; param_4 != param_5; param_4 = param_4 + 1) { if ((((char)param_1[4] + (char)param_1[3] & 0xfU) == 0) && ((ulonglong)param_1[2] <= param_1[4] + 0x10U >> 4)) { FUN_18065d710(param_1,1); } param_1[3] = param_1[3] & param_1[2] * 0x10 - 1U; lVar3 = param_1[3]; lVar4 = param_1[4]; lVar9 = (param_1[2] - 1U & (ulonglong)(lVar3 + lVar4) >> 4) * 8; if (*(longlong *)(lVar9 + param_1[1]) == 0) { uVar6 = FUN_1811316e0(0x10); *(undefined8 *)(lVar9 + param_1[1]) = uVar6; } *(undefined1 *) ((ulonglong)((uint)(lVar3 + lVar4) & 0xf) + *(longlong *)(lVar9 + param_1[1])) = *param_4; param_1[4] = param_1[4] + 1; } plVar8 = (longlong *)0x0; local_60 = 0; local_88 = param_1[3]; local_58 = param_1[4] + local_88; local_68 = (longlong *)*param_1; plVar7 = plVar8; if ((local_68 != (longlong *)0x0) && (plVar7 = (longlong *)0x0, (undefined8 *)*local_68 != (undefined8 *)0x0)) { plVar7 = *(longlong **)*local_68; } local_70 = local_88 + uVar2; local_80 = (longlong *)0x0; uStack_78 = 0; if ((plVar7 != (longlong *)0x0) && ((undefined8 *)*plVar7 != (undefined8 *)0x0)) { local_80 = *(longlong **)*plVar7; } if ((local_68 != (longlong *)0x0) && ((undefined8 *)*local_68 != (undefined8 *)0x0)) { plVar8 = *(longlong **)*local_68; } local_88 = local_88 + uVar11; local_98 = 0; uStack_90 = 0; if ((plVar8 != (longlong *)0x0) && ((undefined8 *)*plVar8 != (undefined8 *)0x0)) { local_98 = *(undefined8 *)*plVar8; } FUN_180657d50(local_48,&local_98,&local_80,&local_68); } else { for (; param_4 != param_5; param_4 = param_4 + 1) { if (((*(byte *)(param_1 + 3) & 0xf) == 0) && ((ulonglong)param_1[2] <= param_1[4] + 0x10U >> 4)) { FUN_18065d710(param_1,1); } puVar1 = (ulonglong *)(param_1 + 3); *puVar1 = *puVar1 & param_1[2] * 0x10 - 1U; lVar9 = param_1[3]; if (*puVar1 == 0) { lVar9 = param_1[2] << 4; } uVar10 = lVar9 - 1; lVar9 = (param_1[2] - 1U & uVar10 >> 4) * 8; if (*(longlong *)(lVar9 + param_1[1]) == 0) { uVar6 = FUN_1811316e0(0x10); *(undefined8 *)(lVar9 + param_1[1]) = uVar6; } *(undefined1 *)((ulonglong)((uint)uVar10 & 0xf) + *(longlong *)(lVar9 + param_1[1])) = *param_4; param_1[3] = uVar10; param_1[4] = param_1[4] + 1; } lVar9 = param_1[4] - uVar2; local_70 = param_1[3]; local_80 = (longlong *)*param_1; plVar8 = (longlong *)0x0; plVar7 = plVar8; if ((local_80 != (longlong *)0x0) && (plVar7 = (longlong *)0x0, (undefined8 *)*local_80 != (undefined8 *)0x0)) { plVar7 = *(longlong **)*local_80; } local_88 = local_70 + lVar9; local_98 = 0; uStack_90 = 0; if ((plVar7 != (longlong *)0x0) && ((undefined8 *)*plVar7 != (undefined8 *)0x0)) { local_98 = *(undefined8 *)*plVar7; } uStack_78 = 0; FUN_180657c70(&local_80,&local_98); local_58 = param_1[3]; local_68 = (longlong *)*param_1; plVar7 = plVar8; if ((local_68 != (longlong *)0x0) && ((undefined8 *)*local_68 != (undefined8 *)0x0)) { plVar7 = *(longlong **)*local_68; } local_70 = local_58 + lVar9 + uVar11; local_80 = (longlong *)0x0; uStack_78 = 0; if ((plVar7 != (longlong *)0x0) && ((undefined8 *)*plVar7 != (undefined8 *)0x0)) { local_80 = *(longlong **)*plVar7; } if ((local_68 != (longlong *)0x0) && ((undefined8 *)*local_68 != (undefined8 *)0x0)) { plVar8 = *(longlong **)*local_68; } local_88 = local_58 + lVar9; local_98 = 0; uStack_90 = 0; if ((plVar8 != (longlong *)0x0) && ((undefined8 *)*plVar8 != (undefined8 *)0x0)) { local_98 = *(undefined8 *)*plVar8; } local_60 = 0; FUN_180657d50(local_48,&local_68,&local_98,&local_80); } } plVar7 = (longlong *)0x0; lVar9 = param_1[3]; if (((longlong *)*param_1 != (longlong *)0x0) && (puVar5 = *(undefined8 **)*param_1, puVar5 != (undefined8 *)0x0)) { plVar7 = (longlong *)*puVar5; } *param_2 = 0; param_2[1] = 0; if ((plVar7 != (longlong *)0x0) && ((undefined8 *)*plVar7 != (undefined8 *)0x0)) { *param_2 = *(undefined8 *)*plVar7; } param_2[2] = lVar9 + uVar11; return param_2; } ############ FUN_ 1806574a0 size=394 ############ longlong * FUN_1806574a0(longlong *param_1,longlong param_2,undefined8 param_3,undefined1 *param_4, undefined1 *param_5,undefined1 *param_6) { longlong *plVar1; longlong lVar2; undefined1 *puVar3; undefined8 uVar4; ulonglong uVar5; lVar2 = *(longlong *)(param_2 + 0x20); for (; (lVar2 != 0 && (param_4 != param_5)); param_4 = param_4 + 1) { puVar3 = (undefined1 *)FUN_18065ec90(param_2); *param_4 = *puVar3; plVar1 = (longlong *)(param_2 + 0x20); *plVar1 = *plVar1 + -1; if (*plVar1 == 0) { *(undefined8 *)(param_2 + 0x18) = 0; } else { *(longlong *)(param_2 + 0x18) = *(longlong *)(param_2 + 0x18) + 1; } lVar2 = *(longlong *)(param_2 + 0x20); } if (*(longlong *)(param_2 + 0x20) == 0) { if (param_4 == param_5) { *param_1 = (longlong)param_6; } else { memmove(param_4,param_5,(longlong)param_6 - (longlong)param_5); *param_1 = (longlong)(param_4 + ((longlong)param_6 - (longlong)param_5)); } } else { for (; param_4 != param_6; param_4 = param_4 + 1) { if ((((char)*(longlong *)(param_2 + 0x20) + *(char *)(param_2 + 0x18) & 0xfU) == 0) && (*(ulonglong *)(param_2 + 0x10) <= *(longlong *)(param_2 + 0x20) + 0x10U >> 4)) { FUN_18065d710(param_2,1); } *(ulonglong *)(param_2 + 0x18) = *(ulonglong *)(param_2 + 0x18) & *(longlong *)(param_2 + 0x10) * 0x10 - 1U; uVar5 = *(longlong *)(param_2 + 0x18) + *(longlong *)(param_2 + 0x20); lVar2 = (uVar5 >> 4 & *(longlong *)(param_2 + 0x10) - 1U) * 8; if (*(longlong *)(lVar2 + *(longlong *)(param_2 + 8)) == 0) { uVar4 = FUN_1811316e0(0x10); *(undefined8 *)(lVar2 + *(longlong *)(param_2 + 8)) = uVar4; } *(undefined1 *) ((ulonglong)((uint)uVar5 & 0xf) + *(longlong *)(lVar2 + *(longlong *)(param_2 + 8))) = *param_4; *(longlong *)(param_2 + 0x20) = *(longlong *)(param_2 + 0x20) + 1; puVar3 = (undefined1 *)FUN_18065ec90(param_2); *param_4 = *puVar3; plVar1 = (longlong *)(param_2 + 0x20); *plVar1 = *plVar1 + -1; if (*plVar1 == 0) { *(undefined8 *)(param_2 + 0x18) = 0; } else { *(longlong *)(param_2 + 0x18) = *(longlong *)(param_2 + 0x18) + 1; } } *param_1 = (longlong)param_4; } return param_1; } ############ FUN_ 18065d710 size=500 ############ void FUN_18065d710(longlong param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; ulonglong uVar5; size_t sVar6; size_t sVar7; void *pvVar8; ulonglong uVar9; uVar2 = *(ulonglong *)(param_1 + 0x10); uVar5 = 1; if (uVar2 != 0) { uVar5 = uVar2; } for (; (uVar5 - uVar2 < param_2 || (uVar5 < 8)); uVar5 = uVar5 * 2) { if (0xfffffffffffffff - uVar5 < uVar5) { /* WARNING: Subroutine does not return */ FUN_180618c80(param_1); } } uVar5 = uVar5 - uVar2; uVar9 = *(ulonglong *)(param_1 + 0x18) >> 4; uVar4 = (uVar2 + uVar5) * 8; if (uVar2 + uVar5 < 0x2000000000000000) { if (uVar4 < 0x1000) { if (uVar4 == 0) { pvVar8 = (void *)0x0; } else { pvVar8 = (void *)FUN_1811316e0(uVar4); } goto LAB_18065d7dd; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar8 = (void *)(lVar1 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar8 - 8) = lVar1; LAB_18065d7dd: sVar7 = uVar9 * 8; pvVar3 = (void *)(*(longlong *)(param_1 + 8) + sVar7); sVar6 = (*(longlong *)(param_1 + 0x10) * 8 - (longlong)pvVar3) + *(longlong *)(param_1 + 8); memmove((void *)(sVar7 + (longlong)pvVar8),pvVar3,sVar6); pvVar3 = (void *)(sVar6 + (longlong)(sVar7 + (longlong)pvVar8)); if (uVar5 < uVar9) { sVar6 = uVar5 * 8; memmove(pvVar3,*(void **)(param_1 + 8),sVar6); pvVar3 = (void *)(sVar6 + *(longlong *)(param_1 + 8)); sVar7 = (*(longlong *)(param_1 + 8) - (longlong)pvVar3) + sVar7; memmove(pvVar8,pvVar3,sVar7); pvVar3 = (void *)(sVar7 + (longlong)pvVar8); } else { memmove(pvVar3,*(void **)(param_1 + 8),sVar7); memset((void *)(sVar7 + (longlong)pvVar3),0,(uVar5 - uVar9) * 8); pvVar3 = pvVar8; sVar6 = sVar7; } memset(pvVar3,0,sVar6); pvVar3 = *(void **)(param_1 + 8); if (pvVar3 == (void *)0x0) { *(void **)(param_1 + 8) = pvVar8; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + uVar5; return; } pvVar8 = pvVar3; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x10) << 3)) && (pvVar8 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } ############ FUN_ 18065dd60 size=227 ############ longlong FUN_18065dd60(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x58); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[8] = &DAT_181bbb098; puVar1[10] = boost::exception_detail::clone_base::vftable; FUN_180659ac0(puVar1,param_1 + -0x50,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_> ::vftable; puVar1[3] = boost::exception_detail:: clone_impl_> ::vftable; *(undefined ***)((longlong)*(int *)(puVar1[8] + 4) + 0x40 + (longlong)puVar1) = boost::exception_detail:: clone_impl_> ::vftable; *(int *)((longlong)*(int *)(puVar1[8] + 4) + 0x3c + (longlong)puVar1) = *(int *)(puVar1[8] + 4) + -0x10; if (param_1 + -0x50 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 3,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[8] + 4) + 0x40; } ############ FUN_ 18065de50 size=227 ############ longlong FUN_18065de50(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x58); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[8] = &DAT_181bbb110; puVar1[10] = boost::exception_detail::clone_base::vftable; FUN_180659b70(puVar1,param_1 + -0x50,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_> ::vftable; puVar1[3] = boost::exception_detail:: clone_impl_> ::vftable; *(undefined ***)((longlong)*(int *)(puVar1[8] + 4) + 0x40 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>:: vftable; *(int *)((longlong)*(int *)(puVar1[8] + 4) + 0x3c + (longlong)puVar1) = *(int *)(puVar1[8] + 4) + -0x10; if (param_1 + -0x50 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 3,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[8] + 4) + 0x40; } ############ FUN_ 18065df40 size=227 ############ longlong FUN_18065df40(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x68); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[10] = &DAT_181bbb1b8; puVar1[0xc] = boost::exception_detail::clone_base::vftable; FUN_180659c20(puVar1,param_1 + -0x60,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_>:: vftable; puVar1[5] = boost::exception_detail:: clone_impl_>:: vftable; *(undefined ***)((longlong)*(int *)(puVar1[10] + 4) + 0x50 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>::vftable; *(int *)((longlong)*(int *)(puVar1[10] + 4) + 0x4c + (longlong)puVar1) = *(int *)(puVar1[10] + 4) + -0x10; if (param_1 + -0x60 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 5,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[10] + 4) + 0x50; } ############ FUN_ 18065e030 size=227 ############ longlong FUN_18065e030(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x58); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { puVar1[8] = &DAT_181bbaf68; puVar1[10] = boost::exception_detail::clone_base::vftable; FUN_180659cf0(puVar1,param_1 + -0x50,param_3,param_4,uVar2); *puVar1 = boost::exception_detail:: clone_impl_>::vftable; puVar1[3] = boost::exception_detail:: clone_impl_>:: vftable; *(undefined ***)((longlong)*(int *)(puVar1[8] + 4) + 0x40 + (longlong)puVar1) = boost::exception_detail:: clone_impl_>::vftable; *(int *)((longlong)*(int *)(puVar1[8] + 4) + 0x3c + (longlong)puVar1) = *(int *)(puVar1[8] + 4) + -0x10; if (param_1 + -0x50 == 0) { param_1 = 0; } else { param_1 = param_1 + -0x38; } FUN_1805a7b20(puVar1 + 3,param_1); } if (puVar1 == (undefined8 *)0x0) { return 0; } return (longlong)puVar1 + (longlong)*(int *)(puVar1[8] + 4) + 0x40; } ############ FUN_ 1806651b0 size=6278 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180665638) overlaps instruction at (ram,0x000180665635) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000180665eb6) */ /* WARNING: Removing unreachable block (ram,0x0001806659d5) */ /* WARNING: Removing unreachable block (ram,0x0001806657ec) */ /* WARNING: Removing unreachable block (ram,0x0001806652d9) */ /* WARNING: Removing unreachable block (ram,0x0001806658c3) */ /* WARNING: Removing unreachable block (ram,0x000180665ae5) */ /* WARNING: Removing unreachable block (ram,0x000180665635) */ /* WARNING: Removing unreachable block (ram,0x000180665af1) */ /* WARNING: Removing unreachable block (ram,0x000180666578) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1806651b0(longlong *param_1,longlong *param_2) { void *pvVar1; longlong *plVar2; undefined8 uVar3; uint uVar4; int iVar5; void *pvVar6; uint uVar7; longlong *plVar8; ulonglong uVar9; undefined1 *puVar10; longlong *plVar11; ulonglong uVar12; ulonglong uVar13; uint uVar14; longlong lVar15; ulonglong uVar16; uint uVar17; undefined1 *puVar18; undefined1 *puVar19; longlong lVar20; longlong lVar21; longlong lVar22; bool bVar23; bool bVar24; int unaff_retaddr; undefined1 auStack_268 [32]; uint local_248; longlong *local_240; longlong *local_238; undefined *local_230; undefined8 local_228; undefined4 local_220 [2]; undefined4 local_218 [2]; uint local_210; uint local_20c; longlong *local_208; longlong local_200; longlong local_1f8; longlong local_1f0; longlong local_1e8 [3]; char *local_1d0; char *local_1c8; longlong local_1c0 [3]; longlong local_1a8 [3]; longlong local_190 [2]; undefined1 local_180; undefined7 uStack_17f; longlong lStack_178; longlong local_170; ulonglong uStack_168; undefined1 local_160; undefined7 uStack_15f; longlong lStack_158; longlong local_150; ulonglong uStack_148; undefined1 local_140; undefined7 uStack_13f; undefined8 local_130; ulonglong local_128; undefined1 local_120; undefined7 uStack_11f; undefined8 local_110; ulonglong local_108; undefined1 local_100; undefined7 uStack_ff; undefined8 local_f0; ulonglong local_e8; undefined1 local_e0; undefined7 uStack_df; undefined8 local_d0; ulonglong local_c8; undefined1 local_c0 [16]; undefined8 local_b0; undefined8 local_a8; undefined1 local_a0 [16]; undefined8 local_90; undefined8 local_88; undefined1 local_80 [16]; undefined8 local_70; undefined8 local_68; undefined1 local_60 [32]; ulonglong local_40; local_190[1] = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_268; uVar7 = (uint)&stack0x00000000; lVar22 = 0; uVar4 = ((uVar7 & 0x6dff) * (uVar7 & 0x6dff) + 1) % 7 | uVar7; local_20c = (int)(-uVar4 | uVar4) >> 0x1f & 0xb854U ^ 0xba54; uVar4 = (((uVar7 & 0x1fff) + 1) * (uVar7 & 0x1fff) + 7) % 0x51; local_210 = ((int)(-uVar4 | uVar4) >> 0x1f) * -0x1f17 ^ 0x1457; local_240 = (longlong *)&DAT_181599c74; local_230 = &DAT_181599d74; local_228 = 0x100; *(undefined1 *)(param_2 + 1) = 0; uVar4 = (DAT_181599c74 * 0x16a88000 | (uint)(DAT_181599c74 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0x4b0768d3; uVar4 = (DAT_181599c78 * 0x16a88000 | (uint)(DAT_181599c78 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; local_248 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar12 = (ulonglong)local_248; puVar19 = (undefined1 *)register0x00000020; local_238 = param_2; local_208 = param_1; do { /* WARNING: Call to offcut address within same function */ func_0x0001806662c5(0x400c,uVar12); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_248 = (_UNK_181599c7c * 0x16a88000 | (uint)(_UNK_181599c7c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ local_248; uVar4 = (_UNK_181599c80 * 0x16a88000 | (uint)(_UNK_181599c80 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (local_248 << 0xd | local_248 >> 0x13) * 5 + 0xe6546b64; local_248 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; local_240 = local_238 + 2; if (local_240 != local_208) { plVar8 = local_208; if (0xf < (ulonglong)local_208[3]) { plVar8 = (longlong *)*local_208; } FUN_1805a6cb0(local_240,plVar8,local_208[2]); } local_248 = (_UNK_181599c84 * 0x16a88000 | (uint)(_UNK_181599c84 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ local_248; uVar4 = (_UNK_181599c88 * 0x16a88000 | (uint)(_UNK_181599c88 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (local_248 << 0xd | local_248 >> 0x13) * 5 + 0xe6546b64; uVar4 = (_UNK_181599c8c * 0x16a88000 | (uint)(_UNK_181599c8c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (_UNK_181599c90 * 0x16a88000 | (uint)(_UNK_181599c90 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (_UNK_181599c94 * 0x16a88000 | (uint)(_UNK_181599c94 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (_UNK_181599c98 * 0x16a88000 | (uint)(_UNK_181599c98 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar7 = uVar4 << 0xd | uVar4 >> 0x13; uVar4 = uVar7 * 4 + 0xe6546b64; bVar23 = CARRY4(uVar7,uVar4); uVar7 = uVar7 + uVar4; bVar24 = uVar7 == 0; do { if (bVar23 || bVar24) { /* WARNING: Bad instruction - Truncating control flow here */ puVar18 = puVar19 + lVar22; lVar22 = ~((longlong)puVar19 - (longlong)puVar18) + 1; puVar19 = puVar18 + -lVar22; } uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } bVar23 = false; bVar24 = uVar4 == 0; } while (!bVar24); uVar7 = (_UNK_181599c9c * 0x16a88000 | (uint)(_UNK_181599c9c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar7; uVar4 = (_UNK_181599ca0 * 0x16a88000 | (uint)(_UNK_181599ca0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar7 << 0xd | uVar7 >> 0x13) * 5 + 0xe6546b64; uVar4 = (_UNK_181599ca4 * 0x16a88000 | (uint)(_UNK_181599ca4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (_UNK_181599ca8 * 0x16a88000 | (uint)(_UNK_181599ca8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (_UNK_181599cac * 0x16a88000 | (uint)(_UNK_181599cac * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (_UNK_181599cb0 * 0x16a88000 | (uint)(_UNK_181599cb0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (_UNK_181599cb4 * 0x16a88000 | (uint)(_UNK_181599cb4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar7 = uVar4 & 0x13f; iVar5 = (uVar7 + 2) * (uVar7 + 1) * uVar7; uVar14 = (uint)local_228 & 0x1f | 0x2e; lVar20 = (0x2002L >> (uVar14 * uVar14 * 0x2a9d == 0x412680c) ^ 0x20c2U) - ((longlong) (int)(((uVar7 + 2) * (uVar7 + 1) * uVar7) % 3 + 0x6bbc + (((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e)) ^ 0x6b7cU); uVar4 = (*(int *)(&UNK_181599cb8 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599cb8 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar4; uVar4 = (*(int *)(&UNK_181599cbc + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599cbc + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599cc0 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599cc0 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; lVar21 = lVar20 + 0x50; uVar14 = (*(int *)(&UNK_181599cc4 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599cc4 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar7 = (uint)lVar21 & 0xf; uVar4 = uVar7 | 0x2d; uVar7 = uVar7 | 0x27; lVar20 = ((longlong) (0x955b << (((char)local_228 + '\x01') * (char)local_228 & 1U) + (uVar7 * uVar7 * 0x692f == uVar4 * uVar4 * 0xea2f)) ^ 0x957bU) + lVar21; uVar4 = (*(int *)(&UNK_181599c58 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599c58 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar14 << 0xd | uVar14 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599c5c + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599c5c + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599c60 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599c60 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599c64 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599c64 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599c68 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599c68 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599c6c + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599c6c + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599c70 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599c70 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(lVar20 + 0x181599c74) * 0x16a88000 | (uint)(*(int *)(lVar20 + 0x181599c74) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar7 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar17 = (uint)local_228 & 0x2f; uVar14 = uVar7 & 0x6f; uVar4 = uVar17 + 1; uVar16 = (ulonglong)uVar4; uVar17 = uVar17 * uVar17 * uVar4; uVar12 = (ulonglong)uVar17; lVar20 = (((longlong)(int)(uVar14 * uVar14 * (uVar14 + 1) * (uVar14 + 1) & 0x80000003) | (ulonglong)(uVar17 * uVar4 & 2)) ^ 0x204) + lVar20; uVar7 = (*(int *)(&UNK_181599a74 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a74 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar7; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (*(int *)(&UNK_181599a78 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a78 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar7 << 0xd | uVar7 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599a7c + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a7c + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599a80 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a80 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599a84 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a84 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599a88 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a88 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599a8c + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a8c + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599a90 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a90 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599a94 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a94 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599a98 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a98 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599a9c + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599a9c + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599aa0 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599aa0 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599aa4 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599aa4 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599aa8 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599aa8 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599aac + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599aac + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599ab0 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ab0 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599ab4 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ab4 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599ab8 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ab8 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599abc + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599abc + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599ac0 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ac0 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599ac4 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ac4 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599ac8 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ac8 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar13 = (ulonglong)uVar4; *local_238 = lVar22; uVar4 = (*(int *)(&UNK_181599acc + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599acc + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar4; uVar4 = (*(int *)(&UNK_181599ad0 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ad0 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar9 = (ulonglong)uVar4; uVar4 = (*(int *)(&UNK_181599ad4 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ad4 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar4; local_248 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; local_200 = lVar22; do { FUN_180664242(0x400c,uVar9); plVar8 = local_240; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_248 = (*(int *)(&UNK_181599ad8 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ad8 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ local_248; uVar4 = (*(int *)(&UNK_181599adc + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599adc + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (local_248 << 0xd | local_248 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599ae0 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ae0 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599ae4 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ae4 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599ae8 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599ae8 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599aec + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599aec + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599af0 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599af0 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; lVar22 = 0; do { lVar15 = uVar13 + uVar16; uVar13 = (uVar16 - lVar15 ^ 0xffffffffffffffff) + 1; uVar16 = lVar15 - uVar13; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = (*(int *)(&UNK_181599af4 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599af4 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599af8 + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599af8 + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&UNK_181599afc + lVar20) * 0x16a88000 | (uint)(*(int *)(&UNK_181599afc + lVar20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (uVar4 >> 0xd | uVar4 * 0x80000) + 0x2322e4a3; uVar7 = (uVar4 >> 5 | uVar4 * 0x8000000) + 0x1c5b898c; uVar4 = (uVar7 >> 0x11 ^ uVar7) & 0x3fff; local_230 = (undefined *)0xf3ec432ba6de1ee1; local_248 = 0xa6de1ee1; lVar20 = local_240[2]; if (((uVar7 ^ (uVar4 << 0x11 | uVar4) ^ 0xaa005aa6) * 9 & 0x7fffffff) != 0) { uVar12 = lVar20 - 1; uVar16 = FUN_18065e8c0(local_240,&DAT_181bbae68,0,uVar16); if (uVar16 != uVar12) { local_150 = 0; uStack_148 = 0xf; local_160 = 0; if ((ulonglong)plVar8[2] < uVar12) { uVar12 = plVar8[2]; } plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } FUN_1805a6cb0(&local_160,plVar11,uVar12); if (plVar8 == (longlong *)&local_160) { if (0xf < uStack_148) { pvVar1 = (void *)CONCAT71(uStack_15f,local_160); pvVar6 = pvVar1; if ((0xfff < uStack_148 + 1) && (pvVar6 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } *(undefined1 *)(local_238 + 1) = 1; } else { FUN_180485450(plVar8); *plVar8 = CONCAT71(uStack_15f,local_160); plVar8[1] = lStack_158; plVar8[2] = local_150; plVar8[3] = uStack_148; *(undefined1 *)(local_238 + 1) = 1; } goto LAB_180666a42; } plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar11 + uVar12)); if (iVar5 != 0) { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar11 + lVar20 + -2)); if (iVar5 != 0) { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar11 + lVar20 + -4) == ':') { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar11 + lVar20 + -3)); if (iVar5 != 0) { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar11 + lVar20 + -5)); if (iVar5 != 0) { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar11 + lVar20 + -6) != '-') { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar11 + lVar20 + -7) != '+') goto LAB_180666953; } plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar11 + uVar12)); if (iVar5 != 0) { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar11 + lVar20 + -2)); if (iVar5 != 0) { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar11 + lVar20 + -4) == ':') { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar11 + lVar20 + -3)); if (iVar5 != 0) { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar11 + lVar20 + -8) != '-') { plVar11 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar11 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar11 + lVar20 + -8) != '+') goto LAB_18066688c; } if (0xf < (ulonglong)plVar8[3]) { plVar8 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar8 + uVar12)); if (iVar5 != 0) { local_200 = FUN_1811316e0(0x18); if (local_200 != 0) { lVar22 = FUN_1805a48c0(local_200, "makeIsoTimeOffsetInfoForIso8601TimeString() does not understand the time string: \"%s\"" ); } lVar21 = FUN_1805c0260(); FUN_1805b2240(*(undefined8 *)(lVar22 + 8),local_208); local_220[0] = 0x173; local_1c8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\timeutils.cpp" ; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar21 + 8),&local_1c8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_220); } *(undefined1 *)(local_238 + 1) = 0; goto LAB_180666a42; } } } } LAB_18066688c: uVar12 = lVar20 - 8; local_b0 = 0; local_a8 = 0xf; local_c0[0] = 0; if ((ulonglong)plVar8[2] < uVar12) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } local_1c0[1] = 0xffffffffffffffff; local_1c0[0] = plVar8[2] - uVar12; plVar11 = local_1c0; if (local_1c0[0] == -1) { plVar11 = local_1c0 + 1; } plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } FUN_1805a6cb0(local_c0,uVar12 + (longlong)plVar2,*plVar11); FUN_180657e60(local_1c0 + 2,local_c0); plVar11 = local_238; *local_238 = local_1c0[2]; FUN_180485450(local_c0); uVar3 = FUN_18066abd0(plVar8,local_60,0,lVar20 + -5); FUN_1805a5a40(plVar8,uVar3); FUN_180485450(local_60); *(undefined1 *)(plVar11 + 1) = 1; goto LAB_180666a42; } } } } } LAB_180666953: uVar12 = lVar20 - 8; local_90 = 0; local_88 = 0xf; local_a0[0] = 0; if ((ulonglong)plVar8[2] < uVar12) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } local_1a8[1] = 0xffffffffffffffff; local_1a8[0] = plVar8[2] - uVar12; plVar11 = local_1a8; if (local_1a8[0] == -1) { plVar11 = local_1a8 + 1; } plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } FUN_1805a6cb0(local_a0,(longlong)plVar2 + uVar12,*plVar11); FUN_180657e60(local_1a8 + 2,local_a0); plVar11 = local_238; *local_238 = local_1a8[2]; FUN_180485450(local_a0); local_70 = 0; local_68 = 0xf; local_80[0] = 0; if ((ulonglong)plVar8[2] < uVar12) { uVar12 = plVar8[2]; } plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } FUN_1805a6cb0(local_80,plVar2,uVar12); FUN_1805a5a40(plVar8,local_80); FUN_180485450(local_80); *(undefined1 *)(plVar11 + 1) = 1; LAB_180666a42: thunk_FUN_1805a9280(); return; } plVar11 = (longlong *)(lVar20 - 1); plVar2 = (longlong *)FUN_18065e8c0(local_240,&DAT_181bbae68,0,uVar16); if (plVar2 == plVar11) { local_170 = 0; uStack_168 = 0xf; local_180 = 0; if ((longlong *)plVar8[2] < plVar11) { plVar11 = (longlong *)plVar8[2]; } plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } FUN_1805a6cb0(&local_180,plVar2,plVar11); if (plVar8 == (longlong *)&local_180) { if (0xf < uStack_168) { pvVar1 = (void *)CONCAT71(uStack_17f,local_180); pvVar6 = pvVar1; if ((0xfff < uStack_168 + 1) && (pvVar6 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } } else { FUN_180485450(plVar8); *plVar8 = CONCAT71(uStack_17f,local_180); plVar8[1] = lStack_178; plVar8[2] = local_170; plVar8[3] = uStack_168; } *(undefined1 *)(local_238 + 1) = 1; goto LAB_180666512; } plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar2 + (longlong)plVar11)); if (iVar5 == 0) { LAB_1806661da: plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar2 + (longlong)plVar11)); if (iVar5 != 0) { plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar2 + -1 + (longlong)plVar11)); if (iVar5 != 0) { plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar2 + -2 + (longlong)plVar11) == ':') { plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar2 + -3 + (longlong)plVar11)); if (iVar5 != 0) { plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar2 + -4 + (longlong)plVar11) != '-') { plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar2 + -4 + (longlong)plVar11) != '+') goto LAB_1806663d6; } uVar16 = lVar20 - 5; local_f0 = 0; local_e8 = 0xf; local_100 = 0; if ((ulonglong)plVar8[2] < uVar16) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } local_1e8[1] = 0xffffffffffffffff; local_1e8[0] = plVar8[2] - uVar16; plVar11 = local_1e8; if (local_1e8[0] == -1) { plVar11 = local_1e8 + 1; } plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } FUN_1805a6cb0(&local_100,(longlong)plVar2 + uVar16,*plVar11); FUN_180657e60(local_1e8 + 2,&local_100); plVar11 = local_238; *local_238 = local_1e8[2]; if (0xf < local_e8) { pvVar1 = (void *)CONCAT71(uStack_ff,local_100); pvVar6 = pvVar1; if ((0xfff < local_e8 + 1) && (pvVar6 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } local_d0 = 0; local_c8 = 0xf; local_e0 = 0; if ((ulonglong)plVar8[2] < uVar16) { uVar16 = plVar8[2]; } plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } FUN_1805a6cb0(&local_e0,plVar2,uVar16); FUN_1805a5a40(plVar8,&local_e0); if (0xf < local_c8) { pvVar1 = (void *)CONCAT71(uStack_df,local_e0); pvVar6 = pvVar1; if ((0xfff < local_c8 + 1) && (pvVar6 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } LAB_1806663c8: /* WARNING: Subroutine does not return */ free(pvVar6); } goto LAB_1806663cd; } } } } LAB_1806663d6: if (0xf < (ulonglong)plVar8[3]) { plVar8 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar8 + (longlong)plVar11)); if (iVar5 == 0) { local_200 = FUN_1811316e0(0x18); if (local_200 != 0) { lVar22 = FUN_1805a48c0(local_200, "makeIsoTimeOffsetInfoForIso8601TimeString() does not understand the time string: \"%s\"" ); } lVar21 = FUN_1805c0260(); FUN_1805b2240(*(undefined8 *)(lVar22 + 8),local_208); local_218[0] = 0x1d5; local_1d0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\timeutils.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar21 + 8),&local_1d0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_218); } *(undefined1 *)(local_238 + 1) = 0; } else { plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar2 + -1 + (longlong)plVar11)); if (iVar5 == 0) goto LAB_1806661da; plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar2 + -2 + (longlong)plVar11) != ':') goto LAB_1806661da; plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar2 + -3 + (longlong)plVar11)); if (iVar5 == 0) goto LAB_1806661da; plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } iVar5 = isdigit((int)*(char *)((longlong)plVar2 + -4 + (longlong)plVar11)); if (iVar5 == 0) goto LAB_1806661da; plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar2 + -5 + (longlong)plVar11) != '-') { plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } if (*(char *)((longlong)plVar2 + -5 + (longlong)plVar11) != '+') goto LAB_1806661da; } uVar16 = lVar20 - 6; local_130 = 0; local_128 = 0xf; local_140 = 0; if ((ulonglong)plVar8[2] < uVar16) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } local_1f8 = -1; local_190[0] = plVar8[2] - uVar16; plVar11 = local_190; if (local_190[0] == -1) { plVar11 = &local_1f8; } plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } FUN_1805a6cb0(&local_140,uVar16 + (longlong)plVar2,*plVar11); FUN_180657e60(&local_1f0,&local_140); plVar11 = local_238; *local_238 = local_1f0; if (0xf < local_128) { pvVar1 = (void *)CONCAT71(uStack_13f,local_140); pvVar6 = pvVar1; if ((0xfff < local_128 + 1) && (pvVar6 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } local_110 = 0; local_108 = 0xf; local_120 = 0; if ((ulonglong)plVar8[2] < uVar16) { uVar16 = plVar8[2]; } plVar2 = plVar8; if (0xf < (ulonglong)plVar8[3]) { plVar2 = (longlong *)*plVar8; } FUN_1805a6cb0(&local_120,plVar2,uVar16); FUN_1805a5a40(plVar8,&local_120); if (0xf < local_108) { pvVar1 = (void *)CONCAT71(uStack_11f,local_120); pvVar6 = pvVar1; if ((0xfff < local_108 + 1) && (pvVar6 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } goto LAB_1806663c8; } LAB_1806663cd: *(undefined1 *)(plVar11 + 1) = 1; } LAB_180666512: puVar19 = auStack_268; do { puVar10 = puVar19; *(longlong *)(puVar10 + -8) = lVar21; *(longlong **)(puVar10 + -0x10) = plVar11; *(ulonglong *)(puVar10 + -0x18) = uVar12; lVar22 = -(longlong)(int)local_210; uVar12 = *(ulonglong *)(puVar10 + lVar22 + 0xb28); plVar11 = *(longlong **)(puVar10 + lVar22 + 0xb30); lVar21 = *(longlong *)(puVar10 + lVar22 + 0xb38); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } puVar19 = puVar10 + lVar22 + 0xb40; } while (uVar4 != 0); *(undefined **)(puVar10 + lVar22 + 0xb38) = &UNK_180666af0; } ############ FUN_ 180669160 size=1099 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180669746) overlaps instruction at (ram,0x000180669744) */ /* WARNING: Removing unreachable block (ram,0x000180669a32) */ /* WARNING: Removing unreachable block (ram,0x00018066967f) */ /* WARNING: Removing unreachable block (ram,0x000180669225) */ /* WARNING: Removing unreachable block (ram,0x000180669287) */ /* WARNING: Removing unreachable block (ram,0x0001806696ef) */ /* WARNING: Removing unreachable block (ram,0x7982ed14) */ /* WARNING: Removing unreachable block (ram,0x000180669744) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined4 * FUN_180669160(void) { longlong *plVar1; int iVar2; uint uVar3; uint uVar4; undefined8 uVar5; undefined4 *puVar6; uint uVar7; uint uVar8; uint uVar9; ulonglong uVar10; longlong lVar11; uint *puVar12; uint *puVar13; undefined1 *puVar14; uint uVar15; undefined4 *puVar16; ulonglong uVar17; undefined8 in_R11; uint uVar18; undefined4 *puVar19; longlong lVar20; bool bVar21; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 local_88 [32]; code *pcStack_68; undefined8 local_60; int *local_58; puVar14 = local_88; local_60 = 0xfffffffffffffffe; uVar18 = 0x660; lVar20 = (longlong)&DAT_18265f5f8 + (SUB168(ZEXT816(0xc7ce0c7ce0c7ce0d) * ZEXT816(0x18265f5f8),8) >> 5) * -0x29; puVar16 = (undefined4 *)0x0; LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar20 * 4); *(int *)(&DAT_18265dbd0 + lVar20 * 4) = 1; UNLOCK(); puVar6 = puVar16; puVar19 = DAT_18265f5f8; while (DAT_18265f5f8 = puVar19, iVar2 != 0) { uVar15 = (uint)puVar6; if ((3 < uVar15) && (0xf < uVar15)) { Sleep((uint)(0x1f < uVar15)); } puVar6 = (undefined4 *)(ulonglong)(uVar15 + 1); LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar20 * 4); *(int *)(&DAT_18265dbd0 + lVar20 * 4) = 1; UNLOCK(); puVar19 = DAT_18265f5f8; } *(undefined4 *)(&DAT_18265dbd0 + lVar20 * 4) = 0; uVar15 = (DAT_181558204 ^ 0x811c9e07) * 0x10001a7; lVar11 = 7; puVar12 = &DAT_181558204; do { puVar13 = puVar12; uVar15 = (puVar13[2] ^ (puVar13[1] ^ uVar15) * 0x10001a7) * 0x10001a7; lVar11 = lVar11 + -1; puVar12 = puVar13 + 2; } while (lVar11 != 0); if (puVar19 == (undefined4 *)0x0) { local_58 = &DAT_18265f600; LOCK(); bVar21 = DAT_18265f600 == 0; if (bVar21) { DAT_18265f600 = 1; } UNLOCK(); while (!bVar21) { LOCK(); bVar21 = DAT_18265f600 == 0; if (bVar21) { DAT_18265f600 = 1; } UNLOCK(); } LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar20 * 4); *(int *)(&DAT_18265dbd0 + lVar20 * 4) = 1; UNLOCK(); puVar6 = puVar16; puVar19 = DAT_18265f5f8; while (DAT_18265f5f8 = puVar19, iVar2 != 0) { uVar7 = (uint)puVar6; if ((3 < uVar7) && (0xf < uVar7)) { Sleep((uint)(0x1f < uVar7)); } puVar6 = (undefined4 *)(ulonglong)(uVar7 + 1); LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar20 * 4); *(int *)(&DAT_18265dbd0 + lVar20 * 4) = 1; UNLOCK(); puVar19 = DAT_18265f5f8; } *(undefined4 *)(&DAT_18265dbd0 + lVar20 * 4) = 0; if (puVar19 == (undefined4 *)0x0) { puVar6 = (undefined4 *)FUN_1811316e0(0x10); puVar19 = puVar16; if (puVar6 != (undefined4 *)0x0) { *puVar6 = 0; *(undefined8 *)(puVar6 + 2) = 0; puVar19 = puVar6; } FUN_1805ccdd0(FUN_180669d60,puVar19); LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar20 * 4); *(int *)(&DAT_18265dbd0 + lVar20 * 4) = 1; UNLOCK(); while (iVar2 != 0) { uVar7 = (uint)puVar16; if ((3 < uVar7) && (0xf < uVar7)) { Sleep((uint)(0x1f < uVar7)); } puVar16 = (undefined4 *)(ulonglong)(uVar7 + 1); LOCK(); iVar2 = *(int *)(&DAT_18265dbd0 + lVar20 * 4); *(int *)(&DAT_18265dbd0 + lVar20 * 4) = 1; UNLOCK(); } DAT_18265f5f8 = puVar19; *(undefined4 *)(&DAT_18265dbd0 + lVar20 * 4) = 0; } LOCK(); UNLOCK(); DAT_18265f600 = 0; } do { uVar18 = -((uVar18 ^ 0xffffffff) + 1); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar15 = (puVar13[0x12] ^ (puVar13[0x11] ^ (puVar13[0x10] ^ (puVar13[0xf] ^ (puVar13[0xe] ^ (puVar13[0xd] ^ (puVar13[0xc] ^ (puVar13[0xb] ^ (puVar13[10] ^ (puVar13[9] ^ (puVar13[8] ^ (puVar13[7] ^ (puVar13[6] ^ (puVar13[5] ^ (puVar13[4] ^ (puVar13[3] ^ uVar15) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7 ) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7; puVar12 = (uint *)((longlong)(puVar13 + 0x12) + ((longlong)(int)(((uVar15 & 0x21ff) + 1) * (uVar15 & 0x21ff) & 0x80000001) >> ((byte)uVar15 & 0x1f) ^ 4U)); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); puVar13 = puVar12 + 0xf; uVar15 = (*puVar13 ^ (puVar12[0xe] ^ (puVar12[0xd] ^ (puVar12[0xc] ^ (puVar12[0xb] ^ (puVar12[10] ^ (puVar12[9] ^ (puVar12[8] ^ (puVar12[7] ^ (puVar12[6] ^ (puVar12[5] ^ (puVar12[4] ^ (puVar12[3] ^ (puVar12[2] ^ (puVar12[1] ^ (*puVar12 ^ uVar15) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7; uVar17 = (ulonglong)uVar15; if (((ulonglong)puVar13 & 0x1e00) == 0) { uVar7 = (uint)puVar13 & 0xf | 0x68; uVar9 = uVar15 & 0x3f | 0x58; uVar7 = uVar7 * uVar7 * 0xe507 ^ uVar9 * uVar9 * 0x19cf; } else { uVar7 = 0x2e; } uVar10 = (ulonglong)((int)(-uVar7 | uVar7) >> 0x1f & 0x1e0e) ^ 0xffffffffffffe1da; uVar7 = *(uint *)((longlong)puVar13 + uVar10 + 0x30); uVar9 = *(uint *)((longlong)puVar13 + uVar10 + 0x34); uVar3 = *(uint *)((longlong)puVar13 + uVar10 + 0x38); uVar4 = *(uint *)((longlong)puVar13 + uVar10 + 0x3c); do { func_0x000180668314(0x6838); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar15 = (*(uint *)((longlong)puVar13 + uVar10 + 0x6c) ^ (*(uint *)((longlong)puVar13 + uVar10 + 0x68) ^ (*(uint *)((longlong)puVar13 + uVar10 + 100) ^ (*(uint *)((longlong)puVar13 + uVar10 + 0x60) ^ (*(uint *)((longlong)puVar13 + uVar10 + 0x5c) ^ (*(uint *)((longlong)puVar13 + uVar10 + 0x58) ^ (*(uint *)((longlong)puVar13 + uVar10 + 0x54) ^ (*(uint *)((longlong)puVar13 + uVar10 + 0x50) ^ (*(uint *)((longlong)puVar13 + uVar10 + 0x4c) ^ (*(uint *)((longlong)puVar13 + uVar10 + 0x48) ^ (*(uint *)((longlong)puVar13 + uVar10 + 0x44) ^ (*(uint *)((longlong)puVar13 + uVar10 + 0x40) ^ (uVar4 ^ (uVar3 ^ (uVar9 ^ (uVar7 ^ uVar15) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7 ^ *(uint *)((longlong)puVar13 + uVar10 + 0x70); uVar7 = (uVar15 * 0x10001a70 | uVar15 * 0x10001a7 >> 0x1c) & 0xd2d2d2d2 | (uVar15 * 0x10001a7 >> 4 | uVar15 * 0x70000000) & 0x2d2d2d2d; uVar15 = (uVar7 >> 0x12 ^ uVar7) >> 0xd & 1; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); do { uVar5 = rdtsc(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = ((uint)uVar5 ^ (uint)((ulonglong)uVar5 >> 0x20)) * -0x13ac13ad; if ((uVar9 >> 0x18 ^ uVar9) * -0x3d4d12ab < 0x1734f0b) { do { pcStack_68 = FUN_1813f2240; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar10 = FUN_1813f2240(0,0xbe36); if (1 < uVar10) { lVar20 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar1 = (longlong *)register0x00000020; while (lVar20 != -0x3333333333333334) { *plVar1 = 0; plVar1 = plVar1 + 8; lVar20 = *plVar1; } } } if ((char)((((uVar15 << 0x12 | uVar15) << 0xd ^ uVar7) == 0x70ef53a0) * ':') == '\0') { puVar6 = (undefined4 *)thunk_FUN_1805a9280(); return puVar6; } do { *(undefined **)(puVar14 + -8) = &UNK_180669ca8; lVar20 = (longlong)(int)uVar18; func_0x00018066a05f(); *(undefined8 *)(puVar14 + -8) = in_R11; *(ulonglong *)(puVar14 + -0x10) = uVar17; *(BADSPACEBASE **)(puVar14 + -0x18) = register0x00000020; puVar19 = (undefined4 *)-(((ulonglong)puVar19 ^ 0xffffffffffffffff) + 1); lVar20 = -lVar20; register0x00000020 = *(BADSPACEBASE **)(puVar14 + lVar20 + 0x648); uVar17 = *(ulonglong *)(puVar14 + lVar20 + 0x650); in_R11 = *(undefined8 *)(puVar14 + lVar20 + 0x658); puVar14 = puVar14 + lVar20 + 0x660; uVar15 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); return puVar19; } ############ FUN_ 18066b550 size=97 ############ undefined8 * FUN_18066b550(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 18066b5c0 size=97 ############ undefined8 * FUN_18066b5c0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 18066b630 size=97 ############ undefined8 * FUN_18066b630(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 18066b6a0 size=97 ############ undefined8 * FUN_18066b6a0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 18066b710 size=97 ############ undefined8 * FUN_18066b710(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1806818e0 size=115 ############ void FUN_1806818e0(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x88; if (param_2 < 0x1e1e1e1e1e1e1e2) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 18066c1a0 size=578 ############ void FUN_18066c1a0(ulonglong *param_1,longlong param_2,longlong param_3) { undefined8 *puVar1; void *pvVar2; longlong lVar3; void *_Memory; ulonglong uVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; ulonglong uVar8; puVar1 = (undefined8 *)param_1[1]; puVar7 = (undefined8 *)*param_1; uVar4 = (param_3 - param_2) / 0x38; uVar5 = ((longlong)puVar1 - (longlong)puVar7) / 0x38; uVar8 = (longlong)(param_1[2] - (longlong)puVar7) / 0x38; if (uVar4 <= uVar8) { if (uVar5 < uVar4) { lVar3 = uVar5 * 0x38 + param_2; FUN_18066cc30(param_2,lVar3,puVar7); uVar4 = FUN_18066e2f0(param_1,lVar3,param_3,param_1[1]); param_1[1] = uVar4; return; } FUN_18066cc30(param_2,param_3,puVar7); puVar1 = (undefined8 *)param_1[1]; for (puVar6 = puVar7 + uVar4 * 7; puVar6 != puVar1; puVar6 = puVar6 + 7) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (ulonglong)(puVar7 + uVar4 * 7); return; } if (0x492492492492492 < uVar4) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = uVar4; if ((uVar8 <= 0x492492492492492 - (uVar8 >> 1)) && (uVar5 = (uVar8 >> 1) + uVar8, uVar5 < uVar4)) { uVar5 = uVar4; } if (puVar7 != (undefined8 *)0x0) { for (; puVar7 != puVar1; puVar7 = puVar7 + 7) { (**(code **)*puVar7)(puVar7,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < uVar8 * 0x38) && (_Memory = *(void **)((longlong)pvVar2 - 8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } uVar4 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar5 == 0) goto LAB_18066c340; if (0x492492492492492 < uVar5) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar8 = uVar5 * 0x38; if (uVar5 < 0x492492492492493) { uVar5 = uVar8; if (0xfff < uVar8) goto LAB_18066c2f5; if (uVar8 != 0) { uVar4 = FUN_1811316e0(uVar8); } } else { uVar5 = 0xffffffffffffffff; LAB_18066c2f5: uVar4 = uVar5 + 0x27; if (uVar4 <= uVar5) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar3; } *param_1 = uVar4; param_1[1] = uVar4; param_1[2] = *param_1 + uVar8; LAB_18066c340: uVar4 = FUN_18066e2f0(param_1,param_2,param_3,*param_1); param_1[1] = uVar4; return; } ############ FUN_ 1806819e0 size=115 ############ void FUN_1806819e0(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x130; if (param_2 < 0xd79435e50d7944) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 180681960 size=112 ############ void FUN_180681960(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x58; if (param_2 < 0x2e8ba2e8ba2e8bb) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 180681860 size=116 ############ void FUN_180681860(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x60; if (param_2 < 0x2aaaaaaaaaaaaab) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 180681a60 size=115 ############ void FUN_180681a60(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0xa8; if (param_2 < 0x186186186186187) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 18066ece0 size=1242 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018066ef08) */ /* WARNING: Removing unreachable block (ram,0x00018066ef16) */ /* WARNING: Removing unreachable block (ram,0x00018066ef2e) */ /* WARNING: Removing unreachable block (ram,0x00018066f0a9) */ /* WARNING: Removing unreachable block (ram,0x00018066f0b7) */ /* WARNING: Removing unreachable block (ram,0x00018066f0cf) */ void FUN_18066ece0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined4 param_4, undefined8 *param_5,longlong param_6,undefined8 param_7) { int *piVar1; longlong *plVar2; int iVar3; longlong *plVar4; longlong lVar5; undefined8 uVar6; undefined8 uVar7; undefined1 auStack_458 [32]; undefined8 *local_438; longlong local_430; undefined8 local_428; undefined4 local_418; longlong local_410; longlong local_408; undefined8 local_400; undefined8 local_3f8; undefined8 local_3f0; undefined8 local_3e8 [2]; undefined8 local_3d8; longlong *plStack_3d0; undefined8 local_3c8; longlong *plStack_3c0; undefined8 local_3b8; longlong local_3b0; undefined8 local_3a8; longlong local_3a0; undefined8 local_398; longlong *plStack_390; undefined8 local_388; longlong *plStack_380; undefined8 local_378; longlong *plStack_370; undefined8 local_368; undefined8 *local_360; undefined8 *local_358; undefined8 *local_350; undefined1 local_348 [248]; undefined1 local_250 [504]; ulonglong local_58; local_368 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_458; local_350 = param_5; local_418 = 0; local_360 = param_1; local_358 = param_2; local_408 = FUN_1811316e0(0x388); if (local_408 == 0) { uVar6 = 0; } else { local_3b8 = *param_5; local_3b0 = param_5[1]; if (local_3b0 != 0) { LOCK(); *(int *)(local_3b0 + 8) = *(int *)(local_3b0 + 8) + 1; UNLOCK(); } local_3a8 = *param_2; local_3a0 = param_2[1]; if (local_3a0 != 0) { LOCK(); *(int *)(local_3a0 + 8) = *(int *)(local_3a0 + 8) + 1; UNLOCK(); } local_428 = param_7; local_430 = param_6; local_438 = &local_3b8; uVar6 = FUN_180933ba0(local_408,&local_3a8,param_3,param_4); } uVar7 = 0; local_3c8 = uVar6; FUN_18066b550(&plStack_3c0,uVar6); FUN_1805ae620(&local_3c8,uVar6,uVar6); local_410 = FUN_1811316e0(0x40); uVar6 = uVar7; if (local_410 != 0) { local_398 = local_3c8; plStack_390 = plStack_3c0; if (plStack_3c0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_3c0 + 1) = (int)plStack_3c0[1] + 1; UNLOCK(); } uVar6 = FUN_1807eb0a0(local_410,&local_398,0x5036); } local_3d8 = uVar6; FUN_18066b5c0(&plStack_3d0,uVar6); FUN_1805ae620(&local_3d8,uVar6,uVar6); if (*(char *)(param_6 + 0x2e3) == '\0') { local_410 = FUN_1811316e0(0x28); if (local_410 != 0) { local_378 = local_3d8; plStack_370 = plStack_3d0; if (plStack_3d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_3d0 + 1) = (int)plStack_3d0[1] + 1; UNLOCK(); } uVar7 = FUN_1807fb700(local_410,&local_378); } local_3f0 = uVar7; FUN_18066b630(local_3e8,uVar7); FUN_1805ae620(&local_3f0,uVar7,uVar7); uVar6 = local_3e8[0]; *param_1 = local_3f0; local_3e8[0] = 0; param_1[1] = uVar6; local_3f0 = 0; local_418 = 1; if (plStack_3d0 != (longlong *)0x0) { LOCK(); plVar4 = plStack_3d0 + 1; lVar5 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_3d0 + 8))(plStack_3d0); LOCK(); piVar1 = (int *)((longlong)plStack_3d0 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_3d0 + 0x10))(plStack_3d0); } } } if (plStack_3c0 != (longlong *)0x0) { LOCK(); plVar4 = plStack_3c0 + 1; lVar5 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_3c0 + 8))(plStack_3c0); LOCK(); piVar1 = (int *)((longlong)plStack_3c0 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_3c0 + 0x10))(plStack_3c0); } } } plVar4 = (longlong *)param_2[1]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar5 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } plVar4 = (longlong *)param_5[1]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar5 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } else { FUN_1805b4bc0(local_348,param_6); FUN_1806ae530(local_348); local_410 = FUN_1811316e0(0x28); if (local_410 != 0) { local_388 = local_3d8; plStack_380 = plStack_3d0; if (plStack_3d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_3d0 + 1) = (int)plStack_3d0[1] + 1; UNLOCK(); } uVar7 = FUN_1807fb700(local_410,&local_388,local_250); } local_400 = uVar7; FUN_18066b630(&local_3f8,uVar7); FUN_1805ae620(&local_400,uVar7,uVar7); uVar6 = local_3f8; *param_1 = local_400; local_3f8 = 0; param_1[1] = uVar6; local_400 = 0; local_418 = 1; FUN_1805753e0(local_348); if (plStack_3d0 != (longlong *)0x0) { LOCK(); plVar4 = plStack_3d0 + 1; lVar5 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_3d0 + 8))(plStack_3d0); LOCK(); piVar1 = (int *)((longlong)plStack_3d0 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_3d0 + 0x10))(plStack_3d0); } } } if (plStack_3c0 != (longlong *)0x0) { LOCK(); plVar4 = plStack_3c0 + 1; lVar5 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_3c0 + 8))(plStack_3c0); LOCK(); piVar1 = (int *)((longlong)plStack_3c0 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_3c0 + 0x10))(plStack_3c0); } } } plVar4 = (longlong *)param_2[1]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar5 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } plVar4 = (longlong *)param_5[1]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar5 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } } ############ FUN_ 18066f1d0 size=1236 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018066f3f2) */ /* WARNING: Removing unreachable block (ram,0x00018066f400) */ /* WARNING: Removing unreachable block (ram,0x00018066f418) */ /* WARNING: Removing unreachable block (ram,0x00018066f593) */ /* WARNING: Removing unreachable block (ram,0x00018066f5a1) */ /* WARNING: Removing unreachable block (ram,0x00018066f5b9) */ void FUN_18066f1d0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined4 param_4, undefined8 *param_5,longlong param_6,undefined8 param_7) { int *piVar1; longlong *plVar2; int iVar3; longlong *plVar4; longlong lVar5; undefined8 uVar6; undefined8 uVar7; undefined1 auStack_458 [32]; undefined8 *local_438; longlong local_430; undefined8 local_428; undefined4 local_418; longlong local_410; longlong local_408; undefined8 local_400; undefined8 local_3f8; undefined8 local_3f0; undefined8 local_3e8 [2]; undefined8 local_3d8; longlong *plStack_3d0; undefined8 local_3c8; longlong *plStack_3c0; undefined8 local_3b8; longlong local_3b0; undefined8 local_3a8; longlong local_3a0; undefined8 local_398; longlong *plStack_390; undefined8 local_388; longlong *plStack_380; undefined8 local_378; longlong *plStack_370; undefined8 local_368; undefined8 *local_360; undefined8 *local_358; undefined8 *local_350; undefined1 local_348 [248]; undefined1 local_250 [504]; ulonglong local_58; local_368 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_458; local_350 = param_5; local_418 = 0; local_360 = param_1; local_358 = param_2; local_408 = FUN_1811316e0(0x388); if (local_408 == 0) { uVar6 = 0; } else { local_3b8 = *param_5; local_3b0 = param_5[1]; if (local_3b0 != 0) { LOCK(); *(int *)(local_3b0 + 8) = *(int *)(local_3b0 + 8) + 1; UNLOCK(); } local_3a8 = *param_2; local_3a0 = param_2[1]; if (local_3a0 != 0) { LOCK(); *(int *)(local_3a0 + 8) = *(int *)(local_3a0 + 8) + 1; UNLOCK(); } local_428 = param_7; local_430 = param_6; local_438 = &local_3b8; uVar6 = FUN_180933ba0(local_408,&local_3a8,param_3,param_4); } uVar7 = 0; local_3c8 = uVar6; FUN_18066b550(&plStack_3c0,uVar6); FUN_1805ae620(&local_3c8,uVar6,uVar6); local_410 = FUN_1811316e0(0x428); uVar6 = uVar7; if (local_410 != 0) { local_398 = local_3c8; plStack_390 = plStack_3c0; if (plStack_3c0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_3c0 + 1) = (int)plStack_3c0[1] + 1; UNLOCK(); } uVar6 = FUN_18074feb0(local_410,&local_398); } local_3d8 = uVar6; FUN_18063f9b0(&plStack_3d0,uVar6); FUN_1805ae620(&local_3d8,uVar6,uVar6); if (*(char *)(param_6 + 0x2e3) == '\0') { local_410 = FUN_1811316e0(0x38); if (local_410 != 0) { local_378 = local_3d8; plStack_370 = plStack_3d0; if (plStack_3d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_3d0 + 1) = (int)plStack_3d0[1] + 1; UNLOCK(); } uVar7 = FUN_18063fc50(local_410,&local_378); } local_3f0 = uVar7; FUN_18066b6a0(local_3e8,uVar7); FUN_1805ae620(&local_3f0,uVar7,uVar7); uVar6 = local_3e8[0]; *param_1 = local_3f0; local_3e8[0] = 0; param_1[1] = uVar6; local_3f0 = 0; local_418 = 1; if (plStack_3d0 != (longlong *)0x0) { LOCK(); plVar4 = plStack_3d0 + 1; lVar5 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_3d0 + 8))(plStack_3d0); LOCK(); piVar1 = (int *)((longlong)plStack_3d0 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_3d0 + 0x10))(plStack_3d0); } } } if (plStack_3c0 != (longlong *)0x0) { LOCK(); plVar4 = plStack_3c0 + 1; lVar5 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_3c0 + 8))(plStack_3c0); LOCK(); piVar1 = (int *)((longlong)plStack_3c0 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_3c0 + 0x10))(plStack_3c0); } } } plVar4 = (longlong *)param_2[1]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar5 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } plVar4 = (longlong *)param_5[1]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar5 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } else { FUN_1805b4bc0(local_348,param_6); FUN_1806ae530(local_348); local_410 = FUN_1811316e0(0x38); if (local_410 != 0) { local_388 = local_3d8; plStack_380 = plStack_3d0; if (plStack_3d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_3d0 + 1) = (int)plStack_3d0[1] + 1; UNLOCK(); } uVar7 = FUN_180640e70(local_410,&local_388,local_250); } local_400 = uVar7; FUN_18066b6a0(&local_3f8,uVar7); FUN_1805ae620(&local_400,uVar7,uVar7); uVar6 = local_3f8; *param_1 = local_400; local_3f8 = 0; param_1[1] = uVar6; local_400 = 0; local_418 = 1; FUN_1805753e0(local_348); if (plStack_3d0 != (longlong *)0x0) { LOCK(); plVar4 = plStack_3d0 + 1; lVar5 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_3d0 + 8))(plStack_3d0); LOCK(); piVar1 = (int *)((longlong)plStack_3d0 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_3d0 + 0x10))(plStack_3d0); } } } if (plStack_3c0 != (longlong *)0x0) { LOCK(); plVar4 = plStack_3c0 + 1; lVar5 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_3c0 + 8))(plStack_3c0); LOCK(); piVar1 = (int *)((longlong)plStack_3c0 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_3c0 + 0x10))(plStack_3c0); } } } plVar4 = (longlong *)param_2[1]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar5 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } plVar4 = (longlong *)param_5[1]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar5 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } } ############ FUN_ 18077ac30 size=55 ############ void FUN_18077ac30(void) { longlong lVar1; lVar1 = FUN_1811316e0(0x200); *(longlong *)lVar1 = lVar1; *(longlong *)(lVar1 + 8) = lVar1; *(longlong *)(lVar1 + 0x10) = lVar1; *(undefined2 *)(lVar1 + 0x18) = 0x101; return; } ############ FUN_ 18077ac70 size=74 ############ void FUN_18077ac70(undefined8 param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; plVar1 = (longlong *)FUN_1811316e0(0x50); if (param_2 == (longlong *)0x0) { param_2 = plVar1; param_3 = plVar1; } *plVar1 = (longlong)param_2; plVar1[1] = (longlong)param_3; return; } ############ FUN_ 180670230 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180670230(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_180787310(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180670420 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180670420(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_180788420(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180670610 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180670610(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_1807891e0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 1806709f0 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806709f0(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_18078ba10(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180670be0 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180670be0(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_18078cfd0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180670dd0 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180670dd0(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_18078e360(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180670fc0 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180670fc0(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_180791350(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 1806711b0 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806711b0(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_180791fb0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180671590 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180671590(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_180794a20(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180671780 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180671780(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_180795db0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 180671b60 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180671b60(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_180799c80(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 1806725b0 size=447 ############ void FUN_1806725b0(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a0360(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180672770 size=447 ############ void FUN_180672770(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a1380(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180672930 size=447 ############ void FUN_180672930(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a2480(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180672af0 size=447 ############ void FUN_180672af0(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a4620(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180672cb0 size=447 ############ void FUN_180672cb0(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a46b0(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180672e70 size=447 ############ void FUN_180672e70(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a6640(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180673030 size=447 ############ void FUN_180673030(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a7670(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 1806731f0 size=447 ############ void FUN_1806731f0(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a9130(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 1806733b0 size=447 ############ void FUN_1806733b0(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a9ed0(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180673730 size=447 ############ void FUN_180673730(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807acea0(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 1806738f0 size=447 ############ void FUN_1806738f0(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807adf90(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180673c70 size=447 ############ void FUN_180673c70(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807b1430(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 1806807f0 size=2562 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806807f0(longlong *param_1,char param_2,char param_3,char param_4,undefined1 *param_5, char *param_6,longlong param_7) { uint uVar1; uint uVar2; bool bVar3; longlong lVar4; longlong lVar5; undefined8 uVar6; char *pcVar7; undefined8 *puVar8; undefined8 *puVar9; int iVar10; int iVar11; undefined1 auStack_138 [32]; char local_118; char local_117; uint local_110 [2]; char local_108; char local_107; uint local_100 [2]; char *local_f8; longlong local_f0; int local_e8; uint local_e4; char *local_e0; undefined1 *local_d8; undefined8 local_d0; undefined **local_c8; undefined4 local_c0; undefined8 local_b8 [2]; undefined8 local_a8; undefined8 local_a0; int local_98; undefined1 local_90 [16]; undefined8 local_80; undefined8 local_78; undefined1 local_70; undefined8 local_68; undefined8 uStack_60; undefined8 local_58; undefined8 local_50; undefined2 local_48; undefined1 local_46; ulonglong local_38; local_d0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_138; local_d8 = param_5; local_e0 = param_6; local_118 = '\0'; local_e8 = 0; iVar11 = 0; local_117 = param_2; local_108 = param_4; local_107 = param_3; lVar4 = FUN_180870eb0(); FUN_18080ca00(param_1,*(undefined1 *)(lVar4 + 0xdc),"counter1CurrentCount"); lVar4 = FUN_180870eb0(param_1); uVar1 = *(uint *)(lVar4 + 0x34); local_100[0] = uVar1; lVar4 = FUN_180870eb0(param_1); FUN_18080ca00(param_1,*(undefined1 *)(lVar4 + 0xdd),"counter1StartCount"); lVar4 = FUN_180870eb0(param_1); local_f0 = CONCAT44(local_f0._4_4_,*(undefined4 *)(lVar4 + 0x38)); lVar4 = FUN_180870eb0(param_1); FUN_18080ca00(param_1,*(undefined1 *)(lVar4 + 0xdf),"counter2CurrentCount"); lVar4 = FUN_180870eb0(param_1); uVar2 = *(uint *)(lVar4 + 0x40); local_110[0] = uVar2; lVar4 = FUN_180870eb0(param_1); FUN_18080ca00(param_1,*(undefined1 *)(lVar4 + 0xe0),"counter2StartCount"); lVar4 = FUN_180870eb0(param_1); local_e4 = *(uint *)(lVar4 + 0x44); *param_5 = 0; *local_e0 = '\0'; lVar4 = FUN_180870eb0(param_1); FUN_18080ca00(param_1,*(undefined1 *)(lVar4 + 0xe1),"counters64bitCombined"); lVar4 = FUN_180870eb0(param_1); if (*(char *)(lVar4 + 0x48) != '\0') { lVar4 = FUN_180870eb0(param_1); FUN_18080ca00(param_1,*(undefined1 *)(lVar4 + 0xdb),"counter1CountsUpNotDown"); lVar4 = FUN_180870eb0(param_1); if (*(char *)(lVar4 + 0x30) == '\0') { if ((((param_4 != '\0') && (uVar2 == 0 && uVar1 == 0)) && (uVar1 != (uint)local_f0)) && (uVar2 != local_e4)) { local_f8 = (char *)FUN_1811316e0(0x18); if (local_f8 == (char *)0x0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_f8, "Software Auth Expired: The 64-bit counter reach its minimum of 0x%08X%08X" ); } lVar5 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar4 + 8),local_100); FUN_18060e760(*(undefined8 *)(lVar4 + 8),local_110); local_110[0] = 0x2798; local_e0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_e0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_110); } if (local_117 == '\0') { } iVar11 = 8 - (uint)(uVar1 != 0); if (uVar2 == 0) { if (uVar1 == 0) { } lVar4 = FUN_180870eb0(param_1); *(uint *)(lVar4 + 0x34) = uVar1 - 1; lVar4 = FUN_180870eb0(param_1); *(undefined1 *)(lVar4 + 0xdc) = 1; FUN_180870d90(param_1); lVar4 = FUN_180870eb0(param_1); *(undefined4 *)(lVar4 + 0x40) = 0xffffffff; lVar4 = FUN_180870eb0(param_1); *(undefined1 *)(lVar4 + 0xdf) = 1; FUN_180870d90(param_1); local_118 = '\x01'; local_e8 = 8; *local_d8 = 1; bVar3 = false; goto LAB_180681040; } iVar10 = uVar2 - 1; } else { if (((param_4 != '\0') && ((uVar2 & uVar1) == 0xffffffff)) && ((uVar1 != (uint)local_f0 && (uVar2 != local_e4)))) { local_f8 = (char *)FUN_1811316e0(0x18); if (local_f8 == (char *)0x0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_f8, "Software Auth Expired: The 64-bit counter reach its maximum of 0x%08X%08X" ); } lVar5 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar4 + 8),local_100); FUN_18060e760(*(undefined8 *)(lVar4 + 8),local_110); local_110[0] = 0x2768; local_e0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_e0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_110); } if (local_117 == '\0') { } iVar11 = 6 - (uint)(uVar1 != 0); if (uVar2 == 0xffffffff) { if (uVar1 == 0xffffffff) { } lVar4 = FUN_180870eb0(param_1); *(uint *)(lVar4 + 0x34) = uVar1 + 1; lVar4 = FUN_180870eb0(param_1); *(undefined1 *)(lVar4 + 0xdc) = 1; FUN_180870d90(param_1); lVar4 = FUN_180870eb0(param_1); *(undefined4 *)(lVar4 + 0x40) = 0; lVar4 = FUN_180870eb0(param_1); *(undefined1 *)(lVar4 + 0xdf) = 1; FUN_180870d90(param_1); local_118 = '\x01'; local_e8 = 6; *local_d8 = 1; bVar3 = false; goto LAB_180681040; } iVar10 = uVar2 + 1; } lVar4 = FUN_180870eb0(param_1); *(int *)(lVar4 + 0x40) = iVar10; lVar4 = FUN_180870eb0(param_1); *(undefined1 *)(lVar4 + 0xdf) = 1; FUN_180870d90(param_1); bVar3 = true; *local_d8 = 1; goto LAB_180681040; } lVar4 = FUN_180870eb0(param_1); FUN_18080ca00(param_1,*(undefined1 *)(lVar4 + 0xdb),"counter1CountsUpNotDown"); lVar4 = FUN_180870eb0(param_1); if (*(char *)(lVar4 + 0x30) == '\0') { if (((param_4 != '\0') && (uVar1 == 0)) && ((uint)local_f0 != 0)) { local_f8 = (char *)FUN_1811316e0(0x18); if (local_f8 == (char *)0x0) { local_f0 = 0; } else { local_f0 = FUN_1805a48c0(local_f8, "Software Auth Expired: The 32-bit counter1 reach its minimum of 0x%08X" ); } lVar4 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(local_f0 + 8),local_100); local_100[0] = 0x27e8; local_f8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(lVar4 + 8),&local_f8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_100); } if ((local_117 != '\0') && (uVar1 != 0)) { lVar4 = FUN_180870eb0(param_1); *(uint *)(lVar4 + 0x34) = uVar1 - 1; lVar4 = FUN_180870eb0(param_1); *(undefined1 *)(lVar4 + 0xdc) = 1; FUN_180870d90(param_1); local_e8 = 8; goto LAB_180680e3c; } } else { if (((param_4 != '\0') && (uVar1 == 0xffffffff)) && ((uint)local_f0 != -1)) { local_f8 = (char *)FUN_1811316e0(0x18); if (local_f8 == (char *)0x0) { local_f0 = 0; } else { local_f0 = FUN_1805a48c0(local_f8, "Software Auth Expired: The 32-bit counter1 reach its maximum of 0x%08X" ); } lVar4 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(local_f0 + 8),local_100); local_100[0] = 0x27cd; local_f8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(lVar4 + 8),&local_f8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_100); } if ((local_117 != '\0') && (uVar1 != 0xffffffff)) { lVar4 = FUN_180870eb0(param_1); *(uint *)(lVar4 + 0x34) = uVar1 + 1; lVar4 = FUN_180870eb0(param_1); *(undefined1 *)(lVar4 + 0xdc) = 1; FUN_180870d90(param_1); local_e8 = 6; LAB_180680e3c: *local_d8 = 1; local_118 = '\x01'; } } lVar4 = FUN_180870eb0(param_1); FUN_18080ca00(param_1,*(undefined1 *)(lVar4 + 0xde),"counter2CountsUpNotDown"); lVar4 = FUN_180870eb0(param_1); if (*(char *)(lVar4 + 0x3c) == '\0') { if (((local_108 != '\0') && (uVar2 == 0)) && (local_e4 != 0)) { local_f8 = (char *)FUN_1811316e0(0x18); if (local_f8 == (char *)0x0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_f8, "Software Auth Expired: The 32-bit counter2 reach its minimum of 0x%08X" ); } lVar5 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar4 + 8),local_110); local_110[0] = 0x2823; local_f8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_f8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_110); } if ((local_107 == '\0') || (uVar2 == 0)) goto LAB_18068102d; lVar4 = FUN_180870eb0(param_1); *(uint *)(lVar4 + 0x40) = uVar2 - 1; lVar4 = FUN_180870eb0(param_1); *(undefined1 *)(lVar4 + 0xdf) = 1; FUN_180870d90(param_1); bVar3 = true; iVar11 = 8; *local_e0 = '\x01'; } else { if (((local_108 != '\0') && (uVar2 == 0xffffffff)) && (local_e4 != 0xffffffff)) { local_f8 = (char *)FUN_1811316e0(0x18); if (local_f8 == (char *)0x0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_f8, "Software Auth Expired: The 32-bit counter2 reach its maximum of 0x%08X" ); } lVar5 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar4 + 8),local_110); local_110[0] = 0x2808; local_f8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_f8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_110); } if ((local_107 == '\0') || (uVar2 == 0xffffffff)) { LAB_18068102d: bVar3 = false; } else { lVar4 = FUN_180870eb0(param_1); *(uint *)(lVar4 + 0x40) = uVar2 + 1; lVar4 = FUN_180870eb0(param_1); *(undefined1 *)(lVar4 + 0xdf) = 1; FUN_180870d90(param_1); bVar3 = true; iVar11 = 6; *local_e0 = '\x01'; } } if ((local_118 == '\0') && (!bVar3)) { } LAB_180681040: local_c8 = pace::eden::thrift::authorize::DatabaseCommitItem::vftable; local_a8 = 0; local_a0 = 0xf; local_b8[0]._0_1_ = 0; FUN_1805a6cb0(local_b8,&DAT_181baf991,0); local_80 = 0; local_78 = 0xf; local_90[0] = 0; FUN_1805a6cb0(local_90,&DAT_181baf991,0); local_70 = 0; local_68 = 0; uStack_60 = 0; local_58 = 0; local_50 = 0; local_48 = 0; local_46 = 0; if (param_7 != 0) { if (local_118 != '\0') { local_c0 = 400; puVar8 = (undefined8 *)(**(code **)(*param_1 + 0x40))(param_1); if (local_b8 != puVar8) { puVar9 = puVar8; if (0xf < (ulonglong)puVar8[3]) { puVar9 = (undefined8 *)*puVar8; } FUN_1805a6cb0(local_b8,puVar9,puVar8[2]); } local_98 = local_e8; lVar4 = *(longlong *)(param_7 + 8); if (*(longlong *)(param_7 + 0x10) == lVar4) { FUN_18066cf60(param_7,lVar4,&local_c8); } else { FUN_180676cd0(lVar4,&local_c8); *(longlong *)(param_7 + 8) = *(longlong *)(param_7 + 8) + 0x88; } } if (bVar3) { local_c0 = 0x191; puVar8 = (undefined8 *)(**(code **)(*param_1 + 0x40))(param_1); if (local_b8 != puVar8) { puVar9 = puVar8; if (0xf < (ulonglong)puVar8[3]) { puVar9 = (undefined8 *)*puVar8; } FUN_1805a6cb0(local_b8,puVar9,puVar8[2]); } lVar4 = *(longlong *)(param_7 + 8); local_98 = iVar11; if (*(longlong *)(param_7 + 0x10) == lVar4) { FUN_18066cf60(param_7,lVar4,&local_c8); } else { FUN_180676cd0(lVar4,&local_c8); *(longlong *)(param_7 + 8) = *(longlong *)(param_7 + 8) + 0x88; } } FUN_18067ae90(&local_c8); } local_f8 = (char *)FUN_1811316e0(0x18); if (local_f8 == (char *)0x0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_f8, "A counter (UUID: %s) needs updating, but it can\'t be without a pointer to the Database Commit Items" ); } pcVar7 = (char *)FUN_1811316e0(0x18); local_f8 = pcVar7; if (pcVar7 == (char *)0x0) { pcVar7 = (char *)0x0; } else { FUN_1805a48c0(pcVar7,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar7 = pace::PaceLocationInfoFormatter::vftable; } uVar6 = (**(code **)(*param_1 + 0x40))(param_1); FUN_1805b2240(*(undefined8 *)(lVar4 + 8),uVar6); local_110[0] = 0x283a; local_f8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(pcVar7 + 8),&local_f8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_110); } ############ FUN_ 180681290 size=1140 ############ void FUN_180681290(longlong param_1,char param_2,char param_3,char param_4,char param_5) { uint uVar1; uint uVar2; longlong lVar3; longlong lVar4; undefined8 uVar5; uint uVar6; longlong local_res8; uint local_58 [2]; char *local_50; char *local_48; undefined8 local_40; local_40 = 0xfffffffffffffffe; uVar6 = *(uint *)(param_1 + 0x2c); local_res8 = CONCAT44(local_res8._4_4_,uVar6); uVar1 = *(uint *)(param_1 + 0x30); local_58[0] = *(uint *)(param_1 + 0x3c); uVar2 = *(uint *)(param_1 + 0x40); if (*(char *)(param_1 + 0x49) == '\0') { lVar3 = 0; if (*(char *)(param_1 + 0x29) == '\0') { if ((uVar1 != 0) && ((param_2 != '\0' || (param_4 != '\0')))) { if (uVar6 == 0) { local_48 = (char *)FUN_1811316e0(0x18); if (local_48 == (char *)0x0) { local_50 = (char *)0x0; } else { local_50 = (char *)FUN_1805a48c0(local_48, "Auth Expired: The 32-bit counter1 reach its minimum of 0x%08X" ); } lVar3 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(local_50 + 8),&local_res8); local_res8 = CONCAT44(local_res8._4_4_,0x28da); local_48 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_48); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } if ((param_2 != '\0') && (uVar6 != 0)) { uVar6 = uVar6 - 1; } } } else if ((uVar1 != 0xffffffff) && ((param_2 != '\0' || (param_4 != '\0')))) { if (uVar6 == 0xffffffff) { local_48 = (char *)FUN_1811316e0(0x18); if (local_48 == (char *)0x0) { local_50 = (char *)0x0; } else { local_50 = (char *)FUN_1805a48c0(local_48, "Auth Expired: The 32-bit counter1 reach its maximum of 0x%08X" ); } lVar3 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(local_50 + 8),&local_res8); local_res8 = CONCAT44(local_res8._4_4_,0x28c1); local_48 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_48); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } if ((param_2 != '\0') && (uVar6 != 0xffffffff)) { uVar6 = uVar6 + 1; } } if (*(char *)(param_1 + 0x39) == '\0') { if ((uVar2 == 0) || ((param_3 == '\0' && (param_5 == '\0')))) goto LAB_18068175a; if (local_58[0] == 0) { local_res8 = FUN_1811316e0(0x18); if (local_res8 != 0) { lVar3 = FUN_1805a48c0(local_res8, "Auth Expired: The 32-bit counter2 reach its minimum of 0x%08X"); } lVar4 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar3 + 8),local_58); local_res8 = CONCAT44(local_res8._4_4_,0x2910); local_48 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar4 + 8),&local_48); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } if ((param_3 == '\0') || (local_58[0] == 0)) goto LAB_18068175a; goto LAB_180681758; } if ((uVar2 == 0xffffffff) || ((param_3 == '\0' && (param_5 == '\0')))) goto LAB_18068175a; if (local_58[0] == 0xffffffff) { local_res8 = FUN_1811316e0(0x18); if (local_res8 != 0) { lVar3 = FUN_1805a48c0(local_res8, "Auth Expired: The 32-bit counter2 reach its maximum of 0x%08X"); } lVar4 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar3 + 8),local_58); local_res8 = CONCAT44(local_res8._4_4_,0x28f7); local_48 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar4 + 8),&local_48); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } if ((param_3 == '\0') || (local_58[0] == 0xffffffff)) goto LAB_18068175a; } else { if (*(char *)(param_1 + 0x29) == '\0') { if ((uVar2 == 0 && uVar1 == 0) || ((param_2 == '\0' && (param_4 == '\0')))) goto LAB_18068175a; if (local_58[0] == 0 && uVar6 == 0) { local_48 = (char *)FUN_1811316e0(0x18); if (local_48 == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_48, "Auth Expired: The 64-bit counter reach its minimum of 0x%08X%08X"); } lVar4 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar3 + 8),&local_res8); FUN_18060e760(*(undefined8 *)(lVar3 + 8),local_58); local_res8 = CONCAT44(local_res8._4_4_,0x2897); local_50 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar4 + 8),&local_50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } if (param_2 == '\0') goto LAB_18068175a; if (local_58[0] == 0) { if (uVar6 != 0) { uVar6 = uVar6 - 1; local_58[0] = 0xffffffff; } goto LAB_18068175a; } LAB_180681758: local_58[0] = local_58[0] - 1; goto LAB_18068175a; } if (((uVar2 & uVar1) == 0xffffffff) || ((param_2 == '\0' && (param_4 == '\0')))) goto LAB_18068175a; lVar3 = 0; if ((local_58[0] & uVar6) == 0xffffffff) { local_48 = (char *)FUN_1811316e0(0x18); if (local_48 != (char *)0x0) { lVar3 = FUN_1805a48c0(local_48, "Auth Expired: The 64-bit counter reach its maximum of 0x%08X%08X"); } lVar4 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar3 + 8),&local_res8); FUN_18060e760(*(undefined8 *)(lVar3 + 8),local_58); local_res8 = CONCAT44(local_res8._4_4_,0x2873); local_50 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar4 + 8),&local_50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } if (param_2 == '\0') goto LAB_18068175a; if (local_58[0] == 0xffffffff) { if (uVar6 != 0xffffffff) { uVar6 = uVar6 + 1; local_58[0] = 0; } goto LAB_18068175a; } } local_58[0] = local_58[0] + 1; LAB_18068175a: *(uint *)(param_1 + 0x2c) = uVar6; *(uint *)(param_1 + 0x3c) = local_58[0]; return; } ############ FUN_ 180687540 size=657 ############ undefined8 * FUN_180687540(undefined8 *param_1,char *param_2,char param_3,int param_4) { undefined4 uVar1; uint uVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 uVar6; undefined8 *puVar7; char *pcVar8; char *local_res10; undefined4 local_res20 [2]; puVar7 = (undefined8 *)0x0; *param_1 = pace::eden::thrift::pub::CountLimitRecord::vftable; *(undefined4 *)(param_1 + 1) = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; *(undefined2 *)(param_1 + 5) = 0; *(undefined8 *)((longlong)param_1 + 0x2c) = 0; *(undefined2 *)(param_1 + 7) = 0; *(undefined8 *)((longlong)param_1 + 0x3c) = 0; param_1[9] = 0; param_1[10] = 0; *(undefined2 *)(param_1 + 0xb) = 0; local_res10 = param_2; if (param_2 == (char *)0x0) { lVar3 = FUN_1811316e0(0x18); puVar4 = puVar7; if (lVar3 != 0) { puVar4 = (undefined8 *) FUN_1805a48c0(lVar3, "convertCountLimitFromIlok1ToPublic was passed a bad userdata at address (0x%16X)" ); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); if (puVar5 != (undefined8 *)0x0) { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; puVar7 = puVar5; } FUN_1805a21d0(puVar4[1],&local_res10); local_res20[0] = 0x2995; local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(puVar7[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_res20); } if ((param_2[7] & 1U) != 0) { *(undefined4 *)(param_1 + 1) = 0x80000000; if (param_4 != -1) { FUN_1805b1330(param_1 + 2,4,param_1 + 2,param_4,1,0xfffffffffffffffe); FUN_180621500(param_4,param_1[2]); } *(undefined2 *)(param_1 + 5) = 1; uVar1 = FUN_18061f8c0(param_2); *(undefined4 *)((longlong)param_1 + 0x2c) = uVar1; if ((param_2[7] & 4U) == 0) { *(undefined4 *)(param_1 + 6) = 0xffffffff; *(undefined1 *)(param_1 + 9) = 1; } else { uVar2 = FUN_18061f8c0(param_2 + 4); *(uint *)(param_1 + 6) = uVar2 >> 8; } *(undefined4 *)((longlong)param_1 + 0x34) = 2; *(undefined2 *)(param_1 + 7) = 0; *(undefined8 *)((longlong)param_1 + 0x3c) = 0; *(undefined4 *)((longlong)param_1 + 0x44) = 0; *(undefined1 *)((longlong)param_1 + 0x49) = 0; if ((*(char *)(param_1 + 9) == '\0') && ((param_3 != '\0' || (*(int *)((longlong)param_1 + 0x2c) != 0)))) { *(undefined1 *)((longlong)param_1 + 0x4a) = 1; } else { *(undefined1 *)((longlong)param_1 + 0x4a) = 0; } return param_1; } local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 != (char *)0x0) { puVar7 = (undefined8 *) FUN_1805a48c0(local_res10, "convertCountLimitFromIlok1ToPublic was passed userdata with the wrong SpecialFeatureBits (0x%02X)" ); } pcVar8 = (char *)FUN_1811316e0(0x18); local_res10 = pcVar8; if (pcVar8 == (char *)0x0) { pcVar8 = (char *)0x0; } else { FUN_1805a48c0(pcVar8,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar8 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066ea00(puVar7[1],param_2 + 7); local_res20[0] = 0x299c; local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(pcVar8 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_res20); } ############ FUN_ 180687800 size=579 ############ undefined8 * FUN_180687800(undefined8 *param_1,char *param_2,char param_3,char param_4,char param_5,char param_6, char param_7,undefined4 param_8) { undefined1 uVar1; char *pcVar2; char *pcVar3; undefined8 uVar4; undefined8 uVar5; char *pcVar6; undefined8 uVar7; char *local_res10; undefined4 local_res18 [2]; pcVar6 = (char *)0x0; *param_1 = pace::eden::thrift::pub::CountLimitRecord::vftable; *(undefined4 *)(param_1 + 1) = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; *(undefined2 *)(param_1 + 5) = 0; *(undefined8 *)((longlong)param_1 + 0x2c) = 0; *(undefined2 *)(param_1 + 7) = 0; *(undefined8 *)((longlong)param_1 + 0x3c) = 0; param_1[9] = 0; param_1[10] = 0; *(undefined2 *)(param_1 + 0xb) = 0; if (*param_2 == -0x7e) { *(undefined4 *)(param_1 + 1) = *(undefined4 *)(param_2 + 4); FUN_1805b1330(param_1 + 2,4,param_1 + 2); FUN_180621500(*(undefined4 *)(param_2 + 0x1c),param_1[2]); *(byte *)((longlong)param_1 + 0x29) = (byte)param_2[2] >> 2 & 1; *(undefined4 *)((longlong)param_1 + 0x2c) = *(undefined4 *)(param_2 + 0x10); *(undefined4 *)(param_1 + 6) = *(undefined4 *)(param_2 + 8); *(uint *)((longlong)param_1 + 0x34) = ((param_2[2] & 0x10U) != 0) + 1; *(byte *)((longlong)param_1 + 0x39) = (byte)param_2[2] >> 3 & 1; *(undefined4 *)((longlong)param_1 + 0x3c) = *(undefined4 *)(param_2 + 0x14); *(undefined4 *)(param_1 + 8) = *(undefined4 *)(param_2 + 0xc); *(uint *)((longlong)param_1 + 0x44) = ((byte)param_2[2] & 0x20 | 0x10) >> 4; *(byte *)((longlong)param_1 + 0x49) = (byte)param_2[2] >> 1 & 1; if ((param_5 == '\0') && (param_7 != '\0')) { uVar1 = 1; } else { uVar1 = 0; } if ((param_3 == '\0') && (param_7 != '\0')) { uVar4 = 1; } else { uVar4 = 0; } if ((param_5 == '\0') || (param_6 != '\0')) { uVar7 = 0; } else { uVar7 = 1; } if ((param_3 == '\0') || (param_4 != '\0')) { uVar5 = 0; } else { uVar5 = 1; } FUN_180681290(param_1,uVar5,uVar7,uVar4,uVar1); FUN_1806bbc00(param_1,param_3,param_5,param_8); return param_1; } local_res10 = (char *)FUN_1811316e0(0x18); pcVar2 = pcVar6; if (local_res10 != (char *)0x0) { pcVar2 = (char *)FUN_1805a48c0(local_res10, "convertCountLimitFromIlok2ToPublic was passed a storage record with the wrong bRecordtype (0x%02X)" ); } pcVar3 = (char *)FUN_1811316e0(0x18); local_res10 = pcVar3; if (pcVar3 != (char *)0x0) { FUN_1805a48c0(pcVar3,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar3 = pace::PaceLocationInfoFormatter::vftable; pcVar6 = pcVar3; } FUN_18066ea00(*(undefined8 *)(pcVar2 + 8),param_2); local_res18[0] = 0x29e5; local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res18); } ############ FUN_ 180687a60 size=924 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180687a60(undefined8 *param_1,longlong *param_2,undefined1 param_3,undefined1 param_4, undefined4 param_5) { uint uVar1; char *pcVar2; char *pcVar3; undefined8 uVar4; longlong lVar5; undefined8 ****ppppuVar6; char *pcVar7; longlong *local_res10; undefined1 auStack_a8 [32]; undefined1 local_88; undefined4 local_84; undefined4 local_80 [2]; char *local_78; undefined8 local_70; undefined8 *local_68; undefined8 ***local_60 [2]; size_t local_50; ulonglong local_48; ulonglong local_40; local_70 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_a8; pcVar7 = (char *)0x0; *param_1 = pace::eden::thrift::pub::CountLimitRecord::vftable; *(undefined4 *)(param_1 + 1) = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; *(undefined2 *)(param_1 + 5) = 0; *(undefined8 *)((longlong)param_1 + 0x2c) = 0; *(undefined2 *)(param_1 + 7) = 0; *(undefined8 *)((longlong)param_1 + 0x3c) = 0; param_1[9] = 0; param_1[10] = 0; *(undefined2 *)(param_1 + 0xb) = 0; local_84 = 1; local_res10 = param_2; local_88 = param_3; local_68 = param_1; if (param_2 == (longlong *)0x0) { local_78 = (char *)FUN_1811316e0(0x18); pcVar2 = pcVar7; if (local_78 != (char *)0x0) { pcVar2 = (char *)FUN_1805a48c0(local_78,"Bad LsCountLimitPtr (0x%16X)"); } pcVar3 = (char *)FUN_1811316e0(0x18); local_78 = pcVar3; if (pcVar3 != (char *)0x0) { FUN_1805a48c0(pcVar3,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar3 = pace::PaceLocationInfoFormatter::vftable; pcVar7 = pcVar3; } FUN_18066eb70(*(undefined8 *)(pcVar2 + 8),&local_res10); local_80[0] = 0x2a37; local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar7 + 8),&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_80); } lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0xe6),"storageId"); lVar5 = FUN_180870eb0(param_2); *(undefined4 *)(param_1 + 1) = *(undefined4 *)(lVar5 + 0x98); uVar4 = (**(code **)(*param_2 + 0x40))(param_2); FUN_1805a4070(local_60,uVar4); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0xe2),"flagsReadOnly"); lVar5 = FUN_180870eb0(param_2); uVar1 = *(uint *)(lVar5 + 0x4c); FUN_1805b1330(param_1 + 2,local_50,param_1 + 2); ppppuVar6 = local_60; if (0xf < local_48) { ppppuVar6 = (undefined8 ****)local_60[0]; } memcpy((void *)param_1[2],ppppuVar6,local_50); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0xdb),"counter1CountsUpNotDown"); lVar5 = FUN_180870eb0(param_2); *(undefined1 *)((longlong)param_1 + 0x29) = *(undefined1 *)(lVar5 + 0x30); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0xdc),"counter1CurrentCount"); lVar5 = FUN_180870eb0(param_2); *(undefined4 *)((longlong)param_1 + 0x2c) = *(undefined4 *)(lVar5 + 0x34); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0xdd),"counter1StartCount"); lVar5 = FUN_180870eb0(param_2); *(undefined4 *)(param_1 + 6) = *(undefined4 *)(lVar5 + 0x38); *(uint *)((longlong)param_1 + 0x34) = 2 - (uint)((uVar1 & 1) != 0); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0xde),"counter2CountsUpNotDown"); lVar5 = FUN_180870eb0(param_2); *(undefined1 *)((longlong)param_1 + 0x39) = *(undefined1 *)(lVar5 + 0x3c); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0xdf),"counter2CurrentCount"); lVar5 = FUN_180870eb0(param_2); *(undefined4 *)((longlong)param_1 + 0x3c) = *(undefined4 *)(lVar5 + 0x40); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0xe0),"counter2StartCount"); lVar5 = FUN_180870eb0(param_2); *(undefined4 *)(param_1 + 8) = *(undefined4 *)(lVar5 + 0x44); *(uint *)((longlong)param_1 + 0x44) = (int)(char)~(byte)uVar1 & 2U | 1; lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0xe1),"counters64bitCombined"); lVar5 = FUN_180870eb0(param_2); *(undefined1 *)((longlong)param_1 + 0x49) = *(undefined1 *)(lVar5 + 0x48); FUN_1806bbc00(param_1,local_88,param_4,param_5); if (local_48 < 0x10) { } ppppuVar6 = (undefined8 ****)local_60[0]; if ((0xfff < local_48 + 1) && (ppppuVar6 = (undefined8 ****)local_60[0][-1], 0x1f < (ulonglong)((longlong)local_60[0] + (-8 - (longlong)ppppuVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(ppppuVar6); } ############ FUN_ 180687e30 size=523 ############ undefined8 * FUN_180687e30(undefined8 *param_1,char *param_2,char param_3,int param_4) { longlong lVar1; longlong *plVar2; undefined8 uVar3; char *local_res10; uint local_res18 [2]; longlong *local_48; uint *puStack_40; lVar1 = 0; *param_1 = pace::eden::thrift::pub::DeveloperDataRecord::vftable; *(undefined4 *)(param_1 + 1) = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; plVar2 = param_1 + 5; *plVar2 = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; *(undefined4 *)(param_1 + 10) = 0; *(undefined1 *)((longlong)param_1 + 0x54) = 0; local_res10 = param_2; if (param_2 == (char *)0x0) { local_48 = (longlong *)FUN_1811316e0(0x18); if (local_48 != (longlong *)0x0) { lVar1 = FUN_1805a48c0(local_48, "convertDevDataFromIlok1ToPublic was passed bad userdata at address (0x%16X)" ); } plVar2 = (longlong *)FUN_1811316e0(0x18); local_48 = plVar2; if (plVar2 == (longlong *)0x0) { plVar2 = (longlong *)0x0; } else { FUN_1805a48c0(plVar2,"|__FILE__|%s|__LINE__|%d"); *plVar2 = (longlong)pace::PaceLocationInfoFormatter::vftable; } FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),&local_res10); local_res18[0] = 0x2a7b; local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar3 = FUN_1805a21d0(plVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res18); } lVar1 = FUN_1805fcae0(); *(undefined4 *)(param_1 + 1) = *(undefined4 *)(lVar1 + 0x74); if (param_4 != -1) { FUN_1805b1330(param_1 + 2,4,param_1 + 2); FUN_180621500(param_4,param_1[2]); } if (param_3 == '\0') { FUN_1805e1990(plVar2,param_2,param_2 + 8,(undefined1)local_res18[0]); } else { local_res18[0] = local_res18[0] & 0xffffff00; puStack_40 = local_res18; local_48 = plVar2; FUN_1805e1ee0(plVar2,8,&local_48); if (((param_2[7] & 2U) == 0) && ((param_2[7] & 4U) == 0)) { *(char *)(*plVar2 + 4) = param_2[4]; *(char *)(*plVar2 + 5) = param_2[5]; *(char *)(*plVar2 + 6) = param_2[6]; } *(char *)(*plVar2 + 7) = param_2[7]; } *(undefined4 *)(param_1 + 8) = 3; *(undefined4 *)((longlong)param_1 + 0x44) = 8; *(undefined4 *)(param_1 + 9) = 0x1000000; return param_1; } ############ FUN_ 180688050 size=615 ############ undefined8 * FUN_180688050(undefined8 *param_1,char *param_2,byte *param_3,byte *param_4) { ushort uVar1; longlong lVar2; undefined8 *puVar3; undefined8 uVar4; byte bVar5; ushort uVar6; undefined8 *local_res10; char *local_50; undefined8 local_48; local_48 = 0xfffffffffffffffe; lVar2 = 0; *param_1 = pace::eden::thrift::pub::DeveloperDataRecord::vftable; *(undefined4 *)(param_1 + 1) = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; *(undefined4 *)(param_1 + 10) = 0; *(undefined1 *)((longlong)param_1 + 0x54) = 0; if (*param_2 == -0x7c) { *(undefined1 *)((longlong)param_1 + 0x4b) = 1; *(undefined4 *)(param_1 + 1) = *(undefined4 *)(param_2 + 4); FUN_1805b1330(param_1 + 2,4,param_1 + 2,param_4,1); FUN_180621500(*(undefined4 *)(param_2 + 0x1c),param_1[2]); FUN_1805b1330(param_1 + 5,0x10,param_1 + 5); FUN_180621500(*(undefined4 *)(param_2 + 8),param_1[5]); FUN_180621500(*(undefined4 *)(param_2 + 0xc),param_1[5] + 4); FUN_180621500(*(undefined4 *)(param_2 + 0x10),param_1[5] + 8); FUN_180621500(*(undefined4 *)(param_2 + 0x14),param_1[5] + 0xc); uVar1 = *(ushort *)(param_2 + 2); uVar6 = uVar1 & 3; if (((uVar6 == (uVar1 >> 2 & 3)) && (uVar6 == (uVar1 >> 4 & 3))) && (uVar6 == (uVar1 >> 6 & 3))) { if (uVar6 == 0) { *(undefined4 *)(param_1 + 8) = 4; } else if (uVar6 == 1) { *(undefined4 *)(param_1 + 8) = 1; } else if (uVar6 == 2) { *(undefined4 *)(param_1 + 8) = 2; } else if (uVar6 == 3) { *(undefined4 *)(param_1 + 8) = 3; } } else { *(undefined4 *)(param_1 + 8) = 5; *(undefined1 *)((longlong)param_1 + 0x4b) = 0; } *(undefined4 *)((longlong)param_1 + 0x44) = 0x10; *(byte *)(param_1 + 9) = param_2[3] & 1; bVar5 = (byte)((ushort)*(undefined2 *)(param_2 + 2) >> 0xd) & 1; *(byte *)((longlong)param_1 + 0x49) = bVar5; *(byte *)((longlong)param_1 + 0x4a) = (byte)((ushort)*(undefined2 *)(param_2 + 2) >> 0xe) & 1; if (*(char *)((longlong)param_1 + 0x4b) != '\0') { *param_3 = *param_3 | bVar5; *param_4 = *param_4 | *(byte *)((longlong)param_1 + 0x4a); } return param_1; } local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { lVar2 = FUN_1805a48c0(local_res10, "convertDevDataFromIlok2ToPublic was passed a storage record with the wrong bRecordtype (0x%02X)" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar3; if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066ea00(*(undefined8 *)(lVar2 + 8),param_2); local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x2abb); local_50 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(puVar3[1],&local_50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res10); } ############ FUN_ 1806896f0 size=1077 ############ /* WARNING: Removing unreachable block (ram,0x00018068976c) */ /* WARNING: Removing unreachable block (ram,0x0001806897e8) */ void FUN_1806896f0(undefined8 param_1,char *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 uVar4; longlong lVar5; undefined8 *puVar6; undefined1 auStack_188 [32]; undefined4 local_168; undefined8 *local_160; undefined8 local_150; undefined *local_148; undefined *local_140; undefined4 local_138 [2]; undefined4 local_130; uint local_12c; undefined **local_128; undefined4 local_120; undefined8 local_118; undefined8 uStack_110; undefined8 local_108; undefined8 uStack_100; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined8 uStack_e0; undefined8 local_d8; undefined8 local_d0; undefined4 local_c4; uint local_c0; undefined8 local_bc; undefined8 local_b4; undefined8 local_ac; char *local_98; undefined8 local_90; char *local_88; undefined8 local_80; undefined8 local_78; undefined8 local_70; ulonglong local_50; local_70 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_188; if (((ulonglong)&stack0x00000000 & 0x8c0) == 0) { uVar1 = 1; } else { uVar1 = (uint)&stack0x00000000 & 0x1ff; uVar1 = (uVar1 + 1) * uVar1 + 0x568f & 0x80000001; } local_12c = (((int)(-uVar1 | uVar1) >> 0x1f) * -0x8930 | 0x8db6U) ^ 0x8976; local_130 = 0x420; local_128 = pace::eden::thrift::pub::SecretDataRecord::vftable; puVar6 = (undefined8 *)0x0; local_120 = 0; local_118 = 0; uStack_110 = 0; local_108 = 0; uStack_100 = 0; local_f8 = 0; uStack_f0 = 0; local_e8 = 0; uStack_e0 = 0; local_d8 = 0; local_d0 = 0; local_c4 = 0; local_bc = 0; local_b4 = 0; local_ac = 0; local_90 = param_1; local_88 = param_2; local_80 = param_3; local_78 = param_4; if (*param_2 != -0x78) { local_160 = (undefined8 *)param_1; local_160 = (undefined8 *)FUN_1811316e0(0x18); puVar2 = puVar6; if (local_160 != (undefined8 *)0x0) { puVar2 = (undefined8 *) FUN_1805a48c0(local_160, "convertSecretDataFromIlok2ToPublic was passed a storage record with the wrong bRecordtype (0x%02X)" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_160 = puVar3; if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; puVar6 = puVar3; } FUN_18066ea00(puVar2[1],param_2); local_138[0] = 0x2b41; local_98 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(puVar6[1],&local_98); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_138); } local_b4 = 1; local_160 = (undefined8 *)0x0; local_150 = 0x1de6068; local_140 = &DAT_181de6068; local_148 = &DAT_181dee058; local_120 = *(undefined4 *)(param_2 + 4); FUN_1805b1330(&local_118,4,&local_118); FUN_180621500(*(undefined4 *)(param_2 + 0x1c),local_118); lVar5 = FUN_1805fcae0(); local_c4 = *(undefined4 *)(lVar5 + 0x30); local_160 = (undefined8 *)0xe0b76ca51c2ebf46; local_150 = CONCAT44(local_150._4_4_,0x1c2ebf46); local_c0 = *(ushort *)(param_2 + 2) & 0x1f; local_168 = 0x811c9e53; FUN_180688e98(); return; } ############ FUN_ 18068a990 size=1198 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x00018068ac3d) overlaps instruction at (ram,0x00018068ac3c) */ /* WARNING: Removing unreachable block (ram,0x00018068aa26) */ /* WARNING: Removing unreachable block (ram,0x00018068aa54) */ /* WARNING: Removing unreachable block (ram,0x00018068aabd) */ void FUN_18068a990(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 uVar4; longlong lVar5; uint uVar6; ulonglong uVar7; void *_Buf1; undefined8 *puVar8; ulonglong uVar9; size_t *psVar10; int unaff_retaddr; longlong local_res10 [3]; undefined1 auStack_1f8 [32]; undefined8 local_1d8; undefined *local_1d0; undefined8 *local_1c0; undefined8 local_1b0; undefined *local_1a8; undefined4 local_1a0 [2]; undefined4 local_198 [2]; undefined4 local_190; uint local_18c; undefined **local_178; undefined4 local_170; undefined8 local_168; undefined8 uStack_160; undefined8 local_158; undefined8 uStack_150; undefined8 local_148; undefined8 uStack_140; undefined8 local_138; undefined8 uStack_130; undefined8 local_128; undefined8 local_120; undefined4 local_114; undefined8 local_10c; undefined8 local_104; undefined8 local_fc; undefined8 local_e8; undefined8 local_e0; char *local_d8 [4]; undefined8 local_b8; undefined8 local_b0; undefined1 local_a8 [88]; ulonglong local_50; uVar9 = (longlong)&local_fc + 4; local_b0 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_1f8; local_190 = 0xd20; uVar6 = (uint)&stack0x00000000 & 0x17f; local_18c = 0x453 >> ((char)(((uVar6 + 2) * (uVar6 + 1) * uVar6) / 3) * -3 & 0x1fU) ^ 99; local_178 = pace::eden::thrift::pub::SecretDataRecord::vftable; puVar8 = (undefined8 *)0x0; local_170 = 0; local_168 = 0; uStack_160 = 0; local_158 = 0; uStack_150 = 0; local_148 = 0; uStack_140 = 0; local_138 = 0; uStack_130 = 0; local_128 = 0; local_120 = 0; local_114 = 0; local_10c = 0; local_104 = 0; local_fc = 0; local_res10[0] = param_2; local_1c0 = (undefined8 *)param_1; local_e8 = param_3; local_e0 = param_4; local_b8 = param_1; if (param_2 == 0) { local_1c0 = (undefined8 *)FUN_1811316e0(0x18); puVar2 = puVar8; if (local_1c0 != (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1805a48c0(local_1c0,"Bad LsAuthKeyPtr (0x%16X)"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_1c0 = puVar3; if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; puVar8 = puVar3; } FUN_18066eb70(puVar2[1],local_res10); local_1a0[0] = 0x2bc4; local_d8[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(puVar8[1],local_d8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_1a0); } lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0x15a),"format"); lVar5 = FUN_180870eb0(param_2); lVar5 = lVar5 + 0x78; FUN_1805a4070(local_a8); do { uVar7 = 0; FUN_180689c54(); if ((uVar7 & 0xc3) != 0) { uVar9 = (ulonglong)((uint)uVar9 ^ (uint)lVar5); } uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_1b0 = 0; local_1d8 = 0x1dde078; local_1a8 = &UNK_181dde078; local_1d0 = &DAT_181de6068; _Buf1 = (void *)(uVar9 + 0x50); if (0xf < *(ulonglong *)(uVar9 + 0x68)) { _Buf1 = *(void **)(uVar9 + 0x50); } *(undefined8 *)(uVar9 + 0x28) = 6; uVar7 = *(ulonglong *)(uVar9 + 0x60); *(ulonglong *)(uVar9 + 0x30) = uVar7; psVar10 = (size_t *)(uVar9 + 0x28); if (uVar7 < 7) { psVar10 = (size_t *)(uVar9 + 0x30); } iVar1 = memcmp(_Buf1,"binary",*psVar10); if ((iVar1 == 0) && (uVar7 == 6)) { local_1d8 = 0xddb27a1480cfe675; *(undefined1 *)(uVar9 - 0xc) = 1; FUN_18068ae70(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } local_1c0 = (undefined8 *)FUN_1811316e0(0x18); puVar2 = puVar8; if (local_1c0 != (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1805a48c0(local_1c0,"Key format \"%d\" is not supported"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_1c0 = puVar3; if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; puVar8 = puVar3; } FUN_1805b2240(puVar2[1],uVar9 + 0x50); local_198[0] = 0x2bcc; *(char **)(uVar9 + 0x38) = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(puVar8[1],uVar9 + 0x38); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_198); } ############ FUN_ 18068c000 size=1372 ############ /* WARNING: Removing unreachable block (ram,0x00018068c29a) */ longlong FUN_18068c000(longlong param_1,undefined8 *param_2,undefined8 param_3,int param_4) { bool bVar1; bool bVar2; bool bVar3; uint uVar4; int iVar5; longlong lVar6; undefined8 uVar7; int *piVar8; undefined8 *puVar9; undefined8 *puVar10; longlong lVar11; undefined8 *local_res10; undefined8 local_res18; int local_res20 [2]; undefined4 local_78 [2]; undefined4 local_70; undefined8 *local_68; undefined8 local_60; char *local_58; undefined8 *local_50; undefined8 local_48; local_48 = 0xfffffffffffffffe; local_70 = 0; puVar10 = (undefined8 *)0x7ffffffffffffffe; local_58 = (char *)0x7ffffffffffffffe; local_78[0] = 0xfffffffe; local_res10 = param_2; local_res18 = param_3; local_res20[0] = param_4; FUN_1805b41e0(&local_60,local_78,&local_58); local_58 = (char *)0x7ffffffffffffffe; local_78[0] = 0xfffffffe; FUN_1805b41e0(&local_68,local_78,&local_58); FUN_1805b6280(param_1); iVar5 = local_res20[0]; bVar3 = true; local_70 = 1; if (param_2 == (undefined8 *)0x0) { local_50 = (undefined8 *)FUN_1811316e0(0x18); if (local_50 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_50, "convertTimeLimitFromIlok1ToPublic was passed bad userdata at address (0x%16X)" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_50 = puVar10; if (puVar10 == (undefined8 *)0x0) { puVar10 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805a21d0(*(undefined8 *)(lVar6 + 8),&local_res10); local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x2c17); local_58 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(puVar10[1],&local_58); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,&local_res10); } if ((*(byte *)((longlong)param_2 + 7) & 2) == 0) { local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res10, "convertTimeLimitFromIlok1ToPublic was passed userdata with the wrong SpecialFeatureBits (0x%02X)" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar10; if (puVar10 == (undefined8 *)0x0) { puVar10 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066ea00(*(undefined8 *)(lVar6 + 8),(longlong)param_2 + 7); local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x2c1d); local_58 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(puVar10[1],&local_58); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,&local_res10); } if (local_res20[0] != -1) { FUN_1805b1330(param_1 + 0x10,4,param_1 + 0x10); FUN_180621500(iVar5,*(undefined8 *)(param_1 + 0x10)); } *(undefined4 *)(param_1 + 8) = 0x80000000; uVar4 = FUN_18061f8c0((longlong)param_2 + 4); lVar6 = (ulonglong)((uVar4 & 0xffffff00) / 0x3c) * 0x3c + (longlong)(int)((uVar4 & 0xffffff00) % 0x3c); lVar11 = lVar6 * 1000000; local_58 = (char *)0x0; piVar8 = (int *)FUN_1805b6990(&local_res10,0x7b2,1,1); local_res20[0] = *piVar8; FUN_1805b41e0(&local_50,local_res20,&local_58); bVar2 = false; if ((0xfffffffffffffffd < (longlong)local_50 + 0x7fffffffffffffffU) || (bVar1 = bVar2, local_50 == (undefined8 *)0x7ffffffffffffffe)) { bVar1 = true; } if (((bVar1) || (0xfffffffffffffffd < lVar11 + 0x7fffffffffffffffU)) || (lVar11 == 0x7ffffffffffffffe)) { if ((0xfffffffffffffffd < (longlong)local_50 + 0x7fffffffffffffffU) || (bVar1 = bVar2, local_50 == (undefined8 *)0x7ffffffffffffffe)) { bVar1 = true; } if (!bVar1) { if ((0xfffffffffffffffd < lVar11 + 0x7fffffffffffffffU) || (lVar11 == 0x7ffffffffffffffe)) { bVar2 = true; } if (!bVar2) goto LAB_18068c3ed; } local_68 = puVar10; if ((local_50 == (undefined8 *)0x7ffffffffffffffe) || (lVar11 == 0x7ffffffffffffffe)) goto LAB_18068c3f1; if (local_50 == (undefined8 *)0x7fffffffffffffff) { if (lVar11 == -0x8000000000000000) goto LAB_18068c3f1; } else if (local_50 == (undefined8 *)0x8000000000000000) { if (lVar11 == 0x7fffffffffffffff) goto LAB_18068c3f1; } else if (local_50 != (undefined8 *)0x7fffffffffffffff) { bVar3 = false; } local_68 = local_50; if (bVar3) goto LAB_18068c3f1; if (lVar11 == 0x7fffffffffffffff) { local_68 = (undefined8 *)0x7fffffffffffffff; goto LAB_18068c3f1; } local_68 = (undefined8 *)0x8000000000000000; if (lVar11 == -0x8000000000000000) goto LAB_18068c3f1; } LAB_18068c3ed: local_68 = local_50 + lVar6 * 0x1e848; LAB_18068c3f1: FUN_180663c70(&local_68,param_1 + 0x48); uVar4 = FUN_18061f8c0(param_2); puVar10 = (undefined8 *)((ulonglong)uVar4 + 300); iVar5 = (int)((ulonglong)puVar10 / 0x3c); uVar4 = (int)puVar10 + iVar5 * -0x3c; if ((int)uVar4 < 0) { local_res10 = (undefined8 *) (((longlong)iVar5 * 0x3c + (longlong)(int)((uVar4 ^ (int)uVar4 >> 0x1f) - ((int)uVar4 >> 0x1f))) * -1000000) ; } else { local_res10 = (undefined8 *)(((longlong)iVar5 * 0x3c + (longlong)(int)uVar4) * 1000000); } puVar9 = (undefined8 *)FUN_18065bc00(&local_68,&local_50,&local_res10); local_60 = *puVar9; FUN_180663c70(&local_60,param_1 + 0x28); FUN_1805c5170(local_78,&local_68,local_res18); local_res10 = (undefined8 *)0x0; iVar5 = FUN_1805bd370(local_78,&local_res10); if (iVar5 == -1) { *(undefined8 *)(param_1 + 0x68) = 0; *(undefined1 *)(param_1 + 0x9b) = 0; } else { FUN_180661ba0(local_78,&local_res10); if (puVar10 < local_res10) { *(undefined8 **)(param_1 + 0x68) = puVar10; *(undefined1 *)(param_1 + 0x9b) = 0; } else { if ((undefined8 *)0x7fffffffffffffff < local_res10) { local_res10 = (undefined8 *)0x7fffffffffffffff; } *(undefined8 **)(param_1 + 0x68) = local_res10; *(bool *)(param_1 + 0x9b) = local_res10 != (undefined8 *)0x0; } } *(undefined1 *)(param_1 + 0x9a) = 0; return param_1; } ############ FUN_ 18068c5a0 size=1124 ############ longlong FUN_18068c5a0(longlong param_1,char *param_2,undefined8 param_3,char param_4) { int iVar1; char *pcVar2; char *pcVar3; undefined8 uVar4; undefined8 *puVar5; char *pcVar6; longlong *plVar7; char *local_res10 [2]; char local_res20; undefined8 local_70; undefined8 local_68; ulonglong local_60; char *local_58; char *local_50; undefined8 local_48; undefined8 local_40; local_40 = 0xfffffffffffffffe; pcVar6 = (char *)0x0; local_50 = (char *)0x7ffffffffffffffe; local_res10[0]._0_4_ = 0xfffffffe; local_res20 = param_4; FUN_1805b41e0(&local_70,local_res10,&local_50,param_4,0); local_50 = (char *)0x7ffffffffffffffe; local_res10[0] = (char *)CONCAT44(local_res10[0]._4_4_,0xfffffffe); FUN_1805b41e0(&local_68,local_res10,&local_50); FUN_1805b6280(param_1); local_58 = (char *)0x0; if (*param_2 != -0x7f) { local_res10[0] = (char *)FUN_1811316e0(0x18); pcVar2 = pcVar6; if (local_res10[0] != (char *)0x0) { pcVar2 = (char *)FUN_1805a48c0(local_res10[0], "convertTimeLimitFromIlok2ToPublic was passed a storage record with the wrong bRecordtype (0x%02X)" ); } pcVar3 = (char *)FUN_1811316e0(0x18); local_res10[0] = pcVar3; if (pcVar3 != (char *)0x0) { FUN_1805a48c0(pcVar3,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar3 = pace::PaceLocationInfoFormatter::vftable; pcVar6 = pcVar3; } FUN_18066ea00(*(undefined8 *)(pcVar2 + 8),param_2); local_res10[0] = (char *)CONCAT44(local_res10[0]._4_4_,0x1a18); local_50 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),&local_50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res10); } *(undefined4 *)(param_1 + 8) = *(undefined4 *)(param_2 + 4); FUN_1805b1330(param_1 + 0x10,4,param_1 + 0x10); FUN_180621500(*(undefined4 *)(param_2 + 0x1c),*(undefined8 *)(param_1 + 0x10)); if ((param_2[2] & 2U) == 0) { *(undefined1 *)(param_1 + 0x9a) = 0; puVar5 = (undefined8 *)FUN_18076a230(local_res10,param_2 + 8); local_70 = *puVar5; FUN_180663c70(&local_70,param_1 + 0x28); FUN_1805c5170(local_res10,param_3,&local_70); if (*(int *)(param_2 + 0x10) == 0) { *(undefined8 *)(param_1 + 0x68) = 0x7fffffffffffffff; local_50 = (char *)0x0; iVar1 = FUN_1805bd370(local_res10,&local_50); *(bool *)(param_1 + 0x9b) = iVar1 != -1; } else { puVar5 = (undefined8 *)FUN_18076a230(&local_48); local_68 = *puVar5; FUN_180663c70(&local_68,param_1 + 0x48); FUN_1805c5170(&local_50,&local_68,param_3); local_48 = 0; iVar1 = FUN_1805bd370(&local_50,&local_48); if (iVar1 == -1) { *(undefined1 *)(param_1 + 0x9b) = 0; *(undefined8 *)(param_1 + 0x68) = 0; } else { local_48 = 0; iVar1 = FUN_1805bd370(local_res10,&local_48); if (iVar1 == -1) { FUN_1805c5170(local_res10,&local_68,&local_70); local_58 = local_res10[0]; FUN_180661ba0(&local_58,&local_60); *(undefined1 *)(param_1 + 0x9b) = 0; } else { FUN_180661ba0(&local_50,&local_60); *(bool *)(param_1 + 0x9b) = local_60 != 0; } if (0x7fffffffffffffff < local_60) { local_60 = 0x7fffffffffffffff; } *(ulonglong *)(param_1 + 0x68) = local_60; } } } else { *(undefined2 *)(param_1 + 0x9a) = 1; local_res10[0] = (char *)FUN_180767eb0(param_3); puVar5 = (undefined8 *)FUN_18076a230(&local_50,local_res10); local_70 = *puVar5; plVar7 = (longlong *)(param_1 + 0x28); FUN_180663c70(&local_70,plVar7); iVar1 = FUN_18061e680(local_res10,param_2 + 8,&local_48); if (iVar1 == 0) { puVar5 = (undefined8 *)FUN_18076a230(&local_50,&local_48); local_68 = *puVar5; FUN_180663c70(&local_68,param_1 + 0x48); FUN_1805c5170(&local_50,&local_68,&local_70); local_58 = local_50; FUN_180661ba0(&local_58,&local_60); if (0x7fffffffffffffff < local_60) { local_60 = 0x7fffffffffffffff; } *(ulonglong *)(param_1 + 0x68) = local_60; } else { *(undefined8 *)(param_1 + 0x68) = 0; if ((longlong *)(param_1 + 0x48) != plVar7) { if (0xf < *(ulonglong *)(param_1 + 0x40)) { plVar7 = (longlong *)*plVar7; } FUN_1805a6cb0(param_1 + 0x48,plVar7,*(undefined8 *)(param_1 + 0x38)); } } } if ((local_res20 != '\0') && (*(char *)(param_1 + 0x9b) == '\0')) { local_res10[0] = (char *)FUN_1811316e0(0x18); if (local_res10[0] != (char *)0x0) { pcVar6 = (char *)FUN_1805a48c0(local_res10[0], "TimeLimitRecord is not valid now (storageId 0x%08X)"); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(pcVar6 + 8),param_1 + 8); } return param_1; } ############ FUN_ 180767eb0 size=3037 ############ /* WARNING: Instruction at (ram,0x0001807687a0) overlaps instruction at (ram,0x00018076879f) */ /* WARNING: Removing unreachable block (ram,0x00018076873c) */ /* WARNING: Removing unreachable block (ram,0x000180767f63) */ /* WARNING: Removing unreachable block (ram,0x00018076879f) */ void FUN_180767eb0(undefined8 param_1) { uint *puVar1; undefined1 *puVar2; byte bVar3; byte bVar4; byte bVar5; byte bVar6; undefined1 uVar7; undefined8 *puVar8; undefined8 *puVar9; undefined8 uVar10; undefined8 *puVar11; uint uVar12; uint uVar13; uint uVar14; undefined1 *puVar15; longlong lVar16; undefined8 uVar17; longlong lVar18; ulonglong uVar19; ulonglong uVar20; undefined1 *puVar21; bool bVar22; int unaff_retaddr; undefined8 *local_res10; undefined8 *local_res18; uint *local_res20; longlong alStack_1c8 [12]; undefined1 auStack_168 [32]; undefined8 *local_148; uint local_140 [2]; undefined *local_138; undefined8 *local_130; uint local_128 [4]; uint local_118 [4]; undefined4 local_108 [2]; undefined4 local_100 [2]; undefined4 local_f8 [4]; undefined4 local_e8 [6]; uint local_d0; undefined4 local_cc; undefined8 *local_c8; undefined8 *local_c0; undefined8 *local_b8; undefined1 local_b0 [2]; char local_ae; undefined1 local_a8 [2]; undefined2 local_a6; undefined1 local_a0 [4]; char local_9c; undefined1 local_98 [4]; undefined2 local_94; ushort local_90 [4]; ushort local_88 [4]; ushort local_80 [4]; ushort local_78 [4]; char *local_70; longlong local_68 [2]; char *local_58 [3]; undefined8 local_40; local_40 = 0xfffffffffffffffe; uVar19 = 0x327b; uVar13 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x2300) == 0) { uVar12 = uVar13 & 0x2bf; uVar12 = ((uVar12 + 2) * (uVar12 + 1) * uVar12) % 3 - 1; uVar19 = (ulonglong)((int)(-uVar12 | uVar12) >> 0x1f & 0x327b); } local_d0 = 0x3bfb >> ((char)((byte)(-(((uVar13 & 0x61ff) * (uVar13 & 0x61ff) + 1) % 7) >> 0x18) ^ (byte)(-(((uVar13 & 0x18ff) + 1) * (uVar13 & 0x18ff) + 0x5e79 & 0x80000001) >> 0x18)) >> 7 & 0x1fU) ^ (uint)uVar19; uVar10 = 0; local_cc = 0x220; FUN_1806227d0(param_1,local_140); FUN_180622ad0(param_1,local_68); local_148 = (undefined8 *)0x100; local_res20 = (uint *)&DAT_18156cd54; local_138 = &UNK_18156ce54; FUN_180622940(local_90,local_140[0]); bVar3 = FUN_18061ec20(local_90[0] / 100, CONCAT71((uint7)((ulonglong)((longlong)(int)(uint)local_90[0] * 0x51eb851f) >> 0x28),100),0); puVar1 = local_res20; uVar13 = *local_res20 >> 0x1c ^ (*local_res20 ^ 0xb50) << 4 ^ local_res20[1]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ local_res20[2]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ local_res20[3]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ local_res20[4]; uVar13 = local_res20[5] ^ uVar13 >> 0x1c ^ uVar13 << 4; puVar8 = (undefined8 *)0x0; if (bVar3 == 0xff) { local_res20 = (uint *)FUN_1811316e0(0x18); if (local_res20 != (uint *)0x0) { puVar8 = (undefined8 *) FUN_1805a48c0(local_res20, "Error converting the upper two digits of the Year from ptime (%d) to ILokTime." ); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_res20 = (uint *)puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; } FUN_180622940(local_88,local_140[0]); local_128[0] = local_88[0] / 100; /* WARNING: Subroutine does not return */ FUN_1805b20d0(puVar8[1],local_128); } uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ local_res20[6]; FUN_180622940(local_80,local_140[0]); uVar17 = 0; bVar4 = FUN_18061ec20((uint)local_80[0] % 100,CONCAT71((uint7)(uint3)(local_80[0] / 100 >> 8),100) ,0); uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[7]; uVar13 = puVar1[8] ^ uVar13 >> 0x1c ^ uVar13 << 4; if (bVar4 == 0xff) { local_res20 = (uint *)FUN_1811316e0(0x18); if (local_res20 == (uint *)0x0) { local_res20 = (uint *)0x0; } else { local_res20 = (uint *)FUN_1805a48c0(local_res20, "Error converting the lower two digits of the Year from ptime (%d) to ILokTime." ); } puVar8 = (undefined8 *)FUN_1811316e0(0x18); local_b8 = puVar8; if (puVar8 != (undefined8 *)0x0) { FUN_1805a48c0(puVar8,"|__FILE__|%s|__LINE__|%d"); *puVar8 = pace::PaceLocationInfoFormatter::vftable; } FUN_180622940(local_78,local_140[0]); local_118[0] = (uint)local_78[0] % 100; /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)((longlong)local_res20 + 8),local_118); } uVar13 = puVar1[9] ^ uVar13 >> 0x1c ^ uVar13 << 4; FUN_180622940(local_b0,local_140[0]); lVar18 = CONCAT71((int7)((ulonglong)uVar17 >> 8),1); bVar5 = FUN_18061ec20(local_ae + -1,0xc,lVar18); if (bVar5 == 0xff) { local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 == (undefined8 *)0x0) { local_res20 = (uint *)0x0; } else { local_res20 = (uint *)FUN_1805a48c0(local_res10, "Error converting the Month from ptime (%d) to ILokTime.") ; } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar8 = puVar9; } FUN_180622940(local_a8,local_140[0]); local_res10 = (undefined8 *)CONCAT62(local_res10._2_6_,local_a6); FUN_18074f450(*(undefined8 *)((longlong)local_res20 + 8),&local_res10); local_108[0] = 0xeb7; local_58[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar10 = FUN_1805a21d0(puVar8[1],local_58); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_108); } uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[10]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0xb]; do { lVar18 = ~-lVar18 + 1; puVar8 = (undefined8 *)((~(ulonglong)puVar8 + 1 ^ 0xffffffffffffffff) + 1); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0xc]; FUN_180622940(local_a0,local_140[0],lVar18,uVar10); bVar6 = FUN_18061ec20(local_9c + -1,0x1f,1); uVar12 = (uint)bVar6; local_res20 = (uint *)CONCAT44(local_res20._4_4_,uVar12); uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0xd]; uVar13 = puVar1[0xe] ^ uVar13 >> 0x1c ^ uVar13 << 4; if (uVar12 == 0xff) { local_res18 = (undefined8 *)FUN_1811316e0(0x18); puVar9 = puVar8; if (local_res18 != (undefined8 *)0x0) { puVar9 = (undefined8 *) FUN_1805a48c0(local_res18,"Error converting the Day from ptime (%d) to ILokTime."); } puVar11 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar11; if (puVar11 != (undefined8 *)0x0) { FUN_1805a48c0(puVar11,"|__FILE__|%s|__LINE__|%d"); *puVar11 = pace::PaceLocationInfoFormatter::vftable; puVar8 = puVar11; } FUN_180622940(local_98,local_140[0]); local_res18 = (undefined8 *)CONCAT62(local_res18._2_6_,local_94); FUN_18063bb40(puVar9[1],&local_res18); local_100[0] = 0xec5; local_70 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar10 = FUN_1805a21d0(puVar8[1],&local_70); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_100); } uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0xf]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x10]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x11]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x12]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x13]; uVar12 = (uint)bVar3 << 0x18 | (uint)bVar4 << 0x10 | (uint)bVar5 << 8 | uVar12; local_138 = (undefined *)CONCAT44(local_138._4_4_,uVar12); uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x14]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x15]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x16]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x17]; do { FUN_180768b09(); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x18]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x19]; do { func_0x00018076a689(); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x1a]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x1b]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x1c]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x1d]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x1e]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x1f]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x20]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x21]; lVar18 = local_68[0] + SUB168(SEXT816(-0x674a40d3fc1ad63b) * SEXT816(local_68[0]),8); uVar20 = (lVar18 >> 0x1f) - (lVar18 >> 0x3f); bVar3 = FUN_18061ec20(uVar20 & 0xff, CONCAT71(SUB167(SEXT816(-0x674a40d3fc1ad63b) * SEXT816(local_68[0]),9),0x18) ,0); uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x22]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x23]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar1[0x24]; local_res20 = (uint *)CONCAT44(local_res20._4_4_,puVar1[0x25] ^ uVar13 >> 0x1c ^ uVar13 << 4); if (bVar3 == 0xff) { local_c8 = (undefined8 *)FUN_1811316e0(0x18); if (local_c8 != (undefined8 *)0x0) { puVar8 = (undefined8 *) FUN_1805a48c0(local_c8,"Error converting the Hours from ptime (%d) to ILokTime."); } local_148 = puVar8; puVar8 = (undefined8 *)FUN_1811316e0(0x18); local_c8 = puVar8; if (puVar8 != (undefined8 *)0x0) { FUN_1805a48c0(puVar8,"|__FILE__|%s|__LINE__|%d"); *puVar8 = pace::PaceLocationInfoFormatter::vftable; } local_f8[0] = (undefined4)uVar20; /* WARNING: Subroutine does not return */ FUN_1805b20d0(local_148[1],local_f8); } local_res20 = (uint *)CONCAT44(local_res20._4_4_,(int)(undefined1 *)((ulonglong)bVar3 << 0x18)); local_68[0] = local_68[0] + SUB168(SEXT816(-0x70d59cc6bc5928d7) * SEXT816(local_68[0]),8); lVar16 = (local_68[0] >> 0x19) - (local_68[0] >> 0x3f); lVar18 = SUB168(SEXT816(-0x7777777777777777) * SEXT816(lVar16),8) + lVar16; lVar18 = (lVar18 >> 5) - (lVar18 >> 0x3f); uVar20 = lVar16 + lVar18 * -0x3c; bVar4 = FUN_18061ec20(uVar20 & 0xff,CONCAT71((int7)((ulonglong)lVar18 >> 8),0x3c),0); local_148 = (undefined8 *)CONCAT44(local_148._4_4_,(uint)bVar4); if (bVar4 == 0xff) { local_c0 = (undefined8 *)FUN_1811316e0(0x18); local_130 = puVar8; if (local_c0 != (undefined8 *)0x0) { local_130 = (undefined8 *) FUN_1805a48c0(local_c0,"Error converting the Minutes from ptime (%d) to ILokTime." ); } puVar8 = (undefined8 *)FUN_1811316e0(0x18); local_c0 = puVar8; if (puVar8 != (undefined8 *)0x0) { FUN_1805a48c0(puVar8,"|__FILE__|%s|__LINE__|%d"); *puVar8 = pace::PaceLocationInfoFormatter::vftable; } local_e8[0] = (undefined4)uVar20; /* WARNING: Subroutine does not return */ FUN_1805b20d0(local_130[1],local_e8); } lVar18 = (ulonglong)bVar4 << 0x10; puVar2 = auStack_168; puVar21 = (undefined1 *)((ulonglong)bVar3 << 0x18); do { puVar15 = puVar2; local_res20 = (uint *)CONCAT44(local_res20._4_4_,(uint)puVar21 | (uint)lVar18); *(BADSPACEBASE **)(puVar15 + -8) = register0x00000020; *(ulonglong *)(puVar15 + -0x10) = (ulonglong)uVar12; lVar16 = lVar18 + uVar19; lVar18 = ~(uVar19 - lVar16) + 1; uVar19 = lVar16 - lVar18; bVar22 = (POPCOUNT(uVar19 & 0xff) & 1U) == 0; *(undefined8 *)(puVar15 + -0x18) = 0x180768bc0; uVar7 = FUN_180768bc9(); puVar2 = puVar15 + -0x10; puVar21 = (undefined1 *)register0x00000020; } while (!bVar22); *(undefined1 *)puVar1 = uVar7; lVar18 = *(longlong *)(puVar15 + -0x10); *(longlong *)(puVar15 + -0x10) = lVar18 + 0x205; *(longlong *)(puVar15 + -0x18) = lVar18 + 0x1f211; *(longlong *)(puVar15 + -0x20) = lVar18 + -0x755bf; *(longlong *)(puVar15 + -0x28) = lVar18 + 0x7880f; *(longlong *)(puVar15 + -0x30) = lVar18 + 0x7246b; *(longlong *)(puVar15 + -0x38) = lVar18 + 0x187e5; *(longlong *)(puVar15 + -0x40) = lVar18 + 0x63de5; *(longlong *)(puVar15 + -0x48) = lVar18 + -0x228ea; *(longlong *)(puVar15 + -0x50) = lVar18 + 0x7880f; *(longlong *)(puVar15 + -0x58) = lVar18 + 0x63d7c; *(longlong *)(puVar15 + -0x60) = lVar18 + -0x1fa26; return; } ############ FUN_ 18074e880 size=1016 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18074e880(longlong *param_1,ushort *param_2) { undefined1 uVar1; int iVar2; bool bVar3; facet *pfVar4; longlong lVar5; __uint64 _Var6; undefined8 *puVar7; _Locimp *p_Var8; facet *pfVar9; longlong lVar10; ios_base *this; undefined1 auStack_148 [32]; undefined1 local_128; undefined8 *local_120; undefined8 local_118; _Lockit local_108 [16]; _Locimp *local_f8; uint local_f0; uint local_e8 [2]; undefined8 uStack_e0; ushort *local_d8; longlong *local_d0; undefined1 local_b8 [8]; longlong *local_b0; undefined8 local_a8; ios_base *local_a0; uint local_98; undefined1 local_90 [32]; undefined8 local_70; undefined8 local_68; ulonglong local_60; undefined8 local_58; undefined4 local_50; ulonglong local_48; local_a8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_148; this = (ios_base *)((longlong)*(int *)(*param_1 + 4) + (longlong)param_1); local_f0 = *(uint *)(this + 0x18); local_e8[0] = local_e8[0] & 0xffffff00; uStack_e0 = *(undefined8 *)(this + 0x48); local_d8 = param_2; local_a0 = this; local_98 = local_f0; lVar5 = std::ios_base::getloc(this); std::_Lockit::_Lockit(local_108,0); _Var6 = std::locale::id::operator_unsigned___int64((id *)&DAT_182666b78); lVar5 = *(longlong *)(lVar5 + 8); pfVar9 = (facet *)0x0; if ((_Var6 < *(ulonglong *)(lVar5 + 0x18)) && (*(longlong *)(*(longlong *)(lVar5 + 0x10) + _Var6 * 8) != 0)) { LAB_18074e937: bVar3 = true; } else { lVar10 = 0; if (*(char *)(lVar5 + 0x24) == '\0') { LAB_18074eab9: if (lVar10 != 0) goto LAB_18074e937; } else { p_Var8 = std::locale::_Getgloballocale(); if (_Var6 < *(ulonglong *)(p_Var8 + 0x18)) { lVar10 = *(longlong *)(*(longlong *)(p_Var8 + 0x10) + _Var6 * 8); goto LAB_18074eab9; } } bVar3 = false; } std::_Lockit::~_Lockit(local_108); if ((local_f8 != (_Locimp *)0x0) && (puVar7 = (undefined8 *)(**(code **)(*(longlong *)local_f8 + 0x10))(), puVar7 != (undefined8 *)0x0)) { (**(code **)*puVar7)(puVar7,1); } if (!bVar3) { local_d8 = (ushort *)FUN_1811316e0(0x188); if (local_d8 != (ushort *)0x0) { pfVar9 = (facet *)FUN_18074fb70(local_d8,0); } lVar5 = std::ios_base::getloc ((ios_base *)((longlong)*(int *)(*param_1 + 4) + (longlong)param_1)); local_f8 = std::locale::_Locimp::_New_Locimp(*(_Locimp **)(lVar5 + 8)); if (pfVar9 != (facet *)0x0) { _Var6 = std::locale::id::operator_unsigned___int64((id *)&DAT_182666b78); std::locale::_Locimp::_Locimp_Addfac(local_f8,pfVar9,_Var6); *(undefined4 *)(local_f8 + 0x20) = 0; std::_Yarn::operator=((_Yarn *)(local_f8 + 0x28),"*"); } if ((local_b0 != (longlong *)0x0) && (puVar7 = (undefined8 *)(**(code **)(*local_b0 + 0x10))(), puVar7 != (undefined8 *)0x0)) { (**(code **)*puVar7)(puVar7,1); } std::basic_ios_>::imbue ((basic_ios_> *) ((longlong)*(int *)(*param_1 + 4) + (longlong)param_1),(locale *)&local_d8); if ((local_d0 != (longlong *)0x0) && (puVar7 = (undefined8 *)(**(code **)(*local_d0 + 0x10))(), puVar7 != (undefined8 *)0x0)) { (**(code **)*puVar7)(puVar7,1); } lVar5 = (longlong)*(int *)(*param_1 + 4) + (longlong)param_1; uVar1 = *(undefined1 *)(lVar5 + 0x58); local_70 = 0; local_68 = 0; local_58 = 0; local_50 = 0; local_60 = (ulonglong)(*param_2 - 1); local_118 = FUN_1805a4070(local_90,pfVar9 + 0x30); local_120 = &local_70; local_128 = uVar1; (**(code **)(*(longlong *)pfVar9 + 0x30))(pfVar9,&local_d8,local_e8,lVar5); if ((local_f8 != (_Locimp *)0x0) && (puVar7 = (undefined8 *)(**(code **)(*(longlong *)local_f8 + 0x10))(), puVar7 != (undefined8 *)0x0)) { (**(code **)*puVar7)(puVar7,1); } goto LAB_18074ec47; } lVar5 = std::ios_base::getloc((ios_base *)((longlong)*(int *)(*param_1 + 4) + (longlong)param_1)); uVar1 = *(undefined1 *)((longlong)*(int *)(*param_1 + 4) + 0x58 + (longlong)param_1); std::_Lockit::_Lockit(local_108,0); pfVar4 = DAT_182666b80; _Var6 = std::locale::id::operator_unsigned___int64((id *)&DAT_182666b78); lVar5 = *(longlong *)(lVar5 + 8); if ((*(ulonglong *)(lVar5 + 0x18) <= _Var6) || (pfVar9 = *(facet **)(*(longlong *)(lVar5 + 0x10) + _Var6 * 8), pfVar9 == (facet *)0x0)) { if (*(char *)(lVar5 + 0x24) == '\0') { LAB_18074e9ea: if (pfVar9 != (facet *)0x0) goto LAB_18074e9fb; } else { p_Var8 = std::locale::_Getgloballocale(); if (_Var6 < *(ulonglong *)(p_Var8 + 0x18)) { pfVar9 = *(facet **)(*(longlong *)(p_Var8 + 0x10) + _Var6 * 8); goto LAB_18074e9ea; } } pfVar9 = pfVar4; if (pfVar4 == (facet *)0x0) { FUN_1805a49a0(local_90); /* WARNING: Subroutine does not return */ _CxxThrowException(local_90,(ThrowInfo *)&DAT_1825fd200); } } LAB_18074e9fb: std::_Lockit::~_Lockit(local_108); iVar2 = *(int *)(*param_1 + 4); local_70 = 0; local_68 = 0; local_58 = 0; local_50 = 0; local_60 = (ulonglong)(*local_d8 - 1); local_118 = FUN_1805a4070(&local_d8,pfVar9 + 0x30); local_120 = &local_70; local_128 = uVar1; (**(code **)(*(longlong *)pfVar9 + 0x30)) (pfVar9,local_b8,local_e8,(longlong)iVar2 + (longlong)param_1); if ((local_f8 != (_Locimp *)0x0) && (puVar7 = (undefined8 *)(**(code **)(*(longlong *)local_f8 + 0x10))(), puVar7 != (undefined8 *)0x0)) { (**(code **)*puVar7)(puVar7,1); } LAB_18074ec47: *(uint *)(this + 0x18) = local_f0 & 0xffff; } ############ FUN_ 18068ca70 size=2512 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18068ca70(undefined8 param_1,longlong *param_2,undefined8 param_3) { uint uVar1; bool bVar2; int iVar3; char *pcVar4; char *pcVar5; undefined8 uVar6; longlong lVar7; longlong *plVar8; undefined8 *******pppppppuVar9; char *pcVar10; ulonglong uVar11; longlong *local_res10 [3]; undefined1 auStack_278 [32]; char *local_258; undefined4 local_250; undefined4 uStack_24c; char *local_248; char *local_240; char *local_238; ulonglong local_230; char *local_228; char *local_220; undefined8 local_218; undefined8 local_210; undefined8 ******local_208 [2]; longlong local_1f8; ulonglong local_1f0; undefined8 ******local_1e8 [2]; undefined8 local_1d8; ulonglong local_1d0; undefined8 ******local_1c8 [2]; size_t local_1b8; ulonglong local_1b0; undefined1 local_1a8 [8]; undefined4 local_1a0; void *local_198 [3]; undefined8 ******local_180 [2]; undefined8 local_170; ulonglong local_168; undefined1 local_160 [16]; longlong local_150; ulonglong local_140; undefined2 local_10e; undefined1 local_f8 [8]; undefined4 local_f0; undefined1 local_e8 [24]; undefined1 local_d0 [32]; undefined1 local_b0 [32]; undefined8 local_90; undefined2 local_5e; ulonglong local_48; local_210 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_278; local_248 = (char *)0x7ffffffffffffffe; local_250 = 0xfffffffe; local_res10[0] = param_2; local_218 = param_1; FUN_1805b41e0(&local_228,&local_250,&local_248); local_248 = (char *)0x7ffffffffffffffe; local_250 = 0xfffffffe; FUN_1805b41e0(&local_238,&local_250,&local_248); FUN_1805b6280(local_f8); FUN_1805b6280(local_1a8); pcVar10 = (char *)0x0; local_220 = (char *)0x0; local_240 = (char *)0x0; if (param_2 == (longlong *)0x0) { local_258 = (char *)FUN_1811316e0(0x18); pcVar4 = pcVar10; if (local_258 != (char *)0x0) { pcVar4 = (char *)FUN_1805a48c0(local_258,"Bad LsTimeLimitPtr (0x%16X)"); } pcVar5 = (char *)FUN_1811316e0(0x18); local_258 = pcVar5; if (pcVar5 != (char *)0x0) { FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; pcVar10 = pcVar5; } FUN_18066eb70(*(undefined8 *)(pcVar4 + 8),local_res10); local_250 = 0x1ab2; local_248 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(pcVar10 + 8),&local_248); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,&local_250); } FUN_1805a6cb0(local_d0,"2011-05-04T11:44:00Z",0x14); pppppppuVar9 = local_180; if (0xf < local_168) { pppppppuVar9 = (undefined8 *******)local_180[0]; } FUN_1805a6cb0(local_b0,pppppppuVar9,local_170); local_90 = 0; local_5e = 0; lVar7 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar7 + 0x14c),"storageId"); lVar7 = FUN_180870eb0(param_2); local_1a0 = *(undefined4 *)(lVar7 + 0x100); local_f0 = local_1a0; uVar6 = (**(code **)(*param_2 + 0x40))(param_2); FUN_1805a4070(local_1c8,uVar6); FUN_1805b1330(local_198,local_1b8,local_198); pppppppuVar9 = local_1c8; if (0xf < local_1b0) { pppppppuVar9 = (undefined8 *******)local_1c8[0]; } memcpy(local_198[0],pppppppuVar9,local_1b8); FUN_1805b9910(local_e8,local_198); lVar7 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar7 + 0x149),"relativeTimePeriod"); lVar7 = FUN_180870eb0(param_2); uVar1 = *(uint *)(lVar7 + 0xb8); uVar11 = (ulonglong)uVar1; lVar7 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar7 + 0x14a),"relativeTimeStart"); lVar7 = FUN_180870eb0(param_2); FUN_1805a4070(local_208,lVar7 + 0xc0); lVar7 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar7 + 0x14b),"relativeTimeStop"); lVar7 = FUN_180870eb0(param_2); FUN_1805a4070(local_1e8,lVar7 + 0xe0); if ((uVar1 == 0) || (local_1f8 == 0)) { bVar2 = false; } else { bVar2 = true; } lVar7 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar7 + 0x147),"periodStartDate"); lVar7 = FUN_180870eb0(param_2); pppppppuVar9 = (undefined8 *******)(lVar7 + 0x78); if (local_180 != pppppppuVar9) { if (0xf < *(ulonglong *)(lVar7 + 0x90)) { pppppppuVar9 = (undefined8 *******)*pppppppuVar9; } FUN_1805a6cb0(local_180,pppppppuVar9,*(undefined8 *)(lVar7 + 0x88)); } lVar7 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar7 + 0x148),"periodStopDate"); lVar7 = FUN_180870eb0(param_2); plVar8 = (longlong *)(lVar7 + 0x98); if ((longlong *)local_160 != plVar8) { if (0xf < *(ulonglong *)(lVar7 + 0xb0)) { plVar8 = (longlong *)*plVar8; } FUN_1805a6cb0(local_160,plVar8,*(undefined8 *)(lVar7 + 0xa8)); } plVar8 = (longlong *)FUN_180660c00(&local_258,local_180,0); pcVar10 = (char *)*plVar8; local_228 = pcVar10; plVar8 = (longlong *)FUN_180660c00(&local_258,local_160,0); pcVar4 = (char *)*plVar8; local_248 = (char *)0x7ffffffffffffffe; local_250 = 0xfffffffe; local_238 = pcVar4; FUN_1805b41e0(&local_258,&local_250,&local_248); if ((pcVar10 == local_258) || ((local_150 != 0 && (FUN_1805b6b80(&local_258,0), pcVar4 == local_258)))) { FUN_1805b6190(param_1,local_f8); FUN_180485450(local_1e8); FUN_180485450(local_208); FUN_180485450(local_1c8); FUN_1805b9270(local_1a8); FUN_1805b9270(local_f8); } if ((uVar1 == 0) || (bVar2)) { local_10e = (ushort)local_10e._1_1_ << 8; if (bVar2) { FUN_180660c00(&local_250,local_208,0); FUN_180660c00(&local_248,local_1e8,0); FUN_1805b6b80(&local_258,0); if (((char *)CONCAT44(uStack_24c,local_250) == local_258) || (FUN_1805b6b80(&local_258,0), local_248 == local_258)) { FUN_1805b6190(param_1,local_f8); FUN_180485450(local_1e8); FUN_180485450(local_208); FUN_180485450(local_1c8); FUN_1805b9270(local_1a8); FUN_1805b9270(local_f8); } FUN_1805c5170(&local_258,&local_248,&local_250); local_240 = local_258; local_258 = (char *)0x0; iVar3 = FUN_1805bd370(&local_240,&local_258); if (iVar3 == -1) { FUN_1805b6190(param_1,local_f8); FUN_180485450(local_1e8); FUN_180485450(local_208); FUN_180485450(local_1c8); FUN_1805b9270(local_1a8); FUN_1805b9270(local_f8); } FUN_180661ba0(&local_240,&local_230); if (local_230 != uVar11) { FUN_1805b6190(param_1,local_f8); FUN_180485450(local_1e8); FUN_180485450(local_208); FUN_180485450(local_1c8); FUN_1805b9270(local_1a8); FUN_1805b9270(local_f8); } if (local_150 != 0) { FUN_1805c5170(&local_258,&local_238,&local_250); local_240 = local_258; local_258 = (char *)0x0; iVar3 = FUN_1805bd370(&local_240,&local_258); if (iVar3 == -1) { FUN_1805b6190(param_1,local_f8); FUN_180485450(local_1e8); FUN_180485450(local_208); FUN_180485450(local_1c8); FUN_1805b9270(local_1a8); FUN_1805b9270(local_f8); } } pppppppuVar9 = local_208; if (0xf < local_1f0) { pppppppuVar9 = (undefined8 *******)local_208[0]; } FUN_1805a6cb0(local_180,pppppppuVar9,local_1f8); pppppppuVar9 = local_1e8; if (0xf < local_1d0) { pppppppuVar9 = (undefined8 *******)local_1e8[0]; } FUN_1805a6cb0(local_160,pppppppuVar9,local_1d8); local_228 = (char *)CONCAT44(uStack_24c,local_250); local_238 = local_248; } FUN_1805c5170(&local_248,param_3,&local_228); if (local_150 == 0) { local_140 = 0x7fffffffffffffff; local_258 = (char *)0x0; iVar3 = FUN_1805bd370(&local_248,&local_258); local_10e = CONCAT11(iVar3 != -1,(undefined1)local_10e); } else { FUN_1805c5170(&local_250,&local_238,param_3); local_258 = (char *)0x0; iVar3 = FUN_1805bd370(&local_250,&local_258); if (iVar3 == -1) { local_10e = local_10e & 0xff; local_140 = 0; } else { local_258 = (char *)0x0; iVar3 = FUN_1805bd370(&local_248,&local_258); if (iVar3 == -1) { FUN_1805c5170(&local_258,&local_238,&local_228); local_220 = local_258; FUN_180661ba0(&local_220,&local_230); local_10e = local_10e & 0xff; } else { FUN_180661ba0(&local_250,&local_230); local_10e = CONCAT11(local_230 != 0,(undefined1)local_10e); } local_140 = local_230; if (0x7fffffffffffffff < local_230) { local_230 = 0x7fffffffffffffff; local_140 = local_230; } } } } else { local_10e = 1; local_140 = uVar11; if (local_150 != 0) { FUN_1805c5170(&local_258,&local_238,param_3); local_240 = local_258; local_258 = (char *)0x0; iVar3 = FUN_1805bd370(&local_240,&local_258); if (iVar3 == -1) { local_140 = 0; } } } FUN_180485450(local_1e8); FUN_180485450(local_208); FUN_1805b6190(param_1,local_1a8); FUN_180485450(local_1c8); FUN_1805b9270(local_1a8); FUN_1805b9270(local_f8); } ############ FUN_ 180690270 size=3216 ############ ulonglong FUN_180690270(longlong param_1,undefined4 *param_2,longlong param_3,undefined8 param_4, undefined8 param_5,undefined8 *param_6,undefined8 *param_7) { void *_Src; void *_Src_00; bool bVar1; undefined8 *puVar2; undefined1 uVar3; HANDLE hEvent; longlong lVar4; longlong lVar5; undefined8 uVar6; uint uVar7; longlong *plVar8; uint *puVar9; undefined2 uVar10; ulonglong uVar11; ulonglong _Size; void *_Dst; uint uVar12; longlong lVar13; ulonglong uVar14; void *pvVar15; size_t _Size_00; longlong lVar16; undefined1 local_a38 [32]; longlong *local_a18; undefined8 local_a10; undefined8 local_a08; undefined *local_9f8; longlong local_9f0; undefined1 local_9e8; longlong local_9e0; longlong local_9d8; undefined4 *local_9d0; undefined8 local_9c0; void *local_9b8; void *pvStack_9b0; longlong local_9a8; undefined4 *local_9a0; undefined4 local_998 [2]; undefined4 local_990 [2]; uint local_988; uint local_984; undefined8 local_980; char *local_978; char *local_970; void *local_968; longlong lStack_960; longlong local_958; undefined **local_948; undefined8 local_940; undefined8 local_938; undefined8 uStack_930; undefined8 local_928; undefined8 uStack_920; undefined8 local_918; longlong lStack_910; longlong local_908; undefined8 uStack_900; undefined8 local_8f8; undefined8 uStack_8f0; undefined8 local_8e8; undefined8 local_8e0; undefined1 local_8d8; void *local_8c8; undefined8 uStack_8c0; longlong local_8b8; longlong local_8b0; undefined8 *local_8a8; int *local_8a0; char local_898; undefined8 *local_890; longlong local_888; undefined8 local_880; undefined8 local_878; undefined8 local_870; undefined8 local_868; undefined8 local_860; undefined8 local_858; undefined8 local_850; undefined8 local_848; undefined8 local_840; undefined8 local_838; undefined8 local_830; undefined8 local_828; undefined1 local_820 [24]; longlong local_808 [72]; undefined **local_5c8; undefined1 local_5c0 [752]; undefined8 local_2d0; undefined8 local_2c8; undefined8 uStack_2c0; undefined1 local_2b8 [568]; undefined8 local_80; undefined8 local_78; undefined8 uStack_70; undefined8 local_68; undefined4 local_60; undefined1 local_5c; ulonglong local_40; local_858 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)local_a38; local_880 = param_5; local_8a8 = param_6; local_890 = param_7; uVar12 = (uint)&stack0x00000000; uVar7 = ((uVar12 & 0x2cff) + 1) * (uVar12 & 0x2cff) + 7; local_984 = 0x3480 << ((byte)(0 >> ((char)uVar7 + (char)(uVar7 / 0x51) * -0x51 & 0x1fU)) & 0x1f) ^ 0x3fa0; if (((((uVar12 & 0x1cff) + 1) * (uVar12 & 0x1cff) + 7) % 0x51 & 800) == 0) { uVar7 = uVar12 & 0x17f; uVar7 = ((uVar7 + 2) * (uVar7 + 1) * uVar7) % 3 ^ ((uVar12 & 0x4aff) * (uVar12 & 0x4aff) + 1) % 7; local_988 = (int)(-uVar7 | uVar7) >> 0x1f & 0x125c; } else { local_988 = 0x125c; } local_988 = local_988 ^ 0x18dc; local_5c8 = pace::eden::thrift::authorize::GetContentDecryptionKeyInput::vftable; local_9f0 = param_1; local_9e0 = param_3; local_9d0 = param_2; local_9c0 = param_4; FUN_180575180(local_5c0); local_2d0 = 0; local_2c8 = 0; uStack_2c0 = 0; FUN_180676e10(local_2b8); local_80 = 0; local_78 = 0; uStack_70 = 0; local_68 = 0; local_60 = 0; local_5c = 0; local_948 = pace::eden::thrift::authorize::GetContentDecryptionKeyReturn::vftable; local_940 = 0; local_938 = 0; uStack_930 = 0; local_928 = 0; uStack_920 = 0; local_918 = 0; lStack_910 = 0; local_908 = 0; uStack_900 = 0; local_8f8 = 0; uStack_8f0 = 0; local_8e8 = 0; local_8e0 = 4; local_8d8 = 0; local_9b8 = (void *)0x0; pvStack_9b0 = (void *)0x0; local_9a8 = 0; bVar1 = false; local_980 = 0; local_9d8 = 0x5ff4; local_9f8 = &DAT_181d10214; local_9a0 = &DAT_181d16208; lVar4 = 0; pvVar15 = (void *)0x0; _Dst = (void *)0x0; lVar5 = *(longlong *)((longlong)param_2 + 0x68); do { lVar13 = local_9e0; lVar16 = local_9f0; if (lVar5 == 2) { bVar1 = true; local_a18 = &local_940; FUN_18069ce00(local_9f0,param_2,local_9e0,&local_928); LAB_1806907f5: local_9d0 = local_9a0; local_9f8._0_4_ = 0xf20e7acc; if (!bVar1) { FUN_1805b9ea0(local_5c0,param_2); FUN_1805b1330(&local_2d0,0x10,&local_2d0); FUN_180605430(local_2d0,0x10); FUN_1805e4990(local_2b8,lVar13); puVar2 = local_8a8; if (local_8a8 != (undefined8 *)0x0) { local_868 = local_8a8[1]; local_860 = *local_8a8; FUN_1805e1990(&local_80,local_860,local_868,local_9e8); } lVar4 = 0; if (local_890 == (undefined8 *)0x0) { local_68 = 0; } else { local_68 = *local_890; } FUN_1805b45f0(&local_8a0,lVar16 + 0x18); if (*(longlong *)(lVar16 + 0x48) == 0) { plVar8 = (longlong *) ((longlong)*(int *)(**(longlong **)(lVar16 + 8) + 8) + (longlong)*(longlong **)(lVar16 + 8)); (**(code **)(*plVar8 + 0xc0))(plVar8,&local_948,&local_5c8,4); } else { local_8c8 = (void *)0x0; uStack_8c0 = 0; local_8b8 = 0; local_968 = (void *)0x0; lStack_960 = 0; local_958 = 0; FUN_180673c70(&local_5c8,&local_8c8,1); FUN_1806b86d0(lVar16,0x18,&local_8c8,&local_968); FUN_180671b60(local_968,lStack_960 - (longlong)local_968,&local_948); if (local_968 != (void *)0x0) { pvVar15 = local_968; if ((0xfff < (ulonglong)(local_958 - (longlong)local_968)) && (pvVar15 = *(void **)((longlong)local_968 + -8), 0x1f < (ulonglong)((longlong)local_968 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } if (local_8c8 != (void *)0x0) { pvVar15 = local_8c8; if ((0xfff < (ulonglong)(local_8b8 - (longlong)local_8c8)) && (pvVar15 = *(void **)((longlong)local_8c8 + -8), 0x1f < (ulonglong)((longlong)local_8c8 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } } if ((local_898 != '\0') && (*local_8a0 = *local_8a0 + -1, *local_8a0 == 0)) { LOCK(); local_8a0[1] = 0; UNLOCK(); puVar9 = (uint *)(local_8a0 + 2); LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 + 0x80000000; UNLOCK(); if (((uVar7 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar7)) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 | 0x40000000; UNLOCK(); if ((uVar7 >> 0x1e & 1) == 0) { hEvent = (HANDLE)FUN_1805a9100(); SetEvent(hEvent); } } } if (puVar2 != (undefined8 *)0x0) { local_830 = uStack_8f0; local_850 = local_8f8; FUN_1805b1a40(puVar2); } local_a18 = &local_2d0; FUN_18063c260(local_808,0,1,0); (**(code **)(local_808[0] + 0x30))(local_808,&local_940); (**(code **)(local_808[0] + 0x30))(local_808,&local_928); (**(code **)(local_808[0] + 0x30))(local_808,&lStack_910); plVar8 = (longlong *)(lVar13 + 0x18); if ((ulonglong)(*(longlong *)(lVar13 + 0x20) - *plVar8) < 0x10) { local_978 = (char *)FUN_1811316e0(0x18); if (local_978 != (char *)0x0) { lVar4 = FUN_1805a48c0(local_978, "The decryptionAssistData.keyVerificationData size (%d) is too small." ); } lVar5 = FUN_1805c0260(); local_8b0 = *(longlong *)(lVar13 + 0x20) - *plVar8; FUN_1805b2520(*(undefined8 *)(lVar4 + 8),&local_8b0); local_998[0] = 0x3a0; local_978 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_978); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_998); } if ((ulonglong)(local_908 - lStack_910) < 0x10) { local_970 = (char *)FUN_1811316e0(0x18); if (local_970 != (char *)0x0) { lVar4 = FUN_1805a48c0(local_970, "The _return.outRandomTransportKey size (%d) is too small."); } lVar5 = FUN_1805c0260(); local_888 = local_908 - lStack_910; FUN_1805b2520(*(undefined8 *)(lVar4 + 8),&local_888); local_990[0] = 0x3a6; local_970 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_970); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_990); } FUN_180620470(lStack_910,*plVar8,0x10); FUN_180620470(lStack_910,local_2d0,0x10); local_a18 = &lStack_910; FUN_18063f370(local_808,0,1,0); (**(code **)(local_808[0] + 0x30))(local_808,&local_928); (**(code **)(local_808[0] + 0x30))(local_808,&local_940); local_a18 = (longlong *)CONCAT44(local_a18._4_4_,4); FUN_180685140(*(undefined4 *)(lVar13 + 8),&local_928,&local_940,plVar8); FUN_18063cad0(local_808); } uVar7 = (uint)local_9f8; local_9f0._0_4_ = 0x58950269; local_9f8._0_4_ = 0xd7116351; local_a08 = local_880; local_a10 = local_9c0; local_a18 = &local_940; uVar10 = 1; uVar11 = (ulonglong)*(uint *)(lVar13 + 8); FUN_1806917d0(uVar11,1,*(undefined4 *)(lVar13 + 0xc),&local_928); local_9f8 = (undefined *) CONCAT44(local_9f8._4_4_, ~(((uVar7 ^ 0x956eb4e4) << 0x19 | (uVar7 ^ 0x956eb4e4) >> 7) + 0xc8dcd2ff )); local_9f0 = CONCAT44(local_9f0._4_4_,0x1b873593); /* WARNING: Call to offcut address within same function */ uVar6 = func_0x000180690da2(); uVar3 = in(uVar10); (&stack0x0000005c)[uVar11 * 4] = (&stack0x0000005c)[uVar11 * 4] ^ (byte)uVar11; return CONCAT71((int7)((ulonglong)uVar6 >> 8),uVar3) & 0xffffffffffffff30; } if ((lVar5 - 4U < 0x3d) && ((0x1000000010000011U >> (lVar5 - 4U & 0x3f) & 1) != 0)) { bVar1 = true; local_a10 = FUN_1805b46a0(local_820,&local_9b8); lVar13 = local_9e0; lVar16 = local_9f0; local_a18 = &local_940; FUN_18069d070(local_9f0,param_2,local_9e0,&local_928); goto LAB_1806907f5; } local_9d8 = *(longlong *)((longlong)param_2 + 0x1f8); if ((local_9d8 == 0) || (bVar1)) { bVar1 = false; goto LAB_1806907f5; } if (&local_9b8 != (void **)((longlong)param_2 + 0x200)) { lVar5 = *(longlong *)((longlong)param_2 + 0x208); _Src_00 = *(void **)((longlong)param_2 + 0x200); _Size = lVar5 - (longlong)_Src_00; uVar11 = lVar4 - (longlong)_Dst; if (uVar11 < _Size) { local_848 = 0xffffffffffffffff; local_840 = 0x7fffffffffffffff; if (0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } local_838 = 0xffffffffffffffff; local_828 = 0x7fffffffffffffff; uVar14 = _Size; if ((uVar11 <= 0x7fffffffffffffff - (uVar11 >> 1)) && (uVar14 = uVar11 + (uVar11 >> 1), uVar14 < _Size)) { uVar14 = _Size; } if (_Dst != (void *)0x0) { pvVar15 = _Dst; if ((0xfff < uVar11) && (pvVar15 = *(void **)((longlong)_Dst + -8), 0x1f < (ulonglong)((longlong)_Dst + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } local_9b8 = (void *)0x0; pvStack_9b0 = (void *)0x0; local_9a8 = 0; if (uVar14 != 0) { local_878 = 0xffffffffffffffff; local_870 = 0x7fffffffffffffff; if (0x7fffffffffffffff < uVar14) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } local_9b8 = (void *)FUN_1805bc8b0(&local_9b8,uVar14); local_9a8 = (longlong)local_9b8 + uVar14; } lVar4 = local_9a8; _Dst = local_9b8; memmove(local_9b8,_Src_00,_Size); pvVar15 = (void *)(_Size + (longlong)_Dst); param_2 = local_9d0; pvStack_9b0 = pvVar15; } else if ((ulonglong)((longlong)pvVar15 - (longlong)_Dst) < _Size) { _Src = (void *)(((longlong)pvVar15 - (longlong)_Dst) + (longlong)_Src_00); memmove(_Dst,_Src_00,(longlong)_Src - (longlong)_Src_00); _Size_00 = lVar5 - (longlong)_Src; memmove(pvVar15,_Src,_Size_00); pvVar15 = (void *)((longlong)pvVar15 + _Size_00); param_2 = local_9d0; pvStack_9b0 = pvVar15; } else { memmove(_Dst,_Src_00,_Size); pvVar15 = (void *)((longlong)_Dst + _Size); param_2 = local_9d0; pvStack_9b0 = pvVar15; } } bVar1 = true; lVar5 = local_9d8; } while( true ); } ############ FUN_ 1806a0350 size=2130 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806a0350(undefined8 param_1,longlong *param_2,longlong param_3,longlong param_4, undefined8 param_5,undefined8 param_6) { longlong *plVar1; int *piVar2; undefined4 *puVar3; uint uVar4; undefined8 *puVar5; undefined8 uVar6; longlong lVar7; ulonglong uVar8; void *_Memory; undefined8 uVar9; ulonglong uVar10; longlong *plVar11; ulonglong uVar12; int iVar13; undefined1 auStack_678 [32]; void **local_658; undefined1 local_648; void *local_640; longlong lStack_638; longlong local_630; undefined4 local_628 [2]; undefined4 local_620 [4]; undefined4 local_610 [2]; undefined4 local_608 [2]; longlong local_600; longlong *local_5f8; undefined8 local_5f0; undefined **local_5e8; undefined8 local_5e0; undefined4 local_5d8; undefined1 local_5d4; undefined8 local_5d0; undefined8 local_5c8; undefined8 uStack_5c0; undefined8 local_5b8; undefined8 uStack_5b0; undefined1 local_5a8; undefined8 local_5a0; undefined8 local_598; undefined2 local_590; undefined8 local_588; undefined8 *local_580; char *local_578; char *local_570 [2]; char *local_560; char *local_558; undefined8 local_550; longlong *local_548; undefined8 local_540; undefined8 local_538; undefined8 local_530; undefined8 local_528; undefined1 local_518 [576]; undefined1 local_2d8 [576]; undefined8 *local_98; undefined8 local_90; undefined4 local_88; undefined2 local_84; undefined1 local_82; undefined1 local_80 [16]; undefined4 local_70; undefined4 uStack_6c; undefined4 uStack_68; undefined4 uStack_64; undefined1 local_60 [8]; ulonglong local_58; local_550 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_678; local_588 = param_5; local_5f0 = param_6; local_640 = (void *)0x0; lStack_638 = 0; local_630 = 0; local_600 = param_3; local_5f8 = param_2; local_548 = param_2; uVar4 = FUN_1807002d0(*(undefined4 *)(param_4 + 8)); uVar8 = (ulonglong)uVar4; uVar4 = FUN_180700270(*(undefined4 *)(param_4 + 8)); uVar12 = (ulonglong)uVar4; if ((*(longlong *)(param_3 + 0x10) - *(longlong *)(param_3 + 8)) / 0x438 == 0) { local_98 = (undefined8 *)FUN_1811316e0(0x18); if (local_98 != (undefined8 *)0x0) { FUN_1805a48c0(local_98,"The authChain provided to getContentDecryptionKey is empty"); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_98 = puVar5; if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } local_628[0] = 0x2fc3; local_578 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(puVar5[1],&local_578); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_628); } if (*param_2 == 0) { local_98 = (undefined8 *)FUN_1811316e0(0x18); if (local_98 != (undefined8 *)0x0) { FUN_1805a48c0(local_98,"Missing a Protocols object"); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_98 = puVar5; if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } local_620[0] = 0x2fc8; local_570[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(puVar5[1],local_570); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_620); } local_5e8 = pace::eden::thrift::fusion::LocationGroupAttributes::vftable; local_5e0 = 0; local_5d8 = 0; local_5d4 = 0; local_5d0 = 0; local_5c8 = 0; uStack_5c0 = 0; local_5b8 = 0; uStack_5b0 = 0; local_5a8 = 0; local_5a0 = 0; local_598 = 0; local_590 = 0; local_658 = (void **)CONCAT44(local_658._4_4_,1); FUN_1806a2680(param_1,*(undefined4 *)(param_4 + 0x10),&local_5e8,0); if (local_5e0._2_1_ == '\0') { local_98 = (undefined8 *)FUN_1811316e0(0x18); if (local_98 == (undefined8 *)0x0) { lVar7 = 0; } else { lVar7 = FUN_1805a48c0(local_98, "This iLok1 cannot produce the decryption key to decrypt the content. ValidLocations = %d" ); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_98 = puVar5; if (puVar5 != (undefined8 *)0x0) { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar7 + 8),param_4 + 0x10); } lVar7 = FUN_1805fcae0(); iVar13 = *(int *)(param_4 + 0x98); if (iVar13 == *(int *)(lVar7 + 0x2c)) { iVar13 = *(int *)(param_4 + 0x30); uVar4 = FUN_1807002d0(iVar13); uVar10 = (ulonglong)uVar4; uVar4 = FUN_180700270(iVar13); if ((((*(longlong *)(param_4 + 0x88) - *(longlong *)(param_4 + 0x80) != 7) || (uVar8 == 0)) || ((uVar10 == 0 || ((((ulonglong)(*(longlong *)(param_4 + 0x40) - *(longlong *)(param_4 + 0x38)) < uVar8 || ((ulonglong)(*(longlong *)(param_4 + 0x40) - *(longlong *)(param_4 + 0x38)) % (ulonglong)uVar4 != 0)) || (uVar12 < 0x10)))))) || ((((ulonglong)(*(longlong *)(param_4 + 0x58) - *(longlong *)(param_4 + 0x50)) < uVar12 || ((ulonglong)(*(longlong *)(param_4 + 0x58) - *(longlong *)(param_4 + 0x50)) % (ulonglong)uVar4 != 0)) || (((ulonglong)(*(longlong *)(param_4 + 0x70) - *(longlong *)(param_4 + 0x68)) < 0x10 || ((*(longlong *)(param_4 + 0x70) - *(longlong *)(param_4 + 0x68) & 0xfU) != 0)))))) { local_98 = (undefined8 *)FUN_1811316e0(0x18); if (local_98 != (undefined8 *)0x0) { FUN_1805a48c0(local_98, "Bad data size detected in the DecryptionAssistData for iLok1 KEY EXCHANGE data" ); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_98 = puVar5; if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } local_610[0] = 0x2fe9; local_560 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(puVar5[1],&local_560); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_610); } puVar3 = *(undefined4 **)(param_4 + 0x68); local_70 = *puVar3; uStack_6c = puVar3[1]; uStack_68 = puVar3[2]; uStack_64 = puVar3[3]; local_658 = (void **)(param_4 + 0x50); FUN_18063c260(local_2d8,0,1,0); FUN_18063cd40(local_2d8,0x10,&local_70); plVar11 = local_5f8; puVar3 = *(undefined4 **)(param_4 + 0x80); local_88 = *puVar3; local_84 = *(undefined2 *)(puVar3 + 1); local_82 = *(undefined1 *)((longlong)puVar3 + 6); local_658 = (void **)&local_70; FUN_1807fc7f0(*local_5f8,local_80,*(undefined4 *)(*(longlong *)(local_600 + 8) + 8),&local_88); FUN_1805e1990(&local_640,local_80,&local_70); uVar8 = lStack_638 - (longlong)local_640; uVar6 = local_5f0; while (local_5f0 = uVar6, uVar8 < uVar10) { local_658._1_7_ = (undefined7)((ulonglong)local_658 >> 8); local_658 = (void **)CONCAT71(local_658._1_7_,local_648); FUN_1805d5a60(&local_640,lStack_638,local_80,&local_70); uVar6 = local_5f0; uVar8 = lStack_638 - (longlong)local_640; } local_5f8 = *(longlong **)(param_4 + 0x40); local_600 = *(longlong *)(param_4 + 0x38); FUN_1805b1a40(uVar6); uVar9 = local_588; local_5f0 = *(undefined8 *)(param_4 + 0x58); local_580 = *(undefined8 **)(param_4 + 0x50); FUN_1805b1a40(local_588); FUN_18063cad0(local_2d8); } else { uVar4 = FUN_1807002d0(iVar13); uVar10 = (ulonglong)uVar4; uVar4 = FUN_180700270(iVar13); plVar11 = local_5f8; if (((((uVar8 == 0) || (uVar10 == 0)) || ((ulonglong)(*(longlong *)(param_4 + 0xc0) - *(longlong *)(param_4 + 0xb8)) < uVar8)) || (((ulonglong)(*(longlong *)(param_4 + 0xc0) - *(longlong *)(param_4 + 0xb8)) % (ulonglong)uVar4 != 0 || ((ulonglong)(*(longlong *)(param_4 + 0xd8) - *(longlong *)(param_4 + 0xd0)) < uVar12)))) || (((ulonglong)(*(longlong *)(param_4 + 0xd8) - *(longlong *)(param_4 + 0xd0)) % (ulonglong)uVar4 != 0 || ((ulonglong)(*(longlong *)(param_4 + 0xa8) - *(longlong *)(param_4 + 0xa0)) < 8)))) { local_580 = (undefined8 *)FUN_1811316e0(0x18); if (local_580 != (undefined8 *)0x0) { FUN_1805a48c0(local_580, "Bad data size detected in the DecryptionAssistData for iLok1 QUICK CHALLENGE RESPONSE data" ); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); local_580 = puVar5; if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } local_608[0] = 0x3028; local_558 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar6 = FUN_1805a21d0(puVar5[1],&local_558); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_608); } local_98 = (undefined8 *)**(undefined8 **)(param_4 + 0xa0); puVar5 = (undefined8 *) FUN_1807fb840(*local_5f8,local_60,*(undefined4 *)(*(longlong *)(local_600 + 8) + 8), &local_98); local_90 = *puVar5; FUN_1805e1990(&local_640,&local_90,&local_88); uVar8 = lStack_638 - (longlong)local_640; uVar6 = local_5f0; while (local_5f0 = uVar6, uVar8 < uVar10) { local_658._1_7_ = (undefined7)((ulonglong)local_658 >> 8); local_658 = (void **)CONCAT71(local_658._1_7_,local_648); FUN_1805d5a60(&local_640,lStack_638,&local_90,&local_88); uVar6 = local_5f0; uVar8 = lStack_638 - (longlong)local_640; } local_540 = *(undefined8 *)(param_4 + 0xc0); local_538 = *(undefined8 *)(param_4 + 0xb8); FUN_1805b1a40(uVar6); uVar9 = local_588; local_530 = *(undefined8 *)(param_4 + 0xd8); local_528 = *(undefined8 *)(param_4 + 0xd0); FUN_1805b1a40(local_588); } FUN_1805b0f50(&local_640,uVar10,&local_640); local_658 = &local_640; FUN_18063c260(local_518,iVar13,1,0); FUN_18063cba0(local_518,uVar9); FUN_18063cba0(local_518,uVar6); local_658 = (void **)CONCAT44(local_658._4_4_,4); FUN_180685140(*(undefined4 *)(param_4 + 8),uVar9,uVar6,param_4 + 0x18); FUN_18063cad0(local_518); local_5e8 = pace::eden::thrift::fusion::LocationGroupAttributes::vftable; FUN_1805bc040(&uStack_5c0); if (local_640 == (void *)0x0) { plVar11 = (longlong *)plVar11[1]; if (plVar11 != (longlong *)0x0) { LOCK(); plVar1 = plVar11 + 1; lVar7 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar11 + 8))(plVar11); LOCK(); piVar2 = (int *)((longlong)plVar11 + 0xc); iVar13 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)(*plVar11 + 0x10))(plVar11); } } } } _Memory = local_640; if ((0xfff < (ulonglong)(local_630 - (longlong)local_640)) && (_Memory = *(void **)((longlong)local_640 + -8), 0x1f < (ulonglong)((longlong)local_640 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1807064c0 size=1925 ############ /* WARNING: Instruction at (ram,0x000180706cfb) overlaps instruction at (ram,0x000180706cfa) */ /* WARNING: Removing unreachable block (ram,0x000180706e4e) */ /* WARNING: Removing unreachable block (ram,0x000180706885) */ /* WARNING: Removing unreachable block (ram,0x000180706cfa) */ /* WARNING: Removing unreachable block (ram,0x000180706c41) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ ulonglong FUN_1807064c0(void) { longlong lVar1; ulonglong uVar2; uint uVar3; int iVar4; uint uVar5; undefined4 *puVar6; ulonglong uVar7; ulonglong uVar8; undefined8 in_R11; ulonglong uVar9; undefined8 uVar10; longlong lVar11; bool bVar12; int unaff_retaddr; undefined4 local_68 [8]; undefined8 local_48; puVar6 = local_68; local_48 = 0xfffffffffffffffe; uVar5 = (uint)&stack0x00000000 & 0x37f; uVar3 = (uint)&stack0x00000000 & 0x52ff; iVar4 = uVar3 * uVar3 + 1; iVar4 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924; uVar3 = (int)(((uVar5 + 2) * (uVar5 + 1) * uVar5) % 3) >> ((byte)((iVar4 >> 0x1d) + -7 >> 0x1f) & (byte)(iVar4 >> 0x1d) & 0x1f); uVar8 = (ulonglong)uVar3; uVar9 = (ulonglong)(0x30ff << ((byte)uVar3 & 0x1f) ^ 0x372f); lVar11 = (longlong)&DAT_182664ab8 + (SUB168(ZEXT816(0xc7ce0c7ce0c7ce0d) * ZEXT816(0x182664ab8),8) >> 5) * -0x29; uVar3 = 0; uVar10 = 1; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); uVar2 = DAT_182664ab8; while (DAT_182664ab8 = uVar2, iVar4 != 0) { if ((3 < uVar3) && (0xf < uVar3)) { Sleep((uint)(0x1f < uVar3)); } uVar3 = uVar3 + 1; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); uVar2 = DAT_182664ab8; } *(undefined4 *)(&DAT_18265dbd0 + lVar11 * 4) = 0; uVar3 = (((uint)(DAT_181470678 * 0x401) >> 6 ^ DAT_181470678 * 0x401) + DAT_18147067c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470680) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470684) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470688) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18147068c) * 0x401; if (uVar2 == 0) { LOCK(); bVar12 = DAT_182664ac0 == 0; if (bVar12) { DAT_182664ac0 = 1; } UNLOCK(); while (!bVar12) { LOCK(); bVar12 = DAT_182664ac0 == 0; if (bVar12) { DAT_182664ac0 = 1; } UNLOCK(); } uVar5 = 0; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); uVar2 = DAT_182664ab8; while (DAT_182664ab8 = uVar2, iVar4 != 0) { if ((3 < uVar5) && (0xf < uVar5)) { Sleep((uint)(0x1f < uVar5)); } uVar5 = uVar5 + 1; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); uVar2 = DAT_182664ab8; } uVar7 = 0; *(undefined4 *)(&DAT_18265dbd0 + lVar11 * 4) = 0; if (uVar2 == 0) { lVar1 = FUN_1811316e0(0x3f0); uVar2 = uVar7; if (lVar1 != 0) { uVar2 = FUN_180703480(lVar1); } FUN_1805ccdd0(FUN_1807055a0,uVar2); LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); while (iVar4 != 0) { uVar5 = (uint)uVar7; if ((3 < uVar5) && (0xf < uVar5)) { Sleep((uint)(0x1f < uVar5)); } uVar7 = (ulonglong)(uVar5 + 1); LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); } DAT_182664ab8 = uVar2; *(undefined4 *)(&DAT_18265dbd0 + lVar11 * 4) = 0; } LOCK(); UNLOCK(); DAT_182664ac0 = 0; } uVar3 = (DAT_181470690 + (uVar3 ^ uVar3 >> 6)) * 0x401; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (DAT_181470694 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470698) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18147069c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706a0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706a4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706a8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706ac) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706b0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706b4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706b8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706bc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706c0) * 0x401; do { lVar1 = uVar9 + uVar8; lVar11 = (~(uVar8 - lVar1) + 1) - lVar1; uVar8 = -lVar11; uVar9 = lVar1 + lVar11; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (DAT_1814706c4 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706c8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706cc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706d0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706d4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706d8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706dc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706e0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706e4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706e8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706ec) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706f0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706f4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706f8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1814706fc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470700) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470704) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470708) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18147070c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470710) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470714) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470718) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18147071c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470720) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470724) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470728) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18147072c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470730) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470734) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181470738) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18147073c) * 0x401; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (_UNK_181470740 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_181470744) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_181470748) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_18147074c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_181470750) * 0x401; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (_UNK_181470754 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_181470758) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_18147075c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_181470760) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_181470764) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_181470768) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_18147076c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_181470770) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _UNK_181470774) * 0x401; uVar3 = uVar3 >> 6 ^ uVar3 ^ 0xfbf15be3; uVar3 = (uVar3 >> 0xc | uVar3 << 0x14) ^ 0x939c0b94; uVar3 = (uVar3 >> 0x1a | uVar3 << 6) + 0x48441eb3; if ((uVar3 & 0xffffff) == 0 && uVar3 == 0) { uVar9 = thunk_FUN_1805a9280(); return uVar9; } iVar4 = (int)uVar9; do { *(undefined **)((longlong)puVar6 + -8) = &UNK_180706ead; lVar11 = (longlong)iVar4; func_0x000180707e82(); *(undefined8 *)((longlong)puVar6 + -8) = uVar10; *(ulonglong *)((longlong)puVar6 + -0x10) = uVar9; *(undefined8 *)((longlong)puVar6 + -0x18) = in_R11; register0x00000020 = (BADSPACEBASE *)(~(((ulonglong)register0x00000020 ^ 0xffffffffffffffff) + 1) + 1); lVar11 = -lVar11; in_R11 = *(undefined8 *)((longlong)puVar6 + lVar11 + 0x7b8); uVar9 = *(ulonglong *)((longlong)puVar6 + lVar11 + 0x7c0); uVar10 = *(undefined8 *)((longlong)puVar6 + lVar11 + 0x7c8); puVar6 = (undefined4 *)((longlong)puVar6 + lVar11 + 2000); uVar3 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); return uVar2; } ############ FUN_ 1806971e0 size=1692 ############ /* WARNING: Instruction at (ram,0x000180697713) overlaps instruction at (ram,0x00018069770d) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180697301) */ /* WARNING: Removing unreachable block (ram,0x0001806972a1) */ /* WARNING: Removing unreachable block (ram,0x0001806976fc) */ /* WARNING: Removing unreachable block (ram,0x00018069775b) */ /* WARNING: Removing unreachable block (ram,0x000180697732) */ /* WARNING: Removing unreachable block (ram,0x0001806976cf) */ /* WARNING: Removing unreachable block (ram,0x000180697826) */ /* WARNING: Removing unreachable block (ram,0x000180697260) */ /* WARNING: Removing unreachable block (ram,0x000180697775) */ /* WARNING: Removing unreachable block (ram,0x000180697721) */ /* WARNING: Type propagation algorithm not settling */ void FUN_1806971e0(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4) { uint *puVar1; char cVar2; undefined4 *puVar3; undefined1 uVar4; uint uVar5; char *pcVar6; undefined8 uVar7; longlong *plVar8; uint uVar9; longlong *plVar10; int iVar11; longlong lVar12; IMAGE_DOS_HEADER *pIVar13; longlong *plVar14; longlong *plVar15; longlong *plVar16; longlong *plVar17; char *pcVar18; longlong *plVar19; IMAGE_DOS_HEADER *pIVar20; longlong lVar21; ulonglong uVar22; longlong in_R10; undefined1 *puVar23; int unaff_retaddr; undefined1 local_4f8 [32]; undefined4 local_4d8; undefined *local_4d0; undefined4 *local_4c8; undefined8 local_4c0; undefined8 local_4b0; undefined4 local_4a8 [2]; undefined4 local_4a0; undefined4 local_49c; char *local_498 [8]; undefined **local_458; undefined **local_450; undefined8 local_448; undefined8 uStack_440; undefined8 local_438; undefined8 uStack_430; undefined8 local_428; undefined8 uStack_420; undefined8 local_418; undefined1 local_410; undefined4 local_408; undefined2 local_404; longlong local_3f8; undefined8 local_3f0; longlong local_3e8; undefined8 local_3e0; undefined **local_3d8; undefined1 local_3d0 [752]; undefined4 local_e0; undefined **local_d8; undefined1 local_d0; undefined8 local_c8; undefined8 uStack_c0; undefined8 local_b8; undefined8 uStack_b0; undefined8 local_a8; undefined8 uStack_a0; undefined4 local_98; undefined8 local_90; undefined4 local_88; undefined1 local_84; undefined8 local_80; undefined4 local_78; ulonglong local_50; plVar14 = &local_3f8; plVar16 = (longlong *)local_4f8; local_3e0 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)local_4f8; pcVar18 = (char *)0x0; local_49c = 0x410; local_4a0 = 0xe10; local_3d8 = pace::eden::thrift::authorize::DynamicCryptoCloudKeyExchangeInput::vftable; local_3f8 = param_4; local_3f0 = param_3; local_3e8 = param_1; FUN_180575180(local_3d0); local_e0 = 0; local_d8 = pace::eden::thrift::fusion::DynamicCryptoKeyExchangeInput::vftable; local_d0 = 0; local_c8 = 0; uStack_c0 = 0; local_b8 = 0; uStack_b0 = 0; local_a8 = 0; uStack_a0 = 0; local_98 = 3; local_90 = 0; local_88 = 0; local_84 = 0; local_80 = 0; local_78 = 0; local_458 = pace::eden::thrift::authorize::DynamicCryptoCloudKeyExchangeReturn::vftable; local_450 = pace::eden::thrift::fusion::DynamicCryptoKeyExchangeOutput::vftable; local_448 = 0; uStack_440 = 0; local_438 = 0; uStack_430 = 0; local_428 = 0; uStack_420 = 0; local_418 = 0; local_410 = 0; local_408 = 4; local_404 = 0; pIVar20 = &IMAGE_DOS_HEADER_180000000; local_4c8 = &DAT_1826dc0fc; local_4d0 = &DAT_1826dc200; local_4d8 = 0; local_4c0 = 0x32b7521a5fa61899; local_4b0 = 0x5fa61899; if (*(longlong *)(param_1 + 0x48) == 0) { local_498[0] = (char *)FUN_1811316e0(0x18); if (local_498[0] != (char *)0x0) { FUN_1805a48c0(local_498[0], "dynamicCryptoCloudKeyExchange requires an encrypted channel setup with openLicenseDaemonEncryptedChannel or openQuickLicenseDaemonEncryptedChannel" ); } pcVar6 = (char *)FUN_1811316e0(0x18); if (pcVar6 != (char *)0x0) { local_498[0] = pcVar6; FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; pcVar18 = pcVar6; } local_4a8[0] = 0x2de8; local_498[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(pcVar18 + 8),local_498); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_4a8); } puVar23 = (undefined1 *)0x0; do { FUN_180697ba0(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); plVar8 = (longlong *)FUN_1805b9ea0(local_3d0,param_2); puVar3 = local_4c8; LAB_180697630: plVar19 = (longlong *)(puVar23 + (longlong)puVar3); if ((pIVar20 != (IMAGE_DOS_HEADER *)0x0) && (lVar12._0_1_ = pIVar20->e_magic[0], lVar12._1_1_ = pIVar20->e_magic[1], lVar12._2_2_ = pIVar20->e_cblp, lVar12._4_2_ = pIVar20->e_cp, lVar12._6_2_ = pIVar20->e_crlc, -1 < lVar12)) { *(undefined8 *)((longlong)plVar16 + 0x38) = 0x2621fc0; lVar21 = (longlong)&DAT_182621fc0 + -*(longlong *)((longlong)plVar16 + 0x38); pIVar13 = pIVar20; do { plVar8 = (longlong *)(-*(longlong *)((longlong)plVar16 + 0x38) + 0x182621fc8 + lVar12); if (plVar19 < plVar8) { pIVar20 = pIVar13; if (-1 < lVar12) { plVar10 = (longlong *)(lVar21 + lVar12); plVar17 = (longlong *)((longlong)plVar19 + 4); if (plVar10 < plVar17) { *(int *)(plVar14 + 0x73) = (int)*plVar19; in_R10 = lVar21 - (longlong)plVar19; goto LAB_1806976a4; } } break; } pIVar20 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; lVar12._0_2_ = pIVar13->e_cparhdr; lVar12._2_2_ = pIVar13->e_minalloc; lVar12._4_2_ = pIVar13->e_maxalloc; lVar12._6_2_ = pIVar13->e_ss; pIVar13 = pIVar20; } while (-1 < lVar12); } goto LAB_1806976cb; while (plVar10 = (longlong *)(lVar21 + lVar12), plVar10 < plVar17) { LAB_1806976a4: plVar8 = (longlong *)(in_R10 + lVar12); *(longlong *)((longlong)(plVar14 + 0x73) + (longlong)plVar8) = *plVar10 - lVar21; pIVar13 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; lVar12 = *(longlong *)pIVar13; plVar19 = plVar14 + 0x73; if (lVar12 < 0) break; } LAB_1806976cb: plVar17 = plVar14 + 0x7f; /* WARNING: Bad instruction - Truncating control flow here */ LAB_1806976e0: puVar1 = (uint *)((longlong)plVar16 + 0x20); uVar9 = 0x732c; plVar10 = plVar14; LAB_1806976fe: *(longlong **)((longlong)plVar16 + -8) = plVar17; plVar14 = (longlong *)((longlong)plVar16 + -8); code_r0x000180697720: /* WARNING: Bad instruction - Truncating control flow here */ if ((uVar9 & 0xc300) == 0) goto code_r0x000180697725; goto LAB_180697727; code_r0x000180697725: if (-1 < (char)(uVar9 >> 8)) goto code_r0x000180697720; LAB_180697727: if ((uVar9 & 0xc3) != 0) { uVar9 = uVar9 | *(uint *)((longlong)plVar8 + -0x77); if (uVar9 == 0) goto code_r0x00018069773c; uVar4 = in((short)plVar19); plVar8 = (longlong *)CONCAT71((int7)((ulonglong)plVar8 >> 8),uVar4); plVar16 = plVar14 + -1; plVar15 = plVar14 + -1; plVar14[-1] = (longlong)plVar10; cVar2 = '\x11'; do { plVar10 = plVar10 + -1; plVar16 = plVar16 + -1; *plVar16 = *plVar10; cVar2 = cVar2 + -1; } while ('\0' < cVar2); plVar14[-0x13] = (longlong)(plVar14 + -1); plVar14 = plVar14 + -0x117c; plVar10 = plVar15; goto code_r0x000180697720; } if ((uVar9 & 0xc3) == 0) { uVar5 = *puVar1 + (int)*plVar19; plVar8 = (longlong *)(ulonglong)uVar5; *puVar1 = uVar5; /* WARNING: Bad instruction - Truncating control flow here */ plVar17 = (longlong *)*plVar14; plVar16 = plVar14 + 1; if ((in_R10 == 0x104) || ((uVar9 & 0xc3) == 0)) { uVar9 = ((int)*plVar17 + 1) * (int)*plVar17 & 0x80000001; plVar8 = (longlong *)(ulonglong)uVar9; plVar14 = plVar10; if ((int)uVar9 < 0) { plVar8 = (longlong *)(ulonglong)((uVar9 - 1 | 0xfffffffe) + 1); } } else { *plVar14 = (longlong)plVar10; plVar16 = (longlong *)((longlong)plVar14 + -0xfffe); } if ((int)plVar8 != 0) goto LAB_1806976e0; uVar5 = (int)plVar16[4] * 0x401 ^ (uint)((int)plVar16[4] * 0x401) >> 6; *(uint *)(plVar16 + 4) = uVar5; uVar9 = uVar5 & 0x3ff; iVar11 = (uVar9 + 2) * (uVar9 + 1) * uVar9; uVar9 = (uint)puVar23 & 0x2ff; uVar9 = ((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e ^ (uVar9 - 1) * uVar9 - 1 & 1; plVar8 = (longlong *) ((ulonglong)(~((int)(-uVar9 | uVar9) >> 0x1f & 0xffffffdfU) & 0x4e37) - 0x1c); puVar23 = puVar23 + (longlong)plVar8; if (puVar23 == (undefined1 *)0x104) { lVar12 = *plVar14; uVar22 = (ulonglong)uVar5; *(uint *)(plVar16 + 8) = uVar5; plVar16[-1] = 0x104; plVar16[-2] = 0x18069786f; FUN_18069789c(); *(char *)plVar19 = (char)*plVar17; lVar21 = 0x104; if ((longlong)(-lVar12 ^ 0xffffffffffffffffU) < -1) { lVar21 = plVar16[-1]; plVar16[-1] = lVar21 + 0x1e5; uVar22 = lVar21 + 0x1ef69; } plVar16[-2] = uVar22; plVar16[-3] = lVar21 + 0x63bb; plVar16[-4] = ~((lVar21 - 0x376aaU ^ 0xffffffffffffffff) + 1) + 1; plVar16[-5] = lVar21 + 0x7d807; plVar16[-6] = lVar21 + -0x210f3; plVar16[-7] = lVar21 + -0x36ef9; plVar16[-8] = lVar21 + -0x6d24e; plVar16[-9] = lVar21 + -0x4a9e5; return; } goto LAB_180697630; } code_r0x00018069773c: plVar16 = (longlong *)((ulonglong)(plVar14 + -8) & 0xffffffff); plVar17 = plVar19; goto LAB_1806976fe; } ############ FUN_ 18069e810 size=673 ############ void FUN_18069e810(undefined8 param_1,char *param_2,int param_3,int param_4,int param_5, undefined8 *param_6) { char cVar1; longlong lVar2; undefined8 *puVar3; undefined8 uVar4; undefined8 *puVar5; char *pcVar6; char *local_res10 [2]; undefined4 local_res20 [2]; local_res10[0] = param_2; if (param_2 == (char *)0x0) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2,"Bad LsLicensePtr (0x%16X)"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066eb70(*(undefined8 *)(lVar2 + 8),local_res10); local_res20[0] = 0x2eb3; local_res10[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(puVar3[1],local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res20); } FUN_18066dbd0(param_6,1,param_6); puVar3 = (undefined8 *)*param_6; puVar5 = (undefined8 *)FUN_1808f6e20(param_2,local_res10); *puVar3 = *puVar5; if (*(longlong *)*param_6 == 0) { local_res10[0] = (char *)FUN_1811316e0(0x18); if (local_res10[0] == (char *)0x0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(local_res10[0],"Bad LsAuthorizationPtr (0x%16X)"); } pcVar6 = (char *)FUN_1811316e0(0x18); local_res10[0] = pcVar6; if (pcVar6 == (char *)0x0) { pcVar6 = (char *)0x0; } else { FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066eb70(*(undefined8 *)(lVar2 + 8),*param_6); local_res20[0] = 0x2ebe; local_res10[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res20); } uVar4 = *(undefined8 *)*param_6; lVar2 = FUN_180870eb0(uVar4); FUN_18080ca00(uVar4,*(undefined1 *)(lVar2 + 0x1f7),"publisherId"); lVar2 = FUN_180870eb0(uVar4); if (*(int *)(lVar2 + 0xb8) == param_4) { uVar4 = *(undefined8 *)*param_6; lVar2 = FUN_180870eb0(uVar4); FUN_18080ca00(uVar4,*(undefined1 *)(lVar2 + 0x1eb),"authId"); lVar2 = FUN_180870eb0(uVar4); if (*(int *)(lVar2 + 0x30) == param_3) { if (param_5 == 0) { return; } uVar4 = *(undefined8 *)*param_6; lVar2 = FUN_180870eb0(uVar4); FUN_18080ca00(uVar4,*(undefined1 *)(lVar2 + 0x1ec),"authInstance"); lVar2 = FUN_180870eb0(uVar4); if (*(int *)(lVar2 + 0x34) == param_5) { return; } } } cVar1 = FUN_18069faa0(param_1,param_3,param_4,param_5,1,param_6); if (cVar1 == '\0') { param_6[1] = *param_6; } return; } ############ FUN_ 18069faa0 size=1062 ############ char FUN_18069faa0(undefined8 param_1,int param_2,int param_3,int param_4,char *param_5, longlong *param_6) { longlong *plVar1; char cVar2; longlong lVar3; undefined8 *puVar4; undefined8 uVar5; longlong lVar6; ulonglong uVar7; ulonglong uVar8; ulonglong uVar9; char *local_78; char *local_70; undefined8 local_68; longlong local_60; undefined8 *local_58; undefined1 local_50 [8]; longlong local_48; undefined8 *local_40; plVar1 = param_6; lVar6 = (longlong)param_5; local_68 = 0xfffffffffffffffe; lVar3 = *(longlong *)(*param_6 + -8 + (longlong)param_5 * 8); param_6 = (longlong *)lVar3; if (lVar3 == 0) { param_5 = (char *)FUN_1811316e0(0x18); if (param_5 == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(param_5,"Bad LsAuthorizationPtr (0x%16X) - input parameter"); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); param_5 = (char *)puVar4; if (puVar4 == (undefined8 *)0x0) { puVar4 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066eb70(*(undefined8 *)(lVar3 + 8),¶m_6); param_6 = (longlong *)CONCAT44(param_6._4_4_,0x2f08); param_5 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar4[1],¶m_5); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,¶m_6); } cVar2 = FUN_1808e6a60(lVar3); if (cVar2 != '\0') { uVar9 = lVar6 + 1; if ((ulonglong)(plVar1[1] - *plVar1 >> 3) < uVar9) { FUN_18066dbd0(plVar1,uVar9,plVar1); } FUN_1808c5910(lVar3,¶m_5); if (param_5 == (char *)0x0) { param_6 = (longlong *)FUN_1811316e0(0x18); if (param_6 == (longlong *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(param_6,"Bad LsObjectRelationVectorAuthRelation (0x%16X)"); } lVar6 = FUN_1805c0260(); FUN_18066eb70(*(undefined8 *)(lVar3 + 8),¶m_5); param_6 = (longlong *)CONCAT44(param_6._4_4_,0x2f1d); local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar6 + 8),&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,¶m_6); } uVar7 = (*(longlong **)((longlong)param_5 + 8))[1] - **(longlong **)((longlong)param_5 + 8) >> 5 ; uVar8 = 0; if (uVar7 != 0) { do { FUN_18086f6f0(param_5,&local_78,uVar8); if (local_78 == (char *)0x0) { local_60 = FUN_1811316e0(0x18); if (local_60 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_60,"Bad LsAuthRelationPtr (0x%16X)"); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); local_58 = puVar4; if (puVar4 == (undefined8 *)0x0) { puVar4 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066eb70(*(undefined8 *)(lVar3 + 8),&local_78); param_6 = (longlong *)CONCAT44(param_6._4_4_,0x2f2a); local_70 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar4[1],&local_70); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,¶m_6); } lVar3 = *plVar1; puVar4 = (undefined8 *)FUN_18086c9d0(local_78,local_50); *(undefined8 *)(lVar3 + uVar9 * 8 + -8) = *puVar4; if (*(longlong *)(*plVar1 + -8 + uVar9 * 8) == 0) { local_48 = FUN_1811316e0(0x18); if (local_48 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_48, "Bad LsAuthorizationPtr (0x%16X) - child of an AuthRelation"); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); local_40 = puVar4; if (puVar4 == (undefined8 *)0x0) { puVar4 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066eb70(*(undefined8 *)(lVar3 + 8),*plVar1 + -8 + uVar9 * 8); param_6 = (longlong *)CONCAT44(param_6._4_4_,0x2f33); local_70 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar4[1],&local_70); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,¶m_6); } uVar5 = *(undefined8 *)*plVar1; lVar3 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar3 + 0x1f7),"publisherId"); lVar3 = FUN_180870eb0(uVar5); if (*(int *)(lVar3 + 0xb8) == param_3) { uVar5 = *(undefined8 *)*plVar1; lVar3 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar3 + 0x1eb),"authId"); lVar3 = FUN_180870eb0(uVar5); if (*(int *)(lVar3 + 0x30) == param_2) { uVar5 = *(undefined8 *)*plVar1; lVar3 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar3 + 0x1ec),"authInstance"); lVar3 = FUN_180870eb0(uVar5); if (*(int *)(lVar3 + 0x34) == param_4) { FUN_18066dbd0(plVar1,uVar9,plVar1); return '\x01'; } } } lVar3 = FUN_1805fcae0(); if ((uVar9 < (ulonglong)(longlong)*(int *)(lVar3 + 0x28)) && (cVar2 = FUN_18069faa0(param_1,param_2,param_3,param_4,uVar9,plVar1), cVar2 != '\0')) { return cVar2; } uVar8 = uVar8 + 1; } while (uVar8 < uVar7); } } return '\0'; } ############ FUN_ 18086c290 size=172 ############ undefined8 FUN_18086c290(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180ab8940(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorAuthorization:: RTTI_Type_Descriptor,1); uVar3 = FUN_180ac5780(lVar2,param_2,param_3,uVar3,param_4); } return uVar3; } ############ FUN_ 18086c220 size=97 ############ undefined8 * FUN_18086c220(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 18086f6f0 size=570 ############ undefined8 FUN_18086f6f0(longlong param_1,undefined8 param_2,ulonglong param_3) { undefined8 *puVar1; char cVar2; longlong lVar3; undefined8 uVar4; char *pcVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; char *local_res8 [2]; ulonglong local_res18; char *local_res20; undefined **local_60; undefined4 local_58; longlong local_50; undefined2 local_48; local_res18 = param_3; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] != (char *)0x0) { FUN_1805a48c0(local_res8[0],"LsObjectRelationVector<>::at: This one-to-one relation is empty." ); } lVar3 = FUN_1805c0260(); local_res8[0] = (char *)CONCAT44(local_res8[0]._4_4_,0x6e); local_res20 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorauthrelation.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res8); } if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5) <= param_3) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8[0], "LsObjectRelationVector<>::at: Index is out of range. This object relation vector contains %u entries and the supplied index value was %u" ); } pcVar5 = (char *)FUN_1811316e0(0x18); if (pcVar5 == (char *)0x0) { pcVar5 = (char *)0x0; } else { local_res8[0] = pcVar5; FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; } local_res8[0] = (char *)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0x70); local_res8[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorauthrelation.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar5 + 8),local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } lVar3 = **(longlong **)(param_1 + 8); if (param_3 < (ulonglong)((*(longlong **)(param_1 + 8))[1] - lVar3 >> 5)) { lVar7 = param_3 * 0x20; local_60 = license_services::LsRelation::vftable; local_58 = *(undefined4 *)(lVar7 + 8 + lVar3); local_50 = *(longlong *)(lVar7 + 0x10 + lVar3); local_48 = *(undefined2 *)(lVar7 + 0x18 + lVar3); cVar2 = FUN_18080b1c0(&local_60); if (cVar2 == '\0') { lVar3 = *(longlong *)(param_1 + 0x20); puVar1 = *(undefined8 **)(*(longlong *)(lVar3 + 8) + 0x20); cVar2 = *(char *)((longlong)puVar1[1] + 0x19); puVar9 = puVar1; puVar8 = (undefined8 *)puVar1[1]; while (cVar2 == '\0') { if ((longlong)puVar8[4] < local_50) { puVar6 = (undefined8 *)puVar8[2]; puVar8 = puVar9; } else { puVar6 = (undefined8 *)*puVar8; } puVar9 = puVar8; puVar8 = puVar6; cVar2 = *(char *)((longlong)puVar6 + 0x19); } if ((puVar9 == puVar1) || (local_50 < (longlong)puVar9[4])) { puVar9 = puVar1; } if (puVar9 == puVar1) { FUN_180ac2880(lVar3,*(undefined8 *)(param_1 + 8),0); } } else { lVar3 = *(longlong *)(param_1 + 0x20); } FUN_180ac2630(lVar3,param_2,&local_60,0); return param_2; } /* WARNING: Subroutine does not return */ FUN_1808077d0(); } ############ FUN_ 1808c5910 size=922 ############ /* WARNING: Instruction at (ram,0x0001808c5ca4) overlaps instruction at (ram,0x0001808c5ca1) */ /* WARNING: Removing unreachable block (ram,0x0001808c5d15) */ /* WARNING: Removing unreachable block (ram,0x0001808c59a0) */ /* WARNING: Removing unreachable block (ram,0x0001808c5cae) */ /* WARNING: Removing unreachable block (ram,0x0001808c5ca1) */ undefined8 FUN_1808c5910(longlong *param_1,undefined8 param_2) { longlong *plVar1; int *piVar2; longlong lVar3; longlong *plVar4; uint uVar5; undefined4 uVar6; longlong lVar7; longlong lVar8; undefined8 uVar9; longlong lVar10; int iVar11; int unaff_retaddr; undefined1 auStack_108 [32]; code *local_e8; longlong *local_e0; undefined1 local_d8; uint local_9c; uint local_98; longlong local_90; longlong local_88; longlong *local_80; undefined8 local_78; undefined8 local_70; longlong local_68; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_108; uVar5 = (uint)&stack0x00000000 & 0xdff; uVar5 = ((uVar5 + 1) * uVar5 + 7) % 0x51; local_98 = ((int)(-uVar5 | uVar5) >> 0x1f) * -0x431d ^ 0x432d; lVar10 = 0; if (((ulonglong)&stack0x00000000 & 0x3400) == 0) { uVar5 = (uint)&stack0x00000000 & 0x23f; iVar11 = (uVar5 + 2) * (uVar5 + 1) * uVar5; iVar11 = ((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e; } else { iVar11 = 0; } local_9c = iVar11 + 0x5acdU ^ 0x525d; local_78 = param_2; if (param_1[0xb] == 0) { lVar7 = param_1[3]; if (lVar7 == 0) { lVar7 = (**(code **)(*param_1 + 0x48))(param_1); } lVar3 = param_1[8]; lVar8 = FUN_1811316e0(0x38); local_90 = lVar8; if (lVar8 != 0) { uVar6 = FUN_180ac0da0(); uVar9 = FUN_180a3d1e0(lVar3,uVar6); local_e8 = (code *)CONCAT44(local_e8._4_4_,1); __RTDynamicCast(uVar9,0,&license_services::LsCachedObjectVectorBase::RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorAuthRelation::RTTI_Type_Descriptor); local_d8 = 1; local_e8 = FUN_1808ec7b0; local_e0 = param_1; lVar10 = FUN_18086d7d0(lVar8,param_1,lVar7 + 0x128); } local_88 = lVar10; FUN_1808bea80(&local_80,lVar10); FUN_1805ae620(&local_88,lVar10,lVar10); local_68 = local_88; lVar10 = param_1[0xb]; param_1[0xb] = local_88; plVar4 = (longlong *)param_1[0xc]; param_1[0xc] = (longlong)local_80; local_88 = lVar10; local_80 = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar10 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar10 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar11 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar11 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } lVar10 = param_1[3]; if (lVar10 == 0) { lVar10 = (**(code **)(*param_1 + 0x48))(param_1); } lVar7 = param_1[3]; if (lVar7 == 0) { lVar7 = (**(code **)(*param_1 + 0x48))(param_1); } local_90 = param_1[0xb]; if (lVar10 != DAT_182667a58) { FUN_180a3b7d0(local_90,lVar7 + 0x128); DAT_182667a58 = lVar10; } do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); return 0x9ae1b7d9cf2f3fb6; } ############ FUN_ 1808bea80 size=97 ############ undefined8 * FUN_1808bea80(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a3dd40 size=151 ############ void FUN_180a3dd40(undefined8 param_1,undefined8 param_2,undefined4 param_3) { longlong lVar1; undefined8 *puVar2; undefined8 local_res10; undefined4 local_res18 [2]; undefined8 *local_res20; local_res10 = param_2; local_res18[0] = param_3; local_res20 = (undefined8 *)FUN_1811316e0(0x18); if (local_res20 == (undefined8 *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res20, "Query is disallowed in minimized liblicenseservices. Error detected in file %s at line %d." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res20 = puVar2; if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar1 + 8),local_res18); } ############ FUN_ 180a3df30 size=141 ############ void FUN_180a3df30(undefined8 param_1,undefined4 param_2,undefined4 param_3,undefined8 param_4) { longlong lVar1; undefined8 *puVar2; undefined4 local_res10 [2]; undefined4 local_res18; undefined8 local_res20; local_res10[0] = param_2; local_res18 = param_3; local_res20 = param_4; lVar1 = FUN_1811316e0(0x18); if (lVar1 == 0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(lVar1, "Wrong type of LsRelation ws provided to LsCachedObjectVector<>::get(). We expected a LsRelation with Entity ID value: %ld, but saw: %ld and instanceId: %ld. Error detected in file %s at line %d." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar1 + 8),local_res10); } ############ FUN_ 18069ff20 size=958 ############ char FUN_18069ff20(undefined8 param_1,undefined8 *param_2,longlong param_3,longlong *param_4) { ulonglong uVar1; ulonglong uVar2; char cVar3; int iVar4; longlong lVar5; char *pcVar6; undefined8 uVar7; longlong lVar8; undefined8 *puVar9; undefined8 *puVar10; undefined8 *_Buf1; ulonglong _Size; ulonglong uVar11; ulonglong uVar12; ulonglong uVar13; longlong local_res18; char *local_res20; char *local_78; char *local_70; undefined8 local_68; longlong local_60; undefined8 *local_58; undefined1 local_50 [8]; longlong local_48; undefined8 *local_40; local_68 = 0xfffffffffffffffe; lVar5 = *(longlong *)(*param_4 + -8 + param_3 * 8); local_res18 = lVar5; if (lVar5 == 0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_res20,"Bad LsAuthorizationPtr (0x%16X) - input parameter"); } pcVar6 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar6; if (pcVar6 == (char *)0x0) { pcVar6 = (char *)0x0; } else { FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066eb70(*(undefined8 *)(lVar5 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0x2f63); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,&local_res18); } cVar3 = FUN_1808e6a60(lVar5); if (cVar3 != '\0') { uVar11 = param_3 + 1; if ((ulonglong)(param_4[1] - *param_4 >> 3) < uVar11) { FUN_18066dbd0(param_4,uVar11,param_4); } FUN_1808c5910(lVar5,&local_res20); if (local_res20 == (char *)0x0) { local_res18 = FUN_1811316e0(0x18); if (local_res18 == 0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_res18,"Bad LsObjectRelationVectorAuthRelation (0x%16X)"); } lVar8 = FUN_1805c0260(); FUN_18066eb70(*(undefined8 *)(lVar5 + 8),&local_res20); local_res18 = CONCAT44(local_res18._4_4_,0x2f78); local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,&local_res18); } uVar12 = (*(longlong **)(local_res20 + 8))[1] - **(longlong **)(local_res20 + 8) >> 5; uVar13 = 0; if (uVar12 != 0) { do { FUN_18086f6f0(local_res20,&local_78,uVar13); if (local_78 == (char *)0x0) { local_60 = FUN_1811316e0(0x18); if (local_60 == 0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_60,"Bad LsAuthRelationPtr (0x%16X)"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_58 = puVar9; if (puVar9 == (undefined8 *)0x0) { puVar9 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066eb70(*(undefined8 *)(lVar5 + 8),&local_78); local_res18 = CONCAT44(local_res18._4_4_,0x2f85); local_70 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(puVar9[1],&local_70); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,&local_res18); } lVar5 = *param_4; puVar9 = (undefined8 *)FUN_18086c9d0(local_78,local_50); *(undefined8 *)(lVar5 + uVar11 * 8 + -8) = *puVar9; if (*(longlong *)(*param_4 + -8 + uVar11 * 8) == 0) { local_48 = FUN_1811316e0(0x18); if (local_48 == 0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_48, "Bad LsAuthorizationPtr (0x%16X) - child of an AuthRelation"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_40 = puVar9; if (puVar9 == (undefined8 *)0x0) { puVar9 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; } FUN_18066eb70(*(undefined8 *)(lVar5 + 8),*param_4 + -8 + uVar11 * 8); local_res18 = CONCAT44(local_res18._4_4_,0x2f8e); local_70 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(puVar9[1],&local_70); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,&local_res18); } puVar10 = (undefined8 *)(**(code **)(**(longlong **)(*param_4 + -8 + uVar11 * 8) + 0x40))(); puVar9 = puVar10; if (0xf < (ulonglong)puVar10[3]) { puVar9 = (undefined8 *)*puVar10; } _Buf1 = param_2; if (0xf < (ulonglong)param_2[3]) { _Buf1 = (undefined8 *)*param_2; } uVar1 = puVar10[2]; uVar2 = param_2[2]; _Size = uVar2; if (uVar1 < uVar2) { _Size = uVar1; } iVar4 = memcmp(_Buf1,puVar9,_Size); if (((iVar4 == 0) && (uVar1 <= uVar2)) && (uVar2 <= uVar1)) { FUN_18066dbd0(param_4,uVar11,param_4); return '\x01'; } lVar5 = FUN_1805fcae0(); if ((uVar11 < (ulonglong)(longlong)*(int *)(lVar5 + 0x28)) && (cVar3 = FUN_18069ff20(param_1,param_2,uVar11,param_4), cVar3 != '\0')) { return cVar3; } uVar13 = uVar13 + 1; } while (uVar13 < uVar12); } } return '\0'; } ############ FUN_ 1806add50 size=605 ############ void FUN_1806add50(char *param_1,char *param_2,longlong param_3) { int *piVar1; undefined1 uVar2; longlong lVar3; undefined8 *puVar4; undefined8 uVar5; longlong lVar6; longlong lVar7; longlong lVar8; char *local_res8; char *local_res10; char *local_res18 [2]; local_res18[0] = (char *)((*(longlong *)(param_3 + 0x40) - *(longlong *)(param_3 + 0x38)) / 0x58); local_res8 = param_1; local_res10 = param_2; if (((((char *)0x1 < local_res18[0]) && (param_1 < local_res18[0])) && (param_2 < local_res18[0])) && (param_1 != param_2)) { lVar6 = (longlong)param_1 * 0x58; lVar3 = *(longlong *)(param_3 + 0x38); lVar7 = (longlong)param_2 * 0x58; local_res8._0_1_ = SUB81(param_1,0); uVar2 = local_res8._0_1_; FUN_1805d5a60(lVar3 + lVar6 + 0x28,*(undefined8 *)(lVar3 + lVar6 + 0x30), *(undefined8 *)(lVar7 + 0x28 + lVar3),*(undefined8 *)(lVar7 + 0x30 + lVar3),uVar2) ; piVar1 = (int *)(*(longlong *)(param_3 + 0x38) + lVar6 + 0x44); *piVar1 = *piVar1 + *(int *)(lVar7 + 0x44 + *(longlong *)(param_3 + 0x38)); lVar3 = *(longlong *)(param_3 + 0x38) + lVar6; lVar8 = lVar7 + *(longlong *)(param_3 + 0x38); if (((*(int *)(lVar3 + 0x40) != *(int *)(lVar8 + 0x40)) || (*(char *)(lVar3 + 0x48) != *(char *)(lVar8 + 0x48))) || ((*(char *)(lVar3 + 0x49) != *(char *)(lVar8 + 0x49) || ((*(char *)(lVar3 + 0x4a) != *(char *)(lVar8 + 0x4a) || (*(char *)(lVar3 + 0x4b) != *(char *)(lVar8 + 0x4b))))))) { *(undefined4 *)(lVar3 + 0x40) = 5; *(undefined1 *)(lVar6 + 0x4b + *(longlong *)(param_3 + 0x38)) = 0; } lVar3 = *(longlong *)(param_3 + 0x40); lVar8 = lVar7 + 0x58 + *(longlong *)(param_3 + 0x38); if (lVar8 != lVar3) { lVar6 = lVar8 + -0x48; do { *(undefined4 *)(lVar6 + -8) = *(undefined4 *)(lVar6 + 0x50); FUN_1805b9910(lVar6,lVar6 + 0x58); FUN_1805b9910(lVar6 + 0x18,lVar6 + 0x70); *(undefined4 *)(lVar6 + 0x30) = *(undefined4 *)(lVar6 + 0x88); *(undefined4 *)(lVar6 + 0x34) = *(undefined4 *)(lVar6 + 0x8c); *(undefined1 *)(lVar6 + 0x38) = *(undefined1 *)(lVar6 + 0x90); *(undefined1 *)(lVar6 + 0x39) = *(undefined1 *)(lVar6 + 0x91); *(undefined1 *)(lVar6 + 0x3a) = *(undefined1 *)(lVar6 + 0x92); *(undefined1 *)(lVar6 + 0x3b) = *(undefined1 *)(lVar6 + 0x93); *(undefined8 *)(lVar6 + 0x3c) = *(undefined8 *)(lVar6 + 0x94); *(undefined1 *)(lVar6 + 0x44) = *(undefined1 *)(lVar6 + 0x9c); lVar8 = lVar8 + 0x58; lVar6 = lVar6 + 0x58; } while (lVar8 != lVar3); } puVar4 = (undefined8 *)(*(longlong *)(param_3 + 0x40) + -0x58); (**(code **)*puVar4)(puVar4,0); *(longlong *)(param_3 + 0x40) = *(longlong *)(param_3 + 0x40) + -0x58; return; } lVar3 = FUN_1811316e0(0x18); if (lVar3 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(lVar3, "mergeDevDataRecords bad params: numberOfRecords = %d, inFirstRecordIndex = %d, inSecondRecordIndex = %d" ); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); if (puVar4 == (undefined8 *)0x0) { puVar4 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805b2520(*(undefined8 *)(lVar3 + 8),local_res18); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res10); local_res8 = (char *)CONCAT44(local_res8._4_4_,0x31f4); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar4[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } ############ FUN_ 1806adfc0 size=791 ############ void FUN_1806adfc0(char *param_1,char *param_2,longlong param_3) { int *piVar1; undefined1 uVar2; longlong lVar3; undefined8 *puVar4; undefined8 uVar5; longlong lVar6; longlong lVar7; longlong lVar8; char *local_res8; char *local_res10; char *local_res18 [2]; local_res18[0] = (char *)((*(longlong *)(param_3 + 0x58) - *(longlong *)(param_3 + 0x50)) / 0x88); local_res8 = param_1; local_res10 = param_2; if (((((char *)0x1 < local_res18[0]) && (param_1 < local_res18[0])) && (param_2 < local_res18[0])) && (param_1 != param_2)) { lVar6 = (longlong)param_1 * 0x88; lVar3 = *(longlong *)(param_3 + 0x50); lVar7 = (longlong)param_2 * 0x88; local_res8._0_1_ = SUB81(param_1,0); uVar2 = local_res8._0_1_; FUN_1805d5a60(lVar3 + lVar6 + 0x28,*(undefined8 *)(lVar3 + lVar6 + 0x30), *(undefined8 *)(lVar7 + 0x28 + lVar3),*(undefined8 *)(lVar7 + 0x30 + lVar3),uVar2) ; lVar3 = *(longlong *)(param_3 + 0x50); FUN_1805d5a60(lVar3 + lVar6 + 0x40,*(undefined8 *)(lVar3 + lVar6 + 0x48), *(undefined8 *)(lVar7 + 0x40 + lVar3),*(undefined8 *)(lVar7 + 0x48 + lVar3), local_res8._0_1_); piVar1 = (int *)(*(longlong *)(param_3 + 0x50) + lVar6 + 0x5c); *piVar1 = *piVar1 + *(int *)(lVar7 + 0x5c + *(longlong *)(param_3 + 0x50)); lVar3 = *(longlong *)(param_3 + 0x50) + lVar6; lVar8 = lVar7 + *(longlong *)(param_3 + 0x50); if (((((*(int *)(lVar3 + 0x60) != *(int *)(lVar8 + 0x60)) || (*(int *)(lVar3 + 100) != *(int *)(lVar8 + 100))) || ((*(int *)(lVar3 + 0x58) != *(int *)(lVar8 + 0x58) || ((*(char *)(lVar3 + 0x70) != *(char *)(lVar8 + 0x70) || (*(char *)(lVar3 + 0x71) != *(char *)(lVar8 + 0x71))))))) || (*(char *)(lVar3 + 0x72) != *(char *)(lVar8 + 0x72))) || ((*(char *)(lVar3 + 0x73) != *(char *)(lVar8 + 0x73) || (*(char *)(lVar3 + 0x74) != *(char *)(lVar8 + 0x74))))) { *(undefined4 *)(lVar3 + 0x58) = 5; *(undefined1 *)(lVar6 + 0x74 + *(longlong *)(param_3 + 0x50)) = 0; } lVar3 = *(longlong *)(param_3 + 0x58); lVar8 = lVar7 + 0x88 + *(longlong *)(param_3 + 0x50); if (lVar8 != lVar3) { lVar6 = lVar8 + -0x78; do { *(undefined4 *)(lVar6 + -8) = *(undefined4 *)(lVar6 + 0x80); FUN_1805b9910(lVar6,lVar6 + 0x88); FUN_1805b9910(lVar6 + 0x18,lVar6 + 0xa0); FUN_1805b9910(lVar6 + 0x30,lVar6 + 0xb8); *(undefined4 *)(lVar6 + 0x48) = *(undefined4 *)(lVar6 + 0xd0); *(undefined4 *)(lVar6 + 0x4c) = *(undefined4 *)(lVar6 + 0xd4); *(undefined4 *)(lVar6 + 0x50) = *(undefined4 *)(lVar6 + 0xd8); *(undefined4 *)(lVar6 + 0x54) = *(undefined4 *)(lVar6 + 0xdc); *(undefined4 *)(lVar6 + 0x58) = *(undefined4 *)(lVar6 + 0xe0); *(undefined4 *)(lVar6 + 0x5c) = *(undefined4 *)(lVar6 + 0xe4); *(undefined1 *)(lVar6 + 0x60) = *(undefined1 *)(lVar6 + 0xe8); *(undefined1 *)(lVar6 + 0x61) = *(undefined1 *)(lVar6 + 0xe9); *(undefined1 *)(lVar6 + 0x62) = *(undefined1 *)(lVar6 + 0xea); *(undefined1 *)(lVar6 + 99) = *(undefined1 *)(lVar6 + 0xeb); *(undefined1 *)(lVar6 + 100) = *(undefined1 *)(lVar6 + 0xec); *(undefined8 *)(lVar6 + 0x65) = *(undefined8 *)(lVar6 + 0xed); *(undefined4 *)(lVar6 + 0x6d) = *(undefined4 *)(lVar6 + 0xf5); *(undefined2 *)(lVar6 + 0x71) = *(undefined2 *)(lVar6 + 0xf9); *(undefined1 *)(lVar6 + 0x73) = *(undefined1 *)(lVar6 + 0xfb); lVar8 = lVar8 + 0x88; lVar6 = lVar6 + 0x88; } while (lVar8 != lVar3); } puVar4 = (undefined8 *)(*(longlong *)(param_3 + 0x58) + -0x88); (**(code **)*puVar4)(puVar4,0); *(longlong *)(param_3 + 0x58) = *(longlong *)(param_3 + 0x58) + -0x88; return; } lVar3 = FUN_1811316e0(0x18); if (lVar3 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(lVar3, "mergeSecretDataRecords bad params: numberOfRecords = %d, inFirstRecordIndex = %d, inSecondRecordIndex = %d" ); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); if (puVar4 == (undefined8 *)0x0) { puVar4 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805b2520(*(undefined8 *)(lVar3 + 8),local_res18); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res10); local_res8 = (char *)CONCAT44(local_res8._4_4_,0x3226); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar4[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } ############ FUN_ 1806b1af0 size=4913 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806b1af0(longlong param_1,byte *param_2,longlong *param_3,longlong param_4, ulonglong param_5,char *param_6,undefined8 param_7,char param_8,char param_9, char param_10,undefined1 param_11,undefined1 param_12,char param_13,char param_14, char *param_15,undefined4 param_16) { int iVar1; longlong lVar2; undefined8 *puVar3; undefined8 uVar4; longlong lVar5; char *pcVar6; undefined **ppuVar7; longlong lVar8; longlong lVar9; longlong *plVar10; char *pcVar11; undefined2 *puVar12; undefined2 *puVar13; undefined4 *puVar14; undefined1 uVar15; char cVar16; ushort uVar17; undefined8 *puVar18; void *pvVar19; undefined4 uVar20; char *pcVar21; char cVar22; undefined8 unaff_R14; ulonglong uVar23; undefined1 auStack_2a8 [32]; undefined8 local_288; undefined1 local_280; char local_278; undefined4 local_270; char local_268; undefined1 local_267; char local_266; char local_265; char local_264; char local_263; char local_260; char local_258; char local_250; undefined1 local_248; undefined1 local_240; undefined1 local_238; char local_230; uint local_22c; undefined1 local_228; undefined4 local_220 [2]; undefined4 local_218; uint local_210; ulonglong local_208; char *local_200; uint local_1f8; longlong local_1f0; longlong local_1e8; char *local_1e0; byte *local_1d8; undefined4 local_1d0 [2]; undefined8 local_1c8; char *local_1c0; undefined1 local_1b8 [4]; undefined1 local_1b4 [3]; undefined1 local_1b1; undefined8 *local_1b0; char *local_1a8; undefined1 local_1a0 [8]; longlong local_198; longlong local_190; longlong local_188; longlong local_180; longlong local_178; char *local_170; undefined1 local_168 [8]; longlong local_160; byte *local_158; longlong *local_150; ulonglong local_148; undefined8 local_140; longlong local_138; longlong local_130; undefined1 local_128 [8]; undefined1 local_120 [8]; undefined **local_118 [2]; void *local_108; longlong local_f8; undefined1 local_68 [32]; undefined8 local_48; ulonglong local_40; local_140 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_2a8; local_208 = param_5; local_148 = param_5; local_1e0 = param_6; local_1c8 = param_7; local_260 = param_8; local_258 = param_9; local_250 = param_10; local_240 = param_11; local_238 = param_12; local_218 = param_16; local_268 = '\x01'; local_265 = '\0'; uVar23 = CONCAT71((int7)((ulonglong)unaff_R14 >> 8),1); local_22c = (uint)uVar23; local_267 = 1; local_266 = '\0'; local_263 = '\0'; local_210 = (uint)param_6 & 0xffffff00; local_248 = 0; local_1f8 = (uint)param_2 & 0xffffff00; local_228 = 0; local_230 = '\0'; local_1d8 = param_2; local_160 = param_1; local_158 = param_2; local_150 = param_3; if ((*param_2 & 7) == 0) { local_1b0 = (undefined8 *)FUN_1811316e0(0x18); if (local_1b0 == (undefined8 *)0x0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(local_1b0, "A iLok2 auth (p:0x%08X, a:0x%08X, i:0x%08X) has an invalid record type (0x%02X)" ); } puVar18 = (undefined8 *)0x0; puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_1b0 = puVar3; if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; puVar18 = puVar3; } FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2 + 4); FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2 + 8); FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2 + 0xc); FUN_18066ea00(*(undefined8 *)(lVar2 + 8),param_2); local_1d0[0] = 0x1c85; local_1c0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(puVar18[1],&local_1c0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_1d0); } pcVar6 = (char *)0x0; if (param_5 < (ulonglong)((*(longlong *)(param_1 + 0x10) - *(longlong *)(param_1 + 8)) / 0x438)) { lVar5 = param_5 * 0x438; lVar2 = *(longlong *)(param_1 + 8); if ((*(int *)(lVar2 + 8 + lVar5) != *(int *)(param_2 + 8)) || (*(int *)(lVar5 + 0xc + lVar2) != *(int *)(param_2 + 4))) { puVar18 = (undefined8 *)(lVar2 + 0x210 + lVar5); puVar18[2] = 0; if (0xf < (ulonglong)puVar18[3]) { puVar18 = (undefined8 *)*puVar18; } *(undefined1 *)puVar18 = 0; puVar18 = (undefined8 *)(*(longlong *)(param_1 + 8) + 0x230 + lVar5); puVar18[2] = 0; if (0xf < (ulonglong)puVar18[3]) { puVar18 = (undefined8 *)*puVar18; } *(undefined1 *)puVar18 = 0; puVar18 = (undefined8 *)(*(longlong *)(param_1 + 8) + 0x250 + lVar5); puVar18[2] = 0; if (0xf < (ulonglong)puVar18[3]) { puVar18 = (undefined8 *)*puVar18; } *(undefined1 *)puVar18 = 0; puVar18 = (undefined8 *)(*(longlong *)(param_1 + 8) + 0x270 + lVar5); puVar18[2] = 0; if (0xf < (ulonglong)puVar18[3]) { puVar18 = (undefined8 *)*puVar18; } *(undefined1 *)puVar18 = 0; puVar18 = (undefined8 *)(*(longlong *)(param_1 + 8) + 0x290 + lVar5); puVar18[2] = 0; if (0xf < (ulonglong)puVar18[3]) { puVar18 = (undefined8 *)*puVar18; } *(undefined1 *)puVar18 = 0; puVar18 = (undefined8 *)(*(longlong *)(param_1 + 8) + 0x2b0 + lVar5); puVar18[2] = 0; if (0xf < (ulonglong)puVar18[3]) { puVar18 = (undefined8 *)*puVar18; } *(undefined1 *)puVar18 = 0; puVar18 = (undefined8 *)(*(longlong *)(param_1 + 8) + 0x2d0 + lVar5); puVar18[2] = 0; if (0xf < (ulonglong)puVar18[3]) { puVar18 = (undefined8 *)*puVar18; } *(undefined1 *)puVar18 = 0; if (*(int *)(*(longlong *)(param_1 + 8) + 0x10 + lVar5) != *(int *)(param_2 + 0xc)) { *(undefined1 *)(*(longlong *)(param_1 + 8) + 0x42f + lVar5) = 0; } } } else { FUN_1805b10b0(param_1 + 8,param_5 + 1,param_1 + 8); } lVar2 = param_5 * 0x438 + *(longlong *)(param_1 + 8); *(undefined4 *)(lVar2 + 8) = *(undefined4 *)(param_2 + 8); *(undefined4 *)(lVar2 + 0xc) = *(undefined4 *)(param_2 + 4); *(undefined4 *)(lVar2 + 0x10) = *(undefined4 *)(param_2 + 0xc); *(undefined4 *)(lVar2 + 0x14) = *(undefined4 *)(param_2 + 0x10); uVar17 = *(ushort *)(param_2 + 2) & 0xc0; if ((*(ushort *)(param_2 + 2) & 0xc0) == 0) { *(undefined8 *)(lVar2 + 0x30) = 1; } else if (uVar17 == 0x40) { *(undefined8 *)(lVar2 + 0x30) = 2; } else if (uVar17 == 0x80) { *(undefined8 *)(lVar2 + 0x30) = 4; } else if (uVar17 == 0xc0) { *(undefined8 *)(lVar2 + 0x30) = 8; } local_264 = '\0'; local_1b0 = (undefined8 *)lVar2; switch(param_2[1]) { case 1: *(undefined8 *)(lVar2 + 0x38) = 1; break; case 2: *(undefined8 *)(lVar2 + 0x38) = 2; break; case 3: *(undefined8 *)(lVar2 + 0x38) = 4; break; case 4: *(undefined8 *)(lVar2 + 0x38) = 8; break; case 5: *(undefined8 *)(lVar2 + 0x38) = 0x10; break; case 6: *(undefined8 *)(lVar2 + 0x38) = 0x20; break; case 7: *(undefined8 *)(lVar2 + 0x38) = 0x40; break; case 8: *(undefined8 *)(lVar2 + 0x38) = 0x80; local_264 = '\x01'; break; case 9: *(undefined8 *)(lVar2 + 0x38) = 0x100; break; case 10: *(undefined8 *)(lVar2 + 0x38) = 0x200; break; case 0xb: *(undefined8 *)(lVar2 + 0x38) = 0x400; break; case 0xc: *(undefined8 *)(lVar2 + 0x38) = 0x800; break; case 0xd: *(undefined8 *)(lVar2 + 0x38) = 0x1000; break; case 0xe: *(undefined8 *)(lVar2 + 0x38) = 0x2000; local_264 = '\x01'; break; default: lVar5 = FUN_1805fcae0(); *(undefined8 *)(lVar2 + 0x38) = *(undefined8 *)(lVar5 + 0x38); } FUN_1805b1330(lVar2 + 0x18,4,lVar2 + 0x18); FUN_180621500(*(undefined4 *)(param_2 + 0x1c),*(undefined8 *)(lVar2 + 0x18)); *(bool *)(lVar2 + 0x58) = (*(ushort *)(param_2 + 2) & 0x420) != 0; *(undefined2 *)(lVar2 + 0x425) = 0; *(undefined1 *)(lVar2 + 0x59) = 0; *(undefined8 *)(lVar2 + 0x48) = 0; local_1c0 = (char *)(param_3[1] - *param_3 >> 5); local_1a8 = pcVar6; LAB_1806b1ff7: do { cVar16 = local_260; cVar22 = (char)uVar23; if (local_1c0 <= local_1a8) break; lVar5 = (longlong)local_1a8 * 0x20; pcVar11 = (char *)(*param_3 + lVar5); if (*(int *)(pcVar11 + 4) == -0x80000000) { cVar22 = *pcVar11; if (((cVar22 != -0x7f) || ((*(ushort *)(local_1d8 + 2) & 0x2000) == 0)) || (*(char *)(lVar2 + 0x58) == '\0')) { if (((cVar22 != -0x7e) || ((*(ushort *)(local_1d8 + 2) & 0x4000) == 0)) || (*(char *)(lVar2 + 0x58) == '\0')) { if ((cVar22 == -0x70) && ((*(ushort *)(local_1d8 + 2) & 0x400) != 0)) { if ((param_13 != '\0') && (*(longlong *)(lVar2 + 0x48) == 0)) { FUN_1806b78e0(pcVar11[0xf],lVar2); } uVar20 = local_218; if ((((local_1d8[2] & 0x38) == 0x38) && (local_263 == '\0')) && (*(char *)(lVar2 + 0x58) != '\0')) { lVar8 = *param_3; if ((*(byte *)(lVar8 + 0xf + lVar5) & 2) != 0) { local_266 = '\x01'; local_288 = CONCAT44(local_288._4_4_,local_218); uVar4 = FUN_18068c000(local_118,lVar5 + 8 + lVar8,local_1c8, *(undefined4 *)(lVar8 + 0x1c + lVar5)); FUN_1805ba930(lVar2 + 0x60,uVar4); FUN_1805b9270(local_118); *(undefined1 *)(lVar2 + 0x425) = 1; if (*(char *)(lVar2 + 0xfb) == '\0') { local_268 = '\0'; local_22c = (uint)uVar23 & 0xff; if (*(longlong *)(lVar2 + 200) == 0) { local_22c = 0; } local_267 = (undefined1)local_22c; uVar20 = local_218; } } cVar16 = local_258; if ((*(byte *)(*param_3 + 0xf + lVar5) & 1) != 0) { local_266 = '\x01'; local_48 = *(undefined8 *)(*param_3 + 8 + lVar5); if ((local_258 != '\0') && (local_250 == '\0')) { iVar1 = FUN_18061f8c0(&local_48); FUN_180621500(iVar1 + -1,&local_48); } local_288 = CONCAT44(local_288._4_4_,uVar20); uVar4 = FUN_180687540(local_118,&local_48,cVar16, *(undefined4 *)(lVar5 + 0x1c + *param_3)); FUN_1805ba400(lVar2 + 0x108,uVar4); local_118[0] = pace::eden::thrift::pub::CountLimitRecord::vftable; if (local_108 != (void *)0x0) { pvVar19 = local_108; if ((0xfff < (ulonglong)(local_f8 - (longlong)local_108)) && (pvVar19 = *(void **)((longlong)local_108 + -8), 0x1f < (ulonglong)((longlong)local_108 + (-8 - (longlong)pvVar19)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar19); } *(undefined1 *)(lVar2 + 0x426) = 1; if (*(char *)(lVar2 + 0x152) == '\0') { local_268 = '\0'; local_22c = 0x81bb1b00; local_267 = 0; } } *(undefined1 *)(lVar2 + 0x59) = 1; local_1a8 = local_1a8 + 1; uVar23 = (ulonglong)local_22c; goto LAB_1806b1ff7; } } LAB_1806b2b44: local_1a8 = local_1a8 + 1; uVar23 = (ulonglong)local_22c; goto LAB_1806b1ff7; } if (local_266 != '\0') { local_268 = '\x01'; local_22c = 1; local_267 = 1; local_266 = '\0'; *(undefined1 *)(lVar2 + 0x425) = 0; *(undefined1 *)(lVar2 + 0x59) = 0; } local_263 = '\x01'; local_270 = local_218; local_278 = local_260; local_280 = local_238; local_288 = CONCAT71(local_288._1_7_,local_240); uVar4 = FUN_180687800(local_118,*param_3 + lVar5,local_258,local_250); FUN_1805ba400(lVar2 + 0x108,uVar4); ppuVar7 = pace::eden::thrift::pub::CountLimitRecord::vftable; local_118[0] = pace::eden::thrift::pub::CountLimitRecord::vftable; if (local_108 != (void *)0x0) { pvVar19 = local_108; if ((0xfff < (ulonglong)(local_f8 - (longlong)local_108)) && (pvVar19 = *(void **)((longlong)local_108 + -8), 0x1f < (ulonglong)((longlong)local_108 + (-8 - (longlong)pvVar19)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar19); } if ((*(char *)(lVar2 + 0x130) != '\0') && (ppuVar7 = (undefined **)*param_3, (*(byte *)((longlong)ppuVar7 + lVar5 + 2) & 0x11) == 0 )) { if (cVar16 != '\0') { local_130 = FUN_1811316e0(0x18); if (local_130 != 0) { pcVar6 = (char *)FUN_1805a48c0(local_130, "The auth count limit does not have both the ILok2EnforcesExpiration bit and AutoAdvanceForCryptoCommands bit set! Flags: %d" ); } lVar2 = FUN_1805c0260(); FUN_18063bb40(*(undefined8 *)(pcVar6 + 8),*param_3 + 2 + lVar5); local_220[0] = 0x1d8d; local_200 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar2 + 8),&local_200); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_220); } *(undefined1 *)(lVar2 + 0x152) = 0; } *(undefined1 *)(lVar2 + 0x426) = 1; if (*(char *)(lVar2 + 0x152) == '\0') { local_22c = (uint)ppuVar7 & 0xffffff00; local_268 = '\0'; local_267 = 0; } if ((*(char *)(lVar2 + 0x130) == '\0') && ((*(char *)(lVar2 + 0x140) == '\0' || (*(char *)(lVar2 + 0x151) != '\0')))) { *(undefined1 *)(lVar2 + 0x59) = 0; local_1a8 = local_1a8 + 1; uVar23 = (ulonglong)local_22c; } else { *(undefined1 *)(lVar2 + 0x59) = 1; local_1a8 = local_1a8 + 1; uVar23 = (ulonglong)local_22c; } goto LAB_1806b1ff7; } if (local_266 != '\0') { local_268 = '\x01'; local_22c = 1; local_267 = 1; local_266 = '\0'; *(undefined1 *)(lVar2 + 0x426) = 0; *(undefined1 *)(lVar2 + 0x59) = 0; } local_263 = '\x01'; local_288 = CONCAT44(local_288._4_4_,local_218); uVar4 = FUN_18068c5a0(local_118,*param_3 + lVar5,local_1c8,local_260); FUN_1805ba930(lVar2 + 0x60,uVar4); FUN_1805b9270(local_118); if (local_264 != '\0') { *(uint *)(lVar2 + 0xf0) = (uint)*(byte *)(*param_3 + 1 + lVar5); *(undefined1 *)(lVar2 + 0x102) = 1; *(uint *)(lVar2 + 0xf4) = (uint)*(byte *)(*param_3 + 3 + lVar5); *(undefined1 *)(lVar2 + 0x103) = 1; FUN_1806873c0(lVar2 + 0x60,local_1c8); } lVar8 = *param_3; if ((*(byte *)(lVar8 + 2 + lVar5) & 1) == 0) { if (cVar16 != '\0') { local_138 = FUN_1811316e0(0x18); if (local_138 != 0) { pcVar6 = (char *)FUN_1805a48c0(local_138, "The auth time limit does not have the ILok2EnforcesExpiration bit set! Flags: %d" ); } lVar2 = FUN_1805c0260(); FUN_18063bb40(*(undefined8 *)(pcVar6 + 8),*param_3 + 2 + lVar5); local_220[0] = 0x1d49; local_200 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar2 + 8),&local_200); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_220); } *(undefined1 *)(lVar2 + 0xfb) = 0; *(undefined8 *)(lVar2 + 200) = 0; } *(undefined1 *)(lVar2 + 0x425) = 1; if (*(char *)(lVar2 + 0xfb) == '\0') { local_268 = '\0'; if (*(longlong *)(lVar2 + 200) == 0) { local_267 = 0; *(bool *)(lVar2 + 0x59) = *(longlong *)(lVar2 + 0xb8) != 0; local_1a8 = local_1a8 + 1; uVar23 = 0; local_22c = (uint)lVar8 & 0xffffff00; goto LAB_1806b1ff7; } local_210 = local_210 & 0xff; if (*(char *)(lVar2 + 0xfa) != '\0') { local_210 = 1; } local_248 = (undefined1)local_210; } *(bool *)(lVar2 + 0x59) = *(longlong *)(lVar2 + 0xb8) != 0; local_1a8 = local_1a8 + 1; uVar23 = (ulonglong)local_22c; goto LAB_1806b1ff7; } if (((param_13 == '\0') || (lVar8 = FUN_1805fcae0(), *(int *)(pcVar11 + 4) != *(int *)(lVar8 + 0x74))) || (*(char *)(lVar5 + *param_3) != -0x7c)) { lVar8 = *param_3; lVar9 = FUN_1805fcae0(); if (((*(int *)(lVar8 + 4 + lVar5) == *(int *)(lVar9 + 0x60)) && (*(char *)(*param_3 + lVar5) == -0x7f)) && (*(char *)(lVar2 + 0x58) != '\0')) { lVar9 = local_208 * 0x438; *(undefined4 *)(lVar9 + 0x170 + *(longlong *)(param_1 + 8)) = *(undefined4 *)(*param_3 + 4 + lVar5); lVar8 = lVar9 + 0x178 + *(longlong *)(param_1 + 8); FUN_1805b1330(lVar8,4,lVar8); FUN_180621500(*(undefined4 *)(*param_3 + 0x1c + lVar5), *(undefined8 *)(*(longlong *)(param_1 + 8) + 0x178 + lVar9)); local_200 = (char *)0x7ffffffffffffffe; local_220[0] = 0xfffffffe; FUN_1805b41e0(&local_1f0,local_220,&local_200); if (*(int *)(*param_3 + 8 + lVar5) != 0) { plVar10 = (longlong *)FUN_18076a230(local_128,*param_3 + 8 + lVar5); local_1f0 = *plVar10; FUN_180663c70(&local_1f0,lVar9 + 400 + *(longlong *)(param_1 + 8)); } FUN_1805b6b80(&local_1e8,0); if (*(int *)(*param_3 + 0x10 + lVar5) != 0) { plVar10 = (longlong *)FUN_18076a230(local_120,*param_3 + 0x10 + lVar5); local_1e8 = *plVar10; FUN_180663c70(&local_1e8,lVar9 + 0x1b0 + *(longlong *)(param_1 + 8)); } *(undefined8 *)(*(longlong *)(param_1 + 8) + 0x1d0 + lVar9) = 0; *(undefined1 *)(*(longlong *)(param_1 + 8) + 0x202 + lVar9) = 0; *(undefined1 *)(*(longlong *)(param_1 + 8) + 0x203 + lVar9) = 0; FUN_1805b6b80(&local_198,0); if (local_1f0 == local_198) { FUN_1805b6b80(&local_188,0); if ((local_1e8 == local_188) || (uVar15 = 1, *(int *)(*param_3 + 8 + lVar5) != 0)) goto LAB_1806b2914; } else if ((*(int *)(*param_3 + 0x10 + lVar5) == 0) || ((FUN_1805b6b80(&local_190,0), local_1e8 != local_190 && (local_1f0 < local_1e8)))) { uVar15 = 1; } else { LAB_1806b2914: uVar15 = 0; } *(undefined1 *)(lVar9 + 0x203 + *(longlong *)(param_1 + 8)) = uVar15; if (param_15 != (char *)0x0) { FUN_1805b6b80(&local_180,0); pcVar11 = pcVar6; if (local_1f0 != local_180) { pcVar11 = (char *)FUN_18065ffa0(&local_1f0); } pcVar21 = (char *)0xffffffffffffffff; FUN_1805b6b80(&local_178,0); if (local_1e8 != local_178) { pcVar21 = (char *)FUN_18065ffa0(&local_1e8); } if ((param_15 < pcVar11) || (pcVar21 < param_15)) { *(undefined1 *)(*(longlong *)(param_1 + 8) + 0x203 + lVar9) = 0; } if (*(char *)(*(longlong *)(param_1 + 8) + 0x203 + lVar9) == '\0') { local_22c = (uint)*(longlong *)(param_1 + 8) & 0xffffff00; local_268 = '\0'; local_267 = 0; } local_288 = 0; FUN_18065a5a0(&local_170,0,(ulonglong)param_15 / 0x3c & 0xffffffff, (int)param_15 + (int)((ulonglong)param_15 / 0x3c) * -0x3c); local_200 = local_170; puVar12 = (undefined2 *)FUN_180677f40(local_1b8,1); puVar13 = (undefined2 *)FUN_18065b100(local_1d0,0x7b2); puVar14 = (undefined4 *)FUN_1805b6990(local_1a0,*puVar13,*puVar12,1); local_220[0] = *puVar14; FUN_1805b41e0(local_168,local_220,&local_200); uVar4 = FUN_180662d40(local_68,local_168); FUN_1805a5a40(*(longlong *)(param_1 + 8) + 0x1d8 + lVar9,uVar4); FUN_180485450(local_68); *(undefined1 *)(*(longlong *)(param_1 + 8) + 0x209 + lVar9) = 1; } *(undefined1 *)(local_208 * 0x438 + 0x427 + *(longlong *)(param_1 + 8)) = 1; local_230 = '\x01'; } goto LAB_1806b2b44; } *(undefined8 *)(lVar2 + 0x48) = 0; FUN_180621500(*(undefined4 *)(*param_3 + 0xc + lVar5),local_1b4); FUN_1806b78e0(local_1b1,lVar2); local_1a8 = local_1a8 + 1; uVar23 = (ulonglong)local_22c; } while( true ); if ((*(char *)(lVar2 + 0x58) != '\0') && ((((*(ushort *)(local_1d8 + 2) & 0x2000) != 0 && (*(char *)(lVar2 + 0x425) == '\0')) || (((*(ushort *)(local_1d8 + 2) & 0x4000) != 0 && (*(char *)(lVar2 + 0x426) == '\0')))))) { local_268 = '\0'; cVar22 = '\0'; } if (param_13 != '\0') { lVar5 = *(longlong *)(lVar2 + 0x48); if (lVar5 == 0) { lVar5 = 0x55000; } *(longlong *)(lVar2 + 0x48) = lVar5; } if (*(char *)(lVar2 + 0x425) == '\0') { if (*(char *)(lVar2 + 0x426) == '\0') { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 1; *(undefined4 *)(lVar2 + 0x50) = 100; } else { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 2; *(undefined4 *)(lVar2 + 0x50) = 0x3c; } } else if (*(char *)(lVar2 + 0x426) == '\0') { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 4; *(undefined4 *)(lVar2 + 0x50) = 0x50; } else { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 8; *(undefined4 *)(lVar2 + 0x50) = 0x28; } if ((0x2e < *(int *)(lVar2 + 0x50)) && (local_230 != '\0')) { *(undefined4 *)(lVar2 + 0x50) = 0x2e; } uVar17 = *(ushort *)(local_1d8 + 2); cVar16 = local_268; if ((uVar17 & 0x8000) != 0) { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x100000; local_268 = local_265; goto LAB_1806b2ced; } if (((uVar17 & 0x400) != 0) || ((uVar17 & 8) == 0)) { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x100000; local_268 = local_265; if (param_14 != '\0') { *(undefined4 *)(lVar2 + 0x50) = 0; local_268 = '\0'; cVar16 = '\0'; } goto LAB_1806b2ced; } *(undefined1 *)(lVar2 + 0x59) = 0; *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x200000; if ((param_4 == 0) || (*(int *)(param_4 + 0x1c) == -1)) { if (*(char *)(param_1 + 0x2e8) == '\0') goto LAB_1806b2c8b; } else { *(uint *)(param_1 + 0x268) = (uint)*(ushort *)(param_4 + 10); *(uint *)(param_1 + 0x26c) = (uint)*(ushort *)(param_4 + 8); LAB_1806b2c8b: *(int *)(param_1 + 0x270) = (int)local_208; } *(undefined1 *)(param_1 + 0x2e8) = 1; if (param_14 == '\0') { *(undefined4 *)(lVar2 + 0x50) = 0; cVar16 = '\0'; } else { *(undefined4 *)(lVar2 + 0x50) = 0x19; local_268 = local_265; } LAB_1806b2ced: if (((*(ushort *)(local_1d8 + 2) & 0x1000) == 0) && (*(int *)(local_1d8 + 8) != 0x4801f777)) { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x20; } else { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x10; } if ((*(ushort *)(local_1d8 + 2) & 0x8000) == 0) { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x40; } else { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x80; } if ((*(ushort *)(local_1d8 + 2) & 0x200) == 0) { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x100; } else { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x200; } if ((*(ushort *)(local_1d8 + 2) & 0x800) == 0) { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x800; } else { *(ulonglong *)(lVar2 + 0x48) = *(ulonglong *)(lVar2 + 0x48) | 0x400; } *(undefined4 *)(lVar2 + 0x54) = 1; if (*local_1d8 == 4) { *(undefined8 *)(lVar2 + 0x40) = 2; *(undefined4 *)(lVar2 + 0x50) = 0; *(undefined1 *)(lVar2 + 0x59) = 0; *(undefined2 *)(param_1 + 0x20) = 0; *(undefined4 *)(param_1 + 0x24) = *(undefined4 *)(lVar2 + 0x50); } else if (cVar16 == '\0') { cVar16 = (char)local_1f8; if ((*(char *)(lVar2 + 0x425) == '\0') || (cVar22 == '\0')) { if (local_268 == '\0') { *(undefined8 *)(lVar2 + 0x40) = 4; } else { *(undefined8 *)(lVar2 + 0x40) = 1; } *(undefined4 *)(lVar2 + 0x50) = 0; } else { *(undefined8 *)(lVar2 + 0x40) = 8; *(undefined4 *)(lVar2 + 0x50) = 1; if ((char)local_210 != '\0') { cVar16 = '\x01'; } *(undefined1 *)(lVar2 + 0x59) = 0; } if (((*(ushort *)(local_1d8 + 2) & 0x8000) != 0) || ((*local_1e0 == '\0' && (*(char *)(lVar2 + 0x58) != '\0')))) { if (*(int *)(lVar2 + 0x50) < *(int *)(param_1 + 0x24)) { *(int *)(param_1 + 0x24) = *(int *)(lVar2 + 0x50); } *(undefined1 *)(param_1 + 0x20) = 0; if (cVar16 == '\0') { *(undefined1 *)(param_1 + 0x21) = 0; } } } else { *(undefined8 *)(lVar2 + 0x40) = 1; if (((((*(ushort *)(local_1d8 + 2) & 0x8000) != 0) && (*(int *)(local_1d8 + 8) != 0x4801f777)) || ((*local_1e0 == '\0' && (*(char *)(lVar2 + 0x58) != '\0')))) && (*(int *)(lVar2 + 0x50) < *(int *)(param_1 + 0x24))) { *(int *)(param_1 + 0x24) = *(int *)(lVar2 + 0x50); } } if ((*(longlong *)(lVar2 + 0x30) == 2) && (((*(char *)(lVar2 + 0x58) == '\0' || ((*(byte *)(lVar2 + 0x48) & 0x80) != 0)) || ((local_208 != 0 && (*local_1e0 == '\0')))))) { *(undefined8 *)(lVar2 + 0x40) = 0x20; *(undefined4 *)(lVar2 + 0x50) = 0; *(undefined1 *)(lVar2 + 0x59) = 0; *(undefined2 *)(param_1 + 0x20) = 0; *(undefined4 *)(param_1 + 0x24) = *(undefined4 *)(lVar2 + 0x50); } if (*(char *)(lVar2 + 0x58) != '\0') { *local_1e0 = '\x01'; } } ############ FUN_ 1806b2f10 size=8710 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806b2f10(longlong param_1,longlong *param_2,longlong param_3,undefined8 ****param_4, char *param_5,longlong param_6,char param_7,char param_8,longlong param_9, char param_10,char *param_11,uint param_12) { void *_Src; undefined1 uVar1; undefined1 uVar2; char cVar3; int iVar4; longlong lVar5; undefined8 *puVar6; undefined8 uVar7; char *pcVar8; char *pcVar9; longlong *plVar10; undefined8 *puVar11; undefined2 *puVar12; undefined2 *puVar13; undefined4 *puVar14; byte *pbVar15; int *piVar16; ulonglong uVar17; ulonglong uVar18; uint *puVar19; undefined8 ****ppppuVar20; void *pvVar21; longlong lVar22; char **ppcVar23; undefined8 uVar24; ulonglong uVar25; char *pcVar26; longlong lVar27; char cVar28; ulonglong _Size; bool bVar29; longlong *local_res10; longlong local_res18 [2]; undefined1 auStack_2f8 [32]; undefined1 *local_2d8; undefined1 *local_2d0; longlong local_2c8; uint local_2c0; char local_2b8; char local_2b7; char local_2b6; undefined1 local_2b5 [5]; char *local_2b0; char *local_2a8; undefined1 local_2a0; undefined1 local_29f [7]; undefined4 local_298 [2]; char *local_290; char local_288; char local_287; undefined4 local_280 [2]; uint local_278; char *local_270; undefined8 ***local_268; char *local_260; uint local_258; longlong local_250; longlong local_248; longlong local_240; undefined8 ***local_238; char *local_230; longlong local_228; longlong local_220; undefined1 local_218 [8]; longlong local_210; longlong local_208; longlong local_200; longlong local_1f8; longlong local_1f0; longlong local_1e8; longlong local_1e0; char *local_1d8; undefined1 local_1d0 [8]; longlong local_1c8; undefined8 local_1c0; undefined1 local_1b8 [8]; longlong local_1b0; longlong local_1a8; undefined8 ***local_1a0; longlong local_198; size_t local_190; ulonglong local_188; undefined8 ***local_180 [2]; char *local_170; ulonglong local_168; undefined8 ***local_160 [2]; char *local_150; ulonglong local_148; undefined8 ***local_140 [2]; size_t local_130; ulonglong local_128; undefined1 local_120 [40]; undefined **local_f8 [2]; undefined1 local_e8 [160]; ulonglong local_48; local_1c0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2f8; local_270 = param_5; local_248 = param_6; local_240 = param_9; local_258 = param_12; local_2b7 = '\x01'; local_2a0 = 1; local_2b6 = '\x01'; local_2b5[0] = 1; local_287 = '\0'; local_278 = param_12 & 0xffffff00; local_29f[0] = 0; local_288 = '\0'; local_268 = param_4; local_res10 = param_2; local_res18[0] = param_3; local_250 = param_1; local_238 = param_4; local_1c8 = param_1; if (param_3 == 0) { local_230 = (char *)FUN_1811316e0(0x18); if (local_230 == (char *)0x0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_230,"Bad LsLicensePtr (0x%16X)"); } puVar11 = (undefined8 *)0x0; puVar6 = (undefined8 *)FUN_1811316e0(0x18); local_230 = (char *)puVar6; if (puVar6 != (undefined8 *)0x0) { FUN_1805a48c0(puVar6,"|__FILE__|%s|__LINE__|%d"); *puVar6 = pace::PaceLocationInfoFormatter::vftable; puVar11 = puVar6; } FUN_18066eb70(*(undefined8 *)(lVar5 + 8),local_res18); local_280[0] = 0x1fd7; local_2b0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(puVar11[1],&local_2b0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_280); } pcVar26 = (char *)0x0; if (param_2 == (longlong *)0x0) { local_230 = (char *)FUN_1811316e0(0x18); pcVar8 = pcVar26; if (local_230 != (char *)0x0) { pcVar8 = (char *)FUN_1805a48c0(local_230,"Bad LsAuthorizationPtr (0x%16X)"); } pcVar9 = (char *)FUN_1811316e0(0x18); local_230 = pcVar9; if (pcVar9 != (char *)0x0) { FUN_1805a48c0(pcVar9,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar9 = pace::PaceLocationInfoFormatter::vftable; pcVar26 = pcVar9; } FUN_18066eb70(*(undefined8 *)(pcVar8 + 8),&local_res10); local_280[0] = 0x1fde; local_2b0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(pcVar26 + 8),&local_2b0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_280); } plVar10 = (longlong *)(param_1 + 8); if (param_4 < (undefined8 ****)((*(longlong *)(param_1 + 0x10) - *plVar10) / 0x438)) { lVar22 = (longlong)param_4 * 0x438; lVar5 = *plVar10; lVar27 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar27 + 0x1eb),"authId"); lVar27 = FUN_180870eb0(param_2); if (*(int *)(lVar5 + 8 + lVar22) == *(int *)(lVar27 + 0x30)) { lVar5 = *plVar10; lVar27 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar27 + 0x1f7),"publisherId"); lVar27 = FUN_180870eb0(param_2); if (*(int *)(lVar5 + 0xc + lVar22) == *(int *)(lVar27 + 0xb8)) goto LAB_1806b3337; } puVar11 = (undefined8 *)(*plVar10 + 0x210 + lVar22); puVar11[2] = 0; if (0xf < (ulonglong)puVar11[3]) { puVar11 = (undefined8 *)*puVar11; } *(undefined1 *)puVar11 = 0; puVar11 = (undefined8 *)(*plVar10 + 0x230 + lVar22); puVar11[2] = 0; if (0xf < (ulonglong)puVar11[3]) { puVar11 = (undefined8 *)*puVar11; } *(undefined1 *)puVar11 = 0; puVar11 = (undefined8 *)(*plVar10 + 0x250 + lVar22); puVar11[2] = 0; if (0xf < (ulonglong)puVar11[3]) { puVar11 = (undefined8 *)*puVar11; } *(undefined1 *)puVar11 = 0; puVar11 = (undefined8 *)(*plVar10 + 0x270 + lVar22); puVar11[2] = 0; if (0xf < (ulonglong)puVar11[3]) { puVar11 = (undefined8 *)*puVar11; } *(undefined1 *)puVar11 = 0; puVar11 = (undefined8 *)(*plVar10 + 0x290 + lVar22); puVar11[2] = 0; if (0xf < (ulonglong)puVar11[3]) { puVar11 = (undefined8 *)*puVar11; } *(undefined1 *)puVar11 = 0; puVar11 = (undefined8 *)(*plVar10 + 0x2b0 + lVar22); puVar11[2] = 0; if (0xf < (ulonglong)puVar11[3]) { puVar11 = (undefined8 *)*puVar11; } *(undefined1 *)puVar11 = 0; puVar11 = (undefined8 *)(*plVar10 + 0x2d0 + lVar22); puVar11[2] = 0; if (0xf < (ulonglong)puVar11[3]) { puVar11 = (undefined8 *)*puVar11; } *(undefined1 *)puVar11 = 0; lVar5 = *plVar10; lVar27 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar27 + 0x1ec),"authInstance"); lVar27 = FUN_180870eb0(param_2); if (*(int *)(lVar5 + 0x10 + lVar22) != *(int *)(lVar27 + 0x34)) { *(undefined1 *)(lVar22 + 0x42f + *plVar10) = 0; } } else { FUN_1805b10b0(plVar10,(longlong)param_4 + 1,plVar10); } LAB_1806b3337: lVar27 = (longlong)param_4 * 0x438 + *plVar10; local_230 = (char *)lVar27; lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0x1eb),"authId"); lVar5 = FUN_180870eb0(param_2); *(undefined4 *)(lVar27 + 8) = *(undefined4 *)(lVar5 + 0x30); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0x1f7),"publisherId"); lVar5 = FUN_180870eb0(param_2); *(undefined4 *)(lVar27 + 0xc) = *(undefined4 *)(lVar5 + 0xb8); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0x1ec),"authInstance"); lVar5 = FUN_180870eb0(param_2); *(undefined4 *)(lVar27 + 0x10) = *(undefined4 *)(lVar5 + 0x34); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0x1f8),"skuId"); lVar5 = FUN_180870eb0(param_2); *(undefined4 *)(lVar27 + 0x14) = *(undefined4 *)(lVar5 + 0xbc); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0x1ed),"authType"); lVar5 = FUN_180870eb0(param_2); FUN_1805a4070(local_160,lVar5 + 0x38); lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x260); if (0xf < *(ulonglong *)(lVar5 + 0x278)) { pvVar21 = *(void **)(lVar5 + 0x260); } ppppuVar20 = local_160; if (0xf < local_148) { ppppuVar20 = (undefined8 ****)local_160[0]; } pcVar8 = *(char **)(lVar5 + 0x270); local_2b0 = pcVar8; local_2a8 = local_150; ppcVar23 = &local_2b0; if (local_150 <= pcVar8) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (pcVar8 <= local_150)) && (local_150 == pcVar8)) { *(undefined8 *)(lVar27 + 0x30) = 8; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x280); if (0xf < *(ulonglong *)(lVar5 + 0x298)) { pvVar21 = *(void **)(lVar5 + 0x280); } ppppuVar20 = local_160; if (0xf < local_148) { ppppuVar20 = (undefined8 ****)local_160[0]; } pcVar8 = *(char **)(lVar5 + 0x290); local_2b0 = pcVar8; local_2a8 = local_150; ppcVar23 = &local_2b0; if (local_150 <= pcVar8) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (pcVar8 <= local_150)) && (local_150 == pcVar8)) { *(undefined8 *)(lVar27 + 0x30) = 4; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x2c0); if (0xf < *(ulonglong *)(lVar5 + 0x2d8)) { pvVar21 = *(void **)(lVar5 + 0x2c0); } ppppuVar20 = local_160; if (0xf < local_148) { ppppuVar20 = (undefined8 ****)local_160[0]; } pcVar8 = *(char **)(lVar5 + 0x2d0); local_2b0 = pcVar8; local_2a8 = local_150; ppcVar23 = &local_2b0; if (local_150 <= pcVar8) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (pcVar8 <= local_150)) && (local_150 == pcVar8)) { *(undefined8 *)(lVar27 + 0x30) = 1; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x2a0); if (0xf < *(ulonglong *)(lVar5 + 0x2b8)) { pvVar21 = *(void **)(lVar5 + 0x2a0); } ppppuVar20 = local_160; if (0xf < local_148) { ppppuVar20 = (undefined8 ****)local_160[0]; } pcVar8 = *(char **)(lVar5 + 0x2b0); local_2b0 = pcVar8; local_2a8 = local_150; ppcVar23 = &local_2b0; if (local_150 <= pcVar8) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (pcVar8 <= local_150)) && (local_150 == pcVar8)) { *(undefined8 *)(lVar27 + 0x30) = 2; } else { lVar5 = FUN_1805fcae0(); *(undefined8 *)(lVar27 + 0x30) = *(undefined8 *)(lVar5 + 0x38); } } } } local_2b8 = '\0'; lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0x1f9),"subtype"); lVar5 = FUN_180870eb0(param_2); FUN_1805a4070(local_180,lVar5 + 0xc0); lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x80); if (0xf < *(ulonglong *)(lVar5 + 0x98)) { pvVar21 = *(void **)(lVar5 + 0x80); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0x90); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { uVar7 = 1; LAB_1806b3cf8: *(undefined8 *)(lVar27 + 0x38) = uVar7; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0xa0); if (0xf < *(ulonglong *)(lVar5 + 0xb8)) { pvVar21 = *(void **)(lVar5 + 0xa0); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0xb0); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 2; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0xc0); if (0xf < *(ulonglong *)(lVar5 + 0xd8)) { pvVar21 = *(void **)(lVar5 + 0xc0); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0xd0); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 4; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0xe0); if (0xf < *(ulonglong *)(lVar5 + 0xf8)) { pvVar21 = *(void **)(lVar5 + 0xe0); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0xf0); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 8; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x100); if (0xf < *(ulonglong *)(lVar5 + 0x118)) { pvVar21 = *(void **)(lVar5 + 0x100); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0x110); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 0x10; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x120); if (0xf < *(ulonglong *)(lVar5 + 0x138)) { pvVar21 = *(void **)(lVar5 + 0x120); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0x130); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 0x20; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x140); if (0xf < *(ulonglong *)(lVar5 + 0x158)) { pvVar21 = *(void **)(lVar5 + 0x140); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0x150); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 0x40; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x160); if (0xf < *(ulonglong *)(lVar5 + 0x178)) { pvVar21 = *(void **)(lVar5 + 0x160); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0x170); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 0x80; local_2b8 = '\x01'; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x180); if (0xf < *(ulonglong *)(lVar5 + 0x198)) { pvVar21 = *(void **)(lVar5 + 0x180); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 400); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 0x100; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x1a0); if (0xf < *(ulonglong *)(lVar5 + 0x1b8)) { pvVar21 = *(void **)(lVar5 + 0x1a0); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0x1b0); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 0x200; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x1c0); if (0xf < *(ulonglong *)(lVar5 + 0x1d8)) { pvVar21 = *(void **)(lVar5 + 0x1c0); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0x1d0); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 0x400; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x1e0); if (0xf < *(ulonglong *)(lVar5 + 0x1f8)) { pvVar21 = *(void **)(lVar5 + 0x1e0); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0x1f0); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290)) { *(undefined8 *)(lVar27 + 0x38) = 0x800; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x200); if (0xf < *(ulonglong *)(lVar5 + 0x218)) { pvVar21 = *(void **)(lVar5 + 0x200); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } local_290 = *(char **)(lVar5 + 0x210); local_2b0 = local_290; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= local_290) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 == 0) && (local_290 <= local_170)) && (local_170 == local_290) ) { *(undefined8 *)(lVar27 + 0x38) = 0x1000; } else { lVar5 = FUN_1807064c0(); pvVar21 = (void *)(lVar5 + 0x220); if (0xf < *(ulonglong *)(lVar5 + 0x238)) { pvVar21 = *(void **)(lVar5 + 0x220); } ppppuVar20 = local_180; if (0xf < local_168) { ppppuVar20 = (undefined8 ****)local_180[0]; } pcVar8 = *(char **)(lVar5 + 0x230); local_2b0 = pcVar8; local_2a8 = local_170; ppcVar23 = &local_2b0; if (local_170 <= pcVar8) { ppcVar23 = &local_2a8; } iVar4 = memcmp(ppppuVar20,pvVar21,(size_t)*ppcVar23); if (((iVar4 != 0) || (local_170 < pcVar8)) || (local_170 != pcVar8)) { lVar5 = FUN_1805fcae0(); uVar7 = *(undefined8 *)(lVar5 + 0x38); goto LAB_1806b3cf8; } *(undefined8 *)(lVar27 + 0x38) = 0x2000; local_2b8 = '\x01'; } } } } } } } } } } } } } cVar28 = local_2b8; uVar7 = (**(code **)(*param_2 + 0x40))(param_2); FUN_1805a4070(local_140,uVar7); puVar11 = (undefined8 *)(lVar27 + 0x18); FUN_1805b1330(puVar11,local_130,puVar11); ppppuVar20 = local_140; if (0xf < local_128) { ppppuVar20 = (undefined8 ****)local_140[0]; } memcpy((void *)*puVar11,ppppuVar20,local_130); lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 500),"hasValidityTerms"); lVar5 = FUN_180870eb0(param_2); cVar3 = *(char *)(lVar5 + 0x70); *(char *)(lVar27 + 0x58) = cVar3; *(undefined1 *)(lVar27 + 0x59) = 0; *(undefined2 *)(lVar27 + 0x425) = 0; if (cVar3 != '\0') { FUN_1808f1970(param_2,&local_2a8); if (local_2a8 == (char *)0x0) { local_210 = FUN_1811316e0(0x18); if (local_210 != 0) { FUN_1805a48c0(local_210,"Could not get a vector of TimeLimits"); } lVar5 = FUN_1805c0260(); local_280[0] = 0x207d; local_2b0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_2b0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_280); } local_290 = (char *)((*(longlong **)(local_2a8 + 8))[1] - **(longlong **)(local_2a8 + 8) >> 5); local_2b0 = pcVar26; pcVar8 = local_290; while (uVar1 = 0, local_2b0 < pcVar8) { plVar10 = (longlong *)FUN_1808be6f0(local_2a8,local_1b8); plVar10 = (longlong *)*plVar10; if (plVar10 == (longlong *)0x0) { LAB_1806b46b0: local_2b0 = local_2b0 + 1; cVar28 = local_2b8; } else { lVar5 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar5 + 0x1fb),"timeLimited"); lVar5 = FUN_180870eb0(param_2); if (*(char *)(lVar5 + 0xe1) == '\0') { LAB_1806b41b3: lVar5 = FUN_180870eb0(plVar10); FUN_18080ca00(plVar10,*(undefined1 *)(lVar5 + 0x14c)); lVar5 = FUN_180870eb0(plVar10); if (*(int *)(lVar5 + 0x100) == -0x7ffffffe) { lVar5 = FUN_180870eb0(plVar10); FUN_18080ca00(plVar10,*(undefined1 *)(lVar5 + 0x14c),"storageId"); lVar5 = FUN_180870eb0(plVar10); *(undefined4 *)(lVar27 + 0x170) = *(undefined4 *)(lVar5 + 0x100); uVar7 = (**(code **)(*plVar10 + 0x40))(plVar10); FUN_1805a4070(&local_1a0,uVar7); FUN_1805b1330(lVar27 + 0x178,local_190,lVar27 + 0x178); ppppuVar20 = &local_1a0; if (0xf < local_188) { ppppuVar20 = (undefined8 ****)local_1a0; } memcpy(*(void **)(lVar27 + 0x178),ppppuVar20,local_190); lVar5 = FUN_180870eb0(plVar10); FUN_18080ca00(plVar10,*(undefined1 *)(lVar5 + 0x147),"periodStartDate"); lVar5 = FUN_180870eb0(plVar10); puVar11 = (undefined8 *)(lVar5 + 0x78); if ((undefined8 *)(lVar27 + 400) != puVar11) { if (0xf < *(ulonglong *)(lVar5 + 0x90)) { puVar11 = (undefined8 *)*puVar11; } FUN_1805a6cb0((undefined8 *)(lVar27 + 400),puVar11,*(undefined8 *)(lVar5 + 0x88)); } lVar5 = FUN_180870eb0(plVar10); FUN_18080ca00(plVar10,*(undefined1 *)(lVar5 + 0x148),"periodStopDate"); lVar5 = FUN_180870eb0(plVar10); puVar11 = (undefined8 *)(lVar5 + 0x98); if ((undefined8 *)(lVar27 + 0x1b0) != puVar11) { if (0xf < *(ulonglong *)(lVar5 + 0xb0)) { puVar11 = (undefined8 *)*puVar11; } FUN_1805a6cb0((undefined8 *)(lVar27 + 0x1b0),puVar11,*(undefined8 *)(lVar5 + 0xa8)); } *(undefined8 *)(lVar27 + 0x1d0) = 0; *(undefined1 *)(lVar27 + 0x202) = 0; lVar5 = FUN_180870eb0(plVar10); FUN_18080ca00(plVar10,*(undefined1 *)(lVar5 + 0x147),"periodStartDate"); lVar5 = FUN_180870eb0(plVar10); FUN_180660c00(&local_220,lVar5 + 0x78,0); lVar5 = FUN_180870eb0(plVar10); FUN_18080ca00(plVar10,*(undefined1 *)(lVar5 + 0x148),"periodStopDate"); lVar5 = FUN_180870eb0(plVar10); FUN_180660c00(&local_228,lVar5 + 0x98,0); *(undefined1 *)(lVar27 + 0x203) = 0; local_260 = (char *)0x7ffffffffffffffe; local_298[0] = 0xfffffffe; FUN_1805b41e0(&local_200,local_298); if (local_220 == local_200) { FUN_1805b6b80(&local_1f0,0); if ((local_228 == local_1f0) || (uVar2 = 1, *(longlong *)(lVar27 + 0x1a0) != 0)) goto LAB_1806b445a; } else if ((*(longlong *)(lVar27 + 0x1c0) == 0) || ((FUN_1805b6b80(&local_1f8,0), local_228 != local_1f8 && (local_220 < local_228) ))) { uVar2 = 1; } else { LAB_1806b445a: uVar2 = uVar1; } *(undefined1 *)(lVar27 + 0x203) = uVar2; if (param_11 != (char *)0x0) { FUN_1805b6b80(&local_1e8,0); pcVar8 = pcVar26; if (local_220 != local_1e8) { pcVar8 = (char *)FUN_18065ffa0(&local_220); } pcVar9 = (char *)0xffffffffffffffff; FUN_1805b6b80(&local_1e0,0); if (local_228 != local_1e0) { pcVar9 = (char *)FUN_18065ffa0(&local_228); } lVar5 = local_250; if ((param_11 < pcVar8) || (pcVar9 < param_11)) { *(undefined1 *)((longlong)local_238 * 0x438 + 0x203 + *(longlong *)(local_250 + 8)) = 0; } lVar22 = (longlong)local_238 * 0x438; if (*(char *)(lVar22 + 0x203 + *(longlong *)(local_250 + 8)) == '\0') { local_2b7 = '\0'; local_2a0 = 0; local_2b6 = '\0'; local_2b5[0] = 0; } local_2d8 = (undefined1 *)0x0; FUN_18065a5a0(&local_1d8,0,(ulonglong)param_11 / 0x3c & 0xffffffff, (int)param_11 + (int)((ulonglong)param_11 / 0x3c) * -0x3c); local_260 = local_1d8; puVar12 = (undefined2 *)FUN_180677f40(local_218,1); puVar13 = (undefined2 *)FUN_18065b100(local_280,0x7b2); puVar14 = (undefined4 *)FUN_1805b6990(local_1d0,*puVar13,*puVar12,1); local_298[0] = *puVar14; FUN_1805b41e0(&local_210,local_298); uVar7 = FUN_180662d40(local_120,&local_210); FUN_1805a5a40(*(longlong *)(lVar5 + 8) + 0x1d8 + lVar22,uVar7); FUN_180485450(local_120); *(undefined1 *)(lVar22 + 0x209 + *(longlong *)(lVar5 + 8)) = 1; } pcVar8 = local_290; *(undefined1 *)(lVar27 + 0x427) = 1; local_288 = '\x01'; FUN_180485450(&local_1a0); } goto LAB_1806b46b0; } lVar5 = FUN_180870eb0(plVar10); FUN_18080ca00(plVar10,*(undefined1 *)(lVar5 + 0x14c),"storageId"); lVar5 = FUN_180870eb0(plVar10); if (*(int *)(lVar5 + 0x100) != -0x80000000) goto LAB_1806b41b3; uVar7 = FUN_18068ca70(local_f8,plVar10,local_248,local_258); FUN_1805ba930(lVar27 + 0x60,uVar7); FUN_1805b9270(local_f8); *(undefined1 *)(lVar27 + 0x425) = 1; if (cVar28 != '\0') { lVar5 = FUN_180870eb0(plVar10); FUN_18080ca00(plVar10,*(undefined1 *)(lVar5 + 0x143),"flagsReadOnly"); lVar5 = FUN_180870eb0(plVar10); *(uint *)(lVar27 + 0xf0) = (uint)*(byte *)(lVar5 + 0x30); *(undefined1 *)(lVar27 + 0x102) = 1; lVar5 = FUN_180870eb0(plVar10); FUN_18080ca00(plVar10,*(undefined1 *)(lVar5 + 0x143)); lVar5 = FUN_180870eb0(plVar10); *(uint *)(lVar27 + 0xf4) = *(int *)(lVar5 + 0x30) >> 8 & 0xff; *(undefined1 *)(lVar27 + 0x103) = 1; FUN_1806873c0(lVar27 + 0x60,local_248); } if (*(char *)(lVar27 + 0xfb) == '\0') { local_2b7 = '\0'; local_2a0 = 0; if (*(longlong *)(lVar27 + 200) == 0) { if (param_7 != '\0') { local_1b0 = FUN_1811316e0(0x18); if (local_1b0 != 0) { FUN_1805a48c0(local_1b0,"Software Auth Expired: Time limit expired"); } lVar5 = FUN_1805c0260(); local_298[0] = 0x20b5; local_260 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_260); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_298); } local_2b6 = '\0'; local_2b5[0] = 0; } else if (*(char *)(lVar27 + 0xfa) == '\0') { if (param_7 != '\0') { local_208 = FUN_1811316e0(0x18); if (local_208 != 0) { FUN_1805a48c0(local_208, "Software Auth Not Valid Yet: The current time is before the time limit starts." ); } lVar5 = FUN_1805c0260(); local_298[0] = 0x20d2; local_260 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_260); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_298); } } else { if (param_7 != '\0') { local_1a8 = FUN_1811316e0(0x18); if (local_1a8 != 0) { FUN_1805a48c0(local_1a8, "Software has a relative time limit that has not been started yet."); } lVar5 = FUN_1805c0260(); local_298[0] = 0x20c4; local_260 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_260); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_298); } local_287 = '\x01'; } } *(bool *)(lVar27 + 0x59) = *(longlong *)(lVar27 + 0xb8) != 0; local_2b0 = local_2b0 + 1; pcVar8 = local_290; cVar28 = local_2b8; } } pcVar8 = (char *)FUN_18068d4a0(param_2); if (*pcVar8 != '\0') { FUN_1808c6a00(param_2,&local_248); if (local_248 == 0) { FUN_1805c0220("Could not get a vector of CountLimits"); lVar5 = FUN_1805c0260(); local_298[0] = 0x214a; local_268 = (undefined8 ***)0x181bbe3b0; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_268); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_298); } pcVar8 = (char *)((*(longlong **)(local_248 + 8))[1] - **(longlong **)(local_248 + 8) >> 5); if (pcVar8 != (char *)0x0) { do { plVar10 = (longlong *)FUN_180872df0(local_248,&local_208,pcVar26); lVar5 = *plVar10; if (lVar5 != 0) { lVar22 = FUN_180870eb0(lVar5); FUN_18080ca00(lVar5,*(undefined1 *)(lVar22 + 0xe6),"storageId"); lVar22 = FUN_180870eb0(lVar5); if (*(int *)(lVar22 + 0x98) == -0x80000000) { if ((param_7 == '\0') || ((pcVar9 = (char *)FUN_1806bbb30(param_2), *pcVar9 == '\0' && (*local_270 != '\0')) )) { uVar7 = 0; } else { uVar7 = 1; } if (((param_7 == '\0') || (param_8 == '\0')) || (pbVar15 = (byte *)FUN_18069e7b0(lVar5), (*pbVar15 & 2) != 0)) { uVar24 = 0; } else { uVar24 = 1; } local_2c0 = local_258; local_2c8 = local_240; local_2d0 = local_29f; local_2d8 = local_2b5; FUN_1806807f0(lVar5,uVar7,uVar24,param_7); local_2d8 = (undefined1 *)CONCAT44(local_2d8._4_4_,local_258); lVar22 = FUN_180687a60(local_f8,lVar5,local_2b5[0],local_29f[0]); *(undefined4 *)(lVar27 + 0x110) = *(undefined4 *)(lVar22 + 8); FUN_1805b9910(lVar27 + 0x118,lVar22 + 0x10); *(undefined1 *)(lVar27 + 0x130) = *(undefined1 *)(lVar22 + 0x28); *(undefined1 *)(lVar27 + 0x131) = *(undefined1 *)(lVar22 + 0x29); *(undefined4 *)(lVar27 + 0x134) = *(undefined4 *)(lVar22 + 0x2c); *(undefined4 *)(lVar27 + 0x138) = *(undefined4 *)(lVar22 + 0x30); *(undefined4 *)(lVar27 + 0x13c) = *(undefined4 *)(lVar22 + 0x34); *(undefined1 *)(lVar27 + 0x140) = *(undefined1 *)(lVar22 + 0x38); *(undefined1 *)(lVar27 + 0x141) = *(undefined1 *)(lVar22 + 0x39); *(undefined4 *)(lVar27 + 0x144) = *(undefined4 *)(lVar22 + 0x3c); *(undefined4 *)(lVar27 + 0x148) = *(undefined4 *)(lVar22 + 0x40); *(undefined4 *)(lVar27 + 0x14c) = *(undefined4 *)(lVar22 + 0x44); *(undefined1 *)(lVar27 + 0x150) = *(undefined1 *)(lVar22 + 0x48); *(undefined1 *)(lVar27 + 0x151) = *(undefined1 *)(lVar22 + 0x49); *(undefined1 *)(lVar27 + 0x152) = *(undefined1 *)(lVar22 + 0x4a); *(undefined8 *)(lVar27 + 0x153) = *(undefined8 *)(lVar22 + 0x4b); *(undefined4 *)(lVar27 + 0x15b) = *(undefined4 *)(lVar22 + 0x53); *(undefined2 *)(lVar27 + 0x15f) = *(undefined2 *)(lVar22 + 0x57); *(undefined1 *)(lVar27 + 0x161) = *(undefined1 *)(lVar22 + 0x59); local_f8[0] = pace::eden::thrift::pub::CountLimitRecord::vftable; FUN_180575ed0(local_e8); if ((*(char *)(lVar27 + 0x130) != '\0') && (pbVar15 = (byte *)FUN_18069e7b0(lVar5), (*pbVar15 & 1) != 0)) { if (param_7 != '\0') { FUN_1805c0220( "The auth count limit does has both the kCountLimitFlagsReadOnly_Counter1NotCryptoCounter bit set!" ); lVar5 = FUN_1805c0260(); local_298[0] = 0x2189; local_268 = (undefined8 ***)0x181bbe3b0; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_268); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_298); } *(undefined1 *)(lVar27 + 0x152) = 0; } *(undefined1 *)(lVar27 + 0x426) = 1; if (*(char *)(lVar27 + 0x152) == '\0') { local_2b7 = '\0'; local_2b6 = '\0'; } if ((*(char *)(lVar27 + 0x130) != '\0') || ((uVar2 = uVar1, *(char *)(lVar27 + 0x140) != '\0' && (*(char *)(lVar27 + 0x151) == '\0')))) { uVar2 = 1; } *(undefined1 *)(lVar27 + 0x59) = uVar2; } } pcVar26 = pcVar26 + 1; param_3 = local_res18[0]; } while (pcVar26 < pcVar8); } } pcVar26 = (char *)FUN_1806bbb80(param_2); if (((*pcVar26 != '\0') && (*(char *)(lVar27 + 0x425) == '\0')) || ((pcVar26 = (char *)FUN_18068d4a0(param_2), *pcVar26 != '\0' && (*(char *)(lVar27 + 0x426) == '\0')))) { local_2b7 = '\0'; local_2b6 = '\0'; } } *(undefined8 *)(lVar27 + 0x48) = 0; if (param_10 != '\0') { FUN_1808c7980(param_2,&local_240); if (local_240 == 0) { FUN_1805c0220("Could not get a vector of DeveloperBlocks"); lVar5 = FUN_1805c0260(); local_298[0] = 0x21be; local_268 = (undefined8 ***)0x181bbe3b0; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_268); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_298); } if ((*(longlong **)(local_240 + 8))[1] - **(longlong **)(local_240 + 8) >> 5 != 0) { plVar10 = (longlong *)FUN_18088b530(local_240,&local_208,0); lVar5 = *plVar10; if (lVar5 != 0) { piVar16 = (int *)FUN_1806bbaf0(lVar5); lVar22 = FUN_1805fcae0(); if (*piVar16 == *(int *)(lVar22 + 0x74)) { uVar7 = FUN_18068d4f0(lVar5); FUN_1805b46a0(&local_1a0,uVar7); if (7 < (ulonglong)(local_198 - (longlong)local_1a0)) { FUN_1806b78e0(*(undefined1 *)((longlong)local_1a0 + 7),lVar27); } FUN_180575ed0(&local_1a0); } } } lVar5 = *(longlong *)(lVar27 + 0x48); if (lVar5 == 0) { lVar5 = 0x55000; } *(longlong *)(lVar27 + 0x48) = lVar5; } if (*(char *)(lVar27 + 0x425) == '\0') { if (*(char *)(lVar27 + 0x426) == '\0') { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 1; *(undefined4 *)(lVar27 + 0x50) = 0x5a; } else { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 2; *(undefined4 *)(lVar27 + 0x50) = 0x32; } } else if (*(char *)(lVar27 + 0x426) == '\0') { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 4; *(undefined4 *)(lVar27 + 0x50) = 0x46; } else { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 8; *(undefined4 *)(lVar27 + 0x50) = 0x1e; } if ((0x2d < *(int *)(lVar27 + 0x50)) && (local_288 != '\0')) { *(undefined4 *)(lVar27 + 0x50) = 0x2d; } pbVar15 = (byte *)FUN_18069e770(param_2); bVar29 = (*pbVar15 & 8) == 0; if (bVar29) { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 0x100000; } else { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 0x200000; } pcVar26 = (char *)FUN_1806bbb30(param_2); lVar5 = local_250; cVar28 = local_2b7; if (*pcVar26 == '\0') { if (bVar29) { if (*(longlong *)(local_250 + 0x68) == 0x10) goto LAB_1806b4e26; } else if (*(longlong *)(local_250 + 0x68) == 0x10) { *(undefined4 *)(lVar27 + 0x50) = 0x14; *(undefined8 *)(local_250 + 0x1f8) = 1; lVar22 = FUN_1807064c0(); FUN_1805a4070(&local_1a0,lVar22 + 0x20); local_268 = &local_1a0; if (0xf < local_188) { local_268 = local_1a0; } local_2a8 = (char *)(local_190 + (longlong)local_268); puVar11 = (undefined8 *)(lVar5 + 0x200); _Size = (longlong)local_2a8 - (longlong)local_268; pvVar21 = (void *)*puVar11; uVar17 = *(longlong *)(lVar5 + 0x208) - (longlong)pvVar21; uVar25 = *(longlong *)(lVar5 + 0x210) - (longlong)pvVar21; if (uVar25 < _Size) { if (0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar18 = *(longlong *)(lVar5 + 0x210) - (longlong)pvVar21; uVar17 = _Size; if ((uVar18 <= 0x7fffffffffffffff - (uVar18 >> 1)) && (uVar17 = (uVar18 >> 1) + uVar18, uVar17 < _Size)) { uVar17 = _Size; } if (pvVar21 != (void *)0x0) { FUN_1805a7bf0(puVar11,pvVar21,uVar25); } FUN_1805bbbc0(puVar11,uVar17); pvVar21 = (void *)*puVar11; memmove(pvVar21,local_268,_Size); *(ulonglong *)(lVar5 + 0x208) = _Size + (longlong)pvVar21; } else if (uVar17 < _Size) { _Src = (void *)(uVar17 + (longlong)local_268); memmove(pvVar21,local_268,(longlong)_Src - (longlong)local_268); pvVar21 = *(void **)(lVar5 + 0x208); local_2a8 = local_2a8 + -(longlong)_Src; memmove(pvVar21,_Src,(size_t)local_2a8); *(char **)(lVar5 + 0x208) = local_2a8 + (longlong)pvVar21; } else { memmove(pvVar21,local_268,_Size); *(ulonglong *)(lVar5 + 0x208) = _Size + (longlong)pvVar21; } FUN_180485450(&local_1a0); cVar28 = local_2b7; } else { LAB_1806b4e26: *(undefined4 *)(lVar27 + 0x50) = 0; cVar28 = '\0'; } } else if (*(longlong *)(local_250 + 0x68) == 0x10) { *(undefined4 *)(lVar27 + 0x50) = 0x14; } lVar5 = local_250; lVar22 = FUN_180870eb0(param_3); FUN_18080ca00(param_3,*(undefined1 *)(lVar22 + 0x22a),"visible"); lVar22 = FUN_180870eb0(param_3); if (*(char *)(lVar22 + 0x1c4) == '\0') { LAB_1806b4eb1: *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 0x10; } else { lVar22 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar22 + 0x1fd),"visible"); lVar22 = FUN_180870eb0(param_2); if (*(char *)(lVar22 + 0x108) == '\0') goto LAB_1806b4eb1; *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 0x20; } pcVar26 = (char *)FUN_1806bbb30(param_2); if (*pcVar26 == '\0') { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 0x40; } else { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 0x80; } cVar3 = FUN_1808eac00(param_2); if (cVar3 == '\0') { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 0x100; } else { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 0x200; } puVar19 = (uint *)FUN_18069e770(param_2); if ((*puVar19 & 0x800) == 0) { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 0x800; } else { *(ulonglong *)(lVar27 + 0x48) = *(ulonglong *)(lVar27 + 0x48) | 0x400; } puVar14 = (undefined4 *)FUN_1806aa760(param_3); *(undefined4 *)(lVar27 + 0x54) = *puVar14; uVar7 = FUN_1806bbaa0(param_3); FUN_1805a4070(&local_1a0,uVar7); lVar22 = FUN_1807064c0(); iVar4 = FUN_18060cd70(&local_1a0,lVar22 + 0x300); if (iVar4 == 0) { LAB_1806b5000: if (cVar28 != '\0') { *(undefined8 *)(lVar27 + 0x40) = 1; lVar22 = FUN_1807064c0(); ppppuVar20 = (undefined8 ****)(lVar22 + 0x300); if (&local_1a0 != ppppuVar20) { if (0xf < *(ulonglong *)(lVar22 + 0x318)) { ppppuVar20 = (undefined8 ****)*ppppuVar20; } FUN_1805a6cb0(&local_1a0,ppppuVar20,*(undefined8 *)(lVar22 + 0x310)); } goto LAB_1806b50f6; } if (local_2b6 == '\0') { *(undefined8 *)(lVar27 + 0x40) = 4; lVar22 = FUN_1807064c0(); ppppuVar20 = (undefined8 ****)(lVar22 + 800); if (&local_1a0 != ppppuVar20) { if (0xf < *(ulonglong *)(lVar22 + 0x338)) { ppppuVar20 = (undefined8 ****)*ppppuVar20; } FUN_1805a6cb0(&local_1a0,ppppuVar20,*(undefined8 *)(lVar22 + 0x330)); } goto LAB_1806b50f2; } *(undefined8 *)(lVar27 + 0x40) = 8; lVar22 = FUN_1807064c0(); ppppuVar20 = (undefined8 ****)(lVar22 + 0x360); if (&local_1a0 != ppppuVar20) { if (0xf < *(ulonglong *)(lVar22 + 0x378)) { ppppuVar20 = (undefined8 ****)*ppppuVar20; } FUN_1805a6cb0(&local_1a0,ppppuVar20,*(undefined8 *)(lVar22 + 0x370)); } *(undefined4 *)(lVar27 + 0x50) = 1; cVar3 = (char)local_278; if (local_287 != '\0') { cVar3 = '\x01'; } *(undefined1 *)(lVar27 + 0x59) = 0; } else { lVar22 = FUN_1807064c0(); iVar4 = FUN_18060cd70(&local_1a0,lVar22 + 0x360); if (iVar4 == 0) goto LAB_1806b5000; lVar22 = FUN_1807064c0(); iVar4 = FUN_18060cd70(&local_1a0,lVar22 + 800); if (iVar4 != 0) { lVar22 = FUN_1807064c0(); iVar4 = FUN_18060cd70(&local_1a0,lVar22 + 0x340); *(undefined4 *)(lVar27 + 0x50) = 0; *(undefined1 *)(lVar27 + 0x59) = 0; if (iVar4 == 0) { *(undefined8 *)(lVar27 + 0x40) = 0x10; *(undefined2 *)(lVar5 + 0x20) = 0; *(undefined4 *)(lVar5 + 0x24) = *(undefined4 *)(lVar27 + 0x50); } else { *(undefined8 *)(lVar27 + 0x40) = 2; *(undefined2 *)(lVar5 + 0x20) = 0; *(undefined4 *)(lVar5 + 0x24) = *(undefined4 *)(lVar27 + 0x50); } goto LAB_1806b5175; } *(undefined8 *)(lVar27 + 0x40) = 4; cVar28 = '\0'; LAB_1806b50f2: *(undefined4 *)(lVar27 + 0x50) = 0; LAB_1806b50f6: cVar3 = (char)local_278; } pcVar26 = (char *)FUN_1806bbb30(param_2); if (cVar28 == '\0') { if ((*pcVar26 != '\0') || ((*local_270 == '\0' && (*(char *)(lVar27 + 0x58) != '\0')))) { if (*(int *)(lVar27 + 0x50) < *(int *)(lVar5 + 0x24)) { *(int *)(lVar5 + 0x24) = *(int *)(lVar27 + 0x50); } *(undefined1 *)(lVar5 + 0x20) = 0; if (cVar3 == '\0') { *(undefined1 *)(lVar5 + 0x21) = 0; } } } else if ((((*pcVar26 != '\0') && (*(int *)(lVar27 + 8) != 0x4801f777)) || ((*local_270 == '\0' && (*(char *)(lVar27 + 0x58) != '\0')))) && (*(int *)(lVar27 + 0x50) < *(int *)(lVar5 + 0x24))) { *(int *)(lVar5 + 0x24) = *(int *)(lVar27 + 0x50); } LAB_1806b5175: if ((*(longlong *)(lVar27 + 0x30) == 2) && (((*(char *)(lVar27 + 0x58) == '\0' || ((*(byte *)(lVar27 + 0x48) & 0x80) != 0)) || (((undefined8 ****)local_238 != (undefined8 ****)0x0 && (*local_270 == '\0')))))) { *(undefined8 *)(lVar27 + 0x40) = 0x20; *(undefined4 *)(lVar27 + 0x50) = 0; *(undefined1 *)(lVar27 + 0x59) = 0; *(undefined2 *)(lVar5 + 0x20) = 0; *(undefined4 *)(lVar5 + 0x24) = *(undefined4 *)(lVar27 + 0x50); } if (*(char *)(lVar27 + 0x58) != '\0') { *local_270 = '\x01'; } FUN_180485450(&local_1a0); FUN_180485450(local_140); FUN_180485450(local_180); FUN_180485450(local_160); } ############ FUN_ 180872df0 size=570 ############ undefined8 FUN_180872df0(longlong param_1,undefined8 param_2,ulonglong param_3) { undefined8 *puVar1; char cVar2; longlong lVar3; undefined8 uVar4; char *pcVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; char *local_res8 [2]; ulonglong local_res18; char *local_res20; undefined **local_60; undefined4 local_58; longlong local_50; undefined2 local_48; local_res18 = param_3; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] != (char *)0x0) { FUN_1805a48c0(local_res8[0],"LsObjectRelationVector<>::at: This one-to-one relation is empty." ); } lVar3 = FUN_1805c0260(); local_res8[0] = (char *)CONCAT44(local_res8[0]._4_4_,0x6e); local_res20 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorcountlimit.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res8); } if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5) <= param_3) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8[0], "LsObjectRelationVector<>::at: Index is out of range. This object relation vector contains %u entries and the supplied index value was %u" ); } pcVar5 = (char *)FUN_1811316e0(0x18); if (pcVar5 == (char *)0x0) { pcVar5 = (char *)0x0; } else { local_res8[0] = pcVar5; FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; } local_res8[0] = (char *)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0x70); local_res8[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorcountlimit.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar5 + 8),local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } lVar3 = **(longlong **)(param_1 + 8); if (param_3 < (ulonglong)((*(longlong **)(param_1 + 8))[1] - lVar3 >> 5)) { lVar7 = param_3 * 0x20; local_60 = license_services::LsRelation::vftable; local_58 = *(undefined4 *)(lVar7 + 8 + lVar3); local_50 = *(longlong *)(lVar7 + 0x10 + lVar3); local_48 = *(undefined2 *)(lVar7 + 0x18 + lVar3); cVar2 = FUN_18080b1c0(&local_60); if (cVar2 == '\0') { lVar3 = *(longlong *)(param_1 + 0x20); puVar1 = *(undefined8 **)(*(longlong *)(lVar3 + 8) + 0x20); cVar2 = *(char *)((longlong)puVar1[1] + 0x19); puVar9 = puVar1; puVar8 = (undefined8 *)puVar1[1]; while (cVar2 == '\0') { if ((longlong)puVar8[4] < local_50) { puVar6 = (undefined8 *)puVar8[2]; puVar8 = puVar9; } else { puVar6 = (undefined8 *)*puVar8; } puVar9 = puVar8; puVar8 = puVar6; cVar2 = *(char *)((longlong)puVar6 + 0x19); } if ((puVar9 == puVar1) || (local_50 < (longlong)puVar9[4])) { puVar9 = puVar1; } if (puVar9 == puVar1) { FUN_180ace520(lVar3,*(undefined8 *)(param_1 + 8),0); } } else { lVar3 = *(longlong *)(param_1 + 0x20); } FUN_180ace2d0(lVar3,param_2,&local_60,0); return param_2; } /* WARNING: Subroutine does not return */ FUN_1808077d0(); } ############ FUN_ 1808be6f0 size=570 ############ undefined8 FUN_1808be6f0(longlong param_1,undefined8 param_2,ulonglong param_3) { undefined8 *puVar1; char cVar2; longlong lVar3; undefined8 uVar4; char *pcVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; char *local_res8 [2]; ulonglong local_res18; char *local_res20; undefined **local_60; undefined4 local_58; longlong local_50; undefined2 local_48; local_res18 = param_3; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] != (char *)0x0) { FUN_1805a48c0(local_res8[0],"LsObjectRelationVector<>::at: This one-to-one relation is empty." ); } lVar3 = FUN_1805c0260(); local_res8[0] = (char *)CONCAT44(local_res8[0]._4_4_,0x6e); local_res20 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectortimelimit.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res8); } if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5) <= param_3) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8[0], "LsObjectRelationVector<>::at: Index is out of range. This object relation vector contains %u entries and the supplied index value was %u" ); } pcVar5 = (char *)FUN_1811316e0(0x18); if (pcVar5 == (char *)0x0) { pcVar5 = (char *)0x0; } else { local_res8[0] = pcVar5; FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; } local_res8[0] = (char *)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0x70); local_res8[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectortimelimit.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar5 + 8),local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } lVar3 = **(longlong **)(param_1 + 8); if (param_3 < (ulonglong)((*(longlong **)(param_1 + 8))[1] - lVar3 >> 5)) { lVar7 = param_3 * 0x20; local_60 = license_services::LsRelation::vftable; local_58 = *(undefined4 *)(lVar7 + 8 + lVar3); local_50 = *(longlong *)(lVar7 + 0x10 + lVar3); local_48 = *(undefined2 *)(lVar7 + 0x18 + lVar3); cVar2 = FUN_18080b1c0(&local_60); if (cVar2 == '\0') { lVar3 = *(longlong *)(param_1 + 0x20); puVar1 = *(undefined8 **)(*(longlong *)(lVar3 + 8) + 0x20); cVar2 = *(char *)((longlong)puVar1[1] + 0x19); puVar9 = puVar1; puVar8 = (undefined8 *)puVar1[1]; while (cVar2 == '\0') { if ((longlong)puVar8[4] < local_50) { puVar6 = (undefined8 *)puVar8[2]; puVar8 = puVar9; } else { puVar6 = (undefined8 *)*puVar8; } puVar9 = puVar8; puVar8 = puVar6; cVar2 = *(char *)((longlong)puVar6 + 0x19); } if ((puVar9 == puVar1) || (local_50 < (longlong)puVar9[4])) { puVar9 = puVar1; } if (puVar9 == puVar1) { FUN_180aecb20(lVar3,*(undefined8 *)(param_1 + 8),0); } } else { lVar3 = *(longlong *)(param_1 + 0x20); } FUN_180aec8d0(lVar3,param_2,&local_60,0); return param_2; } /* WARNING: Subroutine does not return */ FUN_1808077d0(); } ############ FUN_ 1808c6a00 size=961 ############ /* WARNING: Instruction at (ram,0x0001808c6d26) overlaps instruction at (ram,0x0001808c6d25) */ /* WARNING: Removing unreachable block (ram,0x0001808c6c96) */ /* WARNING: Removing unreachable block (ram,0x0001808c6c84) */ void FUN_1808c6a00(longlong *param_1,undefined8 param_2) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; undefined4 uVar5; longlong lVar6; longlong lVar7; undefined8 uVar8; longlong lVar9; longlong *plVar10; uint uVar11; longlong unaff_R13; bool bVar12; char cVar13; char cVar14; int unaff_retaddr; undefined1 auStack_160 [48]; longlong lStack_130; longlong local_128 [2]; undefined1 auStack_118 [32]; code *local_f8; longlong *local_f0; undefined1 local_e8; undefined4 local_a8; uint local_a4; longlong local_98; longlong *local_90; undefined8 local_88; longlong local_80; undefined8 local_68; longlong local_60; ulonglong local_40; local_68 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_118; uVar11 = (uint)&stack0x00000000 & 0x1aff; uVar11 = (uVar11 * uVar11 * 0x10 + 4) % 0x13; local_a4 = (int)(-uVar11 | uVar11) >> 0x1f & 0x3e33U ^ 0x33e3; local_a8 = 0x4b0; local_88 = param_2; if (param_1[0xd] == 0) { lVar6 = param_1[3]; if (lVar6 == 0) { local_128[1] = 0x1808c6b1f; lVar6 = (**(code **)(*param_1 + 0x48))(param_1); } lVar9 = param_1[8]; local_128[1] = 0x1808c6b30; lVar7 = FUN_1811316e0(0x38); local_80 = lVar7; if (lVar7 == 0) { lVar6 = 0; } else { local_128[1] = 0x1808c6b41; uVar5 = FUN_180acc470(); local_128[1] = 0x1808c6b4b; uVar8 = FUN_180a3d1e0(lVar9,uVar5); local_f8 = (code *)CONCAT44(local_f8._4_4_,1); local_128[1] = 0x1808c6b6b; uVar8 = __RTDynamicCast(uVar8,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorCountLimit:: RTTI_Type_Descriptor); local_e8 = 1; local_f8 = FUN_1808ec8a0; local_128[1] = 0x1808c6b96; local_f0 = param_1; lVar6 = FUN_180871030(lVar7,param_1,lVar6 + 0x140,uVar8); } local_128[1] = 0x1808c6bad; local_98 = lVar6; FUN_1808beaf0(&local_90,lVar6); local_128[1] = 0x1808c6bbc; FUN_1805ae620(&local_98,lVar6,lVar6); local_60 = local_98; lVar6 = param_1[0xd]; param_1[0xd] = local_98; plVar4 = (longlong *)param_1[0xe]; param_1[0xe] = (longlong)local_90; local_98 = lVar6; local_90 = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { local_128[1] = 0x1808c6bff; (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { local_128[1] = 0x1808c6c12; (**(code **)(*plVar4 + 0x10))(plVar4); } } } } lVar6 = param_1[3]; if (lVar6 == 0) { local_128[1] = 0x1808c6c29; lVar6 = (**(code **)(*param_1 + 0x48))(param_1); } lVar9 = param_1[3]; if (lVar9 == 0) { local_128[1] = 0x1808c6c3e; lVar9 = (**(code **)(*param_1 + 0x48))(param_1); } local_80 = param_1[0xd]; if (lVar6 != DAT_182667a60) { local_128[1] = 0x1808c6c5e; FUN_180a3b7d0(local_80,lVar9 + 0x140); DAT_182667a60 = lVar6; } do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } cVar14 = '\0'; cVar13 = (int)uVar11 < 0; bVar12 = uVar11 == 0; } while (!bVar12); /* WARNING: Call to offcut address within same function */ lStack_130 = 0x1808c6cc5; local_128[0] = lVar6; func_0x0001808c6cc8(); if (bVar12 || cVar14 != cVar13) { plVar10 = (longlong *)(ulonglong)((int)local_128 + 0x28); } else { local_128[0] = CONCAT44(local_128[0]._4_4_,(int)local_128[0] + 0x13a); lStack_130 = unaff_R13 + -0x16f82; lVar6 = unaff_R13 + 0x2d22b; plVar10 = (longlong *)auStack_160; } plVar10[5] = lVar6; plVar10[4] = unaff_R13 + -0x228cf; plVar10[3] = unaff_R13 + 0x4d719; plVar10[2] = unaff_R13 + -0x62a46; plVar10[1] = unaff_R13 + -0x33b90; *plVar10 = unaff_R13 + 0x85b3b; /* WARNING: Could not recover jumptable at 0x0001808c6dcb. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(unaff_R13 + 0x465ff))(); return; } ############ FUN_ 1808beaf0 size=97 ############ undefined8 * FUN_1808beaf0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1808c7980 size=997 ############ /* WARNING: Instruction at (ram,0x0001808c7d60) overlaps instruction at (ram,0x0001808c7d5f) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001808c7f1b) */ /* WARNING: Removing unreachable block (ram,0x0001808c7a44) */ /* WARNING: Removing unreachable block (ram,0x0001808c80d5) */ /* WARNING: Removing unreachable block (ram,0x0001808c8117) */ /* WARNING: Removing unreachable block (ram,0x0001808c8119) */ /* WARNING: Removing unreachable block (ram,0x0001808c8118) */ /* WARNING: Removing unreachable block (ram,0x0001808c7d5f) */ /* WARNING: Removing unreachable block (ram,0x0001808c807d) */ /* WARNING: Removing unreachable block (ram,0x0001808c80c4) */ /* WARNING: Removing unreachable block (ram,0x0001808c811d) */ void FUN_1808c7980(longlong *param_1,undefined8 param_2) { longlong *plVar1; int *piVar2; undefined7 uVar3; undefined4 uVar4; uint uVar5; longlong lVar6; longlong lVar7; undefined8 uVar8; longlong lVar9; longlong lVar10; uint uVar11; uint uVar12; uint uVar13; int iVar14; longlong *plVar15; IMAGE_DOS_HEADER *pIVar16; uint uVar17; IMAGE_DOS_HEADER *pIVar18; int *piVar19; uint uVar20; ulonglong uVar21; longlong lVar22; int unaff_retaddr; undefined1 auStack_f8 [32]; code *local_d8; longlong *local_d0; undefined1 local_c8; longlong local_b8; undefined *local_b0; longlong local_a8; int iStack_9c; undefined4 local_98; undefined4 local_94; longlong local_90; longlong local_88; longlong *local_80; undefined8 local_78; undefined8 local_70; longlong local_68; int aiStack_58 [4]; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_f8; local_98 = 0x60; local_94 = 0xf40; lVar22 = 0; local_78 = param_2; if (param_1[0xf] == 0) { lVar6 = param_1[3]; if (lVar6 == 0) { lVar6 = (**(code **)(*param_1 + 0x48))(param_1); } lVar10 = param_1[8]; lVar7 = FUN_1811316e0(0x38); lVar9 = lVar22; local_90 = lVar7; if (lVar7 != 0) { uVar4 = FUN_180ad4960(); uVar8 = FUN_180a3d1e0(lVar10,uVar4); local_d8 = (code *)CONCAT44(local_d8._4_4_,1); uVar8 = __RTDynamicCast(uVar8,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorDeveloperBlock:: RTTI_Type_Descriptor); local_c8 = 1; local_d8 = FUN_1808ec990; local_d0 = param_1; lVar9 = FUN_180889ab0(lVar7,param_1,lVar6 + 0x158,uVar8); } local_88 = lVar9; FUN_1808beb60(&local_80,lVar9); FUN_1805ae620(&local_88,lVar9,lVar9); local_68 = local_88; lVar6 = param_1[0xf]; param_1[0xf] = local_88; plVar15 = (longlong *)param_1[0x10]; param_1[0x10] = (longlong)local_80; local_88 = lVar6; local_80 = plVar15; if (plVar15 != (longlong *)0x0) { LOCK(); plVar1 = plVar15 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar15 + 8))(plVar15); LOCK(); piVar2 = (int *)((longlong)plVar15 + 0xc); iVar14 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar14 == 1) { (**(code **)(*plVar15 + 0x10))(plVar15); } } } } lVar6 = param_1[3]; if (lVar6 == 0) { lVar6 = (**(code **)(*param_1 + 0x48))(param_1); } lVar10 = param_1[3]; if (lVar10 == 0) { lVar10 = (**(code **)(*param_1 + 0x48))(param_1); } local_90 = param_1[0xf]; if (lVar6 != DAT_182667a68) { FUN_180a3b7d0(local_90,lVar10 + 0x158); DAT_182667a68 = lVar6; } pIVar18 = &IMAGE_DOS_HEADER_180000000; local_b8 = 0x180b4a870; local_b0 = &DAT_180b4c344; uVar21 = 0x1ad4; uVar17 = 0xd095f9fc; do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } local_a8 = local_b8; } while (uVar11 != 0); do { func_0x0001808c797b(); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); do { lVar6 = (uVar21 ^ 0xffffffffffffffff) + 1; uVar21 = -lVar6; lVar22 = (-lVar22 ^ 0xffffffffffffffffU) + 1; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); local_b8 = 0x67c5df3aa5d1970; local_b0 = (undefined *)CONCAT44(local_b0._4_4_,0xaa5d1970); uVar20 = (uint)uVar21; uVar11 = uVar20 & 0x3f | 0x1a; uVar3 = (undefined7)((ulonglong)lVar22 >> 8); lVar22 = ((longlong) ((int)((ulonglong)lVar22 >> 8) * 0x100 - (int)CONCAT71(uVar3,uVar11 * uVar11 * 0xb6b1 == 0xd41f669)) ^ 0x14U) - 0x18; uVar11 = uVar20 & 0x1f | 0x2b; code_r0x0001808c7ed6: uVar13 = (uint)lVar22; uVar12 = uVar17 & 7 | 0x2a; uVar5 = uVar13 & 0x7f | 0x54; if (((-(uVar12 * uVar12) ^ uVar5 * uVar5 * -0x15) & 0x30) == 0) { uVar5 = uVar17 & 0x37f; iVar14 = (uVar5 + 2) * (uVar5 + 1) * uVar5; uVar5 = ((iVar14 >> 1) - (iVar14 >> 3)) + iVar14 * 0x55555555 >> 0x1e; } else { uVar5 = ((uVar20 & 0x51ff) + 1) * (uVar20 & 0x51ff) & 0x80000001; } uVar12 = uVar13 & 0x3f | 0x17; uVar13 = (uVar13 & 0x5fff) * (uVar13 & 0x5fff) + 1; lVar22 = lVar22 + 4 + ((((longlong)(int)uVar5 | 0x18cdU) ^ 0x18d5) - ((longlong) (0x2e4 << ((byte)((int)CONCAT71(uVar3,uVar11 * uVar11 * 0xa98b == uVar12 * uVar12 * 0x9e0b) >> ((char)uVar13 + (char)(uVar13 / 7) * -7 & 0x1fU)) & 0x1f)) ^ 0x2fcU)); if (-lVar22 == lVar6) { func_0x0001808c8162(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } piVar2 = (int *)(local_a8 + lVar22); piVar19 = piVar2; if ((pIVar18 != (IMAGE_DOS_HEADER *)0x0) && (lVar10._0_1_ = pIVar18->e_magic[0], lVar10._1_1_ = pIVar18->e_magic[1], lVar10._2_2_ = pIVar18->e_cblp, lVar10._4_2_ = pIVar18->e_cp, lVar10._6_2_ = pIVar18->e_crlc, -1 < lVar10)) { local_b8 = 0x2621fc0; pIVar16 = pIVar18; do { if (piVar2 < IMAGE_DOS_HEADER_180000000.e_magic + lVar10 + 8) { pIVar18 = pIVar16; if (-1 < lVar10) { plVar15 = (longlong *)(lVar10 + 0x180000000); if (plVar15 < piVar2 + 1) { aiStack_58[0] = *piVar2; goto code_r0x0001808c8061; } } break; } pIVar18 = (IMAGE_DOS_HEADER *)&pIVar16->e_cparhdr; lVar10._0_2_ = pIVar16->e_cparhdr; lVar10._2_2_ = pIVar16->e_minalloc; lVar10._4_2_ = pIVar16->e_maxalloc; lVar10._6_2_ = pIVar16->e_ss; pIVar16 = pIVar18; } while (-1 < lVar10); } goto code_r0x0001808c8090; while (plVar15 = (longlong *)(lVar10 + 0x180000000), plVar15 < piVar2 + 1) { code_r0x0001808c8061: *(longlong *)(&stack0x00017fffffa8 + (lVar10 - (longlong)piVar2)) = *plVar15 + -0x180000000; pIVar16 = (IMAGE_DOS_HEADER *)&pIVar16->e_cparhdr; lVar10 = *(longlong *)pIVar16; piVar19 = aiStack_58; if (lVar10 < 0) break; } code_r0x0001808c8090: do { iStack_9c = *piVar19; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar17 = (iStack_9c + uVar17) * 0x401; uVar17 = uVar17 ^ uVar17 >> 6; goto code_r0x0001808c7ed6; } ############ FUN_ 1808beb60 size=97 ############ undefined8 * FUN_1808beb60(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1808f1970 size=940 ############ /* WARNING: Removing unreachable block (ram,0x0001808f19fa) */ void FUN_1808f1970(longlong *param_1,undefined8 param_2) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; longlong *plVar5; uint uVar6; undefined4 uVar7; longlong lVar8; longlong lVar9; undefined8 uVar10; longlong in_R10; undefined1 local_f8 [32]; code *local_d8; longlong *local_d0; undefined1 local_c8; uint local_94; undefined4 local_8c; longlong local_88; longlong local_80; longlong *local_78; undefined8 local_70; undefined8 local_68; longlong local_60; ulonglong local_40; local_68 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)local_f8; local_8c = 0x570; uVar6 = (uint)&stack0x00000000 & 0x7ff; uVar6 = (uVar6 + 1) * uVar6 + 0x622b & 0x80000001 | (uint)&stack0x00000000; local_94 = ((int)(-uVar6 | uVar6) >> 0x1f ^ 0xfffff7dfU) & 0xca7f; local_70 = param_2; if (param_1[0x19] == 0) { lVar8 = param_1[3]; if (lVar8 == 0) { lVar8 = (**(code **)(*param_1 + 0x48))(param_1); } lVar4 = param_1[8]; lVar9 = FUN_1811316e0(0x38); local_88 = lVar9; if (lVar9 == 0) { lVar8 = 0; } else { uVar7 = FUN_180aeb130(); uVar10 = FUN_180a3d1e0(lVar4,uVar7); local_d8 = (code *)CONCAT44(local_d8._4_4_,1); uVar10 = __RTDynamicCast(uVar10,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorTimeLimit:: RTTI_Type_Descriptor); local_c8 = 1; local_d8 = FUN_1808ecc60; local_d0 = param_1; lVar8 = FUN_1808bcaf0(lVar9,param_1,lVar8 + 0x1d0,uVar10); } local_80 = lVar8; FUN_1808becb0(&local_78,lVar8); FUN_1805ae620(&local_80,lVar8,lVar8); local_60 = local_80; lVar8 = param_1[0x19]; param_1[0x19] = local_80; plVar5 = (longlong *)param_1[0x1a]; param_1[0x1a] = (longlong)local_78; local_80 = lVar8; local_78 = plVar5; if (plVar5 != (longlong *)0x0) { LOCK(); plVar1 = plVar5 + 1; lVar8 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar2 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } } lVar8 = param_1[3]; if (lVar8 == 0) { lVar8 = (**(code **)(*param_1 + 0x48))(param_1); } if (param_1[3] == 0) { (**(code **)(*param_1 + 0x48))(param_1); } local_88 = param_1[0x19]; if (lVar8 != DAT_182667a90) { FUN_180a3b7d0(); DAT_182667a90 = lVar8; } /* WARNING: Call to offcut address within same function */ func_0x0001808f1bd3(); /* WARNING: Could not recover jumptable at 0x0001808f1d2e. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(in_R10 + 0x85d4))(); return; } ############ FUN_ 1808becb0 size=97 ############ undefined8 * FUN_1808becb0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1806b5230 size=4140 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806b5230(ulonglong param_1,longlong *param_2,undefined8 param_3,longlong *param_4, longlong param_5,longlong *param_6,uint param_7) { uint uVar1; uint *puVar2; undefined4 *puVar3; int *piVar4; undefined4 uVar5; undefined4 uVar6; undefined4 uVar7; undefined8 uVar8; longlong lVar9; longlong lVar10; undefined8 *puVar11; longlong lVar12; char cVar13; uint *puVar14; void *_Memory; int *piVar15; longlong lVar16; ushort uVar17; char cVar18; undefined1 uVar19; ulonglong uVar20; longlong *plVar21; ulonglong uVar22; ulonglong uVar23; char *pcVar24; char *pcVar25; undefined4 *puVar26; ushort uVar27; longlong lVar28; char *pcVar29; bool bVar30; undefined1 auStack_228 [32]; uint local_208; uint local_200; undefined1 local_1f8; uint local_1f0; char local_1e8; char local_1e7; ushort local_1e6; undefined4 local_1e0; longlong *local_1d8; undefined1 local_1d0; undefined1 local_1cf; undefined1 local_1ce; undefined1 local_1cd; uint local_1cc; uint local_1c8; ulonglong local_1c0; char *local_1b8; longlong local_1b0; ulonglong local_1a8; ulonglong *local_1a0; longlong local_198; ulonglong *puStack_190; ulonglong *local_188; longlong local_180; ulonglong *puStack_178; ulonglong *local_170; longlong local_168; ulonglong *puStack_160; ulonglong *local_158; ulonglong local_150; undefined8 *local_148; longlong local_140; ulonglong *puStack_138; ulonglong *local_130; undefined8 *local_128; longlong local_120 [5]; undefined **local_f8; undefined4 local_f0; void *local_e8; undefined8 uStack_e0; longlong local_d8; undefined8 uStack_d0; undefined8 local_c8; undefined8 uStack_c0; undefined8 local_b8; undefined8 uStack_b0; undefined8 local_a8; undefined4 local_a0; undefined4 local_9c; undefined4 local_98; undefined4 local_94; undefined4 local_8c; char local_88; byte local_87; char local_86; undefined1 local_85; undefined1 local_84; undefined8 local_83; undefined4 local_7b; undefined2 local_77; char local_75; ulonglong local_48; local_120[3] = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_228; local_1b0 = param_5; local_1c8 = param_7; local_180 = 0; puStack_178 = (ulonglong *)0x0; local_170 = (ulonglong *)0x0; local_140 = 0; puStack_138 = (ulonglong *)0x0; local_130 = (ulonglong *)0x0; local_198 = 0; puStack_190 = (ulonglong *)0x0; local_188 = (ulonglong *)0x0; local_168 = 0; puStack_160 = (ulonglong *)0x0; local_1a0 = (ulonglong *)0x0; local_158 = (ulonglong *)0x0; pcVar24 = (char *)0xffffffff; local_1cc = 0xffffff00; local_1cd = 0; local_1ce = 0; local_1cf = 0; local_1d0 = 0; local_1e7 = '\0'; if ((param_4 == (longlong *)0x0) || (param_4[1] - *param_4 >> 2 == 0)) { cVar18 = '\x01'; } else { cVar18 = '\0'; } uVar27 = *(ushort *)(param_1 + 2) >> 0xd; uVar17 = uVar27 & 1; cVar13 = (char)uVar17; local_1e0 = CONCAT22(local_1e0._2_2_,uVar27) & 0xffff0001; uVar27 = *(ushort *)(param_1 + 2) >> 0xe & 0xff01; local_120[0] = 0; local_120[1] = 0; local_120[2] = 0; plVar21 = local_120; if (param_6 != (longlong *)0x0) { plVar21 = param_6; } local_1b8 = (char *)(param_2[1] - *param_2 >> 5); pcVar29 = (char *)0x0; local_150 = 1; local_1e8 = cVar18; local_1e6 = uVar27; local_1d8 = param_2; local_1a8 = param_1; local_148 = (undefined8 *)param_3; if (local_1b8 == (char *)0x0) { LAB_1806b597d: uVar19 = (undefined1)uVar27; if (cVar18 == '\0') goto LAB_1806b598a; } else { lVar28 = 0; do { cVar13 = (char)local_1e6; pcVar25 = (char *)(*local_1d8 + lVar28); uVar1 = *(uint *)(pcVar25 + 4); uVar20 = (ulonglong)uVar1; if (uVar1 == 0x80000000) { if (*pcVar25 == -0x70) { pcVar24 = pcVar29; } if ((*pcVar25 == -0x7f) && ((char)uVar17 != '\0')) { if (plVar21[2] == plVar21[1]) { FUN_18063fa90(plVar21); cVar13 = (char)local_1e6; } else { puVar26 = (undefined4 *)plVar21[1]; uVar5 = *(undefined4 *)(pcVar25 + 4); uVar6 = *(undefined4 *)(pcVar25 + 8); uVar7 = *(undefined4 *)(pcVar25 + 0xc); *puVar26 = *(undefined4 *)pcVar25; puVar26[1] = uVar5; puVar26[2] = uVar6; puVar26[3] = uVar7; uVar5 = *(undefined4 *)(pcVar25 + 0x14); uVar6 = *(undefined4 *)(pcVar25 + 0x18); uVar7 = *(undefined4 *)(pcVar25 + 0x1c); puVar26[4] = *(undefined4 *)(pcVar25 + 0x10); puVar26[5] = uVar5; puVar26[6] = uVar6; puVar26[7] = uVar7; plVar21[1] = plVar21[1] + 0x20; } } pcVar25 = (char *)(*local_1d8 + lVar28); if ((*pcVar25 == -0x7e) && (cVar13 != '\0')) { LAB_1806b5404: if (plVar21[2] == plVar21[1]) { FUN_18063fa90(plVar21); } else { puVar26 = (undefined4 *)plVar21[1]; uVar5 = *(undefined4 *)(pcVar25 + 4); uVar6 = *(undefined4 *)(pcVar25 + 8); uVar7 = *(undefined4 *)(pcVar25 + 0xc); *puVar26 = *(undefined4 *)pcVar25; puVar26[1] = uVar5; puVar26[2] = uVar6; puVar26[3] = uVar7; uVar5 = *(undefined4 *)(pcVar25 + 0x14); uVar6 = *(undefined4 *)(pcVar25 + 0x18); uVar7 = *(undefined4 *)(pcVar25 + 0x1c); puVar26[4] = *(undefined4 *)(pcVar25 + 0x10); puVar26[5] = uVar5; puVar26[6] = uVar6; puVar26[7] = uVar7; plVar21[1] = plVar21[1] + 0x20; } } } else if ((uVar1 == 0x80000002) && (*pcVar25 == -0x7f)) goto LAB_1806b5404; if (cVar18 == '\0') { puVar2 = (uint *)param_4[1]; puVar14 = (uint *)*param_4; if (puVar14 != puVar2) { do { if (*puVar14 == uVar1) break; puVar14 = puVar14 + 1; } while (puVar14 != puVar2); if (puVar14 != puVar2) goto LAB_1806b546b; } } else { LAB_1806b546b: pcVar25 = (char *)(*local_1d8 + lVar28); cVar13 = *pcVar25; if (cVar13 == -0x7f) { if ((uVar1 != 0x80000000) && (uVar1 != 0x80000002)) { local_208 = local_1c8; uVar8 = FUN_18068c5a0(&local_f8,pcVar25,local_148,0); lVar9 = local_1b0; if (*(longlong *)(local_1b0 + 0x18) == *(longlong *)(local_1b0 + 0x10)) { FUN_18066d840(local_1b0 + 8,*(undefined8 *)(local_1b0 + 0x10),uVar8); } else { FUN_1805b6190(*(undefined8 *)(local_1b0 + 0x10)); *(longlong *)(lVar9 + 0x10) = *(longlong *)(lVar9 + 0x10) + 0xa8; } FUN_1805b9270(&local_f8); cVar18 = local_1e8; } } else if (cVar13 == -0x7e) { if (uVar1 != 0x80000000) { local_1f0 = local_1c8; local_1f8 = 0; local_200 = local_200 & 0xffffff00; local_208 = local_208 & 0xffffff00; uVar8 = FUN_180687800(&local_f8,pcVar25,0,0); lVar9 = local_1b0; if (*(longlong *)(local_1b0 + 0x30) == *(longlong *)(local_1b0 + 0x28)) { FUN_18066d290(local_1b0 + 0x20,*(undefined8 *)(local_1b0 + 0x28),uVar8); } else { FUN_1805b5600(*(undefined8 *)(local_1b0 + 0x28)); *(longlong *)(lVar9 + 0x28) = *(longlong *)(lVar9 + 0x28) + 0x60; } local_f8 = pace::eden::thrift::pub::CountLimitRecord::vftable; cVar18 = local_1e8; if (local_e8 != (void *)0x0) { _Memory = local_e8; if ((0xfff < (ulonglong)(local_d8 - (longlong)local_e8)) && (_Memory = *(void **)((longlong)local_e8 + -8), 0x1f < (ulonglong)((longlong)local_e8 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } } else if (cVar13 == -0x7c) { lVar9 = FUN_1805fcae0(); local_1cc = local_1cc & 0xff; if (uVar1 == *(uint *)(lVar9 + 0x74)) { local_1cc = 1; } local_208 = local_1c8; uVar8 = FUN_180688050(&local_f8,*local_1d8 + lVar28,&local_1cd,&local_1ce); lVar9 = local_1b0; if (*(longlong *)(local_1b0 + 0x48) == *(longlong *)(local_1b0 + 0x40)) { FUN_18066d410(local_1b0 + 0x38,*(undefined8 *)(local_1b0 + 0x40),uVar8); } else { FUN_180676fd0(*(undefined8 *)(local_1b0 + 0x40),uVar8); *(longlong *)(lVar9 + 0x40) = *(longlong *)(lVar9 + 0x40) + 0x58; } FUN_18067afa0(&local_f8); cVar18 = local_1e8; if ((*(ushort *)(*local_1d8 + 2 + lVar28) & 0x200) != 0) { if (local_170 == puStack_178) { local_1c0 = uVar20; FUN_18066d180(&local_180,puStack_178,&local_1c0); } else { *puStack_178 = uVar20; puStack_178 = puStack_178 + 1; } local_1c0 = (ulonglong)(uVar1 + 1); if (local_130 == puStack_138) { FUN_18066d180(&local_140,puStack_138,&local_1c0); cVar18 = local_1e8; } else { *puStack_138 = local_1c0; puStack_138 = puStack_138 + 1; cVar18 = local_1e8; } } } else if (cVar13 == -0x78) { local_208 = local_1c8; uVar8 = FUN_1806896f0(&local_f8,pcVar25,&local_1cf,&local_1d0); lVar9 = local_1b0; if (*(longlong *)(local_1b0 + 0x60) == *(longlong *)(local_1b0 + 0x58)) { FUN_18066d620(local_1b0 + 0x50,*(undefined8 *)(local_1b0 + 0x58),uVar8); } else { FUN_180677c80(*(undefined8 *)(local_1b0 + 0x58)); *(longlong *)(lVar9 + 0x58) = *(longlong *)(lVar9 + 0x58) + 0x88; } FUN_18067d0a0(&local_f8); if ((*(ushort *)(*local_1d8 + 2 + lVar28) & 0x200) != 0) { if (local_188 == puStack_190) { local_1c0 = uVar20; FUN_18066d180(&local_198,puStack_190,&local_1c0); } else { *puStack_190 = uVar20; puStack_190 = puStack_190 + 1; } local_1c0 = (ulonglong)(uVar1 + 1); if (local_1a0 == puStack_160) { FUN_18066d180(&local_168,puStack_160,&local_1c0); local_1a0 = local_158; } else { *puStack_160 = local_1c0; puStack_160 = puStack_160 + 1; } } cVar18 = local_1e8; if (uVar1 == 0x80000000) { local_1e7 = '\x01'; } } } uVar27 = local_1e6; pcVar29 = pcVar29 + 1; lVar28 = lVar28 + 0x20; uVar17 = (ushort)local_1e0; cVar13 = (char)local_1e0; } while (pcVar29 < local_1b8); cVar18 = local_1e8; if (pcVar24 == (char *)0xffffffff) goto LAB_1806b597d; if (((plVar21[1] - *plVar21 >> 5 == 0) && ((char)local_1e6 != '\0' || (char)local_1e0 != '\0')) && ((*(ushort *)(local_1a8 + 2) & 0x438) == 0x438)) { puVar26 = (undefined4 *)((longlong)pcVar24 * 0x20 + *local_1d8); if (plVar21[2] == plVar21[1]) { FUN_18063fa90(plVar21); uVar19 = 1; } else { puVar3 = (undefined4 *)plVar21[1]; uVar5 = puVar26[1]; uVar6 = puVar26[2]; uVar7 = puVar26[3]; *puVar3 = *puVar26; puVar3[1] = uVar5; puVar3[2] = uVar6; puVar3[3] = uVar7; uVar8 = *(undefined8 *)(puVar26 + 6); *(undefined8 *)(puVar3 + 4) = *(undefined8 *)(puVar26 + 4); *(undefined8 *)(puVar3 + 6) = uVar8; plVar21[1] = plVar21[1] + 0x20; uVar19 = 1; } } else { uVar19 = 0; } cVar18 = local_1e8; if ((char)local_1cc != '\0') goto LAB_1806b597d; if (local_1e8 != '\0') { LAB_1806b58ed: local_208 = local_1c8; uVar8 = FUN_180687e30(&local_f8,*local_1d8 + 8 + (longlong)pcVar24 * 0x20,uVar19, *(undefined4 *)(*local_1d8 + 0x1c + (longlong)pcVar24 * 0x20)); lVar28 = local_1b0; if (*(longlong *)(local_1b0 + 0x48) == *(longlong *)(local_1b0 + 0x40)) { FUN_18066d410(local_1b0 + 0x38,*(undefined8 *)(local_1b0 + 0x40),uVar8); } else { FUN_180676fd0(*(undefined8 *)(local_1b0 + 0x40)); *(longlong *)(lVar28 + 0x40) = *(longlong *)(lVar28 + 0x40) + 0x58; } FUN_18067afa0(&local_f8); goto LAB_1806b597d; } lVar28 = FUN_1805fcae0(); piVar4 = (int *)param_4[1]; piVar15 = (int *)*param_4; if (piVar15 != piVar4) { do { if (*piVar15 == *(int *)(lVar28 + 0x74)) break; piVar15 = piVar15 + 1; } while (piVar15 != piVar4); if (piVar15 != piVar4) goto LAB_1806b58ed; } LAB_1806b598a: uVar19 = (undefined1)uVar27; piVar4 = (int *)param_4[1]; piVar15 = (int *)*param_4; if (piVar15 == piVar4) goto LAB_1806b5a86; do { if (*piVar15 == -0x80000000) break; piVar15 = piVar15 + 1; } while (piVar15 != piVar4); if (piVar15 == piVar4) goto LAB_1806b5a86; } if (local_1e7 == '\0') { local_f8 = pace::eden::thrift::pub::SecretDataRecord::vftable; local_e8 = (void *)0x0; uStack_e0 = 0; local_d8 = 0; uStack_d0 = 0; local_c8 = 0; uStack_c0 = 0; local_b8 = 0; uStack_b0 = 0; local_a8 = 0; local_8c = 0; local_83 = 0; local_7b = 0; local_77 = 0; local_84 = 1; local_f0 = 0x80000000; local_98 = 0; local_94 = 3; local_a0 = 3; local_9c = 0x10; local_87 = *(byte *)(local_1a8 + 3) & 1; local_88 = local_1e7; local_86 = cVar13; local_85 = uVar19; local_75 = local_1e7; FUN_18067d0a0(&local_f8); } LAB_1806b5a86: lVar28 = local_1b0; local_1e8 = '\0'; local_1e7 = '\0'; if ((longlong)puStack_178 - local_180 >> 3 != 0) { local_1a8 = 1; local_1c0 = 0; lVar9 = local_180; do { local_1e0 = *(uint *)(local_1c0 + lVar9); uVar1 = *(uint *)(local_140 + local_1c0); uVar20 = (*(longlong *)(lVar28 + 0x40) - *(longlong *)(lVar28 + 0x38)) / 0x58; uVar22 = 0; local_1cc = local_1e0; if (uVar20 == 0) { LAB_1806b5b2a: local_148 = (undefined8 *)FUN_1811316e0(0x18); if (local_148 == (undefined8 *)0x0) { lVar28 = 0; } else { lVar28 = FUN_1805a48c0(local_148,"A dev data record (storage ID: 0x%08X) has disappeared") ; } puVar11 = (undefined8 *)FUN_1811316e0(0x18); local_128 = puVar11; if (puVar11 == (undefined8 *)0x0) { puVar11 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar11,"|__FILE__|%s|__LINE__|%d"); *puVar11 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar28 + 8),&local_1e0); local_1e0 = 0x2443; local_1b8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar8 = FUN_1805a21d0(puVar11[1],&local_1b8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_1e0); } lVar10 = 0; while (*(uint *)(lVar10 + 8 + *(longlong *)(lVar28 + 0x38)) != local_1e0) { uVar22 = uVar22 + 1; lVar10 = lVar10 + 0x58; if (uVar20 <= uVar22) goto LAB_1806b5b2a; } if (uVar22 == 0xffffffff) goto LAB_1806b5b2a; lVar16 = *(longlong *)(lVar28 + 0x40) - *(longlong *)(lVar28 + 0x38); lVar10 = lVar16 >> 0x3f; lVar16 = lVar16 / 0x58 + lVar10; uVar20 = 0; if (lVar16 != lVar10) { lVar12 = 0; do { if (*(uint *)(lVar12 + 8 + *(longlong *)(lVar28 + 0x38)) == uVar1) goto LAB_1806b5c36; uVar20 = uVar20 + 1; lVar12 = lVar12 + 0x58; } while (uVar20 < (ulonglong)(lVar16 - lVar10)); } uVar20 = 0xffffffff; LAB_1806b5c36: bVar30 = true; if (uVar20 == 0xffffffff) { pcVar24 = (char *)*local_1d8; uVar20 = local_1d8[1] - (longlong)pcVar24 >> 5; uVar23 = 0; pcVar29 = pcVar24; if (uVar20 != 0) { do { if ((*pcVar29 == -0x7c) && (*(uint *)(pcVar29 + 4) == uVar1)) { if (uVar23 != 0xffffffff) { local_208 = local_1c8; uVar8 = FUN_180688050(&local_f8,pcVar24 + uVar23 * 0x20,&local_1e8,&local_1e7); if (*(longlong *)(lVar28 + 0x48) == *(longlong *)(lVar28 + 0x40)) { FUN_18066d410(lVar28 + 0x38,*(undefined8 *)(lVar28 + 0x40),uVar8); } else { FUN_180676fd0(*(undefined8 *)(lVar28 + 0x40),uVar8); *(longlong *)(lVar28 + 0x40) = *(longlong *)(lVar28 + 0x40) + 0x58; } local_f8 = pace::eden::thrift::pub::DeveloperDataRecord::vftable; FUN_180575ed0(&uStack_d0); FUN_180575ed0(&local_e8); uVar20 = (*(longlong *)(lVar28 + 0x40) - *(longlong *)(lVar28 + 0x38)) / 0x58 - 1; if ((*(ushort *)(*local_1d8 + 2 + uVar23 * 0x20) & 0x200) == 0) goto LAB_1806b5dc5; pcVar24 = (char *)(ulonglong)local_1cc; if (local_170 == puStack_178) { local_1b8 = pcVar24; FUN_18066d180(&local_180,puStack_178,&local_1b8); lVar9 = local_180; } else { *puStack_178 = (ulonglong)pcVar24; puStack_178 = puStack_178 + 1; } local_1b8 = (char *)(ulonglong)(uVar1 + 1); if (local_130 == puStack_138) { FUN_18066d180(&local_140,puStack_138,&local_1b8); bVar30 = false; } else { *puStack_138 = (ulonglong)local_1b8; puStack_138 = puStack_138 + 1; bVar30 = false; } goto LAB_1806b5dc9; } break; } uVar23 = uVar23 + 1; pcVar29 = pcVar29 + 0x20; } while (uVar23 < uVar20); } *(undefined4 *)(*(longlong *)(lVar28 + 0x38) + 0x40 + uVar22 * 0x58) = 5; *(undefined1 *)(uVar22 * 0x58 + 0x4b + *(longlong *)(lVar28 + 0x38)) = 0; } else { LAB_1806b5dc5: pcVar24 = (char *)(ulonglong)local_1cc; LAB_1806b5dc9: FUN_1806add50(uVar22,uVar20,local_1b0,local_1c8); if (bVar30) { for (uVar20 = local_1a8; uVar20 < (ulonglong)((longlong)puStack_178 - lVar9 >> 3); uVar20 = uVar20 + 1) { if (*(ulonglong *)(lVar9 + uVar20 * 8) == (ulonglong)uVar1) { *(char **)(lVar9 + uVar20 * 8) = pcVar24; break; } } } } local_1c0 = local_1c0 + 8; uVar20 = local_1a8 + 1; bVar30 = local_1a8 < (ulonglong)((longlong)puStack_178 - lVar9 >> 3); local_1a8 = uVar20; } while (bVar30); } lVar28 = local_1b0; if ((longlong)puStack_190 - local_198 >> 3 != 0) { local_1c0 = 0; lVar9 = local_198; do { local_1e0 = *(uint *)(local_1c0 + lVar9); uVar1 = *(uint *)(local_168 + local_1c0); uVar20 = (*(longlong *)(lVar28 + 0x58) - *(longlong *)(lVar28 + 0x50)) / 0x88; uVar22 = 0; local_1cc = local_1e0; if (uVar20 == 0) { LAB_1806b5eda: local_128 = (undefined8 *)FUN_1811316e0(0x18); if (local_128 == (undefined8 *)0x0) { lVar28 = 0; } else { lVar28 = FUN_1805a48c0(local_128,"A dev data record (storage ID: 0x%08X) has disappeared") ; } puVar11 = (undefined8 *)FUN_1811316e0(0x18); local_148 = puVar11; if (puVar11 == (undefined8 *)0x0) { puVar11 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar11,"|__FILE__|%s|__LINE__|%d"); *puVar11 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar28 + 8),&local_1e0); local_1e0 = 0x24bb; local_1b8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar8 = FUN_1805a21d0(puVar11[1],&local_1b8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_1e0); } lVar10 = 0; while (*(uint *)(lVar10 + 8 + *(longlong *)(lVar28 + 0x50)) != local_1e0) { uVar22 = uVar22 + 1; lVar10 = lVar10 + 0x88; if (uVar20 <= uVar22) goto LAB_1806b5eda; } if (uVar22 == 0xffffffff) goto LAB_1806b5eda; lVar16 = *(longlong *)(lVar28 + 0x58) - *(longlong *)(lVar28 + 0x50); lVar10 = lVar16 >> 0x3f; lVar16 = lVar16 / 0x88 + lVar10; uVar20 = 0; if (lVar16 != lVar10) { lVar12 = 0; do { if (*(uint *)(lVar12 + 8 + *(longlong *)(lVar28 + 0x50)) == uVar1) goto LAB_1806b5fdb; uVar20 = uVar20 + 1; lVar12 = lVar12 + 0x88; } while (uVar20 < (ulonglong)(lVar16 - lVar10)); } uVar20 = 0xffffffff; LAB_1806b5fdb: bVar30 = true; if (uVar20 == 0xffffffff) { pcVar24 = (char *)*local_1d8; uVar20 = local_1d8[1] - (longlong)pcVar24 >> 5; uVar23 = 0; pcVar29 = pcVar24; if (uVar20 != 0) { do { if ((*pcVar29 == -0x7c) && (*(uint *)(pcVar29 + 4) == uVar1)) { if (uVar23 != 0xffffffff) { local_208 = local_1c8; uVar8 = FUN_1806896f0(&local_f8,pcVar24 + uVar23 * 0x20,&local_1e8,&local_1e7); if (*(longlong *)(lVar28 + 0x60) == *(longlong *)(lVar28 + 0x58)) { FUN_18066d620(lVar28 + 0x50,*(undefined8 *)(lVar28 + 0x58),uVar8); } else { FUN_180677c80(*(undefined8 *)(lVar28 + 0x58),uVar8); *(longlong *)(lVar28 + 0x58) = *(longlong *)(lVar28 + 0x58) + 0x88; } local_f8 = pace::eden::thrift::pub::SecretDataRecord::vftable; FUN_180575ed0(&local_b8); FUN_180575ed0(&uStack_d0); FUN_180575ed0(&local_e8); uVar20 = (*(longlong *)(lVar28 + 0x58) - *(longlong *)(lVar28 + 0x50)) / 0x88 - 1; if ((*(ushort *)(*local_1d8 + 2 + uVar23 * 0x20) & 0x200) == 0) goto LAB_1806b6176; pcVar24 = (char *)(ulonglong)local_1cc; if (local_188 == puStack_190) { local_1b8 = pcVar24; FUN_18066d180(&local_198,puStack_190,&local_1b8); lVar9 = local_198; } else { *puStack_190 = (ulonglong)pcVar24; puStack_190 = puStack_190 + 1; } local_1b8 = (char *)(ulonglong)(uVar1 + 1); if (local_1a0 == puStack_160) { FUN_18066d180(&local_168,puStack_160,&local_1b8); local_1a0 = local_158; bVar30 = false; } else { *puStack_160 = (ulonglong)local_1b8; puStack_160 = puStack_160 + 1; bVar30 = false; } goto LAB_1806b617a; } break; } uVar23 = uVar23 + 1; pcVar29 = pcVar29 + 0x20; } while (uVar23 < uVar20); } *(undefined4 *)(*(longlong *)(lVar28 + 0x50) + 0x58 + uVar22 * 0x88) = 5; *(undefined1 *)(uVar22 * 0x88 + 0x74 + *(longlong *)(lVar28 + 0x50)) = 0; } else { LAB_1806b6176: pcVar24 = (char *)(ulonglong)local_1cc; LAB_1806b617a: FUN_1806adfc0(uVar22,uVar20,local_1b0,local_1c8); if (bVar30) { for (uVar20 = local_150; uVar20 < (ulonglong)((longlong)puStack_190 - lVar9 >> 3); uVar20 = uVar20 + 1) { if (*(ulonglong *)(lVar9 + uVar20 * 8) == (ulonglong)uVar1) { *(char **)(lVar9 + uVar20 * 8) = pcVar24; break; } } } } local_1c0 = local_1c0 + 8; uVar20 = local_150 + 1; bVar30 = local_150 < (ulonglong)((longlong)puStack_190 - lVar9 >> 3); local_150 = uVar20; } while (bVar30); } local_200 = local_1c8; local_208 = CONCAT31(local_208._1_3_,local_1d0); FUN_1806a94d0(local_1b0,local_1cd,local_1ce,local_1cf); if (local_120[0] != 0) { FUN_1805bd810(local_120,local_120[0],local_120[2] - local_120[0] >> 5); } if (local_168 != 0) { FUN_1805bd950(&local_168,local_168,(longlong)local_1a0 - local_168 >> 3); } FUN_18047cfb0(&local_198); FUN_18047cfb0(&local_140); FUN_18047cfb0(&local_180); } ############ FUN_ 1806b62b0 size=902 ############ /* WARNING: Instruction at (ram,0x0001806b664e) overlaps instruction at (ram,0x0001806b664d) */ /* WARNING: Removing unreachable block (ram,0x0001806b63ea) */ /* WARNING: Removing unreachable block (ram,0x0001806b6337) */ /* WARNING: Removing unreachable block (ram,0x0001806b664d) */ longlong FUN_1806b62b0(undefined8 param_1,undefined8 param_2,longlong *param_3,undefined8 param_4, undefined8 param_5,undefined4 param_6) { undefined8 *puVar1; undefined8 uVar2; ulonglong uVar3; int iVar4; uint uVar5; undefined8 *puVar6; longlong *plVar7; uint uVar8; longlong lVar9; int unaff_retaddr; undefined8 auStack_390 [2]; undefined *puStack_380; undefined1 auStack_378 [48]; undefined1 local_348; undefined1 local_347; undefined1 local_346; undefined1 local_345; undefined1 local_344; undefined4 local_340; undefined4 local_33c; undefined8 local_338; undefined8 local_330; undefined8 local_328; undefined8 local_310; undefined8 local_308; longlong *local_300; uint local_2f0; uint local_2ec; longlong local_2e8 [4]; undefined4 local_2c8 [4]; undefined8 *local_2b8; undefined8 local_298; char *local_280; undefined8 local_278; undefined8 local_270; ulonglong local_40; local_270 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_378; local_33c = param_6; uVar5 = (uint)&stack0x00000000; uVar8 = ((uVar5 & 0x4dff) * (uVar5 & 0x4dff) + 1) % 7; local_2f0 = ((int)(-uVar8 | uVar8) >> 0x1f) * -0x6143 ^ 0x64e3; uVar8 = uVar5 & 0x2bf; iVar4 = (uVar8 + 2) * (uVar8 + 1) * uVar8; if ((((iVar4 >> 1) - (iVar4 >> 3)) + iVar4 * 0x55555555 >> 0x1e & 4U) == 0) { uVar8 = ((uVar5 & 0x7ff) + 1) * (uVar5 & 0x7ff) + 0x5679 & 0x80000001; } else { uVar8 = 0x307effc; } local_2ec = ((int)(-uVar8 | uVar8) >> 0x1f) * -0x3d58 ^ 0x3518; local_344 = 0; local_345 = 0; local_346 = 0; local_347 = 0; if ((param_3 == (longlong *)0x0) || (local_348 = 0, param_3[1] - *param_3 >> 2 == 0)) { local_348 = 1; } puStack_380 = (undefined *)0x1806b6447; local_310 = param_4; local_300 = param_3; local_298 = param_1; local_278 = param_2; FUN_1808c6a00(param_1,local_2e8); local_340 = 0x811c9ddb; puVar6 = (undefined8 *)0x0; if (local_2e8[0] != 0) { puStack_380 = (undefined *) ((*(longlong **)(local_2e8[0] + 8))[1] - **(longlong **)(local_2e8[0] + 8) >> 5); do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_330 = 0; local_308 = 0x9ffff0; local_328 = 0x1809ffff0; local_338 = 0x180a07fec; do { lVar9 = (longlong)param_3 + (longlong)puStack_380; param_3 = (longlong *)(((longlong)puStack_380 - lVar9 ^ 0xffffffffffffffffU) + 1); puStack_380 = (undefined *)(lVar9 - (longlong)param_3); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); auStack_390[0] = param_1; /* WARNING: Call to offcut address within same function */ uVar3 = func_0x0001806b66ab(); plVar7 = (longlong *)(ulonglong)((int)auStack_390 - 0x20); lVar9 = plVar7[4]; plVar7[4] = lVar9 + 0x19c; plVar7[3] = lVar9 + 0x6bd; plVar7[2] = lVar9 + 0x1d4dc; plVar7[1] = lVar9 + 0x5d7; *plVar7 = lVar9 + 0x5d7; plVar7[-1] = lVar9 + 0x487f; plVar7[-2] = lVar9 + 0x4390; plVar7[-3] = lVar9 + 0x5d7; plVar7[-4] = lVar9 + 0x44ef; return -(~uVar3 + 1); } puStack_380 = (undefined *)0x1806b6475; local_2b8 = (undefined8 *)FUN_1811316e0(0x18); if (local_2b8 != (undefined8 *)0x0) { puStack_380 = (undefined *)0x1806b648d; FUN_1805a48c0(local_2b8,"Could not get a vector of CountLimits"); } puStack_380 = (undefined *)0x1806b649f; puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_2b8 = puVar1; if (puVar1 != (undefined8 *)0x0) { puStack_380 = (undefined *)0x1806b64ba; FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d"); *puVar1 = pace::PaceLocationInfoFormatter::vftable; puVar6 = puVar1; } local_2c8[0] = 0x2541; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; puStack_380 = (undefined *)0x1806b64da; uVar2 = FUN_1805a21d0(puVar6[1],&local_280); /* WARNING: Subroutine does not return */ puStack_380 = &UNK_1806b64e6; FUN_1805b20d0(uVar2,local_2c8); } ############ FUN_ 1806bbd30 size=1369 ############ /* WARNING: Removing unreachable block (ram,0x0001806bbdb4) */ longlong FUN_1806bbd30(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; BOOL BVar2; ulonglong uVar3; undefined8 *puVar4; undefined8 uVar5; HANDLE hEvent; undefined4 extraout_var; undefined8 *puVar6; undefined1 auStack_218 [80]; undefined1 local_1c8; undefined1 local_1c7; undefined8 local_1c0; undefined8 local_1b8; undefined8 local_1b0; undefined8 local_1a8; undefined8 uStack_1a0; undefined8 local_198; ulonglong local_188; undefined8 *local_178; undefined4 local_170 [8]; undefined4 local_150; undefined4 local_14c; longlong local_148; longlong local_140; undefined8 local_138; undefined8 local_130; longlong local_128; ulonglong local_100; uint *local_f0; char local_e8; char *local_e0 [6]; undefined8 local_b0; ulonglong local_58; local_b0 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_218; local_150 = 0x200; local_14c = 0xf30; local_140 = param_2 + 0x68; local_1a8 = 0; uStack_1a0 = 0; puVar6 = (undefined8 *)0x0; local_198 = 0; local_1c8 = 0; local_1c7 = 0; local_148 = param_2; local_138 = param_4; local_130 = param_3; local_128 = param_1; uVar3 = FUN_1806a5950(param_1); local_100 = FUN_1806a4590(param_1); local_100 = uVar3 & local_100; FUN_1805b45f0(&local_f0,param_1 + 0x18); local_1b0 = 0; local_188 = 0x34e0; local_1c0 = 0x1806c2c84; local_1b8 = 0x1806c6164; if (*(longlong *)(param_1 + 0x48) != 0) { uVar3 = local_188; if ((local_e8 != '\0') && (*local_f0 = *local_f0 - 1, *local_f0 == 0)) { LOCK(); local_f0[1] = 0; UNLOCK(); local_f0 = local_f0 + 2; LOCK(); uVar1 = *local_f0; uVar3 = (ulonglong)uVar1; *local_f0 = *local_f0 + 0x80000000; UNLOCK(); if (((uVar1 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar1)) { LOCK(); uVar1 = *local_f0; *local_f0 = *local_f0 | 0x40000000; UNLOCK(); if ((uVar1 >> 0x1e & 1) == 0) { hEvent = (HANDLE)FUN_1805a9100(); BVar2 = SetEvent(hEvent); uVar3 = CONCAT44(extraout_var,BVar2); } } } return (-uVar3 ^ 0xffffffffffffffff) + 1; } local_178 = (undefined8 *)FUN_1811316e0(0x18); if (local_178 != (undefined8 *)0x0) { FUN_1805a48c0(local_178, "verifyAuthFusion_LocalOnly_SwAndIlok2 requires an encrypted channel setup with openLicenseDaemonEncryptedChannel" ); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); local_178 = puVar4; if (puVar4 != (undefined8 *)0x0) { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; puVar6 = puVar4; } local_170[0] = 0x13c6; local_e0[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar6[1],local_e0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_170); } ############ FUN_ 1806bd240 size=6274 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806bd240(longlong param_1,void **param_2,longlong param_3,undefined8 param_4, undefined ***param_5,longlong *param_6,longlong param_7,longlong *param_8, undefined8 *param_9) { longlong *plVar1; int *piVar2; char *pcVar3; uint uVar4; void *pvVar5; longlong *plVar6; undefined ***pppuVar7; char cVar8; undefined1 uVar9; undefined4 uVar10; int iVar11; void **ppvVar12; undefined8 uVar13; longlong lVar14; undefined8 *puVar15; void **ppvVar16; void **ppvVar17; ulonglong uVar18; longlong lVar19; HANDLE hEvent; uint *puVar20; bool bVar21; undefined1 auStack_738 [32]; undefined ***local_718; undefined ***local_710; undefined ***local_708; undefined8 *local_700; undefined8 local_6f8; undefined4 local_6f0; undefined1 local_6e8; undefined1 local_6e0; undefined1 local_6d8; undefined1 local_6d0; undefined8 local_6c8; undefined4 local_6c0; char local_6b8; char local_6b7; undefined1 local_6b6; undefined1 local_6b5 [5]; void **local_6b0; longlong local_6a8; int local_6a0; int local_69c; int local_698 [2]; undefined **local_690; longlong local_688; longlong lStack_680; undefined4 local_678; undefined4 local_674; longlong *local_670; longlong local_668; undefined8 *puStack_660; undefined8 *local_658; longlong local_650; longlong *local_648; longlong local_640; undefined1 local_638 [2]; ushort local_636; int local_634; int local_630; int local_62c [2]; int local_624; undefined4 local_61c; undefined4 local_618; undefined ***local_610; longlong local_608; void **local_600; longlong local_5f8; undefined8 *local_5e8; undefined1 *puStack_5e0; longlong local_5d8; longlong *local_5d0; undefined4 local_5c8; undefined4 local_5c4; undefined4 local_5c0 [2]; undefined4 local_5b8 [2]; undefined4 local_5b0 [2]; undefined4 local_5a8 [2]; undefined4 local_5a0 [4]; undefined4 local_590 [2]; undefined4 local_588 [2]; longlong local_580; undefined8 local_578; undefined4 local_570 [2]; void **local_568 [4]; undefined4 local_548 [2]; undefined4 local_540 [2]; void *local_538; longlong lStack_530; longlong local_528; void *local_520; longlong lStack_518; longlong local_510; undefined1 local_4e8 [8]; undefined1 local_4e0 [8]; undefined8 *local_4d8; undefined **local_4c8; undefined1 local_4c0; undefined8 local_4bc; undefined4 local_4b4; undefined8 local_4b0; undefined8 local_4a8; undefined8 uStack_4a0; undefined8 local_498; undefined8 uStack_490; undefined8 local_488; undefined4 local_480; undefined2 local_47c; undefined8 local_478; char *local_470 [2]; undefined8 local_460; undefined1 local_458 [8]; undefined8 local_450; undefined8 local_448; char *local_440; char *local_438; char *local_430; void **local_428; undefined8 local_420; undefined8 local_418; undefined8 local_410; longlong local_408; undefined8 local_400; longlong local_3f8; longlong local_3f0; longlong local_3e8; int *local_3e0; char local_3d8; char *local_3d0; char *local_3c8; char *local_3c0; char *local_3b8 [4]; undefined8 local_398; char *local_390 [5]; undefined **local_368; undefined2 local_360; undefined8 local_358; undefined8 uStack_350; undefined8 local_348; undefined8 uStack_340; undefined8 local_338; undefined8 uStack_330; undefined4 local_328; undefined2 local_324; longlong local_318; longlong lStack_310; longlong local_308; longlong lStack_300; longlong local_2f8; longlong lStack_2f0; longlong local_2e8; longlong lStack_2e0; undefined **local_2d8; undefined8 local_2d0; undefined8 local_2c8; undefined8 uStack_2c0; undefined8 local_2b8; undefined8 uStack_2b0; undefined8 local_2a8; undefined8 uStack_2a0; undefined8 local_298; undefined8 uStack_290; undefined8 local_288; undefined8 uStack_280; undefined8 local_278; undefined4 local_270; undefined8 local_268; undefined8 uStack_260; undefined4 local_258; undefined4 uStack_254; undefined4 uStack_250; int iStack_24c; undefined8 local_248; undefined1 local_238 [8]; undefined1 local_230 [8]; longlong local_228; void **local_220; longlong local_218; undefined8 *local_208; undefined1 *puStack_200; undefined8 *local_1f8; undefined1 *puStack_1f0; undefined1 local_1e8 [8]; longlong *local_1e0; undefined1 local_1d8 [8]; longlong *local_1d0; undefined1 local_1c8 [8]; undefined1 local_1c0 [8]; undefined8 *local_1b8; longlong local_1b0; void **local_1a8; longlong local_1a0; undefined8 *local_198; undefined1 local_190 [8]; longlong local_188; undefined1 local_170 [32]; undefined8 local_150; undefined8 local_148 [2]; undefined **local_138; undefined8 local_130 [2]; undefined8 local_120; undefined8 local_118; undefined **local_110; int local_108; void *local_100; undefined2 local_f8; undefined2 local_f0; undefined **local_e8; undefined1 local_e0 [144]; char local_50; ulonglong local_48; local_248 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_738; local_610 = param_5; local_648 = param_6; local_650 = param_7; local_670 = param_8; local_4d8 = param_9; ppvVar16 = (void **)0x0; local_608 = 0; local_420 = 0x7ffffffffffffffe; local_5c8 = 0xfffffffe; local_6a8 = param_1; local_640 = param_3; local_600 = param_2; local_5f8 = param_1; local_580 = param_3; local_478 = param_4; FUN_1805b41e0(&local_690,&local_5c8,&local_420); local_418 = 0x7ffffffffffffffe; local_5c4 = 0xfffffffe; FUN_1805b41e0(&local_578,&local_5c4,&local_418); local_520 = (void *)0x0; lStack_518 = 0; local_510 = 0; local_538 = (void *)0x0; lStack_530 = 0; local_528 = 0; local_668 = 0; puStack_660 = (undefined8 *)0x0; local_658 = (undefined8 *)0x0; if (((longlong)param_2[2] - (longlong)param_2[1]) / 0x438 == 0) { local_6b0 = (void **)FUN_1811316e0(0x18); if (local_6b0 != (void **)0x0) { FUN_1805a48c0(local_6b0,"The AuthChain from the caller is empty"); } ppvVar12 = (void **)FUN_1811316e0(0x18); local_6b0 = ppvVar12; if (ppvVar12 != (void **)0x0) { FUN_1805a48c0(ppvVar12,"|__FILE__|%s|__LINE__|%d"); *ppvVar12 = pace::PaceLocationInfoFormatter::vftable; ppvVar16 = ppvVar12; } local_5c0[0] = 0x36b2; local_3d0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar13 = FUN_1805a21d0(ppvVar16[1],&local_3d0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_5c0); } if (*(char *)(param_2 + 4) == '\0') { local_6b0 = (void **)FUN_1811316e0(0x18); if (local_6b0 != (void **)0x0) { FUN_1805a48c0(local_6b0,"Can\'t verify an authChain that is marked as not authorized."); } ppvVar12 = (void **)FUN_1811316e0(0x18); local_6b0 = ppvVar12; if (ppvVar12 != (void **)0x0) { FUN_1805a48c0(ppvVar12,"|__FILE__|%s|__LINE__|%d"); *ppvVar12 = pace::PaceLocationInfoFormatter::vftable; ppvVar16 = ppvVar12; } local_590[0] = 0x36b9; local_3c8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar13 = FUN_1805a21d0(ppvVar16[1],&local_3c8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_590); } local_138 = pace::eden::thrift::authorize::AuthLocation::vftable; local_120 = 0; local_118 = 0xf; local_130[0]._0_1_ = 0; FUN_1805a6cb0(local_130,&DAT_181baf991,0); local_110 = pace::eden::thrift::pub::IlokIdentifier::vftable; local_100 = (void *)0x0; local_f8 = 0; local_108 = 1; local_f0 = 0; lVar14 = FUN_1807064c0(); puVar15 = (undefined8 *)(lVar14 + 0x40); if (local_130 != puVar15) { if (0xf < *(ulonglong *)(lVar14 + 0x58)) { puVar15 = (undefined8 *)*puVar15; } FUN_1805a6cb0(local_130,puVar15,*(undefined8 *)(lVar14 + 0x50)); } if ((char *)local_4d8[1] == (char *)*local_4d8) { local_108 = 2; } else { local_108 = (int)*(char *)*local_4d8; } local_100 = param_2[0xe]; local_f0 = CONCAT11(1,(undefined1)local_f0); FUN_1805b45f0(&local_3e0,param_1 + 0x18); if (*(longlong *)(param_1 + 0x48) == 0) { local_6b0 = (void **)FUN_1811316e0(0x18); if (local_6b0 != (void **)0x0) { FUN_1805a48c0(local_6b0, "verifyAuth requires an encrypted channel setup with openLicenseDaemonEncryptedChannel or openQuickLicenseDaemonEncryptedChannel" ); } ppvVar12 = (void **)FUN_1811316e0(0x18); local_6b0 = ppvVar12; if (ppvVar12 != (void **)0x0) { FUN_1805a48c0(ppvVar12,"|__FILE__|%s|__LINE__|%d"); *ppvVar12 = pace::PaceLocationInfoFormatter::vftable; ppvVar16 = ppvVar12; } local_5b8[0] = 0x36d2; local_3c0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar13 = FUN_1805a21d0(ppvVar16[1],&local_3c0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_5b8); } if (*(char *)(param_3 + 0xf) != '\0') { local_4c8 = pace::eden::thrift::fusion::DlcKeyExchangeInput::vftable; local_4bc = 0x1e; local_4b4 = 0; local_4b0 = 0; local_4a8 = 0; uStack_4a0 = 0; local_498 = 0; uStack_490 = 0; local_488 = 0; local_480 = 0; local_47c = 0; local_368 = pace::eden::thrift::fusion::DlcKeyExchangeOutput::vftable; local_360 = 0; local_358 = 0; uStack_350 = 0; local_348 = 0; uStack_340 = 0; local_338 = 0; uStack_330 = 0; local_328 = 0; local_324 = 0; local_4c0 = *(undefined1 *)(param_3 + 8); local_6b6 = 0; local_5e8 = &local_4b0; puStack_5e0 = &local_6b6; local_208 = local_5e8; puStack_200 = puStack_5e0; FUN_1805e1ee0(&local_4b0,0x10,&local_208); local_6b5[0] = 0; local_5e8 = &local_498; puStack_5e0 = local_6b5; local_1f8 = local_5e8; puStack_1f0 = puStack_5e0; FUN_1805e1ee0(&local_498,0x60,&local_1f8); FUN_180694cf0(param_1,param_2,&local_4c8,&local_368); if ((char)local_360 != '\0') { local_6b0 = (void **)FUN_1811316e0(0x18); if (local_6b0 != (void **)0x0) { FUN_1805a48c0(local_6b0,&DAT_181baf991); } lVar14 = FUN_1805c0260(); local_5b0[0] = 0x36ec; local_3b8[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar13 = FUN_1805a21d0(*(undefined8 *)(lVar14 + 8),local_3b8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_5b0); } FUN_1805b7d00(&local_368); FUN_1805b7c40(&local_4c8); } local_e8 = pace::eden::thrift::authorize::DirectLocationConnectionInfo::vftable; FUN_180574fe0(local_e0); local_50 = '\0'; local_410 = *(undefined8 *)(param_1 + 0x48); local_408 = *(longlong *)(param_1 + 0x50); if (local_408 != 0) { LOCK(); *(int *)(local_408 + 8) = *(int *)(local_408 + 8) + 1; UNLOCK(); } local_400 = *(undefined8 *)(param_1 + 8); local_3f8 = *(longlong *)(param_1 + 0x10); if (local_3f8 != 0) { LOCK(); *(int *)(local_3f8 + 8) = *(int *)(local_3f8 + 8) + 1; UNLOCK(); } local_708 = &local_e8; local_718 = (undefined ***)&local_410; local_710 = param_2; FUN_1806ae410(&local_688,&local_400,&local_138,*(undefined4 *)(param_1 + 0x40)); local_2f8 = local_688; lStack_2f0 = lStack_680; if (lStack_680 != 0) { LOCK(); *(int *)(lStack_680 + 8) = *(int *)(lStack_680 + 8) + 1; UNLOCK(); } local_718 = (undefined ***)((ulonglong)local_718 & 0xffffffffffffff00); FUN_180642440(local_170,&local_2f8,0,0); if (local_50 != '\0') { FUN_18067de20(param_2 + 0x43,local_e0); } local_3f0 = *(longlong *)(local_688 + 8); local_3e8 = *(longlong *)(local_688 + 0x10); if (local_3e8 != 0) { LOCK(); *(int *)(local_3e8 + 8) = *(int *)(local_3e8 + 8) + 1; UNLOCK(); } if (local_3f0 == 0) { local_568[0] = (void **)FUN_1811316e0(0x18); if (local_568[0] != (void **)0x0) { FUN_1805a48c0(local_568[0],"Protocols object is missing a commander"); } ppvVar12 = (void **)FUN_1811316e0(0x18); if (ppvVar12 != (void **)0x0) { local_568[0] = ppvVar12; FUN_1805a48c0(ppvVar12,"|__FILE__|%s|__LINE__|%d"); *ppvVar12 = pace::PaceLocationInfoFormatter::vftable; ppvVar16 = ppvVar12; } local_540[0] = 0x3726; local_568[0] = (void **)0x181bbe3b0; uVar13 = FUN_1805a21d0(ppvVar16[1],local_568); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_540); } if (*(uint *)(param_3 + 0x10) < 5) { *(uint *)(local_3f0 + 0x3c0) = *(uint *)(param_3 + 0x10); } puVar15 = (undefined8 *)FUN_18064b170(local_688,local_1e8); local_718 = (undefined ***)((ulonglong)local_718 & 0xffffffff00000000); local_5d8 = __RTDynamicCast(*puVar15,0,&pace::ILokConduit::RTTI_Type_Descriptor, &pace::ILokConduitAuthClient::RTTI_Type_Descriptor); local_5d0 = (longlong *)puVar15[1]; if (local_5d0 != (longlong *)0x0) { LOCK(); *(int *)(local_5d0 + 1) = (int)local_5d0[1] + 1; UNLOCK(); } if (local_5d8 == 0) { local_398 = 0; FUN_18060c7a0(&local_5d0,&local_398); } plVar1 = local_5d0; cVar8 = FUN_180935060(local_5d8,local_688); plVar6 = local_5d0; if (plVar1 != (longlong *)0x0) { LOCK(); plVar1 = plVar1 + 1; lVar14 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar14 == 1) { (**(code **)(*local_5d0 + 8))(local_5d0); LOCK(); piVar2 = (int *)((longlong)plVar6 + 0xc); iVar11 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar11 == 1) { (**(code **)(*local_5d0 + 0x10))(); } } } if (local_1e0 != (longlong *)0x0) { LOCK(); plVar1 = local_1e0 + 1; lVar14 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar14 == 1) { (**(code **)(*local_1e0 + 8))(local_1e0); LOCK(); piVar2 = (int *)((longlong)local_1e0 + 0xc); iVar11 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar11 == 1) { (**(code **)(*local_1e0 + 0x10))(local_1e0); } } } if (cVar8 == '\0') { FUN_18064b020(local_688,local_1d8,0,0xfffffffe); if (local_1d0 != (longlong *)0x0) { LOCK(); plVar1 = local_1d0 + 1; lVar14 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar14 == 1) { (**(code **)(*local_1d0 + 8))(local_1d0); LOCK(); piVar2 = (int *)((longlong)local_1d0 + 0xc); iVar11 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar11 == 1) { (**(code **)(*local_1d0 + 0x10))(local_1d0); } } } } else { local_608 = 1; } local_678 = *(undefined4 *)(param_1 + 0x188); local_618 = *(undefined4 *)(param_1 + 0x18c); do { lVar14 = local_688; *(undefined2 *)(param_2 + 4) = 0x101; pcVar3 = (char *)((longlong)param_2 + 0x24); pcVar3[0] = 'd'; pcVar3[1] = '\0'; pcVar3[2] = '\0'; pcVar3[3] = '\0'; local_6b7 = '\0'; uVar10 = FUN_180604990(); local_718 = (undefined ***)local_4e0; FUN_1806515e0(lVar14,uVar10,local_678,local_4e8); puVar15 = (undefined8 *)FUN_18076a230(local_238,local_4e8); local_690 = (undefined **)*puVar15; puVar15 = (undefined8 *)FUN_18076a230(local_230,local_4e0); local_578 = *puVar15; ppvVar12 = param_2 + 1; if ((ulonglong) (*(longlong *)((longlong)*ppvVar12 + 0x20) - *(longlong *)((longlong)*ppvVar12 + 0x18)) < 4) { local_228 = FUN_1811316e0(0x18); if (local_228 != 0) { FUN_1805a48c0(local_228, "The AuthChain\'s internalReference does not have enough data for an ILok2Ref" ); } ppvVar12 = (void **)FUN_1811316e0(0x18); local_220 = ppvVar12; if (ppvVar12 != (void **)0x0) { FUN_1805a48c0(ppvVar12,"|__FILE__|%s|__LINE__|%d"); *ppvVar12 = pace::PaceLocationInfoFormatter::vftable; ppvVar16 = ppvVar12; } local_548[0] = 0x378d; local_390[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar13 = FUN_1805a21d0(ppvVar16[1],local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_548); } uVar10 = FUN_18061f8c0(*(undefined8 *)((longlong)*ppvVar12 + 0x18)); local_674 = uVar10; if ((local_648 == (longlong *)0x0) || ((ulonglong)(local_648[1] - *local_648) < 8)) { FUN_180605430(&local_150,8); LAB_1806bdee4: local_6f0 = 0; } else { local_150 = *(undefined8 *)*local_648; local_6f0 = 0x80000000; if (*(char *)(param_3 + 8) != '\0') goto LAB_1806bdee4; } local_6f8 = 0; local_700 = local_148; local_710 = (undefined ***)&local_150; local_718 = (undefined ***)local_698; local_708._0_4_ = *(undefined4 *)(param_1 + 400); FUN_180644700(local_688,uVar10,&local_6a0,&local_69c); pppuVar7 = local_610; param_3 = local_640; pvVar5 = *ppvVar12; if (((local_6a0 != *(int *)((longlong)pvVar5 + 8)) || (local_69c != *(int *)((longlong)pvVar5 + 0xc))) || (local_698[0] != *(int *)((longlong)pvVar5 + 0x10))) { local_218 = FUN_1811316e0(0x18); if (local_218 != 0) { ppvVar16 = (void **)FUN_1805a48c0(local_218, "The expected auth (a:0x%08X, p:0x%08X, i:0x%08X) does not match the iLok2 auth found (a:0x%08X, p:0x%08X, i:0x%08X) using ILok2Ref (0x%08X)" ); } puVar15 = (undefined8 *)FUN_1811316e0(0x18); local_1b8 = puVar15; if (puVar15 != (undefined8 *)0x0) { FUN_1805a48c0(puVar15,"|__FILE__|%s|__LINE__|%d"); *puVar15 = pace::PaceLocationInfoFormatter::vftable; } pvVar5 = param_2[1]; FUN_18060e760(ppvVar16[1],&local_6a0); FUN_18060e760(ppvVar16[1],&local_69c); FUN_18060e760(ppvVar16[1],local_698); /* WARNING: Subroutine does not return */ FUN_1805b20d0(ppvVar16[1],(longlong)pvVar5 + 8); } if (((local_610 == (undefined ***)0x0) && (*(char *)(local_640 + 0xe) == '\0')) && (*(char *)(local_640 + 10) == '\0')) { local_710 = &local_690; local_718 = (undefined ***)((ulonglong)local_718._1_7_ << 8); FUN_180649e20(local_688,uVar10,local_638,&local_668); } else { local_710 = &local_690; local_718 = (undefined ***)((ulonglong)local_718._1_7_ << 8); FUN_180648f40(local_688,uVar10,local_638,&local_668); local_2d8 = pace::eden::thrift::pub::AuthStorage::vftable; local_2d0 = 0; local_2c8 = 0; uStack_2c0 = 0; local_2b8 = 0; uStack_2b0 = 0; local_2a8 = 0; uStack_2a0 = 0; local_298 = 0; uStack_290 = 0; local_288 = 0; uStack_280 = 0; local_278 = 0; local_270 = 0; local_718 = &local_2d8; if (pppuVar7 != (undefined ***)0x0) { local_718 = pppuVar7; } local_708._0_4_ = 4; local_710 = (undefined ***)0x0; FUN_1806b5230(local_638,&local_668,&local_690,local_478); local_2d8 = pace::eden::thrift::pub::AuthStorage::vftable; FUN_1806802c0(&local_288); FUN_180680380(&uStack_2a0); FUN_180680200(&local_2b8); FUN_180680130(&local_2d0); } if (((local_6a0 != local_630) || (local_69c != local_634)) || (local_698[0] != local_62c[0])) { local_1b0 = FUN_1811316e0(0x18); ppvVar12 = ppvVar16; if (local_1b0 != 0) { ppvVar12 = (void **)FUN_1805a48c0(local_1b0, "The iLok2 auth (a:0x%08X, p:0x%08X, i:0x%08X) from challenge does not match the iLok2 auth (a:0x%08X, p:0x%08X, i:0x%08X) getAuthRecordWithTerms " ); } ppvVar17 = (void **)FUN_1811316e0(0x18); local_1a8 = ppvVar17; if (ppvVar17 != (void **)0x0) { FUN_1805a48c0(ppvVar17,"|__FILE__|%s|__LINE__|%d"); *ppvVar17 = pace::PaceLocationInfoFormatter::vftable; ppvVar16 = ppvVar17; } FUN_18060e760(ppvVar12[1],&local_6a0); FUN_18060e760(ppvVar12[1],&local_69c); FUN_18060e760(ppvVar12[1],local_698); FUN_18060e760(ppvVar12[1],&local_630); FUN_18060e760(ppvVar12[1],&local_634); FUN_18060e760(ppvVar12[1],local_62c); local_5a0[0] = 0x387e; local_470[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar13 = FUN_1805a21d0(ppvVar16[1],local_470); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_5a0); } if ((*(char *)(param_3 + 9) == '\0') || ((local_636 & 0x4000) == 0)) { uVar9 = 0; } else { local_2e8 = local_688; lStack_2e0 = lStack_680; if (lStack_680 != 0) { LOCK(); *(int *)(lStack_680 + 8) = *(int *)(lStack_680 + 8) + 1; UNLOCK(); } uVar9 = FUN_180681780(param_1,&local_668,&local_2e8,local_674); } local_6b8 = '\0'; uVar18 = FUN_1806a68d0(param_1); bVar21 = ((ulonglong)param_2[0xd] & uVar18) != 0; local_6c0 = 4; local_6c8 = *(undefined8 *)(param_3 + 0x18); local_6d8 = *(undefined1 *)(param_3 + 0xe); local_6e0 = 1; local_6f0 = CONCAT31(local_6f0._1_3_,1); local_6f8 = CONCAT71(local_6f8._1_7_,1); local_700 = (undefined8 *)CONCAT71(local_700._1_7_,1); local_708 = &local_690; local_710 = (undefined ***)&local_6b8; local_718 = (void **)0x0; local_6e8 = uVar9; local_6d0 = bVar21; FUN_1806b1af0(param_2,local_638,&local_668,0); ppvVar12 = ppvVar16; if ((*(char *)(param_3 + 9) != '\0') || (*(char *)(param_3 + 0xc) != '\0')) { while (local_624 != -1) { lVar14 = FUN_1805fcae0(); if ((ulonglong)(longlong)*(int *)(lVar14 + 0x28) <= (longlong)ppvVar12 + 2U) { local_1a0 = FUN_1811316e0(0x18); if (local_1a0 != 0) { ppvVar16 = (void **)FUN_1805a48c0(local_1a0, "The authChain is too long, exceeding %d auths"); } puVar15 = (undefined8 *)FUN_1811316e0(0x18); local_198 = puVar15; if (puVar15 != (undefined8 *)0x0) { FUN_1805a48c0(puVar15,"|__FILE__|%s|__LINE__|%d"); *puVar15 = pace::PaceLocationInfoFormatter::vftable; } lVar14 = FUN_1805fcae0(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(ppvVar16[1],lVar14 + 0x28); } local_710 = &local_690; local_718 = (undefined ***)((ulonglong)local_718 & 0xffffffffffffff00); FUN_180649e20(local_688,local_624,local_638,&local_668); if (*(char *)(param_3 + 10) != '\0') { local_718 = (undefined ***)&local_268; FUN_180647dc0(local_688,local_61c,0x81,0x80000002); if (iStack_24c != -1) { if (local_658 == puStack_660) { FUN_18063fa90(&local_668,puStack_660,&local_268); } else { *puStack_660 = local_268; puStack_660[1] = uStack_260; *(undefined4 *)(puStack_660 + 2) = local_258; *(undefined4 *)((longlong)puStack_660 + 0x14) = uStack_254; *(undefined4 *)(puStack_660 + 3) = uStack_250; *(int *)((longlong)puStack_660 + 0x1c) = iStack_24c; puStack_660 = puStack_660 + 4; } } } if (((*(char *)(param_3 + 9) == '\0') || ((local_636 & 0x4000) == 0)) || (((local_636 & 0x8000) == 0 && (((local_6b8 != '\0' || ((local_636 & 0x400) == 0)) || ((local_636 & 0x20) == 0)))))) { local_6e8 = 0; } else { local_318 = local_688; lStack_310 = lStack_680; if (lStack_680 != 0) { LOCK(); *(int *)(lStack_680 + 8) = *(int *)(lStack_680 + 8) + 1; UNLOCK(); } local_6e8 = FUN_180681780(local_6a8,&local_668,&local_318,local_61c); } local_6c0 = 4; local_6c8 = *(undefined8 *)(param_3 + 0x18); local_6d8 = 0; local_6e0 = 1; local_6f0 = CONCAT31(local_6f0._1_3_,1); local_6f8 = CONCAT71(local_6f8._1_7_,1); local_700 = (undefined8 *)CONCAT71(local_700._1_7_,1); local_708 = &local_690; local_710 = (undefined ***)&local_6b8; local_718 = (void **)((longlong)ppvVar12 + 1); local_6d0 = bVar21; FUN_1806b1af0(param_2,local_638,&local_668,0); ppvVar12 = (void **)((longlong)ppvVar12 + 1); } } plVar1 = local_670; param_1 = local_6a8; if (local_6b8 == '\0') { *(undefined2 *)(param_2 + 4) = 0; pcVar3 = (char *)((longlong)param_2 + 0x24); pcVar3[0] = '\0'; pcVar3[1] = '\0'; pcVar3[2] = '\0'; pcVar3[3] = '\0'; } else if (((*(char *)(param_2 + 4) != '\0') && (*(char *)((longlong)param_2 + 0x21) = '\0', local_650 != 0)) && ((local_670 != (longlong *)0x0 && (local_670[1] != *local_670)))) { local_308 = local_688; lStack_300 = lStack_680; if (lStack_680 != 0) { LOCK(); *(int *)(lStack_680 + 8) = *(int *)(lStack_680 + 8) + 1; UNLOCK(); } local_710 = &local_538; local_718 = &local_520; FUN_1806a0c50(local_6a8,&local_308,param_2,local_650); local_6b7 = '\x01'; } FUN_1805b10b0(param_2 + 1,(longlong)ppvVar12 + 1,param_2 + 1); cVar8 = FUN_180647f00(local_688,local_618,0); plVar6 = local_648; if (cVar8 != '\0') { if (*(char *)(param_2 + 4) != '\0') { if (*(char *)(param_3 + 0xb) != '\0') { FUN_180681af0(param_1,param_2); } if (plVar6 != (longlong *)0x0) { FUN_1805b0f50(plVar6,8,plVar6); *(undefined8 *)*plVar6 = local_148[0]; } if (local_6b7 != '\0') { local_708 = (undefined ***)*plVar1; local_710 = (undefined ***)(plVar1[1] - (longlong)local_708); local_718 = &local_538; FUN_1806917d0(*(undefined4 *)(local_650 + 8),1,*(undefined4 *)(local_650 + 0xc),&local_520 ); memset(local_538,0,lStack_530 - (longlong)local_538); memset(local_520,0,lStack_518 - (longlong)local_520); } FUN_180663c70(&local_690,param_2 + 5); FUN_180663c70(&local_578,param_2 + 9); FUN_1805b9860(&local_3e8); FUN_180643940(local_170); FUN_1805b9860(&lStack_680); local_e8 = pace::eden::thrift::authorize::DirectLocationConnectionInfo::vftable; FUN_180575070(local_e0); if ((local_3d8 != '\0') && (*local_3e0 = *local_3e0 + -1, *local_3e0 == 0)) { LOCK(); local_3e0[1] = 0; UNLOCK(); puVar20 = (uint *)(local_3e0 + 2); LOCK(); uVar4 = *puVar20; *puVar20 = *puVar20 + 0x80000000; UNLOCK(); if (((uVar4 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar4)) { LOCK(); uVar4 = *puVar20; *puVar20 = *puVar20 | 0x40000000; UNLOCK(); if ((uVar4 >> 0x1e & 1) == 0) { hEvent = (HANDLE)FUN_1805a9100(); SetEvent(hEvent); } } } FUN_1806798f0(&local_138); if (local_668 != 0) { FUN_1805bd810(&local_668,local_668,(longlong)local_658 - local_668 >> 5); local_668 = 0; puStack_660 = (undefined8 *)0x0; local_658 = (undefined8 *)0x0; } if (local_538 != (void *)0x0) { FUN_1805a7bf0(&local_538,local_538,local_528 - (longlong)local_538); local_538 = (void *)0x0; lStack_530 = 0; local_528 = 0; } if (local_520 != (void *)0x0) { FUN_1805a7bf0(&local_520,local_520,local_510 - (longlong)local_520); local_520 = (void *)0x0; lStack_518 = 0; local_510 = 0; } FUN_180575ed0(local_4d8); } local_460 = 300000000; FUN_1805c5170(local_458,&local_578,&local_690); puVar15 = (undefined8 *)FUN_1805af150(local_458,local_190,&local_460); local_448 = *puVar15; local_450 = 0; iVar11 = FUN_1805bd370(&local_448,&local_450); if (iVar11 == -1) { lVar14 = FUN_1805c0220( "Not Authorized & MasterTime for location %s//%X is ahead of the computer time." ); lVar19 = FUN_1805c0260(); FUN_1805b23b0(*(undefined8 *)(lVar14 + 8),param_2 + 0xe); local_5a8[0] = 0x39ba; local_440 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar13 = FUN_1805a21d0(*(undefined8 *)(lVar19 + 8),&local_440); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_5a8); } FUN_1805c0220("iLok1 VerifyAuth: Not authorized"); lVar14 = FUN_1805c0260(); local_570[0] = 0x39c2; local_438 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar13 = FUN_1805a21d0(*(undefined8 *)(lVar14 + 8),&local_438); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_570); } if (local_608 == 0) { local_608 = local_608 + -1; local_188 = FUN_1811316e0(0x18); if (local_188 != 0) { FUN_1805a48c0(local_188,"The iLok2\'s signature of the commands and results was wrong"); } ppvVar12 = (void **)FUN_1811316e0(0x18); local_428 = ppvVar12; if (ppvVar12 != (void **)0x0) { FUN_1805a48c0(ppvVar12,"|__FILE__|%s|__LINE__|%d"); *ppvVar12 = pace::PaceLocationInfoFormatter::vftable; ppvVar16 = ppvVar12; } local_588[0] = 0x39d2; local_430 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar13 = FUN_1805a21d0(ppvVar16[1],&local_430); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,local_588); } local_608 = local_608 + -1; FUN_18064b020(local_688,local_1c8,0,0xfffffffe); FUN_1805b9860(local_1c0); } while( true ); } ############ FUN_ 1806becf0 size=7386 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_1806becf0(longlong *param_1,undefined1 *param_2,longlong param_3,undefined8 param_4, longlong param_5,undefined8 *param_6,longlong param_7,longlong *param_8, longlong *param_9) { void *pvVar1; char cVar2; int iVar3; char *pcVar4; undefined8 uVar5; longlong lVar6; longlong *plVar7; char *pcVar8; tm *ptVar9; undefined8 *puVar10; ulonglong uVar11; undefined8 *puVar12; longlong lVar13; undefined1 *puVar14; void *pvVar15; undefined1 *puVar16; uint uVar17; uint uVar18; longlong lVar19; uint uVar20; longlong *plVar21; undefined1 auStack_3468 [32]; longlong *local_3448; longlong *local_3440; char *local_3438; undefined8 *local_3430; undefined8 *local_3428; undefined8 *local_3420; longlong local_3418; undefined4 local_3410; char local_3408; char local_3407 [3]; uint local_3404; uint local_3400 [2]; uint local_33f8 [2]; char *local_33f0; longlong *local_33e8; undefined1 local_33e0 [8]; int local_33d8; int local_33d4; longlong local_33d0; longlong lStack_33c8; longlong local_33c0; longlong local_33b8; longlong local_33b0; ulonglong local_33a8; longlong local_33a0; undefined4 local_3398 [2]; undefined4 local_3390 [2]; undefined4 local_3388 [2]; undefined4 local_3380 [2]; undefined4 local_3378 [2]; undefined4 local_3370 [2]; undefined4 local_3368 [2]; undefined4 local_3360 [2]; undefined4 local_3358 [2]; undefined4 local_3350 [8]; undefined4 local_3330 [2]; undefined4 local_3328 [6]; undefined4 local_3310 [8]; undefined1 *local_32f0; char *local_32e8; undefined4 local_32e0 [2]; undefined8 *local_32d8; undefined8 local_32c8; longlong lStack_32c0; longlong local_32b8; void *local_32b0; longlong lStack_32a8; longlong local_32a0; undefined8 local_3298; undefined8 uStack_3290; undefined8 local_3288; undefined8 local_3280; undefined8 local_3278; undefined8 local_3270; void *local_3268; undefined8 uStack_3260; longlong local_3258; undefined **local_3250; undefined8 local_3248; undefined8 uStack_3240; undefined8 local_3238; undefined4 local_3230; undefined4 local_322c; undefined2 local_3228; undefined1 local_3226; char *local_3220; char *local_3218; char *local_3210; char *local_3208 [2]; char *local_31f8; undefined8 local_31f0; undefined8 *local_31a8; undefined8 local_31a0; undefined1 local_3198 [8]; undefined8 local_3190; undefined8 local_3188; char *local_3180; longlong local_3178; longlong local_3170; longlong *local_3168; longlong *local_3160; char *local_3158; longlong local_3150; longlong local_3148; longlong local_3140; longlong local_3138; int *local_3130; char local_3128; char *local_3120; char *local_3118; char *local_3110; char *local_3108; longlong local_3100; longlong lStack_30f8; undefined8 local_30f0; undefined8 local_30e8; undefined8 uStack_30e0; undefined8 local_30d8; __time64_t local_30d0; char *local_30c8; undefined8 local_30c0; undefined8 uStack_30b8; undefined8 local_30b0; undefined8 local_30a8; undefined8 uStack_30a0; undefined8 local_3098; undefined8 uStack_3090; longlong local_3088; undefined8 *local_3080; longlong local_3078; undefined8 *local_3070; longlong local_3068; undefined8 *local_3060; undefined1 local_3058 [8]; longlong local_3050; undefined8 *local_3048; longlong local_3040; undefined8 *local_3038; longlong local_3030; undefined8 *local_3028; longlong local_3020; undefined8 *local_3018; longlong local_3010; undefined8 *local_3008; longlong local_3000; undefined8 local_2ff8; undefined1 local_2ff0 [8]; longlong *local_2fe8; longlong local_2fe0; undefined8 *local_2fd8; longlong local_2fd0; undefined8 *local_2fc8; undefined8 local_2fc0; undefined8 uStack_2fb8; longlong local_2fb0; undefined8 *local_2fa8; longlong local_2fa0; undefined8 *local_2f98; undefined1 local_2f90 [8]; longlong local_2f88; undefined8 *local_2f80; undefined8 *local_2f78; longlong local_2f70; undefined1 local_2f68 [24]; undefined1 local_2f50 [24]; undefined1 local_2f38 [32]; undefined **local_2f18; undefined1 local_2f10 [3224]; undefined4 local_2278; undefined2 local_2274; undefined1 local_2268 [6592]; undefined1 local_8a8; undefined7 uStack_8a7; undefined8 local_898; ulonglong local_890; undefined8 local_888 [2]; undefined8 local_878; ulonglong local_870; undefined **local_868; uint local_860; undefined4 uStack_85c; undefined4 uStack_858; undefined4 uStack_854; undefined8 local_850; ulonglong uStack_848; undefined1 local_840 [16]; undefined8 local_830; undefined8 local_828; undefined8 local_820; undefined8 local_818; undefined2 local_810; undefined1 local_80e; undefined1 local_808; undefined7 uStack_807; undefined8 local_7f8; ulonglong local_7f0; undefined **local_7e8; longlong local_7e0 [2]; undefined8 local_7d0; undefined8 local_7c8; undefined **local_7c0; undefined4 local_7b8; undefined8 local_7b0; undefined2 local_7a8; undefined2 local_7a0; uint local_798; undefined4 uStack_794; undefined4 uStack_790; undefined4 uStack_78c; undefined1 local_778 [8]; undefined4 local_770; undefined1 local_768 [32]; undefined4 local_748; undefined1 local_740 [88]; undefined **local_6e8; undefined1 local_6e0 [752]; undefined8 local_3f0; undefined8 local_3e8; undefined8 uStack_3e0; undefined8 local_3d8; undefined4 local_3d0; undefined1 local_3c8 [24]; undefined1 local_3b0 [832]; undefined8 local_70; undefined8 local_68; ulonglong local_58; undefined8 uStack_48; uStack_48 = 0x1806bed0f; local_2ff8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_3468; local_3178 = param_5; local_31a8 = param_6; local_3170 = param_7; local_3168 = param_8; local_3160 = param_9; local_2fe8 = param_9; local_32c8 = 0; lStack_32c0 = 0; uVar5 = 0; local_32b8 = 0; local_30e8 = 0; uStack_30e0 = 0; local_30d8 = 0; local_33d0 = 0; lStack_33c8 = 0; local_33c0 = 0; local_3298 = 0; uStack_3290 = 0; local_3288 = 0; local_3280 = 0; local_3278 = 0; local_3270 = 0; local_33e8 = param_1; local_33a0 = param_3; local_32f0 = param_2; local_31f0 = param_4; local_3278 = FUN_1805bbda0(&local_3278); local_33a8 = 0; local_3408 = '\0'; local_3407[0] = '\x01'; local_898 = 0; local_890 = 0xf; local_8a8 = 0; local_878 = 0; local_870 = 0xf; local_888[0]._0_1_ = 0; if ((*(longlong *)(param_2 + 0x10) - *(longlong *)(param_2 + 8)) / 0x438 == 0) { local_33f0 = (char *)FUN_1811316e0(0x18); if (local_33f0 != (char *)0x0) { FUN_1805a48c0(local_33f0,"The AuthChain from the caller is empty"); } pcVar4 = (char *)FUN_1811316e0(0x18); local_33f0 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } local_3398[0] = 0x3ab3; local_3158 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_3158); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3398); } if (param_2[0x20] == '\0') { local_33f0 = (char *)FUN_1811316e0(0x18); if (local_33f0 != (char *)0x0) { FUN_1805a48c0(local_33f0,"Can\'t verify an authChain that is marked as not authorized."); } pcVar4 = (char *)FUN_1811316e0(0x18); local_33f0 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } local_3390[0] = 0x3aba; local_3120 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_3120); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3390); } if ((*(char *)(param_3 + 0xf) != '\0') && (cVar2 = FUN_1806aa7e0(param_1), cVar2 == '\0')) { local_33f0 = (char *)FUN_1811316e0(0x18); if (local_33f0 != (char *)0x0) { FUN_1805a48c0(local_33f0,&DAT_181baf991); } lVar6 = FUN_1805c0260(); local_3388[0] = 0x3ac3; local_3118 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar6 + 8),&local_3118); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3388); } local_7e8 = pace::eden::thrift::authorize::AuthLocation::vftable; pcVar4 = (char *)0x0; local_7d0 = 0; local_7c8 = 0xf; local_7e0[0]._0_1_ = 0; FUN_1805a6cb0(local_7e0,&DAT_181baf991,0); local_7c0 = pace::eden::thrift::pub::IlokIdentifier::vftable; local_7b0 = 0; local_7a8 = 0; local_7b8 = 1; local_7a0 = 0; plVar7 = (longlong *)*param_9; lVar6 = param_9[1] - (longlong)plVar7; if (lVar6 == 0) { lVar6 = FUN_1807064c0(); plVar7 = (longlong *)(lVar6 + 0x20); if (local_7e0 != plVar7) { if (0xf < *(ulonglong *)(lVar6 + 0x38)) { plVar7 = (longlong *)*plVar7; } lVar6 = *(longlong *)(lVar6 + 0x30); goto LAB_1806bf0d6; } } else { LAB_1806bf0d6: FUN_1805a6cb0(local_7e0,plVar7,lVar6); } FUN_1805b45f0(&local_3130,param_1 + 3); if (param_1[9] == 0) { local_33f0 = (char *)FUN_1811316e0(0x18); if (local_33f0 != (char *)0x0) { FUN_1805a48c0(local_33f0, "verifyAuth requires an encrypted channel setup with openLicenseDaemonEncryptedChannel or openQuickLicenseDaemonEncryptedChannel" ); } pcVar8 = (char *)FUN_1811316e0(0x18); local_33f0 = pcVar8; if (pcVar8 != (char *)0x0) { FUN_1805a48c0(pcVar8,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar8 = pace::PaceLocationInfoFormatter::vftable; pcVar4 = pcVar8; } local_3380[0] = 0x3ade; local_3110 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_3110); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3380); } local_3150 = param_1[9]; local_3148 = param_1[10]; if (local_3148 != 0) { LOCK(); *(int *)(local_3148 + 8) = *(int *)(local_3148 + 8) + 1; UNLOCK(); } local_3140 = param_1[1]; local_3138 = param_1[2]; if (local_3138 != 0) { LOCK(); *(int *)(local_3138 + 8) = *(int *)(local_3138 + 8) + 1; UNLOCK(); } local_3428 = (undefined8 *)0x0; local_3430 = (undefined8 *)0x0; local_3438 = (char *)0x0; local_3448 = &local_3150; local_3440 = (longlong *)param_2; FUN_18092d1f0(local_3c8,&local_3140,&local_7e8,(int)param_1[8]); FUN_18066c1a0(&local_30e8,local_70,local_68,local_3408); lVar6 = *(longlong *)(*(longlong *)(param_2 + 8) + 0x20) - *(longlong *)(*(longlong *)(param_2 + 8) + 0x18); if (lVar6 == 0) { local_32e8 = (char *)FUN_1811316e0(0x18); if (local_32e8 != (char *)0x0) { FUN_1805a48c0(local_32e8, "The AuthChain\'s internalReference (the license database uuid string) is empty" ); } pcVar8 = (char *)FUN_1811316e0(0x18); local_32e8 = pcVar8; if (pcVar8 != (char *)0x0) { FUN_1805a48c0(pcVar8,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar8 = pace::PaceLocationInfoFormatter::vftable; pcVar4 = pcVar8; } local_3378[0] = 0x3aef; local_3108 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_3108); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3378); } FUN_1805a6cb0(&local_8a8,*(undefined8 *)(*(longlong *)(param_2 + 8) + 0x18),lVar6); uVar18 = 0; local_3400[0] = 0; local_33f8[0] = 0; local_3404 = 0; _time64(&local_30d0); ptVar9 = _gmtime64(&local_30d0); if (ptVar9 == (tm *)0x0) { uVar5 = FUN_1805b6c80(local_2f38,"could not convert calendar time to UTC time"); /* WARNING: Subroutine does not return */ FUN_1805b3e60(uVar5); } FUN_1805bd670(&local_33b8,ptVar9); local_32e8 = (char *)0x7ffffffffffffffe; local_3370[0] = 0xfffffffe; FUN_1805b41e0(local_33e0,local_3370,&local_32e8); local_2fc0 = 0; uStack_2fb8 = 0; param_2[0x20] = 1; *(undefined4 *)(param_2 + 0x24) = 100; uVar17 = uVar18; uVar20 = uVar18; do { lVar6 = 0; local_868 = pace::eden::thrift::authorize::FindSoftwareLicensesInput::vftable; local_850 = 0; uStack_848 = 0xf; local_860 = local_860 & 0xffffff00; FUN_1805a6cb0(&local_860,&DAT_181baf991,0); local_830 = 0; local_828 = 0xf; local_840[0] = 0; FUN_1805a6cb0(local_840,&DAT_181baf991,0); local_820 = 0; local_818 = 0; local_810 = 0; local_80e = 0; local_2f18 = pace::eden::thrift::authorize::FindSoftwareLicensesReturn::vftable; FUN_180677570(local_2f10); local_2278 = 4; local_2274 = 0; FUN_1805a4070(&local_798,local_3b0); if (0xf < uStack_848) { pvVar1 = (void *)CONCAT44(uStack_85c,local_860); pvVar15 = pvVar1; if ((0xfff < uStack_848 + 1) && (pvVar15 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } local_860 = local_798; uStack_85c = uStack_794; uStack_858 = uStack_790; uStack_854 = uStack_78c; puVar16 = &local_8a8; if (0xf < local_890) { puVar16 = (undefined1 *)CONCAT71(uStack_8a7,local_8a8); } FUN_1805a6cb0(local_840,puVar16,local_898); local_820 = CONCAT44(uVar20,uVar18); local_818._0_5_ = CONCAT14(1,uVar17); local_3268 = (void *)0x0; uStack_3260 = 0; local_3258 = 0; local_32b0 = (void *)0x0; lStack_32a8 = 0; local_32a0 = 0; FUN_1806738f0(&local_868,&local_3268,1); FUN_1806b86d0(param_1,0x14,&local_3268,&local_32b0); FUN_180671780(local_32b0,lStack_32a8 - (longlong)local_32b0,&local_2f18); local_7f8 = 0; local_7f0 = 0xf; local_808 = 0; FUN_1805a6cb0(&local_808,&DAT_181baf991,0); FUN_1807ffc30(local_2268,local_2f10,&local_808,0); if (0xf < local_7f0) { pvVar1 = (void *)CONCAT71(uStack_807,local_808); pvVar15 = pvVar1; if ((0xfff < local_7f0 + 1) && (pvVar15 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } local_7f8 = 0; local_7f0 = 0xf; local_808 = 0; FUN_1808b74b0(&local_33b0,local_2268); if (local_33b0 == 0) { local_2fe0 = FUN_1811316e0(0x18); if (local_2fe0 != 0) { FUN_1805a48c0(local_2fe0,"Could not get a vector of Licenses"); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_2fd8 = puVar10; if (puVar10 == (undefined8 *)0x0) { puVar10 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } local_3368[0] = 0x3b2a; local_30c8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar10[1],&local_30c8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3368); } uVar11 = FUN_1808ba830(); if (uVar18 == 0) { if (uVar11 == 0) { local_2fb0 = FUN_1811316e0(0x18); if (local_2fb0 != 0) { lVar6 = FUN_1805a48c0(local_2fb0,"The target auth (uuid: %s) was not found in any license" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_2fa8 = puVar10; if (puVar10 == (undefined8 *)0x0) { puVar10 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805b2240(*(undefined8 *)(lVar6 + 8),&local_8a8); local_3360[0] = 0x3b40; local_3220 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar10[1],&local_3220); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3360); } if (1 < uVar11) { local_2fa0 = FUN_1811316e0(0x18); if (local_2fa0 != 0) { lVar6 = FUN_1805a48c0(local_2fa0, "The target auth (uuid: %s) was found in multiple licenses"); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_2f98 = puVar10; if (puVar10 == (undefined8 *)0x0) { puVar10 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805b2240(*(undefined8 *)(lVar6 + 8),&local_8a8); local_3358[0] = 0x3b49; local_3218 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar10[1],&local_3218); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3358); } plVar7 = (longlong *)FUN_1808b4d40(local_33b0,local_2f90,0); plVar7 = (longlong *)*plVar7; if (plVar7 == (longlong *)0x0) { local_2f88 = FUN_1811316e0(0x18); if (local_2f88 == 0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_2f88, "Could not get a pointer to the License for the target auth (uuid: %s) " ); } puVar10 = (undefined8 *)0x0; puVar12 = (undefined8 *)FUN_1811316e0(0x18); local_2f78 = puVar12; if (puVar12 != (undefined8 *)0x0) { FUN_1805a48c0(puVar12,"|__FILE__|%s|__LINE__|%d"); *puVar12 = pace::PaceLocationInfoFormatter::vftable; puVar10 = puVar12; } FUN_1805b2240(*(undefined8 *)(lVar6 + 8),&local_8a8); local_3310[0] = 0x3b52; local_3210 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar10[1],&local_3210); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3310); } puVar10 = (undefined8 *)(**(code **)(*plVar7 + 0x40))(plVar7); if (local_888 != puVar10) { puVar12 = puVar10; if (0xf < (ulonglong)puVar10[3]) { puVar12 = (undefined8 *)*puVar10; } FUN_1805a6cb0(local_888,puVar12,puVar10[2]); } cVar2 = FUN_180925360(plVar7,&local_3298); if (cVar2 == '\0') { local_2f70 = FUN_1811316e0(0x18); if (local_2f70 == 0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_2f70, "The license containing the target auth (uuid: %s) has a signature that does not verify" ); } puVar10 = (undefined8 *)0x0; puVar12 = (undefined8 *)FUN_1811316e0(0x18); local_2fc8 = puVar12; if (puVar12 != (undefined8 *)0x0) { FUN_1805a48c0(puVar12,"|__FILE__|%s|__LINE__|%d"); *puVar12 = pace::PaceLocationInfoFormatter::vftable; puVar10 = puVar12; } FUN_1805b2240(*(undefined8 *)(lVar6 + 8),&local_8a8); local_3350[0] = 0x3b60; local_3208[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar10[1],local_3208); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3350); } lVar6 = FUN_180870eb0(plVar7); FUN_18080ca00(plVar7,*(undefined1 *)(lVar6 + 0x21b),"issuerId"); lVar6 = FUN_180870eb0(plVar7); plVar21 = local_33e8; if (local_3280._4_4_ != *(int *)(lVar6 + 0xe0)) { local_3088 = FUN_1811316e0(0x18); if (local_3088 == 0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_3088, "The license containing the target auth (uuid: %s) was signed by an invalid issuer (ID:0x%08X)" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_3080 = puVar10; if (puVar10 != (undefined8 *)0x0) { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805b2240(*(undefined8 *)(lVar6 + 8),&local_8a8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar6 + 8),(longlong)&local_3280 + 4); } lVar6 = 0; iVar3 = local_3280._4_4_; if (local_3280._4_4_ == 1) { iVar3 = 0; } local_33d8 = iVar3; local_33d4 = iVar3; FUN_18069eae0(local_33e8,plVar7,&local_8a8,&local_33d0); lVar19 = lStack_33c8 - local_33d0 >> 3; if (lVar19 == 0) { local_3078 = FUN_1811316e0(0x18); if (local_3078 != 0) { lVar6 = FUN_1805a48c0(local_3078, "The license containing the target auth (uuid: %s) was not found in the license" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_3070 = puVar10; if (puVar10 != (undefined8 *)0x0) { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805b2240(*(undefined8 *)(lVar6 + 8),&local_8a8); local_32e0[0] = 0x3b90; local_31f8 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(puVar10[1],&local_31f8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_32e0); } local_3428 = (undefined8 *)FUN_1806746f0(local_2f68,&local_33d0); local_30a8 = 0; uStack_30a0 = 0; local_3418 = local_33a0; local_3420 = &local_30e8; local_3430 = &local_32c8; local_3438 = local_3407; local_3440 = (longlong *)local_33e0; local_3448 = &local_33b8; FUN_1806c0e30(plVar21,plVar7,local_2268,&local_30a8); lVar6 = local_3178; uVar11 = local_33a8; puVar16 = local_32f0; if (local_3178 != 0) { FUN_1806b79a0(plVar21,0); local_3440 = (longlong *)CONCAT44(local_3440._4_4_,4); local_3448 = (longlong *)CONCAT44(local_3448._4_4_,(int)plVar21[0xd]); FUN_1806b62b0(*(undefined8 *)(local_33d0 + -8 + lVar19 * 8),local_33e0,local_31f0,lVar6); uVar11 = local_33a8; puVar16 = local_32f0; } } else { if (uVar11 == 0) { local_3068 = FUN_1811316e0(0x18); if (local_3068 != 0) { lVar6 = FUN_1805a48c0(local_3068, "An external parent auth (a:0x%08X, p:0x%08X, i:0x%08X) was not found in any license" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_3060 = puVar10; if (puVar10 != (undefined8 *)0x0) { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar6 + 8),local_3400); } puVar10 = (undefined8 *)FUN_1808b4d40(local_33b0,local_3058,0); plVar7 = (longlong *)*puVar10; if (plVar7 == (longlong *)0x0) { local_3050 = FUN_1811316e0(0x18); if (local_3050 == 0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_3050, "Could not get a pointer to the License for the auth (a:0x%08X, p:0x%08X, i:0x%08X)" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_3048 = puVar10; if (puVar10 != (undefined8 *)0x0) { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar6 + 8),local_3400); } cVar2 = FUN_180925360(plVar7,&local_3298); if (cVar2 == '\0') { local_3040 = FUN_1811316e0(0x18); if (local_3040 == 0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_3040, "The license containing an external parent auth (a:0x%08X, p:0x%08X, i:0x%08X) has a signature that does not verify" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_3038 = puVar10; if (puVar10 != (undefined8 *)0x0) { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar6 + 8),local_3400); } lVar6 = FUN_180870eb0(plVar7); FUN_18080ca00(plVar7,*(undefined1 *)(lVar6 + 0x21b),"issuerId"); lVar6 = FUN_180870eb0(plVar7); plVar21 = local_33e8; if (local_3280._4_4_ != *(int *)(lVar6 + 0xe0)) { local_3030 = FUN_1811316e0(0x18); if (local_3030 == 0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_3030, "The license containing the target auth (a:0x%08X, p:0x%08X, i:0x%08X) was signed by an invalid issuer (ID:0x%08X)" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_3028 = puVar10; if (puVar10 != (undefined8 *)0x0) { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar6 + 8),local_3400); } lVar6 = 0; iVar3 = local_3280._4_4_; if (local_3280._4_4_ == 1) { iVar3 = 0; } local_3440 = &local_33d0; local_3448 = (longlong *)CONCAT44(local_3448._4_4_,local_3404); local_33d8 = iVar3; local_33d4 = iVar3; FUN_18069e810(local_33e8,plVar7,uVar18,uVar20); lVar19 = lStack_33c8 - local_33d0 >> 3; if (lVar19 == 0) { local_3020 = FUN_1811316e0(0x18); if (local_3020 != 0) { lVar6 = FUN_1805a48c0(local_3020, "The license containing an external parent auth (p:0x%08X, a:0x%08X, i:0x%08X) was not found in the license" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_3018 = puVar10; if (puVar10 != (undefined8 *)0x0) { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar6 + 8),local_33f8); } local_3428 = (undefined8 *)FUN_1806746f0(local_2f50,&local_33d0); local_3098 = 0; uStack_3090 = 0; local_3418 = local_33a0; local_3420 = &local_30e8; local_3430 = (undefined8 *)0x0; local_3438 = (char *)0x0; local_3440 = (longlong *)local_33e0; local_3448 = &local_33b8; FUN_1806c0e30(plVar21,plVar7,local_2268,&local_3098); uVar11 = local_33a8; puVar16 = local_32f0; } while (local_33a8 = uVar11, lVar19 != 0) { lVar6 = 0; lVar19 = lVar19 + -1; uVar5 = *(undefined8 *)(local_33d0 + lVar19 * 8); (**(code **)(*plVar21 + 0x10))(plVar21,uVar5); if (iVar3 != 0) { lVar13 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar13 + 0x1f7),"publisherId"); lVar13 = FUN_180870eb0(uVar5); if (iVar3 != *(int *)(lVar13 + 0xb8)) { local_3010 = FUN_1811316e0(0x18); if (local_3010 != 0) { lVar6 = FUN_1805a48c0(local_3010, "The issuer (0x%08X) of the auth (0x%08X) cannot issue an auth with a different PublisherId (0x%08X)" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_3008 = puVar10; if (puVar10 != (undefined8 *)0x0) { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } lVar19 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar19 + 0x1f7),"publisherId"); FUN_180870eb0(uVar5); lVar19 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar19 + 0x1eb),"authId"); FUN_180870eb0(uVar5); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar6 + 8),&local_33d8); } } lVar6 = FUN_1805fcae0(); puVar16 = local_32f0; if ((ulonglong)(longlong)*(int *)(lVar6 + 0x28) <= uVar11 + 1) { local_3000 = FUN_1811316e0(0x18); lVar6 = 0; if (local_3000 != 0) { lVar6 = FUN_1805a48c0(local_3000,"The auth chain is too long, exceeding %d auths"); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_2f80 = puVar10; if (puVar10 != (undefined8 *)0x0) { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } lVar19 = FUN_1805fcae0(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar6 + 8),lVar19 + 0x28); } local_3410 = 4; local_3418 = *(longlong *)(local_33a0 + 0x18); local_3420 = (undefined8 *) CONCAT71(local_3420._1_7_,uVar11 == 0 & *(byte *)(local_33a0 + 0xe)); local_3428 = &local_32c8; local_3430 = (undefined8 *)CONCAT71(local_3430._1_7_,*(undefined1 *)(local_33a0 + 9)); local_3438 = (char *)CONCAT71(local_3438._1_7_,1); local_3440 = (longlong *)local_33e0; local_3448 = (longlong *)&local_3408; FUN_1806b2f10(local_32f0,uVar5,plVar7,uVar11); uVar11 = uVar11 + 1; iVar3 = local_33d4; } lVar6 = 0; local_898 = 0; puVar14 = &local_8a8; if (0xf < local_890) { puVar14 = (undefined1 *)CONCAT71(uStack_8a7,local_8a8); } *puVar14 = 0; lVar19 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar19 + 0x1ef),"externalParentAuthId"); lVar19 = FUN_180870eb0(uVar5); uVar18 = *(uint *)(lVar19 + 0x5c); local_3400[0] = uVar18; lVar19 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar19 + 0x1f1),"externalParentPublisherId"); lVar19 = FUN_180870eb0(uVar5); uVar20 = *(uint *)(lVar19 + 100); local_33f8[0] = uVar20; lVar19 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar19 + 0x1f0)); lVar19 = FUN_180870eb0(uVar5); uVar17 = *(uint *)(lVar19 + 0x60); local_3404 = uVar17; if ((uVar18 == 0) || (uVar20 == 0)) { if ((uVar18 & uVar20) != 0) { local_2fd0 = FUN_1811316e0(0x18); if (local_2fd0 != 0) { lVar6 = FUN_1805a48c0(local_2fd0, "The external parent auth (a:0x%08X, p:0x%08X, i:0x%08X) has both zero and non-zero coordinates" ); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_32d8 = puVar10; if (puVar10 != (undefined8 *)0x0) { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar6 + 8),local_3400); } if (local_3407[0] != '\0') { lVar19 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar19 + 0x1eb)); lVar19 = FUN_180870eb0(uVar5); if (*(int *)(lVar19 + 0x30) != 0x4801f777) { lVar19 = FUN_180870eb0(uVar5); FUN_18080ca00(uVar5,*(undefined1 *)(lVar19 + 0x1f7)); lVar19 = FUN_180870eb0(uVar5); if (*(int *)(lVar19 + 0xb8) != 1) { uVar18 = 0x4801f777; local_3400[0] = 0x4801f777; uVar20 = 1; local_33f8[0] = 1; uVar17 = 0; local_3404 = 0; } } } } FUN_180803f00(local_2268); if (local_32b0 != (void *)0x0) { pvVar15 = local_32b0; if ((0xfff < (ulonglong)(local_32a0 - (longlong)local_32b0)) && (pvVar15 = *(void **)((longlong)local_32b0 + -8), 0x1f < (ulonglong)((longlong)local_32b0 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } if (local_3268 != (void *)0x0) { pvVar15 = local_3268; if ((0xfff < (ulonglong)(local_3258 - (longlong)local_3268)) && (pvVar15 = *(void **)((longlong)local_3268 + -8), 0x1f < (ulonglong)((longlong)local_3268 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } local_2f18 = pace::eden::thrift::authorize::FindSoftwareLicensesReturn::vftable; FUN_18067c110(local_2f10); local_868 = pace::eden::thrift::authorize::FindSoftwareLicensesInput::vftable; FUN_180485450(local_840); FUN_180485450(&local_860); plVar7 = local_33e8; param_1 = local_33e8; } while (uVar18 != 0); if (local_3408 == '\0') { *(undefined2 *)(puVar16 + 0x20) = 0; *(undefined4 *)(puVar16 + 0x24) = 0; } else { if (puVar16[0x20] == '\0') goto LAB_1806c0afb; puVar16[0x21] = 0; } if (puVar16[0x20] != '\0') { if (*(char *)(local_33a0 + 0xb) != '\0') { if (*(longlong *)(puVar16 + 0x68) == 1) { FUN_180676d70(local_778); local_770 = 100; puVar14 = (undefined1 *)local_888; if (0xf < local_870) { puVar14 = (undefined1 *)CONCAT71(local_888[0]._1_7_,(undefined1)local_888[0]); } FUN_1805a6cb0(local_768,puVar14,local_878); local_748 = 1; FUN_180663c70(local_33e0,local_740); if (local_32b8 == lStack_32c0) { FUN_18066cf60(&local_32c8,lStack_32c0,local_778); } else { FUN_180676cd0(lStack_32c0,local_778); lStack_32c0 = lStack_32c0 + 0x88; } FUN_18067ae90(local_778); plVar7 = local_33e8; } else { FUN_180681af0(local_33e8,puVar16); } } puVar10 = local_31a8; if (local_31a8 != (undefined8 *)0x0) { local_6e8 = pace::eden::thrift::authorize::ChallengeLicenseDbInput::vftable; FUN_180575180(local_6e0); local_3f0 = 0; local_3e8 = 0; uStack_3e0 = 0; local_3d8 = 0; local_3d0 = 0; local_3250 = pace::eden::thrift::authorize::ChallengeLicenseDbReturn::vftable; local_3248 = 0; uStack_3240 = 0; local_3238 = 0; local_3230 = 0; local_322c = 4; local_3228 = 0; local_3226 = 0; FUN_1805b9ea0(local_6e0,puVar16); FUN_1805b9910(&local_3f0,puVar10); local_3d8 = CONCAT44(*(undefined4 *)((longlong)plVar7 + 0x194),0x80000000); local_30c0 = 0; uStack_30b8 = 0; local_30b0 = 0; local_3100 = 0; lStack_30f8 = 0; local_30f0 = 0; FUN_180672770(&local_6e8,&local_30c0,1); FUN_1806b86d0(plVar7,2,&local_30c0,&local_3100); FUN_180670420(local_3100,lStack_30f8 - local_3100,&local_3250); if (puVar10 != &local_3248) { FUN_1805e1990(puVar10,local_3248,uStack_3240); } FUN_180575ed0(&local_3100); FUN_180575ed0(&local_30c0); FUN_18067ad70(&local_3250); FUN_18067acf0(&local_6e8); } } LAB_1806c0afb: FUN_1806961b0(plVar7,&local_32c8,&local_7e8); if (puVar16[0x20] != '\0') { FUN_180663c70(local_33e0,puVar16 + 0x28); FUN_180663c70(&local_33b8,puVar16 + 0x48); if (((local_3170 != 0) && (local_3168 != (longlong *)0x0)) && (local_3168[1] != *local_3168)) { local_3440 = (longlong *)0x0; local_3448 = (longlong *)0x0; FUN_18068f530(plVar7,puVar16,local_3170,local_3168); } FUN_1805b9860(&uStack_2fb8); FUN_18092de40(local_3c8); if ((local_3128 != '\0') && (*local_3130 = *local_3130 + -1, *local_3130 == 0)) { LOCK(); local_3130[1] = 0; UNLOCK(); FUN_1806bbbc0(local_3130 + 2); } FUN_1806798f0(&local_7e8); if (0xf < local_870) { FUN_1805a7bf0(local_888,CONCAT71(local_888[0]._1_7_,(undefined1)local_888[0]),local_870 + 1); } if (0xf < local_890) { FUN_1805a7bf0(&local_8a8,CONCAT71(uStack_8a7,local_8a8),local_890 + 1); } local_898 = 0; local_890 = 0xf; local_8a8 = 0; FUN_18067d5e0(&local_3298); if (local_33d0 != 0) { FUN_1805bd950(&local_33d0,local_33d0,local_33c0 - local_33d0 >> 3); local_33d0 = 0; lStack_33c8 = 0; local_33c0 = 0; } FUN_1805bc170(&local_30e8); FUN_1806802c0(&local_32c8); FUN_180575ed0(local_3160); } local_31a0 = 300000000; FUN_1805c5170(local_3198,&local_33b8,local_33e0); puVar10 = (undefined8 *)FUN_1805af150(local_3198,local_2ff0,&local_31a0); local_3188 = *puVar10; local_3190 = 0; iVar3 = FUN_1805bd370(&local_3188,&local_3190); if (iVar3 != -1) { local_32d8 = (undefined8 *)FUN_1811316e0(0x18); if (local_32d8 != (undefined8 *)0x0) { FUN_1805a48c0(local_32d8,"iLok1 VerifyAuth: Not authorized"); } lVar6 = FUN_1805c0260(); local_3328[0] = 0x3ceb; local_33f0 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar6 + 8),&local_33f0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3328); } local_32d8 = (undefined8 *)FUN_1811316e0(0x18); if (local_32d8 != (undefined8 *)0x0) { lVar6 = FUN_1805a48c0(local_32d8, "Not Authorized & MasterTime for location %s//%X is ahead of the computer time." ); } lVar19 = FUN_1805c0260(); FUN_1805b23b0(*(undefined8 *)(lVar6 + 8),puVar16 + 0x70); local_3330[0] = 0x3ce6; local_3180 = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\authorizationverifier.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar19 + 8),&local_3180); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_3330); } ############ FUN_ 1806c0e30 size=8232 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806c0e30(longlong *param_1,longlong *param_2,undefined8 param_3,ulonglong *param_4, longlong *param_5,longlong *param_6,undefined1 *param_7,longlong *param_8, longlong *param_9,undefined8 param_10,longlong param_11) { uint uVar1; bool bVar2; bool bVar3; bool bVar4; ulonglong *puVar5; char cVar6; int iVar7; int iVar8; longlong *plVar9; undefined8 uVar10; longlong *plVar11; longlong lVar12; undefined8 *puVar13; undefined8 *puVar14; longlong lVar15; longlong *plVar16; longlong *plVar17; longlong lVar18; int *piVar19; void *_Buf1; undefined8 ******ppppppuVar20; void *pvVar21; ulonglong uVar22; longlong **pplVar23; undefined8 **ppuVar24; longlong *plVar25; ulonglong uVar26; longlong *plVar27; undefined1 auStack_3d8 [32]; longlong **local_3b8; undefined8 local_3b0; undefined4 local_3a8; int local_398 [2]; longlong *local_390; longlong *local_388; longlong *local_380; undefined1 local_378 [8]; longlong *local_370; longlong *local_368; undefined8 *local_360; longlong *local_358; longlong *local_350; longlong *local_348; undefined8 *local_340; ulonglong local_338; longlong *local_330; longlong *local_328; longlong local_320; longlong *local_318; longlong *local_310; longlong *local_308; longlong local_300; undefined1 *local_2f8; longlong *local_2f0; undefined8 *local_2e8; undefined8 *local_2e0; longlong *local_2d8; undefined8 local_2d0; ulonglong *local_2c8; longlong local_2c0 [9]; undefined8 local_278; int iStack_274; undefined8 local_270; undefined8 local_268; undefined8 local_260; ulonglong *local_258; longlong *local_250; undefined1 local_248 [8]; undefined8 *****local_240; longlong lStack_238; undefined8 *local_230; ulonglong local_228; undefined8 local_220 [2]; longlong *local_210; ulonglong local_208; undefined8 local_200 [2]; undefined8 local_1f0; undefined8 local_1e8; undefined8 local_1e0 [2]; undefined8 local_1d0; undefined8 local_1c8; undefined1 local_1c0 [32]; undefined1 local_1a0 [40]; undefined1 local_178 [8]; undefined4 local_170; undefined8 local_168 [4]; undefined4 local_148; undefined1 local_140 [152]; undefined1 local_a8 [32]; undefined1 local_88 [32]; undefined1 local_68 [32]; ulonglong local_48; local_260 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_3d8; local_350 = param_5; local_318 = param_6; local_2f8 = param_7; local_348 = param_8; local_2f0 = param_9; local_250 = param_9; local_2d0 = param_10; local_2c0[6] = 0; local_2c0[7] = 0; plVar16 = (longlong *)0x0; local_2c0[8] = 0; local_278 = 0; local_270 = 0; local_268 = 0; local_310 = param_1; local_2d8 = param_2; local_2c8 = param_4; local_258 = param_4; local_270 = FUN_1805bbda0(&local_270); local_210 = (longlong *)0x0; local_208 = 0xf; local_220[0]._0_1_ = 0; local_370 = (longlong *)0x0; if (param_2 == (longlong *)0x0) { local_390 = (longlong *)FUN_1811316e0(0x18); if (local_390 != (longlong *)0x0) { FUN_1805a48c0(local_390, "No License provided to AuthorizationVerifier::verifyDatabaseInfoMachineBindingsAndMasterTime" ); } plVar9 = (longlong *)FUN_1811316e0(0x18); local_390 = plVar9; if (plVar9 != (longlong *)0x0) { FUN_1805a48c0(plVar9,"|__FILE__|%s|__LINE__|%d"); *plVar9 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar16 = plVar9; } local_398[0] = 0x3da4; local_368 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(plVar16[1],&local_368); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } FUN_180815890(&local_300,param_3); if (local_300 == 0) { local_390 = (longlong *)FUN_1811316e0(0x18); if (local_390 != (longlong *)0x0) { FUN_1805a48c0(local_390,"Could not get a vector of DatabaseInfos"); } plVar9 = (longlong *)FUN_1811316e0(0x18); local_390 = plVar9; if (plVar9 != (longlong *)0x0) { FUN_1805a48c0(plVar9,"|__FILE__|%s|__LINE__|%d"); *plVar9 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar16 = plVar9; } local_398[0] = 0x3db4; local_368 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(plVar16[1],&local_368); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } plVar9 = (longlong *)FUN_180818390(); local_368 = plVar9; if (plVar9 == (longlong *)0x0) { local_390 = (longlong *)FUN_1811316e0(0x18); plVar9 = plVar16; if (local_390 != (longlong *)0x0) { plVar9 = (longlong *) FUN_1805a48c0(local_390,"No DatabaseInfo records found for license (UUID:%s)"); } plVar11 = (longlong *)FUN_1811316e0(0x18); local_390 = plVar11; if (plVar11 != (longlong *)0x0) { FUN_1805a48c0(plVar11,"|__FILE__|%s|__LINE__|%d"); *plVar11 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar16 = plVar11; } uVar10 = (**(code **)(*param_2 + 0x40))(param_2); FUN_1805b2240(plVar9[1],uVar10); local_398[0] = 0x3dbd; local_388 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(plVar16[1],&local_388); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } lVar12 = FUN_180870eb0(param_2); FUN_18080ca00(param_2,*(undefined1 *)(lVar12 + 0x216),"databaseInfoGuid"); lVar12 = FUN_180870eb0(param_2); puVar13 = (undefined8 *)(lVar12 + 0x78); if (local_220 != puVar13) { if (0xf < *(ulonglong *)(lVar12 + 0x90)) { puVar13 = (undefined8 *)*puVar13; } FUN_1805a6cb0(local_220,puVar13,*(undefined8 *)(lVar12 + 0x88)); } plVar11 = local_310; cVar6 = '\0'; plVar25 = plVar16; if (plVar9 == (longlong *)0x0) { LAB_1806c133a: local_390 = (longlong *)FUN_1811316e0(0x18); if (local_390 == (longlong *)0x0) { lVar12 = 0; } else { lVar12 = FUN_1805a48c0(local_390, "No DatabaseInfo records, validated by DLD, were found for the license (UUID:%s)" ); } plVar16 = (longlong *)0x0; plVar9 = (longlong *)FUN_1811316e0(0x18); local_390 = plVar9; if (plVar9 != (longlong *)0x0) { FUN_1805a48c0(plVar9,"|__FILE__|%s|__LINE__|%d"); *plVar9 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar16 = plVar9; } uVar10 = (**(code **)(*param_2 + 0x40))(param_2); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),uVar10); local_398[0] = 0x3de7; local_388 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(plVar16[1],&local_388); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } do { plVar9 = (longlong *)FUN_180812700(local_300,local_248,plVar25); plVar9 = (longlong *)*plVar9; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar11 + 8))(plVar11,plVar9); lVar12 = FUN_18086a7d0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x21b),"databaseInfoGuid"); lVar12 = FUN_18086a7d0(plVar9); plVar17 = local_210; pvVar21 = (void *)(lVar12 + 0x30); if (0xf < *(ulonglong *)(lVar12 + 0x48)) { pvVar21 = *(void **)(lVar12 + 0x30); } puVar13 = local_220; if (0xf < local_208) { puVar13 = (undefined8 *)CONCAT71(local_220[0]._1_7_,(undefined1)local_220[0]); } plVar27 = *(longlong **)(lVar12 + 0x40); local_388 = plVar27; local_358 = local_210; pplVar23 = &local_388; if (local_210 <= plVar27) { pplVar23 = &local_358; } iVar7 = memcmp(puVar13,pvVar21,(size_t)*pplVar23); if (((iVar7 == 0) && (plVar27 <= plVar17)) && (plVar17 == plVar27)) { if (cVar6 != '\0') { local_390 = (longlong *)FUN_1811316e0(0x18); if (local_390 != (longlong *)0x0) { FUN_1805a48c0(local_390,"PACE\'s DatabaseInfo record has duplicates"); } puVar13 = (undefined8 *)0x0; puVar14 = (undefined8 *)FUN_1811316e0(0x18); local_360 = puVar14; if (puVar14 != (undefined8 *)0x0) { FUN_1805a48c0(puVar14,"|__FILE__|%s|__LINE__|%d"); *puVar14 = pace::PaceLocationInfoFormatter::vftable; puVar13 = puVar14; } local_398[0] = 0x3dd6; local_388 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(puVar13[1],&local_388); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } cVar6 = FUN_18068d570(plVar11,plVar9,local_2d0); if (cVar6 != '\0') { plVar16 = plVar9; } } } plVar9 = local_2d8; plVar25 = (longlong *)((longlong)plVar25 + 1); } while (plVar25 < local_368); param_2 = local_2d8; if (cVar6 == '\0') goto LAB_1806c133a; cVar6 = FUN_18086b3f0(plVar16,local_2c0 + 6); if (cVar6 == '\0') { local_390 = (longlong *)FUN_1811316e0(0x18); if (local_390 == (longlong *)0x0) { lVar12 = 0; } else { lVar12 = FUN_1805a48c0(local_390, "The DatabaseInfo (GUID: %s) has a signature that does not verify"); } plVar16 = (longlong *)0x0; plVar9 = (longlong *)FUN_1811316e0(0x18); local_390 = plVar9; if (plVar9 != (longlong *)0x0) { FUN_1805a48c0(plVar9,"|__FILE__|%s|__LINE__|%d"); *plVar9 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar16 = plVar9; } FUN_1805b2240(*(undefined8 *)(lVar12 + 8),local_220); local_398[0] = 0x3df5; local_388 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(plVar16[1],&local_388); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } lVar12 = FUN_18086a7d0(plVar16); FUN_18080ca00(plVar16,*(undefined1 *)(lVar12 + 0x222),"issuerId"); lVar12 = FUN_18086a7d0(plVar16); if (iStack_274 != *(int *)(lVar12 + 0xf8)) { local_390 = (longlong *)FUN_1811316e0(0x18); if (local_390 == (longlong *)0x0) { lVar12 = 0; } else { lVar12 = FUN_1805a48c0(local_390, "The DatabaseInfo (GUID: %s) was signed by an invalid issuer (ExpectedID:0x%08X, Actual:0x%08X)" ); } plVar9 = (longlong *)FUN_1811316e0(0x18); local_390 = plVar9; if (plVar9 != (longlong *)0x0) { FUN_1805a48c0(plVar9,"|__FILE__|%s|__LINE__|%d"); *plVar9 = (longlong)pace::PaceLocationInfoFormatter::vftable; } lVar15 = FUN_18086a7d0(plVar16); FUN_18080ca00(plVar16,*(undefined1 *)(lVar15 + 0x222),"issuerId"); FUN_18086a7d0(plVar16); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),local_220); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar12 + 8),&iStack_274); } lVar12 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x21b),"issuerId"); lVar12 = FUN_180870eb0(plVar9); if (iStack_274 != *(int *)(lVar12 + 0xe0)) { local_390 = (longlong *)FUN_1811316e0(0x18); if (local_390 == (longlong *)0x0) { lVar12 = 0; } else { lVar12 = FUN_1805a48c0(local_390, "The License (UUID: %s) was signed by an invalid issuer (ExpectedID:0x%08X, Actual:0x%08X)" ); } plVar16 = (longlong *)FUN_1811316e0(0x18); local_390 = plVar16; if (plVar16 != (longlong *)0x0) { FUN_1805a48c0(plVar16,"|__FILE__|%s|__LINE__|%d"); *plVar16 = (longlong)pace::PaceLocationInfoFormatter::vftable; } lVar15 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar15 + 0x21b),"issuerId"); FUN_180870eb0(plVar9); uVar10 = (**(code **)(*plVar9 + 0x40))(plVar9); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),uVar10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar12 + 8),&iStack_274); } plVar11 = (longlong *)(local_2f0[1] - *local_2f0 >> 3); local_390 = plVar11; local_388 = plVar11; if (plVar11 != (longlong *)0x0) { lVar12 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x21e),"mustBeInAuthManifest"); lVar12 = FUN_180870eb0(plVar9); if (*(char *)(lVar12 + 0x128) != '\0') { FUN_18084d2f0(plVar16,&local_358); if (local_358 == (longlong *)0x0) { local_360 = (undefined8 *)FUN_1811316e0(0x18); if (local_360 == (undefined8 *)0x0) { lVar12 = 0; } else { lVar12 = FUN_1805a48c0(local_360,"Bad LsObjectRelationVectorAuthManifestElement (0x%16X)") ; } puVar13 = (undefined8 *)0x0; puVar14 = (undefined8 *)FUN_1811316e0(0x18); local_360 = puVar14; if (puVar14 != (undefined8 *)0x0) { FUN_1805a48c0(puVar14,"|__FILE__|%s|__LINE__|%d"); *puVar14 = pace::PaceLocationInfoFormatter::vftable; puVar13 = puVar14; } FUN_18066eb70(*(undefined8 *)(lVar12 + 8),&local_358); local_398[0] = 0x3e23; local_328 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(puVar13[1],&local_328); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } plVar25 = (longlong *)(((longlong *)local_358[1])[1] - *(longlong *)local_358[1] >> 5); local_328 = (longlong *)0x0; local_380 = plVar25; lVar12 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x227),"state"); lVar12 = FUN_180870eb0(plVar9); FUN_1805a4070(&local_240,lVar12 + 0x180); puVar13 = local_230; local_330 = (longlong *)0x0; if (plVar25 != (longlong *)0x0) { do { plVar11 = local_330; plVar17 = (longlong *)FUN_18082ebd0(local_358,&local_320,local_330); lVar12 = *plVar17; if ((lVar12 != 0) && (plVar17 = (longlong *)0x0, plVar25 = local_380, local_388 != (longlong *)0x0)) { do { lVar15 = *(longlong *)(*local_2f0 + (longlong)plVar17 * 8); lVar18 = FUN_180870eb0(lVar15); FUN_18080ca00(lVar15,*(undefined1 *)(lVar18 + 0x1eb),"authId"); lVar18 = FUN_180870eb0(lVar15); iVar7 = *(int *)(lVar18 + 0x30); lVar18 = FUN_180870eb0(lVar15); FUN_18080ca00(lVar15,*(undefined1 *)(lVar18 + 0x1f7),"publisherId"); lVar18 = FUN_180870eb0(lVar15); local_398[0] = *(int *)(lVar18 + 0xb8); if (lVar15 != 0) { lVar18 = FUN_18082bc60(lVar12); FUN_18080ca00(lVar12,*(undefined1 *)(lVar18 + 0xfb),"authId"); lVar18 = FUN_18082bc60(lVar12); if (iVar7 == *(int *)(lVar18 + 0x30)) { lVar18 = FUN_18082bc60(lVar12); FUN_18080ca00(lVar12,*(undefined1 *)(lVar18 + 0x100),"publisherId"); lVar18 = FUN_18082bc60(lVar12); if (local_398[0] == *(int *)(lVar18 + 0x98)) { lVar18 = FUN_180870eb0(lVar15); FUN_18080ca00(lVar15,*(undefined1 *)(lVar18 + 0x1ec),"authInstance"); lVar15 = FUN_180870eb0(lVar15); lVar18 = FUN_18082bc60(lVar12); FUN_18080ca00(lVar12,*(undefined1 *)(lVar18 + 0xfc),"authInstance"); lVar18 = FUN_18082bc60(lVar12); if (*(int *)(lVar15 + 0x34) == *(int *)(lVar18 + 0x34)) { lVar15 = FUN_18082bc60(lVar12); FUN_18080ca00(lVar12,*(undefined1 *)(lVar15 + 0xfe),"licenseIssuedDate"); lVar15 = FUN_18082bc60(lVar12); lVar18 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar18 + 0x21a),"issuedDate"); lVar18 = FUN_180870eb0(plVar9); pvVar21 = (void *)(lVar15 + 0x58); if (0xf < *(ulonglong *)(lVar15 + 0x70)) { pvVar21 = *(void **)(lVar15 + 0x58); } _Buf1 = (void *)(lVar18 + 0xc0); if (0xf < *(ulonglong *)(lVar18 + 0xd8)) { _Buf1 = *(void **)(lVar18 + 0xc0); } if ((*(size_t *)(lVar18 + 0xd0) == *(size_t *)(lVar15 + 0x68)) && (iVar8 = memcmp(_Buf1,pvVar21,*(size_t *)(lVar18 + 0xd0)), iVar8 == 0)) { lVar15 = FUN_18082bc60(lVar12); FUN_18080ca00(lVar12,*(undefined1 *)(lVar15 + 0x101),"state"); lVar15 = FUN_18082bc60(lVar12); pvVar21 = (void *)(lVar15 + 0xa0); if (0xf < *(ulonglong *)(lVar15 + 0xb8)) { pvVar21 = *(void **)(lVar15 + 0xa0); } ppppppuVar20 = &local_240; if (0xf < local_228) { ppppppuVar20 = (undefined8 ******)local_240; } puVar14 = *(undefined8 **)(lVar15 + 0xb0); local_2e8 = puVar14; local_360 = puVar13; ppuVar24 = &local_2e8; if (puVar13 <= puVar14) { ppuVar24 = &local_360; } iVar8 = memcmp(ppppppuVar20,pvVar21,(size_t)*ppuVar24); if (((iVar8 == 0) && (puVar14 <= puVar13)) && (puVar13 <= puVar14)) { local_328 = (longlong *)((longlong)local_328 + 1); plVar11 = local_330; plVar25 = local_380; if (((iVar7 == 0x4801f777) && (local_398[0] == 1)) && (piVar19 = (int *)FUN_1806aa760(plVar9), plVar11 = local_330, plVar25 = local_380, *piVar19 != 1)) { local_340 = (undefined8 *)FUN_1811316e0(0x18); if (local_340 == (undefined8 *)0x0) { lVar12 = 0; } else { lVar12 = FUN_1805a48c0(local_340, "Fixed key auth has an issuer (ID: %d) that is not PACE" ); } FUN_1805c0260(); uVar10 = FUN_1806aa760(plVar9); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar12 + 8),uVar10); } break; } } } } } } plVar17 = (longlong *)((longlong)plVar17 + 1); plVar11 = local_330; plVar25 = local_380; } while (plVar17 < local_388); } if (local_328 == local_388) goto LAB_1806c1d42; local_330 = (longlong *)((longlong)plVar11 + 1); plVar11 = local_388; } while (local_330 < plVar25); } lVar12 = 0; if (local_328 != plVar11) { local_340 = (undefined8 *)FUN_1811316e0(0x18); if (local_340 != (undefined8 *)0x0) { lVar12 = FUN_1805a48c0(local_340, "The License (UUID: %s) does not fully match the AuthManifest in the DatabaseInfo (IssuerId: 0x%08X). Only %d out of %d required matches" ); } puVar13 = (undefined8 *)FUN_1811316e0(0x18); local_340 = puVar13; if (puVar13 != (undefined8 *)0x0) { FUN_1805a48c0(puVar13,"|__FILE__|%s|__LINE__|%d"); *puVar13 = pace::PaceLocationInfoFormatter::vftable; } lVar15 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar15 + 0x21b),"issuerId"); lVar15 = FUN_180870eb0(plVar9); uVar10 = (**(code **)(*plVar9 + 0x40))(plVar9); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),uVar10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar12 + 8),lVar15 + 0xe0); } LAB_1806c1d42: if (0xf < local_228) { ppppppuVar20 = (undefined8 ******)local_240; if ((0xfff < local_228 + 1) && (ppppppuVar20 = (undefined8 ******)local_240[-1], 0x1f < (ulonglong)((longlong)local_240 + (-8 - (longlong)ppppppuVar20)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(ppppppuVar20); } } } lVar12 = FUN_18086a7d0(plVar16); FUN_18080ca00(plVar16,*(undefined1 *)(lVar12 + 0x223),"lastAuthChangeDate"); lVar12 = FUN_18086a7d0(plVar16); FUN_1805a4070(local_1a0,lVar12 + 0x100); lVar12 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x219),"insertDate"); lVar12 = FUN_180870eb0(plVar9); FUN_1805a4070(local_68,lVar12 + 0xa0); lVar12 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x21a),"issuedDate"); lVar12 = FUN_180870eb0(plVar9); FUN_1805a4070(local_1c0,lVar12 + 0xc0); FUN_180660c00(&local_2e0,local_1a0,0); FUN_180660c00(&local_308,local_1c0,0); local_388 = (longlong *)0x11e1a300; local_390 = (longlong *)0x7ffffffffffffffe; local_398[0] = -2; FUN_1805b41e0(&local_360,local_398,&local_390); plVar11 = local_350; if (local_2e0 != local_360) { FUN_1805b6b80(&local_390,0); plVar11 = local_350; if ((longlong *)*local_350 != local_390) { FUN_1805c5170(&local_390,local_350,&local_2e0); puVar13 = (undefined8 *)FUN_1805af150(&local_390,&local_340,&local_388); local_370 = (longlong *)*puVar13; lVar12 = 0; local_390 = (longlong *)0x0; iVar7 = FUN_1805bd370(&local_370,&local_390); if (iVar7 == -1) { local_340 = (undefined8 *)FUN_1811316e0(0x18); if (local_340 != (undefined8 *)0x0) { lVar12 = FUN_1805a48c0(local_340, "The current computer time is before the database\'s last auth change date of %s" ); } lVar15 = FUN_1805c0260(); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),local_1a0); local_398[0] = 0x3ea8; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar15 + 8),&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } } lVar12 = 0; FUN_1805b6b80(&local_390,0); if (local_308 != local_390) { FUN_1805c5170(&local_390,&local_2e0,&local_308); local_370 = local_390; local_390 = (longlong *)0x0; iVar7 = FUN_1805bd370(&local_370,&local_390); if (iVar7 == -1) { local_340 = (undefined8 *)FUN_1811316e0(0x18); if (local_340 != (undefined8 *)0x0) { lVar12 = FUN_1805a48c0(local_340, "The license (UUID: %s), issued %s, was issued after the last auth change date of %s" ); } lVar15 = FUN_1805c0260(); uVar10 = (**(code **)(*plVar9 + 0x40))(plVar9); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),uVar10); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),local_1c0); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),local_1a0); local_398[0] = 0x3eb5; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar15 + 8),&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } } } FUN_1805b6b80(&local_390,0); if (((longlong *)*plVar11 != local_390) && (FUN_1805b6b80(&local_390,0), local_308 != local_390)) { FUN_1805c5170(&local_390,plVar11,&local_308); puVar13 = (undefined8 *)FUN_1805af150(&local_390,&local_340,&local_388); local_370 = (longlong *)*puVar13; local_390 = (longlong *)0x0; iVar7 = FUN_1805bd370(&local_370,&local_390); if (iVar7 == -1) { lVar12 = FUN_1805c0220( "The current computer time is before the license (UUID: %s) was issued on the date of %s" ); lVar15 = FUN_1805c0260(); uVar10 = (**(code **)(*plVar9 + 0x40))(plVar9); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),uVar10); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),local_1c0); local_398[0] = 0x3ec6; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar15 + 8),&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } } puVar13 = (undefined8 *)0x0; lVar12 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x220),"nodeLocked"); lVar12 = FUN_180870eb0(plVar9); plVar11 = local_310; if (*(char *)(lVar12 + 0x150) != '\0') { cVar6 = FUN_1808649b0(plVar16); if (cVar6 == '\0') { lVar12 = FUN_1805c0220( "Machine Bindings are missing from the from the DatabaseInfo (GUID: %s)" ); lVar15 = FUN_1805c0260(); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),local_220); local_398[0] = 0x3ed6; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar15 + 8),&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } FUN_18084eb60(plVar16,&local_388); plVar11 = local_388; if (local_388 == (longlong *)0x0) { FUN_1805c0220("Could not get a Machine Bindings pointer from DatabaseInfo"); lVar12 = FUN_1805c0260(); local_398[0] = 0x3edd; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } lVar12 = FUN_1808460a0(local_388); FUN_18080ca00(plVar11,*(undefined1 *)(lVar12 + 399),"platform"); lVar12 = FUN_1808460a0(plVar11); if (*(longlong *)(lVar12 + 0xc0) == 0) { FUN_1805c0220( "Machine Bindings Platform is not populated. Connect to the Eden server to get this populated." ); lVar12 = FUN_1805c0260(); local_398[0] = 0x3ee2; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } FUN_1809363d0(local_178,&local_388); lVar12 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x214),"bindingAlgorithm"); lVar12 = FUN_180870eb0(plVar9); FUN_1805a4070(local_200,lVar12 + 0x50); iVar8 = 0; local_398[0] = 0; lVar12 = FUN_1807064c0(); iVar7 = FUN_18060cd70(local_200,lVar12 + 0x380); if (iVar7 == 0) { lVar12 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x215),"bindingDriftAmount"); lVar12 = FUN_180870eb0(plVar9); uVar1 = *(uint *)(lVar12 + 0x70); if ((int)uVar1 < 0x65) { puVar14 = (undefined8 *)(ulonglong)uVar1; if ((int)uVar1 < 0) { puVar14 = puVar13; } } else { puVar14 = (undefined8 *)0x64; } iVar8 = (int)puVar14; local_398[0] = iVar8; } puVar5 = local_2c8; if (*local_2c8 == 0) { local_340 = (undefined8 *)FUN_1811316e0(200); if (local_340 != (undefined8 *)0x0) { puVar13 = (undefined8 *)FUN_18062a280(local_340); } local_340 = puVar13; FUN_18066b710(&local_338,puVar13); FUN_1805ae620(&local_340,puVar13,puVar13); puVar13 = (undefined8 *)*puVar5; *puVar5 = (ulonglong)local_340; uVar22 = puVar5[1]; puVar5[1] = local_338; local_340 = puVar13; local_338 = uVar22; FUN_1805a4e80(&local_340); } local_358 = (longlong *)0x0; local_378[0] = 0; local_3a8 = 0; local_3b0 = 0; local_3b8 = &local_358; cVar6 = FUN_180639a30(local_178,*puVar5,(longlong)iVar8,local_378); plVar11 = local_310; local_310[0x34] = (longlong)iVar8; local_310[0x33] = (longlong)local_358; if (cVar6 == '\0') { lVar12 = FUN_1805c0220( "Bad Machine bindings detected while verifying license (UUID: %s) with allowed drift %d percent and actual drift %d" ); FUN_1805c0260(); uVar10 = (**(code **)(*plVar9 + 0x40))(plVar9); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),uVar10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar12 + 8),local_398); } FUN_180485450(local_200); FUN_18062b2f0(local_178); } plVar25 = local_348; if (local_348 == (longlong *)0x0) { if (local_2f8 != (undefined1 *)0x0) { FUN_1805c0220( "outpFixedKeyActiveIsInAuthManifest has to be NULL when outpDatabaseUpdates is NULL" ); lVar12 = FUN_1805c0260(); local_398[0] = 0x404e; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } goto LAB_1806c30b6; } piVar19 = (int *)FUN_1806aa720(plVar16); uVar10 = local_2d0; plVar17 = local_368; if (*piVar19 != 1) { cVar6 = '\0'; plVar27 = (longlong *)0x0; if (local_368 == (longlong *)0x0) { LAB_1806c26a5: FUN_1805c0220("No PACE DatabaseInfo record, validated by DLD, was found"); lVar12 = FUN_1805c0260(); local_398[0] = 0x3f36; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } do { plVar9 = (longlong *)FUN_180812700(local_300,&local_340,plVar27); plVar9 = (longlong *)*plVar9; if (plVar9 != (longlong *)0x0) { lVar12 = FUN_18086a7d0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x222),"issuerId"); lVar12 = FUN_18086a7d0(plVar9); if (*(int *)(lVar12 + 0xf8) == 1) { if (cVar6 != '\0') { local_320 = FUN_1811316e0(0x18); if (local_320 != 0) { FUN_1805a48c0(local_320,"PACE\'s DatabaseInfo record has duplicates"); } puVar13 = (undefined8 *)FUN_1811316e0(0x18); local_360 = puVar13; if (puVar13 != (undefined8 *)0x0) { FUN_1805a48c0(puVar13,"|__FILE__|%s|__LINE__|%d"); *puVar13 = pace::PaceLocationInfoFormatter::vftable; } local_398[0] = 0x3f27; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(puVar13[1],&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } cVar6 = FUN_18068d570(plVar11,plVar9,uVar10); if (cVar6 != '\0') { plVar16 = plVar9; } } } plVar9 = local_2d8; plVar25 = local_348; plVar27 = (longlong *)((longlong)plVar27 + 1); } while (plVar27 < plVar17); if (cVar6 == '\0') goto LAB_1806c26a5; cVar6 = FUN_18086b3f0(plVar16,local_2c0 + 6); if (cVar6 == '\0') { lVar12 = FUN_1805c0220("The DatabaseInfo (GUID: %s) has a signature that does not verify"); lVar15 = FUN_1805c0260(); uVar10 = FUN_18068d530(plVar16); FUN_1805b2240(*(undefined8 *)(lVar12 + 8),uVar10); local_398[0] = 0x3f3f; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar15 + 8),&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } (**(code **)(*plVar11 + 8))(plVar11,plVar16); } lVar12 = FUN_18086a7d0(plVar16); FUN_18080ca00(plVar16,*(undefined1 *)(lVar12 + 0x225),"masterTime"); lVar12 = FUN_18086a7d0(plVar16); FUN_1805a4070(local_a8,lVar12 + 0x140); FUN_180660c00(&local_380,local_a8,0); FUN_1805b6b80(&local_368,0); local_240 = (undefined8 ******)0x0; lStack_238 = 0; local_230 = (undefined8 *)0x0; local_2c0[3] = 0; local_2c0[4] = 0; local_2c0[5] = 0; FUN_18066dd70(local_2c0 + 3,1,local_2c0 + 3); *(undefined1 *)(local_2c0[3] + 8) = 1; FUN_1805a6cb0(local_2c0[3] + 0x30,"AuxiliaryMT",0xb); FUN_18069d3b0(plVar11,local_2c0 + 3,&local_240); lVar12 = lStack_238 - (longlong)local_240 >> 0x3f; if (((lStack_238 - (longlong)local_240) / 0x130 + lVar12 != lVar12) && ((longlong)local_240[0x22] - (longlong)local_240[0x21] >> 5 != 0)) { puVar13 = (undefined8 *)FUN_180660c00(&local_320,local_240[0x21],0); local_368 = (longlong *)*puVar13; } plVar11 = local_368; FUN_1805b6b80(&local_390,0); plVar17 = plVar11; if ((local_380 != local_390) && (FUN_1805b6b80(&local_390,0), plVar17 = local_380, plVar11 != local_390)) { FUN_1805c5170(&local_360,&local_380,&local_368); local_390 = (longlong *)0x0; iVar7 = FUN_1805bd370(&local_360,&local_390); plVar17 = local_380; if (iVar7 == -1) { plVar17 = local_368; } } local_380 = plVar17; FUN_180676d70(local_178); local_1f0 = 0; local_1e8 = 0xf; local_200[0]._0_1_ = 0; local_1d0 = 0; local_1c8 = 0xf; local_1e0[0]._0_1_ = 0; local_390 = (longlong *)0x7ffffffffffffffe; local_398[0] = -2; FUN_1805b41e0(&local_348,local_398,&local_390); local_390 = (longlong *)0x7ffffffffffffffe; uVar10 = FUN_180622400(&local_330,0); FUN_1805b41e0(&local_348,uVar10,&local_390); bVar3 = false; bVar2 = false; bVar4 = false; FUN_1805b6b80(&local_390); plVar11 = local_350; if (local_380 == local_390) { plVar11 = (longlong *)*local_350; local_380 = plVar11; bVar2 = bVar3; LAB_1806c2c63: *local_318 = (longlong)plVar11; } else { local_390 = (longlong *)0x11e1a300; FUN_1805c5170(&local_360,local_350,&local_380); puVar13 = (undefined8 *)FUN_1805af150(&local_360,&local_320,&local_390); local_370 = (longlong *)*puVar13; local_390 = (longlong *)0x0; iVar7 = FUN_1805bd370(&local_370); if (iVar7 != -1) { plVar11 = (longlong *)*plVar11; local_380 = plVar11; bVar2 = bVar3; goto LAB_1806c2c63; } *local_318 = (longlong)local_380; lVar12 = FUN_180870eb0(plVar9); FUN_18080ca00(plVar9,*(undefined1 *)(lVar12 + 0x218),"gracePeriodsAllowed"); lVar12 = FUN_180870eb0(plVar9); lVar15 = FUN_18086a7d0(plVar16); FUN_18080ca00(plVar16,*(undefined1 *)(lVar15 + 0x21f),"gracePeriodResets"); lVar15 = FUN_18086a7d0(plVar16); if ((*(int *)(lVar15 + 0xb0) < *(int *)(lVar12 + 0x9c)) && (piVar19 = (int *)FUN_1806a8af0(plVar9), 0 < *piVar19)) { lVar12 = FUN_18086a7d0(plVar16); FUN_18080ca00(plVar16,*(undefined1 *)(lVar12 + 0x220),"graceStartDate"); lVar12 = FUN_18086a7d0(plVar16); puVar13 = (undefined8 *)(lVar12 + 0xb8); if (local_200 != puVar13) { if (0xf < *(ulonglong *)(lVar12 + 0xd0)) { puVar13 = (undefined8 *)*puVar13; } FUN_1805a6cb0(local_200,puVar13,*(undefined8 *)(lVar12 + 200)); } plVar17 = (longlong *)FUN_180660c00(&local_320,local_200,0); plVar17 = (longlong *)*plVar17; local_348 = plVar17; FUN_1805b6b80(&local_390); if (plVar17 == local_390) { bVar4 = true; plVar11 = (longlong *)*plVar11; bVar2 = true; goto LAB_1806c2c63; } FUN_1805c5170(&local_390,plVar11,&local_348); local_370 = local_390; FUN_180661ba0(&local_370,&local_2e8); local_390 = (longlong *)0x0; iVar7 = FUN_1805bd370(&local_370); if (iVar7 != -1) { lVar12 = FUN_18086a7d0(plVar16); FUN_18080ca00(plVar16,*(undefined1 *)(lVar12 + 0x21e),"graceCurrentDate"); lVar12 = FUN_18086a7d0(plVar16); puVar13 = (undefined8 *)(lVar12 + 0x90); if (local_1e0 != puVar13) { if (0xf < *(ulonglong *)(lVar12 + 0xa8)) { puVar13 = (undefined8 *)*puVar13; } FUN_1805a6cb0(local_1e0,puVar13,*(undefined8 *)(lVar12 + 0xa0)); } plVar17 = (longlong *)FUN_180660c00(&local_320,local_1e0,0); plVar17 = (longlong *)*plVar17; local_348 = plVar17; FUN_1805b6b80(&local_390,0); if (plVar17 == local_390) { FUN_1805c5170(&local_390,plVar11,&local_348); local_370 = local_390; } local_390 = (longlong *)0x0; iVar7 = FUN_1805bd370(&local_370); if (iVar7 != -1) { bVar4 = true; piVar19 = (int *)FUN_1806a8af0(plVar9); if (local_2e8 <= (undefined8 *)(longlong)*piVar19) { plVar11 = (longlong *)*plVar11; bVar2 = bVar3; goto LAB_1806c2c63; } } } } } if (local_2f8 != (undefined1 *)0x0) { *local_2f8 = 0; FUN_18084d2f0(plVar16); if (local_350 == (longlong *)0x0) { lVar12 = FUN_1805c0220("Bad LsObjectRelationVectorAuthManifestElement (0x%16X)"); lVar15 = FUN_1805c0260(); FUN_18066eb70(*(undefined8 *)(lVar12 + 8),&local_350); local_398[0] = 0x3ff0; local_390 = (longlong *)0x181bbe3b0; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar15 + 8),&local_390); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_398); } uVar26 = ((longlong *)local_350[1])[1] - *(longlong *)local_350[1] >> 5; uVar22 = 0; if (uVar26 != 0) { do { puVar13 = (undefined8 *)FUN_18082ebd0(local_350,&local_320,uVar22); uVar10 = *puVar13; lVar12 = FUN_18082bc60(uVar10); FUN_18080ca00(uVar10,*(undefined1 *)(lVar12 + 0xfb),"authId"); lVar12 = FUN_18082bc60(uVar10); if (*(int *)(lVar12 + 0x30) == 0x4801f777) { lVar12 = FUN_18082bc60(uVar10); FUN_18080ca00(uVar10,*(undefined1 *)(lVar12 + 0x100),"publisherId"); lVar12 = FUN_18082bc60(uVar10); if (*(int *)(lVar12 + 0x98) == 1) { FUN_1807064c0(); uVar10 = FUN_1806bba60(uVar10); cVar6 = FUN_1805aef10(uVar10); if (cVar6 == '\0') { *local_2f8 = 1; } break; } } uVar22 = uVar22 + 1; } while (uVar22 < uVar26); } } if (*(char *)(param_11 + 0xd) == '\0') { local_2c0[0] = 0; local_2c0[1] = 0; local_2c0[2] = 0; FUN_18066df90(local_2c0,1,local_2c0); *(undefined1 *)(local_2c0[0] + 8) = 1; FUN_1805a6cb0(local_2c0[0] + 0x30,"AuxiliaryMT",0xb); uVar10 = FUN_180662d40(local_88,&local_380); FUN_1806b7950(local_2c0[0] + 0x108,uVar10); FUN_180485450(local_88); FUN_180683d70(local_310,0,local_2c0); FUN_1806804d0(local_2c0); } else { local_170 = 4; puVar13 = (undefined8 *)(**(code **)(*plVar16 + 0x40))(plVar16); if (local_168 != puVar13) { puVar14 = puVar13; if (0xf < (ulonglong)puVar13[3]) { puVar14 = (undefined8 *)*puVar13; } FUN_1805a6cb0(local_168,puVar14,puVar13[2]); } local_148 = 1; FUN_180663c70(&local_380,local_140); if (plVar25[2] == plVar25[1]) { FUN_18066cf60(plVar25,plVar25[1],local_178); } else { FUN_180676cd0(plVar25[1],local_178); plVar25[1] = plVar25[1] + 0x88; } } if (bVar2) { local_170 = 2; puVar13 = (undefined8 *)(**(code **)(*plVar16 + 0x40))(plVar16); if (local_168 != puVar13) { puVar14 = puVar13; if (0xf < (ulonglong)puVar13[3]) { puVar14 = (undefined8 *)*puVar13; } FUN_1805a6cb0(local_168,puVar14,puVar13[2]); } local_148 = 3; if (plVar25[2] == plVar25[1]) { FUN_18066cf60(plVar25,plVar25[1],local_178); } else { FUN_180676cd0(plVar25[1],local_178); plVar25[1] = plVar25[1] + 0x88; } } if (bVar4) { local_170 = 1; puVar13 = (undefined8 *)(**(code **)(*plVar16 + 0x40))(plVar16); if (local_168 != puVar13) { puVar14 = puVar13; if (0xf < (ulonglong)puVar13[3]) { puVar14 = (undefined8 *)*puVar13; } FUN_1805a6cb0(local_168,puVar14,puVar13[2]); } local_148 = 1; if (plVar25[2] == plVar25[1]) { FUN_18066cf60(plVar25,plVar25[1],local_178); } else { FUN_180676cd0(plVar25[1],local_178); plVar25[1] = plVar25[1] + 0x88; } } FUN_180485450(local_1e0); FUN_180485450(local_200); FUN_18067ae90(local_178); FUN_180680380(local_2c0 + 3); FUN_1806804d0(&local_240); FUN_180485450(local_a8); LAB_1806c30b6: FUN_180485450(local_1c0); FUN_180485450(local_68); FUN_180485450(local_1a0); FUN_180485450(local_220); FUN_18067d5e0(local_2c0 + 6); FUN_1805a4e80(local_2c8); FUN_18047cfb0(local_2f0); } ############ FUN_ 1807ffc30 size=1663 ############ /* WARNING: Instruction at (ram,0x00018080001f) overlaps instruction at (ram,0x00018080001e) */ /* WARNING: Removing unreachable block (ram,0x00018080001d) */ /* WARNING: Removing unreachable block (ram,0x000180800101) */ undefined8 FUN_1807ffc30(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,undefined1 param_4) { longlong *plVar1; int *piVar2; longlong *plVar3; undefined8 *puVar4; char *pcVar5; undefined8 uVar6; undefined8 uVar7; size_t sVar8; longlong lVar9; int iVar10; uint uVar11; undefined8 *puVar12; uint uVar13; char *pcVar14; int unaff_retaddr; undefined1 auStack_f8 [32]; undefined4 local_d8; undefined4 local_c8; undefined8 local_c0; char *local_b8; undefined *local_b0; undefined8 *local_a0; undefined4 local_98 [2]; undefined8 local_90; uint local_88; uint local_84; undefined8 *local_80; undefined8 local_78; undefined1 local_70 [8]; longlong *local_68; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_f8; *param_1 = license_services::LsObjectCache::vftable; *(undefined1 *)(param_1 + 1) = 0; local_a0 = param_1; local_80 = param_1; FUN_180677570(param_1 + 2); *(undefined1 *)(param_1 + 0x195) = param_4; plVar3 = param_1 + 0x196; uVar7 = 0; *plVar3 = 0; param_1[0x197] = 0; puVar4 = param_1 + 0x198; FUN_180677570(puVar4); pcVar5 = (char *)(param_1 + 0x32b); pcVar5[0] = '\0'; pcVar5[1] = '\0'; pcVar5[2] = '\0'; pcVar5[3] = '\0'; pcVar5[4] = '\0'; pcVar5[5] = '\0'; pcVar5[6] = '\0'; pcVar5[7] = '\0'; param_1[0x32c] = 0; local_b8 = pcVar5; uVar6 = FUN_180715e00(pcVar5); *(undefined8 *)pcVar5 = uVar6; *(undefined4 *)(param_1 + 0x32d) = 0; local_b8 = (char *)FUN_1811316e0(0x10); if (local_b8 != (char *)0x0) { uVar7 = FUN_180a1edf0(local_b8,puVar4); } pcVar5 = (char *)(param_1 + 0x32e); *(undefined8 *)pcVar5 = uVar7; local_b8 = pcVar5; FUN_1807fe7b0(param_1 + 0x32f,uVar7); FUN_1805ae620(pcVar5,uVar7,uVar7); uVar6 = 0; param_1[0x330] = 0; param_1[0x331] = 0; local_b8 = (char *)FUN_1811316e0(0x20); if (local_b8 != (char *)0x0) { uVar6 = FUN_1805a4070(local_b8,param_3); } pcVar14 = (char *)(local_a0 + 0x332); *(undefined8 *)pcVar14 = uVar6; local_b8 = pcVar14; FUN_1807fe6d0(local_a0 + 0x333,uVar6); FUN_1805ae620(pcVar14,uVar6,uVar6); *(undefined1 *)(local_a0 + 0x334) = 0; pcVar14 = (char *)(local_a0 + 0x335); pcVar14[0] = '\0'; pcVar14[1] = '\0'; pcVar14[2] = '\0'; pcVar14[3] = '\0'; pcVar14[4] = '\0'; pcVar14[5] = '\0'; pcVar14[6] = '\0'; pcVar14[7] = '\0'; local_a0[0x336] = 0; local_b8 = pcVar14; uVar6 = FUN_180807490(pcVar14); *(undefined8 *)pcVar14 = uVar6; uVar11 = (uint)&stack0x00000000; if ((((uVar11 & 0x11ff) * (uVar11 & 0x11ff) * 0x10 + 4) % 0x13 & 0xec) == 0) { uVar13 = 1; } else { iVar10 = (uVar11 & 0x56ff) * (uVar11 & 0x56ff) + 1; uVar13 = (iVar10 >> 4) + (iVar10 >> 1) + iVar10 * 0x24924924 >> 0x1d; uVar13 = (int)(uVar13 - 7) >> 0x1f & uVar13; } local_88 = ((int)(-uVar13 | uVar13) >> 0x1f) * -0x5f4f ^ 0x565f; uVar11 = uVar11 & 0x27f; local_84 = 0x9d78U - ((int)(((uVar11 + 2) * (uVar11 + 1) * uVar11) % 3) >> 1) ^ 0x9638; sVar8 = 0xffffffffffffffff; do { sVar8 = sVar8 + 1; } while (PTR_DAT_18260b888[sVar8] != '\0'); puVar12 = param_3; if (0xf < (ulonglong)param_3[3]) { puVar12 = (undefined8 *)*param_3; } if ((param_3[2] != sVar8) || (iVar10 = memcmp(puVar12,PTR_DAT_18260b888,param_3[2]), iVar10 != 0)) { local_d8 = 1; uVar6 = FUN_1807fe820(local_70,param_3,0,2); FUN_18067dba0(plVar3,uVar6); if (local_68 != (longlong *)0x0) { LOCK(); plVar1 = local_68 + 1; lVar9 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar2 = (int *)((longlong)local_68 + 0xc); iVar10 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar10 == 1) { (**(code **)(*local_68 + 0x10))(local_68); } } } if (*plVar3 == 0) { local_b8 = (char *)FUN_1811316e0(0x18); if (local_b8 != (char *)0x0) { FUN_1805a48c0(local_b8, "LsObjectCache::LsObjectCache: Could not create an instance of LicenseDbClient" ); } lVar9 = FUN_1805c0260(); local_98[0] = 0xba; local_b8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\lsobjectcache.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(lVar9 + 8),&local_b8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_98); } } FUN_180a2bfd0(puVar4,0); puVar12 = local_a0; local_c8 = 0x811c9e29; FUN_180a29ea0(local_a0); do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); local_90 = 0; local_c0 = 0x180815c18; local_b0 = &DAT_180818aec; FUN_180a2b200(puVar12,param_2,0); FUN_180a204e0(*(undefined8 *)pcVar5,param_2,puVar4); do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar6 = FUN_180a214b0(param_2,puVar4); return uVar6; } ############ FUN_ 1807fe6d0 size=97 ############ undefined8 * FUN_1807fe6d0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p,std::allocator_>_> ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1807fe7b0 size=96 ############ undefined8 * FUN_1807fe7b0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1807fe820 size=1187 ############ undefined8 * FUN_1807fe820(undefined8 *param_1,undefined8 param_2,undefined1 param_3,undefined4 param_4, int param_5) { int *piVar1; int iVar2; longlong *plVar3; longlong lVar4; undefined8 uVar5; longlong *plVar6; longlong *plVar7; longlong *plVar8; longlong *local_100; longlong **local_f8; longlong *local_f0; longlong *local_e8; longlong *plStack_e0; longlong local_d8 [2]; longlong *local_c8; longlong *plStack_c0; longlong *local_b8; longlong *plStack_b0; longlong *local_a8; longlong *plStack_a0; longlong *local_98; longlong *local_88; longlong *plStack_80; longlong *local_78; longlong *plStack_70; longlong *local_68; longlong *plStack_60; undefined8 local_58; undefined1 local_50 [40]; local_58 = 0xfffffffffffffffe; plVar8 = (longlong *)0x0; lVar4 = FUN_1811316e0(0xb0); plVar6 = plVar8; local_d8[0] = lVar4; if (lVar4 != 0) { uVar5 = FUN_1805a4070(local_50,param_2); plVar6 = (longlong *)FUN_180927880(lVar4,uVar5); } local_e8 = plVar6; FUN_18066b780(&plStack_e0,plVar6); FUN_1805ae620(&local_e8,plVar6,plVar6); lVar4 = __RTDynamicCast(local_e8,0,&apache::thrift::transport::TTransport::RTTI_Type_Descriptor, &apache::thrift::transport::TAsioLocalSocket::RTTI_Type_Descriptor,0); local_100 = plStack_e0; if (plStack_e0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_e0 + 1) = (int)plStack_e0[1] + 1; UNLOCK(); } if (lVar4 == 0) { local_d8[0] = 0; FUN_18060c7a0(&local_100,local_d8); } plVar6 = local_100; FUN_18092b460(lVar4,param_5 * 1000); plVar7 = local_100; if (plVar6 != (longlong *)0x0) { LOCK(); plVar6 = plVar6 + 1; lVar4 = *plVar6; *(int *)plVar6 = (int)*plVar6 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_100 + 8))(local_100); LOCK(); piVar1 = (int *)((longlong)plVar7 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_100 + 0x10))(); } } } local_f8 = (longlong **)FUN_1811316e0(0x50); plVar6 = plVar8; if (local_f8 != (longlong **)0x0) { local_88 = local_e8; plStack_80 = plStack_e0; if (plStack_e0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_e0 + 1) = (int)plStack_e0[1] + 1; UNLOCK(); } plVar6 = (longlong *)FUN_180623170(local_f8,&local_88); } local_c8 = plVar6; FUN_1806230a0(&plStack_c0,plVar6); FUN_1805ae620(&local_c8,plVar6,plVar6); plVar7 = (longlong *)FUN_1811316e0(0x40); plVar6 = plVar8; local_98 = plVar7; if (plVar7 != (longlong *)0x0) { local_b8 = local_c8; plStack_b0 = plStack_c0; if (plStack_c0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_c0 + 1) = (int)plStack_c0[1] + 1; UNLOCK(); } local_f8 = &local_b8; local_78 = local_c8; plStack_70 = plStack_c0; if (plStack_c0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_c0 + 1) = (int)plStack_c0[1] + 1; UNLOCK(); } FUN_180622370(plVar7,&local_78); plVar3 = plStack_b0; *plVar7 = (longlong)apache::thrift::protocol::TBinaryProtocol::vftable; plVar7[4] = 0; *(undefined2 *)(plVar7 + 5) = 0x100; plVar7[6] = 0; *(undefined4 *)(plVar7 + 7) = 0; plVar6 = plVar7; if (plStack_b0 != (longlong *)0x0) { LOCK(); plVar7 = plStack_b0 + 1; lVar4 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_b0 + 8))(plStack_b0); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); } } } } local_a8 = plVar6; FUN_180621590(&plStack_a0,plVar6); FUN_1805ae620(&local_a8,plVar6,plVar6); local_68 = local_c8; plStack_60 = plStack_c0; if (plStack_c0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_c0 + 1) = (int)plStack_c0[1] + 1; UNLOCK(); } FUN_1806233d0(&local_68,param_3,param_4,0); local_f0 = (longlong *)FUN_1811316e0(0x48); plVar6 = plStack_a0; if (local_f0 != (longlong *)0x0) { if (plStack_a0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_a0 + 1) = (int)plStack_a0[1] + 1; UNLOCK(); } *local_f0 = (longlong)&DAT_181bdf460; local_f0[8] = (longlong)license_services::LicenseDbIf::vftable; *(undefined ***)((longlong)*(int *)(*local_f0 + 4) + (longlong)local_f0) = license_services::LicenseDbClient::vftable; *(int *)((longlong)*(int *)(*local_f0 + 4) + -4 + (longlong)local_f0) = *(int *)(*local_f0 + 4) + -0x40; local_f0[1] = (longlong)local_a8; local_f0[2] = (longlong)plStack_a0; if (plStack_a0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_a0 + 1) = (int)plStack_a0[1] + 1; UNLOCK(); } local_f0[3] = (longlong)local_a8; local_f0[4] = (longlong)plStack_a0; if (plStack_a0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_a0 + 1) = (int)plStack_a0[1] + 1; UNLOCK(); } local_f0[5] = (longlong)local_a8; local_f0[6] = (longlong)local_a8; plVar8 = local_f0; if (plStack_a0 != (longlong *)0x0) { LOCK(); plVar7 = plStack_a0 + 1; lVar4 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_a0 + 8))(plStack_a0); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar6 + 0x10))(); } } } } *param_1 = plVar8; FUN_1807fe740(param_1 + 1,plVar8); FUN_1805ae620(param_1,plVar8,plVar8); if (plStack_a0 != (longlong *)0x0) { LOCK(); plVar6 = plStack_a0 + 1; lVar4 = *plVar6; *(int *)plVar6 = (int)*plVar6 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_a0 + 8))(plStack_a0); LOCK(); piVar1 = (int *)((longlong)plStack_a0 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_a0 + 0x10))(plStack_a0); } } } if (plStack_c0 != (longlong *)0x0) { LOCK(); plVar6 = plStack_c0 + 1; lVar4 = *plVar6; *(int *)plVar6 = (int)*plVar6 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_c0 + 8))(plStack_c0); LOCK(); piVar1 = (int *)((longlong)plStack_c0 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_c0 + 0x10))(plStack_c0); } } } if (plStack_e0 != (longlong *)0x0) { LOCK(); plVar6 = plStack_e0 + 1; lVar4 = *plVar6; *(int *)plVar6 = (int)*plVar6 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_e0 + 8))(plStack_e0); LOCK(); piVar1 = (int *)((longlong)plStack_e0 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_e0 + 0x10))(plStack_e0); } } } return param_1; } ############ FUN_ 1807fe740 size=97 ############ undefined8 * FUN_1807fe740(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180807490 size=55 ############ void FUN_180807490(void) { longlong lVar1; lVar1 = FUN_1811316e0(0x60); *(longlong *)lVar1 = lVar1; *(longlong *)(lVar1 + 8) = lVar1; *(longlong *)(lVar1 + 0x10) = lVar1; *(undefined2 *)(lVar1 + 0x18) = 0x101; return; } ############ FUN_ 18084d2f0 size=845 ############ /* WARNING: Removing unreachable block (ram,0x00018084d37f) */ /* WARNING: Removing unreachable block (ram,0x00018084d323) */ /* WARNING: Removing unreachable block (ram,0x00018084d631) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined1 FUN_18084d2f0(longlong param_1) { longlong *plVar1; int *piVar2; int iVar3; undefined8 uVar4; longlong *plVar5; undefined1 uVar6; undefined4 uVar7; longlong lVar8; longlong lVar9; undefined8 uVar10; uint uVar11; uint uVar12; undefined8 *puVar13; char cVar14; char cVar15; int unaff_retaddr; undefined8 uStack_f0; undefined8 uStack_e0; undefined8 local_60; longlong *local_58 [3]; uVar10 = 0; if (*(longlong *)(param_1 + 0x48) == 0) { lVar8 = FUN_18086a7d0(param_1); uVar4 = *(undefined8 *)(param_1 + 0x40); lVar9 = FUN_1811316e0(0x38); if (lVar9 != 0) { uVar7 = FUN_180a4ed20(); uVar10 = FUN_180a3d1e0(uVar4,uVar7); uVar10 = __RTDynamicCast(uVar10,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorAuthManifestElement:: RTTI_Type_Descriptor); uVar10 = FUN_18082cbe0(lVar9,param_1,lVar8 + 0x1d0,uVar10); } local_60 = uVar10; FUN_180846d60(local_58,uVar10); FUN_1805ae620(&local_60,uVar10,uVar10); uVar10 = *(undefined8 *)(param_1 + 0x48); *(undefined8 *)(param_1 + 0x48) = local_60; plVar5 = *(longlong **)(param_1 + 0x50); *(longlong **)(param_1 + 0x50) = local_58[0]; local_60 = uVar10; local_58[0] = plVar5; if (plVar5 != (longlong *)0x0) { LOCK(); plVar1 = plVar5 + 1; lVar8 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar2 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } } lVar9 = FUN_18086a7d0(param_1); lVar8 = FUN_18086a7d0(param_1); lVar8 = lVar8 + 0x1d0; if (lVar9 != DAT_1826677d0) { FUN_180a3b7d0(*(undefined8 *)(param_1 + 0x48)); DAT_1826677d0 = lVar9; } do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar11 = uRam000000018154f630 ^ (uRam000000018154f62c ^ (uRam000000018154f628 ^ 0x811c9dc5) * 0x1000181) * 0x1000181; do { func_0x00018084ffbd(); FUN_18084e2b2(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar11 = uRam000000018154f640 ^ (uRam000000018154f63c ^ (uRam000000018154f638 ^ (uRam000000018154f634 ^ uVar11 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; do { func_0x00018084be4e(); func_0x00018084d0e2(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar11 = uRam000000018154f64c ^ (uRam000000018154f648 ^ (uRam000000018154f644 ^ uVar11 * 0x1000181) * 0x1000181) * 0x1000181; do { /* WARNING: Call to offcut address within same function */ func_0x00018084d4c5(0x5730); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); func_0x00018084ea92((_DAT_18154f650 ^ uVar11 * 0x1000181) * 0x1000181); cVar15 = SBORROW8(0,-lVar8); cVar14 = lVar8 < 0; uStack_e0 = 0x18154f728; /* WARNING: Call to offcut address within same function */ uVar6 = func_0x00018084d806(); if (cVar15 == cVar14) { uVar6 = in((short)lVar8); puVar13 = (undefined8 *)&stack0xffffffffffffff18; cVar14 = '\x04'; do { register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + -8); puVar13 = puVar13 + -1; *puVar13 = *(undefined8 *)register0x00000020; cVar14 = cVar14 + -1; } while ('\0' < cVar14); return uVar6; } return uVar6; } ############ FUN_ 180846d60 size=97 ############ undefined8 * FUN_180846d60(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180847740 size=196 ############ undefined8 FUN_180847740(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined1 param_6) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; undefined8 in_stack_ffffffffffffffc8; undefined4 uVar4; uVar4 = (undefined4)((ulonglong)in_stack_ffffffffffffffc8 >> 0x20); lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180a61dc0(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorMachineId::RTTI_Type_Descriptor, CONCAT44(uVar4,1)); uVar3 = FUN_180a677a0(lVar2,param_2,param_3,uVar3,param_4,param_5,param_6); } return uVar3; } ############ FUN_ 180846dd0 size=97 ############ undefined8 * FUN_180846dd0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180832c20 size=1448 ############ /* WARNING: Removing unreachable block (ram,0x000180832d46) */ /* WARNING: Removing unreachable block (ram,0x000180832cd1) */ /* WARNING: Removing unreachable block (ram,0x000180832cea) */ /* WARNING: Removing unreachable block (ram,0x000180832d84) */ /* WARNING: Removing unreachable block (ram,0x000180832fac) */ undefined8 FUN_180832c20(longlong param_1,undefined8 param_2) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; undefined4 uVar5; longlong lVar6; longlong lVar7; undefined8 uVar8; uint uVar9; uint uVar10; undefined1 auStack_f8 [32]; code *local_d8; longlong local_d0; undefined1 local_c8; longlong local_a0; uint local_98; uint local_90; undefined8 local_88; longlong *local_80; undefined8 local_78; undefined8 local_70; undefined8 local_68; undefined8 local_60; ulonglong local_40; local_68 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_f8; uVar9 = (uint)&stack0x00000000 & 0x5ff; uVar10 = (uVar9 * uVar9 * 0x10 + 4) % 0x13; local_98 = ((int)(-uVar10 | uVar10) >> 0x1f) * 0x2841 & 0x57b7U ^ 20999; uVar9 = (uVar9 * uVar9 * 0x10 + 4) % 0x13; local_90 = (((int)(-uVar9 | uVar9) >> 0x1f) * -0x81d2 | 0xd1d2U) ^ 0xdee2; local_70 = param_2; if (*(longlong *)(param_1 + 0x48) == 0) { lVar6 = FUN_1808460a0(param_1); uVar8 = *(undefined8 *)(param_1 + 0x40); lVar7 = FUN_1811316e0(0x38); local_a0 = lVar7; if (lVar7 == 0) { uVar8 = 0; } else { uVar5 = FUN_180a59120(); uVar8 = FUN_180a3d1e0(uVar8,uVar5); local_d8 = (code *)CONCAT44(local_d8._4_4_,1); uVar8 = __RTDynamicCast(uVar8,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorMachineBinding:: RTTI_Type_Descriptor); local_c8 = 1; local_d8 = FUN_180841b80; local_d0 = param_1; uVar8 = FUN_180a7e710(lVar7,param_1,lVar6 + 0x158,uVar8); } local_88 = uVar8; FUN_1808301e0(&local_80,uVar8); FUN_1805ae620(&local_88,uVar8,uVar8); local_60 = local_88; uVar8 = *(undefined8 *)(param_1 + 0x48); *(undefined8 *)(param_1 + 0x48) = local_88; plVar4 = *(longlong **)(param_1 + 0x50); *(longlong **)(param_1 + 0x50) = local_80; local_88 = uVar8; local_80 = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } lVar6 = FUN_1808460a0(param_1); lVar7 = FUN_1808460a0(param_1); local_78 = *(undefined8 *)(param_1 + 0x48); if (lVar6 != DAT_182666df0) { FUN_180a3b7d0(local_78,lVar7 + 0x158); DAT_182666df0 = lVar6; } return 0x1654; } ############ FUN_ 1808301e0 size=97 ############ undefined8 * FUN_1808301e0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a29ea0 size=896 ############ /* WARNING: Removing unreachable block (ram,0x000180a29f25) */ longlong FUN_180a29ea0(ulonglong param_1,undefined8 param_2,undefined8 param_3,ulonglong param_4) { uint uVar1; longlong lVar2; ulonglong uVar3; undefined1 auStack_c8 [40]; undefined *local_a0; undefined *local_98; longlong local_90; longlong local_70; uint local_68; undefined4 local_64; ulonglong local_60; undefined8 local_58; ulonglong local_38; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_c8; uVar1 = (uint)&stack0x00000000 & 0x19ff; local_68 = 0x33ba << ((char)((byte)(-((uVar1 + 1) * uVar1 + 0x18d3 & 0x80000001) >> 0x18) ^ 0xff) >> 7 & 0x1fU) ^ 0x306a; uVar3 = (ulonglong)((uint)&stack0x00000000 & 0xbff); local_64 = 0xea0; local_60 = param_1; local_70 = FUN_1811316e0(0x80); if (local_70 != 0) { uVar3 = param_1; FUN_180af1760(local_70,param_1 + 0xd88); } local_90 = 0; local_a0 = &DAT_180a2a5d0; local_98 = &DAT_180a2d078; local_90 = FUN_1811316e0(0x80); lVar2 = 0; if (local_90 != 0) { lVar2 = FUN_180b270d0(local_90,param_1 + 0xde8); uVar3 = param_1; } if (!CARRY8(~(~(uVar3 + 0x347bb955) + 1) - 0x347bb954,param_4)) { lVar2 = (-(lVar2 + 0x6c4a6e08) ^ 0xffffffffffffffffU) - 0x6c4a6e07; } return lVar2; } ############ FUN_ 180b93430 size=990 ############ longlong FUN_180b93430(undefined8 *param_1) { undefined8 *puVar1; uint uVar2; int iVar3; undefined1 auStack_b8 [32]; undefined8 *local_98; undefined8 *local_60; undefined8 local_58; ulonglong local_38; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; local_98 = param_1; local_60 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_98 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { *puVar1 = license_services::LsEntityActivationInfo::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180b933c0(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; uVar2 = (uint)&stack0x00000000 & 0x70ff; iVar3 = uVar2 * uVar2 + 1; uVar2 = (iVar3 >> 4) + (iVar3 >> 1) + iVar3 * 0x24924924 >> 0x1d; uVar2 = (int)(uVar2 - 7) >> 0x1f & uVar2 | (uint)&stack0x00000000; return -(~(~(~(ulonglong)(((int)(-uVar2 | uVar2) >> 0x1f) * -0x6ec1 ^ 0x6451) + 1) + 1) + 1); } ############ FUN_ 180b933c0 size=97 ############ undefined8 * FUN_180b933c0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180ba3df0 size=1046 ############ /* WARNING: Removing unreachable block (ram,0x000180ba3f33) */ /* WARNING: Removing unreachable block (ram,0x000180ba3f74) */ /* WARNING: Removing unreachable block (ram,0x000180ba3f41) */ void FUN_180ba3df0(undefined8 *param_1,ulonglong param_2) { undefined8 *puVar1; longlong lVar2; uint uVar3; char *pcVar4; int unaff_retaddr; undefined1 auStack_a8 [48]; undefined8 *local_78; undefined8 *local_70; undefined4 local_68; uint local_60; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_70 = param_1; local_58 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_78 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { *puVar1 = license_services::LsEntityArrayEntry::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180ba3d80(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; local_68 = 0x4e0; uVar3 = (uint)&stack0x00000000 & 0xcff; uVar3 = (uVar3 + 1) * uVar3 + 0x6a1 & 0x80000001; local_60 = ((int)(-uVar3 | uVar3) >> 0x1f) * -0x6384 ^ 0x6084; do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); FUN_180ba3788(0,0x6ac350,0); /* WARNING: Call to offcut address within same function */ lVar2 = func_0x000180ba4084(); pcVar4 = (char *)((-lVar2 ^ 0xffffffffffffffffU) + 1); *pcVar4 = *pcVar4 + (char)pcVar4; /* WARNING: Could not recover jumptable at 0x000180ba421b. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)((param_2 & 0xffffffff) + 0x151d5))(); return; } ############ FUN_ 180ba3d80 size=97 ############ undefined8 * FUN_180ba3d80(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1806c31f0 size=77 ############ undefined8 * FUN_1806c31f0(undefined8 param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x128); if (puVar1 != (undefined8 *)0x0) { FUN_1806d2580(puVar1,param_1); *puVar1 = pace::PaceFusionException::vftable; return puVar1; } return (undefined8 *)0x0; } ############ FUN_ 1806c5ae0 size=77 ############ undefined8 * FUN_1806c5ae0(undefined8 param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x128); if (puVar1 != (undefined8 *)0x0) { FUN_1806d2580(puVar1,param_1); *puVar1 = pace::AuthorizationException::vftable; return puVar1; } return (undefined8 *)0x0; } ############ FUN_ 1806cef60 size=46 ############ void FUN_1806cef60(undefined8 param_1) { longlong lVar1; lVar1 = FUN_1811316e0(0x128); if (lVar1 != 0) { FUN_1807030a0(lVar1,param_1); return; } return; } ############ FUN_ 1806d9200 size=926 ############ void FUN_1806d9200(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; void *_Memory; ulonglong uVar9; undefined8 *puVar10; undefined8 local_res18; ulonglong local_res20; puVar10 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar10 - lVar4) / 0xe8; uVar3 = (param_1[2] - lVar4) / 0xe8; local_res18 = param_3; if (param_2 <= uVar3) { if (uVar2 < param_2) { lVar4 = FUN_1806da710(&local_res18,puVar10,param_2 - uVar2); param_1[1] = lVar4; return; } if (param_2 != uVar2) { puVar7 = (undefined8 *)(param_2 * 0xe8 + lVar4); for (puVar8 = puVar7; puVar8 != puVar10; puVar8 = puVar8 + 0x1d) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (longlong)puVar7; } return; } if (0x11a7b9611a7b961 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar3 <= 0x11a7b9611a7b961 - (uVar3 >> 1)) && (uVar9 = (uVar3 >> 1) + uVar3, uVar9 < param_2) ) { uVar9 = param_2; } uVar3 = uVar9 * 0xe8; local_res20 = uVar9; if (uVar9 < 0x11a7b9611a7b962) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_1806d931c; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar4; LAB_1806d931c: FUN_1806da710(&local_res18,puVar10 + uVar2 * 0x1d,param_2 - uVar2); lVar4 = param_1[1]; puVar8 = puVar10; for (lVar6 = *param_1; lVar6 != lVar4; lVar6 = lVar6 + 0xe8) { *puVar8 = pace::eden::thrift::fusion::DynamicCryptoProductData::vftable; puVar8[1] = pace::eden::thrift::pub::WrapperAuthProduct::vftable; *(undefined4 *)(puVar8 + 2) = *(undefined4 *)(lVar6 + 0x10); *(undefined4 *)((longlong)puVar8 + 0x14) = *(undefined4 *)(lVar6 + 0x14); *(undefined1 *)(puVar8 + 3) = *(undefined1 *)(lVar6 + 0x18); *(undefined1 *)((longlong)puVar8 + 0x19) = *(undefined1 *)(lVar6 + 0x19); FUN_1805a4070(puVar8 + 4,lVar6 + 0x20); *(undefined4 *)(puVar8 + 8) = *(undefined4 *)(lVar6 + 0x40); *(undefined1 *)((longlong)puVar8 + 0x44) = *(undefined1 *)(lVar6 + 0x44); *(undefined4 *)(puVar8 + 9) = *(undefined4 *)(lVar6 + 0x48); FUN_1805b46a0(puVar8 + 10,lVar6 + 0x50); FUN_1805b46a0(puVar8 + 0xd,lVar6 + 0x68); FUN_1805b46a0(puVar8 + 0x10,lVar6 + 0x80); FUN_1805b46a0(puVar8 + 0x13,lVar6 + 0x98); FUN_1805b46a0(puVar8 + 0x16,lVar6 + 0xb0); FUN_1805b46a0(puVar8 + 0x19,lVar6 + 200); puVar8[0x1c] = *(undefined8 *)(lVar6 + 0xe0); puVar8 = puVar8 + 0x1d; } puVar8 = (undefined8 *)*param_1; if (puVar8 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x1d); param_1[2] = (longlong)(puVar10 + uVar9 * 0x1d); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar8 != puVar10; puVar8 = puVar8 + 0x1d) { (**(code **)*puVar8)(puVar8,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0xe8) * 0xe8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806d95b0 size=678 ############ void FUN_1806d95b0(longlong *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined8 *puVar3; void *pvVar4; undefined4 uVar5; undefined4 uVar6; undefined4 uVar7; undefined8 uVar8; ulonglong uVar9; longlong lVar10; ulonglong uVar11; ulonglong uVar12; undefined4 *puVar13; void *_Memory; undefined8 *puVar14; undefined4 *puVar15; undefined1 *puVar16; ulonglong uVar17; ulonglong uVar18; undefined4 *puVar19; undefined8 uVar20; uVar20 = 0xfffffffffffffffe; puVar16 = (undefined1 *)param_1[1]; lVar10 = *param_1; uVar17 = (longlong)puVar16 - lVar10 >> 5; uVar11 = param_1[2] - lVar10 >> 5; if (param_2 <= uVar11) { if (param_2 <= uVar17) { if (param_2 != uVar17) { lVar10 = param_2 * 0x20 + lVar10; FUN_18048c550(lVar10,puVar16,param_1); param_1[1] = lVar10; } return; } for (lVar10 = param_2 - uVar17; lVar10 != 0; lVar10 = lVar10 + -1) { *(undefined8 *)(puVar16 + 0x10) = 0; *(undefined8 *)(puVar16 + 0x18) = 0xf; *puVar16 = 0; puVar16 = puVar16 + 0x20; } FUN_18048c550(puVar16,puVar16); param_1[1] = (longlong)puVar16; return; } if (0x7ffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar11 <= 0x7ffffffffffffff - (uVar11 >> 1)) && (uVar9 = uVar11 + (uVar11 >> 1), uVar9 < param_2)) { uVar9 = param_2; } uVar18 = uVar9 * 0x20; uVar11 = uVar9; if (uVar9 < 0x800000000000000) { if (uVar18 < 0x1000) { if (uVar18 == 0) { puVar15 = (undefined4 *)0x0; } else { puVar15 = (undefined4 *)FUN_1811316e0(uVar18,uVar18,0x7ffffffffffffff,param_4,uVar9); } goto LAB_1806d96a7; } } else { uVar18 = 0xffffffffffffffff; } uVar12 = uVar18 + 0x27; if (uVar12 <= uVar18) { uVar12 = 0xffffffffffffffff; } lVar10 = FUN_1811316e0(uVar12,uVar18,0x7ffffffffffffff,param_4,uVar9); if (lVar10 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar15 = (undefined4 *)(lVar10 + 0x27U & 0xffffffffffffffe0); *(longlong *)(puVar15 + -2) = lVar10; LAB_1806d96a7: puVar19 = puVar15 + uVar17 * 8; puVar13 = puVar19; for (lVar10 = param_2 - uVar17; lVar10 != 0; lVar10 = lVar10 + -1) { *(undefined8 *)(puVar13 + 4) = 0; *(undefined8 *)(puVar13 + 6) = 0xf; *(undefined1 *)puVar13 = 0; puVar13 = puVar13 + 8; } FUN_18048c550(puVar13,puVar13,param_3); puVar2 = (undefined8 *)param_1[1]; puVar3 = (undefined8 *)*param_1; puVar13 = puVar15; if (puVar3 != puVar2) { puVar14 = puVar3 + 3; do { *(undefined8 *)(((longlong)puVar15 - (longlong)puVar3) + -8 + (longlong)puVar14) = 0; *(undefined8 *)(((longlong)puVar15 - (longlong)puVar3) + (longlong)puVar14) = 0; uVar5 = *(undefined4 *)((longlong)puVar14 + -0x14); uVar6 = *(undefined4 *)(puVar14 + -2); uVar7 = *(undefined4 *)((longlong)puVar14 + -0xc); *puVar13 = *(undefined4 *)(puVar14 + -3); puVar13[1] = uVar5; puVar13[2] = uVar6; puVar13[3] = uVar7; uVar8 = *puVar14; *(undefined8 *)(puVar13 + 4) = puVar14[-1]; *(undefined8 *)(puVar13 + 6) = uVar8; puVar14[-1] = 0; *puVar14 = 0xf; *(undefined1 *)(puVar14 + -3) = 0; puVar13 = puVar13 + 8; puVar1 = puVar14 + 1; puVar14 = puVar14 + 4; } while (puVar1 != puVar2); } FUN_18048c550(puVar13,puVar13,param_1,puVar2,uVar11,puVar19,uVar20); if (*param_1 == 0) { *param_1 = (longlong)puVar15; param_1[1] = (longlong)(puVar15 + param_2 * 8); param_1[2] = (longlong)(puVar15 + uVar9 * 8); return; } FUN_18048c550(*param_1,param_1[1],param_1); pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (param_1[2] - (longlong)pvVar4 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806d9860 size=443 ############ void FUN_1806d9860(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; void *pvVar6; ulonglong uVar7; pvVar6 = (void *)param_1[1]; lVar3 = *param_1; uVar7 = (longlong)pvVar6 - lVar3 >> 3; uVar4 = param_1[2] - lVar3 >> 3; if (param_2 <= uVar4) { if (param_2 <= uVar7) { if (param_2 != uVar7) { param_1[1] = lVar3 + param_2 * 8; } return; } pvVar1 = (void *)((longlong)pvVar6 + (param_2 - uVar7) * 8); memset(pvVar6,0,(longlong)pvVar1 - (longlong)pvVar6); param_1[1] = (longlong)pvVar1; return; } if (0x1fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar2 = param_2; if ((uVar4 <= 0x1fffffffffffffff - (uVar4 >> 1)) && (uVar2 = (uVar4 >> 1) + uVar4, uVar2 < param_2)) { uVar2 = param_2; } uVar4 = uVar2 * 8; if (uVar2 < 0x2000000000000000) { uVar2 = uVar4; if (uVar4 < 0x1000) { if (uVar4 == 0) { pvVar6 = (void *)0x0; } else { pvVar6 = (void *)FUN_1811316e0(uVar4); } goto LAB_1806d9947; } } else { uVar2 = 0xffffffffffffffff; } uVar5 = uVar2 + 0x27; if (uVar5 <= uVar2) { uVar5 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar5); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar6 = (void *)(lVar3 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar6 - 8) = lVar3; LAB_1806d9947: memset((void *)((longlong)pvVar6 + uVar7 * 8),0,(param_2 - uVar7) * 8); memmove(pvVar6,(void *)*param_1,param_1[1] - *param_1); pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = (longlong)pvVar6; param_1[1] = (longlong)((longlong)pvVar6 + param_2 * 8); param_1[2] = (longlong)(uVar4 + (longlong)pvVar6); return; } pvVar6 = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (pvVar6 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } ############ FUN_ 1806d9b80 size=974 ############ void FUN_1806d9b80(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; undefined8 *puVar10; puVar10 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar10 - lVar4) / 0x450; uVar3 = (param_1[2] - lVar4) / 0x450; if (param_2 <= uVar3) { if (param_2 <= uVar2) { if (param_2 != uVar2) { puVar8 = (undefined8 *)(param_2 * 0x450 + lVar4); for (puVar9 = puVar8; puVar9 != puVar10; puVar9 = puVar9 + 0x8a) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } for (lVar4 = param_2 - uVar2; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1806da200(puVar10); puVar10 = puVar10 + 0x8a; } param_1[1] = (longlong)puVar10; return; } if (0x3b5cc0ed7303b5 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = param_2; if ((uVar3 <= 0x3b5cc0ed7303b5 - (uVar3 >> 1)) && (uVar5 = (uVar3 >> 1) + uVar3, uVar5 < param_2)) { uVar5 = param_2; } uVar3 = uVar5 * 0x450; if (uVar5 < 0x3b5cc0ed7303b6) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_1806d9c99; } } else { uVar3 = 0xffffffffffffffff; } uVar6 = uVar3 + 0x27; if (uVar6 <= uVar3) { uVar6 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar6); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar4; LAB_1806d9c99: puVar9 = puVar10 + uVar2 * 0x8a; for (lVar4 = param_2 - uVar2; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1806da200(puVar9); puVar9 = puVar9 + 0x8a; } lVar4 = param_1[1]; puVar9 = puVar10; for (lVar7 = *param_1; lVar7 != lVar4; lVar7 = lVar7 + 0x450) { *puVar9 = pace::eden::thrift::fusion::AuthVerificationData::vftable; puVar9[1] = pace::eden::thrift::pub::WrapperAuthProduct::vftable; *(undefined4 *)(puVar9 + 2) = *(undefined4 *)(lVar7 + 0x10); *(undefined4 *)((longlong)puVar9 + 0x14) = *(undefined4 *)(lVar7 + 0x14); *(undefined1 *)(puVar9 + 3) = *(undefined1 *)(lVar7 + 0x18); *(undefined1 *)((longlong)puVar9 + 0x19) = *(undefined1 *)(lVar7 + 0x19); FUN_1805a4070(puVar9 + 4,lVar7 + 0x20); *(undefined4 *)(puVar9 + 8) = *(undefined4 *)(lVar7 + 0x40); *(undefined1 *)((longlong)puVar9 + 0x44) = *(undefined1 *)(lVar7 + 0x44); FUN_1805e30c0(puVar9 + 9,lVar7 + 0x48); FUN_1805e30c0(puVar9 + 0x1b,lVar7 + 0xd8); FUN_1805e30c0(puVar9 + 0x2d,lVar7 + 0x168); FUN_1805e2270(puVar9 + 0x3f,lVar7 + 0x1f8); FUN_1805b46a0(puVar9 + 0x86); *(undefined4 *)(puVar9 + 0x89) = *(undefined4 *)(lVar7 + 0x448); *(undefined2 *)((longlong)puVar9 + 0x44c) = *(undefined2 *)(lVar7 + 0x44c); puVar9 = puVar9 + 0x8a; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x8a); param_1[2] = (longlong)(puVar10 + uVar5 * 0x8a); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar9 != puVar10; puVar9 = puVar9 + 0x8a) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x450) * 0x450)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806f1e90 size=97 ############ undefined8 * FUN_1806f1e90(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1806f4b90 size=161 ############ void FUN_1806f4b90(void) { char *pcVar1; undefined8 uVar2; undefined4 local_28 [2]; char *local_20; undefined8 local_18; local_18 = 0xfffffffffffffffe; local_20 = (char *)FUN_1811316e0(0x18); if (local_20 != (char *)0x0) { FUN_1805a48c0(local_20,"This version does not support verified messaging."); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_20 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_28[0] = 0x1bb; local_20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\verifiedbinaryprotocol.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_28); } ############ FUN_ 1806f4c50 size=161 ############ void FUN_1806f4c50(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res10; char *local_res18 [2]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10,"This version does not support verified messaging.",param_3,param_4, uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x1c4); local_res18[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\verifiedbinaryprotocol.cpp" ; uVar2 = FUN_1805a21d0(puVar1[1],local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res10); } ############ FUN_ 1806f4d10 size=1422 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806f4d10(longlong param_1,undefined8 param_2) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; void *pvVar5; longlong lVar6; undefined4 uVar7; char cVar8; longlong lVar9; undefined8 uVar10; byte *pbVar11; byte *pbVar12; void *pvVar13; byte *pbVar14; ulonglong uVar15; undefined1 auStack_1b8 [32]; undefined4 local_198; uint local_188 [2]; byte *local_180; undefined4 local_178 [2]; undefined4 local_170 [2]; uint local_168 [2]; undefined4 local_160 [2]; undefined4 local_158 [2]; byte *local_150; longlong *local_148; char *local_140; char *local_138; char *local_130; char *local_128; undefined8 local_120; undefined8 local_118; longlong local_110; undefined1 local_108 [4]; uint uStack_104; ulonglong uStack_100; undefined8 local_f8; undefined8 uStack_f0; int local_e8; undefined4 uStack_e4; undefined4 uStack_e0; undefined4 uStack_dc; undefined4 local_d8; undefined4 uStack_d4; undefined4 uStack_d0; undefined4 uStack_cc; undefined8 local_c8; byte *local_c0; void *local_b8; undefined1 local_b0; undefined7 uStack_af; undefined8 local_a0; ulonglong local_98; undefined1 local_88 [4]; uint uStack_84; ulonglong uStack_80; undefined8 local_78; undefined8 uStack_70; int local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; ulonglong local_48; local_c8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1b8; local_120 = param_2; if (*(int *)(param_1 + 0x68) != 0) { if (*(int *)(param_1 + 0x68) != 1) { FUN_18071c900(param_1,param_2); } *(longlong *)(param_1 + 0x70) = *(longlong *)(param_1 + 0x70) + 1; FUN_1806f52ec(); return; } pbVar11 = (byte *)0x0; *(undefined8 *)(param_1 + 0x80) = 0; plVar4 = *(longlong **)(param_1 + 0x88); *(undefined8 *)(param_1 + 0x88) = 0; lVar9 = -1; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } FUN_1806f20c0(local_88); FUN_1806f20c0(local_108); FUN_1806f3da0(param_1,local_88,0x40); uStack_104 = uStack_84; uStack_100 = uStack_80; local_f8 = local_78; uStack_f0 = uStack_70; local_e8 = local_68; uStack_e4 = uStack_64; uStack_e0 = uStack_60; uStack_dc = uStack_5c; local_d8 = local_58; uStack_d4 = uStack_54; uStack_d0 = uStack_50; uStack_cc = uStack_4c; cVar8 = FUN_1806f68b0(local_108); if (cVar8 == '\0') { local_180 = (byte *)FUN_1811316e0(0x18); if (local_180 != (byte *)0x0) { FUN_1805a48c0(local_180,"The thrift header sanity check failed."); } lVar9 = FUN_1805c0260(); local_178[0] = 0x1db; local_130 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\verifiedbinaryprotocol.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar9 + 8),&local_130); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_178); } cVar8 = FUN_1806f9730(local_108); if (cVar8 == '\0') { local_180 = (byte *)FUN_1811316e0(0x18); if (local_180 != (byte *)0x0) { pbVar11 = (byte *)FUN_1805a48c0(local_180, "The current version = %ld; minimum version found in the header = %ld" ); } lVar9 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pbVar11 + 8),&DAT_181bcdbf8); FUN_18060e760(*(undefined8 *)(pbVar11 + 8),(longlong)&local_f8 + 4); local_170[0] = 0x1e0; local_128 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\verifiedbinaryprotocol.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar9 + 8),&local_128); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_170); } pbVar12 = (byte *)FUN_1811316e0(0x38); iVar3 = (int)uStack_100; uVar15 = uStack_100 & 0xffffffff; pbVar14 = pbVar11; local_180 = pbVar12; if (pbVar12 != (byte *)0x0) { pbVar12[8] = 0; pbVar12[9] = 0; pbVar12[10] = 0; pbVar12[0xb] = 0; pbVar12[0xc] = 0; pbVar12[0xd] = 0; pbVar12[0xe] = 0; pbVar12[0xf] = 0; pbVar12[0x10] = 0; pbVar12[0x11] = 0; pbVar12[0x12] = 0; pbVar12[0x13] = 0; pbVar12[0x14] = 0; pbVar12[0x15] = 0; pbVar12[0x16] = 0; pbVar12[0x17] = 0; pbVar12[0x18] = 0; pbVar12[0x19] = 0; pbVar12[0x1a] = 0; pbVar12[0x1b] = 0; pbVar12[0x1c] = 0; pbVar12[0x1d] = 0; pbVar12[0x1e] = 0; pbVar12[0x1f] = 0; pbVar12[0x20] = 0; pbVar12[0x21] = 0; pbVar12[0x22] = 0; pbVar12[0x23] = 0; pbVar12[0x24] = 0; pbVar12[0x25] = 0; pbVar12[0x26] = 0; pbVar12[0x27] = 0; *(undefined ***)pbVar12 = apache::thrift::transport::TMemoryBuffer::vftable; local_198 = 0; FUN_1805da740(pbVar12,0,uVar15,1); pbVar14 = pbVar12; } FUN_1806f1f20(param_1 + 0x50,pbVar14); uStack_84 = 0; (**(code **)(**(longlong **)(param_1 + 0x50) + 0x40)) (*(longlong **)(param_1 + 0x50),local_88,0x40); lVar6 = *(longlong *)(param_1 + 0x50); FUN_1806f19c0(lVar6,iVar3 + -0x40); FUN_1806f3da0(param_1,*(undefined8 *)(lVar6 + 0x18),iVar3 + -0x40); FUN_1806f1e10(*(undefined8 *)(param_1 + 0x50),iVar3 + -0x40); FUN_1806f1fc0(local_188,0xffffffff); local_180 = *(byte **)(*(longlong *)(param_1 + 0x50) + 8); pbVar14 = local_180 + uVar15 + -(longlong)local_180; if (local_180 + uVar15 < local_180) { pbVar14 = pbVar11; } if (pbVar14 != (byte *)0x0) { pbVar12 = local_180; do { local_188[0] = *(uint *)(&DAT_18265f6c0 + (ulonglong)(byte)(*pbVar12 ^ (byte)local_188[0]) * 4 ) ^ local_188[0] >> 8; pbVar12 = pbVar12 + 1; } while (pbVar12 + -(longlong)local_180 < pbVar14); } local_168[0] = ~local_188[0]; if (local_168[0] == uStack_104) { if ((*(int *)(param_1 + 0x60) != 0) && (local_e8 != *(int *)(param_1 + 0x60))) { local_138 = (char *)FUN_1811316e0(0x18); if (local_138 != (char *)0x0) { pbVar11 = (byte *)FUN_1805a48c0(local_138, "The expected thrift data ID = 0x%X; the header data ID = 0x%X" ); } lVar9 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pbVar11 + 8),param_1 + 0x60); FUN_18060e760(*(undefined8 *)(pbVar11 + 8),&local_e8); local_158[0] = 0x209; local_138 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\verifiedbinaryprotocol.cpp" ; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar9 + 8),&local_138); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_158); } if (uStack_f0._4_4_ != 0) { local_a0 = 0; local_98 = 0xf; local_b0 = 0; do { lVar9 = lVar9 + 1; } while (local_180[lVar9 + (ulonglong)uStack_f0._4_4_] != 0); FUN_1805a6cb0(&local_b0); local_180 = (byte *)FUN_1811316e0(8); if (local_180 != (byte *)0x0) { pbVar11 = (byte *)FUN_180660c00(local_180,&local_b0,0); } local_150 = pbVar11; FUN_1806f1e90(&local_148,pbVar11); FUN_1805ae620(&local_150,pbVar11,pbVar11); local_c0 = local_150; pbVar11 = *(byte **)(param_1 + 0x80); *(byte **)(param_1 + 0x80) = local_150; plVar4 = *(longlong **)(param_1 + 0x88); *(longlong **)(param_1 + 0x88) = local_148; local_150 = pbVar11; local_148 = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar9 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (0xf < local_98) { pvVar5 = (void *)CONCAT71(uStack_af,local_b0); pvVar13 = pvVar5; if ((0xfff < local_98 + 1) && (pvVar13 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar13)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar13); } } local_118 = *(undefined8 *)(param_1 + 0x50); local_110 = *(longlong *)(param_1 + 0x58); if (local_110 != 0) { LOCK(); *(int *)(local_110 + 8) = *(int *)(local_110 + 8) + 1; UNLOCK(); } FUN_1806f81b0(param_1,&local_118); uVar7 = uStack_e4; pvVar13 = (void *)thunk_FUN_1811316e0(uStack_e4); local_b8 = pvVar13; (**(code **)(**(longlong **)(param_1 + 0x50) + 0x28)) (*(longlong **)(param_1 + 0x50),pvVar13,uVar7); /* WARNING: Subroutine does not return */ free(pvVar13); } local_140 = (char *)FUN_1811316e0(0x18); if (local_140 != (char *)0x0) { pbVar11 = (byte *)FUN_1805a48c0(local_140, "Checksum failure. The computed checksum = %ld; the header checksum = %ld" ); } lVar9 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pbVar11 + 8),local_168); FUN_18060e760(*(undefined8 *)(pbVar11 + 8),&uStack_104); local_160[0] = 0x201; local_140 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\verifiedbinaryprotocol.cpp"; uVar10 = FUN_1805a21d0(*(undefined8 *)(lVar9 + 8),&local_140); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_160); } ############ FUN_ 1806f5330 size=255 ############ void FUN_1806f5330(longlong param_1) { undefined8 *puVar1; undefined8 uVar2; undefined8 *local_res8; char *local_res10; if (*(int *)(param_1 + 0x68) == 0) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "The readStructEnd method was called before we found a top level struct. This should never happen and probably indicates a programming error." ); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d"); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x23d); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\verifiedbinaryprotocol.cpp" ; uVar2 = FUN_1805a21d0(puVar1[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res8); } if (*(int *)(param_1 + 0x68) == 1) { if (*(longlong *)(param_1 + 0x70) != 0) { *(longlong *)(param_1 + 0x70) = *(longlong *)(param_1 + 0x70) + -1; } if (*(longlong *)(param_1 + 0x70) == 0) { FUN_1806f5440(param_1); *(undefined4 *)(param_1 + 0x68) = 0; } } .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(param_1); return; } ############ FUN_ 1806fa4e0 size=161 ############ void FUN_1806fa4e0(void) { char *pcVar1; undefined8 uVar2; undefined4 local_28 [2]; char *local_20; undefined8 local_18; local_18 = 0xfffffffffffffffe; local_20 = (char *)FUN_1811316e0(0x18); if (local_20 != (char *)0x0) { FUN_1805a48c0(local_20,"This version does not support verified messaging."); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_20 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_28[0] = 0x111; local_20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\verifiedbinaryprotocol.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_28); } ############ FUN_ 1806fa5a0 size=161 ############ void FUN_1806fa5a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res10; char *local_res18 [2]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10,"This version does not support verified messaging.",param_3,param_4, uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x11a); local_res18[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\verifiedbinaryprotocol.cpp" ; uVar2 = FUN_1805a21d0(puVar1[1],local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res10); } ############ FUN_ 180712220 size=77 ############ undefined8 * FUN_180712220(undefined8 param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x128); if (puVar1 != (undefined8 *)0x0) { FUN_1806d2580(puVar1,param_1); *puVar1 = pace::IlokUtilException::vftable; return puVar1; } return (undefined8 *)0x0; } ############ FUN_ 180742260 size=3760 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180743168) overlaps instruction at (ram,0x000180743166) */ /* WARNING: Possible PIC construction at 0x000180743581: Changing call to branch */ /* WARNING: Removing unreachable block (ram,0x000180743586) */ /* WARNING: Removing unreachable block (ram,0x00018074336a) */ /* WARNING: Removing unreachable block (ram,0x000180742ef1) */ /* WARNING: Removing unreachable block (ram,0x000180742bfa) */ /* WARNING: Removing unreachable block (ram,0x00018074294f) */ /* WARNING: Removing unreachable block (ram,0x000180742ed1) */ /* WARNING: Removing unreachable block (ram,0x000180743229) */ /* WARNING: Removing unreachable block (ram,0x000180743531) */ /* WARNING: Removing unreachable block (ram,0x00018074295e) */ void FUN_180742260(undefined8 *param_1,undefined8 *param_2) { byte bVar1; undefined *puVar2; char cVar3; uint uVar4; undefined8 *puVar5; undefined8 uVar6; char *pcVar7; char *pcVar8; uint uVar9; ulonglong uVar10; ulonglong uVar11; longlong lVar12; char *pcVar13; uint uVar14; int iVar15; uint uVar16; uint uVar17; uint *puVar18; longlong lVar19; ulonglong uVar20; int *piVar21; int unaff_retaddr; undefined1 auStack_198 [32]; undefined1 local_178; undefined4 local_174; undefined4 local_170 [2]; undefined4 local_168 [4]; undefined *local_158; longlong *plStack_150; undefined *local_148; undefined8 local_138; longlong *plStack_130; undefined4 local_128 [2]; undefined4 local_120; undefined4 local_11c; int *local_118; char *local_110; undefined8 local_108; undefined1 *puStack_100; longlong local_f8; _Locimp *p_Stack_f0; undefined1 local_e8 [8]; _Locimp *local_e0; undefined8 local_d8; longlong local_c8; undefined1 *puStack_c0; undefined4 local_b8; undefined4 uStack_b4; undefined1 *puStack_b0; longlong local_a8; longlong *plStack_a0; undefined4 local_98; undefined4 uStack_94; longlong *plStack_90; undefined1 local_88 [16]; undefined8 local_78; undefined8 local_70; undefined1 local_68 [16]; undefined8 local_58; undefined8 local_50; ulonglong local_48; local_d8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_198; pcVar13 = (char *)0x0; local_120 = 0x6f0; local_11c = 0x5c0; local_e0 = std::locale::_Init(true); puVar5 = param_1; if (0xf < (ulonglong)param_1[3]) { puVar5 = (undefined8 *)*param_1; } local_f8 = (longlong)puVar5 + param_1[2]; p_Stack_f0 = (_Locimp *)local_e8; puVar5 = param_1; if (0xf < (ulonglong)param_1[3]) { puVar5 = (undefined8 *)*param_1; } puStack_100 = local_e8; local_58 = 0; local_50 = 0xf; local_68[0] = 0; local_108._0_4_ = SUB84(puVar5,0); local_108._4_4_ = (undefined4)((ulonglong)puVar5 >> 0x20); local_b8 = (undefined4)local_108; uStack_b4 = local_108._4_4_; local_108 = (char *)puVar5; local_c8 = local_f8; puStack_c0 = p_Stack_f0; puStack_b0 = puStack_100; FUN_18060d160(local_68,&local_b8,&local_c8,local_178); if (local_e0 != (_Locimp *)0x0) { puVar5 = (undefined8 *)(**(code **)(*(longlong *)local_e0 + 0x10))(); if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } } local_170[0] = 0; local_118 = &DAT_180bd0bc8; local_148 = &DAT_180bd0cc8; local_138 = (undefined8 *)0xf7e56a20; local_158 = (undefined *)0x85b7d3c9; uVar6 = FUN_18074a680(); cVar3 = FUN_18060e8d0(uVar6,local_68,local_170); if (cVar3 == '\0') { local_110 = (char *)FUN_1811316e0(0x18); pcVar7 = pcVar13; if (local_110 != (char *)0x0) { pcVar7 = (char *)FUN_1805a48c0(local_110,"PkStandard name string passed = \"%s\""); } pcVar8 = (char *)FUN_1811316e0(0x18); local_110 = pcVar8; if (pcVar8 != (char *)0x0) { FUN_1805a48c0(pcVar8,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar8 = pace::PaceLocationInfoFormatter::vftable; pcVar13 = pcVar8; } FUN_1805b2240(*(undefined8 *)(pcVar7 + 8),param_1); local_128[0] = 0x53c; local_110 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar6 = FUN_1805a21d0(*(undefined8 *)(pcVar13 + 8),&local_110); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_128); } p_Stack_f0 = std::locale::_Init(true); puVar5 = param_2; if (0xf < (ulonglong)param_2[3]) { puVar5 = (undefined8 *)*param_2; } local_158 = (undefined *)((longlong)puVar5 + param_2[2]); plStack_150 = &local_f8; puVar5 = param_2; if (0xf < (ulonglong)param_2[3]) { puVar5 = (undefined8 *)*param_2; } plStack_130 = &local_f8; local_78 = 0; local_70 = 0xf; local_88[0] = 0; local_138._0_4_ = SUB84(puVar5,0); local_138._4_4_ = (undefined4)((ulonglong)puVar5 >> 0x20); local_98 = (undefined4)local_138; uStack_94 = local_138._4_4_; local_138 = puVar5; local_a8 = (longlong)local_158; plStack_a0 = plStack_150; plStack_90 = plStack_130; FUN_18060d160(local_88,&local_98,&local_a8,local_178); if (p_Stack_f0 != (_Locimp *)0x0) { puVar5 = (undefined8 *)(**(code **)(*(longlong *)p_Stack_f0 + 0x10))(); if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } } local_174 = 0; uVar6 = FUN_180747230(); cVar3 = FUN_18060e8d0(uVar6,local_88,&local_174); if (cVar3 == '\0') { local_108 = (char *)FUN_1811316e0(0x18); pcVar7 = pcVar13; if (local_108 != (char *)0x0) { pcVar7 = (char *)FUN_1805a48c0(local_108,"Algorithm name string passed = \"%s\""); } pcVar8 = (char *)FUN_1811316e0(0x18); local_108 = pcVar8; if (pcVar8 != (char *)0x0) { FUN_1805a48c0(pcVar8,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar8 = pace::PaceLocationInfoFormatter::vftable; pcVar13 = pcVar8; } FUN_1805b2240(*(undefined8 *)(pcVar7 + 8),param_2); local_168[0] = 0x544; local_108 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar6 = FUN_1805a21d0(*(undefined8 *)(pcVar13 + 8),&local_108); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_168); } local_158 = local_148; uVar9 = (*local_118 * 0x16a88000 | (uint)(*local_118 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0xb94efa1b; uVar9 = (local_118[1] * 0x16a88000 | (uint)(local_118[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (local_118[2] * 0x16a88000 | (uint)(local_118[2] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (local_118[3] * 0x16a88000 | (uint)(local_118[3] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (local_118[4] * 0x16a88000 | (uint)(local_118[4] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; iVar15 = local_118[5]; uVar9 = (iVar15 * 0x16a88000 | (uint)(iVar15 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar14 = uVar9 & 0x1cff; uVar4 = (uint)local_148 & 0x16ff; uVar4 = ((uVar4 - 1) * uVar4 & 1) + (uVar14 * uVar14 * 0x10 + 4) % 0x13; piVar21 = (int *)((longlong)(local_118 + 5) + (0x44 - ((longlong)(((int)(-uVar4 | uVar4) >> 0x1f) * -0xfb89) ^ 0xfbc9U))); uVar9 = (*piVar21 * 0x16a88000 | (uint)(*piVar21 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar9; uVar9 = (piVar21[1] * 0x16a88000 | (uint)(piVar21[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; piVar21 = piVar21 + 2; uVar4 = (*piVar21 * 0x16a88000 | (uint)(*piVar21 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uint)piVar21 & 0x32ff; iVar15 = uVar9 * uVar9 + 1; uVar9 = (iVar15 >> 4) + (iVar15 >> 1) + iVar15 * 0x24924924 >> 0x1d; uVar9 = (int)(uVar9 - 7) >> 0x1f & uVar9; piVar21 = (int *)((longlong)piVar21 + (0x204 - ((longlong)(((int)(-uVar9 | uVar9) >> 0x1f) * -0x81df) ^ 0x83dfU))); do { FUN_1807442a5(); FUN_1807460f1(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); iVar15 = *piVar21; uVar9 = (iVar15 * 0x16a88000 | (uint)(iVar15 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; piVar21 = piVar21 + 1; local_148 = (undefined *)0x86192962ed30abcd; local_168[0] = 0xed30abcd; uVar9 = (*piVar21 * 0x16a88000 | (uint)(*piVar21 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar17 = (uint)local_158; uVar4 = uVar17 & 0x2ff; uVar14 = (uint)piVar21 & 0x1f | 0x19; uVar16 = (uint)piVar21 & 7 | 0x35; iVar15 = (uVar4 + 2) * (uVar4 + 1) * uVar4; uVar4 = (uVar9 & 0x3ff) * (uVar9 & 0x3ff) * 0x10 + 4; piVar21 = (int *)((longlong)piVar21 + ((((longlong)(ulonglong)(uVar14 * uVar14 * 0xcfc5 == uVar16 * uVar16 * 0x8bfd) >> ((byte)uVar9 & 0x1f) | 0xaa4fU) ^ 0xaaeb) - ((longlong) (0xa9e6 - (iVar15 + (iVar15 / 3 + (iVar15 >> 0x1f) + (int)(((longlong)iVar15 / 3 + ((longlong)iVar15 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3 << ((char)uVar4 + (char)(uVar4 / 0x13) * -0x13 & 0x1fU))) ^ 0xa946U))); iVar15 = *piVar21; uVar9 = (iVar15 * 0x16a88000 | (uint)(iVar15 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar9; uVar9 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; iVar15 = (uVar9 & 0x5aff) * (uVar9 & 0x5aff) + 1; uVar4 = iVar15 * 0x24924924 + (iVar15 >> 4) + (iVar15 >> 1) >> 0x1d; if (((int)(uVar4 - 7) >> 0x1f & uVar4 & 0xa80) == 0) { uVar4 = uVar17 & 0x65ff; } else { uVar4 = uVar9 & 0x29ff; } uVar14 = (uVar4 * uVar4 + 1) % 7; uVar16 = ((uVar17 & 0x42ff) * (uVar17 & 0x42ff) + 1) % 7; uVar4 = ((uVar17 & 0x1dff) + 1) * (uVar17 & 0x1dff) + 0x14e1 & 0x80000001; piVar21 = (int *)((longlong)piVar21 + (((longlong) ((((int)(-uVar16 | uVar16) >> 0x1f) - ((int)(-uVar4 | uVar4) >> 0x1f)) + 0xdc43 ) ^ 0xdc77U) - ((longlong)(((int)(-uVar14 | uVar14) >> 0x1f) * -0x8f3) ^ 0x8c3U))); uVar9 = (*piVar21 * 0x16a88000 | (uint)(*piVar21 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar9; uVar4 = uVar9 << 0xd | uVar9 >> 0x13; uVar9 = uVar4 * 4 + 0xe6546b64; uVar4 = uVar4 + uVar9; puVar18 = (uint *)register0x00000020; do { puVar18 = (uint *)(((ulonglong)uVar9 + (longlong)puVar18) - (((longlong)puVar18 - ((ulonglong)uVar9 + (longlong)puVar18) ^ 0xffffffffffffffff) + 1)); uVar9 = *puVar18; uVar14 = (uVar9 + 1) * uVar9 & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar4 = (piVar21[1] * 0x16a88000 | (uint)(piVar21[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar4; uVar9 = (piVar21[2] * 0x16a88000 | (uint)(piVar21[2] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[3] * 0x16a88000 | (uint)(piVar21[3] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[4] * 0x16a88000 | (uint)(piVar21[4] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; piVar21 = piVar21 + 5; uVar14 = (*piVar21 * 0x16a88000 | (uint)(*piVar21 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar4 = ((uVar17 & 0x1cff) - 1) * (uVar17 & 0x1cff) - 1 & 1; uVar9 = (uint)piVar21 & 0xaff; uVar9 = (uVar9 * uVar9 + 1) % 7; uVar9 = (int)((-uVar9 | uVar9) & (-uVar4 | uVar4)) >> 0x1f; piVar21 = (int *)((((longlong)(((int)(-uVar9 | uVar9) >> 0x1f) * -0xe369) ^ 0xe669U) - 0x4fc) + (longlong)piVar21); uVar9 = (*piVar21 * 0x16a88000 | (uint)(*piVar21 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar14 << 0xd | uVar14 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[1] * 0x16a88000 | (uint)(piVar21[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[2] * 0x16a88000 | (uint)(piVar21[2] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[3] * 0x16a88000 | (uint)(piVar21[3] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[4] * 0x16a88000 | (uint)(piVar21[4] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[5] * 0x16a88000 | (uint)(piVar21[5] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; piVar21 = piVar21 + 6; uVar9 = (*piVar21 * 0x16a88000 | (uint)(*piVar21 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar14 = (uint)piVar21 & 0x6f; uVar4 = uVar9 & 0x6aff; uVar4 = ((uVar4 + 1) * uVar4 & 0x80000001) - ((uVar17 & 0x18ff) * (uVar17 & 0x18ff) * 0x10 + 4) % 0x13; piVar21 = (int *)((longlong)piVar21 + (((ulonglong)((int)(-uVar4 | uVar4) >> 0x1f & 0x2661) ^ 0x2365) - ((longlong) (0xfa0c - ((int)((uVar14 + 1) * (uVar14 + 1) * uVar14 * uVar14 & 3) >> (((char)local_158 + '\x01') * (char)local_158 & 1U))) ^ 0xff0cU))); uVar9 = (*piVar21 * 0x16a88000 | (uint)(*piVar21 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar9; uVar9 = (piVar21[1] * 0x16a88000 | (uint)(piVar21[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[2] * 0x16a88000 | (uint)(piVar21[2] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[3] * 0x16a88000 | (uint)(piVar21[3] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[4] * 0x16a88000 | (uint)(piVar21[4] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[5] * 0x16a88000 | (uint)(piVar21[5] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[6] * 0x16a88000 | (uint)(piVar21[6] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[7] * 0x16a88000 | (uint)(piVar21[7] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[8] * 0x16a88000 | (uint)(piVar21[8] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[9] * 0x16a88000 | (uint)(piVar21[9] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[10] * 0x16a88000 | (uint)(piVar21[10] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[0xb] * 0x16a88000 | (uint)(piVar21[0xb] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[0xc] * 0x16a88000 | (uint)(piVar21[0xc] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[0xd] * 0x16a88000 | (uint)(piVar21[0xd] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar11 = (ulonglong)uVar9; uVar9 = (piVar21[0xe] * 0x16a88000 | (uint)(piVar21[0xe] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar9; uVar9 = (piVar21[0xf] * 0x16a88000 | (uint)(piVar21[0xf] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; do { FUN_180742627(); FUN_18073f0d7(); puVar2 = local_158; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar9 = (piVar21[0x10] * 0x16a88000 | (uint)(piVar21[0x10] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[0x11] * 0x16a88000 | (uint)(piVar21[0x11] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; do { uVar10 = 0xda18; FUN_180743c24(); if ((uVar10 & 0xc700) == 0) { DAT_e6546b64 = in((short)uVar11 + -0x376c); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar9 = (piVar21[0x12] * 0x16a88000 | (uint)(piVar21[0x12] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[0x13] * 0x16a88000 | (uint)(piVar21[0x13] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[0x14] * 0x16a88000 | (uint)(piVar21[0x14] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; piVar21 = piVar21 + 0x15; uVar9 = (*piVar21 * 0x16a88000 | (uint)(*piVar21 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; if (((ulonglong)puVar2 & 0x150) == 0) { uVar4 = uVar9 & 0x2ff; iVar15 = (uVar4 + 2) * (uVar4 + 1) * uVar4; uVar4 = ((iVar15 >> 1) - (iVar15 >> 3)) + iVar15 * 0x55555555 >> 0x1e; } else { uVar4 = (uint)puVar2 & 0xf; uVar4 = (uVar4 + 1) * (uVar4 + 1) * uVar4 * uVar4 & 0x80000003; } uVar10 = (ulonglong)uVar4; uVar14 = (uint)piVar21 & 0x3fff; uVar14 = ((uVar14 + 1) * uVar14 + 7) % 0x51; uVar11 = (ulonglong)uVar14; bVar1 = (byte)uVar9 & 0xf; uVar14 = ((int)(-uVar14 | uVar14) >> 0x1f) >> (bVar1 * (bVar1 + 1) * (bVar1 + 1) * bVar1 & 2); piVar21 = (int *)((longlong)piVar21 + ((longlong)(((int)(-uVar14 | uVar14) >> 0x1f) * -0x51bf) ^ 0x519fU) + (((longlong)(int)uVar4 | 0x2bcdU) ^ 0xffffffffffffd429)); uVar9 = (*piVar21 * 0x16a88000 | (uint)(*piVar21 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar9; uVar9 = (piVar21[1] * 0x16a88000 | (uint)(piVar21[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[2] * 0x16a88000 | (uint)(piVar21[2] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[3] * 0x16a88000 | (uint)(piVar21[3] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar9 = (piVar21[4] * 0x16a88000 | (uint)(piVar21[4] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[5] * 0x16a88000 | (uint)(piVar21[5] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[6] * 0x16a88000 | (uint)(piVar21[6] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[7] * 0x16a88000 | (uint)(piVar21[7] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[8] * 0x16a88000 | (uint)(piVar21[8] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[9] * 0x16a88000 | (uint)(piVar21[9] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[10] * 0x16a88000 | (uint)(piVar21[10] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[0xb] * 0x16a88000 | (uint)(piVar21[0xb] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[0xc] * 0x16a88000 | (uint)(piVar21[0xc] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; do { func_0x000180743e54(); FUN_18074d4ec(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar9 = (piVar21[0xd] * 0x16a88000 | (uint)(piVar21[0xd] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (piVar21[0xe] * 0x16a88000 | (uint)(piVar21[0xe] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar20 = (ulonglong)((uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64); do { lVar12 = uVar20 + ~(ulonglong)register0x00000020 + 1; lVar19 = (~(ulonglong)register0x00000020 + 1) - lVar12; uVar20 = -lVar19; register0x00000020 = (BADSPACEBASE *)(~(lVar12 + lVar19) + 1); uVar9 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); /* WARNING: Could not recover jumptable at 0x0001807436f6. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)&UNK_18073b8ef)(0,uVar20,uVar11,uVar10); return; } ############ FUN_ 180748370 size=690 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001807483d4) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180748370(void) { longlong lVar1; undefined8 uVar2; longlong lVar3; undefined1 auStack_2d8 [48]; longlong local_2a8; undefined8 local_2a0; undefined8 local_288; longlong local_280; undefined4 local_278; undefined4 local_274; undefined8 local_260; undefined8 local_178; ulonglong local_38; local_178 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_2d8; local_278 = 0xd70; local_274 = 0xd80; lVar3 = 0; if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_182666b08) && (_Init_thread_header(&DAT_182666b08), DAT_182666b08 == -1)) { lVar1 = FUN_1811316e0(0x88); local_2a8 = lVar1; if (lVar1 != 0) { lVar3 = lVar1 + 0x39; *(longlong *)(lVar1 + 8) = lVar3; local_280 = lVar1 + 0x28; uVar2 = FUN_1811316e0(0x58); *(undefined8 *)(lVar1 + 0x30) = uVar2; FUN_180619400(lVar1 + 0x39); FUN_1806194a0(lVar1 + 0x39); *(undefined8 *)(lVar1 + 0x40) = 0; *(longlong *)(lVar1 + 0x50) = lVar3; *(longlong *)(lVar1 + 0x70) = lVar3; lVar3 = lVar1; } _DAT_182666b00 = lVar3; _Init_thread_footer(&DAT_182666b08); } local_2a8 = 0; local_288 = 0x134911c; local_2a0 = 0x3effc; local_260 = 0x18134911c; local_280 = 0x181388118; FUN_180748594(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 18074c5a0 size=936 ############ /* WARNING: Instruction at (ram,0x00018074c80a) overlaps instruction at (ram,0x00018074c807) */ /* WARNING: Removing unreachable block (ram,0x00018074c6f6) */ /* WARNING: Removing unreachable block (ram,0x00018074c70a) */ /* WARNING: Removing unreachable block (ram,0x00018074c80a) */ /* WARNING: Removing unreachable block (ram,0x00018074c80d) */ /* WARNING: Removing unreachable block (ram,0x00018074c8b0) */ char FUN_18074c5a0(void) { char cVar1; longlong lVar2; undefined8 uVar3; uint uVar4; int iVar5; uint uVar6; longlong lVar7; undefined1 auStack_368 [64]; longlong local_328; longlong local_320; undefined4 local_304; uint local_300; undefined8 local_218; ulonglong local_30; local_218 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_368; local_304 = 0x6d0; uVar4 = (uint)&stack0x00000000 & 0x5cff; iVar5 = uVar4 * uVar4 + 1; uVar6 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar6 = (int)(uVar6 - 7) >> 0x1f & uVar6; uVar4 = (uint)&stack0x00000000 & 0x7aff; uVar4 = (uVar4 * uVar4 + 1) % 7; uVar4 = (int)((-uVar4 | uVar4) & (-uVar6 | uVar6)) >> 0x1f; local_300 = (((int)(-uVar4 | uVar4) >> 0x1f) * -0x4e0c | 0xce0cU) ^ 0xcaec; lVar7 = 0; if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_182666b18) && (_Init_thread_header(&DAT_182666b18), DAT_182666b18 == -1)) { lVar2 = FUN_1811316e0(0x88); local_320 = lVar2; if (lVar2 != 0) { lVar7 = lVar2 + 0x39; *(longlong *)(lVar2 + 8) = lVar7; local_328 = lVar2 + 0x28; uVar3 = FUN_1811316e0(0x58); *(undefined8 *)(lVar2 + 0x30) = uVar3; FUN_180619400(lVar2 + 0x39); FUN_1806194a0(lVar2 + 0x39); *(undefined8 *)(lVar2 + 0x40) = 0; *(longlong *)(lVar2 + 0x50) = lVar7; *(longlong *)(lVar2 + 0x70) = lVar7; lVar7 = lVar2; } DAT_182666b10 = lVar7; _Init_thread_footer(&DAT_182666b18); } func_0x00018074a8bf(); /* WARNING: Call to offcut address within same function */ cVar1 = func_0x00018074c79d(); return cVar1 + -0x4c; } ############ FUN_ 1807196d0 size=748 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807196d0(longlong param_1,undefined8 param_2,undefined8 *param_3,undefined8 *param_4, undefined8 param_5) { void *pvVar1; char cVar2; undefined8 *puVar3; undefined8 uVar4; longlong lVar5; tm *ptVar6; longlong lVar7; void *pvVar8; undefined8 *puVar9; undefined1 auStack_d8 [32]; undefined8 *local_b8; undefined4 local_a8 [2]; char *local_a0; char *local_98; undefined8 *local_90; undefined8 *local_88; undefined8 local_80; void *local_78 [3]; ulonglong local_60; ulonglong local_58; local_80 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_d8; pvVar8 = (void *)*param_3; pvVar1 = (void *)param_3[1]; local_90 = (undefined8 *)param_2; local_88 = param_3; if ((pvVar8 != pvVar1) && (pvVar8 != pvVar1)) { memmove(pvVar8,pvVar1,0); param_3[1] = pvVar8; } pvVar8 = (void *)*param_4; pvVar1 = (void *)param_4[1]; if ((pvVar8 != pvVar1) && (pvVar8 != pvVar1)) { memmove(pvVar8,pvVar1,0); param_4[1] = pvVar8; } FUN_180719a10(param_1,param_5, "Can\'t sign because the certificate doesn\'t have the permissions to sign."); if (*(char *)(param_1 + 0xafc) != '\0') { local_90 = (undefined8 *)FUN_1811316e0(0x18); puVar9 = (undefined8 *)0x0; if (local_90 != (undefined8 *)0x0) { FUN_1805a48c0(local_90,"The ILok2Signer is not supported in non-Sarducci libraries"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_90 = puVar3; if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; puVar9 = puVar3; } local_a8[0] = 300; local_98 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\certifier.cpp"; uVar4 = FUN_1805a21d0(puVar9[1],&local_98); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_a8); } lVar5 = 0; if (*(longlong *)(param_1 + 0xaa8) == *(longlong *)(param_1 + 0xaa0)) { local_a0 = (char *)FUN_1811316e0(0x18); if (local_a0 != (char *)0x0) { FUN_1805a48c0(local_a0, "You need to construct this object with a private key in order to sign."); } lVar5 = FUN_1805c0260(); local_a8[0] = 0x133; local_a0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\certifier.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_a0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_a8); } _time64((__time64_t *)&local_a0); ptVar6 = _gmtime64((__time64_t *)&local_a0); if (ptVar6 == (tm *)0x0) { uVar4 = FUN_1805b6c80(local_78,"could not convert calendar time to UTC time"); /* WARNING: Subroutine does not return */ FUN_1805b3e60(uVar4); } FUN_1805bd670(&local_98,ptVar6); cVar2 = (**(code **)(*(longlong *)(param_1 + 0x8c8) + 0x18)) ((longlong *)(param_1 + 0x8c8),&local_98,0); if (cVar2 != '\0') { local_b8 = param_4; (**(code **)(*(longlong *)(param_1 + 8) + 0x40)) ((longlong *)(param_1 + 8),param_1 + 0xaa0,local_90,local_88); } local_a0 = (char *)FUN_1811316e0(0x18); if (local_a0 != (char *)0x0) { lVar5 = FUN_1805a48c0(local_a0,"The signing certificate is not valid for the current date: %s.") ; } lVar7 = FUN_1805c0260(); FUN_180621860(local_78,local_98); FUN_1805b2240(*(undefined8 *)(lVar5 + 8),local_78); if (local_60 < 0x10) { local_a8[0] = 0x13a; local_a0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\certifier.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar7 + 8),&local_a0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_a8); } pvVar8 = local_78[0]; if ((0xfff < local_60 + 1) && (pvVar8 = *(void **)((longlong)local_78[0] + -8), 0x1f < (ulonglong)((longlong)local_78[0] + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } ############ FUN_ 180726340 size=97 ############ undefined8 * FUN_180726340(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p_> ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1807263e0 size=183 ############ undefined8 * FUN_1807263e0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 *puVar2; undefined8 uVar3; int local_20 [2]; undefined8 local_18; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x60); if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { puVar2[1] = 0; puVar2[2] = 0; puVar2[3] = param_1; puVar2[4] = 0; *puVar2 = boost::asio::windows::stream_handle_service::vftable; puVar2[5] = *(undefined8 *)(param_1 + 0x10); iVar1 = FUN_180726860(puVar2 + 6); local_18 = FUN_1805c8c70(); if (iVar1 != 0) { local_20[0] = iVar1; /* WARNING: Subroutine does not return */ FUN_1805bd9a0(local_20,"mutex",param_3,param_4,uVar3); } puVar2[0xb] = 0; } return puVar2; } ############ FUN_ 180726c90 size=97 ############ undefined8 * FUN_180726c90(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180726d00 size=389 ############ longlong FUN_180726d00(longlong param_1,undefined8 param_2,undefined8 param_3,ulonglong param_4) { int iVar1; DWORD DVar2; undefined8 *puVar3; HANDLE pvVar4; undefined8 *puVar5; undefined8 *local_40; undefined8 local_38; DWORD local_30 [2]; undefined8 uStack_28; iVar1 = FUN_180726860(); local_38 = FUN_1805c8c70(); local_40 = (undefined8 *)CONCAT44(local_40._4_4_,iVar1); if (iVar1 != 0) { /* WARNING: Subroutine does not return */ FUN_1805bd9a0(&local_40,"mutex"); } *(undefined8 *)(param_1 + 0x28) = param_2; puVar3 = (undefined8 *)FUN_1811316e0(0x98); puVar5 = (undefined8 *)0x0; if (puVar3 != (undefined8 *)0x0) { puVar3[1] = 0; puVar3[2] = 0; puVar3[3] = param_2; puVar3[4] = 0; *puVar3 = boost::asio::detail::win_iocp_io_service::vftable; puVar3[5] = 0; puVar3[6] = 0; *(undefined4 *)(puVar3 + 7) = 0; puVar3[8] = 0; puVar3[9] = 0; *(undefined4 *)(puVar3 + 10) = 0; local_40 = puVar3; DVar2 = FUN_180726860(puVar3 + 0xb); uStack_28 = FUN_1805c8c70(); local_30[0] = DVar2; if (DVar2 != 0) { /* WARNING: Subroutine does not return */ FUN_1805bd9a0(local_30,"mutex"); } puVar3[0x10] = 0; puVar3[0x11] = 0; puVar3[0x12] = 0; DVar2 = (DWORD)param_4; if (0xffffffff < param_4) { DVar2 = 0xffffffff; } pvVar4 = CreateIoCompletionPort((HANDLE)0xffffffffffffffff,(HANDLE)0x0,0,DVar2); puVar3[5] = pvVar4; puVar5 = puVar3; if (pvVar4 == (HANDLE)0x0) { DVar2 = GetLastError(); uStack_28 = FUN_1805c8c70(); local_30[0] = DVar2; if (DVar2 != 0) { /* WARNING: Subroutine does not return */ FUN_1805bd9a0(local_30,&DAT_181bd2ca8); } } } *(undefined8 **)(param_1 + 0x30) = puVar5; puVar5[1] = &boost::asio::detail::typeid_wrapper:: RTTI_Type_Descriptor; puVar5[2] = 0; *(undefined8 *)(*(longlong *)(param_1 + 0x30) + 0x20) = 0; return param_1; } ############ FUN_ 18072ae40 size=393 ############ void FUN_18072ae40(longlong param_1,void *param_2,ulonglong param_3) { uint uVar1; uint uVar2; longlong lVar3; char *pcVar4; undefined8 uVar5; uint uVar6; char *local_res8; ulonglong local_res18; ulonglong uVar7; local_res18 = param_3; if (0xffffffff < param_3) { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8,"Number of bytes passed = %zu"); } pcVar4 = (char *)FUN_1811316e0(0x18); local_res8 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0xaf); local_res8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\sha1utils.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res18); } uVar1 = (uint)param_3; uVar6 = *(uint *)(param_1 + 0x14) >> 3 & 0x3f; uVar7 = (ulonglong)uVar6; uVar2 = *(uint *)(param_1 + 0x14) + uVar1 * 8; *(uint *)(param_1 + 0x14) = uVar2; if (uVar2 < uVar1 * 8) { *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + 1; } *(int *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + ((uint)(param_3 >> 0x1d) & 7); if (uVar6 + uVar1 < 0x40) { uVar2 = 0; } else { uVar2 = -uVar6 + 0x40; memcpy((void *)(param_1 + 0x1c + (ulonglong)uVar6),param_2,(ulonglong)uVar2); FUN_1807275a0(param_1,param_1 + 0x1c); for (uVar6 = -uVar6 + 0x7f; uVar6 < uVar1; uVar6 = uVar6 + 0x40) { FUN_1807275a0(param_1,(ulonglong)uVar2 + (longlong)param_2); uVar2 = uVar2 + 0x40; } uVar7 = 0; } memcpy((void *)(param_1 + 0x1c + uVar7),(void *)((ulonglong)uVar2 + (longlong)param_2), (ulonglong)(uVar1 - uVar2)); return; } ############ FUN_ 18073af60 size=216 ############ void FUN_18073af60(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; longlong lVar3; ulonglong uVar4; uint uVar5; int local_res10 [4]; char *local_res20; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; FUN_18070abe0(param_3); lVar2 = param_2[1]; lVar3 = *param_2; uVar5 = (uint)(lVar2 - lVar3); if (uVar5 != 0) { uVar1 = (**(code **)(*param_1 + 0x28))(param_1); uVar4 = (ulonglong)uVar1; if (uVar5 <= uVar1) { uVar4 = lVar2 - lVar3 & 0xffffffff; } local_res10[0] = FUN_180707db0(uVar4,*param_2,param_3,param_4,uVar6); if (local_res10[0] != 0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(local_res20,"[%d] BIG_BytesToBigNumber error converting hash"); } lVar3 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar2 + 8),local_res10); local_res10[0] = 0x109; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp" ; uVar6 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar6,local_res10); } } return; } ############ FUN_ 18073c2a0 size=226 ############ void FUN_18073c2a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; char *pcVar2; int local_res18 [2]; char *local_res20; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; FUN_18070abe0(param_2); local_res18[0] = FUN_180708b20(param_1,param_2,0,param_4,uVar3); if (local_res18[0] != 0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res20,"[%d] ConvertBigNumber_CompactToStandard error"); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_res18); local_res18[0] = 0x38f; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res18); } return; } ############ FUN_ 18073d1f0 size=203 ############ void FUN_18073d1f0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; char *pcVar2; int local_res18 [2]; char *local_res20; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; local_res18[0] = FUN_180709b40(); if (local_res18[0] != 0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res20,"[%d] ConvertBigNumber_StandardToCompact error",param_3, param_4,uVar3); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar3); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_res18); local_res18[0] = 0x3e0; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res18); } return; } ############ FUN_ 18073d2d0 size=1557 ############ void FUN_18073d2d0(longlong param_1,char param_2,longlong *param_3,undefined8 param_4) { uint uVar1; int iVar2; undefined8 *puVar3; undefined8 uVar4; longlong lVar5; char *pcVar6; longlong lVar7; uint uVar8; ulonglong uVar9; char local_res8 [8]; undefined4 local_res10 [2]; undefined8 local_res18; char *local_78; undefined8 local_70; longlong local_68; undefined8 *local_60; longlong local_58; undefined8 *local_50; longlong local_48; undefined8 *local_40; local_res10[0] = CONCAT31(local_res10[0]._1_3_,param_2); local_70 = 0xfffffffffffffffe; uVar9 = param_3[1] - *param_3; uVar1 = FUN_1809947a0(*(undefined4 *)(param_1 + 0x10)); if ((param_2 != '\0') && (uVar8 = (uint)uVar9, uVar9 = uVar9 & 0xffffffff, uVar1 < uVar8)) { uVar9 = (ulonglong)uVar1; } FUN_18070abe0(param_4); if ((int)uVar9 == 0) { local_res18 = (char *)FUN_1811316e0(0x18); if (local_res18 != (char *)0x0) { FUN_1805a48c0(local_res18,"No private key provided (empty vector)"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = (char *)puVar3; if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (char *)CONCAT44(local_res18._4_4_,0x409); local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = FUN_1805a21d0(puVar3[1],&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } local_res18._0_4_ = FUN_180707db0(uVar9 & 0xffffffff,*param_3,param_4); if ((int)local_res18 != 0) { local_78 = (char *)FUN_1811316e0(0x18); if (local_78 == (char *)0x0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_78,"[%d] BIG_BytesToBigNumber error"); } pcVar6 = (char *)FUN_1811316e0(0x18); local_78 = pcVar6; if (pcVar6 == (char *)0x0) { pcVar6 = (char *)0x0; } else { FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar5 + 8),&local_res18); local_res18 = (char *)CONCAT44(local_res18._4_4_,0x412); local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } local_res18._0_4_ = FUN_180707e90(param_4,param_1 + 0xc0,local_res8); if ((int)local_res18 != 0) { local_78 = (char *)FUN_1811316e0(0x18); if (local_78 == (char *)0x0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_78,"[%d] BIG_CompareBig error"); } pcVar6 = (char *)FUN_1811316e0(0x18); local_78 = pcVar6; if (pcVar6 == (char *)0x0) { pcVar6 = (char *)0x0; } else { FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar5 + 8),&local_res18); local_res18 = (char *)CONCAT44(local_res18._4_4_,0x41b); local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } if (-1 < local_res8[0]) { if ((char)local_res10[0] == '\0') { local_res18 = (char *)FUN_1811316e0(0x18); if (local_res18 == (char *)0x0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_res18, "The given private key value (in bytes) is too big for the current PKStandard (%d)" ); } lVar7 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar5 + 8),param_1 + 0x10); local_res18 = (char *)CONCAT44(local_res18._4_4_,0x426); local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar7 + 8),&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } while (-1 < local_res8[0]) { local_res18._0_4_ = 0; iVar2 = (int)uVar9; uVar1 = iVar2 - 1; uVar9 = (ulonglong)uVar1; if (uVar1 == 0) { local_68 = FUN_1811316e0(iVar2 + 0x17); if (local_68 != 0) { FUN_1805a48c0(local_68,"Ran out of bytes trying to trim a private key"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_60 = puVar3; if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (char *)CONCAT44(local_res18._4_4_,0x433); local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = FUN_1805a21d0(puVar3[1],&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } local_res18._0_4_ = FUN_180707db0(uVar1,*param_3,param_4); if ((int)local_res18 != 0) { local_58 = FUN_1811316e0(0x18); if (local_58 == 0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_58,"[%d] BIG_BytesToBigNumber error"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_50 = puVar3; if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar5 + 8),&local_res18); local_res18 = (char *)CONCAT44(local_res18._4_4_,0x43b); local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = FUN_1805a21d0(puVar3[1],&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } local_res18._0_4_ = FUN_180707e90(param_4,param_1 + 0xc0,local_res8); if ((int)local_res18 != 0) { local_48 = FUN_1811316e0(0x18); if (local_48 == 0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_48,"[%d] BIG_CompareBig error"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_40 = puVar3; if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar5 + 8),&local_res18); local_res18 = (char *)CONCAT44(local_res18._4_4_,0x444); local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = FUN_1805a21d0(puVar3[1],&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } } } local_res18._0_4_ = 0; uVar1 = FUN_18070aca0(param_4); if (uVar1 < 2) { if ((char)local_res10[0] == '\0') { local_res18 = (char *)FUN_1811316e0(0x18); if (local_res18 != (char *)0x0) { FUN_1805a48c0(local_res18,"The given private key value is a weak key and cannot be used"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { local_res18 = (char *)puVar3; FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } local_res10[0] = 0x450; local_res18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp" ; uVar4 = FUN_1805a21d0(puVar3[1],&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res10); } iVar2 = FUN_18070ac50(uVar1 + 0x82937482,param_4); local_res18 = (char *)CONCAT44(local_res18._4_4_,iVar2); if (iVar2 != 0) { local_40 = (undefined8 *)FUN_1811316e0(0x18); if (local_40 == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_40,"[%d] BIG_SetBigFromDword error"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_40 = puVar3; if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar5 + 8),&local_res18); local_res10[0] = 0x458; local_res18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp" ; uVar4 = FUN_1805a21d0(puVar3[1],&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res10); } } return; } ############ FUN_ 18073e880 size=223 ############ void FUN_18073e880(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; char *pcVar2; int local_res18 [2]; char *local_res20; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; FUN_18070ac10(param_2); local_res18[0] = FUN_180708bf0(param_1,param_2,param_3,param_4,uVar3); if (local_res18[0] != 0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res20,"[%d] ConvertBigPublicKey_CompactToStandard error"); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_res18); local_res18[0] = 0x498; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res18); } return; } ############ FUN_ 18073f650 size=203 ############ void FUN_18073f650(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; char *pcVar2; int local_res18 [2]; char *local_res20; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; local_res18[0] = FUN_180709c10(); if (local_res18[0] != 0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res20,"[%d] ConvertBigPublicKey_StandardToCompact error",param_3, param_4,uVar3); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar3); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_res18); local_res18[0] = 0x4bf; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res18); } return; } ############ FUN_ 1807404d0 size=223 ############ void FUN_1807404d0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; char *pcVar2; int local_res18 [2]; char *local_res20; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; FUN_18070ac10(param_2); local_res18[0] = FUN_180708bf0(param_1,param_2,param_3,param_4,uVar3); if (local_res18[0] != 0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res20, "[%d] BIG_Convert_CompactSignature_To_StandardSignature error"); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_res18); local_res18[0] = 0x4f1; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res18); } return; } ############ FUN_ 1807405c0 size=203 ############ void FUN_1807405c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; char *pcVar2; int local_res18 [2]; char *local_res20; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; local_res18[0] = FUN_180709c10(); if (local_res18[0] != 0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res20, "[%d] BIG_Convert_StandardSignature_To_CompactSignature error",param_3, param_4,uVar3); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar3); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_res18); local_res18[0] = 0x518; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res18); } return; } ############ FUN_ 1807406a0 size=393 ############ void FUN_1807406a0(longlong param_1,undefined8 param_2,undefined8 param_3) { undefined8 uVar1; int iVar2; undefined8 *puVar3; char *pcVar4; longlong lVar5; undefined8 local_res8; char *local_res20; if (*(char *)(param_1 + 8) == '\0') { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Signer object has not been initialized"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; local_res8._4_4_ = 0; } else { local_res8 = puVar3; FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x117); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar1 = FUN_1805a21d0(puVar3[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar1,&local_res8); } FUN_18070ac10(param_3); iVar2 = FUN_180997870(param_1 + 0x10,0,param_2,param_3); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar2); if (iVar2 == 0) { return; } local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_res20,"[%d] ECC_GenerateKeyPair error"); } pcVar4 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar5 + 8),&local_res8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,299); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar1 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar1,&local_res8); } ############ FUN_ 1807442a6 size=1762 ############ /* WARNING: Instruction at (ram,0x000180744556) overlaps instruction at (ram,0x000180744555) */ /* WARNING: Removing unreachable block (ram,0x0001807448f9) */ /* WARNING: Removing unreachable block (ram,0x000180744394) */ /* WARNING: Removing unreachable block (ram,0x000180744555) */ /* WARNING: Removing unreachable block (ram,0x0001807443b6) */ ulonglong FUN_1807442a6(undefined8 param_1,undefined8 param_2,undefined8 param_3,ulonglong param_4, undefined8 param_5,undefined8 param_6,char *param_7) { longlong in_RAX; longlong lVar1; undefined8 *puVar2; undefined8 uVar3; ulonglong uVar4; uint uVar5; uint uVar6; uint uVar7; uint *puVar8; longlong lVar9; uint uVar10; longlong unaff_RBX; int unaff_ESI; uint unaff_EDI; longlong lVar11; uint *unaff_R12; longlong unaff_R13; ulonglong uVar12; undefined4 unaff_R14D; ulonglong unaff_R15; uint local_res20; uint in_stack_00000090; int in_stack_000000a0; undefined8 *in_stack_000000a8; uVar12 = unaff_R13 - in_RAX; uVar5 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } if (uVar5 != 0) { FUN_180745ea5(0xcc2c,param_2,param_3,(param_4 ^ 0xffffffffffffffff) + 1); uVar12 = FUN_1807442a6(); return uVar12; } uVar5 = unaff_EDI >> 0x1c ^ unaff_EDI << 4 ^ *(uint *)(unaff_RBX + 100); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x68); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x6c); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x70); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x74); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x78); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x7c); lVar1 = uVar12 + 0x10; lVar11 = CONCAT71((int7)((ulonglong)param_3 >> 8),1); in_stack_000000a0 = FUN_1809947d0(unaff_R14D,(unaff_R15 ^ 0x22007fe5 ^ uVar12) & 0xff); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x80); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x84); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x88); do { uVar6 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x8c); uVar5 = *(uint *)(unaff_RBX + 0x90) ^ uVar5 >> 0x1c ^ uVar5 << 4; if (in_stack_000000a0 == 0) { uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x94); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x98); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0x9c); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xa0); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xa4); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xa8); do { lVar1 = ~-lVar1 + 1; lVar11 = (-lVar11 ^ 0xffffffffffffffffU) + 1; uVar6 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xac); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xb0); do { uVar6 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xb4); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xb8); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xbc); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xc0); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xc4); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 200); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xcc); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xd0); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xd4); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xd8); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xdc); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xe0); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xe4); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xe8); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xec); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xf0); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xf4); uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)(unaff_RBX + 0xf8); uVar6 = (*(uint *)(unaff_RBX + 0xfc) ^ uVar5 >> 0x1c ^ uVar5 << 4) + 0xa03442fc; uVar5 = uVar6 >> 7; uVar10 = uVar6 * 0x2000000 | uVar5; uVar6 = (uVar10 >> 8 ^ uVar10) >> 5 & 0x7f; in_stack_000000a0 = 0; do { puVar8 = &stack0x00000090; FUN_180746648(puVar8,&stack0x00000090); uVar3 = rdtsc(); *puVar8 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); FUN_180746489(); uVar7 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); in_stack_00000090 = (in_stack_00000090 * -0x50284602 >> 0x18 ^ in_stack_00000090 * -0x50284602) * -0x51ca3d4e; if (in_stack_00000090 < 0x3d980f7) { do { uVar7 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = FUN_1813bba80(0,0x99f6); if (1 < uVar4) { lVar9 = *(longlong *)unaff_R12; puVar8 = unaff_R12; while (lVar9 != -0x3333333333333334) { puVar8[0] = 0; puVar8[1] = 0; puVar8 = puVar8 + 0x10; lVar9 = *(longlong *)puVar8; } } } *(undefined1 *)(uVar12 + 8) = 1; if (((local_res20 ^ (((uVar6 << 8 | uVar6) << 5 ^ uVar10) >> 3 | uVar5 << 0x1d) ^ 0xe8e82d51) * 5 & 0x7fffffff) != 0) { uVar12 = thunk_FUN_1805a9280(); return uVar12; } uVar3 = 0; do { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x18074488d; lVar9 = (longlong)unaff_ESI; FUN_180743371(); *(longlong *)((longlong)register0x00000020 + -8) = lVar1; *(undefined8 *)((longlong)register0x00000020 + -0x10) = uVar3; *(longlong *)((longlong)register0x00000020 + -0x18) = lVar11; lVar9 = -lVar9; lVar11 = *(longlong *)((longlong)register0x00000020 + lVar9 + 0x668); uVar3 = *(undefined8 *)((longlong)register0x00000020 + lVar9 + 0x670); lVar1 = *(longlong *)((longlong)register0x00000020 + lVar9 + 0x678); register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + lVar9 + 0x680); uVar5 = *unaff_R12; uVar6 = (uVar5 + 1) * uVar5 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); return (ulonglong)uVar5; } in_stack_000000a8 = (undefined8 *)FUN_1811316e0(0x18); if (in_stack_000000a8 == (undefined8 *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(in_stack_000000a8,"[%d] ECC_CURVE_InitializeCurve error"); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); in_stack_000000a8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),&stack0x000000a0); in_stack_000000a8 = (undefined8 *)CONCAT44(in_stack_000000a8._4_4_,0x177); param_7 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar3 = FUN_1805a21d0(puVar2[1],¶m_7); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&stack0x000000a8); } ############ FUN_ 180744a90 size=348 ############ undefined8 FUN_180744a90(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *puVar4; longlong lVar5; undefined8 *local_res8; char *local_res18 [2]; puVar4 = (undefined8 *)0x0; if (*(char *)(param_1 + 8) == '\0') { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Signer object has not been initialized"); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; puVar4 = puVar2; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x186); local_res18[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar3 = FUN_1805a21d0(puVar4[1],local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } iVar1 = FUN_180999f60(param_1 + 0x10,param_2,param_3,param_4,0xfffffffffffffffe); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar1); if (iVar1 != 0x6c) { if (iVar1 == 0) { return 1; } local_res18[0] = (char *)FUN_1811316e0(0x18); if (local_res18[0] != (char *)0x0) { puVar4 = (undefined8 *) FUN_1805a48c0(local_res18[0],"[%d] ECC_VerifyPublicKeyIsOnCurrentCurve error"); } lVar5 = FUN_1805c0260(); FUN_18060e760(puVar4[1],&local_res8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x19c); local_res18[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return 0; } ############ FUN_ 180744c10 size=409 ############ void FUN_180744c10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; int iVar2; undefined8 *puVar3; char *pcVar4; longlong lVar5; undefined8 local_res8; char *local_38; undefined8 local_30; local_30 = 0xfffffffffffffffe; if (*(char *)(param_1 + 8) == '\0') { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Signer object has not been initialized"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; local_res8._4_4_ = 0; } else { local_res8 = puVar3; FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1ac); local_38 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar1 = FUN_1805a21d0(puVar3[1],&local_38); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar1,&local_res8); } FUN_18070ac10(param_4); iVar2 = FUN_180998be0(param_1 + 0x10,param_2,param_3,param_4); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar2); if (iVar2 == 0) { return; } local_38 = (char *)FUN_1811316e0(0x18); if (local_38 == (char *)0x0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_38,"[%d] ECC_SignatureGenerate error"); } pcVar4 = (char *)FUN_1811316e0(0x18); local_38 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar5 + 8),&local_res8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1c0); local_38 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar1 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_38); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar1,&local_res8); } ############ FUN_ 180744dd0 size=437 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180744dd0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4, undefined8 *param_5) { void *pvVar1; void *pvVar2; char *pcVar3; undefined8 uVar4; undefined1 auStack_128 [32]; undefined4 local_108 [2]; char *local_100; undefined8 local_f8; undefined8 local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 local_c0; undefined1 local_b8 [56]; undefined1 local_80 [56]; ulonglong local_48; local_f8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_128; pvVar1 = (void *)*param_4; pvVar2 = (void *)param_4[1]; if ((pvVar1 != pvVar2) && (pvVar1 != pvVar2)) { memmove(pvVar1,pvVar2,0); param_4[1] = pvVar1; } pvVar1 = (void *)*param_5; pvVar2 = (void *)param_5[1]; if ((pvVar1 != pvVar2) && (pvVar1 != pvVar2)) { memmove(pvVar1,pvVar2,0); param_5[1] = pvVar1; } if ((char)param_1[1] != '\0') { (**(code **)(*param_1 + 0x90))(param_1,1,param_2,&local_f0); (**(code **)(*param_1 + 0x48))(param_1,&local_f0,param_3,local_b8); local_f0 = 0; local_e8 = 0; local_e0 = 0; local_d8 = 0; local_d0 = 0; local_c8 = 0; local_c0 = 0; FUN_18073c3a0(local_b8,param_4); FUN_18073c3a0(local_80,param_5); } local_100 = (char *)FUN_1811316e0(0x18); if (local_100 != (char *)0x0) { FUN_1805a48c0(local_100,"Signer object has not been initialized"); } pcVar3 = (char *)FUN_1811316e0(0x18); if (pcVar3 == (char *)0x0) { pcVar3 = (char *)0x0; } else { local_100 = pcVar3; FUN_1805a48c0(pcVar3,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar3 = pace::PaceLocationInfoFormatter::vftable; } local_108[0] = 0x1d0; local_100 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_100); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_108); } ############ FUN_ 180744fb0 size=708 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180744fb0(longlong param_1,undefined8 param_2,longlong param_3) { char *pcVar1; undefined8 uVar2; char *pcVar3; char *pcVar4; longlong lVar5; undefined1 auStack_f8 [32]; char local_d8 [8]; int local_d0 [2]; char *local_c8; undefined8 local_c0; undefined1 local_b8 [56]; undefined1 local_80 [56]; ulonglong local_48; local_c0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_f8; pcVar4 = (char *)0x0; if (*(char *)(param_1 + 8) == '\0') { local_c8 = (char *)FUN_1811316e0(0x18); if (local_c8 != (char *)0x0) { FUN_1805a48c0(local_c8,"Signer object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_c8 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar4 = pcVar1; } local_d0[0] = 0x1ed; local_c8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_c8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_d0); } FUN_18070ac10(local_b8); local_d0[0] = FUN_180997870(param_1 + 0x10,0,param_2,local_b8); if (local_d0[0] != 0) { local_c8 = (char *)FUN_1811316e0(0x18); pcVar1 = pcVar4; if (local_c8 != (char *)0x0) { pcVar1 = (char *)FUN_1805a48c0(local_c8,"[%d] ECC_GenerateKeyPair error"); } pcVar3 = (char *)FUN_1811316e0(0x18); local_c8 = pcVar3; if (pcVar3 != (char *)0x0) { FUN_1805a48c0(pcVar3,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar3 = pace::PaceLocationInfoFormatter::vftable; pcVar4 = pcVar3; } FUN_18060e760(*(undefined8 *)(pcVar1 + 8),local_d0); local_d0[0] = 0x201; local_c8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_c8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_d0); } local_d0[0] = FUN_180707e90(local_b8,param_3,local_d8); if (local_d0[0] != 0) { local_c8 = (char *)FUN_1811316e0(0x18); pcVar1 = pcVar4; if (local_c8 != (char *)0x0) { pcVar1 = (char *)FUN_1805a48c0(local_c8,"[%d] BIG_CompareBig error (X coordinate)"); } pcVar3 = (char *)FUN_1811316e0(0x18); local_c8 = pcVar3; if (pcVar3 != (char *)0x0) { FUN_1805a48c0(pcVar3,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar3 = pace::PaceLocationInfoFormatter::vftable; pcVar4 = pcVar3; } FUN_18060e760(*(undefined8 *)(pcVar1 + 8),local_d0); local_d0[0] = 0x210; local_c8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_c8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_d0); } if ((local_d8[0] == '\0') && (local_d0[0] = FUN_180707e90(local_80,param_3 + 0x38,local_d8), local_d0[0] != 0)) { local_c8 = (char *)FUN_1811316e0(0x18); if (local_c8 != (char *)0x0) { pcVar4 = (char *)FUN_1805a48c0(local_c8,"[%d] BIG_CompareBig error (Y coordinate)"); } lVar5 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pcVar4 + 8),local_d0); local_d0[0] = 0x221; local_c8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_c8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_d0); } } ############ FUN_ 180745340 size=323 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180745340(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; char *pcVar2; undefined8 uVar3; undefined1 auStack_198 [32]; int local_178 [2]; char *local_170; undefined8 local_168; undefined1 local_158 [112]; undefined1 local_e8 [64]; undefined1 local_a8 [112]; ulonglong local_38; local_168 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_198; FUN_18070ac10(local_158); local_178[0] = FUN_180708bf0(param_2,local_158); if (local_178[0] != 0) { local_170 = (char *)FUN_1811316e0(0x18); if (local_170 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_170,"[%d] ConvertBigPublicKey_CompactToStandard error"); } pcVar2 = (char *)FUN_1811316e0(0x18); local_170 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_178); local_178[0] = 0x498; local_170 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_170); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_178); } (**(code **)(*param_1 + 0x10))(param_1,param_3,local_e8); FUN_1807404d0(param_4,local_a8); (**(code **)(*param_1 + 0x80))(param_1,local_158,param_3,local_a8); } ############ FUN_ 1807454b0 size=2512 ############ /* WARNING: Removing unreachable block (ram,0x0001807459f1) */ /* WARNING: Removing unreachable block (ram,0x00018074561b) */ /* WARNING: Removing unreachable block (ram,0x00018074550e) */ /* WARNING: Removing unreachable block (ram,0x0001807454ee) */ /* WARNING: Removing unreachable block (ram,0x0001807455e6) */ /* WARNING: Removing unreachable block (ram,0x00018074581d) */ /* WARNING: Removing unreachable block (ram,0x000180745ee7) */ undefined8 FUN_1807454b0(ulonglong param_1,undefined8 param_2,undefined8 param_3) { undefined1 *puVar1; undefined4 *puVar2; undefined8 *puVar3; undefined8 uVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; uint uVar8; uint uVar9; uint uVar10; int iVar11; undefined1 *puVar12; longlong lVar13; ulonglong uVar14; uint uVar15; bool bVar16; uint unaff_retaddr; undefined1 auStack_b8 [32]; undefined *local_98; undefined4 local_90; uint local_88; undefined8 local_80; undefined4 local_78 [2]; undefined8 local_70; undefined8 *local_68; char *local_60; undefined8 local_58; local_58 = 0xfffffffffffffffe; uVar15 = (uint)&stack0x00000000; iVar11 = (uVar15 & 0x39ff) * (uVar15 & 0x39ff) + 1; uVar9 = iVar11 * 0x24924924 + (iVar11 >> 4) + (iVar11 >> 1) >> 0x1d; uVar9 = (int)(uVar9 - 7) >> 0x1f & uVar9; uVar8 = uVar15 & 0x3bf; iVar11 = (uVar8 + 2) * (uVar8 + 1) * uVar8; uVar8 = ((uVar15 & 0x18ff) * (uVar15 & 0x18ff) * 0x10 + 4) % 0x13 << ((byte)(((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e) & 0x1f); uVar14 = (ulonglong) ((((int)(-uVar9 | uVar9) >> 0x1f) * -0x1048 | 0xb14aU) ^ ((int)(-uVar8 | uVar8) >> 0x1f) * -0xa14a); local_70 = 0x100; puVar2 = &DAT_1811a2c58; local_98 = &DAT_1811a2d58; local_80 = 0xae272840ced9d845; local_88 = 0xced9d845; uVar9 = (DAT_1811a2c58 + 0x5effd658) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c5c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c60) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c64) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c68) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c6c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c70) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c74) * 0x401; do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar9 = (DAT_1811a2c78 + (uVar9 ^ uVar9 >> 6)) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c7c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c80) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c84) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c88) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c8c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c90) * 0x401; puVar7 = (undefined8 *)0x0; if (*(char *)(param_1 + 8) == '\0') { local_68 = (undefined8 *)FUN_1811316e0(0x18); if (local_68 != (undefined8 *)0x0) { FUN_1805a48c0(local_68,"Signer object has not been initialized"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_68 = puVar3; if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; puVar7 = puVar3; } local_78[0] = 0x249; local_60 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = FUN_1805a21d0(puVar7[1],&local_60); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_78); } uVar9 = (DAT_1811a2c94 + (uVar9 ^ uVar9 >> 6)) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c98) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2c9c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2ca0) * 0x401; uVar9 = uVar9 ^ uVar9 >> 6; bVar16 = uVar9 == 0; uVar8 = uVar9; do { if (!bVar16 && -1 < (int)uVar9) { uVar8 = -(~uVar8 + 1); } uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } bVar16 = uVar9 == 0; } while (!bVar16); local_90 = FUN_180998f60(param_1 + 0x10,param_2); uVar9 = (DAT_1811a2ca4 + uVar8) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2ca8) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cac) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cb0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cb4) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cb8) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cbc) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cc0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cc4) * 0x401; do { uVar14 = ~(~uVar14 + 1) + 1; param_1 = (~param_1 + 1 ^ 0xffffffffffffffff) + 1; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar9 = (DAT_1811a2cc8 + (uVar9 ^ uVar9 >> 6)) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2ccc) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cd0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cd4) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cd8) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cdc) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2ce0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2ce4) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2ce8) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cec) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cf0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cf4) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cf8) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2cfc) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d00) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d04) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d08) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d0c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d10) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d14) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d18) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d1c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d20) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d24) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d28) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d2c) * 0x401; uVar15 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d30) * 0x401; uVar8 = uVar15 >> 6; uVar9 = uVar8; do { uVar6 = (ulonglong)uVar9; lVar13 = param_1 + uVar6; if (SCARRY8(param_1,uVar6) == lVar13 < 0) { lVar5 = lVar13 + uVar6; lVar13 = (uVar6 - lVar5 ^ 0xffffffffffffffff) + 1; uVar6 = lVar5 - lVar13; } param_1 = lVar13 - uVar6; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } uVar9 = unaff_retaddr; } while (uVar10 != 0); uVar9 = (DAT_1811a2d34 + (uVar15 ^ uVar8)) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d38) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d3c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d40) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d44) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d48) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d4c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d50) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1811a2d54) * 0x401; uVar9 = uVar9 >> 6 ^ uVar9; uVar8 = uVar9 << 0x18 | uVar9 >> 8; uVar8 = (uVar8 << 4 | (uVar9 & 0xff) >> 4) & 0xd2d2d2d2 | (uVar8 >> 4 | (uVar9 >> 8) << 0x1c) & 0x2d2d2d2d; uVar6 = (ulonglong)uVar8; uVar9 = (uVar8 >> 3 ^ uVar8) >> 0x10 & 1; uVar9 = (uVar9 * 8 | uVar9) << 0x10 ^ uVar8; uVar8 = uVar9 << 8 | uVar8 >> 0x18; uVar9 = ((uVar9 & 0xffffff) >> 7 ^ uVar8) >> 8 & 0x1ff; uVar8 = uVar8 ^ (uVar9 << 0xf | uVar9) << 8; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); if ((uVar8 << 0x17 | uVar8 >> 9) != local_88) { puVar1 = auStack_b8; do { puVar12 = puVar1; *(undefined **)(puVar12 + -8) = &UNK_180745f48; lVar13 = 0xea0; FUN_180745ea5(0xea0,uVar6); *(ulonglong *)(puVar12 + -8) = uVar14; *(undefined4 **)(puVar12 + -0x10) = puVar2; *(undefined8 *)(puVar12 + -0x18) = param_3; lVar13 = -lVar13; param_3 = *(undefined8 *)(puVar12 + lVar13 + 0xe88); puVar2 = *(undefined4 **)(puVar12 + lVar13 + 0xe90); uVar14 = *(ulonglong *)(puVar12 + lVar13 + 0xe98); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } puVar1 = puVar12 + lVar13 + 0xea0; } while (uVar9 != 0); if (*(int *)(puVar12 + lVar13 + 0xec8) == 0x6a) { uVar4 = 0; } else { if (*(int *)(puVar12 + lVar13 + 0xec8) != 0) { *(undefined **)(puVar12 + lVar13 + 0xe98) = &UNK_180746020; lVar5 = FUN_1811316e0(0x18); *(longlong *)(puVar12 + lVar13 + 0xf60) = lVar5; if (lVar5 != 0) { *(undefined8 *)(puVar12 + lVar13 + 0xe98) = 0x18074603c; puVar7 = (undefined8 *)FUN_1805a48c0(lVar5,"[%d] ECC_SignatureVerify error"); } *(undefined8 *)(puVar12 + lVar13 + 0xe98) = 0x180746044; lVar5 = FUN_1805c0260(); uVar4 = puVar7[1]; *(undefined8 *)(puVar12 + lVar13 + 0xe98) = 0x180746055; FUN_18060e760(uVar4,puVar12 + lVar13 + 0xec8); *(undefined4 *)(puVar12 + lVar13 + 0xed0) = 0x261; *(char **)(puVar12 + lVar13 + 0xef0) = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\signer.cpp"; uVar4 = *(undefined8 *)(lVar5 + 8); *(undefined8 *)(puVar12 + lVar13 + 0xe98) = 0x180746077; uVar4 = FUN_1805a21d0(uVar4,puVar12 + lVar13 + 0xef0); /* WARNING: Subroutine does not return */ *(undefined **)(puVar12 + lVar13 + 0xe98) = &UNK_180746084; FUN_1805b20d0(uVar4,puVar12 + lVar13 + 0xed0); } uVar4 = 1; } return uVar4; } uVar4 = thunk_FUN_1805a9280((longlong)(int)uVar14,uVar6,param_3,thunk_FUN_1805a9280); return uVar4; } ############ FUN_ 18077acc0 size=63 ############ void FUN_18077acc0(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x200); *puVar1 = *param_1; puVar1[1] = *param_1; puVar1[2] = *param_1; return; } ############ FUN_ 180751290 size=549 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180751290(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { char *pcVar1; undefined8 uVar2; void *_Memory; undefined1 auStack_2c8 [32]; undefined8 local_2a8; void **local_2a0; undefined4 local_298 [2]; char *local_290; void *local_288; undefined8 uStack_280; longlong local_278; undefined **local_268; undefined **local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined4 local_240; undefined2 local_23c; undefined1 local_23a; undefined **local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined4 local_218; undefined2 local_214; undefined1 local_212; undefined4 local_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined1 local_1d4; undefined8 local_1c8; undefined1 local_1b8 [352]; ulonglong local_58; local_1c8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_2c8; local_268 = pace::eden::thrift::ilok::CommandPacket::vftable; local_260 = pace::eden::thrift::ilok::CommandTarget::vftable; local_258 = 0; local_250 = 0; local_248 = 0; local_240 = 0; local_23c = 0; local_23a = 0; local_238 = pace::eden::thrift::ilok::CommandTarget::vftable; local_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; local_214 = 0; local_212 = 0; local_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; local_1d4 = 0; FUN_180750800(local_1b8); local_288 = (void *)0x0; uStack_280 = 0; local_278 = 0; if (param_1[5] == 0) { local_290 = (char *)FUN_1811316e0(0x18); if (local_290 != (char *)0x0) { FUN_1805a48c0(local_290,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_290 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_298[0] = 0x956; local_290 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_290); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_298); } (**(code **)(*param_1 + 0x160))(param_1,param_2,param_3,&local_268); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_268,local_1b8); local_2a0 = &local_288; local_2a8 = param_4; (**(code **)(*param_1 + 0x250))(param_1,local_1b8,0,0); (**(code **)(*param_1 + 0x168))(param_1,param_4,&local_288,param_5); if (local_288 == (void *)0x0) { FUN_180750cf0(local_1b8); FUN_180750a50(&local_268); } _Memory = local_288; if ((0xfff < (ulonglong)(local_278 - (longlong)local_288)) && (_Memory = *(void **)((longlong)local_288 + -8), 0x1f < (ulonglong)((longlong)local_288 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1807514f0 size=577 ############ void FUN_1807514f0(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong param_4) { longlong lVar1; char *pcVar2; undefined8 uVar3; int local_res8 [2]; char *local_res10; char *local_res18; undefined1 local_78 [24]; undefined8 local_60; undefined8 uStack_58; undefined4 local_50; undefined4 uStack_4c; undefined4 uStack_48; undefined4 uStack_44; undefined8 local_40; (**(code **)(*param_1 + 0x2a0))(param_1,local_78,param_4,0x38,0); local_60 = *param_2; uStack_58 = param_2[1]; local_50 = *(undefined4 *)(param_2 + 2); uStack_4c = *(undefined4 *)((longlong)param_2 + 0x14); uStack_48 = *(undefined4 *)(param_2 + 3); uStack_44 = *(undefined4 *)((longlong)param_2 + 0x1c); local_40 = param_2[4]; local_res8[0] = (int)(param_3[1] - *param_3); if ((local_res8[0] - 1U < 0x1010) && ((param_3[1] - *param_3 & 0xfU) == 0)) { if (local_res8[0] != (int)local_40) { local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res10, "The AuthEx Program vector size (%d) does not match the stated size (%d) in the command frame." ); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res10 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_res8); FUN_18060e760(*(undefined8 *)(lVar1 + 8),&local_40); local_res8[0] = 0x99a; local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res8); } FUN_1805b1a40(param_4 + 0x78,*param_3,param_3[1]); *(undefined1 *)(param_4 + 0x28) = 1; (**(code **)(*param_1 + 0x290))(param_1,0x40,local_78,param_4,1); return; } local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res10,"The AuthEx Program vector size (%d) is not valid."); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res10 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_res8); local_res10 = (char *)CONCAT44(local_res10._4_4_,0x992); local_res18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res10); } ############ FUN_ 180751760 size=575 ############ void FUN_180751760(undefined8 param_1,uint *param_2,longlong *param_3,undefined8 *param_4) { char *pcVar1; char *pcVar2; undefined8 uVar3; char *pcVar4; longlong lVar5; uint uVar6; ulonglong uVar7; char *local_res18; char *local_38; undefined8 local_30; local_30 = 0xfffffffffffffffe; uVar7 = param_3[1] - *param_3; uVar6 = (uint)uVar7; local_res18 = (char *)CONCAT44(local_res18._4_4_,uVar6); pcVar4 = (char *)0x0; if (0x1014 < uVar6) { local_38 = (char *)FUN_1811316e0(0x18); pcVar1 = pcVar4; if (local_38 != (char *)0x0) { pcVar1 = (char *)FUN_1805a48c0(local_38, "ExtraRsltDataSize (%d) is too large for the AuthEx command"); } pcVar2 = (char *)FUN_1811316e0(0x18); local_38 = pcVar2; if (pcVar2 != (char *)0x0) { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; pcVar4 = pcVar2; } FUN_18060e760(*(undefined8 *)(pcVar1 + 8),&local_res18); local_res18 = (char *)CONCAT44(local_res18._4_4_,0x9cc); local_38 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_38); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res18); } if (uVar6 == 0) { param_4[1] = *param_4; if (*param_2 != 0) { local_res18 = (char *)FUN_1811316e0(0x18); if (local_res18 != (char *)0x0) { pcVar4 = (char *)FUN_1805a48c0(local_res18, "No AuthEx Program was returned, but %d bytes was specified") ; } lVar5 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pcVar4 + 8),param_2); local_res18 = (char *)CONCAT44(local_res18._4_4_,0x9d6); local_38 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_38); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res18); } } else { uVar6 = *param_2; if (((uVar6 == 0) || ((uVar7 & 0xffffffff) - 4 < (ulonglong)uVar6)) || ((uVar6 & 0xf) != 0)) { local_res18 = (char *)FUN_1811316e0(0x18); pcVar1 = pcVar4; if (local_res18 != (char *)0x0) { pcVar1 = (char *)FUN_1805a48c0(local_res18, "The AuthEx Program vector size (%d) is not valid."); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res18 = pcVar2; if (pcVar2 != (char *)0x0) { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; pcVar4 = pcVar2; } FUN_18060e760(*(undefined8 *)(pcVar1 + 8),param_2); local_res18 = (char *)CONCAT44(local_res18._4_4_,0x9e2); local_38 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_38); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res18); } FUN_1805e1990(param_4,*param_3,(ulonglong)*param_2 + *param_3,uVar7 & 0xff); } return; } ############ FUN_ 1807519e0 size=1290 ############ void FUN_1807519e0(undefined8 param_1,undefined4 param_2,longlong param_3,longlong *param_4, longlong *param_5) { undefined4 *puVar1; longlong *plVar2; int iVar3; char *pcVar4; undefined8 uVar5; longlong lVar6; undefined8 *puVar7; void *_Memory; char *local_res18; char *local_res20; void *local_2e8; undefined8 uStack_2e0; longlong local_2d8; undefined1 local_2c8 [4]; undefined1 local_2c4 [4]; int local_2c0; undefined4 local_29c; undefined4 uStack_298; undefined4 uStack_294; undefined4 uStack_290; undefined4 local_28c; undefined8 local_288; undefined1 local_278 [576]; local_288 = 0xfffffffffffffffe; local_2e8 = (void *)0x0; uStack_2e0 = 0; local_2d8 = 0; if (param_4[1] - *param_4 != 0x14) { local_res18 = (char *)FUN_1811316e0(0x18); if (local_res18 != (char *)0x0) { FUN_1805a48c0(local_res18,"The machine bindings hash is the wrong size"); } pcVar4 = (char *)FUN_1811316e0(0x18); local_res18 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (char *)CONCAT44(local_res18._4_4_,0xcbc); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res18); } FUN_18077e390(param_2,&local_2e8); FUN_18063c260(local_278,0x1f,1,0,&local_2e8); local_res18 = (char *)(*(longlong *)(param_3 + 0x68) - *(longlong *)(param_3 + 0x60)); if (local_res18 != (char *)0x40) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res20,"Bad command frame size = %d "); } pcVar4 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805b2520(*(undefined8 *)(lVar6 + 8),&local_res18); local_res18 = (char *)CONCAT44(local_res18._4_4_,0xcd0); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res18); } memcpy(local_2c8,*(void **)(param_3 + 0x60),0x40); FUN_18063cd40(local_278,0x40,local_2c8); iVar3 = FUN_18061e5a0(local_2c4,0xf,1,local_2c8); plVar2 = param_5; local_res18 = (char *)CONCAT44(local_res18._4_4_,iVar3); if (iVar3 != 0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res20, "[%d] UTILS_CRC32 error checking the CRC of the command frame"); } pcVar4 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar6 + 8),&local_res18); local_res18 = (char *)CONCAT44(local_res18._4_4_,0xce3); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res18); } if (local_2c0 == 1) { FUN_1805b0f50(param_5,0x14,param_5); puVar7 = (undefined8 *)*plVar2; *puVar7 = CONCAT44(uStack_298,local_29c); puVar7[1] = CONCAT44(uStack_290,uStack_294); *(undefined4 *)(puVar7 + 2) = local_28c; puVar1 = (undefined4 *)*param_4; local_29c = *puVar1; uStack_298 = puVar1[1]; uStack_294 = puVar1[2]; uStack_290 = puVar1[3]; local_28c = puVar1[4]; iVar3 = FUN_18061e5a0(local_2c4,0xf,0,local_2c8); local_res18 = (char *)CONCAT44(local_res18._4_4_,iVar3); if (iVar3 != 0) { param_5 = (longlong *)FUN_1811316e0(0x18); if (param_5 == (longlong *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(param_5,"[%d] UTILS_CRC32 error updating the CRC of the command frame" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); param_5 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar6 + 8),&local_res18); param_5 = (longlong *)CONCAT44(param_5._4_4_,0xd0f); local_res18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar5 = FUN_1805a21d0(puVar7[1],&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,¶m_5); } FUN_18063f570(local_278,1,0); FUN_18063dc90(local_278,0x40,local_2c8); memcpy(*(void **)(param_3 + 0x60),local_2c8,0x40); FUN_18063cad0(local_278); if (local_2e8 == (void *)0x0) { return; } _Memory = local_2e8; if ((0xfff < (ulonglong)(local_2d8 - (longlong)local_2e8)) && (_Memory = *(void **)((longlong)local_2e8 + -8), 0x1f < (ulonglong)((longlong)local_2e8 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 == (char *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res20,"The command ID (0x%X) is not the ID for OpenConnection"); } pcVar4 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar6 + 8),&local_res18); local_res18 = (char *)CONCAT44(local_res18._4_4_,0xced); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res18); } ############ FUN_ 180751f40 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180751f40(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0x717; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0x108))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180753000 size=1413 ############ /* WARNING: Removing unreachable block (ram,0x0001807530bc) */ longlong FUN_180753000(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; undefined1 auStack_2d8 [48]; uint local_2a8; undefined4 uStack_2a4; undefined *local_2a0; undefined4 local_290 [2]; uint local_288; char *local_280; undefined8 local_278; undefined8 local_270; undefined8 uStack_268; undefined8 local_260; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2d8; uVar4 = (uint)&stack0x00000000 & 0x36ff; uVar4 = (uVar4 * uVar4 + 1) % 7; local_288 = ((int)(-uVar4 | uVar4) >> 0x1f) * -0x23e2 ^ 0x26d2; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; local_278 = param_3; FUN_180750800(local_1a8); local_270 = 0; uStack_268 = 0; local_260 = 0; local_2a0 = &UNK_1814722d4; uVar4 = (((uint)(DAT_1814721d4 * 0x401) >> 6 ^ DAT_1814721d4 * 0x401) + DAT_1814721d8) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + DAT_1814721dc) * 0x401; _local_2a8 = CONCAT44(1,uVar4 ^ uVar4 >> 6); if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_290[0] = 0x13e; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_290); } (**(code **)(*param_1 + 0x20))(param_1,param_2,&local_258); uVar3 = FUN_1807537a5(); return -(~uVar3 + 1); } ############ FUN_ 1807553a0 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807553a0(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0x9f6; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0x178))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180755650 size=208 ############ bool FUN_180755650(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res8; char *local_res10; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (*(char *)(param_1 + 0x3e4) != '\0') { return *(uint *)(param_1 + 0x3b4) < 100; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"The connection has not been opened yet",param_3,param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xd37); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res8); } ############ FUN_ 180755730 size=209 ############ bool FUN_180755730(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined8 *local_res8; char *local_res10; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)0x0; if (*(char *)(param_1 + 0x3e4) != '\0') { return *(int *)(param_1 + 0x3b4) - 100U < 100; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"The connection has not been opened yet",param_3,param_4,uVar3); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar1; if (puVar1 != (undefined8 *)0x0) { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar3); *puVar1 = pace::PaceLocationInfoFormatter::vftable; puVar2 = puVar1; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xd47); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } ############ FUN_ 180755820 size=970 ############ /* WARNING: Removing unreachable block (ram,0x000180755918) */ /* WARNING: Removing unreachable block (ram,0x0001807558ff) */ /* WARNING: Removing unreachable block (ram,0x00018075597b) */ /* WARNING: Removing unreachable block (ram,0x000180755987) */ undefined1 FUN_180755820(longlong param_1) { undefined1 uVar1; undefined8 *puVar2; undefined8 uVar3; undefined2 uVar4; uint uVar5; undefined8 in_stack_00000028; undefined8 in_stack_00000030; undefined8 in_stack_00000038; undefined8 in_stack_00000040; undefined1 auStack_338 [48]; undefined4 local_308; undefined8 local_300; uint local_2f8; undefined *local_2f0; undefined4 local_2e8; undefined8 local_2e0; undefined4 *local_2d8; undefined4 local_2d0 [2]; longlong local_2c8; undefined8 *local_2c0; undefined8 local_2b8; undefined8 local_2b0; undefined8 local_2a8; undefined8 local_2a0; undefined8 uStack_298; undefined8 local_290; char *local_288; undefined8 local_280; undefined **local_278; undefined **local_270; undefined8 local_268; undefined8 local_260; undefined8 local_258; undefined4 local_250; undefined2 local_24c; undefined1 local_24a; undefined **local_248; undefined8 local_240; undefined8 local_238; undefined8 uStack_230; undefined4 local_228; undefined2 local_224; undefined1 local_222; undefined4 local_220; undefined8 local_218; undefined8 uStack_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined4 local_1e8; undefined1 local_1e4; undefined8 local_1d8; undefined1 local_1c8 [376]; ulonglong local_50; local_1d8 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_338; local_280 = in_stack_00000028; local_2a8 = in_stack_00000030; local_2b0 = in_stack_00000038; local_2b8 = in_stack_00000040; uVar5 = (uint)&stack0x00000000 & 0xdff; uVar5 = ((uVar5 + 1) * uVar5 + 7) % 0x51; uVar5 = (int)(-uVar5 | uVar5) >> 0x1f; local_2f8 = (int)(-uVar5 | uVar5) >> 0x1f & 0xacabU ^ 0xac7b; local_2e8 = 0x370; local_278 = pace::eden::thrift::ilok::CommandPacket::vftable; local_270 = pace::eden::thrift::ilok::CommandTarget::vftable; local_268 = 0; local_260 = 0; local_258 = 0; local_250 = 0; local_24c = 0; local_24a = 0; local_248 = pace::eden::thrift::ilok::CommandTarget::vftable; local_240 = 0; local_238 = 0; uStack_230 = 0; local_228 = 0; local_224 = 0; local_222 = 0; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; local_1e4 = 0; local_2c8 = param_1; FUN_180750800(local_1c8); local_2a0 = 0; uStack_298 = 0; local_290 = 0; if (*(longlong *)(param_1 + 0x28) != 0) { local_308 = 0x811c9dc5; uVar4 = 0; local_2e0 = 0; local_2d8 = &DAT_1826dc0fc; local_2f0 = &DAT_1826dc200; local_300 = 0x352adc654542918a; FUN_180753ead(); /* WARNING: Call to offcut address within same function */ func_0x000180755bfd(); uVar1 = in(uVar4); return uVar1; } local_2c0 = (undefined8 *)FUN_1811316e0(0x18); if (local_2c0 != (undefined8 *)0x0) { FUN_1805a48c0(local_2c0,"ILok conduit not set"); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_2c0 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_2d0[0] = 0xa7d; local_288 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(puVar2[1],&local_288); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_2d0); } ############ FUN_ 1807585e0 size=531 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807585e0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2c8 [32]; undefined8 local_2a8; void **local_2a0; undefined4 local_298 [2]; char *local_290; void *local_288; undefined8 uStack_280; longlong local_278; undefined **local_268; undefined **local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined4 local_240; undefined2 local_23c; undefined1 local_23a; undefined **local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined4 local_218; undefined2 local_214; undefined1 local_212; undefined4 local_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined1 local_1d4; undefined8 local_1c8; undefined1 local_1b8 [352]; ulonglong local_58; local_1c8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_2c8; local_268 = pace::eden::thrift::ilok::CommandPacket::vftable; local_260 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_258 = 0; local_250 = 0; local_248 = 0; local_240 = 0; local_23c = 0; local_23a = 0; local_238 = pace::eden::thrift::ilok::CommandTarget::vftable; local_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; local_214 = 0; local_212 = 0; local_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; local_1d4 = 0; FUN_180750800(local_1b8); local_288 = (void *)0x0; uStack_280 = 0; local_278 = 0; if (param_1[5] == 0) { local_290 = (char *)FUN_1811316e0(0x18); if (local_290 != (char *)0x0) { FUN_1805a48c0(local_290,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_290 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_298[0] = 0x843; local_290 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_290); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_298); } (**(code **)(*param_1 + 0x138))(param_1,param_2,param_3,&local_268); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_268,local_1b8); local_2a0 = &local_288; local_2a8 = param_4; (**(code **)(*param_1 + 0x250))(param_1,local_1b8,0,0); if (local_288 == (void *)0x0) { FUN_180750cf0(local_1b8); FUN_180750a50(&local_268); } _Memory = local_288; if ((0xfff < (ulonglong)(local_278 - (longlong)local_288)) && (_Memory = *(void **)((longlong)local_288 + -8), 0x1f < (ulonglong)((longlong)local_288 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180758830 size=355 ############ void FUN_180758830(longlong *param_1,undefined4 *param_2,undefined8 *param_3,longlong param_4) { longlong lVar1; char *pcVar2; undefined8 uVar3; int local_res8 [2]; char *local_res10; undefined1 local_58 [24]; undefined4 local_40; undefined4 uStack_3c; undefined4 uStack_38; undefined4 uStack_34; undefined4 local_30; undefined4 uStack_2c; undefined4 uStack_28; undefined4 uStack_24; (**(code **)(*param_1 + 0x2a0))(param_1,local_58,param_4,0x19,0); local_40 = *param_2; uStack_3c = param_2[1]; uStack_38 = param_2[2]; uStack_34 = param_2[3]; local_30 = param_2[4]; uStack_2c = param_2[5]; uStack_28 = param_2[6]; uStack_24 = param_2[7]; local_res8[0] = (int)param_3[1] - (int)*param_3; if (local_res8[0] != 0x10) { local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res10,"Bad size (%d) of in_vDataToDecrypt"); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res10 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_res8); local_res8[0] = 0x884; local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res8); } FUN_1805b1a40(param_4 + 0x78,*param_3,param_3[1]); (**(code **)(*param_1 + 0x290))(param_1,0x40,local_58,param_4,1); return; } ############ FUN_ 1807589b0 size=1107 ############ /* WARNING: Control flow encountered bad instruction data */ void FUN_1807589b0(longlong param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; uint uVar3; int unaff_retaddr; undefined1 auStack_2f8 [48]; undefined8 local_2c8; undefined4 local_2b8 [4]; undefined8 local_2a8; undefined8 local_2a0; char *local_290; undefined8 local_288; undefined8 local_280; undefined8 local_278; undefined8 uStack_270; undefined8 local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2f8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; local_288 = param_2; local_280 = param_3; FUN_180750800(local_1a8); local_278 = 0; uStack_270 = 0; local_268 = 0; local_2a0 = 0x181500cec; local_2c8 = 0x181500dec; local_2a8 = 0xeaa94963; do { FUN_18075ab9d(0xff08); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); if (*(longlong *)(param_1 + 0x28) != 0) { local_288 = 0x493427c5dd5b449; local_2b8[0] = 0x5dd5b449; FUN_180758e22(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } local_290 = (char *)FUN_1811316e0(0x18); if (local_290 != (char *)0x0) { FUN_1805a48c0(local_290,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_290 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_2b8[0] = 0x757; local_290 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_290); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_2b8); } ############ FUN_ 18075b300 size=161 ############ void FUN_18075b300(void) { char *pcVar1; undefined8 uVar2; undefined4 local_28 [2]; char *local_20; undefined8 local_18; local_18 = 0xfffffffffffffffe; local_20 = (char *)FUN_1811316e0(0x18); if (local_20 != (char *)0x0) { FUN_1805a48c0(local_20, "Need at least a Sarducci subclass to execute EncryptDecryptSerializationData"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_20 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_28[0] = 0xde7; local_20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_28); } ############ FUN_ 18075b3c0 size=1499 ############ /* WARNING: Removing unreachable block (ram,0x00018075b423) */ void FUN_18075b3c0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; undefined8 uVar2; uint uVar3; longlong lVar4; int iVar5; char *pcVar6; longlong lVar7; int unaff_retaddr; undefined1 auStack_2f8 [48]; undefined1 *local_2c8; undefined4 local_2c0 [2]; undefined4 *local_2b8; undefined4 local_2b0; char *local_2a8; undefined8 local_2a0; undefined8 local_298; undefined8 local_290; undefined8 uStack_288; undefined8 local_280; undefined8 local_278; undefined **local_268; undefined **local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined4 local_240; undefined2 local_23c; undefined1 local_23a; undefined **local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined4 local_218; undefined2 local_214; undefined1 local_212; undefined4 local_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined1 local_1d4; undefined8 local_1c8; undefined1 local_1b8 [352]; ulonglong local_58; local_1c8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_2f8; local_2b0 = 0x680; pcVar6 = (char *)0x0; lVar7 = 0xbb0; local_268 = pace::eden::thrift::ilok::CommandPacket::vftable; local_260 = pace::eden::thrift::ilok::CommandTarget::vftable; local_258 = 0; local_250 = 0; local_248 = 0; local_240 = 0; local_23c = 0; local_23a = 0; local_238 = pace::eden::thrift::ilok::CommandTarget::vftable; local_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; local_214 = 0; local_212 = 0; local_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; local_1d4 = 0; local_2a0 = param_3; local_298 = param_4; local_278 = param_2; FUN_180750800(local_1b8); local_290 = 0; uStack_288 = 0; local_280 = 0; lVar4 = 0x393a; local_2b8 = &DAT_1815a172c; local_2c8 = &LAB_1815a182c; if (param_1[5] != 0) { local_2c8 = (undefined1 *)0x73b309ff804050d4; local_2c0[0] = 0x804050d4; iVar5 = (DAT_1815a172c * 0x25 + DAT_1815a1730) * 0x25 + DAT_1815a1734; do { FUN_18075a750(0xf410,lVar4); lVar4 = lVar4 + lVar7; lVar7 = (-lVar7 ^ 0xffffffffffffffffU) + 1; lVar4 = lVar4 - lVar7; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); iVar5 = ((((((((((((((((iVar5 * 0x25 + DAT_1815a1738) * 0x25 + DAT_1815a173c) * 0x25 + DAT_1815a1740) * 0x25 + DAT_1815a1744) * 0x25 + DAT_1815a1748) * 0x25 + DAT_1815a174c) * 0x25 + DAT_1815a1750) * 0x25 + DAT_1815a1754) * 0x25 + DAT_1815a1758) * 0x25 + DAT_1815a175c) * 0x25 + DAT_1815a1760) * 0x25 + DAT_1815a1764) * 0x25 + DAT_1815a1768) * 0x25 + DAT_1815a176c) * 0x25 + DAT_1815a1770) * 0x25 + DAT_1815a1774) * 0x25 + DAT_1815a1778; do { FUN_18075cbed(0xf410); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); (**(code **)(*param_1 + 0xb0))(param_1,local_278,&local_268); iVar5 = ((((((iVar5 * 0x25 + DAT_1815a177c) * 0x25 + DAT_1815a1780) * 0x25 + DAT_1815a1784) * 0x25 + DAT_1815a1788) * 0x25 + DAT_1815a178c) * 0x25 + DAT_1815a1790) * 0x25 + DAT_1815a1794; (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_268,local_1b8); (*(code *)0x18077d839) ((((iVar5 * 0x25 + DAT_1815a1798) * 0x25 + DAT_1815a179c) * 0x25 + DAT_1815a17a0) * 0x25 + DAT_1815a17a4); return; } local_2a8 = (char *)FUN_1811316e0(0x18); if (local_2a8 != (char *)0x0) { FUN_1805a48c0(local_2a8,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_2a8 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar6 = pcVar1; } local_2c0[0] = 0x562; local_2a8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),&local_2a8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_2c0); } ############ FUN_ 18075ea60 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18075ea60(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0x62f; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0xd8))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18075f403 size=891 ############ /* WARNING: Instruction at (ram,0x00018075f7ea) overlaps instruction at (ram,0x00018075f7e7) */ /* WARNING: Removing unreachable block (ram,0x00018075f4af) */ /* WARNING: Removing unreachable block (ram,0x00018075f4b5) */ /* WARNING: Removing unreachable block (ram,0x00018075f4bc) */ longlong FUN_18075f403(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,uint param_6) { undefined8 *puVar1; undefined8 uVar2; longlong lVar3; int *piVar4; uint uVar5; uint uVar6; ulonglong uVar7; longlong unaff_RBX; longlong unaff_RBP; int *unaff_RDI; ulonglong in_R10; undefined8 in_R11; ulonglong unaff_R13; longlong unaff_R14; bool bVar8; char cVar9; undefined4 in_stack_00000060; char *in_stack_00000068; uVar5 = (*unaff_RDI + 1) * *unaff_RDI & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } if (uVar5 != 0) { lVar3 = FUN_18075f3ae(0xf804,unaff_RBX + 0x70,¶m_6); return lVar3; } do { uVar5 = (*(int *)(unaff_RBP + 0x1f8) + 1) * *(int *)(unaff_RBP + 0x1f8) & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); param_6 = (*(uint *)(unaff_RBX + 0xc0) ^ (*(uint *)(unaff_RBX + 0xbc) ^ (*(uint *)(unaff_RBX + 0xb8) ^ (*(uint *)(unaff_RBX + 0xb4) ^ (*(uint *)(unaff_RBX + 0xb0) ^ (*(uint *)(unaff_RBX + 0xac) ^ (*(uint *)(unaff_RBX + 0xa8) ^ (*(uint *)(unaff_RBX + 0xa4) ^ (*(uint *)(unaff_RBX + 0xa0) ^ (*(uint *)(unaff_RBX + 0x9c) ^ (*(uint *)(unaff_RBX + 0x98) ^ (*(uint *)(unaff_RBX + 0x94) ^ (*(uint *)(unaff_RBX + 0x90) ^ (*(uint *)(unaff_RBX + 0x8c) ^ (*(uint *)(unaff_RBX + 0x88) ^ (*(uint *)(unaff_RBX + 0x84) ^ (*(uint *)(unaff_RBX + 0x80) ^ (*(uint *)(unaff_RBX + 0x7c) ^ (*(uint *)(unaff_RBX + 0x78) ^ (*(uint *)(unaff_RBX + 0x74) ^ param_6 * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7; if (*(longlong *)(unaff_R14 + 0x28) == 0) { in_stack_00000068 = (char *)FUN_1811316e0(0x18,param_2,param_3); if (in_stack_00000068 != (char *)0x0) { FUN_1805a48c0(in_stack_00000068,"ILok conduit not set"); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { in_stack_00000068 = (char *)puVar1; FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d"); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } in_stack_00000060 = 0x47a; in_stack_00000068 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&stack0x00000068); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&stack0x00000060); } param_6 = (*(uint *)(unaff_RBX + 0xc4) ^ param_6) * 0x10001a7; do { FUN_180760496(); FUN_180766a6e(); uVar5 = (*(int *)(unaff_RBP + 0x1f8) + 1) * *(int *)(unaff_RBP + 0x1f8) & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = (*(uint *)(unaff_RBX + 0xe4) ^ (*(uint *)(unaff_RBX + 0xe0) ^ (*(uint *)(unaff_RBX + 0xdc) ^ (*(uint *)(unaff_RBX + 0xd8) ^ (*(uint *)(unaff_RBX + 0xd4) ^ (*(uint *)(unaff_RBX + 0xd0) ^ (*(uint *)(unaff_RBX + 0xcc) ^ (*(uint *)(unaff_RBX + 200) ^ param_6) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7; param_6 = uVar5; do { if ((POPCOUNT((ulonglong)uVar5 & 0xff) & 1U) == 0) { lVar3 = FUN_18075f7b1(0xf804); return lVar3; } uVar5 = *(uint *)(unaff_RBP + 0x1f8); uVar6 = (uVar5 + 1) * uVar5 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); while( true ) { uVar5 = (*(uint *)(unaff_RBX + 0xe8) ^ *(uint *)((longlong)register0x00000020 + 0x30)) * 0x10001a7; uVar7 = (ulonglong)uVar5; *(uint *)((longlong)register0x00000020 + 0x30) = uVar5; *(uint *)((longlong)register0x00000020 + 0x30) = (*(uint *)(unaff_RBX + 0xec) ^ uVar5) * 0x10001a7; *(undefined8 *)((longlong)register0x00000020 + -8) = in_R11; in_R10 = ~-in_R10 + 1; cVar9 = in_R10 == 0; bVar8 = (POPCOUNT(in_R10 & 0xff) & 1U) == 0; *(undefined8 *)((longlong)register0x00000020 + -0x10) = 0x18075f836; piVar4 = (int *)FUN_18075f85b(); if (bVar8) { unaff_R13 = ~(~unaff_R13 + 1) + 1; cVar9 = unaff_R13 == 0; } if (uVar7 - 1 == 0 || cVar9 != '\0') break; *piVar4 = *piVar4 + (int)piVar4; *(int *)(uVar7 - 0x74cfdbb5) = *(int *)(uVar7 - 0x74cfdbb5) + (int)(uVar7 - 1); register0x00000020 = (BADSPACEBASE *)((ulonglong)((longlong)register0x00000020 + -8) & 0xffffffff); *(char *)piVar4 = (char)*piVar4 + (char)piVar4; } lVar3 = *(longlong *)register0x00000020; *(longlong *)register0x00000020 = lVar3 + 0x1d4; *(longlong *)((longlong)register0x00000020 + -8) = lVar3 + -0x3a63e; *(longlong *)((longlong)register0x00000020 + -0x10) = lVar3 + -0x57fb0; *(longlong *)((longlong)register0x00000020 + -0x18) = lVar3 + -0x89e0; *(longlong *)((longlong)register0x00000020 + -0x20) = lVar3 + 0x7e3c1; *(longlong *)((longlong)register0x00000020 + -0x28) = lVar3 + 0x7238; *(longlong *)((longlong)register0x00000020 + -0x30) = lVar3 + -0x19560; *(longlong *)((longlong)register0x00000020 + -0x38) = lVar3 + 0x7b768; *(longlong *)((longlong)register0x00000020 + -0x40) = lVar3 + -0x44dc4; *(longlong *)((longlong)register0x00000020 + -0x48) = lVar3 + 0x6d170; return -(((-(longlong)piVar4 ^ 0xffffffffffffffffU) + 1 ^ 0xffffffffffffffff) + 1); } ############ FUN_ 180761000 size=1553 ############ /* WARNING: Instruction at (ram,0x000180761680) overlaps instruction at (ram,0x00018076167d) */ /* WARNING: Removing unreachable block (ram,0x0001807616fe) */ /* WARNING: Removing unreachable block (ram,0x000180761680) */ /* WARNING: Removing unreachable block (ram,0x000180761708) */ /* WARNING: Removing unreachable block (ram,0x0001807616f5) */ /* WARNING: Removing unreachable block (ram,0x0001807618f4) */ /* WARNING: Removing unreachable block (ram,0x000180761105) */ /* WARNING: Removing unreachable block (ram,0x00018076171e) */ /* WARNING: Removing unreachable block (ram,0x0001807616ed) */ /* WARNING: Removing unreachable block (ram,0x00018076172a) */ /* WARNING: Type propagation algorithm not settling */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ char FUN_180761000(longlong param_1,uint *param_2,longlong *param_3,undefined8 *param_4) { int iVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; uint *puVar5; char cVar6; char *pcVar7; char *pcVar8; undefined8 uVar9; longlong *plVar10; undefined8 *puVar11; uint uVar12; uint uVar13; int iVar14; undefined8 *puVar15; undefined8 *puVar16; longlong *plVar17; ulonglong uVar18; char *pcVar19; ulonglong uVar20; longlong lVar21; ulonglong uVar22; uint uVar23; undefined1 *puVar24; int unaff_retaddr; ulonglong uStack_b68; undefined *puStack_b60; undefined1 auStack_b58 [32]; uint local_b38; longlong lStack_b30; ulonglong local_b28; uint *local_b20; undefined8 local_b18; int aiStack_b10 [2]; undefined4 local_b08 [2]; undefined1 *local_b00; undefined8 *local_af8; uint local_af0 [2]; longlong local_ae8; undefined4 local_ae0 [2]; undefined4 local_ad8 [2]; int iStack_ad0; int aiStack_acc [3]; undefined4 local_ac0; undefined4 local_abc; int *local_ab8; char *local_ab0; longlong *local_aa8; char *local_aa0; char *local_a98; undefined1 *local_a90; undefined8 *local_a88; undefined8 local_a80; undefined8 uStack_a78; undefined8 local_a70; char *pcStack_a68; char *apcStack_a60 [2]; undefined8 local_a50; undefined8 *local_a48; undefined8 *local_a40; undefined8 *local_a38; undefined1 auStack_988 [112]; undefined1 auStack_918 [2240]; ulonglong local_58; local_a50 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_b58; pcVar19 = (char *)0x0; local_ac0 = 0x350; local_abc = 0xc20; local_ab8 = &DAT_181521750; local_b00 = &LAB_181521850; local_b18 = 0x32e1cf71; local_b28 = 0xcc9e2d51; local_af0[0] = (int)param_3[1] - (int)*param_3; local_a80 = 0; uStack_a78 = 0; local_a70 = 0; local_b20 = param_2; local_ae8 = param_1; local_aa8 = param_3; local_a90 = local_b00; local_a88 = param_4; if (local_af0[0] < 0x4c) { puStack_b60 = (undefined *)0x180761300; local_ab0 = (char *)FUN_1811316e0(0x18); pcVar7 = pcVar19; if (local_ab0 != (char *)0x0) { puStack_b60 = (undefined *)0x180761318; pcVar7 = (char *)FUN_1805a48c0(local_ab0, "Extra result data size (%d) is too small for the GenerateAuthProtocolSignature command" ); } puStack_b60 = (undefined *)0x18076132a; pcVar8 = (char *)FUN_1811316e0(0x18); local_ab0 = pcVar8; if (pcVar8 != (char *)0x0) { puStack_b60 = (undefined *)0x180761345; FUN_1805a48c0(pcVar8,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar8 = pace::PaceLocationInfoFormatter::vftable; pcVar19 = pcVar8; } puStack_b60 = (undefined *)0x180761362; FUN_18060e760(*(undefined8 *)(pcVar7 + 8),local_af0); local_ae0[0] = 0x4fd; local_ab0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; puStack_b60 = (undefined *)0x180761382; uVar9 = FUN_1805a21d0(*(undefined8 *)(pcVar19 + 8),&local_ab0); /* WARNING: Subroutine does not return */ puStack_b60 = &UNK_18076138f; FUN_1805b20d0(uVar9,local_ae0); } puVar11 = (undefined8 *)*param_3; uVar9 = puVar11[1]; *param_4 = *puVar11; param_4[1] = uVar9; uVar9 = puVar11[3]; param_4[2] = puVar11[2]; param_4[3] = uVar9; uVar9 = puVar11[5]; param_4[4] = puVar11[4]; param_4[5] = uVar9; uVar2 = *(undefined4 *)((longlong)puVar11 + 0x34); uVar3 = *(undefined4 *)(puVar11 + 7); uVar4 = *(undefined4 *)((longlong)puVar11 + 0x3c); *(undefined4 *)(param_4 + 6) = *(undefined4 *)(puVar11 + 6); *(undefined4 *)((longlong)param_4 + 0x34) = uVar2; *(undefined4 *)(param_4 + 7) = uVar3; *(undefined4 *)((longlong)param_4 + 0x3c) = uVar4; param_4[8] = puVar11[8]; local_a48 = *(undefined8 **)(param_1 + 0x18); puVar11 = local_a48; if (*(char *)((longlong)local_a48[1] + 0x19) == '\0') { puVar15 = (undefined8 *)local_a48[1]; do { if (*(uint *)(puVar15 + 4) < *param_2) { puVar16 = (undefined8 *)puVar15[2]; } else { puVar16 = (undefined8 *)*puVar15; puVar11 = puVar15; } puVar15 = puVar16; } while (*(char *)((longlong)puVar16 + 0x19) == '\0'); } puVar15 = local_a48; puVar16 = local_a48; if ((puVar11 != local_a48) && (*(uint *)(puVar11 + 4) <= *param_2)) { puVar15 = puVar11; puVar16 = local_af8; local_a38 = puVar11; } local_af8 = puVar16; local_a40 = local_a48; if (puVar15 == local_a48) { puStack_b60 = (undefined *)0x18076144b; local_aa0 = (char *)FUN_1811316e0(0x18); pcVar7 = pcVar19; if (local_aa0 != (char *)0x0) { puStack_b60 = (undefined *)0x180761463; pcVar7 = (char *)FUN_1805a48c0(local_aa0, "Cert (ID:%d) is not available. Call GetILokCertChain before starting the auth protocol." ); } puStack_b60 = (undefined *)0x180761475; pcVar8 = (char *)FUN_1811316e0(0x18); local_aa0 = pcVar8; if (pcVar8 != (char *)0x0) { puStack_b60 = (undefined *)0x180761490; FUN_1805a48c0(pcVar8,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar8 = pace::PaceLocationInfoFormatter::vftable; pcVar19 = pcVar8; } puStack_b60 = (undefined *)0x1807614ad; FUN_18060e760(*(undefined8 *)(pcVar7 + 8),local_b20); local_ad8[0] = 0x50c; local_aa0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; puStack_b60 = (undefined *)0x1807614cc; uVar9 = FUN_1805a21d0(*(undefined8 *)(pcVar19 + 8),&local_aa0); /* WARNING: Subroutine does not return */ puStack_b60 = &UNK_1807614d8; FUN_1805b20d0(uVar9,local_ad8); } puStack_b60 = (undefined *)0x180761517; plVar10 = (longlong *)FUN_180751080(param_1 + 0x18,param_2); puStack_b60 = (undefined *)0x180761520; cVar6 = (**(code **)(*plVar10 + 0x10))(plVar10); if (cVar6 == '\0') { puStack_b60 = (undefined *)0x180761532; local_a98 = (char *)FUN_1811316e0(0x18); pcVar7 = pcVar19; if (local_a98 != (char *)0x0) { puStack_b60 = (undefined *)0x18076154a; pcVar7 = (char *)FUN_1805a48c0(local_a98, "Cert (ID:%d) is not privileged to be used in the authorization protocol." ); } puStack_b60 = (undefined *)0x18076155c; pcVar8 = (char *)FUN_1811316e0(0x18); local_a98 = pcVar8; if (pcVar8 != (char *)0x0) { puStack_b60 = (undefined *)0x180761577; FUN_1805a48c0(pcVar8,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar8 = pace::PaceLocationInfoFormatter::vftable; pcVar19 = pcVar8; } puStack_b60 = (undefined *)0x180761594; FUN_18060e760(*(undefined8 *)(pcVar7 + 8),local_b20); local_b08[0] = 0x514; local_a98 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; puStack_b60 = (undefined *)0x1807615b4; uVar9 = FUN_1805a21d0(*(undefined8 *)(pcVar19 + 8),&local_a98); /* WARNING: Subroutine does not return */ puStack_b60 = &UNK_1807615c1; FUN_1805b20d0(uVar9,local_b08); } puVar24 = &DAT_e6546b64; uVar12 = (DAT_181521750 * 0x16a88000 | (uint)(DAT_181521750 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0x11bdecbe; uVar12 = (DAT_181521754 * 0x16a88000 | (uint)(DAT_181521754 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; local_b38 = (DAT_181521758 * 0x16a88000 | (uint)(DAT_181521758 * -0x3361d2af) >> 0x11) * 0x1b873593; uVar12 = local_b38 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); local_b38 = (_UNK_18152175c * 0x16a88000 | (uint)(_UNK_18152175c * -0x3361d2af) >> 0x11) * 0x1b873593; local_b38 = local_b38 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = (_UNK_181521760 * (int)local_b28 * 0x8000 | (uint)(_UNK_181521760 * (int)local_b28) >> 0x11) * 0x1b873593 ^ (local_b38 << 0xd | local_b38 >> 0x13) * 5 + 0xe6546b64; uVar12 = (_UNK_181521764 * (int)local_b28 * 0x8000 | (uint)(_UNK_181521764 * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (_UNK_181521768 * (int)local_b28 * 0x8000 | (uint)(_UNK_181521768 * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; local_b38 = (_UNK_18152176c * (int)local_b28 * 0x8000 | (uint)(_UNK_18152176c * (int)local_b28) >> 0x11) * 0x1b873593; uVar12 = local_b38 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; do { puStack_b60 = &UNK_1807617fc; FUN_180766a6e(); puStack_b60 = &UNK_18076181a; func_0x000180762cce(); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar12 = (_UNK_181521770 * (int)local_b28 * 0x8000 | (uint)(_UNK_181521770 * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (_UNK_181521774 * (int)local_b28 * 0x8000 | (uint)(_UNK_181521774 * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (_UNK_181521778 * (int)local_b28 * 0x8000 | (uint)(_UNK_181521778 * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar13 = (_UNK_18152177c * (int)local_b28 * 0x8000 | (uint)(_UNK_18152177c * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar23 = (uint)local_b00; local_b18 = CONCAT44(local_b18._4_4_,uVar23) & 0xffffffff0000000f; uVar12 = uVar23 & 0x3f; iVar14 = (uVar12 + 2) * (uVar12 + 1) * uVar12; uVar12 = ((iVar14 >> 1) - (iVar14 >> 3)) + iVar14 * 0x55555555 >> 0x1e ^ ((uVar23 & 0x7ff) * (uVar23 & 0x7ff) * 0x10 + 4) % 0x13; uVar22 = (ulonglong)uVar12; uVar20 = (ulonglong)(((int)(-uVar12 | uVar12) >> 0x1f ^ 0xffffff7fU) & 0xae98); uVar12 = (*(int *)(&UNK_181521700 + uVar20) * (int)local_b28 * 0x8000 | (uint)(*(int *)(&UNK_181521700 + uVar20) * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar13 << 0xd | uVar13 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&UNK_181521704 + uVar20) * (int)local_b28 * 0x8000 | (uint)(*(int *)(&UNK_181521704 + uVar20) * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&UNK_181521708 + uVar20) * (int)local_b28 * 0x8000 | (uint)(*(int *)(&UNK_181521708 + uVar20) * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&UNK_18152170c + uVar20) * (int)local_b28 * 0x8000 | (uint)(*(int *)(&UNK_18152170c + uVar20) * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&UNK_181521710 + uVar20) * (int)local_b28 * 0x8000 | (uint)(*(int *)(&UNK_181521710 + uVar20) * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (*(int *)(&UNK_181521714 + uVar20) * (int)local_b28 * 0x8000 | (uint)(*(int *)(&UNK_181521714 + uVar20) * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; local_b38 = (*(int *)(&UNK_181521718 + uVar20) * (int)local_b28 * 0x8000 | (uint)(*(int *)(&UNK_181521718 + uVar20) * (int)local_b28) >> 0x11) * 0x1b873593; uVar12 = local_b38 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; do { puStack_b60 = &UNK_180761a8b; func_0x000180762fcc(); puStack_b60 = &UNK_180761a93; FUN_18075e140(); puStack_b60 = &UNK_180761aaf; func_0x00018075fbe4(); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); local_aa8 = (longlong *)0x63aec6abd59600ec; local_b08[0] = 0xd59600ec; local_b38 = (*(int *)(&UNK_18152171c + uVar20) * (int)local_b28 * 0x8000 | (uint)(*(int *)(&UNK_18152171c + uVar20) * (int)local_b28) >> 0x11) * 0x1b873593; uVar12 = local_b38 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; do { /* WARNING: Call to offcut address within same function */ puStack_b60 = &UNK_180761b11; func_0x00018076188f(); puStack_b60 = &UNK_180761b2f; func_0x00018076258a(); puVar5 = local_b20; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); iVar14 = (int)local_b28; uVar18 = local_b28 & 0xffffffff; uVar12 = (*(int *)(&UNK_181521720 + uVar20) * (int)local_b28 * 0x8000 | (uint)(*(int *)(&UNK_181521720 + uVar20) * (int)local_b28) >> 0x11) * 0x1b873593 ^ (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; uVar12 = (uVar12 << 0xd | uVar12 >> 0x13) * 5 + 0xe6546b64; do { puVar24 = (undefined1 *)((~(ulonglong)puVar24 + 1 ^ 0xffffffffffffffff) + 1); uVar12 = (~uVar12 + 1 ^ 0xffffffff) + 1; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); local_b38 = (*(int *)(&UNK_181521724 + uVar20) * (int)local_b28 * 0x8000 | (uint)(*(int *)(&UNK_181521724 + uVar20) * (int)local_b28) >> 0x11) * 0x1b873593; uVar12 = local_b38 ^ uVar12; iVar1 = (int)puVar24; puStack_b60 = &UNK_180761c0b; plVar10 = (longlong *)FUN_180751080(local_ae8 + 0x18,local_b20,uVar22); puStack_b60 = &UNK_180761c24; (**(code **)(*plVar10 + 0x38))(plVar10,puVar5[1],&iStack_ad0,auStack_988); local_b38 = (*(int *)(&UNK_181521728 + uVar20) * iVar14 * 0x8000 | (uint)(*(int *)(&UNK_181521728 + uVar20) * iVar14) >> 0x11) * 0x1b873593; uVar12 = local_b38 ^ iVar1 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; if (iStack_ad0 != -1) { puStack_b60 = &UNK_180761d38; FUN_180738860(auStack_918,local_b20[1]); puStack_b60 = (undefined *)0x180761d45; aiStack_b10[0] = FUN_180741570(auStack_918); uVar12 = (*(int *)(&UNK_18152172c + uVar20) * iVar14 * 0x8000 | (uint)(*(int *)(&UNK_18152172c + uVar20) * iVar14) >> 0x11) * 0x1b873593 ^ iVar1 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar12 = (*(int *)(&UNK_181521730 + uVar20) * iVar14 * 0x8000 | (uint)(*(int *)(&UNK_181521730 + uVar20) * iVar14) >> 0x11) * 0x1b873593 ^ iVar1 + (uVar12 << 0xd | uVar12 >> 0x13) * 5; uVar13 = *(int *)(&UNK_181521734 + uVar20) * iVar14; if (((uint)(&UNK_181521734 + uVar20) >> 10 & 1) == 0) { uVar12 = iVar1 + (((uVar13 * 0x8000 | uVar13 >> 0x11) * 0x1b873593 ^ iVar1 + (uVar12 << 0xd | uVar12 >> 0x13) * 5) >> 0x13) * 5 & 0x11ff; uVar12 = (uVar12 - 1) * uVar12 - 1 & 1; } else { uVar12 = (uint)local_b00 & 7 | 0x25; uVar12 = ((uint)local_b18 | 0x17) * ((uint)local_b18 | 0x17) * 0x66f5 ^ uVar12 * uVar12 * 0xfadf; } lVar21 = uVar20 + 0x181521c34 + ((longlong)(((int)(-uVar12 | uVar12) >> 0x1f) * -0x8991) ^ 0xffffffffffff7295U); uVar12 = *(int *)(lVar21 + 0x10) * iVar14; local_b38 = (uVar12 * 0x8000 | uVar12 >> 0x11) * 0x1b873593; aiStack_acc[0] = aiStack_b10[0]; if (aiStack_b10[0] - 1U < 0x20) { uVar12 = *(int *)(lVar21 + 0x14) * iVar14; local_b38 = (uVar12 * 0x8000 | uVar12 >> 0x11) * 0x1b873593; uStack_b68 = uVar18; puStack_b60 = puVar24; /* WARNING: Call to offcut address within same function */ cVar6 = func_0x000180761fed(); plVar17 = (longlong *)(ulonglong)((int)&uStack_b68 - 0x28); lVar21 = plVar17[5]; plVar17[5] = lVar21 + 0x223; plVar17[4] = lVar21 + -0x14afe; plVar17[3] = lVar21 + -0x49848; plVar17[2] = lVar21 + 0x356ba; plVar17[1] = lVar21 + -0x36234; *plVar17 = lVar21 + 0x3c8ef; plVar17[-1] = lVar21 + -0xb173; plVar17[-2] = lVar21 + 0xa1ff; plVar17[-3] = lVar21 + -0x1b716; return cVar6 * '\x02' + (0xfffffffffffffffe < ~(((ulonglong)&stack0x00000000 ^ 0xffffffffffffffff) + 1)); } puStack_b60 = (undefined *)0x180761ebc; local_af8 = (undefined8 *)FUN_1811316e0(0x18); if (local_af8 == (undefined8 *)0x0) { lStack_b30 = 0; } else { puStack_b60 = (undefined *)0x180761ed5; lStack_b30 = FUN_1805a48c0(local_af8, "The hash size (%d) is for the PKStandardID (%d) is out of range"); } puStack_b60 = (undefined *)0x180761eeb; puVar11 = (undefined8 *)FUN_1811316e0(0x18); local_af8 = puVar11; if (puVar11 == (undefined8 *)0x0) { puVar11 = (undefined8 *)0x0; } else { puStack_b60 = (undefined *)0x180761f07; FUN_1805a48c0(puVar11,"|__FILE__|%s|__LINE__|%d"); *puVar11 = pace::PaceLocationInfoFormatter::vftable; } puStack_b60 = (undefined *)0x180761f28; FUN_18060e760(*(undefined8 *)(lStack_b30 + 8),aiStack_acc); puStack_b60 = (undefined *)0x180761f3f; FUN_18060e760(*(undefined8 *)(lStack_b30 + 8),local_b20 + 1); aiStack_acc[1] = 0x531; apcStack_a60[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; puStack_b60 = (undefined *)0x180761f5e; uVar9 = FUN_1805a21d0(puVar11[1],apcStack_a60); /* WARNING: Subroutine does not return */ puStack_b60 = &UNK_180761f6a; FUN_1805b20d0(uVar9,aiStack_acc + 1); } puStack_b60 = &UNK_180761c61; local_af8 = (undefined8 *)FUN_1811316e0(0x18); if (local_af8 == (undefined8 *)0x0) { lStack_b30 = 0; } else { puStack_b60 = (undefined *)0x180761c7a; lStack_b30 = FUN_1805a48c0(local_af8, "Cert (ID:%d) does not have a public key with the requested PKStandardID (%d)" ); } puStack_b60 = (undefined *)0x180761c90; puVar11 = (undefined8 *)FUN_1811316e0(0x18); local_af8 = puVar11; if (puVar11 == (undefined8 *)0x0) { puVar11 = (undefined8 *)0x0; } else { puStack_b60 = (undefined *)0x180761cac; FUN_1805a48c0(puVar11,"|__FILE__|%s|__LINE__|%d"); *puVar11 = pace::PaceLocationInfoFormatter::vftable; } puStack_b60 = (undefined *)0x180761cce; FUN_18060e760(*(undefined8 *)(lStack_b30 + 8),local_b20); puStack_b60 = (undefined *)0x180761ce5; FUN_18060e760(*(undefined8 *)(lStack_b30 + 8),local_b20 + 1); aiStack_b10[0] = 0x526; pcStack_a68 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; puStack_b60 = (undefined *)0x180761d05; uVar9 = FUN_1805a21d0(puVar11[1],&pcStack_a68); /* WARNING: Subroutine does not return */ puStack_b60 = &UNK_180761d12; FUN_1805b20d0(uVar9,aiStack_b10); } ############ FUN_ 180762fe0 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180762fe0(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0xb4a; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0x1c0))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180763290 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180763290(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0xbc1; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0x1e0))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180763540 size=1895 ############ /* WARNING: Instruction at (ram,0x00018076382b) overlaps instruction at (ram,0x000180763828) */ /* WARNING: Removing unreachable block (ram,0x0001807635c7) */ /* WARNING: Removing unreachable block (ram,0x000180763637) */ void FUN_180763540(longlong *param_1,undefined8 param_2,undefined8 param_3) { longlong lVar1; char *pcVar2; undefined8 uVar3; ulonglong uVar4; uint uVar5; uint uVar6; char *pcVar7; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_318 [48]; uint local_2e8; undefined4 *local_2e0; undefined *local_2d8; uint local_2d0; undefined4 local_2cc; undefined8 local_2c0; undefined *local_2b8; undefined4 local_2b0 [2]; undefined4 local_2a8; undefined4 local_2a4; code *local_2a0; longlong *local_298; char *local_290; undefined8 local_288; undefined8 local_280; undefined8 uStack_278; undefined8 local_270; undefined **local_268; undefined **local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined4 local_240; undefined2 local_23c; undefined1 local_23a; undefined **local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined4 local_218; undefined2 local_214; undefined1 local_212; undefined4 local_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined1 local_1d4; undefined8 local_1c8; undefined1 local_1b8 [376]; ulonglong local_40; local_1c8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_318; local_2a8 = 0xb70; local_2a4 = 0x410; local_268 = pace::eden::thrift::ilok::CommandPacket::vftable; local_260 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar7 = (char *)0x0; local_258 = 0; local_250 = 0; local_248 = 0; local_240 = 0; local_23c = 0; local_23a = 0; local_238 = pace::eden::thrift::ilok::CommandTarget::vftable; local_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; local_214 = 0; local_212 = 0; local_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; local_1d4 = 0; local_298 = param_1; local_288 = param_3; FUN_180750800(local_1b8); local_280 = 0; uStack_278 = 0; local_270 = 0; local_2d8 = (undefined *)0x0; local_2c0 = 0x1da60e8; local_2b8 = &DAT_181da60e8; local_2e0 = &DAT_181dae0d8; do { FUN_180765631(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_2d8 = (undefined *)0xb60ee338073f75d; local_2c0 = CONCAT44(local_2c0._4_4_,0x8073f75d); do { FUN_18076402a(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); if (param_1[5] != 0) { (**(code **)(*param_1 + 200))(param_1,param_2,&local_268); local_2e8 = 0x722b17a3; local_2cc = 0x5b6e64c8; (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_268,local_1b8); local_2d8 = local_2b8; uVar6 = local_2e8 >> 0x11 | local_2e8 << 0xf; uVar5 = (local_2e8 & 0x1ffff) >> 1; uVar6 = ((local_2e8 & 0x1ffff) >> 1 | uVar6 << 0x10) & 0xeae3151c | (uVar6 << 0x10 | uVar5) & 0x151ceae3; local_2e0 = (undefined4 *) CONCAT44(local_2e0._4_4_, (uVar6 & 0x26666666) << 2 | local_2e8 >> 0x1f | (uVar6 >> 2 | uVar5 << 0x1e) & 0x66666666); local_2cc = 0x1b873593; do { uVar3 = rdtsc(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ((uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20)) * -0x3b3113ad; local_2d0 = (uVar5 >> 0x18 ^ uVar5) * -0x7a1412ab; if (local_2d0 < 0x7fffffff) { do { local_2a0 = FUN_18141db20; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_2e8 = 0xcc9e2d51; uVar4 = FUN_18141db20(); if (1 < uVar4) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } return; } local_290 = (char *)FUN_1811316e0(0x18); if (local_290 != (char *)0x0) { FUN_1805a48c0(local_290,"ILok conduit not set"); } pcVar2 = (char *)FUN_1811316e0(0x18); if (pcVar2 != (char *)0x0) { local_290 = pcVar2; FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; pcVar7 = pcVar2; } local_2b0[0] = 0x5f1; local_290 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar7 + 8),&local_290); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_2b0); } ############ FUN_ 1807671e0 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807671e0(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0xb88; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0x1d0))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180767490 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180767490(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0xbfa; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0x1f0))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180767740 size=545 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180767740(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2c8 [32]; undefined8 local_2a8; void **local_2a0; undefined4 local_298 [2]; char *local_290; void *local_288; undefined8 uStack_280; longlong local_278; undefined **local_268; undefined **local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined4 local_240; undefined2 local_23c; undefined1 local_23a; undefined **local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined4 local_218; undefined2 local_214; undefined1 local_212; undefined4 local_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined1 local_1d4; undefined8 local_1c8; undefined1 local_1b8 [352]; ulonglong local_58; local_1c8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_2c8; local_268 = pace::eden::thrift::ilok::CommandPacket::vftable; local_260 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_258 = 0; local_250 = 0; local_248 = 0; local_240 = 0; local_23c = 0; local_23a = 0; local_238 = pace::eden::thrift::ilok::CommandTarget::vftable; local_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; local_214 = 0; local_212 = 0; local_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; local_1d4 = 0; FUN_180750800(local_1b8); local_288 = (void *)0x0; uStack_280 = 0; local_278 = 0; if (param_1[5] == 0) { local_290 = (char *)FUN_1811316e0(0x18); if (local_290 != (char *)0x0) { FUN_1805a48c0(local_290,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_290 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_298[0] = 0x363; local_290 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_290); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_298); } (**(code **)(*param_1 + 0x70))(param_1,param_2,&local_268); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_268,local_1b8); local_2a0 = &local_288; local_2a8 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1b8,0,0); (**(code **)(*param_1 + 0x78))(param_1,param_3,&local_288,param_4); if (local_288 == (void *)0x0) { FUN_180750cf0(local_1b8); FUN_180750a50(&local_268); } _Memory = local_288; if ((0xfff < (ulonglong)(local_278 - (longlong)local_288)) && (_Memory = *(void **)((longlong)local_288 + -8), 0x1f < (ulonglong)((longlong)local_288 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180767af0 size=899 ############ void FUN_180767af0(longlong *param_1,uint *param_2,longlong *param_3,longlong *param_4) { undefined8 *puVar1; longlong lVar2; longlong lVar3; undefined8 uVar4; undefined8 *puVar5; undefined8 *puVar6; void *_Memory; undefined8 *puVar7; int iVar8; ulonglong uVar9; longlong local_res18; char *local_res20; undefined1 local_50 [16]; longlong local_40; uVar9 = param_3[1] - *param_3; iVar8 = (int)uVar9; local_res18 = CONCAT44(local_res18._4_4_,iVar8); if (param_4 != param_3) { FUN_1805e1990(param_4,*param_3,param_3[1],param_4,0xfffffffffffffffe); } if (iVar8 == 0) { if (*(char *)((longlong)param_1 + 0x3f1) != '\0') { puVar1 = (undefined8 *)param_1[3]; puVar7 = puVar1; if (*(char *)((longlong)puVar1[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar1[1]; do { if (*(uint *)(puVar5 + 4) < *param_2) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; puVar7 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar7 == puVar1) || (*param_2 < *(uint *)(puVar7 + 4))) { puVar7 = puVar1; } lVar2 = 0; if (puVar7 == puVar1) { local_res18 = FUN_1811316e0(0x18); if (local_res18 != 0) { lVar2 = FUN_1805a48c0(local_res18, "Cert Chain (ID:%d) is not available, but was supposed to be cached." ); } lVar3 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2); local_res18 = CONCAT44(local_res18._4_4_,0x402); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } lVar3 = FUN_180751080(param_1 + 3,param_2); FUN_1805b46a0(local_50,lVar3 + 0x10); if (param_4 == (longlong *)local_50) { if ((void *)local_50._0_8_ != (void *)0x0) { _Memory = (void *)local_50._0_8_; if ((0xfff < (ulonglong)(local_40 - local_50._0_8_)) && (_Memory = *(void **)(local_50._0_8_ + -8), 0x1f < (ulonglong)(local_50._0_8_ + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } else { FUN_180575ed0(param_4); *param_4 = local_50._0_8_; param_4[1] = local_50._8_8_; param_4[2] = local_40; } if (param_4[1] - *param_4 != (ulonglong)param_2[3]) { local_res18 = FUN_1811316e0(0x18); if (local_res18 != 0) { lVar2 = FUN_1805a48c0(local_res18, "Cert Chain (ID:%d) is cached but its size (%d) does not match iLok\'s claimed size (%d)" ); } lVar3 = FUN_1805c0260(); local_res18 = param_4[1] - *param_4; FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2); FUN_1805b2520(*(undefined8 *)(lVar2 + 8),&local_res18); FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2 + 3); local_res18 = CONCAT44(local_res18._4_4_,0x40f); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } } } else { lVar2 = 0; if ((uVar9 & 0xffffffff) < (ulonglong)param_2[3] + 4) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 != (char *)0x0) { lVar2 = FUN_1805a48c0(local_res20, "Extra result data size (%d) is too small for the GetILokCertChain command" ); } lVar3 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar2 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0x3e2); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } FUN_1805b0f50(param_4,param_2[3],param_4); (**(code **)(*param_1 + 0x268))(param_1,param_4,*param_2,0); lVar3 = FUN_180751080(param_1 + 3,param_2); local_50 = *(undefined1 (*) [16])(lVar3 + 400); if (param_2[1] != local_50._12_4_) { local_res18 = FUN_1811316e0(0x18); if (local_res18 != 0) { lVar2 = FUN_1805a48c0(local_res18, "Cert (ID:%d): the cert\'s issue number (0x%08X) doen\'t match the iLok claimed issue number (0x%08X)" ); } lVar3 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2); FUN_18060e760(*(undefined8 *)(lVar2 + 8),local_50 + 0xc); FUN_18060e760(*(undefined8 *)(lVar2 + 8),param_2 + 1); local_res18 = CONCAT44(local_res18._4_4_,0x3f4); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } } return; } ############ FUN_ 180769cd0 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180769cd0(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0xc72; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0x210))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180769f80 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180769f80(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0xc39; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0x200))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18076b650 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18076b650(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0x671; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0xe8))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18076b900 size=837 ############ /* WARNING: Instruction at (ram,0x00018076bbf5) overlaps instruction at (ram,0x00018076bbf4) */ /* WARNING: Removing unreachable block (ram,0x00018076bbef) */ void FUN_18076b900(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; undefined8 uVar3; int iVar4; longlong in_R10; int unaff_retaddr; undefined1 auStack_318 [56]; undefined *local_2e0; undefined *local_2d8; undefined4 local_2c8 [2]; undefined8 *local_2c0; uint local_2b8; uint local_2b4; longlong local_2b0; undefined8 local_2a8; undefined8 local_2a0; undefined8 local_298; undefined8 uStack_290; undefined8 local_288; char *local_280; undefined **local_278; undefined **local_270; undefined8 local_268; undefined8 local_260; undefined8 local_258; undefined4 local_250; undefined2 local_24c; undefined1 local_24a; undefined **local_248; undefined8 local_240; undefined8 local_238; undefined8 uStack_230; undefined4 local_228; undefined2 local_224; undefined1 local_222; undefined4 local_220; undefined8 local_218; undefined8 uStack_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined4 local_1e8; undefined1 local_1e4; undefined8 local_1d8; undefined1 local_1c8 [376]; ulonglong local_50; local_1d8 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_318; uVar3 = 0; uVar1 = (uint)&stack0x00000000 & 0x3bff; uVar1 = ((uVar1 + 1) * uVar1 + 7) % 0x51; local_2b8 = (int)(-uVar1 | uVar1) >> 0x1f & 0xb8acU ^ 0xbc0c; if (((ulonglong)&stack0x00000000 & 0x3b0) == 0) { uVar1 = (uint)&stack0x00000000 & 0x11ff; iVar4 = uVar1 * uVar1 + 1; uVar1 = iVar4 * 0x24924924 + (iVar4 >> 4) + (iVar4 >> 1) >> 0x1d; uVar1 = (int)(uVar1 - 7) >> 0x1f & uVar1; } else { uVar1 = 1; } local_2b4 = ((int)(-uVar1 | uVar1) >> 0x1f) * -0x1b8c ^ 0x1c8c; local_278 = pace::eden::thrift::ilok::CommandPacket::vftable; local_270 = pace::eden::thrift::ilok::CommandTarget::vftable; local_268 = 0; local_260 = 0; local_258 = 0; local_250 = 0; local_24c = 0; local_24a = 0; local_248 = pace::eden::thrift::ilok::CommandTarget::vftable; local_240 = 0; local_238 = 0; uStack_230 = 0; local_228 = 0; local_224 = 0; local_222 = 0; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; local_1e4 = 0; local_2b0 = param_1; local_2a0 = param_4; FUN_180750800(local_1c8); local_298 = 0; uStack_290 = 0; local_288 = 0; if (*(longlong *)(param_1 + 0x28) != 0) { local_2a8 = 0; local_2d8 = &DAT_181d96108; local_2e0 = &DAT_181d9e0f8; do { uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); FUN_18076bc68(0,0x180000000,uVar3); /* WARNING: Could not recover jumptable at 0x00018076bddc. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(in_R10 + 999))(); return; } local_2c0 = (undefined8 *)FUN_1811316e0(0x18); if (local_2c0 != (undefined8 *)0x0) { FUN_1805a48c0(local_2c0,"ILok conduit not set"); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_2c0 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_2c8[0] = 0x7a2; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(puVar2[1],&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_2c8); } ############ FUN_ 180770320 size=317 ############ void FUN_180770320(longlong *param_1,undefined8 *param_2,longlong param_3) { undefined8 *puVar1; undefined8 uVar2; undefined8 *local_res8; char *local_res10; undefined1 local_58 [24]; undefined8 local_40; if (((byte)*(undefined4 *)((longlong)param_1 + 0x3c4) & 0xf) == 0xd) { (**(code **)(*param_1 + 0x2a0))(param_1,local_58,param_3,6,0); local_40 = FUN_180766750(); *param_2 = local_40; *(undefined1 *)(param_3 + 0x28) = 1; (**(code **)(*param_1 + 0x290))(param_1,0x20,local_58,param_3,1); return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"This command requires the use of the authority connection"); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d"); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x22f); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res8); } ############ FUN_ 180770470 size=286 ############ void FUN_180770470(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6) { undefined8 *puVar1; undefined8 uVar2; undefined8 *local_res8; char *local_28; undefined8 local_20; local_20 = 0xfffffffffffffffe; if (param_1[5] != 0) { (**(code **)(*param_1 + 0x48))(param_1,param_2,param_5); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],param_5,param_6); FUN_180750e00(param_3,param_1 + 7); FUN_180750ed0(param_4,param_1 + 0x1a); return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"ILok conduit not set"); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d"); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x20f); local_28 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_28); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res8); } ############ FUN_ 1807705a0 size=1382 ############ void FUN_1807705a0(longlong param_1,longlong param_2,char param_3,undefined4 *param_4, undefined8 param_5,undefined8 param_6) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined1 auStack_c98 [64]; undefined4 *local_c58; char *local_c50; undefined4 local_c48; uint local_c40 [2]; uint local_c38 [2]; undefined8 *local_c30; undefined8 local_c28; longlong local_c20; char *local_c18; longlong local_c10; uint local_c08; undefined8 local_bf8; undefined4 local_ba8; longlong local_ba0; undefined4 local_b98; uint uStack_b94; undefined4 uStack_b90; undefined4 uStack_b8c; undefined8 local_b88; undefined8 uStack_b80; undefined4 local_b78; undefined4 uStack_b74; undefined4 uStack_b70; undefined4 uStack_b6c; undefined4 local_b68; undefined4 uStack_b64; undefined4 uStack_b60; undefined4 uStack_b5c; undefined8 local_b58; ulonglong local_48; local_b58 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_c98; local_c28 = param_5; local_bf8 = param_6; if (param_4 != (undefined4 *)0x0) { *param_4 = 0xffffffff; } local_c20 = *(longlong *)(param_2 + 0x130) - *(longlong *)(param_2 + 0x128); local_c48 = (undefined4)local_c20; local_ba0 = *(longlong *)(param_2 + 0x148) - *(longlong *)(param_2 + 0x140); local_ba8 = (undefined4)local_ba0; puVar4 = (undefined8 *)0x0; local_c58 = param_4; local_c10 = param_2; if (*(longlong *)(param_1 + 0x10) == 0) { local_c30 = (undefined8 *)FUN_1811316e0(0x18); if (local_c30 != (undefined8 *)0x0) { FUN_1805a48c0(local_c30, "There are no pending iLok2 commands; so no result packet cannot be processed"); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_c30 = puVar2; if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; puVar4 = puVar2; } local_c38[0] = 0x1019; local_c18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(puVar4[1],&local_c18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_c38); } if ((*(longlong *)(param_1 + 0x3a8) != 0) && (*(longlong *)(param_2 + 0x10) != *(longlong *)(param_1 + 0x3a8))) { local_c30 = (undefined8 *)FUN_1811316e0(0x18); if (local_c30 != (undefined8 *)0x0) { puVar4 = (undefined8 *) FUN_1805a48c0(local_c30, "The result packet\'s SerialNumber (0x%X) does not match the SerialNumber (0x%X) expected by ILok2Commander" ); } lVar5 = FUN_1805c0260(); local_c18 = *(char **)(local_c10 + 0x10); FUN_1805b2520(puVar4[1],&local_c18); FUN_1805b2520(puVar4[1],param_1 + 0x3a8); local_c38[0] = 0x1024; local_c18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_c18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_c38); } if (*(int *)(param_2 + 0x18) != *(int *)(param_1 + 0x3c4)) { local_c30 = (undefined8 *)FUN_1811316e0(0x18); if (local_c30 != (undefined8 *)0x0) { FUN_1805a48c0(local_c30,"Result packet ConnectionID does not match that of the ILok2Commander" ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_c30 = puVar2; if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; puVar4 = puVar2; } local_c38[0] = 0x1029; local_c18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(puVar4[1],&local_c18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_c38); } if (*(int *)(param_2 + 0x20) == 2) { lVar5 = **(longlong **)(param_1 + 8); local_b98 = *(undefined4 *)(lVar5 + 0x10); uStack_b94 = *(uint *)(lVar5 + 0x14); uStack_b90 = *(undefined4 *)(lVar5 + 0x18); uStack_b8c = *(undefined4 *)(lVar5 + 0x1c); local_b88 = *(undefined8 *)(lVar5 + 0x20); uStack_b80 = *(undefined8 *)(lVar5 + 0x28); local_b78 = *(undefined4 *)(lVar5 + 0x30); uStack_b74 = *(undefined4 *)(lVar5 + 0x34); uStack_b70 = *(undefined4 *)(lVar5 + 0x38); uStack_b6c = *(undefined4 *)(lVar5 + 0x3c); local_b68 = *(undefined4 *)(lVar5 + 0x40); uStack_b64 = *(undefined4 *)(lVar5 + 0x44); uStack_b60 = *(undefined4 *)(lVar5 + 0x48); uStack_b5c = *(undefined4 *)(lVar5 + 0x4c); local_c40[0] = uStack_b94 & 0x7fffffff; local_c18 = (char *)(ulonglong)local_c40[0]; local_c38[0] = *(uint *)(param_2 + 0x1c); local_c08 = local_c38[0]; if (param_3 == '\0') { if (local_c38[0] < local_c40[0]) { local_c30 = (undefined8 *)FUN_1811316e0(0x18); if (local_c30 != (undefined8 *)0x0) { puVar4 = (undefined8 *) FUN_1805a48c0(local_c30, "Result packet (seq# %d) is for a command already removed from the command queue (seq# %d)" ); } lVar5 = FUN_1805c0260(); FUN_18060e760(puVar4[1],local_c38); FUN_18060e760(puVar4[1],local_c40); local_c40[0] = 0x104c; local_c50 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_c50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_c40); } if (*(uint *)(param_1 + 0x3d8) <= local_c38[0]) { local_c30 = (undefined8 *)FUN_1811316e0(0x18); if (local_c30 != (undefined8 *)0x0) { puVar4 = (undefined8 *) FUN_1805a48c0(local_c30, "Result packet (seq# %d) is for a command not queued (seq# %d) yet" ); } lVar5 = FUN_1805c0260(); FUN_18060e760(puVar4[1],local_c38); FUN_18060e760(puVar4[1],param_1 + 0x3d8); local_c40[0] = 0x1052; local_c50 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_c50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_c40); } if (local_c40[0] != local_c38[0]) { plVar1 = (longlong *)**(undefined8 **)(param_1 + 8); *(longlong *)plVar1[1] = *plVar1; *(longlong *)(*plVar1 + 8) = plVar1[1]; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + -1; /* WARNING: Subroutine does not return */ free(plVar1); } } else if (local_c38[0] != local_c40[0]) { local_c30 = (undefined8 *)FUN_1811316e0(0x18); if (local_c30 != (undefined8 *)0x0) { FUN_1805a48c0(local_c30,"Result packet is out of sequence with next queued command"); } lVar5 = FUN_1805c0260(); local_c40[0] = 0x1040; local_c50 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_c50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_c40); } plVar1 = (longlong *)**(undefined8 **)(param_1 + 8); *(longlong *)plVar1[1] = *plVar1; *(longlong *)(*plVar1 + 8) = plVar1[1]; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + -1; /* WARNING: Subroutine does not return */ free(plVar1); } local_c30 = (undefined8 *)FUN_1811316e0(0x18); puVar2 = puVar4; if (local_c30 != (undefined8 *)0x0) { puVar2 = (undefined8 *) FUN_1805a48c0(local_c30, "Wrong iLok interface version (%d) in the result packet. Expected version 2" ); } puVar6 = (undefined8 *)FUN_1811316e0(0x18); local_c30 = puVar6; if (puVar6 != (undefined8 *)0x0) { FUN_1805a48c0(puVar6,"|__FILE__|%s|__LINE__|%d"); *puVar6 = pace::PaceLocationInfoFormatter::vftable; puVar4 = puVar6; } local_c38[0] = *(uint *)(local_c10 + 0x20); FUN_18060e760(puVar2[1],local_c38); local_c38[0] = 0x102f; local_c18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(puVar4[1],&local_c18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_c38); } ############ FUN_ 1807766d0 size=591 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807766d0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7) { char *pcVar1; undefined8 uVar2; void *_Memory; undefined1 auStack_2d8 [32]; undefined ***local_2b8; void **local_2b0; undefined4 local_2a8 [2]; char *local_2a0; void *local_298; undefined8 uStack_290; longlong local_288; undefined8 local_280; undefined8 local_278; undefined **local_268; undefined **local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined4 local_240; undefined2 local_23c; undefined1 local_23a; undefined **local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined4 local_218; undefined2 local_214; undefined1 local_212; undefined4 local_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined1 local_1d4; undefined8 local_1c8; undefined1 local_1b8 [352]; ulonglong local_58; local_1c8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_2d8; local_278 = param_6; local_280 = param_7; local_268 = pace::eden::thrift::ilok::CommandPacket::vftable; local_260 = pace::eden::thrift::ilok::CommandTarget::vftable; local_258 = 0; local_250 = 0; local_248 = 0; local_240 = 0; local_23c = 0; local_23a = 0; local_238 = pace::eden::thrift::ilok::CommandTarget::vftable; local_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; local_214 = 0; local_212 = 0; local_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; local_1d4 = 0; FUN_180750800(local_1b8); local_298 = (void *)0x0; uStack_290 = 0; local_288 = 0; if (param_1[5] == 0) { local_2a0 = (char *)FUN_1811316e0(0x18); if (local_2a0 != (char *)0x0) { FUN_1805a48c0(local_2a0,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_2a0 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_2a8[0] = 0x8a0; local_2a0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_2a0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_2a8); } local_2b8 = &local_268; (**(code **)(*param_1 + 0x148))(param_1,param_2,param_3,param_4); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_268,local_1b8); local_2b0 = &local_298; local_2b8 = (undefined ***)param_5; (**(code **)(*param_1 + 0x250))(param_1,local_1b8,0,0); local_2b8 = (undefined ***)local_280; (**(code **)(*param_1 + 0x150))(param_1,param_5,&local_298,local_278); if (local_298 == (void *)0x0) { FUN_180750cf0(local_1b8); FUN_180750a50(&local_268); } _Memory = local_298; if ((0xfff < (ulonglong)(local_288 - (longlong)local_298)) && (_Memory = *(void **)((longlong)local_298 + -8), 0x1f < (ulonglong)((longlong)local_298 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180776960 size=749 ############ void FUN_180776960(longlong *param_1,undefined4 *param_2,longlong *param_3,undefined8 *param_4, char *param_5) { void **ppvVar1; int iVar2; char *pcVar3; char *pcVar4; undefined8 uVar5; char *pcVar6; longlong lVar7; void *_Memory; char *local_res8; longlong local_res10; longlong *local_res18; void **local_a8; longlong **pplStack_a0; void *local_98; undefined8 uStack_90; longlong local_88; undefined1 local_78 [24]; undefined4 local_60; undefined4 uStack_5c; undefined4 uStack_58; undefined4 uStack_54; undefined4 local_50; undefined4 uStack_4c; undefined4 uStack_48; undefined4 uStack_44; undefined4 local_40; lVar7 = (longlong)param_5; local_98 = (void *)0x0; uStack_90 = 0; pcVar6 = (char *)0x0; local_88 = 0; local_res18 = param_3; (**(code **)(*param_1 + 0x2a0))(0,local_78,param_5,0x1a,0); local_60 = *param_2; uStack_5c = param_2[1]; uStack_58 = param_2[2]; uStack_54 = param_2[3]; local_50 = param_2[4]; uStack_4c = param_2[5]; uStack_48 = param_2[6]; uStack_44 = param_2[7]; local_40 = param_2[8]; local_res10 = param_3[1] - *param_3; param_5 = (char *)CONCAT44(param_5._4_4_,(int)local_res10); if (0x1f < (int)local_res10 - 1U) { local_res8 = (char *)FUN_1811316e0(0x18); pcVar3 = pcVar6; if (local_res8 != (char *)0x0) { pcVar3 = (char *)FUN_1805a48c0(local_res8,"Bad size (%d) of in_vHash"); } pcVar4 = (char *)FUN_1811316e0(0x18); local_res8 = pcVar4; if (pcVar4 != (char *)0x0) { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; pcVar6 = pcVar4; } FUN_18060e760(*(undefined8 *)(pcVar3 + 8),¶m_5); param_5 = (char *)CONCAT44(param_5._4_4_,0x8dd); local_res8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),&local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,¶m_5); } local_40 = CONCAT13((char)local_res10,(undefined3)local_40); ppvVar1 = (void **)(lVar7 + 0x78); FUN_1805b1a40(ppvVar1,*param_3,param_3[1]); local_res18 = (longlong *)((ulonglong)local_res18 & 0xffffffffffffff00); pplStack_a0 = &local_res18; local_a8 = ppvVar1; FUN_1805e1ee0(ppvVar1,0x20,&local_a8); FUN_1805e1990(&local_98,*param_3,param_3[1],(ulonglong)local_res18 & 0xff); local_res18 = (longlong *)((ulonglong)local_res18 & 0xffffffffffffff00); local_a8 = &local_98; pplStack_a0 = &local_res18; FUN_1805e1ee0(&local_98,0x20,&local_a8); if ((param_4 != (undefined8 *)0x0) && (*(char *)((longlong)param_2 + 0x21) != '\0')) { iVar2 = (int)param_4[1] - (int)*param_4; local_res18 = (longlong *)CONCAT44(local_res18._4_4_,iVar2); if (iVar2 != 0x30) { param_5 = (char *)FUN_1811316e0(0x18); if (param_5 != (char *)0x0) { pcVar6 = (char *)FUN_1805a48c0(param_5,"Bad size (%d) of *in_pvEncryptedSecretILok1Data"); } lVar7 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pcVar6 + 8),&local_res18); local_res18 = (longlong *)CONCAT44(local_res18._4_4_,0x900); param_5 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar7 + 8),¶m_5); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res18); } FUN_1805d5a60(ppvVar1,*(undefined8 *)(lVar7 + 0x80),*param_4,param_4[1],0x30); FUN_1805d5a60(&local_98,uStack_90,*param_4,param_4[1],local_res18._0_1_); } *(undefined1 *)(lVar7 + 0x28) = 1; (**(code **)(*param_1 + 0x290))(param_1,0x40,local_78,lVar7,1); if (local_98 == (void *)0x0) { return; } _Memory = local_98; if ((0xfff < (ulonglong)(local_88 - (longlong)local_98)) && (_Memory = *(void **)((longlong)local_98 + -8), 0x1f < (ulonglong)((longlong)local_98 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180776c80 size=433 ############ void FUN_180776c80(undefined8 param_1,longlong param_2,longlong *param_3,undefined8 *param_4, undefined8 *param_5) { undefined8 *puVar1; longlong lVar2; longlong lVar3; undefined8 uVar4; uint local_res10 [2]; char *local_res18 [2]; puVar1 = (undefined8 *)*param_3; local_res10[0] = (int)param_3[1] - (int)puVar1; if (*(char *)(param_2 + 4) == '\0') { if (local_res10[0] < 0x4c) { local_res18[0] = (char *)FUN_1811316e0(0x18,param_2,param_3,param_4,0xfffffffffffffffe); if (local_res18[0] == (char *)0x0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(local_res18[0], "Extra result data size (%d) is too small for the SignECDSA_UsingAuthRecords command even without the public key" ); } lVar3 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar2 + 8),local_res10); local_res10[0] = 0x93a; local_res18[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res10); } *param_5 = 0; param_5[1] = 0; param_5[2] = 0; param_5[3] = 0; param_5[4] = 0; param_5[5] = 0; param_5[6] = 0; param_5[7] = 0; param_5[8] = 0; } else { if (local_res10[0] < 0x94) { local_res18[0] = (char *)FUN_1811316e0(0x18,param_2,param_3,param_4,0xfffffffffffffffe); if (local_res18[0] == (char *)0x0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(local_res18[0], "Extra result data size (%d) is too small for the SignECDSA_UsingAuthRecords command with the public key" ); } lVar3 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar2 + 8),local_res10); local_res10[0] = 0x929; local_res18[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res10); } uVar4 = puVar1[10]; *param_5 = puVar1[9]; param_5[1] = uVar4; uVar4 = puVar1[0xc]; param_5[2] = puVar1[0xb]; param_5[3] = uVar4; uVar4 = puVar1[0xe]; param_5[4] = puVar1[0xd]; param_5[5] = uVar4; uVar4 = puVar1[0x10]; param_5[6] = puVar1[0xf]; param_5[7] = uVar4; param_5[8] = puVar1[0x11]; } uVar4 = puVar1[1]; *param_4 = *puVar1; param_4[1] = uVar4; uVar4 = puVar1[3]; param_4[2] = puVar1[2]; param_4[3] = uVar4; uVar4 = puVar1[5]; param_4[4] = puVar1[4]; param_4[5] = uVar4; uVar4 = puVar1[7]; param_4[6] = puVar1[6]; param_4[7] = uVar4; param_4[8] = puVar1[8]; return; } ############ FUN_ 180776e60 size=543 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180776e60(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { char *pcVar1; undefined8 uVar2; void *_Memory; undefined1 auStack_2c8 [32]; undefined8 local_2a8; void **local_2a0; undefined4 local_298 [2]; char *local_290; void *local_288; undefined8 uStack_280; longlong local_278; undefined **local_268; undefined **local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined4 local_240; undefined2 local_23c; undefined1 local_23a; undefined **local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined4 local_218; undefined2 local_214; undefined1 local_212; undefined4 local_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined1 local_1d4; undefined8 local_1c8; undefined1 local_1b8 [352]; ulonglong local_58; local_1c8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_2c8; local_268 = pace::eden::thrift::ilok::CommandPacket::vftable; local_260 = pace::eden::thrift::ilok::CommandTarget::vftable; local_258 = 0; local_250 = 0; local_248 = 0; local_240 = 0; local_23c = 0; local_23a = 0; local_238 = pace::eden::thrift::ilok::CommandTarget::vftable; local_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; local_214 = 0; local_212 = 0; local_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; local_1d4 = 0; FUN_180750800(local_1b8); local_288 = (void *)0x0; uStack_280 = 0; local_278 = 0; if (param_1[5] == 0) { local_290 = (char *)FUN_1811316e0(0x18); if (local_290 != (char *)0x0) { FUN_1805a48c0(local_290,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_290 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_298[0] = 0x262; local_290 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_290); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_298); } (**(code **)(*param_1 + 0x58))(param_1,param_2,param_3,&local_268); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_268,local_1b8); local_2a0 = &local_288; local_2a8 = param_4; (**(code **)(*param_1 + 0x250))(param_1,local_1b8,0,0); (**(code **)(*param_1 + 0x60))(param_1,param_4,&local_288,param_5); if (local_288 == (void *)0x0) { FUN_180750cf0(local_1b8); FUN_180750a50(&local_268); } _Memory = local_288; if ((0xfff < (ulonglong)(local_278 - (longlong)local_288)) && (_Memory = *(void **)((longlong)local_288 + -8), 0x1f < (ulonglong)((longlong)local_288 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1807770c0 size=566 ############ void FUN_1807770c0(longlong *param_1,undefined4 *param_2,longlong *param_3,longlong param_4) { undefined8 *puVar1; undefined8 uVar2; longlong lVar3; char *pcVar4; int iVar5; undefined8 *local_res8; char *local_res10; longlong local_88; undefined8 **ppuStack_80; undefined1 local_78 [24]; undefined4 local_60; undefined4 uStack_5c; undefined4 uStack_58; undefined4 uStack_54; undefined4 local_50; undefined4 uStack_4c; undefined4 uStack_48; undefined4 uStack_44; undefined4 local_40; if (((byte)*(undefined4 *)((longlong)param_1 + 0x3c4) & 0xf) != 0xd) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"This command requires the use of the authority connection"); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d"); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x291); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res8); } (**(code **)(*param_1 + 0x2a0))(param_1,local_78,param_4,0x2e,0); uVar2 = FUN_180766750(); *(undefined8 *)(param_2 + 6) = uVar2; iVar5 = (int)(param_3[1] - *param_3); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar5); if (iVar5 - 1U < 0x20) { *(char *)((longlong)param_2 + 0x21) = (char)(param_3[1] - *param_3); local_60 = *param_2; uStack_5c = param_2[1]; uStack_58 = param_2[2]; uStack_54 = param_2[3]; local_50 = param_2[4]; uStack_4c = param_2[5]; uStack_48 = param_2[6]; uStack_44 = param_2[7]; local_40 = param_2[8]; lVar3 = param_4 + 0x78; FUN_1805b1a40(lVar3,*param_3,param_3[1]); local_res8 = (undefined8 *)((ulonglong)local_res8 & 0xffffffffffffff00); ppuStack_80 = &local_res8; local_88 = lVar3; FUN_1805e1ee0(lVar3,0x20,&local_88); *(undefined1 *)(param_4 + 0x28) = 1; (**(code **)(*param_1 + 0x290))(param_1,0x40,local_78,param_4,1); return; } local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res10,"Bad size (%d) of in_vHash"); } pcVar4 = (char *)FUN_1811316e0(0x18); local_res10 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar3 + 8),&local_res8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x2a1); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res8); } ############ FUN_ 180777320 size=259 ############ void FUN_180777320(undefined8 param_1,undefined8 param_2,longlong *param_3,undefined8 *param_4) { undefined8 *puVar1; longlong lVar2; char *pcVar3; undefined8 uVar4; uint local_res18 [2]; char *local_res20; local_res18[0] = (int)param_3[1] - (int)*param_3; if (local_res18[0] < 0x4c) { local_res20 = (char *)FUN_1811316e0(0x18,param_2,param_3,param_4,0xfffffffffffffffe); if (local_res20 == (char *)0x0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(local_res20, "Extra result data size (%d) is too small for the SignECDSA_UsingCertPrivateKey command" ); } pcVar3 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar3; if (pcVar3 == (char *)0x0) { pcVar3 = (char *)0x0; } else { FUN_1805a48c0(pcVar3,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar3 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar2 + 8),local_res18); local_res18[0] = 0x2d3; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res18); } puVar1 = (undefined8 *)*param_3; uVar4 = puVar1[1]; *param_4 = *puVar1; param_4[1] = uVar4; uVar4 = puVar1[3]; param_4[2] = puVar1[2]; param_4[3] = uVar4; uVar4 = puVar1[5]; param_4[4] = puVar1[4]; param_4[5] = uVar4; uVar4 = puVar1[7]; param_4[6] = puVar1[6]; param_4[7] = uVar4; param_4[8] = puVar1[8]; return; } ############ FUN_ 180777440 size=2967 ############ /* WARNING: Instruction at (ram,0x0001807779d1) overlaps instruction at (ram,0x0001807779cf) */ /* WARNING: Removing unreachable block (ram,0x000180777d52) */ /* WARNING: Removing unreachable block (ram,0x000180777928) */ /* WARNING: Removing unreachable block (ram,0x000180777497) */ /* WARNING: Removing unreachable block (ram,0x0001807774ba) */ /* WARNING: Removing unreachable block (ram,0x0001807774dc) */ /* WARNING: Removing unreachable block (ram,0x0001807779cb) */ /* WARNING: Removing unreachable block (ram,0x000180777d7a) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180777440(longlong *param_1,undefined8 param_2,undefined8 param_3) { char cVar1; uint uVar2; char *pcVar3; undefined8 uVar4; uint uVar5; ulonglong uVar6; longlong lVar7; char *pcVar8; undefined8 uVar9; undefined8 uVar10; undefined4 extraout_XMM0_Da; int unaff_retaddr; undefined1 auStack_2e8 [48]; undefined *local_2b8; uint local_2b0; undefined4 local_2a8 [2]; undefined4 *local_2a0; uint local_298; undefined4 local_290; char *local_288; undefined8 local_280; undefined8 local_278; undefined8 local_270; undefined8 uStack_268; undefined8 local_260; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2e8; uVar2 = (uint)&stack0x00000000 & 0xcff; uVar2 = (uVar2 + 1) * uVar2 + 0x34e5 & 0x80000001; local_298 = (int)(-uVar2 | uVar2) >> 0x1f & 0x75a7U ^ 0x78a7; local_2b0 = 0x6d0; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar8 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; local_280 = param_2; local_278 = param_3; FUN_180750800(local_1a8); local_270 = 0; uStack_268 = 0; local_260 = 0; do { uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); local_290 = 0x35501b9a; uVar4 = 0x147583c; local_2a0 = &DAT_18147583c; local_2b8 = &DAT_18147593c; if (param_1[5] != 0) { uVar2 = (((uint)(DAT_18147583c * 0x401) >> 6 ^ DAT_18147583c * 0x401) + DAT_181475840) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475844) * 0x401; do { FUN_180776159(0xea20,uVar4); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar2 = (DAT_181475848 + (uVar2 ^ uVar2 >> 6)) * 0x401; (**(code **)(*param_1 + 0x88))(param_1,local_280,&local_258); uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_18147584c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475850) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475854) * 0x401; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar2 = (DAT_181475858 + (uVar2 ^ uVar2 >> 6)) * 0x401; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar2 = (DAT_18147585c + (uVar2 ^ uVar2 >> 6)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475860) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475864) * 0x401; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar2 = (DAT_181475868 + (uVar2 ^ uVar2 >> 6)) * 0x401; (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_18147586c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475870) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475874) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475878) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_18147587c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475880) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475884) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475888) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_18147588c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475890) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475894) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_181475898) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_18147589c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1814758a0) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1814758a4) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1814758a8) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1814758ac) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1814758b0) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1814758b4) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758b8) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758bc) * 0x401; local_280 = 0x84; local_2b0 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758c0) * 0x401; local_2b0 = local_2b0 ^ local_2b0 >> 6; uVar10 = 0; local_2a8[0] = 0x84; uVar9 = 0xb64; uVar4 = 0x280; lVar7 = 0x88; uVar2 = (_UNK_1814758c4 + local_2b0) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758c8) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758cc) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758d0) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758d4) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758d8) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758dc) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758e0) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758e4) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758e8) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758ec) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758f0) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758f4) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758f8) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_1814758fc) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475900) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475904) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475908) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_18147590c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475910) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475914) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475918) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_18147591c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475920) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475924) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475928) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_18147592c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475930) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + _UNK_181475934) * 0x401; uVar6 = (ulonglong)((uVar2 >> 6 ^ uVar2) + _UNK_181475938); cVar1 = FUN_180777ffd(); *(char *)(uVar6 + 0x6c) = *(char *)(uVar6 + 0x6c) - cVar1; /* WARNING: Could not recover jumptable at 0x00018077818e. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)((longlong)register0x00000020 + -0xbdf8)) (extraout_XMM0_Da,lVar7 - (~(((-lVar7 ^ 0xffffffffffffffffU) + 1) - lVar7) + 1),uVar4, uVar9,(undefined1 *)((longlong)register0x00000020 + 0x22b1f), (undefined1 *)((longlong)register0x00000020 + -0x7e245), (undefined1 *)((longlong)register0x00000020 + -0x2c976), (undefined1 *)((longlong)register0x00000020 + 0x206),param_1,uVar10); return; } local_288 = (char *)FUN_1811316e0(0x18); if (local_288 != (char *)0x0) { FUN_1805a48c0(local_288,"ILok conduit not set"); } pcVar3 = (char *)FUN_1811316e0(0x18); if (pcVar3 != (char *)0x0) { local_288 = pcVar3; FUN_1805a48c0(pcVar3,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar3 = pace::PaceLocationInfoFormatter::vftable; pcVar8 = pcVar3; } local_2a8[0] = 0x421; local_288 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar8 + 8),&local_288); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_2a8); } ############ FUN_ 180779b70 size=524 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180779b70(longlong *param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2b8 [32]; undefined8 local_298; void **local_290; undefined4 local_288 [2]; char *local_280; void *local_278; undefined8 uStack_270; longlong local_268; undefined **local_258; undefined **local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined4 local_230; undefined2 local_22c; undefined1 local_22a; undefined **local_228; undefined8 local_220; undefined8 local_218; undefined8 uStack_210; undefined4 local_208; undefined2 local_204; undefined1 local_202; undefined4 local_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined4 local_1c8; undefined1 local_1c4; undefined8 local_1b8; undefined1 local_1a8 [352]; ulonglong local_48; local_1b8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_2b8; local_258 = pace::eden::thrift::ilok::CommandPacket::vftable; local_250 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_248 = 0; local_240 = 0; local_238 = 0; local_230 = 0; local_22c = 0; local_22a = 0; local_228 = pace::eden::thrift::ilok::CommandTarget::vftable; local_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; local_204 = 0; local_202 = 0; local_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 0; local_1c4 = 0; FUN_180750800(local_1a8); local_278 = (void *)0x0; uStack_270 = 0; local_268 = 0; if (param_1[5] == 0) { local_280 = (char *)FUN_1811316e0(0x18); if (local_280 != (char *)0x0) { FUN_1805a48c0(local_280,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_280 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_288[0] = 0xa34; local_280 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_280); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_288); } (**(code **)(*param_1 + 0x188))(param_1,param_2,&local_258); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_258,local_1a8); local_290 = &local_278; local_298 = param_3; (**(code **)(*param_1 + 0x250))(param_1,local_1a8,0,0); if (local_278 == (void *)0x0) { FUN_180750cf0(local_1a8); FUN_180750a50(&local_258); } _Memory = local_278; if ((0xfff < (ulonglong)(local_268 - (longlong)local_278)) && (_Memory = *(void **)((longlong)local_278 + -8), 0x1f < (ulonglong)((longlong)local_278 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180779e20 size=533 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180779e20(longlong *param_1,undefined1 param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2c8 [32]; undefined8 local_2a8; void **local_2a0; undefined4 local_298 [2]; char *local_290; void *local_288; undefined8 uStack_280; longlong local_278; undefined **local_268; undefined **local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined4 local_240; undefined2 local_23c; undefined1 local_23a; undefined **local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined4 local_218; undefined2 local_214; undefined1 local_212; undefined4 local_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined1 local_1d4; undefined8 local_1c8; undefined1 local_1b8 [352]; ulonglong local_58; local_1c8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_2c8; local_268 = pace::eden::thrift::ilok::CommandPacket::vftable; local_260 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_258 = 0; local_250 = 0; local_248 = 0; local_240 = 0; local_23c = 0; local_23a = 0; local_238 = pace::eden::thrift::ilok::CommandTarget::vftable; local_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; local_214 = 0; local_212 = 0; local_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; local_1d4 = 0; FUN_180750800(local_1b8); local_288 = (void *)0x0; uStack_280 = 0; local_278 = 0; if (param_1[5] == 0) { local_290 = (char *)FUN_1811316e0(0x18); if (local_290 != (char *)0x0) { FUN_1805a48c0(local_290,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_290 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_298[0] = 0x2f5; local_290 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_290); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_298); } (**(code **)(*param_1 + 0x1b0))(param_1,param_2,param_3,&local_268); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_268,local_1b8); local_2a0 = &local_288; local_2a8 = param_4; (**(code **)(*param_1 + 0x250))(param_1,local_1b8,0,0); if (local_288 == (void *)0x0) { FUN_180750cf0(local_1b8); FUN_180750a50(&local_268); } _Memory = local_288; if ((0xfff < (ulonglong)(local_278 - (longlong)local_288)) && (_Memory = *(void **)((longlong)local_288 + -8), 0x1f < (ulonglong)((longlong)local_288 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18077a070 size=566 ############ void FUN_18077a070(longlong *param_1,char param_2,undefined8 param_3,longlong param_4) { char *pcVar1; undefined8 uVar2; longlong lVar3; char *local_res8; int local_res10 [2]; ulonglong in_stack_ffffffffffffff68; undefined1 local_78 [24]; undefined4 local_60; undefined1 local_5c [36]; if (((byte)*(undefined4 *)((longlong)param_1 + 0x3c4) & 0xf) != 0xd) { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 != (char *)0x0) { FUN_1805a48c0(local_res8,"This command requires the use of the authority connection"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_res8 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res10[0] = 0x321; local_res8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_res10); } (**(code **)(*param_1 + 0x2a0)) (param_1,local_78,param_4,0x30,in_stack_ffffffffffffff68 & 0xffffffffffffff00); if (param_2 == '\0') { local_60 = 0; } else { local_60 = FUN_180766750(); } (**(code **)(*param_1 + 0x2a8))(param_1,param_3,0,0,local_5c,(undefined8 *)(param_4 + 0x78)); local_res10[0] = (int)*(undefined8 *)(param_4 + 0x80) - (int)*(undefined8 *)(param_4 + 0x78); if (local_res10[0] - 1U < 0x1f0) { (**(code **)(*param_1 + 0x290))(param_1,0x40,local_78,param_4,1); return; } local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8,"Bad signature, target and command size (%d)"); } pcVar1 = (char *)FUN_1811316e0(0x18); local_res8 = pcVar1; if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar3 + 8),local_res10); local_res10[0] = 0x343; local_res8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_res10); } ############ FUN_ 18077a2d0 size=528 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18077a2d0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2c8 [32]; undefined8 local_2a8; void **local_2a0; undefined4 local_298 [2]; char *local_290; void *local_288; undefined8 uStack_280; longlong local_278; undefined **local_268; undefined **local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined4 local_240; undefined2 local_23c; undefined1 local_23a; undefined **local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined4 local_218; undefined2 local_214; undefined1 local_212; undefined4 local_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined1 local_1d4; undefined8 local_1c8; undefined1 local_1b8 [352]; ulonglong local_58; local_1c8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_2c8; local_268 = pace::eden::thrift::ilok::CommandPacket::vftable; local_260 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_258 = 0; local_250 = 0; local_248 = 0; local_240 = 0; local_23c = 0; local_23a = 0; local_238 = pace::eden::thrift::ilok::CommandTarget::vftable; local_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; local_214 = 0; local_212 = 0; local_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; local_1d4 = 0; FUN_180750800(local_1b8); local_288 = (void *)0x0; uStack_280 = 0; local_278 = 0; if (param_1[5] == 0) { local_290 = (char *)FUN_1811316e0(0x18); if (local_290 != (char *)0x0) { FUN_1805a48c0(local_290,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_290 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_298[0] = 0x1a1; local_290 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_290); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_298); } (**(code **)(*param_1 + 0x30))(param_1,param_2,param_3,&local_268); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_268,local_1b8); local_2a0 = &local_288; local_2a8 = param_4; (**(code **)(*param_1 + 0x250))(param_1,local_1b8,0,0); if (local_288 == (void *)0x0) { FUN_180750cf0(local_1b8); FUN_180750a50(&local_268); } _Memory = local_288; if ((0xfff < (ulonglong)(local_278 - (longlong)local_288)) && (_Memory = *(void **)((longlong)local_288 + -8), 0x1f < (ulonglong)((longlong)local_288 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18077a520 size=563 ############ void FUN_18077a520(longlong *param_1,undefined4 *param_2,undefined8 *param_3,longlong param_4) { int iVar1; undefined8 *puVar2; undefined8 uVar3; longlong lVar4; char *pcVar5; int iVar6; undefined8 *local_res8; char *local_res10; char *local_res18; undefined1 local_78 [24]; undefined4 local_60; undefined4 uStack_5c; undefined4 uStack_58; undefined4 uStack_54; iVar1 = param_2[3]; local_res10 = (char *)CONCAT44(local_res10._4_4_,iVar1); if (((byte)*(undefined4 *)((longlong)param_1 + 0x3c4) & 0xf) != 0xd) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"This command requires the use of the authority connection"); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1cb); local_res18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(puVar2[1],&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } (**(code **)(*param_1 + 0x2a0))(param_1,local_78,param_4,5,0); local_60 = *param_2; uStack_5c = param_2[1]; uStack_58 = param_2[2]; uStack_54 = param_2[3]; iVar6 = (int)param_3[1] - (int)*param_3; local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar6); if ((iVar6 - 0x101U < 0x1300) && (iVar6 == iVar1)) { FUN_1805b1a40(param_4 + 0x78,*param_3,param_3[1]); (**(code **)(*param_1 + 0x290))(param_1,0x30,local_78,param_4,1); return; } local_res18 = (char *)FUN_1811316e0(0x18); if (local_res18 == (char *)0x0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_res18, "Bad cert chain size: dwTotalSize_CertChain (%d), in_vCertChain.size (%d)" ); } pcVar5 = (char *)FUN_1811316e0(0x18); local_res18 = pcVar5; if (pcVar5 == (char *)0x0) { pcVar5 = (char *)0x0; } else { FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar4 + 8),&local_res10); FUN_18060e760(*(undefined8 *)(lVar4 + 8),&local_res8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1df); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar5 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } ############ FUN_ 18077a780 size=258 ############ void FUN_18077a780(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; undefined8 *local_res8; char *local_res18 [2]; if (((byte)*(undefined4 *)((longlong)param_1 + 0x3c4) & 0xf) == 0xd) { (**(code **)(*param_1 + 0x2a8))(param_1,param_2,param_3,param_4,0,0,0xfffffffffffffffe); return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"This command requires the use of the authority connection"); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d"); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1f7); local_res18[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res8); } ############ FUN_ 18077a8a0 size=531 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18077a8a0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; undefined8 uVar2; void *_Memory; char *pcVar3; undefined1 auStack_2c8 [32]; undefined8 local_2a8; void **local_2a0; undefined4 local_298 [2]; char *local_290; void *local_288; undefined8 uStack_280; longlong local_278; undefined **local_268; undefined **local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined4 local_240; undefined2 local_23c; undefined1 local_23a; undefined **local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined4 local_218; undefined2 local_214; undefined1 local_212; undefined4 local_210; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined8 uStack_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined1 local_1d4; undefined8 local_1c8; undefined1 local_1b8 [352]; ulonglong local_58; local_1c8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_2c8; local_268 = pace::eden::thrift::ilok::CommandPacket::vftable; local_260 = pace::eden::thrift::ilok::CommandTarget::vftable; pcVar3 = (char *)0x0; local_258 = 0; local_250 = 0; local_248 = 0; local_240 = 0; local_23c = 0; local_23a = 0; local_238 = pace::eden::thrift::ilok::CommandTarget::vftable; local_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; local_214 = 0; local_212 = 0; local_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = 0; uStack_1f0 = 0; local_1e8 = 0; uStack_1e0 = 0; local_1d8 = 0; local_1d4 = 0; FUN_180750800(local_1b8); local_288 = (void *)0x0; uStack_280 = 0; local_278 = 0; if (param_1[5] == 0) { local_290 = (char *)FUN_1811316e0(0x18); if (local_290 != (char *)0x0) { FUN_1805a48c0(local_290,"ILok conduit not set"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_290 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar3 = pcVar1; } local_298[0] = 0x6b0; local_290 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar3 + 8),&local_290); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_298); } (**(code **)(*param_1 + 0xf8))(param_1,param_2,param_3,&local_268); (**(code **)(*(longlong *)param_1[5] + 8))((longlong *)param_1[5],&local_268,local_1b8); local_2a0 = &local_288; local_2a8 = param_4; (**(code **)(*param_1 + 0x250))(param_1,local_1b8,0,0); if (local_288 == (void *)0x0) { FUN_180750cf0(local_1b8); FUN_180750a50(&local_268); } _Memory = local_288; if ((0xfff < (ulonglong)(local_278 - (longlong)local_288)) && (_Memory = *(void **)((longlong)local_288 + -8), 0x1f < (ulonglong)((longlong)local_288 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18077aaf0 size=300 ############ void FUN_18077aaf0(longlong *param_1,undefined4 *param_2,longlong *param_3,longlong param_4) { longlong lVar1; undefined8 uVar2; longlong local_res8; char *local_res10; undefined1 local_58 [24]; undefined4 local_40; undefined4 uStack_3c; undefined4 uStack_38; undefined4 uStack_34; undefined8 local_30; undefined4 local_28; (**(code **)(*param_1 + 0x2a0))(param_1,local_58,param_4,0x15,0); local_40 = *param_2; uStack_3c = param_2[1]; uStack_38 = param_2[2]; uStack_34 = param_2[3]; local_30 = *(undefined8 *)(param_2 + 4); local_28 = param_2[6]; if (param_3[1] != *param_3) { if (param_3[1] - *param_3 != 0x10) { local_res8 = FUN_1811316e0(0x18); if (local_res8 != 0) { FUN_1805a48c0(local_res8,"ILok conduit not set"); } lVar1 = FUN_1805c0260(); local_res8 = CONCAT44(local_res8._4_4_,0x702); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res8); } FUN_1805b1a40(param_4 + 0x78,*param_3,param_3[1]); } (**(code **)(*param_1 + 0x290))(param_1,0x40,local_58,param_4,1); return; } ############ FUN_ 18077ada0 size=161 ############ void FUN_18077ada0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res18; char *local_res20; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"Need at least a Sarducci subclass to execute augmentFrameKey",param_3 ,param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x15ed); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res18); } ############ FUN_ 18077be50 size=902 ############ /* WARNING: Instruction at (ram,0x00018077cadd) overlaps instruction at (ram,0x00018077cad6) */ /* WARNING: Removing unreachable block (ram,0x00018077ca84) */ /* WARNING: Removing unreachable block (ram,0x00018077bece) */ /* WARNING: Removing unreachable block (ram,0x00018077c3df) */ /* WARNING: Removing unreachable block (ram,0x00018077ca8e) */ /* WARNING: Removing unreachable block (ram,0x00018077ca93) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_18077be50(longlong param_1,uint param_2,void *param_3,longlong param_4,char param_5) { int iVar1; int iVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; undefined8 *puVar9; longlong *plVar10; undefined1 *puVar11; undefined1 uVar12; uint uVar13; uint uVar14; uint uVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; int *piVar21; char *pcVar22; char *pcVar23; undefined8 uVar24; longlong lVar25; uint uVar26; uint uVar27; void *pvVar28; longlong lVar29; int iVar30; char *pcVar31; longlong lVar32; undefined1 *puVar33; ulonglong uVar34; ulonglong uVar35; ulonglong uVar36; void *pvVar37; uint uVar38; undefined4 *puVar39; bool bVar40; undefined4 uVar41; int unaff_retaddr; uint auStackX_8 [2]; uint local_res10 [2]; void *local_res18; undefined8 *local_res20; undefined1 auStack_358 [32]; longlong lStack_338; uint local_328 [2]; undefined1 *local_320; uint local_318; int *local_310; longlong *local_308; undefined8 local_2f8; uint *puStack_2f0; undefined4 local_2e8 [2]; undefined4 auStack_2e0 [2]; undefined4 auStack_2d8 [2]; undefined4 uStack_2d0; undefined4 uStack_2cb; undefined3 uStack_2c7; int local_2c4; char *local_2c0; char *pcStack_2b8; char *pcStack_2b0; char *pcStack_2a8; undefined8 local_2a0; undefined4 uStack_298; undefined4 uStack_294; undefined8 uStack_290; longlong alStack_288 [73]; local_2a0 = 0xfffffffffffffffe; uVar38 = (uint)&stack0x00000000 & 0x7ff; uVar38 = (uVar38 + 1) * uVar38 + 0x507b & 0x80000001; uVar38 = (int)(-uVar38 | uVar38) >> 0x1f & 0x6ea2U ^ 0x6f42; uStack_2cb._3_1_ = (undefined1)uVar38; uStack_2c7 = (undefined3)(uVar38 >> 8); pcVar31 = (char *)0x0; local_2c4 = 0xbe0; local_2f8 = (longlong *)0x2621fc0; local_308 = (longlong *)0x1171ff4; piVar21 = &DAT_181171ff4; local_320 = &LAB_1811720f4; local_328[0] = 0x46c91e47; local_res10[0] = param_2; local_res18 = param_3; local_res20 = (undefined8 *)param_4; local_318 = param_2; if (0x3f < param_2 - 1) { local_310 = piVar21; local_2c0 = (char *)FUN_1811316e0(0x18); pcVar22 = pcVar31; if (local_2c0 != (char *)0x0) { pcVar22 = (char *)FUN_1805a48c0(local_2c0, "Bad command frame size (%d) while finalizing the command"); } pcVar23 = (char *)FUN_1811316e0(0x18); local_2c0 = pcVar23; if (pcVar23 != (char *)0x0) { FUN_1805a48c0(pcVar23,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar23 = pace::PaceLocationInfoFormatter::vftable; pcVar31 = pcVar23; } FUN_18060e760(*(undefined8 *)(pcVar22 + 8),local_res10); local_2e8[0] = 0x1602; local_2c0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar24 = FUN_1805a21d0(*(undefined8 *)(pcVar31 + 8),&local_2c0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar24,local_2e8); } uVar38 = ((uint)(_UNK_181172004 * 0x5bd1e995) >> 0x18 ^ _UNK_181172004 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181172000 * 0x5bd1e995) >> 0x18 ^ _UNK_181172000 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_181171ffc * 0x5bd1e995) >> 0x18 ^ DAT_181171ffc * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_181171ff8 * 0x5bd1e995) >> 0x18 ^ DAT_181171ff8 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_181171ff4 * 0x5bd1e995) >> 0x18 ^ DAT_181171ff4 * 0x5bd1e995) * 0x5bd1e995 ^ 0x70659afa) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; puVar39 = (undefined4 *)(ulonglong)uVar38; local_308 = (longlong *)(param_4 + 0x78); uVar35 = *(longlong *)(param_4 + 0x80) - *local_308; local_328[0] = ((uint)(_UNK_181172030 * 0x5bd1e995) >> 0x18 ^ _UNK_181172030 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_18117202c * 0x5bd1e995) >> 0x18 ^ _UNK_18117202c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181172028 * 0x5bd1e995) >> 0x18 ^ _UNK_181172028 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181172024 * 0x5bd1e995) >> 0x18 ^ _UNK_181172024 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181172020 * 0x5bd1e995) >> 0x18 ^ _UNK_181172020 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_18117201c * 0x5bd1e995) >> 0x18 ^ _UNK_18117201c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181172018 * 0x5bd1e995) >> 0x18 ^ _UNK_181172018 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181172014 * 0x5bd1e995) >> 0x18 ^ _UNK_181172014 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181172010 * 0x5bd1e995) >> 0x18 ^ _UNK_181172010 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_18117200c * 0x5bd1e995) >> 0x18 ^ _UNK_18117200c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181172008 * 0x5bd1e995) >> 0x18 ^ _UNK_181172008 * 0x5bd1e995) * 0x5bd1e995 ^ uVar38 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; local_310 = (int *)uVar35; if ((int)uVar35 != 0) { uVar38 = FUN_180700270(*(undefined4 *)(param_1 + 0x3cc)); if (param_5 != '\0') { uVar35 = (ulonglong)((int)uVar35 + 4); local_310 = (int *)uVar35; } iVar30 = (int)((uVar35 & 0xffffffff) % (ulonglong)uVar38); if (iVar30 != 0) { uVar35 = (ulonglong)((int)uVar35 + (uVar38 - iVar30)); local_310 = (int *)uVar35; } uVar12 = FUN_180603ca0(); auStackX_8[0] = CONCAT31(auStackX_8[0]._1_3_,uVar12); local_2f8 = local_308; plVar10 = local_2f8; puStack_2f0 = auStackX_8; local_2f8._0_4_ = SUB84(local_308,0); local_2f8._4_4_ = (undefined4)((ulonglong)local_308 >> 0x20); uStack_298 = (undefined4)local_2f8; uStack_294 = local_2f8._4_4_; puVar39 = &uStack_298; local_2f8 = plVar10; uStack_290 = puStack_2f0; FUN_1805e1ee0(local_308,uVar35 & 0xffffffff); } do { uVar38 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar38 < 0) { uVar38 = (uVar38 - 1 | 0xfffffffe) + 1; } } while (uVar38 != 0); uVar38 = _UNK_181172034 * 0x5bd1e995; uVar13 = local_328[0] * 0x5bd1e995; uVar14 = _UNK_181172038 * 0x5bd1e995; uVar15 = _UNK_18117203c * 0x5bd1e995; uVar16 = _UNK_181172040 * 0x5bd1e995; uVar17 = _UNK_181172044 * 0x5bd1e995; do { func_0x00018077acb9(); /* WARNING: Call to offcut address within same function */ func_0x00018077cdda(); uVar26 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar26 < 0) { uVar26 = (uVar26 - 1 | 0xfffffffe) + 1; } } while (uVar26 != 0); uVar26 = _UNK_181172048 * 0x5bd1e995; uVar18 = _UNK_18117204c * 0x5bd1e995; uVar19 = _UNK_181172050 * 0x5bd1e995; uVar20 = _UNK_181172054 * 0x5bd1e995; pcVar31 = (char *)0x0; do { bVar40 = false; uVar35 = 0xed14; /* WARNING: Call to offcut address within same function */ func_0x00018077c61b(); pvVar37 = local_res18; if (bVar40) { lVar25 = (longlong)puVar39 + (longlong)piVar21; puVar39 = (undefined4 *)((longlong)piVar21 - lVar25); if ((uVar35 & 0xe700) == 0) { uStack_2cb = uStack_2cb + -1; } else { puVar39 = (undefined4 *)(((ulonglong)puVar39 ^ 0xffffffffffffffff) + 1); } piVar21 = (int *)(lVar25 - (longlong)puVar39); } uVar27 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar27 < 0) { uVar27 = (uVar27 - 1 | 0xfffffffe) + 1; } } while (uVar27 != 0); iVar30 = piVar21[0x19]; iVar1 = piVar21[0x1a]; iVar2 = piVar21[0x1b]; iVar3 = piVar21[0x1c]; iVar4 = piVar21[0x1d]; iVar5 = piVar21[0x1e]; iVar6 = piVar21[0x1f]; *(int *)((longlong)local_res18 + 0x14) = (int)local_310; local_328[0] = FUN_18061e5a0((longlong)local_res18 + 4,(ulonglong)local_318 - 4 >> 2,0,local_res18 ); uVar38 = (((uint)(piVar21[0x23] * 0x5bd1e995) >> 0x18 ^ piVar21[0x23] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(piVar21[0x22] * 0x5bd1e995) >> 0x18 ^ piVar21[0x22] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(piVar21[0x21] * 0x5bd1e995) >> 0x18 ^ piVar21[0x21] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(piVar21[0x20] * 0x5bd1e995) >> 0x18 ^ piVar21[0x20] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar6 * 0x5bd1e995) >> 0x18 ^ iVar6 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar5 * 0x5bd1e995) >> 0x18 ^ iVar5 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar4 * 0x5bd1e995) >> 0x18 ^ iVar4 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar3 * 0x5bd1e995) >> 0x18 ^ iVar3 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar2 * 0x5bd1e995) >> 0x18 ^ iVar2 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar1 * 0x5bd1e995) >> 0x18 ^ iVar1 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar30 * 0x5bd1e995) >> 0x18 ^ iVar30 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar20 >> 0x18 ^ uVar20) * 0x5bd1e995 ^ ((uVar19 >> 0x18 ^ uVar19) * 0x5bd1e995 ^ ((uVar18 >> 0x18 ^ uVar18) * 0x5bd1e995 ^ ((uVar26 >> 0x18 ^ uVar26) * 0x5bd1e995 ^ ((uVar17 >> 0x18 ^ uVar17) * 0x5bd1e995 ^ ((uVar16 >> 0x18 ^ uVar16) * 0x5bd1e995 ^ ((uVar15 >> 0x18 ^ uVar15) * 0x5bd1e995 ^ ((uVar14 >> 0x18 ^ uVar14) * 0x5bd1e995 ^ ((uVar38 >> 0x18 ^ uVar38) * 0x5bd1e995 ^ uVar13) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995 ^ ((uint)(piVar21[0x24] * 0x5bd1e995) >> 0x18 ^ piVar21[0x24] * 0x5bd1e995) * 0x5bd1e995; local_320 = (undefined1 *)CONCAT44(local_320._4_4_,uVar38); if (local_328[0] != 0) { pcStack_2b8 = (char *)FUN_1811316e0(0x18); if (pcStack_2b8 == (char *)0x0) { local_2f8 = (longlong *)0x0; } else { local_2f8 = (longlong *) FUN_1805a48c0(pcStack_2b8, "[%d] UTILS_CRC32 error setting the CRC in the command frame"); } pcVar22 = (char *)FUN_1811316e0(0x18); pcStack_2b8 = pcVar22; if (pcVar22 != (char *)0x0) { FUN_1805a48c0(pcVar22,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar22 = pace::PaceLocationInfoFormatter::vftable; pcVar31 = pcVar22; } FUN_18060e760(*(undefined8 *)((longlong)local_2f8 + 8),local_328); auStack_2e0[0] = 0x1636; pcStack_2b8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar24 = FUN_1805a21d0(*(undefined8 *)(pcVar31 + 8),&pcStack_2b8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar24,auStack_2e0); } uVar38 = (((uint)(piVar21[0x28] * 0x5bd1e995) >> 0x18 ^ piVar21[0x28] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(piVar21[0x27] * 0x5bd1e995) >> 0x18 ^ piVar21[0x27] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(piVar21[0x26] * 0x5bd1e995) >> 0x18 ^ piVar21[0x26] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(piVar21[0x25] * 0x5bd1e995) >> 0x18 ^ piVar21[0x25] * 0x5bd1e995) * 0x5bd1e995 ^ uVar38 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995 ^ ((uint)(piVar21[0x29] * 0x5bd1e995) >> 0x18 ^ piVar21[0x29] * 0x5bd1e995) * 0x5bd1e995; local_320 = (undefined1 *)CONCAT44(local_320._4_4_,uVar38); if ((*(int *)(param_1 + 0x3bc) != 0) && (*(longlong *)(param_1 + 0x10) != 0)) { pcStack_2b0 = (char *)FUN_1811316e0(0x18); if (pcStack_2b0 == (char *)0x0) { local_2f8 = (longlong *)0x0; } else { local_2f8 = (longlong *) FUN_1805a48c0(pcStack_2b0, "Cannot batch command while the hashing commands option is enabled") ; } lVar25 = FUN_1805c0260(); auStack_2d8[0] = 0x163e; pcStack_2b0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar24 = FUN_1805a21d0(*(undefined8 *)(lVar25 + 8),&pcStack_2b0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar24,auStack_2d8); } iVar30 = piVar21[0x2a]; if (*(int *)(param_1 + 0x3bc) == 1) { *(undefined4 *)(param_1 + 0x3bc) = 0; (**(code **)(*(longlong *)(param_1 + 0x230) + 0x20)) ((longlong *)(param_1 + 0x230),pvVar37,local_318); *(undefined4 *)(param_1 + 0x3bc) = 1; } iVar1 = piVar21[0x2b]; iVar2 = piVar21[0x2c]; iVar3 = piVar21[0x2d]; iVar4 = piVar21[0x2e]; iVar5 = piVar21[0x2f]; local_2f8 = (longlong *)0xac77772e6d291af0; auStackX_8[0] = 0x6d291af0; iVar6 = piVar21[0x30]; iVar7 = piVar21[0x31]; iVar8 = piVar21[0x32]; do { func_0x00018077e9d3(); puVar9 = local_res20; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); local_res10[0] = ((uint)(piVar21[0x34] * 0x5bd1e995) >> 0x18 ^ piVar21[0x34] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(piVar21[0x33] * 0x5bd1e995) >> 0x18 ^ piVar21[0x33] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar8 * 0x5bd1e995) >> 0x18 ^ iVar8 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar7 * 0x5bd1e995) >> 0x18 ^ iVar7 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar6 * 0x5bd1e995) >> 0x18 ^ iVar6 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar5 * 0x5bd1e995) >> 0x18 ^ iVar5 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar4 * 0x5bd1e995) >> 0x18 ^ iVar4 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar3 * 0x5bd1e995) >> 0x18 ^ iVar3 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar2 * 0x5bd1e995) >> 0x18 ^ iVar2 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar1 * 0x5bd1e995) >> 0x18 ^ iVar1 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar30 * 0x5bd1e995) >> 0x18 ^ iVar30 * 0x5bd1e995) * 0x5bd1e995 ^ uVar38 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; local_2f8 = (longlong *)((ulonglong)local_318 + (longlong)pvVar37); uVar34 = (longlong)local_2f8 - (longlong)local_res18; pvVar37 = *(void **)((longlong)local_res20 + 0x60); uVar36 = *(longlong *)((longlong)local_res20 + 0x68) - (longlong)pvVar37; uVar35 = *(longlong *)((longlong)local_res20 + 0x70) - (longlong)pvVar37; if (uVar35 < uVar34) { if (0x7fffffffffffffff < uVar34) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar36 = uVar34; if ((uVar35 <= 0x7fffffffffffffff - (uVar35 >> 1)) && (uVar36 = uVar35 + (uVar35 >> 1), uVar36 < uVar34)) { uVar36 = uVar34; } if (pvVar37 != (void *)0x0) { pvVar28 = pvVar37; if ((0xfff < uVar35) && (pvVar28 = *(void **)((longlong)pvVar37 + -8), 0x1f < (ulonglong)((longlong)pvVar37 + (-8 - (longlong)pvVar28)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar28); } FUN_1805bbbc0((longlong)local_res20 + 0x60,uVar36); pvVar37 = *(void **)((longlong)puVar9 + 0x60); memmove(pvVar37,local_res18,uVar34); *(ulonglong *)((longlong)puVar9 + 0x68) = uVar34 + (longlong)pvVar37; } else if (uVar36 < uVar34) { pvVar28 = (void *)(uVar36 + (longlong)local_res18); memmove(pvVar37,local_res18,(longlong)pvVar28 - (longlong)local_res18); pvVar37 = *(void **)((longlong)puVar9 + 0x68); local_2f8 = (longlong *)((longlong)local_2f8 - (longlong)pvVar28); memmove(pvVar37,pvVar28,(size_t)local_2f8); *(longlong *)((longlong)puVar9 + 0x68) = (longlong)local_2f8 + (longlong)pvVar37; } else { memmove(pvVar37,local_res18,uVar34); *(ulonglong *)((longlong)puVar9 + 0x68) = uVar34 + (longlong)pvVar37; } iVar30 = piVar21[0x35]; uVar38 = local_res10[0] * 0x5bd1e995; lStack_338 = param_1 + 0x3f8; FUN_18063c260(alStack_288,*(undefined4 *)(param_1 + 0x3cc),1,0); (**(code **)(alStack_288[0] + 0x40))(alStack_288,(longlong)puVar9 + 0x60); plVar10 = local_308; iVar1 = piVar21[0x36]; iVar2 = piVar21[0x37]; if ((int)local_310 != 0) { if (param_5 != '\0') { local_328[0] = FUN_18061e5a0(*local_308,((ulonglong)local_310 & 0xffffffff) - 4 >> 2,0,0); if (local_328[0] != 0) { local_res20 = (undefined8 *)FUN_1811316e0(0x18); if (local_res20 == (undefined8 *)0x0) { local_res20 = (undefined8 *)0x0; } else { local_res20 = (undefined8 *) FUN_1805a48c0(local_res20, "[%d] UTILS_CRC32 error setting the CRC in the extra command data" ); } lVar25 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)((longlong)local_res20 + 8),local_328); uStack_2d0 = 0x166c; pcStack_2a8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar24 = FUN_1805a21d0(*(undefined8 *)(lVar25 + 8),&pcStack_2a8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar24,&uStack_2d0); } } if (*(int *)(param_1 + 0x3bc) == 1) { *(undefined4 *)(param_1 + 0x3bc) = 0; (**(code **)(*(longlong *)(param_1 + 0x230) + 0x18))((longlong *)(param_1 + 0x230),plVar10); *(undefined4 *)(param_1 + 0x3bc) = 1; } (**(code **)(alStack_288[0] + 0x40))(alStack_288,plVar10); } iVar3 = piVar21[0x38]; iVar4 = piVar21[0x39]; iVar5 = piVar21[0x3a]; iVar6 = piVar21[0x3b]; lVar25 = *(longlong *)(param_1 + 8); local_res20 = *(undefined8 **)(lVar25 + 8); pvVar37 = local_res18; uVar24 = FUN_18074eca0(param_1 + 8,lVar25,local_res20,local_res18); if (*(longlong *)(param_1 + 0x10) != 0x333333333333332) { *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + 1; *(undefined8 *)(lVar25 + 8) = uVar24; *local_res20 = uVar24; uVar38 = ((uint)(piVar21[0x3d] * 0x5bd1e995) >> 0x18 ^ piVar21[0x3d] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(piVar21[0x3c] * 0x5bd1e995) >> 0x18 ^ piVar21[0x3c] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar6 * 0x5bd1e995) >> 0x18 ^ iVar6 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar5 * 0x5bd1e995) >> 0x18 ^ iVar5 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar4 * 0x5bd1e995) >> 0x18 ^ iVar4 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar3 * 0x5bd1e995) >> 0x18 ^ iVar3 * 0x5bd1e995) * 0x5bd1e995 ^ ((((uint)(iVar1 * 0x5bd1e995) >> 0x18 ^ iVar1 * 0x5bd1e995) * 0x5bd1e995 ^ (uVar38 ^ ((uint)(iVar30 * 0x5bd1e995) >> 0x18 ^ iVar30 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995 ^ ((uint)(iVar2 * 0x5bd1e995) >> 0x18 ^ iVar2 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; uVar35 = (ulonglong)uVar38; uVar38 = ((uint)(piVar21[0x3e] * 0x5bd1e995) >> 0x18 ^ piVar21[0x3e] * 0x5bd1e995) * 0x5bd1e995 ^ uVar38 * 0x5bd1e995; uVar34 = (ulonglong)uVar38; uVar38 = uVar38 * 0x5bd1e995 ^ ((uint)(piVar21[0x3f] * 0x5bd1e995) >> 0x18 ^ piVar21[0x3f] * 0x5bd1e995) * 0x5bd1e995; uVar38 = (uVar38 << 0x19 | uVar38 >> 7) + 0x541c3b87; *(int *)(param_1 + 0x3d8) = *(int *)(param_1 + 0x3d8) + 1; if ((uVar38 >> 0x1a | uVar38 * 0x40) != auStackX_8[0]) { uVar41 = FUN_18077c3dc(); uVar24 = thunk_FUN_1805a9280(uVar41,-((uVar35 ^ 0xffffffffffffffff) + 1), (~uVar34 + 1 ^ 0xffffffffffffffff) + 1, ~(((ulonglong)pvVar37 ^ 0xffffffffffffffff) + 1) + 1); return uVar24; } lVar32 = (longlong)local_2c4; puVar11 = auStack_358; do { puVar33 = puVar11; *(undefined8 *)(puVar33 + -8) = 0x18077d058; lVar29 = lVar32; FUN_18077dfe3(); *(ulonglong *)(puVar33 + -8) = uVar35; *(longlong *)(puVar33 + -0x10) = param_1; *(longlong *)(puVar33 + -0x18) = lVar25; lVar29 = -lVar29; lVar25 = *(longlong *)(puVar33 + lVar29 + 0xbc8); param_1 = *(longlong *)(puVar33 + lVar29 + 0xbd0); uVar35 = *(ulonglong *)(puVar33 + lVar29 + 0xbd8); uVar38 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar38 < 0) { uVar38 = (uVar38 - 1 | 0xfffffffe) + 1; } puVar11 = puVar33 + lVar29 + 0xbe0; } while (uVar38 != 0); *(undefined8 *)(puVar33 + lVar29 + 0xbd8) = 0x18077d11d; uVar24 = FUN_18063cad0(alStack_288); return uVar24; } /* WARNING: Subroutine does not return */ std::_Xlength_error("list too long"); } ############ FUN_ 18077d150 size=2714 ############ /* WARNING: Instruction at (ram,0x00018077d8fb) overlaps instruction at (ram,0x00018077d8fa) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018077d8fe) */ /* WARNING: Removing unreachable block (ram,0x00018077d2bc) */ /* WARNING: Removing unreachable block (ram,0x00018077d8fb) */ /* WARNING: Removing unreachable block (ram,0x00018077d2c5) */ /* WARNING: Heritage AFTER dead removal. Example location: s0x00000000 : 0x00018077d7a7 */ /* WARNING: Removing unreachable block (ram,0x00018077d23a) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_18077d150(undefined8 param_1,longlong param_2,int *param_3) { char *pcVar1; char *pcVar2; undefined8 uVar3; uint uVar4; uint uVar5; char *pcVar6; int unaff_retaddr; uint local_res10; undefined4 local_80 [2]; uint *local_78; int local_70 [6]; char *local_58 [3]; undefined8 local_40; local_40 = 0xfffffffffffffffe; local_70[0] = *(int *)(param_2 + 0x18); local_78 = &DAT_181533e68; pcVar6 = (char *)0x0; if (local_70[0] == *param_3) { uVar4 = ((((((((((DAT_181533e68 ^ 0x811c9e29) * 0x10001ab ^ DAT_181533e6c) * 0x10001ab ^ DAT_181533e70) * 0x10001ab ^ DAT_181533e74) * 0x10001ab ^ DAT_181533e78) * 0x10001ab ^ DAT_181533e7c) * 0x10001ab ^ DAT_181533e80) * 0x10001ab ^ DAT_181533e84 ) * 0x10001ab ^ DAT_181533e88) * 0x10001ab ^ DAT_181533e8c) * 0x10001ab ^ DAT_181533e90; do { FUN_18077de06(); func_0x0001807779cd(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_80[0] = 0xe16209c5; uVar4 = (((((((((uVar4 * 0x10001ab ^ DAT_181533e94) * 0x10001ab ^ DAT_181533e98) * 0x10001ab ^ DAT_181533e9c) * 0x10001ab ^ DAT_181533ea0) * 0x10001ab ^ DAT_181533ea4) * 0x10001ab ^ DAT_181533ea8) * 0x10001ab ^ DAT_181533eac) * 0x10001ab ^ DAT_181533eb0) * 0x10001ab ^ DAT_181533eb4) * 0x10001ab ^ DAT_181533eb8; do { /* WARNING: Call to offcut address within same function */ func_0x00018077d5c2(0x7438); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_res10 = (((((((((((((uVar4 * 0x10001ab ^ DAT_181533ebc) * 0x10001ab ^ DAT_181533ec0) * 0x10001ab ^ DAT_181533ec4) * 0x10001ab ^ DAT_181533ec8) * 0x10001ab ^ DAT_181533ecc) * 0x10001ab ^ DAT_181533ed0) * 0x10001ab ^ DAT_181533ed4) * 0x10001ab ^ DAT_181533ed8) * 0x10001ab ^ DAT_181533edc) * 0x10001ab ^ DAT_181533ee0) * 0x10001ab ^ DAT_181533ee4) * 0x10001ab ^ DAT_181533ee8) * 0x10001ab ^ DAT_181533eec) * 0x10001ab; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { local_res10 = local_res10 ^ DAT_181533ef0; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_res10 = local_res10 * 0x10001ab; do { local_res10 = local_res10 ^ DAT_181533ef4; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_res10 = ((local_res10 * 0x10001ab ^ DAT_181533ef8) * 0x10001ab ^ DAT_181533efc) * 0x10001ab; do { uVar3 = 0x1bd8f46cc; local_res10 = local_res10 ^ DAT_181533f00; /* WARNING: Bad instruction - Truncating control flow here */ uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((((local_res10 * 0x10001ab ^ DAT_181533f04) * 0x10001ab ^ DAT_181533f08) * 0x10001ab ^ DAT_181533f0c) * 0x10001ab ^ DAT_181533f10) * 0x10001ab ^ DAT_181533f14; do { FUN_18077bd35(); FUN_18077dd1a(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = (((((uVar4 * 0x10001ab ^ DAT_181533f18) * 0x10001ab ^ DAT_181533f1c) * 0x10001ab ^ DAT_181533f20) * 0x10001ab ^ DAT_181533f24) * 0x10001ab ^ DAT_181533f28) * 0x10001ab ^ DAT_181533f2c; do { FUN_18077e29f(0x7438); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); /* WARNING: Call to offcut address within same function */ DAT_daf748f024648d48 = func_0x00018077db12((((((((uVar4 * 0x10001ab ^ DAT_181533f30) * 0x10001ab ^ DAT_181533f34) * 0x10001ab ^ DAT_181533f38) * 0x10001ab ^ DAT_181533f3c) * 0x10001ab ^ DAT_181533f40) * 0x10001ab ^ DAT_181533f44) * 0x10001ab ^ DAT_181533f48) * 0x10001ab ^ DAT_181533f4c,uVar3); return; } local_58[0] = (char *)FUN_1811316e0(0x18); pcVar1 = pcVar6; if (local_58[0] != (char *)0x0) { pcVar1 = (char *)FUN_1805a48c0(local_58[0], "The CertChainID in the command frame (%d) does not match that in the result frame (%d)" ); } pcVar2 = (char *)FUN_1811316e0(0x18); local_58[0] = pcVar2; if (pcVar2 != (char *)0x0) { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; pcVar6 = pcVar2; } FUN_18060e760(*(undefined8 *)(pcVar1 + 8),local_70); FUN_18060e760(*(undefined8 *)(pcVar1 + 8),param_3); local_80[0] = 0x4de; local_58[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),local_58); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_80); } ############ FUN_ 180780140 size=2319 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x00018078051c) overlaps instruction at (ram,0x00018078051b) */ /* WARNING: Removing unreachable block (ram,0x000180780a47) */ /* WARNING: Removing unreachable block (ram,0x0001807801ef) */ /* WARNING: Removing unreachable block (ram,0x000180780192) */ /* WARNING: Removing unreachable block (ram,0x000180780733) */ /* WARNING: Removing unreachable block (ram,0x0001807809ba) */ /* WARNING: Removing unreachable block (ram,0x0001807801fe) */ void FUN_180780140(longlong param_1,longlong param_2,longlong param_3,undefined4 param_4, char param_5) { uint uVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; undefined4 *puVar11; longlong lVar12; undefined8 uVar13; undefined8 *puVar14; uint uVar15; uint uVar16; uint uVar17; undefined *puVar18; ulonglong uVar19; ulonglong uVar20; uint *puVar21; uint *puVar22; undefined1 *puVar23; undefined8 *puVar24; ulonglong in_R11; ulonglong uVar25; int unaff_retaddr; longlong local_res8; undefined8 *local_res10; int local_res18; undefined4 local_res20; undefined1 auStack_98 [32]; int local_78; undefined4 *local_70; undefined *local_68; char *local_60; char *local_58; undefined8 local_50; puVar23 = auStack_98; local_50 = 0xfffffffffffffffe; puVar24 = (undefined8 *)0x0; local_res18 = 0x980; local_78 = 0x440; puVar11 = &DAT_180bd9234; puVar18 = &DAT_180bd9334; local_res20 = param_4; local_70 = puVar11; local_68 = puVar18; if ((*(char *)(param_1 + 0x3e4) == '\0') && (param_5 == '\0')) { local_res8 = FUN_1811316e0(0x18); if (local_res8 != 0) { FUN_1805a48c0(local_res8,"The connection has not been opened yet or has been closed"); } lVar12 = FUN_1805c0260(); local_res8 = CONCAT44(local_res8._4_4_,0x16cc); local_60 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar13 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&local_60); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,&local_res8); } uVar10 = DAT_180bd9234 ^ 0x811c9dc5; uVar20 = 0x40; FUN_180604880(param_2); uVar10 = DAT_180bd923c ^ (DAT_180bd9238 ^ uVar10 * 0x1000181) * 0x1000181; *(char *)(param_2 + 0xc) = (char)param_4; if ((*(uint *)(param_1 + 0x3d8) & 0x80000000) != 0) { local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10, "ILok2 command sequence number hit maximum. The connection must be closed and reopened." ); } puVar14 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar14; if (puVar14 != (undefined8 *)0x0) { FUN_1805a48c0(puVar14,"|__FILE__|%s|__LINE__|%d"); *puVar14 = pace::PaceLocationInfoFormatter::vftable; puVar24 = puVar14; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x16dd); local_58 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar13 = FUN_1805a21d0(puVar24[1],&local_58); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar13,&local_res10); } uVar10 = DAT_180bd9250 ^ (DAT_180bd924c ^ (DAT_180bd9248 ^ (DAT_180bd9244 ^ (DAT_180bd9240 ^ uVar10 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; do { uVar19 = 0; FUN_180781631(); uVar25 = ~(in_R11 - (uVar20 + in_R11)) + 1; in_R11 = (uVar20 + in_R11) - uVar25; uVar20 = uVar25; if ((uVar19 & 0x42) != 0) { uVar20 = (ulonglong)puVar11 & 0xffffffff; puVar11 = (undefined4 *)(in_R11 & 0xffffffff); in_R11 = uVar25; } uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); if ((*(char *)(param_1 + 0x3e5) == '\0') || (*(longlong *)(param_1 + 0x10) == 0)) { uVar15 = *(uint *)(param_1 + 0x3d8); } else { uVar15 = *(uint *)(param_1 + 0x3d8) | 0x80000000; } *(uint *)(param_2 + 4) = uVar15; if (*(char *)(param_1 + 1000) != '\0') { if (*(int *)(param_1 + 0x3dc) == 0) { *(undefined4 *)(param_1 + 0x3dc) = *(undefined4 *)(param_1 + 0x3d8); } else if ((*(char *)(param_1 + 0x3e5) != '\0') && (*(longlong *)(param_1 + 0x10) != 0)) goto LAB_1807805a0; *(undefined4 *)(param_2 + 0x10) = *(undefined4 *)(param_1 + 0x3c8); } LAB_1807805a0: uVar15 = puVar11[8]; uVar1 = puVar11[9]; do { uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); *(undefined4 *)(param_2 + 8) = local_res20; uVar16 = puVar11[10]; uVar2 = puVar11[0xb]; uVar3 = puVar11[0xc]; uVar4 = puVar11[0xd]; uVar5 = puVar11[0xe]; uVar6 = puVar11[0xf]; do { uVar17 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar17 < 0) { uVar17 = (uVar17 - 1 | 0xfffffffe) + 1; } } while (uVar17 != 0); *(undefined8 *)(param_3 + 0x10) = *(undefined8 *)(param_1 + 0x3a8); uVar17 = puVar11[0x10]; uVar7 = puVar11[0x11]; uVar8 = puVar11[0x12]; puVar21 = puVar11 + 0x13; *(undefined4 *)(param_3 + 0x18) = *(undefined4 *)(param_1 + 0x3c4); uVar10 = (*puVar21 ^ (uVar8 ^ (uVar7 ^ (uVar17 ^ (uVar6 ^ (uVar5 ^ (uVar4 ^ (uVar3 ^ (uVar2 ^ (uVar16 ^ (uVar1 ^ ( uVar15 ^ uVar10 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ) * 0x1000181) * 0x1000181) * 0x1000181; if ((uVar10 & 0x900) == 0) { uVar15 = (uint)puVar21 & 0x11ff; uVar15 = (uVar15 + 1) * uVar15 + 0x4d8b & 0x80000001; } else { puVar18 = (undefined *)0x1334; uVar15 = 1; } puVar21 = (uint *)((longlong)puVar21 + (0x104 - ((longlong)(((int)(-uVar15 | uVar15) >> 0x1f) * -0x8f26) ^ 0x8e26U))); uVar15 = *puVar21; *(undefined4 *)(param_3 + 0x1c) = *(undefined4 *)(param_1 + 0x3d8); uVar1 = puVar21[1]; uVar16 = puVar21[2]; uVar2 = puVar21[3]; uVar3 = puVar21[4]; uVar4 = puVar21[5]; uVar5 = puVar21[6]; uVar6 = puVar21[7]; *(undefined4 *)(param_3 + 0x20) = 2; uVar17 = puVar21[8]; uVar7 = puVar21[9]; uVar8 = puVar21[10]; uVar9 = puVar21[0xb]; *(uint *)(param_3 + 0x24) = (uint)*(ushort *)(param_1 + 0x3e0); uVar10 = (puVar21[0xf] ^ (puVar21[0xe] ^ (puVar21[0xd] ^ (puVar21[0xc] ^ (uVar9 ^ (uVar8 ^ (uVar7 ^ (uVar17 ^ (uVar6 ^ (uVar5 ^ (uVar4 ^ (uVar3 ^ (uVar2 ^ (uVar16 ^ ( uVar1 ^ (uVar15 ^ uVar10) * 0x1000181) * 0x1000181 ) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; *(undefined1 *)(param_3 + 0x28) = 0; *(undefined4 *)(param_3 + 0x58) = 0; lVar12 = 0xd; puVar21 = puVar21 + 0x10; do { puVar22 = puVar21; uVar10 = (puVar22[1] ^ (*puVar22 ^ uVar10) * 0x1000181) * 0x1000181; lVar12 = lVar12 + -1; uVar20 = 0; puVar21 = puVar22 + 2; } while (lVar12 != 0); do { /* WARNING: Call to offcut address within same function */ func_0x0001807806e4(); uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar10 = (puVar22[3] ^ (puVar22[2] ^ uVar10) * 0x1000181) * 0x1000181 + 0x683e5859; uVar15 = (uVar10 >> 0xd ^ uVar10) >> 9 & 3; uVar10 = (uVar15 << 0xd | uVar15) << 9 ^ uVar10; local_68 = (undefined *)0x47c6f7fe3650f1e1; local_res20 = 0x3650f1e1; uVar15 = uVar10; do { if ((POPCOUNT(uVar15 & 0xff) & 1U) == 0) { uVar20 = (~uVar20 + 1 ^ 0xffffffffffffffff) + 1; } uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); *(undefined8 *)(param_3 + 0x80) = *(undefined8 *)(param_3 + 0x78); if (uVar10 == 0x3650f1e1) { do { *(undefined **)(puVar23 + -8) = puVar18; *(ulonglong *)(puVar23 + -0x10) = in_R11; *(longlong *)(puVar23 + -0x18) = param_1; lVar12 = -(longlong)local_78; param_1 = *(longlong *)(puVar23 + lVar12 + 0x428); in_R11 = *(ulonglong *)(puVar23 + lVar12 + 0x430); puVar18 = *(undefined **)(puVar23 + lVar12 + 0x438); puVar23 = puVar23 + lVar12 + 0x440; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); return; } thunk_FUN_1805a9280((longlong)local_res18,uVar20); return; } ############ FUN_ 180781d70 size=1088 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180781d70(undefined8 param_1,longlong *param_2,char **param_3,char *param_4, undefined4 *param_5,longlong param_6) { undefined8 *puVar1; uint uVar2; longlong lVar3; undefined4 *puVar4; undefined4 uVar5; undefined4 uVar6; undefined4 uVar7; longlong lVar8; char *pcVar9; undefined8 uVar10; char **ppcVar11; ulonglong uVar12; ulonglong uVar13; undefined1 auStack_b8 [32]; undefined1 local_98; char *local_90; uint local_88 [2]; uint local_80 [2]; char *local_78; char *local_70; longlong local_68; undefined8 local_60; char *local_58 [2]; ulonglong local_48; local_60 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_b8; local_68 = param_6; lVar8 = param_2[1]; lVar3 = *param_2; local_80[0] = (uint)(lVar8 - lVar3); local_78 = param_4; if (local_80[0] < 0x10) { local_58[0] = (char *)FUN_1811316e0(0x18); if (local_58[0] == (char *)0x0) { lVar8 = 0; } else { lVar8 = FUN_1805a48c0(local_58[0], "The signed message (%d) is too small to hold the message header (%d).") ; } pcVar9 = (char *)FUN_1811316e0(0x18); local_58[0] = pcVar9; if (pcVar9 == (char *)0x0) { pcVar9 = (char *)0x0; } else { FUN_1805a48c0(pcVar9,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar9 = pace::PaceLocationInfoFormatter::vftable; } local_90 = (char *)0x10; FUN_18060e760(*(undefined8 *)(lVar8 + 8),local_80); FUN_1805b2520(*(undefined8 *)(lVar8 + 8),&local_90); local_88[0] = 0x1732; local_90 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar10 = FUN_1805a21d0(*(undefined8 *)(pcVar9 + 8),&local_90); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_88); } ppcVar11 = local_58; if (param_3 != (char **)0x0) { ppcVar11 = param_3; } puVar4 = (undefined4 *)*param_2; uVar5 = puVar4[1]; uVar6 = puVar4[2]; uVar7 = puVar4[3]; *(undefined4 *)ppcVar11 = *puVar4; *(undefined4 *)((longlong)ppcVar11 + 4) = uVar5; *(undefined4 *)(ppcVar11 + 1) = uVar6; *(undefined4 *)((longlong)ppcVar11 + 0xc) = uVar7; uVar2 = *(uint *)((longlong)ppcVar11 + 0xc); uVar12 = lVar8 - lVar3 & 0xffffffff; local_88[0] = uVar2; if (uVar12 < (ulonglong)uVar2 + 0x10) { local_58[0] = (char *)FUN_1811316e0(0x18); if (local_58[0] == (char *)0x0) { lVar8 = 0; } else { lVar8 = FUN_1805a48c0(local_58[0], "The signed message (%d) is too small to hold the message header (%d) and cert chain (%d)." ); } pcVar9 = (char *)FUN_1811316e0(0x18); local_58[0] = pcVar9; if (pcVar9 == (char *)0x0) { pcVar9 = (char *)0x0; } else { FUN_1805a48c0(pcVar9,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar9 = pace::PaceLocationInfoFormatter::vftable; } local_90 = (char *)0x10; FUN_18060e760(*(undefined8 *)(lVar8 + 8),local_80); FUN_1805b2520(*(undefined8 *)(lVar8 + 8),&local_90); FUN_18060e760(*(undefined8 *)(lVar8 + 8),local_88); local_90 = (char *)CONCAT44(local_90._4_4_,0x1746); local_70 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar10 = FUN_1805a21d0(*(undefined8 *)(pcVar9 + 8),&local_70); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_90); } if (param_4 != (char *)0x0) { FUN_1805e1990(param_4,*param_2 + 0x10,(ulonglong)(uVar2 + 0x10) + *param_2,local_98); } uVar13 = (ulonglong)(uVar2 + 0x10); if (uVar12 < (ulonglong)uVar2 + 0x34) { local_58[0] = (char *)FUN_1811316e0(0x18); if (local_58[0] == (char *)0x0) { lVar8 = 0; } else { lVar8 = FUN_1805a48c0(local_58[0], "The signed message (%d) is too small to hold the message header (%d), cert chain (%d) and preamble (%d)." ); } pcVar9 = (char *)FUN_1811316e0(0x18); local_58[0] = pcVar9; if (pcVar9 == (char *)0x0) { pcVar9 = (char *)0x0; } else { FUN_1805a48c0(pcVar9,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar9 = pace::PaceLocationInfoFormatter::vftable; } local_70 = (char *)0x24; local_78 = (char *)0x10; FUN_18060e760(*(undefined8 *)(lVar8 + 8),local_80); FUN_1805b2520(*(undefined8 *)(lVar8 + 8),&local_78); FUN_18060e760(*(undefined8 *)(lVar8 + 8),local_88); FUN_1805b2520(*(undefined8 *)(lVar8 + 8),&local_70); local_90 = (char *)CONCAT44(local_90._4_4_,0x175c); local_78 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar10 = FUN_1805a21d0(*(undefined8 *)(pcVar9 + 8),&local_78); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_90); } if (param_5 != (undefined4 *)0x0) { lVar8 = *param_2; puVar4 = (undefined4 *)(uVar13 + lVar8); uVar5 = puVar4[1]; uVar6 = puVar4[2]; uVar7 = puVar4[3]; *param_5 = *puVar4; param_5[1] = uVar5; param_5[2] = uVar6; param_5[3] = uVar7; puVar1 = (undefined8 *)(uVar13 + 0x10 + lVar8); uVar10 = puVar1[1]; *(undefined8 *)(param_5 + 4) = *puVar1; *(undefined8 *)(param_5 + 6) = uVar10; param_5[8] = *(undefined4 *)(uVar13 + 0x20 + lVar8); } if (uVar12 < (ulonglong)uVar2 + 0x54) { local_58[0] = (char *)FUN_1811316e0(0x18); if (local_58[0] == (char *)0x0) { lVar8 = 0; } else { lVar8 = FUN_1805a48c0(local_58[0], "The signed message (%d) is too small to hold the message header (%d), cert chain (%d), preamble (%d) signature (%d), target (%d) and a small command frame." ); } pcVar9 = (char *)FUN_1811316e0(0x18); if (pcVar9 == (char *)0x0) { pcVar9 = (char *)0x0; } else { local_58[0] = pcVar9; FUN_1805a48c0(pcVar9,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar9 = pace::PaceLocationInfoFormatter::vftable; } local_58[0] = (char *)0x14; local_90 = (char *)0x48; local_70 = (char *)0x24; local_78 = (char *)0x10; FUN_18060e760(*(undefined8 *)(lVar8 + 8),local_80); FUN_1805b2520(*(undefined8 *)(lVar8 + 8),&local_78); FUN_18060e760(*(undefined8 *)(lVar8 + 8),local_88); FUN_1805b2520(*(undefined8 *)(lVar8 + 8),&local_70); FUN_1805b2520(*(undefined8 *)(lVar8 + 8),&local_90); FUN_1805b2520(*(undefined8 *)(lVar8 + 8),local_58); local_90 = (char *)CONCAT44(local_90._4_4_,0x1772); local_58[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar10 = FUN_1805a21d0(*(undefined8 *)(pcVar9 + 8),local_58); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_90); } if (local_68 != 0) { FUN_1805e1990(local_68,(ulonglong)(uVar2 + 0x34) + *param_2,param_2[1],local_98); } } ############ FUN_ 180782210 size=161 ############ void FUN_180782210(void) { char *pcVar1; undefined8 uVar2; undefined4 local_28 [2]; char *local_20; undefined8 local_18; local_18 = 0xfffffffffffffffe; local_20 = (char *)FUN_1811316e0(0x18); if (local_20 != (char *)0x0) { FUN_1805a48c0(local_20,"The iLok2 result packet is not supported by this ILok2Commander object") ; } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_20 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_28[0] = 0x178c; local_20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_28); } ############ FUN_ 180784460 size=688 ############ void FUN_180784460(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong lVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar7 - lVar4) / 0x38; uVar3 = (param_1[2] - lVar4) / 0x38; local_res18 = param_3; if (param_2 <= uVar3) { if (uVar2 < param_2) { lVar4 = FUN_180786690(&local_res18,puVar7,param_2 - uVar2); param_1[1] = lVar4; return; } if (param_2 != uVar2) { puVar8 = (undefined8 *)(param_2 * 0x38 + lVar4); for (puVar6 = puVar8; puVar6 != puVar7; puVar6 = puVar6 + 7) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (longlong)puVar8; } return; } if (0x492492492492492 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x492492492492492 - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x38; local_res20 = uVar10; if (uVar10 < 0x492492492492493) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_180784578; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar4; LAB_180784578: FUN_180786690(&local_res18,puVar7 + uVar2 * 7,param_2 - uVar2); lVar4 = param_1[1]; puVar6 = puVar7; for (lVar9 = *param_1; lVar9 != lVar4; lVar9 = lVar9 + 0x38) { *puVar6 = pace::eden::thrift::authorize::DldLastAuthChangeDate::vftable; *(undefined4 *)(puVar6 + 1) = *(undefined4 *)(lVar9 + 8); FUN_1805a4070(puVar6 + 2); *(undefined2 *)(puVar6 + 6) = *(undefined2 *)(lVar9 + 0x30); puVar6 = puVar6 + 7; } puVar6 = (undefined8 *)*param_1; if (puVar6 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 7); param_1[2] = (longlong)(puVar7 + uVar10 * 7); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar6 != puVar7; puVar6 = puVar6 + 7) { (**(code **)*puVar6)(puVar6,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x38) * 0x38)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180784720 size=851 ############ void FUN_180784720(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; undefined8 *puVar6; ulonglong uVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; puVar6 = (undefined8 *)param_1[1]; lVar5 = *param_1; lVar3 = ((longlong)puVar6 - lVar5) + SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816((longlong)puVar6 - lVar5),8); uVar7 = (lVar3 >> 7) - (lVar3 >> 0x3f); lVar3 = SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(param_1[2] - lVar5),8) + (param_1[2] - lVar5); uVar4 = (lVar3 >> 7) - (lVar3 >> 0x3f); if (param_2 <= uVar4) { if (param_2 <= uVar7) { if (param_2 != uVar7) { puVar9 = (undefined8 *)(param_2 * 0xf8 + lVar5); for (puVar8 = puVar9; puVar8 != puVar6; puVar8 = puVar8 + 0x1f) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (longlong)puVar9; } return; } lVar3 = FUN_180786500(puVar6,param_2 - uVar7,param_3,0); param_1[1] = lVar3; return; } if (0x108421084210842 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar4 <= 0x108421084210842 - (uVar4 >> 1)) && (uVar10 = (uVar4 >> 1) + uVar4, uVar10 < param_2)) { uVar10 = param_2; } uVar4 = uVar10 * 0xf8; if (uVar10 < 0x108421084210843) { if (uVar4 < 0x1000) { if (uVar4 == 0) { puVar6 = (undefined8 *)0x0; } else { puVar6 = (undefined8 *)FUN_1811316e0(uVar4); } goto LAB_18078483d; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar2); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar6 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar6[-1] = lVar3; LAB_18078483d: FUN_180786500(puVar6 + uVar7 * 0x1f,param_2 - uVar7,param_3,0,puVar6 + uVar7 * 0x1f,puVar6,uVar11) ; lVar3 = param_1[1]; puVar8 = puVar6; for (lVar5 = *param_1; lVar5 != lVar3; lVar5 = lVar5 + 0xf8) { *puVar8 = pace::eden::thrift::fusion::UserInfo::vftable; FUN_1805a4070(puVar8 + 1,lVar5 + 8); FUN_1805a4070(puVar8 + 5,lVar5 + 0x28); FUN_1805a4070(puVar8 + 9,lVar5 + 0x48); FUN_1805a4070(puVar8 + 0xd,lVar5 + 0x68); FUN_1805a4070(puVar8 + 0x11,lVar5 + 0x88); FUN_1805a4070(puVar8 + 0x15,lVar5 + 0xa8); FUN_1805a4070(puVar8 + 0x19); *(undefined1 *)(puVar8 + 0x1d) = *(undefined1 *)(lVar5 + 0xe8); *(undefined8 *)((longlong)puVar8 + 0xe9) = *(undefined8 *)(lVar5 + 0xe9); puVar8 = puVar8 + 0x1f; } puVar8 = (undefined8 *)*param_1; if (puVar8 == (undefined8 *)0x0) { *param_1 = (longlong)puVar6; param_1[1] = (longlong)(puVar6 + param_2 * 0x1f); param_1[2] = (longlong)(puVar6 + uVar10 * 0x1f); return; } puVar6 = (undefined8 *)param_1[1]; for (; puVar8 != puVar6; puVar8 = puVar8 + 0x1f) { (**(code **)*puVar8)(puVar8,0); } pvVar1 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 0xf8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180784a80 size=834 ############ void FUN_180784a80(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar7 - lVar4) / 0x8c0; uVar3 = (param_1[2] - lVar4) / 0x8c0; local_res18 = param_3; if (param_2 <= uVar3) { if (param_2 <= uVar2) { if (param_2 != uVar2) { puVar8 = (undefined8 *)(param_2 * 0x8c0 + lVar4); for (puVar9 = puVar8; puVar9 != puVar7; puVar9 = puVar9 + 0x118) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } lVar4 = FUN_180786730(&local_res18,puVar7,param_2 - uVar2); param_1[1] = lVar4; return; } if (0x1d41d41d41d41d < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x1d41d41d41d41d - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x8c0; local_res20 = uVar10; if (uVar10 < 0x1d41d41d41d41e) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_180784b9b; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar4; LAB_180784b9b: FUN_180786730(&local_res18,puVar7 + uVar2 * 0x118,param_2 - uVar2); lVar4 = param_1[1]; puVar9 = puVar7; for (lVar6 = *param_1; lVar6 != lVar4; lVar6 = lVar6 + 0x8c0) { *puVar9 = pace::eden::thrift::pub::AuthSituation::vftable; *(undefined4 *)(puVar9 + 1) = *(undefined4 *)(lVar6 + 8); FUN_1805b5c00(puVar9 + 2,lVar6 + 0x10); *(undefined1 *)(puVar9 + 0x8e) = *(undefined1 *)(lVar6 + 0x470); *(undefined4 *)((longlong)puVar9 + 0x474) = *(undefined4 *)(lVar6 + 0x474); *(undefined4 *)(puVar9 + 0x8f) = *(undefined4 *)(lVar6 + 0x478); *(undefined4 *)((longlong)puVar9 + 0x47c) = *(undefined4 *)(lVar6 + 0x47c); FUN_1805b4dc0(puVar9 + 0x90); *(undefined4 *)(puVar9 + 0x117) = *(undefined4 *)(lVar6 + 0x8b8); *(undefined2 *)((longlong)puVar9 + 0x8bc) = *(undefined2 *)(lVar6 + 0x8bc); *(undefined1 *)((longlong)puVar9 + 0x8be) = *(undefined1 *)(lVar6 + 0x8be); puVar9 = puVar9 + 0x118; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x118); param_1[2] = (longlong)(puVar7 + uVar10 * 0x118); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar9 != puVar7; puVar9 = puVar9 + 0x118) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x8c0) * 0x8c0)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180784dd0 size=769 ############ void FUN_180784dd0(ulonglong *param_1,ulonglong param_2) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; longlong lVar11; puVar7 = (undefined8 *)param_1[1]; uVar10 = *param_1; uVar1 = (longlong)((longlong)puVar7 - uVar10) / 0x2f0; uVar3 = (longlong)(param_1[2] - uVar10) / 0x2f0; if (param_2 <= uVar3) { if (param_2 <= uVar1) { if (param_2 != uVar1) { puVar9 = (undefined8 *)(param_2 * 0x2f0 + uVar10); for (puVar8 = puVar9; puVar8 != puVar7; puVar8 = puVar8 + 0x5e) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (ulonglong)puVar9; } return; } for (lVar4 = param_2 - uVar1; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_180575180(puVar7); puVar7 = puVar7 + 0x5e; } param_1[1] = (ulonglong)puVar7; return; } if (0x572620ae4c415c < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x572620ae4c415c - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x2f0; if (uVar10 < 0x572620ae4c415d) { if (uVar3 < 0x1000) { if (uVar3 == 0) { uVar3 = 0; } else { uVar3 = FUN_1811316e0(uVar3); } goto LAB_180784eef; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar4; LAB_180784eef: lVar4 = uVar1 * 0x2f0 + uVar3; for (lVar11 = param_2 - uVar1; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_180575180(lVar4); lVar4 = lVar4 + 0x2f0; } uVar1 = param_1[1]; uVar6 = uVar3; for (uVar5 = *param_1; uVar5 != uVar1; uVar5 = uVar5 + 0x2f0) { FUN_1805b4bc0(uVar6); uVar6 = uVar6 + 0x2f0; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = uVar3; param_1[1] = param_2 * 0x2f0 + uVar3; param_1[2] = uVar10 * 0x2f0 + uVar3; return; } puVar8 = (undefined8 *)param_1[1]; for (; puVar7 != puVar8; puVar7 = puVar7 + 0x5e) { (**(code **)*puVar7)(puVar7,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar2) / 0x2f0) * 0x2f0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1807850e0 size=941 ############ void FUN_1807850e0(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar6 = *param_1; lVar3 = ((longlong)puVar7 - lVar6) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)puVar7 - lVar6),8); uVar5 = (lVar3 >> 10) - (lVar3 >> 0x3f); lVar3 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - lVar6),8) + (param_1[2] - lVar6); uVar4 = (lVar3 >> 10) - (lVar3 >> 0x3f); local_res18 = param_3; if (param_2 <= uVar4) { if (uVar5 < param_2) { lVar3 = FUN_1807867f0(&local_res18,puVar7,param_2 - uVar5); param_1[1] = lVar3; return; } if (param_2 != uVar5) { puVar8 = (undefined8 *)(param_2 * 0x540 + lVar6); for (puVar9 = puVar8; puVar9 != puVar7; puVar9 = puVar9 + 0xa8) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } if (0x30c30c30c30c30 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar4 <= 0x30c30c30c30c30 - (uVar4 >> 1)) && (uVar10 = (uVar4 >> 1) + uVar4, uVar10 < param_2)) { uVar10 = param_2; } uVar4 = uVar10 * 0x540; local_res20 = uVar10; if (uVar10 < 0x30c30c30c30c31) { if (uVar4 < 0x1000) { if (uVar4 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar4); } goto LAB_1807851ff; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar2); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar3; LAB_1807851ff: FUN_1807867f0(&local_res18,puVar7 + uVar5 * 0xa8,param_2 - uVar5); lVar3 = param_1[1]; puVar9 = puVar7; for (lVar6 = *param_1; lVar6 != lVar3; lVar6 = lVar6 + 0x540) { *puVar9 = pace::eden::thrift::fusion::SignerCredentials::vftable; FUN_1805b5c00(puVar9 + 1,lVar6 + 8); *(undefined4 *)(puVar9 + 0x8d) = *(undefined4 *)(lVar6 + 0x468); FUN_1805b46a0(puVar9 + 0x8e,lVar6 + 0x470); FUN_1805a4070(puVar9 + 0x91,lVar6 + 0x488); *(undefined4 *)(puVar9 + 0x95) = *(undefined4 *)(lVar6 + 0x4a8); FUN_1805a4070(puVar9 + 0x96,lVar6 + 0x4b0); *(undefined4 *)(puVar9 + 0x9a) = *(undefined4 *)(lVar6 + 0x4d0); FUN_1805a4070(puVar9 + 0x9b,lVar6 + 0x4d8); FUN_1805a4070(puVar9 + 0x9f,lVar6 + 0x4f8); FUN_180621fa0(puVar9 + 0xa3); *(undefined1 *)(puVar9 + 0xa6) = *(undefined1 *)(lVar6 + 0x530); *(undefined8 *)((longlong)puVar9 + 0x531) = *(undefined8 *)(lVar6 + 0x531); *(undefined2 *)((longlong)puVar9 + 0x539) = *(undefined2 *)(lVar6 + 0x539); *(undefined1 *)((longlong)puVar9 + 0x53b) = *(undefined1 *)(lVar6 + 0x53b); puVar9 = puVar9 + 0xa8; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0xa8); param_1[2] = (longlong)(puVar7 + uVar10 * 0xa8); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar9 != puVar7; puVar9 = puVar9 + 0xa8) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar3 >> 10) - (lVar3 >> 0x3f)) * 0x540)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180785490 size=769 ############ void FUN_180785490(ulonglong *param_1,ulonglong param_2) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; longlong lVar11; puVar7 = (undefined8 *)param_1[1]; uVar10 = *param_1; uVar1 = (longlong)((longlong)puVar7 - uVar10) / 0x460; uVar3 = (longlong)(param_1[2] - uVar10) / 0x460; if (param_2 <= uVar3) { if (param_2 <= uVar1) { if (param_2 != uVar1) { puVar9 = (undefined8 *)(param_2 * 0x460 + uVar10); for (puVar8 = puVar9; puVar8 != puVar7; puVar8 = puVar8 + 0x8c) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (ulonglong)puVar9; } return; } for (lVar4 = param_2 - uVar1; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1805b5e30(puVar7); puVar7 = puVar7 + 0x8c; } param_1[1] = (ulonglong)puVar7; return; } if (0x3a83a83a83a83a < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x3a83a83a83a83a - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x460; if (uVar10 < 0x3a83a83a83a83b) { if (uVar3 < 0x1000) { if (uVar3 == 0) { uVar3 = 0; } else { uVar3 = FUN_1811316e0(uVar3); } goto LAB_1807855af; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar4; LAB_1807855af: lVar4 = uVar1 * 0x460 + uVar3; for (lVar11 = param_2 - uVar1; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_1805b5e30(lVar4); lVar4 = lVar4 + 0x460; } uVar1 = param_1[1]; uVar6 = uVar3; for (uVar5 = *param_1; uVar5 != uVar1; uVar5 = uVar5 + 0x460) { FUN_1805b5c00(uVar6); uVar6 = uVar6 + 0x460; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = uVar3; param_1[1] = param_2 * 0x460 + uVar3; param_1[2] = uVar10 * 0x460 + uVar3; return; } puVar8 = (undefined8 *)param_1[1]; for (; puVar7 != puVar8; puVar7 = puVar7 + 0x8c) { (**(code **)*puVar7)(puVar7,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar2) / 0x460) * 0x460)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1807857a0 size=977 ############ void FUN_1807857a0(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; void *_Memory; ulonglong uVar9; undefined8 *puVar10; puVar10 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar10 - lVar4) / 0x160; uVar3 = (param_1[2] - lVar4) / 0x160; if (param_2 <= uVar3) { if (uVar2 < param_2) { for (lVar4 = param_2 - uVar2; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_180677d60(puVar10); puVar10 = puVar10 + 0x2c; } param_1[1] = (longlong)puVar10; return; } if (param_2 != uVar2) { puVar7 = (undefined8 *)(param_2 * 0x160 + lVar4); for (puVar8 = puVar7; puVar8 != puVar10; puVar8 = puVar8 + 0x2c) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (longlong)puVar7; } return; } if (0xba2e8ba2e8ba2e < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar3 <= 0xba2e8ba2e8ba2e - (uVar3 >> 1)) && (uVar9 = (uVar3 >> 1) + uVar3, uVar9 < param_2)) { uVar9 = param_2; } uVar3 = uVar9 * 0x160; if (uVar9 < 0xba2e8ba2e8ba2f) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_1807858bf; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar4; LAB_1807858bf: puVar8 = puVar10 + uVar2 * 0x2c; for (lVar4 = param_2 - uVar2; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_180677d60(puVar8); puVar8 = puVar8 + 0x2c; } lVar4 = param_1[1]; puVar8 = puVar10; for (lVar6 = *param_1; lVar6 != lVar4; lVar6 = lVar6 + 0x160) { *puVar8 = pace::eden::thrift::authorize::floating::ServerConnectInfo::vftable; FUN_1805a4070(puVar8 + 1,lVar6 + 8); *(undefined4 *)(puVar8 + 5) = *(undefined4 *)(lVar6 + 0x28); FUN_1805a4070(puVar8 + 6,lVar6 + 0x30); FUN_180677e40(puVar8 + 10,lVar6 + 0x50); FUN_180677e40(puVar8 + 0x17,lVar6 + 0xb8); *(undefined1 *)(puVar8 + 0x24) = *(undefined1 *)(lVar6 + 0x120); *(undefined1 *)((longlong)puVar8 + 0x121) = *(undefined1 *)(lVar6 + 0x121); *(undefined1 *)((longlong)puVar8 + 0x122) = *(undefined1 *)(lVar6 + 0x122); *(undefined1 *)((longlong)puVar8 + 0x123) = *(undefined1 *)(lVar6 + 0x123); puVar8[0x25] = *(undefined8 *)(lVar6 + 0x128); FUN_1805a4070(puVar8 + 0x26); puVar8[0x2a] = *(undefined8 *)(lVar6 + 0x150); *(undefined2 *)(puVar8 + 0x2b) = *(undefined2 *)(lVar6 + 0x158); *(undefined1 *)((longlong)puVar8 + 0x15a) = *(undefined1 *)(lVar6 + 0x15a); puVar8 = puVar8 + 0x2c; } puVar8 = (undefined8 *)*param_1; if (puVar8 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x2c); param_1[2] = (longlong)(puVar10 + uVar9 * 0x2c); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar8 != puVar10; puVar8 = puVar8 + 0x2c) { (**(code **)*puVar8)(puVar8,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x160) * 0x160)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180785b80 size=731 ############ void FUN_180785b80(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; void *_Memory; undefined8 *puVar9; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar9 = (undefined8 *)param_1[1]; lVar3 = *param_1; lVar5 = ((longlong)puVar9 - lVar3) / 6 + ((longlong)puVar9 - lVar3 >> 0x3f); uVar6 = (lVar5 >> 3) - (lVar5 >> 0x3f); uVar2 = (param_1[2] - lVar3) / 0x30; local_res18 = param_3; if (param_2 <= uVar2) { if (uVar6 < param_2) { lVar3 = FUN_180786960(&local_res18,puVar9,param_2 - uVar6); param_1[1] = lVar3; return; } if (param_2 != uVar6) { puVar8 = (undefined8 *)(param_2 * 0x30 + lVar3); for (puVar7 = puVar8; puVar7 != puVar9; puVar7 = puVar7 + 6) { (**(code **)*puVar7)(puVar7,0); } param_1[1] = (longlong)puVar8; } return; } if (0x555555555555555 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar2 <= 0x555555555555555 - (uVar2 >> 1)) && (uVar10 = (uVar2 >> 1) + uVar2, uVar10 < param_2)) { uVar10 = param_2; } uVar2 = uVar10 * 0x30; local_res20 = uVar10; if (uVar10 < 0x555555555555556) { if (uVar2 < 0x1000) { if (uVar2 == 0) { puVar9 = (undefined8 *)0x0; } else { puVar9 = (undefined8 *)FUN_1811316e0(uVar2); } goto LAB_180785c9d; } } else { uVar2 = 0xffffffffffffffff; } uVar4 = uVar2 + 0x27; if (uVar4 <= uVar2) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar9 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar9[-1] = lVar3; LAB_180785c9d: FUN_180786960(&local_res18,puVar9 + uVar6 * 6,param_2 - uVar6); lVar3 = param_1[1]; puVar7 = puVar9; for (lVar5 = *param_1; lVar5 != lVar3; lVar5 = lVar5 + 0x30) { *puVar7 = pace::eden::thrift::fusion::CloudSessionStatusResults::vftable; FUN_1805a4070(puVar7 + 1); *(undefined1 *)(puVar7 + 5) = *(undefined1 *)(lVar5 + 0x28); *(undefined2 *)((longlong)puVar7 + 0x29) = *(undefined2 *)(lVar5 + 0x29); puVar7 = puVar7 + 6; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = (longlong)puVar9; param_1[1] = (longlong)(puVar9 + param_2 * 6); param_1[2] = (longlong)(puVar9 + uVar10 * 6); return; } puVar9 = (undefined8 *)param_1[1]; for (; puVar7 != puVar9; puVar7 = puVar7 + 6) { (**(code **)*puVar7)(puVar7,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x30) * 0x30)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180785e60 size=866 ############ void FUN_180785e60(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar7 - lVar4) / 0x1d0; uVar3 = (param_1[2] - lVar4) / 0x1d0; local_res18 = param_3; if (param_2 <= uVar3) { if (param_2 <= uVar2) { if (param_2 != uVar2) { puVar8 = (undefined8 *)(param_2 * 0x1d0 + lVar4); for (puVar9 = puVar8; puVar9 != puVar7; puVar9 = puVar9 + 0x3a) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } lVar4 = FUN_180786a00(&local_res18,puVar7,param_2 - uVar2); param_1[1] = lVar4; return; } if (0x8d3dcb08d3dcb0 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x8d3dcb08d3dcb0 - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x1d0; local_res20 = uVar10; if (uVar10 < 0x8d3dcb08d3dcb1) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_180785f7b; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar4; LAB_180785f7b: FUN_180786a00(&local_res18,puVar7 + uVar2 * 0x3a,param_2 - uVar2); lVar4 = param_1[1]; puVar9 = puVar7; for (lVar6 = *param_1; lVar6 != lVar4; lVar6 = lVar6 + 0x1d0) { *puVar9 = pace::eden::thrift::fusion::CachedProductLocationData::vftable; puVar9[1] = *(undefined8 *)(lVar6 + 8); puVar9[2] = *(undefined8 *)(lVar6 + 0x10); FUN_1805a4070(puVar9 + 3,lVar6 + 0x18); FUN_1805b6070(puVar9 + 7,lVar6 + 0x38); *(undefined4 *)(puVar9 + 0x31) = *(undefined4 *)(lVar6 + 0x188); *(undefined1 *)((longlong)puVar9 + 0x18c) = *(undefined1 *)(lVar6 + 0x18c); puVar9[0x32] = pace::eden::thrift::pub::AuthProduct::vftable; *(undefined4 *)(puVar9 + 0x33) = *(undefined4 *)(lVar6 + 0x198); *(undefined4 *)((longlong)puVar9 + 0x19c) = *(undefined4 *)(lVar6 + 0x19c); *(undefined2 *)(puVar9 + 0x34) = *(undefined2 *)(lVar6 + 0x1a0); FUN_1805a4070(puVar9 + 0x35); puVar9[0x39] = *(undefined8 *)(lVar6 + 0x1c8); puVar9 = puVar9 + 0x3a; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x3a); param_1[2] = (longlong)(puVar7 + uVar10 * 0x3a); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar9 != puVar7; puVar9 = puVar9 + 0x3a) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x1d0) * 0x1d0)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1807861d0 size=802 ############ void FUN_1807861d0(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar3 = *param_1; lVar5 = ((longlong)puVar7 - lVar3) / 0x26 + ((longlong)puVar7 - lVar3 >> 0x3f); uVar6 = (lVar5 >> 2) - (lVar5 >> 0x3f); uVar2 = (param_1[2] - lVar3) / 0x98; local_res18 = param_3; if (param_2 <= uVar2) { if (uVar6 < param_2) { lVar3 = FUN_180786b20(&local_res18,puVar7,param_2 - uVar6); param_1[1] = lVar3; return; } if (param_2 != uVar6) { puVar8 = (undefined8 *)(param_2 * 0x98 + lVar3); for (puVar9 = puVar8; puVar9 != puVar7; puVar9 = puVar9 + 0x13) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } if (0x1af286bca1af286 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar2 <= 0x1af286bca1af286 - (uVar2 >> 1)) && (uVar10 = (uVar2 >> 1) + uVar2, uVar10 < param_2)) { uVar10 = param_2; } uVar2 = uVar10 * 0x98; local_res20 = uVar10; if (uVar10 < 0x1af286bca1af287) { if (uVar2 < 0x1000) { if (uVar2 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar2); } goto LAB_1807862eb; } } else { uVar2 = 0xffffffffffffffff; } uVar4 = uVar2 + 0x27; if (uVar4 <= uVar2) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar3; LAB_1807862eb: FUN_180786b20(&local_res18,puVar7 + uVar6 * 0x13,param_2 - uVar6); lVar3 = param_1[1]; puVar9 = puVar7; for (lVar5 = *param_1; lVar5 != lVar3; lVar5 = lVar5 + 0x98) { *puVar9 = pace::eden::thrift::fusion::RemoteServerNotification::vftable; *(undefined4 *)(puVar9 + 1) = *(undefined4 *)(lVar5 + 8); FUN_1805a4070(puVar9 + 2,lVar5 + 0x10); FUN_1805a4070(puVar9 + 6,lVar5 + 0x30); FUN_1805a4070(puVar9 + 10,lVar5 + 0x50); FUN_1805a4070(puVar9 + 0xe); *(undefined1 *)(puVar9 + 0x12) = *(undefined1 *)(lVar5 + 0x90); *(undefined4 *)((longlong)puVar9 + 0x91) = *(undefined4 *)(lVar5 + 0x91); *(undefined2 *)((longlong)puVar9 + 0x95) = *(undefined2 *)(lVar5 + 0x95); puVar9 = puVar9 + 0x13; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x13); param_1[2] = (longlong)(puVar7 + uVar10 * 0x13); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar9 != puVar7; puVar9 = puVar9 + 0x13) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x98) * 0x98)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180940330 size=115 ############ void FUN_180940330(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x1e8; if (param_2 < 0x864b8a7de6d1d7) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 1809f9520 size=782 ############ void FUN_1809f9520(ulonglong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; void *_Memory; ulonglong uVar9; ulonglong uVar10; longlong lVar11; puVar6 = (undefined8 *)param_1[1]; uVar9 = *param_1; lVar3 = ((longlong)puVar6 - uVar9) + SUB168(SEXT816(-0x6ab71b6861f7d603) * SEXT816((longlong)((longlong)puVar6 - uVar9)),8); uVar10 = (lVar3 >> 0xb) - (lVar3 >> 0x3f); lVar3 = SUB168(SEXT816(-0x6ab71b6861f7d603) * SEXT816((longlong)(param_1[2] - uVar9)),8) + (param_1[2] - uVar9); uVar4 = (lVar3 >> 0xb) - (lVar3 >> 0x3f); if (param_2 <= uVar4) { if (param_2 <= uVar10) { if (param_2 != uVar10) { puVar8 = (undefined8 *)(param_2 * 0xdb8 + uVar9); for (puVar7 = puVar8; puVar7 != puVar6; puVar7 = puVar7 + 0x1b7) { (**(code **)*puVar7)(puVar7,0); } param_1[1] = (ulonglong)puVar8; } return; } for (lVar3 = param_2 - uVar10; lVar3 != 0; lVar3 = lVar3 + -1) { FUN_1809f9840(puVar6); puVar6 = puVar6 + 0x1b7; } param_1[1] = (ulonglong)puVar6; return; } if (0x12a91c92f3c105 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar4 <= 0x12a91c92f3c105 - (uVar4 >> 1)) && (uVar9 = (uVar4 >> 1) + uVar4, uVar9 < param_2)) { uVar9 = param_2; } uVar4 = uVar9 * 0xdb8; if (uVar9 < 0x12a91c92f3c106) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_1809f9643; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar2); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar3; LAB_1809f9643: lVar3 = uVar10 * 0xdb8 + uVar4; for (lVar11 = param_2 - uVar10; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_1809f9840(lVar3); lVar3 = lVar3 + 0xdb8; } uVar10 = param_1[1]; uVar5 = uVar4; for (uVar2 = *param_1; uVar2 != uVar10; uVar2 = uVar2 + 0xdb8) { FUN_1806748d0(uVar5); uVar5 = uVar5 + 0xdb8; } puVar6 = (undefined8 *)*param_1; if (puVar6 == (undefined8 *)0x0) { *param_1 = uVar4; param_1[1] = param_2 * 0xdb8 + uVar4; param_1[2] = uVar9 * 0xdb8 + uVar4; return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar6 != puVar7; puVar6 = puVar6 + 0x1b7) { (**(code **)*puVar6)(puVar6,0); } pvVar1 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x6ab71b6861f7d603) * SEXT816((longlong)(param_1[2] - (longlong)pvVar1)),8 ) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar3 >> 0xb) - (lVar3 >> 0x3f)) * 0xdb8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809f90c0 size=1102 ############ void FUN_1809f90c0(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; void *_Memory; ulonglong uVar9; undefined8 *puVar10; puVar10 = (undefined8 *)param_1[1]; lVar6 = *param_1; lVar4 = ((longlong)puVar10 - lVar6) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)puVar10 - lVar6),8); uVar9 = (lVar4 >> 8) - (lVar4 >> 0x3f); lVar4 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - lVar6),8) + (param_1[2] - lVar6); uVar5 = (lVar4 >> 8) - (lVar4 >> 0x3f); if (param_2 <= uVar5) { if (param_2 <= uVar9) { if (param_2 != uVar9) { puVar7 = (undefined8 *)(param_2 * 0x150 + lVar6); for (puVar8 = puVar7; puVar8 != puVar10; puVar8 = puVar8 + 0x2a) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (longlong)puVar7; } return; } for (lVar4 = param_2 - uVar9; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1805b5af0(puVar10); puVar10 = puVar10 + 0x2a; } param_1[1] = (longlong)puVar10; return; } if (0xc30c30c30c30c3 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar2 = param_2; if ((uVar5 <= 0xc30c30c30c30c3 - (uVar5 >> 1)) && (uVar2 = (uVar5 >> 1) + uVar5, uVar2 < param_2)) { uVar2 = param_2; } uVar5 = uVar2 * 0x150; if (uVar2 < 0xc30c30c30c30c4) { if (uVar5 < 0x1000) { if (uVar5 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar5); } goto LAB_1809f91dd; } } else { uVar5 = 0xffffffffffffffff; } uVar3 = uVar5 + 0x27; if (uVar3 <= uVar5) { uVar3 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar3); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar4; LAB_1809f91dd: puVar8 = puVar10 + uVar9 * 0x2a; for (lVar4 = param_2 - uVar9; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1805b5af0(puVar8); puVar8 = puVar8 + 0x2a; } lVar4 = param_1[1]; puVar8 = puVar10; for (lVar6 = *param_1; lVar6 != lVar4; lVar6 = lVar6 + 0x150) { *puVar8 = pace::eden::thrift::pub::IlokInfo::vftable; puVar8[1] = pace::eden::thrift::pub::IlokIdentifier::vftable; *(undefined4 *)(puVar8 + 2) = *(undefined4 *)(lVar6 + 0x10); puVar8[3] = *(undefined8 *)(lVar6 + 0x18); *(undefined2 *)(puVar8 + 4) = *(undefined2 *)(lVar6 + 0x20); FUN_1805a4070(puVar8 + 5,lVar6 + 0x28); FUN_1805a4070(puVar8 + 9,lVar6 + 0x48); *(undefined4 *)(puVar8 + 0xd) = *(undefined4 *)(lVar6 + 0x68); FUN_1805a4070(puVar8 + 0xe,lVar6 + 0x70); puVar8[0x12] = pace::eden::thrift::pub::ZdtAndLosInfo::vftable; FUN_1805a4070(puVar8 + 0x13,lVar6 + 0x98); FUN_1805a4070(puVar8 + 0x17,lVar6 + 0xb8); FUN_1805a4070(puVar8 + 0x1b,lVar6 + 0xd8); FUN_1805a4070(puVar8 + 0x1f,lVar6 + 0xf8); *(undefined1 *)(puVar8 + 0x23) = *(undefined1 *)(lVar6 + 0x118); *(undefined1 *)((longlong)puVar8 + 0x119) = *(undefined1 *)(lVar6 + 0x119); *(undefined1 *)((longlong)puVar8 + 0x11a) = *(undefined1 *)(lVar6 + 0x11a); *(undefined4 *)((longlong)puVar8 + 0x11b) = *(undefined4 *)(lVar6 + 0x11b); *(undefined2 *)((longlong)puVar8 + 0x11f) = *(undefined2 *)(lVar6 + 0x11f); *(undefined1 *)((longlong)puVar8 + 0x121) = *(undefined1 *)(lVar6 + 0x121); FUN_1805a4070(puVar8 + 0x25,lVar6 + 0x128); *(undefined4 *)(puVar8 + 0x29) = *(undefined4 *)(lVar6 + 0x148); *(undefined2 *)((longlong)puVar8 + 0x14c) = *(undefined2 *)(lVar6 + 0x14c); *(undefined1 *)((longlong)puVar8 + 0x14e) = *(undefined1 *)(lVar6 + 0x14e); puVar8 = puVar8 + 0x2a; } puVar8 = (undefined8 *)*param_1; if (puVar8 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x2a); param_1[2] = (longlong)(puVar10 + uVar2 * 0x2a); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar8 != puVar10; puVar8 = puVar8 + 0x2a) { (**(code **)*puVar8)(puVar8,0); } pvVar1 = (void *)*param_1; lVar4 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar4 >> 8) - (lVar4 >> 0x3f)) * 0x150)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1807d9f30 size=97 ############ undefined8 * FUN_1807d9f30(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1807dfba0 size=744 ############ void FUN_1807dfba0(longlong param_1,int param_2,undefined4 *param_3,longlong param_4) { int iVar1; char *pcVar2; undefined8 uVar3; char *pcVar4; longlong lVar5; char *local_res8; int local_res10 [2]; int local_68; uint local_64; undefined4 local_60 [2]; longlong local_58; char *local_50; undefined8 local_48; local_48 = 0xfffffffffffffffe; pcVar4 = (char *)0x0; local_res10[0] = param_2; if (*(char *)(param_1 + 8) == '\0') { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 != (char *)0x0) { FUN_1805a48c0(local_res8,"ILokCert object has not been initialized"); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res8 = pcVar2; if (pcVar2 != (char *)0x0) { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; pcVar4 = pcVar2; } local_res8 = (char *)CONCAT44(local_res8._4_4_,0x125); local_50 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilokcert.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } FUN_18070ac10(param_4); if (param_2 == 0) { FUN_180709c60(param_4,param_1 + 0xc0); FUN_180709c60(param_4 + 0x38,param_1 + 0xf8); *param_3 = *(undefined4 *)(param_1 + 0x130); } else { local_res8._0_4_ = FUN_1809fe6d0(param_1 + 0x1b0, (ulonglong)*(uint *)(param_1 + 0x1a8) + *(longlong *)(param_1 + 0x1a0), *(undefined4 *)(param_1 + 0x1ac),param_2,&local_68,param_3,&local_58, &local_64,local_60,0); if ((int)local_res8 != 0) { local_50 = (char *)FUN_1811316e0(0x18); if (local_50 != (char *)0x0) { pcVar4 = (char *)FUN_1805a48c0(local_50,"[%d] CERT_FindAndExtractPublicKey error"); } lVar5 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pcVar4 + 8),&local_res8); local_res8 = (char *)CONCAT44(local_res8._4_4_,0x148); local_50 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilokcert.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } if (local_58 == 0) { *param_3 = 0xffffffff; } else { if (local_68 != 0) { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 != (char *)0x0) { pcVar4 = (char *)FUN_1805a48c0(local_res8, "Public key at index (%d) is not an ECC key. It\'s dwPKAlgorithmID = %d" ); } lVar5 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pcVar4 + 8),local_res10); FUN_18060e760(*(undefined8 *)(pcVar4 + 8),&local_68); local_res10[0] = 0x157; local_res8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilokcert.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res10); } iVar1 = FUN_180a028e0(*param_3,(ulonglong)local_64 + local_58,local_60[0],param_4); local_res8 = (char *)CONCAT44(local_res8._4_4_,iVar1); if (iVar1 != 0) { local_50 = (char *)FUN_1811316e0(0x18); if (local_50 != (char *)0x0) { pcVar4 = (char *)FUN_1805a48c0(local_50,"[%d] CERT_InterpretECC_PublicKeyValue error"); } lVar5 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(pcVar4 + 8),&local_res8); local_res10[0] = 0x160; local_res8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilokcert.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res10); } } } return; } ############ FUN_ 1807e93f0 size=1188 ############ void FUN_1807e93f0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; longlong lVar2; byte bVar3; uint uVar4; undefined8 uVar5; char *pcVar6; code *UNRECOVERED_JUMPTABLE; uint uVar7; longlong lStack_138; longlong local_130; longlong local_128; undefined8 local_110; undefined8 local_100; undefined1 *local_f0; undefined8 local_d8; undefined8 local_d0; undefined4 local_c0 [6]; uint local_a8; uint local_a4; char *local_98 [4]; undefined8 local_78; undefined8 local_70; undefined8 local_68; ulonglong local_48; local_68 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)&lStack_138; uVar7 = (uint)&stack0x00000000; uVar4 = (((uVar7 & 0x2bff) + 1) * (uVar7 & 0x2bff) + 7) % 0x51 | ((uVar7 & 0xfff) * (uVar7 & 0xfff) + 1) % 7; local_a8 = ((int)(-uVar4 | uVar4) >> 0x1f) * -0xfff1 ^ 0xf3d1; pcVar6 = (char *)0x0; uVar4 = ((uVar7 & 0x1ff) * (uVar7 & 0x1ff) * 0x10 + 4) % 0x13; uVar4 = (int)(-uVar4 | uVar4) >> 0x1f; local_a4 = ((int)(-uVar4 | uVar4) >> 0x1f) * 0x2059 & 0x9ba5U ^ 0x9df5; local_100 = 0; local_d8 = 0x1908; local_f0 = &LAB_1805e9d08; uVar5 = 0x1805eb610; local_110 = uVar5; local_d0 = param_2; local_78 = param_3; local_70 = param_4; if (*(char *)(param_1 + 8) == '\0') { local_98[0] = (char *)FUN_1811316e0(0x18); if (local_98[0] != (char *)0x0) { FUN_1805a48c0(local_98[0],"ILokCert object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 != (char *)0x0) { local_98[0] = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; pcVar6 = pcVar1; } local_c0[0] = 0x5cd; local_98[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilokcert.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),local_98); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_c0); } FUN_1807eae3f(); bVar3 = (byte)uVar5; /* WARNING: Call to offcut address within same function */ lVar2 = func_0x0001807e9760(); *(byte *)(lVar2 + -0x7f) = *(byte *)(lVar2 + -0x7f) & bVar3; DAT_26c481f8 = DAT_26c481f8 + '\x10'; local_130 = local_128 + 0x361b; lStack_138 = local_128 + 0x580; UNRECOVERED_JUMPTABLE = (code *)(local_128 + 0x22e3); local_128 = local_128 + 0x1b7; /* WARNING: Could not recover jumptable at 0x0001807e98c1. Too many branches */ /* WARNING: Treating indirect jump as call */ (*UNRECOVERED_JUMPTABLE)(); return; } ############ FUN_ 1808073d0 size=180 ############ ulonglong FUN_1808073d0(ulonglong *param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; ulonglong uVar3; ulonglong uVar4; uVar2 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (param_2 != 0) { if (0x7ffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar4 = param_2 * 0x20; uVar3 = 0xffffffffffffffff; if ((param_2 < 0x800000000000000) && (uVar3 = uVar4, uVar4 < 0x1000)) { if (uVar4 != 0) { uVar2 = FUN_1811316e0(uVar4); } } else { uVar2 = uVar3 + 0x27; if (uVar3 + 0x27 <= uVar3) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar1 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar1; } *param_1 = uVar2; param_1[1] = uVar2; param_1[2] = uVar4 + *param_1; uVar2 = CONCAT71((int7)(*param_1 >> 8),1); } return uVar2; } ############ FUN_ 1808074d0 size=63 ############ void FUN_1808074d0(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x30); *puVar1 = *param_1; puVar1[1] = *param_1; puVar1[2] = *param_1; return; } ############ FUN_ 180807510 size=63 ############ void FUN_180807510(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x48); *puVar1 = *param_1; puVar1[1] = *param_1; puVar1[2] = *param_1; return; } ############ FUN_ 1808077f0 size=116 ############ void FUN_1808077f0(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x50; if (param_2 < 0x333333333333334) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 180847690 size=172 ############ undefined8 FUN_180847690(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180a86580(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorSignature::RTTI_Type_Descriptor,1 ); uVar3 = FUN_180aade30(lVar2,param_2,param_3,uVar3,param_4); } return uVar3; } ############ FUN_ 180846e40 size=97 ############ undefined8 * FUN_180846e40(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1808be9a0 size=97 ############ undefined8 * FUN_1808be9a0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1808f2c40 size=196 ############ undefined8 FUN_1808f2c40(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined1 param_6) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; undefined8 in_stack_ffffffffffffffc8; undefined4 uVar4; uVar4 = (undefined4)((ulonglong)in_stack_ffffffffffffffc8 >> 0x20); lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180af3800(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorActivationInfo:: RTTI_Type_Descriptor,CONCAT44(uVar4,1)); uVar3 = FUN_180afefd0(lVar2,param_2,param_3,uVar3,param_4,param_5,param_6); } return uVar3; } ############ FUN_ 18086c340 size=196 ############ undefined8 FUN_18086c340(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined1 param_6) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; undefined8 in_stack_ffffffffffffffc8; undefined4 uVar4; uVar4 = (undefined4)((ulonglong)in_stack_ffffffffffffffc8 >> 0x20); lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180ab8940(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorAuthorization:: RTTI_Type_Descriptor,CONCAT44(uVar4,1)); uVar3 = FUN_180ac45b0(lVar2,param_2,param_3,uVar3,param_4,param_5,param_6); } return uVar3; } ############ FUN_ 180819130 size=196 ############ undefined8 FUN_180819130(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined1 param_6) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; undefined8 in_stack_ffffffffffffffc8; undefined4 uVar4; uVar4 = (undefined4)((ulonglong)in_stack_ffffffffffffffc8 >> 0x20); lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180813b40(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorDatabaseInfo:: RTTI_Type_Descriptor,CONCAT44(uVar4,1)); uVar3 = FUN_180a54b50(lVar2,param_2,param_3,uVar3,param_4,param_5,param_6); } return uVar3; } ############ FUN_ 180818fa0 size=97 ############ undefined8 * FUN_180818fa0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a3de20 size=170 ############ void FUN_180a3de20(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { longlong lVar1; undefined8 *puVar2; undefined8 local_res10; undefined8 local_res18; undefined4 local_res20 [2]; local_res10 = param_2; local_res18 = param_3; local_res20[0] = param_4; lVar1 = FUN_1811316e0(0x18); if (lVar1 == 0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(lVar1, "LsCachedObjectVector<>::at: Index out of range. Expected 0 <= index < %u, but saw index = %u for entityId: %d. Error detected in file %s at line %d." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805b2520(*(undefined8 *)(lVar1 + 8),&local_res10); FUN_1805b2520(*(undefined8 *)(lVar1 + 8),&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar1 + 8),local_res20); } ############ FUN_ 180aab0f0 size=1329 ############ /* WARNING: Removing unreachable block (ram,0x000180aab167) */ /* WARNING: Removing unreachable block (ram,0x000180aab20b) */ uint FUN_180aab0f0(longlong param_1) { longlong *plVar1; int *piVar2; int iVar3; undefined8 uVar4; longlong *plVar5; undefined4 uVar6; longlong lVar7; longlong lVar8; undefined8 uVar9; uint uVar10; uint uVar11; bool bVar12; int unaff_retaddr; undefined8 in_stack_ffffffffffffff48; undefined4 uVar13; undefined8 local_70; longlong *local_68; undefined8 local_60; undefined8 local_58; undefined8 local_50; uVar13 = (undefined4)((ulonglong)in_stack_ffffffffffffff48 >> 0x20); local_58 = 0xfffffffffffffffe; uVar9 = 0; if (*(longlong *)(param_1 + 0x48) == 0) { lVar7 = FUN_180aaca20(param_1); uVar4 = *(undefined8 *)(param_1 + 0x40); lVar8 = FUN_1811316e0(0x38); if (lVar8 != 0) { uVar6 = FUN_180b4a640(); uVar9 = FUN_180a3d1e0(uVar4,uVar6); uVar9 = __RTDynamicCast(uVar9,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorSignedInfo:: RTTI_Type_Descriptor,CONCAT44(uVar13,1)); uVar9 = FUN_180aa5ec0(lVar8,param_1,lVar7 + 0x98,uVar9,FUN_180aa9f00,param_1,1); } local_70 = uVar9; FUN_180aa8920(&local_68,uVar9); FUN_1805ae620(&local_70,uVar9,uVar9); local_50 = local_70; uVar9 = *(undefined8 *)(param_1 + 0x48); *(undefined8 *)(param_1 + 0x48) = local_70; plVar5 = *(longlong **)(param_1 + 0x50); *(longlong **)(param_1 + 0x50) = local_68; local_70 = uVar9; local_68 = plVar5; if (plVar5 != (longlong *)0x0) { LOCK(); plVar1 = plVar5 + 1; lVar7 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar2 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } } lVar7 = FUN_180aaca20(param_1); lVar8 = FUN_180aaca20(param_1); local_60 = *(undefined8 *)(param_1 + 0x48); if (lVar7 != DAT_18266f170) { FUN_180a3b7d0(local_60,lVar8 + 0x98); DAT_18266f170 = lVar7; } uVar11 = (DAT_1814bb6fc + -0x2b7f4a52) * -0x395b586d; uVar11 = uVar11 ^ uVar11 >> 0x10; uVar10 = uVar11; do { bVar12 = (int)uVar10 < 0; FUN_180aaa512(0x4100); if (!bVar12) { uVar11 = ~(~uVar11 + 1) + 1; } uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar11 = (DAT_1814bb700 + uVar11) * -0x395b586d; return ((uVar11 >> 0x10 ^ uVar11) + DAT_1814bb704) * -0x395b586d >> 0x10; } ############ FUN_ 180aa8920 size=97 ############ undefined8 * FUN_180aa8920(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1808bed20 size=172 ############ undefined8 FUN_1808bed20(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180af3800(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorActivationInfo:: RTTI_Type_Descriptor,1); uVar3 = FUN_180aff020(lVar2,param_2,param_3,uVar3,param_4); } return uVar3; } ############ FUN_ 1808bedd0 size=196 ############ undefined8 FUN_1808bedd0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined1 param_6) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; undefined8 in_stack_ffffffffffffffc8; undefined4 uVar4; uVar4 = (undefined4)((ulonglong)in_stack_ffffffffffffffc8 >> 0x20); lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180afadb0(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorExpirationWarning:: RTTI_Type_Descriptor,CONCAT44(uVar4,1)); uVar3 = FUN_180afe950(lVar2,param_2,param_3,uVar3,param_4,param_5,param_6); } return uVar3; } ############ FUN_ 1808bebd0 size=97 ############ undefined8 * FUN_1808bebd0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1808ecd50 size=1277 ############ /* WARNING: Removing unreachable block (ram,0x0001808ecf67) */ /* WARNING: Removing unreachable block (ram,0x0001808ecdc2) */ /* WARNING: Removing unreachable block (ram,0x0001808eced7) */ longlong FUN_1808ecd50(longlong *param_1,undefined8 param_2) { longlong *plVar1; int *piVar2; longlong lVar3; longlong *plVar4; int iVar5; undefined4 uVar6; longlong lVar7; longlong lVar8; undefined8 uVar9; longlong lVar10; int iVar11; uint uVar12; int iVar13; undefined1 auStack_f8 [32]; code *local_d8; longlong *local_d0; undefined1 local_c8; uint local_90; uint local_8c; longlong local_88; longlong *local_80; undefined8 local_78; longlong local_70; undefined8 local_68; longlong local_60; ulonglong local_40; local_68 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_f8; lVar10 = 0; uVar12 = (uint)&stack0x00000000 & 0x27f; iVar13 = (uVar12 + 2) * (uVar12 + 1) * uVar12; if (((ulonglong)&stack0x00000000 & 0x440) == 0) { iVar11 = 0x2ea71351; iVar5 = 0x3e1d7d4; } else { iVar11 = 0x4685b; iVar5 = 0x1ab040; } local_8c = (uint)(iVar5 == iVar11) ^ (((iVar13 >> 1) - (iVar13 >> 3)) + iVar13 * 0x55555555 >> 0x1e) + 0x5092U ^ 0x59a2; uVar12 = (uint)&stack0x00000000 & 0x1bf; local_90 = ((uVar12 + 2) * (uVar12 + 1) * uVar12) % 3 + 0xe432 ^ 0xe1b2; local_78 = param_2; if (param_1[0x13] == 0) { lVar7 = param_1[3]; if (lVar7 == 0) { lVar7 = (**(code **)(*param_1 + 0x48))(param_1); } lVar3 = param_1[8]; lVar8 = FUN_1811316e0(0x38); local_70 = lVar8; if (lVar8 != 0) { uVar6 = FUN_180aded80(); uVar9 = FUN_180a3d1e0(lVar3,uVar6); local_d8 = (code *)CONCAT44(local_d8._4_4_,1); uVar9 = __RTDynamicCast(uVar9,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorAuthKey::RTTI_Type_Descriptor); local_c8 = 1; local_d8 = FUN_1808ec6c0; local_d0 = param_1; lVar10 = FUN_1808af080(lVar8,param_1,lVar7 + 0x188,uVar9); } local_88 = lVar10; FUN_1808bea10(&local_80,lVar10); FUN_1805ae620(&local_88,lVar10,lVar10); local_60 = local_88; lVar10 = param_1[0x13]; param_1[0x13] = local_88; plVar4 = (longlong *)param_1[0x14]; param_1[0x14] = (longlong)local_80; local_88 = lVar10; local_80 = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar10 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar10 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar13 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } lVar10 = param_1[3]; if (lVar10 == 0) { lVar10 = (**(code **)(*param_1 + 0x48))(param_1); } lVar7 = param_1[3]; if (lVar7 == 0) { lVar7 = (**(code **)(*param_1 + 0x48))(param_1); } local_70 = param_1[0x13]; if (lVar10 != DAT_182667a78) { lVar7 = FUN_180a3b7d0(local_70,lVar7 + 0x188); DAT_182667a78 = lVar10; } return lVar7; } ############ FUN_ 1808bea10 size=97 ############ undefined8 * FUN_1808bea10(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1808beea0 size=196 ############ undefined8 FUN_1808beea0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined1 param_6) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; undefined8 in_stack_ffffffffffffffc8; undefined4 uVar4; uVar4 = (undefined4)((ulonglong)in_stack_ffffffffffffffc8 >> 0x20); lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_1808b5ec0(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorLicense::RTTI_Type_Descriptor, CONCAT44(uVar4,1)); uVar3 = FUN_180afec90(lVar2,param_2,param_3,uVar3,param_4,param_5,param_6); } return uVar3; } ############ FUN_ 1808bec40 size=97 ############ undefined8 * FUN_1808bec40(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180afdd40 size=196 ############ undefined8 FUN_180afdd40(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined1 param_6) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; undefined8 in_stack_ffffffffffffffc8; undefined4 uVar4; uVar4 = (undefined4)((ulonglong)in_stack_ffffffffffffffc8 >> 0x20); lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180b3b250(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorIlokAuth::RTTI_Type_Descriptor, CONCAT44(uVar4,1)); uVar3 = FUN_180b990d0(lVar2,param_2,param_3,uVar3,param_4,param_5,param_6); } return uVar3; } ############ FUN_ 180afdcd0 size=97 ############ undefined8 * FUN_180afdcd0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a8ce60 size=172 ############ undefined8 FUN_180a8ce60(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180b327a0(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorAssociativeArray:: RTTI_Type_Descriptor,1); uVar3 = FUN_180b6c1c0(lVar2,param_2,param_3,uVar3,param_4); } return uVar3; } ############ FUN_ 180a8cd80 size=97 ############ undefined8 * FUN_180a8cd80(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a8ff50 size=1017 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180a903f9) overlaps instruction at (ram,0x000180a903f7) */ /* WARNING: Removing unreachable block (ram,0x000180a8ffc2) */ /* WARNING: Removing unreachable block (ram,0x000180a903f7) */ char FUN_180a8ff50(longlong *param_1) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; byte bVar5; undefined4 uVar6; longlong lVar7; longlong lVar8; undefined8 uVar9; longlong lVar10; uint uVar11; ulonglong uVar12; ulonglong in_R11; int unaff_retaddr; undefined8 in_stack_ffffffffffffff68; undefined4 uVar13; longlong local_50; longlong *local_48 [2]; uVar13 = (undefined4)((ulonglong)in_stack_ffffffffffffff68 >> 0x20); if (param_1[9] == 0) { lVar7 = param_1[3]; if (lVar7 == 0) { lVar7 = (**(code **)(*param_1 + 0x48))(param_1); } lVar10 = param_1[8]; lVar8 = FUN_1811316e0(0x38); if (lVar8 == 0) { lVar7 = 0; } else { uVar6 = FUN_180b41620(); uVar9 = FUN_180a3d1e0(lVar10,uVar6); uVar9 = __RTDynamicCast(uVar9,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorSignedDigest:: RTTI_Type_Descriptor,CONCAT44(uVar13,1)); lVar7 = FUN_180b72840(lVar8,param_1,lVar7 + 0x138,uVar9,FUN_180aa1cf0,param_1,1); } local_50 = lVar7; FUN_180a8cdf0(local_48,lVar7); FUN_1805ae620(&local_50,lVar7,lVar7); lVar7 = param_1[9]; param_1[9] = local_50; plVar4 = (longlong *)param_1[10]; param_1[10] = (longlong)local_48[0]; local_50 = lVar7; local_48[0] = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar7 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } lVar7 = param_1[3]; if (lVar7 == 0) { lVar7 = (**(code **)(*param_1 + 0x48))(param_1); } lVar10 = param_1[3]; if (lVar10 == 0) { lVar10 = (**(code **)(*param_1 + 0x48))(param_1); } if (lVar7 != DAT_18266f118) { FUN_180a3b7d0(param_1[9],lVar10 + 0x138); DAT_18266f118 = lVar7; } lVar7 = 0x180000000; do { uVar12 = 0; bVar5 = FUN_180a91530(0xd510,lVar7); if ((uVar12 & 0xc0) != 0) { return (bVar5 | 0xeb) + 0x26; } lVar10 = lVar7 + ~in_R11 + 1; lVar7 = ~((~in_R11 + 1) - lVar10) + 1; in_R11 = -(lVar10 - lVar7); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); func_0x000180a8f1f8(); func_0x000180a904f0(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180a8cdf0 size=97 ############ undefined8 * FUN_180a8cdf0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a8cf10 size=196 ############ undefined8 FUN_180a8cf10(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined1 param_6) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; undefined8 in_stack_ffffffffffffffc8; undefined4 uVar4; uVar4 = (undefined4)((ulonglong)in_stack_ffffffffffffffc8 >> 0x20); lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180a86580(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorSignature::RTTI_Type_Descriptor, CONCAT44(uVar4,1)); uVar3 = FUN_180aadde0(lVar2,param_2,param_3,uVar3,param_4,param_5,param_6); } return uVar3; } ############ FUN_ 180b50dc0 size=196 ############ undefined8 FUN_180b50dc0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined1 param_6) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; undefined8 in_stack_ffffffffffffffc8; undefined4 uVar4; uVar4 = (undefined4)((ulonglong)in_stack_ffffffffffffffc8 >> 0x20); lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180b4a640(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorSignedInfo::RTTI_Type_Descriptor, CONCAT44(uVar4,1)); uVar3 = FUN_180aa5ec0(lVar2,param_2,param_3,uVar3,param_4,param_5,param_6); } return uVar3; } ############ FUN_ 180b60140 size=196 ############ undefined8 FUN_180b60140(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined1 param_6) { undefined4 uVar1; longlong lVar2; undefined8 uVar3; undefined8 in_stack_ffffffffffffffc8; undefined4 uVar4; uVar4 = (undefined4)((ulonglong)in_stack_ffffffffffffffc8 >> 0x20); lVar2 = FUN_1811316e0(0x38); if (lVar2 == 0) { uVar3 = 0; } else { uVar1 = FUN_180b327a0(); uVar3 = FUN_180a3d1e0(param_1,uVar1); uVar3 = __RTDynamicCast(uVar3,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorAssociativeArray:: RTTI_Type_Descriptor,CONCAT44(uVar4,1)); uVar3 = FUN_180b6c170(lVar2,param_2,param_3,uVar3,param_4,param_5,param_6); } return uVar3; } ############ FUN_ 180b65780 size=1371 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180b65a22) overlaps instruction at (ram,0x000180b65a20) */ void FUN_180b65780(longlong param_1) { longlong *plVar1; int *piVar2; int iVar3; undefined8 uVar4; longlong *plVar5; undefined4 uVar6; longlong lVar7; longlong lVar8; undefined8 uVar9; uint uVar10; ulonglong uVar11; int unaff_retaddr; undefined8 in_stack_ffffffffffffff78; undefined4 uVar12; undefined8 local_48; longlong *local_40; uVar12 = (undefined4)((ulonglong)in_stack_ffffffffffffff78 >> 0x20); uVar9 = 0; if (*(longlong *)(param_1 + 0x48) == 0) { lVar7 = FUN_180b67920(param_1,1,(uint)&stack0x00000000 & 0xeff,(uint)&stack0x00000000 & 0x17ff); uVar4 = *(undefined8 *)(param_1 + 0x40); lVar8 = FUN_1811316e0(0x38); if (lVar8 != 0) { uVar6 = FUN_180b29790(); uVar9 = FUN_180a3d1e0(uVar4,uVar6); uVar9 = __RTDynamicCast(uVar9,0,&license_services::LsCachedObjectVectorBase:: RTTI_Type_Descriptor, &license_services::LsCachedObjectVectorArrayEntry:: RTTI_Type_Descriptor,CONCAT44(uVar12,1)); uVar9 = FUN_180b6f8f0(lVar8,param_1,lVar7 + 0x90,uVar9,FUN_180b66910,param_1,1); } local_48 = uVar9; FUN_180b646e0(&local_40,uVar9); FUN_1805ae620(&local_48,uVar9,uVar9); uVar9 = *(undefined8 *)(param_1 + 0x48); *(undefined8 *)(param_1 + 0x48) = local_48; plVar5 = *(longlong **)(param_1 + 0x50); *(longlong **)(param_1 + 0x50) = local_40; local_48 = uVar9; local_40 = plVar5; if (plVar5 != (longlong *)0x0) { LOCK(); plVar1 = plVar5 + 1; lVar7 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar2 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } } lVar7 = FUN_180b67920(param_1); lVar8 = FUN_180b67920(param_1); if (lVar7 != DAT_18266fe60) { FUN_180a3b7d0(*(undefined8 *)(param_1 + 0x48),lVar8 + 0x90); DAT_18266fe60 = lVar7; } do { FUN_180b64e45(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar9 = 0x100000; do { uVar11 = 0x5334; FUN_180b66806(); if ((uVar11 & 0xe300) == 0) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = (((uint)(DAT_18147efa8 * 0x401) >> 6 ^ DAT_18147efa8 * 0x401) + DAT_18147efac) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efb0) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efb4) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efb8) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efbc) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efc0) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efc4) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efc8) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efcc) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efd0) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efd4) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efd8) * 0x401; uVar10 = ((uVar10 >> 6 ^ uVar10) + DAT_18147efdc) * 0x401; FUN_180b65ced((uVar10 >> 6 ^ uVar10) + DAT_18147efe0,&DAT_18147efa8,uVar9); return; } ############ FUN_ 180b646e0 size=97 ############ undefined8 * FUN_180b646e0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1808091d0 size=2017 ############ /* WARNING: Instruction at (ram,0x0001808097c9) overlaps instruction at (ram,0x0001808097c8) */ /* WARNING: Removing unreachable block (ram,0x000180809a84) */ /* WARNING: Removing unreachable block (ram,0x000180809275) */ /* WARNING: Removing unreachable block (ram,0x00018080921e) */ /* WARNING: Removing unreachable block (ram,0x000180809232) */ /* WARNING: Removing unreachable block (ram,0x00018080988e) */ /* WARNING: Removing unreachable block (ram,0x00018080996f) */ undefined8 FUN_1808091d0(ulonglong param_1,int param_2) { uint *puVar1; char cVar2; longlong lVar3; ulonglong uVar4; undefined8 *puVar5; undefined8 uVar6; uint uVar7; undefined8 *puVar8; ulonglong uVar9; longlong lVar10; ulonglong uVar11; ulonglong uVar12; undefined8 *puVar13; undefined1 *puVar14; undefined1 *puVar15; int iVar16; int unaff_retaddr; int local_res10 [2]; undefined8 local_res18; uint local_res20; undefined1 auStack_a8 [32]; undefined8 local_88; undefined8 local_80; undefined8 local_70; undefined8 *local_68; undefined8 *local_60; undefined8 *local_58; undefined8 *local_50; puVar14 = auStack_a8; local_70 = 0xfffffffffffffffe; if (((ulonglong)&stack0x00000000 & 0x3500) == 0) { if (((ulonglong)&stack0x00000000 & 0x2f00) == 0) { uVar7 = (uint)&stack0x00000000 & 0x1ff; iVar16 = (uVar7 + 2) * (uVar7 + 1) * uVar7; iVar16 = ((iVar16 >> 1) - (iVar16 >> 3)) + iVar16 * 0x55555555 >> 0x1e; } else { iVar16 = 0; } local_res20 = iVar16 + 0xa772; } else { local_res20 = 0xa772; } local_res20 = local_res20 ^ 0xac22; local_68 = *(undefined8 **)(param_1 + 0x1958); cVar2 = *(char *)((longlong)local_68[1] + 0x19); puVar5 = local_68; puVar13 = (undefined8 *)local_68[1]; while (cVar2 == '\0') { if (*(int *)(puVar13 + 4) < param_2) { puVar8 = (undefined8 *)puVar13[2]; puVar13 = puVar5; } else { puVar8 = (undefined8 *)*puVar13; } puVar5 = puVar13; puVar13 = puVar8; cVar2 = *(char *)((longlong)puVar8 + 0x19); } puVar13 = local_68; puVar8 = local_68; if ((puVar5 != local_68) && (puVar8 = local_68, *(int *)(puVar5 + 4) <= param_2)) { puVar13 = puVar5; local_60 = puVar5; puVar8 = local_58; } local_58 = puVar8; uVar11 = 0x180000000; local_88 = 0x100; local_80 = 0x18157fbb0; local_res18 = 0x18157fcb0; local_50 = *(undefined8 **)(param_1 + 0x1958); uVar4 = 0; local_res10[0] = param_2; if (puVar13 == local_50) { lVar3 = FUN_1811316e0(0x18); if (lVar3 != 0) { uVar4 = FUN_1805a48c0(lVar3, "LsObjectCache::getObjectVector: The entityId value supplied: %d, is invalid" ); } puVar5 = (undefined8 *)FUN_1811316e0(0x18); if (puVar5 != (undefined8 *)0x0) { FUN_1805a48c0(puVar5,"|__FILE__|%s|__LINE__|%d"); *puVar5 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(uVar4 + 8),local_res10); } do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); iVar16 = ((((((((((iRam000000018157fc4c * 0x6b + iRam000000018157fc50) * 0x6b + iRam000000018157fc54) * 0x6b + iRam000000018157fc58) * 0x6b + iRam000000018157fc38 * -0x3da6fb75 + iRam000000018157fc20 * -0x6a0c3d7d + iRam000000018157fc30 * -0x40e3d38d + iRam000000018157fc28 * -0xd001ce5 + iRam000000018157fc40 * -0x7c8cfe9d + iRam000000018157fc24 * -0x6f0c13b7 + iRam000000018157fc2c * -0x1f396bef + iRam000000018157fc3c * -0xeee6b9f + iRam000000018157fc48 * 0x43fc68fb + iRam000000018157fc44 * 0x6a7fe0e9 + iRam000000018157fc34 * 0x3b34e619 + ((((iRam000000018157fc0c * 0x6b + iRam000000018157fc10) * 0x6b + iRam000000018157fc14) * 0x6b + iRam000000018157fc18) * 0x6b + iRam000000018157fbd0 * -0x15fdac6d + iRam000000018157fbfc * -0xeee6b9f + iRam000000018157fbc8 * -0x7df456c5 + iRam000000018157fbcc * -0x3107118f + iRam000000018157fbb0 * -0xd0a594d + iRam000000018157fbc0 * -0x47c905d + iRam000000018157fbe8 * -0xd001ce5 + iRam000000018157fbf8 * -0x3da6fb75 + iRam000000018157fbe4 * -0x6f0c13b7 + iRam000000018157fbd4 * -0x2b455c87 + iRam000000018157fbec * -0x1f396bef + iRam000000018157fbf0 * -0x40e3d38d + iRam000000018157fbdc * -0x531db33f + iRam000000018157fbe0 * -0x6a0c3d7d + iRam000000018157fc00 * -0x7c8cfe9d + iRam000000018157fbbc * 0x1fefa921 + iRam000000018157fbf4 * 0x3b34e619 + iRam000000018157fbb4 * 0x4542e4d9 + iRam000000018157fc08 * 0x43fc68fb + iRam000000018157fbb8 * 0x592bb0cb + iRam000000018157fbc4 * 0x5adfbba9 + iRam000000018157fc04 * 0x6a7fe0e9 + iRam000000018157fbd8 * 0x429614ab + iRam000000018157fc1c) * -0x531db33f + iRam000000018157fc5c) * 0x6b + iRam000000018157fc60) * 0x6b + iRam000000018157fc64) * 0x6b + iRam000000018157fc68) * 0x6b + iRam000000018157fc6c) * 0x6b + iRam000000018157fc70) * 0x6b + iRam000000018157fc74) * 0x6b + iRam000000018157fc78; puVar15 = (undefined1 *)register0x00000020; do { uVar9 = 0xfc34; FUN_1808085fd(); uVar12 = uVar11 ^ param_1; if ((uVar9 & 0xc700) == 0) { uVar12 = CONCAT62((int6)(uVar12 >> 0x10), CONCAT11((char)(uVar12 >> 8) << ((byte)uVar9 & 0x1f),(char)uVar12)); puVar1 = (uint *)(uVar9 + 0x74); *puVar1 = *puVar1 << 1 | *puVar1 >> 0x1f; uVar11 = param_1; } else if ((uVar9 & 0x41) == 0) { uVar12 = param_1; } uVar4 = ~((uVar4 ^ 0xffffffffffffffff) + 1) + 1; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } param_1 = uVar12; } while (uVar7 != 0); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = ((((((((iRam000000018157fc88 * 0x6b + iRam000000018157fc8c) * 0x6b + iRam000000018157fc90) * 0x6b + iRam000000018157fc94) * 0x6b + iRam000000018157fc7c * -0x7c8cfe9d + iRam000000018157fc84 * 0x43fc68fb + iRam000000018157fc80 * 0x6a7fe0e9 + iVar16 * -0xeee6b9f + iRam000000018157fc98) * 0x6b + iRam000000018157fc9c) * 0x6b + iRam000000018157fca0) * 0x6b + iRam000000018157fca4) * 0x6b + iRam000000018157fca8) * 0x6b + iRam000000018157fcac; local_res18 = 0xa0543b4366003abe; uVar7 = (uVar7 * -0x80000000 | uVar7 >> 1) + 0xfe314124; uVar4 = CONCAT71((int7)(uVar4 >> 8),(uVar7 >> 0xd | uVar7 * 0x80000) == 0x10af6e9e); if ((uVar4 & 0xfffffff) != 0 || (int)uVar4 != 0) { lVar3 = (longlong)(int)local_res20; do { *(undefined8 *)(puVar14 + -8) = 0x180809a2a; lVar10 = lVar3; FUN_180808472(lVar3,uVar11); *(undefined1 **)(puVar14 + -8) = puVar15; *(longlong *)(puVar14 + -0x10) = lVar3; *(BADSPACEBASE **)(puVar14 + -0x18) = register0x00000020; lVar10 = -lVar10; register0x00000020 = *(BADSPACEBASE **)(puVar14 + lVar10 + 0xb38); lVar3 = *(longlong *)(puVar14 + lVar10 + 0xb40); puVar15 = *(undefined1 **)(puVar14 + lVar10 + 0xb48); puVar14 = puVar14 + lVar10 + 0xb50; uVar7 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); return puVar13[5]; } uVar6 = FUN_180809979(0xe60); return uVar6; } ############ FUN_ 18080dc60 size=1998 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x00018080df73) overlaps instruction at (ram,0x00018080df72) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018080e535) */ /* WARNING: Removing unreachable block (ram,0x00018080ddbd) */ /* WARNING: Removing unreachable block (ram,0x00018080df6f) */ /* WARNING: Removing unreachable block (ram,0x00018080e243) */ /* WARNING: Removing unreachable block (ram,0x00018080e109) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_18080dc60(longlong *param_1,char param_2,undefined8 param_3,undefined4 param_4) { ulonglong uVar1; undefined1 *puVar2; ulonglong uVar3; int iVar4; IMAGE_DOS_HEADER *pIVar5; longlong lVar6; longlong *plVar7; undefined1 *puVar8; undefined **ppuVar9; undefined **ppuVar10; uint *puVar11; uint uVar12; longlong *plVar13; IMAGE_DOS_HEADER *pIVar14; longlong unaff_R12; longlong lVar15; ulonglong uVar16; int *piVar17; longlong lVar18; int unaff_retaddr; undefined1 auStack_f8 [32]; char local_d8; uint local_d4; undefined **local_d0; undefined **local_c8; uint local_c0 [2]; undefined4 local_b8; undefined8 local_b0; uint local_a8; uint local_90; longlong local_88; undefined8 local_80; longlong *local_78; undefined8 local_68; int local_58 [4]; ulonglong local_48; local_68 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_f8; uVar12 = (uint)&stack0x00000000 & 0xaff; uVar3 = 0; uVar12 = (uVar12 * uVar12 + 1) % 7; local_90 = ((int)(-uVar12 | uVar12) >> 0x1f) * -0x88d8 ^ 0x8298; uVar12 = (uint)&stack0x00000000 & 0x4eff; iVar4 = uVar12 * uVar12 + 1; uVar12 = iVar4 * 0x24924924 + (iVar4 >> 4) + (iVar4 >> 1) >> 0x1d; uVar12 = (int)(uVar12 - 7) >> 0x1f & uVar12; local_a8 = ((int)(-uVar12 | uVar12) >> 0x1f) * -0x8ac9 ^ 0x8b99; uVar16 = (ulonglong)local_a8; local_d8 = param_2; local_b8 = param_4; local_80 = param_3; local_78 = param_1; do { FUN_18080c3d9(&DAT_00005114); lVar15 = uVar16 + unaff_R12; uVar16 = ~(unaff_R12 - lVar15) + 1; unaff_R12 = lVar15 - uVar16; uVar3 = ~(~uVar3 + 1) + 1; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); pIVar14 = &IMAGE_DOS_HEADER_180000000; local_b0 = 0x6f01000; plVar13 = (longlong *)0xffffffef; local_c8 = &PTR__guard_check_icall_181bab6a8; local_d0 = (undefined **)&DAT_181bab6b8; plVar7 = (longlong *)&DAT_186f01000; do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); local_d4 = (uint)uVar3; piVar17 = (int *)register0x00000020; do { FUN_18080d362(&DAT_00005114); piVar17 = (int *)((~(ulonglong)piVar17 + 1 ^ 0xffffffffffffffff) + 1); FUN_18080e6e2(); ppuVar10 = local_c8; uVar12 = (*piVar17 + 1) * *piVar17 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); lVar18 = 0; lVar15 = (longlong)local_d0 - (longlong)local_c8; local_b0 = 0x31bc7b643315a3fd; local_c8 = (undefined **)CONCAT44(local_c8._4_4_,0x3315a3fd); local_c0[0] = local_d4; if (local_d0 != ppuVar10) { LAB_18080e040: ppuVar9 = ppuVar10; if ((plVar7 != (longlong *)0x0) && (lVar6 = *plVar7, -1 < lVar6)) { local_b0 = 0x2621fc0; do { if (ppuVar10 < IMAGE_DOS_HEADER_180000000.e_magic + lVar6 + 8) { if (-1 < lVar6) { pIVar5 = (IMAGE_DOS_HEADER *)(lVar6 + 0x180000000); pIVar14 = (IMAGE_DOS_HEADER *)((longlong)ppuVar10 + 4); if (pIVar5 < pIVar14) { local_58[0] = *(int *)ppuVar10; plVar13 = plVar7; goto LAB_18080e0b0; } } break; } plVar7 = plVar7 + 1; lVar6 = *plVar7; } while (-1 < lVar6); } goto LAB_18080e0e0; } LAB_18080e1c0: do { puVar11 = local_c0; FUN_18080fab6(&LAB_18113e030,&LAB_18113e030); uVar12 = FUN_18083de0b(); *puVar11 = uVar12; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); local_d4 = local_c0[0] + 0xfd58303d >> 0x1b | (local_c0[0] + 0xfd58303d) * 0x20; do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar1 = CONCAT71((int7)(uVar3 >> 8),local_d4 == (uint)local_c8); if ((int)uVar1 != 0 || (uVar1 & 0xfffffff) != 0) { if (param_2 == '\0') { FUN_18080f035(); thunk_FUN_1805a9280(); return; } local_88 = FUN_1811316e0(0x18); if (local_88 != 0) { uVar3 = FUN_1805a48c0(local_88, "The relation \"%s\" in the LsLicense object with selfRelation value (%d, %ld) is not marked optional, but is not populated. Test failed at line %d" ); } FUN_1805c0260(); FUN_1805a21d0(*(undefined8 *)(uVar3 + 8),&local_80); lVar15 = (**(code **)(*param_1 + 0x38))(param_1); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(uVar3 + 8),lVar15 + 8); } if (param_2 != '\0') { iVar4 = (int)uVar16; puVar2 = auStack_f8; do { puVar8 = puVar2; *(ulonglong *)(puVar8 + -8) = uVar16; *(longlong **)(puVar8 + -0x10) = plVar13; *(IMAGE_DOS_HEADER **)(puVar8 + -0x18) = pIVar14; register0x00000020 = (BADSPACEBASE *)((~(ulonglong)register0x00000020 + 1 ^ 0xffffffffffffffff) + 1); lVar15 = -(longlong)iVar4; pIVar14 = *(IMAGE_DOS_HEADER **)(puVar8 + lVar15 + 0x138); plVar13 = *(longlong **)(puVar8 + lVar15 + 0x140); uVar16 = *(ulonglong *)(puVar8 + lVar15 + 0x148); uVar12 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } puVar2 = puVar8 + lVar15 + 0x150; } while (uVar12 != 0); *(undefined **)(puVar8 + lVar15 + 0x148) = &UNK_18080e5b1; } local_88 = FUN_1811316e0(0x18); if (local_88 != 0) { uVar3 = FUN_1805a48c0(local_88, "The relation \"%s\" in the LsLicense object with selfRelation value (%d, %ld) is not marked optional, but is not populated. Test failed at line %d" ); } FUN_1805c0260(); FUN_1805a21d0(*(undefined8 *)(uVar3 + 8),&local_80); lVar15 = (**(code **)(*param_1 + 0x38))(param_1); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(uVar3 + 8),lVar15 + 8); while (pIVar5 = (IMAGE_DOS_HEADER *)(lVar6 + 0x180000000), pIVar5 < pIVar14) { LAB_18080e0b0: *(longlong *)(&stack0x00017fffffa8 + (lVar6 - (longlong)ppuVar10)) = *(longlong *)pIVar5 + -0x180000000; plVar13 = plVar13 + 1; lVar6 = *plVar13; ppuVar9 = (undefined **)local_58; if (lVar6 < 0) break; } LAB_18080e0e0: do { local_d4 = local_d4 + *(int *)ppuVar9; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); local_d4 = local_d4 * 0x401; local_d4 = local_d4 ^ local_d4 >> 6; lVar18 = lVar18 + 4; ppuVar10 = (undefined **)((longlong)ppuVar10 + 4); if (lVar15 == lVar18) goto code_r0x00018080e19d; goto LAB_18080e040; code_r0x00018080e19d: uVar3 = 0; uVar16 = (ulonglong)local_a8; local_c0[0] = local_d4; param_2 = local_d8; param_1 = local_78; goto LAB_18080e1c0; } ############ FUN_ 18080f490 size=420 ############ longlong FUN_18080f490(longlong *param_1,void *param_2,undefined8 *param_3) { ulonglong uVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; ulonglong uVar7; void *_Dst; void *pvVar8; longlong lVar9; size_t _Size; lVar5 = *param_1; lVar9 = (longlong)param_2 - lVar5 >> 3; lVar3 = param_1[1] - lVar5 >> 3; if (lVar3 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar3 + 1; uVar6 = param_1[2] - lVar5 >> 3; uVar4 = uVar1; if ((uVar6 <= 0x1fffffffffffffff - (uVar6 >> 1)) && (uVar4 = (uVar6 >> 1) + uVar6, uVar4 < uVar1)) { uVar4 = uVar1; } uVar6 = uVar4 * 8; if (uVar4 < 0x2000000000000000) { uVar4 = uVar6; if (uVar6 < 0x1000) { if (uVar6 == 0) { pvVar8 = (void *)0x0; } else { pvVar8 = (void *)FUN_1811316e0(uVar6); } goto LAB_18080f583; } } else { uVar4 = 0xffffffffffffffff; } uVar7 = uVar4 + 0x27; if (uVar7 <= uVar4) { uVar7 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar7); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar8 = (void *)(lVar5 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar8 - 8) = lVar5; LAB_18080f583: *(undefined8 *)((longlong)pvVar8 + lVar9 * 8) = *param_3; pvVar2 = (void *)*param_1; if (param_2 == (void *)param_1[1]) { _Size = param_1[1] - (longlong)pvVar2; _Dst = pvVar8; param_2 = pvVar2; } else { memmove(pvVar8,pvVar2,(longlong)param_2 - (longlong)pvVar2); _Dst = (void *)((longlong)pvVar8 + (lVar9 + 1) * 8); _Size = param_1[1] - (longlong)param_2; } memmove(_Dst,param_2,_Size); pvVar2 = (void *)*param_1; if (pvVar2 == (void *)0x0) { *param_1 = (longlong)pvVar8; param_1[1] = (longlong)((longlong)pvVar8 + uVar1 * 8); param_1[2] = (longlong)(uVar6 + (longlong)pvVar8); return *param_1 + lVar9 * 8; } pvVar8 = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xfffffffffffffff8U)) && (pvVar8 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } ############ FUN_ 18080f640 size=679 ############ longlong FUN_18080f640(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0x230; lVar13 = (longlong)(param_1[1] - uVar11) / 0x230; if (lVar13 == 0x75075075075075) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0x230; uVar11 = uVar12; if ((uVar4 <= 0x75075075075075 - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12) ) { uVar11 = uVar12; } uVar4 = uVar11 * 0x230; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0x75075075075076) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_18080f77b; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_18080f77b: lVar7 = lVar1 * 0x230 + uVar4; lVar1 = lVar7 + 0x230; lVar5 = lVar1; uVar10 = uVar4; FUN_180810df0(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0x230) { FUN_180810df0(uVar8); uVar8 = uVar8 + 0x230; } } else { FUN_180812680(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_180812680(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x46) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0x230) * 0x230)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0x230 + uVar4; param_1[2] = uVar11 * 0x230 + uVar4; return lVar13 * 0x230 + *param_1; } ############ FUN_ 180a3e1c0 size=1155 ############ /* WARNING: Removing unreachable block (ram,0x000180a3e2c1) */ /* WARNING: Removing unreachable block (ram,0x000180a3e39f) */ void FUN_180a3e1c0(undefined8 *param_1,undefined4 param_2) { undefined8 *puVar1; uint uVar2; uint uVar3; undefined1 auStack_a8 [40]; undefined *local_80; undefined1 *local_78; undefined8 *local_70; undefined4 local_64; uint local_60; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_70 = param_1; local_64 = param_2; local_58 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_70 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { *puVar1 = license_services::LsEntityDatabaseInfo::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180a3e150(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; uVar3 = (uint)&stack0x00000000 & 0x8ff; uVar2 = (uint)&stack0x00000000 & 0x17f; uVar2 = ((uVar3 + 1) * uVar3 + 0x7611 & 0x80000001) << ((char)((ulonglong)((longlong)(int)((uVar2 + 2) * (uVar2 + 1) * uVar2) * 0x55555556) >> 0x20) * -3 & 0x1fU); local_60 = ((int)(-uVar2 | uVar2) >> 0x1f) * -0x825 ^ 0x75; local_70 = (undefined8 *)0x0; local_80 = &DAT_180956a20; local_78 = &LAB_18095960c; func_0x000180a3d08b(); return; } ############ FUN_ 180a3e150 size=97 ############ undefined8 * FUN_180a3e150(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a3dc30 size=156 ############ void FUN_180a3dc30(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4) { longlong lVar1; undefined8 *puVar2; undefined8 local_res10; undefined4 local_res18 [2]; undefined8 local_res20; local_res10 = param_2; local_res18[0] = param_3; local_res20 = param_4; lVar1 = FUN_1811316e0(0x18); if (lVar1 == 0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(lVar1, "LsCachedObjectVector<>::%s(): No object in the cache with entityId: %d and instanceId: %ld. Error detected in file %s at line %d." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar1 + 8),local_res18); } ############ FUN_ 180a3e040 size=156 ############ void FUN_180a3e040(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4) { longlong lVar1; undefined8 *puVar2; undefined8 local_res10; undefined4 local_res18 [2]; undefined4 local_res20; local_res10 = param_2; local_res18[0] = param_3; local_res20 = param_4; lVar1 = FUN_1811316e0(0x18); if (lVar1 == 0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(lVar1, "LsCachedObjectVector<>::%s(): Called for wrong object type. Expected entityId: %d but saw %d. Error detected in file %s at line %d." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); if (puVar2 != (undefined8 *)0x0) { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar1 + 8),local_res18); } ############ FUN_ 180a3ffa0 size=311 ############ void FUN_180a3ffa0(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180a40130(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_18080f640(lVar2 + 0x40,lVar1,param_2); return; } FUN_180810df0(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x230; return; } ############ FUN_ 180a40130 size=316 ############ longlong FUN_180a40130(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 18081a0f0 size=186 ############ longlong FUN_18081a0f0(longlong param_1,undefined8 *param_2) { longlong lVar1; undefined8 uVar2; undefined8 uVar3; ulonglong uVar4; uVar2 = *param_2; if (((*(char *)(param_1 + 0x18) + (char)*(longlong *)(param_1 + 0x20) & 1U) == 0) && (*(ulonglong *)(param_1 + 0x10) <= *(longlong *)(param_1 + 0x20) + 2U >> 1)) { FUN_1807ec1f0(param_1,1); } *(ulonglong *)(param_1 + 0x18) = *(ulonglong *)(param_1 + 0x18) & *(longlong *)(param_1 + 0x10) * 2 - 1U; uVar4 = *(longlong *)(param_1 + 0x18) + *(longlong *)(param_1 + 0x20); lVar1 = (*(longlong *)(param_1 + 0x10) - 1U & uVar4 >> 1) * 8; if (*(longlong *)(lVar1 + *(longlong *)(param_1 + 8)) == 0) { uVar3 = FUN_1811316e0(0x10); *(undefined8 *)(lVar1 + *(longlong *)(param_1 + 8)) = uVar3; } *(undefined8 *) (*(longlong *)(lVar1 + *(longlong *)(param_1 + 8)) + (ulonglong)((uint)uVar4 & 1) * 8) = uVar2; *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; return param_1; } ############ FUN_ 18082ca90 size=214 ############ void FUN_18082ca90(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsAuthManifestElement::targetSlowPath: The LsAuthManifestElementWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsauthmanifestelement.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180a3b570 size=399 ############ void FUN_180a3b570(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; longlong lVar3; undefined8 uVar4; longlong lVar5; char *local_res8; ulonglong local_res10; undefined **local_30; undefined4 local_28; undefined8 local_20; undefined2 local_18; local_30 = license_services::LsRelation::vftable; local_28 = 0xffffffff; local_20 = 0xffffffffffffffff; local_18 = 0; plVar1 = *(longlong **)(param_1 + 8); lVar3 = *plVar1; local_res10 = param_2; if ((ulonglong)(plVar1[1] - lVar3 >> 5) <= param_2) { /* WARNING: Subroutine does not return */ FUN_1808077d0(); } lVar5 = param_2 * 0x20; local_28 = *(undefined4 *)(lVar5 + 8 + lVar3); local_20 = *(undefined8 *)(lVar5 + 0x10 + lVar3); local_18 = 0x101; if (param_2 < (ulonglong)(plVar1[1] - *plVar1 >> 5)) { lVar5 = lVar5 + *plVar1; lVar3 = plVar1[1]; if (lVar5 + 0x20 != lVar3) { puVar2 = (undefined8 *)(lVar5 + 0x10); lVar5 = (lVar5 + 0x20) - lVar5; do { *(undefined4 *)(puVar2 + -1) = *(undefined4 *)(lVar5 + -8 + (longlong)puVar2); *puVar2 = *(undefined8 *)(lVar5 + (longlong)puVar2); *(undefined2 *)(puVar2 + 1) = *(undefined2 *)(lVar5 + 8 + (longlong)puVar2); puVar2 = puVar2 + 4; } while (lVar5 + -0x10 + (longlong)puVar2 != lVar3); } (*(code *)**(undefined8 **)(plVar1[1] + -0x20))((undefined8 *)(plVar1[1] + -0x20),0); plVar1[1] = plVar1[1] + -0x20; FUN_180a3b70a(); return; } if (param_2 != 0) { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8, "LsObjectRelationVectorBase::eraseRelation: atIndex is out of range. Expected 0 <= atIndex < %u, but saw atIndex = %u" ); } lVar5 = FUN_1805c0260(); local_res8 = (char *)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res10); local_res10 = CONCAT44(local_res10._4_4_,0x66); local_res8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\lsobjectrelationvectorbase.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res10); } (**(code **)(**(longlong **)(param_1 + 0x18) + 0x20)) (*(longlong **)(param_1 + 0x18),&local_30,lVar3,param_4,0xfffffffffffffffe); return; } ############ FUN_ 180842b70 size=1419 ############ /* WARNING: Removing unreachable block (ram,0x000180842bd1) */ /* WARNING: Removing unreachable block (ram,0x000180842c27) */ /* WARNING: Removing unreachable block (ram,0x000180842be0) */ /* WARNING: Removing unreachable block (ram,0x000180842ca0) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180842b70(void) { undefined8 *puVar1; uint uVar2; uint uVar3; int unaff_retaddr; undefined1 auStack_1e8 [32]; undefined4 local_1c8; undefined8 local_1c0; undefined8 local_1b0; undefined8 local_1a8; undefined8 local_198; longlong **local_188; uint local_158; undefined4 local_154; longlong *local_148; undefined8 uStack_140; undefined8 local_138; undefined8 local_130; undefined8 local_128; longlong *local_120; undefined8 uStack_118; undefined8 local_110; undefined8 local_108; undefined8 local_100; undefined8 local_f8; undefined8 local_f0; longlong local_e8; undefined8 local_e0; undefined8 local_d8; longlong local_d0; undefined8 local_98; undefined8 local_68; undefined8 uStack_60; undefined8 local_58; undefined8 uStack_50; ulonglong local_30; local_98 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_1e8; local_154 = 0xd10; uVar3 = (uint)&stack0x00000000 & 0x43ff; uVar3 = (uVar3 * uVar3 + 1) % 7; if (((ulonglong)&stack0x00000000 & 0x2c0) == 0) { uVar2 = (uint)&stack0x00000000 & 0x2bff; uVar2 = ((uVar2 + 1) * uVar2 + 7) % 0x51; } else { uVar2 = 1; } local_158 = ((int)(-uVar2 | uVar2) >> 0x1f) * -0xe72b ^ ((int)(-uVar3 | uVar3) >> 0x1f) * -0xe4cb; do { FUN_1808447ef(0xeb04); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_1a8 = 0; local_198 = 0x3fe00; local_1b0 = 0x18124991c; local_1c0 = 0x18128971c; local_1c8 = 0xe26b7612; if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_182666dd8) && (_Init_thread_header(&DAT_182666dd8), DAT_182666dd8 == -1)) { _DAT_182666dd0 = (undefined8 *)FUN_1811316e0(0x18); if (_DAT_182666dd0 == (undefined8 *)0x0) { _DAT_182666dd0 = (undefined8 *)0x0; } else { *_DAT_182666dd0 = 0; _DAT_182666dd0[1] = 0; _DAT_182666dd0[2] = 0; } _Init_thread_footer(&DAT_182666dd8); } local_148 = (longlong *)0x0; uStack_140 = 0; local_138 = 0; local_130 = 0; local_128 = 0; local_148 = (longlong *)FUN_1811316e0(0x10); local_68 = 0; uStack_60 = 0; *local_148 = 0; local_148[1] = 0; *local_148 = (longlong)&local_148; puVar1 = (undefined8 *)FUN_18081a0f0(&local_148,&PTR_FUN_18260b958); local_188 = &local_120; local_120 = (longlong *)0x0; uStack_118 = 0; local_110 = 0; local_108 = 0; local_100 = 0; local_120 = (longlong *)FUN_1811316e0(0x10); local_58 = 0; uStack_50 = 0; *local_120 = 0; local_120[1] = 0; *local_120 = (longlong)&local_120; local_d0 = puVar1[3]; local_e8 = puVar1[4] + local_d0; local_f0 = 0; local_f8 = *puVar1; local_d8 = 0; local_e0 = local_f8; FUN_1807ea970(&local_120,&local_e0,&local_f8); FUN_1807ec3f0(&local_148); /* WARNING: Subroutine does not return */ free(local_148); } ############ FUN_ 180846c10 size=214 ############ void FUN_180846c10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsMachineId::targetSlowPath: The LsMachineIdWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsmachineid.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180846eb0 size=249 ############ void FUN_180846eb0(longlong param_1,longlong param_2,longlong param_3) { longlong lVar1; undefined4 *puVar2; undefined8 uVar3; ulonglong uVar4; while (*(longlong *)(param_2 + 0x10) != *(longlong *)(param_3 + 0x10)) { puVar2 = (undefined4 *)FUN_180848e10(param_2); if (((*(char *)(param_1 + 0x18) + (char)*(longlong *)(param_1 + 0x20) & 3U) == 0) && (*(ulonglong *)(param_1 + 0x10) <= *(longlong *)(param_1 + 0x20) + 4U >> 2)) { FUN_180849000(param_1,1); } *(ulonglong *)(param_1 + 0x18) = *(ulonglong *)(param_1 + 0x18) & *(longlong *)(param_1 + 0x10) * 4 - 1U; uVar4 = *(longlong *)(param_1 + 0x18) + *(longlong *)(param_1 + 0x20); lVar1 = (uVar4 >> 2 & *(longlong *)(param_1 + 0x10) - 1U) * 8; if (*(longlong *)(lVar1 + *(longlong *)(param_1 + 8)) == 0) { uVar3 = FUN_1811316e0(0x10); *(undefined8 *)(lVar1 + *(longlong *)(param_1 + 8)) = uVar3; } *(undefined4 *) (*(longlong *)(lVar1 + *(longlong *)(param_1 + 8)) + (ulonglong)((uint)uVar4 & 3) * 4) = *puVar2; *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; *(longlong *)(param_2 + 0x10) = *(longlong *)(param_2 + 0x10) + 1; } return; } ############ FUN_ 180849000 size=499 ############ void FUN_180849000(longlong param_1,ulonglong param_2) { longlong lVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; ulonglong uVar5; size_t sVar6; size_t sVar7; void *pvVar8; ulonglong uVar9; uVar2 = *(ulonglong *)(param_1 + 0x10); uVar5 = 1; if (uVar2 != 0) { uVar5 = uVar2; } for (; (uVar5 - uVar2 < param_2 || (uVar5 < 8)); uVar5 = uVar5 * 2) { if (0xfffffffffffffff - uVar5 < uVar5) { /* WARNING: Subroutine does not return */ FUN_180618c80(param_1); } } uVar5 = uVar5 - uVar2; uVar9 = *(ulonglong *)(param_1 + 0x18) >> 2; uVar4 = (uVar2 + uVar5) * 8; if (uVar2 + uVar5 < 0x2000000000000000) { if (uVar4 < 0x1000) { if (uVar4 == 0) { pvVar8 = (void *)0x0; } else { pvVar8 = (void *)FUN_1811316e0(uVar4); } goto LAB_1808490cd; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar2); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar8 = (void *)(lVar1 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar8 - 8) = lVar1; LAB_1808490cd: sVar7 = uVar9 * 8; pvVar3 = (void *)(*(longlong *)(param_1 + 8) + sVar7); sVar6 = (*(longlong *)(param_1 + 0x10) * 8 - (longlong)pvVar3) + *(longlong *)(param_1 + 8); memmove((void *)(sVar7 + (longlong)pvVar8),pvVar3,sVar6); pvVar3 = (void *)(sVar6 + (longlong)(sVar7 + (longlong)pvVar8)); if (uVar5 < uVar9) { sVar6 = uVar5 * 8; memmove(pvVar3,*(void **)(param_1 + 8),sVar6); pvVar3 = (void *)(sVar6 + *(longlong *)(param_1 + 8)); sVar7 = (*(longlong *)(param_1 + 8) - (longlong)pvVar3) + sVar7; memmove(pvVar8,pvVar3,sVar7); pvVar3 = (void *)(sVar7 + (longlong)pvVar8); } else { memmove(pvVar3,*(void **)(param_1 + 8),sVar7); memset((void *)(sVar7 + (longlong)pvVar3),0,(uVar5 - uVar9) * 8); pvVar3 = pvVar8; sVar6 = sVar7; } memset(pvVar3,0,sVar6); pvVar3 = *(void **)(param_1 + 8); if (pvVar3 == (void *)0x0) { *(void **)(param_1 + 8) = pvVar8; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + uVar5; return; } pvVar8 = pvVar3; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x10) << 3)) && (pvVar8 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } ############ FUN_ 180847500 size=369 ############ void FUN_180847500(undefined8 *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) { ulonglong uVar1; longlong lVar2; undefined4 uVar3; undefined8 *puVar4; undefined8 uVar5; longlong *local_80; undefined8 local_78; longlong local_70; longlong *local_68; undefined8 local_60; ulonglong local_58; longlong *local_50; longlong lStack_48; ulonglong local_40; ulonglong local_38; longlong local_30; uVar5 = 0xfffffffffffffffe; local_50 = (longlong *)0x0; lStack_48 = 0; local_40 = 0; local_38 = 0; local_30 = 0; local_50 = (longlong *)FUN_1811316e0(0x10); *local_50 = 0; local_50[1] = 0; *local_50 = (longlong)&local_50; uVar3 = *param_2; if ((((int)local_38 + (int)local_30 & 3U) == 0) && (local_40 <= local_30 + 4U >> 2)) { FUN_180849000(&local_50,1,local_30,param_4,uVar5); } local_38 = local_38 & local_40 * 4 - 1; uVar1 = local_30 + local_38; lVar2 = (local_40 - 1 & uVar1 >> 2) * 8; if (*(longlong *)(lStack_48 + lVar2) == 0) { uVar5 = FUN_1811316e0(0x10); *(undefined8 *)(lStack_48 + lVar2) = uVar5; } *(undefined4 *)(*(longlong *)(lStack_48 + lVar2) + (ulonglong)((uint)uVar1 & 3) * 4) = uVar3; local_30 = local_30 + 1; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; puVar4 = (undefined8 *)FUN_1811316e0(0x10); *param_1 = puVar4; *puVar4 = 0; puVar4[1] = 0; *(undefined8 **)*param_1 = param_1; local_70 = local_30 + local_38; local_78 = 0; local_80 = local_50; local_60 = 0; local_58 = local_38; local_68 = local_50; FUN_180846eb0(param_1,&local_68,&local_80); FUN_1807ec3f0(&local_50); /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 180848fc0 size=55 ############ void FUN_180848fc0(void) { longlong lVar1; lVar1 = FUN_1811316e0(0x48); *(longlong *)lVar1 = lVar1; *(longlong *)(lVar1 + 8) = lVar1; *(longlong *)(lVar1 + 0x10) = lVar1; *(undefined2 *)(lVar1 + 0x18) = 0x101; return; } ############ FUN_ 18084e7c0 size=46 ############ void FUN_18084e7c0(undefined8 param_1) { longlong lVar1; lVar1 = FUN_1811316e0(0x128); if (lVar1 != 0) { FUN_180a2dbe0(lVar1,param_1); return; } return; } ############ FUN_ 180867800 size=1009 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180867b88) overlaps instruction at (ram,0x000180867b87) */ /* WARNING: Removing unreachable block (ram,0x00018086795e) */ /* WARNING: Removing unreachable block (ram,0x000180867ad3) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_180867800(void) { byte *pbVar1; int iVar2; uint uVar3; int *piVar4; uint uVar5; uint uVar6; ulonglong uVar7; ulonglong in_R11; bool bVar8; int unaff_retaddr; undefined1 auStack_1c8 [48]; undefined1 *local_198; undefined8 local_188; undefined8 local_178; undefined8 local_170; uint local_150; uint local_14c; undefined8 local_90; ulonglong local_30; local_90 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_1c8; uVar3 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0xe00) == 0) { uVar5 = ((uVar3 & 0x5fff) * (uVar3 & 0x5fff) + 1) % 7; } else { iVar2 = (uVar3 & 0x1bff) * (uVar3 & 0x1bff) + 1; uVar5 = (iVar2 >> 4) + (iVar2 >> 1) + iVar2 * 0x24924924 >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; } uVar6 = uVar3 & 0x2bf; local_150 = 0xc03d - ((uVar6 + 2) * (uVar6 + 1) * uVar6) % 3 ^ ((int)(-uVar5 | uVar5) >> 0x1f) * 0x1723 & 0xc0ddU; uVar5 = ((uVar3 & 0x19ff) + 1) * (uVar3 & 0x19ff) + 0x55bb & 0x80000001 | uVar3; uVar3 = ((uVar3 & 0x30ff) + 1) * (uVar3 & 0x30ff) + 7; local_14c = (0 >> ((char)uVar3 + (char)(uVar3 / 0x51) * -0x51 & 0x1fU)) + 0xd912U ^ ((int)(-uVar5 | uVar5) >> 0x1f) * 0x20d9 & 0xd022U; uVar7 = (ulonglong)local_14c; local_178 = 0x1819cdd04; local_198 = &LAB_181a0cfdc; local_188 = 0xb5af8a397d2ecd90; local_170 = 0x7d2ecd90; do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); piVar4 = *(int **)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); if (piVar4[3] < DAT_1826677b8) { piVar4 = &DAT_1826677b8; _Init_thread_header(); if (DAT_1826677b8 == -1) { _DAT_1826677b0 = (undefined8 *)FUN_1811316e0(0x18); if (_DAT_1826677b0 == (undefined8 *)0x0) { _DAT_1826677b0 = (undefined8 *)0x0; } else { *_DAT_1826677b0 = 0; _DAT_1826677b0[1] = 0; _DAT_1826677b0[2] = 0; } piVar4 = &DAT_1826677b8; _Init_thread_footer(); } } FUN_180865bc4(); bVar8 = false; FUN_180867ba3(); if (!bVar8) goto code_r0x000180867b92; bVar8 = uVar7 == in_R11; while (bVar8) { *(int *)((longlong)piVar4 + -1) = *(int *)((longlong)piVar4 + -1) + -1; pbVar1 = (byte *)((longlong)piVar4 + -9); *pbVar1 = *pbVar1 >> 3 | *pbVar1 << 5; code_r0x000180867b92: bVar8 = false; } /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 18086b2f0 size=166 ############ void FUN_18086b2f0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; undefined8 uVar3; longlong local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = FUN_1811316e0(0x18); if (local_res8 != 0) { FUN_1805a48c0(local_res8, "LsDatabaseInfo::targetSlowPath: The LsDatabaseInfoWire object that this object references has disappeared." ); } lVar2 = FUN_1805c0260(); local_res8 = CONCAT44(local_res8._4_4_,0xf1); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsdatabaseinfo.cpp" ; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar2 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 18086d090 size=368 ############ void FUN_18086d090(void) { undefined8 *puVar1; undefined8 local_b8; undefined8 local_b0; longlong local_a8; longlong *local_88; undefined8 uStack_80; undefined8 local_78; undefined8 local_70; undefined8 local_68; longlong *local_60; undefined8 uStack_58; undefined8 local_50; undefined8 local_48; undefined8 local_40; undefined8 local_38; undefined8 local_30; longlong local_28; undefined8 local_18; local_18 = 0xfffffffffffffffe; if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_182667810) { _Init_thread_header(&DAT_182667810); if (DAT_182667810 == -1) { DAT_182667808 = (undefined8 *)FUN_1811316e0(0x18); if (DAT_182667808 == (undefined8 *)0x0) { DAT_182667808 = (undefined8 *)0x0; } else { *DAT_182667808 = 0; DAT_182667808[1] = 0; DAT_182667808[2] = 0; } _Init_thread_footer(&DAT_182667810); } } local_88 = (longlong *)0x0; uStack_80 = 0; local_78 = 0; local_70 = 0; local_68 = 0; local_88 = (longlong *)FUN_1811316e0(0x10); *local_88 = 0; local_88[1] = 0; *local_88 = (longlong)&local_88; puVar1 = (undefined8 *)FUN_18081a0f0(&local_88,&PTR_FUN_18260b9d0); local_60 = (longlong *)0x0; uStack_58 = 0; local_50 = 0; local_48 = 0; local_40 = 0; local_60 = (longlong *)FUN_1811316e0(0x10); *local_60 = 0; local_60[1] = 0; *local_60 = (longlong)&local_60; local_28 = puVar1[3]; local_a8 = puVar1[4] + local_28; local_b0 = 0; local_b8 = *puVar1; local_30 = 0; local_38 = local_b8; FUN_1807ea970(&local_60,&local_38,&local_b8); FUN_1807ec3f0(&local_88); /* WARNING: Subroutine does not return */ free(local_88); } ############ FUN_ 180a4a5f0 size=1202 ############ /* WARNING: Instruction at (ram,0x000180a4aa95) overlaps instruction at (ram,0x000180a4aa94) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000180a4afe8) */ /* WARNING: Removing unreachable block (ram,0x000180a4ac14) */ /* WARNING: Removing unreachable block (ram,0x000180a4b172) */ /* WARNING: Removing unreachable block (ram,0x000180a4ab6a) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ ulonglong FUN_180a4a5f0(int *param_1,undefined8 param_2,longlong param_3,undefined8 param_4, undefined8 param_5,char param_6) { longlong *plVar1; int *piVar2; code *pcVar3; longlong lVar4; char cVar5; longlong lVar6; longlong *plVar7; ulonglong uVar8; longlong lVar9; undefined8 uVar10; longlong lVar11; undefined8 uVar12; undefined8 uVar13; int iVar14; uint uVar15; void *pvVar16; ulonglong uVar17; void *pvVar18; uint uVar19; ulonglong uVar20; longlong lVar21; undefined1 *puVar22; uint uVar23; uint uVar24; undefined1 *puVar25; undefined1 *puVar26; bool bVar27; int unaff_retaddr; undefined1 auStack_468 [32]; longlong local_448; uint local_438; undefined4 uStack_434; int *local_430; longlong *local_428; longlong local_420; longlong *local_418 [2]; undefined8 local_408; longlong local_400; undefined4 auStack_3e8 [4]; undefined4 auStack_3d8 [2]; undefined8 *puStack_3d0; uint local_3c8; longlong local_3b8; char cStack_3b0; undefined1 auStack_3a8 [16]; longlong lStack_398; undefined8 uStack_390; undefined8 auStack_388 [2]; longlong lStack_378; undefined8 uStack_370; undefined1 local_368 [16]; longlong lStack_358; undefined8 uStack_350; undefined1 auStack_348 [16]; longlong lStack_338; undefined8 uStack_330; undefined8 auStack_328 [2]; longlong lStack_318; undefined8 uStack_310; undefined1 auStack_308 [16]; longlong lStack_2f8; undefined8 uStack_2f0; undefined8 local_228; undefined1 local_220 [32]; undefined8 local_200; undefined1 uStack_1d8; undefined7 uStack_1d7; longlong lStack_1c8; ulonglong uStack_1c0; undefined1 local_1b8; undefined7 uStack_1b7; undefined8 local_1a8; ulonglong local_1a0; longlong local_198; longlong *local_190; undefined1 uStack_148; undefined7 uStack_147; longlong lStack_138; ulonglong uStack_130; undefined1 uStack_128; undefined7 uStack_127; longlong lStack_118; ulonglong uStack_110; undefined1 uStack_e8; undefined7 uStack_e7; longlong lStack_d8; ulonglong uStack_d0; undefined1 uStack_88; undefined7 uStack_87; longlong lStack_78; ulonglong uStack_70; undefined1 uStack_68; undefined7 uStack_67; longlong lStack_58; ulonglong uStack_50; ulonglong local_48; local_228 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_468; uVar24 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x1d8) == 0) { uVar23 = ((uVar24 & 0x1dff) * (uVar24 & 0x1dff) * 0x10 + 4) % 0x13; } else { uVar23 = 0x17cdd217; } iVar14 = (uVar24 & 0x2cff) * (uVar24 & 0x2cff) + 1; uVar19 = (iVar14 >> 4) + (iVar14 >> 1) + iVar14 * 0x24924924 >> 0x1d; uVar19 = (int)(uVar19 - 7) >> 0x1f & uVar19; uVar15 = ((uVar24 & 0x1fff) * (uVar24 & 0x1fff) * 0x10 + 4) % 0x13; uVar23 = (((int)(-uVar19 | uVar19) >> 0x1f) - ((int)(-uVar15 | uVar15) >> 0x1f) | 0x2951U) ^ (int)(-uVar23 | uVar23) >> 0x1f & 0x2741U; uVar8 = (ulonglong)uVar23; uVar24 = (((uVar24 & 0x31ff) + 1) * (uVar24 & 0x31ff) + 7) % 0x51; local_3c8 = ((int)(-uVar24 | uVar24) >> 0x1f) * -0xb8c2 ^ 0xbc12; puVar26 = (undefined1 *)register0x00000020; local_430 = param_1; local_408 = param_2; local_200 = param_2; lVar6 = FUN_1811316e0(0x60); local_400 = lVar6; if (lVar6 == 0) { lVar6 = 0; } else { plVar7 = (longlong *)FUN_1805a4070(local_220,param_2); local_428 = plVar7; FUN_1805a4070(lVar6,plVar7); *(undefined ***)(lVar6 + 0x20) = license_services::LsRelation::vftable; *(undefined4 *)(lVar6 + 0x28) = *(undefined4 *)(param_3 + 8); *(undefined8 *)(lVar6 + 0x30) = *(undefined8 *)(param_3 + 0x10); *(undefined2 *)(lVar6 + 0x38) = *(undefined2 *)(param_3 + 0x18); *(undefined8 *)(lVar6 + 0x40) = param_4; FUN_180a429a0(lVar6 + 0x48,param_5); if (0xf < (ulonglong)plVar7[3]) { pvVar18 = (void *)*plVar7; pvVar16 = pvVar18; if ((0xfff < plVar7[3] + 1U) && (pvVar16 = *(void **)((longlong)pvVar18 + -8), 0x1f < (ulonglong)((longlong)pvVar18 + (-8 - (longlong)pvVar16)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar16); } plVar7[2] = 0; plVar7[3] = 0xf; *(undefined1 *)plVar7 = 0; param_1 = local_430; } local_420 = lVar6; FUN_180a42260(local_418,lVar6); FUN_1805ae620(&local_420,lVar6); FUN_1805a4070(&local_1b8,param_2); local_198 = local_420; local_190 = local_418[0]; if (local_418[0] != (longlong *)0x0) { LOCK(); *(int *)(local_418[0] + 1) = (int)local_418[0][1] + 1; UNLOCK(); } local_448 = FUN_180a42340((longlong)param_1 + 0x18,&local_1b8); FUN_180a42640((longlong)param_1 + 0x18,&local_3b8,0,local_448 + 0x20); plVar7 = local_190; if (local_190 != (longlong *)0x0) { LOCK(); plVar1 = local_190 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_190 + 8))(local_190); LOCK(); piVar2 = (int *)((longlong)plVar7 + 0xc); iVar14 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar14 == 1) { (**(code **)(*local_190 + 0x10))(); } } } if (0xf < local_1a0) { pvVar16 = (void *)CONCAT71(uStack_1b7,local_1b8); pvVar18 = pvVar16; if ((0xfff < local_1a0 + 1) && (pvVar18 = *(void **)((longlong)pvVar16 + -8), 0x1f < (ulonglong)((longlong)pvVar16 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_1a8 = 0; local_1a0 = 0xf; local_1b8 = 0; local_430 = &DAT_1814f2f84; local_438 = (DAT_1814f2f84 + -0x4dd9522d) * 0x401; local_438 = local_438 ^ local_438 >> 6; bVar27 = local_438 == 0; uStack_434 = 1; do { uVar17 = 0; iVar14 = FUN_180a4c192(); uVar10 = local_408; if ((bVar27) && ((uVar17 & 0x43) != 0)) { return (ulonglong)(iVar14 + 0xebde334d); } uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } bVar27 = uVar24 == 0; } while (!bVar27); uVar24 = (_UNK_1814f2f88 + local_438) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + _UNK_1814f2f8c) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + _UNK_1814f2f90) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + _UNK_1814f2f94) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + _UNK_1814f2f98) * 0x401; uVar15 = ((uVar24 >> 6 ^ uVar24) + _UNK_1814f2f9c) * 0x401; uVar15 = uVar15 ^ uVar15 >> 6; uVar24 = uVar15 & 0x17f; iVar14 = (uVar24 + 2) * (uVar24 + 1) * uVar24; uVar17 = (longlong)(int)(((iVar14 >> 1) - (iVar14 >> 3)) + iVar14 * 0x55555555 >> 0x1e | 0xc2a2) ^ 0xc1a2; do { uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); uVar24 = (*(int *)(uVar17 + 0x1814f2ca0) + uVar15) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2ca4)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2ca8)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cac)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cb0)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cb4)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cb8)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cbc)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cc0)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cc4)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cc8)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2ccc)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cd0)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cd4)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cd8)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cdc)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2ce0)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2ce4)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2ce8)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cec)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cf0)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cf4)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cf8)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2cfc)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d00)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d04)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d08)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d0c)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d10)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d14)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d18)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d1c)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d20)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d24)) * 0x401; uVar15 = ((uVar24 >> 6 ^ uVar24) + *(int *)(uVar17 + 0x1814f2d28)) * 0x401; uVar15 = uVar15 ^ uVar15 >> 6; uVar24 = uVar15 & 0x1f | 0x1e; lVar6 = (uVar17 - 0x25c) + (0x9d2dL >> (uVar24 * uVar24 * 0xcd63 == 0xe0a51bc & (byte)(uVar17 - 0x25c)) ^ 0x9d29U); uVar24 = (*(int *)(lVar6 + 0x1814f2f84) + uVar15) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f88 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f8c + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f90 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f94 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f98 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f9c + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2fa0 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2fa4 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2fa8 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2fac + lVar6)) * 0x401; uVar15 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2fb0 + lVar6)) * 0x401; uVar17 = (ulonglong)uVar15; uVar24 = (uint)(lVar6 + 0x2c) & 0x4f; uVar24 = uVar24 * uVar24 * (uVar24 + 1) * (uVar24 + 1) & 0x80000003; uVar20 = (ulonglong)uVar24; lVar6 = lVar6 + 0x2c + ((longlong)(int)(0x434f - uVar24) ^ 0x434bU); uVar24 = ((uVar15 >> 6 ^ uVar15) + *(int *)(lVar6 + 0x1814f2f84)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f88 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f8c + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f90 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f94 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f98 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2f9c + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2fa0 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2fa4 + lVar6)) * 0x401; uVar24 = ((uVar24 >> 6 ^ uVar24) + *(int *)(&UNK_1814f2fa8 + lVar6)) * 0x401; uVar24 = (uVar24 >> 6 ^ uVar24) + 0x7764e02d; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); local_408 = 0xd94ee94fddc6fe3d; _local_438 = CONCAT44(uStack_434,0xddc6fe3d); do { puVar25 = puVar26 + param_3; param_3 = ((longlong)puVar26 - (longlong)puVar25 ^ 0xffffffffffffffffU) + 1; puVar26 = puVar25 + -param_3; uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); lVar6 = 0; if ((char)(((uVar24 * 0x8000 | uVar24 >> 0x11) == 0xddc6fe3d) * '\t') != '\0') { lVar21 = (longlong)(int)local_3c8; puVar26 = auStack_468; do { puVar22 = puVar26; *(undefined8 *)(puVar22 + -8) = uVar10; *(ulonglong *)(puVar22 + -0x10) = uVar8; *(longlong *)(puVar22 + -0x18) = lVar6; lVar4 = -lVar21; uVar17 = (-uVar17 ^ 0xffffffffffffffff) + 1; uVar20 = -(~uVar20 + 1); lVar6 = *(longlong *)(puVar22 + lVar4 + 0x4b8); uVar8 = *(ulonglong *)(puVar22 + lVar4 + 0x4c0); uVar10 = *(undefined8 *)(puVar22 + lVar4 + 0x4c8); uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } puVar26 = puVar22 + lVar4 + 0x4d0; } while (uVar24 != 0); if (cStack_3b0 == (char)lVar6) { uVar12 = *(undefined8 *)(local_3b8 + 0x40); *(undefined **)(puVar22 + lVar4 + 0x4c8) = &UNK_180a4b9ee; cVar5 = FUN_180a47a60(*(undefined8 *)(puVar22 + lVar4 + 0x518),uVar12); if (cVar5 == '\0') { *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bc3b; lVar9 = FUN_1811316e0(0x18); *(longlong *)(puVar22 + lVar4 + 0x538) = lVar9; lVar21 = lVar6; if (lVar9 != 0) { *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bc54; lVar21 = FUN_1805a48c0(lVar9, "Duplicate uuid values detected. The offending objects have the LsRelation values %s and %s." ); } *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bc61; lVar11 = FUN_1805c0260(); *(undefined1 **)(puVar22 + lVar4 + 0x538) = local_368; *(undefined1 **)(puVar22 + lVar4 + 0x510) = auStack_348; puStack_3d0 = auStack_328; *(undefined1 **)(puVar22 + lVar4 + 0x528) = auStack_308; uStack_350 = 0xf; local_368[0] = 0; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bcad; lStack_358 = lVar6; FUN_1805a6cb0(local_368,&DAT_181bb56a0,2); uStack_330 = 0xf; auStack_348[0] = 0; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bcd4; lStack_338 = lVar6; FUN_1805a6cb0(auStack_348,&DAT_181bb1ed8,1); uStack_130 = 0xf; uStack_148 = 0; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bd07; lStack_138 = lVar6; FUN_1805a6cb0(&uStack_148,&DAT_181bdf740,1); *(undefined1 **)(puVar22 + lVar4 + 0x4f0) = local_368; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bd2b; uVar12 = FUN_18080c630(&uStack_68,param_3,&uStack_148,auStack_348); uStack_310 = 0xf; auStack_328[0]._0_1_ = 0; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bd54; lStack_318 = lVar6; FUN_1805a6cb0(auStack_328,&DAT_181bb56a0,2); uStack_2f0 = 0xf; auStack_308[0] = 0; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bd7b; lStack_2f8 = lVar6; FUN_1805a6cb0(auStack_308,&DAT_181bb1ed8,1); uStack_1c0 = 0xf; uStack_1d8 = 0; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bdae; lStack_1c8 = lVar6; FUN_1805a6cb0(&uStack_1d8,&DAT_181bdf740,1); lVar9 = *(longlong *)(local_3b8 + 0x40); *(undefined8 **)(puVar22 + lVar4 + 0x4f0) = auStack_328; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bdd7; uVar13 = FUN_18080c630(&uStack_88,lVar9 + 0x20,&uStack_1d8,auStack_308); uVar10 = *(undefined8 *)(lVar21 + 8); *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bde4; FUN_1805b2240(uVar10,uVar13); uVar10 = *(undefined8 *)(lVar21 + 8); *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bdf0; FUN_1805b2240(uVar10,uVar12); if (0xf < uStack_70) { pvVar16 = (void *)CONCAT71(uStack_87,uStack_88); pvVar18 = pvVar16; if ((0xfff < uStack_70 + 1) && (pvVar18 = *(void **)((longlong)pvVar16 + -8), 0x1f < (ulonglong)((longlong)pvVar16 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bf97; _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ *(undefined1 **)(puVar22 + lVar4 + 0x4c8) = &LAB_180a4be32; free(pvVar18); } uStack_70 = 0xf; uStack_88 = 0; lStack_78 = lVar6; if (0xf < uStack_1c0) { pvVar16 = (void *)CONCAT71(uStack_1d7,uStack_1d8); pvVar18 = pvVar16; if ((0xfff < uStack_1c0 + 1) && (pvVar18 = *(void **)((longlong)pvVar16 + -8), 0x1f < (ulonglong)((longlong)pvVar16 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bf9e; _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ *(undefined1 **)(puVar22 + lVar4 + 0x4c8) = &LAB_180a4be8c; free(pvVar18); } uStack_1c0 = 0xf; uStack_1d8 = 0; if (0xf < uStack_50) { pvVar16 = (void *)CONCAT71(uStack_67,uStack_68); pvVar18 = pvVar16; if ((0xfff < uStack_50 + 1) && (pvVar18 = *(void **)((longlong)pvVar16 + -8), 0x1f < (ulonglong)((longlong)pvVar16 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bfa5; lStack_1c8 = lVar6; _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ *(undefined1 **)(puVar22 + lVar4 + 0x4c8) = &LAB_180a4bee6; lStack_1c8 = lVar6; free(pvVar18); } uStack_50 = 0xf; uStack_68 = 0; lStack_58 = lVar6; if (uStack_130 < 0x10) { auStack_3d8[0] = 0x59; *(char **)(puVar22 + lVar4 + 0x538) = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\dsigsignaturegenerator.cpp" ; uVar10 = *(undefined8 *)(lVar11 + 8); *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bf5d; lStack_1c8 = lVar6; uVar10 = FUN_1805a21d0(uVar10,puVar22 + lVar4 + 0x538); /* WARNING: Subroutine does not return */ *(undefined **)(puVar22 + lVar4 + 0x4c8) = &UNK_180a4bf69; FUN_1805b20d0(uVar10,auStack_3d8); } pvVar16 = (void *)CONCAT71(uStack_147,uStack_148); pvVar18 = pvVar16; if ((0xfff < uStack_130 + 1) && (pvVar18 = *(void **)((longlong)pvVar16 + -8), 0x1f < (ulonglong)((longlong)pvVar16 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ *(undefined **)(puVar22 + lVar4 + 0x4c8) = &UNK_180a4bfac; lStack_1c8 = lVar6; _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ *(undefined1 **)(puVar22 + lVar4 + 0x4c8) = &LAB_180a4bf3c; lStack_1c8 = lVar6; free(pvVar18); } if (param_6 != (char)lVar6) { *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4ba0d; lVar9 = FUN_1811316e0(0x18); *(longlong *)(puVar22 + lVar4 + 0x510) = lVar9; lVar21 = lVar6; if (lVar9 != 0) { *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4ba26; lVar21 = FUN_1805a48c0(lVar9, "The object with LsRelation value %s is already registered as a signature participant, and strint checking is on. This is not treated as an error if the \"strict\" calling argument is set false." ); } *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4ba33; lVar9 = FUN_1805c0260(); *(undefined1 **)(puVar22 + lVar4 + 0x510) = auStack_3a8; puStack_3d0 = auStack_388; uStack_390 = 0xf; auStack_3a8[0] = 0; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4ba6d; lStack_398 = lVar6; FUN_1805a6cb0(auStack_3a8,&DAT_181bb56a0,2); uStack_370 = 0xf; auStack_388[0]._0_1_ = 0; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4ba94; lStack_378 = lVar6; FUN_1805a6cb0(auStack_388,&DAT_181bb1ed8,1); uStack_110 = 0xf; uStack_128 = 0; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bac7; lStack_118 = lVar6; FUN_1805a6cb0(&uStack_128,&DAT_181bdf740,1); *(undefined1 **)(puVar22 + lVar4 + 0x4f0) = auStack_3a8; *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4baeb; puStack_3d0 = (undefined8 *)FUN_18080c630(&uStack_e8,param_3,&uStack_128,auStack_388); if (0xf < (ulonglong)puStack_3d0[3]) { puStack_3d0 = (undefined8 *)*puStack_3d0; } uVar10 = *(undefined8 *)(lVar21 + 8); *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bb07; FUN_1805a21d0(uVar10,&puStack_3d0); if (0xf < uStack_d0) { pvVar16 = (void *)CONCAT71(uStack_e7,uStack_e8); pvVar18 = pvVar16; if ((0xfff < uStack_d0 + 1) && (pvVar18 = *(void **)((longlong)pvVar16 + -8), 0x1f < (ulonglong)((longlong)pvVar16 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bc29; _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ *(undefined1 **)(puVar22 + lVar4 + 0x4c8) = &LAB_180a4bb49; free(pvVar18); } uStack_d0 = 0xf; uStack_e8 = 0; lStack_d8 = lVar6; if (uStack_110 < 0x10) { auStack_3e8[0] = 0x50; *(char **)(puVar22 + lVar4 + 0x510) = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\dsigsignaturegenerator.cpp" ; uVar10 = *(undefined8 *)(lVar9 + 8); *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bbc4; uVar10 = FUN_1805a21d0(uVar10,puVar22 + lVar4 + 0x510); /* WARNING: Subroutine does not return */ *(undefined **)(puVar22 + lVar4 + 0x4c8) = &UNK_180a4bbd0; FUN_1805b20d0(uVar10,auStack_3e8); } pvVar16 = (void *)CONCAT71(uStack_127,uStack_128); pvVar18 = pvVar16; if ((0xfff < uStack_110 + 1) && (pvVar18 = *(void **)((longlong)pvVar16 + -8), 0x1f < (ulonglong)((longlong)pvVar16 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ *(undefined **)(puVar22 + lVar4 + 0x4c8) = &UNK_180a4bc30; _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ *(undefined1 **)(puVar22 + lVar4 + 0x4c8) = &LAB_180a4bba3; free(pvVar18); } plVar7 = *(longlong **)(puVar22 + lVar4 + 0x520); if (plVar7 != (longlong *)0x0) { LOCK(); plVar1 = plVar7 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { pcVar3 = *(code **)(*plVar7 + 8); *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bc00; (*pcVar3)(plVar7); LOCK(); piVar2 = (int *)((longlong)plVar7 + 0xc); iVar14 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar14 == 1) { pcVar3 = *(code **)(*plVar7 + 0x10); *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bc13; (*pcVar3)(plVar7); } } } *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bc1c; FUN_180485450(uVar10); } else { *(undefined **)(puVar22 + lVar4 + 0x4c8) = &UNK_180a4bfb7; FUN_1805b9860(puVar22 + lVar4 + 0x520,uVar20,uVar17,0); *(undefined8 *)(puVar22 + lVar4 + 0x4c8) = 0x180a4bfc0; FUN_180485450(uVar10); } *(undefined **)(puVar22 + lVar4 + 0x4c8) = &UNK_180a4bfd1; } uVar8 = thunk_FUN_1805a9280((longlong)(int)uVar23,uVar20,&UNK_180a4b1df); return uVar8; } ############ FUN_ 180a42260 size=97 ############ undefined8 * FUN_180a42260(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a429a0 size=268 ############ ulonglong * FUN_180a429a0(ulonglong *param_1,longlong *param_2) { void *_Dst; longlong lVar1; ulonglong uVar2; ulonglong uVar3; size_t _Size; uVar3 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; uVar2 = param_2[1] - *param_2 >> 3; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar2 != 0) { if (0x1fffffffffffffff < uVar2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar2 = uVar2 * 8; if (uVar2 < 0x1000) { if (uVar2 != 0) { uVar3 = FUN_1811316e0(uVar2); } } else { uVar3 = uVar2 + 0x27; if (uVar3 <= uVar2) { uVar3 = 0xffffffffffffffff; } lVar1 = FUN_1811316e0(uVar3); if (lVar1 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar1 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar1; } *param_1 = uVar3; param_1[1] = uVar3; _Dst = (void *)*param_1; param_1[2] = (ulonglong)(uVar2 + (longlong)_Dst); _Size = param_2[1] - *param_2; memmove(_Dst,(void *)*param_2,_Size); param_1[1] = _Size + (longlong)_Dst; } return param_1; } ############ FUN_ 180a47b50 size=63 ############ void FUN_180a47b50(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x50); *puVar1 = *param_1; puVar1[1] = *param_1; puVar1[2] = *param_1; return; } ############ FUN_ 18086d670 size=214 ############ void FUN_18086d670(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsAuthRelation::targetSlowPath: The LsAuthRelationWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsauthrelation.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180870960 size=368 ############ void FUN_180870960(void) { undefined8 *puVar1; undefined8 local_b8; undefined8 local_b0; longlong local_a8; longlong *local_88; undefined8 uStack_80; undefined8 local_78; undefined8 local_70; undefined8 local_68; longlong *local_60; undefined8 uStack_58; undefined8 local_50; undefined8 local_48; undefined8 local_40; undefined8 local_38; undefined8 local_30; longlong local_28; undefined8 local_18; local_18 = 0xfffffffffffffffe; if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_182667878) { _Init_thread_header(&DAT_182667878); if (DAT_182667878 == -1) { DAT_182667870 = (undefined8 *)FUN_1811316e0(0x18); if (DAT_182667870 == (undefined8 *)0x0) { DAT_182667870 = (undefined8 *)0x0; } else { *DAT_182667870 = 0; DAT_182667870[1] = 0; DAT_182667870[2] = 0; } _Init_thread_footer(&DAT_182667878); } } local_88 = (longlong *)0x0; uStack_80 = 0; local_78 = 0; local_70 = 0; local_68 = 0; local_88 = (longlong *)FUN_1811316e0(0x10); *local_88 = 0; local_88[1] = 0; *local_88 = (longlong)&local_88; puVar1 = (undefined8 *)FUN_18081a0f0(&local_88,&PTR_FUN_18260b9e0); local_60 = (longlong *)0x0; uStack_58 = 0; local_50 = 0; local_48 = 0; local_40 = 0; local_60 = (longlong *)FUN_1811316e0(0x10); *local_60 = 0; local_60[1] = 0; *local_60 = (longlong)&local_60; local_28 = puVar1[3]; local_a8 = puVar1[4] + local_28; local_b0 = 0; local_b8 = *puVar1; local_30 = 0; local_38 = local_b8; FUN_1807ea970(&local_60,&local_38,&local_b8); FUN_1807ec3f0(&local_88); /* WARNING: Subroutine does not return */ free(local_88); } ############ FUN_ 180870ed0 size=214 ############ void FUN_180870ed0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsCountLimit::targetSlowPath: The LsCountLimitWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lscountlimit.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180889960 size=214 ############ void FUN_180889960(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsDeveloperBlock::targetSlowPath: The LsDeveloperBlockWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsdeveloperblock.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 1808aef20 size=214 ############ void FUN_1808aef20(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsAuthKey::targetSlowPath: The LsAuthKeyWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsauthkey.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 1808b2510 size=679 ############ longlong FUN_1808b2510(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0x230; lVar13 = (longlong)(param_1[1] - uVar11) / 0x230; if (lVar13 == 0x75075075075075) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0x230; uVar11 = uVar12; if ((uVar4 <= 0x75075075075075 - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12) ) { uVar11 = uVar12; } uVar4 = uVar11 * 0x230; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0x75075075075076) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_1808b264b; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_1808b264b: lVar7 = lVar1 * 0x230 + uVar4; lVar1 = lVar7 + 0x230; lVar5 = lVar1; uVar10 = uVar4; FUN_1808b3660(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0x230) { FUN_1808b3660(uVar8); uVar8 = uVar8 + 0x230; } } else { FUN_1808b4cc0(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_1808b4cc0(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x46) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0x230) * 0x230)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0x230 + uVar4; param_1[2] = uVar11 * 0x230 + uVar4; return lVar13 * 0x230 + *param_1; } ############ FUN_ 180ae4f30 size=2309 ############ /* WARNING: Instruction at (ram,0x000180ae5752) overlaps instruction at (ram,0x000180ae5750) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000180ae53a0) */ /* WARNING: Removing unreachable block (ram,0x000180ae5318) */ /* WARNING: Removing unreachable block (ram,0x000180ae5233) */ /* WARNING: Removing unreachable block (ram,0x000180ae537d) */ /* WARNING: Removing unreachable block (ram,0x000180ae5750) */ void FUN_180ae4f30(undefined8 *param_1,undefined4 param_2) { int iVar1; byte bVar2; undefined1 *puVar3; uint uVar4; undefined8 *puVar5; ulonglong uVar6; uint uVar7; uint uVar8; longlong *plVar9; uint *puVar10; undefined8 uVar11; longlong lVar12; undefined4 *puVar13; undefined4 *puVar14; undefined1 *puVar15; undefined4 *puVar16; IMAGE_DOS_HEADER *pIVar17; undefined1 *puVar18; IMAGE_DOS_HEADER *pIVar19; uint uVar20; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_c8 [32]; longlong local_a8; undefined8 local_a0; uint local_98 [2]; undefined4 *local_90; longlong local_88; uint local_80; uint local_7c; int local_78; uint local_74; code *local_70; undefined8 *local_68; undefined8 *local_60; undefined8 local_58; undefined8 *local_50; undefined4 local_40 [4]; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_c8; local_60 = param_1; local_50 = param_1; puVar5 = (undefined8 *)FUN_1811316e0(0x60); local_68 = puVar5; if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)0x0; } else { *puVar5 = license_services::LsEntityLicense::vftable; FUN_180677c10(puVar5 + 1); puVar5[8] = 0; puVar5[9] = 0; puVar5[10] = 0; *(undefined2 *)(puVar5 + 0xb) = 0; } *param_1 = puVar5; FUN_180ae4ec0(param_1 + 1,puVar5); FUN_1805ae620(param_1,puVar5,puVar5); param_1[2] = *param_1; uVar7 = (uint)&stack0x00000000 & 0x1bf; local_74 = 0xba29 - ((uVar7 + 2) * (uVar7 + 1) * uVar7) % 3 ^ 0xb799; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); pIVar19 = &IMAGE_DOS_HEADER_180000000; local_88 = 0; uVar11 = 0x9070c; local_a0 = 0x29d4; local_90 = &DAT_180774c38; local_a8 = 0x18077760c; local_78 = 0x500; do { FUN_180ae35d5(0xe438,uVar11); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_a0._0_4_ = 0x68a691b8; FUN_180ae6ad0(param_1[2],param_2); puVar14 = local_90; local_68 = (undefined8 *)(local_a8 - (longlong)local_90); local_88 = 0; uVar20 = 0xaa8ee43a; local_a0 = CONCAT44(local_a0._4_4_,0x5bd1e995); local_a8 = 0xb119410ed69f160b; local_90 = (undefined4 *)CONCAT44(local_90._4_4_,0xd69f160b); uVar7 = (uint)local_68; bVar2 = (byte)local_68 & 0x1f; puVar13 = puVar14; iVar1 = 0x500; puVar16 = (undefined4 *)local_68; if ((uVar7 ^ 0x1ca1) == (0xc21 >> ((bVar2 + 1) * (bVar2 + 1) * bVar2 * bVar2 & 3) | 0x1ca1U)) { LAB_180ae5560: do { puVar10 = local_98; FUN_180ae46e2(puVar10,local_98); uVar11 = rdtsc(); *puVar10 = (uint)uVar11 ^ (uint)((ulonglong)uVar11 >> 0x20); FUN_180ae45dc(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_98[0] = (local_98[0] * 0x1a85ec53 >> 0x18 ^ local_98[0] * 0x1a85ec53) * -0x50283595; if (local_98[0] < 0x3333333f) { do { local_70 = FUN_181194940; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = FUN_181194940(0,0x713f); if (1 < uVar6) { lVar12 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar9 = (longlong *)register0x00000020; while (lVar12 != -0x3333333333333334) { *plVar9 = 0; plVar9 = plVar9 + 8; lVar12 = *plVar9; } } } do { FUN_180ae4bd3(0xe438); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } local_7c = uVar20; } while (uVar7 != 0); do { puVar10 = &local_7c; puVar18 = &LAB_18113e030; uVar7 = FUN_180a67259(&LAB_18113e030,&LAB_18113e030); *puVar10 = uVar7; FUN_180ae6ed5(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar20 = (local_7c >> 4 | local_7c << 0x1c) & 0xd2d2d2d2 | (local_7c << 4 | local_7c >> 0x1c) & 0x2d2d2d2d; uVar7 = (uVar20 >> 0xd ^ uVar20) & 0xfff; uVar20 = uVar20 ^ (uVar7 << 0xd | uVar7); uVar7 = (uVar20 << 8 | uVar20 >> 0x18) & 0x57a857a8; do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); if (((uint)local_90 ^ ((uVar20 >> 8 | uVar20 << 0x18) & 0xa857a857 | uVar7)) * 0x2e == 0) { puVar3 = auStack_c8; do { puVar15 = puVar3; *(undefined1 **)(puVar15 + -8) = puVar18; *(undefined4 **)(puVar15 + -0x10) = puVar16; *(undefined4 **)(puVar15 + -0x18) = puVar13; lVar12 = -(longlong)(int)local_74; puVar13 = *(undefined4 **)(puVar15 + lVar12 + 0xd98); puVar16 = *(undefined4 **)(puVar15 + lVar12 + 0xda0); puVar18 = *(undefined1 **)(puVar15 + lVar12 + 0xda8); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } puVar3 = puVar15 + lVar12 + 0xdb0; } while (uVar7 != 0); *(undefined **)(puVar15 + lVar12 + 0xda8) = &UNK_180ae592b; } thunk_FUN_1805a9280((longlong)iVar1,uVar7,puVar18,puVar10); return; } uVar8 = uVar7 & 0x3f; uVar7 = uVar7 & 0x1f; LAB_180ae53b0: puVar16 = puVar14; if ((pIVar19 != (IMAGE_DOS_HEADER *)0x0) && (lVar12._0_1_ = pIVar19->e_magic[0], lVar12._1_1_ = pIVar19->e_magic[1], lVar12._2_2_ = pIVar19->e_cblp, lVar12._4_2_ = pIVar19->e_cp, lVar12._6_2_ = pIVar19->e_crlc, -1 < lVar12)) { local_a8 = 0x2621fc0; pIVar17 = pIVar19; do { if (puVar14 < IMAGE_DOS_HEADER_180000000.e_magic + lVar12 + 8) { pIVar19 = pIVar17; if (-1 < lVar12) { plVar9 = (longlong *)(lVar12 + 0x180000000); if (plVar9 < puVar14 + 1) { local_40[0] = *puVar14; goto LAB_180ae5430; } } break; } pIVar19 = (IMAGE_DOS_HEADER *)&pIVar17->e_cparhdr; lVar12._0_2_ = pIVar17->e_cparhdr; lVar12._2_2_ = pIVar17->e_minalloc; lVar12._4_2_ = pIVar17->e_maxalloc; lVar12._6_2_ = pIVar17->e_ss; pIVar17 = pIVar19; } while (-1 < lVar12); } goto LAB_180ae5460; while (plVar9 = (longlong *)(lVar12 + 0x180000000), plVar9 < puVar14 + 1) { LAB_180ae5430: *(longlong *)(&stack0x00017fffffc0 + (lVar12 - (longlong)puVar14)) = *plVar9 + -0x180000000; pIVar17 = (IMAGE_DOS_HEADER *)&pIVar17->e_cparhdr; lVar12 = *(longlong *)pIVar17; puVar16 = local_40; if (lVar12 < 0) break; } LAB_180ae5460: do { puVar10 = &local_80; puVar13 = puVar16 + 0xf0f1bf5; FUN_180ae3dc7(0xe438); *puVar10 = puVar13[-0xf0f1bf5]; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_80 = (local_80 * (int)local_a0 >> 0x18 ^ local_80 * (int)local_a0) * (int)local_a0; uVar20 = uVar20 * (int)local_a0 ^ local_80; local_88 = local_88 + 4; puVar14 = puVar14 + 1; uVar4 = uVar20 & 0x7f; uVar4 = ((uVar4 + 1) * (uVar4 + 1) * uVar4 * uVar4 & (uVar8 + 1) * (uVar8 + 1) * uVar8 * uVar8 & 0x80000003 & 2) + 0x316b ^ (uint)local_68 ^ 0x2dca; puVar13 = (undefined4 *)(ulonglong)uVar4; iVar1 = local_78; if (uVar4 == ((int)(((uint)local_88 ^ 0xc21) & 0xce31) >> ((byte)((int)((uVar7 + 1) * (uVar7 + 1) * uVar7 * uVar7 & 0x80000003) >> ((byte)local_88 & 0x1f)) & 0x1f) | (uint)local_88 ^ 0x1ca1)) goto LAB_180ae5560; goto LAB_180ae53b0; } ############ FUN_ 180ae4ec0 size=97 ############ undefined8 * FUN_180ae4ec0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180ae67a0 size=311 ############ void FUN_180ae67a0(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180ae6930(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_1808b2510(lVar2 + 0x40,lVar1,param_2); return; } FUN_1808b3660(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x230; return; } ############ FUN_ 180ae6930 size=316 ############ longlong FUN_180ae6930(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 1808bc470 size=368 ############ void FUN_1808bc470(void) { undefined8 *puVar1; undefined8 local_b8; undefined8 local_b0; longlong local_a8; longlong *local_88; undefined8 uStack_80; undefined8 local_78; undefined8 local_70; undefined8 local_68; longlong *local_60; undefined8 uStack_58; undefined8 local_50; undefined8 local_48; undefined8 local_40; undefined8 local_38; undefined8 local_30; longlong local_28; undefined8 local_18; local_18 = 0xfffffffffffffffe; if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_1826679d0) { _Init_thread_header(&DAT_1826679d0); if (DAT_1826679d0 == -1) { DAT_1826679c8 = (undefined8 *)FUN_1811316e0(0x18); if (DAT_1826679c8 == (undefined8 *)0x0) { DAT_1826679c8 = (undefined8 *)0x0; } else { *DAT_1826679c8 = 0; DAT_1826679c8[1] = 0; DAT_1826679c8[2] = 0; } _Init_thread_footer(&DAT_1826679d0); } } local_88 = (longlong *)0x0; uStack_80 = 0; local_78 = 0; local_70 = 0; local_68 = 0; local_88 = (longlong *)FUN_1811316e0(0x10); *local_88 = 0; local_88[1] = 0; *local_88 = (longlong)&local_88; puVar1 = (undefined8 *)FUN_18081a0f0(&local_88,&PTR_FUN_18260bb30); local_60 = (longlong *)0x0; uStack_58 = 0; local_50 = 0; local_48 = 0; local_40 = 0; local_60 = (longlong *)FUN_1811316e0(0x10); *local_60 = 0; local_60[1] = 0; *local_60 = (longlong)&local_60; local_28 = puVar1[3]; local_a8 = puVar1[4] + local_28; local_b0 = 0; local_b8 = *puVar1; local_30 = 0; local_38 = local_b8; FUN_1807ea970(&local_60,&local_38,&local_b8); FUN_1807ec3f0(&local_88); /* WARNING: Subroutine does not return */ free(local_88); } ############ FUN_ 1808bc990 size=214 ############ void FUN_1808bc990(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsTimeLimit::targetSlowPath: The LsTimeLimitWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lstimelimit.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 1808f1880 size=214 ############ void FUN_1808f1880(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsAuthorization::targetSlowPath: The LsAuthorizationWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsauthorization.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180925250 size=166 ############ void FUN_180925250(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; undefined8 uVar3; longlong local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = FUN_1811316e0(0x18); if (local_res8 != 0) { FUN_1805a48c0(local_res8, "LsLicense::targetSlowPath: The LsLicenseWire object that this object references has disappeared." ); } lVar2 = FUN_1805c0260(); local_res8 = CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lslicense.cpp" ; uVar3 = FUN_1805a21d0(*(undefined8 *)(lVar2 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180926600 size=97 ############ undefined8 * FUN_180926600(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p,apache::thrift::transport::TAsioLocalSocket>_> ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180926670 size=97 ############ undefined8 * FUN_180926670(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail:: sp_counted_impl_p,apache::thrift::transport::TAsioLocalSocket>_> ::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 1809266e0 size=97 ############ undefined8 * FUN_1809266e0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180927030 size=103 ############ undefined8 * FUN_180927030(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x70); if (puVar1 != (undefined8 *)0x0) { puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = param_1; puVar1[4] = 0; *puVar1 = boost::asio:: deadline_timer_service_> ::vftable; FUN_1809275f0(puVar1 + 5,param_1,param_3,param_4,uVar2); } return puVar1; } ############ FUN_ 1809275f0 size=417 ############ undefined8 * FUN_1809275f0(undefined8 *param_1,longlong param_2) { LPCRITICAL_SECTION lpCriticalSection; longlong lVar1; void *_Memory; DWORD DVar2; HANDLE pvVar3; LARGE_INTEGER LVar4; LARGE_INTEGER LVar5; LARGE_INTEGER local_res10; LARGE_INTEGER local_res18; DWORD local_50 [2]; undefined8 local_48; LPCRITICAL_SECTION local_40; undefined1 local_38; LVar5.QuadPart = 0; param_1[1] = 0; *param_1 = boost::asio::detail::timer_queue_>:: vftable; param_1[3] = 0; param_1[2] = boost::asio::detail::timer_queue:: vftable; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; lVar1 = *(longlong *)(param_2 + 0x10); param_1[8] = lVar1; lpCriticalSection = (LPCRITICAL_SECTION)(lVar1 + 0x58); local_40 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); local_38 = 1; param_1[1] = *(undefined8 *)(lVar1 + 0x80); *(undefined8 **)(lVar1 + 0x80) = param_1; if (*(longlong *)(lVar1 + 0x48) == 0) { pvVar3 = CreateWaitableTimerW((LPSECURITY_ATTRIBUTES)0x0,0,(LPCWSTR)0x0); *(HANDLE *)(lVar1 + 0x48) = pvVar3; if (pvVar3 == (HANDLE)0x0) { DVar2 = GetLastError(); local_48 = FUN_1805c8c70(); local_50[0] = DVar2; if (DVar2 != 0) { /* WARNING: Subroutine does not return */ FUN_1805bd9a0(local_50,"timer"); } } local_res10.QuadPart = -3000000000; SetWaitableTimer(*(HANDLE *)(lVar1 + 0x48),&local_res10,300000,(PTIMERAPCROUTINE)0x0,(LPVOID)0x0 ,0); } if (*(longlong *)(lVar1 + 0x40) == 0) { LVar4.QuadPart = FUN_1811316e0(0x18); local_res10.QuadPart = LVar4.QuadPart; if ((undefined8 *)LVar4.QuadPart != (undefined8 *)0x0) { *(undefined8 *)(LVar4.QuadPart + 8) = 0; *(undefined8 *)(LVar4.QuadPart + 0x10) = 0; local_res18.QuadPart = FUN_1811316e0(0x20); if ((undefined8 *)local_res18.QuadPart != (undefined8 *)0x0) { *(undefined ***)local_res18 = boost::asio::detail::win_thread:: func::vftable; *(longlong *)(local_res18.QuadPart + 0x18) = lVar1; LVar5.QuadPart = local_res18.QuadPart; } FUN_18092b9d0(LVar4.QuadPart,LVar5.QuadPart,0x10000); LVar5.QuadPart = LVar4.QuadPart; } _Memory = *(void **)(lVar1 + 0x40); if (_Memory != (void *)0x0) { CloseHandle(*(HANDLE *)((longlong)_Memory + 8)); /* WARNING: Subroutine does not return */ free(_Memory); } ((LARGE_INTEGER *)(lVar1 + 0x40))->QuadPart = (LONGLONG)LVar5; } LeaveCriticalSection(lpCriticalSection); return param_1; } ############ FUN_ 1809270a0 size=431 ############ void FUN_1809270a0(ulonglong *param_1,undefined8 *param_2) { undefined4 *puVar1; undefined8 *puVar2; void *pvVar3; code *pcVar4; undefined4 uVar5; undefined4 uVar6; undefined4 uVar7; longlong lVar8; ulonglong uVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; longlong lVar12; undefined1 local_res8; undefined8 uVar13; uVar13 = 0xfffffffffffffffe; puVar2 = (undefined8 *)param_1[1]; if ((undefined8 *)param_1[2] == puVar2) { lVar12 = (longlong)((longlong)puVar2 - *param_1) >> 4; if (lVar12 == 0xfffffffffffffff) { FUN_1809284a0(); pcVar4 = (code *)swi(3); (*pcVar4)(); return; } uVar9 = lVar12 + 1; uVar10 = (longlong)((longlong)param_1[2] - *param_1) >> 4; uVar11 = uVar9; if ((uVar10 <= 0xfffffffffffffff - (uVar10 >> 1)) && (uVar11 = (uVar10 >> 1) + uVar10, uVar11 < uVar9)) { uVar11 = uVar9; } if (uVar11 == 0) { uVar10 = 0; } else { if (0xfffffffffffffff < uVar11) { /* WARNING: Subroutine does not return */ std::_Xbad_alloc(); } uVar10 = uVar11 * 0x10; if (uVar10 < 0x1000) { uVar10 = FUN_1811316e0(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } else { if (uVar10 + 0x27 <= uVar10) { /* WARNING: Subroutine does not return */ std::_Xbad_alloc(); } lVar8 = FUN_1811316e0(uVar10 + 0x27); if (lVar8 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar10 = lVar8 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar10 - 8) = lVar8; } } uVar5 = *(undefined4 *)((longlong)param_2 + 4); uVar6 = *(undefined4 *)(param_2 + 1); uVar7 = *(undefined4 *)((longlong)param_2 + 0xc); puVar1 = (undefined4 *)(uVar10 + lVar12 * 0x10); *puVar1 = *(undefined4 *)param_2; puVar1[1] = uVar5; puVar1[2] = uVar6; puVar1[3] = uVar7; local_res8 = SUB81(param_1,0); FUN_180926750(*param_1,param_1[1],uVar10,param_1,local_res8,local_res8,uVar13); pvVar3 = (void *)*param_1; if (pvVar3 != (void *)0x0) { uVar9 = (longlong)(param_1[2] - (longlong)pvVar3) >> 4; if ((uVar9 < 0x1000000000000000) && ((_Memory = pvVar3, uVar9 << 4 < 0x1000 || (((((ulonglong)pvVar3 & 0x1f) == 0 && (_Memory = *(void **)((longlong)pvVar3 - 8), _Memory < pvVar3)) && ((ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)) < 0x20)))))) { /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } *param_1 = uVar10; param_1[1] = uVar9 * 0x10 + uVar10; param_1[2] = uVar11 * 0x10 + uVar10; } else { uVar13 = param_2[1]; *puVar2 = *param_2; puVar2[1] = uVar13; param_1[1] = param_1[1] + 0x10; } return; } ############ FUN_ 180929aa0 size=682 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180929aa0(longlong *param_1) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; char cVar5; longlong lVar6; longlong lVar7; undefined8 uVar8; undefined1 auStack_228 [32]; undefined4 local_208; longlong local_1f8; longlong *local_1f0; longlong local_1e8; longlong *local_1e0; longlong local_1d8; longlong local_1d0; undefined8 local_1c8; undefined1 local_198 [32]; undefined1 local_178 [96]; undefined1 local_118 [128]; undefined1 local_98 [128]; ulonglong local_18; local_1c8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_228; cVar5 = (**(code **)(*param_1 + 8))(); if (cVar5 != '\0') { FUN_180726fb0(local_118,2); /* WARNING: Subroutine does not return */ _CxxThrowException(local_118,(ThrowInfo *)&DAT_1825fdc30); } if (param_1[9] == 0) { lVar6 = FUN_1811316e0(0x18); local_1d8 = lVar6; if (lVar6 == 0) { lVar6 = 0; } else { FUN_180726f00(lVar6,1); local_1d0 = FUN_1811316e0(0x38); if (local_1d0 == 0) { lVar7 = 0; } else { lVar7 = FUN_180726d00(local_1d0,lVar6,0,0xffffffffffffffff); } *(longlong *)(lVar6 + 8) = lVar7; *(undefined8 *)(lVar6 + 0x10) = *(undefined8 *)(lVar7 + 0x30); } local_1f8 = lVar6; FUN_180726c90(&local_1f0,lVar6); FUN_1805ae620(&local_1f8,lVar6,lVar6); local_1d0 = local_1f8; lVar6 = param_1[9]; param_1[9] = local_1f8; plVar4 = (longlong *)param_1[10]; param_1[10] = (longlong)local_1f0; local_1f8 = lVar6; local_1f0 = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } lVar6 = 0; local_1d8 = FUN_1811316e0(0x40); if (local_1d8 != 0) { lVar6 = FUN_18097cc70(local_1d8,param_1 + 1); } local_1e8 = lVar6; FUN_1809266e0(&local_1e0,lVar6); FUN_1805ae620(&local_1e8,lVar6,lVar6); local_1d8 = local_1e8; lVar6 = param_1[0xd]; param_1[0xd] = local_1e8; plVar4 = (longlong *)param_1[0xe]; param_1[0xe] = (longlong)local_1e0; local_1e8 = lVar6; local_1e0 = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } local_208 = (undefined4)param_1[5]; (**(code **)(*(longlong *)param_1[0xd] + 8))((longlong *)param_1[0xd],param_1[9],param_1 + 0xb,0); if (*(longlong *)(param_1[0xb] + 8) != -1) { if (0 < *(int *)((longlong)param_1 + 0x2c)) { FUN_18092b800(param_1); } if (0 < (int)param_1[6]) { FUN_18092b630(param_1); } } uVar8 = FUN_1805a4160(local_198,"TAsioLocalSocket::open(): failed for: "); uVar8 = FUN_180726e90(local_178,uVar8,param_1 + 1); FUN_1805d6590(local_98,0,uVar8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_98,(ThrowInfo *)&DAT_1825fdc30); } ############ FUN_ 180929f80 size=3755 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018092a276) */ /* WARNING: Removing unreachable block (ram,0x00018092a270) */ /* WARNING: Type propagation algorithm not settling */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180929f80(undefined8 *param_1,undefined8 param_2,uint param_3,int param_4,int param_5, char param_6) { int *piVar1; int iVar2; longlong lVar3; longlong *plVar4; int iVar5; undefined4 uVar6; undefined8 uVar7; undefined8 *puVar8; undefined8 uVar9; longlong *plVar10; undefined8 *puVar11; undefined8 *******pppppppuVar12; ulonglong uVar13; longlong lVar14; undefined1 *puVar15; longlong lVar16; int iVar17; uint uVar18; undefined1 auStack_878 [32]; undefined8 *local_858; uint local_848; undefined8 local_840; uint local_838; undefined8 *local_830; int local_828; undefined4 local_824; undefined4 local_820; undefined4 local_81c; undefined4 local_818 [2]; undefined8 local_810; undefined8 local_808; longlong *local_800; undefined8 *local_7f8; ulonglong local_7e8; undefined8 uStack_7e0; longlong local_7d8 [4]; undefined8 local_7b8; undefined1 local_7b0 [8]; undefined8 local_7a8; undefined8 local_7a0; undefined8 local_798; undefined8 local_790; undefined8 local_788; undefined8 local_780; longlong local_778; longlong *local_770; LPVOID local_768; undefined8 local_760; undefined1 local_758 [8]; undefined8 local_750; undefined1 local_748 [8]; undefined8 *local_740; undefined8 *local_738; undefined8 *local_730; longlong local_728; undefined8 local_720; undefined1 local_718; undefined8 local_710; undefined8 local_708; undefined8 local_6f8; undefined8 uStack_6f0; undefined8 local_6e8; undefined8 local_6e0; longlong local_6d8; longlong local_6c8; undefined8 local_6c0; undefined1 local_6b8; undefined8 local_6b0; undefined8 local_6a8; undefined8 local_698; undefined8 uStack_690; undefined8 local_688; ulonglong uStack_680; TypeDescriptor *local_678; undefined8 local_670; TypeDescriptor *local_668; undefined8 local_660; undefined4 local_658; undefined4 uStack_654; undefined8 uStack_650; undefined8 local_648; ulonglong uStack_640; undefined8 local_638; longlong local_630; undefined8 local_618; ulonglong uStack_610; undefined8 local_608; ulonglong uStack_600; longlong local_5f8; undefined1 local_5f0 [16]; undefined1 local_5e0 [40]; undefined1 local_5b8 [16]; longlong *local_5a8; undefined1 local_5a0 [16]; longlong *local_590; undefined1 local_588 [16]; undefined1 local_578 [16]; undefined1 local_568 [16]; undefined1 local_558 [16]; undefined1 local_548 [16]; undefined8 *******local_538; longlong lStack_530; longlong local_528; ulonglong uStack_520; undefined1 local_518; undefined7 uStack_517; undefined8 local_508; ulonglong uStack_500; undefined8 local_4f8; undefined8 uStack_4f0; undefined8 local_4e8; undefined8 uStack_4e0; undefined8 local_4d8; undefined8 uStack_4d0; undefined8 local_4c8; undefined8 uStack_4c0; undefined1 local_4b8 [16]; undefined8 local_4a8; ulonglong uStack_4a0; undefined1 local_498 [32]; undefined1 local_478 [32]; undefined1 local_458 [32]; undefined1 local_438 [32]; undefined1 local_418 [32]; undefined1 local_3f8 [32]; undefined1 local_3d8 [32]; undefined1 local_3b8 [160]; undefined1 local_318 [32]; undefined1 local_2f8 [32]; undefined1 local_2d8 [160]; undefined1 local_238 [64]; undefined1 local_1f8 [64]; undefined1 local_1b8 [64]; undefined1 local_178 [64]; undefined1 local_138 [64]; undefined1 local_f8 [192]; ulonglong local_38; local_638 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_878; uVar18 = 0; local_838 = 0; *(undefined2 *)(param_1 + 8) = 0; local_848 = param_3; local_840 = param_2; local_828 = param_4; iVar5 = param_5 + 1; if (param_5 < 1) { iVar5 = 6; } do { uVar7 = 0; iVar17 = iVar5 + -1; if (iVar5 == 0) { local_508 = _DAT_181bd21a0; uStack_500 = _UNK_181bd21a8; local_518 = 0; FUN_1805a6cb0(&local_518, "TAsioSocket::read() Retries exhausted. Socket closed by remote host.",0x44); puVar15 = &local_518; if (0xf < uStack_500) { puVar15 = (undefined1 *)CONCAT71(uStack_517,local_518); } puVar8 = (undefined8 *)FUN_180721370(); (*(code *)*puVar8)(puVar15); FUN_180485450(&local_518); } uVar13 = (ulonglong)local_848; local_858 = param_1 + 6; local_648 = local_840; uStack_640 = uVar13; local_618 = local_840; uStack_610 = uVar13; iVar5 = FUN_180929070(*(longlong *)param_1[3] + 0x28,(longlong *)param_1[3] + 1,0,&local_618); *(int *)((longlong)param_1 + 0x44) = iVar5; if ((iVar5 == 0) && (0 < param_4)) { if (param_1[5] == 0) { local_630 = FUN_1811316e0(0x40); if (local_630 != 0) { uVar7 = FUN_180927570(local_630,*(undefined8 *)(*(longlong *)param_1[3] + 0x18)); } param_1[5] = uVar7; } FUN_180927bc0(local_758,param_1 + 1); local_760 = *param_1; local_838 = uVar18 | 1; local_858 = (undefined8 *)CONCAT71(local_858._1_7_,*PTR_DAT_18260bc98); puVar8 = (undefined8 *)FUN_180926da0(local_5b8,FUN_180929640,&local_760,*PTR_DAT_18260bc90); local_688 = local_840; local_608 = local_840; plVar10 = (longlong *)param_1[3]; lVar3 = *plVar10; local_6e8 = *puVar8; local_6e0 = puVar8[1]; local_6d8 = puVar8[2]; if (local_6d8 != 0) { LOCK(); *(int *)(local_6d8 + 8) = *(int *)(local_6d8 + 8) + 1; UNLOCK(); } uStack_680 = uVar13; uStack_600 = uVar13; FUN_180926880(lVar3 + 0x28,plVar10 + 1,&local_608,&local_6e8); plVar10 = local_5a8; if (local_5a8 != (longlong *)0x0) { LOCK(); plVar4 = local_5a8 + 1; lVar3 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)(*local_5a8 + 8))(local_5a8); LOCK(); piVar1 = (int *)((longlong)plVar10 + 0xc); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)(*plVar10 + 0x10))(plVar10); } } } lVar14 = (longlong)param_4 * 1000; plVar4 = (longlong *)param_1[5]; FUN_1805c8c70(); plVar10 = plVar4 + 1; lVar3 = *plVar4; FUN_1805bd450(local_7d8,FUN_1805bdf00); if ((((local_7d8[0] + 0x7fffffffffffffffU < 0xfffffffffffffffd) && (lVar14 != -0x8000000000000000)) && (lVar14 != 0x7ffffffffffffffe)) || (((local_7d8[0] + 0x7fffffffffffffffU < 0xfffffffffffffffd && (lVar14 != -0x8000000000000000)) && (lVar14 != 0x7ffffffffffffffe)))) { LAB_18092a234: lVar16 = local_7d8[0] + lVar14; } else if ((local_7d8[0] == 0x7ffffffffffffffe) || (lVar14 == 0x7ffffffffffffffe)) { LAB_18092a285: lVar16 = 0x7ffffffffffffffe; } else { lVar16 = local_7d8[0]; if (local_7d8[0] == 0x7fffffffffffffff) { if (lVar14 == -0x8000000000000000) goto LAB_18092a285; } else if (local_7d8[0] != -0x8000000000000000) { if (lVar14 != -0x8000000000000000) goto LAB_18092a234; lVar16 = -0x8000000000000000; } } FUN_180928500(lVar3 + 0x28,plVar10,local_548); *plVar10 = lVar16; FUN_1805c8c70(); FUN_180927bc0(local_748,param_1 + 1); local_750 = *param_1; uVar18 = local_838 | 2; puVar8 = (undefined8 *)FUN_180926c40(local_5a0,FUN_180929760,&local_750,*PTR_DAT_18260bc90); plVar10 = (longlong *)param_1[5]; lVar3 = *plVar10; local_810 = *puVar8; local_808 = puVar8[1]; local_800 = (longlong *)puVar8[2]; if (local_800 != (longlong *)0x0) { LOCK(); *(int *)(local_800 + 1) = (int)local_800[1] + 1; UNLOCK(); } local_830 = &local_810; local_740 = &local_810; puVar8 = (undefined8 *)FUN_1809284c0(0x60,&local_810); local_730 = (undefined8 *)0x0; puVar8[4] = 0; puVar8[5] = FUN_1809287c0; *puVar8 = 0; puVar8[1] = 0; puVar8[2] = 0; puVar8[3] = 0; *(undefined4 *)(puVar8 + 6) = 0; *(undefined4 *)(puVar8 + 7) = 0; local_7f8 = puVar8; local_738 = puVar8; uVar7 = FUN_1805c8c70(); puVar8[8] = uVar7; puVar8[9] = local_810; puVar8[10] = local_808; puVar8[0xb] = local_800; local_858 = puVar8; if (local_800 != (longlong *)0x0) { LOCK(); *(int *)(local_800 + 1) = (int)local_800[1] + 1; UNLOCK(); local_858 = local_738; } *(undefined1 *)(plVar10 + 2) = 1; local_730 = local_858; FUN_180927260(*(undefined8 *)(lVar3 + 0x68),lVar3 + 0x28,plVar10 + 1,plVar10 + 3); plVar10 = local_800; local_738 = (undefined8 *)0x0; if (local_800 != (longlong *)0x0) { LOCK(); plVar4 = local_800 + 1; lVar3 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)(*local_800 + 8))(local_800); LOCK(); piVar1 = (int *)((longlong)plVar10 + 0xc); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)(*plVar10 + 0x10))(plVar10); } } } plVar10 = local_590; if (local_590 != (longlong *)0x0) { LOCK(); plVar4 = local_590 + 1; lVar3 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)(*local_590 + 8))(local_590); LOCK(); piVar1 = (int *)((longlong)plVar10 + 0xc); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)(*plVar10 + 0x10))(plVar10); } } } lVar3 = *(longlong *)(*(longlong *)param_1[3] + 0x18); local_7e8 = local_7e8 & 0xffffffff00000000; uStack_7e0 = FUN_1805c8c70(); lVar3 = *(longlong *)(lVar3 + 0x10); LOCK(); piVar1 = (int *)(lVar3 + 0x30); iVar5 = *piVar1; *piVar1 = *piVar1; UNLOCK(); if (iVar5 == 0) { LOCK(); *(undefined4 *)(lVar3 + 0x34) = 1; UNLOCK(); local_658 = 0; uStack_7e0 = FUN_1805c8c70(); local_7e8 = CONCAT44(uStack_654,local_658); uStack_650 = uStack_7e0; } else { local_778 = lVar3; local_768 = TlsGetValue(DAT_18265dd40); local_770 = &local_778; TlsSetValue(DAT_18265dd40,&local_778); lVar14 = 0; while (lVar16 = lVar14, lVar14 = FUN_180928c80(lVar3,1,&local_7e8), lVar14 != 0) { lVar14 = lVar16 + 1; if (lVar16 == -1) { lVar14 = lVar16; } } TlsSetValue(DAT_18265dd40,local_768); } if ((int)local_7e8 != 0) { FUN_180929210(&local_7e8); } LOCK(); *(undefined4 *)(*(longlong *)(*(longlong *)(*(longlong *)param_1[3] + 0x18) + 0x10) + 0x34) = 0; UNLOCK(); param_4 = local_828; } if (*(int *)((longlong)param_1 + 0x44) != 0) { } if (*(char *)(param_1 + 8) != '\0') { FUN_1805a4160(local_3d8,"read (timed out)"); FUN_1805d6590(local_238,3,local_3d8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_238,(ThrowInfo *)&DAT_1825fdc30); } iVar2 = *(int *)(param_1 + 6); iVar5 = iVar17; if (iVar2 == 0) { if ((param_6 == '\0') || (iVar17 == 0)) { uVar7 = FUN_1809293a0(param_1[2],local_3b8); local_4a8 = _DAT_181bd21a0; uStack_4a0 = _UNK_181bd21a8; local_4b8[0] = 0; FUN_1805a6cb0(local_4b8,"TAsioSocket::read() Zero bytes and no error for ",0x30); puVar8 = (undefined8 *)FUN_1805f1630(local_318,local_4b8,uVar7); if (0xf < (ulonglong)puVar8[3]) { puVar8 = (undefined8 *)*puVar8; } puVar11 = (undefined8 *)FUN_180721370(); (*(code *)*puVar11)(puVar8); FUN_180485450(local_318); FUN_180485450(local_4b8); FUN_180485450(local_3b8); (**(code **)(*(longlong *)param_1[2] + 0x20))(); } local_668 = &boost::asio::detail:: typeid_wrapper_>_> ::RTTI_Type_Descriptor; local_660 = 0; local_6c8 = FUN_180726890(*(undefined8 *)(*(longlong *)(*(longlong *)param_1[3] + 0x18) + 8), &local_668,FUN_180927030); local_798 = 0x7ffffffffffffffe; local_81c = 0xfffffffe; FUN_1805b41e0(&local_6c0,&local_81c,&local_798); local_6b0 = 0; local_6a8 = 0; local_698 = 0; uStack_690 = 0; local_790 = 0x7ffffffffffffffe; local_818[0] = 0xfffffffe; FUN_1805b41e0(&local_788,local_818,&local_790); local_6c0 = local_788; local_6b8 = 0; local_780 = 0x32; FUN_180929280(&local_6c8,&local_780); FUN_18092bce0(&local_6c8); FUN_1805c8c70(); FUN_180928500(local_6c8 + 0x28,&local_6c0,local_588); FUN_180726fe0(&local_6b0); } else { if (iVar2 == 2) { } if (iVar2 == 0x4d5) { if (iVar17 == 0) { FUN_1805a4160(local_2f8,"EAGAIN (unavailable resources)"); FUN_1805d6590(local_1f8,3,local_2f8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1f8,(ThrowInfo *)&DAT_1825fdc30); } local_678 = &boost::asio::detail:: typeid_wrapper_>_> ::RTTI_Type_Descriptor; local_670 = 0; local_728 = FUN_180726890(*(undefined8 *)(*(longlong *)(*(longlong *)param_1[3] + 0x18) + 8) ,&local_678,FUN_180927030); local_7d8[1] = 0x7ffffffffffffffe; local_824 = 0xfffffffe; FUN_1805b41e0(&local_720,&local_824,local_7d8 + 1); local_710 = 0; local_708 = 0; local_6f8 = 0; uStack_6f0 = 0; local_7d8[2] = 0x7ffffffffffffffe; local_820 = 0xfffffffe; FUN_1805b41e0(local_7d8 + 3,&local_820,local_7d8 + 2); local_720 = local_7d8[3]; local_718 = 0; local_7b8 = 0x32; FUN_1805c8c70(); FUN_1805bd450(local_7b0,FUN_1805bdf00); FUN_18065bf70(local_7b0,&local_7a8,&local_7b8); FUN_180928500(local_728 + 0x28,&local_720,local_558); local_720 = local_7a8; FUN_1805c8c70(); FUN_18092bce0(&local_728); FUN_1805c8c70(); FUN_180928500(local_728 + 0x28,&local_720,local_568); FUN_180726fe0(&local_710); } if (param_6 == '\0') { if (*(int *)(param_1 + 6) != 0x2714) { if (*(int *)(param_1 + 6) == 0x6d) { (**(code **)(*(longlong *)param_1[2] + 0x20))(); } uVar7 = FUN_180b03b60(local_478); uVar9 = FUN_1809293a0(param_1[2],local_498); puVar8 = (undefined8 *)FUN_1805f4610(uVar9,0,"TAsioReadHandler::read() recv() ",0x20); local_4d8 = *puVar8; uStack_4d0 = puVar8[1]; local_4c8 = puVar8[2]; uStack_4c0 = puVar8[3]; puVar8[2] = 0; puVar8[3] = 0xf; *(undefined1 *)puVar8 = 0; puVar8 = (undefined8 *)FUN_1805a6a80(&local_4d8,&DAT_181bb5890,2); local_4f8 = *puVar8; uStack_4f0 = puVar8[1]; local_4e8 = puVar8[2]; uStack_4e0 = puVar8[3]; puVar8[2] = 0; puVar8[3] = 0xf; *(undefined1 *)puVar8 = 0; uVar7 = FUN_1805f1630(local_2d8,&local_4f8,uVar7); plVar10 = (longlong *)FUN_1805a6a80(uVar7,&DAT_181be4a78,2); local_538 = (undefined8 *******)*plVar10; lStack_530 = plVar10[1]; local_528 = plVar10[2]; uStack_520 = plVar10[3]; plVar10[2] = 0; plVar10[3] = 0xf; *(undefined1 *)plVar10 = 0; uVar6 = *(undefined4 *)(param_1 + 6); uVar7 = FUN_180721370(); pppppppuVar12 = &local_538; if (0xf < uStack_520) { pppppppuVar12 = local_538; } FUN_180721b10(uVar7,pppppppuVar12,uVar6); FUN_180485450(&local_538); FUN_180485450(local_2d8); FUN_180485450(&local_4f8); FUN_180485450(&local_4d8); FUN_180485450(local_498); FUN_180485450(local_478); iVar5 = *(int *)(param_1 + 6); if (iVar5 == 0x2746) { FUN_1805a4160(local_458,"ECONNRESET"); FUN_1805d6590(local_1b8,1,local_458); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1b8,(ThrowInfo *)&DAT_1825fdc30); } if (iVar5 == 0x2749) { FUN_1805a4160(local_438,"ENOTCONN"); FUN_1805d6590(local_178,1,local_438); /* WARNING: Subroutine does not return */ _CxxThrowException(local_178,(ThrowInfo *)&DAT_1825fdc30); } if (iVar5 != 0x274c) { FUN_1805a4160(local_3f8,"Unknown"); uVar6 = FUN_1804835d0(param_1 + 6); FUN_180927950(local_f8,0,local_3f8,uVar6); /* WARNING: Subroutine does not return */ _CxxThrowException(local_f8,(ThrowInfo *)&DAT_1825fdc30); } FUN_1805a4160(local_418,"ETIMEDOUT"); FUN_1805d6590(local_138,3,local_418); /* WARNING: Subroutine does not return */ _CxxThrowException(local_138,(ThrowInfo *)&DAT_1825fdc30); } } else if (param_1[7] == DAT_182667b20) { if (*(int *)(param_1 + 6) - 0xe8U < 2) { if (iVar17 == 0) { } FUN_180927570(&local_5f8,*(undefined8 *)(*(longlong *)param_1[3] + 0x18)); local_7a0 = 0xfa; FUN_180929280(&local_5f8,&local_7a0); FUN_18092bce0(&local_5f8); lVar3 = local_5f8; FUN_1805c8c70(); FUN_180928500(lVar3 + 0x28,local_5f0,local_578); FUN_180726fe0(local_5e0); } else if (*(int *)(param_1 + 6) == 0x6d) { } } } } while( true ); } ############ FUN_ 18092ae50 size=569 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18092ae50(longlong *param_1,undefined8 param_2,undefined4 param_3) { int *piVar1; longlong *plVar2; int iVar3; longlong lVar4; longlong *plVar5; char cVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *puVar9; undefined1 auStack_1c8 [32]; undefined4 local_1a8; undefined1 local_1a0; undefined8 *local_198; longlong *local_190; undefined8 *local_188; longlong *local_180; undefined8 local_178; undefined8 *local_170; undefined8 *local_168; undefined1 local_158 [160]; undefined1 local_b8 [128]; ulonglong local_38; local_178 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_1c8; cVar6 = (**(code **)(*param_1 + 8))(); if (cVar6 != '\0') { if (param_1[0xf] == 0) { puVar7 = (undefined8 *)FUN_1811316e0(0x48); puVar9 = (undefined8 *)0x0; local_170 = puVar7; if (puVar7 != (undefined8 *)0x0) { *puVar7 = 0; puVar7[1] = 0; puVar7[2] = param_1; puVar7[3] = param_1[0xb]; lVar4 = param_1[0xc]; puVar7[4] = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } puVar7[5] = 0; *(undefined4 *)(puVar7 + 6) = 0; uVar8 = FUN_1805c8c70(); puVar7[7] = uVar8; *(undefined2 *)(puVar7 + 8) = 0; *(undefined4 *)((longlong)puVar7 + 0x44) = 0; puVar9 = puVar7; } local_188 = puVar9; FUN_180926600(&local_180,puVar9); if ((puVar9 != (undefined8 *)0x0) && ((puVar9[1] == 0 || (*(int *)(puVar9[1] + 8) == 0)))) { local_190 = local_180; if (local_180 != (longlong *)0x0) { LOCK(); *(int *)(local_180 + 1) = (int)local_180[1] + 1; UNLOCK(); } *puVar9 = puVar9; local_198 = puVar9; if (local_180 != (longlong *)puVar9[1]) { if (local_180 != (longlong *)0x0) { LOCK(); *(int *)((longlong)local_180 + 0xc) = *(int *)((longlong)local_180 + 0xc) + 1; UNLOCK(); } plVar5 = (longlong *)puVar9[1]; if (plVar5 != (longlong *)0x0) { LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(); } } puVar9[1] = local_190; } plVar5 = local_190; if (local_190 != (longlong *)0x0) { LOCK(); plVar2 = local_190 + 1; lVar4 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_190 + 8))(local_190); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_190 + 0x10))(); } } } } local_168 = local_188; lVar4 = param_1[0xf]; param_1[0xf] = (longlong)local_188; plVar5 = (longlong *)param_1[0x10]; param_1[0x10] = (longlong)local_180; local_188 = (undefined8 *)lVar4; local_180 = plVar5; if (plVar5 != (longlong *)0x0) { LOCK(); plVar2 = plVar5 + 1; lVar4 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } } local_1a0 = 1; local_1a8 = (undefined4)param_1[8]; FUN_180929f80(param_1[0xf],param_2,param_3,(int)param_1[6]); } FUN_1805a4160(local_158,"Called read on non-open socket"); FUN_1805d6590(local_b8,1,local_158); /* WARNING: Subroutine does not return */ _CxxThrowException(local_b8,(ThrowInfo *)&DAT_1825fdc30); } ############ FUN_ 18092bfe0 size=1992 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_18092bfe0(undefined8 *param_1,longlong param_2,uint param_3,int param_4) { int iVar1; longlong *plVar2; longlong lVar3; undefined4 uVar4; undefined8 *puVar5; undefined8 uVar6; undefined4 *puVar7; ulonglong uVar8; int iVar9; uint uVar10; undefined1 auStack_508 [32]; undefined8 *local_4e8; undefined4 local_4d8 [2]; undefined8 *local_4d0; uint local_4c8; int local_4c4; undefined4 local_4c0 [2]; longlong local_4b8; undefined8 local_4b0; undefined8 local_4a8; longlong local_4a0; undefined8 *local_498; undefined8 *local_490; undefined8 *local_488; longlong local_480 [4]; undefined8 local_460; undefined8 *local_458; undefined8 local_450; undefined1 local_448 [8]; undefined8 local_440; undefined1 local_438 [8]; undefined8 local_430; undefined8 local_428; longlong local_420; longlong local_418; undefined8 local_410; undefined1 local_408; undefined8 local_400; undefined8 local_3f8; undefined8 local_3e8; undefined8 uStack_3e0; longlong local_3d8; ulonglong uStack_3d0; TypeDescriptor *local_3c8; undefined8 local_3c0; longlong local_3b8; ulonglong uStack_3b0; TypeDescriptor *local_3a8; undefined8 local_3a0; undefined8 local_398; undefined8 *local_390; undefined8 local_378; uint uStack_370; undefined4 uStack_36c; undefined8 local_368; uint uStack_360; undefined4 uStack_35c; undefined1 local_358 [8]; undefined1 local_350 [16]; undefined1 local_340 [8]; undefined1 local_338 [32]; undefined4 local_318; undefined4 uStack_314; undefined4 uStack_310; undefined4 uStack_30c; undefined8 local_308; ulonglong uStack_300; undefined1 local_2f8 [32]; undefined1 local_2d8 [32]; undefined1 local_2b8 [32]; undefined1 local_298 [32]; undefined1 local_278 [32]; undefined1 local_258 [160]; undefined1 local_1b8 [64]; undefined1 local_178 [64]; undefined1 local_138 [64]; undefined1 local_f8 [64]; undefined1 local_b8 [128]; ulonglong local_38; local_398 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_508; uVar8 = 0; local_4d8[0] = 0; *(undefined1 *)(param_1 + 8) = 0; iVar9 = 6; local_4c8 = param_3; local_4c4 = param_4; local_4b8 = param_2; while( true ) { while( true ) { uVar10 = (uint)uVar8; if (param_3 <= uVar10) { } if (iVar9 == 0) { FUN_1805a4160(local_2f8, "TAsioWriteHandler::write(): Retries exhausted. Socket closed by remote host or out of resources." ); FUN_1805d6590(local_1b8,3,local_2f8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1b8,(ThrowInfo *)&DAT_1825fdc30); } *(undefined4 *)((longlong)param_1 + 0x44) = 0; if (param_4 < 1) { local_3d8 = uVar8 + local_4b8; uStack_370 = param_3 - uVar10; uStack_3d0 = (ulonglong)uStack_370; uStack_36c = 0; local_4e8 = param_1 + 6; local_378 = local_3d8; uVar4 = FUN_1809273a0(*(longlong *)param_1[3] + 0x28,(longlong *)param_1[3] + 1,0,&local_378 ); *(undefined4 *)((longlong)param_1 + 0x44) = uVar4; } else { if (param_1[5] == 0) { puVar5 = (undefined8 *)FUN_1811316e0(0x40); local_390 = puVar5; if (puVar5 != (undefined8 *)0x0) { local_3c8 = &boost::asio::detail:: typeid_wrapper_>_> ::RTTI_Type_Descriptor; local_3c0 = 0; uVar6 = FUN_180726890(*(undefined8 *)(*(longlong *)(*(longlong *)param_1[3] + 0x18) + 8) ,&local_3c8,FUN_180927030); *puVar5 = uVar6; local_4d0 = puVar5 + 1; puVar5[3] = 0; puVar5[4] = 0; puVar5[6] = 0; puVar5[7] = 0; *local_4d0 = 0x7ffffffffffffffe; *(undefined1 *)(puVar5 + 2) = 0; } param_1[5] = puVar5; } FUN_180927bc0(local_448,param_1 + 1); local_450 = *param_1; local_4e8 = (undefined8 *)CONCAT71(local_4e8._1_7_,*PTR_DAT_18260bc98); puVar5 = (undefined8 *)FUN_180926da0(local_358,FUN_1809296d0,&local_450,*PTR_DAT_18260bc90); local_3b8 = uVar8 + local_4b8; uStack_360 = param_3 - uVar10; uStack_3b0 = (ulonglong)uStack_360; uStack_35c = 0; plVar2 = (longlong *)param_1[3]; lVar3 = *plVar2; local_430 = *puVar5; local_428 = puVar5[1]; local_420 = puVar5[2]; if (local_420 != 0) { LOCK(); *(int *)(local_420 + 8) = *(int *)(local_420 + 8) + 1; UNLOCK(); } local_368 = local_3b8; FUN_180926a60(lVar3 + 0x28,plVar2 + 1,&local_368,&local_430); FUN_1805fdcf0(local_350); local_480[0] = (longlong)param_4 * 1000; FUN_180929280(param_1[5],local_480); FUN_180927bc0(local_438,param_1 + 1); local_440 = *param_1; puVar5 = (undefined8 *)FUN_180926c40(local_340,FUN_180929850,&local_440,*PTR_DAT_18260bc90); plVar2 = (longlong *)param_1[5]; lVar3 = *plVar2; local_4b0 = *puVar5; local_4a8 = puVar5[1]; local_4a0 = puVar5[2]; if (local_4a0 != 0) { LOCK(); *(int *)(local_4a0 + 8) = *(int *)(local_4a0 + 8) + 1; UNLOCK(); } local_4d0 = &local_4b0; local_498 = &local_4b0; puVar5 = (undefined8 *)FUN_1809284c0(0x60,&local_4b0); local_488 = (undefined8 *)0x0; puVar5[4] = 0; puVar5[5] = FUN_1809287c0; *puVar5 = 0; puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; *(undefined4 *)(puVar5 + 6) = 0; *(undefined4 *)(puVar5 + 7) = 0; local_490 = puVar5; local_458 = puVar5; uVar6 = FUN_1805c8c70(); puVar5[8] = uVar6; puVar5[9] = local_4b0; puVar5[10] = local_4a8; puVar5[0xb] = local_4a0; local_4e8 = puVar5; if (local_4a0 != 0) { LOCK(); *(int *)(local_4a0 + 8) = *(int *)(local_4a0 + 8) + 1; UNLOCK(); local_4e8 = local_490; } *(undefined1 *)(plVar2 + 2) = 1; local_488 = local_4e8; FUN_180927260(*(undefined8 *)(lVar3 + 0x68),lVar3 + 0x28,plVar2 + 1,plVar2 + 3); local_488 = (undefined8 *)0x0; local_490 = (undefined8 *)0x0; FUN_18092b260(&local_498); FUN_180927d00(&local_4b0); FUN_1805fdcf0(local_338); FUN_18092b360(*(undefined8 *)(*(longlong *)param_1[3] + 0x18)); LOCK(); *(undefined4 *)(*(longlong *)(*(longlong *)(*(longlong *)param_1[3] + 0x18) + 0x10) + 0x34) = 0; UNLOCK(); param_3 = local_4c8; param_4 = local_4c4; } if ((param_1[7] != DAT_182667b20) || (1 < *(int *)(param_1 + 6) - 0xe8U)) break; local_3a8 = &boost::asio::detail:: typeid_wrapper_>_> ::RTTI_Type_Descriptor; local_3a0 = 0; local_418 = FUN_180726890(*(undefined8 *)(*(longlong *)(*(longlong *)param_1[3] + 0x18) + 8), &local_3a8,FUN_180927030); local_480[1] = 0x7ffffffffffffffe; local_4c0[0] = 0xfffffffe; FUN_1805b41e0(&local_410,local_4c0,local_480 + 1); local_400 = 0; local_3f8 = 0; local_3e8 = 0; uStack_3e0 = 0; local_480[2] = 0x7ffffffffffffffe; local_4d8[0] = 0xfffffffe; FUN_1805b41e0(local_480 + 3,local_4d8,local_480 + 2); local_410 = local_480[3]; local_408 = 0; local_460 = 0xfa; FUN_180929280(&local_418,&local_460); FUN_18092bce0(&local_418); FUN_1805c8c70(); FUN_180928500(local_418 + 0x28,&local_410); FUN_180726fe0(&local_400); iVar9 = iVar9 + -1; } if (*(char *)(param_1 + 8) != '\0') { FUN_1805a4160(local_2d8,"write (timed out)"); FUN_1805d6590(local_178,3,local_2d8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_178,(ThrowInfo *)&DAT_1825fdc30); } iVar1 = *(int *)(param_1 + 6); if (iVar1 != 0) break; if (*(int *)((longlong)param_1 + 0x44) == 0) { FUN_1805a4160(local_258,"Socket send returned 0."); FUN_1805d6590(local_b8,1,local_258); /* WARNING: Subroutine does not return */ _CxxThrowException(local_b8,(ThrowInfo *)&DAT_1825fdc30); } uVar8 = (ulonglong)(uVar10 + *(int *)((longlong)param_1 + 0x44)); iVar9 = iVar9 + -1; } uVar6 = FUN_1809293a0(param_1[2],local_2b8); puVar7 = (undefined4 *)FUN_1805f4610(uVar6,0,"TAsioSocket::write() send() ",0x1c); local_318 = *puVar7; uStack_314 = puVar7[1]; uStack_310 = puVar7[2]; uStack_30c = puVar7[3]; local_308 = *(undefined8 *)(puVar7 + 4); uStack_300 = *(ulonglong *)(puVar7 + 6); *(undefined8 *)(puVar7 + 4) = 0; *(undefined8 *)(puVar7 + 6) = 0xf; *(undefined1 *)puVar7 = 0; uVar6 = FUN_180721370(); puVar7 = &local_318; if (0xf < uStack_300) { puVar7 = (undefined4 *)CONCAT44(uStack_314,local_318); } FUN_180721b10(uVar6,puVar7,iVar1); FUN_180485450(&local_318); FUN_180485450(local_2b8); if (((iVar1 != 0x6d) && (iVar1 != 0x2746)) && (iVar1 != 0x2749)) { FUN_1805a4160(local_298,"write() send()"); FUN_180927950(local_138,0,local_298,iVar1); /* WARNING: Subroutine does not return */ _CxxThrowException(local_138,(ThrowInfo *)&DAT_1825fdc30); } (**(code **)(*(longlong *)param_1[2] + 0x20))(); FUN_1805a4160(local_278,"write() send()"); FUN_180927950(local_f8,1,local_278,iVar1); /* WARNING: Subroutine does not return */ _CxxThrowException(local_f8,(ThrowInfo *)&DAT_1825fdc30); } ############ FUN_ 18092c7d0 size=673 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18092c7d0(longlong *param_1,undefined8 param_2,undefined4 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; longlong lVar5; char cVar6; undefined8 *puVar7; undefined8 uVar8; undefined1 auStack_1d8 [32]; longlong local_1b8; longlong *local_1b0; undefined8 *local_1a8; longlong *local_1a0; undefined8 *local_198; longlong *local_190; longlong *local_188; undefined8 local_180; undefined8 *local_178; undefined8 *local_170; undefined1 local_160 [168]; undefined1 local_b8 [128]; ulonglong local_38; local_180 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_1d8; cVar6 = (**(code **)(*param_1 + 8))(); if (cVar6 != '\0') { if (param_1[0x11] == 0) { puVar7 = (undefined8 *)FUN_1811316e0(0x48); local_178 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { local_1b8 = param_1[0xb]; local_1b0 = (longlong *)param_1[0xc]; if (local_1b0 != (longlong *)0x0) { LOCK(); *(int *)(local_1b0 + 1) = (int)local_1b0[1] + 1; UNLOCK(); } local_188 = &local_1b8; *puVar7 = 0; puVar7[1] = 0; puVar7[2] = param_1; puVar7[3] = local_1b8; puVar7[4] = local_1b0; if (local_1b0 != (longlong *)0x0) { LOCK(); *(int *)(local_1b0 + 1) = (int)local_1b0[1] + 1; UNLOCK(); } puVar7[5] = 0; *(undefined4 *)(puVar7 + 6) = 0; uVar8 = FUN_1805c8c70(); plVar4 = local_1b0; puVar7[7] = uVar8; *(undefined1 *)(puVar7 + 8) = 0; *(undefined4 *)((longlong)puVar7 + 0x44) = 0; if (local_1b0 != (longlong *)0x0) { LOCK(); plVar1 = local_1b0 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_1b0 + 8))(local_1b0); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } local_198 = puVar7; FUN_180926670(&local_190,puVar7); if ((puVar7 != (undefined8 *)0x0) && ((puVar7[1] == 0 || (*(int *)(puVar7[1] + 8) == 0)))) { local_1a0 = local_190; if (local_190 != (longlong *)0x0) { LOCK(); *(int *)(local_190 + 1) = (int)local_190[1] + 1; UNLOCK(); } *puVar7 = puVar7; local_1a8 = puVar7; if (local_190 != (longlong *)puVar7[1]) { if (local_190 != (longlong *)0x0) { LOCK(); *(int *)((longlong)local_190 + 0xc) = *(int *)((longlong)local_190 + 0xc) + 1; UNLOCK(); } plVar4 = (longlong *)puVar7[1]; if (plVar4 != (longlong *)0x0) { LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(); } } puVar7[1] = local_1a0; } plVar4 = local_1a0; if (local_1a0 != (longlong *)0x0) { LOCK(); plVar1 = local_1a0 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_1a0 + 8))(local_1a0); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_1a0 + 0x10))(); } } } } local_170 = local_198; lVar5 = param_1[0x11]; param_1[0x11] = (longlong)local_198; plVar4 = (longlong *)param_1[0x12]; param_1[0x12] = (longlong)local_190; local_198 = (undefined8 *)lVar5; local_190 = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } } FUN_18092bfe0(param_1[0x11],param_2,param_3,*(undefined4 *)((longlong)param_1 + 0x2c)); } FUN_1805a4160(local_160,"Called write on non-open socket"); FUN_1805d6590(local_b8,1,local_160); /* WARNING: Subroutine does not return */ _CxxThrowException(local_b8,(ThrowInfo *)&DAT_1825fdc30); } ############ FUN_ 18092ca90 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18092ca90(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_18078a370(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 18092cc80 size=477 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18092cc80(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_18079c760(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 18092ce70 size=447 ############ void FUN_18092ce70(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a3340(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 18092d030 size=144 ############ void FUN_18092d030(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 uStackX_18; undefined8 *local_48; longlong *local_40; undefined8 *puStack_38; longlong *plStack_30; undefined8 *puStack_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&local_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { puStack_28 = local_48; plStack_20 = local_40; if (local_40 != (longlong *)0x0) { LOCK(); *(int *)(local_40 + 1) = (int)local_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&puStack_28); } puStack_38 = puVar6; FUN_180621590(&plStack_30,puVar6); FUN_1805ae620(&puStack_38,puVar6,puVar6); FUN_1807b3590(param_1,puStack_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,uStackX_18); if (plStack_30 != (longlong *)0x0) { LOCK(); plVar1 = plStack_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_30 + 8))(plStack_30); LOCK(); piVar2 = (int *)((longlong)plStack_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_30 + 0x10))(plStack_30); } } } if (local_40 != (longlong *)0x0) { LOCK(); plVar1 = local_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_40 + 8))(local_40); LOCK(); piVar2 = (int *)((longlong)local_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_40 + 0x10))(local_40); } } } return; } ############ FUN_ 1809335c0 size=97 ############ undefined8 * FUN_1809335c0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180933630 size=476 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180933630(longlong param_1,int param_2,undefined8 param_3) { longlong *plVar1; int *piVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_118 [32]; int local_f8; undefined8 *local_e8; longlong *local_e0; undefined8 *local_d8; longlong *plStack_d0; undefined8 *local_c8; undefined8 *local_b8; longlong *plStack_b0; undefined8 local_a8; undefined1 local_a0 [40]; undefined1 local_78 [64]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; puVar5 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; local_c8 = puVar5; if (puVar5 != (undefined8 *)0x0) { puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; *puVar5 = apache::thrift::transport::TMemoryBuffer::vftable; if ((param_1 == 0) && (param_2 != 0)) { FUN_1805a4160(local_a0,"TMemoryBuffer given null buffer with non-zero size."); FUN_1805d6590(local_78,6,local_a0); /* WARNING: Subroutine does not return */ _CxxThrowException(local_78,(ThrowInfo *)&DAT_1825fdc30); } local_f8 = param_2; FUN_1805da740(puVar5,param_1,param_2,0); puVar7 = puVar5; } local_d8 = puVar7; FUN_1805d5580(&plStack_d0,puVar7); FUN_1805ae620(&local_d8,puVar7,puVar7); local_c8 = (undefined8 *)FUN_1811316e0(0x40); if (local_c8 != (undefined8 *)0x0) { local_b8 = local_d8; plStack_b0 = plStack_d0; if (plStack_d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_d0 + 1) = (int)plStack_d0[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(local_c8,&local_b8); } local_e8 = puVar6; FUN_180621590(&local_e0,puVar6); FUN_1805ae620(&local_e8,puVar6,puVar6); FUN_1807906b0(param_3,local_e8); if (local_e0 != (longlong *)0x0) { LOCK(); plVar1 = local_e0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*local_e0 + 8))(local_e0); LOCK(); piVar2 = (int *)((longlong)local_e0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_e0 + 0x10))(local_e0); } } } if (plStack_d0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_d0 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)(*plStack_d0 + 8))(plStack_d0); LOCK(); piVar2 = (int *)((longlong)plStack_d0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_d0 + 0x10))(plStack_d0); } } } } ############ FUN_ 1809338c0 size=447 ############ void FUN_1809338c0(undefined8 param_1,undefined8 *param_2,char param_3) { longlong *plVar1; int *piVar2; int iVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 local_res18; undefined8 *local_48; longlong *plStack_40; undefined8 *local_38; longlong *local_30; undefined8 *local_28; longlong *plStack_20; if (param_3 != '\0') { param_2[1] = *param_2; } puVar4 = (undefined8 *)FUN_1811316e0(0x38); puVar6 = (undefined8 *)0x0; puVar7 = puVar6; if (puVar4 != (undefined8 *)0x0) { puVar4[1] = 0; puVar4[2] = 0; puVar4[3] = 0; puVar4[4] = 0; *puVar4 = apache::thrift::transport::TMemoryBuffer::vftable; FUN_1805da740(puVar4,0,0x400,1,0); puVar7 = puVar4; } local_48 = puVar7; FUN_1805d5580(&plStack_40,puVar7); FUN_1805ae620(&local_48,puVar7,puVar7); lVar5 = FUN_1811316e0(0x40); if (lVar5 != 0) { local_28 = local_48; plStack_20 = plStack_40; if (plStack_40 != (longlong *)0x0) { LOCK(); *(int *)(plStack_40 + 1) = (int)plStack_40[1] + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_1806222c0(lVar5,&local_28); } local_38 = puVar6; FUN_180621590(&local_30,puVar6); FUN_1805ae620(&local_38,puVar6,puVar6); FUN_1807a82d0(param_1,local_38); lVar5 = local_48[1]; FUN_1805d5a60(param_2,param_2[1],lVar5, (ulonglong)(uint)(*(int *)(local_48 + 3) - (int)lVar5) + lVar5,local_res18); if (local_30 != (longlong *)0x0) { LOCK(); plVar1 = local_30 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar2 = (int *)((longlong)local_30 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } if (plStack_40 != (longlong *)0x0) { LOCK(); plVar1 = plStack_40 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_40 + 8))(plStack_40); LOCK(); piVar2 = (int *)((longlong)plStack_40 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_40 + 0x10))(plStack_40); } } } return; } ############ FUN_ 180938410 size=307 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180938410(longlong *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6) { char *pcVar1; undefined8 uVar2; undefined1 auStack_148 [32]; undefined8 local_128; undefined8 local_120; undefined4 local_118 [2]; char *local_110; undefined8 local_108; undefined1 local_100 [56]; undefined1 local_c8 [112]; ulonglong local_58; local_108 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_148; if ((char)param_1[0x118] != '\0') { FUN_18073c2a0(param_3,local_100); FUN_18073e880(param_4,local_c8); local_120 = param_6; local_128 = param_5; (**(code **)(*param_1 + 8))(param_1,param_2,local_100,local_c8); } local_110 = (char *)FUN_1811316e0(0x18); if (local_110 != (char *)0x0) { FUN_1805a48c0(local_110,"KeyExchanger object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_110 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_118[0] = 0x8e; local_110 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_110); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_118); } ############ FUN_ 180939810 size=328 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180939810(longlong *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7) { char *pcVar1; undefined8 uVar2; undefined1 auStack_158 [32]; undefined8 local_138; undefined8 local_130; undefined4 local_128 [2]; char *local_120; undefined8 local_118; undefined8 local_110; undefined1 local_108 [64]; undefined1 local_c8 [112]; ulonglong local_58; local_110 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_158; local_118 = param_7; if ((char)param_1[0x118] != '\0') { FUN_18073b050(param_3,local_108); FUN_18073d980(param_4,param_5,local_c8); local_130 = local_118; local_138 = param_6; (**(code **)(*param_1 + 8))(param_1,param_2,local_108,local_c8); } local_120 = (char *)FUN_1811316e0(0x18); if (local_120 != (char *)0x0) { FUN_1805a48c0(local_120,"KeyExchanger object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_120 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_128[0] = 0x68; local_120 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_120); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_128); } ############ FUN_ 180939980 size=330 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180939980(longlong *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7) { char *pcVar1; undefined8 uVar2; undefined1 auStack_168 [32]; undefined8 local_148; undefined8 local_140; undefined8 local_138; undefined4 local_128 [2]; char *local_120; undefined8 local_118; undefined8 local_110; undefined1 local_108 [64]; undefined1 local_c8 [112]; ulonglong local_58; local_110 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_168; local_118 = param_7; if ((char)param_1[0x118] != '\0') { FUN_18073c2a0(param_3,local_108); FUN_18073e880(param_4,local_c8); local_138 = local_118; local_140 = param_6; local_148 = param_5; (**(code **)(*param_1 + 0x20))(param_1,param_2,local_108,local_c8); } local_120 = (char *)FUN_1811316e0(0x18); if (local_120 != (char *)0x0) { FUN_1805a48c0(local_120,"KeyExchanger object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_120 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_128[0] = 0x11d; local_120 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_120); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_128); } ############ FUN_ 180939af0 size=713 ############ void FUN_180939af0(longlong *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 *param_6,undefined8 *param_7) { int iVar1; int iVar2; undefined8 *puVar3; undefined8 uVar4; longlong lVar5; void *_Memory; undefined8 *local_res8; char *local_298; void *local_290; undefined8 uStack_288; longlong local_280; undefined8 *local_278; undefined8 local_270; undefined1 local_268 [576]; local_270 = 0xfffffffffffffffe; FUN_18063c2c0(local_268); local_290 = (void *)0x0; uStack_288 = 0; local_280 = 0; if ((char)param_1[0x118] == '\0') { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"KeyExchanger object has not been initialized"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar3; if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x146); local_298 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp"; uVar4 = FUN_1805a21d0(puVar3[1],&local_298); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res8); } iVar1 = FUN_1807002d0(param_2); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar1); iVar2 = FUN_180700270(param_2); local_298 = (char *)CONCAT44(local_298._4_4_,iVar2); if ((iVar1 != 0) && (iVar2 != 0)) { (**(code **)(*param_1 + 8))(param_1,iVar1,param_3,param_4,param_5,&local_290); FUN_18063f370(local_268,param_2,1,0,&local_290); if (param_7 != param_6) { FUN_1805e1990(param_7,*param_6,param_6[1],param_7._0_1_); } FUN_18063cba0(local_268,param_7); FUN_1805b0f50(param_7,iVar1,param_7); if (local_290 == (void *)0x0) { FUN_18063cad0(local_268); return; } _Memory = local_290; if ((0xfff < (ulonglong)(local_280 - (longlong)local_290)) && (_Memory = *(void **)((longlong)local_290 + -8), 0x1f < (ulonglong)((longlong)local_290 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_278 = (undefined8 *)FUN_1811316e0(0x18); if (local_278 == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = FUN_1805a48c0(local_278,"Zero key or block size (dwKeySize = %d, dwBlockSize = %d)"); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); local_278 = puVar3; if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar5 + 8),&local_res8); FUN_18060e760(*(undefined8 *)(lVar5 + 8),&local_298); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x151); local_298 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp" ; uVar4 = FUN_1805a21d0(puVar3[1],&local_298); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res8); } ############ FUN_ 180939df0 size=351 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180939df0(longlong *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8) { char *pcVar1; undefined8 uVar2; undefined1 auStack_168 [32]; undefined8 local_148; undefined8 local_140; undefined8 local_138; undefined4 local_128 [2]; char *local_120; undefined8 local_118; undefined8 local_110; undefined8 local_108; undefined1 local_100 [56]; undefined1 local_c8 [112]; ulonglong local_58; local_108 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_168; local_110 = param_7; local_118 = param_8; if ((char)param_1[0x118] != '\0') { FUN_18073b050(param_3,local_100); FUN_18073d980(param_4,param_5,local_c8); local_138 = local_118; local_140 = local_110; local_148 = param_6; (**(code **)(*param_1 + 0x20))(param_1,param_2,local_100,local_c8); } local_120 = (char *)FUN_1811316e0(0x18); if (local_120 != (char *)0x0) { FUN_1805a48c0(local_120,"KeyExchanger object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_120 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_128[0] = 0xf5; local_120 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_120); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_128); } ############ FUN_ 180939f80 size=330 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180939f80(longlong *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7) { char *pcVar1; undefined8 uVar2; undefined1 auStack_168 [32]; undefined8 local_148; undefined8 local_140; undefined8 local_138; undefined4 local_128 [2]; char *local_120; undefined8 local_118; undefined8 local_110; undefined1 local_108 [64]; undefined1 local_c8 [112]; ulonglong local_58; local_110 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_168; local_118 = param_7; if ((char)param_1[0x118] != '\0') { FUN_18073c2a0(param_3,local_108); FUN_18073e880(param_4,local_c8); local_138 = local_118; local_140 = param_6; local_148 = param_5; (**(code **)(*param_1 + 0x38))(param_1,param_2,local_108,local_c8); } local_120 = (char *)FUN_1811316e0(0x18); if (local_120 != (char *)0x0) { FUN_1805a48c0(local_120,"KeyExchanger object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_120 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_128[0] = 0x1a3; local_120 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_120); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_128); } ############ FUN_ 18093a0f0 size=758 ############ void FUN_18093a0f0(longlong *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 *param_6,undefined8 *param_7) { uint uVar1; uint uVar2; uint uVar3; undefined8 *puVar4; undefined8 uVar5; longlong lVar6; void *_Memory; undefined8 *local_res8; char *local_2a8; void *local_2a0; undefined8 uStack_298; longlong local_290; undefined8 *local_288; undefined8 local_280; undefined1 local_278 [576]; local_280 = 0xfffffffffffffffe; FUN_18063c2c0(local_278); local_2a0 = (void *)0x0; uStack_298 = 0; local_290 = 0; if ((char)param_1[0x118] == '\0') { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"KeyExchanger object has not been initialized"); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar4; if (puVar4 == (undefined8 *)0x0) { puVar4 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1cd); local_2a8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp"; uVar5 = FUN_1805a21d0(puVar4[1],&local_2a8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } uVar1 = FUN_1807002d0(param_2); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,uVar1); uVar2 = FUN_180700270(param_2); local_2a8 = (char *)CONCAT44(local_2a8._4_4_,uVar2); if ((uVar1 != 0) && (uVar2 != 0)) { (**(code **)(*param_1 + 8))(param_1,uVar1,param_3,param_4,param_5,&local_2a0); FUN_18063f370(local_278,param_2,1,0,&local_2a0); uVar3 = uVar1; if (uVar1 % uVar2 != 0) { uVar3 = (uVar1 / uVar2 + 1) * uVar2; } FUN_1805b0f50(param_7,uVar3,param_7); FUN_180605430(*param_7,uVar3); if (param_6 != param_7) { FUN_1805e1990(param_6,*param_7,param_7[1],param_7._0_1_); } FUN_18063daf0(local_278,param_6); FUN_1805b0f50(param_7,uVar1,param_7); if (local_2a0 == (void *)0x0) { FUN_18063cad0(local_278); return; } _Memory = local_2a0; if ((0xfff < (ulonglong)(local_290 - (longlong)local_2a0)) && (_Memory = *(void **)((longlong)local_2a0 + -8), 0x1f < (ulonglong)((longlong)local_2a0 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_288 = (undefined8 *)FUN_1811316e0(0x18); if (local_288 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_288,"Zero key or block size (dwKeySize = %d, dwBlockSize = %d)"); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); local_288 = puVar4; if (puVar4 == (undefined8 *)0x0) { puVar4 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar6 + 8),&local_res8); FUN_18060e760(*(undefined8 *)(lVar6 + 8),&local_2a8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1d8); local_2a8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp" ; uVar5 = FUN_1805a21d0(puVar4[1],&local_2a8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } ############ FUN_ 18093a420 size=351 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18093a420(longlong *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8) { char *pcVar1; undefined8 uVar2; undefined1 auStack_168 [32]; undefined8 local_148; undefined8 local_140; undefined8 local_138; undefined4 local_128 [2]; char *local_120; undefined8 local_118; undefined8 local_110; undefined8 local_108; undefined1 local_100 [56]; undefined1 local_c8 [112]; ulonglong local_58; local_108 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_168; local_110 = param_7; local_118 = param_8; if ((char)param_1[0x118] != '\0') { FUN_18073b050(param_3,local_100); FUN_18073d980(param_4,param_5,local_c8); local_138 = local_118; local_140 = local_110; local_148 = param_6; (**(code **)(*param_1 + 0x38))(param_1,param_2,local_100,local_c8); } local_120 = (char *)FUN_1811316e0(0x18); if (local_120 != (char *)0x0) { FUN_1805a48c0(local_120,"KeyExchanger object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_120 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_128[0] = 0x17b; local_120 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_120); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_128); } ############ FUN_ 18093a5b0 size=266 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18093a5b0(longlong param_1,undefined8 param_2,undefined8 param_3) { char *pcVar1; undefined8 uVar2; undefined1 auStack_118 [32]; undefined4 local_f8 [2]; char *local_f0; undefined8 local_e8; undefined1 local_e0 [56]; undefined1 local_a8 [112]; ulonglong local_38; local_e8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; if (*(char *)(param_1 + 0x8c0) != '\0') { (**(code **)(*(longlong *)(param_1 + 8) + 0x20))((longlong *)(param_1 + 8),local_e0,local_a8); FUN_18073d1f0(local_e0,param_2); FUN_18073f650(local_a8,param_3); } local_f0 = (char *)FUN_1811316e0(0x18); if (local_f0 != (char *)0x0) { FUN_1805a48c0(local_f0,"KeyExchanger object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_f0 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_f8[0] = 0x20c; local_f0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp"; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_f0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_f8); } ############ FUN_ 18093a6e0 size=274 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18093a6e0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; undefined8 uVar2; undefined1 auStack_128 [32]; undefined4 local_108 [2]; char *local_100; undefined8 local_f8; undefined1 local_f0 [56]; undefined1 local_b8 [112]; ulonglong local_48; local_f8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_128; if (*(char *)(param_1 + 0x8c0) != '\0') { (**(code **)(*(longlong *)(param_1 + 8) + 0x20))((longlong *)(param_1 + 8),local_f0,local_b8); FUN_18073c3a0(local_f0,param_2); FUN_18073e970(local_b8,param_3,param_4); } local_100 = (char *)FUN_1811316e0(0x18); if (local_100 != (char *)0x0) { FUN_1805a48c0(local_100,"KeyExchanger object has not been initialized"); } pcVar1 = (char *)FUN_1811316e0(0x18); if (pcVar1 == (char *)0x0) { pcVar1 = (char *)0x0; } else { local_100 = pcVar1; FUN_1805a48c0(pcVar1,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar1 = pace::PaceLocationInfoFormatter::vftable; } local_108[0] = 0xd4; local_100 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\keyexchanger.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(pcVar1 + 8),&local_100); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_108); } ############ FUN_ 1809403b0 size=112 ############ void FUN_1809403b0(undefined8 param_1,ulonglong param_2) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; uVar1 = param_2 * 0x68; if (param_2 < 0x276276276276277) { if (uVar1 < 0x1000) { if (uVar1 != 0) { FUN_1811316e0(uVar1); return; } return; } } else { uVar1 = 0xffffffffffffffff; } uVar3 = uVar1 + 0x27; if (uVar3 <= uVar1) { uVar3 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar3); if (lVar2 != 0) { *(longlong *)((lVar2 + 0x27U & 0xffffffffffffffe0) - 8) = lVar2; return; } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } ############ FUN_ 18093e820 size=782 ############ void FUN_18093e820(ulonglong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; void *_Memory; ulonglong uVar9; ulonglong uVar10; longlong lVar11; puVar6 = (undefined8 *)param_1[1]; uVar9 = *param_1; lVar3 = ((longlong)puVar6 - uVar9) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)((longlong)puVar6 - uVar9)),8); uVar10 = (lVar3 >> 7) - (lVar3 >> 0x3f); lVar3 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[2] - uVar9)),8) + (param_1[2] - uVar9); uVar4 = (lVar3 >> 7) - (lVar3 >> 0x3f); if (param_2 <= uVar4) { if (param_2 <= uVar10) { if (param_2 != uVar10) { puVar8 = (undefined8 *)(param_2 * 0xa8 + uVar9); for (puVar7 = puVar8; puVar7 != puVar6; puVar7 = puVar7 + 0x15) { (**(code **)*puVar7)(puVar7,0); } param_1[1] = (ulonglong)puVar8; } return; } for (lVar3 = param_2 - uVar10; lVar3 != 0; lVar3 = lVar3 + -1) { FUN_1805b6280(puVar6); puVar6 = puVar6 + 0x15; } param_1[1] = (ulonglong)puVar6; return; } if (0x186186186186186 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar4 <= 0x186186186186186 - (uVar4 >> 1)) && (uVar9 = (uVar4 >> 1) + uVar4, uVar9 < param_2) ) { uVar9 = param_2; } uVar4 = uVar9 * 0xa8; if (uVar9 < 0x186186186186187) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_18093e943; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar2); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar3; LAB_18093e943: lVar3 = uVar10 * 0xa8 + uVar4; for (lVar11 = param_2 - uVar10; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_1805b6280(lVar3); lVar3 = lVar3 + 0xa8; } uVar10 = param_1[1]; uVar5 = uVar4; for (uVar2 = *param_1; uVar2 != uVar10; uVar2 = uVar2 + 0xa8) { FUN_1805b6190(uVar5); uVar5 = uVar5 + 0xa8; } puVar6 = (undefined8 *)*param_1; if (puVar6 == (undefined8 *)0x0) { *param_1 = uVar4; param_1[1] = param_2 * 0xa8 + uVar4; param_1[2] = uVar9 * 0xa8 + uVar4; return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar6 != puVar7; puVar6 = puVar6 + 0x15) { (**(code **)*puVar6)(puVar6,0); } pvVar1 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[2] - (longlong)pvVar1)),8 ) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 0xa8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18093eb40 size=704 ############ void FUN_18093eb40(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong lVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar7 - lVar4) / 0x38; uVar3 = (param_1[2] - lVar4) / 0x38; local_res18 = param_3; if (param_2 <= uVar3) { if (uVar2 < param_2) { lVar4 = FUN_180940170(&local_res18,puVar7,param_2 - uVar2); param_1[1] = lVar4; return; } if (param_2 != uVar2) { puVar8 = (undefined8 *)(param_2 * 0x38 + lVar4); for (puVar6 = puVar8; puVar6 != puVar7; puVar6 = puVar6 + 7) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (longlong)puVar8; } return; } if (0x492492492492492 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x492492492492492 - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x38; local_res20 = uVar10; if (uVar10 < 0x492492492492493) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_18093ec58; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar4; LAB_18093ec58: FUN_180940170(&local_res18,puVar7 + uVar2 * 7,param_2 - uVar2); lVar4 = param_1[1]; puVar6 = puVar7; for (lVar9 = *param_1; lVar9 != lVar4; lVar9 = lVar9 + 0x38) { *puVar6 = pace::eden::thrift::pub::Media::vftable; FUN_1805a4070(puVar6 + 1); *(undefined4 *)(puVar6 + 5) = *(undefined4 *)(lVar9 + 0x28); *(undefined4 *)((longlong)puVar6 + 0x2c) = *(undefined4 *)(lVar9 + 0x2c); *(undefined4 *)(puVar6 + 6) = *(undefined4 *)(lVar9 + 0x30); *(undefined4 *)((longlong)puVar6 + 0x34) = *(undefined4 *)(lVar9 + 0x34); puVar6 = puVar6 + 7; } puVar6 = (undefined8 *)*param_1; if (puVar6 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 7); param_1[2] = (longlong)(puVar7 + uVar10 * 7); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar6 != puVar7; puVar6 = puVar6 + 7) { (**(code **)*puVar6)(puVar6,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x38) * 0x38)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18093ee10 size=830 ############ void FUN_18093ee10(ulonglong *param_1,ulonglong param_2) { void *pvVar1; undefined8 *puVar2; longlong lVar3; undefined8 *puVar4; ulonglong uVar5; ulonglong uVar6; undefined8 *puVar7; ulonglong uVar8; void *_Memory; ulonglong uVar9; ulonglong uVar10; puVar4 = (undefined8 *)param_1[1]; uVar9 = *param_1; lVar3 = (longlong)((longlong)puVar4 - uVar9) / 6 + ((longlong)((longlong)puVar4 - uVar9) >> 0x3f); uVar5 = (lVar3 >> 4) - (lVar3 >> 0x3f); uVar10 = (longlong)(param_1[2] - uVar9) / 0x60; if (param_2 <= uVar10) { if (uVar5 < param_2) { lVar3 = param_2 - uVar5; if (lVar3 != 0) { puVar2 = puVar4 + 4; do { *puVar4 = pace::eden::thrift::pub::CountLimitRecord::vftable; *(undefined4 *)(puVar2 + -3) = 0; puVar2[-2] = 0; puVar2[-1] = 0; *puVar2 = 0; *(undefined2 *)(puVar2 + 1) = 0; *(undefined8 *)((longlong)puVar2 + 0xc) = 0; *(undefined2 *)(puVar2 + 3) = 0; *(undefined8 *)((longlong)puVar2 + 0x1c) = 0; puVar2[5] = 0; puVar2[6] = 0; *(undefined2 *)(puVar2 + 7) = 0; puVar4 = puVar4 + 0xc; puVar2 = puVar2 + 0xc; lVar3 = lVar3 + -1; } while (lVar3 != 0); } param_1[1] = (ulonglong)puVar4; return; } if (param_2 != uVar5) { puVar7 = (undefined8 *)(param_2 * 0x60 + uVar9); for (puVar2 = puVar7; puVar2 != puVar4; puVar2 = puVar2 + 0xc) { (**(code **)*puVar2)(puVar2,0); } param_1[1] = (ulonglong)puVar7; } return; } if (0x2aaaaaaaaaaaaaa < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar10 <= 0x2aaaaaaaaaaaaaa - (uVar10 >> 1)) && (uVar9 = uVar10 + (uVar10 >> 1), uVar9 < param_2)) { uVar9 = param_2; } if ((uVar9 < 0x2aaaaaaaaaaaaab) && (uVar9 * 0x60 < 0x1000)) { if (uVar9 * 0x60 == 0) { uVar10 = 0; } else { uVar10 = FUN_1811316e0(); } } else { lVar3 = FUN_1811316e0(); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar10 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar10 - 8) = lVar3; } puVar4 = (undefined8 *)(uVar5 * 0x60 + uVar10); lVar3 = param_2 - uVar5; if (lVar3 != 0) { puVar2 = puVar4 + 4; do { *puVar4 = pace::eden::thrift::pub::CountLimitRecord::vftable; *(undefined4 *)(puVar2 + -3) = 0; puVar2[-2] = 0; puVar2[-1] = 0; *puVar2 = 0; *(undefined2 *)(puVar2 + 1) = 0; *(undefined8 *)((longlong)puVar2 + 0xc) = 0; *(undefined2 *)(puVar2 + 3) = 0; *(undefined8 *)((longlong)puVar2 + 0x1c) = 0; puVar2[5] = 0; puVar2[6] = 0; *(undefined2 *)(puVar2 + 7) = 0; puVar4 = puVar4 + 0xc; puVar2 = puVar2 + 0xc; lVar3 = lVar3 + -1; } while (lVar3 != 0); } uVar5 = param_1[1]; uVar6 = uVar10; for (uVar8 = *param_1; uVar8 != uVar5; uVar8 = uVar8 + 0x60) { FUN_1805b5600(uVar6); uVar6 = uVar6 + 0x60; } puVar4 = (undefined8 *)*param_1; if (puVar4 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar4 != puVar2; puVar4 = puVar4 + 0xc) { (**(code **)*puVar4)(puVar4,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar1) / 0x60) * 0x60)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar10; param_1[1] = param_2 * 0x60 + uVar10; param_1[2] = uVar9 * 0x60 + uVar10; return; } ############ FUN_ 18093f160 size=842 ############ void FUN_18093f160(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong lVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar7 - lVar4) / 0x88; uVar3 = (param_1[2] - lVar4) / 0x88; local_res18 = param_3; if (param_2 <= uVar3) { if (uVar2 < param_2) { lVar4 = FUN_180940210(&local_res18,puVar7,param_2 - uVar2); param_1[1] = lVar4; return; } if (param_2 != uVar2) { puVar8 = (undefined8 *)(param_2 * 0x88 + lVar4); for (puVar6 = puVar8; puVar6 != puVar7; puVar6 = puVar6 + 0x11) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (longlong)puVar8; } return; } if (0x1e1e1e1e1e1e1e1 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x1e1e1e1e1e1e1e1 - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x88; local_res20 = uVar10; if (uVar10 < 0x1e1e1e1e1e1e1e2) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_18093f27b; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar4; LAB_18093f27b: FUN_180940210(&local_res18,puVar7 + uVar2 * 0x11,param_2 - uVar2); lVar4 = param_1[1]; puVar6 = puVar7; for (lVar9 = *param_1; lVar9 != lVar4; lVar9 = lVar9 + 0x88) { *puVar6 = pace::eden::thrift::pub::SecretDataRecord::vftable; *(undefined4 *)(puVar6 + 1) = *(undefined4 *)(lVar9 + 8); FUN_1805b46a0(puVar6 + 2,lVar9 + 0x10); FUN_1805b46a0(puVar6 + 5,lVar9 + 0x28); FUN_1805b46a0(puVar6 + 8); *(undefined4 *)(puVar6 + 0xb) = *(undefined4 *)(lVar9 + 0x58); *(undefined4 *)((longlong)puVar6 + 0x5c) = *(undefined4 *)(lVar9 + 0x5c); *(undefined4 *)(puVar6 + 0xc) = *(undefined4 *)(lVar9 + 0x60); *(undefined4 *)((longlong)puVar6 + 100) = *(undefined4 *)(lVar9 + 100); *(undefined4 *)(puVar6 + 0xd) = *(undefined4 *)(lVar9 + 0x68); *(undefined4 *)((longlong)puVar6 + 0x6c) = *(undefined4 *)(lVar9 + 0x6c); *(undefined1 *)(puVar6 + 0xe) = *(undefined1 *)(lVar9 + 0x70); *(undefined1 *)((longlong)puVar6 + 0x71) = *(undefined1 *)(lVar9 + 0x71); *(undefined1 *)((longlong)puVar6 + 0x72) = *(undefined1 *)(lVar9 + 0x72); *(undefined1 *)((longlong)puVar6 + 0x73) = *(undefined1 *)(lVar9 + 0x73); *(undefined1 *)((longlong)puVar6 + 0x74) = *(undefined1 *)(lVar9 + 0x74); *(undefined8 *)((longlong)puVar6 + 0x75) = *(undefined8 *)(lVar9 + 0x75); *(undefined4 *)((longlong)puVar6 + 0x7d) = *(undefined4 *)(lVar9 + 0x7d); *(undefined2 *)((longlong)puVar6 + 0x81) = *(undefined2 *)(lVar9 + 0x81); *(undefined1 *)((longlong)puVar6 + 0x83) = *(undefined1 *)(lVar9 + 0x83); puVar6 = puVar6 + 0x11; } puVar6 = (undefined8 *)*param_1; if (puVar6 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x11); param_1[2] = (longlong)(puVar7 + uVar10 * 0x11); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar6 != puVar7; puVar6 = puVar6 + 0x11) { (**(code **)*puVar6)(puVar6,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x88) * 0x88)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18093f4d0 size=478 ############ void FUN_18093f4d0(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; longlong lVar7; void *_Memory; ulonglong uVar8; undefined8 *puVar9; puVar9 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar3 = ((longlong)puVar9 - lVar4) / 0x58; uVar2 = (param_1[2] - lVar4) / 0x58; if (param_2 <= uVar2) { if (uVar3 < param_2) { lVar4 = param_2 - uVar3; if (lVar4 != 0) { puVar5 = puVar9 + 4; do { *puVar9 = pace::eden::thrift::pub::DeveloperDataRecord::vftable; *(undefined4 *)(puVar5 + -3) = 0; puVar5[-2] = 0; puVar5[-1] = 0; *puVar5 = 0; puVar5[1] = 0; puVar5[2] = 0; puVar5[3] = 0; puVar5[4] = 0; puVar5[5] = 0; *(undefined4 *)(puVar5 + 6) = 0; *(undefined1 *)((longlong)puVar5 + 0x34) = 0; puVar9 = puVar9 + 0xb; puVar5 = puVar5 + 0xb; lVar4 = lVar4 + -1; } while (lVar4 != 0); } param_1[1] = (longlong)puVar9; return; } if (param_2 != uVar3) { puVar6 = (undefined8 *)(param_2 * 0x58 + lVar4); for (puVar5 = puVar6; puVar5 != puVar9; puVar5 = puVar5 + 0xb) { (**(code **)*puVar5)(puVar5,0); } param_1[1] = (longlong)puVar6; } return; } if (0x2e8ba2e8ba2e8ba < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar8 = param_2; if ((uVar2 <= 0x2e8ba2e8ba2e8ba - (uVar2 >> 1)) && (uVar8 = uVar2 + (uVar2 >> 1), uVar8 < param_2) ) { uVar8 = param_2; } if ((uVar8 < 0x2e8ba2e8ba2e8bb) && (uVar8 * 0x58 < 0x1000)) { if (uVar8 * 0x58 == 0) { puVar9 = (undefined8 *)0x0; } else { puVar9 = (undefined8 *)FUN_1811316e0(); } } else { lVar4 = FUN_1811316e0(); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar9 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar9[-1] = lVar4; } puVar5 = puVar9 + uVar3 * 0xb; lVar4 = param_2 - uVar3; if (lVar4 != 0) { puVar6 = puVar5 + 4; do { *puVar5 = pace::eden::thrift::pub::DeveloperDataRecord::vftable; *(undefined4 *)(puVar6 + -3) = 0; puVar6[-2] = 0; puVar6[-1] = 0; *puVar6 = 0; puVar6[1] = 0; puVar6[2] = 0; puVar6[3] = 0; puVar6[4] = 0; puVar6[5] = 0; *(undefined4 *)(puVar6 + 6) = 0; *(undefined1 *)((longlong)puVar6 + 0x34) = 0; puVar5 = puVar5 + 0xb; puVar6 = puVar6 + 0xb; lVar4 = lVar4 + -1; } while (lVar4 != 0); } lVar4 = param_1[1]; puVar5 = puVar9; for (lVar7 = *param_1; lVar7 != lVar4; lVar7 = lVar7 + 0x58) { *puVar5 = pace::eden::thrift::pub::DeveloperDataRecord::vftable; *(undefined4 *)(puVar5 + 1) = *(undefined4 *)(lVar7 + 8); FUN_1805b46a0(puVar5 + 2,lVar7 + 0x10); FUN_1805b46a0(puVar5 + 5); *(undefined4 *)(puVar5 + 8) = *(undefined4 *)(lVar7 + 0x40); *(undefined4 *)((longlong)puVar5 + 0x44) = *(undefined4 *)(lVar7 + 0x44); *(undefined1 *)(puVar5 + 9) = *(undefined1 *)(lVar7 + 0x48); *(undefined1 *)((longlong)puVar5 + 0x49) = *(undefined1 *)(lVar7 + 0x49); *(undefined1 *)((longlong)puVar5 + 0x4a) = *(undefined1 *)(lVar7 + 0x4a); *(undefined1 *)((longlong)puVar5 + 0x4b) = *(undefined1 *)(lVar7 + 0x4b); *(undefined8 *)((longlong)puVar5 + 0x4c) = *(undefined8 *)(lVar7 + 0x4c); *(undefined1 *)((longlong)puVar5 + 0x54) = *(undefined1 *)(lVar7 + 0x54); puVar5 = puVar5 + 0xb; } puVar5 = (undefined8 *)*param_1; if (puVar5 != (undefined8 *)0x0) { puVar9 = (undefined8 *)param_1[1]; for (; puVar5 != puVar9; puVar5 = puVar5 + 0xb) { (**(code **)*puVar5)(puVar5,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x58) * 0x58)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = (longlong)puVar9; param_1[1] = (longlong)(puVar9 + param_2 * 0xb); param_1[2] = (longlong)(puVar9 + uVar8 * 0xb); return; } ############ FUN_ 18093faf0 size=654 ############ void FUN_18093faf0(longlong *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { void *pvVar1; longlong lVar2; ulonglong uVar3; ulonglong uVar4; void *_Memory; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; undefined8 local_res18; ulonglong local_res20; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; puVar10 = (undefined8 *)param_1[1]; lVar2 = *param_1; uVar5 = (longlong)puVar10 - lVar2 >> 6; uVar3 = param_1[2] - lVar2 >> 6; local_res18 = param_3; if (param_2 <= uVar3) { if (uVar5 < param_2) { lVar2 = FUN_180940290(&local_res18,puVar10,param_2 - uVar5); param_1[1] = lVar2; return; } if (param_2 != uVar5) { puVar7 = (undefined8 *)(param_2 * 0x40 + lVar2); for (puVar6 = puVar7; puVar6 != puVar10; puVar6 = puVar6 + 8) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (longlong)puVar7; } return; } if (0x3ffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar3 <= 0x3ffffffffffffff - (uVar3 >> 1)) && (uVar9 = (uVar3 >> 1) + uVar3, uVar9 < param_2) ) { uVar9 = param_2; } uVar3 = uVar9 << 6; local_res20 = uVar9; if (uVar9 < 0x400000000000000) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_18093fbdf; } } else { uVar3 = 0xffffffffffffffff; } uVar4 = uVar3 + 0x27; if (uVar4 <= uVar3) { uVar4 = 0xffffffffffffffff; } lVar2 = FUN_1811316e0(uVar4); if (lVar2 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar2 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar2; LAB_18093fbdf: FUN_180940290(&local_res18,puVar10 + uVar5 * 8,param_2 - uVar5,param_4,puVar10 + uVar5 * 8,puVar10 ,uVar11); lVar2 = param_1[1]; puVar6 = puVar10; for (lVar8 = *param_1; lVar8 != lVar2; lVar8 = lVar8 + 0x40) { *puVar6 = pace::eden::thrift::pub::WrapperAuthProduct::vftable; *(undefined4 *)(puVar6 + 1) = *(undefined4 *)(lVar8 + 8); *(undefined4 *)((longlong)puVar6 + 0xc) = *(undefined4 *)(lVar8 + 0xc); *(undefined1 *)(puVar6 + 2) = *(undefined1 *)(lVar8 + 0x10); *(undefined1 *)((longlong)puVar6 + 0x11) = *(undefined1 *)(lVar8 + 0x11); FUN_1805a4070(puVar6 + 3); *(undefined4 *)(puVar6 + 7) = *(undefined4 *)(lVar8 + 0x38); *(undefined1 *)((longlong)puVar6 + 0x3c) = *(undefined1 *)(lVar8 + 0x3c); puVar6 = puVar6 + 8; } puVar6 = (undefined8 *)*param_1; if (puVar6 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 8); param_1[2] = (longlong)(puVar10 + uVar9 * 8); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar6 != puVar10; puVar6 = puVar6 + 8) { (**(code **)*puVar6)(puVar6,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xffffffffffffffc0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18097d020 size=1558 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18097d020(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, int param_5) { DWORD DVar1; BOOL BVar2; longlong lVar3; HANDLE pvVar4; undefined8 uVar5; basic_ostream_> *pbVar6; basic_ostream_> *pbVar7; longlong lVar8; longlong lVar9; LPCSTR pCVar10; undefined1 auStackY_288 [32]; _FILETIME local_240; undefined8 local_238; undefined8 local_230; undefined ***local_228; int iStack_21c; undefined *local_218; undefined **local_210; basic_ostream_> local_208 [96]; undefined8 local_1a8; undefined4 local_1a0; basic_ios_> local_190 [104]; undefined8 local_128; _FILETIME local_120; _FILETIME local_118; _FILETIME local_110; undefined1 local_108 [32]; undefined1 local_e8 [64]; undefined1 local_a8 [32]; undefined1 local_88 [64]; ulonglong local_48; local_128 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStackY_288; lVar9 = 0; local_238 = param_2; local_230 = param_3; if (*(longlong *)(param_1 + 0x28) != -1) { FUN_1805a4160(local_108,"Called connect on connected pipe"); FUN_1805d6590(local_e8,2,local_108); /* WARNING: Subroutine does not return */ _CxxThrowException(local_e8,(ThrowInfo *)&DAT_1825fdc30); } if (param_5 < 0) { FUN_1805a4160(local_108,"Called connect with negative timeout value"); FUN_1805d6590(local_e8,6,local_108); /* WARNING: Subroutine does not return */ _CxxThrowException(local_e8,(ThrowInfo *)&DAT_1825fdc30); } lVar3 = lVar9; if (0 < param_5) { lVar3 = FUN_18097d770(); lVar3 = lVar3 + param_5; } while( true ) { if (lVar3 != 0) { pvVar4 = GetCurrentThread(); GetThreadTimes(pvVar4,&local_110,&local_118,&local_120,&local_240); if (lVar3 <= (longlong)((ulonglong)local_240 / 10000)) break; } pCVar10 = (LPCSTR)(param_1 + 8); if (0xf < *(ulonglong *)(param_1 + 0x20)) { pCVar10 = *(LPCSTR *)(param_1 + 8); } pvVar4 = CreateFileA(pCVar10,0xc0000000,0,(LPSECURITY_ATTRIBUTES)0x0,3,0x40000000,(HANDLE)0x0); *(HANDLE *)(param_1 + 0x28) = pvVar4; if (pvVar4 != (HANDLE)0xffffffffffffffff) break; DVar1 = GetLastError(); if ((DVar1 != 0xe7) && (DVar1 != 2)) { FUN_18060c1b0(&local_218,2,1); pbVar6 = (basic_ostream_> *)FUN_1805a0df0(&local_218,"Error "); pbVar7 = std::basic_ostream_>::operator<<(pbVar6,DVar1); uVar5 = FUN_1805a0df0(pbVar7," from CreateFile call for named pipe: "); FUN_180722580(uVar5,param_1 + 8); uVar5 = FUN_180721f10(&local_218,local_a8); uVar5 = FUN_1805f5000(uVar5); FUN_1805a4160(local_108,uVar5); FUN_1805d6590(local_e8,1,local_108); /* WARNING: Subroutine does not return */ _CxxThrowException(local_e8,(ThrowInfo *)&DAT_1825fdc30); } local_218 = &DAT_181bb3cc0; std::basic_ios_>::basic_ios_>(local_190) ; std::basic_ostream_>::basic_ostream_> ((basic_ostream_> *)&local_218, (basic_streambuf_> *)&local_210,false); *(undefined ***)((longlong)&local_218 + (longlong)*(int *)(local_218 + 4)) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)((longlong)&iStack_21c + (longlong)*(int *)(local_218 + 4)) = *(int *)(local_218 + 4) + -0x88; local_228 = &local_210; std::basic_streambuf_>:: basic_streambuf_> ((basic_streambuf_> *)&local_210); local_210 = std::basic_stringbuf,std::allocator_>::vftable; local_1a8 = 0; local_1a0 = 4; uVar5 = FUN_1805a0df0(&local_218,"Named pipe: "); lVar8 = param_1 + 8; if (0xf < *(ulonglong *)(param_1 + 0x20)) { lVar8 = *(longlong *)(param_1 + 8); } uVar5 = FUN_1805b0d80(uVar5,lVar8); FUN_1805a0df0(uVar5," not available yet. Waiting...\n"); *(undefined ***)((longlong)&local_218 + (longlong)*(int *)(local_218 + 4)) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)((longlong)&iStack_21c + (longlong)*(int *)(local_218 + 4)) = *(int *)(local_218 + 4) + -0x88; FUN_1805d0340(&local_210); std::basic_ostream_>::~basic_ostream_> (local_208); std::basic_ios_>::~basic_ios_> (local_190); if ((lVar3 == 0) && (DVar1 == 0xe7)) { pCVar10 = (LPCSTR)(param_1 + 8); if (0xf < *(ulonglong *)(param_1 + 0x20)) { pCVar10 = *(LPCSTR *)(param_1 + 8); } BVar2 = WaitNamedPipeA(pCVar10,0xffffffff); if ((BVar2 == 0) && (DVar1 = GetLastError(), DVar1 != 2)) { FUN_18060c1b0(&local_218,2,1); pbVar6 = (basic_ostream_> *)FUN_1805a0df0(&local_218,"Error "); pbVar7 = std::basic_ostream_>::operator<<(pbVar6,DVar1); uVar5 = FUN_1805a0df0(pbVar7," waiting to connect to named pipe: "); FUN_180722580(uVar5,param_1 + 8); uVar5 = FUN_180721f10(&local_218,local_a8); uVar5 = FUN_1805f5000(uVar5); FUN_1805a4160(local_108,uVar5); FUN_1805d6590(local_e8,1,local_108); /* WARNING: Subroutine does not return */ _CxxThrowException(local_e8,(ThrowInfo *)&DAT_1825fdc30); } } else { pCVar10 = (LPCSTR)(param_1 + 8); if (0xf < *(ulonglong *)(param_1 + 0x20)) { pCVar10 = *(LPCSTR *)(param_1 + 8); } BVar2 = WaitNamedPipeA(pCVar10,500); if (((BVar2 == 0) && (DVar1 = GetLastError(), DVar1 != 0x79)) && (DVar1 != 2)) { FUN_18060c1b0(&local_218,2,1); pbVar6 = (basic_ostream_> *)FUN_1805a0df0(&local_218,"Error "); pbVar7 = std::basic_ostream_>::operator<<(pbVar6,DVar1); uVar5 = FUN_1805a0df0(pbVar7," waiting with timeout to connect to named pipe: "); FUN_180722580(uVar5,param_1 + 8); FUN_180721f10(&local_218,local_a8); uVar5 = FUN_180721f10(&local_218,local_e8); uVar5 = FUN_1805f5000(uVar5); FUN_1805a4160(local_108,uVar5); FUN_1805d6590(local_88,1,local_108); /* WARNING: Subroutine does not return */ _CxxThrowException(local_88,(ThrowInfo *)&DAT_1825fdc30); } } } if ((0 < lVar3) && (lVar8 = FUN_18097d770(), lVar3 <= lVar8)) { FUN_18060c1b0(&local_218,2,1); uVar5 = FUN_1805a0df0(&local_218,"Timed out waiting to connect to named pipe: "); FUN_180722580(uVar5,param_1 + 8); uVar5 = FUN_180721f10(&local_218,local_e8); uVar5 = FUN_1805f5000(uVar5); FUN_1805a4160(local_108,uVar5); FUN_1805d6590(local_88,3,local_108); /* WARNING: Subroutine does not return */ _CxxThrowException(local_88,(ThrowInfo *)&DAT_1825fdc30); } local_228 = (undefined ***)FUN_1811316e0(0x28); if (local_228 != (undefined ***)0x0) { lVar9 = FUN_180726540(local_228,local_238,param_1 + 0x28); } FUN_1807264a0(param_1 + 0x30,lVar9); FUN_18097cd60(local_230,param_1 + 0x30); } ############ FUN_ 18097e3a0 size=546 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18097e3a0(uint *param_1,longlong *param_2) { int *piVar1; uint uVar2; longlong lVar3; BOOL BVar4; HANDLE pvVar5; undefined8 uVar6; undefined8 *puVar7; HANDLE hSourceProcessHandle; undefined1 auStackY_178 [32]; undefined8 *local_138; HANDLE local_130; undefined8 local_128; uint *local_120; undefined1 local_118 [80]; undefined1 local_c8 [80]; undefined1 local_78 [80]; ulonglong local_28; local_128 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStackY_178; local_120 = param_1; FUN_1805a9420(); if (*(longlong *)(param_1 + 0xc) == 0) { pvVar5 = CreateSemaphoreA((LPSECURITY_ATTRIBUTES)0x0,0,0x7fffffff,(LPCSTR)0x0); if (pvVar5 == (HANDLE)0x0) { uVar6 = FUN_1805a4cc0(local_118); /* WARNING: Subroutine does not return */ FUN_1805a3bf0(uVar6); } if ((longlong)*(HANDLE *)(param_1 + 0xc) - 1U < 0xfffffffffffffffe) { CloseHandle(*(HANDLE *)(param_1 + 0xc)); } *(HANDLE *)(param_1 + 0xc) = pvVar5; } param_1[4] = param_1[4] + 1; if ((*(longlong *)(param_1 + 6) == *(longlong *)(param_1 + 8)) || (lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + -8), *(char *)(lVar3 + 0x14) != '\0')) { puVar7 = (undefined8 *)FUN_1811316e0(0x20); if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { local_138 = puVar7; pvVar5 = CreateSemaphoreA((LPSECURITY_ATTRIBUTES)0x0,0,0x7fffffff,(LPCSTR)0x0); if (pvVar5 == (HANDLE)0x0) { uVar6 = FUN_1805a4cc0(local_c8); /* WARNING: Subroutine does not return */ FUN_1805a3bf0(uVar6); } *puVar7 = pvVar5; pvVar5 = *(HANDLE *)(param_1 + 0xc); hSourceProcessHandle = GetCurrentProcess(); local_130 = (HANDLE)0x0; BVar4 = DuplicateHandle(hSourceProcessHandle,pvVar5,hSourceProcessHandle,&local_130,0,0,2); if (BVar4 == 0) { uVar6 = FUN_1805a4cc0(local_78); /* WARNING: Subroutine does not return */ FUN_1805a3bf0(uVar6); } puVar7[1] = local_130; *(undefined4 *)(puVar7 + 2) = 1; *(undefined1 *)((longlong)puVar7 + 0x14) = 0; *(undefined4 *)(puVar7 + 3) = 0; } if (puVar7 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar7 + 3) = *(int *)(puVar7 + 3) + 1; UNLOCK(); } local_138 = puVar7; FUN_18097db40(param_1 + 6,&local_138); *param_2 = (longlong)local_138; LOCK(); uVar2 = *param_1; *param_1 = *param_1 + 0x80000000; UNLOCK(); if (((uVar2 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar2)) { LOCK(); uVar2 = *param_1; *param_1 = *param_1 | 0x40000000; UNLOCK(); if ((uVar2 >> 0x1e & 1) == 0) { pvVar5 = (HANDLE)FUN_1805a9100(param_1); SetEvent(pvVar5); } } } else { LOCK(); piVar1 = (int *)(lVar3 + 0x10); *piVar1 = *piVar1 + 1; UNLOCK(); lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + -8); *param_2 = lVar3; if (lVar3 != 0) { LOCK(); *(int *)(lVar3 + 0x18) = *(int *)(lVar3 + 0x18) + 1; UNLOCK(); } LOCK(); uVar2 = *param_1; *param_1 = *param_1 + 0x80000000; UNLOCK(); if (((uVar2 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar2)) { LOCK(); uVar2 = *param_1; *param_1 = *param_1 | 0x40000000; UNLOCK(); if ((uVar2 >> 0x1e & 1) == 0) { pvVar5 = (HANDLE)FUN_1805a9100(param_1); SetEvent(pvVar5); } } } } ############ FUN_ 18097db40 size=453 ############ void FUN_18097db40(ulonglong *param_1,longlong *param_2) { longlong *plVar1; void *pvVar2; code *pcVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; void *_Memory; longlong lVar7; ulonglong uVar8; ulonglong uVar9; undefined1 local_res18; longlong lVar10; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; plVar1 = (longlong *)param_1[1]; if ((longlong *)param_1[2] == plVar1) { lVar7 = (longlong)((longlong)plVar1 - *param_1) >> 3; if (lVar7 == 0x1fffffffffffffff) { FUN_1809284a0(); pcVar3 = (code *)swi(3); (*pcVar3)(); return; } uVar5 = lVar7 + 1; uVar6 = (longlong)((longlong)param_1[2] - *param_1) >> 3; uVar9 = uVar5; if ((uVar6 <= 0x1fffffffffffffff - (uVar6 >> 1)) && (uVar9 = (uVar6 >> 1) + uVar6, uVar9 < uVar5)) { uVar9 = uVar5; } uVar6 = uVar9; lVar10 = lVar7; if (uVar9 == 0) { uVar8 = 0; } else { if (0x1fffffffffffffff < uVar9) { /* WARNING: Subroutine does not return */ std::_Xbad_alloc(); } uVar8 = uVar9 * 8; if (uVar8 < 0x1000) { uVar8 = FUN_1811316e0(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } else { if (uVar8 + 0x27 <= uVar8) { /* WARNING: Subroutine does not return */ std::_Xbad_alloc(); } lVar4 = FUN_1811316e0(); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar8 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar8 - 8) = lVar4; } } lVar4 = *param_2; *(longlong *)(uVar8 + lVar7 * 8) = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 0x18) = *(int *)(lVar4 + 0x18) + 1; UNLOCK(); } FUN_18097d8d0(*param_1,param_1[1],uVar8,param_1,0,local_res18,uVar6,lVar10,uVar11); if (*param_1 != 0) { FUN_18097d840(*param_1,param_1[1],param_1); pvVar2 = (void *)*param_1; uVar5 = (longlong)(param_1[2] - (longlong)pvVar2) >> 3; if ((uVar5 < 0x2000000000000000) && ((_Memory = pvVar2, uVar5 * 8 < 0x1000 || (((((ulonglong)pvVar2 & 0x1f) == 0 && (_Memory = *(void **)((longlong)pvVar2 - 8), _Memory < pvVar2)) && ((ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)) < 0x20)))))) { /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } *param_1 = uVar8; param_1[1] = uVar8 + uVar5 * 8; param_1[2] = uVar8 + uVar9 * 8; } else { lVar7 = *param_2; *plVar1 = lVar7; if (lVar7 != 0) { LOCK(); *(int *)(lVar7 + 0x18) = *(int *)(lVar7 + 0x18) + 1; UNLOCK(); } param_1[1] = param_1[1] + 8; } return; } ############ FUN_ 18097ef40 size=117 ############ void FUN_18097ef40(undefined8 *param_1) { undefined8 *puVar1; undefined4 *puVar2; puVar1 = (undefined8 *)FUN_1811316e0(0x10); if (puVar1 == (undefined8 *)0x0) { *param_1 = 0; } else { *puVar1 = apache::thrift::concurrency::Mutex::impl::BoostMutexAdapter::vftable; puVar2 = (undefined4 *)FUN_1811316e0(0x10); if (puVar2 != (undefined4 *)0x0) { *puVar2 = 0; *(undefined8 *)(puVar2 + 2) = 0; } puVar1[1] = puVar2; *param_1 = puVar1; } return; } ############ FUN_ 18099c900 size=77 ############ undefined8 * FUN_18099c900(undefined8 param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x128); if (puVar1 != (undefined8 *)0x0) { FUN_1806d2580(puVar1,param_1); *puVar1 = pace::IlokUsbException::vftable; return puVar1; } return (undefined8 *)0x0; } ############ FUN_ 18099e400 size=131 ############ undefined8 * FUN_18099e400(undefined8 param_1) { undefined8 *puVar1; longlong lVar2; puVar1 = (undefined8 *)FUN_1811316e0(0x130); if (puVar1 != (undefined8 *)0x0) { FUN_1806d2580(puVar1,param_1); *puVar1 = pace::IlokFirmwareException::vftable; *(undefined4 *)(puVar1 + 0x25) = 99; lVar2 = __RTDynamicCast(param_1,0,&pace::PaceException::RTTI_Type_Descriptor, &pace::IlokFirmwareException::RTTI_Type_Descriptor,1); *(undefined4 *)(puVar1 + 0x25) = *(undefined4 *)(lVar2 + 0x128); return puVar1; } return (undefined8 *)0x0; } ############ FUN_ 18099f490 size=12683 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Removing unreachable block (ram,0x00018099f5ed) */ /* WARNING: Removing unreachable block (ram,0x00018099f588) */ /* WARNING: Removing unreachable block (ram,0x00018099f569) */ /* WARNING: Removing unreachable block (ram,0x00018099f644) */ /* WARNING: Removing unreachable block (ram,0x00018099f6a5) */ /* WARNING: Removing unreachable block (ram,0x00018099f517) */ void FUN_18099f490(void) { ulonglong uVar1; longlong lVar2; undefined8 uVar3; undefined8 *puVar4; uint uVar5; uint uVar6; uint uVar7; int iVar8; int iVar9; undefined8 *puVar10; int unaff_retaddr; undefined1 auStack_13c8 [48]; longlong **local_1398; undefined8 local_1390; undefined8 local_1388; longlong *local_1370; longlong lStack_1368; ulonglong local_1360; ulonglong local_1358; longlong local_1350; undefined8 local_1340; undefined4 local_1330; undefined4 local_132c; undefined4 local_1328; undefined4 local_1324; undefined4 local_1320; undefined4 local_131c; undefined4 local_1318; undefined4 local_1314; undefined4 local_1310; undefined4 local_130c; undefined4 local_1308; undefined4 local_1304; undefined4 local_1300; undefined4 local_12fc; undefined4 local_12f8; undefined4 local_12f4; undefined4 local_12f0; undefined4 local_12ec; undefined4 local_12e8; undefined4 local_12e4; undefined4 local_12e0; undefined4 local_12dc; undefined4 local_12d8; undefined4 local_12d4; undefined4 local_12d0; undefined4 local_12cc; undefined4 local_12c8; undefined4 local_12c4; undefined4 local_12c0; undefined4 local_12bc; undefined4 local_12b8; undefined4 local_12b4; undefined4 local_12b0; undefined4 local_12ac; undefined4 local_12a8; undefined4 local_12a4; undefined4 local_12a0; undefined4 local_129c; undefined4 local_1298; undefined4 local_1294; undefined4 local_1290; undefined4 local_128c; undefined4 local_1288; undefined4 local_1284; undefined4 local_1280; undefined4 local_127c; undefined4 local_1278; undefined4 local_1274; undefined4 local_1270; undefined4 local_126c; undefined4 local_1268; undefined4 local_1264; undefined4 local_1260; undefined4 local_125c; undefined4 local_1258; undefined4 local_1254; undefined4 local_1250; undefined4 local_124c; undefined4 local_1248; undefined4 local_1244; undefined4 local_1240; undefined4 local_123c; undefined4 local_1238; undefined4 local_1234; undefined4 local_1230; undefined4 local_122c; undefined4 local_1228; undefined4 local_1224; undefined4 local_1220; undefined4 local_121c; undefined4 local_1218; undefined4 local_1214; undefined4 local_1210; undefined4 local_120c; undefined4 local_1208; undefined4 local_1204; undefined4 local_1200; undefined4 local_11fc; undefined4 local_11f8; undefined4 local_11f4; undefined4 local_11f0; undefined4 local_11ec; undefined4 local_11e8; undefined4 local_11e4; undefined4 local_11e0; undefined4 local_11dc; undefined4 local_11d8; undefined4 local_11d4; undefined4 local_11d0; undefined4 local_11cc; undefined4 local_11c8; undefined4 local_11c4; undefined4 local_11c0; undefined4 local_11bc; undefined4 local_11b8; undefined4 local_11b4; undefined4 local_11b0; undefined4 local_11ac; undefined4 local_11a8; undefined4 local_11a4; undefined4 local_11a0; undefined4 local_119c; undefined4 local_1198; undefined4 local_1194; undefined4 local_1190; undefined4 local_118c; undefined4 local_1188; undefined4 local_1184; undefined4 local_1180; undefined4 local_117c; undefined4 local_1178; undefined4 local_1174; undefined4 local_1170; undefined4 local_116c; undefined4 local_1168; undefined4 local_1164; undefined4 local_1160; undefined4 local_115c; undefined4 local_1158; undefined4 local_1154; undefined4 local_1150; undefined4 local_114c; undefined4 local_1148; undefined4 local_1144; undefined4 local_1140; undefined4 local_113c; undefined4 local_1138; undefined4 local_1134; undefined4 local_1130; undefined4 local_112c; undefined4 local_1128; undefined4 local_1124; undefined4 local_1120; undefined4 local_111c; undefined4 local_1118; undefined4 local_1114; undefined4 local_1110; undefined4 local_110c; undefined4 local_1108; undefined4 local_1104; undefined4 local_1100; undefined4 local_10fc; undefined4 local_10f8; undefined4 local_10f4; undefined4 local_10f0; undefined4 local_10ec; undefined4 local_10e8; undefined4 local_10e4; undefined4 local_10e0; undefined4 local_10dc; undefined4 local_10d8; undefined4 local_10d4; undefined4 local_10d0; undefined4 local_10cc; undefined4 local_10c8; undefined4 local_10c4; undefined4 local_10c0; undefined4 local_10bc; undefined4 local_10b8; undefined4 local_10b4; undefined4 local_10b0; undefined4 local_10ac; undefined4 local_10a8; undefined4 local_10a4; undefined4 local_10a0; undefined4 local_109c; undefined4 local_1098; undefined4 local_1094; undefined4 local_1090; undefined4 local_108c; undefined4 local_1088; undefined4 local_1084; undefined4 local_1080; undefined4 local_107c; undefined4 local_1078; undefined4 local_1074; undefined4 local_1070; undefined4 local_106c; undefined4 local_1068; undefined4 local_1064; undefined4 local_1060; undefined4 local_105c; undefined4 local_1058; undefined4 local_1054; undefined4 local_1050; undefined4 local_104c; undefined4 local_1048; undefined4 local_1044; undefined4 local_1040; undefined4 local_103c; undefined4 local_1038; undefined4 local_1034; undefined4 local_1030; undefined4 local_102c; undefined4 local_1028; undefined4 local_1024; undefined4 local_1020; undefined4 local_101c; undefined4 local_1018; undefined4 local_1014; undefined4 local_1010; undefined4 local_100c; undefined4 local_1008; undefined4 local_1004; undefined4 local_1000; undefined4 local_ffc; undefined4 local_ff8; undefined4 local_ff4; undefined4 local_ff0; undefined4 local_fec; undefined4 local_fe8; undefined4 local_fe4; undefined4 local_fe0; undefined4 local_fdc; undefined4 local_fd8; undefined4 local_fd4; undefined4 local_fd0; undefined4 local_fcc; undefined4 local_fc8; undefined4 local_fc4; undefined4 local_fc0; undefined4 local_fbc; undefined4 local_fb8; undefined4 local_fb4; undefined4 local_fb0; undefined4 local_fac; undefined4 local_fa8; undefined4 local_fa4; undefined4 local_fa0; undefined4 local_f9c; undefined4 local_f98; undefined4 local_f94; undefined4 local_f90; undefined4 local_f8c; undefined4 local_f88; undefined4 local_f84; undefined4 local_f80; undefined4 local_f7c; undefined4 local_f78; undefined4 local_f74; undefined4 local_f70; undefined4 local_f6c; undefined4 local_f68; undefined4 local_f64; undefined4 local_f60; undefined4 local_f5c; undefined4 local_f58; undefined4 local_f54; undefined4 local_f50; undefined4 local_f4c; undefined4 local_f48; undefined4 local_f44; undefined4 local_f40; undefined4 local_f3c; undefined4 local_f38; undefined4 local_f34; undefined4 local_f30; undefined4 local_f2c; undefined4 local_f28; undefined4 local_f24; undefined4 local_f20; undefined4 local_f1c; undefined4 local_f18; undefined4 local_f14; undefined4 local_f10; undefined4 local_f0c; undefined4 local_f08; undefined4 local_f04; undefined4 local_f00; undefined4 local_efc; undefined4 local_ef8; undefined4 local_ef4; undefined4 local_ef0; undefined4 local_eec; undefined4 local_ee8; undefined4 local_ee4; undefined4 local_ee0; undefined4 local_edc; undefined4 local_ed8; undefined4 local_ed4; undefined4 local_ed0; undefined4 local_ecc; undefined4 local_ec8; undefined4 local_ec4; undefined4 local_ec0; undefined4 local_ebc; undefined4 local_eb8; undefined4 local_eb4; undefined4 local_eb0; undefined4 local_eac; undefined4 local_ea8; undefined4 local_ea4; undefined4 local_ea0; undefined4 local_e9c; undefined4 local_e98; undefined4 local_e94; undefined4 local_e90; undefined4 local_e8c; undefined4 local_e88; undefined4 local_e84; undefined4 local_e80; undefined4 local_e7c; undefined4 local_e78; undefined4 local_e74; undefined4 local_e70; undefined4 local_e6c; undefined4 local_e68; undefined4 local_e64; undefined4 local_e60; undefined4 local_e5c; undefined4 local_e58; undefined4 local_e54; undefined4 local_e50; undefined4 local_e4c; undefined4 local_e48; undefined4 local_e44; undefined4 local_e40; undefined4 local_e3c; undefined4 local_e38; undefined4 local_e34; undefined4 local_e30; undefined4 local_e2c; undefined4 local_e28; undefined4 local_e24; undefined4 local_e20; undefined4 local_e1c; undefined4 local_e18; undefined4 local_e14; undefined4 local_e10; undefined4 local_e0c; undefined4 local_e08; undefined4 local_e04; undefined4 local_e00; undefined4 local_dfc; undefined4 local_df8; undefined4 local_df4; undefined4 local_df0; undefined4 local_dec; undefined4 local_de8; undefined4 local_de4; undefined4 local_de0; undefined4 local_ddc; undefined4 local_dd8; undefined4 local_dd4; undefined4 local_dd0; undefined4 local_dcc; undefined4 local_dc8; undefined4 local_dc4; undefined4 local_dc0; undefined4 local_dbc; undefined4 local_db8; undefined4 local_db4; undefined4 local_db0; undefined4 local_dac; undefined4 local_da8; undefined4 local_da4; undefined4 local_da0; undefined4 local_d9c; undefined4 local_d98; undefined4 local_d94; undefined4 local_d90; undefined4 local_d8c; undefined4 local_d88; undefined4 local_d84; undefined4 local_d80; undefined4 local_d7c; undefined4 local_d78; undefined4 local_d74; undefined4 local_d70; undefined4 local_d6c; undefined4 local_d68; undefined4 local_d64; undefined4 local_d60; undefined4 local_d5c; undefined4 local_d58; undefined4 local_d54; undefined4 local_d50; undefined4 local_d4c; undefined4 local_d48; undefined4 local_d44; undefined4 local_d40; undefined4 local_d3c; undefined4 local_d38; undefined4 local_d34; undefined4 local_d30; undefined4 local_d2c; undefined4 local_d28; undefined4 local_d24; undefined4 local_d20; undefined4 local_d1c; undefined4 local_d18; undefined4 local_d14; undefined4 local_d10; undefined4 local_d0c; undefined4 local_d08; undefined4 local_d04; undefined4 local_d00; undefined4 local_cfc; undefined4 local_cf8; undefined4 local_cf4; undefined4 local_cf0; undefined4 local_cec; undefined4 local_ce8; undefined4 local_ce4; undefined4 local_ce0; undefined4 local_cdc; undefined4 local_cd8; undefined4 local_cd4; undefined4 local_cd0; undefined4 local_ccc; undefined4 local_cc8; undefined4 local_cc4; undefined4 local_cc0; undefined4 local_cbc; undefined4 local_cb8; undefined4 local_cb4; undefined4 local_cb0; undefined4 local_cac; undefined4 local_ca8; undefined4 local_ca4; undefined4 local_ca0; undefined4 local_c9c; undefined4 local_c98; undefined4 local_c94; undefined4 local_c90; undefined4 local_c8c; undefined4 local_c88; undefined4 local_c84; undefined4 local_c80; undefined4 local_c7c; undefined4 local_c78; undefined4 local_c74; undefined4 local_c70; undefined4 local_c6c; undefined4 local_c68; undefined4 local_c64; undefined4 local_c60; undefined4 local_c5c; undefined4 local_c58; undefined4 local_c54; undefined4 local_c50; undefined4 local_c4c; undefined4 local_c48; undefined4 local_c44; undefined4 local_c40; undefined4 local_c3c; undefined4 local_c38; undefined4 local_c34; undefined4 local_c30; undefined4 local_c2c; undefined4 local_c28; undefined4 local_c24; undefined4 local_c20; undefined4 local_c1c; undefined4 local_c18; undefined4 local_c14; undefined4 local_c10; undefined4 local_c0c; undefined4 local_c08; undefined4 local_c04; undefined4 local_c00; undefined4 local_bfc; undefined4 local_bf8; undefined4 local_bf4; undefined4 local_bf0; undefined4 local_bec; undefined4 local_be8; undefined4 local_be4; undefined4 local_be0; undefined4 local_bdc; undefined4 local_bd8; undefined4 local_bd4; undefined4 local_bd0; undefined4 local_bcc; undefined4 local_bc8; undefined4 local_bc4; undefined4 local_bc0; undefined4 local_bbc; undefined4 local_bb8; undefined4 local_bb4; undefined4 local_bb0; undefined4 local_bac; undefined4 local_ba8; undefined4 local_ba4; undefined4 local_ba0; undefined4 local_b9c; undefined4 local_b98; undefined4 local_b94; undefined4 local_b90; undefined4 local_b8c; undefined4 local_b88; undefined4 local_b84; undefined4 local_b80; undefined4 local_b7c; undefined4 local_b78; undefined4 local_b74; undefined4 local_b70; undefined4 local_b6c; undefined4 local_b68; undefined4 local_b64; undefined4 local_b60; undefined4 local_b5c; undefined4 local_b58; undefined4 local_b54; undefined4 local_b50; undefined4 local_b4c; undefined4 local_b48; undefined4 local_b44; undefined4 local_b40; undefined4 local_b3c; undefined4 local_b38; undefined4 local_b34; undefined4 local_b30; undefined4 local_b2c; undefined4 local_b28; undefined4 local_b24; undefined4 local_b20; undefined4 local_b1c; undefined4 local_b18; undefined4 local_b14; undefined4 local_b10; undefined4 local_b0c; undefined4 local_b08; undefined4 local_b04; undefined4 local_b00; undefined4 local_afc; undefined4 local_af8; undefined4 local_af4; undefined4 local_af0; undefined4 local_aec; undefined4 local_ae8; undefined4 local_ae4; undefined4 local_ae0; undefined4 local_adc; undefined4 local_ad8; undefined4 local_ad4; undefined4 local_ad0; undefined4 local_acc; undefined4 local_ac8; undefined4 local_ac4; undefined4 local_ac0; undefined4 local_abc; undefined4 local_ab8; undefined4 local_ab4; undefined4 local_ab0; undefined4 local_aac; undefined4 local_aa8; undefined4 local_aa4; undefined4 local_aa0; undefined4 local_a9c; undefined4 local_a98; undefined4 local_a94; undefined4 local_a90; undefined4 local_a8c; undefined4 local_a88; undefined4 local_a84; undefined4 local_a80; undefined4 local_a7c; undefined4 local_a78; undefined4 local_a74; undefined4 local_a70; undefined4 local_a6c; undefined4 local_a68; undefined4 local_a64; undefined4 local_a60; undefined4 local_a5c; undefined4 local_a58; undefined4 local_a54; undefined4 local_a50; undefined4 local_a4c; undefined4 local_a48; undefined4 local_a44; undefined4 local_a40; undefined4 local_a3c; undefined4 local_a38; undefined4 local_a34; undefined4 local_a30; undefined4 local_a2c; undefined4 local_a28; undefined4 local_a24; undefined4 local_a20; undefined4 local_a1c; undefined4 local_a18; undefined4 local_a14; undefined4 local_a10; undefined4 local_a0c; undefined4 local_a08; undefined4 local_a04; undefined4 local_a00; undefined4 local_9fc; undefined4 local_9f8; undefined4 local_9f4; undefined4 local_9f0; undefined4 local_9ec; undefined4 local_9e8; undefined4 local_9e4; undefined4 local_9e0; undefined4 local_9dc; undefined4 local_9d8; undefined4 local_9d4; undefined4 local_9d0; undefined4 local_9cc; undefined4 local_9c8; undefined4 local_9c4; undefined4 local_9c0; undefined4 local_9bc; undefined4 local_9b8; undefined4 local_9b4; undefined4 local_9b0; undefined4 local_9ac; undefined4 local_9a8; undefined4 local_9a4; undefined4 local_9a0; undefined4 local_99c; undefined4 local_998; undefined4 local_994; undefined4 local_990; undefined4 local_98c; undefined4 local_988; undefined4 local_984; undefined4 local_980; undefined4 local_97c; undefined4 local_978; undefined4 local_974; undefined4 local_970; undefined4 local_96c; undefined4 local_968; undefined4 local_964; undefined4 local_960; undefined4 local_95c; undefined4 local_958; undefined4 local_954; undefined4 local_950; undefined4 local_94c; undefined4 local_948; undefined4 local_944; undefined4 local_940; undefined4 local_93c; undefined4 local_938; undefined4 local_934; undefined4 local_930; undefined4 local_92c; undefined4 local_928; undefined4 local_924; undefined4 local_920; undefined4 local_91c; undefined4 local_918; undefined4 local_914; undefined4 local_910; undefined4 local_90c; undefined4 local_908; undefined4 local_904; undefined4 local_900; undefined4 local_8fc; undefined4 local_8f8; undefined4 local_8f4; undefined4 local_8f0; undefined4 local_8ec; undefined4 local_8e8; undefined4 local_8e4; undefined4 local_8e0; undefined4 local_8dc; undefined4 local_8d8; undefined4 local_8d4; undefined4 local_8d0; undefined4 local_8cc; undefined4 local_8c8; undefined4 local_8c4; undefined4 local_8c0; undefined4 local_8bc; undefined4 local_8b8; undefined4 local_8b4; undefined4 local_8b0; undefined4 local_8ac; undefined4 local_8a8; undefined4 local_8a4; undefined4 local_8a0; undefined4 local_89c; undefined4 local_898; undefined4 local_894; undefined4 local_890; undefined4 local_88c; undefined4 local_888; undefined4 local_884; undefined4 local_880; undefined4 local_87c; undefined4 local_878; undefined4 local_874; undefined4 local_870; undefined4 local_86c; undefined4 local_868; undefined4 local_864; undefined4 local_860; undefined4 local_85c; undefined4 local_858; undefined4 local_854; undefined4 local_850; undefined4 local_84c; undefined4 local_848; undefined4 local_844; undefined4 local_840; undefined4 local_83c; undefined4 local_838; undefined4 local_834; undefined4 local_830; undefined4 local_82c; undefined4 local_828; undefined4 local_824; undefined4 local_820; undefined4 local_81c; undefined4 local_818; undefined4 local_814; undefined4 local_810; undefined4 local_80c; undefined4 local_808; undefined4 local_804; undefined4 local_800; undefined4 local_7fc; undefined4 local_7f8; undefined4 local_7f4; undefined4 local_7f0; undefined4 local_7ec; undefined4 local_7e8; undefined4 local_7e4; undefined4 local_7e0; undefined4 local_7dc; undefined4 local_7d8; undefined4 local_7d4; undefined4 local_7d0; undefined4 local_7cc; undefined4 local_7c8; undefined4 local_7c4; undefined4 local_7c0; undefined4 local_7bc; undefined4 local_7b8; undefined4 local_7b4; undefined4 local_7b0; undefined4 local_7ac; undefined4 local_7a8; undefined4 local_7a4; undefined4 local_7a0; undefined4 local_79c; undefined4 local_798; undefined4 local_794; undefined4 local_790; undefined4 local_78c; undefined4 local_788; undefined4 local_784; undefined4 local_780; undefined4 local_77c; undefined4 local_778; undefined4 local_774; undefined4 local_770; undefined4 local_76c; undefined4 local_768; undefined4 local_764; undefined4 local_760; undefined4 local_75c; undefined4 local_758; undefined4 local_754; undefined4 local_750; undefined4 local_74c; undefined4 local_748; undefined4 local_744; undefined4 local_740; undefined4 local_73c; undefined4 local_738; undefined4 local_734; undefined4 local_730; undefined4 local_72c; undefined4 local_728; undefined4 local_724; undefined4 local_720; undefined4 local_71c; undefined4 local_718; undefined4 local_714; undefined4 local_710; undefined4 local_70c; undefined4 local_708; undefined4 local_704; undefined4 local_700; undefined4 local_6fc; undefined4 local_6f8; undefined4 local_6f4; undefined4 local_6f0; undefined4 local_6ec; undefined4 local_6e8; undefined4 local_6e4; undefined4 local_6e0; undefined4 local_6dc; undefined4 local_6d8; undefined4 local_6d4; undefined4 local_6d0; undefined4 local_6cc; undefined4 local_6c8; undefined4 local_6c4; undefined4 local_6c0; undefined4 local_6bc; undefined4 local_6b8; undefined4 local_6b4; undefined4 local_6b0; undefined4 local_6ac; undefined4 local_6a8; undefined4 local_6a4; undefined4 local_6a0; undefined4 local_69c; undefined4 local_698; undefined4 local_694; undefined4 local_690; undefined4 local_68c; undefined4 local_688; undefined4 local_684; undefined4 local_680; undefined4 local_67c; undefined4 local_678; undefined4 local_674; undefined4 local_670; undefined4 local_66c; undefined4 local_668; undefined4 local_664; undefined4 local_660; undefined4 local_65c; undefined4 local_658; undefined4 local_654; undefined4 local_650; undefined4 local_64c; undefined4 local_648; undefined4 local_644; undefined4 local_640; undefined4 local_63c; undefined4 local_638; undefined4 local_634; undefined4 local_630; undefined4 local_62c; undefined4 local_628; undefined4 local_624; undefined4 local_620; undefined4 local_61c; undefined4 local_618; undefined4 local_614; undefined4 local_610; undefined4 local_60c; undefined4 local_608; undefined4 local_604; undefined4 local_600; undefined4 local_5fc; undefined4 local_5f8; undefined4 local_5f4; undefined4 local_5f0; undefined4 local_5ec; undefined4 local_5e8; undefined4 local_5e4; undefined4 local_5e0; undefined4 local_5dc; undefined4 local_5d8; undefined4 local_5d4; undefined4 local_5d0; undefined4 local_5cc; undefined4 local_5c8; undefined4 local_5c4; undefined4 local_5c0; undefined4 local_5bc; undefined4 local_5b8; undefined4 local_5b4; undefined4 local_5b0; undefined4 local_5ac; undefined4 local_5a8; undefined4 local_5a4; undefined4 local_5a0; undefined4 local_59c; undefined4 local_598; undefined4 local_594; undefined4 local_590; undefined4 local_58c; undefined4 local_588; undefined4 local_584; undefined4 local_580; undefined4 local_57c; undefined4 local_578; undefined4 local_574; undefined4 local_570; undefined4 local_56c; undefined4 local_568; undefined4 local_564; undefined4 local_560; undefined4 local_55c; undefined4 local_558; undefined4 local_554; undefined4 local_550; undefined4 local_54c; undefined4 local_548; undefined4 local_544; undefined4 local_540; undefined4 local_53c; undefined4 local_538; undefined4 local_534; undefined4 local_530; undefined4 local_52c; undefined4 local_528; undefined4 local_524; undefined4 local_520; undefined4 local_51c; undefined4 local_518; undefined4 local_514; undefined4 local_510; undefined4 local_50c; undefined4 local_508; undefined4 local_504; undefined4 local_500; undefined4 local_4fc; undefined4 local_4f8; undefined4 local_4f4; undefined4 local_4f0; undefined4 local_4ec; undefined4 local_4e8; undefined4 local_4e4; undefined4 local_4e0; undefined4 local_4dc; undefined4 local_4d8; undefined4 local_4d4; undefined4 local_4d0; undefined4 local_4cc; undefined4 local_4c8; undefined4 local_4c4; undefined4 local_4c0; undefined4 local_4bc; undefined4 local_4b8; undefined4 local_4b4; undefined4 local_4b0; undefined4 local_4ac; undefined4 local_4a8; undefined4 local_4a4; undefined4 local_4a0; undefined4 local_49c; undefined4 local_498; undefined4 local_494; undefined4 local_490; undefined4 local_48c; undefined4 local_488; undefined4 local_484; undefined4 local_480; undefined4 local_47c; undefined4 local_478; undefined4 local_474; undefined4 local_470; undefined4 local_46c; undefined4 local_468; undefined4 local_464; undefined4 local_460; undefined4 local_45c; undefined4 local_458; undefined4 local_454; undefined4 local_450; undefined4 local_44c; undefined4 local_448; undefined4 local_444; undefined4 local_440; undefined4 local_43c; undefined4 local_438; undefined4 local_434; undefined4 local_430; undefined4 local_42c; undefined4 local_428; undefined4 local_424; undefined4 local_420; undefined4 local_41c; undefined4 local_418; undefined4 local_414; undefined4 local_410; undefined4 local_40c; undefined4 local_408; undefined4 local_404; undefined4 local_400; undefined4 local_3fc; undefined4 local_3f8; undefined4 local_3f4; undefined4 local_3f0; undefined4 local_3ec; undefined4 local_3e8; undefined4 local_3e4; undefined4 local_3e0; undefined4 local_3dc; undefined4 local_3d8; undefined4 local_3d4; undefined4 local_3d0; undefined4 local_3cc; undefined4 local_3c8; undefined4 local_3c4; undefined4 local_3c0; undefined4 local_3bc; undefined4 local_3b8; undefined4 local_3b4; undefined4 local_3b0; undefined4 local_3ac; undefined4 local_3a8; undefined4 local_3a4; undefined4 local_3a0; undefined4 local_39c; undefined4 local_398; undefined4 local_394; undefined4 local_390; undefined4 local_38c; undefined4 local_388; undefined4 local_384; undefined4 local_380; undefined4 local_37c; undefined4 local_378; undefined4 local_374; undefined4 local_370; undefined4 local_36c; undefined4 local_368; undefined4 local_364; undefined4 local_360; undefined4 local_35c; undefined4 local_358; undefined4 local_354; undefined4 local_350; undefined4 local_34c; undefined4 local_348; undefined4 local_344; undefined4 local_340; undefined4 local_33c; undefined4 local_338; undefined4 local_334; undefined4 local_330; undefined4 local_32c; undefined4 local_328; undefined4 local_324; undefined4 local_320; undefined4 local_31c; undefined4 local_318; undefined4 local_314; undefined4 local_310; undefined4 local_30c; undefined4 local_308; undefined4 local_304; undefined4 local_300; undefined4 local_2fc; undefined4 local_2f8; undefined4 local_2f4; undefined4 local_2f0; undefined4 local_2ec; undefined4 local_2e8; undefined4 local_2e4; undefined4 local_2e0; undefined4 local_2dc; undefined4 local_2d8; undefined4 local_2d4; undefined4 local_2d0; undefined4 local_2cc; undefined4 local_2c8; undefined4 local_2c4; undefined4 local_2c0; undefined4 local_2bc; undefined4 local_2b8; undefined4 local_2b4; undefined4 local_2b0; undefined4 local_2ac; undefined4 local_2a8; undefined4 local_2a4; undefined4 local_2a0; undefined4 local_29c; undefined4 local_298; undefined4 local_294; undefined4 local_290; undefined4 local_28c; undefined4 local_288; undefined4 local_284; undefined4 local_280; undefined4 local_27c; undefined4 local_278; undefined4 local_274; undefined4 local_270; undefined4 local_26c; undefined4 local_268; undefined4 local_264; undefined4 local_260; undefined4 local_25c; undefined4 local_258; undefined4 local_254; undefined4 local_250; undefined4 local_24c; undefined4 local_248; undefined4 local_244; undefined4 local_240; undefined4 local_23c; undefined4 local_238; undefined4 local_234; undefined4 local_230; undefined4 local_22c; undefined4 local_228; undefined4 local_224; undefined4 local_220; undefined4 local_21c; undefined4 local_218; undefined4 local_214; undefined4 local_210; undefined4 local_20c; undefined4 local_208; undefined4 local_204; undefined4 local_200; undefined4 local_1fc; undefined4 local_1f8; undefined4 local_1f4; undefined4 local_1f0; undefined4 local_1ec; undefined4 local_1e8; undefined4 local_1e4; undefined4 local_1e0; undefined4 local_1dc; undefined4 local_1d8; undefined4 local_1d4; undefined4 local_1d0; undefined4 local_1cc; undefined4 local_1c8; undefined4 local_1c4; undefined4 local_1c0; undefined4 local_1bc; undefined4 local_1b8; undefined4 local_1b4; undefined4 local_1b0; undefined4 local_1ac; undefined4 local_1a8; undefined4 local_1a4; undefined4 local_1a0; uint local_198; undefined4 local_194; uint local_190; undefined4 local_18c; undefined4 local_188; undefined4 local_184; undefined4 local_180; undefined4 local_17c; undefined4 local_178; longlong *local_170; undefined8 uStack_168; undefined8 local_160; undefined8 local_158; undefined8 local_150; longlong *local_148; undefined8 local_140; longlong local_138; longlong *local_130; undefined8 local_128; ulonglong local_120; undefined8 local_78; undefined8 local_70; undefined8 local_68; undefined8 uStack_60; undefined8 local_58; undefined8 uStack_50; ulonglong local_30; local_78 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_13c8; uVar6 = (uint)&stack0x00000000; uVar7 = uVar6 & 0x1ff; uVar5 = ((uVar6 & 0x33ff) * (uVar6 & 0x33ff) + 1) % 7; local_190 = ((int)(-uVar5 | uVar5) >> 0x1f) * -0x256e ^ ((int)(((uVar7 + 2) * (uVar7 + 1) * uVar7) % 3) >> 1 | 0x2a9eU); uVar7 = uVar6 & 0x3ff; iVar8 = (uVar7 + 2) * (uVar7 + 1) * uVar7; if (((ulonglong)&stack0x00000000 & 0x350) == 0) { iVar9 = 0; } else { uVar6 = uVar6 & 0x2bf; iVar9 = (uVar6 + 2) * (uVar6 + 1) * uVar6; iVar9 = ((iVar9 >> 1) - (iVar9 >> 3)) + iVar9 * 0x55555555 >> 0x1e; } local_198 = 0xcce3U - iVar9 ^ 0xcc73U - (((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e); puVar10 = (undefined8 *)0x0; if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_18266e680) && (_Init_thread_header(&DAT_18266e680), DAT_18266e680 == -1)) { puVar4 = (undefined8 *)FUN_1811316e0(0x10); local_1398 = (longlong **)puVar4; if (puVar4 != (undefined8 *)0x0) { *puVar4 = 0; puVar4[1] = 0; uVar3 = FUN_18060cad0(puVar4); *puVar4 = uVar3; puVar10 = puVar4; } DAT_18266e678 = puVar10; _Init_thread_footer(&DAT_18266e680); } do { /* WARNING: Call to offcut address within same function */ func_0x0001809a10e2(0xda00); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { /* WARNING: Call to offcut address within same function */ func_0x0001809a10e2(0xda00); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_1398 = (longlong **)0x0; local_1390 = 0x3ff00; local_1340 = 0x18190e004; local_1388 = 0x18194df04; local_1a4 = 0x10000; local_1a0 = 0x10000; local_1ac = 1; local_1a8 = 1; local_1b4 = 0xc045; local_1b0 = 0xc045; local_1bc = 0xc044; local_1b8 = 0xc044; local_1c4 = 0xc043; local_1c0 = 0xc043; local_1cc = 0xc041; local_1c8 = 0xc041; local_1d4 = 0xc040; local_1d0 = 0xc040; local_1dc = 0xc000; local_1d8 = 0xc000; local_1e4 = 0x8000; local_1e0 = 0x8000; local_1ec = 0x4000; local_1e8 = 0x4000; local_1f4 = 0x2716; local_1f0 = 0x2716; local_1fc = 0x2715; local_1f8 = 0x2715; local_204 = 0x2714; local_200 = 0x2714; local_20c = 0x2713; local_208 = 0x2713; local_214 = 0x2712; local_210 = 0x2712; local_21c = 0x2711; local_218 = 0x2711; local_224 = 10000; local_220 = 10000; local_22c = 0x612; local_228 = 0x612; local_234 = 0x611; local_230 = 0x611; local_23c = 0x610; local_238 = 0x610; local_244 = 0x60f; local_240 = 0x60f; local_24c = 0x60e; local_248 = 0x60e; local_254 = 0x60d; local_250 = 0x60d; local_25c = 0x60c; local_258 = 0x60c; local_264 = 0x60b; local_260 = 0x60b; local_26c = 0x60a; local_268 = 0x60a; local_274 = 0x609; local_270 = 0x609; local_27c = 0x608; local_278 = 0x608; local_284 = 0x607; local_280 = 0x607; local_28c = 0x606; local_288 = 0x606; local_294 = 0x605; local_290 = 0x605; local_29c = 0x604; local_298 = 0x604; local_2a4 = 0x603; local_2a0 = 0x603; local_2ac = 0x602; local_2a8 = 0x602; local_2b4 = 0x601; local_2b0 = 0x601; local_2bc = 0x600; local_2b8 = 0x600; local_2c4 = 0x5ff; local_2c0 = 0x5ff; local_2cc = 0x5fe; local_2c8 = 0x5fe; local_2d4 = 0x5fd; local_2d0 = 0x5fd; local_2dc = 0x5fc; local_2d8 = 0x5fc; local_2e4 = 0x5fb; local_2e0 = 0x5fb; local_2ec = 0x5fa; local_2e8 = 0x5fa; local_2f4 = 0x5f9; local_2f0 = 0x5f9; local_2fc = 0x5f8; local_2f8 = 0x5f8; local_304 = 0x5f7; local_300 = 0x5f7; local_30c = 0x5f6; local_308 = 0x5f6; local_314 = 0x5f5; local_310 = 0x5f5; local_31c = 0x5f4; local_318 = 0x5f4; local_324 = 0x5f3; local_320 = 0x5f3; local_32c = 0x5f2; local_328 = 0x5f2; local_334 = 0x5f1; local_330 = 0x5f1; local_33c = 0x5f0; local_338 = 0x5f0; local_344 = 0x5ef; local_340 = 0x5ef; local_34c = 0x5ee; local_348 = 0x5ee; local_354 = 0x5ed; local_350 = 0x5ed; local_35c = 0x5ec; local_358 = 0x5ec; local_364 = 0x5eb; local_360 = 0x5eb; local_36c = 0x5ea; local_368 = 0x5ea; local_374 = 0x5e9; local_370 = 0x5e9; local_37c = 0x5e8; local_378 = 0x5e8; local_384 = 0x5e7; local_380 = 0x5e7; local_38c = 0x5e6; local_388 = 0x5e6; local_394 = 0x5e5; local_390 = 0x5e5; local_39c = 0x5e4; local_398 = 0x5e4; local_3a4 = 0x5e3; local_3a0 = 0x5e3; local_3ac = 0x5e2; local_3a8 = 0x5e2; local_3b4 = 0x5e1; local_3b0 = 0x5e1; local_3bc = 0x5e0; local_3b8 = 0x5e0; local_3c4 = 0x5df; local_3c0 = 0x5df; local_3cc = 0x5de; local_3c8 = 0x5de; local_3d4 = 0x5dd; local_3d0 = 0x5dd; local_3dc = 0x5dc; local_3d8 = 0x5dc; local_3e4 = 0x57c; local_3e0 = 0x57c; local_3ec = 0x57b; local_3e8 = 0x57b; local_3f4 = 0x57a; local_3f0 = 0x57a; local_3fc = 0x579; local_3f8 = 0x579; local_404 = 0x578; local_400 = 0x578; local_40c = 0x518; local_408 = 0x518; local_414 = 0x517; local_410 = 0x517; local_41c = 0x516; local_418 = 0x516; local_424 = 0x515; local_420 = 0x515; local_42c = 0x514; local_428 = 0x514; local_434 = 0x4c1; local_430 = 0x4c1; local_43c = 0x4c0; local_438 = 0x4c0; local_444 = 0x4bf; local_440 = 0x4bf; local_44c = 0x4be; local_448 = 0x4be; local_454 = 0x4bd; local_450 = 0x4bd; local_45c = 0x4bc; local_458 = 0x4bc; local_464 = 0x4bb; local_460 = 0x4bb; local_46c = 0x4ba; local_468 = 0x4ba; local_474 = 0x4b9; local_470 = 0x4b9; local_47c = 0x4b8; local_478 = 0x4b8; local_484 = 0x4b7; local_480 = 0x4b7; local_48c = 0x4b6; local_488 = 0x4b6; local_494 = 0x4b5; local_490 = 0x4b5; local_49c = 0x4b4; local_498 = 0x4b4; local_4a4 = 0x4b3; local_4a0 = 0x4b3; local_4ac = 0x4b2; local_4a8 = 0x4b2; local_4b4 = 0x4b1; local_4b0 = 0x4b1; local_4bc = 0x4b0; local_4b8 = 0x4b0; local_4c4 = 0x4af; local_4c0 = 0x4af; local_4cc = 0x4ae; local_4c8 = 0x4ae; local_4d4 = 0x4ad; local_4d0 = 0x4ad; local_4dc = 0x4ac; local_4d8 = 0x4ac; local_4e4 = 0x4ab; local_4e0 = 0x4ab; local_4ec = 0x4aa; local_4e8 = 0x4aa; local_4f4 = 0x4a9; local_4f0 = 0x4a9; local_4fc = 0x4a8; local_4f8 = 0x4a8; local_504 = 0x4a7; local_500 = 0x4a7; local_50c = 0x4a6; local_508 = 0x4a6; local_514 = 0x4a5; local_510 = 0x4a5; local_51c = 0x4a4; local_518 = 0x4a4; local_524 = 0x4a3; local_520 = 0x4a3; local_52c = 0x4a2; local_528 = 0x4a2; local_534 = 0x4a1; local_530 = 0x4a1; local_53c = 0x4a0; local_538 = 0x4a0; local_544 = 0x49f; local_540 = 0x49f; local_54c = 0x49e; local_548 = 0x49e; local_554 = 0x49d; local_550 = 0x49d; local_55c = 0x49c; local_558 = 0x49c; local_564 = 0x49b; local_560 = 0x49b; local_56c = 0x49a; local_568 = 0x49a; local_574 = 0x499; local_570 = 0x499; local_57c = 0x498; local_578 = 0x498; local_584 = 0x497; local_580 = 0x497; local_58c = 0x496; local_588 = 0x496; local_594 = 0x495; local_590 = 0x495; local_59c = 0x494; local_598 = 0x494; local_5a4 = 0x493; local_5a0 = 0x493; local_5ac = 0x492; local_5a8 = 0x492; local_5b4 = 0x491; local_5b0 = 0x491; local_5bc = 0x490; local_5b8 = 0x490; local_5c4 = 0x48f; local_5c0 = 0x48f; local_5cc = 0x48e; local_5c8 = 0x48e; local_5d4 = 0x48d; local_5d0 = 0x48d; local_5dc = 0x48c; local_5d8 = 0x48c; local_5e4 = 0x48b; local_5e0 = 0x48b; local_5ec = 0x48a; local_5e8 = 0x48a; local_5f4 = 0x489; local_5f0 = 0x489; local_5fc = 0x488; local_5f8 = 0x488; local_604 = 0x487; local_600 = 0x487; local_60c = 0x486; local_608 = 0x486; local_614 = 0x485; local_610 = 0x485; local_61c = 0x484; local_618 = 0x484; local_624 = 0x483; local_620 = 0x483; local_62c = 0x482; local_628 = 0x482; local_634 = 0x481; local_630 = 0x481; local_63c = 0x480; local_638 = 0x480; local_644 = 0x47f; local_640 = 0x47f; local_64c = 0x47e; local_648 = 0x47e; local_654 = 0x47d; local_650 = 0x47d; local_65c = 0x47c; local_658 = 0x47c; local_664 = 0x47b; local_660 = 0x47b; local_66c = 0x47a; local_668 = 0x47a; local_674 = 0x479; local_670 = 0x479; local_67c = 0x478; local_678 = 0x478; local_684 = 0x477; local_680 = 0x477; local_68c = 0x476; local_688 = 0x476; local_694 = 0x475; local_690 = 0x475; local_69c = 0x474; local_698 = 0x474; local_6a4 = 0x473; local_6a0 = 0x473; local_6ac = 0x472; local_6a8 = 0x472; local_6b4 = 0x471; local_6b0 = 0x471; local_6bc = 0x470; local_6b8 = 0x470; local_6c4 = 0x46f; local_6c0 = 0x46f; local_6cc = 0x46e; local_6c8 = 0x46e; local_6d4 = 0x46d; local_6d0 = 0x46d; local_6dc = 0x46c; local_6d8 = 0x46c; local_6e4 = 0x46b; local_6e0 = 0x46b; local_6ec = 0x46a; local_6e8 = 0x46a; local_6f4 = 0x469; local_6f0 = 0x469; local_6fc = 0x468; local_6f8 = 0x468; local_704 = 0x467; local_700 = 0x467; local_70c = 0x466; local_708 = 0x466; local_714 = 0x465; local_710 = 0x465; local_71c = 0x464; local_718 = 0x464; local_724 = 0x463; local_720 = 0x463; local_72c = 0x462; local_728 = 0x462; local_734 = 0x461; local_730 = 0x461; local_73c = 0x460; local_738 = 0x460; local_744 = 0x45f; local_740 = 0x45f; local_74c = 0x45e; local_748 = 0x45e; local_754 = 0x45d; local_750 = 0x45d; local_75c = 0x45c; local_758 = 0x45c; local_764 = 0x45b; local_760 = 0x45b; local_76c = 0x45a; local_768 = 0x45a; local_774 = 0x459; local_770 = 0x459; local_77c = 0x458; local_778 = 0x458; local_784 = 0x457; local_780 = 0x457; local_78c = 0x456; local_788 = 0x456; local_794 = 0x455; local_790 = 0x455; local_79c = 0x454; local_798 = 0x454; local_7a4 = 0x453; local_7a0 = 0x453; local_7ac = 0x452; local_7a8 = 0x452; local_7b4 = 0x451; local_7b0 = 0x451; local_7bc = 0x450; local_7b8 = 0x450; local_7c4 = 0x44f; local_7c0 = 0x44f; local_7cc = 0x44e; local_7c8 = 0x44e; local_7d4 = 0x44d; local_7d0 = 0x44d; local_7dc = 0x44c; local_7d8 = 0x44c; local_7e4 = 1099; local_7e0 = 1099; local_7ec = 0x44a; local_7e8 = 0x44a; local_7f4 = 0x449; local_7f0 = 0x449; local_7fc = 0x448; local_7f8 = 0x448; local_804 = 0x447; local_800 = 0x447; local_80c = 0x446; local_808 = 0x446; local_814 = 0x445; local_810 = 0x445; local_81c = 0x444; local_818 = 0x444; local_824 = 0x443; local_820 = 0x443; local_82c = 0x442; local_828 = 0x442; local_834 = 0x441; local_830 = 0x441; local_83c = 0x440; local_838 = 0x440; local_844 = 0x43f; local_840 = 0x43f; local_84c = 0x43e; local_848 = 0x43e; local_854 = 0x43d; local_850 = 0x43d; local_85c = 0x43c; local_858 = 0x43c; local_864 = 0x43b; local_860 = 0x43b; local_86c = 0x43a; local_868 = 0x43a; local_874 = 0x439; local_870 = 0x439; local_87c = 0x438; local_878 = 0x438; local_884 = 0x437; local_880 = 0x437; local_88c = 0x436; local_888 = 0x436; local_894 = 0x435; local_890 = 0x435; local_89c = 0x434; local_898 = 0x434; local_8a4 = 0x433; local_8a0 = 0x433; local_8ac = 0x432; local_8a8 = 0x432; local_8b4 = 0x431; local_8b0 = 0x431; local_8bc = 0x430; local_8b8 = 0x430; local_8c4 = 0x42f; local_8c0 = 0x42f; local_8cc = 0x42e; local_8c8 = 0x42e; local_8d4 = 0x42d; local_8d0 = 0x42d; local_8dc = 0x42c; local_8d8 = 0x42c; local_8e4 = 0x42b; local_8e0 = 0x42b; local_8ec = 0x42a; local_8e8 = 0x42a; local_8f4 = 0x429; local_8f0 = 0x429; local_8fc = 0x428; local_8f8 = 0x428; local_904 = 0x427; local_900 = 0x427; local_90c = 0x426; local_908 = 0x426; local_914 = 0x425; local_910 = 0x425; local_91c = 0x424; local_918 = 0x424; local_924 = 0x423; local_920 = 0x423; local_92c = 0x422; local_928 = 0x422; local_934 = 0x421; local_930 = 0x421; local_93c = 0x420; local_938 = 0x420; local_944 = 0x41f; local_940 = 0x41f; local_94c = 0x41e; local_948 = 0x41e; local_954 = 0x41d; local_950 = 0x41d; local_95c = 0x41c; local_958 = 0x41c; local_964 = 0x41b; local_960 = 0x41b; local_96c = 0x41a; local_968 = 0x41a; local_974 = 0x419; local_970 = 0x419; local_97c = 0x418; local_978 = 0x418; local_984 = 0x417; local_980 = 0x417; local_98c = 0x416; local_988 = 0x416; local_994 = 0x415; local_990 = 0x415; local_99c = 0x414; local_998 = 0x414; local_9a4 = 0x413; local_9a0 = 0x413; local_9ac = 0x412; local_9a8 = 0x412; local_9b4 = 0x411; local_9b0 = 0x411; local_9bc = 0x410; local_9b8 = 0x410; local_9c4 = 0x40f; local_9c0 = 0x40f; local_9cc = 0x40e; local_9c8 = 0x40e; local_9d4 = 0x40d; local_9d0 = 0x40d; local_9dc = 0x40c; local_9d8 = 0x40c; local_9e4 = 0x40b; local_9e0 = 0x40b; local_9ec = 0x40a; local_9e8 = 0x40a; local_9f4 = 0x409; local_9f0 = 0x409; local_9fc = 0x408; local_9f8 = 0x408; local_a04 = 0x407; local_a00 = 0x407; local_a0c = 0x406; local_a08 = 0x406; local_a14 = 0x405; local_a10 = 0x405; local_a1c = 0x404; local_a18 = 0x404; local_a24 = 0x403; local_a20 = 0x403; local_a2c = 0x402; local_a28 = 0x402; local_a34 = 0x401; local_a30 = 0x401; local_a3c = 0x400; local_a38 = 0x400; local_a44 = 0x3ff; local_a40 = 0x3ff; local_a4c = 0x3fe; local_a48 = 0x3fe; local_a54 = 0x3fd; local_a50 = 0x3fd; local_a5c = 0x3fc; local_a58 = 0x3fc; local_a64 = 0x3fb; local_a60 = 0x3fb; local_a6c = 0x3fa; local_a68 = 0x3fa; local_a74 = 0x3f9; local_a70 = 0x3f9; local_a7c = 0x3f8; local_a78 = 0x3f8; local_a84 = 0x3f7; local_a80 = 0x3f7; local_a8c = 0x3f6; local_a88 = 0x3f6; local_a94 = 0x3f5; local_a90 = 0x3f5; local_a9c = 0x3f4; local_a98 = 0x3f4; local_aa4 = 0x3f3; local_aa0 = 0x3f3; local_aac = 0x3f2; local_aa8 = 0x3f2; local_ab4 = 0x3f1; local_ab0 = 0x3f1; local_abc = 0x3f0; local_ab8 = 0x3f0; local_ac4 = 0x3ef; local_ac0 = 0x3ef; local_acc = 0x3ee; local_ac8 = 0x3ee; local_ad4 = 0x3ed; local_ad0 = 0x3ed; local_adc = 0x3ec; local_ad8 = 0x3ec; local_ae4 = 0x3eb; local_ae0 = 0x3eb; local_aec = 0x3ea; local_ae8 = 0x3ea; local_af4 = 0x3e9; local_af0 = 0x3e9; local_afc = 1000; local_af8 = 1000; local_b04 = 0x3cf; local_b00 = 0x3cf; local_b0c = 0x3ce; local_b08 = 0x3ce; local_b14 = 0x3cd; local_b10 = 0x3cd; local_b1c = 0x3cc; local_b18 = 0x3cc; local_b24 = 0x3cb; local_b20 = 0x3cb; local_b2c = 0x3ca; local_b28 = 0x3ca; local_b34 = 0x3c9; local_b30 = 0x3c9; local_b3c = 0x3c8; local_b38 = 0x3c8; local_b44 = 0x3c7; local_b40 = 0x3c7; local_b4c = 0x3c6; local_b48 = 0x3c6; local_b54 = 0x3c5; local_b50 = 0x3c5; local_b5c = 0x3c4; local_b58 = 0x3c4; local_b64 = 0x3c3; local_b60 = 0x3c3; local_b6c = 0x3c2; local_b68 = 0x3c2; local_b74 = 0x3c1; local_b70 = 0x3c1; local_b7c = 0x3c0; local_b78 = 0x3c0; local_b84 = 0x3bf; local_b80 = 0x3bf; local_b8c = 0x3be; local_b88 = 0x3be; local_b94 = 0x3bd; local_b90 = 0x3bd; local_b9c = 0x3bc; local_b98 = 0x3bc; local_ba4 = 0x3bb; local_ba0 = 0x3bb; local_bac = 0x3ba; local_ba8 = 0x3ba; local_bb4 = 0x3b9; local_bb0 = 0x3b9; local_bbc = 0x3b8; local_bb8 = 0x3b8; local_bc4 = 0x3b7; local_bc0 = 0x3b7; local_bcc = 0x3b6; local_bc8 = 0x3b6; local_bd4 = 0x3b5; local_bd0 = 0x3b5; local_bdc = 0x3b4; local_bd8 = 0x3b4; local_be4 = 0x3b3; local_be0 = 0x3b3; local_bec = 0x3b2; local_be8 = 0x3b2; local_bf4 = 0x3b1; local_bf0 = 0x3b1; local_bfc = 0x3b0; local_bf8 = 0x3b0; local_c04 = 0x3af; local_c00 = 0x3af; local_c0c = 0x3ae; local_c08 = 0x3ae; local_c14 = 0x3ad; local_c10 = 0x3ad; local_c1c = 0x3ac; local_c18 = 0x3ac; local_c24 = 0x3ab; local_c20 = 0x3ab; local_c2c = 0x3aa; local_c28 = 0x3aa; local_c34 = 0x3a9; local_c30 = 0x3a9; local_c3c = 0x3a8; local_c38 = 0x3a8; local_c44 = 0x3a7; local_c40 = 0x3a7; local_c4c = 0x3a6; local_c48 = 0x3a6; local_c54 = 0x3a5; local_c50 = 0x3a5; local_c5c = 0x3a4; local_c58 = 0x3a4; local_c64 = 0x3a3; local_c60 = 0x3a3; local_c6c = 0x3a2; local_c68 = 0x3a2; local_c74 = 0x3a1; local_c70 = 0x3a1; local_c7c = 0x3a0; local_c78 = 0x3a0; local_c84 = 0x39f; local_c80 = 0x39f; local_c8c = 0x39e; local_c88 = 0x39e; local_c94 = 0x39d; local_c90 = 0x39d; local_c9c = 0x39c; local_c98 = 0x39c; local_ca4 = 0x39b; local_ca0 = 0x39b; local_cac = 0x39a; local_ca8 = 0x39a; local_cb4 = 0x399; local_cb0 = 0x399; local_cbc = 0x397; local_cb8 = 0x397; local_cc4 = 0x396; local_cc0 = 0x396; local_ccc = 0x395; local_cc8 = 0x395; local_cd4 = 0x394; local_cd0 = 0x394; local_cdc = 0x393; local_cd8 = 0x393; local_ce4 = 0x392; local_ce0 = 0x392; local_cec = 0x391; local_ce8 = 0x391; local_cf4 = 0x390; local_cf0 = 0x390; local_cfc = 0x38f; local_cf8 = 0x38f; local_d04 = 0x38e; local_d00 = 0x38e; local_d0c = 0x38d; local_d08 = 0x38d; local_d14 = 0x38c; local_d10 = 0x38c; local_d1c = 0x38b; local_d18 = 0x38b; local_d24 = 0x38a; local_d20 = 0x38a; local_d2c = 0x389; local_d28 = 0x389; local_d34 = 0x388; local_d30 = 0x388; local_d3c = 0x387; local_d38 = 0x387; local_d44 = 0x386; local_d40 = 0x386; local_d4c = 0x385; local_d48 = 0x385; local_d54 = 900; local_d50 = 900; local_d5c = 0x341; local_d58 = 0x341; local_d64 = 0x340; local_d60 = 0x340; local_d6c = 0x33f; local_d68 = 0x33f; local_d74 = 0x33e; local_d70 = 0x33e; local_d7c = 0x33d; local_d78 = 0x33d; local_d84 = 0x33c; local_d80 = 0x33c; local_d8c = 0x33b; local_d88 = 0x33b; local_d94 = 0x33a; local_d90 = 0x33a; local_d9c = 0x339; local_d98 = 0x339; local_da4 = 0x338; local_da0 = 0x338; local_dac = 0x337; local_da8 = 0x337; local_db4 = 0x336; local_db0 = 0x336; local_dbc = 0x335; local_db8 = 0x335; local_dc4 = 0x334; local_dc0 = 0x334; local_dcc = 0x333; local_dc8 = 0x333; local_dd4 = 0x332; local_dd0 = 0x332; local_ddc = 0x331; local_dd8 = 0x331; local_de4 = 0x330; local_de0 = 0x330; local_dec = 0x32f; local_de8 = 0x32f; local_df4 = 0x32e; local_df0 = 0x32e; local_dfc = 0x32d; local_df8 = 0x32d; local_e04 = 0x32c; local_e00 = 0x32c; local_e0c = 0x32b; local_e08 = 0x32b; local_e14 = 0x32a; local_e10 = 0x32a; local_e1c = 0x329; local_e18 = 0x329; local_e24 = 0x328; local_e20 = 0x328; local_e2c = 0x327; local_e28 = 0x327; local_e34 = 0x326; local_e30 = 0x326; local_e3c = 0x325; local_e38 = 0x325; local_e44 = 0x324; local_e40 = 0x324; local_e4c = 0x322; local_e48 = 0x322; local_e54 = 0x321; local_e50 = 0x321; local_e5c = 800; local_e58 = 800; local_e64 = 0x2c5; local_e60 = 0x2c5; local_e6c = 0x2c4; local_e68 = 0x2c4; local_e74 = 0x2c3; local_e70 = 0x2c3; local_e7c = 0x2c2; local_e78 = 0x2c2; local_e84 = 0x2c1; local_e80 = 0x2c1; local_e8c = 0x2c0; local_e88 = 0x2c0; local_e94 = 0x2bf; local_e90 = 0x2bf; local_e9c = 0x2be; local_e98 = 0x2be; local_ea4 = 0x2bd; local_ea0 = 0x2bd; local_eac = 700; local_ea8 = 700; local_eb4 = 0x260; local_eb0 = 0x260; local_ebc = 0x25f; local_eb8 = 0x25f; local_ec4 = 0x25e; local_ec0 = 0x25e; local_ecc = 0x25d; local_ec8 = 0x25d; local_ed4 = 0x25c; local_ed0 = 0x25c; local_edc = 0x25b; local_ed8 = 0x25b; local_ee4 = 0x25a; local_ee0 = 0x25a; local_eec = 0x259; local_ee8 = 0x259; local_ef4 = 600; local_ef0 = 600; local_efc = 0x1fb; local_ef8 = 0x1fb; local_f04 = 0x1fa; local_f00 = 0x1fa; local_f0c = 0x1f9; local_f08 = 0x1f9; local_f14 = 0x1f8; local_f10 = 0x1f8; local_f1c = 0x1f7; local_f18 = 0x1f7; local_f24 = 0x1f6; local_f20 = 0x1f6; local_f2c = 0x1f5; local_f28 = 0x1f5; local_f34 = 500; local_f30 = 500; local_f3c = 0x1a8; local_f38 = 0x1a8; local_f44 = 0x1a7; local_f40 = 0x1a7; local_f4c = 0x1a6; local_f48 = 0x1a6; local_f54 = 0x1a5; local_f50 = 0x1a5; local_f5c = 0x1a4; local_f58 = 0x1a4; local_f64 = 0x1a3; local_f60 = 0x1a3; local_f6c = 0x1a2; local_f68 = 0x1a2; local_f74 = 0x1a1; local_f70 = 0x1a1; local_f7c = 0x1a0; local_f78 = 0x1a0; local_f84 = 0x19f; local_f80 = 0x19f; local_f8c = 0x19e; local_f88 = 0x19e; local_f94 = 0x19d; local_f90 = 0x19d; local_f9c = 0x19c; local_f98 = 0x19c; local_fa4 = 0x19b; local_fa0 = 0x19b; local_fac = 0x19a; local_fa8 = 0x19a; local_fb4 = 0x199; local_fb0 = 0x199; local_fbc = 0x198; local_fb8 = 0x198; local_fc4 = 0x197; local_fc0 = 0x197; local_fcc = 0x196; local_fc8 = 0x196; local_fd4 = 0x195; local_fd0 = 0x195; local_fdc = 0x194; local_fd8 = 0x194; local_fe4 = 0x193; local_fe0 = 0x193; local_fec = 0x192; local_fe8 = 0x192; local_ff4 = 0x191; local_ff0 = 0x191; local_ffc = 400; local_ff8 = 400; local_1004 = 0x183; local_1000 = 0x183; local_100c = 0x182; local_1008 = 0x182; local_1014 = 0x181; local_1010 = 0x181; local_101c = 0x180; local_1018 = 0x180; local_1024 = 0x17f; local_1020 = 0x17f; local_102c = 0x17e; local_1028 = 0x17e; local_1034 = 0x17d; local_1030 = 0x17d; local_103c = 0x17c; local_1038 = 0x17c; local_1044 = 0x17b; local_1040 = 0x17b; local_104c = 0x17a; local_1048 = 0x17a; local_1054 = 0x179; local_1050 = 0x179; local_105c = 0x178; local_1058 = 0x178; local_1064 = 0x177; local_1060 = 0x177; local_106c = 0x176; local_1068 = 0x176; local_1074 = 0x175; local_1070 = 0x175; local_107c = 0x174; local_1078 = 0x174; local_1084 = 0x173; local_1080 = 0x173; local_108c = 0x172; local_1088 = 0x172; local_1094 = 0x171; local_1090 = 0x171; local_109c = 0x170; local_1098 = 0x170; local_10a4 = 0x16f; local_10a0 = 0x16f; local_10ac = 0x16e; local_10a8 = 0x16e; local_10b4 = 0x16d; local_10b0 = 0x16d; local_10bc = 0x16c; local_10b8 = 0x16c; local_10c4 = 0x16b; local_10c0 = 0x16b; local_10cc = 0x16a; local_10c8 = 0x16a; local_10d4 = 0x169; local_10d0 = 0x169; local_10dc = 0x168; local_10d8 = 0x168; local_10e4 = 0x167; local_10e0 = 0x167; local_10ec = 0x166; local_10e8 = 0x166; local_10f4 = 0x165; local_10f0 = 0x165; local_10fc = 0x164; local_10f8 = 0x164; local_1104 = 0x163; local_1100 = 0x163; local_110c = 0x162; local_1108 = 0x162; local_1114 = 0x161; local_1110 = 0x161; local_111c = 0x160; local_1118 = 0x160; local_1124 = 0x15f; local_1120 = 0x15f; local_112c = 0x15e; local_1128 = 0x15e; local_1134 = 0x15d; local_1130 = 0x15d; local_113c = 0x15c; local_1138 = 0x15c; local_1144 = 0x15b; local_1140 = 0x15b; local_114c = 0x15a; local_1148 = 0x15a; local_1154 = 0x159; local_1150 = 0x159; local_115c = 0x158; local_1158 = 0x158; local_1164 = 0x157; local_1160 = 0x157; local_116c = 0x156; local_1168 = 0x156; local_1174 = 0x155; local_1170 = 0x155; local_117c = 0x154; local_1178 = 0x154; local_1184 = 0x153; local_1180 = 0x153; local_118c = 0x152; local_1188 = 0x152; local_1194 = 0x151; local_1190 = 0x151; local_119c = 0x150; local_1198 = 0x150; local_11a4 = 0x14f; local_11a0 = 0x14f; local_11ac = 0x14e; local_11a8 = 0x14e; local_11b4 = 0x14d; local_11b0 = 0x14d; local_11bc = 0x14c; local_11b8 = 0x14c; local_11c4 = 0x14b; local_11c0 = 0x14b; local_11cc = 0x14a; local_11c8 = 0x14a; local_11d4 = 0x149; local_11d0 = 0x149; local_11dc = 0x148; local_11d8 = 0x148; local_11e4 = 0x147; local_11e0 = 0x147; local_11ec = 0x146; local_11e8 = 0x146; local_11f4 = 0x145; local_11f0 = 0x145; local_11fc = 0x144; local_11f8 = 0x144; local_1204 = 0x143; local_1200 = 0x143; local_120c = 0x142; local_1208 = 0x142; local_1214 = 0x141; local_1210 = 0x141; local_121c = 0x140; local_1218 = 0x140; local_1224 = 0x13f; local_1220 = 0x13f; local_122c = 0x13e; local_1228 = 0x13e; local_1234 = 0x13d; local_1230 = 0x13d; local_123c = 0x13c; local_1238 = 0x13c; local_1244 = 0x13b; local_1240 = 0x13b; local_124c = 0x13a; local_1248 = 0x13a; local_1254 = 0x139; local_1250 = 0x139; local_125c = 0x138; local_1258 = 0x138; local_1264 = 0x137; local_1260 = 0x137; local_126c = 0x136; local_1268 = 0x136; local_1274 = 0x135; local_1270 = 0x135; local_127c = 0x134; local_1278 = 0x134; local_1284 = 0x133; local_1280 = 0x133; local_128c = 0x132; local_1288 = 0x132; local_1294 = 0x131; local_1290 = 0x131; local_129c = 0x130; local_1298 = 0x130; local_12a4 = 0x12f; local_12a0 = 0x12f; local_12ac = 0x12e; local_12a8 = 0x12e; local_12b4 = 0x12d; local_12b0 = 0x12d; local_12bc = 300; local_12b8 = 300; local_12c4 = 0xcb; local_12c0 = 0xcb; local_12cc = 0xca; local_12c8 = 0xca; local_12d4 = 0xc9; local_12d0 = 0xc9; local_12dc = 200; local_12d8 = 200; local_12e4 = 0x71; local_12e0 = 0x71; local_12ec = 0x70; local_12e8 = 0x70; local_12f4 = 0x6f; local_12f0 = 0x6f; local_12fc = 0x6e; local_12f8 = 0x6e; local_1304 = 0x6d; local_1300 = 0x6d; local_130c = 0x6c; local_1308 = 0x6c; local_1314 = 0x6b; local_1310 = 0x6b; local_131c = 0x6a; local_1318 = 0x6a; local_1324 = 0x69; local_1320 = 0x69; local_132c = 0x68; local_1328 = 0x68; local_178 = 0x67; local_1330 = 0x67; local_180 = 0x66; local_17c = 0x66; local_188 = 0x65; local_184 = 0x65; local_194 = 100; local_18c = 100; local_1370 = (longlong *)0x0; lStack_1368 = 0; local_1360 = 0; local_1358 = 0; local_1350 = 0; local_1370 = (longlong *)FUN_1811316e0(0x10); local_68 = 0; uStack_60 = 0; *local_1370 = 0; local_1370[1] = 0; *local_1370 = (longlong)&local_1370; local_1390 = 0x6300000063; local_70 = 0x6300000063; if ((((int)local_1358 + (int)local_1350 & 1U) == 0) && (local_1360 <= local_1350 + 2U >> 1)) { FUN_1807ec1f0(&local_1370,1); } local_1358 = local_1358 & local_1360 * 2 - 1; uVar1 = local_1350 + local_1358; lVar2 = (local_1360 - 1 & uVar1 >> 1) * 8; if (*(longlong *)(lStack_1368 + lVar2) == 0) { uVar3 = FUN_1811316e0(0x10); *(undefined8 *)(lStack_1368 + lVar2) = uVar3; } *(undefined8 *)(*(longlong *)(lStack_1368 + lVar2) + (ulonglong)((uint)uVar1 & 1) * 8) = 0x6300000063; local_1350 = local_1350 + 1; local_1398 = &local_170; local_170 = (longlong *)0x0; uStack_168 = 0; local_160 = 0; local_158 = 0; local_150 = 0; local_170 = (longlong *)FUN_1811316e0(0x10); local_58 = 0; uStack_50 = 0; *local_170 = 0; local_170[1] = 0; *local_170 = (longlong)&local_170; local_138 = local_1350 + local_1358; local_140 = 0; local_148 = local_1370; local_128 = 0; local_120 = local_1358; local_130 = local_1370; FUN_1807ea970(&local_170,&local_130,&local_148); FUN_1807ec3f0(&local_1370); /* WARNING: Subroutine does not return */ free(local_1370); } ############ FUN_ 1809cabc0 size=1025 ############ void FUN_1809cabc0(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; void *_Memory; ulonglong uVar9; undefined8 *puVar10; puVar10 = (undefined8 *)param_1[1]; lVar6 = *param_1; lVar4 = ((longlong)puVar10 - lVar6) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)puVar10 - lVar6),8); uVar9 = (lVar4 >> 8) - (lVar4 >> 0x3f); lVar4 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - lVar6),8) + (param_1[2] - lVar6); uVar5 = (lVar4 >> 8) - (lVar4 >> 0x3f); if (param_2 <= uVar5) { if (param_2 <= uVar9) { if (param_2 != uVar9) { puVar7 = (undefined8 *)(param_2 * 0x150 + lVar6); for (puVar8 = puVar7; puVar8 != puVar10; puVar8 = puVar8 + 0x2a) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (longlong)puVar7; } return; } for (lVar4 = param_2 - uVar9; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d3050(puVar10); puVar10 = puVar10 + 0x2a; } param_1[1] = (longlong)puVar10; return; } if (0xc30c30c30c30c3 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar2 = param_2; if ((uVar5 <= 0xc30c30c30c30c3 - (uVar5 >> 1)) && (uVar2 = (uVar5 >> 1) + uVar5, uVar2 < param_2)) { uVar2 = param_2; } uVar5 = uVar2 * 0x150; if (uVar2 < 0xc30c30c30c30c4) { if (uVar5 < 0x1000) { if (uVar5 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar5); } goto LAB_1809cacdd; } } else { uVar5 = 0xffffffffffffffff; } uVar3 = uVar5 + 0x27; if (uVar3 <= uVar5) { uVar3 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar3); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar4; LAB_1809cacdd: puVar8 = puVar10 + uVar9 * 0x2a; for (lVar4 = param_2 - uVar9; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d3050(puVar8); puVar8 = puVar8 + 0x2a; } lVar4 = param_1[1]; puVar8 = puVar10; for (lVar6 = *param_1; lVar6 != lVar4; lVar6 = lVar6 + 0x150) { *puVar8 = license_services::LsArrayEntryWire::vftable; puVar8[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar8 + 2) = *(undefined4 *)(lVar6 + 0x10); puVar8[3] = *(undefined8 *)(lVar6 + 0x18); *(undefined2 *)(puVar8 + 4) = *(undefined2 *)(lVar6 + 0x20); *(undefined1 *)(puVar8 + 5) = *(undefined1 *)(lVar6 + 0x28); FUN_1805a4070(puVar8 + 6,lVar6 + 0x30); FUN_1805a4070(puVar8 + 10,lVar6 + 0x50); FUN_1805a4070(puVar8 + 0xe,lVar6 + 0x70); FUN_1805a4070(puVar8 + 0x12,lVar6 + 0x90); FUN_1805b46a0(puVar8 + 0x16,lVar6 + 0xb0); FUN_1805a4070(puVar8 + 0x19,lVar6 + 200); *(undefined4 *)(puVar8 + 0x1d) = *(undefined4 *)(lVar6 + 0xe8); FUN_1805a4070(puVar8 + 0x1e,lVar6 + 0xf0); FUN_18080fe30(puVar8 + 0x22,lVar6 + 0x110); FUN_18080fe30(puVar8 + 0x25); puVar8[0x28] = *(undefined8 *)(lVar6 + 0x140); *(undefined4 *)(puVar8 + 0x29) = *(undefined4 *)(lVar6 + 0x148); puVar8 = puVar8 + 0x2a; } puVar8 = (undefined8 *)*param_1; if (puVar8 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x2a); param_1[2] = (longlong)(puVar10 + uVar2 * 0x2a); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar8 != puVar10; puVar8 = puVar8 + 0x2a) { (**(code **)*puVar8)(puVar8,0); } pvVar1 = (void *)*param_1; lVar4 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar4 >> 8) - (lVar4 >> 0x3f)) * 0x150)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cafd0 size=1038 ############ void FUN_1809cafd0(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; undefined8 *puVar10; puVar10 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar10 - lVar4) / 0x178; uVar3 = (param_1[2] - lVar4) / 0x178; if (param_2 <= uVar3) { if (param_2 <= uVar2) { if (param_2 != uVar2) { puVar8 = (undefined8 *)(param_2 * 0x178 + lVar4); for (puVar9 = puVar8; puVar9 != puVar10; puVar9 = puVar9 + 0x2f) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } for (lVar4 = param_2 - uVar2; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d39d0(puVar10); puVar10 = puVar10 + 0x2f; } param_1[1] = (longlong)puVar10; return; } if (0xae4c415c9882b9 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = param_2; if ((uVar3 <= 0xae4c415c9882b9 - (uVar3 >> 1)) && (uVar5 = (uVar3 >> 1) + uVar3, uVar5 < param_2)) { uVar5 = param_2; } uVar3 = uVar5 * 0x178; if (uVar5 < 0xae4c415c9882ba) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_1809cb0e9; } } else { uVar3 = 0xffffffffffffffff; } uVar6 = uVar3 + 0x27; if (uVar6 <= uVar3) { uVar6 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar6); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar4; LAB_1809cb0e9: puVar9 = puVar10 + uVar2 * 0x2f; for (lVar4 = param_2 - uVar2; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d39d0(puVar9); puVar9 = puVar9 + 0x2f; } lVar4 = param_1[1]; puVar9 = puVar10; for (lVar7 = *param_1; lVar7 != lVar4; lVar7 = lVar7 + 0x178) { *puVar9 = license_services::LsCertificateChainWire::vftable; puVar9[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar9 + 2) = *(undefined4 *)(lVar7 + 0x10); puVar9[3] = *(undefined8 *)(lVar7 + 0x18); *(undefined2 *)(puVar9 + 4) = *(undefined2 *)(lVar7 + 0x20); *(undefined1 *)(puVar9 + 5) = *(undefined1 *)(lVar7 + 0x28); FUN_1805a4070(puVar9 + 6,lVar7 + 0x30); FUN_1805b46a0(puVar9 + 10,lVar7 + 0x50); FUN_1805a4070(puVar9 + 0xd,lVar7 + 0x68); FUN_1805a4070(puVar9 + 0x11,lVar7 + 0x88); FUN_1805a4070(puVar9 + 0x15,lVar7 + 0xa8); FUN_1805a4070(puVar9 + 0x19,lVar7 + 200); FUN_1805a4070(puVar9 + 0x1d,lVar7 + 0xe8); FUN_1805a4070(puVar9 + 0x21,lVar7 + 0x108); FUN_1805a4070(puVar9 + 0x25,lVar7 + 0x128); FUN_1805a4070(puVar9 + 0x29); puVar9[0x2d] = *(undefined8 *)(lVar7 + 0x168); *(undefined4 *)(puVar9 + 0x2e) = *(undefined4 *)(lVar7 + 0x170); puVar9 = puVar9 + 0x2f; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x2f); param_1[2] = (longlong)(puVar10 + uVar5 * 0x2f); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar9 != puVar10; puVar9 = puVar9 + 0x2f) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x178) * 0x178)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cb3f0 size=877 ############ void FUN_1809cb3f0(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar3 = *param_1; lVar5 = ((longlong)puVar7 - lVar3) / 0x36 + ((longlong)puVar7 - lVar3 >> 0x3f); uVar6 = (lVar5 >> 2) - (lVar5 >> 0x3f); uVar2 = (param_1[2] - lVar3) / 0xd8; local_res18 = param_3; if (param_2 <= uVar2) { if (param_2 <= uVar6) { if (param_2 != uVar6) { puVar8 = (undefined8 *)(param_2 * 0xd8 + lVar3); for (puVar9 = puVar8; puVar9 != puVar7; puVar9 = puVar9 + 0x1b) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } lVar3 = FUN_1809d5490(&local_res18,puVar7,param_2 - uVar6); param_1[1] = lVar3; return; } if (0x12f684bda12f684 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar2 <= 0x12f684bda12f684 - (uVar2 >> 1)) && (uVar10 = (uVar2 >> 1) + uVar2, uVar10 < param_2)) { uVar10 = param_2; } uVar2 = uVar10 * 0xd8; local_res20 = uVar10; if (uVar10 < 0x12f684bda12f685) { if (uVar2 < 0x1000) { if (uVar2 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar2); } goto LAB_1809cb50b; } } else { uVar2 = 0xffffffffffffffff; } uVar4 = uVar2 + 0x27; if (uVar4 <= uVar2) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar3; LAB_1809cb50b: FUN_1809d5490(&local_res18,puVar7 + uVar6 * 0x1b,param_2 - uVar6); lVar3 = param_1[1]; puVar9 = puVar7; for (lVar5 = *param_1; lVar5 != lVar3; lVar5 = lVar5 + 0xd8) { *puVar9 = license_services::LsMachineBindingWire::vftable; puVar9[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar9 + 2) = *(undefined4 *)(lVar5 + 0x10); puVar9[3] = *(undefined8 *)(lVar5 + 0x18); *(undefined2 *)(puVar9 + 4) = *(undefined2 *)(lVar5 + 0x20); *(undefined1 *)(puVar9 + 5) = *(undefined1 *)(lVar5 + 0x28); *(undefined4 *)((longlong)puVar9 + 0x2c) = *(undefined4 *)(lVar5 + 0x2c); FUN_1805b46a0(puVar9 + 6,lVar5 + 0x30); *(undefined4 *)(puVar9 + 9) = *(undefined4 *)(lVar5 + 0x48); *(undefined4 *)((longlong)puVar9 + 0x4c) = *(undefined4 *)(lVar5 + 0x4c); FUN_1805a4070(puVar9 + 10,lVar5 + 0x50); FUN_1805a4070(puVar9 + 0xe,lVar5 + 0x70); FUN_1805a4070(puVar9 + 0x12,lVar5 + 0x90); FUN_18080fe30(puVar9 + 0x16); puVar9[0x19] = *(undefined8 *)(lVar5 + 200); *(undefined2 *)(puVar9 + 0x1a) = *(undefined2 *)(lVar5 + 0xd0); puVar9 = puVar9 + 0x1b; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x1b); param_1[2] = (longlong)(puVar7 + uVar10 * 0x1b); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar9 != puVar7; puVar9 = puVar9 + 0x1b) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0xd8) * 0xd8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cb760 size=769 ############ void FUN_1809cb760(ulonglong *param_1,ulonglong param_2) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; longlong lVar11; puVar7 = (undefined8 *)param_1[1]; uVar10 = *param_1; uVar1 = (longlong)((longlong)puVar7 - uVar10) / 0x230; uVar3 = (longlong)(param_1[2] - uVar10) / 0x230; if (param_2 <= uVar3) { if (param_2 <= uVar1) { if (param_2 != uVar1) { puVar9 = (undefined8 *)(param_2 * 0x230 + uVar10); for (puVar8 = puVar9; puVar8 != puVar7; puVar8 = puVar8 + 0x46) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (ulonglong)puVar9; } return; } for (lVar4 = param_2 - uVar1; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1808b38a0(puVar7); puVar7 = puVar7 + 0x46; } param_1[1] = (ulonglong)puVar7; return; } if (0x75075075075075 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x75075075075075 - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x230; if (uVar10 < 0x75075075075076) { if (uVar3 < 0x1000) { if (uVar3 == 0) { uVar3 = 0; } else { uVar3 = FUN_1811316e0(uVar3); } goto LAB_1809cb87f; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar4; LAB_1809cb87f: lVar4 = uVar1 * 0x230 + uVar3; for (lVar11 = param_2 - uVar1; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_1808b38a0(lVar4); lVar4 = lVar4 + 0x230; } uVar1 = param_1[1]; uVar6 = uVar3; for (uVar5 = *param_1; uVar5 != uVar1; uVar5 = uVar5 + 0x230) { FUN_1808b3660(uVar6); uVar6 = uVar6 + 0x230; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = uVar3; param_1[1] = param_2 * 0x230 + uVar3; param_1[2] = uVar10 * 0x230 + uVar3; return; } puVar8 = (undefined8 *)param_1[1]; for (; puVar7 != puVar8; puVar7 = puVar7 + 0x46) { (**(code **)*puVar7)(puVar7,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar2) / 0x230) * 0x230)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cba70 size=899 ############ void FUN_1809cba70(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; undefined8 *puVar6; ulonglong uVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; puVar6 = (undefined8 *)param_1[1]; lVar5 = *param_1; lVar3 = ((longlong)puVar6 - lVar5) + SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816((longlong)puVar6 - lVar5),8); uVar7 = (lVar3 >> 7) - (lVar3 >> 0x3f); lVar3 = SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(param_1[2] - lVar5),8) + (param_1[2] - lVar5); uVar4 = (lVar3 >> 7) - (lVar3 >> 0x3f); if (param_2 <= uVar4) { if (param_2 <= uVar7) { if (param_2 != uVar7) { puVar9 = (undefined8 *)(param_2 * 0xf8 + lVar5); for (puVar8 = puVar9; puVar8 != puVar6; puVar8 = puVar8 + 0x1f) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (longlong)puVar9; } return; } lVar3 = FUN_1809d2970(puVar6,param_2 - uVar7,param_3,0); param_1[1] = lVar3; return; } if (0x108421084210842 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar4 <= 0x108421084210842 - (uVar4 >> 1)) && (uVar10 = (uVar4 >> 1) + uVar4, uVar10 < param_2)) { uVar10 = param_2; } uVar4 = uVar10 * 0xf8; if (uVar10 < 0x108421084210843) { if (uVar4 < 0x1000) { if (uVar4 == 0) { puVar6 = (undefined8 *)0x0; } else { puVar6 = (undefined8 *)FUN_1811316e0(uVar4); } goto LAB_1809cbb8d; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar2); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar6 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar6[-1] = lVar3; LAB_1809cbb8d: FUN_1809d2970(puVar6 + uVar7 * 0x1f,param_2 - uVar7,param_3,0,puVar6 + uVar7 * 0x1f,puVar6,uVar11) ; lVar3 = param_1[1]; puVar8 = puVar6; for (lVar5 = *param_1; lVar5 != lVar3; lVar5 = lVar5 + 0xf8) { *puVar8 = license_services::LsPreferenceWire::vftable; puVar8[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar8 + 2) = *(undefined4 *)(lVar5 + 0x10); puVar8[3] = *(undefined8 *)(lVar5 + 0x18); *(undefined2 *)(puVar8 + 4) = *(undefined2 *)(lVar5 + 0x20); *(undefined1 *)(puVar8 + 5) = *(undefined1 *)(lVar5 + 0x28); *(undefined1 *)((longlong)puVar8 + 0x29) = *(undefined1 *)(lVar5 + 0x29); FUN_1805a4070(puVar8 + 6,lVar5 + 0x30); FUN_1805a4070(puVar8 + 10,lVar5 + 0x50); FUN_1805a4070(puVar8 + 0xe,lVar5 + 0x70); FUN_1805b46a0(puVar8 + 0x12,lVar5 + 0x90); FUN_1805a4070(puVar8 + 0x15,lVar5 + 0xa8); FUN_1805a4070(puVar8 + 0x19); *(undefined4 *)(puVar8 + 0x1d) = *(undefined4 *)(lVar5 + 0xe8); *(undefined8 *)((longlong)puVar8 + 0xec) = *(undefined8 *)(lVar5 + 0xec); *(undefined2 *)((longlong)puVar8 + 0xf4) = *(undefined2 *)(lVar5 + 0xf4); puVar8 = puVar8 + 0x1f; } puVar8 = (undefined8 *)*param_1; if (puVar8 == (undefined8 *)0x0) { *param_1 = (longlong)puVar6; param_1[1] = (longlong)(puVar6 + param_2 * 0x1f); param_1[2] = (longlong)(puVar6 + uVar10 * 0x1f); return; } puVar6 = (undefined8 *)param_1[1]; for (; puVar8 != puVar6; puVar8 = puVar8 + 0x1f) { (**(code **)*puVar8)(puVar8,0); } pvVar1 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 0xf8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cbe00 size=850 ############ void FUN_1809cbe00(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar3 = *param_1; lVar5 = ((longlong)puVar7 - lVar3) / 0x36 + ((longlong)puVar7 - lVar3 >> 0x3f); uVar6 = (lVar5 >> 2) - (lVar5 >> 0x3f); uVar2 = (param_1[2] - lVar3) / 0xd8; local_res18 = param_3; if (param_2 <= uVar2) { if (uVar6 < param_2) { lVar3 = FUN_1809d55e0(&local_res18,puVar7,param_2 - uVar6); param_1[1] = lVar3; return; } if (param_2 != uVar6) { puVar8 = (undefined8 *)(param_2 * 0xd8 + lVar3); for (puVar9 = puVar8; puVar9 != puVar7; puVar9 = puVar9 + 0x1b) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } if (0x12f684bda12f684 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar2 <= 0x12f684bda12f684 - (uVar2 >> 1)) && (uVar10 = (uVar2 >> 1) + uVar2, uVar10 < param_2)) { uVar10 = param_2; } uVar2 = uVar10 * 0xd8; local_res20 = uVar10; if (uVar10 < 0x12f684bda12f685) { if (uVar2 < 0x1000) { if (uVar2 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar2); } goto LAB_1809cbf1b; } } else { uVar2 = 0xffffffffffffffff; } uVar4 = uVar2 + 0x27; if (uVar4 <= uVar2) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar3; LAB_1809cbf1b: FUN_1809d55e0(&local_res18,puVar7 + uVar6 * 0x1b,param_2 - uVar6); lVar3 = param_1[1]; puVar9 = puVar7; for (lVar5 = *param_1; lVar5 != lVar3; lVar5 = lVar5 + 0xd8) { *puVar9 = license_services::LsZZTestToManyWire::vftable; puVar9[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar9 + 2) = *(undefined4 *)(lVar5 + 0x10); puVar9[3] = *(undefined8 *)(lVar5 + 0x18); *(undefined2 *)(puVar9 + 4) = *(undefined2 *)(lVar5 + 0x20); *(undefined1 *)(puVar9 + 5) = *(undefined1 *)(lVar5 + 0x28); FUN_1805a4070(puVar9 + 6,lVar5 + 0x30); FUN_1805a4070(puVar9 + 10,lVar5 + 0x50); *(undefined4 *)(puVar9 + 0xe) = *(undefined4 *)(lVar5 + 0x70); FUN_1805a4070(puVar9 + 0xf,lVar5 + 0x78); FUN_1805a4070(puVar9 + 0x13,lVar5 + 0x98); FUN_18080fe30(puVar9 + 0x17); puVar9[0x1a] = *(undefined8 *)(lVar5 + 0xd0); puVar9 = puVar9 + 0x1b; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x1b); param_1[2] = (longlong)(puVar7 + uVar10 * 0x1b); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar9 != puVar7; puVar9 = puVar9 + 0x1b) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0xd8) * 0xd8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cc160 size=862 ############ void FUN_1809cc160(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; void *_Memory; undefined8 *puVar9; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar9 = (undefined8 *)param_1[1]; lVar3 = *param_1; lVar5 = ((longlong)puVar9 - lVar3) / 6 + ((longlong)puVar9 - lVar3 >> 0x3f); uVar6 = (lVar5 >> 5) - (lVar5 >> 0x3f); uVar2 = (param_1[2] - lVar3) / 0xc0; local_res18 = param_3; if (param_2 <= uVar2) { if (uVar6 < param_2) { lVar3 = FUN_1809d5740(&local_res18,puVar9,param_2 - uVar6); param_1[1] = lVar3; return; } if (param_2 != uVar6) { puVar8 = (undefined8 *)(param_2 * 0xc0 + lVar3); for (puVar7 = puVar8; puVar7 != puVar9; puVar7 = puVar7 + 0x18) { (**(code **)*puVar7)(puVar7,0); } param_1[1] = (longlong)puVar8; } return; } if (0x155555555555555 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar2 <= 0x155555555555555 - (uVar2 >> 1)) && (uVar10 = (uVar2 >> 1) + uVar2, uVar10 < param_2)) { uVar10 = param_2; } uVar2 = uVar10 * 0xc0; local_res20 = uVar10; if (uVar10 < 0x155555555555556) { if (uVar2 < 0x1000) { if (uVar2 == 0) { puVar9 = (undefined8 *)0x0; } else { puVar9 = (undefined8 *)FUN_1811316e0(uVar2); } goto LAB_1809cc27d; } } else { uVar2 = 0xffffffffffffffff; } uVar4 = uVar2 + 0x27; if (uVar4 <= uVar2) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar9 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar9[-1] = lVar3; LAB_1809cc27d: FUN_1809d5740(&local_res18,puVar9 + uVar6 * 0x18,param_2 - uVar6); lVar3 = param_1[1]; puVar7 = puVar9; for (lVar5 = *param_1; lVar5 != lVar3; lVar5 = lVar5 + 0xc0) { *puVar7 = license_services::LsZZTestOnlyV2Wire::vftable; puVar7[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar7 + 2) = *(undefined4 *)(lVar5 + 0x10); puVar7[3] = *(undefined8 *)(lVar5 + 0x18); *(undefined2 *)(puVar7 + 4) = *(undefined2 *)(lVar5 + 0x20); *(undefined1 *)(puVar7 + 5) = *(undefined1 *)(lVar5 + 0x28); FUN_1805a4070(puVar7 + 6,lVar5 + 0x30); *(undefined4 *)(puVar7 + 10) = *(undefined4 *)(lVar5 + 0x50); FUN_1805a4070(puVar7 + 0xb,lVar5 + 0x58); *(undefined4 *)(puVar7 + 0xf) = *(undefined4 *)(lVar5 + 0x78); FUN_1805a4070(puVar7 + 0x10,lVar5 + 0x80); FUN_18080fe30(puVar7 + 0x14); puVar7[0x17] = *(undefined8 *)(lVar5 + 0xb8); puVar7 = puVar7 + 0x18; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = (longlong)puVar9; param_1[1] = (longlong)(puVar9 + param_2 * 0x18); param_1[2] = (longlong)(puVar9 + uVar10 * 0x18); return; } puVar9 = (undefined8 *)param_1[1]; for (; puVar7 != puVar9; puVar7 = puVar7 + 0x18) { (**(code **)*puVar7)(puVar7,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0xc0) * 0xc0)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cc4d0 size=738 ############ void FUN_1809cc4d0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; longlong lVar8; void *_Memory; ulonglong uVar9; longlong lVar10; undefined1 local_res8; ulonglong uVar11; ulonglong uVar12; undefined8 uVar13; longlong lVar14; uVar13 = 0xfffffffffffffffe; puVar5 = (undefined8 *)param_1[1]; uVar9 = *param_1; uVar12 = (longlong)((longlong)puVar5 - uVar9) / 0x1a8; uVar11 = (longlong)(param_1[2] - uVar9) / 0x1a8; if (param_2 <= uVar11) { if (param_2 <= uVar12) { if (param_2 != uVar12) { puVar7 = (undefined8 *)(param_2 * 0x1a8 + uVar9); for (puVar6 = puVar7; puVar6 != puVar5; puVar6 = puVar6 + 0x35) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (ulonglong)puVar7; } return; } for (lVar3 = param_2 - uVar12; lVar3 != 0; lVar3 = lVar3 + -1) { FUN_1809d31e0(puVar5); puVar5 = puVar5 + 0x35; } param_1[1] = (ulonglong)puVar5; return; } if (0x9a90e7d95bc609 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar11 <= 0x9a90e7d95bc609 - (uVar11 >> 1)) && (uVar9 = (uVar11 >> 1) + uVar11, uVar9 < param_2)) { uVar9 = param_2; } uVar2 = uVar9 * 0x1a8; uVar11 = uVar12; if (uVar9 < 0x9a90e7d95bc60a) { if (uVar2 < 0x1000) { if (uVar2 == 0) { uVar2 = 0; } else { uVar2 = FUN_1811316e0(uVar2); } goto LAB_1809cc5ef; } } else { uVar2 = 0xffffffffffffffff; } uVar4 = uVar2 + 0x27; if (uVar4 <= uVar2) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar3; LAB_1809cc5ef: lVar8 = uVar12 * 0x1a8 + uVar2; lVar3 = lVar8; uVar12 = uVar2; lVar14 = lVar8; for (lVar10 = param_2 - uVar11; lVar10 != 0; lVar10 = lVar10 + -1) { FUN_1809d31e0(lVar8); lVar8 = lVar8 + 0x1a8; } local_res8 = SUB81(param_1,0); FUN_1809d1f10(*param_1,param_1[1],uVar2,param_1,0,local_res8,uVar11,lVar3,uVar12,uVar13,lVar14, lVar8,param_3); puVar5 = (undefined8 *)*param_1; if (puVar5 == (undefined8 *)0x0) { *param_1 = uVar2; param_1[1] = param_2 * 0x1a8 + uVar2; param_1[2] = uVar9 * 0x1a8 + uVar2; return; } puVar6 = (undefined8 *)param_1[1]; for (; puVar5 != puVar6; puVar5 = puVar5 + 0x35) { (**(code **)*puVar5)(puVar5,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar1) / 0x1a8) * 0x1a8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cc7c0 size=834 ############ void FUN_1809cc7c0(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong lVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar7 - lVar4) / 0xb0; uVar3 = (param_1[2] - lVar4) / 0xb0; local_res18 = param_3; if (param_2 <= uVar3) { if (param_2 <= uVar2) { if (param_2 != uVar2) { puVar8 = (undefined8 *)(param_2 * 0xb0 + lVar4); for (puVar6 = puVar8; puVar6 != puVar7; puVar6 = puVar6 + 0x16) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (longlong)puVar8; } return; } lVar4 = FUN_1809d5880(&local_res18,puVar7,param_2 - uVar2); param_1[1] = lVar4; return; } if (0x1745d1745d1745d < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x1745d1745d1745d - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0xb0; local_res20 = uVar10; if (uVar10 < 0x1745d1745d1745e) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_1809cc8db; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar4; LAB_1809cc8db: FUN_1809d5880(&local_res18,puVar7 + uVar2 * 0x16,param_2 - uVar2); lVar4 = param_1[1]; puVar6 = puVar7; for (lVar9 = *param_1; lVar9 != lVar4; lVar9 = lVar9 + 0xb0) { *puVar6 = license_services::LsAssociativeArrayWire::vftable; puVar6[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar6 + 2) = *(undefined4 *)(lVar9 + 0x10); puVar6[3] = *(undefined8 *)(lVar9 + 0x18); *(undefined2 *)(puVar6 + 4) = *(undefined2 *)(lVar9 + 0x20); *(undefined1 *)(puVar6 + 5) = *(undefined1 *)(lVar9 + 0x28); FUN_1805a4070(puVar6 + 6,lVar9 + 0x30); FUN_1805a4070(puVar6 + 10,lVar9 + 0x50); FUN_1805a4070(puVar6 + 0xe,lVar9 + 0x70); FUN_18080fe30(puVar6 + 0x12); *(undefined4 *)(puVar6 + 0x15) = *(undefined4 *)(lVar9 + 0xa8); *(undefined2 *)((longlong)puVar6 + 0xac) = *(undefined2 *)(lVar9 + 0xac); puVar6 = puVar6 + 0x16; } puVar6 = (undefined8 *)*param_1; if (puVar6 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x16); param_1[2] = (longlong)(puVar7 + uVar10 * 0x16); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar6 != puVar7; puVar6 = puVar6 + 0x16) { (**(code **)*puVar6)(puVar6,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0xb0) * 0xb0)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809ccb10 size=1134 ############ void FUN_1809ccb10(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; undefined4 uVar3; undefined4 uVar4; undefined4 uVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; ulonglong uVar9; longlong lVar10; undefined8 *puVar11; undefined8 *puVar12; void *_Memory; undefined8 *puVar13; puVar13 = (undefined8 *)param_1[1]; lVar7 = *param_1; uVar2 = ((longlong)puVar13 - lVar7) / 0x168; uVar6 = (param_1[2] - lVar7) / 0x168; if (param_2 <= uVar6) { if (param_2 <= uVar2) { if (param_2 != uVar2) { puVar11 = (undefined8 *)(param_2 * 0x168 + lVar7); for (puVar12 = puVar11; puVar12 != puVar13; puVar12 = puVar12 + 0x2d) { (**(code **)*puVar12)(puVar12,0); } param_1[1] = (longlong)puVar11; } return; } for (lVar7 = param_2 - uVar2; lVar7 != 0; lVar7 = lVar7 + -1) { FUN_1809d33f0(puVar13); puVar13 = puVar13 + 0x2d; } param_1[1] = (longlong)puVar13; return; } if (0xb60b60b60b60b6 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar8 = param_2; if ((uVar6 <= 0xb60b60b60b60b6 - (uVar6 >> 1)) && (uVar8 = (uVar6 >> 1) + uVar6, uVar8 < param_2)) { uVar8 = param_2; } uVar6 = uVar8 * 0x168; if (uVar8 < 0xb60b60b60b60b7) { if (uVar6 < 0x1000) { if (uVar6 == 0) { puVar13 = (undefined8 *)0x0; } else { puVar13 = (undefined8 *)FUN_1811316e0(uVar6); } goto LAB_1809ccc29; } } else { uVar6 = 0xffffffffffffffff; } uVar9 = uVar6 + 0x27; if (uVar9 <= uVar6) { uVar9 = 0xffffffffffffffff; } lVar7 = FUN_1811316e0(uVar9); if (lVar7 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar13 = (undefined8 *)(lVar7 + 0x27U & 0xffffffffffffffe0); puVar13[-1] = lVar7; LAB_1809ccc29: puVar12 = puVar13 + uVar2 * 0x2d; for (lVar7 = param_2 - uVar2; lVar7 != 0; lVar7 = lVar7 + -1) { FUN_1809d33f0(puVar12); puVar12 = puVar12 + 0x2d; } lVar7 = param_1[1]; puVar12 = puVar13; for (lVar10 = *param_1; lVar10 != lVar7; lVar10 = lVar10 + 0x168) { *puVar12 = license_services::LsAuthKeyWire::vftable; puVar12[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar12 + 2) = *(undefined4 *)(lVar10 + 0x10); puVar12[3] = *(undefined8 *)(lVar10 + 0x18); *(undefined2 *)(puVar12 + 4) = *(undefined2 *)(lVar10 + 0x20); *(undefined1 *)(puVar12 + 5) = *(undefined1 *)(lVar10 + 0x28); *(undefined4 *)((longlong)puVar12 + 0x2c) = *(undefined4 *)(lVar10 + 0x2c); *(undefined4 *)(puVar12 + 6) = *(undefined4 *)(lVar10 + 0x30); *(undefined1 *)((longlong)puVar12 + 0x34) = *(undefined1 *)(lVar10 + 0x34); FUN_1805b46a0(puVar12 + 7,lVar10 + 0x38); FUN_1805b46a0(puVar12 + 10,lVar10 + 0x50); *(undefined4 *)(puVar12 + 0xd) = *(undefined4 *)(lVar10 + 0x68); *(undefined4 *)((longlong)puVar12 + 0x6c) = *(undefined4 *)(lVar10 + 0x6c); *(undefined4 *)(puVar12 + 0xe) = *(undefined4 *)(lVar10 + 0x70); FUN_1805a4070(puVar12 + 0xf,lVar10 + 0x78); FUN_1805a4070(puVar12 + 0x13,lVar10 + 0x98); *(undefined1 *)(puVar12 + 0x17) = *(undefined1 *)(lVar10 + 0xb8); FUN_1805a4070(puVar12 + 0x18,lVar10 + 0xc0); FUN_1805b46a0(puVar12 + 0x1c,lVar10 + 0xe0); *(undefined4 *)(puVar12 + 0x1f) = *(undefined4 *)(lVar10 + 0xf8); *(undefined4 *)((longlong)puVar12 + 0xfc) = *(undefined4 *)(lVar10 + 0xfc); *(undefined1 *)(puVar12 + 0x20) = *(undefined1 *)(lVar10 + 0x100); *(undefined4 *)((longlong)puVar12 + 0x104) = *(undefined4 *)(lVar10 + 0x104); FUN_1805a4070(puVar12 + 0x21,lVar10 + 0x108); *(undefined4 *)(puVar12 + 0x25) = *(undefined4 *)(lVar10 + 0x128); *(undefined4 *)((longlong)puVar12 + 300) = *(undefined4 *)(lVar10 + 300); *(undefined1 *)(puVar12 + 0x26) = *(undefined1 *)(lVar10 + 0x130); FUN_18080fe30(puVar12 + 0x27); uVar3 = *(undefined4 *)(lVar10 + 0x154); uVar4 = *(undefined4 *)(lVar10 + 0x158); uVar5 = *(undefined4 *)(lVar10 + 0x15c); *(undefined4 *)(puVar12 + 0x2a) = *(undefined4 *)(lVar10 + 0x150); *(undefined4 *)((longlong)puVar12 + 0x154) = uVar3; *(undefined4 *)(puVar12 + 0x2b) = uVar4; *(undefined4 *)((longlong)puVar12 + 0x15c) = uVar5; puVar12[0x2c] = *(undefined8 *)(lVar10 + 0x160); puVar12 = puVar12 + 0x2d; } puVar12 = (undefined8 *)*param_1; if (puVar12 == (undefined8 *)0x0) { *param_1 = (longlong)puVar13; param_1[1] = (longlong)(puVar13 + param_2 * 0x2d); param_1[2] = (longlong)(puVar13 + uVar8 * 0x2d); return; } puVar13 = (undefined8 *)param_1[1]; for (; puVar12 != puVar13; puVar12 = puVar12 + 0x2d) { (**(code **)*puVar12)(puVar12,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x168) * 0x168)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809ccf90 size=769 ############ void FUN_1809ccf90(ulonglong *param_1,ulonglong param_2) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; longlong lVar11; puVar7 = (undefined8 *)param_1[1]; uVar10 = *param_1; uVar1 = (longlong)((longlong)puVar7 - uVar10) / 0x1d0; uVar3 = (longlong)(param_1[2] - uVar10) / 0x1d0; if (param_2 <= uVar3) { if (param_2 <= uVar1) { if (param_2 != uVar1) { puVar9 = (undefined8 *)(param_2 * 0x1d0 + uVar10); for (puVar8 = puVar9; puVar8 != puVar7; puVar8 = puVar8 + 0x3a) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (ulonglong)puVar9; } return; } for (lVar4 = param_2 - uVar1; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d2e20(puVar7); puVar7 = puVar7 + 0x3a; } param_1[1] = (ulonglong)puVar7; return; } if (0x8d3dcb08d3dcb0 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x8d3dcb08d3dcb0 - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x1d0; if (uVar10 < 0x8d3dcb08d3dcb1) { if (uVar3 < 0x1000) { if (uVar3 == 0) { uVar3 = 0; } else { uVar3 = FUN_1811316e0(uVar3); } goto LAB_1809cd0af; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar4; LAB_1809cd0af: lVar4 = uVar1 * 0x1d0 + uVar3; for (lVar11 = param_2 - uVar1; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_1809d2e20(lVar4); lVar4 = lVar4 + 0x1d0; } uVar1 = param_1[1]; uVar6 = uVar3; for (uVar5 = *param_1; uVar5 != uVar1; uVar5 = uVar5 + 0x1d0) { FUN_1809d2c90(uVar6); uVar6 = uVar6 + 0x1d0; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = uVar3; param_1[1] = param_2 * 0x1d0 + uVar3; param_1[2] = uVar10 * 0x1d0 + uVar3; return; } puVar8 = (undefined8 *)param_1[1]; for (; puVar7 != puVar8; puVar7 = puVar7 + 0x3a) { (**(code **)*puVar7)(puVar7,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar2) / 0x1d0) * 0x1d0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cd2a0 size=762 ############ void FUN_1809cd2a0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { ulonglong uVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; undefined8 *puVar5; undefined8 *puVar6; ulonglong uVar7; undefined8 *puVar8; void *_Memory; ulonglong uVar9; undefined8 local_res18; longlong local_res20; puVar5 = (undefined8 *)param_1[1]; uVar7 = *param_1; uVar1 = (longlong)((longlong)puVar5 - uVar7) / 0x50; uVar9 = (longlong)(param_1[2] - uVar7) / 0x50; local_res18 = param_3; if (param_2 <= uVar9) { if (uVar1 < param_2) { uVar7 = FUN_1809d59c0(&local_res18,puVar5,param_2 - uVar1); param_1[1] = uVar7; return; } if (param_2 != uVar1) { puVar8 = (undefined8 *)(param_2 * 0x50 + uVar7); for (puVar6 = puVar8; puVar6 != puVar5; puVar6 = puVar6 + 10) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (ulonglong)puVar8; } return; } if (0x333333333333333 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar7 = param_2; if ((uVar9 <= 0x333333333333333 - (uVar9 >> 1)) && (uVar7 = (uVar9 >> 1) + uVar9, uVar7 < param_2) ) { uVar7 = param_2; } uVar9 = uVar7 * 0x50; if (uVar7 < 0x333333333333334) { uVar7 = uVar9; if (uVar9 < 0x1000) { if (uVar9 == 0) { uVar7 = 0; } else { uVar7 = FUN_1811316e0(uVar9); } goto LAB_1809cd3bd; } } else { uVar7 = 0xffffffffffffffff; } uVar4 = uVar7 + 0x27; if (uVar4 <= uVar7) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar7 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar7 - 8) = lVar3; LAB_1809cd3bd: local_res20 = uVar1 * 0x50 + uVar7; local_res20 = FUN_1809d59c0(&local_res18,local_res20,param_2 - uVar1); uVar1 = param_1[1]; if (*param_1 != uVar1) { lVar3 = *param_1 - uVar7; puVar5 = (undefined8 *)(uVar7 + 0x18); do { puVar5[-3] = license_services::LsDoubleRelation::vftable; puVar5[-2] = license_services::LsRelation::vftable; *(undefined4 *)(puVar5 + -1) = *(undefined4 *)(lVar3 + -8 + (longlong)puVar5); *puVar5 = *(undefined8 *)(lVar3 + (longlong)puVar5); *(undefined2 *)(puVar5 + 1) = *(undefined2 *)(lVar3 + 8 + (longlong)puVar5); puVar5[2] = license_services::LsRelation::vftable; *(undefined4 *)(puVar5 + 3) = *(undefined4 *)(lVar3 + 0x18 + (longlong)puVar5); puVar5[4] = *(undefined8 *)(lVar3 + 0x20 + (longlong)puVar5); *(undefined2 *)(puVar5 + 5) = *(undefined2 *)(lVar3 + 0x28 + (longlong)puVar5); *(undefined2 *)(puVar5 + 6) = *(undefined2 *)(lVar3 + 0x30 + (longlong)puVar5); uVar4 = (longlong)puVar5 + lVar3 + 0x38; puVar5 = puVar5 + 10; } while (uVar4 != uVar1); } puVar5 = (undefined8 *)*param_1; if (puVar5 != (undefined8 *)0x0) { puVar6 = (undefined8 *)param_1[1]; for (; puVar5 != puVar6; puVar5 = puVar5 + 10) { (**(code **)*puVar5)(puVar5,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar2) / 0x50) * 0x50)) && (_Memory = *(void **)((longlong)pvVar2 - 8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar7; param_1[1] = param_2 * 0x50 + uVar7; param_1[2] = uVar9 + uVar7; return; } ############ FUN_ 1809cd7e0 size=769 ############ void FUN_1809cd7e0(ulonglong *param_1,ulonglong param_2) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; longlong lVar11; puVar7 = (undefined8 *)param_1[1]; uVar10 = *param_1; uVar1 = (longlong)((longlong)puVar7 - uVar10) / 0x1b8; uVar3 = (longlong)(param_1[2] - uVar10) / 0x1b8; if (param_2 <= uVar3) { if (param_2 <= uVar1) { if (param_2 != uVar1) { puVar9 = (undefined8 *)(param_2 * 0x1b8 + uVar10); for (puVar8 = puVar9; puVar8 != puVar7; puVar8 = puVar8 + 0x37) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (ulonglong)puVar9; } return; } for (lVar4 = param_2 - uVar1; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d4c70(puVar7); puVar7 = puVar7 + 0x37; } param_1[1] = (ulonglong)puVar7; return; } if (0x94f2094f2094f2 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x94f2094f2094f2 - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x1b8; if (uVar10 < 0x94f2094f2094f3) { if (uVar3 < 0x1000) { if (uVar3 == 0) { uVar3 = 0; } else { uVar3 = FUN_1811316e0(uVar3); } goto LAB_1809cd8ff; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar4; LAB_1809cd8ff: lVar4 = uVar1 * 0x1b8 + uVar3; for (lVar11 = param_2 - uVar1; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_1809d4c70(lVar4); lVar4 = lVar4 + 0x1b8; } uVar1 = param_1[1]; uVar6 = uVar3; for (uVar5 = *param_1; uVar5 != uVar1; uVar5 = uVar5 + 0x1b8) { FUN_1809d4ad0(uVar6); uVar6 = uVar6 + 0x1b8; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = uVar3; param_1[1] = param_2 * 0x1b8 + uVar3; param_1[2] = uVar10 * 0x1b8 + uVar3; return; } puVar8 = (undefined8 *)param_1[1]; for (; puVar7 != puVar8; puVar7 = puVar7 + 0x37) { (**(code **)*puVar7)(puVar7,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar2) / 0x1b8) * 0x1b8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cdaf0 size=1021 ############ void FUN_1809cdaf0(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; void *_Memory; ulonglong uVar8; ulonglong uVar9; undefined8 *puVar10; puVar10 = (undefined8 *)param_1[1]; lVar3 = *param_1; lVar5 = ((longlong)puVar10 - lVar3) / 0x12 + ((longlong)puVar10 - lVar3 >> 0x3f); uVar8 = (lVar5 >> 4) - (lVar5 >> 0x3f); uVar2 = (param_1[2] - lVar3) / 0x120; if (param_2 <= uVar2) { if (uVar8 < param_2) { for (lVar3 = param_2 - uVar8; lVar3 != 0; lVar3 = lVar3 + -1) { FUN_1809d40a0(puVar10); puVar10 = puVar10 + 0x24; } param_1[1] = (longlong)puVar10; return; } if (param_2 != uVar8) { puVar6 = (undefined8 *)(param_2 * 0x120 + lVar3); for (puVar7 = puVar6; puVar7 != puVar10; puVar7 = puVar7 + 0x24) { (**(code **)*puVar7)(puVar7,0); } param_1[1] = (longlong)puVar6; } return; } if (0xe38e38e38e38e3 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar2 <= 0xe38e38e38e38e3 - (uVar2 >> 1)) && (uVar9 = uVar2 + (uVar2 >> 1), uVar9 < param_2)) { uVar9 = param_2; } uVar2 = uVar9 * 0x120; if (uVar9 < 0xe38e38e38e38e4) { if (uVar2 < 0x1000) { if (uVar2 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar2); } goto LAB_1809cdc12; } } else { uVar2 = 0xffffffffffffffff; } uVar4 = uVar2 + 0x27; if (uVar4 <= uVar2) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar3; LAB_1809cdc12: puVar7 = puVar10 + uVar8 * 0x24; for (lVar3 = param_2 - uVar8; lVar3 != 0; lVar3 = lVar3 + -1) { FUN_1809d40a0(puVar7); puVar7 = puVar7 + 0x24; } lVar3 = param_1[1]; puVar7 = puVar10; for (lVar5 = *param_1; lVar5 != lVar3; lVar5 = lVar5 + 0x120) { *puVar7 = license_services::LsLocalizedTextWire::vftable; puVar7[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar7 + 2) = *(undefined4 *)(lVar5 + 0x10); puVar7[3] = *(undefined8 *)(lVar5 + 0x18); *(undefined2 *)(puVar7 + 4) = *(undefined2 *)(lVar5 + 0x20); *(undefined1 *)(puVar7 + 5) = *(undefined1 *)(lVar5 + 0x28); FUN_1805a4070(puVar7 + 6,lVar5 + 0x30); FUN_1805a4070(puVar7 + 10,lVar5 + 0x50); FUN_1805a4070(puVar7 + 0xe,lVar5 + 0x70); FUN_1805a4070(puVar7 + 0x12,lVar5 + 0x90); FUN_1805a4070(puVar7 + 0x16,lVar5 + 0xb0); FUN_1805a4070(puVar7 + 0x1a,lVar5 + 0xd0); FUN_1805a4070(puVar7 + 0x1e); puVar7[0x22] = *(undefined8 *)(lVar5 + 0x110); *(undefined1 *)(puVar7 + 0x23) = *(undefined1 *)(lVar5 + 0x118); puVar7 = puVar7 + 0x24; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x24); param_1[2] = (longlong)(puVar10 + uVar9 * 0x24); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar7 != puVar10; puVar7 = puVar7 + 0x24) { (**(code **)*puVar7)(puVar7,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x120) * 0x120)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cdf00 size=861 ############ void FUN_1809cdf00(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar6 = *param_1; lVar3 = ((longlong)puVar7 - lVar6) + SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)puVar7 - lVar6),8); uVar5 = (lVar3 >> 7) - (lVar3 >> 0x3f); lVar3 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816(param_1[2] - lVar6),8) + (param_1[2] - lVar6); uVar4 = (lVar3 >> 7) - (lVar3 >> 0x3f); local_res18 = param_3; if (param_2 <= uVar4) { if (param_2 <= uVar5) { if (param_2 != uVar5) { puVar8 = (undefined8 *)(param_2 * 200 + lVar6); for (puVar9 = puVar8; puVar9 != puVar7; puVar9 = puVar9 + 0x19) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } lVar3 = FUN_1809d5a50(&local_res18,puVar7,param_2 - uVar5); param_1[1] = lVar3; return; } if (0x147ae147ae147ae < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar4 <= 0x147ae147ae147ae - (uVar4 >> 1)) && (uVar10 = (uVar4 >> 1) + uVar4, uVar10 < param_2)) { uVar10 = param_2; } uVar4 = uVar10 * 200; local_res20 = uVar10; if (uVar10 < 0x147ae147ae147af) { if (uVar4 < 0x1000) { if (uVar4 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar4); } goto LAB_1809ce01f; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar2); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar3; LAB_1809ce01f: FUN_1809d5a50(&local_res18,puVar7 + uVar5 * 0x19,param_2 - uVar5); lVar3 = param_1[1]; puVar9 = puVar7; for (lVar6 = *param_1; lVar6 != lVar3; lVar6 = lVar6 + 200) { *puVar9 = license_services::LsAuthRelationWire::vftable; puVar9[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar9 + 2) = *(undefined4 *)(lVar6 + 0x10); puVar9[3] = *(undefined8 *)(lVar6 + 0x18); *(undefined2 *)(puVar9 + 4) = *(undefined2 *)(lVar6 + 0x20); *(undefined1 *)(puVar9 + 5) = *(undefined1 *)(lVar6 + 0x28); *(undefined4 *)((longlong)puVar9 + 0x2c) = *(undefined4 *)(lVar6 + 0x2c); FUN_1805a4070(puVar9 + 6,lVar6 + 0x30); FUN_1805a4070(puVar9 + 10,lVar6 + 0x50); FUN_1805a4070(puVar9 + 0xe,lVar6 + 0x70); FUN_18080fe30(puVar9 + 0x12,lVar6 + 0x90); FUN_18080fe30(puVar9 + 0x15); puVar9[0x18] = *(undefined8 *)(lVar6 + 0xc0); puVar9 = puVar9 + 0x19; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x19); param_1[2] = (longlong)(puVar7 + uVar10 * 0x19); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar9 != puVar7; puVar9 = puVar9 + 0x19) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 200)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809ce260 size=750 ############ void FUN_1809ce260(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong lVar9; void *_Memory; ulonglong uVar10; ulonglong uVar11; longlong lVar12; undefined1 local_res8; undefined8 uVar13; longlong lVar14; uVar13 = 0xfffffffffffffffe; puVar6 = (undefined8 *)param_1[1]; uVar10 = *param_1; lVar4 = ((longlong)puVar6 - uVar10) + SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)((longlong)puVar6 - uVar10)),8); uVar11 = (lVar4 >> 8) - (lVar4 >> 0x3f); lVar4 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)(param_1[2] - uVar10)),8) + (param_1[2] - uVar10); uVar5 = (lVar4 >> 8) - (lVar4 >> 0x3f); if (param_2 <= uVar5) { if (param_2 <= uVar11) { if (param_2 != uVar11) { puVar8 = (undefined8 *)(param_2 * 400 + uVar10); for (puVar7 = puVar8; puVar7 != puVar6; puVar7 = puVar7 + 0x32) { (**(code **)*puVar7)(puVar7,0); } param_1[1] = (ulonglong)puVar8; } return; } for (lVar4 = param_2 - uVar11; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d4580(puVar6); puVar6 = puVar6 + 0x32; } param_1[1] = (ulonglong)puVar6; return; } if (0xa3d70a3d70a3d7 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar5 <= 0xa3d70a3d70a3d7 - (uVar5 >> 1)) && (uVar10 = (uVar5 >> 1) + uVar5, uVar10 < param_2)) { uVar10 = param_2; } uVar2 = uVar10 * 400; uVar5 = uVar11; if (uVar10 < 0xa3d70a3d70a3d8) { if (uVar2 < 0x1000) { if (uVar2 == 0) { uVar2 = 0; } else { uVar2 = FUN_1811316e0(uVar2); } goto LAB_1809ce383; } } else { uVar2 = 0xffffffffffffffff; } uVar3 = uVar2 + 0x27; if (uVar3 <= uVar2) { uVar3 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar3); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar4; LAB_1809ce383: lVar9 = uVar11 * 400 + uVar2; lVar4 = lVar9; uVar11 = uVar2; lVar14 = lVar9; for (lVar12 = param_2 - uVar5; lVar12 != 0; lVar12 = lVar12 + -1) { FUN_1809d4580(lVar9); lVar9 = lVar9 + 400; } local_res8 = SUB81(param_1,0); FUN_1809d24a0(*param_1,param_1[1],uVar2,param_1,0,local_res8,uVar5,lVar4,uVar11,uVar13,lVar14, lVar9,param_3); puVar6 = (undefined8 *)*param_1; if (puVar6 == (undefined8 *)0x0) { *param_1 = uVar2; param_1[1] = param_2 * 400 + uVar2; param_1[2] = uVar10 * 400 + uVar2; return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar6 != puVar7; puVar6 = puVar6 + 0x32) { (**(code **)*puVar6)(puVar6,0); } pvVar1 = (void *)*param_1; lVar4 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)(param_1[2] - (longlong)pvVar1)),8 ) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar4 >> 8) - (lVar4 >> 0x3f)) * 400)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809ce560 size=862 ############ void FUN_1809ce560(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; void *_Memory; undefined8 *puVar9; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar9 = (undefined8 *)param_1[1]; lVar3 = *param_1; lVar5 = ((longlong)puVar9 - lVar3) / 6 + ((longlong)puVar9 - lVar3 >> 0x3f); uVar6 = (lVar5 >> 5) - (lVar5 >> 0x3f); uVar2 = (param_1[2] - lVar3) / 0xc0; local_res18 = param_3; if (param_2 <= uVar2) { if (uVar6 < param_2) { lVar3 = FUN_1809d5ba0(&local_res18,puVar9,param_2 - uVar6); param_1[1] = lVar3; return; } if (param_2 != uVar6) { puVar8 = (undefined8 *)(param_2 * 0xc0 + lVar3); for (puVar7 = puVar8; puVar7 != puVar9; puVar7 = puVar7 + 0x18) { (**(code **)*puVar7)(puVar7,0); } param_1[1] = (longlong)puVar8; } return; } if (0x155555555555555 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar2 <= 0x155555555555555 - (uVar2 >> 1)) && (uVar10 = (uVar2 >> 1) + uVar2, uVar10 < param_2)) { uVar10 = param_2; } uVar2 = uVar10 * 0xc0; local_res20 = uVar10; if (uVar10 < 0x155555555555556) { if (uVar2 < 0x1000) { if (uVar2 == 0) { puVar9 = (undefined8 *)0x0; } else { puVar9 = (undefined8 *)FUN_1811316e0(uVar2); } goto LAB_1809ce67d; } } else { uVar2 = 0xffffffffffffffff; } uVar4 = uVar2 + 0x27; if (uVar4 <= uVar2) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar9 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar9[-1] = lVar3; LAB_1809ce67d: FUN_1809d5ba0(&local_res18,puVar9 + uVar6 * 0x18,param_2 - uVar6); lVar3 = param_1[1]; puVar7 = puVar9; for (lVar5 = *param_1; lVar5 != lVar3; lVar5 = lVar5 + 0xc0) { *puVar7 = license_services::LsZZTestOnlyV1Wire::vftable; puVar7[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar7 + 2) = *(undefined4 *)(lVar5 + 0x10); puVar7[3] = *(undefined8 *)(lVar5 + 0x18); *(undefined2 *)(puVar7 + 4) = *(undefined2 *)(lVar5 + 0x20); *(undefined1 *)(puVar7 + 5) = *(undefined1 *)(lVar5 + 0x28); FUN_1805a4070(puVar7 + 6,lVar5 + 0x30); *(undefined4 *)(puVar7 + 10) = *(undefined4 *)(lVar5 + 0x50); FUN_1805a4070(puVar7 + 0xb,lVar5 + 0x58); *(undefined4 *)(puVar7 + 0xf) = *(undefined4 *)(lVar5 + 0x78); FUN_1805a4070(puVar7 + 0x10,lVar5 + 0x80); FUN_18080fe30(puVar7 + 0x14); puVar7[0x17] = *(undefined8 *)(lVar5 + 0xb8); puVar7 = puVar7 + 0x18; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = (longlong)puVar9; param_1[1] = (longlong)(puVar9 + param_2 * 0x18); param_1[2] = (longlong)(puVar9 + uVar10 * 0x18); return; } puVar9 = (undefined8 *)param_1[1]; for (; puVar7 != puVar9; puVar7 = puVar7 + 0x18) { (**(code **)*puVar7)(puVar7,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0xc0) * 0xc0)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809ce8d0 size=896 ############ void FUN_1809ce8d0(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; puVar7 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar7 - lVar4) / 0x108; uVar3 = (param_1[2] - lVar4) / 0x108; if (param_2 <= uVar3) { if (uVar2 < param_2) { lVar4 = FUN_1809d2660(puVar7,param_2 - uVar2,param_3,0); param_1[1] = lVar4; return; } if (param_2 != uVar2) { puVar9 = (undefined8 *)(param_2 * 0x108 + lVar4); for (puVar8 = puVar9; puVar8 != puVar7; puVar8 = puVar8 + 0x21) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (longlong)puVar9; } return; } if (0xf83e0f83e0f83e < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0xf83e0f83e0f83e - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x108; if (uVar10 < 0xf83e0f83e0f83f) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_1809ce9e9; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar4; LAB_1809ce9e9: FUN_1809d2660(puVar7 + uVar2 * 0x21,param_2 - uVar2,param_3,0,puVar7 + uVar2 * 0x21,puVar7,uVar11) ; lVar4 = param_1[1]; puVar8 = puVar7; for (lVar6 = *param_1; lVar6 != lVar4; lVar6 = lVar6 + 0x108) { *puVar8 = license_services::LsAuthManifestElementWire::vftable; puVar8[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar8 + 2) = *(undefined4 *)(lVar6 + 0x10); puVar8[3] = *(undefined8 *)(lVar6 + 0x18); *(undefined2 *)(puVar8 + 4) = *(undefined2 *)(lVar6 + 0x20); *(undefined1 *)(puVar8 + 5) = *(undefined1 *)(lVar6 + 0x28); *(undefined4 *)((longlong)puVar8 + 0x2c) = *(undefined4 *)(lVar6 + 0x2c); *(undefined4 *)(puVar8 + 6) = *(undefined4 *)(lVar6 + 0x30); *(undefined4 *)((longlong)puVar8 + 0x34) = *(undefined4 *)(lVar6 + 0x34); FUN_1805a4070(puVar8 + 7,lVar6 + 0x38); FUN_1805a4070(puVar8 + 0xb,lVar6 + 0x58); FUN_1805a4070(puVar8 + 0xf,lVar6 + 0x78); *(undefined4 *)(puVar8 + 0x13) = *(undefined4 *)(lVar6 + 0x98); FUN_1805a4070(puVar8 + 0x14,lVar6 + 0xa0); FUN_1805a4070(puVar8 + 0x18,lVar6 + 0xc0); FUN_18080fe30(puVar8 + 0x1c); puVar8[0x1f] = *(undefined8 *)(lVar6 + 0xf8); *(undefined4 *)(puVar8 + 0x20) = *(undefined4 *)(lVar6 + 0x100); puVar8 = puVar8 + 0x21; } puVar8 = (undefined8 *)*param_1; if (puVar8 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x21); param_1[2] = (longlong)(puVar7 + uVar10 * 0x21); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar8 != puVar7; puVar8 = puVar8 + 0x21) { (**(code **)*puVar8)(puVar8,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x108) * 0x108)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cec60 size=769 ############ void FUN_1809cec60(ulonglong *param_1,ulonglong param_2) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; longlong lVar11; puVar7 = (undefined8 *)param_1[1]; uVar10 = *param_1; uVar1 = (longlong)((longlong)puVar7 - uVar10) / 0x208; uVar3 = (longlong)(param_1[2] - uVar10) / 0x208; if (param_2 <= uVar3) { if (param_2 <= uVar1) { if (param_2 != uVar1) { puVar9 = (undefined8 *)(param_2 * 0x208 + uVar10); for (puVar8 = puVar9; puVar8 != puVar7; puVar8 = puVar8 + 0x41) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (ulonglong)puVar9; } return; } for (lVar4 = param_2 - uVar1; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d37a0(puVar7); puVar7 = puVar7 + 0x41; } param_1[1] = (ulonglong)puVar7; return; } if (0x7e07e07e07e07e < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x7e07e07e07e07e - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x208; if (uVar10 < 0x7e07e07e07e07f) { if (uVar3 < 0x1000) { if (uVar3 == 0) { uVar3 = 0; } else { uVar3 = FUN_1811316e0(uVar3); } goto LAB_1809ced7f; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar4; LAB_1809ced7f: lVar4 = uVar1 * 0x208 + uVar3; for (lVar11 = param_2 - uVar1; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_1809d37a0(lVar4); lVar4 = lVar4 + 0x208; } uVar1 = param_1[1]; uVar6 = uVar3; for (uVar5 = *param_1; uVar5 != uVar1; uVar5 = uVar5 + 0x208) { FUN_1809d3570(uVar6); uVar6 = uVar6 + 0x208; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = uVar3; param_1[1] = param_2 * 0x208 + uVar3; param_1[2] = uVar10 * 0x208 + uVar3; return; } puVar8 = (undefined8 *)param_1[1]; for (; puVar7 != puVar8; puVar7 = puVar7 + 0x41) { (**(code **)*puVar7)(puVar7,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar2) / 0x208) * 0x208)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cef70 size=896 ############ void FUN_1809cef70(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; puVar7 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar7 - lVar4) / 0x110; uVar3 = (param_1[2] - lVar4) / 0x110; if (param_2 <= uVar3) { if (uVar2 < param_2) { lVar4 = FUN_1809d2b00(puVar7,param_2 - uVar2,param_3,0); param_1[1] = lVar4; return; } if (param_2 != uVar2) { puVar9 = (undefined8 *)(param_2 * 0x110 + lVar4); for (puVar8 = puVar9; puVar8 != puVar7; puVar8 = puVar8 + 0x22) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (longlong)puVar9; } return; } if (0xf0f0f0f0f0f0f0 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0xf0f0f0f0f0f0f0 - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x110; if (uVar10 < 0xf0f0f0f0f0f0f1) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_1809cf089; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar4; LAB_1809cf089: FUN_1809d2b00(puVar7 + uVar2 * 0x22,param_2 - uVar2,param_3,0,puVar7 + uVar2 * 0x22,puVar7,uVar11) ; lVar4 = param_1[1]; puVar8 = puVar7; for (lVar6 = *param_1; lVar6 != lVar4; lVar6 = lVar6 + 0x110) { *puVar8 = license_services::LsSignedDigestWire::vftable; puVar8[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar8 + 2) = *(undefined4 *)(lVar6 + 0x10); puVar8[3] = *(undefined8 *)(lVar6 + 0x18); *(undefined2 *)(puVar8 + 4) = *(undefined2 *)(lVar6 + 0x20); *(undefined1 *)(puVar8 + 5) = *(undefined1 *)(lVar6 + 0x28); *(undefined4 *)((longlong)puVar8 + 0x2c) = *(undefined4 *)(lVar6 + 0x2c); FUN_1805a4070(puVar8 + 6,lVar6 + 0x30); FUN_1805b46a0(puVar8 + 10,lVar6 + 0x50); FUN_1805a4070(puVar8 + 0xd,lVar6 + 0x68); FUN_1805a4070(puVar8 + 0x11,lVar6 + 0x88); FUN_1805a4070(puVar8 + 0x15,lVar6 + 0xa8); FUN_1805a4070(puVar8 + 0x19,lVar6 + 200); FUN_18080fe30(puVar8 + 0x1d); puVar8[0x20] = *(undefined8 *)(lVar6 + 0x100); *(undefined2 *)(puVar8 + 0x21) = *(undefined2 *)(lVar6 + 0x108); puVar8 = puVar8 + 0x22; } puVar8 = (undefined8 *)*param_1; if (puVar8 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x22); param_1[2] = (longlong)(puVar7 + uVar10 * 0x22); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar8 != puVar7; puVar8 = puVar8 + 0x22) { (**(code **)*puVar8)(puVar8,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x110) * 0x110)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cf300 size=1038 ############ void FUN_1809cf300(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; undefined8 *puVar10; puVar10 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar10 - lVar4) / 0x160; uVar3 = (param_1[2] - lVar4) / 0x160; if (param_2 <= uVar3) { if (param_2 <= uVar2) { if (param_2 != uVar2) { puVar8 = (undefined8 *)(param_2 * 0x160 + lVar4); for (puVar9 = puVar8; puVar9 != puVar10; puVar9 = puVar9 + 0x2c) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } for (lVar4 = param_2 - uVar2; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d4910(puVar10); puVar10 = puVar10 + 0x2c; } param_1[1] = (longlong)puVar10; return; } if (0xba2e8ba2e8ba2e < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = param_2; if ((uVar3 <= 0xba2e8ba2e8ba2e - (uVar3 >> 1)) && (uVar5 = (uVar3 >> 1) + uVar3, uVar5 < param_2)) { uVar5 = param_2; } uVar3 = uVar5 * 0x160; if (uVar5 < 0xba2e8ba2e8ba2f) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_1809cf419; } } else { uVar3 = 0xffffffffffffffff; } uVar6 = uVar3 + 0x27; if (uVar6 <= uVar3) { uVar6 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar6); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar4; LAB_1809cf419: puVar9 = puVar10 + uVar2 * 0x2c; for (lVar4 = param_2 - uVar2; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d4910(puVar9); puVar9 = puVar9 + 0x2c; } lVar4 = param_1[1]; puVar9 = puVar10; for (lVar7 = *param_1; lVar7 != lVar4; lVar7 = lVar7 + 0x160) { *puVar9 = license_services::LsUserWire::vftable; puVar9[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar9 + 2) = *(undefined4 *)(lVar7 + 0x10); puVar9[3] = *(undefined8 *)(lVar7 + 0x18); *(undefined2 *)(puVar9 + 4) = *(undefined2 *)(lVar7 + 0x20); *(undefined1 *)(puVar9 + 5) = *(undefined1 *)(lVar7 + 0x28); FUN_1805a4070(puVar9 + 6,lVar7 + 0x30); FUN_1805a4070(puVar9 + 10,lVar7 + 0x50); FUN_1805a4070(puVar9 + 0xe,lVar7 + 0x70); FUN_1805a4070(puVar9 + 0x12,lVar7 + 0x90); FUN_1805a4070(puVar9 + 0x16,lVar7 + 0xb0); FUN_1805a4070(puVar9 + 0x1a,lVar7 + 0xd0); FUN_1805a4070(puVar9 + 0x1e,lVar7 + 0xf0); FUN_1805a4070(puVar9 + 0x22,lVar7 + 0x110); FUN_1805a4070(puVar9 + 0x26); puVar9[0x2a] = *(undefined8 *)(lVar7 + 0x150); *(undefined2 *)(puVar9 + 0x2b) = *(undefined2 *)(lVar7 + 0x158); *(undefined1 *)((longlong)puVar9 + 0x15a) = *(undefined1 *)(lVar7 + 0x15a); puVar9 = puVar9 + 0x2c; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x2c); param_1[2] = (longlong)(puVar10 + uVar5 * 0x2c); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar9 != puVar10; puVar9 = puVar9 + 0x2c) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x160) * 0x160)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cf720 size=1070 ############ void FUN_1809cf720(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; void *_Memory; ulonglong uVar9; undefined8 *puVar10; puVar10 = (undefined8 *)param_1[1]; lVar6 = *param_1; lVar4 = ((longlong)puVar10 - lVar6) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)puVar10 - lVar6),8); uVar9 = (lVar4 >> 8) - (lVar4 >> 0x3f); lVar4 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - lVar6),8) + (param_1[2] - lVar6); uVar5 = (lVar4 >> 8) - (lVar4 >> 0x3f); if (param_2 <= uVar5) { if (param_2 <= uVar9) { if (param_2 != uVar9) { puVar7 = (undefined8 *)(param_2 * 0x150 + lVar6); for (puVar8 = puVar7; puVar8 != puVar10; puVar8 = puVar8 + 0x2a) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (longlong)puVar7; } return; } for (lVar4 = param_2 - uVar9; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d4770(puVar10); puVar10 = puVar10 + 0x2a; } param_1[1] = (longlong)puVar10; return; } if (0xc30c30c30c30c3 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar2 = param_2; if ((uVar5 <= 0xc30c30c30c30c3 - (uVar5 >> 1)) && (uVar2 = (uVar5 >> 1) + uVar5, uVar2 < param_2)) { uVar2 = param_2; } uVar5 = uVar2 * 0x150; if (uVar2 < 0xc30c30c30c30c4) { if (uVar5 < 0x1000) { if (uVar5 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar5); } goto LAB_1809cf83d; } } else { uVar5 = 0xffffffffffffffff; } uVar3 = uVar5 + 0x27; if (uVar3 <= uVar5) { uVar3 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar3); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar4; LAB_1809cf83d: puVar8 = puVar10 + uVar9 * 0x2a; for (lVar4 = param_2 - uVar9; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d4770(puVar8); puVar8 = puVar8 + 0x2a; } lVar4 = param_1[1]; puVar8 = puVar10; for (lVar6 = *param_1; lVar6 != lVar4; lVar6 = lVar6 + 0x150) { *puVar8 = license_services::LsTimeLimitWire::vftable; puVar8[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar8 + 2) = *(undefined4 *)(lVar6 + 0x10); puVar8[3] = *(undefined8 *)(lVar6 + 0x18); *(undefined2 *)(puVar8 + 4) = *(undefined2 *)(lVar6 + 0x20); *(undefined1 *)(puVar8 + 5) = *(undefined1 *)(lVar6 + 0x28); *(undefined4 *)((longlong)puVar8 + 0x2c) = *(undefined4 *)(lVar6 + 0x2c); *(undefined4 *)(puVar8 + 6) = *(undefined4 *)(lVar6 + 0x30); *(undefined4 *)((longlong)puVar8 + 0x34) = *(undefined4 *)(lVar6 + 0x34); FUN_1805a4070(puVar8 + 7,lVar6 + 0x38); FUN_1805a4070(puVar8 + 0xb,lVar6 + 0x58); FUN_1805a4070(puVar8 + 0xf,lVar6 + 0x78); FUN_1805a4070(puVar8 + 0x13,lVar6 + 0x98); *(undefined4 *)(puVar8 + 0x17) = *(undefined4 *)(lVar6 + 0xb8); FUN_1805a4070(puVar8 + 0x18,lVar6 + 0xc0); FUN_1805a4070(puVar8 + 0x1c,lVar6 + 0xe0); *(undefined4 *)(puVar8 + 0x20) = *(undefined4 *)(lVar6 + 0x100); FUN_1805a4070(puVar8 + 0x21,lVar6 + 0x108); FUN_18080fe30(puVar8 + 0x25); puVar8[0x28] = *(undefined8 *)(lVar6 + 0x140); *(undefined4 *)(puVar8 + 0x29) = *(undefined4 *)(lVar6 + 0x148); *(undefined2 *)((longlong)puVar8 + 0x14c) = *(undefined2 *)(lVar6 + 0x14c); *(undefined1 *)((longlong)puVar8 + 0x14e) = *(undefined1 *)(lVar6 + 0x14e); puVar8 = puVar8 + 0x2a; } puVar8 = (undefined8 *)*param_1; if (puVar8 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x2a); param_1[2] = (longlong)(puVar10 + uVar2 * 0x2a); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar8 != puVar10; puVar8 = puVar8 + 0x2a) { (**(code **)*puVar8)(puVar8,0); } pvVar1 = (void *)*param_1; lVar4 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar4 >> 8) - (lVar4 >> 0x3f)) * 0x150)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cfb60 size=1054 ############ void FUN_1809cfb60(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; undefined4 uVar3; undefined4 uVar4; undefined4 uVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; ulonglong uVar9; longlong lVar10; undefined8 *puVar11; undefined8 *puVar12; void *_Memory; undefined8 *puVar13; puVar13 = (undefined8 *)param_1[1]; lVar7 = *param_1; uVar2 = ((longlong)puVar13 - lVar7) / 0x178; uVar6 = (param_1[2] - lVar7) / 0x178; if (param_2 <= uVar6) { if (param_2 <= uVar2) { if (param_2 != uVar2) { puVar11 = (undefined8 *)(param_2 * 0x178 + lVar7); for (puVar12 = puVar11; puVar12 != puVar13; puVar12 = puVar12 + 0x2f) { (**(code **)*puVar12)(puVar12,0); } param_1[1] = (longlong)puVar11; } return; } for (lVar7 = param_2 - uVar2; lVar7 != 0; lVar7 = lVar7 + -1) { FUN_1809d3ed0(puVar13); puVar13 = puVar13 + 0x2f; } param_1[1] = (longlong)puVar13; return; } if (0xae4c415c9882b9 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar8 = param_2; if ((uVar6 <= 0xae4c415c9882b9 - (uVar6 >> 1)) && (uVar8 = (uVar6 >> 1) + uVar6, uVar8 < param_2)) { uVar8 = param_2; } uVar6 = uVar8 * 0x178; if (uVar8 < 0xae4c415c9882ba) { if (uVar6 < 0x1000) { if (uVar6 == 0) { puVar13 = (undefined8 *)0x0; } else { puVar13 = (undefined8 *)FUN_1811316e0(uVar6); } goto LAB_1809cfc79; } } else { uVar6 = 0xffffffffffffffff; } uVar9 = uVar6 + 0x27; if (uVar9 <= uVar6) { uVar9 = 0xffffffffffffffff; } lVar7 = FUN_1811316e0(uVar9); if (lVar7 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar13 = (undefined8 *)(lVar7 + 0x27U & 0xffffffffffffffe0); puVar13[-1] = lVar7; LAB_1809cfc79: puVar12 = puVar13 + uVar2 * 0x2f; for (lVar7 = param_2 - uVar2; lVar7 != 0; lVar7 = lVar7 + -1) { FUN_1809d3ed0(puVar12); puVar12 = puVar12 + 0x2f; } lVar7 = param_1[1]; puVar12 = puVar13; for (lVar10 = *param_1; lVar10 != lVar7; lVar10 = lVar10 + 0x178) { *puVar12 = license_services::LsIlokWire::vftable; puVar12[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar12 + 2) = *(undefined4 *)(lVar10 + 0x10); puVar12[3] = *(undefined8 *)(lVar10 + 0x18); *(undefined2 *)(puVar12 + 4) = *(undefined2 *)(lVar10 + 0x20); *(undefined1 *)(puVar12 + 5) = *(undefined1 *)(lVar10 + 0x28); *(undefined4 *)((longlong)puVar12 + 0x2c) = *(undefined4 *)(lVar10 + 0x2c); FUN_1805a4070(puVar12 + 6,lVar10 + 0x30); FUN_1805a4070(puVar12 + 10,lVar10 + 0x50); *(undefined4 *)(puVar12 + 0xe) = *(undefined4 *)(lVar10 + 0x70); FUN_1805a4070(puVar12 + 0xf,lVar10 + 0x78); FUN_1805a4070(puVar12 + 0x13,lVar10 + 0x98); *(undefined4 *)(puVar12 + 0x17) = *(undefined4 *)(lVar10 + 0xb8); FUN_1805a4070(puVar12 + 0x18,lVar10 + 0xc0); *(undefined4 *)(puVar12 + 0x1c) = *(undefined4 *)(lVar10 + 0xe0); *(undefined4 *)((longlong)puVar12 + 0xe4) = *(undefined4 *)(lVar10 + 0xe4); FUN_1805a4070(puVar12 + 0x1d,lVar10 + 0xe8); FUN_1805a4070(puVar12 + 0x21,lVar10 + 0x108); FUN_1805a4070(puVar12 + 0x25,lVar10 + 0x128); FUN_1805a4070(puVar12 + 0x29); uVar3 = *(undefined4 *)(lVar10 + 0x16c); uVar4 = *(undefined4 *)(lVar10 + 0x170); uVar5 = *(undefined4 *)(lVar10 + 0x174); *(undefined4 *)(puVar12 + 0x2d) = *(undefined4 *)(lVar10 + 0x168); *(undefined4 *)((longlong)puVar12 + 0x16c) = uVar3; *(undefined4 *)(puVar12 + 0x2e) = uVar4; *(undefined4 *)((longlong)puVar12 + 0x174) = uVar5; puVar12 = puVar12 + 0x2f; } puVar12 = (undefined8 *)*param_1; if (puVar12 == (undefined8 *)0x0) { *param_1 = (longlong)puVar13; param_1[1] = (longlong)(puVar13 + param_2 * 0x2f); param_1[2] = (longlong)(puVar13 + uVar8 * 0x2f); return; } puVar13 = (undefined8 *)param_1[1]; for (; puVar12 != puVar13; puVar12 = puVar12 + 0x2f) { (**(code **)*puVar12)(puVar12,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x178) * 0x178)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809cff90 size=877 ############ void FUN_1809cff90(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar6 = *param_1; lVar3 = ((longlong)puVar7 - lVar6) + SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816((longlong)puVar7 - lVar6),8); uVar5 = (lVar3 >> 7) - (lVar3 >> 0x3f); lVar3 = SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816(param_1[2] - lVar6),8) + (param_1[2] - lVar6); uVar4 = (lVar3 >> 7) - (lVar3 >> 0x3f); local_res18 = param_3; if (param_2 <= uVar4) { if (param_2 <= uVar5) { if (param_2 != uVar5) { puVar8 = (undefined8 *)(param_2 * 0xb8 + lVar6); for (puVar9 = puVar8; puVar9 != puVar7; puVar9 = puVar9 + 0x17) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } lVar3 = FUN_1809d5ce0(&local_res18,puVar7,param_2 - uVar5); param_1[1] = lVar3; return; } if (0x1642c8590b21642 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar4 <= 0x1642c8590b21642 - (uVar4 >> 1)) && (uVar10 = (uVar4 >> 1) + uVar4, uVar10 < param_2)) { uVar10 = param_2; } uVar4 = uVar10 * 0xb8; local_res20 = uVar10; if (uVar10 < 0x1642c8590b21643) { if (uVar4 < 0x1000) { if (uVar4 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar4); } goto LAB_1809d00af; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar2); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar3; LAB_1809d00af: FUN_1809d5ce0(&local_res18,puVar7 + uVar5 * 0x17,param_2 - uVar5); lVar3 = param_1[1]; puVar9 = puVar7; for (lVar6 = *param_1; lVar6 != lVar3; lVar6 = lVar6 + 0xb8) { *puVar9 = license_services::LsSignatureWire::vftable; puVar9[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar9 + 2) = *(undefined4 *)(lVar6 + 0x10); puVar9[3] = *(undefined8 *)(lVar6 + 0x18); *(undefined2 *)(puVar9 + 4) = *(undefined2 *)(lVar6 + 0x20); *(undefined1 *)(puVar9 + 5) = *(undefined1 *)(lVar6 + 0x28); FUN_1805a4070(puVar9 + 6,lVar6 + 0x30); FUN_1805a4070(puVar9 + 10,lVar6 + 0x50); FUN_1805a4070(puVar9 + 0xe,lVar6 + 0x70); *(undefined4 *)(puVar9 + 0x12) = *(undefined4 *)(lVar6 + 0x90); FUN_18080fe30(puVar9 + 0x13); *(undefined4 *)(puVar9 + 0x16) = *(undefined4 *)(lVar6 + 0xb0); *(undefined2 *)((longlong)puVar9 + 0xb4) = *(undefined2 *)(lVar6 + 0xb4); *(undefined1 *)((longlong)puVar9 + 0xb6) = *(undefined1 *)(lVar6 + 0xb6); puVar9 = puVar9 + 0x17; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x17); param_1[2] = (longlong)(puVar7 + uVar10 * 0x17); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar9 != puVar7; puVar9 = puVar9 + 0x17) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 0xb8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809d0300 size=990 ############ void FUN_1809d0300(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; undefined8 *puVar10; puVar10 = (undefined8 *)param_1[1]; lVar4 = *param_1; uVar2 = ((longlong)puVar10 - lVar4) / 0x128; uVar3 = (param_1[2] - lVar4) / 0x128; if (param_2 <= uVar3) { if (param_2 <= uVar2) { if (param_2 != uVar2) { puVar8 = (undefined8 *)(param_2 * 0x128 + lVar4); for (puVar9 = puVar8; puVar9 != puVar10; puVar9 = puVar9 + 0x25) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } for (lVar4 = param_2 - uVar2; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d4410(puVar10); puVar10 = puVar10 + 0x25; } param_1[1] = (longlong)puVar10; return; } if (0xdd67c8a60dd67c < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = param_2; if ((uVar3 <= 0xdd67c8a60dd67c - (uVar3 >> 1)) && (uVar5 = (uVar3 >> 1) + uVar3, uVar5 < param_2)) { uVar5 = param_2; } uVar3 = uVar5 * 0x128; if (uVar5 < 0xdd67c8a60dd67d) { if (uVar3 < 0x1000) { if (uVar3 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar3); } goto LAB_1809d0419; } } else { uVar3 = 0xffffffffffffffff; } uVar6 = uVar3 + 0x27; if (uVar6 <= uVar3) { uVar6 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar6); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar4 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar4; LAB_1809d0419: puVar9 = puVar10 + uVar2 * 0x25; for (lVar4 = param_2 - uVar2; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d4410(puVar9); puVar9 = puVar9 + 0x25; } lVar4 = param_1[1]; puVar9 = puVar10; for (lVar7 = *param_1; lVar7 != lVar4; lVar7 = lVar7 + 0x128) { *puVar9 = license_services::LsParticipantWire::vftable; puVar9[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar9 + 2) = *(undefined4 *)(lVar7 + 0x10); puVar9[3] = *(undefined8 *)(lVar7 + 0x18); *(undefined2 *)(puVar9 + 4) = *(undefined2 *)(lVar7 + 0x20); *(undefined1 *)(puVar9 + 5) = *(undefined1 *)(lVar7 + 0x28); FUN_1805a4070(puVar9 + 6,lVar7 + 0x30); FUN_1805a4070(puVar9 + 10,lVar7 + 0x50); FUN_1805a4070(puVar9 + 0xe,lVar7 + 0x70); FUN_1805a4070(puVar9 + 0x12,lVar7 + 0x90); *(undefined4 *)(puVar9 + 0x16) = *(undefined4 *)(lVar7 + 0xb0); FUN_1805a4070(puVar9 + 0x17,lVar7 + 0xb8); FUN_1805a4070(puVar9 + 0x1b,lVar7 + 0xd8); FUN_1805a4070(puVar9 + 0x1f); puVar9[0x23] = *(undefined8 *)(lVar7 + 0x118); *(undefined2 *)(puVar9 + 0x24) = *(undefined2 *)(lVar7 + 0x120); puVar9 = puVar9 + 0x25; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x25); param_1[2] = (longlong)(puVar10 + uVar5 * 0x25); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar9 != puVar10; puVar9 = puVar9 + 0x25) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x128) * 0x128)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809d06f0 size=960 ############ void FUN_1809d06f0(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; undefined4 uVar3; undefined4 uVar4; undefined4 uVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; longlong lVar9; undefined8 *puVar10; undefined8 *puVar11; undefined8 *puVar12; void *_Memory; ulonglong uVar13; undefined8 uVar14; uVar14 = 0xfffffffffffffffe; puVar10 = (undefined8 *)param_1[1]; lVar7 = *param_1; uVar2 = ((longlong)puVar10 - lVar7) / 0x118; uVar6 = (param_1[2] - lVar7) / 0x118; if (param_2 <= uVar6) { if (param_2 <= uVar2) { if (param_2 != uVar2) { puVar12 = (undefined8 *)(param_2 * 0x118 + lVar7); for (puVar11 = puVar12; puVar11 != puVar10; puVar11 = puVar11 + 0x23) { (**(code **)*puVar11)(puVar11,0); } param_1[1] = (longlong)puVar12; } return; } lVar7 = FUN_1809d27f0(puVar10,param_2 - uVar2,param_3,0); param_1[1] = lVar7; return; } if (0xea0ea0ea0ea0ea < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = param_2; if ((uVar6 <= 0xea0ea0ea0ea0ea - (uVar6 >> 1)) && (uVar13 = (uVar6 >> 1) + uVar6, uVar13 < param_2)) { uVar13 = param_2; } uVar6 = uVar13 * 0x118; if (uVar13 < 0xea0ea0ea0ea0eb) { if (uVar6 < 0x1000) { if (uVar6 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar6); } goto LAB_1809d0809; } } else { uVar6 = 0xffffffffffffffff; } uVar8 = uVar6 + 0x27; if (uVar8 <= uVar6) { uVar8 = 0xffffffffffffffff; } lVar7 = FUN_1811316e0(uVar8); if (lVar7 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar7 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar7; LAB_1809d0809: FUN_1809d27f0(puVar10 + uVar2 * 0x23,param_2 - uVar2,param_3,0,puVar10 + uVar2 * 0x23,puVar10, uVar14); lVar7 = param_1[1]; puVar11 = puVar10; for (lVar9 = *param_1; lVar9 != lVar7; lVar9 = lVar9 + 0x118) { *puVar11 = license_services::LsDeveloperBlockWire::vftable; puVar11[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar11 + 2) = *(undefined4 *)(lVar9 + 0x10); puVar11[3] = *(undefined8 *)(lVar9 + 0x18); *(undefined2 *)(puVar11 + 4) = *(undefined2 *)(lVar9 + 0x20); *(undefined1 *)(puVar11 + 5) = *(undefined1 *)(lVar9 + 0x28); *(undefined4 *)((longlong)puVar11 + 0x2c) = *(undefined4 *)(lVar9 + 0x2c); *(undefined1 *)(puVar11 + 6) = *(undefined1 *)(lVar9 + 0x30); FUN_1805b46a0(puVar11 + 7,lVar9 + 0x38); FUN_1805b46a0(puVar11 + 10,lVar9 + 0x50); *(undefined4 *)(puVar11 + 0xd) = *(undefined4 *)(lVar9 + 0x68); *(undefined4 *)((longlong)puVar11 + 0x6c) = *(undefined4 *)(lVar9 + 0x6c); FUN_1805a4070(puVar11 + 0xe,lVar9 + 0x70); FUN_1805a4070(puVar11 + 0x12,lVar9 + 0x90); *(undefined4 *)(puVar11 + 0x16) = *(undefined4 *)(lVar9 + 0xb0); *(undefined4 *)((longlong)puVar11 + 0xb4) = *(undefined4 *)(lVar9 + 0xb4); *(undefined1 *)(puVar11 + 0x17) = *(undefined1 *)(lVar9 + 0xb8); FUN_1805a4070(puVar11 + 0x18,lVar9 + 0xc0); *(undefined4 *)(puVar11 + 0x1c) = *(undefined4 *)(lVar9 + 0xe0); *(undefined1 *)((longlong)puVar11 + 0xe4) = *(undefined1 *)(lVar9 + 0xe4); FUN_18080fe30(puVar11 + 0x1d); uVar3 = *(undefined4 *)(lVar9 + 0x104); uVar4 = *(undefined4 *)(lVar9 + 0x108); uVar5 = *(undefined4 *)(lVar9 + 0x10c); *(undefined4 *)(puVar11 + 0x20) = *(undefined4 *)(lVar9 + 0x100); *(undefined4 *)((longlong)puVar11 + 0x104) = uVar3; *(undefined4 *)(puVar11 + 0x21) = uVar4; *(undefined4 *)((longlong)puVar11 + 0x10c) = uVar5; *(undefined1 *)(puVar11 + 0x22) = *(undefined1 *)(lVar9 + 0x110); puVar11 = puVar11 + 0x23; } puVar11 = (undefined8 *)*param_1; if (puVar11 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x23); param_1[2] = (longlong)(puVar10 + uVar13 * 0x23); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar11 != puVar10; puVar11 = puVar11 + 0x23) { (**(code **)*puVar11)(puVar11,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x118) * 0x118)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809d0ac0 size=737 ############ void FUN_1809d0ac0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; longlong lVar8; void *_Memory; ulonglong uVar9; ulonglong uVar10; longlong lVar11; undefined1 local_res8; ulonglong uVar12; undefined8 uVar13; longlong lVar14; uVar13 = 0xfffffffffffffffe; puVar5 = (undefined8 *)param_1[1]; uVar9 = *param_1; lVar4 = (longlong)((longlong)puVar5 - uVar9) / 6 + ((longlong)((longlong)puVar5 - uVar9) >> 0x3f); uVar10 = (lVar4 >> 6) - (lVar4 >> 0x3f); uVar12 = (longlong)(param_1[2] - uVar9) / 0x180; if (param_2 <= uVar12) { if (param_2 <= uVar10) { if (param_2 != uVar10) { puVar7 = (undefined8 *)(param_2 * 0x180 + uVar9); for (puVar6 = puVar7; puVar6 != puVar5; puVar6 = puVar6 + 0x30) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (ulonglong)puVar7; } return; } for (lVar4 = param_2 - uVar10; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d3ba0(puVar5); puVar5 = puVar5 + 0x30; } param_1[1] = (ulonglong)puVar5; return; } if (0xaaaaaaaaaaaaaa < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar12 <= 0xaaaaaaaaaaaaaa - (uVar12 >> 1)) && (uVar9 = (uVar12 >> 1) + uVar12, uVar9 < param_2)) { uVar9 = param_2; } uVar2 = uVar9 * 0x180; uVar12 = uVar10; if (uVar9 < 0xaaaaaaaaaaaaab) { if (uVar2 < 0x1000) { if (uVar2 == 0) { uVar2 = 0; } else { uVar2 = FUN_1811316e0(uVar2); } goto LAB_1809d0be0; } } else { uVar2 = 0xffffffffffffffff; } uVar3 = uVar2 + 0x27; if (uVar3 <= uVar2) { uVar3 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar3); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar4; LAB_1809d0be0: lVar8 = uVar10 * 0x180 + uVar2; lVar4 = lVar8; uVar10 = uVar2; lVar14 = lVar8; for (lVar11 = param_2 - uVar12; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_1809d3ba0(lVar8); lVar8 = lVar8 + 0x180; } local_res8 = SUB81(param_1,0); FUN_1809d20d0(*param_1,param_1[1],uVar2,param_1,0,local_res8,uVar12,lVar4,uVar10,uVar13,lVar14, lVar8,param_3); puVar5 = (undefined8 *)*param_1; if (puVar5 == (undefined8 *)0x0) { *param_1 = uVar2; param_1[1] = param_2 * 0x180 + uVar2; param_1[2] = uVar9 * 0x180 + uVar2; return; } puVar6 = (undefined8 *)param_1[1]; for (; puVar5 != puVar6; puVar5 = puVar5 + 0x30) { (**(code **)*puVar5)(puVar5,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar1) / 0x180) * 0x180)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809d0db0 size=925 ############ void FUN_1809d0db0(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; ulonglong uVar5; longlong lVar6; ulonglong uVar7; ulonglong uVar8; longlong lVar9; undefined8 *puVar10; undefined8 *puVar11; undefined8 *puVar12; void *_Memory; ulonglong uVar13; undefined8 local_res18; ulonglong local_res20; puVar10 = (undefined8 *)param_1[1]; lVar9 = *param_1; lVar6 = ((longlong)puVar10 - lVar9) + SUB168(SEXT816(-0x7777777777777777) * SEXT816((longlong)puVar10 - lVar9),8); uVar8 = (lVar6 >> 7) - (lVar6 >> 0x3f); lVar6 = SUB168(SEXT816(-0x7777777777777777) * SEXT816(param_1[2] - lVar9),8) + (param_1[2] - lVar9); uVar7 = (lVar6 >> 7) - (lVar6 >> 0x3f); local_res18 = param_3; if (param_2 <= uVar7) { if (uVar8 < param_2) { lVar6 = FUN_1809d5e20(&local_res18,puVar10,param_2 - uVar8); param_1[1] = lVar6; return; } if (param_2 != uVar8) { puVar11 = (undefined8 *)(param_2 * 0xf0 + lVar9); for (puVar12 = puVar11; puVar12 != puVar10; puVar12 = puVar12 + 0x1e) { (**(code **)*puVar12)(puVar12,0); } param_1[1] = (longlong)puVar11; } return; } if (0x111111111111111 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = param_2; if ((uVar7 <= 0x111111111111111 - (uVar7 >> 1)) && (uVar13 = (uVar7 >> 1) + uVar7, uVar13 < param_2)) { uVar13 = param_2; } uVar7 = uVar13 * 0xf0; local_res20 = uVar13; if (uVar13 < 0x111111111111112) { if (uVar7 < 0x1000) { if (uVar7 == 0) { puVar10 = (undefined8 *)0x0; } else { puVar10 = (undefined8 *)FUN_1811316e0(uVar7); } goto LAB_1809d0ecf; } } else { uVar7 = 0xffffffffffffffff; } uVar5 = uVar7 + 0x27; if (uVar5 <= uVar7) { uVar5 = 0xffffffffffffffff; } lVar6 = FUN_1811316e0(uVar5); if (lVar6 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (undefined8 *)(lVar6 + 0x27U & 0xffffffffffffffe0); puVar10[-1] = lVar6; LAB_1809d0ecf: FUN_1809d5e20(&local_res18,puVar10 + uVar8 * 0x1e,param_2 - uVar8); lVar6 = param_1[1]; puVar12 = puVar10; for (lVar9 = *param_1; lVar9 != lVar6; lVar9 = lVar9 + 0xf0) { *puVar12 = license_services::LsCountLimitWire::vftable; puVar12[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar12 + 2) = *(undefined4 *)(lVar9 + 0x10); puVar12[3] = *(undefined8 *)(lVar9 + 0x18); *(undefined2 *)(puVar12 + 4) = *(undefined2 *)(lVar9 + 0x20); *(undefined1 *)(puVar12 + 5) = *(undefined1 *)(lVar9 + 0x28); *(undefined4 *)((longlong)puVar12 + 0x2c) = *(undefined4 *)(lVar9 + 0x2c); *(undefined1 *)(puVar12 + 6) = *(undefined1 *)(lVar9 + 0x30); *(undefined4 *)((longlong)puVar12 + 0x34) = *(undefined4 *)(lVar9 + 0x34); *(undefined4 *)(puVar12 + 7) = *(undefined4 *)(lVar9 + 0x38); *(undefined1 *)((longlong)puVar12 + 0x3c) = *(undefined1 *)(lVar9 + 0x3c); *(undefined4 *)(puVar12 + 8) = *(undefined4 *)(lVar9 + 0x40); *(undefined4 *)((longlong)puVar12 + 0x44) = *(undefined4 *)(lVar9 + 0x44); *(undefined1 *)(puVar12 + 9) = *(undefined1 *)(lVar9 + 0x48); *(undefined4 *)((longlong)puVar12 + 0x4c) = *(undefined4 *)(lVar9 + 0x4c); *(undefined4 *)(puVar12 + 10) = *(undefined4 *)(lVar9 + 0x50); FUN_1805a4070(puVar12 + 0xb,lVar9 + 0x58); FUN_1805a4070(puVar12 + 0xf,lVar9 + 0x78); *(undefined4 *)(puVar12 + 0x13) = *(undefined4 *)(lVar9 + 0x98); FUN_1805a4070(puVar12 + 0x14,lVar9 + 0xa0); FUN_18080fe30(puVar12 + 0x18); uVar2 = *(undefined4 *)(lVar9 + 0xdc); uVar3 = *(undefined4 *)(lVar9 + 0xe0); uVar4 = *(undefined4 *)(lVar9 + 0xe4); *(undefined4 *)(puVar12 + 0x1b) = *(undefined4 *)(lVar9 + 0xd8); *(undefined4 *)((longlong)puVar12 + 0xdc) = uVar2; *(undefined4 *)(puVar12 + 0x1c) = uVar3; *(undefined4 *)((longlong)puVar12 + 0xe4) = uVar4; *(undefined1 *)(puVar12 + 0x1d) = *(undefined1 *)(lVar9 + 0xe8); puVar12 = puVar12 + 0x1e; } puVar12 = (undefined8 *)*param_1; if (puVar12 == (undefined8 *)0x0) { *param_1 = (longlong)puVar10; param_1[1] = (longlong)(puVar10 + param_2 * 0x1e); param_1[2] = (longlong)(puVar10 + uVar13 * 0x1e); return; } puVar10 = (undefined8 *)param_1[1]; for (; puVar12 != puVar10; puVar12 = puVar12 + 0x1e) { (**(code **)*puVar12)(puVar12,0); } pvVar1 = (void *)*param_1; lVar6 = SUB168(SEXT816(-0x7777777777777777) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar6 >> 7) - (lVar6 >> 0x3f)) * 0xf0)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809d1150 size=769 ############ void FUN_1809d1150(ulonglong *param_1,ulonglong param_2) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; longlong lVar11; puVar7 = (undefined8 *)param_1[1]; uVar10 = *param_1; uVar1 = (longlong)((longlong)puVar7 - uVar10) / 0x230; uVar3 = (longlong)(param_1[2] - uVar10) / 0x230; if (param_2 <= uVar3) { if (param_2 <= uVar1) { if (param_2 != uVar1) { puVar9 = (undefined8 *)(param_2 * 0x230 + uVar10); for (puVar8 = puVar9; puVar8 != puVar7; puVar8 = puVar8 + 0x46) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (ulonglong)puVar9; } return; } for (lVar4 = param_2 - uVar1; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_180810fd0(puVar7); puVar7 = puVar7 + 0x46; } param_1[1] = (ulonglong)puVar7; return; } if (0x75075075075075 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0x75075075075075 - (uVar3 >> 1)) && (uVar10 = (uVar3 >> 1) + uVar3, uVar10 < param_2)) { uVar10 = param_2; } uVar3 = uVar10 * 0x230; if (uVar10 < 0x75075075075076) { if (uVar3 < 0x1000) { if (uVar3 == 0) { uVar3 = 0; } else { uVar3 = FUN_1811316e0(uVar3); } goto LAB_1809d126f; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar4; LAB_1809d126f: lVar4 = uVar1 * 0x230 + uVar3; for (lVar11 = param_2 - uVar1; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_180810fd0(lVar4); lVar4 = lVar4 + 0x230; } uVar1 = param_1[1]; uVar6 = uVar3; for (uVar5 = *param_1; uVar5 != uVar1; uVar5 = uVar5 + 0x230) { FUN_180810df0(uVar6); uVar6 = uVar6 + 0x230; } puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = uVar3; param_1[1] = param_2 * 0x230 + uVar3; param_1[2] = uVar10 * 0x230 + uVar3; return; } puVar8 = (undefined8 *)param_1[1]; for (; puVar7 != puVar8; puVar7 = puVar7 + 0x46) { (**(code **)*puVar7)(puVar7,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar2) / 0x230) * 0x230)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809d1460 size=1102 ############ void FUN_1809d1460(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; undefined4 uVar3; undefined4 uVar4; undefined4 uVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; longlong lVar9; undefined8 *puVar10; undefined8 *puVar11; void *_Memory; ulonglong uVar12; undefined8 *puVar13; puVar13 = (undefined8 *)param_1[1]; lVar7 = *param_1; uVar2 = ((longlong)puVar13 - lVar7) / 0x140; uVar6 = (param_1[2] - lVar7) / 0x140; if (param_2 <= uVar6) { if (uVar2 < param_2) { for (lVar7 = param_2 - uVar2; lVar7 != 0; lVar7 = lVar7 + -1) { FUN_1809d3d60(puVar13); puVar13 = puVar13 + 0x28; } param_1[1] = (longlong)puVar13; return; } if (param_2 != uVar2) { puVar10 = (undefined8 *)(param_2 * 0x140 + lVar7); for (puVar11 = puVar10; puVar11 != puVar13; puVar11 = puVar11 + 0x28) { (**(code **)*puVar11)(puVar11,0); } param_1[1] = (longlong)puVar10; } return; } if (0xcccccccccccccc < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = param_2; if ((uVar6 <= 0xcccccccccccccc - (uVar6 >> 1)) && (uVar12 = uVar6 + (uVar6 >> 1), uVar12 < param_2)) { uVar12 = param_2; } uVar6 = uVar12 * 0x140; if (uVar12 < 0xcccccccccccccd) { if (uVar6 < 0x1000) { if (uVar6 == 0) { puVar13 = (undefined8 *)0x0; } else { puVar13 = (undefined8 *)FUN_1811316e0(uVar6); } goto LAB_1809d1582; } } else { uVar6 = 0xffffffffffffffff; } uVar8 = uVar6 + 0x27; if (uVar8 <= uVar6) { uVar8 = 0xffffffffffffffff; } lVar7 = FUN_1811316e0(uVar8); if (lVar7 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar13 = (undefined8 *)(lVar7 + 0x27U & 0xffffffffffffffe0); puVar13[-1] = lVar7; LAB_1809d1582: puVar11 = puVar13 + uVar2 * 0x28; for (lVar7 = param_2 - uVar2; lVar7 != 0; lVar7 = lVar7 + -1) { FUN_1809d3d60(puVar11); puVar11 = puVar11 + 0x28; } lVar7 = param_1[1]; puVar11 = puVar13; for (lVar9 = *param_1; lVar9 != lVar7; lVar9 = lVar9 + 0x140) { *puVar11 = license_services::LsIlokAuthWire::vftable; puVar11[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar11 + 2) = *(undefined4 *)(lVar9 + 0x10); puVar11[3] = *(undefined8 *)(lVar9 + 0x18); *(undefined2 *)(puVar11 + 4) = *(undefined2 *)(lVar9 + 0x20); *(undefined1 *)(puVar11 + 5) = *(undefined1 *)(lVar9 + 0x28); *(undefined4 *)((longlong)puVar11 + 0x2c) = *(undefined4 *)(lVar9 + 0x2c); *(undefined4 *)(puVar11 + 6) = *(undefined4 *)(lVar9 + 0x30); *(undefined1 *)((longlong)puVar11 + 0x34) = *(undefined1 *)(lVar9 + 0x34); FUN_1805a4070(puVar11 + 7,lVar9 + 0x38); FUN_1805a4070(puVar11 + 0xb,lVar9 + 0x58); *(undefined4 *)(puVar11 + 0xf) = *(undefined4 *)(lVar9 + 0x78); FUN_1805a4070(puVar11 + 0x10,lVar9 + 0x80); *(undefined4 *)(puVar11 + 0x14) = *(undefined4 *)(lVar9 + 0xa0); *(undefined4 *)((longlong)puVar11 + 0xa4) = *(undefined4 *)(lVar9 + 0xa4); FUN_1805a4070(puVar11 + 0x15,lVar9 + 0xa8); *(undefined4 *)(puVar11 + 0x19) = *(undefined4 *)(lVar9 + 200); *(undefined4 *)((longlong)puVar11 + 0xcc) = *(undefined4 *)(lVar9 + 0xcc); *(undefined1 *)(puVar11 + 0x1a) = *(undefined1 *)(lVar9 + 0xd0); FUN_1805a4070(puVar11 + 0x1b,lVar9 + 0xd8); FUN_18080fe30(puVar11 + 0x1f,lVar9 + 0xf8); FUN_18080fe30(puVar11 + 0x22); uVar3 = *(undefined4 *)(lVar9 + 300); uVar4 = *(undefined4 *)(lVar9 + 0x130); uVar5 = *(undefined4 *)(lVar9 + 0x134); *(undefined4 *)(puVar11 + 0x25) = *(undefined4 *)(lVar9 + 0x128); *(undefined4 *)((longlong)puVar11 + 300) = uVar3; *(undefined4 *)(puVar11 + 0x26) = uVar4; *(undefined4 *)((longlong)puVar11 + 0x134) = uVar5; *(undefined2 *)(puVar11 + 0x27) = *(undefined2 *)(lVar9 + 0x138); puVar11 = puVar11 + 0x28; } puVar11 = (undefined8 *)*param_1; if (puVar11 == (undefined8 *)0x0) { *param_1 = (longlong)puVar13; param_1[1] = (longlong)(puVar13 + param_2 * 0x28); param_1[2] = (longlong)(puVar13 + uVar12 * 0x28); return; } puVar13 = (undefined8 *)param_1[1]; for (; puVar11 != puVar13; puVar11 = puVar11 + 0x28) { (**(code **)*puVar11)(puVar11,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x140) * 0x140)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809d18c0 size=750 ############ void FUN_1809d18c0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong lVar9; void *_Memory; ulonglong uVar10; ulonglong uVar11; longlong lVar12; undefined1 local_res8; undefined8 uVar13; longlong lVar14; uVar13 = 0xfffffffffffffffe; puVar6 = (undefined8 *)param_1[1]; uVar10 = *param_1; lVar4 = ((longlong)puVar6 - uVar10) + SUB168(SEXT816(-0x5f5f5f5f5f5f5f5f) * SEXT816((longlong)((longlong)puVar6 - uVar10)),8); uVar11 = (lVar4 >> 8) - (lVar4 >> 0x3f); lVar4 = SUB168(SEXT816(-0x5f5f5f5f5f5f5f5f) * SEXT816((longlong)(param_1[2] - uVar10)),8) + (param_1[2] - uVar10); uVar5 = (lVar4 >> 8) - (lVar4 >> 0x3f); if (param_2 <= uVar5) { if (param_2 <= uVar11) { if (param_2 != uVar11) { puVar8 = (undefined8 *)(param_2 * 0x198 + uVar10); for (puVar7 = puVar8; puVar7 != puVar6; puVar7 = puVar7 + 0x33) { (**(code **)*puVar7)(puVar7,0); } param_1[1] = (ulonglong)puVar8; } return; } for (lVar4 = param_2 - uVar11; lVar4 != 0; lVar4 = lVar4 + -1) { FUN_1809d4210(puVar6); puVar6 = puVar6 + 0x33; } param_1[1] = (ulonglong)puVar6; return; } if (0xa0a0a0a0a0a0a0 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar5 <= 0xa0a0a0a0a0a0a0 - (uVar5 >> 1)) && (uVar10 = (uVar5 >> 1) + uVar5, uVar10 < param_2)) { uVar10 = param_2; } uVar2 = uVar10 * 0x198; uVar5 = uVar11; if (uVar10 < 0xa0a0a0a0a0a0a1) { if (uVar2 < 0x1000) { if (uVar2 == 0) { uVar2 = 0; } else { uVar2 = FUN_1811316e0(uVar2); } goto LAB_1809d19e3; } } else { uVar2 = 0xffffffffffffffff; } uVar3 = uVar2 + 0x27; if (uVar3 <= uVar2) { uVar3 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar3); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar2 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar2 - 8) = lVar4; LAB_1809d19e3: lVar9 = uVar11 * 0x198 + uVar2; lVar4 = lVar9; uVar11 = uVar2; lVar14 = lVar9; for (lVar12 = param_2 - uVar5; lVar12 != 0; lVar12 = lVar12 + -1) { FUN_1809d4210(lVar9); lVar9 = lVar9 + 0x198; } local_res8 = SUB81(param_1,0); FUN_1809d22e0(*param_1,param_1[1],uVar2,param_1,0,local_res8,uVar5,lVar4,uVar11,uVar13,lVar14, lVar9,param_3); puVar6 = (undefined8 *)*param_1; if (puVar6 == (undefined8 *)0x0) { *param_1 = uVar2; param_1[1] = param_2 * 0x198 + uVar2; param_1[2] = uVar10 * 0x198 + uVar2; return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar6 != puVar7; puVar6 = puVar6 + 0x33) { (**(code **)*puVar6)(puVar6,0); } pvVar1 = (void *)*param_1; lVar4 = SUB168(SEXT816(-0x5f5f5f5f5f5f5f5f) * SEXT816((longlong)(param_1[2] - (longlong)pvVar1)),8 ) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar4 >> 8) - (lVar4 >> 0x3f)) * 0x198)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809d1bc0 size=845 ############ void FUN_1809d1bc0(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; puVar7 = (undefined8 *)param_1[1]; lVar6 = *param_1; lVar3 = ((longlong)puVar7 - lVar6) + SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816((longlong)puVar7 - lVar6),8); uVar5 = (lVar3 >> 7) - (lVar3 >> 0x3f); lVar3 = SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816(param_1[2] - lVar6),8) + (param_1[2] - lVar6); uVar4 = (lVar3 >> 7) - (lVar3 >> 0x3f); local_res18 = param_3; if (param_2 <= uVar4) { if (param_2 <= uVar5) { if (param_2 != uVar5) { puVar8 = (undefined8 *)(param_2 * 0xb8 + lVar6); for (puVar9 = puVar8; puVar9 != puVar7; puVar9 = puVar9 + 0x17) { (**(code **)*puVar9)(puVar9,0); } param_1[1] = (longlong)puVar8; } return; } lVar3 = FUN_1809d5f80(&local_res18,puVar7,param_2 - uVar5); param_1[1] = lVar3; return; } if (0x1642c8590b21642 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar4 <= 0x1642c8590b21642 - (uVar4 >> 1)) && (uVar10 = (uVar4 >> 1) + uVar4, uVar10 < param_2)) { uVar10 = param_2; } uVar4 = uVar10 * 0xb8; local_res20 = uVar10; if (uVar10 < 0x1642c8590b21643) { if (uVar4 < 0x1000) { if (uVar4 == 0) { puVar7 = (undefined8 *)0x0; } else { puVar7 = (undefined8 *)FUN_1811316e0(uVar4); } goto LAB_1809d1cdf; } } else { uVar4 = 0xffffffffffffffff; } uVar2 = uVar4 + 0x27; if (uVar2 <= uVar4) { uVar2 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar2); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar7 = (undefined8 *)(lVar3 + 0x27U & 0xffffffffffffffe0); puVar7[-1] = lVar3; LAB_1809d1cdf: FUN_1809d5f80(&local_res18,puVar7 + uVar5 * 0x17,param_2 - uVar5); lVar3 = param_1[1]; puVar9 = puVar7; for (lVar6 = *param_1; lVar6 != lVar3; lVar6 = lVar6 + 0xb8) { *puVar9 = license_services::LsZZTestToOneWire::vftable; puVar9[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar9 + 2) = *(undefined4 *)(lVar6 + 0x10); puVar9[3] = *(undefined8 *)(lVar6 + 0x18); *(undefined2 *)(puVar9 + 4) = *(undefined2 *)(lVar6 + 0x20); *(undefined1 *)(puVar9 + 5) = *(undefined1 *)(lVar6 + 0x28); FUN_1805a4070(puVar9 + 6,lVar6 + 0x30); FUN_1805a4070(puVar9 + 10,lVar6 + 0x50); *(undefined4 *)(puVar9 + 0xe) = *(undefined4 *)(lVar6 + 0x70); *(undefined1 *)((longlong)puVar9 + 0x74) = *(undefined1 *)(lVar6 + 0x74); FUN_1805a4070(puVar9 + 0xf,lVar6 + 0x78); FUN_18080fe30(puVar9 + 0x13); puVar9[0x16] = *(undefined8 *)(lVar6 + 0xb0); puVar9 = puVar9 + 0x17; } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + param_2 * 0x17); param_1[2] = (longlong)(puVar7 + uVar10 * 0x17); return; } puVar7 = (undefined8 *)param_1[1]; for (; puVar9 != puVar7; puVar9 = puVar9 + 0x17) { (**(code **)*puVar9)(puVar9,0); } pvVar1 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 0xb8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180a0c2a0 size=97 ############ undefined8 * FUN_180a0c2a0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a0c310 size=96 ############ undefined8 * FUN_180a0c310(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a0d380 size=578 ############ void FUN_180a0d380(undefined8 *param_1,uint *param_2,undefined8 param_3,undefined8 param_4) { byte bVar1; int iVar2; longlong lVar3; char *pcVar4; undefined8 uVar5; uint uVar6; byte *pbVar7; longlong local_res8; char *local_res10; pbVar7 = (byte *)*param_1; if (param_1[1] - (longlong)pbVar7 == 0xd) { uVar6 = 0x20; if (0x34 < *pbVar7) { uVar6 = 0x19; } *param_2 = uVar6; } else { if (param_1[1] - (longlong)pbVar7 != 0xf) { local_res8 = FUN_1811316e0(0x18); if (local_res8 != 0) { FUN_1805a48c0(local_res8,"Invalid cert time size"); } lVar3 = FUN_1805c0260(); local_res8 = CONCAT44(local_res8._4_4_,0x84); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } bVar1 = *pbVar7; *param_2 = bVar1 - 0x30; *param_2 = pbVar7[1] - 0x30 | (bVar1 - 0x30) * 0x10; pbVar7 = pbVar7 + 2; } uVar6 = *pbVar7 - 0x30 | *param_2 << 4; *param_2 = uVar6; uVar6 = pbVar7[1] - 0x30 | uVar6 << 4; *param_2 = uVar6; uVar6 = pbVar7[2] - 0x30 | uVar6 << 4; *param_2 = uVar6; uVar6 = pbVar7[3] - 0x30 | uVar6 << 4; *param_2 = uVar6; uVar6 = pbVar7[4] - 0x30 | uVar6 << 4; *param_2 = uVar6; *param_2 = pbVar7[5] - 0x30 | uVar6 << 4; param_2[1] = 0; bVar1 = pbVar7[6]; param_2[1] = bVar1 - 0x30; uVar6 = pbVar7[7] - 0x30 | (bVar1 - 0x30) * 0x10; param_2[1] = uVar6; uVar6 = pbVar7[8] - 0x30 | uVar6 << 4; param_2[1] = uVar6; uVar6 = pbVar7[9] - 0x30 | uVar6 << 4; param_2[1] = uVar6; uVar6 = pbVar7[10] - 0x30 | uVar6 << 4; param_2[1] = uVar6; param_2[1] = (pbVar7[0xb] - 0x30 | uVar6 << 4) << 8; iVar2 = FUN_18061e680(param_2,0,0,param_4,0xfffffffffffffffe); local_res8 = CONCAT44(local_res8._4_4_,iVar2); if (iVar2 == 0) { return; } local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res10, "[%d] UTILS_CheckAndAddTime error. Invalid resulting iLokTime in Asn1ParserCert::ConvertCertTimeToILokTime" ); } pcVar4 = (char *)FUN_1811316e0(0x18); local_res10 = pcVar4; if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar3 + 8),&local_res8); local_res8 = CONCAT44(local_res8._4_4_,0xa3); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } ############ FUN_ 180a0d5f0 size=405 ############ void FUN_180a0d5f0(uint *param_1,undefined8 *param_2,undefined1 *param_3,undefined8 param_4) { longlong lVar1; char *pcVar2; undefined8 uVar3; int iVar4; undefined4 uVar5; int iVar6; int local_res8 [2]; char *local_res10; local_res8[0] = FUN_18061e680(param_1,0,0,param_4,0xfffffffffffffffe); if (local_res8[0] != 0) { local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 == (char *)0x0) { lVar1 = 0; } else { lVar1 = FUN_1805a48c0(local_res10, "[%d] UTILS_CheckAndAddTime error. Invalid input iLokTime in Asn1ParserCert::ConvertILokTimeToCertTime" ); } pcVar2 = (char *)FUN_1811316e0(0x18); local_res10 = pcVar2; if (pcVar2 == (char *)0x0) { pcVar2 = (char *)0x0; } else { FUN_1805a48c0(pcVar2,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar2 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar1 + 8),local_res8); local_res8[0] = 0xba; local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar3 = FUN_1805a21d0(*(undefined8 *)(pcVar2 + 8),&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,local_res8); } if (*(ushort *)((longlong)param_1 + 2) - 0x1950 < 0x6fa) { *param_3 = 0x17; iVar6 = 6; uVar5 = 0xd; } else { *param_3 = 0x18; iVar6 = 8; uVar5 = 0xf; } FUN_1805b0f50(param_2,uVar5,param_2); pcVar2 = (char *)*param_2; if (iVar6 != 0) { iVar4 = iVar6 * 4; do { iVar4 = iVar4 + -4; *pcVar2 = ((byte)(*param_1 >> ((byte)iVar4 & 0x1f)) & 0xf) + 0x30; pcVar2 = pcVar2 + 1; iVar6 = iVar6 + -1; } while (iVar6 != 0); } *pcVar2 = (byte)(param_1[1] >> 0x1c) + 0x30; pcVar2[1] = (*(byte *)((longlong)param_1 + 7) & 0xf) + 0x30; pcVar2[2] = ((byte)(param_1[1] >> 0x14) & 0xf) + 0x30; pcVar2[3] = (*(byte *)((longlong)param_1 + 6) & 0xf) + 0x30; pcVar2[4] = ((byte)(param_1[1] >> 0xc) & 0xf) + 0x30; pcVar2[5] = ((byte)(param_1[1] >> 8) & 0xf) + 0x30; pcVar2[6] = 'Z'; return; } ############ FUN_ 180a0f090 size=552 ############ longlong * FUN_180a0f090(longlong *param_1,longlong *param_2,int param_3,undefined1 param_4) { int *piVar1; int iVar2; longlong *plVar3; undefined8 uVar4; longlong lVar5; undefined4 local_res18 [2]; char *local_res20; undefined1 local_68 [8]; longlong *local_60; undefined1 local_58 [8]; longlong *local_50; undefined1 local_48 [8]; longlong *local_40; undefined1 local_38 [8]; longlong *local_30; *param_2 = 0; param_2[1] = 0; if (param_3 == 0) { uVar4 = (**(code **)(*param_1 + 0x18))(param_1,local_68,&DAT_181c09e8c); FUN_18067dba0(param_2,uVar4); if (local_60 != (longlong *)0x0) { LOCK(); plVar3 = local_60 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_60 + 8))(local_60); LOCK(); piVar1 = (int *)((longlong)local_60 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_60 + 0x10))(local_60); } } } if (*param_2 == 0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 != (char *)0x0) { FUN_1805a48c0(local_res20,"Main Public Key is missing"); } lVar5 = FUN_1805c0260(); local_res18[0] = 300; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar5 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res18); } } else { uVar4 = (**(code **)(*param_1 + 0x30)) (param_1,local_58,&DAT_181c09a20,param_4,1,0xfffffffffffffffe); FUN_18067dba0(param_2,uVar4); if (local_50 != (longlong *)0x0) { LOCK(); plVar3 = local_50 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_50 + 8))(local_50); LOCK(); piVar1 = (int *)((longlong)local_50 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_50 + 0x10))(local_50); } } } plVar3 = (longlong *)*param_2; if (plVar3 != (longlong *)0x0) { uVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,local_48,1,0x30); FUN_18067dba0(param_2,uVar4); if (local_40 != (longlong *)0x0) { LOCK(); plVar3 = local_40 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_40 + 8))(local_40); LOCK(); piVar1 = (int *)((longlong)local_40 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_40 + 0x10))(local_40); } } } plVar3 = (longlong *)*param_2; if (plVar3 != (longlong *)0x0) { uVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,local_38,param_3,0x30); FUN_18067dba0(param_2,uVar4); if (local_30 != (longlong *)0x0) { LOCK(); plVar3 = local_30 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_30 + 8))(local_30); LOCK(); piVar1 = (int *)((longlong)local_30 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_30 + 0x10))(local_30); } } } } } } return param_2; } ############ FUN_ 180a10d40 size=559 ############ void FUN_180a10d40(longlong *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong lVar5; undefined4 uVar6; longlong *plVar7; undefined8 *puVar8; undefined8 uVar9; void *_Memory; undefined8 *local_res8; char *local_res10; undefined1 local_50 [8]; longlong *local_48; void *local_40; undefined8 uStack_38; longlong local_30; local_40 = (void *)0x0; uStack_38 = 0; local_30 = 0; plVar7 = (longlong *) (**(code **)(*param_1 + 0x18))(0,local_50,&DAT_181c09e30,param_4,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar7; plVar4 = (longlong *)plVar7[1]; plVar7[1] = 0; *plVar7 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar7 = local_48 + 1; lVar5 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 == (longlong *)0x0) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"CertSerialNumber is missing"); } puVar8 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar8; if (puVar8 == (undefined8 *)0x0) { puVar8 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar8,"|__FILE__|%s|__LINE__|%d"); *puVar8 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1d2); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(puVar8[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,&local_res8); } (**(code **)(*plVar3 + 0x30))(plVar3,&local_40); FUN_180b226d0(&local_40,0xf); uVar6 = FUN_180b214f0(local_40,4); *param_2 = uVar6; uVar6 = FUN_180b214f0((longlong)local_40 + 4,4); param_2[1] = uVar6; uVar6 = FUN_180b214f0((longlong)local_40 + 8,3); param_2[2] = uVar6; uVar6 = FUN_180b214f0((longlong)local_40 + 0xb,4); param_2[3] = uVar6; if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (local_40 == (void *)0x0) { return; } _Memory = local_40; if ((0xfff < (ulonglong)(local_30 - (longlong)local_40)) && (_Memory = *(void **)((longlong)local_40 + -8), 0x1f < (ulonglong)((longlong)local_40 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180a10f90 size=437 ############ void FUN_180a10f90(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099e0,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x28))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "CertificateClass is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1a6); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a11160 size=437 ############ void FUN_180a11160(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099d4,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x28))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "DeviceHardwareVersion is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x215); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a11330 size=437 ############ void FUN_180a11330(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099d8,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x28))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "DeviceName is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x247); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a11500 size=437 ############ void FUN_180a11500(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c09984,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x28))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "DeviceSerialNumber is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x279); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a11730 size=1704 ############ void FUN_180a11730(longlong *param_1,undefined4 param_2,undefined4 *param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; int iVar3; longlong *plVar4; longlong *plVar5; char cVar6; undefined8 *puVar7; longlong lVar8; undefined8 uVar9; longlong lVar10; void *_Memory; longlong local_res8; void *local_178; longlong lStack_170; longlong local_168; undefined4 local_160 [2]; undefined4 local_158 [2]; undefined4 local_150 [2]; undefined4 local_148 [2]; int local_140 [2]; undefined4 local_138 [2]; longlong *local_130; longlong *plStack_128; undefined8 local_120; char *local_118; char *local_110; char *local_108; char *local_100; char *local_f8; longlong *local_f0; longlong *plStack_e8; longlong *local_e0; char *local_d0; longlong *local_c8; longlong *plStack_c0; longlong *local_b8; longlong *local_a8; longlong *local_98; undefined8 local_88; undefined1 local_80 [8]; longlong *local_78; undefined1 local_70 [8]; longlong *local_68; undefined1 local_60 [8]; longlong *local_58; undefined1 local_50 [8]; longlong *local_48; local_88 = 0xfffffffffffffffe; local_178 = (void *)0x0; lStack_170 = 0; lVar8 = 0; local_168 = 0; local_c8 = (longlong *)0x0; plStack_c0 = (longlong *)0x0; local_130 = (longlong *)0x0; plStack_128 = (longlong *)0x0; local_f0 = (longlong *)0x0; plStack_e8 = (longlong *)0x0; FUN_18070ac10(param_4); puVar7 = (undefined8 *)(**(code **)(*param_1 + 0x38))(param_1,local_80,param_2); local_c8 = (longlong *)*puVar7; plVar4 = (longlong *)puVar7[1]; puVar7[1] = 0; *puVar7 = 0; plStack_c0 = plVar4; local_a8 = local_c8; if (local_78 != (longlong *)0x0) { LOCK(); plVar5 = local_78 + 1; lVar10 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar10 == 1) { (**(code **)(*local_78 + 8))(local_78); LOCK(); piVar1 = (int *)((longlong)local_78 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_78 + 0x10))(local_78); } } } if (local_a8 == (longlong *)0x0) { *param_3 = 0xffffffff; } else { puVar7 = (undefined8 *)(**(code **)(*local_a8 + 0x38))(local_a8,local_70,1,0x30); local_130 = (longlong *)*puVar7; plVar5 = (longlong *)puVar7[1]; puVar7[1] = 0; *puVar7 = 0; plStack_128 = plVar5; local_b8 = local_130; if (local_68 != (longlong *)0x0) { LOCK(); plVar2 = local_68 + 1; lVar10 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar10 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar1 = (int *)((longlong)local_68 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_68 + 0x10))(local_68); } } } if (local_b8 == (longlong *)0x0) { local_res8 = FUN_1811316e0(0x18); if (local_res8 == 0) { local_120 = 0; } else { local_120 = FUN_1805a48c0(local_res8,"Sequence containing the PKStandard is missing"); } lVar8 = FUN_1805c0260(); local_res8 = CONCAT44(local_res8._4_4_,0x2c2); local_d0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_d0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,&local_res8); } puVar7 = (undefined8 *)(**(code **)(*local_b8 + 0x38))(local_b8,local_60,2,6); local_130 = (longlong *)*puVar7; plStack_128 = (longlong *)puVar7[1]; puVar7[1] = 0; *puVar7 = 0; local_e0 = local_130; if (plVar5 != (longlong *)0x0) { LOCK(); plVar2 = plVar5 + 1; lVar10 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar10 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } if (local_58 != (longlong *)0x0) { LOCK(); plVar5 = local_58 + 1; lVar10 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar10 == 1) { (**(code **)(*local_58 + 8))(local_58); LOCK(); piVar1 = (int *)((longlong)local_58 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_58 + 0x10))(local_58); } } } if (local_e0 == (longlong *)0x0) { local_118 = (char *)FUN_1811316e0(0x18); if (local_118 != (char *)0x0) { FUN_1805a48c0(local_118,"Public Key PKStandard is missing"); } lVar8 = FUN_1805c0260(); local_160[0] = 0x2c4; local_118 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_118); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_160); } (**(code **)(*local_e0 + 0x30))(local_e0,&local_178); cVar6 = (**(code **)(*param_1 + 0x188))(param_1,&DAT_181bf4110,&local_178); if (cVar6 == '\0') { cVar6 = (**(code **)(*param_1 + 0x188))(param_1,&DAT_181bf4118,&local_178); if (cVar6 == '\0') { cVar6 = (**(code **)(*param_1 + 0x188))(param_1,&DAT_181bf4124,&local_178); if (cVar6 == '\0') { cVar6 = (**(code **)(*param_1 + 0x188))(param_1,&DAT_181bf4130,&local_178); if (cVar6 == '\0') { local_110 = (char *)FUN_1811316e0(0x18); if (local_110 != (char *)0x0) { FUN_1805a48c0(local_110,"Unsupported PKStandard found in certificate"); } lVar8 = FUN_1805c0260(); local_158[0] = 0x2da; local_110 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp" ; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_110); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_158); } *param_3 = 3; } else { *param_3 = 2; } } else { *param_3 = 1; } } else { *param_3 = 0; } puVar7 = (undefined8 *)(**(code **)(*local_a8 + 0x38))(local_a8,local_50,1,3); local_f0 = (longlong *)*puVar7; plStack_e8 = (longlong *)puVar7[1]; puVar7[1] = 0; *puVar7 = 0; local_98 = local_f0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar10 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar10 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (local_98 == (longlong *)0x0) { local_108 = (char *)FUN_1811316e0(0x18); if (local_108 != (char *)0x0) { FUN_1805a48c0(local_108,"Public Key Value is missing"); } lVar8 = FUN_1805c0260(); local_150[0] = 0x2df; local_108 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_108); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_150); } (**(code **)(*local_98 + 0x30))(local_98,&local_178); if ((int)(lStack_170 - (longlong)local_178) == 0) { local_100 = (char *)FUN_1811316e0(0x18); if (local_100 != (char *)0x0) { FUN_1805a48c0(local_100,"Public Key Value content is missing"); } lVar8 = FUN_1805c0260(); local_148[0] = 0x2e4; local_100 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_100); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_148); } local_140[0] = FUN_180a028e0(*param_3,local_178,lStack_170 - (longlong)local_178 & 0xffffffff, param_4); if (local_140[0] != 0) { local_f8 = (char *)FUN_1811316e0(0x18); if (local_f8 != (char *)0x0) { lVar8 = FUN_1805a48c0(local_f8, "[%d] CERT_InterpretECC_PublicKeyValue error in Asn1ParserCert::GetEccPublicKey" ); } lVar10 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar8 + 8),local_140); local_138[0] = 0x2f4; local_f8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar10 + 8),&local_f8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_138); } } plVar5 = plStack_e8; if (plStack_e8 != (longlong *)0x0) { LOCK(); plVar2 = plStack_e8 + 1; lVar8 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plStack_e8 + 8))(plStack_e8); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_e8 + 0x10))(); } } } plVar5 = plStack_128; if (plStack_128 != (longlong *)0x0) { LOCK(); plVar2 = plStack_128 + 1; lVar8 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plStack_128 + 8))(plStack_128); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_128 + 0x10))(); } } } if (plVar4 != (longlong *)0x0) { LOCK(); plVar5 = plVar4 + 1; lVar8 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (local_178 == (void *)0x0) { return; } _Memory = local_178; if ((0xfff < (ulonglong)(local_168 - (longlong)local_178)) && (_Memory = *(void **)((longlong)local_178 + -8), 0x1f < (ulonglong)((longlong)local_178 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180a11eb0 size=1415 ############ void FUN_180a11eb0(longlong *param_1,longlong param_2) { int *piVar1; longlong *plVar2; longlong *plVar3; longlong *plVar4; int iVar5; undefined8 *puVar6; char *pcVar7; undefined8 uVar8; longlong lVar9; char *pcVar10; char *pcVar11; void *_Memory; char *local_res8; undefined4 local_res10 [2]; undefined4 local_res18 [2]; undefined8 *local_res20; undefined4 local_108 [2]; undefined4 local_100 [2]; undefined4 local_f8 [2]; char *local_f0; void *local_e8; longlong lStack_e0; longlong local_d8; longlong *local_d0; longlong *plStack_c8; longlong *local_c0; char *local_b0; char *local_a8; char *local_a0; char *local_98; char *local_90; longlong *local_88; undefined8 local_78; undefined1 local_70 [8]; longlong *local_68; undefined1 local_60 [8]; longlong *local_58; local_78 = 0xfffffffffffffffe; local_e8 = (void *)0x0; lStack_e0 = 0; local_d8 = 0; local_d0 = (longlong *)0x0; plStack_c8 = (longlong *)0x0; puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x18))(0,local_70,&DAT_181c09eb0); local_d0 = (longlong *)*puVar6; plVar3 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; plStack_c8 = plVar3; local_88 = local_d0; if (local_68 != (longlong *)0x0) { LOCK(); plVar4 = local_68 + 1; lVar9 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar1 = (int *)((longlong)local_68 + 0xc); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)(*local_68 + 0x10))(local_68); } } } if (local_88 == (longlong *)0x0) { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 != (char *)0x0) { FUN_1805a48c0(local_res8,"signatureEcdsa_R is missing"); } pcVar7 = (char *)FUN_1811316e0(0x18); local_res8 = pcVar7; if (pcVar7 == (char *)0x0) { pcVar7 = (char *)0x0; } else { FUN_1805a48c0(pcVar7,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar7 = pace::PaceLocationInfoFormatter::vftable; } local_res10[0] = 0x423; local_b0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(*(undefined8 *)(pcVar7 + 8),&local_b0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,local_res10); } (**(code **)(*local_88 + 0x30))(local_88,&local_e8); if (lStack_e0 - (longlong)local_e8 == 0) { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 != (char *)0x0) { FUN_1805a48c0(local_res8,"signatureEcdsa_R data is missing"); } pcVar7 = (char *)FUN_1811316e0(0x18); local_res8 = pcVar7; if (pcVar7 == (char *)0x0) { pcVar7 = (char *)0x0; } else { FUN_1805a48c0(pcVar7,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar7 = pace::PaceLocationInfoFormatter::vftable; } local_res18[0] = 0x428; local_a8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(*(undefined8 *)(pcVar7 + 8),&local_a8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,local_res18); } iVar5 = FUN_180707db0(lStack_e0 - (longlong)local_e8 & 0xffffffff,local_e8,param_2); local_res8 = (char *)CONCAT44(local_res8._4_4_,iVar5); if (iVar5 != 0) { local_res20 = (undefined8 *)FUN_1811316e0(0x18); if (local_res20 == (undefined8 *)0x0) { lVar9 = 0; } else { lVar9 = FUN_1805a48c0(local_res20, "[%d] BIG_BytesToBigNumber error- Getting the R Signature in Asn1ParserCert::GetEcdsaSignature" ); } puVar6 = (undefined8 *)FUN_1811316e0(0x18); local_res20 = puVar6; if (puVar6 == (undefined8 *)0x0) { puVar6 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar6,"|__FILE__|%s|__LINE__|%d"); *puVar6 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar9 + 8),&local_res8); local_res20 = (undefined8 *)CONCAT44(local_res20._4_4_,0x431); local_a0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar6[1],&local_a0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res20); } puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_60,&DAT_181c09ec0); local_d0 = (longlong *)*puVar6; plVar4 = (longlong *)puVar6[1]; pcVar7 = (char *)0x0; puVar6[1] = 0; *puVar6 = 0; plStack_c8 = plVar4; local_c0 = local_d0; if (plVar3 != (longlong *)0x0) { LOCK(); plVar2 = plVar3 + 1; lVar9 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar3 + 8))(plVar3); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); } } } if (local_58 != (longlong *)0x0) { LOCK(); plVar3 = local_58 + 1; lVar9 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*local_58 + 8))(local_58); LOCK(); piVar1 = (int *)((longlong)local_58 + 0xc); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)(*local_58 + 0x10))(local_58); } } } if (local_c0 == (longlong *)0x0) { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 != (char *)0x0) { FUN_1805a48c0(local_res8,"signatureEcdsa_S is missing"); } pcVar10 = (char *)FUN_1811316e0(0x18); local_res8 = pcVar10; if (pcVar10 != (char *)0x0) { FUN_1805a48c0(pcVar10,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar10 = pace::PaceLocationInfoFormatter::vftable; pcVar7 = pcVar10; } local_108[0] = 0x436; local_98 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(*(undefined8 *)(pcVar7 + 8),&local_98); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,local_108); } (**(code **)(*local_c0 + 0x30))(local_c0,&local_e8); if (lStack_e0 - (longlong)local_e8 == 0) { local_res8 = (char *)FUN_1811316e0(0x18); if (local_res8 != (char *)0x0) { FUN_1805a48c0(local_res8,"signatureEcdsa_S data is missing"); } pcVar10 = (char *)FUN_1811316e0(0x18); local_res8 = pcVar10; if (pcVar10 != (char *)0x0) { FUN_1805a48c0(pcVar10,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar10 = pace::PaceLocationInfoFormatter::vftable; pcVar7 = pcVar10; } local_100[0] = 0x43b; local_90 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(*(undefined8 *)(pcVar7 + 8),&local_90); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,local_100); } iVar5 = FUN_180707db0(lStack_e0 - (longlong)local_e8 & 0xffffffff,local_e8,param_2 + 0x38); local_res8 = (char *)CONCAT44(local_res8._4_4_,iVar5); if (iVar5 == 0) { if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar9 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (local_e8 == (void *)0x0) { return; } _Memory = local_e8; if ((0xfff < (ulonglong)(local_d8 - (longlong)local_e8)) && (_Memory = *(void **)((longlong)local_e8 + -8), 0x1f < (ulonglong)((longlong)local_e8 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_f0 = (char *)FUN_1811316e0(0x18); pcVar10 = pcVar7; if (local_f0 != (char *)0x0) { pcVar10 = (char *)FUN_1805a48c0(local_f0, "[%d] BIG_BytesToBigNumber error- Getting the S Signature in Asn1ParserCert::GetEcdsaSignature" ); } pcVar11 = (char *)FUN_1811316e0(0x18); local_f0 = pcVar11; if (pcVar11 != (char *)0x0) { FUN_1805a48c0(pcVar11,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar11 = pace::PaceLocationInfoFormatter::vftable; pcVar7 = pcVar11; } FUN_18060e760(*(undefined8 *)(pcVar10 + 8),&local_res8); local_f8[0] = 0x444; local_f0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(*(undefined8 *)(pcVar7 + 8),&local_f0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,local_f8); } ############ FUN_ 180a124b0 size=1900 ############ void FUN_180a124b0(longlong *param_1,char *param_2,longlong param_3) { int *piVar1; longlong *plVar2; int iVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined1 uVar7; undefined4 uVar8; undefined8 *puVar9; undefined8 *puVar10; undefined8 uVar11; uint uVar12; ulonglong uVar13; char *pcVar14; ulonglong uVar15; undefined8 *local_res8; undefined8 *local_res10; longlong local_res18; undefined8 *local_res20; undefined4 local_138 [2]; undefined4 local_130 [4]; undefined4 local_120 [2]; undefined4 local_118 [2]; undefined4 local_110 [2]; char *local_108; char *local_100 [2]; char *local_f0; char *local_e8; char *local_e0; longlong lStack_d8; longlong local_d0; longlong *local_c8; longlong *plStack_c0; longlong *local_b8; char *local_a8; char *local_a0; char *local_98; longlong *local_90; undefined8 local_80; undefined1 local_78 [8]; longlong *local_70; undefined1 local_68 [8]; longlong *local_60; undefined1 local_58 [24]; local_80 = 0xfffffffffffffffe; local_e0 = (char *)0x0; lStack_d8 = 0; puVar10 = (undefined8 *)0x0; local_d0 = 0; local_c8 = (longlong *)0x0; plStack_c0 = (longlong *)0x0; local_res18 = param_3; if (param_3 != 0) { FUN_1805bcdc0(param_3); } puVar9 = (undefined8 *)(**(code **)(*param_1 + 0x30))(param_1,local_78,&DAT_181c099f0); local_c8 = (longlong *)*puVar9; plVar4 = (longlong *)puVar9[1]; puVar9[1] = 0; *puVar9 = 0; plStack_c0 = plVar4; local_90 = local_c8; if (local_70 != (longlong *)0x0) { LOCK(); plVar5 = local_70 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_70 + 8))(local_70); LOCK(); piVar1 = (int *)((longlong)local_70 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_70 + 0x10))(local_70); } } } if (local_90 == (longlong *)0x0) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"ILokExtensionPrivileges extension is missing"); } puVar10 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar10; if (puVar10 == (undefined8 *)0x0) { puVar10 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar10,"|__FILE__|%s|__LINE__|%d"); *puVar10 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x4a9); local_a8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar11 = FUN_1805a21d0(puVar10[1],&local_a8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar11,&local_res8); } puVar9 = (undefined8 *)(**(code **)(*local_90 + 0x38))(local_90,local_68,1,2); local_c8 = (longlong *)*puVar9; plVar5 = (longlong *)puVar9[1]; puVar9[1] = 0; *puVar9 = 0; plStack_c0 = plVar5; local_b8 = local_c8; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar6 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (local_60 != (longlong *)0x0) { LOCK(); plVar4 = local_60 + 1; lVar6 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_60 + 8))(local_60); LOCK(); piVar1 = (int *)((longlong)local_60 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_60 + 0x10))(local_60); } } } if (local_b8 == (longlong *)0x0) { local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10,"ILokExtensionPrivileges extension integer is missing"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar10 = puVar9; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x4ad); local_a0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar11 = FUN_1805a21d0(puVar10[1],&local_a0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar11,&local_res10); } (**(code **)(*local_b8 + 0x30))(local_b8); pcVar14 = local_e0; uVar15 = lStack_d8 - (longlong)local_e0; if (uVar15 < 0xc) { local_res20 = (undefined8 *)FUN_1811316e0(0x18); if (local_res20 != (undefined8 *)0x0) { FUN_1805a48c0(local_res20,"ILokExtensionPrivileges extension required integer data is missing" ); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_res20 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar10 = puVar9; } local_res20 = (undefined8 *)CONCAT44(local_res20._4_4_,0x4b2); local_98 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar11 = FUN_1805a21d0(puVar10[1],&local_98); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar11,&local_res20); } memset(param_2,0,0x80); *param_2 = *pcVar14; param_2[1] = pcVar14[1]; param_2[2] = pcVar14[2]; param_2[3] = pcVar14[3]; uVar8 = FUN_180b214f0(pcVar14 + 4,4); *(undefined4 *)(param_2 + 4) = uVar8; uVar8 = FUN_180b214f0(pcVar14 + 8,4); *(undefined4 *)(param_2 + 8) = uVar8; pcVar14 = pcVar14 + 0xc; uVar15 = uVar15 - 0xc; if (0x7e < (byte)(*param_2 - 1U)) { local_108 = (char *)FUN_1811316e0(0x18); if (local_108 != (char *)0x0) { FUN_1805a48c0(local_108,"ILokExtensionPrivileges have a bad cert level value"); } pcVar14 = (char *)FUN_1811316e0(0x18); if (pcVar14 == (char *)0x0) { pcVar14 = (char *)0x0; } else { local_108 = pcVar14; FUN_1805a48c0(pcVar14,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar14 = pace::PaceLocationInfoFormatter::vftable; } local_138[0] = 0x4c9; local_108 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar11 = FUN_1805a21d0(*(undefined8 *)(pcVar14 + 8),&local_108); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar11,local_138); } if (8 < (byte)param_2[2]) { local_100[0] = (char *)FUN_1811316e0(0x18); if (local_100[0] != (char *)0x0) { FUN_1805a48c0(local_100[0], "ILokExtensionPrivileges number of Participant IDs exceeds the maximum"); } pcVar14 = (char *)FUN_1811316e0(0x18); if (pcVar14 == (char *)0x0) { pcVar14 = (char *)0x0; } else { local_100[0] = pcVar14; FUN_1805a48c0(pcVar14,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar14 = pace::PaceLocationInfoFormatter::vftable; } local_130[0] = 0x4ce; local_100[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar11 = FUN_1805a21d0(*(undefined8 *)(pcVar14 + 8),local_100); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar11,local_130); } if ((uint)(byte)param_2[2] * 4 + ((uint)(byte)param_2[3] + (uint)(byte)param_2[3] * 4) * 2 <= uVar15) { uVar13 = 0; if (param_2[2] != '\0') { do { uVar8 = FUN_180b214f0(pcVar14,4); *(undefined4 *)(param_2 + uVar13 * 4 + 0xc) = uVar8; pcVar14 = pcVar14 + 4; uVar15 = uVar15 - 4; uVar12 = (int)uVar13 + 1; uVar13 = (ulonglong)uVar12; } while (uVar12 < (byte)param_2[2]); } uVar13 = 0; if (param_2[3] != '\0') { do { uVar8 = FUN_180b214f0(pcVar14,4); *(undefined4 *)(param_2 + uVar13 * 4 + 0x2c) = uVar8; uVar8 = FUN_180b214f0(pcVar14 + 4,4); *(undefined4 *)(param_2 + uVar13 * 4 + 0x4c) = uVar8; param_2[uVar13 + 0x6c] = pcVar14[8]; param_2[uVar13 + 0x74] = pcVar14[9]; pcVar14 = pcVar14 + 10; uVar15 = uVar15 - 10; uVar12 = (int)uVar13 + 1; uVar13 = (ulonglong)uVar12; } while (uVar12 < (byte)param_2[3]); } if (3 < uVar15) { uVar12 = FUN_180b214f0(pcVar14,4); lVar6 = local_res18; uVar13 = (ulonglong)uVar12; if (uVar15 - 4 < (ulonglong)(uVar12 * 4)) { local_e8 = (char *)FUN_1811316e0(0x18); if (local_e8 != (char *)0x0) { FUN_1805a48c0(local_e8,"Missing some additional ParticipantID data"); } pcVar14 = (char *)FUN_1811316e0(0x18); if (pcVar14 == (char *)0x0) { pcVar14 = (char *)0x0; } else { local_e8 = pcVar14; FUN_1805a48c0(pcVar14,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar14 = pace::PaceLocationInfoFormatter::vftable; } local_118[0] = 0x505; local_e8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar11 = FUN_1805a21d0(*(undefined8 *)(pcVar14 + 8),&local_e8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar11,local_118); } if (uVar12 != 0) { uVar7 = (undefined1)local_res18; do { pcVar14 = pcVar14 + 4; if (lVar6 != 0) { local_110[0] = FUN_180b214f0(pcVar14,4); FUN_180621700(lVar6,local_58,0,local_110,uVar7); } uVar13 = uVar13 - 1; } while (uVar13 != 0); } } if (plVar5 != (longlong *)0x0) { LOCK(); plVar4 = plVar5 + 1; lVar6 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } if (local_e0 == (char *)0x0) { return; } pcVar14 = local_e0; if ((0xfff < (ulonglong)(local_d0 - (longlong)local_e0)) && (pcVar14 = *(char **)(local_e0 + -8), (char *)0x1f < local_e0 + (-8 - (longlong)pcVar14))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pcVar14); } local_f0 = (char *)FUN_1811316e0(0x18); if (local_f0 != (char *)0x0) { FUN_1805a48c0(local_f0, "ILokExtensionPrivileges missing ParticipantID and/or Descendant Limits data"); } pcVar14 = (char *)FUN_1811316e0(0x18); if (pcVar14 == (char *)0x0) { pcVar14 = (char *)0x0; } else { local_f0 = pcVar14; FUN_1805a48c0(pcVar14,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar14 = pace::PaceLocationInfoFormatter::vftable; } local_120[0] = 0x4dd; local_f0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar11 = FUN_1805a21d0(*(undefined8 *)(pcVar14 + 8),&local_f0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar11,local_120); } ############ FUN_ 180a12d40 size=437 ############ void FUN_180a12d40(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099ac,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x28))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "IssueNumber is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x59f); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a12f30 size=437 ############ void FUN_180a12f30(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099e8,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x28))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "KeySpace is missing from %d, where nonzero = subject and zero = issuer)") ; } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x600); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a13100 size=758 ############ undefined8 * FUN_180a13100(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; longlong *plVar7; undefined8 *puVar8; longlong *plVar9; void *_Memory; undefined8 *puVar10; undefined8 *local_res8; undefined8 *local_res10; char *local_res18; char *local_res20; undefined8 uVar11; undefined1 local_80 [8]; longlong *local_78; undefined1 local_70 [8]; longlong *local_68; void *local_60; longlong lStack_58; longlong local_50; uVar11 = 0xfffffffffffffffe; local_60 = (void *)0x0; lStack_58 = 0; puVar10 = (undefined8 *)0x0; local_50 = 0; plVar7 = (longlong *) (**(code **)(*param_1 + 0x30))(0,local_80,&DAT_181c099fc,param_4,0xfffffffffffffffe,0,0); plVar4 = (longlong *)*plVar7; plVar5 = (longlong *)plVar7[1]; plVar7[1] = 0; *plVar7 = 0; plVar7 = plVar4; plVar9 = plVar5; if (local_78 != (longlong *)0x0) { LOCK(); plVar1 = local_78 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_78 + 8))(local_78); LOCK(); piVar2 = (int *)((longlong)local_78 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_78 + 0x10))(local_78); } } } if (plVar4 == (longlong *)0x0) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"KeyUsage extension is missing"); } puVar8 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar8; if (puVar8 != (undefined8 *)0x0) { FUN_1805a48c0(puVar8,"|__FILE__|%s|__LINE__|%d"); *puVar8 = pace::PaceLocationInfoFormatter::vftable; puVar10 = puVar8; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x62b); local_res18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar11 = FUN_1805a21d0(puVar10[1],&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar11,&local_res8); } plVar9 = (longlong *)(**(code **)(*plVar4 + 0x38))(plVar4,local_70,1,3,uVar11,plVar7,plVar9); plVar4 = (longlong *)*plVar9; plVar7 = (longlong *)plVar9[1]; plVar9[1] = 0; *plVar9 = 0; if (plVar5 != (longlong *)0x0) { LOCK(); plVar9 = plVar5 + 1; lVar6 = *plVar9; *(int *)plVar9 = (int)*plVar9 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar2 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } if (local_68 != (longlong *)0x0) { LOCK(); plVar5 = local_68 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar2 = (int *)((longlong)local_68 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_68 + 0x10))(local_68); } } } if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x30))(plVar4,&local_60); if (1 < (ulonglong)(lStack_58 - (longlong)local_60)) { puVar10 = (undefined8 *)((ulonglong)*(byte *)((longlong)local_60 + 1) << 0x18); } if (plVar7 != (longlong *)0x0) { LOCK(); plVar4 = plVar7 + 1; lVar6 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar7 + 8))(plVar7); LOCK(); piVar2 = (int *)((longlong)plVar7 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar7 + 0x10))(plVar7); } } } if (local_60 == (void *)0x0) { return puVar10; } _Memory = local_60; if ((0xfff < (ulonglong)(local_50 - (longlong)local_60)) && (_Memory = *(void **)((longlong)local_60 + -8), 0x1f < (ulonglong)((longlong)local_60 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10,"KeyUsage extension bit string is missing"); } puVar8 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar8; if (puVar8 != (undefined8 *)0x0) { FUN_1805a48c0(puVar8,"|__FILE__|%s|__LINE__|%d"); *puVar8 = pace::PaceLocationInfoFormatter::vftable; puVar10 = puVar8; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x62f); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar11 = FUN_1805a21d0(puVar10[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar11,&local_res10); } ############ FUN_ 180a13420 size=1530 ############ /* WARNING: Removing unreachable block (ram,0x000180a134c7) */ /* WARNING: Removing unreachable block (ram,0x000180a1385d) */ ulonglong FUN_180a13420(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; longlong lVar2; undefined4 uVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 uVar7; ulonglong uVar8; uint uVar9; int iVar10; undefined8 *puVar11; char in_AF; int unaff_retaddr; undefined1 auStack_148 [32]; undefined1 local_128 [8]; undefined8 local_120; undefined8 local_110; undefined8 local_108; undefined8 local_100; longlong local_f0; undefined4 local_e8 [2]; uint local_e0; uint local_dc; undefined8 *local_d0; undefined8 local_c8; char *local_c0 [2]; longlong local_b0; longlong local_a8; longlong lStack_a0; undefined8 local_98; undefined8 local_90; undefined8 local_88; undefined1 local_80 [8]; longlong *local_78; undefined8 local_70; undefined8 uStack_68; undefined8 local_60; ulonglong local_40; local_98 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_148; uVar9 = (uint)&stack0x00000000 & 0x1ff; iVar10 = (uVar9 + 2) * (uVar9 + 1) * uVar9; local_dc = 0x1551 << ((byte)(((iVar10 >> 1) - (iVar10 >> 3)) + iVar10 * 0x55555555 >> 0x1e) & 0x1f ) ^ 0x1a71; uVar9 = (uint)&stack0x00000000 & 0x2ff; iVar10 = (uVar9 + 2) * (uVar9 + 1) * uVar9; local_e0 = (((iVar10 >> 1) - (iVar10 >> 3)) + iVar10 * 0x55555555 >> 0x1e | 0xaa56U) ^ 0xa796; local_70 = 0; uStack_68 = 0; puVar11 = (undefined8 *)0x0; local_60 = 0; local_a8 = 0; lStack_a0 = 0; local_128[0] = param_2; local_c8 = param_3; do { func_0x000180a123e3(0xc328); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); plVar4 = (longlong *)(**(code **)(*param_1 + 0x40))(param_1,local_80,&DAT_181c099e4,param_2); local_f0 = *plVar4; local_b0 = plVar4[1]; plVar4[1] = 0; *plVar4 = 0; local_90 = 0; local_88 = 0; local_a8 = local_f0; lStack_a0 = local_b0; if (local_78 != (longlong *)0x0) { LOCK(); plVar4 = local_78 + 1; lVar2 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar2 == 1) { (**(code **)(*local_78 + 8))(local_78); LOCK(); piVar1 = (int *)((longlong)local_78 + 0xc); iVar10 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar10 == 1) { (**(code **)(*local_78 + 0x10))(local_78); } } } if (local_f0 != 0) { local_100 = 0; local_110 = 0x1fe40; local_108 = 0x182515b08; local_120 = 0x182535948; /* WARNING: Call to offcut address within same function */ uVar7 = func_0x000180a13857(); uVar8 = CONCAT62((int6)((ulonglong)uVar7 >> 0x10),CONCAT11(in_AF << 4,(char)uVar7)) | 0x600; uVar3 = (undefined4)uVar8; IMAGE_DOS_HEADER_180000000.e_magic[0] = (char)uVar3; IMAGE_DOS_HEADER_180000000.e_magic[1] = SUB41(uVar3,1); IMAGE_DOS_HEADER_180000000.e_cblp = SUB42(uVar3,2); return uVar8; } local_d0 = (undefined8 *)FUN_1811316e0(0x18); puVar5 = puVar11; if (local_d0 != (undefined8 *)0x0) { puVar5 = (undefined8 *) FUN_1805a48c0(local_d0, "OrderNumberAndBOMID is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar6 = (undefined8 *)FUN_1811316e0(0x18); local_d0 = puVar6; if (puVar6 != (undefined8 *)0x0) { FUN_1805a48c0(puVar6,"|__FILE__|%s|__LINE__|%d"); *puVar6 = pace::PaceLocationInfoFormatter::vftable; puVar11 = puVar6; } FUN_1806548b0(puVar5[1],local_128); local_e8[0] = 0x669; local_c0[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar7 = FUN_1805a21d0(puVar11[1],local_c0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_e8); } ############ FUN_ 180a14510 size=437 ############ void FUN_180a14510(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099dc,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x28))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "Organization is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x6bf); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a15870 size=1166 ############ void FUN_180a15870(longlong *param_1,int *param_2,int *param_3) { longlong *plVar1; int *piVar2; longlong *plVar3; int iVar4; undefined8 *puVar5; char *pcVar6; undefined8 uVar7; longlong lVar8; char *pcVar9; size_t sVar10; char cVar11; char *local_res20; char *local_e8; char *pcStack_e0; char *local_d8; undefined4 local_d0 [2]; undefined4 local_c8 [2]; undefined4 local_c0 [2]; int local_b8 [2]; char *local_b0; longlong *local_a8; longlong *plStack_a0; longlong *local_98; char *local_88; char *local_80; longlong *local_78; undefined8 local_68; undefined1 local_60 [8]; longlong *local_58; undefined1 local_50 [8]; longlong *local_48; local_68 = 0xfffffffffffffffe; local_e8 = (char *)0x0; pcStack_e0 = (char *)0x0; pcVar9 = (char *)0x0; local_d8 = (char *)0x0; local_a8 = (longlong *)0x0; plStack_a0 = (longlong *)0x0; puVar5 = (undefined8 *)(**(code **)(*param_1 + 0x18))(0,local_60,&DAT_181c09e40); local_a8 = (longlong *)*puVar5; plVar3 = (longlong *)puVar5[1]; puVar5[1] = 0; *puVar5 = 0; plStack_a0 = plVar3; local_78 = local_a8; if (local_58 != (longlong *)0x0) { LOCK(); plVar1 = local_58 + 1; lVar8 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*local_58 + 8))(local_58); LOCK(); piVar2 = (int *)((longlong)local_58 + 0xc); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*local_58 + 0x10))(local_58); } } } if (local_78 == (longlong *)0x0) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 != (char *)0x0) { FUN_1805a48c0(local_res20,"signedSignatureAlgorithmOid1 is missing"); } pcVar6 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar6; if (pcVar6 != (char *)0x0) { FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; pcVar9 = pcVar6; } local_d0[0] = 0x77a; local_88 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(pcVar9 + 8),&local_88); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_d0); } (**(code **)(*local_78 + 0x30))(local_78,&local_e8); pcVar6 = local_e8; cVar11 = (char)pcStack_e0 - (char)local_e8; local_res20 = (char *)CONCAT71(local_res20._1_7_,cVar11); if (0x7e < (byte)(cVar11 - 1U)) { local_b0 = (char *)FUN_1811316e0(0x18); if (local_b0 != (char *)0x0) { FUN_1805a48c0(local_b0,"A properly sized signedSignatureAlgorithmOid content is missing"); } pcVar6 = (char *)FUN_1811316e0(0x18); if (pcVar6 != (char *)0x0) { local_b0 = pcVar6; FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; pcVar9 = pcVar6; } local_c8[0] = 0x77f; local_b0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(pcVar9 + 8),&local_b0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_c8); } if (local_d8 == pcStack_e0) { FUN_1805b0850(&local_e8,local_e8,&local_res20); } else if (local_e8 == pcStack_e0) { *pcStack_e0 = cVar11; pcStack_e0 = pcStack_e0 + 1; } else { *pcStack_e0 = pcStack_e0[-1]; sVar10 = (longlong)(pcStack_e0 + -1) - (longlong)local_e8; pcVar9 = pcStack_e0 + -sVar10; pcStack_e0 = pcStack_e0 + 1; memmove(pcVar9,local_e8,sVar10); *pcVar6 = cVar11; } iVar4 = FUN_180a00490(local_e8,param_3); *param_2 = iVar4; if ((iVar4 == -1) || (*param_3 == -0x10000)) { puVar5 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_50,&DAT_181c09e50); local_a8 = (longlong *)*puVar5; plStack_a0 = (longlong *)puVar5[1]; puVar5[1] = 0; *puVar5 = 0; local_98 = local_a8; if (plVar3 != (longlong *)0x0) { LOCK(); plVar1 = plVar3 + 1; lVar8 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar3 + 8))(plVar3); LOCK(); piVar2 = (int *)((longlong)plVar3 + 0xc); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); } } } if (local_48 != (longlong *)0x0) { LOCK(); plVar3 = local_48 + 1; lVar8 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar2 = (int *)((longlong)local_48 + 0xc); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (local_98 != (longlong *)0x0) { (**(code **)(*local_98 + 0x30))(local_98,&local_e8); pcVar9 = local_e8; cVar11 = (char)pcStack_e0 - (char)local_e8; local_res20 = (char *)CONCAT71(local_res20._1_7_,cVar11); if (0x7e < (byte)(cVar11 - 1U)) { lVar8 = FUN_1811316e0(0x18); if (lVar8 != 0) { FUN_1805a48c0(lVar8,"A properly sized signedSignatureAlgorithm2Oid content is missing"); } lVar8 = FUN_1805c0260(); local_c0[0] = 0x78f; local_80 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_80); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,local_c0); } if (local_d8 == pcStack_e0) { FUN_1805b0850(&local_e8,local_e8,&local_res20); } else if (local_e8 == pcStack_e0) { *pcStack_e0 = cVar11; pcStack_e0 = pcStack_e0 + 1; } else { *pcStack_e0 = pcStack_e0[-1]; sVar10 = (longlong)(pcStack_e0 + -1) - (longlong)local_e8; pcVar6 = pcStack_e0 + -sVar10; pcStack_e0 = pcStack_e0 + 1; memmove(pcVar6,local_e8,sVar10); *pcVar9 = cVar11; } iVar4 = FUN_180a00490(local_e8,local_b8); if (*param_2 == -1) { *param_2 = iVar4; } if (*param_3 == -0x10000) { *param_3 = local_b8[0]; } } } plVar3 = plStack_a0; if (plStack_a0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_a0 + 1; lVar8 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plStack_a0 + 8))(plStack_a0); LOCK(); piVar2 = (int *)((longlong)plVar3 + 0xc); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*plStack_a0 + 0x10))(); } } } if (local_e8 == (char *)0x0) { return; } pcVar9 = local_e8; if ((0xfff < (ulonglong)((longlong)local_d8 - (longlong)local_e8)) && (pcVar9 = *(char **)(local_e8 + -8), (char *)0x1f < local_e8 + (-8 - (longlong)pcVar9))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pcVar9); } ############ FUN_ 180a15d70 size=770 ############ void FUN_180a15d70(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong lVar5; longlong *plVar6; undefined8 *puVar7; undefined8 uVar8; longlong *plVar9; void *_Memory; undefined8 *local_res8; undefined8 *local_res10; char *local_res18; char *local_res20; undefined1 local_80 [8]; longlong *local_78; undefined1 local_70 [8]; longlong *local_68; void *local_60; undefined8 uStack_58; longlong local_50; local_60 = (void *)0x0; uStack_58 = 0; local_50 = 0; plVar6 = (longlong *) (**(code **)(*param_1 + 0x18))(0,local_80,&DAT_181c09e68,param_4,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar6; plVar4 = (longlong *)plVar6[1]; plVar6[1] = 0; *plVar6 = 0; if (local_78 != (longlong *)0x0) { LOCK(); plVar6 = local_78 + 1; lVar5 = *plVar6; *(int *)plVar6 = (int)*plVar6 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_78 + 8))(local_78); LOCK(); piVar1 = (int *)((longlong)local_78 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_78 + 0x10))(local_78); } } } if (plVar3 == (longlong *)0x0) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"NotValidBefore is missing"); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x857); local_res18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } (**(code **)(*plVar3 + 0x30))(plVar3,&local_60); FUN_180a0d380(&local_60,param_2); plVar9 = (longlong *)(**(code **)(*param_1 + 0x18))(param_1,local_70,&DAT_181c09e78); plVar3 = (longlong *)*plVar9; plVar6 = (longlong *)plVar9[1]; plVar9[1] = 0; *plVar9 = 0; if (plVar4 != (longlong *)0x0) { LOCK(); plVar9 = plVar4 + 1; lVar5 = *plVar9; *(int *)plVar9 = (int)*plVar9 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (local_68 != (longlong *)0x0) { LOCK(); plVar4 = local_68 + 1; lVar5 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar1 = (int *)((longlong)local_68 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_68 + 0x10))(local_68); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x30))(plVar3,&local_60); FUN_180a0d380(&local_60,param_2 + 8); if (plVar6 != (longlong *)0x0) { LOCK(); plVar3 = plVar6 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar6 + 8))(plVar6); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar6 + 0x10))(plVar6); } } } if (local_60 == (void *)0x0) { return; } _Memory = local_60; if ((0xfff < (ulonglong)(local_50 - (longlong)local_60)) && (_Memory = *(void **)((longlong)local_60 + -8), 0x1f < (ulonglong)((longlong)local_60 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10,"NotValidAfter is missing"); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x867); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res10); } ############ FUN_ 180a16bd0 size=566 ############ void FUN_180a16bd0(longlong *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; longlong *plVar7; undefined8 *puVar8; void *_Memory; undefined8 *local_res8; char *local_res10; undefined8 uVar9; longlong *plVar10; undefined1 local_60 [8]; longlong *local_58; void *local_50; undefined8 uStack_48; longlong local_40; uVar9 = 0xfffffffffffffffe; local_50 = (void *)0x0; uStack_48 = 0; local_40 = 0; plVar7 = (longlong *) (**(code **)(*param_1 + 0x18))(0,local_60,&DAT_181c09e30,param_4,0xfffffffffffffffe,0,0); plVar4 = (longlong *)*plVar7; plVar5 = (longlong *)plVar7[1]; plVar7[1] = 0; *plVar7 = 0; plVar7 = plVar4; plVar10 = plVar5; if (local_58 != (longlong *)0x0) { LOCK(); plVar1 = local_58 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_58 + 8))(local_58); LOCK(); piVar2 = (int *)((longlong)local_58 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_58 + 0x10))(local_58); } } } if (plVar4 == (longlong *)0x0) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"CertSerialNumber is missing"); } puVar8 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar8; if (puVar8 == (undefined8 *)0x0) { puVar8 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar8,"|__FILE__|%s|__LINE__|%d"); *puVar8 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1ef); local_res10 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(puVar8[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,&local_res8); } FUN_1805b0f50(&local_50,0xf,&local_50,param_4,uVar9,plVar7,plVar10); FUN_180b227b0(*param_2,local_50,4); FUN_180b227b0(param_2[1],(longlong)local_50 + 4,4); FUN_180b227b0(param_2[2],(longlong)local_50 + 8,3); FUN_180b227b0(param_2[3],(longlong)local_50 + 0xb,4); (**(code **)(*param_1 + 0x20))(param_1,&local_50); (**(code **)(*plVar4 + 0x50))(plVar4,&local_50); if (plVar5 != (longlong *)0x0) { LOCK(); plVar4 = plVar5 + 1; lVar6 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar2 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } if (local_50 == (void *)0x0) { return; } _Memory = local_50; if ((0xfff < (ulonglong)(local_40 - (longlong)local_50)) && (_Memory = *(void **)((longlong)local_50 + -8), 0x1f < (ulonglong)((longlong)local_50 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180a16e20 size=437 ############ void FUN_180a16e20(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099e0,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x48))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "CertificateClass is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x1bf); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a16ff0 size=437 ############ void FUN_180a16ff0(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099d8,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x48))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "DeviceHardwareVersion is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x22e); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a171c0 size=437 ############ void FUN_180a171c0(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099d4,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x48))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "DeviceName is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x260); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a17390 size=437 ############ void FUN_180a17390(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c09984,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x48))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "DeviceSerialNumber is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x292); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a175e0 size=5028 ############ void FUN_180a175e0(longlong *param_1,int param_2,int param_3,longlong param_4) { int *piVar1; longlong *plVar2; int iVar3; longlong *plVar4; longlong *plVar5; undefined8 *puVar6; longlong *plVar7; longlong lVar8; undefined8 uVar9; longlong *plVar10; longlong *plVar11; longlong *plVar12; char *pcVar13; char *pcVar14; undefined1 *_Memory; ulonglong local_res8; int local_res10 [2]; int local_res18; longlong local_res20; int iVar15; longlong local_3e8; int local_3d8 [4]; longlong *local_3c8; longlong *plStack_3c0; longlong *local_3b8; longlong *local_3a8; longlong *plStack_3a0; longlong *local_398; longlong *plStack_390; longlong *local_388; longlong *plStack_380; longlong *local_378; longlong *plStack_370; undefined4 local_368 [2]; int local_360 [2]; undefined4 local_358 [2]; undefined4 local_350 [2]; undefined4 local_348 [2]; undefined4 local_340 [2]; undefined4 local_338 [2]; undefined4 local_330 [2]; undefined4 local_328 [2]; undefined4 local_320 [2]; char *local_318; char *local_310; char *local_308; undefined1 *local_300; undefined8 uStack_2f8; longlong local_2f0; longlong *local_2e8; longlong *local_2e0; longlong *local_2d8; longlong *plStack_2d0; char *local_2c8; char *local_2c0; char *local_2b8; char *local_2b0; char *local_2a8; char *local_2a0; longlong *local_298; longlong *plStack_290; longlong *local_288; longlong *plStack_280; longlong *local_278; longlong *local_268; longlong *plStack_260; longlong *local_258; longlong *local_248; longlong *plStack_240; longlong *local_238; longlong *local_228; longlong *plStack_220; longlong *local_218; longlong *plStack_210; longlong *local_208; longlong *plStack_200; longlong *local_1f8; longlong *local_1e8; longlong *local_1d8; longlong *plStack_1d0; longlong *local_1c8; longlong *local_1b8; longlong *plStack_1b0; longlong *local_1a8; longlong *plStack_1a0; longlong *local_198; longlong *plStack_190; longlong *local_188; longlong *local_178; longlong *plStack_170; longlong *local_168; longlong *plStack_160; longlong *local_158; longlong *plStack_150; longlong *local_148; longlong *plStack_140; longlong *local_138; longlong *plStack_130; longlong *local_128; longlong *plStack_120; undefined8 local_118; undefined1 local_110 [8]; longlong *local_108; undefined1 local_100 [8]; longlong *local_f8; longlong *local_f0; undefined1 local_e0 [8]; longlong *local_d8; undefined1 local_d0 [8]; longlong *local_c8; undefined1 local_c0 [8]; longlong *local_b8; undefined1 local_b0 [8]; longlong *local_a8; undefined1 local_a0 [8]; longlong *local_98; undefined1 local_90 [8]; longlong *local_88; undefined1 **local_78; ulonglong *puStack_70; undefined1 local_68 [8]; longlong *local_60; longlong *local_58; local_118 = 0xfffffffffffffffe; local_300 = (undefined1 *)0x0; uStack_2f8 = 0; plVar7 = (longlong *)0x0; local_2f0 = 0; local_398 = (longlong *)0x0; plStack_390 = (longlong *)0x0; local_3a8 = (longlong *)0x0; plStack_3a0 = (longlong *)0x0; local_3c8 = (longlong *)0x0; plStack_3c0 = (longlong *)0x0; local_298 = (longlong *)0x0; plStack_290 = (longlong *)0x0; local_288 = (longlong *)0x0; plStack_280 = (longlong *)0x0; local_268 = (longlong *)0x0; plStack_260 = (longlong *)0x0; local_248 = (longlong *)0x0; plStack_240 = (longlong *)0x0; local_res10[0] = param_2; local_res18 = param_3; local_res20 = param_4; puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x38))(param_1,local_110,param_2,param_4,0); local_3c8 = (longlong *)*puVar6; plVar4 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; plStack_3c0 = plVar4; local_1e8 = local_3c8; if (local_108 != (longlong *)0x0) { LOCK(); plVar10 = local_108 + 1; lVar8 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); param_2 = local_res10[0]; if ((int)lVar8 == 1) { (**(code **)(*local_108 + 8))(local_108); LOCK(); piVar1 = (int *)((longlong)local_108 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); param_2 = local_res10[0]; if (iVar15 == 1) { (**(code **)(*local_108 + 0x10))(local_108); param_2 = local_res10[0]; } } } if (local_1e8 == (longlong *)0x0) { if (param_2 == 0) { local_2c8 = (char *)FUN_1811316e0(0x18); if (local_2c8 != (char *)0x0) { plVar7 = (longlong *)FUN_1805a48c0(local_2c8,"Main Public Key %d is missing"); } lVar8 = FUN_1805c0260(); FUN_18060e760(plVar7[1],local_res10); local_368[0] = 0x330; local_2c8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_2c8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_368); } local_1d8 = (longlong *)0x0; plStack_1d0 = (longlong *)0x0; if (param_2 != 1) { puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x38))(param_1,local_100,param_2 + -1); local_3c8 = (longlong *)*puVar6; plStack_3c0 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; local_f0 = local_3c8; if (plVar4 != (longlong *)0x0) { LOCK(); plVar10 = plVar4 + 1; lVar8 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (local_f8 != (longlong *)0x0) { LOCK(); plVar4 = local_f8 + 1; lVar8 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*local_f8 + 8))(local_f8); LOCK(); piVar1 = (int *)((longlong)local_f8 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*local_f8 + 0x10))(local_f8); } } } if (local_f0 == (longlong *)0x0) { local_2c0 = (char *)FUN_1811316e0(0x18); if (local_2c0 != (char *)0x0) { plVar7 = (longlong *) FUN_1805a48c0(local_2c0,"Aux key #%d must be populated before Aux key #%d"); } lVar8 = FUN_1805c0260(); local_360[0] = param_2 + -1; FUN_18060e760(plVar7[1],local_360); FUN_18060e760(plVar7[1],local_res10); local_358[0] = 0x342; local_2c0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_2c0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_358); } } puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_e0,&DAT_181c09e98); local_1d8 = (longlong *)*puVar6; plVar4 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; plStack_1d0 = plVar4; local_188 = local_1d8; if (local_d8 != (longlong *)0x0) { LOCK(); plVar10 = local_d8 + 1; lVar8 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*local_d8 + 8))(local_d8); LOCK(); piVar1 = (int *)((longlong)local_d8 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*local_d8 + 0x10))(local_d8); } } } if (local_188 == (longlong *)0x0) { local_2b8 = (char *)FUN_1811316e0(0x18); if (local_2b8 != (char *)0x0) { FUN_1805a48c0(local_2b8,"Extensions are missing"); } lVar8 = FUN_1805c0260(); local_350[0] = 0x347; local_2b8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_2b8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_350); } puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x30))(param_1,local_68,&DAT_181c09a20); local_398 = (longlong *)*puVar6; plStack_390 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; local_1c8 = local_398; if (local_60 != (longlong *)0x0) { LOCK(); plVar10 = local_60 + 1; lVar8 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*local_60 + 8))(local_60); LOCK(); piVar1 = (int *)((longlong)local_60 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*local_60 + 0x10))(local_60); } } } if (local_1c8 == (longlong *)0x0) { local_388 = (longlong *)0x0; plStack_380 = (longlong *)0x0; local_378 = (longlong *)0x0; plStack_370 = (longlong *)0x0; lVar8 = FUN_1811316e0(0x38); plVar10 = plVar7; if (lVar8 != 0) { plVar10 = (longlong *)FUN_180b23940(lVar8); } FUN_180a0c380(&local_388,plVar10); plVar10 = local_388; *(undefined1 *)(local_388 + 1) = 0x30; lVar8 = FUN_1811316e0(0x38); plVar11 = plVar7; if (lVar8 != 0) { plVar11 = (longlong *)FUN_180b24b00(lVar8); } FUN_180a0c420(&local_378,plVar11); *(undefined1 *)(local_378 + 1) = 6; (**(code **)(*local_378 + 0x40))(local_378,&DAT_181c09a21,DAT_181c09a20); plVar11 = plStack_370; local_1b8 = local_378; plStack_1b0 = plStack_370; if (plStack_370 != (longlong *)0x0) { LOCK(); *(int *)(plStack_370 + 1) = (int)plStack_370[1] + 1; UNLOCK(); plVar10 = local_388; } (**(code **)(*plVar10 + 8))(plVar10,&local_1b8); lVar8 = FUN_1811316e0(0x38); plVar12 = plVar7; if (lVar8 != 0) { plVar12 = (longlong *)FUN_180b23940(lVar8); } FUN_180a0c380(&local_398,plVar12); plVar12 = local_398; *(undefined1 *)(local_398 + 1) = 4; local_1a8 = local_398; plStack_1a0 = plStack_390; if (plStack_390 != (longlong *)0x0) { LOCK(); *(int *)(plStack_390 + 1) = (int)plStack_390[1] + 1; UNLOCK(); plVar10 = local_388; plVar11 = plStack_370; } (**(code **)(*plVar10 + 8))(plVar10,&local_1a8); lVar8 = FUN_1811316e0(0x38); plVar10 = plVar7; if (lVar8 != 0) { plVar10 = (longlong *)FUN_180b23940(lVar8); } FUN_180a0c380(&local_3a8,plVar10); *(undefined1 *)(local_3a8 + 1) = 0x30; local_198 = local_3a8; plStack_190 = plStack_3a0; if (plStack_3a0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_3a0 + 1) = (int)plStack_3a0[1] + 1; UNLOCK(); plVar11 = plStack_370; plVar12 = local_398; } (**(code **)(*plVar12 + 8))(plVar12,&local_198); plVar10 = plStack_380; local_178 = local_388; plStack_170 = plStack_380; if (plStack_380 != (longlong *)0x0) { LOCK(); *(int *)(plStack_380 + 1) = (int)plStack_380[1] + 1; UNLOCK(); plVar11 = plStack_370; } (**(code **)(*local_188 + 8))(local_188,&local_178); plVar12 = plStack_370; if (plVar11 != (longlong *)0x0) { LOCK(); plVar11 = plVar11 + 1; lVar8 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); plVar10 = plStack_380; if ((int)lVar8 == 1) { (**(code **)(*plStack_370 + 8))(plStack_370); LOCK(); piVar1 = (int *)((longlong)plVar12 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar10 = plStack_380; if (iVar15 == 1) { (**(code **)(*plStack_370 + 0x10))(); plVar10 = plStack_380; } } } plVar11 = plStack_380; if (plVar10 != (longlong *)0x0) { LOCK(); plVar10 = plVar10 + 1; lVar8 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plStack_380 + 8))(plStack_380); LOCK(); piVar1 = (int *)((longlong)plVar11 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*plStack_380 + 0x10))(); } } } } else { puVar6 = (undefined8 *)(**(code **)(*local_1c8 + 0x38))(local_1c8,local_d0,1,0x30); local_3a8 = (longlong *)*puVar6; plStack_3a0 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; local_58 = local_3a8; if (local_c8 != (longlong *)0x0) { LOCK(); plVar10 = local_c8 + 1; lVar8 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*local_c8 + 8))(local_c8); LOCK(); piVar1 = (int *)((longlong)local_c8 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*local_c8 + 0x10))(local_c8); } } } } lVar8 = FUN_1811316e0(0x38); plVar10 = plVar7; if (lVar8 != 0) { plVar10 = (longlong *)FUN_180b23940(lVar8); } local_2e8 = plVar10; FUN_180a0c2a0(&local_2e0,plVar10); FUN_1805ae620(&local_2e8,plVar10,plVar10); plVar11 = local_2e8; plVar10 = plStack_3c0; local_3b8 = local_2e8; local_2e8 = local_3c8; local_3c8 = plVar11; plStack_3c0 = local_2e0; local_2e0 = plVar10; if (plVar10 != (longlong *)0x0) { LOCK(); plVar11 = plVar10 + 1; lVar8 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar10 + 8))(plVar10); LOCK(); piVar1 = (int *)((longlong)plVar10 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*plVar10 + 0x10))(plVar10); } } } plVar10 = local_3b8; *(undefined1 *)(local_3b8 + 1) = 0x30; lVar8 = FUN_1811316e0(0x38); plVar11 = plVar7; if (lVar8 != 0) { plVar11 = (longlong *)FUN_180b23940(lVar8); } local_2d8 = plVar11; FUN_180a0c2a0(&plStack_2d0,plVar11); FUN_1805ae620(&local_2d8,plVar11,plVar11); plVar11 = local_2d8; local_298 = local_2d8; plStack_290 = plStack_2d0; *(undefined1 *)(local_2d8 + 1) = 0x30; local_168 = local_2d8; plStack_160 = plStack_2d0; if (plStack_2d0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_2d0 + 1) = (int)plStack_2d0[1] + 1; UNLOCK(); plVar10 = local_3b8; } (**(code **)(*plVar10 + 8))(plVar10,&local_168); lVar8 = FUN_1811316e0(0x38); plVar12 = plVar7; if (lVar8 != 0) { plVar12 = (longlong *)FUN_180b24b00(lVar8); } local_228 = plVar12; FUN_180a0c310(&plStack_220,plVar12); FUN_1805ae620(&local_228,plVar12,plVar12); local_288 = local_228; plStack_280 = plStack_220; *(undefined1 *)(local_228 + 1) = 6; local_128 = local_228; plStack_120 = plStack_220; if (plStack_220 != (longlong *)0x0) { LOCK(); *(int *)(plStack_220 + 1) = (int)plStack_220[1] + 1; UNLOCK(); plVar10 = local_3b8; plVar11 = local_2d8; } (**(code **)(*plVar11 + 8))(plVar11,&local_128); lVar8 = FUN_1811316e0(0x38); plVar12 = plVar7; if (lVar8 != 0) { plVar12 = (longlong *)FUN_180b24b00(lVar8); } local_218 = plVar12; FUN_180a0c310(&plStack_210,plVar12); FUN_1805ae620(&local_218,plVar12,plVar12); local_268 = local_218; plStack_260 = plStack_210; *(undefined1 *)(local_218 + 1) = 6; local_158 = local_218; plStack_150 = plStack_210; if (plStack_210 != (longlong *)0x0) { LOCK(); *(int *)(plStack_210 + 1) = (int)plStack_210[1] + 1; UNLOCK(); plVar10 = local_3b8; plVar11 = local_2d8; } (**(code **)(*plVar11 + 8))(plVar11,&local_158); lVar8 = FUN_1811316e0(0x38); if (lVar8 != 0) { plVar7 = (longlong *)FUN_180b24b00(lVar8); } local_208 = plVar7; FUN_180a0c310(&plStack_200,plVar7); FUN_1805ae620(&local_208,plVar7,plVar7); local_248 = local_208; plStack_240 = plStack_200; *(undefined1 *)(local_208 + 1) = 3; local_148 = local_208; plStack_140 = plStack_200; if (plStack_200 != (longlong *)0x0) { LOCK(); *(int *)(plStack_200 + 1) = (int)plStack_200[1] + 1; UNLOCK(); plVar10 = local_3b8; } (**(code **)(*plVar10 + 8))(plVar10,&local_148); param_3 = local_res18; if (plVar4 != (longlong *)0x0) { LOCK(); plVar7 = plVar4 + 1; lVar8 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); param_3 = local_res18; if (iVar15 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); param_3 = local_res18; } } } } puVar6 = (undefined8 *)(**(code **)(*local_3c8 + 0x38))(local_3c8,local_c0,1,0x30); plVar7 = plStack_290; local_298 = (longlong *)*puVar6; plVar4 = (longlong *)puVar6[1]; pcVar14 = (char *)0x0; puVar6[1] = 0; *puVar6 = 0; plVar10 = plVar4; local_1f8 = local_298; if (plStack_290 != (longlong *)0x0) { LOCK(); plVar11 = plStack_290 + 1; lVar8 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); if ((int)lVar8 == 1) { lVar8 = *plStack_290; plStack_290 = plVar4; (**(code **)(lVar8 + 8))(plVar7); LOCK(); piVar1 = (int *)((longlong)plVar7 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar10 = plStack_290; if (iVar15 == 1) { (**(code **)(*plVar7 + 0x10))(plVar7); plVar10 = plStack_290; } } } plStack_290 = plVar10; if (local_b8 != (longlong *)0x0) { LOCK(); plVar7 = local_b8 + 1; lVar8 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*local_b8 + 8))(local_b8); LOCK(); piVar1 = (int *)((longlong)local_b8 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*local_b8 + 0x10))(local_b8); } } } if (local_1f8 == (longlong *)0x0) { local_318 = (char *)FUN_1811316e0(0x18); if (local_318 != (char *)0x0) { FUN_1805a48c0(local_318,"Sequence containing the PKStandard is missing"); } pcVar13 = (char *)FUN_1811316e0(0x18); if (pcVar13 != (char *)0x0) { local_318 = pcVar13; FUN_1805a48c0(pcVar13,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar13 = pace::PaceLocationInfoFormatter::vftable; pcVar14 = pcVar13; } local_348[0] = 0x3b0; local_318 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(pcVar14 + 8),&local_318); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_348); } puVar6 = (undefined8 *)(**(code **)(*local_1f8 + 0x38))(local_1f8,local_b0,1,6); plVar10 = plStack_280; local_288 = (longlong *)*puVar6; plVar7 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; plVar11 = plVar7; local_278 = local_288; if (plStack_280 != (longlong *)0x0) { LOCK(); plVar12 = plStack_280 + 1; lVar8 = *plVar12; *(int *)plVar12 = (int)*plVar12 + -1; UNLOCK(); if ((int)lVar8 == 1) { lVar8 = *plStack_280; plStack_280 = plVar7; (**(code **)(lVar8 + 8))(plVar10); LOCK(); piVar1 = (int *)((longlong)plVar10 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar11 = plStack_280; if (iVar15 == 1) { (**(code **)(*plVar10 + 0x10))(plVar10); plVar11 = plStack_280; } } } plStack_280 = plVar11; if (local_a8 != (longlong *)0x0) { LOCK(); plVar10 = local_a8 + 1; lVar8 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*local_a8 + 8))(local_a8); LOCK(); piVar1 = (int *)((longlong)local_a8 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*local_a8 + 0x10))(local_a8); } } } if (local_278 != (longlong *)0x0) { (**(code **)(*local_278 + 0x40))(local_278,&DAT_181c09ad1,DAT_181c09ad0); puVar6 = (undefined8 *)(**(code **)(*local_1f8 + 0x38))(local_1f8,local_a0,2,6); plVar11 = plStack_260; local_268 = (longlong *)*puVar6; plVar10 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; plVar12 = plVar10; local_258 = local_268; if (plStack_260 != (longlong *)0x0) { LOCK(); plVar5 = plStack_260 + 1; lVar8 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar8 == 1) { lVar8 = *plStack_260; plStack_260 = plVar10; (**(code **)(lVar8 + 8))(plVar11); LOCK(); piVar1 = (int *)((longlong)plVar11 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar12 = plStack_260; if (iVar15 == 1) { (**(code **)(*plVar11 + 0x10))(plVar11); plVar12 = plStack_260; } } } plStack_260 = plVar12; if (local_98 != (longlong *)0x0) { LOCK(); plVar11 = local_98 + 1; lVar8 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*local_98 + 8))(local_98); LOCK(); piVar1 = (int *)((longlong)local_98 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*local_98 + 0x10))(local_98); } } } if (param_3 == 0) { (**(code **)(*local_258 + 0x40))(local_258,&DAT_181bf4111,DAT_181bf4110); iVar15 = 0x14; } else if (param_3 == 1) { (**(code **)(*local_258 + 0x40))(local_258,&DAT_181bf4119,DAT_181bf4118); iVar15 = 0x18; } else if (param_3 == 2) { (**(code **)(*local_258 + 0x40))(local_258,&DAT_181bf4125,DAT_181bf4124); iVar15 = 0x1c; } else { if (param_3 != 3) { local_2b0 = (char *)FUN_1811316e0(0x18); if (local_2b0 != (char *)0x0) { FUN_1805a48c0(local_2b0,"Unsupported PKStandard found in certificate"); } lVar8 = FUN_1805c0260(); local_338[0] = 0x3dc; local_2b0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar8 + 8),&local_2b0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_338); } (**(code **)(*local_258 + 0x40))(local_258,&DAT_181bf4131,DAT_181bf4130); iVar15 = 0x20; } puVar6 = (undefined8 *)(**(code **)(*local_3c8 + 0x38))(local_3c8,local_90,1,3); plVar12 = plStack_240; local_248 = (longlong *)*puVar6; plVar11 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; plVar5 = plVar11; local_238 = local_248; if (plStack_240 != (longlong *)0x0) { LOCK(); plVar2 = plStack_240 + 1; lVar8 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar8 == 1) { lVar8 = *plStack_240; plStack_240 = plVar11; (**(code **)(lVar8 + 8))(plVar12); LOCK(); piVar1 = (int *)((longlong)plVar12 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar5 = plStack_240; if (iVar3 == 1) { (**(code **)(*plVar12 + 0x10))(plVar12); plVar5 = plStack_240; } } } plStack_240 = plVar5; if (local_88 != (longlong *)0x0) { LOCK(); plVar12 = local_88 + 1; lVar8 = *plVar12; *(int *)plVar12 = (int)*plVar12 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*local_88 + 8))(local_88); LOCK(); piVar1 = (int *)((longlong)local_88 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_88 + 0x10))(local_88); } } } plVar12 = local_238; if (local_238 == (longlong *)0x0) { local_res8 = FUN_1811316e0(0x18); if (local_res8 == 0) { local_res8 = 0; } else { local_res8 = FUN_1805a48c0(local_res8,"Public Key Value is missing"); } pcVar14 = (char *)FUN_1811316e0(0x18); if (pcVar14 == (char *)0x0) { pcVar14 = (char *)0x0; } else { local_2a8 = pcVar14; FUN_1805a48c0(pcVar14,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar14 = pace::PaceLocationInfoFormatter::vftable; } local_330[0] = 0x3e2; local_2a8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(pcVar14 + 8),&local_2a8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_330); } local_res8 = local_res8 & 0xffffffffffffff00; local_78 = &local_300; puStack_70 = &local_res8; FUN_1805e1ee0(&local_300,iVar15 * 2 + 2,&local_78); *local_300 = 0; local_300[1] = 4; local_3d8[0] = FUN_180706f70(iVar15,local_res20,local_300 + 2,0); if (local_3d8[0] != 0) { local_308 = (char *)FUN_1811316e0(0x18); if (local_308 == (char *)0x0) { local_3e8 = 0; } else { local_3e8 = FUN_1805a48c0(local_308, "[%d] BIG_BigNumberToBytes error - Setting the X-coordinate in Asn1ParserCert::SetEccPublicKey" ); } pcVar14 = (char *)FUN_1811316e0(0x18); local_308 = pcVar14; if (pcVar14 == (char *)0x0) { pcVar14 = (char *)0x0; } else { FUN_1805a48c0(pcVar14,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar14 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(local_3e8 + 8),local_3d8); local_328[0] = 0x3f0; local_308 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(pcVar14 + 8),&local_308); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_328); } local_3d8[0] = FUN_180706f70(iVar15,local_res20 + 0x38,local_300 + (iVar15 + 2),0); if (local_3d8[0] == 0) { (**(code **)(*plVar12 + 0x50))(plVar12,&local_300); if (local_3a8 != (longlong *)0x0) { local_138 = local_3c8; plStack_130 = plStack_3c0; if (plStack_3c0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_3c0 + 1) = (int)plStack_3c0[1] + 1; UNLOCK(); } (**(code **)(*local_3a8 + 8))(local_3a8,&local_138); } if (plVar11 != (longlong *)0x0) { LOCK(); plVar12 = plVar11 + 1; lVar8 = *plVar12; *(int *)plVar12 = (int)*plVar12 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar11 + 8))(plVar11); LOCK(); piVar1 = (int *)((longlong)plVar11 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*plVar11 + 0x10))(plVar11); } } } if (plVar10 != (longlong *)0x0) { LOCK(); plVar11 = plVar10 + 1; lVar8 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar10 + 8))(plVar10); LOCK(); piVar1 = (int *)((longlong)plVar10 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*plVar10 + 0x10))(plVar10); } } } if (plVar7 != (longlong *)0x0) { LOCK(); plVar10 = plVar7 + 1; lVar8 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar7 + 8))(plVar7); LOCK(); piVar1 = (int *)((longlong)plVar7 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*plVar7 + 0x10))(plVar7); } } } if (plVar4 != (longlong *)0x0) { LOCK(); plVar7 = plVar4 + 1; lVar8 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } plVar4 = plStack_3c0; if (plStack_3c0 != (longlong *)0x0) { LOCK(); plVar7 = plStack_3c0 + 1; lVar8 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plStack_3c0 + 8))(plStack_3c0); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*plStack_3c0 + 0x10))(); } } } plVar4 = plStack_3a0; if (plStack_3a0 != (longlong *)0x0) { LOCK(); plVar7 = plStack_3a0 + 1; lVar8 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plStack_3a0 + 8))(plStack_3a0); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*plStack_3a0 + 0x10))(); } } } plVar4 = plStack_390; if (plStack_390 != (longlong *)0x0) { LOCK(); plVar7 = plStack_390 + 1; lVar8 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plStack_390 + 8))(plStack_390); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)(*plStack_390 + 0x10))(); } } } if (local_300 == (undefined1 *)0x0) { return; } _Memory = local_300; if ((0xfff < (ulonglong)(local_2f0 - (longlong)local_300)) && (_Memory = *(undefined1 **)(local_300 + -8), (undefined1 *)0x1f < local_300 + (-8 - (longlong)_Memory))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { local_res20 = 0; } else { local_res20 = FUN_1805a48c0(local_res20, "[%d] BIG_BigNumberToBytes error - Setting the Y-coordinate in Asn1ParserCert::SetEccPublicKey" ); } pcVar14 = (char *)FUN_1811316e0(0x18); local_2a0 = pcVar14; if (pcVar14 == (char *)0x0) { pcVar14 = (char *)0x0; } else { FUN_1805a48c0(pcVar14,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar14 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(local_res20 + 8),local_3d8); local_320[0] = 0x3f9; local_2a0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(pcVar14 + 8),&local_2a0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_320); } local_310 = (char *)FUN_1811316e0(0x18); if (local_310 != (char *)0x0) { FUN_1805a48c0(local_310,"Public Key PKStandard is missing"); } pcVar14 = (char *)FUN_1811316e0(0x18); if (pcVar14 == (char *)0x0) { pcVar14 = (char *)0x0; } else { local_310 = pcVar14; FUN_1805a48c0(pcVar14,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar14 = pace::PaceLocationInfoFormatter::vftable; } local_340[0] = 0x3b4; local_310 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar9 = FUN_1805a21d0(*(undefined8 *)(pcVar14 + 8),&local_310); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_340); } ############ FUN_ 180a18aa0 size=1188 ############ void FUN_180a18aa0(longlong *param_1,longlong param_2) { int *piVar1; longlong *plVar2; longlong *plVar3; longlong *plVar4; longlong lVar5; int iVar6; undefined8 *puVar7; undefined8 uVar8; longlong lVar9; char *pcVar10; void *_Memory; undefined8 *local_res8; undefined4 local_res10 [2]; undefined8 *local_res18; undefined4 local_res20 [2]; void *local_e8; undefined8 uStack_e0; longlong local_d8; undefined4 local_d0 [2]; char *local_c8; longlong *local_c0; longlong *plStack_b8; longlong *local_b0; char *local_a0; char *local_98; char *local_90; longlong *local_88; undefined8 local_78; undefined1 local_70 [8]; longlong *local_68; undefined1 local_60 [8]; longlong *local_58; local_78 = 0xfffffffffffffffe; local_e8 = (void *)0x0; uStack_e0 = 0; lVar9 = 0; local_d8 = 0; local_c0 = (longlong *)0x0; plStack_b8 = (longlong *)0x0; puVar7 = (undefined8 *)(**(code **)(*param_1 + 0x18))(0,local_70,&DAT_181c09eb0); local_c0 = (longlong *)*puVar7; plVar3 = (longlong *)puVar7[1]; puVar7[1] = 0; *puVar7 = 0; plStack_b8 = plVar3; local_88 = local_c0; if (local_68 != (longlong *)0x0) { LOCK(); plVar4 = local_68 + 1; lVar5 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar1 = (int *)((longlong)local_68 + 0xc); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)(*local_68 + 0x10))(local_68); } } } plVar4 = local_88; if (local_88 == (longlong *)0x0) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"signatureEcdsa_R is missing"); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } local_res10[0] = 0x467; local_a0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_a0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,local_res10); } FUN_1805b0f50(&local_e8,0x20,&local_e8); iVar6 = FUN_180706f70(0x20,param_2,local_e8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar6); if (iVar6 != 0) { local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { lVar9 = FUN_1805a48c0(local_res18, "[%d] BIG_BigNumberToBytes error - Setting the R Signature in Asn1ParserCert::SetEcdsaSignature" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar9 + 8),&local_res8); local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x473); local_98 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_98); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res18); } (**(code **)(*param_1 + 0x20))(param_1,&local_e8); (**(code **)(*plVar4 + 0x50))(plVar4,&local_e8); puVar7 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_60,&DAT_181c09ec0); local_c0 = (longlong *)*puVar7; plVar4 = (longlong *)puVar7[1]; puVar7[1] = 0; *puVar7 = 0; plStack_b8 = plVar4; local_b0 = local_c0; if (plVar3 != (longlong *)0x0) { LOCK(); plVar2 = plVar3 + 1; lVar9 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar3 + 8))(plVar3); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); } } } if (local_58 != (longlong *)0x0) { LOCK(); plVar3 = local_58 + 1; lVar9 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*local_58 + 8))(local_58); LOCK(); piVar1 = (int *)((longlong)local_58 + 0xc); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)(*local_58 + 0x10))(local_58); } } } plVar3 = local_b0; if (local_b0 != (longlong *)0x0) { FUN_1805b0f50(&local_e8,0x20,&local_e8); iVar6 = FUN_180706f70(0x20,param_2 + 0x38,local_e8); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,iVar6); if (iVar6 != 0) { local_c8 = (char *)FUN_1811316e0(0x18); if (local_c8 == (char *)0x0) { lVar9 = 0; } else { lVar9 = FUN_1805a48c0(local_c8, "[%d] BIG_BigNumberToBytes error - Setting the S Signature in Asn1ParserCert::SetEcdsaSignature" ); } pcVar10 = (char *)FUN_1811316e0(0x18); local_c8 = pcVar10; if (pcVar10 == (char *)0x0) { pcVar10 = (char *)0x0; } else { FUN_1805a48c0(pcVar10,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar10 = pace::PaceLocationInfoFormatter::vftable; } FUN_18060e760(*(undefined8 *)(lVar9 + 8),&local_res8); local_d0[0] = 0x48b; local_c8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(*(undefined8 *)(pcVar10 + 8),&local_c8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,local_d0); } (**(code **)(*param_1 + 0x20))(param_1,&local_e8); (**(code **)(*plVar3 + 0x50))(plVar3,&local_e8); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar9 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (local_e8 == (void *)0x0) { return; } _Memory = local_e8; if ((0xfff < (ulonglong)(local_d8 - (longlong)local_e8)) && (_Memory = *(void **)((longlong)local_e8 + -8), 0x1f < (ulonglong)((longlong)local_e8 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"signatureEcdsa_S is missing"); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } local_res20[0] = 0x47f; local_90 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_90); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,local_res20); } ############ FUN_ 180a18f90 size=1548 ############ void FUN_180a18f90(longlong *param_1,char *param_2,longlong *param_3) { int *piVar1; int iVar2; char cVar3; longlong *plVar4; longlong *plVar5; longlong *plVar6; longlong *plVar7; longlong *plVar8; char *pcVar9; undefined8 uVar10; undefined8 *puVar11; char *pcVar12; longlong lVar13; uint uVar14; char *pcVar15; longlong *plVar16; char *local_res10; longlong *local_res18; char *local_res20; undefined4 local_100 [2]; undefined4 local_f8 [2]; char *local_f0; char *local_e8; longlong *local_e0; ulonglong local_d8; char *local_d0; undefined8 uStack_c8; longlong local_c0; longlong *local_b8; longlong *plStack_b0; longlong *local_a8; char *local_98; char *local_90 [2]; longlong *local_80; undefined8 local_70; undefined1 local_68 [8]; longlong *local_60; undefined1 local_58 [8]; longlong *local_50; local_70 = 0xfffffffffffffffe; local_d0 = (char *)0x0; uStack_c8 = 0; pcVar12 = (char *)0x0; local_c0 = 0; local_b8 = (longlong *)0x0; plStack_b0 = (longlong *)0x0; local_d8 = local_d8 & 0xffffffff00000000; local_res18 = param_3; if (0x7e < (byte)(*param_2 - 1U)) { local_res10 = (char *)FUN_1811316e0(0x18); if (local_res10 != (char *)0x0) { FUN_1805a48c0(local_res10,"ILokExtensionPrivileges have a bad cert level value"); } pcVar9 = (char *)FUN_1811316e0(0x18); local_res10 = pcVar9; if (pcVar9 != (char *)0x0) { FUN_1805a48c0(pcVar9,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar9 = pace::PaceLocationInfoFormatter::vftable; pcVar12 = pcVar9; } local_res10 = (char *)CONCAT44(local_res10._4_4_,0x52a); local_98 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar10 = FUN_1805a21d0(*(undefined8 *)(pcVar12 + 8),&local_98); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_res10); } if (8 < (byte)param_2[2]) { local_res20 = (char *)FUN_1811316e0(0x18); if (local_res20 != (char *)0x0) { FUN_1805a48c0(local_res20, "ILokExtensionPrivileges number of Participant IDs exceeds the maximum"); } pcVar9 = (char *)FUN_1811316e0(0x18); local_res20 = pcVar9; if (pcVar9 != (char *)0x0) { FUN_1805a48c0(pcVar9,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar9 = pace::PaceLocationInfoFormatter::vftable; pcVar12 = pcVar9; } local_res20 = (char *)CONCAT44(local_res20._4_4_,0x52f); local_90[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar10 = FUN_1805a21d0(*(undefined8 *)(pcVar12 + 8),local_90); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_res20); } puVar11 = (undefined8 *)(**(code **)(*param_1 + 0x30))(param_1,local_68,&DAT_181c099f0); local_b8 = (longlong *)*puVar11; plVar4 = (longlong *)puVar11[1]; puVar11[1] = 0; *puVar11 = 0; plStack_b0 = plVar4; local_80 = local_b8; if (local_60 != (longlong *)0x0) { LOCK(); plVar5 = local_60 + 1; lVar13 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar13 == 1) { (**(code **)(*local_60 + 8))(local_60); LOCK(); piVar1 = (int *)((longlong)local_60 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_60 + 0x10))(local_60); } } } if (local_80 == (longlong *)0x0) { local_f0 = (char *)FUN_1811316e0(0x18); if (local_f0 != (char *)0x0) { FUN_1805a48c0(local_f0,"ILokExtensionPrivileges extension is missing"); } pcVar9 = (char *)FUN_1811316e0(0x18); if (pcVar9 != (char *)0x0) { local_f0 = pcVar9; FUN_1805a48c0(pcVar9,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar9 = pace::PaceLocationInfoFormatter::vftable; pcVar12 = pcVar9; } local_100[0] = 0x539; local_f0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar10 = FUN_1805a21d0(*(undefined8 *)(pcVar12 + 8),&local_f0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_100); } puVar11 = (undefined8 *)(**(code **)(*local_80 + 0x38))(local_80,local_58,1,2); local_b8 = (longlong *)*puVar11; plVar5 = (longlong *)puVar11[1]; puVar11[1] = 0; *puVar11 = 0; plStack_b0 = plVar5; local_a8 = local_b8; if (plVar4 != (longlong *)0x0) { LOCK(); plVar16 = plVar4 + 1; lVar13 = *plVar16; *(int *)plVar16 = (int)*plVar16 + -1; UNLOCK(); if ((int)lVar13 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (local_50 != (longlong *)0x0) { LOCK(); plVar4 = local_50 + 1; lVar13 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar13 == 1) { (**(code **)(*local_50 + 8))(local_50); LOCK(); piVar1 = (int *)((longlong)local_50 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_50 + 0x10))(local_50); } } } plVar4 = local_a8; if (local_a8 != (longlong *)0x0) { lVar13 = (longlong)(int)((uint)(byte)param_2[2] << 2) + 0xc + (longlong)(int)(((uint)(byte)param_2[3] + (uint)(byte)param_2[3] * 4) * 2); if (local_res18 != (longlong *)0x0) { local_d8 = local_res18[1]; if ((int)local_d8 != 0) { lVar13 = lVar13 + (ulonglong)((int)local_d8 * 4 + 4); } } FUN_1805b0f50(&local_d0,lVar13,&local_d0); pcVar9 = local_d0; *local_d0 = *param_2; local_d0[1] = param_2[1]; local_d0[2] = param_2[2]; local_d0[3] = param_2[3]; FUN_180b227b0(*(undefined4 *)(param_2 + 4),local_d0 + 4,4); FUN_180b227b0(*(undefined4 *)(param_2 + 8),pcVar9 + 8,4); pcVar9 = pcVar9 + 0xc; pcVar15 = pcVar12; if (param_2[2] != '\0') { do { FUN_180b227b0(*(undefined4 *)(param_2 + (longlong)pcVar15 * 4 + 0xc),pcVar9,4); pcVar9 = pcVar9 + 4; uVar14 = (int)pcVar15 + 1; pcVar15 = (char *)(ulonglong)uVar14; } while (uVar14 < (byte)param_2[2]); } if (param_2[3] != '\0') { do { FUN_180b227b0(*(undefined4 *)(param_2 + (longlong)pcVar12 * 4 + 0x2c),pcVar9,4); FUN_180b227b0(*(undefined4 *)(param_2 + (longlong)pcVar12 * 4 + 0x4c),pcVar9 + 4,4); pcVar9[8] = param_2[(longlong)(pcVar12 + 0x6c)]; pcVar9[9] = param_2[(longlong)(pcVar12 + 0x74)]; pcVar9 = pcVar9 + 10; uVar14 = (int)pcVar12 + 1; pcVar12 = (char *)(ulonglong)uVar14; } while (uVar14 < (byte)param_2[3]); } if ((int)local_d8 != 0) { FUN_180b227b0(local_d8 & 0xffffffff,pcVar9,4); plVar7 = local_res18; local_e0 = (longlong *)*local_res18; plVar16 = (longlong *)*local_e0; if (plVar16 != local_e0) { do { pcVar9 = pcVar9 + 4; FUN_180b227b0(*(undefined4 *)((longlong)plVar16 + 0x1c),pcVar9,4); plVar6 = (longlong *)plVar16[2]; if (*(char *)((longlong)plVar6 + 0x19) == '\0') { cVar3 = *(char *)(*plVar6 + 0x19); plVar16 = plVar6; plVar6 = (longlong *)*plVar6; while (cVar3 == '\0') { cVar3 = *(char *)(*plVar6 + 0x19); plVar16 = plVar6; plVar6 = (longlong *)*plVar6; } } else { cVar3 = *(char *)(plVar16[1] + 0x19); plVar8 = (longlong *)plVar16[1]; plVar6 = plVar16; while ((plVar16 = plVar8, cVar3 == '\0' && (plVar6 == (longlong *)plVar16[2]))) { cVar3 = *(char *)(plVar16[1] + 0x19); plVar8 = (longlong *)plVar16[1]; plVar6 = plVar16; } } local_e0 = (longlong *)*plVar7; } while (plVar16 != local_e0); } } (**(code **)(*plVar4 + 0x50))(plVar4,&local_d0); (**(code **)(*param_1 + 400))(param_1,*(uint *)(param_2 + 4) >> 0x17 & 0xffffff01); if (plVar5 != (longlong *)0x0) { LOCK(); plVar4 = plVar5 + 1; lVar13 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar13 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } if (local_d0 != (char *)0x0) { pcVar12 = local_d0; if ((0xfff < (ulonglong)(local_c0 - (longlong)local_d0)) && (pcVar12 = *(char **)(local_d0 + -8), (char *)0x1f < local_d0 + (-8 - (longlong)pcVar12))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pcVar12); } return; } local_e8 = (char *)FUN_1811316e0(0x18); if (local_e8 != (char *)0x0) { FUN_1805a48c0(local_e8,"ILokExtensionPrivileges extension integer is missing"); } pcVar9 = (char *)FUN_1811316e0(0x18); if (pcVar9 != (char *)0x0) { local_e8 = pcVar9; FUN_1805a48c0(pcVar9,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar9 = pace::PaceLocationInfoFormatter::vftable; pcVar12 = pcVar9; } local_f8[0] = 0x53d; local_e8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar10 = FUN_1805a21d0(*(undefined8 *)(pcVar12 + 8),&local_e8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_f8); } ############ FUN_ 180a19680 size=437 ############ void FUN_180a19680(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099ac,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x48))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "IssueNumber is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x5b8); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a19850 size=847 ############ void FUN_180a19850(longlong *param_1,longlong *param_2) { int *piVar1; longlong *plVar2; longlong *plVar3; int iVar4; longlong *plVar5; longlong *plVar6; longlong lVar7; char cVar8; undefined8 *puVar9; undefined8 uVar10; longlong *plVar11; undefined8 *puVar12; int iVar13; undefined8 *local_res8; longlong *local_res10; undefined8 *local_res18; char *local_res20; char *local_d8; longlong local_d0; longlong *plStack_c8; longlong *local_c0; longlong local_b0; longlong *local_a8; longlong *local_a0; longlong *plStack_98; undefined8 local_90; undefined1 local_80 [8]; longlong *local_78; undefined1 local_70 [8]; longlong *local_68; longlong local_60; local_90 = 0xfffffffffffffffe; local_d0 = 0; plStack_c8 = (longlong *)0x0; local_a0 = (longlong *)0x0; plStack_98 = (longlong *)0x0; puVar12 = (undefined8 *)0x0; local_res10 = param_2; if (((longlong *)*param_2 == (longlong *)0x0) || (cVar8 = (**(code **)(*(longlong *)*param_2 + 0x10))(), cVar8 == '\0')) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Issuer not provided by caller"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar12 = puVar9; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x5d7); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar10 = FUN_1805a21d0(puVar12[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_res8); } puVar9 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_80,&DAT_181c09e5c); local_c0 = (longlong *)*puVar9; plVar5 = (longlong *)puVar9[1]; puVar9[1] = 0; *puVar9 = 0; local_a0 = local_c0; plStack_98 = plVar5; if (local_78 != (longlong *)0x0) { LOCK(); plVar6 = local_78 + 1; lVar7 = *plVar6; *(int *)plVar6 = (int)*plVar6 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*local_78 + 8))(local_78); LOCK(); piVar1 = (int *)((longlong)local_78 + 0xc); iVar13 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)(*local_78 + 0x10))(local_78); } } } if (local_c0 != (longlong *)0x0) { (**(code **)(*local_c0 + 0x18))(); iVar13 = 1; while( true ) { plVar11 = (longlong *) (**(code **)(*(longlong *)*param_2 + 0x38))((longlong *)*param_2,local_70,iVar13,0); plVar3 = plStack_c8; local_d0 = *plVar11; plVar6 = (longlong *)plVar11[1]; plVar11[1] = 0; *plVar11 = 0; plVar11 = plVar6; local_60 = local_d0; if (plStack_c8 != (longlong *)0x0) { LOCK(); plVar2 = plStack_c8 + 1; lVar7 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar7 == 1) { lVar7 = *plStack_c8; plStack_c8 = plVar6; (**(code **)(lVar7 + 8))(plVar3); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar11 = plStack_c8; if (iVar4 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); plVar11 = plStack_c8; } } } plStack_c8 = plVar11; plVar3 = local_68; iVar13 = iVar13 + 1; if (local_68 != (longlong *)0x0) { LOCK(); plVar11 = local_68 + 1; lVar7 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); } } } if (local_60 == 0) break; local_b0 = local_60; if (plVar6 != (longlong *)0x0) { LOCK(); *(int *)(plVar6 + 1) = (int)plVar6[1] + 1; UNLOCK(); } local_a8 = plVar6; (**(code **)(*local_c0 + 8))(local_c0,&local_b0); } if (plVar5 != (longlong *)0x0) { LOCK(); plVar3 = plVar5 + 1; lVar7 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar13 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } if (plVar6 != (longlong *)0x0) { LOCK(); plVar5 = plVar6 + 1; lVar7 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar6 + 8))(plVar6); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar13 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)(*plVar6 + 0x10))(plVar6); } } } plVar5 = (longlong *)param_2[1]; if (plVar5 != (longlong *)0x0) { LOCK(); plVar6 = plVar5 + 1; lVar7 = *plVar6; *(int *)plVar6 = (int)*plVar6 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar13 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } return; } local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"Issuer is missing"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar12 = puVar9; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x5dd); local_d8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar10 = FUN_1805a21d0(puVar12[1],&local_d8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_res18); } ############ FUN_ 180a19bc0 size=437 ############ void FUN_180a19bc0(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099e8,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x48))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "KeySpace is missing from %d, where nonzero = subject and zero = issuer)") ; } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x619); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a19d90 size=835 ############ void FUN_180a19d90(longlong *param_1,undefined4 param_2) { int *piVar1; longlong *plVar2; int iVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; void *_Memory; undefined8 *puVar9; undefined1 uVar10; undefined8 *local_res8; undefined1 local_res10 [8]; undefined8 *local_res18; undefined4 local_res20 [2]; void *local_c8; undefined1 *puStack_c0; undefined1 *local_b8; longlong *local_b0; longlong *plStack_a8; longlong *local_a0; char *local_90; char *local_88; longlong *local_80; undefined8 local_70; undefined1 local_68 [8]; longlong *local_60; undefined1 local_58 [8]; longlong *local_50; local_70 = 0xfffffffffffffffe; local_c8 = (void *)0x0; puStack_c0 = (undefined1 *)0x0; puVar9 = (undefined8 *)0x0; local_b8 = (undefined1 *)0x0; local_b0 = (longlong *)0x0; plStack_a8 = (longlong *)0x0; puVar7 = (undefined8 *)(**(code **)(*param_1 + 0x30))(0,local_68,&DAT_181c099fc); local_b0 = (longlong *)*puVar7; plVar4 = (longlong *)puVar7[1]; puVar7[1] = 0; *puVar7 = 0; plStack_a8 = plVar4; local_80 = local_b0; if (local_60 != (longlong *)0x0) { LOCK(); plVar5 = local_60 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_60 + 8))(local_60); LOCK(); piVar1 = (int *)((longlong)local_60 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_60 + 0x10))(local_60); } } } if (local_80 == (longlong *)0x0) { local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"KeyUsage extension is missing"); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar7; if (puVar7 != (undefined8 *)0x0) { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; puVar9 = puVar7; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x648); local_90 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar9[1],&local_90); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res18); } puVar7 = (undefined8 *)(**(code **)(*local_80 + 0x38))(local_80,local_58,1,3); local_b0 = (longlong *)*puVar7; plVar5 = (longlong *)puVar7[1]; puVar7[1] = 0; *puVar7 = 0; plStack_a8 = plVar5; local_a0 = local_b0; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar6 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (local_50 != (longlong *)0x0) { LOCK(); plVar4 = local_50 + 1; lVar6 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_50 + 8))(local_50); LOCK(); piVar1 = (int *)((longlong)local_50 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_50 + 0x10))(local_50); } } } plVar4 = local_a0; if (local_a0 != (longlong *)0x0) { local_res10[0] = 0; if (local_b8 == puStack_c0) { FUN_1805b0850(&local_c8,puStack_c0,local_res10); } else { *puStack_c0 = 0; puStack_c0 = puStack_c0 + 1; } uVar10 = (undefined1)((uint)param_2 >> 0x18); local_res8 = (undefined8 *)CONCAT71(local_res8._1_7_,uVar10); if (local_b8 == puStack_c0) { FUN_1805b0850(&local_c8,puStack_c0,&local_res8); } else { *puStack_c0 = uVar10; puStack_c0 = puStack_c0 + 1; } (**(code **)(*plVar4 + 0x50))(plVar4,&local_c8); if (plVar5 != (longlong *)0x0) { LOCK(); plVar4 = plVar5 + 1; lVar6 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } if (local_c8 == (void *)0x0) { return; } _Memory = local_c8; if ((0xfff < (ulonglong)((longlong)local_b8 - (longlong)local_c8)) && (_Memory = *(void **)((longlong)local_c8 + -8), 0x1f < (ulonglong)((longlong)local_c8 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"KeyUsage extension bit string is missing"); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 != (undefined8 *)0x0) { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; puVar9 = puVar7; } local_res20[0] = 0x64c; local_88 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar9[1],&local_88); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,local_res20); } ############ FUN_ 180a1a100 size=1401 ############ void FUN_180a1a100(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; bool bVar4; undefined8 *puVar5; longlong lVar6; undefined8 uVar7; longlong *plVar8; longlong *plVar9; longlong *plVar10; longlong local_res8; longlong *local_190; longlong *plStack_188; longlong *local_178; longlong *plStack_170; longlong *local_168; longlong *local_160; longlong *local_158; longlong *plStack_150; longlong *local_148; longlong *plStack_140; longlong *local_138; longlong *plStack_130; longlong *local_128; longlong *plStack_120; longlong *local_118; longlong *plStack_110; char *local_108 [2]; longlong *local_f8; longlong *plStack_f0; longlong *local_e8; longlong *local_e0; longlong *local_d8; longlong *local_c8; longlong *local_b8; longlong *plStack_b0; longlong *local_a8; longlong *plStack_a0; longlong *local_98; longlong *plStack_90; undefined8 local_88; undefined1 local_80 [8]; longlong *local_78; undefined1 local_70 [8]; longlong *local_68; undefined8 local_60; undefined8 uStack_58; undefined8 local_50; local_88 = 0xfffffffffffffffe; local_60 = 0; uStack_58 = 0; plVar10 = (longlong *)0x0; local_50 = 0; local_148 = (longlong *)0x0; plStack_140 = (longlong *)0x0; local_158 = (longlong *)0x0; plStack_150 = (longlong *)0x0; local_118 = (longlong *)0x0; plStack_110 = (longlong *)0x0; local_128 = (longlong *)0x0; plStack_120 = (longlong *)0x0; bVar4 = false; puVar5 = (undefined8 *)(**(code **)(*param_1 + 0x40))(param_1,local_80,&DAT_181c099e4,param_2); local_190 = (longlong *)*puVar5; plVar3 = (longlong *)puVar5[1]; puVar5[1] = 0; *puVar5 = 0; local_d8 = local_190; if (local_78 != (longlong *)0x0) { LOCK(); plVar8 = local_78 + 1; lVar6 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_78 + 8))(local_78); LOCK(); piVar1 = (int *)((longlong)local_78 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_78 + 0x10))(local_78); } } } plStack_188 = plVar3; if (local_d8 == (longlong *)0x0) { puVar5 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_70,&DAT_181c09e84); local_148 = (longlong *)*puVar5; plStack_140 = (longlong *)puVar5[1]; puVar5[1] = 0; *puVar5 = 0; local_c8 = local_148; if (local_68 != (longlong *)0x0) { LOCK(); plVar8 = local_68 + 1; lVar6 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar1 = (int *)((longlong)local_68 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_68 + 0x10))(local_68); } } } if (local_c8 == (longlong *)0x0) { local_res8 = FUN_1811316e0(0x18); if (local_res8 != 0) { FUN_1805a48c0(local_res8,"Extensions are missing"); } lVar6 = FUN_1805c0260(); local_res8 = CONCAT44(local_res8._4_4_,0x685); local_108[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar7 = FUN_1805a21d0(*(undefined8 *)(lVar6 + 8),local_108); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar7,&local_res8); } lVar6 = FUN_1811316e0(0x38); plVar8 = plVar10; if (lVar6 != 0) { plVar8 = (longlong *)FUN_180b23940(lVar6); } local_138 = plVar8; FUN_180a0c2a0(&plStack_130,plVar8); FUN_1805ae620(&local_138,plVar8,plVar8); plVar8 = local_138; local_158 = local_138; plStack_150 = plStack_130; *(undefined1 *)(local_138 + 1) = 0x31; lVar6 = FUN_1811316e0(0x38); plVar9 = plVar10; if (lVar6 != 0) { plVar9 = (longlong *)FUN_180b23940(lVar6); } local_178 = plVar9; FUN_180a0c2a0(&plStack_170,plVar9); FUN_1805ae620(&local_178,plVar9,plVar9); plVar9 = local_178; local_118 = local_178; plStack_110 = plStack_170; *(undefined1 *)(local_178 + 1) = 0x30; local_b8 = local_178; plStack_b0 = plStack_170; if (plStack_170 != (longlong *)0x0) { LOCK(); *(int *)(plStack_170 + 1) = (int)plStack_170[1] + 1; UNLOCK(); plVar8 = local_138; } (**(code **)(*plVar8 + 8))(plVar8,&local_b8); lVar6 = FUN_1811316e0(0x38); plVar8 = plVar10; if (lVar6 != 0) { plVar8 = (longlong *)FUN_180b24b00(lVar6); } local_f8 = plVar8; FUN_180a0c310(&plStack_f0,plVar8); FUN_1805ae620(&local_f8,plVar8,plVar8); plVar8 = local_f8; local_128 = local_f8; plStack_120 = plStack_f0; *(undefined1 *)(local_f8 + 1) = 6; (**(code **)(*local_f8 + 0x40))(local_f8,&DAT_181c099e5,DAT_181c099e4); local_a8 = plVar8; plStack_a0 = plStack_f0; if (plStack_f0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_f0 + 1) = (int)plStack_f0[1] + 1; UNLOCK(); plVar9 = local_178; } (**(code **)(*plVar9 + 8))(plVar9,&local_a8); lVar6 = FUN_1811316e0(0x38); if (lVar6 != 0) { plVar10 = (longlong *)FUN_180b24b00(lVar6); } local_168 = plVar10; FUN_180a0c310(&local_160,plVar10); FUN_1805ae620(&local_168,plVar10,plVar10); plVar10 = local_160; local_190 = local_168; local_168 = (longlong *)0x0; plStack_188 = local_160; local_160 = plVar3; if (plVar3 != (longlong *)0x0) { LOCK(); plVar8 = plVar3 + 1; lVar6 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); plVar9 = local_178; if ((int)lVar6 == 1) { (**(code **)(*plVar3 + 8))(plVar3); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar9 = local_178; if (iVar2 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); plVar9 = local_178; } } } *(undefined1 *)(local_190 + 1) = 0x13; local_e0 = plVar10; if (plVar10 != (longlong *)0x0) { LOCK(); *(int *)(plVar10 + 1) = (int)plVar10[1] + 1; UNLOCK(); plVar9 = local_178; } local_e8 = local_190; (**(code **)(*plVar9 + 8))(plVar9,&local_e8); bVar4 = true; } (**(code **)(*local_190 + 0x48))(local_190,param_3); if (bVar4) { local_98 = local_158; plStack_90 = plStack_150; if (plStack_150 != (longlong *)0x0) { LOCK(); *(int *)(plStack_150 + 1) = (int)plStack_150[1] + 1; UNLOCK(); } (**(code **)(*local_148 + 8))(local_148,&local_98); } if (plStack_188 != (longlong *)0x0) { LOCK(); plVar3 = plStack_188 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plStack_188 + 8))(plStack_188); LOCK(); piVar1 = (int *)((longlong)plStack_188 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_188 + 0x10))(); } } } plVar3 = plStack_120; if (plStack_120 != (longlong *)0x0) { LOCK(); plVar10 = plStack_120 + 1; lVar6 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plStack_120 + 8))(plStack_120); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_120 + 0x10))(); } } } plVar3 = plStack_110; if (plStack_110 != (longlong *)0x0) { LOCK(); plVar10 = plStack_110 + 1; lVar6 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plStack_110 + 8))(plStack_110); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_110 + 0x10))(); } } } plVar3 = plStack_150; if (plStack_150 != (longlong *)0x0) { LOCK(); plVar10 = plStack_150 + 1; lVar6 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plStack_150 + 8))(plStack_150); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_150 + 0x10))(); } } } plVar3 = plStack_140; if (plStack_140 != (longlong *)0x0) { LOCK(); plVar10 = plStack_140 + 1; lVar6 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plStack_140 + 8))(plStack_140); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_140 + 0x10))(); } } } return; } ############ FUN_ 180a1a690 size=437 ############ void FUN_180a1a690(longlong *param_1,undefined1 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 *local_res8; undefined1 local_res10 [8]; char *local_res20; undefined1 local_50 [8]; longlong *local_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; local_40 = 0; uStack_38 = 0; local_30 = 0; local_res10[0] = param_2; plVar5 = (longlong *) (**(code **)(*param_1 + 0x40))(0,local_50,&DAT_181c099dc,param_2,0xfffffffffffffffe,0,0); plVar3 = (longlong *)*plVar5; plVar4 = (longlong *)plVar5[1]; plVar5[1] = 0; *plVar5 = 0; if (local_48 != (longlong *)0x0) { LOCK(); plVar5 = local_48 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_48 + 8))(local_48); LOCK(); piVar1 = (int *)((longlong)local_48 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x48))(plVar3,param_3); if (plVar4 != (longlong *)0x0) { LOCK(); plVar3 = plVar4 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = FUN_1805a48c0(local_res8, "Organization is missing from %d, where nonzero = subject and zero = issuer)" ); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } FUN_1806548b0(*(undefined8 *)(lVar6 + 8),local_res10); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x6d8); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } ############ FUN_ 180a1a860 size=1659 ############ void FUN_180a1a860(longlong *param_1,int param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; bool bVar3; longlong *plVar4; undefined8 uVar5; undefined8 *puVar6; longlong lVar7; longlong *plVar8; longlong *plVar9; longlong *plVar10; undefined1 *_Memory; longlong *local_res8; undefined4 local_res10 [2]; longlong *local_res18; char *local_res20; longlong *local_1b0; longlong *plStack_1a8; longlong *local_198; longlong *plStack_190; longlong *local_188; longlong *local_180; longlong *local_178; longlong *plStack_170; longlong *local_168; longlong *plStack_160; longlong *local_158; longlong *plStack_150; undefined1 *local_148; undefined8 uStack_140; longlong local_138; longlong *local_128; longlong *plStack_120; longlong *local_118; longlong *plStack_110; char *local_108 [2]; longlong *local_f8; longlong *plStack_f0; longlong *local_e8; longlong *local_e0; longlong *local_d8; longlong *local_c8; longlong *local_b8; longlong *plStack_b0; longlong *local_a8; longlong *plStack_a0; longlong *local_98; longlong *plStack_90; undefined8 local_88; undefined1 local_80 [8]; longlong *local_78; undefined1 local_70 [8]; longlong *local_68; local_88 = 0xfffffffffffffffe; local_148 = (undefined1 *)0x0; uStack_140 = 0; plVar10 = (longlong *)0x0; local_138 = 0; local_168 = (longlong *)0x0; plStack_160 = (longlong *)0x0; local_178 = (longlong *)0x0; plStack_170 = (longlong *)0x0; local_118 = (longlong *)0x0; plStack_110 = (longlong *)0x0; local_128 = (longlong *)0x0; plStack_120 = (longlong *)0x0; bVar3 = false; if (param_2 == 0) { local_res8 = (longlong *)FUN_1811316e0(0x18); if (local_res8 != (longlong *)0x0) { FUN_1805a48c0(local_res8,"PublisherParticipantID cannot be zero"); } plVar4 = (longlong *)FUN_1811316e0(0x18); local_res8 = plVar4; if (plVar4 != (longlong *)0x0) { FUN_1805a48c0(plVar4,"|__FILE__|%s|__LINE__|%d"); *plVar4 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar10 = plVar4; } local_res10[0] = 0x736; local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar5 = FUN_1805a21d0(plVar10[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_res10); } puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x30))(param_1,local_80,&DAT_181c09a38); local_1b0 = (longlong *)*puVar6; plVar4 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; local_d8 = local_1b0; if (local_78 != (longlong *)0x0) { LOCK(); plVar8 = local_78 + 1; lVar7 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*local_78 + 8))(local_78); LOCK(); piVar1 = (int *)((longlong)local_78 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_78 + 0x10))(local_78); } } } plStack_1a8 = plVar4; if (local_d8 == (longlong *)0x0) { puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_70,&DAT_181c09e98); local_168 = (longlong *)*puVar6; plStack_160 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; local_c8 = local_168; if (local_68 != (longlong *)0x0) { LOCK(); plVar8 = local_68 + 1; lVar7 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar1 = (int *)((longlong)local_68 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_68 + 0x10))(local_68); } } } if (local_c8 == (longlong *)0x0) { local_res8 = (longlong *)FUN_1811316e0(0x18); if (local_res8 != (longlong *)0x0) { FUN_1805a48c0(local_res8,"Extensions are missing"); } lVar7 = FUN_1805c0260(); local_res8 = (longlong *)CONCAT44(local_res8._4_4_,0x73f); local_108[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar7 + 8),local_108); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } lVar7 = FUN_1811316e0(0x38); plVar8 = plVar10; if (lVar7 != 0) { plVar8 = (longlong *)FUN_180b23940(lVar7); } local_158 = plVar8; FUN_180a0c2a0(&plStack_150,plVar8); FUN_1805ae620(&local_158,plVar8,plVar8,param_4,lVar7); plVar8 = local_158; local_178 = local_158; plStack_170 = plStack_150; *(undefined1 *)(local_158 + 1) = 0x30; lVar7 = FUN_1811316e0(0x38); plVar9 = plVar10; if (lVar7 != 0) { plVar9 = (longlong *)FUN_180b24b00(lVar7); } local_f8 = plVar9; FUN_180a0c310(&plStack_f0,plVar9); FUN_1805ae620(&local_f8,plVar9,plVar9,param_4,lVar7); plVar9 = local_f8; local_118 = local_f8; plStack_110 = plStack_f0; *(undefined1 *)(local_f8 + 1) = 6; (**(code **)(*local_f8 + 0x40))(local_f8,&DAT_181c09a39,DAT_181c09a20); local_b8 = plVar9; plStack_b0 = plStack_f0; if (plStack_f0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_f0 + 1) = (int)plStack_f0[1] + 1; UNLOCK(); plVar8 = local_158; } (**(code **)(*plVar8 + 8))(plVar8,&local_b8); lVar7 = FUN_1811316e0(0x38); plVar9 = plVar10; if (lVar7 != 0) { plVar9 = (longlong *)FUN_180b23940(lVar7); } local_198 = plVar9; FUN_180a0c2a0(&plStack_190,plVar9); FUN_1805ae620(&local_198,plVar9,plVar9,param_4,lVar7); plVar9 = local_198; local_128 = local_198; plStack_120 = plStack_190; *(undefined1 *)(local_198 + 1) = 4; local_a8 = local_198; plStack_a0 = plStack_190; if (plStack_190 != (longlong *)0x0) { LOCK(); *(int *)(plStack_190 + 1) = (int)plStack_190[1] + 1; UNLOCK(); plVar8 = local_158; } (**(code **)(*plVar8 + 8))(plVar8,&local_a8); local_res18 = (longlong *)FUN_1811316e0(0x38); if (local_res18 != (longlong *)0x0) { plVar10 = (longlong *)FUN_180b24b00(local_res18); } local_188 = plVar10; FUN_180a0c310(&local_180,plVar10); FUN_1805ae620(&local_188,plVar10,plVar10); plVar10 = local_180; local_1b0 = local_188; local_res18 = local_188; local_188 = (longlong *)0x0; plStack_1a8 = local_180; local_180 = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar8 = plVar4 + 1; lVar7 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); plVar9 = local_198; if ((int)lVar7 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar9 = local_198; if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); plVar9 = local_198; } } } *(undefined1 *)(local_res18 + 1) = 3; local_e0 = plVar10; if (plVar10 != (longlong *)0x0) { LOCK(); *(int *)(plVar10 + 1) = (int)plVar10[1] + 1; UNLOCK(); plVar9 = local_198; } local_e8 = local_res18; (**(code **)(*plVar9 + 8))(plVar9,&local_e8); bVar3 = true; } FUN_1805b0f50(&local_148,5,&local_148); *local_148 = 0; FUN_180b227b0(param_2,local_148 + 1,4); (**(code **)(*local_1b0 + 0x50))(local_1b0,&local_148); if (bVar3) { local_98 = local_178; plStack_90 = plStack_170; if (plStack_170 != (longlong *)0x0) { LOCK(); *(int *)(plStack_170 + 1) = (int)plStack_170[1] + 1; UNLOCK(); } (**(code **)(*local_168 + 8))(local_168,&local_98); } if (plStack_1a8 != (longlong *)0x0) { LOCK(); plVar10 = plStack_1a8 + 1; lVar7 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plStack_1a8 + 8))(plStack_1a8); LOCK(); piVar1 = (int *)((longlong)plStack_1a8 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_1a8 + 0x10))(); } } } plVar10 = plStack_120; if (plStack_120 != (longlong *)0x0) { LOCK(); plVar4 = plStack_120 + 1; lVar7 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plStack_120 + 8))(plStack_120); LOCK(); piVar1 = (int *)((longlong)plVar10 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_120 + 0x10))(); } } } plVar10 = plStack_110; if (plStack_110 != (longlong *)0x0) { LOCK(); plVar4 = plStack_110 + 1; lVar7 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plStack_110 + 8))(plStack_110); LOCK(); piVar1 = (int *)((longlong)plVar10 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_110 + 0x10))(); } } } plVar10 = plStack_170; if (plStack_170 != (longlong *)0x0) { LOCK(); plVar4 = plStack_170 + 1; lVar7 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plStack_170 + 8))(plStack_170); LOCK(); piVar1 = (int *)((longlong)plVar10 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_170 + 0x10))(); } } } plVar10 = plStack_160; if (plStack_160 != (longlong *)0x0) { LOCK(); plVar4 = plStack_160 + 1; lVar7 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plStack_160 + 8))(plStack_160); LOCK(); piVar1 = (int *)((longlong)plVar10 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_160 + 0x10))(); } } } if (local_148 == (undefined1 *)0x0) { return; } _Memory = local_148; if ((0xfff < (ulonglong)(local_138 - (longlong)local_148)) && (_Memory = *(undefined1 **)(local_148 + -8), (undefined1 *)0x1f < local_148 + (-8 - (longlong)_Memory))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180a1af00 size=1804 ############ void FUN_180a1af00(longlong *param_1,undefined4 param_2,int param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; undefined8 uVar5; undefined8 *puVar6; longlong lVar7; longlong *plVar8; longlong *plVar9; longlong *plVar10; longlong *plVar11; longlong *plVar12; longlong *plVar13; longlong *local_res8; undefined4 local_res10; undefined4 local_res18 [2]; longlong *local_res20; longlong *local_158; longlong *plStack_150; longlong *local_148; longlong *plStack_140; longlong *local_138; longlong *local_128; char *local_118; char *local_110; char *local_108; longlong *local_100; longlong *plStack_f8; longlong *local_f0; longlong *plStack_e8; longlong *local_d8; longlong *plStack_d0; longlong *local_c8 [2]; longlong *local_b8; longlong *plStack_b0; longlong *local_a8; longlong *plStack_a0; undefined8 local_98; undefined1 local_90 [8]; longlong *local_88; undefined1 local_80 [8]; longlong *local_78; longlong *local_68; longlong *plStack_60; local_98 = 0xfffffffffffffffe; local_100 = (longlong *)0x0; plStack_f8 = (longlong *)0x0; local_f0 = (longlong *)0x0; plStack_e8 = (longlong *)0x0; local_68 = (longlong *)0x0; plStack_60 = (longlong *)0x0; local_148 = (longlong *)0x0; plStack_140 = (longlong *)0x0; plVar9 = (longlong *)0x0; local_res10 = param_2; if (param_3 != 0) { local_res8 = (longlong *)FUN_1811316e0(0x18); if (local_res8 != (longlong *)0x0) { FUN_1805a48c0(local_res8,"Only ECC is supported for signature algorithms"); } plVar4 = (longlong *)FUN_1811316e0(0x18); local_res8 = plVar4; if (plVar4 != (longlong *)0x0) { FUN_1805a48c0(plVar4,"|__FILE__|%s|__LINE__|%d"); *plVar4 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar9 = plVar4; } local_res18[0] = 0x7ad; local_118 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar5 = FUN_1805a21d0(plVar9[1],&local_118); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_res18); } puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_90,&DAT_181c09e38); local_138 = (longlong *)*puVar6; plVar4 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; local_100 = local_138; plStack_f8 = plVar4; if (local_88 != (longlong *)0x0) { LOCK(); plVar3 = local_88 + 1; lVar7 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*local_88 + 8))(local_88); LOCK(); piVar1 = (int *)((longlong)local_88 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_88 + 0x10))(local_88); } } } plVar11 = local_138; puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_80,&DAT_181c09ea4); local_128 = (longlong *)*puVar6; plVar3 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; local_f0 = local_128; plStack_e8 = plVar3; if (local_78 != (longlong *)0x0) { LOCK(); plVar11 = local_78 + 1; lVar7 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); plVar11 = local_138; if ((int)lVar7 == 1) { (**(code **)(*local_78 + 8))(local_78); LOCK(); piVar1 = (int *)((longlong)local_78 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar11 = local_138; if (iVar2 == 1) { (**(code **)(*local_78 + 0x10))(local_78); plVar11 = local_138; } } } plVar12 = local_128; if (plVar11 == (longlong *)0x0) { local_res8 = (longlong *)FUN_1811316e0(0x18); if (local_res8 != (longlong *)0x0) { FUN_1805a48c0(local_res8,"signedSignatureAlgorithm is missing"); } plVar4 = (longlong *)FUN_1811316e0(0x18); local_res8 = plVar4; if (plVar4 != (longlong *)0x0) { FUN_1805a48c0(plVar4,"|__FILE__|%s|__LINE__|%d"); *plVar4 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar9 = plVar4; } local_res8 = (longlong *)CONCAT44(local_res8._4_4_,0x7b4); local_110 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar5 = FUN_1805a21d0(plVar9[1],&local_110); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } if (local_128 == (longlong *)0x0) { local_res20 = (longlong *)FUN_1811316e0(0x18); if (local_res20 != (longlong *)0x0) { FUN_1805a48c0(local_res20,"unsignedSignatureAlgorithm is missing"); } plVar4 = (longlong *)FUN_1811316e0(0x18); local_res20 = plVar4; if (plVar4 != (longlong *)0x0) { FUN_1805a48c0(plVar4,"|__FILE__|%s|__LINE__|%d"); *plVar4 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar9 = plVar4; } local_res20 = (longlong *)CONCAT44(local_res20._4_4_,0x7b5); local_108 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar5 = FUN_1805a21d0(plVar9[1],&local_108); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res20); } (**(code **)(*plVar11 + 0x18))(plVar11); (**(code **)(*plVar12 + 0x18))(plVar12); lVar7 = FUN_1811316e0(0x38); plVar8 = plVar9; if (lVar7 != 0) { plVar8 = (longlong *)FUN_180b24b00(lVar7); } local_158 = plVar8; FUN_180a0c310(&plStack_150,plVar8); FUN_1805ae620(&local_158,plVar8,plVar8,param_4,lVar7); plVar13 = plStack_150; plVar8 = local_158; local_68 = local_158; plStack_60 = plStack_150; *(undefined1 *)(local_158 + 1) = 6; switch(local_res10) { case 0: (**(code **)(*local_158 + 0x40))(local_158,&DAT_181c09a2d,DAT_181c09a2c); lVar7 = FUN_1811316e0(0x38); if (lVar7 != 0) { plVar9 = (longlong *)FUN_180b24b00(lVar7); } goto LAB_180a1b43a; case 1: (**(code **)(*local_158 + 0x40))(local_158,&DAT_181c09a51,DAT_181c09a50); break; case 2: (**(code **)(*local_158 + 0x40))(local_158,&DAT_181c09a69,DAT_181c09a68); break; case 3: (**(code **)(*local_158 + 0x40))(local_158,&DAT_181c09a45,DAT_181c09a44); lVar7 = FUN_1811316e0(0x38); if (lVar7 != 0) { plVar9 = (longlong *)FUN_180b24b00(lVar7); } goto LAB_180a1b43a; case 4: (**(code **)(*local_158 + 0x40))(local_158,&DAT_181c09a71,DAT_181c09a70); break; case 5: (**(code **)(*local_158 + 0x40))(local_158,&DAT_181c09a81,DAT_181c09a80); break; case 6: (**(code **)(*local_158 + 0x40))(local_158,&DAT_181c09a99,DAT_181c09a98); break; case 7: (**(code **)(*local_158 + 0x40))(local_158,&DAT_181c09ab1,DAT_181c09ab0); break; case 8: (**(code **)(*local_158 + 0x40))(local_158,&DAT_181c09ac1,DAT_181c09ac0); lVar7 = FUN_1811316e0(0x38); if (lVar7 != 0) { plVar9 = (longlong *)FUN_180b24b00(lVar7); } goto LAB_180a1b43a; case 9: (**(code **)(*local_158 + 0x40))(local_158,&DAT_181c09a5d,DAT_181c09a5c); lVar7 = FUN_1811316e0(0x38); if (lVar7 != 0) { plVar9 = (longlong *)FUN_180b24b00(lVar7); } LAB_180a1b43a: FUN_180a0c420(&local_148,plVar9); } local_d8 = plVar8; plStack_d0 = plVar13; if (plVar13 != (longlong *)0x0) { LOCK(); *(int *)(plVar13 + 1) = (int)plVar13[1] + 1; UNLOCK(); plVar11 = local_138; plVar12 = local_128; plVar8 = local_158; plVar13 = plStack_150; } (**(code **)(*plVar11 + 8))(plVar11,&local_d8); plVar9 = (longlong *)0x0; if (plVar13 != (longlong *)0x0) { LOCK(); *(int *)(plVar13 + 1) = (int)plVar13[1] + 1; UNLOCK(); plVar9 = plStack_150; plVar11 = local_138; plVar12 = local_128; } local_c8[0] = plVar8; (**(code **)(*plVar12 + 8))(plVar12,local_c8); plVar10 = plStack_140; plVar13 = local_148; plVar8 = plStack_140; if (local_148 != (longlong *)0x0) { *(undefined1 *)(local_148 + 1) = 6; (**(code **)(*local_148 + 0x40))(local_148,&DAT_181c09ad1,DAT_181c09ad0); local_b8 = plVar13; plStack_b0 = plVar10; if (plVar10 != (longlong *)0x0) { LOCK(); *(int *)(plVar10 + 1) = (int)plVar10[1] + 1; UNLOCK(); plVar9 = plStack_150; plVar10 = plStack_140; plVar11 = local_138; plVar12 = local_128; } (**(code **)(*plVar11 + 8))(plVar11,&local_b8); local_a8 = local_148; plStack_a0 = plStack_140; plVar8 = (longlong *)0x0; if (plVar10 != (longlong *)0x0) { LOCK(); *(int *)(plVar10 + 1) = (int)plVar10[1] + 1; UNLOCK(); plVar9 = plStack_150; plVar8 = plStack_140; plVar12 = local_128; } (**(code **)(*plVar12 + 8))(plVar12,&local_a8); } plVar11 = plStack_140; if (plVar8 != (longlong *)0x0) { LOCK(); plVar8 = plVar8 + 1; lVar7 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); plVar9 = plStack_150; if ((int)lVar7 == 1) { (**(code **)(*plStack_140 + 8))(plStack_140); LOCK(); piVar1 = (int *)((longlong)plVar11 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar9 = plStack_150; if (iVar2 == 1) { (**(code **)(*plStack_140 + 0x10))(); plVar9 = plStack_150; } } } plVar11 = plStack_150; if (plVar9 != (longlong *)0x0) { LOCK(); plVar9 = plVar9 + 1; lVar7 = *plVar9; *(int *)plVar9 = (int)*plVar9 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plStack_150 + 8))(plStack_150); LOCK(); piVar1 = (int *)((longlong)plVar11 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plStack_150 + 0x10))(); } } } if (plVar3 != (longlong *)0x0) { LOCK(); plVar9 = plVar3 + 1; lVar7 = *plVar9; *(int *)plVar9 = (int)*plVar9 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar3 + 8))(plVar3); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); } } } if (plVar4 != (longlong *)0x0) { LOCK(); plVar9 = plVar4 + 1; lVar7 = *plVar9; *(int *)plVar9 = (int)*plVar9 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return; } ############ FUN_ 180a1b670 size=847 ############ void FUN_180a1b670(longlong *param_1,longlong *param_2) { int *piVar1; longlong *plVar2; longlong *plVar3; int iVar4; longlong *plVar5; longlong *plVar6; longlong lVar7; char cVar8; undefined8 *puVar9; undefined8 uVar10; longlong *plVar11; undefined8 *puVar12; int iVar13; undefined8 *local_res8; longlong *local_res10; undefined8 *local_res18; char *local_res20; char *local_d8; longlong local_d0; longlong *plStack_c8; longlong *local_c0; longlong local_b0; longlong *local_a8; longlong *local_a0; longlong *plStack_98; undefined8 local_90; undefined1 local_80 [8]; longlong *local_78; undefined1 local_70 [8]; longlong *local_68; longlong local_60; local_90 = 0xfffffffffffffffe; local_d0 = 0; plStack_c8 = (longlong *)0x0; local_a0 = (longlong *)0x0; plStack_98 = (longlong *)0x0; puVar12 = (undefined8 *)0x0; local_res10 = param_2; if (((longlong *)*param_2 == (longlong *)0x0) || (cVar8 = (**(code **)(*(longlong *)*param_2 + 0x10))(), cVar8 == '\0')) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8,"Subject not provided by caller"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar12 = puVar9; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0x830); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar10 = FUN_1805a21d0(puVar12[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_res8); } puVar9 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_80,&DAT_181c09e84); local_c0 = (longlong *)*puVar9; plVar5 = (longlong *)puVar9[1]; puVar9[1] = 0; *puVar9 = 0; local_a0 = local_c0; plStack_98 = plVar5; if (local_78 != (longlong *)0x0) { LOCK(); plVar6 = local_78 + 1; lVar7 = *plVar6; *(int *)plVar6 = (int)*plVar6 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*local_78 + 8))(local_78); LOCK(); piVar1 = (int *)((longlong)local_78 + 0xc); iVar13 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)(*local_78 + 0x10))(local_78); } } } if (local_c0 != (longlong *)0x0) { (**(code **)(*local_c0 + 0x18))(); iVar13 = 1; while( true ) { plVar11 = (longlong *) (**(code **)(*(longlong *)*param_2 + 0x38))((longlong *)*param_2,local_70,iVar13,0); plVar3 = plStack_c8; local_d0 = *plVar11; plVar6 = (longlong *)plVar11[1]; plVar11[1] = 0; *plVar11 = 0; plVar11 = plVar6; local_60 = local_d0; if (plStack_c8 != (longlong *)0x0) { LOCK(); plVar2 = plStack_c8 + 1; lVar7 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar7 == 1) { lVar7 = *plStack_c8; plStack_c8 = plVar6; (**(code **)(lVar7 + 8))(plVar3); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); plVar11 = plStack_c8; if (iVar4 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); plVar11 = plStack_c8; } } } plStack_c8 = plVar11; plVar3 = local_68; iVar13 = iVar13 + 1; if (local_68 != (longlong *)0x0) { LOCK(); plVar11 = local_68 + 1; lVar7 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); } } } if (local_60 == 0) break; local_b0 = local_60; if (plVar6 != (longlong *)0x0) { LOCK(); *(int *)(plVar6 + 1) = (int)plVar6[1] + 1; UNLOCK(); } local_a8 = plVar6; (**(code **)(*local_c0 + 8))(local_c0,&local_b0); } if (plVar5 != (longlong *)0x0) { LOCK(); plVar3 = plVar5 + 1; lVar7 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar13 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } if (plVar6 != (longlong *)0x0) { LOCK(); plVar5 = plVar6 + 1; lVar7 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar6 + 8))(plVar6); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar13 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)(*plVar6 + 0x10))(plVar6); } } } plVar5 = (longlong *)param_2[1]; if (plVar5 != (longlong *)0x0) { LOCK(); plVar6 = plVar5 + 1; lVar7 = *plVar6; *(int *)plVar6 = (int)*plVar6 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar13 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar13 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } return; } local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"Subject is missing"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar9; if (puVar9 != (undefined8 *)0x0) { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; puVar12 = puVar9; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x836); local_d8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar10 = FUN_1805a21d0(puVar12[1],&local_d8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,&local_res18); } ############ FUN_ 180a1b9e0 size=794 ############ void FUN_180a1b9e0(longlong *param_1,longlong param_2) { int *piVar1; longlong *plVar2; int iVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; void *_Memory; undefined1 local_res8 [8]; undefined8 *local_res10; undefined8 *local_res18; char *local_res20; void *local_c8; undefined8 uStack_c0; longlong local_b8; longlong *local_b0; longlong *plStack_a8; longlong *local_a0; char *local_90; longlong *local_88; undefined8 local_78; undefined1 local_70 [8]; longlong *local_68; undefined1 local_60 [8]; longlong *local_58; local_78 = 0xfffffffffffffffe; local_c8 = (void *)0x0; uStack_c0 = 0; local_b8 = 0; local_b0 = (longlong *)0x0; plStack_a8 = (longlong *)0x0; puVar7 = (undefined8 *)(**(code **)(*param_1 + 0x18))(0,local_70,&DAT_181c09e68); local_b0 = (longlong *)*puVar7; plVar4 = (longlong *)puVar7[1]; puVar7[1] = 0; *puVar7 = 0; plStack_a8 = plVar4; local_88 = local_b0; if (local_68 != (longlong *)0x0) { LOCK(); plVar5 = local_68 + 1; lVar6 = *plVar5; *(int *)plVar5 = (int)*plVar5 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar1 = (int *)((longlong)local_68 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_68 + 0x10))(local_68); } } } plVar5 = local_88; if (local_88 == (longlong *)0x0) { local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10,"NotValidBefore is missing"); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x882); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res10); } FUN_180a0d5f0(param_2,&local_c8,local_res8); *(undefined1 *)(plVar5 + 1) = local_res8[0]; (**(code **)(*plVar5 + 0x50))(plVar5,&local_c8); puVar7 = (undefined8 *)(**(code **)(*param_1 + 0x18))(param_1,local_60,&DAT_181c09e78); local_b0 = (longlong *)*puVar7; plVar5 = (longlong *)puVar7[1]; puVar7[1] = 0; *puVar7 = 0; plStack_a8 = plVar5; local_a0 = local_b0; if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar6 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (local_58 != (longlong *)0x0) { LOCK(); plVar4 = local_58 + 1; lVar6 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_58 + 8))(local_58); LOCK(); piVar1 = (int *)((longlong)local_58 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*local_58 + 0x10))(local_58); } } } plVar4 = local_a0; if (local_a0 != (longlong *)0x0) { FUN_180a0d5f0(param_2 + 8,&local_c8,local_res8); *(undefined1 *)(plVar4 + 1) = local_res8[0]; (**(code **)(*plVar4 + 0x50))(plVar4,&local_c8); if (plVar5 != (longlong *)0x0) { LOCK(); plVar4 = plVar5 + 1; lVar6 = *plVar4; *(int *)plVar4 = (int)*plVar4 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } if (local_c8 == (void *)0x0) { return; } _Memory = local_c8; if ((0xfff < (ulonglong)(local_b8 - (longlong)local_c8)) && (_Memory = *(void **)((longlong)local_c8 + -8), 0x1f < (ulonglong)((longlong)local_c8 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"NotValidAfter is missing"); } puVar7 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar7; if (puVar7 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar7,"|__FILE__|%s|__LINE__|%d"); *puVar7 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x896); local_90 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(puVar7[1],&local_90); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res18); } ############ FUN_ 180a1bd20 size=1232 ############ void FUN_180a1bd20(longlong *param_1,byte param_2,undefined8 param_3,undefined1 param_4) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; byte bVar5; undefined8 *puVar6; longlong *plVar7; undefined8 uVar8; longlong lVar9; longlong *plVar10; char *_Memory; longlong *plVar11; longlong *local_res8; byte local_res10; longlong *local_res18; longlong *local_res20; longlong *plVar12; longlong *local_110; longlong *local_108; char *local_100; undefined8 uStack_f8; longlong local_f0; longlong *local_e8; longlong *plStack_e0; char *local_d8; char *local_d0; longlong *local_c8; longlong *local_b8 [2]; longlong *local_a8; longlong *local_98; undefined8 local_88; undefined1 local_80 [8]; longlong *local_78; undefined1 local_70 [8]; longlong *local_68; undefined1 local_60 [8]; longlong *local_58; local_88 = 0xfffffffffffffffe; local_100 = (char *)0x0; uStack_f8 = 0; plVar10 = (longlong *)0x0; local_f0 = 0; local_e8 = (longlong *)0x0; plStack_e0 = (longlong *)0x0; local_res10 = param_2; puVar6 = (undefined8 *)(**(code **)(*param_1 + 0x30))(0,local_80,&DAT_181c099ec,param_4,0,0); local_e8 = (longlong *)*puVar6; plVar7 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; plStack_e0 = plVar7; local_a8 = local_e8; if (local_78 != (longlong *)0x0) { LOCK(); plVar3 = local_78 + 1; lVar9 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*local_78 + 8))(local_78); LOCK(); piVar1 = (int *)((longlong)local_78 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_78 + 0x10))(local_78); } } } if (local_a8 == (longlong *)0x0) { local_res8 = (longlong *)FUN_1811316e0(0x18); if (local_res8 != (longlong *)0x0) { FUN_1805a48c0(local_res8,"BasicConstraints extension is missing"); } plVar7 = (longlong *)FUN_1811316e0(0x18); local_res8 = plVar7; if (plVar7 != (longlong *)0x0) { FUN_1805a48c0(plVar7,"|__FILE__|%s|__LINE__|%d"); *plVar7 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar10 = plVar7; } local_res8 = (longlong *)CONCAT44(local_res8._4_4_,0xcbf); local_d8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(plVar10[1],&local_d8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res8); } puVar6 = (undefined8 *)(**(code **)(*local_a8 + 0x38))(local_a8,local_70,1,0x30); local_e8 = (longlong *)*puVar6; plVar3 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; plStack_e0 = plVar3; local_c8 = local_e8; if (plVar7 != (longlong *)0x0) { LOCK(); plVar11 = plVar7 + 1; lVar9 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar7 + 8))(plVar7); LOCK(); piVar1 = (int *)((longlong)plVar7 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar7 + 0x10))(plVar7); } } } if (local_68 != (longlong *)0x0) { LOCK(); plVar7 = local_68 + 1; lVar9 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*local_68 + 8))(local_68); LOCK(); piVar1 = (int *)((longlong)local_68 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_68 + 0x10))(local_68); } } } if (local_c8 != (longlong *)0x0) { puVar6 = (undefined8 *)(**(code **)(*local_c8 + 0x38))(local_c8,local_60,1,1); plVar11 = (longlong *)*puVar6; plVar4 = (longlong *)puVar6[1]; puVar6[1] = 0; *puVar6 = 0; plVar7 = plVar4; local_98 = plVar11; if (local_58 != (longlong *)0x0) { LOCK(); plVar12 = local_58 + 1; lVar9 = *plVar12; *(int *)plVar12 = (int)*plVar12 + -1; UNLOCK(); if ((int)lVar9 == 1) { local_res20 = plVar11; (**(code **)(*local_58 + 8))(local_58); LOCK(); piVar1 = (int *)((longlong)local_58 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_58 + 0x10))(local_58); } } } bVar5 = local_res10; local_res20 = local_98; plVar12 = plVar7; if ((local_res10 & local_98 == (longlong *)0x0) != 0) { lVar9 = FUN_1811316e0(0x38); if (lVar9 != 0) { plVar10 = (longlong *)FUN_180b24b00(lVar9); } local_110 = plVar10; FUN_180a0c310(&local_108,plVar10); FUN_1805ae620(&local_110,plVar10,plVar10); plVar10 = local_110; local_110 = local_res20; plVar11 = plVar10; plVar7 = local_108; local_108 = plVar4; if (plVar4 != (longlong *)0x0) { LOCK(); plVar12 = plVar4 + 1; lVar9 = *plVar12; *(int *)plVar12 = (int)*plVar12 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } *(undefined1 *)(plVar10 + 1) = 1; if (plVar7 != (longlong *)0x0) { LOCK(); *(int *)(plVar7 + 1) = (int)plVar7[1] + 1; UNLOCK(); } plVar12 = plVar7; local_b8[0] = plVar10; (**(code **)(*local_c8 + 8))(local_c8,local_b8); } if (plVar11 != (longlong *)0x0) { (**(code **)(*plVar11 + 0x30))(plVar11,&local_100); FUN_1805b0f50(&local_100,1,&local_100); *local_100 = -(bVar5 != 0); (**(code **)(*plVar11 + 0x50))(plVar11,&local_100); } if (plVar7 != (longlong *)0x0) { LOCK(); plVar7 = plVar7 + 1; lVar9 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar9 == 1) { plVar7 = plVar12; (**(code **)(*plVar12 + 8))(plVar12); LOCK(); piVar1 = (int *)((longlong)plVar12 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar7 + 0x10))(); } } } if (plVar3 != (longlong *)0x0) { LOCK(); plVar7 = plVar3 + 1; lVar9 = *plVar7; *(int *)plVar7 = (int)*plVar7 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar3 + 8))(plVar3); LOCK(); piVar1 = (int *)((longlong)plVar3 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); } } } if (local_100 == (char *)0x0) { return; } _Memory = local_100; if ((0xfff < (ulonglong)(local_f0 - (longlong)local_100)) && (_Memory = *(char **)(local_100 + -8), (char *)0x1f < local_100 + (-8 - (longlong)_Memory))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } local_res18 = (longlong *)FUN_1811316e0(0x18); if (local_res18 != (longlong *)0x0) { FUN_1805a48c0(local_res18,"BasicConstraints extension bit string is missing"); } plVar7 = (longlong *)FUN_1811316e0(0x18); local_res18 = plVar7; if (plVar7 != (longlong *)0x0) { FUN_1805a48c0(plVar7,"|__FILE__|%s|__LINE__|%d"); *plVar7 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar10 = plVar7; } local_res18 = (longlong *)CONCAT44(local_res18._4_4_,0xcc3); local_d0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parsercert.cpp"; uVar8 = FUN_1805a21d0(plVar10[1],&local_d0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar8,&local_res18); } ############ FUN_ 180a2dff0 size=679 ############ longlong FUN_180a2dff0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0x178; lVar13 = (longlong)(param_1[1] - uVar11) / 0x178; if (lVar13 == 0xae4c415c9882b9) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0x178; uVar11 = uVar12; if ((uVar4 <= 0xae4c415c9882b9 - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12) ) { uVar11 = uVar12; } uVar4 = uVar11 * 0x178; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0xae4c415c9882ba) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_180a2e12b; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_180a2e12b: lVar7 = lVar1 * 0x178 + uVar4; lVar1 = lVar7 + 0x178; lVar5 = lVar1; uVar10 = uVar4; FUN_180a2f530(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0x178) { FUN_180a2f530(uVar8); uVar8 = uVar8 + 0x178; } } else { FUN_180a303f0(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_180a303f0(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x2f) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0x178) * 0x178)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0x178 + uVar4; param_1[2] = uVar11 * 0x178 + uVar4; return lVar13 * 0x178 + *param_1; } ############ FUN_ 180a2e620 size=1883 ############ /* WARNING: Removing unreachable block (ram,0x000180a2e702) */ void FUN_180a2e620(undefined8 *param_1,longlong param_2,undefined8 param_3) { undefined8 *puVar1; longlong lVar2; undefined8 *puVar3; undefined8 *puVar4; uint uVar5; int iVar6; undefined8 uVar7; longlong lVar8; code *UNRECOVERED_JUMPTABLE; int unaff_retaddr; longlong local_f8; longlong lStack_f0; longlong local_e8; undefined4 local_d8; undefined8 *local_d0; undefined *local_c8; undefined8 local_b8; undefined4 local_b0; uint local_ac; undefined8 *local_a8; undefined8 *local_a0; undefined8 local_98; longlong local_90; undefined8 *local_88; undefined8 *local_80; longlong local_78; undefined8 local_70; undefined8 *local_68; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)&local_f8; local_a0 = param_1; local_98 = param_3; local_90 = param_2; local_68 = param_1; FUN_180a3bf80(param_1,param_2 + 8); *param_1 = license_services::LsCachedObjectVectorCertificateChain::vftable; param_1[3] = param_2; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; FUN_180b68ee0(param_1 + 10,*(undefined4 *)(param_1[3] + 0x38)); param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; local_b0 = 0xf50; uVar5 = (uint)&stack0x00000000 & 0x42ff; iVar6 = uVar5 * uVar5 + 1; uVar5 = (iVar6 >> 4) + (iVar6 >> 1) + iVar6 * 0x24924924 >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; local_ac = ((int)(-uVar5 | uVar5) >> 0x1f) * -0x5fc6 ^ 0x5b16; local_d8 = 0xbf; do { func_0x000180a3057b(0xd704); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_b8 = 0x180000000; uVar7 = 0x27f0; local_d0 = (undefined8 *)0x18086b608; local_c8 = &DAT_18086ddf8; local_a8 = local_d0; do { FUN_180a2d49c(0xd704,uVar7); lVar2 = local_90; puVar1 = local_a0; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); lVar8 = *(longlong *)(param_2 + 0x40); local_78 = *(longlong *)(param_2 + 0x48); if (lVar8 != local_78) { do { local_90 = FUN_1811316e0(0x48); puVar3 = (undefined8 *)0x0; if (local_90 != 0) { puVar3 = (undefined8 *)FUN_180a36db0(local_90,lVar8,puVar1); } puVar4 = (undefined8 *)param_1[5]; local_88 = puVar3; if ((undefined8 *)param_1[6] == puVar4) { FUN_18080f490(param_1 + 4,puVar4,&local_88); } else { *puVar4 = puVar3; param_1[5] = param_1[5] + 8; } puVar4 = (undefined8 *)FUN_1811316e0(0x178); puVar3 = (undefined8 *)0x0; local_d0 = puVar4; if (puVar4 != (undefined8 *)0x0) { *puVar4 = license_services::LsCertificateChainWire::vftable; puVar4[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar4 + 2) = 0xffffffff; puVar4[3] = 0xffffffffffffffff; *(undefined2 *)(puVar4 + 4) = 0; *(undefined1 *)(puVar4 + 5) = 0; puVar4[8] = 0; puVar4[9] = 0xf; *(undefined1 *)(puVar4 + 6) = 0; FUN_1805a6cb0(puVar4 + 6,"pace-ccjf1",10); puVar4[10] = 0; puVar4[0xb] = 0; puVar4[0xc] = 0; puVar4[0xf] = 0; puVar4[0x10] = 0xf; *(undefined1 *)(puVar4 + 0xd) = 0; FUN_1805a6cb0(puVar4 + 0xd,&DAT_181bb1d4c,3); puVar4[0x13] = 0; puVar4[0x14] = 0xf; *(undefined1 *)(puVar4 + 0x11) = 0; FUN_1805a6cb0(puVar4 + 0x11,&DAT_181baf991,0); puVar4[0x17] = 0; puVar4[0x18] = 0xf; *(undefined1 *)(puVar4 + 0x15) = 0; FUN_1805a6cb0(puVar4 + 0x15,&DAT_181baf991,0); puVar4[0x1b] = 0; puVar4[0x1c] = 0xf; *(undefined1 *)(puVar4 + 0x19) = 0; FUN_1805a6cb0(puVar4 + 0x19,&DAT_181baf991,0); puVar4[0x1f] = 0; puVar4[0x20] = 0xf; *(undefined1 *)(puVar4 + 0x1d) = 0; FUN_1805a6cb0(puVar4 + 0x1d,&DAT_181baf991,0); puVar4[0x23] = 0; puVar4[0x24] = 0xf; *(undefined1 *)(puVar4 + 0x21) = 0; FUN_1805a6cb0(puVar4 + 0x21,&DAT_181baf991,0); puVar4[0x27] = 0; puVar4[0x28] = 0xf; *(undefined1 *)(puVar4 + 0x25) = 0; FUN_1805a6cb0(puVar4 + 0x25,&DAT_181baf991,0); puVar4[0x2b] = 0; puVar4[0x2c] = 0xf; *(undefined1 *)(puVar4 + 0x29) = 0; FUN_1805a6cb0(puVar4 + 0x29,&DAT_181baf991,0); puVar4[0x2d] = 0; *(undefined4 *)(puVar4 + 0x2e) = 0; puVar3 = puVar4; } local_80 = puVar3; FUN_180a300c0(puVar3,lVar8); puVar4 = (undefined8 *)param_1[8]; if ((undefined8 *)param_1[9] == puVar4) { FUN_18080f490(param_1 + 7,puVar4,&local_80); } else { *puVar4 = puVar3; param_1[8] = param_1[8] + 8; } lVar8 = lVar8 + 0x178; local_78 = *(longlong *)(lVar2 + 0x48); } while (lVar8 != local_78); } /* WARNING: Call to offcut address within same function */ func_0x000180a2e911(); /* WARNING: Call to offcut address within same function */ func_0x000180a2ec06(); lStack_f0 = local_e8 + -0x55373; local_f8 = local_e8 + 0x4dd01; UNRECOVERED_JUMPTABLE = (code *)(local_e8 + -0x3c8fd); local_e8 = local_e8 + 0x1c6; /* WARNING: Could not recover jumptable at 0x000180a2edb1. Too many branches */ /* WARNING: Treating indirect jump as call */ (*UNRECOVERED_JUMPTABLE)(); return; } ############ FUN_ 180b68ee0 size=986 ############ /* WARNING: Removing unreachable block (ram,0x000180b68fc0) */ /* WARNING: Removing unreachable block (ram,0x000180b68fe7) */ void FUN_180b68ee0(undefined8 *param_1) { uint uVar1; undefined8 *puVar2; undefined *puVar3; ulonglong uVar4; undefined1 auStack_a8 [40]; undefined *local_80; undefined **local_78; undefined8 *local_70; undefined4 local_68; uint local_60; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_70 = param_1; local_58 = param_1; puVar2 = (undefined8 *)FUN_1811316e0(0x60); local_70 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { *puVar2 = license_services::LsEntityCertificateChain::vftable; FUN_180677c10(puVar2 + 1); puVar2[8] = 0; puVar2[9] = 0; puVar2[10] = 0; *(undefined2 *)(puVar2 + 0xb) = 0; } *param_1 = puVar2; FUN_180b68e70(param_1 + 1,puVar2); FUN_1805ae620(param_1,puVar2,puVar2); param_1[2] = *param_1; uVar1 = (uint)&stack0x00000000 & 0x1aff; uVar1 = (uVar1 + 1) * uVar1 + 0x74cb & 0x80000001; local_60 = ((int)(-uVar1 | uVar1) >> 0x1f) * -0x9a38 ^ 0x93e8; local_68 = 0xcb0; local_70 = (undefined8 *)0x6f01000; uVar4 = 0x13da; local_78 = &PTR__guard_check_icall_181bab6a8; puVar3 = &DAT_181bab6b8; local_80 = puVar3; /* WARNING: Call to offcut address within same function */ func_0x000180b69175(&DAT_181bab6b8,0x1fa793f5); (&DAT_186f01004)[(longlong)puVar3 * 4] = (&DAT_186f01004)[(longlong)puVar3 * 4] - (char)puVar3; /* WARNING: Could not recover jumptable at 0x000180b692c3. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(~(~uVar4 + 1) + 0x9dac))(); return; } ############ FUN_ 180b68e70 size=97 ############ undefined8 * FUN_180b68e70(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b6b000 size=311 ############ void FUN_180b6b000(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b6b190(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180a2dff0(lVar2 + 0x40,lVar1,param_2); return; } FUN_180a2f530(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x178; return; } ############ FUN_ 180b6b190 size=316 ############ longlong FUN_180b6b190(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180a39c70 size=214 ############ void FUN_180a39c70(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsCertificateChain::targetSlowPath: The LsCertificateChainWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lscertificatechain.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180a40e40 size=454 ############ void FUN_180a40e40(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180a40130(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x230 + *(longlong *)(lVar2 + 0x40); FUN_18080fac0(lVar3 + 0x230,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x230); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x230; } return; } ############ FUN_ 180a422d0 size=97 ############ undefined8 * FUN_180a422d0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180a47b10 size=55 ############ void FUN_180a47b10(void) { longlong lVar1; lVar1 = FUN_1811316e0(0x50); *(longlong *)lVar1 = lVar1; *(longlong *)(lVar1 + 8) = lVar1; *(longlong *)(lVar1 + 0x10) = lVar1; *(undefined2 *)(lVar1 + 0x18) = 0x101; return; } ############ FUN_ 180a4bff0 size=658 ############ longlong FUN_180a4bff0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0x108; lVar13 = (longlong)(param_1[1] - uVar11) / 0x108; if (lVar13 == 0xf83e0f83e0f83e) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0x108; uVar11 = uVar12; if ((uVar4 <= 0xf83e0f83e0f83e - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12) ) { uVar11 = uVar12; } uVar4 = uVar11 * 0x108; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0xf83e0f83e0f83f) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_180a4c12b; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_180a4c12b: lVar7 = lVar1 * 0x108 + uVar4; lVar1 = lVar7 + 0x108; lVar5 = lVar1; uVar10 = uVar4; FUN_180a4c470(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0x108) { FUN_180a4c470(uVar8); uVar8 = uVar8 + 0x108; } } else { FUN_180a4e840(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_180a4e840(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x21) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0x108) * 0x108)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0x108 + uVar4; param_1[2] = uVar11 * 0x108 + uVar4; return lVar13 * 0x108 + *param_1; } ############ FUN_ 180b75e30 size=978 ############ /* WARNING: Removing unreachable block (ram,0x000180b75f3d) */ /* WARNING: Removing unreachable block (ram,0x000180b75f17) */ /* WARNING: Removing unreachable block (ram,0x000180b75f78) */ void FUN_180b75e30(undefined8 *param_1,undefined4 param_2) { uint uVar1; undefined8 *puVar2; uint uVar3; longlong lVar4; undefined1 auStack_b8 [40]; undefined1 *local_90; undefined *local_88; undefined8 local_78; undefined4 local_70; uint local_6c; undefined8 *local_68; undefined8 *local_60; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_b8; local_60 = param_1; local_58 = param_1; puVar2 = (undefined8 *)FUN_1811316e0(0x60); local_68 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { *puVar2 = license_services::LsEntityAuthManifestElement::vftable; FUN_180677c10(puVar2 + 1); puVar2[8] = 0; puVar2[9] = 0; puVar2[10] = 0; *(undefined2 *)(puVar2 + 0xb) = 0; } *param_1 = puVar2; FUN_180b75dc0(param_1 + 1,puVar2); FUN_1805ae620(param_1,puVar2,puVar2); param_1[2] = *param_1; uVar1 = (uint)&stack0x00000000 & 0xaff; uVar3 = (uVar1 + 1) * uVar1 + 0x600b & 0x80000001; uVar1 = (uint)&stack0x00000000 & 0xcff; uVar1 = (uVar1 + 1) * uVar1 + 0x6b91 & 0x80000001; uVar1 = (int)((-uVar1 | uVar1) & (-uVar3 | uVar3)) >> 0x1f; local_6c = (int)(-uVar1 | uVar1) >> 0x1f & 0x9afeU ^ 0x975e; local_70 = 0xbd0; lVar4 = 0x180000000; local_78 = 0; local_90 = &LAB_180b60cc0; local_88 = &DAT_180b63968; FUN_180b778f0(param_1[2],param_2); FUN_180b75c9e(); /* WARNING: Call to offcut address within same function */ func_0x000180b7613d(); /* WARNING: Could not recover jumptable at 0x000180b7620c. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(lVar4 + -0x1ebd))(); return; } ############ FUN_ 180b75dc0 size=97 ############ undefined8 * FUN_180b75dc0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p:: vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b775c0 size=311 ############ void FUN_180b775c0(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b77750(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180a4bff0(lVar2 + 0x40,lVar1,param_2); return; } FUN_180a4c470(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x108; return; } ############ FUN_ 180b77750 size=316 ############ longlong FUN_180b77750(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180a53c70 size=979 ############ /* WARNING: Instruction at (ram,0x000180a53d61) overlaps instruction at (ram,0x000180a53d5f) */ /* WARNING: Removing unreachable block (ram,0x000180a53cf0) */ /* WARNING: Removing unreachable block (ram,0x000180a53d5f) */ /* WARNING: Removing unreachable block (ram,0x000180a53cfc) */ char FUN_180a53c70(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char cVar1; undefined8 uVar2; uint uVar3; int unaff_retaddr; undefined1 auStack_128 [48]; undefined4 local_f8; undefined4 local_c0; undefined4 local_bc; longlong local_b0; undefined8 local_a0; undefined8 local_98; undefined8 local_70; ulonglong local_40; local_70 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_128; local_bc = 0x1c0; local_c0 = 0x50; do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_98 = param_1; local_b0 = FUN_1811316e0(0x108,param_2,param_3,param_4); uVar2 = 0; if (local_b0 != 0) { uVar2 = FUN_180a4c570(local_b0); } local_a0 = uVar2; FUN_180a4e6a0(uVar2,param_2); local_f8 = 0x811c9e07; FUN_18082ac10(uVar2,1); /* WARNING: Call to offcut address within same function */ cVar1 = func_0x000180a53e3a(); return cVar1 + -0x73; } ############ FUN_ 180a54be0 size=570 ############ undefined8 FUN_180a54be0(longlong param_1,undefined8 param_2,ulonglong param_3) { undefined8 *puVar1; char cVar2; longlong lVar3; undefined8 uVar4; char *pcVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; char *local_res8 [2]; ulonglong local_res18; char *local_res20; undefined **local_60; undefined4 local_58; longlong local_50; undefined2 local_48; local_res18 = param_3; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] != (char *)0x0) { FUN_1805a48c0(local_res8[0],"LsObjectRelationVector<>::at: This one-to-one relation is empty." ); } lVar3 = FUN_1805c0260(); local_res8[0] = (char *)CONCAT44(local_res8[0]._4_4_,0x6e); local_res20 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectordatabaseinfo.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res8); } if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5) <= param_3) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8[0], "LsObjectRelationVector<>::at: Index is out of range. This object relation vector contains %u entries and the supplied index value was %u" ); } pcVar5 = (char *)FUN_1811316e0(0x18); if (pcVar5 == (char *)0x0) { pcVar5 = (char *)0x0; } else { local_res8[0] = pcVar5; FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; } local_res8[0] = (char *)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0x70); local_res8[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectordatabaseinfo.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar5 + 8),local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } lVar3 = **(longlong **)(param_1 + 8); if (param_3 < (ulonglong)((*(longlong **)(param_1 + 8))[1] - lVar3 >> 5)) { lVar7 = param_3 * 0x20; local_60 = license_services::LsRelation::vftable; local_58 = *(undefined4 *)(lVar7 + 8 + lVar3); local_50 = *(longlong *)(lVar7 + 0x10 + lVar3); local_48 = *(undefined2 *)(lVar7 + 0x18 + lVar3); cVar2 = FUN_18080b1c0(&local_60); if (cVar2 == '\0') { lVar3 = *(longlong *)(param_1 + 0x20); puVar1 = *(undefined8 **)(*(longlong *)(lVar3 + 8) + 0x20); cVar2 = *(char *)((longlong)puVar1[1] + 0x19); puVar9 = puVar1; puVar8 = (undefined8 *)puVar1[1]; while (cVar2 == '\0') { if ((longlong)puVar8[4] < local_50) { puVar6 = (undefined8 *)puVar8[2]; puVar8 = puVar9; } else { puVar6 = (undefined8 *)*puVar8; } puVar9 = puVar8; puVar8 = puVar6; cVar2 = *(char *)((longlong)puVar6 + 0x19); } if ((puVar9 == puVar1) || (local_50 < (longlong)puVar9[4])) { puVar9 = puVar1; } if (puVar9 == puVar1) { FUN_1808157b0(lVar3,*(undefined8 *)(param_1 + 8),0); } } else { lVar3 = *(longlong *)(param_1 + 0x20); } FUN_180815560(lVar3,param_2,&local_60,0); return param_2; } /* WARNING: Subroutine does not return */ FUN_1808077d0(); } ############ FUN_ 180a56810 size=679 ############ longlong FUN_180a56810(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; ulonglong uVar12; ulonglong uVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar12 = *param_1; lVar6 = (longlong)(param_2 - uVar12) / 0x36 + ((longlong)(param_2 - uVar12) >> 0x3f); lVar7 = (lVar6 >> 2) - (lVar6 >> 0x3f); lVar6 = (longlong)(param_1[1] - uVar12) / 0xd8; if (lVar6 == 0x12f684bda12f684) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = lVar6 + 1; uVar3 = (longlong)(param_1[2] - uVar12) / 0xd8; uVar12 = uVar13; if ((uVar3 <= 0x12f684bda12f684 - (uVar3 >> 1)) && (uVar12 = (uVar3 >> 1) + uVar3, uVar12 < uVar13)) { uVar12 = uVar13; } uVar3 = uVar12 * 0xd8; lVar6 = lVar7; puVar14 = param_1; if (uVar12 < 0x12f684bda12f685) { if (uVar3 < 0x1000) { if (uVar3 == 0) { uVar3 = 0; } else { uVar3 = FUN_1811316e0(uVar3); } goto LAB_180a5694b; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar4; LAB_180a5694b: lVar8 = lVar7 * 0xd8 + uVar3; lVar7 = lVar8 + 0xd8; lVar4 = lVar7; uVar11 = uVar3; FUN_180a57c50(lVar8,param_3); uVar5 = param_1[1]; if (param_2 == uVar5) { uVar9 = uVar3; for (uVar11 = *param_1; uVar11 != uVar5; uVar11 = uVar11 + 0xd8) { FUN_180a57c50(uVar9); uVar9 = uVar9 + 0xd8; } } else { FUN_180a58c30(param_1,*param_1,param_2,uVar3,uVar13,lVar6,lVar4,uVar11,puVar14,uVar15); FUN_180a58c30(param_1,param_2,param_1[1],lVar7); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[1]; for (; puVar10 != puVar1; puVar10 = puVar10 + 0x1b) { (**(code **)*puVar10)(puVar10,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar2) / 0xd8) * 0xd8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar3; param_1[1] = uVar13 * 0xd8 + uVar3; param_1[2] = uVar12 * 0xd8 + uVar3; return lVar6 * 0xd8 + *param_1; } ############ FUN_ 180b78820 size=853 ############ /* WARNING: Removing unreachable block (ram,0x000180b789c0) */ /* WARNING: Removing unreachable block (ram,0x000180b78994) */ void FUN_180b78820(undefined8 *param_1,undefined4 param_2) { longlong lVar1; undefined8 uVar2; longlong *plVar3; uint uVar4; undefined8 *puVar5; ulonglong uVar6; code **ppcVar7; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_c8 [32]; undefined4 local_a8; uint local_98; undefined8 *local_88; uint local_7c; undefined4 local_70; undefined4 local_6c; code *local_68; undefined8 *local_60; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_c8; local_6c = param_2; local_60 = param_1; local_58 = param_1; puVar5 = (undefined8 *)FUN_1811316e0(0x60); local_88 = puVar5; if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)0x0; } else { *puVar5 = license_services::LsEntityMachineBinding::vftable; FUN_180677c10(puVar5 + 1); puVar5[8] = 0; puVar5[9] = 0; puVar5[10] = 0; *(undefined2 *)(puVar5 + 0xb) = 0; } *param_1 = puVar5; FUN_180b787b0(param_1 + 1,puVar5); FUN_1805ae620(param_1,puVar5,puVar5); param_1[2] = *param_1; uVar4 = (uint)&stack0x00000000 & 0x23ff; uVar4 = ((uVar4 + 1) * uVar4 + 7) % 0x51; uVar4 = (int)(-uVar4 | uVar4) >> 0x1f; local_7c = (int)(-uVar4 | uVar4) >> 0x1f & 0x9c7U ^ 0xb57; local_70 = 0xe30; local_a8 = 0xb5; do { uVar2 = rdtsc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * 0x1a85ae35; local_98 = (uVar4 >> 0x18 ^ uVar4) * -0x35945029; if (local_98 < 0x3333333f) { local_68 = (code *)0x0; do { ppcVar7 = &local_68; FUN_180b7769b(ppcVar7,&local_68); *ppcVar7 = FUN_18141db20; func_0x000180b76c80(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar6 = (*local_68)(); if (1 < uVar6) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar3 = (longlong *)register0x00000020; while (lVar1 != -0x3333333333333334) { *plVar3 = 0; plVar3 = plVar3 + 8; lVar1 = *plVar3; } } } FUN_180b7704d(); FUN_180b78b94(); in(0xd5); /* WARNING: Could not recover jumptable at 0x000180b78c99. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)&stack0x000d148e)(); return; } ############ FUN_ 180b787b0 size=97 ############ undefined8 * FUN_180b787b0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b7a610 size=311 ############ void FUN_180b7a610(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b7a7a0(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180a56810(lVar2 + 0x40,lVar1,param_2); return; } FUN_180a57c50(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0xd8; return; } ############ FUN_ 180b7a7a0 size=316 ############ longlong FUN_180b7a7a0(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180a5e130 size=645 ############ /* WARNING: Instruction at (ram,0x000180a5e3b0) overlaps instruction at (ram,0x000180a5e3ac) */ /* WARNING: Removing unreachable block (ram,0x000180a5e669) */ /* WARNING: Removing unreachable block (ram,0x000180a5e5c2) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ ulonglong FUN_180a5e130(longlong param_1,undefined8 param_2) { undefined1 *puVar1; undefined1 uVar2; longlong lVar3; undefined8 *puVar4; longlong lVar5; longlong lVar6; longlong lVar7; ulonglong uVar8; uint uVar9; uint uVar10; int iVar11; longlong *plVar12; longlong lVar13; int *piVar14; uint uVar15; undefined8 ****ppppuVar16; undefined8 ***pppuVar17; int iVar18; bool bVar19; int unaff_retaddr; undefined1 local_res8; undefined1 auStack_f8 [8]; undefined *puStack_f0; undefined1 uStack_c8; undefined8 ***local_b8; undefined8 local_b0; longlong local_a8; longlong local_a0; ulonglong local_98; longlong local_90; undefined8 **ppuStack_88; undefined8 ***local_80 [5]; undefined8 local_58; undefined1 auStack_50 [24]; local_58 = 0xfffffffffffffffe; local_a8 = 0x181592710; local_b0 = 0x181592810; local_b8 = (undefined8 ***)0xe8df9fd7; local_98 = 0x100; puStack_f0 = (undefined *)0x180a5e27d; local_a0 = local_a8; local_90 = FUN_1811316e0(0xd8); if (local_90 == 0) { local_b8 = (undefined8 ****)0x0; } else { puStack_f0 = (undefined *)0x180a5e28e; local_b8 = (undefined8 ***)FUN_180a57d30(local_90); } pppuVar17 = local_b8; puStack_f0 = (undefined *)0x180a5e2e5; local_80[0] = local_b8; FUN_180a589c0(local_b8,param_2); iVar18 = -0x19ab949c; uVar9 = (iRam0000000181592710 * 0x16a88000 | (uint)(iRam0000000181592710 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0xc5adfa65; uVar9 = (iRam0000000181592714 * 0x16a88000 | (uint)(iRam0000000181592714 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar15 = (iRam0000000181592718 * 0x16a88000 | (uint)(iRam0000000181592718 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar9; puStack_f0 = (undefined *)0x180a5e350; FUN_180a7cf60(pppuVar17,CONCAT71((uint7)(uint3)(uVar9 >> 8),1)); uVar9 = (iRam000000018159271c * 0x16a88000 | (uint)(iRam000000018159271c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar15 << 0xd | uVar15 >> 0x13) * 5 + 0xe6546b64; uVar9 = (iRam0000000181592720 * 0x16a88000 | (uint)(iRam0000000181592720 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; do { uVar8 = 0; puStack_f0 = (undefined *)0x180a5e39a; uVar15 = FUN_180a5ddf1(); lVar5 = local_a0; if ((uVar8 & 0xc1) != 0) { return (ulonglong)(uVar15 | _DAT_ffffffff9ccff654); } uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar9 = (*(int *)(local_a0 + 0x14) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x14) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x18) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x18) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x1c) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x1c) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x20) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x20) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x24) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x24) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x28) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x28) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x2c) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x2c) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x30) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x30) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x34) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x34) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x38) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x38) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x3c) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x3c) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x40) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x40) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x44) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x44) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x48) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x48) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x4c) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x4c) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x50) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x50) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar9 = (*(int *)(local_a0 + 0x54) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x54) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (*(int *)(local_a0 + 0x58) * 0x16a88000 | (uint)(*(int *)(local_a0 + 0x58) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; uVar9 = (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; if ((local_98 & 0xb00) == 0) { uVar15 = 9; } else { uVar15 = 1; } uVar10 = uVar9 & 0x13f; iVar11 = (uVar10 + 2) * (uVar10 + 1) * uVar10; lVar7 = -(longlong) (0xe6f9 << ((byte)(((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e) & 0x1f) ^ ((int)(-uVar15 | uVar15) >> 0x1f) * -0xe6e1); lVar13 = lVar7 + 0x74; uVar9 = (*(int *)(local_a0 + lVar13) * 0x16a88000 | (uint)(*(int *)(local_a0 + lVar13) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar9; ppuStack_88 = local_b8[3]; lVar3 = *(longlong *)(param_1 + 8); puVar4 = *(undefined8 **)(lVar3 + 0x10); if (*(undefined8 **)(lVar3 + 0x18) == puVar4) { puStack_f0 = &UNK_180a5e751; FUN_180703330(lVar3 + 8,puVar4,&ppuStack_88); } else { *puVar4 = ppuStack_88; *(longlong *)(lVar3 + 0x10) = *(longlong *)(lVar3 + 0x10) + 8; } local_res8 = (undefined1)param_1; uStack_c8 = local_res8; pppuVar17 = &ppuStack_88; ppppuVar16 = (undefined8 ****)0x0; puStack_f0 = &UNK_180a5e771; FUN_18060b3f0(*(longlong *)(param_1 + 8) + 0x20,auStack_50,0,pppuVar17); lVar3 = local_a0; iVar11 = *(int *)(lVar5 + 4 + lVar13); uVar9 = (iVar11 * 0x16a88000 | (uint)(iVar11 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; iVar11 = *(int *)(lVar5 + 8 + lVar13); uVar9 = (iVar11 * 0x16a88000 | (uint)(iVar11 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; iVar11 = *(int *)(lVar5 + 0xc + lVar13); uVar9 = (iVar11 * 0x16a88000 | (uint)(iVar11 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; iVar11 = *(int *)(lVar5 + 0x10 + lVar13); uVar9 = (iVar11 * 0x16a88000 | (uint)(iVar11 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; do { iVar18 = (-iVar18 ^ 0xffffffffU) + 1; uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); iVar11 = *(int *)(local_a0 + 0x14 + lVar13); uVar9 = (iVar11 * 0x16a88000 | (uint)(iVar11 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar9 << 0xd | uVar9 >> 0x13) * 5 + 0xe6546b64; lVar5 = *(longlong *)(param_1 + 0x18); lVar6 = *(longlong *)(lVar5 + 0x48); if (*(longlong *)(lVar5 + 0x50) == lVar6) { puStack_f0 = &UNK_180a5e8b5; ppppuVar16 = (undefined8 ****)local_b8; FUN_180a56810(lVar5 + 0x40,lVar6,local_b8); } else { puStack_f0 = &UNK_180a5e89b; FUN_180a57c50(lVar6,local_b8); *(longlong *)(lVar5 + 0x48) = *(longlong *)(lVar5 + 0x48) + 0xd8; } iVar11 = *(int *)(lVar3 + 0x18 + lVar13); uVar9 = (iVar11 * 0x16a88000 | (uint)(iVar11 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar18 + (uVar9 << 0xd | uVar9 >> 0x13) * 5; plVar12 = *(longlong **)(param_1 + 0x40); if (*(longlong **)(param_1 + 0x48) == plVar12) { ppppuVar16 = local_80; puStack_f0 = &UNK_180a5e901; FUN_18080f490(param_1 + 0x38,plVar12,ppppuVar16); local_b8 = local_80[0]; } else { *plVar12 = (longlong)local_b8; *(longlong *)(param_1 + 0x40) = *(longlong *)(param_1 + 0x40) + 8; } iVar11 = *(int *)(lVar3 + 0x1c + lVar13); uVar9 = (iVar11 * 0x16a88000 | (uint)(iVar11 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ iVar18 + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar8 = (ulonglong)(iVar18 + (uVar9 << 0xd | uVar9 >> 0x13) * 5); /* WARNING: Call to offcut address within same function */ puStack_f0 = &UNK_180a5e94c; func_0x000180a5e61d(); piVar14 = (int *)auStack_f8; bVar19 = false; puStack_f0 = (undefined *)0xcc9e2d51; /* WARNING: Call to offcut address within same function */ uVar9 = func_0x000180a5e95f(); if (bVar19) { piVar14 = (int *)(ulonglong)((uint)auStack_f8 ^ (uint)uVar8); } LOCK(); puVar1 = (undefined1 *)(lVar7 + 0xb0 + uVar8 * 4); uVar2 = *puVar1; *puVar1 = (char)uVar8; UNLOCK(); *piVar14 = *piVar14 + 0x167; piVar14[-2] = -0x3359dafb; piVar14[-1] = 0; piVar14[-4] = -0x33694282; piVar14[-3] = 0; piVar14[-6] = -0x335d000a; piVar14[-5] = 0; piVar14[-8] = -0x3366eed0; piVar14[-7] = 0; piVar14[-10] = -0x33615215; piVar14[-9] = 0; piVar14[-0xc] = -0x335a8a09; piVar14[-0xb] = 0; piVar14[-0xe] = -0x3359dafb; piVar14[-0xd] = 0; uVar8 = (*(code *)0xcc9baba5) (uVar2,~(~(ulonglong)plVar12 + 1) + 1, (longlong)ppppuVar16 - (ulonglong)((uVar9 & 0xffffff4c) * 2),pppuVar17); return uVar8; } ############ FUN_ 180a5f760 size=694 ############ longlong FUN_180a5f760(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; ulonglong uVar12; ulonglong uVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar12 = *param_1; lVar5 = (param_2 - uVar12) + SUB168(SEXT816(-0x5f5f5f5f5f5f5f5f) * SEXT816((longlong)(param_2 - uVar12)),8); lVar7 = (lVar5 >> 8) - (lVar5 >> 0x3f); lVar5 = SUB168(SEXT816(-0x5f5f5f5f5f5f5f5f) * SEXT816((longlong)(param_1[1] - uVar12)),8) + (param_1[1] - uVar12); lVar5 = (lVar5 >> 8) - (lVar5 >> 0x3f); if (lVar5 == 0xa0a0a0a0a0a0a0) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = lVar5 + 1; lVar5 = SUB168(SEXT816(-0x5f5f5f5f5f5f5f5f) * SEXT816((longlong)(param_1[2] - uVar12)),8) + (param_1[2] - uVar12); uVar6 = (lVar5 >> 8) - (lVar5 >> 0x3f); uVar12 = uVar13; if ((uVar6 <= 0xa0a0a0a0a0a0a0 - (uVar6 >> 1)) && (uVar12 = (uVar6 >> 1) + uVar6, uVar12 < uVar13) ) { uVar12 = uVar13; } uVar6 = uVar12 * 0x198; lVar5 = lVar7; puVar14 = param_1; if (uVar12 < 0xa0a0a0a0a0a0a1) { if (uVar6 < 0x1000) { if (uVar6 == 0) { uVar6 = 0; } else { uVar6 = FUN_1811316e0(uVar6); } goto LAB_180a5f8a2; } } else { uVar6 = 0xffffffffffffffff; } uVar4 = uVar6 + 0x27; if (uVar4 <= uVar6) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar6 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar6 - 8) = lVar3; LAB_180a5f8a2: lVar8 = lVar7 * 0x198 + uVar6; lVar7 = lVar8 + 0x198; lVar3 = lVar7; uVar11 = uVar6; FUN_180a60830(lVar8,param_3); uVar4 = param_1[1]; if (param_2 == uVar4) { uVar9 = uVar6; for (uVar11 = *param_1; uVar11 != uVar4; uVar11 = uVar11 + 0x198) { FUN_180a60830(uVar9); uVar9 = uVar9 + 0x198; } } else { FUN_180a618d0(param_1,*param_1,param_2,uVar6,uVar13,lVar5,lVar3,uVar11,puVar14,uVar15); FUN_180a618d0(param_1,param_2,param_1[1],lVar7); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[1]; for (; puVar10 != puVar1; puVar10 = puVar10 + 0x33) { (**(code **)*puVar10)(puVar10,0); } pvVar2 = (void *)*param_1; lVar5 = SUB168(SEXT816(-0x5f5f5f5f5f5f5f5f) * SEXT816((longlong)(param_1[2] - (longlong)pvVar2)) ,8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar5 >> 8) - (lVar5 >> 0x3f)) * 0x198)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar6; param_1[1] = uVar13 * 0x198 + uVar6; param_1[2] = uVar12 * 0x198 + uVar6; return lVar5 * 0x198 + *param_1; } ############ FUN_ 180a5fcc0 size=958 ############ /* WARNING: Instruction at (ram,0x000180a60078) overlaps instruction at (ram,0x000180a60075) */ uint FUN_180a5fcc0(undefined8 *param_1,longlong param_2,undefined8 param_3) { undefined8 *puVar1; char cVar2; undefined8 uVar3; uint uVar4; int iVar5; ulonglong uVar6; longlong lVar7; uint uVar8; uint unaff_retaddr; char local_f8 [32]; longlong local_d8; undefined8 local_c8; undefined8 local_c0; undefined8 local_b8; uint local_b0; uint local_ac; undefined *local_a8; undefined8 local_a0; longlong local_98; undefined8 local_90; undefined8 local_88; longlong local_80; undefined8 *local_78; undefined8 local_70; undefined8 *local_68; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)local_f8; local_a0 = param_3; local_78 = param_1; local_68 = param_1; FUN_180a3bf80(param_1,param_2 + 8); *param_1 = license_services::LsCachedObjectVectorMachineId::vftable; param_1[3] = param_2; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; FUN_180b7b680(param_1 + 10,*(undefined4 *)(param_1[3] + 0x38)); param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; uVar8 = (uint)&stack0x00000000; uVar4 = uVar8 & 0x17f; uVar4 = ((uVar4 + 2) * (uVar4 + 1) * uVar4) % 3 ^ 0xee78300; local_ac = ((int)(-uVar4 | uVar4) >> 0x1f) * -0x27 ^ 0x1d7; iVar5 = (uVar8 & 0x4aff) * (uVar8 & 0x4aff) + 1; uVar4 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar4 = (int)(uVar4 - 7) >> 0x1f & uVar4; local_b0 = 0x283c << ((char)((byte)(-(((uVar8 & 0x3ff) * (uVar8 & 0x3ff) * 0x10 + 4) % 0x13) >> 0x18) ^ ((byte)(-uVar4 >> 0x18) | (byte)(uVar4 >> 0x18))) >> 7 & 0x1fU) ^ 0x266c; local_c8 = 0x323c; local_a8 = &DAT_18070cb10; local_b8 = 0x18070fd4c; local_d8 = -0x1a6b127a8af44e74; local_c0 = 0x750bb18c; lVar7 = *(longlong *)(param_2 + 0x40); local_80 = *(longlong *)(param_2 + 0x48); if (lVar7 != local_80) { do { local_98 = FUN_1811316e0(0x68); uVar3 = 0; if (local_98 != 0) { uVar3 = FUN_180830250(local_98,lVar7,param_1); } puVar1 = (undefined8 *)param_1[5]; local_90 = uVar3; if ((undefined8 *)param_1[6] == puVar1) { FUN_18080f490(param_1 + 4,puVar1,&local_90); } else { *puVar1 = uVar3; param_1[5] = param_1[5] + 8; } local_d8 = FUN_1811316e0(0x198); uVar3 = 0; if (local_d8 != 0) { uVar3 = FUN_1809d4210(local_d8); } local_88 = uVar3; FUN_180a61660(uVar3,lVar7); puVar1 = (undefined8 *)param_1[8]; if ((undefined8 *)param_1[9] == puVar1) { FUN_18080f490(param_1 + 7,puVar1,&local_88); } else { *puVar1 = uVar3; param_1[8] = param_1[8] + 8; } lVar7 = lVar7 + 0x198; local_80 = *(longlong *)(param_2 + 0x48); } while (lVar7 != local_80); } do { uVar6 = 0xc230; FUN_180a5edaa(); if ((uVar6 & 0xe300) == 0) { cVar2 = FUN_18591aa24(); return (uint)(byte)(cVar2 + local_f8[0]); } uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); return unaff_retaddr; } ############ FUN_ 180b7b680 size=1112 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180b7b8c1) */ /* WARNING: Removing unreachable block (ram,0x000180b7b76e) */ void FUN_180b7b680(undefined8 *param_1) { longlong lVar1; undefined8 uVar2; undefined8 *puVar3; ulonglong uVar4; int iVar5; code **ppcVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_c8 [32]; undefined4 local_a8; uint local_90; undefined8 *local_88; uint local_7c; uint local_78; code *local_70; undefined8 *local_68; undefined8 local_60; undefined8 *local_58; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_c8; local_68 = param_1; local_58 = param_1; puVar3 = (undefined8 *)FUN_1811316e0(0x60); local_88 = puVar3; if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)0x0; } else { *puVar3 = license_services::LsEntityMachineId::vftable; FUN_180677c10(puVar3 + 1); puVar3[8] = 0; puVar3[9] = 0; puVar3[10] = 0; *(undefined2 *)(puVar3 + 0xb) = 0; } *param_1 = puVar3; FUN_180b7b610(param_1 + 1,puVar3); FUN_1805ae620(param_1,puVar3,puVar3); param_1[2] = *param_1; uVar8 = (uint)&stack0x00000000; iVar5 = (uVar8 & 0x23ff) * (uVar8 & 0x23ff) + 1; uVar7 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar7 = (int)(uVar7 - 7) >> 0x1f & uVar7; uVar9 = ((uVar8 & 0xaff) * (uVar8 & 0xaff) * 0x10 + 4) % 0x13; uVar7 = (int)((-uVar9 | uVar9) & (-uVar7 | uVar7)) >> 0x1f; local_78 = ((int)(-uVar7 | uVar7) >> 0x1f) * -0xd4cf ^ 0xd95f; uVar9 = ((uVar8 & 0x16ff) * (uVar8 & 0x16ff) + 1) % 7; uVar10 = (((uVar8 & 0x1dff) + 1) * (uVar8 & 0x1dff) + 7) % 0x51; uVar7 = ((uVar8 & 0xfff) + 1) * (uVar8 & 0xfff) + 0x36f5 & 0x80000001; local_7c = ((((int)(-uVar10 | uVar10) >> 0x1f) - ((int)(-uVar9 | uVar9) >> 0x1f)) + 0x2008U | 0x260d) ^ ((int)(-uVar7 | uVar7) >> 0x1f) + 1U ^ 0x2ccd; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { uVar2 = rdtsc(); local_90 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); FUN_180b79def(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_90 = (local_90 * -0x502800af >> 0x18 ^ local_90 * -0x502800af) * 0x5bd1c2b2; if (local_90 < 0x3333333f) { local_70 = (code *)0x0; do { ppcVar6 = &local_70; /* WARNING: Call to offcut address within same function */ func_0x000180b7b71e(ppcVar6,&local_70); *ppcVar6 = FUN_181194940; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = (*local_70)(0,0xfa98); if (1 < uVar4) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } local_a8 = 0x811c9e53; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); FUN_180b7bb12(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180b7b610 size=97 ############ undefined8 * FUN_180b7b610(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b7d2b0 size=311 ############ void FUN_180b7d2b0(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b7d440(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180a5f760(lVar2 + 0x40,lVar1,param_2); return; } FUN_180a60830(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x198; return; } ############ FUN_ 180b7d440 size=316 ############ longlong FUN_180b7d440(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180a6a441 size=815 ############ void FUN_180a6a441(undefined8 param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4, longlong param_5,longlong param_6) { longlong *plVar1; undefined8 uVar2; longlong lVar3; uint uVar4; longlong *plVar5; int iVar6; longlong unaff_RBX; longlong unaff_RBP; int *unaff_RSI; longlong lVar7; longlong *unaff_RDI; longlong lVar8; uint *puVar9; longlong *plVar10; undefined4 *puVar11; longlong lVar12; char unaff_R13B; uint unaff_R14D; uint local_res20 [2]; uVar4 = (*unaff_RSI + 1) * *unaff_RSI & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } if (uVar4 != 0) { FUN_180a6a441(0xcf24); return; } do { uVar4 = (*unaff_RSI + 1) * *unaff_RSI & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); lVar7 = 0; local_res20[0] = 0xb3; if ((*(char *)(unaff_RBX + 0x10) == (byte)((-unaff_R13B ^ 0xffU) + 1)) && ((*(longlong **)(unaff_RBX + 8))[1] - **(longlong **)(unaff_RBX + 8) >> 5 == 0)) { lVar7 = FUN_1811316e0(0x18); *(longlong *)(unaff_RBP + -0x21) = lVar7; if (lVar7 != 0) { FUN_1805a48c0(lVar7,"LsObjectRelationVector<>::at: This one-to-one relation is empty."); } lVar7 = FUN_1805c0260(); *(undefined4 *)(unaff_RBP + -0x61) = 0x6e; *(char **)(unaff_RBP + -0x21) = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectormachineid.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(lVar7 + 8),unaff_RBP + -0x21); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,unaff_RBP + -0x61); } if (param_5 == param_6) { LAB_180a6a732: iVar6 = (int)param_2; *(uint *)(unaff_RBP + -0x79) = unaff_R14D; FUN_180a6b6b5(); lVar3 = FUN_180a6a7a8(); *(int *)(lVar3 * 2) = *(int *)(lVar3 * 2) + iVar6; /* WARNING: Could not recover jumptable at 0x000180a6a8f3. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(lVar7 + 0x586e2))(); return; } LAB_180a6a5a0: puVar11 = (undefined4 *)(param_6 + lVar7); if ((unaff_RDI != (longlong *)0x0) && (lVar3 = *unaff_RDI, -1 < lVar3)) { *(undefined8 *)(unaff_RBP + -0x69) = 0x2621fc0; lVar8 = (longlong)&DAT_182621fc0 + -*(longlong *)(unaff_RBP + -0x69); do { if (puVar11 < (undefined4 *)(-*(longlong *)(unaff_RBP + -0x69) + 0x182621fc8 + lVar3)) { if (-1 < lVar3) { plVar5 = (longlong *)(lVar8 + lVar3); plVar1 = (longlong *)(puVar11 + 1); if (plVar5 < plVar1) { *(undefined4 *)(unaff_RBP + 0xf) = *puVar11; lVar12 = lVar8 - (longlong)puVar11; plVar10 = unaff_RDI; goto LAB_180a6a620; } } break; } unaff_RDI = unaff_RDI + 1; lVar3 = *unaff_RDI; } while (-1 < lVar3); } goto LAB_180a6a644; while (plVar5 = (longlong *)(lVar8 + lVar3), plVar5 < plVar1) { LAB_180a6a620: *(longlong *)(unaff_RBP + 0xf + lVar12 + lVar3) = *plVar5 - lVar8; plVar10 = plVar10 + 1; lVar3 = *plVar10; puVar11 = (undefined4 *)(unaff_RBP + 0xf); if (lVar3 < 0) break; } LAB_180a6a644: if ((unaff_R14D & 0x1ff) != 0) { unaff_R14D = unaff_R14D ^ 0x9f2c751e; } uVar4 = local_res20[0] & 0xf; if (((uVar4 + 1) * (uVar4 + 1) * uVar4 * uVar4 & 3) != 0) { do { unaff_R14D = unaff_R14D * -0x404a307d; lVar7 = lVar7 + 4; } while (((uVar4 + 1) * (uVar4 + 1) * uVar4 * uVar4 & 3) != 0); } local_res20[0] = local_res20[0] >> 0x1c ^ local_res20[0] << 4; do { puVar9 = local_res20; param_2 = puVar11 + 0xf0f39f5; FUN_180a69925(0xcf24); *puVar9 = *puVar9 ^ param_2[-0xf0f39f5]; uVar4 = (*(int *)(unaff_RBP + 0x5f) + 1) * *(int *)(unaff_RBP + 0x5f) & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); lVar7 = lVar7 + 4; if (param_5 - param_6 == lVar7) goto LAB_180a6a732; goto LAB_180a6a5a0; } ############ FUN_ 180a7e5b0 size=214 ############ void FUN_180a7e5b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsMachineBinding::targetSlowPath: The LsMachineBindingWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsmachinebinding.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180a81170 size=2000 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180a81965) overlaps instruction at (ram,0x000180a81961) */ /* WARNING: Removing unreachable block (ram,0x000180a81bfc) */ /* WARNING: Removing unreachable block (ram,0x000180a814f3) */ /* WARNING: Removing unreachable block (ram,0x000180a811c2) */ /* WARNING: Removing unreachable block (ram,0x000180a811d6) */ /* WARNING: Removing unreachable block (ram,0x000180a81876) */ /* WARNING: Removing unreachable block (ram,0x000180a81d3c) */ /* WARNING: Removing unreachable block (ram,0x000180a814fc) */ /* WARNING: Switch with 1 destination removed at 0x000180a81fce */ /* WARNING: Type propagation algorithm not settling */ ulonglong FUN_180a81170(longlong param_1,ulonglong param_2,ulonglong param_3) { undefined8 *puVar1; undefined1 *puVar2; char cVar3; longlong lVar4; undefined8 uVar5; char *pcVar6; int iVar7; uint uVar8; ulonglong uVar9; uint uVar10; uint uVar11; int iVar12; undefined8 *puVar13; ulonglong uVar14; undefined1 *puVar15; undefined1 *puVar17; undefined1 *puVar18; undefined8 *puVar19; undefined8 *puVar20; uint uVar21; ulonglong uVar22; uint uVar23; longlong lVar24; bool bVar25; uint unaff_retaddr; longlong local_res8; ulonglong local_res10; ulonglong local_res18; undefined8 local_res20; undefined1 auStack_c8 [32]; undefined4 *local_a8; undefined8 local_a0; undefined4 local_98 [2]; uint local_90; char *local_88; undefined **local_80; undefined4 local_78; undefined8 local_70; undefined2 local_68; undefined8 local_60; longlong local_58 [3]; undefined1 *puVar16; puVar18 = (undefined1 *)((longlong)&local_60 + 1); puVar15 = auStack_c8; local_58[1] = 0xfffffffffffffffe; uVar5 = 0x9f0; if (((ulonglong)&stack0x00000000 & 0xa40) == 0) { uVar8 = (uint)&stack0x00000000 & 0x2bf; iVar7 = (uVar8 + 2) * (uVar8 + 1) * uVar8; iVar7 = ((iVar7 >> 1) - (iVar7 >> 3)) + iVar7 * 0x55555555 >> 0x1e; } else { iVar7 = 0; } local_90 = iVar7 + 1999U ^ 0x91f; do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar22 = 0x180000000; local_a8 = &DAT_181427c64; local_a0 = 0x100; uVar8 = (DAT_181427c64 + 0x6c95ef14) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + DAT_181427c68) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + DAT_181427c6c) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + DAT_181427c70) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + DAT_181427c74) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + DAT_181427c78) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + DAT_181427c7c) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + DAT_181427c80) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + DAT_181427c84) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + DAT_181427c88) * 0x401; uVar8 = uVar8 ^ uVar8 >> 6; local_res20 = CONCAT44(1,uVar8); local_res10 = param_2; local_res18 = param_3; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_res8 = FUN_1811316e0(0x18); if (local_res8 != 0) { FUN_1805a48c0(local_res8,"LsObjectRelationVector<>::at: This one-to-one relation is empty."); } lVar4 = FUN_1805c0260(); local_res8 = CONCAT44(local_res8._4_4_,0x6e); local_60 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectormachinebinding.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(lVar4 + 8),&local_60); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,&local_res8); } uVar8 = (DAT_181427c8c + uVar8) * 0x401; uVar10 = ((uVar8 >> 6 ^ uVar8) + DAT_181427c90) * 0x401; uVar10 = uVar10 ^ uVar10 >> 6; uVar8 = uVar10 & 0xf; uVar14 = ((longlong)(int)(uVar8 * uVar8 * (uVar8 + 1) * (uVar8 + 1) & 0x80000003) | 0x88e0U) ^ 0x8820; uVar8 = (*(int *)(&UNK_181427bd4 + uVar14) + uVar10) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427bd8 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427bdc + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427be0 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427be4 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427be8 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427bec + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427bf0 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427bf4 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427bf8 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427bfc + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c00 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c04 + uVar14)) * 0x401; local_res20 = 0x62035cd4d5bf74c7; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c08 + uVar14)) * 0x401; uVar10 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c0c + uVar14)) * 0x401; uVar8 = uVar10 >> 6; uVar9 = (ulonglong)(uVar10 ^ uVar8); do { if ((POPCOUNT((ulonglong)uVar8 & 0xff) & 1U) == 0) { lVar4 = uVar22 + uVar9; lVar24 = uVar9 - lVar4; uVar22 = -lVar24; uVar9 = lVar4 + lVar24; } uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } uVar8 = unaff_retaddr; } while (uVar10 != 0); uVar8 = (*(int *)(&UNK_181427c10 + uVar14) + (int)uVar9) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c14 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c18 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c1c + uVar14)) * 0x401; uVar8 = uVar8 ^ uVar8 >> 6; local_res8 = CONCAT44(local_res8._4_4_,uVar8); if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5) <= param_3) { local_88 = (char *)FUN_1811316e0(0x18); if (local_88 == (char *)0x0) { local_a8 = (undefined4 *)0x0; } else { local_a8 = (undefined4 *) FUN_1805a48c0(local_88, "LsObjectRelationVector<>::at: Index is out of range. This object relation vector contains %u entries and the supplied index value was %u" ); } pcVar6 = (char *)FUN_1811316e0(0x18); local_88 = pcVar6; if (pcVar6 != (char *)0x0) { FUN_1805a48c0(pcVar6,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar6 = pace::PaceLocationInfoFormatter::vftable; } local_58[0] = (*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5; FUN_1805b2520(*(undefined8 *)((longlong)local_a8 + 8),local_58); FUN_1805b2520(*(undefined8 *)((longlong)local_a8 + 8),&local_res18); local_98[0] = 0x70; local_88 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectormachinebinding.cpp" ; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar6 + 8),&local_88); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_98); } lVar4 = **(longlong **)(param_1 + 8); if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - lVar4 >> 5) <= param_3) { /* WARNING: Subroutine does not return */ FUN_1808077d0(); } lVar24 = param_3 * 0x20; local_80 = license_services::LsRelation::vftable; local_78 = *(undefined4 *)(lVar24 + 8 + lVar4); local_70 = *(undefined8 *)(lVar24 + 0x10 + lVar4); local_68 = *(undefined2 *)(lVar24 + 0x18 + lVar4); uVar8 = (*(int *)(&UNK_181427c20 + uVar14) + uVar8) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c24 + uVar14)) * 0x401; do { param_2 = ~(~param_2 + 1) + 1; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar8 = (*(int *)(&UNK_181427c28 + uVar14) + (uVar8 ^ uVar8 >> 6)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c2c + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c30 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c34 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c38 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c3c + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c40 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c44 + uVar14)) * 0x401; uVar10 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c48 + uVar14)) * 0x401; uVar10 = uVar10 ^ uVar10 >> 6; uVar8 = uVar10; do { bVar25 = (POPCOUNT(uVar8 & 0xff) & 1U) == 0; uVar9 = 0x5010; FUN_180a81497(); if ((!bVar25) && ((uVar9 & 0xd700) == 0)) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = (*(int *)(&UNK_181427c4c + uVar14) + uVar10) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c50 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c54 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c58 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c5c + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(&UNK_181427c60 + uVar14)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)((longlong)&DAT_181427c64 + uVar14)) * 0x401; uVar9 = uVar14 + 4; uVar23 = ((uVar8 >> 6 ^ uVar8) + *(int *)((longlong)&DAT_181427c68 + uVar14)) * 0x401; uVar23 = uVar23 ^ uVar23 >> 6; uVar11 = uVar23 & 7 | 0x43; uVar8 = (uint)uVar9 & 7 | 0x19; uVar21 = 0xeaa0; uVar10 = (uint)local_a0; if (((uVar8 * uVar8 * 0x1b3 ^ uVar11 * uVar11 * -0x9b) & 0x250) == 0) { uVar8 = uVar10 & 0x7f; uVar21 = ((uVar8 + 2) * (uVar8 + 1) * uVar8) % 3 | ((uVar10 & 0x25ff) - 1) * (uVar10 & 0x25ff) & 1; uVar22 = (ulonglong)uVar21; uVar21 = uVar21 ^ 0xeaa0; } if ((uVar9 & 0x70) == 0) { uVar8 = (uint)uVar9 & 0x1ff; } else { uVar8 = uVar10 & 0x17f; } iVar12 = (uVar8 + 2) * (uVar8 + 1) * uVar8; iVar7 = (uVar23 & 0x71ff) * (uVar23 & 0x71ff) + 1; uVar8 = (iVar7 >> 4) + (iVar7 >> 1) + iVar7 * 0x24924924 >> 0x1d; uVar10 = (int)(uVar8 - 7) >> 0x1f & uVar8 | uVar10; lVar4 = uVar9 + (((longlong)(((iVar12 >> 1) - (iVar12 >> 3)) + iVar12 * 0x55555555 >> 0x1e) | 0x7483U) ^ 0xffffffffffff8bc7) + (longlong)(int)(((int)(-uVar10 | uVar10) >> 0x1f) * -60000 ^ uVar21); uVar8 = (*(int *)(lVar4 + 0x181427c64) + uVar23) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(lVar4 + 0x181427c68)) * 0x401; do { uVar14 = 0x5010; *(undefined **)(puVar15 + -8) = &UNK_180a81b8a; func_0x000180a8081d(); if ((uVar14 & 0xdb00) == 0) { uVar10 = *(uint *)((ulonglong)uRam00000001ac8ba698 + 0x48c08548); *(uint *)((ulonglong)uRam00000001ac8ba698 + 0x48c08548) = uVar10 << 0x19 | uVar10 >> 8; puVar16 = puVar15 + -8; *(undefined1 **)(puVar15 + -8) = puVar18; puVar15 = puVar15 + -0x8550; puVar18 = puVar16; } uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar8 = (*(int *)(lVar4 + 0x181427c6c) + (uVar8 ^ uVar8 >> 6)) * 0x401; uVar8 = uVar8 ^ uVar8 >> 6; uVar14 = (ulonglong)uVar8; do { uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar8 = (*(int *)(lVar4 + 0x181427c70) + uVar8) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(lVar4 + 0x181427c74)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(lVar4 + 0x181427c78)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(lVar4 + 0x181427c7c)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(lVar4 + 0x181427c80)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(lVar4 + 0x181427c84)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(lVar4 + 0x181427c88)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(lVar4 + 0x181427c8c)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + *(int *)(lVar4 + 0x181427c90)) * 0x401; uVar10 = ((uVar8 >> 6 ^ uVar8) + *(int *)(lVar4 + 0x181427c94)) * 0x401; uVar10 = uVar10 ^ uVar10 >> 6; uVar8 = uVar10 & 0x33f; iVar7 = (uVar8 + 2) * (uVar8 + 1) * uVar8; if ((((iVar7 >> 1) - (iVar7 >> 3)) + iVar7 * 0x55555555 >> 0x1e & 0x7cU) == 0) { uVar8 = (uint)(lVar4 + 0x30) & 0x3f; uVar8 = uVar8 * uVar8 * (uVar8 + 1) * (uVar8 + 1) & 0x80000003; } else { uVar8 = ((uVar10 & 0xbff) - 1) * (uVar10 & 0xbff) & 1; } uVar8 = (*(int *)(lVar4 + 0x30 + ((longlong)(int)(0x72e1 - uVar8) ^ 0x72e5U) + 0x181427c64) + uVar10) * 0x401; uVar8 = uVar8 >> 6 ^ uVar8; uVar8 = ((uVar8 >> 8 | uVar8 << 0x18) & 0xe916e916 | (uVar8 << 8 | uVar8 >> 0x18) & 0x16e916e9) ^ 0x72a63856; uVar10 = (uVar8 >> 0x10 | uVar8 << 0x10) & 0xfc3a03c5 | (uVar8 << 0x10 | uVar8 >> 0x10) & 0x3c5fc3a; uVar9 = (ulonglong)uVar10; uVar8 = ~(*(uint *)(puVar18 + 0x7f) & uVar10); uVar10 = ~(uVar8 & uVar10); if ((char)(((~(uVar8 & *(uint *)(puVar18 + 0x7f)) & uVar10) == 0xffffffff) * '/') == '\0') { *(BADSPACEBASE **)(puVar15 + -8) = register0x00000020; *(ulonglong *)(puVar15 + -0x10) = (ulonglong)uVar10; *(longlong *)(puVar15 + -0x18) = param_1; uVar22 = thunk_FUN_1805a9280(0x9f0,uVar14 ^ 0x180a81e22 ^ uVar14,uVar9); return uVar22; } iVar7 = *(int *)(puVar18 + -0x31); puVar2 = puVar15; do { puVar17 = puVar2; *(ulonglong *)(puVar17 + -8) = uVar9; *(undefined8 *)(puVar17 + -0x10) = uVar5; *(ulonglong *)(puVar17 + -0x18) = uVar14; param_2 = (longlong)(&UNK_180a81fdd + param_2) - ((param_2 - (longlong)(&UNK_180a81fdd + param_2) ^ 0xffffffffffffffff) + 1); lVar4 = -(longlong)iVar7; uVar14 = *(ulonglong *)(puVar17 + lVar4 + 0xeb8); uVar5 = *(undefined8 *)(puVar17 + lVar4 + 0xec0); uVar9 = *(ulonglong *)(puVar17 + lVar4 + 0xec8); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar2 = puVar17 + lVar4 + 0xed0; } while (uVar8 != 0); *(undefined **)(puVar17 + lVar4 + 0xec8) = &UNK_180a82028; cVar3 = FUN_18080b1c0(puVar18 + -0x21,(ulonglong)uVar10,uVar9,uVar22); if (cVar3 == '\0') { lVar24 = *(longlong *)(param_1 + 0x20); puVar1 = *(undefined8 **)(*(longlong *)(lVar24 + 8) + 0x20); cVar3 = *(char *)((longlong)puVar1[1] + 0x19); puVar20 = puVar1; puVar19 = (undefined8 *)puVar1[1]; while (cVar3 == '\0') { if ((longlong)puVar19[4] < *(longlong *)(puVar18 + -0x11)) { puVar13 = (undefined8 *)puVar19[2]; puVar19 = puVar20; } else { puVar13 = (undefined8 *)*puVar19; } puVar20 = puVar19; puVar19 = puVar13; cVar3 = *(char *)((longlong)puVar13 + 0x19); } if ((puVar20 == puVar1) || (*(longlong *)(puVar18 + -0x11) < (longlong)puVar20[4])) { puVar20 = puVar1; } if (puVar20 == puVar1) { uVar5 = *(undefined8 *)(param_1 + 8); *(undefined **)(puVar17 + lVar4 + 0xec8) = &UNK_180a8208a; func_0x000180a5b050(lVar24,uVar5,0); } } else { lVar24 = *(longlong *)(param_1 + 0x20); } *(undefined **)(puVar17 + lVar4 + 0xec8) = &UNK_180a8209c; FUN_180a59ec0(lVar24,param_2,puVar18 + -0x21,0); return param_2; } ############ FUN_ 180a83dc0 size=694 ############ longlong FUN_180a83dc0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; ulonglong uVar12; ulonglong uVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar12 = *param_1; lVar5 = (param_2 - uVar12) + SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816((longlong)(param_2 - uVar12)),8); lVar7 = (lVar5 >> 7) - (lVar5 >> 0x3f); lVar5 = SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816((longlong)(param_1[1] - uVar12)),8) + (param_1[1] - uVar12); lVar5 = (lVar5 >> 7) - (lVar5 >> 0x3f); if (lVar5 == 0x1642c8590b21642) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = lVar5 + 1; lVar5 = SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816((longlong)(param_1[2] - uVar12)),8) + (param_1[2] - uVar12); uVar6 = (lVar5 >> 7) - (lVar5 >> 0x3f); uVar12 = uVar13; if ((uVar6 <= 0x1642c8590b21642 - (uVar6 >> 1)) && (uVar12 = (uVar6 >> 1) + uVar6, uVar12 < uVar13)) { uVar12 = uVar13; } uVar6 = uVar12 * 0xb8; lVar5 = lVar7; puVar14 = param_1; if (uVar12 < 0x1642c8590b21643) { if (uVar6 < 0x1000) { if (uVar6 == 0) { uVar6 = 0; } else { uVar6 = FUN_1811316e0(uVar6); } goto LAB_180a83f02; } } else { uVar6 = 0xffffffffffffffff; } uVar4 = uVar6 + 0x27; if (uVar4 <= uVar6) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar6 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar6 - 8) = lVar3; LAB_180a83f02: lVar8 = lVar7 * 0xb8 + uVar6; lVar7 = lVar8 + 0xb8; lVar3 = lVar7; uVar11 = uVar6; FUN_180a84eb0(lVar8,param_3); uVar4 = param_1[1]; if (param_2 == uVar4) { uVar9 = uVar6; for (uVar11 = *param_1; uVar11 != uVar4; uVar11 = uVar11 + 0xb8) { FUN_180a84eb0(uVar9); uVar9 = uVar9 + 0xb8; } } else { FUN_180a860b0(param_1,*param_1,param_2,uVar6,uVar13,lVar5,lVar3,uVar11,puVar14,uVar15); FUN_180a860b0(param_1,param_2,param_1[1],lVar7); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[1]; for (; puVar10 != puVar1; puVar10 = puVar10 + 0x17) { (**(code **)*puVar10)(puVar10,0); } pvVar2 = (void *)*param_1; lVar5 = SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816((longlong)(param_1[2] - (longlong)pvVar2)) ,8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar5 >> 7) - (lVar5 >> 0x3f)) * 0xb8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar6; param_1[1] = uVar13 * 0xb8 + uVar6; param_1[2] = uVar12 * 0xb8 + uVar6; return lVar5 * 0xb8 + *param_1; } ############ FUN_ 180b7e8b0 size=853 ############ /* WARNING: Instruction at (ram,0x000180b7ebe5) overlaps instruction at (ram,0x000180b7ebe1) */ /* WARNING: Removing unreachable block (ram,0x000180b7ea12) */ /* WARNING: Removing unreachable block (ram,0x000180b7e988) */ /* WARNING: Removing unreachable block (ram,0x000180b7e9af) */ /* WARNING: Removing unreachable block (ram,0x000180b7ea7c) */ /* WARNING: Removing unreachable block (ram,0x000180b7e996) */ void FUN_180b7e8b0(undefined8 *param_1) { undefined8 *puVar1; longlong lVar2; uint uVar3; undefined8 *puVar4; ulonglong uVar5; code *UNRECOVERED_JUMPTABLE; char cVar6; char cVar7; longlong alStack_b8 [4]; undefined8 local_98; undefined8 *local_90; undefined8 local_80; undefined *local_78; uint local_70; uint local_6c; undefined8 local_68; undefined8 *local_60; undefined8 local_58; ulonglong local_38; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)alStack_b8; local_90 = param_1; local_60 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); if (puVar1 == (undefined8 *)0x0) { puVar4 = (undefined8 *)0x0; local_90 = puVar1; } else { *puVar1 = license_services::LsEntitySignature::vftable; local_90 = puVar1; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; puVar4 = puVar1; } *param_1 = puVar4; FUN_180b7e840(param_1 + 1,puVar4); FUN_1805ae620(param_1,puVar4,puVar4); param_1[2] = *param_1; uVar3 = (uint)&stack0x00000000 & 0x34ff; uVar3 = ((uVar3 + 1) * uVar3 + 7) % 0x51; local_6c = ((int)(-uVar3 | uVar3) >> 0x1f) * -0x9a3e ^ 0x9b8e; uVar3 = (uint)&stack0x00000000 & 0x1bf; uVar3 = ((uVar3 + 2) * (uVar3 + 1) * uVar3) % 3; local_70 = 0x5cca >> (sbyte)uVar3 ^ 0x520a; local_98 = 0x2b34; local_68 = 0x180b7ebbc; local_78 = &DAT_180b816f0; local_90 = (undefined8 *)0xe1f25f43d225bef; local_80 = 0x3d225bef; lVar2 = (ulonglong)uVar3 + 0xe1f25f43d225bef; uVar5 = (ulonglong)uVar3 - lVar2; while( true ) { cVar7 = SBORROW8(lVar2,~uVar5 + 1); uVar5 = lVar2 - (~uVar5 + 1); cVar6 = (longlong)uVar5 < 0; FUN_180b7ec08(); if (cVar7 == cVar6) break; lVar2 = func_0x000150e3385f(); } UNRECOVERED_JUMPTABLE = (code *)(alStack_b8[0] + 0x6ec4); alStack_b8[0] = alStack_b8[0] + 0x17b; /* WARNING: Could not recover jumptable at 0x000180b7ed53. Too many branches */ /* WARNING: Treating indirect jump as call */ (*UNRECOVERED_JUMPTABLE)(); return; } ############ FUN_ 180b7e840 size=97 ############ undefined8 * FUN_180b7e840(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b80900 size=311 ############ void FUN_180b80900(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b80a90(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180a83dc0(lVar2 + 0x40,lVar1,param_2); return; } FUN_180a84eb0(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0xb8; return; } ############ FUN_ 180b80a90 size=316 ############ longlong FUN_180b80a90(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180a8bdb0 size=918 ############ /* WARNING: Removing unreachable block (ram,0x000180a8be9c) */ void FUN_180a8bdb0(undefined8 param_1,undefined8 param_2) { longlong lVar1; undefined8 uVar2; longlong *plVar3; uint uVar4; undefined1 auStack_160 [40]; undefined8 uStack_138; undefined8 uStack_130; undefined1 auStack_128 [84]; uint local_d4; undefined4 local_d0; longlong local_c8; undefined8 local_b8; undefined8 local_b0; undefined8 local_98; undefined8 local_70; ulonglong local_40; local_70 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_128; uVar2 = 0; local_d0 = 0x2f0; uVar4 = (uint)&stack0x00000000 & 0x1aff; uVar4 = (uVar4 * uVar4 * 0x10 + 4) % 0x13; local_d4 = ((int)(-uVar4 | uVar4) >> 0x1f) * 0x1022 & 0xe1d0U ^ 0xed90; uStack_130 = 0x180a8bf50; local_98 = param_1; local_c8 = FUN_1811316e0(0xb8); if (local_c8 != 0) { uStack_130 = 0x180a8bf61; uVar2 = FUN_180a84f80(local_c8); } uStack_130 = 0x180a8bf7c; local_b8 = uVar2; local_b0 = uVar2; FUN_180a85f70(uVar2,param_2); uStack_130 = 0x180a8bf86; FUN_180aaa1e0(uVar2,1); uStack_130 = 0; /* WARNING: Call to offcut address within same function */ uStack_138 = 0x180a8bfa5; func_0x000180a8bfc0(); plVar3 = (longlong *)((ulonglong)auStack_160 & 0xffffffff); lVar1 = plVar3[6]; plVar3[6] = lVar1 + 0x1cd; plVar3[5] = lVar1 + 23000; plVar3[4] = lVar1 + 0x500; plVar3[3] = lVar1 + 0x1918; plVar3[2] = lVar1 + 0x24fe; plVar3[1] = lVar1 + 0x1ada; *plVar3 = lVar1 + 0x1917; plVar3[-1] = lVar1 + 0x811b; plVar3[-2] = lVar1 + -0x90e; /* WARNING: Could not recover jumptable at 0x000180a8c153. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(lVar1 + 0x534))(); return; } ############ FUN_ 180aa2ed0 size=1100 ############ /* WARNING: Removing unreachable block (ram,0x000180aa2fcc) */ /* WARNING: Removing unreachable block (ram,0x000180aa304c) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180aa2ed0(void) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; int iVar4; uint uVar5; uint uVar6; uint uVar7; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_1b8 [32]; undefined4 local_198; uint local_17c; uint local_150; uint local_14c; code *local_148 [23]; undefined8 local_90; ulonglong local_30; local_90 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_1b8; uVar6 = (uint)&stack0x00000000; iVar4 = (uVar6 & 0x49ff) * (uVar6 & 0x49ff) + 1; uVar5 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; local_14c = (int)((-uVar5 | uVar5) ^ 0xffffffff) >> 0x1f ^ 0xaa0; if (((((uVar6 & 0x29ff) + 1) * (uVar6 & 0x29ff) + 7) % 0x51 & 0x30) == 0) { uVar7 = ((uVar6 & 0x1dff) + 1) * (uVar6 & 0x1dff) + 0x2101 & 0x80000001; iVar4 = (uVar6 & 0x33ff) * (uVar6 & 0x33ff) + 1; uVar5 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; uVar5 = (int)((-uVar5 | uVar5) & (-uVar7 | uVar7)) >> 0x1f; local_150 = (int)(-uVar5 | uVar5) >> 0x1f & 0xfb62; } else { local_150 = 0xfb62; } if (((ulonglong)&stack0x00000000 & 0x178) == 0) { uVar5 = 0x8bfae62; } else { uVar5 = ((uVar6 & 0x15ff) + 1) * (uVar6 & 0x15ff) + 0x6539 & 0x80000001; } local_150 = (int)(-uVar5 | uVar5) >> 0x1f & 0xf7a2U ^ local_150; local_198 = 0xb3; do { uVar2 = rdtsc(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * 0x5bd1ae35; local_17c = (uVar5 >> 0x18 ^ uVar5) * -0x733200af; if (local_17c < 0x7fffffff) { do { local_148[0] = FUN_1813bba80; func_0x000180aa25ce(local_148,0x16c3); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (*local_148[0])(); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_18266f100) && (_Init_thread_header(&DAT_18266f100), DAT_18266f100 == -1)) { _DAT_18266f0f8 = (undefined8 *)FUN_1811316e0(0x18); if (_DAT_18266f0f8 == (undefined8 *)0x0) { _DAT_18266f0f8 = (undefined8 *)0x0; } else { *_DAT_18266f0f8 = 0; _DAT_18266f0f8[1] = 0; _DAT_18266f0f8[2] = 0; } _Init_thread_footer(&DAT_18266f100); } return; } ############ FUN_ 180aa5d60 size=214 ############ void FUN_180aa5d60(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsSignedInfo::targetSlowPath: The LsSignedInfoWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lssignedinfo.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180aa7c40 size=918 ############ /* WARNING: Removing unreachable block (ram,0x000180aa7cf9) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 FUN_180aa7c40(longlong param_1,undefined8 param_2,undefined8 param_3) { longlong lVar1; undefined8 uVar2; uint uVar3; undefined1 local_118 [40]; longlong local_f0; undefined4 local_d0 [4]; undefined4 local_c0; uint local_bc; longlong local_b8; char *local_90 [2]; undefined8 local_80; undefined8 local_70; undefined8 local_68; ulonglong local_48; local_68 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)local_118; local_c0 = 0xde0; if (((ulonglong)&stack0x00000000 & 0x1c0) == 0) { uVar3 = 0x22b2d85; } else { uVar3 = 1; } local_bc = ((int)(-uVar3 | uVar3) >> 0x1f) * -0xbcd9 ^ 0xb3a9; local_b8 = param_1; local_80 = param_3; local_70 = param_2; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_f0 = FUN_1811316e0(0x18); if (local_f0 != 0) { FUN_1805a48c0(local_f0,"LsObjectRelationVector<>::at: This one-to-one relation is empty."); } lVar1 = FUN_1805c0260(); local_d0[0] = 0x6e; local_90[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorsignedinfo.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),local_90); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_d0); } func_0x000180aa5f84(); /* WARNING: Call to offcut address within same function */ func_0x000180aa7e54(); return _DAT_4cc824648d48e717; } ############ FUN_ 180aadc90 size=214 ############ void FUN_180aadc90(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsSignature::targetSlowPath: The LsSignatureWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lssignature.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180ab3930 size=6594 ############ void FUN_180ab3930(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4, longlong param_5) { char *pcVar1; ulonglong _Size; void *pvVar2; bool bVar3; longlong *plVar4; char cVar5; int iVar6; undefined4 uVar7; longlong *plVar8; undefined8 uVar9; longlong *plVar10; undefined8 *puVar11; longlong lVar12; longlong *plVar13; undefined8 uVar14; longlong lVar15; undefined8 *puVar16; ulonglong *puVar17; undefined8 ****_Dst; void *pvVar18; undefined8 ****ppppuVar19; char *pcVar20; undefined1 *puVar21; longlong *plVar22; longlong *plVar23; ulonglong uVar24; undefined1 auStack_908 [32]; longlong **local_8e8; longlong *local_8e0; char local_8d8; longlong *local_8d0; undefined8 local_8c8; undefined8 local_8c0; longlong *local_8b8; undefined8 local_8b0; undefined8 local_8a8; longlong local_8a0; undefined8 local_898; undefined1 *local_890; int local_888 [2]; undefined4 local_880; longlong *local_878; longlong local_870; undefined8 *local_868; undefined8 *local_860; void *local_858; undefined8 local_850; longlong *local_848; longlong lStack_840; undefined4 local_838 [2]; undefined4 local_830 [4]; undefined4 local_820 [2]; undefined4 local_818 [8]; undefined4 local_7f8 [2]; undefined4 local_7f0 [2]; undefined4 local_7e8 [4]; longlong local_7d8; char *local_7d0; longlong lStack_7c8; longlong local_7c0; longlong *local_7b8 [2]; undefined1 *local_7a8; longlong local_7a0 [5]; longlong *local_778; longlong lStack_770; longlong *local_768; longlong alStack_760 [2]; char *local_750 [2]; char *local_740; char *local_738 [2]; undefined8 local_728 [2]; undefined8 local_718; undefined8 local_710; char *local_708; longlong local_700; char *local_6f8; ulonglong local_6f0; ulonglong local_6e8; undefined1 local_6e0 [8]; undefined1 local_6d8 [16]; longlong *local_6c8; undefined8 uStack_6c0; longlong *local_6b8; longlong lStack_6b0; longlong *local_6a8; undefined8 uStack_6a0; void *local_698 [2]; longlong local_688; undefined1 *local_680; longlong local_678; longlong local_670; longlong local_668; longlong local_660 [3]; longlong *local_648; longlong lStack_640; undefined1 local_638 [16]; undefined8 local_628; undefined8 local_620; undefined1 local_618 [16]; undefined8 local_608; undefined8 local_600; undefined1 local_5b8 [16]; undefined8 local_5a8; undefined8 local_5a0; undefined1 local_558 [16]; undefined8 local_548; undefined8 local_540; undefined1 local_4f8 [16]; undefined8 local_4e8; undefined8 local_4e0; undefined1 local_4d8 [16]; undefined8 local_4c8; undefined8 local_4c0; undefined1 local_4b8 [16]; undefined8 local_4a8; undefined8 local_4a0; undefined1 local_498 [16]; undefined8 local_488; undefined8 local_480; undefined1 local_478 [16]; undefined8 local_468; undefined8 local_460; undefined1 local_458 [16]; undefined8 local_448; undefined8 local_440; undefined1 local_438 [16]; undefined1 local_428 [8]; undefined1 local_420 [24]; undefined1 local_408 [8]; undefined1 local_400 [8]; undefined1 local_3f8 [8]; undefined1 local_3f0 [16]; undefined1 local_3e0 [8]; undefined1 local_3d8 [8]; undefined8 local_3d0; undefined1 local_3c8 [8]; undefined1 local_3c0 [8]; undefined1 local_3b8 [40]; undefined1 local_390 [40]; undefined1 local_368 [32]; undefined8 local_348; undefined8 ***local_340; undefined8 uStack_338; ulonglong local_330; ulonglong local_328; undefined1 local_320; undefined7 uStack_31f; ulonglong local_310; ulonglong local_308; undefined1 local_300; undefined7 uStack_2ff; ulonglong local_2f0; ulonglong local_2e8; undefined1 local_2a0; undefined7 uStack_29f; undefined8 local_290; ulonglong local_288; undefined1 local_280; undefined7 uStack_27f; undefined8 local_270; ulonglong local_268; undefined1 local_260; undefined7 uStack_25f; undefined8 local_250; ulonglong local_248; undefined1 local_240 [16]; undefined8 local_230; undefined8 local_228; undefined1 local_220; undefined7 uStack_21f; undefined8 local_210; ulonglong local_208; undefined1 local_200; undefined7 uStack_1ff; undefined8 local_1f0; ulonglong local_1e8; undefined1 local_1e0; undefined7 uStack_1df; undefined8 local_1d0; ulonglong local_1c8; undefined1 local_1c0; undefined7 uStack_1bf; undefined8 local_1b0; ulonglong local_1a8; undefined1 local_140; undefined7 uStack_13f; undefined8 local_130; ulonglong local_128; undefined1 local_120 [32]; undefined1 local_100; undefined7 uStack_ff; undefined8 local_f0; ulonglong local_e8; void *local_e0 [3]; ulonglong local_c8; undefined1 local_c0 [64]; undefined1 local_80 [56]; ulonglong local_48; local_3d0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_908; local_870 = param_5; plVar13 = (longlong *)0x0; local_880 = 0; local_8c8 = param_3; local_8c0 = param_4; local_8b0 = param_3; local_868 = param_1; local_860 = param_1; local_348 = param_4; if (param_2 == 0) { local_8d0 = (longlong *)FUN_1811316e0(0x18); if (local_8d0 != (longlong *)0x0) { FUN_1805a48c0(local_8d0,"The LsSignature pointer (pSignature) is Null."); } plVar8 = (longlong *)FUN_1811316e0(0x18); local_8d0 = plVar8; if (plVar8 != (longlong *)0x0) { FUN_1805a48c0(plVar8,"|__FILE__|%s|__LINE__|%d"); *plVar8 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar13 = plVar8; } local_838[0] = 0x44; local_750[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\dsigsignatureverifier.cpp" ; uVar9 = FUN_1805a21d0(plVar13[1],local_750); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_838); } local_8d8 = 0; local_888[0] = 0; local_7f8[0] = 0; local_8a0 = 0; local_898 = 0; local_8a0 = FUN_1805bbda0(&local_8a0); local_858 = (void *)0x0; local_850 = 0; local_858 = (void *)FUN_1805bbda0(&local_858); local_830[0] = 1; local_878 = (longlong *)0x0; plVar8 = plVar13; plVar22 = plVar13; plVar23 = plVar13; do { local_8b8 = plVar8; if (plVar8 == (longlong *)0x0) { plVar23 = (longlong *)0x1; plVar10 = (longlong *)FUN_180aab0f0(param_2,local_3c8); if ((longlong *)((*(longlong **)(*plVar10 + 8))[1] - **(longlong **)(*plVar10 + 8) >> 5) <= plVar22) goto LAB_180ab3b13; bVar3 = true; } else { LAB_180ab3b13: bVar3 = false; } if (plVar23 != (longlong *)0x0) { plVar23 = (longlong *)0x0; } if (!bVar3) break; puVar11 = (undefined8 *)FUN_180aab0f0(param_2,local_3c0); FUN_180aa7c40(*puVar11,local_7b8,plVar22); plVar10 = local_7b8[0]; lVar12 = FUN_180870eb0(local_7b8[0]); FUN_18080ca00(plVar10,*(undefined1 *)(lVar12 + 0x183),"canonicalVersion"); lVar12 = FUN_180870eb0(plVar10); if (*(int *)(lVar12 + 0x30) == 1) { plVar8 = local_7b8[0]; } plVar22 = (longlong *)((longlong)plVar22 + 1); } while( true ); local_878 = plVar8; if (plVar8 == (longlong *)0x0) { local_8d0 = (longlong *)FUN_1811316e0(0x18); if (local_8d0 != (longlong *)0x0) { plVar13 = (longlong *) FUN_1805a48c0(local_8d0, "Could not find a LsSignedDigest.canonicalVersion match for any schema version number between %d and 1 for the object with selfRelation value %s and uuid value: %s." ); } plVar8 = (longlong *)FUN_1811316e0(0x18); if (plVar8 != (longlong *)0x0) { local_8d0 = plVar8; FUN_1805a48c0(plVar8,"|__FILE__|%s|__LINE__|%d"); *plVar8 = (longlong)pace::PaceLocationInfoFormatter::vftable; } local_8d0 = (longlong *)local_558; local_890 = local_618; local_548 = 0; local_540 = 0xf; local_558[0] = 0; FUN_1805a6cb0(local_558,&DAT_181bb56a0,2); local_608 = 0; local_600 = 0xf; local_618[0] = 0; FUN_1805a6cb0(local_618,&DAT_181bb1ed8,1); local_230 = 0; local_228 = 0xf; local_240[0] = 0; FUN_1805a6cb0(local_240,&DAT_181bdf740,1); local_8e8 = (longlong **)local_558; FUN_18080c630(local_120,local_8c8,local_240,local_618); /* WARNING: Subroutine does not return */ FUN_1805b20d0(plVar13[1],local_830); } plVar22 = (longlong *)FUN_180a8ff50(plVar8,local_438); if (**(longlong **)(*plVar22 + 8) == (*(longlong **)(*plVar22 + 8))[1]) { local_8d0 = (longlong *)FUN_1811316e0(0x18); plVar22 = plVar13; if (local_8d0 != (longlong *)0x0) { plVar22 = (longlong *) FUN_1805a48c0(local_8d0, "The LsSignedInfo objecy with uuid value %s does not have any LsSignedDigest objects in its digests relationship. Detected while attempting to verify the signature on the object with selfRelation value %s and uuid value: %s." ); } plVar23 = (longlong *)FUN_1811316e0(0x18); if (plVar23 != (longlong *)0x0) { local_8d0 = plVar23; FUN_1805a48c0(plVar23,"|__FILE__|%s|__LINE__|%d"); *plVar23 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar13 = plVar23; } local_8d0 = (longlong *)local_638; local_890 = local_4b8; local_628 = 0; local_620 = 0xf; local_638[0] = 0; FUN_1805a6cb0(local_638,&DAT_181bb56a0,2); local_4a8 = 0; local_4a0 = 0xf; local_4b8[0] = 0; FUN_1805a6cb0(local_4b8,&DAT_181bb1ed8,1); local_290 = 0; local_288 = 0xf; local_2a0 = 0; FUN_1805a6cb0(&local_2a0,&DAT_181bdf740,1); local_8e8 = (longlong **)local_638; uVar9 = FUN_18080c630(&local_1e0,local_8c8,&local_2a0,local_4b8); uVar14 = (**(code **)(*plVar8 + 0x40))(plVar8); FUN_1805b2240(plVar22[1],uVar14); FUN_1805b2240(plVar22[1],uVar9); FUN_1805b2240(plVar22[1],local_8c0); if (0xf < local_1c8) { pvVar2 = (void *)CONCAT71(uStack_1df,local_1e0); pvVar18 = pvVar2; if ((0xfff < local_1c8 + 1) && (pvVar18 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_1d0 = 0; local_1c8 = 0xf; local_1e0 = 0; if (local_288 < 0x10) { local_820[0] = 0x7e; local_740 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\dsigsignatureverifier.cpp" ; uVar9 = FUN_1805a21d0(plVar13[1],&local_740); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_820); } pvVar2 = (void *)CONCAT71(uStack_29f,local_2a0); pvVar18 = pvVar2; if ((0xfff < local_288 + 1) && (pvVar18 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } lVar12 = FUN_180870eb0(plVar8); FUN_18080ca00(plVar8,*(undefined1 *)(lVar12 + 0x18a),"signerSerialNumber"); lVar12 = FUN_180870eb0(plVar8); FUN_1805a4070(local_c0,lVar12 + 0xf8); local_7d8 = 0; uVar9 = FUN_1805a4070(local_368,local_c0); puVar11 = local_868; (*(code *)local_868[2])(*local_868,uVar9,&local_7d8); uVar9 = local_8c8; if (local_7d8 == 0) { local_8d0 = (longlong *)FUN_1811316e0(0x18); plVar8 = plVar13; if (local_8d0 != (longlong *)0x0) { plVar8 = (longlong *) FUN_1805a48c0(local_8d0, "The LsCertificateChain used to sign the object with selfRelation %s and uuid %s is not in the LsObjectCache, and could not be queried from the database." ); } plVar22 = (longlong *)FUN_1811316e0(0x18); if (plVar22 != (longlong *)0x0) { local_8d0 = plVar22; FUN_1805a48c0(plVar22,"|__FILE__|%s|__LINE__|%d"); *plVar22 = (longlong)pace::PaceLocationInfoFormatter::vftable; plVar13 = plVar22; } local_8d0 = (longlong *)local_4f8; local_890 = local_5b8; local_4e8 = 0; local_4e0 = 0xf; local_4f8[0] = 0; FUN_1805a6cb0(local_4f8,&DAT_181bb56a0,2); local_5a8 = 0; local_5a0 = 0xf; local_5b8[0] = 0; FUN_1805a6cb0(local_5b8,&DAT_181bb1ed8,1); local_250 = 0; local_248 = 0xf; local_260 = 0; FUN_1805a6cb0(&local_260,&DAT_181bdf740,1); local_8e8 = (longlong **)local_4f8; uVar9 = FUN_18080c630(&local_1c0,local_8c8,&local_260,local_5b8); FUN_1805b2240(plVar8[1],uVar9); FUN_1805b2240(plVar8[1],local_8c0); if (0xf < local_1a8) { pvVar2 = (void *)CONCAT71(uStack_1bf,local_1c0); pvVar18 = pvVar2; if ((0xfff < local_1a8 + 1) && (pvVar18 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_1b0 = 0; local_1a8 = 0xf; local_1c0 = 0; if (local_248 < 0x10) { local_818[0] = 0x8d; local_738[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\dsigsignatureverifier.cpp" ; uVar9 = FUN_1805a21d0(plVar13[1],local_738); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_818); } pvVar2 = (void *)CONCAT71(uStack_25f,local_260); pvVar18 = pvVar2; if ((0xfff < local_248 + 1) && (pvVar18 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_6a8 = (longlong *)0x0; uStack_6a0 = 0; lVar12 = FUN_180870eb0(plVar8); FUN_18080ca00(plVar8,*(undefined1 *)(lVar12 + 0x188),"signatureMethod"); lVar12 = FUN_180870eb0(plVar8); FUN_1805a4070(local_e0,lVar12 + 0xb8); lVar12 = FUN_180870eb0(plVar8); FUN_18080ca00(plVar8,*(undefined1 *)(lVar12 + 0x187),"pkStandardName"); lVar12 = FUN_180870eb0(plVar8); FUN_1805a4070(&local_280,lVar12 + 0x98); lVar12 = local_7d8; lVar15 = FUN_180a38ad0(local_7d8); FUN_18080ca00(lVar12,*(undefined1 *)(lVar15 + 0x16b),&DAT_181bcc330); lVar12 = FUN_180a38ad0(lVar12); FUN_1805b46a0(local_698,lVar12 + 0x50); local_8d0 = (longlong *)FUN_1811316e0(0xb08); plVar22 = plVar13; if (local_8d0 != (longlong *)0x0) { local_8e0 = (longlong *)CONCAT44(local_8e0._4_4_,2); local_8e8 = (longlong **)0x0; plVar22 = (longlong *)FUN_180714b40(local_8d0,local_e0,&local_280,local_698); } local_6c8 = plVar22; FUN_180621520(&uStack_6c0,plVar22); FUN_1805ae620(&local_6c8,plVar22,plVar22); local_6a8 = local_6c8; uStack_6a0 = uStack_6c0; FUN_180719a10(local_6c8,0,0); lVar12 = local_870; if (local_698[0] != (void *)0x0) { pvVar18 = local_698[0]; if ((0xfff < (ulonglong)(local_688 - (longlong)local_698[0])) && (pvVar18 = *(void **)((longlong)local_698[0] + -8), 0x1f < (ulonglong)((longlong)local_698[0] + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } if (0xf < local_268) { pvVar2 = (void *)CONCAT71(uStack_27f,local_280); pvVar18 = pvVar2; if ((0xfff < local_268 + 1) && (pvVar18 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_270 = 0; local_268 = 0xf; local_280 = 0; if (0xf < local_c8) { pvVar18 = local_e0[0]; if ((0xfff < local_c8 + 1) && (pvVar18 = *(void **)((longlong)local_e0[0] + -8), 0x1f < (ulonglong)((longlong)local_e0[0] + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_768 = (longlong *)0x0; alStack_760[0] = 0; puVar16 = (undefined8 *)FUN_180a8ff50(plVar8,&local_680); FUN_180b74750(*puVar16,local_728,0); lVar15 = FUN_180870eb0(plVar8); FUN_18080ca00(plVar8,*(undefined1 *)(lVar15 + 0x183),"canonicalVersion"); lVar15 = FUN_180870eb0(plVar8); FUN_180a42ab0(local_3b8,*(undefined4 *)(lVar15 + 0x30)); (*(code *)puVar11[1])(*puVar11,local_3b8); plVar23 = (longlong *)FUN_1811316e0(0x178); plVar22 = plVar13; local_8d0 = plVar23; if (plVar23 != (longlong *)0x0) { lVar15 = FUN_180b5f600(local_728[0]); FUN_18080ca00(local_728[0],*(undefined1 *)(lVar15 + 0x103),"digestMethod"); lVar15 = FUN_180b5f600(local_728[0]); plVar22 = (longlong *)FUN_18060f490(plVar23,lVar15 + 0x30); } local_6b8 = plVar22; FUN_180a422d0(&lStack_6b0,plVar22); FUN_1805ae620(&local_6b8,plVar22,plVar22); local_768 = local_6b8; alStack_760[0] = lStack_6b0; local_718 = 0; local_648 = local_6b8; lStack_640 = lStack_6b0; if (lStack_6b0 != 0) { LOCK(); *(int *)(lStack_6b0 + 8) = *(int *)(lStack_6b0 + 8) + 1; UNLOCK(); } local_8e0 = &local_718; local_8e8 = &local_648; FUN_180a49360(local_3b8,uVar9,local_888,&local_8a0); if (lVar12 != 0) { if (local_888[0] != 0) { *(int *)(lVar12 + 0x18) = local_888[0]; } plVar22 = (longlong *)(lVar12 + 0x20); if (plVar22 != &local_8a0) { FUN_1805bcdc0(plVar22); lVar15 = *plVar22; uVar14 = FUN_1805af810(plVar22,*(undefined8 *)(local_8a0 + 8),lVar15,local_8d8); *(undefined8 *)(lVar15 + 8) = uVar14; *(undefined8 *)(lVar12 + 0x28) = local_898; plVar23 = (longlong *)*plVar22; plVar10 = (longlong *)plVar23[1]; if (*(char *)((longlong)plVar10 + 0x19) == '\0') { cVar5 = *(char *)(*plVar10 + 0x19); plVar4 = (longlong *)*plVar10; while (cVar5 == '\0') { cVar5 = *(char *)(*plVar4 + 0x19); plVar10 = plVar4; plVar4 = (longlong *)*plVar4; } *plVar23 = (longlong)plVar10; lVar12 = *(longlong *)(*plVar22 + 8); lVar15 = *(longlong *)(lVar12 + 0x10); cVar5 = *(char *)(lVar15 + 0x19); while (cVar5 == '\0') { cVar5 = *(char *)(*(longlong *)(lVar15 + 0x10) + 0x19); lVar12 = lVar15; lVar15 = *(longlong *)(lVar15 + 0x10); } *(longlong *)(*plVar22 + 0x10) = lVar12; } else { *plVar23 = (longlong)plVar23; *(longlong *)(*plVar22 + 0x10) = *plVar22; } } } FUN_180a454f0(local_3b8); local_778 = (longlong *)0x0; lStack_770 = 0; plVar23 = (longlong *)FUN_1811316e0(0x178); plVar22 = plVar13; local_848 = plVar23; if (plVar23 != (longlong *)0x0) { lVar12 = FUN_180870eb0(plVar8); FUN_18080ca00(plVar8,*(undefined1 *)(lVar12 + 0x184),"digestMethod"); lVar12 = FUN_180870eb0(plVar8); plVar22 = (longlong *)FUN_18060f490(plVar23,lVar12 + 0x38); } FUN_180ab18a0(&local_778,plVar22); uVar14 = local_8c0; lVar12 = FUN_180870eb0(plVar8); FUN_18080ca00(plVar8,*(undefined1 *)(lVar12 + 0x183),"canonicalVersion"); lVar12 = FUN_180870eb0(plVar8); FUN_180a42ab0(local_390,*(undefined4 *)(lVar12 + 0x30)); FUN_180a8ef20(plVar8,local_390); local_710 = 0; local_848 = local_778; lStack_840 = lStack_770; if (lStack_770 != 0) { LOCK(); *(int *)(lStack_770 + 8) = *(int *)(lStack_770 + 8) + 1; UNLOCK(); } local_8e0 = &local_710; local_8e8 = &local_848; FUN_180a49360(local_390,uVar9,local_7f8,&local_858); local_660[0] = 0; local_660[1] = 0; local_660[2] = 0; local_7a0[0] = 0; local_7a0[1] = 0; local_7a0[2] = 0; cVar5 = FUN_180aa0910(plVar8); if (cVar5 == '\0') { local_848 = (longlong *)FUN_1811316e0(0x18); if (local_848 != (longlong *)0x0) { plVar13 = (longlong *) FUN_1805a48c0(local_848, "LsSignedInfo.signatureValues not populated for the object with selfRelation %s and uuid %s." ); } lVar12 = FUN_1805c0260(); local_848 = (longlong *)local_4d8; local_680 = local_498; local_4c8 = 0; local_4c0 = 0xf; local_4d8[0] = 0; FUN_1805a6cb0(local_4d8,&DAT_181bb56a0,2); local_488 = 0; local_480 = 0xf; local_498[0] = 0; FUN_1805a6cb0(local_498,&DAT_181bb1ed8,1); local_1f0 = 0; local_1e8 = 0xf; local_200 = 0; FUN_1805a6cb0(&local_200,&DAT_181bdf740,1); local_8e8 = (longlong **)local_4d8; uVar9 = FUN_18080c630(&local_140,uVar9,&local_200,local_498); FUN_1805b2240(plVar13[1],uVar9); FUN_1805b2240(plVar13[1],uVar14); if (0xf < local_128) { pvVar2 = (void *)CONCAT71(uStack_13f,local_140); pvVar18 = pvVar2; if ((0xfff < local_128 + 1) && (pvVar18 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_130 = 0; local_128 = 0xf; local_140 = 0; if (local_1e8 < 0x10) { local_7f0[0] = 0xff; local_708 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\dsigsignatureverifier.cpp" ; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&local_708); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_7f0); } pvVar2 = (void *)CONCAT71(uStack_1ff,local_200); pvVar18 = pvVar2; if ((0xfff < local_1e8 + 1) && (pvVar18 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } FUN_180a91180(plVar8,&local_8a8); plVar22 = (longlong *)FUN_180b65780(local_8a8,&local_7a8); if ((*(longlong **)(*plVar22 + 8))[1] - **(longlong **)(*plVar22 + 8) >> 5 != 2) { local_7a8 = (undefined1 *)FUN_1811316e0(0x18); if (local_7a8 != (undefined1 *)0x0) { plVar13 = (longlong *) FUN_1805a48c0(local_7a8, "Wrong number of signature data values for the object with selfRelation %s and uuid %s. Expected 2, saw %d." ); } lVar12 = FUN_1805c0260(); plVar8 = (longlong *)FUN_180b65780(local_8a8,local_420); local_700 = (*(longlong **)(*plVar8 + 8))[1] - **(longlong **)(*plVar8 + 8) >> 5; local_7a8 = local_478; local_848 = (longlong *)local_458; local_468 = 0; local_460 = 0xf; local_478[0] = 0; FUN_1805a6cb0(local_478,&DAT_181bb56a0,2); local_448 = 0; local_440 = 0xf; local_458[0] = 0; FUN_1805a6cb0(local_458,&DAT_181bb1ed8,1); local_210 = 0; local_208 = 0xf; local_220 = 0; FUN_1805a6cb0(&local_220,&DAT_181bdf740,1); local_8e8 = (longlong **)local_478; uVar9 = FUN_18080c630(&local_100,uVar9,&local_220,local_458); FUN_1805b2240(plVar13[1],uVar9); FUN_1805b2240(plVar13[1],uVar14); FUN_1805b2520(plVar13[1],&local_700); if (0xf < local_e8) { pvVar2 = (void *)CONCAT71(uStack_ff,local_100); pvVar18 = pvVar2; if ((0xfff < local_e8 + 1) && (pvVar18 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } local_f0 = 0; local_e8 = 0xf; local_100 = 0; if (local_208 < 0x10) { local_7e8[0] = 0x107; local_6f8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\liblicenseservices\\dsigsignatureverifier.cpp" ; uVar9 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&local_6f8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_7e8); } pvVar2 = (void *)CONCAT71(uStack_21f,local_220); pvVar18 = pvVar2; if ((0xfff < local_208 + 1) && (pvVar18 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } plVar22 = (longlong *)FUN_180b65780(local_8a8,local_6e0); if ((*(longlong **)(*plVar22 + 8))[1] - **(longlong **)(*plVar22 + 8) >> 5 != 0) { do { puVar11 = (undefined8 *)FUN_180b65780(local_8a8,local_3d8); puVar11 = (undefined8 *)FUN_180b713f0(*puVar11,local_3f0,plVar13); uVar9 = *puVar11; lVar12 = FUN_180b631b0(uVar9); FUN_18080ca00(uVar9,*(undefined1 *)(lVar12 + 0x143),&DAT_181bcce70); lVar12 = FUN_180b631b0(uVar9); puVar11 = (undefined8 *)(lVar12 + 0x50); _Size = *(ulonglong *)(lVar12 + 0x60); if (0xf < *(ulonglong *)(lVar12 + 0x68)) { puVar11 = (undefined8 *)*puVar11; } if (_Size < 0x10) { _Dst = (undefined8 ****)*puVar11; uStack_338 = puVar11[1]; uVar24 = 0xf; local_340 = _Dst; } else { local_6f0 = 0x7fffffffffffffff; local_6e8 = _Size | 0xf; puVar17 = &local_6f0; if ((_Size | 0xf) < 0x8000000000000000) { puVar17 = &local_6e8; } uVar24 = *puVar17; _Dst = (undefined8 ****)FUN_1805c7ba0(&local_340,uVar24 + 1); local_340 = _Dst; memcpy(_Dst,puVar11,_Size + 1); } local_2f0 = 0; local_2e8 = 0xf; local_300 = 0; local_330 = _Size; local_328 = uVar24; FUN_1805a6cb0(&local_300,"RData",5); puVar21 = &local_300; if (0xf < local_2e8) { puVar21 = (undefined1 *)CONCAT71(uStack_2ff,local_300); } ppppuVar19 = &local_340; if (0xf < uVar24) { ppppuVar19 = _Dst; } if ((_Size == local_2f0) && (iVar6 = memcmp(ppppuVar19,puVar21,_Size), iVar6 == 0)) { bVar3 = true; } else { bVar3 = false; } FUN_180485450(&local_300); if (bVar3) { puVar11 = (undefined8 *)FUN_180b65780(local_8a8,local_408); puVar11 = (undefined8 *)FUN_180b713f0(*puVar11,local_400,plVar13); uVar9 = *puVar11; lVar12 = FUN_180b631b0(uVar9); FUN_18080ca00(uVar9,*(undefined1 *)(lVar12 + 0x146),"valueBinary"); lVar12 = FUN_180b631b0(uVar9); plVar8 = local_660; LAB_180ab51fc: FUN_1805b9910(plVar8,lVar12 + 0xb0); } else { local_310 = 0; local_308 = 0xf; local_320 = 0; FUN_1805a6cb0(&local_320,"SData",5); puVar21 = &local_320; if (0xf < local_308) { puVar21 = (undefined1 *)CONCAT71(uStack_31f,local_320); } ppppuVar19 = &local_340; if (0xf < uVar24) { ppppuVar19 = _Dst; } if ((_Size == local_310) && (iVar6 = memcmp(ppppuVar19,puVar21,_Size), iVar6 == 0)) { bVar3 = true; } else { bVar3 = false; } FUN_180485450(&local_320); if (bVar3) { puVar11 = (undefined8 *)FUN_180b65780(local_8a8,local_3f8); puVar11 = (undefined8 *)FUN_180b713f0(*puVar11,local_3e0,plVar13); uVar9 = *puVar11; lVar12 = FUN_180b631b0(uVar9); FUN_18080ca00(uVar9,*(undefined1 *)(lVar12 + 0x146),"valueBinary"); lVar12 = FUN_180b631b0(uVar9); plVar8 = local_7a0; goto LAB_180ab51fc; } } FUN_180485450(&local_340); plVar13 = (longlong *)((longlong)plVar13 + 1); plVar22 = (longlong *)FUN_180b65780(local_8a8,local_6e0); plVar8 = local_878; } while (plVar13 < (longlong *) ((*(longlong **)(*plVar22 + 8))[1] - **(longlong **)(*plVar22 + 8) >> 5)); } lVar12 = FUN_180870eb0(plVar8); FUN_18080ca00(plVar8,*(undefined1 *)(lVar12 + 0x189),"signedDate"); lVar12 = FUN_180870eb0(plVar8); FUN_180660c00(local_6d8,lVar12 + 0xd8,0); plVar13 = local_6a8; uVar7 = (**(code **)(local_6a8[1] + 0x28))(); (**(code **)(*local_778 + 0x40))(local_778,uVar7,0,local_80); lVar12 = local_870; if (local_870 != 0) { uVar7 = FUN_1807163d0(plVar13); *(undefined4 *)(lVar12 + 0x1c) = uVar7; } local_8e0 = &local_8a0; local_8e8 = (longlong **)local_6d8; local_8d8 = FUN_18071b1b0(plVar13,local_80,local_660,local_7a0); if (local_8d8 != '\0') { puVar11 = (undefined8 *)FUN_180a8ff50(plVar8,local_428); FUN_180b74750(*puVar11,&local_8d0,0); plVar13 = local_768; local_7d0 = (char *)0x0; lStack_7c8 = 0; local_7c0 = 0; uVar7 = FUN_180614890((int)local_768[1]); FUN_1805b1330(&local_7d0,uVar7,&local_7d0); (**(code **)(*plVar13 + 0x40))(plVar13,0,local_7d0,0); plVar13 = local_8d0; lVar12 = FUN_180b5f600(local_8d0); FUN_18080ca00(plVar13,*(undefined1 *)(lVar12 + 0x104),"digestValue"); lVar12 = FUN_180b5f600(plVar13); FUN_1805b46a0(&local_678,lVar12 + 0x50); if (lStack_7c8 - (longlong)local_7d0 == local_670 - local_678) { pcVar20 = local_7d0; do { if ((ulonglong)(lStack_7c8 - (longlong)local_7d0) <= (ulonglong)((longlong)pcVar20 - (longlong)local_7d0)) break; pcVar1 = pcVar20 + (local_678 - (longlong)local_7d0); cVar5 = *pcVar20; pcVar20 = pcVar20 + 1; } while (cVar5 == *pcVar1); } if (local_678 != 0) { FUN_1805a7bf0(&local_678,local_678,local_668 - local_678); } if (local_7d0 != (char *)0x0) { FUN_1805a7bf0(&local_7d0,local_7d0,local_7c0 - (longlong)local_7d0); } } if (local_7a0[0] != 0) { FUN_1805a7bf0(local_7a0,local_7a0[0],local_7a0[2] - local_7a0[0]); local_7a0[0] = 0; local_7a0[1] = 0; local_7a0[2] = 0; } FUN_180575ed0(local_660); FUN_180a454f0(local_390); FUN_1805b9860(&lStack_770); FUN_1805b9860(alStack_760); FUN_1805b9860(&uStack_6a0); FUN_180485450(local_c0); FUN_1805bcdc0(&local_858); /* WARNING: Subroutine does not return */ free(local_858); } ############ FUN_ 180b713f0 size=1076 ############ /* WARNING: Instruction at (ram,0x000180b7159c) overlaps instruction at (ram,0x000180b7159a) */ /* WARNING: Removing unreachable block (ram,0x000180b7149b) */ /* WARNING: Removing unreachable block (ram,0x000180b71453) */ uint FUN_180b713f0(longlong param_1) { longlong lVar1; undefined8 uVar2; uint uVar3; int unaff_retaddr; undefined4 local_98 [2]; undefined8 local_90; longlong local_88; undefined4 local_78; undefined4 local_74; char *local_50 [2]; undefined8 local_40; local_40 = 0xfffffffffffffffe; local_78 = 0xd30; local_74 = 0xd10; do { func_0x000180b72ac9(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_88 = FUN_1811316e0(0x18); if (local_88 == 0) { local_90 = 0; } else { local_90 = FUN_1805a48c0(local_88, "LsObjectRelationVector<>::at: This one-to-one relation is empty."); } lVar1 = FUN_1805c0260(); local_98[0] = 0x6e; local_50[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorarrayentry.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),local_50); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_98); } FUN_180b7087d(); /* WARNING: Call to offcut address within same function */ uVar3 = func_0x000180b716f7(); return uVar3 ^ 0x5c418a1f; } ############ FUN_ 180b74750 size=2953 ############ /* WARNING: Instruction at (ram,0x000180b74d25) overlaps instruction at (ram,0x000180b74d24) */ /* WARNING: Removing unreachable block (ram,0x000180b74b80) */ /* WARNING: Removing unreachable block (ram,0x000180b748e0) */ /* WARNING: Removing unreachable block (ram,0x000180b74b58) */ /* WARNING: Removing unreachable block (ram,0x000180b74d24) */ /* WARNING: Removing unreachable block (ram,0x000180b747bc) */ void FUN_180b74750(longlong param_1,undefined8 param_2,ulonglong param_3) { longlong lVar1; undefined8 uVar2; byte bVar3; uint uVar4; uint uVar5; int iVar6; longlong lVar7; ulonglong uVar8; uint uVar9; int unaff_retaddr; ulonglong local_res18; undefined8 local_res20; char *local_c8; undefined4 local_c0 [2]; longlong local_b8; undefined4 *local_a8; undefined4 local_a0 [2]; uint local_98; uint local_94; char *local_90; undefined **local_88; undefined4 local_80; undefined8 local_78; undefined2 local_70; char *local_68; longlong local_60 [4]; local_60[1] = 0xfffffffffffffffe; uVar5 = (uint)&stack0x00000000; uVar4 = uVar5 & 0x1ff; iVar6 = (uVar4 + 2) * (uVar4 + 1) * uVar4; uVar9 = ((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e ^ (uVar4 * uVar4 * 0x10 + 4) % 0x13; uVar4 = ((uVar5 & 0x39ff) + 1) * (uVar5 & 0x39ff) + 7; local_98 = 0x7d81U - (0 >> ((char)uVar4 + (char)(uVar4 / 0x51) * -0x51 & 0x1fU)) ^ ((int)(-uVar9 | uVar9) >> 0x1f) * -0x7c71; if (((((uVar5 & 0x3dff) + 1) * (uVar5 & 0x3dff) + 7) % 0x51 & 0x520) == 0) { uVar5 = uVar5 & 0x3bf; iVar6 = (uVar5 + 2) * (uVar5 + 1) * uVar5; bVar3 = (byte)(((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e); } else { bVar3 = 0; } local_94 = 0x4b88 << (bVar3 & 0x1f) ^ 0x4398; local_a8 = &DAT_1814412c0; local_b8 = CONCAT44(local_b8._4_4_,0x6c88c348); local_res20 = 0xcc9e2d51; local_res18 = param_3; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_68 = (char *)FUN_1811316e0(0x18); if (local_68 != (char *)0x0) { FUN_1805a48c0(local_68,"LsObjectRelationVector<>::at: This one-to-one relation is empty."); } lVar1 = FUN_1805c0260(); local_c0[0] = 0x6e; local_68 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorsigneddigest.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),&local_68); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_c0); } uVar4 = (DAT_1814412c0 * 0x16a88000 | (uint)(DAT_1814412c0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0xff249fbf; uVar4 = (DAT_1814412c4 * 0x16a88000 | (uint)(DAT_1814412c4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar5 = uVar4 & 0xff; iVar6 = (uVar5 + 2) * (uVar5 + 1) * uVar5; if ((((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e & 0x1f00U) == 0) { iVar6 = 0x9556 - (((uVar4 & 0x3dff) + 1) * (uVar4 & 0x3dff) & 0x80000001); } else { iVar6 = 0x9556; } uVar8 = ((longlong)(int)(((uVar4 & 0x30ff) + 1) * (uVar4 & 0x30ff) & 0x80000001) | 0x9516U) ^ (longlong)iVar6; uVar4 = (*(int *)(&DAT_181441288 + uVar8) * 0x16a88000 | (uint)(*(int *)(&DAT_181441288 + uVar8) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar4; do { /* WARNING: Call to offcut address within same function */ func_0x000180b74f59(); FUN_180b763e6(); /* WARNING: Call to offcut address within same function */ func_0x000180b749ab(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = (*(int *)(&DAT_18144128c + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_18144128c + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_181441290 + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_181441290 + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_181441294 + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_181441294 + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_181441298 + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_181441298 + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_18144129c + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_18144129c + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412a0 + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_1814412a0 + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412a4 + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_1814412a4 + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412a8 + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_1814412a8 + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412ac + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_1814412ac + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412b0 + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_1814412b0 + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_a8 = (undefined4 *)0xc6436f12696cb4cf; local_c0[0] = 0x696cb4cf; uVar4 = (*(int *)(&DAT_1814412b4 + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_1814412b4 + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412b8 + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_1814412b8 + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; do { FUN_180b74596(); FUN_180b7bde2(); /* WARNING: Call to offcut address within same function */ func_0x000180b749ab(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); iVar6 = (int)local_res20; uVar4 = (*(int *)(&DAT_1814412bc + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&DAT_1814412bc + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar5 = *(int *)((longlong)&DAT_1814412c0 + uVar8) * (int)local_res20; uVar4 = (uVar5 * 0x8000 | uVar5 >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar5 = *(int *)((longlong)&DAT_1814412c4 + uVar8) * (int)local_res20; uVar4 = (uVar5 * 0x8000 | uVar5 >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; do { FUN_180b72ef1(); FUN_180b7537d(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5) <= local_res18) { local_90 = (char *)FUN_1811316e0(0x18); if (local_90 == (char *)0x0) { local_b8 = 0; } else { local_b8 = FUN_1805a48c0(local_90, "LsObjectRelationVector<>::at: Index is out of range. This object relation vector contains %u entries and the supplied index value was %u" ); } local_c8 = (char *)FUN_1811316e0(0x18); local_90 = local_c8; if (local_c8 == (char *)0x0) { local_c8 = (char *)0x0; } else { FUN_1805a48c0(local_c8,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)local_c8 = pace::PaceLocationInfoFormatter::vftable; } local_60[0] = (*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5; FUN_1805b2520(*(undefined8 *)(local_b8 + 8),local_60); FUN_1805b2520(*(undefined8 *)(local_b8 + 8),&local_res18); local_a0[0] = 0x70; local_90 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorsigneddigest.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(local_c8 + 8),&local_90); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_a0); } lVar1 = **(longlong **)(param_1 + 8); if (local_res18 < (ulonglong)((*(longlong **)(param_1 + 8))[1] - lVar1 >> 5)) { lVar7 = local_res18 * 0x20; local_88 = license_services::LsRelation::vftable; local_80 = *(undefined4 *)(lVar7 + 8 + lVar1); local_78 = *(undefined8 *)(lVar7 + 0x10 + lVar1); local_70 = *(undefined2 *)(lVar7 + 0x18 + lVar1); uVar4 = (*(int *)(&DAT_1814412c8 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412c8 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412cc + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412cc + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412d0 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412d0 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412d4 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412d4 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412d8 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412d8 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412dc + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412dc + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412e0 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412e0 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412e4 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412e4 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412e8 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412e8 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412ec + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412ec + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412f0 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412f0 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; do { FUN_180b769a8(); FUN_180b72ef1(); FUN_180b76ea1(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = (*(int *)(&DAT_1814412f4 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412f4 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412f8 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412f8 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_1814412fc + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_1814412fc + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_181441300 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_181441300 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; uVar4 = (*(int *)(&DAT_181441304 + uVar8) * iVar6 * 0x8000 | (uint)(*(int *)(&DAT_181441304 + uVar8) * iVar6) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; do { FUN_180b74725(); FUN_180b72ef1(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = (*(int *)(&LAB_181441308 + uVar8) * (int)local_res20 * 0x8000 | (uint)(*(int *)(&LAB_181441308 + uVar8) * (int)local_res20) >> 0x11) * 0x1b873593 ^ (uVar4 << 0xd | uVar4 >> 0x13) * 5 + 0xe6546b64; /* WARNING: Call to offcut address within same function */ func_0x000180b752b8((uVar4 << 0xd | uVar4 >> 0x13) * 5 + -0x19ab949c); FUN_180b7537e(); return; } /* WARNING: Subroutine does not return */ FUN_1808077d0(); } ############ FUN_ 180ab5be0 size=679 ############ longlong FUN_180ab5be0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0x208; lVar13 = (longlong)(param_1[1] - uVar11) / 0x208; if (lVar13 == 0x7e07e07e07e07e) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0x208; uVar11 = uVar12; if ((uVar4 <= 0x7e07e07e07e07e - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12) ) { uVar11 = uVar12; } uVar4 = uVar11 * 0x208; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0x7e07e07e07e07f) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_180ab5d1b; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_180ab5d1b: lVar7 = lVar1 * 0x208 + uVar4; lVar1 = lVar7 + 0x208; lVar5 = lVar1; uVar10 = uVar4; FUN_1809d3570(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0x208) { FUN_1809d3570(uVar8); uVar8 = uVar8 + 0x208; } } else { FUN_180ab8450(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_180ab8450(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x41) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0x208) * 0x208)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0x208 + uVar4; param_1[2] = uVar11 * 0x208 + uVar4; return lVar13 * 0x208 + *param_1; } ############ FUN_ 180ab6340 size=1038 ############ /* WARNING: Removing unreachable block (ram,0x000180ab641b) */ longlong FUN_180ab6340(undefined8 *param_1,longlong param_2,undefined8 param_3) { undefined8 *puVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; int iVar5; longlong lVar6; undefined1 auStack_e8 [48]; longlong local_b8; longlong local_b0; undefined4 local_a8; uint local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; longlong local_78; undefined8 *local_70; undefined8 local_68; undefined8 *local_60; ulonglong local_40; local_68 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_e8; local_90 = param_3; local_70 = param_1; local_60 = param_1; FUN_180a3bf80(param_1,param_2 + 8); *param_1 = license_services::LsCachedObjectVectorAuthorization::vftable; param_1[3] = param_2; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; FUN_180b82250(param_1 + 10,*(undefined4 *)(param_1[3] + 0x38)); param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; local_a8 = 0x3c0; uVar4 = (uint)&stack0x00000000 & 0x51ff; iVar5 = uVar4 * uVar4 + 1; uVar4 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar4 = (int)(uVar4 - 7) >> 0x1f & uVar4; local_98 = 0x5335U - ((int)((-uVar4 | uVar4) ^ 0xffffffff) >> 0x1f) ^ 0x5c35; lVar6 = *(longlong *)(param_2 + 0x40); local_78 = *(longlong *)(param_2 + 0x48); if (lVar6 != local_78) { do { local_b0 = FUN_1811316e0(0xd8); uVar2 = 0; if (local_b0 != 0) { uVar2 = FUN_1808bf290(local_b0,lVar6,param_1); } puVar1 = (undefined8 *)param_1[5]; local_88 = uVar2; if ((undefined8 *)param_1[6] == puVar1) { FUN_18080f490(param_1 + 4,puVar1,&local_88); } else { *puVar1 = uVar2; param_1[5] = param_1[5] + 8; } local_b8 = FUN_1811316e0(0x208); uVar2 = 0; if (local_b8 != 0) { uVar2 = FUN_1809d37a0(local_b8); } local_80 = uVar2; FUN_180ab8100(uVar2,lVar6); puVar1 = (undefined8 *)param_1[8]; if ((undefined8 *)param_1[9] == puVar1) { FUN_18080f490(param_1 + 7,puVar1,&local_80); } else { *puVar1 = uVar2; param_1[8] = param_1[8] + 8; } lVar6 = lVar6 + 0x208; local_78 = *(longlong *)(param_2 + 0x48); } while (lVar6 != local_78); } uVar3 = FUN_180ab773b(); return (((~(~(~uVar3 + 1) + 1) + 1 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; } ############ FUN_ 180b82250 size=568 ############ /* WARNING: Removing unreachable block (ram,0x000180b823cb) */ /* WARNING: Removing unreachable block (ram,0x000180b82363) */ /* WARNING: Removing unreachable block (ram,0x000180b8237d) */ /* WARNING: Removing unreachable block (ram,0x000180b8243e) */ void FUN_180b82250(undefined8 *param_1,undefined4 param_2) { undefined8 *puVar1; uint uVar2; int iVar3; uint uVar4; uint uVar5; uint uVar6; char cVar7; char cVar8; undefined1 auStack_b8 [48]; undefined8 *local_88; uint local_68; uint local_64; undefined4 local_60; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_b8; local_88 = param_1; local_60 = param_2; local_58 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_88 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { *puVar1 = license_services::LsEntityAuthorization::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180b821e0(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; uVar4 = (uint)&stack0x00000000; uVar2 = uVar4 & 0x3bf; iVar3 = (uVar2 + 2) * (uVar2 + 1) * uVar2; local_64 = 0x342c << ((byte)(((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e) & 0x1f) ^ 0x324c; uVar5 = ((uVar4 & 0x16ff) * (uVar4 & 0x16ff) + 1) % 7; uVar6 = ((uVar4 & 0x38ff) * (uVar4 & 0x38ff) + 1) % 7; uVar4 = ((uVar4 & 0x1dff) + 1) * (uVar4 & 0x1dff) + 0xb17 & 0x80000001; uVar2 = ((int)(-uVar5 | uVar5) >> 0x1f) * -0x3ec7; local_68 = ((int)((-uVar4 | uVar4) ^ (-uVar6 | uVar6)) >> 0x1f | 0x3eb7U) ^ uVar2; cVar8 = SBORROW8((ulonglong)uVar2,(ulonglong)uVar5); cVar7 = (longlong)((ulonglong)uVar2 - (ulonglong)uVar5) < 0; FUN_180b82494(); if (cVar8 != cVar7) { FUN_180b82494(); return; } thunk_FUN_180b82494(); return; } ############ FUN_ 180b821e0 size=97 ############ undefined8 * FUN_180b821e0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b83e90 size=311 ############ void FUN_180b83e90(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b84020(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180ab5be0(lVar2 + 0x40,lVar1,param_2); return; } FUN_1809d3570(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x208; return; } ############ FUN_ 180b84020 size=316 ############ longlong FUN_180b84020(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180abe420 size=694 ############ longlong FUN_180abe420(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; ulonglong uVar12; ulonglong uVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar12 = *param_1; lVar5 = (param_2 - uVar12) + SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)(param_2 - uVar12)),8); lVar7 = (lVar5 >> 7) - (lVar5 >> 0x3f); lVar5 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)(param_1[1] - uVar12)),8) + (param_1[1] - uVar12); lVar5 = (lVar5 >> 7) - (lVar5 >> 0x3f); if (lVar5 == 0x147ae147ae147ae) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = lVar5 + 1; lVar5 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)(param_1[2] - uVar12)),8) + (param_1[2] - uVar12); uVar6 = (lVar5 >> 7) - (lVar5 >> 0x3f); uVar12 = uVar13; if ((uVar6 <= 0x147ae147ae147ae - (uVar6 >> 1)) && (uVar12 = (uVar6 >> 1) + uVar6, uVar12 < uVar13)) { uVar12 = uVar13; } uVar6 = uVar12 * 200; lVar5 = lVar7; puVar14 = param_1; if (uVar12 < 0x147ae147ae147af) { if (uVar6 < 0x1000) { if (uVar6 == 0) { uVar6 = 0; } else { uVar6 = FUN_1811316e0(uVar6); } goto LAB_180abe562; } } else { uVar6 = 0xffffffffffffffff; } uVar4 = uVar6 + 0x27; if (uVar4 <= uVar6) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar6 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar6 - 8) = lVar3; LAB_180abe562: lVar8 = lVar7 * 200 + uVar6; lVar7 = lVar8 + 200; lVar3 = lVar7; uVar11 = uVar6; FUN_180abe6e0(lVar8,param_3); uVar4 = param_1[1]; if (param_2 == uVar4) { uVar9 = uVar6; for (uVar11 = *param_1; uVar11 != uVar4; uVar11 = uVar11 + 200) { FUN_180abe6e0(uVar9); uVar9 = uVar9 + 200; } } else { FUN_180ac08e0(param_1,*param_1,param_2,uVar6,uVar13,lVar5,lVar3,uVar11,puVar14,uVar15); FUN_180ac08e0(param_1,param_2,param_1[1],lVar7); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[1]; for (; puVar10 != puVar1; puVar10 = puVar10 + 0x19) { (**(code **)*puVar10)(puVar10,0); } pvVar2 = (void *)*param_1; lVar5 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)(param_1[2] - (longlong)pvVar2)) ,8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar5 >> 7) - (lVar5 >> 0x3f)) * 200)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar6; param_1[1] = uVar13 * 200 + uVar6; param_1[2] = uVar12 * 200 + uVar6; return lVar5 * 200 + *param_1; } ############ FUN_ 180b85150 size=1091 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180b85412) */ /* WARNING: Removing unreachable block (ram,0x000180b8537b) */ void FUN_180b85150(undefined8 *param_1,undefined4 param_2) { undefined8 *puVar1; uint uVar2; int iVar3; uint uVar4; int iVar5; ulonglong uVar6; int unaff_retaddr; undefined1 auStack_a8 [32]; undefined8 local_88; undefined *local_80; undefined8 *local_78; undefined8 local_68; uint local_60; uint local_5c; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_78 = param_1; local_58 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_78 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { *puVar1 = license_services::LsEntityAuthRelation::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180b850e0(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; uVar4 = (uint)&stack0x00000000; uVar2 = uVar4 & 0x23f; iVar5 = (uVar2 + 2) * (uVar2 + 1) * uVar2; uVar2 = uVar4 & 0x1ff; iVar3 = (uVar2 + 2) * (uVar2 + 1) * uVar2; uVar2 = ((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e ^ ((uVar4 & 0x73ff) * (uVar4 & 0x73ff) + 1) % 7; local_5c = 0xdca0 >> ((byte)(0 >> ((byte)(((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e) & 0x1f)) & 0x1f) & 0xd4a0U ^ ((int)(-uVar2 | uVar2) >> 0x1f) * -0xd830; if (((ulonglong)&stack0x00000000 & 0x130) == 0) { uVar4 = 0x6402b43; uVar2 = 0x1874e450; } else { uVar4 = 0x573cd00; uVar2 = 0x362395; } local_60 = (((int)(-(uVar4 ^ uVar2) | uVar4 ^ uVar2) >> 0x1f) * -0x4e0c | 0xde4cU) ^ 0xd88c; do { uVar6 = ~(((ulonglong)param_1 ^ 0xffffffffffffffff) + 1); param_1 = (undefined8 *)(uVar6 + 1); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); FUN_180b86df0(*(undefined8 *)(uVar6 + 0x11),param_2); local_80 = &DAT_180b92a2c; local_78 = (undefined8 *)0x180b95860; local_88 = 0x7ccebcde48e0a4d0; local_68 = 0x48e0a4d0; do { uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); FUN_180b855a8(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180b850e0 size=97 ############ undefined8 * FUN_180b850e0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b86ac0 size=311 ############ void FUN_180b86ac0(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b86c50(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180abe420(lVar2 + 0x40,lVar1,param_2); return; } FUN_180abe6e0(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 200; return; } ############ FUN_ 180b86c50 size=316 ############ longlong FUN_180b86c50(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180ac4390 size=512 ############ undefined8 FUN_180ac4390(longlong param_1,undefined8 param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; longlong lVar4; longlong lVar5; longlong local_res8; longlong local_res18 [2]; undefined1 local_50 [16]; undefined **local_40; undefined4 local_38; ulonglong local_30; undefined2 local_28; local_res8 = FUN_1811316e0(200); lVar5 = 0; lVar3 = lVar5; if (local_res8 != 0) { lVar3 = FUN_180abe7b0(local_res8); } local_res18[0] = lVar3; FUN_180ac0790(lVar3,param_2); FUN_18086d640(lVar3,1); local_res8 = *(longlong *)(lVar3 + 0x18); lVar4 = *(longlong *)(param_1 + 8); plVar1 = *(longlong **)(lVar4 + 0x10); if (*(longlong **)(lVar4 + 0x18) == plVar1) { FUN_180703330(lVar4 + 8,plVar1,&local_res8); } else { *plVar1 = local_res8; *(longlong *)(lVar4 + 0x10) = *(longlong *)(lVar4 + 0x10) + 8; } FUN_18060b3f0(*(longlong *)(param_1 + 8) + 0x20,local_50,0,&local_res8,(undefined1)local_res8); lVar4 = *(longlong *)(param_1 + 0x18); lVar2 = *(longlong *)(lVar4 + 0x48); if (*(longlong *)(lVar4 + 0x50) == lVar2) { FUN_180abe420(lVar4 + 0x40,lVar2,lVar3); } else { FUN_180abe6e0(lVar2,lVar3); *(longlong *)(lVar4 + 0x48) = *(longlong *)(lVar4 + 0x48) + 200; } plVar1 = *(longlong **)(param_1 + 0x40); if (*(longlong **)(param_1 + 0x48) == plVar1) { FUN_18080f490(param_1 + 0x38,plVar1,local_res18); lVar3 = local_res18[0]; } else { *plVar1 = lVar3; *(longlong *)(param_1 + 0x40) = *(longlong *)(param_1 + 0x40) + 8; } local_res8 = FUN_1811316e0(0x68); lVar4 = lVar5; if (local_res8 != 0) { lVar4 = FUN_18086c550(local_res8,lVar3,param_1); } plVar1 = *(longlong **)(param_1 + 0x28); local_res8 = lVar4; if (*(longlong **)(param_1 + 0x30) == plVar1) { FUN_18080f490(param_1 + 0x20,plVar1,&local_res8); } else { *plVar1 = lVar4; *(longlong *)(param_1 + 0x28) = *(longlong *)(param_1 + 0x28) + 8; } local_40 = license_services::LsRelation::vftable; local_38 = *(undefined4 *)(lVar3 + 0x10); local_30 = *(ulonglong *)(lVar3 + 0x18); local_28 = *(undefined2 *)(lVar3 + 0x20); if ((0x7fffffff00000000 < (longlong)local_30) && (local_30 < 0x8000000000000000)) { lVar5 = 1; } if ((char)lVar5 != '\0') { FUN_18080c5f0(*(undefined8 *)(param_1 + 0x10),&local_40); } return *(undefined8 *)(*(longlong *)(param_1 + 0x28) + -8); } ############ FUN_ 180ac7b80 size=786 ############ /* WARNING: Control flow encountered bad instruction data */ void FUN_180ac7b80(longlong param_1,undefined8 param_2,undefined8 param_3) { longlong lVar1; undefined8 uVar2; uint uVar3; int iVar4; uint uVar5; uint uVar6; undefined1 auStack_158 [32]; undefined1 *local_138; undefined8 local_130; undefined8 local_120; undefined8 local_110; undefined8 local_108; undefined4 local_100 [3]; uint local_f4; uint local_e8; undefined8 local_d8; char *local_d0 [9]; longlong local_88; undefined8 local_68; ulonglong local_48; local_68 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_158; uVar6 = (uint)&stack0x00000000; iVar4 = (uVar6 & 0x3aff) * (uVar6 & 0x3aff) + 1; uVar3 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar3 = (int)(uVar3 - 7) >> 0x1f & uVar3; iVar4 = (uVar6 & 0x3bff) * (uVar6 & 0x3bff) + 1; uVar5 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; local_e8 = (int)((-uVar5 | uVar5) ^ (-uVar3 | uVar3)) >> 0x1f ^ 0xac0; uVar5 = ((uVar6 & 0x5ff) * (uVar6 & 0x5ff) + 1) % 7; local_f4 = ((int)((-uVar5 | uVar5) ^ 0xffffffff) >> 0x1f | 0xb0ccU) ^ 0xbb3c; local_110 = 0; local_120 = 0x80f00; local_138 = &LAB_180080f00; local_130 = 0x180082efc; local_108 = param_3; local_d8 = param_2; local_88 = param_1; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_d0[0] = (char *)FUN_1811316e0(0x18); if (local_d0[0] != (char *)0x0) { FUN_1805a48c0(local_d0[0],"LsObjectRelationVector<>::at: This one-to-one relation is empty."); } lVar1 = FUN_1805c0260(); local_100[0] = 0x6e; local_d0[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorauthorization.cpp" ; uVar2 = FUN_1805a21d0(*(undefined8 *)(lVar1 + 8),local_d0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_100); } local_110 = 0xd1438787bec860bb; local_120 = 0xbec860bb; FUN_180ac6fcd(); FUN_180ac7ea5(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180ac96c0 size=694 ############ longlong FUN_180ac96c0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; ulonglong uVar12; ulonglong uVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar12 = *param_1; lVar5 = (param_2 - uVar12) + SUB168(SEXT816(-0x7777777777777777) * SEXT816((longlong)(param_2 - uVar12)),8); lVar7 = (lVar5 >> 7) - (lVar5 >> 0x3f); lVar5 = SUB168(SEXT816(-0x7777777777777777) * SEXT816((longlong)(param_1[1] - uVar12)),8) + (param_1[1] - uVar12); lVar5 = (lVar5 >> 7) - (lVar5 >> 0x3f); if (lVar5 == 0x111111111111111) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = lVar5 + 1; lVar5 = SUB168(SEXT816(-0x7777777777777777) * SEXT816((longlong)(param_1[2] - uVar12)),8) + (param_1[2] - uVar12); uVar6 = (lVar5 >> 7) - (lVar5 >> 0x3f); uVar12 = uVar13; if ((uVar6 <= 0x111111111111111 - (uVar6 >> 1)) && (uVar12 = (uVar6 >> 1) + uVar6, uVar12 < uVar13)) { uVar12 = uVar13; } uVar6 = uVar12 * 0xf0; lVar5 = lVar7; puVar14 = param_1; if (uVar12 < 0x111111111111112) { if (uVar6 < 0x1000) { if (uVar6 == 0) { uVar6 = 0; } else { uVar6 = FUN_1811316e0(uVar6); } goto LAB_180ac9802; } } else { uVar6 = 0xffffffffffffffff; } uVar4 = uVar6 + 0x27; if (uVar4 <= uVar6) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar6 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar6 - 8) = lVar3; LAB_180ac9802: lVar8 = lVar7 * 0xf0 + uVar6; lVar7 = lVar8 + 0xf0; lVar3 = lVar7; uVar11 = uVar6; FUN_180acac10(lVar8,param_3); uVar4 = param_1[1]; if (param_2 == uVar4) { uVar9 = uVar6; for (uVar11 = *param_1; uVar11 != uVar4; uVar11 = uVar11 + 0xf0) { FUN_180acac10(uVar9); uVar9 = uVar9 + 0xf0; } } else { FUN_180acbfb0(param_1,*param_1,param_2,uVar6,uVar13,lVar5,lVar3,uVar11,puVar14,uVar15); FUN_180acbfb0(param_1,param_2,param_1[1],lVar7); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[1]; for (; puVar10 != puVar1; puVar10 = puVar10 + 0x1e) { (**(code **)*puVar10)(puVar10,0); } pvVar2 = (void *)*param_1; lVar5 = SUB168(SEXT816(-0x7777777777777777) * SEXT816((longlong)(param_1[2] - (longlong)pvVar2)) ,8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar5 >> 7) - (lVar5 >> 0x3f)) * 0xf0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar6; param_1[1] = uVar13 * 0xf0 + uVar6; param_1[2] = uVar12 * 0xf0 + uVar6; return lVar5 * 0xf0 + *param_1; } ############ FUN_ 180b87d00 size=507 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180b87e36) */ void FUN_180b87d00(undefined8 *param_1,undefined4 param_2) { undefined8 *puVar1; uint uVar2; int iVar3; uint uVar4; undefined1 auStack_b8 [32]; undefined4 local_98; undefined8 *local_80; uint local_68; uint local_64; undefined8 *local_60; undefined8 local_58; ulonglong local_38; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; local_80 = param_1; local_60 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_80 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { *puVar1 = license_services::LsEntityCountLimit::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180b87c90(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; uVar4 = (uint)&stack0x00000000; uVar2 = uVar4 & 0x37f; iVar3 = (uVar2 + 2) * (uVar2 + 1) * uVar2; local_64 = (((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e & uVar4) + 0x9ab ^ 0x7cb; uVar2 = ((uVar4 & 0x6eff) * (uVar4 & 0x6eff) + 1) % 7; local_68 = (int)(-uVar2 | uVar2) >> 0x1f & 0x4115U ^ 0x4f25; FUN_180b899d0(*param_1,param_2); local_98 = 0xbf; FUN_180b87f00(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180b87c90 size=97 ############ undefined8 * FUN_180b87c90(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b896a0 size=311 ############ void FUN_180b896a0(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b89830(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180ac96c0(lVar2 + 0x40,lVar1,param_2); return; } FUN_180acac10(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0xf0; return; } ############ FUN_ 180b89830 size=316 ############ longlong FUN_180b89830(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180ad07c0 size=512 ############ undefined8 FUN_180ad07c0(longlong param_1,undefined8 param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; longlong lVar4; longlong lVar5; longlong local_res8; longlong local_res18 [2]; undefined1 local_50 [16]; undefined **local_40; undefined4 local_38; ulonglong local_30; undefined2 local_28; local_res8 = FUN_1811316e0(0xf0); lVar5 = 0; lVar3 = lVar5; if (local_res8 != 0) { lVar3 = FUN_180acad20(local_res8); } local_res18[0] = lVar3; FUN_180acbe30(lVar3,param_2); FUN_180870e40(lVar3,1); local_res8 = *(longlong *)(lVar3 + 0x18); lVar4 = *(longlong *)(param_1 + 8); plVar1 = *(longlong **)(lVar4 + 0x10); if (*(longlong **)(lVar4 + 0x18) == plVar1) { FUN_180703330(lVar4 + 8,plVar1,&local_res8); } else { *plVar1 = local_res8; *(longlong *)(lVar4 + 0x10) = *(longlong *)(lVar4 + 0x10) + 8; } FUN_18060b3f0(*(longlong *)(param_1 + 8) + 0x20,local_50,0,&local_res8,(undefined1)local_res8); lVar4 = *(longlong *)(param_1 + 0x18); lVar2 = *(longlong *)(lVar4 + 0x48); if (*(longlong *)(lVar4 + 0x50) == lVar2) { FUN_180ac96c0(lVar4 + 0x40,lVar2,lVar3); } else { FUN_180acac10(lVar2,lVar3); *(longlong *)(lVar4 + 0x48) = *(longlong *)(lVar4 + 0x48) + 0xf0; } plVar1 = *(longlong **)(param_1 + 0x40); if (*(longlong **)(param_1 + 0x48) == plVar1) { FUN_18080f490(param_1 + 0x38,plVar1,local_res18); lVar3 = local_res18[0]; } else { *plVar1 = lVar3; *(longlong *)(param_1 + 0x40) = *(longlong *)(param_1 + 0x40) + 8; } local_res8 = FUN_1811316e0(0x58); lVar4 = lVar5; if (local_res8 != 0) { lVar4 = FUN_18086f9a0(local_res8,lVar3,param_1); } plVar1 = *(longlong **)(param_1 + 0x28); local_res8 = lVar4; if (*(longlong **)(param_1 + 0x30) == plVar1) { FUN_18080f490(param_1 + 0x20,plVar1,&local_res8); } else { *plVar1 = lVar4; *(longlong *)(param_1 + 0x28) = *(longlong *)(param_1 + 0x28) + 8; } local_40 = license_services::LsRelation::vftable; local_38 = *(undefined4 *)(lVar3 + 0x10); local_30 = *(ulonglong *)(lVar3 + 0x18); local_28 = *(undefined2 *)(lVar3 + 0x20); if ((0x7fffffff00000000 < (longlong)local_30) && (local_30 < 0x8000000000000000)) { lVar5 = 1; } if ((char)lVar5 != '\0') { FUN_18080c5f0(*(undefined8 *)(param_1 + 0x10),&local_40); } return *(undefined8 *)(*(longlong *)(param_1 + 0x28) + -8); } ############ FUN_ 180ad2100 size=679 ############ longlong FUN_180ad2100(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0x118; lVar13 = (longlong)(param_1[1] - uVar11) / 0x118; if (lVar13 == 0xea0ea0ea0ea0ea) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0x118; uVar11 = uVar12; if ((uVar4 <= 0xea0ea0ea0ea0ea - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12) ) { uVar11 = uVar12; } uVar4 = uVar11 * 0x118; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0xea0ea0ea0ea0eb) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_180ad223b; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_180ad223b: lVar7 = lVar1 * 0x118 + uVar4; lVar1 = lVar7 + 0x118; lVar5 = lVar1; uVar10 = uVar4; FUN_180ad3510(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0x118) { FUN_180ad3510(uVar8); uVar8 = uVar8 + 0x118; } } else { FUN_180ad4480(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_180ad4480(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x23) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0x118) * 0x118)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0x118 + uVar4; param_1[2] = uVar11 * 0x118 + uVar4; return lVar13 * 0x118 + *param_1; } ############ FUN_ 180ad2590 size=1903 ############ /* WARNING: Removing unreachable block (ram,0x000180ad26e4) */ longlong FUN_180ad2590(undefined8 *param_1,longlong param_2,undefined8 param_3) { undefined4 uVar1; undefined4 uVar2; undefined4 uVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; uint uVar7; uint uVar8; uint uVar9; longlong *plVar10; longlong lVar11; int iVar12; undefined8 *puVar13; uint unaff_retaddr; undefined1 auStack_f8 [36]; undefined1 local_d4; undefined *local_c8; longlong local_c0; undefined8 local_b8; undefined *local_b0; undefined8 *local_a8; uint local_a0; uint local_9c; undefined8 *local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; undefined8 *local_78; longlong local_70; undefined8 local_68; undefined8 *local_60; ulonglong local_40; local_68 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_f8; local_c0 = param_2; local_98 = param_1; local_88 = param_3; local_60 = param_1; FUN_180a3bf80(param_1,param_2 + 8); *param_1 = license_services::LsCachedObjectVectorDeveloperBlock::vftable; param_1[3] = param_2; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; local_a8 = param_1 + 7; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; FUN_180b8ade0(param_1 + 10,*(undefined4 *)(param_1[3] + 0x38)); puVar5 = local_a8; lVar4 = local_c0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; uVar8 = (uint)&stack0x00000000; uVar9 = uVar8 & 0x17f; uVar7 = uVar8 & 0x23f; iVar12 = (uVar7 + 2) * (uVar7 + 1) * uVar7; local_9c = (0x832 >> ((char)((ulonglong) ((longlong)(int)((uVar9 + 2) * (uVar9 + 1) * uVar9) * 0x55555556) >> 0x20) * '\x03' & 0x1fU) | 0x38b7U) ^ (((iVar12 >> 1) - (iVar12 >> 3)) + iVar12 * 0x55555555 >> 0x1e | 0x3d77U); uVar8 = uVar8 & 0x1ff; local_a0 = ((uVar8 + 2) * (uVar8 + 1) * uVar8) % 3 + 0x597d ^ 0x565d; local_90 = 0x180000000; local_b8 = 0x831e04; local_b0 = &DAT_180831e04; local_c8 = &DAT_1808347c0; lVar11 = *(longlong *)(param_2 + 0x40); local_70 = *(longlong *)(param_2 + 0x48); if (lVar11 != local_70) { puVar13 = (undefined8 *)(lVar11 + 0x18); puVar6 = param_1; do { local_c0 = FUN_1811316e0(); if (local_c0 == 0) { local_80 = 0; } else { local_80 = FUN_1808730a0(local_c0,lVar11,puVar6); } puVar6 = (undefined8 *)param_1[5]; if ((undefined8 *)param_1[6] == puVar6) { FUN_18080f490(param_1 + 4,puVar6,&local_80); } else { *puVar6 = local_80; param_1[5] = param_1[5] + 8; } puVar6 = (undefined8 *)FUN_1811316e0(0x118); local_a8 = puVar6; if (puVar6 == (undefined8 *)0x0) { puVar6 = (undefined8 *)0x0; } else { *puVar6 = license_services::LsDeveloperBlockWire::vftable; puVar6[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar6 + 2) = 0xffffffff; puVar6[3] = 0xffffffffffffffff; *(undefined2 *)(puVar6 + 4) = 0; *(undefined1 *)(puVar6 + 5) = 0; *(undefined4 *)((longlong)puVar6 + 0x2c) = 0; *(undefined1 *)(puVar6 + 6) = 0; puVar6[7] = 0; puVar6[8] = 0; puVar6[9] = 0; puVar6[10] = 0; puVar6[0xb] = 0; puVar6[0xc] = 0; puVar6[0xd] = 0; puVar6[0x10] = 0; puVar6[0x11] = 0xf; *(undefined1 *)(puVar6 + 0xe) = 0; FUN_1805a6cb0(puVar6 + 0xe,&DAT_181baf991,0); puVar6[0x14] = 0; puVar6[0x15] = 0xf; *(undefined1 *)(puVar6 + 0x12) = 0; FUN_1805a6cb0(puVar6 + 0x12,&DAT_181baf991); puVar6[0x16] = 0; *(undefined1 *)(puVar6 + 0x17) = 0; puVar6[0x1a] = 0; puVar6[0x1b] = 0xf; *(undefined1 *)(puVar6 + 0x18) = 0; FUN_1805a6cb0(puVar6 + 0x18,&DAT_181baf991); *(undefined4 *)(puVar6 + 0x1c) = 0; *(undefined1 *)((longlong)puVar6 + 0xe4) = 0; puVar6[0x1d] = 0; puVar6[0x1e] = 0; puVar6[0x1f] = 0; puVar6[0x20] = 0; puVar6[0x21] = 0; *(undefined1 *)(puVar6 + 0x22) = 0; } *(undefined4 *)(puVar6 + 2) = *(undefined4 *)(puVar13 + -1); puVar6[3] = *puVar13; *(undefined2 *)(puVar6 + 4) = *(undefined2 *)(puVar13 + 1); *(undefined1 *)(puVar6 + 5) = *(undefined1 *)(puVar13 + 2); *(undefined4 *)((longlong)puVar6 + 0x2c) = *(undefined4 *)((longlong)puVar13 + 0x14); *(undefined1 *)(puVar6 + 6) = *(undefined1 *)(puVar13 + 3); local_78 = puVar6; FUN_1805b9910(puVar6 + 7,puVar13 + 4); FUN_1805b9910(puVar6 + 10,puVar13 + 7); *(undefined4 *)(puVar6 + 0xd) = *(undefined4 *)(puVar13 + 10); *(undefined4 *)((longlong)puVar6 + 0x6c) = *(undefined4 *)((longlong)puVar13 + 0x54); plVar10 = puVar13 + 0xb; if (puVar6 + 0xe != plVar10) { if (0xf < (ulonglong)puVar13[0xe]) { plVar10 = (longlong *)*plVar10; } FUN_1805a6cb0(puVar6 + 0xe,plVar10,puVar13[0xd]); } plVar10 = puVar13 + 0xf; if (puVar6 + 0x12 != plVar10) { if (0xf < (ulonglong)puVar13[0x12]) { plVar10 = (longlong *)*plVar10; } FUN_1805a6cb0(puVar6 + 0x12,plVar10,puVar13[0x11]); } *(undefined4 *)(puVar6 + 0x16) = *(undefined4 *)(puVar13 + 0x13); *(undefined4 *)((longlong)puVar6 + 0xb4) = *(undefined4 *)((longlong)puVar13 + 0x9c); *(undefined1 *)(puVar6 + 0x17) = *(undefined1 *)(puVar13 + 0x14); plVar10 = puVar13 + 0x15; if (puVar6 + 0x18 != plVar10) { if (0xf < (ulonglong)puVar13[0x18]) { plVar10 = (longlong *)*plVar10; } FUN_1805a6cb0(puVar6 + 0x18,plVar10,puVar13[0x17]); } *(undefined4 *)(puVar6 + 0x1c) = *(undefined4 *)(puVar13 + 0x19); *(undefined1 *)((longlong)puVar6 + 0xe4) = *(undefined1 *)((longlong)puVar13 + 0xcc); if (puVar6 + 0x1d != puVar13 + 0x1a) { FUN_1807fecd0(puVar6 + 0x1d,puVar13[0x1a],puVar13[0x1b],local_d4); } uVar1 = *(undefined4 *)((longlong)puVar13 + 0xec); uVar2 = *(undefined4 *)(puVar13 + 0x1e); uVar3 = *(undefined4 *)((longlong)puVar13 + 0xf4); *(undefined4 *)(puVar6 + 0x20) = *(undefined4 *)(puVar13 + 0x1d); *(undefined4 *)((longlong)puVar6 + 0x104) = uVar1; *(undefined4 *)(puVar6 + 0x21) = uVar2; *(undefined4 *)((longlong)puVar6 + 0x10c) = uVar3; *(undefined1 *)(puVar6 + 0x22) = *(undefined1 *)(puVar13 + 0x1f); if ((undefined8 *)puVar5[2] == (undefined8 *)puVar5[1]) { FUN_18080f490(puVar5); } else { *(undefined8 *)puVar5[1] = puVar6; puVar5[1] = puVar5[1] + 8; } lVar11 = lVar11 + 0x118; puVar13 = puVar13 + 0x23; local_70 = *(longlong *)(lVar4 + 0x48); puVar6 = local_98; } while (lVar11 != local_70); } do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); return ~(~((~(ulonglong)unaff_retaddr + 1 ^ 0xffffffffffffffff) + 1) + 1) + 1; } ############ FUN_ 180b8ade0 size=958 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180b8b12e) overlaps instruction at (ram,0x000180b8b12d) */ /* WARNING: Removing unreachable block (ram,0x000180b8af27) */ /* WARNING: Removing unreachable block (ram,0x000180b8aefc) */ /* WARNING: Removing unreachable block (ram,0x000180b8b15b) */ void FUN_180b8ade0(undefined8 *param_1) { undefined1 *puVar1; undefined1 *puVar2; byte bVar3; undefined8 *puVar4; int iVar5; ulonglong uVar6; undefined8 *puVar7; undefined1 *puVar8; uint uVar9; uint uVar10; undefined1 *in_R11; ulonglong uVar11; bool bVar12; int unaff_retaddr; undefined8 auStack_b8 [2]; undefined1 auStack_a8 [40]; undefined4 *local_80; undefined8 *local_78; undefined *local_70; uint local_68; uint local_64; undefined8 *local_60; undefined8 local_58; ulonglong local_38; puVar8 = auStack_a8; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_a8; local_78 = param_1; local_60 = param_1; puVar4 = (undefined8 *)FUN_1811316e0(0x60); if (puVar4 == (undefined8 *)0x0) { puVar7 = (undefined8 *)0x0; local_78 = puVar4; } else { *puVar4 = license_services::LsEntityDeveloperBlock::vftable; local_78 = puVar4; FUN_180677c10(puVar4 + 1); puVar4[8] = 0; puVar4[9] = 0; puVar4[10] = 0; *(undefined2 *)(puVar4 + 0xb) = 0; puVar7 = puVar4; } *param_1 = puVar7; FUN_180b8ad70(param_1 + 1,puVar7); FUN_1805ae620(param_1,puVar7,puVar7); param_1[2] = *param_1; uVar10 = (uint)&stack0x00000000; uVar9 = ((uVar10 & 0x5ff) * (uVar10 & 0x5ff) * 0x10 + 4) % 0x13; local_68 = ((int)(-uVar9 | uVar9) >> 0x1f) * 0xf04 & 0x10a4U ^ 0x1344; iVar5 = (uVar10 & 0x40ff) * (uVar10 & 0x40ff) + 1; uVar9 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar9 = ((uVar10 & 0x61ff) * (uVar10 & 0x61ff) + 1) % 7 | (int)(uVar9 - 7) >> 0x1f & uVar9; local_64 = ((int)(-uVar9 | uVar9) >> 0x1f) * -0x59ea ^ 0x56da; local_78 = (undefined8 *)0x0; local_70 = &DAT_180baf868; local_80 = &DAT_180bb2964; FUN_180b8ca80(param_1[2]); local_78 = (undefined8 *)local_70; uVar11 = (longlong)local_80 - (longlong)local_70; do { uVar6 = 0; while( true ) { if ((uVar6 & 0x40) != 0) { bVar3 = (byte)uVar11 ^ 0x15; if (bVar3 == 0) { bRam00000000e4ee4940 = bVar3; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } uVar11 = (ulonglong)((uint)uVar11 ^ 0x15); } uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } uVar6 = (ulonglong)uVar9; if (uVar9 != 0) break; *(undefined8 **)(puVar8 + -8) = param_1; bVar12 = (longlong)in_R11 < 0; *(undefined8 *)(puVar8 + -0x10) = 0x180b8b180; uVar11 = FUN_180b8b1a2(); if (bVar12) { bVar12 = SBORROW8(0,(longlong)in_R11); puVar1 = (undefined1 *)-(longlong)in_R11; puVar2 = in_R11; } else { bVar12 = SCARRY8((longlong)((longlong)register0x00000020 + -0x6c4d9e23),0x6c4d9e23); puVar1 = (undefined1 *)register0x00000020; puVar2 = (undefined1 *)register0x00000020; } puVar8 = puVar8 + -8; if (puVar2 == (undefined1 *)0x0 || bVar12 != (longlong)puVar1 < 0) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } } } while( true ); } ############ FUN_ 180b8ad70 size=97 ############ undefined8 * FUN_180b8ad70(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b8c750 size=311 ############ void FUN_180b8c750(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b8c8e0(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180ad2100(lVar2 + 0x40,lVar1,param_2); return; } FUN_180ad3510(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x118; return; } ############ FUN_ 180b8c8e0 size=316 ############ longlong FUN_180b8c8e0(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180adc0e0 size=679 ############ longlong FUN_180adc0e0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0x168; lVar13 = (longlong)(param_1[1] - uVar11) / 0x168; if (lVar13 == 0xb60b60b60b60b6) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0x168; uVar11 = uVar12; if ((uVar4 <= 0xb60b60b60b60b6 - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12) ) { uVar11 = uVar12; } uVar4 = uVar11 * 0x168; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0xb60b60b60b60b7) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_180adc21b; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_180adc21b: lVar7 = lVar1 * 0x168 + uVar4; lVar1 = lVar7 + 0x168; lVar5 = lVar1; uVar10 = uVar4; FUN_180adc5d0(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0x168) { FUN_180adc5d0(uVar8); uVar8 = uVar8 + 0x168; } } else { FUN_180ade890(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_180ade890(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x2d) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0x168) * 0x168)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0x168 + uVar4; param_1[2] = uVar11 * 0x168 + uVar4; return lVar13 * 0x168 + *param_1; } ############ FUN_ 180adc770 size=1913 ############ /* WARNING: Instruction at (ram,0x000180adce12) overlaps instruction at (ram,0x000180adce11) */ /* WARNING: Removing unreachable block (ram,0x000180adc85d) */ /* WARNING: Removing unreachable block (ram,0x000180adc87a) */ /* WARNING: Removing unreachable block (ram,0x000180adc866) */ /* WARNING: Removing unreachable block (ram,0x000180adc88b) */ void FUN_180adc770(undefined8 *param_1,undefined8 *param_2,undefined8 param_3) { undefined4 uVar1; undefined4 uVar2; undefined8 *puVar3; undefined4 uVar4; undefined8 *puVar5; uint uVar6; int iVar7; uint uVar8; ulonglong uVar9; longlong *plVar10; longlong lVar11; undefined8 *puVar12; undefined8 *puVar13; int unaff_retaddr; undefined1 auStack_f8 [32]; undefined8 *local_d8; undefined1 local_c8; undefined8 *local_b8; longlong local_b0; undefined4 local_a4; uint local_a0; undefined8 *local_98; undefined8 local_90; undefined8 *local_88; undefined8 *local_80; longlong local_78; undefined8 local_70; undefined8 *local_68; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_f8; local_d8 = param_2; local_98 = param_1; local_90 = param_3; local_68 = param_1; FUN_180a3bf80(param_1,param_2 + 1); *param_1 = license_services::LsCachedObjectVectorAuthKey::vftable; param_1[3] = param_2; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; local_b8 = param_1 + 7; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; FUN_180b8dd40(param_1 + 10,*(undefined4 *)(param_1[3] + 0x38)); puVar3 = local_b8; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; local_a4 = 0xa80; if (((ulonglong)&stack0x00000000 & 0x1d00) == 0) { uVar8 = (uint)&stack0x00000000 & 0x6ff; uVar6 = (uint)&stack0x00000000 & 0x6eff; iVar7 = uVar6 * uVar6 + 1; uVar6 = (iVar7 >> 4) + (iVar7 >> 1) + iVar7 * 0x24924924 >> 0x1d; uVar6 = (int)(uVar6 - 7) >> 0x1f & uVar6; local_a0 = 0xf5cd >> ((char)(((byte)(-uVar6 >> 0x18) | (byte)(uVar6 >> 0x18)) ^ (byte)(-(((uVar8 + 1) * uVar8 + 7) % 0x51) >> 0x18)) >> 7 & 0x1fU); } else { local_a0 = 0xf5cd; } puVar5 = (undefined8 *)0x349; local_a0 = local_a0 ^ 0xf00d; lVar11 = param_2[8]; local_78 = param_2[9]; puVar12 = param_1; if (lVar11 != local_78) { puVar13 = (undefined8 *)(lVar11 + 0x18); do { local_b0 = FUN_1811316e0(0x58); puVar5 = (undefined8 *)0x0; if (local_b0 != 0) { puVar5 = (undefined8 *)FUN_18088c870(local_b0,lVar11,local_98); } puVar12 = (undefined8 *)param_1[5]; local_88 = puVar5; if ((undefined8 *)param_1[6] == puVar12) { FUN_18080f490(param_1 + 4,puVar12,&local_88); } else { *puVar12 = puVar5; param_1[5] = param_1[5] + 8; } puVar5 = (undefined8 *)FUN_1811316e0(0x168); param_2 = (undefined8 *)0x0; local_b8 = puVar5; if (puVar5 != (undefined8 *)0x0) { *puVar5 = license_services::LsAuthKeyWire::vftable; puVar5[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar5 + 2) = 0xffffffff; puVar5[3] = 0xffffffffffffffff; *(undefined2 *)(puVar5 + 4) = 0; *(undefined1 *)(puVar5 + 5) = 0; *(undefined8 *)((longlong)puVar5 + 0x2c) = 0; *(undefined1 *)((longlong)puVar5 + 0x34) = 0; puVar5[7] = 0; puVar5[8] = 0; puVar5[9] = 0; puVar5[10] = 0; puVar5[0xb] = 0; puVar5[0xc] = 0; puVar5[0xd] = 0; *(undefined4 *)(puVar5 + 0xe) = 0; puVar5[0x11] = 0; puVar5[0x12] = 0xf; *(undefined1 *)(puVar5 + 0xf) = 0; FUN_1805a6cb0(puVar5 + 0xf,&DAT_181baf991,0); puVar5[0x15] = 0; puVar5[0x16] = 0xf; *(undefined1 *)(puVar5 + 0x13) = 0; FUN_1805a6cb0(puVar5 + 0x13,&DAT_181baf991); *(undefined1 *)(puVar5 + 0x17) = 1; puVar5[0x1a] = 0; puVar5[0x1b] = 0xf; *(undefined1 *)(puVar5 + 0x18) = 0; FUN_1805a6cb0(puVar5 + 0x18,&DAT_181baf991); puVar5[0x1c] = 0; puVar5[0x1d] = 0; puVar5[0x1e] = 0; puVar5[0x1f] = 0; *(undefined1 *)(puVar5 + 0x20) = 0; *(undefined4 *)((longlong)puVar5 + 0x104) = 0; puVar5[0x23] = 0; puVar5[0x24] = 0xf; *(undefined1 *)(puVar5 + 0x21) = 0; FUN_1805a6cb0(puVar5 + 0x21,&DAT_181baf991); puVar5[0x25] = 0; *(undefined1 *)(puVar5 + 0x26) = 0; puVar5[0x27] = 0; puVar5[0x28] = 0; puVar5[0x29] = 0; puVar5[0x2a] = 0; puVar5[0x2b] = 0; puVar5[0x2c] = 0; param_2 = puVar5; } *(undefined4 *)(param_2 + 2) = *(undefined4 *)(puVar13 + -1); param_2[3] = *puVar13; *(undefined2 *)(param_2 + 4) = *(undefined2 *)(puVar13 + 1); *(undefined1 *)(param_2 + 5) = *(undefined1 *)(puVar13 + 2); *(undefined4 *)((longlong)param_2 + 0x2c) = *(undefined4 *)((longlong)puVar13 + 0x14); *(undefined4 *)(param_2 + 6) = *(undefined4 *)(puVar13 + 3); *(undefined1 *)((longlong)param_2 + 0x34) = *(undefined1 *)((longlong)puVar13 + 0x1c); local_80 = param_2; FUN_1805b9910(param_2 + 7,puVar13 + 4); FUN_1805b9910(param_2 + 10,puVar13 + 7); *(undefined4 *)(param_2 + 0xd) = *(undefined4 *)(puVar13 + 10); *(undefined4 *)((longlong)param_2 + 0x6c) = *(undefined4 *)((longlong)puVar13 + 0x54); *(undefined4 *)(param_2 + 0xe) = *(undefined4 *)(puVar13 + 0xb); plVar10 = puVar13 + 0xc; if (param_2 + 0xf != plVar10) { if (0xf < (ulonglong)puVar13[0xf]) { plVar10 = (longlong *)*plVar10; } FUN_1805a6cb0(param_2 + 0xf,plVar10,puVar13[0xe]); } plVar10 = puVar13 + 0x10; if (param_2 + 0x13 != plVar10) { if (0xf < (ulonglong)puVar13[0x13]) { plVar10 = (longlong *)*plVar10; } FUN_1805a6cb0(param_2 + 0x13,plVar10,puVar13[0x12]); } *(undefined1 *)(param_2 + 0x17) = *(undefined1 *)(puVar13 + 0x14); plVar10 = puVar13 + 0x15; if (param_2 + 0x18 != plVar10) { if (0xf < (ulonglong)puVar13[0x18]) { plVar10 = (longlong *)*plVar10; } FUN_1805a6cb0(param_2 + 0x18,plVar10,puVar13[0x17]); } FUN_1805b9910(param_2 + 0x1c,puVar13 + 0x19); *(undefined4 *)(param_2 + 0x1f) = *(undefined4 *)(puVar13 + 0x1c); *(undefined4 *)((longlong)param_2 + 0xfc) = *(undefined4 *)((longlong)puVar13 + 0xe4); *(undefined1 *)(param_2 + 0x20) = *(undefined1 *)(puVar13 + 0x1d); *(undefined4 *)((longlong)param_2 + 0x104) = *(undefined4 *)((longlong)puVar13 + 0xec); plVar10 = puVar13 + 0x1e; if (param_2 + 0x21 != plVar10) { if (0xf < (ulonglong)puVar13[0x21]) { plVar10 = (longlong *)*plVar10; } FUN_1805a6cb0(param_2 + 0x21,plVar10,puVar13[0x20]); } *(undefined4 *)(param_2 + 0x25) = *(undefined4 *)(puVar13 + 0x22); *(undefined4 *)((longlong)param_2 + 300) = *(undefined4 *)((longlong)puVar13 + 0x114); *(undefined1 *)(param_2 + 0x26) = *(undefined1 *)(puVar13 + 0x23); if (param_2 + 0x27 != puVar13 + 0x24) { FUN_1807fecd0(param_2 + 0x27,puVar13[0x24],puVar13[0x25],local_c8); } uVar4 = *(undefined4 *)((longlong)puVar13 + 0x13c); uVar1 = *(undefined4 *)(puVar13 + 0x28); uVar2 = *(undefined4 *)((longlong)puVar13 + 0x144); *(undefined4 *)(param_2 + 0x2a) = *(undefined4 *)(puVar13 + 0x27); *(undefined4 *)((longlong)param_2 + 0x154) = uVar4; *(undefined4 *)(param_2 + 0x2b) = uVar1; *(undefined4 *)((longlong)param_2 + 0x15c) = uVar2; param_2[0x2c] = puVar13[0x29]; puVar5 = (undefined8 *)puVar3[1]; if ((undefined8 *)puVar3[2] == puVar5) { FUN_18080f490(puVar3); } else { *puVar5 = param_2; puVar3[1] = puVar3[1] + 8; } lVar11 = lVar11 + 0x168; puVar13 = puVar13 + 0x2d; local_78 = local_d8[9]; puVar12 = local_98; } while (lVar11 != local_78); } do { uVar9 = 0; /* WARNING: Call to offcut address within same function */ func_0x000180adcdbb(); if ((uVar9 & 0x41) != 0) { param_2 = (undefined8 *)0x49dcf749; } uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar4 = FUN_180aded80(); *(undefined4 *)(puVar12[3] + 0x38) = uVar4; do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar4 = FUN_180adceee(); /* WARNING: Could not recover jumptable at 0x000180adcfdb. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)((longlong)param_2 + -0x2b2a))(uVar4,puVar5); return; } ############ FUN_ 180b8dd40 size=516 ############ /* WARNING: Removing unreachable block (ram,0x000180b8def4) */ /* WARNING: Removing unreachable block (ram,0x000180b8de35) */ longlong FUN_180b8dd40(undefined8 *param_1,ulonglong param_2) { undefined8 *puVar1; ulonglong uVar2; uint uVar3; undefined4 unaff_retaddr; undefined1 auStack_a8 [32]; undefined8 *local_88; undefined4 local_70; uint local_6c; undefined8 *local_60; undefined8 local_58; ulonglong local_38; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_a8; local_88 = param_1; local_60 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_88 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { *puVar1 = license_services::LsEntityAuthKey::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180b8dcd0(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; uVar3 = (uint)&stack0x00000000 & 0x4ff; uVar3 = (uVar3 * uVar3 * 0x10 + 4) % 0x13; local_6c = (int)(-uVar3 | uVar3) >> 0x1f & 0xd4abU ^ 0xdb2b; local_70 = 0x970; uVar2 = FUN_180b8df44(); *(undefined4 *)(param_2 & 0xffffffff) = unaff_retaddr; return -((uVar2 ^ 0xffffffffffffffff) + 1); } ############ FUN_ 180b8dcd0 size=97 ############ undefined8 * FUN_180b8dcd0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b8f6a0 size=311 ############ void FUN_180b8f6a0(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b8f830(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180adc0e0(lVar2 + 0x40,lVar1,param_2); return; } FUN_180adc5d0(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x168; return; } ############ FUN_ 180b8f830 size=316 ############ longlong FUN_180b8f830(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180ae78b0 size=489 ############ void FUN_180ae78b0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong lVar9; undefined8 *puVar10; longlong local_res20; lVar4 = FUN_180ae6930(); if (lVar4 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar4 + 8),param_2 + 8); } } else { puVar8 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar7 = (undefined8 *)puVar8[1]; puVar10 = puVar8; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar5 = puVar7; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { if ((*(char *)((longlong)puVar8 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar5[4])) { puVar8 = puVar5; } puVar6 = (undefined8 *)*puVar5; puVar10 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if (*(char *)((longlong)puVar8 + 0x19) == '\0') { puVar7 = (undefined8 *)*puVar8; } puVar5 = puVar10; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar7[4]) { puVar6 = (undefined8 *)*puVar7; puVar8 = puVar7; } else { puVar6 = (undefined8 *)puVar7[2]; } puVar7 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } while (puVar5 != puVar8) { puVar7 = (undefined8 *)puVar5[2]; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; } } else { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar6 = (undefined8 *)puVar5[1]; puVar7 = puVar5; while ((puVar5 = puVar6, cVar1 == '\0' && (puVar7 == (undefined8 *)puVar5[2]))) { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar6 = (undefined8 *)puVar5[1]; puVar7 = puVar5; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar10); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar4 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar9 = lVar4 * 0x230 + *(longlong *)(lVar2 + 0x40); lVar3 = *(longlong *)(lVar2 + 0x48); lVar4 = lVar9 + 0x230; if (lVar4 != lVar3) { lVar9 = lVar9 - lVar4; do { FUN_1808b4830(lVar4 + lVar9,lVar4); lVar4 = lVar4 + 0x230; } while (lVar4 != lVar3); } puVar8 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x230); (**(code **)*puVar8)(puVar8,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x230; } return; } ############ FUN_ 180ae8370 size=694 ############ longlong FUN_180ae8370(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; ulonglong uVar12; ulonglong uVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar12 = *param_1; lVar5 = (param_2 - uVar12) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_2 - uVar12)),8); lVar7 = (lVar5 >> 8) - (lVar5 >> 0x3f); lVar5 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[1] - uVar12)),8) + (param_1[1] - uVar12); lVar5 = (lVar5 >> 8) - (lVar5 >> 0x3f); if (lVar5 == 0xc30c30c30c30c3) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = lVar5 + 1; lVar5 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[2] - uVar12)),8) + (param_1[2] - uVar12); uVar6 = (lVar5 >> 8) - (lVar5 >> 0x3f); uVar12 = uVar13; if ((uVar6 <= 0xc30c30c30c30c3 - (uVar6 >> 1)) && (uVar12 = (uVar6 >> 1) + uVar6, uVar12 < uVar13) ) { uVar12 = uVar13; } uVar6 = uVar12 * 0x150; lVar5 = lVar7; puVar14 = param_1; if (uVar12 < 0xc30c30c30c30c4) { if (uVar6 < 0x1000) { if (uVar6 == 0) { uVar6 = 0; } else { uVar6 = FUN_1811316e0(uVar6); } goto LAB_180ae84b2; } } else { uVar6 = 0xffffffffffffffff; } uVar4 = uVar6 + 0x27; if (uVar4 <= uVar6) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar6 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar6 - 8) = lVar3; LAB_180ae84b2: lVar8 = lVar7 * 0x150 + uVar6; lVar7 = lVar8 + 0x150; lVar3 = lVar7; uVar11 = uVar6; FUN_180ae9b50(lVar8,param_3); uVar4 = param_1[1]; if (param_2 == uVar4) { uVar9 = uVar6; for (uVar11 = *param_1; uVar11 != uVar4; uVar11 = uVar11 + 0x150) { FUN_180ae9b50(uVar9); uVar9 = uVar9 + 0x150; } } else { FUN_180aeac50(param_1,*param_1,param_2,uVar6,uVar13,lVar5,lVar3,uVar11,puVar14,uVar15); FUN_180aeac50(param_1,param_2,param_1[1],lVar7); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[1]; for (; puVar10 != puVar1; puVar10 = puVar10 + 0x2a) { (**(code **)*puVar10)(puVar10,0); } pvVar2 = (void *)*param_1; lVar5 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[2] - (longlong)pvVar2)) ,8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar5 >> 8) - (lVar5 >> 0x3f)) * 0x150)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar6; param_1[1] = uVar13 * 0x150 + uVar6; param_1[2] = uVar12 * 0x150 + uVar6; return lVar5 * 0x150 + *param_1; } ############ FUN_ 180b90620 size=1526 ############ /* WARNING: Removing unreachable block (ram,0x000180b906fa) */ /* WARNING: Removing unreachable block (ram,0x000180b9093f) */ /* WARNING: Removing unreachable block (ram,0x000180b908ee) */ /* WARNING: Removing unreachable block (ram,0x000180b908fc) */ /* WARNING: Removing unreachable block (ram,0x000180b908f0) */ /* WARNING: Removing unreachable block (ram,0x000180b9094c) */ void FUN_180b90620(undefined8 *param_1,undefined4 param_2) { undefined8 *puVar1; longlong lVar2; uint uVar3; longlong *plVar4; longlong *plVar5; uint uVar6; undefined **ppuVar7; uint uVar8; longlong *plVar9; uint *puVar10; longlong lVar11; int unaff_retaddr; undefined1 auStack_a8 [32]; undefined **local_88; undefined *local_80; uint local_78; uint local_74; undefined8 local_70; longlong local_68; undefined4 local_60; uint local_5c; undefined8 *local_58; undefined8 local_50; undefined4 local_40; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_88 = (undefined **)param_1; local_58 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_88 = (undefined **)puVar1; if (puVar1 != (undefined8 *)0x0) { *puVar1 = license_services::LsEntityTimeLimit::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180b905b0(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; uVar8 = (uint)&stack0x00000000 & 0x25ff; uVar8 = (uVar8 * uVar8 + 1) % 7; local_5c = ((int)(-uVar8 | uVar8) >> 0x1f) * -0x96ea ^ 0x951a; local_60 = 0x780; do { FUN_180b900a6(); FUN_180b900a6(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_88 = &PTR__guard_check_icall_181bab6a8; local_80 = &DAT_181bab6b8; plVar5 = (longlong *)&DAT_186f01000; do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_70 = 0x556efb6ea2f2b0c6; local_68 = CONCAT44(local_68._4_4_,0x2a9f735b); FUN_180b92640(param_1[2],param_2); uVar8 = ((uint)local_68 >> 0xf ^ (uint)local_68) >> 6 & 0x1f; uVar3 = (uint)local_68 ^ (uVar8 << 0xf | uVar8) << 6; local_68 = (longlong)local_80 - (longlong)local_88; uVar6 = 0x12d9fc08; uVar3 = uVar3 + 0xc0e21ea0; uVar8 = (uVar3 >> 0xf ^ uVar3) >> 5 & 0x3f; uVar3 = (uVar8 << 0xf | uVar8) << 5 ^ uVar3; uVar3 = uVar3 >> 8 | uVar3 << 0x18; uVar8 = (uVar3 >> 8 ^ uVar3) >> 0xb & 0xf; uVar3 = (uVar8 << 8 | uVar8) << 0xb ^ uVar3; lVar11 = 0; ppuVar7 = local_88; if (local_68 == 0) { LAB_180b90bfc: local_74 = uVar6; FUN_180b90c42(); return; } LAB_180b90a91: if ((plVar5 != (longlong *)0x0) && (lVar2 = *plVar5, -1 < lVar2)) { local_88 = (undefined **)0x2621fc0; do { if (ppuVar7 < IMAGE_DOS_HEADER_180000000.e_magic + lVar2 + 8) { if (-1 < lVar2) { plVar4 = (longlong *)(lVar2 + 0x180000000); if (plVar4 < (longlong *)((longlong)ppuVar7 + 4U)) { local_40 = *(undefined4 *)ppuVar7; plVar9 = plVar5; goto LAB_180b90b10; } } break; } plVar5 = plVar5 + 1; lVar2 = *plVar5; } while (-1 < lVar2); } goto LAB_180b90b30; while (plVar4 = (longlong *)(lVar2 + 0x180000000), plVar4 < (longlong *)((longlong)ppuVar7 + 4U)) { LAB_180b90b10: *(longlong *)(&stack0x00017fffffc0 + (lVar2 - (longlong)ppuVar7)) = *plVar4 + -0x180000000; plVar9 = plVar9 + 1; lVar2 = *plVar9; if (lVar2 < 0) break; } LAB_180b90b30: do { puVar10 = &local_78; uVar8 = FUN_180b90c3e(0x5f3c); *puVar10 = uVar8; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_78 = (local_78 * uVar3 >> 0x18 ^ local_78 * uVar3) * uVar3; uVar6 = uVar6 * uVar3 ^ local_78; lVar11 = lVar11 + 4; ppuVar7 = (undefined **)((longlong)ppuVar7 + 4); if (lVar11 == local_68) goto LAB_180b90bfc; goto LAB_180b90a91; } ############ FUN_ 180b905b0 size=97 ############ undefined8 * FUN_180b905b0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b92310 size=311 ############ void FUN_180b92310(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b924a0(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180ae8370(lVar2 + 0x40,lVar1,param_2); return; } FUN_180ae9b50(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x150; return; } ############ FUN_ 180b924a0 size=316 ############ longlong FUN_180b924a0(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180aeefc0 size=512 ############ undefined8 FUN_180aeefc0(longlong param_1,undefined8 param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; longlong lVar4; longlong lVar5; longlong local_res8; longlong local_res18 [2]; undefined1 local_50 [16]; undefined **local_40; undefined4 local_38; ulonglong local_30; undefined2 local_28; local_res8 = FUN_1811316e0(0x150); lVar5 = 0; lVar3 = lVar5; if (local_res8 != 0) { lVar3 = FUN_1809d4770(local_res8); } local_res18[0] = lVar3; FUN_180aeaa40(lVar3,param_2); FUN_1808bc930(lVar3,1); local_res8 = *(longlong *)(lVar3 + 0x18); lVar4 = *(longlong *)(param_1 + 8); plVar1 = *(longlong **)(lVar4 + 0x10); if (*(longlong **)(lVar4 + 0x18) == plVar1) { FUN_180703330(lVar4 + 8,plVar1,&local_res8); } else { *plVar1 = local_res8; *(longlong *)(lVar4 + 0x10) = *(longlong *)(lVar4 + 0x10) + 8; } FUN_18060b3f0(*(longlong *)(param_1 + 8) + 0x20,local_50,0,&local_res8,(undefined1)local_res8); lVar4 = *(longlong *)(param_1 + 0x18); lVar2 = *(longlong *)(lVar4 + 0x48); if (*(longlong *)(lVar4 + 0x50) == lVar2) { FUN_180ae8370(lVar4 + 0x40,lVar2,lVar3); } else { FUN_180ae9b50(lVar2,lVar3); *(longlong *)(lVar4 + 0x48) = *(longlong *)(lVar4 + 0x48) + 0x150; } plVar1 = *(longlong **)(param_1 + 0x40); if (*(longlong **)(param_1 + 0x48) == plVar1) { FUN_18080f490(param_1 + 0x38,plVar1,local_res18); lVar3 = local_res18[0]; } else { *plVar1 = lVar3; *(longlong *)(param_1 + 0x40) = *(longlong *)(param_1 + 0x40) + 8; } local_res8 = FUN_1811316e0(0x58); lVar4 = lVar5; if (local_res8 != 0) { lVar4 = FUN_1808bb6f0(local_res8,lVar3,param_1); } plVar1 = *(longlong **)(param_1 + 0x28); local_res8 = lVar4; if (*(longlong **)(param_1 + 0x30) == plVar1) { FUN_18080f490(param_1 + 0x20,plVar1,&local_res8); } else { *plVar1 = lVar4; *(longlong *)(param_1 + 0x28) = *(longlong *)(param_1 + 0x28) + 8; } local_40 = license_services::LsRelation::vftable; local_38 = *(undefined4 *)(lVar3 + 0x10); local_30 = *(ulonglong *)(lVar3 + 0x18); local_28 = *(undefined2 *)(lVar3 + 0x20); if ((0x7fffffff00000000 < (longlong)local_30) && (local_30 < 0x8000000000000000)) { lVar5 = 1; } if ((char)lVar5 != '\0') { FUN_18080c5f0(*(undefined8 *)(param_1 + 0x10),&local_40); } return *(undefined8 *)(*(longlong *)(param_1 + 0x28) + -8); } ############ FUN_ 180af11e0 size=679 ############ longlong FUN_180af11e0(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0x1d0; lVar13 = (longlong)(param_1[1] - uVar11) / 0x1d0; if (lVar13 == 0x8d3dcb08d3dcb0) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0x1d0; uVar11 = uVar12; if ((uVar4 <= 0x8d3dcb08d3dcb0 - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12) ) { uVar11 = uVar12; } uVar4 = uVar11 * 0x1d0; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0x8d3dcb08d3dcb1) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_180af131b; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_180af131b: lVar7 = lVar1 * 0x1d0 + uVar4; lVar1 = lVar7 + 0x1d0; lVar5 = lVar1; uVar10 = uVar4; FUN_1809d2c90(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0x1d0) { FUN_1809d2c90(uVar8); uVar8 = uVar8 + 0x1d0; } } else { FUN_180af3320(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_180af3320(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x3a) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0x1d0) * 0x1d0)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0x1d0 + uVar4; param_1[2] = uVar11 * 0x1d0 + uVar4; return lVar13 * 0x1d0 + *param_1; } ############ FUN_ 180b95360 size=311 ############ void FUN_180b95360(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b954f0(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180af11e0(lVar2 + 0x40,lVar1,param_2); return; } FUN_1809d2c90(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x1d0; return; } ############ FUN_ 180b954f0 size=316 ############ longlong FUN_180b954f0(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180af7b40 size=690 ############ longlong FUN_180af7b40(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; longlong lVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; ulonglong uVar12; ulonglong uVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar12 = *param_1; lVar6 = (longlong)(param_2 - uVar12) / 6 + ((longlong)(param_2 - uVar12) >> 0x3f); lVar7 = (lVar6 >> 6) - (lVar6 >> 0x3f); lVar6 = (longlong)(param_1[1] - uVar12) / 0x180; if (lVar6 == 0xaaaaaaaaaaaaaa) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = lVar6 + 1; uVar3 = (longlong)(param_1[2] - uVar12) / 0x180; uVar12 = uVar13; if ((uVar3 <= 0xaaaaaaaaaaaaaa - (uVar3 >> 1)) && (uVar12 = (uVar3 >> 1) + uVar3, uVar12 < uVar13) ) { uVar12 = uVar13; } uVar3 = uVar12 * 0x180; lVar6 = lVar7; puVar14 = param_1; if (uVar12 < 0xaaaaaaaaaaaaab) { if (uVar3 < 0x1000) { if (uVar3 == 0) { uVar3 = 0; } else { uVar3 = FUN_1811316e0(uVar3); } goto LAB_180af7c7c; } } else { uVar3 = 0xffffffffffffffff; } uVar5 = uVar3 + 0x27; if (uVar5 <= uVar3) { uVar5 = 0xffffffffffffffff; } lVar4 = FUN_1811316e0(uVar5); if (lVar4 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar3 = lVar4 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar3 - 8) = lVar4; LAB_180af7c7c: lVar8 = lVar7 * 0x180 + uVar3; lVar7 = lVar8 + 0x180; lVar4 = lVar7; uVar11 = uVar3; FUN_180af9260(lVar8,param_3); uVar5 = param_1[1]; if (param_2 == uVar5) { uVar9 = uVar3; for (uVar11 = *param_1; uVar11 != uVar5; uVar11 = uVar11 + 0x180) { FUN_180af9260(uVar9); uVar9 = uVar9 + 0x180; } } else { FUN_180afa8d0(param_1,*param_1,param_2,uVar3,uVar13,lVar6,lVar4,uVar11,puVar14,uVar15); FUN_180afa8d0(param_1,param_2,param_1[1],lVar7); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[1]; for (; puVar10 != puVar1; puVar10 = puVar10 + 0x30) { (**(code **)*puVar10)(puVar10,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar2) / 0x180) * 0x180)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar3; param_1[1] = uVar13 * 0x180 + uVar3; param_1[2] = uVar12 * 0x180 + uVar3; return lVar6 * 0x180 + *param_1; } ############ FUN_ 180b966d0 size=682 ############ /* WARNING: Removing unreachable block (ram,0x000180b96899) */ /* WARNING: Removing unreachable block (ram,0x000180b9690e) */ /* WARNING: Removing unreachable block (ram,0x000180b967e6) */ void FUN_180b966d0(undefined8 *param_1,undefined4 param_2) { undefined8 *puVar1; uint uVar2; int iVar3; uint uVar4; undefined1 auStack_a8 [40]; undefined8 *local_80; undefined8 *local_70; uint local_64; uint local_60; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_70 = param_1; local_58 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_80 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { *puVar1 = license_services::LsEntityExpirationWarning::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180b96660(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; uVar4 = (uint)&stack0x00000000; uVar2 = uVar4 & 0x1bf; iVar3 = (uVar2 + 2) * (uVar2 + 1) * uVar2; local_64 = ((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e ^ 0xb00; uVar2 = uVar4 & 0x23f; iVar3 = (uVar2 + 2) * (uVar2 + 1) * uVar2; uVar2 = ((uVar4 & 0xbff) * (uVar4 & 0xbff) * 0x10 + 4) % 0x13; local_60 = 0xc010 >> ((byte)(((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e) & 0x1f) ^ ((int)(-uVar2 | uVar2) >> 0x1f) * -0xce30; FUN_180b98520(*param_1,param_2); FUN_180b9697e(); return; } ############ FUN_ 180b96660 size=97 ############ undefined8 * FUN_180b96660(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable ; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180b981f0 size=311 ############ void FUN_180b981f0(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180b98380(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180af7b40(lVar2 + 0x40,lVar1,param_2); return; } FUN_180af9260(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x180; return; } ############ FUN_ 180b98380 size=316 ############ longlong FUN_180b98380(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180afdab0 size=512 ############ undefined8 FUN_180afdab0(longlong param_1,undefined8 param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; longlong lVar4; longlong lVar5; longlong local_res8; longlong local_res18 [2]; undefined1 local_50 [16]; undefined **local_40; undefined4 local_38; ulonglong local_30; undefined2 local_28; local_res8 = FUN_1811316e0(0x180); lVar5 = 0; lVar3 = lVar5; if (local_res8 != 0) { lVar3 = FUN_1809d3ba0(local_res8); } local_res18[0] = lVar3; FUN_180afa650(lVar3,param_2); FUN_180afe750(lVar3,1); local_res8 = *(longlong *)(lVar3 + 0x18); lVar4 = *(longlong *)(param_1 + 8); plVar1 = *(longlong **)(lVar4 + 0x10); if (*(longlong **)(lVar4 + 0x18) == plVar1) { FUN_180703330(lVar4 + 8,plVar1,&local_res8); } else { *plVar1 = local_res8; *(longlong *)(lVar4 + 0x10) = *(longlong *)(lVar4 + 0x10) + 8; } FUN_18060b3f0(*(longlong *)(param_1 + 8) + 0x20,local_50,0,&local_res8,(undefined1)local_res8); lVar4 = *(longlong *)(param_1 + 0x18); lVar2 = *(longlong *)(lVar4 + 0x48); if (*(longlong *)(lVar4 + 0x50) == lVar2) { FUN_180af7b40(lVar4 + 0x40,lVar2,lVar3); } else { FUN_180af9260(lVar2,lVar3); *(longlong *)(lVar4 + 0x48) = *(longlong *)(lVar4 + 0x48) + 0x180; } plVar1 = *(longlong **)(param_1 + 0x40); if (*(longlong **)(param_1 + 0x48) == plVar1) { FUN_18080f490(param_1 + 0x38,plVar1,local_res18); lVar3 = local_res18[0]; } else { *plVar1 = lVar3; *(longlong *)(param_1 + 0x40) = *(longlong *)(param_1 + 0x40) + 8; } local_res8 = FUN_1811316e0(0x68); lVar4 = lVar5; if (local_res8 != 0) { lVar4 = FUN_180afdeb0(local_res8,lVar3,param_1); } plVar1 = *(longlong **)(param_1 + 0x28); local_res8 = lVar4; if (*(longlong **)(param_1 + 0x30) == plVar1) { FUN_18080f490(param_1 + 0x20,plVar1,&local_res8); } else { *plVar1 = lVar4; *(longlong *)(param_1 + 0x28) = *(longlong *)(param_1 + 0x28) + 8; } local_40 = license_services::LsRelation::vftable; local_38 = *(undefined4 *)(lVar3 + 0x10); local_30 = *(ulonglong *)(lVar3 + 0x18); local_28 = *(undefined2 *)(lVar3 + 0x20); if ((0x7fffffff00000000 < (longlong)local_30) && (local_30 < 0x8000000000000000)) { lVar5 = 1; } if ((char)lVar5 != '\0') { FUN_18080c5f0(*(undefined8 *)(param_1 + 0x10),&local_40); } return *(undefined8 *)(*(longlong *)(param_1 + 0x28) + -8); } ############ FUN_ 180afe9e0 size=570 ############ undefined8 FUN_180afe9e0(longlong param_1,undefined8 param_2,ulonglong param_3) { undefined8 *puVar1; char cVar2; longlong lVar3; undefined8 uVar4; char *pcVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; char *local_res8 [2]; ulonglong local_res18; char *local_res20; undefined **local_60; undefined4 local_58; longlong local_50; undefined2 local_48; local_res18 = param_3; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] != (char *)0x0) { FUN_1805a48c0(local_res8[0],"LsObjectRelationVector<>::at: This one-to-one relation is empty." ); } lVar3 = FUN_1805c0260(); local_res8[0] = (char *)CONCAT44(local_res8[0]._4_4_,0x6e); local_res20 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorexpirationwarning.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res8); } if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5) <= param_3) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8[0], "LsObjectRelationVector<>::at: Index is out of range. This object relation vector contains %u entries and the supplied index value was %u" ); } pcVar5 = (char *)FUN_1811316e0(0x18); if (pcVar5 == (char *)0x0) { pcVar5 = (char *)0x0; } else { local_res8[0] = pcVar5; FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; } local_res8[0] = (char *)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0x70); local_res8[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorexpirationwarning.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar5 + 8),local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } lVar3 = **(longlong **)(param_1 + 8); if (param_3 < (ulonglong)((*(longlong **)(param_1 + 8))[1] - lVar3 >> 5)) { lVar7 = param_3 * 0x20; local_60 = license_services::LsRelation::vftable; local_58 = *(undefined4 *)(lVar7 + 8 + lVar3); local_50 = *(longlong *)(lVar7 + 0x10 + lVar3); local_48 = *(undefined2 *)(lVar7 + 0x18 + lVar3); cVar2 = FUN_18080b1c0(&local_60); if (cVar2 == '\0') { lVar3 = *(longlong *)(param_1 + 0x20); puVar1 = *(undefined8 **)(*(longlong *)(lVar3 + 8) + 0x20); cVar2 = *(char *)((longlong)puVar1[1] + 0x19); puVar9 = puVar1; puVar8 = (undefined8 *)puVar1[1]; while (cVar2 == '\0') { if ((longlong)puVar8[4] < local_50) { puVar6 = (undefined8 *)puVar8[2]; puVar8 = puVar9; } else { puVar6 = (undefined8 *)*puVar8; } puVar9 = puVar8; puVar8 = puVar6; cVar2 = *(char *)((longlong)puVar6 + 0x19); } if ((puVar9 == puVar1) || (local_50 < (longlong)puVar9[4])) { puVar9 = puVar1; } if (puVar9 == puVar1) { FUN_180afbfe0(lVar3,*(undefined8 *)(param_1 + 8),0); } } else { lVar3 = *(longlong *)(param_1 + 0x20); } FUN_180afbd90(lVar3,param_2,&local_60,0); return param_2; } /* WARNING: Subroutine does not return */ FUN_1808077d0(); } ############ FUN_ 180afed20 size=569 ############ undefined8 FUN_180afed20(longlong param_1,undefined8 param_2,ulonglong param_3) { undefined8 *puVar1; char cVar2; longlong lVar3; undefined8 uVar4; char *pcVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; char *local_res8 [2]; ulonglong local_res18; char *local_res20; undefined **local_60; undefined4 local_58; longlong local_50; undefined2 local_48; local_res18 = param_3; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] != (char *)0x0) { FUN_1805a48c0(local_res8[0],"LsObjectRelationVector<>::at: This one-to-one relation is empty." ); } lVar3 = FUN_1805c0260(); local_res8[0] = (char *)CONCAT44(local_res8[0]._4_4_,0x6e); local_res20 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorlicense.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res8); } if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5) <= param_3) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8[0], "LsObjectRelationVector<>::at: Index is out of range. This object relation vector contains %u entries and the supplied index value was %u" ); } pcVar5 = (char *)FUN_1811316e0(0x18); if (pcVar5 == (char *)0x0) { pcVar5 = (char *)0x0; } else { local_res8[0] = pcVar5; FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; } local_res8[0] = (char *)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0x70); local_res8[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorlicense.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar5 + 8),local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } lVar3 = **(longlong **)(param_1 + 8); if (param_3 < (ulonglong)((*(longlong **)(param_1 + 8))[1] - lVar3 >> 5)) { lVar7 = param_3 * 0x20; local_60 = license_services::LsRelation::vftable; local_58 = *(undefined4 *)(lVar7 + 8 + lVar3); local_50 = *(longlong *)(lVar7 + 0x10 + lVar3); local_48 = *(undefined2 *)(lVar7 + 0x18 + lVar3); cVar2 = FUN_18080b1c0(&local_60); if (cVar2 == '\0') { lVar3 = *(longlong *)(param_1 + 0x20); puVar1 = *(undefined8 **)(*(longlong *)(lVar3 + 8) + 0x20); cVar2 = *(char *)((longlong)puVar1[1] + 0x19); puVar9 = puVar1; puVar8 = (undefined8 *)puVar1[1]; while (cVar2 == '\0') { if ((longlong)puVar8[4] < local_50) { puVar6 = (undefined8 *)puVar8[2]; puVar8 = puVar9; } else { puVar6 = (undefined8 *)*puVar8; } puVar9 = puVar8; puVar8 = puVar6; cVar2 = *(char *)((longlong)puVar6 + 0x19); } if ((puVar9 == puVar1) || (local_50 < (longlong)puVar9[4])) { puVar9 = puVar1; } if (puVar9 == puVar1) { FUN_1808b7490(lVar3,*(undefined8 *)(param_1 + 8),0); } } else { lVar3 = *(longlong *)(param_1 + 0x20); } FUN_1808b7240(lVar3,param_2,&local_60,0); return param_2; } /* WARNING: Subroutine does not return */ FUN_1808077d0(); } ############ FUN_ 180aff0b0 size=570 ############ undefined8 FUN_180aff0b0(longlong param_1,undefined8 param_2,ulonglong param_3) { undefined8 *puVar1; char cVar2; longlong lVar3; undefined8 uVar4; char *pcVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; char *local_res8 [2]; ulonglong local_res18; char *local_res20; undefined **local_60; undefined4 local_58; longlong local_50; undefined2 local_48; local_res18 = param_3; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] != (char *)0x0) { FUN_1805a48c0(local_res8[0],"LsObjectRelationVector<>::at: This one-to-one relation is empty." ); } lVar3 = FUN_1805c0260(); local_res8[0] = (char *)CONCAT44(local_res8[0]._4_4_,0x6e); local_res20 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectoractivationinfo.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res8); } if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5) <= param_3) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8[0], "LsObjectRelationVector<>::at: Index is out of range. This object relation vector contains %u entries and the supplied index value was %u" ); } pcVar5 = (char *)FUN_1811316e0(0x18); if (pcVar5 == (char *)0x0) { pcVar5 = (char *)0x0; } else { local_res8[0] = pcVar5; FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; } local_res8[0] = (char *)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0x70); local_res8[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectoractivationinfo.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar5 + 8),local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } lVar3 = **(longlong **)(param_1 + 8); if (param_3 < (ulonglong)((*(longlong **)(param_1 + 8))[1] - lVar3 >> 5)) { lVar7 = param_3 * 0x20; local_60 = license_services::LsRelation::vftable; local_58 = *(undefined4 *)(lVar7 + 8 + lVar3); local_50 = *(longlong *)(lVar7 + 0x10 + lVar3); local_48 = *(undefined2 *)(lVar7 + 0x18 + lVar3); cVar2 = FUN_18080b1c0(&local_60); if (cVar2 == '\0') { lVar3 = *(longlong *)(param_1 + 0x20); puVar1 = *(undefined8 **)(*(longlong *)(lVar3 + 8) + 0x20); cVar2 = *(char *)((longlong)puVar1[1] + 0x19); puVar9 = puVar1; puVar8 = (undefined8 *)puVar1[1]; while (cVar2 == '\0') { if ((longlong)puVar8[4] < local_50) { puVar6 = (undefined8 *)puVar8[2]; puVar8 = puVar9; } else { puVar6 = (undefined8 *)*puVar8; } puVar9 = puVar8; puVar8 = puVar6; cVar2 = *(char *)((longlong)puVar6 + 0x19); } if ((puVar9 == puVar1) || (local_50 < (longlong)puVar9[4])) { puVar9 = puVar1; } if (puVar9 == puVar1) { FUN_180af4cb0(lVar3,*(undefined8 *)(param_1 + 8),0); } } else { lVar3 = *(longlong *)(param_1 + 0x20); } FUN_180af4a60(lVar3,param_2,&local_60,0); return param_2; } /* WARNING: Subroutine does not return */ FUN_1808077d0(); } ############ FUN_ 180b039f0 size=214 ############ void FUN_180b039f0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsActivationInfo::targetSlowPath: The LsActivationInfoWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsactivationinfo.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180b03e60 size=77 ############ undefined8 * FUN_180b03e60(undefined8 param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x128); if (puVar1 != (undefined8 *)0x0) { FUN_1806d2580(puVar1,param_1); *puVar1 = pace::ActivationException::vftable; return puVar1; } return (undefined8 *)0x0; } ############ FUN_ 180b1e3f0 size=607 ############ /* WARNING: Instruction at (ram,0x000180b1e65d) overlaps instruction at (ram,0x000180b1e65c) */ /* WARNING: Removing unreachable block (ram,0x000180b1e4ba) */ /* WARNING: Removing unreachable block (ram,0x000180b1e657) */ undefined8 FUN_180b1e3f0(longlong param_1,undefined8 *param_2,undefined1 param_3) { undefined8 *puVar1; undefined8 uVar2; int iVar3; uint uVar4; undefined8 *puVar5; uint uVar6; uint uVar7; longlong lVar8; int unaff_retaddr; undefined1 auStack_398 [64]; undefined1 local_358; undefined4 uStack_350; undefined8 *local_348; undefined4 local_328 [4]; uint local_318; uint local_314; longlong local_308; char *local_300 [5]; undefined8 local_2d8; undefined1 local_278; undefined8 local_268; undefined8 local_260; ulonglong local_40; local_2d8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_398; uVar6 = (uint)&stack0x00000000; iVar3 = (uVar6 & 0x12ff) * (uVar6 & 0x12ff) + 1; uVar4 = (iVar3 >> 4) + (iVar3 >> 1) + iVar3 * 0x24924924 >> 0x1d; if ((((int)(uVar4 - 7) >> 0x1f & uVar4) >> 0xc & 1) == 0) { uVar4 = ((uVar6 & 0x4ff) + 1) * (uVar6 & 0x4ff) + 0x503f & 0x80000001; } else { iVar3 = (uVar6 & 0x10ff) * (uVar6 & 0x10ff) + 1; uVar4 = (iVar3 >> 4) + (iVar3 >> 1) + iVar3 * 0x24924924 >> 0x1d; uVar4 = (int)(uVar4 - 7) >> 0x1f & uVar4; } local_318 = ((int)(-uVar4 | uVar4) >> 0x1f) * -0x11ba ^ 0x1d5a; uVar7 = uVar6 & 0x2bf; uVar4 = ((uVar6 & 0x3cff) + 1) * (uVar6 & 0x3cff) + 7; local_314 = -(0 >> ((char)uVar4 + (char)(uVar4 / 0x51) * -0x51 & 0x1fU)) - 0x1021U & 0xadde ^ 0xa5ee << ((char)(((uVar7 + 2) * (uVar7 + 1) * uVar7) / 3) * -3 & 0x1fU); puVar5 = (undefined8 *)0x0; local_268 = 0; local_260 = 0xf; local_278 = 0; local_358 = 0; local_308 = param_1; if ((int)param_2[1] == (int)*param_2) { local_348 = (undefined8 *)FUN_1811316e0(0x18); if (local_348 != (undefined8 *)0x0) { FUN_1805a48c0(local_348,"No ASN1 bytes provided"); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_348 = puVar1; if (puVar1 != (undefined8 *)0x0) { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d"); *puVar1 = pace::PaceLocationInfoFormatter::vftable; puVar5 = puVar1; } local_328[0] = 0x4f; local_300[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parser.cpp"; uVar2 = FUN_1805a21d0(puVar5[1],local_300); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,local_328); } *(undefined1 *)(param_1 + 0x28) = param_3; do { lVar8 = (longlong)param_2 + param_1; param_1 = param_1 - lVar8; param_2 = (undefined8 *)-param_1; param_1 = lVar8 + param_1; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_348 = (undefined8 *)*param_2; uStack_350 = 0x811c9e07; uVar2 = func_0x000180b201a6(); return uVar2; } ############ FUN_ 180b1fac0 size=1693 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180b1ff33) overlaps instruction at (ram,0x000180b1ff32) */ /* WARNING: Removing unreachable block (ram,0x000180b1fbfd) */ /* WARNING: Removing unreachable block (ram,0x000180b1ff32) */ void FUN_180b1fac0(longlong param_1,undefined8 param_2,char *param_3) { int *piVar1; char cVar2; longlong lVar3; undefined8 *puVar4; undefined8 uVar5; char cVar6; uint uVar7; int unaff_retaddr; undefined4 local_a0 [2]; undefined4 local_98 [2]; uint local_90; uint local_8c; char *local_88; char *local_80 [2]; undefined8 local_70; local_70 = 0xfffffffffffffffe; if (((ulonglong)&stack0x00000000 & 0x380) == 0) { uVar7 = 0x1dfb1b94; } else { uVar7 = (uint)&stack0x00000000 & 0x1dff; uVar7 = (uVar7 * uVar7 * 0x10 + 4) % 0x13; } local_90 = ((int)(-uVar7 | uVar7) >> 0x1f ^ 0xf30fU) & 0x4e5d; uVar7 = (uint)&stack0x00000000 & 0x23f; local_8c = 0xcb16 >> ((char)((ulonglong) ((longlong)(int)((uVar7 + 2) * (uVar7 + 1) * uVar7) * 0x55555556) >> 0x20) * -3 & 0x1fU) ^ 0xc126; if (*(longlong *)(param_1 + 0x10) != 0) { LOCK(); piVar1 = (int *)(*(longlong *)(param_1 + 0x10) + 8); *piVar1 = *piVar1 + 1; UNLOCK(); } do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { cVar6 = -0x37; FUN_180b1f9f5(); param_3 = (char *)-(longlong)param_3; if (cVar6 != '\0') { param_3 = (char *)(~(ulonglong)param_3 + 1); } uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); if (*(longlong *)(param_1 + 8) == 0) { lVar3 = FUN_1811316e0(0x18); if (lVar3 != 0) { FUN_1805a48c0(lVar3,"No items to parse"); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); if (puVar4 == (undefined8 *)0x0) { puVar4 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; } local_a0[0] = 0xb6; local_88 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parser.cpp"; uVar5 = FUN_1805a21d0(puVar4[1],&local_88); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_a0); } cVar6 = *param_3; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); cVar2 = param_3[1]; do { FUN_180b25439(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); if ((cVar6 == '\x01') && (*(char *)(*(longlong *)(param_1 + 8) + 8) == cVar2)) { do { FUN_180b1ea60(); FUN_180b20dd7(); FUN_180b21dad(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); /* WARNING: Call to offcut address within same function */ func_0x000180b201bf(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } lVar3 = FUN_1811316e0(0x18); if (lVar3 != 0) { FUN_1805a48c0(lVar3,"The top-most item does not match the first item in the path"); } puVar4 = (undefined8 *)FUN_1811316e0(0x18); if (puVar4 == (undefined8 *)0x0) { puVar4 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar4,"|__FILE__|%s|__LINE__|%d"); *puVar4 = pace::PaceLocationInfoFormatter::vftable; } local_98[0] = 0xbf; local_80[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parser.cpp" ; uVar5 = FUN_1805a21d0(puVar4[1],local_80); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_98); } ############ FUN_ 180b22800 size=3194 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_180b22800(longlong *param_1,longlong *param_2,char *param_3,int param_4,longlong param_5, longlong *param_6,undefined1 param_7) { int *piVar1; undefined8 *puVar2; int iVar3; undefined8 *puVar4; longlong *plVar5; ulonglong uVar6; char cVar7; int iVar8; undefined8 *puVar9; undefined8 uVar10; undefined4 *puVar11; longlong *plVar12; undefined8 **ppuVar13; longlong lVar14; void *pvVar15; undefined8 *puVar16; void *pvVar17; undefined1 *puVar18; longlong *plVar19; char *pcVar20; undefined1 auStack_308 [32]; longlong local_2e8; void **local_2e0; undefined1 local_2d8; undefined1 local_2c8 [4]; uint local_2c4 [3]; undefined8 local_2b8; undefined8 uStack_2b0; int local_2a8; undefined8 *local_2a0; longlong *local_298; undefined4 local_290 [2]; undefined4 local_288 [2]; undefined4 local_280 [2]; undefined4 local_278 [2]; longlong local_270; longlong *local_268; longlong *local_260; longlong *local_258; longlong *local_250; longlong *local_248; longlong *local_240; char *local_238; longlong *local_230; void *local_220; undefined4 uStack_218; undefined4 uStack_214; ulonglong local_210; undefined8 *local_208; char *local_200; char *local_1f8; char *local_1f0; char *local_1e8; undefined8 *local_1e0; longlong *local_1d8; longlong *local_1d0; longlong *local_1c8; undefined4 local_1b8; undefined4 uStack_1b4; undefined4 uStack_1b0; undefined4 uStack_1ac; undefined8 local_1a8; longlong local_1a0; longlong *local_198; longlong local_190; longlong local_188; undefined8 *local_180; longlong local_178; undefined8 *local_170; longlong *local_168; undefined8 local_160 [2]; ulonglong local_150; ulonglong local_148; undefined1 local_140; undefined7 uStack_13f; undefined8 local_130; ulonglong local_128; undefined1 local_120; undefined7 uStack_11f; undefined8 local_110; ulonglong local_108; undefined1 local_100; undefined7 uStack_ff; undefined8 local_f0; ulonglong local_e8; undefined1 local_e0; undefined7 uStack_df; undefined8 local_d0; ulonglong local_c8; undefined4 local_c0; undefined4 uStack_bc; undefined4 uStack_b8; undefined4 uStack_b4; undefined4 local_b0; undefined4 uStack_ac; undefined4 uStack_a8; undefined4 uStack_a4; undefined4 local_a0; undefined4 uStack_9c; undefined4 uStack_98; undefined4 uStack_94; undefined4 local_90; undefined4 uStack_8c; undefined4 uStack_88; undefined4 uStack_84; undefined4 local_80; undefined4 uStack_7c; undefined4 uStack_78; undefined4 uStack_74; undefined4 local_70; undefined4 uStack_6c; undefined4 uStack_68; undefined4 uStack_64; undefined4 local_60; undefined4 uStack_5c; undefined4 uStack_58; undefined4 uStack_54; undefined4 local_50; undefined4 uStack_4c; undefined4 uStack_48; undefined4 uStack_44; ulonglong local_40; local_1a8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_308; local_270 = param_5; local_1d8 = param_6; local_168 = param_6; local_2b8 = (longlong *)0x0; uStack_2b0 = (longlong *)0x0; local_2a8 = param_4; local_298 = param_1; local_238 = param_3; local_230 = param_2; local_198 = param_2; FUN_1805a4070(local_160,param_6); local_2c8[0] = param_7; if (local_148 - local_150 < 4) { local_2e8 = 4; FUN_1805a1320(local_160,4,0,&DAT_181c124c4); } else { puVar18 = (undefined1 *)local_160; if (0xf < local_148) { puVar18 = (undefined1 *)CONCAT71(local_160[0]._1_7_,(undefined1)local_160[0]); } puVar18 = puVar18 + local_150; local_150 = local_150 + 4; memmove(puVar18,&DAT_181c124c4,4); puVar18[4] = 0; param_5 = local_270; } if ((*param_2 == 0) || (param_5 == 0)) { local_2a0 = (undefined8 *)FUN_1811316e0(0x18); if (local_2a0 != (undefined8 *)0x0) { FUN_1805a48c0(local_2a0,"The ASN1 item pointer or cert instance pointer is NULL"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_2a0 = puVar9; if (puVar9 == (undefined8 *)0x0) { puVar9 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; } local_290[0] = 0x188; local_200 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parser.cpp" ; uVar10 = FUN_1805a21d0(puVar9[1],&local_200); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_290); } if ((param_3 == (char *)0x0) || ((param_4 + 1U & 0xfffffffe) == 0)) { local_2a0 = (undefined8 *)FUN_1811316e0(0x18); if (local_2a0 != (undefined8 *)0x0) { FUN_1805a48c0(local_2a0,"decodeContainer: 1: The ASN1 bytes have a bad header or content size" ); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_2a0 = puVar9; if (puVar9 == (undefined8 *)0x0) { puVar9 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; } local_288[0] = 0x18e; local_1f8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parser.cpp" ; uVar10 = FUN_1805a21d0(puVar9[1],&local_1f8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_288); } plVar19 = uStack_2b0; if (param_4 != 0) { do { iVar8 = FUN_180a00950(local_270,param_3,local_2c4); if (iVar8 == -1) { local_188 = FUN_1811316e0(0x18); if (local_188 != 0) { FUN_1805a48c0(local_188, "decodeContainer: 2: The ASN1 bytes have a bad header or content size"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_180 = puVar9; if (puVar9 == (undefined8 *)0x0) { puVar9 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; } local_280[0] = 0x19f; local_1f0 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parser.cpp"; uVar10 = FUN_1805a21d0(puVar9[1],&local_1f0); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_280); } pcVar20 = param_3 + local_2c4[0]; cVar7 = FUN_180ba3c40(*param_3,pcVar20,iVar8,local_2c8); if (cVar7 == '\0') { plVar12 = (longlong *)0x0; if ((char)param_1[5] != '\0') { local_d0 = 0; local_c8 = 0xf; local_e0 = 0; FUN_1805a6cb0(&local_e0,&DAT_181bb8e08,1); puVar11 = (undefined4 *)FUN_180a1e7b0(&local_e0,0,local_160); local_60 = *puVar11; uStack_5c = puVar11[1]; uStack_58 = puVar11[2]; uStack_54 = puVar11[3]; local_50 = puVar11[4]; uStack_4c = puVar11[5]; uStack_48 = puVar11[6]; uStack_44 = puVar11[7]; *(undefined8 *)(puVar11 + 4) = 0; *(undefined8 *)(puVar11 + 6) = 0xf; *(undefined1 *)puVar11 = 0; local_110 = 0; local_108 = 0xf; local_120 = 0; FUN_1805a6cb0(&local_120,&DAT_181bb54d0,1); puVar11 = (undefined4 *)FUN_180a1e7b0(&local_120,0,local_160); local_80 = *puVar11; uStack_7c = puVar11[1]; uStack_78 = puVar11[2]; uStack_74 = puVar11[3]; local_70 = puVar11[4]; uStack_6c = puVar11[5]; uStack_68 = puVar11[6]; uStack_64 = puVar11[7]; *(undefined8 *)(puVar11 + 4) = 0; *(undefined8 *)(puVar11 + 6) = 0xf; *(undefined1 *)puVar11 = 0; FUN_180b225f0(&local_80,&local_60,local_2c4[0] + iVar8,param_3); if (0xf < CONCAT44(uStack_64,uStack_68)) { pvVar17 = (void *)CONCAT44(uStack_7c,local_80); pvVar15 = pvVar17; if ((0xfff < CONCAT44(uStack_64,uStack_68) + 1) && (pvVar15 = *(void **)((longlong)pvVar17 + -8), 0x1f < (ulonglong)((longlong)pvVar17 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } if (0xf < local_108) { pvVar17 = (void *)CONCAT71(uStack_11f,local_120); pvVar15 = pvVar17; if ((0xfff < local_108 + 1) && (pvVar15 = *(void **)((longlong)pvVar17 + -8), 0x1f < (ulonglong)((longlong)pvVar17 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } local_110 = 0; local_108 = 0xf; local_120 = 0; if (0xf < CONCAT44(uStack_44,uStack_48)) { pvVar17 = (void *)CONCAT44(uStack_5c,local_60); pvVar15 = pvVar17; if ((0xfff < CONCAT44(uStack_44,uStack_48) + 1) && (pvVar15 = *(void **)((longlong)pvVar17 + -8), 0x1f < (ulonglong)((longlong)pvVar17 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } if (0xf < local_c8) { pvVar17 = (void *)CONCAT71(uStack_df,local_e0); pvVar15 = pvVar17; if ((0xfff < local_c8 + 1) && (pvVar15 = *(void **)((longlong)pvVar17 + -8), 0x1f < (ulonglong)((longlong)pvVar17 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } } local_1a0 = FUN_1811316e0(0x38); if (local_1a0 != 0) { plVar12 = (longlong *)FUN_180b24b00(local_1a0); } local_258 = plVar12; FUN_180a0c310(&local_250,plVar12); FUN_1805ae620(&local_258,plVar12,plVar12); plVar12 = local_258; local_240 = local_258; local_258 = local_2b8; local_2b8 = plVar12; uStack_2b0 = local_250; local_250 = plVar19; if (plVar19 != (longlong *)0x0) { LOCK(); plVar12 = plVar19 + 1; lVar14 = *plVar12; *(int *)plVar12 = (int)*plVar12 + -1; UNLOCK(); if ((int)lVar14 == 1) { (**(code **)(*plVar19 + 8))(plVar19); LOCK(); piVar1 = (int *)((longlong)plVar19 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar19 + 0x10))(plVar19); } } } plVar19 = uStack_2b0; *(char *)(local_240 + 1) = *param_3; if (iVar8 != 0) { (**(code **)(*local_240 + 0x40))(local_240,pcVar20,iVar8); } } else { if (*param_3 == '\x03') { if (*pcVar20 != '\0') { local_178 = FUN_1811316e0(0x18); if (local_178 != 0) { FUN_1805a48c0(local_178,"This parser does not support unued bits in a bit string"); } puVar9 = (undefined8 *)FUN_1811316e0(0x18); local_170 = puVar9; if (puVar9 == (undefined8 *)0x0) { puVar9 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar9,"|__FILE__|%s|__LINE__|%d"); *puVar9 = pace::PaceLocationInfoFormatter::vftable; } local_278[0] = 0x1b0; local_1e8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1parser.cpp"; uVar10 = FUN_1805a21d0(puVar9[1],&local_1e8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar10,local_278); } pcVar20 = pcVar20 + 1; local_2c4[0] = local_2c4[0] + 1; iVar8 = iVar8 + -1; } plVar12 = (longlong *)0x0; if ((char)local_298[5] != '\0') { local_f0 = 0; local_e8 = 0xf; local_100 = 0; FUN_1805a6cb0(&local_100,&DAT_181bb8e08,1); puVar11 = (undefined4 *)FUN_180a1e7b0(&local_100,0,local_160); local_a0 = *puVar11; uStack_9c = puVar11[1]; uStack_98 = puVar11[2]; uStack_94 = puVar11[3]; local_90 = puVar11[4]; uStack_8c = puVar11[5]; uStack_88 = puVar11[6]; uStack_84 = puVar11[7]; *(undefined8 *)(puVar11 + 4) = 0; *(undefined8 *)(puVar11 + 6) = 0xf; *(undefined1 *)puVar11 = 0; local_130 = 0; local_128 = 0xf; local_140 = 0; FUN_1805a6cb0(&local_140,&DAT_181bcb544,1); puVar11 = (undefined4 *)FUN_180a1e7b0(&local_140,0,local_160); local_c0 = *puVar11; uStack_bc = puVar11[1]; uStack_b8 = puVar11[2]; uStack_b4 = puVar11[3]; local_b0 = puVar11[4]; uStack_ac = puVar11[5]; uStack_a8 = puVar11[6]; uStack_a4 = puVar11[7]; *(undefined8 *)(puVar11 + 4) = 0; *(undefined8 *)(puVar11 + 6) = 0xf; *(undefined1 *)puVar11 = 0; FUN_180b225f0(&local_c0,&local_a0,local_2c4[0],param_3); if (0xf < CONCAT44(uStack_a4,uStack_a8)) { pvVar17 = (void *)CONCAT44(uStack_bc,local_c0); pvVar15 = pvVar17; if ((0xfff < CONCAT44(uStack_a4,uStack_a8) + 1) && (pvVar15 = *(void **)((longlong)pvVar17 + -8), 0x1f < (ulonglong)((longlong)pvVar17 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } if (0xf < local_128) { pvVar17 = (void *)CONCAT71(uStack_13f,local_140); pvVar15 = pvVar17; if ((0xfff < local_128 + 1) && (pvVar15 = *(void **)((longlong)pvVar17 + -8), 0x1f < (ulonglong)((longlong)pvVar17 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } local_130 = 0; local_128 = 0xf; local_140 = 0; if (0xf < CONCAT44(uStack_84,uStack_88)) { pvVar17 = (void *)CONCAT44(uStack_9c,local_a0); pvVar15 = pvVar17; if ((0xfff < CONCAT44(uStack_84,uStack_88) + 1) && (pvVar15 = *(void **)((longlong)pvVar17 + -8), 0x1f < (ulonglong)((longlong)pvVar17 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } if (0xf < local_e8) { pvVar17 = (void *)CONCAT71(uStack_ff,local_100); pvVar15 = pvVar17; if ((0xfff < local_e8 + 1) && (pvVar15 = *(void **)((longlong)pvVar17 + -8), 0x1f < (ulonglong)((longlong)pvVar17 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } } local_190 = FUN_1811316e0(0x38); if (local_190 != 0) { plVar12 = (longlong *)FUN_180b23940(local_190); } local_268 = plVar12; FUN_180a0c2a0(&local_260,plVar12); FUN_1805ae620(&local_268,plVar12); plVar12 = local_268; local_248 = local_268; local_268 = local_2b8; local_2b8 = plVar12; uStack_2b0 = local_260; local_260 = plVar19; if (plVar19 != (longlong *)0x0) { LOCK(); plVar12 = plVar19 + 1; lVar14 = *plVar12; *(int *)plVar12 = (int)*plVar12 + -1; UNLOCK(); if ((int)lVar14 == 1) { (**(code **)(*plVar19 + 8))(plVar19); LOCK(); piVar1 = (int *)((longlong)plVar19 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar19 + 0x10))(plVar19); } } } uVar6 = local_150; plVar5 = local_248; plVar12 = uStack_2b0; *(char *)(local_248 + 1) = *param_3; param_1 = local_298; plVar19 = uStack_2b0; if (iVar8 != 0) { pvVar15 = (void *)0x0; local_210 = 0; local_208 = (undefined8 *)0x0; puVar9 = local_160; if (0xf < local_148) { puVar9 = (undefined8 *)CONCAT71(local_160[0]._1_7_,(undefined1)local_160[0]); } if (local_150 < 0x10) { local_220 = (void *)*puVar9; uStack_218 = *(undefined4 *)(puVar9 + 1); uStack_214 = *(undefined4 *)((longlong)puVar9 + 0xc); local_208 = (undefined8 *)0xf; } else { local_1e0 = (undefined8 *)0x7fffffffffffffff; local_2a0 = (undefined8 *)(local_150 | 0xf); ppuVar13 = &local_1e0; if ((undefined8 *)(local_150 | 0xf) < (undefined8 *)0x8000000000000000) { ppuVar13 = &local_2a0; } puVar4 = *ppuVar13; puVar2 = (undefined8 *)((longlong)puVar4 + 1); if (puVar2 < (undefined8 *)0x1000) { if (puVar2 != (undefined8 *)0x0) { pvVar15 = (void *)FUN_1811316e0(puVar2); } } else { puVar16 = puVar4 + 5; if (puVar16 <= puVar2) { puVar16 = (undefined8 *)0xffffffffffffffff; } lVar14 = FUN_1811316e0(puVar16); if (lVar14 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar15 = (void *)(lVar14 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar15 - 8) = lVar14; } local_220 = pvVar15; memcpy(pvVar15,puVar9,uVar6 + 1); local_208 = puVar4; } param_1 = local_298; local_210 = uVar6; plVar19 = plVar12; if (plVar12 != (longlong *)0x0) { LOCK(); *(int *)(plVar12 + 1) = (int)plVar12[1] + 1; UNLOCK(); plVar19 = uStack_2b0; } local_2d8 = local_2c8[0]; local_2e0 = &local_220; local_2e8 = local_270; local_1d0 = plVar5; local_1c8 = plVar12; (**(code **)(*local_298 + 0x28))(local_298,&local_1d0,pcVar20,iVar8); local_2c8[0] = param_7; param_3 = local_238; } } plVar12 = (longlong *)*local_230; local_1b8 = (undefined4)local_2b8; uStack_1b4 = local_2b8._4_4_; uStack_1b0 = (undefined4)uStack_2b0; uStack_1ac = uStack_2b0._4_4_; if (plVar19 != (longlong *)0x0) { LOCK(); *(int *)(plVar19 + 1) = (int)plVar19[1] + 1; UNLOCK(); plVar19 = uStack_2b0; } (**(code **)(*plVar12 + 8))(plVar12,&local_1b8); local_2a8 = local_2a8 - (local_2c4[0] + iVar8); param_3 = param_3 + (local_2c4[0] + iVar8); local_238 = param_3; } while (local_2a8 != 0); local_2a8 = 0; param_6 = local_1d8; } plVar12 = uStack_2b0; if (0xf < local_148) { pvVar17 = (void *)CONCAT71(local_160[0]._1_7_,(undefined1)local_160[0]); pvVar15 = pvVar17; if ((0xfff < local_148 + 1) && (pvVar15 = *(void **)((longlong)pvVar17 + -8), 0x1f < (ulonglong)((longlong)pvVar17 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } local_150 = 0; local_148 = 0xf; local_160[0]._0_1_ = 0; if (plVar19 != (longlong *)0x0) { LOCK(); plVar19 = plVar19 + 1; lVar14 = *plVar19; *(int *)plVar19 = (int)*plVar19 + -1; UNLOCK(); if ((int)lVar14 == 1) { (**(code **)(*uStack_2b0 + 8))(uStack_2b0); LOCK(); piVar1 = (int *)((longlong)plVar12 + 0xc); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)(*uStack_2b0 + 0x10))(); } } } plVar19 = (longlong *)local_230[1]; if (plVar19 != (longlong *)0x0) { LOCK(); plVar12 = plVar19 + 1; lVar14 = *plVar12; *(int *)plVar12 = (int)*plVar12 + -1; UNLOCK(); if ((int)lVar14 == 1) { (**(code **)(*plVar19 + 8))(plVar19); LOCK(); piVar1 = (int *)((longlong)plVar19 + 0xc); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)(*plVar19 + 0x10))(plVar19); } } } if ((ulonglong)param_6[3] < 0x10) { param_6[2] = 0; param_6[3] = 0xf; *(undefined1 *)param_6 = 0; } pvVar15 = (void *)*param_6; pvVar17 = pvVar15; if ((0xfff < param_6[3] + 1U) && (pvVar17 = *(void **)((longlong)pvVar15 + -8), 0x1f < (ulonglong)((longlong)pvVar15 + (-8 - (longlong)pvVar17)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar17); } ############ FUN_ 180b23570 size=561 ############ longlong FUN_180b23570(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; longlong *plVar2; longlong lVar3; undefined8 *puVar4; longlong lVar5; void *pvVar6; longlong lVar7; ulonglong uVar8; ulonglong uVar9; ulonglong uVar10; undefined8 *puVar11; void *_Memory; undefined8 *puVar12; undefined8 *puVar13; ulonglong uVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; lVar3 = *param_1; lVar7 = param_1[1] - lVar3 >> 4; if (lVar7 == 0xfffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar7 + 1; uVar9 = param_1[2] - lVar3 >> 4; uVar8 = uVar1; if ((uVar9 <= 0xfffffffffffffff - (uVar9 >> 1)) && (uVar8 = (uVar9 >> 1) + uVar9, uVar8 < uVar1)) { uVar8 = uVar1; } uVar9 = uVar8 << 4; if (uVar8 < 0x1000000000000000) { uVar14 = uVar9; if (uVar9 < 0x1000) { if (uVar9 == 0) { puVar13 = (undefined8 *)0x0; } else { puVar13 = (undefined8 *)FUN_1811316e0(); } goto LAB_180b2365d; } } else { uVar14 = 0xffffffffffffffff; } uVar10 = uVar14 + 0x27; if (uVar10 <= uVar14) { uVar10 = 0xffffffffffffffff; } lVar7 = FUN_1811316e0(uVar10); if (lVar7 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar13 = (undefined8 *)(lVar7 + 0x27U & 0xffffffffffffffe0); puVar13[-1] = lVar7; LAB_180b2365d: uVar14 = (longlong)param_2 - lVar3 & 0xfffffffffffffff0; puVar11 = (undefined8 *)((longlong)puVar13 + uVar14); *puVar11 = *param_3; lVar3 = param_3[1]; puVar11[1] = lVar3; if (lVar3 != 0) { LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); } puVar4 = (undefined8 *)param_1[1]; puVar12 = (undefined8 *)*param_1; if (param_2 == puVar4) { puVar11 = puVar13; if (puVar12 != puVar4) { lVar7 = (longlong)puVar12 - (longlong)puVar13; lVar3 = 8 - (longlong)puVar12; do { *puVar11 = *puVar12; plVar2 = (longlong *)((longlong)puVar13 + lVar3 + (longlong)puVar12); lVar5 = *(longlong *)((longlong)plVar2 + lVar7); *plVar2 = lVar5; if (lVar5 != 0) { LOCK(); *(int *)(lVar5 + 8) = *(int *)(lVar5 + 8) + 1; UNLOCK(); } puVar11 = puVar11 + 2; puVar12 = puVar12 + 2; } while (puVar12 != puVar4); } FUN_180b234f0(puVar11,puVar11,param_1); } else { FUN_180b24a90(param_1,puVar12,param_2,puVar13,uVar8,uVar9,puVar11 + 2,uVar15); FUN_180b24a90(param_1,param_2,param_1[1],puVar11 + 2); } if (*param_1 == 0) { *param_1 = (longlong)puVar13; param_1[1] = (longlong)(puVar13 + uVar1 * 2); param_1[2] = uVar9 + (longlong)puVar13; return *param_1 + uVar14; } FUN_180b234f0(*param_1,param_1[1],param_1); pvVar6 = (void *)*param_1; _Memory = pvVar6; if ((0xfff < (param_1[2] - (longlong)pvVar6 & 0xfffffffffffffff0U)) && (_Memory = *(void **)((longlong)pvVar6 + -8), 0x1f < (ulonglong)((longlong)pvVar6 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180ba34f0 size=648 ############ void FUN_180ba34f0(char param_1,undefined8 param_2,longlong param_3,undefined8 param_4) { char cVar1; char cVar2; char cVar3; char *pcVar4; undefined8 uVar5; uint uVar6; char local_res8 [8]; undefined4 local_res10 [2]; char *local_res18; cVar1 = (char)param_2; local_res8[0] = param_1; if (param_1 == '\0') { local_res18 = (char *)FUN_1811316e0(0x18); if (local_res18 != (char *)0x0) { FUN_1805a48c0(local_res18,"Can\'t encode an Asn.1 object without a type identifier"); } pcVar4 = (char *)FUN_1811316e0(0x18); if (pcVar4 == (char *)0x0) { pcVar4 = (char *)0x0; } else { local_res18 = pcVar4; FUN_1805a48c0(pcVar4,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar4 = pace::PaceLocationInfoFormatter::vftable; } local_res10[0] = 0x6f; local_res18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar5 = FUN_1805a21d0(*(undefined8 *)(pcVar4 + 8),&local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar5,local_res10); } pcVar4 = *(char **)(param_3 + 8); if (*(char **)(param_3 + 0x10) == pcVar4) { FUN_1805b0850(param_3,pcVar4,local_res8,param_4,0xfffffffffffffffe); } else { *pcVar4 = param_1; *(longlong *)(param_3 + 8) = *(longlong *)(param_3 + 8) + 1; } uVar6 = (uint)param_2; if (uVar6 < 0x80) goto LAB_180ba3610; pcVar4 = *(char **)(param_3 + 8); if (uVar6 < 0x100) { local_res8[0] = -0x7f; if (*(char **)(param_3 + 0x10) != pcVar4) { *pcVar4 = -0x7f; *(longlong *)(param_3 + 8) = *(longlong *)(param_3 + 8) + 1; goto LAB_180ba3610; } } else { cVar2 = (char)((ulonglong)param_2 >> 8); if (uVar6 < 0x10000) { local_res8[0] = -0x7e; if (*(char **)(param_3 + 0x10) == pcVar4) { LAB_180ba3655: FUN_1805b0850(param_3,pcVar4,local_res8); } else { *pcVar4 = -0x7e; *(longlong *)(param_3 + 8) = *(longlong *)(param_3 + 8) + 1; } } else { cVar3 = (char)((ulonglong)param_2 >> 0x10); if (0xffffff < uVar6) { local_res8[0] = -0x7c; if (*(char **)(param_3 + 0x10) == pcVar4) { FUN_1805b0850(param_3,pcVar4,local_res8); } else { *pcVar4 = -0x7c; *(longlong *)(param_3 + 8) = *(longlong *)(param_3 + 8) + 1; } local_res8[0] = (char)((ulonglong)param_2 >> 0x18); FUN_180ba3ce0(param_3,&local_res18,*(undefined8 *)(param_3 + 8),local_res8); local_res8[0] = cVar3; FUN_180ba3ce0(param_3,&local_res18,*(undefined8 *)(param_3 + 8),local_res8); local_res8[0] = cVar2; FUN_180ba3ce0(param_3,&local_res18,*(undefined8 *)(param_3 + 8),local_res8); local_res8[0] = cVar1; FUN_180ba3ce0(param_3,&local_res18,*(undefined8 *)(param_3 + 8),local_res8); return; } local_res8[0] = -0x7d; if (*(char **)(param_3 + 0x10) == pcVar4) { FUN_1805b0850(param_3,pcVar4,local_res8); } else { *pcVar4 = -0x7d; *(longlong *)(param_3 + 8) = *(longlong *)(param_3 + 8) + 1; } pcVar4 = *(char **)(param_3 + 8); local_res8[0] = cVar3; if (*(char **)(param_3 + 0x10) == pcVar4) goto LAB_180ba3655; *pcVar4 = cVar3; *(longlong *)(param_3 + 8) = *(longlong *)(param_3 + 8) + 1; } pcVar4 = *(char **)(param_3 + 8); local_res8[0] = cVar2; if (*(char **)(param_3 + 0x10) != pcVar4) { *pcVar4 = cVar2; *(longlong *)(param_3 + 8) = *(longlong *)(param_3 + 8) + 1; goto LAB_180ba3610; } } FUN_1805b0850(param_3,pcVar4,local_res8); LAB_180ba3610: pcVar4 = *(char **)(param_3 + 8); if (*(char **)(param_3 + 0x10) == pcVar4) { local_res8[0] = cVar1; FUN_1805b0850(param_3,pcVar4,local_res8); return; } *pcVar4 = cVar1; *(longlong *)(param_3 + 8) = *(longlong *)(param_3 + 8) + 1; return; } ############ FUN_ 180b23c90 size=1177 ############ /* WARNING: Instruction at (ram,0x000180b245d3) overlaps instruction at (ram,0x000180b245d1) */ /* WARNING: Possible PIC construction at 0x000180b24525: Changing call to branch */ /* WARNING: Removing unreachable block (ram,0x000180b2452a) */ /* WARNING: Removing unreachable block (ram,0x000180b2454b) */ /* WARNING: Removing unreachable block (ram,0x000180b2452c) */ /* WARNING: Removing unreachable block (ram,0x000180b24541) */ /* WARNING: Removing unreachable block (ram,0x000180b24551) */ /* WARNING: Removing unreachable block (ram,0x000180b24558) */ /* WARNING: Removing unreachable block (ram,0x000180b24561) */ /* WARNING: Removing unreachable block (ram,0x000180b2455d) */ /* WARNING: Removing unreachable block (ram,0x000180b2453f) */ /* WARNING: Removing unreachable block (ram,0x000180b24542) */ /* WARNING: Removing unreachable block (ram,0x000180b24568) */ /* WARNING: Removing unreachable block (ram,0x000180b2457a) */ /* WARNING: Removing unreachable block (ram,0x000180b24581) */ /* WARNING: Removing unreachable block (ram,0x000180b24585) */ /* WARNING: Removing unreachable block (ram,0x000180b245a3) */ /* WARNING: Removing unreachable block (ram,0x000180b245ad) */ /* WARNING: Removing unreachable block (ram,0x000180b245c2) */ /* WARNING: Removing unreachable block (ram,0x000180b245d3) */ /* WARNING: Removing unreachable block (ram,0x000180b245dd) */ /* WARNING: Removing unreachable block (ram,0x000180b245f4) */ /* WARNING: Removing unreachable block (ram,0x000180b245fb) */ /* WARNING: Removing unreachable block (ram,0x000180b245ff) */ /* WARNING: Removing unreachable block (ram,0x000180b24643) */ /* WARNING: Removing unreachable block (ram,0x000180b24668) */ /* WARNING: Removing unreachable block (ram,0x000180b24666) */ /* WARNING: Removing unreachable block (ram,0x000180b24669) */ /* WARNING: Removing unreachable block (ram,0x000180b2466f) */ /* WARNING: Removing unreachable block (ram,0x000180b246a9) */ /* WARNING: Removing unreachable block (ram,0x000180b246b0) */ /* WARNING: Removing unreachable block (ram,0x000180b246b4) */ /* WARNING: Removing unreachable block (ram,0x000180b24710) */ /* WARNING: Removing unreachable block (ram,0x000180b2473d) */ /* WARNING: Removing unreachable block (ram,0x000180b2471f) */ /* WARNING: Removing unreachable block (ram,0x000180b24744) */ /* WARNING: Removing unreachable block (ram,0x000180b24757) */ /* WARNING: Removing unreachable block (ram,0x000180b2475e) */ /* WARNING: Removing unreachable block (ram,0x000180b24762) */ /* WARNING: Removing unreachable block (ram,0x000180b248e1) */ /* WARNING: Removing unreachable block (ram,0x000180b248e6) */ /* WARNING: Removing unreachable block (ram,0x000180b2494a) */ /* WARNING: Removing unreachable block (ram,0x000180b2496b) */ /* WARNING: Removing unreachable block (ram,0x000180b24997) */ /* WARNING: Removing unreachable block (ram,0x000180b2499e) */ /* WARNING: Removing unreachable block (ram,0x000180b249a6) */ /* WARNING: Removing unreachable block (ram,0x000180b249b1) */ /* WARNING: Removing unreachable block (ram,0x000180b249b4) */ /* WARNING: Removing unreachable block (ram,0x000180b249b9) */ /* WARNING: Removing unreachable block (ram,0x000180b249c7) */ /* WARNING: Removing unreachable block (ram,0x000180b24a4b) */ /* WARNING: Removing unreachable block (ram,0x000180b249ce) */ /* WARNING: Removing unreachable block (ram,0x000180b249d9) */ /* WARNING: Removing unreachable block (ram,0x000180b249ea) */ /* WARNING: Removing unreachable block (ram,0x000180b249fb) */ /* WARNING: Removing unreachable block (ram,0x000180b24a0e) */ /* WARNING: Removing unreachable block (ram,0x000180b24a18) */ /* WARNING: Removing unreachable block (ram,0x000180b24a23) */ /* WARNING: Removing unreachable block (ram,0x000180b24a2c) */ /* WARNING: Removing unreachable block (ram,0x000180b24a30) */ /* WARNING: Removing unreachable block (ram,0x000180b24777) */ /* WARNING: Removing unreachable block (ram,0x000180b245d1) */ /* WARNING: Removing unreachable block (ram,0x000180b2415f) */ /* WARNING: Removing unreachable block (ram,0x000180b243df) */ /* WARNING: Removing unreachable block (ram,0x000180b23d61) */ /* WARNING: Removing unreachable block (ram,0x000180b23ce8) */ /* WARNING: Removing unreachable block (ram,0x000180b23df0) */ /* WARNING: Removing unreachable block (ram,0x000180b241f1) */ /* WARNING: Removing unreachable block (ram,0x000180b23fe8) */ /* WARNING: Removing unreachable block (ram,0x000180b2429f) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ int FUN_180b23c90(undefined8 param_1,undefined8 param_2,int param_3) { int iVar1; int iVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; char *pcVar8; undefined8 uVar9; int iVar10; uint uVar11; ulonglong uVar12; longlong lVar13; uint uVar14; uint uVar15; uint *puVar16; int unaff_retaddr; undefined4 local_68 [2]; uint local_60; uint local_5c; char *local_58; ulonglong local_50; undefined8 local_48; local_48 = 0xfffffffffffffffe; uVar11 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x2500) == 0) { uVar14 = uVar11 & 0x2bf; uVar14 = ((uVar14 + 2) * (uVar14 + 1) * uVar14) % 3; } else { uVar14 = 0; } iVar10 = (uVar11 & 0x31ff) * (uVar11 & 0x31ff) + 1; uVar15 = (iVar10 >> 4) + (iVar10 >> 1) + iVar10 * 0x24924924 >> 0x1d; uVar15 = (int)(uVar15 - 7) >> 0x1f & uVar15; local_60 = (((int)(-uVar15 | uVar15) >> 0x1f) * -0x1038 | 0x5639U) ^ (uVar14 | 0x54b9); uVar14 = uVar11 & 0x33f; uVar14 = ((uVar14 + 2) * (uVar14 + 1) * uVar14) % 3; uVar12 = (ulonglong)uVar14; uVar11 = (((uVar11 & 0x13ff) + 1) * (uVar11 & 0x13ff) + 0x442b & 0x80000001) << (sbyte)uVar14; local_5c = (int)(-uVar11 | uVar11) >> 0x1f & 0x762bU ^ 0x7f0b; local_50 = 0x100; uVar14 = (((((((((DAT_181152060 * 0xc1 + DAT_181152064) * 0xc1 + DAT_181152068) * 0xc1 + DAT_18115206c) * 0xc1 + DAT_181152070) * 0xc1 + DAT_181152074) * 0xc1 + DAT_181152078) * 0xc1 + DAT_18115207c) * 0xc1 + DAT_181152080) * 0xc1 + DAT_181152084) * 0xc1 + DAT_181152088; puVar16 = (uint *)register0x00000020; uVar11 = uVar14; do { if ((uVar11 & 0x140acd9) == 0) { puVar16 = (uint *)((longlong)puVar16 + (uVar12 - (~-uVar12 + 1))); uVar12 = ~-uVar12 + 1; } uVar11 = *puVar16; uVar15 = (uVar11 + 1) * uVar11 & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); if (param_3 != 0) { do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); do { uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar14 = (((((((((((((((((((uVar14 * 0xc1 + DAT_18115208c) * 0xc1 + DAT_181152090) * 0xc1 + DAT_181152094) * 0xc1 + DAT_181152098) * 0xc1 + DAT_18115209c) * 0xc1 + _UNK_1811520a0) * 0xc1 + _UNK_1811520a4) * 0xc1 + _UNK_1811520a8) * 0xc1 + _UNK_1811520ac) * 0xc1 + _UNK_1811520b0) * 0xc1 + _UNK_1811520b4) * 0xc1 + _UNK_1811520b8) * 0xc1 + _UNK_1811520bc) * 0xc1 + _UNK_1811520c0) * 0xc1 + _UNK_1811520c4) * 0xc1 + _UNK_1811520c8) * 0xc1 + _UNK_1811520cc) * 0xc1 + _UNK_1811520d0) * 0xc1 + _UNK_1811520d4) * 0xc1 + _UNK_1811520d8; uVar11 = uVar14 & 0x28ff; uVar11 = ((uVar11 + 1) * uVar11 + 7) % 0x51; uVar12 = (longlong)(((int)(-uVar11 | uVar11) >> 0x1f) * -0xc29c) ^ 0xc39c; lVar13 = -uVar12; iVar10 = *(int *)(&UNK_1811521dc + lVar13); iVar1 = *(int *)(&UNK_1811521e0 + lVar13); iVar2 = *(int *)(&UNK_1811521e4 + lVar13); iVar3 = *(int *)(&UNK_1811521e8 + lVar13); iVar4 = *(int *)(&UNK_1811521ec + lVar13); iVar5 = *(int *)(&UNK_1811521f0 + lVar13); iVar6 = *(int *)(&UNK_1811521f4 + lVar13); iVar7 = *(int *)(&UNK_1811521f8 + lVar13); do { func_0x000180b261a6(0xc43c,uVar12); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar11 = ((((((((((((((((uVar14 * 0xc1 + iVar10) * 0xc1 + iVar1) * 0xc1 + iVar2) * 0xc1 + iVar3) * 0xc1 + iVar4) * 0xc1 + iVar5) * 0xc1 + iVar6) * 0xc1 + iVar7) * 0xc1 + *(int *)(&UNK_1811521fc + lVar13)) * 0xc1 + *(int *)(&UNK_181152200 + lVar13)) * 0xc1 + *(int *)(&UNK_181152204 + lVar13)) * 0xc1 + *(int *)(&UNK_181152208 + lVar13)) * 0xc1 + *(int *)(&UNK_18115220c + lVar13)) * 0xc1 + *(int *)(&UNK_181152210 + lVar13)) * 0xc1 + *(int *)(&UNK_181152214 + lVar13) ) * 0xc1 + *(int *)(&UNK_181152218 + lVar13)) * 0xc1 + *(int *)(&UNK_18115221c + lVar13); if ((local_50 & 0x18) == 0) { uVar14 = uVar11 & 0x39ff; uVar14 = (uVar14 - 1) * uVar14 & 1; } else { uVar14 = (uint)local_50 & 0x3bf; iVar10 = (uVar14 + 2) * (uVar14 + 1) * uVar14; uVar14 = iVar10 + (iVar10 / 3 + (iVar10 >> 0x1f) + (int)(((longlong)iVar10 / 3 + ((longlong)iVar10 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3; } lVar13 = lVar13 + 0xc0 + ((longlong)(int)uVar14 ^ 0x100U); return ((((((uVar11 * 0xc1 + *(int *)(lVar13 + 0x181152060)) * 0xc1 + *(int *)(lVar13 + 0x181152064)) * 0xc1 + *(int *)(lVar13 + 0x181152068)) * 0xc1 + *(int *)(lVar13 + 0x18115206c)) * 0xc1 + *(int *)(lVar13 + 0x181152070)) * 0xc1 + *(int *)(lVar13 + 0x181152074)) * 0xc1 + *(int *)(lVar13 + 0x181152078); } local_58 = (char *)FUN_1811316e0(0x18); if (local_58 != (char *)0x0) { FUN_1805a48c0(local_58,"Zero is a bad N value; 1 = first; 2 = second; etc."); } pcVar8 = (char *)FUN_1811316e0(0x18); if (pcVar8 == (char *)0x0) { pcVar8 = (char *)0x0; } else { local_58 = pcVar8; FUN_1805a48c0(pcVar8,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar8 = pace::PaceLocationInfoFormatter::vftable; } local_68[0] = 0x84; local_58 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1container.cpp" ; uVar9 = FUN_1805a21d0(*(undefined8 *)(pcVar8 + 8),&local_58); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar9,local_68); } ############ FUN_ 180b26980 size=694 ############ longlong FUN_180b26980(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; ulonglong uVar12; ulonglong uVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar12 = *param_1; lVar5 = (param_2 - uVar12) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_2 - uVar12)),8); lVar7 = (lVar5 >> 8) - (lVar5 >> 0x3f); lVar5 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[1] - uVar12)),8) + (param_1[1] - uVar12); lVar5 = (lVar5 >> 8) - (lVar5 >> 0x3f); if (lVar5 == 0xc30c30c30c30c3) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = lVar5 + 1; lVar5 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[2] - uVar12)),8) + (param_1[2] - uVar12); uVar6 = (lVar5 >> 8) - (lVar5 >> 0x3f); uVar12 = uVar13; if ((uVar6 <= 0xc30c30c30c30c3 - (uVar6 >> 1)) && (uVar12 = (uVar6 >> 1) + uVar6, uVar12 < uVar13) ) { uVar12 = uVar13; } uVar6 = uVar12 * 0x150; lVar5 = lVar7; puVar14 = param_1; if (uVar12 < 0xc30c30c30c30c4) { if (uVar6 < 0x1000) { if (uVar6 == 0) { uVar6 = 0; } else { uVar6 = FUN_1811316e0(uVar6); } goto LAB_180b26ac2; } } else { uVar6 = 0xffffffffffffffff; } uVar4 = uVar6 + 0x27; if (uVar4 <= uVar6) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar6 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar6 - 8) = lVar3; LAB_180b26ac2: lVar8 = lVar7 * 0x150 + uVar6; lVar7 = lVar8 + 0x150; lVar3 = lVar7; uVar11 = uVar6; FUN_180b26fa0(lVar8,param_3); uVar4 = param_1[1]; if (param_2 == uVar4) { uVar9 = uVar6; for (uVar11 = *param_1; uVar11 != uVar4; uVar11 = uVar11 + 0x150) { FUN_180b26fa0(uVar9); uVar9 = uVar9 + 0x150; } } else { FUN_180b292a0(param_1,*param_1,param_2,uVar6,uVar13,lVar5,lVar3,uVar11,puVar14,uVar15); FUN_180b292a0(param_1,param_2,param_1[1],lVar7); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[1]; for (; puVar10 != puVar1; puVar10 = puVar10 + 0x2a) { (**(code **)*puVar10)(puVar10,0); } pvVar2 = (void *)*param_1; lVar5 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816((longlong)(param_1[2] - (longlong)pvVar2)) ,8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar5 >> 8) - (lVar5 >> 0x3f)) * 0x150)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar6; param_1[1] = uVar13 * 0x150 + uVar6; param_1[2] = uVar12 * 0x150 + uVar6; return lVar5 * 0x150 + *param_1; } ############ FUN_ 180ba5c50 size=311 ############ void FUN_180ba5c50(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180ba5de0(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180b26980(lVar2 + 0x40,lVar1,param_2); return; } FUN_180b26fa0(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x150; return; } ############ FUN_ 180ba5de0 size=316 ############ longlong FUN_180ba5de0(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180b2ff50 size=679 ############ longlong FUN_180b2ff50(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0xb0; lVar13 = (longlong)(param_1[1] - uVar11) / 0xb0; if (lVar13 == 0x1745d1745d1745d) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0xb0; uVar11 = uVar12; if ((uVar4 <= 0x1745d1745d1745d - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12)) { uVar11 = uVar12; } uVar4 = uVar11 * 0xb0; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0x1745d1745d1745e) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_180b3008b; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_180b3008b: lVar7 = lVar1 * 0xb0 + uVar4; lVar1 = lVar7 + 0xb0; lVar5 = lVar1; uVar10 = uVar4; FUN_180b30200(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0xb0) { FUN_180b30200(uVar8); uVar8 = uVar8 + 0xb0; } } else { FUN_180b322d0(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_180b322d0(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x16) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0xb0) * 0xb0)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0xb0 + uVar4; param_1[2] = uVar11 * 0xb0 + uVar4; return lVar13 * 0xb0 + *param_1; } ############ FUN_ 180b303b0 size=2261 ############ /* WARNING: Instruction at (ram,0x000180b30c1b) overlaps instruction at (ram,0x000180b30c19) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180b309ac) */ /* WARNING: Removing unreachable block (ram,0x000180b30472) */ /* WARNING: Removing unreachable block (ram,0x000180b3097b) */ /* WARNING: Removing unreachable block (ram,0x000180b309d1) */ ulonglong FUN_180b303b0(undefined8 *param_1,longlong param_2,undefined8 param_3) { byte bVar1; byte bVar2; undefined8 *puVar3; undefined4 uVar4; undefined8 *puVar5; uint uVar6; uint uVar7; int iVar8; ulonglong uVar9; undefined8 *puVar10; longlong *plVar11; longlong lVar12; undefined4 *puVar13; uint uVar14; uint uVar15; undefined4 *puVar16; uint uVar17; IMAGE_DOS_HEADER *pIVar18; uint *puVar19; undefined8 *puVar20; undefined1 *puVar21; IMAGE_DOS_HEADER *pIVar22; bool bVar23; int unaff_retaddr; undefined1 auStack_108 [32]; IMAGE_DOS_HEADER *local_e8; undefined1 local_e0; uint local_d8; uint local_d4; undefined8 local_d0; undefined8 *local_c8; undefined1 *local_c0; longlong local_b8; uint local_b0; undefined4 local_ac; undefined4 *local_a8; longlong local_98; undefined8 local_90; undefined8 local_88; undefined8 *local_80; longlong local_78; undefined8 local_70; undefined8 *local_68; undefined8 *local_60; undefined4 local_50 [4]; ulonglong local_40; local_70 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_108; local_c8 = param_1; local_98 = param_2; local_90 = param_3; local_68 = param_1; FUN_180a3bf80(param_1,param_2 + 8); *param_1 = license_services::LsCachedObjectVectorAssociativeArray::vftable; param_1[3] = param_2; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; FUN_180ba7270(param_1 + 10,*(undefined4 *)(param_1[3] + 0x38)); puVar3 = local_c8; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; local_ac = 0x790; uVar17 = (uint)&stack0x00000000 & 0x19ff; uVar17 = (uVar17 * uVar17 * 0x10 + 4) % 0x13; local_b0 = ((int)(-uVar17 | uVar17) >> 0x1f) * -0xeb5 ^ 0xa25; local_e8 = &IMAGE_DOS_HEADER_180000000; puVar10 = (undefined8 *)0x202136c9; local_a8 = (undefined4 *)0x180b30628; local_c0 = &LAB_180b335c4; do { uVar17 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar17 < 0) { uVar17 = (uVar17 - 1 | 0xfffffffe) + 1; } } while (uVar17 != 0); local_b8 = 0x50fc091f15a95537; local_d0 = 0x15a95537; lVar12 = *(longlong *)(param_2 + 0x40); local_78 = *(longlong *)(param_2 + 0x48); if (lVar12 != local_78) { puVar20 = (undefined8 *)(lVar12 + 0x18); do { local_b8 = FUN_1811316e0(); if (local_b8 == 0) { local_88 = 0; } else { local_88 = FUN_180b64750(local_b8,lVar12,puVar3); } puVar10 = (undefined8 *)param_1[5]; if ((undefined8 *)param_1[6] == puVar10) { FUN_18080f490(param_1 + 4,puVar10,&local_88); } else { *puVar10 = local_88; param_1[5] = param_1[5] + 8; } puVar5 = (undefined8 *)FUN_1811316e0(0xb0); local_60 = puVar5; if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)0x0; } else { *puVar5 = license_services::LsAssociativeArrayWire::vftable; puVar5[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar5 + 2) = 0xffffffff; puVar5[3] = 0xffffffffffffffff; *(undefined2 *)(puVar5 + 4) = 0; *(undefined1 *)(puVar5 + 5) = 0; puVar5[8] = 0; puVar5[9] = 0xf; *(undefined1 *)(puVar5 + 6) = 0; FUN_1805a6cb0(puVar5 + 6,&DAT_181baf991,0); puVar5[0xc] = 0; puVar5[0xd] = 0xf; *(undefined1 *)(puVar5 + 10) = 0; FUN_1805a6cb0(puVar5 + 10,&DAT_181baf991); puVar5[0x10] = 0; puVar5[0x11] = 0xf; *(undefined1 *)(puVar5 + 0xe) = 0; FUN_1805a6cb0(puVar5 + 0xe,&DAT_181baf991); puVar5[0x12] = 0; puVar5[0x13] = 0; puVar5[0x14] = 0; *(undefined4 *)(puVar5 + 0x15) = 0; *(undefined2 *)((longlong)puVar5 + 0xac) = 0; } *(undefined4 *)(puVar5 + 2) = *(undefined4 *)(puVar20 + -1); puVar5[3] = *puVar20; *(undefined2 *)(puVar5 + 4) = *(undefined2 *)(puVar20 + 1); *(undefined1 *)(puVar5 + 5) = *(undefined1 *)(puVar20 + 2); plVar11 = puVar20 + 3; local_80 = puVar5; if (puVar5 + 6 != plVar11) { if (0xf < (ulonglong)puVar20[6]) { plVar11 = (longlong *)*plVar11; } FUN_1805a6cb0(puVar5 + 6,plVar11,puVar20[5]); } plVar11 = puVar20 + 7; if (puVar5 + 10 != plVar11) { if (0xf < (ulonglong)puVar20[10]) { plVar11 = (longlong *)*plVar11; } FUN_1805a6cb0(puVar5 + 10,plVar11,puVar20[9]); } plVar11 = puVar20 + 0xb; if (puVar5 + 0xe != plVar11) { if (0xf < (ulonglong)puVar20[0xe]) { plVar11 = (longlong *)*plVar11; } FUN_1805a6cb0(puVar5 + 0xe,plVar11,puVar20[0xd]); } if (puVar5 + 0x12 != puVar20 + 0xf) { FUN_1807fecd0(puVar5 + 0x12,puVar20[0xf],puVar20[0x10],local_e0); } *(undefined4 *)(puVar5 + 0x15) = *(undefined4 *)(puVar20 + 0x12); *(undefined2 *)((longlong)puVar5 + 0xac) = *(undefined2 *)((longlong)puVar20 + 0x94); puVar10 = (undefined8 *)param_1[8]; if ((undefined8 *)param_1[9] == puVar10) { FUN_18080f490(param_1 + 7); } else { *puVar10 = puVar5; param_1[8] = param_1[8] + 8; } lVar12 = lVar12 + 0xb0; puVar20 = puVar20 + 0x16; local_78 = *(longlong *)(local_98 + 0x48); } while (lVar12 != local_78); } puVar16 = local_a8; puVar21 = local_c0; pIVar22 = local_e8; local_e8._0_4_ = 0x575705ab; uVar17 = 0x35a05ae8; puVar13 = (undefined4 *)0x5ccae7a3; uVar4 = FUN_180b327a0(); *(undefined4 *)(local_c8[3] + 0x38) = uVar4; do { uVar9 = ~((longlong)puVar21 - (longlong)(puVar21 + ((ulonglong)puVar10 ^ (ulonglong)puVar21))) + 1; puVar21 = puVar21 + ((ulonglong)puVar10 ^ (ulonglong)puVar21) + -uVar9; puVar10 = (undefined8 *)(uVar9 ^ (ulonglong)puVar21); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = (uint)puVar21; bVar2 = (byte)puVar21; bVar1 = bVar2 & 0xf; uVar14 = uVar6 & 0x1f; uVar6 = ((int)((uVar6 ^ 0xfffffef9) & 0x3106) >> (bVar1 * bVar1 * (bVar1 + 1) * (bVar1 + 1) & 3 ^ (bVar2 + 1) * bVar2 & 1) | uVar6 ^ 0xf2c9) ^ 0xeb73 >> ((bVar2 + 1) * bVar2 & 1); local_e8 = (IMAGE_DOS_HEADER *)CONCAT44(local_e8._4_4_,uVar6); LAB_180b30a10: uVar15 = (uint)puVar16; uVar7 = uVar15 & 0x17f; iVar8 = (uVar7 + 2) * (uVar7 + 1) * uVar7; uVar7 = (((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e ^ uVar14 * uVar14 * (uVar14 + 1) * (uVar14 + 1) & 0x80000003) + ((uVar15 ^ 0x180) & 0x4781) | uVar15 ^ 0x19ba; bVar23 = SBORROW4(uVar6,uVar7); if (uVar6 == uVar7) { do { uVar9 = 0xed24; FUN_180b302b4(); if ((bVar23) && ((uVar9 & 0xe700) == 0)) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } bVar23 = false; } while (uVar6 != 0); local_d4 = uVar17; /* WARNING: Call to offcut address within same function */ func_0x000180b30877(); FUN_180b30c9b(); return (ulonglong)puVar13 & 0xffffffff; } puVar13 = puVar16; if ((pIVar22 != (IMAGE_DOS_HEADER *)0x0) && (lVar12._0_1_ = pIVar22->e_magic[0], lVar12._1_1_ = pIVar22->e_magic[1], lVar12._2_2_ = pIVar22->e_cblp, lVar12._4_2_ = pIVar22->e_cp, lVar12._6_2_ = pIVar22->e_crlc, -1 < lVar12)) { local_98 = 0x2621fc0; pIVar18 = pIVar22; do { if (puVar16 < IMAGE_DOS_HEADER_180000000.e_magic + lVar12 + 8) { pIVar22 = pIVar18; if (-1 < lVar12) { plVar11 = (longlong *)(lVar12 + 0x180000000); if (plVar11 < puVar16 + 1) { local_50[0] = *puVar16; goto LAB_180b30ae0; } } break; } pIVar22 = (IMAGE_DOS_HEADER *)&pIVar18->e_cparhdr; lVar12._0_2_ = pIVar18->e_cparhdr; lVar12._2_2_ = pIVar18->e_minalloc; lVar12._4_2_ = pIVar18->e_maxalloc; lVar12._6_2_ = pIVar18->e_ss; pIVar18 = pIVar22; } while (-1 < lVar12); } goto LAB_180b30b00; while (plVar11 = (longlong *)(lVar12 + 0x180000000), plVar11 < puVar16 + 1) { LAB_180b30ae0: *(longlong *)(&stack0x00017fffffb0 + (lVar12 - (longlong)puVar16)) = *plVar11 + -0x180000000; pIVar18 = (IMAGE_DOS_HEADER *)&pIVar18->e_cparhdr; lVar12 = *(longlong *)pIVar18; puVar13 = local_50; if (lVar12 < 0) break; } LAB_180b30b00: do { puVar19 = &local_d8; uVar9 = 0xed24; FUN_180b2f058(); while ((uVar9 & 0xc3) == 0) { while ((uVar9 & 0xc3) == 0) { while ((uVar9 & 0xc3) == 0) { if ((uVar9 & 0xc300) != 0) goto LAB_180b30b3a; } } } LAB_180b30b3a: do { } while ((uVar9 & 0xc300) == 0); uVar6 = FUN_180b2c9d2(); *puVar19 = uVar6; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_d8 = (local_d8 * 0x5bd1e995 >> 0x18 ^ local_d8 * 0x5bd1e995) * 0x5bd1e995; uVar17 = uVar17 * 0x5bd1e995 ^ local_d8; uVar6 = uVar17 & 0x37f; iVar8 = (uVar6 + 2) * (uVar6 + 1) * uVar6; puVar16 = (undefined4 *) ((longlong)puVar16 + (((longlong) (0xb250 << ((char)(((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e) - (((char)puVar16 + -1) * (char)puVar16 & 1U) & 0x1f)) ^ 0xb258U) - 4)); uVar6 = (uint)local_e8; goto LAB_180b30a10; } ############ FUN_ 180ba7270 size=1150 ############ /* WARNING: Instruction at (ram,0x000180ba756a) overlaps instruction at (ram,0x000180ba7569) */ /* WARNING: Removing unreachable block (ram,0x000180ba73ed) */ /* WARNING: Removing unreachable block (ram,0x000180ba7564) */ void FUN_180ba7270(undefined8 *param_1,ulonglong param_2) { char *pcVar1; undefined8 *puVar2; short *psVar3; char cVar4; uint uVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; int unaff_retaddr; undefined1 auStack_b8 [40]; undefined8 local_90; undefined8 *local_88; undefined *local_80; undefined8 local_78; undefined4 local_6c; undefined4 local_68; undefined8 *local_60; undefined8 local_58; ulonglong local_38; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; param_2 = param_2 & 0xffffffff; local_88 = param_1; local_60 = param_1; puVar2 = (undefined8 *)FUN_1811316e0(0x60); local_88 = puVar2; if (puVar2 != (undefined8 *)0x0) { *puVar2 = license_services::LsEntityAssociativeArray::vftable; FUN_180677c10(puVar2 + 1); puVar2[8] = 0; puVar2[9] = 0; puVar2[10] = 0; *(undefined2 *)(puVar2 + 0xb) = 0; } *param_1 = puVar2; FUN_180ba7200(param_1 + 1,puVar2); FUN_1805ae620(param_1,puVar2,puVar2); param_1[2] = *param_1; local_6c = 0xd70; lVar8 = 0xd70; local_68 = 0xbb0; local_90 = 0x180ba74cc; local_80 = &DAT_180baa7c8; local_88 = (undefined8 *)0xdc7e37cbc3f3557e; local_78 = 0xc3f3557e; do { uVar6 = 0; FUN_180ba5b8c(); if ((uVar6 & 0xc0) != 0) { param_1 = (undefined8 *)((ulonglong)param_1 | 0xe); } uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); FUN_180ba91f0(param_1[2],param_2); do { lVar7 = param_2 + lVar8; param_2 = ~(lVar8 - lVar7) + 1; lVar8 = lVar7 - param_2; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } cVar4 = (char)uVar5; } while (uVar5 != 0); /* WARNING: Call to offcut address within same function */ psVar3 = (short *)func_0x000180ba75ff(0,~((param_2 ^ 0xffffffffffffffff) + 1) + 1); uVar5 = iRam0000000147495e60 * -0x3e; *psVar3 = *psVar3 + (short)psVar3; pcVar1 = (char *)((longlong)puVar2 + -0x2a + (longlong)psVar3); *pcVar1 = *pcVar1 + cVar4; /* WARNING: Could not recover jumptable at 0x000180ba7713. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)((ulonglong)uVar5 + 0x5196))(); return; } ############ FUN_ 180ba7200 size=97 ############ undefined8 * FUN_180ba7200(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180ba8ec0 size=311 ############ void FUN_180ba8ec0(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180ba9050(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180b2ff50(lVar2 + 0x40,lVar1,param_2); return; } FUN_180b30200(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0xb0; return; } ############ FUN_ 180ba9050 size=316 ############ longlong FUN_180ba9050(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180b377a0 size=647 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180b3786b) */ void FUN_180b377a0(undefined8 param_1,undefined8 param_2) { undefined8 uVar1; uint uVar2; int iVar3; undefined1 auStack_128 [48]; undefined8 local_f8; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; uint local_cc; undefined4 local_c8; undefined8 local_c0; longlong local_b8; undefined8 local_a8; undefined8 local_78; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_128; uVar2 = (uint)&stack0x00000000 & 0x1bf; iVar3 = (uVar2 + 2) * (uVar2 + 1) * uVar2; local_cc = 0x5374 << ((byte)(((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e) & 0x1f) ^ 0x59c4; local_c8 = 0x6b0; local_b8 = FUN_1811316e0(0xb0); uVar1 = 0; if (local_b8 != 0) { uVar1 = FUN_180b302c0(local_b8); } local_a8 = uVar1; FUN_180b321a0(uVar1,param_2); FUN_180b66bf0(uVar1,1); local_e0 = 0; local_e8 = 0x74f18; local_f8 = 0x1ffc; local_c0 = 0x180074f18; local_d8 = 0x180076f14; FUN_180b35e2b(); FUN_180b37a2e(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180b38590 size=690 ############ longlong FUN_180b38590(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0x140; lVar13 = (longlong)(param_1[1] - uVar11) / 0x140; if (lVar13 == 0xcccccccccccccc) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0x140; uVar11 = uVar12; if ((uVar4 <= 0xcccccccccccccc - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12) ) { uVar11 = uVar12; } uVar4 = uVar11 * 0x140; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0xcccccccccccccd) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_180b386cc; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_180b386cc: lVar7 = lVar1 * 0x140 + uVar4; lVar1 = lVar7 + 0x140; lVar5 = lVar1; uVar10 = uVar4; FUN_180b39bb0(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0x140) { FUN_180b39bb0(uVar8); uVar8 = uVar8 + 0x140; } } else { FUN_180b3ad70(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_180b3ad70(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x28) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0x140) * 0x140)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0x140 + uVar4; param_1[2] = uVar11 * 0x140 + uVar4; return lVar13 * 0x140 + *param_1; } ############ FUN_ 180baa320 size=1057 ############ void FUN_180baa320(undefined8 *param_1,ulonglong param_2) { longlong lVar1; undefined8 *puVar2; uint uVar3; longlong *plVar4; undefined1 auStack_e8 [40]; undefined8 uStack_c0; ulonglong uStack_b8; undefined8 uStack_b0; undefined1 auStack_a8 [40]; undefined *local_80; undefined8 local_78; undefined8 *local_70; uint local_64; uint local_60; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; uStack_b0 = 0x180baa36e; local_70 = param_1; local_58 = param_1; puVar2 = (undefined8 *)FUN_1811316e0(0x60); local_70 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { *puVar2 = license_services::LsEntityIlokAuth::vftable; uStack_b0 = 0x180baa38e; FUN_180677c10(puVar2 + 1); puVar2[8] = 0; puVar2[9] = 0; puVar2[10] = 0; *(undefined2 *)(puVar2 + 0xb) = 0; } *param_1 = puVar2; uStack_b0 = 0x180baa3c1; FUN_180baa2b0(param_1 + 1,puVar2); uStack_b0 = 0x180baa3cf; FUN_1805ae620(param_1,puVar2,puVar2); param_1[2] = *param_1; uVar3 = (uint)&stack0x00000000 & 0x23f; local_60 = 0x77b - ((uVar3 + 2) * (uVar3 + 1) * uVar3) % 3 ^ 0xaab; uVar3 = (uint)&stack0x00000000 & 0x38ff; uVar3 = (uVar3 + 1) * uVar3 + 7; local_64 = (0 << ((char)uVar3 + (char)(uVar3 / 0x51) * -0x51 & 0x1fU)) + 0xbe70U ^ 0xba90; local_70 = (undefined8 *)0x0; local_78 = 0x180a94b00; local_80 = &DAT_180a97d88; /* WARNING: Call to offcut address within same function */ uStack_c0 = 0x180baa597; uStack_b8 = param_2 & 0xffffffff; func_0x000180baa59d(&DAT_180a97d88,0x145,0xb0140a8); plVar4 = (longlong *)((ulonglong)auStack_e8 & 0xffffffff); lVar1 = plVar4[6]; plVar4[6] = lVar1 + 0x1b6; plVar4[5] = lVar1 + 0x2ff9; plVar4[4] = lVar1 + -0x5ec2; plVar4[3] = lVar1 + -0x1c90; plVar4[2] = lVar1 + 0x1476; plVar4[1] = lVar1 + 0x7586; *plVar4 = lVar1 + 0x31d2; plVar4[-1] = lVar1 + -0x4bc3; /* WARNING: Could not recover jumptable at 0x000180baa74b. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(lVar1 + 0x23e0))(); return; } ############ FUN_ 180baa2b0 size=97 ############ undefined8 * FUN_180baa2b0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180babfa0 size=311 ############ void FUN_180babfa0(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180bac130(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180b38590(lVar2 + 0x40,lVar1,param_2); return; } FUN_180b39bb0(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x140; return; } ############ FUN_ 180bac130 size=316 ############ longlong FUN_180bac130(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180b3e830 size=512 ############ undefined8 FUN_180b3e830(longlong param_1,undefined8 param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; longlong lVar4; longlong lVar5; longlong local_res8; longlong local_res18 [2]; undefined1 local_50 [16]; undefined **local_40; undefined4 local_38; ulonglong local_30; undefined2 local_28; local_res8 = FUN_1811316e0(0x140); lVar5 = 0; lVar3 = lVar5; if (local_res8 != 0) { lVar3 = FUN_1809d3d60(local_res8); } local_res18[0] = lVar3; FUN_180b3ab70(lVar3,param_2); FUN_180b68ca0(lVar3,1); local_res8 = *(longlong *)(lVar3 + 0x18); lVar4 = *(longlong *)(param_1 + 8); plVar1 = *(longlong **)(lVar4 + 0x10); if (*(longlong **)(lVar4 + 0x18) == plVar1) { FUN_180703330(lVar4 + 8,plVar1,&local_res8); } else { *plVar1 = local_res8; *(longlong *)(lVar4 + 0x10) = *(longlong *)(lVar4 + 0x10) + 8; } FUN_18060b3f0(*(longlong *)(param_1 + 8) + 0x20,local_50,0,&local_res8,(undefined1)local_res8); lVar4 = *(longlong *)(param_1 + 0x18); lVar2 = *(longlong *)(lVar4 + 0x48); if (*(longlong *)(lVar4 + 0x50) == lVar2) { FUN_180b38590(lVar4 + 0x40,lVar2,lVar3); } else { FUN_180b39bb0(lVar2,lVar3); *(longlong *)(lVar4 + 0x48) = *(longlong *)(lVar4 + 0x48) + 0x140; } plVar1 = *(longlong **)(param_1 + 0x40); if (*(longlong **)(param_1 + 0x48) == plVar1) { FUN_18080f490(param_1 + 0x38,plVar1,local_res18); lVar3 = local_res18[0]; } else { *plVar1 = lVar3; *(longlong *)(param_1 + 0x40) = *(longlong *)(param_1 + 0x40) + 8; } local_res8 = FUN_1811316e0(0x68); lVar4 = lVar5; if (local_res8 != 0) { lVar4 = FUN_180b68400(local_res8,lVar3,param_1); } plVar1 = *(longlong **)(param_1 + 0x28); local_res8 = lVar4; if (*(longlong **)(param_1 + 0x30) == plVar1) { FUN_18080f490(param_1 + 0x20,plVar1,&local_res8); } else { *plVar1 = lVar4; *(longlong *)(param_1 + 0x28) = *(longlong *)(param_1 + 0x28) + 8; } local_40 = license_services::LsRelation::vftable; local_38 = *(undefined4 *)(lVar3 + 0x10); local_30 = *(ulonglong *)(lVar3 + 0x18); local_28 = *(undefined2 *)(lVar3 + 0x20); if ((0x7fffffff00000000 < (longlong)local_30) && (local_30 < 0x8000000000000000)) { lVar5 = 1; } if ((char)lVar5 != '\0') { FUN_18080c5f0(*(undefined8 *)(param_1 + 0x10),&local_40); } return *(undefined8 *)(*(longlong *)(param_1 + 0x28) + -8); } ############ FUN_ 180b3ea50 size=679 ############ longlong FUN_180b3ea50(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { longlong lVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; void *_Memory; ulonglong uVar11; ulonglong uVar12; longlong lVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar11 = *param_1; lVar1 = (longlong)(param_2 - uVar11) / 0x110; lVar13 = (longlong)(param_1[1] - uVar11) / 0x110; if (lVar13 == 0xf0f0f0f0f0f0f0) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar12 = lVar13 + 1; uVar4 = (longlong)(param_1[2] - uVar11) / 0x110; uVar11 = uVar12; if ((uVar4 <= 0xf0f0f0f0f0f0f0 - (uVar4 >> 1)) && (uVar11 = (uVar4 >> 1) + uVar4, uVar11 < uVar12) ) { uVar11 = uVar12; } uVar4 = uVar11 * 0x110; lVar13 = lVar1; puVar14 = param_1; if (uVar11 < 0xf0f0f0f0f0f0f1) { if (uVar4 < 0x1000) { if (uVar4 == 0) { uVar4 = 0; } else { uVar4 = FUN_1811316e0(uVar4); } goto LAB_180b3eb8b; } } else { uVar4 = 0xffffffffffffffff; } uVar6 = uVar4 + 0x27; if (uVar6 <= uVar4) { uVar6 = 0xffffffffffffffff; } lVar5 = FUN_1811316e0(uVar6); if (lVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar4 = lVar5 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar4 - 8) = lVar5; LAB_180b3eb8b: lVar7 = lVar1 * 0x110 + uVar4; lVar1 = lVar7 + 0x110; lVar5 = lVar1; uVar10 = uVar4; FUN_180b400f0(lVar7,param_3); uVar6 = param_1[1]; if (param_2 == uVar6) { uVar8 = uVar4; for (uVar10 = *param_1; uVar10 != uVar6; uVar10 = uVar10 + 0x110) { FUN_180b400f0(uVar8); uVar8 = uVar8 + 0x110; } } else { FUN_180b41130(param_1,*param_1,param_2,uVar4,uVar12,lVar13,lVar5,uVar10,puVar14,uVar15); FUN_180b41130(param_1,param_2,param_1[1],lVar1); } puVar9 = (undefined8 *)*param_1; if (puVar9 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar9 != puVar2; puVar9 = puVar9 + 0x22) { (**(code **)*puVar9)(puVar9,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((longlong)(param_1[2] - (longlong)pvVar3) / 0x110) * 0x110)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar4; param_1[1] = uVar12 * 0x110 + uVar4; param_1[2] = uVar11 * 0x110 + uVar4; return lVar13 * 0x110 + *param_1; } ############ FUN_ 180b3f000 size=1393 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180b3f2a9) overlaps instruction at (ram,0x000180b3f2a8) */ /* WARNING: Removing unreachable block (ram,0x000180b3f0d2) */ /* WARNING: Removing unreachable block (ram,0x000180b3f0b4) */ /* WARNING: Removing unreachable block (ram,0x000180b3f2a8) */ void FUN_180b3f000(undefined8 *param_1,longlong param_2,undefined8 param_3) { undefined8 *puVar1; undefined8 *puVar2; uint uVar3; uint uVar4; int iVar5; longlong lVar6; int unaff_retaddr; undefined1 auStack_f8 [32]; IMAGE_DOS_HEADER *local_d8; undefined8 local_d0; undefined8 local_c0; longlong local_b8; undefined8 local_b0; uint local_a8; uint local_a4; undefined8 local_a0; undefined8 *local_98; undefined8 *local_90; undefined8 *local_88; longlong local_80; undefined8 *local_78; undefined8 local_70; undefined8 *local_68; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_f8; local_a0 = param_3; local_78 = param_1; local_68 = param_1; FUN_180a3bf80(param_1,param_2 + 8); *param_1 = license_services::LsCachedObjectVectorSignedDigest::vftable; param_1[3] = param_2; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; FUN_180bacf30(param_1 + 10,*(undefined4 *)(param_1[3] + 0x38)); param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; uVar3 = (uint)&stack0x00000000; uVar4 = uVar3 & 0x3ff; iVar5 = (uVar4 + 2) * (uVar4 + 1) * uVar4; local_a4 = 0xcf73 >> (-(char)((int)-(((uVar3 & 0x5bff) * (uVar3 & 0x5bff) + 1) % 7) >> 0x1f) - 1U & 0x1f) & 0x4e51U ^ (((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e) + 0x4b41U; uVar3 = uVar3 & 0x13f; iVar5 = (uVar3 + 2) * (uVar3 + 1) * uVar3; local_a8 = (((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e) + 0x17bU ^ 0x2fb; local_d8 = &IMAGE_DOS_HEADER_180000000; local_b0 = 0; local_c0 = 0x180ba0384; local_d0 = 0x180ba2fcc; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); lVar6 = *(longlong *)(param_2 + 0x40); local_80 = *(longlong *)(param_2 + 0x48); if (lVar6 != local_80) { do { local_b8 = FUN_1811316e0(0x58); puVar1 = (undefined8 *)0x0; if (local_b8 != 0) { puVar1 = (undefined8 *)FUN_180b50f30(local_b8,lVar6,param_1); } puVar2 = (undefined8 *)param_1[5]; local_90 = puVar1; if ((undefined8 *)param_1[6] == puVar2) { FUN_18080f490(param_1 + 4,puVar2,&local_90); } else { *puVar2 = puVar1; param_1[5] = param_1[5] + 8; } puVar2 = (undefined8 *)FUN_1811316e0(0x110); puVar1 = (undefined8 *)0x0; local_98 = puVar2; if (puVar2 != (undefined8 *)0x0) { *puVar2 = license_services::LsSignedDigestWire::vftable; puVar2[1] = license_services::LsRelation::vftable; *(undefined4 *)(puVar2 + 2) = 0xffffffff; puVar2[3] = 0xffffffffffffffff; *(undefined2 *)(puVar2 + 4) = 0; *(undefined1 *)(puVar2 + 5) = 0; *(undefined4 *)((longlong)puVar2 + 0x2c) = 0; puVar2[8] = 0; puVar2[9] = 0xf; *(undefined1 *)(puVar2 + 6) = 0; FUN_1805a6cb0(puVar2 + 6,&DAT_181baf991,0); puVar2[10] = 0; puVar2[0xb] = 0; puVar2[0xc] = 0; puVar2[0xf] = 0; puVar2[0x10] = 0xf; *(undefined1 *)(puVar2 + 0xd) = 0; FUN_1805a6cb0(puVar2 + 0xd,&DAT_181baf991); puVar2[0x13] = 0; puVar2[0x14] = 0xf; *(undefined1 *)(puVar2 + 0x11) = 0; FUN_1805a6cb0(puVar2 + 0x11,&DAT_181baf991); puVar2[0x17] = 0; puVar2[0x18] = 0xf; *(undefined1 *)(puVar2 + 0x15) = 0; FUN_1805a6cb0(puVar2 + 0x15,&DAT_181baf991); puVar2[0x1b] = 0; puVar2[0x1c] = 0xf; *(undefined1 *)(puVar2 + 0x19) = 0; FUN_1805a6cb0(puVar2 + 0x19,&DAT_181baf991); puVar2[0x1d] = 0; puVar2[0x1e] = 0; puVar2[0x1f] = 0; puVar2[0x20] = 0; *(undefined2 *)(puVar2 + 0x21) = 0; puVar1 = puVar2; } local_88 = puVar1; FUN_180b40e70(puVar1,lVar6); if ((undefined8 *)param_1[9] == (undefined8 *)param_1[8]) { FUN_18080f490(param_1 + 7); } else { *(undefined8 *)param_1[8] = puVar1; param_1[8] = param_1[8] + 8; } lVar6 = lVar6 + 0x110; local_80 = *(longlong *)(param_2 + 0x48); } while (lVar6 != local_80); } local_d8 = (IMAGE_DOS_HEADER *)0xadd55244066cddfa; do { FUN_180b3e399(0x6300); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); FUN_180b3e457(); FUN_180b3f57c(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180bacf30 size=723 ############ /* WARNING: Removing unreachable block (ram,0x000180bad097) */ /* WARNING: Removing unreachable block (ram,0x000180bad034) */ /* WARNING: Removing unreachable block (ram,0x000180bad068) */ /* WARNING: Removing unreachable block (ram,0x000180bad0ae) */ void FUN_180bacf30(undefined8 *param_1,undefined4 param_2) { undefined8 *puVar1; undefined1 auStack_c8 [40]; undefined4 local_a0; undefined8 *local_98; undefined8 *local_80; undefined4 local_68; undefined4 local_64; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_c8; local_a0 = param_2; local_98 = param_1; local_58 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_80 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { *puVar1 = license_services::LsEntitySignedDigest::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180bacec0(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; local_64 = 0x670; local_68 = 0xa50; /* WARNING: Call to offcut address within same function */ func_0x000180bad132(0,0x670); /* WARNING: Could not recover jumptable at 0x000180bad204. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)((longlong)param_1 + -0x16f9))(); return; } ############ FUN_ 180bacec0 size=97 ############ undefined8 * FUN_180bacec0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180baf200 size=311 ############ void FUN_180baf200(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180baf390(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180b3ea50(lVar2 + 0x40,lVar1,param_2); return; } FUN_180b400f0(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 0x110; return; } ############ FUN_ 180baf390 size=316 ############ longlong FUN_180baf390(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180b46780 size=812 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180b46808) */ /* WARNING: Removing unreachable block (ram,0x000180b468cb) */ /* WARNING: Removing unreachable block (ram,0x000180b46883) */ void FUN_180b46780(longlong param_1,undefined8 param_2) { longlong lVar1; undefined8 *puVar2; longlong lVar3; longlong *plVar4; longlong lVar5; longlong lVar6; int iVar7; uint uVar8; undefined1 auStack_128 [32]; undefined1 local_108; undefined4 local_f8; undefined1 local_e8; uint local_c0; uint local_bc; longlong local_b8; undefined8 local_b0; longlong local_a8; longlong local_a0 [5]; undefined8 local_78; undefined1 local_70 [40]; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_128; uVar8 = (uint)&stack0x00000000 & 0x33f; local_c0 = 0x170 - ((uVar8 + 2) * (uVar8 + 1) * uVar8) % 3 ^ 0xf70; uVar8 = (uint)&stack0x00000000 & 0x52ff; iVar7 = uVar8 * uVar8 + 1; uVar8 = (iVar7 >> 4) + (iVar7 >> 1) + iVar7 * 0x24924924 >> 0x1d; uVar8 = (int)(uVar8 - 7) >> 0x1f & uVar8; local_bc = (int)(-uVar8 | uVar8) >> 0x1f & 0xcc7cU ^ 0xc48c; lVar6 = 0; local_f8 = 0; local_b8 = FUN_1811316e0(0x110); lVar5 = lVar6; if (local_b8 != 0) { lVar5 = FUN_180b401f0(local_b8); } local_a8 = lVar5; FUN_180b40e70(lVar5,param_2); FUN_180b5e710(lVar5,1); local_b0 = *(undefined8 *)(lVar5 + 0x18); lVar1 = *(longlong *)(param_1 + 8); puVar2 = *(undefined8 **)(lVar1 + 0x10); if (*(undefined8 **)(lVar1 + 0x18) == puVar2) { FUN_180703330(lVar1 + 8,puVar2,&local_b0); } else { *puVar2 = local_b0; *(longlong *)(lVar1 + 0x10) = *(longlong *)(lVar1 + 0x10) + 8; } local_108 = local_e8; FUN_18060b3f0(*(longlong *)(param_1 + 8) + 0x20,local_70,0,&local_b0); lVar1 = *(longlong *)(param_1 + 0x18); lVar3 = *(longlong *)(lVar1 + 0x48); if (*(longlong *)(lVar1 + 0x50) == lVar3) { FUN_180b3ea50(lVar1 + 0x40,lVar3,lVar5); } else { FUN_180b400f0(lVar3,lVar5); *(longlong *)(lVar1 + 0x48) = *(longlong *)(lVar1 + 0x48) + 0x110; } plVar4 = *(longlong **)(param_1 + 0x40); if (*(longlong **)(param_1 + 0x48) == plVar4) { FUN_18080f490(param_1 + 0x38,plVar4,&local_a8); lVar5 = local_a8; } else { *plVar4 = lVar5; *(longlong *)(param_1 + 0x40) = *(longlong *)(param_1 + 0x40) + 8; } local_b8 = FUN_1811316e0(0x58); if (local_b8 != 0) { lVar6 = FUN_180b50f30(local_b8,lVar5,param_1); } local_b8 = param_1 + 0x20; plVar4 = *(longlong **)(param_1 + 0x28); local_a0[0] = lVar6; if (*(longlong **)(param_1 + 0x30) == plVar4) { FUN_18080f490(local_b8,plVar4,local_a0); } else { *plVar4 = lVar6; *(longlong *)(param_1 + 0x28) = *(longlong *)(param_1 + 0x28) + 8; } FUN_180b47c93(); /* WARNING: Call to offcut address within same function */ func_0x000180b46aa7(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180b47730 size=694 ############ longlong FUN_180b47730(ulonglong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; ulonglong uVar12; ulonglong uVar13; ulonglong *puVar14; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; uVar12 = *param_1; lVar5 = (param_2 - uVar12) + SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)(param_2 - uVar12)),8); lVar7 = (lVar5 >> 8) - (lVar5 >> 0x3f); lVar5 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)(param_1[1] - uVar12)),8) + (param_1[1] - uVar12); lVar5 = (lVar5 >> 8) - (lVar5 >> 0x3f); if (lVar5 == 0xa3d70a3d70a3d7) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar13 = lVar5 + 1; lVar5 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)(param_1[2] - uVar12)),8) + (param_1[2] - uVar12); uVar6 = (lVar5 >> 8) - (lVar5 >> 0x3f); uVar12 = uVar13; if ((uVar6 <= 0xa3d70a3d70a3d7 - (uVar6 >> 1)) && (uVar12 = (uVar6 >> 1) + uVar6, uVar12 < uVar13) ) { uVar12 = uVar13; } uVar6 = uVar12 * 400; lVar5 = lVar7; puVar14 = param_1; if (uVar12 < 0xa3d70a3d70a3d8) { if (uVar6 < 0x1000) { if (uVar6 == 0) { uVar6 = 0; } else { uVar6 = FUN_1811316e0(uVar6); } goto LAB_180b47872; } } else { uVar6 = 0xffffffffffffffff; } uVar4 = uVar6 + 0x27; if (uVar4 <= uVar6) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } uVar6 = lVar3 + 0x27U & 0xffffffffffffffe0; *(longlong *)(uVar6 - 8) = lVar3; LAB_180b47872: lVar8 = lVar7 * 400 + uVar6; lVar7 = lVar8 + 400; lVar3 = lVar7; uVar11 = uVar6; FUN_180b48d30(lVar8,param_3); uVar4 = param_1[1]; if (param_2 == uVar4) { uVar9 = uVar6; for (uVar11 = *param_1; uVar11 != uVar4; uVar11 = uVar11 + 400) { FUN_180b48d30(uVar9); uVar9 = uVar9 + 400; } } else { FUN_180b4a150(param_1,*param_1,param_2,uVar6,uVar13,lVar5,lVar3,uVar11,puVar14,uVar15); FUN_180b4a150(param_1,param_2,param_1[1],lVar7); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[1]; for (; puVar10 != puVar1; puVar10 = puVar10 + 0x32) { (**(code **)*puVar10)(puVar10,0); } pvVar2 = (void *)*param_1; lVar5 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816((longlong)(param_1[2] - (longlong)pvVar2)) ,8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar5 >> 8) - (lVar5 >> 0x3f)) * 400)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = uVar6; param_1[1] = uVar13 * 400 + uVar6; param_1[2] = uVar12 * 400 + uVar6; return lVar5 * 400 + *param_1; } ############ FUN_ 180bb0370 size=550 ############ /* WARNING: Instruction at (ram,0x000180bb0593) overlaps instruction at (ram,0x000180bb0592) */ /* WARNING: Possible PIC construction at 0x000180bb0729: Changing call to branch */ /* WARNING: Removing unreachable block (ram,0x000180bb072e) */ /* WARNING: Removing unreachable block (ram,0x000180bb0514) */ /* WARNING: Removing unreachable block (ram,0x000180bb0592) */ undefined8 FUN_180bb0370(undefined8 *param_1,undefined4 param_2) { undefined8 *puVar1; undefined8 uVar2; int iVar3; uint uVar4; uint uVar5; uint uVar6; int unaff_retaddr; undefined1 auStack_a8 [32]; undefined4 local_88; undefined *puStack_80; undefined8 *local_78; undefined *puStack_70; uint local_64; undefined4 local_60; uint local_5c; undefined8 *local_58; undefined8 local_50; ulonglong local_30; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_78 = param_1; local_60 = param_2; local_58 = param_1; puVar1 = (undefined8 *)FUN_1811316e0(0x60); local_78 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { *puVar1 = license_services::LsEntitySignedInfo::vftable; FUN_180677c10(puVar1 + 1); puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; *(undefined2 *)(puVar1 + 0xb) = 0; } *param_1 = puVar1; FUN_180bb0300(param_1 + 1,puVar1); FUN_1805ae620(param_1,puVar1,puVar1); param_1[2] = *param_1; uVar4 = (uint)&stack0x00000000; iVar3 = (uVar4 & 0x41ff) * (uVar4 & 0x41ff) + 1; uVar5 = iVar3 * 0x24924924 + (iVar3 >> 4) + (iVar3 >> 1) >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; local_5c = ((int)(-uVar5 | uVar5) >> 0x1f) * -0x6a26 ^ 0x6f06; if (((ulonglong)&stack0x00000000 & 0x3a0) == 0) { uVar5 = (uVar4 & 0x75ff) * (uVar4 & 0x75ff) + 1; iVar3 = (uVar5 / 7) * 7; } else { uVar5 = ((uVar4 & 0x22ff) + 1) * (uVar4 & 0x22ff) + 7; iVar3 = (uVar5 / 0x51) * 0x51; } uVar6 = ((uVar4 & 0xeff) + 1) * (uVar4 & 0xeff) + 0x52cb & 0x80000001; uVar4 = ((uVar4 & 0x1cff) * (uVar4 & 0x1cff) + 1) % 7; uVar4 = (((int)(-uVar6 | uVar6) >> 0x1f) - ((int)(-uVar4 | uVar4) >> 0x1f) | 0xd215U) ^ (int)(-(uVar5 - iVar3) | uVar5 - iVar3) >> 0x1f & 0xdfe5U; local_88 = 0; local_64 = uVar4; do { func_0x000180baeaaf(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_78 = (undefined8 *)0x0; puStack_80 = &UNK_180b4e070; puStack_70 = &UNK_180b5136c; /* WARNING: Could not recover jumptable at 0x000180bb084b. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar2 = (*(code *)&LAB_180b697bb) (&UNK_180b5136c,0x1d5,0x3085ad4,&LAB_180b697bb,&DAT_180c49f02,&UNK_180bb084e, uVar4); return uVar2; } ############ FUN_ 180bb0300 size=97 ############ undefined8 * FUN_180bb0300(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; *param_1 = 0; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = boost::detail::sp_counted_impl_p::vftable; puVar1[2] = param_2; } *param_1 = puVar1; return param_1; } ############ FUN_ 180bb2280 size=311 ############ void FUN_180bb2280(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; undefined1 local_res8; undefined1 local_30 [24]; lVar2 = FUN_180bb2410(param_1,param_2 + 8); if (lVar2 != -1) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "Attempt to add this object to the entity metadata twice. The object has entityId: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),param_2 + 0x10); } FUN_18060b3f0(*(longlong *)(param_1 + 0x10) + 0x28,local_30,0,param_2 + 0x18,local_res8); lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x18); if (*(undefined8 **)(lVar2 + 0x20) == puVar3) { FUN_180703330(lVar2 + 0x10,puVar3,param_2 + 0x18); } else { *puVar3 = *(undefined8 *)(param_2 + 0x18); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + 8; } lVar2 = *(longlong *)(param_1 + 0x10); lVar1 = *(longlong *)(lVar2 + 0x48); if (*(longlong *)(lVar2 + 0x50) == lVar1) { FUN_180b47730(lVar2 + 0x40,lVar1,param_2); return; } FUN_180b48d30(lVar1,param_2); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + 400; return; } ############ FUN_ 180bb2410 size=316 ############ longlong FUN_180bb2410(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; if (*(int *)(param_2 + 8) != *(int *)(*(longlong *)(param_1 + 0x10) + 0x38)) { lVar2 = FUN_1811316e0(0x18); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = FUN_1805a48c0(lVar2, "The LsRelation supplied identifies the wrong object type. We expected the entityId value: %d, but saw: %d and instanceId: %ld" ); } puVar3 = (undefined8 *)FUN_1811316e0(0x18); if (puVar3 != (undefined8 *)0x0) { FUN_1805a48c0(puVar3,"|__FILE__|%s|__LINE__|%d"); *puVar3 = pace::PaceLocationInfoFormatter::vftable; } /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar2 + 8),*(longlong *)(param_1 + 0x10) + 0x38); } lVar2 = *(longlong *)(param_1 + 0x10); puVar3 = *(undefined8 **)(lVar2 + 0x28); local_res8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar5 = (undefined8 *)puVar3[1]; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { puVar6 = (undefined8 *)*puVar5; local_res8 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((local_res8 == puVar3) || (*(longlong *)(param_2 + 0x10) < (longlong)local_res8[4])) { local_res8 = puVar3; } if (local_res8 == puVar3) { lVar2 = -1; } else { plVar1 = *(longlong **)(lVar2 + 0x10); plVar4 = plVar1; if (plVar1 != *(longlong **)(lVar2 + 0x18)) { do { if (*plVar4 == *(longlong *)(param_2 + 0x10)) break; plVar4 = plVar4 + 1; } while (plVar4 != *(longlong **)(lVar2 + 0x18)); } lVar2 = (longlong)plVar4 - (longlong)plVar1 >> 3; } return lVar2; } ############ FUN_ 180b4fb60 size=903 ############ /* WARNING: Removing unreachable block (ram,0x000180b4fbfc) */ /* WARNING: Removing unreachable block (ram,0x000180b4fbab) */ void FUN_180b4fb60(longlong param_1,undefined8 param_2) { longlong lVar1; undefined8 *puVar2; longlong lVar3; longlong *plVar4; longlong lVar5; ulonglong uVar6; uint uVar7; undefined1 auStack_128 [32]; undefined1 local_108; undefined1 local_e0; longlong local_d0; undefined4 local_c8; uint local_c4; undefined8 local_b0; longlong local_a8 [7]; undefined8 local_70; undefined1 local_68 [40]; ulonglong local_40; local_70 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_128; lVar5 = 0; local_c8 = 0x710; uVar7 = (uint)&stack0x00000000 & 0x34ff; uVar7 = (uVar7 * uVar7 + 1) % 7; uVar7 = (int)(-uVar7 | uVar7) >> 0x1f; local_c4 = ((int)(-uVar7 | uVar7) >> 0x1f) * -0x9917 ^ 0x94e7; local_d0 = FUN_1811316e0(400); if (local_d0 != 0) { lVar5 = FUN_1809d4580(local_d0); } local_a8[0] = lVar5; FUN_180b49ee0(lVar5,param_2); FUN_180aa50f0(lVar5,1); local_b0 = *(undefined8 *)(lVar5 + 0x18); lVar1 = *(longlong *)(param_1 + 8); puVar2 = *(undefined8 **)(lVar1 + 0x10); if (*(undefined8 **)(lVar1 + 0x18) == puVar2) { FUN_180703330(lVar1 + 8,puVar2,&local_b0); } else { *puVar2 = local_b0; *(longlong *)(lVar1 + 0x10) = *(longlong *)(lVar1 + 0x10) + 8; } local_108 = local_e0; FUN_18060b3f0(*(longlong *)(param_1 + 8) + 0x20,local_68,0,&local_b0); lVar1 = *(longlong *)(param_1 + 0x18); lVar3 = *(longlong *)(lVar1 + 0x48); if (*(longlong *)(lVar1 + 0x50) == lVar3) { FUN_180b47730(lVar1 + 0x40,lVar3,lVar5); } else { FUN_180b48d30(lVar3,lVar5); *(longlong *)(lVar1 + 0x48) = *(longlong *)(lVar1 + 0x48) + 400; } plVar4 = *(longlong **)(param_1 + 0x40); if (*(longlong **)(param_1 + 0x48) == plVar4) { FUN_18080f490(param_1 + 0x38,plVar4,local_a8); } else { *plVar4 = lVar5; *(longlong *)(param_1 + 0x40) = *(longlong *)(param_1 + 0x40) + 8; } uVar6 = FUN_180b4e1ac(); /* WARNING: Could not recover jumptable at 0x000180b4feec. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)((uVar6 ^ 0x180b4e5ae ^ uVar6) + 0x40b8c))(); return; } ############ FUN_ 180b5fff0 size=214 ############ void FUN_180b5fff0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsSignedDigest::targetSlowPath: The LsSignedDigestWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lssigneddigest.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180b64590 size=214 ############ void FUN_180b64590(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsArrayEntry::targetSlowPath: The LsArrayEntryWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsarrayentry.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180b682b0 size=214 ############ void FUN_180b682b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsAssociativeArray::targetSlowPath: The LsAssociativeArrayWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsassociativearray.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180b68d10 size=214 ############ void FUN_180b68d10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 *local_res8; char *local_res10; plVar1 = (longlong *)(param_1 + 0x18); if ((*plVar1 == 0) && (FUN_1808157d0(*(undefined8 *)(param_1 + 0x40),param_1 + 0x20,plVar1,param_4,0xfffffffffffffffe ), *plVar1 == 0)) { local_res8 = (undefined8 *)FUN_1811316e0(0x18); if (local_res8 != (undefined8 *)0x0) { FUN_1805a48c0(local_res8, "LsIlokAuth::targetSlowPath: The LsIlokAuthWire object that this object references has disappeared." ); } puVar2 = (undefined8 *)FUN_1811316e0(0x18); local_res8 = puVar2; if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar2,"|__FILE__|%s|__LINE__|%d"); *puVar2 = pace::PaceLocationInfoFormatter::vftable; } local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,0xf3); local_res10 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsilokauth.cpp" ; uVar3 = FUN_1805a21d0(puVar2[1],&local_res10); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar3,&local_res8); } return; } ############ FUN_ 180b6bf50 size=453 ############ void FUN_180b6bf50(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180b6b190(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x178 + *(longlong *)(lVar2 + 0x40); FUN_180a2e2a0(lVar3 + 0x178,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x178); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x178; } return; } ############ FUN_ 180b785a0 size=451 ############ void FUN_180b785a0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180b77750(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); FUN_180a4c2a0(lVar3 * 0x108 + *(longlong *)(lVar2 + 0x40) + 0x108,*(undefined8 *)(lVar2 + 0x48)) ; puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x108); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x108; } return; } ############ FUN_ 180b7b3f0 size=454 ############ void FUN_180b7b3f0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180b7a7a0(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0xd8 + *(longlong *)(lVar2 + 0x40); FUN_180a56ac0(lVar3 + 0xd8,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0xd8); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0xd8; } return; } ############ FUN_ 180b7e620 size=454 ############ void FUN_180b7e620(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180b7d440(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x198 + *(longlong *)(lVar2 + 0x40); FUN_180a5fa20(lVar3 + 0x198,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x198); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x198; } return; } ############ FUN_ 180b81ea0 size=753 ############ void FUN_180b81ea0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong *plVar9; undefined8 *puVar10; longlong local_res20; lVar4 = FUN_180b80a90(); if (lVar4 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar4 + 8),param_2 + 8); } } else { puVar8 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar7 = (undefined8 *)puVar8[1]; puVar10 = puVar8; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar5 = puVar7; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { if ((*(char *)((longlong)puVar8 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar5[4])) { puVar8 = puVar5; } puVar6 = (undefined8 *)*puVar5; puVar10 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if (*(char *)((longlong)puVar8 + 0x19) == '\0') { puVar7 = (undefined8 *)*puVar8; } puVar5 = puVar10; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar7[4]) { puVar6 = (undefined8 *)*puVar7; puVar8 = puVar7; } else { puVar6 = (undefined8 *)puVar7[2]; } puVar7 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } while (puVar5 != puVar8) { puVar7 = (undefined8 *)puVar5[2]; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; } } else { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar6 = (undefined8 *)puVar5[1]; puVar7 = puVar5; while ((puVar5 = puVar6, cVar1 == '\0' && (puVar7 == (undefined8 *)puVar5[2]))) { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar6 = (undefined8 *)puVar5[1]; puVar7 = puVar5; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar10); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar4 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = *(longlong *)(lVar2 + 0x48); lVar4 = lVar4 * 0xb8 + 0xb8 + *(longlong *)(lVar2 + 0x40); if (lVar4 != lVar3) { puVar8 = (undefined8 *)(lVar4 + -0xa0); do { *(undefined4 *)(puVar8 + -1) = *(undefined4 *)(puVar8 + 0x16); *puVar8 = puVar8[0x17]; *(undefined2 *)(puVar8 + 1) = *(undefined2 *)(puVar8 + 0x18); *(undefined1 *)(puVar8 + 2) = *(undefined1 *)(puVar8 + 0x19); plVar9 = puVar8 + 0x1a; if (puVar8 + 3 != plVar9) { if (0xf < (ulonglong)puVar8[0x1d]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 3,plVar9,puVar8[0x1c]); } plVar9 = puVar8 + 0x1e; if (puVar8 + 7 != plVar9) { if (0xf < (ulonglong)puVar8[0x21]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 7,plVar9,puVar8[0x20]); } plVar9 = puVar8 + 0x22; if (puVar8 + 0xb != plVar9) { if (0xf < (ulonglong)puVar8[0x25]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 0xb,plVar9,puVar8[0x24]); } *(undefined4 *)(puVar8 + 0xf) = *(undefined4 *)(puVar8 + 0x26); if (puVar8 + 0x10 != puVar8 + 0x27) { FUN_1807fecd0(puVar8 + 0x10,puVar8[0x27],puVar8[0x28],(undefined1)local_res20); } *(undefined4 *)(puVar8 + 0x13) = *(undefined4 *)(puVar8 + 0x2a); *(undefined2 *)((longlong)puVar8 + 0x9c) = *(undefined2 *)((longlong)puVar8 + 0x154); *(undefined1 *)((longlong)puVar8 + 0x9e) = *(undefined1 *)((longlong)puVar8 + 0x156); lVar4 = lVar4 + 0xb8; puVar8 = puVar8 + 0x17; } while (lVar4 != lVar3); } puVar8 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0xb8); (**(code **)*puVar8)(puVar8,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0xb8; } return; } ############ FUN_ 180b84ec0 size=454 ############ void FUN_180b84ec0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180b84020(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x208 + *(longlong *)(lVar2 + 0x40); FUN_180ab5e90(lVar3 + 0x208,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x208); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x208; } return; } ############ FUN_ 180b87930 size=785 ############ void FUN_180b87930(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong *plVar9; undefined8 *puVar10; longlong local_res20; lVar4 = FUN_180b86c50(); if (lVar4 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar4 + 8),param_2 + 8); } } else { puVar8 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar7 = (undefined8 *)puVar8[1]; puVar10 = puVar8; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar5 = puVar7; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { if ((*(char *)((longlong)puVar8 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar5[4])) { puVar8 = puVar5; } puVar6 = (undefined8 *)*puVar5; puVar10 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if (*(char *)((longlong)puVar8 + 0x19) == '\0') { puVar7 = (undefined8 *)*puVar8; } puVar5 = puVar10; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar7[4]) { puVar6 = (undefined8 *)*puVar7; puVar8 = puVar7; } else { puVar6 = (undefined8 *)puVar7[2]; } puVar7 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } while (puVar5 != puVar8) { puVar7 = (undefined8 *)puVar5[2]; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; } } else { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar6 = (undefined8 *)puVar5[1]; puVar7 = puVar5; while ((puVar5 = puVar6, cVar1 == '\0' && (puVar7 == (undefined8 *)puVar5[2]))) { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar6 = (undefined8 *)puVar5[1]; puVar7 = puVar5; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar10); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar4 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = *(longlong *)(lVar2 + 0x48); lVar4 = lVar4 * 200 + 200 + *(longlong *)(lVar2 + 0x40); if (lVar4 != lVar3) { puVar8 = (undefined8 *)(lVar4 + -0xb0); do { *(undefined4 *)(puVar8 + -1) = *(undefined4 *)(puVar8 + 0x18); *puVar8 = puVar8[0x19]; *(undefined2 *)(puVar8 + 1) = *(undefined2 *)(puVar8 + 0x1a); *(undefined1 *)(puVar8 + 2) = *(undefined1 *)(puVar8 + 0x1b); *(undefined4 *)((longlong)puVar8 + 0x14) = *(undefined4 *)((longlong)puVar8 + 0xdc); plVar9 = puVar8 + 0x1c; if (puVar8 + 3 != plVar9) { if (0xf < (ulonglong)puVar8[0x1f]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 3,plVar9,puVar8[0x1e]); } plVar9 = puVar8 + 0x20; if (puVar8 + 7 != plVar9) { if (0xf < (ulonglong)puVar8[0x23]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 7,plVar9,puVar8[0x22]); } plVar9 = puVar8 + 0x24; if (puVar8 + 0xb != plVar9) { if (0xf < (ulonglong)puVar8[0x27]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 0xb,plVar9,puVar8[0x26]); } if (puVar8 + 0xf != puVar8 + 0x28) { FUN_1807fecd0(puVar8 + 0xf,puVar8[0x28],puVar8[0x29],(undefined1)local_res20); } if (puVar8 + 0x12 != puVar8 + 0x2b) { FUN_1807fecd0(puVar8 + 0x12,puVar8[0x2b],puVar8[0x2c],(undefined1)local_res20); } puVar8[0x15] = puVar8[0x2e]; lVar4 = lVar4 + 200; puVar8 = puVar8 + 0x19; } while (lVar4 != lVar3); } puVar8 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -200); (**(code **)*puVar8)(puVar8,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -200; } return; } ############ FUN_ 180b8a9d0 size=839 ############ void FUN_180b8a9d0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong *plVar9; undefined8 *puVar10; longlong local_res20; lVar4 = FUN_180b89830(); if (lVar4 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar4 + 8),param_2 + 8); } } else { puVar8 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar7 = (undefined8 *)puVar8[1]; puVar10 = puVar8; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar5 = puVar7; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { if ((*(char *)((longlong)puVar8 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar5[4])) { puVar8 = puVar5; } puVar6 = (undefined8 *)*puVar5; puVar10 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if (*(char *)((longlong)puVar8 + 0x19) == '\0') { puVar7 = (undefined8 *)*puVar8; } puVar5 = puVar10; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar7[4]) { puVar6 = (undefined8 *)*puVar7; puVar8 = puVar7; } else { puVar6 = (undefined8 *)puVar7[2]; } puVar7 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } while (puVar5 != puVar8) { puVar7 = (undefined8 *)puVar5[2]; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; } } else { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar6 = (undefined8 *)puVar5[1]; puVar7 = puVar5; while ((puVar5 = puVar6, cVar1 == '\0' && (puVar7 == (undefined8 *)puVar5[2]))) { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar6 = (undefined8 *)puVar5[1]; puVar7 = puVar5; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar10); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar4 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = *(longlong *)(lVar2 + 0x48); lVar4 = lVar4 * 0xf0 + 0xf0 + *(longlong *)(lVar2 + 0x40); if (lVar4 != lVar3) { puVar8 = (undefined8 *)(lVar4 + -0xd8); do { *(undefined4 *)(puVar8 + -1) = *(undefined4 *)(puVar8 + 0x1d); *puVar8 = puVar8[0x1e]; *(undefined2 *)(puVar8 + 1) = *(undefined2 *)(puVar8 + 0x1f); *(undefined1 *)(puVar8 + 2) = *(undefined1 *)(puVar8 + 0x20); *(undefined4 *)((longlong)puVar8 + 0x14) = *(undefined4 *)((longlong)puVar8 + 0x104); *(undefined1 *)(puVar8 + 3) = *(undefined1 *)(puVar8 + 0x21); *(undefined4 *)((longlong)puVar8 + 0x1c) = *(undefined4 *)((longlong)puVar8 + 0x10c); *(undefined4 *)(puVar8 + 4) = *(undefined4 *)(puVar8 + 0x22); *(undefined1 *)((longlong)puVar8 + 0x24) = *(undefined1 *)((longlong)puVar8 + 0x114); *(undefined4 *)(puVar8 + 5) = *(undefined4 *)(puVar8 + 0x23); *(undefined4 *)((longlong)puVar8 + 0x2c) = *(undefined4 *)((longlong)puVar8 + 0x11c); *(undefined1 *)(puVar8 + 6) = *(undefined1 *)(puVar8 + 0x24); *(undefined4 *)((longlong)puVar8 + 0x34) = *(undefined4 *)((longlong)puVar8 + 0x124); *(undefined4 *)(puVar8 + 7) = *(undefined4 *)(puVar8 + 0x25); plVar9 = puVar8 + 0x26; if (puVar8 + 8 != plVar9) { if (0xf < (ulonglong)puVar8[0x29]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 8,plVar9,puVar8[0x28]); } plVar9 = puVar8 + 0x2a; if (puVar8 + 0xc != plVar9) { if (0xf < (ulonglong)puVar8[0x2d]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 0xc,plVar9,puVar8[0x2c]); } *(undefined4 *)(puVar8 + 0x10) = *(undefined4 *)(puVar8 + 0x2e); plVar9 = puVar8 + 0x2f; if (puVar8 + 0x11 != plVar9) { if (0xf < (ulonglong)puVar8[0x32]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 0x11,plVar9,puVar8[0x31]); } if (puVar8 + 0x15 != puVar8 + 0x33) { FUN_1807fecd0(puVar8 + 0x15,puVar8[0x33],puVar8[0x34],(undefined1)local_res20); } puVar8[0x18] = puVar8[0x36]; puVar8[0x19] = puVar8[0x37]; *(undefined1 *)(puVar8 + 0x1a) = *(undefined1 *)(puVar8 + 0x38); lVar4 = lVar4 + 0xf0; puVar8 = puVar8 + 0x1e; } while (lVar4 != lVar3); } puVar8 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0xf0); (**(code **)*puVar8)(puVar8,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0xf0; } return; } ############ FUN_ 180b8dac0 size=451 ############ void FUN_180b8dac0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180b8c8e0(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); FUN_180ad23b0(lVar3 * 0x118 + *(longlong *)(lVar2 + 0x40) + 0x118,*(undefined8 *)(lVar2 + 0x48)) ; puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x118); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x118; } return; } ############ FUN_ 180b90390 size=454 ############ void FUN_180b90390(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180b8f830(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x168 + *(longlong *)(lVar2 + 0x40); FUN_180adc390(lVar3 + 0x168,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x168); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x168; } return; } ############ FUN_ 180b931a0 size=454 ############ void FUN_180b931a0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180b924a0(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x150 + *(longlong *)(lVar2 + 0x40); FUN_180ae8630(lVar3 + 0x150,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x150); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x150; } return; } ############ FUN_ 180b96440 size=454 ############ void FUN_180b96440(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180b954f0(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x1d0 + *(longlong *)(lVar2 + 0x40); FUN_180af1490(lVar3 + 0x1d0,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x1d0); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x1d0; } return; } ############ FUN_ 180b98eb0 size=454 ############ void FUN_180b98eb0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180b98380(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x180 + *(longlong *)(lVar2 + 0x40); FUN_180af7e00(lVar3 + 0x180,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x180); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x180; } return; } ############ FUN_ 180b99160 size=570 ############ undefined8 FUN_180b99160(longlong param_1,undefined8 param_2,ulonglong param_3) { undefined8 *puVar1; char cVar2; longlong lVar3; undefined8 uVar4; char *pcVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; undefined8 *puVar9; char *local_res8 [2]; ulonglong local_res18; char *local_res20; undefined **local_60; undefined4 local_58; longlong local_50; undefined2 local_48; local_res18 = param_3; if ((*(char *)(param_1 + 0x10) == '\0') && ((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5 == 0)) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] != (char *)0x0) { FUN_1805a48c0(local_res8[0],"LsObjectRelationVector<>::at: This one-to-one relation is empty." ); } lVar3 = FUN_1805c0260(); local_res8[0] = (char *)CONCAT44(local_res8[0]._4_4_,0x6e); local_res20 = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorilokauth.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar3 + 8),&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,local_res8); } if ((ulonglong)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5) <= param_3) { local_res8[0] = (char *)FUN_1811316e0(0x18); if (local_res8[0] == (char *)0x0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res8[0], "LsObjectRelationVector<>::at: Index is out of range. This object relation vector contains %u entries and the supplied index value was %u" ); } pcVar5 = (char *)FUN_1811316e0(0x18); if (pcVar5 == (char *)0x0) { pcVar5 = (char *)0x0; } else { local_res8[0] = pcVar5; FUN_1805a48c0(pcVar5,"|__FILE__|%s|__LINE__|%d"); *(undefined ***)pcVar5 = pace::PaceLocationInfoFormatter::vftable; } local_res8[0] = (char *)((*(longlong **)(param_1 + 8))[1] - **(longlong **)(param_1 + 8) >> 5); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),local_res8); FUN_1805b2520(*(undefined8 *)(lVar3 + 8),&local_res18); local_res18 = CONCAT44(local_res18._4_4_,0x70); local_res8[0] = "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lsobjectrelationvectorilokauth.cpp" ; uVar4 = FUN_1805a21d0(*(undefined8 *)(pcVar5 + 8),local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,&local_res18); } lVar3 = **(longlong **)(param_1 + 8); if (param_3 < (ulonglong)((*(longlong **)(param_1 + 8))[1] - lVar3 >> 5)) { lVar7 = param_3 * 0x20; local_60 = license_services::LsRelation::vftable; local_58 = *(undefined4 *)(lVar7 + 8 + lVar3); local_50 = *(longlong *)(lVar7 + 0x10 + lVar3); local_48 = *(undefined2 *)(lVar7 + 0x18 + lVar3); cVar2 = FUN_18080b1c0(&local_60); if (cVar2 == '\0') { lVar3 = *(longlong *)(param_1 + 0x20); puVar1 = *(undefined8 **)(*(longlong *)(lVar3 + 8) + 0x20); cVar2 = *(char *)((longlong)puVar1[1] + 0x19); puVar9 = puVar1; puVar8 = (undefined8 *)puVar1[1]; while (cVar2 == '\0') { if ((longlong)puVar8[4] < local_50) { puVar6 = (undefined8 *)puVar8[2]; puVar8 = puVar9; } else { puVar6 = (undefined8 *)*puVar8; } puVar9 = puVar8; puVar8 = puVar6; cVar2 = *(char *)((longlong)puVar6 + 0x19); } if ((puVar9 == puVar1) || (local_50 < (longlong)puVar9[4])) { puVar9 = puVar1; } if (puVar9 == puVar1) { FUN_180b3c880(lVar3,*(undefined8 *)(param_1 + 8),0); } } else { lVar3 = *(longlong *)(param_1 + 0x20); } FUN_180b3c630(lVar3,param_2,&local_60,0); return param_2; } /* WARNING: Subroutine does not return */ FUN_1808077d0(); } ############ FUN_ 180ba31b0 size=165 ############ void FUN_180ba31b0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res18; char *local_res20; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"AddItem is not supported in the class",param_3,param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x3a); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res18); } ############ FUN_ 180ba32b0 size=161 ############ void FUN_180ba32b0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res10; char *local_res18 [2]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10,"Asn1ItemIsAContainer is not supported in the class",param_3,param_4, uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x46); local_res18[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res10); } ############ FUN_ 180ba3370 size=161 ############ void FUN_180ba3370(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res10; char *local_res18 [2]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10,"Clear is not supported in the class",param_3,param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0x54); local_res18[0] = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],local_res18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res10); } ############ FUN_ 180ba3430 size=161 ############ void FUN_180ba3430(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res18; char *local_res20; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"Encode is not supported in the class",param_3,param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x60); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res18); } ############ FUN_ 180ba3790 size=161 ############ void FUN_180ba3790(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res18; char *local_res20; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"GetContent (string &) is not supported in the class",param_3,param_4, uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0xab); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res18); } ############ FUN_ 180ba3850 size=161 ############ void FUN_180ba3850(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res18; char *local_res20; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"GetContent (vector &) is not supported in the class",param_3 ,param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0x9f); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res18); } ############ FUN_ 180ba3910 size=173 ############ void FUN_180ba3910(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; char *local_res8; undefined8 *local_res10; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res10 = param_2; local_res10 = (undefined8 *)FUN_1811316e0(0x18); if (local_res10 != (undefined8 *)0x0) { FUN_1805a48c0(local_res10,"GetTheNthItem is not supported in the class",param_3,param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res10 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res10 = (undefined8 *)CONCAT44(local_res10._4_4_,0xb8); local_res8 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res8); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res10); } ############ FUN_ 180ba3a00 size=161 ############ void FUN_180ba3a00(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res18; char *local_res20; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"SetContent (const string &) is not supported in the class",param_3, param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0xd2); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res18); } ############ FUN_ 180ba3ac0 size=161 ############ void FUN_180ba3ac0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *local_res18; char *local_res20; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res18 = (undefined8 *)FUN_1811316e0(0x18); if (local_res18 != (undefined8 *)0x0) { FUN_1805a48c0(local_res18,"SetContent (const vector &) is not supported in the class", param_3,param_4,uVar2); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res18 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d",param_3,param_4,uVar2); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,0xc6); local_res20 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_res20); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res18); } ############ FUN_ 180ba3b80 size=161 ############ void FUN_180ba3b80(void) { undefined8 *puVar1; undefined8 uVar2; undefined8 *local_res20; char *local_18; undefined8 local_10; local_10 = 0xfffffffffffffffe; local_res20 = (undefined8 *)FUN_1811316e0(0x18); if (local_res20 != (undefined8 *)0x0) { FUN_1805a48c0(local_res20,"SetContent (CERT_ContentPtr, uint32_t) is not supported in the class" ); } puVar1 = (undefined8 *)FUN_1811316e0(0x18); local_res20 = puVar1; if (puVar1 == (undefined8 *)0x0) { puVar1 = (undefined8 *)0x0; } else { FUN_1805a48c0(puVar1,"|__FILE__|%s|__LINE__|%d"); *puVar1 = pace::PaceLocationInfoFormatter::vftable; } local_res20 = (undefined8 *)CONCAT44(local_res20._4_4_,0xdf); local_18 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\asn1.cpp"; uVar2 = FUN_1805a21d0(puVar1[1],&local_18); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar2,&local_res20); } ############ FUN_ 180ba6fe0 size=454 ############ void FUN_180ba6fe0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180ba5de0(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x150 + *(longlong *)(lVar2 + 0x40); FUN_180b26c40(lVar3 + 0x150,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x150); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x150; } return; } ############ FUN_ 180ba9f80 size=728 ############ void FUN_180ba9f80(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong *plVar9; undefined8 *puVar10; longlong local_res20; lVar4 = FUN_180ba9050(); if (lVar4 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar4 = 0; } else { lVar4 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar4 + 8),param_2 + 8); } } else { puVar8 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar7 = (undefined8 *)puVar8[1]; puVar10 = puVar8; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar5 = puVar7; do { if ((longlong)puVar5[4] < *(longlong *)(param_2 + 0x10)) { puVar6 = (undefined8 *)puVar5[2]; } else { if ((*(char *)((longlong)puVar8 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar5[4])) { puVar8 = puVar5; } puVar6 = (undefined8 *)*puVar5; puVar10 = puVar5; } puVar5 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if (*(char *)((longlong)puVar8 + 0x19) == '\0') { puVar7 = (undefined8 *)*puVar8; } puVar5 = puVar10; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar7[4]) { puVar6 = (undefined8 *)*puVar7; puVar8 = puVar7; } else { puVar6 = (undefined8 *)puVar7[2]; } puVar7 = puVar6; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } while (puVar5 != puVar8) { puVar7 = (undefined8 *)puVar5[2]; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar7 + 0x19); puVar5 = puVar7; puVar7 = (undefined8 *)*puVar7; } } else { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar6 = (undefined8 *)puVar5[1]; puVar7 = puVar5; while ((puVar5 = puVar6, cVar1 == '\0' && (puVar7 == (undefined8 *)puVar5[2]))) { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar6 = (undefined8 *)puVar5[1]; puVar7 = puVar5; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar10); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar4 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = *(longlong *)(lVar2 + 0x48); lVar4 = lVar4 * 0xb0 + 0xb0 + *(longlong *)(lVar2 + 0x40); if (lVar4 != lVar3) { puVar8 = (undefined8 *)(lVar4 + -0x98); do { *(undefined4 *)(puVar8 + -1) = *(undefined4 *)(puVar8 + 0x15); *puVar8 = puVar8[0x16]; *(undefined2 *)(puVar8 + 1) = *(undefined2 *)(puVar8 + 0x17); *(undefined1 *)(puVar8 + 2) = *(undefined1 *)(puVar8 + 0x18); plVar9 = puVar8 + 0x19; if (puVar8 + 3 != plVar9) { if (0xf < (ulonglong)puVar8[0x1c]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 3,plVar9,puVar8[0x1b]); } plVar9 = puVar8 + 0x1d; if (puVar8 + 7 != plVar9) { if (0xf < (ulonglong)puVar8[0x20]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 7,plVar9,puVar8[0x1f]); } plVar9 = puVar8 + 0x21; if (puVar8 + 0xb != plVar9) { if (0xf < (ulonglong)puVar8[0x24]) { plVar9 = (longlong *)*plVar9; } FUN_1805a6cb0(puVar8 + 0xb,plVar9,puVar8[0x23]); } if (puVar8 + 0xf != puVar8 + 0x25) { FUN_1807fecd0(puVar8 + 0xf,puVar8[0x25],puVar8[0x26],(undefined1)local_res20); } *(undefined4 *)(puVar8 + 0x12) = *(undefined4 *)(puVar8 + 0x28); *(undefined2 *)((longlong)puVar8 + 0x94) = *(undefined2 *)((longlong)puVar8 + 0x144); lVar4 = lVar4 + 0xb0; puVar8 = puVar8 + 0x16; } while (lVar4 != lVar3); } puVar8 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0xb0); (**(code **)*puVar8)(puVar8,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0xb0; } return; } ############ FUN_ 180bacca0 size=455 ############ void FUN_180bacca0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180bac130(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x140 + *(longlong *)(lVar2 + 0x40); FUN_180b38850(lVar3 + 0x140,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x140); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x140; } return; } ############ FUN_ 180bb00e0 size=454 ############ void FUN_180bb00e0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180baf390(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 0x110 + *(longlong *)(lVar2 + 0x40); FUN_180b3ed00(lVar3 + 0x110,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -0x110); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -0x110; } return; } ############ FUN_ 180bb31f0 size=454 ############ void FUN_180bb31f0(longlong param_1,longlong param_2,char param_3) { void *_Src; void *_Dst; char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong local_res20; lVar3 = FUN_180bb2410(); if (lVar3 == -1) { if (param_3 == '\0') { local_res20 = FUN_1811316e0(0x18); if (local_res20 == 0) { lVar3 = 0; } else { lVar3 = FUN_1805a48c0(local_res20, "Attempt to remove the object with entityId: %d and instanceId: %ld from the LsEntity metadata failed because the object is not stored in the metadata." ); } FUN_1805c0260(); /* WARNING: Subroutine does not return */ FUN_1805b20d0(*(undefined8 *)(lVar3 + 8),param_2 + 8); } } else { puVar7 = *(undefined8 **)(*(longlong *)(param_1 + 0x10) + 0x28); puVar6 = (undefined8 *)puVar7[1]; puVar8 = puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar4 = puVar6; do { if ((longlong)puVar4[4] < *(longlong *)(param_2 + 0x10)) { puVar5 = (undefined8 *)puVar4[2]; } else { if ((*(char *)((longlong)puVar7 + 0x19) != '\0') && (*(longlong *)(param_2 + 0x10) < (longlong)puVar4[4])) { puVar7 = puVar4; } puVar5 = (undefined8 *)*puVar4; puVar8 = puVar4; } puVar4 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; } puVar4 = puVar8; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { do { if (*(longlong *)(param_2 + 0x10) < (longlong)puVar6[4]) { puVar5 = (undefined8 *)*puVar6; puVar7 = puVar6; } else { puVar5 = (undefined8 *)puVar6[2]; } puVar6 = puVar5; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } while (puVar4 != puVar7) { puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar5 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } FUN_180815160(*(longlong *)(param_1 + 0x10) + 0x28,&local_res20,puVar8); lVar2 = *(longlong *)(param_1 + 0x10); _Dst = (void *)(*(longlong *)(lVar2 + 0x10) + lVar3 * 8); _Src = (void *)((longlong)_Dst + 8); memmove(_Dst,_Src,*(longlong *)(lVar2 + 0x18) - (longlong)_Src); *(longlong *)(lVar2 + 0x18) = *(longlong *)(lVar2 + 0x18) + -8; lVar2 = *(longlong *)(param_1 + 0x10); lVar3 = lVar3 * 400 + *(longlong *)(lVar2 + 0x40); FUN_180b479f0(lVar3 + 400,*(undefined8 *)(lVar2 + 0x48),lVar3,0); puVar7 = (undefined8 *)(*(longlong *)(lVar2 + 0x48) + -400); (**(code **)*puVar7)(puVar7,0); *(longlong *)(lVar2 + 0x48) = *(longlong *)(lVar2 + 0x48) + -400; } return; } ############ FUN_ 180bd2460 size=182 ############ undefined8 * FUN_180bd2460(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; undefined8 *puVar2; undefined **local_50; code *local_48; undefined ***local_18; local_50 = std::_Func_impl_no_alloc::vftable; local_48 = FUN_180bd3810; local_18 = &local_50; FUN_180bc9960(param_1,&local_50,param_1,param_2,0xfffffffffffffffe); *param_1 = pace::dlc::LicenseStateCallbackThread::vftable; puVar1 = param_1 + 0x1f; *puVar1 = 0; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = 0; puVar2 = (undefined8 *)FUN_1811316e0(0x10); *puVar1 = puVar2; *puVar2 = 0; puVar2[1] = 0; *(undefined8 **)*puVar1 = puVar1; return param_1; } ############ FUN_ 180bd4220 size=921 ############ /* WARNING: Removing unreachable block (ram,0x000180bd4356) */ longlong FUN_180bd4220(undefined8 param_1,undefined4 param_2,undefined4 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6) { undefined4 *puVar1; ulonglong uVar2; uint uVar3; int iVar4; uint uVar5; undefined4 *puVar6; uint uVar7; undefined1 auStack_e8 [40]; undefined4 *local_c0; undefined1 local_b0; undefined8 local_90; uint local_88; uint local_84; undefined8 local_80; undefined8 uStack_78; undefined8 local_70; ulonglong local_40; local_70 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_e8; uVar5 = (uint)&stack0x00000000; uVar3 = uVar5 & 0x17f; iVar4 = (uVar3 + 2) * (uVar3 + 1) * uVar3; puVar6 = (undefined4 *)0x0; local_88 = 0 << ((byte)(((iVar4 >> 1) - (iVar4 >> 3)) + iVar4 * 0x55555555 >> 0x1e) & 0x1f) ^ 0x270; uVar7 = ((uVar5 & 0xaff) + 1) * (uVar5 & 0xaff) + 0x7b91 & 0x80000001; uVar3 = (((uVar5 & 0x21ff) + 1) * (uVar5 & 0x21ff) + 7) % 0x51; uVar3 = (int)((-uVar3 | uVar3) & (-uVar7 | uVar7)) >> 0x1f; local_84 = ~((int)(-uVar3 | uVar3) >> 0x1f & 0xfffff7dfU) & 0x2c3e; local_90 = param_1; puVar1 = (undefined4 *)FUN_1811316e0(0x68); local_c0 = puVar1; if (puVar1 != (undefined4 *)0x0) { *puVar1 = param_2; puVar1[1] = param_3; FUN_180487aa0(puVar1 + 2,param_4); FUN_180487aa0(puVar1 + 10,param_5); FUN_180487aa0(puVar1 + 0x12,param_6); puVar6 = puVar1; } local_80 = 0; uStack_78 = 0; uVar2 = FUN_180bd2400(&local_80,puVar6,local_b0); return -(~uVar2 + 1); } ############ FUN_ 180bd2400 size=91 ############ void FUN_180bd2400(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x18); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)(puVar1 + 1) = 1; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = std::_Ref_count::vftable; puVar1[2] = param_2; } *param_1 = param_2; param_1[1] = puVar1; return; } ############ FUN_ 180bd2870 size=497 ############ void FUN_180bd2870(longlong param_1,ulonglong param_2) { ulonglong uVar1; code *pcVar2; longlong lVar3; ulonglong uVar4; void *pvVar5; ulonglong uVar6; ulonglong uVar7; size_t sVar8; size_t sVar9; void *pvVar10; uVar4 = *(ulonglong *)(param_1 + 0x10); uVar7 = 1; if (uVar4 != 0) { uVar7 = uVar4; } for (; (uVar7 - uVar4 < param_2 || (uVar7 < 8)); uVar7 = uVar7 * 2) { if (0xfffffffffffffff - uVar7 < uVar7) { FUN_180bd2a70(param_1); pcVar2 = (code *)swi(3); (*pcVar2)(); return; } } uVar7 = uVar7 - uVar4; uVar1 = *(ulonglong *)(param_1 + 0x18); uVar6 = (uVar4 + uVar7) * 8; if (uVar4 + uVar7 < 0x2000000000000000) { if (uVar6 < 0x1000) { if (uVar6 == 0) { pvVar10 = (void *)0x0; } else { pvVar10 = (void *)FUN_1811316e0(uVar6); } goto LAB_180bd2939; } } else { uVar6 = 0xffffffffffffffff; } uVar4 = uVar6 + 0x27; if (uVar4 <= uVar6) { uVar4 = 0xffffffffffffffff; } lVar3 = FUN_1811316e0(uVar4); if (lVar3 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } pvVar10 = (void *)(lVar3 + 0x27U & 0xffffffffffffffe0); *(longlong *)((longlong)pvVar10 - 8) = lVar3; LAB_180bd2939: sVar9 = uVar1 * 8; pvVar5 = (void *)(*(longlong *)(param_1 + 8) + sVar9); sVar8 = (*(longlong *)(param_1 + 0x10) * 8 - (longlong)pvVar5) + *(longlong *)(param_1 + 8); memmove((void *)(sVar9 + (longlong)pvVar10),pvVar5,sVar8); pvVar5 = (void *)(sVar8 + (longlong)(sVar9 + (longlong)pvVar10)); if (uVar7 < uVar1) { sVar8 = uVar7 * 8; memmove(pvVar5,*(void **)(param_1 + 8),sVar8); pvVar5 = (void *)(sVar8 + *(longlong *)(param_1 + 8)); sVar9 = (*(longlong *)(param_1 + 8) - (longlong)pvVar5) + sVar9; memmove(pvVar10,pvVar5,sVar9); pvVar5 = (void *)(sVar9 + (longlong)pvVar10); } else { memmove(pvVar5,*(void **)(param_1 + 8),sVar9); memset((void *)(sVar9 + (longlong)pvVar5),0,(uVar7 - uVar1) * 8); pvVar5 = pvVar10; sVar8 = sVar9; } memset(pvVar5,0,sVar8); pvVar5 = *(void **)(param_1 + 8); if (pvVar5 == (void *)0x0) { *(void **)(param_1 + 8) = pvVar10; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + uVar7; return; } pvVar10 = pvVar5; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x10) << 3)) && (pvVar10 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } ############ FUN_ 181132980 size=1457 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * GetPluginFactory(void) { char *pcVar1; char cVar2; void *pvVar3; int iVar4; int iVar5; int iVar6; int iVar7; ulonglong uVar8; longlong lVar9; int iVar10; int iVar11; char *pcVar12; int *piVar13; undefined4 extraout_XMM0_Da; undefined4 uVar14; /* 0x1132980 439 GetPluginFactory */ DAT_182673710 = 2; if (DAT_182674c98 != (undefined8 *)0x0) { LOCK(); *(int *)(DAT_182674c98 + 1) = *(int *)(DAT_182674c98 + 1) + 1; UNLOCK(); return DAT_182674c98; } DAT_182674c98 = (undefined8 *)FUN_1811316e0(0x1f0); iVar10 = 0x40; pcVar12 = (char *)((longlong)DAT_182674c98 + 0xc); *DAT_182674c98 = juce::JucePluginFactory::vftable; *(undefined4 *)(DAT_182674c98 + 1) = 1; iVar6 = 0x40; iVar4 = 0x40; lVar9 = (longlong)"oeksound" - (longlong)pcVar12; do { cVar2 = pcVar12[lVar9]; *pcVar12 = cVar2; pcVar12 = pcVar12 + 1; if (cVar2 == '\0') { if ((iVar4 != 0) && (uVar8 = (ulonglong)(iVar4 - 1U), iVar4 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar4 = iVar4 + -1; } while (iVar4 != 0); pcVar12 = (char *)((longlong)DAT_182674c98 + 0x4c); iVar4 = 0x100; lVar9 = (longlong)"oeksound.com" - (longlong)pcVar12; do { cVar2 = pcVar12[lVar9]; *pcVar12 = cVar2; pcVar12 = pcVar12 + 1; if (cVar2 == '\0') { if ((iVar4 != 0) && (uVar8 = (ulonglong)(iVar4 - 1U), iVar4 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar4 = iVar4 + -1; } while (iVar4 != 0); iVar11 = 0x80; pcVar12 = (char *)((longlong)DAT_182674c98 + 0x14c); iVar7 = 0x80; iVar4 = 0x80; lVar9 = (longlong)"contact@oeksound.com" - (longlong)pcVar12; do { cVar2 = pcVar12[lVar9]; *pcVar12 = cVar2; pcVar12 = pcVar12 + 1; if (cVar2 == '\0') { if ((iVar4 != 0) && (uVar8 = (ulonglong)(iVar4 - 1U), iVar4 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar4 = iVar4 + -1; } while (iVar4 != 0); pvVar3 = ThreadLocalStoragePointer; uVar8 = (ulonglong)_tls_index; *(undefined4 *)((longlong)DAT_182674c98 + 0x1cc) = 0x10; DAT_182674c98[0x3a] = 0; iVar4 = 0x20; piVar13 = (int *)(*(longlong *)((longlong)pvVar3 + uVar8 * 8) + 0xc); DAT_182674c98[0x3b] = 0; DAT_182674c98[0x3c] = 0; DAT_182674c98[0x3d] = 0; uVar14 = extraout_XMM0_Da; if ((*piVar13 < DAT_18267ad48) && (uVar14 = _Init_thread_header(&DAT_18267ad48), DAT_18267ad48 == -1)) { memset(&DAT_18267ab90,0,0x1b8); pcVar12 = &DAT_18267aba4; _DAT_18267aba0 = 0x7fffffff; _DAT_18267ab90 = (undefined4)DAT_18262b410; uRam000000018267ab94 = DAT_18262b410._4_4_; uRam000000018267ab98 = (undefined4)DAT_18262b418; uRam000000018267ab9c = DAT_18262b418._4_4_; iVar5 = iVar4; do { pcVar1 = pcVar12 + -0x4a0bb4; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar5 != 0) && (uVar8 = (ulonglong)(iVar5 - 1U), iVar5 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar5 = iVar5 + -1; } while (iVar5 != 0); pcVar12 = &DAT_18267abc4; do { pcVar1 = pcVar12 + -0x4a0bdc; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar6 != 0) && (uVar8 = (ulonglong)(iVar6 - 1U), iVar6 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar6 = iVar6 + -1; } while (iVar6 != 0); pcVar12 = &DAT_18267ac08; _DAT_18267ac04 = 0; do { pcVar1 = pcVar12 + -0x4a0c38; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar7 != 0) && (uVar8 = (ulonglong)(iVar7 - 1U), iVar7 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar7 = iVar7 + -1; } while (iVar7 != 0); pcVar12 = &DAT_18267ac88; iVar6 = 0x40; do { pcVar1 = pcVar12 + -0x4a0cc8; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar6 != 0) && (uVar8 = (ulonglong)(iVar6 - 1U), iVar6 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar6 = iVar6 + -1; } while (iVar6 != 0); pcVar12 = &DAT_18267acc8; iVar6 = 0x40; do { pcVar1 = pcVar12 + -0x4a10c4; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar6 != 0) && (uVar8 = (ulonglong)(iVar6 - 1U), iVar6 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar6 = iVar6 + -1; } while (iVar6 != 0); pcVar12 = &DAT_18267ad08; iVar6 = 0x40; LAB_181132d20: pcVar1 = pcVar12 + -0x4a0d58; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 != '\0') goto code_r0x000181132d2d; if ((iVar6 != 0) && (uVar8 = (ulonglong)(iVar6 - 1U), iVar6 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } uVar14 = _Init_thread_footer(&DAT_18267ad48); } LAB_181132b00: uVar14 = FUN_18047b360(uVar14,&DAT_18267ab90,FUN_181133060); if ((*piVar13 < DAT_18267ab88) && (uVar14 = _Init_thread_header(&DAT_18267ab88), DAT_18267ab88 == -1)) { memset(&DAT_18267ad50,0,0x1b8); pcVar12 = &DAT_18267ad64; _DAT_18267ad60 = 0x7fffffff; _DAT_18267ad50 = (undefined4)DAT_18262b368; uRam000000018267ad54 = DAT_18262b368._4_4_; uRam000000018267ad58 = (undefined4)DAT_18262b370; uRam000000018267ad5c = DAT_18262b370._4_4_; do { pcVar1 = pcVar12 + -0x4a0d04; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar4 != 0) && (iVar4 - 1U != 0)) { for (uVar8 = (ulonglong)(iVar4 - 1U); uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar4 = iVar4 + -1; } while (iVar4 != 0); pcVar12 = &DAT_18267ad84; iVar4 = 0x40; do { pcVar1 = pcVar12 + -0x4a0d5c; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar4 != 0) && (uVar8 = (ulonglong)(iVar4 - 1U), iVar4 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar4 = iVar4 + -1; } while (iVar4 != 0); pcVar12 = &DAT_18267adc8; _DAT_18267adc4 = 0; do { pcVar1 = pcVar12 + -0x4a0d98; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar11 != 0) && (iVar11 - 1U != 0)) { for (uVar8 = (ulonglong)(iVar11 - 1U); uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar11 = iVar11 + -1; } while (iVar11 != 0); pcVar12 = &DAT_18267ae48; iVar4 = 0x40; do { pcVar1 = pcVar12 + -0x4a0e30; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar4 != 0) && (uVar8 = (ulonglong)(iVar4 - 1U), iVar4 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar4 = iVar4 + -1; } while (iVar4 != 0); pcVar12 = &DAT_18267ae88; iVar4 = 0x40; do { pcVar1 = pcVar12 + -0x4a125c; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar4 != 0) && (uVar8 = (ulonglong)(iVar4 - 1U), iVar4 - 1U != 0)) { for (; uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } break; } iVar4 = iVar4 + -1; } while (iVar4 != 0); pcVar12 = &DAT_18267aec8; do { pcVar1 = pcVar12 + -0x4a0ec0; *pcVar12 = *pcVar1; pcVar12 = pcVar12 + 1; if (*pcVar1 == '\0') { if ((iVar10 != 0) && (iVar10 - 1U != 0)) { for (uVar8 = (ulonglong)(iVar10 - 1U); uVar8 != 0; uVar8 = uVar8 - 1) { *pcVar12 = '\0'; pcVar12 = pcVar12 + 1; } } uVar14 = _Init_thread_footer(&DAT_18267ab88); goto LAB_181132b27; } iVar10 = iVar10 + -1; } while (iVar10 != 0); uVar14 = _Init_thread_footer(&DAT_18267ab88); } LAB_181132b27: FUN_18047b360(uVar14,&DAT_18267ad50,FUN_181132f40); return DAT_182674c98; code_r0x000181132d2d: iVar6 = iVar6 + -1; if (iVar6 == 0) goto code_r0x000181132d32; goto LAB_181132d20; code_r0x000181132d32: uVar14 = _Init_thread_footer(&DAT_18267ad48); goto LAB_181132b00; } ############ FUN_ 181132f40 size=273 ############ undefined8 * FUN_181132f40(undefined8 *param_1) { undefined8 *puVar1; undefined8 *puVar2; longlong lVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; puVar1 = (undefined8 *)FUN_1811316e0(0x6228); FUN_18113a060(puVar1); *puVar1 = juce::JuceVST3EditController::vftable; puVar1[2] = juce::JuceVST3EditController::vftable; puVar1[3] = juce::JuceVST3EditController::vftable; puVar1[6] = juce::JuceVST3EditController::vftable; puVar1[7] = juce::JuceVST3EditController::vftable; puVar1[0xd] = juce::JuceVST3EditController::vftable; puVar1[0xe] = juce::JuceVST3EditController::vftable; puVar1[0xf] = juce::JuceVST3EditController::vftable; puVar1[0x10] = juce::JuceVST3EditController::vftable; puVar1[0x11] = juce::JuceVST3EditController::vftable; puVar1[0x12] = 0; puVar2 = (undefined8 *)((longlong)puVar1 + 0x9c); lVar3 = 0x820; do { *puVar2 = 0xffffffffffffffff; puVar2 = puVar2 + 1; lVar3 = lVar3 + -1; } while (lVar3 != 0); *(undefined2 *)((longlong)puVar1 + 0x621c) = 0; *(undefined4 *)(puVar1 + 0xc44) = 0x3f800000; if (param_1 != (undefined8 *)0x0) { (**(code **)*param_1)(param_1,&DAT_18262b038,puVar1 + 4,(undefined8 *)*param_1,uVar4); } return puVar1 + 6; } ############ FUN_ 181133060 size=66 ############ longlong FUN_181133060(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; longlong lVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x360); lVar2 = FUN_180478b30(uVar1,param_1,param_3,param_4,uVar3); if (lVar2 != 0) { return lVar2 + 8; } return 0; } ############ FUN_ 181134b70 size=358 ############ undefined8 FUN_181134b70(longlong param_1,void *param_2,void *param_3,uint param_4) { undefined8 *puVar1; void *_Dst; undefined2 *_Dst_00; longlong *plVar2; uint uVar3; ulonglong uVar4; undefined **local_30; undefined2 *local_28; uint local_20; ulonglong uVar5; FUN_181135760(); puVar1 = (undefined8 *)FUN_1811316e0(0x10); *(uint *)(puVar1 + 1) = param_4; *(undefined4 *)((longlong)puVar1 + 0xc) = 3; _Dst = (void *)thunk_FUN_1811316e0(param_4); *puVar1 = _Dst; memcpy(_Dst,param_3,(ulonglong)param_4); local_28 = (undefined2 *)0x0; local_20 = local_20 & 0x80000000; local_30 = Steinberg::String::vftable; if (param_2 != (void *)0x0) { uVar4 = 0xffffffffffffffff; do { uVar5 = uVar4; uVar4 = uVar5 + 1; } while (*(char *)((longlong)param_2 + uVar4) != '\0'); uVar3 = (uint)uVar4; if (uVar3 != 0) { _Dst_00 = malloc((ulonglong)((int)uVar5 + 2)); if (_Dst_00 == (undefined2 *)0x0) goto LAB_181134c95; if ((local_20 & 0x40000000) == 0) { *(undefined1 *)_Dst_00 = 0; *(undefined1 *)((uVar4 & 0xffffffff) + (longlong)_Dst_00) = 0; } else { *_Dst_00 = 0; _Dst_00[uVar4 & 0xffffffff] = 0; } local_28 = _Dst_00; if ((_Dst_00 != (undefined2 *)0x0) && (0 < (int)uVar3)) { memcpy(_Dst_00,param_2,(longlong)(int)uVar3); } } local_20 = uVar3 & 0x3fffffff | local_20 & 0x80000000; } LAB_181134c95: plVar2 = (longlong *)FUN_18047c5d0(param_1 + 0x10,&local_30); *plVar2 = (longlong)puVar1; local_30 = Steinberg::String::vftable; if (local_28 == (undefined2 *)0x0) { return 0; } /* WARNING: Subroutine does not return */ free(local_28); } ############ FUN_ 181134eb0 size=602 ############ undefined8 FUN_181134eb0(longlong param_1,void *param_2,short *param_3) { short sVar1; undefined1 auVar2 [16]; undefined8 *puVar3; undefined8 uVar4; void *_Dst; undefined2 *puVar5; longlong *plVar6; uint uVar7; uint uVar8; short *psVar9; ulonglong uVar10; ulonglong uVar11; undefined **local_70; undefined2 *local_68; uint local_60; undefined **local_58; undefined2 *local_50; uint local_48; FUN_181135760(); puVar3 = (undefined8 *)FUN_1811316e0(0x10); local_50 = (undefined2 *)0x0; uVar7 = local_48 & 0x80000000; local_58 = Steinberg::String::vftable; local_48 = uVar7 | 0x40000000; psVar9 = param_3; if (param_3 != (short *)0x0) { do { sVar1 = *psVar9; psVar9 = psVar9 + 1; } while (sVar1 != 0); uVar10 = (longlong)psVar9 - (longlong)param_3 >> 1; uVar8 = (int)uVar10 - 1; if (uVar8 == 0) { local_48 = uVar7 | 0x40000000; } else { local_48 = uVar7 | 0x40000000; puVar5 = malloc((uVar10 & 0xffffffff) * 2); if (puVar5 == (undefined2 *)0x0) goto LAB_181134fb9; if ((local_48 & 0x40000000) == 0) { *(undefined1 *)puVar5 = 0; *(undefined1 *)((ulonglong)uVar8 + (longlong)puVar5) = 0; } else { *puVar5 = 0; puVar5[uVar8] = 0; } local_50 = puVar5; if ((puVar5 != (undefined2 *)0x0) && (0 < (int)uVar8)) { memcpy(puVar5,param_3,(longlong)(int)uVar8 * 2); } } local_48 = uVar8 & 0x3fffffff | local_48 & 0xc0000000 | 0x40000000; } LAB_181134fb9: uVar7 = (*(code *)local_58[1])(&local_58); *(uint *)(puVar3 + 1) = uVar7; *(undefined4 *)((longlong)puVar3 + 0xc) = 2; auVar2._8_8_ = 0; auVar2._0_8_ = CONCAT44(0,uVar7); uVar4 = SUB168(ZEXT816(2) * auVar2,0); if (SUB168(ZEXT816(2) * auVar2,8) != 0) { uVar4 = 0xffffffffffffffff; } _Dst = (void *)thunk_FUN_1811316e0(uVar4); *puVar3 = _Dst; memcpy(_Dst,param_3,CONCAT44(0,uVar7) * 2); local_68 = (undefined2 *)0x0; local_60 = local_60 & 0x80000000; local_70 = Steinberg::String::vftable; uVar10 = 0xffffffffffffffff; if (param_2 != (void *)0x0) { do { uVar11 = uVar10; uVar10 = uVar11 + 1; } while (*(char *)((longlong)param_2 + uVar10) != '\0'); uVar7 = (uint)uVar10; if (uVar7 != 0) { puVar5 = malloc((ulonglong)((int)uVar11 + 2)); if (puVar5 == (undefined2 *)0x0) goto LAB_1811350af; if ((local_60 & 0x40000000) == 0) { *(undefined1 *)puVar5 = 0; *(undefined1 *)((uVar10 & 0xffffffff) + (longlong)puVar5) = 0; } else { *puVar5 = 0; puVar5[uVar10 & 0xffffffff] = 0; } local_68 = puVar5; if ((puVar5 != (undefined2 *)0x0) && (0 < (int)uVar7)) { memcpy(puVar5,param_2,(longlong)(int)uVar7); } } local_60 = uVar7 & 0x3fffffff | local_60 & 0x80000000; } LAB_1811350af: plVar6 = (longlong *)FUN_18047c5d0(param_1 + 0x10,&local_70); *plVar6 = (longlong)puVar3; local_70 = Steinberg::String::vftable; if (local_68 != (undefined2 *)0x0) { /* WARNING: Subroutine does not return */ free(local_68); } local_70 = Steinberg::ConstString::vftable; local_58 = Steinberg::String::vftable; if (local_50 == (undefined2 *)0x0) { return 0; } /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 1811352e0 size=342 ############ undefined8 FUN_1811352e0(longlong param_1,void *param_2,undefined8 param_3) { undefined8 *puVar1; undefined2 *_Dst; longlong *plVar2; uint uVar3; ulonglong uVar4; undefined **local_40; undefined2 *local_38; uint local_30; ulonglong uVar5; FUN_181135760(); puVar1 = (undefined8 *)FUN_1811316e0(0x10); *(undefined4 *)(puVar1 + 1) = 0; *(undefined4 *)((longlong)puVar1 + 0xc) = 1; *puVar1 = param_3; local_38 = (undefined2 *)0x0; local_30 = local_30 & 0x80000000; local_40 = Steinberg::String::vftable; if (param_2 != (void *)0x0) { uVar4 = 0xffffffffffffffff; do { uVar5 = uVar4; uVar4 = uVar5 + 1; } while (*(char *)((longlong)param_2 + uVar4) != '\0'); uVar3 = (uint)uVar4; if (uVar3 != 0) { _Dst = malloc((ulonglong)((int)uVar5 + 2)); if (_Dst == (undefined2 *)0x0) goto LAB_1811353ef; if ((local_30 & 0x40000000) == 0) { *(undefined1 *)_Dst = 0; *(undefined1 *)((uVar4 & 0xffffffff) + (longlong)_Dst) = 0; } else { *_Dst = 0; _Dst[uVar4 & 0xffffffff] = 0; } local_38 = _Dst; if ((_Dst != (undefined2 *)0x0) && (0 < (int)uVar3)) { memcpy(_Dst,param_2,(longlong)(int)uVar3); } } local_30 = uVar3 & 0x3fffffff | local_30 & 0x80000000; } LAB_1811353ef: plVar2 = (longlong *)FUN_18047c5d0(param_1 + 0x10,&local_40); *plVar2 = (longlong)puVar1; local_40 = Steinberg::String::vftable; if (local_38 == (undefined2 *)0x0) { return 0; } /* WARNING: Subroutine does not return */ free(local_38); } ############ FUN_ 181135600 size=336 ############ undefined8 FUN_181135600(longlong param_1,void *param_2,undefined8 param_3) { undefined8 *puVar1; undefined2 *_Dst; longlong *plVar2; uint uVar3; ulonglong uVar4; undefined **local_30; undefined2 *local_28; uint local_20; ulonglong uVar5; FUN_181135760(); puVar1 = (undefined8 *)FUN_1811316e0(0x10); puVar1[1] = 0; *puVar1 = param_3; local_28 = (undefined2 *)0x0; local_20 = local_20 & 0x80000000; local_30 = Steinberg::String::vftable; if (param_2 != (void *)0x0) { uVar4 = 0xffffffffffffffff; do { uVar5 = uVar4; uVar4 = uVar5 + 1; } while (*(char *)((longlong)param_2 + uVar4) != '\0'); uVar3 = (uint)uVar4; if (uVar3 != 0) { _Dst = malloc((ulonglong)((int)uVar5 + 2)); if (_Dst == (undefined2 *)0x0) goto LAB_18113570f; if ((local_20 & 0x40000000) == 0) { *(undefined1 *)_Dst = 0; *(undefined1 *)((uVar4 & 0xffffffff) + (longlong)_Dst) = 0; } else { *_Dst = 0; _Dst[uVar4 & 0xffffffff] = 0; } local_28 = _Dst; if ((_Dst != (undefined2 *)0x0) && (0 < (int)uVar3)) { memcpy(_Dst,param_2,(longlong)(int)uVar3); } } local_20 = uVar3 & 0x3fffffff | local_20 & 0x80000000; } LAB_18113570f: plVar2 = (longlong *)FUN_18047c5d0(param_1 + 0x10,&local_30); *plVar2 = (longlong)puVar1; local_30 = Steinberg::String::vftable; if (local_28 == (undefined2 *)0x0) { return 0; } /* WARNING: Subroutine does not return */ free(local_28); } ############ FUN_ 181135bd0 size=69 ############ undefined8 FUN_181135bd0(longlong param_1) { undefined8 uVar1; if (*(longlong *)(param_1 + 0x18) == 0) { uVar1 = FUN_1811316e0(0x20); uVar1 = FUN_181135ab0(uVar1); *(undefined8 *)(param_1 + 0x18) = uVar1; return uVar1; } return *(undefined8 *)(param_1 + 0x18); } ############ FUN_ 181135ed0 size=339 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181135ed0(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 *param_4) { bool bVar1; undefined8 *puVar2; undefined8 uVar3; undefined1 auStack_78 [32]; undefined8 local_58; undefined8 local_50; undefined **local_48; longlong local_40; longlong lStack_38; undefined **local_30; longlong local_28; longlong lStack_20; ulonglong local_18; local_50 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_78; local_48 = Steinberg::FUID::vftable; local_40 = 0; lStack_38 = 0; if (param_2 != (longlong *)0x0) { local_40 = *param_2; lStack_38 = param_2[1]; } local_30 = Steinberg::FUID::vftable; local_28 = 0; lStack_20 = 0; if (param_3 != (longlong *)0x0) { local_28 = *param_3; lStack_20 = param_3[1]; } if ((local_40 != DAT_18262af90) || (bVar1 = true, lStack_38 != DAT_18262af98)) { bVar1 = false; } if (bVar1) { if ((local_28 != DAT_18262af90) || (bVar1 = true, lStack_20 != DAT_18262af98)) { bVar1 = false; } if (bVar1) { puVar2 = (undefined8 *)FUN_1811316e0(0x20); *puVar2 = Steinberg::Vst::HostMessage::vftable; puVar2[2] = 0; puVar2[3] = 0; *(undefined4 *)(puVar2 + 1) = 1; *param_4 = puVar2; } } if ((local_40 != DAT_18262b080) || (bVar1 = true, lStack_38 != DAT_18262b088)) { bVar1 = false; } if (bVar1) { if ((local_28 != DAT_18262b080) || (bVar1 = true, lStack_20 != DAT_18262b088)) { bVar1 = false; } if (bVar1) { local_58 = FUN_1811316e0(0x20); uVar3 = FUN_181135ab0(local_58); *param_4 = uVar3; } } *param_4 = 0; } ############ FUN_ 181136a60 size=77 ############ void FUN_181136a60(longlong *param_1) { longlong *plVar1; if (*param_1 == 0) { plVar1 = (longlong *)FUN_1811316e0(); *plVar1 = 0; plVar1[1] = 0; plVar1[2] = 0; *param_1 = (longlong)plVar1; if ((ulonglong)(plVar1[2] - *plVar1 >> 3) < 10) { FUN_18047cf30(plVar1); return; } } return; } ############ FUN_ 181138470 size=556 ############ longlong * FUN_181138470(longlong param_1) { short sVar1; undefined4 uVar2; undefined4 uVar3; longlong *plVar4; undefined8 *puVar5; size_t _Size; longlong *plVar6; short *_Src; longlong *_Dst; short *psVar7; longlong lVar8; longlong *plVar9; int iVar10; longlong lVar11; longlong *local_res10; if (*(longlong *)(param_1 + 0x150) != 0) { return *(longlong **)(param_1 + 0x150); } plVar6 = (longlong *)FUN_1811316e0(0x350); uVar2 = *(undefined4 *)(param_1 + 0x118); uVar3 = *(undefined4 *)(param_1 + 0x10); local_res10 = plVar6; FUN_181137760(plVar6); lVar11 = 0; *plVar6 = (longlong)Steinberg::Vst::StringListParameter::vftable; plVar6[0x67] = 0; psVar7 = (short *)(param_1 + 0x16); plVar6[0x68] = 0; lVar8 = (longlong)plVar6 + (0x14 - (param_1 + 0x14)); plVar6[0x69] = 0; do { *(short *)(lVar8 + -2 + (longlong)psVar7) = psVar7[-1]; if ((((psVar7[-1] == 0) || (*(short *)(lVar8 + (longlong)psVar7) = *psVar7, *psVar7 == 0)) || (*(short *)(lVar8 + 2 + (longlong)psVar7) = psVar7[1], psVar7[1] == 0)) || (*(short *)(lVar8 + 4 + (longlong)psVar7) = psVar7[2], psVar7[2] == 0)) break; lVar11 = lVar11 + 4; psVar7 = psVar7 + 4; } while (lVar11 < 0x80); *(undefined2 *)((longlong)plVar6 + 0x112) = 0; *(undefined4 *)((longlong)plVar6 + 0x314) = 0xffffffff; plVar6[99] = 0; *(undefined4 *)((longlong)plVar6 + 0x324) = 0x8009; *(undefined4 *)(plVar6 + 2) = uVar3; *(undefined4 *)(plVar6 + 100) = uVar2; plVar4 = *(longlong **)(param_1 + 0x128); for (plVar9 = *(longlong **)(param_1 + 0x120); plVar9 != plVar4; plVar9 = plVar9 + 3) { _Src = (short *)(**(code **)(*plVar9 + 0x18))(plVar9); psVar7 = _Src; if ((undefined **)*plVar6 == Steinberg::Vst::StringListParameter::vftable) { do { sVar1 = *psVar7; psVar7 = psVar7 + 1; } while (sVar1 != 0); iVar10 = (int)((longlong)psVar7 - (longlong)_Src >> 1); _Dst = malloc((longlong)iVar10 * 2); local_res10 = _Dst; if (_Dst != (longlong *)0x0) { _Size = (longlong)(iVar10 + -1) * 2; memcpy(_Dst,_Src,_Size); *(undefined2 *)(_Size + (longlong)_Dst) = 0; puVar5 = (undefined8 *)plVar6[0x68]; if ((undefined8 *)plVar6[0x69] == puVar5) { FUN_1804803a0(plVar6 + 0x67,puVar5,&local_res10); } else { *puVar5 = _Dst; plVar6[0x68] = plVar6[0x68] + 8; } *(int *)((longlong)plVar6 + 0x314) = *(int *)((longlong)plVar6 + 0x314) + 1; } } else { (*(code *)((undefined **)*plVar6)[0x13])(plVar6,_Src); } } *(longlong **)(param_1 + 0x150) = plVar6; return plVar6; } ############ FUN_ 18114d800 size=284 ############ void FUN_18114d800(longlong param_1) { undefined8 **ppuVar1; undefined8 *puVar2; undefined8 *_Dst; undefined8 uVar3; undefined8 *local_res8; undefined1 local_30 [24]; ppuVar1 = (undefined8 **)(param_1 + 0x58); if (*ppuVar1 == (undefined8 *)0x0) { _Dst = (undefined8 *)FUN_1811316e0(0x50); local_res8 = _Dst; memset(_Dst,0,0x50); *_Dst = 0; _Dst[1] = 0; uVar3 = FUN_18048c850(); *_Dst = uVar3; _Dst[2] = 0; _Dst[3] = 0; uVar3 = FUN_18048a0f0(); _Dst[2] = uVar3; _Dst[4] = 0; _Dst[5] = 0; uVar3 = FUN_18048a0f0(); _Dst[4] = uVar3; _Dst[6] = 0; _Dst[7] = 0; uVar3 = FUN_18048a0f0(); _Dst[6] = uVar3; _Dst[8] = 0; _Dst[9] = 0; uVar3 = FUN_18048a0f0(); _Dst[8] = uVar3; if ((ppuVar1 == &local_res8) || (puVar2 = *ppuVar1, *ppuVar1 = _Dst, puVar2 != (undefined8 *)0x0)) { FUN_1804882d0(); } } FUN_18048d670(*ppuVar1,local_30); return; } ############ FUN_ 18114cb00 size=2595 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_18114cb00(longlong param_1) { LPCRITICAL_SECTION p_Var1; uint uVar2; char cVar3; int iVar4; longlong *plVar5; longlong *plVar6; int iVar7; longlong *plVar8; longlong lVar9; longlong *plVar10; uint *puVar11; undefined8 *puVar12; longlong *plVar13; undefined1 auStack_2b8 [32]; longlong *local_298; undefined4 local_290; undefined8 *local_288; undefined1 *local_280; undefined1 **local_270; longlong *local_268; longlong *local_260; longlong local_258; longlong local_250; longlong local_248; longlong local_240; longlong local_238 [4]; longlong local_218; longlong local_210; longlong local_208; undefined1 *local_200; longlong local_1f8; undefined1 local_1f0 [8]; undefined8 local_1e8; undefined8 local_1e0; void *local_1d8; undefined8 local_1d0; undefined1 local_1c8; undefined1 local_1c0 [8]; char *local_1b8; char *local_1b0; char *local_1a8; undefined *local_1a0; char *local_198; longlong *local_190; longlong local_188; longlong local_180 [9]; LPCRITICAL_SECTION local_138; longlong local_130; longlong local_128; LPCRITICAL_SECTION local_120; LPCRITICAL_SECTION local_118; LPCRITICAL_SECTION local_110; undefined8 *local_108; longlong *local_100; undefined8 local_f8; LPCRITICAL_SECTION local_f0; undefined1 local_e8 [80]; undefined **local_98; undefined1 local_90 [8]; undefined **local_88; longlong *local_80; undefined **local_78; longlong *local_70; undefined **local_68; longlong local_60; undefined **local_58; undefined1 local_50 [8]; undefined **local_48; longlong *local_40; ulonglong local_38; local_f8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_2b8; iVar7 = _Mtx_lock(); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } if (*(longlong *)(param_1 + 0x58) == 0) { iVar7 = _Mtx_unlock(param_1); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } } iVar7 = _Mtx_unlock(param_1); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } plVar8 = (longlong *)FUN_1811316e0(0x20); *(undefined4 *)(plVar8 + 1) = 0; *plVar8 = (longlong)juce::DynamicObject::vftable; plVar8[2] = 0; plVar8[3] = 0; LOCK(); *(int *)(plVar8 + 1) = (int)plVar8[1] + 1; UNLOCK(); local_238[1] = 0; local_238[2] = 0; local_78 = &PTR_vftable_18262b4c8; local_190 = plVar8; local_100 = plVar8; local_260 = (longlong *)FUN_1811316e0(0x20); *(undefined4 *)(local_260 + 1) = 0; *local_260 = (longlong)juce::var::VariantType_Array::RefCountedArray::vftable; local_260[2] = 0; local_238[1] = 0; local_260[3] = 0; local_238[2] = 0; LOCK(); *(int *)(local_260 + 1) = (int)local_260[1] + 1; UNLOCK(); local_70 = local_260; lVar9 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar9 + 0x10); local_f0 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar9); local_1b8 = "instances"; FUN_181211b90(&local_250,lVar9,&local_1b8); LeaveCriticalSection(p_Var1); if (*(code **)(*plVar8 + 0x18) == FUN_181226840) { FUN_181243cd0(plVar8 + 2); } else { (**(code **)(*plVar8 + 0x18))(plVar8,&local_250,&local_78); } puVar11 = (uint *)(local_250 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } (**(code **)(*local_78 + 0xb0))(local_78,&local_70); FUN_180487600(local_238 + 1); lVar9 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar9 + 0x10); local_138 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar9); local_1b0 = "instances"; FUN_181211b90(&local_248,lVar9,&local_1b0); LeaveCriticalSection(p_Var1); if (*(code **)(*plVar8 + 0x10) == FUN_181226850) { plVar10 = (longlong *)plVar8[2]; plVar5 = plVar10 + (longlong)*(int *)((longlong)plVar8 + 0x1c) * 3; if (plVar10 == plVar5) { LAB_18114cd9d: plVar10 = (longlong *)FUN_181244160(); } else { do { local_130 = *plVar10; if (local_130 == local_248) { plVar10 = plVar10 + 1; if (plVar10 != (longlong *)0x0) goto LAB_18114cda2; goto LAB_18114cd9d; } plVar10 = plVar10 + 3; } while (plVar10 != plVar5); plVar10 = (longlong *)FUN_181244160(); } } else { plVar10 = (longlong *)(**(code **)(*plVar8 + 0x10))(plVar8,&local_248); } LAB_18114cda2: plVar10 = (longlong *) (**(code **)(*(longlong *)*plVar10 + 0x38))((longlong *)*plVar10,plVar10 + 1); puVar11 = (uint *)(local_248 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } local_128 = param_1; iVar7 = _Mtx_lock(param_1); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } plVar5 = (longlong *)**(longlong **)(param_1 + 0x58); plVar13 = (longlong *)*plVar5; if (plVar13 != plVar5) { local_1a8 = "instance_id"; local_1a0 = &DAT_1821da9c8; local_198 = "version"; do { local_268 = (longlong *)FUN_1811316e0(); *(undefined4 *)(local_268 + 1) = 0; *local_268 = (longlong)juce::DynamicObject::vftable; local_268[2] = 0; local_268[3] = 0; LOCK(); *(int *)(local_268 + 1) = (int)local_268[1] + 1; UNLOCK(); local_260 = local_268; FUN_18049c4e0(&local_218,"mouse_gestures"); FUN_18114d5d0(&local_268,plVar13 + 4,&local_218,*(longlong *)(param_1 + 0x58) + 0x10); puVar11 = (uint *)(local_218 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_18049c4e0(&local_210,"events"); FUN_18114d5d0(&local_268,plVar13 + 4,&local_210,*(longlong *)(param_1 + 0x58) + 0x20); puVar11 = (uint *)(local_210 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_18049c4e0(&local_208,"parameter_updates"); FUN_18114d5d0(&local_268,plVar13 + 4,&local_208,*(longlong *)(param_1 + 0x58) + 0x30); puVar11 = (uint *)(local_208 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_18049c4e0(local_238 + 3,"state_snapshots"); FUN_18114d5d0(&local_268,plVar13 + 4,local_238 + 3,*(longlong *)(param_1 + 0x58) + 0x40); puVar11 = (uint *)(local_238[3] + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } local_68 = &PTR_vftable_18262b560; local_60 = plVar13[4]; if ((*(uint *)(local_60 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_60 + -0x10) = *(int *)(local_60 + -0x10) + 1; UNLOCK(); } lVar9 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar9 + 0x10); local_120 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar9); FUN_181211b90(&local_240,lVar9,&local_1a8); LeaveCriticalSection(p_Var1); if (*(code **)(*local_268 + 0x18) == FUN_181226840) { FUN_181243cd0(local_268 + 2); } else { (**(code **)(*local_268 + 0x18))(local_268,&local_240,&local_68); } puVar11 = (uint *)(local_240 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } (**(code **)(*local_68 + 0xb0))(local_68,&local_60); local_98 = &PTR_vftable_18262b560; FUN_18049c4e0(local_90,"soothe2"); lVar9 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar9 + 0x10); local_118 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar9); FUN_181211b90(&local_258,lVar9,&local_1a0); LeaveCriticalSection(p_Var1); if (*(code **)(*local_268 + 0x18) == FUN_181226840) { FUN_181243cd0(local_268 + 2); } else { (**(code **)(*local_268 + 0x18))(local_268,&local_258,&local_98); } puVar11 = (uint *)(local_258 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } (**(code **)(*local_98 + 0xb0))(local_98,local_90); local_58 = &PTR_vftable_18262b560; FUN_18049c4e0(local_50,"1.1.2"); lVar9 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar9 + 0x10); local_110 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar9); FUN_181211b90(local_238,lVar9,&local_198); LeaveCriticalSection(p_Var1); if (*(code **)(*local_268 + 0x18) == FUN_181226840) { FUN_181243cd0(local_268 + 2); } else { (**(code **)(*local_268 + 0x18))(local_268,local_238,&local_58); } puVar11 = (uint *)(local_238[0] + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } (**(code **)(*local_58 + 0xb0))(local_58,local_50); plVar8 = local_268; local_88 = &PTR_vftable_18262b4d0; local_80 = local_268; LOCK(); *(int *)(local_268 + 1) = (int)local_268[1] + 1; UNLOCK(); iVar4 = *(int *)((longlong)plVar10 + 0xc); iVar7 = iVar4 + 1; if ((int)plVar10[1] < iVar7) { if (iVar7 < 0) { iVar7 = iVar4 + 2; } FUN_180489a50(plVar10,iVar4 + 9 + (iVar7 >> 1) & 0xfffffff8); } iVar7 = *(int *)((longlong)plVar10 + 0xc); *(int *)((longlong)plVar10 + 0xc) = iVar7 + 1; puVar12 = (undefined8 *)((longlong)iVar7 * 0x10 + *plVar10); *puVar12 = local_88; puVar12[1] = local_80; local_88 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_80); LOCK(); plVar8 = plVar8 + 1; lVar9 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)*local_268)(local_268,1); } plVar8 = (longlong *)plVar13[2]; if (*(char *)((longlong)plVar8 + 0x19) == '\0') { cVar3 = *(char *)(*plVar8 + 0x19); plVar13 = plVar8; plVar8 = (longlong *)*plVar8; while (cVar3 == '\0') { cVar3 = *(char *)(*plVar8 + 0x19); plVar13 = plVar8; plVar8 = (longlong *)*plVar8; } } else { cVar3 = *(char *)(plVar13[1] + 0x19); plVar6 = (longlong *)plVar13[1]; plVar8 = plVar13; while ((plVar13 = plVar6, cVar3 == '\0' && (plVar8 == (longlong *)plVar13[2]))) { cVar3 = *(char *)(plVar13[1] + 0x19); plVar6 = (longlong *)plVar13[1]; plVar8 = plVar13; } } plVar8 = local_190; } while (plVar13 != plVar5); } lVar9 = *(longlong *)(param_1 + 0x58); *(undefined8 *)(param_1 + 0x58) = 0; if (lVar9 != 0) { FUN_1804882d0(); } iVar7 = _Mtx_unlock(param_1); if (iVar7 != 0) { std::_Throw_C_error(iVar7); } local_48 = &PTR_vftable_18262b4d0; LOCK(); *(int *)(plVar8 + 1) = (int)plVar8[1] + 1; UNLOCK(); local_40 = plVar8; FUN_1812495e0(local_1f0,&local_48,1); (**(code **)(*local_48 + 0xb0))(local_48,&local_40); FUN_18049c4e0(&local_188, "Accept:application/json\napi_key:89a489tq34htgah943o83fhoqo3qhgh4fhoq3hovh3gohq3ohq3ofhohqohoq" ); local_180[0] = DAT_182673990; if ((*(uint *)(DAT_182673990 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_182673990 + -0x10) = *(int *)(DAT_182673990 + -0x10) + 1; UNLOCK(); } local_180[1] = 0; local_180[2] = 0; local_180[3] = 0; local_180[4] = 0; local_180[5] = 0; local_180[6] = 0; local_180[7] = 0; local_180[8] = 0; FUN_181215140(local_180); FUN_181248100(local_180,local_e8,local_1f0); FUN_1804858a0(local_180); local_1e8 = 0; local_1e0 = 0; local_1d8 = (void *)0x0; local_1d0 = 0; local_1c8 = 1; local_200 = &DAT_1821dbf98; local_1f8 = local_188; puVar11 = (uint *)(local_188 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); *puVar11 = *puVar11 + 1; UNLOCK(); } local_270 = &local_200; local_280 = local_1c0; local_288 = &local_1e8; local_290 = 2000; local_298 = &local_1f8; local_108 = (undefined8 *)FUN_181247c70(local_e8,1); if (local_108 != (undefined8 *)0x0) { (**(code **)*local_108)(local_108,1); } FUN_180488c50(&local_1d8); /* WARNING: Subroutine does not return */ free(local_1d8); } ############ FUN_ 18114d5d0 size=529 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18114d5d0(longlong *param_1,undefined8 *param_2,undefined8 param_3,code *param_4) { uint uVar1; int iVar2; undefined8 *puVar3; undefined8 uVar4; uint *_Memory; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_e8 [32]; longlong local_c8 [2]; undefined8 *local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 *local_a0; undefined8 local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; undefined8 *local_78; undefined8 local_70; undefined8 local_68; undefined8 *local_60; undefined **local_58; undefined8 *local_50; ulonglong local_48; local_c8[1] = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; puVar3 = *(undefined8 **)param_4; puVar6 = puVar3; local_b8 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { uVar4 = *param_2; puVar5 = puVar3; puVar7 = (undefined8 *)puVar3[1]; local_b0 = uVar4; do { puVar6 = puVar7; local_a8 = puVar6[4]; iVar2 = FUN_18048cbc0(local_a8,uVar4); if (iVar2 < 0) { puVar7 = (undefined8 *)puVar6[2]; puVar6 = puVar5; } else { puVar7 = (undefined8 *)*puVar6; } puVar5 = puVar6; } while (*(char *)((longlong)puVar7 + 0x19) == '\0'); } local_a0 = puVar3; if (puVar6 == puVar3) { LAB_18114d66e: puVar6 = puVar3; } else { local_98 = puVar6[4]; local_90 = *param_2; iVar2 = FUN_18048cbc0(); if (iVar2 < 0) goto LAB_18114d66e; } if (puVar6 == puVar3) { } puVar6 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { uVar4 = *param_2; puVar5 = puVar3; puVar7 = (undefined8 *)puVar3[1]; local_88 = uVar4; do { puVar6 = puVar7; local_80 = puVar6[4]; iVar2 = FUN_18048cbc0(local_80,uVar4); if (iVar2 < 0) { puVar7 = (undefined8 *)puVar6[2]; puVar6 = puVar5; } else { puVar7 = (undefined8 *)*puVar6; } puVar5 = puVar6; } while (*(char *)((longlong)puVar7 + 0x19) == '\0'); } local_78 = puVar3; if (puVar6 == puVar3) { LAB_18114d7e0: std::_Xout_of_range("invalid map key"); } else { local_70 = puVar6[4]; local_68 = *param_2; iVar2 = FUN_18048cbc0(); if (iVar2 < 0) goto LAB_18114d7e0; local_58 = &PTR_vftable_18262b4c8; puVar3 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = juce::var::VariantType_Array::RefCountedArray::vftable; local_60 = puVar3; FUN_18049b170(puVar3 + 2,puVar6 + 5); LOCK(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; UNLOCK(); local_50 = puVar3; uVar4 = FUN_18122bf10(); FUN_18122c1b0(uVar4,local_c8,param_3); param_4 = *(code **)(*(longlong *)*param_1 + 0x18); if (param_4 == FUN_181226840) { FUN_181243cd0((longlong *)*param_1 + 2,local_c8,&local_58); goto LAB_18114d77d; } } (*param_4)(); LAB_18114d77d: _Memory = (uint *)(local_c8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*local_58 + 0xb0))(local_58,&local_50); } ############ FUN_ 181247c70 size=1139 ############ undefined8 * FUN_181247c70(undefined8 param_1,undefined1 param_2,byte *param_3,longlong param_4,longlong *param_5 ,int param_6,longlong param_7,undefined4 *param_8,undefined8 param_9,longlong *param_10 ) { uint uVar1; char *pcVar2; char cVar3; undefined8 *puVar4; longlong lVar5; longlong lVar6; uint *puVar7; int iVar8; int iVar9; undefined8 *puVar10; byte *local_res18; longlong local_res20; byte *local_88; undefined8 local_80; undefined8 *local_78; undefined8 local_70; undefined8 local_68; undefined8 local_60; void *local_58; undefined8 local_50; undefined1 local_48; local_80 = 0xfffffffffffffffe; local_res18 = param_3; local_res20 = param_4; cVar3 = FUN_1812146f0(); if (cVar3 != '\0') { FUN_181214270(&local_res20,param_1); local_res18 = (byte *)FUN_1811316e0(0x28); puVar4 = (undefined8 *)FUN_18123efe0(local_res18,&local_res20); if (*(char *)puVar4[4] != '\0') { (**(code **)*puVar4)(puVar4,1); puVar4 = (undefined8 *)0x0; } puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(*param_5 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(*param_10 + -0x10); if ((*puVar7 & 0x30000000) != 0) { return puVar4; } LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 != 0) { return puVar4; } /* WARNING: Subroutine does not return */ free(puVar7); } local_res20 = FUN_1811316e0(0x18); puVar4 = (undefined8 *)FUN_181212de0(local_res20,param_1,param_2); iVar9 = 0; local_70 = 0; lVar6 = -1; local_78 = puVar4; if (*(char *)*param_5 == '\0') goto LAB_181247ebf; puVar10 = (undefined8 *)(puVar4[1] + 0x68); pcVar2 = (char *)*puVar10; lVar5 = lVar6; if (*pcVar2 == '\0') { LAB_181247e1c: if (*(char *)*puVar10 != '\0') { FUN_181232e20(puVar10,&DAT_182496878,&DAT_18249687a); } } else { do { lVar5 = lVar5 + 1; } while (pcVar2[lVar5] != '\0'); local_res18 = (byte *)(pcVar2 + lVar5); iVar8 = iVar9; do { local_res18 = local_res18 + -1; if ((*local_res18 & 0xc0) != 0x80) break; iVar8 = iVar8 + 1; } while (iVar8 < 4); iVar8 = FUN_180492f10(&local_res18); if (iVar8 != 10) goto LAB_181247e1c; } FUN_181232d30(puVar10,param_5); pcVar2 = (char *)*puVar10; if (*pcVar2 != '\0') { do { lVar6 = lVar6 + 1; } while (pcVar2[lVar6] != '\0'); local_88 = (byte *)(pcVar2 + lVar6); do { local_88 = local_88 + -1; if ((*local_88 & 0xc0) != 0x80) break; iVar9 = iVar9 + 1; } while (iVar9 < 4); iVar9 = FUN_180492f10(&local_88); if (iVar9 == 10) goto LAB_181247ebf; } if (*(char *)*puVar10 != '\0') { FUN_181232e20(puVar10,&DAT_182496878,&DAT_18249687a); } LAB_181247ebf: if (param_6 != 0) { *(int *)(puVar4[1] + 0x8c) = param_6; } pcVar2 = (char *)*param_10; if (*pcVar2 != '\0') { lVar6 = puVar4[1]; if ((*(uint *)(pcVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar2 + -0x10) = *(int *)(pcVar2 + -0x10) + 1; UNLOCK(); } LOCK(); lVar5 = *(longlong *)(lVar6 + 0x90); *(longlong *)(lVar6 + 0x90) = *param_10; UNLOCK(); puVar7 = (uint *)(lVar5 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } *(undefined4 *)(puVar4[1] + 0x98) = 5; if (*(char *)(puVar4 + 2) == '\0') { *(undefined1 *)(puVar4 + 2) = 1; cVar3 = FUN_180499180(puVar4[1],0); } else { cVar3 = *(longlong *)(puVar4[1] + 0x60) != 0; } if (param_8 != (undefined4 *)0x0) { if (*(char *)(puVar4 + 2) == '\0') { *(undefined1 *)(puVar4 + 2) = 1; FUN_180499180(puVar4[1],0); } *param_8 = *(undefined4 *)puVar4[1]; } if (param_7 == 0) { if ((cVar3 == '\0') || (*(longlong *)(puVar4[1] + 0x60) == 0)) { (**(code **)*puVar4)(puVar4,1); puVar7 = (uint *)(*param_5 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(*param_10 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar4 = (undefined8 *)0x0; } else { puVar7 = (uint *)(*param_5 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(*param_10 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } return puVar4; } if (*(char *)(puVar4 + 2) == '\0') { *(undefined1 *)(puVar4 + 2) = 1; FUN_180499180(puVar4[1],0); } lVar6 = puVar4[1]; local_68 = 0; local_60 = 0; FUN_18048c4c0(&local_68,*(undefined8 *)(lVar6 + 0xa0),*(undefined4 *)(lVar6 + 0xac)); local_58 = (void *)0x0; local_50 = 0; FUN_18048c4c0(&local_58,*(undefined8 *)(lVar6 + 0xb0),*(undefined4 *)(lVar6 + 0xbc)); local_48 = *(undefined1 *)(lVar6 + 0xc0); FUN_18122ddb0(param_7,&local_68); FUN_18122ddb0(param_7 + 0x10,&local_58); FUN_180488c50(&local_58); /* WARNING: Subroutine does not return */ free(local_58); } ############ FUN_ 181212de0 size=269 ############ undefined8 * FUN_181212de0(undefined8 *param_1,undefined8 param_2,char param_3) { undefined4 *puVar1; undefined *puVar2; *param_1 = juce::WebInputStream::vftable; puVar1 = (undefined4 *)FUN_1811316e0(0xf8); *puVar1 = 0; *(undefined8 **)(puVar1 + 2) = param_1; FUN_18049a120(puVar1 + 4,param_2); *(undefined8 *)(puVar1 + 0x16) = 0; *(undefined8 *)(puVar1 + 0x18) = 0; *(undefined1 **)(puVar1 + 0x1a) = &DAT_1821dbf98; *(undefined8 *)(puVar1 + 0x1c) = 0; *(undefined8 *)(puVar1 + 0x1e) = 0; *(undefined8 *)(puVar1 + 0x20) = 0; *(undefined1 *)(puVar1 + 0x22) = 0; *(char *)((longlong)puVar1 + 0x89) = param_3; puVar1[0x23] = 0; puVar2 = &DAT_182496acc; if (param_3 != '\0') { puVar2 = &DAT_182496ac4; } FUN_18049c4e0(puVar1 + 0x24,puVar2); puVar1[0x26] = 5; *(undefined8 *)(puVar1 + 0x28) = 0; *(undefined8 *)(puVar1 + 0x2a) = 0; *(undefined8 *)(puVar1 + 0x2c) = 0; *(undefined8 *)(puVar1 + 0x2e) = 0; *(undefined1 *)(puVar1 + 0x30) = 1; InitializeCriticalSection((LPCRITICAL_SECTION)(puVar1 + 0x32)); *(undefined1 *)(puVar1 + 0x3d) = 0; param_1[1] = puVar1; *(undefined1 *)(param_1 + 2) = 0; return param_1; } ############ FUN_ 18114f090 size=197 ############ void FUN_18114f090(undefined8 param_1,undefined8 param_2,undefined8 param_3) { undefined8 uVar1; void *pvVar2; void *_Memory; undefined8 local_res18; undefined *local_res20; local_res20 = &DAT_1826737d0; local_res18 = param_3; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_1826737d0); pvVar2 = DAT_182673948; if (DAT_182673663 == '\0') { DAT_182673663 = '\x01'; FUN_18114e850(); uVar1 = FUN_1811316e0(0x10); pvVar2 = (void *)FUN_18048d490(uVar1,FUN_18114e8b0,param_1,param_2,&local_res18); _Memory = DAT_182673948; if (DAT_182673948 != (void *)0x0) { if (*(int *)((longlong)DAT_182673948 + 8) != 0) { DAT_182673948 = pvVar2; /* WARNING: Subroutine does not return */ terminate(); } DAT_182673948 = pvVar2; /* WARNING: Subroutine does not return */ free(_Memory); } } DAT_182673948 = pvVar2; /* WARNING: Could not recover jumptable at 0x00018114f14f. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_1826737d0); return; } ############ FUN_ 1811529f0 size=199 ############ void FUN_1811529f0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uint uVar3; undefined8 local_res8; undefined8 local_res10; undefined8 local_res18; if (0 < (int)param_1[9]) { FUN_1811528b0(param_1,&local_res10,param_3,param_4,0xfffffffffffffffe); uVar3 = (int)param_1[9] - 1; uVar1 = 0; if (uVar3 < *(uint *)((longlong)param_1 + 0x44)) { uVar1 = *(undefined8 *)(param_1[7] + (longlong)(int)uVar3 * 8); } FUN_18115d300(param_1,uVar1); FUN_1811528b0(param_1,&local_res8); local_res18 = FUN_1811316e0(0x28); uVar2 = local_res10; uVar1 = local_res8; local_res8 = 0; local_res10 = 0; uVar1 = FUN_181152830(local_res18,uVar2,uVar1,param_1); if (*(char *)(*param_1 + 0x1b8) == '\0') { uVar2 = FUN_18118c230(); FUN_181352640(uVar2); FUN_1813526d0(uVar2,uVar1); } } return; } ############ FUN_ 181152ac0 size=203 ############ void FUN_181152ac0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uint uVar3; undefined8 local_res8; undefined8 local_res10; undefined8 local_res18; if ((int)param_1[9] < *(int *)((longlong)param_1 + 0x44) + -1) { FUN_1811528b0(param_1,&local_res10,param_3,param_4,0xfffffffffffffffe); uVar3 = (int)param_1[9] + 1; uVar1 = 0; if (uVar3 < *(uint *)((longlong)param_1 + 0x44)) { uVar1 = *(undefined8 *)(param_1[7] + (longlong)(int)uVar3 * 8); } FUN_18115d300(param_1,uVar1); FUN_1811528b0(param_1,&local_res8); local_res18 = FUN_1811316e0(0x28); uVar2 = local_res10; uVar1 = local_res8; local_res8 = 0; local_res10 = 0; uVar1 = FUN_181152830(local_res18,uVar2,uVar1,param_1); if (*(char *)(*param_1 + 0x1b8) == '\0') { uVar2 = FUN_18118c230(); FUN_181352640(uVar2); FUN_1813526d0(uVar2,uVar1); } } return; } ############ FUN_ 181184bc0 size=151 ############ void FUN_181184bc0(longlong param_1) { undefined8 **ppuVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *local_res8; ppuVar1 = (undefined8 **)(param_1 + 0x18); if (*(longlong *)(param_1 + 0x18) == 0) { puVar3 = (undefined8 *)FUN_1811316e0(0x28); puVar3[1] = 0xffffffffffffffff; *(undefined4 *)(puVar3 + 2) = 0; *puVar3 = AutoCueState::Delayed::vftable; puVar3[3] = param_1; *(undefined4 *)(puVar3 + 4) = 300; local_res8 = puVar3; FUN_1812a77d0(puVar3,300); if (ppuVar1 == &local_res8) { puVar4 = (undefined8 *)*puVar3; } else { puVar2 = *ppuVar1; *ppuVar1 = puVar3; if (puVar2 == (undefined8 *)0x0) { return; } puVar4 = (undefined8 *)*puVar2; puVar3 = puVar2; } (*(code *)*puVar4)(puVar3,1); } return; } ############ FUN_ 181185030 size=482 ############ void FUN_181185030(longlong param_1,longlong *param_2,longlong *param_3,longlong *param_4) { undefined8 *puVar1; uint uVar2; undefined8 **ppuVar3; undefined8 **ppuVar4; undefined8 *puVar5; undefined8 *puVar6; bool bVar7; undefined8 **local_res8; undefined8 *local_res20; undefined8 ***local_48; undefined8 **local_40; undefined8 local_38; local_38 = 0xfffffffffffffffe; ppuVar4 = (undefined8 **)FUN_1811316e0(0x30); local_res8 = ppuVar4; FUN_18049c4e0(&local_48,&DAT_1821d8e3e); puVar6 = (undefined8 *)*param_3; if ((*(uint *)(puVar6 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(puVar6 + -2) = *(int *)(puVar6 + -2) + 1; UNLOCK(); } puVar1 = (undefined8 *)*param_2; if ((*(uint *)(puVar1 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(puVar1 + -2) = *(int *)(puVar1 + -2) + 1; UNLOCK(); } *ppuVar4 = puVar1; ppuVar4[1] = puVar6; ppuVar4[2] = local_48; ppuVar4[3] = (undefined8 *)0x0; ppuVar4[4] = (undefined8 *)0x0; ppuVar4[5] = (undefined8 *)0x0; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar7 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar7) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar7 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar7) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar7 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar7) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar6 = (undefined8 *)*param_4; puVar1 = (undefined8 *)param_4[1]; if (puVar6 != puVar1) { local_40 = &local_res20; local_48 = &local_res8; do { local_res8 = (undefined8 **)*puVar6; local_res20 = (undefined8 *)0x0; puVar5 = (undefined8 *)FUN_1811316e0(0x18); ppuVar3 = local_res8; local_res8 = (undefined8 **)0x0; *puVar5 = 0; puVar5[1] = ppuVar3; puVar5[2] = ppuVar4; FUN_180485e60(ppuVar4 + 3,puVar5); if (local_res8 != (undefined8 **)0x0) { (*(code *)**local_res8)(local_res8,1); } if (local_res20 != (undefined8 *)0x0) { (**(code **)*local_res20)(local_res20,1); } puVar6 = puVar6 + 1; } while (puVar6 != puVar1); } local_40 = ppuVar4; FUN_1812c2c80(*(undefined8 *)(param_1 + 0x30),&local_40); return; } ############ FUN_ 18118e130 size=3791 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x00018118e921) overlaps instruction at (ram,0x00018118e920) */ /* WARNING: Removing unreachable block (ram,0x00018118fdaa) */ /* WARNING: Removing unreachable block (ram,0x00018118e523) */ /* WARNING: Removing unreachable block (ram,0x00018118e1b9) */ /* WARNING: Removing unreachable block (ram,0x00018118e6fe) */ /* WARNING: Removing unreachable block (ram,0x00018118e91c) */ /* WARNING: Removing unreachable block (ram,0x00018118e1a6) */ undefined8 FUN_18118e130(longlong param_1,longlong *param_2,char param_3) { float fVar1; undefined8 uVar2; float *pfVar3; undefined8 uVar4; uint uVar5; float fVar6; int unaff_retaddr; uVar2 = FUN_18118c230(param_1 + -0x20); do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { FUN_18118e093(0x4218); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { FUN_18118aef7(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); if (param_3 != '\0') { do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { FUN_18118f05c(0x720c); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); FUN_18118ea97(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } pfVar3 = (float *)FUN_1804861f0(param_1 + 0x58,param_2 + 0xc); fVar1 = *pfVar3; fVar6 = (float)(**(code **)(*param_2 + 8))(param_2); if ((fVar1 != fVar6) && (*(char *)(param_1 + 0x198) == '\0')) { uVar4 = FUN_1811316e0(0x18); uVar4 = FUN_1811a3ed0(uVar4,param_2,fVar1); FUN_1813526d0(uVar2,uVar4); } do { FUN_18118aef7(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar2 = FUN_181190b8b(0); return uVar2; } ############ FUN_ 18119c460 size=1153 ############ /* WARNING: Removing unreachable block (ram,0x00018119c65f) */ /* WARNING: Removing unreachable block (ram,0x00018119c576) */ /* WARNING: Removing unreachable block (ram,0x00018119c535) */ /* WARNING: Removing unreachable block (ram,0x00018119c544) */ /* WARNING: Removing unreachable block (ram,0x00018119c611) */ ulonglong FUN_18119c460(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined4 param_6,undefined8 param_7,undefined8 param_8, undefined8 param_9,undefined8 param_10,undefined4 param_11) { undefined8 uVar1; ulonglong uVar2; int iVar3; uint uVar4; uint uVar5; undefined1 auStack_3c8 [32]; undefined8 local_3a8; undefined4 local_3a0; undefined1 *local_398; undefined8 local_390; undefined8 local_388; undefined1 *local_380; undefined1 *local_378; undefined4 local_370; undefined4 local_368; undefined1 *local_338; uint local_314; uint local_310; undefined8 local_308; undefined8 local_300; undefined8 local_2f8; undefined8 local_2f0; undefined1 *local_2e8; undefined1 *local_2e0; longlong local_2d8; undefined8 local_2d0; undefined8 local_2c8; undefined8 local_288; undefined1 local_280 [56]; undefined8 local_248; undefined1 local_240 [56]; undefined8 local_208; undefined1 local_200 [56]; undefined8 local_1c8; undefined1 local_1c0 [216]; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; ulonglong local_70; local_288 = 0xfffffffffffffffe; local_70 = DAT_182615970 ^ (ulonglong)auStack_3c8; local_2d0 = param_5; local_e8 = param_5; local_300 = param_7; local_d0 = param_7; local_2f8 = param_9; local_e0 = param_9; local_2f0 = param_10; local_d8 = param_10; uVar4 = (uint)&stack0x00000000; uVar5 = uVar4 & 0x1ff; local_314 = -(((uVar5 + 2) * (uVar5 + 1) * uVar5) % 3) ^ 0x3d0; iVar3 = (uVar4 & 0x7dff) * (uVar4 & 0x7dff) + 1; uVar5 = (iVar3 >> 4) + (iVar3 >> 1) + iVar3 * 0x24924924 >> 0x1d; uVar4 = uVar4 & 0x13f; iVar3 = (uVar4 + 2) * (uVar4 + 1) * uVar4; uVar4 = ((int)(uVar5 - 7) >> 0x1f & uVar5) - (((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e); local_310 = ((int)(-uVar4 | uVar4) >> 0x1f) * -0x2ff3 ^ 0x2913; local_308 = param_2; local_2d8 = param_1; uVar1 = FUN_1811316e0(0x2c8); local_2e0 = local_280; local_2e8 = local_240; local_338 = local_200; local_248 = 0; local_2c8 = uVar1; FUN_180488560(local_280,local_2f0); local_208 = 0; FUN_180488560(local_240,local_2f8); local_1c8 = 0; FUN_180488560(local_200,local_300); local_3a8 = FUN_180485290(local_1c0,param_5); local_368 = 0; local_370 = param_11; local_378 = local_280; local_380 = local_240; local_388 = *(undefined8 *)(param_1 + 0x178); local_390 = param_8; local_398 = local_200; local_3a0 = param_6; local_2e0 = (undefined1 *)FUN_1811c75f0(uVar1,local_308,param_3,param_4); /* WARNING: Call to offcut address within same function */ uVar2 = func_0x00018119c8d5(); return uVar2 & 0xfffffffffffffff8; } ############ FUN_ 1812c2690 size=106 ############ void FUN_1812c2690(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(); lVar1 = *param_2; *param_2 = 0; *puVar2 = 0; puVar2[1] = lVar1; puVar2[2] = param_1; FUN_180485e60(param_1 + 0x18,puVar2,lVar1,param_4,uVar3); puVar2 = (undefined8 *)*param_2; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } return; } ############ FUN_ 18119c2e0 size=366 ############ undefined8 FUN_18119c2e0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4, undefined4 param_5,longlong *param_6,undefined4 param_7) { longlong *plVar1; undefined8 uVar2; undefined8 *puVar3; void *_Memory; undefined8 local_90; undefined8 local_88; undefined1 local_80 [56]; undefined8 local_48; _Memory = (void *)0x0; if (*(code **)(*param_1 + 0x30) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { _Memory = (void *)(**(code **)(*param_1 + 0x30)) (param_1,*(undefined4 *)((longlong)param_4 + 0xc)); } uVar2 = FUN_1811316e0(0x2d8); local_48 = 0; FUN_180488560(local_80,param_6); local_90 = 0; local_88 = 0; FUN_18048c4c0(&local_90,*param_4,*(undefined4 *)((longlong)param_4 + 0xc)); uVar2 = FUN_1811ae7e0(uVar2,param_2,param_3,&local_90,param_5,local_80,param_7); FUN_1811bb600(uVar2,param_1); FUN_1811b9de0(uVar2,param_1 + 4); puVar3 = (undefined8 *)FUN_1804863e0(param_1 + 7,param_2); *puVar3 = uVar2; if (_Memory == (void *)0x0) { plVar1 = (longlong *)param_6[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_6); param_6[7] = 0; } return uVar2; } FUN_180484cd0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1811e4650 size=927 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811e4650(undefined8 param_1,undefined8 *param_2,longlong *param_3) { uint uVar1; byte bVar2; char *pcVar3; byte bVar4; char cVar5; byte bVar6; int iVar7; longlong *plVar8; longlong lVar9; undefined8 *puVar10; byte *pbVar11; uint *puVar12; int iVar13; undefined **ppuVar14; undefined1 auStack_d8 [32]; longlong local_b8; undefined8 local_b0; undefined1 *local_a8; char *local_a0; undefined8 local_98; undefined8 local_90; undefined8 *local_88; undefined8 *local_80; longlong *local_78; undefined8 local_70; longlong local_68; undefined1 *local_60; undefined **local_58; int local_50; undefined4 uStack_4c; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_d8; local_88 = param_2; local_80 = param_2; local_78 = param_3; iVar7 = FUN_180492f10(param_3); if ((iVar7 == 0x5b) && (cVar5 = FUN_181249390(param_3,0x5d), cVar5 != '\0')) { local_b8 = 0; local_b0 = 0; plVar8 = (longlong *)FUN_1812487f0(param_3,&local_88,&DAT_1821d9254); local_68 = *param_3; *param_3 = *plVar8; *plVar8 = local_68; puVar12 = (uint *)(local_88 + -2); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } pcVar3 = (char *)*param_3; cVar5 = *pcVar3; joined_r0x0001811e4724: if (cVar5 != '\0') { iVar7 = FUN_181249270(param_3,&DAT_1821d927c); if (iVar7 < 0) { local_a0 = pcVar3; if ((*(uint *)(pcVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar3 + -0x10) = *(int *)(pcVar3 + -0x10) + 1; UNLOCK(); } } else { FUN_1812490c0(param_3,&local_a0,0,iVar7); } local_50 = atoi(local_a0); local_58 = &PTR_vftable_18262b570; iVar7 = local_b0._4_4_ + 1; ppuVar14 = &PTR_vftable_18262b570; if ((int)local_b0 < iVar7) { if (iVar7 < 0) { iVar7 = local_b0._4_4_ + 2; } FUN_180489a50(&local_b8,local_b0._4_4_ + 9 + (iVar7 >> 1) & 0xfffffff8); ppuVar14 = local_58; } lVar9 = (longlong)local_b0._4_4_; local_b0 = CONCAT44(local_b0._4_4_ + 1,(int)local_b0); puVar10 = (undefined8 *)(lVar9 * 0x10 + local_b8); *puVar10 = ppuVar14; puVar10[1] = CONCAT44(uStack_4c,local_50); local_58 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_50); iVar7 = FUN_181249270(param_3,&DAT_1821d92ac); if (-1 < iVar7) { pbVar11 = &DAT_1821d92ac; iVar13 = 0; LAB_1811e4820: do { bVar2 = *pbVar11; pbVar11 = pbVar11 + 1; if ((char)bVar2 < '\0') { if ((*pbVar11 & 0xc0) == 0x80) { do { pbVar11 = pbVar11 + 1; } while ((*pbVar11 & 0xc0) == 0x80); iVar13 = iVar13 + 1; goto LAB_1811e4820; } } else if (bVar2 == 0) goto LAB_1811e484d; iVar13 = iVar13 + 1; } while( true ); } LAB_1811e480d: local_a8 = &DAT_1821dbf98; goto LAB_1811e48c0; } *param_2 = &PTR_vftable_18262b4c8; local_78 = (longlong *)FUN_1811316e0(0x20); *(undefined4 *)(local_78 + 1) = 0; *local_78 = (longlong)juce::var::VariantType_Array::RefCountedArray::vftable; local_78[2] = local_b8; local_b8 = 0; *(int *)(local_78 + 3) = (int)local_b0; *(int *)((longlong)local_78 + 0x1c) = local_b0._4_4_; local_b0 = 0; LOCK(); *(int *)(local_78 + 1) = (int)local_78[1] + 1; UNLOCK(); param_2[1] = local_78; FUN_180487600(&local_b8); puVar12 = (uint *)(*param_3 + -0x10); if ((*puVar12 & 0x30000000) != 0) { } LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); } else { local_98 = 0; local_90 = 0; FUN_1812464d0(param_2,&local_98); FUN_180487600(&local_98); puVar12 = (uint *)(*param_3 + -0x10); if ((*puVar12 & 0x30000000) != 0) { } LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); } if (uVar1 != 0) { } /* WARNING: Subroutine does not return */ free(puVar12); LAB_1811e484d: iVar7 = iVar7 + iVar13; if (iVar7 < 1) { local_a8 = (undefined1 *)*param_3; if ((*(uint *)(local_a8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a8 + -0x10) = *(int *)(local_a8 + -0x10) + 1; UNLOCK(); } } else { pbVar11 = (byte *)*param_3; while (iVar7 = iVar7 + -1, -1 < iVar7) { bVar2 = *pbVar11; if (bVar2 == 0) goto LAB_1811e480d; pbVar11 = pbVar11 + 1; if ((char)bVar2 < '\0') { bVar6 = 0x40; bVar4 = bVar2 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar11 = pbVar11 + 1; bVar6 = bVar6 >> 1; bVar4 = bVar2 & bVar6; } } } FUN_18049c9e0(&local_a8); } LAB_1811e48c0: local_60 = (undefined1 *)*param_3; *param_3 = (longlong)local_a8; puVar12 = (uint *)(local_60 + -0x10); local_a8 = local_60; if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_a0 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } pcVar3 = (char *)*param_3; cVar5 = *pcVar3; param_2 = local_80; goto joined_r0x0001811e4724; } ############ FUN_ 18122b540 size=303 ############ undefined8 * FUN_18122b540(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; uint uVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc ) < DAT_18267af80) && (_Init_thread_header(&DAT_18267af80), DAT_18267af80 == -1)) { atexit((_func_5014 *)&LAB_181a4a810); _Init_thread_footer(&DAT_18267af80); } do { LOCK(); uVar3 = DAT_182678cf4 & 1; DAT_182678cf4 = DAT_182678cf4 | 1; UNLOCK(); } while (uVar3 != 0); puVar5 = DAT_18267af28; if (DAT_18267af28 == (undefined8 *)0x0) { puVar6 = (undefined8 *)FUN_1811316e0(0x18); *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::CurrentThreadHolder::vftable; puVar6[2] = 0; puVar5 = DAT_18267af28; if (DAT_18267af28 != puVar6) { LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; puVar4 = DAT_18267af28; UNLOCK(); puVar5 = puVar6; if (DAT_18267af28 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(DAT_18267af28 + 1); iVar2 = *piVar1; DAT_18267af28 = puVar6; *piVar1 = *piVar1 + -1; UNLOCK(); puVar5 = DAT_18267af28; if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1,param_3,param_4,uVar7); puVar5 = DAT_18267af28; } } } } DAT_18267af28 = puVar5; puVar5 = DAT_18267af28; *param_1 = DAT_18267af28; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); DAT_182678cf4 = 0; UNLOCK(); return param_1; } ############ FUN_ 181217400 size=90 ############ undefined8 * FUN_181217400(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x10); uVar1 = FUN_180498c40(uVar1,param_2,param_3,param_4,uVar2); *param_1 = uVar1; return param_1; } ############ FUN_ 1812191d0 size=199 ############ undefined8 * FUN_1812191d0(undefined8 *param_1,undefined8 param_2) { int iVar1; void *_Dst; *param_1 = juce::OutputStream::vftable; FUN_18049c4e0(param_1 + 1); *param_1 = juce::GZIPCompressorOutputStream::vftable; param_1[2] = param_2; *(undefined1 *)(param_1 + 3) = 0; _Dst = (void *)FUN_1811316e0(0x8060); *(undefined4 *)((longlong)_Dst + 0x58) = 9; *(undefined2 *)((longlong)_Dst + 0x5c) = 1; *(undefined1 *)((longlong)_Dst + 0x5e) = 0; memset(_Dst,0,0x58); iVar1 = FUN_18121fbc0(_Dst,*(undefined4 *)((longlong)_Dst + 0x58),8,0xf,8,0,"1.2.3"); *(bool *)((longlong)_Dst + 0x5d) = iVar1 == 0; param_1[4] = _Dst; return param_1; } ############ FUN_ 181219380 size=167 ############ undefined8 FUN_181219380(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { void *_Memory; undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (param_2 < *(longlong *)(param_1 + 0x38)) { *(undefined1 *)(param_1 + 0x24) = 0; *(undefined4 *)(param_1 + 0x28) = 0; *(undefined8 *)(param_1 + 0x38) = 0; uVar1 = FUN_1811316e0(0x70); uVar1 = FUN_180498a90(uVar1,*(undefined4 *)(param_1 + 0x20)); _Memory = *(void **)(param_1 + 0x48); *(undefined8 *)(param_1 + 0x48) = uVar1; if (_Memory != (void *)0x0) { if (*(char *)((longlong)_Memory + 3) != '\0') { FUN_18121bed0((longlong)_Memory + 8); } /* WARNING: Subroutine does not return */ free(_Memory); } (**(code **)(**(longlong **)(param_1 + 8) + 0xb0)) (*(longlong **)(param_1 + 8),*(undefined8 *)(param_1 + 0x30)); } FUN_181235210(param_1,param_2 - *(longlong *)(param_1 + 0x38),param_3,param_4,uVar2); return 1; } ############ FUN_ 1812260a0 size=150 ############ undefined8 * FUN_1812260a0(undefined8 *param_1,longlong *param_2) { longlong lVar1; undefined8 *puVar2; *param_1 = &DAT_1821dbf98; param_1[1] = 0; *(undefined2 *)(param_1 + 2) = 0; param_1[3] = &DAT_1821dbf98; param_1[4] = &DAT_1821dbf98; param_1[5] = 0; param_1[6] = 0; *(undefined2 *)(param_1 + 7) = 0x100; puVar2 = (undefined8 *)FUN_1811316e0(0x18); *puVar2 = juce::FileInputSource::vftable; lVar1 = *param_2; puVar2[1] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } *(undefined1 *)(puVar2 + 2) = 0; param_1[8] = puVar2; return param_1; } ############ FUN_ 1812263f0 size=254 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812263f0(longlong param_1,longlong *param_2) { longlong lVar1; longlong *plVar2; longlong lVar3; undefined8 *puVar4; uint uVar5; longlong lVar6; longlong *plVar7; undefined1 auStack_68 [32]; longlong *local_48; undefined8 local_40; longlong *local_38; longlong local_30; ulonglong local_28; local_40 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_68; local_48 = param_2; puVar4 = (undefined8 *)FUN_1811316e0(0x20); puVar4[1] = 0; *(undefined4 *)(puVar4 + 1) = 0; *puVar4 = juce::DynamicObject::vftable; local_38 = puVar4 + 2; local_48 = puVar4; FUN_18049b090(local_38,param_1 + 0x10); *param_2 = (longlong)puVar4; LOCK(); *(int *)(puVar4 + 1) = *(int *)(puVar4 + 1) + 1; UNLOCK(); lVar1 = *param_2; uVar5 = *(int *)(lVar1 + 0x1c) - 1; if (-1 < (int)uVar5) { lVar6 = (longlong)(int)uVar5 * 0x18; do { if ((uVar5 < *(uint *)(lVar1 + 0x1c)) && (plVar7 = (longlong *)(*(longlong *)(lVar1 + 0x10) + 8 + lVar6), plVar7 != (longlong *)0x0) ) { (**(code **)(*(longlong *)*plVar7 + 0x48))((longlong *)*plVar7,&local_38,plVar7); plVar2 = (longlong *)*plVar7; *plVar7 = (longlong)local_38; lVar3 = plVar7[1]; plVar7[1] = local_30; local_38 = plVar2; local_30 = lVar3; (**(code **)(*plVar2 + 0xb0))(plVar2,&local_30); } lVar6 = lVar6 + -0x18; uVar5 = uVar5 - 1; } while (-1 < (int)uVar5); } } ############ FUN_ 181227270 size=253 ############ longlong FUN_181227270(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; char cVar2; longlong lVar3; undefined8 *puVar4; undefined8 local_30; undefined8 local_28; undefined **local_20; undefined8 local_18 [2]; lVar3 = (**(code **)(*(longlong *)*param_1 + 0x38)) ((longlong *)*param_1,param_1 + 1,param_3,param_4,0xfffffffffffffffe); if (lVar3 == 0) { local_30 = 0; local_28 = 0; cVar2 = (**(code **)(*(longlong *)*param_1 + 0x50))(); if (cVar2 == '\0') { FUN_18049b7e0(&local_30,param_1); } local_20 = &PTR_vftable_18262b4c8; puVar4 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar4 + 1) = 0; *puVar4 = juce::var::VariantType_Array::RefCountedArray::vftable; FUN_18049b170(puVar4 + 2,&local_30); LOCK(); *(int *)(puVar4 + 1) = *(int *)(puVar4 + 1) + 1; UNLOCK(); plVar1 = (longlong *)*param_1; *param_1 = local_20; local_18[0] = param_1[1]; param_1[1] = puVar4; local_20 = (undefined **)plVar1; (**(code **)(*plVar1 + 0xb0))(plVar1,local_18); lVar3 = (**(code **)(*(longlong *)*param_1 + 0x38))((longlong *)*param_1,param_1 + 1); FUN_180487600(&local_30); } return lVar3; } ############ FUN_ 181227820 size=175 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181227820(undefined8 *param_1,undefined8 param_2) { longlong *plVar1; undefined8 *puVar2; undefined1 auStack_58 [32]; undefined8 local_38; undefined8 *local_30; undefined **local_28; undefined8 local_20; ulonglong local_18; local_38 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; local_28 = &PTR_vftable_18262b4c8; puVar2 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::var::VariantType_Array::RefCountedArray::vftable; local_30 = puVar2; FUN_18049b170(puVar2 + 2,param_2); LOCK(); *(int *)(puVar2 + 1) = *(int *)(puVar2 + 1) + 1; UNLOCK(); plVar1 = (longlong *)*param_1; *param_1 = local_28; local_20 = param_1[1]; param_1[1] = puVar2; local_28 = (undefined **)plVar1; (**(code **)(*plVar1 + 0xb0))(plVar1,&local_20); } ############ FUN_ 181227b40 size=81 ############ undefined8 * FUN_181227b40(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; *param_1 = &PTR_vftable_18262b4e0; uVar1 = FUN_1811316e0(0x10); uVar1 = FUN_18123aa50(uVar1,param_2,param_3,param_4,uVar2); param_1[1] = uVar1; return param_1; } ############ FUN_ 181236060 size=202 ############ undefined8 * FUN_181236060(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; undefined8 uVar3; undefined8 *puVar4; uint *puVar5; longlong local_res8; longlong local_res10; undefined8 local_res18; undefined8 local_res20; uVar2 = *param_2; local_res18 = uVar2; uVar3 = FUN_181241230(param_1 + 8,&local_res10,param_3,param_4,0xfffffffffffffffe); FUN_181245100(uVar3,&local_res8,uVar2); puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_res20 = FUN_1811316e0(0x28); puVar4 = (undefined8 *)FUN_18123efe0(local_res20,&local_res8); if (*(char *)puVar4[4] != '\0') { (**(code **)*puVar4)(puVar4,1); puVar4 = (undefined8 *)0x0; } puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return puVar4; } ############ FUN_ 181236140 size=78 ############ undefined8 * FUN_181236140(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x28); puVar2 = (undefined8 *)FUN_18123efe0(uVar1,param_1 + 8); if (*(char *)puVar2[4] != '\0') { (**(code **)*puVar2)(puVar2,1,puVar2,param_4,uVar3); puVar2 = (undefined8 *)0x0; } return puVar2; } ############ FUN_ 181238760 size=320 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181238760(longlong param_1) { uint *_Memory; uint uVar1; undefined4 uVar2; int iVar3; longlong *plVar4; undefined8 uVar5; undefined1 auStack_278 [32]; undefined4 local_258 [2]; longlong local_250 [2]; longlong *local_240; undefined1 local_238 [4]; undefined4 local_234; undefined1 local_1b8 [416]; ulonglong local_18; local_250[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_278; if ((*(char *)(param_1 + 0x10) != '\0') && (*(char *)(param_1 + 0x11) != '\0')) { local_258[0] = 0x80; iVar3 = Ordinal_1((longlong)*(int *)(param_1 + 0xc),local_238,local_258); if ((-1 < iVar3) && (*(char *)(param_1 + 0x10) != '\0')) { plVar4 = (longlong *)FUN_1811316e0(0x40); local_240 = plVar4; uVar5 = Ordinal_12(local_234); FUN_18049c4e0(local_250,uVar5); uVar2 = *(undefined4 *)(param_1 + 8); *plVar4 = local_250[0]; _Memory = (uint *)(local_250[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } *(undefined4 *)(plVar4 + 1) = uVar2; *(int *)((longlong)plVar4 + 0xc) = iVar3; *(undefined2 *)(plVar4 + 2) = 1; InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)plVar4 + 0x12)); if (DAT_18267aa50 == '\0') { DAT_18267aa50 = '\x01'; Ordinal_115(0x101,local_1b8); } FUN_181238f90((longlong)iVar3); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } } } ############ FUN_ 18123b420 size=97 ############ undefined8 * FUN_18123b420(undefined8 *param_1,undefined8 *param_2) { int *piVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x18); *(int *)(param_1 + 1) = *(int *)(param_1 + 1) + 1; *param_2 = puVar2; *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::Expression::Helpers::Negate::vftable; puVar2[2] = param_1; *(int *)(param_1 + 1) = *(int *)(param_1 + 1) + 1; *(int *)(puVar2 + 1) = *(int *)(puVar2 + 1) + 1; piVar1 = (int *)(param_1 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*param_1)(param_1,1); } return param_2; } ############ FUN_ 18123b490 size=898 ############ undefined8 * FUN_18123b490(undefined8 *param_1,undefined8 *param_2,longlong param_3,undefined8 param_4) { int *piVar1; int iVar2; int iVar3; longlong *plVar4; undefined8 *puVar5; longlong *plVar6; undefined8 uVar7; longlong *plVar8; int iVar9; longlong lVar10; undefined8 *local_res8; longlong *local_48; undefined8 *local_40; undefined8 local_38; local_38 = 0xfffffffffffffffe; plVar4 = (longlong *)(**(code **)(*(longlong *)*param_1 + 0x10))(); local_48 = plVar4; iVar2 = (**(code **)(*plVar4 + 8))(plVar4); if ((iVar2 == 0) && (plVar6 = plVar4, (char)plVar4[3] != '\0')) { LAB_18123b4eb: if (plVar6 != (longlong *)0x0) goto LAB_18123b715; } else { iVar2 = (**(code **)(*plVar4 + 8))(plVar4); if (iVar2 != 1) { iVar2 = (**(code **)(*plVar4 + 0x40))(plVar4); iVar9 = 0; if (0 < iVar2) { do { plVar6 = (longlong *)(**(code **)(*plVar4 + 0x48))(plVar4,iVar9); iVar3 = (**(code **)(*plVar6 + 8))(plVar6); if ((iVar3 == 0) && ((char)plVar6[3] != '\0')) goto LAB_18123b4eb; iVar9 = iVar9 + 1; } while (iVar9 < iVar2); } iVar9 = 0; if (0 < iVar2) { do { uVar7 = (**(code **)(*plVar4 + 0x48))(plVar4,iVar9); plVar6 = (longlong *)FUN_180494c40(uVar7,1); if (plVar6 != (longlong *)0x0) goto LAB_18123b4eb; iVar9 = iVar9 + 1; } while (iVar9 < iVar2); } } } iVar2 = (**(code **)(*plVar4 + 8))(plVar4); plVar6 = plVar4; if (iVar2 == 0) { LAB_18123b508: if (plVar6 != (longlong *)0x0) goto LAB_18123b715; } else { iVar2 = (**(code **)(*plVar4 + 8))(plVar4); if (iVar2 != 1) { iVar2 = (**(code **)(*plVar4 + 0x40))(plVar4); iVar9 = 0; if (0 < iVar2) { do { plVar6 = (longlong *)(**(code **)(*plVar4 + 0x48))(plVar4,iVar9); iVar3 = (**(code **)(*plVar6 + 8))(plVar6); if (iVar3 == 0) goto LAB_18123b508; iVar9 = iVar9 + 1; } while (iVar9 < iVar2); } iVar9 = 0; if (0 < iVar2) { do { uVar7 = (**(code **)(*plVar4 + 0x48))(plVar4,iVar9); plVar6 = (longlong *)FUN_180494c40(uVar7,0); if (plVar6 != (longlong *)0x0) goto LAB_18123b508; iVar9 = iVar9 + 1; } while (iVar9 < iVar2); } } } puVar5 = (undefined8 *)FUN_1811316e0(0x20); local_40 = puVar5; local_res8 = (undefined8 *)FUN_1811316e0(0x20); *local_res8 = juce::Expression::Helpers::Constant::vftable; local_res8[2] = 0; *(undefined1 *)(local_res8 + 3) = 0; *(undefined4 *)(local_res8 + 1) = 1; *(int *)(plVar4 + 1) = (int)plVar4[1] + 1; local_48 = plVar4; plVar4 = (longlong *)FUN_1804946b0(puVar5,&local_48,&local_res8); local_48 = plVar4; iVar2 = (**(code **)(*plVar4 + 8))(plVar4); plVar6 = plVar4; if (iVar2 != 0) { iVar2 = (**(code **)(*plVar4 + 8))(plVar4); if (iVar2 != 1) { iVar2 = (**(code **)(*plVar4 + 0x40))(plVar4); iVar9 = 0; if (0 < iVar2) { do { plVar6 = (longlong *)(**(code **)(*plVar4 + 0x48))(plVar4,iVar9); iVar3 = (**(code **)(*plVar6 + 8))(plVar6); if (iVar3 == 0) goto LAB_18123b715; iVar9 = iVar9 + 1; } while (iVar9 < iVar2); } iVar9 = 0; if (0 < iVar2) { do { uVar7 = (**(code **)(*plVar4 + 0x48))(plVar4,iVar9); plVar6 = (longlong *)FUN_180494c40(uVar7,0); if (plVar6 != (longlong *)0x0) goto LAB_18123b715; iVar9 = iVar9 + 1; } while (iVar9 < iVar2); } } plVar6 = (longlong *)0x0; } LAB_18123b715: plVar8 = (longlong *)FUN_180494bc0(plVar4,plVar6); if (plVar8 == (longlong *)0x0) { plVar6[2] = param_3; } else { (**(code **)(*plVar8 + 0x58))(plVar8,&local_res8,param_4,plVar6,param_3,plVar4); puVar5 = local_res8; if (local_res8 == (undefined8 *)0x0) { FUN_18123b9e0(param_2,(int)param_3); if (local_res8 != (undefined8 *)0x0) { piVar1 = (int *)(local_res8 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_res8)(local_res8,1); } } (**(code **)*plVar4)(plVar4,1); return param_2; } local_40 = local_res8; *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; lVar10 = FUN_18123b890(&local_40,param_4); plVar6[2] = lVar10; if (puVar5 != (undefined8 *)0x0) { piVar1 = (int *)(puVar5 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar5)(puVar5,1); } } if (local_res8 != (undefined8 *)0x0) { piVar1 = (int *)(local_res8 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_res8)(local_res8,1); } } } *param_2 = plVar4; *(int *)(plVar4 + 1) = (int)plVar4[1] + 1; return param_2; } ############ FUN_ 18123ba80 size=61 ############ undefined8 * FUN_18123ba80(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::Expression::Helpers::Constant::vftable; puVar1[2] = 0; *(undefined1 *)(puVar1 + 3) = 0; *param_1 = puVar1; *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; return param_1; } ############ FUN_ 181243640 size=988 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181243640(longlong *param_1,longlong param_2) { longlong *plVar1; uint uVar2; byte bVar3; int iVar4; longlong lVar5; byte bVar6; char cVar7; byte bVar8; int iVar9; undefined8 uVar10; byte *pbVar11; uint *puVar12; longlong lVar13; longlong *plVar14; bool bVar15; undefined1 auStack_108 [32]; undefined1 *local_e8; void *local_e0; longlong local_d8; undefined1 *local_d0; undefined8 local_c8; longlong local_c0; undefined8 *local_b8; undefined **local_98; longlong local_90; undefined1 *local_88; undefined **local_80; undefined8 *local_78; undefined1 *local_70; undefined **local_68; longlong local_60; undefined **local_58; undefined8 *local_50; ulonglong local_48; local_c8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_108; FUN_18049b580(); plVar14 = *(longlong **)(param_2 + 0x10); if (plVar14 != (longlong *)0x0) { do { pbVar11 = &DAT_1821daa40; iVar9 = 0; while( true ) { while( true ) { bVar3 = *pbVar11; pbVar11 = pbVar11 + 1; if (-1 < (char)bVar3) break; if ((*pbVar11 & 0xc0) != 0x80) goto LAB_1812436e8; do { pbVar11 = pbVar11 + 1; } while ((*pbVar11 & 0xc0) == 0x80); iVar9 = iVar9 + 1; } if (bVar3 == 0) break; LAB_1812436e8: iVar9 = iVar9 + 1; } iVar9 = FUN_18049da40(plVar14[1],&DAT_1821daa40,iVar9); if (iVar9 == 0) { local_e0 = (void *)0x0; local_d8 = 0; local_c0 = plVar14[2]; cVar7 = FUN_181247530(&local_e0); if (cVar7 == '\0') { /* WARNING: Subroutine does not return */ free(local_e0); } pbVar11 = (byte *)plVar14[1]; iVar9 = 6; goto LAB_181243740; } local_90 = plVar14[2]; if ((*(uint *)(local_90 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_90 + -0x10) = *(int *)(local_90 + -0x10) + 1; UNLOCK(); } local_70 = (undefined1 *)plVar14[1]; if ((*(uint *)((longlong)local_70 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)((longlong)local_70 + -0x10) = *(int *)((longlong)local_70 + -0x10) + 1; UNLOCK(); } local_68 = &PTR_vftable_18262b560; local_98 = &PTR_vftable_18262b558; iVar4 = *(int *)((longlong)param_1 + 0xc); iVar9 = iVar4 + 1; local_60 = local_90; if ((int)param_1[1] < iVar9) { if (iVar9 < 0) { iVar9 = iVar4 + 2; } FUN_18049b620(param_1,iVar4 + 9 + (iVar9 >> 1) & 0xfffffff8); } iVar9 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar9 + 1; plVar1 = (longlong *)(*param_1 + (longlong)iVar9 * 0x18); *plVar1 = (longlong)local_70; local_70 = &DAT_1821dbf98; plVar1[1] = (longlong)local_68; plVar1[2] = local_60; local_68 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_60); puVar12 = (uint *)(local_70 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } (**(code **)(*local_98 + 0xb0))(local_98,&local_90); plVar14 = (longlong *)*plVar14; } while (plVar14 != (longlong *)0x0); } while( true ) { pbVar11 = pbVar11 + 1; if ((char)bVar3 < '\0') { bVar8 = 0x40; bVar6 = bVar3 & 0x40; while ((bVar6 != 0 && (8 < bVar8))) { pbVar11 = pbVar11 + 1; bVar8 = bVar8 >> 1; bVar6 = bVar3 & bVar8; } } iVar9 = iVar9 + -1; if (iVar9 < 0) break; LAB_181243740: bVar3 = *pbVar11; if (bVar3 == 0) { local_e8 = &DAT_1821dbf98; goto LAB_181243784; } } FUN_18049c9e0(&local_e8); LAB_181243784: uVar10 = FUN_18122bf10(); FUN_18122c1b0(uVar10,&local_d0,&local_e8); local_58 = &PTR_vftable_18262b4e0; local_b8 = (undefined8 *)FUN_1811316e0(0x10); local_88 = local_d0; *local_b8 = 0; local_b8[1] = local_d8; if (local_d8 != 0) { /* WARNING: Subroutine does not return */ free((void *)0x0); } local_d0 = &DAT_1821dbf98; local_80 = local_58; local_58 = &PTR_vftable_18262b558; iVar4 = *(int *)((longlong)param_1 + 0xc); iVar9 = iVar4 + 1; local_78 = local_b8; local_50 = local_b8; if ((int)param_1[1] < iVar9) { if (iVar9 < 0) { iVar9 = iVar4 + 2; } FUN_18049b620(param_1,iVar4 + 9 + (iVar9 >> 1) & 0xfffffff8); } lVar13 = (longlong)*(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + 1; lVar5 = *param_1; *(undefined1 **)(lVar5 + lVar13 * 0x18) = local_88; local_88 = &DAT_1821dbf98; *(undefined ***)(lVar5 + 8 + lVar13 * 0x18) = local_80; *(undefined8 **)(lVar5 + 0x10 + lVar13 * 0x18) = local_78; local_80 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_78); puVar12 = (uint *)(local_88 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } (**(code **)(*local_58 + 0xb0))(local_58,&local_50); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar15 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar15) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar12 = (uint *)(local_e8 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } /* WARNING: Subroutine does not return */ free(local_e0); } ############ FUN_ 1812463d0 size=121 ############ undefined8 * FUN_1812463d0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; *param_1 = &PTR_vftable_18262b4c8; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::var::VariantType_Array::RefCountedArray::vftable; FUN_18049b170(puVar1 + 2,param_2,param_3,param_4,uVar2); LOCK(); *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; UNLOCK(); param_1[1] = puVar1; return param_1; } ############ FUN_ 1812482e0 size=182 ############ undefined8 FUN_1812482e0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; undefined1 *local_50; undefined8 local_48; undefined2 local_40; undefined1 *local_38; undefined1 *local_30; undefined8 local_28; undefined8 local_20; undefined2 local_18; undefined8 *local_10; uVar2 = 0xfffffffffffffffe; local_50 = &DAT_1821dbf98; local_48 = 0; local_40 = 0; local_38 = &DAT_1821dbf98; local_30 = &DAT_1821dbf98; local_28 = 0; local_20 = 0; local_18 = 0x100; local_10 = (undefined8 *)FUN_1811316e0(0x18); *local_10 = juce::FileInputSource::vftable; lVar1 = *param_2; local_10[1] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } *(undefined1 *)(local_10 + 2) = 0; FUN_181248430(&local_50,param_1,lVar1,param_4,uVar2); FUN_181248660(&local_50); return param_1; } ############ FUN_ 18124ab70 size=105 ############ longlong * FUN_18124ab70(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; longlong lVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x108); lVar2 = FUN_1804a5ae0(uVar1,param_2,param_3,param_4,uVar3); *param_1 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_1; } ############ FUN_ 181252b50 size=107 ############ longlong * FUN_181252b50(longlong *param_1,undefined8 param_2) { undefined8 uVar1; longlong lVar2; uVar1 = FUN_1811316e0(0x40); lVar2 = FUN_1804a2d70(uVar1,param_2); *param_1 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_1; } ############ FUN_ 181253060 size=635 ############ undefined8 FUN_181253060(longlong *param_1,uint param_2,undefined8 param_3,undefined4 param_4) { longlong *plVar1; int iVar2; short sVar3; longlong lVar4; char cVar5; undefined8 *puVar6; int *piVar7; undefined8 uVar8; longlong *plVar9; uint *puVar10; undefined8 *puVar11; uint *puVar12; undefined8 *local_98; undefined8 local_90; longlong *local_88; float local_80; float local_7c; float local_78; float local_74; int local_68; int iStack_64; int iStack_60; int iStack_5c; undefined1 local_58 [16]; int local_48; int iStack_44; int iStack_40; int iStack_3c; undefined1 local_38 [32]; local_90 = 0xfffffffffffffffe; puVar12 = (uint *)0x0; if ((param_2 < 0x80) && (0 < *(short *)((longlong)param_1 + (ulonglong)param_2 * 2 + 0x70))) { sVar3 = *(short *)((longlong)param_1 + (longlong)(int)param_2 * 2 + 0x70); puVar10 = puVar12; if ((uint)(int)sVar3 < *(uint *)((longlong)param_1 + 0x6c)) { puVar10 = *(uint **)(param_1[0xc] + (longlong)sVar3 * 8); } } else { puVar11 = (undefined8 *)param_1[0xc]; puVar6 = puVar11 + *(int *)((longlong)param_1 + 0x6c); for (; puVar11 != puVar6; puVar11 = puVar11 + 1) { puVar10 = (uint *)*puVar11; if (*(uint *)*puVar11 == param_2) goto LAB_1812530fa; } puVar10 = puVar12; if (((undefined **)*param_1 != juce::CustomTypeface::vftable) && (cVar5 = (*(code *)((undefined **)*param_1)[10])(param_1,param_2), cVar5 != '\0')) { puVar10 = (uint *)FUN_181253c30(param_1,param_2,0); } } LAB_1812530fa: if (puVar10 == (uint *)0x0) { FUN_181252a20(&local_98,&PTR_DAT_18262b590,&PTR_DAT_18262b588,DAT_1824c43e8); plVar9 = (longlong *)FUN_181252280(&local_98); if (plVar9 != (longlong *)0x0) { LOCK(); *(int *)(plVar9 + 1) = (int)plVar9[1] + 1; UNLOCK(); } local_88 = plVar9; if (local_98 != (undefined8 *)0x0) { LOCK(); piVar7 = (int *)(local_98 + 1); iVar2 = *piVar7; *piVar7 = *piVar7 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_98)(local_98,1); } } if ((plVar9 != (longlong *)0x0) && (plVar9 != param_1)) { uVar8 = (**(code **)(*plVar9 + 0x40))(plVar9,param_2,param_3,param_4); LOCK(); plVar1 = plVar9 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 != 1) { return uVar8; } (**(code **)*plVar9)(plVar9,1); return uVar8; } if (plVar9 != (longlong *)0x0) { LOCK(); plVar1 = plVar9 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)*plVar9)(plVar9,1); } } } else { cVar5 = FUN_18129dff0(puVar10 + 2); if (cVar5 == '\0') { puVar6 = (undefined8 *)FUN_1811316e0(0x28); local_80 = (float)puVar10[6]; local_7c = (float)puVar10[8]; local_78 = (float)puVar10[7] - local_80; local_74 = (float)puVar10[9] - local_7c; local_98 = puVar6; FUN_1804ab160(&local_80,local_58,param_3); piVar7 = (int *)FUN_1804ab070(local_58,local_38); local_68 = *piVar7 + -1; iStack_64 = piVar7[1]; iStack_60 = 0; if (0 < piVar7[2] + 2) { iStack_60 = piVar7[2] + 2; } iStack_5c = 0; if (0 < piVar7[3]) { iStack_5c = piVar7[3]; } local_48 = local_68; iStack_44 = iStack_64; iStack_40 = iStack_60; iStack_3c = iStack_5c; uVar8 = FUN_18129fdb0(puVar6,&local_48,puVar10 + 2,param_3); return uVar8; } } return 0; } ############ FUN_ 181254930 size=174 ############ void FUN_181254930(longlong param_1,float param_2,undefined8 param_3,undefined8 param_4) { void *_Memory; undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (param_2 < DAT_1824c4444) { EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x28)); if (*(longlong *)(param_1 + 0x20) == 0) { uVar1 = FUN_1811316e0(0x24); uVar1 = FUN_1804a1870(uVar1,param_1); _Memory = *(void **)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = uVar1; if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1804a1a40(*(undefined8 *)(param_1 + 0x20),param_2,param_3,param_4,uVar2); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x28)); } return; } ############ FUN_ 1812549f0 size=500 ############ void FUN_1812549f0(longlong *param_1,undefined8 param_2,undefined8 param_3,float param_4) { float fVar1; void *_Memory; char cVar2; longlong lVar3; undefined8 uVar4; int *piVar5; float *pfVar6; undefined8 in_R9; undefined8 local_88; float fStack_80; float fStack_7c; int local_78; int iStack_74; int iStack_70; int iStack_6c; undefined1 local_68 [16]; float *local_58; undefined8 local_50; undefined8 local_48; undefined8 uStack_40; undefined1 local_38; local_58 = (float *)0x0; local_50 = 0; local_48 = 0; uStack_40 = 0; local_38 = 1; cVar2 = (**(code **)(*param_1 + 0x38))(0,param_2,&local_58,in_R9,0xfffffffffffffffe); if (cVar2 != '\0') { for (pfVar6 = local_58; pfVar6 != local_58 + local_50._4_4_; pfVar6 = pfVar6 + 1) { fVar1 = *pfVar6; if (fVar1 == DAT_1824c4600) { pfVar6 = pfVar6 + 2; } else if (((fVar1 == DAT_1824c45fc) || (fVar1 == DAT_1824c4604)) || (fVar1 == DAT_1824c4608)) { if ((DAT_1824c42d0 < param_4) && (param_4 < DAT_1824c4444)) { EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 5)); if (param_1[4] == 0) { local_88 = FUN_1811316e0(0x24); lVar3 = FUN_1804a1870(local_88,param_1); _Memory = (void *)param_1[4]; param_1[4] = lVar3; if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1804a1a40(param_1[4],param_4,&local_58); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 5)); } uVar4 = FUN_1811316e0(0x28); fStack_7c = uStack_40._4_4_ - (float)uStack_40; fStack_80 = local_48._4_4_ - (float)local_48; local_88 = CONCAT44((float)uStack_40,(float)local_48); FUN_1804ab160(&local_88,&local_78,param_3); piVar5 = (int *)FUN_1804ab070(&local_78,local_68); fStack_80 = (float)0; if (0 < piVar5[2] + 2) { fStack_80 = (float)(piVar5[2] + 2); } fStack_7c = (float)0; if (0 < piVar5[3]) { fStack_7c = (float)piVar5[3]; } iStack_74 = piVar5[1]; local_78 = *piVar5 + -1; local_88 = CONCAT44(iStack_74,local_78); iStack_70 = (int)fStack_80; iStack_6c = (int)fStack_7c; FUN_18129fdb0(uVar4,&local_78,&local_58,param_3); break; } } } local_50 = local_50 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_58); } ############ FUN_ 18128e3d0 size=126 ############ void FUN_18128e3d0(undefined8 param_1,longlong *param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 uVar5; longlong *_Memory; uVar5 = FUN_1811316e0(0x10550); _Memory = (longlong *)FUN_1804a0710(uVar5,param_3); lVar3 = *_Memory; *param_2 = lVar3; if (lVar3 != 0) { LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); } puVar4 = (undefined8 *)*_Memory; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181291350 size=103 ############ longlong * FUN_181291350(undefined8 param_1,longlong *param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined1 param_6) { undefined8 uVar1; longlong lVar2; uVar1 = FUN_1811316e0(0x50); lVar2 = FUN_1804a00e0(uVar1,param_3,param_4,param_5,param_6); *param_2 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_2; } ############ FUN_ 181291420 size=98 ############ longlong * FUN_181291420(undefined8 param_1,longlong *param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined1 param_6) { undefined8 uVar1; longlong lVar2; uVar1 = FUN_1811316e0(0x50); lVar2 = FUN_1804a00e0(uVar1,param_3,param_4,param_5,param_6); *param_2 = lVar2; LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); return param_2; } ############ FUN_ 181291ab0 size=275 ############ undefined8 * FUN_181291ab0(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 *puVar2; undefined8 *puVar3; puVar2 = (undefined8 *)FUN_1811316e0(0x78); puVar3 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = juce::RenderingHelpers::ClipRegions ::RectangleListRegion::vftable; FUN_1804aaeb0(puVar3 + 2,param_4); *puVar2 = puVar3; *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; puVar2[1] = 0x3f800000; puVar2[2] = 0; puVar2[3] = 0x3f800000; puVar2[4] = param_3; *(undefined2 *)(puVar2 + 5) = 1; *(undefined4 *)(puVar2 + 6) = 0xff000000; puVar2[7] = 0; puVar2[8] = 0; puVar2[9] = 0x3f800000; puVar2[10] = 0; puVar2[0xb] = 0x3f800000; *(undefined4 *)(puVar2 + 0xc) = 1; *(undefined4 *)((longlong)puVar2 + 100) = 0x3f800000; lVar1 = *param_2; puVar2[0xd] = lVar1; if (lVar1 != 0) { LOCK(); *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; UNLOCK(); } FUN_181252d20(puVar2 + 0xe); param_1[1] = puVar2; param_1[2] = 0; param_1[3] = 0; *param_1 = juce::LowLevelGraphicsSoftwareRenderer::vftable; return param_1; } ############ FUN_ 181294000 size=198 ############ void FUN_181294000(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; int iVar2; longlong lVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; lVar1 = FUN_1811316e0(0x50); if (*(int *)(param_1 + 0x2c) < 1) { lVar3 = 0; } else { lVar3 = *(longlong *) (*(longlong *)(param_1 + 0x20) + (longlong)(*(int *)(param_1 + 0x2c) + -1) * 8); } FUN_1804aaeb0(lVar1,lVar3,param_3,param_4,uVar4); *(undefined4 *)(lVar1 + 0x10) = *(undefined4 *)(lVar3 + 0x10); *(undefined4 *)(lVar1 + 0x14) = *(undefined4 *)(lVar3 + 0x14); FUN_1812a0fd0(lVar1 + 0x18,lVar3 + 0x18); lVar3 = *(longlong *)(lVar3 + 0x48); *(longlong *)(lVar1 + 0x48) = lVar3; if (lVar3 != 0) { LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); } iVar2 = *(int *)(param_1 + 0x2c) + 1; if (*(int *)(param_1 + 0x28) < iVar2) { FUN_18047cb30(param_1 + 0x20,*(int *)(param_1 + 0x2c) + 9 + iVar2 / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x2c); *(int *)(param_1 + 0x2c) = iVar2 + 1; *(longlong *)(*(longlong *)(param_1 + 0x20) + (longlong)iVar2 * 8) = lVar1; return; } ############ FUN_ 1812a1090 size=133 ############ undefined4 * FUN_1812a1090(undefined4 *param_1,undefined8 *param_2) { undefined8 *puVar1; *param_1 = 0xff000000; puVar1 = (undefined8 *)FUN_1811316e0(0x28); *puVar1 = *param_2; puVar1[1] = param_2[1]; *(undefined1 *)(puVar1 + 2) = *(undefined1 *)(param_2 + 2); puVar1[3] = param_2[3]; param_2[3] = 0; *(undefined4 *)(puVar1 + 4) = *(undefined4 *)(param_2 + 4); *(undefined4 *)((longlong)puVar1 + 0x24) = *(undefined4 *)((longlong)param_2 + 0x24); param_2[4] = 0; *(undefined8 **)(param_1 + 2) = puVar1; *(undefined8 *)(param_1 + 4) = 0; *(undefined8 *)(param_1 + 6) = 0x3f800000; *(undefined8 *)(param_1 + 8) = 0; *(undefined8 *)(param_1 + 10) = 0x3f800000; return param_1; } ############ FUN_ 1812a33e0 size=316 ############ void FUN_1812a33e0(void) { ushort *puVar1; undefined **ppuVar2; ushort *_Memory; undefined *local_res8; undefined **local_res10; undefined8 local_res18; OleInitialize((LPVOID)0x0); if (DAT_182673ad8 == (undefined **)0x0) { local_res8 = &DAT_182673aa8; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673aa8); if ((DAT_182673ad8 == (undefined **)0x0) && (DAT_18267aa98 == '\0')) { DAT_18267aa98 = 1; ppuVar2 = (undefined **)FUN_1811316e0(0x48); *ppuVar2 = (undefined *)0x0; local_res10 = ppuVar2; InitializeCriticalSection((LPCRITICAL_SECTION)(ppuVar2 + 1)); ppuVar2[7] = (undefined *)0x0; ppuVar2[8] = (undefined *)0x0; local_res18 = FUN_1811316e0(0x10); _Memory = (ushort *)FUN_1804cf280(local_res18,&DAT_1821e11d8,FUN_1804d1550); if (ppuVar2 == &local_res8) { if (_Memory != (ushort *)0x0) { DestroyWindow(*(HWND *)(_Memory + 4)); UnregisterClassW((LPCWSTR)(ulonglong)*_Memory,(HINSTANCE)0x0); goto LAB_1812a34e0; } } else { puVar1 = (ushort *)*ppuVar2; *ppuVar2 = (undefined *)_Memory; if (puVar1 != (ushort *)0x0) { DestroyWindow(*(HWND *)(puVar1 + 4)); UnregisterClassW((LPCWSTR)(ulonglong)*puVar1,(HINSTANCE)0x0); _Memory = puVar1; LAB_1812a34e0: /* WARNING: Subroutine does not return */ free(_Memory); } } DAT_1826736b0 = *(undefined8 *)(*ppuVar2 + 8); DAT_18267aa98 = '\0'; DAT_182673ad8 = ppuVar2; } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673aa8); } return; } ############ FUN_ 1812a4a00 size=406 ############ void FUN_1812a4a00(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong *_Memory; longlong *plVar2; longlong *plVar3; undefined8 *puVar4; uint *puVar5; longlong *local_res8; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; while (((int)param_1[0x37] == 0 && (param_1[0x40] != 0))) { plVar2 = (longlong *)FUN_181238760(); local_res8 = plVar2; if (plVar2 != (longlong *)0x0) { plVar3 = (longlong *)(**(code **)(*param_1 + 0x10))(param_1); if (plVar3 != (longlong *)0x0) { local_res8 = (longlong *)0x0; _Memory = (longlong *)plVar3[7]; plVar3[7] = (longlong)plVar2; if (_Memory != (longlong *)0x0) { FUN_1812388c0(_Memory); DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)_Memory + 0x12)); puVar5 = (uint *)(*_Memory + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } /* WARNING: Subroutine does not return */ free(_Memory); } LOCK(); *(undefined1 *)(plVar3 + 0xc) = 1; UNLOCK(); if ((char)plVar3[9] == '\0') { *(undefined1 *)(plVar3 + 9) = 1; if (*(char *)((longlong)plVar3 + 0x49) == '\0') { (**(code **)(*plVar3 + 8))(plVar3); } else { puVar4 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar4 + 1) = 0; *puVar4 = juce::ConnectionStateMessage::vftable; FUN_1804d1aa0(puVar4 + 2,plVar3,param_3,param_4,uVar6); *(undefined1 *)(puVar4 + 3) = 1; FUN_1812a6720(puVar4); } } FUN_18122b350(plVar3[0xb]); } } if (local_res8 != (longlong *)0x0) { FUN_1812388c0(local_res8); DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)local_res8 + 0x12)); puVar5 = (uint *)(*local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } /* WARNING: Subroutine does not return */ free(local_res8); } } return; } ############ FUN_ 1812a4d60 size=388 ############ ulonglong FUN_1812a4d60(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; int iVar2; ulonglong uVar3; undefined8 *puVar4; int iVar5; int iVar6; uint local_res10; int local_res14; undefined8 *local_res18; undefined8 *local_res20; undefined8 uVar7; void *local_70; longlong local_68; uVar7 = 0xfffffffffffffffe; uVar3 = FUN_1812a4f80(param_1,&local_res10,8,param_4,0xfffffffffffffffe); if ((int)uVar3 == 8) { uVar1 = *(uint *)((longlong)param_1 + 0x4c); uVar3 = (ulonglong)uVar1; if (local_res10 == uVar1) { local_68 = (longlong)local_res14; if (local_res14 < 1) { return CONCAT71((uint7)(uint3)(uVar1 >> 8),1); } iVar6 = 0; local_70 = (void *)0x0; if (local_res14 != 0) { /* WARNING: Subroutine does not return */ free((void *)0x0); } local_68 = 0; iVar5 = 0; do { if (*(int *)(param_1[0xb] + 0x1b8) != 0) { /* WARNING: Subroutine does not return */ free(local_70); } iVar2 = iVar5; if (0x10000 < iVar5) { iVar2 = 0x10000; } iVar2 = FUN_1812a4f80(param_1,(longlong)iVar6 + (longlong)local_70,iVar2,param_4,uVar7); if (iVar2 < 1) break; iVar6 = iVar6 + iVar2; iVar5 = iVar5 - iVar2; } while (0 < iVar5); if (-1 < iVar6) { if (*(char *)((longlong)param_1 + 0x49) == '\0') { (**(code **)(*param_1 + 0x18))(param_1,&local_70); } else { puVar4 = (undefined8 *)FUN_1811316e0(0x30); *(undefined4 *)(puVar4 + 1) = 0; puVar4[2] = 0; *puVar4 = juce::DataDeliveryMessage::vftable; local_res18 = puVar4; FUN_1804d1aa0(puVar4 + 3,param_1); local_res20 = puVar4 + 4; *local_res20 = 0; puVar4[5] = local_68; if (local_68 != 0) { /* WARNING: Subroutine does not return */ free((void *)0x0); } FUN_1812a6720(puVar4); } } /* WARNING: Subroutine does not return */ free(local_70); } } else if ((int)uVar3 < 0) { if (param_1[7] != 0) { FUN_1812a54d0(param_1); } uVar3 = FUN_1812a5140(param_1); } return uVar3 & 0xffffffffffffff00; } ############ FUN_ 1812a5140 size=80 ############ void FUN_1812a5140(longlong *param_1) { undefined8 uVar1; if ((char)param_1[9] == '\0') { return; } *(undefined1 *)(param_1 + 9) = 0; if (*(char *)((longlong)param_1 + 0x49) != '\0') { uVar1 = FUN_1811316e0(0x20); uVar1 = FUN_1804d0b70(uVar1,param_1,0); FUN_1812a6720(uVar1); return; } /* WARNING: Could not recover jumptable at 0x0001812a5186. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x10))(); return; } ############ FUN_ 1812a50a0 size=145 ############ void FUN_1812a50a0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (*(char *)((longlong)param_1 + 0x49) != '\0') { puVar1 = (undefined8 *)FUN_1811316e0(0x30); *(undefined4 *)(puVar1 + 1) = 0; puVar1[2] = 0; *puVar1 = juce::DataDeliveryMessage::vftable; FUN_1804d1aa0(puVar1 + 3,param_1,param_3,param_4,uVar2); FUN_18123aa50(puVar1 + 4,param_2); FUN_1812a6720(puVar1); return; } /* WARNING: Could not recover jumptable at 0x0001812a512d. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x18))(); return; } ############ FUN_ 1812a51a0 size=80 ############ void FUN_1812a51a0(longlong *param_1) { undefined8 uVar1; if ((char)param_1[9] != '\0') { return; } *(undefined1 *)(param_1 + 9) = 1; if (*(char *)((longlong)param_1 + 0x49) != '\0') { uVar1 = FUN_1811316e0(0x20); uVar1 = FUN_1804d0b70(uVar1,param_1,1); FUN_1812a6720(uVar1); return; } /* WARNING: Could not recover jumptable at 0x0001812a51e6. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 8))(); return; } ############ FUN_ 1812a5200 size=123 ############ void FUN_1812a5200(longlong *param_1,longlong param_2) { longlong lVar1; undefined8 uVar2; lVar1 = param_1[7]; param_1[7] = param_2; if (lVar1 != 0) { FUN_1804d1d40(param_1,lVar1); } LOCK(); *(undefined1 *)(param_1 + 0xc) = 1; UNLOCK(); if ((char)param_1[9] == '\0') { *(undefined1 *)(param_1 + 9) = 1; if (*(char *)((longlong)param_1 + 0x49) != '\0') { uVar2 = FUN_1811316e0(0x20); uVar2 = FUN_1804d0b70(uVar2,param_1,1); FUN_1812a6720(uVar2); FUN_18122b350(param_1[0xb]); return; } (**(code **)(*param_1 + 8))(param_1); } FUN_18122b350(param_1[0xb]); return; } ############ FUN_ 1812a6380 size=340 ############ void FUN_1812a6380(longlong *param_1,ulonglong param_2) { uint uVar1; undefined8 *puVar2; longlong lVar3; longlong lVar4; uint uVar5; uint uVar6; undefined8 *puVar7; void *_Src; ulonglong *puVar8; uint uVar9; uint uVar10; bool bVar11; uVar9 = 0; if (*param_1 == 0) { puVar7 = (undefined8 *)FUN_1811316e0(0x50); *puVar7 = juce::ActionBroadcaster::vftable; puVar7[1] = 0; puVar7[2] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(puVar7 + 3)); puVar7[9] = 0; puVar2 = (undefined8 *)*param_1; *param_1 = (longlong)puVar7; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } lVar3 = *param_1; EnterCriticalSection((LPCRITICAL_SECTION)(lVar3 + 0x18)); if (param_2 != 0) { uVar1 = *(uint *)(lVar3 + 0x14); if (0 < (int)uVar1) { lVar4 = *(longlong *)(lVar3 + 8); uVar9 = 0; uVar10 = uVar1; do { if (param_2 == *(ulonglong *)(lVar4 + (longlong)(int)uVar9 * 8)) { *(ulonglong *)(lVar4 + (longlong)(int)uVar9 * 8) = param_2; goto LAB_1812a64b7; } uVar6 = (int)(uVar10 + uVar9) / 2; bVar11 = *(ulonglong *)(lVar4 + (longlong)(int)uVar6 * 8) <= param_2; if (uVar6 == uVar9) { if (bVar11) { uVar9 = uVar9 + 1; } break; } uVar5 = uVar6; if (!bVar11) { uVar5 = uVar9; uVar10 = uVar6; } uVar9 = uVar5; } while ((int)uVar9 < (int)uVar10); } if (*(int *)(lVar3 + 0x10) < (int)(uVar1 + 1)) { FUN_18047cb30(lVar3 + 8,uVar1 + 9 + (int)(uVar1 + 1) / 2 & 0xfffffff8); } uVar1 = *(uint *)(lVar3 + 0x14); if (uVar9 < uVar1) { _Src = (void *)(*(longlong *)(lVar3 + 8) + (longlong)(int)uVar9 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar1 - uVar9) << 3); puVar8 = (ulonglong *)(*(longlong *)(lVar3 + 8) + (longlong)(int)uVar9 * 8); } else { puVar8 = (ulonglong *)(*(longlong *)(lVar3 + 8) + (longlong)(int)uVar1 * 8); } *puVar8 = param_2; *(int *)(lVar3 + 0x14) = *(int *)(lVar3 + 0x14) + 1; } LAB_1812a64b7: /* WARNING: Could not recover jumptable at 0x0001812a64cd. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(lVar3 + 0x18)); return; } ############ FUN_ 1812a6600 size=63 ############ undefined4 FUN_1812a6600(longlong param_1) { undefined4 uVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x10); *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::MessageManager::QuitMessage::vftable; FUN_1812a6720(puVar2); LOCK(); uVar1 = *(undefined4 *)(param_1 + 8); *(undefined4 *)(param_1 + 8) = 1; UNLOCK(); return uVar1; } ############ FUN_ 1812a6f90 size=336 ############ void FUN_1812a6f90(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; undefined8 *puVar3; longlong *plVar4; uint *_Memory; uint *puVar5; longlong local_res10; undefined8 *local_res18; longlong local_res20; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; puVar3 = (undefined8 *)FUN_1811316e0(0x48); local_res18 = puVar3; uVar6 = (**(code **)(*param_1 + 8))(param_1,&local_res20,*param_1,param_4,uVar6); *puVar3 = juce::JUCEApplicationBase::MultipleInstanceHandler::vftable; FUN_18049c4e0(&local_res10,"juceAppLock_"); plVar4 = (longlong *)FUN_181232d30(&local_res10,uVar6); local_res18 = (undefined8 *)*plVar4; puVar5 = (uint *)((longlong)local_res18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar3[1] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(puVar3 + 2)); puVar3[8] = local_res18; if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar2 = (undefined8 *)param_1[2]; param_1[2] = (longlong)puVar3; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_1804cf720(param_1[2]); return; } ############ FUN_ 1812a70f0 size=68 ############ void FUN_1812a70f0(void) { longlong lVar1; undefined8 *puVar2; lVar1 = FUN_1812a7550(); puVar2 = (undefined8 *)FUN_1811316e0(0x10); *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::MessageManager::QuitMessage::vftable; FUN_1812a6720(puVar2); LOCK(); *(undefined4 *)(lVar1 + 8) = 1; UNLOCK(); return; } ############ FUN_ 1812aaf00 size=362 ############ void FUN_1812aaf00(longlong param_1,longlong *param_2) { int iVar1; int iVar2; uint *puVar3; longlong lVar4; undefined8 uVar5; longlong lVar6; undefined4 *puVar7; void *pvVar8; int iVar9; uint uVar10; longlong lVar11; (**(code **)(**(longlong **)(param_1 + 8) + 0x18))(); lVar11 = 0; iVar1 = *(int *)*param_2; iVar9 = *(int *)(param_1 + 0x24); do { if (iVar1 <= iVar9) { if (0 < iVar1) { do { lVar4 = *param_2; lVar6 = param_2[1]; LOCK(); *(undefined1 *)(lVar4 + 0x120) = 0; UNLOCK(); FUN_1812b1b60(*(undefined8 *)(*(longlong *)(param_1 + 0x18) + lVar11 * 8), *(longlong *)(*(longlong *)(lVar4 + 0x10) + lVar11 * 8) + (longlong)(int)lVar6 * 4,*(undefined4 *)((longlong)param_2 + 0xc)); lVar11 = lVar11 + 1; } while (lVar11 < iVar1); } return; } puVar7 = (undefined4 *)FUN_1811316e0(0x24); puVar3 = (uint *)**(undefined8 **)(param_1 + 0x18); *puVar7 = 0; LOCK(); *puVar7 = 0; UNLOCK(); *(undefined8 *)(puVar7 + 1) = 0; *(undefined8 *)(puVar7 + 3) = 0; *(undefined8 *)(puVar7 + 5) = 0; puVar7[7] = 0; *(char *)(puVar7 + 8) = (char)puVar3[8]; do { LOCK(); uVar10 = *puVar3; *puVar3 = *puVar3 | 1; UNLOCK(); } while ((uVar10 & 1) != 0); uVar5 = *(undefined8 *)(puVar3 + 3); *(undefined8 *)(puVar7 + 1) = *(undefined8 *)(puVar3 + 1); *(undefined8 *)(puVar7 + 3) = uVar5; puVar7[5] = puVar3[5]; LOCK(); *puVar3 = 0; UNLOCK(); iVar2 = *(int *)(param_1 + 0x24); iVar9 = iVar2 + 1; if ((int)*(uint *)(param_1 + 0x20) < iVar9) { if (iVar9 < 0) { iVar9 = iVar2 + 2; } uVar10 = iVar2 + 9 + (iVar9 >> 1) & 0xfffffff8; if (*(uint *)(param_1 + 0x20) != uVar10) { pvVar8 = *(void **)(param_1 + 0x18); if ((int)uVar10 < 1) { /* WARNING: Subroutine does not return */ free(pvVar8); } if (pvVar8 == (void *)0x0) { pvVar8 = malloc((longlong)(int)uVar10 * 8); *(void **)(param_1 + 0x18) = pvVar8; } else { pvVar8 = realloc(pvVar8,(longlong)(int)uVar10 * 8); *(void **)(param_1 + 0x18) = pvVar8; } } *(uint *)(param_1 + 0x20) = uVar10; } iVar9 = *(int *)(param_1 + 0x24); *(int *)(param_1 + 0x24) = iVar9 + 1; *(undefined4 **)(*(longlong *)(param_1 + 0x18) + (longlong)iVar9 * 8) = puVar7; iVar9 = *(int *)(param_1 + 0x24); } while( true ); } ############ FUN_ 1812b5330 size=559 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812b5330(longlong param_1) { char cVar1; longlong *plVar2; longlong lVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; longlong *plVar8; undefined1 auStack_e8 [48]; longlong local_b8 [3]; undefined8 *local_a0; undefined8 local_98; undefined8 local_90; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; longlong local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; LPCRITICAL_SECTION local_50; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_e8; local_50 = (LPCRITICAL_SECTION)(param_1 + 0x78); EnterCriticalSection(local_50); plVar2 = (longlong *)**(longlong **)(param_1 + 0x68); plVar8 = (longlong *)0x0; if (plVar2 != *(longlong **)(param_1 + 0x68)) { local_88 = 0; uStack_80 = 0; local_78 = 0; FUN_1813522a0(plVar2[5] + 8,&local_88); /* WARNING: Subroutine does not return */ free((void *)0x0); } lVar3 = *(longlong *)(param_1 + 0x28); plVar2 = plVar8; if (lVar3 != 0) { plVar8 = (longlong *)(*(longlong *)(lVar3 + 0x28) + (longlong)*(int *)(lVar3 + 0x34) * 8); plVar2 = *(longlong **)(lVar3 + 0x28); } if (plVar2 != plVar8) { local_b8[0] = *plVar2; if (local_b8[0] != 0) { LOCK(); *(int *)(local_b8[0] + 8) = *(int *)(local_b8[0] + 8) + 1; UNLOCK(); } local_68 = 0; local_60 = 0; if (local_b8[0] != 0) { LOCK(); *(int *)(local_b8[0] + 8) = *(int *)(local_b8[0] + 8) + 1; UNLOCK(); } local_b8[1] = 0; local_b8[2] = 0; local_70 = local_b8[0]; FUN_1812b56a0(param_1,local_b8); /* WARNING: Subroutine does not return */ free((void *)0x0); } puVar4 = (undefined8 *)**(undefined8 **)(param_1 + 0x68); while( true ) { if (puVar4 == *(undefined8 **)(param_1 + 0x68)) { FUN_1812b5090(param_1); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x78)); } lVar3 = puVar4[5]; if (*(longlong *)(lVar3 + 8) == 0) break; puVar6 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar6 + 0x19); puVar4 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar7 = (undefined8 *)puVar4[1]; puVar6 = puVar4; while ((puVar4 = puVar7, cVar1 == '\0' && (puVar6 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar7 = (undefined8 *)puVar4[1]; puVar6 = puVar4; } } } local_a0 = (undefined8 *)FUN_1811316e0(0x50); *(undefined4 *)(local_a0 + 1) = 0; *local_a0 = juce::ValueTree::SharedObject::vftable; lVar5 = *(longlong *)(param_1 + 0x48); local_a0[2] = lVar5; if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } local_a0[3] = 0; local_a0[4] = 0; local_a0[5] = 0; local_a0[6] = 0; local_a0[7] = 0; local_a0[8] = 0; local_a0[9] = 0; LOCK(); *(int *)(local_a0 + 1) = *(int *)(local_a0 + 1) + 1; UNLOCK(); local_98 = 0; local_90 = 0; FUN_1813522a0((longlong *)(lVar3 + 8),&local_a0); /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 1812b5b00 size=131 ############ void FUN_1812b5b00(longlong param_1,longlong param_2) { undefined8 *local_res8; undefined1 local_20 [24]; local_res8 = (undefined8 *)FUN_1811316e0(0x40); local_res8 = (undefined8 *)FUN_1804d9ce0(local_res8,param_2); FUN_1804e1300(param_1 + 0x60,param_2 + 0x60,&local_res8); FUN_1804e1340(param_1 + 0x60,local_20); if (local_res8 != (undefined8 *)0x0) { (**(code **)*local_res8)(local_res8,1); } return; } ############ FUN_ 1812b6b50 size=124 ############ void FUN_1812b6b50(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; longlong *plVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; plVar2 = (longlong *)FUN_1811316e0(); lVar1 = *param_2; *param_2 = 0; *plVar2 = lVar1; plVar2[1] = 0; plVar2[2] = param_1; *(longlong *)(*plVar2 + 0x28) = param_1; FUN_180485e60(param_1 + 0x18,plVar2,lVar1,param_4,uVar3); _Memory = (void *)*param_2; if (_Memory != (void *)0x0) { FUN_1812c2700(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 1812bc610 size=1118 ############ void FUN_1812bc610(longlong param_1) { int *piVar1; longlong *plVar2; undefined8 uVar3; undefined4 uVar4; undefined4 uVar5; void *pvVar6; code *pcVar7; char cVar8; undefined8 *_Dst; int *_Dst_00; undefined4 uVar9; longlong *plVar10; longlong lVar11; longlong lVar12; undefined1 local_138 [48]; void *local_108; undefined4 local_fc; undefined1 local_f8 [48]; undefined1 local_c8 [136]; _Dst = (undefined8 *)FUN_1811316e0(0x2a8); memset(_Dst,0,0x2a8); *_Dst = 0; _Dst[1] = 0; _Dst[2] = 0; _Dst[3] = _Dst + 5; _Dst[4] = 0; *(undefined1 *)(_Dst + 0x25) = 0; _Dst[0x26] = 0; _Dst[0x27] = 0; _Dst[0x28] = _Dst + 0x2a; _Dst[0x29] = 0; *(undefined1 *)(_Dst + 0x4a) = 0; _Dst[0x4b] = 0; _Dst[0x4c] = 0; _Dst[0x4d] = 0; _Dst[0x4e] = 0; _Dst[0x4f] = 0; _Dst[0x50] = 0; _Dst[0x51] = 0; _Dst[0x52] = 0; _Dst[0x53] = 0; _Dst[0x54] = 0; _Dst_00 = (int *)FUN_1811316e0(0x2a8); memset(_Dst_00,0,0x2a8); _Dst_00[0] = 0; _Dst_00[1] = 0; _Dst_00[2] = 0; _Dst_00[3] = 0; _Dst_00[4] = 0; _Dst_00[5] = 0; *(int **)(_Dst_00 + 6) = _Dst_00 + 10; _Dst_00[8] = 0; _Dst_00[9] = 0; *(undefined1 *)(_Dst_00 + 0x4a) = 0; piVar1 = _Dst_00 + 0x4c; piVar1[0] = 0; piVar1[1] = 0; _Dst_00[0x4e] = 0; _Dst_00[0x4f] = 0; *(int **)(_Dst_00 + 0x50) = _Dst_00 + 0x54; _Dst_00[0x52] = 0; _Dst_00[0x53] = 0; *(undefined1 *)(_Dst_00 + 0x94) = 0; _Dst_00[0x96] = 0; _Dst_00[0x97] = 0; _Dst_00[0x98] = 0; _Dst_00[0x99] = 0; _Dst_00[0x9a] = 0; _Dst_00[0x9b] = 0; _Dst_00[0x9c] = 0; _Dst_00[0x9d] = 0; plVar2 = (longlong *)(_Dst_00 + 0x9e); *plVar2 = 0; _Dst_00[0xa0] = 0; _Dst_00[0xa1] = 0; _Dst_00[0xa2] = 0; _Dst_00[0xa3] = 0; _Dst_00[0xa4] = 0; _Dst_00[0xa5] = 0; _Dst_00[0xa6] = 0; _Dst_00[0xa7] = 0; _Dst_00[0xa8] = 0; _Dst_00[0xa9] = 0; FUN_1804da7a0(local_c8,param_1,_Dst); FUN_1804da2a0(local_138,param_1,_Dst_00); EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x48)); uVar4 = *(undefined4 *)(param_1 + 0x38); FUN_1804daca0(_Dst,uVar4); FUN_180480760(_Dst_00 + 2,*_Dst_00 + 1,uVar4); FUN_1804806f0(_Dst_00 + 2); FUN_180480760(piVar1,*_Dst_00 + 1,uVar4); FUN_1804806f0(piVar1); _Dst_00[0x96] = 0; _Dst_00[0x97] = 0; _Dst_00[0x98] = 0; _Dst_00[0x99] = 0; _Dst_00[0x9d] = 0; FUN_1804de250(plVar2); FUN_1804dc720(plVar2,_Dst_00[1]); if (_Dst_00[0xa4] < 0x200) { FUN_18049bab0(_Dst_00 + 0xa2,0x308); } lVar11 = *plVar2; lVar12 = (longlong)_Dst_00[0xa1] * 0x10 + lVar11; for (; lVar11 != lVar12; lVar11 = lVar11 + 0x10) { if (*(int *)(lVar11 + 8) < 0x200) { FUN_18049bab0(lVar11,0x308); } } plVar10 = *(longlong **)(param_1 + 400); plVar2 = plVar10 + *(int *)(param_1 + 0x19c); while( true ) { if (plVar10 == plVar2) goto LAB_1812bca0c; if (*(char *)(*plVar10 + 0x50) == '\0') break; plVar10 = plVar10 + 1; } pvVar6 = *(void **)(param_1 + 0x1a8); *(undefined8 *)(param_1 + 0x1a8) = 0; if (pvVar6 != (void *)0x0) { FUN_1804dcc10(pvVar6); /* WARNING: Subroutine does not return */ free(pvVar6); } pvVar6 = *(void **)(param_1 + 0x1b0); *(undefined8 *)(param_1 + 0x1b0) = 0; if (pvVar6 != (void *)0x0) { FUN_1804dcc10(pvVar6); /* WARNING: Subroutine does not return */ free(pvVar6); } plVar10 = *(longlong **)(param_1 + 400); plVar2 = plVar10 + *(int *)(param_1 + 0x19c); for (; plVar10 != plVar2; plVar10 = plVar10 + 1) { lVar11 = *plVar10; uVar5 = *(undefined4 *)(param_1 + 0x44); uVar3 = *(undefined8 *)(param_1 + 0x30); EnterCriticalSection((LPCRITICAL_SECTION)(lVar11 + 0x52)); if (*(char *)(lVar11 + 0x50) == '\0') { FUN_1812bd420(lVar11,param_1); pcVar7 = *(code **)(**(longlong **)(lVar11 + 0x28) + 0x60); if (pcVar7 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { cVar8 = '\0'; } else { cVar8 = (*pcVar7)(); } uVar9 = 0; if (cVar8 != '\0') { uVar9 = uVar5; } *(undefined4 *)(*(longlong *)(lVar11 + 0x28) + 0x44) = uVar9; lVar12 = *(longlong *)(lVar11 + 0x28); *(undefined8 *)(lVar12 + 0x30) = uVar3; *(undefined4 *)(lVar12 + 0x38) = uVar4; (**(code **)(**(longlong **)(lVar11 + 0x28) + 0x18)) (*(longlong **)(lVar11 + 0x28),(int)uVar3,uVar4); *(undefined1 *)(lVar11 + 0x50) = 1; } LeaveCriticalSection((LPCRITICAL_SECTION)(lVar11 + 0x52)); } LAB_1812bca0c: LOCK(); *(undefined1 *)(param_1 + 0x1b8) = 1; UNLOCK(); *(undefined8 **)(param_1 + 0x1a8) = _Dst; *(int **)(param_1 + 0x1b0) = _Dst_00; LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x48)); FUN_1804daed0(local_f8); local_fc = 0; /* WARNING: Subroutine does not return */ free(local_108); } ############ FUN_ 1812bd6b0 size=87 ############ void FUN_1812bd6b0(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; } ############ FUN_ 1812c46f0 size=92 ############ longlong FUN_1812c46f0(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; longlong lVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(200); lVar2 = FUN_180519350(uVar1,param_1,param_2,param_4,uVar3); if (lVar2 != 0) { return lVar2 + 0xb0; } return 0; } ############ FUN_ 1812c4970 size=445 ############ undefined8 FUN_1812c4970(longlong param_1,char param_2,undefined8 param_3,longlong *param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined4 uVar4; undefined4 local_78; undefined4 uStack_74; undefined8 uStack_70; undefined8 local_68; undefined4 uStack_60; undefined4 uStack_5c; undefined8 local_58; undefined8 uStack_50; undefined8 local_48; undefined4 local_38; undefined4 uStack_34; undefined8 uStack_30; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; if (*(int *)(param_1 + 0xc) == 0) { plVar1 = (longlong *)param_4[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_4); param_4[7] = 0; } uVar3 = 0; } else { local_38 = CONCAT22(local_38._2_2_,0xf); uStack_30 = 0; local_28 = 1; uStack_24 = 0xffffffff; uStack_20 = 1; uVar4 = 1; local_78 = 1; local_68 = 0; uStack_70 = FUN_1812c4b40(); if ((DAT_182673b10 == (undefined8 *)0x0) && (DAT_18267ab71 == '\0')) { DAT_18267ab71 = 1; puVar2 = (undefined8 *)FUN_1811316e0(0x100); memset(puVar2,0,0x100); FUN_1812a7230(puVar2); *puVar2 = juce::DragAndDropHelpers::ThreadPoolHolder::vftable; FUN_18122abb0(puVar2 + 1,1); DAT_18267ab71 = '\0'; DAT_182673b10 = puVar2; } puVar2 = DAT_182673b10; uVar3 = FUN_1811316e0(0xe0); local_58 = CONCAT44(uStack_74,local_78); uStack_50 = uStack_70; local_48 = local_68; local_78 = local_38; uStack_74 = uStack_34; uStack_70 = uStack_30; local_68 = CONCAT44(uStack_24,local_28); uStack_60 = uStack_20; uStack_5c = uStack_1c; if (param_2 != '\0') { uVar4 = 3; } uVar3 = FUN_180516d60(uVar3,&local_78,&local_58,uVar4,param_4); FUN_18122a750(puVar2 + 1,uVar3,1); plVar1 = (longlong *)param_4[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_4); param_4[7] = 0; } uVar3 = 1; } return uVar3; } ############ FUN_ 1812c61b0 size=201 ############ float * FUN_1812c61b0(float *param_1) { int iVar1; undefined8 uVar2; tagPOINT *ptVar3; char cVar4; tagPOINT local_res8; undefined8 local_res10; undefined1 local_res18 [8]; GetCursorPos(&local_res8); FUN_1812c75b0(); if ((DAT_182678f18 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar4 = FUN_1812c7510(); } else { uVar2 = (*DAT_182678f18)(); iVar1 = (*DAT_182678ec8)(uVar2); cVar4 = iVar1 == 2; } if (cVar4 != '\0') { if (DAT_182673700 == 0) { local_res10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } ptVar3 = (tagPOINT *) FUN_18051ece0(*(undefined8 *)(DAT_182673700 + 0x78),local_res18,local_res8,0); local_res8 = *ptVar3; } *param_1 = (float)local_res8.x; param_1[1] = (float)local_res8.y; return param_1; } ############ FUN_ 1812c6360 size=106 ############ void FUN_1812c6360(undefined4 param_1,undefined8 param_2,undefined8 param_3) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(); FUN_1805166a0(uVar1,param_1,param_2,param_3,0,0,0,1,uVar2); return; } ############ FUN_ 1812c6650 size=78 ############ void FUN_1812c6650(undefined8 param_1,undefined8 param_2) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x158); FUN_18050dd00(uVar1,param_1,4,param_2,1); return; } ############ FUN_ 1812c7bf0 size=1057 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812c7bf0(longlong param_1,longlong param_2) { int *piVar1; undefined8 *puVar2; longlong *plVar3; float fVar4; float fVar5; float *pfVar6; undefined4 *puVar7; undefined8 uVar8; int iVar9; float fVar10; float fVar11; float fVar12; float fVar13; float fVar14; float fVar15; float local_150; float fStack_14c; float fStack_148; float fStack_144; undefined1 local_140; void *local_138; undefined8 local_130; float local_128; float fStack_124; float fStack_120; float fStack_11c; float *local_118; undefined4 local_110 [2]; float *local_108; undefined8 *local_100; undefined4 local_f8; undefined4 uStack_f4; undefined4 uStack_f0; undefined4 uStack_ec; undefined8 local_e8; undefined8 local_e0; ulonglong uStack_d8; undefined8 local_d0; undefined4 local_c8; undefined4 uStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; undefined1 local_b8 [16]; undefined1 local_a8 [16]; undefined1 local_98 [112]; fVar5 = DAT_1824c4140._4_4_; fVar4 = (float)DAT_1824c4140; local_d0 = 0xfffffffffffffffe; fVar14 = (float)*(int *)(param_1 + 0x2c); fVar15 = (float)*(int *)(param_1 + 0x28); fStack_148 = fVar15 * DAT_1824c3e58; fStack_144 = fVar14 * DAT_1824c3e58; fVar13 = 0.0 - fVar14; fVar12 = fVar15 - 0.0; fVar10 = fVar12 * fVar12 + fVar13 * fVar13; if (0.0 < fVar10) { fVar10 = ((fStack_144 - fVar14) * fVar13 + (fStack_148 - 0.0) * fVar12) / fVar10; if (0.0 <= fVar10) { fVar11 = DAT_1824c3ea4; if (fVar10 <= DAT_1824c3ea4) { fVar11 = fVar10; } } else { fVar11 = 0.0; } } else { fVar11 = 0.0; } fStack_14c = fVar11 * fVar13 + fVar14; local_150 = fVar12 * fVar11 + 0.0; local_140 = 0; local_138 = (void *)0x0; local_130 = 0; fStack_120 = -1.7014118e+38; uStack_d8 = uStack_d8 & 0xffffffff00000000; FUN_18049ba20(&local_138,8); iVar9 = local_130._4_4_ + 1; local_e0 = 0; puVar2 = (undefined8 *)((longlong)local_138 + (longlong)local_130._4_4_ * 0x10); *puVar2 = 0; puVar2[1] = uStack_d8; local_130 = CONCAT44(local_130._4_4_ + 2,(undefined4)local_130); local_128 = fVar4; fStack_124 = fVar5; pfVar6 = (float *)((longlong)local_138 + (longlong)iVar9 * 0x10); *pfVar6 = fVar4; pfVar6[1] = fVar5; pfVar6[2] = fStack_120; pfVar6[3] = fStack_11c; FUN_1812a1940(&local_150,DAT_1824c3fc0,0x10000000); FUN_1812a1940(&local_150,DAT_1824c4050,0x30000000); FUN_1812a1940(&local_150,DAT_1824c40d8,0x70000000); local_110[0] = 0xff000000; pfVar6 = (float *)FUN_1811316e0(0x28); *pfVar6 = local_150; pfVar6[1] = fStack_14c; pfVar6[2] = fStack_148; pfVar6[3] = fStack_144; *(undefined1 *)(pfVar6 + 4) = local_140; local_118 = pfVar6; FUN_1804aaeb0(pfVar6 + 6,&local_138); local_100 = (undefined8 *)0x0; local_f8 = _DAT_1824c4780; uStack_f4 = _UNK_1824c4784; uStack_f0 = _UNK_1824c4788; uStack_ec = _UNK_1824c478c; local_e8 = 0x3f800000; local_108 = pfVar6; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x88))(*(longlong **)(param_2 + 8),local_110); if (local_100 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_100 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_100)(local_100,1); } } if (local_108 == (float *)0x0) { puVar7 = (undefined4 *) (**(code **)(**(longlong **)(param_2 + 8) + 0x58)) (*(longlong **)(param_2 + 8),local_b8); local_c8 = *puVar7; uStack_c4 = puVar7[1]; uStack_c0 = puVar7[2]; uStack_bc = puVar7[3]; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_c8,0); fVar15 = fVar15 - DAT_1824c4408; if (fVar15 <= 0.0) { fVar15 = 0.0; } fVar14 = fVar14 - DAT_1824c4408; if (fVar14 <= 0.0) { fVar14 = 0.0; } fStack_120 = fVar15; if (DAT_1824c44f0 <= fVar15) { fStack_120 = DAT_1824c44f0; } local_128 = (fVar15 + DAT_1824c4388) - fStack_120; fStack_11c = fVar14; if (DAT_1824c44c0 <= fVar14) { fStack_11c = DAT_1824c44c0; } fStack_124 = (fVar14 + DAT_1824c4388) - fStack_11c; plVar3 = *(longlong **)(param_1 + 0xd0); local_118 = (float *)CONCAT44(local_118._4_4_,0x24); uVar8 = (**(code **)(*plVar3 + 0x168))(plVar3,local_a8); uVar8 = FUN_1812971a0(&local_118,local_98,uVar8,&local_128); FUN_181332c20(plVar3,param_2,DAT_1824c3ea4,uVar8); if (DAT_182678ef0 == 0) { DAT_182678ef0 = timeGetTime(); if (DAT_182678ef0 < DAT_1826737fc) { if (DAT_182678ef0 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DAT_182678ef0; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DAT_182678ef0; } } if (*(int *)(param_1 + 0xc0) < 1) { FUN_1812a77d0(param_1 + 0xb0,2000); } /* WARNING: Could not recover jumptable at 0x0001812c8017. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_138); return; } local_108[9] = 0.0; /* WARNING: Subroutine does not return */ free(*(void **)(local_108 + 6)); } ############ FUN_ 1812c95f0 size=68 ############ void FUN_1812c95f0(void) { longlong lVar1; undefined8 *puVar2; lVar1 = FUN_1812a7550(); puVar2 = (undefined8 *)FUN_1811316e0(0x10); *(undefined4 *)(puVar2 + 1) = 0; *puVar2 = juce::MessageManager::QuitMessage::vftable; FUN_1812a6720(puVar2); LOCK(); *(undefined4 *)(lVar1 + 8) = 1; UNLOCK(); return; } ############ FUN_ 1812c9770 size=925 ############ undefined1 FUN_1812c9770(longlong param_1,undefined8 param_2,undefined8 param_3) { ulonglong uVar1; int iVar2; uint uVar3; undefined4 *puVar4; wint_t *pwVar5; char cVar6; wint_t wVar7; wint_t wVar8; DWORD DVar9; int iVar10; int iVar11; ulonglong *puVar12; longlong lVar13; longlong lVar14; undefined8 *_Dst; void *_Memory; uint uVar15; undefined1 uVar16; longlong lVar17; int iVar18; undefined1 local_res20; char local_a8; longlong local_98; int local_78; uint uStack_74; undefined4 local_68; undefined4 local_64; undefined4 local_60; undefined8 local_58; ulonglong local_50; int local_48; char local_44; int local_40; uVar16 = 0; local_res20 = 0; DVar9 = timeGetTime(); if ((DAT_1826737fc <= DVar9) || (DVar9 < DAT_1826737fc - 1000)) { LOCK(); UNLOCK(); DAT_1826737fc = DVar9; } iVar10 = *(int *)(param_1 + 0x5c) + -1; lVar13 = (longlong)iVar10; if (-1 < iVar10) { do { puVar4 = *(undefined4 **)(*(longlong *)(param_1 + 0x50) + lVar13 * 8); if ((*(char *)(puVar4 + 6) != '\0') && (local_98 = (longlong)(puVar4[5] + -1), -1 < puVar4[5] + -1)) { lVar14 = local_98 * 0xc; do { uVar1 = *(ulonglong *)(lVar14 + *(longlong *)(puVar4 + 2)); iVar10 = *(int *)(lVar14 + 8 + *(longlong *)(puVar4 + 2)); local_78 = (int)uVar1; iVar18 = local_78; cVar6 = FUN_1812c64f0(uVar1 & 0xffffffff); uStack_74 = (uint)(uVar1 >> 0x20); if ((cVar6 == '\0') || (local_a8 = '\x01', ((uStack_74 ^ DAT_182673aec) & 7) != 0)) { local_a8 = '\0'; } uVar15 = *(int *)(param_1 + 0x6c) - 1; lVar17 = (longlong)(int)uVar15; if (-1 < (int)uVar15) { do { pwVar5 = *(wint_t **)(*(longlong *)(param_1 + 0x60) + lVar17 * 8); if ((uStack_74 == *(uint *)(pwVar5 + 2)) && (((iVar10 == *(int *)(pwVar5 + 4) || (iVar10 == 0)) || (*(int *)(pwVar5 + 4) == 0)) )) { if (iVar18 == *(int *)pwVar5) { LAB_1812c998f: cVar6 = '\x01'; local_res20 = 1; goto LAB_1812c9918; } if ((iVar18 < 0x100) && (*(int *)pwVar5 < 0x100)) { local_78._0_2_ = (wint_t)uVar1; wVar7 = towlower((wint_t)local_78); wVar8 = towlower(*pwVar5); if (wVar7 == wVar8) goto LAB_1812c998f; } } uVar15 = uVar15 - 1; lVar17 = lVar17 + -1; } while (-1 < lVar17); } cVar6 = '\0'; uVar15 = 0; LAB_1812c9918: if (local_a8 != cVar6) { iVar18 = 0; _Memory = (void *)0x0; if (local_a8 == '\0') { uVar3 = *(uint *)(*(longlong *) ((longlong)(int)uVar15 * 8 + *(longlong *)(param_1 + 0x60)) + 0xc); iVar18 = 0; if (uVar3 < DVar9) { iVar18 = DVar9 - uVar3; } if (uVar15 < *(uint *)(param_1 + 0x6c)) { _Dst = (undefined8 *)(*(longlong *)(param_1 + 0x60) + (longlong)(int)uVar15 * 8); _Memory = (void *)*_Dst; memmove(_Dst,_Dst + 1, (longlong)(int)((*(uint *)(param_1 + 0x6c) - uVar15) + -1) << 3); *(int *)(param_1 + 0x6c) = *(int *)(param_1 + 0x6c) + -1; } if ((*(int *)(param_1 + 0x6c) * 2 < *(int *)(param_1 + 0x68)) && (*(int *)(param_1 + 0x6c) < *(int *)(param_1 + 0x68))) { FUN_18047cb30(param_1 + 0x60); } if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } } else { puVar12 = (ulonglong *)FUN_1811316e0(0x10); *puVar12 = uVar1; *(int *)(puVar12 + 1) = iVar10; *(DWORD *)((longlong)puVar12 + 0xc) = DVar9; iVar2 = *(int *)(param_1 + 0x6c); iVar11 = iVar2 + 1; if (*(int *)(param_1 + 0x68) < iVar11) { if (iVar11 < 0) { iVar11 = iVar2 + 2; } FUN_18047cb30(param_1 + 0x60,iVar2 + 9 + (iVar11 >> 1) & 0xfffffff8); } iVar11 = *(int *)(param_1 + 0x6c); *(int *)(param_1 + 0x6c) = iVar11 + 1; *(ulonglong **)(*(longlong *)(param_1 + 0x60) + (longlong)iVar11 * 8) = puVar12; } local_64 = 0; local_68 = *puVar4; local_60 = 1; local_44 = local_a8; local_58 = param_3; local_50 = uVar1; local_48 = iVar10; local_40 = iVar18; FUN_1812cb380(*(undefined8 *)(param_1 + 0x48),&local_68,0); local_res20 = 1; } local_98 = local_98 + -1; lVar14 = lVar14 + -0xc; uVar16 = local_res20; } while (-1 < local_98); } lVar13 = lVar13 + -1; } while (-1 < lVar13); } return uVar16; } ############ FUN_ 1812ca290 size=542 ############ int * FUN_1812ca290(longlong param_1,int param_2,int *param_3,uint param_4) { uint *puVar1; uint uVar2; longlong lVar3; int *piVar4; longlong lVar5; int iVar6; void *_Src; undefined8 *puVar7; piVar4 = (int *)FUN_1812c9de0(param_1,param_3); if (((int)piVar4 != param_2) && (piVar4 = (int *)(ulonglong)(*param_3 != 0), *param_3 != 0)) { iVar6 = *(int *)(param_1 + 0x5c) + -1; lVar5 = (longlong)iVar6; if (-1 < iVar6) { do { piVar4 = *(int **)(*(longlong *)(param_1 + 0x50) + lVar5 * 8); if (*piVar4 == param_2) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x50) + (longlong)iVar6 * 8); iVar6 = *(int *)(lVar5 + 0x14) + 1; if (*(int *)(lVar5 + 0x10) < iVar6) { FUN_18051ce20(lVar5 + 8,iVar6 / 2 + 8 + iVar6 & 0xfffffff8); } uVar2 = *(uint *)(lVar5 + 0x14); if (param_4 < uVar2) { _Src = (void *)(*(longlong *)(lVar5 + 8) + (longlong)(int)param_4 * 0xc); memmove((void *)((longlong)_Src + 0xc),_Src,(longlong)(int)(uVar2 - param_4) * 0xc); puVar7 = (undefined8 *)(*(longlong *)(lVar5 + 8) + (longlong)(int)param_4 * 0xc); } else { puVar7 = (undefined8 *)(*(longlong *)(lVar5 + 8) + (longlong)(int)uVar2 * 0xc); } *puVar7 = *(undefined8 *)param_3; *(int *)(puVar7 + 1) = param_3[2]; *(int *)(lVar5 + 0x14) = *(int *)(lVar5 + 0x14) + 1; if (*(char *)(param_1 + 0x38) == '\0') { return (int *)0x0; } piVar4 = (int *)0x0; puVar1 = (uint *)(*(longlong *)(param_1 + 0x18) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { piVar4 = (int *)(ulonglong)uVar2; } UNLOCK(); if (uVar2 != 0) { return piVar4; } piVar4 = (int *)FUN_1812a6720(*(undefined8 *)(param_1 + 0x18)); if ((char)piVar4 != '\0') { return piVar4; } goto LAB_1812ca494; } iVar6 = iVar6 + -1; lVar5 = lVar5 + -1; } while (-1 < lVar5); } iVar6 = *(int *)(*(longlong *)(param_1 + 0x48) + 0x24) + -1; lVar5 = (longlong)iVar6; if (-1 < iVar6) { lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x48) + 0x18); do { piVar4 = *(int **)(lVar3 + lVar5 * 8); if (*piVar4 == param_2) { lVar5 = *(longlong *)(lVar3 + (longlong)iVar6 * 8); if (lVar5 == 0) { return piVar4; } piVar4 = (int *)FUN_1811316e0(0x20); piVar4[2] = 0; piVar4[3] = 0; piVar4[4] = 0; piVar4[5] = 0; *piVar4 = param_2; FUN_18051b4d0(piVar4 + 2,param_3); *(byte *)(piVar4 + 6) = (byte)(*(uint *)(lVar5 + 0x30) >> 2) & 1; iVar6 = *(int *)(param_1 + 0x5c) + 1; if (*(int *)(param_1 + 0x58) < iVar6) { FUN_18047cb30(param_1 + 0x50,*(int *)(param_1 + 0x5c) + 9 + iVar6 / 2 & 0xfffffff8); } iVar6 = *(int *)(param_1 + 0x5c); *(int *)(param_1 + 0x5c) = iVar6 + 1; *(int **)(*(longlong *)(param_1 + 0x50) + (longlong)iVar6 * 8) = piVar4; if (*(char *)(param_1 + 0x38) == '\0') { return (int *)0x0; } piVar4 = (int *)0x0; puVar1 = (uint *)(*(longlong *)(param_1 + 0x18) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { piVar4 = (int *)(ulonglong)uVar2; } UNLOCK(); if (uVar2 != 0) { return piVar4; } piVar4 = (int *)FUN_1812a6720(*(undefined8 *)(param_1 + 0x18)); if ((char)piVar4 != '\0') { return piVar4; } LAB_1812ca494: piVar4 = *(int **)(param_1 + 0x18); LOCK(); piVar4[6] = 0; UNLOCK(); return piVar4; } iVar6 = iVar6 + -1; lVar5 = lVar5 + -1; } while (-1 < lVar5); } } return piVar4; } ############ FUN_ 1812ca530 size=262 ############ void FUN_1812ca530(undefined8 *param_1) { longlong *plVar1; void *_Dst; int iVar2; longlong lVar3; longlong lVar4; undefined8 uVar5; longlong lVar6; int iVar7; *param_1 = juce::KeyPressMappingSet::vftable; param_1[1] = juce::KeyPressMappingSet::vftable; param_1[8] = juce::KeyPressMappingSet::vftable; if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } lVar4 = DAT_182673700; plVar1 = (longlong *)(DAT_182673700 + 0x48); lVar3 = *plVar1; iVar7 = 0; lVar6 = 0; iVar2 = *(int *)(DAT_182673700 + 0x54); if (0 < iVar2) { do { if (param_1 + 8 == *(undefined8 **)(lVar3 + lVar6 * 8)) { _Dst = (void *)(lVar3 + (longlong)iVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar4 + 0x54) = *(int *)(lVar4 + 0x54) + -1; iVar2 = *(int *)(lVar4 + 0x54); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (iVar7 < *(int *)(lVar4 + 0x50)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar4 + 0x50)) { FUN_18047cb30(plVar1); } } break; } iVar7 = iVar7 + 1; lVar6 = lVar6 + 1; } while (lVar6 < iVar2); } FUN_18051b430(param_1 + 0xc); FUN_18051ccc0(param_1 + 10); *(undefined4 *)((longlong)param_1 + 0x5c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[10]); } ############ FUN_ 1812caf10 size=553 ############ longlong FUN_1812caf10(void) { DWORD DVar1; longlong lVar2; longlong lVar3; longlong lVar4; HWND hWnd; longlong lVar5; uint uVar6; bool bVar7; DWORD local_res8 [2]; undefined8 local_res10; lVar3 = DAT_182673708; if (DAT_182673708 == 0) { lVar2 = FUN_1812cbb60(); if (lVar2 != 0) { if ((*(byte *)(lVar2 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar2 + 0x18) == 0) goto LAB_1812cafc3; lVar3 = FUN_18134c2e0(); } else { lVar3 = FUN_1812d2bd0(lVar2); } if (lVar3 != 0) { lVar3 = FUN_1812d1920(lVar3); if (lVar3 == 0) { lVar3 = lVar2; } goto LAB_1812caf7e; } } LAB_1812cafc3: hWnd = GetForegroundWindow(); if (hWnd != (HWND)0x0) { local_res8[0] = 0; GetWindowThreadProcessId(hWnd,local_res8); DVar1 = GetCurrentProcessId(); if (local_res8[0] != DVar1) goto LAB_1812cb0f9; } if (DAT_182673700 == 0) { local_res10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } lVar3 = DAT_182673700; uVar6 = *(int *)(DAT_182673700 + 100) - 1; lVar2 = (longlong)(int)uVar6; bVar7 = (int)uVar6 < 0; while (!bVar7) { lVar4 = 0; if (uVar6 < *(uint *)(lVar3 + 100)) { lVar4 = *(longlong *)(*(longlong *)(lVar3 + 0x58) + lVar2 * 8); } if ((*(byte *)(lVar4 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar4 + 0x18) != 0) { lVar4 = FUN_18134c2e0(); goto LAB_1812cb06a; } } else { lVar4 = FUN_1812d2bd0(); LAB_1812cb06a: if (lVar4 != 0) { lVar4 = FUN_1812d1920(lVar4); lVar5 = __RTDynamicCast(lVar4,0,&juce::Component::RTTI_Type_Descriptor, &juce::ApplicationCommandTarget::RTTI_Type_Descriptor,0); if (lVar5 != 0) { return lVar5; } if ((lVar4 != 0) && (lVar4 = FUN_18051fa40(lVar4), lVar4 != 0)) { return lVar4; } } } uVar6 = uVar6 - 1; lVar2 = lVar2 + -1; bVar7 = lVar2 < 0; } } else { LAB_1812caf7e: lVar2 = 0; lVar4 = __RTDynamicCast(lVar3,0,&juce::Component::RTTI_Type_Descriptor, &juce::ResizableWindow::RTTI_Type_Descriptor,0); if (lVar4 != 0) { if (*(longlong *)(lVar4 + 0xd0) != 0) { lVar2 = *(longlong *)(*(longlong *)(lVar4 + 0xd0) + 0x10); } if (lVar2 != 0) { lVar3 = lVar2; } } lVar2 = __RTDynamicCast(lVar3,0,&juce::Component::RTTI_Type_Descriptor, &juce::ApplicationCommandTarget::RTTI_Type_Descriptor,0); if (lVar2 != 0) { return lVar2; } if ((lVar3 != 0) && (lVar3 = FUN_18051fa40(lVar3), lVar3 != 0)) { return lVar3; } } LAB_1812cb0f9: lVar3 = 0; lVar2 = __RTDynamicCast(DAT_1826736f8,0,&juce::JUCEApplicationBase::RTTI_Type_Descriptor, &juce::JUCEApplication::RTTI_Type_Descriptor,0); if (lVar2 != 0) { lVar3 = lVar2 + 0x18; } return lVar3; } ############ FUN_ 1812cbd10 size=169 ############ undefined8 FUN_1812cbd10(uint param_1) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0; if (DAT_182673b08 == (undefined8 *)0x0) { puVar1 = (undefined8 *)FUN_1811316e0(0x38); *puVar1 = juce::Timer::vftable; puVar1[1] = 0xffffffffffffffff; *(undefined4 *)(puVar1 + 2) = 0; FUN_1812a7230(puVar1 + 3); *puVar1 = juce::TopLevelWindowManager::vftable; puVar1[3] = juce::TopLevelWindowManager::vftable; puVar1[4] = 0; puVar1[5] = 0; puVar1[6] = 0; DAT_182673b08 = puVar1; } if (param_1 < *(uint *)((longlong)DAT_182673b08 + 0x2c)) { uVar2 = *(undefined8 *)(DAT_182673b08[4] + (longlong)(int)param_1 * 8); } return uVar2; } ############ FUN_ 1812cbdc0 size=160 ############ undefined4 FUN_1812cbdc0(void) { undefined8 *puVar1; if (DAT_182673b08 == (undefined8 *)0x0) { puVar1 = (undefined8 *)FUN_1811316e0(0x38); *puVar1 = juce::Timer::vftable; puVar1[1] = 0xffffffffffffffff; *(undefined4 *)(puVar1 + 2) = 0; FUN_1812a7230(puVar1 + 3); *puVar1 = juce::TopLevelWindowManager::vftable; puVar1[3] = juce::TopLevelWindowManager::vftable; puVar1[4] = 0; puVar1[5] = 0; puVar1[6] = 0; DAT_182673b08 = puVar1; return *(undefined4 *)((longlong)puVar1 + 0x2c); } return *(undefined4 *)((longlong)DAT_182673b08 + 0x2c); } ############ FUN_ 1812cc480 size=210 ############ void FUN_1812cc480(longlong param_1) { bool bVar1; longlong lVar2; undefined8 *puVar3; bVar1 = false; lVar2 = DAT_182673708; if (DAT_182673b08 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_1811316e0(0x38); *puVar3 = juce::Timer::vftable; puVar3[1] = 0xffffffffffffffff; *(undefined4 *)(puVar3 + 2) = 0; FUN_1812a7230(puVar3 + 3); *puVar3 = juce::TopLevelWindowManager::vftable; puVar3[3] = juce::TopLevelWindowManager::vftable; puVar3[4] = 0; puVar3[5] = 0; puVar3[6] = 0; lVar2 = DAT_182673708; DAT_182673b08 = puVar3; } for (; lVar2 != param_1; lVar2 = *(longlong *)(lVar2 + 0x18)) { if (lVar2 == 0) goto LAB_1812cc527; } bVar1 = true; LAB_1812cc527: if (!bVar1) { FUN_1812a77d0(DAT_182673b08,10); return; } FUN_18050c870(); return; } ############ FUN_ 1812cc890 size=1190 ############ void FUN_1812cc890(longlong param_1) { uint uVar1; float fVar2; float fVar3; float fVar4; int iVar5; longlong lVar6; bool bVar7; bool bVar8; longlong lVar9; uint uVar10; int iVar11; int iVar12; undefined8 uVar13; longlong lVar14; longlong lVar15; undefined1 **ppuVar16; float *pfVar17; undefined8 uVar18; byte bVar19; uint *puVar20; char *pcVar21; longlong lVar22; float fVar23; char *local_res18; undefined1 *local_res20; float local_b0; float local_ac; undefined4 local_a8; undefined4 uStack_a4; undefined4 local_a0; undefined4 uStack_9c; longlong local_98; undefined8 local_90; double local_88; double local_80; double local_78; double local_70; undefined8 local_68; undefined1 local_60 [40]; local_68 = 0xfffffffffffffffe; lVar15 = 0; iVar12 = 0; if (DAT_182673700 == 0) { uVar13 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar13); } lVar9 = DAT_182673700; lVar6 = **(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18); uVar10 = DAT_1826737fc; if ((DAT_1826737fc == 0) && ((uVar10 = timeGetTime(), DAT_1826737fc <= uVar10 || (uVar10 < DAT_1826737fc - 1000)))) { LOCK(); UNLOCK(); DAT_1826737fc = uVar10; } lVar22 = lVar15; if (*(int *)(lVar6 + 0x14) != 1) { if (*(longlong *)(lVar6 + 0x48) != 0) { lVar22 = *(longlong *)(*(longlong *)(lVar6 + 0x48) + 0x10); } if (lVar22 != 0) { if (*(longlong *)(param_1 + -0x98) != 0) { if ((*(byte *)(lVar22 + 0xa8) & 1) == 0) { lVar14 = lVar15; if (*(longlong *)(lVar22 + 0x18) != 0) { lVar14 = FUN_18134c2e0(); } } else { lVar14 = FUN_1812d2bd0(lVar22); } if ((*(byte *)(param_1 + -8) & 1) == 0) { if (*(longlong *)(param_1 + -0x98) != 0) { lVar15 = FUN_18134c2e0(); } } else { lVar15 = FUN_1812d2bd0(param_1 + -0xb0); } if (lVar14 != lVar15) { return; } } ppuVar16 = (undefined1 **) (**(code **)(*(longlong *)(param_1 + -0xb0) + 0x158)) ((longlong *)(param_1 + -0xb0),&local_98,lVar22); bVar8 = true; bVar7 = false; goto LAB_1812cc958; } } local_res20 = &DAT_1821dbf98; ppuVar16 = &local_res20; bVar8 = false; bVar7 = true; LAB_1812cc958: pcVar21 = *ppuVar16; *ppuVar16 = &DAT_1821dbf98; local_res18 = pcVar21; if ((bVar7) && (puVar20 = (uint *)(local_res20 + -0x10), (*puVar20 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } if ((bVar8) && (puVar20 = (uint *)(local_98 + -0x10), (*puVar20 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } iVar11 = iVar12; if (pcVar21 != *(char **)(param_1 + 0x30)) { iVar11 = FUN_18048cbc0(pcVar21,*(undefined8 *)(param_1 + 0x30)); } if ((iVar11 != 0) || (bVar7 = false, lVar22 != *(longlong *)(param_1 + 0x20))) { bVar7 = true; } *(longlong *)(param_1 + 0x20) = lVar22; if ((*(uint *)(pcVar21 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar21 + -0x10) = *(int *)(pcVar21 + -0x10) + 1; UNLOCK(); } LOCK(); lVar15 = *(longlong *)(param_1 + 0x30); *(longlong *)(param_1 + 0x30) = (longlong)local_res18; UNLOCK(); puVar20 = (uint *)(lVar15 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } iVar11 = *(int *)(lVar9 + 0x88); iVar5 = *(int *)(lVar9 + 0x8c); if ((*(int *)(param_1 + 0x3c) < iVar11) || (*(int *)(param_1 + 0x40) < iVar5)) { bVar8 = true; } else { bVar8 = false; } *(int *)(param_1 + 0x3c) = iVar11; *(int *)(param_1 + 0x40) = iVar5; pfVar17 = (float *)FUN_1804e5a90(lVar6,local_60); fVar2 = *pfVar17; fVar3 = pfVar17[1]; uVar13 = *(undefined8 *)pfVar17; if (DAT_182673700 == 0) { uVar18 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar18); } fVar4 = *(float *)(DAT_182673700 + 0xc0); if (fVar4 == DAT_1824c3ea4) { local_90 = uVar13; pfVar17 = (float *)&local_90; } else { local_b0 = fVar2 / fVar4; local_ac = fVar3 / fVar4; pfVar17 = &local_b0; } fVar2 = *pfVar17; fVar3 = pfVar17[1]; fVar23 = _hypotf(fVar2 - *(float *)(param_1 + 0x18),fVar3 - *(float *)(param_1 + 0x1c)); pcVar21 = local_res18; fVar4 = DAT_1824c4408; *(float *)(param_1 + 0x18) = fVar2; *(float *)(param_1 + 0x1c) = fVar3; if (((bVar7) || (bVar8)) || (fVar4 < fVar23)) { *(uint *)(param_1 + 0x44) = uVar10; } bVar19 = *(byte *)(param_1 + -8) >> 1 & 1; if ((bVar19 == 0) && (*(int *)(param_1 + 0x48) + 500U <= uVar10)) { if (*local_res18 != '\0') { if (local_res18 != *(char **)(param_1 + 0x28)) { iVar12 = FUN_18048cbc0(local_res18,*(undefined8 *)(param_1 + 0x28)); } if ((iVar12 != 0) && ((uint)(*(int *)(param_1 + 0x44) + *(int *)(param_1 + 0x38)) < uVar10)) { local_80 = (double)fVar3 + DAT_1824c4520; local_88 = (double)fVar2 + DAT_1824c4520; local_a8 = local_88._0_4_; uStack_a4 = local_80._0_4_; FUN_1812cce90(param_1 + -0xb0,CONCAT44(local_80._0_4_,local_88._0_4_),&local_res18); pcVar21 = local_res18; } } } else if ((lVar22 == 0) || ((bVar8 || (*local_res18 == '\0')))) { if (bVar19 != 0) { *(uint *)(param_1 + 0x48) = uVar10; FUN_1812ccd50(param_1 + -0xb0); pcVar21 = local_res18; } } else if (bVar7) { local_70 = (double)fVar3 + DAT_1824c4520; local_78 = (double)fVar2 + DAT_1824c4520; local_a0 = local_78._0_4_; uStack_9c = local_70._0_4_; FUN_1812cce90(param_1 + -0xb0,CONCAT44(local_70._0_4_,local_78._0_4_),&local_res18); pcVar21 = local_res18; } puVar20 = (uint *)(pcVar21 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } return; } ############ FUN_ 1812cce90 size=461 ############ void FUN_1812cce90(longlong *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) { char *pcVar1; longlong lVar2; longlong lVar3; int iVar4; undefined8 *puVar5; longlong lVar6; undefined8 uVar7; undefined8 local_res8; undefined1 local_res20 [8]; undefined8 local_68; undefined4 uStack_60; undefined4 uStack_5c; char *local_58; undefined1 local_50; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; pcVar1 = (char *)((longlong)param_1 + 0xfc); if (*pcVar1 == '\0') { local_50 = 0; *pcVar1 = '\x01'; local_58 = pcVar1; if (param_1[0x1b] == *param_3) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(param_1[0x1b],*param_3,param_3,param_4,0xfffffffffffffffe); } if (iVar4 != 0) { FUN_181249460(param_1 + 0x1b,param_3); uStack_5c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_60 = (undefined4)param_1[5]; local_68 = 0; FUN_181342870(param_1,&local_68,1); } lVar6 = param_1[3]; if (lVar6 == 0) { if (DAT_182673700 == 0) { local_res8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8); } lVar6 = FUN_18133d700(*(undefined8 *)(DAT_182673700 + 0x78),param_2,0); local_48 = *(undefined4 *)(lVar6 + 0x14); uStack_44 = *(undefined4 *)(lVar6 + 0x18); uStack_40 = *(undefined4 *)(lVar6 + 0x1c); uStack_3c = *(undefined4 *)(lVar6 + 0x20); FUN_1812cd070(param_1,param_3,param_2,&local_48); (**(code **)(*param_1 + 0x68))(param_1,0x506,0); } else { uStack_5c = *(undefined4 *)(lVar6 + 0x2c); uStack_60 = *(undefined4 *)(lVar6 + 0x28); local_68 = 0; local_48 = 0; uStack_44 = 0; lVar2 = lVar6; for (lVar3 = *(longlong *)(lVar6 + 0x18); lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x18)) { lVar2 = lVar3; } uStack_40 = uStack_60; uStack_3c = uStack_5c; puVar5 = (undefined8 *)FUN_18051e060(local_res20,lVar2,param_2); uVar7 = *puVar5; if (lVar2 != lVar6) { if (*(longlong *)(lVar6 + 0x18) != lVar2) { puVar5 = (undefined8 *)FUN_180520050(&local_68,lVar2,*(longlong *)(lVar6 + 0x18),uVar7); uVar7 = *puVar5; } FUN_18051e060(&local_res8,lVar6,uVar7); uVar7 = local_res8; } FUN_1812cd070(param_1,param_3,uVar7,&local_48); } FUN_181344f60(param_1,0); *pcVar1 = '\0'; } return; } ############ FUN_ 181315540 size=399 ############ void FUN_181315540(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; byte bVar3; longlong lVar4; undefined8 *puVar5; longlong *plVar6; byte *pbVar7; longlong lVar8; undefined8 *local_res8; undefined4 local_res18 [2]; undefined1 *local_40; undefined4 local_38; undefined4 local_34; undefined8 local_30; void *local_28; undefined8 local_20; local_40 = &DAT_1821dbf98; local_38 = 0; local_30 = 1; lVar8 = 0; local_28 = (void *)0x0; local_20 = 0; local_34 = 0x24; puVar5 = (undefined8 *)FUN_1811316e0(0x40,param_2,param_3,param_4,0xfffffffffffffffe); *(undefined4 *)(puVar5 + 1) = 0; *puVar5 = juce::Font::SharedFontInternal::vftable; puVar5[2] = 0; plVar6 = (longlong *)FUN_181252610(); lVar4 = *plVar6; puVar5[3] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(puVar5 + 4,&DAT_1824983b4); *(undefined4 *)(puVar5 + 5) = 0x41500000; *(undefined8 *)((longlong)puVar5 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar5 + 0x34) = 0; *(undefined1 *)(puVar5 + 7) = 0; LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); local_res18[0] = (undefined4)param_3; local_res8 = puVar5; FUN_181232d30(&local_40,param_2); pbVar7 = (byte *)*param_2; LAB_181315621: do { bVar3 = *pbVar7; pbVar7 = pbVar7 + 1; if ((char)bVar3 < '\0') { if ((*pbVar7 & 0xc0) == 0x80) { do { pbVar7 = pbVar7 + 1; } while ((*pbVar7 & 0xc0) == 0x80); lVar8 = lVar8 + 1; goto LAB_181315621; } } else if (bVar3 == 0) { FUN_1812554b0(&local_28,lVar8,&local_res8,local_res18); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } *param_1 = 0; param_1[1] = 0; param_1[2] = 0; *(undefined4 *)(param_1 + 3) = 9; FUN_18124e270(param_1,&local_40,DAT_1824c4568); FUN_1804aed10(&local_28); /* WARNING: Subroutine does not return */ free(local_28); } lVar8 = lVar8 + 1; } while( true ); } ############ FUN_ 1812cd5f0 size=1434 ############ void FUN_1812cd5f0(longlong param_1,undefined8 *param_2) { longlong lVar1; byte bVar2; int iVar3; int iVar4; int iVar5; undefined8 *puVar6; longlong *plVar7; uint *_Memory; undefined1 **ppuVar8; undefined1 **ppuVar9; undefined1 **ppuVar10; int iVar11; uint uVar12; ulonglong uVar13; bool bVar14; char local_res10; undefined7 uStackX_11; undefined8 local_res18; undefined1 *local_res20; undefined1 **local_108; undefined8 local_100; int local_f8; int iStack_f4; int iStack_f0; int iStack_ec; void *local_d8 [2]; longlong local_c8; longlong lStack_c0; undefined1 local_b8 [8]; int local_b0; int local_ac; undefined8 local_98; int local_88; int iStack_84; int iStack_80; int iStack_7c; int local_78; int iStack_74; int iStack_70; int iStack_6c; local_98 = 0xfffffffffffffffe; plVar7 = (longlong *)0x0; local_108 = (undefined1 **)0x0; local_100 = 0; local_res18 = *param_2; FUN_18122d110(&local_108,local_res18,&DAT_1821dad44,&DAT_1821d8e9a); FUN_18122d5d0(&local_108); ppuVar10 = local_108 + (int)local_100._4_4_; ppuVar9 = local_108; uVar12 = local_100._4_4_; if (local_108 != ppuVar10) { do { puVar6 = (undefined8 *)FUN_181248e40(ppuVar9,&local_res10); local_res20 = *ppuVar9; *ppuVar9 = (undefined1 *)*puVar6; *puVar6 = local_res20; _Memory = (uint *)(CONCAT71(uStackX_11,local_res10) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar12 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } ppuVar9 = ppuVar9 + 1; } while (ppuVar9 != ppuVar10); uVar12 = local_100._4_4_; } ppuVar9 = local_108; ppuVar10 = &DAT_18267af68; uVar13 = (ulonglong)_tls_index; ppuVar8 = local_108; if (uVar12 == 0) { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar13 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar8 = &DAT_18267af68; } local_res10 = FUN_18124a650(ppuVar8,&DAT_1821e339c); bVar14 = local_res10 != '\0'; if (uVar12 == bVar14 + 4) { if (bVar14 + 3 < uVar12) { ppuVar8 = ppuVar9 + (int)(bVar14 + 3); } else { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar13 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar8 = &DAT_18267af68; } iVar3 = atoi(*ppuVar8); local_res18 = CONCAT44(local_res18._4_4_,iVar3); if (bVar14 + 2 < uVar12) { ppuVar8 = ppuVar9 + (int)(bVar14 + 2); } else { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar13 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar8 = &DAT_18267af68; } iVar3 = atoi(*ppuVar8); if (bVar14 + 1 < uVar12) { ppuVar10 = ppuVar9 + (int)(bVar14 + 1); } else if ((*(int *)(*(longlong *) ((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } iVar4 = atoi(*ppuVar10); if (bVar14 < uVar12) { ppuVar9 = ppuVar9 + (int)(uint)bVar14; } else { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar9 = &DAT_18267af68; } iVar5 = atoi(*ppuVar9); iVar11 = (int)local_res18; if ((0 < iVar3) && (0 < (int)local_res18)) { bVar2 = *(byte *)(param_1 + 0xa8) & 1; if (bVar2 != 0) { if (bVar2 == 0) { if (*(longlong *)(param_1 + 0x18) != 0) { plVar7 = (longlong *)FUN_18134c2e0(); } } else { plVar7 = (longlong *)FUN_1812d2bd0(param_1); } } if (plVar7 != (longlong *)0x0) { if ((undefined **)*plVar7 == juce::HWNDComponentPeer::vftable) { local_c8 = plVar7[0x17]; lStack_c0 = plVar7[0x18]; plVar7 = &local_c8; } else { plVar7 = (longlong *)(*(code *)((undefined **)*plVar7)[0x13])(plVar7,&local_c8); } iVar11 = (int)plVar7[1] + iVar11 + (int)*plVar7; iVar3 = *(int *)((longlong)plVar7 + 0xc) + iVar3 + *(int *)((longlong)plVar7 + 4); iVar4 = iVar4 - (int)*plVar7; iVar5 = iVar5 - *(int *)((longlong)plVar7 + 4); local_f8 = iVar5; iStack_f4 = iVar4; iStack_f0 = iVar3; iStack_ec = iVar11; } if (DAT_182673700 == 0) { local_res18 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res18); } lVar1 = DAT_182673700; FUN_18133d310(*(undefined8 *)(DAT_182673700 + 0x78),local_d8); local_88 = iVar5; iStack_84 = iVar4; iStack_80 = iVar3; iStack_7c = iVar11; FUN_1804aa740(local_d8,&local_88); FUN_1804aa5a0(local_d8,local_b8); if (local_ac * local_b0 < 0x400) { local_78 = iVar5; iStack_74 = iVar4; iStack_70 = iVar3; iStack_6c = iVar11; FUN_18133d8f0(*(undefined8 *)(lVar1 + 0x78),&local_78,0); } /* WARNING: Subroutine does not return */ free(local_d8[0]); } } FUN_180488c50(&local_108); /* WARNING: Subroutine does not return */ free(local_108); } ############ FUN_ 1812cf4b0 size=264 ############ undefined8 * FUN_1812cf4b0(longlong param_1,undefined8 *param_2) { bool bVar1; char cVar2; byte bVar3; undefined4 uVar4; longlong *plVar5; undefined8 uVar6; if (*(char *)(param_1 + 0xb1) == '\0') { LAB_1812cf4eb: bVar1 = false; } else { if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { cVar2 = FUN_181345240(); if (cVar2 != '\0') goto LAB_1812cf4eb; } bVar1 = true; } if (bVar1) goto LAB_1812cf5a1; bVar3 = *(byte *)(param_1 + 0xa8) & 1; if (bVar3 == 0) { LAB_1812cf52f: if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } cVar2 = *(longlong *)(DAT_182673700 + 0xa0) == param_1; } else { if (bVar3 == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812cf52f; plVar5 = (longlong *)FUN_18134c2e0(); } else { plVar5 = (longlong *)FUN_1812d2bd0(param_1); } if (plVar5 == (longlong *)0x0) goto LAB_1812cf52f; cVar2 = (**(code **)(*plVar5 + 0x80))(plVar5); } if (cVar2 != '\0') { LAB_1812cf5a1: *param_2 = 0; param_2[1] = 0; return param_2; } if (*(longlong *)(param_1 + 200) != 0) { cVar2 = FUN_1812ce680(param_1); uVar4 = 4; if (cVar2 == '\0') goto LAB_1812cf588; } uVar4 = 1; LAB_1812cf588: *(undefined4 *)param_2 = uVar4; *(undefined4 *)((longlong)param_2 + 4) = uVar4; *(undefined4 *)(param_2 + 1) = uVar4; *(undefined4 *)((longlong)param_2 + 0xc) = uVar4; return param_2; } ############ FUN_ 1812cfde0 size=822 ############ void FUN_1812cfde0(longlong *param_1) { undefined8 *puVar1; bool bVar2; char cVar3; int iVar4; undefined4 uVar5; longlong lVar6; longlong lVar7; undefined8 *puVar8; int iVar9; longlong *plVar10; ulonglong uVar11; longlong *plVar12; longlong *plVar13; ulonglong uVar14; longlong *plVar15; plVar12 = param_1 + 0x2a; uVar11 = 0; uVar14 = (ulonglong)((longlong)(param_1 + 0x2d) + (7 - (longlong)plVar12)) >> 3; if (param_1 + 0x2d < plVar12) { uVar14 = uVar11; } plVar13 = plVar12; if (uVar14 != 0) { do { puVar1 = (undefined8 *)*plVar13; *plVar13 = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } plVar13 = plVar13 + 1; uVar11 = uVar11 + 1; } while (uVar11 != uVar14); } if ((*(char *)((longlong)param_1 + 0xb1) == '\0') || (((*(byte *)(param_1 + 0x15) & 1) == 0 && (cVar3 = FUN_181345240(param_1), cVar3 != '\0')))) { bVar2 = false; } else { bVar2 = true; } if (!bVar2) { lVar6 = FUN_18134adf0(param_1); if ((*(byte *)(param_1 + 0x29) & 1) != 0) { lVar7 = (**(code **)(*(longlong *)(lVar6 + 0x68) + 0x10))((longlong *)(lVar6 + 0x68),1); puVar1 = (undefined8 *)*plVar12; *plVar12 = lVar7; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } if ((*(byte *)(param_1 + 0x29) & 2) != 0) { lVar7 = (**(code **)(*(longlong *)(lVar6 + 0x68) + 0x10))((longlong *)(lVar6 + 0x68),2); puVar1 = (undefined8 *)param_1[0x2b]; param_1[0x2b] = lVar7; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } if ((*(byte *)(param_1 + 0x29) & 4) != 0) { lVar6 = (**(code **)(*(longlong *)(lVar6 + 0x68) + 0x10))((longlong *)(lVar6 + 0x68),4); puVar1 = (undefined8 *)param_1[0x2c]; param_1[0x2c] = lVar6; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } for (; plVar12 != param_1 + 0x2d; plVar12 = plVar12 + 1) { if (*plVar12 != 0) { if (param_1[0x30] == 0) { puVar8 = (undefined8 *)FUN_1811316e0(0x10); *puVar8 = juce::DocumentWindow::ButtonListenerProxy::vftable; puVar8[1] = param_1; puVar1 = (undefined8 *)param_1[0x30]; param_1[0x30] = (longlong)puVar8; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } lVar6 = param_1[0x30]; if (lVar6 != 0) { lVar7 = *plVar12; plVar15 = (longlong *)(lVar7 + 0x160); plVar10 = (longlong *)*plVar15; iVar9 = *(int *)(lVar7 + 0x16c); plVar13 = plVar10 + iVar9; for (; plVar10 != plVar13; plVar10 = plVar10 + 1) { if (lVar6 == *plVar10) goto LAB_1812cfff5; } iVar4 = iVar9 + 1; if (*(int *)(lVar7 + 0x168) < iVar4) { if (iVar4 < 0) { iVar4 = iVar9 + 2; } FUN_18047cb30(plVar15,iVar9 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar9 = *(int *)(lVar7 + 0x16c); *(int *)(lVar7 + 0x16c) = iVar9 + 1; *(longlong *)(*plVar15 + (longlong)iVar9 * 8) = lVar6; } LAB_1812cfff5: *(byte *)(*plVar12 + 0xa8) = *(byte *)(*plVar12 + 0xa8) & 0xdf; plVar13 = (longlong *)*plVar12; if (plVar13 != (longlong *)0x0) { (**(code **)(*plVar13 + 0x58))(plVar13,1); FUN_181343cc0(param_1,plVar13,0xffffffff); } } } plVar12 = (longlong *)param_1[0x2c]; if (plVar12 != (longlong *)0x0) { iVar9 = *(int *)((longlong)plVar12 + 0x14c) + 1; if ((int)plVar12[0x29] < iVar9) { FUN_18051ce20(plVar12 + 0x28, *(int *)((longlong)plVar12 + 0x14c) + 9 + iVar9 / 2 & 0xfffffff8); } iVar9 = *(int *)((longlong)plVar12 + 0x14c); *(int *)((longlong)plVar12 + 0x14c) = iVar9 + 1; lVar6 = plVar12[0x28]; *(undefined8 *)(lVar6 + (longlong)iVar9 * 0xc) = 0x400010073; *(undefined4 *)(lVar6 + 8 + (longlong)iVar9 * 0xc) = 0; (**(code **)(*plVar12 + 0x88))(plVar12); } } (**(code **)(*param_1 + 0x158))(param_1); (**(code **)(*param_1 + 0x108))(param_1); if ((*(byte *)(param_1 + 0x15) & 1) != 0) { uVar5 = (**(code **)(*param_1 + 0x160))(param_1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,uVar5,0); if (((*(byte *)(param_1 + 0x15) & 1) != 0) && (lVar6 = FUN_1812d2bd0(param_1), lVar6 != 0)) { *(longlong *)(lVar6 + 0x28) = param_1[0x27]; } } return; } ############ FUN_ 1812d19b0 size=306 ############ void FUN_1812d19b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; char cVar3; undefined8 *puVar4; longlong lVar5; undefined8 uVar6; longlong lVar7; bool bVar8; undefined8 *local_res10; undefined8 local_res18; lVar7 = 0; lVar5 = DAT_182673708; do { if (lVar5 == *(longlong *)(param_1 + 8)) { bVar8 = true; LAB_1812d1a04: if (bVar8) { puVar4 = (undefined8 *) FUN_1804de690(&local_res10,DAT_182673708,param_3,param_4,0xfffffffffffffffe); local_res18 = *(undefined8 *)(param_1 + 0x40); *(undefined8 *)(param_1 + 0x40) = *puVar4; *puVar4 = local_res18; if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res10)(local_res10,1); } } lVar5 = lVar7; if (*(longlong *)(param_1 + 0x40) != 0) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x40) + 0x10); } if (lVar5 != 0) { DAT_182673708 = 0; if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } lVar5 = DAT_182673700; piVar1 = (int *)(*(longlong *)(DAT_182673700 + 0x28) + 0x18); LOCK(); bVar8 = *piVar1 == 0; if (bVar8) { *piVar1 = 1; } UNLOCK(); if ((bVar8) && (cVar3 = FUN_1812a6720(*(undefined8 *)(lVar5 + 0x28)), cVar3 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(lVar5 + 0x28) + 0x18) = 0; UNLOCK(); } if (*(longlong *)(param_1 + 0x40) != 0) { lVar7 = *(longlong *)(*(longlong *)(param_1 + 0x40) + 0x10); } FUN_18133f2f0(lVar7,0); } } return; } if (lVar5 == 0) { bVar8 = false; goto LAB_1812d1a04; } lVar5 = *(longlong *)(lVar5 + 0x18); } while( true ); } ############ FUN_ 1812d1af0 size=528 ############ void FUN_1812d1af0(longlong param_1) { int *piVar1; int iVar2; char cVar3; longlong *plVar4; longlong lVar5; undefined8 *puVar6; longlong *plVar7; bool bVar8; undefined8 *local_res10; plVar7 = (longlong *)0x0; plVar4 = plVar7; if (*(longlong *)(param_1 + 0x40) != 0) { plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x40) + 0x10); } if (plVar4 != (longlong *)0x0) { do { plVar4 = (longlong *)plVar4[3]; if (plVar4 == *(longlong **)(param_1 + 8)) { plVar4 = plVar7; if (*(longlong *)(param_1 + 0x40) != 0) { plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x40) + 0x10); } cVar3 = FUN_181345240(plVar4); if (cVar3 != '\0') { lVar5 = *(longlong *)(param_1 + 0x40); plVar4 = plVar7; if (lVar5 != 0) { plVar4 = *(longlong **)(lVar5 + 0x10); } if (((*(byte *)(plVar4 + 0x15) & 0x20) != 0) && ((*(byte *)((longlong)plVar4 + 0xa9) & 0x10) == 0)) { DAT_182673708 = plVar7; if (lVar5 != 0) { DAT_182673708 = *(longlong **)(lVar5 + 0x10); } lVar5 = FUN_18134b820(); piVar1 = (int *)(*(longlong *)(lVar5 + 0x28) + 0x18); LOCK(); bVar8 = *piVar1 == 0; if (bVar8) { *piVar1 = 1; } UNLOCK(); if ((bVar8) && (cVar3 = FUN_1812a6720(*(undefined8 *)(lVar5 + 0x28)), cVar3 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(lVar5 + 0x28) + 0x18) = 0; UNLOCK(); } plVar4 = plVar7; if (*(longlong *)(param_1 + 0x40) != 0) { plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x40) + 0x10); } FUN_1804de690(&local_res10,plVar4); (**(code **)(*plVar4 + 0xf0))(plVar4,2); puVar6 = local_res10; if (local_res10 != (undefined8 *)0x0) { plVar7 = (longlong *)local_res10[2]; } if (plVar7 != (longlong *)0x0) { FUN_18133f200(plVar4,2,&local_res10); } if (puVar6 == (undefined8 *)0x0) { return; } LOCK(); piVar1 = (int *)(puVar6 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 != 1) { return; } /* WARNING: Could not recover jumptable at 0x0001812d1c95. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)*local_res10)(local_res10,1); return; } } break; } } while (plVar4 != (longlong *)0x0); } cVar3 = FUN_181343030(*(undefined8 *)(param_1 + 8)); if (cVar3 != '\0') { if (DAT_182673c20 == (undefined8 *)0x0) { puVar6 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar6); FUN_1812a7230(puVar6 + 2); *puVar6 = juce::ModalComponentManager::vftable; puVar6[2] = juce::ModalComponentManager::vftable; puVar6[3] = 0; puVar6[4] = 0; DAT_182673c20 = puVar6; } FUN_18133b010(DAT_182673c20,1); return; } FUN_18133ed60(*(undefined8 *)(param_1 + 8),2,1); return; } ############ FUN_ 1812d2130 size=146 ############ void FUN_1812d2130(longlong param_1) { longlong lVar1; undefined8 uVar2; longlong *plVar3; if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } lVar1 = *(longlong *)(**(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18) + 0x48); plVar3 = (longlong *)0x0; if (lVar1 != 0) { plVar3 = *(longlong **)(lVar1 + 0x10); } if ((plVar3 == (longlong *)0x0) && (plVar3 = DAT_182673708, DAT_182673708 == (longlong *)0x0)) { plVar3 = *(longlong **)(param_1 + 8); } FUN_18133f790(); /* WARNING: Could not recover jumptable at 0x0001812d21bb. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar3 + 0xe8))(plVar3,&DAT_182673aec); return; } ############ FUN_ 1812d2860 size=243 ############ void FUN_1812d2860(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined4 param_5) { undefined8 uVar1; undefined8 *puVar2; longlong lVar3; undefined4 uVar4; undefined8 local_38; undefined8 local_30; undefined8 local_28; undefined8 *local_20; local_28 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { local_30 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_30); } puVar2 = (undefined8 *)FUN_1804e7170(*(undefined8 *)(DAT_182673700 + 0x30),1); if (puVar2 != (undefined8 *)0x0) { uVar1 = *puVar2; local_38 = 0; puVar2 = &local_38; lVar3 = FUN_1804e6500(uVar1,param_1,param_3,param_4,puVar2); uVar4 = (undefined4)((ulonglong)puVar2 >> 0x20); if (lVar3 != 0) { local_20 = &local_30; local_30 = uVar1; puVar2 = (undefined8 *)FUN_1804e5790(&local_38,lVar3,local_38); FUN_18133f820(lVar3,&local_30,*puVar2,param_4,CONCAT44(uVar4,param_5)); } } return; } ############ FUN_ 1812d2960 size=158 ############ void FUN_1812d2960(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { undefined8 uVar1; undefined8 *puVar2; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } puVar2 = (undefined8 *)FUN_1804e7170(*(undefined8 *)(DAT_182673700 + 0x30),param_2,0); if (puVar2 != (undefined8 *)0x0) { FUN_1804e65c0(*puVar2,param_1,param_3,param_4,param_5); } return; } ############ FUN_ 1812d2af0 size=81 ############ bool FUN_1812d2af0(longlong param_1) { undefined8 uVar1; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } return *(longlong *)(DAT_182673700 + 0xa0) == *(longlong *)(param_1 + 8); } ############ FUN_ 1812d2c40 size=84 ############ undefined8 FUN_1812d2c40(uint param_1) { undefined8 uVar1; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } if (param_1 < *(uint *)(DAT_182673700 + 0x74)) { return *(undefined8 *)(*(longlong *)(DAT_182673700 + 0x68) + (longlong)(int)param_1 * 8); } return 0; } ############ FUN_ 1812d2ca0 size=60 ############ undefined4 FUN_1812d2ca0(void) { undefined8 uVar1; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } return *(undefined4 *)(DAT_182673700 + 0x74); } ############ FUN_ 1812d2e50 size=212 ############ undefined8 * FUN_1812d2e50(undefined8 *param_1,undefined8 param_2,undefined4 param_3) { longlong *plVar1; longlong lVar2; undefined8 uVar3; int iVar4; *param_1 = juce::ComponentPeer::vftable; param_1[1] = param_2; *(undefined4 *)(param_1 + 2) = param_3; *(undefined8 *)((longlong)param_1 + 0x14) = 0; *(undefined8 *)((longlong)param_1 + 0x1c) = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; DAT_18262b5c4 = DAT_18262b5c4 + 2; *(int *)(param_1 + 0xb) = DAT_18262b5c4; *(undefined1 *)((longlong)param_1 + 0x5c) = 0; if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar3); } lVar2 = DAT_182673700; plVar1 = (longlong *)(DAT_182673700 + 0x68); iVar4 = *(int *)(DAT_182673700 + 0x74) + 1; if (*(int *)(DAT_182673700 + 0x70) < iVar4) { FUN_18047cb30(plVar1,*(int *)(DAT_182673700 + 0x74) + 9 + iVar4 / 2 & 0xfffffff8); } iVar4 = *(int *)(lVar2 + 0x74); *(int *)(lVar2 + 0x74) = iVar4 + 1; *(undefined8 **)(*plVar1 + (longlong)iVar4 * 8) = param_1; return param_1; } ############ FUN_ 1812d4f90 size=656 ############ void FUN_1812d4f90(longlong param_1,undefined8 param_2,undefined8 *param_3,longlong *param_4) { int *piVar1; byte bVar2; undefined8 uVar3; longlong *plVar4; void *pvVar5; undefined4 *puVar6; longlong lVar7; byte *pbVar8; int iVar9; uint uVar10; undefined8 local_res8; longlong local_res18; undefined8 *local_res20; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; uVar3 = FUN_1811316e0(800); plVar4 = (longlong *)FUN_1812e2370(uVar3,param_2,0); *(undefined1 *)((longlong)plVar4 + 0x1f2) = 1; *(undefined1 *)((longlong)plVar4 + 0x1f9) = 0; iVar9 = *(int *)(param_1 + 0x15c) + 1; if ((int)*(uint *)(param_1 + 0x158) < iVar9) { uVar10 = *(int *)(param_1 + 0x15c) + 9 + iVar9 / 2 & 0xfffffff8; if (*(uint *)(param_1 + 0x158) != uVar10) { pvVar5 = *(void **)(param_1 + 0x150); if ((int)uVar10 < 1) { /* WARNING: Subroutine does not return */ free(pvVar5); } if (pvVar5 == (void *)0x0) { pvVar5 = malloc((longlong)(int)uVar10 * 8); *(void **)(param_1 + 0x150) = pvVar5; } else { pvVar5 = realloc(pvVar5,(longlong)(int)uVar10 * 8); *(void **)(param_1 + 0x150) = pvVar5; } } *(uint *)(param_1 + 0x158) = uVar10; } iVar9 = *(int *)(param_1 + 0x15c); *(int *)(param_1 + 0x15c) = iVar9 + 1; *(longlong **)(*(longlong *)(param_1 + 0x150) + (longlong)iVar9 * 8) = plVar4; iVar9 = *(int *)(param_1 + 0x1ac) + 1; if (*(int *)(param_1 + 0x1a8) < iVar9) { FUN_18047cb30((longlong *)(param_1 + 0x1a0), *(int *)(param_1 + 0x1ac) + 9 + iVar9 / 2 & 0xfffffff8); } iVar9 = *(int *)(param_1 + 0x1ac); *(int *)(param_1 + 0x1ac) = iVar9 + 1; *(longlong **)(*(longlong *)(param_1 + 0x1a0) + (longlong)iVar9 * 8) = plVar4; puVar6 = (undefined4 *)FUN_18134a8d0(param_1,&stack0x00000028,0x1000c00,0,uVar11); FUN_18134a800(plVar4,0x1000205,*puVar6); lVar7 = FUN_18134adf0(param_1); uVar3 = (**(code **)(*(longlong *)(lVar7 + 0x38) + 0x38))((longlong *)(lVar7 + 0x38),&local_res20) ; FUN_181252990(plVar4 + 0x53,uVar3); FUN_1812e0240(plVar4); if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res20 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_res20)(local_res20,1); } } (**(code **)(*plVar4 + 0x58))(plVar4,1); FUN_181343cc0(param_1,plVar4,0xffffffff); FUN_1812e1110(plVar4,param_3,1); pbVar8 = (byte *)*param_3; iVar9 = 0; do { while( true ) { bVar2 = *pbVar8; pbVar8 = pbVar8 + 1; if ((char)bVar2 < '\0') break; if (bVar2 == 0) { *(undefined4 *)(plVar4 + 0x5f) = 0; FUN_1812e0940(plVar4,plVar4[0x50]); FUN_1812e08d0(plVar4,iVar9); local_res8 = CONCAT44(*(undefined4 *)((longlong)plVar4 + 0x2a4), *(undefined4 *)((longlong)plVar4 + 0x2a4)); plVar4[0x50] = local_res8; local_res18 = *param_4; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_1 + 0x1b0,&local_res18); FUN_1812d3dc0(param_1,0); return; } LAB_1812d51a7: iVar9 = iVar9 + 1; } if ((*pbVar8 & 0xc0) != 0x80) goto LAB_1812d51a7; do { pbVar8 = pbVar8 + 1; } while ((*pbVar8 & 0xc0) == 0x80); iVar9 = iVar9 + 1; } while( true ); } ############ FUN_ 1812d5340 size=691 ############ undefined8 * FUN_1812d5340(longlong *param_1) { LPCRITICAL_SECTION p_Var1; char cVar2; uint uVar3; int iVar4; undefined8 *puVar5; longlong lVar6; undefined8 *puVar7; uint *puVar8; char *pcVar9; undefined8 *local_res8; char *local_res18; undefined8 *local_res20; char *local_58; undefined *local_50; undefined8 local_48; LPCRITICAL_SECTION local_40; LPCRITICAL_SECTION local_38; LPCRITICAL_SECTION local_30; local_48 = 0xfffffffffffffffe; (**(code **)(*param_1 + 0x10))(param_1,&local_res18); pcVar9 = local_res18; if (*local_res18 == '\0') { LAB_1812d55bb: puVar5 = (undefined8 *)0x0; local_res18 = pcVar9; } else { uVar3 = *(uint *)((longlong)param_1 + 0x44) & 3; if (uVar3 == 0) { if ((param_1[1] != 0) && (*(char *)(param_1[1] + 0x124) != '\0')) goto LAB_1812d54e1; LAB_1812d53a6: if ((param_1[1] != 0) && (*(char *)(param_1[1] + 0x124) == '\0')) goto LAB_1812d55bb; puVar5 = (undefined8 *)FUN_1811316e0(0x20); *puVar5 = 0; puVar5[1] = 0; puVar5[2] = 0; local_res8 = puVar5; local_res20 = puVar5 + 3; lVar6 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar6 + 0x10); local_38 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar6); local_58 = "CLOSED"; FUN_181211b90(puVar5 + 3,lVar6,&local_58); LeaveCriticalSection(p_Var1); } else { if (uVar3 != 2) goto LAB_1812d53a6; LAB_1812d54e1: if (((param_1[1] != 0) && (*(char *)(param_1[1] + 0x124) != '\0')) && (cVar2 = FUN_1812d6d70(param_1), cVar2 != '\0')) goto LAB_1812d55bb; puVar5 = (undefined8 *)FUN_1811316e0(0x20); *puVar5 = 0; puVar5[1] = 0; puVar5[2] = 0; local_res8 = puVar5; local_res20 = puVar5 + 3; lVar6 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar6 + 0x10); local_40 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar6); local_res20 = (undefined8 *)&DAT_1821e4a7c; FUN_181211b90(puVar5 + 3,lVar6,&local_res20); LeaveCriticalSection(p_Var1); iVar4 = *(int *)((longlong)param_1 + 0x24) + -1; lVar6 = (longlong)iVar4; if (-1 < iVar4) { do { puVar7 = (undefined8 *)FUN_1812d5340(*(undefined8 *)(param_1[3] + lVar6 * 8),1); if (puVar7 != (undefined8 *)0x0) { *puVar7 = puVar5[1]; puVar5[1] = puVar7; } lVar6 = lVar6 + -1; } while (-1 < lVar6); } } lVar6 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar6 + 0x10); local_30 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar6); local_50 = &DAT_1821e322c; FUN_181211b90(&local_res8,lVar6,&local_50); LeaveCriticalSection(p_Var1); FUN_181246b70(puVar5,&local_res8,&local_res18); puVar8 = (uint *)(local_res8 + -2); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } puVar8 = (uint *)(local_res18 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return puVar5; } ############ FUN_ 1812d7a00 size=896 ############ void FUN_1812d7a00(longlong param_1,int *param_2) { undefined8 *puVar1; longlong *plVar2; longlong lVar3; undefined8 uVar4; int iVar5; int iVar6; int iVar7; undefined8 uVar8; undefined8 *puVar9; int iVar10; int iVar11; if (DAT_182673700 == 0) { uVar8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar8); } if (*(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x10) != 100) { FUN_1812a77d0(*(longlong *)(DAT_182673700 + 0x30),100); } if (*(longlong *)(param_1 + 0x110) == 0) { puVar9 = (undefined8 *)FUN_1811316e0(0xc0); puVar9[1] = &DAT_1821dbf98; puVar9[2] = &DAT_1821dbf98; puVar9[3] = 0; puVar9[4] = 0; puVar9[5] = 0; puVar9[6] = 0; puVar9[7] = 0; puVar9[8] = 0; puVar9[9] = 0; puVar9[10] = 0; puVar9[0xb] = 0; puVar9[0xc] = 0; puVar9[0xd] = 0; puVar9[0xe] = 0; puVar9[0xf] = 0; puVar9[0x10] = 0; puVar9[0x11] = 0; puVar9[0x12] = 0; puVar9[0x13] = 0; puVar9[0x14] = 0; *(undefined4 *)(puVar9 + 0x15) = 0; *(undefined1 *)((longlong)puVar9 + 0xac) = 0; *puVar9 = juce::TreeView::InsertPointHighlight::vftable; puVar9[0x16] = 0; *(undefined4 *)(puVar9 + 0x17) = 0; FUN_18134bfe0(puVar9,*(undefined4 *)(puVar9 + 4),*(undefined4 *)((longlong)puVar9 + 0x24),100, 0xc); FUN_18134b0f0(puVar9,1); *(byte *)(puVar9 + 0x15) = *(byte *)(puVar9 + 0x15) & 0xef | 8; puVar1 = *(undefined8 **)(param_1 + 0x110); *(undefined8 **)(param_1 + 0x110) = puVar9; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } puVar9 = (undefined8 *)FUN_1811316e0(0xb0); puVar9[1] = &DAT_1821dbf98; puVar9[2] = &DAT_1821dbf98; puVar9[3] = 0; puVar9[4] = 0; puVar9[5] = 0; puVar9[6] = 0; puVar9[7] = 0; puVar9[8] = 0; puVar9[9] = 0; puVar9[10] = 0; puVar9[0xb] = 0; puVar9[0xc] = 0; puVar9[0xd] = 0; puVar9[0xe] = 0; puVar9[0xf] = 0; puVar9[0x10] = 0; puVar9[0x11] = 0; puVar9[0x12] = 0; puVar9[0x13] = 0; puVar9[0x14] = 0; *(undefined4 *)(puVar9 + 0x15) = 0; *(undefined1 *)((longlong)puVar9 + 0xac) = 0; *puVar9 = juce::TreeView::TargetGroupHighlight::vftable; FUN_18134b0f0(puVar9,1); *(byte *)(puVar9 + 0x15) = *(byte *)(puVar9 + 0x15) & 0xef | 8; puVar1 = *(undefined8 **)(param_1 + 0x118); *(undefined8 **)(param_1 + 0x118) = puVar9; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } plVar2 = *(longlong **)(param_1 + 0x110); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff); } plVar2 = *(longlong **)(param_1 + 0x118); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff); } } iVar6 = *(int *)(*(longlong *)(param_1 + 0xd0) + 400); lVar3 = *(longlong *)(param_1 + 0x110); *(undefined8 *)(lVar3 + 0xb0) = *(undefined8 *)(param_2 + 2); *(int *)(lVar3 + 0xb8) = param_2[4]; iVar5 = *(int *)(lVar3 + 0x2c) / 2; FUN_18134bfe0(lVar3,*param_2 - iVar5,param_2[1] - iVar5,(iVar5 - *param_2) + iVar6, *(int *)(lVar3 + 0x2c)); uVar8 = *(undefined8 *)(param_1 + 0x118); plVar2 = *(longlong **)(param_2 + 2); iVar5 = FUN_1812d65b0(plVar2); iVar6 = *(int *)((longlong)plVar2 + 0x34); lVar3 = plVar2[1]; if ((lVar3 != 0) && (iVar6 < 0)) { iVar6 = *(int *)(*(longlong *)(lVar3 + 0xd0) + 400) - iVar5; } iVar11 = (int)plVar2[5]; iVar10 = 0; if (0 < iVar6) { iVar10 = iVar6; } if (lVar3 != 0) { uVar4 = *(undefined8 *)(*(longlong *)(lVar3 + 0xd0) + 0x188); iVar5 = iVar5 - (int)uVar4; iVar11 = iVar11 - (int)((ulonglong)uVar4 >> 0x20); } iVar7 = (**(code **)(*plVar2 + 0x28))(plVar2); iVar6 = 0; if (0 < iVar7) { iVar6 = iVar7; } FUN_18134bfe0(uVar8,iVar5,iVar11,iVar10,iVar6); return; } ############ FUN_ 1812da910 size=167 ############ void FUN_1812da910(longlong *param_1,int param_2) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (param_2 == -1) { uVar1 = FUN_1811316e0(0x208); FUN_180509740(uVar1,0xffffffff,DAT_1824c3cb8,1,uVar2); return; } if (param_2 == -2) { uVar2 = FUN_1811316e0(0x208); FUN_180509740(uVar2,0xfffffffe,DAT_1824c3d8c); return; } if (param_2 == -3) { uVar2 = FUN_1811316e0(0x208); FUN_180509740(uVar2,0xfffffffd,0); return; } /* WARNING: Could not recover jumptable at 0x0001812da9b3. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x18))(); return; } ############ FUN_ 1812d9890 size=1760 ############ void FUN_1812d9890(longlong param_1,longlong param_2) { longlong *plVar1; char cVar2; longlong lVar3; longlong lVar4; longlong *plVar5; undefined8 uVar6; longlong lVar7; longlong lVar8; int iVar9; int iVar10; int iVar11; int iVar12; longlong lVar13; uint uVar14; uint uVar15; uint uVar16; longlong *plVar17; undefined8 *puVar18; void *_Src; undefined4 uVar19; longlong *plVar20; ulonglong uVar21; ulonglong uVar22; ulonglong uVar23; uint uVar24; ulonglong uVar25; int iVar26; uint uVar27; int iVar28; int iVar29; int iVar30; int iVar31; int iVar32; if (*(longlong *)(param_2 + 0x10) == 0) { uVar6 = 0; } else { uVar6 = *(undefined8 *)(*(longlong *)(param_2 + 0x10) + 0x10); } lVar4 = __RTDynamicCast(uVar6,0,&juce::Component::RTTI_Type_Descriptor, &juce::ToolbarItemComponent::RTTI_Type_Descriptor,0); if (lVar4 == 0) { return; } plVar1 = (longlong *)(param_1 + 0x18); plVar17 = (longlong *)*plVar1; plVar5 = plVar17 + *(int *)(param_1 + 0x24); for (; plVar17 != plVar5; plVar17 = plVar17 + 1) { if (lVar4 == *plVar17) goto LAB_1812d9a33; } if (*(int *)(lVar4 + 0x1cc) == 2) { for (lVar3 = *(longlong *)(lVar4 + 0x18); lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x18)) { plVar5 = (longlong *) __RTDynamicCast(lVar3,0,&juce::Component::RTTI_Type_Descriptor, &juce::ToolbarItemPalette::RTTI_Type_Descriptor,0); if (plVar5 != (longlong *)0x0) { plVar17 = (longlong *)plVar5[0x52]; plVar20 = plVar17; goto joined_r0x0001812d998b; } } } goto LAB_1812d99d3; joined_r0x0001812d998b: if (plVar20 == plVar17 + *(int *)((longlong)plVar5 + 0x29c)) goto LAB_1812d99a2; if (lVar4 == *plVar20) { uVar19 = (undefined4)((longlong)plVar20 - (longlong)plVar17 >> 3); goto LAB_1812d99a7; } plVar20 = plVar20 + 1; goto joined_r0x0001812d998b; LAB_1812d99a2: uVar19 = 0xffffffff; LAB_1812d99a7: FUN_18051b040(plVar5 + 0x52,lVar4); FUN_1812d9630(plVar5,*(undefined4 *)(lVar4 + 0x1c8),uVar19); (**(code **)(*plVar5 + 0x108))(plVar5); LAB_1812d99d3: iVar9 = *(int *)(param_1 + 0x24) + 1; if (*(int *)(param_1 + 0x20) < iVar9) { FUN_18047cb30(plVar1,*(int *)(param_1 + 0x24) + 9 + iVar9 / 2 & 0xfffffff8); } iVar9 = *(int *)(param_1 + 0x24); *(int *)(param_1 + 0x24) = iVar9 + 1; *(longlong *)(*plVar1 + (longlong)iVar9 * 8) = lVar4; FUN_181343cc0(param_1 + -200,lVar4,0xffffffff); FUN_1812da170(param_1 + -200,1); LAB_1812d9a33: if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } lVar3 = DAT_182673700; iVar9 = *(int *)(param_1 + 0x24); do { iVar9 = iVar9 + -1; if (iVar9 < 0) { return; } plVar5 = (longlong *)*plVar1; for (plVar17 = plVar5; plVar17 != plVar5 + *(int *)(param_1 + 0x24); plVar17 = plVar17 + 1) { if (lVar4 == *plVar17) { uVar25 = (longlong)plVar17 - (longlong)plVar5 >> 3; goto LAB_1812d9ab7; } } uVar25 = 0xffffffff; LAB_1812d9ab7: uVar24 = (uint)uVar25; uVar21 = uVar25 & 0xffffffff; cVar2 = *(char *)(param_1 + 0x10); if (cVar2 == '\0') { iVar28 = *(int *)(param_2 + 0x18) - *(int *)(lVar4 + 0x1e0); iVar12 = *(int *)(lVar4 + 0x28); } else { iVar28 = *(int *)(param_2 + 0x1c) - *(int *)(lVar4 + 0x1e4); iVar12 = *(int *)(lVar4 + 0x2c); } if (uVar24 < *(uint *)(param_1 + -0x7c)) { lVar13 = *(longlong *)(*(longlong *)(param_1 + -0x88) + (longlong)(int)uVar24 * 8); } else { lVar13 = 0; } iVar26 = *(int *)(lVar3 + 0x124) + -1; uVar22 = (ulonglong)iVar26; if (-1 < iVar26) { puVar18 = (undefined8 *)(*(longlong *)(lVar3 + 0x118) + uVar22 * 8); uVar23 = uVar22; do { lVar7 = 0; if (*(longlong *)*puVar18 != 0) { lVar7 = *(longlong *)(*(longlong *)*puVar18 + 0x10); } if (lVar13 == lVar7) { lVar7 = *(longlong *)(*(longlong *)(lVar3 + 0x118) + (longlong)(int)uVar23 * 8); if (lVar7 != 0) { iVar29 = *(int *)(lVar7 + 0x10); iVar30 = *(int *)(lVar7 + 0x14); iVar32 = *(int *)(lVar7 + 0x18); iVar10 = *(int *)(lVar7 + 0x1c); goto LAB_1812d9b6a; } break; } uVar23 = (ulonglong)((int)uVar23 - 1); puVar18 = puVar18 + -1; uVar22 = uVar22 - 1; } while (-1 < (longlong)uVar22); } iVar29 = *(int *)(lVar13 + 0x20); iVar30 = *(int *)(lVar13 + 0x24); iVar32 = *(int *)(lVar13 + 0x28); iVar10 = *(int *)(lVar13 + 0x2c); LAB_1812d9b6a: uVar25 = uVar25 & 0xffffffff; lVar13 = (longlong)(int)uVar24 * 8; do { uVar14 = (int)uVar25 - 1; uVar25 = (ulonglong)uVar14; lVar13 = lVar13 + -8; if ((*(uint *)(param_1 + 0x24) <= uVar14) || (lVar7 = *(longlong *)(lVar13 + *plVar1), lVar7 == 0)) goto LAB_1812d9cb7; } while (*(char *)(lVar7 + 0x1e8) == '\0'); uVar25 = (ulonglong)iVar26; if (-1 < iVar26) { puVar18 = (undefined8 *)(*(longlong *)(lVar3 + 0x118) + uVar25 * 8); uVar22 = uVar25; do { lVar13 = 0; if (*(longlong *)*puVar18 != 0) { lVar13 = *(longlong *)(*(longlong *)*puVar18 + 0x10); } if (lVar7 == lVar13) { lVar13 = *(longlong *)(*(longlong *)(lVar3 + 0x118) + (longlong)(int)uVar22 * 8); if (lVar13 != 0) { iVar11 = *(int *)(lVar13 + 0x10); iVar31 = *(int *)(lVar13 + 0x14); goto LAB_1812d9bf6; } break; } uVar22 = (ulonglong)((int)uVar22 - 1); puVar18 = puVar18 + -1; uVar25 = uVar25 - 1; } while (-1 < (longlong)uVar25); } iVar11 = *(int *)(lVar7 + 0x20); iVar31 = *(int *)(lVar7 + 0x24); LAB_1812d9bf6: if (cVar2 == '\0') { iVar10 = iVar32 + iVar29; } else { iVar10 = iVar10 + iVar30; iVar11 = iVar31; } uVar14 = (iVar12 + iVar28) - iVar10; uVar15 = (int)uVar14 >> 0x1f; uVar16 = iVar28 - iVar11 >> 0x1f; if ((int)((iVar28 - iVar11 ^ uVar16) - uVar16) < (int)((uVar14 ^ uVar15) - uVar15)) { plVar5 = *(longlong **)(param_1 + -0x88); for (plVar17 = plVar5; plVar17 != plVar5 + *(int *)(param_1 + -0x7c); plVar17 = plVar17 + 1) { if (lVar7 == *plVar17) { uVar21 = (longlong)plVar17 - (longlong)plVar5 >> 3; goto LAB_1812d9cb7; } } uVar21 = 0xffffffff; } LAB_1812d9cb7: uVar14 = (uint)uVar21; uVar21 = uVar21 & 0xffffffff; lVar13 = (longlong)(int)uVar14 * 8; do { uVar15 = (int)uVar21 + 1; uVar21 = (ulonglong)uVar15; lVar13 = lVar13 + 8; if ((*(uint *)(param_1 + 0x24) <= uVar15) || (lVar7 = *(longlong *)(lVar13 + *plVar1), lVar7 == 0)) goto LAB_1812d9df1; } while (*(char *)(lVar7 + 0x1e8) == '\0'); if (-1 < iVar26) { lVar13 = (longlong)iVar26; puVar18 = (undefined8 *)(*(longlong *)(lVar3 + 0x118) + lVar13 * 8); do { lVar8 = 0; if (*(longlong *)*puVar18 != 0) { lVar8 = *(longlong *)(*(longlong *)*puVar18 + 0x10); } if (lVar7 == lVar8) { lVar13 = *(longlong *)(*(longlong *)(lVar3 + 0x118) + (longlong)iVar26 * 8); if (lVar13 != 0) { iVar26 = *(int *)(lVar13 + 0x10); iVar32 = *(int *)(lVar13 + 0x14); iVar10 = *(int *)(lVar13 + 0x18); iVar11 = *(int *)(lVar13 + 0x1c); goto LAB_1812d9d3a; } break; } iVar26 = iVar26 + -1; puVar18 = puVar18 + -1; lVar13 = lVar13 + -1; } while (-1 < lVar13); } iVar26 = *(int *)(lVar7 + 0x20); iVar32 = *(int *)(lVar7 + 0x24); iVar10 = *(int *)(lVar7 + 0x28); iVar11 = *(int *)(lVar7 + 0x2c); LAB_1812d9d3a: if (cVar2 == '\0') { iVar11 = iVar10 + iVar26; } else { iVar11 = iVar11 + iVar32; iVar29 = iVar30; } uVar27 = (iVar12 + iVar28) - iVar11; uVar15 = (int)uVar27 >> 0x1f; uVar16 = iVar28 - iVar29 >> 0x1f; if ((int)((uVar27 ^ uVar15) - uVar15) < (int)((iVar28 - iVar29 ^ uVar16) - uVar16)) { plVar5 = *(longlong **)(param_1 + -0x88); for (plVar17 = plVar5; plVar17 != plVar5 + *(int *)(param_1 + -0x7c); plVar17 = plVar17 + 1) { if (lVar7 == *plVar17) { uVar14 = (int)((longlong)plVar17 - (longlong)plVar5 >> 3) + 1; goto LAB_1812d9df1; } } uVar14 = 0; } LAB_1812d9df1: if (uVar14 == uVar24) { return; } uVar15 = 0; lVar13 = 0; uVar24 = *(uint *)(param_1 + 0x24); if (0 < (int)uVar24) { plVar5 = (longlong *)*plVar1; do { if (lVar4 == *plVar5) { if (uVar15 < uVar24) { plVar5 = (longlong *)*plVar1 + (int)uVar15; memmove(plVar5,plVar5 + 1,(longlong)(int)((uVar24 - uVar15) + -1) << 3); *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) + -1; } if ((*(int *)(param_1 + 0x24) * 2 < *(int *)(param_1 + 0x20)) && (*(int *)(param_1 + 0x24) < *(int *)(param_1 + 0x20))) { FUN_18047cb30(plVar1); } break; } uVar15 = uVar15 + 1; lVar13 = lVar13 + 1; plVar5 = plVar5 + 1; } while (lVar13 < (int)uVar24); } lVar13 = param_1 + -200; plVar5 = *(longlong **)(param_1 + -0x88); for (plVar17 = plVar5; plVar17 != plVar5 + *(int *)(param_1 + -0x7c); plVar17 = plVar17 + 1) { if (lVar4 == *plVar17) { uVar19 = (undefined4)((longlong)plVar17 - (longlong)plVar5 >> 3); goto LAB_1812d9e94; } } uVar19 = 0xffffffff; LAB_1812d9e94: FUN_181343a90(lVar13,uVar19,1); FUN_181343cc0(lVar13,lVar4,uVar14); iVar28 = *(int *)(param_1 + 0x24); iVar12 = iVar28 + 1; if (*(int *)(param_1 + 0x20) < iVar12) { if (iVar12 < 0) { iVar12 = iVar28 + 2; } FUN_18047cb30(plVar1,iVar28 + 9 + (iVar12 >> 1) & 0xfffffff8); } uVar24 = *(uint *)(param_1 + 0x24); if (uVar14 < uVar24) { _Src = (void *)(*plVar1 + (longlong)(int)uVar14 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar24 - uVar14) << 3); plVar5 = (longlong *)(*plVar1 + (longlong)(int)uVar14 * 8); } else { plVar5 = (longlong *)(*plVar1 + (longlong)(int)uVar24 * 8); } *plVar5 = lVar4; *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) + 1; FUN_1812da170(lVar13,CONCAT71((int7)((ulonglong)plVar5 >> 8),1)); } while( true ); } ############ FUN_ 1812da020 size=324 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812da020(longlong param_1) { int *piVar1; int iVar2; char cVar3; undefined8 uVar4; undefined8 *puVar5; undefined4 uVar6; undefined1 local_res20 [8]; undefined8 local_d8; undefined8 uStack_d0; undefined8 local_c8; undefined8 *puStack_c0; undefined8 local_b8; undefined8 local_b0; undefined8 uStack_a8; undefined8 local_a0; undefined8 uStack_98; undefined8 local_90; undefined8 local_88; undefined8 uStack_80; undefined4 local_78; undefined1 local_74; undefined4 local_70; undefined1 local_68 [32]; undefined8 *local_48; local_b8 = 0xfffffffffffffffe; cVar3 = FUN_181345240(*(undefined8 *)(param_1 + 0xd0)); if (cVar3 != '\0') { local_d8 = 0; uStack_d0 = 0; local_c8 = 0; puStack_c0 = (undefined8 *)0x0; if (*(char *)(param_1 + 0xd8) == '\0') { uVar6 = *(undefined4 *)(param_1 + 0x2c); } else { uVar6 = *(undefined4 *)(param_1 + 0x28); } uVar4 = FUN_1811316e0(0xf0); FUN_180509db0(uVar4,param_1,uVar6); FUN_1812f0a10(&local_d8); local_b0 = 0; uStack_a8 = 0; local_a0 = 0; uStack_98 = 0; local_90 = 0; local_88 = _DAT_1824c47c0; uStack_80 = _UNK_1824c47c8; local_78 = 0; local_74 = 0; local_70 = 1; puVar5 = (undefined8 *)FUN_18133c1f0(local_res20); local_b0 = *puVar5; uVar4 = FUN_1812f0830(&local_b0,local_68,*(undefined8 *)(param_1 + 0xd0)); FUN_1812f0230(&local_d8,uVar4,0); if (local_48 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_48 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_48)(local_48,1); } } if (puStack_c0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puStack_c0 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puStack_c0)(puStack_c0,1); } } FUN_18051c930(&local_d8); } return; } ############ FUN_ 1812de710 size=723 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812de710(longlong *param_1,longlong param_2) { int *piVar1; int iVar2; byte bVar3; undefined8 *puVar4; undefined ***pppuVar5; undefined4 uVar6; undefined8 uVar7; undefined8 *puVar8; undefined8 *local_res8; undefined8 local_118; undefined8 uStack_110; undefined8 local_108; undefined8 *puStack_100; undefined **local_f8; undefined8 *local_f0; undefined ***local_c0; undefined8 local_b8; undefined ***local_b0; undefined1 local_a8 [8]; undefined8 local_a0; undefined8 uStack_98; undefined8 local_90; undefined8 uStack_88; undefined8 local_80; undefined8 local_78; undefined8 uStack_70; undefined4 local_68; undefined1 local_64; undefined4 local_60; undefined1 local_58 [56]; undefined8 local_20; local_b8 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { local_res8 = (undefined8 *)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8); } if (*(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x10) != 100) { FUN_1812a77d0(*(longlong *)(DAT_182673700 + 0x30),100); } FUN_1812e1fc0(param_1); if ((*(char *)((longlong)param_1 + 500) != '\0') || (*(char *)((longlong)param_1 + 0x1f2) == '\0') ) { if ((*(char *)((longlong)param_1 + 0x1f1) == '\0') || ((*(uint *)(param_2 + 0x10) >> 5 & 1) == 0)) { bVar3 = *(byte *)(param_2 + 0x10); uVar6 = FUN_1812db7b0(param_1); FUN_1812e0100(param_1,uVar6,bVar3 & 1); } else { local_118 = 0; uStack_110 = 0; local_108 = 0; puStack_100 = (undefined8 *)0x0; uVar7 = FUN_18134adf0(param_1); FUN_18051b750(&puStack_100,uVar7); (**(code **)(*param_1 + 0x158))(param_1,&local_118,param_2); *(undefined1 *)((longlong)param_1 + 0x1f7) = 1; FUN_1804de690(&local_res8,param_1); puVar4 = local_res8; if (local_res8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; UNLOCK(); } local_f8 = std::_Func_impl_no_alloc<,void,int>:: vftable; local_f0 = local_res8; local_c0 = &local_f8; pppuVar5 = &local_f8; if (local_res8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; UNLOCK(); LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); pppuVar5 = local_c0; if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); pppuVar5 = local_c0; } } local_c0 = pppuVar5; local_b0 = &local_f8; local_a0 = 0; uStack_98 = 0; local_90 = 0; uStack_88 = 0; local_80 = 0; local_78 = _DAT_1824c47c0; uStack_70 = _UNK_1824c47c8; local_68 = 0; local_64 = 0; local_60 = 1; puVar8 = (undefined8 *)FUN_18133c1f0(local_a8); local_a0 = *puVar8; local_20 = 0; if (local_c0 != (undefined ***)0x0) { local_20 = (*(code *)**local_c0)(local_c0,local_58); } uVar7 = FUN_181347bc0(local_58); FUN_1812f0230(&local_118,&local_a0,uVar7); if (local_c0 != (undefined ***)0x0) { (*(code *)(*local_c0)[4])(local_c0,local_c0 != &local_f8); } if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } if (puStack_100 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puStack_100 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puStack_100)(puStack_100,1); } } FUN_18051c930(&local_118); } } return; } ############ FUN_ 1812e1420 size=111 ############ void FUN_1812e1420(undefined8 param_1,undefined4 param_2,longlong *param_3) { uint uVar1; longlong lVar2; undefined8 *puVar3; puVar3 = (undefined8 *)FUN_1811316e0(0x18); *puVar3 = juce::TextEditor::LengthAndCharacterRestriction::vftable; lVar2 = *param_3; puVar3[1] = lVar2; uVar1 = *(uint *)(lVar2 + -0x10); if ((uVar1 & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(puVar3 + 2) = param_2; FUN_1812e14a0(param_1,puVar3,CONCAT71((uint7)(uint3)(uVar1 >> 8),1)); return; } ############ FUN_ 1812e2dc0 size=283 ############ undefined8 * FUN_1812e2dc0(longlong param_1,undefined4 param_2,undefined1 param_3,undefined8 *param_4) { if (param_4 == (undefined8 *)0x0) { param_4 = (undefined8 *)FUN_1811316e0(); param_4[1] = &DAT_1821dbf98; param_4[2] = &DAT_1821dbf98; param_4[3] = 0; param_4[4] = 0; param_4[5] = 0; param_4[6] = 0; param_4[7] = 0; param_4[8] = 0; param_4[9] = 0; param_4[10] = 0; param_4[0xb] = 0; param_4[0xc] = 0; param_4[0xd] = 0; param_4[0xe] = 0; param_4[0xf] = 0; param_4[0x10] = 0; param_4[0x11] = 0; param_4[0x12] = 0; param_4[0x13] = 0; param_4[0x14] = 0; *param_4 = juce::TableListBox::RowComp::vftable; param_4[0x16] = juce::TableListBox::RowComp::vftable; param_4[0x17] = param_1 + -0x108; *(undefined4 *)(param_4 + 0x15) = 0; *(undefined1 *)((longlong)param_4 + 0xac) = 0; param_4[0x18] = 0; param_4[0x19] = 0; *(undefined4 *)(param_4 + 0x1a) = 0xffffffff; *(undefined2 *)((longlong)param_4 + 0xd4) = 0; *(undefined1 *)((longlong)param_4 + 0xd6) = 0; } FUN_180505930(param_4,param_2,param_3); return param_4; } ############ FUN_ 1812e3660 size=372 ############ longlong * FUN_1812e3660(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; uint uVar3; int iVar4; undefined4 *puVar5; longlong lVar6; undefined8 *puVar7; HCURSOR pHVar8; longlong *plVar9; undefined1 local_res8 [16]; undefined4 *local_res18; undefined8 *local_res20; if (*(int *)(param_1 + 0xf0) == 0) { puVar5 = (undefined4 *)FUN_18133e370(param_1,local_res8,param_3,param_4,0xfffffffffffffffe); iVar4 = FUN_1812e3370(param_1,*puVar5); if (iVar4 == 0) { LAB_1812e378b: lVar2 = *(longlong *)(param_1 + 0x58); lVar6 = 0; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 0x10) = *(int *)(lVar2 + 0x10) + 1; UNLOCK(); lVar6 = lVar2; } *param_2 = lVar6; return param_2; } if (DAT_182673700 == 0) { local_res18 = (undefined4 *)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res18); } plVar9 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar9 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); for (; plVar9 != plVar1; plVar9 = plVar9 + 1) { lVar2 = *(longlong *)(*plVar9 + 0x48); lVar6 = 0; if (lVar2 != 0) { lVar6 = *(longlong *)(lVar2 + 0x10); } if ((lVar6 == param_1) && ((*(byte *)(*plVar9 + 0x28) & 0x70) != 0)) goto LAB_1812e378b; } } local_res18 = &DAT_182673b68; do { LOCK(); uVar3 = DAT_182673b68 & 1; DAT_182673b68 = DAT_182673b68 | 1; UNLOCK(); } while (uVar3 != 0); if (DAT_18267ab18 == (undefined8 *)0x0) { puVar7 = (undefined8 *)FUN_1811316e0(0x20); *puVar7 = 0; local_res20 = puVar7; pHVar8 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f84); if (pHVar8 == (HCURSOR)0x0) { pHVar8 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f00); } puVar7[1] = pHVar8; *(undefined4 *)(puVar7 + 2) = 1; *(undefined4 *)((longlong)puVar7 + 0x14) = 9; *(undefined1 *)(puVar7 + 3) = 1; DAT_18267ab18 = puVar7; } else { LOCK(); *(int *)(DAT_18267ab18 + 2) = *(int *)(DAT_18267ab18 + 2) + 1; UNLOCK(); } LOCK(); DAT_182673b68 = 0; UNLOCK(); *param_2 = (longlong)DAT_18267ab18; return param_2; } ############ FUN_ 1812e39f0 size=853 ############ void FUN_1812e39f0(longlong param_1,longlong param_2) { int *piVar1; undefined4 uVar2; longlong lVar3; undefined8 *puVar4; int iVar5; int iVar6; undefined8 *puVar7; longlong *plVar8; int iVar9; longlong *plVar10; int iVar11; int iVar12; int iVar13; int iVar14; undefined8 *local_res20; int local_38; undefined4 uStack_34; int iStack_30; undefined4 uStack_2c; iVar6 = 0; iVar11 = 0; if (*(int *)(param_1 + 0xf4) != 0) { return; } iVar9 = SUB84((double)*(float *)(param_2 + 0x28) + DAT_1824c4520,0); iVar12 = iVar11; if (-1 < iVar9) { plVar10 = *(longlong **)(param_1 + 0xc0); plVar8 = plVar10 + *(int *)(param_1 + 0xcc); iVar13 = iVar6; for (; plVar10 != plVar8; plVar10 = plVar10 + 1) { lVar3 = *plVar10; if (((*(byte *)(lVar3 + 0xc) & 1) != 0) && (iVar13 = iVar13 + *(int *)(lVar3 + 0x10), iVar9 < iVar13)) { iVar12 = *(int *)(lVar3 + 8); break; } } } *(int *)(param_1 + 0xf4) = iVar12; plVar10 = *(longlong **)(param_1 + 0xc0); plVar8 = plVar10 + *(int *)(param_1 + 0xcc); do { if (plVar10 == plVar8) { LAB_1812e3aa6: *(undefined4 *)(param_1 + 0xf4) = 0; return; } if (*(int *)(*plVar10 + 8) == iVar12) { if ((*(byte *)(*plVar10 + 0xc) & 4) != 0) { plVar10 = *(longlong **)(param_1 + 0xc0); plVar8 = plVar10 + *(int *)(param_1 + 0xcc); iVar9 = iVar6; break; } goto LAB_1812e3aa6; } plVar10 = plVar10 + 1; } while( true ); joined_r0x0001812e3adf: if (plVar10 == plVar8) goto LAB_1812e3afa; if ((*(byte *)(*plVar10 + 0xc) & 1) != 0) { if (*(int *)(*plVar10 + 8) == iVar12) goto LAB_1812e3aff; iVar9 = iVar9 + 1; } plVar10 = plVar10 + 1; goto joined_r0x0001812e3adf; LAB_1812e3afa: iVar9 = -1; LAB_1812e3aff: *(int *)(param_1 + 0x104) = iVar9; iVar13 = 0; plVar10 = *(longlong **)(param_1 + 0xc0); plVar8 = plVar10 + *(int *)(param_1 + 0xcc); iVar5 = iVar6; for (; plVar10 != plVar8; plVar10 = plVar10 + 1) { iVar11 = iVar11 + iVar13; iVar13 = iVar6; iVar14 = iVar5; if ((*(byte *)(*plVar10 + 0xc) & 1) != 0) { iVar13 = *(int *)(*plVar10 + 0x10); iVar14 = iVar5 + 1; if (iVar5 == iVar9) break; } iVar5 = iVar14; } uVar2 = *(undefined4 *)(param_1 + 0x2c); *(undefined4 *)(param_1 + 0xf4) = 0; puVar7 = (undefined8 *)FUN_1811316e0(0xb8); uStack_34 = 0; local_38 = iVar11; iStack_30 = iVar13; uStack_2c = uVar2; plVar8 = (longlong *)FUN_181341cd0(param_1,&local_res20,&local_38,0,DAT_1824c3ea4); puVar7[1] = &DAT_1821dbf98; puVar7[2] = &DAT_1821dbf98; puVar7[3] = 0; puVar7[4] = 0; puVar7[5] = 0; puVar7[6] = 0; puVar7[7] = 0; puVar7[8] = 0; puVar7[9] = 0; puVar7[10] = 0; puVar7[0xb] = 0; puVar7[0xc] = 0; puVar7[0xd] = 0; puVar7[0xe] = 0; puVar7[0xf] = 0; puVar7[0x10] = 0; puVar7[0x11] = 0; puVar7[0x12] = 0; puVar7[0x13] = 0; puVar7[0x14] = 0; *(undefined4 *)(puVar7 + 0x15) = 0; *(undefined1 *)((longlong)puVar7 + 0xac) = 0; *puVar7 = juce::TableHeaderComponent::DragOverlayComp::vftable; lVar3 = *plVar8; puVar7[0x16] = lVar3; if (lVar3 != 0) { LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); } FUN_181290f30(puVar7 + 0x16); FUN_1812900e0(puVar7 + 0x16,DAT_1824c3e28); FUN_18134b0f0(puVar7,1); puVar4 = *(undefined8 **)(param_1 + 0xe0); *(undefined8 **)(param_1 + 0xe0) = puVar7; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res20 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res20)(local_res20,1); } } FUN_18134bf20(param_1,*(undefined8 *)(param_1 + 0xe0),0xffffffff); *(int *)(param_1 + 0xf4) = iVar12; FUN_18134bfe0(*(undefined8 *)(param_1 + 0xe0),iVar11,0,iVar13,uVar2); iVar11 = *(int *)(param_1 + 0xdc); while (iVar11 = iVar11 + -1, -1 < iVar11) { plVar8 = *(longlong **)(*(longlong *)(param_1 + 0xd0) + (longlong)iVar11 * 8); (**(code **)(*plVar8 + 0x20))(plVar8,param_1,*(undefined4 *)(param_1 + 0xf4)); iVar6 = *(int *)(param_1 + 0xdc) + -1; if (iVar6 < iVar11) { iVar11 = iVar6; } } return; } ############ FUN_ 1812e43e0 size=630 ############ void FUN_1812e43e0(ulonglong param_1,longlong param_2) { longlong *plVar1; longlong *plVar2; longlong *plVar3; longlong lVar4; longlong lVar5; undefined8 uVar6; longlong *plVar7; ulonglong uVar8; int iVar9; undefined1 uVar10; longlong *plVar11; uint uVar12; int local_58 [2]; int local_50; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; ulonglong uVar13; lVar5 = FUN_18134adf0(); plVar1 = (longlong *)(lVar5 + 0x98); (**(code **)(*plVar1 + 8))(plVar1,param_2); (**(code **)(**(longlong **)(param_2 + 8) + 0x58))(*(longlong **)(param_2 + 8),local_58); plVar11 = *(longlong **)(param_1 + 0xc0); plVar2 = plVar11 + *(int *)(param_1 + 0xcc); uVar13 = 0; iVar9 = local_58[0]; do { if (plVar11 == plVar2) { return; } lVar5 = *plVar11; if ((*(byte *)(lVar5 + 0xc) & 1) != 0) { if ((iVar9 < *(int *)(lVar5 + 0x10) + (int)uVar13) && (((*(int *)(lVar5 + 8) != *(int *)(param_1 + 0xf4) || (*(longlong *)(param_1 + 0xe0) == 0)) || ((*(byte *)(*(longlong *)(param_1 + 0xe0) + 0xa8) >> 1 & 1) == 0)))) { if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_2 + 8) + 0x10))(*(longlong **)(param_2 + 8),uVar13); uStack_3c = *(undefined4 *)(param_1 + 0x2c); uStack_40 = *(undefined4 *)(lVar5 + 0x10); local_48 = 0; uStack_44 = 0; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x28))(*(longlong **)(param_2 + 8),&local_48); if (*(int *)(lVar5 + 8) == *(int *)(param_1 + 0xfc)) { if (DAT_182673700 == 0) { uVar6 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar6); } plVar7 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar3 = plVar7 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); for (; plVar7 != plVar3; plVar7 = plVar7 + 1) { lVar4 = *(longlong *)(*plVar7 + 0x48); uVar8 = 0; if (lVar4 != 0) { uVar8 = *(ulonglong *)(lVar4 + 0x10); } if ((uVar8 == param_1) && ((*(byte *)(*plVar7 + 0x28) & 0x70) != 0)) { uVar10 = 1; goto LAB_1812e45be; } } } uVar10 = 0; LAB_1812e45be: (**(code **)(*plVar1 + 0x10)) (plVar1,param_2,param_1,lVar5,*(int *)(lVar5 + 8),*(undefined4 *)(lVar5 + 0x10), *(undefined4 *)(param_1 + 0x2c),*(int *)(lVar5 + 8) == *(int *)(param_1 + 0xfc), uVar10,*(undefined4 *)(lVar5 + 0xc)); if (*(char *)(param_2 + 0x10) == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); iVar9 = local_58[0]; } else { *(undefined1 *)(param_2 + 0x10) = 0; iVar9 = local_58[0]; } } uVar12 = (int)uVar13 + *(int *)(lVar5 + 0x10); uVar13 = (ulonglong)uVar12; if (local_50 + iVar9 <= (int)uVar12) { return; } } plVar11 = plVar11 + 1; } while( true ); } ############ FUN_ 1812e8b00 size=34 ############ void FUN_1812e8b00(void) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(8); *puVar1 = juce::LabelKeyboardFocusTraverser::vftable; return; } ############ FUN_ 1812e8de0 size=226 ############ undefined8 FUN_1812e8de0(longlong param_1) { int *piVar1; int iVar2; code *pcVar3; undefined8 uVar4; longlong lVar5; undefined8 *local_res8; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; local_res8 = (undefined8 *)FUN_1811316e0(800); uVar4 = FUN_1812e2370(local_res8,param_1 + 8,0); lVar5 = FUN_18134adf0(param_1); pcVar3 = *(code **)(*(longlong *)(lVar5 + 0x50) + 0x10); uVar6 = (*pcVar3)((longlong *)(lVar5 + 0x50),&local_res8,param_1,pcVar3,uVar6); FUN_1812e1a20(uVar4,uVar6); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } FUN_1813418a0(param_1,uVar4); FUN_1812e8ed0(param_1,uVar4,0x1000284,0x1000201); FUN_1812e8ed0(param_1,uVar4,0x1000283,0x1000200); FUN_1812e8ed0(param_1,uVar4,0x1000285); return uVar4; } ############ FUN_ 1812ea650 size=123 ############ void FUN_1812ea650(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } if (*(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x10) != 0x32) { FUN_1812a77d0(*(longlong *)(DAT_182673700 + 0x30),0x32,param_3,param_4,uVar2); } if ((*(char *)(param_1 + 0x154) != '\0') && (*(char *)(param_2 + 0x59) != '\0')) { FUN_1812eab20(param_1); } return; } ############ FUN_ 1812ea6e0 size=198 ############ void FUN_1812ea6e0(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { char cVar1; undefined8 uVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } if (*(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x10) != 300) { FUN_1812a77d0(*(longlong *)(DAT_182673700 + 0x30),300,param_3,param_4,uVar3); } if ((*(byte *)(param_1 + 0xa9) & 0x10) == 0) { if (*(longlong *)(param_1 + 0x18) != 0) { cVar1 = FUN_18133eaa0(); if (cVar1 == '\0') goto LAB_1812ea768; } if ((*(uint *)(param_2 + 0x10) >> 5 & 1) == 0) { cVar1 = '\x01'; goto LAB_1812ea76a; } } LAB_1812ea768: cVar1 = '\0'; LAB_1812ea76a: *(char *)(param_1 + 0x154) = cVar1; if ((cVar1 != '\0') && ((*(longlong *)(param_2 + 0x30) == param_1 || ((*(char *)(*(longlong *)(param_1 + 0x170) + 0x200) == '\0' && (*(char *)(*(longlong *)(param_1 + 0x170) + 0x201) == '\0')))))) { FUN_1812eab20(param_1); } return; } ############ FUN_ 1812ee3c0 size=60 ############ void FUN_1812ee3c0(longlong param_1) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x40); FUN_1812ee500(uVar1,param_1 + 0x10,param_1 + 0x20,param_1 + 0x30,uVar2); return; } ############ FUN_ 1812ee5b0 size=56 ############ void FUN_1812ee5b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x30); FUN_1812ee6a0(uVar1,param_1 + 0x10,param_1 + 0x20,param_4,uVar2); return; } ############ FUN_ 1812ee730 size=79 ############ void FUN_1812ee730(longlong param_1) { longlong lVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar2 + 1) = 3; *puVar2 = juce::RelativePointPath::LineTo::vftable; lVar1 = *(longlong *)(param_1 + 0x10); puVar2[2] = lVar1; if (lVar1 != 0) { *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; } lVar1 = *(longlong *)(param_1 + 0x18); puVar2[3] = lVar1; if (lVar1 != 0) { *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; } return; } ############ FUN_ 1812ee830 size=41 ############ void FUN_1812ee830(void) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x10); *(undefined4 *)(puVar1 + 1) = 2; *puVar1 = juce::RelativePointPath::CloseSubPath::vftable; return; } ############ FUN_ 1812ee8a0 size=79 ############ void FUN_1812ee8a0(longlong param_1) { longlong lVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar2 + 1) = 1; *puVar2 = juce::RelativePointPath::StartSubPath::vftable; lVar1 = *(longlong *)(param_1 + 0x10); puVar2[2] = lVar1; if (lVar1 != 0) { *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; } lVar1 = *(longlong *)(param_1 + 0x18); puVar2[3] = lVar1; if (lVar1 != 0) { *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; } return; } ############ FUN_ 1812eea70 size=131 ############ undefined8 * FUN_1812eea70(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::Expression::Helpers::Constant::vftable; puVar1[2] = 0; *(undefined1 *)(puVar1 + 3) = 0; *param_1 = puVar1; *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::Expression::Helpers::Constant::vftable; puVar1[2] = 0; *(undefined1 *)(puVar1 + 3) = 0; param_1[1] = puVar1; *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; return param_1; } ############ FUN_ 1812ef720 size=61 ############ undefined8 * FUN_1812ef720(undefined8 *param_1) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar1 + 1) = 0; *puVar1 = juce::Expression::Helpers::Constant::vftable; puVar1[2] = 0; *(undefined1 *)(puVar1 + 3) = 0; *param_1 = puVar1; *(int *)(puVar1 + 1) = *(int *)(puVar1 + 1) + 1; return param_1; } ############ FUN_ 1812f04b0 size=206 ############ undefined8 FUN_1812f04b0(longlong *param_1,undefined4 *param_2,undefined8 param_3) { bool bVar1; undefined8 uVar2; undefined8 uVar3; undefined8 uVar4; undefined1 local_50 [72]; uVar4 = 0xfffffffffffffffe; if (*param_1 == param_1[1]) { uVar4 = 0; } else { uVar2 = FUN_1811316e0(0x198); uVar3 = FUN_1804ff0d0(local_50,param_2); if (((int)param_2[2] < 1) || ((int)param_2[3] < 1)) { bVar1 = true; } else { bVar1 = false; } uVar4 = FUN_1804faf50(uVar2,param_1,0,uVar3,!bVar1,((byte)DAT_182673aec & 0x70) != 0,param_3, DAT_1824c3ea4,uVar4,*param_2,param_2[2]); } return uVar4; } ############ FUN_ 1812f1b40 size=680 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812f1b40(longlong param_1,int param_2,undefined1 param_3,undefined8 *param_4) { ulonglong uVar1; longlong lVar2; undefined1 *puVar3; uint uVar4; bool bVar5; undefined1 auStack_2c8 [32]; undefined4 local_2a8; undefined8 local_298; undefined4 uStack_290; undefined4 uStack_28c; undefined8 local_288; undefined1 local_278; undefined4 local_274; undefined1 *local_270; undefined4 local_268; undefined8 local_228; undefined8 uStack_220; undefined8 local_218; undefined8 uStack_210; undefined8 local_208; undefined8 uStack_200; undefined1 *local_1f8; undefined4 local_1f0; undefined4 local_1ec; undefined1 local_1e8; undefined4 local_1e4; undefined1 local_1e0 [96]; longlong local_180 [5]; undefined1 local_158 [4]; undefined4 local_154; undefined1 local_150 [136]; undefined1 local_c8 [4]; undefined4 local_c4; undefined1 local_c0 [136]; ulonglong local_38; local_288 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_2c8; uVar1 = (ulonglong)local_298 >> 0x20; local_298 = (undefined8 *)((ulonglong)local_298 & 0xffffffff00000000); if (param_2 < *(int *)(param_1 + 300)) { puVar3 = (undefined1 *)((longlong)param_2 * 0x90 + *(longlong *)(param_1 + 0x120)); local_c8[0] = *puVar3; local_c4 = *(undefined4 *)(puVar3 + 4); FUN_1812f0e30(local_c0,puVar3 + 8); puVar3 = local_c8; uVar4 = 1; } else { local_278 = 1; local_274 = 0; local_270 = &DAT_1821dbf98; local_268 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = 0; uStack_200 = 0; local_1f8 = &DAT_1821dbf98; local_1f0 = 0; local_1ec = 1; local_298 = (undefined8 *)CONCAT44((int)uVar1,6); local_158[0] = 1; local_154 = 0; FUN_181348200(local_150,&local_270); puVar3 = local_158; uVar4 = 0xe; } local_298 = (undefined8 *)CONCAT44(local_298._4_4_,uVar4); local_1e8 = *puVar3; local_1e4 = *(undefined4 *)(puVar3 + 4); FUN_181348200(local_1e0,puVar3 + 8); if ((uVar4 & 8) != 0) { uVar4 = uVar4 & 0xfffffff7; FUN_1804d80a0(local_150); } if ((uVar4 & 4) != 0) { uVar4 = uVar4 & 0xfffffffb; FUN_1804d80a0(&local_270); } if ((uVar4 & 1) != 0) { FUN_1804d80a0(local_c0); } bVar5 = local_180[0] == 0; if (param_4 == (undefined8 *)0x0) { if (!bVar5) { local_298 = (undefined8 *)FUN_1811316e0(0xb8); local_298[1] = &DAT_1821dbf98; local_298[2] = &DAT_1821dbf98; local_298[3] = 0; local_298[4] = 0; local_298[5] = 0; local_298[6] = 0; local_298[7] = 0; local_298[8] = 0; local_298[9] = 0; local_298[10] = 0; local_298[0xb] = 0; local_298[0xc] = 0; local_298[0xd] = 0; local_298[0xe] = 0; local_298[0xf] = 0; local_298[0x10] = 0; local_298[0x11] = 0; local_298[0x12] = 0; local_298[0x13] = 0; local_298[0x14] = 0; *(undefined4 *)(local_298 + 0x15) = 0; *(undefined1 *)((longlong)local_298 + 0xac) = 0; *local_298 = juce::CustomMenuBarItemHolder::vftable; local_298[0x16] = 0; *(byte *)(local_298 + 0x15) = *(byte *)(local_298 + 0x15) | 0x18; FUN_1804f9f30(local_298,local_180); } } else { local_2a8 = 0; lVar2 = __RTDynamicCast(param_4,0,&juce::Component::RTTI_Type_Descriptor, &juce::CustomMenuBarItemHolder::RTTI_Type_Descriptor); if ((bVar5) || (lVar2 == 0)) { (**(code **)*param_4)(param_4,1); } else { *(undefined1 *)(local_180[0] + 0xc0) = param_3; uStack_28c = *(undefined4 *)(local_180[0] + 0x2c); uStack_290 = *(undefined4 *)(local_180[0] + 0x28); local_298 = (undefined8 *)0x0; FUN_181342870(local_180[0],&local_298,1); FUN_1804f9f30(lVar2,local_180); } } FUN_1804d80a0(local_1e0); } ############ FUN_ 1812f39d0 size=187 ############ void FUN_1812f39d0(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 uVar2; iVar1 = *(int *)(param_1 + 0x104); if (iVar1 == param_2) { return; } if (iVar1 < 0) { if (param_2 < 0) { if (iVar1 < 0) goto LAB_1812f3a19; goto LAB_1812f3a07; } uVar2 = 1; } else { LAB_1812f3a07: if (-1 < param_2) goto LAB_1812f3a19; uVar2 = 0; } FUN_1812f14b0(*(undefined8 *)(param_1 + 0xd0),uVar2,param_3,param_4,0xfffffffffffffffe); LAB_1812f3a19: FUN_1812f3ae0(param_1,*(undefined4 *)(param_1 + 0x104)); *(int *)(param_1 + 0x104) = param_2; FUN_1812f3ae0(param_1,param_2); if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } if (param_2 < 0) { FUN_18133bd10(DAT_182673700,param_1); return; } FUN_18134b370(); return; } ############ FUN_ 1812f3050 size=326 ############ void FUN_1812f3050(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 uVar2; undefined8 local_res8; undefined1 local_68 [8]; int local_60; int local_5c; FUN_181339840(param_2,local_68,param_1,param_4,0xfffffffffffffffe); local_res8 = CONCAT44(local_5c,local_60); iVar1 = FUN_1812f3b60(param_1,local_res8); if (*(int *)(param_1 + 0x100) != iVar1) { FUN_1812f3ae0(param_1); *(int *)(param_1 + 0x100) = iVar1; FUN_1812f3ae0(param_1,iVar1); } if ((((*(int *)(param_1 + 0x100) < 0) && (-1 < local_60)) && (-1 < local_5c)) && ((local_60 < *(int *)(param_1 + 0x28) && (local_5c < *(int *)(param_1 + 0x2c))))) { if (*(int *)(param_1 + 0x104) != -1) { if (-1 < *(int *)(param_1 + 0x104)) { FUN_1812f14b0(*(undefined8 *)(param_1 + 0xd0),0); } FUN_1812f3ae0(param_1,*(undefined4 *)(param_1 + 0x104)); *(undefined4 *)(param_1 + 0x104) = 0xffffffff; FUN_1812f3ae0(param_1,0xffffffff); if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } FUN_18133bd10(DAT_182673700,param_1); } FUN_18134b590(); } return; } ############ FUN_ 1812f33a0 size=350 ############ void FUN_1812f33a0(longlong param_1,int param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; longlong lVar4; int iVar5; undefined8 *puVar6; undefined8 uVar7; undefined8 local_res8 [2]; undefined1 local_res18 [8]; undefined1 local_res20 [8]; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; puVar6 = (undefined8 *)FUN_18133c1f0(local_res18); uVar7 = *puVar6; if (param_1 != 0) { lVar4 = *(longlong *)(param_1 + 0x18); lVar3 = param_1; while (lVar2 = lVar4, lVar2 != 0) { lVar3 = lVar2; lVar4 = *(longlong *)(lVar2 + 0x18); } puVar6 = (undefined8 *)FUN_18051e060(local_res8,lVar3,*puVar6); uVar7 = *puVar6; if (lVar3 != param_1) { if (*(longlong *)(param_1 + 0x18) != lVar3) { puVar6 = (undefined8 *) FUN_180520050(local_res20,lVar3,*(longlong *)(param_1 + 0x18),uVar7,uVar8); uVar7 = *puVar6; } FUN_18051e060(local_res8,param_1,uVar7); uVar7 = local_res8[0]; } } iVar5 = FUN_1812f3b60(param_1,uVar7); if (*(int *)(param_1 + 0x100) != iVar5) { FUN_1812f3ae0(param_1); *(int *)(param_1 + 0x100) = iVar5; FUN_1812f3ae0(param_1,iVar5); } iVar5 = *(int *)(param_1 + 0x104); if ((iVar5 == *(int *)(param_1 + 0x108)) && (iVar5 != -1)) { if (-1 < iVar5) { FUN_1812f14b0(*(undefined8 *)(param_1 + 0xd0),0); } FUN_1812f3ae0(param_1,*(undefined4 *)(param_1 + 0x104)); *(undefined4 *)(param_1 + 0x104) = 0xffffffff; FUN_1812f3ae0(param_1,0xffffffff); if (DAT_182673700 == 0) { local_res8[0] = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8[0]); } FUN_18133bd10(DAT_182673700,param_1); } if ((param_2 != 0) && (plVar1 = *(longlong **)(param_1 + 0xd0), plVar1 != (longlong *)0x0)) { (**(code **)(*plVar1 + 0x20))(plVar1,param_2,*(undefined4 *)(param_1 + 0x108)); } return; } ############ FUN_ 1812f4160 size=191 ############ void FUN_1812f4160(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; longlong lVar3; int iVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; *param_1 = juce::MenuBarComponent::vftable; param_1[0x16] = juce::MenuBarComponent::vftable; param_1[0x17] = juce::MenuBarComponent::vftable; FUN_1812f40d0(); if (DAT_182673700 == 0) { uVar2 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar2); } lVar1 = DAT_182673700; iVar4 = 0; lVar3 = 0; if (0 < (longlong)*(int *)(DAT_182673700 + 0x44)) { do { if (param_1 == *(undefined8 **)(*(longlong *)(DAT_182673700 + 0x38) + lVar3 * 8)) { FUN_18049b4a0(DAT_182673700 + 0x38,iVar4,*(longlong *)(DAT_182673700 + 0x38),param_4,uVar5); break; } iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; } while (lVar3 < *(int *)(DAT_182673700 + 0x44)); } FUN_18133bd90(lVar1); *(undefined4 *)((longlong)param_1 + 0xf4) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x1d]); } ############ FUN_ 1812f51d0 size=554 ############ void FUN_1812f51d0(longlong param_1,longlong param_2,undefined8 param_3,undefined1 param_4, int param_5,int param_6) { int *piVar1; int iVar2; longlong lVar3; int iVar4; undefined4 *puVar5; undefined8 *puVar6; longlong *plVar7; int iVar8; float fVar9; float fVar10; float fVar11; undefined8 *local_res8; undefined1 local_res20 [8]; uint in_stack_ffffffffffffff70; float local_70; float local_6c; float local_68; float local_64; iVar4 = param_6; fVar11 = (float)param_6; fVar9 = fVar11 * DAT_1824c3e10; fVar10 = (fVar11 - fVar9) * DAT_1824c3d8c; local_70 = fVar10; local_6c = fVar10; local_68 = fVar9; local_64 = fVar9; puVar5 = (undefined4 *)FUN_181346420(param_1 + -0x80,local_res20,0x1005700); (**(code **)(*(longlong *)(param_1 + -0x58) + 8)) ((longlong *)(param_1 + -0x58),param_2,&local_70,*puVar5,param_4, in_stack_ffffffffffffff70 & 0xffffff00); iVar8 = (int)(fVar10 * DAT_1824c41e0 + fVar9 + DAT_1824c41e0); puVar5 = (undefined4 *)FUN_181346420(param_1 + -0x80,¶m_6,0x1008301); FUN_181296c00(param_2,*puVar5); fVar11 = fVar11 * DAT_1824c3df0; puVar6 = (undefined8 *)FUN_1811316e0(0x40); fVar9 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar11) && (fVar9 = DAT_1824c45c8, fVar11 <= DAT_1824c45c8)) { fVar9 = fVar11; } *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::Font::SharedFontInternal::vftable; puVar6[2] = 0; plVar7 = (longlong *)FUN_181252610(); lVar3 = *plVar7; puVar6[3] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(puVar6 + 4,&DAT_1824983b4); *(float *)(puVar6 + 5) = fVar9; *(undefined8 *)((longlong)puVar6 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar6 + 0x34) = 0; *(undefined1 *)(puVar6 + 7) = 0; LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); local_res8 = puVar6; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_res8); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } FUN_1812962a0(param_2,param_3,iVar8,0,(param_5 - iVar8) + -4,iVar4,0x21,1); return; } ############ FUN_ 18130ccc0 size=743 ############ undefined8 * FUN_18130ccc0(undefined8 param_1,longlong param_2) { uint uVar1; undefined4 uVar2; undefined1 uVar3; undefined8 *puVar4; undefined4 *puVar5; uint *_Memory; bool bVar6; float fVar7; undefined4 local_res10; undefined1 local_res18 [8]; undefined1 local_res20 [8]; undefined1 *local_88 [2]; undefined8 local_78; undefined4 uStack_70; undefined4 uStack_6c; undefined1 local_68 [4]; undefined1 local_64 [4]; undefined1 local_60 [4]; undefined1 local_5c [4]; undefined1 local_58 [8]; undefined1 *local_50; undefined8 local_48; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; local_48 = 0xfffffffffffffffe; puVar4 = (undefined8 *)FUN_1811316e0(0x208); local_50 = &DAT_1821dbf98; local_88[0] = &DAT_1821dbf98; FUN_18134a080(puVar4,local_88,&local_50); _Memory = (uint *)(local_88[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar6 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar6) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *puVar4 = juce::LookAndFeel_V2::SliderLabelComp::vftable; puVar4[0x16] = juce::LookAndFeel_V2::SliderLabelComp::vftable; puVar4[0x18] = juce::LookAndFeel_V2::SliderLabelComp::vftable; puVar4[0x19] = juce::LookAndFeel_V2::SliderLabelComp::vftable; puVar4[0x1a] = juce::LookAndFeel_V2::SliderLabelComp::vftable; if (*(int *)(puVar4 + 0x38) != 0x24) { *(undefined4 *)(puVar4 + 0x38) = 0x24; local_78 = 0; uStack_70 = *(undefined4 *)(puVar4 + 5); uStack_6c = *(undefined4 *)((longlong)puVar4 + 0x2c); local_38 = 0; uStack_34 = 0; uStack_30 = uStack_70; uStack_2c = uStack_6c; FUN_181342870(puVar4,&local_38,1); } *(undefined4 *)((longlong)puVar4 + 0x1fc) = 2; puVar5 = (undefined4 *)FUN_18134a8d0(param_2,local_res18,0x1001400,0); FUN_18134a800(puVar4,0x1000281,*puVar5); uVar2 = DAT_182673b60; if (1 < *(int *)(*(longlong *)(param_2 + 0x200) + 0x20) - 2U) { puVar5 = (undefined4 *)FUN_18134a8d0(param_2,local_res20,0x1001500,0); uVar2 = *puVar5; } FUN_18134a800(puVar4,0x1000280,uVar2); puVar5 = (undefined4 *)FUN_18134a8d0(param_2,local_68,0x1001700,0); FUN_18134a800(puVar4,0x1000282,*puVar5); puVar5 = (undefined4 *)FUN_18134a8d0(param_2,local_64,0x1001400,0); FUN_18134a800(puVar4,0x1000201,*puVar5); fVar7 = DAT_1824c3df0; if (1 < *(int *)(*(longlong *)(param_2 + 0x200) + 0x20) - 2U) { fVar7 = DAT_1824c3ea4; } puVar5 = (undefined4 *)FUN_18134a8d0(param_2,local_60,0x1001500,0); if (0.0 < fVar7) { if (fVar7 < DAT_1824c3ea4) { uVar3 = (undefined1)(int)(fVar7 * DAT_1824c454c); } else { uVar3 = 0xff; } } else { uVar3 = 0; } local_res10 = CONCAT13(uVar3,(int3)*puVar5); FUN_18134a800(puVar4,0x1000200,local_res10); puVar5 = (undefined4 *)FUN_18134a8d0(param_2,local_5c,0x1001700,0); FUN_18134a800(puVar4,0x1000205,*puVar5); puVar5 = (undefined4 *)FUN_18134a8d0(param_2,local_58,0x1001600,0); FUN_18134a800(puVar4,0x1000202,*puVar5); return puVar4; } ############ FUN_ 1812f8780 size=740 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f8780(void) { uint uVar1; bool bVar2; undefined8 uVar3; undefined8 uVar4; char cVar5; undefined8 *puVar6; int *piVar7; longlong lVar8; uint *_Memory; int iVar9; undefined8 *local_res18; longlong local_res20; undefined8 in_stack_fffffffffffffd78; undefined4 uVar10; void *local_248; undefined8 local_240; undefined8 local_238; undefined8 uStack_230; undefined1 local_228; int local_220; undefined8 local_218; undefined8 uStack_210; undefined8 local_208; undefined8 uStack_200; undefined4 local_1f8; undefined4 uStack_1f4; undefined8 local_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined4 uStack_1d4; undefined4 uStack_1d0; undefined4 uStack_1cc; undefined **local_1c8 [5]; undefined4 local_1a0; undefined4 local_19c; undefined1 local_e8 [16]; undefined4 local_d8; undefined4 uStack_d4; undefined4 uStack_d0; undefined4 uStack_cc; undefined1 local_c8; int local_98; longlong local_90; longlong local_88; undefined8 local_80; undefined8 uStack_78; undefined8 local_70; uVar10 = (undefined4)((ulonglong)in_stack_fffffffffffffd78 >> 0x20); local_1f0 = 0xfffffffffffffffe; puVar6 = (undefined8 *)FUN_1811316e0(0x220); local_res18 = puVar6; FUN_18049c4e0(&local_res20,&DAT_1821e2e44); FUN_1813379d0(puVar6,&local_res20); *puVar6 = juce::DrawableButton::vftable; puVar6[0x16] = juce::DrawableButton::vftable; *(undefined4 *)(puVar6 + 0x39) = 3; puVar6[0x3a] = 0; puVar6[0x3b] = 0; puVar6[0x3c] = 0; puVar6[0x3d] = 0; puVar6[0x3e] = 0; puVar6[0x3f] = 0; puVar6[0x40] = 0; puVar6[0x41] = 0; puVar6[0x42] = 0; *(undefined4 *)(puVar6 + 0x43) = 3; _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_248 = (void *)0x0; local_240 = 0; local_238 = 0; uStack_230 = 0; local_228 = 1; local_1e8 = _DAT_1824c4800; uStack_1e0 = _UNK_1824c4808; FUN_18129c5c0(&local_248,&local_1e8,DAT_1824c4490,DAT_1824c44dc,CONCAT44(uVar10,DAT_1824c44a8)); FUN_181330640(local_1c8); local_1c8[0] = juce::DrawablePath::vftable; piVar7 = (int *)FUN_18134a8d0(puVar6,&local_res18,0x1000102,0); uVar4 = _UNK_1824c4788; uVar3 = _DAT_1824c4780; local_220 = *piVar7; local_218 = 0; uStack_210 = 0; local_208 = _DAT_1824c4780; uStack_200 = _UNK_1824c4788; local_1f8 = DAT_1824c3ea4; uStack_1f4 = 0; iVar9 = local_220; if ((local_98 == local_220) && (local_88 == 0)) { cVar5 = FUN_1812a0bf0(&local_80,&local_208); if ((cVar5 != '\0') && (bVar2 = true, local_90 == 0)) goto LAB_1812f896a; } bVar2 = false; LAB_1812f896a: if (!bVar2) { local_98 = iVar9; lVar8 = FUN_1804b0230(0); if (local_90 != 0) { *(undefined4 *)(local_90 + 0x24) = 0; puVar6 = (undefined8 *)(local_90 + 0x18); local_90 = lVar8; /* WARNING: Subroutine does not return */ free((void *)*puVar6); } local_90 = lVar8; FUN_1812911c0(&local_88,&uStack_210); local_80 = uVar3; uStack_78 = uVar4; local_70 = CONCAT44(uStack_1f4,local_1f8); local_1d8 = 0; uStack_1d4 = 0; uStack_1d0 = local_1a0; uStack_1cc = local_19c; FUN_181342870(local_1c8,&local_1d8,1); } FUN_1804aaf40(local_e8,&local_248); local_d8 = (undefined4)local_238; uStack_d4 = local_238._4_4_; uStack_d0 = (undefined4)uStack_230; uStack_cc = uStack_230._4_4_; local_c8 = local_228; FUN_181330000(local_1c8); FUN_1813355a0(puVar6,local_1c8,0,0,0,0,0,0); local_1c8[0] = juce::DrawablePath::vftable; FUN_1813304a0(local_1c8); /* WARNING: Subroutine does not return */ free(local_248); } ############ FUN_ 1812f90a0 size=1279 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f90a0(ulonglong param_1,longlong param_2,longlong param_3,undefined8 *param_4) { int *piVar1; longlong lVar2; int iVar3; DWORD DVar4; undefined4 *puVar5; undefined8 *puVar6; longlong *plVar7; int iVar8; int iVar9; int iVar10; float fVar11; float fVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; ulonglong local_res8 [2]; undefined4 local_res18 [2]; float local_res20; float in_stack_fffffffffffffe38; undefined8 *local_198; undefined8 local_190; undefined4 local_188; undefined8 local_184; undefined4 local_17c; undefined4 local_178; undefined4 local_174; float local_170; float local_16c; undefined4 local_168; undefined4 uStack_164; undefined4 uStack_160; undefined4 uStack_15c; undefined8 local_158; float local_150; uint local_14c; float local_148; float local_144; float local_140; float local_13c; undefined4 local_138; undefined4 uStack_134; undefined4 uStack_130; undefined4 uStack_12c; undefined8 local_128; undefined1 local_120 [8]; void *local_118; ulonglong local_110; undefined8 local_108; undefined8 uStack_100; undefined1 local_f8; undefined8 local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 uStack_d8; undefined1 local_d0; undefined8 local_c8; local_c8 = 0xfffffffffffffffe; local_res8[0] = param_1; FUN_18134a8d0(param_3,local_res8,0x1001900,0); FUN_18134a8d0(param_3,local_res18,0x1001a00,0); iVar3 = *(int *)(param_3 + 0x28) + -4; iVar9 = 0; if (0 < iVar3) { iVar9 = iVar3; } iVar3 = *(int *)(param_3 + 0x2c) + -4; iVar8 = 0; if (0 < iVar3) { iVar8 = iVar3; } local_res20 = (float)iVar9; DVar4 = timeGetTime(); fVar14 = DAT_1824c3d8c; if (DVar4 < DAT_1826737fc) { if (DVar4 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar4; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar4; } iVar3 = (int)((ulonglong)DVar4 / 10); iVar10 = (int)(((ulonglong)DVar4 / 10) * 0x6c16c16d >> 0x20); fVar13 = (float)(iVar3 + (((uint)(iVar3 - iVar10) >> 1) + iVar10 >> 8) * -0x168); fVar12 = fVar13 / DAT_1824c4564; fVar11 = fVar13 + DAT_1824c4438; if ((fVar12 < DAT_1824c3d3c) || (DAT_1824c3d8c <= fVar12)) { if ((DAT_1824c3d8c <= fVar12) && (fVar12 <= DAT_1824c3ea4)) { fVar11 = fVar11 + _DAT_1824c455c; fVar13 = (fVar11 - DAT_1824c4438) - (DAT_1824c3ea4 - (fVar12 * DAT_1824c41e0 - DAT_1824c3ea4)) * _DAT_1824c455c; } } else { fVar11 = (fVar12 * DAT_1824c4334 - DAT_1824c3ea4) * _DAT_1824c455c + fVar11; } FUN_181296c00(param_2,local_res8[0] & 0xffffffff); local_f0 = 0; local_e8 = 0; local_e0 = 0; uStack_d8 = 0; local_d0 = 1; fVar16 = (float)iVar8 * fVar14; fVar15 = fVar16 + DAT_1824c41e0; fVar14 = (float)iVar9 * fVar14; fVar17 = fVar14 + DAT_1824c41e0; if (0.0 < fVar14) { in_stack_fffffffffffffe38 = fVar16; FUN_18129cdf0(&local_f0,fVar17,fVar15,fVar14,fVar16,0,0,DAT_1824c43a4,1); } local_168 = _DAT_1824c4780; uStack_164 = _UNK_1824c4784; uStack_160 = _UNK_1824c4788; uStack_15c = _UNK_1824c478c; local_158 = 0x3f800000; local_190 = 0x40800000; local_188 = 0; FUN_181295d20(param_2,&local_f0,&local_190,&local_168); FUN_181296c00(param_2,local_res18[0]); local_118 = (void *)0x0; local_110 = 0; local_108 = 0; uStack_100 = 0; local_f8 = 1; if (0.0 < fVar14) { FUN_18129cdf0(&local_118,fVar17,fVar15,fVar14,fVar16,0,fVar13 * DAT_1824c3c78, fVar11 * DAT_1824c3c78,1); in_stack_fffffffffffffe38 = fVar16; } fVar11 = fVar12 * DAT_1824c42e0 * _DAT_1824c4224; fVar14 = cosf(fVar11); local_144 = sinf(fVar11); local_14c = (uint)local_144 ^ DAT_1824c4f30; local_148 = (local_144 * fVar15 - fVar14 * fVar17) + fVar17; local_13c = fVar15 - (local_144 * fVar17 + fVar14 * fVar15); local_150 = fVar14; local_140 = fVar14; FUN_18129b680(&local_118,&local_150); local_138 = _DAT_1824c4780; uStack_134 = _UNK_1824c4784; uStack_130 = _UNK_1824c4788; uStack_12c = _UNK_1824c478c; local_128 = 0x3f800000; local_184 = 0x40800000; local_17c = 0; FUN_181295d20(param_2,&local_118,&local_184,&local_138); if (*(char *)*param_4 != '\0') { puVar5 = (undefined4 *)FUN_18134a8d0(param_3,local_120,0x1000102,0); FUN_181296c00(param_2,*puVar5); puVar6 = (undefined8 *)FUN_1811316e0(0x40); *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::Font::SharedFontInternal::vftable; puVar6[2] = 0; plVar7 = (longlong *)FUN_181252610(); lVar2 = *plVar7; puVar6[3] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(puVar6 + 4,"Italic"); *(undefined4 *)(puVar6 + 5) = 0x41400000; *(undefined8 *)((longlong)puVar6 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar6 + 0x34) = 0; *(undefined1 *)(puVar6 + 7) = 0; LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); local_198 = puVar6; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_198); if (local_198 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_198 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_198)(local_198,1); } } local_178 = 0x40000000; local_174 = 0x40000000; local_170 = local_res20; local_16c = (float)iVar8; FUN_1812963b0(param_2,param_4,&local_178,0x24,(uint)in_stack_fffffffffffffe38 & 0xffffff00); } local_110 = local_110 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_118); } ############ FUN_ 1812f9f00 size=64 ############ longlong * FUN_1812f9f00(undefined8 param_1,longlong *param_2) { undefined8 uVar1; longlong lVar2; uVar1 = FUN_1811316e0(0x40); lVar2 = FUN_1804a2b80(uVar1,0,DAT_1824c4414); *param_2 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_2; } ############ FUN_ 1812f9f50 size=64 ############ longlong * FUN_1812f9f50(undefined8 param_1,longlong *param_2) { undefined8 uVar1; longlong lVar2; uVar1 = FUN_1811316e0(0x40); lVar2 = FUN_1804a2b80(uVar1,0,DAT_1824c441c); *param_2 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_2; } ############ FUN_ 1812f9fa0 size=183 ############ undefined8 * FUN_1812f9fa0(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined4 uVar2; undefined8 *puVar3; longlong *plVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; puVar3 = (undefined8 *)FUN_1811316e0(0x40); uVar2 = DAT_1824c4424; *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = juce::Font::SharedFontInternal::vftable; puVar3[2] = 0; plVar4 = (longlong *)FUN_181252610(); lVar1 = *plVar4; puVar3[3] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(puVar3 + 4,&DAT_1824983b4,param_3,param_4,uVar5); *(undefined4 *)(puVar3 + 5) = uVar2; *(undefined8 *)((longlong)puVar3 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar3 + 0x34) = 0; *(undefined1 *)(puVar3 + 7) = 0; *param_2 = puVar3; LOCK(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; UNLOCK(); return param_2; } ############ FUN_ 1812fa070 size=1921 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812fa070(longlong *param_1,longlong param_2,longlong param_3,longlong param_4, undefined8 param_5) { int *piVar1; uint uVar2; char cVar3; int iVar4; int iVar5; undefined4 *puVar6; longlong lVar7; float **ppfVar8; undefined8 *puVar9; longlong *plVar10; undefined8 uVar11; uint *_Memory; float *pfVar12; undefined4 uVar13; int iVar14; float fVar15; float fVar16; float *local_238; undefined8 local_230; undefined8 local_228; undefined8 uStack_220; undefined1 local_218; void *local_210; undefined8 local_208; undefined8 *local_200; undefined8 local_1f8; float fStack_1f0; float fStack_1ec; undefined4 local_1e8; undefined4 uStack_1e4; int iStack_1e0; int iStack_1dc; undefined4 local_1d8; undefined4 uStack_1d4; float fStack_1d0; float fStack_1cc; undefined8 local_1c8; undefined8 uStack_1c0; undefined8 local_1b8; undefined1 local_1b0 [4]; undefined1 local_1ac [4]; undefined4 local_1a8; undefined1 local_1a4 [4]; float local_1a0; float local_19c; longlong local_198; float local_190; float fStack_18c; float fStack_188; float fStack_184; float *local_170; undefined4 local_168; undefined4 local_164; undefined8 local_160; float local_158; float *local_150; undefined4 local_148; undefined4 uStack_144; float fStack_140; float fStack_13c; undefined8 local_138; undefined8 uStack_130; undefined4 local_128; undefined4 uStack_124; float fStack_120; float fStack_11c; int local_118; int local_114; float local_108; float fStack_104; float fStack_100; float fStack_fc; undefined4 local_f8; undefined4 uStack_f4; float fStack_f0; float fStack_ec; void *local_e8; undefined4 local_dc; local_160 = 0xfffffffffffffffe; puVar6 = (undefined4 *)FUN_18134a8d0(param_3,local_1b0,0x1001820,0); FUN_181296c00(param_2,*puVar6); fStack_1ec = (float)*(int *)(param_3 + 0x2c); fStack_1f0 = (float)*(int *)(param_3 + 0x28); local_1f8 = 0; local_148 = 0; uStack_144 = 0; fStack_140 = fStack_1f0; fStack_13c = fStack_1ec; FUN_181295190(param_2,&local_148); iVar4 = *(int *)(param_3 + 0x28) + -2; iVar5 = 0; if (0 < iVar4) { iVar5 = iVar4; } iVar4 = *(int *)(param_3 + 0x2c) + -2; iVar14 = 0; if (0 < iVar4) { iVar14 = iVar4; } local_1e8 = 1; uStack_1e4 = 1; local_138 = 0x100000001; uStack_130 = CONCAT44(iVar14,iVar5); iStack_1e0 = iVar5; iStack_1dc = iVar14; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x28))(*(longlong **)(param_2 + 8),&local_138); puVar6 = (undefined4 *)FUN_18134a8d0(param_3,local_1ac,0x1001800,0); FUN_181296c00(param_2,*puVar6); fStack_1cc = (float)iVar14; fVar16 = (float)iVar5; local_1d8 = 0x3f800000; uStack_1d4 = 0x3f800000; local_128 = 0x3f800000; uStack_124 = 0x3f800000; fStack_1d0 = fVar16; fStack_120 = fVar16; fStack_11c = fStack_1cc; FUN_181295300(param_2,&local_128); iVar5 = 0x82; if (iVar14 + 0x14 < 0x82) { iVar5 = iVar14 + 0x14; } if (((0 < *(int *)(param_3 + 0x1ac)) || (2 < *(int *)(param_3 + 0x14c))) && (iVar4 = *(int *)(param_4 + 0xc) + 0x32, iVar4 < iVar5)) { iVar5 = iVar4; } iVar4 = (int)((ulonglong)((longlong)iVar5 * -0x66666667) >> 0x20); local_118 = (iVar4 >> 2) - (iVar4 >> 0x1f); iVar4 = *(int *)(param_3 + 0xe8); local_114 = local_118; if (iVar4 == 0) { puVar6 = (undefined4 *)FUN_18134a8d0(param_3,local_1a4,0x1001810,0); FUN_181296c00(param_2,*puVar6); if (*(code **)(*param_1 + 0x28) == FUN_1812fa060) { iVar5 = 0x28; } else { iVar5 = (**(code **)(*param_1 + 0x28))(param_1); } fStack_ec = (float)((iVar14 - iVar5) + -0x14); local_f8 = 0x3f800000; uStack_f4 = DAT_1824c4478; fStack_f0 = fVar16; FUN_18124e500(param_5,param_2,&local_f8); return; } local_238 = (float *)0x0; local_230 = (float *)0x0; local_228 = (float *)0x0; uStack_220 = (float *)0x0; local_218 = 1; local_190 = (float)local_118; fVar16 = (float)iVar5; local_19c = (float)local_118; if (iVar4 == 2) { local_1a0 = fVar16 * DAT_1824c3d8c + local_190; local_228 = (float *)CONCAT44(local_1a0,local_1a0); uStack_220 = (float *)CONCAT44(local_19c,local_19c); local_158 = local_190; FUN_1804b02a0(&local_238,&DAT_1821df344); FUN_18129ddd0(&local_238); FUN_18129ddd0(&local_238); if ((local_230._4_4_ != 0) && ((local_230._4_4_ < 1 || (local_238[local_230._4_4_ + -1] != DAT_1824c460c)))) { if ((int)local_230 < local_230._4_4_ + 1) { FUN_1804af790(&local_238,local_230._4_4_ + 9 + (local_230._4_4_ + 1) / 2 & 0xfffffff8); } lVar7 = (longlong)local_230._4_4_; local_230 = (float *)CONCAT44(local_230._4_4_ + 1,(int)local_230); local_238[lVar7] = 100005.0; } ppfVar8 = (float **)FUN_18129a910(&local_238,&local_e8); pfVar12 = local_238; if (&local_238 != ppfVar8) { local_170 = *ppfVar8; *ppfVar8 = (float *)0x0; local_168 = *(undefined4 *)(ppfVar8 + 1); local_164 = *(undefined4 *)((longlong)ppfVar8 + 0xc); local_230 = ppfVar8[1]; ppfVar8[1] = (float *)0x0; local_150 = local_238; local_238 = local_170; /* WARNING: Subroutine does not return */ free(pfVar12); } local_228 = ppfVar8[2]; uStack_220 = ppfVar8[3]; local_218 = *(undefined1 *)(ppfVar8 + 4); local_dc = 0; /* WARNING: Subroutine does not return */ free(local_e8); } uVar13 = 0x3f; if (iVar4 == 3) { uVar13 = 0x69; } fStack_18c = local_19c; fStack_188 = fVar16; fStack_184 = fVar16; local_108 = local_190; fStack_104 = local_19c; fStack_100 = fVar16; fStack_fc = fVar16; FUN_18129d1e0(&local_238,&local_108); local_210 = (void *)0x0; local_208 = 0; FUN_1804aebd0(&local_210,200); fVar16 = fVar16 * DAT_1824c3e58; puVar9 = (undefined8 *)FUN_1811316e0(); fVar15 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar16) && (fVar15 = DAT_1824c45c8, fVar16 <= DAT_1824c45c8)) { fVar15 = fVar16; } *(undefined4 *)(puVar9 + 1) = 0; *puVar9 = juce::Font::SharedFontInternal::vftable; puVar9[2] = 0; plVar10 = (longlong *)FUN_181252610(); lVar7 = *plVar10; puVar9[3] = lVar7; if ((*(uint *)(lVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar7 + -0x10) = *(int *)(lVar7 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(puVar9 + 4,&DAT_1824983b4); *(float *)(puVar9 + 5) = fVar15; *(undefined8 *)((longlong)puVar9 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar9 + 0x34) = 0; *(undefined1 *)(puVar9 + 7) = 0; LOCK(); *(int *)(puVar9 + 1) = *(int *)(puVar9 + 1) + 1; UNLOCK(); local_200 = puVar9; uVar11 = FUN_181233f40(&local_198,uVar13); local_1a8 = 0x24; FUN_181250750(&local_210,&local_200,uVar11); _Memory = (uint *)(local_198 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (local_200 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_200 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_200)(local_200,1); } } FUN_18124ee80(&local_210,&local_238); local_218 = 0; FUN_181296c00(param_2,0x6600b0b9); cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar3 == '\0') { for (pfVar12 = local_238; pfVar12 != local_238 + local_230._4_4_; pfVar12 = pfVar12 + 1) { fVar16 = *pfVar12; if (fVar16 == DAT_1824c4600) { pfVar12 = pfVar12 + 2; } else if (((fVar16 == DAT_1824c45fc) || (fVar16 == DAT_1824c4604)) || (fVar16 == DAT_1824c4608) ) { local_1c8 = _DAT_1824c4780; uStack_1c0 = _UNK_1824c4788; local_1b8 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_238,&local_1c8); break; } } } FUN_1804aeb50(&local_210); /* WARNING: Subroutine does not return */ free(local_210); } ############ FUN_ 181313f10 size=506 ############ undefined8 FUN_181313f10(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined4 param_7,int param_8,undefined8 param_9 ) { wint_t wVar1; wint_t wVar2; undefined8 uVar3; uint *puVar4; uint *puVar5; wint_t local_40; undefined2 uStack_3e; undefined4 uStack_3c; undefined4 local_38; uint local_30 [4]; uint local_20 [6]; uVar3 = FUN_1811316e0(0x1e0); local_40 = (wint_t)uVar3; uStack_3e = (undefined2)((ulonglong)uVar3 >> 0x10); uStack_3c = (undefined4)((ulonglong)uVar3 >> 0x20); uVar3 = FUN_181347860(uVar3,param_2,param_3,param_7,param_9); if (param_8 == 1) { local_20[0] = 0xd; } else { wVar1 = FUN_180493050(param_4,0); wVar1 = towlower(wVar1); local_20[1] = 0; local_20[2] = 0; local_20[0] = (uint)wVar1; wVar2 = FUN_180493050(param_5,0); local_40 = towlower(wVar2); uStack_3e = 0; uStack_3c = 0; local_38 = 0; if ((uint)wVar1 == (uint)local_40) { LAB_181313fed: local_40 = 0; uStack_3e = 0; uStack_3c = 0; local_38 = 0; } else if ((wVar1 < 0x100) && (local_40 < 0x100)) { wVar1 = towlower(wVar1); wVar2 = towlower(local_40); if (wVar1 == wVar2) goto LAB_181313fed; } if (param_8 == 2) { local_30[0] = 0xd; local_30[1] = 0; local_30[2] = 0; FUN_181347060(uVar3,param_4,1,local_30,local_20); local_20[0] = 0x1b; puVar4 = (uint *)&local_40; puVar5 = local_20; param_4 = param_5; goto LAB_1813140da; } if (param_8 != 3) { return uVar3; } local_30[1] = 0; local_30[0] = 0; local_30[2] = 0; FUN_181347060(uVar3,param_4,1,local_20,local_30); local_20[1] = 0; local_20[0] = 0; local_20[2] = 0; FUN_181347060(uVar3,param_5,2,&local_40,local_20); local_20[0] = 0; param_4 = param_6; } puVar4 = local_20; local_30[0] = 0x1b; local_30[1] = 0; local_30[2] = 0; puVar5 = local_30; LAB_1813140da: local_20[1] = 0; local_20[2] = 0; FUN_181347060(uVar3,param_4,0,puVar5,puVar4); return uVar3; } ############ FUN_ 1812fa9c0 size=413 ############ void FUN_1812fa9c0(undefined8 param_1,longlong param_2) { int *piVar1; byte bVar2; undefined4 uVar3; undefined8 uVar4; longlong *plVar5; byte *pbVar6; int iVar7; float fVar8; float fVar9; float fVar10; undefined8 *local_res10; double local_res18; fVar9 = (float)*(int *)(param_2 + 0x2c) * DAT_1824c3e10; if (DAT_1824c4418 <= fVar9) { fVar9 = DAT_1824c4418; } fVar10 = fVar9 * DAT_1824c3ee0; uVar4 = FUN_1811316e0(0x40); fVar8 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar9) && (fVar8 = DAT_1824c45c8, fVar9 <= DAT_1824c45c8)) { fVar8 = fVar9; } local_res10 = (undefined8 *)FUN_1804a2b80(uVar4,0,fVar8); if (local_res10 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res10 + 1) = *(int *)(local_res10 + 1) + 1; UNLOCK(); } uVar3 = *(undefined4 *)(param_2 + 0x2c); plVar5 = (longlong *)FUN_181252280(&local_res10); fVar9 = (float)(**(code **)(*plVar5 + 0x28))(plVar5,param_2 + 0x158); if (*(float *)(local_res10 + 6) != 0.0) { pbVar6 = *(byte **)(param_2 + 0x158); iVar7 = 0; LAB_1812faa86: do { bVar2 = *pbVar6; pbVar6 = pbVar6 + 1; if ((char)bVar2 < '\0') { if ((*pbVar6 & 0xc0) == 0x80) { do { pbVar6 = pbVar6 + 1; } while ((*pbVar6 & 0xc0) == 0x80); iVar7 = iVar7 + 1; goto LAB_1812faa86; } } else if (bVar2 == 0) goto LAB_1812faabc; iVar7 = iVar7 + 1; } while( true ); } LAB_1812faacc: fVar9 = ceilf(fVar9 * *(float *)(local_res10 + 5) * *(float *)((longlong)local_res10 + 0x2c)); local_res18 = (double)fVar10 + DAT_1824c4520; FUN_18134bfe0(param_2,*(undefined4 *)(param_2 + 0x20),*(undefined4 *)(param_2 + 0x24), local_res18._0_4_ + 0xe + (int)fVar9,uVar3); if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_res10)(local_res10,1); } } return; LAB_1812faabc: fVar9 = fVar9 + (float)iVar7 * *(float *)(local_res10 + 6); goto LAB_1812faacc; } ############ FUN_ 1812fb440 size=910 ############ void FUN_1812fb440(longlong param_1,longlong param_2,longlong param_3,int param_4,int param_5, int param_6,int param_7,longlong *param_8,char param_9) { int *piVar1; byte bVar2; longlong lVar3; char cVar4; int iVar5; undefined8 *puVar6; undefined8 uVar7; longlong *plVar8; undefined4 *puVar9; byte *pbVar10; int iVar11; int iVar12; int iVar13; int iVar14; float fVar15; float fVar16; undefined4 uVar17; undefined8 *local_98; undefined4 local_90; undefined4 local_8c; undefined1 local_88 [4]; undefined4 local_84; undefined8 *local_80; undefined8 local_78; undefined8 local_68; undefined8 uStack_60; undefined1 local_58 [32]; local_78 = 0xfffffffffffffffe; if (param_4 * param_5 == 0) { return; } cVar4 = *(char *)(param_2 + 0xb2); FUN_181296c00(param_3); puVar6 = (undefined8 *) (**(code **)(**(longlong **)(param_3 + 8) + 0x58))(*(longlong **)(param_3 + 8),local_58); local_68 = *puVar6; uStack_60 = puVar6[1]; (**(code **)(**(longlong **)(param_3 + 8) + 0xa8))(*(longlong **)(param_3 + 8),&local_68,0); fVar16 = (float)param_5 * DAT_1824c3ddc; uVar7 = FUN_1811316e0(0x40); fVar15 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar16) && (fVar15 = DAT_1824c45c8, fVar16 <= DAT_1824c45c8)) { fVar15 = fVar16; } local_98 = (undefined8 *)FUN_1804a2b80(uVar7,0,fVar15); if (local_98 != (undefined8 *)0x0) { LOCK(); *(int *)(local_98 + 1) = *(int *)(local_98 + 1) + 1; UNLOCK(); } if (*(char *)(param_3 + 0x10) != '\0') { *(undefined1 *)(param_3 + 0x10) = 0; (**(code **)(**(longlong **)(param_3 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_3 + 8) + 0xd0))(*(longlong **)(param_3 + 8),&local_98); puVar6 = (undefined8 *)(param_2 + 8); local_80 = puVar6; plVar8 = (longlong *)FUN_181252280(&local_98); fVar15 = (float)(**(code **)(*plVar8 + 0x28))(plVar8,puVar6); iVar14 = 0; if (*(float *)(local_98 + 6) != 0.0) { pbVar10 = (byte *)*puVar6; iVar12 = iVar14; while( true ) { while( true ) { bVar2 = *pbVar10; pbVar10 = pbVar10 + 1; if (-1 < (char)bVar2) break; if ((*pbVar10 & 0xc0) != 0x80) goto LAB_1812fb5c7; do { pbVar10 = pbVar10 + 1; } while ((*pbVar10 & 0xc0) == 0x80); iVar12 = iVar12 + 1; } if (bVar2 == 0) break; LAB_1812fb5c7: iVar12 = iVar12 + 1; } fVar15 = fVar15 + (float)iVar12 * *(float *)(local_98 + 6); } fVar16 = *(float *)(local_98 + 5); fVar15 = ceilf(fVar16 * fVar15 * *(float *)((longlong)local_98 + 0x2c)); iVar12 = 0; if (param_8 != (longlong *)0x0) { iVar12 = (int)fVar16; lVar3 = *param_8; iVar13 = 0; if (lVar3 != 0) { iVar13 = *(int *)(lVar3 + 0x14); iVar14 = *(int *)(lVar3 + 0x18); } iVar14 = (iVar13 * iVar12) / iVar14 + 4; } iVar13 = param_7; if (iVar14 + (int)fVar15 < param_7) { iVar13 = iVar14 + (int)fVar15; } iVar11 = param_6; if ((param_9 == '\0') && (iVar5 = (param_4 - iVar13) / 2, param_6 < iVar5)) { iVar11 = iVar5; } if (param_6 + param_7 < iVar11 + iVar13) { iVar11 = (param_6 - iVar13) + param_7; } if (param_8 != (longlong *)0x0) { uVar17 = DAT_1824c3db8; if (cVar4 != '\0') { uVar17 = DAT_1824c3ea4; } if (*(char *)(param_3 + 0x10) != '\0') { *(undefined1 *)(param_3 + 0x10) = 0; (**(code **)(**(longlong **)(param_3 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_3 + 8) + 0x90))(*(longlong **)(param_3 + 8),uVar17); local_90 = 0x24; FUN_181294760(param_3,param_8,iVar11,(param_5 - iVar12) / 2,iVar14,iVar12,0x24); iVar11 = iVar11 + iVar14; iVar13 = iVar13 - iVar14; } cVar4 = FUN_181341a70(param_2,0x1005701); if ((cVar4 == '\0') && (cVar4 = FUN_181315bd0(param_1 + -0x68,0x1005701), cVar4 == '\0')) { uVar17 = *(undefined4 *)(param_1 + 0xf0); local_8c = uVar17; } else { puVar9 = (undefined4 *)FUN_18134a8d0(param_2,local_88,0x1005701,0); uVar17 = *puVar9; } FUN_181296c00(param_3,uVar17); local_84 = 0x21; FUN_1812962a0(param_3,local_80,iVar11,0,iVar13,param_5,0x21,1); if (local_98 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_98 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { (**(code **)*local_98)(local_98,1); } } return; } ############ FUN_ 1812fb8e0 size=1196 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812fb8e0(undefined8 param_1,int param_2) { uint uVar1; undefined4 uVar2; undefined4 uVar3; undefined8 *puVar4; uint *puVar5; undefined8 in_stack_fffffffffffffe78; undefined4 uVar6; void *local_160; undefined8 local_158; undefined8 local_150; undefined8 uStack_148; undefined1 local_140; void *local_138; ulonglong local_130; undefined4 local_128; undefined4 uStack_124; undefined4 uStack_120; undefined4 uStack_11c; undefined1 local_118; longlong local_110; longlong local_108; longlong local_100; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined8 local_e0; undefined4 local_d8; undefined4 uStack_d4; undefined4 uStack_d0; undefined4 uStack_cc; undefined4 local_c8; undefined4 uStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; undefined4 local_b8; undefined4 uStack_b4; undefined4 uStack_b0; undefined4 uStack_ac; undefined4 local_a8; undefined4 uStack_a4; undefined4 uStack_a0; undefined4 uStack_9c; undefined4 local_98; undefined4 uStack_94; undefined4 uStack_90; undefined4 uStack_8c; undefined4 local_88; undefined4 uStack_84; undefined4 uStack_80; undefined4 uStack_7c; undefined4 local_78; undefined4 uStack_74; undefined4 uStack_70; undefined4 uStack_6c; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; uVar2 = DAT_1824c3d04; uVar6 = (undefined4)((ulonglong)in_stack_fffffffffffffe78 >> 0x20); local_e0 = 0xfffffffffffffffe; local_160 = (void *)0x0; local_158 = 0; local_150 = 0; uStack_148 = 0; local_140 = 1; if (param_2 == 4) { local_88 = _DAT_1824c4b60; uStack_84 = _UNK_1824c4b64; uStack_80 = _UNK_1824c4b68; uStack_7c = _UNK_1824c4b6c; local_d8 = _DAT_1824c4b60; uStack_d4 = _UNK_1824c4b64; uStack_d0 = _UNK_1824c4b68; uStack_cc = _UNK_1824c4b6c; FUN_18129c940(&local_160,&local_d8,DAT_1824c3d04); local_78 = _DAT_1824c4b30; uStack_74 = _UNK_1824c4b34; uStack_70 = _UNK_1824c4b38; uStack_6c = _UNK_1824c4b3c; local_c8 = _DAT_1824c4b30; uStack_c4 = _UNK_1824c4b34; uStack_c0 = _UNK_1824c4b38; uStack_bc = _UNK_1824c4b3c; FUN_18129c940(&local_160,&local_c8,uVar2); puVar4 = (undefined8 *)FUN_1811316e0(0x220); FUN_18049c4e0(&local_110,"close"); FUN_1813379d0(puVar4,&local_110); *puVar4 = juce::LookAndFeel_V4_DocumentWindowButton::vftable; puVar4[0x16] = juce::LookAndFeel_V4_DocumentWindowButton::vftable; *(undefined4 *)(puVar4 + 0x39) = 0xff9a131d; FUN_1804ab000(puVar4 + 0x3a,&local_160); *(undefined4 *)(puVar4 + 0x3c) = (undefined4)local_150; *(undefined4 *)((longlong)puVar4 + 0x1e4) = local_150._4_4_; *(undefined4 *)(puVar4 + 0x3d) = (undefined4)uStack_148; *(undefined4 *)((longlong)puVar4 + 0x1ec) = uStack_148._4_4_; *(undefined1 *)(puVar4 + 0x3e) = local_140; FUN_1804ab000(puVar4 + 0x3f,&local_160); puVar4[0x41] = local_150; puVar4[0x42] = uStack_148; *(undefined1 *)(puVar4 + 0x43) = local_140; } else { if (param_2 != 1) { if (param_2 == 2) { local_58 = _DAT_1824c4b50; uStack_54 = _UNK_1824c4b54; uStack_50 = _UNK_1824c4b58; uStack_4c = _UNK_1824c4b5c; local_a8 = _DAT_1824c4b50; uStack_a4 = _UNK_1824c4b54; uStack_a0 = _UNK_1824c4b58; uStack_9c = _UNK_1824c4b5c; FUN_18129c940(&local_160,&local_a8,DAT_1824c3d04); local_48 = _DAT_1824c4ad0; uStack_44 = _UNK_1824c4ad4; uStack_40 = _UNK_1824c4ad8; uStack_3c = _UNK_1824c4adc; local_98 = _DAT_1824c4ad0; uStack_94 = _UNK_1824c4ad4; uStack_90 = _UNK_1824c4ad8; uStack_8c = _UNK_1824c4adc; FUN_18129c940(&local_160,&local_98,uVar2); uVar3 = DAT_1824c44dc; uVar2 = DAT_1824c449c; local_138 = (void *)0x0; local_130 = 0; local_118 = 1; uStack_124 = 0x42340000; local_128 = 0x42340000; uStack_11c = 0x42c80000; uStack_120 = 0x42c80000; FUN_1804b02a0(&local_138,&DAT_1821df344,DAT_1824c449c,DAT_1824c44dc); FUN_18129ddd0(&local_138,0,uVar3); FUN_18129ddd0(&local_138,0,0); FUN_18129ddd0(&local_138,uVar3,0); FUN_18129ddd0(&local_138,uVar3,uVar2); FUN_18129d850(&local_138,uVar2,uVar2,uVar3,CONCAT44(uVar6,uVar3)); local_f8 = _DAT_1824c4780; uStack_f0 = _UNK_1824c4788; local_e8 = 0x3f800000; FUN_181297840(DAT_1824c4478,0,0,&local_138,&local_138,&local_f8,DAT_1824c3ea4); puVar4 = (undefined8 *)FUN_1811316e0(0x220); FUN_18049c4e0(&local_100,"maximise"); FUN_1813379d0(puVar4,&local_100); *puVar4 = juce::LookAndFeel_V4_DocumentWindowButton::vftable; puVar4[0x16] = juce::LookAndFeel_V4_DocumentWindowButton::vftable; *(undefined4 *)(puVar4 + 0x39) = 0xff0a830a; FUN_1804ab000(puVar4 + 0x3a,&local_160); *(undefined4 *)(puVar4 + 0x3c) = (undefined4)local_150; *(undefined4 *)((longlong)puVar4 + 0x1e4) = local_150._4_4_; *(undefined4 *)(puVar4 + 0x3d) = (undefined4)uStack_148; *(undefined4 *)((longlong)puVar4 + 0x1ec) = uStack_148._4_4_; *(undefined1 *)(puVar4 + 0x3e) = local_140; FUN_1804ab000(puVar4 + 0x3f,&local_138); puVar4[0x41] = CONCAT44(uStack_124,local_128); puVar4[0x42] = CONCAT44(uStack_11c,uStack_120); *(undefined1 *)(puVar4 + 0x43) = local_118; puVar5 = (uint *)(local_100 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_130 = local_130 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_138); } goto LAB_1812fbd89; } local_68 = _DAT_1824c4ad0; uStack_64 = _UNK_1824c4ad4; uStack_60 = _UNK_1824c4ad8; uStack_5c = _UNK_1824c4adc; local_b8 = _DAT_1824c4ad0; uStack_b4 = _UNK_1824c4ad4; uStack_b0 = _UNK_1824c4ad8; uStack_ac = _UNK_1824c4adc; FUN_18129c940(&local_160,&local_b8,DAT_1824c3d04); puVar4 = (undefined8 *)FUN_1811316e0(0x220); FUN_18049c4e0(&local_108,"minimise"); FUN_1813379d0(puVar4,&local_108); *puVar4 = juce::LookAndFeel_V4_DocumentWindowButton::vftable; puVar4[0x16] = juce::LookAndFeel_V4_DocumentWindowButton::vftable; *(undefined4 *)(puVar4 + 0x39) = 0xffaa8811; FUN_1804ab000(puVar4 + 0x3a,&local_160); *(undefined4 *)(puVar4 + 0x3c) = (undefined4)local_150; *(undefined4 *)((longlong)puVar4 + 0x1e4) = local_150._4_4_; *(undefined4 *)(puVar4 + 0x3d) = (undefined4)uStack_148; *(undefined4 *)((longlong)puVar4 + 0x1ec) = uStack_148._4_4_; *(undefined1 *)(puVar4 + 0x3e) = local_140; FUN_1804ab000(puVar4 + 0x3f,&local_160); puVar4[0x41] = local_150; puVar4[0x42] = uStack_148; *(undefined1 *)(puVar4 + 0x43) = local_140; local_110 = local_108; } puVar5 = (uint *)(local_110 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } LAB_1812fbd89: /* WARNING: Subroutine does not return */ free(local_160); } ############ FUN_ 1812fc3f0 size=1196 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812fc3f0(undefined8 param_1,int param_2) { uint uVar1; undefined4 uVar2; undefined4 uVar3; undefined8 *puVar4; uint *puVar5; undefined8 in_stack_fffffffffffffe78; undefined4 uVar6; void *local_160; undefined8 local_158; undefined8 local_150; undefined8 uStack_148; undefined1 local_140; void *local_138; ulonglong local_130; undefined4 local_128; undefined4 uStack_124; undefined4 uStack_120; undefined4 uStack_11c; undefined1 local_118; longlong local_110; longlong local_108; longlong local_100; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined8 local_e0; undefined4 local_d8; undefined4 uStack_d4; undefined4 uStack_d0; undefined4 uStack_cc; undefined4 local_c8; undefined4 uStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; undefined4 local_b8; undefined4 uStack_b4; undefined4 uStack_b0; undefined4 uStack_ac; undefined4 local_a8; undefined4 uStack_a4; undefined4 uStack_a0; undefined4 uStack_9c; undefined4 local_98; undefined4 uStack_94; undefined4 uStack_90; undefined4 uStack_8c; undefined4 local_88; undefined4 uStack_84; undefined4 uStack_80; undefined4 uStack_7c; undefined4 local_78; undefined4 uStack_74; undefined4 uStack_70; undefined4 uStack_6c; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; uVar3 = DAT_1824c3d64; uVar2 = DAT_1824c3d3c; uVar6 = (undefined4)((ulonglong)in_stack_fffffffffffffe78 >> 0x20); local_e0 = 0xfffffffffffffffe; local_160 = (void *)0x0; local_158 = 0; local_150 = 0; uStack_148 = 0; local_140 = 1; if (param_2 == 4) { local_88 = _DAT_1824c4b60; uStack_84 = _UNK_1824c4b64; uStack_80 = _UNK_1824c4b68; uStack_7c = _UNK_1824c4b6c; local_d8 = _DAT_1824c4b60; uStack_d4 = _UNK_1824c4b64; uStack_d0 = _UNK_1824c4b68; uStack_cc = _UNK_1824c4b6c; FUN_18129c940(&local_160,&local_d8,DAT_1824c3d64); local_78 = _DAT_1824c4b30; uStack_74 = _UNK_1824c4b34; uStack_70 = _UNK_1824c4b38; uStack_6c = _UNK_1824c4b3c; local_c8 = _DAT_1824c4b30; uStack_c4 = _UNK_1824c4b34; uStack_c0 = _UNK_1824c4b38; uStack_bc = _UNK_1824c4b3c; FUN_18129c940(&local_160,&local_c8,uVar3); puVar4 = (undefined8 *)FUN_1811316e0(0x220); FUN_18049c4e0(&local_110,"close"); FUN_1813379d0(puVar4,&local_110); *puVar4 = juce::LookAndFeel_V3_DocumentWindowButton::vftable; puVar4[0x16] = juce::LookAndFeel_V3_DocumentWindowButton::vftable; *(undefined4 *)(puVar4 + 0x39) = 0xffdd1100; FUN_1804ab000(puVar4 + 0x3a,&local_160); *(undefined4 *)(puVar4 + 0x3c) = (undefined4)local_150; *(undefined4 *)((longlong)puVar4 + 0x1e4) = local_150._4_4_; *(undefined4 *)(puVar4 + 0x3d) = (undefined4)uStack_148; *(undefined4 *)((longlong)puVar4 + 0x1ec) = uStack_148._4_4_; *(undefined1 *)(puVar4 + 0x3e) = local_140; FUN_1804ab000(puVar4 + 0x3f,&local_160); puVar4[0x41] = local_150; puVar4[0x42] = uStack_148; *(undefined1 *)(puVar4 + 0x43) = local_140; } else { if (param_2 != 1) { if (param_2 == 2) { local_58 = _DAT_1824c4b50; uStack_54 = _UNK_1824c4b54; uStack_50 = _UNK_1824c4b58; uStack_4c = _UNK_1824c4b5c; local_a8 = _DAT_1824c4b50; uStack_a4 = _UNK_1824c4b54; uStack_a0 = _UNK_1824c4b58; uStack_9c = _UNK_1824c4b5c; FUN_18129c940(&local_160,&local_a8,DAT_1824c3d3c); local_48 = _DAT_1824c4ad0; uStack_44 = _UNK_1824c4ad4; uStack_40 = _UNK_1824c4ad8; uStack_3c = _UNK_1824c4adc; local_98 = _DAT_1824c4ad0; uStack_94 = _UNK_1824c4ad4; uStack_90 = _UNK_1824c4ad8; uStack_8c = _UNK_1824c4adc; FUN_18129c940(&local_160,&local_98,uVar2); uVar3 = DAT_1824c44dc; uVar2 = DAT_1824c449c; local_138 = (void *)0x0; local_130 = 0; local_118 = 1; uStack_124 = 0x42340000; local_128 = 0x42340000; uStack_11c = 0x42c80000; uStack_120 = 0x42c80000; FUN_1804b02a0(&local_138,&DAT_1821df344,DAT_1824c449c,DAT_1824c44dc); FUN_18129ddd0(&local_138,0,uVar3); FUN_18129ddd0(&local_138,0,0); FUN_18129ddd0(&local_138,uVar3,0); FUN_18129ddd0(&local_138,uVar3,uVar2); FUN_18129d850(&local_138,uVar2,uVar2,uVar3,CONCAT44(uVar6,uVar3)); local_f8 = _DAT_1824c4780; uStack_f0 = _UNK_1824c4788; local_e8 = 0x3f800000; FUN_181297840(DAT_1824c4478,0,0,&local_138,&local_138,&local_f8,DAT_1824c3ea4); puVar4 = (undefined8 *)FUN_1811316e0(0x220); FUN_18049c4e0(&local_100,"maximise"); FUN_1813379d0(puVar4,&local_100); *puVar4 = juce::LookAndFeel_V3_DocumentWindowButton::vftable; puVar4[0x16] = juce::LookAndFeel_V3_DocumentWindowButton::vftable; *(undefined4 *)(puVar4 + 0x39) = 0xff119911; FUN_1804ab000(puVar4 + 0x3a,&local_160); *(undefined4 *)(puVar4 + 0x3c) = (undefined4)local_150; *(undefined4 *)((longlong)puVar4 + 0x1e4) = local_150._4_4_; *(undefined4 *)(puVar4 + 0x3d) = (undefined4)uStack_148; *(undefined4 *)((longlong)puVar4 + 0x1ec) = uStack_148._4_4_; *(undefined1 *)(puVar4 + 0x3e) = local_140; FUN_1804ab000(puVar4 + 0x3f,&local_138); puVar4[0x41] = CONCAT44(uStack_124,local_128); puVar4[0x42] = CONCAT44(uStack_11c,uStack_120); *(undefined1 *)(puVar4 + 0x43) = local_118; puVar5 = (uint *)(local_100 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_130 = local_130 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_138); } goto LAB_1812fc899; } local_68 = _DAT_1824c4ad0; uStack_64 = _UNK_1824c4ad4; uStack_60 = _UNK_1824c4ad8; uStack_5c = _UNK_1824c4adc; local_b8 = _DAT_1824c4ad0; uStack_b4 = _UNK_1824c4ad4; uStack_b0 = _UNK_1824c4ad8; uStack_ac = _UNK_1824c4adc; FUN_18129c940(&local_160,&local_b8,DAT_1824c3d3c); puVar4 = (undefined8 *)FUN_1811316e0(0x220); FUN_18049c4e0(&local_108,"minimise"); FUN_1813379d0(puVar4,&local_108); *puVar4 = juce::LookAndFeel_V3_DocumentWindowButton::vftable; puVar4[0x16] = juce::LookAndFeel_V3_DocumentWindowButton::vftable; *(undefined4 *)(puVar4 + 0x39) = 0xffaa8811; FUN_1804ab000(puVar4 + 0x3a,&local_160); *(undefined4 *)(puVar4 + 0x3c) = (undefined4)local_150; *(undefined4 *)((longlong)puVar4 + 0x1e4) = local_150._4_4_; *(undefined4 *)(puVar4 + 0x3d) = (undefined4)uStack_148; *(undefined4 *)((longlong)puVar4 + 0x1ec) = uStack_148._4_4_; *(undefined1 *)(puVar4 + 0x3e) = local_140; FUN_1804ab000(puVar4 + 0x3f,&local_160); puVar4[0x41] = local_150; puVar4[0x42] = uStack_148; *(undefined1 *)(puVar4 + 0x43) = local_140; local_110 = local_108; } puVar5 = (uint *)(local_110 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } LAB_1812fc899: /* WARNING: Subroutine does not return */ free(local_160); } ############ FUN_ 1812ff3e0 size=501 ############ void FUN_1812ff3e0(longlong param_1,undefined4 param_2,float param_3,undefined4 param_4, undefined8 param_5) { int *piVar1; uint uVar2; int iVar3; byte bVar4; longlong *plVar5; char cVar6; undefined8 uVar7; undefined8 *puVar8; byte *pbVar9; uint *_Memory; int iVar10; bool bVar11; float fVar12; longlong local_res8; undefined4 local_res18 [4]; longlong local_88 [2]; undefined1 *local_78; undefined4 local_70; undefined4 local_6c; undefined8 local_68; void *local_60; undefined8 local_58; local_88[1] = 0xfffffffffffffffe; param_3 = param_3 * DAT_1824c3d8c; uVar7 = FUN_1811316e0(0x40); fVar12 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= param_3) && (fVar12 = DAT_1824c45c8, param_3 <= DAT_1824c45c8)) { fVar12 = param_3; } local_res8 = FUN_1804a2b80(uVar7,0,fVar12); if (local_res8 != 0) { LOCK(); *(int *)(local_res8 + 8) = *(int *)(local_res8 + 8) + 1; UNLOCK(); } iVar10 = 0; bVar11 = DAT_182673708 == param_1; FUN_181252760(&local_res8); *(bool *)(local_res8 + 0x38) = bVar11; plVar5 = *(longlong **)(local_res8 + 0x10); if ((plVar5 != (longlong *)0x0) && (*(code **)(*plVar5 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) { cVar6 = (**(code **)(*plVar5 + 8))(plVar5,&local_res8); if (cVar6 == '\0') { puVar8 = *(undefined8 **)(local_res8 + 0x10); *(undefined8 *)(local_res8 + 0x10) = 0; if (puVar8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar8 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar8)(puVar8,1); } } } } local_78 = &DAT_1821dbf98; local_70 = 0; local_68 = 1; local_60 = (void *)0x0; local_58 = 0; local_6c = 0x24; puVar8 = (undefined8 *)FUN_181248e40(param_1 + 0x158,local_88); local_res18[0] = param_4; FUN_181232d30(&local_78,puVar8); pbVar9 = (byte *)*puVar8; LAB_1812ff500: do { bVar4 = *pbVar9; pbVar9 = pbVar9 + 1; if ((char)bVar4 < '\0') { if ((*pbVar9 & 0xc0) == 0x80) { do { pbVar9 = pbVar9 + 1; } while ((*pbVar9 & 0xc0) == 0x80); iVar10 = iVar10 + 1; goto LAB_1812ff500; } } else if (bVar4 == 0) { FUN_1812554b0(&local_60,iVar10,&local_res8,local_res18); _Memory = (uint *)(local_88[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18124e420(param_5,&local_78,param_2,DAT_1824c4610); FUN_1804aed10(&local_60); /* WARNING: Subroutine does not return */ free(local_60); } iVar10 = iVar10 + 1; } while( true ); } ############ FUN_ 181300d60 size=1535 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181300d60(undefined8 param_1,int param_2) { undefined8 *puVar1; uint uVar2; bool bVar3; undefined4 uVar4; undefined4 uVar5; undefined8 uVar6; undefined8 uVar7; char cVar8; longlong lVar9; undefined8 uVar10; uint *puVar11; undefined8 in_stack_fffffffffffffad8; undefined4 uVar12; undefined4 local_4f4; undefined4 local_4f0; longlong local_4e8; void *local_4e0; undefined8 local_4d8; undefined8 local_4d0; undefined8 uStack_4c8; undefined1 local_4c0; longlong local_4b8; longlong local_4b0 [2]; undefined4 uStack_4a0; undefined4 uStack_49c; undefined8 local_498; undefined4 uStack_490; undefined4 uStack_48c; int local_488; undefined8 local_480; undefined8 uStack_478; undefined8 local_470; undefined8 uStack_468; undefined4 local_460; undefined4 uStack_45c; int local_458; undefined8 local_450; undefined8 uStack_448; undefined8 local_440; undefined8 uStack_438; undefined4 local_430; undefined4 uStack_42c; undefined8 local_428; undefined4 local_418; undefined4 uStack_414; undefined4 uStack_410; undefined4 uStack_40c; undefined4 local_408; undefined4 uStack_404; undefined4 uStack_400; undefined4 uStack_3fc; undefined4 local_3f8; undefined4 uStack_3f4; undefined4 uStack_3f0; undefined4 uStack_3ec; undefined4 local_3e8; undefined4 uStack_3e4; undefined4 uStack_3e0; undefined4 uStack_3dc; undefined4 local_3d8; undefined4 uStack_3d4; undefined4 uStack_3d0; undefined4 uStack_3cc; undefined4 local_3c8; undefined4 uStack_3c4; undefined4 uStack_3c0; undefined4 uStack_3bc; undefined4 local_3b8; undefined4 uStack_3b4; undefined4 uStack_3b0; undefined4 uStack_3ac; undefined4 local_3a8; undefined4 uStack_3a4; undefined4 uStack_3a0; undefined4 uStack_39c; undefined4 local_398; undefined4 uStack_394; undefined4 uStack_390; undefined4 uStack_38c; undefined4 local_388; undefined4 uStack_384; undefined4 uStack_380; undefined4 uStack_37c; undefined4 local_378; undefined4 uStack_374; undefined4 uStack_370; undefined4 uStack_36c; undefined4 local_368; undefined4 uStack_364; undefined4 uStack_360; undefined4 uStack_35c; undefined **local_358 [5]; undefined4 local_330; undefined4 local_32c; undefined1 local_278 [16]; undefined4 local_268; undefined4 uStack_264; undefined4 uStack_260; undefined4 uStack_25c; undefined1 local_258; int local_228; longlong local_220; longlong local_218; undefined8 local_210; undefined8 uStack_208; undefined8 local_200; undefined **local_1c8 [5]; undefined4 local_1a0; undefined4 local_19c; undefined1 local_e8 [16]; undefined4 local_d8; undefined4 uStack_d4; undefined4 uStack_d0; undefined4 uStack_cc; undefined1 local_c8; int local_98; longlong local_90; longlong local_88; undefined8 local_80; undefined8 uStack_78; undefined8 local_70; uVar5 = DAT_1824c3d64; uVar4 = DAT_1824c3d3c; uVar12 = (undefined4)((ulonglong)in_stack_fffffffffffffad8 >> 0x20); local_428 = 0xfffffffffffffffe; local_4e0 = (void *)0x0; local_4d8 = 0; local_4d0 = 0; uStack_4c8 = 0; local_4c0 = 1; if (param_2 == 4) { local_3a8 = _DAT_1824c4b60; uStack_3a4 = _UNK_1824c4b64; uStack_3a0 = _UNK_1824c4b68; uStack_39c = _UNK_1824c4b6c; local_418 = _DAT_1824c4b60; uStack_414 = _UNK_1824c4b64; uStack_410 = _UNK_1824c4b68; uStack_40c = _UNK_1824c4b6c; FUN_18129c940(&local_4e0,&local_418,DAT_1824c3d64); local_398 = _DAT_1824c4b30; uStack_394 = _UNK_1824c4b34; uStack_390 = _UNK_1824c4b38; uStack_38c = _UNK_1824c4b3c; local_408 = _DAT_1824c4b30; uStack_404 = _UNK_1824c4b34; uStack_400 = _UNK_1824c4b38; uStack_3fc = _UNK_1824c4b3c; FUN_18129c940(&local_4e0,&local_408,uVar5); lVar9 = FUN_1811316e0(0x240); local_4e8 = lVar9; FUN_18049c4e0(&local_4b8,"close"); uVar10 = FUN_181333fa0(lVar9,&local_4b8,0x7fff3333,0xd7ff3333,CONCAT44(uVar12,0xf7ff3333)); puVar11 = (uint *)(local_4b8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_181333cd0(uVar10,&local_4e0,1); } else if (param_2 == 1) { local_388 = _DAT_1824c4ad0; uStack_384 = _UNK_1824c4ad4; uStack_380 = _UNK_1824c4ad8; uStack_37c = _UNK_1824c4adc; local_3f8 = _DAT_1824c4ad0; uStack_3f4 = _UNK_1824c4ad4; uStack_3f0 = _UNK_1824c4ad8; uStack_3ec = _UNK_1824c4adc; FUN_18129c940(&local_4e0,&local_3f8,DAT_1824c3d3c); uVar10 = FUN_1811316e0(0x220); FUN_18049c4e0(local_4b0,"minimise"); uVar10 = FUN_181335a10(uVar10,local_4b0,0); puVar11 = (uint *)(local_4b0[0] + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_181330640(local_358); local_358[0] = juce::DrawablePath::vftable; FUN_1804aaf40(local_278,&local_4e0); local_268 = (undefined4)local_4d0; uStack_264 = local_4d0._4_4_; uStack_260 = (undefined4)uStack_4c8; uStack_25c = uStack_4c8._4_4_; local_258 = local_4c0; FUN_181330000(local_358); uVar7 = _UNK_1824c4788; uVar6 = _DAT_1824c4780; local_4f4 = CONCAT13(0x4c,(int3)DAT_18262b5b8); local_488 = local_4f4; local_480 = 0; uStack_478 = 0; local_470 = _DAT_1824c4780; uStack_468 = _UNK_1824c4788; local_460 = DAT_1824c3ea4; uStack_45c = 0; if (((local_228 != local_4f4) || (local_218 != 0)) || ((cVar8 = FUN_1812a0bf0(&local_210,&local_470), cVar8 == '\0' || (bVar3 = true, local_220 != 0)))) { bVar3 = false; } if (!bVar3) { local_228 = local_4f4; lVar9 = FUN_1804b0230(0); if (local_220 != 0) { *(undefined4 *)(local_220 + 0x24) = 0; puVar1 = (undefined8 *)(local_220 + 0x18); local_220 = lVar9; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } local_220 = lVar9; FUN_1812911c0(&local_218,&uStack_478); local_210 = uVar6; uStack_208 = uVar7; local_200 = CONCAT44(uStack_45c,local_460); local_4b0[1] = 0; uStack_4a0 = local_330; uStack_49c = local_32c; local_3e8 = 0; uStack_3e4 = 0; uStack_3e0 = local_330; uStack_3dc = local_32c; FUN_181342870(local_358,&local_3e8,1); } FUN_1813355a0(uVar10,local_358,0,0,0,0,0,0); local_358[0] = juce::DrawablePath::vftable; FUN_1813304a0(local_358); } else if (param_2 == 2) { local_378 = _DAT_1824c4b50; uStack_374 = _UNK_1824c4b54; uStack_370 = _UNK_1824c4b58; uStack_36c = _UNK_1824c4b5c; local_3d8 = _DAT_1824c4b50; uStack_3d4 = _UNK_1824c4b54; uStack_3d0 = _UNK_1824c4b58; uStack_3cc = _UNK_1824c4b5c; FUN_18129c940(&local_4e0,&local_3d8,DAT_1824c3d3c); local_368 = _DAT_1824c4ad0; uStack_364 = _UNK_1824c4ad4; uStack_360 = _UNK_1824c4ad8; uStack_35c = _UNK_1824c4adc; local_3c8 = _DAT_1824c4ad0; uStack_3c4 = _UNK_1824c4ad4; uStack_3c0 = _UNK_1824c4ad8; uStack_3bc = _UNK_1824c4adc; FUN_18129c940(&local_4e0,&local_3c8,uVar4); uVar10 = FUN_1811316e0(0x220); FUN_18049c4e0(&local_4e8,"maximise"); uVar10 = FUN_181335a10(uVar10,&local_4e8,0); puVar11 = (uint *)(local_4e8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_181330640(local_1c8); local_1c8[0] = juce::DrawablePath::vftable; FUN_1804aaf40(local_e8,&local_4e0); local_d8 = (undefined4)local_4d0; uStack_d4 = local_4d0._4_4_; uStack_d0 = (undefined4)uStack_4c8; uStack_cc = uStack_4c8._4_4_; local_c8 = local_4c0; FUN_181330000(local_1c8); uVar7 = _UNK_1824c4788; uVar6 = _DAT_1824c4780; local_4f0 = CONCAT13(0x4c,(int3)DAT_18262b5b8); local_458 = local_4f0; local_450 = 0; uStack_448 = 0; local_440 = _DAT_1824c4780; uStack_438 = _UNK_1824c4788; local_430 = DAT_1824c3ea4; uStack_42c = 0; if ((((local_98 != local_4f0) || (local_88 != 0)) || (cVar8 = FUN_1812a0bf0(&local_80,&local_440), cVar8 == '\0')) || (bVar3 = true, local_90 != 0)) { bVar3 = false; } if (!bVar3) { local_98 = local_4f0; lVar9 = FUN_1804b0230(0); if (local_90 != 0) { *(undefined4 *)(local_90 + 0x24) = 0; puVar1 = (undefined8 *)(local_90 + 0x18); local_90 = lVar9; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } local_90 = lVar9; FUN_1812911c0(&local_88,&uStack_448); local_80 = uVar6; uStack_78 = uVar7; local_70 = CONCAT44(uStack_42c,local_430); local_498 = 0; uStack_490 = local_1a0; uStack_48c = local_19c; local_3b8 = 0; uStack_3b4 = 0; uStack_3b0 = local_1a0; uStack_3ac = local_19c; FUN_181342870(local_1c8,&local_3b8,1); } FUN_1813355a0(uVar10,local_1c8,0,0,0,0,0,0); local_1c8[0] = juce::DrawablePath::vftable; FUN_1813304a0(local_1c8); } /* WARNING: Subroutine does not return */ free(local_4e0); } ############ FUN_ 181301510 size=261 ############ undefined8 FUN_181301510(undefined8 param_1,undefined8 param_2,char param_3) { longlong lVar1; undefined8 uVar2; uint *_Memory; uint uVar3; undefined4 local_res18; undefined4 local_28; longlong local_20; longlong local_18 [2]; local_18[1] = 0xfffffffffffffffe; if (param_3 == '\0') { lVar1 = FUN_1811316e0(0x1f8); local_20 = lVar1; FUN_18049c4e0(local_18,&DAT_1821e2e04); local_28 = CONCAT13(0xcc,(int3)DAT_18262b5a8); uVar2 = FUN_181337e30(lVar1,local_18,DAT_1824c3d3c,local_28); _Memory = (uint *)(local_18[0] + -0x10); uVar3 = *_Memory; } else { lVar1 = FUN_1811316e0(0x1f8); local_18[0] = lVar1; FUN_18049c4e0(&local_20,&DAT_1821e2e14); local_res18 = CONCAT13(0xcc,(int3)DAT_18262b5a8); uVar2 = FUN_181337e30(lVar1,&local_20,DAT_1824c3e10,local_res18); _Memory = (uint *)(local_20 + -0x10); uVar3 = *_Memory; } if ((uVar3 & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return uVar2; } ############ FUN_ 181306490 size=64 ############ longlong * FUN_181306490(undefined8 param_1,longlong *param_2) { undefined8 uVar1; longlong lVar2; uVar1 = FUN_1811316e0(0x40); lVar2 = FUN_1804a2b80(uVar1,0,DAT_1824c4424); *param_2 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_2; } ############ FUN_ 181306f70 size=738 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181306f70(void) { uint uVar1; bool bVar2; undefined8 uVar3; undefined8 uVar4; char cVar5; undefined8 *puVar6; longlong lVar7; uint *_Memory; undefined4 local_res10; longlong local_res20; undefined8 in_stack_fffffffffffffd78; undefined4 uVar8; void *local_248; undefined8 local_240; undefined8 local_238; undefined8 uStack_230; undefined1 local_228; int local_220; undefined8 local_218; undefined8 uStack_210; undefined8 local_208; undefined8 uStack_200; undefined4 local_1f8; undefined4 uStack_1f4; undefined8 local_1f0; undefined8 local_1e8; undefined8 uStack_1e0; undefined4 local_1d8; undefined4 uStack_1d4; undefined4 uStack_1d0; undefined4 uStack_1cc; undefined **local_1c8 [5]; undefined4 local_1a0; undefined4 local_19c; undefined1 local_e8 [16]; undefined4 local_d8; undefined4 uStack_d4; undefined4 uStack_d0; undefined4 uStack_cc; undefined1 local_c8; int local_98; longlong local_90; longlong local_88; undefined8 local_80; undefined8 uStack_78; undefined8 local_70; uVar8 = (undefined4)((ulonglong)in_stack_fffffffffffffd78 >> 0x20); local_1f0 = 0xfffffffffffffffe; puVar6 = (undefined8 *)FUN_1811316e0(0x220); FUN_18049c4e0(&local_res20,&DAT_1821e2dac); FUN_1813379d0(puVar6,&local_res20); *puVar6 = juce::DrawableButton::vftable; puVar6[0x16] = juce::DrawableButton::vftable; *(undefined4 *)(puVar6 + 0x39) = 3; puVar6[0x3a] = 0; puVar6[0x3b] = 0; puVar6[0x3c] = 0; puVar6[0x3d] = 0; puVar6[0x3e] = 0; puVar6[0x3f] = 0; puVar6[0x40] = 0; puVar6[0x41] = 0; puVar6[0x42] = 0; *(undefined4 *)(puVar6 + 0x43) = 3; _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_248 = (void *)0x0; local_240 = 0; local_238 = 0; uStack_230 = 0; local_228 = 1; local_1e8 = _DAT_1824c4800; uStack_1e0 = _UNK_1824c4808; FUN_18129c5c0(&local_248,&local_1e8,DAT_1824c4490,DAT_1824c44dc,CONCAT44(uVar8,DAT_1824c44a8)); FUN_181330640(local_1c8); uVar4 = _UNK_1824c4788; uVar3 = _DAT_1824c4780; local_1c8[0] = juce::DrawablePath::vftable; local_res10 = CONCAT13(0x66,(int3)DAT_18262b5b8); local_220 = local_res10; local_218 = 0; uStack_210 = 0; local_208 = _DAT_1824c4780; uStack_200 = _UNK_1824c4788; local_1f8 = DAT_1824c3ea4; uStack_1f4 = 0; if ((local_98 == local_res10) && (local_88 == 0)) { cVar5 = FUN_1812a0bf0(&local_80,&local_208); if ((cVar5 != '\0') && (bVar2 = true, local_90 == 0)) goto LAB_181307159; } bVar2 = false; LAB_181307159: if (!bVar2) { local_98 = local_res10; lVar7 = FUN_1804b0230(0); if (local_90 != 0) { *(undefined4 *)(local_90 + 0x24) = 0; puVar6 = (undefined8 *)(local_90 + 0x18); local_90 = lVar7; /* WARNING: Subroutine does not return */ free((void *)*puVar6); } local_90 = lVar7; FUN_1812911c0(&local_88,&uStack_210); local_80 = uVar3; uStack_78 = uVar4; local_70 = CONCAT44(uStack_1f4,local_1f8); local_1d8 = 0; uStack_1d4 = 0; uStack_1d0 = local_1a0; uStack_1cc = local_19c; FUN_181342870(local_1c8,&local_1d8,1); } FUN_1804aaf40(local_e8,&local_248); local_d8 = (undefined4)local_238; uStack_d4 = local_238._4_4_; uStack_d0 = (undefined4)uStack_230; uStack_cc = uStack_230._4_4_; local_c8 = local_228; FUN_181330000(local_1c8); FUN_1813355a0(puVar6,local_1c8,0,0,0,0,0,0); local_1c8[0] = juce::DrawablePath::vftable; FUN_1813304a0(local_1c8); /* WARNING: Subroutine does not return */ free(local_248); } ############ FUN_ 1813076c0 size=599 ############ undefined8 * FUN_1813076c0(longlong param_1,undefined8 *param_2,longlong *param_3,undefined8 param_4) { undefined8 **_Memory; int *piVar1; uint uVar2; int iVar3; longlong lVar4; undefined4 uVar5; undefined8 *puVar6; longlong *plVar7; undefined8 uVar8; undefined8 **_Memory_00; undefined4 local_res8 [2]; undefined8 *local_res10; longlong *local_res18; undefined8 *local_60; undefined8 *local_58; undefined8 **local_50; undefined8 local_48; local_48 = 0xfffffffffffffffe; *param_2 = &DAT_1821dbf98; *(undefined4 *)(param_2 + 1) = 0; *(undefined4 *)((longlong)param_2 + 0xc) = 1; param_2[2] = 1; param_2[3] = 0; param_2[4] = 0; *(undefined4 *)((longlong)param_2 + 0xc) = 0x24; local_res10 = param_2; FUN_181346420(param_1 + -0x20,local_res8,0x1000850,param_4,1); puVar6 = (undefined8 *)FUN_1811316e0(0x40); uVar5 = DAT_1824c4420; *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::Font::SharedFontInternal::vftable; puVar6[2] = 0; plVar7 = (longlong *)FUN_181252610(); lVar4 = *plVar7; puVar6[3] = lVar4; if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(puVar6 + 4,&DAT_1824983b4); *(undefined4 *)(puVar6 + 5) = uVar5; *(undefined8 *)((longlong)puVar6 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar6 + 0x34) = 0; *(undefined1 *)(puVar6 + 7) = 0; LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); local_res18 = (longlong *)*param_3; if (((ulonglong)local_res18[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -2) = *(int *)(local_res18 + -2) + 1; UNLOCK(); } local_50 = &local_res18; local_60 = puVar6; FUN_181232e20(&local_res18,&DAT_1821e2ddc,&DAT_1821e2dde); local_50 = (undefined8 **)local_res18; _Memory = (undefined8 **)(local_res18 + -2); if (((ulonglong)*_Memory & 0x30000000) == 0) { LOCK(); *(uint *)_Memory = *(uint *)_Memory + 1; UNLOCK(); } _Memory_00 = (undefined8 **)(local_res18 + -2); if (((ulonglong)*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar2 = *(uint *)_Memory_00; *(uint *)_Memory_00 = *(uint *)_Memory_00 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } FUN_181255140(param_2,&local_50,&local_60,local_res8[0],3); if (((ulonglong)*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *(uint *)_Memory; *(uint *)_Memory = *(uint *)_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (local_60 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_60 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_60)(local_60,1); } } uVar8 = FUN_1811316e0(0x40); local_58 = (undefined8 *)FUN_1804a2b80(uVar8,0,DAT_1824c4414); if (local_58 != (undefined8 *)0x0) { LOCK(); *(int *)(local_58 + 1) = *(int *)(local_58 + 1) + 1; UNLOCK(); } FUN_181255140(param_2,param_4,&local_58,local_res8[0]); if (local_58 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_58 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_58)(local_58,1); } } return param_2; } ############ FUN_ 181307da0 size=519 ############ void FUN_181307da0(longlong param_1,longlong param_2,undefined8 param_3,undefined1 param_4, int param_5,int param_6) { int *piVar1; int iVar2; longlong lVar3; undefined8 *puVar4; longlong *plVar5; int iVar6; float fVar7; float fVar8; float fVar9; undefined8 *local_res8; uint in_stack_ffffffffffffff80; float local_60; float local_5c; float local_58; float local_54; fVar9 = (float)param_6; fVar7 = fVar9 * DAT_1824c3e10; fVar8 = (fVar9 - fVar7) * DAT_1824c3d8c; local_60 = fVar8; local_5c = fVar8; local_58 = fVar7; local_54 = fVar7; (**(code **)(*(longlong *)(param_1 + -0x58) + 8)) ((longlong *)(param_1 + -0x58),param_2,&local_60,DAT_18262b5a8,param_4, in_stack_ffffffffffffff80 & 0xffffff00); iVar6 = (int)(fVar8 * DAT_1824c41e0 + fVar7 + DAT_1824c41e0); FUN_181296c00(param_2,DAT_18262b5b8); fVar9 = fVar9 * DAT_1824c3df0; puVar4 = (undefined8 *)FUN_1811316e0(0x40); fVar7 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar9) && (fVar7 = DAT_1824c45c8, fVar9 <= DAT_1824c45c8)) { fVar7 = fVar9; } *(undefined4 *)(puVar4 + 1) = 0; *puVar4 = juce::Font::SharedFontInternal::vftable; puVar4[2] = 0; plVar5 = (longlong *)FUN_181252610(); lVar3 = *plVar5; puVar4[3] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(puVar4 + 4,&DAT_1824983b4); *(float *)(puVar4 + 5) = fVar7; *(undefined8 *)((longlong)puVar4 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar4 + 0x34) = 0; *(undefined1 *)(puVar4 + 7) = 0; LOCK(); *(int *)(puVar4 + 1) = *(int *)(puVar4 + 1) + 1; UNLOCK(); local_res8 = puVar4; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_res8); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } FUN_1812962a0(param_2,param_3,iVar6,0,(param_5 - iVar6) + -4,param_6,0x21,1); return; } ############ FUN_ 181308430 size=1116 ############ void FUN_181308430(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,int param_6,int param_7,char param_8,undefined4 param_9, uint param_10) { int *piVar1; longlong lVar2; char cVar3; int iVar4; undefined4 *puVar5; undefined8 *puVar6; longlong *plVar7; int iVar8; float *pfVar9; undefined1 uVar10; int iVar11; int iVar12; int iVar13; float fVar14; float fVar15; uint local_res10 [2]; undefined4 local_e8; float *local_e0; undefined8 local_d8; undefined8 local_d0; undefined8 local_c8; undefined1 local_c0; undefined8 *local_b8 [2]; undefined8 local_a8; int iStack_a0; int iStack_9c; double local_98; undefined8 local_90; undefined8 local_88; undefined8 uStack_80; undefined1 local_78 [80]; local_90 = 0xfffffffffffffffe; FUN_18134a8d0(param_3,local_res10,0x1003830,0); local_e8 = local_res10[0]; if ((char)param_9 == '\0') { if (param_8 == '\0') goto LAB_1813084e1; local_98 = (double)((float)(local_res10[0] >> 0x18) * DAT_1824c3dd0) + DAT_1824c4520; uVar10 = 0xff; if (SUB84(local_98,0) < 0xff) { uVar10 = SUB81(local_98,0); } local_e8 = CONCAT13(uVar10,(int3)local_res10[0]); } FUN_1812a3160(param_2,local_e8); LAB_1813084e1: iVar4 = param_7; iVar12 = 0; if (0 < param_6 + -8) { iVar12 = param_6 + -8; } iVar13 = 0; if (0 < param_7) { iVar13 = param_7; } local_a8 = 4; iStack_a0 = iVar12; iStack_9c = iVar13; if ((param_10 & 0x60) == 0) { puVar5 = (undefined4 *)FUN_18134a8d0(param_3,¶m_6,0x1003800,0); FUN_181296c00(param_2,*puVar5); fVar15 = (float)iVar4 * DAT_1824c3d8c; puVar6 = (undefined8 *)FUN_1811316e0(0x40); fVar14 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar15) && (fVar14 = DAT_1824c45c8, fVar15 <= DAT_1824c45c8)) { fVar14 = fVar15; } *(undefined4 *)(puVar6 + 1) = 0; *puVar6 = juce::Font::SharedFontInternal::vftable; puVar6[2] = 0; plVar7 = (longlong *)FUN_181252610(); lVar2 = *plVar7; puVar6[3] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(puVar6 + 4,&DAT_1824983b4); *(float *)(puVar6 + 5) = fVar14; *(undefined8 *)((longlong)puVar6 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar6 + 0x34) = 0; *(undefined1 *)(puVar6 + 7) = 0; LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); local_b8[0] = puVar6; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),local_b8); if (local_b8[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_b8[0] + 1); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*local_b8[0])(local_b8[0],1); } } uStack_80 = CONCAT44(iStack_9c,iStack_a0); local_88 = local_a8; FUN_181296100(param_2,param_4,&local_88,0x21,1,0); return; } local_e0 = (float *)0x0; local_d8._0_4_ = 0; local_d8._4_4_ = 0; local_c0 = 1; local_d0 = 0; local_c8 = 0; FUN_1804b02a0(&local_e0,&DAT_1821df344); FUN_18129ddd0(&local_e0); FUN_18129ddd0(&local_e0); if ((local_d8._4_4_ != 0) && ((local_d8._4_4_ < 1 || (local_e0[local_d8._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_d8 < local_d8._4_4_ + 1) { FUN_1804af790(&local_e0,local_d8._4_4_ + 9 + (local_d8._4_4_ + 1) / 2 & 0xfffffff8); } local_d8._4_4_ = 1; *local_e0 = 100005.0; } param_9 = 0x99000000; FUN_181296c00(param_2,0x99000000); iVar4 = iVar4 / 2; if (iVar12 < iVar4) { iVar4 = iVar12; } iStack_a0 = iVar12 - iVar4; iVar11 = 0; if (0 < iVar4 + -4) { iVar11 = iVar4 + -4; } iVar8 = 0; if (0 < iVar13 + -4) { iVar8 = iVar13 + -4; } FUN_18129b390(&local_e0,local_78,iVar12 - iVar4,DAT_1824c41e0,(float)iVar11,(float)iVar8,1,0x24); cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar3 == '\0') { for (pfVar9 = local_e0; pfVar9 != local_e0 + local_d8._4_4_; pfVar9 = pfVar9 + 1) { fVar14 = *pfVar9; if (fVar14 == DAT_1824c4600) { pfVar9 = pfVar9 + 2; } else if (((fVar14 == DAT_1824c45fc) || (fVar14 == DAT_1824c4604)) || (fVar14 == DAT_1824c4608) ) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_e0,local_78); break; } } } local_d8 = (ulonglong)(uint)local_d8; /* WARNING: Subroutine does not return */ free(local_e0); } ############ FUN_ 181308ba0 size=2210 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181308ba0(void) { undefined8 *puVar1; uint uVar2; bool bVar3; undefined4 uVar4; undefined4 uVar5; undefined8 uVar6; char cVar7; longlong lVar8; longlong *plVar9; longlong *plVar10; undefined8 uVar11; uint *_Memory; int iVar12; undefined8 in_stack_fffffffffffff8a8; undefined4 uVar13; void *local_728; undefined4 local_720; undefined4 uStack_71c; undefined4 local_718; undefined4 uStack_714; undefined4 uStack_710; undefined4 uStack_70c; undefined1 local_708; undefined4 local_700; longlong local_6f8 [2]; undefined8 local_6e8; undefined4 uStack_6e0; undefined4 uStack_6dc; undefined8 local_6d8; undefined4 uStack_6d0; undefined4 uStack_6cc; undefined8 local_6c8; undefined4 uStack_6c0; undefined4 uStack_6bc; undefined8 *local_6b8; undefined8 *local_6b0; undefined4 local_6a8; undefined8 local_6a0; undefined8 uStack_698; undefined8 local_690; undefined8 uStack_688; undefined8 local_680; undefined4 local_678; undefined8 local_670; undefined8 uStack_668; undefined8 local_660; undefined8 uStack_658; undefined8 local_650; undefined4 local_648; undefined8 local_640; undefined8 uStack_638; undefined8 local_630; undefined8 uStack_628; undefined8 local_620; undefined **local_618; undefined1 *local_610; undefined1 *local_608; undefined8 local_600; undefined8 local_5f8; undefined8 uStack_5f0; undefined8 local_5e8; undefined8 uStack_5e0; undefined8 local_5d8; undefined8 local_5d0; undefined8 local_5c8; undefined8 uStack_5c0; undefined8 local_5b8; undefined8 uStack_5b0; undefined8 local_5a8; undefined8 uStack_5a0; undefined8 local_598; undefined8 local_590; undefined8 local_588; undefined8 local_580; undefined8 local_578; undefined4 local_570; undefined1 local_56c; undefined8 local_568; undefined8 local_560; undefined4 local_558; undefined4 uStack_554; undefined4 uStack_550; undefined4 uStack_54c; undefined4 local_548; undefined4 local_544; undefined4 local_540; undefined4 uStack_53c; undefined4 uStack_538; undefined4 uStack_534; undefined1 local_530; undefined8 local_528; undefined8 local_520; undefined8 local_518; undefined8 local_510; undefined4 local_508; undefined4 uStack_504; undefined4 uStack_500; undefined4 uStack_4fc; undefined4 local_4f8; undefined4 uStack_4f4; undefined4 uStack_4f0; undefined4 uStack_4ec; undefined4 local_4e8; undefined4 uStack_4e4; undefined4 uStack_4e0; undefined4 uStack_4dc; undefined4 local_4d8; undefined4 uStack_4d4; undefined4 uStack_4d0; undefined4 uStack_4cc; undefined4 local_4c8; undefined4 uStack_4c4; undefined4 uStack_4c0; undefined4 uStack_4bc; undefined **local_4b8 [5]; undefined4 local_490; undefined4 local_48c; longlong local_3d8 [2]; undefined4 local_3c8; undefined4 uStack_3c4; undefined4 uStack_3c0; undefined4 uStack_3bc; undefined1 local_3b8; int local_388; longlong local_380; longlong local_378; undefined8 local_370; undefined8 uStack_368; undefined8 local_360; undefined **local_328 [5]; undefined4 local_300; undefined4 local_2fc; longlong local_248 [2]; undefined4 local_238; undefined4 uStack_234; undefined4 uStack_230; undefined4 uStack_22c; undefined1 local_228; int local_1f8; longlong local_1f0; longlong local_1e8; undefined8 local_1e0; undefined8 uStack_1d8; undefined8 local_1d0; undefined4 local_198; undefined4 uStack_194; undefined4 uStack_190; undefined4 uStack_18c; undefined4 local_188; undefined4 uStack_184; undefined4 uStack_180; undefined4 uStack_17c; undefined4 local_178; undefined4 uStack_174; undefined4 uStack_170; undefined4 uStack_16c; undefined4 local_168; undefined4 uStack_164; undefined4 uStack_160; undefined4 uStack_15c; undefined **local_158 [24]; undefined8 local_98; undefined8 uStack_90; undefined4 local_88; undefined4 local_84; undefined4 local_80; undefined4 uStack_7c; undefined4 uStack_78; undefined4 uStack_74; undefined1 local_70; uVar13 = (undefined4)((ulonglong)in_stack_fffffffffffff8a8 >> 0x20); local_528 = 0xfffffffffffffffe; local_700 = 0; local_728 = (void *)0x0; local_720 = 0; uStack_71c = 0; local_718 = 0; uStack_714 = 0; uStack_710 = 0; uStack_70c = 0; local_708 = 1; local_198 = _DAT_1824c4ed0; uStack_194 = _UNK_1824c4ed4; uStack_190 = _UNK_1824c4ed8; uStack_18c = _UNK_1824c4edc; local_508 = _DAT_1824c4ed0; uStack_504 = _UNK_1824c4ed4; uStack_500 = _UNK_1824c4ed8; uStack_4fc = _UNK_1824c4edc; FUN_18129d1e0(&local_728,&local_508); FUN_181330640(local_328); local_328[0] = juce::DrawablePath::vftable; FUN_1804aaf40(local_248,&local_728); local_238 = local_718; uStack_234 = uStack_714; uStack_230 = uStack_710; uStack_22c = uStack_70c; local_228 = local_708; FUN_181330000(local_328); uVar6 = _UNK_1824c4788; uVar11 = _DAT_1824c4780; iVar12 = -0x66000001; local_6a8 = 0x99ffffff; local_6a0 = 0; uStack_698 = 0; local_690 = _DAT_1824c4780; uStack_688 = _UNK_1824c4788; local_680 = 0x3f800000; if ((local_1f8 == -0x66000001) && (local_1e8 == 0)) { iVar12 = -0x66000001; cVar7 = FUN_1812a0bf0(&local_1e0,&local_690); if ((cVar7 == '\0') || (bVar3 = true, local_1f0 != 0)) goto LAB_181308cd5; } else { LAB_181308cd5: bVar3 = false; } if (!bVar3) { local_1f8 = iVar12; lVar8 = FUN_1804b0230(0); if (local_1f0 != 0) { *(undefined4 *)(local_1f0 + 0x24) = 0; puVar1 = (undefined8 *)(local_1f0 + 0x18); local_1f0 = lVar8; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } local_1f0 = lVar8; FUN_1812911c0(&local_1e8,&uStack_698); local_1e0 = uVar11; uStack_1d8 = uVar6; local_1d0 = local_680; local_6e8 = 0; uStack_6e0 = local_300; uStack_6dc = local_2fc; local_4f8 = 0; uStack_4f4 = 0; uStack_4f0 = local_300; uStack_4ec = local_2fc; FUN_181342870(local_328,&local_4f8,1); } uStack_71c = 0; local_718 = 0; uStack_714 = 0; uStack_710 = 0; uStack_70c = 0; local_188 = _DAT_1824c4ec0; uStack_184 = _UNK_1824c4ec4; uStack_180 = _UNK_1824c4ec8; uStack_17c = _UNK_1824c4ecc; local_4e8 = _DAT_1824c4ec0; uStack_4e4 = _UNK_1824c4ec4; uStack_4e0 = _UNK_1824c4ec8; uStack_4dc = _UNK_1824c4ecc; FUN_18129d1e0(&local_728,&local_4e8); uVar5 = DAT_1824c4434; uVar4 = DAT_1824c4414; FUN_18129d850(&local_728,DAT_1824c4434,DAT_1824c4494,DAT_1824c44b4,CONCAT44(uVar13,DAT_1824c4414)) ; uVar13 = DAT_1824c4430; FUN_18129d850(&local_728,DAT_1824c4494,uVar5,uVar4,DAT_1824c4430); FUN_18129d850(&local_728,DAT_1824c4494,DAT_1824c44b8,uVar4,uVar13); local_708 = 0; FUN_181330640(local_4b8); local_4b8[0] = juce::DrawablePath::vftable; FUN_1804aaf40(local_3d8,&local_728); local_3c8 = local_718; uStack_3c4 = uStack_714; uStack_3c0 = uStack_710; uStack_3bc = uStack_70c; local_3b8 = local_708; FUN_181330000(local_4b8); uVar6 = _UNK_1824c4788; uVar11 = _DAT_1824c4780; iVar12 = 0x59000000; local_678 = 0x59000000; local_670 = 0; uStack_668 = 0; local_660 = _DAT_1824c4780; uStack_658 = _UNK_1824c4788; local_650 = 0x3f800000; if ((local_388 == 0x59000000) && (local_378 == 0)) { iVar12 = 0x59000000; cVar7 = FUN_1812a0bf0(&local_370,&local_660); if ((cVar7 == '\0') || (bVar3 = true, local_380 != 0)) goto LAB_181308ef3; } else { LAB_181308ef3: bVar3 = false; } if (!bVar3) { local_388 = iVar12; lVar8 = FUN_1804b0230(0); if (local_380 != 0) { *(undefined4 *)(local_380 + 0x24) = 0; puVar1 = (undefined8 *)(local_380 + 0x18); local_380 = lVar8; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } local_380 = lVar8; FUN_1812911c0(&local_378,&uStack_668); local_370 = uVar11; uStack_368 = uVar6; local_360 = local_650; local_6d8 = 0; uStack_6d0 = local_490; uStack_6cc = local_48c; local_4d8 = 0; uStack_4d4 = 0; uStack_4d0 = local_490; uStack_4cc = local_48c; FUN_181342870(local_4b8,&local_4d8,1); } local_610 = &DAT_1821dbf98; local_608 = &DAT_1821dbf98; local_600 = 0; local_5f8 = 0; uStack_5f0 = 0; local_5e8 = 0; uStack_5e0 = 0; local_5d8 = 0; local_5d0 = 0; local_5c8 = 0; uStack_5c0 = 0; local_5b8 = 0; uStack_5b0 = 0; local_5a8 = 0; uStack_5a0 = 0; local_598 = 0; local_590 = 0; local_588 = 0; local_580 = 0; local_578 = 0; local_56c = 0; local_568 = 0; local_560 = 0; local_570 = 0x4008; local_618 = juce::DrawableComposite::vftable; local_558 = _DAT_1824c4810; uStack_554 = _UNK_1824c4814; uStack_550 = _UNK_1824c4818; uStack_54c = _UNK_1824c481c; local_548 = 0; local_544 = 0x42c80000; local_530 = 0; local_178 = _DAT_1824c4ec0; uStack_174 = _UNK_1824c4ec4; uStack_170 = _UNK_1824c4ec8; uStack_16c = _UNK_1824c4ecc; local_540 = _DAT_1824c4ec0; uStack_53c = _UNK_1824c4ec4; uStack_538 = _UNK_1824c4ec8; uStack_534 = _UNK_1824c4ecc; plVar9 = (longlong *)FUN_1811316e0(400); FUN_181330550(plVar9,local_328); *plVar9 = (longlong)juce::DrawablePath::vftable; if (plVar9 + 0x1c != local_248) { FUN_1804aaf40(plVar9 + 0x1c,local_248); *(undefined4 *)(plVar9 + 0x1e) = local_238; *(undefined4 *)((longlong)plVar9 + 0xf4) = uStack_234; *(undefined4 *)(plVar9 + 0x1f) = uStack_230; *(undefined4 *)((longlong)plVar9 + 0xfc) = uStack_22c; *(undefined1 *)(plVar9 + 0x20) = local_228; } FUN_181330000(plVar9); local_520 = 0; (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(&local_618,plVar9,0xffffffff); plVar9 = (longlong *)FUN_1811316e0(400); FUN_181330550(plVar9,local_4b8); *plVar9 = (longlong)juce::DrawablePath::vftable; if (plVar9 + 0x1c != local_3d8) { FUN_1804aaf40(plVar9 + 0x1c,local_3d8); *(undefined4 *)(plVar9 + 0x1e) = local_3c8; *(undefined4 *)((longlong)plVar9 + 0xf4) = uStack_3c4; *(undefined4 *)(plVar9 + 0x1f) = uStack_3c0; *(undefined4 *)((longlong)plVar9 + 0xfc) = uStack_3bc; *(undefined1 *)(plVar9 + 0x20) = local_3b8; } FUN_181330000(plVar9); local_518 = 0; (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(&local_618,plVar9,0xffffffff); uVar6 = _UNK_1824c4788; uVar11 = _DAT_1824c4780; iVar12 = -0x34000000; local_648 = 0xcc000000; local_640 = 0; uStack_638 = 0; local_630 = _DAT_1824c4780; uStack_628 = _UNK_1824c4788; local_620 = 0x3f800000; if ((local_388 == -0x34000000) && (local_378 == 0)) { iVar12 = -0x34000000; cVar7 = FUN_1812a0bf0(&local_370,&local_630); if ((cVar7 != '\0') && (bVar3 = true, local_380 == 0)) goto LAB_181309206; } bVar3 = false; LAB_181309206: if (!bVar3) { local_388 = iVar12; lVar8 = FUN_1804b0230(0); if (local_380 != 0) { *(undefined4 *)(local_380 + 0x24) = 0; puVar1 = (undefined8 *)(local_380 + 0x18); local_380 = lVar8; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } local_380 = lVar8; FUN_1812911c0(&local_378,&uStack_638); local_370 = uVar11; uStack_368 = uVar6; local_360 = local_620; local_6c8 = 0; uStack_6c0 = local_490; uStack_6bc = local_48c; local_4c8 = 0; uStack_4c4 = 0; uStack_4c0 = local_490; uStack_4bc = local_48c; FUN_181342870(local_4b8,&local_4c8,1); } FUN_1813331e0(local_158); local_158[0] = juce::DrawableComposite::vftable; local_98 = CONCAT44(_UNK_1824c4814,_DAT_1824c4810); uStack_90 = CONCAT44(_UNK_1824c481c,_UNK_1824c4818); local_88 = 0; local_84 = 0x42c80000; local_70 = 0; local_168 = _DAT_1824c4ec0; uStack_164 = _UNK_1824c4ec4; uStack_160 = _UNK_1824c4ec8; uStack_15c = _UNK_1824c4ecc; local_80 = _DAT_1824c4ec0; uStack_7c = _UNK_1824c4ec4; uStack_78 = _UNK_1824c4ec8; uStack_74 = _UNK_1824c4ecc; plVar10 = (longlong *)FUN_181330bc0(local_328,&local_6b8); plVar9 = (longlong *)*plVar10; *plVar10 = 0; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(local_158,plVar9,0xffffffff); } if (local_6b8 != (undefined8 *)0x0) { (**(code **)*local_6b8)(local_6b8,1); } plVar10 = (longlong *)FUN_181330bc0(local_4b8,&local_6b0); plVar9 = (longlong *)*plVar10; *plVar10 = 0; if (plVar9 != (longlong *)0x0) { (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(local_158,plVar9,0xffffffff); } if (local_6b0 != (undefined8 *)0x0) { (**(code **)*local_6b0)(local_6b0,1); } uVar11 = FUN_1811316e0(0x220); local_510 = uVar11; FUN_18049c4e0(local_6f8,&DAT_1821e429c); local_700 = 0x1f; uVar11 = FUN_181335a10(uVar11,local_6f8,0); _Memory = (uint *)(local_6f8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1813355a0(uVar11,&local_618,local_158,0,0,0,0,0); FUN_181332610(local_158); FUN_181332610(&local_618); local_4b8[0] = juce::DrawablePath::vftable; FUN_1813304a0(local_4b8); local_328[0] = juce::DrawablePath::vftable; FUN_1813304a0(local_328); /* WARNING: Subroutine does not return */ free(local_728); } ############ FUN_ 181330bc0 size=161 ############ undefined8 * FUN_181330bc0(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { undefined4 uVar1; undefined4 uVar2; undefined4 uVar3; undefined8 *puVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; puVar4 = (undefined8 *)FUN_1811316e0(400); FUN_181330550(puVar4,param_1,param_3,param_4,uVar5); *puVar4 = juce::DrawablePath::vftable; if (puVar4 + 0x1c != (undefined8 *)(param_1 + 0xe0)) { FUN_1804aaf40(puVar4 + 0x1c,(undefined8 *)(param_1 + 0xe0)); uVar1 = *(undefined4 *)(param_1 + 0xf4); uVar2 = *(undefined4 *)(param_1 + 0xf8); uVar3 = *(undefined4 *)(param_1 + 0xfc); *(undefined4 *)(puVar4 + 0x1e) = *(undefined4 *)(param_1 + 0xf0); *(undefined4 *)((longlong)puVar4 + 0xf4) = uVar1; *(undefined4 *)(puVar4 + 0x1f) = uVar2; *(undefined4 *)((longlong)puVar4 + 0xfc) = uVar3; *(undefined1 *)(puVar4 + 0x20) = *(undefined1 *)(param_1 + 0x100); } FUN_181330000(puVar4); *param_2 = puVar4; return param_2; } ############ FUN_ 18130a510 size=328 ############ int FUN_18130a510(longlong *param_1,longlong param_2,int param_3,undefined8 param_4) { int *piVar1; uint uVar2; longlong lVar3; int iVar4; int iVar5; undefined8 uVar6; undefined8 uVar7; uint *_Memory; float fVar8; float fVar9; undefined8 *local_res8; longlong local_res10; uVar6 = FUN_181248e40(param_2 + 0x158,&local_res10,param_3,param_4,0xfffffffffffffffe); fVar9 = (float)param_3 * DAT_1824c3db8; uVar7 = FUN_1811316e0(0x40); fVar8 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar9) && (fVar8 = DAT_1824c45c8, fVar9 <= DAT_1824c45c8)) { fVar8 = fVar9; } local_res8 = (undefined8 *)FUN_1804a2b80(uVar7,0,fVar8); if (local_res8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; UNLOCK(); } fVar8 = (float)FUN_1812518d0(&local_res8,uVar6); fVar8 = ceilf(fVar8); iVar4 = (**(code **)(*param_1 + 0x10))(param_1,param_3); iVar4 = (int)fVar8 + iVar4 * 2; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res8)(local_res8,1); } } _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } lVar3 = *(longlong *)(param_2 + 0x1d8); if (lVar3 != 0) { if (*(int *)(*(longlong *)(param_2 + 0x1c8) + 0xf8) - 2U < 2) { iVar5 = *(int *)(lVar3 + 0x2c); } else { iVar5 = *(int *)(lVar3 + 0x28); } iVar4 = iVar4 + iVar5; } iVar5 = param_3 * 2; if ((param_3 * 2 <= iVar4) && (iVar5 = iVar4, param_3 * 8 < iVar4)) { iVar5 = param_3 * 8; } return iVar5; } ############ FUN_ 18130a690 size=1744 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18130a690(undefined8 param_1,longlong param_2,int param_3,int param_4,undefined8 *param_5, uint *param_6,longlong param_7) { byte bVar1; float fVar2; double dVar3; longlong lVar4; char cVar5; undefined8 uVar6; longlong *plVar7; uint *puVar8; undefined1 uVar9; byte *pbVar10; int iVar11; undefined4 uVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; float fVar18; float fVar19; float fVar20; undefined1 local_res10 [8]; undefined4 local_res18; undefined4 local_res20; longlong local_158; void *local_150; undefined8 local_148; undefined8 local_140; undefined8 uStack_138; undefined1 local_130; undefined8 local_128; undefined4 local_120; undefined8 local_11c; undefined8 uStack_114; undefined8 local_10c; undefined1 local_104 [4]; undefined4 local_100; double local_f8; double local_f0; undefined8 local_e8; double local_e0; double local_d8; undefined8 local_d0; local_d0 = 0xfffffffffffffffe; uVar6 = FUN_1811316e0(0x40); local_158 = FUN_1804a2b80(uVar6,0,DAT_1824c4418); if (local_158 != 0) { LOCK(); *(int *)(local_158 + 8) = *(int *)(local_158 + 8) + 1; UNLOCK(); } iVar11 = 0; local_150 = (void *)0x0; local_148 = 0; local_140 = 0; uStack_138 = 0; local_130 = 1; if (*(float *)(local_158 + 0x34) == 0.0) { plVar7 = (longlong *)FUN_181252280(&local_158); lVar4 = local_158; uVar12 = (**(code **)(*plVar7 + 0x10))(plVar7); *(undefined4 *)(lVar4 + 0x34) = uVar12; } fVar2 = DAT_1824c42d0; fVar17 = *(float *)(local_158 + 0x34) * *(float *)(local_158 + 0x28) - DAT_1824c42d0; fVar19 = (float)param_3 - DAT_1824c4388; if (fVar19 <= 0.0) { fVar19 = 0.0; } fVar20 = ((float)param_4 - fVar17) - DAT_1824c42d0; if (fVar20 <= 0.0) { fVar20 = 0.0; } fVar18 = fVar20 * DAT_1824c3d8c; fVar13 = fVar19 * DAT_1824c3d8c; if (DAT_1824c4360 <= fVar13) { if (DAT_1824c4360 <= fVar18) { fVar18 = DAT_1824c4360; } } else if (fVar13 <= fVar18) { fVar18 = fVar13; } fVar13 = fVar18 * DAT_1824c41e0; if (*(char *)*param_5 != '\0') { plVar7 = (longlong *)FUN_181252280(&local_158); fVar14 = (float)(**(code **)(*plVar7 + 0x28))(plVar7,param_5); if (*(float *)(local_158 + 0x30) != 0.0) { pbVar10 = (byte *)*param_5; LAB_18130a850: do { bVar1 = *pbVar10; pbVar10 = pbVar10 + 1; if ((char)bVar1 < '\0') { if ((*pbVar10 & 0xc0) == 0x80) { do { pbVar10 = pbVar10 + 1; } while ((*pbVar10 & 0xc0) == 0x80); iVar11 = iVar11 + 1; goto LAB_18130a850; } } else if (bVar1 == 0) goto LAB_18130a88c; iVar11 = iVar11 + 1; } while( true ); } goto LAB_18130a89c; } fVar14 = 0.0; LAB_18130a8ee: fVar16 = fVar18 + DAT_1824c4334; if ((*param_6 >> 2 & 1) == 0) { if ((*param_6 >> 1 & 1) != 0) { fVar16 = ((fVar19 - fVar18) - fVar14) - DAT_1824c4334; } } else { fVar16 = ((fVar19 - fVar13) - fVar14) * DAT_1824c3d8c + fVar18; } fVar15 = fVar16 + fVar2 + fVar14; if (local_148._4_4_ == 0) { local_140 = CONCAT44(fVar15,fVar15); uStack_138 = (ulonglong)(uint)fVar17; } else { if ((float)local_140 <= fVar15) { if (local_140._4_4_ < fVar15) { local_140 = CONCAT44(fVar15,(float)local_140); } } else { local_140 = CONCAT44(local_140._4_4_,fVar15); } if (fVar17 < (float)uStack_138) { uStack_138 = CONCAT44(uStack_138._4_4_,fVar17); goto LAB_18130a9b4; } if (fVar17 <= uStack_138._4_4_) goto LAB_18130a9b4; } uStack_138 = CONCAT44(fVar17,(float)uStack_138); LAB_18130a9b4: FUN_1804b02a0(&local_150,&DAT_1821df344,fVar15,fVar17); FUN_18129ddd0(&local_150,(fVar19 + fVar2) - fVar18,fVar17); fVar15 = fVar13 * DAT_1824c3d8c; if (0.0 < fVar15) { FUN_18129cdf0(&local_150,((fVar19 + fVar2) - fVar13) + fVar15,fVar15 + fVar17,fVar15,fVar15,0,0, DAT_1824c3fa0,0); } FUN_18129ddd0(&local_150); if (0.0 < fVar15) { FUN_18129cdf0(&local_150); } FUN_18129ddd0(&local_150,fVar18 + fVar2,fVar20 + fVar17); uVar12 = DAT_1824c435c; if (0.0 < fVar15) { FUN_18129cdf0(&local_150,fVar15 + fVar2,((fVar20 + fVar17) - fVar13) + fVar15,fVar15,fVar15,0, DAT_1824c42e0,DAT_1824c435c,0); } FUN_18129ddd0(&local_150); if (0.0 < fVar15) { FUN_18129cdf0(&local_150,fVar15 + fVar2,fVar15 + fVar17,fVar15,fVar15,0,uVar12,DAT_1824c43a4,0); } FUN_18129ddd0(&local_150); fVar17 = DAT_1824c3ea4; if (((*(byte *)(param_7 + 0xa9) & 0x10) != 0) || ((*(longlong *)(param_7 + 0x18) != 0 && (cVar5 = FUN_18133eaa0(), cVar5 == '\0')))) { fVar17 = DAT_1824c3d8c; } puVar8 = (uint *)FUN_18134a8d0(param_7,local_res10,0x1005400,0); dVar3 = DAT_1824c4520; local_f8 = (double)((float)(*puVar8 >> 0x18) * fVar17) + DAT_1824c4520; uVar9 = 0xff; if (SUB84(local_f8,0) < 0xff) { uVar9 = SUB81(local_f8,0); } local_res18 = CONCAT13(uVar9,(int3)*puVar8); FUN_181296c00(param_2,local_res18); local_11c = _DAT_1824c4780; uStack_114 = _UNK_1824c4788; local_10c = 0x3f800000; local_128 = 0x40000000; local_120 = 0; FUN_181295d20(param_2,&local_150,&local_128,&local_11c); puVar8 = (uint *)FUN_18134a8d0(param_7,local_104,0x1005410,0); local_f0 = (double)((float)(*puVar8 >> 0x18) * fVar17) + dVar3; uVar9 = 0xff; if (SUB84(local_f0,0) < 0xff) { uVar9 = SUB81(local_f0,0); } local_res20 = CONCAT13(uVar9,(int3)*puVar8); FUN_181296c00(param_2,local_res20); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_158); local_100 = 0x24; local_e8 = DAT_1824c4528; uVar6 = local_e8; local_e0 = (double)fVar14 + dVar3; local_d8 = (double)(fVar16 + fVar2) + dVar3; local_e8._0_4_ = (undefined4)DAT_1824c4528; uVar12 = (undefined4)local_e8; local_e8 = uVar6; FUN_1812962a0(param_2,param_5,(ulonglong)local_d8 & 0xffffffff,0,local_e0._0_4_,uVar12,0x24,1); local_148 = local_148 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_150); LAB_18130a88c: fVar14 = fVar14 + (float)iVar11 * *(float *)(local_158 + 0x30); LAB_18130a89c: fVar16 = ceilf(fVar14 * *(float *)(local_158 + 0x28) * *(float *)(local_158 + 0x2c)); fVar14 = (fVar19 - fVar13) - DAT_1824c43d8; if (fVar14 <= 0.0) { fVar14 = 0.0; } fVar16 = (float)(int)fVar16 + DAT_1824c43d8; if (0.0 <= fVar16) { if (fVar16 <= fVar14) { fVar14 = fVar16; } } else { fVar14 = 0.0; } goto LAB_18130a8ee; } ############ FUN_ 18130b030 size=117 ############ void FUN_18130b030(void) { undefined4 uVar1; undefined8 *puVar2; undefined4 local_res18; puVar2 = (undefined8 *)FUN_1811316e0(0x40); uVar1 = DAT_18262b5b8; puVar2[1] = 0; local_res18 = CONCAT13(0x66,(int3)uVar1); *puVar2 = juce::DropShadower::vftable; puVar2[2] = 0; puVar2[3] = 0; *(undefined1 *)(puVar2 + 6) = 0; puVar2[4] = CONCAT44(10,local_res18); puVar2[5] = 0x200000000; puVar2[7] = 0; return; } ############ FUN_ 18130b1e0 size=1168 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18130b1e0(undefined8 param_1,int param_2) { uint uVar1; undefined4 uVar2; undefined4 uVar3; undefined8 *puVar4; uint *puVar5; undefined8 in_stack_fffffffffffffe78; undefined4 uVar6; void *local_168; undefined8 local_160; undefined8 local_158; undefined8 uStack_150; undefined1 local_148; void *local_140; ulonglong local_138; undefined4 local_130; undefined4 uStack_12c; undefined4 uStack_128; undefined4 uStack_124; undefined1 local_120; longlong local_118; longlong local_110; longlong local_108; undefined8 local_100; undefined8 uStack_f8; undefined8 local_f0; undefined8 local_e8; undefined4 local_d8; undefined4 uStack_d4; undefined4 uStack_d0; undefined4 uStack_cc; undefined4 local_c8; undefined4 uStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; undefined4 local_b8; undefined4 uStack_b4; undefined4 uStack_b0; undefined4 uStack_ac; undefined4 local_a8; undefined4 uStack_a4; undefined4 uStack_a0; undefined4 uStack_9c; undefined4 local_98; undefined4 uStack_94; undefined4 uStack_90; undefined4 uStack_8c; undefined4 local_88; undefined4 uStack_84; undefined4 uStack_80; undefined4 uStack_7c; undefined4 local_78; undefined4 uStack_74; undefined4 uStack_70; undefined4 uStack_6c; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; uVar3 = DAT_1824c3d64; uVar2 = DAT_1824c3d3c; uVar6 = (undefined4)((ulonglong)in_stack_fffffffffffffe78 >> 0x20); local_e8 = 0xfffffffffffffffe; local_168 = (void *)0x0; local_160 = 0; local_158 = 0; uStack_150 = 0; local_148 = 1; if (param_2 == 4) { local_88 = _DAT_1824c4b60; uStack_84 = _UNK_1824c4b64; uStack_80 = _UNK_1824c4b68; uStack_7c = _UNK_1824c4b6c; local_d8 = _DAT_1824c4b60; uStack_d4 = _UNK_1824c4b64; uStack_d0 = _UNK_1824c4b68; uStack_cc = _UNK_1824c4b6c; FUN_18129c940(&local_168,&local_d8,DAT_1824c3d64); local_78 = _DAT_1824c4b30; uStack_74 = _UNK_1824c4b34; uStack_70 = _UNK_1824c4b38; uStack_6c = _UNK_1824c4b3c; local_c8 = _DAT_1824c4b30; uStack_c4 = _UNK_1824c4b34; uStack_c0 = _UNK_1824c4b38; uStack_bc = _UNK_1824c4b3c; FUN_18129c940(&local_168,&local_c8,uVar3); puVar4 = (undefined8 *)FUN_1811316e0(0x220); FUN_18049c4e0(&local_118,"close"); FUN_1813379d0(puVar4,&local_118); *puVar4 = juce::LookAndFeel_V2::GlassWindowButton::vftable; puVar4[0x16] = juce::LookAndFeel_V2::GlassWindowButton::vftable; *(undefined4 *)(puVar4 + 0x39) = 0xffdd1100; FUN_1804ab000(puVar4 + 0x3a,&local_168); *(undefined4 *)(puVar4 + 0x3c) = (undefined4)local_158; *(undefined4 *)((longlong)puVar4 + 0x1e4) = local_158._4_4_; *(undefined4 *)(puVar4 + 0x3d) = (undefined4)uStack_150; *(undefined4 *)((longlong)puVar4 + 0x1ec) = uStack_150._4_4_; *(undefined1 *)(puVar4 + 0x3e) = local_148; FUN_1804ab000(puVar4 + 0x3f,&local_168); puVar4[0x41] = local_158; puVar4[0x42] = uStack_150; *(undefined1 *)(puVar4 + 0x43) = local_148; } else { if (param_2 != 1) { if (param_2 == 2) { local_58 = _DAT_1824c4b50; uStack_54 = _UNK_1824c4b54; uStack_50 = _UNK_1824c4b58; uStack_4c = _UNK_1824c4b5c; local_a8 = _DAT_1824c4b50; uStack_a4 = _UNK_1824c4b54; uStack_a0 = _UNK_1824c4b58; uStack_9c = _UNK_1824c4b5c; FUN_18129c940(&local_168,&local_a8,DAT_1824c3d3c); local_48 = _DAT_1824c4ad0; uStack_44 = _UNK_1824c4ad4; uStack_40 = _UNK_1824c4ad8; uStack_3c = _UNK_1824c4adc; local_98 = _DAT_1824c4ad0; uStack_94 = _UNK_1824c4ad4; uStack_90 = _UNK_1824c4ad8; uStack_8c = _UNK_1824c4adc; FUN_18129c940(&local_168,&local_98,uVar2); uVar3 = DAT_1824c44dc; uVar2 = DAT_1824c449c; local_140 = (void *)0x0; local_138 = 0; local_120 = 1; uStack_12c = 0x42340000; local_130 = 0x42340000; uStack_124 = 0x42c80000; uStack_128 = 0x42c80000; FUN_1804b02a0(&local_140,&DAT_1821df344,DAT_1824c449c,DAT_1824c44dc); FUN_18129ddd0(&local_140,0,uVar3); FUN_18129ddd0(&local_140,0,0); FUN_18129ddd0(&local_140,uVar3,0); FUN_18129ddd0(&local_140,uVar3,uVar2); FUN_18129d850(&local_140,uVar2,uVar2,uVar3,CONCAT44(uVar6,uVar3)); local_100 = _DAT_1824c4780; uStack_f8 = _UNK_1824c4788; local_f0 = 0x3f800000; FUN_181297840(DAT_1824c4478,0,0,&local_140,&local_140,&local_100,DAT_1824c3ea4); puVar4 = (undefined8 *)FUN_1811316e0(0x220); FUN_18049c4e0(&local_108,"maximise"); FUN_1813379d0(puVar4,&local_108); *puVar4 = juce::LookAndFeel_V2::GlassWindowButton::vftable; puVar4[0x16] = juce::LookAndFeel_V2::GlassWindowButton::vftable; *(undefined4 *)(puVar4 + 0x39) = 0xff119911; FUN_1804ab000(puVar4 + 0x3a,&local_168); *(undefined4 *)(puVar4 + 0x3c) = (undefined4)local_158; *(undefined4 *)((longlong)puVar4 + 0x1e4) = local_158._4_4_; *(undefined4 *)(puVar4 + 0x3d) = (undefined4)uStack_150; *(undefined4 *)((longlong)puVar4 + 0x1ec) = uStack_150._4_4_; *(undefined1 *)(puVar4 + 0x3e) = local_148; FUN_1804ab000(puVar4 + 0x3f,&local_140); puVar4[0x41] = CONCAT44(uStack_12c,local_130); puVar4[0x42] = CONCAT44(uStack_124,uStack_128); *(undefined1 *)(puVar4 + 0x43) = local_120; puVar5 = (uint *)(local_108 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_138 = local_138 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_140); } goto LAB_18130b66d; } local_68 = _DAT_1824c4ad0; uStack_64 = _UNK_1824c4ad4; uStack_60 = _UNK_1824c4ad8; uStack_5c = _UNK_1824c4adc; local_b8 = _DAT_1824c4ad0; uStack_b4 = _UNK_1824c4ad4; uStack_b0 = _UNK_1824c4ad8; uStack_ac = _UNK_1824c4adc; FUN_18129c940(&local_168,&local_b8,DAT_1824c3d3c); puVar4 = (undefined8 *)FUN_1811316e0(0x220); FUN_18049c4e0(&local_110,"minimise"); FUN_1813379d0(puVar4,&local_110); *puVar4 = juce::LookAndFeel_V2::GlassWindowButton::vftable; puVar4[0x16] = juce::LookAndFeel_V2::GlassWindowButton::vftable; *(undefined4 *)(puVar4 + 0x39) = 0xffaa8811; FUN_1804ab000(puVar4 + 0x3a,&local_168); *(undefined4 *)(puVar4 + 0x3c) = (undefined4)local_158; *(undefined4 *)((longlong)puVar4 + 0x1e4) = local_158._4_4_; *(undefined4 *)(puVar4 + 0x3d) = (undefined4)uStack_150; *(undefined4 *)((longlong)puVar4 + 0x1ec) = uStack_150._4_4_; *(undefined1 *)(puVar4 + 0x3e) = local_148; FUN_1804ab000(puVar4 + 0x3f,&local_168); puVar4[0x41] = local_158; puVar4[0x42] = uStack_150; *(undefined1 *)(puVar4 + 0x43) = local_148; local_118 = local_110; } puVar5 = (uint *)(local_118 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } LAB_18130b66d: /* WARNING: Subroutine does not return */ free(local_168); } ############ FUN_ 18130c1d0 size=606 ############ void FUN_18130c1d0(undefined8 param_1,longlong param_2,int *param_3,char param_4,undefined8 param_5, undefined8 param_6,longlong param_7) { int *piVar1; int iVar2; uint uVar3; undefined8 uVar4; undefined8 *puVar5; float fVar6; undefined4 local_res10; undefined4 local_res20; undefined8 *local_a8; undefined8 *local_a0; undefined8 local_98; undefined8 local_88; int iStack_80; int iStack_7c; float local_78; float fStack_74; float fStack_70; float fStack_6c; float local_68; float fStack_64; float fStack_60; float fStack_5c; undefined8 local_58; undefined8 uStack_50; int local_48; int iStack_44; int iStack_40; int iStack_3c; local_98 = 0xfffffffffffffffe; fVar6 = DAT_1824c3df0; if (param_4 != '\0') { fVar6 = DAT_1824c3e58; } local_res20 = CONCAT13((char)(int)(fVar6 * DAT_1824c454c),(int3)DAT_18262b5a4); FUN_1812a3160(param_2,local_res20); local_res10 = CONCAT13(0x7f,(int3)DAT_18262b5b8); FUN_181296c00(param_2,local_res10); local_48 = *param_3; iStack_44 = param_3[1]; iStack_40 = param_3[2]; iStack_3c = param_3[3]; fStack_6c = (float)iStack_3c; fStack_70 = (float)iStack_40; fStack_74 = (float)iStack_44; local_78 = (float)local_48; local_68 = local_78; fStack_64 = fStack_74; fStack_60 = fStack_70; fStack_5c = fStack_6c; FUN_181295950(param_2,&local_68); FUN_181296c00(param_2,DAT_18262b5a8); uVar4 = FUN_1811316e0(0x40); puVar5 = (undefined8 *)FUN_1804a2b80(uVar4,0); if (puVar5 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); } local_a0 = puVar5; uVar3 = FUN_181252020(&local_a0); if (puVar5 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); } local_a8 = puVar5; FUN_181251ed0(&local_a8,uVar3 | 1); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_a8); if (local_a8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_a8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_a8)(local_a8,1); } } if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } local_88 = 4; iStack_80 = param_3[2] + -6; iStack_7c = param_3[3]; uStack_50 = CONCAT44(iStack_7c,iStack_80); local_58 = 4; FUN_181296100(param_2,param_7 + 8,&local_58,0x21,1,0); return; } ############ FUN_ 18130c540 size=452 ############ undefined8 FUN_18130c540(undefined8 param_1,undefined8 param_2) { longlong lVar1; int iVar2; undefined8 uVar3; longlong *plVar4; uint uVar5; uint *puVar6; longlong local_res20; longlong local_38 [3]; undefined4 *local_20; local_38[1] = 0xfffffffffffffffe; uVar3 = FUN_1811316e0(0x1c8); local_38[2] = uVar3; FUN_18049c4e0(&local_res20,"click to browse for a different file"); lVar1 = DAT_1826739f8; local_20 = &DAT_182673984; do { LOCK(); uVar5 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar5 != 0); if (DAT_1826739f8 == 0) { local_38[0] = local_res20; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar2 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res20, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar2)) { iVar2 = FUN_1812498b0(lVar1 + 0x18,local_res20,*(undefined1 *)(lVar1 + 0x38),0); if (iVar2 < 0) { uVar5 = *(uint *)(local_res20 + -0x10); local_38[0] = local_res20; } else { plVar4 = (longlong *)FUN_181249970(lVar1 + 0x28,iVar2); uVar5 = *(uint *)(*plVar4 + -0x10); local_38[0] = *plVar4; } if ((uVar5 & 0x30000000) == 0) { LOCK(); *(int *)(local_38[0] + -0x10) = *(int *)(local_38[0] + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar1 + 0x40),local_38,&local_res20,&local_res20); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar6 = (uint *)(local_res20 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } uVar3 = FUN_181333920(uVar3,param_2,local_38); puVar6 = (uint *)(local_38[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return uVar3; } ############ FUN_ 18130cbf0 size=183 ############ undefined8 * FUN_18130cbf0(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined4 uVar2; undefined8 *puVar3; longlong *plVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; puVar3 = (undefined8 *)FUN_1811316e0(0x40); uVar2 = DAT_1824c4418; *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = juce::Font::SharedFontInternal::vftable; puVar3[2] = 0; plVar4 = (longlong *)FUN_181252610(); lVar1 = *plVar4; puVar3[3] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(puVar3 + 4,&DAT_1824983b4,param_3,param_4,uVar5); *(undefined4 *)(puVar3 + 5) = uVar2; *(undefined8 *)((longlong)puVar3 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar3 + 0x34) = 0; *(undefined1 *)(puVar3 + 7) = 0; *param_2 = puVar3; LOCK(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; UNLOCK(); return param_2; } ############ FUN_ 18130cfb0 size=304 ############ undefined8 * FUN_18130cfb0(undefined8 param_1,undefined8 param_2,char param_3) { uint uVar1; longlong lVar2; undefined8 *puVar3; uint *puVar4; undefined *puVar5; bool bVar6; longlong local_28 [2]; undefined8 *local_18; undefined1 *local_10; local_28[1] = 0xfffffffffffffffe; puVar3 = (undefined8 *)FUN_1811316e0(0x1c8); puVar5 = &DAT_1821e2d7c; if (param_3 != '\0') { puVar5 = &DAT_1821e2d9c; } local_18 = puVar3; FUN_18049c4e0(local_28,puVar5); local_10 = &DAT_1821dbf98; FUN_1813379d0(puVar3,local_28); *puVar3 = juce::TextButton::vftable; puVar3[0x16] = juce::TextButton::vftable; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } LOCK(); lVar2 = puVar3[0x17]; puVar3[0x17] = &DAT_1821dbf98; UNLOCK(); puVar4 = (uint *)(lVar2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } *(undefined1 *)((longlong)puVar3 + 0x1c6) = 0; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar6 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar6) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar4 = (uint *)(local_28[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return puVar3; } ############ FUN_ 18130db20 size=928 ############ void FUN_18130db20(longlong *param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8, undefined4 param_9,int param_10,longlong param_11) { longlong *plVar1; longlong lVar2; bool bVar3; bool bVar4; int iVar5; longlong lVar6; char cVar7; undefined4 *puVar8; longlong lVar9; longlong *plVar10; undefined8 in_stack_ffffffffffffff50; undefined4 uVar11; undefined8 local_78 [2]; undefined1 local_68 [8]; undefined8 local_60; lVar6 = param_11; uVar11 = (undefined4)((ulonglong)in_stack_ffffffffffffff50 >> 0x20); local_60 = 0xfffffffffffffffe; puVar8 = (undefined4 *)FUN_18134a8d0(param_11,local_78,0x1001200,0); FUN_1812a3160(param_2,*puVar8); iVar5 = param_10; if (param_10 - 2U < 2) { cVar7 = FUN_18133e440(lVar6); if (((cVar7 == '\0') || ((*(byte *)(lVar6 + 0xa9) & 0x10) != 0)) || ((*(longlong *)(lVar6 + 0x18) != 0 && (cVar7 = FUN_18133eaa0(), cVar7 == '\0')))) { bVar4 = false; if (DAT_182673700 == 0) { local_78[0] = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_78[0]); } plVar10 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar10 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); for (; plVar10 != plVar1; plVar10 = plVar10 + 1) { lVar2 = *(longlong *)(*plVar10 + 0x48); lVar9 = 0; if (lVar2 != 0) { lVar9 = *(longlong *)(lVar2 + 0x10); } if ((lVar9 == lVar6) && (bVar3 = false, (*(byte *)(*plVar10 + 0x28) & 0x70) != 0)) goto LAB_18130dc63; } bVar3 = false; } else { bVar3 = true; LAB_18130dc63: bVar4 = bVar3; bVar3 = true; } if (((*(byte *)(lVar6 + 0xa9) & 0x10) == 0) && (*(longlong *)(lVar6 + 0x18) != 0)) { FUN_18133eaa0(); } puVar8 = (undefined4 *)FUN_18134a8d0(lVar6,local_68,0x1001300,0); FUN_18049fa40(local_78,*puVar8); FUN_18049fbb0(¶m_10); FUN_18049fa40(local_78,param_10); FUN_18049fbb0(¶m_10); if (bVar3) { FUN_1812a24b0(¶m_10,local_78); } else if (bVar4) { FUN_1812a24b0(¶m_10,local_78); } else { local_78[0] = CONCAT44(local_78[0]._4_4_,param_10); } if (((*(byte *)(lVar6 + 0xa9) & 0x10) == 0) && (*(longlong *)(lVar6 + 0x18) != 0)) { FUN_18133eaa0(); } FUN_181305bb0(); } else { (**(code **)(*param_1 + 0x10)) (param_1,param_2,param_3,param_4,param_5,param_6,param_7,CONCAT44(uVar11,param_8), param_9,param_10,lVar6); (**(code **)(*param_1 + 0x18)) (param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,iVar5,lVar6); } return; } ############ FUN_ 18130ded0 size=1271 ############ void FUN_18130ded0(longlong *param_1,undefined8 param_2,int param_3,int param_4,int param_5, int param_6,float param_7,float param_8,float param_9,int param_10, longlong param_11) { longlong *plVar1; longlong lVar2; longlong lVar3; char cVar4; int iVar5; longlong lVar6; undefined4 *puVar7; longlong *plVar8; undefined1 uVar9; undefined1 uVar10; undefined1 uVar11; float fVar12; undefined1 auVar14 [12]; undefined1 auVar13 [16]; undefined1 auVar16 [12]; undefined1 auVar15 [16]; float fVar17; float fVar18; undefined4 uVar19; undefined1 local_res8 [8]; lVar3 = param_11; iVar5 = (**(code **)(*param_1 + 0x20))(param_1,param_11); fVar18 = (float)(iVar5 + -2); if (DAT_182673700 == 0) { param_11 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(param_11); } plVar8 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar8 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); for (; plVar8 != plVar1; plVar8 = plVar8 + 1) { lVar2 = *(longlong *)(*plVar8 + 0x48); lVar6 = 0; if (lVar2 != 0) { lVar6 = *(longlong *)(lVar2 + 0x10); } if ((lVar6 == lVar3) && ((*(byte *)(*plVar8 + 0x28) & 0x70) != 0)) { if (((*(byte *)(lVar3 + 0xa9) & 0x10) == 0) && ((*(longlong *)(lVar3 + 0x18) == 0 || (cVar4 = FUN_18133eaa0(), cVar4 != '\0')))) { uVar9 = 1; goto LAB_18130dfc3; } break; } } uVar9 = 0; LAB_18130dfc3: cVar4 = FUN_18133e440(lVar3); if (((cVar4 == '\0') || ((*(byte *)(lVar3 + 0xa9) & 0x10) != 0)) || ((*(longlong *)(lVar3 + 0x18) != 0 && (cVar4 = FUN_18133eaa0(), cVar4 == '\0')))) { uVar10 = 0; } else { uVar10 = 1; } if (((DAT_182673708 == lVar3) && ((*(byte *)(lVar3 + 0xa9) & 0x10) == 0)) && ((*(longlong *)(lVar3 + 0x18) == 0 || (cVar4 = FUN_18133eaa0(), cVar4 != '\0')))) { uVar11 = 1; } else { uVar11 = 0; } puVar7 = (undefined4 *)FUN_18134a8d0(lVar3,local_res8,0x1001300,0); FUN_181315720(¶m_11,*puVar7,uVar11,uVar10,uVar9); uVar19 = DAT_1824c3d54; if (((*(byte *)(lVar3 + 0xa9) & 0x10) == 0) && ((*(longlong *)(lVar3 + 0x18) == 0 || (cVar4 = FUN_18133eaa0(), uVar19 = DAT_1824c3d54, cVar4 != '\0')))) { uVar19 = DAT_1824c3e28; } fVar17 = DAT_1824c41e0; fVar12 = DAT_1824c3d8c; if (param_10 == 0) { auVar14 = (undefined1 [12])0x0; auVar16 = ZEXT812(0); fVar12 = (float)param_6 * DAT_1824c3d8c + (float)param_4; } else { if (param_10 != 1) { if (param_10 == 0xc) { FUN_181305260(param_2,((float)param_5 * DAT_1824c3d8c + (float)param_3) - fVar18, param_7 - fVar18,fVar18 * DAT_1824c41e0,¶m_11,uVar19); LAB_18130e10f: fVar12 = ((float)param_5 * fVar12 + (float)param_3) - fVar18 * fVar17; if (fVar12 <= 0.0) { fVar12 = 0.0; } FUN_181304950(param_2,fVar12,param_8 - fVar18); FUN_181304950(param_2); return; } if (param_10 == 0xb) { FUN_181305260(param_2,param_7 - fVar18, ((float)param_6 * DAT_1824c3d8c + (float)param_4) - fVar18, fVar18 * DAT_1824c41e0,¶m_11,uVar19); } else { if (param_10 == 10) goto LAB_18130e10f; if (param_10 != 9) { return; } } fVar12 = ((float)param_6 * fVar12 + (float)param_4) - fVar18 * fVar17; if (fVar12 <= 0.0) { fVar12 = 0.0; } fVar17 = (float)param_6 * DAT_1824c3d74; if (fVar18 <= fVar17) { fVar17 = fVar18; } FUN_181304950(param_2,param_8 - fVar17,fVar12); FUN_181304950(param_2,param_9 - fVar18); return; } auVar14 = ZEXT812(0); auVar16 = (undefined1 [12])0x0; fVar12 = param_7; param_7 = (float)param_5 * DAT_1824c3d8c + (float)param_3; } auVar15._0_4_ = fVar12 - fVar18; auVar15._4_12_ = auVar16; auVar13._0_4_ = param_7 - fVar18; auVar13._4_12_ = auVar14; FUN_181305260(param_2,auVar13._0_8_,auVar15._0_8_,fVar18 * DAT_1824c41e0,¶m_11,uVar19); return; } ############ FUN_ 18130f1f0 size=204 ############ undefined8 FUN_18130f1f0(void) { int *piVar1; int iVar2; uint uVar3; undefined8 uVar4; bool bVar5; undefined1 *local_res20; undefined1 *local_28; undefined8 local_20; undefined8 local_18; local_20 = 0xfffffffffffffffe; local_18 = FUN_1811316e0(0x208); local_28 = &DAT_1821dbf98; local_res20 = &DAT_1821dbf98; uVar4 = FUN_18134a080(local_18,&local_res20,&local_28); if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_res20 + -0x10); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(local_res20 + -0x10); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar5 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar5) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return uVar4; } ############ FUN_ 18130f9a0 size=224 ############ undefined8 * FUN_18130f9a0(undefined8 param_1,undefined8 param_2) { undefined8 *puVar1; puVar1 = (undefined8 *)FUN_1811316e0(0xd0); puVar1[1] = &DAT_1821dbf98; puVar1[2] = &DAT_1821dbf98; puVar1[3] = 0; puVar1[4] = 0; puVar1[5] = 0; puVar1[6] = 0; puVar1[7] = 0; puVar1[8] = 0; puVar1[9] = 0; puVar1[10] = 0; puVar1[0xb] = 0; puVar1[0xc] = 0; puVar1[0xd] = 0; puVar1[0xe] = 0; puVar1[0xf] = 0; puVar1[0x10] = 0; puVar1[0x11] = 0; puVar1[0x12] = 0; puVar1[0x13] = 0; puVar1[0x14] = 0; *(undefined4 *)(puVar1 + 0x15) = 0; *(undefined1 *)((longlong)puVar1 + 0xac) = 0; puVar1[0x17] = 0xffffffffffffffff; *(undefined4 *)(puVar1 + 0x18) = 0; *(byte *)((longlong)puVar1 + 0xa9) = *(byte *)((longlong)puVar1 + 0xa9) | 0x40; *puVar1 = juce::CaretComponent::vftable; puVar1[0x16] = juce::CaretComponent::vftable; puVar1[0x19] = param_2; *(byte *)(puVar1 + 0x15) = *(byte *)(puVar1 + 0x15) & 0xef | 8; return puVar1; } ############ FUN_ 181311540 size=64 ############ longlong * FUN_181311540(undefined8 param_1,longlong *param_2) { undefined8 uVar1; longlong lVar2; uVar1 = FUN_1811316e0(0x40); lVar2 = FUN_1804a2b80(uVar1,0,DAT_1824c4420); *param_2 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_2; } ############ FUN_ 1813135c0 size=64 ############ longlong * FUN_1813135c0(undefined8 param_1,longlong *param_2) { undefined8 uVar1; longlong lVar2; uVar1 = FUN_1811316e0(0x40); lVar2 = FUN_1804a2b80(uVar1,0,DAT_1824c4408); *param_2 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_2; } ############ FUN_ 181313610 size=64 ############ longlong * FUN_181313610(undefined8 param_1,longlong *param_2) { undefined8 uVar1; longlong lVar2; uVar1 = FUN_1811316e0(0x40); lVar2 = FUN_1804a2b80(uVar1,0,DAT_1824c4418); *param_2 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } return param_2; } ############ FUN_ 1813138a0 size=1611 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813138a0(undefined8 param_1,longlong param_2,longlong param_3,int *param_4, undefined8 param_5) { int *piVar1; uint uVar2; char cVar3; int iVar4; undefined4 *puVar5; longlong lVar6; float **ppfVar7; undefined8 uVar8; undefined8 *puVar9; longlong *plVar10; uint *_Memory; float *pfVar11; undefined4 uVar12; undefined4 uVar13; int iVar14; float fVar15; float fVar16; undefined1 local_res20 [8]; float *local_1b8; undefined8 local_1b0; undefined8 local_1a8; undefined8 uStack_1a0; undefined1 local_198; void *local_190; undefined8 local_188; undefined8 *local_180; undefined8 local_178; undefined8 uStack_170; ulonglong local_168; undefined4 local_160; undefined1 local_15c [4]; undefined1 local_158 [8]; float local_150; float local_14c; longlong local_148; float local_140; float fStack_13c; float fStack_138; float fStack_134; float *local_120; undefined4 local_118; undefined4 local_114; undefined8 local_110; float local_108; float *local_100; int local_f8; int local_f4; float local_e8; float fStack_e4; float fStack_e0; float fStack_dc; float local_d8; float fStack_d4; float fStack_d0; float fStack_cc; void *local_c8; undefined4 local_bc; local_110 = 0xfffffffffffffffe; puVar5 = (undefined4 *)FUN_18134a8d0(param_3,local_res20,0x1001800,0); FUN_1812a3160(param_2,*puVar5); iVar4 = *(int *)(param_3 + 0x2c) + 0x14; iVar14 = 0x82; if (iVar4 < 0x82) { iVar14 = iVar4; } if (((0 < *(int *)(param_3 + 0x1ac)) || (2 < *(int *)(param_3 + 0x14c))) && (param_4[3] + 0x32 < iVar14)) { iVar14 = param_4[3] + 0x32; } iVar4 = (int)((ulonglong)((longlong)iVar14 * -0x66666667) >> 0x20); local_f8 = (iVar4 >> 2) - (iVar4 >> 0x1f); iVar4 = *(int *)(param_3 + 0xe8); local_f4 = local_f8; if (iVar4 == 0) { puVar5 = (undefined4 *)FUN_18134a8d0(param_3,local_15c,0x1001810,0); FUN_181296c00(param_2,*puVar5); local_d8 = (float)*param_4; fStack_d4 = (float)param_4[1]; fStack_d0 = (float)param_4[2]; fStack_cc = (float)param_4[3]; FUN_18124e500(param_5,param_2,&local_d8); puVar5 = (undefined4 *)FUN_18134a8d0(param_3,local_158,0x1001820,0); FUN_181296c00(param_2,*puVar5); FUN_181295c90(param_2,0,0,*(undefined4 *)(param_3 + 0x28),*(undefined4 *)(param_3 + 0x2c),1); return; } local_1b8 = (float *)0x0; local_1b0 = (float *)0x0; local_1a8 = (float *)0x0; uStack_1a0 = (float *)0x0; local_198 = 1; local_140 = (float)local_f8; fVar16 = (float)iVar14; local_14c = (float)local_f8; if (iVar4 == 2) { local_150 = fVar16 * DAT_1824c3d8c + local_140; local_1a8 = (float *)CONCAT44(local_150,local_150); uStack_1a0 = (float *)CONCAT44(local_14c,local_14c); local_108 = local_140; FUN_1804b02a0(&local_1b8,&DAT_1821df344); FUN_18129ddd0(&local_1b8); FUN_18129ddd0(&local_1b8); if ((local_1b0._4_4_ != 0) && ((local_1b0._4_4_ < 1 || (local_1b8[local_1b0._4_4_ + -1] != DAT_1824c460c)))) { if ((int)local_1b0 < local_1b0._4_4_ + 1) { FUN_1804af790(&local_1b8,local_1b0._4_4_ + 9 + (local_1b0._4_4_ + 1) / 2 & 0xfffffff8); } lVar6 = (longlong)local_1b0._4_4_; local_1b0 = (float *)CONCAT44(local_1b0._4_4_ + 1,(int)local_1b0); local_1b8[lVar6] = 100005.0; } ppfVar7 = (float **)FUN_18129a910(&local_1b8,&local_c8); pfVar11 = local_1b8; if (&local_1b8 != ppfVar7) { local_120 = *ppfVar7; *ppfVar7 = (float *)0x0; local_118 = *(undefined4 *)(ppfVar7 + 1); local_114 = *(undefined4 *)((longlong)ppfVar7 + 0xc); local_1b0 = ppfVar7[1]; ppfVar7[1] = (float *)0x0; local_100 = local_1b8; local_1b8 = local_120; /* WARNING: Subroutine does not return */ free(pfVar11); } local_1a8 = ppfVar7[2]; uStack_1a0 = ppfVar7[3]; local_198 = *(undefined1 *)(ppfVar7 + 4); local_bc = 0; /* WARNING: Subroutine does not return */ free(local_c8); } uVar13 = 0x40b69900; if (iVar4 == 3) { uVar13 = 0x605555ff; } uVar12 = 0x3f; if (iVar4 == 3) { uVar12 = 0x69; } fStack_13c = local_14c; fStack_138 = fVar16; fStack_134 = fVar16; local_e8 = local_140; fStack_e4 = local_14c; fStack_e0 = fVar16; fStack_dc = fVar16; FUN_18129d1e0(&local_1b8,&local_e8); local_190 = (void *)0x0; local_188 = 0; FUN_1804aebd0(&local_190,200); uVar8 = FUN_181233f40(&local_148,uVar12); fVar16 = fVar16 * DAT_1824c3e58; puVar9 = (undefined8 *)FUN_1811316e0(0x40); fVar15 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar16) && (fVar15 = DAT_1824c45c8, fVar16 <= DAT_1824c45c8)) { fVar15 = fVar16; } *(undefined4 *)(puVar9 + 1) = 0; *puVar9 = juce::Font::SharedFontInternal::vftable; puVar9[2] = 0; plVar10 = (longlong *)FUN_181252610(); lVar6 = *plVar10; puVar9[3] = lVar6; if ((*(uint *)(lVar6 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar6 + -0x10) = *(int *)(lVar6 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(puVar9 + 4,&DAT_1824983b4); *(float *)(puVar9 + 5) = fVar15; *(undefined8 *)((longlong)puVar9 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar9 + 0x34) = 0; *(undefined1 *)(puVar9 + 7) = 0; LOCK(); *(int *)(puVar9 + 1) = *(int *)(puVar9 + 1) + 1; UNLOCK(); local_160 = 0x24; local_180 = puVar9; FUN_181250750(&local_190,&local_180,uVar8); if (local_180 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_180 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { (**(code **)*local_180)(local_180,1); } } _Memory = (uint *)(local_148 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18124ee80(&local_190,&local_1b8); local_198 = 0; FUN_181296c00(param_2,uVar13); cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar3 == '\0') { for (pfVar11 = local_1b8; pfVar11 != local_1b8 + local_1b0._4_4_; pfVar11 = pfVar11 + 1) { fVar16 = *pfVar11; if (fVar16 == DAT_1824c4600) { pfVar11 = pfVar11 + 2; } else if (((fVar16 == DAT_1824c45fc) || (fVar16 == DAT_1824c4604)) || (fVar16 == DAT_1824c4608) ) { local_178 = _DAT_1824c4780; uStack_170 = _UNK_1824c4788; local_168 = (ulonglong)DAT_1824c3ea4; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_1b8,&local_178); break; } } } FUN_1804aeb50(&local_190); /* WARNING: Subroutine does not return */ free(local_190); } ############ FUN_ 1813142e0 size=413 ############ void FUN_1813142e0(undefined8 param_1,longlong param_2) { int *piVar1; byte bVar2; undefined4 uVar3; undefined8 uVar4; longlong *plVar5; byte *pbVar6; int iVar7; float fVar8; float fVar9; float fVar10; undefined8 *local_res10; double local_res18; fVar9 = (float)*(int *)(param_2 + 0x2c) * DAT_1824c3e10; if (DAT_1824c4418 <= fVar9) { fVar9 = DAT_1824c4418; } fVar10 = fVar9 * DAT_1824c3ee0; uVar4 = FUN_1811316e0(0x40); fVar8 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar9) && (fVar8 = DAT_1824c45c8, fVar9 <= DAT_1824c45c8)) { fVar8 = fVar9; } local_res10 = (undefined8 *)FUN_1804a2b80(uVar4,0,fVar8); if (local_res10 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res10 + 1) = *(int *)(local_res10 + 1) + 1; UNLOCK(); } uVar3 = *(undefined4 *)(param_2 + 0x2c); plVar5 = (longlong *)FUN_181252280(&local_res10); fVar9 = (float)(**(code **)(*plVar5 + 0x28))(plVar5,param_2 + 0x158); if (*(float *)(local_res10 + 6) != 0.0) { pbVar6 = *(byte **)(param_2 + 0x158); iVar7 = 0; LAB_1813143a6: do { bVar2 = *pbVar6; pbVar6 = pbVar6 + 1; if ((char)bVar2 < '\0') { if ((*pbVar6 & 0xc0) == 0x80) { do { pbVar6 = pbVar6 + 1; } while ((*pbVar6 & 0xc0) == 0x80); iVar7 = iVar7 + 1; goto LAB_1813143a6; } } else if (bVar2 == 0) goto LAB_1813143dc; iVar7 = iVar7 + 1; } while( true ); } LAB_1813143ec: fVar9 = ceilf(fVar9 * *(float *)(local_res10 + 5) * *(float *)((longlong)local_res10 + 0x2c)); local_res18 = (double)fVar10 + DAT_1824c4520; FUN_18134bfe0(param_2,*(undefined4 *)(param_2 + 0x20),*(undefined4 *)(param_2 + 0x24), local_res18._0_4_ + 9 + (int)fVar9,uVar3); if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_res10)(local_res10,1); } } return; LAB_1813143dc: fVar9 = fVar9 + (float)iVar7 * *(float *)(local_res10 + 6); goto LAB_1813143ec; } ############ FUN_ 181315800 size=304 ############ undefined8 * FUN_181315800(undefined8 param_1,undefined8 *param_2,longlong *param_3,undefined8 param_4, undefined8 param_5) { longlong lVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; puVar2 = (undefined8 *)FUN_1811316e0(0x20); puVar3 = (undefined8 *)FUN_1811316e0(0x78); puVar4 = (undefined8 *)FUN_1811316e0(0x20); *(undefined4 *)(puVar4 + 1) = 0; *puVar4 = juce::RenderingHelpers::ClipRegions ::RectangleListRegion::vftable; FUN_1804aaeb0(puVar4 + 2,param_5); *puVar3 = puVar4; *(int *)(puVar4 + 1) = *(int *)(puVar4 + 1) + 1; puVar3[1] = 0x3f800000; puVar3[2] = 0; puVar3[3] = 0x3f800000; puVar3[4] = param_4; *(undefined2 *)(puVar3 + 5) = 1; *(undefined4 *)(puVar3 + 6) = 0xff000000; puVar3[7] = 0; puVar3[8] = 0; puVar3[9] = 0x3f800000; puVar3[10] = 0; puVar3[0xb] = 0x3f800000; *(undefined4 *)(puVar3 + 0xc) = 1; *(undefined4 *)((longlong)puVar3 + 100) = 0x3f800000; lVar1 = *param_3; puVar3[0xd] = lVar1; if (lVar1 != 0) { LOCK(); *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; UNLOCK(); } FUN_181252d20(puVar3 + 0xe); puVar2[1] = puVar3; puVar2[2] = 0; puVar2[3] = 0; *puVar2 = juce::LowLevelGraphicsSoftwareRenderer::vftable; *param_2 = puVar2; return param_2; } ############ FUN_ 181315b00 size=199 ############ longlong FUN_181315b00(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; longlong lVar3; undefined8 uVar4; longlong lVar5; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } lVar3 = DAT_182673700; plVar1 = (longlong *)(DAT_182673700 + 0x98); lVar5 = *plVar1; if (lVar5 == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(lVar5 + 0x10); } if (lVar5 != 0) { return lVar5; } if (*(longlong *)(DAT_182673700 + 0x90) == 0) { uVar4 = FUN_1811316e0(0x170); uVar4 = FUN_1812fbfd0(uVar4); puVar2 = *(undefined8 **)(lVar3 + 0x90); *(undefined8 *)(lVar3 + 0x90) = uVar4; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } lVar5 = *(longlong *)(lVar3 + 0x90); FUN_18051b750(plVar1,lVar5,param_3,param_4,uVar6); return lVar5; } ############ FUN_ 18133c440 size=147 ############ longlong FUN_18133c440(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong lVar2; undefined8 uVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; lVar2 = *(longlong *)(param_1 + 0x98); if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = *(longlong *)(lVar2 + 0x10); } if (lVar2 == 0) { if (*(longlong *)(param_1 + 0x90) == 0) { uVar3 = FUN_1811316e0(0x170); uVar3 = FUN_1812fbfd0(uVar3); puVar1 = *(undefined8 **)(param_1 + 0x90); *(undefined8 *)(param_1 + 0x90) = uVar3; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } lVar2 = *(longlong *)(param_1 + 0x90); FUN_18051b750((longlong *)(param_1 + 0x98),lVar2,param_3,param_4,uVar4); } return lVar2; } ############ FUN_ 181316130 size=51 ############ void FUN_181316130(undefined8 param_1,undefined1 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x150); FUN_18131e970(uVar1,param_2,param_3,param_4,uVar2); return; } ############ FUN_ 181319d00 size=536 ############ void FUN_181319d00(longlong *param_1,longlong *param_2,undefined4 param_3) { uint uVar1; uint uVar2; longlong *plVar3; longlong *plVar4; longlong lVar5; int iVar6; undefined4 uVar7; int *piVar8; longlong *plVar9; void *_Src; undefined8 *puVar10; longlong lVar11; if (*(char *)*param_2 != '\0') { uVar1 = *(uint *)((longlong)param_1 + 0xf4); plVar3 = param_1 + 0x1d; if (*(uint *)(param_1 + 0x21) < *(uint *)((longlong)param_1 + 0xf4)) { lVar11 = *(longlong *)(*plVar3 + (longlong)(int)*(uint *)(param_1 + 0x21) * 8); } else { lVar11 = 0; } plVar4 = (longlong *)FUN_1811316e0(0x18); *plVar4 = 0; plVar4[1] = (longlong)&DAT_1821dbf98; *(undefined4 *)(plVar4 + 2) = 0; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar8 = (int *)(*param_2 + -0x10); *piVar8 = *piVar8 + 1; UNLOCK(); } LOCK(); lVar5 = plVar4[1]; plVar4[1] = *param_2; UNLOCK(); piVar8 = (int *)(lVar5 + -0x10); if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); iVar6 = *piVar8; *piVar8 = *piVar8 + -1; UNLOCK(); if (iVar6 == 0) { /* WARNING: Subroutine does not return */ free(piVar8); } } *(undefined4 *)(plVar4 + 2) = param_3; lVar5 = (**(code **)(*param_1 + 0x168))(param_1,param_2,uVar1); puVar10 = (undefined8 *)*plVar4; *plVar4 = lVar5; if (puVar10 != (undefined8 *)0x0) { (**(code **)*puVar10)(puVar10,1); } iVar6 = *(int *)((longlong)param_1 + 0xf4) + 1; if ((int)param_1[0x1e] < iVar6) { FUN_18047cb30(plVar3,*(int *)((longlong)param_1 + 0xf4) + 9 + iVar6 / 2 & 0xfffffff8); } uVar2 = *(uint *)((longlong)param_1 + 0xf4); if (uVar1 < uVar2) { _Src = (void *)(*plVar3 + (longlong)(int)uVar1 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar2 - uVar1) << 3); puVar10 = (undefined8 *)(*plVar3 + (longlong)(int)uVar1 * 8); } else { puVar10 = (undefined8 *)(*plVar3 + (longlong)(int)uVar2 * 8); } *puVar10 = plVar4; *(int *)((longlong)param_1 + 0xf4) = *(int *)((longlong)param_1 + 0xf4) + 1; plVar3 = (longlong *)*plVar3; for (plVar9 = plVar3; plVar9 != plVar3 + *(int *)((longlong)param_1 + 0xf4); plVar9 = plVar9 + 1 ) { if (lVar11 == *plVar9) { uVar7 = (undefined4)((longlong)plVar9 - (longlong)plVar3 >> 3); goto LAB_181319e93; } } uVar7 = 0xffffffff; LAB_181319e93: *(undefined4 *)(param_1 + 0x21) = uVar7; plVar4 = (longlong *)*plVar4; if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x58)) (plVar4,CONCAT71((int7)((ulonglong)(plVar3 + *(int *)((longlong)param_1 + 0xf4)) >> 8),1)); FUN_181343cc0(param_1,plVar4,uVar1); } if (*(code **)(*param_1 + 0x108) == thunk_FUN_181319110) { FUN_181319110(); } else { (**(code **)(*param_1 + 0x108))(param_1); } if ((int)param_1[0x21] < 0) { FUN_181319980(param_1,0); return; } } return; } ############ FUN_ 181318800 size=71 ############ void FUN_181318800(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x1e8); FUN_18131ab40(uVar1,param_2,*(undefined8 *)(param_1 + 0xb0),param_4,uVar2); return; } ############ FUN_ 181318930 size=343 ############ undefined8 * FUN_181318930(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong *plVar2; undefined8 *puVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = juce::TabbedComponent::vftable; param_1[0x16] = 0; param_1[0x17] = 0; param_1[0x18] = 0; param_1[0x19] = 0; *(undefined4 *)(param_1 + 0x1a) = 0x1e; *(undefined8 *)((longlong)param_1 + 0xd4) = 1; puVar3 = (undefined8 *)FUN_1811316e0(0x128); FUN_18131a0e0(puVar3); *puVar3 = juce::TabbedComponent::ButtonBar::vftable; puVar3[0x16] = juce::TabbedComponent::ButtonBar::vftable; puVar3[0x24] = param_1; puVar1 = (undefined8 *)param_1[0x16]; param_1[0x16] = puVar3; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } plVar2 = (longlong *)param_1[0x16]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff,param_4,uVar4); } return param_1; } ############ FUN_ 18131a0e0 size=575 ############ undefined8 * FUN_18131a0e0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong *plVar2; undefined8 *puVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; *param_1 = juce::Component::vftable; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; puVar1 = param_1 + 0x16; *puVar1 = juce::ChangeBroadcaster::vftable; FUN_1812a59f0(param_1 + 0x17); param_1[0x17] = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; param_1[0x19] = 0; param_1[0x1a] = 0; param_1[0x1b] = 0; *(undefined1 *)(param_1 + 0x1c) = 0; param_1[0x19] = puVar1; *param_1 = juce::TabbedButtonBar::vftable; *puVar1 = juce::TabbedButtonBar::vftable; param_1[0x1d] = 0; param_1[0x1e] = 0; *(undefined4 *)(param_1 + 0x1f) = 0; param_1[0x20] = 0x3fe6666666666666; *(undefined4 *)(param_1 + 0x21) = 0xffffffff; param_1[0x22] = 0; param_1[0x23] = 0; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x18; puVar3 = (undefined8 *)FUN_1811316e0(0xb8); puVar3[1] = &DAT_1821dbf98; puVar3[2] = &DAT_1821dbf98; puVar3[3] = 0; puVar3[4] = 0; puVar3[5] = 0; puVar3[6] = 0; puVar3[7] = 0; puVar3[8] = 0; puVar3[9] = 0; puVar3[10] = 0; puVar3[0xb] = 0; puVar3[0xc] = 0; puVar3[0xd] = 0; puVar3[0xe] = 0; puVar3[0xf] = 0; puVar3[0x10] = 0; puVar3[0x11] = 0; puVar3[0x12] = 0; puVar3[0x13] = 0; puVar3[0x14] = 0; *(undefined4 *)(puVar3 + 0x15) = 0; *(undefined1 *)((longlong)puVar3 + 0xac) = 0; *puVar3 = juce::TabbedButtonBar::BehindFrontTabComp::vftable; puVar3[0x16] = param_1; *(byte *)(puVar3 + 0x15) = *(byte *)(puVar3 + 0x15) & 0xef | 8; puVar1 = (undefined8 *)param_1[0x22]; param_1[0x22] = puVar3; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } plVar2 = (longlong *)param_1[0x22]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff,param_4,uVar4); } *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x40; return param_1; } ############ FUN_ 181319fb0 size=67 ############ void FUN_181319fb0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; uVar1 = FUN_1811316e0(0x1e8); FUN_18131ab40(uVar1,param_2,param_1,param_4,uVar2); return; } ############ FUN_ 18131b0e0 size=240 ############ void FUN_18131b0e0(longlong param_1,undefined8 param_2) { longlong *plVar1; undefined4 uVar2; undefined4 uVar3; longlong lVar4; undefined1 uVar5; longlong lVar6; undefined8 uVar7; longlong *plVar8; longlong lVar9; undefined1 uVar10; lVar6 = FUN_18134adf0(); if (DAT_182673700 == 0) { uVar7 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar7); } plVar8 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar8 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); do { if (plVar8 == plVar1) { uVar10 = 0; LAB_18131b179: uVar2 = *(undefined4 *)(param_1 + 0x2c); uVar3 = *(undefined4 *)(param_1 + 0x28); lVar4 = *(longlong *)(lVar6 + 0xc0); uVar5 = FUN_18133e590(param_1,0); (**(code **)(lVar4 + 8)) (lVar6 + 0xc0,param_2,uVar3,uVar2,*(undefined1 *)(param_1 + 0xc0),uVar5,uVar10); return; } lVar4 = *(longlong *)(*plVar8 + 0x48); lVar9 = 0; if (lVar4 != 0) { lVar9 = *(longlong *)(lVar4 + 0x10); } if ((lVar9 == param_1) && ((*(byte *)(*plVar8 + 0x28) & 0x70) != 0)) { uVar10 = 1; goto LAB_18131b179; } plVar8 = plVar8 + 1; } while( true ); } ############ FUN_ 18131cfb0 size=243 ############ void FUN_18131cfb0(longlong param_1,undefined1 param_2) { longlong *plVar1; undefined8 uVar2; longlong lVar3; undefined8 local_res8 [4]; undefined8 uVar4; undefined1 local_20 [24]; uVar4 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0x138) != 0) { *(undefined1 *)(param_1 + 0x5b9) = param_2; if (DAT_182673700 == 0) { local_res8[0] = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8[0]); } lVar3 = DAT_182673700; uVar2 = FUN_18131c3d0(param_1,local_20,*(undefined8 *)(param_1 + 0x138)); FUN_181323e20(lVar3 + 200,param_1,uVar2,DAT_1824c3ea4,0xfa,1,DAT_1824c4140,0,uVar4); if (*(longlong *)(param_1 + 0x130) != 0) { local_res8[0] = CONCAT71(local_res8[0]._1_7_,*(undefined1 *)(param_1 + 0x5b9)); plVar1 = *(longlong **)(param_1 + 0x130); if (plVar1 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } if (*(code **)(*plVar1 + 0x10) != _guard_check_icall) { (**(code **)(*plVar1 + 0x10))(plVar1,local_res8); return; } } } return; } ############ FUN_ 18131d4e0 size=313 ############ void FUN_18131d4e0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; undefined8 uVar3; longlong lVar4; longlong *plVar5; double local_18; double dStack_10; if (DAT_182673700 == 0) { uVar3 = FUN_1811316e0(0x130,param_2,param_3,param_4,0xfffffffffffffffe); DAT_182673700 = FUN_18133c6c0(uVar3); } plVar5 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar5 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); while( true ) { if (plVar5 == plVar1) { FUN_1812a7720(param_1); return; } lVar2 = *(longlong *)(*plVar5 + 0x48); lVar4 = 0; if (lVar2 != 0) { lVar4 = *(longlong *)(lVar2 + 0x10); } if ((lVar4 == param_1 + -0xc0) && ((*(byte *)(*plVar5 + 0x28) & 0x70) != 0)) break; plVar5 = plVar5 + 1; } FUN_1812a77d0(param_1,0x28); if (*(int *)(param_1 + 0x5c) < *(int *)(param_1 + 0x50)) { local_18 = *(double *)(param_1 + 0x30) - *(double *)(param_1 + 0x28); dStack_10 = *(double *)(param_1 + 0x30) - local_18; local_18 = *(double *)(param_1 + 0x28) - local_18; if (local_18 < dStack_10) goto LAB_18131d5e3; } else { if (*(int *)(param_1 + 0x5c) <= *(int *)(param_1 + 0x50) + *(int *)(param_1 + 0x54)) { return; } local_18 = *(double *)(param_1 + 0x30); dStack_10 = (local_18 - *(double *)(param_1 + 0x28)) + *(double *)(param_1 + 0x30); if (local_18 < dStack_10) goto LAB_18131d5e3; } dStack_10 = local_18; LAB_18131d5e3: FUN_18131e660(param_1 + -0xc0,&local_18); return; } ############ FUN_ 18131d9f0 size=921 ############ void FUN_18131d9f0(longlong param_1) { undefined4 uVar1; undefined8 *puVar2; longlong *plVar3; longlong lVar4; char cVar5; longlong *plVar6; undefined8 uVar7; int iVar8; int iVar9; int iVar10; int iVar11; int iStack_34; if (*(char *)(param_1 + 300) == '\0') { iVar8 = *(int *)(param_1 + 0x28); } else { iVar8 = *(int *)(param_1 + 0x2c); } plVar6 = (longlong *)FUN_18134adf0(); cVar5 = (**(code **)(*plVar6 + 8))(plVar6); if (cVar5 == '\0') { puVar2 = *(undefined8 **)(param_1 + 0x130); *(undefined8 *)(param_1 + 0x130) = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar2 = *(undefined8 **)(param_1 + 0x138); *(undefined8 *)(param_1 + 0x138) = 0; iVar9 = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); iVar9 = 0; } } else { if (*(longlong *)(param_1 + 0x130) == 0) { uVar7 = FUN_1811316e0(0x1d8); iVar9 = 3; if (*(char *)(param_1 + 300) != '\0') { iVar9 = 0; } uVar7 = FUN_1804f80b0(uVar7,iVar9,param_1); puVar2 = *(undefined8 **)(param_1 + 0x130); *(undefined8 *)(param_1 + 0x130) = uVar7; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } uVar7 = FUN_1811316e0(0x1d8); uVar7 = FUN_1804f80b0(uVar7,(*(char *)(param_1 + 300) != '\0') + '\x01',param_1); puVar2 = *(undefined8 **)(param_1 + 0x138); *(undefined8 *)(param_1 + 0x138) = uVar7; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } plVar3 = *(longlong **)(param_1 + 0x130); if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x58))(plVar3,1); FUN_181343cc0(param_1,plVar3,0xffffffff); } plVar3 = *(longlong **)(param_1 + 0x138); if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x58))(plVar3,1); FUN_181343cc0(param_1,plVar3,0xffffffff); } iVar9 = *(int *)(param_1 + 0x128); iVar11 = *(int *)(param_1 + 0x124); uVar1 = *(undefined4 *)(param_1 + 0x120); lVar4 = *(longlong *)(param_1 + 0x130); if (lVar4 != 0) { *(undefined4 *)(lVar4 + 0x188) = uVar1; *(int *)(lVar4 + 0x18c) = iVar11; iVar10 = iVar11; if (iVar9 < iVar11) { iVar10 = iVar9; } *(int *)(lVar4 + 400) = iVar10; lVar4 = *(longlong *)(param_1 + 0x138); *(undefined4 *)(lVar4 + 0x188) = uVar1; *(int *)(lVar4 + 0x18c) = iVar11; *(int *)(lVar4 + 400) = iVar10; } } if (*(code **)(*plVar6 + 0x38) == FUN_181311ad0) { if (*(char *)(param_1 + 300) == '\0') { iVar9 = *(int *)(param_1 + 0x2c) + 2; if (iVar8 / 2 < iVar9) { iVar9 = iVar8 / 2; } } else { iVar9 = *(int *)(param_1 + 0x28) + 2; if (iVar8 / 2 < iVar9) { iVar9 = iVar8 / 2; } } } else { iVar9 = (**(code **)(*plVar6 + 0x38))(plVar6,param_1); if (iVar8 / 2 < iVar9) { iVar9 = iVar8 / 2; } } } if (*(code **)(*plVar6 + 0x28) == FUN_181311b00) { iVar11 = *(int *)(param_1 + 0x28); if (*(int *)(param_1 + 0x2c) < *(int *)(param_1 + 0x28)) { iVar11 = *(int *)(param_1 + 0x2c); } iVar11 = iVar11 * 2; } else { iVar11 = (**(code **)(*plVar6 + 0x28))(plVar6,param_1); } if (iVar8 < iVar11 + 0x20) { *(int *)(param_1 + 0x108) = iVar8 / 2; *(undefined4 *)(param_1 + 0x10c) = 0; } else { *(int *)(param_1 + 0x108) = iVar9; *(int *)(param_1 + 0x10c) = iVar8 + iVar9 * -2; } lVar4 = *(longlong *)(param_1 + 0x130); if (lVar4 != 0) { iVar8 = *(int *)(param_1 + 0x28); iStack_34 = *(int *)(param_1 + 0x2c); if (*(char *)(param_1 + 300) == '\0') { iVar11 = iVar9; if (iVar8 < iVar9) { iVar11 = iVar8; } iVar10 = iVar8 - iVar11; FUN_18134bfe0(lVar4,0,0,iVar11,iStack_34); iVar8 = iVar9; if (iVar10 < iVar9) { iVar8 = iVar10; } iVar10 = (iVar11 - iVar8) + iVar10; iVar11 = 0; } else { iVar10 = iVar9; if (iStack_34 < iVar9) { iVar10 = iStack_34; } iVar11 = iStack_34 - iVar10; FUN_18134bfe0(lVar4,0,0,iVar8,iVar10); iStack_34 = iVar9; if (iVar11 < iVar9) { iStack_34 = iVar11; } iVar11 = (iVar10 - iStack_34) + iVar11; iVar10 = 0; } FUN_18134bfe0(*(undefined8 *)(param_1 + 0x138),iVar10,iVar11,iVar8,iStack_34); } FUN_18131e060(param_1); return; } ############ FUN_ 18131de20 size=549 ############ void FUN_18131de20(longlong param_1,undefined8 param_2) { longlong *plVar1; undefined1 uVar2; int iVar3; longlong *plVar4; undefined8 uVar5; longlong lVar6; longlong *plVar7; undefined1 uVar8; longlong lVar9; undefined4 uVar10; undefined4 uVar11; undefined4 uVar12; undefined4 uVar13; undefined4 uVar14; undefined1 uVar15; undefined4 uVar16; if (0 < *(int *)(param_1 + 0x10c)) { plVar4 = (longlong *)FUN_18134adf0(); if (*(code **)(*plVar4 + 0x28) == FUN_181311b00) { iVar3 = *(int *)(param_1 + 0x28); if (*(int *)(param_1 + 0x2c) < *(int *)(param_1 + 0x28)) { iVar3 = *(int *)(param_1 + 0x2c); } iVar3 = iVar3 * 2; } else { iVar3 = (**(code **)(*plVar4 + 0x28))(plVar4,param_1); } if (iVar3 < *(int *)(param_1 + 0x10c)) { uVar11 = *(undefined4 *)(param_1 + 0x114); } else { uVar11 = 0; } if (*(char *)(param_1 + 300) == '\0') { if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } plVar7 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar7 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); for (; plVar7 != plVar1; plVar7 = plVar7 + 1) { lVar9 = *(longlong *)(*plVar7 + 0x48); lVar6 = 0; if (lVar9 != 0) { lVar6 = *(longlong *)(lVar9 + 0x10); } if ((lVar6 == param_1) && ((*(byte *)(*plVar7 + 0x28) & 0x70) != 0)) { uVar8 = 1; goto LAB_18131dfc2; } } uVar8 = 0; LAB_18131dfc2: uVar14 = *(undefined4 *)(param_1 + 0x2c); lVar9 = *plVar4; uVar2 = FUN_18133e590(param_1,0); uVar16 = *(undefined4 *)(param_1 + 0x110); uVar15 = *(undefined1 *)(param_1 + 300); uVar13 = *(undefined4 *)(param_1 + 0x10c); uVar12 = 0; uVar10 = *(undefined4 *)(param_1 + 0x108); } else { if (DAT_182673700 == 0) { uVar5 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar5); } plVar7 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar7 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); for (; plVar7 != plVar1; plVar7 = plVar7 + 1) { lVar9 = *(longlong *)(*plVar7 + 0x48); lVar6 = 0; if (lVar9 != 0) { lVar6 = *(longlong *)(lVar9 + 0x10); } if ((lVar6 == param_1) && ((*(byte *)(*plVar7 + 0x28) & 0x70) != 0)) { uVar8 = 1; goto LAB_18131df0a; } } uVar8 = 0; LAB_18131df0a: uVar13 = *(undefined4 *)(param_1 + 0x28); lVar9 = *plVar4; uVar2 = FUN_18133e590(param_1,0); uVar16 = *(undefined4 *)(param_1 + 0x110); uVar15 = *(undefined1 *)(param_1 + 300); uVar14 = *(undefined4 *)(param_1 + 0x10c); uVar12 = *(undefined4 *)(param_1 + 0x108); uVar10 = 0; } (**(code **)(lVar9 + 0x18)) (plVar4,param_2,param_1,uVar10,uVar12,uVar13,uVar14,uVar15,uVar16,uVar11,uVar2,uVar8); } return; } ############ FUN_ 18131edf0 size=258 ############ void FUN_18131edf0(longlong param_1,undefined8 param_2) { longlong *plVar1; uint uVar2; undefined4 uVar3; undefined4 uVar4; longlong lVar5; undefined1 uVar6; longlong lVar7; undefined8 uVar8; longlong *plVar9; longlong lVar10; undefined1 uVar11; lVar7 = FUN_18134adf0(); if (DAT_182673700 == 0) { uVar8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar8); } plVar9 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar9 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); do { if (plVar9 == plVar1) { uVar11 = 0; LAB_18131ee8e: uVar2 = *(uint *)(param_1 + 0xd0); uVar3 = *(undefined4 *)(param_1 + 0x2c); uVar4 = *(undefined4 *)(param_1 + 0x28); lVar5 = *(longlong *)(lVar7 + 0xc0); uVar6 = FUN_18133e590(param_1,0); (**(code **)(lVar5 + 8))(lVar7 + 0xc0,param_2,uVar4,uVar3,uVar2 < 2,uVar6,uVar11); return; } lVar5 = *(longlong *)(*plVar9 + 0x48); lVar10 = 0; if (lVar5 != 0) { lVar10 = *(longlong *)(lVar5 + 0x10); } if ((lVar10 == param_1) && ((*(byte *)(*plVar9 + 0x28) & 0x70) != 0)) { uVar11 = 1; goto LAB_18131ee8e; } plVar9 = plVar9 + 1; } while( true ); } ############ FUN_ 18131f1b0 size=743 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18131f1b0(longlong param_1,undefined8 param_2) { longlong *plVar1; int iVar2; int iVar3; code *pcVar4; float fVar5; float fVar6; int iVar7; longlong lVar8; undefined8 uVar9; longlong lVar10; undefined1 uVar11; longlong *plVar12; longlong lVar13; undefined1 uVar14; float fVar15; float fVar16; float fVar17; float fVar18; float fVar19; float fVar20; undefined8 uVar21; float local_b8; float fStack_b4; float fStack_b0; float fStack_ac; uVar21 = 0xfffffffffffffffe; lVar8 = FUN_18134adf0(); if (DAT_182673700 == 0) { uVar9 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar9); } plVar12 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar12 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); for (; plVar12 != plVar1; plVar12 = plVar12 + 1) { lVar10 = *(longlong *)(*plVar12 + 0x48); if (lVar10 == 0) { lVar10 = 0; } else { lVar10 = *(longlong *)(lVar10 + 0x10); } if ((lVar10 == param_1) && ((*(byte *)(*plVar12 + 0x28) & 0x70) != 0)) { uVar14 = 1; goto LAB_18131f28f; } } uVar14 = 0; LAB_18131f28f: if (DAT_182673700 == 0) { uVar9 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar9); } fVar6 = DAT_1824c3ea4; fVar5 = DAT_1824c3d54; plVar12 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar1 = plVar12 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); do { if (plVar12 == plVar1) { uVar11 = 0; LAB_18131f2fa: iVar2 = *(int *)(param_1 + 0x2c); iVar3 = *(int *)(param_1 + 0x28); pcVar4 = *(code **)(*(longlong *)(lVar8 + 0x60) + 8); if (pcVar4 == FUN_18130be30) { iVar7 = iVar3; if (iVar2 < iVar3) { iVar7 = iVar2; } fVar17 = (float)iVar7 * _DAT_1824c3ca8; fVar20 = 0.0; fVar18 = (float)iVar2 + DAT_1824c3ea4; fVar19 = (float)iVar3 + DAT_1824c3ea4; do { FUN_181296c00(param_2,DAT_18262b5a0); fVar15 = (float)iVar3 * fVar20; fVar16 = (float)iVar2 * fVar20; local_b8 = fVar15; fStack_b4 = fVar18; fStack_b0 = fVar19; fStack_ac = fVar16; FUN_181294940(param_2,&local_b8,fVar17); FUN_181296c00(param_2,DAT_18262b5ac); local_b8 = fVar15 + fVar17; fStack_ac = fVar16 + fVar17; fStack_b4 = fVar18; fStack_b0 = fVar19; FUN_181294940(param_2,&local_b8,fVar17); fVar20 = fVar20 + fVar5; } while (fVar20 < fVar6); } else { (*pcVar4)(lVar8 + 0x60,param_2,iVar3,iVar2,uVar11,uVar14,uVar21); } return; } lVar10 = *plVar12; lVar13 = 0; if (*(longlong *)(lVar10 + 0x48) != 0) { lVar13 = *(longlong *)(*(longlong *)(lVar10 + 0x48) + 0x10); } if ((lVar13 == param_1) && (((*(byte *)(lVar10 + 0x28) & 0x70) != 0 || (*(int *)(lVar10 + 0x14) != 1)))) { uVar11 = 1; goto LAB_18131f2fa; } plVar12 = plVar12 + 1; } while( true ); } ############ FUN_ 1813210c0 size=1031 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813210c0(longlong *param_1,longlong param_2,undefined4 param_3,undefined1 param_4) { LPCRITICAL_SECTION p_Var1; longlong *plVar2; longlong *plVar3; longlong *plVar4; uint uVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; int iVar9; uint *puVar10; longlong *plVar11; undefined8 uVar12; ulonglong uVar13; ulonglong uVar14; longlong *plVar15; undefined1 auStack_e8 [48]; longlong local_b8; longlong local_b0; char *local_a8; longlong *local_a0; undefined8 local_98; char *local_90; longlong local_88; LPCRITICAL_SECTION local_80; undefined8 local_78; LPCRITICAL_SECTION local_70; undefined **local_68; undefined1 local_60 [8]; undefined **local_58; undefined4 local_50 [2]; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; if (param_2 == 0) { } if ((0 < *(int *)((longlong)param_1 + 0xdc)) && (*(int *)((longlong)param_1 + 0xdc) <= *(int *)((longlong)param_1 + 0xcc))) { } plVar2 = param_1 + 0x18; iVar9 = *(int *)((longlong)param_1 + 0xcc) + 1; local_88 = param_2; if ((int)param_1[0x19] < iVar9) { FUN_18047cb30(plVar2,*(int *)((longlong)param_1 + 0xcc) + 9 + iVar9 / 2 & 0xfffffff8); } iVar9 = *(int *)((longlong)param_1 + 0xcc); *(int *)((longlong)param_1 + 0xcc) = iVar9 + 1; *(longlong *)(*plVar2 + (longlong)iVar9 * 8) = param_2; local_68 = &PTR_vftable_18262b550; local_60[0] = param_4; lVar7 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar7 + 0x10); local_70 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar7); local_90 = "mdiDocumentDelete_"; FUN_181211b90(&local_b8,lVar7,&local_90); LeaveCriticalSection(p_Var1); FUN_181243e80(param_2 + 0x90,&local_b8,&local_68); puVar10 = (uint *)(local_b8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } (**(code **)(*local_68 + 0xb0))(local_68,local_60); local_58 = &PTR_vftable_18262b570; local_50[0] = param_3; lVar7 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar7 + 0x10); local_80 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar7); local_a8 = "mdiDocumentBkg_"; FUN_181211b90(&local_b0,lVar7,&local_a8); LeaveCriticalSection(p_Var1); FUN_181243e80(param_2 + 0x90,&local_b0,&local_58); puVar10 = (uint *)(local_b0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } (**(code **)(*local_58 + 0xb0))(local_58,local_50); lVar7 = local_88; plVar15 = param_1 + 0x16; if (plVar15 != (longlong *)0x0) { plVar3 = (longlong *)(local_88 + 0x80); plVar11 = (longlong *)*plVar3; iVar9 = *(int *)(local_88 + 0x8c); plVar4 = plVar11 + iVar9; for (; plVar11 != plVar4; plVar11 = plVar11 + 1) { if (plVar15 == (longlong *)*plVar11) goto LAB_18132130f; } if (*(int *)(local_88 + 0x88) < iVar9 + 1) { FUN_18047cb30(plVar3,iVar9 + 9 + (iVar9 + 1) / 2 & 0xfffffff8); } iVar9 = *(int *)(lVar7 + 0x8c); *(int *)(lVar7 + 0x8c) = iVar9 + 1; *(longlong **)(*plVar3 + (longlong)iVar9 * 8) = plVar15; } LAB_18132130f: if ((int)param_1[0x17] == 0) { if ((int)param_1[0x1c] != 0) { if (*(int *)((longlong)param_1 + 0xcc) == 1) { FUN_18134bf20(param_1,lVar7,0xffffffff); goto LAB_1813214a1; } if (*(int *)((longlong)param_1 + 0xcc) == 2) { if (*(int *)((longlong)param_1 + 0xcc) < 1) { uVar12 = 0; } else { uVar12 = *(undefined8 *)*plVar2; } FUN_1813214f0(param_1,uVar12); } } FUN_1813214f0(param_1,lVar7); } else { if (param_1[0x1a] == 0) { if ((int)param_1[0x1c] < *(int *)((longlong)param_1 + 0xcc)) { puVar8 = (undefined8 *)FUN_1811316e0(0xe0); local_80 = (LPCRITICAL_SECTION)puVar8; FUN_181318930(puVar8); *puVar8 = juce::MultiDocumentPanel::TabbedComponentInternal::vftable; puVar6 = (undefined8 *)param_1[0x1a]; param_1[0x1a] = (longlong)puVar8; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } FUN_18134bf20(param_1,param_1[0x1a],0xffffffff); uVar13 = 0; local_a0 = (longlong *)0x0; local_98 = 0; FUN_18051fcc0(&local_a0,*plVar2,*(undefined4 *)((longlong)param_1 + 0xcc)); plVar2 = local_a0; uVar14 = (ulonglong)((longlong)(local_a0 + local_98._4_4_) + (7 - (longlong)local_a0)) >> 3; if (local_a0 + local_98._4_4_ < local_a0) { uVar14 = uVar13; } plVar15 = local_a0; if (uVar14 != 0) { do { FUN_1813184c0(param_1[0x1a],*plVar15 + 8,param_3); uVar13 = uVar13 + 1; plVar15 = plVar15 + 1; } while (uVar13 != uVar14); } (**(code **)(*param_1 + 0x108))(param_1); /* WARNING: Subroutine does not return */ free(plVar2); } FUN_18134bf20(param_1,lVar7,0xffffffff); } else { FUN_1813184c0(param_1[0x1a],lVar7 + 8,param_3,lVar7); } FUN_181320970(param_1,lVar7); } LAB_1813214a1: (**(code **)(*param_1 + 0x108))(param_1); (**(code **)(*param_1 + 0x158))(param_1); } ############ FUN_ 181321910 size=144 ############ undefined8 * FUN_181321910(longlong param_1) { uint uVar1; undefined8 *puVar2; bool bVar3; undefined1 *local_res10; undefined8 *local_res18; puVar2 = (undefined8 *)FUN_1811316e0(0x188); local_res10 = &DAT_1821dbf98; local_res18 = puVar2; FUN_1812d0aa0(puVar2,&local_res10,*(undefined4 *)(param_1 + 0xd8)); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar3 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar3) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *puVar2 = juce::MultiDocumentPanelWindow::vftable; return puVar2; } ############ FUN_ 181325bb0 size=623 ############ void FUN_181325bb0(longlong param_1,undefined4 param_2,longlong param_3,int param_4,int param_5, char param_6) { int *piVar1; uint uVar2; int iVar3; longlong *plVar4; undefined8 *puVar5; char cVar6; undefined4 *puVar7; undefined8 uVar8; uint *_Memory; float fVar9; float fVar10; undefined8 *local_res8 [2]; longlong local_res18; undefined1 local_res20 [8]; undefined4 local_58; undefined4 uStack_54; float fStack_50; float fStack_4c; if (param_6 != '\0') { puVar7 = (undefined4 *)FUN_18134a8d0(param_1 + -200,¶m_6,0x1000202,0); FUN_1812a3160(param_3,*puVar7); } puVar7 = (undefined4 *)FUN_18134a8d0(param_1 + -200,local_res20,0x1002820,0); FUN_181296c00(param_3,*puVar7); fVar10 = (float)param_5 * DAT_1824c3df0; uVar8 = FUN_1811316e0(0x40); fVar9 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar10) && (fVar9 = DAT_1824c45c8, fVar10 <= DAT_1824c45c8)) { fVar9 = fVar10; } local_res8[0] = (undefined8 *)FUN_1804a2b80(uVar8,0,fVar9); if (local_res8[0] != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8[0] + 1) = *(int *)(local_res8[0] + 1) + 1; UNLOCK(); } FUN_181252760(local_res8); *(undefined4 *)((longlong)local_res8[0] + 0x2c) = 0x3f666666; plVar4 = (longlong *)local_res8[0][2]; if ((plVar4 != (longlong *)0x0) && (*(code **)(*plVar4 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) { cVar6 = (**(code **)(*plVar4 + 8))(plVar4,local_res8); if (cVar6 == '\0') { puVar5 = (undefined8 *)local_res8[0][2]; local_res8[0][2] = 0; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar5)(puVar5,1); } } } } if (*(char *)(param_3 + 0x10) != '\0') { *(undefined1 *)(param_3 + 0x10) = 0; (**(code **)(**(longlong **)(param_3 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_3 + 8) + 0xd0))(*(longlong **)(param_3 + 8),local_res8); uVar8 = FUN_181249970(param_1 + 8,param_2); FUN_181241890(&local_res18,uVar8); fStack_4c = (float)param_5; fStack_50 = (float)(param_4 + -6); uStack_54 = 0; local_58 = DAT_1824c4334; FUN_1812963b0(param_3,&local_res18,&local_58,0x21,1); _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (local_res8[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8[0] + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res8[0])(local_res8[0],1); } } return; } ############ FUN_ 181327050 size=88 ############ undefined8 * FUN_181327050(longlong param_1) { undefined8 *puVar1; if (((*(byte *)(param_1 + 0xa8) & 0x20) == 0) || ((*(byte *)(param_1 + 0xa9) & 0x10) != 0)) { return (undefined8 *)0x0; } if (((*(byte *)(param_1 + 0xa8) & 0x40) == 0) && (*(longlong **)(param_1 + 0x18) != (longlong *)0x0)) { /* WARNING: Could not recover jumptable at 0x00018132707c. Too many branches */ /* WARNING: Treating indirect jump as call */ puVar1 = (undefined8 *)(**(code **)(**(longlong **)(param_1 + 0x18) + 0xa8))(); return puVar1; } puVar1 = (undefined8 *)FUN_1811316e0(8); *puVar1 = juce::KeyboardFocusTraverser::vftable; return puVar1; } ############ FUN_ 181327570 size=488 ############ undefined8 * FUN_181327570(longlong param_1,undefined4 param_2,undefined1 param_3,undefined8 *param_4) { uint uVar1; undefined8 uVar2; longlong lVar3; char cVar4; uint *_Memory; undefined1 **ppuVar5; undefined1 *local_50 [2]; undefined8 local_40; undefined8 uStack_38; if (param_4 == (undefined8 *)0x0) { param_4 = (undefined8 *)FUN_1811316e0(0x108); uVar2 = *(undefined8 *)(*(longlong *)(param_1 + -0x18) + 0x58); *param_4 = juce::Component::vftable; param_4[1] = &DAT_1821dbf98; param_4[2] = &DAT_1821dbf98; param_4[3] = 0; param_4[4] = 0; param_4[5] = 0; param_4[6] = 0; param_4[7] = 0; param_4[8] = 0; param_4[9] = 0; param_4[10] = 0; param_4[0xb] = 0; param_4[0xc] = 0; param_4[0xd] = 0; param_4[0xe] = 0; param_4[0xf] = 0; param_4[0x10] = 0; param_4[0x11] = 0; param_4[0x12] = 0; param_4[0x13] = 0; param_4[0x14] = 0; *(undefined4 *)(param_4 + 0x15) = 0; *(undefined1 *)((longlong)param_4 + 0xac) = 0; param_4[0x16] = juce::TimeSliceClient::vftable; param_4[0x17] = 0; FUN_1812a59f0(param_4 + 0x18); *param_4 = juce::FileListComponent::ItemComponent::vftable; param_4[0x16] = juce::FileListComponent::ItemComponent::vftable; param_4[0x18] = juce::FileListComponent::ItemComponent::vftable; param_4[0x1a] = param_1 + -0x128; param_4[0x1b] = uVar2; param_4[0x1c] = &DAT_1821dbf98; param_4[0x1d] = &DAT_1821dbf98; param_4[0x1e] = &DAT_1821dbf98; param_4[0x1f] = 0; *(undefined4 *)(param_4 + 0x20) = 0; *(undefined2 *)((longlong)param_4 + 0x104) = 0; } local_50[0] = &DAT_1821dbf98; local_40 = 0; uStack_38 = 0; lVar3 = *(longlong *)(param_1 + -0x18); cVar4 = FUN_18132e000(lVar3,param_2,local_50); ppuVar5 = local_50; if (cVar4 == '\0') { ppuVar5 = (undefined1 **)0x0; } FUN_1804f4ac0(param_4,lVar3 + 0x48,ppuVar5,param_2,param_3); _Memory = (uint *)(local_50[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_4; } ############ FUN_ 181328200 size=1834 ############ /* WARNING: Type propagation algorithm not settling */ void FUN_181328200(longlong param_1) { int *piVar1; longlong lVar2; DWORD DVar3; int iVar4; undefined8 *puVar5; undefined8 uVar6; longlong *plVar7; undefined8 uVar8; uint uVar9; uint *puVar10; bool bVar11; longlong local_res10; longlong local_res18; longlong local_res20; longlong local_148; undefined8 *local_140; undefined8 *local_138; undefined8 **local_130; undefined8 local_128; undefined4 local_120; undefined8 local_11c; undefined4 local_114; undefined1 *local_110; longlong local_108; longlong local_100; longlong local_f8; longlong local_f0; longlong local_e8; longlong local_e0 [2]; undefined4 local_d0; undefined8 local_cc; undefined4 local_c4; undefined1 *local_c0 [2]; code *local_b0; undefined8 local_a8; undefined8 *local_a0; undefined **local_98; code *local_90; undefined8 *local_88; undefined8 *local_80; undefined ***local_60; undefined8 local_58; undefined1 local_50 [8]; undefined4 *local_48; undefined4 *local_40; local_58 = 0xfffffffffffffffe; local_e0[0] = *(longlong *)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0xb0) + 0xf8); if ((*(uint *)(local_e0[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e0[0] + -0x10) = *(int *)(local_e0[0] + -0x10) + 1; UNLOCK(); } puVar5 = (undefined8 *)FUN_18049a930(local_50,local_e0); DVar3 = GetFileAttributesW((LPCWSTR)*puVar5); if (((DVar3 & 0x10) == 0) || (bVar11 = true, DVar3 == 0xffffffff)) { bVar11 = false; } if (bVar11) { uVar6 = FUN_1811316e0(0x1e0); local_130 = (undefined8 **)uVar6; FUN_18049c4e0(&local_res10,"Please enter the name for the folder"); lVar2 = DAT_1826739f8; local_48 = &DAT_182673984; do { LOCK(); uVar9 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar9 != 0); if (DAT_1826739f8 == 0) { local_148 = local_res10; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res10, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar4)) { iVar4 = FUN_1812498b0(lVar2 + 0x18,local_res10,*(undefined1 *)(lVar2 + 0x38),0); if (iVar4 < 0) { uVar9 = *(uint *)(local_res10 + -0x10); local_148 = local_res10; } else { plVar7 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar4); uVar9 = *(uint *)(*plVar7 + -0x10); local_148 = *plVar7; } if ((uVar9 & 0x30000000) == 0) { LOCK(); *(int *)(local_148 + -0x10) = *(int *)(local_148 + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar2 + 0x40),&local_148,&local_res10,&local_res10); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar10 = (uint *)(local_res10 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_18049c4e0(&local_res18,"New Folder"); lVar2 = DAT_1826739f8; local_40 = &DAT_182673984; do { LOCK(); uVar9 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar9 != 0); if (DAT_1826739f8 == 0) { local_res20 = local_res18; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res18, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar4)) { iVar4 = FUN_1812498b0(lVar2 + 0x18,local_res18,*(undefined1 *)(lVar2 + 0x38),0); if (iVar4 < 0) { uVar9 = *(uint *)(local_res18 + -0x10); local_res20 = local_res18; } else { plVar7 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar4); uVar9 = *(uint *)(*plVar7 + -0x10); local_res20 = *plVar7; } if ((uVar9 & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar2 + 0x40),&local_res20,&local_res18,&local_res18); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar10 = (uint *)(local_res18 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar6 = FUN_181347860(uVar6,&local_res20,&local_148,0,param_1); puVar10 = (uint *)(local_res20 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_148 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_18049c4e0(&local_108,"Folder Name"); local_c0[0] = &DAT_1821dbf98; local_110 = &DAT_1821dbf98; FUN_1812d4f90(uVar6,&local_108,&local_110,local_c0); puVar10 = (uint *)(local_110 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar9 = DAT_1821dbf88 - 1; UNLOCK(); bVar11 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar9; if (bVar11) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar10 = (uint *)(local_108 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_128 = 0; local_120 = 0; FUN_18049c4e0(&local_100,"Create Folder"); FUN_1812344e0(&local_f8,&local_100); puVar10 = (uint *)(local_100 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_128 = 0; local_120 = 0; local_e0[1] = 0xd; local_d0 = 0; FUN_181347060(uVar6,&local_f8,1,local_e0 + 1,&local_128); puVar10 = (uint *)(local_f8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_11c = 0; local_114 = 0; FUN_18049c4e0(&local_f0,"Cancel"); FUN_1812344e0(&local_e8,&local_f0); puVar10 = (uint *)(local_f0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_11c = 0; local_114 = 0; local_cc = 0x1b; local_c4 = 0; FUN_181347060(uVar6,&local_e8,0,&local_cc,&local_11c); puVar10 = (uint *)(local_e8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_1804de690(&local_138,uVar6); local_130 = &local_138; FUN_1804de690(&local_140,param_1); puVar5 = local_140; local_b0 = FUN_181328940; if (local_140 != (undefined8 *)0x0) { LOCK(); *(int *)(local_140 + 1) = *(int *)(local_140 + 1) + 1; UNLOCK(); } local_a0 = local_138; if (local_138 != (undefined8 *)0x0) { LOCK(); *(int *)(local_138 + 1) = *(int *)(local_138 + 1) + 1; UNLOCK(); } local_98 = std::_Func_impl_no_alloc<,void,int>::vftable ; local_90 = FUN_181328940; local_88 = local_140; local_a8 = 0; local_80 = local_138; if (local_138 != (undefined8 *)0x0) { LOCK(); *(int *)(local_138 + 1) = *(int *)(local_138 + 1) + 1; UNLOCK(); } local_60 = &local_98; FUN_18051fee0(&local_b0); uVar8 = FUN_181347bc0(&local_98); if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*local_140)(local_140,1); } } if (local_138 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_138 + 1); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*local_138)(local_138,1); } } FUN_18134ab30(uVar6,1,uVar8); } puVar10 = (uint *)(local_e0[0] + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } return; } ############ FUN_ 18132d8e0 size=683 ############ undefined8 FUN_18132d8e0(longlong param_1,undefined8 *param_2,char param_3,longlong param_4,longlong param_5, longlong param_6,undefined1 param_7) { uint uVar1; byte bVar2; longlong lVar3; longlong lVar4; longlong *plVar5; byte bVar6; char cVar7; byte bVar8; int iVar9; longlong *plVar10; uint *puVar11; byte *pbVar12; undefined8 uVar13; longlong lVar14; undefined1 *local_res8; longlong *local_58; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 100)); plVar10 = *(longlong **)(param_1 + 0x50); if (plVar10 != (longlong *)0x0) { if (param_3 == '\0') { cVar7 = (**(code **)(*plVar10 + 8))(); } else { cVar7 = (**(code **)(*plVar10 + 0x10))(plVar10,param_2); } if (cVar7 == '\0') { uVar13 = 0; goto LAB_18132db57; } } plVar10 = (longlong *)FUN_1811316e0(0x28); plVar10[1] = 0; plVar10[4] = 0; *plVar10 = (longlong)&DAT_1821dbf98; plVar10[2] = 0; plVar10[3] = 0; iVar9 = FUN_1812327b0(param_2,0x5c); if (iVar9 + 1 < 1) { local_res8 = (undefined1 *)*param_2; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { pbVar12 = (byte *)*param_2; for (; -1 < iVar9; iVar9 = iVar9 + -1) { bVar2 = *pbVar12; if (bVar2 == 0) { local_res8 = &DAT_1821dbf98; goto LAB_18132da00; } pbVar12 = pbVar12 + 1; if ((char)bVar2 < '\0') { bVar8 = 0x40; bVar6 = bVar2 & 0x40; while ((bVar6 != 0 && (8 < bVar8))) { pbVar12 = pbVar12 + 1; bVar8 = bVar8 >> 1; bVar6 = bVar2 & bVar8; } } } FUN_18049c9e0(&local_res8); } LAB_18132da00: lVar3 = *plVar10; *plVar10 = (longlong)local_res8; puVar11 = (uint *)(lVar3 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } plVar10[1] = param_4; plVar10[2] = param_5; plVar10[3] = param_6; *(char *)(plVar10 + 4) = param_3; *(undefined1 *)((longlong)plVar10 + 0x21) = param_7; iVar9 = *(int *)(param_1 + 0x9c) + -1; if (-1 < iVar9) { lVar14 = (longlong)iVar9; lVar3 = *(longlong *)(param_1 + 0x90); lVar4 = *plVar10; do { plVar5 = *(longlong **)(lVar3 + lVar14 * 8); if (*plVar5 == lVar4) { iVar9 = 0; } else { iVar9 = FUN_18048cbc0(*plVar5,lVar4); } if (iVar9 == 0) { uVar13 = 0; local_58 = plVar10; goto LAB_18132db1f; } lVar14 = lVar14 + -1; } while (-1 < lVar14); } local_58 = (longlong *)0x0; plVar5 = (longlong *)(param_1 + 0x90); iVar9 = *(int *)(param_1 + 0x9c) + 1; if (*(int *)(param_1 + 0x98) < iVar9) { FUN_18047cb30(plVar5,*(int *)(param_1 + 0x9c) + 9 + iVar9 / 2 & 0xfffffff8); } iVar9 = *(int *)(param_1 + 0x9c); *(int *)(param_1 + 0x9c) = iVar9 + 1; *(longlong **)(*plVar5 + (longlong)iVar9 * 8) = plVar10; lVar4 = *plVar5; lVar3 = lVar4 + (longlong)*(int *)(param_1 + 0x9c) * 8; FUN_1805209f0(lVar4,lVar3,lVar3 - lVar4 >> 3,(ulonglong)local_res8 & 0xff); uVar13 = 1; LAB_18132db1f: if (local_58 != (longlong *)0x0) { puVar11 = (uint *)(*local_58 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } /* WARNING: Subroutine does not return */ free(local_58); } LAB_18132db57: LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 100)); return uVar13; } ############ FUN_ 18132f800 size=269 ############ undefined8 * FUN_18132f800(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; undefined8 *puVar5; puVar5 = (undefined8 *)FUN_1811316e0(0x100,param_2,param_3,param_4,0xfffffffffffffffe); FUN_181333090(puVar5,param_1); *puVar5 = juce::DrawableText::vftable; uVar2 = *(undefined4 *)(param_1 + 0xc4); uVar3 = *(undefined4 *)(param_1 + 200); uVar4 = *(undefined4 *)(param_1 + 0xcc); *(undefined4 *)(puVar5 + 0x18) = *(undefined4 *)(param_1 + 0xc0); *(undefined4 *)((longlong)puVar5 + 0xc4) = uVar2; *(undefined4 *)(puVar5 + 0x19) = uVar3; *(undefined4 *)((longlong)puVar5 + 0xcc) = uVar4; puVar5[0x1a] = *(undefined8 *)(param_1 + 0xd0); *(undefined4 *)(puVar5 + 0x1b) = *(undefined4 *)(param_1 + 0xd8); *(undefined4 *)((longlong)puVar5 + 0xdc) = *(undefined4 *)(param_1 + 0xdc); lVar1 = *(longlong *)(param_1 + 0xe0); puVar5[0x1c] = lVar1; if (lVar1 != 0) { LOCK(); *(int *)(lVar1 + 8) = *(int *)(lVar1 + 8) + 1; UNLOCK(); } FUN_181252d20(puVar5 + 0x1d); lVar1 = *(longlong *)(param_1 + 0xf0); puVar5[0x1e] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(puVar5 + 0x1f) = *(undefined4 *)(param_1 + 0xf8); *(undefined4 *)((longlong)puVar5 + 0xfc) = *(undefined4 *)(param_1 + 0xfc); FUN_18132f430(puVar5); *param_2 = puVar5; return param_2; } ############ FUN_ 1813309a0 size=152 ############ undefined8 * FUN_1813309a0(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *puVar2; puVar2 = (undefined8 *)FUN_1811316e0(0x1b0,param_2,param_3,param_4,0xfffffffffffffffe); FUN_181330550(puVar2,param_1); *puVar2 = juce::DrawableRectangle::vftable; uVar1 = *(undefined8 *)(param_1 + 0x198); puVar2[0x32] = *(undefined8 *)(param_1 + 400); puVar2[0x33] = uVar1; puVar2[0x34] = *(undefined8 *)(param_1 + 0x1a0); puVar2[0x35] = *(undefined8 *)(param_1 + 0x1a8); FUN_181330740(puVar2); *param_2 = puVar2; return param_2; } ############ FUN_ 1813314c0 size=232 ############ undefined8 * FUN_1813314c0(longlong param_1,undefined8 *param_2) { undefined1 auVar1 [16]; longlong lVar2; undefined8 uVar3; undefined8 *puVar4; puVar4 = (undefined8 *)FUN_1811316e0(0xe8); FUN_181333090(puVar4,param_1); *puVar4 = juce::DrawableImage::vftable; lVar2 = *(longlong *)(param_1 + 0xc0); puVar4[0x18] = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } *(undefined4 *)(puVar4 + 0x19) = *(undefined4 *)(param_1 + 200); *(undefined4 *)((longlong)puVar4 + 0xcc) = *(undefined4 *)(param_1 + 0xcc); uVar3 = *(undefined8 *)(param_1 + 0xd8); puVar4[0x1a] = *(undefined8 *)(param_1 + 0xd0); puVar4[0x1b] = uVar3; puVar4[0x1c] = *(undefined8 *)(param_1 + 0xe0); auVar1 = *(undefined1 (*) [16])(param_1 + 0x20); FUN_18134bfe0(puVar4,auVar1._0_8_,auVar1._0_8_ >> 0x20,auVar1._8_4_,auVar1._12_4_); *param_2 = puVar4; return param_2; } ############ FUN_ 1813324d0 size=305 ############ undefined8 * FUN_1813324d0(longlong param_1,undefined8 *param_2) { undefined8 *puVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; undefined8 uVar5; undefined8 *puVar6; longlong *plVar7; longlong *plVar8; undefined8 *puVar9; puVar6 = (undefined8 *)FUN_1811316e0(0xf0); FUN_181333090(puVar6,param_1); *puVar6 = juce::DrawableComposite::vftable; uVar5 = *(undefined8 *)(param_1 + 200); puVar6[0x18] = *(undefined8 *)(param_1 + 0xc0); puVar6[0x19] = uVar5; puVar6[0x1a] = *(undefined8 *)(param_1 + 0xd0); uVar2 = *(undefined4 *)(param_1 + 0xdc); uVar3 = *(undefined4 *)(param_1 + 0xe0); uVar4 = *(undefined4 *)(param_1 + 0xe4); *(undefined4 *)(puVar6 + 0x1b) = *(undefined4 *)(param_1 + 0xd8); *(undefined4 *)((longlong)puVar6 + 0xdc) = uVar2; *(undefined4 *)(puVar6 + 0x1c) = uVar3; *(undefined4 *)((longlong)puVar6 + 0xe4) = uVar4; *(undefined1 *)(puVar6 + 0x1d) = 0; puVar9 = *(undefined8 **)(param_1 + 0x40); puVar1 = puVar9 + *(int *)(param_1 + 0x4c); for (; puVar9 != puVar1; puVar9 = puVar9 + 1) { plVar7 = (longlong *) __RTDynamicCast(*puVar9,0,&juce::Component::RTTI_Type_Descriptor, &juce::Drawable::RTTI_Type_Descriptor,0); if (plVar7 != (longlong *)0x0) { plVar8 = (longlong *)(**(code **)(*plVar7 + 0x158))(plVar7); plVar7 = (longlong *)*plVar8; *plVar8 = 0; if (plVar7 != (longlong *)0x0) { (**(code **)(*plVar7 + 0x58))(plVar7,1); FUN_181343cc0(puVar6,plVar7,0xffffffff); } if (param_2 != (undefined8 *)0x0) { (**(code **)*param_2)(); } } } *param_2 = puVar6; return param_2; } ############ FUN_ 181339c20 size=169 ############ longlong * FUN_181339c20(longlong *param_1,int param_2) { int *piVar1; longlong *plVar2; uint uVar3; undefined8 *puVar4; undefined8 uVar5; do { LOCK(); uVar3 = DAT_182673b68 & 1; DAT_182673b68 = DAT_182673b68 | 1; UNLOCK(); } while (uVar3 != 0); plVar2 = &DAT_18267aad0 + param_2; if (*plVar2 == 0) { puVar4 = (undefined8 *)FUN_1811316e0(0x20); *puVar4 = 0; uVar5 = FUN_1812c4e30(param_2); puVar4[1] = uVar5; *(undefined4 *)(puVar4 + 2) = 1; *(int *)((longlong)puVar4 + 0x14) = param_2; *(undefined1 *)(puVar4 + 3) = 1; *plVar2 = (longlong)puVar4; } else { LOCK(); piVar1 = (int *)(*plVar2 + 0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); DAT_182673b68 = 0; UNLOCK(); *param_1 = *plVar2; return param_1; } ############ FUN_ 18133abd0 size=580 ############ void FUN_18133abd0(longlong param_1,longlong param_2,longlong param_3,longlong param_4) { float fVar1; float fVar2; float fVar3; longlong lVar4; longlong lVar5; float *pfVar6; undefined8 *puVar7; longlong lVar8; undefined8 uVar9; undefined8 local_res10; uint in_stack_ffffffffffffff18; int local_c8; int iStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; double local_b8 [2]; undefined1 local_a8 [8]; undefined1 local_a0 [8]; undefined1 local_98 [128]; if (param_2 != 0) { local_b8[1] = -NAN; local_c8 = *(int *)(param_2 + 0x20); iStack_c4 = *(int *)(param_2 + 0x24); uStack_c0 = *(undefined4 *)(param_2 + 0x28); uStack_bc = *(undefined4 *)(param_2 + 0x2c); if ((*(byte *)(param_2 + 0xa8) & 1) == 0) { lVar8 = FUN_181339840(param_3,local_98,param_2); local_c8 = local_c8 + (*(int *)(lVar8 + 8) - (int)*(undefined8 *)(param_1 + 8)); iStack_c4 = iStack_c4 + (*(int *)(lVar8 + 0xc) - (int)((ulonglong)*(undefined8 *)(param_1 + 8) >> 0x20)); } else { pfVar6 = (float *)FUN_1804e5a90(*(undefined8 *)(param_3 + 0x50),local_b8); fVar1 = *pfVar6; fVar2 = pfVar6[1]; uVar9 = *(undefined8 *)pfVar6; if (DAT_182673700 == 0) { local_res10 = (double)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } fVar3 = *(float *)(DAT_182673700 + 0xc0); local_res10 = (double)uVar9; if (fVar3 != DAT_1824c3ea4) { local_res10 = (double)CONCAT44(fVar2 / fVar3,fVar1 / fVar3); } lVar5 = *(longlong *)(param_2 + 0x18); lVar8 = param_2; while (lVar4 = lVar5, lVar4 != 0) { lVar8 = lVar4; lVar5 = *(longlong *)(lVar4 + 0x18); } pfVar6 = (float *)FUN_1805200f0(local_a8,lVar8,local_res10); local_res10._0_4_ = *pfVar6; local_res10._4_4_ = pfVar6[1]; uVar9 = *(undefined8 *)pfVar6; if (lVar8 != param_2) { local_res10 = (double)uVar9; if (*(longlong *)(param_2 + 0x18) != lVar8) { puVar7 = (undefined8 *)FUN_1805200a0(local_a0,lVar8,*(longlong *)(param_2 + 0x18),uVar9); uVar9 = *puVar7; } FUN_1805200f0(&local_res10,param_2,uVar9); } local_b8[0] = (double)local_res10._4_4_ + DAT_1824c4520; local_res10 = (double)(float)local_res10 + DAT_1824c4520; local_c8 = local_c8 + ((int)(float)local_res10 - (int)*(undefined8 *)(param_1 + 8)); iStack_c4 = iStack_c4 + (local_b8[0]._0_4_ - (int)((ulonglong)*(undefined8 *)(param_1 + 8) >> 0x20)); } if (param_4 == 0) { FUN_18134bfe0(param_2,local_c8,iStack_c4,uStack_c0,uStack_bc); } else { FUN_1813489c0(param_4,param_2,&local_c8,0,in_stack_ffffffffffffff18 & 0xffffff00,0,0); } } return; } ############ FUN_ 18133b560 size=185 ############ void FUN_18133b560(longlong param_1,longlong param_2,undefined1 param_3) { undefined8 *puVar1; int iVar2; if (param_2 != 0) { puVar1 = (undefined8 *)FUN_1811316e0(0x60); FUN_181322bc0(puVar1,param_2); *puVar1 = juce::ModalComponentManager::ModalItem::vftable; puVar1[8] = param_2; puVar1[9] = 0; puVar1[10] = 0; *(undefined4 *)(puVar1 + 0xb) = 0; *(undefined1 *)((longlong)puVar1 + 0x5c) = 1; *(undefined1 *)((longlong)puVar1 + 0x5d) = param_3; iVar2 = *(int *)(param_1 + 0x24) + 1; if (*(int *)(param_1 + 0x20) < iVar2) { FUN_18047cb30(param_1 + 0x18,*(int *)(param_1 + 0x24) + 9 + iVar2 / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x24); *(int *)(param_1 + 0x24) = iVar2 + 1; *(undefined8 **)(*(longlong *)(param_1 + 0x18) + (longlong)iVar2 * 8) = puVar1; } return; } ############ FUN_ 18133bc00 size=263 ############ void FUN_18133bc00(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { float fVar1; float fVar2; float fVar3; float *pfVar4; undefined8 local_res8; undefined8 local_res10; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { local_res8 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8); } pfVar4 = (float *)FUN_1804e5a90(**(undefined8 **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18), &local_res8,param_3,param_4,uVar5); fVar1 = *pfVar4; fVar2 = pfVar4[1]; if (DAT_182673700 == 0) { local_res10 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res10); } fVar3 = *(float *)(DAT_182673700 + 0xc0); local_res8._0_4_ = fVar1; local_res8._4_4_ = fVar2; if (fVar3 != DAT_1824c3ea4) { local_res8._0_4_ = fVar1 / fVar3; local_res8._4_4_ = fVar2 / fVar3; } if ((*(float *)(param_1 + 0x78) != (float)local_res8) || (*(float *)(param_1 + 0x7c) != local_res8._4_4_)) { FUN_18133b830(param_1 + -8); } return; } ############ FUN_ 18133c180 size=102 ############ undefined8 FUN_18133c180(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 local_res8 [4]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { local_res8[0] = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8[0]); } puVar1 = (undefined8 *) FUN_1804e5a90(**(undefined8 **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18),local_res8, param_3,param_4,uVar2); FUN_18051ec70(param_1,*puVar1); return param_1; } ############ FUN_ 18133e4d0 size=185 ############ ulonglong FUN_18133e4d0(ulonglong param_1,char param_2) { longlong *plVar1; longlong lVar2; ulonglong uVar3; undefined8 uVar4; ulonglong uVar5; longlong *plVar6; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } plVar6 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); uVar5 = (ulonglong)*(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); plVar1 = plVar6 + uVar5; do { if (plVar6 == plVar1) { return uVar5 & 0xffffffffffffff00; } lVar2 = *(longlong *)(*plVar6 + 0x48); uVar5 = 0; if (lVar2 != 0) { uVar5 = *(ulonglong *)(lVar2 + 0x10); } if (uVar5 == param_1) { LAB_18133e560: if ((*(byte *)(*plVar6 + 0x28) & 0x70) != 0) { return CONCAT71((int7)(uVar5 >> 8),1); } } else { uVar3 = uVar5; if (param_2 != '\0') { do { uVar5 = 0; if (uVar3 == 0) goto LAB_18133e566; uVar5 = *(ulonglong *)(uVar3 + 0x18); uVar3 = uVar5; } while (uVar5 != param_1); goto LAB_18133e560; } } LAB_18133e566: plVar6 = plVar6 + 1; } while( true ); } ############ FUN_ 18133f720 size=101 ############ void FUN_18133f720(int param_1) { undefined8 uVar1; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } if (0 < param_1) { if (*(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x10) != param_1) { FUN_1812a77d0(*(longlong *)(DAT_182673700 + 0x30),param_1); return; } return; } FUN_1812a7720(); return; } ############ FUN_ 181342d50 size=83 ############ void FUN_181342d50(void) { undefined8 uVar1; if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } FUN_1804e6e90(**(undefined8 **)(*(longlong *)(DAT_182673700 + 0x30) + 0x18),1); return; } ############ FUN_ 181342e90 size=187 ############ undefined8 FUN_181342e90(void) { int iVar1; undefined8 *puVar2; longlong lVar3; longlong *plVar4; int iVar5; bool bVar6; if (DAT_182673c20 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1811316e0(0x28); FUN_1812a59f0(puVar2); FUN_1812a7230(puVar2 + 2); *puVar2 = juce::ModalComponentManager::vftable; puVar2[2] = juce::ModalComponentManager::vftable; puVar2[3] = 0; puVar2[4] = 0; DAT_182673c20 = puVar2; } iVar5 = 0; iVar1 = *(int *)((longlong)DAT_182673c20 + 0x24) + -1; if (-1 < iVar1) { lVar3 = (longlong)iVar1; plVar4 = (longlong *)(DAT_182673c20[3] + lVar3 * 8); do { if ((*(char *)(*plVar4 + 0x5c) != '\0') && (bVar6 = iVar5 == 0, iVar5 = iVar5 + 1, bVar6)) { return *(undefined8 *)(*plVar4 + 0x40); } plVar4 = plVar4 + -1; lVar3 = lVar3 + -1; } while (-1 < lVar3); } return 0; } ############ FUN_ 181342f60 size=188 ############ ulonglong FUN_181342f60(void) { undefined8 *puVar1; longlong *plVar2; ulonglong uVar3; ulonglong uVar4; ulonglong uVar5; uVar3 = 0; 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; } plVar2 = (longlong *)DAT_182673c20[3]; uVar5 = (ulonglong) ((longlong)(plVar2 + *(int *)((longlong)DAT_182673c20 + 0x24)) + (7 - (longlong)plVar2)) >> 3; if (plVar2 + *(int *)((longlong)DAT_182673c20 + 0x24) < plVar2) { uVar5 = uVar3; } uVar4 = uVar3; if (uVar5 != 0) { do { if (*(char *)(*plVar2 + 0x5c) != '\0') { uVar3 = (ulonglong)((int)uVar3 + 1); } plVar2 = plVar2 + 1; uVar4 = uVar4 + 1; } while (uVar4 != uVar5); } return uVar3; } ############ FUN_ 1813518c0 size=150 ############ undefined8 * FUN_1813518c0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = (undefined8 *)FUN_1811316e0(0x40); FUN_181351450(puVar2); *puVar2 = juce::SimpleValueSource::vftable; puVar2[2] = juce::SimpleValueSource::vftable; plVar1 = (longlong *)*param_2; puVar2[6] = plVar1; (**(code **)(*plVar1 + 0xb8))(plVar1,puVar2 + 7,param_2 + 1,param_4,uVar3); *param_1 = puVar2; LOCK(); *(int *)(puVar2 + 1) = *(int *)(puVar2 + 1) + 1; UNLOCK(); param_1[1] = 0; param_1[2] = 0; return param_1; } ############ FUN_ 181351e20 size=429 ############ longlong * FUN_181351e20(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; undefined8 uVar2; undefined8 *puVar3; undefined8 *puVar4; longlong local_res10; undefined8 uVar5; longlong local_50; void *local_48; int local_3c; undefined8 *local_38; undefined8 local_30; undefined8 local_28; uVar5 = 0xfffffffffffffffe; if (**(char **)(param_2 + 0x18) == '\0') { *param_1 = 0; param_1[1] = 0; param_1[2] = 0; return param_1; } uVar2 = FUN_18122bf10(); FUN_18122c1b0(uVar2,&local_res10,param_2 + 0x18,param_4,uVar5); puVar3 = (undefined8 *)FUN_1811316e0(0x50); *(undefined4 *)(puVar3 + 1) = 0; *puVar3 = juce::ValueTree::SharedObject::vftable; puVar3[2] = local_res10; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar3[3] = 0; puVar3[4] = 0; puVar3[5] = 0; puVar3[6] = 0; puVar3[7] = 0; puVar3[8] = 0; puVar3[9] = 0; LOCK(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; UNLOCK(); local_30 = 0; local_28 = 0; local_38 = puVar3; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_181243640(puVar3 + 3,param_2); if (*(longlong *)(param_2 + 8) != 0) { puVar4 = (undefined8 *)FUN_181351e20(&local_50,*(longlong *)(param_2 + 8)); FUN_180527010(puVar3,*puVar4,0xffffffff); if ((local_3c != 0) && (local_50 != 0)) { FUN_180527d40(local_50 + 0x38,&local_50); } local_3c = 0; /* WARNING: Subroutine does not return */ free(local_48); } *param_1 = (longlong)puVar3; param_1[1] = 0; param_1[2] = 0; if (*param_1 != 0) { FUN_180527d40(*param_1 + 0x38,&local_38); } /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 181352210 size=128 ############ longlong * FUN_181352210(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; longlong lVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; if (*param_1 != 0) { uVar1 = FUN_1811316e0(0x50); lVar2 = FUN_180526910(uVar1,*param_1,param_3,param_4,uVar3); *param_2 = lVar2; LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); param_2[1] = 0; param_2[2] = 0; return param_2; } *param_2 = 0; param_2[1] = 0; param_2[2] = 0; return param_2; } ############ FUN_ 18136ce00 size=315 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18136ce00(undefined8 param_1,longlong param_2,undefined4 param_3,undefined8 param_4, int param_5,undefined8 param_6) { bool bVar1; bool bVar2; bool bVar3; char cVar4; longlong lVar5; int iVar6; int *_Memory; int *piVar7; longlong lVar8; undefined1 auStack_98 [32]; int local_78; undefined8 local_70; int *local_68; undefined8 local_60; undefined8 local_58; undefined8 local_50; undefined8 uStack_48; ulonglong local_40; local_58 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_98; bVar3 = false; local_68 = (int *)((ulonglong)local_68 & 0xffffffff00000000); _Memory = local_68; if (param_2 != 0) { local_50 = _DAT_1824c48f0; uStack_48 = _UNK_1824c48f8; local_68 = (int *)0x0; local_60 = 0; FUN_1804af790(&local_68,8); _Memory = local_68; piVar7 = (int *)&local_50; lVar8 = 4; iVar6 = local_60._4_4_; do { lVar5 = (longlong)iVar6; iVar6 = iVar6 + 1; local_68[lVar5] = *piVar7; piVar7 = piVar7 + 1; lVar8 = lVar8 + -1; } while (lVar8 != 0); bVar1 = true; for (piVar7 = local_68; bVar3 = true, piVar7 != local_68 + iVar6; piVar7 = piVar7 + 1) { if (param_5 == *piVar7) { cVar4 = FUN_18136d640(param_1,param_4); bVar2 = bVar1; bVar3 = true; if (cVar4 != '\0') goto LAB_18136ceec; break; } } } bVar1 = false; bVar2 = bVar3; LAB_18136ceec: if (bVar2) { /* WARNING: Subroutine does not return */ free(_Memory); } if (bVar1) { local_68 = (int *)FUN_1811316e0(0x118); local_70 = param_6; local_78 = param_5; FUN_180543eb0(local_68,param_2,param_3,param_4); } } ############ FUN_ 18136cf60 size=335 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18136cf60(undefined8 param_1,longlong param_2,undefined4 param_3,undefined4 param_4, int param_5,undefined8 param_6) { bool bVar1; bool bVar2; bool bVar3; char cVar4; undefined8 uVar5; longlong lVar6; int iVar7; int *_Memory; int *piVar8; longlong lVar9; undefined1 auStack_d8 [32]; int local_b8; undefined8 local_b0; int *local_a8; undefined8 local_a0; undefined8 local_98; undefined8 local_90; undefined8 uStack_88; void *local_80 [5]; ulonglong local_58; local_98 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_d8; bVar3 = false; local_a8 = (int *)((ulonglong)local_a8 & 0xffffffff00000000); uVar5 = FUN_18053f520(local_80,param_4); _Memory = local_a8; if (param_2 != 0) { local_90 = _DAT_1824c48f0; uStack_88 = _UNK_1824c48f8; local_a8 = (int *)0x0; local_a0 = 0; FUN_1804af790(&local_a8,8); _Memory = local_a8; piVar8 = (int *)&local_90; lVar9 = 4; iVar7 = local_a0._4_4_; do { lVar6 = (longlong)iVar7; iVar7 = iVar7 + 1; local_a8[lVar6] = *piVar8; piVar8 = piVar8 + 1; lVar9 = lVar9 + -1; } while (lVar9 != 0); bVar1 = true; for (piVar8 = local_a8; bVar3 = true, piVar8 != local_a8 + iVar7; piVar8 = piVar8 + 1) { if (param_5 == *piVar8) { cVar4 = FUN_18136d640(param_1,uVar5); bVar2 = bVar1; bVar3 = true; if (cVar4 != '\0') goto LAB_18136d064; break; } } } bVar1 = false; bVar2 = bVar3; LAB_18136d064: if (bVar2) { /* WARNING: Subroutine does not return */ free(_Memory); } if (bVar1) { local_a8 = (int *)FUN_1811316e0(0x118); local_b0 = param_6; local_b8 = param_5; FUN_180543eb0(local_a8,param_2,param_3,uVar5); } /* WARNING: Subroutine does not return */ free(local_80[0]); } ############ FUN_ 18136d0f0 size=202 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18136d0f0(undefined8 param_1,longlong param_2) { undefined8 *puVar1; undefined1 auStack_108 [32]; undefined8 local_e8; undefined4 local_e0; undefined8 local_d8; undefined8 *local_d0; undefined1 local_c8 [24]; longlong local_b0; undefined8 local_58; undefined8 local_50; undefined4 local_48; void *local_40; ulonglong local_18; local_d8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_108; if (param_2 == 0) { } FUN_180541f20(local_c8); if (0 < local_b0) { puVar1 = (undefined8 *)FUN_1811316e0(0x98); local_e0 = local_48; local_e8 = local_50; local_d0 = puVar1; FUN_1813af040(puVar1,param_2 + 8,local_c8,local_58); *puVar1 = juce::MemoryMappedWavReader::vftable; /* WARNING: Subroutine does not return */ free(local_40); } /* WARNING: Subroutine does not return */ free(local_40); } ############ FUN_ 18136d2d0 size=258 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18136d2d0(undefined8 param_1,undefined8 param_2) { undefined8 *puVar1; undefined8 *puVar2; undefined1 auStack_108 [32]; undefined8 local_e8; undefined4 local_e0; undefined8 *local_d8; undefined8 local_d0; undefined1 local_c8 [24]; longlong local_b0; undefined8 local_58; undefined8 local_50; undefined4 local_48; void *local_40; ulonglong local_18; local_d0 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_108; local_d8 = (undefined8 *)FUN_1811316e0(0x28); puVar1 = (undefined8 *)FUN_18123efe0(local_d8,param_2); if (*(char *)puVar1[4] != '\0') { (**(code **)*puVar1)(puVar1,1); } FUN_180541f20(local_c8,puVar1); if (0 < local_b0) { puVar2 = (undefined8 *)FUN_1811316e0(0x98); local_e0 = local_48; local_e8 = local_50; local_d8 = puVar2; FUN_1813af040(puVar2,puVar1 + 1,local_c8,local_58); *puVar2 = juce::MemoryMappedWavReader::vftable; /* WARNING: Subroutine does not return */ free(local_40); } /* WARNING: Subroutine does not return */ free(local_40); } ############ FUN_ 18136d4e0 size=296 ############ undefined8 * FUN_18136d4e0(undefined8 param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; undefined **local_30; undefined1 local_28 [8]; void *local_20 [3]; uVar1 = FUN_1811316e0(0xb0,param_2,param_3,param_4,0xfffffffffffffffe); puVar2 = (undefined8 *)FUN_180541f20(uVar1,param_2); if (*(char *)((longlong)puVar2 + 0x85) != '\0') { puVar2[10] = 0; local_30 = juce::AudioFormat::vftable; FUN_18049c9e0(local_28,"Ogg-Vorbis file"); FUN_18122ce70(local_20,&DAT_1821f6804); local_30 = juce::OggVorbisAudioFormat::vftable; (*(code *)PTR_FUN_1824ad3e0)(&local_30,param_2,param_3 & 0xff); local_30 = juce::AudioFormat::vftable; FUN_180488c50(local_20); /* WARNING: Subroutine does not return */ free(local_20[0]); } if (((((double)puVar2[1] <= 0.0) || (*(int *)(puVar2 + 4) == 0)) || (*(int *)(puVar2 + 0x10) < 1)) || (0x20 < *(uint *)(puVar2 + 2))) { if ((char)param_3 == '\0') { puVar2[10] = 0; } puVar4 = (undefined8 *)0x0; puVar3 = puVar2; } else { puVar3 = (undefined8 *)0x0; puVar4 = puVar2; } if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(0,1); } return puVar4; } ############ FUN_ 18136f310 size=182 ############ undefined8 * FUN_18136f310(undefined8 param_1,longlong param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined8 param_6,undefined4 param_7) { undefined8 uVar1; undefined8 *puVar2; if (param_2 == 0) { return (undefined8 *)0x0; } uVar1 = FUN_1811316e0(0x378); puVar2 = (undefined8 *)FUN_18053e070(uVar1,param_2,param_3,param_4,param_5,param_7,param_6); if (*(char *)(puVar2 + 0xb) != '\0') { return puVar2; } (**(code **)*puVar2)(puVar2,1); return (undefined8 *)0x0; } ############ FUN_ 18136f3d0 size=108 ############ undefined8 * FUN_18136f3d0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *puVar2; uVar1 = FUN_1811316e0(0x4f8,param_2,param_3,param_4,0xfffffffffffffffe); puVar2 = (undefined8 *)FUN_18053d660(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; } ############ FUN_ 181392f50 size=318 ############ undefined8 * FUN_181392f50(undefined8 param_1,longlong param_2,undefined4 param_3,undefined4 param_4,int param_5, undefined8 param_6,undefined4 param_7) { bool bVar1; bool bVar2; undefined8 *puVar3; longlong lVar4; int *piVar5; int iVar6; ulonglong *puVar7; longlong lVar8; ulonglong local_res10; undefined8 uVar9; int *local_30; undefined8 local_28; uVar9 = 0xfffffffffffffffe; bVar2 = false; local_res10 = local_res10 & 0xffffffff00000000; if (param_2 != 0) { local_res10 = 0x1800000010; local_30 = (int *)0x0; local_28 = 0; FUN_1804af790(&local_30,8); puVar7 = &local_res10; lVar8 = 2; iVar6 = local_28._4_4_; do { lVar4 = (longlong)iVar6; iVar6 = iVar6 + 1; local_30[lVar4] = (int)*puVar7; puVar7 = (ulonglong *)((longlong)puVar7 + 4); lVar8 = lVar8 + -1; } while (lVar8 != 0); bVar1 = true; for (piVar5 = local_30; bVar2 = true, piVar5 != local_30 + iVar6; piVar5 = piVar5 + 1) { bVar2 = bVar1; if (param_5 == *piVar5) goto LAB_18139301c; } } bVar1 = false; LAB_18139301c: if (bVar2) { /* WARNING: Subroutine does not return */ free(local_30); } if (bVar1) { local_res10 = FUN_1811316e0(0x70); puVar3 = (undefined8 *)FUN_18053d130(local_res10,param_2,param_3,param_4,param_5,param_7,uVar9); if (*(char *)(puVar3 + 0xb) != '\0') { return puVar3; } (**(code **)*puVar3)(puVar3,1); } return (undefined8 *)0x0; } ############ FUN_ 1813930a0 size=108 ############ undefined8 * FUN_1813930a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *puVar2; uVar1 = FUN_1811316e0(0x1a0,param_2,param_3,param_4,0xfffffffffffffffe); puVar2 = (undefined8 *)FUN_18053c590(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; } ############ FUN_ 1813ab5e0 size=575 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813ab5e0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined4 param_4, int param_5,longlong param_6) { uint *_Memory; uint uVar1; bool bVar2; bool bVar3; undefined8 *puVar4; undefined8 uVar5; longlong lVar6; int iVar7; bool bVar8; int *piVar9; longlong lVar10; undefined1 auStack_98 [32]; int *local_78; undefined8 local_70; undefined4 local_68; undefined4 uStack_64; undefined8 local_60; undefined8 *local_58; int local_50 [4]; ulonglong local_40; local_60 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_98; local_68 = 0; bVar8 = true; bVar2 = true; bVar3 = false; if (param_2 != (longlong *)0x0) { local_50[0] = 8; local_50[1] = 0x10; local_50[2] = 0x18; local_78 = (int *)0x0; local_70 = 0; FUN_1804af790(&local_78,8); piVar9 = local_50; lVar10 = 3; iVar7 = local_70._4_4_; do { lVar6 = (longlong)iVar7; iVar7 = iVar7 + 1; local_78[lVar6] = *piVar9; piVar9 = piVar9 + 1; lVar10 = lVar10 + -1; } while (lVar10 != 0); local_70 = CONCAT44(iVar7,(undefined4)local_70); for (piVar9 = local_78; bVar3 = bVar8, piVar9 != local_78 + iVar7; piVar9 = piVar9 + 1) { if (param_5 == *piVar9) goto LAB_1813ab6dc; } } bVar8 = bVar3; bVar2 = false; LAB_1813ab6dc: if (bVar8) { /* WARNING: Subroutine does not return */ free(local_78); } if (bVar2) { puVar4 = (undefined8 *)FUN_1811316e0(0xb8); local_58 = puVar4; FUN_18049c4e0(&local_68,"AIFF file"); *puVar4 = juce::AudioFormatWriter::vftable; puVar4[1] = param_3; *(undefined4 *)(puVar4 + 2) = param_4; *(int *)((longlong)puVar4 + 0x14) = param_5; *(undefined1 *)(puVar4 + 3) = 0; FUN_1812b1fe0(puVar4 + 4,param_4); puVar4[9] = param_2; puVar4[10] = CONCAT44(uStack_64,local_68); _Memory = (uint *)(CONCAT44(uStack_64,local_68) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *puVar4 = juce::AiffAudioFormatWriter::vftable; puVar4[0xb] = 0; puVar4[0xc] = 0; puVar4[0xd] = 0; puVar4[0xe] = 0; puVar4[0xf] = 0; puVar4[0x10] = 0; puVar4[0x11] = 0; puVar4[0x12] = 0; puVar4[0x13] = 0; puVar4[0x14] = 0; puVar4[0x15] = 0; *(undefined1 *)(puVar4 + 0x16) = 0; if (0 < *(int *)(param_6 + 0xc)) { FUN_1813ac660(puVar4 + 0xd,param_6); FUN_1813abe20(puVar4 + 0xf,param_6); FUN_1805392c0(puVar4 + 0x11,param_6); } uVar5 = (**(code **)(*param_2 + 0x18))(param_2); puVar4[0x15] = uVar5; FUN_18053b310(puVar4); } } ############ FUN_ 1813ab850 size=369 ############ undefined8 FUN_1813ab850(undefined8 param_1,longlong param_2) { uint uVar1; undefined8 *puVar2; uint *puVar3; undefined **local_98 [3]; longlong local_80; void *local_60 [3]; undefined8 *local_48; longlong local_40; int local_38; undefined8 local_30; undefined1 local_28; undefined8 local_18; local_18 = 0xfffffffffffffffe; if (param_2 == 0) { return 0; } FUN_180539c50(local_98); if (0 < local_80) { puVar2 = (undefined8 *)FUN_1811316e0(0xa0); FUN_1813af040(puVar2,param_2 + 8,local_98,local_30,local_38 * local_80,local_38); *puVar2 = juce::MemoryMappedAiffReader::vftable; *(undefined1 *)(puVar2 + 0x13) = local_28; local_98[0] = juce::AudioFormatReader::vftable; if (local_48 != (undefined8 *)0x0) { (**(code **)*local_48)(local_48,1); } puVar3 = (uint *)(local_40 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_180488c50(local_60); /* WARNING: Subroutine does not return */ free(local_60[0]); } local_98[0] = juce::AudioFormatReader::vftable; if (local_48 != (undefined8 *)0x0) { (**(code **)*local_48)(local_48,1); } puVar3 = (uint *)(local_40 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_180488c50(local_60); /* WARNING: Subroutine does not return */ free(local_60[0]); } ############ FUN_ 1813aba10 size=423 ############ undefined8 FUN_1813aba10(undefined8 param_1,undefined8 param_2) { uint uVar1; undefined8 uVar2; undefined8 *puVar3; undefined8 *puVar4; uint *puVar5; undefined **local_98 [3]; longlong local_80; void *local_60 [3]; undefined8 *local_48; longlong local_40; int local_38; undefined8 local_30; undefined1 local_28; undefined8 local_18; local_18 = 0xfffffffffffffffe; uVar2 = FUN_1811316e0(0x28); puVar3 = (undefined8 *)FUN_18123efe0(uVar2,param_2); if (*(char *)puVar3[4] != '\0') { (**(code **)*puVar3)(puVar3,1); return 0; } FUN_180539c50(local_98,puVar3); if (0 < local_80) { puVar4 = (undefined8 *)FUN_1811316e0(0xa0); FUN_1813af040(puVar4,puVar3 + 1,local_98,local_30,local_38 * local_80,local_38); *puVar4 = juce::MemoryMappedAiffReader::vftable; *(undefined1 *)(puVar4 + 0x13) = local_28; local_98[0] = juce::AudioFormatReader::vftable; if (local_48 != (undefined8 *)0x0) { (**(code **)*local_48)(local_48,1); } puVar5 = (uint *)(local_40 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_180488c50(local_60); /* WARNING: Subroutine does not return */ free(local_60[0]); } local_98[0] = juce::AudioFormatReader::vftable; if (local_48 != (undefined8 *)0x0) { (**(code **)*local_48)(local_48,1); } puVar5 = (uint *)(local_40 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_180488c50(local_60); /* WARNING: Subroutine does not return */ free(local_60[0]); } ############ FUN_ 1813abc10 size=114 ############ undefined8 * FUN_1813abc10(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *puVar2; uVar1 = FUN_1811316e0(0x78,param_2,param_3,param_4,0xfffffffffffffffe); puVar2 = (undefined8 *)FUN_180539c50(uVar1,param_2); if (((double)puVar2[1] <= 0.0) || (*(int *)(puVar2 + 4) == 0)) { if ((char)param_3 == '\0') { puVar2[10] = 0; } (**(code **)*puVar2)(puVar2,1); puVar2 = (undefined8 *)0x0; } return puVar2; } ############ FUN_ 1813add10 size=774 ############ void FUN_1813add10(longlong param_1) { longlong *plVar1; int iVar2; uint uVar3; longlong lVar4; longlong *plVar5; ulonglong *puVar6; longlong *plVar7; longlong *plVar8; uint uVar9; ulonglong uVar10; uint uVar11; ulonglong uVar12; ulonglong uVar13; uint local_res8; longlong *local_50; uint local_48; uint local_44; lVar4 = *(longlong *)(param_1 + 0x80) + -0x400; uVar10 = (ulonglong)((uint)(lVar4 >> 0x3f) & 0x7fff) + lVar4 & 0xffffffffffff8000; uVar12 = (longlong)(*(int *)(param_1 + 0x88) << 0xf) + uVar10; plVar8 = (longlong *)0x0; uVar3 = 0; local_50 = (longlong *)0x0; local_res8 = 0; local_48 = 0; local_44 = 0; iVar2 = *(int *)(param_1 + 0xcc) + -1; lVar4 = (longlong)iVar2; plVar7 = plVar8; if (-1 < iVar2) { plVar5 = plVar8; uVar13 = uVar10; if ((longlong)uVar10 < (longlong)uVar12) { uVar13 = uVar12; } do { uVar3 = (uint)plVar5; plVar1 = *(longlong **)(*(longlong *)(param_1 + 0xc0) + lVar4 * 8); if (((longlong)uVar10 < plVar1[1]) && (*plVar1 < (longlong)uVar13)) { iVar2 = uVar3 + 1; if ((int)plVar8 < iVar2) { if (iVar2 < 0) { iVar2 = uVar3 + 2; } FUN_18047cb30(&local_50,uVar3 + 9 + (iVar2 >> 1) & 0xfffffff8); plVar8 = (longlong *)(ulonglong)local_48; plVar7 = local_50; uVar3 = local_44; } local_44 = uVar3 + 1; plVar5 = (longlong *)(ulonglong)local_44; plVar7[(int)uVar3] = (longlong)plVar1; } uVar3 = (uint)plVar5; local_res8 = (uint)plVar8; lVar4 = lVar4 + -1; } while (-1 < lVar4); } if (uVar3 == *(uint *)(param_1 + 0x88)) { local_44 = 0; if (local_res8 != 0) { /* WARNING: Subroutine does not return */ free(plVar7); } local_48 = 0; } else { if ((longlong)uVar10 < (longlong)uVar12) { plVar8 = *(longlong **)(param_1 + 0xc0); plVar5 = plVar8; do { while( true ) { if (plVar5 == plVar8 + *(int *)(param_1 + 0xcc)) { puVar6 = (ulonglong *)FUN_1811316e0(0x138); lVar4 = *(longlong *)(param_1 + 0x70); *puVar6 = uVar10; uVar12 = uVar10; if ((longlong)uVar10 < (longlong)(uVar10 + 0x8000)) { uVar12 = uVar10 + 0x8000; } puVar6[1] = uVar12; FUN_180535db0(puVar6 + 2,*(undefined4 *)(lVar4 + 0x20),0x8000); FUN_1813af530(lVar4,puVar6 + 2,0,0x8000,uVar10); uVar9 = uVar3; if ((int)local_res8 < (int)(uVar3 + 1)) { FUN_18047cb30(&local_50,uVar3 + 9 + (int)(uVar3 + 1) / 2 & 0xfffffff8); plVar7 = local_50; local_res8 = local_48; uVar9 = local_44; } uVar3 = uVar9 + 1; plVar7[(int)uVar9] = (longlong)puVar6; goto LAB_1813ade75; } if ((*(longlong *)*plVar5 <= (longlong)uVar10) && ((longlong)uVar10 < ((longlong *)*plVar5)[1])) break; plVar5 = plVar5 + 1; } uVar10 = uVar10 + 0x8000; plVar5 = plVar8; } while ((longlong)uVar10 < (longlong)uVar12); } LAB_1813ade75: EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x90)); plVar8 = *(longlong **)(param_1 + 0xc0); *(longlong **)(param_1 + 0xc0) = plVar7; uVar9 = *(int *)(param_1 + 200); *(uint *)(param_1 + 200) = local_res8; uVar11 = *(uint *)(param_1 + 0xcc); *(uint *)(param_1 + 0xcc) = uVar3; local_50 = plVar8; local_48 = uVar9; local_44 = uVar11; LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x90)); iVar2 = *(int *)(param_1 + 0xcc) + -1; lVar4 = (longlong)iVar2; if (-1 < iVar2) { do { uVar3 = 0; plVar7 = plVar8; if (0 < (int)uVar11) { do { if (*(longlong *)(*(longlong *)(param_1 + 0xc0) + lVar4 * 8) == *plVar7) { if (uVar3 < uVar11) { memmove(plVar8 + (int)uVar3,plVar8 + (int)uVar3 + 1, (longlong)(int)((uVar11 - uVar3) + -1) << 3); uVar11 = uVar11 - 1; local_44 = uVar11; } if (((int)(uVar11 * 2) < (int)uVar9) && ((int)uVar11 < (int)uVar9)) { FUN_18047cb30(&local_50,uVar11); plVar8 = local_50; uVar9 = local_48; uVar11 = local_44; } break; } uVar3 = uVar3 + 1; plVar7 = plVar7 + 1; } while ((int)uVar3 < (int)uVar11); } lVar4 = lVar4 + -1; } while (-1 < lVar4); } } FUN_180546840(&local_50); /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 1813aee20 size=524 ############ bool FUN_1813aee20(longlong param_1,longlong *param_2) { int iVar1; undefined8 *_Memory; longlong *_Memory_00; undefined8 *puVar2; longlong lVar3; longlong lVar4; longlong lVar5; longlong lVar6; longlong lVar7; if (*(longlong *)(param_1 + 0x78) != 0) { if ((*param_2 == *(longlong *)(param_1 + 0x68)) && (param_2[1] == *(longlong *)(param_1 + 0x70)) ) goto LAB_1813af00d; } puVar2 = *(undefined8 **)(param_1 + 0x78); lVar7 = 0; *(undefined8 *)(param_1 + 0x78) = 0; if (puVar2 != (undefined8 *)0x0) { if ((LPCVOID)*puVar2 != (LPCVOID)0x0) { UnmapViewOfFile((LPCVOID)*puVar2); } if ((HANDLE)puVar2[3] != (HANDLE)0x0) { CloseHandle((HANDLE)puVar2[3]); } /* WARNING: Subroutine does not return */ free(puVar2); } lVar5 = (longlong)*(int *)(param_1 + 0x90) * param_2[1] + *(longlong *)(param_1 + 0x80); lVar6 = (longlong)*(int *)(param_1 + 0x90) * *param_2 + *(longlong *)(param_1 + 0x80); lVar4 = lVar6; if (lVar6 < lVar5) { lVar4 = lVar5; } puVar2 = (undefined8 *)FUN_1811316e0(0x20); *puVar2 = 0; lVar3 = FUN_181217a30(param_1 + 0x60); lVar5 = lVar7; if (0 < lVar3) { lVar5 = lVar3; } if (lVar5 < lVar4) { lVar4 = lVar5; } if (lVar6 < 0) { lVar6 = lVar7; } puVar2[1] = lVar6; if (lVar6 < lVar4) { lVar6 = lVar4; } puVar2[2] = lVar6; puVar2[3] = 0; FUN_181217ae0(puVar2,param_1 + 0x60); _Memory = *(undefined8 **)(param_1 + 0x78); *(undefined8 **)(param_1 + 0x78) = puVar2; if (_Memory != (undefined8 *)0x0) { if ((LPCVOID)*_Memory != (LPCVOID)0x0) { UnmapViewOfFile((LPCVOID)*_Memory); } if ((HANDLE)_Memory[3] != (HANDLE)0x0) { CloseHandle((HANDLE)_Memory[3]); } /* WARNING: Subroutine does not return */ free(_Memory); } _Memory_00 = *(longlong **)(param_1 + 0x78); if (*_Memory_00 == 0) { *(undefined8 *)(param_1 + 0x78) = 0; if (_Memory_00 != (longlong *)0x0) { if ((LPCVOID)*_Memory_00 != (LPCVOID)0x0) { UnmapViewOfFile((LPCVOID)*_Memory_00); } if ((HANDLE)_Memory_00[3] != (HANDLE)0x0) { CloseHandle((HANDLE)_Memory_00[3]); } /* WARNING: Subroutine does not return */ free(_Memory_00); } } else { iVar1 = *(int *)(param_1 + 0x90); lVar4 = (_Memory_00[2] - *(longlong *)(param_1 + 0x80)) / (longlong)iVar1; lVar5 = (((longlong)(iVar1 + -1) - *(longlong *)(param_1 + 0x80)) + _Memory_00[1]) / (longlong)iVar1; lVar6 = *(longlong *)(param_1 + 0x18); if (lVar4 < *(longlong *)(param_1 + 0x18)) { lVar6 = lVar4; } if (0 < lVar5) { lVar7 = lVar5; } lVar4 = lVar7; if (lVar7 < lVar6) { lVar4 = lVar6; } *(longlong *)(param_1 + 0x68) = lVar7; *(longlong *)(param_1 + 0x70) = lVar4; } LAB_1813af00d: return *(longlong *)(param_1 + 0x78) != 0; } ############ FUN_ 1813b0120 size=323 ############ longlong FUN_1813b0120(longlong *param_1,undefined8 param_2) { undefined8 *puVar1; longlong *plVar2; code *pcVar3; char cVar4; undefined8 uVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; undefined8 *local_40; int local_34; puVar8 = (undefined8 *)*param_1; puVar1 = puVar8 + *(int *)((longlong)param_1 + 0xc); while( true ) { if (puVar8 == puVar1) { return 0; } plVar2 = (longlong *)*puVar8; pcVar3 = *(code **)(*plVar2 + 0x10); if (pcVar3 == .?AV?$Soothe2ModuleBase@M$01@@::vtbl___AV__Soothe2ModuleBase_M_01__) break; cVar4 = (*pcVar3)(plVar2,param_2); if (cVar4 != '\0') { uVar5 = FUN_1811316e0(0x28); puVar6 = (undefined8 *)FUN_18123efe0(uVar5,param_2); if (*(char *)puVar6[4] == '\0') { lVar7 = (**(code **)(*plVar2 + 0x50))(plVar2,puVar6,1); if (lVar7 != 0) { return lVar7; } } else { (**(code **)*puVar6)(puVar6,1); } } puVar8 = puVar8 + 1; } (**(code **)(*plVar2 + 8))(plVar2,&local_40); puVar1 = local_40 + local_34; puVar8 = local_40; while( true ) { if (puVar8 == puVar1) { FUN_180488c50(&local_40); /* WARNING: Subroutine does not return */ free(local_40); } cVar4 = FUN_18123fe10(param_2,*puVar8); if (cVar4 != '\0') break; puVar8 = puVar8 + 1; } FUN_180488c50(&local_40); /* WARNING: Subroutine does not return */ free(local_40); } ############ FUN_ 1813b2e50 size=474 ############ undefined8 * FUN_1813b2e50(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; longlong *plVar3; undefined8 *puVar4; longlong *plVar5; uint *puVar6; longlong local_res18; longlong local_res20; undefined4 uVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; uVar7 = 0; if (*(char *)*param_2 == '\0') { *param_1 = 0; return param_1; } plVar3 = (longlong *)FUN_180553f00(); if (*(code **)(*plVar3 + 0x20) == FUN_180552af0) { local_res18 = FUN_1811316e0(0x18); plVar3 = (longlong *)FUN_180553670(local_res18,plVar3,param_2,param_4,uVar7,uVar8); } else { plVar3 = (longlong *)(**(code **)(*plVar3 + 0x20))(plVar3,param_2); } puVar4 = (undefined8 *)FUN_1811316e0(0x250); plVar5 = (longlong *)(**(code **)(*plVar3 + 0x10))(plVar3,&local_res20); FUN_18049c4e0(&local_res18,"midi out"); FUN_18122b770(puVar4,&local_res18); puVar6 = (uint *)(local_res18 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } *puVar4 = juce::MidiOutput::vftable; lVar2 = *plVar5; puVar4[0x40] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar2 = *param_2; puVar4[0x41] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } puVar4[0x42] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(puVar4 + 0x43)); puVar4[0x49] = 0; puVar6 = (uint *)(local_res20 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar4[0x42] = plVar3; *param_1 = puVar4; return param_1; } ############ FUN_ 1813b3160 size=417 ############ undefined8 * FUN_1813b3160(undefined8 *param_1,longlong *param_2,longlong param_3) { int *piVar1; longlong lVar2; uint uVar3; longlong *plVar4; longlong *plVar5; longlong *plVar6; longlong *plVar7; uint *puVar8; bool bVar9; longlong local_res20; undefined8 uVar10; uVar10 = 0xfffffffffffffffe; if ((*(char *)*param_2 == '\0') || (param_3 == 0)) { *param_1 = 0; } else { plVar4 = (longlong *)FUN_1811316e0(0x18); *plVar4 = (longlong)&DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } lVar2 = *param_2; plVar4[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } plVar4[2] = 0; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } plVar6 = plVar4; plVar7 = plVar4; plVar5 = (longlong *)FUN_180553f00(); plVar6 = (longlong *) (**(code **)(*plVar5 + 0x18))(plVar5,plVar4,param_2,param_3,plVar6,uVar10,plVar7); plVar7 = (longlong *)(**(code **)(*plVar6 + 0x10))(plVar6,&local_res20); if ((*(uint *)(*plVar7 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar7 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar2 = *plVar4; *plVar4 = *plVar7; UNLOCK(); puVar8 = (uint *)(lVar2 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_res20 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } plVar4[2] = (longlong)plVar6; *param_1 = plVar4; } return param_1; } ############ FUN_ 1813b3380 size=42 ############ void FUN_1813b3380(void) { undefined8 uVar1; uVar1 = FUN_1811316e0(0x90); FUN_180552040(uVar1); return; } ############ FUN_ 1813b45f0 size=381 ############ undefined8 * FUN_1813b45f0(char param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; undefined8 *dwNewLong; uint uVar1; int iVar2; undefined8 *puVar3; undefined8 *local_res10; undefined8 *local_res18; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; if (param_1 != '\0') { return (undefined8 *)0x0; } iVar2 = FUN_181216340(); if (0x202 < iVar2) { puVar3 = (undefined8 *)FUN_1811316e0(0xa8); local_res18 = puVar3; FUN_18049c4e0(&local_res10,"Windows Audio"); *puVar3 = juce::AudioIODeviceType::vftable; puVar3[1] = local_res10; _Memory = (uint *)(local_res10 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar3[2] = 0; puVar3[3] = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } dwNewLong = puVar3 + 4; puVar3[5] = 0xffffffffffffffff; *(undefined4 *)(puVar3 + 6) = 0; *dwNewLong = juce::DeviceChangeDetector::vftable; local_res10 = dwNewLong; FUN_1804cf280(puVar3 + 7,L"Windows Audio",FUN_1804cf5b0,param_4,uVar4); SetWindowLongPtrW((HWND)puVar3[8],-0x15,(LONG_PTR)dwNewLong); *puVar3 = juce::WasapiClasses::WASAPIAudioIODeviceType::vftable; *dwNewLong = juce::WasapiClasses::WASAPIAudioIODeviceType::vftable; puVar3[9] = 0; puVar3[10] = 0; puVar3[0xb] = 0; puVar3[0xc] = 0; puVar3[0xd] = 0; puVar3[0xe] = 0; puVar3[0xf] = 0; puVar3[0x10] = 0; *(undefined2 *)(puVar3 + 0x11) = 0; puVar3[0x12] = 0; puVar3[0x13] = 0; puVar3[0x14] = 0; return puVar3; } return (undefined8 *)0x0; } ############ FUN_ 1813b7430 size=2444 ############ void FUN_1813b7430(longlong param_1) { LPCRITICAL_SECTION p_Var1; uint uVar2; void *_Memory; longlong lVar3; char cVar4; int iVar5; int iVar6; undefined8 *puVar7; longlong lVar8; undefined8 uVar9; undefined8 uVar10; longlong *plVar11; longlong *plVar12; uint *puVar13; longlong *plVar14; longlong *plVar15; undefined4 uVar16; undefined8 *local_res8; undefined8 *local_res10; longlong local_res18; longlong local_res20; longlong local_160; longlong local_158; longlong local_150; longlong *local_148; int local_13c; longlong local_138; longlong local_130; longlong local_128; longlong local_120; longlong local_118; longlong local_110; undefined1 *local_108; undefined1 *local_100; char *local_f8; char *local_f0; char *local_e8; char *local_e0; char *local_d8; longlong local_d0; longlong local_c8; undefined *local_c0; longlong local_b8; longlong local_b0; char *local_a8; char *local_a0; longlong local_98; undefined8 local_90; LPCRITICAL_SECTION local_88; LPCRITICAL_SECTION local_80; LPCRITICAL_SECTION local_78; LPCRITICAL_SECTION local_70; LPCRITICAL_SECTION local_68; LPCRITICAL_SECTION local_60; LPCRITICAL_SECTION local_58; LPCRITICAL_SECTION local_50; local_90 = 0xfffffffffffffffe; puVar7 = (undefined8 *)FUN_1811316e0(0x20); *puVar7 = 0; puVar7[1] = 0; puVar7[2] = 0; local_res8 = puVar7; local_res10 = puVar7 + 3; lVar8 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_88 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar8); local_f8 = "DEVICESETUP"; FUN_181211b90(puVar7 + 3,lVar8,&local_f8); LeaveCriticalSection(p_Var1); _Memory = *(void **)(param_1 + 0x108); *(undefined8 **)(param_1 + 0x108) = puVar7; if (_Memory != (void *)0x0) { FUN_1812472e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } lVar8 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_80 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar8); local_f0 = "deviceType"; FUN_181211b90(&local_res8,lVar8,&local_f0); LeaveCriticalSection(p_Var1); FUN_181246b70(*(undefined8 *)(param_1 + 0x108),&local_res8,param_1 + 0x100); puVar13 = (uint *)(local_res8 + -2); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } lVar8 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_78 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar8); local_e8 = "audioOutputDeviceName"; FUN_181211b90(&local_res10,lVar8,&local_e8); LeaveCriticalSection(p_Var1); FUN_181246b70(*(undefined8 *)(param_1 + 0x108),&local_res10,param_1 + 0x58); puVar13 = (uint *)(local_res10 + -2); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } lVar8 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_70 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar8); local_e0 = "audioInputDeviceName"; FUN_181211b90(&local_res18,lVar8,&local_e0); LeaveCriticalSection(p_Var1); FUN_181246b70(*(undefined8 *)(param_1 + 0x108),&local_res18,param_1 + 0x60); puVar13 = (uint *)(local_res18 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } if (*(longlong *)(param_1 + 0xd8) != 0) { lVar8 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_68 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar8); local_d8 = "audioDeviceRate"; FUN_181211b90(&local_res20,lVar8,&local_d8); LeaveCriticalSection(p_Var1); uVar10 = *(undefined8 *)(param_1 + 0x108); uVar16 = (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x70))(); uVar9 = FUN_18122eaa0(&local_d0,uVar16); FUN_181246b70(uVar10,&local_res20,uVar9); puVar13 = (uint *)(local_d0 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_res20 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } plVar11 = *(longlong **)(param_1 + 0xd8); iVar5 = (**(code **)(*plVar11 + 0x28))(); iVar6 = (**(code **)(*plVar11 + 0x68))(plVar11); if (iVar5 != iVar6) { lVar8 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_60 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar8); local_a0 = "audioDeviceBufferSize"; FUN_181211b90(&local_160,lVar8,&local_a0); LeaveCriticalSection(p_Var1); uVar10 = *(undefined8 *)(param_1 + 0x108); uVar16 = (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x68))(); FUN_181220aa0(uVar10,&local_160,uVar16); puVar13 = (uint *)(local_160 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } } if (*(char *)(param_1 + 0xa0) == '\0') { lVar8 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_58 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar8); local_a8 = "audioDeviceInChans"; FUN_181211b90(&local_158,lVar8,&local_a8); LeaveCriticalSection(p_Var1); uVar10 = FUN_18123bd40(param_1 + 0x78,&local_98); FUN_181246b70(*(undefined8 *)(param_1 + 0x108),&local_158,uVar10); puVar13 = (uint *)(local_98 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_158 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } } if (*(char *)(param_1 + 0xd0) == '\0') { uVar10 = FUN_18122bf10(); FUN_18122c480(uVar10,&local_138,"audioDeviceOutChans"); uVar10 = FUN_18123bd40(param_1 + 0xa8,&local_c8); FUN_181246b70(*(undefined8 *)(param_1 + 0x108),&local_138,uVar10); puVar13 = (uint *)(local_c8 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_138 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } } } plVar11 = *(longlong **)(param_1 + 0x250); plVar15 = *(longlong **)(param_1 + 600); if (plVar11 != plVar15) { local_c0 = &DAT_18225eb94; do { uVar10 = FUN_1812469a0(*(undefined8 *)(param_1 + 0x108),"MIDIINPUT"); lVar8 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_50 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar8); FUN_181211b90(&local_150,lVar8,&local_c0); LeaveCriticalSection(p_Var1); local_b8 = *(longlong *)*plVar11; puVar13 = (uint *)(local_b8 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); *puVar13 = *puVar13 + 1; UNLOCK(); } FUN_181246b70(uVar10,&local_150,&local_b8); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_150 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } uVar9 = FUN_18122bf10(); FUN_18122c480(uVar9,&local_130,"identifier"); local_b0 = *(longlong *)(*plVar11 + 8); puVar13 = (uint *)(local_b0 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); *puVar13 = *puVar13 + 1; UNLOCK(); } FUN_181246b70(uVar10,&local_130,&local_b0); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_130 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } plVar11 = plVar11 + 1; } while (plVar11 != plVar15); } if (*(int *)(param_1 + 0x24c) < 1) { local_108 = &DAT_1821dbf98; local_100 = &DAT_1821dbf98; cVar4 = FUN_180549a20(param_1 + 0x278,&local_108); FUN_1804d1090(&local_108); if (cVar4 == '\0') { uVar10 = FUN_18122bf10(); FUN_18122c480(uVar10,&local_118,"defaultMidiOutput"); FUN_181246b70(*(undefined8 *)(param_1 + 0x108),&local_118,param_1 + 0x278); puVar13 = (uint *)(local_118 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } uVar10 = FUN_18122bf10(); FUN_18122c480(uVar10,&local_110,"defaultMidiOutputDevice"); FUN_181246b70(*(undefined8 *)(param_1 + 0x108),&local_110,param_1 + 0x280); puVar13 = (uint *)(local_110 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } } return; } plVar11 = (longlong *)FUN_180553f00(); (**(code **)(*plVar11 + 8))(plVar11,&local_148,1); plVar11 = *(longlong **)(param_1 + 0x240); plVar12 = plVar11 + (longlong)*(int *)(param_1 + 0x24c) * 2; plVar15 = local_148; do { if (plVar11 == plVar12) { FUN_180555c90(&local_148); /* WARNING: Subroutine does not return */ free(local_148); } lVar8 = (longlong)local_13c; if (plVar15 != plVar15 + lVar8 * 2) { lVar3 = *plVar11; plVar14 = plVar15; do { if (lVar3 == *plVar14) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(lVar3,*plVar14); } if (iVar5 == 0) { if (plVar11[1] == plVar14[1]) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(plVar11[1],plVar14[1]); } if (iVar5 == 0) goto LAB_1813b7ca4; } plVar14 = plVar14 + 2; } while (plVar14 != plVar15 + lVar8 * 2); } uVar10 = FUN_1812469a0(*(undefined8 *)(param_1 + 0x108),"MIDIINPUT"); uVar9 = FUN_18122bf10(); FUN_18122c480(uVar9,&local_128,&DAT_18225e804); FUN_181246b70(uVar10,&local_128,plVar11); puVar13 = (uint *)(local_128 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } uVar9 = FUN_18122bf10(); FUN_18122c480(uVar9,&local_120,"identifier"); FUN_181246b70(uVar10,&local_120,plVar11 + 1); puVar13 = (uint *)(local_120 + -0x10); plVar15 = local_148; if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } LAB_1813b7ca4: plVar11 = plVar11 + 2; } while( true ); } ############ FUN_ 1813b9f50 size=382 ############ void FUN_1813b9f50(longlong param_1,longlong *param_2) { longlong *plVar1; void *_Dst; undefined8 uVar2; longlong *plVar3; int iVar4; longlong lVar5; longlong lVar6; lVar5 = *param_2; if (lVar5 != 0) { lVar6 = 0; *param_2 = 0; if (*(int *)(param_1 + 0x40) < *(int *)(param_1 + 0x44) + 1) { FUN_18047cb30(param_1 + 0x38); } iVar4 = *(int *)(param_1 + 0x44); *(int *)(param_1 + 0x44) = iVar4 + 1; *(longlong *)(*(longlong *)(param_1 + 0x38) + (longlong)iVar4 * 8) = lVar5; _Dst = (void *)FUN_1811316e0(0x80); memset(_Dst,0,0x80); uVar2 = FUN_180549b00(_Dst); iVar4 = *(int *)(param_1 + 0x54) + 1; if (*(int *)(param_1 + 0x50) < iVar4) { FUN_18047cb30(param_1 + 0x48,*(int *)(param_1 + 0x54) + 9 + iVar4 / 2 & 0xfffffff8); } iVar4 = *(int *)(param_1 + 0x54); *(int *)(param_1 + 0x54) = iVar4 + 1; *(undefined8 *)(*(longlong *)(param_1 + 0x48) + (longlong)iVar4 * 8) = uVar2; lVar5 = lVar6; if (*(longlong *)(param_1 + 0x328) != 0) { lVar5 = *(longlong *)(param_1 + 0x328) + 0x10; } if (0 < *(int *)(param_1 + 0x44)) { lVar6 = *(longlong *) (*(longlong *)(param_1 + 0x38) + (longlong)(*(int *)(param_1 + 0x44) + -1) * 8); } if (lVar5 != 0) { plVar3 = *(longlong **)(lVar6 + 0x10); iVar4 = *(int *)(lVar6 + 0x1c); plVar1 = plVar3 + iVar4; for (; plVar3 != plVar1; plVar3 = plVar3 + 1) { if (lVar5 == *plVar3) goto LAB_1813ba0a2; } if (*(int *)(lVar6 + 0x18) < iVar4 + 1) { FUN_18047cb30(lVar6 + 0x10,iVar4 + 9 + (iVar4 + 1) / 2 & 0xfffffff8); } iVar4 = *(int *)(lVar6 + 0x1c); *(int *)(lVar6 + 0x1c) = iVar4 + 1; *(longlong *)(*(longlong *)(lVar6 + 0x10) + (longlong)iVar4 * 8) = lVar5; } } LAB_1813ba0a2: param_2 = (longlong *)*param_2; if (param_2 != (longlong *)0x0) { (**(code **)(*param_2 + 0x30))(param_2,1); } return; } ############ FUN_ 1813b8f10 size=2810 ############ void FUN_1813b8f10(longlong param_1,undefined8 *param_2,longlong param_3,char param_4, undefined8 param_5,longlong param_6) { int *piVar1; longlong *plVar2; int iVar3; void *_Memory; char *pcVar4; char cVar5; int iVar6; uint uVar7; undefined8 *puVar8; longlong *plVar9; undefined8 uVar10; longlong lVar11; undefined8 *puVar12; longlong lVar13; longlong *plVar14; longlong *plVar15; uint *puVar16; longlong *plVar17; longlong lVar18; longlong *plVar19; bool bVar20; undefined1 auStack_1e8 [32]; undefined8 local_1c8; undefined1 local_1c0; undefined8 local_1b8; undefined8 local_1b0; longlong local_1a8; undefined4 local_1a0; char *local_198; char *local_190; longlong local_188; undefined8 *local_180; longlong local_178; longlong local_170; longlong local_168; longlong local_160; longlong local_158; longlong *local_150; int local_144; longlong *local_140; int local_134; longlong local_130; longlong local_128; longlong local_120; longlong local_118; longlong local_110; undefined8 local_108; undefined8 *local_100; undefined8 *local_f8; undefined8 local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; char *local_c8; char *local_c0; undefined8 local_b8; undefined4 local_b0; undefined8 local_a8; undefined8 local_a0; undefined8 local_98; undefined8 local_90; undefined4 local_88; undefined1 local_84; undefined1 local_80; undefined8 local_78; undefined8 local_70; undefined8 local_68; undefined8 local_60; undefined4 local_58; undefined1 local_54; undefined1 local_50; ulonglong local_48; local_108 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1e8; local_1a0 = 0; local_1a8 = param_1; local_188 = param_3; local_180 = param_2; local_100 = param_2; puVar8 = (undefined8 *)FUN_1811316e0(0x20); *puVar8 = 0; puVar8[1] = 0; puVar8[2] = 0; lVar13 = *(longlong *)(param_3 + 0x18); puVar8[3] = lVar13; if ((*(uint *)(lVar13 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar13 + -0x10) = *(int *)(lVar13 + -0x10) + 1; UNLOCK(); } local_f8 = puVar8; FUN_1812217a0(puVar8,param_3); _Memory = *(void **)(param_1 + 0x108); *(undefined8 **)(param_1 + 0x108) = puVar8; if (_Memory != (void *)0x0) { FUN_1812472e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } *local_180 = &DAT_1821dbf98; local_1a0 = 1; local_c8 = ""; local_c0 = ""; local_b8 = 0; local_b0 = 0; local_a8 = 0; local_90 = 4; local_88 = 0xffffffff; local_84 = 0; local_a0 = 0; local_98 = 0; local_80 = 1; local_78 = 0; local_60 = 4; local_58 = 0xffffffff; local_54 = 0; local_70 = 0; local_68 = 0; local_50 = 1; if (param_6 != 0) { FUN_180549c30(&local_c8,param_6); } lVar13 = local_188; for (puVar8 = *(undefined8 **)(local_188 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_f0 = puVar8[1]; iVar6 = FUN_18048cbc0(local_f0,"audioDeviceName"); if (iVar6 == 0) { puVar8 = puVar8 + 2; goto LAB_1813b90be; } } puVar8 = (undefined8 *)FUN_181220d40(); LAB_1813b90be: if (*(char *)*puVar8 == '\0') { plVar9 = (longlong *)FUN_181246db0(lVar13,"audioInputDeviceName"); if ((*(uint *)(*plVar9 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar9 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } pcVar4 = (char *)*plVar9; LOCK(); UNLOCK(); puVar16 = (uint *)(local_c0 + -0x10); local_c0 = pcVar4; if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } plVar9 = (longlong *)FUN_181246db0(lVar13,"audioOutputDeviceName"); if ((*(uint *)(*plVar9 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar9 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); UNLOCK(); puVar16 = (uint *)(local_c8 + -0x10); uVar7 = *puVar16; local_c8 = (char *)*plVar9; } else { plVar9 = (longlong *)FUN_181246db0(lVar13,"audioDeviceName"); if ((*(uint *)(*plVar9 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar9 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } pcVar4 = (char *)*plVar9; LOCK(); UNLOCK(); puVar16 = (uint *)(local_c8 + -0x10); local_c8 = pcVar4; if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } if ((*(uint *)(pcVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar4 + -0x10) = *(int *)(pcVar4 + -0x10) + 1; UNLOCK(); } LOCK(); UNLOCK(); puVar16 = (uint *)(local_c0 + -0x10); uVar7 = *puVar16; local_c0 = pcVar4; } lVar18 = local_1a8; if ((uVar7 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } plVar9 = (longlong *)(local_1a8 + 0x100); uVar10 = FUN_181246db0(lVar13,"deviceType"); FUN_181249460(plVar9,uVar10); FUN_1813b8c30(lVar18); plVar15 = *(longlong **)(lVar18 + 0x38); plVar14 = plVar15 + *(int *)(lVar18 + 0x44); if (plVar15 != plVar14) { lVar13 = *plVar9; do { lVar11 = *plVar15; if (*(longlong *)(lVar11 + 8) == lVar13) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*(undefined8 *)(lVar11 + 8),lVar13); } lVar18 = local_1a8; if (iVar6 == 0) { if (lVar11 != 0) goto LAB_1813b9321; break; } plVar15 = plVar15 + 1; } while (plVar15 != plVar14); } FUN_1813b8c30(lVar18); plVar15 = *(longlong **)(lVar18 + 0x38); plVar14 = plVar15 + *(int *)(lVar18 + 0x44); for (; plVar15 != plVar14; plVar15 = plVar15 + 1) { lVar13 = *plVar15; if (((*local_c0 != '\0') && (cVar5 = FUN_1813b9e20(lVar13,1,&local_c0), cVar5 != '\0')) || ((*local_c8 != '\0' && (cVar5 = FUN_1813b9e20(lVar13,0,&local_c8), cVar5 != '\0')))) { lVar18 = local_1a8; if (lVar13 != 0) { FUN_181249460(plVar9,lVar13 + 8); lVar18 = local_1a8; goto LAB_1813b9321; } break; } lVar18 = local_1a8; } if ((0 < *(int *)(lVar18 + 0x44)) && (**(longlong **)(lVar18 + 0x38) != 0)) { FUN_181249460(plVar9,**(longlong **)(lVar18 + 0x38) + 8); } LAB_1813b9321: lVar13 = local_188; local_b0 = FUN_181220bd0(local_188,"audioDeviceBufferSize",local_b0); local_b8 = FUN_181246d40(lVar13,"audioDeviceRate",local_b8); FUN_18049c4e0(&local_170,&DAT_1821e4804); lVar11 = FUN_181220ce0(lVar13,"audioDeviceInChans"); if (lVar11 == 0) { local_178 = local_170; puVar16 = (uint *)(local_170 + -0x10); uVar7 = *puVar16; } else { local_178 = *(longlong *)(lVar11 + 0x10); puVar16 = (uint *)(local_178 + -0x10); uVar7 = *puVar16; } if ((uVar7 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } FUN_18123bad0(&local_a8,local_178,2); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(local_170 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } FUN_18049c4e0(&local_168,&DAT_1821e47ec); puVar8 = (undefined8 *)FUN_181220c40(lVar13,&local_130,"audioDeviceOutChans",&local_168); local_e8 = *puVar8; FUN_18123bad0(&local_78,local_e8,2); puVar16 = (uint *)(local_130 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(local_168 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } cVar5 = FUN_181246e10(lVar13,"audioDeviceInChans"); local_80 = cVar5 == '\0'; cVar5 = FUN_181246e10(lVar13,"audioDeviceOutChans"); local_50 = cVar5 == '\0'; puVar12 = (undefined8 *)FUN_1813b8160(lVar18,&local_128,&local_c8,1); puVar8 = local_180; local_e0 = *local_180; *local_180 = *puVar12; *puVar12 = local_e0; puVar16 = (uint *)(local_128 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } if ((*(char *)*local_180 != '\0') && (param_4 != '\0')) { local_1b0 = 0; local_1b8 = param_5; local_1c0 = 0; local_1c8 = 0; puVar12 = (undefined8 *) FUN_1813b9d70(lVar18,&local_120,*(undefined4 *)(lVar18 + 0xf0), *(undefined4 *)(lVar18 + 0xf4)); local_d8 = *puVar8; *puVar8 = *puVar12; *puVar12 = local_d8; puVar16 = (uint *)(local_120 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } } plVar9 = (longlong *)(lVar18 + 0x240); FUN_180555c90(plVar9); FUN_180555cf0(plVar9,0); FUN_1805566d0(*(undefined8 *)(lVar18 + 0x250),*(undefined8 *)(lVar18 + 600)); *(undefined8 *)(lVar18 + 600) = *(undefined8 *)(lVar18 + 0x250); for (lVar13 = FUN_181246a60(lVar13,"MIDIINPUT"); lVar13 != 0; lVar13 = FUN_181220dc0(lVar13,"MIDIINPUT")) { plVar14 = (longlong *)FUN_181246db0(lVar13,"identifier"); plVar15 = (longlong *)FUN_181246db0(lVar13,&DAT_18225e294); local_118 = *plVar15; if ((*(uint *)(local_118 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_118 + -0x10) = *(int *)(local_118 + -0x10) + 1; UNLOCK(); } local_110 = *plVar14; if ((*(uint *)(local_110 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_110 + -0x10) = *(int *)(local_110 + -0x10) + 1; UNLOCK(); } iVar3 = *(int *)(lVar18 + 0x24c); iVar6 = iVar3 + 1; if (*(int *)(lVar18 + 0x248) < iVar6) { if (iVar6 < 0) { iVar6 = iVar3 + 2; } FUN_180555cf0(plVar9,iVar3 + 9 + (iVar6 >> 1) & 0xfffffff8); } iVar6 = *(int *)(lVar18 + 0x24c); *(int *)(lVar18 + 0x24c) = iVar6 + 1; plVar14 = (longlong *)((longlong)iVar6 * 0x10 + *plVar9); *plVar14 = local_118; plVar14[1] = local_110; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar20 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar20) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar20 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar20) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } plVar14 = (longlong *)FUN_180553f00(); (**(code **)(*plVar14 + 8))(plVar14,&local_140,1); local_1a0 = 5; plVar9 = (longlong *)*plVar9; plVar15 = plVar9 + (longlong)*(int *)(lVar18 + 0x24c) * 2; plVar14 = local_140; for (; plVar9 != plVar15; plVar9 = plVar9 + 2) { plVar17 = plVar14 + (longlong)local_134 * 2; local_140 = plVar14; if (plVar14 != plVar17) { lVar13 = plVar9[1]; plVar19 = plVar14 + 1; do { if (*plVar19 == lVar13) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*plVar19,lVar13); } if (iVar6 == 0) { FUN_1813b6960(local_1a8,plVar9 + 1); goto LAB_1813b9836; } plVar2 = plVar19 + 1; plVar19 = plVar19 + 2; } while (plVar2 != plVar17); if (plVar14 != plVar17) { lVar13 = *plVar9; do { if (*plVar14 == lVar13) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*plVar14,lVar13); } if (iVar6 == 0) { local_198 = (char *)plVar14[1]; if ((*(uint *)(local_198 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_198 + -0x10) = *(int *)(local_198 + -0x10) + 1; UNLOCK(); } goto LAB_1813b97eb; } plVar14 = plVar14 + 2; } while (plVar14 != plVar17); } } local_198 = ""; LAB_1813b97eb: if (*local_198 != '\0') { FUN_1813b6960(local_1a8,&local_198); } puVar16 = (uint *)(local_198 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } LAB_1813b9836: plVar14 = local_140; } plVar9 = (longlong *)FUN_181246db0(local_188,"defaultMidiOutputDevice"); plVar14 = (longlong *)FUN_181246db0(local_188,"defaultMidiOutput"); local_160 = *plVar14; if ((*(uint *)(local_160 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_160 + -0x10) = *(int *)(local_160 + -0x10) + 1; UNLOCK(); } local_158 = *plVar9; if ((*(uint *)(local_158 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_158 + -0x10) = *(int *)(local_158 + -0x10) + 1; UNLOCK(); } plVar9 = (longlong *)FUN_180553f00(); (**(code **)(*plVar9 + 8))(plVar9,&local_150,0); plVar9 = local_150; lVar13 = local_158; local_1a0 = 0xd; plVar14 = local_150 + (longlong)local_144 * 2; if (local_150 != plVar14) { plVar15 = local_150 + 1; do { if (*plVar15 == lVar13) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*plVar15,lVar13); } lVar18 = local_160; if (iVar6 == 0) { FUN_1813b63e0(local_1a8,&local_158); goto LAB_1813b99d7; } plVar17 = plVar15 + 1; plVar15 = plVar15 + 2; } while (plVar17 != plVar14); for (; plVar9 != plVar14; plVar9 = plVar9 + 2) { if (*plVar9 == lVar18) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*plVar9,lVar18); } if (iVar6 == 0) { local_190 = (char *)plVar9[1]; if ((*(uint *)(local_190 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_190 + -0x10) = *(int *)(local_190 + -0x10) + 1; UNLOCK(); } goto LAB_1813b998b; } } } local_190 = ""; LAB_1813b998b: if (*local_190 != '\0') { FUN_1813b63e0(local_1a8,&local_190); } puVar16 = (uint *)(local_190 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } LAB_1813b99d7: FUN_180555c90(&local_150); /* WARNING: Subroutine does not return */ free(local_150); } ############ FUN_ 1813ba0e0 size=180 ############ void FUN_1813ba0e0(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; int iVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; lVar1 = FUN_1813b45f0(0); if (lVar1 != 0) { iVar3 = *(int *)((longlong)param_2 + 0xc) + 1; if ((int)param_2[1] < iVar3) { FUN_18047cb30(param_2,*(int *)((longlong)param_2 + 0xc) + 9 + iVar3 / 2 & 0xfffffff8,param_3, param_4,uVar4); } iVar3 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar3 + 1; *(longlong *)(*param_2 + (longlong)iVar3 * 8) = lVar1; } uVar2 = FUN_1811316e0(0x90); lVar1 = FUN_180552040(uVar2); if (lVar1 != 0) { iVar3 = *(int *)((longlong)param_2 + 0xc) + 1; if ((int)param_2[1] < iVar3) { FUN_18047cb30(param_2,*(int *)((longlong)param_2 + 0xc) + 9 + iVar3 / 2 & 0xfffffff8,param_3, param_4,uVar4); } iVar3 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar3 + 1; *(longlong *)(*param_2 + (longlong)iVar3 * 8) = lVar1; } return; } ############ FUN_ 1813ba200 size=764 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813ba200(longlong param_1) { int *piVar1; longlong *plVar2; longlong *plVar3; longlong lVar4; longlong lVar5; undefined8 uVar6; char cVar7; int iVar8; uint uVar9; undefined4 uVar10; undefined8 *puVar11; uint *_Memory; longlong *plVar12; bool bVar13; undefined1 auStack_f8 [32]; longlong local_d8; longlong local_d0; longlong *local_c8; int local_bc; undefined8 *local_b8; undefined8 *local_b0; longlong local_a8; longlong local_a0; undefined8 local_98; undefined8 local_90; void *local_80 [10]; ulonglong local_30; local_98 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_f8; puVar11 = (undefined8 *)0x0; if (*(longlong *)(param_1 + 0xd8) != 0) { plVar12 = *(longlong **)(param_1 + 0x38); plVar2 = plVar12 + *(int *)(param_1 + 0x44); for (; plVar12 != plVar2; plVar12 = plVar12 + 1) { plVar3 = (longlong *)*plVar12; iVar8 = 0; if (*(longlong *)(*(longlong *)(param_1 + 0xd8) + 0x10) != plVar3[1]) { iVar8 = FUN_18048cbc0(*(undefined8 *)(*(longlong *)(param_1 + 0xd8) + 0x10),plVar3[1]); } if (iVar8 == 0) { (**(code **)(*plVar3 + 8))(plVar3,&local_c8,0); plVar2 = local_c8 + local_bc; if (local_c8 != plVar2) { lVar4 = *(longlong *)(*(longlong *)(param_1 + 0xd8) + 8); plVar12 = local_c8; do { iVar8 = 0; if (lVar4 != *plVar12) { iVar8 = FUN_18048cbc0(lVar4,*plVar12); } if (iVar8 == 0) { FUN_180488c50(&local_c8); /* WARNING: Subroutine does not return */ free(local_c8); } plVar12 = plVar12 + 1; } while (plVar12 != plVar2); } FUN_180488c50(&local_c8); /* WARNING: Subroutine does not return */ free(local_c8); } } FUN_1813b7dd0(param_1); lVar4 = *(longlong *)(param_1 + 0x108); if (lVar4 != 0) { puVar11 = (undefined8 *)FUN_1811316e0(0x20); *puVar11 = 0; puVar11[1] = 0; puVar11[2] = 0; lVar5 = *(longlong *)(lVar4 + 0x18); puVar11[3] = lVar5; if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } local_b0 = puVar11; FUN_1812217a0(puVar11,lVar4); } local_b8 = puVar11; if (puVar11 == (undefined8 *)0x0) { FUN_1813b9a70(param_1,&local_a0,param_1 + 0xf8,param_1 + 0x58); _Memory = (uint *)(local_a0 + -0x10); uVar9 = *_Memory; } else { local_d0 = param_1 + 0x58; local_d8 = param_1 + 0xf8; FUN_1813b8f10(param_1,&local_a8,puVar11,1); _Memory = (uint *)(local_a8 + -0x10); uVar9 = *_Memory; } puVar11 = local_b8; if ((uVar9 & 0x30000000) == 0) { LOCK(); uVar9 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (local_b8 != (undefined8 *)0x0) { FUN_1812472e0(local_b8); /* WARNING: Subroutine does not return */ free(puVar11); } if (*(longlong **)(param_1 + 0xd8) != (longlong *)0x0) { uVar6 = (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x70))(); *(undefined8 *)(param_1 + 0x68) = uVar6; uVar10 = (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x68))(); *(undefined4 *)(param_1 + 0x70) = uVar10; puVar11 = (undefined8 *) (**(code **)(**(longlong **)(param_1 + 0xd8) + 0x88)) (*(longlong **)(param_1 + 0xd8),local_80); local_90 = *(undefined8 *)(param_1 + 0x78); *(undefined8 *)(param_1 + 0x78) = *puVar11; *puVar11 = local_90; uVar6 = puVar11[2]; *(undefined8 *)(param_1 + 0x80) = puVar11[1]; *(undefined8 *)(param_1 + 0x88) = uVar6; *(undefined8 *)(param_1 + 0x90) = puVar11[3]; *(undefined4 *)(param_1 + 0x98) = *(undefined4 *)(puVar11 + 4); *(undefined1 *)(param_1 + 0x9c) = *(undefined1 *)((longlong)puVar11 + 0x24); /* WARNING: Subroutine does not return */ free(local_80[0]); } } if (*(char *)(param_1 + 0x30) != '\0') { piVar1 = (int *)(*(longlong *)(param_1 + 0x10) + 0x18); LOCK(); bVar13 = *piVar1 == 0; if (bVar13) { *piVar1 = 1; } UNLOCK(); if ((bVar13) && (cVar7 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x10)), cVar7 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x18) = 0; UNLOCK(); } } } ############ FUN_ 1813be180 size=187 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813be180(longlong param_1) { undefined8 *puVar1; longlong lVar2; double dVar3; undefined1 auStack_58 [32]; undefined8 local_38; undefined8 local_30; longlong local_28; ushort local_20; ulonglong local_18; local_30 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; dVar3 = *(double *)(param_1 + 0x30) * DAT_1824c4340; lVar2 = *(longlong *)(param_1 + 0x28); _ftime64_s(&local_28); if ((longlong)(local_28 * 1000 + (ulonglong)local_20) <= (longlong)dVar3 + lVar2) { if (DAT_182673700 == 0) { local_38 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_38); } if (*(int *)(DAT_182673700 + 0x88) <= *(int *)(param_1 + 0x38)) { } } puVar1 = (undefined8 *)(param_1 + -0xb0); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } ############ FUN_ 1813bec00 size=1215 ############ void FUN_1813bec00(longlong *param_1) { float fVar1; float fVar2; double dVar3; int iVar4; int iVar5; int iVar6; longlong *plVar7; int iVar8; uint uVar9; ulonglong uVar10; int iVar11; longlong *plVar12; uint uVar13; uint uVar14; ulonglong uVar15; int iVar16; longlong lVar17; int iVar18; double dVar19; uVar9 = 0; iVar16 = ((*(byte *)(param_1 + 0x28) & 1) != 0) + 3; iVar4 = (**(code **)(*param_1 + 0x158))(); dVar3 = DAT_1824c4520; fVar1 = DAT_1824c3d18; if (iVar4 < 1) { iVar18 = 0; } else { iVar18 = ((int)(iVar4 + 7 + (iVar4 + 7 >> 0x1f & 7U)) >> 3) * 0x16 + *(int *)((longlong)param_1 + 0x144); } if ((*(uint *)(param_1 + 0x28) & 8) == 0) { iVar11 = 0; } else { iVar11 = iVar16 * 0x16 + *(int *)((longlong)param_1 + 0x144); iVar6 = SUB84((double)((float)*(int *)((longlong)param_1 + 0x2c) * DAT_1824c3d54) + DAT_1824c4520,0); if (iVar6 < iVar11) { iVar11 = iVar6; } } uVar14 = *(uint *)((longlong)param_1 + 0x144); uVar10 = (ulonglong)uVar14; uVar15 = uVar10; if ((*(uint *)(param_1 + 0x28) & 2) != 0) { uVar13 = uVar14 * 2 + 0x1e; dVar19 = (double)((float)*(int *)((longlong)param_1 + 0x2c) * DAT_1824c3d18) + DAT_1824c4520; uVar15 = (ulonglong)uVar13; if (SUB84(dVar19,0) < (int)uVar13) { uVar15 = (ulonglong)dVar19 & 0xffffffff; } } if (param_1[0x25] != 0) { FUN_18134bfe0(param_1[0x25],uVar10,uVar10,(int)param_1[5] + uVar14 * -2, (int)uVar15 + uVar14 * -2); } if ((*(byte *)(param_1 + 0x28) & 0x10) != 0) { iVar6 = *(int *)((longlong)param_1 + 0x144); iVar5 = SUB84((double)((float)(int)param_1[5] * DAT_1824c3d04) + dVar3,0); iVar8 = 0x32; if (iVar5 < 0x32) { iVar8 = iVar5; } FUN_18134bfe0(param_1[0x23],iVar6,uVar15,(((int)param_1[5] - iVar6) - iVar8) + -4, (((*(int *)((longlong)param_1 + 0x2c) - iVar6) - (int)uVar15) - iVar11) - iVar18); lVar17 = param_1[0x23]; FUN_18134bfe0(param_1[0x24],*(int *)(lVar17 + 0x28) + 4 + *(int *)(lVar17 + 0x20),uVar15, (((int)param_1[5] - *(int *)((longlong)param_1 + 0x144)) - (*(int *)(lVar17 + 0x28) + *(int *)(lVar17 + 0x20))) + -4, *(undefined4 *)(lVar17 + 0x2c)); uVar15 = (ulonglong) (uint)(((*(int *)((longlong)param_1 + 0x2c) - *(int *)((longlong)param_1 + 0x144)) - iVar11) - iVar18); } fVar2 = DAT_1824c3e0c; uVar14 = (uint)uVar15; if ((*(byte *)(param_1 + 0x28) & 8) != 0) { lVar17 = (longlong)iVar16; iVar18 = 4; if (4 < iVar11 / iVar16) { iVar18 = iVar11 / iVar16; } if (lVar17 != 0) { plVar12 = param_1 + 0x1f; do { FUN_18134bfe0(*plVar12,(ulonglong)((double)((float)(int)param_1[5] * fVar1) + dVar3) & 0xffffffff,uVar15, (ulonglong)((double)((float)(int)param_1[5] * fVar2) + dVar3) & 0xffffffff, iVar18 + -2); uVar14 = (int)uVar15 + iVar18; uVar15 = (ulonglong)uVar14; plVar12 = plVar12 + 1; lVar17 = lVar17 + -1; } while (lVar17 != 0); } } if (0 < iVar4) { iVar16 = *(int *)((longlong)param_1 + 0x144); iVar18 = (int)param_1[5] + -0x10; iVar18 = (int)(iVar18 + (iVar18 >> 0x1f & 7U)) >> 3; if (*(int *)((longlong)param_1 + 0x13c) != iVar4) { plVar12 = param_1 + 0x26; FUN_18047cbc0(plVar12); if ((int)param_1[0x27] != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar12); } *(undefined4 *)(param_1 + 0x27) = 0; iVar11 = 0; if (0 < iVar4) { do { plVar7 = (longlong *)FUN_1811316e0(0xc0); plVar7[1] = (longlong)&DAT_1821dbf98; plVar7[2] = (longlong)&DAT_1821dbf98; plVar7[3] = 0; plVar7[4] = 0; plVar7[5] = 0; plVar7[6] = 0; plVar7[7] = 0; plVar7[8] = 0; plVar7[9] = 0; plVar7[10] = 0; plVar7[0xb] = 0; plVar7[0xc] = 0; plVar7[0xd] = 0; plVar7[0xe] = 0; plVar7[0xf] = 0; plVar7[0x10] = 0; plVar7[0x11] = 0; plVar7[0x12] = 0; plVar7[0x13] = 0; plVar7[0x14] = 0; *(undefined4 *)(plVar7 + 0x15) = 0; *(undefined1 *)((longlong)plVar7 + 0xac) = 0; *plVar7 = (longlong)juce::ColourSelector::SwatchComponent::vftable; plVar7[0x16] = (longlong)param_1; *(int *)(plVar7 + 0x17) = iVar11; iVar8 = *(int *)((longlong)param_1 + 0x13c); iVar6 = iVar8 + 1; if ((int)param_1[0x27] < iVar6) { if (iVar6 < 0) { iVar6 = iVar8 + 2; } FUN_18047cb30(plVar12,iVar8 + 9 + (iVar6 >> 1) & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0x13c); *(int *)((longlong)param_1 + 0x13c) = iVar6 + 1; *(longlong **)(*plVar12 + (longlong)iVar6 * 8) = plVar7; (**(code **)(*plVar7 + 0x58))(plVar7,1); FUN_181343cc0(param_1,plVar7,0xffffffff); iVar11 = iVar11 + 1; } while (iVar11 < iVar4); } } iVar4 = 8; if (0 < *(int *)((longlong)param_1 + 0x13c)) { lVar17 = 0; iVar16 = uVar14 + iVar16 + 2; do { FUN_18134bfe0(*(undefined8 *)(lVar17 + param_1[0x26]),iVar4 + 2,iVar16,iVar18 + -4,0x12); uVar9 = uVar9 + 1; uVar14 = uVar9 & 0x80000007; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffff8) + 1; } if (uVar14 == 0) { iVar4 = 8; iVar16 = iVar16 + 0x16; } else { iVar4 = iVar4 + iVar18; } lVar17 = lVar17 + 8; } while ((int)uVar9 < *(int *)((longlong)param_1 + 0x13c)); } } return; } ############ FUN_ 1813bf870 size=153 ############ void FUN_1813bf870(longlong *param_1,char param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; FUN_1812a7720(param_1 + 0x1d); if (param_2 == '\0') { (**(code **)(*param_1 + 0x58))(param_1,0); } else { if (DAT_182673700 == 0) { uVar1 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar1); } FUN_181323da0(DAT_182673700 + 200,param_1,(int)param_1[0x20],param_4,uVar2); } if ((char)param_1[0x26] != '\0') { (**(code **)*param_1)(param_1,1); } return; } ############ FUN_ 1813bf910 size=220 ############ uint FUN_1813bf910(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint uVar2; DWORD DVar3; undefined8 uVar4; longlong *plVar5; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } uVar2 = *(uint *)(DAT_182673700 + 0x88); if (*(int *)(param_1 + 0x1c) < (int)uVar2) { plVar5 = (longlong *)(param_1 + -0xe8); FUN_1812a7720(param_1); uVar2 = (**(code **)(*plVar5 + 0x58))(plVar5,0,param_3,param_4,uVar6); if (*(char *)(param_1 + 0x48) != '\0') { /* WARNING: Could not recover jumptable at 0x0001813bf98f. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar2 = (**(code **)*plVar5)(plVar5,1); return uVar2; } } else if (*(longlong *)(param_1 + 0x40) != 0) { DVar3 = timeGetTime(); if (DVar3 < DAT_1826737fc) { uVar1 = DAT_1826737fc; uVar2 = DVar3; if (DVar3 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); uVar1 = DVar3; } } else { LOCK(); UNLOCK(); uVar1 = DVar3; uVar2 = DAT_1826737fc; } DAT_1826737fc = uVar1; if (*(longlong *)(param_1 + 0x40) < (longlong)(ulonglong)DVar3) { uVar2 = FUN_1813bf870(param_1 + -0xe8,CONCAT71((uint7)(uint3)(DVar3 >> 8),1)); return uVar2; } } return uVar2; } ############ FUN_ 1813c0f50 size=291 ############ void FUN_1813c0f50(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; HCURSOR pHVar3; undefined8 *local_res8 [2]; undefined4 *local_res18; undefined8 *local_res20; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600,param_3,param_4,uVar4); if (DAT_182673700 == 0) { local_res8[0] = (undefined8 *)FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_res8[0]); } FUN_1812a7720(*(undefined8 *)(DAT_182673700 + 0x30)); *(undefined4 *)(param_1 + 0x410) = 0; local_res18 = &DAT_182673b68; do { LOCK(); uVar1 = DAT_182673b68 & 1; DAT_182673b68 = DAT_182673b68 | 1; UNLOCK(); } while (uVar1 != 0); if (DAT_18267aaf0 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_1811316e0(0x20); *puVar2 = 0; local_res20 = puVar2; pHVar3 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f01); if (pHVar3 == (HCURSOR)0x0) { pHVar3 = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f00); } puVar2[1] = pHVar3; *(undefined4 *)(puVar2 + 2) = 1; *(undefined4 *)((longlong)puVar2 + 0x14) = 4; *(undefined1 *)(puVar2 + 3) = 1; DAT_18267aaf0 = puVar2; } else { LOCK(); *(int *)(DAT_18267aaf0 + 2) = *(int *)(DAT_18267aaf0 + 2) + 1; UNLOCK(); } puVar2 = DAT_18267aaf0; LOCK(); DAT_182673b68 = 0; UNLOCK(); local_res8[0] = DAT_18267aaf0; FUN_181342db0(param_1,local_res8); if (puVar2 != (undefined8 *)0x0) { FUN_1804e9060(puVar2); } return; } ############ FUN_ 1813c5840 size=927 ############ void FUN_1813c5840(longlong param_1) { longlong *plVar1; int iVar2; char cVar3; uint uVar4; undefined8 *puVar5; longlong lVar6; int iVar7; longlong lVar8; uint uVar9; uint uVar10; ulonglong uVar11; ulonglong uVar12; uint uVar13; uint uVar14; int iVar15; ulonglong uVar16; uint uVar17; undefined8 local_b8; undefined8 uStack_b0; undefined8 local_a8; longlong *local_a0; uint local_98; undefined8 local_94; char local_8c; undefined4 local_88; undefined4 uStack_84; undefined4 uStack_80; undefined4 uStack_7c; longlong local_78; undefined4 local_68; int iStack_64; undefined4 uStack_60; int iStack_5c; undefined8 local_58; undefined4 uStack_50; undefined4 uStack_4c; undefined8 local_48; undefined4 local_38; int iStack_34; undefined4 uStack_30; int iStack_2c; local_48 = 0xfffffffffffffffe; uVar11 = 0; LOCK(); *(undefined4 *)(*(longlong *)(*(longlong *)(param_1 + 0x400) + 0x20) + 0x18) = 0; UNLOCK(); iVar15 = *(int *)(param_1 + 0xe8); uVar14 = iVar15 + 1; uVar12 = uVar11; uVar17 = uVar14; if (uVar14 != *(uint *)(param_1 + 0x43c)) { plVar1 = (longlong *)(param_1 + 0x430); FUN_18055c7d0(plVar1); if (*(int *)(param_1 + 0x438) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar1); } *(undefined4 *)(param_1 + 0x438) = 0; for (; -1 < iVar15; iVar15 = iVar15 + -1) { puVar5 = (undefined8 *)FUN_1811316e0(0x18); *puVar5 = 0; puVar5[1] = 0; puVar5[2] = 0; iVar2 = *(int *)(param_1 + 0x43c); iVar7 = iVar2 + 1; if (*(int *)(param_1 + 0x438) < iVar7) { if (iVar7 < 0) { iVar7 = iVar2 + 2; } FUN_18047cb30(plVar1,(iVar7 >> 1) + iVar2 + 9 & 0xfffffff8); } iVar7 = *(int *)(param_1 + 0x43c); *(int *)(param_1 + 0x43c) = iVar7 + 1; *(undefined8 **)(*plVar1 + (longlong)iVar7 * 8) = puVar5; } uVar12 = (ulonglong)uVar14; uVar17 = 0; } iVar7 = (int)uVar12; local_a0 = *(longlong **)(param_1 + 200); uStack_b0 = 0; local_a8 = 0; uVar13 = 0; uVar10 = *(uint *)(param_1 + 0xd8); local_8c = '\0'; iVar15 = *(int *)((longlong)local_a0 + 0xc); if (iVar15 == 0) { local_94 = 0; uVar9 = uVar13; } else { if ((int)uVar10 < iVar15) { uVar4 = uVar13; if (0 < (int)uVar10) { uVar4 = uVar10; } lVar8 = *(longlong *)(*local_a0 + (longlong)(int)uVar4 * 8); uVar10 = *(uint *)(lVar8 + 0x10); uVar9 = 0; if ((0 < (int)uVar10) && (uVar9 = uVar13, (int)uVar10 < 0)) { uVar9 = uVar10; } } else { uVar4 = iVar15 - 1; lVar8 = *(longlong *)(*local_a0 + (longlong)(int)uVar4 * 8); uVar9 = *(uint *)(lVar8 + 0x10); } local_94 = CONCAT44(uVar9,uVar4); uVar9 = *(int *)(lVar8 + 8) + uVar9; } local_b8 = local_a0; local_98 = uVar9; if (*(longlong *)(param_1 + 0x418) != 0) { iVar15 = *(int *)(param_1 + 0x44c) + -1; lVar8 = (longlong)iVar15; if (-1 < iVar15) { lVar6 = lVar8 * 0x18; do { plVar1 = (longlong *)(*(longlong *)(param_1 + 0x440) + lVar6); if (*(int *)((longlong)plVar1 + 0x14) <= (int)uVar9) { local_a8 = plVar1[2]; local_b8 = (longlong *)*plVar1; uStack_b0 = plVar1[1]; uVar13 = *(uint *)((longlong)plVar1 + 0x14); break; } lVar6 = lVar6 + -0x18; lVar8 = lVar8 + -1; } while (-1 < lVar8); } do { if ((int)uVar9 <= (int)uVar13) goto LAB_1813c5a7f; local_b8._4_4_ = (undefined4)((ulonglong)local_b8 >> 0x20); uStack_b0._4_4_ = (undefined4)((ulonglong)uStack_b0 >> 0x20); local_88 = (undefined4)local_b8; uStack_84 = local_b8._4_4_; uStack_80 = (undefined4)uStack_b0; uStack_7c = uStack_b0._4_4_; local_78 = local_a8; (**(code **)(**(longlong **)(param_1 + 0x418) + 8))(*(longlong **)(param_1 + 0x418),&local_b8) ; } while (((int)local_a8._4_4_ <= (int)uVar9) && ((uVar13 = local_a8._4_4_, uStack_b0 != 0 || ((int)local_a8 < *(int *)((longlong)local_b8 + 0xc))))); local_b8 = (longlong *)CONCAT44(uStack_84,local_88); uStack_b0 = CONCAT44(uStack_7c,uStack_80); local_a8 = local_78; } LAB_1813c5a7f: if (local_8c != '\0') { FUN_1813c8030(&local_a0,0); } if (0 < (int)uVar14) { uVar16 = uVar11; do { uVar10 = (uint)uVar11; cVar3 = FUN_180558260(*(undefined8 *)(*(longlong *)(param_1 + 0x430) + uVar16 * 8), *(undefined8 *)(param_1 + 200),*(int *)(param_1 + 0xd8) + uVar10, &local_b8,*(undefined8 *)(param_1 + 0x418), *(undefined4 *)(param_1 + 0xdc),param_1 + 0x120,param_1 + 0x138); if (cVar3 != '\0') { if ((int)uVar10 < (int)uVar17) { uVar17 = uVar10; } if ((int)uVar12 < (int)uVar10) { uVar12 = uVar11; } } iVar7 = (int)uVar12; uVar11 = (ulonglong)(uVar10 + 1); uVar16 = uVar16 + 1; } while ((longlong)uVar16 < (longlong)(int)uVar14); } if ((int)uVar17 <= iVar7) { local_68 = 0; iStack_64 = *(int *)(param_1 + 0xe4) * uVar17 + -1; uStack_60 = *(undefined4 *)(param_1 + 0x178); iStack_5c = ((iVar7 - uVar17) + 1) * *(int *)(param_1 + 0xe4) + 2; local_38 = 0; iStack_34 = iStack_64; uStack_30 = uStack_60; iStack_2c = iStack_5c; FUN_181342a30(param_1,&local_38); } lVar8 = *(longlong *)(param_1 + 0x408); if (lVar8 != 0) { iVar15 = *(int *)(*(longlong *)(param_1 + 200) + 0xc); if ((iVar15 != *(int *)(lVar8 + 0xb4)) || (*(int *)(lVar8 + 0xb0) != *(int *)(param_1 + 0xd8))) { *(int *)(lVar8 + 0xb0) = *(int *)(param_1 + 0xd8); *(int *)(lVar8 + 0xb4) = iVar15; local_58 = 0; uStack_80 = *(undefined4 *)(lVar8 + 0x28); uStack_7c = *(undefined4 *)(lVar8 + 0x2c); local_88 = 0; uStack_84 = 0; uStack_50 = uStack_80; uStack_4c = uStack_7c; FUN_181342870(lVar8,&local_88,CONCAT71((uint7)(uint3)((uint)iVar15 >> 8),1)); } } return; } ############ FUN_ 1813d73f0 size=3661 ############ void FUN_1813d73f0(undefined8 param_1,undefined8 param_2) { uint uVar1; undefined8 uVar2; uint *puVar3; longlong *plVar4; undefined1 local_250 [8]; undefined1 local_248 [8]; undefined1 local_240 [8]; undefined1 local_238 [8]; longlong local_230; longlong local_228; longlong local_220; longlong local_218; longlong local_210; longlong local_208; longlong local_200; longlong local_1f8; longlong local_1f0; longlong local_1e8; longlong local_1e0; longlong local_1d8; longlong local_1d0; longlong local_1c8; longlong *local_1c0; longlong *plStack_1b8; longlong local_1b0; longlong *local_1a8; longlong *plStack_1a0; longlong local_198; longlong *local_190; longlong *plStack_188; longlong local_180; undefined1 local_178 [8]; undefined1 local_170 [8]; undefined1 local_168 [8]; undefined1 local_160 [8]; undefined1 local_158 [8]; undefined1 local_150 [8]; undefined1 local_148 [8]; undefined1 local_140 [8]; undefined1 local_138 [8]; undefined1 local_130 [8]; undefined1 local_128 [8]; undefined1 local_120 [8]; undefined1 local_118 [8]; undefined1 local_110 [8]; undefined1 local_108 [8]; undefined1 local_100 [8]; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined8 local_e0; undefined8 uStack_d8; undefined8 local_d0; undefined8 local_c8; undefined8 uStack_c0; undefined8 local_b8; undefined8 local_b0; undefined8 uStack_a8; undefined8 local_a0; undefined8 local_98; undefined8 uStack_90; undefined8 local_88; undefined8 local_80; undefined8 uStack_78; undefined8 local_70; undefined8 local_68; undefined8 uStack_60; undefined8 local_58; undefined8 local_50; undefined8 uStack_48; undefined8 local_40; undefined8 local_38; undefined8 uStack_30; undefined8 local_28; undefined8 local_20; local_20 = 0xfffffffffffffffe; FUN_18049c4e0(&local_230,"eq nodes"); FUN_1814d1be0(param_2,&local_230); puVar3 = (uint *)(local_230 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_228,"engages band listen mode"); FUN_18049c4e0(local_118,&DAT_1821e4b4c); FUN_18049c4e0(local_110,&DAT_182270e04); local_1c0 = (longlong *)0x0; plStack_1b8 = (longlong *)0x0; local_1b0 = 0; FUN_18056d2d0(&local_1c0,local_118,local_108); uVar2 = FUN_1814d51f0(uVar2,&local_1c0,&local_228); FUN_1814d1af0(param_2,uVar2); plVar4 = local_1c0; if (local_1c0 != (longlong *)0x0) { for (; plVar4 != plStack_1b8; plVar4 = plVar4 + 1) { puVar3 = (uint *)(*plVar4 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } } plVar4 = local_1c0; if ((0xfff < (ulonglong)((local_1b0 - (longlong)local_1c0 >> 3) * 8)) && (plVar4 = (longlong *)local_1c0[-1], 0x1f < (ulonglong)((longlong)local_1c0 + (-8 - (longlong)plVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(plVar4); } _eh_vector_destructor_iterator_(local_118,8,2,FUN_18124a7e0); puVar3 = (uint *)(local_228 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_220,"changes the Q value"); FUN_18049c4e0(local_108,&DAT_1822700c4); FUN_18049c4e0(local_100,&DAT_18226f9e4); local_1a8 = (longlong *)0x0; plStack_1a0 = (longlong *)0x0; local_198 = 0; FUN_18056d2d0(&local_1a8,local_108,&local_f8); uVar2 = FUN_1814d51f0(uVar2,&local_1a8,&local_220); FUN_1814d1af0(param_2,uVar2); plVar4 = local_1a8; if (local_1a8 != (longlong *)0x0) { for (; plVar4 != plStack_1a0; plVar4 = plVar4 + 1) { puVar3 = (uint *)(*plVar4 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } } plVar4 = local_1a8; if ((0xfff < (ulonglong)((local_198 - (longlong)local_1a8 >> 3) * 8)) && (plVar4 = (longlong *)local_1a8[-1], 0x1f < (ulonglong)((longlong)local_1a8 + (-8 - (longlong)plVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(plVar4); } _eh_vector_destructor_iterator_(local_108,8,2,FUN_18124a7e0); puVar3 = (uint *)(local_220 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_218,"changes the Q value"); FUN_18049c4e0(local_250,"scroll wheel"); local_190 = (longlong *)0x0; plStack_188 = (longlong *)0x0; local_180 = 0; FUN_18056d2d0(&local_190,local_250,local_248); uVar2 = FUN_1814d51f0(uVar2,&local_190,&local_218); FUN_1814d1af0(param_2,uVar2); plVar4 = local_190; if (local_190 == (longlong *)0x0) { _eh_vector_destructor_iterator_(local_250,8,1,FUN_18124a7e0); puVar3 = (uint *)(local_218 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_210,"changes the Q value slowly"); FUN_18049c4e0(local_178,"shift"); FUN_18049c4e0(local_170,"scroll wheel"); local_f8 = 0; uStack_f0 = 0; local_e8 = 0; FUN_18056d2d0(&local_f8,local_178,local_168); uVar2 = FUN_1814d51f0(uVar2,&local_f8,&local_210); FUN_1814d1af0(param_2,uVar2); FUN_1804884f0(&local_f8); _eh_vector_destructor_iterator_(local_178,8,2,FUN_18124a7e0); puVar3 = (uint *)(local_210 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_208,"changes the position slowly"); FUN_18049c4e0(local_168,"shift"); FUN_18049c4e0(local_160,&DAT_182270e74); local_e0 = 0; uStack_d8 = 0; local_d0 = 0; FUN_18056d2d0(&local_e0,local_168,local_158); uVar2 = FUN_1814d51f0(uVar2,&local_e0,&local_208); FUN_1814d1af0(param_2,uVar2); FUN_1804884f0(&local_e0); _eh_vector_destructor_iterator_(local_168,8,2,FUN_18124a7e0); puVar3 = (uint *)(local_208 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_200,"changes the stereo balance"); FUN_18049c4e0(local_158,&DAT_182273b94); FUN_18049c4e0(local_150,"scroll wheel"); local_c8 = 0; uStack_c0 = 0; local_b8 = 0; FUN_18056d2d0(&local_c8,local_158,local_148); uVar2 = FUN_1814d51f0(uVar2,&local_c8,&local_200); FUN_1814d1af0(param_2,uVar2); FUN_1804884f0(&local_c8); _eh_vector_destructor_iterator_(local_158,8,2,FUN_18124a7e0); puVar3 = (uint *)(local_200 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_1f8,"opens the context menu"); FUN_18049c4e0(local_248,"right click"); local_b0 = 0; uStack_a8 = 0; local_a0 = 0; FUN_18056d2d0(&local_b0,local_248,local_240); uVar2 = FUN_1814d51f0(uVar2,&local_b0,&local_1f8); FUN_1814d1af0(param_2,uVar2); FUN_1804884f0(&local_b0); _eh_vector_destructor_iterator_(local_248,8,1,FUN_18124a7e0); puVar3 = (uint *)(local_1f8 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_18049c4e0(&local_1f0,"other controls"); FUN_1814d1be0(param_2,&local_1f0); puVar3 = (uint *)(local_1f0 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_1e8,"changes the value slowly"); FUN_18049c4e0(local_148,"shift"); FUN_18049c4e0(local_140,&DAT_182273524); local_98 = 0; uStack_90 = 0; local_88 = 0; FUN_18056d2d0(&local_98,local_148,local_138); uVar2 = FUN_1814d51f0(uVar2,&local_98,&local_1e8); FUN_1814d1af0(param_2,uVar2); FUN_1804884f0(&local_98); _eh_vector_destructor_iterator_(local_148,8,2,FUN_18124a7e0); puVar3 = (uint *)(local_1e8 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_1e0,"changes the value"); FUN_18049c4e0(local_240,"scroll wheel"); local_80 = 0; uStack_78 = 0; local_70 = 0; FUN_18056d2d0(&local_80,local_240,local_238); uVar2 = FUN_1814d51f0(uVar2,&local_80,&local_1e0); FUN_1814d1af0(param_2,uVar2); FUN_1804884f0(&local_80); _eh_vector_destructor_iterator_(local_240,8,1,FUN_18124a7e0); puVar3 = (uint *)(local_1e0 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_1d8,"changes the value slowly"); FUN_18049c4e0(local_138,"shift"); FUN_18049c4e0(local_130,"scroll wheel"); local_68 = 0; uStack_60 = 0; local_58 = 0; FUN_18056d2d0(&local_68,local_138,local_128); uVar2 = FUN_1814d51f0(uVar2,&local_68,&local_1d8); FUN_1814d1af0(param_2,uVar2); FUN_1804884f0(&local_68); _eh_vector_destructor_iterator_(local_138,8,2,FUN_18124a7e0); puVar3 = (uint *)(local_1d8 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_1d0,"returns the value to the default"); FUN_18049c4e0(local_128,&DAT_1821e4b5c); FUN_18049c4e0(local_120,"click"); local_50 = 0; uStack_48 = 0; local_40 = 0; FUN_18056d2d0(&local_50,local_128,local_118); uVar2 = FUN_1814d51f0(uVar2,&local_50,&local_1d0); FUN_1814d1af0(param_2,uVar2); FUN_1804884f0(&local_50); _eh_vector_destructor_iterator_(local_128,8,2,FUN_18124a7e0); puVar3 = (uint *)(local_1d0 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = FUN_1811316e0(0xf0); FUN_18049c4e0(&local_1c8,"returns the value to the default"); FUN_18049c4e0(local_238,"double click"); local_38 = 0; uStack_30 = 0; local_28 = 0; FUN_18056d2d0(&local_38,local_238,&local_230); uVar2 = FUN_1814d51f0(uVar2,&local_38,&local_1c8); FUN_1814d1af0(param_2,uVar2); FUN_1804884f0(&local_38); _eh_vector_destructor_iterator_(local_238,8,1,FUN_18124a7e0); puVar3 = (uint *)(local_1c8 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } return; } for (; plVar4 != plStack_188; plVar4 = plVar4 + 1) { puVar3 = (uint *)(*plVar4 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } } plVar4 = local_190; if ((0xfff < (ulonglong)((local_180 - (longlong)local_190 >> 3) * 8)) && (plVar4 = (longlong *)local_190[-1], 0x1f < (ulonglong)((longlong)local_190 + (-8 - (longlong)plVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(plVar4); } ############ FUN_ 1814d1be0 size=489 ############ void FUN_1814d1be0(longlong param_1,undefined8 param_2) { longlong *plVar1; char cVar2; uint *puVar3; longlong lVar4; uint *puVar5; uint *puVar6; uint **ppuVar7; uint *puVar8; uint *puVar9; uint local_res8 [4]; uint *local_res18; uint *local_res20; local_res8[0] = *(uint *)(param_1 + 0x894); puVar3 = (uint *)FUN_1811316e0(0xd0); puVar5 = puVar3; local_res18 = puVar3; FUN_1813453e0(puVar3,param_2); puVar5[0x2e] = 0; puVar5[0x2f] = 0; *(undefined1 *)(puVar5 + 0x30) = 0; *(undefined ***)puVar5 = ShortcutHeader::vftable; *(undefined ***)(puVar5 + 0x2c) = ShortcutHeader::vftable; FUN_181252d20(puVar5 + 0x32); plVar1 = (longlong *)(param_1 + 0x878); puVar5 = (uint *)*plVar1; cVar2 = *(char *)((longlong)*(uint **)(puVar5 + 2) + 0x19); puVar9 = puVar5; puVar8 = *(uint **)(puVar5 + 2); while (cVar2 == '\0') { if ((int)puVar8[8] < (int)local_res8[0]) { puVar6 = *(uint **)(puVar8 + 4); puVar8 = puVar9; } else { puVar6 = *(uint **)puVar8; } puVar9 = puVar8; puVar8 = puVar6; cVar2 = *(char *)((longlong)puVar6 + 0x19); } local_res20 = puVar3; if ((puVar9 == puVar5) || ((int)local_res8[0] < (int)puVar9[8])) { local_res18 = local_res8; lVar4 = FUN_180481d40(plVar1,local_res8[0],&local_res18); FUN_18057dd90(plVar1,&local_res18,puVar9,lVar4 + 0x20,lVar4); puVar9 = local_res18; } ppuVar7 = (uint **)(puVar9 + 10); puVar5 = puVar3; if (ppuVar7 != &local_res20) { puVar5 = (uint *)0x0; puVar9 = *ppuVar7; *ppuVar7 = puVar3; if (puVar9 != (uint *)0x0) { (*(code *)**(undefined8 **)puVar9)(puVar9,1); } } if (puVar5 != (uint *)0x0) { (*(code *)**(undefined8 **)puVar5)(puVar5,1); } puVar5 = (uint *)*plVar1; cVar2 = *(char *)((longlong)*(uint **)(puVar5 + 2) + 0x19); puVar9 = puVar5; puVar8 = *(uint **)(puVar5 + 2); while (cVar2 == '\0') { if ((int)puVar8[8] < (int)local_res8[0]) { puVar3 = *(uint **)(puVar8 + 4); puVar8 = puVar9; } else { puVar3 = *(uint **)puVar8; } puVar9 = puVar8; puVar8 = puVar3; cVar2 = *(char *)((longlong)puVar3 + 0x19); } if ((puVar9 == puVar5) || ((int)local_res8[0] < (int)puVar9[8])) { local_res18 = local_res8; lVar4 = FUN_180481d40(plVar1,local_res8[0],&local_res18); FUN_18057dd90(plVar1,&local_res18,puVar9,lVar4 + 0x20,lVar4); puVar9 = local_res18; } plVar1 = *(longlong **)(puVar9 + 10); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); } return; } ############ FUN_ 1813d8250 size=253 ############ longlong * FUN_1813d8250(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong *plVar3; undefined8 local_res8; longlong *local_res10; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; local_res10 = param_2; local_res8 = FUN_1811316e0(0x300); plVar3 = (longlong *)FUN_1814d78a0(local_res8); *param_2 = (longlong)plVar3; (**(code **)(*plVar3 + 0x188))(plVar3,*(undefined8 *)(param_1 + 0xbe8),*plVar3,param_4,7,uVar4); (**(code **)(*(longlong *)*param_2 + 0x188)) ((longlong *)*param_2,*(undefined8 *)(param_1 + 0xbf0)); (**(code **)(*(longlong *)*param_2 + 0x188)) ((longlong *)*param_2,*(undefined8 *)(param_1 + 0xbe0)); plVar3 = (longlong *)*param_2; if (*(code **)(*plVar3 + 400) == FUN_1814c0f80) { iVar2 = (int)(plVar3[0x59] - plVar3[0x58] >> 3) + -1; local_res8 = CONCAT44(local_res8._4_4_,iVar2); piVar1 = (int *)plVar3[0x5c]; if ((int *)plVar3[0x5d] == piVar1) { FUN_18057b9e0(plVar3 + 0x5b,piVar1,&local_res8); } else { *piVar1 = iVar2; plVar3[0x5c] = plVar3[0x5c] + 4; } } else { (**(code **)(*plVar3 + 400))(); } (**(code **)(*(longlong *)*param_2 + 0x188)) ((longlong *)*param_2,*(undefined8 *)(param_1 + 0x948)); return param_2; } ############ FUN_ 1813dc0d0 size=2406 ############ /* WARNING: Instruction at (ram,0x0001813dc3ed) overlaps instruction at (ram,0x0001813dc3ea) */ /* WARNING: Possible PIC construction at 0x0001813dc51f: Changing call to branch */ /* WARNING: Removing unreachable block (ram,0x0001813dc524) */ /* WARNING: Removing unreachable block (ram,0x0001813dc1b1) */ /* WARNING: Removing unreachable block (ram,0x0001813dc147) */ /* WARNING: Removing unreachable block (ram,0x0001813dc381) */ /* WARNING: Removing unreachable block (ram,0x0001813dc3c8) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ ulonglong .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (longlong param_1) { longlong *plVar1; longlong *plVar2; code *pcVar3; uint uVar4; ulonglong uVar5; undefined8 uVar6; undefined8 uVar7; ulonglong uVar8; int iVar9; uint uVar10; uint *puVar11; uint *puVar12; longlong lVar13; undefined1 *puVar14; longlong lVar15; longlong lVar16; int unaff_retaddr; undefined8 uStack_240; undefined1 auStack_238 [80]; undefined8 local_1e8; undefined8 local_1e0; undefined8 local_1d0; undefined4 local_1c8; undefined8 local_1b8; undefined8 local_1b0; undefined8 local_1a8; longlong *local_1a0; undefined4 local_194; longlong local_190; uint local_188; undefined4 local_178; uint local_174; uint local_168 [6]; undefined4 local_150; undefined4 local_14c; longlong local_148; longlong local_140; undefined8 local_110; ulonglong local_38; puVar14 = auStack_238; local_110 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_238; local_194 = 0x9c3ec77f; if (((ulonglong)&stack0x00000000 & 0x188) == 0) { uVar4 = (uint)&stack0x00000000 & 0x25ff; iVar9 = uVar4 * uVar4 + 1; uVar4 = (iVar9 >> 4) + (iVar9 >> 1) + iVar9 * 0x24924924 >> 0x1d; uVar4 = (int)(uVar4 - 7) >> 0x1f & uVar4; } else { uVar4 = (uint)&stack0x00000000 & 0x1cff; uVar4 = (uVar4 + 1) * uVar4 + 0xe05 & 0x80000001; } local_174 = (int)(-uVar4 | uVar4) >> 0x1f & 0xcaf0U ^ 0xc920; local_178 = 0xe60; do { local_168[1] = 0xd393af62; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_1c8 = 0xd6decb77; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_1e8 = 0; local_1b8 = 0x180046f74; local_1b0 = 0x180048f70; local_1a8 = 0x180000000; plVar1 = (longlong *)(param_1 + 0x28); local_1a0 = plVar1; local_190 = param_1; if (*plVar1 == 0) { pcVar3 = *(code **)(*(longlong *)(param_1 + -0x778) + 8); if (pcVar3 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { uVar7 = *(undefined8 *)(param_1 + -0x770); } else { uVar7 = (*pcVar3)(); } local_1d0 = uVar7; local_1a8 = FUN_1811316e0(0x98); uVar6 = FUN_180561470(local_1a8,param_1 + -0x8b8,uVar7); FUN_1805682c0(param_1 + -0x720,uVar6); do { uVar5 = 0xeb14; *(undefined8 *)(puVar14 + -8) = 0x1813dd26e; FUN_1813db43d(); if ((uVar5 & 0xcf00) == 0) { puVar14 = puVar14 + 8; } /* WARNING: Call to offcut address within same function */ *(undefined8 *)(puVar14 + -8) = 0x1813dd292; func_0x0001813dd89a(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); *(undefined8 *)(puVar14 + -8) = 0x1813dd2b8; uVar6 = FUN_1811316e0(0x198); local_1a8 = uVar6; *(undefined8 *)(puVar14 + 0x30) = uVar7; *(undefined4 *)(puVar14 + 0x28) = 800; *(longlong *)(puVar14 + 0x20) = param_1 + 0xd0; uVar7 = *(undefined8 *)(param_1 + -0x740); *(undefined8 *)(puVar14 + -8) = 0x1813dd2f2; uVar7 = FUN_18161bdc0(uVar6,uVar7,param_1 + -0x8b8,param_1 + 0x1a8); *(undefined8 *)(param_1 + 0x98) = uVar7; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_1a8 = 0xa05c40d236e5dca7; *(undefined4 *)(puVar14 + 0x70) = 0x36e5dca7; uVar7 = *(undefined8 *)(param_1 + 0x98); *(undefined8 *)(puVar14 + -8) = 0x1813dd3e3; FUN_1805682c0(param_1 + -0x720,uVar7); do { *(undefined8 *)(puVar14 + -8) = 0x1813dd3fa; *(undefined4 *)(puVar14 + 0x74) = 0x92f4baff; local_150 = 0x73; local_148 = *(longlong *)(puVar14 + -8); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = *(uint *)(puVar14 + 0x74); uVar4 = (uVar4 >> 2 & 0xcccccccc | uVar4 << 0x1e | (uVar4 & 0xccccccc) << 2 | uVar4 >> 0x1e) + 0x1ac7e92b; uVar10 = uVar4 * 0x8000000 | uVar4 >> 5; uVar4 = ((uVar10 << 4 | (uVar4 & 0x1f) >> 1) & 0x96969696 | (uVar10 >> 4 | (uVar4 >> 5) << 0x1c) & 0x69696969) ^ 0x4128f24f; uVar4 = ((uVar4 >> 0x10 | uVar4 << 0x10) & 0xee9f1160 | (uVar4 << 0x10 | uVar4 >> 0x10) & 0x1160ee9f) + 0x664efaf2; *(uint *)(puVar14 + 0x74) = ((uVar4 * 0x10 | uVar4 >> 0x1c) & 0x96969696 | (uVar4 >> 4 | uVar4 * 0x10000000) & 0x69696969) + 0x2dda2378; do { *(undefined8 *)(puVar14 + -8) = 0x1813dd4c6; lVar16 = *(longlong *)(puVar14 + -8); local_188 = 0x775cff3b; local_14c = 0x7d; local_140 = lVar16; *(undefined8 *)(puVar14 + -8) = 0x1813dd4e5; FUN_1813df47a(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (local_188 << 0x1c | local_188 >> 4) + 0xab3792b4; uVar4 = (uVar4 * 0x4000 | uVar4 >> 0x12) ^ 0xec15e8af; uVar4 = (uVar4 >> 2 | uVar4 << 0x1e) & 0x99999999 | (uVar4 << 2 | uVar4 >> 0x1e) & 0x66666666; uVar10 = (uVar4 << 0x10 | uVar4 >> 0x10) & 0xcc6c3393 | (uVar4 >> 0x10 | uVar4 << 0x10) & 0x3393cc6c; uVar4 = uVar10 >> 0x11 ^ uVar10; uVar10 = (uVar4 << 0x11 | uVar4 & 0x7fff) ^ uVar10; uVar4 = uVar10 >> 0x10 | uVar10 << 0x10; lVar13 = *(int *)(puVar14 + 0x74) + local_148; lVar15 = ((longlong)(int)(uVar4 << 8 | (uVar10 & 0xffff) >> 8) & 0xfffffffffe01fe01U | (ulonglong)((uVar4 >> 8 | (uVar10 >> 0x10) << 0x18) & 0x1fe01fe)) + local_140; *(undefined4 *)(puVar14 + 0x74) = 0; local_188 = 0; *(longlong *)(lVar13 + 4) = *(longlong *)(lVar13 + 4) + (*(ulonglong *)(lVar15 + 4) >> 9 & 0x80075080); do { puVar12 = local_168; puVar11 = (uint *)(puVar14 + 0x78); *(undefined8 *)(puVar14 + -8) = 0x1813dd5be; FUN_1813def85(); *(longlong *)(puVar14 + -8) = lVar16; uVar7 = rdtsc(); uVar4 = (int)uVar7 + (int)((ulonglong)uVar7 >> 0x20); *puVar12 = uVar4; uVar5 = (ulonglong)uVar4 * -0xfff - 0x7f15849c; uVar5 = ((uVar5 >> 9 | uVar5 << 0x37) * -0xbf + -0x7551fa82) * -0x1fff + 0x7800af9f; uVar8 = uVar5 * 0x20 | uVar5 >> 0x3b; uVar8 = uVar8 + (((uVar5 & 0x7ffffffffffffff) >> 6 | uVar8 << 0x35) - 0x2ed0731b); uVar8 = uVar8 ^ (uVar8 >> 7 | uVar8 << 0x39) - 0xfafe0dc; *puVar11 = ((uint)uVar8 ^ ((uint)(uVar8 << 0xf) | (uint)(uVar8 >> 0x31)) + 0x56329f43) & 0xf662a13f; lVar16 = *(longlong *)(puVar14 + -8); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); *(int *)(lVar13 + 8) = *(int *)(lVar13 + 8) + (*(uint *)(puVar14 + 0x78) ^ 0x394076a5); *(int *)(lVar13 + 4) = *(int *)(lVar13 + 4) + (*(uint *)(puVar14 + 0x78) ^ 0x77a3de2a); uVar5 = (*(ulonglong *)(lVar13 + 4) << 0x17 | *(ulonglong *)(lVar13 + 4) >> 0x29) ^ 0x78d83795b86cb55d; uVar5 = (uVar5 >> 0x13 | uVar5 << 0x2d) + 0x16bb64a0a91aadda; uVar5 = ((uVar5 >> 8 | uVar5 << 0x38) & 0x8c738c738c738c73 | (uVar5 * 0x100 | uVar5 >> 0x38) & 0x738c738c738c738c) ^ 0x61da24bd0ac0664b; uVar8 = (uVar5 << 8 | uVar5 >> 0x38) & 0xf40bf40bf40bf40b | (uVar5 >> 8 | uVar5 << 0x38) & 0xbf40bf40bf40bf4; uVar5 = (ulonglong)((uint)((uVar8 >> 0x1f ^ uVar8) >> 1) & 0x7fffffff); uVar5 = (uVar8 ^ (uVar5 << 0x1f | uVar5) * 2) + 0x9b3bfb83ed5cbee6; *(ulonglong *)(lVar13 + 4) = uVar5; plVar2 = (longlong *)(lVar15 + 4); *plVar2 = *plVar2 + (ulonglong)((uint)(uVar5 >> 9) & 0x280421); *(uint *)(puVar14 + 0x78) = (uint)(*(ulonglong *)(lVar13 + 4) >> 0x15) & 0x7fffffff; *(uint *)(puVar14 + 0x60) = (uint)(*(ulonglong *)(lVar13 + 4) >> 0x1b) ^ 0xc4846b01; uVar5 = *(ulonglong *)(lVar13 + 4) ^ 0x89d51e0ba152bd3c; *(ulonglong *)(puVar14 + 0x50) = uVar5; *(undefined8 *)(puVar14 + -8) = 0x180000000; *(BADSPACEBASE **)(puVar14 + -0x10) = register0x00000020; *(longlong **)(puVar14 + -0x18) = plVar1; if ((POPCOUNT(uVar5 & 0xff) & 1U) == 0) { uVar5 = ~-uVar5 + 1; } *(undefined **)(puVar14 + -0x20) = &DAT_1813dd922; *(undefined **)(puVar14 + -0x28) = &DAT_181447ec4; *(undefined1 **)(puVar14 + -0x30) = &LAB_1813cf09f; *(undefined1 **)(puVar14 + -0x38) = &LAB_1813e3aa6_4; *(undefined1 **)(puVar14 + -0x40) = &LAB_181427f54; *(undefined1 **)(puVar14 + -0x48) = &LAB_1813cf09f; *(undefined1 **)(puVar14 + -0x50) = &LAB_1813cf09f; return uVar5; } do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_1d0 = 0; local_1e8 = 0x180048f70; local_1e0 = 0x18004af6c; /* WARNING: Could not recover jumptable at 0x0001813dc644. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar5 = (*(code *)0x18143c08c)(0x18004af6c,0xf0c); return uVar5; } ############ FUN_ 18161bdc0 size=703 ############ undefined8 * FUN_18161bdc0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7) { undefined8 **ppuVar1; longlong *plVar2; int iVar3; undefined8 *puVar4; int iVar5; undefined8 uVar6; undefined8 *puVar7; int iVar8; undefined8 *local_res8; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[1] = Soothe2VertexData::vftable; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; *(undefined2 *)(param_1 + 0xe) = 0; *(undefined1 *)((longlong)param_1 + 0x72) = 0; *param_1 = ReductionLayer::vftable; param_1[0xf] = ReductionLayer::vftable; puVar7 = param_1 + 0x10; *puVar7 = GainRangeScalingOption::vftable; param_1[0x11] = 0; param_1[0x12] = 0; param_6._0_4_ = 0; local_res8 = param_1; FUN_180568b90(param_1 + 0x11,¶m_6,param_3,param_4,0xfffffffffffffffe); param_6._0_4_ = 1; FUN_180568b90(param_1 + 0x11,¶m_6); param_6._0_4_ = 2; FUN_180568b90(param_1 + 0x11,¶m_6); *puVar7 = Soothe2GainRangeScalingOption::vftable; param_1[0x13] = param_2; param_1[0x14] = param_3; param_1[0x15] = param_4; param_1[0x16] = param_5; *(undefined4 *)(param_1 + 0x17) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0xbc) = 800; *(undefined4 *)(param_1 + 0x18) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0xc4) = 0x3f800000; param_1[0x19] = 0x3f800000; param_1[0x1a] = 0xffffffffffffffff; *(undefined2 *)(param_1 + 0x1b) = 0x100; param_1[0x1c] = 0; param_1[0x1d] = 0; param_1[0x1e] = 0; param_1[0x1f] = 0; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x29] = 0; param_1[0x2a] = 0; param_1[0x2b] = 0; param_1[0x2c] = 0; param_1[0x2d] = 0; param_1[0x2e] = 0; ppuVar1 = (undefined8 **)(param_1 + 0x2f); *ppuVar1 = (undefined8 *)0x0; plVar2 = param_1 + 0x30; *plVar2 = 0; param_1[0x31] = 0; param_1[0x32] = param_7; iVar8 = *(int *)((longlong)param_1 + 0xbc) * 2; FUN_18056cd00(param_1 + 5,iVar8); FUN_18056c7b0(param_1 + 8,iVar8); FUN_18056c7b0(param_1 + 0xb,iVar8); uVar6 = FUN_1811316e0(0x18); puVar7 = (undefined8 *)FUN_1804841f0(uVar6,puVar7,param_1 + 0xf); if (ppuVar1 != &local_res8) { puVar4 = *ppuVar1; *ppuVar1 = puVar7; puVar7 = puVar4; } iVar8 = 0; if (puVar7 != (undefined8 *)0x0) { FUN_18056ae10(puVar7); iVar8 = 0; } do { iVar3 = *(int *)((longlong)param_1 + 0x18c); iVar5 = iVar3 + 1; if (*(int *)(param_1 + 0x31) < iVar5) { if (iVar5 < 0) { iVar5 = iVar3 + 2; } FUN_1804af790(plVar2,iVar3 + 9 + (iVar5 >> 1) & 0xfffffff8); } iVar5 = *(int *)((longlong)param_1 + 0x18c); *(int *)((longlong)param_1 + 0x18c) = iVar5 + 1; *(int *)(*plVar2 + (longlong)iVar5 * 4) = iVar8; iVar8 = iVar8 + 1; } while (iVar8 < 2); return param_1; } ############ FUN_ 1813e0480 size=2030 ############ /* WARNING: Removing unreachable block (ram,0x0001813e0996) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 * FUN_1813e0480(undefined8 *param_1,longlong param_2) { undefined8 *puVar1; undefined4 uVar2; undefined8 uVar3; undefined4 *puVar4; undefined8 *puVar5; uint uVar6; int unaff_retaddr; undefined1 auStackY_468 [32]; undefined1 local_400 [8]; undefined8 *local_3f8; undefined8 local_3e0; longlong local_3d8; uint local_3c0; undefined4 local_3bc; undefined8 *local_3a8; undefined1 local_3a0 [8]; undefined8 local_398; undefined8 *local_340; longlong local_2d8; longlong local_2a8; undefined1 local_2a0 [32]; undefined8 local_280; undefined8 *local_278; undefined8 local_270; undefined8 local_268; undefined8 local_260; undefined8 local_258; undefined8 local_250; undefined8 local_248; undefined8 local_240; undefined8 local_238; undefined8 local_230; undefined8 local_228; undefined8 local_220; undefined8 local_218; undefined1 local_210 [40]; undefined4 local_1e8; undefined4 uStack_1e4; undefined4 uStack_1e0; undefined4 uStack_1dc; undefined1 local_1b8 [32]; undefined8 local_198; undefined8 uStack_190; undefined4 local_188; undefined4 local_184; undefined4 local_180; undefined1 local_17c [4]; undefined1 local_178 [24]; undefined1 local_160 [64]; undefined1 local_120 [64]; undefined1 local_e0 [160]; ulonglong local_40; local_280 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStackY_468; local_3f8 = param_1; local_3d8 = param_2; local_278 = param_1; FUN_180566b50(param_1,param_2,0x313,0x1b8); param_1[0x113] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x114) = 0; *param_1 = Soothe2AudioProcessorEditor::vftable; param_1[0x22] = Soothe2AudioProcessorEditor::vftable; param_1[0x23] = Soothe2AudioProcessorEditor::vftable; param_1[0x24] = Soothe2AudioProcessorEditor::vftable; param_1[0x25] = Soothe2AudioProcessorEditor::vftable; param_1[0x28] = Soothe2AudioProcessorEditor::vftable; param_1[0x2b] = Soothe2AudioProcessorEditor::vftable; param_1[0x2c] = Soothe2AudioProcessorEditor::vftable; param_1[0x112] = Soothe2AudioProcessorEditor::vftable; param_1[0x115] = Soothe2AudioProcessorEditor::vftable; param_1[0x116] = Soothe2AudioProcessorEditor::vftable; param_1[0x117] = Soothe2AudioProcessorEditor::vftable; local_270 = 0; param_1[0x118] = 0; local_268 = 0; param_1[0x119] = 0; local_3a8 = param_1 + 0x11a; local_260 = 0; *local_3a8 = 0; local_258 = 0; param_1[0x11b] = 0; local_250 = 0; param_1[0x11c] = 0; local_248 = 0; param_1[0x11d] = 0; local_240 = 0; param_1[0x11e] = 0; local_238 = 0; param_1[0x11f] = 0; local_230 = 0; param_1[0x120] = 0; _eh_vector_constructor_iterator_(param_1 + 0x121,8,6,FUN_18051f800,FUN_18047c160); local_228 = 0; param_1[0x127] = 0; local_220 = 0; param_1[0x128] = 0; local_218 = 0; param_1[0x129] = 0; param_1[0x12a] = 0; param_1[299] = 0; param_1[300] = 0; *(undefined4 *)(param_1 + 0x12d) = 0; *(undefined4 *)((longlong)param_1 + 0x96c) = 0x3f800000; puVar1 = param_1 + 0x12e; local_340 = puVar1; FUN_180564340(puVar1); uVar3 = FUN_180529410(local_178,DAT_1824c441c,DAT_1824c45e0,DAT_1824c3da8); FUN_180485290(param_1 + 0x131,uVar3); FUN_180473170(local_e0); FUN_180473170(local_120); FUN_180473170(local_160); FUN_1805653d0(param_1 + 0x14c,DAT_1824c4734,DAT_1824c4468,DAT_1824c3f48); FUN_1813cc760(param_1 + 0x173); local_198 = _DAT_1824c4830; uStack_190 = _UNK_1824c4838; local_188 = DAT_1824c4388; local_184 = DAT_1824c4408; local_180 = DAT_1824c4424; puVar4 = (undefined4 *)FUN_18049b2a0(local_1b8,&local_198,local_17c); local_1e8 = *puVar4; uStack_1e4 = puVar4[1]; uStack_1e0 = puVar4[2]; uStack_1dc = puVar4[3]; uVar3 = FUN_180473130(local_400); FUN_180568810(param_1 + 0x176,&local_1e8,uVar3); local_2d8 = param_2 + 0x338; FUN_1811e4f60(param_1 + 0x179,local_2d8); FUN_18051f800(param_1 + 0x17c); FUN_18051f800(param_1 + 0x17d); FUN_18051f800(param_1 + 0x17e); FUN_180564de0(param_1 + 0x17f); FUN_181358fe0(param_1 + 0x182,param_2); FUN_180560700(param_1 + 0x184,param_2); FUN_18051f800(param_1 + 0x481a8); puVar5 = (undefined8 *)FUN_181249f00(local_210,"selected band"); local_2a8 = param_2 + 0x178; uVar3 = FUN_18119aa60(local_2a8,*puVar5); param_1[0x481a9] = uVar3; FUN_18051f800(param_1 + 0x481aa); local_398 = FUN_1811316e0(0x978); uVar3 = FUN_1814d77e0(local_398,param_1,0); FUN_180485410(param_1 + 0x481ab,uVar3); uVar6 = (uint)&stack0x00000000 & 0x2aff; uVar6 = ((uVar6 + 1) * uVar6 + 7) % 0x51; local_3c0 = ((int)(-uVar6 | uVar6) >> 0x1f) * -0xb44a ^ 0xbaca; local_3bc = 0xa50; do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); FUN_1813cc160(param_1); local_3e0 = 0x1ffc; FUN_18124a880(local_3a0,"Soothe2AudioProcessorEditor"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,local_3a0); FUN_18124a7e0(local_3a0); puVar4 = (undefined4 *)FUN_1812a32b0(local_2a0,0xff5c7384); uVar2 = *puVar4; puVar4 = (undefined4 *)FUN_1805679c0(puVar1,0); *puVar4 = uVar2; return puVar4; } ############ FUN_ 18140dda0 size=272 ############ undefined8 * FUN_18140dda0(undefined8 *param_1,undefined8 param_2,undefined8 *param_3) { undefined8 **ppuVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *local_res8; undefined8 local_res10; undefined8 local_88; undefined4 local_80; undefined8 local_78; undefined8 uStack_70; undefined **local_68; undefined4 local_60; undefined4 uStack_5c; undefined4 uStack_58; undefined4 uStack_54; undefined ***local_30; *param_1 = 0; ppuVar1 = (undefined8 **)(param_1 + 1); *ppuVar1 = (undefined8 *)0x0; *(undefined4 *)(param_1 + 2) = 0; *(undefined8 *)((longlong)param_1 + 0x14) = 0x3f800000; local_res8 = param_1; InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)param_1 + 0x1c)); local_78 = param_2; uStack_70 = param_1; local_res10 = FUN_1811316e0(0x88); local_88 = *param_3; local_80 = *(undefined4 *)(param_3 + 1); local_68 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_60 = (undefined4)local_78; uStack_5c = local_78._4_4_; uStack_58 = (undefined4)uStack_70; uStack_54 = uStack_70._4_4_; local_30 = &local_68; puVar3 = (undefined8 *) FUN_1813bb890(local_res10,(longlong)param_1 + 0x14,param_1 + 2,&local_68,&local_88); if (ppuVar1 == &local_res8) { if (puVar3 == (undefined8 *)0x0) { return param_1; } puVar4 = (undefined8 *)*puVar3; } else { puVar2 = *ppuVar1; *ppuVar1 = puVar3; if (puVar2 == (undefined8 *)0x0) { return param_1; } puVar4 = (undefined8 *)*puVar2; puVar3 = puVar2; } (*(code *)*puVar4)(puVar3,1); return param_1; } ############ FUN_ 1814519d0 size=457 ############ void FUN_1814519d0(longlong param_1) { longlong *plVar1; char cVar2; uint *puVar3; longlong lVar4; uint *puVar5; uint **ppuVar6; uint *puVar7; uint *puVar8; uint *puVar9; uint local_res8 [2]; uint *local_res10; uint *local_res18 [2]; local_res8[0] = *(uint *)(param_1 + 0x11c); puVar3 = (uint *)FUN_1811316e0(200); local_res10 = puVar3; memset(puVar3,0,200); FUN_18056b680(puVar3); *(undefined ***)puVar3 = PresetPanelSeparator::vftable; *(undefined ***)(puVar3 + 0x2c) = PresetPanelSeparator::vftable; plVar1 = (longlong *)(param_1 + 0x120); puVar9 = (uint *)*plVar1; cVar2 = *(char *)((longlong)*(uint **)(puVar9 + 2) + 0x19); puVar8 = puVar9; puVar7 = *(uint **)(puVar9 + 2); while (cVar2 == '\0') { if ((int)puVar7[8] < (int)local_res8[0]) { puVar5 = *(uint **)(puVar7 + 4); puVar7 = puVar8; } else { puVar5 = *(uint **)puVar7; } puVar8 = puVar7; puVar7 = puVar5; cVar2 = *(char *)((longlong)puVar5 + 0x19); } local_res18[0] = puVar3; if ((puVar8 == puVar9) || ((int)local_res8[0] < (int)puVar8[8])) { local_res10 = local_res8; lVar4 = FUN_180481d40(plVar1,local_res8[0],&local_res10); FUN_18057dd90(plVar1,&local_res10,puVar8,lVar4 + 0x20,lVar4); puVar8 = local_res10; } ppuVar6 = (uint **)(puVar8 + 10); puVar9 = puVar3; if (ppuVar6 != local_res18) { puVar9 = (uint *)0x0; puVar8 = *ppuVar6; *ppuVar6 = puVar3; if (puVar8 != (uint *)0x0) { (*(code *)**(undefined8 **)puVar8)(puVar8,1); } } if (puVar9 != (uint *)0x0) { (*(code *)**(undefined8 **)puVar9)(puVar9,1); } puVar9 = (uint *)*plVar1; cVar2 = *(char *)((longlong)*(uint **)(puVar9 + 2) + 0x19); puVar8 = puVar9; puVar7 = *(uint **)(puVar9 + 2); while (cVar2 == '\0') { if ((int)puVar7[8] < (int)local_res8[0]) { puVar3 = *(uint **)(puVar7 + 4); puVar7 = puVar8; } else { puVar3 = *(uint **)puVar7; } puVar8 = puVar7; puVar7 = puVar3; cVar2 = *(char *)((longlong)puVar3 + 0x19); } if ((puVar8 == puVar9) || ((int)local_res8[0] < (int)puVar8[8])) { local_res10 = local_res8; lVar4 = FUN_180481d40(plVar1,local_res8[0],&local_res10); FUN_18057dd90(plVar1,&local_res10,puVar8,lVar4 + 0x20,lVar4); puVar8 = local_res10; } plVar1 = *(longlong **)(puVar8 + 10); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1 + 0x138,plVar1,0xffffffff); } return; } ############ FUN_ 18148bbe0 size=559 ############ undefined8 * FUN_18148bbe0(undefined8 *param_1) { longlong *plVar1; longlong *plVar2; longlong *plVar3; int iVar4; undefined8 *puVar5; undefined8 *puVar6; longlong *plVar7; undefined1 local_res10 [8]; undefined1 local_res18 [8]; FUN_18056b680(); FUN_18049c4e0(local_res10,"addKeywordMenuItem"); FUN_1815fb460(param_1 + 0x19,local_res10); puVar5 = param_1 + 0x1d; *param_1 = PresetAddKeywordMenuItem::vftable; param_1[0x16] = PresetAddKeywordMenuItem::vftable; param_1[0x19] = PresetAddKeywordMenuItem::vftable; *puVar5 = PresetAddKeywordMenuItem::vftable; param_1[0x1e] = PresetAddKeywordMenuItem::vftable; param_1[0x1f] = PresetAddKeywordMenuItem::vftable; param_1[0x20] = std::_Func_impl_no_alloc<,void,juce::String>:: vftable; param_1[0x27] = param_1 + 0x20; *(undefined4 *)(param_1 + 0x28) = 0; plVar1 = param_1 + 0x29; FUN_181601800(plVar1,1); FUN_18049c4e0(local_res10,&DAT_182203adc); FUN_1815ef4d0(param_1 + 0x92,local_res10); (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); (**(code **)(param_1[0x92] + 0x58))(param_1 + 0x92,1); FUN_181343cc0(param_1,param_1 + 0x92,0xffffffff); FUN_18049c4e0(local_res18,"add keyword..."); FUN_181600150(plVar1,local_res18); FUN_1812e14a0(plVar1,param_1 + 0x1f,0); if (puVar5 != (undefined8 *)0x0) { plVar2 = param_1 + 0xbe; plVar7 = (longlong *)*plVar2; iVar4 = *(int *)((longlong)param_1 + 0x5fc); plVar3 = plVar7 + iVar4; for (; plVar7 != plVar3; plVar7 = plVar7 + 1) { if (puVar5 == (undefined8 *)*plVar7) goto LAB_18148bda0; } if (*(int *)(param_1 + 0xbf) < iVar4 + 1) { FUN_18047cb30(plVar2,iVar4 + 9 + (iVar4 + 1) / 2 & 0xfffffff8); } iVar4 = *(int *)((longlong)param_1 + 0x5fc); *(int *)((longlong)param_1 + 0x5fc) = iVar4 + 1; *(undefined8 **)(*plVar2 + (longlong)iVar4 * 8) = puVar5; } LAB_18148bda0: FUN_18133e2b0(plVar1,param_1 + 0x1e); if (param_1[0xd] == 0) { puVar6 = (undefined8 *)FUN_1811316e0(0x30); *puVar6 = juce::StandardCachedComponentImage::vftable; puVar6[1] = 0; puVar6[2] = 0; puVar6[3] = 0; puVar6[4] = param_1; *(undefined4 *)(puVar6 + 5) = 0x3f800000; puVar5 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar6; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } } return param_1; } ############ FUN_ 1815ef7f0 size=294 ############ undefined8 * FUN_1815ef7f0(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; undefined8 *puVar3; uint *_Memory; longlong *plVar4; longlong local_res18; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; puVar3 = param_1; plVar4 = param_2; FUN_1813453e0(); puVar3[0x17] = 0; *puVar3 = Styled::vftable; puVar3[0x16] = Styled::vftable; *(undefined1 *)(puVar3 + 0x18) = 0; local_res18 = *plVar4; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } FUN_1815fb460(param_1 + 0x19,&local_res18,param_3,param_4,uVar5); *param_1 = CloudyPopupMenuLabel::vftable; param_1[0x16] = CloudyPopupMenuLabel::vftable; param_1[0x19] = CloudyPopupMenuLabel::vftable; if (param_1[0xd] == 0) { puVar2 = (undefined8 *)FUN_1811316e0(0x30); *puVar2 = juce::StandardCachedComponentImage::vftable; puVar2[1] = 0; puVar2[2] = 0; puVar2[3] = 0; puVar2[4] = param_1; *(undefined4 *)(puVar2 + 5) = 0x3f800000; puVar3 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar2; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } } _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 1814b3a40 size=1158 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814b3a40(longlong param_1) { LPCRITICAL_SECTION lpCriticalSection; longlong *plVar1; longlong lVar2; bool bVar3; void *_Memory; char cVar4; int iVar5; uint uVar6; void *pvVar7; undefined8 *puVar8; uint *puVar9; undefined1 auStack_128 [32]; longlong *local_108; undefined4 local_f8; longlong local_f0; longlong local_e8; longlong local_e0; longlong local_d8; longlong local_d0; longlong local_c8; longlong local_c0; longlong *local_b8; undefined8 local_a8; undefined4 uStack_a0; undefined4 uStack_9c; undefined8 local_98; undefined4 uStack_90; undefined4 uStack_8c; longlong local_88 [2]; LPCRITICAL_SECTION local_78; undefined *local_70; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; longlong *local_48; undefined1 local_40 [8]; ulonglong local_38; local_88[1] = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_128; iVar5 = 0; local_f8 = 0; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x18); local_78 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); LOCK(); cVar4 = *(char *)(param_1 + 0xb8); *(char *)(param_1 + 0xb8) = '\x01'; UNLOCK(); if (cVar4 == '\0') { plVar1 = (longlong *)(param_1 + -0xd8); if (plVar1 == (longlong *)0x0) { local_e0 = 0; } else { local_e0 = param_1 + -0x10; } local_70 = &DAT_1826737d0; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_1826737d0); pvVar7 = DAT_182673948; if (DAT_182673663 == '\0') { DAT_182673663 = '\x01'; FUN_18114e850(); local_b8 = (longlong *)FUN_1811316e0(0x10); local_108 = &local_e0; pvVar7 = (void *)FUN_18048d490(local_b8,FUN_18114e8b0,param_1 + 0x48,param_1 + 0x50); _Memory = DAT_182673948; if (DAT_182673948 != (void *)0x0) { if (*(int *)((longlong)DAT_182673948 + 8) == 0) { DAT_182673948 = pvVar7; /* WARNING: Subroutine does not return */ free(_Memory); } DAT_182673948 = pvVar7; /* WARNING: Subroutine does not return */ terminate(); } } DAT_182673948 = pvVar7; LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_1826737d0); *(undefined4 *)(param_1 + 0xe8) = 0; FUN_18133e970(*(undefined8 *)(param_1 + 0xd0),0); FUN_18049c4e0(&local_d8,"Checking..."); FUN_181347ea0(*(undefined8 *)(param_1 + 0xd0),&local_d8); puVar9 = (uint *)(local_d8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } (**(code **)(*plVar1 + 0x108))(plVar1); uStack_9c = *(undefined4 *)(param_1 + -0xac); uStack_a0 = *(undefined4 *)(param_1 + -0xb0); local_a8 = 0; local_68 = 0; uStack_64 = 0; uStack_60 = uStack_a0; uStack_5c = uStack_9c; FUN_181342870(plVar1,&local_68,1); } else { LOCK(); cVar4 = *(char *)(param_1 + 0xb9); *(char *)(param_1 + 0xb9) = '\0'; UNLOCK(); if (cVar4 == '\0') { LOCK(); cVar4 = *(char *)(param_1 + 0xba); *(char *)(param_1 + 0xba) = '\0'; UNLOCK(); if (cVar4 == '\0') goto LAB_1814b3eb2; FUN_18049c4e0(&local_c0,"Check again"); FUN_181347ea0(*(undefined8 *)(param_1 + 0xd0),&local_c0); puVar9 = (uint *)(local_c0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_18133e970(*(undefined8 *)(param_1 + 0xd0),1); (**(code **)(*(longlong *)(param_1 + -0xd8) + 0x108))(param_1 + -0xd8); FUN_18134bdf0(param_1 + -0xd8); } else { local_f0 = *(longlong *)(param_1 + 0x68); if ((*(uint *)(local_f0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f0 + -0x10) = *(int *)(local_f0 + -0x10) + 1; UNLOCK(); } local_b8 = &local_f0; lVar2 = *(longlong *)(param_1 + 0xe0); if ((*(uint *)(local_f0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f0 + -0x10) = *(int *)(local_f0 + -0x10) + 1; UNLOCK(); } local_e8 = local_f0; FUN_1815ef610(lVar2 + 0x878,&local_e8); puVar9 = (uint *)(local_f0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_18133e970(*(undefined8 *)(param_1 + 0xd0),1); if (*(int *)(param_1 + 0xe8) == 2) { puVar8 = (undefined8 *) (**(code **)(*(longlong *)(param_1 + 0xf0) + 0x20)) ((longlong *)(param_1 + 0xf0),&local_48); local_f8 = 1; (**(code **)(*(longlong *)*puVar8 + 0x20))((longlong *)*puVar8,local_88,puVar8 + 1); local_f8 = 5; if (local_88[0] != *(longlong *)(param_1 + 0x60)) { iVar5 = FUN_18048cbc0(local_88[0],*(undefined8 *)(param_1 + 0x60)); } puVar9 = (uint *)(local_88[0] + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((iVar5 == 0) || (cVar4 = FUN_181345240(param_1 + -0xd8), cVar4 != '\0')) { bVar3 = false; } else { bVar3 = true; } (**(code **)(*local_48 + 0xb0))(local_48,local_40); if (bVar3) { plVar1 = *(longlong **)(param_1 + 0x58); *(undefined1 *)(plVar1 + 0x23) = 1; *(undefined1 *)(plVar1[0x22] + 0x10) = 1; (**(code **)(*plVar1 + 0x108))(); } FUN_18049c4e0(&local_d0,"Download"); FUN_181347ea0(*(undefined8 *)(param_1 + 0xd0),&local_d0); puVar9 = (uint *)(local_d0 + -0x10); uVar6 = *puVar9; LAB_1814b3dc4: if ((uVar6 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } else if (*(int *)(param_1 + 0xe8) == 1) { FUN_18049c4e0(&local_c8,"Check again"); FUN_181347ea0(*(undefined8 *)(param_1 + 0xd0),&local_c8); puVar9 = (uint *)(local_c8 + -0x10); uVar6 = *puVar9; goto LAB_1814b3dc4; } (**(code **)(*(longlong *)(param_1 + -0xd8) + 0x108))(param_1 + -0xd8); uStack_8c = *(undefined4 *)(param_1 + -0xac); uStack_90 = *(undefined4 *)(param_1 + -0xb0); local_98 = 0; local_58 = 0; uStack_54 = 0; uStack_50 = uStack_90; uStack_4c = uStack_8c; FUN_181342870(param_1 + -0xd8,&local_58,1); } } FUN_1812a7720(param_1); LAB_1814b3eb2: LeaveCriticalSection(lpCriticalSection); } ############ FUN_ 1814c78b0 size=494 ############ void FUN_1814c78b0(longlong param_1,longlong param_2) { longlong lVar1; undefined8 *puVar2; undefined8 uVar3; longlong *_Memory; uint uVar4; uint uVar5; int iVar6; undefined8 uVar7; undefined8 uVar8; longlong lVar9; void *pvVar10; int iVar11; uint uVar12; longlong *plVar14; ulonglong uVar15; ulonglong uVar16; undefined8 uVar17; ulonglong uVar13; uVar17 = 0xfffffffffffffffe; uVar15 = 0; uVar16 = uVar15; uVar4 = 0xffffffff; do { uVar12 = 0; uVar13 = uVar15; for (puVar2 = *(undefined8 **)(param_2 + 8); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { uVar12 = (int)uVar13 + 1; uVar13 = (ulonglong)uVar12; } puVar2 = (undefined8 *)(param_2 + 8); uVar5 = uVar4; if ((int)uVar12 <= (int)(uVar4 + 1)) { return; } while ((-1 < (int)uVar5 && ((undefined8 *)*puVar2 != (undefined8 *)0x0))) { puVar2 = (undefined8 *)*puVar2; uVar5 = uVar5 - 1; } uVar3 = *puVar2; uVar13 = uVar15; if ((uVar16 != 0) && (uVar4 < *(uint *)(param_1 + 0xf4))) { uVar13 = *(ulonglong *)(*(longlong *)(param_1 + 0xe8) + -8 + uVar16 * 8); } uVar7 = FUN_1811316e0(0xd0); uVar8 = FUN_1811f0330(*(undefined8 *)(param_1 + 0x138)); lVar9 = FUN_1814ccd30(uVar7,uVar3,uVar8,uVar13,uVar17); lVar1 = param_1 + 200; if (lVar1 != 0) { _Memory = *(longlong **)(lVar9 + 8); iVar6 = *(int *)(lVar9 + 0x14); for (plVar14 = _Memory; plVar14 != _Memory + iVar6; plVar14 = plVar14 + 1) { if (lVar1 == *plVar14) goto LAB_1814c7a3d; } iVar11 = iVar6 + 1; if ((int)*(uint *)(lVar9 + 0x10) < iVar11) { if (iVar11 < 0) { iVar11 = iVar6 + 2; } uVar12 = iVar6 + 9 + (iVar11 >> 1) & 0xfffffff8; if (*(uint *)(lVar9 + 0x10) != uVar12) { if ((int)uVar12 < 1) { /* WARNING: Subroutine does not return */ free(_Memory); } if (_Memory == (longlong *)0x0) { pvVar10 = malloc((longlong)(int)uVar12 * 8); *(void **)(lVar9 + 8) = pvVar10; } else { pvVar10 = realloc(_Memory,(longlong)(int)uVar12 * 8); *(void **)(lVar9 + 8) = pvVar10; } } *(uint *)(lVar9 + 0x10) = uVar12; } iVar6 = *(int *)(lVar9 + 0x14); *(int *)(lVar9 + 0x14) = iVar6 + 1; *(longlong *)(*(longlong *)(lVar9 + 8) + (longlong)iVar6 * 8) = lVar1; } LAB_1814c7a3d: iVar11 = *(int *)(param_1 + 0xf4); iVar6 = iVar11 + 1; if (*(int *)(param_1 + 0xf0) < iVar6) { if (iVar6 < 0) { iVar6 = iVar11 + 2; } FUN_18047cb30((longlong *)(param_1 + 0xe8),iVar11 + 9 + (iVar6 >> 1) & 0xfffffff8); } iVar6 = *(int *)(param_1 + 0xf4); *(int *)(param_1 + 0xf4) = iVar6 + 1; *(longlong *)(*(longlong *)(param_1 + 0xe8) + (longlong)iVar6 * 8) = lVar9; uVar16 = uVar16 + 1; uVar4 = uVar4 + 1; } while( true ); } ############ FUN_ 1814cbc00 size=2392 ############ void FUN_1814cbc00(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { LPCRITICAL_SECTION lpCriticalSection; longlong *plVar1; longlong lVar2; longlong *plVar3; double dVar4; int iVar5; uint uVar6; longlong lVar7; undefined8 *puVar8; undefined8 uVar9; undefined4 *puVar10; undefined4 *puVar11; int iVar12; uint *puVar13; uint *_Memory; void *pvVar14; int iVar15; undefined4 extraout_XMM0_Da; undefined4 extraout_XMM0_Da_00; undefined4 uVar16; double dVar17; float fVar18; float fVar19; float fVar21; float fVar22; float fVar23; int local_res20; undefined4 *puVar24; undefined8 local_270; void *pvStack_268; undefined8 local_260; longlong local_258; undefined8 local_250; void *pvStack_248; undefined8 local_240; longlong local_238; undefined8 local_230; undefined4 *puStack_228; undefined4 *local_220; longlong local_218; longlong local_210; undefined8 local_208; float fStack_200; float fStack_1fc; undefined1 local_1f8; undefined1 uStack_1f7; undefined6 uStack_1f6; float local_1f0; float fStack_1ec; float fStack_1e8; float fStack_1e4; ulonglong local_1e0; undefined *local_1d8; undefined8 local_1d0; undefined8 local_1c8; undefined8 local_1c0; undefined8 local_1b8; undefined8 local_1b0; longlong local_1a8; longlong local_1a0; longlong *local_198; undefined8 local_190; undefined8 uStack_188; ulonglong local_180; undefined1 local_178 [8]; void *local_170; undefined8 local_168; longlong local_160; undefined1 local_158 [24]; undefined8 local_140; undefined8 uStack_138; undefined8 local_130; longlong local_128; undefined4 local_120; undefined4 uStack_11c; undefined4 uStack_118; undefined4 uStack_114; ulonglong local_110; undefined4 *local_108; undefined1 local_100; undefined8 local_f8; undefined8 local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 local_c0; undefined8 local_b8; LPCRITICAL_SECTION local_b0; undefined8 local_a8; undefined8 local_a0; longlong local_98; undefined8 local_90; ulonglong uVar20; local_a8 = 0xfffffffffffffffe; iVar15 = 0; puVar8 = *(undefined8 **)(param_2 + 8); while( true ) { if (puVar8 == (undefined8 *)0x0) { return; } iVar5 = FUN_18049bb30(puVar8[3],"REQUIREMENTS"); dVar4 = DAT_1824c3fd8; if (iVar5 == 0) break; puVar8 = (undefined8 *)*puVar8; } local_198 = puVar8 + 1; for (puVar8 = (undefined8 *)*local_198; puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { iVar15 = iVar15 + 1; } local_res20 = 0; if (0 < iVar15) { local_1d8 = &DAT_1822945e4; plVar1 = local_198; iVar5 = local_res20; joined_r0x0001814cbcf8: do { plVar3 = plVar1; iVar5 = iVar5 + -1; if (-1 < iVar5) { plVar1 = (longlong *)*plVar3; if (plVar1 != (longlong *)0x0) goto joined_r0x0001814cbcf8; } lVar2 = *plVar3; local_230 = 0; puStack_228 = (undefined4 *)0x0; local_220 = (undefined4 *)0x0; local_250 = 0; pvStack_248 = (void *)0x0; local_240 = 0; lVar7 = FUN_18122bf10(); lpCriticalSection = (LPCRITICAL_SECTION)(lVar7 + 0x10); local_b0 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); FUN_18122c130(lVar7); FUN_181211b90(&local_238,lVar7,&local_1d8); LeaveCriticalSection(lpCriticalSection); local_190 = 0; uStack_188 = 0; iVar5 = 0; puVar24 = (undefined4 *)0x0; while( true ) { iVar12 = 0; for (puVar8 = *(undefined8 **)(lVar2 + 8); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { iVar12 = iVar12 + 1; } if (iVar12 <= iVar5) break; plVar1 = (longlong *)(lVar2 + 8); iVar12 = iVar5; do { plVar3 = plVar1; iVar12 = iVar12 + -1; if (iVar12 < 0) break; plVar1 = (longlong *)*plVar3; } while (plVar1 != (longlong *)0x0); lVar7 = *plVar3; iVar12 = FUN_18048cbc0(*(undefined8 *)(lVar7 + 0x18),"PARAMETER"); if (iVar12 == 0) { for (puVar8 = *(undefined8 **)(lVar7 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_b8 = puVar8[1]; iVar12 = FUN_18048cbc0(local_b8,&DAT_1821e8bc4); if (iVar12 == 0) { puVar8 = puVar8 + 2; goto LAB_1814cbe20; } } puVar8 = (undefined8 *)FUN_181220d40(); LAB_1814cbe20: local_c0 = *puVar8; uVar9 = FUN_18119aa60(param_3); for (puVar8 = *(undefined8 **)(lVar7 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_c8 = puVar8[1]; iVar12 = FUN_18048cbc0(local_c8,"value"); if (iVar12 == 0) { local_1d0 = puVar8[2]; dVar17 = (double)FUN_18049bd80(&local_1d0); goto LAB_1814cbe6c; } } dVar17 = 0.0; LAB_1814cbe6c: fVar21 = (float)dVar17; for (puVar8 = *(undefined8 **)(lVar7 + 0x10); dVar17 = dVar4, puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_90 = puVar8[1]; iVar12 = FUN_18048cbc0(local_90,"errorMargin"); if (iVar12 == 0) { local_1c8 = puVar8[2]; dVar17 = (double)FUN_18049bd80(&local_1c8); break; } } fVar18 = (float)dVar17; uVar20 = (ulonglong)(uint)fVar18; for (puVar8 = *(undefined8 **)(lVar7 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_a0 = puVar8[1]; iVar12 = FUN_18048cbc0(local_a0,"passBy"); fVar18 = (float)uVar20; if (iVar12 == 0) goto LAB_1814cbee5; } puVar8 = (undefined8 *)0x0; LAB_1814cbee5: fStack_1fc = fVar18; local_1f8 = puVar8 != (undefined8 *)0x0; uStack_1f7 = 0; local_208 = uVar9; fStack_200 = fVar21; if (local_220 == puStack_228) { FUN_18057b580(&local_230,puStack_228,&local_208); FUN_1811be290(uVar9,param_1); iVar5 = iVar5 + 1; } else { local_208._0_4_ = (undefined4)uVar9; local_208._4_4_ = (undefined4)((ulonglong)uVar9 >> 0x20); *puStack_228 = (undefined4)local_208; puStack_228[1] = local_208._4_4_; puStack_228[2] = fVar21; puStack_228[3] = fStack_1fc; *(ulonglong *)(puStack_228 + 4) = CONCAT62(uStack_1f6,(ushort)(byte)local_1f8); puStack_228 = puStack_228 + 6; FUN_1811be290(uVar9,param_1); iVar5 = iVar5 + 1; } } else { iVar12 = FUN_18048cbc0(*(undefined8 *)(lVar7 + 0x18),&DAT_182298034); if (iVar12 == 0) { local_270 = 0; pvStack_268 = (void *)0x0; local_260 = 0; local_258 = *(longlong *)(lVar7 + 0x18); if ((*(uint *)(local_258 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_258 + -0x10) = *(int *)(local_258 + -0x10) + 1; UNLOCK(); } FUN_1812217a0(&local_270,lVar7); FUN_18049aca0(&local_240); lVar7 = local_238; pvVar14 = pvStack_248; if (pvStack_248 != (void *)0x0) { FUN_1812472e0(pvStack_248); /* WARNING: Subroutine does not return */ free(pvVar14); } local_250 = local_270; local_270 = 0; pvStack_248 = pvStack_268; pvStack_268 = (void *)0x0; local_240 = local_260; local_260 = 0; local_98 = local_238; local_238 = local_258; local_258 = lVar7; FUN_18049aca0(&local_260); puVar13 = (uint *)(local_258 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } LAB_1814cc456: iVar5 = iVar5 + 1; } else { iVar12 = FUN_18048cbc0(*(undefined8 *)(lVar7 + 0x18),"BEACON"); if (iVar12 != 0) { iVar12 = FUN_18048cbc0(*(undefined8 *)(lVar7 + 0x18),"OVERLAY"); if (iVar12 == 0) { puVar10 = (undefined4 *)FUN_1814cb5f0(extraout_XMM0_Da,local_178,lVar7); puVar11 = (undefined4 *)FUN_1811316e0(0x20); *puVar11 = *puVar10; *(undefined8 *)(puVar11 + 2) = 0; *(undefined8 *)(puVar11 + 4) = 0; *(undefined8 *)(puVar11 + 6) = 0; *(undefined8 *)(puVar11 + 2) = *(undefined8 *)(puVar10 + 2); *(undefined8 *)(puVar11 + 4) = *(undefined8 *)(puVar10 + 4); *(undefined8 *)(puVar11 + 6) = *(undefined8 *)(puVar10 + 6); *(undefined8 *)(puVar10 + 2) = 0; *(undefined8 *)(puVar10 + 4) = 0; *(undefined8 *)(puVar10 + 6) = 0; uVar16 = extraout_XMM0_Da_00; if (puVar24 != (undefined4 *)0x0) { uVar16 = FUN_1805798f0(); } puVar24 = puVar11; if (local_170 != (void *)0x0) { FUN_180579ac0(uVar16,local_170,local_168); pvVar14 = local_170; if ((0xfff < (local_160 - (longlong)local_170 & 0xffffffffffffffe0U)) && (pvVar14 = *(void **)((longlong)local_170 + -8), 0x1f < (ulonglong)((longlong)local_170 + (-8 - (longlong)pvVar14)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar14); } } goto LAB_1814cc456; } FUN_18049c4e0(&local_218,"rectangle"); for (puVar8 = *(undefined8 **)(lVar7 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_f8 = puVar8[1]; iVar12 = FUN_18048cbc0(local_f8,&DAT_182294d84); if (iVar12 == 0) { local_210 = puVar8[2]; puVar13 = (uint *)(local_210 + -0x10); uVar6 = *puVar13; goto LAB_1814cc115; } } puVar13 = (uint *)(local_218 + -0x10); uVar6 = *puVar13; local_210 = local_218; LAB_1814cc115: if ((uVar6 & 0x30000000) == 0) { LOCK(); *puVar13 = *puVar13 + 1; UNLOCK(); } _Memory = (uint *)(local_218 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar6 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } for (puVar8 = *(undefined8 **)(lVar7 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_f0 = puVar8[1]; iVar12 = FUN_18048cbc0(local_f0,&DAT_1821e8ba4); if (iVar12 == 0) { local_1c0 = puVar8[2]; dVar17 = (double)FUN_18049bd80(&local_1c0); goto LAB_1814cc17e; } } dVar17 = 0.0; LAB_1814cc17e: fVar21 = (float)dVar17; for (puVar8 = *(undefined8 **)(lVar7 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_e8 = puVar8[1]; iVar12 = FUN_18048cbc0(local_e8,&DAT_1821e8bb4); if (iVar12 == 0) { local_1b8 = puVar8[2]; dVar17 = (double)FUN_18049bd80(&local_1b8); goto LAB_1814cc1ba; } } dVar17 = 0.0; LAB_1814cc1ba: fVar18 = (float)dVar17; for (puVar8 = *(undefined8 **)(lVar7 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_e0 = puVar8[1]; iVar12 = FUN_18048cbc0(local_e0,"width"); if (iVar12 == 0) { local_1b0 = puVar8[2]; dVar17 = (double)FUN_18049bd80(&local_1b0); goto LAB_1814cc1fa; } } dVar17 = 0.0; LAB_1814cc1fa: fVar23 = (float)dVar17; for (puVar8 = *(undefined8 **)(lVar7 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_d8 = puVar8[1]; iVar12 = FUN_18048cbc0(local_d8,"height"); if (iVar12 == 0) { local_1a8 = puVar8[2]; dVar17 = (double)FUN_18049bd80(&local_1a8); goto LAB_1814cc23a; } } dVar17 = 0.0; LAB_1814cc23a: fVar22 = (float)dVar17; for (puVar8 = *(undefined8 **)(lVar7 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_d0 = puVar8[1]; iVar12 = FUN_18048cbc0(local_d0,"angle"); if (iVar12 == 0) { local_1a0 = puVar8[2]; dVar17 = (double)FUN_18049bd80(&local_1a0); goto LAB_1814cc27a; } } dVar17 = 0.0; LAB_1814cc27a: fVar19 = (float)dVar17; iVar12 = FUN_18048cbc0(local_210,"ellipse"); local_190 = CONCAT44(fVar18,fVar21); uStack_188 = CONCAT44(fVar22,fVar23); local_1e0 = (ulonglong)CONCAT14(iVar12 != 0,fVar19); local_180 = (ulonglong)CONCAT14(iVar12 != 0,fVar19); local_1f0 = fVar21; fStack_1ec = fVar18; fStack_1e8 = fVar23; fStack_1e4 = fVar22; if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } iVar5 = iVar5 + 1; } } } FUN_1805791c0(local_158,&local_230); local_140 = 0; uStack_138 = 0; local_130 = 0; local_128 = local_238; if ((*(uint *)(local_238 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_238 + -0x10) = *(int *)(local_238 + -0x10) + 1; UNLOCK(); } FUN_1812217a0(&local_140,&local_250); local_120 = (undefined4)local_190; uStack_11c = local_190._4_4_; uStack_118 = (undefined4)uStack_188; uStack_114 = uStack_188._4_4_; local_110 = local_180; local_100 = 0; local_108 = puVar24; if (*(longlong *)(param_1 + 0x80) == *(longlong *)(param_1 + 0x78)) { FUN_18057b0a0(param_1 + 0x70,*(longlong *)(param_1 + 0x78),local_158,param_4,0); } else { FUN_18057b010(); *(longlong *)(param_1 + 0x78) = *(longlong *)(param_1 + 0x78) + 0x60; } if (local_108 != (undefined4 *)0x0) { FUN_1805798f0(); } FUN_1812472e0(&local_140); FUN_180569d10(local_158); FUN_1812472e0(&local_250); FUN_180569d10(&local_230); iVar5 = local_res20 + 1; plVar1 = local_198; local_res20 = iVar5; } while (iVar5 < iVar15); } return; } ############ FUN_ 1814cc570 size=527 ############ undefined8 * FUN_1814cc570(undefined8 param_1,longlong param_2,longlong param_3) { uint *_Memory; uint uVar1; longlong lVar2; undefined8 *puVar3; undefined8 *puVar4; longlong *plVar5; undefined8 *puVar6; int iVar7; int iVar8; int iVar9; puVar3 = (undefined8 *)FUN_1811316e0(0x20); *puVar3 = 0; puVar3[1] = 0; puVar3[2] = 0; lVar2 = *(longlong *)(param_3 + 0x18); puVar3[3] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } FUN_1812217a0(puVar3,param_3); if (param_2 == 0) { return puVar3; } iVar8 = -1; do { iVar7 = 0; for (puVar4 = *(undefined8 **)(param_2 + 8); puVar4 != (undefined8 *)0x0; puVar4 = (undefined8 *)*puVar4) { iVar7 = iVar7 + 1; } iVar9 = iVar8 + 1; if (iVar7 <= iVar9) { return puVar3; } puVar4 = (undefined8 *)FUN_1811316e0(0x20); plVar5 = (longlong *)(param_2 + 8); while ((-1 < iVar8 && ((longlong *)*plVar5 != (longlong *)0x0))) { iVar8 = iVar8 + -1; plVar5 = (longlong *)*plVar5; } lVar2 = *plVar5; *puVar4 = 0; puVar4[1] = 0; puVar4[2] = 0; lVar2 = *(longlong *)(lVar2 + 0x18); puVar4[3] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } FUN_1812217a0(puVar4); for (puVar6 = (undefined8 *)puVar4[2]; puVar6 != (undefined8 *)0x0; puVar6 = (undefined8 *)*puVar6) { iVar8 = FUN_18048cbc0(puVar6[1],&DAT_1821e8b6c); if (iVar8 == 0) { plVar5 = puVar6 + 2; goto LAB_1814cc6a6; } } plVar5 = (longlong *)FUN_181220d40(); LAB_1814cc6a6: _Memory = (uint *)(*plVar5 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar6 = (undefined8 *)FUN_181220a00(puVar3,&DAT_1821e8b7c); if (puVar6 != (undefined8 *)0x0) { puVar4 = puVar3 + 1; puVar3 = (undefined8 *)puVar3[1]; break; } plVar5 = puVar3 + 1; lVar2 = puVar3[1]; while (lVar2 != 0) { plVar5 = (longlong *)*plVar5; lVar2 = *plVar5; } *plVar5 = (longlong)puVar4; iVar8 = iVar9; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } while( true ); joined_r0x0001814cc6e1: if (puVar3 == (undefined8 *)0x0) { LAB_1814cc70c: FUN_1812472e0(puVar6); /* WARNING: Subroutine does not return */ free(puVar6); } if (puVar3 == puVar6) { puVar3 = (undefined8 *)*puVar4; if (puVar3 != (undefined8 *)0x0) { *puVar4 = *puVar3; *puVar3 = 0; } goto LAB_1814cc70c; } puVar4 = puVar3; puVar3 = (undefined8 *)*puVar3; goto joined_r0x0001814cc6e1; } ############ FUN_ 1814cc790 size=646 ############ void FUN_1814cc790(longlong param_1,longlong param_2,longlong param_3,float param_4) { uint *_Memory; LPCRITICAL_SECTION p_Var1; longlong *plVar2; uint uVar3; longlong lVar4; undefined8 *puVar5; undefined8 uVar6; uint *puVar7; longlong local_res8; longlong local_res18 [2]; undefined8 *local_88; longlong local_80; char *local_78; char *local_70; longlong local_68 [2]; LPCRITICAL_SECTION local_58; LPCRITICAL_SECTION local_50; LPCRITICAL_SECTION local_48; local_68[1] = 0xfffffffffffffffe; local_80 = *(longlong *)(param_3 + 0x68); _Memory = (uint *)(local_80 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_res8 = param_1; lVar4 = FUN_181220a00(param_2,&DAT_1821e8b44,local_80); if (lVar4 != 0) { FUN_181220970(param_2,lVar4); } puVar5 = (undefined8 *)FUN_1811316e0(0x20); *puVar5 = 0; puVar5[1] = 0; puVar5[2] = 0; local_88 = puVar5; local_78 = (char *)(puVar5 + 3); lVar4 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar4 + 0x10); local_58 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar4); local_78 = "PARAM"; FUN_181211b90(puVar5 + 3,lVar4,&local_78); LeaveCriticalSection(p_Var1); lVar4 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar4 + 0x10); local_50 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar4); local_88 = (undefined8 *)&DAT_1821e8b5c; FUN_181211b90(&local_res8,lVar4,&local_88); LeaveCriticalSection(p_Var1); FUN_181246b70(puVar5,&local_res8,&local_80); puVar7 = (uint *)(local_res8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } lVar4 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar4 + 0x10); local_48 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar4); local_70 = "value"; FUN_181211b90(local_res18,lVar4,&local_70); LeaveCriticalSection(p_Var1); uVar6 = FUN_18122eaa0(local_68,(double)param_4); FUN_181246b70(puVar5,local_res18,uVar6); puVar7 = (uint *)(local_68[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_res18[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } plVar2 = (longlong *)(param_2 + 8); lVar4 = *plVar2; while (lVar4 != 0) { plVar2 = (longlong *)*plVar2; lVar4 = *plVar2; } *plVar2 = (longlong)puVar5; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1814c8e80 size=2243 ############ void FUN_1814c8e80(longlong param_1) { undefined4 uVar1; float fVar2; float fVar3; void *pvVar4; float *pfVar5; char *pcVar6; undefined8 uVar7; undefined8 uVar8; bool bVar9; float fVar10; double dVar11; DWORD DVar12; int iVar13; undefined8 *puVar14; longlong lVar15; longlong lVar16; float *pfVar17; longlong lVar18; undefined8 *puVar19; longlong *plVar20; uint uVar21; ulonglong uVar22; float *pfVar23; ulonglong uVar24; ulonglong uVar25; float *pfVar26; longlong *plVar27; double dVar28; float fVar29; float fVar30; float fVar31; float local_1c8; float fStack_1c4; float fStack_1c0; float fStack_1bc; int local_1a8; int local_1a4; int local_1a0; int local_19c; undefined8 local_198; undefined4 uStack_190; undefined4 uStack_18c; double local_188; double local_180; double local_178; double local_170; double local_168; double local_160; undefined8 local_158; undefined4 local_150; float local_14c; float local_148; float local_144; float local_140; float local_13c; float fStack_138; float fStack_134; float fStack_130; float local_12c; float local_128; float fStack_124; float fStack_120; float fStack_11c; float local_118; longlong local_110; longlong local_108 [2]; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; longlong lStack_e0; uint local_d0; dVar11 = DAT_1824c4520; fVar10 = DAT_1824c41e0; uVar25 = 0; lVar15 = *(longlong *)(param_1 + 0xd8); bVar9 = true; if ((ulonglong)(longlong)*(int *)(lVar15 + 0x88) < (ulonglong)((*(longlong *)(lVar15 + 0x78) - *(longlong *)(lVar15 + 0x70)) / 0x60)) { lVar15 = (longlong)*(int *)(lVar15 + 0x88) * 0x60 + *(longlong *)(lVar15 + 0x70); if (*(int *)(lVar15 + 0x4c) == 0) { lVar18 = *(longlong *)(param_1 + 0x128); uVar7 = *(undefined8 *)(lVar15 + 0x38); uVar8 = *(undefined8 *)(lVar15 + 0x40); pvVar4 = *(void **)(lVar18 + 0x298); *(undefined8 *)(lVar18 + 0x298) = 0; if (pvVar4 != (void *)0x0) { /* WARNING: Subroutine does not return */ free(pvVar4); } puVar14 = (undefined8 *)FUN_1811316e0(0x10); plVar27 = (longlong *)(lVar18 + 0x290); *puVar14 = uVar7; puVar14[1] = uVar8; puVar19 = puVar14; if (plVar27 == &local_110) { LAB_1814c8fe7: /* WARNING: Subroutine does not return */ free(puVar19); } puVar19 = (undefined8 *)*plVar27; *plVar27 = (longlong)puVar14; if (puVar19 != (undefined8 *)0x0) goto LAB_1814c8fe7; lVar16 = (**(code **)(*(longlong *)(lVar18 + 0xb0) + 8))(); local_140 = *(float *)(lVar16 + 0x88); local_1c8 = (float)uVar7; local_14c = local_140 * local_1c8; fStack_1c4 = (float)((ulonglong)uVar7 >> 0x20); local_148 = local_140 * fStack_1c4; fStack_1c0 = (float)uVar8; local_144 = local_140 * fStack_1c0; fStack_1bc = (float)((ulonglong)uVar8 >> 0x20); local_140 = local_140 * fStack_1bc; dVar28 = (double)local_14c + dVar11; local_188 = (double)local_144 + dVar11; local_180 = (double)local_140 + dVar11; uVar22 = (longlong)((double)local_148 + dVar11) << 0x20; uVar24 = (ulonglong)local_188 & 0xffffffff; iVar13 = local_180._0_4_; } else { lVar18 = *(longlong *)(param_1 + 0x128); fVar29 = *(float *)(lVar15 + 0x38); fVar31 = *(float *)(lVar15 + 0x3c); uVar1 = *(undefined4 *)(lVar15 + 0x48); pvVar4 = *(void **)(lVar18 + 0x290); *(undefined8 *)(lVar18 + 0x290) = 0; if (pvVar4 != (void *)0x0) { /* WARNING: Subroutine does not return */ free(pvVar4); } plVar27 = (longlong *)(lVar18 + 0xb0); lVar16 = (**(code **)(*plVar27 + 8))(plVar27); fVar2 = *(float *)(lVar16 + 0x88); local_150 = uVar1; puVar14 = (undefined8 *)FUN_1811316e0(0xc); plVar20 = (longlong *)(lVar18 + 0x298); local_158 = CONCAT44(fVar2 * fVar31,fVar2 * fVar29); *puVar14 = local_158; *(undefined4 *)(puVar14 + 1) = local_150; puVar19 = puVar14; if (plVar20 == local_108) { LAB_1814c9159: /* WARNING: Subroutine does not return */ free(puVar19); } puVar19 = (undefined8 *)*plVar20; *plVar20 = (longlong)puVar14; if (puVar19 != (undefined8 *)0x0) goto LAB_1814c9159; fVar29 = *(float *)*plVar20; fVar31 = ((float *)*plVar20)[1]; lVar16 = (**(code **)(*plVar27 + 8))(plVar27); fVar2 = *(float *)(lVar16 + 0x88); lVar16 = (**(code **)(*plVar27 + 8))(plVar27); iVar13 = (int)(fVar2 * DAT_1824c44a8); local_d0 = (uint)(*(float *)(lVar16 + 0x88) * DAT_1824c44a8); uVar24 = (ulonglong)local_d0; uVar21 = (int)fVar29 - (int)local_d0 / 2; dVar28 = (double)(ulonglong)uVar21; uVar22 = CONCAT44((int)fVar31 - iVar13 / 2,uVar21); } FUN_18134bfe0(lVar18,dVar28,uVar22 >> 0x20,uVar24,iVar13); plVar27 = *(longlong **)(param_1 + 0x128); lVar15 = *(longlong *)(lVar15 + 0x50); bVar9 = false; FUN_1812a77d0(plVar27 + 0x19,0x10); DVar12 = timeGetTime(); if (DVar12 < DAT_1826737fc) { if (DVar12 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar12; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar12; } *(DWORD *)(plVar27 + 0x54) = DVar12; (**(code **)(*plVar27 + 0x58))(plVar27,CONCAT71((uint7)(uint3)(DVar12 >> 8),1)); if (plVar27[0x52] != 0) { FUN_181411d60(plVar27 + 0x1c,&DAT_182280e54); } if (*(char *)(*(longlong *)(param_1 + 0xd8) + 0x18) != '\0') { FUN_1813bab70(*(longlong *)(param_1 + 0x148) + 0x70); } if (lVar15 == 0) goto LAB_1814c92a3; } else { plVar27 = *(longlong **)(param_1 + 0x128); FUN_1812a7720(plVar27 + 0x19); (**(code **)(*plVar27 + 0x58))(plVar27,0); FUN_181411b10(plVar27 + 0x1c,&DAT_182282b74); LAB_1814c92a3: lVar15 = *(longlong *)(*(longlong *)(param_1 + 0xd8) + 0xc0); if (lVar15 == 0) { (**(code **)(**(longlong **)(param_1 + 0x120) + 0x58))(*(longlong **)(param_1 + 0x120),0); goto LAB_1814c9571; } } *(undefined8 *)(*(longlong *)(param_1 + 0x120) + 0xd0) = *(undefined8 *)(*(longlong *)(param_1 + 0x120) + 200); pfVar5 = *(float **)(lVar15 + 0x10); for (pfVar26 = *(float **)(lVar15 + 8); pfVar26 != pfVar5; pfVar26 = pfVar26 + 8) { fVar29 = pfVar26[1]; pcVar6 = *(char **)(pfVar26 + 2); if (*pcVar6 == '\0') { lVar15 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); lVar18 = *(longlong *)(param_1 + 0x120); fStack_130 = *(float *)(lVar15 + 0x88); local_12c = (float)(uint)(fVar29 != 0.0); local_13c = fStack_130 * pfVar26[4]; fStack_138 = fStack_130 * pfVar26[5]; pfVar17 = *(float **)(lVar18 + 0xd0); fStack_134 = fStack_130 * pfVar26[6]; fStack_130 = fStack_130 * pfVar26[7]; if (*(float **)(lVar18 + 0xd8) == pfVar17) { pfVar23 = &local_13c; LAB_1814c9502: FUN_18057adf0(lVar18 + 200,pfVar17,pfVar23); } else { *pfVar17 = local_13c; pfVar17[1] = fStack_138; pfVar17[2] = fStack_134; pfVar17[3] = fStack_130; pfVar17[4] = local_12c; *(longlong *)(lVar18 + 0xd0) = *(longlong *)(lVar18 + 0xd0) + 0x14; } } else { plVar20 = *(longlong **)(*(longlong *)(param_1 + 0x130) + 0x40); plVar27 = plVar20 + *(int *)(*(longlong *)(param_1 + 0x130) + 0x4c); for (; plVar20 != plVar27; plVar20 = plVar20 + 1) { lVar15 = *plVar20; iVar13 = FUN_18048cbc0(*(undefined8 *)(lVar15 + 0x10),pcVar6); if ((iVar13 == 0) || (lVar15 = FUN_1813438f0(lVar15,pcVar6,1), lVar15 != 0)) { if (lVar15 != 0) { fVar31 = *pfVar26; lVar16 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); lVar18 = *(longlong *)(param_1 + 0x120); fVar31 = fVar31 * *(float *)(lVar16 + 0x88); uStack_f0 = *(undefined8 *)(lVar15 + 0x28); local_f8 = 0; FUN_18051df30(&local_1a8,*(undefined8 *)(lVar18 + 0x18),lVar15,&local_f8); pfVar17 = *(float **)(lVar18 + 0xd0); local_118 = (float)(uint)(fVar29 != 0.0); local_128 = (float)local_1a8 - fVar31; fStack_124 = (float)local_1a4 - fVar31; fVar31 = fVar31 * fVar10; fStack_120 = fVar31 + (float)local_1a0; if (fStack_120 <= 0.0) { fStack_120 = 0.0; } fStack_11c = fVar31 + (float)local_19c; if (fStack_11c <= 0.0) { fStack_11c = 0.0; } if (*(float **)(lVar18 + 0xd8) == pfVar17) { pfVar23 = &local_128; goto LAB_1814c9502; } *pfVar17 = local_128; pfVar17[1] = fStack_124; pfVar17[2] = fStack_120; pfVar17[3] = fStack_11c; pfVar17[4] = local_118; *(longlong *)(lVar18 + 0xd0) = *(longlong *)(lVar18 + 0xd0) + 0x14; } break; } } } } if (bVar9) { plVar27 = *(longlong **)(param_1 + 0x120); FUN_181342bf0(plVar27); (**(code **)(*plVar27 + 0x58))(plVar27,1); uStack_190 = (undefined4)plVar27[5]; uStack_18c = *(undefined4 *)((longlong)plVar27 + 0x2c); lStack_e0 = plVar27[5]; local_198 = 0; local_e8 = 0; FUN_181342870(plVar27,&local_e8,1); } LAB_1814c9571: plVar27 = *(longlong **)(param_1 + 0xd18); uVar22 = (ulonglong)((longlong)(plVar27 + *(int *)(param_1 + 0xd24)) + (7 - (longlong)plVar27)) >> 3; if (plVar27 + *(int *)(param_1 + 0xd24) < plVar27) { uVar22 = uVar25; } if (uVar22 != 0) { do { lVar15 = *plVar27; fVar29 = *(float *)(lVar15 + 0xf4); plVar20 = (longlong *)(lVar15 + 0xb0); lVar18 = (**(code **)(*plVar20 + 8))(plVar20); fVar31 = *(float *)(lVar15 + 0xf0); fVar29 = fVar29 * *(float *)(lVar18 + 0x88); fVar2 = *(float *)(lVar15 + 0x3e0); lVar18 = (**(code **)(*plVar20 + 8))(plVar20); fVar30 = fVar29 * fVar2 * fVar10; fVar31 = fVar31 * *(float *)(lVar18 + 0x88); *(float *)(lVar15 + 0x220) = fVar29; *(float *)(lVar15 + 500) = fVar31 - fVar30; (**(code **)(*(longlong *)(lVar15 + 0xf8) + 0x160))(); iVar13 = *(int *)(lVar15 + 0x124); fVar29 = *(float *)(lVar15 + 0xe8); lVar18 = (**(code **)(*plVar20 + 8))(plVar20); fVar2 = *(float *)(lVar15 + 0xec); fVar3 = *(float *)(lVar18 + 0x88); lVar18 = (**(code **)(*plVar20 + 8))(plVar20); local_170 = (double)(fVar2 * *(float *)(lVar18 + 0x88)) + dVar11; local_178 = (double)(fVar3 * fVar29) + dVar11; local_168 = (double)fVar31 + dVar11; local_160 = (double)((float)iVar13 + fVar30) + dVar11; FUN_18134bfe0(lVar15,local_178,(ulonglong)local_170 & 0xffffffff, (ulonglong)local_168 & 0xffffffff,local_160._0_4_); FUN_181344f60(lVar15,0); plVar27 = plVar27 + 1; uVar25 = uVar25 + 1; } while (uVar25 != uVar22); } return; } ############ FUN_ 1814cf920 size=379 ############ void FUN_1814cf920(longlong param_1,longlong param_2,undefined4 param_3) { longlong *plVar1; longlong *plVar2; float fVar3; void *_Memory; longlong lVar4; undefined8 *puVar5; int iVar6; undefined8 *_Memory_00; int iVar7; float fVar8; float fVar9; undefined8 local_res8; _Memory = *(void **)(param_1 + 0x290); *(undefined8 *)(param_1 + 0x290) = 0; local_res8 = param_2; if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } plVar1 = (longlong *)(param_1 + 0xb0); lVar4 = (**(code **)(*plVar1 + 8))(plVar1); fVar9 = local_res8._4_4_ * *(float *)(lVar4 + 0x88); fVar8 = (float)local_res8 * *(float *)(lVar4 + 0x88); puVar5 = (undefined8 *)FUN_1811316e0(0xc); plVar2 = (longlong *)(param_1 + 0x298); *puVar5 = CONCAT44(fVar9,fVar8); *(undefined4 *)(puVar5 + 1) = param_3; _Memory_00 = puVar5; if (plVar2 != &local_res8) { _Memory_00 = (undefined8 *)*plVar2; *plVar2 = (longlong)puVar5; if (_Memory_00 == (undefined8 *)0x0) { fVar8 = *(float *)*plVar2; fVar9 = ((float *)*plVar2)[1]; lVar4 = (**(code **)(*plVar1 + 8))(plVar1); fVar3 = *(float *)(lVar4 + 0x88); lVar4 = (**(code **)(*plVar1 + 8))(plVar1); iVar6 = (int)(fVar3 * DAT_1824c44a8); iVar7 = (int)(*(float *)(lVar4 + 0x88) * DAT_1824c44a8); FUN_18134bfe0(param_1,(int)fVar8 - iVar7 / 2,(int)fVar9 - iVar6 / 2,iVar7,iVar6); return; } } /* WARNING: Subroutine does not return */ free(_Memory_00); } ############ FUN_ 1814cfab0 size=308 ############ void FUN_1814cfab0(longlong param_1,float *param_2) { double *pdVar1; float fVar2; void *_Memory; float fVar3; float fVar4; float *pfVar5; longlong lVar6; float *_Memory_00; double local_res8; double local_res10; double local_res18; double local_res20; _Memory = *(void **)(param_1 + 0x298); *(undefined8 *)(param_1 + 0x298) = 0; if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } pfVar5 = (float *)FUN_1811316e0(0x10); fVar2 = param_2[1]; fVar3 = param_2[2]; fVar4 = param_2[3]; pdVar1 = (double *)(param_1 + 0x290); *pfVar5 = *param_2; pfVar5[1] = fVar2; pfVar5[2] = fVar3; pfVar5[3] = fVar4; _Memory_00 = pfVar5; if (pdVar1 != &local_res8) { _Memory_00 = (float *)*pdVar1; *pdVar1 = (double)pfVar5; if (_Memory_00 == (float *)0x0) { lVar6 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); fVar2 = *(float *)(lVar6 + 0x88); local_res8 = (double)(*param_2 * fVar2) + DAT_1824c4520; local_res18 = (double)(param_2[2] * fVar2) + DAT_1824c4520; local_res10 = (double)(param_2[1] * fVar2) + DAT_1824c4520; local_res20 = (double)(fVar2 * param_2[3]) + DAT_1824c4520; FUN_18134bfe0(param_1,(ulonglong)local_res8 & 0xffffffff,(ulonglong)local_res10 & 0xffffffff, (ulonglong)local_res18 & 0xffffffff,local_res20._0_4_); return; } } /* WARNING: Subroutine does not return */ free(_Memory_00); } ############ FUN_ 1814d0c30 size=324 ############ undefined8 * FUN_1814d0c30(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; longlong local_res10 [2]; undefined8 local_68; undefined4 local_60; undefined **local_58; undefined8 *local_50; undefined ***local_20; puVar4 = param_1; FUN_18056b680(param_1,param_2,param_3,param_4,0xfffffffffffffffe); *puVar4 = CloudyTutorialVolumeSlider::vftable; puVar4[0x16] = CloudyTutorialVolumeSlider::vftable; puVar4[0x19] = param_2; local_68 = DAT_18235df78; local_60 = DAT_18235df80; FUN_181408750(puVar4 + 0x1a,&local_68); param_1[0x4e] = 0; plVar1 = param_1 + 0x4f; *plVar1 = 0; local_res10[0] = FUN_1811316e0(0x40); local_58 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_20 = &local_58; local_50 = param_1; lVar3 = FUN_18055e880(local_res10[0],param_2,&local_58); if (plVar1 != local_res10) { lVar2 = *plVar1; *plVar1 = lVar3; lVar3 = lVar2; } if (lVar3 != 0) { FUN_18056a070(local_res10,lVar3); } FUN_181411b10(param_1 + 0x1a,"hover",0); local_58 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_20 = &local_58; local_50 = param_1; FUN_181410000(param_1 + 0x1a,&local_58); return param_1; } ############ FUN_ 1814ec010 size=373 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814ec010(longlong param_1) { undefined8 **ppuVar1; int iVar2; int iVar3; undefined1 *puVar4; float fVar5; undefined8 *_Memory; float fVar6; double dVar7; undefined8 *local_res8; _Memory = *(undefined8 **)(param_1 + 0x28); ppuVar1 = (undefined8 **)(param_1 + 0x28); if (_Memory == (undefined8 *)0x0) { LAB_1814ec05b: if (*(uint *)(param_1 + 0x18) < 2) { puVar4 = *(undefined1 **)(param_1 + 0x20); local_res8 = (undefined8 *)FUN_1811316e0(0x10); *local_res8 = puVar4; *(undefined1 *)(local_res8 + 1) = *puVar4; *puVar4 = 1; if (ppuVar1 == &local_res8) { *(undefined1 *)*local_res8 = *(undefined1 *)(local_res8 + 1); _Memory = local_res8; LAB_1814ec0b0: /* WARNING: Subroutine does not return */ free(_Memory); } _Memory = *ppuVar1; *ppuVar1 = local_res8; if (_Memory != (undefined8 *)0x0) { *(undefined1 *)*_Memory = *(undefined1 *)(_Memory + 1); goto LAB_1814ec0b0; } } } else if (*(int *)(param_1 + 0x18) == 2) { *ppuVar1 = (undefined8 *)0x0; if (_Memory != (undefined8 *)0x0) { *(undefined1 *)*_Memory = *(undefined1 *)(_Memory + 1); goto LAB_1814ec0b0; } } else if (_Memory == (undefined8 *)0x0) goto LAB_1814ec05b; *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 1; iVar2 = *(int *)(param_1 + 0x18); iVar3 = *(int *)(param_1 + 0x70); if (iVar2 == 0) { fVar6 = (float)(iVar3 * 4) / DAT_1824c4444; dVar7 = pow((double)iVar3,DAT_1824c41e8); fVar5 = DAT_1824c4444; *(float *)(param_1 + 0x1c) = (float)((double)fVar6 - dVar7 * _DAT_1824c3e90); if ((float)iVar3 <= fVar5) goto LAB_1814ec15c; *(undefined8 *)(param_1 + 0x18) = 1; } else if ((iVar2 != 1) || ((float)iVar3 <= _DAT_1824c439c)) { if (iVar2 != 2) goto LAB_1814ec15c; *(undefined4 *)(param_1 + 0x1c) = 0x3f800000; } else { *(undefined8 *)(param_1 + 0x18) = 0; } *(undefined4 *)(param_1 + 0x70) = 0; LAB_1814ec15c: if (*(longlong **)(param_1 + 0x68) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } /* WARNING: Could not recover jumptable at 0x0001814ec182. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(**(longlong **)(param_1 + 0x68) + 0x10))(); return; } ############ FUN_ 1814fc8f0 size=858 ############ void FUN_1814fc8f0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { longlong *plVar1; int iVar2; int iVar3; undefined1 *puVar4; undefined4 uVar5; undefined4 uVar6; undefined4 uVar7; longlong *plVar8; longlong lVar9; int iVar10; ulonglong uVar11; undefined1 **ppuVar12; ulonglong uVar13; uint uVar14; ulonglong uVar15; undefined1 local_res8 [8]; undefined1 local_res10 [8]; longlong *local_res18; undefined1 *local_res20; undefined4 local_d8; undefined4 uStack_d4; undefined4 uStack_d0; undefined4 uStack_cc; undefined8 local_c8; undefined4 uStack_c0; undefined4 uStack_bc; undefined **local_b8; longlong *local_b0; undefined ***local_80; plVar1 = (longlong *)(param_1 + 0xe0); FUN_18047cbc0(plVar1,param_2,param_3,param_4,0xfffffffffffffffe); uVar11 = 0; if (*(int *)(param_1 + 0xe8) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar1); } *(undefined4 *)(param_1 + 0xe8) = 0; uVar7 = DAT_1824c44dc; uVar6 = DAT_1824c44bc; uVar5 = DAT_1824c3d8c; iVar2 = *(int *)(param_1 + 0x10c); if (0 < iVar2) { uVar13 = (ulonglong)_tls_index; uVar15 = uVar11; do { uVar14 = (uint)uVar11; if (uVar14 < *(uint *)(param_1 + 0x10c)) { ppuVar12 = (undefined1 **)(*(longlong *)(param_1 + 0x100) + uVar15); } else { if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar13 * 8) + 0xc) < DAT_18267af70) { _Init_thread_header(&DAT_18267af70); if (DAT_18267af70 == -1) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } } ppuVar12 = &DAT_18267af68; } puVar4 = *ppuVar12; plVar8 = (longlong *)FUN_1811316e0(0x4b0); local_res20 = local_res8; local_res18 = plVar8; FUN_18049c9e0(local_res8,puVar4); FUN_18049c9e0(local_res10,puVar4); FUN_1815d7db0(plVar8,local_res10,local_res8); *plVar8 = (longlong)CloudyComboBoxRadioButton::vftable; plVar8[0x16] = (longlong)CloudyComboBoxRadioButton::vftable; plVar8[0x18] = (longlong)CloudyComboBoxRadioButton::vftable; plVar8[0x19] = (longlong)CloudyComboBoxRadioButton::vftable; plVar8[0x1a] = (longlong)CloudyComboBoxRadioButton::vftable; plVar8[0x41] = (longlong)CloudyComboBoxRadioButton::vftable; plVar8[0x44] = (longlong)CloudyComboBoxRadioButton::vftable; plVar8[0x47] = (longlong)CloudyComboBoxRadioButton::vftable; plVar8[0x48] = (longlong)CloudyComboBoxRadioButton::vftable; *(uint *)(plVar8 + 0x94) = uVar14; *(undefined1 *)((longlong)plVar8 + 0x4a4) = 0; local_res20 = (undefined1 *)FUN_1811316e0(0x1a0); lVar9 = FUN_181411e40(local_res20,uVar7,uVar5,uVar6); plVar8[0x95] = lVar9; if ((int)plVar8[0x38] != 0x24) { *(undefined4 *)(plVar8 + 0x38) = 0x24; uStack_cc = *(undefined4 *)((longlong)plVar8 + 0x2c); uStack_d0 = (undefined4)plVar8[5]; local_c8 = 0; local_d8 = 0; uStack_d4 = 0; uStack_c0 = uStack_d0; uStack_bc = uStack_cc; FUN_181342870(plVar8,&local_d8,1); } *(undefined2 *)(plVar8 + 0x40) = 0; *(undefined1 *)((longlong)plVar8 + 0x202) = 0; *(byte *)(plVar8 + 0x15) = *(byte *)(plVar8 + 0x15) & 0x9f; local_b8 = std:: _Func_impl_no_alloc<,void,int,juce::Colour> ::vftable; local_80 = &local_b8; local_b0 = plVar8; FUN_181407070(plVar8[0x95],&local_b8); FUN_181341570(plVar8,param_1,0); (**(code **)(*plVar8 + 0x58))(plVar8,1); FUN_181343cc0(param_1,plVar8,0xffffffff); iVar3 = *(int *)(param_1 + 0xec); iVar10 = iVar3 + 1; if (*(int *)(param_1 + 0xe8) < iVar10) { if (iVar10 < 0) { iVar10 = iVar3 + 2; } FUN_18047cb30(plVar1,iVar3 + 9 + (iVar10 >> 1) & 0xfffffff8); } iVar10 = *(int *)(param_1 + 0xec); *(int *)(param_1 + 0xec) = iVar10 + 1; *(longlong **)(*plVar1 + (longlong)iVar10 * 8) = plVar8; uVar11 = (ulonglong)(uVar14 + 1); uVar15 = uVar15 + 8; } while ((int)(uVar14 + 1) < iVar2); } return; } ############ FUN_ 1814fd030 size=450 ############ undefined8 * FUN_1814fd030(undefined8 *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined1 *local_78; undefined4 uStack_70; undefined4 uStack_6c; undefined1 local_68 [8]; undefined1 local_60 [8]; undefined8 local_58; undefined **local_50; undefined8 *local_48; undefined ***local_18; local_58 = 0xfffffffffffffffe; local_78 = local_60; FUN_18049c9e0(local_60,param_4); FUN_18049c9e0(local_68,param_3); FUN_1815d7db0(param_1,local_68,local_60); *param_1 = CloudyComboBoxRadioButton::vftable; param_1[0x16] = CloudyComboBoxRadioButton::vftable; param_1[0x18] = CloudyComboBoxRadioButton::vftable; param_1[0x19] = CloudyComboBoxRadioButton::vftable; param_1[0x1a] = CloudyComboBoxRadioButton::vftable; param_1[0x41] = CloudyComboBoxRadioButton::vftable; param_1[0x44] = CloudyComboBoxRadioButton::vftable; param_1[0x47] = CloudyComboBoxRadioButton::vftable; param_1[0x48] = CloudyComboBoxRadioButton::vftable; *(undefined4 *)(param_1 + 0x94) = param_2; *(undefined1 *)((longlong)param_1 + 0x4a4) = 0; local_78 = (undefined1 *)FUN_1811316e0(0x1a0); uVar1 = FUN_181411e40(local_78,DAT_1824c44dc,DAT_1824c3d8c,DAT_1824c44bc); param_1[0x95] = uVar1; if (*(int *)(param_1 + 0x38) != 0x24) { *(undefined4 *)(param_1 + 0x38) = 0x24; uStack_6c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_70 = *(undefined4 *)(param_1 + 5); local_78 = (undefined1 *)0x0; FUN_181342870(param_1,&local_78,1); } *(undefined2 *)(param_1 + 0x40) = 0; *(undefined1 *)((longlong)param_1 + 0x202) = 0; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0x9f; local_50 = std:: _Func_impl_no_alloc<,void,int,juce::Colour>:: vftable; local_18 = &local_50; local_48 = param_1; FUN_181407070(param_1[0x95],&local_50); return param_1; } ############ FUN_ 18152a520 size=1000 ############ void FUN_18152a520(longlong param_1,longlong param_2,longlong *param_3) { uint uVar1; char cVar2; int iVar3; int iVar4; longlong *plVar5; longlong lVar6; undefined8 uVar7; undefined8 uVar8; longlong *plVar9; longlong lVar10; uint *puVar11; void *_Memory; undefined8 *puVar12; undefined8 *puVar13; int iVar14; undefined8 *puVar15; ulonglong uVar16; undefined8 *puVar17; ulonglong uVar18; longlong local_res18; longlong local_res20; longlong local_108; longlong local_100; longlong local_f8; longlong local_f0; longlong local_e8; longlong *local_e0; void *local_d8; longlong *plStack_d0; longlong *local_c8; longlong *local_c0; undefined8 *local_b8; longlong local_b0; undefined8 local_a8; undefined8 local_a0; longlong local_98; undefined8 local_90; undefined8 local_88; undefined8 *local_80; undefined8 local_78; longlong *local_70; undefined1 local_60 [32]; local_a0 = 0xfffffffffffffffe; local_d8 = (void *)0x0; plStack_d0 = (longlong *)0x0; local_c8 = (longlong *)0x0; plVar9 = (longlong *)*param_3; local_e0 = (longlong *)param_3[1]; if (plVar9 != local_e0) { do { uVar16 = 0; FUN_18049c4e0(&local_res20,"subMenuItem/"); plVar5 = (longlong *)FUN_181232d30(&local_res20,plVar9); local_res18 = *plVar5; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } puVar11 = (uint *)(local_res20 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } lVar6 = *plVar9; iVar4 = *(int *)(param_2 + 0x2d4); local_98 = lVar6; if (0 < iVar4) { puVar15 = *(undefined8 **)(param_2 + 0x2c8); uVar18 = uVar16; do { iVar14 = (int)uVar18; local_90 = *puVar15; iVar3 = FUN_18048cbc0(lVar6); if (iVar3 == 0) goto LAB_18152a63a; uVar18 = (ulonglong)(iVar14 + 1); uVar16 = uVar16 + 1; puVar15 = puVar15 + 1; } while ((longlong)uVar16 < (longlong)iVar4); } iVar14 = -1; LAB_18152a63a: lVar6 = local_res18; puVar15 = *(undefined8 **)(param_1 + 0xc20); cVar2 = *(char *)((longlong)puVar15[1] + 0x19); puVar13 = puVar15; puVar12 = (undefined8 *)puVar15[1]; while (cVar2 == '\0') { local_88 = puVar12[4]; iVar4 = FUN_18048cbc0(local_88,lVar6); if (iVar4 < 0) { puVar17 = (undefined8 *)puVar12[2]; puVar12 = puVar13; } else { puVar17 = (undefined8 *)*puVar12; } puVar13 = puVar12; puVar12 = puVar17; cVar2 = *(char *)((longlong)puVar17 + 0x19); } local_80 = puVar15; if (puVar13 == puVar15) { LAB_18152a6a4: local_c0 = &local_res18; lVar6 = FUN_180588140(param_1 + 0xc20); FUN_1805881a0(param_1 + 0xc20,&local_b8,puVar13,lVar6 + 0x20,lVar6); puVar13 = local_b8; } else { local_78 = puVar13[4]; iVar4 = FUN_18048cbc0(lVar6); if (iVar4 < 0) goto LAB_18152a6a4; } puVar13[5] = param_2; *(int *)(puVar13 + 6) = iVar14; local_a8 = FUN_1811316e0(0x2a0); local_108 = *plVar9; if ((*(uint *)(local_108 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_108 + -0x10) = *(int *)(local_108 + -0x10) + 1; UNLOCK(); } local_100 = local_res18; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } local_b0 = FUN_181601d30(local_a8,&local_100,&local_108); if (local_c8 == plStack_d0) { FUN_180585de0(&local_d8,plStack_d0,&local_b0); } else if (local_b0 == 0) { *plStack_d0 = 0; plStack_d0 = plStack_d0 + 1; } else { *plStack_d0 = local_b0 + 0x1e0; plStack_d0 = plStack_d0 + 1; } puVar11 = (uint *)(local_res18 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } plVar9 = plVar9 + 1; } while (plVar9 != local_e0); } lVar6 = 0; uVar7 = FUN_1811316e0(0x2a0); local_e0 = (longlong *)local_60; local_70 = &local_f0; local_a8 = uVar7; uVar8 = FUN_180584230(local_60,&local_d8); local_f0 = *(longlong *)(param_2 + 0x68); if ((*(uint *)(local_f0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f0 + -0x10) = *(int *)(local_f0 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(&local_f8,"subMenu/"); plVar9 = (longlong *)FUN_181232d30(&local_f8,param_2 + 0x60); local_e8 = *plVar9; if ((*(uint *)(local_e8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e8 + -0x10) = *(int *)(local_e8 + -0x10) + 1; UNLOCK(); } puVar11 = (uint *)(local_f8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } lVar10 = FUN_181601a20(uVar7,&local_e8,&local_f0,uVar8); if (lVar10 != 0) { lVar6 = lVar10 + 0x1e0; } FUN_1815eeb30(param_1 + 0x8e0,lVar6,*(undefined4 *)(param_1 + 0xb9c)); if (local_d8 != (void *)0x0) { _Memory = local_d8; if ((0xfff < ((longlong)local_c8 - (longlong)local_d8 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)local_d8 + -8), 0x1f < (ulonglong)((longlong)local_d8 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 181564e40 size=218 ############ void FUN_181564e40(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; longlong *plVar2; longlong lVar3; undefined8 uVar4; longlong lVar5; longlong *plVar6; undefined8 uVar7; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uVar7 = 0xfffffffffffffffe; lVar1 = param_1 + -0x110; if (DAT_182673700 == 0) { uVar4 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(uVar4); } plVar6 = *(longlong **)(*(longlong *)(DAT_182673700 + 0x30) + 0x28); plVar2 = plVar6 + *(int *)(*(longlong *)(DAT_182673700 + 0x30) + 0x34); for (; plVar6 != plVar2; plVar6 = plVar6 + 1) { lVar3 = *(longlong *)(*plVar6 + 0x48); lVar5 = 0; if (lVar3 != 0) { lVar5 = *(longlong *)(lVar3 + 0x10); } if ((lVar5 == lVar1) && ((*(byte *)(*plVar6 + 0x28) & 0x70) != 0)) goto LAB_181564ed3; } if (*(int *)(param_1 + -0x38) < 1) { FUN_18155a180(lVar1); } LAB_181564ed3: FUN_181552c80(lVar1); uStack_10 = *(undefined4 *)(param_1 + -0xe8); uStack_c = *(undefined4 *)(param_1 + -0xe4); local_18 = 0; FUN_181342870(lVar1,&local_18,1,param_4,uVar7); return; } ############ FUN_ 1815a6e20 size=454 ############ void FUN_1815a6e20(longlong param_1) { undefined8 **ppuVar1; longlong lVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; undefined4 uVar6; undefined8 *local_res8; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; *(undefined1 *)(param_1 + 0x3b4) = 0; *(undefined8 *)(param_1 + 900) = 0; *(undefined8 *)(param_1 + 0x38c) = 0; *(undefined8 *)(param_1 + 0x394) = 0; *(undefined8 *)(param_1 + 0x39c) = 0; if (*(longlong *)(param_1 + 0x328) != 0) { uVar6 = *(undefined4 *)(*(longlong *)(param_1 + 0x328) + 0x188); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,uVar6); uVar6 = FUN_180487300(*(undefined8 *)(param_1 + 0x370),uVar6); *(undefined4 *)(param_1 + 0x3b8) = uVar6; FUN_1811c2330(*(undefined8 *)(param_1 + 0x328)); } if (*(longlong *)(param_1 + 0x330) != 0) { uVar6 = *(undefined4 *)(*(longlong *)(param_1 + 0x330) + 0x188); local_res8 = (undefined8 *)CONCAT44(local_res8._4_4_,uVar6); uVar6 = FUN_180487300(*(undefined8 *)(param_1 + 0x378),uVar6); *(undefined4 *)(param_1 + 0x3bc) = uVar6; FUN_1811c2330(*(undefined8 *)(param_1 + 0x330)); } if (*(longlong **)(param_1 + 0x338) != (longlong *)0x0) { uVar6 = (**(code **)(**(longlong **)(param_1 + 0x338) + 8))(); *(undefined4 *)(param_1 + 0x3c0) = uVar6; FUN_1811c2330(*(undefined8 *)(param_1 + 0x338)); } *(undefined1 *)(param_1 + 0x3d5) = 1; lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x318) + 0x10); if ((lVar2 != 0) && (*(char *)(lVar2 + 0x10) != '\0')) { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x318) + 0x10); ppuVar1 = (undefined8 **)(lVar2 + 0x18); if (*(longlong *)(lVar2 + 0x18) == 0) { puVar4 = (undefined8 *)FUN_1811316e0(0x28); puVar4[1] = 0xffffffffffffffff; *(undefined4 *)(puVar4 + 2) = 0; *puVar4 = AutoCueState::Delayed::vftable; puVar4[3] = lVar2; *(undefined4 *)(puVar4 + 4) = 300; local_res8 = puVar4; FUN_1812a77d0(puVar4,300); if (ppuVar1 == &local_res8) { puVar5 = (undefined8 *)*puVar4; } else { puVar3 = *ppuVar1; *ppuVar1 = puVar4; if (puVar3 == (undefined8 *)0x0) goto LAB_1815a6fb0; puVar5 = (undefined8 *)*puVar3; puVar4 = puVar3; } (*(code *)*puVar5)(puVar4,1); } } LAB_1815a6fb0: uStack_20 = *(undefined4 *)(param_1 + 0x28); uStack_1c = *(undefined4 *)(param_1 + 0x2c); local_28 = 0; uStack_24 = 0; FUN_181342870(param_1,&local_28,1); return; } ############ FUN_ 18160ad50 size=238 ############ longlong * FUN_18160ad50(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; code *pcVar5; longlong lVar6; undefined8 *puVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; *param_1 = 0; param_1[1] = 0; puVar7 = (undefined8 *)FUN_1811316e0(0x668); *(undefined4 *)(puVar7 + 1) = 1; *(undefined4 *)((longlong)puVar7 + 0xc) = 1; *puVar7 = std::_Ref_count_obj::vftable; FUN_1815dc2d0(puVar7 + 2,param_2); *param_1 = (longlong)(puVar7 + 2); plVar4 = (longlong *)param_1[1]; param_1[1] = (longlong)puVar7; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { if ((undefined **)*plVar4 == std::_Ref_count_obj::vftable) { (**(code **)plVar4[2])(plVar4 + 2,0); } else { (**(code **)*plVar4)(plVar4); } LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { pcVar5 = (code *)((undefined **)*plVar4)[1]; if ((undefined **)*plVar4 == std::_Ref_count_obj::vftable) { (*(code *)std::_Ref_count_obj::vftable[2])(plVar4,1,pcVar5,param_4,uVar8); } else { (*pcVar5)(); } } } } return param_1; } ############ FUN_ 181610270 size=2661 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181610270(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,float *param_6,undefined8 param_7) { uint *_Memory; longlong *plVar1; uint uVar2; float fVar3; float fVar4; bool bVar5; float fVar6; float fVar7; undefined4 uVar8; longlong lVar9; undefined8 *puVar10; undefined8 *puVar11; undefined8 uVar12; longlong *plVar13; undefined8 *puVar14; longlong lVar15; longlong lVar16; undefined4 uVar17; undefined1 auStackY_398 [32]; void *local_308; undefined8 local_300; float local_2f8; float fStack_2f4; float fStack_2f0; undefined4 uStack_2ec; longlong local_2e8; longlong local_2b8; undefined8 *local_2b0; undefined8 local_2a8; undefined8 local_2a0; undefined8 local_298; undefined8 *local_290; undefined **local_198; undefined8 local_190; undefined ***local_160; undefined **local_158; undefined8 local_150; undefined ***local_120; undefined **local_118; undefined8 local_110; undefined8 *puStack_108; undefined ***local_e0; undefined **local_d8; float local_d0; float fStack_cc; float fStack_c8; undefined4 uStack_c4; longlong local_c0; undefined ***local_a0; ulonglong local_98; local_298 = 0xfffffffffffffffe; local_98 = DAT_182615970 ^ (ulonglong)auStackY_398; local_2a0 = param_7; local_2a8 = param_4; local_290 = param_1; FUN_18049c4e0(&local_2b8,"OpenGLFallbackUI"); *param_1 = juce::Component::vftable; param_1[1] = local_2b8; _Memory = (uint *)(local_2b8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = OpenGLFallbackUI::vftable; param_1[0x16] = OpenGLFallbackUI::vftable; param_1[0x17] = param_3; plVar1 = param_1 + 0x18; *plVar1 = 0; param_1[0x19] = 0; param_1[0x1a] = 0; param_1[0x1b] = 0; _eh_vector_constructor_iterator_(param_1 + 0x71c,0x828,8,FUN_1805345d0,FUN_180534650); uVar8 = DAT_1824c3ea4; FUN_18058d9d0(param_1 + 0x1c,param_4); puVar10 = param_1 + 0x11c; lVar16 = 6; do { lVar9 = 2; puVar14 = puVar10; if (((ulonglong)puVar10 & 0xf) == 0) { do { *(undefined4 *)puVar14 = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 4) = 0x3f800000; *(undefined4 *)(puVar14 + 1) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xc) = 0x3f800000; *(undefined4 *)(puVar14 + 2) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x14) = 0x3f800000; *(undefined4 *)(puVar14 + 3) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1c) = 0x3f800000; *(undefined4 *)(puVar14 + 4) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x24) = 0x3f800000; *(undefined4 *)(puVar14 + 5) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2c) = 0x3f800000; *(undefined4 *)(puVar14 + 6) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x34) = 0x3f800000; *(undefined4 *)(puVar14 + 7) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3c) = 0x3f800000; *(undefined4 *)(puVar14 + 8) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x44) = 0x3f800000; *(undefined4 *)(puVar14 + 9) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x4c) = 0x3f800000; *(undefined4 *)(puVar14 + 10) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x54) = 0x3f800000; *(undefined4 *)(puVar14 + 0xb) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x5c) = 0x3f800000; *(undefined4 *)(puVar14 + 0xc) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 100) = 0x3f800000; *(undefined4 *)(puVar14 + 0xd) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x6c) = 0x3f800000; *(undefined4 *)(puVar14 + 0xe) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x74) = 0x3f800000; *(undefined4 *)(puVar14 + 0xf) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x7c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x10) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x84) = 0x3f800000; *(undefined4 *)(puVar14 + 0x11) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x8c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x12) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x94) = 0x3f800000; *(undefined4 *)(puVar14 + 0x13) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x9c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x14) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xa4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x15) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xac) = 0x3f800000; *(undefined4 *)(puVar14 + 0x16) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xb4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x17) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xbc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x18) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xc4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x19) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xcc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xd4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xdc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xe4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xec) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xf4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xfc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x20) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x104) = 0x3f800000; *(undefined4 *)(puVar14 + 0x21) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x10c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x22) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x114) = 0x3f800000; *(undefined4 *)(puVar14 + 0x23) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x11c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x24) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x124) = 0x3f800000; *(undefined4 *)(puVar14 + 0x25) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 300) = 0x3f800000; *(undefined4 *)(puVar14 + 0x26) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x134) = 0x3f800000; *(undefined4 *)(puVar14 + 0x27) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x13c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x28) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x144) = 0x3f800000; *(undefined4 *)(puVar14 + 0x29) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x14c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x154) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x15c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x164) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x16c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x174) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x17c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x30) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x184) = 0x3f800000; *(undefined4 *)(puVar14 + 0x31) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x18c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x32) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x194) = 0x3f800000; *(undefined4 *)(puVar14 + 0x33) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x19c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x34) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1a4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x35) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1ac) = 0x3f800000; *(undefined4 *)(puVar14 + 0x36) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1b4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x37) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1bc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x38) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1c4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x39) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1cc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1d4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1dc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1e4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1ec) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 500) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1fc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x40) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x204) = 0x3f800000; *(undefined4 *)(puVar14 + 0x41) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x20c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x42) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x214) = 0x3f800000; *(undefined4 *)(puVar14 + 0x43) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x21c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x44) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x224) = 0x3f800000; *(undefined4 *)(puVar14 + 0x45) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x22c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x46) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x234) = 0x3f800000; *(undefined4 *)(puVar14 + 0x47) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x23c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x48) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x244) = 0x3f800000; *(undefined4 *)(puVar14 + 0x49) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x24c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x254) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x25c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x264) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x26c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x274) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x27c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x50) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x284) = 0x3f800000; *(undefined4 *)(puVar14 + 0x51) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x28c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x52) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x294) = 0x3f800000; *(undefined4 *)(puVar14 + 0x53) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x29c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x54) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2a4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x55) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2ac) = 0x3f800000; *(undefined4 *)(puVar14 + 0x56) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2b4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x57) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 700) = 0x3f800000; *(undefined4 *)(puVar14 + 0x58) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2c4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x59) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2cc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2d4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2dc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2e4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2ec) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2f4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2fc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x60) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x304) = 0x3f800000; *(undefined4 *)(puVar14 + 0x61) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x30c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x62) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x314) = 0x3f800000; *(undefined4 *)(puVar14 + 99) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x31c) = 0x3f800000; *(undefined4 *)(puVar14 + 100) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x324) = 0x3f800000; *(undefined4 *)(puVar14 + 0x65) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x32c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x66) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x334) = 0x3f800000; *(undefined4 *)(puVar14 + 0x67) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x33c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x68) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x344) = 0x3f800000; *(undefined4 *)(puVar14 + 0x69) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x34c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x354) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x35c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x364) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x36c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x374) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x37c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x70) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 900) = 0x3f800000; *(undefined4 *)(puVar14 + 0x71) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x38c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x72) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x394) = 0x3f800000; *(undefined4 *)(puVar14 + 0x73) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x39c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x74) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3a4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x75) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3ac) = 0x3f800000; *(undefined4 *)(puVar14 + 0x76) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3b4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x77) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3bc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x78) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3c4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x79) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3cc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3d4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3dc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3e4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3ec) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3f4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3fc) = 0x3f800000; lVar9 = lVar9 + -1; puVar14 = puVar14 + 0x80; } while (lVar9 != 0); } else { do { *(undefined4 *)puVar14 = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 4) = 0x3f800000; *(undefined4 *)(puVar14 + 1) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xc) = 0x3f800000; *(undefined4 *)(puVar14 + 2) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x14) = 0x3f800000; *(undefined4 *)(puVar14 + 3) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1c) = 0x3f800000; *(undefined4 *)(puVar14 + 4) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x24) = 0x3f800000; *(undefined4 *)(puVar14 + 5) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2c) = 0x3f800000; *(undefined4 *)(puVar14 + 6) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x34) = 0x3f800000; *(undefined4 *)(puVar14 + 7) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3c) = 0x3f800000; *(undefined4 *)(puVar14 + 8) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x44) = 0x3f800000; *(undefined4 *)(puVar14 + 9) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x4c) = 0x3f800000; *(undefined4 *)(puVar14 + 10) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x54) = 0x3f800000; *(undefined4 *)(puVar14 + 0xb) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x5c) = 0x3f800000; *(undefined4 *)(puVar14 + 0xc) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 100) = 0x3f800000; *(undefined4 *)(puVar14 + 0xd) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x6c) = 0x3f800000; *(undefined4 *)(puVar14 + 0xe) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x74) = 0x3f800000; *(undefined4 *)(puVar14 + 0xf) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x7c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x10) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x84) = 0x3f800000; *(undefined4 *)(puVar14 + 0x11) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x8c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x12) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x94) = 0x3f800000; *(undefined4 *)(puVar14 + 0x13) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x9c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x14) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xa4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x15) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xac) = 0x3f800000; *(undefined4 *)(puVar14 + 0x16) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xb4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x17) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xbc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x18) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xc4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x19) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xcc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xd4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xdc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xe4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xec) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xf4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x1f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0xfc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x20) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x104) = 0x3f800000; *(undefined4 *)(puVar14 + 0x21) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x10c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x22) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x114) = 0x3f800000; *(undefined4 *)(puVar14 + 0x23) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x11c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x24) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x124) = 0x3f800000; *(undefined4 *)(puVar14 + 0x25) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 300) = 0x3f800000; *(undefined4 *)(puVar14 + 0x26) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x134) = 0x3f800000; *(undefined4 *)(puVar14 + 0x27) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x13c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x28) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x144) = 0x3f800000; *(undefined4 *)(puVar14 + 0x29) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x14c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x154) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x15c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x164) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x16c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x174) = 0x3f800000; *(undefined4 *)(puVar14 + 0x2f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x17c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x30) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x184) = 0x3f800000; *(undefined4 *)(puVar14 + 0x31) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x18c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x32) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x194) = 0x3f800000; *(undefined4 *)(puVar14 + 0x33) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x19c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x34) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1a4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x35) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1ac) = 0x3f800000; *(undefined4 *)(puVar14 + 0x36) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1b4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x37) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1bc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x38) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1c4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x39) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1cc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1d4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1dc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1e4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1ec) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 500) = 0x3f800000; *(undefined4 *)(puVar14 + 0x3f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x1fc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x40) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x204) = 0x3f800000; *(undefined4 *)(puVar14 + 0x41) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x20c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x42) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x214) = 0x3f800000; *(undefined4 *)(puVar14 + 0x43) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x21c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x44) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x224) = 0x3f800000; *(undefined4 *)(puVar14 + 0x45) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x22c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x46) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x234) = 0x3f800000; *(undefined4 *)(puVar14 + 0x47) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x23c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x48) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x244) = 0x3f800000; *(undefined4 *)(puVar14 + 0x49) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x24c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x254) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x25c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x264) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x26c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x274) = 0x3f800000; *(undefined4 *)(puVar14 + 0x4f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x27c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x50) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x284) = 0x3f800000; *(undefined4 *)(puVar14 + 0x51) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x28c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x52) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x294) = 0x3f800000; *(undefined4 *)(puVar14 + 0x53) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x29c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x54) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2a4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x55) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2ac) = 0x3f800000; *(undefined4 *)(puVar14 + 0x56) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2b4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x57) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 700) = 0x3f800000; *(undefined4 *)(puVar14 + 0x58) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2c4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x59) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2cc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2d4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2dc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2e4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2ec) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2f4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x5f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x2fc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x60) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x304) = 0x3f800000; *(undefined4 *)(puVar14 + 0x61) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x30c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x62) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x314) = 0x3f800000; *(undefined4 *)(puVar14 + 99) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x31c) = 0x3f800000; *(undefined4 *)(puVar14 + 100) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x324) = 0x3f800000; *(undefined4 *)(puVar14 + 0x65) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x32c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x66) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x334) = 0x3f800000; *(undefined4 *)(puVar14 + 0x67) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x33c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x68) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x344) = 0x3f800000; *(undefined4 *)(puVar14 + 0x69) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x34c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x354) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x35c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x364) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x36c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x374) = 0x3f800000; *(undefined4 *)(puVar14 + 0x6f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x37c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x70) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 900) = 0x3f800000; *(undefined4 *)(puVar14 + 0x71) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x38c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x72) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x394) = 0x3f800000; *(undefined4 *)(puVar14 + 0x73) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x39c) = 0x3f800000; *(undefined4 *)(puVar14 + 0x74) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3a4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x75) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3ac) = 0x3f800000; *(undefined4 *)(puVar14 + 0x76) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3b4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x77) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3bc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x78) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3c4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x79) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3cc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7a) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3d4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7b) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3dc) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7c) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3e4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7d) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3ec) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7e) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3f4) = 0x3f800000; *(undefined4 *)(puVar14 + 0x7f) = 0x3f800000; *(undefined4 *)((longlong)puVar14 + 0x3fc) = 0x3f800000; puVar14 = puVar14 + 0x80; lVar9 = lVar9 + -1; } while (lVar9 != 0); } puVar10 = puVar10 + 0x100; lVar16 = lVar16 + -1; } while (lVar16 != 0); local_118 = std::_Func_impl_no_alloc<,float*___ptr64,int> ::vftable; local_e0 = &local_118; local_158 = std::_Func_impl_no_alloc<,bool,int>::vftable; local_120 = &local_158; local_198 = std::_Func_impl_no_alloc<,float>::vftable; local_160 = &local_198; local_190 = param_3; local_150 = param_3; local_110 = param_3; puStack_108 = param_1; puVar10 = (undefined8 *)FUN_1811316e0(0xb0); puVar10[1] = &DAT_1821dbf98; puVar10[2] = &DAT_1821dbf98; puVar10[3] = 0; puVar10[4] = 0; puVar10[5] = 0; puVar10[6] = 0; puVar10[7] = 0; puVar10[8] = 0; puVar10[9] = 0; puVar10[10] = 0; puVar10[0xb] = 0; puVar10[0xc] = 0; puVar10[0xd] = 0; puVar10[0xe] = 0; puVar10[0xf] = 0; puVar10[0x10] = 0; puVar10[0x11] = 0; puVar10[0x12] = 0; puVar10[0x13] = 0; puVar10[0x14] = 0; *(undefined4 *)(puVar10 + 0x15) = 0; *(undefined1 *)((longlong)puVar10 + 0xac) = 0; *puVar10 = Backdrop::vftable; if (puVar10[0xd] == 0) { puVar11 = (undefined8 *)FUN_1811316e0(0x30); *puVar11 = juce::StandardCachedComponentImage::vftable; puVar11[1] = 0; puVar11[2] = 0; puVar11[3] = 0; puVar11[4] = puVar10; *(undefined4 *)(puVar11 + 5) = 0x3f800000; puVar14 = (undefined8 *)puVar10[0xd]; puVar10[0xd] = puVar11; if (puVar14 != (undefined8 *)0x0) { (**(code **)*puVar14)(puVar14,1); } } puVar14 = (undefined8 *)param_1[0x1a]; param_1[0x1a] = puVar10; if (puVar14 != (undefined8 *)0x0) { (**(code **)*puVar14)(puVar14,1); } plVar13 = (longlong *)param_1[0x1a]; if (plVar13 != (longlong *)0x0) { (**(code **)(*plVar13 + 0x58))(plVar13,1); FUN_181343cc0(param_1,plVar13,0xffffffff); } uVar12 = FUN_1811316e0(0x230); uVar12 = FUN_181a06da0(uVar12,param_2,param_4,param_6); puVar10 = (undefined8 *)param_1[0x19]; param_1[0x19] = uVar12; if (puVar10 != (undefined8 *)0x0) { (**(code **)*puVar10)(puVar10,1); } plVar13 = (longlong *)param_1[0x19]; if (plVar13 != (longlong *)0x0) { (**(code **)(*plVar13 + 0x58))(plVar13,1); FUN_181343cc0(param_1,plVar13,0xffffffff); } plVar13 = (longlong *)FUN_18058dc10(&local_2b0,&local_118,&local_158,&local_198); if (plVar1 != plVar13) { lVar16 = *plVar13; *plVar13 = 0; puVar10 = (undefined8 *)*plVar1; *plVar1 = lVar16; if (puVar10 != (undefined8 *)0x0) { (**(code **)*puVar10)(puVar10,1); } } if (local_2b0 != (undefined8 *)0x0) { (**(code **)*local_2b0)(local_2b0,1); } plVar13 = (longlong *)*plVar1; if (plVar13 != (longlong *)0x0) { (**(code **)(*plVar13 + 0x58))(plVar13,1); FUN_181343cc0(param_1,plVar13,0xffffffff); } lVar9 = *plVar1; FUN_18058c5c0(lVar9 + 0x9b10,param_6); *(undefined4 *)(lVar9 + 0x9894) = 0x800; fVar3 = param_6[1]; fVar4 = *param_6; fVar6 = *param_6; fVar7 = param_6[1]; lVar16 = lVar9 + 0x19f8; FUN_180557920(lVar16,uVar8); lVar15 = 0; do { uVar17 = FUN_180487300(param_6,*(undefined4 *)(lVar16 + lVar15 * 4)); *(undefined4 *)(lVar16 + lVar15 * 4) = uVar17; lVar15 = lVar15 + 1; } while (lVar15 < 0x800); fStack_2f0 = DAT_1824c45b8 / (fVar3 - fVar4); local_d8 = std::_Func_impl_no_alloc<,float,float>:: vftable; uStack_c4 = uStack_2ec; local_a0 = &local_d8; local_2f8 = fVar6; fStack_2f4 = fVar7; local_2e8 = lVar16; local_d0 = fVar6; fStack_cc = fVar7; fStack_c8 = fStack_2f0; local_c0 = lVar16; (*(code *) PTR_vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M___1824b0a58 )(&local_d8,0); fVar3 = DAT_1824c3d8c; *(float *)(lVar9 + 0x99dc) = (float)*(int *)(lVar9 + 0x2c) * DAT_1824c3d8c; *(float *)(lVar9 + 0x99e0) = (float)*(int *)(lVar9 + 0x28) / (float)*(int *)(lVar9 + 0x9890); *(undefined4 *)(lVar9 + 0x99f8) = 0x41200000; *(float *)(lVar9 + 0x99fc) = (fVar3 / *(float *)(lVar9 + 0x99e8)) * (float)*(int *)(lVar9 + 0x9894); FUN_18058cf30(lVar9,uVar8); lVar16 = *plVar1; FUN_18058c5c0(lVar16 + 0x9a38,local_2a8); *(undefined4 *)(lVar16 + 0x9890) = 0x200; plVar13 = *(longlong **)(lVar16 + 0x9be8); bVar5 = *(float *)((longlong)plVar13 + 0x24) != _DAT_1824c457c; *(undefined4 *)((longlong)plVar13 + 0x24) = 0x44000000; if (bVar5) { (**(code **)(*plVar13 + 0x20))(); } FUN_18058a210(*plVar1,local_2a0); local_308 = (void *)0x0; local_300 = 0; FUN_180589fb0(*plVar1,param_5,&local_308); FUN_180488c50(&local_308); /* WARNING: Subroutine does not return */ free(local_308); } ############ FUN_ 181a06da0 size=590 ############ undefined8 * FUN_181a06da0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { undefined8 uVar1; int iVar2; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; param_1[0x17] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x18) = 0; *param_1 = ReductionCurve::vftable; param_1[0x16] = ReductionCurve::vftable; param_1[0x19] = ReductionCurve::vftable; param_1[0x1a] = 0; param_1[0x1b] = 0; param_1[0x1c] = 0; param_1[0x1d] = 0; param_1[0x1e] = 0; param_1[0x1f] = 0; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = 0; param_1[0x24] = 0; param_1[0x25] = 0; param_1[0x26] = 0; param_1[0x27] = 0; param_1[0x28] = 0; param_1[0x29] = 0; param_1[0x2a] = 0; *(undefined4 *)((longlong)param_1 + 0x15c) = 0xffffffff; *(undefined4 *)(param_1 + 0x2c) = 0xbf800000; *(undefined4 *)((longlong)param_1 + 0x164) = 0x3f800000; param_1[0x2f] = 0; param_1[0x30] = 0; param_1[0x31] = 0; param_1[0x32] = 0; param_1[0x33] = 0; param_1[0x34] = 0; param_1[0x35] = 0; *(undefined1 *)(param_1 + 0x36) = 1; param_1[0x37] = param_2; param_1[0x38] = param_3; param_1[0x39] = param_4; param_1[0x3a] = param_5; uVar1 = FUN_1811316e0(0x18); uVar1 = FUN_1804841f0(uVar1,param_5,param_1 + 0x19); param_1[0x3b] = uVar1; *(undefined1 *)(param_1 + 0x3c) = 0; param_1[0x44] = 0; *(undefined4 *)(param_1 + 0x45) = 0; iVar2 = *(int *)((longlong)param_1 + 0x19c) + 0x404; if (*(int *)(param_1 + 0x33) < iVar2) { FUN_1804af790(param_1 + 0x32, *(int *)((longlong)param_1 + 0x19c) + 0x40c + iVar2 / 2 & 0xfffffff8); } FUN_1812a77d0(param_1 + 0x16,0x21); return param_1; } ############ FUN_ 18161a4f0 size=1120 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18161a4f0(longlong param_1,int param_2,int param_3) { int *piVar1; int iVar2; longlong lVar3; float fVar4; undefined4 uVar5; undefined4 *puVar6; undefined8 *puVar7; longlong *plVar8; undefined4 local_res10; undefined4 local_res18 [2]; undefined4 local_res20; int iVar9; undefined3 uVar11; undefined4 uVar10; byte local_108; byte local_107; byte local_106; undefined1 local_105; undefined4 local_104; undefined4 local_100; undefined4 local_fc; float local_f8; float local_f4; undefined8 local_f0; undefined1 local_e8; void *local_e0; undefined8 local_d8; longlong *local_d0; longlong *local_c8; undefined1 local_c0; undefined8 *local_b8; int *local_b0; undefined8 *local_a8; undefined1 local_a0 [16]; undefined1 local_90 [16]; undefined1 local_80 [4]; undefined1 local_7c [4]; undefined **local_78; undefined8 local_70; undefined8 local_68; undefined8 uStack_60; undefined1 local_58 [40]; local_70 = 0xfffffffffffffffe; local_fc = 0; local_78 = juce::NativeImageType::vftable; iVar9 = param_3; (*(code *)PTR_FUN_1824988f0)(&local_78,&local_b8,2,param_2,param_3,1); local_a8 = *(undefined8 **)(param_1 + 0x168); *(undefined8 **)(param_1 + 0x168) = local_b8; local_b8 = local_a8; if (local_a8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_a8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_a8)(local_a8,1); } } plVar8 = *(longlong **)(param_1 + 0x168); if (plVar8 == (longlong *)0x0) { local_d0 = (longlong *)0x0; } else { (**(code **)(*plVar8 + 8))(plVar8,&local_d0); } local_fc = 1; local_c0 = 0; local_e0 = (void *)0x0; local_d8 = 0; local_e8 = 1; local_f8 = (float)param_2 * DAT_1824c3d3c; local_f4 = (float)param_3 * DAT_1824c46a8; local_f0 = CONCAT44((float)param_3 * DAT_1824c42d0,local_f8); local_104 = 0xff7297ae; local_c8 = local_d0; FUN_18049fa40(local_a0,0xff789fb7); uVar11 = (undefined3)((uint)iVar9 >> 8); FUN_18049fbb0(&local_res10); local_res20 = 0xff9fbbcc; FUN_18049fa40(local_90,0xff9fbbcc); uVar10 = CONCAT31(uVar11,0xff); FUN_18049fbb0(&local_108); uVar5 = local_104; fVar4 = DAT_1824c4548; local_res18[0] = CONCAT13(local_105, CONCAT12((char)(int)(DAT_1824c4548 - (float)(int)(0xff - (uint)local_106) * DAT_1824c3e78), CONCAT11((char)(int)(DAT_1824c4548 - (float)(int)(0xff - (uint)local_107) * DAT_1824c3e78), (char)(int)(DAT_1824c4548 - (float)(int)(0xff - (uint)local_108) * DAT_1824c3e78))) ); FUN_1812a1940(&local_f8); FUN_1812a1940(&local_f8,DAT_1824c4010,uVar5); puVar6 = (undefined4 *)FUN_1812a2a20(&local_res10,local_80,uVar5,DAT_1824c3d18,uVar10); FUN_1812a1940(&local_f8,DAT_1824c4028,*puVar6); local_100 = CONCAT13(local_res10._3_1_, CONCAT12((char)(int)(fVar4 - (float)(int)(0xff - (local_res10 >> 0x10 & 0xff) ) * DAT_1824c3e6c), CONCAT11((char)(int)(fVar4 - (float)(int)(0xff - (local_res10 >> 8 & 0xff)) * DAT_1824c3e6c), (char)(int)(fVar4 - (float)(int)(0xff - (local_res10 & 0xff )) * DAT_1824c3e6c) ))); FUN_1812a1940(&local_f8,DAT_1824c4030,local_100); FUN_1812a1940(&local_f8,DAT_1824c4050,local_res10); FUN_1812a1940(&local_f8,DAT_1824c4080,local_res18[0]); puVar6 = (undefined4 *)FUN_1812a2a20(local_res18,local_7c,local_res10,DAT_1824c3c98); FUN_1812a1940(&local_f8,DAT_1824c4088,*puVar6); FUN_1812a1940(&local_f8,DAT_1824c4140,local_res10); FUN_181296a90(&local_d0,&local_f8); puVar7 = (undefined8 *)(**(code **)(*local_c8 + 0x58))(local_c8,local_58); local_68 = *puVar7; uStack_60 = puVar7[1]; (**(code **)(*local_c8 + 0xa8))(local_c8,&local_68,0); plVar8 = (longlong *)FUN_1805989c0(); lVar3 = *plVar8; local_b0 = (int *)FUN_1811316e0(0x18); local_b0[0] = 0; local_b0[1] = 0; local_b0[2] = 0; local_b0[4] = 0; local_b0[5] = 0; local_fc = 3; *(undefined4 *)(lVar3 + 500) = 0; FUN_18163bd70(local_b0,param_1 + 0x168); FUN_1805684e0(param_1 + 0x170,&local_b0); piVar1 = local_b0; if (local_b0 != (int *)0x0) { if ((*local_b0 != 0) && (plVar8 = (longlong *)FUN_1805989c0(), *(longlong *)(piVar1 + 4) == *plVar8)) { glDeleteTextures(1,piVar1); piVar1[0] = 0; piVar1[1] = 0; piVar1[2] = 0; } /* WARNING: Subroutine does not return */ free(piVar1); } /* WARNING: Subroutine does not return */ free(local_e0); } ############ FUN_ 18163a400 size=219 ############ undefined8 * FUN_18163a400(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined4 param_4, undefined4 param_5) { undefined8 uVar1; char cVar2; undefined8 *puVar3; puVar3 = (undefined8 *)FUN_1805989c0(); uVar1 = *puVar3; puVar3 = (undefined8 *)FUN_1811316e0(0x60); *(undefined4 *)(puVar3 + 1) = 0; *(undefined4 *)(puVar3 + 2) = 2; *(undefined4 *)((longlong)puVar3 + 0x14) = param_4; *(undefined4 *)(puVar3 + 3) = param_5; puVar3[4] = 0; puVar3[5] = 0; puVar3[6] = 0; puVar3[7] = 0; *puVar3 = juce::OpenGLFrameBufferImage::vftable; puVar3[8] = uVar1; puVar3[9] = 0; puVar3[10] = 0; *(undefined4 *)(puVar3 + 0xb) = 4; *(int *)((longlong)puVar3 + 0x5c) = *(int *)((longlong)puVar3 + 0x14) << 2; cVar2 = FUN_180595150(puVar3); if (cVar2 == '\0') { *param_2 = 0; (**(code **)*puVar3)(puVar3,1); } else { *param_2 = puVar3; LOCK(); *(int *)(puVar3 + 1) = *(int *)(puVar3 + 1) + 1; UNLOCK(); } return param_2; } ############ FUN_ 181a06ca0 size=237 ############ undefined8 * FUN_181a06ca0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = Backdrop::vftable; if (param_1[0xd] == 0) { puVar2 = (undefined8 *)FUN_1811316e0(0x30); *puVar2 = juce::StandardCachedComponentImage::vftable; puVar2[1] = 0; puVar2[2] = 0; puVar2[3] = 0; puVar2[4] = param_1; *(undefined4 *)(puVar2 + 5) = 0x3f800000; puVar1 = (undefined8 *)param_1[0xd]; param_1[0xd] = puVar2; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1,param_3,param_4,uVar3); } } return param_1; } ############ FUN_ 1809284c0 size=28 ############ void FUN_1809284c0(void) { FUN_1811316e0(); return; } ############ FUN_ 181226cb0 size=1117 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000181226faa) */ /* WARNING: Removing unreachable block (ram,0x000181226faf) */ /* WARNING: Removing unreachable block (ram,0x000181226fba) */ /* WARNING: Removing unreachable block (ram,0x000181226fc6) */ /* WARNING: Removing unreachable block (ram,0x00018122719e) */ /* WARNING: Removing unreachable block (ram,0x000181226fd7) */ /* WARNING: Removing unreachable block (ram,0x00018122702c) */ void FUN_181226cb0(undefined8 *param_1,longlong *param_2) { code *pcVar1; longlong lVar2; uint uVar3; undefined1 uVar4; int iVar5; undefined4 uVar6; undefined4 *puVar7; undefined8 uVar8; undefined8 uVar9; ulonglong uVar10; bool bVar11; undefined1 auStack_158 [32]; undefined1 local_138 [8]; undefined8 local_130; longlong local_128; undefined8 *local_120; undefined8 local_118; undefined1 local_108 [16]; longlong *local_f8; char *local_e0; ulonglong local_d0; undefined8 local_58; undefined **local_50; undefined8 local_48; longlong *local_40; undefined1 local_38 [8]; ulonglong local_30; local_118 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_158; local_120 = param_1; iVar5 = (**(code **)(*param_2 + 0x80))(param_2); if (iVar5 < 1) { LAB_18122710a: *param_1 = &PTR_vftable_18262b558; } else { pcVar1 = *(code **)(*param_2 + 0x20); if (pcVar1 == FUN_181235e90) { local_138[0] = 0; (**(code **)(*param_2 + 0x18))(param_2,local_138,1); uVar4 = local_138[0]; } else { uVar4 = (*pcVar1)(); } switch(uVar4) { case 1: uVar6 = (**(code **)(*param_2 + 0x40))(param_2); *param_1 = &PTR_vftable_18262b570; *(undefined4 *)(param_1 + 1) = uVar6; break; case 2: *param_1 = &PTR_vftable_18262b550; *(undefined1 *)(param_1 + 1) = 1; break; case 3: *param_1 = &PTR_vftable_18262b550; *(undefined1 *)(param_1 + 1) = 0; break; case 4: lVar2 = *param_2; if (*(code **)(lVar2 + 0x70) == FUN_1812359e0) { if (*(code **)(lVar2 + 0x50) == FUN_181235bf0) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_58,8); uVar8 = 0; if (iVar5 == 8) { uVar8 = local_58; } *param_1 = &PTR_vftable_18262b4d8; param_1[1] = uVar8; } else { uVar8 = (**(code **)(lVar2 + 0x50))(param_2); *param_1 = &PTR_vftable_18262b4d8; param_1[1] = uVar8; } } else { uVar8 = (**(code **)(lVar2 + 0x70))(param_2); *param_1 = &PTR_vftable_18262b4d8; param_1[1] = uVar8; } break; case 5: FUN_18124a4b0(local_108,0x100); FUN_181234ba0(local_108,param_2,(longlong)(iVar5 + -1)); if (local_f8 != (longlong *)0x0) { if (local_d0 < (ulonglong)local_f8[1]) { *(undefined1 *)(local_d0 + *local_f8) = 0; } local_e0 = (char *)*local_f8; } if ((local_e0 == (char *)0x0) || (*local_e0 == '\0')) { puVar7 = (undefined4 *)&DAT_1821dbf98; } else { uVar10 = local_d0 + 4 & 0xfffffffffffffffc; puVar7 = (undefined4 *)thunk_FUN_1811316e0(uVar10 + 0x17); LOCK(); *puVar7 = 0; UNLOCK(); *(ulonglong *)(puVar7 + 2) = uVar10; puVar7 = puVar7 + 4; memcpy(puVar7,local_e0,local_d0); *(undefined1 *)((longlong)puVar7 + local_d0) = 0; } *param_1 = &PTR_vftable_18262b560; param_1[1] = puVar7; local_120 = (undefined8 *)puVar7; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar11 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar11) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } FUN_18124a420(local_108); break; case 6: uVar8 = (**(code **)(*param_2 + 0x50))(param_2); *param_1 = &PTR_vftable_18262b568; param_1[1] = uVar8; break; case 7: local_50 = &PTR_vftable_18262b558; uVar8 = FUN_181227270(&local_50); iVar5 = (**(code **)(*param_2 + 0x80))(param_2); while (iVar5 = iVar5 + -1, -1 < iVar5) { uVar9 = FUN_181226cb0(&local_40,param_2); FUN_180487670(uVar8,uVar9); (**(code **)(*local_40 + 0xb0))(local_40,local_38); } *param_1 = local_50; param_1[1] = local_48; local_50 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_48); break; case 8: local_128 = (longlong)iVar5 + -1; local_130 = 0; if (local_128 != 0) { /* WARNING: Subroutine does not return */ free((void *)0x0); } local_128 = 0; if ((1 < iVar5) && (iVar5 = (**(code **)(*param_2 + 0x18))(param_2,0,iVar5 + -1), iVar5 != 0)) { if (iVar5 != 0) { /* WARNING: Subroutine does not return */ free((void *)0x0); } /* WARNING: Subroutine does not return */ free((void *)0x0); } *param_1 = &PTR_vftable_18262b4e0; local_120 = (undefined8 *)FUN_1811316e0(0x10); *local_120 = 0; local_120[1] = 0; param_1[1] = local_120; /* WARNING: Subroutine does not return */ free((void *)0x0); default: (**(code **)(*param_2 + 0xb8))(param_2,(longlong)(iVar5 + -1)); goto LAB_18122710a; } } } ############ FUN_ 18055aaf0 size=636 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18055aaf0(HWND param_1,UINT param_2,WPARAM param_3,LPARAM param_4) { longlong *plVar1; longlong lVar2; longlong lVar3; char cVar4; longlong *plVar5; undefined8 uVar6; HWND hWnd; longlong *plVar7; undefined1 auStackY_108 [32]; longlong local_b0; undefined1 local_a8 [8]; undefined8 local_a0; tagRECT local_98; tagRECT local_88; ulonglong local_78; local_a0 = 0xfffffffffffffffe; local_78 = DAT_182615970 ^ (ulonglong)auStackY_108; plVar5 = DAT_182673f20; while( true ) { if (plVar5 == DAT_182673f20 + DAT_182673f2c) { DefWindowProcW(param_1,param_2,param_3,param_4); } lVar2 = *plVar5; if ((*(longlong *)(lVar2 + 0xb0) != 0) && (*(HWND *)(*(longlong *)(lVar2 + 0xb0) + 0x50) == param_1)) break; plVar5 = plVar5 + 1; } if ((param_2 - 0x200 < 10) && (cVar4 = FUN_181345240(lVar2), cVar4 != '\0')) { if ((*(byte *)(lVar2 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar2 + 0x18) == 0) goto LAB_18055ad25; plVar5 = (longlong *)FUN_18134c2e0(); } else { plVar5 = (longlong *)FUN_1812d2bd0(lVar2); } if (plVar5 != (longlong *)0x0) { switch(param_2 - 0x200) { case 0: case 1: case 2: case 4: case 5: case 7: case 8: GetWindowRect(param_1,&local_88); if ((undefined **)*plVar5 == juce::HWNDComponentPeer::vftable) { hWnd = (HWND)plVar5[0x11]; } else { hWnd = (HWND)(*(code *)((undefined **)*plVar5)[1])(plVar5); } GetWindowRect(hWnd,&local_98); uVar6 = FUN_1812c6c70(); FUN_1812d0cb0(local_a8); if (DAT_182673700 == 0) { local_b0 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_b0); } lVar3 = *(longlong *)(DAT_182673700 + 0x30); plVar7 = *(longlong **)(lVar3 + 0x28); plVar1 = plVar7 + *(int *)(lVar3 + 0x34); for (; plVar7 != plVar1; plVar7 = plVar7 + 1) { if (*(int *)(*plVar7 + 0x14) == 0) { local_b0 = *plVar7; FUN_18133dc10(&local_b0,plVar5, CONCAT44((float)(((short)((ulonglong)param_4 >> 0x10) - local_98.top) + local_88.top), (float)(((short)param_4 - local_98.left) + local_88.left)),uVar6) ; goto switchD_18055abd6_caseD_3; } } FUN_1804e6f50(lVar3,0,0); } switchD_18055abd6_caseD_3: if (*(char *)(lVar2 + 0xb8) == '\0') { } } } LAB_18055ad25: CallWindowProcW(*(WNDPROC *)(*(longlong *)(lVar2 + 0xb0) + 0x70),param_1,param_2,param_3,param_4); } ############ FUN_ 1813bddc0 size=450 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813bddc0(longlong *param_1,HWND param_2,undefined4 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; undefined8 uVar3; undefined4 *puVar4; HWND hWnd; longlong *plVar5; float fVar6; float fVar7; undefined1 auStack_c8 [32]; undefined4 local_a8; undefined4 local_a0; undefined4 local_98; undefined8 *local_90; undefined8 local_88; undefined4 local_80; float local_78; float fStack_74; longlong local_70; undefined1 local_68 [8]; undefined8 local_60; tagRECT local_58; tagRECT local_48; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_c8; switch(param_3) { case 0x200: case 0x201: case 0x202: case 0x204: case 0x205: case 0x207: case 0x208: GetWindowRect(param_2,&local_48); if ((undefined **)*param_1 == juce::HWNDComponentPeer::vftable) { hWnd = (HWND)param_1[0x11]; } else { hWnd = (HWND)(*(code *)((undefined **)*param_1)[1])(param_1); } GetWindowRect(hWnd,&local_58); local_88 = 0; local_80 = 0; fVar7 = (float)(((short)((ulonglong)param_4 >> 0x10) - local_58.top) + local_48.top); fVar6 = (float)(((short)param_4 - local_58.left) + local_48.left); uVar3 = FUN_1812c6c70(); puVar4 = (undefined4 *)FUN_1812d0cb0(local_68); local_a8 = *puVar4; local_78 = fVar6; fStack_74 = fVar7; if (DAT_182673700 == 0) { local_70 = FUN_1811316e0(0x130); DAT_182673700 = FUN_18133c6c0(local_70); } lVar2 = *(longlong *)(DAT_182673700 + 0x30); plVar5 = *(longlong **)(lVar2 + 0x28); plVar1 = plVar5 + *(int *)(lVar2 + 0x34); for (; plVar5 != plVar1; plVar5 = plVar5 + 1) { if (*(int *)(*plVar5 + 0x14) == 0) { local_90 = &local_88; local_98 = 0; local_a0 = 0; local_70 = *plVar5; FUN_18133dc10(&local_70,param_1,CONCAT44(fStack_74,local_78),uVar3); } } FUN_1804e6f50(lVar2,0,0); } } ############ FUN_ 18060cee0 size=168 ############ longlong FUN_18060cee0(longlong param_1,longlong param_2,longlong param_3) { longlong lVar1; undefined8 uVar2; longlong lVar3; undefined8 uVar4; undefined8 *puVar5; undefined1 local_20 [24]; uVar2 = FUN_1811316e0(0x58); *(undefined8 *)(param_1 + 8) = uVar2; lVar1 = param_1 + 0x11; FUN_180619400(lVar1); FUN_1806194a0(lVar1); *(undefined8 *)(param_1 + 0x18) = 0; lVar3 = 0; if (lVar1 != 0) { lVar3 = param_1; } uVar2 = *(undefined8 *)(lVar3 + 8); while (*(longlong *)(param_2 + 0x10) != *(longlong *)(param_3 + 0x10)) { uVar4 = FUN_180489600(param_2); puVar5 = (undefined8 *)FUN_18061d220(param_1,local_20,uVar4,uVar2); uVar2 = *puVar5; *(longlong *)(param_2 + 0x10) = *(longlong *)(param_2 + 0x10) + 1; } return param_1; } ############ FUN_ 18061d220 size=138 ############ undefined8 * FUN_18061d220(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { void *_Memory; void *pvVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; _Memory = (void *)FUN_1811316e0(0x58); pvVar1 = (void *)FUN_18061d2c0(param_1 + 0x11,param_3,param_4,_Memory,_Memory,uVar2); if (pvVar1 == _Memory) { *(longlong *)(param_1 + 0x18) = *(longlong *)(param_1 + 0x18) + 1; *param_2 = pvVar1; *(undefined1 *)(param_2 + 1) = 1; return param_2; } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18060f250 size=570 ############ longlong FUN_18060f250(longlong param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; ulonglong uVar2; ulonglong uVar3; undefined8 uVar4; ulonglong uVar5; ulonglong *puVar6; ulonglong uVar7; ulonglong *puVar8; ulonglong *puVar9; ulonglong *puVar10; ulonglong *puVar11; undefined8 uVar12; undefined1 local_78 [8]; ulonglong local_70; ulonglong local_60; ulonglong *local_58; undefined8 local_50; ulonglong local_48; undefined8 local_40; undefined1 local_38; uVar12 = 0xfffffffffffffffe; uVar4 = FUN_1811316e0(0x58); *(undefined8 *)(param_1 + 8) = uVar4; puVar11 = (ulonglong *)0x0; *(undefined8 *)(param_1 + 0x18) = 0; uVar2 = param_2[1]; lVar1 = (longlong)param_2 + 0x11; puVar10 = param_2; if (lVar1 == 0) { puVar10 = puVar11; } uVar3 = puVar10[3]; puVar10 = puVar11; local_70 = uVar3; local_60 = uVar3; if (uVar3 != 0) { uVar5 = uVar3 << 4; if (uVar3 < 0x1000000000000000) { if (uVar5 < 0x1000) { if (uVar5 != 0) { puVar10 = (ulonglong *)FUN_1811316e0(uVar5); } goto LAB_18060f32c; } } else { uVar5 = 0xffffffffffffffff; } uVar7 = uVar5 + 0x27; if (uVar7 <= uVar5) { uVar7 = 0xffffffffffffffff; } uVar5 = FUN_1811316e0(uVar7); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } puVar10 = (ulonglong *)(uVar5 + 0x27 & 0xffffffffffffffe0); puVar10[-1] = uVar5; } LAB_18060f32c: local_50 = 0; local_38 = 0; puVar6 = param_2; if (lVar1 == 0) { puVar6 = puVar11; } puVar9 = puVar11; if (*(longlong *)(puVar6[1] + 0x48) != 0) { puVar9 = (ulonglong *)(*(longlong *)(puVar6[1] + 0x48) + -0x40); } puVar6 = param_2; if (lVar1 == 0) { puVar6 = puVar11; } puVar6 = (ulonglong *)puVar6[1]; local_48 = uVar2; local_40 = uVar4; while (local_58 = puVar10, puVar9 != puVar6) { FUN_180618ce0(local_78,puVar9); puVar8 = puVar9 + 8; if (puVar9 == (ulonglong *)0x0) { puVar8 = puVar11; } puVar10 = (ulonglong *)puVar8[2]; if (puVar10 == (ulonglong *)0x0) { puVar10 = (ulonglong *)(*puVar8 & 0xfffffffffffffffe); if (puVar8 == (ulonglong *)puVar10[2]) { do { puVar8 = puVar10; puVar10 = (ulonglong *)(*puVar8 & 0xfffffffffffffffe); } while (puVar8 == (ulonglong *)puVar10[2]); } if ((ulonglong *)puVar8[2] != puVar10) { puVar8 = puVar10; } } else { for (puVar9 = (ulonglong *)puVar10[1]; puVar8 = puVar10, puVar9 != (ulonglong *)0x0; puVar9 = (ulonglong *)puVar9[1]) { puVar10 = puVar9; } } uVar3 = local_60; puVar9 = puVar11; puVar10 = local_58; if (puVar8 != (ulonglong *)0x0) { puVar9 = puVar8 + -8; } } FUN_180619020(param_1 + 0x11,lVar1,local_78,param_4,uVar12); if (lVar1 != 0) { puVar11 = param_2; } *(ulonglong *)(param_1 + 0x18) = puVar11[3]; if (uVar3 == 0) { return param_1; } puVar11 = puVar10; if ((0xfff < uVar3 << 4) && (puVar11 = (ulonglong *)puVar10[-1], 0x1f < (ulonglong)((longlong)puVar10 + (-8 - (longlong)puVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(puVar11); } ############ FUN_ 180618ce0 size=162 ############ void FUN_180618ce0(ulonglong param_1,undefined4 *param_2) { longlong lVar1; undefined4 *puVar2; undefined8 uVar3; longlong lVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; *(undefined4 **)(*(longlong *)(param_1 + 0x20) + *(longlong *)(param_1 + 0x28) * 0x10) = param_2; uVar3 = FUN_1811316e0(0x58); lVar1 = *(longlong *)(param_1 + 0x20); lVar4 = *(longlong *)(param_1 + 0x28); *(undefined8 *)(lVar1 + 8 + lVar4 * 0x10) = uVar3; puVar2 = *(undefined4 **) (*(longlong *)(param_1 + 0x20) + 8 + *(longlong *)(param_1 + 0x28) * 0x10); *puVar2 = *param_2; FUN_1805a4070(puVar2 + 2,param_2 + 2,lVar4 * 2,lVar1,uVar5); *(longlong *)(param_1 + 0x28) = *(longlong *)(param_1 + 0x28) + 1; if (*(longlong *)(param_1 + 0x28) == *(longlong *)(param_1 + 8)) { lVar1 = *(longlong *)(param_1 + 0x20); lVar4 = *(longlong *)(param_1 + 8) * 0x10 + lVar1; FUN_18060e050(lVar1,lVar4,lVar4 - lVar1 >> 4,param_1 & 0xff); } return; } ############ FUN_ 1807ea870 size=191 ############ longlong FUN_1807ea870(longlong param_1,undefined4 *param_2,undefined4 *param_3) { longlong lVar1; undefined4 uVar2; undefined4 uVar3; undefined8 uVar4; ulonglong uVar5; uVar2 = *param_2; uVar3 = *param_3; if (((*(char *)(param_1 + 0x18) + (char)*(longlong *)(param_1 + 0x20) & 1U) == 0) && (*(ulonglong *)(param_1 + 0x10) <= *(longlong *)(param_1 + 0x20) + 2U >> 1)) { FUN_1807ec1f0(param_1,1); } *(ulonglong *)(param_1 + 0x18) = *(ulonglong *)(param_1 + 0x18) & *(longlong *)(param_1 + 0x10) * 2 - 1U; uVar5 = *(longlong *)(param_1 + 0x18) + *(longlong *)(param_1 + 0x20); lVar1 = (uVar5 >> 1 & *(longlong *)(param_1 + 0x10) - 1U) * 8; if (*(longlong *)(lVar1 + *(longlong *)(param_1 + 8)) == 0) { uVar4 = FUN_1811316e0(0x10); *(undefined8 *)(lVar1 + *(longlong *)(param_1 + 8)) = uVar4; } *(ulonglong *) (*(longlong *)(*(longlong *)(param_1 + 8) + lVar1) + (ulonglong)((uint)uVar5 & 1) * 8) = CONCAT44(uVar3,uVar2); *(longlong *)(param_1 + 0x20) = *(longlong *)(param_1 + 0x20) + 1; return param_1; } ############ FUN_ 180527d40 size=185 ############ void FUN_180527d40(longlong *param_1,ulonglong param_2) { void *_Dst; uint uVar1; int iVar2; uint uVar3; int iVar4; uint uVar5; uint uVar6; uVar1 = *(uint *)((longlong)param_1 + 0xc); uVar5 = 0; if (0 < (int)uVar1) { uVar6 = uVar1; do { if (param_2 == *(ulonglong *)(*param_1 + (longlong)(int)uVar5 * 8)) goto LAB_180527d9a; uVar3 = (int)(uVar6 + uVar5) / 2; if (uVar3 == uVar5) break; if (param_2 < *(ulonglong *)(*param_1 + (longlong)(int)uVar3 * 8)) { uVar6 = uVar3; uVar3 = uVar5; } uVar5 = uVar3; } while ((int)uVar5 < (int)uVar6); } uVar5 = 0xffffffff; LAB_180527d9a: if (uVar5 < uVar1) { _Dst = (void *)(*param_1 + (longlong)(int)uVar5 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)(int)((uVar1 - uVar5) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar2 = *(int *)((longlong)param_1 + 0xc); iVar4 = 0; if (0 < iVar2 * 2) { iVar4 = iVar2 * 2; } if (iVar4 < (int)param_1[1]) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < (int)param_1[1]) { FUN_18047cb30(param_1); } } } return; } ############ FUN_ 1812a7170 size=186 ############ void FUN_1812a7170(undefined8 *param_1) { void *_Dst; int iVar1; uint uVar2; longlong *plVar3; longlong lVar4; int iVar5; *param_1 = juce::DeletedAtShutdown::vftable; do { LOCK(); uVar2 = DAT_182673a34 & 1; DAT_182673a34 = DAT_182673a34 | 1; UNLOCK(); } while (uVar2 != 0); plVar3 = (longlong *)FUN_1812a6d90(); iVar5 = 0; lVar4 = 0; iVar1 = *(int *)((longlong)plVar3 + 0xc); if (0 < iVar1) { do { if (param_1 == *(undefined8 **)(*plVar3 + lVar4 * 8)) { _Dst = (void *)(*plVar3 + (longlong)iVar5 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar5) + -1) << 3); *(int *)((longlong)plVar3 + 0xc) = *(int *)((longlong)plVar3 + 0xc) + -1; iVar1 = *(int *)((longlong)plVar3 + 0xc); iVar5 = 0; if (0 < iVar1 * 2) { iVar5 = iVar1 * 2; } if (iVar5 < (int)plVar3[1]) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < (int)plVar3[1]) { FUN_18047cb30(plVar3); } } break; } iVar5 = iVar5 + 1; lVar4 = lVar4 + 1; } while (lVar4 < iVar1); } LOCK(); DAT_182673a34 = 0; UNLOCK(); return; } ############ FUN_ 181338d00 size=425 ############ void FUN_181338d00(longlong param_1,longlong *param_2) { int iVar1; longlong lVar2; char cVar3; int iVar4; longlong *plVar5; longlong *plVar6; longlong *plVar7; uint uVar8; longlong *plVar9; longlong *plVar10; longlong *plVar11; longlong *_Memory; longlong *local_40; uint local_38; uint local_34; plVar6 = (longlong *)0x0; local_40 = (longlong *)0x0; local_38 = 0; iVar4 = 0; local_34 = 0; plVar7 = *(longlong **)(param_1 + 0x40); plVar10 = (longlong *) ((ulonglong)((longlong)(plVar7 + *(int *)(param_1 + 0x4c)) + (7 - (longlong)plVar7)) >> 3); if (plVar7 + *(int *)(param_1 + 0x4c) < plVar7) { plVar10 = plVar6; } plVar5 = plVar6; plVar9 = plVar6; plVar11 = plVar6; _Memory = plVar6; if (plVar10 != (longlong *)0x0) { do { uVar8 = (uint)plVar9; lVar2 = *plVar7; if (((*(byte *)(lVar2 + 0xa8) >> 1 & 1) != 0) && ((*(byte *)(lVar2 + 0xa9) & 0x10) == 0)) { if (*(longlong *)(lVar2 + 0x18) != 0) { cVar3 = FUN_18133eaa0(); uVar8 = (uint)plVar9; if (cVar3 == '\0') goto LAB_181338dcd; } iVar4 = uVar8 + 1; if ((int)plVar5 < iVar4) { if (iVar4 < 0) { iVar4 = uVar8 + 2; } FUN_18047cb30(&local_40,uVar8 + 9 + (iVar4 >> 1) & 0xfffffff8); plVar5 = (longlong *)(ulonglong)local_38; _Memory = local_40; uVar8 = local_34; } local_34 = uVar8 + 1; plVar9 = (longlong *)(ulonglong)local_34; _Memory[(int)uVar8] = lVar2; } LAB_181338dcd: iVar4 = (int)plVar9; plVar7 = plVar7 + 1; plVar11 = (longlong *)((longlong)plVar11 + 1); } while (plVar11 != plVar10); } plVar7 = _Memory + iVar4; FUN_18051eec0(_Memory,plVar7); plVar10 = (longlong *)((ulonglong)((longlong)plVar7 + (7 - (longlong)_Memory)) >> 3); if (plVar7 < _Memory) { plVar10 = plVar6; } plVar7 = _Memory; if (plVar10 != (longlong *)0x0) { do { lVar2 = *plVar7; if (((*(byte *)(lVar2 + 0xa8) & 0x20) != 0) && ((*(byte *)(lVar2 + 0xa9) & 0x10) == 0)) { iVar1 = *(int *)((longlong)param_2 + 0xc); iVar4 = iVar1 + 1; if ((int)param_2[1] < iVar4) { if (iVar4 < 0) { iVar4 = iVar1 + 2; } FUN_18047cb30(param_2,iVar1 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar4 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar4 + 1; *(longlong *)(*param_2 + (longlong)iVar4 * 8) = lVar2; } if (((*(byte *)(lVar2 + 0xa8) >> 6 & 1) == 0) && (*(int *)(lVar2 + 0x4c) != 0)) { FUN_181338d00(lVar2,param_2); } plVar6 = (longlong *)((longlong)plVar6 + 1); plVar7 = plVar7 + 1; } while (plVar6 != plVar10); } /* WARNING: Could not recover jumptable at 0x000181338ea2. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } ############ FUN_ 1813514c0 size=167 ############ void FUN_1813514c0(longlong *param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; int iVar3; iVar1 = *(int *)((longlong)param_1 + 0x14); iVar3 = 0; lVar2 = 0; if (0 < iVar1) { do { if (param_2 == *(longlong *)(param_1[1] + lVar2 * 8)) { _Dst = (void *)(param_1[1] + (longlong)iVar3 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar3) + -1) << 3); *(int *)((longlong)param_1 + 0x14) = *(int *)((longlong)param_1 + 0x14) + -1; iVar1 = *(int *)((longlong)param_1 + 0x14); iVar3 = 0; if (0 < iVar1 * 2) { iVar3 = iVar1 * 2; } if (iVar3 < (int)param_1[2]) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < (int)param_1[2]) { FUN_18047cb30(param_1 + 1); } } break; } iVar3 = iVar3 + 1; lVar2 = lVar2 + 1; } while (lVar2 < iVar1); } if (*(int *)((longlong)param_1 + 0x14) == 0) { FUN_180527d40(*param_1 + 0x20,param_1); } return; } ############ FUN_ 180527e00 size=264 ############ longlong FUN_180527e00(longlong *param_1,ulonglong *param_2) { uint uVar1; ulonglong uVar2; uint uVar3; uint uVar4; longlong lVar5; void *_Src; ulonglong *puVar6; uint uVar7; uint uVar8; bool bVar9; uVar1 = *(uint *)((longlong)param_1 + 0xc); uVar7 = 0; if (0 < (int)uVar1) { lVar5 = *param_1; uVar2 = *param_2; uVar8 = uVar1; do { if (uVar2 == *(ulonglong *)(lVar5 + (longlong)(int)uVar7 * 8)) { *(ulonglong *)(lVar5 + (longlong)(int)uVar7 * 8) = uVar2; return (ulonglong)(uint7)(int7)(int3)(uVar7 >> 8) << 8; } uVar4 = (int)(uVar8 + uVar7) / 2; bVar9 = *(ulonglong *)(lVar5 + (longlong)(int)uVar4 * 8) <= uVar2; if (uVar4 == uVar7) { if (bVar9) { uVar7 = uVar7 + 1; } break; } uVar3 = uVar4; if (!bVar9) { uVar3 = uVar7; uVar8 = uVar4; } uVar7 = uVar3; } while ((int)uVar7 < (int)uVar8); } uVar2 = *param_2; if ((int)param_1[1] < (int)(uVar1 + 1)) { FUN_18047cb30(param_1,uVar1 + 9 + (int)(uVar1 + 1) / 2 & 0xfffffff8); } uVar1 = *(uint *)((longlong)param_1 + 0xc); if (uVar7 < uVar1) { _Src = (void *)(*param_1 + (longlong)(int)uVar7 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar1 - uVar7) << 3); lVar5 = *param_1; puVar6 = (ulonglong *)((longlong)(int)uVar7 * 8 + lVar5); } else { lVar5 = *param_1; puVar6 = (ulonglong *)(lVar5 + (longlong)(int)uVar1 * 8); } *puVar6 = uVar2; *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + 1; return CONCAT71((int7)((ulonglong)lVar5 >> 8),1); } ############ FUN_ 181349e00 size=360 ############ void FUN_181349e00(undefined8 *param_1) { int *piVar1; void *_Dst; int iVar2; longlong lVar3; undefined8 *puVar4; ulonglong uVar5; int iVar6; ulonglong uVar7; ulonglong uVar8; *param_1 = juce::Label::vftable; param_1[0x16] = juce::Label::vftable; param_1[0x18] = juce::Label::vftable; param_1[0x19] = juce::Label::vftable; param_1[0x1a] = juce::Label::vftable; FUN_1813514c0(param_1 + 0x33); lVar3 = param_1[0x3c]; uVar5 = 0; if ((lVar3 != 0) && (*(longlong *)(lVar3 + 0x10) != 0)) { uVar8 = uVar5; if (lVar3 != 0) { uVar8 = *(ulonglong *)(lVar3 + 0x10); } iVar2 = *(int *)(uVar8 + 0x8c); lVar3 = *(longlong *)(uVar8 + 0x80); uVar7 = uVar5; if (0 < iVar2) { do { iVar6 = (int)uVar7; if (param_1 + 0x19 == *(undefined8 **)(lVar3 + uVar5 * 8)) { _Dst = (void *)(lVar3 + (longlong)iVar6 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar6) + -1) << 3); *(int *)(uVar8 + 0x8c) = *(int *)(uVar8 + 0x8c) + -1; iVar2 = *(int *)(uVar8 + 0x8c); iVar6 = 0; if (0 < iVar2 * 2) { iVar6 = iVar2 * 2; } if (iVar6 < *(int *)(uVar8 + 0x88)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(uVar8 + 0x88)) { FUN_18047cb30((longlong *)(uVar8 + 0x80)); } } break; } uVar7 = (ulonglong)(iVar6 + 1); uVar5 = uVar5 + 1; } while ((longlong)uVar5 < (longlong)iVar2); } } puVar4 = (undefined8 *)param_1[0x39]; param_1[0x39] = 0; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } puVar4 = (undefined8 *)param_1[0x3c]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } *(undefined4 *)((longlong)param_1 + 0x1dc) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x3a]); } ############ FUN_ 181337760 size=375 ############ void FUN_181337760(longlong *param_1) { void *_Dst; int iVar1; longlong lVar2; undefined8 *puVar3; ulonglong uVar4; ulonglong uVar5; int iVar6; ulonglong uVar7; ulonglong uVar8; *param_1 = (longlong)juce::Button::vftable; param_1[0x16] = (longlong)juce::Button::vftable; uVar8 = 0; *(undefined4 *)((longlong)param_1 + 0x14c) = 0; if ((int)param_1[0x29] != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0x28]); } *(undefined4 *)(param_1 + 0x29) = 0; (**(code **)(*param_1 + 0x88))(param_1); lVar2 = param_1[0x30]; if (lVar2 != 0) { uVar5 = uVar8; if (param_1[0x2e] != 0) { uVar5 = param_1[0x2e] + 0x18; } iVar1 = *(int *)(lVar2 + 0x34); uVar4 = uVar8; uVar7 = uVar8; if (0 < iVar1) { do { iVar6 = (int)uVar7; if (uVar5 == *(ulonglong *)(*(longlong *)(lVar2 + 0x28) + uVar4 * 8)) { _Dst = (void *)(*(longlong *)(lVar2 + 0x28) + (longlong)iVar6 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar6) + -1) << 3); *(int *)(lVar2 + 0x34) = *(int *)(lVar2 + 0x34) + -1; iVar1 = *(int *)(lVar2 + 0x34); iVar6 = 0; if (0 < iVar1 * 2) { iVar6 = iVar1 * 2; } if (iVar6 < *(int *)(lVar2 + 0x30)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x30)) { FUN_18047cb30(lVar2 + 0x28); } } break; } uVar7 = (ulonglong)(iVar6 + 1); uVar4 = uVar4 + 1; } while ((longlong)uVar4 < (longlong)iVar1); } } uVar5 = param_1[0x2e] + 0x20; if (param_1[0x2e] == 0) { uVar5 = uVar8; } FUN_1813514c0(param_1 + 0x35,uVar5); puVar3 = (undefined8 *)param_1[0x2e]; param_1[0x2e] = 0; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } FUN_181351c00(param_1 + 0x35); puVar3 = (undefined8 *)param_1[0x2e]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } *(undefined4 *)((longlong)param_1 + 0x16c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x2c]); } ############ FUN_ 181322ab0 size=209 ############ void FUN_181322ab0(undefined8 *param_1) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; longlong lVar5; *param_1 = juce::ComponentMovementWatcher::vftable; lVar5 = param_1[1]; if ((lVar5 != 0) && (*(longlong *)(lVar5 + 0x10) != 0)) { if (lVar5 == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(lVar5 + 0x10); } iVar4 = 0; lVar3 = 0; iVar1 = *(int *)(lVar5 + 0x8c); lVar2 = *(longlong *)(lVar5 + 0x80); if (0 < iVar1) { do { if (param_1 == *(undefined8 **)(lVar2 + lVar3 * 8)) { _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(lVar5 + 0x8c) = *(int *)(lVar5 + 0x8c) + -1; iVar1 = *(int *)(lVar5 + 0x8c); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(lVar5 + 0x88)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar5 + 0x88)) { FUN_18047cb30((longlong *)(lVar5 + 0x80)); } } break; } iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; } while (lVar3 < iVar1); } } FUN_1813224b0(param_1); *(undefined4 *)((longlong)param_1 + 0x24) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } ############ FUN_ 1813224b0 size=293 ############ void FUN_1813224b0(longlong param_1) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; ulonglong uVar4; int iVar5; ulonglong uVar6; ulonglong uVar7; longlong *plVar8; ulonglong uVar9; ulonglong uVar10; uVar10 = 0; plVar8 = *(longlong **)(param_1 + 0x18); uVar9 = (ulonglong)((longlong)(plVar8 + *(int *)(param_1 + 0x24)) + (7 - (longlong)plVar8)) >> 3; if (plVar8 + *(int *)(param_1 + 0x24) < plVar8) { uVar9 = uVar10; } if (uVar9 != 0) { uVar7 = uVar10; do { lVar2 = *plVar8; iVar1 = *(int *)(lVar2 + 0x8c); lVar3 = *(longlong *)(lVar2 + 0x80); uVar4 = uVar10; uVar6 = uVar10; if (0 < iVar1) { do { iVar5 = (int)uVar6; if (param_1 == *(longlong *)(lVar3 + uVar4 * 8)) { _Dst = (void *)(lVar3 + (longlong)iVar5 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar5) + -1) << 3); *(int *)(lVar2 + 0x8c) = *(int *)(lVar2 + 0x8c) + -1; iVar1 = *(int *)(lVar2 + 0x8c); iVar5 = 0; if (0 < iVar1 * 2) { iVar5 = iVar1 * 2; } if (iVar5 < *(int *)(lVar2 + 0x88)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x88)) { FUN_18047cb30((longlong *)(lVar2 + 0x80)); } } break; } uVar6 = (ulonglong)(iVar5 + 1); uVar4 = uVar4 + 1; } while ((longlong)uVar4 < (longlong)iVar1); } plVar8 = plVar8 + 1; uVar7 = uVar7 + 1; } while (uVar7 != uVar9); } *(undefined4 *)(param_1 + 0x24) = 0; if (*(int *)(param_1 + 0x20) == 0) { *(undefined4 *)(param_1 + 0x20) = 0; return; } /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x18)); } ############ FUN_ 1813c8030 size=248 ############ void FUN_1813c8030(longlong *param_1,char param_2) { longlong *plVar1; void *_Dst; longlong lVar2; longlong lVar3; int iVar4; int iVar5; lVar2 = *param_1; *(char *)((longlong)param_1 + 0x14) = param_2; if (lVar2 != 0) { plVar1 = (longlong *)(lVar2 + 0x10); if (param_2 != '\0') { iVar4 = *(int *)(lVar2 + 0x1c) + 1; if (*(int *)(lVar2 + 0x18) < iVar4) { FUN_18047cb30(plVar1,*(int *)(lVar2 + 0x1c) + 9 + iVar4 / 2 & 0xfffffff8); } iVar4 = *(int *)(lVar2 + 0x1c); *(int *)(lVar2 + 0x1c) = iVar4 + 1; *(longlong **)(*plVar1 + (longlong)iVar4 * 8) = param_1; return; } iVar4 = *(int *)(lVar2 + 0x1c); iVar5 = 0; lVar3 = 0; if (0 < iVar4) { while (param_1 != *(longlong **)(*plVar1 + lVar3 * 8)) { iVar5 = iVar5 + 1; lVar3 = lVar3 + 1; if (iVar4 <= lVar3) { return; } } _Dst = (void *)(*plVar1 + (longlong)iVar5 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar4 - iVar5) + -1) << 3); *(int *)(lVar2 + 0x1c) = *(int *)(lVar2 + 0x1c) + -1; iVar4 = *(int *)(lVar2 + 0x1c); iVar5 = 0; if (0 < iVar4 * 2) { iVar5 = iVar4 * 2; } if (iVar5 < *(int *)(lVar2 + 0x18)) { if (iVar4 < 8) { iVar4 = 8; } if (iVar4 < *(int *)(lVar2 + 0x18)) { FUN_18047cb30(plVar1); } } } } return; } ############ FUN_ 1812bda70 size=272 ############ void FUN_1812bda70(undefined8 *param_1) { int *piVar1; void *_Dst; int iVar2; longlong lVar3; undefined8 *puVar4; longlong lVar5; int iVar6; *param_1 = juce::AudioProcessorEditor::vftable; iVar2 = *(int *)((longlong)param_1 + 0x8c); iVar6 = 0; lVar3 = param_1[0x10]; lVar5 = 0; if (0 < iVar2) { do { if (param_1[0x18] == *(longlong *)(lVar3 + lVar5 * 8)) { _Dst = (void *)(lVar3 + (longlong)iVar6 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar6) + -1) << 3); *(int *)((longlong)param_1 + 0x8c) = *(int *)((longlong)param_1 + 0x8c) + -1; iVar2 = *(int *)((longlong)param_1 + 0x8c); iVar6 = 0; if (0 < iVar2 * 2) { iVar6 = iVar2 * 2; } if (iVar6 < *(int *)(param_1 + 0x11)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(param_1 + 0x11)) { FUN_18047cb30(param_1 + 0x10); } } break; } iVar6 = iVar6 + 1; lVar5 = lVar5 + 1; } while (lVar5 < iVar2); } puVar4 = (undefined8 *)param_1[0x21]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } param_1[0x1a] = juce::ComponentBoundsConstrainer::vftable; puVar4 = (undefined8 *)param_1[0x18]; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } puVar4 = (undefined8 *)param_1[0x17]; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } FUN_18134caa0(param_1); return; } ############ FUN_ 1816398a0 size=546 ############ void FUN_1816398a0(undefined8 param_1,undefined8 param_2,longlong param_3) { int *piVar1; longlong *plVar2; void *_Dst; undefined8 *puVar3; int iVar4; longlong lVar5; int iVar6; uint uVar7; longlong lVar8; undefined1 local_res20 [8]; lVar5 = FUN_181639c10(); if (lVar5 != 0) { iVar6 = *(int *)(lVar5 + 0xec); uVar7 = 0; if (0 < iVar6) { lVar8 = 0; do { iVar4 = FUN_18048cbc0(param_2); if (iVar4 == 0) { if (-1 < (int)uVar7) { if (param_3 == 0) { FUN_180488fc0(lVar5 + 0xe0,uVar7); if (*(uint *)(lVar5 + 0xfc) <= uVar7) { return; } lVar8 = *(longlong *)(lVar5 + 0xf0); puVar3 = *(undefined8 **)(lVar8 + (longlong)(int)uVar7 * 8); _Dst = (void *)(lVar8 + (longlong)(int)uVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)(lVar5 + 0xfc) - uVar7) + -1) << 3); *(int *)(lVar5 + 0xfc) = *(int *)(lVar5 + 0xfc) + -1; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*puVar3)(puVar3,1); } } if (*(int *)(lVar5 + 0xf8) <= *(int *)(lVar5 + 0xfc) * 2) { return; } if (*(int *)(lVar5 + 0xf8) <= *(int *)(lVar5 + 0xfc)) { return; } FUN_18047cb30((longlong *)(lVar5 + 0xf0)); return; } plVar2 = (longlong *)(lVar5 + 0xf0); LOCK(); *(int *)(param_3 + 8) = *(int *)(param_3 + 8) + 1; UNLOCK(); iVar6 = *(int *)(lVar5 + 0xfc); if (iVar6 <= (int)uVar7) { if (*(int *)(lVar5 + 0xf8) < iVar6 + 1) { FUN_18047cb30(plVar2,iVar6 + 9 + (iVar6 + 1) / 2 & 0xfffffff8); } iVar6 = *(int *)(lVar5 + 0xfc); *(int *)(lVar5 + 0xfc) = iVar6 + 1; *(longlong *)(*plVar2 + (longlong)iVar6 * 8) = param_3; return; } puVar3 = *(undefined8 **)(*plVar2 + (longlong)(int)uVar7 * 8); *(longlong *)(*plVar2 + (longlong)(int)uVar7 * 8) = param_3; if (puVar3 == (undefined8 *)0x0) { return; } LOCK(); piVar1 = (int *)(puVar3 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 != 1) { return; } (**(code **)*puVar3)(puVar3); return; } break; } uVar7 = uVar7 + 1; lVar8 = lVar8 + 1; } while (lVar8 < iVar6); } if (param_3 != 0) { FUN_18049c4e0(local_res20,param_2); FUN_18122dc00(lVar5 + 0xe0,local_res20); iVar6 = *(int *)(lVar5 + 0xfc) + 1; if (*(int *)(lVar5 + 0xf8) < iVar6) { FUN_18047cb30((longlong *)(lVar5 + 0xf0),*(int *)(lVar5 + 0xfc) + 9 + iVar6 / 2 & 0xfffffff8 ); } iVar6 = *(int *)(lVar5 + 0xfc); *(int *)(lVar5 + 0xfc) = iVar6 + 1; *(longlong *)(*(longlong *)(lVar5 + 0xf0) + (longlong)iVar6 * 8) = param_3; LOCK(); *(int *)(param_3 + 8) = *(int *)(param_3 + 8) + 1; UNLOCK(); } } return; } ############ FUN_ 18122a430 size=371 ############ undefined8 FUN_18122a430(longlong *param_1,longlong param_2) { LPCRITICAL_SECTION lpCriticalSection; longlong *plVar1; bool bVar2; DWORD DVar3; longlong lVar4; longlong *plVar5; longlong local_30; undefined4 local_28; int iStack_24; bVar2 = true; local_30 = 0; _local_28 = 0; if (param_2 != 0) { lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 4); EnterCriticalSection(lpCriticalSection); plVar5 = (longlong *)*param_1; plVar1 = plVar5 + *(int *)((longlong)param_1 + 0xc); for (; plVar5 != plVar1; plVar5 = plVar5 + 1) { if (param_2 == *plVar5) { if (*(char *)(param_2 + 0x19) == '\0') { FUN_180488600(param_1,param_2); LOCK(); *(undefined1 *)(param_2 + 0x18) = 1; UNLOCK(); *(undefined8 *)(param_2 + 0x10) = 0; if (*(char *)(param_2 + 0x1a) != '\0') { FUN_18047cb30(&local_30,8); lVar4 = (longlong)iStack_24; _local_28 = CONCAT44(iStack_24 + 1,local_28); *(longlong *)(local_30 + lVar4 * 8) = param_2; } } else { FUN_18122ac30(param_2); bVar2 = false; } break; } } LeaveCriticalSection(lpCriticalSection); if (!bVar2) { DVar3 = timeGetTime(); if ((DAT_1826737fc <= DVar3) || (DVar3 < DAT_1826737fc - 1000)) { LOCK(); UNLOCK(); DAT_1826737fc = DVar3; } do { EnterCriticalSection(lpCriticalSection); plVar5 = (longlong *)*param_1; plVar1 = plVar5 + *(int *)((longlong)param_1 + 0xc); for (; plVar5 != plVar1; plVar5 = plVar5 + 1) { if (param_2 == *plVar5) { bVar2 = true; goto LAB_18122a561; } } bVar2 = false; LAB_18122a561: LeaveCriticalSection(lpCriticalSection); if (!bVar2) break; FUN_181215c90(param_1 + 10,2); } while( true ); } } FUN_180485f00(&local_30); return 1; } ############ FUN_ 18122a750 size=235 ############ void FUN_18122a750(longlong *param_1,longlong param_2,undefined1 param_3) { int iVar1; ulonglong uVar2; ulonglong uVar3; longlong *plVar4; if (*(longlong *)(param_2 + 0x10) == 0) { *(longlong **)(param_2 + 0x10) = param_1; uVar2 = 0; LOCK(); *(undefined1 *)(param_2 + 0x18) = 0; UNLOCK(); LOCK(); *(undefined1 *)(param_2 + 0x19) = 0; UNLOCK(); LOCK(); *(undefined1 *)(param_2 + 0x1a) = param_3; UNLOCK(); EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); iVar1 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar1) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(longlong *)(*param_1 + (longlong)iVar1 * 8) = param_2; LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); plVar4 = (longlong *)param_1[2]; uVar3 = (ulonglong) ((longlong)(plVar4 + *(int *)((longlong)param_1 + 0x1c)) + (7 - (longlong)plVar4)) >> 3; if (plVar4 + *(int *)((longlong)param_1 + 0x1c) < plVar4) { uVar3 = uVar2; } if (uVar3 != 0) { do { FUN_181215c10(*plVar4 + 0xf8); uVar2 = uVar2 + 1; plVar4 = plVar4 + 1; } while (uVar2 != uVar3); } } return; } ############ FUN_ 18122a110 size=760 ############ void FUN_18122a110(longlong *param_1,undefined8 param_2,int param_3) { LPCRITICAL_SECTION lpCriticalSection; longlong *plVar1; uint uVar2; bool bVar3; int iVar4; DWORD DVar5; DWORD DVar6; longlong lVar7; longlong *plVar8; uint uVar9; uint uVar10; longlong lVar11; longlong lVar12; longlong *local_70; int local_68; uint uStack_64; longlong local_60; undefined8 local_58; local_70 = (longlong *)0x0; local_68 = 0; uStack_64 = 0; local_60 = 0; local_58 = 0; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 4); EnterCriticalSection(lpCriticalSection); uVar9 = *(int *)((longlong)param_1 + 0xc) - 1; if (-1 < (int)uVar9) { lVar11 = (longlong)(int)uVar9 * 8; do { lVar12 = *(longlong *)(lVar11 + *param_1); if (*(char *)(lVar12 + 0x19) == '\0') { if (uVar9 < *(uint *)((longlong)param_1 + 0xc)) { FUN_18049b4a0(param_1,uVar9); } LOCK(); *(undefined1 *)(lVar12 + 0x18) = 1; UNLOCK(); *(undefined8 *)(lVar12 + 0x10) = 0; if (*(char *)(lVar12 + 0x1a) != '\0') { iVar4 = local_58._4_4_ + 1; if ((int)local_58 < iVar4) { if (iVar4 < 0) { iVar4 = local_58._4_4_ + 2; } FUN_18047cb30(&local_60,local_58._4_4_ + 9 + (iVar4 >> 1) & 0xfffffff8); } lVar7 = (longlong)local_58._4_4_; local_58 = CONCAT44(local_58._4_4_ + 1,(int)local_58); *(longlong *)(local_60 + lVar7 * 8) = lVar12; } } else { iVar4 = uStack_64 + 1; if (local_68 < iVar4) { if (iVar4 < 0) { iVar4 = uStack_64 + 2; } FUN_18047cb30(&local_70,uStack_64 + 9 + (iVar4 >> 1) & 0xfffffff8); } uStack_64 = 1; *local_70 = lVar12; FUN_18122ac30(lVar12); } lVar11 = lVar11 + -8; uVar9 = uVar9 - 1; } while (-1 < (int)uVar9); } LeaveCriticalSection(lpCriticalSection); FUN_180485f00(&local_60); DVar5 = timeGetTime(); uVar9 = uStack_64; if (DVar5 < DAT_1826737fc) { if (DVar5 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar5; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar5; } do { uVar10 = uVar9 - 1; if (-1 < (int)uVar10) { lVar11 = (longlong)(int)uVar10 * 8; lVar12 = lVar11; do { lVar7 = *(longlong *)(lVar11 + (longlong)local_70); EnterCriticalSection(lpCriticalSection); plVar8 = (longlong *)*param_1; plVar1 = plVar8 + *(int *)((longlong)param_1 + 0xc); for (; plVar8 != plVar1; plVar8 = plVar8 + 1) { if (lVar7 == *plVar8) { uVar9 = uStack_64; if (*(char *)(lVar7 + 0x19) != '\0') { bVar3 = true; goto LAB_18122a308; } break; } } bVar3 = false; LAB_18122a308: LeaveCriticalSection(lpCriticalSection); if ((!bVar3) && (uVar10 < uVar9)) { memmove((void *)((longlong)local_70 + lVar12),(void *)((longlong)local_70 + lVar12 + 8), (longlong)(int)((uVar9 - uVar10) + -1) << 3); uStack_64 = uVar9 - 1; iVar4 = 0; if (0 < (int)(uStack_64 * 2)) { iVar4 = uStack_64 * 2; } uVar9 = uStack_64; if (iVar4 < local_68) { uVar2 = uStack_64; if ((int)uStack_64 < 8) { uVar2 = 8; } if ((int)uVar2 < local_68) { FUN_18047cb30(&local_70); uVar9 = uStack_64; } } } lVar12 = lVar12 + -8; lVar11 = lVar11 + -8; uVar10 = uVar10 - 1; } while (-1 < (int)uVar10); } if (uVar9 == 0) { LAB_18122a3fe: /* WARNING: Subroutine does not return */ free(local_70); } if (-1 < param_3) { DVar6 = timeGetTime(); if (DVar6 < DAT_1826737fc) { if (DVar6 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar6; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar6; } uVar9 = uStack_64; if (DVar5 + param_3 <= DVar6) goto LAB_18122a3fe; } FUN_181215c90(param_1 + 10,0x14); } while( true ); } ############ FUN_ 181317850 size=496 ############ void FUN_181317850(longlong param_1) { int *piVar1; int iVar2; longlong *plVar3; undefined8 *puVar4; longlong lVar5; longlong *plVar6; undefined4 uVar7; undefined8 *puVar8; int iVar9; longlong lVar10; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0x180) == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x180) + 0x10); } if (lVar5 == 0) { return; } if (param_1 == 0) { lVar5 = 0; } else { lVar5 = param_1 + 0xb0; } if (*(longlong *)(param_1 + 0x180) == 0) { lVar10 = 0; } else { lVar10 = *(longlong *)(*(longlong *)(param_1 + 0x180) + 0x10); } plVar3 = *(longlong **)(lVar10 + 0x80); iVar9 = 0; iVar2 = *(int *)(lVar10 + 0x8c); plVar6 = plVar3; if (0 < iVar2) { do { if (lVar5 == *plVar6) { plVar3 = plVar3 + iVar9; memmove(plVar3,plVar3 + 1,(longlong)((iVar2 - iVar9) + -1) << 3); *(int *)(lVar10 + 0x8c) = *(int *)(lVar10 + 0x8c) + -1; iVar2 = *(int *)(lVar10 + 0x8c); iVar9 = 0; if (0 < iVar2 * 2) { iVar9 = iVar2 * 2; } if (iVar9 < *(int *)(lVar10 + 0x88)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar10 + 0x88)) { FUN_18047cb30((longlong *)(lVar10 + 0x80)); } } break; } iVar9 = iVar9 + 1; plVar6 = plVar6 + 1; } while (iVar9 < iVar2); } if (*(char *)(param_1 + 0x1a6) == '\0') { lVar5 = 0; if (*(longlong *)(param_1 + 0x180) != 0) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x180) + 0x10); } plVar3 = *(longlong **)(param_1 + 0x110); for (plVar6 = plVar3; plVar6 != plVar3 + *(int *)(param_1 + 0x11c); plVar6 = plVar6 + 1) { if (lVar5 == *plVar6) { uVar7 = (undefined4)((longlong)plVar6 - (longlong)plVar3 >> 3); goto LAB_1813179e0; } } uVar7 = 0xffffffff; LAB_1813179e0: FUN_181343a90(param_1 + 0xd0,uVar7,1,CONCAT71((int7)((ulonglong)plVar3 >> 8),1),uVar11); puVar8 = *(undefined8 **)(param_1 + 0x180); *(undefined8 *)(param_1 + 0x180) = 0; if (puVar8 == (undefined8 *)0x0) { return; } LOCK(); piVar1 = (int *)(puVar8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 != 1) { return; } } else { if (*(longlong *)(param_1 + 0x180) == 0) { puVar8 = (undefined8 *)0x0; } else { puVar8 = *(undefined8 **)(*(longlong *)(param_1 + 0x180) + 0x10); } puVar4 = *(undefined8 **)(param_1 + 0x180); *(undefined8 *)(param_1 + 0x180) = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } if (puVar8 == (undefined8 *)0x0) { return; } } (**(code **)*puVar8)(puVar8,1); return; } ############ FUN_ 180576bb0 size=395 ############ void FUN_180576bb0(undefined8 *param_1) { int *piVar1; void *_Dst; int iVar2; longlong lVar3; longlong lVar4; longlong *plVar5; undefined8 *puVar6; ulonglong uVar7; int iVar8; ulonglong uVar9; *param_1 = CloudyShadow::vftable; uVar7 = 0; lVar3 = param_1[0x19]; param_1[0x16] = CloudyShadow::vftable; if (lVar3 != 0) { iVar2 = *(int *)(lVar3 + 0x8c); lVar4 = *(longlong *)(lVar3 + 0x80); uVar9 = uVar7; if (0 < iVar2) { do { iVar8 = (int)uVar9; if (param_1 + 0x16 == *(undefined8 **)(lVar4 + uVar7 * 8)) { _Dst = (void *)(lVar4 + (longlong)iVar8 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar8) + -1) << 3); *(int *)(lVar3 + 0x8c) = *(int *)(lVar3 + 0x8c) + -1; iVar2 = *(int *)(lVar3 + 0x8c); iVar8 = 0; if (0 < iVar2 * 2) { iVar8 = iVar2 * 2; } if (iVar8 < *(int *)(lVar3 + 0x88)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar3 + 0x88)) { FUN_18047cb30((longlong *)(lVar3 + 0x80),iVar2); } } break; } uVar9 = (ulonglong)(iVar8 + 1); uVar7 = uVar7 + 1; } while ((longlong)uVar7 < (longlong)iVar2); } } plVar5 = (longlong *)param_1[0x33]; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x20))(plVar5,plVar5 != param_1 + 0x2c); param_1[0x33] = 0; } plVar5 = (longlong *)param_1[0x2b]; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x20))(plVar5,plVar5 != param_1 + 0x24); param_1[0x2b] = 0; } plVar5 = (longlong *)param_1[0x23]; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x20))(plVar5,plVar5 != param_1 + 0x1c); param_1[0x23] = 0; } plVar5 = (longlong *)param_1[0x18]; if (plVar5 == (longlong *)0x0) { puVar6 = (undefined8 *)param_1[0x17]; if (puVar6 == (undefined8 *)0x0) { FUN_18134caa0(param_1); return; } *(undefined4 *)((longlong)puVar6 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar6); } puVar6 = (undefined8 *)*plVar5; if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar6)(puVar6,1); } } /* WARNING: Subroutine does not return */ free(plVar5); } ############ FUN_ 1812a6c10 size=355 ############ void FUN_1812a6c10(void) { int iVar1; void *_Src; uint uVar2; void *pvVar3; int iVar4; void **ppvVar5; longlong *plVar6; undefined8 *puVar7; longlong *plVar8; undefined8 *puVar9; longlong lVar10; void *local_28; int local_1c; void *local_18; undefined4 local_10; int local_c; local_28 = (void *)0x0; local_1c = 0; do { LOCK(); uVar2 = DAT_182673a34 & 1; DAT_182673a34 = DAT_182673a34 | 1; UNLOCK(); } while (uVar2 != 0); ppvVar5 = (void **)FUN_1812a6d90(); if (&local_28 != ppvVar5) { iVar1 = *(int *)((longlong)ppvVar5 + 0xc); _Src = *ppvVar5; local_18 = (void *)0x0; local_10 = 0; local_c = 0; if (0 < iVar1) { FUN_18047cb30(&local_18,iVar1 + 8 + iVar1 / 2 & 0xfffffff8); } iVar4 = local_c; pvVar3 = local_18; memcpy((void *)((longlong)local_18 + (longlong)local_c * 8),_Src,(longlong)iVar1 << 3); local_1c = iVar4 + iVar1; local_28 = pvVar3; local_c = local_1c; /* WARNING: Subroutine does not return */ free((void *)0x0); } LOCK(); DAT_182673a34 = 0; UNLOCK(); lVar10 = (longlong)(local_1c + -1); if (-1 < local_1c + -1) { do { puVar7 = *(undefined8 **)((longlong)local_28 + lVar10 * 8); do { LOCK(); uVar2 = DAT_182673a34 & 1; DAT_182673a34 = DAT_182673a34 | 1; UNLOCK(); } while (uVar2 != 0); plVar6 = (longlong *)FUN_1812a6d90(); plVar8 = (longlong *)*plVar6; plVar6 = plVar8 + *(int *)((longlong)plVar6 + 0xc); for (; (puVar9 = (undefined8 *)0x0, plVar8 != plVar6 && (puVar9 = puVar7, puVar7 != (undefined8 *)*plVar8)); plVar8 = plVar8 + 1) { } LOCK(); DAT_182673a34 = 0; UNLOCK(); if (puVar9 != (undefined8 *)0x0) { (**(code **)*puVar9)(puVar9,1); } lVar10 = lVar10 + -1; } while (-1 < lVar10); } puVar7 = (undefined8 *)FUN_1812a6d90(); *(undefined4 *)((longlong)puVar7 + 0xc) = 0; if (*(int *)(puVar7 + 1) != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar7); } *(undefined4 *)(puVar7 + 1) = 0; /* WARNING: Could not recover jumptable at 0x0001812a6d79. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_28); return; } ############ FUN_ 1812c3e50 size=139 ############ void FUN_1812c3e50(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x14)); plVar3 = *(longlong **)(param_1 + 0x40); iVar2 = *(int *)(param_1 + 0x4c); plVar1 = plVar3 + iVar2; for (; plVar3 != plVar1; plVar3 = plVar3 + 1) { if (param_2 == *plVar3) goto LAB_1812c3ec1; } if (*(int *)(param_1 + 0x48) < iVar2 + 1) { FUN_18047cb30(param_1 + 0x40,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x4c); *(int *)(param_1 + 0x4c) = iVar2 + 1; *(longlong *)(*(longlong *)(param_1 + 0x40) + (longlong)iVar2 * 8) = param_2; LAB_1812c3ec1: /* WARNING: Could not recover jumptable at 0x0001812c3ed4. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x14)); return; } ############ FUN_ 181343cc0 size=379 ############ void FUN_181343cc0(longlong param_1,longlong param_2,uint param_3) { uint uVar1; int iVar2; longlong lVar3; longlong *plVar4; void *_Src; longlong *plVar5; lVar3 = *(longlong *)(param_2 + 0x18); if (lVar3 != param_1) { if (lVar3 == 0) { FUN_18134c310(param_2); } else { plVar5 = *(longlong **)(lVar3 + 0x40); for (plVar4 = plVar5; plVar4 != plVar5 + *(int *)(lVar3 + 0x4c); plVar4 = plVar4 + 1) { if (param_2 == *plVar4) { FUN_181343a90(lVar3,(longlong)plVar4 - (longlong)plVar5 >> 3,1); goto LAB_181343d47; } } FUN_181343a90(lVar3,0xffffffff,1); } LAB_181343d47: *(longlong *)(param_2 + 0x18) = param_1; if ((*(byte *)(param_2 + 0xa8) & 2) != 0) { FUN_181342b10(param_2); } if ((*(byte *)(param_2 + 0xa9) & 1) == 0) { if (((int)param_3 < 0) || (*(int *)(param_1 + 0x4c) < (int)param_3)) { param_3 = *(uint *)(param_1 + 0x4c); } if (0 < (int)param_3) { lVar3 = (longlong)(int)param_3; plVar5 = (longlong *)(*(longlong *)(param_1 + 0x40) + -8 + lVar3 * 8); do { if ((*(byte *)(*plVar5 + 0xa9) & 1) == 0) break; param_3 = param_3 - 1; lVar3 = lVar3 + -1; plVar5 = plVar5 + -1; } while (0 < lVar3); } } iVar2 = *(int *)(param_1 + 0x4c) + 1; if (*(int *)(param_1 + 0x48) < iVar2) { FUN_18047cb30(param_1 + 0x40,*(int *)(param_1 + 0x4c) + 9 + iVar2 / 2 & 0xfffffff8); } uVar1 = *(uint *)(param_1 + 0x4c); if (param_3 < uVar1) { _Src = (void *)(*(longlong *)(param_1 + 0x40) + (longlong)(int)param_3 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar1 - param_3) << 3); plVar5 = (longlong *)(*(longlong *)(param_1 + 0x40) + (longlong)(int)param_3 * 8); } else { plVar5 = (longlong *)(*(longlong *)(param_1 + 0x40) + (longlong)(int)uVar1 * 8); } *plVar5 = param_2; *(int *)(param_1 + 0x4c) = *(int *)(param_1 + 0x4c) + 1; FUN_181343670(param_2); FUN_1813437a0(param_1); } return; } ############ FUN_ 180480640 size=174 ############ void FUN_180480640(longlong *param_1,uint param_2,uint param_3) { uint uVar1; undefined8 *puVar2; int iVar3; void *_Src; ulonglong uVar4; iVar3 = *(int *)((longlong)param_1 + 0xc) + param_3; uVar4 = (ulonglong)param_3; if ((int)param_1[1] < iVar3) { FUN_18047cb30(param_1,iVar3 + 8 + iVar3 / 2 & 0xfffffff8); } uVar1 = *(uint *)((longlong)param_1 + 0xc); if (param_2 < uVar1) { _Src = (void *)(*param_1 + (longlong)(int)param_2 * 8); memmove((void *)((longlong)_Src + (longlong)(int)param_3 * 8),_Src, (longlong)(int)(uVar1 - param_2) << 3); puVar2 = (undefined8 *)(*param_1 + (longlong)(int)param_2 * 8); } else { puVar2 = (undefined8 *)(*param_1 + (longlong)(int)uVar1 * 8); } if (0 < (int)param_3) { do { *puVar2 = 0; uVar4 = uVar4 - 1; puVar2 = puVar2 + 1; } while (uVar4 != 0); } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + param_3; return; } ############ FUN_ 180527fa0 size=116 ############ longlong FUN_180527fa0(longlong *param_1,longlong param_2) { int iVar1; iVar1 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar1) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(longlong *)(*param_1 + (longlong)iVar1 * 8) = param_2; if (param_2 != 0) { LOCK(); *(int *)(param_2 + 8) = *(int *)(param_2 + 8) + 1; UNLOCK(); return param_2; } return 0; } ############ FUN_ 1805282f0 size=532 ############ void FUN_1805282f0(longlong param_1,longlong *param_2,undefined8 *param_3) { longlong *plVar1; void *_Src; ulonglong uVar2; undefined8 uVar3; undefined8 uVar4; void *_Memory; int iVar5; int iVar6; int iVar7; int iVar8; longlong lVar9; void *local_60; undefined8 local_58; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; do { if (param_1 == 0) { return; } local_48 = *(undefined4 *)param_3; uStack_44 = *(undefined4 *)((longlong)param_3 + 4); uVar4 = *param_3; uStack_40 = *(undefined4 *)(param_3 + 1); uStack_3c = *(undefined4 *)((longlong)param_3 + 0xc); uVar3 = param_3[1]; iVar7 = *(int *)(param_1 + 0x44); if (iVar7 == 1) { lVar9 = **(longlong **)(param_1 + 0x38); iVar7 = *(int *)(lVar9 + 0x14); while (0 < iVar7) { iVar7 = iVar7 + -1; if ((*(int *)(lVar9 + 0x14) <= iVar7) && (iVar7 = *(int *)(lVar9 + 0x14) + -1, iVar7 < 0)) break; plVar1 = *(longlong **)(*(longlong *)(lVar9 + 8) + (longlong)iVar7 * 8); if (plVar1 != param_2) { (**(code **)(*plVar1 + 8))(plVar1,uVar4,uVar3); } } } else if (0 < iVar7) { local_60 = (void *)0x0; local_58 = 0; iVar8 = *(int *)(param_1 + 0x44); _Src = *(void **)(param_1 + 0x38); iVar5 = 0; if (0 < iVar8) { iVar5 = iVar8; if (iVar8 < 0) { iVar5 = iVar8 + 1; } FUN_18047cb30(&local_60,(iVar5 >> 1) + 8 + iVar8 & 0xfffffff8); iVar5 = local_58._4_4_; } _Memory = local_60; memcpy((void *)((longlong)iVar5 * 8 + (longlong)local_60),_Src,(longlong)iVar8 << 3); local_58 = CONCAT44(iVar5 + iVar8,(undefined4)local_58); lVar9 = 0; if (iVar7 < 1) goto LAB_1805284c6; uVar3 = CONCAT44(uStack_44,local_48); break; } param_1 = *(longlong *)(param_1 + 0x48); } while( true ); LAB_180528420: uVar2 = *(ulonglong *)((longlong)_Memory + lVar9 * 8); if (lVar9 == 0) { LAB_180528478: iVar8 = *(int *)(uVar2 + 0x14); while (0 < iVar8) { iVar8 = iVar8 + -1; if ((*(int *)(uVar2 + 0x14) <= iVar8) && (iVar8 = *(int *)(uVar2 + 0x14) + -1, iVar8 < 0)) break; plVar1 = *(longlong **)(*(longlong *)(uVar2 + 8) + (longlong)iVar8 * 8); if (plVar1 != param_2) { (**(code **)(*plVar1 + 8))(plVar1,uVar3); } } } else { iVar5 = 0; iVar8 = *(int *)(param_1 + 0x44); if (0 < iVar8) { do { if (uVar2 == *(ulonglong *)(*(longlong *)(param_1 + 0x38) + (longlong)iVar5 * 8)) goto LAB_180528473; iVar6 = (iVar8 + iVar5) / 2; if (iVar6 == iVar5) break; if (uVar2 < *(ulonglong *)(*(longlong *)(param_1 + 0x38) + (longlong)iVar6 * 8)) { iVar8 = iVar6; iVar6 = iVar5; } iVar5 = iVar6; } while (iVar5 < iVar8); } iVar5 = -1; LAB_180528473: if (-1 < iVar5) goto LAB_180528478; } lVar9 = lVar9 + 1; if (iVar7 <= lVar9) { LAB_1805284c6: local_58 = local_58 & 0xffffffff; /* WARNING: Subroutine does not return */ free(_Memory); } goto LAB_180528420; } ############ FUN_ 180528070 size=370 ############ void FUN_180528070(longlong *param_1,int param_2) { int iVar1; longlong lVar2; undefined8 *puVar3; longlong *_Memory; void *_Dst; longlong *plVar4; ulonglong uVar5; ulonglong uVar6; int iVar7; int iVar8; int iVar9; longlong *local_38; undefined8 local_30; iVar1 = *(int *)((longlong)param_1 + 0xc); iVar7 = param_2 + 1; uVar5 = 0; iVar9 = 0; iVar8 = iVar9; if ((-1 < iVar7) && (iVar8 = iVar7, iVar1 < iVar7)) { iVar8 = iVar1; } if ((-1 < param_2) && (iVar9 = param_2, iVar1 < param_2)) { iVar9 = iVar1; } iVar8 = iVar8 - iVar9; if (iVar8 < 1) { return; } lVar2 = *param_1; local_38 = (longlong *)0x0; local_30 = 0; FUN_18047cb30(&local_38,iVar8 / 2 + 8 + iVar8 & 0xfffffff8); _Memory = local_38; iVar1 = local_30._4_4_; memcpy(local_38 + local_30._4_4_,(void *)((longlong)iVar9 * 8 + lVar2),(longlong)iVar8 * 8); _Dst = (void *)(*param_1 + (longlong)iVar9 * 8); memmove(_Dst,(void *)((longlong)iVar8 * 8 + (longlong)_Dst), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar9) - iVar8) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) - iVar8; uVar6 = (ulonglong)((longlong)(_Memory + (iVar1 + iVar8)) + (7 - (longlong)_Memory)) >> 3; if (_Memory + (iVar1 + iVar8) < _Memory) { uVar6 = uVar5; } plVar4 = _Memory; if (uVar6 != 0) { do { puVar3 = (undefined8 *)*plVar4; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } plVar4 = plVar4 + 1; uVar5 = uVar5 + 1; } while (uVar5 != uVar6); } if ((*(int *)((longlong)param_1 + 0xc) * 2 < (int)param_1[1]) && (*(int *)((longlong)param_1 + 0xc) < (int)param_1[1])) { FUN_18047cb30(param_1); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18134fcc0 size=363 ############ void FUN_18134fcc0(longlong param_1) { void *_Dst; int iVar1; int iVar2; undefined8 *puVar3; uint uVar4; ulonglong *puVar6; ulonglong *puVar7; ulonglong *puVar8; ulonglong *puVar5; if (*(int *)(param_1 + 0x6c) < *(int *)(param_1 + 0x44)) { FUN_1805281f0(param_1 + 0x48); puVar7 = (ulonglong *)0x0; if (*(int *)(param_1 + 0x50) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x48)); } *(undefined4 *)(param_1 + 0x50) = 0; if (*(int *)(param_1 + 0x6c) < *(int *)(param_1 + 0x44)) { do { uVar4 = *(uint *)(param_1 + 0x6c); puVar5 = puVar7; if (uVar4 < *(uint *)(param_1 + 0x44)) { puVar5 = *(ulonglong **)(*(longlong *)(param_1 + 0x38) + (longlong)(int)uVar4 * 8); _Dst = (void *)(*(longlong *)(param_1 + 0x38) + (longlong)(int)uVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)(param_1 + 0x44) - uVar4) + -1) << 3); *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + -1; if ((*(int *)(param_1 + 0x44) * 2 < *(int *)(param_1 + 0x40)) && (*(int *)(param_1 + 0x44) < *(int *)(param_1 + 0x40))) { FUN_18047cb30(param_1 + 0x38); } } iVar1 = *(int *)(param_1 + 0x54); iVar2 = iVar1 + 1; if (*(int *)(param_1 + 0x50) < iVar2) { if (iVar2 < 0) { iVar2 = iVar1 + 2; } FUN_18047cb30(param_1 + 0x48,iVar1 + 9 + (iVar2 >> 1) & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x54); *(int *)(param_1 + 0x54) = iVar2 + 1; *(ulonglong **)(*(longlong *)(param_1 + 0x48) + (longlong)iVar2 * 8) = puVar5; puVar3 = (undefined8 *)*puVar5; puVar8 = (ulonglong *) ((ulonglong) ((longlong)(puVar3 + *(int *)((longlong)puVar5 + 0xc)) + (7 - (longlong)puVar3)) >> 3); if (puVar3 + *(int *)((longlong)puVar5 + 0xc) < puVar3) { puVar8 = puVar7; } puVar5 = puVar7; puVar6 = puVar7; uVar4 = 0; if (puVar8 != (ulonglong *)0x0) { do { iVar2 = (**(code **)(*(longlong *)*puVar3 + 0x18))(); puVar6 = (ulonglong *)((longlong)puVar6 + 1); puVar3 = puVar3 + 1; uVar4 = (int)puVar5 + iVar2; puVar5 = (ulonglong *)(ulonglong)uVar4; } while (puVar6 != puVar8); } *(int *)(param_1 + 0x60) = *(int *)(param_1 + 0x60) - uVar4; } while (*(int *)(param_1 + 0x6c) < *(int *)(param_1 + 0x44)); } } return; } ############ FUN_ 18047e6b0 size=2322 ############ void FUN_18047e6b0(longlong param_1,int *param_2,longlong *param_3) { int iVar1; longlong lVar2; void *pvVar3; undefined8 uVar4; void *_Dst; code *pcVar5; bool bVar6; char cVar7; int iVar8; int iVar9; int iVar10; int *piVar11; int iVar12; uint uVar13; ulonglong uVar14; ulonglong uVar15; longlong lVar16; ulonglong uVar17; ulonglong uVar18; LPCRITICAL_SECTION lpCriticalSection; longlong lVar19; uint uVar20; ulonglong uVar21; uint uVar22; uint uVar23; uint local_1d8; uint local_1d4; uint local_1d0; longlong local_1c8; uint local_1c0; longlong local_1b8; longlong local_1b0; undefined8 local_168; undefined8 local_160; undefined1 *local_158; void *local_150; undefined1 local_148 [256]; char local_48; uVar18 = 0; iVar9 = 0; local_1d4 = 0; bVar6 = false; lVar2 = *(longlong *)(param_1 + 0x30); iVar1 = *(int *)(lVar2 + 0x100); uVar22 = *(uint *)(lVar2 + 0x104); uVar17 = (ulonglong)(int)uVar22; local_1c0 = 0; if (0 < param_2[3]) { piVar11 = *(int **)(param_2 + 6); uVar14 = uVar18; uVar15 = uVar18; do { local_1c0 = (uint)uVar15; if ((*(longlong *)(piVar11 + 4) == 0) && (0 < *piVar11)) break; local_1c0 = local_1c0 + 1; uVar15 = (ulonglong)local_1c0; uVar14 = uVar14 + 1; piVar11 = piVar11 + 6; } while ((longlong)uVar14 < (longlong)param_2[3]); } uVar14 = uVar18; if (0 < param_2[4]) { piVar11 = *(int **)(param_2 + 8); uVar15 = uVar18; do { if ((*(longlong *)(piVar11 + 4) == 0) && (0 < *piVar11)) break; uVar14 = (ulonglong)((int)uVar14 + 1); uVar15 = uVar15 + 1; piVar11 = piVar11 + 6; } while ((longlong)uVar15 < (longlong)param_2[4]); } iVar10 = (int)uVar14; iVar12 = iVar10; if (iVar10 < *(int *)(lVar2 + 0xec)) { iVar12 = *(int *)(lVar2 + 0xec); } local_1d0 = 0; if (0 < iVar12) { local_1b0 = 0; local_1b8 = 0; uVar14 = uVar17; uVar15 = uVar18; uVar21 = uVar18; do { uVar13 = (uint)uVar15; iVar9 = (int)uVar21; uVar15 = 0; if ((longlong)uVar17 <= (longlong)uVar18) break; lVar2 = *(longlong *)(param_1 + 0x30); uVar23 = 0; if ((uVar13 < *(uint *)(lVar2 + 0xec)) && (lVar16 = *(longlong *)(*(longlong *)(lVar2 + 0xe0) + local_1b0 * 8), lVar16 != 0)) { lVar19 = *(longlong *)(lVar16 + 0x10); if (lVar19 == 0) { lVar19 = lVar16 + 0x18; } iVar8 = *(int *)(lVar16 + 0x30) >> 5; lVar16 = (longlong)iVar8; uVar17 = uVar15; uVar20 = uVar23; if (-1 < iVar8) { do { uVar13 = *(uint *)(lVar19 + lVar16 * 4); uVar13 = uVar13 - (uVar13 >> 1 & 0x55555555); uVar13 = (uVar13 >> 2 & 0x33333333) + (uVar13 & 0x33333333); uVar13 = (uVar13 >> 4) + uVar13 & 0xf0f0f0f; uVar13 = uVar13 + (uVar13 >> 8); uVar20 = (int)uVar17 + (uVar13 + (uVar13 >> 0x10) & 0x3f); uVar17 = (ulonglong)uVar20; lVar16 = lVar16 + -1; } while (-1 < lVar16); } uVar13 = local_1d0; if (uVar20 != 0) goto LAB_18047e88b; } else { LAB_18047e88b: if (local_1b0 < iVar10) { lVar2 = *(longlong *)((int *)(local_1b8 + *(longlong *)(param_2 + 8)) + 4); if (lVar2 == 0) goto LAB_18047e98a; iVar9 = (int)uVar14 - iVar9; iVar8 = *(int *)(local_1b8 + *(longlong *)(param_2 + 8)); if (iVar9 < iVar8) { iVar8 = iVar9; } if (0 < iVar8) { do { pvVar3 = *(void **)(lVar2 + uVar15 * 8); if (pvVar3 != (void *)0x0) { uVar13 = (uint)uVar21; if ((longlong)iVar1 <= (longlong)uVar18) { memset(pvVar3,0,(longlong)param_2[2] << 2); uVar13 = local_1d4; } uVar4 = *(undefined8 *)(lVar2 + uVar15 * 8); if (-1 < (longlong)uVar18) { if ((int)uVar13 < *(int *)((longlong)param_3 + 0xc)) { *(undefined8 *)(*param_3 + uVar18 * 8) = uVar4; } else { if ((int)param_3[1] < *(int *)((longlong)param_3 + 0xc) + 1) { FUN_18047cb30(param_3); uVar13 = local_1d4; } iVar9 = *(int *)((longlong)param_3 + 0xc); *(int *)((longlong)param_3 + 0xc) = iVar9 + 1; *(undefined8 *)(*param_3 + (longlong)iVar9 * 8) = uVar4; } } local_1d4 = uVar13 + 1; uVar21 = (ulonglong)local_1d4; uVar18 = uVar18 + 1; } uVar15 = uVar15 + 1; uVar13 = local_1d0; } while ((longlong)uVar15 < (longlong)iVar8); } } else { if ((uVar13 < *(uint *)(lVar2 + 0xec)) && (lVar2 = *(longlong *)(*(longlong *)(lVar2 + 0xe0) + local_1b0 * 8), lVar2 != 0)) { uVar23 = *(uint *)(lVar2 + 0x8c); } uVar20 = (int)uVar14 - iVar9; if ((int)uVar20 < (int)uVar23) { uVar23 = uVar20; } if (0 < (int)uVar23) { do { uVar13 = (uint)uVar21; if (*(int *)(param_1 + 0x10c) < param_2[2]) { return; } if (*(int *)(param_1 + 0x108) <= (int)uVar13) { return; } LOCK(); *(undefined1 *)(param_1 + 0x228) = 0; UNLOCK(); lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x118) + uVar18 * 8); if (lVar2 == 0) { return; } bVar6 = true; if (-1 < (longlong)uVar18) { if ((int)uVar13 < *(int *)((longlong)param_3 + 0xc)) { *(longlong *)(*param_3 + uVar18 * 8) = lVar2; } else { if ((int)param_3[1] < *(int *)((longlong)param_3 + 0xc) + 1) { FUN_18047cb30(param_3); uVar13 = local_1d4; } iVar9 = *(int *)((longlong)param_3 + 0xc); *(int *)((longlong)param_3 + 0xc) = iVar9 + 1; *(longlong *)(*param_3 + (longlong)iVar9 * 8) = lVar2; } } local_1d4 = uVar13 + 1; uVar21 = (ulonglong)local_1d4; uVar18 = uVar18 + 1; uVar20 = (int)uVar15 + 1; uVar15 = (ulonglong)uVar20; uVar13 = local_1d0; } while ((int)uVar20 < (int)uVar23); } } uVar14 = (ulonglong)uVar22; } LAB_18047e98a: iVar9 = (int)uVar21; local_1d0 = uVar13 + 1; uVar15 = (ulonglong)local_1d0; local_1b0 = local_1b0 + 1; local_1b8 = local_1b8 + 0x18; uVar17 = (ulonglong)(int)uVar14; } while (local_1b0 < iVar12); } uVar17 = 0; uVar23 = 0; uVar22 = *(uint *)(*(longlong *)(param_1 + 0x30) + 0xdc); uVar13 = local_1c0; if ((int)local_1c0 < (int)uVar22) { uVar13 = uVar22; } local_1d8 = 0; if (0 < (int)uVar13) { local_1b0 = 0; local_1c8 = 0; uVar18 = uVar17; uVar23 = 0; do { uVar14 = 0; if ((longlong)iVar1 <= (longlong)uVar18) break; lVar2 = *(longlong *)(param_1 + 0x30); iVar12 = 0; uVar22 = (uint)uVar17; if (((uint)uVar17 < *(uint *)(lVar2 + 0xdc)) && (lVar16 = *(longlong *)(*(longlong *)(lVar2 + 0xd0) + local_1b0 * 8), uVar22 = local_1d8, lVar16 != 0)) { lVar19 = *(longlong *)(lVar16 + 0x10); if (lVar19 == 0) { lVar19 = lVar16 + 0x18; } iVar10 = *(int *)(lVar16 + 0x30) >> 5; lVar16 = (longlong)iVar10; uVar17 = uVar14; if (-1 < iVar10) { do { uVar20 = *(uint *)(lVar19 + lVar16 * 4); uVar20 = uVar20 - (uVar20 >> 1 & 0x55555555); uVar20 = (uVar20 >> 2 & 0x33333333) + (uVar20 & 0x33333333); uVar20 = (uVar20 >> 4) + uVar20 & 0xf0f0f0f; uVar20 = uVar20 + (uVar20 >> 8); uVar17 = (ulonglong)((int)uVar17 + (uVar20 + (uVar20 >> 0x10) & 0x3f)); lVar16 = lVar16 + -1; } while (-1 < lVar16); } if ((int)uVar17 != 0) goto LAB_18047eaca; } else { LAB_18047eaca: if (local_1b0 < (int)local_1c0) { lVar2 = *(longlong *)(*(longlong *)(param_2 + 6) + 0x10 + local_1c8); if (lVar2 != 0) { iVar12 = *(int *)(*(longlong *)(param_2 + 6) + local_1c8); if ((int)(iVar1 - uVar23) < iVar12) { iVar12 = iVar1 - uVar23; } if (0 < iVar12) { do { pvVar3 = *(void **)(lVar2 + uVar14 * 8); if (pvVar3 != (void *)0x0) { if ((longlong)uVar18 < (longlong)iVar9) { _Dst = *(void **)(*param_3 + uVar18 * 8); if (_Dst != pvVar3) { memcpy(_Dst,pvVar3,(longlong)param_2[2] << 2); } } else if (-1 < (longlong)uVar18) { iVar10 = *(int *)((longlong)param_3 + 0xc); if ((int)uVar23 < iVar10) { *(void **)(*param_3 + uVar18 * 8) = pvVar3; } else { iVar8 = iVar10 + 1; if ((int)param_3[1] < iVar8) { if (iVar8 < 0) { iVar8 = iVar10 + 2; } FUN_18047cb30(param_3,iVar10 + 9 + (iVar8 >> 1) & 0xfffffff8); } iVar10 = *(int *)((longlong)param_3 + 0xc); *(int *)((longlong)param_3 + 0xc) = iVar10 + 1; *(void **)(*param_3 + (longlong)iVar10 * 8) = pvVar3; } } } uVar23 = uVar23 + 1; uVar18 = uVar18 + 1; uVar14 = uVar14 + 1; } while ((longlong)uVar14 < (longlong)iVar12); } } } else { if ((uVar22 < *(uint *)(lVar2 + 0xdc)) && (lVar2 = *(longlong *)(*(longlong *)(lVar2 + 0xd0) + local_1b0 * 8), lVar2 != 0)) { iVar12 = *(int *)(lVar2 + 0x8c); } if ((int)(iVar1 - uVar23) < iVar12) { iVar12 = iVar1 - uVar23; } if (0 < iVar12) { do { if ((*(int *)(param_1 + 0x10c) < param_2[2]) || (*(int *)(param_1 + 0x108) <= (int)uVar23)) { return; } LOCK(); *(undefined1 *)(param_1 + 0x228) = 0; UNLOCK(); lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x118) + uVar18 * 8); if (lVar2 == 0) { return; } bVar6 = true; if (-1 < (longlong)uVar18) { iVar10 = *(int *)((longlong)param_3 + 0xc); if ((int)uVar23 < iVar10) { *(longlong *)(*param_3 + uVar18 * 8) = lVar2; } else { iVar8 = iVar10 + 1; if ((int)param_3[1] < iVar8) { if (iVar8 < 0) { iVar8 = iVar10 + 2; } FUN_18047cb30(param_3,iVar10 + 9 + (iVar8 >> 1) & 0xfffffff8); } iVar10 = *(int *)((longlong)param_3 + 0xc); *(int *)((longlong)param_3 + 0xc) = iVar10 + 1; *(longlong *)(*param_3 + (longlong)iVar10 * 8) = lVar2; } } uVar23 = uVar23 + 1; uVar18 = uVar18 + 1; uVar22 = (int)uVar14 + 1; uVar14 = (ulonglong)uVar22; } while ((int)uVar22 < iVar12); } } } local_1d8 = local_1d8 + 1; uVar17 = (ulonglong)local_1d8; local_1b0 = local_1b0 + 1; local_1c8 = local_1c8 + 0x18; } while (local_1b0 < (int)uVar13); } uVar17 = 0; if (bVar6) { FUN_180480870(param_1 + 0x108); } local_168 = 0; local_160 = 0; local_158 = local_148; local_150 = (void *)0x0; local_48 = '\0'; uVar22 = local_1d4; if ((int)local_1d4 < (int)uVar23) { uVar22 = uVar23; } if (uVar22 != 0) { local_168 = CONCAT44(param_2[2],uVar22); FUN_180480e00(&local_168,*param_3,0); } lpCriticalSection = (LPCRITICAL_SECTION)(*(longlong *)(param_1 + 0x30) + 0x48); EnterCriticalSection(lpCriticalSection); pcVar5 = *(code **)(**(longlong **)(param_1 + 0x30) + 0xa0); if (pcVar5 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { *(bool *)((longlong)*(longlong **)(param_1 + 0x30) + 0x41) = *param_2 == 2; } else { (*pcVar5)(); } lVar2 = *(longlong *)(param_1 + 0x30); if (*(char *)(lVar2 + 0x40) == '\0') { if ((uVar23 == *(uint *)(lVar2 + 0x100)) && (local_1d4 == *(uint *)(lVar2 + 0x104))) { cVar7 = FUN_180479510(param_1); lVar2 = **(longlong **)(param_1 + 0x30); if (cVar7 == '\0') { (**(code **)(lVar2 + 0x38))(*(longlong **)(param_1 + 0x30),&local_168,param_1 + 0xd8); } else { (**(code **)(lVar2 + 0x48))(); } } } else if (local_48 == '\0') { uVar18 = uVar17; if (0 < (int)local_168) { do { memset(*(void **)(local_158 + uVar17),0,(longlong)local_168._4_4_ << 2); uVar22 = (int)uVar18 + 1; uVar17 = uVar17 + 8; uVar18 = (ulonglong)uVar22; } while ((int)uVar22 < (int)local_168); } LOCK(); local_48 = '\x01'; UNLOCK(); } LeaveCriticalSection(lpCriticalSection); /* WARNING: Subroutine does not return */ free(local_150); } ############ FUN_ 18047efd0 size=2466 ############ void FUN_18047efd0(longlong param_1,int *param_2,longlong *param_3) { int iVar1; void *pvVar2; undefined8 uVar3; void *_Dst; bool bVar4; char cVar5; int iVar6; int iVar7; int iVar8; int *piVar9; int iVar10; uint uVar11; ulonglong uVar12; ulonglong uVar13; longlong *plVar14; longlong lVar15; longlong lVar16; ulonglong uVar17; LPCRITICAL_SECTION lpCriticalSection; ulonglong uVar18; longlong lVar19; uint uVar20; code *pcVar21; ulonglong uVar22; uint uVar23; uint uVar24; uint local_1d8; uint local_1d4; uint local_1d0; longlong local_1c8; longlong local_1c0; uint local_1b8; longlong local_1b0; undefined8 local_168; undefined8 local_160; undefined1 *local_158; void *local_150; undefined1 local_148 [256]; char local_48; uVar18 = 0; iVar6 = 0; local_1d0 = 0; local_1d8 = 0; bVar4 = false; lVar16 = *(longlong *)(param_1 + 0x30); iVar1 = *(int *)(lVar16 + 0x100); uVar24 = *(uint *)(lVar16 + 0x104); uVar17 = (ulonglong)(int)uVar24; local_1b8 = 0; if (0 < param_2[3]) { piVar9 = *(int **)(param_2 + 6); uVar12 = uVar18; uVar13 = uVar18; do { local_1b8 = (uint)uVar13; if ((*(longlong *)(piVar9 + 4) == 0) && (0 < *piVar9)) break; local_1b8 = local_1b8 + 1; uVar13 = (ulonglong)local_1b8; uVar12 = uVar12 + 1; piVar9 = piVar9 + 6; } while ((longlong)uVar12 < (longlong)param_2[3]); } uVar12 = uVar18; if (0 < param_2[4]) { piVar9 = *(int **)(param_2 + 8); uVar13 = uVar18; do { if ((*(longlong *)(piVar9 + 4) == 0) && (0 < *piVar9)) break; uVar12 = (ulonglong)((int)uVar12 + 1); uVar13 = uVar13 + 1; piVar9 = piVar9 + 6; } while ((longlong)uVar13 < (longlong)param_2[4]); } iVar8 = (int)uVar12; iVar10 = iVar8; if (iVar8 < *(int *)(lVar16 + 0xec)) { iVar10 = *(int *)(lVar16 + 0xec); } local_1d4 = 0; if (0 < iVar10) { local_1b0 = 0; local_1c8 = 0; uVar12 = uVar17; uVar13 = uVar18; uVar22 = uVar18; do { uVar11 = (uint)uVar13; uVar13 = 0; iVar6 = (int)uVar22; if ((longlong)uVar17 <= (longlong)uVar18) break; lVar16 = *(longlong *)(param_1 + 0x30); uVar23 = 0; if ((uVar11 < *(uint *)(lVar16 + 0xec)) && (lVar15 = *(longlong *)(*(longlong *)(lVar16 + 0xe0) + local_1b0 * 8), lVar15 != 0)) { lVar19 = *(longlong *)(lVar15 + 0x10); if (lVar19 == 0) { lVar19 = lVar15 + 0x18; } iVar6 = *(int *)(lVar15 + 0x30) >> 5; lVar15 = (longlong)iVar6; uVar17 = uVar13; uVar20 = uVar23; if (-1 < iVar6) { do { uVar11 = *(uint *)(lVar19 + lVar15 * 4); uVar11 = uVar11 - (uVar11 >> 1 & 0x55555555); uVar11 = (uVar11 >> 2 & 0x33333333) + (uVar11 & 0x33333333); uVar11 = (uVar11 >> 4) + uVar11 & 0xf0f0f0f; uVar11 = uVar11 + (uVar11 >> 8); uVar20 = (int)uVar17 + (uVar11 + (uVar11 >> 0x10) & 0x3f); uVar17 = (ulonglong)uVar20; lVar15 = lVar15 + -1; } while (-1 < lVar15); } uVar11 = local_1d4; if (uVar20 != 0) goto LAB_18047f1b0; uVar22 = (ulonglong)local_1d8; } else { LAB_18047f1b0: if (local_1b0 < iVar8) { lVar16 = *(longlong *)((int *)(local_1c8 + *(longlong *)(param_2 + 8)) + 4); uVar22 = (ulonglong)local_1d8; if (lVar16 != 0) { iVar7 = (int)uVar12 - local_1d8; iVar6 = *(int *)(local_1c8 + *(longlong *)(param_2 + 8)); if (iVar7 < iVar6) { iVar6 = iVar7; } if (0 < iVar6) { do { pvVar2 = *(void **)(lVar16 + uVar13 * 8); if (pvVar2 != (void *)0x0) { uVar11 = (uint)uVar22; if ((longlong)iVar1 <= (longlong)uVar18) { memset(pvVar2,0,(longlong)param_2[2] << 3); uVar11 = local_1d8; } uVar3 = *(undefined8 *)(lVar16 + uVar13 * 8); if (-1 < (longlong)uVar18) { if ((int)uVar11 < *(int *)((longlong)param_3 + 0xc)) { *(undefined8 *)(*param_3 + uVar18 * 8) = uVar3; } else { if ((int)param_3[1] < *(int *)((longlong)param_3 + 0xc) + 1) { FUN_18047cb30(param_3); uVar11 = local_1d8; } iVar7 = *(int *)((longlong)param_3 + 0xc); *(int *)((longlong)param_3 + 0xc) = iVar7 + 1; *(undefined8 *)(*param_3 + (longlong)iVar7 * 8) = uVar3; } } local_1d8 = uVar11 + 1; uVar22 = (ulonglong)local_1d8; uVar18 = uVar18 + 1; } uVar13 = uVar13 + 1; } while ((longlong)uVar13 < (longlong)iVar6); goto LAB_18047f28f; } } } else { if ((uVar11 < *(uint *)(lVar16 + 0xec)) && (lVar16 = *(longlong *)(*(longlong *)(lVar16 + 0xe0) + local_1b0 * 8), lVar16 != 0)) { uVar23 = *(uint *)(lVar16 + 0x8c); } uVar22 = (ulonglong)local_1d8; uVar20 = (int)uVar12 - local_1d8; if ((int)uVar20 < (int)uVar23) { uVar23 = uVar20; } if (0 < (int)uVar23) { do { uVar11 = (uint)uVar22; if (*(int *)(param_1 + 0x234) < param_2[2]) { return; } if (*(int *)(param_1 + 0x230) <= (int)uVar11) { return; } LOCK(); *(undefined1 *)(param_1 + 0x350) = 0; UNLOCK(); lVar16 = *(longlong *)(*(longlong *)(param_1 + 0x240) + uVar18 * 8); if (lVar16 == 0) { return; } bVar4 = true; if (-1 < (longlong)uVar18) { if ((int)uVar11 < *(int *)((longlong)param_3 + 0xc)) { *(longlong *)(*param_3 + uVar18 * 8) = lVar16; } else { if ((int)param_3[1] < *(int *)((longlong)param_3 + 0xc) + 1) { FUN_18047cb30(param_3); uVar11 = local_1d8; } iVar6 = *(int *)((longlong)param_3 + 0xc); *(int *)((longlong)param_3 + 0xc) = iVar6 + 1; *(longlong *)(*param_3 + (longlong)iVar6 * 8) = lVar16; } } local_1d8 = uVar11 + 1; uVar22 = (ulonglong)local_1d8; uVar18 = uVar18 + 1; uVar11 = (int)uVar13 + 1; uVar13 = (ulonglong)uVar11; } while ((int)uVar11 < (int)uVar23); LAB_18047f28f: uVar12 = (ulonglong)uVar24; uVar11 = local_1d4; } } } iVar6 = (int)uVar22; local_1d4 = uVar11 + 1; uVar13 = (ulonglong)local_1d4; local_1b0 = local_1b0 + 1; local_1c8 = local_1c8 + 0x18; uVar17 = (ulonglong)(int)uVar12; } while (local_1b0 < iVar10); } uVar23 = 0; uVar17 = 0; uVar24 = *(uint *)(*(longlong *)(param_1 + 0x30) + 0xdc); uVar11 = local_1b8; if ((int)local_1b8 < (int)uVar24) { uVar11 = uVar24; } local_1d4 = 0; if (0 < (int)uVar11) { local_1b0 = 0; local_1c0 = 0; uVar18 = uVar17; do { uVar12 = 0; if ((longlong)iVar1 <= (longlong)uVar18) break; lVar16 = *(longlong *)(param_1 + 0x30); iVar10 = 0; uVar24 = (uint)uVar17; if (((uint)uVar17 < *(uint *)(lVar16 + 0xdc)) && (lVar15 = *(longlong *)(*(longlong *)(lVar16 + 0xd0) + local_1b0 * 8), uVar24 = local_1d4, lVar15 != 0)) { lVar19 = *(longlong *)(lVar15 + 0x10); if (lVar19 == 0) { lVar19 = lVar15 + 0x18; } iVar8 = *(int *)(lVar15 + 0x30) >> 5; lVar15 = (longlong)iVar8; uVar17 = uVar12; if (-1 < iVar8) { do { uVar20 = *(uint *)(lVar19 + lVar15 * 4); uVar20 = uVar20 - (uVar20 >> 1 & 0x55555555); uVar20 = (uVar20 >> 2 & 0x33333333) + (uVar20 & 0x33333333); uVar20 = (uVar20 >> 4) + uVar20 & 0xf0f0f0f; uVar20 = uVar20 + (uVar20 >> 8); uVar17 = (ulonglong)((int)uVar17 + (uVar20 + (uVar20 >> 0x10) & 0x3f)); lVar15 = lVar15 + -1; } while (-1 < lVar15); } if ((int)uVar17 != 0) goto LAB_18047f3fa; } else { LAB_18047f3fa: if (local_1b0 < (int)local_1b8) { lVar16 = *(longlong *)(*(longlong *)(param_2 + 6) + 0x10 + local_1c0); if (lVar16 != 0) { iVar10 = *(int *)(*(longlong *)(param_2 + 6) + local_1c0); if ((int)(iVar1 - uVar23) < iVar10) { iVar10 = iVar1 - uVar23; } if (0 < iVar10) { do { pvVar2 = *(void **)(lVar16 + uVar12 * 8); if (pvVar2 != (void *)0x0) { if ((longlong)uVar18 < (longlong)iVar6) { _Dst = *(void **)(*param_3 + uVar18 * 8); if (_Dst != pvVar2) { memcpy(_Dst,pvVar2,(longlong)param_2[2] << 3); uVar23 = local_1d0; } } else if (-1 < (longlong)uVar18) { iVar8 = *(int *)((longlong)param_3 + 0xc); if ((int)uVar23 < iVar8) { *(void **)(*param_3 + uVar18 * 8) = pvVar2; } else { iVar7 = iVar8 + 1; if ((int)param_3[1] < iVar7) { if (iVar7 < 0) { iVar7 = iVar8 + 2; } FUN_18047cb30(param_3,iVar8 + 9 + (iVar7 >> 1) & 0xfffffff8); uVar23 = local_1d0; } iVar8 = *(int *)((longlong)param_3 + 0xc); *(int *)((longlong)param_3 + 0xc) = iVar8 + 1; *(void **)(*param_3 + (longlong)iVar8 * 8) = pvVar2; } } } local_1d0 = uVar23 + 1; uVar18 = uVar18 + 1; uVar12 = uVar12 + 1; uVar23 = local_1d0; } while ((longlong)uVar12 < (longlong)iVar10); } } } else { if ((uVar24 < *(uint *)(lVar16 + 0xdc)) && (lVar16 = *(longlong *)(*(longlong *)(lVar16 + 0xd0) + local_1b0 * 8), lVar16 != 0)) { iVar10 = *(int *)(lVar16 + 0x8c); } if ((int)(iVar1 - uVar23) < iVar10) { iVar10 = iVar1 - uVar23; } if (0 < iVar10) { do { if ((*(int *)(param_1 + 0x234) < param_2[2]) || (*(int *)(param_1 + 0x230) <= (int)uVar23)) { return; } LOCK(); *(undefined1 *)(param_1 + 0x350) = 0; UNLOCK(); lVar16 = *(longlong *)(*(longlong *)(param_1 + 0x240) + uVar18 * 8); if (lVar16 == 0) { return; } bVar4 = true; if (-1 < (longlong)uVar18) { iVar8 = *(int *)((longlong)param_3 + 0xc); if ((int)uVar23 < iVar8) { *(longlong *)(*param_3 + uVar18 * 8) = lVar16; } else { iVar7 = iVar8 + 1; if ((int)param_3[1] < iVar7) { if (iVar7 < 0) { iVar7 = iVar8 + 2; } FUN_18047cb30(param_3,iVar8 + 9 + (iVar7 >> 1) & 0xfffffff8); uVar23 = local_1d0; } iVar8 = *(int *)((longlong)param_3 + 0xc); *(int *)((longlong)param_3 + 0xc) = iVar8 + 1; *(longlong *)(*param_3 + (longlong)iVar8 * 8) = lVar16; } } local_1d0 = uVar23 + 1; uVar18 = uVar18 + 1; uVar24 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar24; uVar23 = local_1d0; } while ((int)uVar24 < iVar10); } } } local_1d4 = local_1d4 + 1; uVar17 = (ulonglong)local_1d4; local_1b0 = local_1b0 + 1; local_1c0 = local_1c0 + 0x18; } while (local_1b0 < (int)uVar11); } uVar17 = 0; if (bVar4) { FUN_1804806f0(param_1 + 0x230); } local_168 = 0; local_160 = 0; local_158 = local_148; local_150 = (void *)0x0; local_48 = '\0'; uVar24 = local_1d8; if ((int)local_1d8 < (int)local_1d0) { uVar24 = local_1d0; } if (uVar24 != 0) { local_168 = CONCAT44(param_2[2],uVar24); FUN_180480d30(&local_168,*param_3,0); } lpCriticalSection = (LPCRITICAL_SECTION)(*(longlong *)(param_1 + 0x30) + 0x48); EnterCriticalSection(lpCriticalSection); pcVar21 = *(code **)(**(longlong **)(param_1 + 0x30) + 0xa0); if (pcVar21 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { *(bool *)((longlong)*(longlong **)(param_1 + 0x30) + 0x41) = *param_2 == 2; } else { (*pcVar21)(); } lVar16 = *(longlong *)(param_1 + 0x30); if (*(char *)(lVar16 + 0x40) == '\0') { if ((local_1d0 == *(uint *)(lVar16 + 0x100)) && (local_1d8 == *(uint *)(lVar16 + 0x104))) { cVar5 = FUN_180479510(param_1); if (cVar5 == '\0') { plVar14 = *(longlong **)(param_1 + 0x30); pcVar21 = *(code **)(*plVar14 + 0x30); if (pcVar21 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) goto LAB_18047f92e; } else { plVar14 = *(longlong **)(param_1 + 0x30); pcVar21 = *(code **)(*plVar14 + 0x40); if (pcVar21 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { if ((*(int *)((longlong)plVar14 + 0xdc) != 0) && (*(longlong *)plVar14[0x1a] != 0)) { uVar17 = (ulonglong)*(uint *)(*(longlong *)plVar14[0x1a] + 0x8c); } if ((int)uVar17 < *(int *)((longlong)plVar14 + 0x104)) { lVar16 = (longlong)(int)uVar17 * 8; do { if (local_48 == '\0') { memset(*(void **)(local_158 + lVar16),0,(longlong)local_168._4_4_ << 3); } uVar24 = (int)uVar17 + 1; uVar17 = (ulonglong)uVar24; lVar16 = lVar16 + 8; } while ((int)uVar24 < *(int *)((longlong)plVar14 + 0x104)); } goto LAB_18047f92e; } } (*pcVar21)(plVar14,&local_168,param_1 + 0xd8); } } else if (local_48 == '\0') { uVar18 = uVar17; if (0 < (int)local_168) { do { memset(*(void **)(local_158 + uVar17),0,(longlong)local_168._4_4_ << 3); uVar24 = (int)uVar18 + 1; uVar17 = uVar17 + 8; uVar18 = (ulonglong)uVar24; } while ((int)uVar24 < (int)local_168); } LOCK(); local_48 = '\x01'; UNLOCK(); } LAB_18047f92e: LeaveCriticalSection(lpCriticalSection); /* WARNING: Subroutine does not return */ free(local_150); } ############ FUN_ 180485df0 size=83 ############ void FUN_180485df0(longlong *param_1,undefined8 *param_2) { int iVar1; iVar1 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar1) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined8 *)(*param_1 + (longlong)iVar1 * 8) = *param_2; return; } ############ FUN_ 180485fc0 size=80 ############ undefined8 FUN_180485fc0(longlong *param_1,undefined8 param_2) { int iVar1; iVar1 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar1) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined8 *)(*param_1 + (longlong)iVar1 * 8) = param_2; return param_2; } ############ FUN_ 180488690 size=120 ############ ulonglong FUN_180488690(longlong *param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong lVar3; longlong *plVar4; plVar4 = (longlong *)*param_1; iVar2 = *(int *)((longlong)param_1 + 0xc); plVar1 = plVar4 + iVar2; while( true ) { if (plVar4 == plVar1) { if ((int)param_1[1] < iVar2 + 1) { FUN_18047cb30(param_1,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; lVar3 = *param_1; *(longlong *)(lVar3 + (longlong)iVar2 * 8) = param_2; return CONCAT71((int7)((ulonglong)lVar3 >> 8),1); } if (param_2 == *plVar4) break; plVar4 = plVar4 + 1; } return (ulonglong)plVar4 & 0xffffffffffffff00; } ############ FUN_ 181229cf0 size=669 ############ undefined8 FUN_181229cf0(longlong *param_1,longlong param_2) { longlong *plVar1; undefined8 *puVar2; longlong lVar3; int iVar4; undefined8 *puVar5; uint uVar6; ulonglong uVar7; ulonglong uVar8; bool bVar9; longlong local_58; undefined8 local_50; longlong local_48; undefined4 local_40; int iStack_3c; uVar7 = 0; local_58 = 0; local_50 = 0; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); if (0 < *(int *)((longlong)param_1 + 0xc)) { bVar9 = *(int *)((longlong)param_1 + 0xc) != 0; uVar8 = uVar7; do { uVar6 = (uint)uVar7; if (((bVar9) && (plVar1 = *(longlong **)(uVar8 + *param_1), plVar1 != (longlong *)0x0)) && (*(char *)((longlong)plVar1 + 0x19) == '\0')) { if ((char)plVar1[3] == '\0') { LOCK(); *(undefined1 *)((longlong)plVar1 + 0x19) = 1; UNLOCK(); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); FUN_180485f00(&local_58); LOCK(); *(longlong **)(param_2 + 0x200) = plVar1; UNLOCK(); iVar4 = (**(code **)(*plVar1 + 8))(plVar1); LOCK(); *(undefined8 *)(param_2 + 0x200) = 0; UNLOCK(); local_48 = 0; _local_40 = 0; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); puVar5 = (undefined8 *)*param_1; puVar2 = puVar5 + *(int *)((longlong)param_1 + 0xc); goto joined_r0x000181229ece; } if (uVar6 < *(uint *)((longlong)param_1 + 0xc)) { FUN_18049b4a0(param_1,uVar7); } LOCK(); *(undefined1 *)(plVar1 + 3) = 1; UNLOCK(); plVar1[2] = 0; if (*(char *)((longlong)plVar1 + 0x1a) != '\0') { iVar4 = local_50._4_4_ + 1; if ((int)local_50 < iVar4) { if (iVar4 < 0) { iVar4 = local_50._4_4_ + 2; } FUN_18047cb30(&local_58,local_50._4_4_ + 9 + (iVar4 >> 1) & 0xfffffff8); } lVar3 = (longlong)local_50._4_4_; local_50 = CONCAT44(local_50._4_4_ + 1,(int)local_50); *(longlong **)(local_58 + lVar3 * 8) = plVar1; } uVar6 = uVar6 - 1; uVar8 = uVar8 - 8; } uVar6 = uVar6 + 1; uVar7 = (ulonglong)uVar6; uVar8 = uVar8 + 8; bVar9 = uVar6 < *(uint *)((longlong)param_1 + 0xc); } while ((int)uVar6 < (int)*(uint *)((longlong)param_1 + 0xc)); } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); FUN_180485f00(&local_58); return 0; joined_r0x000181229ece: if (puVar5 == puVar2) goto LAB_181229f8d; if (plVar1 == (longlong *)*puVar5) { LOCK(); *(undefined1 *)((longlong)plVar1 + 0x19) = 0; UNLOCK(); if ((iVar4 == 1) && ((char)plVar1[3] == '\0')) { puVar2 = (undefined8 *)*param_1; puVar5 = puVar2; goto joined_r0x000181229f0b; } FUN_180488600(param_1,plVar1); LOCK(); *(undefined1 *)(plVar1 + 3) = 1; UNLOCK(); plVar1[2] = 0; if (*(char *)((longlong)plVar1 + 0x1a) != '\0') { FUN_18047cb30(&local_48,8); lVar3 = (longlong)iStack_3c; _local_40 = CONCAT44(iStack_3c + 1,local_40); *(longlong **)(local_48 + lVar3 * 8) = plVar1; } FUN_181215c10(param_1 + 10); goto LAB_181229f8d; } puVar5 = puVar5 + 1; goto joined_r0x000181229ece; joined_r0x000181229f0b: if (puVar5 == puVar2 + *(int *)((longlong)param_1 + 0xc)) { FUN_18049aee0(param_1,0xffffffff); LAB_181229f8d: LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); FUN_180485f00(&local_48); return 1; } if (plVar1 == (longlong *)*puVar5) { FUN_18049aee0(param_1,(longlong)puVar5 - (longlong)puVar2 >> 3 & 0xffffffff); goto LAB_181229f8d; } puVar5 = puVar5 + 1; goto joined_r0x000181229f0b; } ############ FUN_ 180495580 size=271 ############ undefined8 * FUN_180495580(undefined8 *param_1,ulonglong param_2) { void *_Dst; uint uVar1; int iVar2; longlong *plVar3; uint *puVar4; longlong lVar5; int iVar6; *param_1 = juce::UnitTest::vftable; plVar3 = (longlong *)FUN_181227cf0(); iVar6 = 0; lVar5 = 0; iVar2 = *(int *)((longlong)plVar3 + 0xc); if (0 < iVar2) { do { if (param_1 == *(undefined8 **)(*plVar3 + lVar5 * 8)) { _Dst = (void *)(*plVar3 + (longlong)iVar6 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar6) + -1) << 3); *(int *)((longlong)plVar3 + 0xc) = *(int *)((longlong)plVar3 + 0xc) + -1; iVar2 = *(int *)((longlong)plVar3 + 0xc); iVar6 = 0; if (0 < iVar2 * 2) { iVar6 = iVar2 * 2; } if (iVar6 < (int)plVar3[1]) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < (int)plVar3[1]) { FUN_18047cb30(plVar3); } } break; } iVar6 = iVar6 + 1; lVar5 = lVar5 + 1; } while (lVar5 < iVar2); } puVar4 = (uint *)(param_1[2] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(param_1[1] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 18049ad40 size=149 ############ longlong * FUN_18049ad40(longlong *param_1,undefined8 *param_2) { int *piVar1; longlong *plVar2; int iVar3; void *_Src; longlong *plVar4; *param_1 = 0; param_1[1] = 0; iVar3 = *(int *)((longlong)param_2 + 0xc); _Src = (void *)*param_2; if (0 < iVar3) { FUN_18047cb30(param_1,iVar3 + 8 + iVar3 / 2 & 0xfffffff8); } memcpy((void *)(*param_1 + (longlong)*(int *)((longlong)param_1 + 0xc) * 8),_Src, (longlong)iVar3 << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + iVar3; plVar4 = (longlong *)*param_1; plVar2 = plVar4 + *(int *)((longlong)param_1 + 0xc); for (; plVar4 != plVar2; plVar4 = plVar4 + 1) { if (*plVar4 != 0) { LOCK(); piVar1 = (int *)(*plVar4 + 8); *piVar1 = *piVar1 + 1; UNLOCK(); } } return param_1; } ############ FUN_ 180599eb0 size=112 ############ void FUN_180599eb0(longlong *param_1,uint param_2) { void *_Dst; longlong lVar1; lVar1 = 0; if (param_2 < *(uint *)((longlong)param_1 + 0xc)) { lVar1 = *(longlong *)(*param_1 + (longlong)(int)param_2 * 8); _Dst = (void *)(*param_1 + (longlong)(int)param_2 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)((longlong)param_1 + 0xc) - param_2) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; } if ((*(int *)((longlong)param_1 + 0xc) * 2 < (int)param_1[1]) && (*(int *)((longlong)param_1 + 0xc) < (int)param_1[1])) { FUN_18047cb30(param_1); } if (lVar1 != 0) { FUN_18059bac0(lVar1); } return; } ############ FUN_ 18059bac0 size=210 ############ void FUN_18059bac0(longlong *param_1) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; longlong *plVar4; longlong lVar5; int iVar6; lVar2 = param_1[1]; if (lVar2 != 0) { lVar5 = *param_1; if (lVar5 != 0) { lVar5 = lVar5 + 0x10; } iVar1 = *(int *)(lVar2 + 0x3c); iVar6 = 0; lVar3 = 0; if (0 < iVar1) { do { if (lVar5 == *(longlong *)(*(longlong *)(lVar2 + 0x30) + lVar3 * 8)) { _Dst = (void *)(*(longlong *)(lVar2 + 0x30) + (longlong)iVar6 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar6) + -1) << 3); *(int *)(lVar2 + 0x3c) = *(int *)(lVar2 + 0x3c) + -1; iVar1 = *(int *)(lVar2 + 0x3c); iVar6 = 0; if (0 < iVar1 * 2) { iVar6 = iVar1 * 2; } if (iVar6 < *(int *)(lVar2 + 0x38)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x38)) { FUN_18047cb30(lVar2 + 0x30); } } break; } iVar6 = iVar6 + 1; lVar3 = lVar3 + 1; } while (lVar3 < iVar1); } } if (((int)param_1[2] != 0) && (plVar4 = (longlong *)FUN_1805989c0(), param_1[4] == *plVar4)) { glDeleteTextures(1,param_1 + 2); param_1[2] = 0; *(undefined4 *)(param_1 + 3) = 0; } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 18124e930 size=126 ############ void FUN_18124e930(longlong *param_1,undefined8 *param_2) { undefined8 uVar1; void *_Memory; int iVar2; uVar1 = *param_2; *param_2 = 0; iVar2 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar2) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar2 / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(undefined8 *)(*param_1 + (longlong)iVar2 * 8) = uVar1; _Memory = (void *)*param_2; if (_Memory != (void *)0x0) { FUN_1804a9d80(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 1804a79b0 size=322 ############ void FUN_1804a79b0(longlong *param_1,undefined8 param_2) { int *piVar1; longlong lVar2; int iVar3; int iVar4; longlong lVar5; uint uVar6; longlong lVar7; undefined1 local_res10; if ((int)param_2 != (int)((ulonglong)param_2 >> 0x20)) { FUN_1804abd40(); iVar4 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar4) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar4 / 2 & 0xfffffff8); } iVar4 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar4 + 1; *(undefined8 *)(*param_1 + (longlong)iVar4 * 8) = param_2; lVar5 = *param_1; lVar7 = lVar5 + (longlong)*(int *)((longlong)param_1 + 0xc) * 8; FUN_1804b14c0(lVar5,lVar7,lVar7 - lVar5 >> 3,local_res10); uVar6 = *(int *)((longlong)param_1 + 0xc) - 1; if (0 < (int)uVar6) { lVar7 = (longlong)(int)uVar6 * 8; lVar5 = lVar7; do { lVar2 = *param_1; piVar1 = (int *)(lVar5 + -8 + lVar2); if (piVar1[1] == *(int *)(lVar5 + lVar2)) { iVar4 = *(int *)(lVar5 + lVar2 + 4); piVar1[1] = iVar4; if (iVar4 < *piVar1) { *piVar1 = iVar4; } if (uVar6 < *(uint *)((longlong)param_1 + 0xc)) { memmove((void *)(*param_1 + lVar7),(void *)(*param_1 + lVar7 + 8), (longlong)(int)((*(uint *)((longlong)param_1 + 0xc) - uVar6) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar4 = *(int *)((longlong)param_1 + 0xc); iVar3 = 0; if (0 < iVar4 * 2) { iVar3 = iVar4 * 2; } if (iVar3 < (int)param_1[1]) { if (iVar4 < 8) { iVar4 = 8; } if (iVar4 < (int)param_1[1]) { FUN_18047cb30(param_1); } } } } uVar6 = uVar6 - 1; lVar7 = lVar7 + -8; lVar5 = lVar5 + -8; } while (0 < (int)uVar6); } } return; } ############ FUN_ 1804abd40 size=539 ############ void FUN_1804abd40(longlong *param_1,undefined8 param_2) { uint uVar1; int iVar2; int iVar3; int iVar4; int iVar5; void *_Src; int iVar6; int *piVar7; int iVar8; uint uVar9; longlong lVar10; int iVar11; undefined8 local_res8; undefined8 local_res10; uVar9 = *(uint *)((longlong)param_1 + 0xc); iVar2 = 0; iVar6 = 0; iVar11 = 0; iVar4 = iVar11; if (uVar9 != 0) { if (0 < (int)uVar9) { iVar6 = (int)*(undefined8 *)*param_1; iVar2 = (int)((ulonglong)*(undefined8 *)(*param_1 + (longlong)(int)(uVar9 - 1) * 8) >> 0x20); } iVar11 = iVar6; iVar4 = iVar6; if (iVar6 < iVar2) { iVar11 = iVar2; } } iVar6 = (int)param_2; if ((((iVar6 < iVar11) && (iVar2 = (int)((ulonglong)param_2 >> 0x20), iVar4 < iVar2)) && (iVar6 != iVar2)) && (iVar11 = uVar9 - 1, -1 < iVar11)) { lVar10 = (longlong)iVar11 * 8; do { piVar7 = (int *)(*param_1 + lVar10); iVar4 = piVar7[1]; if (iVar4 <= iVar6) { return; } iVar8 = *piVar7; if (iVar8 < iVar2) { if (((int)*(undefined8 *)piVar7 < iVar6) || (iVar2 < (int)((ulonglong)*(undefined8 *)piVar7 >> 0x20))) { if (iVar6 < iVar8) { if (iVar4 < iVar2) goto LAB_1804abf11; *piVar7 = iVar2; if (iVar4 < iVar2) { piVar7[1] = iVar2; } } else if (iVar4 < iVar2) { LAB_1804abf11: piVar7[1] = iVar6; if (iVar6 < iVar8) { *piVar7 = iVar6; } } else { if (iVar6 < iVar8) { iVar8 = iVar6; } iVar5 = iVar8; if (iVar8 < iVar6) { iVar5 = iVar6; } local_res10 = CONCAT44(iVar5,iVar8); iVar3 = iVar2; if (iVar2 < iVar4) { iVar3 = iVar4; } iVar4 = iVar2; if (iVar2 < iVar3) { iVar4 = iVar3; } *(undefined8 *)piVar7 = local_res10; local_res8 = CONCAT44(iVar4,iVar2); if (iVar8 == piVar7[1]) { local_res10 = local_res8; } *(undefined8 *)piVar7 = local_res10; if ((iVar8 != iVar5) && (iVar2 != iVar4)) { iVar8 = *(int *)((longlong)param_1 + 0xc); iVar4 = iVar8 + 1; if ((int)param_1[1] < iVar4) { if (iVar4 < 0) { iVar4 = iVar8 + 2; } FUN_18047cb30(param_1,iVar8 + 9 + (iVar4 >> 1) & 0xfffffff8); } uVar1 = *(uint *)((longlong)param_1 + 0xc); if (uVar9 < uVar1) { _Src = (void *)(*param_1 + (longlong)(int)uVar9 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar1 - uVar9) << 3); *(undefined8 *)(*param_1 + (longlong)(int)uVar9 * 8) = local_res8; *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + 1; } else { *(undefined8 *)(*param_1 + (longlong)(int)uVar1 * 8) = local_res8; *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + 1; } } } } else { FUN_1804af820(param_1,iVar11); } } uVar9 = uVar9 - 1; lVar10 = lVar10 + -8; iVar11 = iVar11 + -1; } while (-1 < iVar11); } return; } ############ FUN_ 1804ac2c0 size=237 ############ /* WARNING: Removing unreachable block (ram,0x0001804ac347) */ void FUN_1804ac2c0(longlong *param_1) { int iVar1; longlong *plVar2; void *_Dst; int iVar3; longlong lVar4; longlong lVar5; int iVar6; int iVar7; plVar2 = param_1 + 1; if ((0 < *(int *)((longlong)param_1 + 0x14)) && (lVar4 = *(longlong *)(*plVar2 + (longlong)(*(int *)((longlong)param_1 + 0x14) + -1) * 8), lVar4 != 0)) { lVar5 = *param_1; *param_1 = lVar4; if (lVar5 != 0) { FUN_1804af4c0(lVar5); } iVar3 = *(int *)((longlong)param_1 + 0x14); if (iVar3 < 2) { *(undefined4 *)((longlong)param_1 + 0x14) = 0; if ((int)param_1[2] != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar2); } *(undefined4 *)(param_1 + 2) = 0; return; } iVar1 = iVar3 + -1; iVar6 = iVar3; if (iVar3 < 0) { iVar6 = 0; } iVar7 = 0; if ((-1 < iVar1) && (iVar7 = iVar1, iVar3 < iVar1)) { iVar7 = iVar3; } iVar6 = iVar6 - iVar7; if (0 < iVar6) { _Dst = (void *)(*plVar2 + (longlong)iVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + (longlong)iVar6 * 8), (longlong)((iVar3 - iVar7) - iVar6) << 3); *(int *)((longlong)param_1 + 0x14) = *(int *)((longlong)param_1 + 0x14) - iVar6; if ((*(int *)((longlong)param_1 + 0x14) * 2 < (int)param_1[2]) && (*(int *)((longlong)param_1 + 0x14) < (int)param_1[2])) { FUN_18047cb30(); } /* WARNING: Subroutine does not return */ free((void *)0x0); } } return; } ############ FUN_ 1804ac090 size=378 ############ void FUN_1804ac090(longlong *param_1,int param_2) { int *piVar1; longlong *plVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; longlong *_Memory; void *_Dst; int iVar7; int iVar8; longlong *plVar9; longlong *local_38; undefined8 local_30; iVar3 = *(int *)((longlong)param_1 + 0xc); iVar7 = param_2 + 1; iVar8 = 0; if ((-1 < iVar7) && (iVar8 = iVar7, iVar3 < iVar7)) { iVar8 = iVar3; } if (param_2 < 0) { param_2 = 0; } else if (iVar3 < param_2) { param_2 = iVar3; } iVar8 = iVar8 - param_2; if (0 < iVar8) { lVar4 = *param_1; local_38 = (longlong *)0x0; local_30 = 0; FUN_18047cb30(&local_38,iVar8 / 2 + 8 + iVar8 & 0xfffffff8); plVar9 = local_38; iVar3 = local_30._4_4_; memcpy(local_38 + local_30._4_4_,(void *)((longlong)param_2 * 8 + lVar4),(longlong)iVar8 * 8); _Dst = (void *)(*param_1 + (longlong)param_2 * 8); local_30 = CONCAT44(iVar3 + iVar8,(undefined4)local_30); memmove(_Dst,(void *)((longlong)iVar8 * 8 + (longlong)_Dst), (longlong)((*(int *)((longlong)param_1 + 0xc) - param_2) - iVar8) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) - iVar8; plVar2 = plVar9 + (iVar3 + iVar8); _Memory = plVar9; while( true ) { if (plVar9 == plVar2) { if ((*(int *)((longlong)param_1 + 0xc) * 2 < (int)param_1[1]) && (*(int *)((longlong)param_1 + 0xc) < (int)param_1[1])) { FUN_18047cb30(param_1); } /* WARNING: Subroutine does not return */ free(_Memory); } puVar5 = (undefined8 *)*plVar9; if (puVar5 != (undefined8 *)0x0) break; plVar9 = plVar9 + 1; _Memory = local_38; } puVar6 = (undefined8 *)puVar5[9]; if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar6)(puVar6,1); } } FUN_1812a0e00(puVar5 + 3); *(undefined4 *)((longlong)puVar5 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar5); } return; } ############ FUN_ 1812aaaf0 size=418 ############ void FUN_1812aaaf0(longlong param_1) { undefined8 uVar1; undefined8 *puVar2; byte bVar3; int iVar4; longlong lVar5; int iVar6; uint uVar7; int iVar8; void *pvVar9; longlong *_Dst; void *_Memory; void *pvVar10; longlong *plVar11; longlong lVar12; void *local_40; undefined8 local_38; pvVar9 = (void *)0x0; local_40 = (void *)0x0; local_38 = 0; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x40)); iVar6 = *(int *)(param_1 + 0x14) + -1; _Memory = pvVar9; if (-1 < iVar6) { bVar3 = (byte)iVar6 & 0x1f; uVar7 = 1 << bVar3 | 1U >> 0x20 - bVar3; lVar12 = (longlong)iVar6 * 8; pvVar10 = pvVar9; do { iVar8 = (int)pvVar9; if ((iVar6 <= *(int *)(param_1 + 0x38)) && (-1 < iVar6)) { lVar5 = *(longlong *)(param_1 + 0x18); if (lVar5 == 0) { lVar5 = param_1 + 0x20; } if ((*(uint *)(lVar5 + (longlong)(iVar6 >> 5) * 4) & uVar7) != 0) { uVar1 = *(undefined8 *)(lVar12 + *(longlong *)(param_1 + 8)); iVar4 = iVar8 + 1; if ((int)pvVar10 < iVar4) { if (iVar4 < 0) { iVar4 = iVar8 + 2; } FUN_18047cb30(&local_40,iVar8 + 9 + (iVar4 >> 1) & 0xfffffff8); pvVar10 = (void *)(local_38 & 0xffffffff); _Memory = local_40; iVar8 = local_38._4_4_; } pvVar9 = (void *)(ulonglong)(iVar8 + 1U); local_38 = CONCAT44(iVar8 + 1U,(undefined4)local_38); *(undefined8 *)((longlong)_Memory + (longlong)iVar8 * 8) = uVar1; } } uVar7 = uVar7 >> 1 | (uint)((uVar7 & 1) != 0) << 0x1f; lVar12 = lVar12 + -8; iVar6 = iVar6 + -1; } while (-1 < iVar6); } *(undefined4 *)(param_1 + 0x14) = 0; if (*(int *)(param_1 + 0x10) == 0) { *(undefined4 *)(param_1 + 0x10) = 0; LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x40)); iVar6 = (int)pvVar9 + -1; lVar12 = (longlong)iVar6; if (-1 < iVar6) { do { (**(code **)(**(longlong **)((longlong)_Memory + lVar12 * 8) + 0x10))(); lVar12 = lVar12 + -1; } while (-1 < lVar12); } if (-1 < iVar6) { _Dst = (longlong *)((longlong)_Memory + (longlong)iVar6 * 8); plVar11 = _Dst; do { puVar2 = (undefined8 *)*plVar11; memmove(_Dst,_Dst + 1,(longlong)(((int)pvVar9 - iVar6) + -1) << 3); pvVar9 = (void *)(ulonglong)((int)pvVar9 - 1); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Dst = _Dst + -1; plVar11 = plVar11 + -1; iVar6 = iVar6 + -1; } while (-1 < iVar6); } /* WARNING: Could not recover jumptable at 0x0001812aac8f. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 8)); } ############ FUN_ 18134a370 size=428 ############ void FUN_18134a370(longlong *param_1,longlong param_2,undefined1 param_3) { int *piVar1; longlong *plVar2; int iVar3; longlong lVar4; longlong *plVar5; longlong *plVar6; longlong lVar7; longlong *plVar8; undefined8 *local_res8; longlong local_res10; lVar7 = 0; lVar4 = lVar7; if (param_1[0x30] != 0) { lVar4 = *(longlong *)(param_1[0x30] + 0x10); } if (lVar4 != param_2) { FUN_181317850(); plVar5 = (longlong *)FUN_1804de690(&local_res8,param_2); local_res10 = param_1[0x30]; param_1[0x30] = *plVar5; *plVar5 = local_res10; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res8)(local_res8,1); } } *(undefined1 *)((longlong)param_1 + 0x1a6) = param_3; lVar4 = param_1[0x30]; if ((lVar4 != 0) && (*(longlong *)(lVar4 + 0x10) != 0)) { if ((lVar4 != 0) && (plVar5 = *(longlong **)(lVar4 + 0x10), plVar5 != (longlong *)0x0)) { (**(code **)(*plVar5 + 0x58))(plVar5,1); FUN_181343cc0(param_1 + 0x1a,plVar5,0xffffffff); } local_res8 = (undefined8 *)0x0; FUN_181317310(param_1,0); plVar5 = param_1 + 0x16; lVar4 = lVar7; if (param_1[0x30] != 0) { lVar4 = *(longlong *)(param_1[0x30] + 0x10); } if (plVar5 != (longlong *)0x0) { plVar8 = (longlong *)(lVar4 + 0x80); plVar6 = (longlong *)*plVar8; iVar3 = *(int *)(lVar4 + 0x8c); plVar2 = plVar6 + iVar3; for (; plVar6 != plVar2; plVar6 = plVar6 + 1) { if (plVar5 == (longlong *)*plVar6) goto LAB_18134a4d6; } if (*(int *)(lVar4 + 0x88) < iVar3 + 1) { FUN_18047cb30(plVar8,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(lVar4 + 0x8c); *(int *)(lVar4 + 0x8c) = iVar3 + 1; *(longlong **)(*plVar8 + (longlong)iVar3 * 8) = plVar5; } } LAB_18134a4d6: if (param_1[0x30] != 0) { lVar7 = *(longlong *)(param_1[0x30] + 0x10); } if (*(code **)(*param_1 + 0x160) != FUN_181317a50) { (**(code **)(*param_1 + 0x160))(param_1,lVar7); } FUN_1813165e0(param_1); } return; } ############ FUN_ 1812a72f0 size=156 ############ undefined1 FUN_1812a72f0(longlong param_1,longlong param_2) { void *_Dst; undefined1 uVar1; int iVar2; longlong lVar3; int iVar4; iVar4 = 0; lVar3 = 0; iVar2 = *(int *)(param_1 + 0x2c); if (0 < iVar2) { do { if (param_2 == *(longlong *)(*(longlong *)(param_1 + 0x20) + lVar3 * 8)) { _Dst = (void *)(*(longlong *)(param_1 + 0x20) + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar4) + -1) << 3); *(int *)(param_1 + 0x2c) = *(int *)(param_1 + 0x2c) + -1; iVar2 = *(int *)(param_1 + 0x2c); iVar4 = 0; if (0 < iVar2 * 2) { iVar4 = iVar2 * 2; } if (iVar4 < *(int *)(param_1 + 0x28)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(param_1 + 0x28)) { FUN_18047cb30(param_1 + 0x20); } } break; } iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; } while (lVar3 < iVar2); } LOCK(); uVar1 = *(undefined1 *)(param_1 + 0x30); *(undefined1 *)(param_1 + 0x30) = 0 < *(int *)(param_1 + 0x2c); UNLOCK(); return uVar1; } ############ FUN_ 18051a5c0 size=370 ############ void FUN_18051a5c0(longlong *param_1,int param_2,int param_3) { int iVar1; longlong lVar2; undefined8 *puVar3; longlong *_Memory; void *_Dst; longlong *plVar4; ulonglong uVar5; ulonglong uVar6; int iVar7; int iVar8; longlong *local_38; undefined8 local_30; iVar1 = *(int *)((longlong)param_1 + 0xc); param_3 = param_2 + param_3; uVar5 = 0; iVar8 = 0; iVar7 = iVar8; if ((-1 < param_3) && (iVar7 = param_3, iVar1 < param_3)) { iVar7 = iVar1; } if ((-1 < param_2) && (iVar8 = param_2, iVar1 < param_2)) { iVar8 = iVar1; } iVar7 = iVar7 - iVar8; if (iVar7 < 1) { return; } lVar2 = *param_1; local_38 = (longlong *)0x0; local_30 = 0; FUN_18047cb30(&local_38,iVar7 / 2 + 8 + iVar7 & 0xfffffff8); _Memory = local_38; iVar1 = local_30._4_4_; memcpy(local_38 + local_30._4_4_,(void *)((longlong)iVar8 * 8 + lVar2),(longlong)iVar7 * 8); _Dst = (void *)(*param_1 + (longlong)iVar8 * 8); memmove(_Dst,(void *)((longlong)iVar7 * 8 + (longlong)_Dst), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar8) - iVar7) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) - iVar7; uVar6 = (ulonglong)((longlong)(_Memory + (iVar1 + iVar7)) + (7 - (longlong)_Memory)) >> 3; if (_Memory + (iVar1 + iVar7) < _Memory) { uVar6 = uVar5; } plVar4 = _Memory; if (uVar6 != 0) { do { puVar3 = (undefined8 *)*plVar4; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } plVar4 = plVar4 + 1; uVar5 = uVar5 + 1; } while (uVar5 != uVar6); } if ((*(int *)((longlong)param_1 + 0xc) * 2 < (int)param_1[1]) && (*(int *)((longlong)param_1 + 0xc) < (int)param_1[1])) { FUN_18047cb30(param_1); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1812c8710 size=287 ############ void FUN_1812c8710(longlong param_1,longlong param_2) { void *_Dst; longlong *plVar1; int iVar2; longlong lVar3; longlong lVar4; longlong lVar5; longlong *plVar6; int iVar7; longlong *plVar8; lVar3 = *(longlong *)(param_1 + 8); if (param_2 != lVar3) { if (lVar3 != 0) { iVar2 = *(int *)(lVar3 + 0x8c); lVar4 = *(longlong *)(lVar3 + 0x80); iVar7 = 0; lVar5 = 0; if (0 < iVar2) { do { if (param_1 == *(longlong *)(lVar4 + lVar5 * 8)) { _Dst = (void *)(lVar4 + (longlong)iVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar3 + 0x8c) = *(int *)(lVar3 + 0x8c) + -1; iVar2 = *(int *)(lVar3 + 0x8c); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (iVar7 < *(int *)(lVar3 + 0x88)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar3 + 0x88)) { FUN_18047cb30((longlong *)(lVar3 + 0x80)); } } break; } iVar7 = iVar7 + 1; lVar5 = lVar5 + 1; } while (lVar5 < iVar2); } } *(longlong *)(param_1 + 8) = param_2; FUN_1812c8590(param_1); lVar3 = *(longlong *)(param_1 + 8); plVar8 = (longlong *)(lVar3 + 0x80); plVar6 = (longlong *)*plVar8; iVar2 = *(int *)(lVar3 + 0x8c); plVar1 = plVar6 + iVar2; for (; plVar6 != plVar1; plVar6 = plVar6 + 1) { if (param_1 == *plVar6) goto LAB_1812c8817; } if (*(int *)(lVar3 + 0x88) < iVar2 + 1) { FUN_18047cb30(plVar8,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar3 + 0x8c); *(int *)(lVar3 + 0x8c) = iVar2 + 1; *(longlong *)(*plVar8 + (longlong)iVar2 * 8) = param_1; LAB_1812c8817: FUN_1812c81b0(param_1); } return; } ############ FUN_ 1812c8590 size=365 ############ void FUN_1812c8590(longlong param_1) { int *piVar1; void *_Dst; longlong *plVar2; int iVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; undefined8 *puVar7; longlong *plVar8; int iVar9; ulonglong uVar10; ulonglong uVar11; longlong *plVar12; undefined8 *local_res8; undefined8 local_res10; uVar11 = 0; uVar5 = uVar11; if (*(longlong *)(param_1 + 0x38) != 0) { uVar5 = *(ulonglong *)(*(longlong *)(param_1 + 0x38) + 0x10); } if (uVar5 != 0) { iVar3 = *(int *)(uVar5 + 0x8c); lVar4 = *(longlong *)(uVar5 + 0x80); uVar6 = uVar11; uVar10 = uVar11; if (0 < iVar3) { do { iVar9 = (int)uVar10; if (param_1 == *(longlong *)(lVar4 + uVar6 * 8)) { _Dst = (void *)(lVar4 + (longlong)iVar9 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar3 - iVar9) + -1) << 3); *(int *)(uVar5 + 0x8c) = *(int *)(uVar5 + 0x8c) + -1; iVar3 = *(int *)(uVar5 + 0x8c); iVar9 = 0; if (0 < iVar3 * 2) { iVar9 = iVar3 * 2; } if (iVar9 < *(int *)(uVar5 + 0x88)) { if (iVar3 < 8) { iVar3 = 8; } if (iVar3 < *(int *)(uVar5 + 0x88)) { FUN_18047cb30((longlong *)(uVar5 + 0x80)); } } break; } uVar10 = (ulonglong)(iVar9 + 1); uVar6 = uVar6 + 1; } while ((longlong)uVar6 < (longlong)iVar3); } } uVar5 = uVar11; if (*(longlong *)(param_1 + 8) != 0) { uVar5 = *(ulonglong *)(*(longlong *)(param_1 + 8) + 0x18); } puVar7 = (undefined8 *)FUN_1804de690(&local_res8,uVar5); local_res10 = *(undefined8 *)(param_1 + 0x38); *(undefined8 *)(param_1 + 0x38) = *puVar7; *puVar7 = local_res10; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res8)(local_res8,1); } } if (*(longlong *)(param_1 + 0x38) != 0) { uVar11 = *(ulonglong *)(*(longlong *)(param_1 + 0x38) + 0x10); } if (uVar11 != 0) { plVar12 = (longlong *)(uVar11 + 0x80); plVar8 = (longlong *)*plVar12; iVar3 = *(int *)(uVar11 + 0x8c); plVar2 = plVar8 + iVar3; for (; plVar8 != plVar2; plVar8 = plVar8 + 1) { if (param_1 == *plVar8) { return; } } if (*(int *)(uVar11 + 0x88) < iVar3 + 1) { FUN_18047cb30(plVar12,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(uVar11 + 0x8c); *(int *)(uVar11 + 0x8c) = iVar3 + 1; *(longlong *)(*plVar12 + (longlong)iVar3 * 8) = param_1; } return; } ############ FUN_ 181322bc0 size=224 ############ undefined8 * FUN_181322bc0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; int iVar3; longlong lVar4; undefined1 uVar5; longlong *plVar6; longlong lVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; *param_1 = juce::ComponentMovementWatcher::vftable; FUN_1804de690(param_1 + 1); lVar7 = 0; *(undefined4 *)(param_1 + 2) = 0; param_1[3] = 0; param_1[4] = 0; *(undefined1 *)(param_1 + 5) = 0; uVar5 = FUN_181345240(param_2); *(undefined1 *)((longlong)param_1 + 0x29) = uVar5; *(undefined8 *)((longlong)param_1 + 0x2c) = 0; *(undefined8 *)((longlong)param_1 + 0x34) = 0; lVar4 = param_1[1]; if (lVar4 != 0) { lVar7 = *(longlong *)(lVar4 + 0x10); } plVar1 = (longlong *)(lVar7 + 0x80); plVar6 = (longlong *)*plVar1; iVar3 = *(int *)(lVar7 + 0x8c); plVar2 = plVar6 + iVar3; for (; plVar6 != plVar2; plVar6 = plVar6 + 1) { if (param_1 == (undefined8 *)*plVar6) goto LAB_181322c87; } if (*(int *)(lVar7 + 0x88) < iVar3 + 1) { FUN_18047cb30(plVar1,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8,(longlong)iVar3,param_4,uVar8); } iVar3 = *(int *)(lVar7 + 0x8c); *(int *)(lVar7 + 0x8c) = iVar3 + 1; *(undefined8 **)(*plVar1 + (longlong)iVar3 * 8) = param_1; LAB_181322c87: FUN_1813225e0(param_1); return param_1; } ############ FUN_ 1813225e0 size=237 ############ void FUN_1813225e0(longlong param_1) { longlong *plVar1; longlong *plVar2; int iVar3; int iVar4; longlong *plVar5; longlong lVar6; lVar6 = 0; if (*(longlong *)(param_1 + 8) != 0) { lVar6 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x10); } lVar6 = *(longlong *)(lVar6 + 0x18); do { if (lVar6 == 0) { return; } if (param_1 != 0) { plVar1 = (longlong *)(lVar6 + 0x80); plVar5 = (longlong *)*plVar1; iVar4 = *(int *)(lVar6 + 0x8c); plVar2 = plVar5 + iVar4; for (; plVar5 != plVar2; plVar5 = plVar5 + 1) { if (param_1 == *plVar5) goto LAB_181322673; } iVar3 = iVar4 + 1; if (*(int *)(lVar6 + 0x88) < iVar3) { if (iVar3 < 0) { iVar3 = iVar4 + 2; } FUN_18047cb30(plVar1,iVar4 + 9 + (iVar3 >> 1) & 0xfffffff8); } iVar4 = *(int *)(lVar6 + 0x8c); *(int *)(lVar6 + 0x8c) = iVar4 + 1; *(longlong *)(*plVar1 + (longlong)iVar4 * 8) = param_1; } LAB_181322673: iVar3 = *(int *)(param_1 + 0x24); iVar4 = iVar3 + 1; if (*(int *)(param_1 + 0x20) < iVar4) { if (iVar4 < 0) { iVar4 = iVar3 + 2; } FUN_18047cb30(param_1 + 0x18,iVar3 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar4 = *(int *)(param_1 + 0x24); *(int *)(param_1 + 0x24) = iVar4 + 1; *(longlong *)(*(longlong *)(param_1 + 0x18) + (longlong)iVar4 * 8) = lVar6; lVar6 = *(longlong *)(lVar6 + 0x18); } while( true ); } ############ FUN_ 181351570 size=146 ############ void FUN_181351570(longlong *param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; longlong *local_res10 [3]; if (param_2 != 0) { if (*(int *)((longlong)param_1 + 0x14) == 0) { local_res10[0] = param_1; FUN_180527e00(*param_1 + 0x20,local_res10); } plVar3 = (longlong *)param_1[1]; iVar2 = *(int *)((longlong)param_1 + 0x14); plVar1 = plVar3 + iVar2; for (; plVar3 != plVar1; plVar3 = plVar3 + 1) { if (param_2 == *plVar3) { return; } } if ((int)param_1[2] < iVar2 + 1) { FUN_18047cb30(param_1 + 1,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0x14); *(int *)((longlong)param_1 + 0x14) = iVar2 + 1; *(longlong *)(param_1[1] + (longlong)iVar2 * 8) = param_2; } return; } ############ FUN_ 1812be710 size=180 ############ void FUN_1812be710(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; int iVar3; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x14)); iVar1 = *(int *)(param_1 + 0x4c); iVar3 = 0; lVar2 = 0; if (0 < iVar1) { do { if (param_2 == *(longlong *)(*(longlong *)(param_1 + 0x40) + lVar2 * 8)) { _Dst = (void *)(*(longlong *)(param_1 + 0x40) + (longlong)iVar3 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar3) + -1) << 3); *(int *)(param_1 + 0x4c) = *(int *)(param_1 + 0x4c) + -1; iVar1 = *(int *)(param_1 + 0x4c); iVar3 = 0; if (0 < iVar1 * 2) { iVar3 = iVar1 * 2; } if (iVar3 < *(int *)(param_1 + 0x48)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x48)) { FUN_18047cb30(param_1 + 0x40); } } break; } iVar3 = iVar3 + 1; lVar2 = lVar2 + 1; } while (lVar2 < iVar1); } /* WARNING: Could not recover jumptable at 0x0001812be7bd. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x14)); return; } ############ FUN_ 1804da2a0 size=1279 ############ longlong * FUN_1804da2a0(longlong *param_1,longlong param_2,undefined4 *param_3,undefined8 param_4) { undefined4 uVar1; int iVar2; uint uVar3; undefined8 uVar4; char cVar5; int iVar6; undefined8 *puVar7; void *_Src; undefined8 *puVar8; ulonglong uVar9; uint uVar10; ulonglong uVar12; longlong lVar13; undefined8 *puVar14; undefined8 local_res10; undefined4 *local_res18; ulonglong uVar11; *param_1 = param_2; param_1[1] = (longlong)param_3; uVar9 = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[9] = 0; param_1[10] = 0; *(undefined4 *)(param_1 + 0xb) = 0; local_res18 = param_3; FUN_18047e060(param_1 + 9,*(int *)((longlong)param_1 + 0x54) + 0x65,param_3,param_4, 0xfffffffffffffffe); if (*(int *)((longlong)param_1 + 0x54) == 0) { puVar7 = (undefined8 *)param_1[9]; } else { memmove((void *)(param_1[9] + 0x328),(void *)param_1[9], (longlong)*(int *)((longlong)param_1 + 0x54) << 3); puVar7 = (undefined8 *)param_1[9]; } *puVar7 = 0; puVar7[1] = 0; puVar7[2] = 0; puVar7[3] = 0; puVar7[4] = 0; puVar7[5] = 0; puVar7[6] = 0; puVar7[7] = 0; puVar7[8] = 0; puVar7[9] = 0; puVar7[10] = 0; puVar7[0xb] = 0; puVar7[0xc] = 0; puVar7[0xd] = 0; puVar7[0xe] = 0; puVar7[0xf] = 0; puVar7[0x10] = 0; puVar7[0x11] = 0; puVar7[0x12] = 0; puVar7[0x13] = 0; puVar7[0x14] = 0; puVar7[0x15] = 0; puVar7[0x16] = 0; puVar7[0x17] = 0; puVar7[0x18] = 0; puVar7[0x19] = 0; puVar7[0x1a] = 0; puVar7[0x1b] = 0; puVar7[0x1c] = 0; puVar7[0x1d] = 0; puVar7[0x1e] = 0; puVar7[0x1f] = 0; puVar7[0x20] = 0; puVar7[0x21] = 0; puVar7[0x22] = 0; puVar7[0x23] = 0; puVar7[0x24] = 0; puVar7[0x25] = 0; puVar7[0x26] = 0; puVar7[0x27] = 0; puVar7[0x28] = 0; puVar7[0x29] = 0; puVar7[0x2a] = 0; puVar7[0x2b] = 0; puVar7[0x2c] = 0; puVar7[0x2d] = 0; puVar7[0x2e] = 0; puVar7[0x2f] = 0; puVar7[0x30] = 0; puVar7[0x31] = 0; puVar7[0x32] = 0; puVar7[0x33] = 0; puVar7[0x34] = 0; puVar7[0x35] = 0; puVar7[0x36] = 0; puVar7[0x37] = 0; puVar7[0x38] = 0; puVar7[0x39] = 0; puVar7[0x3a] = 0; puVar7[0x3b] = 0; puVar7[0x3c] = 0; puVar7[0x3d] = 0; puVar7[0x3e] = 0; puVar7[0x3f] = 0; puVar7[0x40] = 0; puVar7[0x41] = 0; puVar7[0x42] = 0; puVar7[0x43] = 0; puVar7[0x44] = 0; puVar7[0x45] = 0; puVar7[0x46] = 0; puVar7[0x47] = 0; puVar7[0x48] = 0; puVar7[0x49] = 0; puVar7[0x4a] = 0; puVar7[0x4b] = 0; puVar7[0x4c] = 0; puVar7[0x4d] = 0; puVar7[0x4e] = 0; puVar7[0x4f] = 0; puVar7[0x50] = 0; puVar7[0x51] = 0; puVar7[0x52] = 0; puVar7[0x53] = 0; puVar7[0x54] = 0; puVar7[0x55] = 0; puVar7[0x56] = 0; puVar7[0x57] = 0; puVar7[0x58] = 0; puVar7[0x59] = 0; puVar7[0x5a] = 0; puVar7[0x5b] = 0; puVar7[0x5c] = 0; puVar7[0x5d] = 0; puVar7[0x5e] = 0; puVar7[0x5f] = 0; puVar7[0x60] = 0; puVar7[0x61] = 0; puVar7[0x62] = 0; puVar7[99] = 0; puVar7[100] = 0; *(int *)((longlong)param_1 + 0x54) = *(int *)((longlong)param_1 + 0x54) + 0x65; *(undefined4 *)(param_1 + 0xc) = 0; puVar14 = *(undefined8 **)(*param_1 + 400); puVar7 = puVar14 + *(int *)(*param_1 + 0x19c); do { if (puVar14 == puVar7) { local_res10 = 0x7ffffffe; FUN_1804dbb20(param_1 + 4,&local_res10); local_res10 = 0x7ffffffe; FUN_1804dbb20(param_1 + 6,&local_res10); uVar11 = uVar9; if (0 < *(int *)((longlong)param_1 + 0x1c)) { do { FUN_1804dbe40(param_1,*(undefined8 *)(uVar11 + param_1[2]),uVar9); FUN_1804dbbd0(param_1,param_1 + 4,uVar9); FUN_1804dbbd0(param_1,param_1 + 6,uVar9); uVar10 = (int)uVar9 + 1; uVar9 = (ulonglong)uVar10; uVar11 = uVar11 + 8; } while ((int)uVar10 < *(int *)((longlong)param_1 + 0x1c)); } if (*(int *)(*param_1 + 0x3c) != (int)param_1[0xc]) { *(int *)(*param_1 + 0x3c) = (int)param_1[0xc]; FUN_1812c0ce0(); } *local_res18 = *(undefined4 *)((longlong)param_1 + 0x2c); local_res18[1] = *(undefined4 *)((longlong)param_1 + 0x3c); return param_1; } uVar4 = *puVar14; uVar10 = 0; if (0 < *(int *)((longlong)param_1 + 0x1c)) { lVar13 = *param_1; uVar1 = *(undefined4 *)(lVar13 + 0x19c); uVar11 = uVar9; uVar12 = uVar9; do { uVar10 = (uint)uVar11; cVar5 = FUN_1812bcc20(lVar13,uVar4,*(undefined8 *)(uVar12 + param_1[2]),uVar1); if (cVar5 != '\0') break; uVar10 = uVar10 + 1; uVar11 = (ulonglong)uVar10; uVar12 = uVar12 + 8; } while ((int)uVar10 < *(int *)((longlong)param_1 + 0x1c)); } iVar2 = *(int *)((longlong)param_1 + 0x1c); iVar6 = iVar2 + 1; if ((int)param_1[3] < iVar6) { if (iVar6 < 0) { iVar6 = iVar2 + 2; } FUN_18047cb30(param_1 + 2,iVar2 + 9 + (iVar6 >> 1) & 0xfffffff8); } uVar3 = *(uint *)((longlong)param_1 + 0x1c); if (uVar10 < uVar3) { _Src = (void *)(param_1[2] + (longlong)(int)uVar10 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar3 - uVar10) << 3); puVar8 = (undefined8 *)(param_1[2] + (longlong)(int)uVar10 * 8); } else { puVar8 = (undefined8 *)(param_1[2] + (longlong)(int)uVar3 * 8); } *puVar8 = uVar4; *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + 1; puVar14 = puVar14 + 1; } while( true ); } ############ FUN_ 1804da7a0 size=1279 ############ longlong * FUN_1804da7a0(longlong *param_1,longlong param_2,undefined4 *param_3,undefined8 param_4) { undefined4 uVar1; int iVar2; uint uVar3; undefined8 uVar4; char cVar5; int iVar6; undefined8 *puVar7; void *_Src; undefined8 *puVar8; ulonglong uVar9; uint uVar10; ulonglong uVar12; longlong lVar13; undefined8 *puVar14; undefined8 local_res10; undefined4 *local_res18; ulonglong uVar11; *param_1 = param_2; param_1[1] = (longlong)param_3; uVar9 = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[9] = 0; param_1[10] = 0; *(undefined4 *)(param_1 + 0xb) = 0; local_res18 = param_3; FUN_18047e060(param_1 + 9,*(int *)((longlong)param_1 + 0x54) + 0x65,param_3,param_4, 0xfffffffffffffffe); if (*(int *)((longlong)param_1 + 0x54) == 0) { puVar7 = (undefined8 *)param_1[9]; } else { memmove((void *)(param_1[9] + 0x328),(void *)param_1[9], (longlong)*(int *)((longlong)param_1 + 0x54) << 3); puVar7 = (undefined8 *)param_1[9]; } *puVar7 = 0; puVar7[1] = 0; puVar7[2] = 0; puVar7[3] = 0; puVar7[4] = 0; puVar7[5] = 0; puVar7[6] = 0; puVar7[7] = 0; puVar7[8] = 0; puVar7[9] = 0; puVar7[10] = 0; puVar7[0xb] = 0; puVar7[0xc] = 0; puVar7[0xd] = 0; puVar7[0xe] = 0; puVar7[0xf] = 0; puVar7[0x10] = 0; puVar7[0x11] = 0; puVar7[0x12] = 0; puVar7[0x13] = 0; puVar7[0x14] = 0; puVar7[0x15] = 0; puVar7[0x16] = 0; puVar7[0x17] = 0; puVar7[0x18] = 0; puVar7[0x19] = 0; puVar7[0x1a] = 0; puVar7[0x1b] = 0; puVar7[0x1c] = 0; puVar7[0x1d] = 0; puVar7[0x1e] = 0; puVar7[0x1f] = 0; puVar7[0x20] = 0; puVar7[0x21] = 0; puVar7[0x22] = 0; puVar7[0x23] = 0; puVar7[0x24] = 0; puVar7[0x25] = 0; puVar7[0x26] = 0; puVar7[0x27] = 0; puVar7[0x28] = 0; puVar7[0x29] = 0; puVar7[0x2a] = 0; puVar7[0x2b] = 0; puVar7[0x2c] = 0; puVar7[0x2d] = 0; puVar7[0x2e] = 0; puVar7[0x2f] = 0; puVar7[0x30] = 0; puVar7[0x31] = 0; puVar7[0x32] = 0; puVar7[0x33] = 0; puVar7[0x34] = 0; puVar7[0x35] = 0; puVar7[0x36] = 0; puVar7[0x37] = 0; puVar7[0x38] = 0; puVar7[0x39] = 0; puVar7[0x3a] = 0; puVar7[0x3b] = 0; puVar7[0x3c] = 0; puVar7[0x3d] = 0; puVar7[0x3e] = 0; puVar7[0x3f] = 0; puVar7[0x40] = 0; puVar7[0x41] = 0; puVar7[0x42] = 0; puVar7[0x43] = 0; puVar7[0x44] = 0; puVar7[0x45] = 0; puVar7[0x46] = 0; puVar7[0x47] = 0; puVar7[0x48] = 0; puVar7[0x49] = 0; puVar7[0x4a] = 0; puVar7[0x4b] = 0; puVar7[0x4c] = 0; puVar7[0x4d] = 0; puVar7[0x4e] = 0; puVar7[0x4f] = 0; puVar7[0x50] = 0; puVar7[0x51] = 0; puVar7[0x52] = 0; puVar7[0x53] = 0; puVar7[0x54] = 0; puVar7[0x55] = 0; puVar7[0x56] = 0; puVar7[0x57] = 0; puVar7[0x58] = 0; puVar7[0x59] = 0; puVar7[0x5a] = 0; puVar7[0x5b] = 0; puVar7[0x5c] = 0; puVar7[0x5d] = 0; puVar7[0x5e] = 0; puVar7[0x5f] = 0; puVar7[0x60] = 0; puVar7[0x61] = 0; puVar7[0x62] = 0; puVar7[99] = 0; puVar7[100] = 0; *(int *)((longlong)param_1 + 0x54) = *(int *)((longlong)param_1 + 0x54) + 0x65; *(undefined4 *)(param_1 + 0xc) = 0; puVar14 = *(undefined8 **)(*param_1 + 400); puVar7 = puVar14 + *(int *)(*param_1 + 0x19c); do { if (puVar14 == puVar7) { local_res10 = 0x7ffffffe; FUN_1804dbb20(param_1 + 4,&local_res10); local_res10 = 0x7ffffffe; FUN_1804dbb20(param_1 + 6,&local_res10); uVar11 = uVar9; if (0 < *(int *)((longlong)param_1 + 0x1c)) { do { FUN_1804dc2b0(param_1,*(undefined8 *)(uVar11 + param_1[2]),uVar9); FUN_1804dbbd0(param_1,param_1 + 4,uVar9); FUN_1804dbbd0(param_1,param_1 + 6,uVar9); uVar10 = (int)uVar9 + 1; uVar9 = (ulonglong)uVar10; uVar11 = uVar11 + 8; } while ((int)uVar10 < *(int *)((longlong)param_1 + 0x1c)); } if (*(int *)(*param_1 + 0x3c) != (int)param_1[0xc]) { *(int *)(*param_1 + 0x3c) = (int)param_1[0xc]; FUN_1812c0ce0(); } *local_res18 = *(undefined4 *)((longlong)param_1 + 0x2c); local_res18[1] = *(undefined4 *)((longlong)param_1 + 0x3c); return param_1; } uVar4 = *puVar14; uVar10 = 0; if (0 < *(int *)((longlong)param_1 + 0x1c)) { lVar13 = *param_1; uVar1 = *(undefined4 *)(lVar13 + 0x19c); uVar11 = uVar9; uVar12 = uVar9; do { uVar10 = (uint)uVar11; cVar5 = FUN_1812bcc20(lVar13,uVar4,*(undefined8 *)(uVar12 + param_1[2]),uVar1); if (cVar5 != '\0') break; uVar10 = uVar10 + 1; uVar11 = (ulonglong)uVar10; uVar12 = uVar12 + 8; } while ((int)uVar10 < *(int *)((longlong)param_1 + 0x1c)); } iVar2 = *(int *)((longlong)param_1 + 0x1c); iVar6 = iVar2 + 1; if ((int)param_1[3] < iVar6) { if (iVar6 < 0) { iVar6 = iVar2 + 2; } FUN_18047cb30(param_1 + 2,iVar2 + 9 + (iVar6 >> 1) & 0xfffffff8); } uVar3 = *(uint *)((longlong)param_1 + 0x1c); if (uVar10 < uVar3) { _Src = (void *)(param_1[2] + (longlong)(int)uVar10 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar3 - uVar10) << 3); puVar8 = (undefined8 *)(param_1[2] + (longlong)(int)uVar10 * 8); } else { puVar8 = (undefined8 *)(param_1[2] + (longlong)(int)uVar3 * 8); } *puVar8 = uVar4; *(int *)((longlong)param_1 + 0x1c) = *(int *)((longlong)param_1 + 0x1c) + 1; puVar14 = puVar14 + 1; } while( true ); } ############ FUN_ 1804e7bd0 size=629 ############ void FUN_1804e7bd0(undefined8 *param_1) { int *piVar1; void *_Dst; int iVar2; longlong lVar3; code *pcVar4; undefined8 *puVar5; char cVar6; longlong lVar7; longlong *plVar8; undefined8 uVar9; uint uVar10; longlong *plVar11; *param_1 = juce::DragAndDropContainer::DragImageComponent::vftable; param_1[0x16] = juce::DragAndDropContainer::DragImageComponent::vftable; lVar3 = param_1[0x1e]; plVar8 = *(longlong **)(lVar3 + 8); plVar11 = plVar8; do { if (plVar11 == plVar8 + *(int *)(lVar3 + 0x14)) { uVar10 = 0xffffffff; LAB_1804e7c40: if (uVar10 < *(uint *)(lVar3 + 0x14)) { _Dst = (void *)(*(longlong *)(lVar3 + 8) + (longlong)(int)uVar10 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)(lVar3 + 0x14) - uVar10) + -1) << 3); *(int *)(lVar3 + 0x14) = *(int *)(lVar3 + 0x14) + -1; } if ((*(int *)(lVar3 + 0x14) * 2 < *(int *)(lVar3 + 0x10)) && (*(int *)(lVar3 + 0x14) < *(int *)(lVar3 + 0x10))) { FUN_18047cb30(lVar3 + 8); } lVar3 = param_1[0x1f]; if (lVar3 == 0) { lVar7 = 0; } else { lVar7 = *(longlong *)(lVar3 + 0x10); } if (lVar7 != 0) { if (lVar3 == 0) { uVar9 = 0; } else { uVar9 = *(undefined8 *)(lVar3 + 0x10); } FUN_181341510(uVar9,param_1); if (param_1[0x20] == 0) { uVar9 = 0; } else { uVar9 = *(undefined8 *)(param_1[0x20] + 0x10); } plVar8 = (longlong *) __RTDynamicCast(uVar9,0,&juce::Component::RTTI_Type_Descriptor, &juce::DragAndDropTarget::RTTI_Type_Descriptor,0); if ((plVar8 != (longlong *)0x0) && (cVar6 = (**(code **)(*plVar8 + 8))(plVar8,param_1 + 0x19), cVar6 != '\0')) { (**(code **)(*plVar8 + 0x20))(plVar8,param_1 + 0x19); } } pcVar4 = *(code **)(*(longlong *)param_1[0x1e] + 0x20); if (pcVar4 != .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { (*pcVar4)((longlong *)param_1[0x1e],param_1 + 0x19); } puVar5 = (undefined8 *)param_1[0x20]; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } puVar5 = (undefined8 *)param_1[0x1f]; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } puVar5 = (undefined8 *)param_1[0x1d]; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } puVar5 = (undefined8 *)param_1[0x1b]; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } (**(code **)(*(longlong *)param_1[0x19] + 0xb0))((longlong *)param_1[0x19],param_1 + 0x1a); param_1[0x16] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x16); FUN_18134caa0(param_1); return; } if (param_1 == (undefined8 *)*plVar11) { uVar10 = (uint)((longlong)plVar11 - (longlong)plVar8 >> 3); goto LAB_1804e7c40; } plVar11 = plVar11 + 1; } while( true ); } ############ FUN_ 18051ae50 size=110 ############ void FUN_18051ae50(longlong *param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; if (param_2 != 0) { plVar3 = (longlong *)*param_1; iVar2 = *(int *)((longlong)param_1 + 0xc); plVar1 = plVar3 + iVar2; for (; plVar3 != plVar1; plVar3 = plVar3 + 1) { if (param_2 == *plVar3) { return; } } if ((int)param_1[1] < iVar2 + 1) { FUN_18047cb30(param_1,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(longlong *)(*param_1 + (longlong)iVar2 * 8) = param_2; } return; } ############ FUN_ 1812a73a0 size=135 ############ undefined1 FUN_1812a73a0(longlong param_1,longlong param_2) { longlong *plVar1; undefined1 uVar2; int iVar3; longlong *plVar4; if (param_2 != 0) { plVar4 = *(longlong **)(param_1 + 0x20); iVar3 = *(int *)(param_1 + 0x2c); plVar1 = plVar4 + iVar3; for (; plVar4 != plVar1; plVar4 = plVar4 + 1) { if (param_2 == *plVar4) goto LAB_1812a740f; } if (*(int *)(param_1 + 0x28) < iVar3 + 1) { FUN_18047cb30(param_1 + 0x20,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(param_1 + 0x2c); *(int *)(param_1 + 0x2c) = iVar3 + 1; *(longlong *)(*(longlong *)(param_1 + 0x20) + (longlong)iVar3 * 8) = param_2; } LAB_1812a740f: LOCK(); uVar2 = *(undefined1 *)(param_1 + 0x30); *(undefined1 *)(param_1 + 0x30) = 1; UNLOCK(); return uVar2; } ############ FUN_ 18051b0d0 size=153 ############ undefined8 FUN_18051b0d0(longlong *param_1,uint param_2,undefined8 param_3) { uint uVar1; int iVar2; void *_Src; undefined8 *puVar3; iVar2 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar2) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar2 / 2 & 0xfffffff8); } uVar1 = *(uint *)((longlong)param_1 + 0xc); if (param_2 < uVar1) { _Src = (void *)(*param_1 + (longlong)(int)param_2 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar1 - param_2) << 3); puVar3 = (undefined8 *)(*param_1 + (longlong)(int)param_2 * 8); } else { puVar3 = (undefined8 *)(*param_1 + (longlong)(int)uVar1 * 8); } *puVar3 = param_3; *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + 1; return param_3; } ############ FUN_ 1812db150 size=763 ############ void FUN_1812db150(longlong param_1) { longlong *plVar1; int *piVar2; longlong *plVar3; void *_Dst; uint uVar4; longlong lVar5; longlong lVar6; longlong lVar7; undefined8 *puVar8; char cVar9; wint_t wVar10; int iVar11; undefined8 uVar12; int iVar13; uint *_Memory; longlong *plVar14; int iVar15; longlong lVar16; uint uVar17; longlong lVar18; undefined4 uVar19; int local_res10; longlong *local_res18; longlong local_res20; longlong local_60 [4]; local_60[1] = 0xfffffffffffffffe; local_res10 = 0; if (0 < *(int *)(param_1 + 0x2b4) + -1) { plVar3 = (longlong *)(param_1 + 0x2a8); local_res20 = 0; uVar17 = 1; do { lVar5 = *(longlong *)(local_res20 + *plVar3); lVar6 = *(longlong *)(local_res20 + 8 + *plVar3); cVar9 = FUN_181252880(lVar5,lVar6); if ((cVar9 != '\0') && (*(int *)(lVar5 + 8) == *(int *)(lVar6 + 8))) { if (*(int *)(lVar6 + 0x1c) != 0) { iVar15 = 0; lVar16 = 0; plVar1 = (longlong *)(lVar5 + 0x10); if (*(int *)(lVar5 + 0x1c) != 0) { lVar18 = (longlong)(*(int *)(lVar5 + 0x1c) + -1) * 0x10 + *plVar1; wVar10 = FUN_181230ef0(lVar18); iVar11 = iswspace(wVar10); if (iVar11 == 0) { lVar7 = *(longlong *)(lVar6 + 0x10); wVar10 = FUN_180493050(lVar7,0); iVar11 = iswspace(wVar10); if (iVar11 == 0) { FUN_181232d30(lVar18,lVar7); *(uint *)(lVar18 + 0xc) = (uint)(ushort)(*(short *)(lVar7 + 0xc) + *(short *)(lVar18 + 0xc)); uVar12 = FUN_180506630(lVar18,local_60,*(undefined4 *)(lVar5 + 0x20)); uVar19 = FUN_1812518d0(lVar5,uVar12); *(undefined4 *)(lVar18 + 8) = uVar19; _Memory = (uint *)(local_60[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar15 = 1; lVar16 = 1; } } } iVar11 = (*(int *)(lVar5 + 0x1c) - iVar15) + *(int *)(lVar6 + 0x1c); if (*(int *)(lVar5 + 0x18) < iVar11) { iVar13 = iVar11; if (iVar11 < 0) { iVar13 = iVar11 + 1; } FUN_18051d4f0(plVar1,iVar11 + 8 + (iVar13 >> 1) & 0xfffffff8); } if (iVar15 < *(int *)(lVar6 + 0x1c)) { lVar16 = lVar16 << 4; do { lVar18 = *(longlong *)(lVar6 + 0x10); iVar13 = *(int *)(lVar5 + 0x1c); iVar11 = iVar13 + 1; if (*(int *)(lVar5 + 0x18) < iVar11) { if (iVar11 < 0) { iVar11 = iVar13 + 2; } FUN_18051d4f0(plVar1,iVar13 + 9 + (iVar11 >> 1) & 0xfffffff8); } iVar11 = *(int *)(lVar5 + 0x1c); *(int *)(lVar5 + 0x1c) = iVar11 + 1; plVar14 = (longlong *)((longlong)iVar11 * 0x10 + *plVar1); lVar7 = *(longlong *)(lVar16 + lVar18); *plVar14 = lVar7; if ((*(uint *)(lVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar7 + -0x10) = *(int *)(lVar7 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(plVar14 + 1) = *(undefined4 *)(lVar16 + 8 + lVar18); *(undefined4 *)((longlong)plVar14 + 0xc) = *(undefined4 *)(lVar16 + 0xc + lVar18); iVar15 = iVar15 + 1; lVar16 = lVar16 + 0x10; } while (iVar15 < *(int *)(lVar6 + 0x1c)); } } local_res18 = (longlong *)0x0; if (uVar17 < *(uint *)(param_1 + 0x2b4)) { local_res18 = *(longlong **)(local_res20 + 8 + *plVar3); _Dst = (void *)(*plVar3 + (longlong)(int)uVar17 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)(param_1 + 0x2b4) - uVar17) + -1) << 3); *(int *)(param_1 + 0x2b4) = *(int *)(param_1 + 0x2b4) + -1; } if ((*(int *)(param_1 + 0x2b4) * 2 < *(int *)(param_1 + 0x2b0)) && (*(int *)(param_1 + 0x2b4) < *(int *)(param_1 + 0x2b0))) { FUN_18047cb30(plVar3); } if (local_res18 != (longlong *)0x0) { FUN_18051a4c0(local_res18 + 2); puVar8 = (undefined8 *)*local_res18; if (puVar8 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(puVar8 + 1); iVar15 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)*puVar8)(puVar8,1); } } /* WARNING: Subroutine does not return */ free(local_res18); } local_res10 = local_res10 + -1; uVar17 = uVar17 - 1; local_res20 = local_res20 + -8; } local_res10 = local_res10 + 1; uVar17 = uVar17 + 1; local_res20 = local_res20 + 8; } while (local_res10 < *(int *)(param_1 + 0x2b4) + -1); } return; } ############ FUN_ 1812e9b30 size=582 ############ void FUN_1812e9b30(longlong *param_1,longlong param_2) { int *piVar1; void *_Dst; undefined8 *puVar2; int iVar3; longlong lVar4; longlong *plVar5; longlong *plVar6; undefined8 *puVar7; int iVar8; longlong *plVar9; longlong *plVar10; longlong *plVar11; undefined8 *local_res8; lVar4 = param_1[0x3c]; plVar11 = (longlong *)0x0; if ((lVar4 != 0) && (*(longlong *)(lVar4 + 0x10) != 0)) { plVar6 = plVar11; if (param_1 != (longlong *)0x0) { plVar6 = param_1 + 0x19; } plVar10 = plVar11; if (lVar4 != 0) { plVar10 = *(longlong **)(lVar4 + 0x10); } iVar3 = *(int *)((longlong)plVar10 + 0x8c); lVar4 = plVar10[0x10]; plVar5 = plVar11; plVar9 = plVar11; if (0 < iVar3) { do { iVar8 = (int)plVar9; if (plVar6 == *(longlong **)(lVar4 + (longlong)plVar5 * 8)) { _Dst = (void *)(lVar4 + (longlong)iVar8 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar3 - iVar8) + -1) << 3); *(int *)((longlong)plVar10 + 0x8c) = *(int *)((longlong)plVar10 + 0x8c) + -1; iVar3 = *(int *)((longlong)plVar10 + 0x8c); iVar8 = 0; if (0 < iVar3 * 2) { iVar8 = iVar3 * 2; } if (iVar8 < (int)plVar10[0x11]) { if (iVar3 < 8) { iVar3 = 8; } if (iVar3 < (int)plVar10[0x11]) { FUN_18047cb30(plVar10 + 0x10); } } break; } plVar9 = (longlong *)(ulonglong)(iVar8 + 1); plVar5 = (longlong *)((longlong)plVar5 + 1); } while ((longlong)plVar5 < (longlong)iVar3); } } plVar6 = (longlong *)FUN_1804de690(&local_res8,param_2); lVar4 = param_1[0x3c]; param_1[0x3c] = *plVar6; *plVar6 = lVar4; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res8)(local_res8,1); } } *(undefined1 *)((longlong)param_1 + 0x203) = 1; if ((param_1[0x3c] != 0) && (*(longlong *)(param_1[0x3c] + 0x10) != 0)) { (**(code **)(*param_1 + 0x58))(param_1,*(byte *)(param_2 + 0xa8) >> 1 & 1); plVar6 = param_1 + 0x19; plVar10 = plVar11; if (param_1[0x3c] != 0) { plVar10 = *(longlong **)(param_1[0x3c] + 0x10); } if (plVar6 != (longlong *)0x0) { plVar5 = plVar10 + 0x10; puVar7 = (undefined8 *)*plVar5; iVar3 = *(int *)((longlong)plVar10 + 0x8c); puVar2 = puVar7 + iVar3; for (; puVar7 != puVar2; puVar7 = puVar7 + 1) { if (plVar6 == (longlong *)*puVar7) goto LAB_1812e9cf1; } if ((int)plVar10[0x11] < iVar3 + 1) { FUN_18047cb30(plVar5,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)((longlong)plVar10 + 0x8c); *(int *)((longlong)plVar10 + 0x8c) = iVar3 + 1; *(longlong **)(*plVar5 + (longlong)iVar3 * 8) = plVar6; } LAB_1812e9cf1: plVar10 = plVar11; if (param_1[0x3c] != 0) { plVar10 = *(longlong **)(param_1[0x3c] + 0x10); } if (*(code **)(*plVar6 + 0x28) == FUN_1812e9900) { if ((plVar10[3] != 0) && (param_1 != (longlong *)0x0)) { FUN_181343cc0(plVar10[3],param_1,0xffffffff); } } else { (**(code **)(*plVar6 + 0x28))(plVar6); } if (param_1[0x3c] != 0) { plVar11 = *(longlong **)(param_1[0x3c] + 0x10); } (**(code **)(*plVar6 + 8))(plVar6,plVar11,1); } return; } ############ FUN_ 1812efb00 size=762 ############ undefined8 FUN_1812efb00(char *param_1) { void *pvVar1; undefined8 uVar2; int iVar3; longlong *plVar4; longlong lVar5; int iVar6; if (*(int *)(param_1 + 0x14) != 0) { if (*(int *)(param_1 + 0x24) < 1) { plVar4 = (longlong *)0x0; } else { plVar4 = *(longlong **) (*(longlong *)(param_1 + 0x18) + (longlong)(*(int *)(param_1 + 0x24) + -1) * 8); } lVar5 = plVar4[1] - *plVar4 >> 0x3f; if ((plVar4[1] - *plVar4) / 0x88 + lVar5 != lVar5) { if (*(int *)(param_1 + 0x14) < 1) { iVar3 = 0; } else { iVar3 = *(int *)(*(longlong *)(param_1 + 8) + (longlong)(*(int *)(param_1 + 0x14) + -1) * 4) ; } if (*(int *)(param_1 + 0x24) < 1) { plVar4 = (longlong *)0x0; } else { plVar4 = *(longlong **) (*(longlong *)(param_1 + 0x18) + (longlong)(*(int *)(param_1 + 0x24) + -1) * 8); } lVar5 = *plVar4 + (longlong)iVar3 * 0x88; *(longlong *)(param_1 + 0x28) = lVar5; if ((*param_1 == '\0') || (*(longlong *)(lVar5 + 0x50) == 0)) { if (*(int *)(param_1 + 0x14) < 1) { iVar3 = 0; } else { iVar3 = *(int *)(*(longlong *)(param_1 + 8) + (longlong)(*(int *)(param_1 + 0x14) + -1) * 4); } *(int *)(*(longlong *)(param_1 + 8) + (longlong)(*(int *)(param_1 + 0x14) + -1) * 4) = iVar3 + 1; } else { if (*(int *)(param_1 + 0x10) < *(int *)(param_1 + 0x14) + 1) { FUN_1804af790(param_1 + 8); } iVar3 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar3 + 1; *(undefined4 *)(*(longlong *)(param_1 + 8) + (longlong)iVar3 * 4) = 0; uVar2 = *(undefined8 *)(*(longlong *)(param_1 + 0x28) + 0x50); if (*(int *)(param_1 + 0x20) < *(int *)(param_1 + 0x24) + 1) { FUN_18047cb30(param_1 + 0x18); } iVar3 = *(int *)(param_1 + 0x24); *(int *)(param_1 + 0x24) = iVar3 + 1; *(undefined8 *)(*(longlong *)(param_1 + 0x18) + (longlong)iVar3 * 8) = uVar2; } if (0 < *(int *)(param_1 + 0x14)) { do { if (*(int *)(param_1 + 0x14) < 1) { iVar3 = 0; } else { iVar3 = *(int *)(*(longlong *)(param_1 + 8) + (longlong)(*(int *)(param_1 + 0x14) + -1) * 4); } if (*(int *)(param_1 + 0x24) < 1) { plVar4 = (longlong *)0x0; } else { plVar4 = *(longlong **) (*(longlong *)(param_1 + 0x18) + (longlong)(*(int *)(param_1 + 0x24) + -1) * 8 ); } if (iVar3 < (int)((plVar4[1] - *plVar4) / 0x88)) { return 1; } iVar3 = *(int *)(param_1 + 0x14); iVar6 = 1; if (iVar3 < 1) { iVar6 = iVar3; } if (0 < iVar6) { pvVar1 = (void *)(*(longlong *)(param_1 + 8) + (longlong)(iVar3 - iVar6) * 4); memmove(pvVar1,(void *)((longlong)pvVar1 + (longlong)iVar6 * 4), (longlong)((iVar3 - (iVar3 - iVar6)) - iVar6) << 2); *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) - iVar6; } iVar3 = *(int *)(param_1 + 0x14); iVar6 = 0; if (0 < iVar3 * 2) { iVar6 = iVar3 * 2; } if (iVar6 < *(int *)(param_1 + 0x10)) { if (iVar3 < 0x10) { iVar3 = 0x10; } if (iVar3 < *(int *)(param_1 + 0x10)) { FUN_1804af790(param_1 + 8); } } iVar3 = *(int *)(param_1 + 0x24); iVar6 = 1; if (iVar3 < 1) { iVar6 = iVar3; } if (0 < iVar6) { pvVar1 = (void *)(*(longlong *)(param_1 + 0x18) + (longlong)(iVar3 - iVar6) * 8); memmove(pvVar1,(void *)((longlong)pvVar1 + (longlong)iVar6 * 8), (longlong)((iVar3 - (iVar3 - iVar6)) - iVar6) << 3); *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) - iVar6; } iVar3 = *(int *)(param_1 + 0x24); iVar6 = 0; if (0 < iVar3 * 2) { iVar6 = iVar3 * 2; } if (iVar6 < *(int *)(param_1 + 0x20)) { if (iVar3 < 8) { iVar3 = 8; } if (iVar3 < *(int *)(param_1 + 0x20)) { FUN_18047cb30(param_1 + 0x18); } } iVar3 = *(int *)(param_1 + 0x14); if (iVar3 < 1) { return 1; } if (iVar3 < 1) { iVar6 = 0; } else { iVar6 = *(int *)(*(longlong *)(param_1 + 8) + (longlong)(iVar3 + -1) * 4); } *(int *)(*(longlong *)(param_1 + 8) + (longlong)(iVar3 + -1) * 4) = iVar6 + 1; } while (0 < *(int *)(param_1 + 0x14)); } return 1; } } return 0; } ############ FUN_ 1812efe40 size=192 ############ undefined1 * FUN_1812efe40(undefined1 *param_1,undefined8 param_2,undefined1 param_3) { int iVar1; *param_1 = param_3; *(undefined8 *)(param_1 + 8) = 0; *(undefined8 *)(param_1 + 0x10) = 0; *(undefined8 *)(param_1 + 0x18) = 0; *(undefined8 *)(param_1 + 0x20) = 0; *(undefined8 *)(param_1 + 0x28) = 0; iVar1 = *(int *)(param_1 + 0x14) + 1; if (*(int *)(param_1 + 0x10) < iVar1) { FUN_1804af790(param_1 + 8,*(int *)(param_1 + 0x14) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar1 + 1; *(undefined4 *)(*(longlong *)(param_1 + 8) + (longlong)iVar1 * 4) = 0; iVar1 = *(int *)(param_1 + 0x24) + 1; if (*(int *)(param_1 + 0x20) < iVar1) { FUN_18047cb30(param_1 + 0x18,*(int *)(param_1 + 0x24) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)(param_1 + 0x24); *(int *)(param_1 + 0x24) = iVar1 + 1; *(undefined8 *)(*(longlong *)(param_1 + 0x18) + (longlong)iVar1 * 8) = param_2; return param_1; } ############ FUN_ 181229aa0 size=243 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181229aa0(longlong param_1,longlong param_2) { LPCRITICAL_SECTION lpCriticalSection; longlong *plVar1; longlong *plVar2; int iVar3; longlong *plVar4; undefined1 auStack_68 [32]; undefined8 local_48; LPCRITICAL_SECTION local_40; longlong local_38; ushort local_30; ulonglong local_28; if (param_2 == 0) { return; } local_48 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_68; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x22c); local_40 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); _ftime64_s(&local_38); *(ulonglong *)(param_2 + 8) = local_38 * 1000 + (ulonglong)local_30; plVar1 = (longlong *)(param_1 + 600); plVar4 = (longlong *)*plVar1; iVar3 = *(int *)(param_1 + 0x264); plVar2 = plVar4 + iVar3; for (; plVar4 != plVar2; plVar4 = plVar4 + 1) { if (param_2 == *plVar4) goto LAB_181229b6f; } if (*(int *)(param_1 + 0x260) < iVar3 + 1) { FUN_18047cb30(plVar1,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(param_1 + 0x264); *(int *)(param_1 + 0x264) = iVar3 + 1; *(longlong *)(*plVar1 + (longlong)iVar3 * 8) = param_2; LAB_181229b6f: FUN_181215c10(param_1 + 0xf8); LeaveCriticalSection(lpCriticalSection); } ############ FUN_ 1812d7130 size=201 ############ void FUN_1812d7130(longlong param_1) { longlong *plVar1; void *_Dst; undefined8 *puVar2; uint uVar3; longlong lVar4; uVar3 = *(int *)(param_1 + 0x24) - 1; if (-1 < (int)uVar3) { plVar1 = (longlong *)(param_1 + 0x18); lVar4 = (longlong)(int)uVar3 * 8; do { if ((uVar3 < *(uint *)(param_1 + 0x24)) && (*(longlong *)(lVar4 + *plVar1) != 0)) { *(undefined8 *)(*(longlong *)(lVar4 + *plVar1) + 0x10) = 0; puVar2 = (undefined8 *)0x0; if (uVar3 < *(uint *)(param_1 + 0x24)) { puVar2 = *(undefined8 **)(lVar4 + *plVar1); _Dst = (void *)(*plVar1 + (longlong)(int)uVar3 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)(param_1 + 0x24) - uVar3) + -1) << 3); *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) + -1; } if ((*(int *)(param_1 + 0x24) * 2 < *(int *)(param_1 + 0x20)) && (*(int *)(param_1 + 0x24) < *(int *)(param_1 + 0x20))) { FUN_18047cb30(plVar1); } if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } lVar4 = lVar4 + -8; uVar3 = uVar3 - 1; } while (-1 < (int)uVar3); } return; } ############ FUN_ 18051af10 size=132 ############ /* WARNING: Removing unreachable block (ram,0x00018051af56) */ undefined8 FUN_18051af10(longlong *param_1,undefined8 param_2,undefined8 param_3) { int iVar1; iVar1 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar1) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar1 / 2 & 0xfffffff8); } *(undefined8 *)(*param_1 + (longlong)*(int *)((longlong)param_1 + 0xc) * 8) = param_3; *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + 1; return param_3; } ############ FUN_ 181351090 size=172 ############ void FUN_181351090(longlong *param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; int iVar3; iVar1 = *(int *)((longlong)param_1 + 0x14); iVar3 = 0; lVar2 = 0; if (0 < iVar1) { do { if (param_2 == *(longlong *)(param_1[1] + lVar2 * 8)) { _Dst = (void *)(param_1[1] + (longlong)iVar3 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar3) + -1) << 3); *(int *)((longlong)param_1 + 0x14) = *(int *)((longlong)param_1 + 0x14) + -1; iVar1 = *(int *)((longlong)param_1 + 0x14); iVar3 = 0; if (0 < iVar1 * 2) { iVar3 = iVar1 * 2; } if (iVar3 < (int)param_1[2]) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < (int)param_1[2]) { FUN_18047cb30(param_1 + 1); } } break; } iVar3 = iVar3 + 1; lVar2 = lVar2 + 1; } while (lVar2 < iVar1); } if ((*(int *)((longlong)param_1 + 0x14) == 0) && (*param_1 != 0)) { FUN_180527d40(*param_1 + 0x38,param_1); } return; } ############ FUN_ 18131ff80 size=491 ############ void FUN_18131ff80(longlong *param_1) { longlong *plVar1; longlong *_Memory; longlong lVar2; int iVar3; longlong *plVar4; ulonglong uVar5; ulonglong uVar6; ulonglong uVar7; undefined8 *puVar8; ulonglong uVar9; longlong *local_30; undefined8 local_28; plVar1 = param_1 + 0x18; uVar7 = 0; local_30 = (longlong *)0x0; local_28 = 0; FUN_18051fcc0(&local_30,*plVar1,*(undefined4 *)((longlong)param_1 + 0xcc)); if ((int)param_1[0x17] == 0) { *(undefined4 *)((longlong)param_1 + 0xcc) = 0; if ((int)param_1[0x19] != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar1); } *(undefined4 *)(param_1 + 0x19) = 0; puVar8 = (undefined8 *)param_1[8]; uVar9 = (ulonglong) ((longlong)(puVar8 + *(int *)((longlong)param_1 + 0x4c)) + (7 - (longlong)puVar8)) >> 3; if (puVar8 + *(int *)((longlong)param_1 + 0x4c) < puVar8) { uVar9 = uVar7; } uVar6 = uVar7; if (uVar9 != 0) { do { lVar2 = __RTDynamicCast(*puVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::MultiDocumentPanelWindow::RTTI_Type_Descriptor,0); if (lVar2 != 0) { uVar5 = uVar7; if (*(longlong *)(lVar2 + 0xd0) != 0) { uVar5 = *(ulonglong *)(*(longlong *)(lVar2 + 0xd0) + 0x10); } if ((int)param_1[0x19] < *(int *)((longlong)param_1 + 0xcc) + 1) { FUN_18047cb30(plVar1); } iVar3 = *(int *)((longlong)param_1 + 0xcc); *(int *)((longlong)param_1 + 0xcc) = iVar3 + 1; *(ulonglong *)(*plVar1 + (longlong)iVar3 * 8) = uVar5; } puVar8 = puVar8 + 1; uVar6 = uVar6 + 1; } while (uVar6 != uVar9); } } else if (param_1[0x1a] != 0) { lVar2 = *(longlong *)(param_1[0x1a] + 200); if (lVar2 != 0) { uVar7 = *(ulonglong *)(lVar2 + 0x10); } if (uVar7 != 0) { FUN_180488600(plVar1,uVar7); iVar3 = *(int *)((longlong)param_1 + 0xcc) + 1; if ((int)param_1[0x19] < iVar3) { FUN_18047cb30(plVar1,*(int *)((longlong)param_1 + 0xcc) + 9 + iVar3 / 2 & 0xfffffff8); } iVar3 = *(int *)((longlong)param_1 + 0xcc); *(int *)((longlong)param_1 + 0xcc) = iVar3 + 1; *(ulonglong *)(*plVar1 + (longlong)iVar3 * 8) = uVar7; } } _Memory = local_30; if (*(int *)((longlong)param_1 + 0xcc) == local_28._4_4_) { plVar1 = (longlong *)*plVar1; for (plVar4 = local_30; plVar4 != local_30 + local_28._4_4_; plVar4 = plVar4 + 1) { lVar2 = *plVar1; plVar1 = plVar1 + 1; if (lVar2 != *plVar4) goto LAB_181320138; } } else { LAB_181320138: (**(code **)(*param_1 + 0x158))(param_1); } /* WARNING: Could not recover jumptable at 0x000181320167. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } ############ FUN_ 18051fcc0 size=102 ############ void FUN_18051fcc0(longlong *param_1,void *param_2,int param_3) { int iVar1; iVar1 = *(int *)((longlong)param_1 + 0xc) + param_3; if ((int)param_1[1] < iVar1) { FUN_18047cb30(param_1,iVar1 + 8 + iVar1 / 2 & 0xfffffff8); } memcpy((void *)(*param_1 + (longlong)*(int *)((longlong)param_1 + 0xc) * 8),param_2, (longlong)param_3 << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + param_3; return; } ############ FUN_ 18051b6b0 size=157 ############ void FUN_18051b6b0(longlong *param_1,longlong param_2) { uint uVar1; longlong *plVar2; longlong *plVar3; ulonglong uVar4; ulonglong uVar5; uint uVar6; ulonglong uVar7; uVar1 = *(uint *)((longlong)param_1 + 0xc); uVar4 = 0; if (0 < (int)uVar1) { plVar2 = (longlong *)*param_1; plVar3 = plVar2; uVar5 = uVar4; uVar7 = uVar4; while (uVar6 = (uint)uVar7, param_2 != *plVar3) { uVar7 = (ulonglong)(uVar6 + 1); uVar5 = uVar5 + 1; plVar3 = plVar3 + 1; if ((longlong)(int)uVar1 <= (longlong)uVar5) { return; } } if (uVar6 < uVar1) { uVar4 = plVar2[(int)uVar6]; memmove(plVar2 + (int)uVar6,plVar2 + (int)uVar6 + 1,(longlong)(int)((uVar1 - uVar6) + -1) << 3 ); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; } if ((*(int *)((longlong)param_1 + 0xc) * 2 < (int)param_1[1]) && (*(int *)((longlong)param_1 + 0xc) < (int)param_1[1])) { FUN_18047cb30(param_1); } if (uVar4 != 0) { FUN_18051d990(uVar4); } } return; } ############ FUN_ 181320b80 size=1329 ############ undefined1 FUN_181320b80(longlong *param_1,longlong *param_2,char param_3) { LPCRITICAL_SECTION p_Var1; longlong *plVar2; int iVar3; char cVar4; undefined8 *puVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; longlong *plVar9; uint *puVar10; int iVar11; longlong *plVar12; longlong *plVar13; uint uVar14; longlong local_res8; longlong local_res20; char *local_78; char *local_70; undefined8 local_68; LPCRITICAL_SECTION local_60; LPCRITICAL_SECTION local_58; undefined8 *local_50; undefined8 *local_48; local_68 = 0xfffffffffffffffe; plVar2 = param_1 + 0x18; plVar9 = (longlong *)*plVar2; plVar13 = plVar9 + *(int *)((longlong)param_1 + 0xcc); while( true ) { if (plVar9 == plVar13) { return 1; } if (param_2 == (longlong *)*plVar9) break; plVar9 = plVar9 + 1; } if ((param_3 != '\0') && (cVar4 = (**(code **)(*param_1 + 0x160))(param_1,param_2), cVar4 == '\0') ) { return 0; } plVar13 = (longlong *)0x0; plVar9 = param_1 + 0x16; if (param_1 == (longlong *)0x0) { plVar9 = plVar13; } puVar8 = (undefined8 *)param_2[0x10]; iVar3 = *(int *)((longlong)param_2 + 0x8c); puVar5 = puVar8; plVar12 = plVar13; if (0 < iVar3) { do { iVar11 = (int)plVar12; if (plVar9 == (longlong *)*puVar5) { puVar8 = puVar8 + iVar11; memmove(puVar8,puVar8 + 1,(longlong)((iVar3 - iVar11) + -1) << 3); *(int *)((longlong)param_2 + 0x8c) = *(int *)((longlong)param_2 + 0x8c) + -1; iVar3 = *(int *)((longlong)param_2 + 0x8c); plVar9 = plVar13; if (0 < iVar3 * 2) { plVar9 = (longlong *)(ulonglong)(uint)(iVar3 * 2); } if ((int)plVar9 < (int)param_2[0x11]) { if (iVar3 < 8) { iVar3 = 8; } if (iVar3 < (int)param_2[0x11]) { FUN_18047cb30(param_2 + 0x10); } } break; } puVar5 = puVar5 + 1; plVar12 = (longlong *)(ulonglong)(iVar11 + 1U); } while ((int)(iVar11 + 1U) < iVar3); } cVar4 = FUN_181321a10(param_2); lVar6 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar6 + 0x10); local_60 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar6); local_78 = "mdiDocumentDelete_"; FUN_181211b90(&local_res8,lVar6,&local_78); LeaveCriticalSection(p_Var1); FUN_181243b40(param_2 + 0x12,&local_res8); puVar10 = (uint *)(local_res8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar14 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar14 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } lVar6 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar6 + 0x10); local_58 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar6); local_70 = "mdiDocumentBkg_"; FUN_181211b90(&local_res20,lVar6,&local_70); LeaveCriticalSection(p_Var1); FUN_181243b40(param_2 + 0x12,&local_res20); puVar10 = (uint *)(local_res20 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar14 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar14 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if ((int)param_1[0x17] == 0) { puVar5 = (undefined8 *)param_1[8]; puVar8 = puVar5 + *(int *)((longlong)param_1 + 0x4c); for (; puVar5 != puVar8; puVar5 = puVar5 + 1) { puVar7 = (undefined8 *) __RTDynamicCast(*puVar5,0,&juce::Component::RTTI_Type_Descriptor, &juce::MultiDocumentPanelWindow::RTTI_Type_Descriptor,0); if (puVar7 != (undefined8 *)0x0) { plVar9 = plVar13; if (puVar7[0x1a] != 0) { plVar9 = *(longlong **)(puVar7[0x1a] + 0x10); } if (plVar9 == param_2) { local_50 = puVar7; FUN_1812cf790(puVar7); (**(code **)*puVar7)(puVar7,1); break; } } } if ((cVar4 != '\0') && (param_2 != (longlong *)0x0)) { (**(code **)*param_2)(param_2,1); } FUN_180488600(plVar2,param_2); if (((int)param_1[0x1c] != 0) && (*(int *)((longlong)param_1 + 0xcc) == 1)) { uVar14 = *(int *)((longlong)param_1 + 0x4c) - 1; lVar6 = (longlong)(int)uVar14; if (-1 < (int)uVar14) { do { plVar9 = plVar13; if (uVar14 < *(uint *)((longlong)param_1 + 0x4c)) { plVar9 = *(longlong **)(param_1[8] + lVar6 * 8); } puVar8 = (undefined8 *) __RTDynamicCast(plVar9,0,&juce::Component::RTTI_Type_Descriptor, &juce::MultiDocumentPanelWindow::RTTI_Type_Descriptor,0); local_48 = puVar8; if (puVar8 != (undefined8 *)0x0) { FUN_1812cf790(puVar8); (**(code **)*puVar8)(puVar8); } uVar14 = uVar14 - 1; lVar6 = lVar6 + -1; } while (-1 < lVar6); } if ((0 < *(int *)((longlong)param_1 + 0xcc)) && (plVar9 = *(longlong **)*plVar2, plVar9 != (longlong *)0x0)) { (**(code **)(*plVar9 + 0x58))(plVar9,1); FUN_181343cc0(param_1,plVar9,0xffffffff); } } } else { if (param_1[0x1a] == 0) { FUN_181343c70(param_1,param_2); } else { iVar3 = *(int *)(*(longlong *)(param_1[0x1a] + 0xb0) + 0xf4); while (iVar3 = iVar3 + -1, -1 < iVar3) { plVar9 = (longlong *)FUN_181318140(param_1[0x1a],iVar3); if (plVar9 == param_2) { FUN_181318270(param_1[0x1a],iVar3); } } } if ((cVar4 != '\0') && (param_2 != (longlong *)0x0)) { (**(code **)*param_2)(param_2,1); } if ((param_1[0x1a] != 0) && (*(int *)(*(longlong *)(param_1[0x1a] + 0xb0) + 0xf4) <= (int)param_1[0x1c])) { puVar8 = (undefined8 *)param_1[0x1a]; param_1[0x1a] = 0; if (puVar8 != (undefined8 *)0x0) { (**(code **)*puVar8)(puVar8,1); } } FUN_180488600(plVar2,param_2); if ((0 < *(int *)((longlong)param_1 + 0xcc)) && (param_1[0x1a] == 0)) { plVar9 = plVar13; if (0 < *(int *)((longlong)param_1 + 0xcc)) { plVar9 = *(longlong **)*plVar2; } FUN_18134bf20(param_1,plVar9,0xffffffff); } } (**(code **)(*param_1 + 0x108))(param_1); if ((int)param_1[0x17] == 0) { puVar5 = (undefined8 *)param_1[8]; puVar8 = puVar5 + *(int *)((longlong)param_1 + 0x4c); for (; puVar5 != puVar8; puVar5 = puVar5 + 1) { lVar6 = __RTDynamicCast(*puVar5,0,&juce::Component::RTTI_Type_Descriptor, &juce::MultiDocumentPanelWindow::RTTI_Type_Descriptor,0); if ((lVar6 != 0) && (*(char *)(lVar6 + 0xb2) != '\0')) { if (*(longlong *)(lVar6 + 0xd0) != 0) { plVar13 = *(longlong **)(*(longlong *)(lVar6 + 0xd0) + 0x10); } goto LAB_18132107b; } } } if (0 < *(int *)((longlong)param_1 + 0xcc)) { plVar13 = *(longlong **)(*plVar2 + (longlong)(*(int *)((longlong)param_1 + 0xcc) + -1) * 8); } LAB_18132107b: if (plVar13 != (longlong *)0x0) { FUN_181320970(param_1,plVar13); } (**(code **)(*param_1 + 0x158))(param_1); return 1; } ############ FUN_ 181318270 size=406 ############ void FUN_181318270(longlong param_1,uint param_2) { int *piVar1; longlong lVar2; int iVar3; undefined8 *puVar4; int iVar5; uint uVar6; longlong lVar7; longlong *plVar8; longlong *plVar9; longlong lVar10; longlong *plVar11; ulonglong uVar12; if (param_2 < *(uint *)(param_1 + 0xc4)) { lVar10 = 0; plVar8 = (longlong *)(param_1 + 0xb8); lVar2 = (longlong)(int)param_2 * 8; lVar7 = lVar10; if (*(longlong *)(lVar2 + *plVar8) != 0) { lVar7 = *(longlong *)(*(longlong *)(lVar2 + *plVar8) + 0x10); } FUN_181318bc0(lVar7); if (param_2 < *(uint *)(param_1 + 0xc4)) { plVar9 = (longlong *)(*plVar8 + lVar2); uVar6 = (*(uint *)(param_1 + 0xc4) - param_2) - 1; if (0 < (int)uVar6) { uVar12 = (ulonglong)uVar6; plVar11 = plVar9; do { plVar11 = plVar11 + 1; lVar7 = *plVar9; *plVar9 = *plVar11; plVar9 = plVar9 + 1; *plVar11 = lVar7; uVar12 = uVar12 - 1; } while (uVar12 != 0); } puVar4 = (undefined8 *)*plVar9; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } *(int *)(param_1 + 0xc4) = *(int *)(param_1 + 0xc4) + -1; iVar3 = *(int *)(param_1 + 0xc4); iVar5 = 0; if (0 < iVar3 * 2) { iVar5 = iVar3 * 2; } if (iVar5 < *(int *)(param_1 + 0xc0)) { if (iVar3 < 8) { iVar3 = 8; } if (iVar3 < *(int *)(param_1 + 0xc0)) { FUN_18051cb30(plVar8); } } } lVar7 = *(longlong *)(param_1 + 0xb0); if (param_2 < *(uint *)(lVar7 + 0xf4)) { uVar6 = *(uint *)(lVar7 + 0x108); if (param_2 == uVar6) { uVar6 = 0xffffffff; } else if ((int)param_2 < (int)uVar6) { uVar6 = uVar6 - 1; } if (param_2 < *(uint *)(lVar7 + 0xf4)) { plVar8 = (longlong *)(*(longlong *)(lVar7 + 0xe8) + lVar2); lVar10 = *plVar8; memmove(plVar8,plVar8 + 1,(longlong)(int)((*(uint *)(lVar7 + 0xf4) - param_2) + -1) << 3); *(int *)(lVar7 + 0xf4) = *(int *)(lVar7 + 0xf4) + -1; } if ((*(int *)(lVar7 + 0xf4) * 2 < *(int *)(lVar7 + 0xf0)) && (*(int *)(lVar7 + 0xf4) < *(int *)(lVar7 + 0xf0))) { FUN_18047cb30((longlong *)(lVar7 + 0xe8)); } if (lVar10 != 0) { FUN_18051da50(lVar10); } FUN_181319980(lVar7,uVar6); FUN_181319110(lVar7); } } return; } ############ FUN_ 18134b370 size=134 ############ void FUN_18134b370(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; if (param_2 != 0) { plVar3 = *(longlong **)(param_1 + 0x38); iVar2 = *(int *)(param_1 + 0x44); plVar1 = plVar3 + iVar2; for (; plVar3 != plVar1; plVar3 = plVar3 + 1) { if (param_2 == *plVar3) goto LAB_18134b3df; } if (*(int *)(param_1 + 0x40) < iVar2 + 1) { FUN_18047cb30(param_1 + 0x38,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x44); *(int *)(param_1 + 0x44) = iVar2 + 1; *(longlong *)(*(longlong *)(param_1 + 0x38) + (longlong)iVar2 * 8) = param_2; } LAB_18134b3df: FUN_18133bd90(param_1); return; } ############ FUN_ 1812f1620 size=144 ############ void FUN_1812f1620(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0x2c); lVar2 = *(longlong *)(param_1 + 0x20); iVar4 = 0; lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0x2c) = *(int *)(param_1 + 0x2c) + -1; iVar1 = *(int *)(param_1 + 0x2c); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x28)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x28)) { FUN_18047cb30((longlong *)(param_1 + 0x20)); } } } return; } ############ FUN_ 1804fa200 size=205 ############ void FUN_1804fa200(undefined8 *param_1) { void *_Dst; int iVar1; longlong lVar2; ulonglong uVar3; int iVar4; ulonglong uVar5; *param_1 = juce::MenuBarModel::vftable; uVar3 = 0; lVar2 = param_1[3]; param_1[2] = juce::MenuBarModel::vftable; if (lVar2 != 0) { iVar1 = *(int *)(lVar2 + 0x34); uVar5 = uVar3; if (0 < iVar1) { do { iVar4 = (int)uVar5; if (param_1 + 2 == *(undefined8 **)(*(longlong *)(lVar2 + 0x28) + uVar3 * 8)) { _Dst = (void *)(*(longlong *)(lVar2 + 0x28) + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(lVar2 + 0x34) = *(int *)(lVar2 + 0x34) + -1; iVar1 = *(int *)(lVar2 + 0x34); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(lVar2 + 0x30)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x30)) { FUN_18047cb30(lVar2 + 0x28); } } break; } uVar5 = (ulonglong)(iVar4 + 1); uVar3 = uVar3 + 1; } while ((longlong)uVar3 < (longlong)iVar1); } param_1[3] = 0; } *(undefined4 *)((longlong)param_1 + 0x2c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[4]); } ############ FUN_ 1812eecd0 size=248 ############ void FUN_1812eecd0(longlong param_1,longlong param_2) { longlong lVar1; longlong *plVar2; int iVar3; longlong *plVar4; if (param_2 != 0) { plVar4 = *(longlong **)(param_1 + 0x30); plVar2 = plVar4 + *(int *)(param_1 + 0x3c); for (; plVar4 != plVar2; plVar4 = plVar4 + 1) { if (param_2 == *plVar4) { return; } } if ((param_1 != 0) && (lVar1 = param_1 + 0x18, lVar1 != 0)) { plVar4 = *(longlong **)(param_2 + 0x10); iVar3 = *(int *)(param_2 + 0x1c); plVar2 = plVar4 + iVar3; for (; plVar4 != plVar2; plVar4 = plVar4 + 1) { if (lVar1 == *plVar4) goto LAB_1812eed81; } if (*(int *)(param_2 + 0x18) < iVar3 + 1) { FUN_18047cb30(param_2 + 0x10,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(param_2 + 0x1c); *(int *)(param_2 + 0x1c) = iVar3 + 1; *(longlong *)(*(longlong *)(param_2 + 0x10) + (longlong)iVar3 * 8) = lVar1; } LAB_1812eed81: iVar3 = *(int *)(param_1 + 0x3c) + 1; if (*(int *)(param_1 + 0x38) < iVar3) { FUN_18047cb30((longlong *)(param_1 + 0x30), *(int *)(param_1 + 0x3c) + 9 + iVar3 / 2 & 0xfffffff8); } iVar3 = *(int *)(param_1 + 0x3c); *(int *)(param_1 + 0x3c) = iVar3 + 1; *(longlong *)(*(longlong *)(param_1 + 0x30) + (longlong)iVar3 * 8) = param_2; } return; } ############ FUN_ 1812eedd0 size=235 ############ void FUN_1812eedd0(longlong param_1,longlong param_2) { longlong lVar1; longlong *plVar2; int iVar3; longlong *plVar4; longlong *plVar5; plVar5 = *(longlong **)(param_1 + 0x20); plVar2 = plVar5 + *(int *)(param_1 + 0x2c); for (; plVar5 != plVar2; plVar5 = plVar5 + 1) { if (param_2 == *plVar5) { return; } } if ((param_1 != 0) && (lVar1 = param_1 + 0x10, lVar1 != 0)) { plVar2 = (longlong *)(param_2 + 0x80); plVar4 = (longlong *)*plVar2; iVar3 = *(int *)(param_2 + 0x8c); plVar5 = plVar4 + iVar3; for (; plVar4 != plVar5; plVar4 = plVar4 + 1) { if (lVar1 == *plVar4) goto LAB_1812eee74; } if (*(int *)(param_2 + 0x88) < iVar3 + 1) { FUN_18047cb30(plVar2,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(param_2 + 0x8c); *(int *)(param_2 + 0x8c) = iVar3 + 1; *(longlong *)(*plVar2 + (longlong)iVar3 * 8) = lVar1; } LAB_1812eee74: iVar3 = *(int *)(param_1 + 0x2c) + 1; if (*(int *)(param_1 + 0x28) < iVar3) { FUN_18047cb30((longlong *)(param_1 + 0x20),*(int *)(param_1 + 0x2c) + 9 + iVar3 / 2 & 0xfffffff8 ); } iVar3 = *(int *)(param_1 + 0x2c); *(int *)(param_1 + 0x2c) = iVar3 + 1; *(longlong *)(*(longlong *)(param_1 + 0x20) + (longlong)iVar3 * 8) = param_2; return; } ############ FUN_ 1812eeb00 size=436 ############ void FUN_1812eeb00(longlong param_1) { void *pvVar1; longlong lVar2; longlong lVar3; int iVar4; ulonglong uVar5; int iVar6; ulonglong uVar7; longlong lVar8; ulonglong uVar9; uVar9 = 0; iVar4 = *(int *)(param_1 + 0x2c) + -1; lVar8 = (longlong)iVar4; if (-1 < iVar4) { do { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x20) + lVar8 * 8); iVar4 = *(int *)(lVar2 + 0x8c); lVar3 = *(longlong *)(lVar2 + 0x80); uVar5 = uVar9; uVar7 = uVar9; if (0 < iVar4) { do { iVar6 = (int)uVar7; if (param_1 + 0x10 == *(longlong *)(lVar3 + uVar5 * 8)) { pvVar1 = (void *)(lVar3 + (longlong)iVar6 * 8); memmove(pvVar1,(void *)((longlong)pvVar1 + 8),(longlong)((iVar4 - iVar6) + -1) << 3); *(int *)(lVar2 + 0x8c) = *(int *)(lVar2 + 0x8c) + -1; iVar4 = *(int *)(lVar2 + 0x8c); iVar6 = 0; if (0 < iVar4 * 2) { iVar6 = iVar4 * 2; } if (iVar6 < *(int *)(lVar2 + 0x88)) { if (iVar4 < 8) { iVar4 = 8; } if (iVar4 < *(int *)(lVar2 + 0x88)) { FUN_18047cb30((longlong *)(lVar2 + 0x80)); } } break; } uVar7 = (ulonglong)(iVar6 + 1); uVar5 = uVar5 + 1; } while ((longlong)uVar5 < (longlong)iVar4); } lVar8 = lVar8 + -1; } while (-1 < lVar8); } iVar4 = *(int *)(param_1 + 0x3c) + -1; lVar8 = (longlong)iVar4; if (-1 < iVar4) { do { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x30) + lVar8 * 8); iVar4 = *(int *)(lVar2 + 0x1c); uVar5 = uVar9; uVar7 = uVar9; if (0 < iVar4) { do { iVar6 = (int)uVar7; if (param_1 + 0x18 == *(longlong *)(*(longlong *)(lVar2 + 0x10) + uVar5 * 8)) { pvVar1 = (void *)(*(longlong *)(lVar2 + 0x10) + (longlong)iVar6 * 8); memmove(pvVar1,(void *)((longlong)pvVar1 + 8),(longlong)((iVar4 - iVar6) + -1) << 3); *(int *)(lVar2 + 0x1c) = *(int *)(lVar2 + 0x1c) + -1; iVar4 = *(int *)(lVar2 + 0x1c); iVar6 = 0; if (0 < iVar4 * 2) { iVar6 = iVar4 * 2; } if (iVar6 < *(int *)(lVar2 + 0x18)) { if (iVar4 < 8) { iVar4 = 8; } if (iVar4 < *(int *)(lVar2 + 0x18)) { FUN_18047cb30(lVar2 + 0x10); } } break; } uVar5 = uVar5 + 1; uVar7 = (ulonglong)(iVar6 + 1); } while ((longlong)uVar5 < (longlong)iVar4); } lVar8 = lVar8 + -1; } while (-1 < lVar8); } *(undefined4 *)(param_1 + 0x2c) = 0; if (*(int *)(param_1 + 0x28) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x20)); } *(undefined4 *)(param_1 + 0x28) = 0; *(undefined4 *)(param_1 + 0x3c) = 0; if (*(int *)(param_1 + 0x38) == 0) { *(undefined4 *)(param_1 + 0x38) = 0; return; } /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x30)); } ############ FUN_ 18051b600 size=106 ############ longlong * FUN_18051b600(longlong *param_1,undefined8 *param_2) { int iVar1; void *_Src; *param_1 = 0; param_1[1] = 0; iVar1 = *(int *)((longlong)param_2 + 0xc); _Src = (void *)*param_2; if (0 < iVar1) { FUN_18047cb30(param_1,iVar1 + 8 + iVar1 / 2 & 0xfffffff8); } memcpy((void *)(*param_1 + (longlong)*(int *)((longlong)param_1 + 0xc) * 8),_Src, (longlong)iVar1 << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + iVar1; return param_1; } ############ FUN_ 180505930 size=1053 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180505930(longlong param_1,int param_2,char param_3) { LPCRITICAL_SECTION lpCriticalSection; uint *_Memory; longlong *plVar1; undefined8 *puVar2; int iVar3; longlong lVar4; longlong *plVar5; void *_Dst; ulonglong uVar6; longlong *plVar7; uint uVar8; ulonglong uVar9; ulonglong uVar10; int iVar11; int iVar12; ulonglong uVar13; undefined1 auStack_e8 [32]; ulonglong local_c8; int local_b8; int local_b4; longlong *local_b0; undefined8 local_a8; longlong local_a0 [2]; undefined4 uStack_90; undefined4 uStack_8c; char *local_88; longlong *local_80; undefined8 local_78; LPCRITICAL_SECTION local_70; longlong local_68; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined **local_48; int local_40 [2]; ulonglong local_38; local_78 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_e8; uVar6 = 0; if ((param_2 != *(int *)(param_1 + 0xd0)) || (param_3 != *(char *)(param_1 + 0xd4))) { *(int *)(param_1 + 0xd0) = param_2; *(char *)(param_1 + 0xd4) = param_3; uStack_8c = *(undefined4 *)(param_1 + 0x2c); uStack_90 = *(undefined4 *)(param_1 + 0x28); local_a0[1] = 0; local_58 = 0; uStack_54 = 0; uStack_50 = uStack_90; uStack_4c = uStack_8c; FUN_181342870(param_1,&local_58,1); } local_80 = *(longlong **)(*(longlong *)(param_1 + 0xb8) + 0x120); iVar12 = 0; if ((local_80 == (longlong *)0x0) || (iVar3 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0xb8) + 0x108) + 8))(), iVar3 <= *(int *)(param_1 + 0xd0))) { FUN_18047cbc0(param_1 + 0xc0); if (*(int *)(param_1 + 200) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0xc0)); } *(undefined4 *)(param_1 + 200) = 0; } else { lVar4 = FUN_18122bf10(); lpCriticalSection = (LPCRITICAL_SECTION)(lVar4 + 0x10); local_70 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); FUN_18122c130(lVar4); local_88 = "_tableColumnId"; FUN_181211b90(local_a0,lVar4,&local_88); LeaveCriticalSection(lpCriticalSection); local_b8 = FUN_1812e5250(*(undefined8 *)(*(longlong *)(param_1 + 0xb8) + 0x118)); local_b0 = (longlong *)(longlong)local_b8; if (0 < local_b8) { plVar1 = (longlong *)(param_1 + 0xc0); uVar9 = uVar6; uVar10 = uVar6; do { uVar8 = (uint)uVar9; local_b4 = FUN_1812e4ea0(*(undefined8 *)(*(longlong *)(param_1 + 0xb8) + 0x118),uVar9); uVar13 = uVar6; if (uVar8 < *(uint *)(param_1 + 0xcc)) { uVar13 = *(ulonglong *)(*plVar1 + uVar10 * 8); } if (uVar13 != 0) { plVar5 = *(longlong **)(uVar13 + 0x90); plVar7 = plVar5 + (longlong)*(int *)(uVar13 + 0x9c) * 3; for (; plVar5 != plVar7; plVar5 = plVar5 + 3) { local_68 = *plVar5; if (local_68 == local_a0[0]) { plVar5 = plVar5 + 1; if (plVar5 != (longlong *)0x0) goto LAB_180505aea; break; } } plVar5 = (longlong *)FUN_181244160(); LAB_180505aea: iVar3 = (**(code **)(*(longlong *)*plVar5 + 8))((longlong *)*plVar5,plVar5 + 1); if (local_b4 != iVar3) { FUN_18051afa0(plVar1,uVar9,0,1); uVar13 = uVar6; } } local_c8 = uVar13; plVar5 = (longlong *) (**(code **)(*local_80 + 0x20)) (local_80,*(undefined4 *)(param_1 + 0xd0),local_b4, *(undefined1 *)(param_1 + 0xd4)); if (-1 < (int)uVar8) { iVar3 = *(int *)(param_1 + 0xcc); if ((int)uVar8 < iVar3) { *(longlong **)(*plVar1 + uVar10 * 8) = plVar5; } else { iVar11 = iVar3 + 1; if (*(int *)(param_1 + 200) < iVar11) { if (iVar11 < 0) { iVar11 = iVar3 + 2; } FUN_18047cb30(plVar1,iVar3 + 9 + (iVar11 >> 1) & 0xfffffff8); } iVar3 = *(int *)(param_1 + 0xcc); *(int *)(param_1 + 0xcc) = iVar3 + 1; *(longlong **)(*plVar1 + (longlong)iVar3 * 8) = plVar5; } } if (plVar5 != (longlong *)0x0) { local_48 = &PTR_vftable_18262b570; local_40[0] = local_b4; FUN_181243e80(plVar5 + 0x12,local_a0,&local_48); (**(code **)(*local_48 + 0xb0))(local_48,local_40); (**(code **)(*plVar5 + 0x58))(plVar5,1); FUN_181343cc0(param_1,plVar5,0xffffffff); FUN_180505e90(param_1,uVar9); } uVar9 = (ulonglong)(uVar8 + 1); uVar10 = uVar10 + 1; } while ((longlong)uVar10 < (longlong)local_b0); } plVar1 = (longlong *)(param_1 + 0xc0); iVar3 = *(int *)(param_1 + 0xcc); iVar11 = *(int *)(param_1 + 0xcc) + local_b8; if ((-1 < iVar11) && (iVar12 = iVar11, iVar3 < iVar11)) { iVar12 = iVar3; } if (local_b8 < 0) { local_b8 = 0; } else if (iVar3 < local_b8) { local_b8 = iVar3; } iVar12 = iVar12 - local_b8; if (0 < iVar12) { local_b0 = (longlong *)0x0; local_a8 = 0; lVar4 = (longlong)local_b8; FUN_18051fcc0(&local_b0,*plVar1 + lVar4 * 8,iVar12); _Dst = (void *)(*plVar1 + lVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + (longlong)iVar12 * 8), (longlong)((*(int *)(param_1 + 0xcc) - iVar12) - local_b8) << 3); plVar5 = local_b0; *(int *)(param_1 + 0xcc) = *(int *)(param_1 + 0xcc) - iVar12; uVar9 = (ulonglong)((longlong)(local_b0 + local_a8._4_4_) + (7 - (longlong)local_b0)) >> 3; if (local_b0 + local_a8._4_4_ < local_b0) { uVar9 = uVar6; } plVar7 = local_b0; if (uVar9 != 0) { do { puVar2 = (undefined8 *)*plVar7; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } plVar7 = plVar7 + 1; uVar6 = uVar6 + 1; } while (uVar6 != uVar9); } if ((*(int *)(param_1 + 0xcc) * 2 < *(int *)(param_1 + 200)) && (*(int *)(param_1 + 0xcc) < *(int *)(param_1 + 200))) { FUN_18047cb30(plVar1); } /* WARNING: Subroutine does not return */ free(plVar5); } _Memory = (uint *)(local_a0[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar8 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } } ############ FUN_ 18051afa0 size=153 ############ undefined8 * FUN_18051afa0(longlong *param_1,int param_2,undefined8 *param_3,char param_4) { int iVar1; undefined8 *puVar2; if (-1 < param_2) { iVar1 = *(int *)((longlong)param_1 + 0xc); if (param_2 < iVar1) { puVar2 = (undefined8 *)0x0; if ((param_4 != '\0') && (puVar2 = *(undefined8 **)(*param_1 + (longlong)param_2 * 8), puVar2 == param_3)) { puVar2 = (undefined8 *)0x0; } *(undefined8 **)(*param_1 + (longlong)param_2 * 8) = param_3; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); return param_3; } } else { if ((int)param_1[1] < iVar1 + 1) { FUN_18047cb30(param_1,iVar1 + 9 + (iVar1 + 1) / 2 & 0xfffffff8); } iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined8 **)(*param_1 + (longlong)iVar1 * 8) = param_3; } } return param_3; } ############ FUN_ 18050d1f0 size=280 ############ void FUN_18050d1f0(undefined8 *param_1) { int *piVar1; int iVar2; longlong lVar3; longlong *plVar4; undefined8 *puVar5; longlong *plVar6; int iVar7; *param_1 = juce::DropShadower::vftable; lVar3 = param_1[1]; if (lVar3 != 0) { plVar4 = *(longlong **)(lVar3 + 0x80); iVar2 = *(int *)(lVar3 + 0x8c); plVar6 = plVar4; iVar7 = 0; if (0 < iVar2) { do { if (param_1 == (undefined8 *)*plVar6) { plVar4 = plVar4 + iVar7; memmove(plVar4,plVar4 + 1,(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar3 + 0x8c) = *(int *)(lVar3 + 0x8c) + -1; iVar2 = *(int *)(lVar3 + 0x8c); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (iVar7 < *(int *)(lVar3 + 0x88)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar3 + 0x88)) { FUN_18047cb30((longlong *)(lVar3 + 0x80)); } } break; } iVar7 = iVar7 + 1; plVar6 = plVar6 + 1; } while (iVar7 < iVar2); } param_1[1] = 0; } FUN_1812c8590(param_1); *(undefined1 *)(param_1 + 6) = 1; FUN_18047cbc0(param_1 + 2); if (*(int *)(param_1 + 3) == 0) { *(undefined4 *)(param_1 + 3) = 0; puVar5 = (undefined8 *)param_1[7]; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } FUN_18047cbc0(param_1 + 2); *(undefined4 *)((longlong)param_1 + 0x1c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } ############ FUN_ 180515d90 size=1195 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000180515fe6) */ /* WARNING: Removing unreachable block (ram,0x000180515ff5) */ void FUN_180515d90(int *param_1,longlong param_2,HWND param_3,ulonglong param_4) { int *piVar1; uint uVar2; DWORD DVar3; LONG LVar4; longlong *plVar5; HIMC pHVar6; undefined8 uVar7; char *lpBuf; int *lpBuf_00; longlong lVar8; undefined4 *puVar9; longlong *plVar10; uint *puVar11; char *pcVar12; int *piVar13; int iVar14; ulonglong uVar15; size_t _Size; ulonglong uVar16; undefined1 auStack_158 [32]; undefined4 local_138; undefined8 local_128; void *local_120; undefined8 local_118; HIMC local_110; longlong local_108; void *local_100; ulonglong local_f8; longlong local_f0; undefined4 local_e8; undefined4 uStack_e4; undefined8 local_e0; int local_d8; int iStack_d4; longlong local_d0; HWND local_c8; longlong local_c0; LONG local_b8; int local_b4; int local_ac; undefined4 local_a8 [4]; undefined8 local_98; undefined4 local_88; undefined4 uStack_84; undefined4 uStack_80; undefined4 uStack_7c; undefined1 local_78 [16]; tagCANDIDATEFORM local_68; ulonglong local_48; local_98 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_158; local_128 = param_4; local_c8 = param_3; local_c0 = param_2; plVar5 = (longlong *)FUN_1812d2070(param_2); if ((plVar5 != (longlong *)0x0) && (pHVar6 = ImmGetContext(param_3), pHVar6 != (HIMC)0x0)) { local_110 = pHVar6; if (*param_1 < 0) { if (*(code **)(*plVar5 + 0x10) == FUN_1804e49c0) { local_f0 = plVar5[0x3a]; plVar10 = &local_f0; } else { plVar10 = (longlong *)(**(code **)(*plVar5 + 0x10))(plVar5,&local_f0); } local_e8 = (undefined4)*plVar10; *(ulonglong *)param_1 = CONCAT44(local_e8,local_e8); uStack_e4 = local_e8; } if ((param_4 >> 0xb & 1) != 0) { uVar7 = FUN_180516280(); local_e0 = 0xffffffffffffffff; FUN_180516330(param_1,plVar5,uVar7,0xffffffffffffffff); puVar11 = (uint *)(local_108 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } local_128 = 0xffffffffffffffff; param_1[0] = -1; param_1[1] = -1; *(undefined1 *)(param_1 + 2) = 0; local_100 = (void *)0x0; local_f8 = 0; (**(code **)(*plVar5 + 0x20))(plVar5,&local_100); local_f8 = local_f8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_100); } iVar14 = 0; if ((param_4 & 8) != 0) { local_108 = FUN_180516280(); if ((param_4 & 0x10) != 0) { DVar3 = ImmGetCompositionStringW(pHVar6,0x10,(LPVOID)0x0,0); _Size = (size_t)(int)DVar3; param_4 = local_128; if (0 < (int)DVar3) { lpBuf = malloc(_Size); ImmGetCompositionStringW(local_110,0x10,lpBuf,DVar3); if (0 < (int)DVar3) { pcVar12 = lpBuf; iVar14 = 0; do { if ((*pcVar12 - 1U & 0xfd) == 0) break; iVar14 = iVar14 + 1; pcVar12 = pcVar12 + 1; } while ((longlong)pcVar12 - (longlong)lpBuf < (longlong)_Size); } if ((longlong)iVar14 < (longlong)_Size) { pcVar12 = lpBuf + iVar14; do { if ((*pcVar12 - 1U & 0xfd) != 0) break; pcVar12 = pcVar12 + 1; } while ((longlong)pcVar12 - (longlong)lpBuf < (longlong)_Size); } /* WARNING: Subroutine does not return */ free(lpBuf); } } local_128 = CONCAT44(*param_1,*param_1); FUN_180516330(param_1,plVar5); puVar11 = (uint *)(local_d0 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } local_120 = (void *)0x0; local_118._0_4_ = 0; local_118._4_4_ = 0; if ((param_4 & 0x20) != 0) { DVar3 = ImmGetCompositionStringW(pHVar6,0x20,(LPVOID)0x0,0); if (0 < (int)DVar3) { uVar16 = (ulonglong)(longlong)(int)DVar3 >> 2; lpBuf_00 = malloc(uVar16 * 4); LVar4 = ImmGetCompositionStringW(pHVar6,0x20,lpBuf_00,DVar3); if ((0 < LVar4) && (1 < uVar16)) { uVar15 = 1; piVar13 = lpBuf_00; do { piVar1 = piVar13 + 1; local_d8 = *piVar13; iVar14 = local_d8; if (local_d8 < *piVar1) { iVar14 = *piVar1; } iVar14 = iVar14 + *param_1; local_d8 = local_d8 + *param_1; iStack_d4 = local_d8; if (local_d8 < iVar14) { iStack_d4 = iVar14; } iVar14 = local_118._4_4_ + 1; if ((int)(uint)local_118 < iVar14) { if (iVar14 < 0) { iVar14 = local_118._4_4_ + 2; } FUN_18047cb30(&local_120,local_118._4_4_ + 9 + (iVar14 >> 1) & 0xfffffff8); } lVar8 = (longlong)local_118._4_4_; local_118._4_4_ = local_118._4_4_ + 1; *(ulonglong *)((longlong)local_120 + lVar8 * 8) = CONCAT44(iStack_d4,local_d8); uVar15 = uVar15 + 1; piVar13 = piVar1; } while (uVar15 < uVar16); } /* WARNING: Subroutine does not return */ free(lpBuf_00); } } (**(code **)(*plVar5 + 0x20))(plVar5,&local_120); local_118 = (ulonglong)(uint)local_118; /* WARNING: Subroutine does not return */ free(local_120); } local_138 = 0; lVar8 = __RTDynamicCast(plVar5,0,&juce::TextInputTarget::RTTI_Type_Descriptor, &juce::Component::RTTI_Type_Descriptor); if (lVar8 != 0) { if (*(code **)(*plVar5 + 0x38) == FUN_1812e0820) { uVar7 = FUN_1812e0660(plVar5 + -0x16,local_78); FUN_1804ab070(uVar7,local_a8); puVar9 = local_a8; } else { puVar9 = (undefined4 *)(**(code **)(*plVar5 + 0x38))(plVar5,local_a8); } local_88 = *puVar9; uStack_84 = puVar9[1]; uStack_80 = puVar9[2]; uStack_7c = puVar9[3]; FUN_18051df30(&local_b8,*(undefined8 *)(param_2 + 8),lVar8,&local_88); local_68.dwIndex = 0; local_68.dwStyle = 0x40; local_68.ptCurrentPos.x = local_b8; local_68.ptCurrentPos.y = local_ac + local_b4; local_68.rcArea.left = 0; local_68.rcArea.top = 0; local_68.rcArea.right = 0; local_68.rcArea.bottom = 0; ImmSetCandidateWindow(pHVar6,&local_68); } ImmReleaseContext(param_3,pHVar6); } } ############ FUN_ 18051b540 size=156 ############ longlong * FUN_18051b540(longlong *param_1,longlong *param_2) { int iVar1; void *pvVar2; longlong lVar3; int iVar4; int iVar5; longlong local_28; undefined8 local_20; if (param_1 != param_2) { iVar1 = *(int *)((longlong)param_2 + 0xc); pvVar2 = (void *)*param_2; local_28 = 0; local_20 = 0; iVar4 = 0; iVar5 = 0; if (0 < iVar1) { FUN_18047cb30(&local_28,iVar1 + 8 + iVar1 / 2 & 0xfffffff8); iVar4 = local_20._4_4_; iVar5 = (int)local_20; } lVar3 = local_28; memcpy((void *)(local_28 + (longlong)iVar4 * 8),pvVar2,(longlong)iVar1 << 3); pvVar2 = (void *)*param_1; *param_1 = lVar3; *(int *)(param_1 + 1) = iVar5; *(int *)((longlong)param_1 + 0xc) = iVar4 + iVar1; /* WARNING: Subroutine does not return */ free(pvVar2); } return param_1; } ############ FUN_ 180526a30 size=374 ############ void FUN_180526a30(undefined8 *param_1) { int *piVar1; void *_Dst; int iVar2; longlong lVar3; undefined8 *puVar4; uint uVar5; longlong lVar6; longlong local_40; void *local_38; undefined8 local_30; *param_1 = juce::ValueTree::SharedObject::vftable; uVar5 = *(int *)((longlong)param_1 + 0x34) - 1; if (-1 < (int)uVar5) { lVar3 = *(longlong *)((longlong)(int)uVar5 * 8 + param_1[5]); if (lVar3 != 0) { LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); } *(undefined8 *)(lVar3 + 0x48) = 0; if (uVar5 < *(uint *)((longlong)param_1 + 0x34)) { puVar4 = *(undefined8 **)(param_1[5] + (longlong)(int)uVar5 * 8); _Dst = (void *)(param_1[5] + (longlong)(int)uVar5 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)((longlong)param_1 + 0x34) - uVar5) + -1) << 3); *(int *)((longlong)param_1 + 0x34) = *(int *)((longlong)param_1 + 0x34) + -1; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } if ((*(int *)((longlong)param_1 + 0x34) * 2 < *(int *)(param_1 + 6)) && (*(int *)((longlong)param_1 + 0x34) < *(int *)(param_1 + 6))) { FUN_18047cb30(param_1 + 5); } } LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); local_38 = (void *)0x0; local_30 = 0; uVar5 = *(int *)(lVar3 + 0x34) - 1; lVar6 = (longlong)(int)uVar5; local_40 = lVar3; if (-1 < (int)uVar5) { do { if ((uVar5 < *(uint *)(lVar3 + 0x34)) && (*(longlong *)(*(longlong *)(lVar3 + 0x28) + lVar6 * 8) != 0)) { FUN_180526d20(); } uVar5 = uVar5 - 1; lVar6 = lVar6 + -1; } while (-1 < lVar6); } FUN_180528950(lVar3); if ((local_30._4_4_ != 0) && (local_40 != 0)) { FUN_180527d40(local_40 + 0x38,&local_40); } local_30 = local_30 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_38); } *(undefined4 *)((longlong)param_1 + 0x44) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[7]); } ############ FUN_ 180528950 size=419 ############ void FUN_180528950(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; void *_Src; ulonglong uVar2; void *_Memory; int iVar3; longlong lVar4; int iVar5; int iVar6; int iVar7; void *local_30; undefined8 local_28; iVar5 = *(int *)(param_1 + 0x44); if (iVar5 == 1) { lVar4 = **(longlong **)(param_1 + 0x38); iVar5 = *(int *)(lVar4 + 0x14); while (0 < iVar5) { iVar5 = iVar5 + -1; if ((*(int *)(lVar4 + 0x14) <= iVar5) && (iVar5 = *(int *)(lVar4 + 0x14) + -1, iVar5 < 0)) { return; } plVar1 = *(longlong **)(*(longlong *)(lVar4 + 8) + (longlong)iVar5 * 8); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x28))(plVar1,param_3); } } } else if (0 < iVar5) { local_30 = (void *)0x0; local_28 = 0; iVar7 = *(int *)(param_1 + 0x44); _Src = *(void **)(param_1 + 0x38); iVar6 = 0; if (0 < iVar7) { FUN_18047cb30(&local_30,iVar7 + 8 + iVar7 / 2 & 0xfffffff8,param_3,param_4,0xfffffffffffffffe) ; iVar6 = local_28._4_4_; } _Memory = local_30; memcpy((void *)((longlong)local_30 + (longlong)iVar6 * 8),_Src,(longlong)iVar7 << 3); local_28 = CONCAT44(iVar6 + iVar7,(undefined4)local_28); lVar4 = 0; if (0 < iVar5) { do { uVar2 = *(ulonglong *)((longlong)_Memory + lVar4 * 8); if (lVar4 == 0) { LAB_180528a88: iVar7 = *(int *)(uVar2 + 0x14); while (0 < iVar7) { iVar7 = iVar7 + -1; if ((*(int *)(uVar2 + 0x14) <= iVar7) && (iVar7 = *(int *)(uVar2 + 0x14) + -1, iVar7 < 0)) break; plVar1 = *(longlong **)(*(longlong *)(uVar2 + 8) + (longlong)iVar7 * 8); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x28))(plVar1,param_3); } } } else { iVar6 = 0; iVar7 = *(int *)(param_1 + 0x44); if (0 < iVar7) { do { if (uVar2 == *(ulonglong *)(*(longlong *)(param_1 + 0x38) + (longlong)iVar6 * 8)) goto LAB_180528a83; iVar3 = (iVar7 + iVar6) / 2; if (iVar3 == iVar6) break; if (uVar2 < *(ulonglong *)(*(longlong *)(param_1 + 0x38) + (longlong)iVar3 * 8)) { iVar7 = iVar3; iVar3 = iVar6; } iVar6 = iVar3; } while (iVar6 < iVar7); } iVar6 = -1; LAB_180528a83: if (-1 < iVar6) goto LAB_180528a88; } lVar4 = lVar4 + 1; } while (lVar4 < iVar5); } /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 180527010 size=462 ############ void FUN_180527010(longlong param_1,longlong param_2,uint param_3) { uint uVar1; longlong lVar2; longlong lVar3; undefined4 uVar4; int iVar5; longlong *plVar6; void *_Src; longlong *plVar7; longlong *local_68; longlong *plStack_60; longlong local_58; void *local_50; undefined8 local_48; longlong local_40 [3]; if (param_2 != 0) { lVar2 = *(longlong *)(param_2 + 0x48); if ((lVar2 != param_1) && (param_2 != param_1)) { for (lVar3 = *(longlong *)(param_1 + 0x48); lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x48)) { if (lVar3 == param_2) { return; } } if (lVar2 != 0) { plVar7 = *(longlong **)(lVar2 + 0x28); for (plVar6 = plVar7; plVar6 != plVar7 + *(int *)(lVar2 + 0x34); plVar6 = plVar6 + 1) { if (param_2 == *plVar6) { uVar4 = (undefined4)((longlong)plVar6 - (longlong)plVar7 >> 3); goto LAB_1805270a9; } } uVar4 = 0xffffffff; LAB_1805270a9: FUN_180527220(lVar2,uVar4,plVar7,lVar2,0xfffffffffffffffe); } iVar5 = *(int *)(param_1 + 0x34) + 1; if (*(int *)(param_1 + 0x30) < iVar5) { FUN_18047cb30(param_1 + 0x28,*(int *)(param_1 + 0x34) + 9 + iVar5 / 2 & 0xfffffff8); } uVar1 = *(uint *)(param_1 + 0x34); if (param_3 < uVar1) { _Src = (void *)(*(longlong *)(param_1 + 0x28) + (longlong)(int)param_3 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar1 - param_3) << 3); plVar7 = (longlong *)(*(longlong *)(param_1 + 0x28) + (longlong)(int)param_3 * 8); } else { plVar7 = (longlong *)(*(longlong *)(param_1 + 0x28) + (longlong)(int)uVar1 * 8); } *plVar7 = param_2; *(int *)(param_1 + 0x34) = *(int *)(param_1 + 0x34) + 1; LOCK(); *(int *)(param_2 + 8) = *(int *)(param_2 + 8) + 1; UNLOCK(); *(longlong *)(param_2 + 0x48) = param_1; LOCK(); *(int *)(param_2 + 8) = *(int *)(param_2 + 8) + 1; UNLOCK(); local_40[1] = 0; local_40[2] = 0; LOCK(); *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1; UNLOCK(); local_50 = (void *)0x0; local_48 = 0; local_68 = &local_58; plStack_60 = local_40; local_58 = param_1; local_40[0] = param_2; FUN_180528510(param_1,plVar7,&local_68); if ((local_48._4_4_ != 0) && (local_58 != 0)) { FUN_180527d40(local_58 + 0x38,&local_58); } local_48 = local_48 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_50); } } return; } ############ FUN_ 180528510 size=514 ############ void FUN_180528510(longlong param_1,undefined8 param_2,undefined8 *param_3) { longlong *plVar1; void *_Src; ulonglong uVar2; undefined8 uVar3; undefined8 uVar4; void *_Memory; int iVar5; int iVar6; int iVar7; int iVar8; longlong lVar9; void *local_50; undefined8 local_48; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; do { if (param_1 == 0) { return; } local_38 = *(undefined4 *)param_3; uStack_34 = *(undefined4 *)((longlong)param_3 + 4); uVar4 = *param_3; uStack_30 = *(undefined4 *)(param_3 + 1); uStack_2c = *(undefined4 *)((longlong)param_3 + 0xc); uVar3 = param_3[1]; iVar7 = *(int *)(param_1 + 0x44); if (iVar7 == 1) { lVar9 = **(longlong **)(param_1 + 0x38); iVar7 = *(int *)(lVar9 + 0x14); while (0 < iVar7) { iVar7 = iVar7 + -1; if ((*(int *)(lVar9 + 0x14) <= iVar7) && (iVar7 = *(int *)(lVar9 + 0x14) + -1, iVar7 < 0)) break; plVar1 = *(longlong **)(*(longlong *)(lVar9 + 8) + (longlong)iVar7 * 8); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x10))(plVar1,uVar4,uVar3); } } } else if (0 < iVar7) { local_50 = (void *)0x0; local_48 = 0; iVar8 = *(int *)(param_1 + 0x44); _Src = *(void **)(param_1 + 0x38); iVar5 = 0; if (0 < iVar8) { iVar5 = iVar8; if (iVar8 < 0) { iVar5 = iVar8 + 1; } FUN_18047cb30(&local_50,(iVar5 >> 1) + 8 + iVar8 & 0xfffffff8); iVar5 = local_48._4_4_; } _Memory = local_50; memcpy((void *)((longlong)local_50 + (longlong)iVar5 * 8),_Src,(longlong)iVar8 << 3); local_48 = CONCAT44(iVar5 + iVar8,(undefined4)local_48); lVar9 = 0; if (iVar7 < 1) goto LAB_1805286ce; uVar3 = CONCAT44(uStack_34,local_38); break; } param_1 = *(longlong *)(param_1 + 0x48); } while( true ); LAB_180528630: uVar2 = *(ulonglong *)((longlong)_Memory + lVar9 * 8); if (lVar9 == 0) { LAB_180528688: iVar8 = *(int *)(uVar2 + 0x14); while (0 < iVar8) { iVar8 = iVar8 + -1; if ((*(int *)(uVar2 + 0x14) <= iVar8) && (iVar8 = *(int *)(uVar2 + 0x14) + -1, iVar8 < 0)) break; plVar1 = *(longlong **)(*(longlong *)(uVar2 + 8) + (longlong)iVar8 * 8); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x10))(plVar1,uVar3); } } } else { iVar5 = 0; iVar8 = *(int *)(param_1 + 0x44); if (0 < iVar8) { do { if (uVar2 == *(ulonglong *)(*(longlong *)(param_1 + 0x38) + (longlong)iVar5 * 8)) goto LAB_180528683; iVar6 = (iVar8 + iVar5) / 2; if (iVar6 == iVar5) break; if (uVar2 < *(ulonglong *)(*(longlong *)(param_1 + 0x38) + (longlong)iVar6 * 8)) { iVar8 = iVar6; iVar6 = iVar5; } iVar5 = iVar6; } while (iVar5 < iVar8); } iVar5 = -1; LAB_180528683: if (-1 < iVar5) goto LAB_180528688; } lVar9 = lVar9 + 1; if (iVar7 <= lVar9) { LAB_1805286ce: local_48 = local_48 & 0xffffffff; /* WARNING: Subroutine does not return */ free(_Memory); } goto LAB_180528630; } ############ FUN_ 180528720 size=551 ############ void FUN_180528720(longlong param_1,undefined8 param_2,undefined8 *param_3) { ulonglong uVar1; longlong *plVar2; void *_Src; ulonglong uVar3; undefined8 uVar4; undefined8 uVar5; void *_Memory; int iVar6; int iVar7; int iVar8; int iVar9; longlong lVar10; undefined8 uVar11; void *local_70; undefined8 local_68; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; ulonglong local_48; if (param_1 != 0) { uVar11 = 0xfffffffffffffffe; do { local_58 = *(undefined4 *)param_3; uStack_54 = *(undefined4 *)((longlong)param_3 + 4); uVar5 = *param_3; uStack_50 = *(undefined4 *)(param_3 + 1); uStack_4c = *(undefined4 *)((longlong)param_3 + 0xc); uVar4 = param_3[1]; uVar1 = param_3[2]; iVar8 = *(int *)(param_1 + 0x44); local_48 = uVar1; if (iVar8 == 1) { lVar10 = **(longlong **)(param_1 + 0x38); iVar8 = *(int *)(lVar10 + 0x14); while (0 < iVar8) { iVar8 = iVar8 + -1; if ((*(int *)(lVar10 + 0x14) <= iVar8) && (iVar8 = *(int *)(lVar10 + 0x14) + -1, iVar8 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(lVar10 + 8) + (longlong)iVar8 * 8); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x18))(plVar2,uVar5,uVar4,uVar1 & 0xffffffff,uVar11); } } } else if (0 < iVar8) { local_70 = (void *)0x0; local_68 = 0; iVar9 = *(int *)(param_1 + 0x44); _Src = *(void **)(param_1 + 0x38); iVar6 = 0; if (0 < iVar9) { iVar6 = iVar9; if (iVar9 < 0) { iVar6 = iVar9 + 1; } FUN_18047cb30(&local_70,(iVar6 >> 1) + 8 + iVar9 & 0xfffffff8); iVar6 = local_68._4_4_; } _Memory = local_70; memcpy((void *)((longlong)iVar6 * 8 + (longlong)local_70),_Src,(longlong)iVar9 << 3); uVar1 = local_48; local_68 = CONCAT44(iVar6 + iVar9,(undefined4)local_68); lVar10 = 0; if (iVar8 < 1) goto LAB_180528909; uVar4 = CONCAT44(uStack_4c,uStack_50); uVar11 = CONCAT44(uStack_54,local_58); goto LAB_180528860; } param_1 = *(longlong *)(param_1 + 0x48); } while (param_1 != 0); } return; LAB_180528860: uVar3 = *(ulonglong *)((longlong)_Memory + lVar10 * 8); if (lVar10 == 0) { LAB_1805288b8: iVar9 = *(int *)(uVar3 + 0x14); while (0 < iVar9) { iVar9 = iVar9 + -1; if ((*(int *)(uVar3 + 0x14) <= iVar9) && (iVar9 = *(int *)(uVar3 + 0x14) + -1, iVar9 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(uVar3 + 8) + (longlong)iVar9 * 8); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x18))(plVar2,uVar11,uVar4,uVar1 & 0xffffffff); } } } else { iVar6 = 0; iVar9 = *(int *)(param_1 + 0x44); if (0 < iVar9) { do { if (uVar3 == *(ulonglong *)(*(longlong *)(param_1 + 0x38) + (longlong)iVar6 * 8)) goto LAB_1805288b3; iVar7 = (iVar9 + iVar6) / 2; if (iVar7 == iVar6) break; if (uVar3 < *(ulonglong *)(*(longlong *)(param_1 + 0x38) + (longlong)iVar7 * 8)) { iVar9 = iVar7; iVar7 = iVar6; } iVar6 = iVar7; } while (iVar6 < iVar9); } iVar6 = -1; LAB_1805288b3: if (-1 < iVar6) goto LAB_1805288b8; } lVar10 = lVar10 + 1; if (iVar8 <= lVar10) { LAB_180528909: local_68 = local_68 & 0xffffffff; /* WARNING: Subroutine does not return */ free(_Memory); } goto LAB_180528860; } ############ FUN_ 180532fd0 size=350 ############ void FUN_180532fd0(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; longlong *plVar3; int iVar4; undefined8 uVar5; uint uVar6; longlong lVar7; if (param_2 != 0) { plVar1 = (longlong *)(param_1 + 0x240098); plVar3 = (longlong *)*plVar1; iVar4 = *(int *)(param_1 + 0x2400a4); plVar2 = plVar3 + iVar4; for (; plVar3 != plVar2; plVar3 = plVar3 + 1) { if (param_2 == *plVar3) goto LAB_180533054; } if (*(int *)(param_1 + 0x2400a0) < iVar4 + 1) { FUN_18047cb30(plVar1,iVar4 + 9 + (iVar4 + 1) / 2 & 0xfffffff8,(longlong)iVar4,param_4, 0xfffffffffffffffe); } iVar4 = *(int *)(param_1 + 0x2400a4); *(int *)(param_1 + 0x2400a4) = iVar4 + 1; *(longlong *)(*plVar1 + (longlong)iVar4 * 8) = param_2; } LAB_180533054: uVar6 = 0; if (0 < *(int *)(param_1 + 0x240084)) { lVar7 = 0; do { if (uVar6 < *(uint *)(param_1 + 0x6c)) { uVar5 = *(undefined8 *)(lVar7 + *(longlong *)(param_1 + 0x60)); } else { uVar5 = 0; } iVar4 = *(int *)(param_1 + 0x2400a4); while (0 < iVar4) { iVar4 = iVar4 + -1; if ((*(int *)(param_1 + 0x2400a4) <= iVar4) && (iVar4 = *(int *)(param_1 + 0x2400a4) + -1, iVar4 < 0)) break; FUN_180492ef8(*(undefined8 *)(*(longlong *)(param_1 + 0x240098) + (longlong)iVar4 * 8),uVar6 ,uVar5); } if (uVar6 < *(uint *)(param_1 + 0x6c)) { uVar5 = *(undefined8 *)(lVar7 + *(longlong *)(param_1 + 0x60)); } else { uVar5 = 0; } iVar4 = *(int *)(param_1 + 0x2400b4); while (0 < iVar4) { iVar4 = iVar4 + -1; if ((*(int *)(param_1 + 0x2400b4) <= iVar4) && (iVar4 = *(int *)(param_1 + 0x2400b4) + -1, iVar4 < 0)) break; FUN_180492ef8(*(undefined8 *)(*(longlong *)(param_1 + 0x2400a8) + (longlong)iVar4 * 8),uVar6 ,uVar5); } uVar6 = uVar6 + 1; lVar7 = lVar7 + 8; } while ((int)uVar6 < *(int *)(param_1 + 0x240084)); } return; } ############ FUN_ 18054a0b0 size=1353 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18054a0b0(undefined8 *param_1,longlong *param_2,undefined1 param_3,longlong param_4) { void *pvVar1; double dVar2; uint uVar3; undefined8 *puVar4; short *pv; int iVar5; undefined8 uVar6; HANDLE pvVar7; uint uVar8; double *pdVar9; uint uVar10; double *pdVar11; uint uVar12; size_t _Size; uint *puVar13; double dVar14; undefined1 auStack_118 [32]; undefined1 *local_f8; longlong *local_e8; undefined8 *local_e0; short *local_d8; longlong local_d0; longlong local_c8 [2]; undefined8 *local_b8; undefined1 local_b0 [2]; ushort local_ae; uint local_ac; uint local_a8; ushort local_a2; undefined4 local_9c; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; undefined8 uStack_70; undefined8 local_68; undefined8 uStack_60; undefined4 local_58; undefined4 local_54; undefined4 local_50; uint local_4c; ulonglong local_48; local_c8[1] = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_118; *param_1 = juce::WasapiClasses::WASAPIDeviceBase::vftable; param_2 = (longlong *)*param_2; param_1[1] = param_2; local_b8 = param_1; if (param_2 != (longlong *)0x0) { (**(code **)(*param_2 + 8))(); } param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; *(undefined1 *)(param_1 + 8) = param_3; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xf] = 4; *(undefined4 *)(param_1 + 0x10) = 0xffffffff; *(undefined1 *)((longlong)param_1 + 0x84) = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; *(undefined4 *)(param_1 + 0x14) = 0; *(undefined2 *)((longlong)param_1 + 0xa4) = 0; local_e0 = param_1 + 0x15; param_1[0x1c] = 0; puVar4 = *(undefined8 **)(param_4 + 0x38); if (puVar4 != (undefined8 *)0x0) { uVar6 = (**(code **)*puVar4)(puVar4,local_e0); param_1[0x1c] = uVar6; } param_1[0x1d] = 0; param_1[0x1e] = 0; pvVar7 = CreateEventW((LPSECURITY_ATTRIBUTES)0x0,0,0,(LPCWSTR)0x0); param_1[0xb] = pvVar7; FUN_18054ad10(param_1,&local_e8); if (local_e8 != (longlong *)0x0) { iVar5 = (**(code **)(*local_e8 + 0x48))(local_e8,local_c8,&local_d0); if (iVar5 < 0) { if (local_e8 != (longlong *)0x0) { (**(code **)(*local_e8 + 0x10))(); } } else { local_d8 = (short *)0x0; iVar5 = (**(code **)(*local_e8 + 0x40))(local_e8,&local_d8); pv = local_d8; if (iVar5 < 0) { if (local_e8 != (longlong *)0x0) { (**(code **)(*local_e8 + 0x10))(); } } else { _Size = 0x12; if (*local_d8 == -2) { _Size = 0x28; } memcpy(local_b0,local_d8,_Size); CoTaskMemFree(pv); *(uint *)(param_1 + 5) = (uint)local_ae; *(uint *)((longlong)param_1 + 0x2c) = (uint)local_ae; dVar14 = (double)local_ac; param_1[4] = dVar14; local_e0._0_4_ = SUB84((double)local_d0 * dVar14 * _DAT_1824c3d30 + DAT_1824c4520,0); *(undefined4 *)(param_1 + 6) = local_e0._0_4_; local_e0 = (undefined8 *)((double)local_c8[0] * dVar14 * _DAT_1824c3d30 + DAT_1824c4520); *(undefined4 *)((longlong)param_1 + 0x34) = local_e0._0_4_; *(undefined4 *)((longlong)param_1 + 0x3c) = local_9c; uVar3 = *(uint *)((longlong)param_1 + 0x54); uVar12 = 0; uVar8 = 0; uVar10 = uVar3; if (0 < (int)uVar3) { do { uVar12 = uVar8; dVar2 = *(double *)(param_1[9] + (longlong)(int)uVar12 * 8); if ((dVar2 <= dVar14) && (dVar14 <= dVar2)) { LAB_18054a363: uVar12 = uVar12 + 1; break; } uVar8 = (int)(uVar12 + uVar10) >> 1; dVar2 = *(double *)(param_1[9] + (longlong)(int)uVar8 * 8); if (uVar8 == uVar12) { if (dVar2 <= dVar14) goto LAB_18054a363; break; } if (dVar2 <= dVar14) { uVar12 = uVar8; uVar8 = uVar10; } uVar10 = uVar8; uVar8 = uVar12; } while ((int)uVar12 < (int)uVar10); } if (*(int *)(param_1 + 10) < (int)(uVar3 + 1)) { FUN_18047cb30(param_1 + 9,uVar3 + 9 + (int)(uVar3 + 1) / 2 & 0xfffffff8); } uVar3 = *(uint *)((longlong)param_1 + 0x54); if (uVar12 < uVar3) { pvVar1 = (void *)(param_1[9] + (longlong)(int)uVar12 * 8); memmove((void *)((longlong)pvVar1 + 8),pvVar1,(longlong)(int)(uVar3 - uVar12) << 3); pdVar11 = (double *)(param_1[9] + (longlong)(int)uVar12 * 8); } else { pdVar11 = (double *)(param_1[9] + (longlong)(int)uVar3 * 8); } *pdVar11 = dVar14; *(int *)((longlong)param_1 + 0x54) = *(int *)((longlong)param_1 + 0x54) + 1; if (*(char *)(param_1 + 8) != '\0') { local_f8 = local_b0; FUN_18054ad70(param_1,local_e8,param_1[4],local_9c); } local_88 = _DAT_1824c4970; uStack_80 = _UNK_1824c4978; local_78 = _DAT_1824c49d0; uStack_70 = _UNK_1824c49d8; local_68 = _DAT_1824c49f0; uStack_60 = _UNK_1824c49f8; local_58 = 0x5dc00; local_54 = 0xac440; local_50 = 0xbb800; puVar13 = (uint *)&local_88; do { uVar3 = *puVar13; pdVar9 = (double *)param_1[9]; pdVar11 = pdVar9 + *(int *)((longlong)param_1 + 0x54); if (pdVar9 != pdVar11) { do { if ((double)(int)uVar3 == *pdVar9) goto LAB_18054a5c8; pdVar9 = pdVar9 + 1; } while (pdVar9 != pdVar11); } local_a8 = (uint)local_a2 * (uint)local_ae * uVar3 >> 3; local_ac = uVar3; iVar5 = (**(code **)(*local_e8 + 0x38)) (local_e8,*(char *)(param_1 + 8) != '\0',local_b0,0); if (-1 < iVar5) { pdVar9 = (double *)param_1[9]; pdVar11 = pdVar9 + *(int *)((longlong)param_1 + 0x54); if (pdVar9 != pdVar11) { do { if ((double)(int)uVar3 == *pdVar9) goto LAB_18054a5c8; pdVar9 = pdVar9 + 1; } while (pdVar9 != pdVar11); } dVar14 = (double)(int)uVar3; uVar3 = *(uint *)((longlong)param_1 + 0x54); uVar12 = 0; uVar8 = 0; uVar10 = uVar3; if (0 < (int)uVar3) { do { uVar12 = uVar8; dVar2 = *(double *)(param_1[9] + (longlong)(int)uVar12 * 8); if ((dVar2 <= dVar14) && (dVar14 <= dVar2)) { LAB_18054a553: uVar12 = uVar12 + 1; break; } uVar8 = (int)(uVar12 + uVar10) >> 1; dVar2 = *(double *)(param_1[9] + (longlong)(int)uVar8 * 8); if (uVar8 == uVar12) { if (dVar2 <= dVar14) goto LAB_18054a553; break; } if (dVar2 <= dVar14) { uVar12 = uVar8; uVar8 = uVar10; } uVar10 = uVar8; uVar8 = uVar12; } while ((int)uVar12 < (int)uVar10); } iVar5 = uVar3 + 1; if (*(int *)(param_1 + 10) < iVar5) { if (iVar5 < 0) { iVar5 = uVar3 + 2; } FUN_18047cb30(param_1 + 9,uVar3 + 9 + (iVar5 >> 1) & 0xfffffff8); } uVar3 = *(uint *)((longlong)param_1 + 0x54); if (uVar12 < uVar3) { pvVar1 = (void *)(param_1[9] + (longlong)(int)uVar12 * 8); memmove((void *)((longlong)pvVar1 + 8),pvVar1,(longlong)(int)(uVar3 - uVar12) << 3); pdVar11 = (double *)(param_1[9] + (longlong)(int)uVar12 * 8); } else { pdVar11 = (double *)(param_1[9] + (longlong)(int)uVar3 * 8); } *pdVar11 = dVar14; *(int *)((longlong)param_1 + 0x54) = *(int *)((longlong)param_1 + 0x54) + 1; } LAB_18054a5c8: puVar13 = puVar13 + 1; } while (puVar13 != &local_4c); if (local_e8 != (longlong *)0x0) { (**(code **)(*local_e8 + 0x10))(); } } } } } ############ FUN_ 18054bdc0 size=993 ############ void FUN_18054bdc0(longlong param_1) { longlong *plVar1; double *pdVar2; void *_Dst; int *piVar3; int iVar4; char cVar5; int iVar6; int iVar7; double *pdVar8; int *piVar9; int iVar10; int iVar11; longlong lVar12; longlong lVar13; int iVar14; longlong lVar15; double dVar16; undefined8 uVar17; undefined8 uVar18; undefined8 uVar19; undefined8 uVar20; undefined8 uVar21; uVar17 = 0xfffffffffffffffe; iVar14 = 0; *(undefined8 *)(param_1 + 0x268) = 0; uVar18 = 0; uVar19 = 0; uVar20 = 0; uVar21 = 0; cVar5 = FUN_18054d8d0(); if (cVar5 == '\0') goto LAB_18054c19f; lVar13 = *(longlong *)(param_1 + 0x240); if (lVar13 == 0) { LAB_18054bf7f: lVar13 = *(longlong *)(param_1 + 0x248); LAB_18054bf86: *(undefined8 *)(param_1 + 600) = *(undefined8 *)(lVar13 + 0x20); *(undefined4 *)(param_1 + 0x260) = *(undefined4 *)(lVar13 + 0x30); *(undefined4 *)(param_1 + 0x264) = *(undefined4 *)(lVar13 + 0x34); FUN_18051b540(param_1 + 0x270,lVar13 + 0x48); } else { lVar12 = *(longlong *)(param_1 + 0x248); if (lVar12 == 0) { if (lVar13 == 0) goto LAB_18054bf7f; goto LAB_18054bf86; } dVar16 = *(double *)(lVar12 + 0x20); if (*(double *)(lVar13 + 0x20) <= *(double *)(lVar12 + 0x20)) { dVar16 = *(double *)(lVar13 + 0x20); } *(double *)(param_1 + 600) = dVar16; iVar11 = *(int *)(lVar13 + 0x30); if (*(int *)(lVar12 + 0x30) < *(int *)(lVar13 + 0x30)) { iVar11 = *(int *)(lVar12 + 0x30); } *(int *)(param_1 + 0x260) = iVar11; iVar11 = *(int *)(*(longlong *)(param_1 + 0x248) + 0x34); iVar6 = *(int *)(*(longlong *)(param_1 + 0x240) + 0x34); if (iVar6 < iVar11) { iVar6 = iVar11; } *(int *)(param_1 + 0x264) = iVar6; plVar1 = (longlong *)(param_1 + 0x270); FUN_18051b540(plVar1,*(longlong *)(param_1 + 0x240) + 0x48); lVar13 = *(longlong *)(param_1 + 0x248); if (plVar1 != (longlong *)(lVar13 + 0x48)) { if (*(int *)(lVar13 + 0x54) < 1) { *(undefined4 *)(param_1 + 0x27c) = 0; if (*(int *)(param_1 + 0x278) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar1); } *(undefined4 *)(param_1 + 0x278) = 0; } else { iVar11 = *(int *)(param_1 + 0x27c) + -1; if (-1 < iVar11) { lVar12 = (longlong)iVar11 * 8; lVar15 = lVar12; do { pdVar8 = *(double **)(lVar13 + 0x48); pdVar2 = pdVar8 + *(int *)(lVar13 + 0x54); if (pdVar8 != pdVar2) { do { if (*(double *)(lVar12 + *plVar1) == *pdVar8) goto LAB_18054bf69; pdVar8 = pdVar8 + 1; } while (pdVar8 != pdVar2); } _Dst = (void *)(lVar15 + *plVar1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)(param_1 + 0x27c) - iVar11) + -1) << 3); *(int *)(param_1 + 0x27c) = *(int *)(param_1 + 0x27c) + -1; iVar6 = *(int *)(param_1 + 0x27c); iVar10 = 0; if (0 < iVar6 * 2) { iVar10 = iVar6 * 2; } if (iVar10 < *(int *)(param_1 + 0x278)) { if (iVar6 < 8) { iVar6 = 8; } if (iVar6 < *(int *)(param_1 + 0x278)) { FUN_18047cb30(plVar1); } } LAB_18054bf69: lVar15 = lVar15 + -8; lVar12 = lVar12 + -8; iVar11 = iVar11 + -1; } while (-1 < iVar11); } } } } plVar1 = (longlong *)(param_1 + 0x280); *(undefined4 *)(param_1 + 0x28c) = 0; if (*(int *)(param_1 + 0x288) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar1); } *(undefined4 *)(param_1 + 0x288) = 0; iVar11 = *(int *)(param_1 + 0x264); iVar6 = *(int *)(param_1 + 0x28c); lVar13 = *plVar1; iVar10 = iVar14; if (0 < iVar6) { do { iVar7 = *(int *)(lVar13 + (longlong)iVar10 * 4); if ((iVar7 <= iVar11) && (iVar11 <= iVar7)) { LAB_18054c03e: iVar10 = iVar10 + 1; break; } iVar7 = iVar10 + iVar6 >> 1; if (iVar7 == iVar10) { if (*(int *)(lVar13 + (longlong)iVar7 * 4) <= iVar11) goto LAB_18054c03e; break; } iVar4 = iVar7; if (*(int *)(lVar13 + (longlong)iVar7 * 4) <= iVar11) { iVar4 = iVar6; iVar10 = iVar7; } iVar6 = iVar4; } while (iVar10 < iVar6); } FUN_18051b850(plVar1,iVar10,iVar11,iVar6,uVar17,uVar18,uVar19,uVar20,uVar21); iVar11 = *(int *)(param_1 + 0x260); if (iVar11 != *(int *)(param_1 + 0x264)) { iVar6 = *(int *)(param_1 + 0x28c); lVar13 = *plVar1; iVar10 = iVar14; if (0 < iVar6) { do { iVar7 = *(int *)(lVar13 + (longlong)iVar10 * 4); if ((iVar7 <= iVar11) && (iVar11 <= iVar7)) { LAB_18054c0b5: iVar10 = iVar10 + 1; break; } iVar7 = iVar10 + iVar6 >> 1; if (iVar7 == iVar10) { if (*(int *)(lVar13 + (longlong)iVar7 * 4) <= iVar11) goto LAB_18054c0b5; break; } if (*(int *)(lVar13 + (longlong)iVar7 * 4) <= iVar11) { iVar10 = iVar7; iVar7 = iVar6; } iVar6 = iVar7; } while (iVar10 < iVar6); } FUN_18051b850(plVar1,iVar10,iVar11,iVar6,uVar17,uVar18,uVar19,uVar20,uVar21); } iVar11 = 0x40; lVar13 = 0x28; do { if ((*(int *)(param_1 + 0x260) <= iVar11) && (iVar11 < 0x801)) { piVar9 = (int *)*plVar1; piVar3 = piVar9 + *(int *)(param_1 + 0x28c); for (; piVar9 != piVar3; piVar9 = piVar9 + 1) { if (iVar11 == *piVar9) goto LAB_18054c16f; } iVar6 = *(int *)(param_1 + 0x28c); lVar12 = *plVar1; iVar10 = iVar14; if (0 < iVar6) { do { iVar7 = *(int *)(lVar12 + (longlong)iVar10 * 4); if ((iVar7 <= iVar11) && (iVar11 <= iVar7)) { LAB_18054c162: iVar10 = iVar10 + 1; break; } iVar7 = iVar10 + iVar6 >> 1; if (iVar7 == iVar10) { if (*(int *)(lVar12 + (longlong)iVar7 * 4) <= iVar11) goto LAB_18054c162; break; } iVar4 = iVar7; if (*(int *)(lVar12 + (longlong)iVar7 * 4) <= iVar11) { iVar4 = iVar6; iVar10 = iVar7; } iVar6 = iVar4; } while (iVar10 < iVar6); } FUN_18051b850(plVar1,iVar10,iVar11); } LAB_18054c16f: if (iVar11 < 0x200) { iVar6 = 0x20; } else { iVar6 = 0x80; if (iVar11 < 0x400) { iVar6 = 0x40; } } iVar11 = iVar11 + iVar6; lVar13 = lVar13 + -1; } while (lVar13 != 0); LAB_18054c19f: /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 180551040 size=130 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180551040(undefined8 param_1,longlong *param_2) { int iVar1; undefined8 *puVar2; longlong lVar3; undefined1 auStack_58 [32]; undefined8 local_38; undefined4 uStack_30; undefined4 uStack_2c; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; ulonglong local_18; uStack_1c = _UNK_1824c4e9c; uStack_20 = _UNK_1824c4e98; uStack_24 = _UNK_1824c4e94; local_28 = _DAT_1824c4e90; uStack_2c = _UNK_1824c4e8c; uStack_30 = _UNK_1824c4e88; local_38._4_4_ = _UNK_1824c4e84; local_38._0_4_ = _DAT_1824c4e80; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; *param_2 = 0; param_2[1] = 0; FUN_18047cb30(param_2,8); lVar3 = 4; puVar2 = &local_38; do { iVar1 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar1 + 1; *(undefined8 *)(*param_2 + (longlong)iVar1 * 8) = *puVar2; lVar3 = lVar3 + -1; puVar2 = puVar2 + 1; } while (lVar3 != 0); } ############ FUN_ 180553e00 size=244 ############ void FUN_180553e00(longlong param_1) { int *piVar1; void *_Dst; int iVar2; undefined8 *puVar3; longlong lVar4; uint uVar5; longlong lVar6; FUN_1812a7720(); EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x18)); uVar5 = *(int *)(param_1 + 0x54) - 1; if (-1 < (int)uVar5) { lVar6 = (longlong)(int)uVar5 * 8; do { if (uVar5 < *(uint *)(param_1 + 0x54)) { lVar4 = *(longlong *)(lVar6 + *(longlong *)(param_1 + 0x48)); } else { lVar4 = 0; } if ((*(int *)(lVar4 + 8) == 1) && (uVar5 < *(uint *)(param_1 + 0x54))) { puVar3 = *(undefined8 **)(lVar6 + *(longlong *)(param_1 + 0x48)); _Dst = (void *)(*(longlong *)(param_1 + 0x48) + (longlong)(int)uVar5 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)(param_1 + 0x54) - uVar5) + -1) << 3); *(int *)(param_1 + 0x54) = *(int *)(param_1 + 0x54) + -1; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if ((*(int *)(param_1 + 0x54) * 2 < *(int *)(param_1 + 0x50)) && (*(int *)(param_1 + 0x54) < *(int *)(param_1 + 0x50))) { FUN_18047cb30(); } } lVar6 = lVar6 + -8; uVar5 = uVar5 - 1; } while (-1 < (int)uVar5); } /* WARNING: Could not recover jumptable at 0x000180553eed. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x18)); return; } ############ FUN_ 180554150 size=268 ############ void FUN_180554150(undefined8 *param_1) { int *piVar1; int iVar2; longlong lVar3; undefined8 *puVar4; longlong *plVar5; int iVar6; *param_1 = juce::Win32MidiService::Win32InputWrapper::vftable; lVar3 = param_1[8]; EnterCriticalSection((LPCRITICAL_SECTION)(lVar3 + 0x30)); iVar6 = 0; iVar2 = *(int *)(lVar3 + 0x6c); plVar5 = *(longlong **)(lVar3 + 0x60); if (0 < iVar2) { do { if (param_1 == (undefined8 *)*plVar5) { plVar5 = *(longlong **)(lVar3 + 0x60) + iVar6; memmove(plVar5,plVar5 + 1,(longlong)((iVar2 - iVar6) + -1) << 3); *(int *)(lVar3 + 0x6c) = *(int *)(lVar3 + 0x6c) + -1; iVar2 = *(int *)(lVar3 + 0x6c); iVar6 = 0; if (0 < iVar2 * 2) { iVar6 = iVar2 * 2; } if (iVar6 < *(int *)(lVar3 + 0x68)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar3 + 0x68)) { FUN_18047cb30(lVar3 + 0x60); } } break; } iVar6 = iVar6 + 1; plVar5 = plVar5 + 1; } while (iVar6 < iVar2); } FUN_180552b40(lVar3); FUN_1812a77d0(*(longlong *)(lVar3 + 0x28) + 8,10); LeaveCriticalSection((LPCRITICAL_SECTION)(lVar3 + 0x30)); puVar4 = (undefined8 *)param_1[8]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } /* WARNING: Subroutine does not return */ free((void *)param_1[4]); } ############ FUN_ 1805542b0 size=233 ############ undefined8 * FUN_1805542b0(undefined8 *param_1,ulonglong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; *param_1 = juce::Win32MidiService::MidiOutHandle::vftable; if ((HMIDIOUT)param_1[5] != (HMIDIOUT)0x0) { midiOutClose((HMIDIOUT)param_1[5]); } lVar2 = param_1[2]; iVar4 = 0; lVar3 = 0; iVar1 = *(int *)(lVar2 + 0x6c); if (0 < iVar1) { do { if (param_1 == *(undefined8 **)(*(longlong *)(lVar2 + 0x60) + lVar3 * 8)) { _Dst = (void *)(*(longlong *)(lVar2 + 0x60) + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(lVar2 + 0x6c) = *(int *)(lVar2 + 0x6c) + -1; iVar1 = *(int *)(lVar2 + 0x6c); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(lVar2 + 0x68)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x68)) { FUN_18047cb30(lVar2 + 0x60); } } break; } iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; } while (lVar3 < iVar1); } FUN_1804d1090(param_1 + 3); *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 18055c460 size=370 ############ void FUN_18055c460(longlong *param_1,int param_2,int param_3) { undefined8 *puVar1; uint uVar2; int iVar3; longlong lVar4; longlong *_Memory; undefined8 *_Memory_00; void *_Dst; uint *_Memory_01; int iVar5; undefined8 *puVar6; int iVar7; undefined8 *local_28; undefined8 local_20; iVar3 = *(int *)((longlong)param_1 + 0xc); param_3 = param_2 + param_3; iVar7 = 0; iVar5 = iVar7; if ((-1 < param_3) && (iVar5 = param_3, iVar3 < param_3)) { iVar5 = iVar3; } if ((-1 < param_2) && (iVar7 = param_2, iVar3 < param_2)) { iVar7 = iVar3; } iVar5 = iVar5 - iVar7; if (0 < iVar5) { local_28 = (undefined8 *)0x0; local_20 = 0; lVar4 = *param_1; FUN_18047cb30(&local_28,iVar5 / 2 + 8 + iVar5 & 0xfffffff8); puVar6 = local_28; iVar3 = local_20._4_4_; memcpy(local_28 + local_20._4_4_,(void *)((longlong)iVar7 * 8 + lVar4),(longlong)iVar5 * 8); _Dst = (void *)(*param_1 + (longlong)iVar7 * 8); local_20 = CONCAT44(iVar3 + iVar5,(undefined4)local_20); memmove(_Dst,(void *)((longlong)iVar5 * 8 + (longlong)_Dst), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar7) - iVar5) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) - iVar5; puVar1 = puVar6 + (iVar3 + iVar5); _Memory_00 = puVar6; while( true ) { if (puVar6 == puVar1) { if ((*(int *)((longlong)param_1 + 0xc) * 2 < (int)param_1[1]) && (*(int *)((longlong)param_1 + 0xc) < (int)param_1[1])) { FUN_18047cb30(param_1); } /* WARNING: Subroutine does not return */ free(_Memory_00); } _Memory = (longlong *)*puVar6; if (_Memory != (longlong *)0x0) break; puVar6 = puVar6 + 1; _Memory_00 = local_28; } _Memory_01 = (uint *)(*_Memory + -0x10); if ((*_Memory_01 & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory_01; *_Memory_01 = *_Memory_01 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_01); } } /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 1813c6260 size=215 ############ void FUN_1813c6260(undefined8 *param_1) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; longlong lVar4; longlong lVar5; int iVar6; *param_1 = juce::CodeEditorComponent::vftable; param_1[0x16] = juce::CodeEditorComponent::vftable; param_1[0x18] = juce::CodeEditorComponent::vftable; lVar5 = param_1[0x80]; if (lVar5 != 0) { lVar5 = lVar5 + 0x30; } lVar2 = param_1[0x19]; iVar6 = 0; lVar4 = 0; iVar1 = *(int *)(lVar2 + 0xb4); lVar3 = *(longlong *)(lVar2 + 0xa8); if (0 < iVar1) { do { if (lVar5 == *(longlong *)(lVar3 + lVar4 * 8)) { _Dst = (void *)(lVar3 + (longlong)iVar6 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar6) + -1) << 3); *(int *)(lVar2 + 0xb4) = *(int *)(lVar2 + 0xb4) + -1; iVar1 = *(int *)(lVar2 + 0xb4); iVar6 = 0; if (0 < iVar1 * 2) { iVar6 = iVar1 * 2; } if (iVar6 < *(int *)(lVar2 + 0xb0)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0xb0)) { FUN_18047cb30((longlong *)(lVar2 + 0xa8)); } } break; } iVar6 = iVar6 + 1; lVar4 = lVar4 + 1; } while (lVar4 < iVar1); } *(undefined4 *)((longlong)param_1 + 0x44c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x88]); } ############ FUN_ 18055a900 size=188 ############ void FUN_18055a900(longlong *param_1) { undefined8 *puVar1; int iVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; (**(code **)(*param_1 + 0x48))(param_1,1); lVar4 = param_1[9]; for (lVar3 = *(longlong *)(param_1[9] + 0x18); lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x18)) { lVar4 = lVar3; } if ((*(byte *)(lVar4 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar4 + 0x18) == 0) { return; } lVar4 = FUN_18134c2e0(); } else { lVar4 = FUN_1812d2bd0(); } if ((lVar4 != 0) && (param_1 = param_1 + 8, param_1 != (longlong *)0x0)) { puVar5 = *(undefined8 **)(lVar4 + 0x30); iVar2 = *(int *)(lVar4 + 0x3c); puVar1 = puVar5 + iVar2; for (; puVar5 != puVar1; puVar5 = puVar5 + 1) { if (param_1 == (longlong *)*puVar5) { return; } } if (*(int *)(lVar4 + 0x38) < iVar2 + 1) { FUN_18047cb30((longlong *)(lVar4 + 0x30),iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar4 + 0x3c); *(int *)(lVar4 + 0x3c) = iVar2 + 1; *(longlong **)(*(longlong *)(lVar4 + 0x30) + (longlong)iVar2 * 8) = param_1; } return; } ############ FUN_ 18055a9c0 size=258 ############ void FUN_18055a9c0(longlong *param_1) { undefined8 *puVar1; int iVar2; code *UNRECOVERED_JUMPTABLE; longlong lVar3; char cVar4; longlong lVar5; undefined8 *puVar6; cVar4 = FUN_181345240(param_1[9]); if ((HWND)param_1[10] != (HWND)0x0) { ShowWindow((HWND)param_1[10],-(uint)(cVar4 != '\0') & 8); } UNRECOVERED_JUMPTABLE = *(code **)(*param_1 + 0x50); if (UNRECOVERED_JUMPTABLE == FUN_18055a900) { (**(code **)(*param_1 + 0x48))(param_1,1); lVar5 = param_1[9]; for (lVar3 = *(longlong *)(param_1[9] + 0x18); lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x18)) { lVar5 = lVar3; } if ((*(byte *)(lVar5 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar5 + 0x18) == 0) { return; } lVar5 = FUN_18134c2e0(); } else { lVar5 = FUN_1812d2bd0(); } if ((lVar5 != 0) && (param_1 = param_1 + 8, param_1 != (longlong *)0x0)) { puVar6 = *(undefined8 **)(lVar5 + 0x30); iVar2 = *(int *)(lVar5 + 0x3c); puVar1 = puVar6 + iVar2; for (; puVar6 != puVar1; puVar6 = puVar6 + 1) { if (param_1 == (longlong *)*puVar6) { return; } } if (*(int *)(lVar5 + 0x38) < iVar2 + 1) { FUN_18047cb30((longlong *)(lVar5 + 0x30),iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar5 + 0x3c); *(int *)(lVar5 + 0x3c) = iVar2 + 1; *(longlong **)(*(longlong *)(lVar5 + 0x30) + (longlong)iVar2 * 8) = param_1; } return; } /* WARNING: Could not recover jumptable at 0x00018055aabf. Too many branches */ /* WARNING: Treating indirect jump as call */ (*UNRECOVERED_JUMPTABLE)(param_1); return; } ############ FUN_ 181414200 size=131 ############ void FUN_181414200(longlong param_1,longlong *param_2) { longlong *plVar1; longlong *plVar2; int iVar3; longlong *plVar4; if (param_2 != (longlong *)0x0) { plVar1 = (longlong *)(param_1 + 0x240110); plVar4 = (longlong *)*plVar1; iVar3 = *(int *)(param_1 + 0x24011c); plVar2 = plVar4 + iVar3; for (; plVar4 != plVar2; plVar4 = plVar4 + 1) { if (param_2 == (longlong *)*plVar4) goto LAB_18141426f; } if (*(int *)(param_1 + 0x240118) < iVar3 + 1) { FUN_18047cb30(plVar1,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(param_1 + 0x24011c); *(int *)(param_1 + 0x24011c) = iVar3 + 1; *(longlong **)(*plVar1 + (longlong)iVar3 * 8) = param_2; } LAB_18141426f: /* WARNING: Could not recover jumptable at 0x00018141427f. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_2 + 8))(param_2); return; } ############ FUN_ 18055fc30 size=315 ############ void FUN_18055fc30(undefined8 *param_1) { void *_Dst; uint uVar1; int iVar2; longlong lVar3; longlong lVar4; longlong *plVar5; longlong lVar6; uint *_Memory; int iVar7; lVar3 = param_1[4]; *param_1 = CueVisualisationBase::vftable; iVar7 = 0; param_1[1] = CueVisualisationBase::vftable; lVar6 = 0; iVar2 = *(int *)(lVar3 + 0x24011c); lVar4 = *(longlong *)(lVar3 + 0x240110); if (0 < iVar2) { do { if (param_1 == *(undefined8 **)(lVar4 + lVar6 * 8)) { _Dst = (void *)(lVar4 + (longlong)iVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar3 + 0x24011c) = *(int *)(lVar3 + 0x24011c) + -1; iVar2 = *(int *)(lVar3 + 0x24011c); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (iVar7 < *(int *)(lVar3 + 0x240118)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar3 + 0x240118)) { FUN_18047cb30((longlong *)(lVar3 + 0x240110)); } } break; } iVar7 = iVar7 + 1; lVar6 = lVar6 + 1; } while (lVar6 < iVar2); } if (param_1[100] != 0) { FUN_18056a070(); } FUN_180568840(param_1 + 0x60); _Memory = (uint *)(param_1[0x5e] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180560070(param_1 + 0x28); FUN_180484cd0(param_1 + 0xd); plVar5 = (longlong *)param_1[0xc]; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x20))(plVar5,plVar5 != param_1 + 5); param_1[0xc] = 0; } param_1[1] = ProcessorStateManagerOptionListener::vftable; *param_1 = DummyEqualizerWrapperBase::Listener::vftable; return; } ############ FUN_ 180561b40 size=411 ############ undefined8 * FUN_180561b40(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong *plVar2; int iVar3; longlong lVar4; longlong *plVar5; longlong *plVar6; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[1] = Soothe2VertexData::vftable; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; *(undefined2 *)(param_1 + 0xe) = 0; *(undefined1 *)((longlong)param_1 + 0x72) = 0; puVar1 = param_1 + 0xf; *param_1 = BlurLayer::vftable; *puVar1 = BlurLayer::vftable; param_1[0x10] = param_2; param_1[0x11] = param_3; *(undefined4 *)(param_1 + 0x12) = 0x14; *(undefined8 *)((longlong)param_1 + 0x94) = 0x2c; *(undefined8 *)((longlong)param_1 + 0x9c) = 0; *(undefined8 *)((longlong)param_1 + 0xa4) = 0; *(undefined8 *)((longlong)param_1 + 0xac) = 0; *(undefined8 *)((longlong)param_1 + 0xb4) = 0; *(undefined8 *)((longlong)param_1 + 0xbc) = 0; *(undefined8 *)((longlong)param_1 + 0xc4) = 0; *(undefined4 *)((longlong)param_1 + 0xcc) = 0; *(undefined2 *)(param_1 + 0x1a) = 0x100; param_1[0x1b] = 0; param_1[0x1c] = 0; param_1[0x1d] = 0; param_1[0x1e] = 0; param_1[0x1f] = param_4; FUN_18056cd00(param_1 + 5,*(undefined4 *)((longlong)param_1 + 0x94),param_3,param_4, 0xfffffffffffffffe); FUN_18056c7b0(param_1 + 8,*(undefined4 *)((longlong)param_1 + 0x94)); lVar4 = param_1[0x10]; if (puVar1 != (undefined8 *)0x0) { plVar6 = (longlong *)(lVar4 + 0x80); plVar5 = (longlong *)*plVar6; iVar3 = *(int *)(lVar4 + 0x8c); plVar2 = plVar5 + iVar3; for (; plVar5 != plVar2; plVar5 = plVar5 + 1) { if (puVar1 == (undefined8 *)*plVar5) goto LAB_180561cbf; } if (*(int *)(lVar4 + 0x88) < iVar3 + 1) { FUN_18047cb30(plVar6,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(lVar4 + 0x8c); *(int *)(lVar4 + 0x8c) = iVar3 + 1; *(undefined8 **)(*plVar6 + (longlong)iVar3 * 8) = puVar1; } LAB_180561cbf: FUN_180562440(param_1); return param_1; } ############ FUN_ 180561ce0 size=292 ############ void FUN_180561ce0(undefined8 *param_1) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int *piVar4; undefined8 *puVar5; longlong lVar6; longlong *plVar7; int iVar8; *param_1 = BlurLayer::vftable; lVar2 = param_1[0x10]; param_1[0xf] = BlurLayer::vftable; if (lVar2 != 0) { iVar8 = 0; lVar6 = 0; iVar1 = *(int *)(lVar2 + 0x8c); lVar3 = *(longlong *)(lVar2 + 0x80); if (0 < iVar1) { do { if (param_1 + 0xf == *(undefined8 **)(lVar3 + lVar6 * 8)) { _Dst = (void *)(lVar3 + (longlong)iVar8 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar8) + -1) << 3); *(int *)(lVar2 + 0x8c) = *(int *)(lVar2 + 0x8c) + -1; iVar1 = *(int *)(lVar2 + 0x8c); iVar8 = 0; if (0 < iVar1 * 2) { iVar8 = iVar1 * 2; } if (iVar8 < *(int *)(lVar2 + 0x88)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x88)) { FUN_18047cb30((longlong *)(lVar2 + 0x80)); } } break; } iVar8 = iVar8 + 1; lVar6 = lVar6 + 1; } while (lVar6 < iVar1); } } piVar4 = (int *)param_1[0x1c]; if (piVar4 == (int *)0x0) { puVar5 = (undefined8 *)param_1[0x1b]; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar4 = (int *)(puVar5 + 1); iVar1 = *piVar4; *piVar4 = *piVar4 + -1; UNLOCK(); if (iVar1 == 1) { (**(code **)*puVar5)(puVar5,1); } } FUN_1805619f0(param_1 + 1); return; } if ((*piVar4 != 0) && (plVar7 = (longlong *)FUN_1805989c0(), *(longlong *)(piVar4 + 4) == *plVar7) ) { glDeleteTextures(1,piVar4); piVar4[0] = 0; piVar4[1] = 0; piVar4[2] = 0; } /* WARNING: Subroutine does not return */ free(piVar4); } ############ FUN_ 180561e60 size=195 ############ void FUN_180561e60(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; longlong lVar5; if (*(longlong *)(param_1 + 8) == param_2) { iVar1 = *(int *)(param_2 + 0x8c); lVar2 = *(longlong *)(param_2 + 0x80); lVar5 = 0; if (param_1 != 0x78) { lVar5 = param_1; } iVar4 = 0; lVar3 = 0; if (0 < iVar1) { while (lVar5 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { *(undefined8 *)(param_1 + 8) = 0; return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_2 + 0x8c) = *(int *)(param_2 + 0x8c) + -1; iVar1 = *(int *)(param_2 + 0x8c); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_2 + 0x88)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_2 + 0x88)) { FUN_18047cb30((longlong *)(param_2 + 0x80)); } } } *(undefined8 *)(param_1 + 8) = 0; } return; } ############ FUN_ 180562fe0 size=139 ############ void FUN_180562fe0(longlong param_1) { longlong lVar1; longlong *plVar2; int iVar3; longlong lVar4; longlong *plVar5; longlong *plVar6; if ((param_1 != 0) && (lVar1 = param_1 + 0x78, lVar1 != 0)) { lVar4 = *(longlong *)(*(longlong *)(param_1 + 0x170) + 0x168); plVar6 = (longlong *)(lVar4 + 0x2404c0); plVar5 = (longlong *)*plVar6; iVar3 = *(int *)(lVar4 + 0x2404cc); plVar2 = plVar5 + iVar3; for (; plVar5 != plVar2; plVar5 = plVar5 + 1) { if (lVar1 == *plVar5) { return; } } if (*(int *)(lVar4 + 0x2404c8) < iVar3 + 1) { FUN_18047cb30(plVar6,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(lVar4 + 0x2404cc); *(int *)(lVar4 + 0x2404cc) = iVar3 + 1; *(longlong *)(*plVar6 + (longlong)iVar3 * 8) = lVar1; } return; } ############ FUN_ 180562e20 size=394 ############ void FUN_180562e20(undefined8 *param_1) { undefined8 *puVar1; int iVar2; longlong lVar3; longlong lVar4; void *pvVar5; longlong lVar6; void *_Memory; int iVar7; *param_1 = FilterCurveLayer::vftable; param_1[0xf] = FilterCurveLayer::vftable; puVar1 = param_1 + 0x10; *puVar1 = FilterCurveLayer::vftable; param_1[0x11] = FilterCurveLayer::vftable; FUN_180568380(param_1[0x2e]); FUN_180563070(param_1); lVar3 = param_1[0x2f]; lVar4 = *(longlong *)(lVar3 + 0x240110); iVar7 = 0; lVar6 = 0; iVar2 = *(int *)(lVar3 + 0x24011c); if (0 < iVar2) { do { if (puVar1 == *(undefined8 **)(lVar4 + lVar6 * 8)) { pvVar5 = (void *)(lVar4 + (longlong)iVar7 * 8); memmove(pvVar5,(void *)((longlong)pvVar5 + 8),(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar3 + 0x24011c) = *(int *)(lVar3 + 0x24011c) + -1; iVar2 = *(int *)(lVar3 + 0x24011c); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (iVar7 < *(int *)(lVar3 + 0x240118)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar3 + 0x240118)) { FUN_18047cb30((longlong *)(lVar3 + 0x240110)); } } break; } iVar7 = iVar7 + 1; lVar6 = lVar6 + 1; } while (lVar6 < iVar2); } _eh_vector_destructor_iterator_(param_1 + 0x1c,0x18,6,FUN_18047cfb0); if (param_1[0x17] != 0) { FUN_18056a070(); } pvVar5 = (void *)param_1[0x13]; if (pvVar5 == (void *)0x0) { *puVar1 = DummyEqualizerWrapperBase::Listener::vftable; param_1[0xf] = Soothe2ModuleBase::Listener::vftable; FUN_1805619f0(param_1 + 1); return; } _Memory = pvVar5; if ((0xfff < (param_1[0x15] - (longlong)pvVar5 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180563070 size=318 ############ void FUN_180563070(longlong param_1) { void *pvVar1; int iVar2; longlong lVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; int iVar7; ulonglong uVar8; ulonglong uVar9; uVar6 = 0; uVar9 = param_1 + 0x78; if (param_1 == 0) { uVar9 = uVar6; } lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x170) + 0x168); iVar2 = *(int *)(lVar3 + 0x2404cc); lVar4 = *(longlong *)(lVar3 + 0x2404c0); uVar5 = uVar6; uVar8 = uVar6; if (0 < iVar2) { do { iVar7 = (int)uVar8; if (uVar9 == *(ulonglong *)(lVar4 + uVar5 * 8)) { pvVar1 = (void *)(lVar4 + (longlong)iVar7 * 8); memmove(pvVar1,(void *)((longlong)pvVar1 + 8),(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar3 + 0x2404cc) = *(int *)(lVar3 + 0x2404cc) + -1; iVar2 = *(int *)(lVar3 + 0x2404cc); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (iVar7 < *(int *)(lVar3 + 0x2404c8)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar3 + 0x2404c8)) { FUN_18047cb30((longlong *)(lVar3 + 0x2404c0)); } } break; } uVar8 = (ulonglong)(iVar7 + 1); uVar5 = uVar5 + 1; } while ((longlong)uVar5 < (longlong)iVar2); } lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x170) + 0x170); iVar2 = *(int *)(lVar3 + 0x2404cc); lVar4 = *(longlong *)(lVar3 + 0x2404c0); uVar9 = uVar6; if (0 < iVar2) { do { iVar7 = (int)uVar9; if (param_1 + 0x78 == *(longlong *)(lVar4 + uVar6 * 8)) { pvVar1 = (void *)(lVar4 + (longlong)iVar7 * 8); memmove(pvVar1,(void *)((longlong)pvVar1 + 8),(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar3 + 0x2404cc) = *(int *)(lVar3 + 0x2404cc) + -1; iVar2 = *(int *)(lVar3 + 0x2404cc); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (*(int *)(lVar3 + 0x2404c8) <= iVar7) { return; } if (iVar2 < 8) { iVar2 = 8; } if (*(int *)(lVar3 + 0x2404c8) <= iVar2) { return; } FUN_18047cb30((longlong *)(lVar3 + 0x2404c0)); return; } uVar9 = (ulonglong)(iVar7 + 1); uVar6 = uVar6 + 1; } while ((longlong)uVar6 < (longlong)iVar2); } return; } ############ FUN_ 1815eeb30 size=395 ############ longlong FUN_1815eeb30(longlong param_1,longlong *param_2,uint param_3) { LPCRITICAL_SECTION lpCriticalSection; longlong *plVar1; uint uVar2; longlong lVar3; longlong *plVar4; int iVar5; longlong *plVar6; void *_Src; undefined8 *puVar7; longlong lVar8; lVar3 = __RTDynamicCast(param_2,0,&CloudyPopupMenuItemBase::RTTI_Type_Descriptor, &CloudyPopupMenuItem::RTTI_Type_Descriptor,0); if (((lVar3 != 0) && (*(longlong *)(param_1 + 0xd8) != 0)) && (lVar8 = *(longlong *)(param_1 + 0xd8) + 0x2e0, lVar8 != 0)) { plVar4 = (longlong *)(lVar3 + 0x160); plVar6 = (longlong *)*plVar4; iVar5 = *(int *)(lVar3 + 0x16c); plVar1 = plVar6 + iVar5; for (; plVar6 != plVar1; plVar6 = plVar6 + 1) { if (lVar8 == *plVar6) goto LAB_1815eebe3; } if (*(int *)(lVar3 + 0x168) < iVar5 + 1) { FUN_18047cb30(plVar4,iVar5 + 9 + (iVar5 + 1) / 2 & 0xfffffff8); } iVar5 = *(int *)(lVar3 + 0x16c); *(int *)(lVar3 + 0x16c) = iVar5 + 1; *(longlong *)(*plVar4 + (longlong)iVar5 * 8) = lVar8; } LAB_1815eebe3: (**(code **)(*param_2 + 0x30))(param_2,param_1); lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x280); EnterCriticalSection(lpCriticalSection); iVar5 = *(int *)(param_1 + 700) + 1; if (*(int *)(param_1 + 0x2b8) < iVar5) { FUN_18048a270(lpCriticalSection,*(int *)(param_1 + 700) + 9 + iVar5 / 2 & 0xfffffff8); } uVar2 = *(uint *)(param_1 + 700); if (param_3 < uVar2) { _Src = (void *)(*(longlong *)(param_1 + 0x2b0) + (longlong)(int)param_3 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar2 - param_3) << 3); puVar7 = (undefined8 *)(*(longlong *)(param_1 + 0x2b0) + (longlong)(int)param_3 * 8); } else { puVar7 = (undefined8 *)(*(longlong *)(param_1 + 0x2b0) + (longlong)(int)uVar2 * 8); } *puVar7 = param_2; *(int *)(param_1 + 700) = *(int *)(param_1 + 700) + 1; LeaveCriticalSection(lpCriticalSection); plVar4 = (longlong *)(**(code **)(*param_2 + 8))(param_2); if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x58))(plVar4,1); FUN_181343cc0(param_1,plVar4,0xffffffff); } return param_1; } ############ FUN_ 1815f8200 size=659 ############ void FUN_1815f8200(longlong param_1,longlong param_2,longlong *param_3,longlong *param_4, longlong *param_5) { int iVar1; longlong lVar2; longlong *plVar3; longlong *plVar4; undefined4 uVar5; int iVar6; longlong *plVar7; lVar2 = *(longlong *)(param_1 + 200); if (lVar2 == param_2) { plVar3 = (longlong *)param_3[7]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_3); param_3[7] = 0; } plVar3 = (longlong *)param_4[7]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_4); param_4[7] = 0; } goto LAB_1815f8469; } if (lVar2 != 0) { lVar2 = *(longlong *)(lVar2 + 0x18); if (lVar2 != 0) { plVar3 = *(longlong **)(lVar2 + 0x40); for (plVar4 = plVar3; plVar4 != plVar3 + *(int *)(lVar2 + 0x4c); plVar4 = plVar4 + 1) { if (param_1 == *plVar4) { if ((int)((longlong)plVar4 - (longlong)plVar3 >> 3) != -1) { plVar4 = plVar3; goto joined_r0x0001815f82da; } break; } } } goto LAB_1815f8304; } goto LAB_1815f838f; joined_r0x0001815f82da: if (plVar4 == plVar3 + *(int *)(lVar2 + 0x4c)) goto LAB_1815f82ee; if (param_1 == *plVar4) { uVar5 = (undefined4)((longlong)plVar4 - (longlong)plVar3 >> 3); goto LAB_1815f82f3; } plVar4 = plVar4 + 1; goto joined_r0x0001815f82da; LAB_1815f82ee: uVar5 = 0xffffffff; LAB_1815f82f3: FUN_181343a90(lVar2,uVar5,1,1,0xfffffffffffffffe); LAB_1815f8304: lVar2 = *(longlong *)(param_1 + 200); plVar3 = *(longlong **)(lVar2 + 0x80); iVar1 = *(int *)(lVar2 + 0x8c); plVar4 = plVar3; iVar6 = 0; if (0 < iVar1) { do { if (param_1 + 0xb0 == *plVar4) { plVar3 = plVar3 + iVar6; memmove(plVar3,plVar3 + 1,(longlong)((iVar1 - iVar6) + -1) << 3); *(int *)(lVar2 + 0x8c) = *(int *)(lVar2 + 0x8c) + -1; iVar1 = *(int *)(lVar2 + 0x8c); iVar6 = 0; if (0 < iVar1 * 2) { iVar6 = iVar1 * 2; } if (iVar6 < *(int *)(lVar2 + 0x88)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x88)) { FUN_18047cb30((longlong *)(lVar2 + 0x80)); } } break; } iVar6 = iVar6 + 1; plVar4 = plVar4 + 1; } while (iVar6 < iVar1); } LAB_1815f838f: *(longlong *)(param_1 + 200) = param_2; lVar2 = param_1 + 0xb0; if (lVar2 != 0) { plVar7 = (longlong *)(param_2 + 0x80); plVar4 = (longlong *)*plVar7; iVar1 = *(int *)(param_2 + 0x8c); plVar3 = plVar4 + iVar1; for (; plVar4 != plVar3; plVar4 = plVar4 + 1) { if (lVar2 == *plVar4) goto LAB_1815f83f5; } if (*(int *)(param_2 + 0x88) < iVar1 + 1) { FUN_18047cb30(plVar7,iVar1 + 9 + (iVar1 + 1) / 2 & 0xfffffff8); } iVar1 = *(int *)(param_2 + 0x8c); *(int *)(param_2 + 0x8c) = iVar1 + 1; *(longlong *)(*plVar7 + (longlong)iVar1 * 8) = lVar2; } LAB_1815f83f5: FUN_180488d40(param_1 + 0xe0,param_3); FUN_180488d40(param_1 + 0x120,param_4); FUN_180488d40(param_1 + 0x160,param_5); plVar3 = (longlong *)param_3[7]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_3); param_3[7] = 0; } plVar3 = (longlong *)param_4[7]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_4); param_4[7] = 0; } LAB_1815f8469: plVar3 = (longlong *)param_5[7]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_5); param_5[7] = 0; } return; } ############ FUN_ 18133e200 size=159 ############ void FUN_18133e200(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong *plVar2; longlong lVar3; int iVar4; plVar2 = *(longlong **)(param_1 + 0x78); if (plVar2 != (longlong *)0x0) { iVar1 = *(int *)((longlong)plVar2 + 0xc); iVar4 = 0; lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(*plVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(*plVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)((longlong)plVar2 + 0xc) = *(int *)((longlong)plVar2 + 0xc) + -1; iVar1 = *(int *)((longlong)plVar2 + 0xc); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < (int)plVar2[1]) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < (int)plVar2[1]) { FUN_18047cb30(plVar2); } } } } return; } ############ FUN_ 180583860 size=862 ############ void FUN_180583860(longlong param_1,longlong param_2) { uint uVar1; void *_Src; longlong *plVar2; undefined8 uVar3; ulonglong uVar4; int iVar5; longlong lVar6; int iVar7; longlong *plVar8; longlong *plVar9; ulonglong uVar10; longlong *local_c8; undefined8 local_c0; longlong *local_b8; undefined8 local_b0; undefined4 local_a8; int iStack_a4; int local_a0; int iStack_9c; undefined **local_98; undefined **local_90 [2]; undefined ***local_80; undefined8 local_78; undefined8 local_70; undefined1 local_68; void *local_60; undefined4 local_58; int local_54; undefined8 local_48; undefined4 local_40; undefined4 uStack_3c; undefined4 uStack_38; undefined4 uStack_34; local_48 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0xc0) == 0) { return; } iVar5 = *(int *)(param_2 + 0xc); uVar1 = *(uint *)(param_2 + 8); uVar10 = *(ulonglong *)(param_1 + 200); uVar4 = uVar10 & 0xffffffff; if ((int)uVar1 < (int)uVar10) { uVar4 = (ulonglong)uVar1; } local_a8 = (undefined4)uVar4; iStack_9c = (int)(uVar10 >> 0x20); iStack_a4 = iStack_9c; if (iVar5 < iStack_9c) { iStack_a4 = iVar5; } local_a0 = (int)uVar10 - uVar1; iStack_9c = iStack_9c - iVar5; if (local_a0 < 0) { local_a0 = -local_a0; } if (iStack_9c < 0) { iStack_9c = -iStack_9c; } FUN_18134bfe0(param_1,uVar4,iStack_a4,local_a0,iStack_9c); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,1); uVar10 = 0; local_c8 = (longlong *)0x0; local_c0 = 0; local_40 = *(undefined4 *)(param_1 + 0x20); uStack_3c = *(undefined4 *)(param_1 + 0x24); uStack_38 = *(undefined4 *)(param_1 + 0x28); uStack_34 = *(undefined4 *)(param_1 + 0x2c); (**(code **)(**(longlong **)(param_1 + 0xc0) + 8)) (*(longlong **)(param_1 + 0xc0),&local_c8,&local_40); if ((*(byte *)(param_2 + 0x10) & 1) == 0) { if (((*(uint *)(param_2 + 0x10) >> 1 & 1) != 0) || ((*(uint *)(param_2 + 0x10) >> 2 & 1) != 0)) { local_b8 = (longlong *)0x0; local_b0 = 0; iVar5 = *(int *)(param_1 + 0xbc); _Src = *(void **)(param_1 + 0xb0); iVar7 = 0; if (0 < iVar5) { FUN_18047cb30(&local_b8,iVar5 + 8 + iVar5 / 2 & 0xfffffff8); iVar7 = local_b0._4_4_; } plVar8 = local_b8; memcpy(local_b8 + iVar7,_Src,(longlong)iVar5 << 3); iVar7 = iVar7 + iVar5; local_b0 = CONCAT44(iVar7,(undefined4)local_b0); if ((0 < local_c0._4_4_) && (iVar5 = iVar7 + -1, -1 < iVar5)) { lVar6 = (longlong)iVar5 * 8; plVar9 = local_c8; iVar7 = local_c0._4_4_; do { if (plVar9 != plVar9 + iVar7) { plVar2 = plVar9; do { if (*(longlong *)(lVar6 + (longlong)plVar8) == *plVar2) { FUN_18049b4a0(&local_b8,iVar5); plVar8 = local_b8; plVar9 = local_c8; iVar7 = local_c0._4_4_; break; } plVar2 = plVar2 + 1; } while (plVar2 != plVar9 + iVar7); } lVar6 = lVar6 + -8; iVar5 = iVar5 + -1; } while (-1 < iVar5); iVar7 = local_b0._4_4_; } FUN_180586370(&local_c8,param_1 + 0xb0); iVar5 = local_c0._4_4_ + iVar7; if ((int)local_c0 < iVar5) { FUN_18047cb30(&local_c8,iVar5 + 8 + iVar5 / 2 & 0xfffffff8); } uVar4 = (ulonglong)((longlong)(plVar8 + iVar7) + (7 - (longlong)plVar8)) >> 3; if (plVar8 + iVar7 < plVar8) { uVar4 = uVar10; } plVar9 = plVar8; iVar5 = local_c0._4_4_; if (uVar4 != 0) { do { lVar6 = (longlong)iVar5; iVar5 = iVar5 + 1; local_c0 = CONCAT44(iVar5,(int)local_c0); local_c8[lVar6] = *plVar9; plVar9 = plVar9 + 1; uVar10 = uVar10 + 1; } while (uVar10 != uVar4); } /* WARNING: Subroutine does not return */ free(plVar8); } } else { FUN_180586370(&local_c8,param_1 + 0xb0); FUN_180586430(&local_c8,param_1 + 0xb0); } uVar3 = (**(code **)(**(longlong **)(param_1 + 0xc0) + 0x10))(); local_98 = juce::ChangeBroadcaster::vftable; FUN_1812a59f0(local_90); plVar8 = local_c8; local_90[0] = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; local_78 = 0; local_70 = 0; local_68 = 0; local_80 = &local_98; local_98 = juce::SelectedItemSet::vftable; local_60 = (void *)0x0; local_58 = 0; local_54 = 0; iVar5 = local_c0._4_4_; lVar6 = (longlong)local_c0._4_4_; if (0 < local_c0._4_4_) { FUN_18047cb30(&local_60,local_c0._4_4_ + 8 + local_c0._4_4_ / 2 & 0xfffffff8); } memcpy((void *)((longlong)local_60 + (longlong)local_54 * 8),plVar8,lVar6 << 3); local_54 = local_54 + iVar5; FUN_1805847f0(uVar3,&local_98); local_54 = 0; /* WARNING: Subroutine does not return */ free(local_60); } ############ FUN_ 1805847f0 size=446 ############ longlong * FUN_1805847f0(longlong *param_1,longlong param_2) { int iVar1; char cVar2; int iVar3; longlong *plVar4; longlong *plVar5; undefined8 uVar6; uint uVar7; longlong *plVar8; longlong *plVar9; longlong lVar10; bool bVar11; if (*(int *)((longlong)param_1 + 0x44) == *(int *)(param_2 + 0x44)) { plVar8 = *(longlong **)(param_2 + 0x38); plVar9 = (longlong *)param_1[7]; plVar5 = plVar8 + *(int *)(param_2 + 0x44); if (plVar8 == plVar5) { return param_1; } while (lVar10 = *plVar9, plVar9 = plVar9 + 1, lVar10 == *plVar8) { plVar8 = plVar8 + 1; if (plVar8 == plVar5) { return param_1; } } } if ((char)param_1[6] != '\0') { LOCK(); bVar11 = *(int *)(param_1[2] + 0x18) == 0; if (bVar11) { *(int *)(param_1[2] + 0x18) = 1; } UNLOCK(); if ((bVar11) && (cVar2 = FUN_1812a6720(param_1[2]), cVar2 == '\0')) { LOCK(); *(undefined4 *)(param_1[2] + 0x18) = 0; UNLOCK(); } } uVar7 = *(int *)((longlong)param_1 + 0x44) - 1; if (-1 < (int)uVar7) { lVar10 = (longlong)(int)uVar7 * 8; do { plVar5 = *(longlong **)(param_2 + 0x38); plVar9 = plVar5 + *(int *)(param_2 + 0x44); if (plVar5 != plVar9) { do { if (*(longlong *)(lVar10 + param_1[7]) == *plVar5) goto LAB_1805848f7; plVar5 = plVar5 + 1; } while (plVar5 != plVar9); } if (uVar7 < *(uint *)((longlong)param_1 + 0x44)) { uVar6 = *(undefined8 *)(lVar10 + param_1[7]); FUN_18049b4a0(param_1 + 7,uVar7); } else { uVar6 = 0; } (**(code **)(*param_1 + 0x10))(param_1,uVar6); LAB_1805848f7: lVar10 = lVar10 + -8; uVar7 = uVar7 - 1; } while (-1 < (int)uVar7); } plVar5 = *(longlong **)(param_2 + 0x38); plVar9 = plVar5 + *(int *)(param_2 + 0x44); do { if (plVar5 == plVar9) { return param_1; } plVar4 = (longlong *)param_1[7]; plVar8 = plVar4 + *(int *)((longlong)param_1 + 0x44); if (plVar4 != plVar8) { do { if (*plVar5 == *plVar4) goto LAB_18058498f; plVar4 = plVar4 + 1; } while (plVar4 != plVar8); } iVar1 = *(int *)((longlong)param_1 + 0x44); iVar3 = iVar1 + 1; if ((int)param_1[8] < iVar3) { if (iVar3 < 0) { iVar3 = iVar1 + 2; } FUN_18047cb30(param_1 + 7,iVar1 + 9 + (iVar3 >> 1) & 0xfffffff8); } iVar3 = *(int *)((longlong)param_1 + 0x44); *(int *)((longlong)param_1 + 0x44) = iVar3 + 1; *(longlong *)(param_1[7] + (longlong)iVar3 * 8) = *plVar5; (**(code **)(*param_1 + 8))(param_1,*plVar5); LAB_18058498f: plVar5 = plVar5 + 1; } while( true ); } ############ FUN_ 180586430 size=143 ############ void FUN_180586430(longlong *param_1,ulonglong *param_2) { int iVar1; undefined8 *puVar2; ulonglong uVar3; ulonglong uVar4; iVar1 = *(int *)((longlong)param_2 + 0xc) + *(int *)((longlong)param_1 + 0xc); if ((int)param_1[1] < iVar1) { FUN_18047cb30(param_1,iVar1 + 8 + iVar1 / 2 & 0xfffffff8); } puVar2 = (undefined8 *)*param_2; uVar3 = 0; uVar4 = (ulonglong) ((longlong)(puVar2 + *(int *)((longlong)param_2 + 0xc)) + (7 - (longlong)puVar2)) >> 3; if (puVar2 + *(int *)((longlong)param_2 + 0xc) < puVar2) { uVar4 = uVar3; } if (uVar4 != 0) { do { iVar1 = *(int *)((longlong)param_1 + 0xc); uVar3 = uVar3 + 1; *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined8 *)(*param_1 + (longlong)iVar1 * 8) = *puVar2; puVar2 = puVar2 + 1; } while (uVar3 != uVar4); } return; } ############ FUN_ 180583c20 size=338 ############ void FUN_180583c20(longlong param_1,longlong param_2,longlong *param_3) { longlong *plVar1; int iVar2; void *pvVar3; longlong lVar4; undefined4 uVar5; int iVar6; undefined4 local_res10; longlong local_48; undefined8 local_40; *(longlong **)(param_1 + 0xc0) = param_3; if (param_3 != (longlong *)0x0) { lVar4 = (**(code **)(*param_3 + 0x10))(param_3); plVar1 = (longlong *)(param_1 + 0xb0); if (plVar1 != (longlong *)(lVar4 + 0x38)) { iVar2 = *(int *)(lVar4 + 0x44); pvVar3 = *(void **)(lVar4 + 0x38); local_48 = 0; local_40 = 0; iVar6 = 0; uVar5 = 0; if (0 < iVar2) { FUN_18047cb30(&local_48,iVar2 + 8 + iVar2 / 2 & 0xfffffff8); iVar6 = local_40._4_4_; uVar5 = (undefined4)local_40; } lVar4 = local_48; memcpy((void *)(local_48 + (longlong)iVar6 * 8),pvVar3,(longlong)iVar2 << 3); pvVar3 = (void *)*plVar1; *plVar1 = lVar4; *(undefined4 *)(param_1 + 0xb8) = uVar5; *(int *)(param_1 + 0xbc) = iVar6 + iVar2; /* WARNING: Subroutine does not return */ free(pvVar3); } } FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),0,0); local_res10 = SUB84((double)*(float *)(param_2 + 0x2c) + DAT_1824c4520,0); *(ulonglong *)(param_1 + 200) = CONCAT44(local_res10,SUB84((double)*(float *)(param_2 + 0x28) + DAT_1824c4520,0)); return; } ############ FUN_ 1805840d0 size=174 ############ void FUN_1805840d0(longlong *param_1,longlong param_2) { longlong *plVar1; char cVar2; int iVar3; longlong *plVar4; bool bVar5; plVar4 = (longlong *)param_1[7]; plVar1 = plVar4 + *(int *)((longlong)param_1 + 0x44); while( true ) { if (plVar4 == plVar1) { if ((char)param_1[6] != '\0') { LOCK(); bVar5 = *(int *)(param_1[2] + 0x18) == 0; if (bVar5) { *(int *)(param_1[2] + 0x18) = 1; } UNLOCK(); if ((bVar5) && (cVar2 = FUN_1812a6720(param_1[2]), cVar2 == '\0')) { LOCK(); *(undefined4 *)(param_1[2] + 0x18) = 0; UNLOCK(); } } iVar3 = *(int *)((longlong)param_1 + 0x44) + 1; if ((int)param_1[8] < iVar3) { FUN_18047cb30(param_1 + 7,*(int *)((longlong)param_1 + 0x44) + 9 + iVar3 / 2 & 0xfffffff8); } iVar3 = *(int *)((longlong)param_1 + 0x44); *(int *)((longlong)param_1 + 0x44) = iVar3 + 1; *(longlong *)(param_1[7] + (longlong)iVar3 * 8) = param_2; (**(code **)(*param_1 + 8))(param_1); return; } if (param_2 == *plVar4) break; plVar4 = plVar4 + 1; } return; } ############ FUN_ 1814139d0 size=706 ############ void FUN_1814139d0(longlong param_1,ulonglong param_2,longlong *param_3) { ulonglong *puVar1; longlong *plVar2; longlong *plVar3; char cVar4; int iVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; ulonglong uVar9; longlong lVar10; undefined8 *puVar11; undefined8 *puVar12; longlong *plVar13; undefined8 *puVar14; ulonglong local_res10; ulonglong *local_res18; undefined8 *local_res20; undefined8 *local_58; undefined8 local_50; undefined *local_48; local_50 = 0xfffffffffffffffe; local_48 = &DAT_182674140; local_res10 = param_2; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); puVar6 = (undefined8 *)*param_3; puVar7 = (undefined8 *)*puVar6; while (puVar7 != puVar6) { puVar1 = (ulonglong *)((longlong)puVar7 + 0x1c); puVar8 = *(undefined8 **)(param_1 + 0x20); cVar4 = *(char *)((longlong)puVar8[1] + 0x19); puVar14 = puVar8; puVar11 = (undefined8 *)puVar8[1]; while (cVar4 == '\0') { if ((ulonglong)puVar11[4] < local_res10) { puVar12 = (undefined8 *)puVar11[2]; puVar11 = puVar14; } else { puVar12 = (undefined8 *)*puVar11; } puVar14 = puVar11; puVar11 = puVar12; cVar4 = *(char *)((longlong)puVar12 + 0x19); } if ((puVar14 == puVar8) || (local_res10 < (ulonglong)puVar14[4])) { local_res18 = &local_res10; lVar10 = FUN_180572e10(param_1 + 0x20,local_res10,&local_res18); FUN_180572e70(param_1 + 0x20,&local_res20,puVar14,lVar10 + 0x20,lVar10); puVar14 = local_res20; } plVar2 = puVar14 + 5; puVar8 = (undefined8 *)*plVar2; puVar14 = puVar8; if (*(char *)((longlong)puVar8[1] + 0x19) == '\0') { puVar11 = (undefined8 *)puVar8[1]; do { if (*(int *)((longlong)puVar11 + 0x1c) < *(int *)puVar1) { puVar12 = (undefined8 *)puVar11[2]; } else { puVar12 = (undefined8 *)*puVar11; puVar14 = puVar11; } puVar11 = puVar12; } while (*(char *)((longlong)puVar12 + 0x19) == '\0'); } if ((puVar14 == puVar8) || (*(int *)puVar1 < *(int *)((longlong)puVar14 + 0x1c))) { local_res18 = puVar1; lVar10 = FUN_1805730a0(plVar2); FUN_18056f310(plVar2,&local_58,puVar14,lVar10 + 0x1c,lVar10); puVar14 = local_58; } puVar14[4] = puVar7[4]; puVar8 = (undefined8 *)puVar7[2]; if (*(char *)((longlong)puVar8 + 0x19) == '\0') { cVar4 = *(char *)((longlong)*puVar8 + 0x19); puVar7 = puVar8; puVar8 = (undefined8 *)*puVar8; while (cVar4 == '\0') { cVar4 = *(char *)((longlong)*puVar8 + 0x19); puVar7 = puVar8; puVar8 = (undefined8 *)*puVar8; } } else { cVar4 = *(char *)((longlong)puVar7[1] + 0x19); puVar14 = (undefined8 *)puVar7[1]; puVar8 = puVar7; while ((puVar7 = puVar14, cVar4 == '\0' && (puVar8 == (undefined8 *)puVar7[2]))) { cVar4 = *(char *)((longlong)puVar7[1] + 0x19); puVar14 = (undefined8 *)puVar7[1]; puVar8 = puVar7; } } } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); uVar9 = local_res10; if (local_res10 != 0) { if (param_1 != 0) { plVar2 = (longlong *)(local_res10 + 0x80); plVar13 = (longlong *)*plVar2; iVar5 = *(int *)(local_res10 + 0x8c); plVar3 = plVar13 + iVar5; for (; plVar13 != plVar3; plVar13 = plVar13 + 1) { if (param_1 == *plVar13) goto LAB_181413bf7; } if (*(int *)(local_res10 + 0x88) < iVar5 + 1) { FUN_18047cb30(plVar2,iVar5 + 9 + (iVar5 + 1) / 2 & 0xfffffff8); } iVar5 = *(int *)(uVar9 + 0x8c); *(int *)(uVar9 + 0x8c) = iVar5 + 1; *(longlong *)(*plVar2 + (longlong)iVar5 * 8) = param_1; } LAB_181413bf7: puVar6 = (undefined8 *)*param_3; puVar7 = (undefined8 *)*puVar6; while (puVar7 != puVar6) { FUN_1813eefa0(param_1,(longlong)puVar7 + 0x1c,puVar7 + 4,local_res10); puVar8 = (undefined8 *)puVar7[2]; if (*(char *)((longlong)puVar8 + 0x19) == '\0') { cVar4 = *(char *)((longlong)*puVar8 + 0x19); puVar7 = puVar8; puVar8 = (undefined8 *)*puVar8; while (cVar4 == '\0') { cVar4 = *(char *)((longlong)*puVar8 + 0x19); puVar7 = puVar8; puVar8 = (undefined8 *)*puVar8; } } else { cVar4 = *(char *)((longlong)puVar7[1] + 0x19); puVar14 = (undefined8 *)puVar7[1]; puVar8 = puVar7; while ((puVar7 = puVar14, cVar4 == '\0' && (puVar8 == (undefined8 *)puVar7[2]))) { cVar4 = *(char *)((longlong)puVar7[1] + 0x19); puVar14 = (undefined8 *)puVar7[1]; puVar8 = puVar7; } } } } return; } ############ FUN_ 18160dba0 size=354 ############ void FUN_18160dba0(undefined8 *param_1) { undefined8 *puVar1; void *_Dst; int iVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; longlong lVar6; int iVar7; *param_1 = OpenGLFallbackUI::vftable; puVar1 = param_1 + 0x16; *puVar1 = OpenGLFallbackUI::vftable; lVar3 = param_1[0x17]; lVar4 = *(longlong *)(lVar3 + 0x2400b0); iVar7 = 0; lVar6 = 0; iVar2 = *(int *)(lVar3 + 0x2400bc); if (0 < iVar2) { do { if (puVar1 == *(undefined8 **)(lVar4 + lVar6 * 8)) { _Dst = (void *)(lVar4 + (longlong)iVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar3 + 0x2400bc) = *(int *)(lVar3 + 0x2400bc) + -1; iVar2 = *(int *)(lVar3 + 0x2400bc); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (iVar7 < *(int *)(lVar3 + 0x2400b8)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar3 + 0x2400b8)) { FUN_18047cb30((longlong *)(lVar3 + 0x2400b0)); } } break; } iVar7 = iVar7 + 1; lVar6 = lVar6 + 1; } while (lVar6 < iVar2); } _eh_vector_destructor_iterator_(param_1 + 0x71c,0x828,8,FUN_180534650); puVar5 = (undefined8 *)param_1[0x1b]; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } puVar5 = (undefined8 *)param_1[0x1a]; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } puVar5 = (undefined8 *)param_1[0x19]; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } puVar5 = (undefined8 *)param_1[0x18]; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } *puVar1 = ParametricEqualizerListener::vftable; FUN_18134caa0(param_1); return; } ############ FUN_ 18059a1f0 size=237 ############ /* WARNING: Removing unreachable block (ram,0x00018059a277) */ void FUN_18059a1f0(longlong *param_1) { int iVar1; longlong *plVar2; void *_Dst; int iVar3; longlong lVar4; longlong lVar5; int iVar6; int iVar7; plVar2 = param_1 + 1; if ((0 < *(int *)((longlong)param_1 + 0x14)) && (lVar4 = *(longlong *)(*plVar2 + (longlong)(*(int *)((longlong)param_1 + 0x14) + -1) * 8), lVar4 != 0)) { lVar5 = *param_1; *param_1 = lVar4; if (lVar5 != 0) { FUN_18059b800(lVar5); } iVar3 = *(int *)((longlong)param_1 + 0x14); if (iVar3 < 2) { *(undefined4 *)((longlong)param_1 + 0x14) = 0; if ((int)param_1[2] != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar2); } *(undefined4 *)(param_1 + 2) = 0; return; } iVar1 = iVar3 + -1; iVar6 = iVar3; if (iVar3 < 0) { iVar6 = 0; } iVar7 = 0; if ((-1 < iVar1) && (iVar7 = iVar1, iVar3 < iVar1)) { iVar7 = iVar3; } iVar6 = iVar6 - iVar7; if (0 < iVar6) { _Dst = (void *)(*plVar2 + (longlong)iVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + (longlong)iVar6 * 8), (longlong)((iVar3 - iVar7) - iVar6) << 3); *(int *)((longlong)param_1 + 0x14) = *(int *)((longlong)param_1 + 0x14) - iVar6; if ((*(int *)((longlong)param_1 + 0x14) * 2 < (int)param_1[2]) && (*(int *)((longlong)param_1 + 0x14) < (int)param_1[2])) { FUN_18047cb30(); } /* WARNING: Subroutine does not return */ free((void *)0x0); } } return; } ############ FUN_ 181169240 size=322 ############ void FUN_181169240(longlong param_1,longlong param_2) { int iVar1; longlong *plVar2; uint uVar3; int iVar4; longlong *plVar5; longlong *plVar6; undefined8 *puVar7; uint uVar8; undefined8 *puVar9; undefined8 *puVar10; plVar2 = *(longlong **)(param_1 + 8); plVar5 = plVar2; do { if (plVar5 == plVar2 + *(int *)(param_1 + 0x14)) { uVar3 = 0xffffffff; LAB_181169287: puVar10 = (undefined8 *)0x0; if (uVar3 < *(uint *)(param_1 + 0x14)) { memmove(plVar2 + (int)uVar3,plVar2 + (int)uVar3 + 1, (longlong)(int)((*(uint *)(param_1 + 0x14) - uVar3) + -1) << 3); *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + -1; iVar1 = *(int *)(param_1 + 0x14); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x10)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x10)) { FUN_18047cb30(param_1 + 8); } } } plVar2 = *(longlong **)(param_1 + 0x18); uVar3 = *(uint *)((longlong)plVar2 + 0xc); if (0 < (int)uVar3) { plVar5 = (longlong *)*plVar2; plVar6 = plVar5; puVar7 = puVar10; puVar9 = puVar10; do { uVar8 = (uint)puVar9; if (param_2 == *plVar6) { if (uVar8 < uVar3) { puVar10 = (undefined8 *)plVar5[(int)uVar8]; memmove(plVar5 + (int)uVar8,plVar5 + (int)uVar8 + 1, (longlong)(int)((uVar3 - uVar8) + -1) << 3); *(int *)((longlong)plVar2 + 0xc) = *(int *)((longlong)plVar2 + 0xc) + -1; } if ((*(int *)((longlong)plVar2 + 0xc) * 2 < (int)plVar2[1]) && (*(int *)((longlong)plVar2 + 0xc) < (int)plVar2[1])) { FUN_18047cb30(plVar2); } if (puVar10 == (undefined8 *)0x0) { return; } (**(code **)*puVar10)(puVar10,1); return; } puVar9 = (undefined8 *)(ulonglong)(uVar8 + 1); puVar7 = (undefined8 *)((longlong)puVar7 + 1); plVar6 = plVar6 + 1; } while ((longlong)puVar7 < (longlong)(int)uVar3); } return; } if (param_2 == *plVar5) { uVar3 = (uint)((longlong)plVar5 - (longlong)plVar2 >> 3); goto LAB_181169287; } plVar5 = plVar5 + 1; } while( true ); } ############ FUN_ 1812c2c80 size=212 ############ void FUN_1812c2c80(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 *puVar2; ulonglong uVar3; ulonglong uVar4; undefined8 *local_50; undefined8 local_48; uVar3 = 0; local_50 = (undefined8 *)0x0; local_48 = 0; FUN_1812b6990(*param_2,&local_50,param_3,param_4,0xfffffffffffffffe); iVar1 = *(int *)(param_1 + 0x144) + local_48._4_4_; if (*(int *)(param_1 + 0x140) < iVar1) { FUN_18047cb30((longlong *)(param_1 + 0x138),iVar1 + 8 + iVar1 / 2 & 0xfffffff8); } uVar4 = (ulonglong)((longlong)(local_50 + local_48._4_4_) + (7 - (longlong)local_50)) >> 3; if (local_50 + local_48._4_4_ < local_50) { uVar4 = uVar3; } puVar2 = local_50; if (uVar4 != 0) { do { iVar1 = *(int *)(param_1 + 0x144); *(int *)(param_1 + 0x144) = iVar1 + 1; *(undefined8 *)(*(longlong *)(param_1 + 0x138) + (longlong)iVar1 * 8) = *puVar2; puVar2 = puVar2 + 1; uVar3 = uVar3 + 1; } while (uVar3 != uVar4); } local_48 = local_48 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 1812b6990 size=201 ############ void FUN_1812b6990(longlong param_1,longlong *param_2) { int iVar1; longlong lVar2; int iVar3; ulonglong uVar4; longlong *plVar5; ulonglong uVar6; plVar5 = *(longlong **)(param_1 + 0x18); uVar4 = 0; uVar6 = (ulonglong)((longlong)(plVar5 + *(int *)(param_1 + 0x24)) + (7 - (longlong)plVar5)) >> 3; if (plVar5 + *(int *)(param_1 + 0x24) < plVar5) { uVar6 = uVar4; } if (uVar6 != 0) { do { lVar2 = ((undefined8 *)*plVar5)[1]; if (lVar2 == 0) { FUN_1812b6990(*(undefined8 *)*plVar5,param_2,1); } else { iVar1 = *(int *)((longlong)param_2 + 0xc); iVar3 = iVar1 + 1; if ((int)param_2[1] < iVar3) { if (iVar3 < 0) { iVar3 = iVar1 + 2; } FUN_18047cb30(param_2,iVar1 + 9 + (iVar3 >> 1) & 0xfffffff8); } iVar3 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar3 + 1; *(longlong *)(*param_2 + (longlong)iVar3 * 8) = lVar2; } plVar5 = plVar5 + 1; uVar4 = uVar4 + 1; } while (uVar4 != uVar6); } return; } ############ FUN_ 1812c2e60 size=164 ############ void FUN_1812c2e60(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 *local_res8; longlong local_res10; undefined8 **local_res18; local_res18 = &local_res8; local_res8 = (undefined8 *)0x0; local_res10 = param_2; FUN_1812c2690(param_1 + 0x108,&local_res10,param_3,param_4,0xfffffffffffffffe); if (local_res8 != (undefined8 *)0x0) { (**(code **)*local_res8)(local_res8,1); } *(longlong *)(param_2 + 8) = param_1; *(undefined4 *)(param_2 + 0x10) = *(undefined4 *)(param_1 + 0x144); iVar1 = *(int *)(param_1 + 0x144) + 1; if (*(int *)(param_1 + 0x140) < iVar1) { FUN_18047cb30((longlong *)(param_1 + 0x138), *(int *)(param_1 + 0x144) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)(param_1 + 0x144); *(int *)(param_1 + 0x144) = iVar1 + 1; *(longlong *)(*(longlong *)(param_1 + 0x138) + (longlong)iVar1 * 8) = param_2; return; } ############ FUN_ 181227d70 size=235 ############ void FUN_181227d70(undefined8 *param_1) { void *_Dst; uint uVar1; int iVar2; longlong *plVar3; uint *puVar4; longlong lVar5; int iVar6; *param_1 = juce::UnitTest::vftable; plVar3 = (longlong *)FUN_181227cf0(); iVar6 = 0; lVar5 = 0; iVar2 = *(int *)((longlong)plVar3 + 0xc); if (0 < iVar2) { do { if (param_1 == *(undefined8 **)(*plVar3 + lVar5 * 8)) { _Dst = (void *)(*plVar3 + (longlong)iVar6 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar6) + -1) << 3); *(int *)((longlong)plVar3 + 0xc) = *(int *)((longlong)plVar3 + 0xc) + -1; iVar2 = *(int *)((longlong)plVar3 + 0xc); iVar6 = 0; if (0 < iVar2 * 2) { iVar6 = iVar2 * 2; } if (iVar6 < (int)plVar3[1]) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < (int)plVar3[1]) { FUN_18047cb30(plVar3); } } break; } iVar6 = iVar6 + 1; lVar5 = lVar5 + 1; } while (lVar5 < iVar2); } puVar4 = (uint *)(param_1[2] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(param_1[1] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return; } ############ FUN_ 181229c80 size=103 ############ void FUN_181229c80(undefined8 param_1,longlong *param_2,longlong param_3) { int iVar1; LOCK(); *(undefined1 *)(param_3 + 0x18) = 1; UNLOCK(); *(undefined8 *)(param_3 + 0x10) = 0; if (*(char *)(param_3 + 0x1a) != '\0') { iVar1 = *(int *)((longlong)param_2 + 0xc) + 1; if ((int)param_2[1] < iVar1) { FUN_18047cb30(param_2,*(int *)((longlong)param_2 + 0xc) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar1 + 1; *(longlong *)(*param_2 + (longlong)iVar1 * 8) = param_3; } return; } ############ FUN_ 181229fc0 size=316 ############ ulonglong FUN_181229fc0(longlong *param_1) { longlong lVar1; int iVar2; uint uVar3; ulonglong uVar4; ulonglong uVar5; ulonglong uVar6; ulonglong uVar7; bool bVar8; longlong local_28; undefined8 local_20; uVar7 = 0; local_28 = 0; local_20 = 0; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); if (0 < *(int *)((longlong)param_1 + 0xc)) { bVar8 = *(int *)((longlong)param_1 + 0xc) != 0; uVar4 = uVar7; uVar5 = uVar7; do { uVar3 = (uint)uVar4; if (((bVar8) && (uVar6 = *(ulonglong *)(uVar5 + *param_1), uVar6 != 0)) && (*(char *)(uVar6 + 0x19) == '\0')) { if (*(char *)(uVar6 + 0x18) == '\0') { LOCK(); *(undefined1 *)(uVar6 + 0x19) = 1; UNLOCK(); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); goto LAB_18122a0c0; } if (uVar3 < *(uint *)((longlong)param_1 + 0xc)) { FUN_18049b4a0(param_1,uVar4); } LOCK(); *(undefined1 *)(uVar6 + 0x18) = 1; UNLOCK(); *(undefined8 *)(uVar6 + 0x10) = 0; if (*(char *)(uVar6 + 0x1a) != '\0') { iVar2 = local_20._4_4_ + 1; if ((int)local_20 < iVar2) { if (iVar2 < 0) { iVar2 = local_20._4_4_ + 2; } FUN_18047cb30(&local_28,local_20._4_4_ + 9 + (iVar2 >> 1) & 0xfffffff8); } lVar1 = (longlong)local_20._4_4_; local_20 = CONCAT44(local_20._4_4_ + 1,(int)local_20); *(ulonglong *)(local_28 + lVar1 * 8) = uVar6; } uVar3 = uVar3 - 1; uVar5 = uVar5 - 8; } uVar3 = uVar3 + 1; uVar4 = (ulonglong)uVar3; uVar5 = uVar5 + 8; bVar8 = uVar3 < *(uint *)((longlong)param_1 + 0xc); } while ((int)uVar3 < (int)*(uint *)((longlong)param_1 + 0xc)); } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); uVar6 = uVar7; LAB_18122a0c0: FUN_180485f00(&local_28); return uVar6; } ############ FUN_ 18128fb60 size=1387 ############ void FUN_18128fb60(longlong *param_1,undefined8 param_2,float param_3) { longlong *plVar1; double dVar2; uint uVar3; int iVar4; undefined8 uVar5; undefined8 *puVar6; longlong lVar7; uint uVar8; undefined8 *puVar9; uint uVar10; undefined8 *_Memory; uint uVar11; longlong lVar12; undefined8 *puVar13; uint uVar14; bool bVar15; undefined1 local_res8; undefined8 *local_c8; uint local_c0; uint local_bc; int local_b8; byte *local_a8; int iStack_a0; undefined4 uStack_9c; undefined8 local_98; int iStack_90; int iStack_8c; undefined8 *local_88; int local_80; int iStack_7c; int local_78; int iStack_74; longlong local_70; int local_64; int local_60; int local_5c; int local_58; undefined8 *local_50; undefined8 local_48; local_48 = 0xfffffffffffffffe; plVar1 = (longlong *)*param_1; puVar6 = (undefined8 *)0x0; local_5c = 0; puVar9 = puVar6; if (plVar1 != (longlong *)0x0) { puVar9 = (undefined8 *)(ulonglong)*(uint *)(plVar1 + 2); } local_58 = 0; if ((int)puVar9 == 1) { if (plVar1 != (longlong *)0x0) { local_58 = (int)plVar1[3]; local_5c = *(int *)((longlong)plVar1 + 0x14); } local_98 = 0; iStack_90 = local_5c; iStack_8c = local_58; FUN_1804aaa80(param_2,&local_98); return; } dVar2 = (double)(param_3 * DAT_1824c4548) + DAT_1824c4520; iVar4 = SUB84(dVar2,0); puVar9 = puVar6; if ((-1 < iVar4) && (puVar9 = (undefined8 *)((ulonglong)dVar2 & 0xffffffff), 0xff < iVar4)) { puVar9 = (undefined8 *)0xff; } local_c8 = (undefined8 *)0x0; local_c0 = 0; local_bc = 0; if (plVar1 != (longlong *)0x0) { local_58 = (int)plVar1[3]; local_5c = *(int *)((longlong)plVar1 + 0x14); } local_50 = (undefined8 *)0x0; local_88 = puVar9; (**(code **)(*plVar1 + 0x20))(plVar1,&local_70,0,0,0); uVar10 = 0; _Memory = puVar6; if (0 < local_58) { local_res8 = SUB81(param_1,0); do { uVar14 = 0; uVar11 = 0; local_bc = 0; if ((int)puVar6 != 0) { /* WARNING: Subroutine does not return */ free(_Memory); } puVar6 = (undefined8 *)0x0; local_c0 = 0; local_a8 = (byte *)((longlong)local_64 * (longlong)(int)uVar10 + local_70); if (*param_1 == 0) { iVar4 = 0; } else { iVar4 = *(int *)(*param_1 + 0x10); } local_b8 = 0; if (iVar4 == 2) { uVar11 = uVar14; if (0 < local_5c) { do { if ((byte)puVar9 <= local_a8[3]) { iStack_7c = local_b8; if (local_b8 < local_b8 + 1) { iStack_7c = local_b8 + 1; } uVar5 = CONCAT44(iStack_7c,local_b8); local_80 = local_b8; if (local_b8 != iStack_7c) { FUN_1804abd40(&local_c8,uVar5); iVar4 = local_bc + 1; uVar11 = local_bc; if ((int)local_c0 < iVar4) { if (iVar4 < 0) { iVar4 = local_bc + 2; } FUN_18047cb30(&local_c8,local_bc + 9 + (iVar4 >> 1) & 0xfffffff8); uVar11 = local_bc; } _Memory = local_c8; uVar14 = uVar11 + 1; local_c8[(int)uVar11] = uVar5; local_bc = uVar14; FUN_1804b14c0(local_c8,local_c8 + (int)uVar14, (longlong)(local_c8 + (int)uVar14) - (longlong)local_c8 >> 3, local_res8); if (0 < (int)uVar11) { lVar7 = (longlong)(int)uVar11 * 8; lVar12 = lVar7; uVar8 = local_c0; do { if (*(int *)(lVar7 + -4 + (longlong)_Memory) == *(int *)(lVar7 + (longlong)_Memory)) { iVar4 = *(int *)(lVar7 + 4 + (longlong)_Memory); *(int *)(lVar7 + -4 + (longlong)_Memory) = iVar4; if (iVar4 < *(int *)(lVar7 + -8 + (longlong)_Memory)) { *(int *)(lVar7 + -8 + (longlong)_Memory) = iVar4; } if (uVar11 < uVar14) { memmove((void *)(lVar12 + (longlong)_Memory), (void *)(lVar12 + (longlong)_Memory + 8), (longlong)(int)((uVar14 - uVar11) + -1) << 3); local_bc = uVar14 - 1; iVar4 = 0; if (0 < (int)(local_bc * 2)) { iVar4 = local_bc * 2; } uVar14 = local_bc; if (iVar4 < (int)uVar8) { uVar3 = local_bc; if ((int)local_bc < 8) { uVar3 = 8; } if ((int)uVar3 < (int)uVar8) { FUN_18047cb30(&local_c8); _Memory = local_c8; uVar14 = local_bc; uVar8 = local_c0; } } } } uVar11 = uVar11 - 1; lVar12 = lVar12 + -8; lVar7 = lVar7 + -8; puVar9 = local_88; } while (0 < (int)uVar11); } } } local_a8 = local_a8 + local_60; local_b8 = local_b8 + 1; uVar11 = uVar14; } while (local_b8 < local_5c); LAB_18128ffcd: puVar6 = (undefined8 *)(ulonglong)local_c0; } } else if (0 < local_5c) { do { if ((byte)puVar9 <= *local_a8) { iStack_74 = local_b8; if (local_b8 < local_b8 + 1) { iStack_74 = local_b8 + 1; } uVar5 = CONCAT44(iStack_74,local_b8); local_78 = local_b8; if (local_b8 != iStack_74) { FUN_1804abd40(&local_c8,uVar5); iVar4 = local_bc + 1; uVar11 = local_bc; if ((int)local_c0 < iVar4) { if (iVar4 < 0) { iVar4 = local_bc + 2; } FUN_18047cb30(&local_c8,local_bc + 9 + (iVar4 >> 1) & 0xfffffff8); uVar11 = local_bc; } uVar8 = local_c0; _Memory = local_c8; uVar14 = uVar11 + 1; local_c8[(int)uVar11] = uVar5; local_bc = uVar14; FUN_1804b14c0(local_c8,local_c8 + (int)uVar14, (longlong)(local_c8 + (int)uVar14) - (longlong)local_c8 >> 3,local_res8) ; if (0 < (int)uVar11) { lVar7 = (longlong)(int)uVar11 * 8; lVar12 = lVar7; do { if (*(int *)(lVar7 + -4 + (longlong)_Memory) == *(int *)(lVar7 + (longlong)_Memory)) { iVar4 = *(int *)(lVar7 + 4 + (longlong)_Memory); *(int *)(lVar7 + -4 + (longlong)_Memory) = iVar4; if (iVar4 < *(int *)(lVar7 + -8 + (longlong)_Memory)) { *(int *)(lVar7 + -8 + (longlong)_Memory) = iVar4; } if (uVar11 < uVar14) { memmove((void *)(lVar12 + (longlong)_Memory), (void *)(lVar12 + (longlong)_Memory + 8), (longlong)(int)((uVar14 - uVar11) + -1) << 3); local_bc = uVar14 - 1; iVar4 = 0; if (0 < (int)(local_bc * 2)) { iVar4 = local_bc * 2; } uVar14 = local_bc; if (iVar4 < (int)uVar8) { uVar3 = local_bc; if ((int)local_bc < 8) { uVar3 = 8; } if ((int)uVar3 < (int)uVar8) { FUN_18047cb30(&local_c8); _Memory = local_c8; uVar14 = local_bc; uVar8 = local_c0; } } } } uVar11 = uVar11 - 1; lVar12 = lVar12 + -8; lVar7 = lVar7 + -8; puVar9 = local_88; } while (0 < (int)uVar11); } } } local_a8 = local_a8 + local_60; local_b8 = local_b8 + 1; uVar11 = uVar14; } while (local_b8 < local_5c); goto LAB_18128ffcd; } uVar14 = 0; if (0 < (int)uVar11) { local_98 = (ulonglong)uVar10 << 0x20; iStack_8c = 1; bVar15 = uVar11 != 0; puVar13 = _Memory; do { if (bVar15) { uVar5 = *puVar13; } else { uVar5 = 0; } iVar4 = (int)uVar5; iStack_a0 = (int)((ulonglong)uVar5 >> 0x20) - iVar4; local_98 = CONCAT44(local_98._4_4_,iVar4); local_a8 = (byte *)CONCAT44(local_98._4_4_,iVar4); uStack_9c = iStack_8c; iStack_90 = iStack_a0; FUN_1804aaa80(param_2); uVar14 = uVar14 + 1; puVar13 = puVar13 + 1; bVar15 = uVar14 < uVar11; } while ((int)uVar14 < (int)uVar11); } FUN_1804aa1a0(param_2); uVar10 = uVar10 + 1; } while ((int)uVar10 < local_58); } if (local_50 != (undefined8 *)0x0) { (**(code **)*local_50)(local_50,1); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1812a5c00 size=279 ############ void FUN_1812a5c00(longlong param_1,ulonglong param_2) { uint uVar1; longlong lVar2; uint uVar3; uint uVar4; void *_Src; ulonglong *puVar5; uint uVar6; uint uVar7; bool bVar8; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x18)); if (param_2 != 0) { uVar1 = *(uint *)(param_1 + 0x14); uVar6 = 0; if (0 < (int)uVar1) { lVar2 = *(longlong *)(param_1 + 8); uVar7 = uVar1; do { if (param_2 == *(ulonglong *)(lVar2 + (longlong)(int)uVar6 * 8)) { *(ulonglong *)(lVar2 + (longlong)(int)uVar6 * 8) = param_2; goto LAB_1812a5cfc; } uVar4 = (int)(uVar7 + uVar6) / 2; bVar8 = *(ulonglong *)(lVar2 + (longlong)(int)uVar4 * 8) <= param_2; if (uVar4 == uVar6) { if (bVar8) { uVar6 = uVar6 + 1; } break; } uVar3 = uVar4; if (!bVar8) { uVar3 = uVar6; uVar7 = uVar4; } uVar6 = uVar3; } while ((int)uVar6 < (int)uVar7); } if (*(int *)(param_1 + 0x10) < (int)(uVar1 + 1)) { FUN_18047cb30(param_1 + 8,uVar1 + 9 + (int)(uVar1 + 1) / 2 & 0xfffffff8); } uVar1 = *(uint *)(param_1 + 0x14); if (uVar6 < uVar1) { _Src = (void *)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar6 * 8); memmove((void *)((longlong)_Src + 8),_Src,(longlong)(int)(uVar1 - uVar6) << 3); puVar5 = (ulonglong *)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar6 * 8); } else { puVar5 = (ulonglong *)(*(longlong *)(param_1 + 8) + (longlong)(int)uVar1 * 8); } *puVar5 = param_2; *(int *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + 1; } LAB_1812a5cfc: /* WARNING: Could not recover jumptable at 0x0001812a5d10. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x18)); return; } ############ FUN_ 1812a7b20 size=570 ############ void FUN_1812a7b20(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; bool bVar3; char cVar4; int iVar5; longlong *plVar6; longlong *plVar7; int iVar8; int iVar9; longlong *plVar10; longlong *_Memory; undefined1 local_res8; longlong *local_50; undefined8 local_48; plVar6 = (longlong *)0x0; plVar7 = (longlong *)0x0; local_50 = (longlong *)0x0; local_48 = 0; local_48._4_4_ = 0; iVar9 = *(int *)(param_1 + 0x44); if (0 < iVar9) { FUN_18047cb30(&local_50,iVar9 + 8 + iVar9 / 2 & 0xfffffff8,param_3,param_4,0xfffffffffffffffe); } plVar10 = *(longlong **)(param_1 + 0x38); plVar1 = plVar10 + *(int *)(param_1 + 0x44); _Memory = local_50; iVar9 = local_48._4_4_; if (plVar10 != plVar1) { do { plVar2 = (longlong *)*plVar10; cVar4 = (**(code **)(*plVar2 + 8))(plVar2,param_2); if (cVar4 != '\0') { iVar5 = iVar9 + 1; iVar8 = iVar9; if ((int)local_48 < iVar5) { if (iVar5 < 0) { iVar5 = iVar9 + 2; } FUN_18047cb30(&local_50,iVar9 + 9 + (iVar5 >> 1) & 0xfffffff8); _Memory = local_50; iVar8 = local_48._4_4_; } iVar9 = iVar8 + 1; local_48 = CONCAT44(iVar9,(int)local_48); _Memory[iVar8] = (longlong)plVar2; FUN_1804d65c0(_Memory,_Memory + iVar9,(longlong)(_Memory + iVar9) - (longlong)_Memory >> 3, local_res8); cVar4 = (**(code **)(*plVar2 + 0x20))(plVar2); if ((((cVar4 == '\0') || ((char)plVar2[5] != '\0')) || (*(char *)((longlong)plVar2 + 0x2a) != '\0')) || (*(char *)((longlong)plVar2 + 0x29) != '\0')) { bVar3 = false; } else { bVar3 = true; } if (!bVar3) { if ((plVar6 == (longlong *)0x0) || ((int)plVar2[2] < (int)plVar6[2])) { plVar6 = plVar2; } if ((plVar7 == (longlong *)0x0) || ((int)plVar7[2] < (int)plVar2[2])) { plVar7 = plVar2; } } } plVar10 = plVar10 + 1; } while (plVar10 != plVar1); if (plVar7 != plVar6) goto LAB_1812a7c84; } plVar7 = (longlong *)0x0; LAB_1812a7c84: plVar1 = _Memory + iVar9; for (plVar10 = _Memory; plVar2 = _Memory, plVar10 != plVar1; plVar10 = plVar10 + 1) { if (*(int *)(*plVar10 + 0x10) == (int)param_4) goto LAB_1812a7d51; } for (; plVar10 = _Memory, plVar2 != plVar1; plVar2 = plVar2 + 1) { plVar10 = (longlong *)*plVar2; if ((plVar10 != plVar6) && (plVar10 != plVar7)) { cVar4 = (**(code **)(*plVar10 + 0x20))(plVar10); if ((cVar4 == '\0') || ((((char)plVar10[5] != '\0' || (*(char *)((longlong)plVar10 + 0x2a) != '\0')) || (*(char *)((longlong)plVar10 + 0x29) != '\0')))) { bVar3 = false; } else { bVar3 = true; } if (bVar3) goto LAB_1812a7d51; } } for (; plVar2 = _Memory, plVar10 != plVar1; plVar10 = plVar10 + 1) { plVar2 = (longlong *)*plVar10; if (((plVar2 != plVar6) && (plVar2 != plVar7)) && ((char)plVar2[5] == '\0')) goto LAB_1812a7d51; } for (; (plVar2 != plVar1 && (((longlong *)*plVar2 == plVar6 || ((longlong *)*plVar2 == plVar7)))); plVar2 = plVar2 + 1) { } LAB_1812a7d51: /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1812ac350 size=588 ############ void FUN_1812ac350(longlong param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; bool bVar2; char cVar3; int iVar4; byte bVar5; longlong *plVar6; longlong *plVar7; longlong *_Memory; int iVar8; longlong *plVar9; longlong *plVar10; longlong *local_80; undefined8 local_78; plVar9 = (longlong *)0x0; plVar7 = (longlong *)0x0; local_80 = (longlong *)0x0; local_78 = 0; local_78._4_4_ = 0; iVar4 = *(int *)(param_1 + 0x5c); if (0 < iVar4) { FUN_18047cb30(&local_80,iVar4 + 8 + iVar4 / 2 & 0xfffffff8,param_3,param_4,0xfffffffffffffffe); } plVar10 = *(longlong **)(param_1 + 0x50); plVar6 = plVar10 + *(int *)(param_1 + 0x5c); _Memory = local_80; iVar4 = local_78._4_4_; iVar8 = local_78._4_4_; if (plVar10 != plVar6) { do { plVar1 = (longlong *)*plVar10; iVar4 = iVar8 + 1; if ((int)local_78 < iVar4) { if (iVar4 < 0) { iVar4 = iVar8 + 2; } FUN_18047cb30(&local_80,iVar8 + 9 + (iVar4 >> 1) & 0xfffffff8); _Memory = local_80; iVar8 = local_78._4_4_; } iVar4 = iVar8 + 1; local_78 = CONCAT44(iVar4,(int)local_78); _Memory[iVar8] = (longlong)plVar1; FUN_1804d61d0(_Memory,_Memory + iVar4,(longlong)(_Memory + iVar4) - (longlong)_Memory >> 3, param_2 & 0xff); cVar3 = (**(code **)(*plVar1 + 8))(plVar1); if ((cVar3 == '\0') || ((int)plVar1[8] != 0)) { bVar2 = false; } else { bVar2 = true; } if (!bVar2) { bVar5 = (byte)((ulonglong)plVar1[3] >> 0x18); if ((plVar9 == (longlong *)0x0) || (bVar5 < (byte)((ulonglong)plVar9[3] >> 0x18))) { plVar9 = plVar1; } if ((plVar7 == (longlong *)0x0) || ((byte)((ulonglong)plVar7[3] >> 0x18) < bVar5)) { plVar7 = plVar1; } } plVar10 = plVar10 + 1; iVar8 = iVar4; } while (plVar10 != plVar6); if (plVar7 != plVar9) goto LAB_1812ac48f; } plVar7 = (longlong *)0x0; LAB_1812ac48f: if (((byte)(*(char *)(param_2 + 2) - 1U) < 0x10) && (*(byte *)(param_2 + 3) < 0x80)) { for (plVar6 = _Memory; plVar6 != _Memory + iVar4; plVar6 = plVar6 + 1) { if ((byte)((ulonglong)*(undefined8 *)(*plVar6 + 0x18) >> 0x18) == *(byte *)(param_2 + 3)) goto LAB_1812ac593; } } plVar6 = _Memory + iVar4; for (plVar10 = _Memory; plVar1 = _Memory, plVar10 != plVar6; plVar10 = plVar10 + 1) { plVar1 = (longlong *)*plVar10; if ((plVar1 != plVar9) && (plVar1 != plVar7)) { cVar3 = (**(code **)(*plVar1 + 8))(plVar1); if ((cVar3 == '\0') || ((int)plVar1[8] != 0)) { bVar2 = false; } else { bVar2 = true; } if (bVar2) goto LAB_1812ac593; } } for (; plVar10 = _Memory, plVar1 != plVar6; plVar1 = plVar1 + 1) { plVar10 = (longlong *)*plVar1; if ((((plVar10 != plVar9) && (plVar10 != plVar7)) && ((int)plVar10[8] != 1)) && ((int)plVar10[8] != 3)) goto LAB_1812ac593; } for (; (plVar10 != plVar6 && (((longlong *)*plVar10 == plVar9 || ((longlong *)*plVar10 == plVar7)))); plVar10 = plVar10 + 1) { } LAB_1812ac593: /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1812b59a0 size=176 ############ void FUN_1812b59a0(undefined8 param_1,undefined8 param_2,longlong param_3) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; lVar2 = FUN_1812b5a60(); if (lVar2 != 0) { iVar1 = *(int *)(lVar2 + 0x34); iVar4 = 0; lVar3 = 0; if (0 < iVar1) { while (param_3 != *(longlong *)(*(longlong *)(lVar2 + 0x28) + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(*(longlong *)(lVar2 + 0x28) + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(lVar2 + 0x34) = *(int *)(lVar2 + 0x34) + -1; iVar1 = *(int *)(lVar2 + 0x34); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(lVar2 + 0x30)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x30)) { FUN_18047cb30(lVar2 + 0x28); } } } } return; } ############ FUN_ 1812c8840 size=285 ############ void FUN_1812c8840(undefined8 *param_1) { int *piVar1; void *_Dst; int iVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; ulonglong uVar6; int iVar7; ulonglong uVar8; *param_1 = juce::DropShadower::vftable; lVar3 = param_1[1]; uVar6 = 0; if (lVar3 != 0) { lVar4 = *(longlong *)(lVar3 + 0x80); iVar2 = *(int *)(lVar3 + 0x8c); uVar8 = uVar6; if (0 < iVar2) { do { iVar7 = (int)uVar8; if (param_1 == *(undefined8 **)(lVar4 + uVar6 * 8)) { _Dst = (void *)(lVar4 + (longlong)iVar7 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar7) + -1) << 3); *(int *)(lVar3 + 0x8c) = *(int *)(lVar3 + 0x8c) + -1; iVar2 = *(int *)(lVar3 + 0x8c); iVar7 = 0; if (0 < iVar2 * 2) { iVar7 = iVar2 * 2; } if (iVar7 < *(int *)(lVar3 + 0x88)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar3 + 0x88)) { FUN_18047cb30((longlong *)(lVar3 + 0x80)); } } break; } uVar8 = (ulonglong)(iVar7 + 1); uVar6 = uVar6 + 1; } while ((longlong)uVar6 < (longlong)iVar2); } param_1[1] = 0; } FUN_1812c8590(param_1); *(undefined1 *)(param_1 + 6) = 1; FUN_18047cbc0(param_1 + 2); if (*(int *)(param_1 + 3) == 0) { *(undefined4 *)(param_1 + 3) = 0; puVar5 = (undefined8 *)param_1[7]; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } FUN_18047cbc0(param_1 + 2); *(undefined4 *)((longlong)param_1 + 0x1c) = 0; /* WARNING: Could not recover jumptable at 0x0001812c895b. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)param_1[2]); return; } /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } ############ FUN_ 1812cadf0 size=144 ############ void FUN_1812cadf0(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0x34); lVar2 = *(longlong *)(param_1 + 0x28); iVar4 = 0; lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0x34) = *(int *)(param_1 + 0x34) + -1; iVar1 = *(int *)(param_1 + 0x34); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x30)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x30)) { FUN_18047cb30((longlong *)(param_1 + 0x28)); } } } return; } ############ FUN_ 1812cae90 size=113 ############ void FUN_1812cae90(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; if (param_2 != 0) { plVar3 = *(longlong **)(param_1 + 0x28); iVar2 = *(int *)(param_1 + 0x34); plVar1 = plVar3 + iVar2; for (; plVar3 != plVar1; plVar3 = plVar3 + 1) { if (param_2 == *plVar3) { return; } } if (*(int *)(param_1 + 0x30) < iVar2 + 1) { FUN_18047cb30((longlong *)(param_1 + 0x28),iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x34); *(int *)(param_1 + 0x34) = iVar2 + 1; *(longlong *)(*(longlong *)(param_1 + 0x28) + (longlong)iVar2 * 8) = param_2; } return; } ############ FUN_ 1812d5620 size=841 ############ void FUN_1812d5620(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; longlong lVar1; uint uVar2; int iVar3; uint uVar4; longlong *plVar5; longlong *plVar6; uint *_Memory_00; ulonglong uVar7; undefined8 *puVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; ulonglong uVar12; longlong local_res18; undefined8 local_res20; undefined8 *local_50; int local_48; uint local_44; iVar3 = FUN_18049bb30(*(undefined8 *)(param_2 + 0x18),"CLOSED",param_3,param_4,0xfffffffffffffffe) ; if (iVar3 == 0) { uVar4 = *(uint *)(param_1 + 0x44) & 3; if (uVar4 == 0) { if (*(longlong *)(param_1 + 8) == 0) { return; } if (*(char *)(*(longlong *)(param_1 + 8) + 0x124) == '\0') { return; } } else if (uVar4 != 2) { return; } FUN_1812d6e80(param_1,1); return; } iVar3 = FUN_18049bb30(*(undefined8 *)(param_2 + 0x18),&DAT_1821e4a74); if (iVar3 != 0) { return; } uVar4 = *(uint *)(param_1 + 0x44) & 3; if (uVar4 == 0) { if ((*(longlong *)(param_1 + 8) != 0) && (*(char *)(*(longlong *)(param_1 + 8) + 0x124) != '\0') ) goto LAB_1812d56eb; } else if (uVar4 == 2) goto LAB_1812d56eb; FUN_1812d6e80(param_1,2); LAB_1812d56eb: uVar9 = 0; local_50 = (undefined8 *)0x0; local_48 = 0; local_44 = 0; iVar3 = *(int *)(param_1 + 0x24); uVar7 = uVar9; if (0 < iVar3) { FUN_18047cb30(&local_50,iVar3 + 8 + iVar3 / 2 & 0xfffffff8); uVar7 = (ulonglong)local_44; } uVar4 = (uint)uVar7; puVar8 = *(undefined8 **)(param_1 + 0x18); uVar12 = (ulonglong)((longlong)(puVar8 + *(int *)(param_1 + 0x24)) + (7 - (longlong)puVar8)) >> 3; if (puVar8 + *(int *)(param_1 + 0x24) < puVar8) { uVar12 = uVar9; } uVar11 = uVar9; if (uVar12 != 0) { do { iVar3 = (int)uVar7; uVar4 = iVar3 + 1; uVar7 = (ulonglong)uVar4; local_50[iVar3] = *puVar8; puVar8 = puVar8 + 1; uVar11 = uVar11 + 1; local_44 = uVar4; } while (uVar11 != uVar12); } puVar8 = *(undefined8 **)(param_2 + 8); puVar10 = local_50; do { local_50 = puVar10; if (puVar8 == (undefined8 *)0x0) { uVar7 = (ulonglong)((longlong)(puVar10 + (int)uVar4) + (7 - (longlong)puVar10)) >> 3; if (puVar10 + (int)uVar4 < puVar10) { uVar7 = uVar9; } puVar8 = puVar10; if (uVar7 != 0) { do { FUN_1812d6e80(*puVar8,0); puVar8 = puVar8 + 1; uVar9 = uVar9 + 1; } while (uVar9 != uVar7); } /* WARNING: Subroutine does not return */ free(puVar10); } for (puVar10 = (undefined8 *)puVar8[2]; puVar10 != (undefined8 *)0x0; puVar10 = (undefined8 *)*puVar10) { local_res20 = puVar10[1]; iVar3 = FUN_18048cbc0(local_res20,&DAT_1821e3254); if (iVar3 == 0) { plVar5 = puVar10 + 2; goto LAB_1812d57b9; } } plVar5 = (longlong *)FUN_181220d40(); LAB_1812d57b9: lVar1 = *plVar5; _Memory = (uint *)(lVar1 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } uVar7 = uVar9; puVar10 = local_50; if (0 < (int)local_44) { do { plVar5 = (longlong *)*puVar10; plVar6 = (longlong *)(**(code **)(*plVar5 + 0x10))(plVar5,&local_res18); iVar3 = 0; if (*plVar6 != lVar1) { iVar3 = FUN_18048cbc0(*plVar6); } _Memory_00 = (uint *)(local_res18 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } uVar4 = (uint)uVar7; if (iVar3 == 0) { FUN_1812d5620(plVar5,puVar8); uVar2 = local_44; if (uVar4 < local_44) { memmove(local_50 + (int)uVar4,local_50 + (int)uVar4 + 1, (longlong)(int)((local_44 - uVar4) + -1) << 3); local_44 = uVar2 - 1; iVar3 = 0; if (0 < (int)(local_44 * 2)) { iVar3 = local_44 * 2; } if (iVar3 < local_48) { uVar4 = local_44; if ((int)local_44 < 8) { uVar4 = 8; } if ((int)uVar4 < local_48) { FUN_18047cb30(&local_50,uVar4); } } } break; } uVar7 = (ulonglong)(uVar4 + 1); puVar10 = puVar10 + 1; } while ((int)(uVar4 + 1) < (int)local_44); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar8 = (undefined8 *)*puVar8; uVar4 = local_44; puVar10 = local_50; } while( true ); } ############ FUN_ 1812d6f20 size=160 ############ undefined8 FUN_1812d6f20(longlong param_1,uint param_2) { longlong *plVar1; longlong lVar2; undefined8 *_Dst; undefined8 *puVar3; plVar1 = (longlong *)(param_1 + 0x18); if (param_2 < *(uint *)(param_1 + 0x24)) { lVar2 = *(longlong *)((longlong)(int)param_2 * 8 + *plVar1); if (lVar2 != 0) { puVar3 = (undefined8 *)0x0; *(undefined8 *)(lVar2 + 0x10) = 0; if (param_2 < *(uint *)(param_1 + 0x24)) { _Dst = (undefined8 *)(*plVar1 + (longlong)(int)param_2 * 8); puVar3 = (undefined8 *)*_Dst; memmove(_Dst,_Dst + 1,(longlong)(int)((*(uint *)(param_1 + 0x24) - param_2) + -1) << 3); *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) + -1; } if ((*(int *)(param_1 + 0x24) * 2 < *(int *)(param_1 + 0x20)) && (*(int *)(param_1 + 0x24) < *(int *)(param_1 + 0x20))) { FUN_18047cb30(plVar1); } if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } return 1; } } return 0; } ############ FUN_ 1812e0dc0 size=122 ############ void FUN_1812e0dc0(longlong param_1,longlong param_2) { longlong *plVar1; longlong *plVar2; int iVar3; longlong *plVar4; if (param_2 != 0) { plVar1 = (longlong *)(param_1 + 0x300); plVar4 = (longlong *)*plVar1; iVar3 = *(int *)(param_1 + 0x30c); plVar2 = plVar4 + iVar3; for (; plVar4 != plVar2; plVar4 = plVar4 + 1) { if (param_2 == *plVar4) { return; } } if (*(int *)(param_1 + 0x308) < iVar3 + 1) { FUN_18047cb30(plVar1,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(param_1 + 0x30c); *(int *)(param_1 + 0x30c) = iVar3 + 1; *(longlong *)(*plVar1 + (longlong)iVar3 * 8) = param_2; } return; } ############ FUN_ 1812e8a80 size=122 ############ void FUN_1812e8a80(longlong param_1,longlong param_2) { longlong *plVar1; longlong *plVar2; int iVar3; longlong *plVar4; if (param_2 != 0) { plVar1 = (longlong *)(param_1 + 0x1d0); plVar4 = (longlong *)*plVar1; iVar3 = *(int *)(param_1 + 0x1dc); plVar2 = plVar4 + iVar3; for (; plVar4 != plVar2; plVar4 = plVar4 + 1) { if (param_2 == *plVar4) { return; } } if (*(int *)(param_1 + 0x1d8) < iVar3 + 1) { FUN_18047cb30(plVar1,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(param_1 + 0x1dc); *(int *)(param_1 + 0x1dc) = iVar3 + 1; *(longlong *)(*plVar1 + (longlong)iVar3 * 8) = param_2; } return; } ############ FUN_ 1812e9370 size=718 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812e9370(longlong *param_1) { uint uVar1; byte bVar2; longlong *plVar3; longlong lVar4; undefined8 uVar5; undefined8 *puVar6; byte *pbVar7; uint *puVar8; undefined8 *puVar9; int iVar10; longlong *plVar11; undefined1 auStack_98 [32]; undefined4 local_78; int local_74; byte *local_70; undefined8 local_68; undefined4 uStack_60; undefined4 uStack_5c; longlong local_58 [2]; longlong *local_48; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; longlong *local_28; undefined1 local_20 [8]; ulonglong local_18; local_58[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_98; if (param_1[0x39] == 0) { lVar4 = (**(code **)(*param_1 + 0x158))(); puVar6 = (undefined8 *)param_1[0x39]; param_1[0x39] = lVar4; if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } plVar3 = (longlong *)param_1[0x39]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x58))(plVar3,1); FUN_181343cc0(param_1,plVar3,0xffffffff); } uVar5 = FUN_1812ea010(param_1,local_58); FUN_1812e1110(param_1[0x39],uVar5,0); puVar8 = (uint *)(local_58[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } *(undefined4 *)(param_1[0x39] + 0x2f0) = *(undefined4 *)((longlong)param_1 + 0x1fc); plVar3 = param_1 + 0x18; lVar4 = param_1[0x39]; if (plVar3 != (longlong *)0x0) { plVar11 = (longlong *)(lVar4 + 0x300); puVar9 = (undefined8 *)*plVar11; iVar10 = *(int *)(lVar4 + 0x30c); puVar6 = puVar9 + iVar10; for (; local_48 = plVar3, puVar9 != puVar6; puVar9 = puVar9 + 1) { if (plVar3 == (longlong *)*puVar9) goto LAB_1812e94cf; } if (*(int *)(lVar4 + 0x308) < iVar10 + 1) { FUN_18047cb30(plVar11,iVar10 + 9 + (iVar10 + 1) / 2 & 0xfffffff8); } iVar10 = *(int *)(lVar4 + 0x30c); *(int *)(lVar4 + 0x30c) = iVar10 + 1; *(longlong **)(*plVar11 + (longlong)iVar10 * 8) = plVar3; } LAB_1812e94cf: FUN_18133ed60(param_1[0x39],2,1); if (param_1[0x39] != 0) { plVar3 = (longlong *)(param_1[0x39] + 0xb0); puVar6 = (undefined8 *) (**(code **)(*(longlong *)param_1[0x33] + 8))((longlong *)param_1[0x33],&local_28); (**(code **)(*(longlong *)*puVar6 + 0x20))((longlong *)*puVar6,&local_70,puVar6 + 1); (**(code **)(*local_28 + 0xb0))(local_28,local_20); iVar10 = 0; pbVar7 = local_70; do { while( true ) { bVar2 = *pbVar7; pbVar7 = pbVar7 + 1; if ((char)bVar2 < '\0') break; if (bVar2 == 0) { local_78 = 0; local_74 = 0; if (0 < iVar10) { local_74 = iVar10; } (**(code **)(*plVar3 + 0x18))(plVar3,&local_78); puVar8 = (uint *)(local_70 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } (**(code **)(*param_1 + 0x108))(param_1); local_68 = 0; uStack_60 = (undefined4)param_1[5]; uStack_5c = *(undefined4 *)((longlong)param_1 + 0x2c); local_38 = 0; uStack_34 = 0; uStack_30 = uStack_60; uStack_2c = uStack_5c; FUN_181342870(param_1,&local_38,1); (**(code **)(*param_1 + 0x170))(param_1,param_1[0x39]); FUN_18134ab30(param_1,0,0,0); FUN_18133ed60(param_1[0x39],2,1); } LAB_1812e9577: iVar10 = iVar10 + 1; } if ((*pbVar7 & 0xc0) != 0x80) goto LAB_1812e9577; do { pbVar7 = pbVar7 + 1; } while ((*pbVar7 & 0xc0) == 0x80); iVar10 = iVar10 + 1; } while( true ); } } } ############ FUN_ 1812eb830 size=228 ############ void FUN_1812eb830(longlong param_1) { char cVar1; int iVar2; longlong lVar3; undefined1 local_48 [8]; longlong local_40; undefined8 local_38; void *local_30; undefined8 local_28; undefined8 local_20; FUN_181349390(); local_48[0] = 1; local_40 = 0; local_38 = 0; local_30 = (void *)0x0; local_28 = 0; local_20 = 0; FUN_1804af790(&local_40,8); lVar3 = (longlong)local_38._4_4_; local_38 = CONCAT44(local_38._4_4_ + 1,(undefined4)local_38); *(undefined4 *)(local_40 + lVar3 * 4) = 0; iVar2 = local_28._4_4_ + 1; if ((int)local_28 < iVar2) { if (iVar2 < 0) { iVar2 = local_28._4_4_ + 2; } FUN_18047cb30(&local_30,local_28._4_4_ + 9 + (iVar2 >> 1) & 0xfffffff8); } lVar3 = (longlong)local_28._4_4_; local_28 = CONCAT44(local_28._4_4_ + 1,(int)local_28); *(longlong *)((longlong)local_30 + lVar3 * 8) = param_1 + 0x118; cVar1 = FUN_1812efb00(local_48); while (cVar1 != '\0') { cVar1 = FUN_1812efb00(local_48); } /* WARNING: Subroutine does not return */ free(local_30); } ############ FUN_ 1812ea7b0 size=684 ############ void FUN_1812ea7b0(longlong param_1) { int *piVar1; undefined8 *puVar2; char cVar3; undefined8 uVar4; undefined8 uVar5; int iVar6; longlong lVar7; undefined8 *local_res8; longlong local_res10 [3]; undefined1 local_118 [8]; longlong local_110; undefined8 local_108; void *local_100; undefined8 local_f8; longlong local_f0; longlong local_e8; longlong local_e0; undefined8 *local_d0; undefined8 local_c8; undefined **local_c0; code *local_b8; undefined8 *local_b0; undefined ***local_88; undefined1 local_70 [32]; undefined8 *local_50; local_c8 = 0xfffffffffffffffe; if (*(char *)(param_1 + 0x155) == '\0') { *(undefined1 *)(param_1 + 0x155) = 1; } FUN_18051b380(&local_e8,param_1 + 0x118); local_d0 = *(undefined8 **)(param_1 + 0x130); if (local_d0 != (undefined8 *)0x0) { LOCK(); *(int *)(local_d0 + 1) = *(int *)(local_d0 + 1) + 1; UNLOCK(); } iVar6 = 0; if (local_e8 != local_e0) { do { if (*(char *)(local_e8 + 0x86) == '\0') { iVar6 = iVar6 + 1; } local_e8 = local_e8 + 0x88; } while (local_e8 != local_e0); if (0 < iVar6) { iVar6 = FUN_1812ebc40(param_1); local_118[0] = 1; local_110 = 0; local_108 = 0; local_100 = (void *)0x0; local_f8 = 0; local_f0 = 0; FUN_1804af790(&local_110,8); lVar7 = (longlong)local_108._4_4_; local_108 = CONCAT44(local_108._4_4_ + 1,(undefined4)local_108); *(undefined4 *)(local_110 + lVar7 * 4) = 0; if ((int)local_f8 < local_f8._4_4_ + 1) { FUN_18047cb30(&local_100,local_f8._4_4_ + 9 + (local_f8._4_4_ + 1) / 2 & 0xfffffff8); } lVar7 = (longlong)local_f8._4_4_; local_f8 = CONCAT44(local_f8._4_4_ + 1,(int)local_f8); *(longlong **)((longlong)local_100 + lVar7 * 8) = &local_e8; cVar3 = FUN_1812efb00(local_118); while (cVar3 != '\0') { if (*(int *)(local_f0 + 8) != 0) { *(bool *)(local_f0 + 0x85) = *(int *)(local_f0 + 8) == iVar6; } cVar3 = FUN_1812efb00(local_118); } /* WARNING: Subroutine does not return */ free(local_100); } } local_res10[0] = *(longlong *)(param_1 + 0x180); if ((*(uint *)(local_res10[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10[0] + -0x10) = *(int *)(local_res10[0] + -0x10) + 1; UNLOCK(); } FUN_1813486a0(&local_e8,1,local_res10,0,0); lVar7 = FUN_18134adf0(param_1); FUN_18051b750(&local_d0,lVar7); uVar4 = (**(code **)(*(longlong *)(lVar7 + 0x48) + 0x28)) ((longlong *)(lVar7 + 0x48),local_70,param_1,*(undefined8 *)(param_1 + 0x170)); FUN_1804de690(&local_res8,param_1); puVar2 = local_res8; if (local_res8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; UNLOCK(); } local_c0 = std::_Func_impl_no_alloc<,void,int>::vftable; local_b8 = FUN_1812eaa70; local_b0 = local_res8; local_88 = &local_c0; uVar5 = FUN_181347bc0(&local_c0); if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res8)(local_res8,1); } } FUN_1812f0230(&local_e8,uVar4,uVar5); if (local_50 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_50 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_50)(local_50,1); } } if (local_d0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_d0 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_d0)(local_d0,1); } } FUN_18051c930(&local_e8); return; } ############ FUN_ 1812eefa0 size=144 ############ void FUN_1812eefa0(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0x24); lVar2 = *(longlong *)(param_1 + 0x18); iVar4 = 0; lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) + -1; iVar1 = *(int *)(param_1 + 0x24); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x20)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x20)) { FUN_18047cb30((longlong *)(param_1 + 0x18)); } } } return; } ############ FUN_ 1812ef930 size=144 ############ void FUN_1812ef930(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0x1c); lVar2 = *(longlong *)(param_1 + 0x10); iVar4 = 0; lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x1c) + -1; iVar1 = *(int *)(param_1 + 0x1c); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x18)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x18)) { FUN_18047cb30((longlong *)(param_1 + 0x10)); } } } return; } ############ FUN_ 1812ef9d0 size=113 ############ void FUN_1812ef9d0(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; if (param_2 != 0) { plVar3 = *(longlong **)(param_1 + 0x10); iVar2 = *(int *)(param_1 + 0x1c); plVar1 = plVar3 + iVar2; for (; plVar3 != plVar1; plVar3 = plVar3 + 1) { if (param_2 == *plVar3) { return; } } if (*(int *)(param_1 + 0x18) < iVar2 + 1) { FUN_18047cb30((longlong *)(param_1 + 0x10),iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x1c); *(int *)(param_1 + 0x1c) = iVar2 + 1; *(longlong *)(*(longlong *)(param_1 + 0x10) + (longlong)iVar2 * 8) = param_2; } return; } ############ FUN_ 1812f16c0 size=113 ############ void FUN_1812f16c0(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; if (param_2 != 0) { plVar3 = *(longlong **)(param_1 + 0x20); iVar2 = *(int *)(param_1 + 0x2c); plVar1 = plVar3 + iVar2; for (; plVar3 != plVar1; plVar3 = plVar3 + 1) { if (param_2 == *plVar3) { return; } } if (*(int *)(param_1 + 0x28) < iVar2 + 1) { FUN_18047cb30((longlong *)(param_1 + 0x20),iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x2c); *(int *)(param_1 + 0x2c) = iVar2 + 1; *(longlong *)(*(longlong *)(param_1 + 0x20) + (longlong)iVar2 * 8) = param_2; } return; } ############ FUN_ 1812f1740 size=187 ############ void FUN_1812f1740(longlong param_1) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; lVar2 = *(longlong *)(param_1 + 0x18); if (lVar2 != 0) { iVar1 = *(int *)(lVar2 + 0x34); iVar4 = 0; lVar3 = 0; if (0 < iVar1) { while (param_1 + 0x10 != *(longlong *)(*(longlong *)(lVar2 + 0x28) + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { *(undefined8 *)(param_1 + 0x18) = 0; return; } } _Dst = (void *)(*(longlong *)(lVar2 + 0x28) + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(lVar2 + 0x34) = *(int *)(lVar2 + 0x34) + -1; iVar1 = *(int *)(lVar2 + 0x34); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(lVar2 + 0x30)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x30)) { FUN_18047cb30(lVar2 + 0x28); } } } *(undefined8 *)(param_1 + 0x18) = 0; } return; } ############ FUN_ 1812f1850 size=189 ############ void FUN_1812f1850(undefined8 *param_1) { void *_Dst; int iVar1; longlong lVar2; ulonglong uVar3; int iVar4; ulonglong uVar5; *param_1 = juce::MenuBarModel::vftable; uVar3 = 0; lVar2 = param_1[3]; param_1[2] = juce::MenuBarModel::vftable; if (lVar2 != 0) { iVar1 = *(int *)(lVar2 + 0x34); uVar5 = uVar3; if (0 < iVar1) { do { iVar4 = (int)uVar5; if (param_1 + 2 == *(undefined8 **)(*(longlong *)(lVar2 + 0x28) + uVar3 * 8)) { _Dst = (void *)(*(longlong *)(lVar2 + 0x28) + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(lVar2 + 0x34) = *(int *)(lVar2 + 0x34) + -1; iVar1 = *(int *)(lVar2 + 0x34); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(lVar2 + 0x30)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x30)) { FUN_18047cb30(lVar2 + 0x28); } } break; } uVar5 = (ulonglong)(iVar4 + 1); uVar3 = uVar3 + 1; } while ((longlong)uVar3 < (longlong)iVar1); } param_1[3] = 0; } *(undefined4 *)((longlong)param_1 + 0x2c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[4]); } ############ FUN_ 1812f2910 size=197 ############ void FUN_1812f2910(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong lVar3; longlong *plVar4; lVar3 = *(longlong *)(param_1 + 0xc0); if (param_2 != lVar3) { if (lVar3 != 0) { FUN_1812f1620(lVar3,param_1 + 0xb8); } *(longlong *)(param_1 + 0xc0) = param_2; if ((param_2 != 0) && (lVar3 = param_1 + 0xb8, lVar3 != 0)) { plVar4 = *(longlong **)(param_2 + 0x20); iVar2 = *(int *)(param_2 + 0x2c); plVar1 = plVar4 + iVar2; for (; plVar4 != plVar1; plVar4 = plVar4 + 1) { if (lVar3 == *plVar4) goto LAB_1812f29b6; } if (*(int *)(param_2 + 0x28) < iVar2 + 1) { FUN_18047cb30(param_2 + 0x20,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_2 + 0x2c); *(int *)(param_2 + 0x2c) = iVar2 + 1; *(longlong *)(*(longlong *)(param_2 + 0x20) + (longlong)iVar2 * 8) = lVar3; } LAB_1812f29b6: FUN_1812f2510(param_1); FUN_181348f10(param_1 + 200); } return; } ############ FUN_ 181319b80 size=194 ############ void FUN_181319b80(longlong param_1,uint param_2) { void *_Dst; longlong lVar1; longlong lVar2; uint uVar3; if (param_2 < *(uint *)(param_1 + 0xf4)) { uVar3 = *(uint *)(param_1 + 0x108); if (param_2 == uVar3) { uVar3 = 0xffffffff; } else if ((int)param_2 < (int)uVar3) { uVar3 = uVar3 - 1; } lVar2 = 0; if (param_2 < *(uint *)(param_1 + 0xf4)) { lVar1 = *(longlong *)(param_1 + 0xe8); lVar2 = *(longlong *)(lVar1 + (longlong)(int)param_2 * 8); _Dst = (void *)(lVar1 + (longlong)(int)param_2 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)(param_1 + 0xf4) - param_2) + -1) << 3); *(int *)(param_1 + 0xf4) = *(int *)(param_1 + 0xf4) + -1; } if ((*(int *)(param_1 + 0xf4) * 2 < *(int *)(param_1 + 0xf0)) && (*(int *)(param_1 + 0xf4) < *(int *)(param_1 + 0xf0))) { FUN_18047cb30((longlong *)(param_1 + 0xe8)); } if (lVar2 != 0) { FUN_18051da50(lVar2); } FUN_181319980(param_1,uVar3); FUN_181319110(param_1); } return; } ############ FUN_ 18131c970 size=306 ############ void FUN_18131c970(longlong param_1) { void *_Dst; longlong *plVar1; int iVar2; longlong lVar3; longlong lVar4; longlong lVar5; longlong lVar6; longlong *plVar7; int iVar8; longlong *plVar9; lVar3 = *(longlong *)(param_1 + 0x18); if ((lVar3 != 0) && (lVar4 = *(longlong *)(param_1 + 0x138), lVar4 != lVar3)) { if (lVar4 != 0) { iVar8 = 0; iVar2 = *(int *)(lVar4 + 0x8c); lVar6 = 0; lVar5 = *(longlong *)(lVar4 + 0x80); if (0 < iVar2) { do { if (param_1 + 0xb0 == *(longlong *)(lVar5 + lVar6 * 8)) { _Dst = (void *)(lVar5 + (longlong)iVar8 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar2 - iVar8) + -1) << 3); *(int *)(lVar4 + 0x8c) = *(int *)(lVar4 + 0x8c) + -1; iVar2 = *(int *)(lVar4 + 0x8c); iVar8 = 0; if (0 < iVar2 * 2) { iVar8 = iVar2 * 2; } if (iVar8 < *(int *)(lVar4 + 0x88)) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < *(int *)(lVar4 + 0x88)) { FUN_18047cb30((longlong *)(lVar4 + 0x80)); } } break; } iVar8 = iVar8 + 1; lVar6 = lVar6 + 1; } while (lVar6 < iVar2); } } *(longlong *)(param_1 + 0x138) = lVar3; param_1 = param_1 + 0xb0; if (param_1 != 0) { plVar9 = (longlong *)(lVar3 + 0x80); plVar7 = (longlong *)*plVar9; iVar2 = *(int *)(lVar3 + 0x8c); plVar1 = plVar7 + iVar2; for (; plVar7 != plVar1; plVar7 = plVar7 + 1) { if (param_1 == *plVar7) { return; } } if (*(int *)(lVar3 + 0x88) < iVar2 + 1) { FUN_18047cb30(plVar9,iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(lVar3 + 0x8c); *(int *)(lVar3 + 0x8c) = iVar2 + 1; *(longlong *)(*plVar9 + (longlong)iVar2 * 8) = param_1; } } return; } ############ FUN_ 18131e2f0 size=147 ############ void FUN_18131e2f0(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0x14c); iVar4 = 0; lVar2 = *(longlong *)(param_1 + 0x140); lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0x14c) = *(int *)(param_1 + 0x14c) + -1; iVar1 = *(int *)(param_1 + 0x14c); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x148)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x148)) { FUN_18047cb30((longlong *)(param_1 + 0x140)); } } } return; } ############ FUN_ 18131e390 size=122 ############ void FUN_18131e390(longlong param_1,longlong param_2) { longlong *plVar1; longlong *plVar2; int iVar3; longlong *plVar4; if (param_2 != 0) { plVar1 = (longlong *)(param_1 + 0x140); plVar4 = (longlong *)*plVar1; iVar3 = *(int *)(param_1 + 0x14c); plVar2 = plVar4 + iVar3; for (; plVar4 != plVar2; plVar4 = plVar4 + 1) { if (param_2 == *plVar4) { return; } } if (*(int *)(param_1 + 0x148) < iVar3 + 1) { FUN_18047cb30(plVar1,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(param_1 + 0x14c); *(int *)(param_1 + 0x14c) = iVar3 + 1; *(longlong *)(*plVar1 + (longlong)iVar3 * 8) = param_2; } return; } ############ FUN_ 181323950 size=506 ############ void FUN_181323950(longlong param_1) { int *piVar1; longlong *plVar2; int iVar3; uint uVar4; void *_Src; longlong lVar5; longlong *plVar6; char cVar7; DWORD DVar8; longlong *plVar9; longlong lVar10; uint uVar11; int iVar12; longlong *plVar13; bool bVar14; longlong local_res10; longlong *local_50; undefined8 local_48; DVar8 = timeGetTime(); if (DVar8 < DAT_1826737fc) { if (DVar8 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar8; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar8; } if (*(int *)(param_1 + 0x28) == 0) { *(DWORD *)(param_1 + 0x28) = DVar8; } iVar3 = *(int *)(param_1 + 0x24); _Src = *(void **)(param_1 + 0x18); local_50 = (longlong *)0x0; local_48 = 0; iVar12 = 0; if (0 < iVar3) { FUN_18047cb30(&local_50,iVar3 + 8 + iVar3 / 2 & 0xfffffff8); iVar12 = local_48._4_4_; } plVar13 = local_50; memcpy(local_50 + iVar12,_Src,(longlong)iVar3 << 3); local_48 = CONCAT44(iVar12 + iVar3,(undefined4)local_48); plVar2 = plVar13 + (iVar12 + iVar3); plVar6 = plVar13; joined_r0x000181323a1b: if (plVar13 == plVar2) { /* WARNING: Subroutine does not return */ free(plVar6); } lVar5 = *plVar13; plVar9 = *(longlong **)(param_1 + 0x18); plVar6 = plVar9 + *(int *)(param_1 + 0x24); for (; plVar9 != plVar6; plVar9 = plVar9 + 1) { if (lVar5 == *plVar9) { cVar7 = FUN_1804f6a20(); if (cVar7 == '\0') { uVar11 = 0; lVar10 = 0; uVar4 = *(uint *)(param_1 + 0x24); if ((int)uVar4 < 1) goto LAB_181323af9; plVar6 = *(longlong **)(param_1 + 0x18); plVar9 = plVar6; goto LAB_181323a82; } break; } } goto LAB_181323b2f; while( true ) { uVar11 = uVar11 + 1; lVar10 = lVar10 + 1; plVar9 = plVar9 + 1; if ((int)uVar4 <= (int)uVar11) break; LAB_181323a82: if (lVar5 == *plVar9) { local_res10 = 0; if (uVar11 < uVar4) { local_res10 = plVar6[lVar10]; memmove(plVar6 + (int)uVar11,plVar6 + (int)uVar11 + 1, (longlong)(int)((uVar4 - uVar11) + -1) << 3); *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) + -1; } if ((*(int *)(param_1 + 0x24) * 2 < *(int *)(param_1 + 0x20)) && (*(int *)(param_1 + 0x24) < *(int *)(param_1 + 0x20))) { FUN_18047cb30(param_1 + 0x18); } if (local_res10 != 0) { FUN_18051d990(local_res10); } break; } } LAB_181323af9: if (*(char *)(param_1 + -8) != '\0') { piVar1 = (int *)(*(longlong *)(param_1 + -0x28) + 0x18); LOCK(); bVar14 = *piVar1 == 0; if (bVar14) { *piVar1 = 1; } UNLOCK(); if ((bVar14) && (cVar7 = FUN_1812a6720(*(undefined8 *)(param_1 + -0x28)), cVar7 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + -0x28) + 0x18) = 0; UNLOCK(); } } LAB_181323b2f: plVar13 = plVar13 + 1; plVar6 = local_50; goto joined_r0x000181323a1b; } ############ FUN_ 1813261e0 size=231 ############ void FUN_1813261e0(longlong param_1,undefined8 *param_2) { char cVar1; int iVar2; longlong lVar3; undefined1 local_58 [8]; longlong local_50; undefined8 local_48; void *local_40; undefined8 local_38; undefined8 local_30; *param_2 = 0; param_2[1] = 0; local_58[0] = 1; local_50 = 0; local_48 = 0; local_40 = (void *)0x0; local_38 = 0; local_30 = 0; FUN_1804af790(&local_50,8); lVar3 = (longlong)local_48._4_4_; local_48 = CONCAT44(local_48._4_4_ + 1,(undefined4)local_48); *(undefined4 *)(local_50 + lVar3 * 4) = 0; iVar2 = local_38._4_4_ + 1; if ((int)local_38 < iVar2) { if (iVar2 < 0) { iVar2 = local_38._4_4_ + 2; } FUN_18047cb30(&local_40,local_38._4_4_ + 9 + (iVar2 >> 1) & 0xfffffff8); } lVar3 = (longlong)local_38._4_4_; local_38 = CONCAT44(local_38._4_4_ + 1,(int)local_38); *(longlong *)((longlong)local_40 + lVar3 * 8) = param_1 + 0x1f0; cVar1 = FUN_1812efb00(local_58); while (cVar1 != '\0') { cVar1 = FUN_1812efb00(local_58); } /* WARNING: Subroutine does not return */ free(local_40); } ############ FUN_ 181336080 size=232 ############ void FUN_181336080(longlong param_1,undefined8 param_2,undefined4 param_3) { void *_Dst; longlong lVar1; longlong lVar2; longlong lVar3; int iVar4; int iVar5; lVar1 = *(longlong *)(param_1 + 0x180); *(undefined4 *)(param_1 + 0x19c) = param_3; *(undefined1 *)(param_1 + 0x1c6) = 0; if (lVar1 != 0) { lVar3 = *(longlong *)(param_1 + 0x170); if (lVar3 != 0) { lVar3 = lVar3 + 0x18; } iVar5 = *(int *)(lVar1 + 0x34); iVar4 = 0; lVar2 = 0; if (0 < iVar5) { do { if (lVar3 == *(longlong *)(*(longlong *)(lVar1 + 0x28) + lVar2 * 8)) { _Dst = (void *)(*(longlong *)(lVar1 + 0x28) + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar5 - iVar4) + -1) << 3); *(int *)(lVar1 + 0x34) = *(int *)(lVar1 + 0x34) + -1; iVar5 = *(int *)(lVar1 + 0x34); iVar4 = 0; if (0 < iVar5 * 2) { iVar4 = iVar5 * 2; } if (iVar4 < *(int *)(lVar1 + 0x30)) { if (iVar5 < 8) { iVar5 = 8; } if (iVar5 < *(int *)(lVar1 + 0x30)) { FUN_18047cb30(lVar1 + 0x28); } } break; } iVar4 = iVar4 + 1; lVar2 = lVar2 + 1; } while (lVar2 < iVar5); } *(undefined8 *)(param_1 + 0x180) = 0; } if (*(longlong *)(param_1 + 0x180) == 0) { FUN_18133e970(param_1,1); return; } FUN_181335fc0(); return; } ############ FUN_ 18133b130 size=336 ############ void FUN_18133b130(longlong param_1) { int *piVar1; void *_Dst; undefined8 *puVar2; longlong *plVar3; undefined8 *puVar4; int iVar5; undefined8 uVar6; longlong lVar7; uint uVar8; longlong lVar9; longlong lVar10; undefined8 *puVar11; undefined8 *local_res8; undefined8 *local_res10; uVar8 = *(int *)(param_1 + 0x24) - 1; if (-1 < (int)uVar8) { lVar7 = (longlong)(int)uVar8 * 8; lVar10 = lVar7; do { lVar9 = *(longlong *)(param_1 + 0x18); puVar2 = *(undefined8 **)(lVar10 + lVar9); if (*(char *)((longlong)puVar2 + 0x5c) == '\0') { puVar11 = (undefined8 *)0x0; if (uVar8 < *(uint *)(param_1 + 0x24)) { _Dst = (void *)(lVar9 + lVar7); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)(param_1 + 0x24) - uVar8) + -1) << 3); *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) + -1; puVar11 = puVar2; if ((*(int *)(param_1 + 0x24) * 2 < *(int *)(param_1 + 0x20)) && (*(int *)(param_1 + 0x24) < *(int *)(param_1 + 0x20))) { FUN_18047cb30((longlong *)(param_1 + 0x18)); } } if (*(char *)((longlong)puVar2 + 0x5d) == '\0') { uVar6 = 0; } else { uVar6 = puVar2[8]; } local_res10 = puVar11; FUN_1804de690(&local_res8,uVar6); iVar5 = *(int *)((longlong)puVar2 + 0x54) + -1; lVar9 = (longlong)iVar5; if (-1 < iVar5) { do { plVar3 = *(longlong **)(puVar2[9] + lVar9 * 8); (**(code **)(*plVar3 + 8))(plVar3,*(undefined4 *)(puVar2 + 0xb)); lVar9 = lVar9 + -1; } while (-1 < lVar9); } puVar2 = local_res8; if ((local_res8 != (undefined8 *)0x0) && (puVar4 = (undefined8 *)local_res8[2], puVar4 != (undefined8 *)0x0)) { (**(code **)*puVar4)(puVar4,1); } if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res8)(local_res8,1); } } if (puVar11 != (undefined8 *)0x0) { (**(code **)*puVar11)(puVar11,1); } } lVar7 = lVar7 + -8; lVar10 = lVar10 + -8; uVar8 = uVar8 - 1; } while (-1 < (int)uVar8); } return; } ############ FUN_ 18133bfb0 size=144 ############ void FUN_18133bfb0(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0x54); lVar2 = *(longlong *)(param_1 + 0x48); iVar4 = 0; lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0x54) = *(int *)(param_1 + 0x54) + -1; iVar1 = *(int *)(param_1 + 0x54); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x50)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x50)) { FUN_18047cb30((longlong *)(param_1 + 0x48)); } } } return; } ############ FUN_ 18133c3c0 size=108 ############ void FUN_18133c3c0(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; plVar3 = *(longlong **)(param_1 + 0x58); iVar2 = *(int *)(param_1 + 100); plVar1 = plVar3 + iVar2; while( true ) { if (plVar3 == plVar1) { if (*(int *)(param_1 + 0x60) < iVar2 + 1) { FUN_18047cb30((longlong *)(param_1 + 0x58),iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 100); *(int *)(param_1 + 100) = iVar2 + 1; *(longlong *)(*(longlong *)(param_1 + 0x58) + (longlong)iVar2 * 8) = param_2; return; } if (param_2 == *plVar3) break; plVar3 = plVar3 + 1; } return; } ############ FUN_ 181346d50 size=198 ############ void FUN_181346d50(longlong param_1,longlong *param_2) { int iVar1; iVar1 = *(int *)(param_1 + 0x18c) + 1; if (*(int *)(param_1 + 0x188) < iVar1) { FUN_18047cb30((longlong *)(param_1 + 0x180), *(int *)(param_1 + 0x18c) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)(param_1 + 0x18c); *(int *)(param_1 + 0x18c) = iVar1 + 1; *(longlong **)(*(longlong *)(param_1 + 0x180) + (longlong)iVar1 * 8) = param_2; iVar1 = *(int *)(param_1 + 0x1ac) + 1; if (*(int *)(param_1 + 0x1a8) < iVar1) { FUN_18047cb30((longlong *)(param_1 + 0x1a0), *(int *)(param_1 + 0x1ac) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)(param_1 + 0x1ac); *(int *)(param_1 + 0x1ac) = iVar1 + 1; *(longlong **)(*(longlong *)(param_1 + 0x1a0) + (longlong)iVar1 * 8) = param_2; if (param_2 != (longlong *)0x0) { (**(code **)(*param_2 + 0x58))(param_2,1); FUN_181343cc0(param_1,param_2,0xffffffff); } FUN_1812d3dc0(param_1,0); return; } ############ FUN_ 181347d30 size=147 ############ void FUN_181347d30(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0x16c); iVar4 = 0; lVar2 = *(longlong *)(param_1 + 0x160); lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0x16c) = *(int *)(param_1 + 0x16c) + -1; iVar1 = *(int *)(param_1 + 0x16c); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x168)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x168)) { FUN_18047cb30((longlong *)(param_1 + 0x160)); } } } return; } ############ FUN_ 181347dd0 size=122 ############ void FUN_181347dd0(longlong param_1,longlong param_2) { longlong *plVar1; longlong *plVar2; int iVar3; longlong *plVar4; if (param_2 != 0) { plVar1 = (longlong *)(param_1 + 0x160); plVar4 = (longlong *)*plVar1; iVar3 = *(int *)(param_1 + 0x16c); plVar2 = plVar4 + iVar3; for (; plVar4 != plVar2; plVar4 = plVar4 + 1) { if (param_2 == *plVar4) { return; } } if (*(int *)(param_1 + 0x168) < iVar3 + 1) { FUN_18047cb30(plVar1,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(param_1 + 0x16c); *(int *)(param_1 + 0x16c) = iVar3 + 1; *(longlong *)(*plVar1 + (longlong)iVar3 * 8) = param_2; } return; } ############ FUN_ 181349280 size=147 ############ void FUN_181349280(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0x16c); iVar4 = 0; lVar2 = *(longlong *)(param_1 + 0x160); lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0x16c) = *(int *)(param_1 + 0x16c) + -1; iVar1 = *(int *)(param_1 + 0x16c); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x168)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x168)) { FUN_18047cb30((longlong *)(param_1 + 0x160)); } } } return; } ############ FUN_ 1813499a0 size=149 ############ void FUN_1813499a0(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; lVar2 = *(longlong *)(param_1 + 0x200); iVar4 = 0; lVar3 = 0; iVar1 = *(int *)(lVar2 + 0x34); if (0 < iVar1) { while (param_2 != *(longlong *)(*(longlong *)(lVar2 + 0x28) + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(*(longlong *)(lVar2 + 0x28) + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(lVar2 + 0x34) = *(int *)(lVar2 + 0x34) + -1; iVar1 = *(int *)(lVar2 + 0x34); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(lVar2 + 0x30)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(lVar2 + 0x30)) { FUN_18047cb30(lVar2 + 0x28); } } } return; } ############ FUN_ 18134aca0 size=147 ############ void FUN_18134aca0(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0x8c); iVar4 = 0; lVar2 = *(longlong *)(param_1 + 0x80); lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0x8c) = *(int *)(param_1 + 0x8c) + -1; iVar1 = *(int *)(param_1 + 0x8c); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x88)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x88)) { FUN_18047cb30((longlong *)(param_1 + 0x80)); } } } return; } ############ FUN_ 18134ad40 size=122 ############ void FUN_18134ad40(longlong param_1,longlong param_2) { longlong *plVar1; longlong *plVar2; int iVar3; longlong *plVar4; if (param_2 != 0) { plVar1 = (longlong *)(param_1 + 0x80); plVar4 = (longlong *)*plVar1; iVar3 = *(int *)(param_1 + 0x8c); plVar2 = plVar4 + iVar3; for (; plVar4 != plVar2; plVar4 = plVar4 + 1) { if (param_2 == *plVar4) { return; } } if (*(int *)(param_1 + 0x88) < iVar3 + 1) { FUN_18047cb30(plVar1,iVar3 + 9 + (iVar3 + 1) / 2 & 0xfffffff8); } iVar3 = *(int *)(param_1 + 0x8c); *(int *)(param_1 + 0x8c) = iVar3 + 1; *(longlong *)(*plVar1 + (longlong)iVar3 * 8) = param_2; } return; } ############ FUN_ 18134fb90 size=296 ############ void FUN_18134fb90(longlong param_1) { int iVar1; ulonglong *puVar2; undefined8 *puVar3; uint uVar4; ulonglong *puVar5; ulonglong *puVar6; ulonglong *puVar7; if (0 < *(int *)(param_1 + 0x6c)) { puVar6 = (ulonglong *)0x0; do { if (*(int *)(param_1 + 0x60) <= *(int *)(param_1 + 100)) { return; } if (*(int *)(param_1 + 0x44) <= *(int *)(param_1 + 0x68)) { return; } uVar4 = 0; puVar2 = puVar6; if (0 < *(int *)(param_1 + 0x44)) { puVar2 = (ulonglong *)**(undefined8 **)(param_1 + 0x38); } puVar3 = (undefined8 *)*puVar2; puVar7 = (ulonglong *) ((ulonglong) ((longlong)(puVar3 + *(int *)((longlong)puVar2 + 0xc)) + (7 - (longlong)puVar3)) >> 3); if (puVar3 + *(int *)((longlong)puVar2 + 0xc) < puVar3) { puVar7 = puVar6; } puVar2 = puVar6; puVar5 = puVar6; if (puVar7 != (ulonglong *)0x0) { do { iVar1 = (**(code **)(*(longlong *)*puVar3 + 0x18))(); puVar5 = (ulonglong *)((longlong)puVar5 + 1); puVar3 = puVar3 + 1; uVar4 = (int)puVar2 + iVar1; puVar2 = (ulonglong *)(ulonglong)uVar4; } while (puVar5 != puVar7); } *(int *)(param_1 + 0x60) = *(int *)(param_1 + 0x60) - uVar4; puVar2 = puVar6; if (*(int *)(param_1 + 0x44) != 0) { puVar3 = *(undefined8 **)(param_1 + 0x38); puVar2 = (ulonglong *)*puVar3; memmove(puVar3,puVar3 + 1,(longlong)(*(int *)(param_1 + 0x44) + -1) << 3); *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + -1; } if ((*(int *)(param_1 + 0x44) * 2 < *(int *)(param_1 + 0x40)) && (*(int *)(param_1 + 0x44) < *(int *)(param_1 + 0x40))) { FUN_18047cb30(param_1 + 0x38); } if (puVar2 != (ulonglong *)0x0) { FUN_180528290(puVar2); } *(int *)(param_1 + 0x6c) = *(int *)(param_1 + 0x6c) + -1; } while (0 < *(int *)(param_1 + 0x6c)); } return; } ############ FUN_ 1813afc80 size=93 ############ void FUN_1813afc80(longlong *param_1,longlong param_2,char param_3) { int iVar1; if (param_2 != 0) { if (param_3 != '\0') { *(undefined4 *)(param_1 + 2) = *(undefined4 *)((longlong)param_1 + 0xc); } iVar1 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar1) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(longlong *)(*param_1 + (longlong)iVar1 * 8) = param_2; } return; } ############ FUN_ 1813b6000 size=113 ############ void FUN_1813b6000(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; if (param_2 != 0) { plVar3 = *(longlong **)(param_1 + 0x10); iVar2 = *(int *)(param_1 + 0x1c); plVar1 = plVar3 + iVar2; for (; plVar3 != plVar1; plVar3 = plVar3 + 1) { if (param_2 == *plVar3) { return; } } if (*(int *)(param_1 + 0x18) < iVar2 + 1) { FUN_18047cb30((longlong *)(param_1 + 0x10),iVar2 + 9 + (iVar2 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x1c); *(int *)(param_1 + 0x1c) = iVar2 + 1; *(longlong *)(*(longlong *)(param_1 + 0x10) + (longlong)iVar2 * 8) = param_2; } return; } ############ FUN_ 1813ba1a0 size=82 ############ void FUN_1813ba1a0(longlong *param_1,longlong param_2) { int iVar1; if (param_2 != 0) { iVar1 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar1) { FUN_18047cb30(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(longlong *)(*param_1 + (longlong)iVar1 * 8) = param_2; } return; } ############ FUN_ 1813c6e30 size=147 ############ void FUN_1813c6e30(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0xb4); iVar4 = 0; lVar2 = *(longlong *)(param_1 + 0xa8); lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0xb4) = *(int *)(param_1 + 0xb4) + -1; iVar1 = *(int *)(param_1 + 0xb4); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0xb0)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0xb0)) { FUN_18047cb30((longlong *)(param_1 + 0xa8)); } } } return; } ############ FUN_ 181414160 size=147 ############ void FUN_181414160(longlong param_1,longlong param_2) { void *_Dst; int iVar1; longlong lVar2; longlong lVar3; int iVar4; iVar1 = *(int *)(param_1 + 0x24011c); iVar4 = 0; lVar2 = *(longlong *)(param_1 + 0x240110); lVar3 = 0; if (0 < iVar1) { while (param_2 != *(longlong *)(lVar2 + lVar3 * 8)) { iVar4 = iVar4 + 1; lVar3 = lVar3 + 1; if (iVar1 <= lVar3) { return; } } _Dst = (void *)(lVar2 + (longlong)iVar4 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8),(longlong)((iVar1 - iVar4) + -1) << 3); *(int *)(param_1 + 0x24011c) = *(int *)(param_1 + 0x24011c) + -1; iVar1 = *(int *)(param_1 + 0x24011c); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 0x240118)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 0x240118)) { FUN_18047cb30((longlong *)(param_1 + 0x240110)); } } } return; } ############ FUN_ 181451c70 size=257 ############ void FUN_181451c70(longlong param_1,longlong param_2) { uint uVar1; longlong *plVar2; undefined4 uVar3; longlong *plVar4; undefined8 *puVar5; uint uVar6; undefined8 *puVar7; undefined8 *puVar8; plVar2 = *(longlong **)(param_1 + 0x40); plVar4 = plVar2; do { if (plVar4 == plVar2 + *(int *)(param_1 + 0x4c)) { uVar3 = 0xffffffff; LAB_181451cb3: FUN_181343a90(param_1,uVar3,1); puVar8 = (undefined8 *)0x0; uVar1 = *(uint *)(param_1 + 0x11c); if (0 < (int)uVar1) { plVar2 = *(longlong **)(param_1 + 0x110); plVar4 = plVar2; puVar5 = puVar8; puVar7 = puVar8; while (uVar6 = (uint)puVar7, param_2 != *plVar4) { puVar7 = (undefined8 *)(ulonglong)(uVar6 + 1); puVar5 = (undefined8 *)((longlong)puVar5 + 1); plVar4 = plVar4 + 1; if ((longlong)(int)uVar1 <= (longlong)puVar5) { return; } } if (uVar6 < uVar1) { puVar8 = (undefined8 *)plVar2[(int)uVar6]; memmove(plVar2 + (int)uVar6,plVar2 + (int)uVar6 + 1, (longlong)(int)((uVar1 - uVar6) + -1) << 3); *(int *)(param_1 + 0x11c) = *(int *)(param_1 + 0x11c) + -1; } if ((*(int *)(param_1 + 0x11c) * 2 < *(int *)(param_1 + 0x118)) && (*(int *)(param_1 + 0x11c) < *(int *)(param_1 + 0x118))) { FUN_18047cb30((longlong *)(param_1 + 0x110)); } if (puVar8 != (undefined8 *)0x0) { (**(code **)*puVar8)(puVar8,1); } } return; } if (param_2 == *plVar4) { uVar3 = (undefined4)((longlong)plVar4 - (longlong)plVar2 >> 3); goto LAB_181451cb3; } plVar4 = plVar4 + 1; } while( true ); } ############ FUN_ 18146fca0 size=549 ############ void FUN_18146fca0(longlong param_1,undefined8 param_2,longlong *param_3) { uint uVar1; longlong *plVar2; longlong lVar3; int iVar4; longlong *plVar5; undefined4 uVar6; uint *puVar7; uint uVar8; undefined8 *puVar9; undefined8 *puVar10; longlong local_res20; iVar4 = FUN_18048cbc0(*param_3,"delete preset"); if (iVar4 == 0) { if (*(char *)(param_1 + 0x398) == '\0') { FUN_18049c4e0(&local_res20,"click to confirm"); FUN_181347ea0(*(undefined8 *)(param_1 + 0x390),&local_res20); puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } *(undefined1 *)(param_1 + 0x398) = 1; FUN_1812a77d0(param_1 + 8,2000); } else { plVar2 = *(longlong **)(param_1 + 0x360); lVar3 = *(longlong *)(*(longlong *)(*(longlong *)(param_1 + -0x20) + 0x130) + 0x2c0); if (*(code **)(*plVar2 + 0x18) == FUN_181176190) { FUN_181244b10(plVar2 + 4); } else { (**(code **)(*plVar2 + 0x18))(plVar2); } FUN_181169240(*(undefined8 *)(lVar3 + 0x30),plVar2); lVar3 = *(longlong *)(param_1 + -0x20); plVar2 = *(longlong **)(lVar3 + 0x40); for (plVar5 = plVar2; plVar5 != plVar2 + *(int *)(lVar3 + 0x4c); plVar5 = plVar5 + 1) { if (param_1 + -0xe8 == *plVar5) { uVar6 = (undefined4)((longlong)plVar5 - (longlong)plVar2 >> 3); goto LAB_18146fd60; } } uVar6 = 0xffffffff; LAB_18146fd60: FUN_181343a90(lVar3,uVar6,1); puVar10 = (undefined8 *)0x0; uVar1 = *(uint *)(lVar3 + 0x11c); if ((int)uVar1 < 1) { LAB_18146fe1c: (**(code **)(**(longlong **)(param_1 + -0x20) + 0x108))(); } else { plVar2 = *(longlong **)(lVar3 + 0x110); plVar5 = plVar2; puVar9 = puVar10; do { uVar8 = (uint)puVar9; if (param_1 + -0xe8 == *plVar5) { if (uVar8 < uVar1) { puVar10 = (undefined8 *)plVar2[(int)uVar8]; memmove(plVar2 + (int)uVar8,plVar2 + (int)uVar8 + 1, (longlong)(int)((uVar1 - uVar8) + -1) << 3); *(int *)(lVar3 + 0x11c) = *(int *)(lVar3 + 0x11c) + -1; } if ((*(int *)(lVar3 + 0x11c) * 2 < *(int *)(lVar3 + 0x118)) && (*(int *)(lVar3 + 0x11c) < *(int *)(lVar3 + 0x118))) { FUN_18047cb30((longlong *)(lVar3 + 0x110)); } if (puVar10 != (undefined8 *)0x0) { (**(code **)*puVar10)(puVar10,1); } goto LAB_18146fe1c; } puVar9 = (undefined8 *)(ulonglong)(uVar8 + 1); plVar5 = plVar5 + 1; } while ((int)(uVar8 + 1) < (int)uVar1); (**(code **)(**(longlong **)(param_1 + -0x20) + 0x108))(); } } } puVar7 = (uint *)(*param_3 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } return; } ############ FUN_ 18158d050 size=262 ############ void FUN_18158d050(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; int iVar2; void *_Src; longlong *_Memory; longlong *plVar3; longlong lVar4; int iVar5; longlong *plVar6; longlong *local_20; undefined8 local_18; local_20 = (longlong *)0x0; local_18 = 0; iVar2 = *(int *)(param_1 + 0x1bc); _Src = *(void **)(param_1 + 0x1b0); iVar5 = 0; if (0 < iVar2) { FUN_18047cb30(&local_20,iVar2 + 8 + iVar2 / 2 & 0xfffffff8,param_3,param_4,0xfffffffffffffffe); iVar5 = local_18._4_4_; } _Memory = local_20; memcpy(local_20 + iVar5,_Src,(longlong)iVar2 << 3); local_18 = CONCAT44(iVar5 + iVar2,(undefined4)local_18); plVar1 = _Memory + (iVar5 + iVar2); FUN_181130ef0(_Memory,plVar1); if (_Memory != plVar1) { plVar6 = _Memory; do { lVar4 = *plVar6; for (plVar3 = *(longlong **)(param_1 + 0x1b0); plVar3 != *(longlong **)(param_1 + 0x1b0) + *(int *)(param_1 + 0x1bc); plVar3 = plVar3 + 1 ) { if (lVar4 == *plVar3) goto LAB_18158d129; } plVar6 = plVar6 + 1; } while (plVar6 != plVar1); } lVar4 = 0; LAB_18158d129: FUN_181570670(param_1,lVar4); /* WARNING: Could not recover jumptable at 0x00018158d14f. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } ############ FUN_ 18049b4a0 size=101 ############ void FUN_18049b4a0(longlong *param_1,int param_2) { void *_Dst; int iVar1; int iVar2; _Dst = (void *)(*param_1 + (longlong)param_2 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - param_2) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar1 = *(int *)((longlong)param_1 + 0xc); iVar2 = 0; if (0 < iVar1 * 2) { iVar2 = iVar1 * 2; } if (iVar2 < (int)param_1[1]) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < (int)param_1[1]) { FUN_18047cb30(param_1); return; } } return; } ############ FUN_ 1804af820 size=109 ############ void FUN_1804af820(longlong *param_1,uint param_2) { void *_Dst; int iVar1; int iVar2; if (param_2 < *(uint *)((longlong)param_1 + 0xc)) { _Dst = (void *)(*param_1 + (longlong)(int)param_2 * 8); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)(int)((*(uint *)((longlong)param_1 + 0xc) - param_2) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar1 = *(int *)((longlong)param_1 + 0xc); iVar2 = 0; if (0 < iVar1 * 2) { iVar2 = iVar1 * 2; } if (iVar2 < (int)param_1[1]) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < (int)param_1[1]) { FUN_18047cb30(param_1); return; } } } return; } ############ FUN_ 18051b040 size=131 ############ void FUN_18051b040(longlong *param_1,longlong param_2) { uint uVar1; longlong *plVar2; ulonglong uVar3; uint uVar4; ulonglong uVar5; uVar1 = *(uint *)((longlong)param_1 + 0xc); uVar3 = 0; if (0 < (int)uVar1) { plVar2 = (longlong *)*param_1; uVar5 = uVar3; while (uVar4 = (uint)uVar5, param_2 != *plVar2) { uVar5 = (ulonglong)(uVar4 + 1); uVar3 = uVar3 + 1; plVar2 = plVar2 + 1; if ((longlong)(int)uVar1 <= (longlong)uVar3) { return; } } if (uVar4 < uVar1) { plVar2 = (longlong *)*param_1 + (int)uVar4; memmove(plVar2,plVar2 + 1,(longlong)(int)((uVar1 - uVar4) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; } if ((*(int *)((longlong)param_1 + 0xc) * 2 < (int)param_1[1]) && (*(int *)((longlong)param_1 + 0xc) < (int)param_1[1])) { FUN_18047cb30(param_1); return; } } return; } ############ FUN_ 180527f10 size=135 ############ void FUN_180527f10(longlong *param_1,uint param_2) { int *piVar1; longlong *_Dst; int iVar2; undefined8 *puVar3; if (param_2 < *(uint *)((longlong)param_1 + 0xc)) { _Dst = (longlong *)(*param_1 + (longlong)(int)param_2 * 8); puVar3 = (undefined8 *)*_Dst; memmove(_Dst,_Dst + 1,(longlong)(int)((*(uint *)((longlong)param_1 + 0xc) - param_2) + -1) << 3) ; *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if ((*(int *)((longlong)param_1 + 0xc) * 2 < (int)param_1[1]) && (*(int *)((longlong)param_1 + 0xc) < (int)param_1[1])) { FUN_18047cb30(param_1); return; } } return; } ############ FUN_ 181199070 size=124 ############ void FUN_181199070(longlong param_1) { char cVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; puVar2 = *(undefined8 **)(param_1 + 0x38); puVar3 = (undefined8 *)*puVar2; while (puVar3 != puVar2) { FUN_1811c4880(puVar3[5]); puVar4 = (undefined8 *)puVar3[2]; if (*(char *)((longlong)puVar4 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar4 + 0x19); puVar3 = puVar4; puVar4 = (undefined8 *)*puVar4; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar4 + 0x19); puVar3 = puVar4; puVar4 = (undefined8 *)*puVar4; } } else { cVar1 = *(char *)((longlong)puVar3[1] + 0x19); puVar5 = (undefined8 *)puVar3[1]; puVar4 = puVar3; while ((puVar3 = puVar5, cVar1 == '\0' && (puVar4 == (undefined8 *)puVar3[2]))) { cVar1 = *(char *)((longlong)puVar3[1] + 0x19); puVar5 = (undefined8 *)puVar3[1]; puVar4 = puVar3; } } } return; } ############ FUN_ 18135fc40 size=206 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18135fc40(longlong param_1) { undefined8 uVar1; undefined8 *puVar2; longlong lVar3; undefined1 auStack_68 [48]; undefined8 local_38 [4]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_38[0] = FUN_18113e800(param_1,0x62aa0b27,&DAT_1824abf40,0x12); local_38[1] = FUN_18113e800(); local_38[2] = FUN_18113e800(); local_38[3] = FUN_18113e800(); puVar2 = local_38; lVar3 = 4; do { uVar1 = FUN_18119aa60(param_1 + 0x178,*puVar2); FUN_1811c4880(uVar1); puVar2 = puVar2 + 1; lVar3 = lVar3 + -1; } while (lVar3 != 0); } ############ FUN_ 181215c10 size=113 ############ void FUN_181215c10(longlong param_1) { int iVar1; iVar1 = _Mtx_lock(param_1 + 8); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } LOCK(); *(undefined1 *)(param_1 + 0xa0) = 1; UNLOCK(); iVar1 = _Cnd_broadcast(param_1 + 0x58); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } iVar1 = _Mtx_unlock(param_1 + 8); if (iVar1 != 0) { std::_Throw_C_error(iVar1); } return; } ############ FUN_ 1804d1fe0 size=278 ############ longlong FUN_1804d1fe0(longlong *param_1,void *param_2,undefined8 *param_3) { ulonglong uVar1; longlong lVar2; void *_Src; undefined8 uVar3; longlong lVar4; void *_Dst; ulonglong uVar5; void *_Dst_00; ulonglong uVar6; size_t _Size; lVar2 = *param_1; lVar4 = param_1[1] - lVar2 >> 4; if (lVar4 == 0xfffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar5 = param_1[2] - lVar2 >> 4; uVar1 = lVar4 + 1; uVar6 = uVar1; if ((uVar5 <= 0xfffffffffffffff - (uVar5 >> 1)) && (uVar6 = (uVar5 >> 1) + uVar5, uVar6 < uVar1)) { uVar6 = uVar1; } lVar4 = uVar6 << 4; if (0xfffffffffffffff < uVar6) { lVar4 = -1; } _Dst = (void *)FUN_180480500(lVar4); uVar3 = param_3[1]; uVar5 = (longlong)param_2 - lVar2 & 0xfffffffffffffff0; *(undefined8 *)(uVar5 + (longlong)_Dst) = *param_3; ((undefined8 *)(uVar5 + (longlong)_Dst))[1] = uVar3; _Src = (void *)*param_1; if (param_2 == (void *)param_1[1]) { _Size = param_1[1] - (longlong)_Src; _Dst_00 = _Dst; param_2 = _Src; } else { memmove(_Dst,_Src,(longlong)param_2 - (longlong)_Src); _Size = param_1[1] - (longlong)param_2; _Dst_00 = (void *)(uVar5 + 0x10 + (longlong)_Dst); } memmove(_Dst_00,param_2,_Size); FUN_1804d1da0(param_1,_Dst,uVar1,uVar6); return *param_1 + uVar5; } ############ FUN_ 1804d07a0 size=187 ############ void FUN_1804d07a0(longlong param_1,ulonglong param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; longlong lVar4; undefined8 uVar5; longlong lVar6; longlong lVar7; ulonglong uVar8; ulonglong uVar9; ulonglong uVar10; int iStack_10; uVar8 = *(longlong *)(param_1 + 0x220) - *(longlong *)(param_1 + 0x218) >> 4; if (param_2 < uVar8 - 1) { uVar9 = param_2 + 1; plVar1 = (longlong *)(param_2 * 0x10 + *(longlong *)(param_1 + 0x218)); lVar3 = *plVar1; lVar4 = plVar1[1]; if (uVar9 != uVar8) { iStack_10 = (int)lVar4; lVar6 = uVar9 * 0x10; lVar7 = param_2 * 0x10; do { lVar2 = *(longlong *)(param_1 + 0x218); if (iStack_10 <= *(int *)(lVar6 + 8 + lVar2)) break; uVar5 = ((undefined8 *)(lVar6 + lVar2))[1]; *(undefined8 *)(lVar7 + lVar2) = *(undefined8 *)(lVar6 + lVar2); ((undefined8 *)(lVar7 + lVar2))[1] = uVar5; *(ulonglong *)(*(longlong *)(lVar7 + *(longlong *)(param_1 + 0x218)) + 8) = param_2; uVar10 = uVar9 + 1; lVar6 = lVar7 + 0x20; lVar7 = lVar7 + 0x10; param_2 = uVar9; uVar9 = uVar10; } while (uVar10 != uVar8); } plVar1 = (longlong *)(*(longlong *)(param_1 + 0x218) + param_2 * 0x10); *plVar1 = lVar3; plVar1[1] = lVar4; *(ulonglong *)(lVar3 + 8) = param_2; } return; } ############ FUN_ 1804d0200 size=321 ############ undefined8 * FUN_1804d0200(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; uint uVar2; char cVar3; uint *_Memory; bool bVar4; longlong local_res10; FUN_18049c4e0(&local_res10,"JUCE Timer",param_3,param_4,0xfffffffffffffffe); FUN_18122b770(param_1,&local_res10); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1812a7230(param_1 + 0x40); FUN_1812a59f0(param_1 + 0x41); *param_1 = juce::Timer::TimerThread::vftable; param_1[0x40] = juce::Timer::TimerThread::vftable; param_1[0x41] = juce::Timer::TimerThread::vftable; plVar1 = param_1 + 0x43; *plVar1 = 0; param_1[0x44] = 0; param_1[0x45] = 0; *(undefined1 *)(param_1 + 0x46) = 0; _Mtx_init_in_situ(param_1 + 0x47,2); _Cnd_init_in_situ(param_1 + 0x51); *(undefined1 *)(param_1 + 0x5a) = 0; if ((ulonglong)(param_1[0x45] - *plVar1 >> 4) < 0x20) { FUN_1804d1b70(plVar1); } LOCK(); bVar4 = *(int *)(param_1[0x42] + 0x18) == 0; if (bVar4) { *(int *)(param_1[0x42] + 0x18) = 1; } UNLOCK(); if ((bVar4) && (cVar3 = FUN_1812a6720(param_1[0x42]), cVar3 == '\0')) { LOCK(); *(undefined4 *)(param_1[0x42] + 0x18) = 0; UNLOCK(); } return param_1; } ############ FUN_ 1804d0860 size=129 ############ void FUN_1804d0860(longlong param_1,longlong param_2) { longlong *plVar1; undefined8 *puVar2; longlong lVar3; longlong lVar4; longlong lVar5; undefined8 uVar6; longlong lVar7; int iStack_10; if (param_2 != 0) { lVar7 = param_2 * 0x10; plVar1 = (longlong *)(*(longlong *)(param_1 + 0x218) + lVar7); lVar4 = *plVar1; lVar5 = plVar1[1]; iStack_10 = (int)lVar5; do { lVar3 = *(longlong *)(param_1 + 0x218); if (*(int *)(lVar3 + -8 + lVar7) <= iStack_10) break; puVar2 = (undefined8 *)(lVar3 + -0x10 + lVar7); uVar6 = puVar2[1]; *(undefined8 *)(lVar3 + lVar7) = *puVar2; ((undefined8 *)(lVar3 + lVar7))[1] = uVar6; plVar1 = (longlong *)(*(longlong *)(param_1 + 0x218) + lVar7); lVar7 = lVar7 + -0x10; *(longlong *)(*plVar1 + 8) = param_2; param_2 = param_2 + -1; } while (param_2 != 0); plVar1 = (longlong *)(*(longlong *)(param_1 + 0x218) + param_2 * 0x10); *plVar1 = lVar4; plVar1[1] = lVar5; *(longlong *)(lVar4 + 8) = param_2; } return; } ############ FUN_ 1804cf5b0 size=125 ############ void FUN_1804cf5b0(HWND param_1,UINT param_2,WPARAM param_3,LPARAM param_4) { LONG_PTR LVar1; if ((param_2 == 0x219) && (((param_3 == 0x8000 || (param_3 == 0x8004)) || (param_3 == 7)))) { LVar1 = GetWindowLongPtrW(param_1,-0x15); FUN_1812a77d0(LVar1,500); } /* WARNING: Could not recover jumptable at 0x0001804cf626. Too many branches */ /* WARNING: Treating indirect jump as call */ DefWindowProcW(param_1,param_2,param_3,param_4); return; } ############ FUN_ 1804d9330 size=477 ############ void FUN_1804d9330(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; uint uVar2; char cVar3; char cVar4; uint *puVar5; uint *_Memory; longlong local_res8; longlong local_res10; longlong local_res18; longlong *local_res20; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; pcVar1 = (char *)(param_1 + 0xfa6); if (*pcVar1 == '\0') { if (*(longlong *)(param_1 + 0xfa8) == 0) { cVar4 = *pcVar1; *pcVar1 = '\x01'; cVar3 = FUN_1804d9510(); if (cVar3 != '\0') { FUN_1812a77d0(param_1,0x14); } *pcVar1 = cVar4; } cVar4 = FUN_18134aa20(param_1 + 0x228,1); if (cVar4 == '\0') { *(undefined1 *)(param_1 + 0xfa5) = 1; } if (*(char *)(param_1 + 0xfa5) != '\0') { FUN_1804d9270(param_1); return; } FUN_18049c4e0(&local_res18,"Testing"); FUN_1812344e0(&local_res8,&local_res18); puVar5 = (uint *)(local_res18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_181232e20(&local_res8,&DAT_18249b9b0,&DAT_18249b9b3,param_4,uVar6,&local_res8); local_res10 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_res20 = &local_res10; local_res20 = (longlong *)FUN_181232d30(&local_res10,param_1 + 0xf90); local_res20 = (longlong *)*local_res20; puVar5 = (uint *)(local_res20 + -2); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_181347520(param_1 + 0x228,&local_res20); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } return; } ############ FUN_ 1804e7920 size=676 ############ undefined8 * FUN_1804e7920(undefined8 *param_1,longlong *param_2,undefined8 *param_3,undefined8 param_4, longlong *param_5,undefined8 param_6,undefined8 param_7) { int *piVar1; int iVar2; longlong *plVar3; longlong lVar4; ulonglong uVar5; longlong *plVar6; undefined4 uVar7; ulonglong uVar8; undefined8 *local_res10; undefined8 *local_res18; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; uVar8 = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; uVar7 = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; param_1[0x17] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x18) = 0; *param_1 = juce::DragAndDropContainer::DragImageComponent::vftable; param_1[0x16] = juce::DragAndDropContainer::DragImageComponent::vftable; local_res10 = (undefined8 *)0x0; plVar3 = (longlong *)*param_3; param_1[0x19] = plVar3; (**(code **)(*plVar3 + 0xb8))(plVar3,param_1 + 0x1a,param_3 + 1); local_res18 = param_1 + 0x1b; FUN_1804de690(local_res18,param_4); param_1[0x1c] = 0; lVar4 = *param_2; param_1[0x1d] = lVar4; if (lVar4 != 0) { LOCK(); *(int *)(lVar4 + 8) = *(int *)(lVar4 + 8) + 1; UNLOCK(); } param_1[0x1e] = param_6; uVar5 = uVar8; if (*(longlong *)(*param_5 + 0x48) != 0) { uVar5 = *(ulonglong *)(*(longlong *)(*param_5 + 0x48) + 0x10); } plVar3 = param_1 + 0x1f; FUN_1804de690(plVar3,uVar5); param_1[0x20] = 0; param_1[0x21] = param_7; *(undefined1 *)(param_1 + 0x22) = 0; param_1[0x23] = 0; *(undefined4 *)(param_1 + 0x24) = *(undefined4 *)(*param_5 + 0x10); *(undefined4 *)((longlong)param_1 + 0x124) = *(undefined4 *)(*param_5 + 0x14); lVar4 = param_1[0x1d]; uVar5 = uVar8; if (lVar4 != 0) { uVar7 = *(undefined4 *)(lVar4 + 0x18); uVar5 = (ulonglong)*(uint *)(lVar4 + 0x14); } FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 4),*(undefined4 *)((longlong)param_1 + 0x24),uVar5 ,uVar7); uVar5 = uVar8; if (*plVar3 != 0) { uVar5 = *(ulonglong *)(*plVar3 + 0x10); } if (uVar5 == 0) { plVar6 = (longlong *)FUN_1804de690(&local_res10,param_4); local_res18 = (undefined8 *)*plVar3; *plVar3 = *plVar6; *plVar6 = (longlong)local_res18; if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res10)(local_res10,1); } } } if (*plVar3 != 0) { uVar8 = *(ulonglong *)(*plVar3 + 0x10); } FUN_181341570(uVar8,param_1,0); FUN_1812a77d0(param_1 + 0x16,200); *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xef | 8; FUN_18134b0f0(param_1,1); return param_1; } ############ FUN_ 1804e92f0 size=218 ############ undefined8 FUN_1804e92f0(longlong param_1) { longlong *plVar1; char cVar2; char cVar3; plVar1 = *(longlong **)(param_1 + 8); if ((*(byte *)((longlong)plVar1 + 0xa9) & 0x10) != 0) { return 0; } if ((plVar1[3] != 0) && (cVar2 = FUN_18133eaa0(), cVar2 == '\0')) { return 0; } cVar2 = *(char *)((longlong)plVar1 + 0x1c4); cVar3 = FUN_181335e90(plVar1); *(char *)((longlong)plVar1 + 0x1c4) = cVar3; if (((-1 < (int)plVar1[0x31]) && (cVar3 != '\0')) && (cVar2 == '\0')) { FUN_1812a77d0(plVar1[0x2e]); } FUN_181336e60(plVar1); if (((*(byte *)((longlong)plVar1 + 0xa9) & 0x10) == 0) && ((plVar1[3] == 0 || (cVar3 = FUN_18133eaa0(), cVar3 != '\0')))) { if (cVar2 == '\0') goto LAB_1804e93ac; if (*(char *)((longlong)plVar1 + 0x1c4) == '\0') { (**(code **)(*plVar1 + 0x180))(plVar1,&DAT_182673aec); return 1; } } if (cVar2 != '\0') { return 1; } LAB_1804e93ac: if (*(char *)((longlong)plVar1 + 0x1c4) != '\0') { return 1; } return 0; } ############ FUN_ 1812e08d0 size=98 ############ void FUN_1812e08d0(longlong param_1,int param_2) { int iVar1; if (param_2 < 0) { param_2 = 0; } else { iVar1 = FUN_1812dbb90(); if (iVar1 < param_2) { param_2 = iVar1; } } if (param_2 != *(int *)(param_1 + 0x2a4)) { *(int *)(param_1 + 0x2a4) = param_2; FUN_1812a77d0(*(longlong *)(param_1 + 0x1d0) + 0xb0,0x15e); FUN_1812e0240(param_1); FUN_1812e16d0(param_1); } return; } ############ FUN_ 1804fc240 size=136 ############ void FUN_1804fc240(undefined8 param_1,longlong param_2) { longlong lVar1; undefined8 uVar2; char cVar3; longlong lVar4; undefined8 *puVar5; undefined8 local_res10 [3]; local_res10[0] = *(undefined8 *)(param_2 + 0x50); lVar4 = FUN_1804fc4c0(param_1,local_res10); cVar3 = FUN_1804fc2d0(*(undefined8 *)(lVar4 + 0x18)); if (cVar3 != '\0') { FUN_1812a77d0(lVar4,0x32); uVar2 = *(undefined8 *)(param_2 + 8); local_res10[0] = uVar2; for (lVar1 = *(longlong *)(param_2 + 0x30); lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { puVar5 = (undefined8 *)FUN_18051e290(local_res10,lVar1,uVar2); uVar2 = *puVar5; } FUN_1804fe350(lVar4); } return; } ############ FUN_ 1805041a0 size=510 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805041a0(longlong param_1) { int *piVar1; undefined8 *puVar2; bool bVar3; char cVar4; bool bVar5; double dVar6; undefined1 auStack_58 [32]; undefined4 local_38; undefined8 local_30; longlong *local_28; undefined1 local_20 [8]; ulonglong local_18; local_30 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; bVar5 = false; local_38 = 0; if ((((*(byte *)(*(longlong *)(param_1 + 0x18) + 0xa9) & 0x10) != 0) || ((((*(longlong *)(*(longlong *)(param_1 + 0x18) + 0x18) != 0 && (cVar4 = FUN_18133eaa0(), cVar4 == '\0')) || (*(char *)(param_1 + 0x235) == '\0')) || (*(double *)(param_1 + 0xa0) < *(double *)(param_1 + 0x98) || *(double *)(param_1 + 0xa0) == *(double *)(param_1 + 0x98))))) || ((*(int *)(param_1 + 0x20) == 8 && (*(char *)(param_1 + 0x236) == '\0')))) { if (*(longlong *)(param_1 + 0x268) != 0) { FUN_1812a77d0(*(longlong *)(param_1 + 0x268) + 0xe8,200); } goto LAB_180504364; } FUN_180504a80(param_1); if (*(char *)(param_1 + 0x231) == '\0') { LAB_180504278: bVar3 = false; } else { (**(code **)(**(longlong **)(param_1 + 0x38) + 8))(*(longlong **)(param_1 + 0x38),&local_28); bVar5 = true; dVar6 = (double)(**(code **)(*local_28 + 0x18))(local_28,local_20); if (*(double *)(param_1 + 400) == dVar6) goto LAB_180504278; bVar3 = true; } if (bVar5) { (**(code **)(*local_28 + 0xb0))(local_28,local_20); } if (bVar3) { (**(code **)(**(longlong **)(param_1 + 0x18) + 0x168))(); piVar1 = (int *)(*(longlong *)(param_1 + 8) + 0x18); LOCK(); bVar5 = *piVar1 == 0; if (bVar5) { *piVar1 = 1; } UNLOCK(); if ((bVar5) && (cVar4 = FUN_1812a6720(*(undefined8 *)(param_1 + 8)), cVar4 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x18) = 0; UNLOCK(); } } puVar2 = *(undefined8 **)(param_1 + 0x200); *(undefined8 *)(param_1 + 0x200) = 0; if (puVar2 != (undefined8 *)0x0) { FUN_180501f20(*puVar2); /* WARNING: Subroutine does not return */ free(puVar2); } puVar2 = *(undefined8 **)(param_1 + 0x268); *(undefined8 *)(param_1 + 0x268) = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } if (*(int *)(param_1 + 0x20) == 8) { FUN_181336cf0(*(undefined8 *)(param_1 + 600),0); FUN_181336cf0(*(undefined8 *)(param_1 + 0x260),0); } LAB_180504364: puVar2 = *(undefined8 **)(param_1 + 0x200); *(undefined8 *)(param_1 + 0x200) = 0; if (puVar2 != (undefined8 *)0x0) { FUN_180501f20(*puVar2); /* WARNING: Subroutine does not return */ free(puVar2); } } ############ FUN_ 18051a740 size=224 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18051a740(longlong param_1) { double dVar1; longlong lVar2; double dVar3; double dVar4; undefined1 auStack_58 [32]; longlong local_38; ushort local_30; ulonglong local_28; local_28 = DAT_182615970 ^ (ulonglong)auStack_58; _ftime64_s(&local_38); lVar2 = local_38 * 1000 + (ulonglong)local_30; dVar3 = (double)(lVar2 - *(longlong *)(param_1 + 0x58)) * DAT_1824c3e30; dVar1 = DAT_1824c3e30; if ((DAT_1824c3e30 <= dVar3) && (dVar1 = DAT_1824c3ef0, dVar3 <= DAT_1824c3ef0)) { dVar1 = dVar3; } dVar3 = *(double *)(param_1 + 0x30); *(longlong *)(param_1 + 0x58) = lVar2; dVar4 = *(double *)(param_1 + 0x20) * *(double *)(param_1 + 0x18); *(double *)(param_1 + 0x18) = dVar4; if ((double)CONCAT44((uint)((ulonglong)dVar4 >> 0x20) & DAT_1824c4f10._4_4_, SUB84(dVar4,0) & (uint)DAT_1824c4f10) < *(double *)(param_1 + 0x28)) { *(undefined8 *)(param_1 + 0x18) = 0; } dVar4 = *(double *)(param_1 + 0x18); if (*(double *)(param_1 + 0x18) == 0.0) { FUN_1812a7720(param_1); } else { FUN_1812a77d0(param_1,0x10); } FUN_18051c3e0(param_1,dVar1 * dVar4 + dVar3); } ############ FUN_ 18054e450 size=54 ############ undefined8 FUN_18054e450(longlong param_1) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 0x10); if ((lVar1 != 0) && (*(longlong *)(lVar1 + 0x10) != 0)) { if (lVar1 == 0) { lVar1 = 0; } else { lVar1 = *(longlong *)(lVar1 + 0x10); } FUN_1812a77d0(lVar1 + 0x20,500); } return 0; } ############ FUN_ 18055ba00 size=2548 ############ /* WARNING: Removing unreachable block (ram,0x00018055bcdb) */ /* WARNING: Removing unreachable block (ram,0x00018055bcfd) */ /* WARNING: Removing unreachable block (ram,0x00018055bcf6) */ /* WARNING: Removing unreachable block (ram,0x00018055bcf8) */ /* WARNING: Removing unreachable block (ram,0x00018055bcfb) */ /* WARNING: Removing unreachable block (ram,0x00018055bcff) */ /* WARNING: Removing unreachable block (ram,0x00018055bf14) */ /* WARNING: Removing unreachable block (ram,0x00018055bf36) */ /* WARNING: Removing unreachable block (ram,0x00018055bf2f) */ /* WARNING: Removing unreachable block (ram,0x00018055bf31) */ /* WARNING: Removing unreachable block (ram,0x00018055bf34) */ /* WARNING: Removing unreachable block (ram,0x00018055bf38) */ undefined1 FUN_18055ba00(longlong *param_1,int *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; int iVar2; longlong *plVar3; longlong lVar4; undefined1 uVar5; char cVar6; char cVar7; wint_t wVar8; wint_t wVar9; undefined8 uVar10; int iVar11; int iVar12; byte bVar13; int iVar14; byte bVar15; undefined4 local_40; undefined4 uStack_3c; int iStack_38; int iStack_34; int iStack_30; char local_2c; uVar1 = param_2[1]; bVar13 = (byte)uVar1 & 1; if (((uVar1 >> 1 & 1) == 0) && ((uVar1 >> 2 & 1) == 0)) { cVar7 = '\0'; } else { cVar7 = '\x01'; } iVar12 = 0; iVar14 = 1; bVar15 = (uVar1 >> 1 & 1) != 0; if ((uVar1 >> 2 & 1) != 0) { bVar15 = bVar15 + 1; } if (uVar1 == 2) { if (*param_2 == 0x10028) { FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); FUN_1813c4f20(param_1,(int)param_1[0x1b] + 1); FUN_1813c4ff0(param_1); if (*(int *)((longlong)param_1 + 0x114) < (int)param_1[0x1b]) { FUN_1813c37b0(param_1,1,0); } return 1; } if (*param_2 == 0x10026) { FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); FUN_1813c4f20(param_1,(int)param_1[0x1b] + -1); FUN_1813c4ff0(param_1); if (*(int *)((longlong)param_1 + 0x114) < (int)param_1[0x1d] + (int)param_1[0x1b]) { return 1; } FUN_1813c37b0(param_1,0xffffffff); return 1; } } iVar11 = 0; iStack_30 = iVar12; if (bVar15 < 2) { iVar2 = *param_2; if (iVar2 == 0x10025) { uVar5 = FUN_1813c3be0(param_1,cVar7,bVar13); return uVar5; } if (iVar2 == 0x10027) { uVar5 = FUN_1813c38f0(param_1,cVar7,bVar13); return uVar5; } if (iVar2 == 0x10024) { if (cVar7 == '\0') { uVar5 = FUN_1813c30b0(param_1,bVar13,param_3,param_4,0xfffffffffffffffe); return uVar5; } FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); plVar3 = (longlong *)param_1[0x19]; local_40 = SUB84(plVar3,0); uStack_3c = (undefined4)((ulonglong)plVar3 >> 0x20); local_2c = '\0'; iStack_34 = *(int *)((longlong)plVar3 + 0xc); if (iStack_34 == 0) { iStack_34 = 0; iStack_30 = 0; iStack_38 = 0; } else if (iStack_34 < 1) { iStack_34 = iStack_34 + -1; lVar4 = *(longlong *)(*plVar3 + (longlong)iStack_34 * 8); iStack_30 = *(int *)(lVar4 + 0x10); iStack_38 = iStack_30 + *(int *)(lVar4 + 8); } else { iStack_34 = 0; iVar12 = *(int *)(*(longlong *)*plVar3 + 0x10); if ((0 < iVar12) && (iVar12 < 0)) { iStack_30 = iVar12; } iStack_38 = iStack_30 + *(int *)(*(longlong *)*plVar3 + 8); } FUN_1813c51c0(param_1,&local_40,bVar13); goto LAB_18055bd9b; } if (iVar2 == 0x10023) { FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); plVar3 = (longlong *)param_1[0x19]; local_2c = '\0'; local_40 = SUB84(plVar3,0); uStack_3c = (undefined4)((ulonglong)plVar3 >> 0x20); if (cVar7 == '\0') { iVar12 = *(int *)((longlong)param_1 + 0x114); iStack_34 = *(int *)((longlong)plVar3 + 0xc); if (iStack_34 == 0) { iStack_34 = 0; iStack_30 = 0; iStack_38 = 0; } else if (iVar12 < iStack_34) { iStack_34 = iVar11; if (0 < iVar12) { iStack_34 = iVar12; } lVar4 = *(longlong *)(*plVar3 + (longlong)iStack_34 * 8); iVar12 = *(int *)(lVar4 + 0x10); iStack_30 = iVar11; if ((0 < iVar12) && (iStack_30 = 0x7fffffff, iVar12 < 0x7fffffff)) { iStack_30 = iVar12; } iStack_38 = iStack_30 + *(int *)(lVar4 + 8); } else { iStack_34 = iStack_34 + -1; lVar4 = *(longlong *)(*plVar3 + (longlong)iStack_34 * 8); iStack_30 = *(int *)(lVar4 + 0x10); iStack_38 = iStack_30 + *(int *)(lVar4 + 8); } FUN_1813c51c0(param_1,&local_40,bVar13); } else { if (*(int *)((longlong)plVar3 + 0xc) == 0) { iStack_34 = 0; iStack_30 = 0; iStack_38 = 0; } else { iStack_34 = *(int *)((longlong)plVar3 + 0xc) + -1; lVar4 = *(longlong *)(*plVar3 + (longlong)iStack_34 * 8); iStack_30 = *(int *)(lVar4 + 0x10); iStack_38 = iStack_30 + *(int *)(lVar4 + 8); } FUN_1813c51c0(param_1,&local_40,bVar13); } goto LAB_18055bd9b; } } if (bVar15 == 0) { iVar2 = *param_2; if (iVar2 == 0x10026) { FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); if (*(int *)((longlong)param_1 + 0x114) != 0) { FUN_1813c37b0(param_1,0xffffffff,bVar13); return 1; } plVar3 = (longlong *)param_1[0x19]; local_40 = SUB84(plVar3,0); uStack_3c = (undefined4)((ulonglong)plVar3 >> 0x20); local_2c = '\0'; iStack_34 = *(int *)((longlong)plVar3 + 0xc); if (iStack_34 == 0) { iStack_34 = 0; iStack_30 = 0; iStack_38 = 0; } else if (iStack_34 < 1) { iStack_34 = iStack_34 + -1; lVar4 = *(longlong *)(*plVar3 + (longlong)iStack_34 * 8); iStack_30 = *(int *)(lVar4 + 0x10); iStack_38 = iStack_30 + *(int *)(lVar4 + 8); } else { iStack_34 = 0; iVar12 = *(int *)(*(longlong *)*plVar3 + 0x10); if ((0 < iVar12) && (iStack_30 = iVar11, iVar12 < 0)) { iStack_30 = iVar12; } iStack_38 = iStack_30 + *(int *)(*(longlong *)*plVar3 + 8); } FUN_1813c51c0(param_1,&local_40,bVar13); LAB_18055bd9b: if (local_2c != '\0') { FUN_1813c8030(&local_40,0); } return 1; } if (iVar2 == 0x10028) { FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); plVar3 = (longlong *)param_1[0x19]; if (*(int *)((longlong)param_1 + 0x114) != *(int *)((longlong)plVar3 + 0xc) + -1) { FUN_1813c37b0(param_1,1,bVar13); return 1; } local_40 = SUB84(plVar3,0); uStack_3c = (undefined4)((ulonglong)plVar3 >> 0x20); local_2c = '\0'; if (*(int *)((longlong)plVar3 + 0xc) == 0) { iStack_34 = 0; iStack_30 = 0; iStack_38 = 0; } else { iStack_34 = *(int *)((longlong)plVar3 + 0xc) + -1; lVar4 = *(longlong *)(*plVar3 + (longlong)iStack_34 * 8); iStack_30 = *(int *)(lVar4 + 0x10); iStack_38 = iStack_30 + *(int *)(lVar4 + 8); } FUN_1813c51c0(param_1,&local_40,bVar13); goto LAB_18055bd9b; } if (iVar2 == 0x10021) { FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); FUN_1813c4f20(param_1,(int)param_1[0x1b] - (int)param_1[0x1d]); FUN_1813c4ff0(param_1); FUN_1813c37b0(param_1,-(int)param_1[0x1d],bVar13); return 1; } if (iVar2 == 0x10022) { FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); iVar14 = (int)param_1[0x1d]; iVar11 = ((*(int *)(param_1[0x19] + 0xc) - iVar14) - (int)param_1[0x1b]) + 1; if ((-1 < iVar11) && (iVar12 = iVar11, iVar14 < iVar11)) { iVar12 = iVar14; } FUN_1813c4f20(param_1,iVar12 + (int)param_1[0x1b]); FUN_1813c4ff0(param_1); FUN_1813c37b0(param_1,(int)param_1[0x1d],bVar13); return 1; } } if (uVar1 == 2) { iVar12 = *param_2; if (iVar12 == 99) goto LAB_18055c3ca; if (iVar12 < 0x100) { wVar8 = towlower((wint_t)iVar12); wVar9 = towlower(99); if (wVar8 == wVar9) goto LAB_18055c3ca; } } local_40 = 0x1002d; uStack_3c = 2; iStack_38 = 0; cVar6 = FUN_1813389f0(param_2,&local_40); if (cVar6 == '\0') { local_40 = 0x78; uStack_3c = 2; iStack_38 = 0; cVar6 = FUN_1813389f0(param_2,&local_40); if (cVar6 == '\0') { local_40 = 0x1002e; uStack_3c = 1; iStack_38 = 0; cVar6 = FUN_1813389f0(param_2,&local_40); if (cVar6 == '\0') { local_40 = 0x76; uStack_3c = 2; iStack_38 = 0; cVar6 = FUN_1813389f0(param_2,&local_40); if (cVar6 == '\0') { local_40 = 0x1002d; uStack_3c = 1; iStack_38 = 0; cVar6 = FUN_1813389f0(param_2,&local_40); if (cVar6 == '\0') { if (bVar15 < 2) { if (*param_2 == 8) { if (cVar7 == '\0') { if (((((int)param_1[0x25] == (int)param_1[0x28]) && (*(int *)((longlong)param_1 + 300) == *(int *)((longlong)param_1 + 0x144))) && ((int)param_1[0x26] == (int)param_1[0x29])) && ((param_1[0x24] == param_1[0x27] && (cVar7 = FUN_1813c2bd0(param_1), cVar7 == '\0')))) { FUN_1813c8260(param_1 + 0x24,(int)param_1[0x25] + -1); } } else { FUN_1813c40f0(param_1); uVar10 = FUN_1813c7350(); FUN_1813c51c0(param_1,uVar10,1); if (local_2c != '\0') { FUN_1813c8030(&local_40,0); FUN_1813c40f0(param_1); return 1; } } FUN_1813c40f0(param_1); return 1; } if (*param_2 == 0x1002e) { if (cVar7 == '\0') { plVar3 = param_1 + 0x27; if ((((int)param_1[0x25] == (int)param_1[0x28]) && (*(int *)((longlong)param_1 + 300) == *(int *)((longlong)param_1 + 0x144))) && (((int)param_1[0x26] == (int)param_1[0x29] && (param_1[0x24] == *plVar3)))) { FUN_1813c8260(plVar3,(int)param_1[0x28]); if (*(int *)((longlong)param_1 + 0x144) < *(int *)(*plVar3 + 0xc)) { lVar4 = *(longlong *) (*(longlong *)*plVar3 + (longlong)*(int *)((longlong)param_1 + 0x144) * 8); iVar12 = (int)param_1[0x29] + 1; if ((iVar12 < *(int *)(lVar4 + 0xc)) && (iVar14 = 1, *(int *)(lVar4 + 0x10) + 1 <= iVar12)) { iVar14 = 2; } } FUN_1813c8260(plVar3,iVar14 + (int)param_1[0x28]); FUN_1813c40f0(param_1); return 1; } FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); } else { FUN_1813c40f0(param_1); uVar10 = FUN_1813c77b0(); FUN_1813c51c0(param_1,uVar10,1); if (local_2c != '\0') { FUN_1813c8030(&local_40,0); FUN_1813c40f0(param_1); return 1; } } FUN_1813c40f0(param_1); return 1; } } local_40 = 0x61; uStack_3c = 2; iStack_38 = 0; cVar7 = FUN_1813389f0(param_2,&local_40); if (cVar7 != '\0') { uVar5 = FUN_1813c2950(param_1); return uVar5; } local_40 = 0x7a; uStack_3c = 2; iStack_38 = 0; cVar7 = FUN_1813389f0(param_2,&local_40); if (cVar7 == '\0') { local_40 = 0x79; uStack_3c = 2; iStack_38 = 0; cVar7 = FUN_1813389f0(param_2,&local_40); if (cVar7 == '\0') { local_40 = 0x7a; uStack_3c = 3; iStack_38 = 0; cVar7 = FUN_1813389f0(param_2,&local_40); if (cVar7 == '\0') { return 0; } } uVar5 = FUN_1813c2810(param_1); return uVar5; } uVar5 = FUN_1813c2880(param_1); return uVar5; } } uVar5 = (**(code **)(*param_1 + 0x168))(param_1); return uVar5; } } uVar5 = (**(code **)(*param_1 + 0x160))(param_1); return uVar5; } LAB_18055c3ca: uVar5 = (**(code **)(*param_1 + 0x158))(param_1); return uVar5; } ############ FUN_ 1813c2950 size=344 ############ /* WARNING: Removing unreachable block (ram,0x0001813c2a29) */ /* WARNING: Removing unreachable block (ram,0x0001813c2a4b) */ /* WARNING: Removing unreachable block (ram,0x0001813c2a44) */ /* WARNING: Removing unreachable block (ram,0x0001813c2a46) */ /* WARNING: Removing unreachable block (ram,0x0001813c2a49) */ undefined8 FUN_1813c2950(longlong param_1) { int iVar1; longlong lVar2; undefined8 uVar3; longlong *local_40; int local_38; undefined8 local_34; char local_2c; longlong *local_28; int local_20; int iStack_1c; int local_18; char local_14; uVar3 = 0xfffffffffffffffe; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); local_40 = *(longlong **)(param_1 + 200); local_14 = '\0'; iStack_1c = *(int *)((longlong)local_40 + 0xc); if (iStack_1c == 0) { iStack_1c = 0; local_18 = 0; local_20 = 0; } else { if (iStack_1c < 1) { iStack_1c = iStack_1c + -1; lVar2 = *(longlong *)(*local_40 + (longlong)iStack_1c * 8); local_18 = *(int *)(lVar2 + 0x10); } else { iStack_1c = 0; lVar2 = *(longlong *)*local_40; iVar1 = *(int *)(lVar2 + 0x10); local_18 = 0; if ((0 < iVar1) && (iVar1 < 0)) { local_18 = iVar1; } } local_20 = local_18 + *(int *)(lVar2 + 8); } local_2c = '\0'; if (*(int *)((longlong)local_40 + 0xc) == 0) { local_34 = 0; local_38 = 0; } else { iVar1 = *(int *)((longlong)local_40 + 0xc) + -1; lVar2 = *(longlong *)(*local_40 + (longlong)iVar1 * 8); local_38 = *(int *)(lVar2 + 0x10); local_34 = CONCAT44(local_38,iVar1); local_38 = local_38 + *(int *)(lVar2 + 8); } local_28 = local_40; FUN_1813c51c0(param_1,&local_40,0,0,uVar3); FUN_1813c51c0(param_1,&local_28,1); if (local_2c != '\0') { FUN_1813c8030(&local_40,0); } if (local_14 != '\0') { FUN_1813c8030(&local_28,0); } return 1; } ############ FUN_ 1813c30b0 size=476 ############ undefined8 FUN_1813c30b0(longlong param_1,undefined1 param_2) { uint uVar1; byte bVar2; longlong *plVar3; undefined8 *puVar4; longlong lVar5; byte bVar6; int iVar7; byte *pbVar8; byte *pbVar9; uint *_Memory; byte bVar10; int iVar11; int iVar12; undefined8 uVar13; longlong *local_20; int local_18; undefined8 local_14; char local_c; uVar13 = 0xfffffffffffffffe; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); plVar3 = *(longlong **)(param_1 + 0x108); if ((*(uint *)(param_1 + 0x114) < *(uint *)((longlong)plVar3 + 0xc)) && (puVar4 = *(undefined8 **)(*plVar3 + (longlong)(int)*(uint *)(param_1 + 0x114) * 8), puVar4 != (undefined8 *)0x0)) { pbVar9 = (byte *)*puVar4; if ((*(uint *)(pbVar9 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar9 + -0x10) = *(int *)(pbVar9 + -0x10) + 1; UNLOCK(); } } else { pbVar9 = &DAT_1821dbf98; } iVar11 = 0; local_18 = 0; bVar2 = *pbVar9; pbVar8 = pbVar9; while ((iVar12 = 0, bVar2 != 0 && ((bVar2 = *pbVar8, bVar2 == 0x20 || (iVar12 = iVar11, (byte)(bVar2 - 9) < 5))))) { pbVar8 = pbVar8 + 1; if ((char)bVar2 < '\0') { bVar10 = 0x40; bVar6 = bVar2 & 0x40; while ((bVar6 != 0 && (8 < bVar10))) { pbVar8 = pbVar8 + 1; bVar10 = bVar10 >> 1; bVar6 = bVar2 & bVar10; } } iVar11 = iVar11 + 1; bVar2 = *pbVar8; } _Memory = (uint *)(pbVar9 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*(int *)(param_1 + 0x118) <= iVar12) && (0 < *(int *)(param_1 + 0x118))) { iVar12 = local_18; } iVar11 = *(int *)(param_1 + 0x114); local_20 = *(longlong **)(param_1 + 200); local_c = '\0'; iVar7 = *(int *)((longlong)local_20 + 0xc); if (iVar7 == 0) { local_14 = 0; local_18 = 0; } else if (iVar11 < iVar7) { iVar7 = 0; if (0 < iVar11) { iVar7 = iVar11; } lVar5 = *(longlong *)(*local_20 + (longlong)iVar7 * 8); iVar11 = *(int *)(lVar5 + 0x10); if (((0 < iVar11) && (-1 < iVar12)) && (local_18 = iVar12, iVar11 < iVar12)) { local_18 = iVar11; } local_14 = CONCAT44(local_18,iVar7); local_18 = local_18 + *(int *)(lVar5 + 8); } else { lVar5 = *(longlong *)(*local_20 + (longlong)(iVar7 + -1) * 8); local_18 = *(int *)(lVar5 + 0x10); local_14 = CONCAT44(local_18,iVar7 + -1); local_18 = local_18 + *(int *)(lVar5 + 8); } FUN_1813c51c0(param_1,&local_20,param_2,plVar3,uVar13); if (local_c != '\0') { FUN_1813c8030(&local_20,0); } return 1; } ############ FUN_ 1813c38f0 size=739 ############ undefined8 FUN_1813c38f0(longlong param_1,char param_2,char param_3) { longlong lVar1; bool bVar2; int iVar3; undefined8 uVar4; longlong **pplVar5; longlong lVar6; int iVar7; int iVar8; int iVar9; int iVar10; longlong *local_50; int local_48; undefined8 local_44; char local_3c; longlong *local_38; undefined4 local_30; undefined4 local_2c; undefined4 local_28; char local_24; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); if ((param_3 != '\0') && (*(int *)(param_1 + 0x410) == 0)) { local_38 = *(longlong **)(param_1 + 0x138); local_30 = *(undefined4 *)(param_1 + 0x140); local_2c = *(undefined4 *)(param_1 + 0x144); local_28 = *(undefined4 *)(param_1 + 0x148); local_24 = '\0'; local_50 = *(longlong **)(param_1 + 0x120); local_48 = *(int *)(param_1 + 0x128); local_44 = *(undefined8 *)(param_1 + 300); local_3c = '\0'; FUN_1813c51c0(param_1,&local_50,0); FUN_1813c51c0(param_1,&local_38); if (local_3c != '\0') { FUN_1813c8030(&local_50,0); } if (local_24 != '\0') { FUN_1813c8030(&local_38,0); } *(undefined4 *)(param_1 + 0x410) = 2; } if ((((*(int *)(param_1 + 0x128) == *(int *)(param_1 + 0x140)) && (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x144))) && (*(int *)(param_1 + 0x130) == *(int *)(param_1 + 0x148))) && (*(longlong *)(param_1 + 0x120) == *(longlong *)(param_1 + 0x138))) { bVar2 = true; } else { bVar2 = false; } if ((bVar2) || (param_3 != '\0')) { if (param_2 == '\0') { local_50 = *(longlong **)(param_1 + 0x108); local_48 = *(int *)(param_1 + 0x110); local_44._0_4_ = *(int *)(param_1 + 0x114); local_44._4_4_ = *(int *)(param_1 + 0x118); local_3c = '\0'; iVar7 = 1; FUN_1813c8260(&local_50); if ((int)local_44 < *(int *)((longlong)local_50 + 0xc)) { lVar6 = *(longlong *)(*local_50 + (longlong)(int)local_44 * 8); if ((local_44._4_4_ + 1 < *(int *)(lVar6 + 0xc)) && (iVar7 = 1, *(int *)(lVar6 + 0x10) + 1 <= local_44._4_4_ + 1)) { iVar7 = 2; } } iVar7 = iVar7 + local_48; iVar8 = 0; local_44 = 0; local_48 = 0; if (0 < iVar7) { iVar9 = *(int *)((longlong)local_50 + 0xc); if (3 < iVar9) { do { iVar3 = (iVar8 + 1 + iVar9) / 2; iVar10 = iVar3; if (*(int *)(*(longlong *)(*local_50 + (longlong)iVar3 * 8) + 8) <= iVar7) { iVar10 = iVar9; iVar8 = iVar3; } iVar9 = iVar10; } while (3 < iVar9 - iVar8); } for (lVar6 = (longlong)iVar8; lVar6 < iVar9; lVar6 = lVar6 + 1) { lVar1 = *(longlong *)(*local_50 + lVar6 * 8); iVar10 = iVar7 - *(int *)(lVar1 + 8); if ((-1 < iVar10) && ((iVar10 < *(int *)(lVar1 + 0xc) || (iVar8 == iVar9 + -1)))) { local_48 = *(int *)(lVar1 + 0x10); if (iVar10 < *(int *)(lVar1 + 0x10)) { local_48 = iVar10; } local_44 = CONCAT44(local_48,iVar8); local_48 = local_48 + *(int *)(lVar1 + 8); } iVar8 = iVar8 + 1; } } FUN_1813c51c0(param_1,&local_50,param_3); if (local_3c == '\0') { return 1; } pplVar5 = &local_50; goto LAB_1813c3bb0; } } else if (param_2 == '\0') { FUN_1813c51c0(param_1,(longlong *)(param_1 + 0x138),0); return 1; } uVar4 = FUN_1813c77b0(); FUN_1813c51c0(param_1,uVar4,param_3); if (local_24 == '\0') { return 1; } pplVar5 = &local_38; LAB_1813c3bb0: FUN_1813c8030(pplVar5,0); return 1; } ############ FUN_ 1813c3be0 size=659 ############ undefined8 FUN_1813c3be0(longlong param_1,char param_2,char param_3) { int iVar1; longlong lVar2; bool bVar3; int iVar4; undefined8 uVar5; longlong **pplVar6; longlong lVar7; int iVar8; int iVar9; int iVar10; longlong *local_50; int local_48; undefined8 local_44; char local_3c; longlong *local_38; undefined4 local_30; undefined4 local_2c; undefined4 local_28; char local_24; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); if ((param_3 != '\0') && (*(int *)(param_1 + 0x410) == 0)) { local_38 = *(longlong **)(param_1 + 0x120); local_30 = *(undefined4 *)(param_1 + 0x128); local_2c = *(undefined4 *)(param_1 + 300); local_28 = *(undefined4 *)(param_1 + 0x130); local_24 = '\0'; local_50 = *(longlong **)(param_1 + 0x138); local_48 = *(int *)(param_1 + 0x140); local_44 = *(undefined8 *)(param_1 + 0x144); local_3c = '\0'; FUN_1813c51c0(param_1,&local_50,0); FUN_1813c51c0(param_1,&local_38); if (local_3c != '\0') { FUN_1813c8030(&local_50,0); } if (local_24 != '\0') { FUN_1813c8030(&local_38,0); } *(undefined4 *)(param_1 + 0x410) = 1; } if ((((*(int *)(param_1 + 0x128) == *(int *)(param_1 + 0x140)) && (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x144))) && (*(int *)(param_1 + 0x130) == *(int *)(param_1 + 0x148))) && (*(longlong *)(param_1 + 0x120) == *(longlong *)(param_1 + 0x138))) { bVar3 = true; } else { bVar3 = false; } if ((bVar3) || (param_3 != '\0')) { if (param_2 == '\0') { local_50 = *(longlong **)(param_1 + 0x108); local_3c = '\0'; iVar1 = *(int *)(param_1 + 0x110) + -1; iVar8 = 0; local_44 = 0; local_48 = 0; if (0 < iVar1) { iVar9 = *(int *)((longlong)local_50 + 0xc); if (3 < iVar9) { do { iVar4 = (iVar8 + 1 + iVar9) / 2; iVar10 = iVar4; if (*(int *)(*(longlong *)(*local_50 + (longlong)iVar4 * 8) + 8) <= iVar1) { iVar10 = iVar9; iVar8 = iVar4; } iVar9 = iVar10; } while (3 < iVar9 - iVar8); } for (lVar7 = (longlong)iVar8; lVar7 < iVar9; lVar7 = lVar7 + 1) { lVar2 = *(longlong *)(*local_50 + lVar7 * 8); iVar10 = iVar1 - *(int *)(lVar2 + 8); if ((-1 < iVar10) && ((iVar10 < *(int *)(lVar2 + 0xc) || (iVar8 == iVar9 + -1)))) { local_48 = *(int *)(lVar2 + 0x10); if (iVar10 < *(int *)(lVar2 + 0x10)) { local_48 = iVar10; } local_44 = CONCAT44(local_48,iVar8); local_48 = local_48 + *(int *)(lVar2 + 8); } iVar8 = iVar8 + 1; } } FUN_1813c51c0(param_1,&local_50,param_3); if (local_3c == '\0') { return 1; } pplVar6 = &local_50; goto LAB_1813c3e50; } } else if (param_2 == '\0') { FUN_1813c51c0(param_1,(longlong *)(param_1 + 0x120),0); return 1; } uVar5 = FUN_1813c7350(); FUN_1813c51c0(param_1,uVar5,param_3); if (local_24 == '\0') { return 1; } pplVar6 = &local_38; LAB_1813c3e50: FUN_1813c8030(pplVar6,0); return 1; } ############ FUN_ 180560700 size=2831 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180560700(undefined8 *param_1,longlong param_2) { uint *_Memory; uint uVar1; bool bVar2; undefined4 uVar3; undefined4 uVar4; undefined8 uVar5; longlong lVar6; longlong *plVar7; undefined8 *puVar8; uint *puVar9; uint *puVar10; int iVar11; undefined1 auStack_5e8 [32]; longlong local_5c8; longlong local_5c0; undefined ***local_5b8; undefined ***local_5b0; undefined8 local_5a8; longlong local_5a0; longlong local_598; longlong local_590; longlong local_588; longlong local_580; longlong local_578; longlong local_570; longlong local_568; longlong local_560; longlong local_558; longlong local_550; longlong local_548; longlong local_540; longlong local_538; longlong local_530; longlong local_528; longlong local_520; longlong local_518; longlong local_510; int local_508; undefined4 uStack_504; undefined8 *puStack_500; int local_4f8; undefined4 uStack_4f4; undefined8 *puStack_4f0; int local_4e8; undefined4 uStack_4e4; undefined8 *puStack_4e0; int local_4d8; undefined4 uStack_4d4; undefined8 *puStack_4d0; int local_4c8; undefined4 uStack_4c4; undefined8 uStack_4c0; int local_4b8; undefined4 uStack_4b4; undefined8 *puStack_4b0; undefined8 *local_4a8; longlong *local_4a0; longlong *local_498; undefined8 local_490; undefined8 local_488; undefined8 local_480; longlong *local_478; undefined8 local_470; undefined **local_468; undefined8 *local_460; undefined ***local_430; undefined **local_428; undefined8 *local_420; undefined ***local_3f0; undefined **local_3e8; undefined8 *local_3e0; undefined ***local_3b0; undefined **local_3a8; undefined8 *local_3a0; undefined ***local_370; undefined **local_368; undefined8 *local_360; undefined ***local_330; undefined **local_328; int local_320; undefined4 uStack_31c; undefined4 uStack_318; undefined4 uStack_314; undefined ***local_2f0; undefined **local_2e8; int local_2e0; undefined4 uStack_2dc; undefined4 uStack_2d8; undefined4 uStack_2d4; undefined ***local_2b0; undefined **local_2a8; int local_2a0; undefined4 uStack_29c; undefined4 uStack_298; undefined4 uStack_294; undefined ***local_270; undefined **local_268; int local_260; undefined4 uStack_25c; undefined4 uStack_258; undefined4 uStack_254; undefined ***local_230; undefined **local_228; int local_220; undefined4 uStack_21c; undefined4 uStack_218; undefined4 uStack_214; undefined ***local_1f0; undefined **local_1e8; int local_1e0; undefined4 uStack_1dc; undefined4 uStack_1d8; undefined4 uStack_1d4; undefined ***local_1b0; undefined **local_1a8; undefined8 *local_1a0; undefined ***local_170; undefined **local_168; undefined8 *local_160; undefined ***local_130; undefined **local_128; undefined8 *local_120; undefined ***local_f0; undefined **local_e8; undefined8 *local_e0; undefined ***local_b0; undefined **local_a8; undefined8 *local_a0; undefined ***local_70; undefined1 local_49; ulonglong local_48 [2]; local_490 = 0xfffffffffffffffe; local_48[0] = DAT_182615970 ^ (ulonglong)auStack_5e8; param_1[1] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 2) = 0; *param_1 = DummyEqualizerWrapperBase::vftable; local_4a8 = param_1; FUN_180533130(param_1 + 3); *(undefined4 *)(param_1 + 0x4801b) = 0; *(undefined8 *)((longlong)param_1 + 0x2400dc) = 0; *(undefined8 *)((longlong)param_1 + 0x2400e4) = 0; *(undefined4 *)((longlong)param_1 + 0x2400ec) = 0; param_1[0x4801e] = 0; param_1[0x4801f] = 0; param_1[0x48020] = 0; *(undefined1 *)(param_1 + 0x48021) = 0; param_1[0x48022] = 0; param_1[0x48023] = 0; *(undefined4 *)(param_1 + 0x48014) = 1; *(undefined4 *)((longlong)param_1 + 0x2400a7) = 0x1010101; *(undefined4 *)((longlong)param_1 + 0x2400ab) = 0x1010101; FUN_18052fc30(param_1 + 3); *(undefined4 *)(param_1 + 0x48013) = 4; *(undefined4 *)((longlong)param_1 + 0x2400a7) = 0x1010101; *(undefined4 *)((longlong)param_1 + 0x2400ab) = 0x1010101; bVar2 = *(float *)((longlong)param_1 + 0x3c) != _DAT_1824c45ec; *(undefined4 *)((longlong)param_1 + 0x3c) = 0x472c4400; if (bVar2) { (**(code **)(param_1[3] + 0x20))(param_1 + 3); } *param_1 = Soothe2DummyEqualizerWrapper::vftable; *(undefined4 *)((longlong)param_1 + 0x24009c) = 6; *(undefined4 *)((longlong)param_1 + 0x2400a7) = 0x1010101; *(undefined4 *)((longlong)param_1 + 0x2400ab) = 0x1010101; FUN_18052fc30(param_1 + 3); param_2 = param_2 + 0x178; local_468 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_430 = &local_468; local_460 = param_1; uVar5 = FUN_18119aa60(param_2,"band0 on"); FUN_181414060(param_1,uVar5,&local_468); local_428 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_3f0 = &local_428; local_420 = param_1; uVar5 = FUN_18119aa60(param_2,"band0 q"); FUN_181414060(param_1,uVar5,&local_428); local_3e8 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_3b0 = &local_3e8; local_3e0 = param_1; uVar5 = FUN_18119aa60(param_2,"band0 freq"); FUN_181414060(param_1,uVar5,&local_3e8); local_3a8 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_370 = &local_3a8; local_3a0 = param_1; uVar5 = FUN_18119aa60(param_2,"band0 balance"); FUN_181414060(param_1,uVar5,&local_3a8); local_368 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_330 = &local_368; local_360 = param_1; uVar5 = FUN_18119aa60(param_2,"band0 mode"); FUN_181414060(param_1,uVar5,&local_368); iVar11 = 1; local_4a0 = &local_5a0; local_498 = &local_598; local_478 = &local_590; do { lVar6 = FUN_181233e10(local_48,iVar11); FUN_180495150(&local_588,lVar6,&local_49 + -lVar6); FUN_18049c4e0(&local_5a0,&DAT_1824b03ac); plVar7 = (longlong *)FUN_181232d30(&local_5a0,&local_588); local_5c8 = *plVar7; _Memory = (uint *)(local_5c8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar9 = (uint *)(local_5a0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_588 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_5b0 = &local_328; local_328 = std::_Func_impl_no_alloc<,void,float>:: vftable; uStack_4c0._0_4_ = SUB84(param_1,0); uVar3 = (undefined4)uStack_4c0; uStack_4c0._4_4_ = (undefined4)((ulonglong)param_1 >> 0x20); uVar4 = uStack_4c0._4_4_; uStack_31c = uStack_4c4; uStack_318 = (undefined4)uStack_4c0; uStack_314 = uStack_4c0._4_4_; local_2f0 = &local_328; local_4c8 = iVar11; uStack_4c0 = param_1; local_320 = iVar11; FUN_18049c4e0(&local_580,&DAT_1824b03f8); local_598 = local_5c8; if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } plVar7 = (longlong *)FUN_181232d30(&local_598,&local_580); local_530 = *plVar7; puVar9 = (uint *)(local_530 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } puVar10 = (uint *)(local_598 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar5 = FUN_18119aa60(param_2,local_530); FUN_181414060(param_1,uVar5,&local_328); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_580 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_5b8 = &local_2e8; local_2e8 = std::_Func_impl_no_alloc<,void,float>:: vftable; uStack_2dc = uStack_4d4; uStack_2d8 = uVar3; uStack_2d4 = uVar4; local_2b0 = &local_2e8; local_4d8 = iVar11; puStack_4d0 = param_1; local_2e0 = iVar11; FUN_18049c4e0(&local_578," freq"); local_590 = local_5c8; if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } plVar7 = (longlong *)FUN_181232d30(&local_590,&local_578); local_528 = *plVar7; puVar9 = (uint *)(local_528 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } puVar10 = (uint *)(local_590 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar5 = FUN_18119aa60(param_2,local_528); FUN_181414060(param_1,uVar5,&local_2e8); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_578 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_5b8 = &local_2a8; local_2a8 = std::_Func_impl_no_alloc<,void,float>:: vftable; uStack_29c = uStack_4b4; uStack_298 = uVar3; uStack_294 = uVar4; local_270 = &local_2a8; local_4b8 = iVar11; puStack_4b0 = param_1; local_2a0 = iVar11; FUN_18049c4e0(&local_568," sens"); local_570 = local_5c8; if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar8 = (undefined8 *)FUN_181232aa0(&local_520,&local_570,&local_568); local_470 = *puVar8; uVar5 = FUN_18119aa60(param_2); FUN_181414060(param_1,uVar5,&local_2a8); puVar9 = (uint *)(local_520 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_568 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_5b8 = &local_268; local_268 = std::_Func_impl_no_alloc<,void,float>:: vftable; uStack_25c = uStack_504; uStack_258 = uVar3; uStack_254 = uVar4; local_230 = &local_268; local_508 = iVar11; puStack_500 = param_1; local_260 = iVar11; FUN_18049c4e0(&local_558,&DAT_1824b03e4); local_560 = local_5c8; if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar8 = (undefined8 *)FUN_181232aa0(&local_518,&local_560,&local_558); local_488 = *puVar8; uVar5 = FUN_18119aa60(param_2); FUN_181414060(param_1,uVar5,&local_268); puVar9 = (uint *)(local_518 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_558 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_5b8 = &local_228; local_228 = std::_Func_impl_no_alloc<,void,float>:: vftable; uStack_21c = uStack_4f4; uStack_218 = uVar3; uStack_214 = uVar4; local_1f0 = &local_228; local_4f8 = iVar11; puStack_4f0 = param_1; local_220 = iVar11; FUN_18049c4e0(&local_548," balance"); local_550 = local_5c8; if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar8 = (undefined8 *)FUN_181232aa0(&local_510,&local_550,&local_548); local_480 = *puVar8; uVar5 = FUN_18119aa60(param_2); FUN_181414060(param_1,uVar5,&local_228); puVar9 = (uint *)(local_510 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_548 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_5b8 = &local_1e8; local_1e8 = std::_Func_impl_no_alloc<,void,float>:: vftable; uStack_1dc = uStack_4e4; uStack_1d8 = uVar3; uStack_1d4 = uVar4; local_1b0 = &local_1e8; local_4e8 = iVar11; puStack_4e0 = param_1; local_1e0 = iVar11; FUN_18049c4e0(&local_538," mode"); local_540 = local_5c8; if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar8 = (undefined8 *)FUN_181232aa0(&local_5c0,&local_540,&local_538); local_5a8 = *puVar8; uVar5 = FUN_18119aa60(param_2); FUN_181414060(param_1,uVar5,&local_1e8); puVar9 = (uint *)(local_5c0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_538 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar11 = iVar11 + 1; } while (iVar11 < 5); local_1a8 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_170 = &local_1a8; local_1a0 = param_1; uVar5 = FUN_18119aa60(param_2,"band5 on"); FUN_181414060(param_1,uVar5,&local_1a8); local_168 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_130 = &local_168; local_160 = param_1; uVar5 = FUN_18119aa60(param_2,"band5 q"); FUN_181414060(param_1,uVar5,&local_168); local_128 = std::_Func_impl_no_alloc<,void,float>:: vftable; local_f0 = &local_128; local_120 = param_1; uVar5 = FUN_18119aa60(param_2,"band5 freq"); FUN_181414060(param_1,uVar5,&local_128); local_e8 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_b0 = &local_e8; local_e0 = param_1; uVar5 = FUN_18119aa60(param_2,"band5 balance"); FUN_181414060(param_1,uVar5,&local_e8); local_a8 = std::_Func_impl_no_alloc<,void,float>::vftable ; local_70 = &local_a8; local_a0 = param_1; uVar5 = FUN_18119aa60(param_2,"band5 mode"); FUN_181414060(param_1,uVar5,&local_a8); FUN_1812a77d0(param_1,10); } ############ FUN_ 180569a90 size=392 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180569a90(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; undefined8 uVar3; undefined8 uVar4; char cVar5; undefined4 local_18; cVar5 = FUN_18055e400(param_1 + 0x20,param_2,param_3,param_4,0xfffffffffffffffe); if (cVar5 == '\0') { if (*(longlong *)(param_1 + 0x270) != 0) { LOCK(); *(undefined1 *)(param_1 + 0x81) = 1; UNLOCK(); if (*(longlong *)(param_1 + 0x288) != 0) { FUN_180597f80(); puVar1 = *(undefined8 **)(param_1 + 0x288); *(undefined8 *)(param_1 + 0x288) = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } *(undefined8 *)(param_1 + 0x270) = 0; LOCK(); *(undefined1 *)(param_1 + 0x81) = 0; UNLOCK(); FUN_181413d90(*(undefined8 *)(param_1 + 0xe0)); } if (*(longlong **)(param_1 + 0x2e0) != (longlong *)0x0) { (**(code **)(**(longlong **)(param_1 + 0x2e0) + 0x10))(); } FUN_1812a7720(param_1 + 8); } else if (*(longlong *)(param_1 + 0x270) == 0) { EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xb4)); *(longlong *)(param_1 + 0x278) = param_1; *(undefined4 *)(param_1 + 0x2dc) = 1; uVar4 = _UNK_1824c48d8; uVar3 = _UNK_1824c4778; uVar2 = _DAT_1824c4770; local_18 = CONCAT31(local_18._1_3_,4); *(undefined8 *)(param_1 + 0x290) = _DAT_1824c48d0; *(undefined8 *)(param_1 + 0x298) = uVar4; *(undefined8 *)(param_1 + 0x2a0) = uVar2; *(undefined8 *)(param_1 + 0x2a8) = uVar3; *(undefined8 *)(param_1 + 0x2b0) = 0; *(undefined4 *)(param_1 + 0x2b8) = local_18; *(undefined1 *)(param_1 + 0x2d9) = 1; FUN_18134bd50(*(undefined8 *)(param_1 + 0xe0),0); FUN_18163b610(param_1 + 0xe8,*(undefined8 *)(param_1 + 0xe0)); FUN_1812a77d0(param_1 + 8,0x10); /* WARNING: Could not recover jumptable at 0x000180569b86. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xb4)); return; } return; } ############ FUN_ 1815d7db0 size=1089 ############ void FUN_1815d7db0(undefined8 *param_1) { undefined8 *puVar1; undefined4 uVar2; undefined4 uVar3; undefined8 uVar4; void *_Memory; undefined8 *puVar5; undefined1 local_res20 [8]; undefined4 local_b8; undefined4 uStack_b4; undefined4 uStack_b0; undefined4 uStack_ac; undefined4 local_a8; undefined4 uStack_a4; undefined4 uStack_a0; undefined4 uStack_9c; void *local_98; undefined4 local_8c; FUN_18134a080(); param_1[0x42] = 0; *(undefined1 *)(param_1 + 0x43) = 0; param_1[0x45] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x46) = 0; *param_1 = CloudyLabel::vftable; param_1[0x16] = CloudyLabel::vftable; param_1[0x18] = CloudyLabel::vftable; param_1[0x19] = CloudyLabel::vftable; param_1[0x1a] = CloudyLabel::vftable; param_1[0x41] = CloudyLabel::vftable; param_1[0x44] = CloudyLabel::vftable; param_1[0x47] = CloudyLabel::vftable; param_1[0x48] = CloudyLabel::vftable; param_1[0x49] = 0x3f4ccccd; param_1[0x4a] = 0; param_1[0x4b] = 0; *(undefined4 *)(param_1 + 0x4c) = 0; *(undefined8 *)((longlong)param_1 + 0x264) = 0; FUN_181252d20(param_1 + 0x4e); puVar1 = param_1 + 0x4f; *puVar1 = 0; param_1[0x50] = 0; param_1[0x51] = 0; param_1[0x52] = 0; *(undefined1 *)(param_1 + 0x53) = 1; param_1[0x54] = 0; param_1[0x55] = 0; param_1[0x56] = 0; param_1[0x57] = 0; *(undefined1 *)(param_1 + 0x58) = 1; *(undefined4 *)(param_1 + 0x59) = 0; FUN_1812fbfd0(param_1 + 0x5a); param_1[0x5a] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x5b] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x5c] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x5d] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x5e] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x5f] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x60] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x61] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x62] = CloudyLabel::EditorLookAndFeel::vftable; param_1[99] = CloudyLabel::EditorLookAndFeel::vftable; param_1[100] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x65] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x66] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x67] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x68] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x69] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x6a] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x6b] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x6c] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x6d] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x6e] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x6f] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x70] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x71] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x72] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x73] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x74] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x75] = CloudyLabel::EditorLookAndFeel::vftable; param_1[0x76] = CloudyLabel::EditorLookAndFeel::vftable; *(undefined4 *)(param_1 + 0x88) = 0; *(undefined8 *)((longlong)param_1 + 0x444) = 0x1010101; param_1[0x8a] = std:: _Func_impl_no_alloc<,void,juce::TextEditor&___ptr64> ::vftable; param_1[0x91] = param_1 + 0x8a; *(undefined4 *)(param_1 + 0x92) = 0x1010101; *(undefined4 *)((longlong)param_1 + 0x494) = 7; *(undefined4 *)(param_1 + 0x93) = 1; *(undefined2 *)((longlong)param_1 + 0x49c) = 1; if (*(int *)(param_1 + 0x38) != 0x24) { *(undefined4 *)(param_1 + 0x38) = 0x24; uStack_ac = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_b0 = *(undefined4 *)(param_1 + 5); local_b8 = 0; uStack_b4 = 0; FUN_181342870(param_1,&local_b8,1); } *(undefined2 *)(param_1 + 0x40) = 1; *(undefined1 *)((longlong)param_1 + 0x202) = 0; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x60; if (*(float *)(param_1 + 0x3f) != DAT_1824c3ea4) { *(undefined4 *)(param_1 + 0x3f) = 0x3f800000; uStack_9c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_a0 = *(undefined4 *)(param_1 + 5); local_a8 = 0; uStack_a4 = 0; FUN_181342870(param_1,&local_a8,1); } FUN_1812a77d0(param_1 + 0x44,200); FUN_18049c4e0(local_res20, "\n\n\n" ); puVar5 = (undefined8 *)FUN_180576a30(&local_98,local_res20); if (puVar1 == puVar5) { uVar4 = puVar5[3]; param_1[0x51] = puVar5[2]; param_1[0x52] = uVar4; *(undefined1 *)(param_1 + 0x53) = *(undefined1 *)(puVar5 + 4); local_8c = 0; /* WARNING: Subroutine does not return */ free(local_98); } uVar4 = *puVar5; *puVar5 = 0; uVar2 = *(undefined4 *)(puVar5 + 1); uVar3 = *(undefined4 *)((longlong)puVar5 + 0xc); puVar5[1] = 0; _Memory = (void *)*puVar1; *puVar1 = uVar4; *(undefined4 *)(param_1 + 0x50) = uVar2; *(undefined4 *)((longlong)param_1 + 0x284) = uVar3; /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180579d90 size=366 ############ void FUN_180579d90(longlong *param_1,longlong *param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; int iVar4; longlong lVar5; iVar4 = *(int *)((longlong)param_1 + 0xc); while( true ) { if (iVar4 < 1) { return; } iVar4 = iVar4 + -1; if ((*(int *)((longlong)param_1 + 0xc) <= iVar4) && (iVar4 = *(int *)((longlong)param_1 + 0xc) + -1, iVar4 < 0)) break; lVar3 = *param_2; plVar1 = *(longlong **)(*param_1 + (longlong)iVar4 * 8); if ((undefined **)*plVar1 == CloudyTutorialEngine::vftable) { if (*(int *)((longlong)plVar1 + 0x2c) < 1) { lVar5 = 0; } else { lVar5 = *(longlong *)(plVar1[4] + (longlong)(*(int *)((longlong)plVar1 + 0x2c) + -1) * 8); } lVar2 = plVar1[2]; if (((lVar2 == lVar5) || (*(char *)(lVar3 + 0x8c) == '\0')) || (lVar3 = (*(longlong *)(lVar3 + 0x78) - *(longlong *)(lVar3 + 0x70)) / 0x60, lVar3 == 0)) { if ((ulonglong)((*(longlong *)(lVar2 + 0x78) - *(longlong *)(lVar2 + 0x70)) / 0x60) <= (ulonglong)(longlong)*(int *)(lVar2 + 0x88)) { if (*(int *)((longlong)plVar1 + 0x2c) < 1) { lVar3 = 0; } else { lVar3 = *(longlong *) (plVar1[4] + (longlong)(*(int *)((longlong)plVar1 + 0x2c) + -1) * 8); } if (lVar2 == lVar3) { if ((longlong *)plVar1[0x19d] == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*(longlong *)plVar1[0x19d] + 0x10))(); } } FUN_1812a77d0(plVar1[6] + 0x1e0,0x10); FUN_1814c7ab0(plVar1 + -0x19); } else { FUN_1814c7ed0(plVar1 + -0x19,CONCAT71((int7)((ulonglong)lVar3 >> 8),1)); } } else { (*(code *)((undefined **)*plVar1)[2])(plVar1); } } return; } ############ FUN_ 18058b630 size=529 ############ /* 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,longlong *param_2,undefined8 *param_3) { uint uVar1; undefined **ppuVar2; char cVar3; int iVar4; int iVar5; longlong *plVar6; uint *puVar7; undefined4 uVar8; undefined1 auStack_a8 [32]; undefined8 local_88; undefined4 uStack_80; undefined4 uStack_7c; longlong local_78; undefined **local_70; longlong local_68; undefined **local_60; undefined8 local_58; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; undefined8 *local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_38 = param_3; plVar6 = (longlong *) (**(code **)(**(longlong **)(param_1 + 0x18) + 0x10)) (*(longlong **)(param_1 + 0x18),&local_78); iVar5 = 0; iVar4 = iVar5; if (*param_2 != *plVar6) { iVar4 = FUN_18048cbc0(*param_2,*plVar6); } puVar7 = (uint *)(local_78 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (iVar4 == 0) { ppuVar2 = (undefined **)**(longlong **)(param_1 + 0x18); if (ppuVar2 == Soothe2GainRangeScalingOption::vftable) { iVar4 = (**(code **)(*(longlong *)*param_3 + 8))((longlong *)*param_3,param_3 + 1); if ((iVar4 == 2) || ((uVar8 = DAT_1824c41e0, iVar4 != 1 && (uVar8 = DAT_1824c4388, iVar4 != 0)))) { uVar8 = DAT_1824c3ea4; } } else { uVar8 = (*(code *)ppuVar2[6])(*(longlong **)(param_1 + 0x18),param_3); } plVar6 = *(longlong **)(param_1 + 0x10); if (plVar6 != (longlong *)0x0) { *(undefined4 *)((longlong)plVar6 + 0x20c) = uVar8; FUN_18058d330(plVar6); (**(code **)(*plVar6 + 0x108))(plVar6); uStack_7c = *(undefined4 *)((longlong)plVar6 + 0x2c); uStack_80 = (undefined4)plVar6[5]; local_88 = 0; local_48 = 0; uStack_44 = 0; uStack_40 = uStack_80; uStack_3c = uStack_7c; FUN_181342870(plVar6,&local_48,1); } } else { local_70 = NoOpenGLOption::vftable; plVar6 = (longlong *) (*(code *) PTR_vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData_____1824b1648 )(&local_70,&local_68); if (*param_2 != *plVar6) { iVar5 = FUN_18048cbc0(*param_2,*plVar6); } puVar7 = (uint *)(local_68 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (iVar5 == 0) { local_60 = NoOpenGLOption::vftable; cVar3 = FUN_18055e400(&local_60); if (cVar3 == '\0') { iVar4 = *(int *)(param_1 + 0x97b4); } else { iVar4 = *(int *)(param_1 + 0x97b0); } if (*(int *)(param_1 + -0x10) != iVar4) { FUN_1812a7720(param_1 + -0x20); FUN_1812a77d0(param_1 + -0x20,iVar4); } } } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 1814ec2d0 size=565 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814ec2d0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,longlong *param_4, undefined8 param_5,undefined8 param_6,longlong *param_7) { undefined8 *puVar1; undefined8 *puVar2; uint uVar3; longlong *plVar4; undefined8 uVar5; uint *_Memory; undefined1 auStack_e8 [32]; undefined8 local_c8; longlong *local_c0; longlong local_b8; undefined8 *local_b0; undefined8 *local_a8; undefined8 local_a0; undefined8 *local_98; longlong *local_90; undefined **local_88; undefined8 *local_80; undefined ***local_50; ulonglong local_48; local_a0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; local_90 = param_7; local_b8 = *param_7; if ((*(uint *)(local_b8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_b8 + -0x10) = *(int *)(local_b8 + -0x10) + 1; UNLOCK(); } local_c0 = &local_b8; local_c8 = param_6; local_98 = param_1; FUN_1814ec5a0(param_1,param_2,param_3,param_5); *param_1 = PulsatingToggleButton::vftable; param_1[0x16] = PulsatingToggleButton::vftable; param_1[0x19] = PulsatingToggleButton::vftable; param_1[0x1b] = PulsatingToggleButton::vftable; param_1[0x1c] = PulsatingToggleButton::vftable; local_88 = std::_Func_impl_no_alloc<,void>::vftable; local_50 = &local_88; puVar1 = param_1 + 0x7c; param_1[0x7d] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x7e) = 0; *puVar1 = PulsatingToggleButton::PulseAnimation::vftable; param_1[0x7f] = 2; param_1[0x80] = (longlong)param_1 + 0x31c; param_1[0x81] = 0; local_a8 = param_1 + 0x82; param_1[0x89] = 0; local_b0 = puVar1; local_80 = param_1; FUN_180488560(local_a8,&local_88); *(undefined4 *)(param_1 + 0x8a) = 0; if (local_50 != (undefined ***)0x0) { (*(code *)(*local_50)[4])(local_50,local_50 != &local_88); } puVar2 = param_1 + 0x8b; param_1[0x8c] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x8d) = 0; *puVar2 = PulsatingToggleButton::PulseAnimationController::vftable; local_b0 = param_1 + 0x8f; param_1[0x96] = 0; plVar4 = (longlong *)param_4[7]; local_a8 = puVar2; if (plVar4 != (longlong *)0x0) { if (plVar4 == param_4) { uVar5 = (**(code **)(*plVar4 + 8))(plVar4,local_b0); param_1[0x96] = uVar5; plVar4 = (longlong *)param_4[7]; if (plVar4 == (longlong *)0x0) goto LAB_1814ec4ad; (**(code **)(*plVar4 + 0x20))(plVar4,plVar4 != param_4); } else { param_1[0x96] = plVar4; } param_4[7] = 0; } LAB_1814ec4ad: param_1[0x8e] = param_1; FUN_1812a77d0(puVar2,100); FUN_1812a77d0(puVar1,0x21); _Memory = (uint *)(*param_7 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 181184550 size=55 ############ undefined8 * FUN_181184550(undefined8 *param_1,undefined4 param_2,undefined8 param_3) { param_1[1] = 0xffffffffffffffff; *param_1 = AutoCueState::Delayed::vftable; *(undefined4 *)(param_1 + 2) = 0; param_1[3] = param_3; *(undefined4 *)(param_1 + 4) = param_2; FUN_1812a77d0(); return param_1; } ############ FUN_ 181211070 size=63 ############ undefined8 * FUN_181211070(undefined8 *param_1) { param_1[1] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 2) = 0; *param_1 = CloudyAsyncCaller::vftable; *(undefined4 *)(param_1 + 3) = 0x400; param_1[0xb] = 0; FUN_1812a77d0(param_1,0x10); return param_1; } ############ FUN_ 1812dd650 size=239 ############ void FUN_1812dd650(longlong param_1) { int iVar1; undefined4 uVar2; int iVar3; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_1812e1fc0(); if (*(char *)(param_1 + 0x1f2) != '\0') { *(undefined4 *)(param_1 + 0x2f8) = 0; FUN_1812e0940(param_1,*(undefined8 *)(param_1 + 0x280)); iVar1 = FUN_1812dbb90(); iVar3 = 0; if (iVar1 < 0) { iVar3 = iVar1; } if (iVar3 != *(int *)(param_1 + 0x2a4)) { *(int *)(param_1 + 0x2a4) = iVar3; FUN_1812a77d0(*(longlong *)(param_1 + 0x1d0) + 0xb0,0x15e); FUN_1812e0240(param_1); FUN_1812e16d0(param_1); } *(ulonglong *)(param_1 + 0x280) = CONCAT44(*(undefined4 *)(param_1 + 0x2a4),*(undefined4 *)(param_1 + 0x2a4)); uVar2 = FUN_1812dbb90(param_1); FUN_1812e0100(param_1,uVar2,1); } FUN_1812e0ae0(param_1); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); FUN_1812e16d0(param_1); return; } ############ FUN_ 1812de5a0 size=187 ############ void FUN_1812de5a0(longlong param_1,longlong param_2) { undefined4 uVar1; FUN_1812e1fc0(); FUN_1812a77d0(*(longlong *)(param_1 + 0x1d0) + 0xb0,0x15e); if ((((*(char *)(param_1 + 500) != '\0') || (*(char *)(param_1 + 0x1f2) == '\0')) && (*(char *)(param_2 + 0x59) == '\0')) && ((*(char *)(param_1 + 0x1f1) == '\0' || ((*(uint *)(param_2 + 0x10) >> 5 & 1) == 0)))) { uVar1 = FUN_1812db7b0(param_1); FUN_1812e08d0(param_1,uVar1); } *(undefined1 *)(param_1 + 500) = 1; return; } ############ FUN_ 1812f1090 size=117 ############ void FUN_1812f1090(longlong param_1,longlong param_2) { longlong lVar1; undefined8 uVar2; char cVar3; undefined8 *puVar4; undefined4 local_res8; undefined4 uStackX_c; cVar3 = FUN_1804fc2d0(*(undefined8 *)(param_1 + 0x18)); if (cVar3 != '\0') { FUN_1812a77d0(param_1,0x32); local_res8 = *(undefined4 *)(param_2 + 8); uStackX_c = *(undefined4 *)(param_2 + 0xc); uVar2 = *(undefined8 *)(param_2 + 8); for (lVar1 = *(longlong *)(param_2 + 0x30); lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { puVar4 = (undefined8 *)FUN_18051e290(&local_res8,lVar1,uVar2); uVar2 = *puVar4; } FUN_1804fe350(param_1); } return; } ############ FUN_ 1812f2b40 size=486 ############ void FUN_1812f2b40(longlong param_1,undefined8 param_2,uint *param_3) { longlong *plVar1; int *piVar2; longlong *plVar3; int iVar4; char cVar5; uint uVar6; longlong *plVar7; undefined8 *puVar8; ulonglong uVar9; longlong *plVar10; undefined8 uVar11; longlong *local_50; longlong *local_48; undefined8 *local_38; uVar11 = 0xfffffffffffffffe; if (((*(longlong *)(param_1 + 0x20) != 0) && ((param_3[1] & 0x20) == 0)) && (uVar6 = 0, 0 < *(int *)(param_1 + 0x34))) { plVar3 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); do { if (uVar6 < *(uint *)(param_1 + 0x34)) { puVar8 = (undefined8 *)(*(longlong *)(param_1 + 0x28) + (longlong)(int)uVar6 * 8); } else { if ((*(int *)(*plVar3 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } puVar8 = &DAT_18267af68; } (**(code **)(**(longlong **)(param_1 + 0x20) + 0x18)) (*(longlong **)(param_1 + 0x20),&local_50,uVar6,puVar8,uVar11); uVar9 = (ulonglong)*param_3; if (local_50 != local_48) { plVar7 = local_50 + 10; plVar10 = local_48; do { if ((((int)plVar7[-9] == (int)uVar9) && (plVar7[4] != 0)) || ((*plVar7 != 0 && (cVar5 = FUN_1812f00d0(*plVar7,uVar9 & 0xffffffff), cVar5 != '\0')))) { if (*(uint *)(param_1 + 0x50) != uVar6) { FUN_1812f3ae0(param_1 + -0xb0); *(uint *)(param_1 + 0x50) = uVar6; FUN_1812f3ae0(param_1 + -0xb0,uVar6); } FUN_1812a77d0(param_1 + 8,200); if (local_38 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(local_38 + 1); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*local_38)(local_38,1); } } FUN_18051c930(&local_50); return; } plVar1 = plVar7 + 7; plVar7 = plVar7 + 0x11; } while (plVar1 != plVar10); } if (local_38 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(local_38 + 1); iVar4 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*local_38)(local_38,1); } } FUN_18051c930(&local_50); uVar6 = uVar6 + 1; } while ((int)uVar6 < *(int *)(param_1 + 0x34)); } return; } ############ FUN_ 181324840 size=140 ############ void FUN_181324840(longlong param_1,longlong *param_2) { longlong lVar1; int iVar2; int *piVar3; if (*(longlong *)(param_1 + 200) != *param_2) { iVar2 = FUN_18049bb30(*(undefined8 *)(param_1 + 200)); if (iVar2 != 0) { if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(*param_2 + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar1 = *(longlong *)(param_1 + 200); *(longlong *)(param_1 + 200) = *param_2; UNLOCK(); piVar3 = (int *)(lVar1 + -0x10); if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } FUN_1812a77d0(param_1 + 0xb0,100); } } return; } ############ FUN_ 181335ab0 size=396 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181335ab0(longlong *param_1) { int iVar1; int iVar2; uint uVar3; uint uVar4; int iVar5; double dVar6; if (*(char *)((longlong)param_1 + 0x1c3) != '\0') { FUN_1812a7720(param_1[0x2e]); FUN_181336e60(param_1); *(undefined1 *)((longlong)param_1 + 0x1c3) = 0; return; } if (0 < *(int *)((longlong)param_1 + 0x18c)) { if (*(char *)((longlong)param_1 + 0x1c4) == '\0') { iVar2 = FUN_181336e60(); if (iVar2 != 2) goto LAB_181335c1c; } iVar2 = *(int *)((longlong)param_1 + 0x18c); if (-1 < (int)param_1[0x32]) { uVar3 = DAT_1826737fc; if (DAT_1826737fc == 0) { uVar3 = timeGetTime(); if (uVar3 < DAT_1826737fc) { if (uVar3 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = uVar3; } } else { LOCK(); UNLOCK(); DAT_1826737fc = uVar3; } } uVar4 = 0; if (*(uint *)(param_1 + 0x2f) < uVar3) { uVar4 = uVar3 - *(uint *)(param_1 + 0x2f); } dVar6 = (double)uVar4 / _DAT_1824c4368; if (DAT_1824c4140 <= (double)uVar4 / _DAT_1824c4368) { dVar6 = DAT_1824c4140; } iVar2 = iVar2 + (int)(dVar6 * dVar6 * (double)((int)param_1[0x32] - iVar2)); } iVar1 = 1; if (1 < iVar2) { iVar1 = iVar2; } iVar5 = FUN_181228e30(); iVar2 = iVar1; if ((*(int *)((longlong)param_1 + 0x17c) != 0) && (iVar1 * 2 < iVar5 - *(int *)((longlong)param_1 + 0x17c))) { iVar2 = 1; if (1 < iVar1 / 2) { iVar2 = iVar1 / 2; } } *(int *)((longlong)param_1 + 0x17c) = iVar5; FUN_1812a77d0(param_1[0x2e],iVar2); /* WARNING: Could not recover jumptable at 0x000181335c15. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x180))(param_1,&DAT_182673aec); return; } LAB_181335c1c: if (*(char *)((longlong)param_1 + 0x1c2) == '\0') { FUN_1812a7720(param_1[0x2e]); return; } return; } ############ FUN_ 181335cf0 size=233 ############ undefined8 FUN_181335cf0(longlong *param_1) { char cVar1; char cVar2; if (((*(byte *)((longlong)param_1 + 0xa9) & 0x10) != 0) || ((param_1[3] != 0 && (cVar1 = FUN_18133eaa0(), cVar1 == '\0')))) { return 0; } cVar1 = *(char *)((longlong)param_1 + 0x1c4); cVar2 = FUN_181335e90(param_1); *(char *)((longlong)param_1 + 0x1c4) = cVar2; if (((-1 < (int)param_1[0x31]) && (cVar2 != '\0')) && (cVar1 == '\0')) { FUN_1812a77d0(param_1[0x2e]); } FUN_181336e60(param_1); if (((*(byte *)((longlong)param_1 + 0xa9) & 0x10) == 0) && ((param_1[3] == 0 || (cVar2 = FUN_18133eaa0(), cVar2 != '\0')))) { if (cVar1 == '\0') goto LAB_181335dab; if (*(char *)((longlong)param_1 + 0x1c4) == '\0') { (**(code **)(*param_1 + 0x180))(param_1,&DAT_182673aec); return 1; } } if (cVar1 != '\0') { return 1; } LAB_181335dab: if (*(char *)((longlong)param_1 + 0x1c4) != '\0') { return 1; } return 0; } ############ FUN_ 1813363e0 size=181 ############ void .?AVSoothe2_DynamicCryptoManager@eden@pace@@::vtbl___AVSoothe2_DynamicCryptoManager_eden_pace__ (longlong param_1,undefined8 *param_2) { int iVar1; undefined1 uVar2; float fVar3; float fStackX_c; iVar1 = *(int *)(param_1 + 0x1a0); if (*(int *)(param_2[10] + 0x14) - 1U < 2) { fVar3 = (float)*param_2; if ((((fVar3 < 0.0) || (fStackX_c = (float)((ulonglong)*param_2 >> 0x20), fStackX_c < 0.0)) || ((float)*(int *)(param_1 + 0x28) + 0.0 <= fVar3)) || ((float)*(int *)(param_1 + 0x2c) + 0.0 <= fStackX_c)) { uVar2 = 0; } else { uVar2 = 1; } } else { uVar2 = FUN_18133e590(param_1,0); } FUN_181336db0(param_1,uVar2,1); if (((-1 < *(int *)(param_1 + 0x188)) && (*(int *)(param_1 + 0x1a0) != iVar1)) && (*(int *)(param_1 + 0x1a0) == 2)) { FUN_1812a77d0(*(undefined8 *)(param_1 + 0x170),*(undefined4 *)(param_1 + 0x18c)); } return; } ############ FUN_ 1813365f0 size=159 ############ void .?AVSoothe2_DynamicCryptoManager@eden@pace@@::vtbl___AVSoothe2_DynamicCryptoManager_eden_pace__ (longlong *param_1,longlong param_2) { char cVar1; undefined4 uVar2; uVar2 = 0; if ((*(byte *)((longlong)param_1 + 0xa9) & 0x10) == 0) { uVar2 = 0; if (param_1[3] != 0) { cVar1 = FUN_18133eaa0(); if (cVar1 == '\0') goto LAB_18133663d; } if ((*(byte *)(param_1 + 0x15) & 2) != 0) { cVar1 = FUN_181343030(param_1); uVar2 = 0; if (cVar1 == '\0') { uVar2 = 2; } } } LAB_18133663d: FUN_181336cf0(param_1,uVar2); if ((int)param_1[0x34] == 2) { if (-1 < (int)param_1[0x31]) { FUN_1812a77d0(param_1[0x2e]); } if (*(char *)((longlong)param_1 + 0x1c5) != '\0') { (**(code **)(*param_1 + 0x180))(param_1,param_2 + 0x10); } } return; } ############ FUN_ 181336a80 size=125 ############ void FUN_181336a80(longlong *param_1,int param_2) { char cVar1; longlong lVar2; if (param_2 != 0x2f3f4f99) { return; } if ((*(byte *)((longlong)param_1 + 0xa9) & 0x10) != 0) { return; } lVar2 = param_1[3]; if (lVar2 != 0) { cVar1 = FUN_18133eaa0(lVar2); if (cVar1 == '\0') { return; } if ((lVar2 != 0) && (cVar1 = FUN_18133eaa0(lVar2), cVar1 == '\0')) goto LAB_181336ae4; } *(undefined1 *)((longlong)param_1 + 0x1c2) = 1; FUN_181336cf0(param_1,2); FUN_1812a77d0(param_1[0x2e],100); LAB_181336ae4: (**(code **)(*param_1 + 0x180))(param_1,&DAT_182673aec); return; } ############ FUN_ 181338f70 size=153 ############ void FUN_181338f70(longlong *param_1,ulonglong *param_2) { char cVar1; undefined8 uVar2; FUN_1812a77d0(param_1 + 0x16,0x17c); if (param_1[0x19] == 0) { LAB_181338fb3: uVar2 = 1; } else { if (DAT_182673708 == param_1[0x19]) { cVar1 = FUN_181343030(); if (cVar1 == '\0') goto LAB_181338fb3; } uVar2 = 0; } (**(code **)(*param_1 + 0x58))(param_1,uVar2); FUN_18134bfe0(param_1,(int)*param_2,*param_2 >> 0x20,2,*(undefined4 *)((longlong)param_2 + 0xc)); return; } ############ FUN_ 181339290 size=257 ############ void FUN_181339290(longlong param_1,longlong param_2,char param_3) { int iVar1; int iVar2; undefined8 uVar3; longlong lVar4; int iVar5; double dVar6; undefined1 local_78 [96]; lVar4 = FUN_181339840(param_2,local_78,*(undefined8 *)(param_1 + 0x20)); iVar1 = *(int *)(lVar4 + 8); iVar2 = *(int *)(lVar4 + 0xc); uVar3 = *(undefined8 *)(lVar4 + 8); if (*(char *)(param_1 + 0x48) == '\0') { if ((param_3 == '\0') && (*(int *)(*(longlong *)(param_2 + 0x50) + 0x14) != 1)) { dVar6 = _hypot((double)(iVar1 - (int)*(undefined8 *)(param_1 + 0x38)), (double)(iVar2 - (int)((ulonglong)*(undefined8 *)(param_1 + 0x38) >> 0x20))); if ((int)dVar6 <= *(int *)(param_1 + 0x44)) goto LAB_181339357; } if (*(char *)(param_1 + 0x48) != '\x01') { *(undefined1 *)(param_1 + 0x48) = 1; iVar5 = *(int *)(param_1 + 0x34); while (0 < iVar5) { iVar5 = iVar5 + -1; if ((*(int *)(param_1 + 0x34) <= iVar5) && (iVar5 = *(int *)(param_1 + 0x34) + -1, iVar5 < 0)) break; (**(code **)(**(longlong **)(*(longlong *)(param_1 + 0x28) + (longlong)iVar5 * 8) + 8))(); } } } LAB_181339357: if ((*(int *)(param_1 + 0x38) != iVar1) || (*(int *)(param_1 + 0x3c) != iVar2)) { *(undefined8 *)(param_1 + 0x38) = uVar3; FUN_1812a77d0(param_1,*(undefined4 *)(param_1 + 0x40)); } return; } ############ FUN_ 1813c10e0 size=719 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813c10e0(longlong *param_1,longlong param_2) { int iVar1; int *piVar2; undefined8 uVar3; undefined8 *puVar4; longlong lVar5; undefined8 extraout_XMM0_Qa; undefined8 *local_res8; undefined8 local_res10; undefined1 local_res18 [8]; undefined1 local_res20 [8]; undefined8 local_148; undefined8 local_140; undefined4 local_138; char local_134; undefined8 local_130; undefined8 local_128; undefined4 local_120; char local_11c; undefined8 local_118; undefined8 uStack_110; undefined8 local_108; undefined8 *apuStack_100 [3]; undefined8 local_e8; undefined1 local_e0 [20]; char local_cc; undefined1 local_c8 [20]; char local_b4; undefined8 local_b0; undefined8 uStack_a8; undefined8 local_a0; undefined8 uStack_98; undefined8 local_90; undefined8 local_88; undefined8 uStack_80; undefined4 local_78; undefined1 local_74; undefined4 local_70; undefined **local_68; undefined1 *local_60; undefined8 *local_58; undefined ***local_30; local_e8 = 0xfffffffffffffffe; FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); *(undefined4 *)(param_1 + 0x82) = 0; if ((*(uint *)(param_2 + 0x10) >> 5 & 1) != 0) { local_res10 = 0; FUN_181342db0(param_1,&local_res10); piVar2 = (int *)(**(code **)(param_1[0x18] + 0x10))(param_1 + 0x18,local_res18); if (*piVar2 == piVar2[1]) { local_130 = 0; local_128 = 0; local_120 = 0; local_11c = '\0'; local_148 = 0; local_140 = 0; local_138 = 0; local_134 = '\0'; uVar3 = FUN_1813c4b30(param_1,local_e0,*(undefined4 *)(param_2 + 8), *(undefined4 *)(param_2 + 0xc)); FUN_1813c7120(extraout_XMM0_Qa,uVar3,&local_130,&local_148); if (local_cc != '\0') { FUN_1813c8030(local_e0,0); } if ((int)local_128 < (int)local_140) { FUN_1813c51c0(param_1,&local_130,0); FUN_1813c51c0(param_1,&local_148,1); } if (local_134 != '\0') { FUN_1813c8030(&local_148,0); } if (local_11c != '\0') { FUN_1813c8030(&local_130,0); } } local_118 = 0; uStack_110 = 0; local_108 = 0; apuStack_100[0] = (undefined8 *)0x0; uVar3 = FUN_18134adf0(param_1); FUN_18051b750(apuStack_100,uVar3); (**(code **)(*param_1 + 0x198))(param_1,&local_118,param_2); local_b0 = 0; uStack_a8 = 0; local_a0 = 0; uStack_98 = 0; local_90 = 0; local_88 = _DAT_1824c47c0; uStack_80 = _UNK_1824c47c8; local_78 = 0; local_74 = 0; local_70 = 1; puVar4 = (undefined8 *)FUN_18133c1f0(local_res20); local_b0 = *puVar4; FUN_1804de690(&local_res8,param_1); puVar4 = local_res8; if (local_res8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; UNLOCK(); } local_68 = std::_Func_impl_no_alloc<,void,int>::vftable ; local_60 = &LAB_1813c13c0; local_58 = local_res8; local_30 = &local_68; uVar3 = FUN_181347bc0(&local_68); if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(puVar4 + 1); iVar1 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar1 == 1) { (**(code **)*local_res8)(local_res8,1); } } FUN_1812f0230(&local_118,&local_b0,uVar3); if (apuStack_100[0] != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(apuStack_100[0] + 1); iVar1 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar1 == 1) { (**(code **)*apuStack_100[0])(apuStack_100[0],1); } } FUN_18051c930(&local_118); return; } lVar5 = FUN_18134b820(); if (*(int *)(*(longlong *)(lVar5 + 0x30) + 0x10) != 100) { FUN_1812a77d0(*(longlong *)(lVar5 + 0x30),100); } uVar3 = FUN_1813c4b30(param_1,local_c8,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc) ); FUN_1813c51c0(param_1,uVar3,*(byte *)(param_2 + 0x10) & 1); if (local_b4 != '\0') { FUN_1813c8030(local_c8,0); } return; } ############ FUN_ 1813c41b0 size=1533 ############ void FUN_1813c41b0(longlong param_1,int param_2) { byte bVar1; char cVar2; uint uVar3; undefined8 *puVar4; byte bVar5; longlong *plVar6; int iVar7; uint uVar8; byte *pbVar9; byte bVar10; uint uVar11; uint *puVar12; longlong lVar13; ulonglong uVar14; longlong *plVar15; ulonglong uVar16; longlong *plVar17; uint uVar18; ulonglong uVar19; ulonglong uVar20; bool bVar21; bool bVar22; byte *local_res8; byte *local_res18; longlong local_res20; longlong *local_f8; int local_f0; undefined8 local_ec; char local_e4; longlong *local_e0; int local_d8; undefined8 local_d4; char local_cc; longlong local_c8; undefined4 local_c0; undefined4 local_bc; undefined4 local_b8; char local_b4; longlong local_b0; undefined4 local_a8; undefined4 local_a4; undefined4 local_a0; char local_9c; longlong local_98; undefined4 local_90; undefined4 local_8c; undefined4 local_88; char local_84; longlong local_80; longlong *local_78; longlong *local_70; longlong *local_68; undefined8 local_60; undefined *local_58; local_60 = 0xfffffffffffffffe; bVar21 = false; if (*(char *)(param_1 + 0xf8) == '\0') { FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); local_68 = (longlong *)(param_1 + 0x120); local_98 = *(longlong *)(param_1 + 0x120); local_90 = *(undefined4 *)(param_1 + 0x128); local_8c = *(undefined4 *)(param_1 + 300); local_88 = *(undefined4 *)(param_1 + 0x130); local_84 = '\0'; plVar15 = (longlong *)(param_1 + 0x138); local_b0 = *plVar15; local_a8 = *(undefined4 *)(param_1 + 0x140); local_a4 = *(undefined4 *)(param_1 + 0x144); local_a0 = *(undefined4 *)(param_1 + 0x148); local_9c = '\0'; plVar17 = (longlong *)(param_1 + 0x108); local_c8 = *plVar17; local_c0 = *(undefined4 *)(param_1 + 0x110); local_bc = *(undefined4 *)(param_1 + 0x114); local_b8 = *(undefined4 *)(param_1 + 0x118); local_b4 = '\0'; local_78 = plVar17; local_70 = plVar15; FUN_1813c8030(&local_98,1); if (local_9c != '\x01') { FUN_1813c8030(&local_b0,1); } if (local_b4 != '\x01') { FUN_1813c8030(&local_c8,1); } uVar19 = (ulonglong)*(int *)(param_1 + 300); iVar7 = *(int *)(param_1 + 0x144); if ((*(int *)(param_1 + 300) < iVar7) && (*(int *)(param_1 + 0x148) == 0)) { iVar7 = iVar7 + -1; } local_80 = (longlong)iVar7; uVar20 = uVar19; if ((longlong)uVar19 <= local_80) { do { uVar18 = (uint)uVar20; if ((uVar18 < *(uint *)((longlong)*(longlong **)(param_1 + 200) + 0xc)) && (puVar4 = *(undefined8 **)(**(longlong **)(param_1 + 200) + uVar19 * 8), puVar4 != (undefined8 *)0x0)) { local_res8 = (byte *)*puVar4; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { local_res8 = &DAT_1821dbf98; } uVar14 = 0; pbVar9 = local_res8; bVar22 = *local_res8 == 0; while (!bVar22) { bVar1 = *pbVar9; if ((bVar1 != 0x20) && (4 < (byte)(bVar1 - 9))) { if ((int)uVar14 < 1) goto LAB_1813c440a; goto LAB_1813c4392; } pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar10 = 0x40; bVar5 = bVar1 & 0x40; while ((bVar5 != 0 && (8 < bVar10))) { pbVar9 = pbVar9 + 1; bVar10 = bVar10 >> 1; bVar5 = bVar1 & bVar10; } } uVar14 = (ulonglong)((int)uVar14 + 1); bVar22 = *pbVar9 == 0; } uVar14 = 0; LAB_1813c440a: pbVar9 = local_res8; if (*local_res8 == 0) { LAB_1813c4454: local_res18 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { while ((bVar1 = *pbVar9, bVar1 == 0x20 || ((byte)(bVar1 - 9) < 5))) { pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar10 = 0x40; bVar5 = bVar1 & 0x40; while ((bVar5 != 0 && (8 < bVar10))) { pbVar9 = pbVar9 + 1; bVar10 = bVar10 >> 1; bVar5 = bVar1 & bVar10; } } } if (pbVar9 == local_res8) goto LAB_1813c4454; FUN_18049c9e0(&local_res18); } bVar21 = true; if (*local_res18 == 0) { bVar22 = false; } else { LAB_1813c4392: bVar22 = true; } if (bVar21) { bVar21 = false; puVar12 = (uint *)(local_res18 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } if (bVar22) { local_f8 = *(longlong **)(param_1 + 200); uVar16 = 0; local_e4 = '\0'; iVar7 = *(int *)((longlong)local_f8 + 0xc); if (iVar7 == 0) { local_ec = 0; local_f0 = 0; } else { if ((int)uVar18 < iVar7) { uVar8 = 0; if (0 < (int)uVar18) { uVar8 = uVar18; } lVar13 = *(longlong *)(*local_f8 + (longlong)(int)uVar8 * 8); uVar3 = *(uint *)(lVar13 + 0x10); uVar11 = 0; if ((0 < (int)uVar3) && (uVar11 = 0, (int)uVar3 < 0)) { uVar11 = uVar3; } } else { uVar8 = iVar7 - 1; lVar13 = *(longlong *)(*local_f8 + (longlong)(int)uVar8 * 8); uVar11 = *(uint *)(lVar13 + 0x10); } local_ec = CONCAT44(uVar11,uVar8); local_f0 = uVar11 + *(int *)(lVar13 + 8); } local_cc = '\0'; iVar7 = *(int *)((longlong)local_f8 + 0xc); if (iVar7 == 0) { local_d4 = 0; local_d8 = 0; uVar14 = uVar16; } else { if ((int)uVar18 < iVar7) { uVar8 = 0; if (0 < (int)uVar18) { uVar8 = uVar18; } lVar13 = *(longlong *)(*local_f8 + (longlong)(int)uVar8 * 8); uVar3 = *(uint *)(lVar13 + 0x10); if ((int)uVar3 < 1) { uVar14 = 0; local_d4 = (ulonglong)uVar8; } else if ((int)uVar14 < 0) { local_d4 = (ulonglong)uVar8; uVar14 = uVar16; } else { if ((int)uVar3 < (int)uVar14) { uVar14 = (ulonglong)uVar3; } local_d4 = CONCAT44((int)uVar14,uVar8); } } else { lVar13 = *(longlong *)(*local_f8 + (longlong)(iVar7 + -1) * 8); local_d4 = CONCAT44(*(uint *)(lVar13 + 0x10),iVar7 + -1); uVar14 = (ulonglong)*(uint *)(lVar13 + 0x10); } local_d8 = *(int *)(lVar13 + 8) + (int)uVar14; } local_e0 = local_f8; iVar7 = FUN_1813c0b30(param_1,uVar20 & 0xffffffff,uVar14); if (0 < param_2 + iVar7) { uVar16 = (ulonglong)(uint)(param_2 + iVar7); } if ((int)uVar16 != iVar7) { FUN_1813c7b70(*(undefined8 *)(param_1 + 200),local_f0,local_d8); if (*(char *)(param_1 + 0xf9) == '\0') { uVar16 = (longlong)(int)uVar16 / (longlong)*(int *)(param_1 + 0xdc) & 0xffffffff; } local_58 = &DAT_1821e4a64; if (*(char *)(param_1 + 0xf9) != '\0') { local_58 = &DAT_1821e4a94; } FUN_181231fc0(&local_res20,local_58,uVar16); FUN_1813c6950(*(undefined8 *)(param_1 + 200),&local_res20,local_f0,1); puVar12 = (uint *)(local_res20 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } if (local_cc != '\0') { FUN_1813c8030(&local_e0,0); } if (local_e4 != '\0') { FUN_1813c8030(&local_f8,0); } } puVar12 = (uint *)(local_res8 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } uVar20 = (ulonglong)(uVar18 + 1); uVar19 = uVar19 + 1; plVar15 = local_70; plVar17 = local_78; } while ((longlong)uVar19 <= local_80); } plVar6 = local_68; if (local_68 != &local_98) { cVar2 = *(char *)((longlong)local_68 + 0x14); if ((*local_68 != local_98) && (cVar2 != '\0')) { FUN_1813c8030(local_68,0); } *plVar6 = local_98; *(undefined4 *)((longlong)plVar6 + 0xc) = local_8c; *(undefined4 *)(plVar6 + 2) = local_88; *(undefined4 *)(plVar6 + 1) = local_90; if (cVar2 != *(char *)((longlong)plVar6 + 0x14)) { FUN_1813c8030(plVar6,cVar2); } } if (plVar15 != &local_b0) { cVar2 = *(char *)((longlong)plVar15 + 0x14); if ((*plVar15 != local_b0) && (cVar2 != '\0')) { FUN_1813c8030(plVar15,0); } *plVar15 = local_b0; *(undefined4 *)((longlong)plVar15 + 0xc) = local_a4; *(undefined4 *)(plVar15 + 2) = local_a0; *(undefined4 *)(plVar15 + 1) = local_a8; if (cVar2 != *(char *)((longlong)plVar15 + 0x14)) { FUN_1813c8030(plVar15,cVar2); } } if (plVar17 != &local_c8) { cVar2 = *(char *)((longlong)plVar17 + 0x14); if ((*plVar17 != local_c8) && (cVar2 != '\0')) { FUN_1813c8030(plVar17,0); } *plVar17 = local_c8; *(undefined4 *)((longlong)plVar17 + 0xc) = local_bc; *(undefined4 *)(plVar17 + 2) = local_b8; *(undefined4 *)(plVar17 + 1) = local_c0; if (cVar2 != *(char *)((longlong)plVar17 + 0x14)) { FUN_1813c8030(plVar17,cVar2); } } if (local_b4 != '\0') { FUN_1813c8030(&local_c8,0); } if (local_9c != '\0') { FUN_1813c8030(&local_b0,0); } if (local_84 != '\0') { FUN_1813c8030(&local_98,0); } } return; } ############ FUN_ 1813c2ab0 size=280 ############ undefined8 FUN_1813c2ab0(longlong param_1,char param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; undefined8 uVar3; int iVar4; int iVar5; undefined1 local_20 [20]; char local_c; if (param_2 == '\0') { plVar1 = (longlong *)(param_1 + 0x138); if ((((*(int *)(param_1 + 0x128) == *(int *)(param_1 + 0x140)) && (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x144))) && (*(int *)(param_1 + 0x130) == *(int *)(param_1 + 0x148))) && (*(longlong *)(param_1 + 0x120) == *plVar1)) { FUN_1813c8260(plVar1,*(undefined4 *)(param_1 + 0x140),param_3,param_4,0xfffffffffffffffe); iVar5 = 1; if (*(int *)(param_1 + 0x144) < *(int *)(*plVar1 + 0xc)) { lVar2 = *(longlong *)(*(longlong *)*plVar1 + (longlong)*(int *)(param_1 + 0x144) * 8); iVar4 = *(int *)(param_1 + 0x148) + 1; if (iVar4 < *(int *)(lVar2 + 0xc)) { iVar5 = 1; if (*(int *)(lVar2 + 0x10) + 1 <= iVar4) { iVar5 = 2; } } } FUN_1813c8260(plVar1,*(int *)(param_1 + 0x140) + iVar5); } else { FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); } } else { FUN_1813c40f0(); uVar3 = FUN_1813c77b0(); FUN_1813c51c0(param_1,uVar3,1); if (local_c != '\0') { FUN_1813c8030(local_20,0); } } FUN_1813c40f0(param_1); return 1; } ############ FUN_ 1813c2ea0 size=263 ############ undefined8 FUN_1813c2ea0(longlong param_1,undefined1 param_2) { int iVar1; longlong lVar2; int iVar3; undefined8 uVar4; longlong *local_20; int local_18; undefined8 local_14; char local_c; uVar4 = 0xfffffffffffffffe; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); iVar1 = *(int *)(param_1 + 0x114); local_20 = *(longlong **)(param_1 + 200); local_c = '\0'; iVar3 = *(int *)((longlong)local_20 + 0xc); if (iVar3 == 0) { local_14 = 0; local_18 = 0; } else if (iVar1 < iVar3) { iVar3 = 0; if (0 < iVar1) { iVar3 = iVar1; } lVar2 = *(longlong *)(*local_20 + (longlong)iVar3 * 8); iVar1 = *(int *)(lVar2 + 0x10); local_18 = 0; if ((0 < iVar1) && (local_18 = 0x7fffffff, iVar1 < 0x7fffffff)) { local_18 = iVar1; } local_14 = CONCAT44(local_18,iVar3); local_18 = local_18 + *(int *)(lVar2 + 8); } else { lVar2 = *(longlong *)(*local_20 + (longlong)(iVar3 + -1) * 8); local_18 = *(int *)(lVar2 + 0x10); local_14 = CONCAT44(local_18,iVar3 + -1); local_18 = local_18 + *(int *)(lVar2 + 8); } FUN_1813c51c0(param_1,&local_20,param_2,local_20,uVar4); if (local_c != '\0') { FUN_1813c8030(&local_20,0); } return 1; } ############ FUN_ 1813c2fb0 size=249 ############ /* WARNING: Removing unreachable block (ram,0x0001813c3043) */ /* WARNING: Removing unreachable block (ram,0x0001813c3066) */ /* WARNING: Removing unreachable block (ram,0x0001813c305f) */ /* WARNING: Removing unreachable block (ram,0x0001813c3061) */ /* WARNING: Removing unreachable block (ram,0x0001813c3064) */ /* WARNING: Removing unreachable block (ram,0x0001813c3069) */ undefined8 FUN_1813c2fb0(longlong param_1,undefined1 param_2) { longlong lVar1; int iVar2; undefined8 uVar3; longlong *local_20; int local_18; undefined8 local_14; char local_c; uVar3 = 0xfffffffffffffffe; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); local_20 = *(longlong **)(param_1 + 200); local_c = '\0'; if (*(int *)((longlong)local_20 + 0xc) == 0) { local_14 = 0; local_18 = 0; } else { iVar2 = *(int *)((longlong)local_20 + 0xc) + -1; lVar1 = *(longlong *)(*local_20 + (longlong)iVar2 * 8); local_18 = *(int *)(lVar1 + 0x10); local_14 = CONCAT44(local_18,iVar2); local_18 = local_18 + *(int *)(lVar1 + 8); } FUN_1813c51c0(param_1,&local_20,param_2,0,uVar3); if (local_c != '\0') { FUN_1813c8030(&local_20,0); } return 1; } ############ FUN_ 1813c32a0 size=225 ############ undefined8 FUN_1813c32a0(longlong param_1,undefined1 param_2) { int iVar1; longlong lVar2; undefined8 uVar3; longlong *local_20; int local_18; int iStack_14; int local_10; char local_c; uVar3 = 0xfffffffffffffffe; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); local_20 = *(longlong **)(param_1 + 200); local_c = '\0'; iStack_14 = *(int *)((longlong)local_20 + 0xc); if (iStack_14 == 0) { iStack_14 = 0; local_10 = 0; local_18 = 0; } else if (iStack_14 < 1) { iStack_14 = iStack_14 + -1; lVar2 = *(longlong *)(*local_20 + (longlong)iStack_14 * 8); local_10 = *(int *)(lVar2 + 0x10); local_18 = local_10 + *(int *)(lVar2 + 8); } else { iStack_14 = 0; iVar1 = *(int *)(*(longlong *)*local_20 + 0x10); local_10 = 0; if ((0 < iVar1) && (iVar1 < 0)) { local_10 = iVar1; } local_18 = local_10 + *(int *)(*(longlong *)*local_20 + 8); } FUN_1813c51c0(param_1,&local_20,param_2,local_20,uVar3); if (local_c != '\0') { FUN_1813c8030(&local_20,0); } return 1; } ############ FUN_ 1813c3390 size=105 ############ undefined8 FUN_1813c3390(longlong param_1) { FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); FUN_1813c4f20(param_1,*(int *)(param_1 + 0xd8) + -1); FUN_1813c4ff0(param_1); if (*(int *)(param_1 + 0xe8) + *(int *)(param_1 + 0xd8) <= *(int *)(param_1 + 0x114)) { FUN_1813c37b0(param_1,0xffffffff); } return 1; } ############ FUN_ 1813c3400 size=99 ############ undefined8 FUN_1813c3400(longlong param_1) { FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); FUN_1813c4f20(param_1,*(int *)(param_1 + 0xd8) + 1); FUN_1813c4ff0(param_1); if (*(int *)(param_1 + 0x114) < *(int *)(param_1 + 0xd8)) { FUN_1813c37b0(param_1,1); } return 1; } ############ FUN_ 1813c3470 size=106 ############ undefined1 FUN_1813c3470(longlong param_1,undefined1 param_2) { FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); FUN_1813c4f20(param_1,*(int *)(param_1 + 0xd8) - *(int *)(param_1 + 0xe8)); FUN_1813c4ff0(param_1); FUN_1813c37b0(param_1,-*(int *)(param_1 + 0xe8),param_2); return 1; } ############ FUN_ 1813c34e0 size=144 ############ undefined8 FUN_1813c34e0(longlong param_1,undefined1 param_2) { int iVar1; int iVar2; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); iVar1 = *(int *)(param_1 + 0xe8); iVar2 = ((*(int *)(*(longlong *)(param_1 + 200) + 0xc) - *(int *)(param_1 + 0xd8)) - iVar1) + 1; if (iVar2 < 0) { iVar2 = 0; } else if (iVar1 < iVar2) { iVar2 = iVar1; } FUN_1813c4f20(param_1,*(int *)(param_1 + 0xd8) + iVar2); FUN_1813c4ff0(param_1); FUN_1813c37b0(param_1,*(undefined4 *)(param_1 + 0xe8),param_2); return 1; } ############ FUN_ 1813c3580 size=245 ############ undefined8 FUN_1813c3580(longlong param_1,undefined1 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; longlong lVar2; undefined8 uVar3; longlong *local_20; int local_18; int iStack_14; int local_10; char local_c; uVar3 = 0xfffffffffffffffe; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); if (*(int *)(param_1 + 0x114) == 0) { local_20 = *(longlong **)(param_1 + 200); local_18 = 0; local_c = '\0'; iStack_14 = *(int *)((longlong)local_20 + 0xc); if (iStack_14 == 0) { iStack_14 = 0; local_10 = 0; } else { if (iStack_14 < 1) { iStack_14 = iStack_14 + -1; lVar2 = *(longlong *)(*local_20 + (longlong)iStack_14 * 8); local_10 = *(int *)(lVar2 + 0x10); } else { iStack_14 = 0; lVar2 = *(longlong *)*local_20; iVar1 = *(int *)(lVar2 + 0x10); local_10 = 0; if ((0 < iVar1) && (local_10 = 0, iVar1 < 0)) { local_10 = iVar1; } } local_18 = local_10 + *(int *)(lVar2 + 8); } FUN_1813c51c0(param_1,&local_20,param_2); if (local_c != '\0') { FUN_1813c8030(&local_20,0); return 1; } } else { FUN_1813c37b0(param_1,0xffffffff,param_2,param_4,uVar3); } return 1; } ############ FUN_ 1813c3680 size=287 ############ /* WARNING: Removing unreachable block (ram,0x0001813c371c) */ /* WARNING: Removing unreachable block (ram,0x0001813c373f) */ /* WARNING: Removing unreachable block (ram,0x0001813c3738) */ /* WARNING: Removing unreachable block (ram,0x0001813c373a) */ /* WARNING: Removing unreachable block (ram,0x0001813c373d) */ undefined8 FUN_1813c3680(longlong param_1,undefined1 param_2) { longlong lVar1; int iVar2; undefined8 uVar3; longlong *local_20; int local_18; undefined8 local_14; char local_c; uVar3 = 0xfffffffffffffffe; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); local_20 = *(longlong **)(param_1 + 200); if (*(int *)(param_1 + 0x114) == *(int *)((longlong)local_20 + 0xc) + -1) { local_c = '\0'; if (*(int *)((longlong)local_20 + 0xc) == 0) { local_14 = 0; local_18 = 0; } else { iVar2 = *(int *)((longlong)local_20 + 0xc) + -1; lVar1 = *(longlong *)(*local_20 + (longlong)iVar2 * 8); local_18 = *(int *)(lVar1 + 0x10); local_14 = CONCAT44(local_18,iVar2); local_18 = local_18 + *(int *)(lVar1 + 8); } FUN_1813c51c0(param_1,&local_20,param_2,0,uVar3); if (local_c != '\0') { FUN_1813c8030(&local_20,0); return 1; } } else { FUN_1813c37b0(param_1,1,param_2); } return 1; } ############ FUN_ 1813c3e80 size=245 ############ undefined8 FUN_1813c3e80(longlong *param_1) { uint uVar1; uint *_Memory; char *local_res8 [4]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); FUN_1812c5ee0(local_res8); if ((*local_res8[0] != '\0') && ((char)param_1[0x1f] == '\0')) { FUN_1813c7b70(param_1[0x19],(int)param_1[0x25],(int)param_1[0x28]); if (*local_res8[0] != '\0') { FUN_1813c6950(param_1[0x19],local_res8,(int)param_1[0x22],1,uVar2); } FUN_1813c4cd0(param_1); (**(code **)(*param_1 + 400))(param_1); } FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); _Memory = (uint *)(local_res8[0] + -0x10); uVar1 = *_Memory; if ((uVar1 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); uVar1 = uVar1 - 1; if (uVar1 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(_Memory); } } return CONCAT71((uint7)(uint3)(uVar1 >> 8),1); } ############ FUN_ 1813c3f80 size=63 ############ undefined8 FUN_1813c3f80(longlong *param_1) { (**(code **)(*param_1 + 0x158))(); FUN_1813c40f0(param_1); FUN_1813c7aa0(param_1[0x19]); FUN_1812a77d0(param_1[0x80],600); return 1; } ############ FUN_ 1813c3fd0 size=278 ############ undefined8 FUN_1813c3fd0(longlong param_1) { int *_Memory; int iVar1; BOOL BVar2; uint uVar3; longlong lVar4; HGLOBAL hMem; LPVOID pvVar5; char *local_res8; FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); FUN_1813c7d80(*(undefined8 *)(param_1 + 200),&local_res8,param_1 + 0x120,param_1 + 0x138); if ((*local_res8 != '\0') && (BVar2 = OpenClipboard((HWND)0x0), BVar2 != 0)) { BVar2 = EmptyClipboard(); if (BVar2 != 0) { lVar4 = FUN_18049d580(local_res8); if (((lVar4 + 4 != 0) && (hMem = GlobalAlloc(0x2042,lVar4 + 6), hMem != (HGLOBAL)0x0)) && (pvVar5 = GlobalLock(hMem), pvVar5 != (LPVOID)0x0)) { FUN_18122f5a0(&local_res8,pvVar5,lVar4 + 4); GlobalUnlock(hMem); SetClipboardData(0xd,hMem); } } CloseClipboard(); } uVar3 = *(uint *)(local_res8 + -0x10); _Memory = (int *)(local_res8 + -0x10); if ((uVar3 & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); uVar3 = iVar1 - 1; if (uVar3 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(_Memory); } } return CONCAT71((uint7)(uint3)(uVar3 >> 8),1); } ############ FUN_ 1814b2d30 size=194 ############ void FUN_1814b2d30(longlong param_1,longlong *param_2) { uint uVar1; uint *puVar2; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x28)); puVar2 = (uint *)(*param_2 + -0x10); if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } LOCK(); *(undefined1 *)(param_1 + 0xca) = 1; UNLOCK(); *(undefined4 *)(param_1 + 0xf8) = 1; FUN_1812a77d0(param_1 + 0x10,0); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x28)); puVar2 = (uint *)(*param_2 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 1814b2e50 size=300 ############ void FUN_1814b2e50(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; bool bVar2; undefined8 uVar3; undefined **local_30; longlong local_28; uVar3 = 0xfffffffffffffffe; bVar2 = false; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x20)); if (param_2 == *(longlong *)(param_1 + 0xd8)) { if (*(int *)(param_1 + 0xf0) == 2) { bVar2 = **(char **)(param_1 + 0x78) != '\0'; } else if (*(int *)(param_1 + 0xf0) == 1) { LOCK(); *(undefined1 *)(param_1 + 0xc0) = 0; UNLOCK(); FUN_1812a77d0(param_1 + 8,0); } } else if (param_2 == *(longlong *)(param_1 + 0xe0)) { (**(code **)(**(longlong **)(param_1 + 0xe8) + 0x168))(); } else if ((param_2 == *(longlong *)(*(longlong *)(param_1 + 0x60) + 0x108)) && (*(int *)(param_1 + 0xf0) == 2)) { local_30 = &PTR_vftable_18262b560; local_28 = *(longlong *)(param_1 + 0x68); if ((*(uint *)(local_28 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_28 + -0x10) = *(int *)(local_28 + -0x10) + 1; UNLOCK(); } (**(code **)(*(longlong *)(param_1 + 0xf8) + 0x28)) ((longlong *)(param_1 + 0xf8),&local_30,param_3,param_4,uVar3); plVar1 = *(longlong **)(param_1 + 0x60); *(undefined1 *)(plVar1 + 0x23) = 0; *(undefined1 *)(plVar1[0x22] + 0x10) = 0; (**(code **)(*plVar1 + 0x108))(); } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x20)); if (bVar2) { FUN_181212f00(param_1 + 0x78); } return; } ############ FUN_ 1814c7f40 size=241 ############ void FUN_1814c7f40(longlong param_1,longlong param_2) { longlong lVar1; longlong lVar2; longlong lVar3; lVar3 = 0; lVar2 = lVar3; if (0 < *(int *)(param_1 + 0x2c)) { lVar2 = *(longlong *) (*(longlong *)(param_1 + 0x20) + (longlong)(*(int *)(param_1 + 0x2c) + -1) * 8); } lVar1 = *(longlong *)(param_1 + 0x10); if (((lVar1 != lVar2) && (*(char *)(param_2 + 0x8c) != '\0')) && (lVar2 = (*(longlong *)(param_2 + 0x78) - *(longlong *)(param_2 + 0x70)) / 0x60, lVar2 != 0)) { FUN_1814c7ed0(param_1 + -200,CONCAT71((int7)((ulonglong)lVar2 >> 8),1)); return; } if ((ulonglong)((*(longlong *)(lVar1 + 0x78) - *(longlong *)(lVar1 + 0x70)) / 0x60) <= (ulonglong)(longlong)*(int *)(lVar1 + 0x88)) { if (0 < *(int *)(param_1 + 0x2c)) { lVar3 = *(longlong *) (*(longlong *)(param_1 + 0x20) + (longlong)(*(int *)(param_1 + 0x2c) + -1) * 8); } if (lVar1 == lVar3) { if (*(longlong **)(param_1 + 0xce8) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(**(longlong **)(param_1 + 0xce8) + 0x10))(); } } FUN_1812a77d0(*(longlong *)(param_1 + 0x30) + 0x1e0,0x10); FUN_1814c7ab0(param_1 + -200); return; } ############ FUN_ 1814cf120 size=138 ############ void FUN_1814cf120(longlong *param_1) { DWORD DVar1; ulonglong uVar2; FUN_1812a77d0(param_1 + 0x19,0x10); DVar1 = timeGetTime(); uVar2 = (ulonglong)DAT_1826737fc; if (DVar1 < DAT_1826737fc) { uVar2 = (ulonglong)(DAT_1826737fc - 1000); if (DVar1 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar1; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar1; } *(DWORD *)(param_1 + 0x54) = DVar1; (**(code **)(*param_1 + 0x58))(param_1,CONCAT71((int7)(uVar2 >> 8),1)); if (param_1[0x52] != 0) { FUN_181411d60(param_1 + 0x1c,&DAT_182280e54,0); return; } return; } ############ FUN_ 1814ebf50 size=181 ############ undefined8 * FUN_1814ebf50(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) { longlong *plVar1; undefined8 uVar2; param_1[1] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 2) = 0; *param_1 = PulsatingToggleButton::PulseAnimationController::vftable; param_1[0xb] = 0; plVar1 = (longlong *)param_3[7]; if (plVar1 != (longlong *)0x0) { if (plVar1 == param_3) { uVar2 = (**(code **)(*plVar1 + 8))(plVar1,param_1 + 4,param_3,param_4,0xfffffffffffffffe); param_1[0xb] = uVar2; plVar1 = (longlong *)param_3[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_3); param_3[7] = 0; } } else { param_1[0xb] = plVar1; param_3[7] = 0; } } param_1[3] = param_2; FUN_1812a77d0(param_1,100); return param_1; } ############ FUN_ 1815a4960 size=375 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1815a4960(longlong param_1,longlong param_2,float *param_3) { uint uVar1; char cVar2; undefined8 uVar3; longlong *plVar4; float fVar5; undefined4 uVar6; float fVar7; double dVar8; float fVar9; uVar1 = DAT_1824c4f30; if ((*(uint *)(param_2 + 0x10) >> 1 & 1) == 0) { plVar4 = *(longlong **)(param_1 + 0x338); } else { plVar4 = *(longlong **)(param_1 + 0x340); } if (plVar4 != (longlong *)0x0) { fVar9 = param_3[1]; dVar8 = (double)*param_3; if ((float)(double)CONCAT44((uint)((ulonglong)(double)fVar9 >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)fVar9,0) & (uint)DAT_1824c4f10) <= (float)(double)CONCAT44((uint)((ulonglong)dVar8 >> 0x20) & DAT_1824c4f10._4_4_, SUB84(dVar8,0) & (uint)DAT_1824c4f10)) { fVar9 = (float)((uint)*param_3 ^ DAT_1824c4f30); } if (*(char *)(param_3 + 2) != '\0') { fVar9 = fVar9 * DAT_1824c4680; } if ((*(byte *)(param_2 + 0x10) & 1) != 0) { fVar9 = fVar9 * DAT_1824c3d18; } fVar9 = fVar9 * _DAT_1824c3d6c; cVar2 = FUN_1815a6c40(); if (cVar2 != '\0') { fVar9 = (float)((uint)fVar9 ^ uVar1); } fVar5 = (float)(**(code **)(*plVar4 + 8))(plVar4); fVar5 = fVar5 + fVar9; uVar3 = (**(code **)(*plVar4 + 0x88))(plVar4); fVar9 = 0.0; if ((0.0 <= fVar5) && (fVar9 = DAT_1824c3ea4, fVar5 <= DAT_1824c3ea4)) { fVar9 = fVar5; } uVar6 = FUN_1804db050(uVar3,fVar9); fVar7 = (float)FUN_180487220(uVar3,uVar6); fVar9 = *(float *)(plVar4 + 0x16); fVar5 = *(float *)((longlong)plVar4 + 0xb4); if (*(float *)((longlong)plVar4 + 0xb4) <= fVar9) { fVar5 = fVar9; } if ((fVar9 <= fVar7) && (fVar9 = fVar5, fVar7 <= fVar5)) { fVar9 = fVar7; } if ((*(char *)(param_1 + 0x3d4) == '\0') && (*(undefined1 *)(param_1 + 0x3d4) = 1, ((byte)DAT_182673aec & 0x70) == 0)) { FUN_1811c2330(plVar4); } FUN_1811bf680(plVar4,fVar9,1); FUN_1812a77d0(param_1 + 200,0x15e); } return; } ############ FUN_ 1815aa720 size=214 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1815aa720(longlong *param_1,undefined8 *param_2,longlong param_3) { undefined4 uVar1; float fVar2; if (param_1[0x1c] != 0) { if ((*(char *)(param_1[0x1c] + 0x264) == '\0') && (FUN_1812a7720(param_1 + 0x19), param_1[0x1c] != 0)) { FUN_1811c2330(); uVar1 = (**(code **)(*(longlong *)param_1[0x1c] + 8))(); *(undefined4 *)(param_1 + 0x1d) = uVar1; *(undefined8 *)((longlong)param_1 + 0xec) = *param_2; *(undefined4 *)((longlong)param_1 + 0xf4) = 0; } FUN_1812a77d0(param_1 + 0x19,500); fVar2 = DAT_1824c3ea4; if (*(char *)(param_3 + 8) != '\0') { fVar2 = DAT_1824c4680; } (**(code **)(*param_1 + 0x168)) (param_1,fVar2 * *(float *)(param_3 + 4) * _DAT_1824c3c88,*(byte *)(param_2 + 2) & 1); } return; } ############ FUN_ 181336b10 size=84 ############ void FUN_181336b10(longlong param_1) { char cVar1; if ((*(byte *)(param_1 + 0xa9) & 0x10) != 0) { return; } if ((*(longlong *)(param_1 + 0x18) != 0) && (cVar1 = FUN_18133eaa0(), cVar1 == '\0')) { return; } *(undefined1 *)(param_1 + 0x1c2) = 1; FUN_181336cf0(param_1,2); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x170),100); return; } ############ FUN_ 1805043b0 size=169 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1805043b0(longlong param_1) { char cVar1; LARGE_INTEGER local_res8 [4]; if (*(char *)(param_1 + 0x233) != '\0') { QueryPerformanceCounter(local_res8); if ((DAT_1824c4310 < (double)(local_res8[0].QuadPart + DAT_182673a10) * _DAT_182673a18 - *(double *)(param_1 + 0x240)) && (3 < *(int *)(param_1 + 0x20) - 9U)) { cVar1 = FUN_18133e590(*(undefined8 *)(param_1 + 0x18), CONCAT71((int7)((ulonglong)(local_res8[0].QuadPart + DAT_182673a10) >> 8 ),1)); if (cVar1 != '\0') { if (*(longlong *)(param_1 + 0x268) == 0) { FUN_180504460(param_1); } if ((*(longlong *)(param_1 + 0x268) != 0) && (*(int *)(param_1 + 0x23c) != -1)) { FUN_1812a77d0(*(longlong *)(param_1 + 0x268) + 0xe8); return; } } } } return; } ############ FUN_ 181411d60 size=212 ############ void FUN_181411d60(longlong param_1,undefined8 param_2,undefined4 param_3) { uint uVar1; longlong *plVar2; uint *_Memory; longlong local_res8; FUN_181406a70(); FUN_18049c9e0(&local_res8,param_2); plVar2 = (longlong *)FUN_1805714d0(param_1 + 0x178,&local_res8); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180571590(*plVar2,param_3); (**(code **)(**(longlong **)(*plVar2 + 0x10) + 0x10))(); if (*(int *)(param_1 + 0x10) < 1) { if (0 < (int)*(float *)(param_1 + 400)) { FUN_1812a77d0(param_1,1000 / (longlong)(int)*(float *)(param_1 + 400) & 0xffffffff); return; } FUN_1812a7720(param_1); } return; } ############ FUN_ 1812b5030 size=88 ############ void FUN_1812b5030(longlong param_1) { char cVar1; int iVar2; cVar1 = FUN_1812b5090(); if (cVar1 != '\0') { FUN_1812a77d0(param_1,0x14); return; } iVar2 = *(int *)(param_1 + 0x10) + 0x14; if (iVar2 < 0x32) { FUN_1812a77d0(param_1,0x32); return; } if (500 < iVar2) { iVar2 = 500; } FUN_1812a77d0(param_1,iVar2); return; } ############ FUN_ 18131d810 size=290 ############ void FUN_18131d810(longlong param_1,longlong param_2) { double dVar1; int iVar2; longlong *plVar3; double dVar4; undefined1 local_18 [16]; *(undefined1 *)(param_1 + 0x12d) = 0; if (*(char *)(param_1 + 300) == '\0') { iVar2 = *(int *)(param_2 + 8); } else { iVar2 = *(int *)(param_2 + 0xc); } *(undefined8 *)(param_1 + 0x100) = *(undefined8 *)(param_1 + 0xe8); *(int *)(param_1 + 0x11c) = iVar2; *(int *)(param_1 + 0x118) = iVar2; if (iVar2 < *(int *)(param_1 + 0x110)) { dVar4 = (*(double *)(param_1 + 0xf0) - *(double *)(param_1 + 0xe8)) * DAT_1824c46a0; } else { if (iVar2 < *(int *)(param_1 + 0x110) + *(int *)(param_1 + 0x114)) { plVar3 = (longlong *)FUN_18134adf0(param_1); if (*(code **)(*plVar3 + 0x28) == FUN_181311b00) { iVar2 = *(int *)(param_1 + 0x28); if (*(int *)(param_1 + 0x2c) < *(int *)(param_1 + 0x28)) { iVar2 = *(int *)(param_1 + 0x2c); } iVar2 = iVar2 * 2; } else { iVar2 = (**(code **)(*plVar3 + 0x28))(plVar3,param_1); } if ((iVar2 < *(int *)(param_1 + 0x10c)) && (*(int *)(param_1 + 0x114) < *(int *)(param_1 + 0x10c))) { *(undefined1 *)(param_1 + 0x12d) = 1; return; } *(undefined1 *)(param_1 + 0x12d) = 0; return; } dVar4 = *(double *)(param_1 + 0xf0) - *(double *)(param_1 + 0xe8); } dVar1 = dVar4 + *(double *)(param_1 + 0xe8); dVar4 = dVar4 + *(double *)(param_1 + 0xf0); if (dVar4 <= dVar1) { dVar4 = dVar1; } local_18._8_4_ = SUB84(dVar4,0); local_18._0_8_ = dVar1; local_18._12_4_ = (int)((ulonglong)dVar4 >> 0x20); FUN_18131e660(param_1,local_18); FUN_1812a77d0(param_1 + 0xc0,400); return; } ############ FUN_ 18134ee60 size=117 ############ void FUN_18134ee60(longlong param_1) { int *piVar1; int iVar2; char cVar3; bool bVar4; if (*(char *)(param_1 + 0x98) != '\0') { piVar1 = (int *)(*(longlong *)(param_1 + 0x78) + 0x18); LOCK(); bVar4 = *piVar1 == 0; if (bVar4) { *piVar1 = 1; } UNLOCK(); if ((bVar4) && (cVar3 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x78)), cVar3 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x78) + 0x18) = 0; UNLOCK(); } } iVar2 = *(int *)(param_1 + 0xe4); *(undefined1 *)(param_1 + 0xf9) = 1; if (iVar2 < 1) { if (iVar2 != 0) { return; } FUN_181351cf0(param_1); return; } FUN_1812a77d0(param_1 + 0xa0,iVar2); return; } ############ FUN_ 1813c2320 size=43 ############ void FUN_1813c2320(longlong param_1) { FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); return; } ############ FUN_ 1813c27d0 size=43 ############ void FUN_1813c27d0(longlong param_1) { FUN_1813c7aa0(*(undefined8 *)(param_1 + 200)); FUN_1812a77d0(*(undefined8 *)(param_1 + 0x400),600); return; } ############ FUN_ 180514c00 size=3473 ############ ulonglong FUN_180514c00(longlong *param_1,HWND param_2,uint param_3,HMENU param_4, undefined8 *param_5) { char *pcVar1; undefined1 auVar2 [16]; longlong lVar3; bool bVar4; char cVar5; UINT UVar6; uint uVar7; DWORD DVar8; longlong lVar9; longlong lVar10; ulonglong uVar11; longlong *plVar12; longlong *plVar13; HIMC pHVar14; undefined8 *puVar15; int *piVar16; HWND pHVar17; HWND pHVar18; uint uVar19; uint *puVar20; undefined4 uVar21; undefined8 uVar22; int local_128; int iStack_124; int local_120; int iStack_11c; HWND local_118; void *local_110; ulonglong local_108; undefined8 local_100; undefined1 *local_f8; undefined1 *local_f0; undefined4 local_e8; undefined4 local_e4; undefined8 local_e0; int local_d8; undefined4 local_d4; uint local_d0; uint local_cc; uint local_c8; undefined4 local_c4; uint local_c0; undefined4 local_bc; undefined8 local_b8; undefined8 local_b0; undefined1 local_a8 [8]; undefined1 local_a0 [8]; undefined1 local_98 [8]; undefined1 local_90 [8]; undefined1 local_88 [8]; char *local_80; undefined1 local_78; undefined8 local_68; undefined8 uStack_60; local_b0 = 0xfffffffffffffffe; local_118 = param_2; if (0x100 < param_3) { uVar19 = (uint)((ulonglong)param_5 >> 0x10); if (param_3 < 0x201) { if (param_3 == 0x200) { puVar15 = (undefined8 *)FUN_180514a70(param_1,local_a8,param_5); FUN_180511dd0(param_1,*puVar15,0); return 0; } uVar7 = (uint)param_4; switch(param_3) { case 0x101: case 0x105: cVar5 = FUN_1805131b0(param_1,param_4); if (cVar5 != '\0') { return 0; } goto LAB_180514f79; case 0x102: FUN_18050fa30(); uVar19 = uVar19 & 0xff; local_d0 = uVar7; if (uVar7 - 0x30 < 10) { switch(uVar19) { case 0x47: case 0x48: case 0x49: case 0x4b: case 0x4c: case 0x4d: case 0x4f: case 0x50: case 0x51: case 0x52: local_d0 = uVar7 + 0x10030; } } else { UVar6 = MapVirtualKeyW(uVar19,1); UVar6 = MapVirtualKeyW(UVar6,2); if ((UVar6 & 0xffff) != 0) { local_d0 = UVar6 & 0xffff; } if ((uVar7 < 0x20) && ((DAT_182673aec & 6) != 0)) { uVar7 = 0; } } local_cc = DAT_182673aec & 0xffffff8f; local_c8 = uVar7; cVar5 = FUN_1812d2340(param_1,&local_d0); if (cVar5 != '\0') { return 0; } FUN_180513690(param_1,param_3,param_4,param_5); param_2 = local_118; break; case 0x104: goto switchD_180514f3e_caseD_104; case 0x10d: local_100 = 0xffffffffffffffff; param_1[0x29] = -1; *(undefined1 *)(param_1 + 0x2a) = 0; plVar12 = (longlong *)FUN_1812d2070(param_1); if (plVar12 == (longlong *)0x0) { return 0; } local_f8 = &DAT_1821dbf98; (**(code **)(*plVar12 + 0x30))(plVar12,&local_f8); puVar20 = (uint *)(local_f8 + -0x10); if ((*puVar20 & 0x30000000) != 0) { return 0; } LOCK(); uVar19 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar19 != 0) { return 0; } /* WARNING: Subroutine does not return */ free(puVar20); case 0x10e: plVar12 = param_1 + 0x29; if ((char)param_1[0x2a] != '\0') { plVar13 = (longlong *)FUN_1812d2070(param_1); pHVar18 = local_118; if (plVar13 != (longlong *)0x0) { (**(code **)(*plVar13 + 0x18))(plVar13,plVar12); local_f0 = &DAT_1821dbf98; (**(code **)(*plVar13 + 0x30))(plVar13,&local_f0); puVar20 = (uint *)(local_f0 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar19 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar19 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } local_e8 = (undefined4)*plVar12; *(undefined4 *)((longlong)param_1 + 0x14c) = local_e8; local_e4 = local_e8; (**(code **)(*plVar13 + 0x18))(plVar13,&local_e8); local_110 = (void *)0x0; local_108 = 0; (**(code **)(*plVar13 + 0x20))(plVar13,&local_110); local_108 = local_108 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_110); } pHVar14 = ImmGetContext(local_118); if (pHVar14 != (HIMC)0x0) { ImmNotifyIME(pHVar14,0x11,0,0); ImmReleaseContext(pHVar18,pHVar14); } } local_e0 = 0xffffffffffffffff; *plVar12 = -1; *(undefined1 *)(param_1 + 0x2a) = 0; param_2 = local_118; break; case 0x10f: FUN_180515d90(param_1 + 0x29,param_1,param_2,param_5); return 0; case 0x112: uVar7 = uVar7 & 0xfff0; if (uVar7 == 0xf020) { cVar5 = FUN_180515c40(param_1); if (cVar5 != '\0') { return 0; } if ((*(uint *)(param_1 + 2) >> 3 & 1) == 0) { (**(code **)(*param_1 + 0x60))(param_1,1); return 0; } } else { if (uVar7 == 0xf030) { cVar5 = FUN_180515c40(param_1); if (cVar5 != '\0') { return 0; } (**(code **)(*param_1 + 0x70))(param_1,1); return 0; } if (uVar7 == 0xf060) { cVar5 = FUN_180515c40(param_1); if (cVar5 != '\0') { return 0; } if ((*(uint *)(param_1 + 2) >> 3 & 1) != 0) { PostMessageW(param_2,0x10,0,0); return 0; } } else if (uVar7 == 0xf100) { if ((longlong)((ulonglong)param_5 & 0xffffffffffff0000) < 1) { return 0; } if (((*(uint *)(param_1 + 2) >> 3 & 1) != 0) && (pHVar18 = GetCapture(), param_2 == pHVar18)) { ReleaseCapture(); } } else if (uVar7 == 0xf120) { cVar5 = FUN_180515c40(param_1); if (cVar5 != '\0') { return 0; } if ((*(uint *)(param_1 + 2) >> 3 & 1) == 0) { cVar5 = (**(code **)(*param_1 + 0x68))(param_1); if (cVar5 != '\0') { (**(code **)(*param_1 + 0x60))(param_1,0); return 0; } cVar5 = (**(code **)(*param_1 + 0x78))(param_1); if (cVar5 == '\0') { return 0; } (**(code **)(*param_1 + 0x70))(param_1,0); return 0; } cVar5 = (**(code **)(*param_1 + 0x78))(); if (cVar5 != '\0') { (**(code **)(*param_1 + 0x70))(param_1,0); return 0; } } } break; case 0x116: if ((*(uint *)(param_1 + 2) >> 3 & 1) == 0) { if ((undefined **)*param_1 == juce::HWNDComponentPeer::vftable) { cVar5 = (char)param_1[0x16]; } else { cVar5 = (*(code *)((undefined **)*param_1)[0xf])(param_1); } if (cVar5 == '\0') { cVar5 = (**(code **)(*param_1 + 0x68))(param_1); if (cVar5 == '\0') { EnableMenuItem(param_4,0xf030,1); } } else { EnableMenuItem(param_4,0xf120,0); EnableMenuItem(param_4,0xf010,1); } } break; case 0x119: cVar5 = FUN_1805123f0(param_1,param_5); goto LAB_18051548e; case 0x120: return 0x10000; } goto switchD_180514c7c_caseD_9; } if (0x319 < param_3) goto switchD_180514c7c_caseD_9; if (param_3 == 0x319) { uVar19 = uVar19 & 0xfff; if (uVar19 == 0xb) { uVar21 = 0x30002; } else if (uVar19 == 0xc) { uVar21 = 0x30003; } else if (uVar19 == 0xd) { uVar21 = 0x30001; } else { if (uVar19 != 0xe) goto switchD_180514c7c_caseD_9; uVar21 = 0x30000; } FUN_18050fa30(); pHVar18 = GetActiveWindow(); if ((HWND)param_1[0x11] == pHVar18) { local_c0 = DAT_182673aec & 0xffffff8f; local_bc = 0; local_c4 = uVar21; FUN_1812d2340(param_1,&local_c4); return 1; } goto switchD_180514c7c_caseD_9; } switch(param_3) { case 0x201: case 0x204: case 0x207: piVar16 = (int *)FUN_180514a70(param_1,local_98,param_5); local_128 = *piVar16; iStack_124 = piVar16[1]; if ((DAT_182678ed0 != 0) && (uVar11 = GetMessageExtraInfo(), (uVar11 & 0xffffff80) == 0xff515780)) { return 0; } cVar5 = FUN_180511d50(); if (cVar5 != '\0') { return 0; } pHVar18 = (HWND)param_1[0x11]; pHVar17 = GetCapture(); if (pHVar17 != pHVar18) { SetCapture(pHVar18); } uVar22 = CONCAT44(iStack_124,local_128); FUN_180511dd0(param_1,uVar22,1); cVar5 = FUN_1812d2b50(param_1); if (cVar5 == '\0') { return 0; } uVar19 = 0; if (((ulonglong)param_4 & 1) != 0) { uVar19 = 0x10; } if (((ulonglong)param_4 & 2) != 0) { uVar19 = uVar19 | 0x20; } if (((ulonglong)param_4 & 0x10) != 0) { uVar19 = uVar19 | 0x40; } DAT_182673aec = DAT_182673aec & 0xffffff8f | uVar19; FUN_18050fa30(); if ((longlong *)param_1[0x22] != (longlong *)0x0) { uVar19 = (**(code **)(*(longlong *)param_1[0x22] + 8))(); DAT_182673aec = DAT_182673aec | uVar19; } *(undefined1 *)((longlong)param_1 + 0xb1) = 1; FUN_180511ba0(param_1,uVar22,0,0,DAT_182673aec); return 0; case 0x202: case 0x205: case 0x208: puVar15 = (undefined8 *)FUN_180514a70(param_1,local_90,param_5); FUN_180512090(param_1,*puVar15,param_4); return 0; case 0x20a: case 0x24e: FUN_180512270(param_1,param_4,1); return 0; case 0x20e: case 0x24f: FUN_180512270(param_1,param_4,0); return 0; case 0x214: uVar11 = FUN_180513850(param_1,param_5,param_4); return uVar11; case 0x215: if (*(char *)((longlong)param_1 + 0xb4) != '\0') { if ((longlong *)param_1[5] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[5] + 0x18))(); } *(undefined1 *)((longlong)param_1 + 0xb4) = 0; } if (*(char *)((longlong)param_1 + 0xb1) == '\0') { return 0; } DVar8 = GetMessagePos(); local_120 = (int)(short)DVar8; iStack_11c = (int)(short)(DVar8 >> 0x10); piVar16 = (int *)FUN_1812c70b0(local_88,&local_120,param_1[0x11]); (**(code **)(*param_1 + 0x58))(param_1,&local_d8,CONCAT44((float)piVar16[1],(float)*piVar16)); local_120 = local_d8; iStack_11c = local_d4; if ((DAT_182678ed0 != 0) && (uVar11 = GetMessageExtraInfo(), (uVar11 & 0xffffff80) == 0xff515780)) { return 0; } cVar5 = FUN_180511d50(); if (cVar5 != '\0') { return 0; } DAT_182673aec = DAT_182673aec & 0xffffff8f; FUN_18050fa30(); if ((longlong *)param_1[0x22] != (longlong *)0x0) { uVar19 = (**(code **)(*(longlong *)param_1[0x22] + 8))(); DAT_182673aec = DAT_182673aec | uVar19; } cVar5 = *(char *)((longlong)param_1 + 0xb1); *(undefined1 *)((longlong)param_1 + 0xb1) = 0; pHVar18 = GetCapture(); if ((HWND)param_1[0x11] == pHVar18) { ReleaseCapture(); } if (cVar5 == '\0') { return 0; } FUN_180511ba0(param_1,CONCAT44(iStack_11c,local_120),0,0,DAT_182673aec); return 0; case 0x218: if (DAT_1826736f8 != (longlong *)0x0) { if (param_4 != (HMENU)0x2) { if (param_4 == (HMENU)0x4) { (**(code **)(*DAT_1826736f8 + 0x40))(); break; } if (((undefined1 *)0x1 < (undefined1 *)((longlong)¶m_4[-2].unused + 2U)) && (param_4 != (HMENU)0x12)) break; } (**(code **)(*DAT_1826736f8 + 0x48))(); } break; case 0x240: if (DAT_182678ef8 != 0) { uVar11 = FUN_180512600(param_1,(ulonglong)param_4 & 0xffffffff,param_5); return uVar11; } break; case 0x241: goto switchD_180514c7c_caseD_a0; case 0x242: goto switchD_180514c7c_caseD_a1; case 0x245: uVar21 = 0; goto LAB_18051547d; case 0x246: uVar21 = 0; uVar22 = 1; goto LAB_180515480; case 0x247: uVar21 = 1; LAB_18051547d: uVar22 = 0; LAB_180515480: cVar5 = FUN_180512b30(param_1,param_4,param_5,uVar22,uVar21); LAB_18051548e: if (cVar5 != '\0') { return 0; } break; case 0x24a: case 0x2a3: *(undefined1 *)((longlong)param_1 + 0xb2) = 0; cVar5 = FUN_180511d50(); if (cVar5 != '\0') { return 0; } DVar8 = GetMessagePos(); local_128 = (int)(short)DVar8; iStack_124 = (int)(short)(DVar8 >> 0x10); piVar16 = (int *)FUN_1812c70b0(local_a0,&local_128,param_1[0x11]); (**(code **)(*param_1 + 0x58))(param_1,&local_b8,CONCAT44((float)piVar16[1],(float)*piVar16)); FUN_180511ba0(param_1,local_b8,0,0,DAT_182673aec); return 0; case 0x24b: goto switchD_180514c7c_caseD_21; case 0x281: FUN_180515d30(param_1 + 0x29,param_2,param_4 == (HMENU)0x1); param_5 = (undefined8 *)(ulonglong)((uint)param_5 & 0x7fffffff); break; case 0x2e0: local_68 = *param_5; uStack_60 = param_5[1]; uVar11 = FUN_180514050(param_1,(ulonglong)param_4 >> 0x10 & 0xffff,&local_68); return uVar11; } goto switchD_180514c7c_caseD_9; } if (param_3 == 0x100) { switchD_180514f3e_caseD_104: cVar5 = FUN_180513360(param_1,param_4); if (cVar5 != '\0') { return 0; } LAB_180514f79: FUN_180513690(param_1,param_3,param_4,param_5); goto switchD_180514c7c_caseD_9; } switch(param_3) { case 6: if ((ushort)((short)param_4 - 1U) < 2) { FUN_180514460(param_1,param_4); return 0; } break; case 7: FUN_18050fa30(); FUN_1812d1af0(param_1); break; case 8: if (*(char *)((longlong)param_1 + 0xb3) != '\0') { *(undefined1 *)((longlong)param_1 + 0xb3) = 0; DestroyCaret(); } FUN_1812d19b0(param_1); break; case 0xf: FUN_1805113b0(param_1); return 0; case 0x10: cVar5 = FUN_181343030(param_1[1]); if (cVar5 != '\0') { return 0; } (**(code **)(*(longlong *)param_1[1] + 0x70))(); return 0; case 0x11: if (DAT_1826736f8 == (longlong *)0x0) { return 1; } (**(code **)(*DAT_1826736f8 + 0x38))(); lVar9 = FUN_1812a7550(); return (ulonglong)(*(int *)(lVar9 + 8) != 0); case 0x14: case 0x83: uVar19 = *(uint *)(param_1 + 2); goto LAB_180514cc0; case 0x18: if (param_4 != (HMENU)0x0) { (**(code **)(*(longlong *)param_1[1] + 0x58))((longlong *)param_1[1],1); FUN_18133f490(param_1[1]); } break; case 0x1a: goto switchD_180514c7c_caseD_1a; case 0x1c: if (param_4 == (HMENU)0x0) { lVar9 = FUN_18134b820(); pcVar1 = (char *)(lVar9 + 0xb8); if (*pcVar1 == '\0') { local_78 = 0; *pcVar1 = '\x01'; lVar3 = *(longlong *)(lVar9 + 0xa0); local_80 = pcVar1; if (lVar3 != 0) { *(undefined8 *)(lVar9 + 0xa0) = 0; lVar10 = __RTDynamicCast(lVar3,0,&juce::Component::RTTI_Type_Descriptor, &juce::TopLevelWindow::RTTI_Type_Descriptor,0); if (lVar10 != 0) { FUN_1812cc1e0(lVar10,1); } auVar2 = *(undefined1 (*) [16])(lVar9 + 0xa8); FUN_18134bfe0(lVar3,auVar2._0_4_,auVar2._0_8_ >> 0x20,auVar2._8_4_,auVar2._12_4_); *(undefined8 *)(lVar9 + 0xa0) = 0; } *pcVar1 = '\0'; } } if (DAT_182673b08 != 0) { FUN_1812a77d0(DAT_182673b08,10); } DAT_182673b64 = 0xffffffff; return 0; case 0x21: switchD_180514c7c_caseD_21: if ((*(byte *)(param_1[1] + 0xa8) & 0x80) != 0) { return 3; } break; case 0x46: uVar11 = FUN_180513b90(param_1,param_5); return uVar11; case 0x47: if (((byte)*(undefined4 *)(param_5 + 4) & 3) == 3) { FUN_1812a77d0(param_1 + 0xc,100); break; } cVar5 = FUN_180513f40(param_1); goto LAB_18051548e; case 0x7e: InvalidateRect(param_2,(RECT *)0x0,0); goto switchD_180514c7c_caseD_1a; case 0x84: uVar19 = *(uint *)(param_1 + 2); if ((uVar19 & 4) != 0) { return 0xffffffffffffffff; } LAB_180514cc0: if ((uVar19 >> 3 & 1) == 0) { return 1; } break; case 0x85: FUN_1805113b0(param_1); case 0xa0: switchD_180514c7c_caseD_a0: if ((*(uint *)(param_1 + 2) >> 3 & 1) == 0) { return 0; } break; case 0x86: if ((param_4 == (HMENU)0x0) && (DAT_18262b45d == '\0')) { param_4 = (HMENU)0x1; } break; case 0x87: return 4; case 0x88: return 0; case 0xa1: switchD_180514c7c_caseD_a1: cVar5 = FUN_180515c40(param_1); if ((cVar5 == '\0') && ((param_4 == (HMENU)0x4 || ((undefined1 *)((longlong)¶m_4[-3].unused + 2U) < (undefined1 *)0x8)))) { if ((param_1[5] == 0) || ((((byte)(int)param_1[2] & 0x18) != 0x18 || (cVar5 = (**(code **)(*param_1 + 0x80))(param_1), cVar5 != '\0')))) { bVar4 = false; } else { bVar4 = true; } if (bVar4) { *(undefined1 *)((longlong)param_1 + 0xb4) = 1; (**(code **)(*(longlong *)param_1[5] + 0x10))(); } } break; case 0xa4: case 0xa7: FUN_180515c40(param_1); } switchD_180514c7c_caseD_9: uVar11 = DefWindowProcW(param_2,param_3,(WPARAM)param_4,(LPARAM)param_5); return uVar11; switchD_180514c7c_caseD_1a: FUN_180514680(param_1); goto switchD_180514c7c_caseD_9; } ############ FUN_ 1812e6610 size=38 ############ void FUN_1812e6610(longlong param_1) { if ((*(byte *)(param_1 + 0xa8) & 2) != 0) { FUN_1812a77d0(param_1 + 0xc0,0x1e); return; } FUN_1812a7720(param_1 + 0xc0); return; } ############ FUN_ 1811310d0 size=33 ############ /* WARNING: This is an inlined function */ /* Library Function - Single Match __security_check_cookie Libraries: Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 */ void __cdecl __security_check_cookie(uintptr_t _StackCookie) { if ((_StackCookie == DAT_182615970) && ((short)(_StackCookie >> 0x30) == 0)) { return; } /* WARNING: Subroutine does not return */ __report_gsfailure(_StackCookie); } ############ FUN_ 18120c6e0 size=255 ############ void FUN_18120c6e0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 *puVar2; int iVar3; undefined8 uVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; iVar3 = _Mtx_lock(&DAT_182673810); if (iVar3 != 0) { std::_Throw_C_error(iVar3); } if (DAT_182673930 <= DAT_182673940 + 1U) { FUN_180486ad0(); } DAT_182673938 = DAT_182673938 & DAT_182673930 - 1; lVar1 = (DAT_182673930 - 1 & DAT_182673938 + DAT_182673940) * 8; if (*(longlong *)(lVar1 + DAT_182673928) == 0) { uVar4 = FUN_180480500(0x48); *(undefined8 *)(lVar1 + DAT_182673928) = uVar4; } puVar2 = *(undefined8 **)(lVar1 + DAT_182673928); *puVar2 = param_2; puVar2[8] = 0; FUN_180488560(puVar2 + 1,param_1,param_3,param_4,uVar5); DAT_182673940 = DAT_182673940 + 1; iVar3 = _Mtx_unlock(&DAT_182673810); if (iVar3 != 0) { std::_Throw_C_error(iVar3); } return; } ############ FUN_ 180001d60 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182616088)[DAT_1826159a0])(); return; } ############ FUN_ 180001b80 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615e08)[DAT_1826159a0])(); return; } ############ FUN_ 18161aac0 size=1381 ############ void FUN_18161aac0(longlong param_1) { char *pcVar1; undefined8 *puVar2; float *pfVar3; int iVar4; code *pcVar5; longlong *plVar6; undefined8 uVar7; bool bVar8; bool bVar9; float fVar10; float fVar11; float fVar12; undefined4 uVar13; char cVar14; longlong lVar15; ulonglong uVar16; ulonglong uVar17; int iVar18; ulonglong uVar19; uint uVar20; uint *puVar22; LPCRITICAL_SECTION lpCriticalSection; longlong *plVar23; char cVar24; float fVar25; float fVar26; float fVar27; float fVar28; float fVar29; float fVar30; int local_res10; undefined4 local_res18 [2]; undefined4 local_res20 [2]; undefined4 local_f8 [2]; undefined8 local_f0; LPCRITICAL_SECTION local_e8; uint *local_e0; float local_d8; float fStack_d4; float fStack_d0; undefined4 uStack_cc; longlong local_c8 [2]; undefined8 local_b8; undefined8 uStack_b0; ulonglong uVar21; local_f0 = 0xfffffffffffffffe; lpCriticalSection = (LPCRITICAL_SECTION)(*(longlong *)(param_1 + 0x98) + 0x528); local_e8 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); puVar22 = (uint *)(*(longlong *)(*(longlong *)(param_1 + 0x98) + 0x168) + 0x2404b8); do { LOCK(); uVar20 = *puVar22; *puVar22 = *puVar22 | 1; UNLOCK(); } while ((uVar20 & 1) != 0); bVar8 = false; plVar23 = *(longlong **)(*(longlong *)(param_1 + 0x98) + 0x168); pcVar5 = *(code **)(*plVar23 + 0xd0); uVar17 = 0; local_e0 = puVar22; if (pcVar5 == .?AV?$Soothe2Module@M$01@@::vtbl___AV__Soothe2Module_M_01__) { LOCK(); pcVar1 = (char *)((longlong)plVar23 + 0x2404bd); cVar24 = *pcVar1; *pcVar1 = '\0'; UNLOCK(); cVar24 = cVar24 != '\0'; } else { cVar24 = (*pcVar5)(); } if (cVar24 == '\0') { if (*(int *)(param_1 + 0xcc) < 1) { bVar8 = true; } else { *(int *)(param_1 + 0xcc) = *(int *)(param_1 + 0xcc) + -1; } } else { *(undefined4 *)(param_1 + 0xcc) = 10; } if (0 < *(int *)(param_1 + 0x18c)) { plVar23 = local_c8; uVar19 = uVar17; uVar21 = uVar17; do { plVar6 = *(longlong **)(*(longlong *)(param_1 + 0x98) + 0x168); uVar16 = uVar17; if ((uint)uVar21 < *(uint *)(param_1 + 0x18c)) { uVar16 = (ulonglong)*(uint *)(uVar19 + *(longlong *)(param_1 + 0x180)); } lVar15 = (**(code **)(*plVar6 + 0xd8))(plVar6,uVar16); *plVar23 = lVar15; uVar20 = (uint)uVar21 + 1; uVar21 = (ulonglong)uVar20; uVar19 = uVar19 + 4; plVar23 = plVar23 + 1; } while ((int)uVar20 < *(int *)(param_1 + 0x18c)); } cVar24 = *(char *)(*(longlong *)(param_1 + 0x98) + 0x164); if (((*(longlong *)(param_1 + 0xe8) - *(longlong *)(param_1 + 0xe0) >> 3 == 0) || (local_c8[0] == 0)) || (local_c8[1] == 0)) { FUN_18161a990(param_1); } else { fVar25 = (float)(**(code **)(**(longlong **)(*(longlong *)(param_1 + 0x98) + 0x168) + 0xe0))(); fVar12 = DAT_1824c3ea4; iVar4 = *(int *)(*(longlong *)(*(longlong *)(param_1 + 0x98) + 0x168) + 100) / 2 + 1; if (*(int *)(param_1 + 0x18c) < 1) { FUN_18052db50(*(undefined8 *)(param_1 + 0x150),DAT_1824c3ea4,iVar4); } else { FUN_18052dbc0(*(undefined8 *)(param_1 + 0x150),local_c8[0]); iVar18 = 1; if (1 < *(int *)(param_1 + 0x18c)) { plVar23 = local_c8; do { plVar23 = plVar23 + 1; FUN_180530010(*(undefined8 *)(param_1 + 0x150),*(undefined8 *)(param_1 + 0x150),*plVar23, iVar4); iVar18 = iVar18 + 1; } while (iVar18 < *(int *)(param_1 + 0x18c)); } } lVar15 = *(longlong *)(param_1 + 0x98); cVar14 = FUN_180528c00(lVar15); fVar11 = DAT_1824c3e28; fVar10 = DAT_1824c3d8c; if ((cVar14 == '\0') && (*(char *)(lVar15 + 0x939) == '\0')) { bVar9 = false; } else { bVar9 = true; } local_res10 = 0; uVar19 = uVar17; uVar13 = uStack_cc; if (*(longlong *)(param_1 + 0xe8) - *(longlong *)(param_1 + 0xe0) >> 3 != 0) { do { uStack_cc = uVar13; iVar4 = *(int *)(uVar19 + *(longlong *)(param_1 + 0xe0)); if ((cVar24 != '\0') || (bVar8)) { *(undefined4 *)(param_1 + 0xc0) = 0x3f800000; *(undefined4 *)(param_1 + 0xc4) = 0x3f800000; *(undefined4 *)(param_1 + 200) = 0x3f800000; } else { fVar28 = fVar12 - fVar25; *(float *)(param_1 + 0xc0) = fVar25 * *(float *)(*(longlong *)(param_1 + 0x150) + (longlong)iVar4 * 4) + fVar28; *(float *)(param_1 + 0xc4) = fVar25 * *(float *)(*(longlong *)(param_1 + 0x150) + (longlong)(iVar4 + 1) * 4) + fVar28; *(float *)(param_1 + 200) = fVar25 * *(float *)(*(longlong *)(param_1 + 0x150) + (longlong)(iVar4 + 2) * 4) + fVar28; } if (bVar9) { *(float *)(param_1 + 0xc0) = fVar12 / *(float *)(param_1 + 0xc0); *(float *)(param_1 + 0xc4) = fVar12 / *(float *)(param_1 + 0xc4); *(float *)(param_1 + 200) = fVar12 / *(float *)(param_1 + 200); } local_res18[0] = *(undefined4 *)(param_1 + 0xc0); plVar23 = *(longlong **)(param_1 + 0x148); if (plVar23 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar28 = (float)(**(code **)(*plVar23 + 0x10))(plVar23,local_res18); local_res20[0] = *(undefined4 *)(param_1 + 0xc4); plVar23 = *(longlong **)(param_1 + 0x148); if (plVar23 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar26 = (float)(**(code **)(*plVar23 + 0x10))(plVar23,local_res20); local_f8[0] = *(undefined4 *)(param_1 + 200); plVar23 = *(longlong **)(param_1 + 0x148); if (plVar23 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar27 = (float)(**(code **)(*plVar23 + 0x10))(plVar23,local_f8); puVar2 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + uVar17); uVar7 = *puVar2; uStack_b0 = puVar2[1]; fVar30 = fVar10; if (bVar8) { fVar30 = fVar11; } fVar29 = fVar12 - fVar30; local_b8._0_4_ = (float)uVar7; local_d8 = fVar29 * fVar28 + (float)local_b8 * fVar30; local_b8._4_4_ = (float)((ulonglong)uVar7 >> 0x20); fStack_d4 = fVar29 * fVar26 + local_b8._4_4_ * fVar30; fStack_d0 = fVar29 * fVar27 + (float)uStack_b0 * fVar30; uStack_cc = 0; pfVar3 = (float *)(*(longlong *)(param_1 + 0x58) + uVar17); *pfVar3 = local_d8; pfVar3[1] = fStack_d4; pfVar3[2] = fStack_d0; pfVar3[3] = 0.0; local_res10 = local_res10 + 1; uVar17 = uVar17 + 0x20; uVar19 = uVar19 + 8; uVar13 = 0; local_b8 = uVar7; } while ((ulonglong)(longlong)local_res10 < (ulonglong)(*(longlong *)(param_1 + 0xe8) - *(longlong *)(param_1 + 0xe0) >> 3)); } (**(code **)(**(longlong **)(*(longlong *)(param_1 + 0x98) + 0x168) + 0xf0))(); } LOCK(); *puVar22 = 0; UNLOCK(); /* WARNING: Could not recover jumptable at 0x00018161b019. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection(lpCriticalSection); return; } ############ FUN_ 1812b3270 size=321 ############ /* WARNING: Removing unreachable block (ram,0x0001812b32f9) */ void FUN_1812b3270(float *param_1,float param_2,uint param_3) { longlong lVar1; uint uVar2; ulonglong uVar3; float *pfVar4; longlong lVar5; longlong lVar6; longlong lVar7; ulonglong uVar8; uVar2 = (int)(param_3 + ((int)param_3 >> 0x1f & 3U)) >> 2; uVar3 = (ulonglong)uVar2; if (((ulonglong)param_1 & 0xf) == 0) { if (0 < (int)uVar2) { do { *param_1 = *param_1 * param_2; param_1[1] = param_1[1] * param_2; param_1[2] = param_1[2] * param_2; param_1[3] = param_1[3] * param_2; param_1 = param_1 + 4; uVar3 = uVar3 - 1; } while (uVar3 != 0); } } else if (0 < (int)uVar2) { do { *param_1 = *param_1 * param_2; param_1[1] = param_1[1] * param_2; param_1[2] = param_1[2] * param_2; param_1[3] = param_1[3] * param_2; param_1 = param_1 + 4; uVar3 = uVar3 - 1; } while (uVar3 != 0); } param_3 = param_3 & 3; if (param_3 != 0) { uVar3 = 0; uVar2 = 0; if ((param_3 != 0) && (0xf < param_3)) { pfVar4 = param_1 + 8; uVar8 = uVar3; do { uVar2 = (int)uVar8 + 0x10; uVar8 = (ulonglong)uVar2; uVar3 = uVar3 + 0x10; pfVar4[-8] = pfVar4[-8] * param_2; pfVar4[-7] = pfVar4[-7] * param_2; pfVar4[-6] = pfVar4[-6] * param_2; pfVar4[-5] = pfVar4[-5] * param_2; pfVar4[-4] = pfVar4[-4] * param_2; pfVar4[-3] = pfVar4[-3] * param_2; pfVar4[-2] = pfVar4[-2] * param_2; pfVar4[-1] = pfVar4[-1] * param_2; *pfVar4 = *pfVar4 * param_2; pfVar4[1] = pfVar4[1] * param_2; pfVar4[2] = pfVar4[2] * param_2; pfVar4[3] = pfVar4[3] * param_2; pfVar4[4] = pfVar4[4] * param_2; pfVar4[5] = pfVar4[5] * param_2; pfVar4[6] = pfVar4[6] * param_2; pfVar4[7] = pfVar4[7] * param_2; pfVar4 = pfVar4 + 0x10; } while ((longlong)uVar3 < 0); } lVar5 = (longlong)(int)uVar2; lVar7 = (longlong)(int)param_3; if (lVar5 < lVar7) { if (3 < lVar7 - lVar5) { lVar1 = lVar5 + 2; lVar6 = ((lVar7 - lVar5) - 4U >> 2) + 1; lVar5 = lVar5 + lVar6 * 4; pfVar4 = param_1 + lVar1; do { pfVar4[-2] = pfVar4[-2] * param_2; pfVar4[-1] = pfVar4[-1] * param_2; *pfVar4 = *pfVar4 * param_2; pfVar4[1] = pfVar4[1] * param_2; lVar6 = lVar6 + -1; pfVar4 = pfVar4 + 4; } while (lVar6 != 0); } for (; lVar5 < lVar7; lVar5 = lVar5 + 1) { param_1[lVar5] = param_2 * param_1[lVar5]; } } } return; } ############ FUN_ 18049d240 size=172 ############ longlong FUN_18049d240(byte *param_1) { byte bVar1; uint uVar2; longlong lVar3; uint uVar4; int iVar5; longlong lVar6; lVar6 = 0; do { bVar1 = *param_1; param_1 = param_1 + 1; uVar4 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar2 = 0x40; iVar5 = 0; uVar4 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar2 < 9) break; uVar4 = uVar4 >> 1; iVar5 = iVar5 + 1; uVar2 = uVar2 >> 1; } while ((bVar1 & uVar2) != 0); } uVar4 = bVar1 & uVar4; for (; (iVar5 = iVar5 + -1, -1 < iVar5 && ((*param_1 & 0xc0) == 0x80)); param_1 = param_1 + 1) { uVar4 = *param_1 & 0x3f | uVar4 << 6; } } if (uVar4 == 0) { return lVar6; } lVar3 = 1; if (((0x7f < uVar4) && (lVar3 = 2, 0x7ff < uVar4)) && (lVar3 = 3, 0xffff < uVar4)) { lVar3 = 4; } lVar6 = lVar6 + lVar3; } while( true ); } ############ FUN_ 181211b90 size=327 ############ longlong * FUN_181211b90(longlong *param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; undefined8 uVar2; int iVar3; int iVar4; uint *_Memory; longlong lVar5; int iVar6; int iVar7; longlong local_res10; undefined8 *local_res18; undefined8 local_res20; iVar7 = *(int *)((longlong)param_2 + 0xc); iVar6 = 0; local_res18 = param_3; if (0 < iVar7) { lVar5 = *param_2; uVar2 = *param_3; do { local_res20 = *(undefined8 *)(lVar5 + (longlong)iVar6 * 8); iVar3 = FUN_18048cbc0(uVar2); if (iVar3 == 0) { lVar5 = *(longlong *)(lVar5 + (longlong)iVar6 * 8); LAB_181211caa: uVar1 = *(uint *)(lVar5 + -0x10); *param_1 = lVar5; if ((uVar1 & 0x30000000) != 0) { return param_1; } LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); return param_1; } iVar4 = (iVar7 + iVar6) / 2; if (iVar4 == iVar6) { if (0 < iVar3) { iVar6 = iVar6 + 1; } break; } iVar3 = FUN_18048cbc0(uVar2); if (iVar3 == 0) { lVar5 = *(longlong *)(lVar5 + (longlong)iVar4 * 8); goto LAB_181211caa; } if (0 < iVar3) { iVar6 = iVar4; iVar4 = iVar7; } iVar7 = iVar4; } while (iVar6 < iVar7); } FUN_18049c9e0(&local_res10,*local_res18); FUN_180489070(param_2,iVar6,&local_res10); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } lVar5 = *(longlong *)(*param_2 + (longlong)iVar6 * 8); *param_1 = lVar5; if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } return param_1; } ############ FUN_ 180473200 size=2289 ############ undefined8 FUN_180473200(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; byte bVar2; byte bVar3; longlong lVar4; byte bVar5; char cVar6; int iVar7; longlong *plVar8; uint *puVar9; byte *pbVar10; undefined8 uVar11; byte *local_res8; byte *local_res10; longlong local_res18; longlong local_res20; plVar8 = (longlong *)FUN_181249b30(&local_res20,0xd,param_3,param_4,0xfffffffffffffffe); local_res18 = *plVar8; uVar11 = 1; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_181241890(&local_res10,&local_res18); iVar7 = FUN_1812327b0(&local_res10,0x5c); pbVar10 = local_res10; if (iVar7 + 1 < 1) { local_res8 = local_res10; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } } else { for (; -1 < iVar7; iVar7 = iVar7 + -1) { bVar2 = *pbVar10; if (bVar2 == 0) { local_res8 = &DAT_1821dbf98; goto LAB_1804732fe; } pbVar10 = pbVar10 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { pbVar10 = pbVar10 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } } FUN_18049c9e0(&local_res8); } LAB_1804732fe: pbVar10 = local_res8; puVar9 = (uint *)(local_res10 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } iVar7 = FUN_18049d2f0(local_res8,"Live 6"); lVar4 = local_res18; if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Live 7"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Live 8"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Live 9"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Live 10"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Live "); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Audition"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Adobe Premiere"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"ProTools"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(lVar4,"SONAR 8"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"SONAR"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Cakewalk.exe"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"GarageBand"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Logic"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"MainStage"); if (iVar7 < 0) { cVar6 = FUN_18124a650(&local_res8,"Waveform"); if (cVar6 == '\0') { iVar7 = FUN_18049d2f0(lVar4,"Tracktion 3"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Tracktion"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"reaper"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Cubase4"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Cubase5"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Cubase6"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Cubase7"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Cubase8.exe"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Cubase8.5.exe"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Cubase9.5.exe"); if ((iVar7 < 0) && (iVar7 = FUN_18049d2f0(lVar4,"Cubase 9.5"), iVar7 < 0)) { iVar7 = FUN_18049d2f0(pbVar10,"Cubase9.exe"); if ((iVar7 < 0) && (iVar7 = FUN_18049d2f0(lVar4,"Cubase 9"), iVar7 < 0)) { iVar7 = FUN_18049d2f0(pbVar10, "Cubase10.5.exe"); if ((iVar7 < 0) && (iVar7 = FUN_18049d2f0(lVar4,"Cubase 10.5"), iVar7 < 0)) { iVar7 = FUN_18049d2f0(pbVar10,"Cubase10.exe"); if ((iVar7 < 0) && (iVar7 = FUN_18049d2f0(lVar4,"Cubase 10"), iVar7 < 0)) { iVar7 = FUN_18049d2f0(pbVar10,"Cubase"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"VSTBridgeApp" ); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(lVar4,"Wavelab 5"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(lVar4,"Wavelab 6") ; if (iVar7 < 0) { iVar7 = FUN_18049d2f0(lVar4, "Wavelab 7"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(lVar4,"Wavelab 8"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(lVar4,"Nuendo"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Wavelab"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"TestHost"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"rm-host") ; if (iVar7 < 0) { cVar6 = FUN_18124a6c0(&local_res8, &DAT_182493648); if ((cVar6 == '\0') && (iVar7 = FUN_181249270(&local_res8, "ilbridge.") , iVar7 < 0)) { iVar7 = FUN_18049d2f0(lVar4, "Studio One"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(lVar4,"Digital Performer") ; if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"VST_Scanner"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(lVar4, "Merging Technologies"); if (iVar7 < 0) { cVar6 = FUN_18124a650(&local_res8,&DAT_1824936a0 ); if (cVar6 == '\0') { cVar6 = FUN_18124a650(&local_res8,"Sequoia"); if (cVar6 == '\0') { iVar7 = FUN_18049d2f0(pbVar10,"Reason"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Renoise"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Resolve") ; if (iVar7 < 0) { iVar7 = FUN_18049d2f0(lVar4, "Bitwig Studio"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"Sadie"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10,"pluginval"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10, "AudioPluginHost"); if (iVar7 < 0) { iVar7 = FUN_18049d2f0(pbVar10, "Vienna Ensemble Pro"); if (iVar7 < 0) { uVar11 = 0; } else { uVar11 = 0x3b; } } else { uVar11 = 0x16; } } else { uVar11 = 0x1b; } } else { uVar11 = 0x1f; } } else { uVar11 = 0xe; } } else { uVar11 = 0x12; } } else { uVar11 = 0x1e; } } else { uVar11 = 0x1d; } } else { uVar11 = 0x18; } } else { uVar11 = 0x17; } } else { uVar11 = 0x19; } } else { uVar11 = 0x3a; } } else { uVar11 = 0x13; } } else { uVar11 = 0x36; } } else { uVar11 = 0x15; } } else { uVar11 = 0x1a; } } else { uVar11 = 0x35; } } else { uVar11 = 0x34; } } else { uVar11 = 0x2f; } } else { uVar11 = 0x33; } } else { uVar11 = 0x32; } } else { uVar11 = 0x31; } } else { uVar11 = 0x30; } } else { uVar11 = 0x22; } } else { uVar11 = 0x2b; } } else { uVar11 = 0x29; } } else { uVar11 = 0x2a; } } else { uVar11 = 0x27; } } else { uVar11 = 0x28; } } else { uVar11 = 0x26; } } else { uVar11 = 0x25; } } else { uVar11 = 0x24; } } else { uVar11 = 0x23; } } else { uVar11 = 0x21; } } else { uVar11 = 0x20; } } else { uVar11 = 0x1c; } } else { uVar11 = 0x38; } } else { uVar11 = 0x37; } } else { uVar11 = 0x39; } } else { uVar11 = 0xb; } } else { uVar11 = 10; } } else { uVar11 = 9; } } else { uVar11 = 0x11; } } else { uVar11 = 0x10; } } else { uVar11 = 0xf; } } else { uVar11 = 0xd; } } else { uVar11 = 8; } } else { uVar11 = 7; } } else { uVar11 = 6; } } else { uVar11 = 5; } } else { uVar11 = 4; } } else { uVar11 = 3; } } else { uVar11 = 2; } } FUN_180495200(pbVar10); FUN_180495200(lVar4); return uVar11; } ############ FUN_ 181241ca0 size=1393 ############ undefined8 * FUN_181241ca0(undefined8 *param_1,undefined8 *param_2) { uint uVar1; byte bVar2; byte bVar3; bool bVar4; bool bVar5; char cVar6; byte bVar7; int iVar8; int iVar9; undefined8 *puVar10; longlong *plVar11; uint *puVar12; byte *pbVar13; byte *pbVar14; uint *_Memory; byte ***pppbVar15; byte **ppbVar16; int iVar17; byte **ppbVar18; byte *pbVar19; byte **local_res10; byte *local_res18; byte **local_res20; byte *local_b8; longlong local_b0; byte **local_a8; longlong local_a0; byte **local_98; uint *local_90; byte **local_88; uint *local_80; undefined4 local_78; longlong local_70; undefined8 local_68; byte **local_60; byte **local_58; local_68 = 0xfffffffffffffffe; iVar9 = 0; local_78 = 0; ppbVar16 = (byte **)*param_2; if (((ulonglong)ppbVar16[-2] & 0x30000000) == 0) { LOCK(); *(int *)(ppbVar16 + -2) = *(int *)(ppbVar16 + -2) + 1; UNLOCK(); } local_res10 = ppbVar16; FUN_18049c9e0(&local_a0,&DAT_1821db634); local_b0 = local_a0; local_80 = (uint *)(local_a0 + -0x10); if ((*local_80 & 0x30000000) == 0) { LOCK(); *local_80 = *local_80 + 1; UNLOCK(); } local_res18 = (byte *)&local_b0; puVar10 = (undefined8 *)FUN_181232d30(&local_b0,&local_a0); pbVar19 = (byte *)*puVar10; local_90 = (uint *)(pbVar19 + -0x10); if ((*local_90 & 0x30000000) == 0) { LOCK(); *local_90 = *local_90 + 1; UNLOCK(); } bVar4 = false; puVar12 = (uint *)(local_b0 + -0x10); pbVar14 = pbVar19; iVar8 = iVar9; local_res18 = pbVar19; if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } while( true ) { while( true ) { pbVar13 = pbVar14 + 1; if (-1 < (char)*pbVar14) break; if ((*pbVar13 & 0xc0) != 0x80) goto LAB_181241db5; do { pbVar13 = pbVar13 + 1; } while ((*pbVar13 & 0xc0) == 0x80); pbVar14 = pbVar13; iVar8 = iVar8 + 1; } if (*pbVar14 == 0) break; LAB_181241db5: pbVar14 = pbVar13; iVar8 = iVar8 + 1; } iVar8 = FUN_18049da40(local_res10,pbVar19,iVar8); if (iVar8 == 0) { iVar8 = FUN_181249270(&local_res10,pbVar19); pbVar14 = pbVar19; iVar17 = iVar9; if (iVar8 < 0) { local_res20 = (byte **)&DAT_1821dbf98; } else { while( true ) { while( true ) { pbVar13 = pbVar14 + 1; if (-1 < (char)*pbVar14) break; if ((*pbVar13 & 0xc0) != 0x80) goto LAB_181241e28; do { pbVar13 = pbVar13 + 1; } while ((*pbVar13 & 0xc0) == 0x80); pbVar14 = pbVar13; iVar17 = iVar17 + 1; } if (*pbVar14 == 0) break; LAB_181241e28: pbVar14 = pbVar13; iVar17 = iVar17 + 1; } iVar8 = iVar8 + iVar17; ppbVar18 = local_res10; if (iVar8 < 1) { local_res20 = local_res10; pbVar19 = local_res18; if (((ulonglong)ppbVar16[-2] & 0x30000000) == 0) { LOCK(); *(int *)(ppbVar16 + -2) = *(int *)(ppbVar16 + -2) + 1; UNLOCK(); } } else { while (iVar8 = iVar8 + -1, -1 < iVar8) { bVar2 = *(byte *)ppbVar18; if (bVar2 == 0) { local_res20 = (byte **)&DAT_1821dbf98; goto LAB_181241ea1; } ppbVar18 = (byte **)((longlong)ppbVar18 + 1); if ((char)bVar2 < '\0') { bVar7 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar7))) { ppbVar18 = (byte **)((longlong)ppbVar18 + 1); bVar7 = bVar7 >> 1; bVar3 = bVar2 & bVar7; } } } FUN_18049c9e0(&local_res20); } } LAB_181241ea1: bVar4 = true; cVar6 = FUN_18124a6c0(&local_res20,local_a0); if (cVar6 == '\0') { bVar5 = true; goto LAB_181241ec3; } } bVar5 = false; LAB_181241ec3: if ((bVar4) && (ppbVar18 = local_res20 + -2, pbVar19 = local_res18, ((ulonglong)*ppbVar18 & 0x30000000) == 0)) { LOCK(); uVar1 = *(uint *)ppbVar18; *(uint *)ppbVar18 = *(uint *)ppbVar18 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(ppbVar18); } } if (bVar5) { iVar8 = FUN_181249270(&local_res10,pbVar19); if (iVar8 < 0) { local_a8 = (byte **)&DAT_1821dbf98; } else { while( true ) { while( true ) { bVar2 = *pbVar19; pbVar19 = pbVar19 + 1; if (-1 < (char)bVar2) break; if ((*pbVar19 & 0xc0) != 0x80) goto LAB_181241f48; do { pbVar19 = pbVar19 + 1; } while ((*pbVar19 & 0xc0) == 0x80); iVar9 = iVar9 + 1; } if (bVar2 == 0) break; LAB_181241f48: iVar9 = iVar9 + 1; } iVar8 = iVar8 + iVar9; ppbVar18 = local_res10; if (iVar8 < 1) { local_a8 = local_res10; if (((ulonglong)ppbVar16[-2] & 0x30000000) == 0) { LOCK(); *(int *)(ppbVar16 + -2) = *(int *)(ppbVar16 + -2) + 1; UNLOCK(); } } else { while (iVar8 = iVar8 + -1, -1 < iVar8) { bVar2 = *(byte *)ppbVar18; if (bVar2 == 0) { local_a8 = (byte **)&DAT_1821dbf98; goto LAB_181241fc7; } ppbVar18 = (byte **)((longlong)ppbVar18 + 1); if ((char)bVar2 < '\0') { bVar7 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar7))) { ppbVar18 = (byte **)((longlong)ppbVar18 + 1); bVar7 = bVar7 >> 1; bVar3 = bVar2 & bVar7; } } } FUN_18049c9e0(&local_a8); } } LAB_181241fc7: ppbVar16 = local_res10; local_60 = local_res10; local_res10 = local_a8; ppbVar16 = ppbVar16 + -2; pbVar19 = local_res18; if (((ulonglong)*ppbVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)ppbVar16; *(uint *)ppbVar16 = *(uint *)ppbVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(ppbVar16); } } } iVar9 = FUN_181249270(&local_res10,pbVar19); puVar12 = local_90; while (local_90 = puVar12, -1 < iVar9) { puVar10 = (undefined8 *)FUN_1812319a0(&local_res10,&local_70,pbVar19,local_a0); pbVar19 = local_res18; local_58 = local_res10; ppbVar16 = (byte **)*puVar10; *puVar10 = local_res10; puVar12 = (uint *)(local_70 + -0x10); local_res10 = ppbVar16; if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } iVar9 = FUN_181249270(&local_res10,local_res18); puVar12 = local_90; } if (bVar5) { if ((*puVar12 & 0x30000000) == 0) { LOCK(); *puVar12 = *puVar12 + 1; UNLOCK(); } local_98 = &local_b8; local_b8 = pbVar19; plVar11 = (longlong *)FUN_181232d30(&local_b8,&local_res10); local_98 = (byte **)*plVar11; if (((ulonglong)local_98[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_98 + -2) = *(int *)(local_98 + -2) + 1; UNLOCK(); } _Memory = (uint *)(local_b8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } pppbVar15 = &local_98; bVar5 = true; bVar4 = false; } else { local_88 = local_res10; if (((ulonglong)local_res10[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = *(int *)(local_res10 + -2) + 1; UNLOCK(); } pppbVar15 = &local_88; bVar5 = false; bVar4 = true; } *param_1 = *pppbVar15; *pppbVar15 = (byte **)&DAT_1821dbf98; if ((bVar4) && (ppbVar16 = local_88 + -2, ((ulonglong)*ppbVar16 & 0x30000000) == 0)) { LOCK(); uVar1 = *(uint *)ppbVar16; *(uint *)ppbVar16 = *(uint *)ppbVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(ppbVar16); } } if ((bVar5) && (ppbVar16 = local_98 + -2, ((ulonglong)*ppbVar16 & 0x30000000) == 0)) { LOCK(); uVar1 = *(uint *)ppbVar16; *(uint *)ppbVar16 = *(uint *)ppbVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(ppbVar16); } } if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } if ((*local_80 & 0x30000000) == 0) { LOCK(); uVar1 = *local_80; *local_80 = *local_80 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(local_80); } } ppbVar16 = local_res10 + -2; if (((ulonglong)*ppbVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)ppbVar16; *(uint *)ppbVar16 = *(uint *)ppbVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(ppbVar16); } } return param_1; } ############ FUN_ 181231b00 size=569 ############ undefined8 * FUN_181231b00(undefined8 *param_1,undefined8 *param_2,int param_3,int param_4,void *param_5) { byte bVar1; byte bVar2; uint uVar3; byte bVar4; undefined4 *puVar5; int iVar6; int iVar7; size_t _Size; byte *_Src; byte *pbVar8; size_t _Size_00; void *_Dst; longlong lVar9; size_t _Size_01; bool bVar10; byte *local_48; longlong local_40; byte *local_38; undefined4 *local_30; local_48 = (byte *)*param_1; iVar7 = 0; if (param_3 < 0) { param_3 = iVar7; } if (param_4 < 0) { param_4 = iVar7; } pbVar8 = local_48; iVar6 = iVar7; if (0 < param_3) { do { bVar1 = *pbVar8; if (bVar1 == 0) { if ((*(uint *)(local_48 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_48 + -0x10) = *(int *)(local_48 + -0x10) + 1; UNLOCK(); } FUN_1804933b0(param_2,&local_48,param_5); return param_2; } pbVar8 = pbVar8 + 1; if ((char)bVar1 < '\0') { bVar4 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar4))) { pbVar8 = pbVar8 + 1; bVar4 = bVar4 >> 1; bVar2 = bVar1 & bVar4; } } iVar6 = iVar6 + 1; } while (iVar6 < param_3); } _Src = pbVar8; if (0 < param_4) { do { bVar1 = *_Src; if (bVar1 == 0) break; _Src = _Src + 1; if ((char)bVar1 < '\0') { bVar4 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar4))) { _Src = _Src + 1; bVar4 = bVar4 >> 1; bVar2 = bVar1 & bVar4; } } iVar7 = iVar7 + 1; } while (iVar7 < param_4); } if ((pbVar8 == local_48) && (*_Src == 0)) { FUN_18049c9e0(param_2,param_5); return param_2; } _Size_00 = (longlong)pbVar8 - (longlong)local_48; local_40 = -1; do { local_40 = local_40 + 1; } while (*(char *)((longlong)param_5 + local_40) != '\0'); local_40 = local_40 + (longlong)param_5; lVar9 = -1; _Size = local_40 - (longlong)param_5; do { lVar9 = lVar9 + 1; } while (_Src[lVar9] != 0); local_38 = _Src + lVar9; _Size_01 = (longlong)local_38 - (longlong)_Src; lVar9 = _Size_01 + _Size + _Size_00; if (lVar9 == 0) { *param_2 = &DAT_1821dbf98; } else { puVar5 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar5 = 0; UNLOCK(); *(ulonglong *)(puVar5 + 2) = lVar9 + 4U & 0xfffffffffffffffc; puVar5 = puVar5 + 4; local_30 = puVar5; memcpy(puVar5,(void *)*param_1,_Size_00); memcpy((void *)(_Size_00 + (longlong)puVar5),param_5,_Size); _Dst = (void *)((longlong)(_Size_00 + (longlong)puVar5) + _Size); memcpy(_Dst,_Src,_Size_01); *(undefined1 *)((longlong)_Dst + _Size_01) = 0; *param_2 = puVar5; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } return param_2; } ############ FUN_ 1804933b0 size=185 ############ longlong * FUN_1804933b0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; longlong *plVar3; uint *puVar4; longlong *local_res8; longlong *local_res10; local_res8 = param_1; local_res10 = param_2; FUN_18049c9e0(&local_res8,param_3,param_3,param_4,0xfffffffffffffffe); plVar3 = (longlong *)FUN_181232d30(param_2,&local_res8); lVar2 = *plVar3; *param_1 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(local_res8 + -2); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(*param_2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return param_1; } ############ FUN_ 181245100 size=1508 ############ undefined8 FUN_181245100(undefined8 *param_1,undefined8 param_2,byte *param_3) { byte bVar1; byte bVar2; byte *pbVar3; char cVar4; int iVar5; uint uVar6; undefined8 *puVar7; longlong *plVar8; byte bVar9; uint *puVar10; uint uVar11; int iVar12; byte *_Dst; longlong lVar13; longlong lVar14; byte *pbVar15; size_t _Size; byte *local_res18; byte *local_res20; byte *local_78; longlong local_70; longlong local_68; longlong local_60; longlong local_58 [3]; byte *local_40; byte *local_38; local_58[1] = 0xfffffffffffffffe; cVar4 = FUN_181240eb0(param_3); if (cVar4 == '\0') { iVar5 = FUN_18049bc80(param_3,0x2f); if (iVar5 < 0) { local_res20 = (byte *)*param_1; local_res18 = param_3; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } LAB_181245230: pbVar3 = local_res18; bVar1 = *local_res18; uVar11 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar11 = 0x7f; uVar6 = 0x40; iVar5 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar11 = uVar11 >> 1; iVar5 = iVar5 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } uVar11 = bVar1 & uVar11; lVar14 = 1; if (0 < (longlong)iVar5) { do { if ((local_res18[lVar14] & 0xc0) != 0x80) break; uVar11 = local_res18[lVar14] & 0x3f | uVar11 << 6; lVar14 = lVar14 + 1; } while (lVar14 <= iVar5); } } if (uVar11 == 0x2e) { local_res18 = local_res18 + 1; if ((char)bVar1 < '\0') { bVar9 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar9))) { local_res18 = local_res18 + 1; bVar9 = bVar9 >> 1; bVar2 = bVar1 & bVar9; } } bVar1 = *local_res18; uVar11 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar6 = 0x40; uVar11 = 0x7f; iVar5 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar11 = uVar11 >> 1; iVar5 = iVar5 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } uVar11 = bVar1 & uVar11; lVar14 = 1; if (0 < iVar5) { do { if ((local_res18[lVar14] & 0xc0) != 0x80) break; uVar11 = local_res18[lVar14] & 0x3f | uVar11 << 6; lVar14 = lVar14 + 1; } while (lVar14 <= iVar5); } } if (uVar11 == 0x2e) { local_res18 = local_res18 + 1; if ((char)bVar1 < '\0') { bVar9 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar9))) { local_res18 = local_res18 + 1; bVar9 = bVar9 >> 1; bVar2 = bVar1 & bVar9; } } bVar1 = *local_res18; uVar11 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar6 = 0x40; uVar11 = 0x7f; iVar5 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar11 = uVar11 >> 1; iVar5 = iVar5 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } uVar11 = bVar1 & uVar11; lVar14 = 1; if (0 < iVar5) { do { if ((local_res18[lVar14] & 0xc0) != 0x80) break; uVar11 = local_res18[lVar14] & 0x3f | uVar11 << 6; lVar14 = lVar14 + 1; } while (lVar14 <= iVar5); } } if ((uVar11 != 0x5c) && (uVar11 != 0)) goto LAB_1812455ef; iVar5 = FUN_1812327b0(&local_res20); pbVar3 = local_res20; if (-1 < iVar5) { if (iVar5 < 1) { local_78 = &DAT_1821dbf98; } else { iVar12 = 0; pbVar15 = local_res20; if (0 < iVar5) { do { bVar1 = *pbVar15; if (bVar1 == 0) { local_78 = local_res20; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } goto LAB_18124544e; } iVar12 = iVar12 + 1; pbVar15 = pbVar15 + 1; if ((char)bVar1 < '\0') { bVar9 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar9))) { pbVar15 = pbVar15 + 1; bVar9 = bVar9 >> 1; bVar2 = bVar1 & bVar9; } } } while (iVar12 < iVar5); } FUN_18124a8a0(&local_78,local_res20); } LAB_18124544e: local_40 = pbVar3; local_res20 = local_78; local_78 = pbVar3; puVar10 = (uint *)(pbVar3 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar11 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar11 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } LAB_181245482: bVar1 = *local_res18; uVar11 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar11 = 0x7f; uVar6 = 0x40; iVar5 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar11 = uVar11 >> 1; iVar5 = iVar5 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } uVar11 = bVar1 & uVar11; lVar14 = 1; if (0 < (longlong)iVar5) { do { if ((local_res18[lVar14] & 0xc0) != 0x80) break; uVar11 = local_res18[lVar14] & 0x3f | uVar11 << 6; lVar14 = lVar14 + 1; } while (lVar14 <= iVar5); } } if (uVar11 == 0x5c) { local_res18 = local_res18 + 1; if ((char)bVar1 < '\0') { bVar9 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar9))) { local_res18 = local_res18 + 1; bVar9 = bVar9 >> 1; bVar2 = bVar1 & bVar9; } } goto LAB_181245482; } } else { if ((uVar11 != 0x5c) && (uVar11 != 0)) goto LAB_1812455ef; LAB_181245550: bVar1 = *local_res18; uVar11 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar11 = 0x7f; uVar6 = 0x40; iVar5 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar11 = uVar11 >> 1; iVar5 = iVar5 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } uVar11 = bVar1 & uVar11; lVar14 = 1; if (0 < (longlong)iVar5) { do { if ((local_res18[lVar14] & 0xc0) != 0x80) break; uVar11 = local_res18[lVar14] & 0x3f | uVar11 << 6; lVar14 = lVar14 + 1; } while (lVar14 <= iVar5); } } if (uVar11 == 0x5c) { local_res18 = local_res18 + 1; if ((char)bVar1 < '\0') { bVar9 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar9))) { local_res18 = local_res18 + 1; bVar9 = bVar9 >> 1; bVar2 = bVar1 & bVar9; } } goto LAB_181245550; } } goto LAB_181245230; } LAB_1812455ef: plVar8 = (longlong *)FUN_1812416f0(local_58,&local_res20); local_38 = local_res20; pbVar15 = (byte *)*plVar8; *plVar8 = (longlong)local_res20; puVar10 = (uint *)(local_58[0] + -0x10); local_res20 = pbVar15; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar11 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar11 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } lVar14 = -1; do { lVar14 = lVar14 + 1; } while (pbVar3[lVar14] != 0); if (0 < (int)lVar14) { lVar13 = -1; do { lVar13 = lVar13 + 1; } while (pbVar15[lVar13] != 0); _Size = (size_t)(int)lVar14; FUN_1812342b0(&local_res20,_Size + lVar13); pbVar15 = local_res20; _Dst = local_res20 + (int)lVar13; memcpy(_Dst,pbVar3,_Size); _Dst[_Size] = 0; } FUN_181241890(param_2,&local_res20); puVar10 = (uint *)(pbVar15 + -0x10); uVar11 = *puVar10; } else { FUN_18049c9e0(&local_68,param_3); puVar7 = (undefined8 *)FUN_1812316c0(&local_68,&local_60,0x2f); local_58[2] = *puVar7; FUN_181245100(param_1,param_2); puVar10 = (uint *)(local_60 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar11 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar11 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_68 + -0x10); uVar11 = *puVar10; } if ((uVar11 & 0x30000000) != 0) { return param_2; } LOCK(); uVar11 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); } else { FUN_18049c9e0(&local_70,param_3); FUN_181241890(param_2,&local_70); puVar10 = (uint *)(local_70 + -0x10); if ((*puVar10 & 0x30000000) != 0) { return param_2; } LOCK(); uVar11 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); } if (uVar11 != 0) { return param_2; } /* WARNING: Subroutine does not return */ free(puVar10); } ############ FUN_ 18116c900 size=553 ############ undefined8 * FUN_18116c900(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined1 param_4) { uint uVar1; byte bVar2; longlong lVar3; byte bVar4; bool bVar5; char cVar6; byte bVar7; DWORD DVar8; int iVar9; undefined8 *puVar10; uint *puVar11; byte *pbVar12; undefined1 *local_res18; longlong local_58; undefined8 local_50; undefined8 local_48; undefined1 local_40 [8]; longlong local_38; longlong local_30; local_48 = 0xfffffffffffffffe; *param_1 = PresetDirectory::vftable; param_1[1] = 0; param_1[2] = 0; param_1[3] = param_3; param_1[4] = &DAT_1821dbf98; param_1[5] = &DAT_1821dbf98; lVar3 = *param_2; param_1[6] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } param_1[7] = 0; param_1[8] = 0; *(undefined1 *)(param_1 + 9) = param_4; FUN_18116af90(param_1); bVar5 = false; if (*(char *)*param_2 != '\0') { puVar10 = (undefined8 *)FUN_18049a930(local_40,param_2); DVar8 = GetFileAttributesW((LPCWSTR)*puVar10); if (DVar8 != 0xffffffff) { bVar5 = true; } } if (bVar5) { local_58 = *param_2; if ((*(uint *)(local_58 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_58 + -0x10) = *(int *)(local_58 + -0x10) + 1; UNLOCK(); } cVar6 = FUN_181168f80(param_1,&local_58); if (cVar6 == '\0') { iVar9 = FUN_1812327b0(param_2,0x5c); if (iVar9 + 1 < 1) { local_res18 = (undefined1 *)*param_2; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } } else { pbVar12 = (byte *)*param_2; for (; -1 < iVar9; iVar9 = iVar9 + -1) { bVar2 = *pbVar12; if (bVar2 == 0) { local_res18 = &DAT_1821dbf98; goto LAB_18116ca70; } pbVar12 = pbVar12 + 1; if ((char)bVar2 < '\0') { bVar7 = 0x40; bVar4 = bVar2 & 0x40; while ((bVar4 != 0 && (8 < bVar7))) { pbVar12 = pbVar12 + 1; bVar7 = bVar7 >> 1; bVar4 = bVar2 & bVar7; } } } FUN_18049c9e0(&local_res18); } LAB_18116ca70: local_38 = param_1[4]; param_1[4] = local_res18; puVar11 = (uint *)(local_38 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_18049c4e0(&local_50,&DAT_1821d8e5b); local_30 = param_1[5]; param_1[5] = local_50; puVar11 = (uint *)(local_30 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } } } puVar11 = (uint *)(*param_2 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } return param_1; } ############ FUN_ 1812228e0 size=808 ############ undefined8 * FUN_1812228e0(longlong param_1,undefined8 *param_2,undefined8 *param_3) { int *piVar1; uint uVar2; longlong lVar3; byte bVar4; byte bVar5; byte bVar6; int iVar7; undefined4 uVar8; undefined4 *puVar9; uint *puVar10; byte *pbVar11; int iVar12; char *pcVar13; char *local_res20; longlong local_28; char *local_20; undefined8 local_18; local_18 = 0xfffffffffffffffe; iVar7 = FUN_18049bb30(*param_3,&DAT_1821db3c4); if (iVar7 == 0) { LAB_181222b57: puVar9 = (undefined4 *)thunk_FUN_1811316e0(0x1b); LOCK(); *puVar9 = 0; UNLOCK(); *(undefined8 *)(puVar9 + 2) = 4; *param_2 = puVar9 + 4; *(undefined2 *)(puVar9 + 4) = 0x26; } else { iVar7 = FUN_18049bb30(*param_3,&DAT_1821db418); if (iVar7 == 0) { puVar9 = (undefined4 *)thunk_FUN_1811316e0(0x1b); LOCK(); *puVar9 = 0; UNLOCK(); *(undefined8 *)(puVar9 + 2) = 4; *param_2 = puVar9 + 4; *(undefined2 *)(puVar9 + 4) = 0x22; return param_2; } iVar7 = FUN_18049bb30(*param_3,&DAT_1821db410); if (iVar7 == 0) { puVar9 = (undefined4 *)thunk_FUN_1811316e0(0x1b); LOCK(); *puVar9 = 0; UNLOCK(); *(undefined8 *)(puVar9 + 2) = 4; *param_2 = puVar9 + 4; *(undefined2 *)(puVar9 + 4) = 0x27; return param_2; } iVar7 = FUN_18049bb30(*param_3,&DAT_1821db424); if (iVar7 == 0) { puVar9 = (undefined4 *)thunk_FUN_1811316e0(0x1b); LOCK(); *puVar9 = 0; UNLOCK(); *(undefined8 *)(puVar9 + 2) = 4; *param_2 = puVar9 + 4; *(undefined2 *)(puVar9 + 4) = 0x3c; return param_2; } iVar7 = FUN_18049bb30(*param_3,&DAT_1821db420); if (iVar7 == 0) { puVar9 = (undefined4 *)thunk_FUN_1811316e0(0x1b); LOCK(); *puVar9 = 0; UNLOCK(); *(undefined8 *)(puVar9 + 2) = 4; *param_2 = puVar9 + 4; *(undefined2 *)(puVar9 + 4) = 0x3e; return param_2; } iVar7 = FUN_180493050(param_3,0); if (iVar7 != 0x23) { FUN_181221ef0(param_1,param_2,param_3); return param_2; } iVar12 = 1; iVar7 = FUN_180493050(param_3,1); if ((iVar7 - 0x58U & 0xffffffdf) == 0) { pbVar11 = (byte *)*param_3; do { bVar4 = *pbVar11; if (bVar4 == 0) { local_20 = ""; goto LAB_181222bcf; } pbVar11 = pbVar11 + 1; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar11 = pbVar11 + 1; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } iVar12 = iVar12 + -1; } while (-1 < iVar12); FUN_18049c9e0(&local_20); LAB_181222bcf: pcVar13 = local_20; uVar8 = FUN_18049c3c0(local_20); FUN_181233f40(param_2,uVar8); } else { if (9 < iVar7 - 0x30U) { FUN_18049c4e0(&local_28,"illegal escape sequence"); if ((*(uint *)(local_28 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_28 + -0x10) = *(int *)(local_28 + -0x10) + 1; UNLOCK(); } LOCK(); lVar3 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_28; UNLOCK(); puVar10 = (uint *)(lVar3 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } *(undefined1 *)(param_1 + 0x11) = 1; if ((*(uint *)(local_28 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_28 + -0x10); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_28 + -0x10)); } } goto LAB_181222b57; } pbVar11 = (byte *)*param_3; iVar7 = 0; do { bVar4 = *pbVar11; if (bVar4 == 0) { local_res20 = ""; goto LAB_181222a9f; } pbVar11 = pbVar11 + 1; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar11 = pbVar11 + 1; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } iVar7 = iVar7 + -1; } while (-1 < iVar7); FUN_18049c9e0(&local_res20); LAB_181222a9f: pcVar13 = local_res20; iVar7 = atoi(local_res20); FUN_181233f40(param_2,iVar7); } puVar10 = (uint *)(pcVar13 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } return param_2; } ############ FUN_ 181241230 size=238 ############ longlong * FUN_181241230(undefined8 *param_1,longlong *param_2) { longlong *plVar1; longlong lVar2; int iVar3; int *_Memory; longlong *local_res10; local_res10 = param_2; iVar3 = FUN_1812327b0(param_1,0x5c); if (iVar3 < 1) { if (iVar3 == 0) { FUN_18049c9e0(&local_res10,&DAT_1821db634); } else { local_res10 = (longlong *)*param_1; if ((*(uint *)(local_res10 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = (int)local_res10[-2] + 1; UNLOCK(); } } } else { FUN_1812490c0(param_1,&local_res10,0,iVar3); } *param_2 = (longlong)&DAT_1821dbf98; if ((*(uint *)(local_res10 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = (int)local_res10[-2] + 1; UNLOCK(); } LOCK(); lVar2 = *param_2; *param_2 = (longlong)local_res10; UNLOCK(); _Memory = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*(uint *)(local_res10 + -2) & 0x30000000) == 0) { LOCK(); plVar1 = local_res10 + -2; lVar2 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar2 == 0) { /* WARNING: Subroutine does not return */ free(local_res10 + -2); } } return param_2; } ############ FUN_ 1812491d0 size=139 ############ longlong * FUN_1812491d0(longlong *param_1,longlong *param_2,int param_3) { byte bVar1; longlong lVar2; byte bVar3; byte bVar4; byte *pbVar5; if (param_3 < 1) { lVar2 = *param_1; *param_2 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); return param_2; } } else { pbVar5 = (byte *)*param_1; while (param_3 = param_3 + -1, -1 < param_3) { bVar1 = *pbVar5; if (bVar1 == 0) { *param_2 = (longlong)&DAT_1821dbf98; return param_2; } pbVar5 = pbVar5 + 1; if ((char)bVar1 < '\0') { bVar4 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar5 = pbVar5 + 1; bVar4 = bVar4 >> 1; bVar3 = bVar1 & bVar4; } } } FUN_18049c9e0(param_2); } return param_2; } ############ FUN_ 180493470 size=129 ############ undefined8 FUN_180493470(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint *_Memory; undefined8 local_res8; longlong local_res10; local_res8 = param_1; FUN_18049c9e0(&local_res10,param_3,param_3,param_4,0xfffffffffffffffe); FUN_18049c4e0(&local_res8,param_2); FUN_181232aa0(param_1,&local_res8,&local_res10); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 180499180 size=1585 ############ ulonglong FUN_180499180(longlong param_1,undefined8 param_2) { LPCRITICAL_SECTION lpCriticalSection; longlong *plVar1; uint uVar2; byte bVar3; byte bVar4; bool bVar5; bool bVar6; byte bVar7; int iVar8; DWORD DVar9; undefined4 uVar10; ulonglong extraout_RAX; ulonglong uVar11; void *_Memory; undefined8 *puVar12; longlong *plVar13; byte *pbVar14; uint *puVar15; uint *puVar16; int iVar17; undefined1 **ppuVar18; uint uVar19; undefined1 **ppuVar20; bool bVar21; int local_res20 [2]; longlong local_1b0; char *local_1a8; undefined1 *local_1a0 [2]; char *local_190; undefined1 *local_188; undefined1 **local_180; undefined8 local_178; char **local_168; undefined8 local_160; undefined8 local_158; undefined8 local_150; undefined8 local_148; undefined1 local_140; longlong local_138; undefined1 *local_130; void *local_128; longlong local_118; char *local_110; undefined8 local_f0; local_f0 = 0xfffffffffffffffe; uVar19 = 0; bVar6 = false; bVar5 = false; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 200); EnterCriticalSection(lpCriticalSection); if (*(char *)(param_1 + 0xf4) == '\0') { LeaveCriticalSection(lpCriticalSection); FUN_181214a30(param_1 + 0x10,&local_1b0,*(char *)(param_1 + 0x89) == '\0'); if (*(int *)(param_1 + 0x98) < 0) { *(int *)(param_1 + 0x98) = *(int *)(param_1 + 0x98) + -1; bVar21 = *(longlong *)(param_1 + 0x60) == 0; } else { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); *(int *)(param_1 + 0x98) = *(int *)(param_1 + 0x98) + -1; FUN_180499af0(param_1,&local_1b0,param_2); bVar21 = *(longlong *)(param_1 + 0x60) == 0; if (!bVar21) { local_res20[0] = 0x1000; local_160 = 0; local_158 = 0; local_150 = 0; local_148 = 0; local_140 = 1; _Memory = malloc(0x1000); local_128 = _Memory; iVar8 = HttpQueryInfoW(*(undefined8 *)(param_1 + 0x60),0x16,_Memory,local_res20,0); if (iVar8 == 0) { DVar9 = GetLastError(); if (DVar9 == 0x7a) { local_res20[0] = local_res20[0] + 0x1000; /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free(_Memory); } local_180 = (undefined1 **)0x0; local_178 = 0; FUN_18049c800(&local_118,_Memory); FUN_18122cec0(&local_180,local_118); puVar16 = (uint *)(local_118 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } if ((int)local_178._4_4_ < 1) { LAB_180499744: FUN_180488c50(&local_180); /* WARNING: Subroutine does not return */ free(local_180); } bVar21 = local_178._4_4_ != 0; ppuVar20 = local_180; LAB_18049936f: ppuVar18 = ppuVar20; if (!bVar21) { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar18 = &DAT_18267af68; } iVar8 = FUN_181249270(ppuVar18,&DAT_182495db0); if (iVar8 < 0) { local_188 = *ppuVar18; if ((*(uint *)(local_188 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_188 + -0x10) = *(int *)(local_188 + -0x10) + 1; UNLOCK(); } } else { FUN_1812490c0(ppuVar18,&local_188,0,iVar8); } iVar8 = FUN_181249270(ppuVar18); if (-1 < iVar8) { pbVar14 = &DAT_182495db0; iVar17 = 0; LAB_180499412: do { bVar3 = *pbVar14; pbVar14 = pbVar14 + 1; if ((char)bVar3 < '\0') { if ((*pbVar14 & 0xc0) == 0x80) { do { pbVar14 = pbVar14 + 1; } while ((*pbVar14 & 0xc0) == 0x80); iVar17 = iVar17 + 1; goto LAB_180499412; } } else if (bVar3 == 0) goto LAB_18049944a; iVar17 = iVar17 + 1; } while( true ); } local_1a0[0] = &DAT_1821dbf98; goto LAB_1804994c0; } } puVar16 = (uint *)(local_1b0 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar19 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar19 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } uVar11 = (ulonglong)!bVar21; } else { LeaveCriticalSection(lpCriticalSection); uVar11 = extraout_RAX & 0xffffffffffffff00; } return uVar11; LAB_18049944a: iVar8 = iVar8 + iVar17; if (iVar8 < 1) { local_1a0[0] = *ppuVar18; if ((*(uint *)(local_1a0[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1a0[0] + -0x10) = *(int *)(local_1a0[0] + -0x10) + 1; UNLOCK(); } } else { pbVar14 = *ppuVar18; while (iVar8 = iVar8 + -1, -1 < iVar8) { bVar3 = *pbVar14; if (bVar3 == 0) { local_1a0[0] = &DAT_1821dbf98; goto LAB_1804994c0; } pbVar14 = pbVar14 + 1; if ((char)bVar3 < '\0') { bVar7 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar7))) { pbVar14 = pbVar14 + 1; bVar7 = bVar7 >> 1; bVar4 = bVar3 & bVar7; } } } FUN_18049c9e0(local_1a0); } LAB_1804994c0: uVar10 = FUN_1812498b0(&local_160,local_188,local_140,0); puVar12 = (undefined8 *)FUN_181249970(&local_150,uVar10); local_110 = (char *)*puVar12; puVar16 = (uint *)(local_110 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } if (*local_110 == '\0') { local_130 = local_1a0[0]; if ((*(uint *)(local_1a0[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1a0[0] + -0x10) = *(int *)(local_1a0[0] + -0x10) + 1; UNLOCK(); } bVar6 = true; } else { if ((*puVar16 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } local_168 = &local_1a8; local_1a8 = local_110; FUN_181232e20(&local_1a8,&DAT_182495df0,&DAT_182495df1); local_190 = local_1a8; if ((*(uint *)(local_1a8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1a8 + -0x10) = *(int *)(local_1a8 + -0x10) + 1; UNLOCK(); } puVar15 = (uint *)(local_1a8 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } local_168 = &local_190; plVar13 = (longlong *)FUN_181232d30(&local_190,local_1a0); local_138 = *plVar13; if ((*(uint *)(local_138 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_138 + -0x10) = *(int *)(local_138 + -0x10) + 1; UNLOCK(); } puVar15 = (uint *)(local_190 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } bVar5 = true; } FUN_18122c880(&local_160,&local_188); if (bVar5) { bVar5 = false; puVar15 = (uint *)(local_138 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } } if (bVar6) { bVar6 = false; puVar15 = (uint *)(local_130 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } } if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(local_1a0[0] + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(local_188 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } uVar19 = uVar19 + 1; ppuVar20 = ppuVar20 + 1; bVar21 = uVar19 < local_178._4_4_; if ((int)local_178._4_4_ <= (int)uVar19) goto LAB_180499744; goto LAB_18049936f; } ############ FUN_ 181214b70 size=345 ############ void FUN_181214b70(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; byte bVar2; char *pcVar3; byte bVar4; undefined1 *puVar5; byte bVar6; longlong lVar7; longlong lVar8; int iVar9; byte *pbVar10; int iVar11; char local_res8 [8]; undefined1 *local_res10; byte *local_res18; char *local_res20; undefined8 uVar12; uVar12 = 0xfffffffffffffffe; pcVar3 = (char *)*param_1; iVar11 = 0; if (*pcVar3 != '\0') { lVar7 = -1; do { lVar7 = lVar7 + 1; } while (pcVar3[lVar7] != '\0'); local_res18 = (byte *)(pcVar3 + lVar7); iVar9 = iVar11; do { local_res18 = local_res18 + -1; if ((*local_res18 & 0xc0) != 0x80) break; iVar9 = iVar9 + 1; } while (iVar9 < 4); iVar9 = FUN_180492f10(&local_res18); if (iVar9 == 0x2f) goto LAB_181214c12; } local_res8[0] = '/'; local_res8[1] = '\0'; lVar7 = -1; do { lVar8 = lVar7; lVar7 = lVar8 + 1; } while (local_res8[lVar8 + 1] != '\0'); local_res20 = local_res8 + lVar8 + 1; FUN_181232e20(param_1,local_res8,local_res20,param_4,uVar12); LAB_181214c12: iVar9 = FUN_180492f10(param_2); if (iVar9 == 0x2f) { pbVar10 = (byte *)*param_2; do { bVar2 = *pbVar10; if (bVar2 == 0) { local_res10 = &DAT_1821dbf98; goto LAB_181214c7f; } pbVar10 = pbVar10 + 1; if ((char)bVar2 < '\0') { bVar6 = 0x40; bVar4 = bVar2 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar10 = pbVar10 + 1; bVar6 = bVar6 >> 1; bVar4 = bVar2 & bVar6; } } iVar11 = iVar11 + -1; } while (-1 < iVar11); FUN_18049c9e0(&local_res10); LAB_181214c7f: puVar5 = local_res10; FUN_181232d30(param_1,&local_res10); _Memory = (uint *)(puVar5 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } else { FUN_181232d30(param_1,param_2); } return; } ############ FUN_ 181214d80 size=289 ############ int FUN_181214d80(undefined8 *param_1) { uint uVar1; byte bVar2; byte bVar3; byte bVar4; char cVar5; wint_t _C; int iVar6; uint *_Memory; byte *pbVar7; int iVar8; int iVar9; undefined1 *local_res8; iVar9 = 0; iVar8 = 0; while( true ) { _C = FUN_180493050(param_1,iVar8); iVar6 = iswalnum(_C); if ((((iVar6 == 0) && (iVar6 = FUN_180493050(param_1,iVar8), iVar6 != 0x2b)) && (iVar6 = FUN_180493050(param_1,iVar8), iVar6 != 0x2d)) && (iVar6 = FUN_180493050(param_1,iVar8), iVar6 != 0x2e)) break; iVar8 = iVar8 + 1; } if (iVar8 < 1) { local_res8 = (undefined1 *)*param_1; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { pbVar7 = (byte *)*param_1; iVar6 = iVar8; while (iVar6 = iVar6 + -1, -1 < iVar6) { bVar2 = *pbVar7; if (bVar2 == 0) { local_res8 = &DAT_1821dbf98; goto LAB_181214e41; } pbVar7 = pbVar7 + 1; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar7 = pbVar7 + 1; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } } FUN_18049c9e0(&local_res8); } LAB_181214e41: cVar5 = FUN_18124a6c0(&local_res8,&DAT_1821dba3c); if (cVar5 != '\0') { iVar9 = iVar8 + 1; } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return iVar9; } ############ FUN_ 181213190 size=783 ############ /* WARNING: Removing unreachable block (ram,0x000181213238) */ void FUN_181213190(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,char param_4) { byte bVar1; char cVar2; int iVar3; char *pcVar4; uint uVar5; uint uVar6; uint uVar7; void *pvVar8; ulonglong uVar9; longlong lVar10; ulonglong uVar12; void *_Memory; longlong local_res10; char local_res18; char local_res20; void *local_60; int local_58; uint local_54; longlong lVar11; pcVar4 = ",$_-.*!\'"; if ((char)param_3 != '\0') { pcVar4 = "_-.~"; } local_res20 = param_4; FUN_18049c4e0(&local_res10,pcVar4,param_3,param_4,0xfffffffffffffffe); lVar10 = -1; do { lVar11 = lVar10; lVar10 = lVar11 + 1; } while (*(char *)(local_res10 + lVar10) != '\0'); FUN_1812342b0(&local_res10,lVar11 + 3); pvVar8 = (void *)((int)lVar10 + local_res10); memcpy(pvVar8,&DAT_1821dbd24,2); *(undefined1 *)((longlong)pvVar8 + 2) = 0; iVar3 = FUN_18049d240(*param_2); pvVar8 = (void *)*param_2; uVar9 = 0; local_60 = (void *)0x0; local_58 = 0; local_54 = 0; if (0 < iVar3) { FUN_18049bab0(&local_60,iVar3 / 2 + 8 + iVar3 & 0xfffffff8); } uVar5 = local_54; _Memory = local_60; memcpy((void *)((longlong)(int)local_54 + (longlong)local_60),pvVar8,(longlong)iVar3); uVar5 = uVar5 + iVar3; uVar12 = uVar9; local_54 = uVar5; if (0 < (int)uVar5) { do { uVar7 = (uint)uVar9; bVar1 = *(byte *)((longlong)_Memory + uVar12); if ((((0x19 < (byte)(bVar1 + 0x9f)) && (0x19 < (byte)(bVar1 + 0xbf))) && (9 < (byte)(bVar1 - 0x30))) && (iVar3 = FUN_18049bc80(local_res10,(int)(char)bVar1), iVar3 < 0)) { if (-1 < (int)uVar7) { if ((int)uVar7 < (int)uVar5) { *(undefined1 *)((longlong)_Memory + uVar12) = 0x25; } else { iVar3 = uVar5 + 1; uVar6 = uVar5; if (local_58 < iVar3) { if (iVar3 < 0) { iVar3 = uVar5 + 2; } FUN_18049bab0(&local_60,uVar5 + 9 + (iVar3 >> 1) & 0xfffffff8); _Memory = local_60; uVar6 = local_54; } uVar5 = uVar6 + 1; *(undefined1 *)((longlong)(int)uVar6 + (longlong)_Memory) = 0x25; local_54 = uVar5; } } uVar6 = uVar7 + 1; local_res18 = "0123456789ABCDEF"[bVar1 >> 4]; iVar3 = uVar5 + 1; local_res20 = local_res18; if (local_58 < iVar3) { if (iVar3 < 0) { iVar3 = uVar5 + 2; } FUN_18049bab0(&local_60,uVar5 + 9 + (iVar3 >> 1) & 0xfffffff8); _Memory = local_60; uVar5 = local_54; } if (uVar6 < uVar5) { pcVar4 = (char *)((longlong)(int)uVar6 + (longlong)_Memory); memmove(pcVar4 + 1,pcVar4,(longlong)(int)(uVar5 - uVar6)); } else { pcVar4 = (char *)((longlong)(int)uVar5 + (longlong)_Memory); } *pcVar4 = local_res20; local_54 = uVar5 + 1; uVar7 = uVar7 + 2; uVar12 = uVar12 + 2; cVar2 = "0123456789ABCDEF"[(int)(char)bVar1 & 0xf]; iVar3 = uVar5 + 2; local_res20 = cVar2; if (local_58 < iVar3) { if (iVar3 < 0) { iVar3 = uVar5 + 3; } FUN_18049bab0(&local_60,uVar5 + 10 + (iVar3 >> 1) & 0xfffffff8); _Memory = local_60; } uVar5 = local_54; if (uVar7 < local_54) { pcVar4 = (char *)((longlong)(int)uVar7 + (longlong)_Memory); memmove(pcVar4 + 1,pcVar4,(longlong)(int)(local_54 - uVar7)); } else { pcVar4 = (char *)((longlong)(int)local_54 + (longlong)_Memory); } *pcVar4 = cVar2; uVar5 = uVar5 + 1; local_54 = uVar5; } uVar9 = (ulonglong)(uVar7 + 1); uVar12 = uVar12 + 1; } while ((int)(uVar7 + 1) < (int)uVar5); } if (_Memory != (void *)0x0) { if ((int)uVar5 < 0) { FUN_18049c9e0(param_1,_Memory); goto LAB_181213496; } if (0 < (int)uVar5) { FUN_18124a8a0(param_1,_Memory,(longlong)(int)uVar5 + (longlong)_Memory); goto LAB_181213496; } } *param_1 = &DAT_1821dbf98; LAB_181213496: /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181215140 size=1396 ############ /* WARNING: Removing unreachable block (ram,0x000181215593) */ /* WARNING: Removing unreachable block (ram,0x0001812155ab) */ /* WARNING: Removing unreachable block (ram,0x0001812155b9) */ /* WARNING: Removing unreachable block (ram,0x0001812155be) */ void FUN_181215140(longlong *param_1) { byte bVar1; byte bVar2; bool bVar3; bool bVar4; bool bVar5; bool bVar6; bool bVar7; bool bVar8; bool bVar9; bool bVar10; bool bVar11; bool bVar12; bool bVar13; bool bVar14; bool bVar15; bool bVar16; bool bVar17; bool bVar18; byte bVar19; int iVar20; int iVar21; int iVar22; uint uVar23; undefined1 **ppuVar24; undefined1 **ppuVar25; undefined8 uVar26; uint *puVar27; byte *pbVar28; int iVar29; int iVar30; undefined1 *local_res10; undefined1 *local_res18; undefined1 *local_res20; undefined1 *local_a8; longlong local_a0; longlong local_98; longlong local_90; longlong local_88; longlong local_80; longlong local_78; longlong local_70; undefined1 local_68 [8]; longlong local_60 [4]; local_60[1] = 0xfffffffffffffffe; bVar18 = false; bVar16 = false; bVar14 = false; bVar13 = false; bVar12 = false; bVar10 = false; bVar8 = false; bVar6 = false; bVar3 = false; bVar17 = false; bVar15 = false; bVar11 = false; bVar9 = false; bVar7 = false; bVar5 = false; bVar4 = false; iVar20 = FUN_18049bc80(*param_1,0x3f); if (-1 < iVar20) { do { iVar30 = iVar20 + 1; iVar21 = FUN_181232860(param_1,iVar30,0x26); iVar22 = FUN_181232860(param_1,iVar30,0x3d); if (iVar21 < 0) { if (iVar22 < 0) { local_res20 = &DAT_1821dbf98; ppuVar24 = &local_res20; bVar7 = true; bVar4 = bVar3; bVar5 = bVar6; bVar9 = bVar10; bVar11 = bVar12; bVar17 = bVar18; } else { if (iVar22 + 1 < 1) { local_res18 = (undefined1 *)*param_1; bVar16 = bVar15; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } } else { pbVar28 = (byte *)*param_1; for (iVar29 = iVar22; -1 < iVar29; iVar29 = iVar29 + -1) { bVar1 = *pbVar28; if (bVar1 == 0) { local_res18 = &DAT_1821dbf98; bVar4 = bVar3; bVar5 = bVar6; bVar7 = bVar8; bVar9 = bVar10; bVar11 = bVar12; bVar17 = bVar18; goto LAB_18121525c; } pbVar28 = pbVar28 + 1; if ((char)bVar1 < '\0') { bVar19 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar19))) { pbVar28 = pbVar28 + 1; bVar19 = bVar19 >> 1; bVar2 = bVar1 & bVar19; } } } FUN_18049c9e0(&local_res18); bVar4 = bVar3; bVar5 = bVar6; bVar7 = bVar8; bVar9 = bVar10; bVar11 = bVar12; bVar17 = bVar18; } LAB_18121525c: ppuVar24 = (undefined1 **)FUN_1812134e0(&local_88,&local_res18); bVar14 = true; bVar13 = true; } if (iVar22 < 0) { if (iVar30 < 1) { local_res10 = (undefined1 *)*param_1; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } } else { pbVar28 = (byte *)*param_1; for (; -1 < iVar20; iVar20 = iVar20 + -1) { bVar1 = *pbVar28; if (bVar1 == 0) { local_res10 = &DAT_1821dbf98; goto LAB_18121530c; } pbVar28 = pbVar28 + 1; if ((char)bVar1 < '\0') { bVar19 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar19))) { pbVar28 = pbVar28 + 1; bVar19 = bVar19 >> 1; bVar2 = bVar1 & bVar19; } } } FUN_18049c9e0(&local_res10); } LAB_18121530c: ppuVar25 = &local_res10; bVar11 = true; } else { ppuVar25 = (undefined1 **)FUN_1812490c0(param_1,&local_90,iVar30,iVar22); bVar9 = true; } uVar26 = FUN_1812134e0(&local_98,ppuVar25); FUN_181214af0(param_1,uVar26,ppuVar24); puVar27 = (uint *)(local_98 + -0x10); if ((*puVar27 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } if (bVar9) { bVar9 = false; puVar27 = (uint *)(local_90 + -0x10); if ((*puVar27 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } } if (bVar11) { bVar11 = false; puVar27 = (uint *)(local_res10 + -0x10); if ((*puVar27 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } } if (bVar13) { bVar13 = false; puVar27 = (uint *)(local_88 + -0x10); if ((*puVar27 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } } if (bVar14) { bVar14 = false; puVar27 = (uint *)(local_res18 + -0x10); if ((*puVar27 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } } bVar3 = bVar4; bVar6 = bVar5; bVar8 = bVar7; bVar10 = bVar9; bVar12 = bVar11; bVar15 = bVar16; bVar18 = bVar17; if (bVar7) { puVar27 = (uint *)(local_res20 + -0x10); uVar23 = *puVar27; bVar7 = false; LAB_181215605: bVar3 = bVar4; bVar6 = bVar5; bVar8 = bVar7; bVar10 = bVar9; bVar12 = bVar11; bVar16 = bVar15; bVar18 = bVar17; if ((uVar23 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } } } else if ((0 < iVar21) && (iVar22 < iVar21)) { if (iVar22 < 0) { local_a8 = &DAT_1821dbf98; ppuVar24 = &local_a8; uVar26 = FUN_1812490c0(param_1,&local_70,iVar30,iVar21); bVar5 = true; bVar15 = bVar16; bVar17 = true; } else { uVar26 = FUN_1812490c0(param_1,local_60,iVar22 + 1,iVar21); ppuVar24 = (undefined1 **)FUN_1812134e0(local_68,uVar26); bVar15 = true; uVar26 = FUN_1812490c0(param_1,&local_78,iVar30,iVar22); bVar3 = true; bVar5 = bVar6; bVar17 = bVar18; } uVar26 = FUN_1812134e0(&local_80,uVar26); FUN_181214af0(param_1,uVar26,ppuVar24); puVar27 = (uint *)(local_80 + -0x10); if ((*puVar27 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } if (bVar3) { bVar3 = false; puVar27 = (uint *)(local_78 + -0x10); if ((*puVar27 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } } if (bVar5) { bVar5 = false; puVar27 = (uint *)(local_70 + -0x10); if ((*puVar27 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } } if (bVar15) { bVar15 = false; puVar27 = (uint *)(local_60[0] + -0x10); if ((*puVar27 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } } bVar4 = bVar3; bVar6 = bVar5; bVar7 = bVar8; bVar9 = bVar10; bVar11 = bVar12; bVar16 = bVar15; bVar18 = bVar17; if (bVar17) { bVar17 = false; puVar27 = (uint *)(local_a8 + -0x10); uVar23 = *puVar27; goto LAB_181215605; } } iVar20 = iVar21; } while (-1 < iVar21); iVar20 = FUN_181249270(param_1,&DAT_1821dba8c); if (iVar20 < 0) { local_a0 = *param_1; if ((*(uint *)(local_a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a0 + -0x10) = *(int *)(local_a0 + -0x10) + 1; UNLOCK(); } } else { FUN_1812490c0(param_1,&local_a0,0,iVar20); } local_60[2] = *param_1; *param_1 = local_a0; puVar27 = (uint *)(local_60[2] + -0x10); if ((*puVar27 & 0x30000000) == 0) { LOCK(); uVar23 = *puVar27; *puVar27 = *puVar27 - 1; UNLOCK(); if (uVar23 == 0) { /* WARNING: Subroutine does not return */ free(puVar27); } } } return; } ############ FUN_ 1812134e0 size=767 ############ undefined8 * FUN_1812134e0(undefined8 *param_1,undefined8 param_2) { byte bVar1; int iVar2; int iVar3; uint uVar4; uint uVar6; char cVar7; uint uVar8; longlong lVar10; int iVar11; uint uVar12; void *_Memory; bool bVar13; void *local_res20; void *local_50; undefined8 local_48; uint uVar5; uint uVar9; FUN_1812316c0(param_2,&local_res20,0x2b,0x20,0xfffffffffffffffe); iVar2 = FUN_18049bc80(local_res20,0x25); if (iVar2 < 0) { *param_1 = local_res20; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar6 = DAT_1821dbf88 - 1; UNLOCK(); bVar13 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar6; if (bVar13) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return param_1; } iVar3 = FUN_18049d240(local_res20); local_50 = (void *)0x0; local_48 = 0; iVar2 = 0; iVar11 = 0; if (0 < iVar3) { FUN_18049bab0(&local_50,iVar3 / 2 + 8 + iVar3 & 0xfffffff8); iVar2 = local_48._4_4_; iVar11 = (int)local_48; } _Memory = local_50; memcpy((void *)((longlong)iVar2 + (longlong)local_50),local_res20,(longlong)iVar3); uVar6 = iVar2 + iVar3; local_48._4_4_ = uVar6; if (0 < (int)uVar6) { lVar10 = 0; uVar12 = 1; do { if (*(char *)(lVar10 + (longlong)_Memory) == '%') { if (uVar12 < uVar6) { bVar1 = *(byte *)(lVar10 + 1 + (longlong)_Memory); } else { bVar1 = 0; } uVar9 = (uint)bVar1; uVar8 = uVar9 - 0x30; if (9 < uVar8) { if (uVar9 - 0x61 < 6) { uVar8 = uVar9 - 0x57; } else if (uVar9 - 0x41 < 6) { uVar8 = uVar9 - 0x37; } else { uVar8 = 0xffffffff; } } uVar9 = uVar12 + 2; if (uVar12 + 1 < uVar6) { bVar1 = *(byte *)(lVar10 + 2 + (longlong)_Memory); } else { bVar1 = 0; } uVar5 = (uint)bVar1; uVar4 = uVar5 - 0x30; if (9 < uVar4) { if (uVar5 - 0x61 < 6) { uVar4 = uVar5 - 0x57; } else if (uVar5 - 0x41 < 6) { uVar4 = uVar5 - 0x37; } else { uVar4 = 0xffffffff; } } if ((-1 < (int)uVar8) && (-1 < (int)uVar4)) { cVar7 = (char)uVar8 * '\x10' + (char)uVar4; if (-1 < lVar10) { if ((int)(uVar12 - 1) < (int)uVar6) { *(char *)(lVar10 + (longlong)_Memory) = cVar7; } else { uVar8 = uVar6; if (iVar11 < (int)(uVar6 + 1)) { FUN_18049bab0(&local_50); _Memory = local_50; uVar8 = local_48._4_4_; iVar11 = (int)local_48; } uVar6 = uVar8 + 1; *(char *)((longlong)(int)uVar8 + (longlong)_Memory) = cVar7; local_48._4_4_ = uVar6; } } if ((int)uVar9 < 0) { uVar9 = 0; } else if ((int)uVar6 < (int)uVar9) { uVar9 = uVar6; } if ((int)uVar12 < 0) { uVar8 = 0; } else { uVar8 = uVar12; if ((int)uVar6 < (int)uVar12) { uVar8 = uVar6; } } iVar2 = uVar9 - uVar8; if (0 < iVar2) { memmove((void *)((longlong)(int)uVar8 + (longlong)_Memory), (void *)((longlong)iVar2 + (longlong)(int)uVar8 + (longlong)_Memory), (longlong)(int)((uVar6 - uVar8) - iVar2)); local_48._4_4_ = uVar6 - iVar2; iVar2 = 0; if (0 < (int)(local_48._4_4_ * 2)) { iVar2 = local_48._4_4_ * 2; } uVar6 = local_48._4_4_; if (iVar2 < iVar11) { uVar9 = local_48._4_4_; if ((int)local_48._4_4_ < 0x40) { uVar9 = 0x40; } if ((int)uVar9 < iVar11) { FUN_18049bab0(&local_50); _Memory = local_50; uVar6 = local_48._4_4_; iVar11 = (int)local_48; } } } } } lVar10 = lVar10 + 1; bVar13 = (int)uVar12 < (int)uVar6; uVar12 = uVar12 + 1; } while (bVar13); } if (_Memory != (void *)0x0) { if ((int)uVar6 < 0) { FUN_18049c9e0(param_1,_Memory); goto LAB_1812137b6; } if (0 < (int)uVar6) { FUN_18124a8a0(param_1,_Memory,(longlong)(int)uVar6 + (longlong)_Memory); goto LAB_1812137b6; } } *param_1 = &DAT_1821dbf98; LAB_1812137b6: /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181240ff0 size=434 ############ ulonglong FUN_181240ff0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3, undefined8 param_4) { uint uVar1; byte bVar2; int iVar3; byte *pbVar4; undefined8 uVar5; byte *pbVar6; uint *puVar7; byte *pbVar8; int iVar9; byte *local_res10; longlong local_res18 [2]; if (*(char *)*param_2 == '\0') { return (ulonglong)*param_2 & 0xffffffffffffff00; } iVar3 = FUN_1812327b0(param_1,0x5c,param_3,param_4,0xfffffffffffffffe); if (iVar3 < 1) { if (iVar3 == 0) { FUN_18049c9e0(&local_res10,&DAT_1821db634); } else { local_res10 = (byte *)*param_1; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } } } else { FUN_1812490c0(param_1,&local_res10,0,iVar3); } pbVar8 = local_res10; if (((byte *)*param_2 == local_res10) || (iVar3 = FUN_18049bb30(*param_2), iVar3 == 0)) { bVar2 = 1; } else { pbVar4 = (byte *)*param_2; iVar3 = 0; iVar9 = 0; while( true ) { while( true ) { bVar2 = *pbVar4; pbVar4 = pbVar4 + 1; if (-1 < (char)bVar2) break; if ((*pbVar4 & 0xc0) != 0x80) goto LAB_1812410e7; do { pbVar4 = pbVar4 + 1; } while ((*pbVar4 & 0xc0) == 0x80); iVar9 = iVar9 + 1; } pbVar6 = pbVar8; if (bVar2 == 0) break; LAB_1812410e7: iVar9 = iVar9 + 1; } while( true ) { while( true ) { pbVar4 = pbVar6 + 1; if (-1 < (char)*pbVar6) break; if ((*pbVar4 & 0xc0) != 0x80) goto LAB_181241118; do { pbVar4 = pbVar4 + 1; } while ((*pbVar4 & 0xc0) == 0x80); iVar3 = iVar3 + 1; pbVar6 = pbVar4; } if (*pbVar6 == 0) break; LAB_181241118: iVar3 = iVar3 + 1; pbVar6 = pbVar4; } if (iVar9 < iVar3) { uVar5 = FUN_181241230(param_1,local_res18); bVar2 = FUN_181240ff0(uVar5,param_2); puVar7 = (uint *)(local_res18[0] + -0x10); pbVar8 = local_res10; if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } else { bVar2 = 0; } } puVar7 = (uint *)(pbVar8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } return (ulonglong)bVar2; } ############ FUN_ 18123df70 size=710 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18123df70(undefined4 *param_1,longlong *param_2,undefined4 param_3) { byte bVar1; char cVar2; longlong lVar3; byte bVar4; byte bVar5; int iVar6; int iVar7; ulonglong *puVar8; undefined4 *puVar9; longlong *plVar10; undefined8 uVar11; undefined8 uVar12; uint uVar13; ulonglong uVar14; uint *puVar15; byte *pbVar16; char *_Src; undefined1 auStack_d8 [32]; undefined4 local_b8; undefined4 *local_a8; undefined1 *local_a0; longlong *local_98; longlong local_90; undefined1 local_88 [8]; undefined1 local_80 [8]; longlong local_78 [2]; undefined1 *local_68; char local_42 [2]; undefined8 local_40; local_78[1] = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_d8; local_98 = (longlong *)CONCAT44(local_98._4_4_,param_3); local_68 = local_80; local_a8 = param_1; iVar6 = FUN_1812327b0(param_2,0x2e); iVar7 = FUN_1812327b0(param_2,0x5c); if (iVar7 < iVar6) { if (iVar6 < 1) { local_a0 = (undefined1 *)*param_2; if ((*(uint *)(local_a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a0 + -0x10) = *(int *)(local_a0 + -0x10) + 1; UNLOCK(); } } else { pbVar16 = (byte *)*param_2; while (iVar6 = iVar6 + -1, -1 < iVar6) { bVar1 = *pbVar16; if (bVar1 == 0) goto LAB_18123e05d; pbVar16 = pbVar16 + 1; if ((char)bVar1 < '\0') { bVar5 = 0x40; bVar4 = bVar1 & 0x40; while ((bVar4 != 0 && (8 < bVar5))) { pbVar16 = pbVar16 + 1; bVar5 = bVar5 >> 1; bVar4 = bVar1 & bVar5; } } } FUN_18049c9e0(&local_a0); } } else { LAB_18123e05d: local_a0 = &DAT_1821dbf98; } puVar8 = (ulonglong *)FUN_18123aca0(); uVar14 = *puVar8 * 0x5deece66d + 0xb & 0xffffffffffff; *puVar8 = uVar14; uVar14 = (longlong)uVar14 >> 0x10; _Src = local_42 + 1; local_42[1] = 0; do { _Src = _Src + -1; cVar2 = "0123456789abcdef"[(uint)uVar14 & 0xf]; *_Src = cVar2; uVar13 = (uint)uVar14 >> 4; uVar14 = (ulonglong)uVar13; } while (uVar13 != 0); if (cVar2 == '\0') { local_a8 = (undefined4 *)&DAT_1821dbf98; } else { uVar14 = (longlong)&local_40 + -(longlong)_Src + 3 & 0xfffffffffffffffc; puVar9 = (undefined4 *)thunk_FUN_1811316e0(uVar14 + 0x17); LOCK(); *puVar9 = 0; UNLOCK(); *(ulonglong *)(puVar9 + 2) = uVar14; puVar9 = puVar9 + 4; memcpy(puVar9,_Src,(size_t)(local_42 + -(longlong)_Src + 1)); *(char *)((longlong)puVar9 + (longlong)(local_42 + -(longlong)_Src + 1)) = '\0'; param_3 = local_98._0_4_; local_a8 = puVar9; } plVar10 = (longlong *)FUN_1812411b0(param_2,local_88); local_98 = plVar10; FUN_181232e20(plVar10,&DAT_1821d9f74,&DAT_1821d9f79); local_90 = *plVar10; if ((*(uint *)(local_90 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_90 + -0x10) = *(int *)(local_90 + -0x10) + 1; UNLOCK(); } puVar15 = (uint *)(*plVar10 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } uVar11 = FUN_181232aa0(local_80,&local_90,&local_a8); uVar12 = FUN_181241230(param_2,local_78); local_b8 = param_3; FUN_18123e260(param_1,uVar12,uVar11,&local_a0); puVar15 = (uint *)(local_78[0] + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } puVar15 = local_a8 + -4; if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } puVar15 = (uint *)(local_a0 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } lVar3 = *param_2; *(longlong *)(param_1 + 2) = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } } ############ FUN_ 1804ecd50 size=282 ############ undefined8 * FUN_1804ecd50(undefined8 *param_1,longlong *param_2) { uint *_Memory; byte bVar1; byte bVar2; byte bVar3; int iVar4; uint uVar5; undefined8 *puVar6; byte *pbVar7; byte *local_res10; undefined8 local_res18; for (puVar6 = *(undefined8 **)(*param_2 + 0x10); puVar6 != (undefined8 *)0x0; puVar6 = (undefined8 *)*puVar6) { local_res18 = puVar6[1]; iVar4 = FUN_18048cbc0(local_res18,"xlink:href"); if (iVar4 == 0) { puVar6 = puVar6 + 2; goto LAB_1804ecdaa; } } puVar6 = (undefined8 *)FUN_181220d40(); LAB_1804ecdaa: local_res10 = (byte *)*puVar6; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } iVar4 = FUN_180492f10(&local_res10); if (iVar4 == 0x23) { iVar4 = 0; pbVar7 = local_res10; do { bVar1 = *pbVar7; if (bVar1 == 0) { *param_1 = &DAT_1821dbf98; goto LAB_1804ece2d; } pbVar7 = pbVar7 + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar7 = pbVar7 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } iVar4 = iVar4 + -1; } while (-1 < iVar4); FUN_18049c9e0(param_1); LAB_1804ece2d: uVar5 = *_Memory; } else { *param_1 = &DAT_1821dbf98; uVar5 = *_Memory; } if ((uVar5 & 0x30000000) == 0) { LOCK(); uVar5 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 1804ece70 size=455 ############ undefined8 * FUN_1804ece70(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; byte bVar2; byte bVar3; char cVar4; byte bVar5; int iVar6; uint *puVar7; byte *pbVar8; int iVar9; undefined1 *local_res18; undefined1 *local_res20; cVar4 = FUN_18124a650(param_2,&DAT_18249efe0,param_3,param_4,0xfffffffffffffffe); if (cVar4 == '\0') { *param_1 = &DAT_1821dbf98; return param_1; } pbVar8 = &DAT_18249f000; iVar6 = FUN_181249270(param_2,&DAT_18249f000); if (iVar6 < 0) { LAB_1804ecec0: local_res18 = &DAT_1821dbf98; } else { iVar9 = 0; while( true ) { while( true ) { bVar2 = *pbVar8; pbVar8 = pbVar8 + 1; if (-1 < (char)bVar2) break; if ((*pbVar8 & 0xc0) != 0x80) goto LAB_1804ecf05; do { pbVar8 = pbVar8 + 1; } while ((*pbVar8 & 0xc0) == 0x80); iVar9 = iVar9 + 1; } if (bVar2 == 0) break; LAB_1804ecf05: iVar9 = iVar9 + 1; } iVar9 = iVar9 + iVar6; if (iVar9 < 1) { local_res18 = (undefined1 *)*param_2; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } } else { pbVar8 = (byte *)*param_2; while (iVar9 = iVar9 + -1, -1 < iVar9) { bVar2 = *pbVar8; if (bVar2 == 0) goto LAB_1804ecec0; pbVar8 = pbVar8 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { pbVar8 = pbVar8 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } } FUN_18049c9e0(&local_res18); } } iVar6 = FUN_181232460(&local_res18,&DAT_182496890); if (iVar6 < 0) { local_res20 = local_res18; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } } else { FUN_1812490c0(&local_res18,&local_res20,0,iVar6); } FUN_181248e40(&local_res20,param_1); puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_res18 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } return param_1; } ############ FUN_ 1804f26a0 size=2518 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804f26a0(float *param_1,longlong *param_2) { float fVar1; uint uVar2; byte bVar3; byte bVar4; double dVar5; void *pvVar6; longlong *plVar7; float *pfVar8; char cVar9; int iVar10; undefined1 **ppuVar11; byte bVar12; byte *pbVar13; uint *puVar14; char *pcVar15; uint uVar16; byte *pbVar17; uint uVar18; float *pfVar19; int iVar20; undefined1 **ppuVar21; ulonglong uVar22; float fVar23; float fVar24; float fVar25; undefined1 auStack_228 [32]; float local_208; float fStack_204; float fStack_200; float fStack_1fc; undefined8 local_1f8; byte *local_1f0; byte *local_1e8; undefined1 **local_1e0; undefined8 local_1d8; byte *local_1d0; byte *local_1c8; undefined1 *local_1c0; longlong *local_1b8; float *local_1b0; undefined8 local_1a8; float fStack_1a0; undefined4 uStack_19c; undefined8 local_198; float local_190; undefined8 uStack_18c; undefined4 uStack_184; ulonglong local_180; undefined8 local_178; undefined4 uStack_170; float fStack_16c; ulonglong local_168; float local_160; float fStack_15c; float fStack_158; float fStack_154; undefined8 local_150; float local_148; float fStack_144; float fStack_140; float fStack_13c; undefined8 local_138; undefined4 local_130; float fStack_12c; undefined8 uStack_128; undefined8 uStack_120; undefined8 local_118; longlong *local_110; byte *local_108; float local_100 [4]; float local_f0; undefined4 local_ec; ulonglong local_e8; local_118 = 0xfffffffffffffffe; local_e8 = DAT_182615970 ^ (ulonglong)auStack_228; param_1[0] = 1.0; param_1[1] = 0.0; uVar18 = 0; param_1[2] = 0.0; param_1[3] = 0.0; param_1[4] = 1.0; uVar2 = DAT_1824c4f30; fVar23 = DAT_1824c3ea4; fVar1 = DAT_1824c3c78; param_1[5] = 0.0; pbVar17 = (byte *)*param_2; local_1b8 = param_2; local_1b0 = param_1; local_110 = param_2; if (*pbVar17 == 0) { puVar14 = (uint *)(*param_2 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } } local_1e0 = (undefined1 **)0x0; local_1d8 = 0; iVar10 = FUN_181249270(param_2,&DAT_1824968a8); if (-1 < iVar10) { pbVar13 = &DAT_1824968a8; uVar16 = uVar18; LAB_1804f27c0: do { bVar3 = *pbVar13; pbVar13 = pbVar13 + 1; if ((char)bVar3 < '\0') { if ((*pbVar13 & 0xc0) == 0x80) { do { pbVar13 = pbVar13 + 1; } while ((*pbVar13 & 0xc0) == 0x80); uVar16 = uVar16 + 1; goto LAB_1804f27c0; } } else if (bVar3 == 0) goto LAB_1804f27ed; uVar16 = uVar16 + 1; } while( true ); } LAB_1804f27a4: local_1f0 = &DAT_1821dbf98; goto LAB_1804f2850; LAB_1804f27ed: iVar10 = uVar16 + iVar10; if (iVar10 < 1) { local_1f0 = pbVar17; if ((*(uint *)(pbVar17 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar17 + -0x10) = *(int *)(pbVar17 + -0x10) + 1; UNLOCK(); } } else { while (iVar10 = iVar10 + -1, -1 < iVar10) { bVar3 = *pbVar17; if (bVar3 == 0) goto LAB_1804f27a4; pbVar17 = pbVar17 + 1; if ((char)bVar3 < '\0') { bVar12 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar12))) { pbVar17 = pbVar17 + 1; bVar12 = bVar12 >> 1; bVar4 = bVar3 & bVar12; } } } FUN_18049c9e0(&local_1f0,pbVar17); } LAB_1804f2850: iVar10 = FUN_181249270(&local_1f0,&DAT_182496890); if (iVar10 < 0) { local_1c8 = local_1f0; if ((*(uint *)(local_1f0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1f0 + -0x10) = *(int *)(local_1f0 + -0x10) + 1; UNLOCK(); } } else { FUN_1812490c0(&local_1f0,&local_1c8,0,iVar10); } pbVar17 = local_1c8; FUN_18122d110(&local_1e0,local_1c8,&DAT_182496884,&DAT_18249336a); puVar14 = (uint *)(pbVar17 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar16 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar16 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_1f0 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar16 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar16 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } FUN_18122d5d0(&local_1e0); pvVar6 = ThreadLocalStoragePointer; pfVar19 = local_100; uVar16 = local_1d8._4_4_; uVar22 = (ulonglong)_tls_index; ppuVar21 = local_1e0; do { ppuVar11 = ppuVar21; if (uVar16 <= uVar18) { if ((*(int *)(*(longlong *)((longlong)pvVar6 + uVar22 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar11 = &DAT_18267af68; } local_1c0 = *ppuVar11; dVar5 = (double)FUN_18049bd80(&local_1c0); pfVar8 = local_1b0; plVar7 = local_1b8; *pfVar19 = (float)dVar5; uVar18 = uVar18 + 1; ppuVar21 = ppuVar21 + 1; pfVar19 = pfVar19 + 1; } while ((int)uVar18 < 6); local_208 = _DAT_1824c4780; fStack_204 = _UNK_1824c4784; fStack_200 = _UNK_1824c4788; fStack_1fc = _UNK_1824c478c; local_1f8 = 0x3f800000; pcVar15 = "matrix"; iVar20 = 0; iVar10 = iVar20; LAB_1804f29c0: do { bVar3 = *pcVar15; pcVar15 = pcVar15 + 1; if ((char)bVar3 < '\0') { if ((*pcVar15 & 0xc0U) == 0x80) { do { pcVar15 = pcVar15 + 1; } while ((*pcVar15 & 0xc0U) == 0x80); iVar10 = iVar10 + 1; goto LAB_1804f29c0; } } else if (bVar3 == 0) break; iVar10 = iVar10 + 1; } while( true ); iVar10 = FUN_18049db60(*local_1b8,"matrix",iVar10); if (iVar10 != 0) { pcVar15 = "translate"; iVar10 = iVar20; LAB_1804f2a54: do { bVar3 = *pcVar15; pcVar15 = pcVar15 + 1; if ((char)bVar3 < '\0') { if ((*pcVar15 & 0xc0U) == 0x80) { do { pcVar15 = pcVar15 + 1; } while ((*pcVar15 & 0xc0U) == 0x80); iVar10 = iVar10 + 1; goto LAB_1804f2a54; } } else if (bVar3 == 0) goto LAB_1804f2a8a; iVar10 = iVar10 + 1; } while( true ); } local_208 = local_100[0]; fStack_204 = local_100[2]; fStack_200 = local_f0; fStack_1fc = local_100[1]; local_1f8 = CONCAT44(local_ec,local_100[3]); goto LAB_1804f2d42; LAB_1804f2a8a: iVar10 = FUN_18049db60(*plVar7,"translate",iVar10); if (iVar10 != 0) { pcVar15 = "scale"; iVar10 = iVar20; LAB_1804f2ae4: do { bVar3 = *pcVar15; pcVar15 = pcVar15 + 1; if ((char)bVar3 < '\0') { if ((*pcVar15 & 0xc0U) == 0x80) { do { pcVar15 = pcVar15 + 1; } while ((*pcVar15 & 0xc0U) == 0x80); iVar10 = iVar10 + 1; goto LAB_1804f2ae4; } } else if (bVar3 == 0) goto LAB_1804f2b1a; iVar10 = iVar10 + 1; } while( true ); } fStack_1fc = 0.0; local_1a8 = 0x3f800000; fStack_1a0 = local_100[0]; uStack_19c = 0; local_198 = CONCAT44(local_100[1],fVar23); LAB_1804f2d37: fStack_204 = 0.0; local_208 = 1.0; fStack_200 = local_100[0]; goto LAB_1804f2d3c; LAB_1804f2b1a: iVar10 = FUN_18049db60(*plVar7,"scale",iVar10); if (iVar10 != 0) { pcVar15 = "rotate"; iVar10 = iVar20; LAB_1804f2b75: do { bVar3 = *pcVar15; pcVar15 = pcVar15 + 1; if ((char)bVar3 < '\0') { if ((*pcVar15 & 0xc0U) == 0x80) { do { pcVar15 = pcVar15 + 1; } while ((*pcVar15 & 0xc0U) == 0x80); iVar10 = iVar10 + 1; goto LAB_1804f2b75; } } else if (bVar3 == 0) goto LAB_1804f2baa; iVar10 = iVar10 + 1; } while( true ); } local_190 = local_100[0]; uStack_18c = 0; uStack_184 = 0; local_208 = local_100[0]; fStack_204 = 0.0; fStack_200 = 0.0; fStack_1fc = 0.0; fVar23 = local_100[1 < (int)uVar16]; local_100[1] = 0.0; local_180 = (ulonglong)(uint)fVar23; goto LAB_1804f2d3c; LAB_1804f2c8d: iVar10 = FUN_18049db60(*plVar7,&DAT_18249f23c,iVar10); if (iVar10 == 0) { fStack_204 = tanf(local_100[0] * fVar1); uStack_120 = _UNK_1824c47e8; uStack_128._0_4_ = (float)_DAT_1824c47e0; uStack_128._4_4_ = (float)((ulonglong)_DAT_1824c47e0 >> 0x20); local_130 = 0x3f800000; local_208 = 1.0; fStack_200 = (float)uStack_128; fStack_1fc = uStack_128._4_4_; local_1f8 = _UNK_1824c47e8; fStack_12c = fStack_204; uStack_128 = _DAT_1824c47e0; } else { cVar9 = FUN_18124a650(plVar7,"skewY"); if (cVar9 != '\0') { fStack_1fc = tanf(local_100[0] * fVar1); local_100[0] = 0.0; local_178 = 0x3f800000; uStack_170 = 0; local_100[1] = 0.0; local_168 = (ulonglong)(uint)fVar23; fStack_16c = fStack_1fc; goto LAB_1804f2d37; } } goto LAB_1804f2d42; LAB_1804f2e9d: iVar10 = iVar10 + iVar20; if (iVar10 < 1) { local_1e8 = (byte *)*plVar7; if ((*(uint *)(local_1e8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1e8 + -0x10) = *(int *)(local_1e8 + -0x10) + 1; UNLOCK(); } } else { pbVar17 = (byte *)*plVar7; while (iVar10 = iVar10 + -1, -1 < iVar10) { bVar3 = *pbVar17; if (bVar3 == 0) goto LAB_1804f2e4d; pbVar17 = pbVar17 + 1; if ((char)bVar3 < '\0') { bVar12 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar12))) { pbVar17 = pbVar17 + 1; bVar12 = bVar12 >> 1; bVar4 = bVar3 & bVar12; } } } FUN_18049c9e0(&local_1e8); } goto LAB_1804f2f29; LAB_1804f2baa: iVar10 = FUN_18049db60(*plVar7,"rotate",iVar10); if (iVar10 != 0) { pbVar17 = &DAT_18249f23c; iVar10 = iVar20; LAB_1804f2c60: do { bVar3 = *pbVar17; pbVar17 = pbVar17 + 1; if ((char)bVar3 < '\0') { if ((*pbVar17 & 0xc0) == 0x80) { do { pbVar17 = pbVar17 + 1; } while ((*pbVar17 & 0xc0) == 0x80); iVar10 = iVar10 + 1; goto LAB_1804f2c60; } } else if (bVar3 == 0) goto LAB_1804f2c8d; iVar10 = iVar10 + 1; } while( true ); } fVar23 = cosf(local_100[0] * fVar1); fStack_1fc = sinf(local_100[0] * fVar1); fStack_204 = (float)((uint)fStack_1fc ^ uVar2); fStack_200 = (fStack_1fc * local_100[2] - fVar23 * local_100[1]) + local_100[1]; local_100[1] = local_100[2] - (fVar23 * local_100[2] + fStack_1fc * local_100[1]); local_150 = CONCAT44(local_100[1],fVar23); local_208 = fVar23; local_160 = fVar23; fStack_15c = fStack_204; fStack_158 = fStack_200; fStack_154 = fStack_1fc; LAB_1804f2d3c: local_1f8 = CONCAT44(local_100[1],fVar23); LAB_1804f2d42: fVar23 = pfVar8[4]; fVar1 = pfVar8[3]; fVar25 = local_1f8._4_4_ * fVar23 + fStack_200 * fVar1 + pfVar8[5]; fVar24 = fStack_204 * fVar1 + (float)local_1f8 * fVar23; fStack_13c = local_208 * fVar1 + fStack_1fc * fVar23; fVar23 = pfVar8[1]; fVar1 = *pfVar8; fStack_140 = local_1f8._4_4_ * fVar23 + fStack_200 * fVar1 + pfVar8[2]; fStack_144 = fStack_204 * fVar1 + (float)local_1f8 * fVar23; local_148 = local_208 * fVar1 + fStack_1fc * fVar23; *pfVar8 = local_148; pfVar8[1] = fStack_144; pfVar8[2] = fStack_140; pfVar8[3] = fStack_13c; local_138 = CONCAT44(fVar25,fVar24); *(ulonglong *)(pfVar8 + 4) = CONCAT44(fVar25,fVar24); iVar10 = FUN_181249270(plVar7,&DAT_182496890); if (-1 < iVar10) { pbVar17 = &DAT_182496890; LAB_1804f2e70: do { bVar3 = *pbVar17; pbVar17 = pbVar17 + 1; if ((char)bVar3 < '\0') { if ((*pbVar17 & 0xc0) == 0x80) { do { pbVar17 = pbVar17 + 1; } while ((*pbVar17 & 0xc0) == 0x80); iVar20 = iVar20 + 1; goto LAB_1804f2e70; } } else if (bVar3 == 0) goto LAB_1804f2e9d; iVar20 = iVar20 + 1; } while( true ); } LAB_1804f2e4d: local_1e8 = &DAT_1821dbf98; LAB_1804f2f29: pbVar17 = local_1e8; if (*local_1e8 != 0) { while ((bVar3 = *pbVar17, bVar3 == 0x20 || ((byte)(bVar3 - 9) < 5))) { pbVar17 = pbVar17 + 1; if ((char)bVar3 < '\0') { bVar12 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar12))) { pbVar17 = pbVar17 + 1; bVar12 = bVar12 >> 1; bVar4 = bVar3 & bVar12; } } } if (pbVar17 != local_1e8) { FUN_18049c9e0(&local_1d0); goto LAB_1804f2f99; } } local_1d0 = local_1e8; if ((*(uint *)(local_1e8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1e8 + -0x10) = *(int *)(local_1e8 + -0x10) + 1; UNLOCK(); } LAB_1804f2f99: local_108 = (byte *)*plVar7; *plVar7 = (longlong)local_1d0; puVar14 = (uint *)(local_108 + -0x10); local_1d0 = local_108; if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_1e8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } FUN_180488c50(&local_1e0); /* WARNING: Subroutine does not return */ free(local_1e0); } ############ FUN_ 18132bdc0 size=1284 ############ /* WARNING: Removing unreachable block (ram,0x00018132c231) */ /* WARNING: Removing unreachable block (ram,0x00018132c250) */ /* WARNING: Removing unreachable block (ram,0x00018132c25b) */ /* WARNING: Removing unreachable block (ram,0x00018132c255) */ /* WARNING: Removing unreachable block (ram,0x00018132c25d) */ /* WARNING: Removing unreachable block (ram,0x00018132c262) */ /* WARNING: Removing unreachable block (ram,0x00018132c266) */ /* WARNING: Removing unreachable block (ram,0x00018132c273) */ /* WARNING: Removing unreachable block (ram,0x00018132c293) */ /* WARNING: Removing unreachable block (ram,0x00018132c298) */ /* WARNING: Removing unreachable block (ram,0x00018132c2a5) */ /* WARNING: Removing unreachable block (ram,0x00018132c27a) */ void FUN_18132bdc0(longlong *param_1,longlong *param_2) { int *piVar1; longlong *plVar2; uint uVar3; char *pcVar4; bool bVar5; bool bVar6; int iVar7; int iVar8; DWORD DVar9; undefined8 *puVar10; longlong lVar11; undefined8 uVar12; longlong *plVar13; uint *puVar14; int iVar15; char *local_res20; uint in_stack_ffffffffffffff28; char *local_c8; void *local_c0; undefined8 local_b8; char *local_b0; char *local_a0; undefined8 local_98; undefined8 local_90; char *local_88; char *local_80; longlong local_78; longlong local_70; undefined8 local_68; char *local_60; char *local_58; undefined1 local_50 [16]; local_68 = 0xfffffffffffffffe; iVar15 = 0; plVar2 = param_1 + 0x1f; if ((*plVar2 != *param_2) && (iVar7 = FUN_18049bb30(*plVar2), iVar7 != 0)) { (**(code **)(*(longlong *)param_1[0x24] + 0x20))(); pcVar4 = (char *)*param_2; if ((*(uint *)(pcVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar4 + -0x10) = *(int *)(pcVar4 + -0x10) + 1; UNLOCK(); } local_res20 = pcVar4; if (*pcVar4 == '\0') { FUN_18049c9e0(&local_88,&DAT_1821db634); local_res20 = local_88; puVar14 = (uint *)(pcVar4 + -0x10); local_60 = pcVar4; if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } } local_98 = 0; local_90 = 0; local_c0 = (void *)0x0; local_b8 = 0; if (*(code **)(*param_1 + 0x160) == FUN_18132a0b0) { FUN_18132a0d0(&local_98,&local_c0); } else { (**(code **)(*param_1 + 0x160))(param_1,&local_98,&local_c0); } iVar7 = local_b8._4_4_; if (0 < local_b8._4_4_) { do { iVar8 = FUN_18049bb30(*(undefined8 *)((longlong)local_c0 + (longlong)iVar15 * 8),local_res20 ); if (iVar8 == 0) { if (-1 < iVar15) goto LAB_18132c009; break; } iVar15 = iVar15 + 1; } while (iVar15 < iVar7); } iVar15 = FUN_181349560(param_1 + 0x26); do { iVar15 = iVar15 + -1; if (iVar15 < 0) { iVar15 = FUN_181349560(param_1 + 0x26); if ((*local_res20 != '\0') && (iVar15 + 2 != 0)) { if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } local_a0 = local_res20; FUN_1813486a0(param_1 + 0x49,iVar15 + 2,&local_a0,1,in_stack_ffffffffffffff28 & 0xffffff00 ); } break; } puVar10 = (undefined8 *)FUN_1812ebeb0(param_1 + 0x26,iVar15); if (puVar10 == (undefined8 *)0x0) { local_b0 = ""; } else { local_b0 = (char *)*puVar10; if ((*(uint *)(local_b0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_b0 + -0x10) = *(int *)(local_b0 + -0x10) + 1; UNLOCK(); } } pcVar4 = local_b0; if ((local_b0 == local_res20) || (iVar7 = FUN_18049bb30(local_b0,local_res20), iVar7 == 0)) { bVar5 = true; } else { bVar5 = false; } puVar14 = (uint *)(pcVar4 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } } while (!bVar5); LAB_18132c009: FUN_180488c50(&local_c0); /* WARNING: Subroutine does not return */ free(local_c0); } if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*param_2 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar11 = *plVar2; *plVar2 = *param_2; UNLOCK(); puVar14 = (uint *)(lVar11 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } FUN_18132e3a0(param_1[0x1c],plVar2,1); lVar11 = __RTDynamicCast(param_1[0x24],0, &juce::DirectoryContentsDisplayComponent::RTTI_Type_Descriptor, &juce::FileTreeComponent::RTTI_Type_Descriptor,0); if (lVar11 != 0) { FUN_181324bd0(lVar11); } pcVar4 = (char *)*plVar2; if ((*(uint *)(pcVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar4 + -0x10) = *(int *)(pcVar4 + -0x10) + 1; UNLOCK(); } local_c8 = pcVar4; if (*pcVar4 == '\0') { FUN_18049c9e0(&local_80,&DAT_1821db634); local_c8 = local_80; puVar14 = (uint *)(pcVar4 + -0x10); local_58 = pcVar4; if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } } FUN_1812eb570(param_1 + 0x26,&local_c8); uVar12 = FUN_181241230(plVar2,&local_70); bVar5 = false; puVar10 = (undefined8 *)FUN_18049a930(local_50,uVar12); DVar9 = GetFileAttributesW((LPCWSTR)*puVar10); if (((DVar9 & 0x10) == 0) || (bVar6 = true, DVar9 == 0xffffffff)) { bVar6 = false; } if (bVar6) { plVar13 = (longlong *)FUN_181241230(plVar2,&local_78); bVar5 = true; if ((*plVar13 != *plVar2) && (iVar15 = FUN_18049bb30(*plVar13), iVar15 != 0)) { uVar12 = 1; goto LAB_18132c1c0; } } uVar12 = 0; LAB_18132c1c0: FUN_18133e970(param_1[0xfd],uVar12); if ((bVar5) && (puVar14 = (uint *)(local_78 + -0x10), (*puVar14 & 0x30000000) == 0)) { LOCK(); uVar3 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_70 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_c8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } return; } ############ FUN_ 1812156c0 size=1146 ############ longlong * FUN_1812156c0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { byte bVar1; byte bVar2; char cVar3; char cVar4; byte bVar5; int iVar6; uint uVar7; undefined8 uVar8; longlong *plVar9; uint *puVar10; byte *pbVar11; bool bVar12; longlong local_res18; undefined1 *local_res20; longlong local_d8; longlong local_d0; longlong local_c8; longlong local_c0; longlong local_b8; undefined1 local_b0 [8]; longlong local_a8; longlong local_a0; longlong local_98; longlong local_90 [2]; undefined8 local_80; longlong *local_78; longlong local_70; longlong local_68; longlong local_60; longlong local_58; longlong local_50; longlong local_48; local_80 = 0xfffffffffffffffe; *param_1 = (longlong)&DAT_1821dbf98; iVar6 = 0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; if ((undefined1 *)*param_2 != &DAT_1821dbf98) { iVar6 = FUN_18049bb30(*param_2,&DAT_1821dbf98); } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if (iVar6 == 0) goto LAB_181215b09; cVar3 = FUN_18124a6c0(param_2,&DAT_1821db98c); cVar4 = FUN_181241c10(param_2); if (cVar4 == '\0') { local_78 = &local_res18; do { iVar6 = FUN_1812327b0(param_2,0x5c); if (iVar6 + 1 < 1) { local_res20 = (undefined1 *)*param_2; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } } else { pbVar11 = (byte *)*param_2; for (; -1 < iVar6; iVar6 = iVar6 + -1) { bVar1 = *pbVar11; if (bVar1 == 0) { local_res20 = &DAT_1821dbf98; goto LAB_18121581d; } pbVar11 = pbVar11 + 1; if ((char)bVar1 < '\0') { bVar5 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar5))) { pbVar11 = pbVar11 + 1; bVar5 = bVar5 >> 1; bVar2 = bVar1 & bVar5; } } } FUN_18049c9e0(&local_res20); } LAB_18121581d: uVar8 = FUN_181213190(&local_c0,&local_res20,0); FUN_18049c4e0(&local_d8,&DAT_1821db9fc); plVar9 = (longlong *)FUN_181232d30(&local_d8,uVar8); local_res18 = *plVar9; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } puVar10 = (uint *)(local_d8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } plVar9 = (longlong *)FUN_181232d30(&local_res18,param_1); local_c8 = *plVar9; if ((*(uint *)(local_c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c8 + -0x10) = *(int *)(local_c8 + -0x10) + 1; UNLOCK(); } puVar10 = (uint *)(local_res18 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_70 = *param_1; *param_1 = local_c8; puVar10 = (uint *)(local_70 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_c0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_res20 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } plVar9 = (longlong *)FUN_181241230(param_2,&local_b8); local_68 = *param_2; *param_2 = *plVar9; *plVar9 = local_68; puVar10 = (uint *)(local_b8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } cVar4 = FUN_181241c10(param_2); } while (cVar4 == '\0'); } iVar6 = FUN_1812327b0(param_2,0x5c); FUN_1812491d0(param_2,&local_d0,iVar6 + 1); uVar8 = FUN_181213190(local_b0,&local_d0,0); plVar9 = (longlong *)FUN_181232aa0(&local_a8,uVar8,param_1); local_60 = *param_1; *param_1 = *plVar9; *plVar9 = local_60; puVar10 = (uint *)(local_a8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_d0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if (cVar3 == '\0') { iVar6 = FUN_180492f10(param_1); if (iVar6 != 0x2f) { plVar9 = (longlong *)FUN_181246550(&local_98,&DAT_1821dba24,param_1); local_50 = *param_1; *param_1 = *plVar9; *plVar9 = local_50; puVar10 = (uint *)(local_98 + -0x10); uVar7 = *puVar10; goto LAB_181215aa9; } } else { plVar9 = (longlong *)FUN_181249000(param_1,&local_a0,&DAT_1821db9ac,param_4,0); local_58 = *param_1; *param_1 = *plVar9; *plVar9 = local_58; puVar10 = (uint *)(local_a0 + -0x10); uVar7 = *puVar10; LAB_181215aa9: if ((uVar7 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } plVar9 = (longlong *)FUN_181246550(local_90,"file://",param_1); local_48 = *param_1; *param_1 = *plVar9; *plVar9 = local_48; puVar10 = (uint *)(local_90[0] + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } LAB_181215b09: puVar10 = (uint *)(*param_2 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } return param_1; } ############ FUN_ 1804f48b0 size=406 ############ void FUN_1804f48b0(longlong param_1,undefined8 param_2) { undefined8 *puVar1; uint uVar2; byte bVar3; byte bVar4; byte bVar5; int iVar6; longlong lVar7; uint *_Memory; byte *pbVar8; undefined1 *local_res8; lVar7 = FUN_18134adf0(); puVar1 = (undefined8 *)(param_1 + 0xe0); iVar6 = FUN_1812327b0(puVar1,0x5c); if (iVar6 + 1 < 1) { local_res8 = (undefined1 *)*puVar1; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { pbVar8 = (byte *)*puVar1; for (; -1 < iVar6; iVar6 = iVar6 + -1) { bVar3 = *pbVar8; if (bVar3 == 0) { local_res8 = &DAT_1821dbf98; goto LAB_1804f4971; } pbVar8 = pbVar8 + 1; if ((char)bVar3 < '\0') { bVar5 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar5))) { pbVar8 = pbVar8 + 1; bVar5 = bVar5 >> 1; bVar4 = bVar3 & bVar5; } } } FUN_18049c9e0(&local_res8); } LAB_1804f4971: (**(code **)(*(longlong *)(lVar7 + 0x20) + 0x20)) (lVar7 + 0x20,param_2,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c), puVar1,&local_res8,param_1 + 0xf8,param_1 + 0xe8,param_1 + 0xf0, *(undefined1 *)(param_1 + 0x105),*(undefined1 *)(param_1 + 0x104), *(undefined4 *)(param_1 + 0x100),*(longlong *)(param_1 + 0xd0) + 0x108); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1804f5f10 size=579 ############ void FUN_1804f5f10(longlong param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4) { undefined8 *puVar1; byte bVar2; byte bVar3; uint uVar4; byte bVar5; int iVar6; longlong lVar7; uint *_Memory; byte *pbVar8; bool bVar9; undefined1 *local_res8; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xb0)); puVar1 = (undefined8 *)(param_1 + 0x70); if ((undefined1 *)*puVar1 == &DAT_1821dbf98) { iVar6 = 0; } else { iVar6 = FUN_18049bb30(*puVar1,&DAT_1821dbf98); } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((iVar6 != 0) && (FUN_1804f6220(param_1,1), *(longlong *)(param_1 + 0xe0) == 0)) { FUN_181229aa0(*(undefined8 *)(param_1 + 0xa8),param_1 + 0x48); } lVar7 = FUN_18134adf0(*(undefined8 *)(param_1 + 0x78)); iVar6 = FUN_1812327b0(puVar1,0x5c); if (iVar6 + 1 < 1) { local_res8 = (undefined1 *)*puVar1; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { pbVar8 = (byte *)*puVar1; for (; -1 < iVar6; iVar6 = iVar6 + -1) { bVar2 = *pbVar8; if (bVar2 == 0) { local_res8 = &DAT_1821dbf98; goto LAB_1804f6071; } pbVar8 = pbVar8 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { pbVar8 = pbVar8 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } } FUN_18049c9e0(&local_res8); } LAB_1804f6071: (**(code **)(*(longlong *)(lVar7 + 0x20) + 0x20)) (lVar7 + 0x20,param_2,param_3,param_4,puVar1,&local_res8,param_1 + 0xe0,param_1 + 0xe8, param_1 + 0xf0,*(undefined1 *)(param_1 + 0xa0),*(byte *)(param_1 + 0x40) & 1, *(undefined4 *)(param_1 + 0x88),*(longlong *)(param_1 + 0x78) + 0x130); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Could not recover jumptable at 0x0001804f6139. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xb0)); return; } ############ FUN_ 180517910 size=2426 ############ void FUN_180517910(longlong param_1,undefined8 *param_2,char param_3) { uint uVar1; byte bVar2; short sVar3; int iVar4; char *pcVar5; void *pvVar6; byte bVar7; bool bVar8; void *_Memory; void *pvVar9; byte bVar10; BOOL BVar11; HRESULT HVar12; undefined8 *puVar13; LPITEMIDLIST pidl; undefined8 uVar14; longlong lVar15; undefined8 *puVar16; uint *puVar17; undefined8 *puVar18; byte *pbVar19; short *psVar20; longlong lVar21; int iVar22; longlong local_res20; void *local_308; undefined8 local_300; undefined8 *local_2f8; undefined8 local_2f0; undefined1 *local_2e8; longlong local_2e0; longlong local_2d8; longlong local_2d0; longlong local_2c8; longlong local_2c0; longlong local_2b8; undefined1 local_2b0 [8]; longlong local_2a8; undefined4 local_2a0; IMalloc *local_298; longlong local_290; longlong local_288; longlong local_280; undefined1 local_278 [8]; undefined8 local_270; short *local_268; _browseinfoW local_258; undefined1 local_218 [8]; undefined1 local_210 [8]; undefined8 local_208; undefined8 local_200; longlong local_1f8; undefined1 local_1f0 [8]; undefined8 local_1e8; undefined1 local_1e0 [8]; short *local_1d8; char *local_1d0; longlong local_1c8; tagOFNW local_1b8; undefined1 local_118 [72]; undefined1 local_d0 [72]; undefined1 local_88 [80]; local_1e8 = 0xfffffffffffffffe; lVar15 = 0; local_2a0 = 0; local_308 = (void *)0x0; local_300 = 0; if (*(char *)(param_1 + 0x32c) != '\0') { local_258.hwndOwner = (HWND)0x0; local_258.pidlRoot = (LPCITEMIDLIST)0x0; local_258.pszDisplayName = (LPWSTR)0x0; local_258.lpszTitle = (LPCWSTR)0x0; local_258.ulFlags = 0; local_258._36_4_ = 0; local_258.lpfn = (BFFCALLBACK)0x0; local_258.lParam = 0; local_258.iImage = 0; local_258._60_4_ = 0; if (param_3 == '\0') { if (*(longlong *)(param_1 + 0x220) != 0) { lVar15 = *(longlong *)(*(longlong *)(param_1 + 0x220) + 0x10); } local_258.hwndOwner = (HWND)FUN_18134b8d0(lVar15); } else { local_258.hwndOwner = (HWND)0x0; } local_258.pszDisplayName = *(LPWSTR *)(param_1 + 0x338); puVar13 = (undefined8 *)FUN_18049a930(local_1e0,param_1 + 0x228); local_258.lpszTitle = (LPCWSTR)*puVar13; local_258.lpfn = FUN_180519050; local_258.ulFlags = 0x70; local_258.lParam = param_1; pidl = SHBrowseForFolderW(&local_258); BVar11 = SHGetPathFromIDListW(pidl,*(LPWSTR *)(param_1 + 0x338)); if (BVar11 == 0) { **(undefined2 **)(param_1 + 0x338) = 0; puVar17 = (uint *)(*(longlong *)(param_1 + 0x248) + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } *(undefined1 **)(param_1 + 0x248) = &DAT_1821dbf98; } if ((pidl != (LPITEMIDLIST)0x0) && (HVar12 = SHGetMalloc(&local_298), -1 < HVar12)) { (*local_298->lpVtbl->Free)(local_298,pidl); } if (**(short **)(param_1 + 0x338) != 0) { local_1d8 = *(short **)(param_1 + 0x338); FUN_18049c800(&local_2d8); FUN_181241890(&local_res20,&local_2d8); puVar17 = (uint *)(local_2d8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } pcVar5 = *(char **)(param_1 + 0x248); if (*pcVar5 != '\0') { local_1d0 = pcVar5; uVar14 = FUN_181241230(&local_res20,&local_290); FUN_181245100(uVar14,&local_2d0,pcVar5); lVar15 = local_res20; puVar17 = (uint *)(local_290 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } local_1c8 = local_res20; local_res20 = local_2d0; local_2d0 = lVar15; puVar17 = (uint *)(lVar15 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } } local_2e0 = local_res20; puVar17 = (uint *)(local_res20 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); *puVar17 = *puVar17 + 1; UNLOCK(); } uVar14 = FUN_1812156c0(local_118,&local_2e0); FUN_18051abf0(&local_308,uVar14); FUN_1804858a0(); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } } LAB_180517bdb: lVar15 = FUN_180518400(); iVar22 = *(int *)(lVar15 + 0x14) + -1; lVar21 = (longlong)iVar22; if (-1 < iVar22) { do { pvVar6 = *(void **)(*(longlong *)(lVar15 + 8) + lVar21 * 8); pvVar9 = (void *)0x0; while (_Memory = pvVar6, _Memory != (void *)0x0) { if (*(longlong *)((longlong)_Memory + 8) == param_1) { pvVar6 = *(void **)((longlong)_Memory + 0x10); if (pvVar9 == (void *)0x0) { if (-1 < lVar21) { if (iVar22 < *(int *)(lVar15 + 0x14)) { *(void **)(*(longlong *)(lVar15 + 8) + lVar21 * 8) = pvVar6; } else { FUN_18047e060(lVar15 + 8,*(int *)(lVar15 + 0x14) + 1); iVar4 = *(int *)(lVar15 + 0x14); *(int *)(lVar15 + 0x14) = iVar4 + 1; *(void **)(*(longlong *)(lVar15 + 8) + (longlong)iVar4 * 8) = pvVar6; } } } else { *(void **)((longlong)pvVar9 + 0x10) = pvVar6; } *(int *)(lVar15 + 0x18) = *(int *)(lVar15 + 0x18) + -1; if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } } else { pvVar6 = *(void **)((longlong)_Memory + 0x10); pvVar9 = _Memory; } } iVar22 = iVar22 + -1; lVar21 = lVar21 + -1; } while (-1 < lVar21); } *param_2 = local_308; local_308 = (void *)0x0; *(undefined4 *)(param_2 + 1) = (undefined4)local_300; *(undefined4 *)((longlong)param_2 + 0xc) = local_300._4_4_; local_300 = 0; FUN_18051c520(&local_308); /* WARNING: Subroutine does not return */ free(local_308); } memset(&local_1b8,0,0x98); local_1b8.lStructSize = 0x88; if (param_3 == '\0') { lVar21 = lVar15; if (*(longlong *)(param_1 + 0x220) != 0) { lVar21 = *(longlong *)(*(longlong *)(param_1 + 0x220) + 0x10); } local_1b8.hwndOwner = (HWND)FUN_18134b8d0(lVar21); } else { local_1b8.hwndOwner = (HWND)0x0; } local_1b8.lpstrFilter = *(LPCWSTR *)(param_1 + 0x340); local_1b8.nFilterIndex = 1; local_1b8.lpstrFile = *(LPWSTR *)(param_1 + 0x338); local_1b8.nMaxFile = 0x8000; puVar13 = (undefined8 *)FUN_18049a930(local_218,param_1 + 0x240); local_1b8.lpstrInitialDir = (LPCWSTR)*puVar13; puVar13 = (undefined8 *)FUN_18049a930(local_210,param_1 + 0x228); local_1b8.lpstrTitle = (LPCWSTR)*puVar13; local_1b8.Flags = 0x88080c; if (*(char *)(param_1 + 0x32f) != '\0') { local_1b8.Flags = 0x88080e; } if (*(char *)(param_1 + 0x330) != '\0') { local_1b8.Flags = local_1b8.Flags | 0x200; } if ((param_3 != '\0') || (*(longlong *)(param_1 + 0x238) != 0)) { local_1b8.Flags = local_1b8.Flags | 0x20; } local_1b8.lpfnHook = FUN_180519190; local_1b8.lCustData = param_1; if (*(char *)(param_1 + 0x32e) == '\0') { BVar11 = GetOpenFileNameW(&local_1b8); if (BVar11 == 0) { *param_2 = 0; param_2[1] = 0; FUN_18051c520(&local_308); /* WARNING: Subroutine does not return */ free(local_308); } if (((*(char *)(param_1 + 0x330) == '\0') || (local_1b8.nFileOffset == 0)) || (*(short *)(*(longlong *)(param_1 + 0x338) + (longlong)(int)(local_1b8.nFileOffset - 1) * 2) != 0)) { if (**(short **)(param_1 + 0x338) != 0) { local_268 = *(short **)(param_1 + 0x338); FUN_18049c800(&local_2a8); FUN_181241890(local_2b0,&local_2a8); uVar14 = FUN_1812156c0(local_88,local_2b0); FUN_18051abf0(&local_308,uVar14); FUN_1804858a0(local_88); puVar17 = (uint *)(local_2a8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } } } else { psVar20 = (short *)(*(longlong *)(param_1 + 0x338) + (ulonglong)local_1b8.nFileOffset * 2); sVar3 = *psVar20; while (sVar3 != 0) { FUN_18049c800(&local_2b8,psVar20); local_270 = *(undefined8 *)(param_1 + 0x338); FUN_18049c800(&local_2c0); FUN_181241890(&local_2c8,&local_2c0); uVar14 = FUN_181245100(&local_2c8,local_278,local_2b8); uVar14 = FUN_1812156c0(local_d0,uVar14); FUN_18051abf0(&local_308,uVar14); FUN_1804858a0(local_d0); puVar17 = (uint *)(local_2c8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } puVar17 = (uint *)(local_2c0 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } puVar17 = (uint *)(local_2b8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } lVar15 = -1; do { lVar21 = lVar15; lVar15 = lVar21 + 1; } while (psVar20[lVar15] != 0); psVar20 = psVar20 + lVar21 + 2; sVar3 = *psVar20; } } goto LAB_180517bdb; } local_2f8 = (undefined8 *)0x0; local_2f0 = 0; local_208 = *(undefined8 *)(param_1 + 0x230); FUN_18122d110(&local_2f8,local_208,&DAT_18249f57c,&DAT_18249f580); puVar13 = local_2f8 + local_2f0._4_4_; for (puVar18 = local_2f8; puVar18 != puVar13; puVar18 = puVar18 + 1) { puVar16 = (undefined8 *)FUN_181248e40(puVar18,&local_288); local_200 = *puVar18; *puVar18 = *puVar16; *puVar16 = local_200; puVar17 = (uint *)(local_288 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } } FUN_18122d5d0(&local_2f8); lVar21 = lVar15; if (local_2f0._4_4_ == 1) { uVar14 = FUN_181249970(&local_2f8,0); puVar13 = (undefined8 *)FUN_1812487f0(uVar14,&local_280,&DAT_18249f584); lVar21 = 1; if (*(char *)*puVar13 == '\0') goto LAB_180517e1e; bVar8 = true; } else { LAB_180517e1e: bVar8 = false; } if ((lVar21 != 0) && (puVar17 = (uint *)(local_280 + -0x10), (*puVar17 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if (!bVar8) goto LAB_180517f8d; puVar13 = (undefined8 *)FUN_181249970(&local_2f8,0); pbVar19 = &DAT_182496888; iVar22 = FUN_181249270(puVar13,&DAT_182496888); if (-1 < iVar22) { LAB_180517e90: do { bVar2 = *pbVar19; pbVar19 = pbVar19 + 1; if ((char)bVar2 < '\0') { if ((*pbVar19 & 0xc0) == 0x80) { do { pbVar19 = pbVar19 + 1; } while ((*pbVar19 & 0xc0) == 0x80); lVar15 = lVar15 + 1; goto LAB_180517e90; } } else if (bVar2 == 0) goto LAB_180517ebd; lVar15 = lVar15 + 1; } while( true ); } LAB_180517e78: local_2e8 = &DAT_1821dbf98; goto LAB_180517f2d; LAB_180517ebd: iVar22 = iVar22 + (int)lVar15; if (iVar22 < 1) { local_2e8 = (undefined1 *)*puVar13; if ((*(uint *)(local_2e8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_2e8 + -0x10) = *(int *)(local_2e8 + -0x10) + 1; UNLOCK(); } } else { pbVar19 = (byte *)*puVar13; while (iVar22 = iVar22 + -1, -1 < iVar22) { bVar2 = *pbVar19; if (bVar2 == 0) goto LAB_180517e78; pbVar19 = pbVar19 + 1; if ((char)bVar2 < '\0') { bVar10 = 0x40; bVar7 = bVar2 & 0x40; while ((bVar7 != 0 && (8 < bVar10))) { pbVar19 = pbVar19 + 1; bVar10 = bVar10 >> 1; bVar7 = bVar2 & bVar10; } } } FUN_18049c9e0(&local_2e8); } LAB_180517f2d: local_1f8 = *(longlong *)(param_1 + 0x250); *(undefined1 **)(param_1 + 0x250) = local_2e8; puVar17 = (uint *)(local_1f8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } puVar13 = (undefined8 *)FUN_18049a930(local_1f0,param_1 + 0x250); local_1b8.lpstrDefExt = (LPCWSTR)*puVar13; LAB_180517f8d: BVar11 = GetSaveFileNameW(&local_1b8); if (BVar11 == 0) { *param_2 = 0; param_2[1] = 0; FUN_180488c50(&local_2f8); /* WARNING: Subroutine does not return */ free(local_2f8); } FUN_180488c50(&local_2f8); /* WARNING: Subroutine does not return */ free(local_2f8); } ############ FUN_ 181214270 size=1053 ############ undefined8 * FUN_181214270(undefined8 *param_1,undefined8 param_2) { longlong *plVar1; uint uVar2; char *pcVar3; char cVar4; int iVar5; int iVar6; undefined8 uVar7; undefined8 *puVar8; longlong *plVar9; uint *puVar10; uint *_Memory; uint *puVar11; longlong lVar12; longlong *plVar13; char *local_res20; char *local_c8; longlong local_c0; longlong local_b8; longlong local_b0; longlong *local_a8; int local_9c; longlong local_98; longlong local_90; longlong local_88; longlong local_80; longlong local_78; char *local_70; undefined8 local_68; undefined8 local_60; longlong *local_58; char *local_50; char *local_48; local_68 = 0xfffffffffffffffe; cVar4 = FUN_1812146f0(param_2); if (cVar4 == '\0') { *param_1 = &DAT_1821dbf98; return param_1; } iVar5 = FUN_181214d80(param_2); iVar6 = FUN_180493050(param_2,iVar5); while (iVar6 == 0x2f) { iVar5 = iVar5 + 1; iVar6 = FUN_180493050(param_2,iVar5); } iVar6 = FUN_181232860(param_2,iVar5,0x2f); if (iVar6 < 0) { iVar6 = 0x7fffffff; } else if (iVar6 < -1) { iVar6 = -1; } FUN_1812490c0(param_2,&local_b8,iVar5,iVar6); uVar7 = FUN_1812134e0(&local_98,&local_b8); FUN_1812319a0(uVar7,&local_res20,&DAT_1821dbacc,&DAT_1821dbaac); puVar10 = (uint *)(local_98 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_b8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } cVar4 = FUN_18124a6c0(param_2,"file:///"); puVar8 = (undefined8 *)FUN_1812148a0(param_2,&local_90); local_60 = *puVar8; FUN_18122ce30(&local_a8,local_60,&DAT_1821dbaec,""); puVar10 = (uint *)(local_90 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } plVar1 = local_a8 + local_9c; if (local_a8 != plVar1) { local_58 = &local_c0; plVar13 = local_a8; do { local_88 = *plVar13; puVar10 = (uint *)(local_88 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } uVar7 = FUN_1812319a0(&local_88,&local_78,&DAT_1821dbb0c,&DAT_1821dbb24); uVar7 = FUN_1812134e0(&local_80,uVar7); FUN_18049c9e0(&local_c0,&DAT_1821db634); plVar9 = (longlong *)FUN_181232d30(&local_c0,uVar7); local_b0 = *plVar9; puVar11 = (uint *)(local_b0 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); *puVar11 = *puVar11 + 1; UNLOCK(); } _Memory = (uint *)(local_c0 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_181232d30(&local_res20,&local_b0); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_80 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_78 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } plVar13 = plVar13 + 1; } while (plVar13 != plVar1); } if (cVar4 == '\0') { FUN_18049c4e0(&local_c8,&DAT_1821dbb64); pcVar3 = local_c8; if (*local_c8 == '\0') { if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } LOCK(); local_c8 = local_res20; UNLOCK(); puVar10 = (uint *)(pcVar3 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } else { lVar12 = -1; do { lVar12 = lVar12 + 1; } while (local_res20[lVar12] != '\0'); local_50 = local_res20 + lVar12; FUN_181232e20(&local_c8); } pcVar3 = local_res20; local_70 = local_c8; if ((*(uint *)(local_c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c8 + -0x10) = *(int *)(local_c8 + -0x10) + 1; UNLOCK(); } puVar10 = (uint *)(local_c8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_48 = local_res20; local_res20 = local_c8; puVar10 = (uint *)(pcVar3 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } FUN_181241890(param_1,&local_res20); FUN_180488c50(&local_a8); /* WARNING: Subroutine does not return */ free(local_a8); } ############ FUN_ 1812148a0 size=367 ############ undefined8 * FUN_1812148a0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { byte bVar1; byte bVar2; bool bVar3; bool bVar4; byte bVar5; uint uVar6; int iVar7; uint *puVar8; byte *pbVar9; undefined8 **ppuVar10; ulonglong uVar11; undefined8 *local_res8; undefined8 *local_res10; undefined4 uVar12; undefined8 uVar13; uVar13 = 0xfffffffffffffffe; uVar12 = 0; local_res10 = param_2; uVar6 = FUN_181214d80(); uVar11 = (ulonglong)uVar6; iVar7 = FUN_180493050(param_1,uVar6); while (iVar7 == 0x2f) { uVar11 = (ulonglong)((int)uVar11 + 1); iVar7 = FUN_180493050(param_1,uVar11); } iVar7 = FUN_181232860(param_1,uVar11 & 0xffffffff,0x2f,param_4,uVar12,uVar13); if (iVar7 + 1 < 1) { local_res10 = (undefined8 *)&DAT_1821dbf98; ppuVar10 = &local_res10; bVar4 = true; bVar3 = false; } else { pbVar9 = (byte *)*param_1; for (; -1 < iVar7; iVar7 = iVar7 + -1) { bVar1 = *pbVar9; if (bVar1 == 0) { local_res8 = (undefined8 *)&DAT_1821dbf98; goto LAB_18121497d; } pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar5 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar5))) { pbVar9 = pbVar9 + 1; bVar5 = bVar5 >> 1; bVar2 = bVar1 & bVar5; } } } FUN_18049c9e0(&local_res8); LAB_18121497d: ppuVar10 = &local_res8; bVar4 = false; bVar3 = true; } *param_2 = *ppuVar10; *ppuVar10 = (undefined8 *)&DAT_1821dbf98; if ((bVar3) && (puVar8 = (uint *)(local_res8 + -2), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar6 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((bVar4) && (puVar8 = (uint *)(local_res10 + -2), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar6 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return param_2; } ############ FUN_ 18141ac10 size=938 ############ float FUN_18141ac10(undefined8 param_1) { uint uVar1; byte bVar2; byte bVar3; double dVar4; bool bVar5; bool bVar6; byte bVar7; int iVar8; undefined8 uVar9; undefined8 *puVar10; uint *puVar11; int iVar12; byte *pbVar13; byte *pbVar14; byte *pbVar15; int iVar16; float fVar17; float fVar18; byte *local_res18; byte *local_res20; byte *local_98; longlong local_90; byte *local_88; undefined8 local_80; undefined1 local_78 [8]; longlong local_70 [7]; local_70[1] = 0xfffffffffffffffe; iVar16 = 0; bVar5 = false; uVar9 = FUN_1812487f0(param_1,&local_90,&DAT_1821e4b7c); FUN_1812314e0(uVar9,&local_res18,&DAT_1821e4bac,&DAT_1821e4b8c); puVar11 = (uint *)(local_90 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } iVar8 = FUN_181249270(&local_res18,&DAT_1821e7204); pbVar14 = local_res18; if (iVar8 < 0) { fVar18 = 0.0; pbVar13 = local_res18; } else { iVar8 = FUN_18049d2f0(local_res18,&DAT_1821e721c); pbVar13 = local_res18; if (iVar8 < 0) { local_res20 = pbVar14; if ((*(uint *)(pbVar14 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar14 + -0x10) = *(int *)(pbVar14 + -0x10) + 1; UNLOCK(); } } else if (iVar8 < 1) { local_res20 = &DAT_1821dbf98; pbVar13 = pbVar14; } else { iVar12 = 0; pbVar15 = pbVar14; if (0 < iVar8) { do { bVar2 = *pbVar15; if (bVar2 == 0) { local_res20 = pbVar14; if ((*(uint *)(pbVar14 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar14 + -0x10) = *(int *)(pbVar14 + -0x10) + 1; UNLOCK(); } goto LAB_18141ad53; } iVar12 = iVar12 + 1; pbVar15 = pbVar15 + 1; if ((char)bVar2 < '\0') { bVar7 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar7))) { pbVar15 = pbVar15 + 1; bVar7 = bVar7 >> 1; bVar3 = bVar2 & bVar7; } } } while (iVar12 < iVar8); } FUN_18124a8a0(&local_res20,pbVar14); pbVar13 = pbVar14; } LAB_18141ad53: bVar5 = true; local_88 = local_res20; dVar4 = (double)FUN_18049bd80(&local_88); fVar18 = (float)dVar4; } if ((bVar5) && (puVar11 = (uint *)(local_res20 + -0x10), pbVar13 = local_res18, (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } bVar6 = false; bVar5 = false; iVar8 = FUN_181249270(&local_res18,&DAT_1821e7234); if (iVar8 < 0) { dVar4 = (double)FUN_18049bd80(local_78); fVar17 = (float)dVar4; goto LAB_18141af0f; } pbVar15 = &DAT_1821e731c; iVar8 = FUN_18049d2f0(pbVar13,&DAT_1821e731c); pbVar14 = pbVar13; if (-1 < iVar8) { LAB_18141ae10: do { bVar2 = *pbVar15; pbVar15 = pbVar15 + 1; if ((char)bVar2 < '\0') { if ((*pbVar15 & 0xc0) == 0x80) { do { pbVar15 = pbVar15 + 1; } while ((*pbVar15 & 0xc0) == 0x80); iVar16 = iVar16 + 1; goto LAB_18141ae10; } } else if (bVar2 == 0) goto LAB_18141ae3d; iVar16 = iVar16 + 1; } while( true ); } local_98 = &DAT_1821dbf98; goto LAB_18141aeaf; LAB_18141ae3d: iVar16 = iVar16 + iVar8; if (iVar16 < 1) { pbVar14 = local_res18; local_98 = pbVar13; if ((*(uint *)(pbVar13 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar13 + -0x10) = *(int *)(pbVar13 + -0x10) + 1; UNLOCK(); } } else { while (iVar16 = iVar16 + -1, -1 < iVar16) { bVar2 = *pbVar13; if (bVar2 == 0) { local_98 = &DAT_1821dbf98; goto LAB_18141aeaf; } pbVar13 = pbVar13 + 1; if ((char)bVar2 < '\0') { bVar7 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar7))) { pbVar13 = pbVar13 + 1; bVar7 = bVar7 >> 1; bVar3 = bVar2 & bVar7; } } } FUN_18049c9e0(&local_98); } LAB_18141aeaf: puVar10 = (undefined8 *)FUN_1812490c0(&local_98,local_70,0,1); bVar6 = true; bVar5 = true; local_80 = *puVar10; dVar4 = (double)FUN_18049bd80(&local_80); fVar17 = (float)dVar4 * DAT_1824c44dc; pbVar13 = pbVar14; LAB_18141af0f: if ((bVar6) && (puVar11 = (uint *)(local_70[0] + -0x10), pbVar13 = local_res18, (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((bVar5) && (puVar11 = (uint *)(local_98 + -0x10), pbVar13 = local_res18, (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } fVar18 = fVar18 * DAT_1824c459c; puVar11 = (uint *)(pbVar13 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } return fVar18 + fVar17; } ############ FUN_ 180539c50 size=3509 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180539c50(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; byte bVar2; char cVar3; short sVar4; undefined2 uVar5; ushort uVar6; int iVar7; uint uVar8; undefined4 uVar9; longlong lVar10; longlong lVar11; longlong lVar12; longlong *plVar13; undefined8 uVar14; undefined8 uVar15; uint *puVar16; uint *puVar17; uint *puVar18; ulonglong uVar19; char cVar20; bool bVar21; undefined1 auStack_268 [32]; char local_248; char local_247; char local_246; short local_244; longlong local_238; longlong local_230; undefined1 *local_228; longlong local_220; longlong local_218; longlong local_210; longlong local_208; longlong local_200; longlong local_1f8; longlong local_1f0; longlong local_1e8; longlong local_1e0; longlong local_1d8; longlong local_1d0; longlong local_1c8; longlong local_1c0; longlong local_1b8; longlong local_1b0; longlong local_1a8; longlong local_1a0; longlong local_198; longlong local_190; longlong local_188; longlong local_180; undefined8 local_178; longlong local_170; undefined8 local_168; undefined8 local_160; undefined8 local_158; longlong local_150; void *local_148; undefined8 local_140; void *local_138; undefined8 local_130; longlong local_128; longlong local_120; longlong local_118; longlong local_110; undefined8 local_108; undefined8 local_100; undefined8 local_f8; undefined8 local_f0; longlong local_e8; longlong local_e0; longlong local_d8 [2]; undefined8 *local_c8; longlong *local_c0; longlong *local_b8; undefined1 local_a8 [96]; char local_48; byte local_47; undefined1 local_46; undefined1 local_45; undefined1 local_44; undefined1 local_43; ulonglong local_38; local_d8[1] = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_268; local_c8 = param_1; FUN_18049c4e0(&local_e0,"AIFF file"); *param_1 = juce::AudioFormatReader::vftable; param_1[1] = 0; *(undefined4 *)(param_1 + 2) = 0; param_1[3] = 0; *(undefined4 *)(param_1 + 4) = 0; *(undefined1 *)((longlong)param_1 + 0x24) = 0; puVar1 = param_1 + 5; *puVar1 = 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_e0; puVar16 = (uint *)(local_e0 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } *param_1 = juce::AiffAudioFormatReader::vftable; iVar7 = (**(code **)(*(longlong *)param_1[10] + 0x40))(); if (iVar7 == 0x4d524f46) { iVar7 = (**(code **)(*(longlong *)param_1[10] + 0x48))(); lVar10 = (**(code **)(*(longlong *)param_1[10] + 0xa8))(); lVar10 = iVar7 + lVar10; local_e8 = lVar10; iVar7 = (**(code **)(*(longlong *)param_1[10] + 0x40))(); if ((iVar7 == 0x46464941) || (iVar7 == 0x43464941)) { cVar20 = '\0'; local_248 = '\0'; local_247 = '\0'; local_246 = '\0'; lVar11 = (**(code **)(*(longlong *)param_1[10] + 0xa8))(); lVar12 = lVar11 - lVar10; bVar21 = SBORROW8(lVar11,lVar10); while (bVar21 != lVar12 < 0) { iVar7 = (**(code **)(*(longlong *)param_1[10] + 0x40))(); uVar8 = (**(code **)(*(longlong *)param_1[10] + 0x48))(); uVar19 = (ulonglong)uVar8; lVar10 = (**(code **)(*(longlong *)param_1[10] + 0xa8))(); lVar10 = uVar19 + lVar10; local_218 = lVar10; if (iVar7 == 0x52455646) { cVar20 = '\x01'; local_248 = '\x01'; iVar7 = (**(code **)(*(longlong *)param_1[10] + 0x48))(); if ((iVar7 != 0) && (iVar7 != -0x5d7faec0)) break; } else if (iVar7 == 0x4d4d4f43) { local_246 = '\x01'; sVar4 = (**(code **)(*(longlong *)param_1[10] + 0x38))(); *(int *)(param_1 + 4) = (int)sVar4; iVar7 = (**(code **)(*(longlong *)param_1[10] + 0x48))(); param_1[3] = (longlong)iVar7; sVar4 = (**(code **)(*(longlong *)param_1[10] + 0x38))(); *(int *)(param_1 + 2) = (int)sVar4; *(uint *)(param_1 + 0xc) = (uint)(*(int *)(param_1 + 4) * (int)sVar4) >> 3; (**(code **)(*(longlong *)param_1[10] + 0x18))((longlong *)param_1[10],&local_48,10); if (((local_48 < '\0') || (local_48 != '@')) || (0x1c < local_47)) break; param_1[1] = (double)(int)(CONCAT31(CONCAT21(CONCAT11(local_46,local_45),local_44), local_43) >> (0x1e - local_47 & 0x1f)); if (((uVar8 < 0x13) || (iVar7 = (**(code **)(*(longlong *)param_1[10] + 0x40))(), iVar7 == 0x454e4f4e)) || (iVar7 == 0x736f7774)) { *(undefined1 *)(param_1 + 0xe) = 0; } else if (iVar7 == 0x74776f73) { *(undefined1 *)(param_1 + 0xe) = 1; } else { if ((iVar7 != 0x32336c66) && (iVar7 != 0x32334c46)) { param_1[1] = 0; break; } *(undefined1 *)(param_1 + 0xe) = 0; *(undefined1 *)((longlong)param_1 + 0x24) = 1; } } else if (iVar7 == 0x444e5353) { local_247 = '\x01'; iVar7 = (**(code **)(*(longlong *)param_1[10] + 0x48))(); lVar12 = (**(code **)(*(longlong *)param_1[10] + 0xa8))(); param_1[0xd] = (longlong)iVar7 + 4 + lVar12; if (*(int *)(param_1 + 0xc) < 1) { param_1[3] = 0; } else { lVar11 = (longlong)uVar19 / (longlong)*(int *)(param_1 + 0xc); lVar12 = param_1[3]; if (lVar11 < (longlong)param_1[3]) { lVar12 = lVar11; } param_1[3] = lVar12; } } else if (iVar7 == 0x4b52414d) { sVar4 = (**(code **)(*(longlong *)param_1[10] + 0x38))(); local_244 = sVar4; FUN_18049c4e0(&local_210,"NumCuePoints"); FUN_181211fd0(&local_150,sVar4); FUN_18122c880(puVar1,&local_210,&local_150); puVar16 = (uint *)(local_150 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(local_210 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } FUN_18049c4e0(&local_200,"NumCueLabels"); FUN_181211fd0(&local_208,sVar4); FUN_18122c880(puVar1,&local_200,&local_208); puVar16 = (uint *)(local_208 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(local_200 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } lVar10 = local_218; if (sVar4 != 0) { local_c0 = &local_238; local_b8 = &local_230; uVar5 = (**(code **)(*(longlong *)param_1[10] + 0x38))(); uVar9 = (**(code **)(*(longlong *)param_1[10] + 0x48))(); bVar2 = (**(code **)(*(longlong *)param_1[10] + 0x20))(); local_148 = (void *)0x0; local_140 = 0; (**(code **)(*(longlong *)param_1[10] + 0xa0))((longlong *)param_1[10],&local_148,bVar2) ; if ((bVar2 & 1) == 0) { (**(code **)(*(longlong *)param_1[10] + 0x20))(); } FUN_181211fd0(&local_1f0,0); FUN_18049c4e0(&local_1f8,&DAT_1824acc54); plVar13 = (longlong *)FUN_181232d30(&local_1f8,&local_1f0); local_1e0 = *plVar13; puVar16 = (uint *)(local_1e0 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } puVar17 = (uint *)(local_1f8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } puVar17 = (uint *)(local_1f0 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } FUN_181211fd0(&local_1e8,uVar5); local_238 = local_1e0; if ((*puVar16 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } FUN_181232e20(&local_238,"Identifier",""); local_d8[0] = local_238; puVar17 = (uint *)(local_238 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); *puVar17 = *puVar17 + 1; UNLOCK(); } puVar18 = (uint *)(local_238 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } FUN_18122c880(param_1 + 5,local_d8,&local_1e8); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } puVar17 = (uint *)(local_1e8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } FUN_181211fd0(&local_1d8,uVar9); local_230 = local_1e0; if ((*puVar16 & 0x30000000) == 0) { LOCK(); *puVar16 = *puVar16 + 1; UNLOCK(); } FUN_181232e20(&local_230,"Offset",""); local_128 = local_230; puVar17 = (uint *)(local_230 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); *puVar17 = *puVar17 + 1; UNLOCK(); } puVar18 = (uint *)(local_230 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } FUN_18122c880(param_1 + 5,&local_128,&local_1d8); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } puVar17 = (uint *)(local_1d8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } FUN_181211fd0(&local_1d0,0); FUN_181246550(&local_1b8,"CueLabel",&local_1d0); puVar17 = (uint *)(local_1d0 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } FUN_181211fd0(&local_1c0,uVar5); local_1c8 = local_1b8; puVar17 = (uint *)(local_1b8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); *puVar17 = *puVar17 + 1; UNLOCK(); } uVar14 = FUN_1812465e0(&local_120,&local_1c8,"Identifier"); FUN_18122c880(param_1 + 5,uVar14,&local_1c0); puVar18 = (uint *)(local_120 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } puVar18 = (uint *)(local_1c0 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } if (local_148 != (void *)0x0) { iVar7 = (int)local_140; if (iVar7 < 0) { FUN_18049c9e0(&local_228); goto LAB_18053a515; } if (0 < iVar7) { FUN_18124a8a0(&local_228,local_148,(longlong)iVar7 + (longlong)local_148); goto LAB_18053a515; } } local_228 = &DAT_1821dbf98; LAB_18053a515: local_1b0 = local_1b8; if ((*puVar17 & 0x30000000) == 0) { LOCK(); *puVar17 = *puVar17 + 1; UNLOCK(); } uVar14 = FUN_1812465e0(&local_118,&local_1b0,&DAT_1824acc88); FUN_18122c880(param_1 + 5,uVar14,&local_228); puVar18 = (uint *)(local_118 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } puVar18 = (uint *)(local_228 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } /* WARNING: Subroutine does not return */ free(local_148); } } else if (iVar7 == 0x544d4f43) { sVar4 = (**(code **)(*(longlong *)param_1[10] + 0x38))(); FUN_18049c4e0(&local_1a0,"NumCueNotes"); FUN_181211fd0(&local_1a8,sVar4); FUN_18122c880(puVar1,&local_1a0,&local_1a8); puVar16 = (uint *)(local_1a8 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(local_1a0 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } cVar20 = local_248; if (sVar4 != 0) { uVar9 = (**(code **)(*(longlong *)param_1[10] + 0x48))(); uVar5 = (**(code **)(*(longlong *)param_1[10] + 0x38))(); uVar6 = (**(code **)(*(longlong *)param_1[10] + 0x38))(); local_138 = (void *)0x0; local_130 = 0; (**(code **)(*(longlong *)param_1[10] + 0xa0)) ((longlong *)param_1[10],&local_138,(uVar6 & 1) + (uint)uVar6); FUN_181211fd0(&local_198,0); FUN_181246550(&local_220,"CueNote",&local_198); puVar16 = (uint *)(local_198 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } FUN_181211fd0(&local_188,uVar9); lVar10 = local_220; local_190 = local_220; if ((*(uint *)(local_220 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_220 + -0x10) = *(int *)(local_220 + -0x10) + 1; UNLOCK(); } uVar14 = FUN_1812465e0(&local_110,&local_190,"TimeStamp"); FUN_18122c880(puVar1,uVar14,&local_188); puVar16 = (uint *)(local_110 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(local_188 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } FUN_181211fd0(&local_178,uVar5); local_180 = local_220; if ((*(uint *)(lVar10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar10 + -0x10) = *(int *)(lVar10 + -0x10) + 1; UNLOCK(); } uVar14 = FUN_1812465e0(&local_108,&local_180,"Identifier"); FUN_18122c880(puVar1,uVar14,&local_178); FUN_180495200(local_108); FUN_180495200(local_178); uVar14 = FUN_18123a690(&local_138,&local_f8); local_170 = local_220; if ((*(uint *)(lVar10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar10 + -0x10) = *(int *)(lVar10 + -0x10) + 1; UNLOCK(); } uVar15 = FUN_1812465e0(&local_100,&local_170,&DAT_1824acc88); FUN_18122c880(puVar1,uVar15,uVar14); FUN_180495200(local_100); FUN_180495200(local_f8); FUN_180495200(local_220); /* WARNING: Subroutine does not return */ free(local_138); } } else { if (iVar7 == 0x54534e49) { /* WARNING: Subroutine does not return */ free((void *)0x0); } if (iVar7 == 0x63736162) { uVar14 = FUN_180539500(local_a8,param_1[10]); FUN_1805397a0(uVar14,puVar1); } else if (iVar7 == 0x65746163) { FUN_18049c4e0(&local_168,"apple tag"); uVar14 = FUN_1813ad2e0(&local_f0,param_1[10],uVar19); FUN_18122c880(puVar1,&local_168,uVar14); FUN_180495200(local_f0); FUN_180495200(local_168); } else if ((((cVar20 != '\0') && (local_247 != '\0')) && (local_246 != '\0')) || ((lVar12 = (**(code **)(*(longlong *)param_1[10] + 0xa8))(), lVar10 < lVar12 || (cVar3 = (**(code **)(*(longlong *)param_1[10] + 0x10))(), cVar3 != '\0')))) break; } (**(code **)(*(longlong *)param_1[10] + 0xb0)) ((longlong *)param_1[10],(ulonglong)((uint)lVar10 & 1) + lVar10); lVar10 = (**(code **)(*(longlong *)param_1[10] + 0xa8))(); lVar12 = lVar10 - local_e8; bVar21 = SBORROW8(lVar10,local_e8); } } } if (0 < *(int *)((longlong)param_1 + 0x34)) { FUN_18049c4e0(&local_158,&DAT_1824acc4c); FUN_18049c4e0(&local_160,"MetaDataSource"); FUN_18122c880(puVar1,&local_160,&local_158); FUN_180495200(local_160); FUN_180495200(local_158); } } ############ FUN_ 18123a690 size=84 ############ undefined8 * FUN_18123a690(longlong *param_1,undefined8 *param_2) { int iVar1; longlong lVar2; iVar1 = (int)param_1[1]; lVar2 = *param_1; if (lVar2 != 0) { if (iVar1 < 0) { FUN_18049c9e0(param_2); return param_2; } if (0 < iVar1) { FUN_18124a8a0(param_2,lVar2,lVar2 + iVar1); return param_2; } } *param_2 = &DAT_1821dbf98; return param_2; } ############ 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_ 18136dab0 size=662 ############ void FUN_18136dab0(undefined8 param_1,longlong *param_2) { uint uVar1; byte bVar2; byte bVar3; byte bVar4; int iVar5; longlong lVar6; undefined8 *puVar7; uint *puVar8; byte *pbVar9; void *_Memory; int iVar10; char *local_res10; void *local_res18; longlong local_res20; longlong local_98 [3]; undefined8 local_80; undefined2 local_78; undefined1 *local_70; undefined1 *local_68; undefined8 local_60; undefined8 local_58; undefined2 local_50; undefined8 local_48; local_98[1] = 0xfffffffffffffffe; local_98[2] = *param_2; if ((*(uint *)(local_98[2] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_98[2] + -0x10) = *(int *)(local_98[2] + -0x10) + 1; UNLOCK(); } iVar10 = 0; local_80 = 0; local_78 = 0; local_70 = &DAT_1821dbf98; local_68 = &DAT_1821dbf98; local_60 = 0; local_58 = 0; local_50 = 0x100; local_48 = 0; FUN_181248430(local_98 + 2,&local_res18); FUN_181248660(local_98 + 2); _Memory = local_res18; if ((((local_res18 == (void *)0x0) || (iVar5 = FUN_18049bb30(*(undefined8 *)((longlong)local_res18 + 0x18),"ebucore:ebuCoreMain"), iVar5 != 0)) || (lVar6 = FUN_181246a60(_Memory,"ebucore:coreMetadata"), lVar6 == 0)) || ((lVar6 = FUN_181246a60(lVar6,"ebucore:identifier"), lVar6 == 0 || (lVar6 = FUN_181246a60(lVar6,"dc:identifier"), lVar6 == 0)))) goto LAB_18136dd1b; puVar7 = (undefined8 *)FUN_181246700(lVar6,local_98); pbVar9 = &DAT_1821e483c; iVar5 = FUN_18049d2f0(*puVar7,&DAT_1821e483c); if (-1 < iVar5) { LAB_18136dbd4: do { bVar2 = *pbVar9; pbVar9 = pbVar9 + 1; if ((char)bVar2 < '\0') { if ((*pbVar9 & 0xc0) == 0x80) { do { pbVar9 = pbVar9 + 1; } while ((*pbVar9 & 0xc0) == 0x80); iVar10 = iVar10 + 1; goto LAB_18136dbd4; } } else if (bVar2 == 0) goto LAB_18136dc0a; iVar10 = iVar10 + 1; } while( true ); } LAB_18136dbcb: local_res10 = ""; goto LAB_18136dc7d; LAB_18136dc0a: iVar10 = iVar10 + iVar5; if (iVar10 < 1) { local_res10 = (char *)*puVar7; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } } else { pbVar9 = (byte *)*puVar7; while (iVar10 = iVar10 + -1, -1 < iVar10) { bVar2 = *pbVar9; if (bVar2 == 0) goto LAB_18136dbcb; pbVar9 = pbVar9 + 1; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar9 = pbVar9 + 1; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } } FUN_18049c9e0(&local_res10); } LAB_18136dc7d: puVar8 = (uint *)(local_98[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (*local_res10 != '\0') { FUN_18049c4e0(&local_res20,&DAT_1822467e4); FUN_18122c880(param_1,&local_res20,&local_res10); puVar8 = (uint *)(local_res20 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } puVar8 = (uint *)(local_res10 + -0x10); _Memory = local_res18; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } LAB_18136dd1b: if (_Memory != (void *)0x0) { FUN_1812472e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 18122cad0 size=812 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18122cad0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined *param_4, undefined *param_5) { uint *_Memory; longlong lVar1; int iVar2; longlong *plVar3; uint uVar4; uint *puVar5; undefined *puVar6; uint uVar7; undefined *puVar8; char *pcVar9; char *pcVar10; longlong lVar11; undefined1 auStack_e8 [32]; longlong local_c8; longlong local_c0; int local_b8; longlong local_a8; longlong local_a0; longlong local_98; longlong local_90; undefined1 local_88 [8]; longlong local_80; undefined8 local_78; undefined8 local_70; longlong *local_68; longlong *local_60; char acStack_3b [3]; ulonglong local_38; local_78 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_e8; puVar8 = &DAT_1821da99c; if (param_4 != (undefined *)0x0) { puVar8 = param_4; } puVar6 = &DAT_1821da974; if (param_5 != (undefined *)0x0) { puVar6 = param_5; } local_b8 = 0; if (0 < *(int *)((longlong)param_1 + 0xc) + -1) { lVar11 = 0; do { lVar1 = *param_1; local_70 = *(undefined8 *)(lVar1 + lVar11); local_b8 = local_b8 + 1; iVar2 = FUN_1812498b0(param_1,local_70,0,local_b8); if (-1 < iVar2) { local_80 = *(longlong *)(lVar1 + lVar11); _Memory = (uint *)(local_80 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } uVar7 = 1; local_68 = &local_c8; local_60 = &local_c0; do { FUN_18049c9e0(&local_90,puVar6); uVar7 = uVar7 + 1; pcVar9 = acStack_3b + 2; acStack_3b[2] = 0; uVar4 = uVar7; if ((int)uVar7 < 0) { uVar4 = -uVar7; do { pcVar10 = pcVar9; pcVar9 = pcVar10 + -1; *pcVar9 = (char)uVar4 + (char)((ulonglong)uVar4 / 10) * -10 + '0'; uVar4 = (uint)((ulonglong)uVar4 / 10); } while (uVar4 != 0); pcVar9 = pcVar10 + -2; *pcVar9 = '-'; } else { do { pcVar9 = pcVar9 + -1; *pcVar9 = (char)uVar4 + (char)((ulonglong)uVar4 / 10) * -10 + '0'; uVar4 = (uint)((ulonglong)uVar4 / 10); } while (uVar4 != 0); } FUN_180495150(&local_98,pcVar9,acStack_3b + (2 - (longlong)pcVar9)); FUN_18049c9e0(&local_a0,puVar8); plVar3 = (longlong *)FUN_181249970(param_1,iVar2); local_c8 = *plVar3; if ((*(uint *)(local_c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c8 + -0x10) = *(int *)(local_c8 + -0x10) + 1; UNLOCK(); } plVar3 = (longlong *)FUN_181232d30(&local_c8,&local_a0); local_c0 = *plVar3; if ((*(uint *)(local_c0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c0 + -0x10) = *(int *)(local_c0 + -0x10) + 1; UNLOCK(); } puVar5 = (uint *)(local_c8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } plVar3 = (longlong *)FUN_181232d30(&local_c0,&local_98); local_a8 = *plVar3; if ((*(uint *)(local_a8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a8 + -0x10) = *(int *)(local_a8 + -0x10) + 1; UNLOCK(); } puVar5 = (uint *)(local_c0 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_181232aa0(local_88,&local_a8,&local_90); FUN_18122dad0(param_1,iVar2); puVar5 = (uint *)(local_a0 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_98 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_90 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } iVar2 = FUN_1812498b0(param_1,local_80,0,iVar2 + 1); } while (-1 < iVar2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar7 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } lVar11 = lVar11 + 8; } while (local_b8 < *(int *)((longlong)param_1 + 0xc) + -1); } } ############ FUN_ 180558260 size=1918 ############ undefined8 FUN_180558260(undefined8 *param_1,longlong *param_2,ulonglong param_3,undefined8 *param_4, longlong *param_5,undefined4 param_6,longlong param_7,longlong param_8) { byte bVar1; undefined4 uVar2; undefined8 *puVar3; byte bVar4; longlong *plVar5; byte *pbVar6; byte bVar7; undefined4 uVar8; uint uVar9; int iVar10; int iVar11; int iVar12; longlong *plVar13; undefined8 uVar14; longlong lVar15; int iVar16; byte *pbVar17; byte *pbVar18; uint *puVar19; ulonglong uVar20; longlong *plVar21; longlong *plVar22; int iVar23; uint uVar24; uint uVar25; bool bVar27; longlong *local_108; undefined8 local_100; longlong *local_f8; int local_f0; undefined8 local_ec; char local_e4; byte *local_e0; undefined1 *local_d8; byte *local_d0; undefined1 *local_c8; longlong *local_c0; int local_b8; undefined8 local_b4; undefined1 local_ac; longlong *local_a8; int local_a0; undefined8 local_9c; undefined1 local_94; int local_90; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; ulonglong local_70; longlong local_68; longlong local_60; undefined8 local_58; longlong local_50; ulonglong uVar26; uVar24 = (uint)param_3; local_58 = 0xfffffffffffffffe; uVar20 = 0; local_108 = (longlong *)0x0; local_100 = 0; FUN_18055c6a0(&local_108,8); if (param_5 == (longlong *)0x0) { if ((uVar24 < *(uint *)((longlong)param_2 + 0xc)) && (puVar3 = *(undefined8 **)(*param_2 + (longlong)(int)uVar24 * 8), puVar3 != (undefined8 *)0x0 )) { pbVar18 = (byte *)*puVar3; local_e0 = pbVar18; if ((*(uint *)(pbVar18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar18 + -0x10) = *(int *)(pbVar18 + -0x10) + 1; UNLOCK(); } } else { local_e0 = &DAT_1821dbf98; pbVar18 = local_e0; } LAB_180558316: do { pbVar6 = local_e0; pbVar17 = pbVar18 + 1; if ((char)*pbVar18 < '\0') { if ((*pbVar17 & 0xc0) == 0x80) { do { pbVar17 = pbVar17 + 1; } while ((*pbVar17 & 0xc0) == 0x80); uVar20 = uVar20 + 1; pbVar18 = pbVar17; goto LAB_180558316; } } else if (*pbVar18 == 0) goto LAB_18055834a; uVar20 = uVar20 + 1; pbVar18 = pbVar17; } while( true ); } uVar9 = *(uint *)((longlong)param_2 + 0xc); if ((int)uVar24 < (int)uVar9) { local_e4 = '\0'; uVar26 = uVar20; if (uVar9 == 0) { local_ec = 0; local_f0 = 0; } else { if ((int)uVar24 < (int)uVar9) { if (0 < (int)uVar24) { uVar26 = param_3 & 0xffffffff; } uVar25 = (uint)uVar26; lVar15 = *(longlong *)(*param_2 + (longlong)(int)uVar25 * 8); iVar11 = *(int *)(lVar15 + 0x10); local_f0 = 0; if ((0 < iVar11) && (iVar11 < 0)) { local_f0 = iVar11; } } else { uVar25 = uVar9 - 1; uVar26 = (ulonglong)uVar25; lVar15 = *(longlong *)(*param_2 + (longlong)(int)uVar25 * 8); local_f0 = *(int *)(lVar15 + 0x10); } local_ec = CONCAT44(local_f0,uVar25); local_f0 = local_f0 + *(int *)(lVar15 + 8); } iVar11 = local_f0; if (((uint)uVar26 < uVar9) && (puVar3 = *(undefined8 **)(*param_2 + (longlong)(int)(uint)uVar26 * 8), puVar3 != (undefined8 *)0x0)) { local_d0 = (byte *)*puVar3; if ((*(uint *)(local_d0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d0 + -0x10) = *(int *)(local_d0 + -0x10) + 1; UNLOCK(); } } else { local_d0 = &DAT_1821dbf98; } local_90 = local_f0; local_88 = *param_4; uStack_80 = param_4[1]; local_78 = param_4[2]; pbVar18 = local_d0; LAB_180558476: do { bVar1 = *pbVar18; pbVar18 = pbVar18 + 1; if ((char)bVar1 < '\0') { if ((*pbVar18 & 0xc0) == 0x80) { do { pbVar18 = pbVar18 + 1; } while ((*pbVar18 & 0xc0) == 0x80); uVar20 = uVar20 + 1; goto LAB_180558476; } } else if (bVar1 == 0) goto LAB_1805584aa; uVar20 = uVar20 + 1; } while( true ); } goto LAB_18055875c; LAB_18055834a: FUN_1805590f0(&local_108,&local_e0,uVar20 & 0xffffffff,0xffffffff); puVar19 = (uint *)(pbVar6 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } goto LAB_18055875c; LAB_1805584aa: local_f8 = param_2; local_70 = uVar20; uVar8 = (**(code **)(*param_5 + 8))(param_5,param_4); iVar12 = local_78._4_4_; while( true ) { if (*(int *)((longlong)param_4 + 0x14) <= iVar12) break; iVar23 = *(int *)((longlong)param_4 + 0x14) - iVar11; if (0 < iVar23) { iVar16 = 0; if (0 < iVar12 - iVar11) { iVar16 = iVar12 - iVar11; } plVar13 = (longlong *)FUN_1812490c0(&local_d0,&local_60,iVar16,iVar23); iVar16 = iVar23 - iVar16; if (iVar16 < 0x3e9) { local_50 = *plVar13; if ((*(uint *)(local_50 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_50 + -0x10) = *(int *)(local_50 + -0x10) + 1; UNLOCK(); } FUN_18055c6a0(&local_108,local_100._4_4_ + 1); lVar15 = (longlong)local_100._4_4_; local_100 = CONCAT44(local_100._4_4_ + 1,(undefined4)local_100); plVar13 = local_108 + lVar15 * 2; *plVar13 = local_50; *(int *)(plVar13 + 1) = iVar16; *(undefined4 *)((longlong)plVar13 + 0xc) = uVar8; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar9 = DAT_1821dbf88 - 1; UNLOCK(); bVar27 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar9; if (bVar27) { puVar19 = &DAT_1821dbf88; goto LAB_18055869a; } } } else { iVar11 = iVar16 / 2; uVar14 = FUN_1812490c0(plVar13,&local_68,0,iVar11); FUN_1805590f0(&local_108,uVar14,iVar11,uVar8); puVar19 = (uint *)(local_68 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } if (iVar11 < 1) { local_d8 = (undefined1 *)*plVar13; if ((*(uint *)(local_d8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d8 + -0x10) = *(int *)(local_d8 + -0x10) + 1; UNLOCK(); } } else { pbVar18 = (byte *)*plVar13; iVar12 = iVar11; while (iVar12 = iVar12 + -1, -1 < iVar12) { bVar1 = *pbVar18; if (bVar1 == 0) { local_d8 = &DAT_1821dbf98; goto LAB_1805585ce; } pbVar18 = pbVar18 + 1; if ((char)bVar1 < '\0') { bVar7 = 0x40; bVar4 = bVar1 & 0x40; while ((bVar4 != 0 && (8 < bVar7))) { pbVar18 = pbVar18 + 1; bVar7 = bVar7 >> 1; bVar4 = bVar1 & bVar7; } } } FUN_18049c9e0(&local_d8); } LAB_1805585ce: FUN_1805590f0(&local_108,&local_d8,iVar16 - iVar11,uVar8); puVar19 = (uint *)(local_d8 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar9 == 0) { LAB_18055869a: /* WARNING: Subroutine does not return */ free(puVar19); } } } puVar19 = (uint *)(local_60 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } iVar11 = local_90; if ((int)local_70 <= iVar23) { iVar12 = local_78._4_4_; break; } } local_88 = *param_4; uStack_80 = param_4[1]; iVar12 = *(int *)((longlong)param_4 + 0x14); local_78 = param_4[2]; uVar8 = (**(code **)(*param_5 + 8))(param_5); } *param_4 = local_88; param_4[1] = uStack_80; *(undefined4 *)(param_4 + 2) = (undefined4)local_78; *(int *)((longlong)param_4 + 0x14) = iVar12; puVar19 = (uint *)(local_d0 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } if (local_e4 != '\0') { FUN_1813c8030(&local_f8,0); } LAB_18055875c: FUN_180558eb0(&local_108,param_6); iVar11 = 0; iVar12 = 0; if ((*(int *)(param_7 + 0xc) <= (int)uVar24) && ((int)uVar24 <= *(int *)(param_8 + 0xc))) { if ((uVar24 < *(uint *)((longlong)param_2 + 0xc)) && (puVar3 = *(undefined8 **)(*param_2 + (longlong)(int)uVar24 * 8), puVar3 != (undefined8 *)0x0 )) { local_c8 = (undefined1 *)*puVar3; if ((*(uint *)(local_c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c8 + -0x10) = *(int *)(local_c8 + -0x10) + 1; UNLOCK(); } } else { local_c8 = &DAT_1821dbf98; } local_ac = 0; iVar11 = *(int *)((longlong)param_2 + 0xc); if (iVar11 == 0) { local_b4 = 0; iVar23 = 0; } else { if ((int)uVar24 < iVar11) { uVar9 = 0; if (0 < (int)uVar24) { uVar9 = uVar24; } lVar15 = *(longlong *)(*param_2 + (longlong)(int)uVar9 * 8); iVar11 = *(int *)(lVar15 + 0x10); iVar23 = 0; if ((0 < iVar11) && (iVar23 = 0, iVar11 < 0)) { iVar23 = iVar11; } } else { uVar9 = iVar11 - 1; lVar15 = *(longlong *)(*param_2 + (longlong)(int)uVar9 * 8); iVar23 = *(int *)(lVar15 + 0x10); } local_b4 = CONCAT44(iVar23,uVar9); iVar23 = *(int *)(lVar15 + 8) + iVar23; } iVar16 = uVar24 + 1; local_94 = 0; iVar11 = *(int *)((longlong)param_2 + 0xc); if (iVar11 == 0) { local_9c = 0; } else { if (iVar16 < iVar11) { iVar11 = 0; if (0 < iVar16) { iVar11 = iVar16; } lVar15 = *(longlong *)(*param_2 + (longlong)iVar11 * 8); iVar12 = *(int *)(lVar15 + 0x10); iVar16 = 0; if ((0 < iVar12) && (iVar16 = 0, iVar12 < 0)) { iVar16 = iVar12; } } else { iVar11 = iVar11 + -1; lVar15 = *(longlong *)(*param_2 + (longlong)iVar11 * 8); iVar16 = *(int *)(lVar15 + 0x10); } local_9c = CONCAT44(iVar16,iVar11); iVar12 = *(int *)(lVar15 + 8) + iVar16; } iVar10 = *(int *)(param_7 + 8) - iVar23; iVar11 = 0; if (0 < iVar10) { iVar11 = iVar10; } local_c0 = param_2; local_b8 = iVar23; local_a8 = param_2; local_a0 = iVar12; iVar11 = FUN_180559030(iVar16,iVar11,&local_c8,param_6); iVar10 = *(int *)(param_8 + 8) - iVar23; iVar16 = iVar12 - iVar23; if (iVar10 < iVar12 - iVar23) { iVar16 = iVar10; } iVar12 = FUN_180559030(iVar10,iVar16,&local_c8,param_6); puVar19 = (uint *)(local_c8 + -0x10); if ((*puVar19 & 0x30000000) == 0) { LOCK(); uVar24 = *puVar19; *puVar19 = *puVar19 - 1; UNLOCK(); if (uVar24 == 0) { /* WARNING: Subroutine does not return */ free(puVar19); } } } plVar13 = local_108; iVar23 = local_100._4_4_; if ((iVar11 == *(int *)(param_1 + 2)) && (iVar12 == *(int *)((longlong)param_1 + 0x14))) { if (*(int *)((longlong)param_1 + 0xc) == local_100._4_4_) { plVar22 = local_108 + (longlong)local_100._4_4_ * 2; plVar5 = (longlong *)*param_1; for (plVar21 = local_108; plVar21 != plVar22; plVar21 = plVar21 + 2) { if ((*(int *)((longlong)plVar5 + 0xc) != *(int *)((longlong)plVar21 + 0xc)) || ((int)plVar5[1] != (int)plVar21[1])) goto LAB_18055898e; if (*plVar5 == *plVar21) { iVar11 = 0; } else { iVar11 = FUN_18048cbc0(*plVar5,*plVar21); } if (iVar11 != 0) goto LAB_18055898e; plVar5 = plVar5 + 2; } uVar14 = 0; goto LAB_1805589bd; } } else { *(int *)(param_1 + 2) = iVar11; *(int *)((longlong)param_1 + 0x14) = iVar12; } LAB_18055898e: local_108 = (longlong *)*param_1; *param_1 = plVar13; uVar8 = *(undefined4 *)(param_1 + 1); *(undefined4 *)(param_1 + 1) = (undefined4)local_100; uVar2 = *(undefined4 *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar23; local_100 = CONCAT44(uVar2,uVar8); uVar14 = 1; LAB_1805589bd: FUN_18051a4c0(&local_108); return uVar14; } ############ FUN_ 1805590f0 size=484 ############ void FUN_1805590f0(longlong *param_1,longlong *param_2,int param_3,undefined4 param_4) { uint uVar1; byte bVar2; byte bVar3; int iVar4; byte bVar5; int iVar6; undefined8 uVar7; uint *puVar8; byte *pbVar9; longlong *plVar10; bool bVar11; undefined1 *local_48; longlong local_40 [5]; local_40[1] = 0xfffffffffffffffe; if (param_3 < 0x3e9) { local_40[2] = *param_2; if ((*(uint *)(local_40[2] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_40[2] + -0x10) = *(int *)(local_40[2] + -0x10) + 1; UNLOCK(); } FUN_18055c6a0(param_1,*(int *)((longlong)param_1 + 0xc) + 1); iVar6 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar6 + 1; plVar10 = (longlong *)((longlong)iVar6 * 0x10 + *param_1); *plVar10 = local_40[2]; *(int *)(plVar10 + 1) = param_3; *(undefined4 *)((longlong)plVar10 + 0xc) = param_4; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); UNLOCK(); bVar11 = DAT_1821dbf88 == 0; DAT_1821dbf88 = DAT_1821dbf88 - 1; if (bVar11) { puVar8 = &DAT_1821dbf88; DAT_1821dbf88 = 0xffffffff; goto LAB_1805592b3; } } } else { iVar6 = param_3 / 2; uVar7 = FUN_1812490c0(param_2,local_40,0,iVar6); FUN_1805590f0(param_1,uVar7,iVar6,param_4); puVar8 = (uint *)(local_40[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (iVar6 < 1) { local_48 = (undefined1 *)*param_2; if ((*(uint *)(local_48 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_48 + -0x10) = *(int *)(local_48 + -0x10) + 1; UNLOCK(); } } else { pbVar9 = (byte *)*param_2; iVar4 = iVar6; while (iVar4 = iVar4 + -1, -1 < iVar4) { bVar2 = *pbVar9; if (bVar2 == 0) { local_48 = &DAT_1821dbf98; goto LAB_1805591ee; } pbVar9 = pbVar9 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { pbVar9 = pbVar9 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } } FUN_18049c9e0(&local_48); } LAB_1805591ee: FUN_1805590f0(param_1,&local_48,param_3 - iVar6,param_4); puVar8 = (uint *)(local_48 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { LAB_1805592b3: /* WARNING: Subroutine does not return */ free(puVar8); } } } return; } ############ FUN_ 181410d30 size=3395 ############ /* WARNING: Instruction at (ram,0x0001814113cf) overlaps instruction at (ram,0x0001814113ce) */ /* WARNING: Removing unreachable block (ram,0x000181411650) */ /* WARNING: Removing unreachable block (ram,0x00018141158c) */ /* WARNING: Removing unreachable block (ram,0x00018141124a) */ /* WARNING: Removing unreachable block (ram,0x000181411060) */ /* WARNING: Removing unreachable block (ram,0x000181410daf) */ /* WARNING: Removing unreachable block (ram,0x000181410d9b) */ /* WARNING: Removing unreachable block (ram,0x000181410e08) */ /* WARNING: Removing unreachable block (ram,0x0001814113cd) */ /* WARNING: Removing unreachable block (ram,0x00018141163a) */ /* WARNING: Removing unreachable block (ram,0x000181411920) */ void FUN_181410d30(longlong param_1,undefined8 param_2,undefined4 param_3) { longlong lVar1; longlong *plVar2; uint uVar3; uint uVar4; longlong *plVar5; int *piVar6; int iVar7; uint *_Memory; undefined4 *puVar8; longlong lVar9; undefined1 *puVar10; uint uVar11; uint uVar12; uint uVar13; ulonglong uVar14; undefined8 in_R11; int *piVar15; int unaff_retaddr; undefined4 local_res8 [2]; undefined4 local_res20 [2]; undefined1 auStack_98 [32]; undefined *local_78; undefined8 local_70; int *local_68; longlong local_60 [5]; puVar10 = auStack_98; local_60[1] = 0xfffffffffffffffe; uVar3 = (uint)&stack0x00000000 & 0x36ff; uVar11 = ((uVar3 + 1) * uVar3 + 7) % 0x51; uVar3 = (uint)&stack0x00000000 & 0x19ff; uVar3 = (uVar3 + 1) * uVar3 + 0x6063 & 0x80000001; uVar3 = (int)((-uVar3 | uVar3) & (-uVar11 | uVar11)) >> 0x1f; uVar11 = 0x500; FUN_181406d20(param_1,param_2); FUN_18049c9e0(local_60,param_2); plVar5 = (longlong *)FUN_1805714d0(param_1 + 0x168,local_60); _Memory = (uint *)(local_60[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } piVar6 = &DAT_18114bd58; local_78 = &DAT_18114be58; local_70 = 0x100; uVar4 = (DAT_18114bd58 + 0x2a8399f) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18114bd5c) * -0x395b586d; uVar13 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18114bd60) * -0x395b586d; uVar13 = uVar13 ^ uVar13 >> 0x10; uVar14 = (ulonglong)uVar13; uVar4 = uVar13 & 0x1f; lVar9 = -((longlong)(int)(0x395a - ((uVar4 + 1) * (uVar4 + 1) * uVar4 * uVar4 & 0x80000003)) ^ 0x3952U); uVar4 = (*(int *)(&DAT_18114bd6c + lVar9) + uVar13) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd70 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd74 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd78 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd7c + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd80 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd84 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd88 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd8c + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd90 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd94 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd98 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd9c + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bda0 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bda4 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bda8 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&LAB_18114bdac + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdb0 + lVar9)) * -0x395b586d; do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar4 = (*(int *)(&DAT_18114bdb4 + lVar9) + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdb8 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdbc + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdc0 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdc4 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdc8 + lVar9)) * -0x395b586d; do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar4 = (*(int *)(&DAT_18114bdcc + lVar9) + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; *(undefined4 *)*plVar5 = param_3; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdd0 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdd4 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdd8 + lVar9)) * -0x395b586d; local_68 = piVar6; do { FUN_181411cce(0xe80c); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar4 = (*(int *)(&DAT_18114bddc + lVar9) + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; lVar1 = *plVar5; *(undefined4 *)(lVar1 + 0x18) = param_3; plVar2 = *(longlong **)(lVar1 + 0x10); if ((undefined **)*plVar2 == SkewInterpolator::vftable) { *(float *)((longlong)plVar2 + 0x6c) = *(float *)plVar2[1] - *(float *)plVar2[2]; *(float *)(plVar2 + 0xe) = *(float *)plVar2[2]; *(undefined4 *)(plVar2 + 0xd) = *(undefined4 *)((longlong)plVar2 + 100); } else { (*(code *)((undefined **)*plVar2)[1])(plVar2); } uVar4 = (*(int *)(&DAT_18114bde0 + lVar9) + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bde4 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bde8 + lVar9)) * -0x395b586d; do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar4 = (*(int *)(&DAT_18114bdec + lVar9) + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdf0 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdf4 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdf8 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bdfc + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114be00 + lVar9)) * -0x395b586d; local_68 = (int *)0x1038bf0c4e66f9b1; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114be04 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114be08 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114be0c + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114be10 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114be14 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&UNK_18114be18 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&UNK_18114be1c + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&UNK_18114be20 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&UNK_18114be24 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&UNK_18114be28 + lVar9)) * -0x395b586d; uVar12 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&UNK_18114be2c + lVar9)) * -0x395b586d; uVar12 = uVar12 ^ uVar12 >> 0x10; uVar13 = uVar12 & 0x11ff; uVar4 = (uint)local_70 & 0x13f; iVar7 = (uVar4 + 2) * (uVar4 + 1) * uVar4; uVar4 = ((uVar13 + 1) * uVar13 + 0xb3d & 0x80000001) << ((char)iVar7 + (char)((ulonglong)((longlong)iVar7 * 0x55555556) >> 0x20) * -3 & 0x1fU); lVar9 = lVar9 + (0x108 - ((ulonglong)((int)(-uVar4 | uVar4) >> 0x1f & 52000) ^ 0xcb10)); uVar4 = (*(int *)(lVar9 + 0x18114bd58) + uVar12) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(lVar9 + 0x18114bd5c)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(lVar9 + 0x18114bd60)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd64 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd68 + lVar9)) * -0x395b586d; uVar13 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd6c + lVar9)) * -0x395b586d; uVar13 = uVar13 ^ uVar13 >> 0x10; uVar4 = uVar13 & 0x3f; uVar12 = (uint)(lVar9 + 0x14) & 0x76ff; lVar9 = lVar9 + 0x14 + ((longlong) (int)(((uVar4 + 1) * (uVar4 + 1) * uVar4 * uVar4 & 0x80000003) - ((uVar12 + 1) * uVar12 & 0x80000001)) ^ 4U); uVar4 = (*(int *)(lVar9 + 0x18114bd58) + uVar13) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(lVar9 + 0x18114bd5c)) * -0x395b586d; piVar15 = (int *)register0x00000020; do { piVar15 = (int *)((((ulonglong)piVar15 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1); uVar13 = (*piVar15 + 1) * *piVar15 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar4 = (*(int *)(lVar9 + 0x18114bd60) + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; do { FUN_18141362d(0xe80c); uVar11 = -((uVar11 ^ 0xffffffff) + 1); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar4 = (*(int *)(&DAT_18114bd64 + lVar9) + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd68 + lVar9)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *(int *)(&DAT_18114bd6c + lVar9)) * -0x395b586d; uVar4 = uVar4 ^ uVar4 >> 0x10; do { func_0x000181410c68(0xe80c); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); do { FUN_18140fcdd(); FUN_18140feb3(); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar13 = (uVar4 >> 0xf ^ uVar4) >> 4 & 0x3f; do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); lVar9 = *(longlong *)(*plVar5 + 0x10); if ((char)((((uVar13 << 0xf | uVar13) << 4 ^ uVar4) == 0x23890a3e) * '-') == '\0') { local_res8[0] = **(undefined4 **)(lVar9 + 0x10); plVar5 = *(longlong **)(lVar9 + 0x50); if (plVar5 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } puVar8 = local_res8; (**(code **)(*plVar5 + 0x10))(plVar5,puVar8); thunk_FUN_1805a9280((longlong)(int)(((int)(-uVar3 | uVar3) >> 0x1f) * -0x83ff ^ 0x86df), (-(longlong)puVar8 ^ 0xffffffffffffffffU) + 1); return; } local_res20[0] = **(undefined4 **)(lVar9 + 0x10); plVar5 = *(longlong **)(lVar9 + 0x50); if (plVar5 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar5 + 0x10))(plVar5,local_res20); do { *(undefined8 *)(puVar10 + -8) = in_R11; *(ulonglong *)(puVar10 + -0x10) = uVar14; *(int **)(puVar10 + -0x18) = piVar6; lVar9 = -(longlong)(int)uVar11; piVar6 = *(int **)(puVar10 + lVar9 + 0x4e8); uVar14 = *(ulonglong *)(puVar10 + lVar9 + 0x4f0); in_R11 = *(undefined8 *)(puVar10 + lVar9 + 0x4f8); puVar10 = puVar10 + lVar9 + 0x500; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); return; } ############ FUN_ 181411b10 size=194 ############ void FUN_181411b10(longlong param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4) { uint uVar1; longlong *plVar2; uint *_Memory; longlong local_res8; undefined4 local_res18 [4]; FUN_181406a70(param_1,param_2,param_3,param_4,0xfffffffffffffffe); FUN_18049c9e0(&local_res8,param_2); plVar2 = (longlong *)FUN_1805714d0(param_1 + 0x178,&local_res8); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(undefined4 *)*plVar2 = param_3; FUN_180571590(*plVar2,param_3); local_res18[0] = **(undefined4 **)(*(longlong *)(*plVar2 + 0x10) + 0x10); plVar2 = *(longlong **)(*(longlong *)(*plVar2 + 0x10) + 0x50); if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar2 + 0x10))(plVar2,local_res18); return; } ############ FUN_ 18136d830 size=85 ############ undefined8 * FUN_18136d830(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { *param_1 = juce::AudioFormat::vftable; FUN_18049c9e0(param_1 + 1,"WAV file",param_3,param_4,0xfffffffffffffffe); FUN_18122ce70(param_1 + 2,".wav .bwf"); *param_1 = juce::WavAudioFormat::vftable; return param_1; } ############ FUN_ 18136f570 size=85 ############ undefined8 * FUN_18136f570(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { *param_1 = juce::AudioFormat::vftable; FUN_18049c9e0(param_1 + 1,"Ogg-Vorbis file",param_3,param_4,0xfffffffffffffffe); FUN_18122ce70(param_1 + 2,&DAT_1821f6804); *param_1 = juce::OggVorbisAudioFormat::vftable; return param_1; } ############ FUN_ 181230650 size=425 ############ byte * FUN_181230650(undefined8 *param_1,byte *param_2,undefined8 param_3) { byte bVar1; byte *pbVar2; bool bVar3; bool bVar4; byte bVar5; uint uVar6; uint uVar7; byte **ppbVar8; uint *puVar9; byte *pbVar10; longlong lVar11; int iVar12; byte *local_res8; byte *local_res10; pbVar2 = (byte *)*param_1; bVar4 = true; bVar3 = false; pbVar10 = pbVar2; local_res10 = param_2; do { do { bVar1 = *pbVar10; uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar7 = 0x7f; uVar6 = 0x40; iVar12 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar7 = uVar7 >> 1; iVar12 = iVar12 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } uVar7 = bVar1 & uVar7; lVar11 = 1; if (0 < (longlong)iVar12) { do { if ((pbVar10[lVar11] & 0xc0) != 0x80) break; uVar7 = pbVar10[lVar11] & 0x3f | uVar7 << 6; lVar11 = lVar11 + 1; } while (lVar11 <= iVar12); } } iVar12 = FUN_18049bc80(param_3,uVar7); if (iVar12 < 0) { if (pbVar10 == pbVar2) { local_res8 = pbVar2; if ((*(uint *)(pbVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar2 + -0x10) = *(int *)(pbVar2 + -0x10) + 1; UNLOCK(); } ppbVar8 = &local_res8; } else { FUN_18049c9e0(&local_res10,pbVar10); ppbVar8 = &local_res10; bVar4 = false; bVar3 = true; } *(byte **)param_2 = *ppbVar8; *ppbVar8 = &DAT_1821dbf98; if ((bVar3) && (puVar9 = (uint *)(local_res10 + -0x10), (*puVar9 & 0x30000000) == 0)) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((bVar4) && (puVar9 = (uint *)(local_res8 + -0x10), (*puVar9 & 0x30000000) == 0)) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } return param_2; } pbVar10 = pbVar10 + 1; } while ((-1 < (char)bVar1) || (bVar5 = 0x40, (bVar1 & 0x40) == 0)); do { if (bVar5 < 9) break; pbVar10 = pbVar10 + 1; bVar5 = bVar5 >> 1; } while ((bVar1 & bVar5) != 0); } while( true ); } ############ FUN_ 18057d260 size=166 ############ void FUN_18057d260(longlong param_1,undefined8 *param_2,undefined4 *param_3,undefined8 param_4) { uint uVar1; longlong lVar2; uint *_Memory; longlong local_res8; longlong *local_res10; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; FUN_18049c9e0(&local_res8,*param_2,param_3,param_4,0xfffffffffffffffe); local_res10 = &local_res8; *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x30c) = *param_3; lVar2 = *(longlong *)(param_1 + 8); uStack_c = *(undefined4 *)(lVar2 + 0x2c); uStack_10 = *(undefined4 *)(lVar2 + 0x28); local_18 = 0; uStack_14 = 0; FUN_181342870(lVar2,&local_18,1); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 180586f50 size=149 ############ void FUN_180586f50(longlong param_1,undefined8 *param_2,float *param_3,undefined8 param_4) { float fVar1; uint uVar2; uint *_Memory; longlong local_res8; longlong *local_res10; FUN_18049c9e0(&local_res8,*param_2,param_3,param_4,0xfffffffffffffffe); local_res10 = &local_res8; fVar1 = *param_3; FUN_181342bf0(*(undefined8 *)(param_1 + 8),fVar1); FUN_181342bf0(*(undefined8 *)(*(longlong *)(param_1 + 8) + 0x2d8),fVar1 * fVar1); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1805870f0 size=157 ############ void FUN_1805870f0(longlong param_1,undefined8 *param_2,undefined4 *param_3,undefined8 param_4) { uint uVar1; longlong lVar2; uint *_Memory; longlong local_res8; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; FUN_18049c9e0(&local_res8,*param_2,param_3,param_4,0xfffffffffffffffe); *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x3d0) = *param_3; lVar2 = *(longlong *)(param_1 + 8); uStack_c = *(undefined4 *)(lVar2 + 0x2c); uStack_10 = *(undefined4 *)(lVar2 + 0x28); local_18 = 0; uStack_14 = 0; FUN_181342870(lVar2,&local_18,1); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 180587640 size=113 ############ void FUN_180587640(longlong param_1,undefined8 *param_2,undefined4 *param_3,undefined8 param_4) { uint uVar1; uint *_Memory; longlong local_res8; longlong *local_res10; FUN_18049c9e0(&local_res8,*param_2,param_3,param_4,0xfffffffffffffffe); local_res10 = &local_res8; FUN_181342bf0(*(undefined8 *)(param_1 + 8),*param_3); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 180587790 size=187 ############ void FUN_180587790(longlong param_1,undefined8 *param_2,undefined4 *param_3,undefined8 param_4) { uint uVar1; longlong lVar2; int iVar3; uint *_Memory; undefined4 extraout_XMM0_Da; longlong local_res8; longlong *local_res10; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; FUN_18049c9e0(&local_res8,*param_2,param_3,param_4,0xfffffffffffffffe); local_res10 = &local_res8; iVar3 = FUN_18048cbc0(*param_3,"radiusScaling"); if (iVar3 == 0) { *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x330) = extraout_XMM0_Da; } lVar2 = *(longlong *)(param_1 + 8); uStack_c = *(undefined4 *)(lVar2 + 0x2c); uStack_10 = *(undefined4 *)(lVar2 + 0x28); local_18 = 0; uStack_14 = 0; FUN_181342870(lVar2,&local_18,1); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 180587890 size=186 ############ void FUN_180587890(longlong param_1,undefined8 *param_2,float *param_3,undefined8 param_4) { float fVar1; uint uVar2; longlong lVar3; uint *_Memory; float fVar4; longlong local_res8; longlong *local_res10; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; FUN_18049c9e0(&local_res8,*param_2,param_3,param_4,0xfffffffffffffffe); local_res10 = &local_res8; fVar1 = *param_3; fVar4 = 0.0; if ((0.0 <= fVar1) && (fVar4 = DAT_1824c3ea4, fVar1 <= DAT_1824c3ea4)) { fVar4 = fVar1; } *(float *)(*(longlong *)(param_1 + 8) + 0x390) = fVar4; lVar3 = *(longlong *)(param_1 + 8); uStack_c = *(undefined4 *)(lVar3 + 0x2c); uStack_10 = *(undefined4 *)(lVar3 + 0x28); local_18 = 0; uStack_14 = 0; FUN_181342870(lVar3,&local_18,1); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 180597890 size=677 ############ undefined8 FUN_180597890(longlong param_1) { uint uVar1; undefined8 uVar2; longlong *plVar3; undefined **ppuVar4; code *pcVar5; int iVar6; undefined8 uVar7; longlong lVar8; undefined8 *puVar9; longlong lVar10; uint *puVar11; char cVar12; double dVar13; int local_res8 [2]; undefined1 *local_res10; undefined8 local_res18; longlong local_res20; FUN_180488c50(param_1 + 0xe0); if (*(int *)(param_1 + 0xe8) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0xe0)); } *(undefined4 *)(param_1 + 0xe8) = 0; FUN_180488f10(param_1 + 0xf0); if (*(int *)(param_1 + 0xf8) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0xf0)); } *(undefined4 *)(param_1 + 0xf8) = 0; lVar8 = *(longlong *)(param_1 + 0x80); *(undefined8 *)(param_1 + 0x80) = 0; if (lVar8 != 0) { FUN_18059b780(); } lVar8 = *(longlong *)(param_1 + 0x88); *(undefined8 *)(param_1 + 0x88) = 0; if (lVar8 != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar8 + 8)); } FUN_181639ce0(*(undefined8 *)(param_1 + 0x70)); lVar8 = *(longlong *)(param_1 + 0x68); uVar2 = *(undefined8 *)(param_1 + 0x70); plVar3 = *(longlong **)(lVar8 + 0x20); ppuVar4 = (undefined **)*plVar3; if (ppuVar4 == juce::HWNDComponentPeer::vftable) { lVar10 = plVar3[0x11]; } else { lVar10 = (*(code *)ppuVar4[1])(); } if (DAT_182678ed8 != (code *)0x0) { (*DAT_182678ed8)(0,local_res8); FUN_1812c75b0(); if ((DAT_182678f08 == (code *)0x0) || (DAT_182678ec8 == (code *)0x0)) { cVar12 = FUN_1812c7510(); } else { uVar7 = (*DAT_182678f08)(lVar10); iVar6 = (*DAT_182678ec8)(uVar7); cVar12 = iVar6 == 2; } if (((cVar12 != '\0') && (local_res8[0] != 2)) && (DAT_182678ee0 != (code *)0x0)) { (*DAT_182678ee0)(2); } } *(undefined8 *)(lVar8 + 0x38) = uVar2; FUN_18163ae70(*(undefined8 *)(param_1 + 0x70)); glViewport(0,0,*(undefined4 *)(*(longlong *)(param_1 + 0x78) + 0x28), *(undefined4 *)(*(longlong *)(param_1 + 0x78) + 0x2c)); pcVar5 = *(code **)(*(longlong *)(param_1 + 0x68) + 0x58); if (pcVar5 != (code *)0x0) { (*pcVar5)(1); } lVar8 = glGetString(0x8b8c); if (lVar8 == 0) { local_res10 = &DAT_1821dbf98; } else { FUN_18049c9e0(&local_res10,lVar8); } puVar9 = (undefined8 *)FUN_1812489f0(&local_res10,&local_res20,"1234567890."); local_res18 = *puVar9; dVar13 = (double)FUN_18049bd80(&local_res18); puVar11 = (uint *)(local_res20 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_res10 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } *(bool *)(param_1 + 0x2f8) = 0.0 < dVar13; do { iVar6 = glGetError(); } while (iVar6 != 0); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x70) + 400); if (plVar3 != (longlong *)0x0) { if ((undefined **)*plVar3 == CloudyOpenGLRenderer::vftable) { LOCK(); *(undefined1 *)((longlong)plVar3 + 0x82) = 1; UNLOCK(); return 0x1824b0c01; } (*(code *)((undefined **)*plVar3)[1])(); return 1; } return 1; } ############ FUN_ 181150b20 size=1435 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000181150c45) */ /* WARNING: Removing unreachable block (ram,0x000181150c2e) */ /* WARNING: Removing unreachable block (ram,0x000181150c94) */ /* WARNING: Removing unreachable block (ram,0x000181150bb2) */ void FUN_181150b20(undefined8 param_1,longlong *param_2,undefined8 param_3) { undefined8 *puVar1; char cVar2; int iVar3; undefined8 uVar4; longlong lVar5; longlong lVar6; undefined8 *puVar7; longlong *plVar8; uint uVar9; undefined8 **ppuVar10; undefined8 *unaff_RSI; byte unaff_R12B; longlong *plVar11; undefined1 *puVar12; bool bVar13; float fVar14; int unaff_retaddr; undefined1 auStack_11534 [171]; undefined1 uStack_11489; undefined1 auStack_11488 [4037]; undefined1 auStack_104c3 [66115]; undefined8 *puStack_280; undefined8 uStack_278; undefined1 auStack_268 [8]; undefined1 *apuStack_260 [4]; undefined8 local_240; longlong *local_238; longlong *local_228; undefined4 local_21c; undefined8 local_200; uint local_1f0; longlong *local_1e8; undefined8 local_1e0; undefined8 uStack_1d8; undefined8 local_1d0; longlong local_1c8; longlong local_1c0; undefined1 local_1b8 [8]; undefined1 local_1b0 [8]; longlong local_1a8; undefined8 local_1a0; undefined8 local_198; longlong local_190 [4]; undefined1 local_170 [40]; undefined8 *local_148; undefined8 *local_140; longlong *local_130; float local_128; undefined8 local_f0; undefined8 local_e8; undefined8 local_e0; undefined1 local_d8 [112]; ulonglong local_68; local_f0 = 0xfffffffffffffffe; local_68 = DAT_182615970 ^ (ulonglong)auStack_268; uVar9 = (uint)&stack0x00000000 & 0x1aff; uVar9 = (uVar9 * uVar9 * 0x10 + 4) % 0x13; local_1f0 = (int)(-uVar9 | uVar9) >> 0x1f & 0x10c9U ^ 0x1a69; plVar11 = (longlong *)0xc70; local_21c = 0xc70; local_240 = param_3; local_1a0 = param_1; local_198 = param_1; FUN_18114f160(&local_148,param_3); local_1e0 = 0; uStack_1d8 = 0; local_1d0 = 0; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); plVar8 = (longlong *)*param_2; local_228 = plVar8 + *(int *)((longlong)param_2 + 0xc); if (plVar8 != local_228) { do { plVar11 = (longlong *)*plVar8; local_238 = plVar8; local_1e8 = plVar11; if (*(code **)(*plVar11 + 0x20) == FUN_180484720) { local_190[0] = plVar11[2]; plVar8 = local_190; } else { plVar8 = (longlong *)(**(code **)(*plVar11 + 0x20))(plVar11,local_190); } FUN_18049c9e0(&local_1c8,*plVar8); FUN_181248c30(&local_1c8,local_1b0); FUN_1804951e0(local_1c8 + -0x10); if (*(code **)(*plVar11 + 0x28) == FUN_180484730) { local_1a8 = plVar11[3]; plVar8 = &local_1a8; } else { plVar8 = (longlong *)(**(code **)(*plVar11 + 0x28))(plVar11,&local_1a8); } FUN_18049c9e0(&local_1c0,*plVar8); FUN_181248c30(&local_1c0,local_1b8); FUN_1804951e0(local_1c0 + -0x10); uVar4 = (**(code **)(*plVar11 + 0x40))(plVar11); puVar1 = local_140; fVar14 = 0.0; unaff_R12B = 1; unaff_RSI = local_148; local_200 = uVar4; if (local_148 == local_140) { LAB_181150ecb: local_130 = plVar11; local_128 = fVar14; FUN_180485ac0(&local_1e0,&local_130); } else { do { bVar13 = false; iVar3 = FUN_1812494c0(param_3); if (2 < iVar3) { local_e8 = *unaff_RSI; cVar2 = FUN_18124a630(local_1b0); bVar13 = cVar2 != '\0'; if (bVar13) { iVar3 = FUN_1812494c0(unaff_RSI); fVar14 = fVar14 + (float)iVar3; } local_e0 = *unaff_RSI; cVar2 = FUN_18124a630(local_1b8); if (cVar2 != '\0') { iVar3 = FUN_180493130(unaff_RSI); fVar14 = fVar14 + (float)iVar3; bVar13 = true; } } lVar5 = FUN_1804730e0(uVar4); lVar6 = FUN_180485e50(uVar4); param_3 = local_240; plVar11 = local_1e8; for (; local_240 = param_3, local_1e8 = plVar11, lVar5 != lVar6; lVar5 = lVar5 + 8) { uVar4 = FUN_181248c30(lVar5,local_170); puVar7 = (undefined8 *)FUN_181245ff0(local_d8,unaff_RSI); cVar2 = FUN_18124a630(uVar4,*puVar7); FUN_18124a7e0(local_170); if (cVar2 != '\0') { iVar3 = FUN_1812494c0(unaff_RSI); fVar14 = fVar14 + (float)iVar3; bVar13 = true; } uVar4 = local_200; param_3 = local_240; plVar11 = local_1e8; } unaff_R12B = unaff_R12B & bVar13; unaff_RSI = unaff_RSI + 1; } while (unaff_RSI != puVar1); if (unaff_R12B != 0) goto LAB_181150ecb; } FUN_18124a7e0(local_1b8); FUN_18124a7e0(local_1b0); plVar8 = local_238 + 1; param_3 = local_240; } while (plVar8 != local_228); } puVar12 = (undefined1 *)0x0; uStack_278 = 0; ppuVar10 = &puStack_280; puStack_280 = unaff_RSI; local_238 = plVar8; /* WARNING: Call to offcut address within same function */ func_0x000181150f66(); if ((POPCOUNT((longlong)plVar11 - (ulonglong)unaff_R12B & 0xff) & 1U) == 0) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } if (plVar8 == (longlong *)0x0) { apuStack_260[0] = &stack0x000001b8; ppuVar10 = (undefined8 **)apuStack_260; puVar12 = &stack0x0002dfe3; } *(undefined1 **)((longlong)ppuVar10 + -8) = puVar12; *(undefined1 **)((longlong)ppuVar10 + -0x10) = &uStack_11489; *(undefined1 **)((longlong)ppuVar10 + -0x18) = &stack0x00059e62; *(undefined1 **)((longlong)ppuVar10 + -0x20) = &stack0x000680b2; *(undefined1 **)((longlong)ppuVar10 + -0x28) = &stack0x0001e3c2; *(undefined1 **)((longlong)ppuVar10 + -0x30) = auStack_104c3; *(undefined1 **)((longlong)ppuVar10 + -0x38) = auStack_11488; *(undefined1 **)((longlong)ppuVar10 + -0x40) = auStack_11534; *(undefined1 **)((longlong)ppuVar10 + -0x48) = &uStack_11489; /* WARNING: Could not recover jumptable at 0x0001811510d6. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)&stack0x000709b9)(); return; } ############ FUN_ 18115d240 size=129 ############ undefined8 * FUN_18115d240(longlong param_1,undefined8 *param_2,uint param_3) { longlong *plVar1; undefined8 *puVar2; longlong local_res8 [4]; if (param_3 < *(uint *)(param_1 + 0x44)) { plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x38) + (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; } ############ FUN_ 1811c9eb0 size=1692 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811c9eb0(undefined8 param_1) { int *piVar1; uint uVar2; byte bVar3; byte bVar4; char *pcVar5; byte bVar6; char cVar7; undefined2 uVar8; errno_t eVar9; int iVar10; undefined8 *puVar11; longlong lVar12; undefined8 uVar13; uint *puVar14; byte *pbVar15; int iVar16; int iVar17; bool bVar18; undefined1 auStack_1a8 [32]; char local_188; longlong local_180; byte *local_178; longlong *local_170; undefined1 *local_168; undefined4 local_160; char *local_158; char *local_150; byte *local_148; byte *local_140; longlong local_138; longlong local_130; longlong local_128; longlong local_120; undefined **local_118; longlong local_110; longlong local_108; undefined8 local_100; byte *local_f8; undefined8 local_f0; undefined **local_e8; undefined1 local_e0 [8]; tm local_d8; undefined8 local_b0; longlong local_a8; undefined **local_a0; undefined8 local_98; longlong *local_90; undefined1 local_88 [8]; undefined **local_80; undefined1 *local_78; longlong local_70; ushort local_68; longlong local_60; ushort local_58; longlong *local_50; undefined1 local_48 [8]; longlong *local_40; undefined1 local_38 [8]; ulonglong local_30; local_b0 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_1a8; local_160 = 0; local_f0 = param_1; _ftime64_s(&local_70); local_a8 = local_70 * 1000 + (ulonglong)local_68; local_110 = local_a8 / 1000; eVar9 = _localtime64_s(&local_d8,&local_110); if (eVar9 != 0) { local_d8.tm_sec = 0; local_d8.tm_min = 0; local_d8.tm_hour = 0; local_d8.tm_mday = 0; local_d8.tm_mon = 0; local_d8.tm_year = 0; local_d8.tm_wday = 0; local_d8.tm_yday = 0; local_d8.tm_isdst = 0; } uVar13 = local_d8._24_8_; _ftime64_s(&local_60); local_108 = local_60 * 1000 + (ulonglong)local_58; uVar8 = FUN_181245c50(&local_108); puVar11 = (undefined8 *) .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (param_1,&local_50); (**(code **)(*(longlong *)*puVar11 + 0x20))((longlong *)*puVar11,&local_178,puVar11 + 1); (**(code **)(*local_50 + 0xb0))(local_50,local_48); iVar16 = 6; pbVar15 = local_178; do { bVar3 = *pbVar15; if (bVar3 == 0) { local_158 = ""; goto LAB_1811ca01c; } pbVar15 = pbVar15 + 1; if ((char)bVar3 < '\0') { bVar6 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar15 = pbVar15 + 1; bVar6 = bVar6 >> 1; bVar4 = bVar3 & bVar6; } } iVar16 = iVar16 + -1; } while (-1 < iVar16); FUN_18049c9e0(&local_158); LAB_1811ca01c: pcVar5 = local_158; iVar16 = atoi(local_158); puVar14 = (uint *)(pcVar5 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } local_188 = SUB82(uVar13,4) != (short)iVar16; iVar16 = 4; pbVar15 = local_178; do { bVar3 = *pbVar15; if (bVar3 == 0) { local_150 = ""; goto LAB_1811ca0ac; } pbVar15 = pbVar15 + 1; if ((char)bVar3 < '\0') { bVar6 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar15 = pbVar15 + 1; bVar6 = bVar6 >> 1; bVar4 = bVar3 & bVar6; } } iVar16 = iVar16 + -1; } while (-1 < iVar16); FUN_18049c9e0(&local_150); LAB_1811ca0ac: pcVar5 = local_150; iVar16 = atoi(local_150); local_170 = (longlong *)CONCAT44(local_170._4_4_,iVar16); if ((*(uint *)(pcVar5 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(pcVar5 + -0x10); iVar17 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar17 == 0) { /* WARNING: Subroutine does not return */ free(pcVar5 + -0x10); } } FUN_181211fd0(&local_140,uVar8); iVar17 = 0; pbVar15 = local_178; do { bVar3 = *pbVar15; if (bVar3 == 0) { local_148 = local_178; if ((*(uint *)(local_178 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_178 + -0x10) = *(int *)(local_178 + -0x10) + 1; UNLOCK(); } goto LAB_1811ca15d; } iVar17 = iVar17 + 1; pbVar15 = pbVar15 + 1; if ((char)bVar3 < '\0') { bVar6 = 0x40; bVar4 = bVar3 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar15 = pbVar15 + 1; bVar6 = bVar6 >> 1; bVar4 = bVar3 & bVar6; } } } while (iVar17 < 4); FUN_18124a8a0(&local_148,local_178); LAB_1811ca15d: pbVar15 = local_148; if (local_148 == local_140) { iVar17 = 0; } else { iVar17 = FUN_18048cbc0(local_148); } puVar14 = (uint *)(pbVar15 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_140 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } FUN_18049c4e0(&local_100,"0000 0 0"); local_a0 = &PTR_vftable_18262b560; local_98 = local_100; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar18 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar18) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } (**(code **)(PTR_vftable_18262b560 + 0x20))(&PTR_vftable_18262b560,&local_f8,&local_98); if (local_178 == local_f8) { iVar10 = 0; } else { iVar10 = FUN_18048cbc0(local_178,local_f8); } puVar14 = (uint *)(local_f8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } (**(code **)(*local_a0 + 0xb0))(local_a0,&local_98); local_118 = CompletedTutorialsOption::vftable; bVar18 = false; puVar11 = (undefined8 *) .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (&local_118,&local_40); (**(code **)(*(longlong *)*puVar11 + 0x20))((longlong *)*puVar11,&local_138,puVar11 + 1); FUN_181249700(&local_90,&local_138); puVar14 = (uint *)(local_138 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } (**(code **)(*local_40 + 0xb0))(local_40,local_38); cVar7 = (**(code **)(*local_90 + 0x90))(); if (cVar7 != '\0') { lVar12 = (**(code **)(*local_90 + 0x38))(local_90,local_88); bVar18 = 0 < *(int *)(lVar12 + 0xc); } (**(code **)(*local_90 + 0xb0))(local_90,local_88); if ((iVar10 == 0) || ((((!bVar18 && (iVar17 == 0)) && (local_188 != '\0')) && ((byte)iVar16 < 3))) ) { FUN_181211fd0(&local_120,SUB82(uVar13,4)); FUN_181212060(&local_128,(byte)local_170 + 1); FUN_181211fd0(&local_130,uVar8); FUN_18049c4e0(&local_180,&DAT_1821d9564); local_170 = &local_180; local_168 = &DAT_1821dbf98; local_160 = 0x17f; uVar13 = FUN_181232d30(&local_168,&local_130); uVar13 = FUN_181232d30(uVar13,&local_180); uVar13 = FUN_181232d30(uVar13,&local_128); uVar13 = FUN_181232d30(uVar13,&local_180); FUN_181232d30(uVar13,&local_120); puVar14 = (uint *)(local_180 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } local_80 = &PTR_vftable_18262b560; local_78 = local_168; local_168 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar18 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar18) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar14 = (uint *)(local_130 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_128 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_120 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } local_e8 = &PTR_vftable_18262b560; (**(code **)(PTR_vftable_18262b560 + 0xb8))(&PTR_vftable_18262b560,local_e0,&local_78); FUN_1811d0a50(local_f0,&local_e8); DAT_1826736a0 = 1; (**(code **)(*local_80 + 0xb0))(local_80,&local_78); } local_118 = ConfigOption::vftable; puVar14 = (uint *)(local_178 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } } ############ FUN_ 181218960 size=270 ############ undefined8 FUN_181218960(undefined8 *param_1,longlong *param_2) { int *_Memory; undefined8 *puVar1; byte bVar2; byte bVar3; undefined1 *puVar4; byte bVar5; char cVar6; int iVar7; byte *pbVar8; undefined8 *puVar9; undefined8 uVar10; undefined1 *local_res8; undefined8 local_res10; iVar7 = FUN_1812327b0(param_1,0x5c); if (iVar7 + 1 < 1) { local_res8 = (undefined1 *)*param_1; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { pbVar8 = (byte *)*param_1; for (; -1 < iVar7; iVar7 = iVar7 + -1) { bVar2 = *pbVar8; if (bVar2 == 0) { local_res8 = &DAT_1821dbf98; goto LAB_1812189ea; } pbVar8 = pbVar8 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { pbVar8 = pbVar8 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } } FUN_18049c9e0(&local_res8); } LAB_1812189ea: puVar4 = local_res8; puVar9 = (undefined8 *)*param_2; puVar1 = puVar9 + *(int *)((longlong)param_2 + 0xc); do { if (puVar9 == puVar1) { uVar10 = 0; LAB_181218a23: _Memory = (int *)(puVar4 + -0x10); if ((*(uint *)(puVar4 + -0x10) & 0x30000000) == 0) { LOCK(); iVar7 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar7 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return uVar10; } local_res10 = *puVar9; cVar6 = FUN_18049aaa0(local_res10,puVar4,1); if (cVar6 != '\0') { uVar10 = 1; goto LAB_181218a23; } puVar9 = puVar9 + 1; } while( true ); } ############ FUN_ 18122f540 size=74 ############ undefined8 * FUN_18122f540(undefined8 *param_1,longlong param_2,int param_3) { if (param_2 != 0) { if (param_3 < 0) { FUN_18049c9e0(); return param_1; } if (0 < param_3) { FUN_18124a8a0(param_1,param_2,param_3 + param_2); return param_1; } } *param_1 = &DAT_1821dbf98; return param_1; } ############ FUN_ 1812308e0 size=120 ############ undefined8 * FUN_1812308e0(undefined8 *param_1,undefined8 *param_2) { byte bVar1; byte *pbVar2; byte bVar3; byte bVar4; byte *pbVar5; pbVar2 = (byte *)*param_1; pbVar5 = pbVar2; if (*pbVar2 != 0) { while ((bVar1 = *pbVar5, bVar1 == 0x20 || ((byte)(bVar1 - 9) < 5))) { pbVar5 = pbVar5 + 1; if ((char)bVar1 < '\0') { bVar4 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar5 = pbVar5 + 1; bVar4 = bVar4 >> 1; bVar3 = bVar1 & bVar4; } } } if (pbVar5 != pbVar2) { FUN_18049c9e0(param_2); return param_2; } } *param_2 = pbVar2; if ((*(uint *)(pbVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar2 + -0x10) = *(int *)(pbVar2 + -0x10) + 1; UNLOCK(); } return param_2; } ############ FUN_ 181234240 size=23 ############ undefined8 FUN_181234240(undefined8 param_1) { FUN_18049c9e0(); return param_1; } ############ FUN_ 181236220 size=190 ############ undefined8 * FUN_181236220(longlong param_1,undefined8 *param_2) { longlong lVar1; int iVar2; ulonglong uVar3; int iVar4; ulonglong uVar5; longlong lVar6; lVar1 = *(longlong *)(param_1 + 0x20); if ((*(longlong *)(param_1 + 0x30) <= lVar1) && (lVar1 < *(longlong *)(param_1 + 0x28))) { uVar3 = 0; lVar6 = (longlong)((int)lVar1 - *(int *)(param_1 + 0x30)) + *(longlong *)(param_1 + 0x40); iVar2 = *(int *)(param_1 + 0x28) - (int)lVar1; uVar5 = uVar3; if (0 < iVar2) { do { iVar4 = (int)uVar5; if (*(char *)(uVar3 + lVar6) == '\0') { *(longlong *)(param_1 + 0x20) = (iVar4 + 1) + lVar1; if (lVar6 != 0) { if (iVar4 < 0) { FUN_18049c9e0(param_2,lVar6); return param_2; } if (0 < iVar4) { FUN_18124a8a0(param_2,lVar6,iVar4 + lVar6); return param_2; } } *param_2 = &DAT_1821dbf98; return param_2; } uVar3 = uVar3 + 1; uVar5 = (ulonglong)(iVar4 + 1); } while ((longlong)uVar3 < (longlong)iVar2); } } FUN_181235770(param_1,param_2); return param_2; } ############ FUN_ 1812369a0 size=2107 ############ void FUN_1812369a0(longlong *param_1,undefined8 *param_2) { byte bVar1; byte bVar2; bool bVar3; bool bVar4; bool bVar5; byte bVar6; int iVar7; int iVar8; undefined4 uVar9; uint uVar10; byte *pbVar11; undefined8 *puVar12; longlong *plVar13; undefined8 *puVar14; undefined8 uVar15; int iVar16; uint *puVar17; byte *pbVar18; char cVar19; char cVar20; longlong lVar21; int iVar22; byte *local_res20; longlong local_130; void *local_128; int local_11c; longlong local_118; longlong local_110; longlong local_108; longlong local_100; undefined8 *local_f8; longlong local_f0; longlong local_e8; longlong local_e0; longlong local_d8; longlong local_d0; longlong local_c8; longlong local_c0; longlong local_b8; undefined8 *local_b0; undefined1 local_a8 [8]; longlong local_a0; undefined8 local_98; longlong local_90; undefined8 local_88; longlong local_80; undefined8 local_78; undefined8 local_70; longlong local_68; longlong local_60; longlong local_58; longlong local_50; local_98 = 0xfffffffffffffffe; pbVar18 = &DAT_1821da004; iVar7 = FUN_18049d2f0(); if (-1 < iVar7) { iVar16 = 0; LAB_181236a10: do { bVar1 = *pbVar18; pbVar18 = pbVar18 + 1; if ((char)bVar1 < '\0') { if ((*pbVar18 & 0xc0) == 0x80) { do { pbVar18 = pbVar18 + 1; } while ((*pbVar18 & 0xc0) == 0x80); iVar16 = iVar16 + 1; goto LAB_181236a10; } } else if (bVar1 == 0) goto LAB_181236a3d; iVar16 = iVar16 + 1; } while( true ); } local_res20 = &DAT_1821dbf98; goto LAB_181236ab3; LAB_181236a3d: iVar7 = iVar7 + iVar16; if (iVar7 < 1) { local_res20 = (byte *)*param_2; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } } else { pbVar18 = (byte *)*param_2; while (iVar7 = iVar7 + -1, -1 < iVar7) { bVar1 = *pbVar18; if (bVar1 == 0) { local_res20 = &DAT_1821dbf98; goto LAB_181236ab3; } pbVar18 = pbVar18 + 1; if ((char)bVar1 < '\0') { bVar6 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; bVar6 = bVar6 >> 1; bVar2 = bVar1 & bVar6; } } } FUN_18049c9e0(&local_res20); } LAB_181236ab3: iVar7 = 0; pbVar18 = local_res20; LAB_181236ac1: do { bVar1 = *pbVar18; pbVar18 = pbVar18 + 1; if ((char)bVar1 < '\0') { if ((*pbVar18 & 0xc0) == 0x80) { do { pbVar18 = pbVar18 + 1; } while ((*pbVar18 & 0xc0) == 0x80); iVar7 = iVar7 + 1; goto LAB_181236ac1; } } else if (bVar1 == 0) goto LAB_181236af7; iVar7 = iVar7 + 1; } while( true ); LAB_181236c6c: if (1 < iVar8) { iVar8 = 0; LAB_181236c80: do { bVar1 = *pbVar18; pbVar18 = pbVar18 + 1; if ((char)bVar1 < '\0') { if ((*pbVar18 & 0xc0) == 0x80) { do { pbVar18 = pbVar18 + 1; } while ((*pbVar18 & 0xc0) == 0x80); iVar8 = iVar8 + 1; goto LAB_181236c80; } } else if (bVar1 == 0) goto LAB_181236cad; iVar8 = iVar8 + 1; } while( true ); } LAB_181236d34: if (((bVar3) && (iVar16 != 0)) && (iVar16 < iVar7)) { bVar3 = false; } LAB_181236e23: iVar22 = iVar22 + 1; lVar21 = lVar21 + 1; if (local_11c <= iVar22) goto code_r0x000181236e3d; goto LAB_181236be0; LAB_181236cad: puVar12 = (undefined8 *)FUN_181231fc0(&local_e8,&DAT_1821da4ec,iVar8); local_88 = *puVar12; plVar13 = (longlong *)FUN_1812319a0(param_1,&local_f0,local_88,&DAT_1821da014); local_80 = *param_1; *param_1 = *plVar13; *plVar13 = local_80; puVar17 = (uint *)(local_f0 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } puVar17 = (uint *)(local_e8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } goto LAB_181236d34; code_r0x000181236e3d: if (iVar7 < iVar16) { iVar7 = iVar16; } if (1 < iVar7) { if (iVar7 == local_11c) { FUN_18049c4e0(&local_c8,&DAT_1821da534); local_60 = *param_1; *param_1 = local_c8; puVar17 = (uint *)(local_60 + -0x10); uVar10 = *puVar17; } else { if (bVar3) { uVar15 = FUN_181231fc0(&local_b8,&DAT_1821da51c,iVar7 + -1); FUN_18049c4e0(&local_110,&DAT_1821da5ac); plVar13 = (longlong *)FUN_181232d30(&local_110,uVar15); local_108 = *plVar13; if ((*(uint *)(local_108 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_108 + -0x10) = *(int *)(local_108 + -0x10) + 1; UNLOCK(); } puVar17 = (uint *)(local_110 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } plVar13 = &local_108; bVar5 = true; bVar4 = true; bVar3 = false; } else { plVar13 = (longlong *)FUN_181231fc0(&local_c0,&DAT_1821da59c,iVar7); bVar5 = false; bVar4 = false; bVar3 = true; } local_f8 = (undefined8 *)*plVar13; *plVar13 = (longlong)&DAT_1821dbf98; if ((bVar3) && (puVar17 = (uint *)(local_c0 + -0x10), (*puVar17 & 0x30000000) == 0)) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if ((bVar4) && (puVar17 = (uint *)(local_108 + -0x10), (*puVar17 & 0x30000000) == 0)) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if ((bVar5) && (puVar17 = (uint *)(local_b8 + -0x10), (*puVar17 & 0x30000000) == 0)) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } local_b0 = local_f8; puVar12 = local_f8; uVar9 = FUN_180493130(&local_b0); iVar7 = FUN_181249270(param_1,puVar12); if (iVar7 < 0) { local_100 = *param_1; if ((*(uint *)(local_100 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_100 + -0x10) = *(int *)(local_100 + -0x10) + 1; UNLOCK(); } } else { FUN_181231b00(param_1,&local_100,iVar7,uVar9,&DAT_1821da624); } local_58 = *param_1; *param_1 = local_100; puVar17 = (uint *)(local_58 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if (cVar19 != '\0') { FUN_181232ce0(param_1,0x3a); } puVar17 = (uint *)(local_f8 + -2); uVar10 = *puVar17; } if ((uVar10 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } } goto LAB_1812370bc; LAB_181236af7: pbVar18 = (byte *)*param_2; iVar16 = 0; while( true ) { while( true ) { bVar1 = *pbVar18; pbVar18 = pbVar18 + 1; if (-1 < (char)bVar1) break; if ((*pbVar18 & 0xc0) != 0x80) goto LAB_181236b28; do { pbVar18 = pbVar18 + 1; } while ((*pbVar18 & 0xc0) == 0x80); iVar16 = iVar16 + 1; } if (bVar1 == 0) break; LAB_181236b28: iVar16 = iVar16 + 1; } iVar22 = 0; if (0 < iVar16 - iVar7) { iVar22 = iVar16 - iVar7; } FUN_1812340b0(&local_118,*param_2,(longlong)iVar22); FUN_1812487f0(&local_118,param_1,&DAT_1821d9fbc); puVar17 = (uint *)(local_118 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } local_90 = *param_1; FUN_18122ce30(&local_128,local_90,&DAT_1821da07c,&DAT_1821da804); iVar7 = 0; iVar16 = 0; bVar3 = false; cVar19 = '\0'; iVar22 = 0; if (0 < local_11c) { lVar21 = 0; LAB_181236be0: puVar12 = (undefined8 *)((longlong)local_128 + lVar21 * 8); cVar20 = cVar19; iVar8 = FUN_18049c3c0(*puVar12); if (iVar8 == 0) { iVar7 = iVar7 + 1; if (lVar21 == 0) { bVar3 = true; } else if ((iVar22 == local_11c + -1) && (cVar19 = cVar20, iVar16 < iVar7)) { cVar19 = '\x01'; } pbVar18 = (byte *)*puVar12; iVar8 = 0; pbVar11 = pbVar18; LAB_181236c31: do { bVar1 = *pbVar11; pbVar11 = pbVar11 + 1; if ((char)bVar1 < '\0') { if ((*pbVar11 & 0xc0) == 0x80) { do { pbVar11 = pbVar11 + 1; } while ((*pbVar11 & 0xc0) == 0x80); iVar8 = iVar8 + 1; goto LAB_181236c31; } } else if (bVar1 == 0) goto LAB_181236c6c; iVar8 = iVar8 + 1; } while( true ); } uVar15 = FUN_181230650(puVar12,&local_d0,&DAT_1821da4c4); puVar14 = (undefined8 *)FUN_181248c30(uVar15,&local_d8); local_78 = *puVar14; local_70 = *puVar12; plVar13 = (longlong *)FUN_1812319a0(param_1,&local_e0); local_68 = *param_1; *param_1 = *plVar13; *plVar13 = local_68; puVar17 = (uint *)(local_e0 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } puVar17 = (uint *)(local_d8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } puVar17 = (uint *)(local_d0 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if (0 < iVar7) { if (iVar16 < iVar7) { iVar16 = iVar7; } iVar7 = 0; } goto LAB_181236e23; } LAB_1812370bc: if (*local_res20 != 0) { plVar13 = (longlong *)FUN_181246550(local_a8,&DAT_1821da644,param_1); FUN_181232e20(plVar13,&DAT_1821da60c,&DAT_1821da60d); local_130 = *plVar13; if ((*(uint *)(local_130 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_130 + -0x10) = *(int *)(local_130 + -0x10) + 1; UNLOCK(); } puVar17 = (uint *)(*plVar13 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } plVar13 = (longlong *)FUN_181232d30(&local_130,&local_res20); local_a0 = *plVar13; if ((*(uint *)(local_a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a0 + -0x10) = *(int *)(local_a0 + -0x10) + 1; UNLOCK(); } puVar17 = (uint *)(local_130 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } local_50 = *param_1; *param_1 = local_a0; puVar17 = (uint *)(local_50 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } } FUN_180488c50(&local_128); /* WARNING: Subroutine does not return */ free(local_128); } ############ FUN_ 181238020 size=515 ############ longlong * FUN_181238020(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { byte bVar1; byte bVar2; char cVar3; byte bVar4; int iVar5; uint uVar6; uint *_Memory; longlong lVar7; byte *pbVar8; int iVar9; undefined1 *local_res18; cVar3 = FUN_181230100(param_2,&DAT_1821d9e24,param_3,param_4,0xfffffffffffffffe); if (cVar3 == '\0') { iVar5 = FUN_181232460(param_2,&DAT_1821d9e6c); iVar9 = FUN_181249270(param_2,&DAT_1821d9eac); if (iVar9 == iVar5) { iVar5 = FUN_181232320(param_2,&DAT_1821d9ed4); if (-1 < iVar5) { FUN_1812490c0(param_2,param_1,0,iVar5); return param_1; } lVar7 = *param_2; *param_1 = lVar7; uVar6 = *(uint *)(lVar7 + -0x10); } else { lVar7 = *param_2; *param_1 = lVar7; uVar6 = *(uint *)(lVar7 + -0x10); } if ((uVar6 & 0x30000000) != 0) { return param_1; } LOCK(); *(int *)(lVar7 + -0x10) = *(int *)(lVar7 + -0x10) + 1; UNLOCK(); return param_1; } pbVar8 = &DAT_1821d9e4c; iVar5 = FUN_18049d2f0(*param_2,&DAT_1821d9e4c); if (iVar5 < 0) { LAB_181238078: local_res18 = &DAT_1821dbf98; } else { iVar9 = 0; while( true ) { while( true ) { bVar1 = *pbVar8; pbVar8 = pbVar8 + 1; if (-1 < (char)bVar1) break; if ((*pbVar8 & 0xc0) != 0x80) goto LAB_1812380b8; do { pbVar8 = pbVar8 + 1; } while ((*pbVar8 & 0xc0) == 0x80); iVar9 = iVar9 + 1; } if (bVar1 == 0) break; LAB_1812380b8: iVar9 = iVar9 + 1; } iVar9 = iVar9 + iVar5; if (iVar9 < 1) { local_res18 = (undefined1 *)*param_2; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } } else { pbVar8 = (byte *)*param_2; while (iVar9 = iVar9 + -1, -1 < iVar9) { bVar1 = *pbVar8; if (bVar1 == 0) goto LAB_181238078; pbVar8 = pbVar8 + 1; if ((char)bVar1 < '\0') { bVar4 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar4))) { pbVar8 = pbVar8 + 1; bVar4 = bVar4 >> 1; bVar2 = bVar1 & bVar4; } } } FUN_18049c9e0(&local_res18); } } iVar5 = FUN_181232320(&local_res18,&DAT_1821d9e3c); if (iVar5 < 0) { *param_1 = (longlong)local_res18; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } } else { FUN_1812490c0(&local_res18,param_1,0,iVar5); } _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar6 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 18123f170 size=1480 ############ longlong * FUN_18123f170(longlong *param_1,longlong *param_2,longlong *param_3) { byte bVar1; wint_t wVar2; wint_t wVar3; int iVar4; DWORD DVar5; uint uVar6; uint uVar7; int iVar8; longlong lVar9; byte *pbVar10; undefined8 *puVar11; uint *puVar12; byte *pbVar13; longlong lVar14; byte *pbVar15; size_t _Size; byte *pbVar16; void *_Dst; byte *_Src; bool bVar17; uint local_res18; int local_res20; byte *local_a0; int local_98; longlong local_90; byte *local_88; byte *local_80; byte *local_78; longlong local_70 [2]; byte *local_60; undefined1 local_58 [24]; local_70[1] = 0xfffffffffffffffe; if ((*param_3 == *param_1) || (iVar4 = FUN_18049bb30(*param_3), iVar4 == 0)) { FUN_18049c4e0(param_2,&DAT_1821d9b1c); return param_2; } local_a0 = (byte *)*param_1; if ((*(uint *)(local_a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a0 + -0x10) = *(int *)(local_a0 + -0x10) + 1; UNLOCK(); } LAB_18123f1f0: pbVar16 = local_a0; if (*local_a0 != 0) { lVar9 = -1; do { lVar9 = lVar9 + 1; } while (local_a0[lVar9] != 0); local_78 = local_a0 + lVar9; iVar4 = 0; do { local_78 = local_78 + -1; if ((*local_78 & 0xc0) != 0x80) break; iVar4 = iVar4 + 1; } while (iVar4 < 4); iVar4 = FUN_180492f10(&local_78); if (iVar4 == 0x5c) { iVar4 = 0; pbVar10 = pbVar16; LAB_18123f255: do { bVar1 = *pbVar10; pbVar10 = pbVar10 + 1; if ((char)bVar1 < '\0') { if ((*pbVar10 & 0xc0) == 0x80) { do { pbVar10 = pbVar10 + 1; } while ((*pbVar10 & 0xc0) == 0x80); iVar4 = iVar4 + 1; goto LAB_18123f255; } } else if (bVar1 == 0) goto LAB_18123f28c; iVar4 = iVar4 + 1; } while( true ); } } if (*(char *)*param_3 == '\0') { LAB_18123f30f: bVar17 = false; } else { puVar11 = (undefined8 *)FUN_18049a930(local_58,param_3); DVar5 = GetFileAttributesW((LPCWSTR)*puVar11); if ((DVar5 & 0x10) != 0) goto LAB_18123f30f; bVar17 = true; } if (bVar17) { FUN_181241230(param_3,local_70); } FUN_1812416f0(&local_88); pbVar10 = local_88; if ((bVar17) && (puVar12 = (uint *)(local_70[0] + -0x10), pbVar16 = local_a0, (*puVar12 & 0x30000000) == 0)) { LOCK(); uVar6 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } local_98 = 0; local_res20 = 0; pbVar13 = local_88; pbVar15 = local_88; _Src = pbVar16; goto LAB_18123f390; LAB_18123f28c: iVar8 = 0; if (0 < iVar4 + -1) { iVar8 = iVar4 + -1; } FUN_1812340b0(&local_80,pbVar16,(longlong)iVar8); local_60 = pbVar16; local_a0 = local_80; local_80 = pbVar16; puVar12 = (uint *)(pbVar16 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } goto LAB_18123f1f0; LAB_18123f390: bVar1 = *pbVar16; pbVar16 = pbVar16 + 1; local_res18 = (uint)bVar1; if ((char)bVar1 < '\0') { local_res18 = 0x7f; uVar6 = 0x40; iVar4 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar6 < 9) break; local_res18 = local_res18 >> 1; iVar4 = iVar4 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } local_res18 = bVar1 & local_res18; for (; (iVar4 = iVar4 + -1, -1 < iVar4 && ((*pbVar16 & 0xc0) == 0x80)); pbVar16 = pbVar16 + 1) { local_res18 = *pbVar16 & 0x3f | local_res18 << 6; } } bVar1 = *pbVar15; pbVar15 = pbVar15 + 1; uVar6 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar6 = 0x7f; uVar7 = 0x40; iVar4 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar6 = uVar6 >> 1; iVar4 = iVar4 + 1; uVar7 = uVar7 >> 1; } while ((bVar1 & uVar7) != 0); } uVar6 = bVar1 & uVar6; for (; (iVar4 = iVar4 + -1, -1 < iVar4 && ((*pbVar15 & 0xc0) == 0x80)); pbVar15 = pbVar15 + 1) { uVar6 = *pbVar15 & 0x3f | uVar6 << 6; } } if (local_res18 != uVar6) { wVar2 = towlower((wint_t)local_res18); wVar3 = towlower((wint_t)uVar6); if (wVar2 != wVar3) { LAB_18123f4a4: if (local_98 == 0) { iVar4 = 1; } else if ((local_98 != 1) || (iVar4 = local_98, iVar8 = FUN_180493050(&local_a0,1), iVar8 != 0x5c)) { iVar4 = 0; do { bVar1 = *pbVar13; pbVar13 = pbVar13 + 1; uVar6 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar6 = 0x7f; uVar7 = 0x40; iVar8 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar6 = uVar6 >> 1; iVar8 = iVar8 + 1; uVar7 = uVar7 >> 1; } while ((bVar1 & uVar7) != 0); } uVar6 = bVar1 & uVar6; for (; (iVar8 = iVar8 + -1, -1 < iVar8 && ((*pbVar13 & 0xc0) == 0x80)); pbVar13 = pbVar13 + 1) { uVar6 = *pbVar13 & 0x3f | uVar6 << 6; } } if (uVar6 == 0) { if (iVar4 != 0) { FUN_181231fc0(&local_90,&DAT_1821d9b7c,iVar4); lVar9 = -1; do { lVar9 = lVar9 + 1; } while (_Src[lVar9] != 0); if (0 < (int)lVar9) { lVar14 = -1; do { lVar14 = lVar14 + 1; } while (*(char *)(local_90 + lVar14) != '\0'); _Size = (size_t)(int)lVar9; FUN_1812342b0(&local_90,lVar14 + _Size); _Dst = (void *)((int)lVar14 + local_90); memcpy(_Dst,_Src,_Size); *(undefined1 *)((longlong)_Dst + _Size) = 0; } *param_2 = local_90; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar6 = DAT_1821dbf88 - 1; UNLOCK(); bVar17 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar6; if (bVar17) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar12 = (uint *)(local_88 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_a0 + -0x10); if ((*puVar12 & 0x30000000) != 0) { return param_2; } LOCK(); uVar6 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar6 != 0) { return param_2; } /* WARNING: Subroutine does not return */ free(puVar12); } FUN_18049c9e0(param_2,_Src); puVar12 = (uint *)(pbVar10 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_a0 + -0x10); if ((*puVar12 & 0x30000000) != 0) { return param_2; } LOCK(); uVar6 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar6 != 0) { return param_2; } /* WARNING: Subroutine does not return */ free(puVar12); } if (uVar6 == 0x5c) { iVar4 = iVar4 + 1; } } while( true ); } lVar9 = *param_1; *param_2 = lVar9; if ((*(uint *)(lVar9 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar9 + -0x10) = *(int *)(lVar9 + -0x10) + iVar4; UNLOCK(); } puVar12 = (uint *)(local_88 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_a0 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } return param_2; } } if (local_res18 == 0) goto LAB_18123f4a4; local_res20 = local_res20 + 1; if (local_res18 == 0x5c) { pbVar13 = pbVar15; _Src = pbVar16; local_98 = local_res20; } goto LAB_18123f390; } ############ FUN_ 18123fb50 size=687 ############ undefined8 * FUN_18123fb50(undefined8 *param_1,undefined8 *param_2,char *param_3) { uint uVar1; byte bVar2; byte bVar3; longlong lVar4; byte bVar5; int iVar6; longlong lVar7; undefined8 *puVar8; uint *puVar9; int iVar10; byte *pbVar11; size_t _Size; longlong lVar12; byte *pbVar13; char local_res8 [8]; char *local_res18; byte *local_res20; byte *local_68; byte *local_60; longlong local_58 [2]; byte *local_48; undefined8 local_40; local_58[1] = 0xfffffffffffffffe; pbVar11 = (byte *)*param_1; if (*pbVar11 == 0) { *param_2 = &DAT_1821dbf98; } else { local_res18 = param_3; iVar6 = FUN_1812327b0(param_1,0x5c); if (iVar6 + 1 < 1) { local_res20 = pbVar11; if ((*(uint *)(pbVar11 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar11 + -0x10) = *(int *)(pbVar11 + -0x10) + 1; UNLOCK(); } } else { for (; -1 < iVar6; iVar6 = iVar6 + -1) { bVar2 = *pbVar11; if (bVar2 == 0) { local_res20 = &DAT_1821dbf98; goto LAB_18123fc12; } pbVar11 = pbVar11 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { pbVar11 = pbVar11 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } } FUN_18049c9e0(&local_res20,pbVar11); } LAB_18123fc12: pbVar11 = local_res20; iVar6 = FUN_1812327b0(&local_res20); if (-1 < iVar6) { local_48 = pbVar11; if (iVar6 < 1) { local_68 = &DAT_1821dbf98; } else { iVar10 = 0; pbVar13 = pbVar11; if (0 < iVar6) { do { bVar2 = *pbVar13; if (bVar2 == 0) { local_48 = local_res20; local_68 = pbVar11; if ((*(uint *)(pbVar11 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar11 + -0x10) = *(int *)(pbVar11 + -0x10) + 1; UNLOCK(); } goto LAB_18123fc8e; } iVar10 = iVar10 + 1; pbVar13 = pbVar13 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { pbVar13 = pbVar13 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } } while (iVar10 < iVar6); } FUN_18124a8a0(&local_68,pbVar11); } LAB_18123fc8e: local_res20 = local_68; puVar9 = (uint *)(local_48 + -0x10); pbVar11 = local_68; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } if ((*local_res18 != '\0') && (iVar6 = FUN_180493050(&local_res18,0), iVar6 != 0x2e)) { local_res8[0] = '.'; local_res8[1] = '\0'; lVar12 = -1; do { lVar7 = lVar12 + 1; lVar4 = lVar12 + 1; lVar12 = lVar7; } while (local_res8[lVar4] != '\0'); iVar6 = ((int)local_res8 + (int)lVar7) - (int)local_res8; if (0 < iVar6) { lVar12 = -1; do { lVar12 = lVar12 + 1; } while (pbVar11[lVar12] != 0); _Size = (size_t)iVar6; FUN_1812342b0(&local_res20,lVar12 + _Size); pbVar11 = local_res20; pbVar13 = local_res20 + (int)lVar12; memcpy(pbVar13,local_res8,_Size); pbVar13[_Size] = 0; } } if ((*(uint *)(pbVar11 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar11 + -0x10) = *(int *)(pbVar11 + -0x10) + 1; UNLOCK(); } local_60 = pbVar11; puVar8 = (undefined8 *)FUN_1804933b0(local_58,&local_60,local_res18); local_40 = *puVar8; FUN_181240e30(param_1,param_2); puVar9 = (uint *)(local_58[0] + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((*(uint *)(pbVar11 + -0x10) & 0x30000000) == 0) { LOCK(); pbVar13 = pbVar11 + -0x10; iVar6 = *(int *)pbVar13; *(int *)pbVar13 = *(int *)pbVar13 + -1; UNLOCK(); if (iVar6 == 0) { /* WARNING: Subroutine does not return */ free(pbVar11 + -0x10); } } } return param_2; } ############ FUN_ 1812400f0 size=639 ############ longlong * FUN_1812400f0(longlong *param_1,longlong *param_2) { uint uVar1; byte bVar2; longlong lVar3; byte bVar4; bool bVar5; byte bVar6; DWORD DVar7; int iVar8; int iVar9; undefined8 *puVar10; undefined8 uVar11; uint *puVar12; byte *pbVar13; int iVar14; undefined1 *local_res8; undefined1 *local_res20; longlong local_38 [2]; undefined1 local_28 [16]; local_38[1] = 0xfffffffffffffffe; if (*(char *)*param_1 != '\0') { puVar10 = (undefined8 *)FUN_18049a930(local_28,param_1); DVar7 = GetFileAttributesW((LPCWSTR)*puVar10); if (DVar7 != 0xffffffff) { bVar5 = true; goto LAB_181240144; } } bVar5 = false; LAB_181240144: if (bVar5) { iVar8 = FUN_1812327b0(param_1,0x2e); iVar9 = FUN_1812327b0(param_1,0x5c); if (iVar9 < iVar8) { if (iVar8 < 1) { local_res20 = (undefined1 *)*param_1; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } } else { pbVar13 = (byte *)*param_1; while (iVar8 = iVar8 + -1, -1 < iVar8) { bVar2 = *pbVar13; if (bVar2 == 0) goto LAB_181240202; pbVar13 = pbVar13 + 1; if ((char)bVar2 < '\0') { bVar6 = 0x40; bVar4 = bVar2 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar13 = pbVar13 + 1; bVar6 = bVar6 >> 1; bVar4 = bVar2 & bVar6; } } } FUN_18049c9e0(&local_res20); } } else { LAB_181240202: local_res20 = &DAT_1821dbf98; } iVar8 = FUN_1812327b0(param_1,0x5c); iVar14 = iVar8 + 1; iVar9 = FUN_1812327b0(param_1,0x2e); if (iVar14 < iVar9) { FUN_1812490c0(param_1,&local_res8,iVar14,iVar9); } else if (iVar14 < 1) { local_res8 = (undefined1 *)*param_1; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { pbVar13 = (byte *)*param_1; for (; -1 < iVar8; iVar8 = iVar8 + -1) { bVar2 = *pbVar13; if (bVar2 == 0) { local_res8 = &DAT_1821dbf98; goto LAB_1812402ae; } pbVar13 = pbVar13 + 1; if ((char)bVar2 < '\0') { bVar6 = 0x40; bVar4 = bVar2 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar13 = pbVar13 + 1; bVar6 = bVar6 >> 1; bVar4 = bVar2 & bVar6; } } } FUN_18049c9e0(&local_res8); } LAB_1812402ae: uVar11 = FUN_181241230(param_1,local_38); FUN_181240380(uVar11,param_2,&local_res8,&local_res20,1); puVar12 = (uint *)(local_38[0] + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_res8 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_res20 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } else { lVar3 = *param_1; *param_2 = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } } return param_2; } ############ FUN_ 181241330 size=132 ############ longlong * FUN_181241330(longlong *param_1,longlong *param_2) { longlong lVar1; int iVar2; iVar2 = FUN_1812327b0(param_1,0x5c); if (0 < iVar2) { FUN_1812490c0(param_1,param_2,0,iVar2); return param_2; } if (iVar2 == 0) { FUN_18049c9e0(param_2,&DAT_1821db634); return param_2; } lVar1 = *param_1; *param_2 = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } return param_2; } ############ FUN_ 181249540 size=23 ############ undefined8 FUN_181249540(undefined8 param_1) { FUN_18049c9e0(); return param_1; } ############ FUN_ 1812c2890 size=243 ############ undefined8 * FUN_1812c2890(undefined8 *param_1,int *param_2,int param_3) { uint uVar1; int iVar2; int iVar3; uint *_Memory; undefined1 *local_res20; if (((param_3 < 9) || (*param_2 != 0x21324356)) || (iVar3 = param_2[1], iVar3 < 1)) { *param_1 = 0; return param_1; } iVar2 = param_3 + -8; if (iVar3 < param_3 + -8) { iVar2 = iVar3; } param_2 = param_2 + 2; if (param_2 != (int *)0x0) { if (iVar2 < 0) { FUN_18049c9e0(&local_res20); goto LAB_1812c293e; } if (0 < iVar2) { FUN_18124a8a0(&local_res20,param_2,(longlong)iVar2 + (longlong)param_2,0x21324356, 0xfffffffffffffffe); goto LAB_1812c293e; } } local_res20 = &DAT_1821dbf98; LAB_1812c293e: FUN_181226010(param_1,&local_res20); _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 1812e5cc0 size=1244 ############ double FUN_1812e5cc0(longlong param_1,undefined8 *param_2) { uint *_Memory; uint uVar1; byte bVar2; longlong lVar3; longlong *plVar4; byte bVar5; char cVar6; undefined8 uVar7; undefined8 *puVar8; byte bVar9; uint *puVar10; byte *pbVar11; byte *pbVar12; int iVar13; int iVar14; float fVar15; undefined4 uVar16; float fVar17; double dVar18; byte *local_res8; byte *local_res10; byte *local_res18; byte *local_res20; undefined8 local_78; longlong local_70; undefined8 local_68; byte *local_60; byte *local_58; local_68 = 0xfffffffffffffffe; pbVar12 = (byte *)*param_2; pbVar11 = pbVar12; if (*pbVar12 != 0) { while ((bVar2 = *pbVar11, bVar2 == 0x20 || ((byte)(bVar2 - 9) < 5))) { pbVar11 = pbVar11 + 1; if ((char)bVar2 < '\0') { bVar9 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar9))) { pbVar11 = pbVar11 + 1; bVar9 = bVar9 >> 1; bVar5 = bVar2 & bVar9; } } } if (pbVar11 != pbVar12) { FUN_18049c9e0(&local_res8); goto LAB_1812e5d51; } } local_res8 = pbVar12; if ((*(uint *)(pbVar12 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar12 + -0x10) = *(int *)(pbVar12 + -0x10) + 1; UNLOCK(); } LAB_1812e5d51: lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x200) + 0x210); puVar10 = (uint *)(lVar3 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } cVar6 = FUN_181231320(&local_res8,lVar3); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if (cVar6 != '\0') { pbVar12 = *(byte **)(*(longlong *)(param_1 + 0x200) + 0x210); puVar10 = (uint *)(pbVar12 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } iVar14 = 0; pbVar11 = local_res8; while( true ) { while( true ) { bVar2 = *pbVar11; pbVar11 = pbVar11 + 1; if (-1 < (char)bVar2) break; if ((*pbVar11 & 0xc0) != 0x80) goto LAB_1812e5e27; do { pbVar11 = pbVar11 + 1; } while ((*pbVar11 & 0xc0) == 0x80); iVar14 = iVar14 + 1; } if (bVar2 == 0) break; LAB_1812e5e27: iVar14 = iVar14 + 1; } iVar13 = 0; while( true ) { while( true ) { bVar2 = *pbVar12; pbVar12 = pbVar12 + 1; if (-1 < (char)bVar2) break; if ((*pbVar12 & 0xc0) != 0x80) goto LAB_1812e5e67; do { pbVar12 = pbVar12 + 1; } while ((*pbVar12 & 0xc0) == 0x80); iVar13 = iVar13 + 1; } if (bVar2 == 0) break; LAB_1812e5e67: iVar13 = iVar13 + 1; } iVar14 = iVar14 - iVar13; local_60 = local_res8; if (iVar14 < 1) { local_res10 = &DAT_1821dbf98; } else { iVar13 = 0; pbVar12 = local_res8; if (0 < iVar14) { do { bVar2 = *pbVar12; if (bVar2 == 0) { local_res10 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } goto LAB_1812e5ec9; } iVar13 = iVar13 + 1; pbVar12 = pbVar12 + 1; if ((char)bVar2 < '\0') { bVar9 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar9))) { pbVar12 = pbVar12 + 1; bVar9 = bVar9 >> 1; bVar5 = bVar2 & bVar9; } } } while (iVar13 < iVar14); } FUN_18124a8a0(&local_res10,local_res8); local_60 = local_res8; } LAB_1812e5ec9: local_res8 = local_res10; _Memory = (uint *)(local_60 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } if (*(longlong *)(param_1 + 0x1b8) == 0) { iVar14 = FUN_180492f10(&local_res8); while (iVar14 == 0x2b) { iVar14 = 0; pbVar12 = local_res8; do { bVar2 = *pbVar12; if (bVar2 == 0) { local_res20 = &DAT_1821dbf98; goto LAB_1812e6039; } pbVar12 = pbVar12 + 1; if ((char)bVar2 < '\0') { bVar9 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar9))) { pbVar12 = pbVar12 + 1; bVar9 = bVar9 >> 1; bVar5 = bVar2 & bVar9; } } iVar14 = iVar14 + -1; } while (-1 < iVar14); FUN_18049c9e0(&local_res20); LAB_1812e6039: pbVar12 = local_res20; if (*local_res20 == 0) { LAB_1812e608e: local_res18 = local_res20; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } } else { while ((bVar2 = *pbVar12, bVar2 == 0x20 || ((byte)(bVar2 - 9) < 5))) { pbVar12 = pbVar12 + 1; if ((char)bVar2 < '\0') { bVar9 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar9))) { pbVar12 = pbVar12 + 1; bVar9 = bVar9 >> 1; bVar5 = bVar2 & bVar9; } } } if (pbVar12 == local_res20) goto LAB_1812e608e; FUN_18049c9e0(&local_res18); } pbVar12 = local_res8; local_58 = local_res8; local_res8 = local_res18; local_res18 = pbVar12; puVar10 = (uint *)(pbVar12 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_res20 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } iVar14 = FUN_180492f10(&local_res8); } puVar8 = (undefined8 *)FUN_1812303b0(&local_res8,&local_70,"0123456789.,-"); local_78 = *puVar8; dVar18 = (double)FUN_18049bd80(&local_78); puVar10 = (uint *)(local_70 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } else { plVar4 = *(longlong **)(param_1 + 0x1b8); if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } if ((undefined **)*plVar4 == std:: _Func_impl_no_alloc<,double,juce::String_const&___ptr64> ::vftable) { lVar3 = plVar4[1]; fVar15 = (float)(**(code **)(**(longlong **)(lVar3 + 0x20) + 0x50))(); uVar7 = (**(code **)(**(longlong **)(lVar3 + 0x20) + 0x88))(); fVar17 = 0.0; if ((0.0 <= fVar15) && (fVar17 = DAT_1824c3ea4, fVar15 <= DAT_1824c3ea4)) { fVar17 = fVar15; } uVar16 = FUN_1804db050(uVar7,fVar17); fVar17 = (float)FUN_180487220(uVar7,uVar16); dVar18 = (double)fVar17; } else { dVar18 = (double)(*(code *)((undefined **)*plVar4)[2])(plVar4,&local_res8); } } puVar10 = (uint *)(local_res8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } return dVar18; } ############ FUN_ 1813242f0 size=1318 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813242f0(longlong param_1) { longlong *plVar1; int *piVar2; undefined8 *puVar3; uint uVar4; byte bVar5; longlong lVar6; byte bVar7; double dVar8; bool bVar9; char cVar10; byte bVar11; DWORD DVar12; int iVar13; undefined8 *puVar14; undefined8 uVar15; longlong *plVar16; longlong *plVar17; undefined8 uVar18; undefined8 uVar19; uint *puVar20; byte *pbVar21; int iVar22; int iVar23; double dVar24; undefined1 auStack_158 [48]; undefined1 *local_128 [2]; undefined8 local_118; undefined4 uStack_110; undefined4 uStack_10c; undefined **local_108; longlong local_100; HANDLE local_f8; char *local_e8; undefined8 *local_e0; undefined8 *local_d8; longlong *local_d0; undefined8 local_c8; longlong local_c0; longlong local_b8; longlong local_b0; double local_a8; double local_a0; double local_98; undefined8 *local_90; undefined8 local_88; undefined1 local_80 [8]; longlong local_78; longlong local_70; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined1 local_48 [16]; ulonglong local_38 [2]; local_88 = 0xfffffffffffffffe; local_38[0] = DAT_182615970 ^ (ulonglong)auStack_158; FUN_1812a7720(); plVar1 = (longlong *)(param_1 + 0x20); local_e0 = (undefined8 *)*plVar1; iVar22 = 0; *plVar1 = 0; if (local_e0 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(local_e0 + 1); iVar23 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar23 == 1) { (**(code **)*local_e0)(local_e0,1); } } local_d0 = (longlong *)(param_1 + 0x28); puVar20 = (uint *)(*local_d0 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } *local_d0 = (longlong)&DAT_1821dbf98; local_b0 = param_1 + -0xb0; uStack_10c = *(undefined4 *)(param_1 + -0x84); uStack_110 = *(undefined4 *)(param_1 + -0x88); local_118 = 0; local_68 = 0; uStack_64 = 0; uStack_60 = uStack_110; uStack_5c = uStack_10c; FUN_181342870(local_b0,&local_68,1); puVar3 = (undefined8 *)(param_1 + 0x18); FUN_18123efe0(&local_108,puVar3); if (*local_e8 != '\0') goto LAB_1813247ae; if (*(char *)*puVar3 == '\0') { LAB_181324422: bVar9 = false; } else { puVar14 = (undefined8 *)FUN_18049a930(local_80,puVar3); DVar12 = GetFileAttributesW((LPCWSTR)*puVar14); bVar9 = true; if ((DVar12 & 0x10) != 0) goto LAB_181324422; } if (bVar9) { uVar15 = (*(code *)local_108[0x15])(&local_108); plVar16 = (longlong *)FUN_1804a0630(); plVar17 = (longlong *)*plVar16; while (plVar17 != (longlong *)0x0) { cVar10 = (**(code **)(*plVar17 + 0x10))(plVar17,&local_108); (*(code *)local_108[0x16])(&local_108,uVar15); if (cVar10 != '\0') { plVar16 = (longlong *)*plVar16; if (plVar16 != (longlong *)0x0) { plVar17 = (longlong *)(**(code **)(*plVar16 + 0x20))(plVar16,&local_d8,&local_108); local_78 = *plVar1; *plVar1 = *plVar17; *plVar17 = local_78; if (local_d8 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(local_d8 + 1); iVar23 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar23 == 1) { (**(code **)*local_d8)(local_d8,1); } } if (*plVar1 != 0) { lVar6 = *plVar1; iVar23 = iVar22; if (lVar6 != 0) { iVar22 = *(int *)(lVar6 + 0x14); iVar23 = *(int *)(lVar6 + 0x18); } uVar15 = FUN_181217a30(puVar3); uVar15 = FUN_181240c90(&local_b8,uVar15); local_c8 = (**(code **)(*plVar16 + 8))(plVar16,&local_c0); iVar13 = FUN_1812327b0(puVar3,0x5c); if (iVar13 + 1 < 1) { local_128[0] = (undefined1 *)*puVar3; if ((*(uint *)(local_128[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_128[0] + -0x10) = *(int *)(local_128[0] + -0x10) + 1; UNLOCK(); } goto LAB_1813245ae; } pbVar21 = (byte *)*puVar3; if (-1 < iVar13) goto LAB_181324570; goto LAB_1813245a3; } } break; } plVar16 = plVar16 + 1; plVar17 = (longlong *)*plVar16; } } LAB_1813247ae: local_108 = juce::FileInputStream::vftable; CloseHandle(local_f8); puVar20 = (uint *)(local_e8 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } puVar20 = (uint *)(local_100 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } while( true ) { pbVar21 = pbVar21 + 1; if ((char)bVar5 < '\0') { bVar11 = 0x40; bVar7 = bVar5 & 0x40; while ((bVar7 != 0 && (8 < bVar11))) { pbVar21 = pbVar21 + 1; bVar11 = bVar11 >> 1; bVar7 = bVar5 & bVar11; } } iVar13 = iVar13 + -1; if (iVar13 < 0) break; LAB_181324570: bVar5 = *pbVar21; if (bVar5 == 0) { local_128[0] = &DAT_1821dbf98; goto LAB_1813245ae; } } LAB_1813245a3: FUN_18049c9e0(local_128); LAB_1813245ae: uVar18 = FUN_181232d30(local_d0,local_128); FUN_181232e20(uVar18,&DAT_1821e2cdc,&DAT_1821e2cdd); uVar18 = FUN_181232d30(uVar18,local_c8); FUN_181232e20(uVar18,&DAT_1821e2d04,&DAT_1821e2d05); uVar19 = FUN_181233e10(local_48,iVar22); FUN_181232e20(uVar18,uVar19,local_48); FUN_181232e20(uVar18,&DAT_1821e2d2c,&DAT_1821e2d2f); uVar19 = FUN_181233e10(local_38,iVar23); FUN_181232e20(uVar18,uVar19,local_38); FUN_181232e20(uVar18," pixels\n",""); FUN_181232d30(uVar18,uVar15); puVar20 = (uint *)(local_128[0] + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } puVar20 = (uint *)(local_c0 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } puVar20 = (uint *)(local_b8 + -0x10); if ((*puVar20 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar20; *puVar20 = *puVar20 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar20); } } local_a8 = (double)((float)*(int *)(local_b0 + 0x28) * _DAT_1824c3e8c) + DAT_1824c4520; dVar8 = (double)(*(int *)(local_b0 + 0x2c) + -0x34) / (double)iVar23; dVar24 = (double)local_a8._0_4_ / (double)iVar22; if (DAT_1824c4140 <= dVar24) { if (DAT_1824c4140 <= dVar8) { dVar8 = DAT_1824c4140; } } else if (dVar24 <= dVar8) { dVar8 = dVar24; } local_98 = (double)iVar22 * dVar8 + DAT_1824c4520; local_a0 = (double)iVar23 * dVar8 + DAT_1824c4520; plVar17 = (longlong *) FUN_181290d60(plVar1,&local_90,(ulonglong)local_98 & 0xffffffff, (ulonglong)local_a0 & 0xffffffff); local_70 = *plVar1; *plVar1 = *plVar17; *plVar17 = local_70; if (local_90 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(local_90 + 1); iVar22 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar22 == 1) { (**(code **)*local_90)(local_90,1); } } goto LAB_1813247ae; } ############ FUN_ 18132ab00 size=808 ############ void FUN_18132ab00(longlong param_1) { longlong *plVar1; byte bVar2; byte bVar3; bool bVar4; byte bVar5; int iVar6; DWORD DVar7; uint uVar8; undefined8 *puVar9; undefined8 uVar10; uint *puVar11; byte *pbVar12; byte *local_res8; byte *local_res10; undefined1 *local_res18; longlong local_res20; longlong local_68; longlong local_60; longlong local_58 [3]; undefined1 local_40 [8]; local_58[1] = 0xfffffffffffffffe; puVar9 = (undefined8 *)FUN_1812dc020(param_1 + 0x2c0,&local_res20); iVar6 = FUN_18049bc80(*puVar9,0x5c); puVar11 = (uint *)(local_res20 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if (iVar6 < 0) { uVar10 = FUN_18132c510(param_1,local_58,0); (**(code **)(*(longlong *)(param_1 + 0xb0) + 0x18))((longlong *)(param_1 + 0xb0),uVar10); puVar11 = (uint *)(local_58[0] + -0x10); uVar8 = *puVar11; goto LAB_18132ae0d; } puVar9 = (undefined8 *)FUN_1812dc020(param_1 + 0x2c0,&local_68); local_58[2] = *puVar9; FUN_181245100(param_1 + 0xf8,&local_res8); puVar11 = (uint *)(local_68 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar9 = (undefined8 *)FUN_18049a930(local_40,&local_res8); DVar7 = GetFileAttributesW((LPCWSTR)*puVar9); bVar4 = true; if (((DVar7 & 0x10) == 0) || (DVar7 == 0xffffffff)) { bVar4 = false; } if (bVar4) { FUN_18132bdc0(param_1,&local_res8); FUN_180488c50(param_1 + 0x100); if (*(int *)(param_1 + 0x108) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x100)); } *(undefined4 *)(param_1 + 0x108) = 0; if ((*(uint *)(param_1 + 0xf0) & 0x100) == 0) { local_res18 = &DAT_1821dbf98; FUN_1812e1110(param_1 + 0x2c0,&local_res18,1); puVar11 = (uint *)(local_res18 + -0x10); uVar8 = *puVar11; goto LAB_18132adab; } } else { uVar10 = FUN_181241230(&local_res8,&local_60); FUN_18132bdc0(param_1,uVar10); puVar11 = (uint *)(local_60 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } plVar1 = (longlong *)(param_1 + 0x100); FUN_180488c50(plVar1); if (*(int *)(param_1 + 0x108) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar1); } *(undefined4 *)(param_1 + 0x108) = 0; iVar6 = *(int *)(param_1 + 0x10c) + 1; if (0 < iVar6) { FUN_18048a300(plVar1,*(int *)(param_1 + 0x10c) + 9 + iVar6 / 2 & 0xfffffff8); } iVar6 = *(int *)(param_1 + 0x10c); *(int *)(param_1 + 0x10c) = iVar6 + 1; *(byte **)(*plVar1 + (longlong)iVar6 * 8) = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } iVar6 = FUN_1812327b0(&local_res8,0x5c); pbVar12 = local_res8; if (iVar6 + 1 < 1) { local_res10 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { for (; -1 < iVar6; iVar6 = iVar6 + -1) { bVar2 = *pbVar12; if (bVar2 == 0) { local_res10 = &DAT_1821dbf98; goto LAB_18132ad8d; } pbVar12 = pbVar12 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { pbVar12 = pbVar12 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } } FUN_18049c9e0(&local_res10); } LAB_18132ad8d: FUN_1812e1110(param_1 + 0x2c0,&local_res10,1); puVar11 = (uint *)(local_res10 + -0x10); uVar8 = *puVar11; LAB_18132adab: if ((uVar8 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } } puVar11 = (uint *)(local_res8 + -0x10); uVar8 = *puVar11; LAB_18132ae0d: if ((uVar8 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } return; } ############ FUN_ 181393250 size=85 ############ undefined8 * FUN_181393250(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { *param_1 = juce::AudioFormat::vftable; FUN_18049c9e0(param_1 + 1,"FLAC file",param_3,param_4,0xfffffffffffffffe); FUN_18122ce70(param_1 + 2,".flac"); *param_1 = juce::FlacAudioFormat::vftable; return param_1; } ############ FUN_ 1813abdc0 size=85 ############ undefined8 * FUN_1813abdc0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { *param_1 = juce::AudioFormat::vftable; FUN_18049c9e0(param_1 + 1,"AIFF file",param_3,param_4,0xfffffffffffffffe); FUN_18122ce70(param_1 + 2,".aiff .aif"); *param_1 = juce::AiffAudioFormat::vftable; return param_1; } ############ FUN_ 1813b0010 size=77 ############ undefined8 * FUN_1813b0010(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { *param_1 = juce::AudioFormat::vftable; FUN_18049c9e0(param_1 + 1); FUN_18122ce70(param_1 + 2,param_3); return param_1; } ############ FUN_ 181432420 size=949 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181432420(longlong param_1) { uint uVar1; byte bVar2; bool bVar3; byte bVar4; undefined8 *puVar5; byte *pbVar6; longlong *plVar7; longlong *plVar8; byte bVar9; uint *puVar10; uint *puVar11; uint *puVar12; undefined1 auStack_198 [32]; longlong local_178; longlong *local_170; longlong local_168; byte *local_160; undefined1 local_158 [8]; longlong local_150; longlong local_148; longlong local_140 [2]; longlong local_130; byte *local_128; undefined **local_120; longlong local_118; undefined8 local_110; byte *local_108; undefined1 local_f8 [64]; longlong local_b8; byte *local_b0; longlong local_a8; undefined8 local_a0; undefined8 local_98; undefined8 local_90; undefined2 local_88; undefined8 local_48; longlong *local_40; ulonglong local_38; local_110 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_198; FUN_1811ca580(param_1 + 0x1948,local_140); FUN_18049c9e0(&local_168,".preset"); FUN_18049c4e0(&local_178,&DAT_18220bbe4); local_170 = &local_178; puVar5 = (undefined8 *)FUN_181232d30(&local_178,&local_168); local_160 = (byte *)*puVar5; puVar12 = (uint *)(local_160 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); *puVar12 = *puVar12 + 1; UNLOCK(); } puVar10 = (uint *)(local_178 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_168 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_18049c4e0(&local_130,"Choose a preset file to open"); local_b8 = local_130; puVar10 = (uint *)(local_130 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } local_b0 = local_160; if ((*puVar12 & 0x30000000) == 0) { LOCK(); *puVar12 = *puVar12 + 1; UNLOCK(); } local_a8 = local_140[0]; if ((*(uint *)(local_140[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_140[0] + -0x10) = *(int *)(local_140[0] + -0x10) + 1; UNLOCK(); } local_a0 = 0; local_98 = 0; local_90 = 0; local_88 = 1; local_48 = 0; local_40 = (undefined8 *)0x0; bVar2 = *local_160; pbVar6 = local_160; while (bVar2 != 0) { bVar2 = *pbVar6; if ((bVar2 != 0x20) && (4 < (byte)(bVar2 - 9))) goto LAB_18143261c; pbVar6 = pbVar6 + 1; if ((char)bVar2 < '\0') { bVar9 = 0x40; bVar4 = bVar2 & 0x40; while ((bVar4 != 0 && (8 < bVar9))) { pbVar6 = pbVar6 + 1; bVar9 = bVar9 >> 1; bVar4 = bVar2 & bVar9; } } bVar2 = *pbVar6; } FUN_18049c4e0(&local_128,&DAT_1821e2c3c); pbVar6 = local_b0; local_108 = local_b0; local_b0 = local_128; puVar11 = (uint *)(pbVar6 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } LAB_18143261c: if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_1804de690(local_158,DAT_182673708); plVar7 = (longlong *)FUN_181329c90(&local_b8,5); plVar8 = local_40; if (local_40 != (undefined8 *)0x0) { puVar5 = (undefined8 *)*local_40; local_40 = plVar7; (*(code *)*puVar5)(plVar8,1); plVar7 = local_40; } local_40 = plVar7; (**(code **)(*local_40 + 0x10))(); bVar3 = 0 < local_90._4_4_; FUN_1804e4a90(local_158); if (bVar3) { FUN_181329930(&local_b8,&local_148); local_150 = local_148; puVar10 = (uint *)(local_148 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } FUN_181184390(local_f8,&local_150,0); FUN_18143e030(param_1,local_f8); plVar8 = (longlong *)FUN_181241230(&local_148,&local_170); local_120 = &PTR_vftable_18262b560; local_118 = *plVar8; if ((*(uint *)(local_118 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_118 + -0x10) = *(int *)(local_118 + -0x10) + 1; UNLOCK(); } (**(code **)(*(longlong *)(param_1 + 0x1948) + 0x28))(param_1 + 0x1948,&local_120); puVar11 = (uint *)(local_170 + -2); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_1814d4600(param_1); FUN_180484660(local_f8); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } FUN_181329e40(&local_b8); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_140[0] + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } ############ FUN_ 181487ce0 size=1039 ############ /* WARNING: Removing unreachable block (ram,0x000181487dc0) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181487ce0(longlong *param_1) { longlong *plVar1; float fVar2; longlong lVar3; undefined8 *puVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; uint uVar8; ulonglong uVar9; longlong lVar10; char cVar11; char cVar12; float fVar13; float fVar14; float fVar15; undefined8 uStack_1c8; undefined1 auStack_1b8 [48]; undefined **local_188; undefined *local_180; undefined8 local_168; undefined8 local_160; undefined8 local_158; uint local_144; uint local_140; int local_13c; undefined4 *local_138; longlong local_130; undefined1 local_128 [8]; undefined1 local_120 [64]; undefined8 local_e0; undefined1 local_d8 [96]; ulonglong local_78; local_e0 = 0xfffffffffffffffe; local_78 = DAT_182615970 ^ (ulonglong)auStack_1b8; lVar10 = 1; uVar8 = (uint)&stack0x00000000 & 0x6cff; local_144 = 0x9efc << ((char)((byte)(-((uVar8 * uVar8 + 1) % 7) >> 0x18) ^ 0xff) >> 7 & 0x1fU) ^ 0x963c; uVar8 = (uint)&stack0x00000000 & 0x8ff; uVar8 = (uVar8 * uVar8 * 0x10 + 4) % 0x13; uVar9 = (ulonglong)uVar8; local_140 = (int)(-uVar8 | uVar8) >> 0x1f & 0x645fU ^ 0x666f; plVar1 = param_1 + 0x16; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (param_1[0x17] == 0) { FUN_180569ff0(param_1); } lVar5 = param_1[0x17]; } else { lVar5 = (**(code **)(*plVar1 + 8))(plVar1); } lVar3 = (**(code **)(*plVar1 + 8))(plVar1); FUN_1813f3f00(lVar5 + 0x48,local_120,*(float *)(lVar3 + 0x88) * DAT_1824c4418); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (param_1[0x17] == 0) { FUN_180569ff0(param_1); } lVar5 = param_1[0x17]; } else { lVar5 = (**(code **)(*plVar1 + 8))(plVar1); } lVar3 = (**(code **)(*plVar1 + 8))(plVar1); FUN_1813f3f00(lVar5 + 0x48,local_128,*(float *)(lVar3 + 0x88) * DAT_1824c43f8); puVar4 = (undefined8 *)(**(code **)(*param_1 + 0x178))(param_1,local_d8); FUN_18049c9e0(&local_130,*puVar4); fVar13 = (float)FUN_1812518d0(local_120,&local_130); fVar14 = ceilf(fVar13); lVar5 = (**(code **)(*plVar1 + 8))(plVar1); fVar13 = *(float *)(lVar5 + 0x88); lVar5 = (**(code **)(*plVar1 + 8))(plVar1); fVar2 = *(float *)(lVar5 + 0x88); fVar15 = (float)FUN_1812518d0(local_128,param_1 + 0x1a); fVar15 = ceilf(fVar15); lVar5 = (**(code **)(*plVar1 + 8))(plVar1); local_13c = (int)((float)(((int)(fVar13 * DAT_1824c443c) - (int)(fVar2 * _DAT_1824c4728)) + (int)fVar15 + (int)fVar14) + *(float *)(lVar5 + 0x88) * DAT_1824c4334); FUN_1804951e0(local_130 + -0x10); local_158 = 0x6f01000; local_160 = 0x1bab6a8; local_168 = 0x10; local_188 = &PTR__guard_check_icall_181bab6a8; local_180 = &DAT_181bab6b8; local_138 = &DAT_186f01000; FUN_1814880dd(); cVar12 = '\0'; cVar11 = (longlong)(uVar9 ^ 0x180568990 ^ uVar9) < 0; /* WARNING: Call to offcut address within same function */ uStack_1c8 = 0x18148804c; func_0x00018148804f(); puVar7 = &uStack_1c8; uStack_1c8 = 0xffffffffffffffba; if (cVar12 == cVar11) { uVar6 = (ulonglong)((int)&uStack_1c8 - 0x10); lVar10 = *(longlong *)(uVar6 + 0x10); *(longlong *)(uVar6 + 0x10) = lVar10 + 300; *(longlong *)(uVar6 + 8) = lVar10 + -0x43f8d; lVar10 = lVar10 + 0x7ef46; puVar7 = (undefined8 *)(uVar6 - 0x38); } *(longlong *)((longlong)puVar7 + 0x38) = lVar10; FUN_1814880de(); return; } ############ FUN_ 18163a2b0 size=195 ############ undefined4 FUN_18163a2b0(void) { uint uVar1; longlong lVar2; undefined8 *puVar3; uint *puVar4; undefined8 in_R9; undefined4 uVar5; undefined1 *local_res8; undefined8 local_res10; longlong local_res18 [2]; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; lVar2 = glGetString(0x8b8c); if (lVar2 == 0) { local_res8 = &DAT_1821dbf98; } else { FUN_18049c9e0(&local_res8,lVar2); } puVar3 = (undefined8 *)FUN_1812489f0(&local_res8,local_res18,"1234567890.",in_R9,uVar6); local_res10 = *puVar3; uVar5 = FUN_18049bd80(&local_res10); puVar4 = (uint *)(local_res18[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_res8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return uVar5; } ############ FUN_ 18123c4d0 size=270 ############ undefined4 FUN_18123c4d0(longlong *param_1,longlong *param_2) { uint uVar1; longlong lVar2; uint *puVar3; int iVar4; int iVar5; int iVar6; longlong *plVar7; longlong *plVar8; longlong *plVar9; plVar8 = (longlong *)*param_1; plVar7 = plVar8; if (plVar8 == (longlong *)0x0) { plVar7 = param_1 + 1; } iVar4 = (int)param_1[4] >> 5; lVar2 = (longlong)iVar4; if (-1 < iVar4) { LAB_18123c506: uVar1 = *(uint *)((longlong)plVar7 + lVar2 * 4); if (uVar1 == 0) goto code_r0x00018123c50e; iVar5 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar5 == 0; iVar5 = iVar5 + -1) { } } iVar5 = iVar4 * 0x20 + iVar5; goto LAB_18123c518; } LAB_18123c516: iVar5 = -1; LAB_18123c518: plVar9 = (longlong *)*param_2; plVar7 = plVar9; if (plVar9 == (longlong *)0x0) { plVar7 = param_2 + 1; } iVar4 = (int)param_2[4] >> 5; lVar2 = (longlong)iVar4; if (-1 < iVar4) { do { uVar1 = *(uint *)((longlong)plVar7 + lVar2 * 4); if (uVar1 != 0) { iVar6 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar6 == 0; iVar6 = iVar6 + -1) { } } iVar6 = iVar4 * 0x20 + iVar6; goto LAB_18123c547; } iVar4 = iVar4 + -1; lVar2 = lVar2 + -1; } while (-1 < lVar2); } iVar6 = -1; LAB_18123c547: if (iVar6 < iVar5) { return 1; } if (iVar5 < iVar6) { return 0xffffffff; } if (plVar8 == (longlong *)0x0) { plVar8 = param_1 + 1; } if (plVar9 == (longlong *)0x0) { plVar9 = param_2 + 1; } lVar2 = (longlong)iVar5 >> 5; if (-1 < lVar2) { puVar3 = (uint *)((longlong)plVar9 + lVar2 * 4); do { uVar1 = *(uint *)(((longlong)plVar8 - (longlong)plVar9) + (longlong)puVar3); if (uVar1 != *puVar3) { if (uVar1 < *puVar3) { return 0xffffffff; } return 1; } puVar3 = puVar3 + -1; lVar2 = lVar2 + -1; } while (-1 < lVar2); } return 0; code_r0x00018123c50e: iVar4 = iVar4 + -1; lVar2 = lVar2 + -1; if (lVar2 < 0) goto LAB_18123c516; goto LAB_18123c506; } ############ FUN_ 181133510 size=94 ############ void FUN_181133510(undefined8 param_1) { undefined1 auStack_78 [48]; void *local_48; undefined8 local_40; undefined8 local_38; undefined8 local_30; undefined8 local_28; ulonglong local_20; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 4; local_28 = 0xffffffff; local_48 = (void *)0x0; local_40 = 0; local_38 = 0; FUN_18123c5f0(param_1,&local_48); /* WARNING: Subroutine does not return */ free(local_48); } ############ FUN_ 18123c490 size=19 ############ bool FUN_18123c490(void) { int iVar1; iVar1 = FUN_18123c5f0(); return iVar1 != 0; } ############ FUN_ 18123c4b0 size=19 ############ bool FUN_18123c4b0(void) { int iVar1; iVar1 = FUN_18123c5f0(); return iVar1 == 0; } ############ FUN_ 1812b2f10 size=19 ############ bool FUN_1812b2f10(void) { int iVar1; iVar1 = FUN_18123c5f0(); return iVar1 != 0; } ############ FUN_ 1812b44c0 size=19 ############ bool FUN_1812b44c0(void) { int iVar1; iVar1 = FUN_18123c5f0(); return iVar1 == 0; } ############ FUN_ 1812c08d0 size=144 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812c08d0(undefined8 *param_1,int param_2) { longlong lVar1; longlong lVar2; undefined1 auStack_68 [32]; undefined4 local_48; void *local_40 [5]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; lVar2 = 0; local_48 = 0; lVar1 = lVar2; if ((param_2 < 2) && (lVar1 = 0, 0 < *(int *)((longlong)param_1 + 0xc))) { lVar1 = 1; FUN_18124a040(local_40,6); if ((uint)lVar2 < *(uint *)((longlong)param_1 + 0xc)) { lVar2 = *(longlong *)*param_1; } FUN_18123c5f0(lVar2 + 0x10,local_40); } if (lVar1 == 0) { } /* WARNING: Subroutine does not return */ free(local_40[0]); } ############ FUN_ 181359080 size=283 ############ /* WARNING: Removing unreachable block (ram,0x0001813591bf) */ /* WARNING: Removing unreachable block (ram,0x0001813591e1) */ /* WARNING: Removing unreachable block (ram,0x000181359208) */ /* WARNING: Removing unreachable block (ram,0x000181359203) */ /* WARNING: Removing unreachable block (ram,0x00018135920b) */ /* WARNING: Removing unreachable block (ram,0x000181359210) */ /* WARNING: Removing unreachable block (ram,0x00018135921d) */ /* WARNING: Removing unreachable block (ram,0x000181359222) */ /* WARNING: Removing unreachable block (ram,0x00018135922c) */ /* WARNING: Removing unreachable block (ram,0x000181359231) */ /* WARNING: Removing unreachable block (ram,0x00018135923f) */ /* WARNING: Removing unreachable block (ram,0x000181359244) */ /* WARNING: Removing unreachable block (ram,0x000181359255) */ /* WARNING: Removing unreachable block (ram,0x000181359259) */ /* WARNING: Removing unreachable block (ram,0x00018135925b) */ /* WARNING: Removing unreachable block (ram,0x000181359142) */ /* WARNING: Removing unreachable block (ram,0x000181359175) */ /* WARNING: Removing unreachable block (ram,0x000181359198) */ /* WARNING: Removing unreachable block (ram,0x00018135919b) */ /* WARNING: Removing unreachable block (ram,0x0001813591ad) */ /* WARNING: Removing unreachable block (ram,0x0001813591a0) */ void FUN_181359080(undefined8 param_1,longlong param_2) { void **ppvVar1; bool bVar2; undefined1 auStack_108 [32]; undefined4 local_e8; void *local_e0; undefined4 local_d8; undefined4 uStack_d4; undefined4 uStack_d0; undefined4 uStack_cc; void *local_c8; undefined4 local_c0; undefined1 local_bc; void *local_b8 [10]; undefined1 local_68 [40]; void *local_40 [5]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_108; local_e8 = 0; FUN_1804db6f0(param_2,local_68,0); bVar2 = *(int *)(param_2 + 0xc) != 2; if (bVar2) { FUN_18124a040(local_b8,8); ppvVar1 = local_b8; } else { ppvVar1 = (void **)FUN_1804db6f0(param_2,local_40,1); } local_e0 = *ppvVar1; *ppvVar1 = (void *)0x0; local_c8 = ppvVar1[3]; local_c0 = *(undefined4 *)(ppvVar1 + 4); local_bc = *(undefined1 *)((longlong)ppvVar1 + 0x24); local_d8 = *(undefined4 *)(ppvVar1 + 1); uStack_d4 = *(undefined4 *)((longlong)ppvVar1 + 0xc); uStack_d0 = *(undefined4 *)(ppvVar1 + 2); uStack_cc = *(undefined4 *)((longlong)ppvVar1 + 0x14); if (!bVar2) { /* WARNING: Subroutine does not return */ free(local_40[0]); } /* WARNING: Subroutine does not return */ free(local_b8[0]); } ############ FUN_ 1813ba950 size=178 ############ undefined8 FUN_1813ba950(longlong *param_1,longlong *param_2) { int iVar1; if (((((*param_1 == *param_2) || (iVar1 = FUN_18048cbc0(*param_1,*param_2), iVar1 == 0)) && ((param_1[1] == param_2[1] || (iVar1 = FUN_18048cbc0(param_1[1],param_2[1]), iVar1 == 0)))) && (((((double)param_1[2] == (double)param_2[2] && ((int)param_1[3] == (int)param_2[3])) && (iVar1 = FUN_18123c5f0(param_1 + 4,param_2 + 4), iVar1 == 0)) && (((char)param_1[9] == (char)param_2[9] && (iVar1 = FUN_18123c5f0(param_1 + 10,param_2 + 10), iVar1 == 0)))))) && ((char)param_1[0xf] == (char)param_2[0xf])) { return 0; } return 1; } ############ FUN_ 1813baa10 size=168 ############ ulonglong FUN_1813baa10(longlong *param_1,longlong *param_2) { ulonglong uVar1; if (((((*param_1 == *param_2) || (uVar1 = FUN_18048cbc0(*param_1,*param_2), (int)uVar1 == 0)) && ((uVar1 = param_2[1], param_1[1] == uVar1 || (uVar1 = FUN_18048cbc0(param_1[1],uVar1), (int)uVar1 == 0)))) && (((((double)param_1[2] == (double)param_2[2] && (uVar1 = (ulonglong)*(uint *)(param_2 + 3), *(uint *)(param_1 + 3) == *(uint *)(param_2 + 3))) && (uVar1 = FUN_18123c5f0(param_1 + 4,param_2 + 4), (int)uVar1 == 0)) && ((uVar1 = 0, (char)param_1[9] == (char)param_2[9] && (uVar1 = FUN_18123c5f0(param_1 + 10,param_2 + 10), (int)uVar1 == 0)))))) && (uVar1 = 0, (char)param_1[0xf] == (char)param_2[0xf])) { return 1; } return uVar1 & 0xffffffffffffff00; } ############ FUN_ 1811342b0 size=1113 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811342b0(undefined8 param_1,undefined4 param_2) { undefined1 auStack_58 [32]; void *local_38 [5]; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; switch(param_2) { case 1: case 2: case 3: FUN_18124a040(local_38,8); FUN_18123c5f0(param_1,local_38); /* WARNING: Subroutine does not return */ free(local_38[0]); case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 0xb: case 0xc: case 0xd: case 0xe: case 0xf: case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: case 0x18: case 0x19: case 0x1a: case 0x1b: case 0x1c: case 0x1d: case 0x1e: case 0x1f: case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: case 0x28: case 0x29: default: case 0x3e: case 0x3f: case 0x40: case 0x43: case 0x44: case 0x45: case 0x46: case 0x47: case 0x80: } } ############ FUN_ 1811330f0 size=1003 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811330f0(ulonglong *param_1,longlong param_2) { uint *puVar1; uint uVar2; ulonglong *puVar3; uint uVar4; undefined1 *puVar5; ulonglong uVar6; undefined1 uVar7; uint uVar8; ulonglong *puVar9; undefined1 auStack_b8 [32]; ulonglong *local_98; ulonglong local_90; ulonglong uStack_88; ulonglong local_80; uint local_78; undefined1 local_74; undefined1 *local_70; undefined1 local_68 [24]; int local_50; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_b8; if (param_2 == 0) { param_1[4] = 0; *param_1 = 0; param_1[3] = 4; *(undefined4 *)(param_1 + 4) = 0xffffffff; *(undefined1 *)((longlong)param_1 + 0x24) = 0; param_1[1] = 0; param_1[2] = 0; } else if (param_2 == 0x80000) { FUN_18124a040(param_1,8); } else if (param_2 == 3) { FUN_18124a040(param_1,6); } else if (param_2 == 7) { FUN_18124a040(param_1,0xe); } else if (param_2 == 0x103) { FUN_18124a040(param_1,0x206); } else if (param_2 == 0x107) { FUN_18124a040(param_1,0x20e); } else if (param_2 == 0x37) { FUN_18124a040(param_1,0x6e); } else if (param_2 == 0x3f) { FUN_18124a040(param_1,0x7e); } else if (param_2 == 0x137) { FUN_18124a040(param_1,0x26e); } else if (param_2 == 0x13f) { FUN_18124a040(param_1,0x27e); } else if (param_2 == 0x633) { FUN_18124a040(param_1,0xc66); } else if (param_2 == 0x63b) { FUN_18124a040(param_1,0xc76); } else if (param_2 == 0x637) { FUN_18124a040(param_1,0x300c0e); } else if (param_2 == 0xf7) { FUN_18124a040(param_1,0x1ee); } else if (param_2 == 0x63f) { FUN_18124a040(param_1,0x300c1e); } else if (param_2 == 0xff) { FUN_18124a040(param_1,0x1fe); } else if (param_2 == 0xf00000) { FUN_1812b46a0(param_1,1); } else if (param_2 == 0x33) { FUN_18124a040(param_1,0x66); } else if (param_2 == 0x300063f) { FUN_18124a040(param_1,0x30300c1e); } else if (param_2 == 0x3000637) { FUN_18124a040(param_1,0x30300c0e); } else if (param_2 == 0x100000) { FUN_18124a040(param_1,0x1000000); } else if (param_2 == 0x7c000f00000) { FUN_1812b46a0(param_1,2); } else { if (param_2 != 0x3ffc000f00000) { puVar9 = (ulonglong *)0x0; uVar6 = 4; uVar8 = 0xffffffff; uVar7 = 0; local_98 = (ulonglong *)0x0; local_80 = 4; local_78 = 0xffffffff; local_74 = 0; local_90 = 0; uStack_88 = 0; FUN_18124a040(&local_70); puVar5 = local_68; if (local_70 != (undefined1 *)0x0) { puVar5 = local_70; } puVar3 = puVar9; if (-1 < local_50) { do { uVar4 = (uint)puVar3; if ((*(uint *)(puVar5 + (longlong)((int)uVar4 >> 5) * 4) >> (uVar4 & 0x1f) & 1) != 0) goto joined_r0x0001811333e4; puVar3 = (ulonglong *)(ulonglong)(uVar4 + 1); } while ((int)(uVar4 + 1) <= local_50); } goto LAB_1811334aa; } FUN_1812b46a0(param_1,3); } joined_r0x0001811333e4: while (uVar4 != 0xffffffff) { uVar4 = (uint)puVar3; uVar2 = FUN_181133ae0(param_2,1L << ((byte)puVar3 & 0x3f)); if (0 < (int)uVar2) { if ((int)uVar8 < (int)uVar2) { FUN_18123d8b0(&local_98,(longlong)((int)uVar2 >> 5) + 1); local_78 = uVar2; puVar9 = local_98; } puVar3 = &local_90; if (puVar9 != (ulonglong *)0x0) { puVar3 = puVar9; } puVar1 = (uint *)((longlong)puVar3 + (longlong)((int)uVar2 >> 5) * 4); *puVar1 = *puVar1 | 1 << (uVar2 & 0x1f); puVar9 = local_98; uVar8 = local_78; } puVar5 = local_68; if (local_70 != (undefined1 *)0x0) { puVar5 = local_70; } do { uVar4 = uVar4 + 1; uVar6 = local_80; uVar7 = local_74; if (local_50 < (int)uVar4) goto LAB_1811334aa; puVar3 = (ulonglong *)(ulonglong)uVar4; } while ((*(uint *)(puVar5 + (longlong)((int)uVar4 >> 5) * 4) >> (uVar4 & 0x1f) & 1) == 0); } LAB_1811334aa: *param_1 = (ulonglong)puVar9; param_1[3] = uVar6; param_1[1] = local_90; param_1[2] = uStack_88; *(uint *)(param_1 + 4) = uVar8; *(undefined1 *)((longlong)param_1 + 0x24) = uVar7; /* WARNING: Subroutine does not return */ free(local_70); } ############ FUN_ 181133ae0 size=1646 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181133ae0(undefined8 param_1,ulonglong param_2) { undefined8 uVar1; undefined1 auStack_58 [32]; void *local_38 [5]; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; if (param_2 < 0x2000001) { if (param_2 == 0x2000000) { } if (param_2 < 0x1001) { if (param_2 == 0x1000) { } if (param_2 < 0x41) { if (param_2 == 0x40) { } switch(param_2) { case 1: case 2: case 4: case 8: case 0x10: case 0x20: } } else { if (param_2 == 0x80) { } if (param_2 == 0x100) { } if (param_2 == 0x200) { } if (param_2 == 0x400) { } if (param_2 == 0x800) { } } } else if (param_2 < 0x80001) { if (param_2 == 0x80000) { } if (param_2 < 0x10001) { if (param_2 == 0x10000) { } if (param_2 == 0x2000) { } if (param_2 == 0x4000) { } if (param_2 == 0x8000) { } } else { if (param_2 == 0x20000) { } if (param_2 == 0x40000) { } } } else { if (param_2 == 0x100000) { } if (param_2 == 0x200000) { } if (param_2 == 0x400000) { } if (param_2 == 0x800000) { } if (param_2 == 0x1000000) { } } } else if (param_2 < 0x4000000001) { if (param_2 == 0x4000000000) { } if (param_2 < 0x100000001) { if (param_2 == 0x100000000) { } if (param_2 < 0x20000001) { if (param_2 == 0x20000000) { } if (param_2 == 0x4000000) { } if (param_2 == 0x8000000) { } if (param_2 == 0x10000000) { } } else { if (param_2 == 0x40000000) { } if (param_2 == 0x80000000) { } } } else { if (param_2 == 0x200000000) { } if (param_2 == 0x400000000) { } if (param_2 == 0x800000000) { } if (param_2 == 0x1000000000) { } if (param_2 == 0x2000000000) { } } } else if (param_2 < 0x100000000001) { if (param_2 == 0x100000000000) { } if (param_2 == 0x8000000000) { } if (param_2 == 0x10000000000) { } if (param_2 == 0x20000000000) { } if (param_2 == 0x40000000000) { } if (param_2 == 0x80000000000) { } } else { if (param_2 == 0x200000000000) { } if (param_2 == 0x400000000000) { } if (param_2 == 0x800000000000) { } if (param_2 == 0x1000000000000) { } if (param_2 == 0x2000000000000) { } } uVar1 = FUN_18124a040(local_38); FUN_181249f70(uVar1,0); /* WARNING: Subroutine does not return */ free(local_38[0]); } ############ FUN_ 1812b46a0 size=231 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812b46a0(undefined8 *param_1,int param_2) { uint *puVar1; undefined8 *puVar2; uint uVar3; int iVar4; undefined1 auStack_58 [32]; undefined8 *local_38; undefined8 local_30; undefined8 uStack_28; undefined8 local_20; uint local_18; undefined1 local_14; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; if (param_2 != 0) { FUN_18124a040(&local_38,0xf000000); uVar3 = 0x1e; for (iVar4 = (param_2 + 1) * (param_2 + 1) + -5; -1 < iVar4; iVar4 = iVar4 + -1) { if (-1 < (int)uVar3) { if ((int)local_18 < (int)uVar3) { FUN_18123d8b0(&local_38,(longlong)((int)uVar3 >> 5) + 1); local_18 = uVar3; } puVar2 = &local_30; if (local_38 != (undefined8 *)0x0) { puVar2 = local_38; } puVar1 = (uint *)((longlong)puVar2 + (longlong)((int)uVar3 >> 5) * 4); *puVar1 = *puVar1 | 1 << (uVar3 & 0x1f); } uVar3 = uVar3 + 1; } *param_1 = local_38; param_1[3] = local_20; *(uint *)(param_1 + 4) = local_18; *(undefined1 *)((longlong)param_1 + 0x24) = local_14; param_1[1] = local_30; param_1[2] = uStack_28; /* WARNING: Subroutine does not return */ free((void *)0x0); } FUN_18124a040(param_1,0x1000000); } ############ FUN_ 1812b1fe0 size=215 ############ undefined8 FUN_1812b1fe0(undefined8 param_1,int param_2) { if (param_2 == 1) { FUN_18124a040(param_1,8); return param_1; } if (param_2 == 2) { FUN_18124a040(param_1,6); return param_1; } if (param_2 == 3) { FUN_18124a040(param_1,0xe); return param_1; } if (param_2 == 4) { FUN_18124a040(param_1,0x66); return param_1; } if (param_2 == 5) { FUN_18124a040(param_1,0x6e); return param_1; } if (param_2 == 6) { FUN_18124a040(param_1,0x7e); return param_1; } if (param_2 == 7) { FUN_18124a040(param_1,0x300c0e); return param_1; } if (param_2 == 8) { FUN_18124a040(param_1,0x300c1e); return param_1; } FUN_1812b20c0(); return param_1; } ############ FUN_ 18053f520 size=215 ############ undefined8 FUN_18053f520(undefined8 param_1,int param_2) { if (param_2 == 1) { FUN_18124a040(param_1,8); return param_1; } if (param_2 == 2) { FUN_18124a040(param_1,6); return param_1; } if (param_2 == 3) { FUN_18124a040(param_1,0xe); return param_1; } if (param_2 == 4) { FUN_18124a040(param_1,0x66); return param_1; } if (param_2 == 5) { FUN_18124a040(param_1,0x6e); return param_1; } if (param_2 == 6) { FUN_18124a040(param_1,0x7e); return param_1; } if (param_2 == 7) { FUN_18124a040(param_1,0x1ee); return param_1; } if (param_2 == 8) { FUN_18124a040(param_1,0x1fe); return param_1; } FUN_1812b20c0(); return param_1; } ############ FUN_ 1812b2f30 size=22 ############ undefined8 FUN_1812b2f30(undefined8 param_1,undefined4 param_2) { FUN_18124a040(param_1,param_2); return param_1; } ############ FUN_ 1812b47a0 size=25 ############ undefined8 FUN_1812b47a0(undefined8 param_1) { FUN_18124a040(param_1,0x66); return param_1; } ############ FUN_ 1812b47c0 size=25 ############ undefined8 FUN_1812b47c0(undefined8 param_1) { FUN_18124a040(param_1,0x30300c1e); return param_1; } ############ FUN_ 1812b47e0 size=25 ############ undefined8 FUN_1812b47e0(undefined8 param_1) { FUN_18124a040(param_1,0x30300c0e); return param_1; } ############ FUN_ 1812b4800 size=25 ############ undefined8 FUN_1812b4800(undefined8 param_1) { FUN_18124a040(param_1,0x1fe); return param_1; } ############ FUN_ 1812b4820 size=25 ############ undefined8 FUN_1812b4820(undefined8 param_1) { FUN_18124a040(param_1,0x300c1e); return param_1; } ############ FUN_ 1812b4840 size=25 ############ undefined8 FUN_1812b4840(undefined8 param_1) { FUN_18124a040(param_1,0x1ee); return param_1; } ############ FUN_ 1812b4860 size=25 ############ undefined8 FUN_1812b4860(undefined8 param_1) { FUN_18124a040(param_1,0x300c0e); return param_1; } ############ FUN_ 1812b4880 size=25 ############ undefined8 FUN_1812b4880(undefined8 param_1) { FUN_18124a040(param_1,0xc76); return param_1; } ############ FUN_ 1812b48a0 size=25 ############ undefined8 FUN_1812b48a0(undefined8 param_1) { FUN_18124a040(param_1,0xc66); return param_1; } ############ FUN_ 1812b48c0 size=25 ############ undefined8 FUN_1812b48c0(undefined8 param_1) { FUN_18124a040(param_1,0x27e); return param_1; } ############ FUN_ 1812b48e0 size=25 ############ undefined8 FUN_1812b48e0(undefined8 param_1) { FUN_18124a040(param_1,0x26e); return param_1; } ############ FUN_ 1812b4900 size=25 ############ undefined8 FUN_1812b4900(undefined8 param_1) { FUN_18124a040(param_1,0x7e); return param_1; } ############ FUN_ 1812b4920 size=25 ############ undefined8 FUN_1812b4920(undefined8 param_1) { FUN_18124a040(param_1,0x6e); return param_1; } ############ FUN_ 1812b4940 size=25 ############ undefined8 FUN_1812b4940(undefined8 param_1) { FUN_18124a040(param_1,0x20e); return param_1; } ############ FUN_ 1812b4960 size=25 ############ undefined8 FUN_1812b4960(undefined8 param_1) { FUN_18124a040(param_1,0x206); return param_1; } ############ FUN_ 1812b4980 size=25 ############ undefined8 FUN_1812b4980(undefined8 param_1) { FUN_18124a040(param_1,0xe); return param_1; } ############ FUN_ 1812b49a0 size=25 ############ undefined8 FUN_1812b49a0(undefined8 param_1) { FUN_18124a040(param_1,6); return param_1; } ############ FUN_ 1812b49c0 size=25 ############ undefined8 FUN_1812b49c0(undefined8 param_1) { FUN_18124a040(param_1,8); return param_1; } ############ FUN_ 181363800 size=537 ############ void FUN_181363800(undefined8 param_1) { longlong lVar1; undefined8 uVar2; undefined1 auStack_5d8 [32]; undefined1 local_5b8; undefined4 local_578; undefined8 local_500; undefined1 local_4e8 [8]; undefined1 local_4e0 [8]; undefined1 local_4d8 [8]; undefined1 local_4d0 [56]; undefined1 *local_498; undefined1 local_400 [16]; undefined1 local_3f0 [16]; undefined8 local_3e0; undefined8 local_3d8; undefined8 local_3d0; undefined8 local_3c8; undefined1 local_3c0 [16]; undefined1 local_3b0 [24]; undefined8 local_398; undefined8 local_390; undefined1 local_350 [568]; undefined1 local_118 [40]; undefined1 local_f0 [40]; void *local_c8 [16]; ulonglong local_48; local_390 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_5d8; local_578 = 0; local_498 = local_350; local_500 = param_1; local_398 = param_1; FUN_18049c4e0(local_4d0,"Output"); FUN_18049c4e0(local_4d8,"Sidechain Input"); FUN_18049c4e0(local_4e0,"Main Input"); local_3e0 = 0; local_3d8 = 0; local_3d0 = 0; local_3c8 = 0; FUN_18124a040(local_f0,6); FUN_18124a040(local_118,6); FUN_18124a040(local_c8,6); local_578 = 7; lVar1 = FUN_1804d72a0(&local_3e0); FUN_1804db640(local_400,lVar1); FUN_1804db640(local_3f0,lVar1 + 0x10); local_578 = 0xf; local_5b8 = 1; FUN_1812bf5a0(local_400,1,local_4e0,local_c8); FUN_1804db640(local_3c0,local_400); FUN_1804db640(local_3b0,local_3f0); local_578 = 0x1f; local_5b8 = 1; FUN_1812bf5a0(local_3c0,1,local_4d8,local_118); local_5b8 = 1; uVar2 = FUN_1812bf4c0(local_3c0,local_350,local_4d0,local_f0); FUN_18049c4e0(local_4e8,"SOOTHE2STATE"); FUN_18052caf0(param_1,local_4e8,uVar2); FUN_1804d7040(local_3c0); local_578 = 7; FUN_1804d7040(local_400); FUN_1804d7040(&local_3e0); /* WARNING: Subroutine does not return */ free(local_c8[0]); } ############ FUN_ 180549c30 size=229 ############ longlong * FUN_180549c30(longlong *param_1,longlong *param_2) { int iVar1; longlong lVar2; int *piVar3; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(*param_2 + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = *param_1; *param_1 = *param_2; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } if ((*(uint *)(param_2[1] + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(param_2[1] + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = param_1[1]; param_1[1] = param_2[1]; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } param_1[2] = param_2[2]; *(int *)(param_1 + 3) = (int)param_2[3]; FUN_18123d980(param_1 + 4,param_2 + 4); *(char *)(param_1 + 9) = (char)param_2[9]; FUN_18123d980(param_1 + 10,param_2 + 10); *(char *)(param_1 + 0xf) = (char)param_2[0xf]; return param_1; } ############ FUN_ 18054c7c0 size=1901 ############ longlong * FUN_18054c7c0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, double param_5,int param_6) { bool bVar1; bool bVar2; char cVar3; int iVar4; undefined4 uVar5; longlong *plVar6; longlong lVar7; uint uVar8; uint *puVar9; longlong lVar10; undefined4 local_res8 [2]; longlong local_e8; longlong local_e0; longlong local_d8; undefined1 local_d0 [8]; longlong local_c8; longlong *local_c0; longlong local_b8; longlong local_b0; undefined1 local_a8 [8]; longlong local_a0; longlong local_98; undefined8 local_90; undefined4 *local_88; longlong local_80; undefined4 *local_78; longlong local_70; longlong local_68; longlong local_60; longlong local_58; undefined1 local_50 [8]; longlong local_48; local_90 = 0xfffffffffffffffe; (**(code **)(*param_1 + 0x38))(); puVar9 = (uint *)(param_1[0x47] + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } param_1[0x47] = (longlong)&DAT_1821dbf98; if (((*(int *)((longlong)param_1 + 0x27c) == 0) && (param_1[0x48] != 0)) && (param_1[0x49] != 0)) { FUN_18049c4e0(&local_e8,"The input and output devices don\'t share a common sample rate!"); lVar7 = DAT_1826739f8; local_88 = &DAT_182673984; do { LOCK(); uVar8 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar8 != 0); if (DAT_1826739f8 == 0) { local_e0 = local_e8; uVar8 = *(uint *)(local_e8 + -0x10); LAB_18054c921: if ((uVar8 & 0x30000000) == 0) { LOCK(); *(int *)(local_e0 + -0x10) = *(int *)(local_e0 + -0x10) + 1; UNLOCK(); } } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_e8,*(undefined1 *)(DAT_1826739f8 + 0x38), 0), -1 < iVar4)) { iVar4 = FUN_1812498b0(lVar7 + 0x18,local_e8,*(undefined1 *)(lVar7 + 0x38),0); if (iVar4 < 0) { local_e0 = local_e8; uVar8 = *(uint *)(local_e8 + -0x10); } else { plVar6 = (longlong *)FUN_181249970(lVar7 + 0x28,iVar4); local_e0 = *plVar6; uVar8 = *(uint *)(local_e0 + -0x10); } goto LAB_18054c921; } FUN_181234570(*(undefined8 *)(lVar7 + 0x40),&local_e0,&local_e8,&local_e8); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar9 = (uint *)(local_e8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } lVar7 = param_1[0x47]; lVar10 = local_e0; local_e0 = lVar7; local_80 = lVar7; LAB_18054c972: param_1[0x47] = lVar10; puVar9 = (uint *)(lVar7 + -0x10); } else { if (param_6 < 1) { iVar4 = *(int *)((longlong)param_1 + 0x264); } else { iVar4 = param_6; if (param_6 < (int)param_1[0x4c]) { iVar4 = (int)param_1[0x4c]; } } *(int *)((longlong)param_1 + 0x294) = iVar4; if (param_5 <= 0.0) { param_5 = (double)param_1[0x4b]; } param_1[0x53] = (longlong)param_5; FUN_18123d980(param_1 + 0x5b,param_3); FUN_18123d980(param_1 + 0x60,param_4); lVar7 = param_1[0x48]; bVar2 = false; if (lVar7 != 0) { cVar3 = FUN_18054a740(lVar7,param_1[0x53],param_3,param_6); bVar1 = bVar2; if (cVar3 != '\0') { if (*(int *)(lVar7 + 0x28) != 0) { local_c0 = *(longlong **)(lVar7 + 0x10); if (*(longlong **)(lVar7 + 0xf8) != (longlong *)0x0) { (**(code **)(**(longlong **)(lVar7 + 0xf8) + 0x10))(); } *(undefined8 *)(lVar7 + 0xf8) = 0; iVar4 = (**(code **)(*local_c0 + 0x70))(local_c0,&DAT_1824adda0,lVar7 + 0xf8); if (iVar4 < 0) goto LAB_18054ca8b; } bVar1 = true; } LAB_18054ca8b: if (bVar1) goto LAB_18054cb36; FUN_18049c4e0(&local_d8,"Couldn\'t open the input device!"); local_78 = &DAT_182673984; do { LOCK(); uVar8 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar8 != 0); if (DAT_1826739f8 == 0) { local_c8 = local_d8; if ((*(uint *)(local_d8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d8 + -0x10) = *(int *)(local_d8 + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(DAT_1826739f8,&local_c8,&local_d8,&local_d8); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar9 = (uint *)(local_d8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } lVar7 = param_1[0x47]; lVar10 = local_c8; local_c8 = lVar7; local_70 = lVar7; goto LAB_18054c972; } LAB_18054cb36: lVar7 = param_1[0x49]; if (lVar7 == 0) { LAB_18054cbe8: if ((char)param_1[0x4a] != '\0') { lVar7 = param_1[0x48]; if (((lVar7 != 0) && (param_1[0x49] != 0)) && (*(int *)(lVar7 + 0x98) != *(int *)(param_1[0x49] + 0x98))) { (**(code **)(*param_1 + 0x38))(param_1); plVar6 = (longlong *) FUN_181249dc0(&local_b0,"Couldn\'t open the output device (buffer size mismatch)" ); local_60 = param_1[0x47]; param_1[0x47] = *plVar6; *plVar6 = local_60; puVar9 = (uint *)(local_b0 + -0x10); goto LAB_18054c97d; } if (param_1[0x49] == 0) { uVar5 = *(undefined4 *)(lVar7 + 0x98); } else { uVar5 = *(undefined4 *)(param_1[0x49] + 0x98); } *(undefined4 *)((longlong)param_1 + 0x294) = uVar5; } if (param_1[0x48] != 0) { ResetEvent(*(HANDLE *)(param_1[0x48] + 0x58)); } if (param_1[0x49] != 0) { ResetEvent(*(HANDLE *)(param_1[0x49] + 0x58)); } *(undefined1 *)((longlong)param_1 + 0x2d5) = 0; FUN_18122b2c0(param_1 + 3,8); if (DAT_182673a00 == (HANDLE)0x0) { Sleep(5); } else { WaitForSingleObject(DAT_182673a00,5); } lVar7 = param_1[0x48]; if ((lVar7 != 0) && (*(longlong *)(lVar7 + 0x10) != 0)) { *(int *)(param_1 + 0x4d) = *(int *)(lVar7 + 0x38) + *(int *)((longlong)param_1 + 0x294); iVar4 = *(int *)(lVar7 + 0x98) + *(int *)((longlong)param_1 + 0x294); *(int *)(lVar7 + 0x110) = iVar4; uVar8 = iVar4 - 1; uVar8 = uVar8 | (int)uVar8 >> 1; uVar8 = uVar8 | (int)uVar8 >> 2; uVar8 = uVar8 | (int)uVar8 >> 4; uVar8 = uVar8 | (int)uVar8 >> 8; uVar8 = (int)uVar8 >> 0x10 | uVar8; *(uint *)(lVar7 + 0x114) = uVar8; FUN_18124a200(lVar7 + 0x100,(longlong)(int)((uVar8 + 1) * *(int *)(lVar7 + 0xa0)),1); LOCK(); *(undefined4 *)(lVar7 + 0x11c) = 0; UNLOCK(); LOCK(); *(undefined4 *)(lVar7 + 0x120) = 0; UNLOCK(); *(undefined4 *)(lVar7 + 0x118) = 0; iVar4 = (**(code **)(**(longlong **)(lVar7 + 0x10) + 0x50))(); if (iVar4 < 0) { (**(code **)(*param_1 + 0x38))(param_1); plVar6 = (longlong *)FUN_181249dc0(&local_a0,"Couldn\'t start the input device!"); local_58 = param_1[0x47]; param_1[0x47] = *plVar6; *plVar6 = local_58; puVar9 = (uint *)(local_a0 + -0x10); goto LAB_18054c97d; } iVar4 = (**(code **)(**(longlong **)(lVar7 + 0xf8) + 0x18)) (*(longlong **)(lVar7 + 0xf8),local_a8,local_res8,local_d0,0,0); while (iVar4 != 0x8890001) { (**(code **)(**(longlong **)(lVar7 + 0xf8) + 0x20)) (*(longlong **)(lVar7 + 0xf8),local_res8[0]); iVar4 = (**(code **)(**(longlong **)(lVar7 + 0xf8) + 0x18)) (*(longlong **)(lVar7 + 0xf8),local_a8,local_res8,local_d0,0,0); } } lVar7 = param_1[0x49]; if ((lVar7 != 0) && (*(longlong *)(lVar7 + 0x10) != 0)) { *(int *)((longlong)param_1 + 0x26c) = *(int *)(lVar7 + 0x38) + *(int *)((longlong)param_1 + 0x294); lVar7 = param_1[0x49]; uVar5 = FUN_18054b6f0(lVar7); iVar4 = (**(code **)(**(longlong **)(lVar7 + 0xf8) + 0x18)) (*(longlong **)(lVar7 + 0xf8),uVar5,local_50); if (-1 < iVar4) { (**(code **)(**(longlong **)(lVar7 + 0xf8) + 0x20))(*(longlong **)(lVar7 + 0xf8),uVar5,2); } iVar4 = (**(code **)(**(longlong **)(lVar7 + 0x10) + 0x50))(); if (iVar4 < 0) { (**(code **)(*param_1 + 0x38))(param_1); plVar6 = (longlong *)FUN_181249dc0(&local_98,"Couldn\'t start the output device!"); local_48 = param_1[0x47]; param_1[0x47] = *plVar6; *plVar6 = local_48; puVar9 = (uint *)(local_98 + -0x10); goto LAB_18054c97d; } } *(undefined1 *)(param_1 + 0x52) = 1; lVar7 = param_1[0x47]; *param_2 = lVar7; uVar8 = *(uint *)(lVar7 + -0x10); goto LAB_18054cf03; } cVar3 = FUN_18054a740(lVar7,param_1[0x53],param_4,param_6); if (cVar3 != '\0') { if (*(int *)(lVar7 + 0x28) != 0) { plVar6 = *(longlong **)(lVar7 + 0x10); if (*(longlong **)(lVar7 + 0xf8) != (longlong *)0x0) { (**(code **)(**(longlong **)(lVar7 + 0xf8) + 0x10))(); } *(undefined8 *)(lVar7 + 0xf8) = 0; iVar4 = (**(code **)(*plVar6 + 0x70))(plVar6,&DAT_1824ad5c0,lVar7 + 0xf8); if (iVar4 < 0) goto LAB_18054cba6; } bVar2 = true; } LAB_18054cba6: if (bVar2) goto LAB_18054cbe8; (**(code **)(*param_1 + 0x38))(param_1); plVar6 = (longlong *)FUN_181249dc0(&local_b8,"Couldn\'t open the output device!"); local_68 = param_1[0x47]; param_1[0x47] = *plVar6; *plVar6 = local_68; puVar9 = (uint *)(local_b8 + -0x10); } LAB_18054c97d: if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } lVar7 = param_1[0x47]; *param_2 = lVar7; uVar8 = *(uint *)(lVar7 + -0x10); LAB_18054cf03: if ((uVar8 & 0x30000000) == 0) { LOCK(); *(int *)(lVar7 + -0x10) = *(int *)(lVar7 + -0x10) + 1; UNLOCK(); } return param_2; } ############ FUN_ 18123d0b0 size=707 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18123d0b0(longlong *param_1,longlong *param_2) { uint uVar1; char cVar2; int iVar3; undefined8 uVar4; uint *puVar5; int iVar6; ulonglong uVar7; longlong lVar8; ulonglong uVar9; undefined1 *puVar10; ulonglong uVar11; longlong *plVar12; longlong lVar13; undefined1 auStack_68 [32]; undefined8 local_48; undefined1 *local_40; undefined1 local_38 [24]; int local_20; char local_1c; ulonglong local_18; local_48 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; if (param_1 == param_2) { uVar4 = FUN_18123db10(&local_40); FUN_18123d0b0(param_1,uVar4); /* WARNING: Subroutine does not return */ free(local_40); } if (*(char *)((longlong)param_2 + 0x24) != '\0') { plVar12 = (longlong *)*param_2; if (plVar12 == (longlong *)0x0) { plVar12 = param_2 + 1; } iVar3 = (int)param_2[4] >> 5; uVar7 = (ulonglong)iVar3; uVar9 = uVar7; if (-1 < iVar3) { LAB_18123d140: uVar1 = *(uint *)((longlong)plVar12 + uVar7 * 4); if (uVar1 == 0) goto code_r0x00018123d14c; iVar3 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar3 == 0; iVar3 = iVar3 + -1) { } } iVar3 = (int)uVar9 * 0x20 + iVar3; goto LAB_18123d159; } LAB_18123d154: iVar3 = -1; LAB_18123d159: if (-1 < iVar3) { FUN_18123db10(&local_40,param_2); if (local_1c == '\0') { puVar10 = local_38; if (local_40 != (undefined1 *)0x0) { puVar10 = local_40; } uVar7 = (ulonglong)(local_20 >> 5); uVar9 = uVar7; if (-1 < local_20 >> 5) { LAB_18123d1a0: uVar1 = *(uint *)(puVar10 + uVar7 * 4); if (uVar1 == 0) goto code_r0x00018123d1a8; iVar3 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar3 == 0; iVar3 = iVar3 + -1) { } } iVar3 = (int)uVar9 * 0x20 + iVar3; goto LAB_18123d1b5; } LAB_18123d1b0: iVar3 = -1; LAB_18123d1b5: local_1c = 1; if (-1 < iVar3) goto LAB_18123d1c3; } local_1c = 0; LAB_18123d1c3: FUN_18123cdc0(param_1,&local_40); /* WARNING: Subroutine does not return */ free(local_40); } } cVar2 = FUN_18123d4d0(param_1); if (cVar2 == '\0') { iVar3 = (int)param_1[4]; if ((int)param_1[4] < (int)param_2[4]) { iVar3 = (int)param_2[4]; } *(int *)(param_1 + 4) = iVar3 + 1; uVar9 = (longlong)(iVar3 + 1 >> 5) + 1; puVar5 = (uint *)FUN_18123d8b0(param_1,uVar9); plVar12 = (longlong *)*param_2; if (plVar12 == (longlong *)0x0) { plVar12 = param_2 + 1; } uVar7 = 0; if (uVar9 != 0) { lVar13 = (longlong)plVar12 - (longlong)puVar5; uVar11 = uVar7; do { lVar8 = uVar7 + *puVar5; if (uVar11 < (ulonglong)param_2[3]) { lVar8 = lVar8 + (ulonglong)*(uint *)(lVar13 + (longlong)puVar5); } *puVar5 = (uint)lVar8; uVar7 = lVar8 >> 0x20; uVar11 = uVar11 + 1; puVar5 = puVar5 + 1; } while (uVar11 < uVar9); } plVar12 = (longlong *)*param_1; if (plVar12 == (longlong *)0x0) { plVar12 = param_1 + 1; } iVar3 = (int)param_1[4] >> 5; lVar13 = (longlong)iVar3; if (-1 < iVar3) { do { uVar1 = *(uint *)((longlong)plVar12 + lVar13 * 4); if (uVar1 != 0) { iVar6 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar6 == 0; iVar6 = iVar6 + -1) { } } iVar6 = iVar3 * 0x20 + iVar6; goto LAB_18123d365; } iVar3 = iVar3 + -1; lVar13 = lVar13 + -1; } while (-1 < lVar13); } iVar6 = -1; LAB_18123d365: *(int *)(param_1 + 4) = iVar6; } iVar3 = FUN_18123c4d0(param_1,param_2); if (-1 < iVar3) { FUN_18123d470(param_1); FUN_18123cdc0(param_1,param_2); FUN_18123d470(param_1); } FUN_18123db10(&local_40,param_1); if (local_1c == '\0') { puVar10 = local_38; if (local_40 != (undefined1 *)0x0) { puVar10 = local_40; } uVar7 = (ulonglong)(local_20 >> 5); uVar9 = uVar7; if (-1 < local_20 >> 5) { LAB_18123d260: uVar1 = *(uint *)(puVar10 + uVar7 * 4); if (uVar1 == 0) goto code_r0x00018123d268; iVar3 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> iVar3 == 0; iVar3 = iVar3 + -1) { } } iVar3 = (int)uVar9 * 0x20 + iVar3; goto LAB_18123d275; } LAB_18123d270: iVar3 = -1; LAB_18123d275: local_1c = 1; if (-1 < iVar3) goto LAB_18123d283; } local_1c = 0; LAB_18123d283: FUN_18123d980(param_1,param_2); FUN_18123cdc0(param_1,&local_40); /* WARNING: Subroutine does not return */ free(local_40); code_r0x00018123d14c: uVar7 = uVar7 - 1; uVar9 = (ulonglong)((int)uVar9 - 1); if ((longlong)uVar7 < 0) goto LAB_18123d154; goto LAB_18123d140; code_r0x00018123d1a8: uVar9 = (ulonglong)((int)uVar9 - 1); uVar7 = uVar7 - 1; if ((longlong)uVar7 < 0) goto LAB_18123d1b0; goto LAB_18123d1a0; code_r0x00018123d268: uVar9 = (ulonglong)((int)uVar9 - 1); uVar7 = uVar7 - 1; if ((longlong)uVar7 < 0) goto LAB_18123d270; goto LAB_18123d260; } ############ FUN_ 1812bf5a0 size=267 ############ void FUN_1812bf5a0(longlong *param_1,char param_2,longlong *param_3,undefined8 param_4) { int *piVar1; uint uVar2; longlong *plVar3; bool bVar4; undefined1 auStack_88 [32]; longlong local_68; void *local_60; undefined8 local_58; undefined8 local_50; undefined8 local_48; undefined4 local_40; undefined1 local_3c; undefined1 local_38; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_88; local_48 = 4; local_60 = (void *)0x0; local_3c = 0; local_58 = 0; local_50 = 0; local_40 = 0xffffffff; if ((*(uint *)(*param_3 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*param_3 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } local_68 = *param_3; LOCK(); UNLOCK(); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } FUN_18123d980(&local_60,param_4); local_38 = 1; if (param_2 == '\0') { param_1 = param_1 + 2; } FUN_1804de510(param_1,*(int *)((longlong)param_1 + 0xc) + 1); plVar3 = (longlong *)((longlong)*(int *)((longlong)param_1 + 0xc) * 0x38 + *param_1); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + 1; *plVar3 = local_68; if ((*(uint *)(local_68 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_68 + -0x10) = *(int *)(local_68 + -0x10) + 1; UNLOCK(); } FUN_18123db10(plVar3 + 1,&local_60); *(undefined1 *)(plVar3 + 6) = local_38; /* WARNING: Subroutine does not return */ free(local_60); } ############ FUN_ 1812c0470 size=314 ############ void FUN_1812c0470(longlong param_1) { uint uVar1; undefined8 *puVar2; uint *puVar3; longlong lVar4; longlong lVar5; longlong local_res8; longlong local_res10; undefined8 local_res18; undefined8 local_res20; puVar3 = (uint *)(*(longlong *)(param_1 + 0xf0) + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } *(undefined1 **)(param_1 + 0xf0) = &DAT_1821dbf98; puVar3 = (uint *)(*(longlong *)(param_1 + 0xf8) + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } *(undefined1 **)(param_1 + 0xf8) = &DAT_1821dbf98; lVar5 = 0; if (0 < *(int *)(param_1 + 0xdc)) { lVar4 = lVar5; if (*(int *)(param_1 + 0xdc) != 0) { lVar4 = **(longlong **)(param_1 + 0xd0); } puVar2 = (undefined8 *)FUN_1812b22b0(lVar4 + 0x10,&local_res8); local_res18 = *(undefined8 *)(param_1 + 0xf0); *(undefined8 *)(param_1 + 0xf0) = *puVar2; *puVar2 = local_res18; puVar3 = (uint *)(local_res8 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } } if (0 < *(int *)(param_1 + 0xec)) { if (*(int *)(param_1 + 0xec) != 0) { lVar5 = **(longlong **)(param_1 + 0xe0); } puVar2 = (undefined8 *)FUN_1812b22b0(lVar5 + 0x10,&local_res10); local_res20 = *(undefined8 *)(param_1 + 0xf8); *(undefined8 *)(param_1 + 0xf8) = *puVar2; *puVar2 = local_res20; puVar3 = (uint *)(local_res10 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } } return; } ############ FUN_ 18048a970 size=126 ############ void FUN_18048a970(longlong *param_1,undefined8 param_2,undefined8 *param_3,undefined8 *param_4) { int iVar1; longlong *local_18; undefined1 local_10 [8]; iVar1 = *(int *)((longlong)param_1 + 0xc); while( true ) { if (iVar1 < 1) { return; } iVar1 = iVar1 + -1; if ((*(int *)((longlong)param_1 + 0xc) <= iVar1) && (iVar1 = *(int *)((longlong)param_1 + 0xc) + -1, iVar1 < 0)) break; local_18 = (longlong *)*param_4; (**(code **)(*local_18 + 0xb8))(local_18,local_10,param_4 + 1); FUN_180492ef8(*(undefined8 *)(*param_1 + (longlong)iVar1 * 8),*param_3,&local_18); } return; } ############ FUN_ 18048b3d0 size=219 ############ void FUN_18048b3d0(LPCRITICAL_SECTION param_1,undefined8 param_2,undefined8 param_3, undefined8 *param_4) { int iVar1; undefined8 uVar2; int iVar3; longlong *local_30; undefined1 local_28 [16]; EnterCriticalSection(param_1); EnterCriticalSection(param_1); iVar3 = *(int *)((longlong)¶m_1[1].OwningThread + 4); LeaveCriticalSection(param_1); while (0 < iVar3) { EnterCriticalSection(param_1); iVar1 = *(int *)((longlong)¶m_1[1].OwningThread + 4); LeaveCriticalSection(param_1); iVar3 = iVar3 + -1; if ((iVar1 <= iVar3) && (iVar3 = iVar1 + -1, iVar3 < 0)) break; local_30 = (longlong *)*param_4; (**(code **)(*local_30 + 0xb8))(local_30,local_28,param_4 + 1); EnterCriticalSection(param_1); uVar2 = *(undefined8 *)(*(longlong *)¶m_1[1].LockCount + (longlong)iVar3 * 8); LeaveCriticalSection(param_1); FUN_180492ef8(uVar2,param_3,&local_30); } /* WARNING: Could not recover jumptable at 0x00018048b4a4. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection(param_1); return; } ############ FUN_ 180533de0 size=213 ############ void FUN_180533de0(longlong param_1,uint param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 uVar2; undefined8 uVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; uVar2 = 0; uVar3 = uVar2; if (param_2 < *(uint *)(param_1 + 0x6c)) { uVar3 = *(undefined8 *)(*(longlong *)(param_1 + 0x60) + (longlong)(int)param_2 * 8); } iVar1 = *(int *)(param_1 + 0x2400a4); while (0 < iVar1) { iVar1 = iVar1 + -1; if ((*(int *)(param_1 + 0x2400a4) <= iVar1) && (iVar1 = *(int *)(param_1 + 0x2400a4) + -1, iVar1 < 0)) break; FUN_180492ef8(*(undefined8 *)(*(longlong *)(param_1 + 0x240098) + (longlong)iVar1 * 8),param_2, uVar3,param_4,uVar4); } if (param_2 < *(uint *)(param_1 + 0x6c)) { uVar2 = *(undefined8 *)(*(longlong *)(param_1 + 0x60) + (longlong)(int)param_2 * 8); } iVar1 = *(int *)(param_1 + 0x2400b4); while( true ) { if (iVar1 < 1) { return; } iVar1 = iVar1 + -1; if ((*(int *)(param_1 + 0x2400b4) <= iVar1) && (iVar1 = *(int *)(param_1 + 0x2400b4) + -1, iVar1 < 0)) break; FUN_180492ef8(*(undefined8 *)(*(longlong *)(param_1 + 0x2400a8) + (longlong)iVar1 * 8),param_2, uVar2,param_4,uVar4); } return; } ############ FUN_ 1805383b0 size=174 ############ void FUN_1805383b0(longlong param_1) { int iVar1; longlong lVar2; undefined8 uVar3; int iVar4; LPCRITICAL_SECTION lpCriticalSection; lVar2 = *(longlong *)(param_1 + 8); lpCriticalSection = (LPCRITICAL_SECTION)(lVar2 + 0x570); EnterCriticalSection(lpCriticalSection); EnterCriticalSection(lpCriticalSection); iVar4 = *(int *)(lVar2 + 0x5ac); LeaveCriticalSection(lpCriticalSection); while (0 < iVar4) { EnterCriticalSection(lpCriticalSection); iVar1 = *(int *)(lVar2 + 0x5ac); LeaveCriticalSection(lpCriticalSection); iVar4 = iVar4 + -1; if ((iVar1 <= iVar4) && (iVar4 = iVar1 + -1, iVar4 < 0)) break; EnterCriticalSection(lpCriticalSection); uVar3 = *(undefined8 *)(*(longlong *)(lVar2 + 0x5a0) + (longlong)iVar4 * 8); LeaveCriticalSection(lpCriticalSection); FUN_180492ef8(uVar3); } /* WARNING: Could not recover jumptable at 0x000180538457. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection(lpCriticalSection); return; } ############ FUN_ 180571c20 size=96 ############ void FUN_180571c20(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4) { int iVar1; iVar1 = *(int *)((longlong)param_1 + 0xc); while( true ) { if (iVar1 < 1) { return; } iVar1 = iVar1 + -1; if ((*(int *)((longlong)param_1 + 0xc) <= iVar1) && (iVar1 = *(int *)((longlong)param_1 + 0xc) + -1, iVar1 < 0)) break; FUN_180492ef8(*(undefined8 *)(*param_1 + (longlong)iVar1 * 8),param_3,*param_4); } return; } ############ FUN_ 1805855d0 size=132 ############ void FUN_1805855d0(longlong *param_1,undefined8 param_2,undefined8 param_3,longlong *param_4) { int iVar1; longlong local_res10; iVar1 = *(int *)((longlong)param_1 + 0xc); while( true ) { if (iVar1 < 1) { return; } iVar1 = iVar1 + -1; if ((*(int *)((longlong)param_1 + 0xc) <= iVar1) && (iVar1 = *(int *)((longlong)param_1 + 0xc) + -1, iVar1 < 0)) break; local_res10 = *param_4; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } FUN_180492ef8(*(undefined8 *)(*param_1 + (longlong)iVar1 * 8),param_3,&local_res10); } return; } ############ FUN_ 180585710 size=80 ############ void FUN_180585710(longlong *param_1,undefined8 param_2,undefined8 param_3) { int iVar1; iVar1 = *(int *)((longlong)param_1 + 0xc); while( true ) { if (iVar1 < 1) { return; } iVar1 = iVar1 + -1; if ((*(int *)((longlong)param_1 + 0xc) <= iVar1) && (iVar1 = *(int *)((longlong)param_1 + 0xc) + -1, iVar1 < 0)) break; FUN_180492ef8(*(undefined8 *)(*param_1 + (longlong)iVar1 * 8),param_3); } return; } ############ FUN_ 180585f50 size=80 ############ void FUN_180585f50(longlong *param_1,undefined8 param_2,undefined8 *param_3) { int iVar1; iVar1 = *(int *)((longlong)param_1 + 0xc); while( true ) { if (iVar1 < 1) { return; } iVar1 = iVar1 + -1; if ((*(int *)((longlong)param_1 + 0xc) <= iVar1) && (iVar1 = *(int *)((longlong)param_1 + 0xc) + -1, iVar1 < 0)) break; FUN_180492ef8(*(undefined8 *)(*param_1 + (longlong)iVar1 * 8),*param_3); } return; } ############ FUN_ 181185220 size=542 ############ void FUN_181185220(undefined8 param_1,undefined8 *param_2) { undefined8 *puVar1; int iVar2; longlong *plVar3; undefined8 uVar4; void *_Memory; undefined8 *puVar5; int iVar6; undefined4 uVar7; undefined1 auStack_e8 [32]; undefined1 local_c8; undefined1 local_b8; undefined8 *local_b0; undefined8 local_a8; undefined *local_a0; undefined8 local_98; undefined8 *local_90; undefined1 local_88 [8]; undefined1 local_80 [16]; void *local_70 [3]; ulonglong local_58; undefined4 local_50; ulonglong local_48; local_98 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; local_b0 = (undefined8 *)0x0; local_a8 = 0; local_90 = param_2; local_b0 = (undefined8 *)FUN_180489c00(); puVar1 = (undefined8 *)param_2[1]; for (param_2 = (undefined8 *)*param_2; param_2 != puVar1; param_2 = param_2 + 4) { puVar5 = param_2; if (0xf < (ulonglong)param_2[3]) { puVar5 = (undefined8 *)*param_2; } plVar3 = (longlong *)FUN_18119b4b0(param_1,puVar5); if (*(code **)(*plVar3 + 8) == FUN_1811bf850) { local_a0 = (undefined *)CONCAT44(local_a0._4_4_,(int)plVar3[0x31]); uVar4 = (**(code **)(*plVar3 + 0x88))(plVar3); uVar7 = FUN_180487220(uVar4,local_a0._0_4_); uVar7 = FUN_180487300(uVar4,uVar7); } else { uVar7 = (**(code **)(*plVar3 + 8))(plVar3); } FUN_180487aa0(local_70,param_2); local_c8 = local_b8; local_50 = uVar7; FUN_18048cd70(&local_b0,local_80); if (0xf < local_58) { _Memory = local_70[0]; if ((0xfff < local_58 + 1) && (_Memory = *(void **)((longlong)local_70[0] + -8), 0x1f < (ulonglong)((longlong)local_70[0] + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } local_a0 = &DAT_182673780; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); iVar6 = DAT_1826737bc; LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); while (0 < iVar6) { EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); iVar2 = DAT_1826737bc; LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); iVar6 = iVar6 + -1; if ((iVar2 <= iVar6) && (iVar6 = iVar2 + -1, iVar6 < 0)) break; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); uVar4 = *(undefined8 *)(DAT_1826737b0 + (longlong)iVar6 * 8); LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); FUN_180492ef8(uVar4,&local_b0); } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); FUN_180489460(&local_b0,local_88,*local_b0,local_b0); /* WARNING: Subroutine does not return */ free(local_b0); } ############ FUN_ 1811a3f70 size=196 ############ void FUN_1811a3f70(undefined8 param_1) { undefined8 uVar1; int iVar2; int iVar3; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); iVar3 = DAT_1826737bc; LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); while (0 < iVar3) { EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); iVar2 = DAT_1826737bc; LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); iVar3 = iVar3 + -1; if ((iVar2 <= iVar3) && (iVar3 = iVar2 + -1, iVar3 < 0)) break; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); uVar1 = *(undefined8 *)(DAT_1826737b0 + (longlong)iVar3 * 8); LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); FUN_180492ef8(uVar1,param_1); } /* WARNING: Could not recover jumptable at 0x0001811a402d. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673780); return; } ############ FUN_ 18148ad10 size=120 ############ void FUN_18148ad10(longlong param_1) { int iVar1; longlong local_res8; iVar1 = *(int *)(param_1 + 0x14); while( true ) { if (iVar1 < 1) { return; } iVar1 = iVar1 + -1; if ((*(int *)(param_1 + 0x14) <= iVar1) && (iVar1 = *(int *)(param_1 + 0x14) + -1, iVar1 < 0)) break; local_res8 = *(longlong *)(param_1 + -0xe0); if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } FUN_180492ef8(*(undefined8 *)(*(longlong *)(param_1 + 8) + (longlong)iVar1 * 8),&local_res8, param_1 + -0xe8); } return; } ############ FUN_ 181513e30 size=79 ############ void FUN_181513e30(longlong param_1) { int iVar1; *(undefined1 *)(param_1 + 0x89) = 0; iVar1 = *(int *)(param_1 + 0x5c); while( true ) { if (iVar1 < 1) { return; } iVar1 = iVar1 + -1; if ((*(int *)(param_1 + 0x5c) <= iVar1) && (iVar1 = *(int *)(param_1 + 0x5c) + -1, iVar1 < 0)) break; FUN_180492ef8(*(undefined8 *)(*(longlong *)(param_1 + 0x50) + (longlong)iVar1 * 8), param_1 + -0xe0); } return; } ############ FUN_ 18156dec5 size=2479 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018156e913) */ void FUN_18156dec5(uint *param_1,longlong param_2,undefined8 param_3,longlong param_4, undefined8 param_5,undefined8 param_6,uint param_7,int param_8,undefined8 param_9, undefined8 param_10,undefined4 param_11,longlong param_12) { longlong lVar1; undefined1 *puVar2; uint uVar3; longlong in_RAX; ulonglong uVar4; ulonglong uVar5; undefined8 uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; undefined8 *puVar11; uint uVar12; longlong lVar13; longlong unaff_RBX; undefined1 *puVar14; longlong unaff_RBP; longlong unaff_RSI; undefined8 unaff_RDI; int iVar15; uint uVar16; undefined8 unaff_R12; int *unaff_R15; undefined1 auStackX_8 [32]; uint uStack000000000000003c; uint uStack000000000000005c; undefined8 in_stack_00000080; lVar13 = param_12; uVar4 = param_2 + in_RAX * 4; uVar4 = uVar4 ^ (uVar4 * 5 >> 10) - 0x4412bf96; uVar4 = (uVar4 << 0xf | uVar4 >> 0x31) * 0x10001 + 0x55e5a094; uVar5 = uVar4 >> 5 | uVar4 << 0x3b; uVar4 = uVar5 * 3; uVar5 = uVar5 ^ (uVar4 >> 5 | uVar4 << 0x3b) + 0x6f8f8ebf; uVar4 = uVar5 << 6 | uVar5 >> 0x3a; uVar4 = uVar4 ^ uVar4 * 0x2000 + 0x57b56f2c; *param_1 = (int)(uVar4 >> 0x10) + (int)((uVar4 >> 0x10) << 7) + -0x50d4f592 & 0xd49d8785; uVar7 = (*unaff_R15 + 1) * *unaff_R15 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } if (uVar7 != 0) { uVar6 = rdtsc(); uStack000000000000005c = (uint)uVar6 ^ (uint)((ulonglong)uVar6 >> 0x20); lVar13 = (ulonglong)uStack000000000000005c * 0x10000 + 0x71178dc; FUN_18156dec5((longlong)¶m_6 + 4,lVar13,param_3,(param_4 + param_2) - lVar13); return; } *(int *)(unaff_RBX + 8) = *(int *)(unaff_RBX + 8) + (param_6._4_4_ ^ 0x515231b8); *(int *)(unaff_RBX + 4) = *(int *)(unaff_RBX + 4) + (param_6._4_4_ ^ 0x96adc2a5); uVar4 = *(ulonglong *)(unaff_RBX + 4) >> 9 | *(ulonglong *)(unaff_RBX + 4) << 0x37; uVar7 = (uint)((uVar4 >> 0x1c ^ uVar4) >> 5) & 0x7ffffff; uVar4 = (uVar4 ^ ((ulonglong)uVar7 << 0x1c | (ulonglong)uVar7) << 5) + 0x2373cc3214b2b194; uVar5 = (uVar4 * 0x10000000 | uVar4 >> 0x24) + 0xdddb8dd5b610689d; uVar7 = ((uint)(uVar5 >> 0xd) ^ (uint)uVar5) & 0x1fff; uVar4 = ((ulonglong)uVar7 << 0xd | (ulonglong)uVar7) ^ uVar5; uVar4 = ((uVar4 << 2 | uVar5 >> 0x3e) & 0x6666666666666666 | (uVar4 >> 2 | uVar4 << 0x3e) & 0x9999999999999999) + 0x700c9184d566f20d; uVar7 = (uint)((uVar4 >> 0x12 ^ uVar4) >> 0x11) & 0x3ffff; uVar4 = ((ulonglong)uVar7 << 0x12 | (ulonglong)uVar7) << 0x11 ^ uVar4; *(ulonglong *)(unaff_RBX + 4) = uVar4; *(longlong *)(unaff_RSI + 4) = *(longlong *)(unaff_RSI + 4) + (ulonglong)((uint)(uVar4 >> 2) & 0x4024188); param_6._4_4_ = (uint)(*(ulonglong *)(unaff_RBX + 4) >> 7) & 0x7fffffff; uStack000000000000003c = (uint)(*(ulonglong *)(unaff_RBX + 4) >> 0x1c) ^ 0x25b4edeb; uVar4 = *(ulonglong *)(unaff_RBX + 4) ^ 0xb4b628e36e238810; do { param_11 = 0x332b785c; uVar7 = (*unaff_R15 + 1) * *unaff_R15 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); *(undefined4 *)(unaff_RBP + -0x78) = 0x22b9f5ee; *(uint *)(unaff_RBP + -0x74) = uStack000000000000003c; *(int *)(unaff_RBP + -0x70) = (int)uVar4; uVar7 = *(uint *)(unaff_RBP + -0x74); uVar16 = *(uint *)(unaff_RBP + -0x70) ^ uVar7; uVar8 = uVar16 & 0x2bfd4af1 ^ uVar7; uVar7 = uVar16 & 0xd402b50e ^ uVar7 ^ uVar8; uVar12 = uVar7 & 0xf0f0f0f0 ^ uVar8; uVar8 = uVar7 & 0xf0f0f0f ^ uVar8; uVar5 = (ulonglong)uVar8; uVar7 = *(uint *)(unaff_RBP + -0x78); uVar16 = (uVar7 >> 0xf ^ uVar7) & 0x7fff; uVar7 = (uVar16 << 0xf | uVar16) ^ uVar7; uVar16 = (uVar12 >> 6 ^ uVar12) >> 2 & 3; uVar3 = (uVar8 >> 0x16 ^ uVar8) >> 5 & 3; uVar10 = (uint)(uVar4 >> 0x20); uVar9 = (uVar10 >> 0x14 ^ uVar10) >> 3 & 0x1ff; uVar12 = (uVar16 << 6 | uVar16) << 2 ^ uVar12 ^ uVar7; uVar16 = ~(uVar12 & 0x74575030 ^ uVar7); uVar12 = ~(uVar12 & 0x8ba8afcf ^ uVar7); uVar8 = ~((uVar3 << 0x16 | uVar3) << 5 ^ uVar8); uVar7 = ~((uVar9 << 0x14 | uVar9) << 3 ^ uVar10); uVar3 = (uVar16 << 2 | uVar16 >> 0x1e) & 0x99999999 | (uVar16 >> 2 | uVar16 << 0x1e) & 0x66666666; uVar7 = (uVar7 >> 2 | uVar7 << 0x1e) & 0x99999999 | (uVar7 << 2 | uVar7 >> 0x1e) & 0x66666666; uVar16 = uVar7 << 5 | uVar7 >> 0x1b; uVar7 = uVar16 ^ (uVar3 << 0x15 | uVar3 >> 0xb); uVar3 = (param_8 + 0xe04ed8a1U >> 0x15 | (param_8 + 0xe04ed8a1U) * 0x800) + 0x52af1f54; do { uVar6 = rdtsc(); uStack000000000000005c = (int)uVar6 + (int)((ulonglong)uVar6 >> 0x20) * 8; uVar4 = (ulonglong)uStack000000000000005c * 0x200100; uVar4 = (uVar4 ^ uVar4 >> 0xd) << 0x10 | uVar4 >> 0x30; uVar4 = uVar4 + ((uVar4 >> 5) - 0x3cb2854f); uVar4 = (uVar4 >> 0x10 | uVar4 << 0x30) + uVar4 * 2; uVar4 = uVar4 >> 8 | uVar4 << 0x38; lVar1 = ((uVar4 >> 9) - 0x5a0c7eab) + uVar4 * 4; uVar9 = (uint)lVar1; uVar10 = (*(int *)(unaff_RBP + 0x38) + 1) * *(int *)(unaff_RBP + 0x38) & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); param_9._4_4_ = (uVar9 ^ (uVar9 * 0x20 | (uint)((ulonglong)lVar1 >> 0x3b))) & 0x7fffffff ^ param_6._4_4_; if (param_9._4_4_ < 0x11dd0) { do { uVar9 = (*(int *)(unaff_RBP + 0x38) + 1) * *(int *)(unaff_RBP + 0x38) & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); param_7 = 0x842258c9; *(uint *)(unaff_RBP + -0x38) = (uVar7 & 0x55555555 ^ uVar16) + 0x26edbe0b; *(uint *)(unaff_RBP + -0x34) = ((uVar12 >> 4 & 0xf0f0f0f0 | uVar12 << 0x1c | (uVar12 & 0xf0f0f0) << 4 | uVar12 >> 0x1c) >> 2 | (uVar12 >> 0x1c) << 0x1e) + 0xd1b1c41; *(uint *)(unaff_RBP + -0x30) = (((uVar8 >> 8 | uVar8 << 0x18) & 0xdd22dd22 | (uVar8 << 8 | uVar8 >> 0x18) & 0x22dd22dd) << 2 | (uVar8 & 0xff) >> 6) + 0xd1de1f70; *(uint *)(unaff_RBP + -0x2c) = uVar7 & 0xaaaaaaaa ^ uVar16 ^ 0x724d0b9e; do { uVar5 = 0x18156e534; in_stack_00000080 = 0x18156e534; uVar7 = (*(int *)(unaff_RBP + 0x38) + 1) * *(int *)(unaff_RBP + 0x38) & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); param_10._0_4_ = 0xff6d948c; FUN_180c479c0(unaff_RBP + -0x38,unaff_RBP + -0x20); uVar7 = *(uint *)(unaff_RBP + -0x18); uVar16 = *(uint *)(unaff_RBP + -0x14); iVar15 = 7; do { uVar8 = (uVar16 ^ uVar7) & 0x4efd1df ^ uVar7; uVar7 = (uVar16 ^ uVar7) & 0xfb102e20 ^ uVar7 ^ uVar8; uVar9 = ~(uVar7 & 0x54d3484b ^ uVar8); uVar16 = uVar9 ^ ~(uVar7 & 0xab2cb7b4 ^ uVar8); uVar7 = uVar16 & 0x7b746601 ^ uVar9; uVar9 = uVar16 & 0x848b99fe ^ uVar9; uVar16 = ((uVar9 << 4 | uVar9 >> 0x1c) & 0xc3c3c3c3 | (uVar9 >> 4 | uVar9 << 0x1c) & 0x3c3c3c3c) + 0x36fae1ff; uVar8 = ((uVar7 << 0x10 | uVar7 >> 0x10) & 0x96b5694a | (uVar7 >> 0x10 | uVar7 << 0x10) & 0x694a96b5) + 0xf365dac8 ^ uVar16; uVar7 = uVar8 & 0xa7071cb4 ^ uVar16; uVar16 = uVar8 & 0x58f8e34b ^ uVar16; uVar7 = (uVar7 << 0x18 | uVar7 >> 8) + 0xc3118cdd; uVar16 = (uVar16 >> 6 | uVar16 << 0x1a) ^ 0x3825b93f; iVar15 = iVar15 + -1; } while (-1 < iVar15); uVar7 = (uVar7 >> 0x18 | uVar7 * 0x100) + 0x423781c0; uVar7 = (uVar7 >> 0x1e | uVar7 * 4) + 0x844c6dc5; if ((~(~(uVar7 >> 0xc | uVar7 * 0x100000) ^ 0xe6abe977) + 0xee970deb ^ param_7) + uVar16 != uStack000000000000003c) { do { puVar11 = (undefined8 *)(unaff_RBP + -0x80); FUN_18156dec4(); *puVar11 = FUN_180bc28c0; iVar15 = *(int *)(unaff_RBP + 0x38); uVar7 = (iVar15 + 1) * iVar15 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); (**(code **)(unaff_RBP + -0x80))(); do { FUN_18156cbe0(); iVar15 = *(int *)(unaff_RBP + 0x38); uVar7 = (iVar15 + 1) * iVar15 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); } } uVar7 = ~param_10._4_4_ & uVar3 | param_10._4_4_ & ~uVar3; if (uVar7 == uVar7 >> 4) { uVar6 = FUN_181583b60(lVar13,unaff_RBP + -0x58); FUN_180585710(lVar13 + 0xd0,FUN_180492ef8,uVar6); FUN_180474220(unaff_RBP + -0x58); iVar15 = (int)unaff_RDI; puVar2 = auStackX_8; do { puVar14 = puVar2; *(undefined8 *)(puVar14 + -8) = unaff_RDI; *(undefined8 *)(puVar14 + -0x10) = unaff_R12; *(ulonglong *)(puVar14 + -0x18) = uVar5; lVar13 = -(longlong)iVar15; uVar5 = *(ulonglong *)(puVar14 + lVar13 + 0xf28); unaff_R12 = *(undefined8 *)(puVar14 + lVar13 + 0xf30); unaff_RDI = *(undefined8 *)(puVar14 + lVar13 + 0xf38); uVar7 = (*(int *)(unaff_RBP + 0x38) + 1) * *(int *)(unaff_RBP + 0x38) & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } puVar2 = puVar14 + lVar13 + 0xf40; } while (uVar7 != 0); *(undefined **)(puVar14 + lVar13 + 0xf38) = &UNK_18156e992; } FUN_181583b60(lVar13,unaff_RBP + -0x48); FUN_180585710(lVar13 + 0xd0,FUN_180492ef8); FUN_180474220(unaff_RBP + -0x48); FUN_18156ca23(); thunk_FUN_1805a9280(); return; } ############ FUN_ 180538590 size=52 ############ void * FUN_180538590(void *param_1,ulonglong param_2) { FUN_1813affa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18053c120 size=62 ############ undefined8 * FUN_18053c120(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::AiffAudioFormat::vftable; FUN_1813affa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18053d620 size=62 ############ undefined8 * FUN_18053d620(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::FlacAudioFormat::vftable; FUN_1813affa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18053ed50 size=62 ############ undefined8 * FUN_18053ed50(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::OggVorbisAudioFormat::vftable; FUN_1813affa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180545930 size=62 ############ undefined8 * FUN_180545930(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::WavAudioFormat::vftable; FUN_1813affa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18136f550 size=15 ############ void FUN_18136f550(undefined8 *param_1) { *param_1 = juce::OggVorbisAudioFormat::vftable; FUN_1813affa0(); return; } ############ FUN_ 181249a30 size=29 ############ void FUN_181249a30(undefined8 *param_1) { FUN_180488c50(); /* WARNING: Could not recover jumptable at 0x000181249a46. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 1812474c0 size=32 ############ void FUN_1812474c0(longlong param_1) { FUN_180488c50(param_1 + 0x10); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x10)); } ############ FUN_ 181248660 size=51 ############ void FUN_181248660(longlong param_1) { undefined8 *puVar1; puVar1 = *(undefined8 **)(param_1 + 0x40); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_180488c50(param_1 + 0x28); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x28)); } ############ FUN_ 180484810 size=29 ############ void FUN_180484810(undefined8 *param_1) { FUN_180488c50(); /* WARNING: Could not recover jumptable at 0x000180484826. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 180484660 size=42 ############ void FUN_180484660(undefined8 *param_1) { *param_1 = Preset::vftable; FUN_180488c50(param_1 + 6); /* WARNING: Subroutine does not return */ free((void *)param_1[6]); } ############ FUN_ 180485210 size=29 ############ void FUN_180485210(undefined8 *param_1) { FUN_180488c50(); /* WARNING: Could not recover jumptable at 0x000180485226. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 1812c25c0 size=159 ############ void FUN_1812c25c0(undefined8 *param_1) { uint uVar1; uint *puVar2; *param_1 = juce::AudioProcessorParameterWithID::vftable; puVar2 = (uint *)(param_1[0xe] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[0xd] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[0xc] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } *param_1 = juce::AudioProcessorParameter::vftable; FUN_180488c50(param_1 + 10); /* WARNING: Subroutine does not return */ free((void *)param_1[10]); } ############ FUN_ 181242dc0 size=197 ############ void FUN_181242dc0(undefined8 *param_1) { uint uVar1; void *_Memory; uint *puVar2; puVar2 = (uint *)(param_1[8] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } _Memory = (void *)param_1[7]; if (_Memory != (void *)0x0) { FUN_181242dc0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } puVar2 = (uint *)(param_1[4] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[3] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } FUN_18049afa0(param_1 + 2); FUN_180488c50(param_1); /* WARNING: Could not recover jumptable at 0x000181242e7e. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 18123e900 size=29 ############ void FUN_18123e900(undefined8 *param_1) { FUN_180488c50(); /* WARNING: Could not recover jumptable at 0x00018123e916. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 18050c3c0 size=70 ############ void FUN_18050c3c0(undefined8 *param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(param_1[2] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180488c50(param_1); /* WARNING: Could not recover jumptable at 0x00018050c3ff. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 18050c410 size=76 ############ void FUN_18050c410(longlong param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)(param_1 + 0x38) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180488c50(param_1 + 0x28); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x28)); } ############ FUN_ 1813afb80 size=99 ############ void FUN_1813afb80(undefined8 *param_1) { uint uVar1; undefined8 *puVar2; uint *_Memory; *param_1 = juce::AudioFormatReader::vftable; puVar2 = (undefined8 *)param_1[10]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Memory = (uint *)(param_1[0xb] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180488c50(param_1 + 7); /* WARNING: Subroutine does not return */ free((void *)param_1[7]); } ############ FUN_ 180566770 size=491 ############ void FUN_180566770(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; void *pvVar3; char cVar4; void *_Memory; uint *puVar5; undefined8 uVar6; undefined **local_30; undefined4 local_28; uVar6 = 0xfffffffffffffffe; *param_1 = CloudyAudioProcessorEditor::vftable; param_1[0x22] = CloudyAudioProcessorEditor::vftable; param_1[0x23] = CloudyAudioProcessorEditor::vftable; param_1[0x24] = CloudyAudioProcessorEditor::vftable; param_1[0x25] = CloudyAudioProcessorEditor::vftable; param_1[0x28] = CloudyAudioProcessorEditor::vftable; param_1[0x2b] = CloudyAudioProcessorEditor::vftable; param_1[0x2c] = CloudyAudioProcessorEditor::vftable; cVar4 = FUN_180528b30(param_1 + 0xa8); if (cVar4 != '\0') { local_30 = &PTR_vftable_18262b570; local_28 = 1; (**(code **)(param_1[0xa8] + 0x18))(param_1 + 0xa8,&local_30); } lVar2 = param_1[0xa9]; puVar5 = (uint *)(lVar2 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } FUN_1811f5f40(param_1[0x30],lVar2,param_1 + 0x2c,param_4,uVar6); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_1814d56b0(param_1 + 0xb0); pvVar3 = (void *)param_1[0xad]; if (pvVar3 == (void *)0x0) { if (param_1[0xac] != 0) { FUN_18056ae10(); } if (param_1[0xab] != 0) { FUN_18056ae10(); } puVar5 = (uint *)(param_1[0xa9] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } param_1[0xa7] = ConfigOption::vftable; FUN_180488c50(param_1 + 0xa5); /* WARNING: Subroutine does not return */ free((void *)param_1[0xa5]); } _Memory = pvVar3; if ((0xfff < (param_1[0xaf] - (longlong)pvVar3 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18055e840 size=32 ############ void FUN_18055e840(longlong param_1) { FUN_180488c50(param_1 + 8); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 8)); } ############ FUN_ 1804dba80 size=71 ############ void FUN_1804dba80(undefined8 param_1,longlong *param_2) { if (param_2 != (longlong *)0x0) { if (*(longlong **)(*param_2 + 0x58) != (longlong *)0x0) { (**(code **)(**(longlong **)(*param_2 + 0x58) + 0x10))(); } FUN_180488c50(param_2 + 5); /* WARNING: Subroutine does not return */ free((void *)param_2[5]); } return; } ############ FUN_ 181347640 size=244 ############ void FUN_181347640(undefined8 *param_1) { int iVar1; bool bVar2; undefined8 *puVar3; longlong *plVar4; ulonglong uVar5; ulonglong uVar6; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; *param_1 = juce::AlertWindow::vftable; plVar4 = (longlong *)param_1[0x2a]; uVar5 = 0; uVar6 = (ulonglong) ((longlong)(plVar4 + *(int *)((longlong)param_1 + 0x15c)) + (7 - (longlong)plVar4)) >> 3; if (plVar4 + *(int *)((longlong)param_1 + 0x15c) < plVar4) { uVar6 = uVar5; } puVar3 = DAT_182673708; if (uVar6 != 0) { do { *(byte *)(*plVar4 + 0xa8) = *(byte *)(*plVar4 + 0xa8) & 0xdf; plVar4 = plVar4 + 1; uVar5 = uVar5 + 1; puVar3 = DAT_182673708; } while (uVar5 != uVar6); } do { if (puVar3 == param_1) { bVar2 = true; LAB_1813476e7: if ((bVar2) && (DAT_182673708 != (undefined8 *)0x0)) { FUN_18133eae0(CONCAT71((int7)((ulonglong)DAT_182673708 >> 8),1)); } iVar1 = *(int *)((longlong)param_1 + 0x4c); while (iVar1 != 0) { FUN_181343a90(param_1,iVar1 + -1,1,1,uVar7); iVar1 = *(int *)((longlong)param_1 + 0x4c); } FUN_180488c50(param_1 + 0x38); /* WARNING: Subroutine does not return */ free((void *)param_1[0x38]); } if (puVar3 == (undefined8 *)0x0) { bVar2 = false; goto LAB_1813476e7; } puVar3 = (undefined8 *)puVar3[3]; } while( true ); } ############ FUN_ 181345580 size=253 ############ void FUN_181345580(undefined8 *param_1) { uint uVar1; uint *_Memory; *param_1 = juce::FileSearchPathListComponent::vftable; param_1[0x16] = juce::FileSearchPathListComponent::vftable; param_1[0x18] = juce::FileSearchPathListComponent::vftable; param_1[0x19] = juce::FileSearchPathListComponent::vftable; FUN_181335920(param_1 + 0x12d); FUN_181335920(param_1 + 0xe9); param_1[0xb0] = juce::TextButton::vftable; param_1[0xc6] = juce::TextButton::vftable; FUN_181337760(); param_1[0x8d] = juce::TextButton::vftable; param_1[0x77] = juce::TextButton::vftable; FUN_181337760(); param_1[0x54] = juce::TextButton::vftable; param_1[0x3e] = juce::TextButton::vftable; FUN_181337760(); FUN_1812e8430(param_1 + 0x1d); _Memory = (uint *)(param_1[0x1c] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180488c50(param_1 + 0x1a); /* WARNING: Subroutine does not return */ free((void *)param_1[0x1a]); } ############ FUN_ 1812186b0 size=42 ############ void FUN_1812186b0(undefined8 *param_1) { *param_1 = juce::WildcardFileFilter::vftable; FUN_180488c50(param_1 + 4); /* WARNING: Subroutine does not return */ free((void *)param_1[4]); } ############ FUN_ 181242220 size=757 ############ longlong * FUN_181242220(longlong *param_1,longlong *param_2) { longlong *plVar1; longlong lVar2; bool bVar3; int iVar4; undefined1 **ppuVar5; uint uVar6; uint uVar8; uint uVar9; undefined1 **ppuVar10; bool bVar11; void *local_50; undefined8 local_48; uint uVar7; iVar4 = FUN_181249270(param_2,&DAT_1821d9824); if (iVar4 < 0) { lVar2 = *param_2; *param_1 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } return param_1; } local_50 = (void *)0x0; local_48 = 0; FUN_18122d110(&local_50,*param_2,&DAT_1821db634,&DAT_1821da804); bVar3 = false; uVar6 = 1; if (1 < (int)local_48._4_4_) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); bVar11 = 1 < local_48._4_4_; uVar8 = local_48._4_4_; do { if (bVar11) { ppuVar10 = (undefined1 **)((longlong)local_50 + (longlong)(int)uVar6 * 8); } else { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar10 = &DAT_18267af68; } iVar4 = FUN_18048cbc0(*ppuVar10,&DAT_1821d979c); if (iVar4 == 0) { uVar7 = uVar6 - 1; if (uVar7 < uVar8) { ppuVar5 = (undefined1 **)((longlong)local_50 + (longlong)(int)uVar7 * 8); } else { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar5 = &DAT_18267af68; } iVar4 = FUN_18048cbc0(*ppuVar5,&DAT_1821d989c); if (iVar4 == 0) goto LAB_1812423de; bVar3 = true; uVar9 = uVar6 + 1; if ((int)uVar9 < 0) { uVar9 = 0; } else if ((int)uVar8 < (int)uVar9) { uVar9 = uVar8; } if ((int)uVar7 < 0) { uVar7 = 0; } else if ((int)uVar8 < (int)uVar7) { uVar7 = uVar8; } if (0 < (int)(uVar9 - uVar7)) { FUN_180489b40(&local_50,uVar7); iVar4 = 0; if (0 < (int)(local_48._4_4_ * 2)) { iVar4 = local_48._4_4_ * 2; } uVar8 = local_48._4_4_; if (iVar4 < (int)local_48) { uVar7 = local_48._4_4_; if ((int)local_48._4_4_ < 8) { uVar7 = 8; } if ((int)uVar7 < (int)local_48) { FUN_18048a300(&local_50); uVar8 = local_48._4_4_; } } } uVar7 = 0; if (0 < (int)(uVar6 - 2)) { uVar7 = uVar6 - 2; } } else { LAB_1812423de: iVar4 = FUN_18048cbc0(*ppuVar10,&DAT_1821d984c); uVar7 = uVar6; if (iVar4 == 0) { bVar3 = true; FUN_180488fc0(&local_50,uVar6); uVar8 = local_48._4_4_; uVar7 = uVar6 - 1; } } uVar6 = uVar7 + 1; bVar11 = uVar6 < uVar8; } while ((int)uVar6 < (int)uVar8); if (bVar3) { FUN_18122d360(&local_50,param_1,&DAT_1821db634); FUN_180488c50(&local_50); /* WARNING: Subroutine does not return */ free(local_50); } } FUN_180488c50(&local_50); /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 180473f60 size=49 ############ void FUN_180473f60(undefined8 *param_1) { *param_1 = juce::AudioProcessorParameter::vftable; FUN_180488c50(param_1 + 10); /* WARNING: Subroutine does not return */ free((void *)param_1[10]); } ############ FUN_ 1804dfb90 size=167 ############ void FUN_1804dfb90(undefined8 param_1,undefined8 *param_2) { undefined1 auStack_c8 [32]; undefined8 local_a8; undefined **local_98; undefined8 local_90; undefined4 local_88; undefined4 local_84; undefined8 local_80; undefined4 local_78; undefined4 local_74; undefined ***local_60; undefined8 local_58; undefined8 local_50; void *local_48; undefined8 local_40; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; local_90 = *param_2; *param_2 = 0; local_88 = *(undefined4 *)(param_2 + 1); local_84 = *(undefined4 *)((longlong)param_2 + 0xc); param_2[1] = 0; local_80 = param_2[2]; param_2[2] = 0; local_78 = *(undefined4 *)(param_2 + 3); local_74 = *(undefined4 *)((longlong)param_2 + 0x1c); param_2[3] = 0; local_98 = std:: _Func_impl_no_alloc<,bool,juce::String_const&___ptr64> ::vftable; local_58 = 0; local_50 = 0; local_48 = (void *)0x0; local_40 = 0; local_60 = &local_98; FUN_180488c50(&local_48); /* WARNING: Subroutine does not return */ free(local_48); } ############ FUN_ 180485230 size=45 ############ void FUN_180485230(longlong param_1) { FUN_180488c50(param_1 + 0x2c8); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x2c8)); } ############ FUN_ 181221ef0 size=2461 ############ longlong * FUN_181221ef0(longlong param_1,longlong *param_2,longlong *param_3) { int *piVar1; uint uVar2; byte bVar3; char *pcVar4; byte bVar5; int iVar6; int iVar7; int iVar8; undefined8 *puVar9; longlong *plVar10; longlong lVar11; byte *pbVar12; undefined8 uVar13; undefined1 **ppuVar14; longlong *plVar15; undefined8 uVar16; byte bVar17; uint *puVar18; uint *_Memory; undefined1 **ppuVar19; uint uVar20; longlong lVar21; uint uVar22; longlong local_res20; undefined1 *local_128; void *local_120; undefined8 local_118; undefined8 local_110; longlong local_108; longlong local_100; longlong local_f8; longlong local_f0; longlong local_e8; byte *local_e0; longlong local_d8; longlong local_d0; longlong local_c8; byte *local_c0; longlong local_b8; longlong local_b0; longlong local_a8; longlong local_a0; undefined1 local_98 [8]; undefined1 local_90 [8]; longlong local_88; longlong local_80; undefined8 local_78; undefined8 local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; longlong local_50; local_78 = 0xfffffffffffffffe; if (*(char *)(param_1 + 0x38) == '\0') goto LAB_181222497; if (**(char **)(param_1 + 0x20) != '\0') { puVar9 = (undefined8 *)FUN_1812304e0(param_1 + 0x20,&local_e8,&DAT_1821db428); local_70 = *(undefined8 *)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = *puVar9; *puVar9 = local_70; puVar18 = (uint *)(local_e8 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } local_68 = *(undefined8 *)(param_1 + 0x20); plVar15 = (longlong *)(param_1 + 0x28); FUN_18122d110(plVar15,local_68,&DAT_1821dad44,&DAT_1821da834); puVar9 = (undefined8 *)FUN_181249970(plVar15,*(int *)(param_1 + 0x34) + -2); iVar6 = FUN_18049bb30(*puVar9,"system"); if (iVar6 == 0) { puVar9 = (undefined8 *)FUN_181249970(plVar15,*(int *)(param_1 + 0x34) + -1); local_e0 = (byte *)*puVar9; while ((bVar3 = *local_e0, bVar3 == 0x20 || ((byte)(bVar3 - 9) < 5))) { local_e0 = local_e0 + 1; if ((char)bVar3 < '\0') { bVar17 = 0x40; bVar5 = bVar3 & 0x40; while ((bVar5 != 0 && (8 < bVar17))) { local_e0 = local_e0 + 1; bVar17 = bVar17 >> 1; bVar5 = bVar3 & bVar17; } } } iVar6 = FUN_180492f10(&local_e0); if ((iVar6 != 0x22) && (iVar6 != 0x27)) goto LAB_181222116; plVar10 = (longlong *)FUN_181249970(plVar15,*(int *)(param_1 + 0x34) + -1); local_d8 = *plVar10; puVar18 = (uint *)(local_d8 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); *puVar18 = *puVar18 + 1; UNLOCK(); } FUN_180488c50(plVar15); if (*(int *)(param_1 + 0x30) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar15); } *(undefined4 *)(param_1 + 0x30) = 0; puVar9 = (undefined8 *)FUN_181225b40(param_1,&local_d0,&local_d8); local_60 = *puVar9; FUN_18122d110(plVar15,local_60,&DAT_1821dad44,&DAT_1821da834); _Memory = (uint *)(local_d0 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar22 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } } else { LAB_181222116: FUN_180488c50(plVar15); if (*(int *)(param_1 + 0x30) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar15); } *(undefined4 *)(param_1 + 0x30) = 0; iVar6 = FUN_18049bc80(*(undefined8 *)(param_1 + 0x20),0x5b); if ((0 < iVar6) && (iVar7 = FUN_1812327b0(param_1 + 0x20,0x5d), iVar6 < iVar7)) { puVar9 = (undefined8 *)FUN_1812490c0(param_1 + 0x20,&local_c8,iVar6 + 1,iVar7); local_58 = *puVar9; FUN_18122d110(plVar15,local_58,&DAT_1821dad44,&DAT_1821da834); puVar18 = (uint *)(local_c8 + -0x10); if ((*puVar18 & 0x30000000) == 0) { LOCK(); uVar22 = *puVar18; *puVar18 = *puVar18 - 1; UNLOCK(); if (uVar22 == 0) { /* WARNING: Subroutine does not return */ free(puVar18); } } } } iVar6 = 0; uVar22 = *(int *)(param_1 + 0x34) - 1; if (-1 < (int)uVar22) { plVar10 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); lVar21 = (longlong)(int)uVar22 << 3; do { local_108 = lVar21; if (uVar22 < *(uint *)(param_1 + 0x34)) { ppuVar19 = (undefined1 **)(*plVar15 + lVar21); } else { if ((*(int *)(*plVar10 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar19 = &DAT_18267af68; } iVar7 = FUN_180492f10(ppuVar19); if (iVar7 == 0x25) { puVar9 = (undefined8 *)FUN_181249970(plVar15,uVar22); pcVar4 = (char *)*puVar9; lVar11 = -1; if (*pcVar4 != '\0') { do { lVar11 = lVar11 + 1; } while (pcVar4[lVar11] != '\0'); local_c0 = (byte *)(pcVar4 + lVar11); iVar7 = iVar6; do { local_c0 = local_c0 + -1; if ((*local_c0 & 0xc0) != 0x80) break; iVar7 = iVar7 + 1; } while (iVar7 < 4); iVar7 = FUN_180492f10(&local_c0); if (iVar7 == 0x3b) { puVar9 = (undefined8 *)FUN_181249970(plVar15,uVar22); pbVar12 = (byte *)*puVar9; goto LAB_1812222a1; } } } lVar21 = lVar21 + -8; uVar22 = uVar22 - 1; local_108 = lVar21; } while (-1 < (int)uVar22); } } *(undefined1 *)(param_1 + 0x38) = 0; LAB_181222497: iVar6 = 0; if (0 < *(int *)(param_1 + 0x34)) { do { plVar15 = (longlong *)FUN_181249970(param_1 + 0x28,iVar6); if (*plVar15 == *param_3) { iVar7 = 0; } else { iVar7 = FUN_18048cbc0(*plVar15,*param_3); } if (iVar7 == 0) { puVar9 = (undefined8 *)FUN_181249970(param_1 + 0x28,iVar6 + -1); iVar7 = FUN_18049bb30(*puVar9,",void,int>::vftable ; local_a0 = &LAB_1804d87c0; local_98 = local_res20; local_70 = &local_a8; local_90 = param_1; uVar6 = FUN_181347bc0(&local_a8); if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res20)(local_res20,1); } } FUN_18134ab30(param_1 + 9,1,uVar6,0); } else { FUN_1804d8e40(param_1); } FUN_180488c50(&local_130); /* WARNING: Subroutine does not return */ free(local_130); } ############ FUN_ 18122ddb0 size=117 ############ undefined8 * FUN_18122ddb0(undefined8 *param_1,undefined8 *param_2) { undefined4 uVar1; void *pvVar2; undefined4 uVar3; void *local_18; undefined8 local_10; if (param_1 != param_2) { local_18 = (void *)0x0; local_10 = 0; FUN_18048c4c0(&local_18,*param_2,*(undefined4 *)((longlong)param_2 + 0xc)); pvVar2 = (void *)*param_1; *param_1 = local_18; uVar1 = *(undefined4 *)(param_1 + 1); *(undefined4 *)(param_1 + 1) = (undefined4)local_10; uVar3 = local_10._4_4_; local_10 = CONCAT44(*(undefined4 *)((longlong)param_1 + 0xc),uVar1); *(undefined4 *)((longlong)param_1 + 0xc) = uVar3; local_18 = pvVar2; FUN_180488c50(&local_18); /* WARNING: Subroutine does not return */ free(local_18); } return param_1; } ############ FUN_ 18123e660 size=217 ############ void FUN_18123e660(undefined8 *param_1,longlong param_2) { undefined8 *puVar1; uint uVar2; undefined8 uVar3; int iVar4; undefined8 *puVar5; uint *_Memory; undefined8 *puVar6; longlong local_res10; undefined8 *local_20; undefined8 local_18; local_20 = (undefined8 *)0x0; local_18 = 0; local_res10 = param_2; FUN_18048c4c0(&local_20,*param_1,*(undefined4 *)((longlong)param_1 + 0xc)); puVar1 = local_20 + local_18._4_4_; puVar6 = local_20; do { if (puVar6 == puVar1) { FUN_18122d360(&local_20,param_2,&DAT_1821d9bc4); FUN_180488c50(&local_20); /* WARNING: Subroutine does not return */ free(local_20); } iVar4 = FUN_18049bc80(*puVar6,0x3b); if (-1 < iVar4) { puVar5 = (undefined8 *)FUN_1812309c0(puVar6,&local_res10); uVar3 = *puVar6; *puVar6 = *puVar5; *puVar5 = uVar3; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } puVar6 = puVar6 + 1; } while( true ); } ############ FUN_ 1812b77a0 size=665 ############ void FUN_1812b77a0(undefined8 *param_1,longlong param_2,longlong *param_3,undefined8 param_4) { uint uVar1; longlong lVar2; bool bVar3; int iVar4; undefined8 uVar5; longlong *plVar6; undefined8 *puVar7; uint uVar8; uint *puVar9; longlong local_res20; undefined1 *local_90; longlong local_88; longlong local_80; longlong local_78; longlong local_70; longlong local_68; void *local_60 [2]; undefined8 local_50; local_50 = 0xfffffffffffffffe; uVar5 = (**(code **)(*param_3 + 0x10))(param_3,&local_88,param_3,param_4,0); FUN_18049c4e0(&local_res20,"lastPluginScanPath_"); plVar6 = (longlong *)FUN_181232d30(&local_res20,uVar5); lVar2 = *plVar6; puVar9 = (uint *)(lVar2 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } uVar8 = 0; puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_88 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } EnterCriticalSection((LPCRITICAL_SECTION)(param_2 + 0x38)); iVar4 = FUN_1812498b0(param_2 + 8,lVar2,*(undefined1 *)(param_2 + 100),0); LeaveCriticalSection((LPCRITICAL_SECTION)(param_2 + 0x38)); if (-1 < iVar4) { local_90 = &DAT_1821dbf98; uVar5 = FUN_181243270(param_2,&local_78,lVar2,&local_90); puVar7 = (undefined8 *)FUN_181248e40(uVar5,&local_80); uVar8 = 0x17; if (*(char *)*puVar7 == '\0') { bVar3 = true; goto LAB_1812b78fb; } } bVar3 = false; LAB_1812b78fb: if ((uVar8 & 4) != 0) { uVar8 = uVar8 & 0xfffffffb; puVar9 = (uint *)(local_80 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } if ((uVar8 & 2) != 0) { uVar8 = uVar8 & 0xfffffffd; puVar9 = (uint *)(local_78 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } if (((uVar8 & 1) != 0) && (puVar9 = (uint *)(local_90 + -0x10), (*puVar9 & 0x30000000) == 0)) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (bVar3) { FUN_1812430b0(param_2,lVar2); } uVar5 = (**(code **)(*param_3 + 0x58))(param_3,local_60); uVar5 = FUN_18123e660(uVar5,&local_68); uVar5 = FUN_181243270(param_2,&local_70,lVar2,uVar5); *param_1 = 0; param_1[1] = 0; FUN_18123e7a0(param_1,uVar5); puVar9 = (uint *)(local_70 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_68 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_180488c50(local_60); /* WARNING: Subroutine does not return */ free(local_60[0]); } ############ FUN_ 18123e7a0 size=194 ############ void FUN_18123e7a0(longlong *param_1,undefined8 *param_2) { undefined8 *puVar1; uint uVar2; undefined8 *puVar3; uint *_Memory; undefined8 *puVar4; longlong local_res8; undefined8 local_res10; undefined8 local_res18; FUN_180488c50(); if ((int)param_1[1] != 0) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } *(undefined4 *)(param_1 + 1) = 0; local_res10 = *param_2; FUN_18122d110(param_1,local_res10,&DAT_1821d9b8c,&DAT_1821d9ba4); FUN_18122d550(param_1); FUN_18122d5d0(param_1); puVar4 = (undefined8 *)*param_1; puVar1 = puVar4 + *(int *)((longlong)param_1 + 0xc); do { if (puVar4 == puVar1) { return; } puVar3 = (undefined8 *)FUN_181230ba0(puVar4,&local_res8); local_res18 = *puVar4; *puVar4 = *puVar3; *puVar3 = local_res18; _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar4 = puVar4 + 1; } while( true ); } ############ FUN_ 1812b9c40 size=663 ############ void FUN_1812b9c40(longlong param_1) { longlong *plVar1; longlong *plVar2; longlong *plVar3; longlong lVar4; longlong lVar5; int iVar6; uint *puVar7; undefined1 **ppuVar8; longlong *plVar9; uint uVar10; longlong lVar11; uint uVar12; ulonglong uVar13; longlong lVar14; longlong *plVar15; longlong local_res20; longlong *local_50; undefined8 local_48; plVar1 = (longlong *)(param_1 + 0x10); FUN_18122ddb0(plVar1); local_50 = (longlong *)0x0; local_48 = 0; FUN_181244920(param_1 + 0x20,&local_res20); FUN_18122cec0(&local_50); puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_18122d5d0(&local_50); plVar2 = local_50 + local_48._4_4_; if (local_50 != plVar2) { plVar3 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); plVar15 = local_50; do { uVar10 = *(int *)(param_1 + 0x1c) - 1; if (-1 < (int)uVar10) { lVar11 = (longlong)(int)uVar10 * 8; lVar14 = lVar11; do { if (uVar10 < *(uint *)(param_1 + 0x1c)) { ppuVar8 = (undefined1 **)(*plVar1 + lVar11); } else { if ((*(int *)(*plVar3 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar8 = &DAT_18267af68; } if ((undefined1 *)*plVar15 == *ppuVar8) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*plVar15,*ppuVar8); } if (((iVar6 == 0) && (uVar10 != 0xffffffff)) && (uVar12 = *(uint *)(param_1 + 0x1c), uVar10 < uVar12)) { plVar9 = (longlong *)(*plVar1 + lVar14); lVar4 = *plVar9; *plVar9 = (longlong)&DAT_1821dbf98; uVar12 = (uVar12 - 1) - uVar10; if ((int)uVar12 < 1) { if (0 < (int)-uVar12) { uVar13 = (ulonglong)-uVar12; do { lVar5 = *plVar9; *plVar9 = plVar9[-1]; plVar9[-1] = lVar5; plVar9 = plVar9 + -1; uVar13 = uVar13 - 1; } while (uVar13 != 0); } } else { uVar13 = (ulonglong)uVar12; do { lVar5 = *plVar9; *plVar9 = plVar9[1]; plVar9[1] = lVar5; plVar9 = plVar9 + 1; uVar13 = uVar13 - 1; } while (uVar13 != 0); } lVar5 = *plVar9; *plVar9 = lVar4; puVar7 = (uint *)(lVar5 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } lVar11 = lVar11 + -8; lVar14 = lVar14 + -8; uVar10 = uVar10 - 1; } while (-1 < (int)uVar10); } plVar15 = plVar15 + 1; } while (plVar15 != plVar2); } FUN_180488c50(&local_50); /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 1812b9610 size=217 ############ void FUN_1812b9610(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *pvVar1; uint uVar2; uint *_Memory; void *pvVar3; longlong local_res20; void *local_18; undefined8 local_10; local_18 = (void *)0x0; local_10 = 0; FUN_181244920(param_2,&local_res20,param_3,param_4,0xfffffffffffffffe); FUN_18122cec0(&local_18); _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18122d5d0(&local_18); pvVar1 = (void *)((longlong)local_18 + (longlong)local_10._4_4_ * 8); for (pvVar3 = local_18; pvVar3 != pvVar1; pvVar3 = (void *)((longlong)pvVar3 + 8)) { FUN_1812ba430(param_1,pvVar3); } FUN_180488c50(&local_18); /* WARNING: Could not recover jumptable at 0x0001812b96e2. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_18); return; } ############ FUN_ 1804d87e0 size=466 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804d87e0(longlong param_1) { uint *puVar1; longlong *plVar2; uint uVar3; longlong lVar4; char cVar5; int iVar6; undefined8 uVar7; longlong *plVar8; ulonglong *puVar9; undefined1 auStack_178 [80]; longlong local_128 [2]; longlong *local_118; undefined8 local_110; longlong local_f8 [9]; undefined8 local_b0; ulonglong local_58; undefined8 uStack_50; undefined8 local_48; undefined8 uStack_40; ulonglong local_38 [2]; local_b0 = 0xfffffffffffffffe; local_38[0] = DAT_182615970 ^ (ulonglong)auStack_178; if (*(int *)(param_1 + 0x4e4) < 1) { FUN_1804d8e40(param_1); } uVar7 = FUN_181249970(param_1 + 0x4d8,0); FUN_181241890(local_128,uVar7); local_118 = (longlong *)0x0; local_110 = 0; FUN_181217680(&local_118); plVar2 = local_118 + local_110._4_4_; for (plVar8 = local_118; plVar8 != plVar2; plVar8 = plVar8 + 1) { if ((local_128[0] == *plVar8) || (iVar6 = FUN_18049bb30(), iVar6 == 0)) goto LAB_1804d89f4; } local_58 = _DAT_1824c4860; uStack_50 = _UNK_1824c4868; local_48 = _DAT_1824c48a0; uStack_40 = _UNK_1824c48a8; puVar9 = &local_58; while (((FUN_181249b30(local_f8,(int)*puVar9), lVar4 = local_f8[0], local_128[0] != local_f8[0] && (iVar6 = FUN_18049bb30(local_128[0],local_f8[0]), iVar6 != 0)) && (cVar5 = FUN_181240ff0(local_f8,local_128), cVar5 == '\0'))) { puVar1 = (uint *)(lVar4 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } puVar9 = (ulonglong *)((longlong)puVar9 + 4); if (puVar9 == local_38) { FUN_180488c50(&local_118); /* WARNING: Subroutine does not return */ free(local_118); } } puVar1 = (uint *)(lVar4 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } LAB_1804d89f4: FUN_180488c50(&local_118); /* WARNING: Subroutine does not return */ free(local_118); } ############ FUN_ 181217680 size=685 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ void FUN_181217680(longlong *param_1) { longlong *plVar1; WCHAR WVar2; int iVar3; int iVar4; undefined1 **ppuVar5; WCHAR *pWVar6; undefined1 **ppuVar7; uint uVar8; uint uVar9; bool bVar10; undefined1 auStack_1098 [32]; undefined1 local_1078; undefined1 **local_1070; int local_1068; uint uStack_1064; undefined1 *local_1060; undefined1 *local_1058; undefined8 local_1050; WCHAR local_1038 [2048]; ulonglong local_38; undefined8 uStack_30; uStack_30 = 0x18121769c; local_1050 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_1098; memset(local_1038,0,0x1000); GetLogicalDriveStringsW(0x800,local_1038); pWVar6 = local_1038; uVar9 = 0; local_1070 = (undefined1 **)0x0; local_1068 = 0; uStack_1064 = 0; ppuVar7 = local_1070; iVar3 = local_1068; uVar8 = uStack_1064; while (local_1070 = ppuVar7, local_1068 = iVar3, uStack_1064 = uVar8, local_1038[0] != L'\0') { FUN_18049c800(&local_1060,pWVar6); iVar4 = uVar8 + 1; if (iVar3 < iVar4) { if (iVar4 < 0) { iVar4 = uVar8 + 2; } FUN_18048a300(&local_1070,uVar8 + 9 + (iVar4 >> 1) & 0xfffffff8); ppuVar7 = local_1070; uVar8 = uStack_1064; } uStack_1064 = uVar8 + 1; ppuVar7[(int)uVar8] = local_1060; local_1060 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar8 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar8; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } do { WVar2 = *pWVar6; pWVar6 = pWVar6 + 1; } while (WVar2 != L'\0'); ppuVar7 = local_1070; iVar3 = local_1068; uVar8 = uStack_1064; local_1038[0] = *pWVar6; } FUN_18049dcb0(ppuVar7,ppuVar7 + (int)uVar8, (longlong)(ppuVar7 + (int)uVar8) - (longlong)ppuVar7 >> 3,local_1078); if (0 < (int)uVar8) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); bVar10 = uVar8 != 0; do { ppuVar5 = ppuVar7; if (!bVar10) { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar5 = &DAT_18267af68; } FUN_181241890(&local_1058,ppuVar5); iVar4 = *(int *)((longlong)param_1 + 0xc); iVar3 = iVar4 + 1; if ((int)param_1[1] < iVar3) { if (iVar3 < 0) { iVar3 = iVar4 + 2; } FUN_18048a300(param_1,iVar4 + 9 + (iVar3 >> 1) & 0xfffffff8); } iVar3 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar3 + 1; *(undefined1 **)(*param_1 + (longlong)iVar3 * 8) = local_1058; local_1058 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar8 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar8; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar9 = uVar9 + 1; ppuVar7 = ppuVar7 + 1; bVar10 = uVar9 < uStack_1064; } while ((int)uVar9 < (int)uStack_1064); } FUN_180488c50(&local_1070); /* WARNING: Subroutine does not return */ free(local_1070); } ############ FUN_ 1804d9270 size=178 ############ /* WARNING: Removing unreachable block (ram,0x0001804d9318) */ void FUN_1804d9270(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void **ppvVar2; void *local_30; undefined8 local_28; void *local_20; undefined8 local_18; lVar1 = *(longlong *)(param_1 + 0x40); if (lVar1 == 0) { local_20 = (void *)0x0; local_18 = 0; ppvVar2 = &local_20; } else { local_30 = (void *)0x0; local_28 = 0; FUN_18048c4c0(&local_30,*(undefined8 *)(lVar1 + 0x28),*(undefined4 *)(lVar1 + 0x34),param_4, 0xfffffffffffffffe); ppvVar2 = &local_30; } FUN_1812b6d00(*(undefined8 *)(param_1 + 0x18),ppvVar2); if (lVar1 != 0) { FUN_180488c50(&local_30); /* WARNING: Subroutine does not return */ free(local_30); } FUN_180488c50(&local_20); /* WARNING: Subroutine does not return */ free(local_20); } ############ FUN_ 1812b6d00 size=1075 ############ /* WARNING: Restarted to delay deadcode elimination for space: ram */ void FUN_1812b6d00(longlong param_1,longlong *param_2) { int *piVar1; undefined8 *puVar2; uint uVar3; int iVar4; undefined8 uVar5; longlong *plVar6; uint *puVar7; uint *puVar8; longlong *plVar9; longlong lVar10; void *_Dst; bool bVar12; longlong local_res10; longlong local_res18; longlong local_res20; undefined8 *local_a8; int local_a0; int iStack_9c; longlong local_98; undefined1 *local_90; longlong local_88; longlong local_80; undefined1 *local_78; longlong local_70; longlong local_68; undefined8 local_60; uint *local_58; longlong lVar11; local_60 = 0xfffffffffffffffe; local_a8 = (undefined8 *)0x0; local_a0 = 0; iStack_9c = 0; plVar9 = (longlong *)*param_2; plVar6 = plVar9 + *(int *)((longlong)param_2 + 0xc); iVar4 = iStack_9c; for (; iStack_9c = iVar4, plVar9 != plVar6; plVar9 = plVar9 + 1) { if ((*(uint *)(*plVar9 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar9 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } local_res18 = *plVar9; LOCK(); UNLOCK(); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } iVar4 = FUN_1812327b0(&local_res18,0x5c); FUN_1812491d0(&local_res18,&local_90,iVar4 + 1); iVar4 = iStack_9c + 1; if (local_a0 < iVar4) { if (iVar4 < 0) { iVar4 = iStack_9c + 2; } FUN_18048a300(&local_a8,iStack_9c + 9 + (iVar4 >> 1) & 0xfffffff8); } iStack_9c = 1; *local_a8 = local_90; local_90 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar7 = (uint *)(local_res18 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } iVar4 = iStack_9c; } puVar2 = *(undefined8 **)(param_1 + 0x3f8); *(undefined8 *)(param_1 + 0x3f8) = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } if (iVar4 != 0) { local_78 = &DAT_1821dbf98; uVar5 = FUN_18122d360(&local_a8,&local_68,&DAT_1821e27ec); FUN_18049c4e0(&local_res20, "Note that the following files appeared to be plugin files, but failed to load correctly" ); local_58 = &DAT_182673984; do { LOCK(); uVar3 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar3 != 0); if (DAT_1826739f8 == 0) { local_res10 = local_res20; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(DAT_1826739f8,&local_res10,&local_res20,&local_res20); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar7 = (uint *)(local_res20 + -0x10); lVar10 = -1; if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } do { lVar11 = lVar10; lVar10 = lVar11 + 1; } while (*(char *)(local_res10 + lVar10) != '\0'); FUN_1812342b0(&local_res10,lVar11 + 4); _Dst = (void *)((int)lVar10 + local_res10); memcpy(_Dst,&DAT_1821e27ac,3); *(undefined1 *)((longlong)_Dst + 3) = 0; local_98 = local_res10; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(local_res10 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } plVar6 = (longlong *)FUN_181232d30(&local_98,uVar5); local_70 = *plVar6; puVar7 = (uint *)(local_70 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); *puVar7 = *puVar7 + 1; UNLOCK(); } puVar8 = (uint *)(local_98 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_18049c4e0(&local_88,"Scan complete"); FUN_1812344e0(&local_80,&local_88); puVar8 = (uint *)(local_88 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_1813469b0(3,&local_80,&local_70,&local_78); puVar8 = (uint *)(local_80 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_68 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } FUN_180488c50(&local_a8); /* WARNING: Could not recover jumptable at 0x0001812b7134. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_a8); return; } ############ FUN_ 1804d95d0 size=255 ############ void FUN_1804d95d0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; void *pvVar2; uint *_Memory; *param_1 = juce::PluginListComponent::Scanner::vftable; if (param_1[0x1f5] != 0) { FUN_18122a110(param_1[0x1f5],param_2,60000,param_4,0xfffffffffffffffe); pvVar2 = (void *)param_1[0x1f5]; param_1[0x1f5] = 0; if (pvVar2 != (void *)0x0) { FUN_18122aa90(pvVar2); /* WARNING: Subroutine does not return */ free(pvVar2); } } pvVar2 = (void *)param_1[0x1f5]; if (pvVar2 != (void *)0x0) { FUN_18122aa90(pvVar2); /* WARNING: Subroutine does not return */ free(pvVar2); } _Memory = (uint *)(param_1[0x1f2] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_181345580(param_1 + 0x81); FUN_181347640(param_1 + 0x45); FUN_181347640(param_1 + 9); if (param_1[8] != 0) { FUN_1804dba80(); } FUN_180488c50(param_1 + 5); /* WARNING: Subroutine does not return */ free((void *)param_1[5]); } ############ FUN_ 1804d9c20 size=139 ############ void FUN_1804d9c20(undefined8 *param_1) { longlong *plVar1; *param_1 = juce::AudioParameterChoice::vftable; plVar1 = (longlong *)param_1[0x3d]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x36); param_1[0x3d] = 0; } plVar1 = (longlong *)param_1[0x35]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x2e); param_1[0x35] = 0; } FUN_180484cd0(param_1 + 0x12); FUN_180488c50(param_1 + 0x10); /* WARNING: Subroutine does not return */ free((void *)param_1[0x10]); } ############ FUN_ 1804e2310 size=70 ############ void FUN_1804e2310(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *local_20; undefined8 local_18; local_20 = (void *)0x0; local_18 = 0; FUN_1812b7150(*(undefined8 *)(param_1 + 8),*(undefined8 *)(param_1 + 0x10),&local_20,param_4, 0xfffffffffffffffe); FUN_180488c50(&local_20); /* WARNING: Could not recover jumptable at 0x0001804e234f. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_20); return; } ############ FUN_ 1804e2770 size=45 ############ void FUN_1804e2770(longlong param_1) { FUN_180488c50(param_1 + 0x18); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x18)); } ############ FUN_ 1804f2100 size=1405 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804f2100(undefined8 param_1,char *param_2,longlong param_3,undefined8 param_4, undefined4 param_5) { byte bVar1; byte bVar2; byte *pbVar3; char cVar4; int iVar5; undefined8 *puVar7; uint *puVar8; byte *pbVar9; byte bVar10; uint uVar11; longlong lVar12; int iVar13; uint uVar14; longlong lVar15; double dVar16; undefined1 auStack_108 [32]; undefined1 **local_e8; byte *local_d8; void *local_d0; undefined8 local_c8; undefined1 *local_c0; undefined1 *local_b8; byte *local_b0; longlong local_a8; undefined8 local_a0; undefined8 local_98; undefined8 local_90; double local_88; double local_80; double local_78; longlong local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; undefined8 local_50; undefined8 local_48; ulonglong local_40; int iVar6; local_68 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_108; local_c0 = &DAT_1821dbf98; local_e8 = &local_c0; FUN_1804f1300(param_1,&local_d8); puVar8 = (uint *)(local_c0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar14 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar14 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } iVar5 = FUN_180492f10(&local_d8); pbVar3 = local_d8; if (iVar5 != 0x23) { pbVar9 = &DAT_18249f208; iVar5 = 0; LAB_1804f2330: do { bVar1 = *pbVar9; pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { if ((*pbVar9 & 0xc0) == 0x80) { do { pbVar9 = pbVar9 + 1; } while ((*pbVar9 & 0xc0) == 0x80); iVar5 = iVar5 + 1; goto LAB_1804f2330; } } else if (bVar1 == 0) goto LAB_1804f235d; iVar5 = iVar5 + 1; } while( true ); } local_58 = 0; local_50 = 0; local_48 = 0; iVar5 = 0; lVar12 = 0; local_b0 = local_d8; do { bVar1 = *local_b0; local_b0 = local_b0 + 1; if ((char)bVar1 < '\0') { bVar10 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar10))) { local_b0 = local_b0 + 1; bVar10 = bVar10 >> 1; bVar2 = bVar1 & bVar10; } } bVar1 = *local_b0; uVar14 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar11 = 0x40; uVar14 = 0x7f; iVar13 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar11 < 9) break; uVar14 = uVar14 >> 1; iVar13 = iVar13 + 1; uVar11 = uVar11 >> 1; } while ((bVar1 & uVar11) != 0); } uVar14 = bVar1 & uVar14; lVar15 = 1; if (0 < iVar13) { do { if ((local_b0[lVar15] & 0xc0) != 0x80) break; uVar14 = local_b0[lVar15] & 0x3f | uVar14 << 6; lVar15 = lVar15 + 1; } while (lVar15 <= iVar13); } } uVar11 = uVar14 - 0x30; if (9 < uVar11) { uVar11 = uVar14 - 0x61; if ((5 < uVar11) && (uVar11 = uVar14 - 0x41, 5 < uVar11)) break; uVar11 = uVar11 + 10; } if ((int)uVar11 < 0) break; *(uint *)((longlong)&local_58 + lVar12 * 4) = uVar11; iVar5 = iVar5 + 1; lVar12 = lVar12 + 1; } while (lVar12 < 6); param_2[3] = -1; if (iVar5 < 4) { *param_2 = (char)local_50 * '\x11'; param_2[1] = local_58._4_1_ * '\x11'; param_2[2] = (char)local_58 * '\x11'; puVar8 = (uint *)(local_d8 + -0x10); if ((*puVar8 & 0x30000000) != 0) { } LOCK(); uVar14 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar14 != 0) { } goto LAB_1804f264e; } *param_2 = (char)local_48 * '\x10' + local_48._4_1_; param_2[1] = (char)local_50 * '\x10' + local_50._4_1_; param_2[2] = (char)local_58 * '\x10' + local_58._4_1_; puVar8 = (uint *)(local_d8 + -0x10); uVar14 = *puVar8; LAB_1804f263b: if ((uVar14 & 0x30000000) == 0) { LOCK(); uVar14 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar14 == 0) { LAB_1804f264e: /* WARNING: Subroutine does not return */ free(puVar8); } } LAB_1804f235d: iVar5 = FUN_18049da40(local_d8,&DAT_18249f208,iVar5); if (iVar5 == 0) { iVar5 = FUN_18049bc80(pbVar3,0x28); iVar13 = FUN_181232860(&local_d8,iVar5,0x29); if ((2 < iVar5) && (iVar5 < iVar13)) { local_d0 = (void *)0x0; local_c8 = 0; puVar7 = (undefined8 *)FUN_1812490c0(&local_d8,&local_a8,iVar5 + 1,iVar13); local_60 = *puVar7; FUN_18122d110(&local_d0,local_60,&DAT_182495df0,&DAT_18249336a); puVar8 = (uint *)(local_a8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar14 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar14 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_18122d550(&local_d0); FUN_18122d5d0(&local_d0); puVar7 = (undefined8 *)FUN_181249970(&local_d0,0); iVar5 = FUN_18049bc80(*puVar7,0x25); if (iVar5 < 0) { puVar7 = (undefined8 *)FUN_181249970(&local_d0,2); iVar5 = atoi((char *)*puVar7); puVar7 = (undefined8 *)FUN_181249970(&local_d0,1); iVar13 = atoi((char *)*puVar7); puVar7 = (undefined8 *)FUN_181249970(&local_d0,0); iVar6 = atoi((char *)*puVar7); cVar4 = (char)iVar6; *param_2 = (char)iVar5; param_2[1] = (char)iVar13; } else { puVar7 = (undefined8 *)FUN_181249970(&local_d0,2); local_a0 = *puVar7; dVar16 = (double)FUN_18049bd80(&local_a0); local_88 = dVar16 * _DAT_1824c41f8 + DAT_1824c4520; puVar7 = (undefined8 *)FUN_181249970(&local_d0,1); local_98 = *puVar7; dVar16 = (double)FUN_18049bd80(&local_98); local_80 = dVar16 * _DAT_1824c41f8 + DAT_1824c4520; puVar7 = (undefined8 *)FUN_181249970(&local_d0,0); local_90 = *puVar7; dVar16 = (double)FUN_18049bd80(&local_90); local_78 = dVar16 * _DAT_1824c41f8 + DAT_1824c4520; *param_2 = local_88._0_1_; param_2[1] = local_80._0_1_; cVar4 = local_78._0_1_; } param_2[2] = cVar4; param_2[3] = -1; FUN_180488c50(&local_d0); /* WARNING: Subroutine does not return */ free(local_d0); } } iVar5 = FUN_18048cbc0(pbVar3,"inherit"); if (iVar5 == 0) { for (lVar12 = *(longlong *)(param_3 + 8); lVar12 != 0; lVar12 = *(longlong *)(lVar12 + 8)) { local_b8 = &DAT_1821dbf98; local_e8 = &local_b8; puVar7 = (undefined8 *)FUN_1804f1300(param_1,&local_70,lVar12,param_4); cVar4 = *(char *)*puVar7; puVar8 = (uint *)(local_70 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar14 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar14 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_b8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar14 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar14 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (cVar4 != '\0') { local_e8 = (undefined1 **)CONCAT44(local_e8._4_4_,param_5); FUN_1804f2100(param_1,param_2,lVar12,param_4); puVar8 = (uint *)(local_d8 + -0x10); uVar14 = *puVar8; goto LAB_1804f263b; } } } FUN_1812a1210(param_2,&local_d8,param_5); puVar8 = (uint *)(local_d8 + -0x10); uVar14 = *puVar8; goto LAB_1804f263b; } ############ FUN_ 18132bac0 size=547 ############ void FUN_18132bac0(longlong *param_1) { longlong *plVar1; char *pcVar2; undefined1 **ppuVar3; uint uVar4; bool bVar5; char *local_res8; longlong local_40; undefined8 local_38; uint uStack_34; void *local_30; undefined8 local_28; FUN_1812ec000(param_1 + 0x26); uVar4 = 0; local_40 = 0; local_38 = 0; local_30 = (void *)0x0; local_28 = 0; if ((undefined **)*param_1 == juce::FileBrowserComponent::vftable) { FUN_18132a0d0(&local_40,&local_30); } else { (*(code *)((undefined **)*param_1)[0x2c])(param_1,&local_40,&local_30); } if (0 < (int)uStack_34) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); bVar5 = uStack_34 != 0; do { if (bVar5) { ppuVar3 = (undefined1 **)(local_40 + (longlong)(int)uVar4 * 8); } else { if (*(int *)(*plVar1 + 0xc) < DAT_18267af70) { _Init_thread_header(&DAT_18267af70); if (DAT_18267af70 == -1) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } } ppuVar3 = &DAT_18267af68; } if (**ppuVar3 == '\0') { FUN_181348300(param_1 + 0x49); } else { if (uVar4 < uStack_34) { ppuVar3 = (undefined1 **)(local_40 + (longlong)(int)uVar4 * 8); } else { if (*(int *)(*plVar1 + 0xc) < DAT_18267af70) { _Init_thread_header(&DAT_18267af70); if (DAT_18267af70 == -1) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } } ppuVar3 = &DAT_18267af68; } pcVar2 = *ppuVar3; if ((*pcVar2 != '\0') && (uVar4 + 1 != 0)) { if ((*(uint *)(pcVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar2 + -0x10) = *(int *)(pcVar2 + -0x10) + 1; UNLOCK(); } local_res8 = pcVar2; FUN_1813486a0(param_1 + 0x49,uVar4 + 1,&local_res8,1,0); } } uVar4 = uVar4 + 1; bVar5 = uVar4 < uStack_34; } while ((int)uVar4 < (int)uStack_34); } FUN_181348300(param_1 + 0x49); FUN_180488c50(&local_30); /* WARNING: Subroutine does not return */ free(local_30); } ############ FUN_ 18132a0d0 size=1703 ############ void FUN_18132a0d0(undefined8 param_1,undefined8 *param_2) { bool bVar1; char *pcVar2; longlong lVar3; uint uVar4; BOOL BVar5; int iVar6; undefined8 uVar7; undefined8 *puVar8; longlong *plVar9; uint *puVar10; longlong lVar11; ulonglong uVar12; undefined1 auStackY_218 [32]; char local_1d8 [8]; undefined8 local_1d0; char *local_1c8; longlong local_1c0; char *local_1b8; char *local_1b0; longlong local_1a8; longlong local_1a0; longlong local_198; longlong *local_190; undefined8 local_188; undefined1 *local_180; undefined1 *local_178; longlong local_170; longlong local_168; undefined1 local_160 [8]; longlong local_158; longlong local_150; longlong local_148; longlong local_140; longlong local_138; longlong local_130; longlong local_128; undefined1 local_120 [8]; longlong local_118; undefined1 local_110 [8]; longlong local_108; undefined1 local_100 [8]; char *local_f8; longlong local_f0 [2]; undefined1 local_e0 [8]; uint *local_d8; char *local_d0; WCHAR local_c8 [64]; ulonglong local_48; local_f0[1] = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStackY_218; local_190 = (longlong *)0x0; local_188 = 0; local_1d0 = param_1; FUN_181217680(&local_190); FUN_180488c50(param_2); if (*(int *)(param_2 + 1) != 0) { /* WARNING: Subroutine does not return */ free((void *)*param_2); } *(undefined4 *)(param_2 + 1) = 0; if (0 < (int)local_188._4_4_) { uVar12 = (ulonglong)local_188._4_4_; plVar9 = local_190; do { local_1c0 = *plVar9; if ((*(uint *)(local_1c0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1c0 + -0x10) = *(int *)(local_1c0 + -0x10) + 1; UNLOCK(); } if ((*(uint *)(local_1c0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1c0 + -0x10) = *(int *)(local_1c0 + -0x10) + 1; UNLOCK(); } local_1a8 = local_1c0; FUN_18122dc00(param_2,&local_1a8); if (*(char *)*plVar9 == '\0') { bVar1 = false; } else { uVar4 = FUN_181218410(plVar9); if (((uVar4 == 3) || (uVar4 == 0)) || (5 < uVar4)) { bVar1 = true; } else { bVar1 = false; } } if (bVar1) { local_1a0 = *plVar9; if ((*(uint *)(local_1a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1a0 + -0x10) = *(int *)(local_1a0 + -0x10) + 1; UNLOCK(); } uVar7 = FUN_1812184a0(local_f0,&local_1a0); puVar8 = (undefined8 *)FUN_18049a930(local_e0,uVar7); BVar5 = GetVolumeInformationW ((LPCWSTR)*puVar8,local_c8,0x40,(LPDWORD)0x0,(LPDWORD)0x0,(LPDWORD)0x0, (LPWSTR)0x0,0); puVar10 = (uint *)(local_f0[0] + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if (BVar5 == 0) { local_c8[0] = L'\0'; } FUN_18049c800(&local_1b0,local_c8); if (*local_1b0 == '\0') { FUN_18049c4e0(&local_1c8,"Hard Drive"); lVar3 = DAT_1826739f8; local_d8 = &DAT_182673984; do { LOCK(); uVar4 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar4 != 0); if (DAT_1826739f8 == 0) { local_1b8 = local_1c8; uVar4 = *(uint *)(local_1c8 + -0x10); LAB_18132a353: if ((uVar4 & 0x30000000) == 0) { LOCK(); *(int *)(local_1b8 + -0x10) = *(int *)(local_1b8 + -0x10) + 1; UNLOCK(); } } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar6 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_1c8, *(undefined1 *)(DAT_1826739f8 + 0x38)), -1 < iVar6)) { iVar6 = FUN_1812498b0(lVar3 + 0x18,local_1c8,*(undefined1 *)(lVar3 + 0x38)); if (iVar6 < 0) { local_1b8 = local_1c8; uVar4 = *(uint *)(local_1c8 + -0x10); } else { puVar8 = (undefined8 *)FUN_181249970(lVar3 + 0x28,iVar6); local_1b8 = (char *)*puVar8; uVar4 = *(uint *)(local_1b8 + -0x10); } goto LAB_18132a353; } FUN_181234570(*(undefined8 *)(lVar3 + 0x40),&local_1b8,&local_1c8); } pcVar2 = local_1b0; LOCK(); DAT_182673984 = 0; UNLOCK(); puVar10 = (uint *)(local_1c8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_d0 = local_1b0; local_1b0 = local_1b8; local_1b8 = pcVar2; puVar10 = (uint *)(pcVar2 + -0x10); param_1 = local_1d0; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } FUN_181232e20(&local_1c0,&DAT_1821e2c2c,&DAT_1821e2c2e); uVar7 = FUN_181232d30(&local_1c0,&local_1b0); local_1d8[0] = ']'; local_1d8[1] = '\0'; lVar3 = -1; do { lVar11 = lVar3; lVar3 = lVar11 + 1; } while (local_1d8[lVar11 + 1] != '\0'); local_f8 = local_1d8 + lVar11 + 1; FUN_181232e20(uVar7,local_1d8); puVar10 = (uint *)(local_1b0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } else { iVar6 = FUN_181218410(plVar9); if (iVar6 == 5) { FUN_18049c4e0(&local_140,"CD/DVD drive"); FUN_1812344e0(&local_138,&local_140); puVar10 = (uint *)(local_140 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_181232e20(&local_1c0,&DAT_1821e2c1c,&DAT_1821e2c1e); uVar7 = FUN_181232d30(&local_1c0,&local_138); FUN_181232ce0(uVar7,0x5d); puVar10 = (uint *)(local_138 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } } local_198 = local_1c0; if ((*(uint *)(local_1c0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1c0 + -0x10) = *(int *)(local_1c0 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_1,&local_198); puVar10 = (uint *)(local_1c0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } plVar9 = plVar9 + 1; uVar12 = uVar12 - 1; } while (uVar12 != 0); } local_180 = &DAT_1821dbf98; FUN_18122dc00(param_2,&local_180); local_178 = &DAT_1821dbf98; FUN_18122dc00(param_1,&local_178); plVar9 = (longlong *)FUN_181249b30(&local_130,1); local_170 = *plVar9; if ((*(uint *)(local_170 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_170 + -0x10) = *(int *)(local_170 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_2,&local_170); puVar10 = (uint *)(local_130 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_18049c4e0(&local_168,"Documents"); FUN_1812344e0(local_160,&local_168); puVar10 = (uint *)(local_168 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_18122dc00(param_1,local_160); plVar9 = (longlong *)FUN_181249b30(&local_128,3); local_158 = *plVar9; if ((*(uint *)(local_158 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_158 + -0x10) = *(int *)(local_158 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_2,&local_158); puVar10 = (uint *)(local_128 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar7 = FUN_181249dc0(local_120,"Music"); FUN_18122dc00(param_1,uVar7); plVar9 = (longlong *)FUN_181249b30(&local_118,5); local_150 = *plVar9; if ((*(uint *)(local_150 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_150 + -0x10) = *(int *)(local_150 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_2,&local_150); puVar10 = (uint *)(local_118 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar7 = FUN_181249dc0(local_110,"Pictures"); FUN_18122dc00(param_1,uVar7); plVar9 = (longlong *)FUN_181249b30(&local_108,2); local_148 = *plVar9; if ((*(uint *)(local_148 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_148 + -0x10) = *(int *)(local_148 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_2,&local_148); puVar10 = (uint *)(local_108 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar7 = FUN_181249dc0(local_100,"Desktop"); FUN_18122dc00(param_1,uVar7); FUN_180488c50(&local_190); /* WARNING: Subroutine does not return */ free(local_190); } ############ FUN_ 1812ede40 size=172 ############ void FUN_1812ede40(undefined8 *param_1) { int *piVar1; int iVar2; longlong lVar3; longlong *plVar4; undefined8 *puVar5; longlong *plVar6; *param_1 = juce::ChoicePropertyComponent::vftable; param_1[0x16] = juce::ChoicePropertyComponent::vftable; lVar3 = param_1[0x4e]; if ((lVar3 != 0) && (*(longlong *)(lVar3 + 0x10) != 0)) { if (lVar3 == 0) { plVar6 = (longlong *)0x0; } else { plVar6 = *(longlong **)(lVar3 + 0x10); } plVar4 = (longlong *)plVar6[7]; if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x20))(plVar4,plVar4 != plVar6); plVar6[7] = 0; } } puVar5 = (undefined8 *)param_1[0x4e]; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } FUN_1813495d0(param_1 + 0x1b); FUN_180488c50(param_1 + 0x19); /* WARNING: Subroutine does not return */ free((void *)param_1[0x19]); } ############ FUN_ 180510130 size=528 ############ int FUN_180510130(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong lVar2; uint uVar3; uint *puVar4; ulonglong uVar5; int iVar6; ulonglong uVar7; undefined1 local_res8 [16]; undefined1 local_res18 [8]; undefined8 local_res20; undefined8 uVar8; int local_98 [4]; HGLOBAL local_88; longlong local_78; ulonglong local_70; int local_68 [4]; HGLOBAL local_58; longlong local_48; longlong local_40; uVar8 = 0xfffffffffffffffe; if (*(char *)(param_1 + 0x38) == '\0') { puVar1 = (undefined8 *)(param_1 + 0x18); FUN_180488c50(puVar1); if (*(int *)(param_1 + 0x20) != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar1); } *(undefined4 *)(param_1 + 0x20) = 0; puVar4 = (uint *)(*(longlong *)(param_1 + 0x28) + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } *(undefined1 **)(param_1 + 0x28) = &DAT_1821dbf98; FUN_18050ff90(local_98,param_2,0xf,param_4,uVar8); if (local_98[0] < 0) { if (local_78 != 0) { GlobalUnlock(local_88); } FUN_18050ff90(local_68,param_2,0xd,param_4,uVar8); iVar6 = local_68[0]; if (-1 < local_68[0]) { FUN_18049cfa0(&local_res20,local_48,local_40 + local_48); lVar2 = *(longlong *)(param_1 + 0x28); *(undefined8 *)(param_1 + 0x28) = local_res20; puVar4 = (uint *)(lVar2 + -0x10); iVar6 = 0; if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); iVar6 = 0; if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } if (local_48 != 0) { GlobalUnlock(local_58); } } else { lVar2 = local_78 + 0x14; uVar7 = 0; if (*(int *)(local_78 + 0x10) == 0) { while( true ) { iVar6 = 0; uVar5 = uVar7; if (local_70 <= uVar7) break; do { if (*(char *)(uVar5 + lVar2) == '\0') break; iVar6 = iVar6 + 1; uVar5 = (ulonglong)((int)uVar5 + 1); } while (uVar5 < local_70); if (iVar6 == 0) break; FUN_18049c670(local_res18,uVar7 + lVar2,iVar6); FUN_18122dc00(puVar1,local_res18); uVar7 = (ulonglong)(uint)((int)uVar7 + 1 + iVar6); } } else { while( true ) { iVar6 = 0; uVar5 = uVar7; if (local_70 <= uVar7) break; do { if (*(short *)(lVar2 + uVar5 * 2) == 0) break; iVar6 = iVar6 + 1; uVar5 = (ulonglong)((int)uVar5 + 1); } while (uVar5 < local_70); if (iVar6 == 0) break; FUN_18049cc00(local_res8,lVar2 + uVar7 * 2,iVar6); FUN_18122dc00(puVar1,local_res8); uVar7 = (ulonglong)(uint)((int)uVar7 + 1 + iVar6); } } if (local_78 != 0) { GlobalUnlock(local_88); } iVar6 = 0; } } else { iVar6 = 1; } return iVar6; } ############ FUN_ 18050fbe0 size=206 ############ undefined8 FUN_18050fbe0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; uint *_Memory; void *local_30; undefined8 local_28; longlong local_20; undefined8 local_18; if (*(char *)(param_1 + 0x38) != '\0') { return 1; } lVar2 = *(longlong *)(param_1 + 0x10); local_30 = (void *)0x0; local_28 = 0; FUN_18048c4c0(&local_30,*(undefined8 *)(param_1 + 0x18),*(undefined4 *)(param_1 + 0x24),param_4, 0xfffffffffffffffe); local_20 = *(longlong *)(param_1 + 0x28); if ((*(uint *)(local_20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_20 + -0x10) = *(int *)(local_20 + -0x10) + 1; UNLOCK(); } local_18 = 0xffffffffffffffff; FUN_1812d1180(lVar2,&local_30); *(undefined8 *)(lVar2 + 0x50) = 0; _Memory = (uint *)(local_20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180488c50(&local_30); /* WARNING: Subroutine does not return */ free(local_30); } ############ FUN_ 1812d0dc0 size=722 ############ /* WARNING: Removing unreachable block (ram,0x0001812d0ecf) */ /* WARNING: Removing unreachable block (ram,0x0001812d0e6f) */ /* WARNING: Removing unreachable block (ram,0x0001812d0eb4) */ /* WARNING: Removing unreachable block (ram,0x0001812d0f2c) */ undefined8 FUN_1812d0dc0(longlong param_1,undefined8 *param_2) { longlong *plVar1; int *piVar2; uint *_Memory; int iVar3; uint uVar4; undefined8 *puVar5; char cVar6; longlong lVar7; TypeDescriptor *pTVar8; undefined8 local_res18; undefined8 *local_res20; void *local_f8; undefined8 local_f0; longlong local_e8; undefined8 local_e0; undefined8 **local_d8; undefined8 *local_d0; undefined8 local_c8; undefined8 local_c0; longlong local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; longlong local_98; undefined8 local_90; undefined8 local_88; undefined1 *local_80; undefined1 local_78 [56]; undefined8 local_40; local_88 = 0xfffffffffffffffe; FUN_1812d1180(); puVar5 = *(undefined8 **)(param_1 + 0x48); if (puVar5 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); plVar1 = puVar5 + 2; if (*plVar1 != 0) { local_res20 = *(undefined8 **)(param_1 + 0x48); *(undefined8 *)(param_1 + 0x48) = 0; if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(local_res20 + 1); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res20)(local_res20,1); } } *(undefined8 *)(param_1 + 0x50) = 0; pTVar8 = &juce::FileDragAndDropTarget::RTTI_Type_Descriptor; if (*(int *)((longlong)param_2 + 0xc) == 0) { pTVar8 = &juce::TextDragAndDropTarget::RTTI_Type_Descriptor; } lVar7 = __RTDynamicCast(*plVar1,0,&juce::Component::RTTI_Type_Descriptor,pTVar8,0); if (lVar7 != 0) { cVar6 = FUN_181343030(*plVar1); if (cVar6 != '\0') { FUN_181341760(); cVar6 = FUN_181343030(*plVar1); if (cVar6 != '\0') { LOCK(); piVar2 = (int *)(puVar5 + 1); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar5)(puVar5,1); } return 1; } } local_f8 = (void *)0x0; local_f0 = 0; FUN_18048c4c0(&local_f8,*param_2,*(undefined4 *)((longlong)param_2 + 0xc)); local_e8 = param_2[2]; _Memory = (uint *)(local_e8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_e0 = param_2[3]; FUN_18051db10(&local_res18,*plVar1,*(undefined8 *)(param_1 + 8)); local_e0 = local_res18; local_80 = local_78; LOCK(); *(int *)(puVar5 + 1) = *(int *)(puVar5 + 1) + 1; UNLOCK(); local_c8 = 0; local_c0 = 0; local_d0 = puVar5; FUN_18048c4c0(&local_c8,*param_2,*(undefined4 *)((longlong)param_2 + 0xc)); local_b8 = param_2[2]; if ((*(uint *)(local_b8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_b8 + -0x10) = *(int *)(local_b8 + -0x10) + 1; UNLOCK(); } local_b0 = param_2[3]; local_a8 = 0; local_a0 = 0; FUN_18048c4c0(&local_a8,local_f8,local_f0._4_4_); local_98 = local_e8; if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_90 = local_res18; local_d8 = &local_d0; local_40 = 0; local_40 = FUN_180523f00(&local_d0); FUN_18050c410(&local_d0); FUN_1812a7460(local_78); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180488c50(&local_f8); /* WARNING: Subroutine does not return */ free(local_f8); } } } if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(puVar5 + 1); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar5)(puVar5,1); } } return 0; } ############ FUN_ 1805164f0 size=77 ############ void FUN_1805164f0(longlong param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)(param_1 + 0x28) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180488c50(param_1 + 0x18); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x18)); } ############ FUN_ 180521360 size=40 ############ void FUN_180521360(longlong param_1) { FUN_180488c50(param_1 + 8); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 8)); } ############ FUN_ 181329930 size=226 ############ void FUN_181329930(undefined8 param_1,undefined8 *param_2) { uint uVar1; bool bVar2; bool bVar3; undefined1 **ppuVar4; uint *puVar5; undefined1 *local_res10; undefined1 *local_res18; longlong *local_18; int local_c; local_res10 = (undefined1 *)((ulonglong)local_res10 & 0xffffffff00000000); FUN_181329a30(param_1,&local_18); if (local_c < 1) { bVar3 = false; bVar2 = true; local_res10 = &DAT_1821dbf98; ppuVar4 = &local_res10; } else { bVar3 = true; bVar2 = false; local_res18 = (undefined1 *)*local_18; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } ppuVar4 = &local_res18; } *param_2 = *ppuVar4; *ppuVar4 = &DAT_1821dbf98; if (bVar2) { puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } if ((bVar3) && (puVar5 = (uint *)(local_res18 + -0x10), (*puVar5 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_180488c50(&local_18); /* WARNING: Subroutine does not return */ free(local_18); } ############ FUN_ 180527c20 size=208 ############ void FUN_180527c20(undefined8 *param_1) { uint uVar1; uint *_Memory; *param_1 = juce::PropertiesFile::vftable; param_1[0xd] = juce::PropertiesFile::vftable; param_1[0x14] = juce::PropertiesFile::vftable; FUN_181351cf0(); FUN_180527b70(param_1 + 0x18); _Memory = (uint *)(param_1[0x17] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x14] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x14); FUN_1812a5870(param_1 + 0xd); *param_1 = juce::PropertySet::vftable; DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 7)); FUN_180488c50(param_1 + 3); /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } ############ FUN_ 1813ad2e0 size=636 ############ void FUN_1813ad2e0(undefined8 param_1,longlong *param_2,ulonglong param_3) { int *piVar1; uint uVar2; bool bVar3; char cVar4; int iVar5; undefined4 *puVar6; longlong lVar7; ulonglong uVar8; char *pcVar9; size_t _Size; undefined **ppuVar10; char *_Src; bool bVar11; void *local_58; undefined8 local_50; char *local_48; longlong local_40; local_48 = (char *)0x0; local_40 = 0; (**(code **)(*param_2 + 0xb8))(param_2,4); (**(code **)(*param_2 + 0xa0))(param_2,&local_48,(param_3 & 0xffffffff) - 4); local_58 = (void *)0x0; local_50 = 0; pcVar9 = local_48 + local_40; if (local_48 < pcVar9) { _Src = local_48; do { bVar3 = false; cVar4 = FUN_1813ad600(_Src); if (cVar4 != '\0') { if ((_Src == (char *)0x0) || (*_Src == '\0')) { puVar6 = (undefined4 *)&DAT_1821dbf98; } else { _Size = (longlong)pcVar9 - (longlong)_Src; uVar8 = _Size + 4 & 0xfffffffffffffffc; puVar6 = (undefined4 *)thunk_FUN_1811316e0(uVar8 + 0x17); LOCK(); *puVar6 = 0; UNLOCK(); *(ulonglong *)(puVar6 + 2) = uVar8; puVar6 = puVar6 + 4; memcpy(puVar6,_Src,_Size); *(undefined1 *)((longlong)puVar6 + _Size) = 0; } ppuVar10 = &PTR_s_Rock_Blues_182634640; do { iVar5 = FUN_18048cbc0(puVar6,*ppuVar10); if (iVar5 == 0) { bVar3 = true; goto LAB_1813ad400; } ppuVar10 = ppuVar10 + 1; } while ((longlong)ppuVar10 < 0x182634690); bVar3 = false; LAB_1813ad400: if ((puVar6[-4] & 0x30000000) == 0) { LOCK(); puVar6[-4] = puVar6[-4] + 1; UNLOCK(); } iVar5 = local_50._4_4_ + 1; if ((int)local_50 < iVar5) { if (iVar5 < 0) { iVar5 = local_50._4_4_ + 2; } FUN_18048a300(&local_58,local_50._4_4_ + 9 + (iVar5 >> 1) & 0xfffffff8); } lVar7 = (longlong)local_50._4_4_; local_50 = CONCAT44(local_50._4_4_ + 1,(int)local_50); *(undefined4 **)((longlong)local_58 + lVar7 * 8) = puVar6; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar11 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar11) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((puVar6[-4] & 0x30000000) == 0) { LOCK(); piVar1 = puVar6 + -4; iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6 + -4); } } } lVar7 = 0x32; if (bVar3) { lVar7 = 0x76; } _Src = _Src + lVar7; if (pcVar9 <= _Src) break; if (*_Src == '\0') { if ((_Src + 0x34 < pcVar9) && (cVar4 = FUN_1813ad600(_Src + 0x32), cVar4 != '\0')) { _Src = _Src + 0x32; } else if ((_Src + 0x78 < pcVar9) && (cVar4 = FUN_1813ad600(_Src + 0x76), cVar4 != '\0')) { _Src = _Src + 0x76; } else if (_Src + 0xaa < pcVar9) { cVar4 = FUN_1813ad600(_Src + 0xa8); if (cVar4 != '\0') { _Src = _Src + 0xa8; } } } } while (_Src < pcVar9); } FUN_18122d360(&local_58,param_1,&DAT_1821e3d8c); FUN_180488c50(&local_58); /* WARNING: Subroutine does not return */ free(local_58); } ############ FUN_ 18054dee0 size=241 ############ void FUN_18054dee0(undefined8 *param_1) { int *piVar1; longlong *plVar2; int iVar3; undefined8 *puVar4; longlong *plVar5; code *pcVar6; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; *param_1 = juce::WasapiClasses::WASAPIAudioIODeviceType::vftable; param_1[4] = juce::WasapiClasses::WASAPIAudioIODeviceType::vftable; if (param_1[0x13] != 0) { (**(code **)(*(longlong *)param_1[0x12] + 0x38))(); } if (param_1[0x14] != 0) { *(undefined8 *)(param_1[0x14] + 0x10) = 0; } puVar4 = (undefined8 *)param_1[0x14]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } plVar5 = (longlong *)param_1[0x13]; if (plVar5 != (longlong *)0x0) { pcVar6 = (code *)((undefined **)*plVar5)[2]; if ((undefined **)*plVar5 == juce::WasapiClasses::WASAPIAudioIODeviceType::ChangeNotificationClient::vftable) { plVar2 = plVar5 + 1; *(int *)plVar2 = (int)*plVar2 + -1; if ((int)*plVar2 == 0) { (*(code *)juce::WasapiClasses::WASAPIAudioIODeviceType::ChangeNotificationClient::vftable[8] )(plVar5,1,pcVar6, juce::WasapiClasses::WASAPIAudioIODeviceType::ChangeNotificationClient::vftable,uVar7); } } else { (*pcVar6)(); } } if ((longlong *)param_1[0x12] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[0x12] + 0x10))(); } FUN_180488c50(param_1 + 0xf); /* WARNING: Subroutine does not return */ free((void *)param_1[0xf]); } ############ FUN_ 18054e0a0 size=198 ############ void FUN_18054e0a0(longlong param_1) { undefined8 *puVar1; *(undefined1 *)(param_1 + 0x89) = 1; FUN_180488c50(param_1 + 0x48); if (*(int *)(param_1 + 0x50) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x48)); } *(undefined4 *)(param_1 + 0x50) = 0; FUN_180488c50(param_1 + 0x68); if (*(int *)(param_1 + 0x70) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x68)); } *(undefined4 *)(param_1 + 0x70) = 0; FUN_180488c50(param_1 + 0x58); if (*(int *)(param_1 + 0x60) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x58)); } puVar1 = (undefined8 *)(param_1 + 0x78); *(undefined4 *)(param_1 + 0x60) = 0; FUN_180488c50(puVar1); if (*(int *)(param_1 + 0x80) != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar1); } *(undefined4 *)(param_1 + 0x80) = 0; FUN_18054e570(param_1,param_1 + 0x48,param_1 + 0x68,param_1 + 0x58,puVar1); return; } ############ FUN_ 18054eb80 size=954 ############ void FUN_18054eb80(longlong param_1) { longlong **pplVar1; undefined4 uVar2; undefined4 uVar3; longlong *plVar4; bool bVar5; int iVar6; int iVar7; longlong *plVar8; longlong *plVar9; longlong *local_70; undefined8 local_68; longlong *local_60; undefined8 local_58; longlong *local_50; undefined8 local_48; longlong *local_40; undefined8 local_38; longlong *local_30; undefined8 local_28; local_40 = (longlong *)0x0; local_38 = 0; local_30 = (longlong *)0x0; local_28 = 0; local_50 = (longlong *)0x0; local_48 = 0; local_60 = (longlong *)0x0; local_58 = 0; FUN_18054e570(param_1 + -0x20,&local_40,&local_30,&local_50,&local_60); pplVar1 = (longlong **)(param_1 + 0x28); if (local_38._4_4_ == *(int *)(param_1 + 0x34)) { plVar8 = *pplVar1; plVar4 = plVar8 + *(int *)(param_1 + 0x34); plVar9 = local_40; for (; plVar8 != plVar4; plVar8 = plVar8 + 1) { if (*plVar9 == *plVar8) { iVar7 = 0; } else { iVar7 = FUN_18048cbc0(*plVar9,*plVar8); } plVar9 = plVar9 + 1; if (iVar7 != 0) goto LAB_18054ebfc; } bVar5 = true; } else { LAB_18054ebfc: bVar5 = false; } iVar7 = local_28._4_4_; if (bVar5) { if (local_28._4_4_ == *(int *)(param_1 + 0x54)) { plVar8 = *(longlong **)(param_1 + 0x48); plVar4 = plVar8 + *(int *)(param_1 + 0x54); plVar9 = local_30; for (; plVar8 != plVar4; plVar8 = plVar8 + 1) { if (*plVar9 == *plVar8) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*plVar9,*plVar8); } plVar9 = plVar9 + 1; if (iVar6 != 0) goto LAB_18054ec5a; } bVar5 = true; } else { LAB_18054ec5a: bVar5 = false; } if (bVar5) { if (local_48._4_4_ == *(int *)(param_1 + 0x44)) { plVar8 = *(longlong **)(param_1 + 0x38); plVar4 = plVar8 + *(int *)(param_1 + 0x44); plVar9 = local_50; for (; plVar8 != plVar4; plVar8 = plVar8 + 1) { if (*plVar9 == *plVar8) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*plVar9,*plVar8); } plVar9 = plVar9 + 1; if (iVar6 != 0) goto LAB_18054ecb5; } bVar5 = true; } else { LAB_18054ecb5: bVar5 = false; } if (bVar5) { if (local_58._4_4_ == *(int *)(param_1 + 100)) { plVar8 = *(longlong **)(param_1 + 0x58); plVar4 = plVar8 + *(int *)(param_1 + 100); plVar9 = local_60; for (; plVar8 != plVar4; plVar8 = plVar8 + 1) { if (*plVar9 == *plVar8) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*plVar9,*plVar8); } plVar9 = plVar9 + 1; if (iVar6 != 0) goto LAB_18054ed11; } bVar5 = true; } else { LAB_18054ed11: bVar5 = false; } if (bVar5) goto LAB_18054eef9; } } } *(undefined1 *)(param_1 + 0x69) = 1; if (pplVar1 != &local_40) { local_70 = (longlong *)0x0; local_68 = 0; FUN_18048c4c0(&local_70,local_40,local_38._4_4_); plVar4 = *pplVar1; *pplVar1 = local_70; uVar2 = *(undefined4 *)(param_1 + 0x30); *(undefined4 *)(param_1 + 0x30) = (undefined4)local_68; uVar3 = *(undefined4 *)(param_1 + 0x34); *(undefined4 *)(param_1 + 0x34) = local_68._4_4_; local_68 = CONCAT44(uVar3,uVar2); local_70 = plVar4; FUN_180488c50(&local_70); /* WARNING: Subroutine does not return */ free(local_70); } pplVar1 = (longlong **)(param_1 + 0x48); if (pplVar1 != &local_30) { local_70 = (longlong *)0x0; local_68 = 0; FUN_18048c4c0(&local_70,local_30,iVar7); plVar4 = *pplVar1; *pplVar1 = local_70; uVar2 = *(undefined4 *)(param_1 + 0x50); *(undefined4 *)(param_1 + 0x50) = (undefined4)local_68; uVar3 = *(undefined4 *)(param_1 + 0x54); *(undefined4 *)(param_1 + 0x54) = local_68._4_4_; local_68 = CONCAT44(uVar3,uVar2); local_70 = plVar4; FUN_180488c50(&local_70); /* WARNING: Subroutine does not return */ free(local_70); } pplVar1 = (longlong **)(param_1 + 0x38); if (pplVar1 != &local_50) { local_70 = (longlong *)0x0; local_68 = 0; FUN_18048c4c0(&local_70,local_50,local_48._4_4_); plVar4 = *pplVar1; *pplVar1 = local_70; uVar2 = *(undefined4 *)(param_1 + 0x40); *(undefined4 *)(param_1 + 0x40) = (undefined4)local_68; uVar3 = *(undefined4 *)(param_1 + 0x44); *(undefined4 *)(param_1 + 0x44) = local_68._4_4_; local_68 = CONCAT44(uVar3,uVar2); local_70 = plVar4; FUN_180488c50(&local_70); /* WARNING: Subroutine does not return */ free(local_70); } pplVar1 = (longlong **)(param_1 + 0x58); if (pplVar1 != &local_60) { local_70 = (longlong *)0x0; local_68 = 0; FUN_18048c4c0(&local_70,local_60,local_58._4_4_); plVar4 = *pplVar1; *pplVar1 = local_70; uVar2 = *(undefined4 *)(param_1 + 0x60); *(undefined4 *)(param_1 + 0x60) = (undefined4)local_68; uVar3 = *(undefined4 *)(param_1 + 100); *(undefined4 *)(param_1 + 100) = local_68._4_4_; local_68 = CONCAT44(uVar3,uVar2); local_70 = plVar4; FUN_180488c50(&local_70); /* WARNING: Subroutine does not return */ free(local_70); } LAB_18054eef9: iVar7 = *(int *)(param_1 + -4); while (0 < iVar7) { iVar7 = iVar7 + -1; if ((*(int *)(param_1 + -4) <= iVar7) && (iVar7 = *(int *)(param_1 + -4) + -1, iVar7 < 0)) break; (**(code **)(**(longlong **)(*(longlong *)(param_1 + -0x10) + (longlong)iVar7 * 8) + 8))(); } FUN_180488c50(&local_60); /* WARNING: Subroutine does not return */ free(local_60); } ############ FUN_ 1805519f0 size=167 ############ void FUN_1805519f0(undefined8 *param_1) { code *pcVar1; FUN_180488c50(); if (*(int *)(param_1 + 1) != 0) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } *(undefined4 *)(param_1 + 1) = 0; FUN_180488c50(param_1 + 2); if (*(int *)(param_1 + 3) != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } *(undefined4 *)(param_1 + 3) = 0; *(undefined4 *)((longlong)param_1 + 0x2c) = 0; if (*(int *)(param_1 + 5) != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[4]); } *(undefined4 *)(param_1 + 5) = 0; *(undefined4 *)((longlong)param_1 + 0x3c) = 0; pcVar1 = DAT_182678f38; if (*(int *)(param_1 + 7) != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[6]); } *(undefined4 *)(param_1 + 7) = 0; if (pcVar1 != (code *)0x0) { (*pcVar1)(FUN_180551f60,param_1); (*DAT_182678f48)(FUN_180551fa0,param_1); } return; } ############ FUN_ 1805782c0 size=57 ############ void FUN_1805782c0(longlong param_1) { FUN_180577b60(param_1 + 0x200); FUN_180488c50(param_1 + 0x1f0); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x1f0)); } ############ FUN_ 180580de0 size=159 ############ void FUN_180580de0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { *param_1 = CloudyComboBoxRadioButtons::vftable; param_1[0x16] = CloudyComboBoxRadioButtons::vftable; param_1[0x19] = CloudyComboBoxRadioButtons::vftable; param_1[0x1b] = CloudyComboBoxRadioButtons::vftable; FUN_1811bc940(param_1[0x1f],param_1 + 0x1b,param_3,param_4,0xfffffffffffffffe); FUN_1805826a0(param_1 + 0x26); FUN_1805826a0(param_1 + 0x22); FUN_180488c50(param_1 + 0x20); /* WARNING: Subroutine does not return */ free((void *)param_1[0x20]); } ############ FUN_ 180597b60 size=386 ############ void FUN_180597b60(longlong param_1) { longlong *plVar1; void *pvVar2; longlong lVar3; plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x70) + 400); if (plVar1 != (longlong *)0x0) { if ((undefined **)*plVar1 == CloudyOpenGLRenderer::vftable) { EnterCriticalSection((LPCRITICAL_SECTION)((longlong)plVar1 + 0xb4)); LOCK(); *(undefined1 *)((longlong)plVar1 + 0x83) = 0; UNLOCK(); pvVar2 = (void *)plVar1[0xf]; plVar1[0xf] = 0; if (pvVar2 != (void *)0x0) { FUN_18056afc0(pvVar2); /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar2 = (void *)plVar1[0xd]; plVar1[0xd] = 0; if (pvVar2 != (void *)0x0) { FUN_18163bcd0(pvVar2); /* WARNING: Subroutine does not return */ free(pvVar2); } LOCK(); *(undefined1 *)(plVar1 + 0x10) = 0; UNLOCK(); *(undefined8 *)((longlong)plVar1 + 0x94) = 0; *(undefined8 *)((longlong)plVar1 + 0x9c) = 0; LeaveCriticalSection((LPCRITICAL_SECTION)((longlong)plVar1 + 0xb4)); } else { (*(code *)((undefined **)*plVar1)[3])(plVar1); } } FUN_180488c50(param_1 + 0xe0); if (*(int *)(param_1 + 0xe8) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0xe0)); } *(undefined4 *)(param_1 + 0xe8) = 0; FUN_180488f10(); if (*(int *)(param_1 + 0xf8) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0xf0)); } *(undefined4 *)(param_1 + 0xf8) = 0; lVar3 = *(longlong *)(param_1 + 0x80); *(undefined8 *)(param_1 + 0x80) = 0; if (lVar3 != 0) { FUN_18059b780(); } lVar3 = *(longlong *)(param_1 + 0x88); *(undefined8 *)(param_1 + 0x88) = 0; if (lVar3 != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar3 + 8)); } lVar3 = *(longlong *)(param_1 + 0x68); wglMakeCurrent((HDC)0x0,(HGLRC)0x0); *(undefined8 *)(lVar3 + 0x38) = 0; return; } ############ FUN_ 1811ae7e0 size=262 ############ void FUN_1811ae7e0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8, longlong param_9) { undefined1 auStack_488 [112]; undefined4 local_418; undefined8 local_410; void *local_408; undefined8 local_400; void **local_3e8; undefined8 local_3e0; undefined8 *local_3d8; undefined8 local_3d0; undefined1 *local_3c8; undefined1 *local_3c0; undefined1 *local_3b8; undefined1 local_3b0 [64]; undefined1 local_370 [56]; undefined8 local_338; undefined1 local_330 [280]; undefined1 local_218 [224]; undefined1 local_138 [224]; ulonglong local_58; local_3e0 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_488; local_3d0 = param_6; local_418 = 0; local_3c8 = local_370; local_3c0 = local_330; local_3b8 = local_3b0; local_410 = param_1; local_3d8 = param_4; if (param_9 == 0) { FUN_1811aa2b0(local_138,*(undefined4 *)((longlong)param_4 + 0xc)); local_418 = 1; } else { FUN_180484da0(local_218); local_418 = 2; } local_408 = (void *)0x0; local_400 = 0; FUN_18048c4c0(&local_408,*param_4,*(undefined4 *)((longlong)param_4 + 0xc)); local_3e8 = &local_408; local_338 = 0; local_338 = FUN_18048ec10(&local_408); FUN_180488c50(&local_408); /* WARNING: Subroutine does not return */ free(local_408); } ############ FUN_ 1811a7450 size=190 ############ void FUN_1811a7450(longlong *param_1,undefined8 *param_2) { int *_Memory; int iVar1; longlong lVar2; int iVar3; longlong lVar4; lVar2 = *param_1; iVar1 = *(int *)((longlong)param_2 + 0xc); if (0 < iVar1) { lVar4 = 0; do { iVar3 = FUN_18048cbc0(lVar2); if (iVar3 == 0) break; lVar4 = lVar4 + 1; } while (lVar4 < iVar1); } _Memory = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180488c50(param_2); /* WARNING: Subroutine does not return */ free((void *)*param_2); } ############ FUN_ 181212cd0 size=123 ############ void FUN_181212cd0(undefined8 *param_1) { longlong lVar1; longlong lVar2; lVar1 = param_1[1]; *param_1 = juce::WebInputStream::vftable; if (lVar1 != 0) { lVar2 = *(longlong *)(lVar1 + 0x60); *(undefined8 *)(lVar1 + 0x60) = 0; if (lVar2 != 0) { InternetCloseHandle(); } if (*(longlong *)(lVar1 + 0x58) != 0) { InternetCloseHandle(); *(undefined8 *)(lVar1 + 0x58) = 0; } DeleteCriticalSection((LPCRITICAL_SECTION)(lVar1 + 200)); FUN_180488c50(lVar1 + 0xb0); /* WARNING: Subroutine does not return */ free(*(void **)(lVar1 + 0xb0)); } return; } ############ FUN_ 181227e70 size=914 ############ void FUN_181227e70(undefined8 param_1) { uint uVar1; int iVar2; int iVar3; int iVar4; int iVar5; undefined1 **ppuVar6; undefined1 **ppuVar7; longlong *plVar8; int iVar9; ulonglong uVar10; undefined1 **ppuVar11; bool bVar12; undefined1 **local_60; undefined8 local_58; undefined1 **local_50; undefined8 local_48; local_60 = (undefined1 **)0x0; local_58 = 0; local_50 = (undefined1 **)0x0; local_48 = 0; FUN_18122d110(&local_60,"Nov 16 2020",&DAT_1821dad44,&DAT_1821da834); FUN_18122d5d0(&local_60); FUN_18122d110(&local_50,"16:39:38",&DAT_1821daf94,&DAT_1821da804); ppuVar7 = local_50; uVar1 = local_48._4_4_; ppuVar11 = &DAT_18267af68; uVar10 = (ulonglong)_tls_index; if (local_48._4_4_ < 2) { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar10 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar6 = &DAT_18267af68; } else { ppuVar6 = local_50 + 1; } iVar2 = atoi(*ppuVar6); if (uVar1 == 0) { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar10 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar7 = &DAT_18267af68; } iVar3 = atoi(*ppuVar7); ppuVar7 = local_60; if (local_58._4_4_ < 2) { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar10 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar6 = &DAT_18267af68; } else { ppuVar6 = local_60 + 1; } iVar4 = atoi(*ppuVar6); ppuVar6 = ppuVar7; if (local_58._4_4_ == 0) { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar10 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar6 = &DAT_18267af68; } plVar8 = &DAT_1821dbfa0; iVar9 = 0; do { if (*plVar8 == 0) { bVar12 = **ppuVar6 == '\0'; } else { iVar5 = FUN_18049bb30(*ppuVar6); bVar12 = iVar5 == 0; } iVar5 = iVar9; if (bVar12) break; iVar9 = iVar9 + 1; plVar8 = plVar8 + 1; iVar5 = 0; } while ((longlong)plVar8 < 0x1821dc000); if (local_58._4_4_ < 3) { if ((*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar10 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } } else { ppuVar11 = ppuVar7 + 2; } iVar9 = atoi(*ppuVar11); FUN_181228ed0(param_1,iVar9,iVar5,iVar4,iVar3,iVar2); FUN_180488c50(&local_50); /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 18122c670 size=47 ############ void FUN_18122c670(void) { DeleteCriticalSection((LPCRITICAL_SECTION)&DAT_18267afa0); FUN_180488c50(&DAT_18267af90); /* WARNING: Could not recover jumptable at 0x00018122c698. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(DAT_18267af90); return; } ############ FUN_ 18122dcc0 size=40 ############ void FUN_18122dcc0(undefined8 *param_1) { FUN_180488c50(); if (*(int *)(param_1 + 1) != 0) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } *(undefined4 *)(param_1 + 1) = 0; return; } ############ FUN_ 181234600 size=46 ############ void FUN_181234600(longlong param_1) { FUN_18049b290(param_1 + 0x40); FUN_180488c50(param_1 + 0x28); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x28)); } ############ FUN_ 181239740 size=657 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181239740(longlong param_1,undefined8 param_2) { undefined8 *puVar1; uint uVar2; byte bVar3; undefined8 *puVar4; byte *pbVar5; bool bVar6; bool bVar7; char cVar8; int iVar9; longlong lVar10; uint *_Memory; undefined8 *puVar11; byte *pbVar12; undefined1 auStack_c8 [32]; undefined4 local_a8; undefined8 *local_a0; int local_94; undefined8 local_90; byte *local_88; byte *local_80; longlong local_78; undefined8 local_70; longlong local_68; undefined8 local_60; undefined1 local_39; ulonglong local_38 [2]; local_60 = 0xfffffffffffffffe; local_38[0] = DAT_182615970 ^ (ulonglong)auStack_c8; bVar7 = false; local_a8 = 0; if (*(int *)(param_1 + 0x14) < 1) { } local_70 = 0; puVar4 = *(undefined8 **)(param_1 + 8); local_68 = param_1; FUN_18122ce30(&local_a0,param_2,&DAT_1821d9d6c,&DAT_1821da804); puVar1 = local_a0 + local_94; puVar11 = local_a0; joined_r0x0001812397d1: if (puVar11 == puVar1) { FUN_180488c50(&local_a0); /* WARNING: Subroutine does not return */ free(local_a0); } pbVar5 = (byte *)*puVar4; pbVar12 = (byte *)*puVar11; if (pbVar5 == pbVar12) { iVar9 = 0; } else { iVar9 = FUN_18048cbc0(pbVar5,pbVar12); } if (iVar9 == 0) goto LAB_1812399fd; local_88 = pbVar12; iVar9 = FUN_180493050(&local_88,0); if ((iVar9 == 0x2d) && (iVar9 = FUN_180493050(&local_88,1), iVar9 != 0x2d)) { bVar6 = true; } else { bVar6 = false; } if (bVar6) { iVar9 = 0; LAB_181239840: do { bVar3 = *pbVar12; pbVar12 = pbVar12 + 1; if ((char)bVar3 < '\0') { if ((*pbVar12 & 0xc0) == 0x80) { do { pbVar12 = pbVar12 + 1; } while ((*pbVar12 & 0xc0) == 0x80); iVar9 = iVar9 + 1; goto LAB_181239840; } } else if (bVar3 == 0) goto LAB_18123986d; iVar9 = iVar9 + 1; } while( true ); } goto LAB_181239935; LAB_18123986d: if (iVar9 == 2) { cVar8 = FUN_180493050(puVar11,1); local_80 = pbVar5; iVar9 = FUN_180493050(&local_80,0); if ((iVar9 == 0x2d) && (iVar9 = FUN_180493050(&local_80,1), iVar9 != 0x2d)) { bVar6 = true; } else { bVar6 = false; } if (bVar6) { lVar10 = FUN_181233e10(local_38,(int)cVar8); FUN_180495150(&local_78,lVar10,&local_39 + -lVar10); bVar7 = true; FUN_180493050(&local_78,0); iVar9 = FUN_18049bc80(*puVar4); if (iVar9 < 0) goto LAB_1812398f9; bVar6 = true; } else { LAB_1812398f9: bVar6 = false; } if (bVar7) { bVar7 = false; _Memory = (uint *)(local_78 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } if (bVar6) goto LAB_1812399fd; } LAB_181239935: local_90 = *puVar11; iVar9 = FUN_180493050(&local_90,0); if (((iVar9 == 0x2d) && (iVar9 = FUN_180493050(&local_90,1), iVar9 == 0x2d)) && (iVar9 = FUN_180493050(&local_90,2), iVar9 != 0x2d)) { bVar6 = true; } else { bVar6 = false; } if ((!bVar6) || (cVar8 = FUN_181239dc0(puVar4), cVar8 == '\0')) { puVar11 = puVar11 + 1; goto joined_r0x0001812397d1; } LAB_1812399fd: FUN_180488c50(&local_a0); /* WARNING: Subroutine does not return */ free(local_a0); } ############ FUN_ 181239a20 size=612 ############ void FUN_181239a20(undefined8 *param_1,undefined8 param_2) { ulonglong *puVar1; uint uVar2; byte bVar3; byte *pbVar4; bool bVar5; bool bVar6; char cVar7; int iVar8; longlong lVar9; uint *_Memory; byte *pbVar10; ulonglong *puVar11; undefined1 auStack_98 [32]; ulonglong local_78; ulonglong *local_70; int local_64; byte *local_60; byte *local_58; longlong local_50; undefined8 local_48; undefined1 local_21; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_98; bVar6 = false; local_78 = local_78 & 0xffffffff00000000; FUN_18122ce30(&local_70,param_2,&DAT_1821d9d6c,&DAT_1821da804); puVar1 = local_70 + local_64; puVar11 = local_70; joined_r0x000181239a84: if (puVar11 == puVar1) { FUN_180488c50(&local_70); /* WARNING: Subroutine does not return */ free(local_70); } pbVar10 = (byte *)*puVar11; pbVar4 = (byte *)*param_1; if (pbVar4 == pbVar10) { iVar8 = 0; } else { iVar8 = FUN_18048cbc0(pbVar4,pbVar10); } if (iVar8 == 0) goto LAB_181239c9b; local_60 = pbVar10; iVar8 = FUN_180493050(&local_60,0); if ((iVar8 == 0x2d) && (iVar8 = FUN_180493050(&local_60,1), iVar8 != 0x2d)) { bVar5 = true; } else { bVar5 = false; } if (bVar5) { iVar8 = 0; LAB_181239af2: do { bVar3 = *pbVar10; pbVar10 = pbVar10 + 1; if ((char)bVar3 < '\0') { if ((*pbVar10 & 0xc0) == 0x80) { do { pbVar10 = pbVar10 + 1; } while ((*pbVar10 & 0xc0) == 0x80); iVar8 = iVar8 + 1; goto LAB_181239af2; } } else if (bVar3 == 0) goto LAB_181239b2a; iVar8 = iVar8 + 1; } while( true ); } goto LAB_181239bf4; LAB_181239b2a: if (iVar8 == 2) { cVar7 = FUN_180493050(puVar11,1); local_58 = pbVar4; iVar8 = FUN_180493050(&local_58,0); if ((iVar8 == 0x2d) && (iVar8 = FUN_180493050(&local_58,1), iVar8 != 0x2d)) { bVar5 = true; } else { bVar5 = false; } if (bVar5) { lVar9 = FUN_181233e10(&local_20,(int)cVar7); FUN_180495150(&local_50,lVar9,&local_21 + -lVar9); bVar6 = true; FUN_180493050(&local_50,0); iVar8 = FUN_18049bc80(*param_1); if (iVar8 < 0) goto LAB_181239bba; bVar5 = true; } else { LAB_181239bba: bVar5 = false; } if (bVar6) { bVar6 = false; _Memory = (uint *)(local_50 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } if (bVar5) goto LAB_181239c9b; } LAB_181239bf4: local_78 = *puVar11; iVar8 = FUN_180493050(&local_78,0); if (((iVar8 == 0x2d) && (iVar8 = FUN_180493050(&local_78,1), iVar8 == 0x2d)) && (iVar8 = FUN_180493050(&local_78,2), iVar8 != 0x2d)) { bVar5 = true; } else { bVar5 = false; } if ((!bVar5) || (cVar7 = FUN_181239dc0(param_1), cVar7 == '\0')) { puVar11 = puVar11 + 1; goto joined_r0x000181239a84; } LAB_181239c9b: FUN_180488c50(&local_70); /* WARNING: Subroutine does not return */ free(local_70); } ############ FUN_ 1812433d0 size=52 ############ void FUN_1812433d0(undefined8 *param_1) { *param_1 = juce::PropertySet::vftable; DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 7)); FUN_180488c50(param_1 + 3); /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } ############ FUN_ 1812a3e20 size=517 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812a3e20(longlong param_1) { int *piVar1; BOOL BVar2; int iVar3; size_t _Size; undefined4 *puVar4; int iVar5; ulonglong uVar6; undefined1 auStack_4c8 [32]; char local_4a8; undefined4 local_4a4; undefined4 *local_4a0; undefined8 local_498; undefined2 local_490; undefined1 *local_488; undefined1 *local_480; void *local_478; undefined8 local_470; undefined2 local_468; undefined8 *local_460; undefined4 *local_458; undefined1 local_450 [8]; undefined8 local_448; char local_438 [1024]; ulonglong local_38; local_448 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_4c8; do { if (*(int *)(param_1 + 0x1b8) != 0) { } piVar1 = (int *)(param_1 + 0x250); if (*piVar1 < 0) { iVar3 = -1; } else { iVar3 = FUN_181238c30(piVar1,param_1 + 0x278); } if (((iVar3 == 1) && (-1 < *piVar1)) && (*(char *)(param_1 + 0x254) != '\0')) { local_4a8 = '\x01'; iVar3 = *piVar1; local_4a4 = 1; Ordinal_10((longlong)iVar3,0x8004667e,&local_4a4); iVar5 = 0; BVar2 = TryEnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x278)); if (BVar2 != 0) { iVar3 = Ordinal_16((longlong)iVar3,local_438,0x3ff,0); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x278)); if ((0 < iVar3) && (local_4a8 != '\0')) { iVar5 = iVar3; } } if (10 < iVar5) { _Size = (size_t)iVar5; if (local_438[0] == '\0') { puVar4 = (undefined4 *)&DAT_1821dbf98; } else { uVar6 = _Size + 4 & 0xfffffffffffffffc; puVar4 = (undefined4 *)thunk_FUN_1811316e0(uVar6 + 0x17); LOCK(); *puVar4 = 0; UNLOCK(); *(ulonglong *)(puVar4 + 2) = uVar6; puVar4 = puVar4 + 4; memcpy(puVar4,local_438,_Size); *(undefined1 *)((longlong)puVar4 + _Size) = 0; } if ((puVar4[-4] & 0x30000000) == 0) { LOCK(); puVar4[-4] = puVar4[-4] + 1; UNLOCK(); } local_498 = 0; local_490 = 0; local_488 = &DAT_1821dbf98; local_480 = &DAT_1821dbf98; local_478 = (void *)0x0; local_470 = 0; local_468 = 0x100; local_460 = (undefined8 *)0x0; local_4a0 = puVar4; local_458 = puVar4; FUN_181248430(&local_4a0,local_450); if (local_460 != (undefined8 *)0x0) { (**(code **)*local_460)(local_460,1); } FUN_180488c50(&local_478); /* WARNING: Subroutine does not return */ free(local_478); } } FUN_1812a3690(param_1); } while( true ); } ############ FUN_ 1812b5fd0 size=132 ############ void FUN_1812b5fd0(undefined8 *param_1) { longlong *plVar1; *param_1 = juce::AudioParameterChoice::vftable; plVar1 = (longlong *)param_1[0x3d]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x36); param_1[0x3d] = 0; } plVar1 = (longlong *)param_1[0x35]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x2e); param_1[0x35] = 0; } FUN_180484cd0(param_1 + 0x12); FUN_180488c50(param_1 + 0x10); /* WARNING: Subroutine does not return */ free((void *)param_1[0x10]); } ############ FUN_ 1812b75b0 size=62 ############ void FUN_1812b75b0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *local_20; undefined8 local_18; local_20 = (void *)0x0; local_18 = 0; FUN_1812b7150(param_1,param_2,&local_20,param_4,0xfffffffffffffffe); FUN_180488c50(&local_20); /* WARNING: Could not recover jumptable at 0x0001812b75e7. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_20); return; } ############ FUN_ 1812b9f10 size=62 ############ void FUN_1812b9f10(longlong *param_1) { if (*(longlong **)(*param_1 + 0x58) != (longlong *)0x0) { (**(code **)(**(longlong **)(*param_1 + 0x58) + 0x10))(); } FUN_180488c50(param_1 + 5); /* WARNING: Subroutine does not return */ free((void *)param_1[5]); } ############ FUN_ 1812b9fa0 size=182 ############ void FUN_1812b9fa0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,longlong *param_6,undefined1 param_7) { longlong lVar1; undefined8 uVar2; void *local_20 [3]; *param_1 = param_2; param_1[1] = param_3; param_1[2] = 0; param_1[3] = 0; lVar1 = *param_6; param_1[4] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; *(undefined1 *)(param_1 + 8) = param_7; FUN_18123e3a0(param_4); uVar2 = (**(code **)(*(longlong *)param_1[1] + 0x50)) ((longlong *)param_1[1],local_20,param_4,1,*(undefined1 *)(param_1 + 8)); FUN_1812b9c40(param_1,uVar2); FUN_180488c50(local_20); /* WARNING: Subroutine does not return */ free(local_20[0]); } ############ FUN_ 1812bb720 size=84 ############ void FUN_1812bb720(undefined8 *param_1) { undefined8 *puVar1; *param_1 = juce::KnownPluginList::vftable; DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)param_1 + 0x8c)); DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xc)); puVar1 = (undefined8 *)param_1[0xb]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_180488c50(param_1 + 9); /* WARNING: Subroutine does not return */ free((void *)param_1[9]); } ############ FUN_ 1812be180 size=42 ############ void FUN_1812be180(undefined8 *param_1) { *param_1 = juce::AudioPluginInstance::Parameter::vftable; FUN_180488c50(param_1 + 0xe); /* WARNING: Subroutine does not return */ free((void *)param_1[0xe]); } ############ FUN_ 1812c3fd0 size=42 ############ void FUN_1812c3fd0(undefined8 *param_1) { *param_1 = juce::AudioProcessorParameter::vftable; FUN_180488c50(param_1 + 10); /* WARNING: Subroutine does not return */ free((void *)param_1[10]); } ############ FUN_ 1812d10a0 size=181 ############ void FUN_1812d10a0(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint *_Memory; void *local_30; undefined8 local_28; longlong local_20; undefined8 local_18; local_30 = (void *)0x0; local_28 = 0; FUN_18048c4c0(&local_30,*param_2,*(undefined4 *)((longlong)param_2 + 0xc),param_4, 0xfffffffffffffffe); local_20 = param_2[2]; if ((*(uint *)(local_20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_20 + -0x10) = *(int *)(local_20 + -0x10) + 1; UNLOCK(); } local_18 = 0xffffffffffffffff; FUN_1812d1180(param_1,&local_30); *(undefined8 *)(param_1 + 0x50) = 0; _Memory = (uint *)(local_20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180488c50(&local_30); /* WARNING: Subroutine does not return */ free(local_30); } ############ FUN_ 1812d7350 size=67 ############ void FUN_1812d7350(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *local_20; undefined8 local_18; local_20 = (void *)0x0; local_18 = 0; FUN_1812d77b0(param_1 + -200,&local_20,param_2,param_4,0xfffffffffffffffe); FUN_180488c50(&local_20); /* WARNING: Subroutine does not return */ free(local_20); } ############ FUN_ 1812d73c0 size=67 ############ void FUN_1812d73c0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *local_20; undefined8 local_18; local_20 = (void *)0x0; local_18 = 0; FUN_1812d78b0(param_1 + -200,&local_20,param_2,param_4,0xfffffffffffffffe); FUN_180488c50(&local_20); /* WARNING: Subroutine does not return */ free(local_20); } ############ FUN_ 1812d7410 size=94 ############ void FUN_1812d7410(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *local_20; undefined8 local_18; if (*(code **)(*param_1 + 0x18) == FUN_1812d73c0) { local_20 = (void *)0x0; local_18 = 0; FUN_1812d78b0(param_1 + -0x19,&local_20,param_2,param_4,0xfffffffffffffffe); FUN_180488c50(&local_20); /* WARNING: Subroutine does not return */ free(local_20); } (**(code **)(*param_1 + 0x18))(); return; } ############ FUN_ 1812f2510 size=973 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812f2510(longlong param_1) { int *piVar1; longlong *plVar2; uint uVar3; int iVar4; longlong *plVar5; undefined8 *puVar6; void *_Memory; int iVar7; uint *puVar8; undefined1 *puVar9; undefined1 **ppuVar10; uint uVar11; undefined1 auStack_1b8 [32]; undefined1 *local_198; void *local_190; uint local_184; undefined8 local_180; undefined1 local_178 [24]; undefined8 *local_160; undefined1 *local_158; undefined4 local_150; longlong local_148 [7]; longlong *local_110; void *local_108; undefined8 *puStack_100; undefined8 *local_f8; undefined8 *puStack_f0; undefined8 local_e8; undefined1 *local_e0; undefined4 local_d8; undefined4 local_d4; undefined1 local_c8; uint local_c4; undefined1 local_c0 [136]; ulonglong local_38; local_180 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_1b8; *(undefined8 *)(param_1 + 0x1e0) = 0xffffffffffffffff; plVar2 = (longlong *)(param_1 + 0x1d0); FUN_18051c7d0(plVar2); uVar11 = 0; if (*(int *)(param_1 + 0x1d8) != 0) { /* WARNING: Subroutine does not return */ free((void *)*plVar2); } *(undefined4 *)(param_1 + 0x1d8) = 0; plVar5 = *(longlong **)(param_1 + 0xc0); if (plVar5 == (longlong *)0x0) { } (**(code **)(*plVar5 + 0x10))(plVar5,&local_190); if (0 < (int)local_184) { plVar5 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); do { local_158 = &DAT_1821dbf98; local_150 = 0; local_110 = (longlong *)0x0; local_108 = (void *)0x0; puStack_100 = (undefined8 *)0x0; local_f8 = (undefined8 *)0x0; puStack_f0 = (undefined8 *)0x0; local_e8 = 0; local_e0 = &DAT_1821dbf98; local_d8 = 0; local_d4 = 1; if (uVar11 < local_184) { ppuVar10 = (undefined1 **)((longlong)local_190 + (longlong)(int)uVar11 * 8); } else { if (*(int *)(*plVar5 + 0xc) < DAT_18267af70) { _Init_thread_header(&DAT_18267af70); if (DAT_18267af70 == -1) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } } ppuVar10 = &DAT_18267af68; } if ((*(uint *)(*ppuVar10 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*ppuVar10 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } puVar9 = *ppuVar10; LOCK(); UNLOCK(); puVar8 = (uint *)(local_158 + -0x10); local_158 = puVar9; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_198 = &DAT_1821dbf98; (**(code **)(**(longlong **)(param_1 + 0xc0) + 0x18)) (*(longlong **)(param_1 + 0xc0),local_178,uVar11,&local_198); local_c8 = 1; local_c4 = uVar11; FUN_1812f0e30(local_c0,&local_158); iVar4 = *(int *)(param_1 + 0x1dc); iVar7 = iVar4 + 1; if (*(int *)(param_1 + 0x1d8) < iVar7) { if (iVar7 < 0) { iVar7 = iVar4 + 2; } FUN_18051c830(plVar2,iVar4 + 9 + (iVar7 >> 1) & 0xfffffff8); } iVar7 = *(int *)(param_1 + 0x1dc); *(int *)(param_1 + 0x1dc) = iVar7 + 1; puVar9 = (undefined1 *)((longlong)iVar7 * 0x90 + *plVar2); *puVar9 = local_c8; *(uint *)(puVar9 + 4) = local_c4; FUN_181348200(puVar9 + 8,local_c0); FUN_1804d80a0(local_c0); FUN_1812f2380(param_1,local_178,uVar11); if (local_160 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_160 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_160)(local_160,1); } } FUN_18051c930(local_178); puVar8 = (uint *)(local_198 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_e0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (puStack_f0 != (undefined8 *)0x0) { piVar1 = (int *)(puStack_f0 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puStack_f0)(puStack_f0,1); } } if (local_f8 != (undefined8 *)0x0) { piVar1 = (int *)(local_f8 + 0x17); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_f8)(local_f8,1); } } if (puStack_100 != (undefined8 *)0x0) { (**(code **)*puStack_100)(puStack_100,1); } _Memory = local_108; if (local_108 != (void *)0x0) { puVar6 = *(undefined8 **)((longlong)local_108 + 0x18); if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*puVar6)(puVar6,1); } } FUN_18051c930(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } if (local_110 != (longlong *)0x0) { (**(code **)(*local_110 + 0x20))(local_110,local_110 != local_148); local_110 = (longlong *)0x0; } puVar8 = (uint *)(local_158 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } uVar11 = uVar11 + 1; } while ((int)uVar11 < (int)local_184); } FUN_180488c50(&local_190); /* WARNING: Subroutine does not return */ free(local_190); } ############ FUN_ 1812f2d30 size=423 ############ /* WARNING: Removing unreachable block (ram,0x0001812f2dc2) */ /* WARNING: Removing unreachable block (ram,0x0001812f2dd3) */ /* WARNING: Removing unreachable block (ram,0x0001812f2dcf) */ /* WARNING: Removing unreachable block (ram,0x0001812f2dde) */ /* WARNING: Removing unreachable block (ram,0x0001812f2deb) */ void FUN_1812f2d30(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void **ppvVar1; undefined4 uVar2; undefined4 uVar3; longlong *plVar4; void *pvVar5; undefined8 uVar6; void *local_48; undefined8 uStack_40; void *local_38; undefined8 local_30; local_38 = (void *)0x0; local_30 = 0; plVar4 = *(longlong **)(param_1 + 0x20); if (plVar4 != (longlong *)0x0) { uVar6 = (**(code **)(*plVar4 + 0x10))(plVar4,&local_48); FUN_1804876e0(&local_38,uVar6); FUN_180488c50(&local_48); /* WARNING: Subroutine does not return */ free(local_48); } ppvVar1 = (void **)(param_1 + 0x28); local_30 = 0; local_38 = (void *)0x0; if (*(int *)(param_1 + 0x34) != 0) { if (ppvVar1 != &local_38) { local_48 = (void *)0x0; uStack_40 = 0; FUN_18048c4c0(&local_48,0,0); pvVar5 = *ppvVar1; *ppvVar1 = local_48; uVar2 = *(undefined4 *)(param_1 + 0x30); *(undefined4 *)(param_1 + 0x30) = (undefined4)uStack_40; uVar3 = *(undefined4 *)(param_1 + 0x34); *(undefined4 *)(param_1 + 0x34) = uStack_40._4_4_; uStack_40 = CONCAT44(uVar3,uVar2); local_48 = pvVar5; FUN_180488c50(&local_48); /* WARNING: Subroutine does not return */ free(local_48); } uStack_40 = *(undefined8 *)(param_1 + -0x88); local_48 = (void *)0x0; FUN_181342870(param_1 + -0xb0,&local_48,1,param_4,0xfffffffffffffffe); (**(code **)(*(longlong *)(param_1 + -0xb0) + 0x108))(param_1 + -0xb0); } FUN_180488c50(&local_38); /* WARNING: Could not recover jumptable at 0x0001812f2ed8. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_38); return; } ############ FUN_ 181326020 size=198 ############ void FUN_181326020(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; char *pcVar2; uint *_Memory; longlong local_res10; char *local_res18; void *local_20 [3]; FUN_1813261e0(param_1,local_20,param_3,param_4,0xfffffffffffffffe); pcVar2 = (char *)*param_2; if (*pcVar2 != '\0') { local_res18 = pcVar2; FUN_18122d7a0(local_20,pcVar2,1); local_res10 = *param_2; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } FUN_180489070(local_20,0,&local_res10); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1813260f0(param_1,local_20); } FUN_180488c50(local_20); /* WARNING: Could not recover jumptable at 0x0001813260df. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_20[0]); return; } ############ FUN_ 1813260f0 size=68 ############ void FUN_1813260f0(undefined8 param_1,undefined8 param_2) { undefined8 uVar1; void *local_18 [2]; uVar1 = FUN_1813261e0(param_1,local_18); FUN_18122dd20(param_2,uVar1); FUN_180488c50(local_18); /* WARNING: Subroutine does not return */ free(local_18[0]); } ############ FUN_ 181326360 size=455 ############ void FUN_181326360(longlong param_1,longlong *param_2) { uint uVar1; longlong lVar2; char *pcVar3; int iVar4; longlong *plVar5; uint *puVar6; longlong local_res8; longlong *local_res10; longlong local_78 [2]; char *local_68; longlong local_60; char *local_58; void *local_50 [3]; local_78[1] = 0xfffffffffffffffe; local_res10 = param_2; if (**(char **)(param_1 + 0x288) != '\0') { local_68 = *(char **)(param_1 + 0x288); plVar5 = (longlong *)FUN_18123fb50(param_2,local_78); local_60 = *param_2; *param_2 = *plVar5; *plVar5 = local_60; puVar6 = (uint *)(local_78[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } lVar2 = *param_2; if (lVar2 == *(longlong *)(param_1 + 0x268)) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(lVar2,*(undefined8 *)(param_1 + 0x268)); } if (iVar4 != 0) { if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0x268); *(longlong *)(param_1 + 0x268) = *param_2; UNLOCK(); puVar6 = (uint *)(lVar2 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_1813261e0(param_1,local_50); pcVar3 = (char *)*param_2; if (*pcVar3 != '\0') { local_58 = pcVar3; FUN_18122d7a0(local_50,pcVar3,1); local_res8 = *param_2; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } FUN_180489070(local_50,0,&local_res8); puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_1813260f0(param_1,local_50); } FUN_180488c50(local_50); /* WARNING: Subroutine does not return */ free(local_50[0]); } puVar6 = (uint *)(*param_2 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return; } ############ FUN_ 18132a7c0 size=786 ############ void FUN_18132a7c0(longlong *param_1) { longlong lVar1; bool bVar2; int iVar3; DWORD DVar4; undefined8 uVar5; undefined1 **ppuVar6; undefined8 *puVar7; longlong *plVar8; uint *puVar9; uint uVar10; longlong local_res8; char *local_res10; longlong local_res18; longlong local_res20; longlong local_78; longlong local_70; longlong local_68 [2]; undefined1 local_58 [8]; longlong local_50; void *local_48; undefined8 local_40; undefined8 local_38; undefined8 local_30; local_68[1] = 0xfffffffffffffffe; FUN_1812ea010(param_1[0x54],&local_res18); uVar5 = FUN_181248e40(&local_res18,&local_78); FUN_181230ba0(uVar5,&local_res10); puVar9 = (uint *)(local_78 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_res18 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (*local_res10 == '\0') { puVar9 = (uint *)(local_res10 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } return; } iVar3 = FUN_1812ebc40(param_1 + 0x26); uVar10 = iVar3 - 1; local_38 = 0; local_30 = 0; local_48 = (void *)0x0; local_40 = 0; if ((undefined **)*param_1 == juce::FileBrowserComponent::vftable) { FUN_18132a0d0(&local_38,&local_48); } else { (*(code *)((undefined **)*param_1)[0x2c])(param_1,&local_38,&local_48); } if (uVar10 < local_40._4_4_) { ppuVar6 = (undefined1 **)((longlong)local_48 + (longlong)(int)uVar10 * 8); } else { if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267af70) { _Init_thread_header(&DAT_18267af70); if (DAT_18267af70 == -1) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } } ppuVar6 = &DAT_18267af68; } if (**ppuVar6 == '\0') { FUN_181241890(&local_res8,&local_res10); while( true ) { puVar7 = (undefined8 *)FUN_18049a930(local_58,&local_res8); DVar4 = GetFileAttributesW((LPCWSTR)*puVar7); if (((DVar4 & 0x10) == 0) || (bVar2 = true, DVar4 == 0xffffffff)) { bVar2 = false; } if (bVar2) break; plVar8 = (longlong *)FUN_181241230(&local_res8,&local_70); if (*plVar8 == local_res8) { iVar3 = 0; } else { iVar3 = FUN_18049bb30(*plVar8); } puVar9 = (uint *)(local_70 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (iVar3 == 0) goto LAB_18132aa22; plVar8 = (longlong *)FUN_181241230(&local_res8,local_68); local_50 = local_res8; lVar1 = *plVar8; *plVar8 = local_res8; puVar9 = (uint *)(local_68[0] + -0x10); local_res8 = lVar1; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } FUN_18132bdc0(param_1,&local_res8); LAB_18132aa22: puVar9 = (uint *)(local_res8 + -0x10); uVar10 = *puVar9; } else { uVar5 = FUN_181249970(&local_48,uVar10); FUN_181241890(&local_res20,uVar5); FUN_18132bdc0(param_1,&local_res20); puVar9 = (uint *)(local_res20 + -0x10); uVar10 = *puVar9; } if ((uVar10 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_180488c50(&local_48); /* WARNING: Subroutine does not return */ free(local_48); } ############ FUN_ 18132b0f0 size=710 ############ void FUN_18132b0f0(longlong param_1) { int iVar1; longlong *plVar2; uint uVar3; bool bVar4; char cVar5; int iVar6; DWORD DVar7; undefined8 *puVar8; undefined8 uVar9; uint *puVar10; int iVar11; bool bVar12; char *local_res8; undefined1 local_res10 [8]; longlong local_res18; undefined1 local_res20 [8]; undefined1 local_70 [16]; undefined8 *local_60; int local_58; int iStack_54; iVar11 = 0; local_60 = (undefined8 *)0x0; local_58 = 0; iStack_54 = 0; bVar4 = true; iVar6 = (**(code **)(**(longlong **)(param_1 + 0x70) + 8))(); if (0 < iVar6) { do { (**(code **)(**(longlong **)(param_1 + 0x70) + 0x10)) (*(longlong **)(param_1 + 0x70),&local_res8,iVar11); puVar8 = (undefined8 *)FUN_18049a930(local_res20,&local_res8); DVar7 = GetFileAttributesW((LPCWSTR)*puVar8); if (((DVar7 & 0x10) == 0) || (bVar12 = true, DVar7 == 0xffffffff)) { bVar12 = false; } if (bVar12) { if ((*(byte *)(param_1 + 0x40) & 8) != 0) { plVar2 = *(longlong **)(param_1 + 0x38); if (plVar2 != (longlong *)0x0) { cVar5 = (**(code **)(*plVar2 + 0x10))(plVar2,&local_res8); LAB_18132b1f4: if (cVar5 == '\0') goto LAB_18132b301; } LAB_18132b1fc: if (bVar4) { FUN_180488c50(param_1 + 0x50); if (*(int *)(param_1 + 0x58) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x50)); } *(undefined4 *)(param_1 + 0x58) = 0; bVar4 = false; } iVar1 = *(int *)(param_1 + 0x5c); iVar6 = iVar1 + 1; if (*(int *)(param_1 + 0x58) < iVar6) { if (iVar6 < 0) { iVar6 = iVar1 + 2; } FUN_18048a300(param_1 + 0x50,iVar1 + 9 + (iVar6 >> 1) & 0xfffffff8); } iVar6 = *(int *)(param_1 + 0x5c); *(int *)(param_1 + 0x5c) = iVar6 + 1; *(char **)(*(longlong *)(param_1 + 0x50) + (longlong)iVar6 * 8) = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } puVar8 = (undefined8 *)FUN_18123f170(&local_res8,local_res10,param_1 + 0x48); iVar6 = iStack_54 + 1; if (local_58 < iVar6) { if (iVar6 < 0) { iVar6 = iStack_54 + 2; } FUN_18048a300(&local_60,iStack_54 + 9 + (iVar6 >> 1) & 0xfffffff8); } iStack_54 = 1; *local_60 = *puVar8; *puVar8 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } } else { if ((*(byte *)(param_1 + 0x40) & 4) == 0) goto LAB_18132b301; if (*local_res8 == '\0') { LAB_18132b1d6: bVar12 = false; } else { puVar8 = (undefined8 *)FUN_18049a930(local_70,&local_res8); DVar7 = GetFileAttributesW((LPCWSTR)*puVar8); bVar12 = true; if (DVar7 == 0xffffffff) goto LAB_18132b1d6; } if (bVar12) { plVar2 = *(longlong **)(param_1 + 0x38); if (plVar2 != (longlong *)0x0) { cVar5 = (**(code **)(*plVar2 + 8))(plVar2,&local_res8); goto LAB_18132b1f4; } goto LAB_18132b1fc; } } LAB_18132b301: puVar10 = (uint *)(local_res8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } iVar11 = iVar11 + 1; iVar6 = (**(code **)(**(longlong **)(param_1 + 0x70) + 8))(); } while (iVar11 < iVar6); if (0 < iStack_54) { uVar9 = FUN_18122d360(&local_60,&local_res18,&DAT_1821e2bfc); FUN_1812e1110(param_1 + 0x210,uVar9,0); puVar10 = (uint *)(local_res18 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } } FUN_18132b3d0(param_1 + -0xb0); FUN_180488c50(&local_60); /* WARNING: Could not recover jumptable at 0x00018132b3b4. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_60); return; } ############ FUN_ 18134f9f0 size=201 ############ void FUN_18134f9f0(undefined8 *param_1) { uint uVar1; uint *_Memory; *param_1 = juce::PropertiesFile::vftable; param_1[0xd] = juce::PropertiesFile::vftable; param_1[0x14] = juce::PropertiesFile::vftable; FUN_181351cf0(); FUN_180527b70(param_1 + 0x18); _Memory = (uint *)(param_1[0x17] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x14] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x14); FUN_1812a5870(param_1 + 0xd); *param_1 = juce::PropertySet::vftable; DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 7)); FUN_180488c50(param_1 + 3); /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } ############ FUN_ 18136ccc0 size=285 ############ void FUN_18136ccc0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined *puVar2; undefined **ppuVar3; uint *puVar4; int iVar5; undefined8 *local_res8; longlong local_res10; void **local_res18; void *local_30; undefined8 local_28; local_res18 = &local_30; iVar5 = 0; local_30 = (void *)0x0; local_28 = 0; ppuVar3 = &PTR_DAT_18235baa0; puVar2 = PTR_DAT_18235baa0; while (puVar2 != (undefined *)0x0) { iVar5 = iVar5 + 1; ppuVar3 = ppuVar3 + 1; puVar2 = *ppuVar3; } local_res8 = param_1; FUN_18049d400(&local_30,param_2,iVar5,param_4,0xfffffffffffffffe); FUN_18049c4e0(&local_res10,"Windows Media"); FUN_1812344e0(&local_res8,&local_res10); puVar4 = (uint *)(local_res10 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } *param_1 = juce::AudioFormat::vftable; param_1[1] = local_res8; if ((*(uint *)(local_res8 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -2) = *(int *)(local_res8 + -2) + 1; UNLOCK(); } param_1[2] = 0; param_1[3] = 0; FUN_18048c4c0(param_1 + 2,local_30,local_28._4_4_); puVar4 = (uint *)(local_res8 + -2); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_180488c50(&local_30); /* WARNING: Subroutine does not return */ free(local_30); } ############ FUN_ 1813b0070 size=142 ############ void FUN_1813b0070(undefined8 *param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; longlong lVar2; uint *_Memory; *param_1 = juce::AudioFormat::vftable; lVar2 = *param_2; param_1[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[2] = 0; param_1[3] = 0; FUN_18048c4c0(param_1 + 2,*param_3,*(undefined4 *)((longlong)param_3 + 0xc)); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180488c50(param_3); /* WARNING: Subroutine does not return */ free((void *)*param_3); } ############ FUN_ 1813b9e20 size=261 ############ void FUN_1813b9e20(longlong *param_1,undefined1 param_2,undefined8 param_3,undefined8 param_4) { void *pvVar1; uint uVar2; bool bVar3; int iVar4; longlong *plVar5; longlong *plVar6; uint *puVar7; void *pvVar8; longlong local_res8; longlong local_res20; void *local_30; int local_24; (**(code **)(*param_1 + 8))(param_1,&local_30,param_2,param_4,0xfffffffffffffffe); pvVar1 = (void *)((longlong)local_30 + (longlong)local_24 * 8); pvVar8 = local_30; while( true ) { if (pvVar8 == pvVar1) { FUN_180488c50(&local_30); /* WARNING: Subroutine does not return */ free(local_30); } plVar5 = (longlong *)FUN_181248e40(param_3,&local_res20); plVar6 = (longlong *)FUN_181248e40(pvVar8,&local_res8); if ((*plVar6 == *plVar5) || (iVar4 = FUN_18049bb30(*plVar6), iVar4 == 0)) { bVar3 = true; } else { bVar3 = false; } puVar7 = (uint *)(local_res8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (bVar3) break; pvVar8 = (void *)((longlong)pvVar8 + 8); } FUN_180488c50(&local_30); /* WARNING: Subroutine does not return */ free(local_30); } ############ FUN_ 1813b8df0 size=275 ############ void FUN_1813b8df0(longlong param_1,undefined8 *param_2) { undefined4 uVar1; longlong *plVar2; undefined8 uVar3; void *local_20 [3]; uVar3 = 0xfffffffffffffffe; plVar2 = (longlong *)FUN_1813b89b0(); if (plVar2 != (longlong *)0x0) { if ((0 < *(int *)(param_1 + 0xf4)) && (*(char *)*param_2 == '\0')) { uVar3 = (**(code **)(*plVar2 + 8))(plVar2,local_20,0,*plVar2,uVar3); uVar1 = (**(code **)(*plVar2 + 0x10))(plVar2,0); uVar3 = FUN_181249970(uVar3,uVar1); FUN_181249460(param_2,uVar3); FUN_180488c50(local_20); /* WARNING: Subroutine does not return */ free(local_20[0]); } if ((0 < *(int *)(param_1 + 0xf0)) && (*(char *)param_2[1] == '\0')) { uVar3 = (**(code **)(*plVar2 + 8))(plVar2,local_20,1); uVar1 = (**(code **)(*plVar2 + 0x10))(plVar2,1); uVar3 = FUN_181249970(uVar3,uVar1); FUN_181249460(param_2 + 1,uVar3); FUN_180488c50(local_20); /* WARNING: Subroutine does not return */ free(local_20[0]); } } return; } ############ FUN_ 1813b9a70 size=446 ############ void FUN_1813b9a70(longlong param_1,undefined8 param_2,undefined8 *param_3,longlong param_4) { int *piVar1; longlong *plVar2; uint uVar3; undefined8 *puVar4; undefined1 *puVar5; char cVar6; uint *_Memory; longlong *plVar7; undefined1 auStack_138 [32]; longlong *local_118; int local_10c; undefined8 local_f8; longlong local_f0; undefined8 local_e8; undefined8 local_e0; undefined1 *local_c8; undefined1 *local_c0; undefined8 local_b8; undefined4 local_b0; undefined8 local_a8; undefined8 local_a0; undefined8 local_98; undefined8 local_90; undefined4 local_88; undefined1 local_84; undefined1 local_80; void *local_78; undefined8 local_70; undefined8 local_68; undefined8 local_60; undefined4 local_58; undefined1 local_54; undefined1 local_50; ulonglong local_48; local_e0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_138; local_c8 = &DAT_1821dbf98; local_c0 = &DAT_1821dbf98; local_b8 = 0; local_b0 = 0; local_a8 = 0; local_90 = 4; local_88 = 0xffffffff; local_84 = 0; local_a0 = 0; local_98 = 0; local_80 = 1; local_78 = (void *)0x0; local_60 = 4; local_58 = 0xffffffff; local_54 = 0; local_70 = 0; local_68 = 0; local_50 = 1; local_f8 = param_2; local_f0 = param_1; local_e8 = param_2; if (param_4 == 0) { if ((*(char *)*param_3 != '\0') && (puVar4 = *(undefined8 **)(param_1 + 0x38), puVar4 != puVar4 + *(int *)(param_1 + 0x44))) { (**(code **)(*(longlong *)*puVar4 + 8))((longlong *)*puVar4,&local_118,0); plVar2 = local_118 + local_10c; plVar7 = local_118; do { if (plVar7 == plVar2) { LAB_1813b9bf0: FUN_180488c50(&local_118); /* WARNING: Subroutine does not return */ free(local_118); } local_e8 = *param_3; cVar6 = FUN_18049aaa0(local_e8,*plVar7,1); if (cVar6 != '\0') { if ((*(uint *)(*plVar7 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar7 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } puVar5 = (undefined1 *)*plVar7; LOCK(); UNLOCK(); _Memory = (uint *)(local_c8 + -0x10); local_c8 = puVar5; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } goto LAB_1813b9bf0; } plVar7 = plVar7 + 1; } while( true ); } } else { FUN_180549c30(&local_c8,param_4); } FUN_1813b8df0(param_1,&local_c8); FUN_1813b8160(param_1,param_2,&local_c8,0); /* WARNING: Subroutine does not return */ free(local_78); } ############ FUN_ 1813bd070 size=323 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813bd070(longlong param_1) { longlong *plVar1; longlong lVar2; longlong lVar3; int iVar4; uint uVar5; longlong lVar6; char *pcVar7; int *_Memory; uint *_Memory_00; plVar1 = (longlong *)(param_1 + 0xc0); pcVar7 = (char *)*plVar1; if (*pcVar7 != '\0') { lVar2 = param_1 + 200; lVar3 = param_1 + 0xd8; if ((*(uint *)(pcVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar7 + -0x10) = *(int *)(pcVar7 + -0x10) + 1; UNLOCK(); } LOCK(); lVar6 = *plVar1; *plVar1 = *plVar1; UNLOCK(); _Memory = (int *)(lVar6 + -0x10); if ((*(uint *)(lVar6 + -0x10) & 0x30000000) == 0) { LOCK(); iVar4 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (lVar2 == 0) { FUN_180488c50(0); if (*(int *)(param_1 + 0xd0) != 0) { /* WARNING: Subroutine does not return */ free(_DAT_00000000); } *(undefined4 *)(param_1 + 0xd0) = 0; } else { FUN_18122ddb0(lVar2,lVar2); } if (lVar3 == 0) { /* WARNING: Subroutine does not return */ free(_DAT_00000000); } FUN_18123a8e0(lVar3,lVar3); *(undefined1 *)(param_1 + 0xb8) = 0; if (*(longlong *)(*(longlong *)(param_1 + 0xb0) + 0xc0) == 0) { FUN_1813bd1d0(param_1); } FUN_18055b020(*(undefined8 *)(param_1 + 0xb0),plVar1,lVar2,lVar3); _Memory_00 = (uint *)(*plVar1 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar5 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } *plVar1 = (longlong)&DAT_1821dbf98; } return; } ############ FUN_ 1813bd500 size=273 ############ void FUN_1813bd500(longlong param_1,longlong *param_2,longlong param_3,longlong param_4) { int iVar1; longlong lVar2; int *piVar3; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(*param_2 + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0xc0); *(longlong *)(param_1 + 0xc0) = *param_2; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } if (param_3 == 0) { FUN_180488c50(param_1 + 200); if (*(int *)(param_1 + 0xd0) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 200)); } *(undefined4 *)(param_1 + 0xd0) = 0; } else { FUN_18122ddb0(param_1 + 200,param_3); } if (param_4 != 0) { FUN_18123a8e0(param_1 + 0xd8,param_4); *(undefined1 *)(param_1 + 0xb8) = 0; if (*(longlong *)(*(longlong *)(param_1 + 0xb0) + 0xc0) == 0) { FUN_1813bd1d0(param_1); } FUN_18055b020(*(undefined8 *)(param_1 + 0xb0),param_2,param_3,param_4); return; } /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0xd8)); } ############ FUN_ 1814fcf00 size=152 ############ void FUN_1814fcf00(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { *param_1 = CloudyComboBoxRadioButtons::vftable; param_1[0x16] = CloudyComboBoxRadioButtons::vftable; param_1[0x19] = CloudyComboBoxRadioButtons::vftable; param_1[0x1b] = CloudyComboBoxRadioButtons::vftable; FUN_1811bc940(param_1[0x1f],param_1 + 0x1b,param_3,param_4,0xfffffffffffffffe); FUN_1805826a0(param_1 + 0x26); FUN_1805826a0(param_1 + 0x22); FUN_180488c50(param_1 + 0x20); /* WARNING: Subroutine does not return */ free((void *)param_1[0x20]); } ############ FUN_ 181a4a7e0 size=47 ############ void FUN_181a4a7e0(void) { DeleteCriticalSection((LPCRITICAL_SECTION)&DAT_18267afa0); FUN_180488c50(&DAT_18267af90); /* WARNING: Could not recover jumptable at 0x000181a4a808. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(DAT_18267af90); return; } ############ FUN_ 181a4a850 size=34 ############ void FUN_181a4a850(void) { FUN_180488c50(&DAT_182673a20); /* WARNING: Could not recover jumptable at 0x000181a4a86b. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(DAT_182673a20); return; } ############ FUN_ 181231160 size=428 ############ longlong FUN_181231160(undefined8 *param_1,byte *param_2) { byte bVar1; wint_t wVar2; wint_t wVar3; uint uVar4; byte *pbVar5; int iVar6; uint uVar7; longlong lVar8; byte *pbVar9; longlong lVar10; byte *pbVar11; pbVar5 = (byte *)*param_1; lVar10 = -1; lVar8 = -1; do { lVar8 = lVar8 + 1; } while (pbVar5[lVar8] != 0); pbVar9 = pbVar5 + lVar8; do { lVar10 = lVar10 + 1; } while (param_2[lVar10] != 0); pbVar11 = param_2 + lVar10; if (pbVar5 < pbVar9) { do { if (pbVar11 <= param_2) break; iVar6 = 0; do { pbVar5 = pbVar9 + -1; pbVar9 = pbVar9 + -1; if ((*pbVar5 & 0xc0) != 0x80) break; iVar6 = iVar6 + 1; } while (iVar6 < 4); iVar6 = 0; do { pbVar5 = pbVar11 + -1; pbVar11 = pbVar11 + -1; if ((*pbVar5 & 0xc0) != 0x80) break; iVar6 = iVar6 + 1; } while (iVar6 < 4); bVar1 = *pbVar9; wVar2 = (wint_t)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar6 = 0; uVar7 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; uVar7 = uVar7 >> 1; iVar6 = iVar6 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar7 = bVar1 & uVar7; wVar2 = (wint_t)uVar7; lVar8 = 1; if (0 < (longlong)iVar6) { do { wVar2 = (wint_t)uVar7; if ((pbVar9[lVar8] & 0xc0) != 0x80) break; uVar7 = pbVar9[lVar8] & 0x3f | uVar7 << 6; wVar2 = (wint_t)uVar7; lVar8 = lVar8 + 1; } while (lVar8 <= iVar6); } } wVar2 = towlower(wVar2); bVar1 = *pbVar11; wVar3 = (wint_t)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar6 = 0; uVar7 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; uVar7 = uVar7 >> 1; iVar6 = iVar6 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar7 = bVar1 & uVar7; wVar3 = (wint_t)uVar7; lVar8 = 1; if (0 < (longlong)iVar6) { do { wVar3 = (wint_t)uVar7; if ((pbVar11[lVar8] & 0xc0) != 0x80) break; uVar7 = pbVar11[lVar8] & 0x3f | uVar7 << 6; wVar3 = (wint_t)uVar7; lVar8 = lVar8 + 1; } while (lVar8 <= iVar6); } } wVar3 = towlower(wVar3); pbVar5 = (byte *)(ulonglong)wVar3; if (wVar2 != wVar3) { return (ulonglong)(byte)(wVar3 >> 8) << 8; } } while ((byte *)*param_1 < pbVar9); } return CONCAT71((int7)((ulonglong)pbVar5 >> 8),pbVar11 == param_2); } ############ FUN_ 181230800 size=216 ############ undefined8 * FUN_181230800(undefined8 *param_1,undefined8 *param_2) { byte bVar1; byte *pbVar2; byte bVar3; byte bVar4; int iVar5; byte *pbVar6; byte *pbVar7; longlong lVar8; byte *pbVar9; pbVar2 = (byte *)*param_1; if (*pbVar2 != 0) { lVar8 = -1; do { lVar8 = lVar8 + 1; } while (pbVar2[lVar8] != 0); pbVar9 = pbVar2 + lVar8; pbVar7 = pbVar9; if (pbVar2 < pbVar9) { do { iVar5 = 0; do { pbVar6 = pbVar7; pbVar7 = pbVar6 + -1; if ((pbVar6[-1] & 0xc0) != 0x80) break; iVar5 = iVar5 + 1; } while (iVar5 < 4); if ((*pbVar7 != 0x20) && (4 < (byte)(*pbVar7 - 9))) { bVar1 = *pbVar7; pbVar7 = pbVar6; if ((char)bVar1 < '\0') { bVar4 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar7 = pbVar7 + 1; bVar4 = bVar4 >> 1; bVar3 = bVar1 & bVar4; } } break; } } while (pbVar2 < pbVar7); if (pbVar7 < pbVar9) { FUN_18124a8a0(param_2,pbVar2); return param_2; } } } *param_2 = pbVar2; if ((*(uint *)(pbVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar2 + -0x10) = *(int *)(pbVar2 + -0x10) + 1; UNLOCK(); } return param_2; } ############ FUN_ 180493050 size=217 ############ uint FUN_180493050(undefined8 *param_1,int param_2) { byte *pbVar1; byte bVar2; byte bVar3; byte *pbVar4; byte bVar5; uint uVar6; int iVar7; uint uVar8; ulonglong uVar9; int iVar10; longlong lVar11; pbVar4 = (byte *)*param_1; iVar10 = 0; lVar11 = 1; if (param_2 < 0) { if (param_2 + 1 < 1) { uVar9 = (ulonglong)(1 - (param_2 + 1)); do { iVar7 = 0; do { pbVar1 = pbVar4 + -1; pbVar4 = pbVar4 + -1; if ((*pbVar1 & 0xc0) != 0x80) break; iVar7 = iVar7 + 1; } while (iVar7 < 4); uVar9 = uVar9 - 1; } while (uVar9 != 0); } } else { while (param_2 = param_2 + -1, -1 < param_2) { bVar2 = *pbVar4; pbVar4 = pbVar4 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { pbVar4 = pbVar4 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } } } bVar2 = *pbVar4; if (-1 < (char)bVar2) { return (uint)bVar2; } uVar6 = 0x40; uVar8 = 0x7f; if ((bVar2 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar8 = uVar8 >> 1; iVar10 = iVar10 + 1; uVar6 = uVar6 >> 1; } while ((bVar2 & uVar6) != 0); } uVar8 = bVar2 & uVar8; if (0 < (longlong)iVar10) { do { if ((pbVar4[lVar11] & 0xc0) != 0x80) { return uVar8; } uVar8 = pbVar4[lVar11] & 0x3f | uVar8 << 6; lVar11 = lVar11 + 1; } while (lVar11 <= iVar10); } return uVar8; } ############ FUN_ 1812327b0 size=159 ############ int FUN_1812327b0(undefined8 *param_1,uint param_2) { byte bVar1; byte *pbVar2; uint uVar3; uint uVar4; int iVar5; int iVar6; int iVar7; pbVar2 = (byte *)*param_1; iVar7 = 0; iVar6 = -1; bVar1 = *pbVar2; do { if (bVar1 == 0) { return iVar6; } pbVar2 = pbVar2 + 1; uVar4 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar3 = 0x40; iVar5 = 0; uVar4 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar3 < 9) break; uVar4 = uVar4 >> 1; iVar5 = iVar5 + 1; uVar3 = uVar3 >> 1; } while ((bVar1 & uVar3) != 0); } uVar4 = bVar1 & uVar4; for (; (iVar5 = iVar5 + -1, -1 < iVar5 && ((*pbVar2 & 0xc0) == 0x80)); pbVar2 = pbVar2 + 1) { uVar4 = *pbVar2 & 0x3f | uVar4 << 6; } } bVar1 = *pbVar2; if (uVar4 == param_2) { iVar6 = iVar7; } iVar7 = iVar7 + 1; } while( true ); } ############ FUN_ 18049bc80 size=143 ############ int FUN_18049bc80(byte *param_1,uint param_2) { byte bVar1; uint uVar2; uint uVar3; int iVar4; int iVar5; bVar1 = *param_1; iVar5 = 0; do { if (bVar1 == 0) { return -1; } param_1 = param_1 + 1; uVar3 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar2 = 0x40; iVar4 = 0; uVar3 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar2 < 9) break; uVar3 = uVar3 >> 1; iVar4 = iVar4 + 1; uVar2 = uVar2 >> 1; } while ((bVar1 & uVar2) != 0); } uVar3 = bVar1 & uVar3; for (; (iVar4 = iVar4 + -1, -1 < iVar4 && ((*param_1 & 0xc0) == 0x80)); param_1 = param_1 + 1) { uVar3 = *param_1 & 0x3f | uVar3 << 6; } } if (uVar3 == param_2) { return iVar5; } bVar1 = *param_1; iVar5 = iVar5 + 1; } while( true ); } ############ FUN_ 1812490c0 size=260 ############ undefined8 * FUN_1812490c0(undefined8 *param_1,undefined8 *param_2,int param_3,int param_4) { byte bVar1; byte *pbVar2; byte bVar3; byte bVar4; byte *pbVar5; int iVar6; iVar6 = 0; if (param_3 < 0) { param_3 = 0; } if (param_4 <= param_3) { *param_2 = &DAT_1821dbf98; return param_2; } pbVar2 = (byte *)*param_1; pbVar5 = pbVar2; if (0 < param_3) { do { bVar1 = *pbVar5; if (bVar1 == 0) { *param_2 = &DAT_1821dbf98; return param_2; } iVar6 = iVar6 + 1; pbVar5 = pbVar5 + 1; if ((char)bVar1 < '\0') { bVar4 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar5 = pbVar5 + 1; bVar4 = bVar4 >> 1; bVar3 = bVar1 & bVar4; } } } while (iVar6 < param_3); } do { if (param_4 <= iVar6) { LAB_18124916a: FUN_18124a8a0(param_2); return param_2; } bVar1 = *pbVar5; if (bVar1 == 0) { if (param_3 == 0) { *param_2 = pbVar2; if ((*(uint *)(pbVar2 + -0x10) & 0x30000000) != 0) { return param_2; } LOCK(); *(int *)(pbVar2 + -0x10) = *(int *)(pbVar2 + -0x10) + 1; UNLOCK(); return param_2; } goto LAB_18124916a; } iVar6 = iVar6 + 1; pbVar5 = pbVar5 + 1; if ((char)bVar1 < '\0') { bVar4 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar5 = pbVar5 + 1; bVar4 = bVar4 >> 1; bVar3 = bVar1 & bVar4; } } } while( true ); } ############ FUN_ 18128e510 size=15 ############ void FUN_18128e510(undefined8 param_1,undefined8 param_2) { FUN_18123fe10(param_2,&DAT_1821def3c); return; } ############ FUN_ 1812562b0 size=15 ############ void FUN_1812562b0(undefined8 param_1,undefined8 param_2) { FUN_18123fe10(param_2,&DAT_1821df0b4); return; } ############ FUN_ 1812710a0 size=15 ############ void FUN_1812710a0(undefined8 param_1,undefined8 param_2) { FUN_18123fe10(param_2,"jpeg;jpg"); return; } ############ FUN_ 180546380 size=365 ############ void FUN_180546380(longlong param_1) { undefined8 *puVar1; int iVar2; undefined2 local_res8 [4]; undefined2 local_res10 [4]; undefined1 local_res18 [8]; undefined1 local_res20 [8]; longlong *local_58; longlong *local_50; longlong *local_48; longlong *local_40; undefined8 local_38; undefined8 local_30; local_30 = 0xfffffffffffffffe; local_40 = (longlong *)0x0; puVar1 = *(undefined8 **)(param_1 + 0x68); if (puVar1 != (undefined8 *)0x0) { local_40 = (longlong *)0x0; iVar2 = (**(code **)*puVar1)(puVar1,&DAT_1824aca88,&local_40); if (-1 < iVar2) { local_38 = 0; local_res8[0] = 8; local_res10[0] = 0; (**(code **)(*local_40 + 0x28)) (local_40,local_res10,L"Duration",local_res20,&local_38,local_res8); local_48 = (longlong *)0x0; puVar1 = *(undefined8 **)(param_1 + 0x68); if (puVar1 != (undefined8 *)0x0) { local_48 = (longlong *)0x0; iVar2 = (**(code **)*puVar1)(puVar1,&DAT_1824acae8,&local_48); if (-1 < iVar2) { local_50 = (longlong *)0x0; iVar2 = (**(code **)(*local_48 + 0x48))(local_48,0,&local_50); if (-1 < iVar2) { local_58 = (longlong *)0x0; if (local_50 != (longlong *)0x0) { local_58 = (longlong *)0x0; iVar2 = (**(code **)*local_50)(local_50,&DAT_1824ad290,&local_58); if (-1 < iVar2) { (**(code **)(*local_58 + 0x20))(local_58,0,local_res18); /* WARNING: Subroutine does not return */ free((void *)0x0); } } if (local_58 != (longlong *)0x0) { (**(code **)(*local_58 + 0x10))(local_58); } } if (local_50 != (longlong *)0x0) { (**(code **)(*local_50 + 0x10))(); } } } if (local_48 != (longlong *)0x0) { (**(code **)(*local_48 + 0x10))(local_48); } } } if (local_40 != (longlong *)0x0) { (**(code **)(*local_40 + 0x10))(local_40); } return; } ############ FUN_ 1812498b0 size=173 ############ int FUN_1812498b0(longlong *param_1,undefined8 param_2,char param_3,int param_4) { int iVar1; int iVar2; longlong lVar3; undefined8 *puVar4; iVar1 = *(int *)((longlong)param_1 + 0xc); if (param_4 < 0) { param_4 = 0; } if (param_3 == '\0') { if (param_4 < iVar1) { lVar3 = (longlong)param_4; puVar4 = (undefined8 *)(*param_1 + lVar3 * 8); do { iVar2 = FUN_18048cbc0(param_2,*puVar4); if (iVar2 == 0) { return param_4; } param_4 = param_4 + 1; lVar3 = lVar3 + 1; puVar4 = puVar4 + 1; } while (lVar3 < iVar1); } } else { for (; param_4 < iVar1; param_4 = param_4 + 1) { iVar2 = FUN_18049bb30(*(undefined8 *)(*param_1 + (longlong)param_4 * 8),param_2); if (iVar2 == 0) { return param_4; } } } return -1; } ############ FUN_ 181249970 size=142 ############ undefined8 * FUN_181249970(longlong *param_1,uint param_2) { if (param_2 < *(uint *)((longlong)param_1 + 0xc)) { return (undefined8 *)(*param_1 + (longlong)(int)param_2 * 8); } if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267af70) { _Init_thread_header(&DAT_18267af70); if (DAT_18267af70 == -1) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); return &DAT_18267af68; } } return &DAT_18267af68; } ############ FUN_ 181234570 size=125 ############ undefined8 FUN_181234570(longlong param_1,undefined8 param_2,undefined8 *param_3,undefined8 param_4) { int iVar1; if ((*(longlong *)(param_1 + 0x40) != 0) && (iVar1 = FUN_1812498b0(param_1 + 0x18,*param_3,*(undefined1 *)(param_1 + 0x38),0), iVar1 < 0)) { FUN_181234570(*(undefined8 *)(param_1 + 0x40),param_2,param_3,param_4); return param_2; } FUN_18122c970(param_1 + 0x18,param_2,*param_3,param_4); return param_2; } ############ FUN_ 1813ae0b0 size=139 ############ longlong * FUN_1813ae0b0(longlong *param_1,longlong param_2,longlong param_3) { longlong lVar1; *param_1 = param_3; lVar1 = param_3; if (param_3 < param_3 + 0x8000) { lVar1 = param_3 + 0x8000; } param_1[1] = lVar1; FUN_180535db0(param_1 + 2,*(undefined4 *)(param_2 + 0x20),0x8000); FUN_1813af530(param_2,param_1 + 2,0,0x8000,param_3); return param_1; } ############ FUN_ 1812b2fd0 size=20 ############ undefined8 FUN_1812b2fd0(undefined8 param_1) { FUN_1804d5400(); return param_1; } ############ FUN_ 181370220 size=2029 ############ ulonglong FUN_181370220(longlong *param_1,longlong param_2) { byte *pbVar1; char *pcVar2; longlong lVar3; longlong lVar4; char cVar5; int iVar6; longlong lVar7; ulonglong uVar8; uint uVar9; ulonglong uVar10; ulonglong uVar11; ulonglong uVar12; int iVar13; uint uVar14; longlong *plVar15; ulonglong uVar16; longlong lVar17; longlong lVar18; bool bVar19; longlong local_res18; ulonglong local_res20; longlong local_70; undefined8 local_68; longlong local_58; uVar14 = *(uint *)(param_1 + 0x10); uVar16 = (ulonglong)uVar14; lVar18 = param_2; if ((1 < (int)uVar14) && ((int)param_1[1] != 0)) { uVar9 = *(uint *)(param_1 + 8); uVar8 = (ulonglong)uVar9; if (-1 < (int)uVar9) { lVar17 = 0; iVar13 = 0; if (0 < (int)uVar9) { do { lVar7 = FUN_181371270(param_1,iVar13); uVar14 = (uint)uVar16; lVar17 = lVar17 + lVar7; iVar13 = iVar13 + 1; } while (iVar13 < (int)uVar8); } goto LAB_18137027f; } } lVar17 = -0x83; LAB_18137027f: if ((int)uVar14 < 2) { return 0xffffff7d; } if ((int)param_1[1] == 0) { return 0xffffff76; } if (lVar18 < 0) { return 0xffffff7d; } if (lVar17 < lVar18) { return 0xffffff7d; } iVar13 = (int)param_1[8] + -1; if (-1 < iVar13) { lVar7 = (longlong)iVar13; plVar15 = (longlong *)(param_1[0xc] + 8 + lVar7 * 0x10); do { lVar17 = lVar17 - *plVar15; if (lVar17 <= lVar18) break; iVar13 = iVar13 + -1; plVar15 = plVar15 + -2; lVar7 = lVar7 + -1; } while (-1 < lVar7); } uVar16 = *(ulonglong *)(param_1[9] + (longlong)(iVar13 + 1) * 8); uVar8 = *(ulonglong *)(param_1[9] + (longlong)iVar13 * 8); lVar7 = *(longlong *)(param_1[0xc] + (longlong)(iVar13 * 2) * 8); lVar18 = (lVar7 - lVar17) + lVar18; local_res18 = *(longlong *)(param_1[0xc] + (longlong)(iVar13 * 2 + 1) * 8) + lVar7; local_res20 = uVar8; if ((longlong)uVar8 < (longlong)uVar16) { do { uVar11 = uVar8; if ((0xffff < (longlong)(uVar16 - uVar8)) && (uVar11 = (longlong) (((double)(lVar18 - lVar7) * (double)(longlong)(uVar16 - uVar8)) / (double)(local_res18 - lVar7)) + -0x10000 + uVar8, (longlong)uVar11 < (longlong)(uVar8 + 0x10000))) { uVar11 = uVar8; } if (uVar11 != param_1[2]) { if (*param_1 == 0) { iVar6 = -0x81; } else if (((code *)param_1[0x66] == (code *)0x0) || (iVar6 = (*(code *)param_1[0x66])(*param_1,uVar11,0), iVar6 == -1)) { iVar6 = -0x80; } else { param_1[2] = uVar11; iVar6 = 0; *(undefined8 *)((longlong)param_1 + 0x2c) = 0; *(undefined8 *)((longlong)param_1 + 0x34) = 0; *(undefined4 *)((longlong)param_1 + 0x3c) = 0; } uVar10 = (ulonglong)iVar6; if (iVar6 != 0) goto LAB_1813707fa; } LAB_181370430: uVar10 = FUN_1813730a0(param_1,&local_70,uVar16 - param_1[2]); if (uVar10 == 0xffffffffffffff80) goto LAB_1813707fa; if ((longlong)uVar10 < 0) { if ((longlong)uVar11 <= (longlong)(uVar8 + 1)) break; if (uVar11 == 0) goto LAB_1813707fa; uVar12 = uVar11 - 0x10000; if ((longlong)(uVar11 - 0x10000) <= (longlong)uVar8) { uVar12 = uVar8 + 1; } if (*param_1 == 0) { iVar6 = -0x81; } else if (((code *)param_1[0x66] == (code *)0x0) || (iVar6 = (*(code *)param_1[0x66])(*param_1,uVar12,0), iVar6 == -1)) { iVar6 = -0x80; } else { iVar6 = 0; param_1[2] = uVar12; *(undefined8 *)((longlong)param_1 + 0x2c) = 0; *(undefined8 *)((longlong)param_1 + 0x34) = 0; *(undefined4 *)((longlong)param_1 + 0x3c) = 0; } LAB_1813705a5: uVar10 = (ulonglong)iVar6; uVar11 = uVar12; if (iVar6 != 0) goto LAB_1813707fa; LAB_1813705b0: if ((longlong)uVar16 <= (longlong)uVar8) break; goto LAB_181370430; } if ((*(int *)(local_70 + 0xe) != *(int *)(param_1[0xb] + (longlong)iVar13 * 4)) || (lVar3 = *(longlong *)(local_70 + 6), lVar3 == -1)) goto LAB_1813705b0; if (lVar3 < lVar18) { uVar8 = param_1[2]; uVar11 = uVar8; lVar7 = lVar3; lVar4 = local_res18; local_res20 = uVar10; if (0xac44 < lVar18 - lVar3) goto LAB_1813705d3; goto LAB_1813705b0; } if ((longlong)uVar11 <= (longlong)(uVar8 + 1)) break; bVar19 = uVar16 == param_1[2]; uVar16 = uVar11; lVar4 = lVar3; if (bVar19) { uVar12 = uVar11 - 0x10000; if ((longlong)(uVar11 - 0x10000) <= (longlong)uVar8) { uVar12 = uVar8 + 1; } iVar6 = FUN_1813731b0(param_1,uVar12); uVar16 = uVar10; goto LAB_1813705a5; } LAB_1813705d3: local_res18 = lVar4; } while ((longlong)uVar8 < (longlong)uVar16); } iVar6 = FUN_1813731b0(param_1,local_res20); uVar10 = (ulonglong)iVar6; param_1[0xf] = -1; if ((iVar6 == 0) && (uVar10 = FUN_1813730a0(param_1,&local_70,0xffffffffffffffff), -1 < (longlong)uVar10)) { if (iVar13 == (int)param_1[0x11]) { FUN_18138f730(param_1 + 0x43); } else { FUN_181371c60(param_1); *(int *)(param_1 + 0x11) = iVar13; *(undefined4 *)((longlong)param_1 + 0x84) = *(undefined4 *)(param_1[0xb] + (longlong)iVar13 * 4); *(undefined4 *)(param_1 + 0x10) = 3; } *(undefined4 *)((longlong)param_1 + 0x204) = 0xffffffff; *(undefined8 *)((longlong)param_1 + 0xac) = 0; *(undefined8 *)((longlong)param_1 + 0xcc) = 0; *(undefined4 *)((longlong)param_1 + 0xd4) = 0; *(undefined8 *)((longlong)param_1 + 500) = 0; *(undefined4 *)((longlong)param_1 + 0x1fc) = 0; param_1[0x41] = 0; param_1[0x42] = 0; *(undefined4 *)(param_1 + 0x40) = *(undefined4 *)((longlong)param_1 + 0x84); FUN_1813919f0(param_1 + 0x14,&local_70); while( true ) { uVar14 = *(uint *)((longlong)param_1 + 0xd4); uVar16 = (ulonglong)(int)uVar14; iVar13 = 0; if ((int)uVar14 < (int)param_1[0x1a]) { pcVar2 = (char *)(param_1[0x17] + uVar16 * 4); uVar9 = *(uint *)(param_1[0x17] + uVar16 * 4); if ((uVar9 >> 10 & 1) == 0) { cVar5 = (char)uVar9; while (cVar5 == -1) { uVar14 = (int)uVar16 + 1; uVar16 = (ulonglong)uVar14; pcVar2 = pcVar2 + 4; cVar5 = *pcVar2; } local_58 = *(longlong *)(param_1[0x18] + (longlong)(int)uVar14 * 8); iVar13 = 1; } else { param_1[0x41] = param_1[0x41] + 1; *(uint *)((longlong)param_1 + 0xd4) = uVar14 + 1; iVar13 = -1; } } if (iVar13 == 0) { iVar13 = FUN_1813731b0(param_1,local_res20); uVar10 = (ulonglong)iVar13; if (iVar13 < 0) goto LAB_1813707fa; goto LAB_181370860; } if (iVar13 < 0) { uVar10 = 0xffffffffffffff78; goto LAB_1813707fa; } if (local_58 != -1) break; uVar14 = *(uint *)((longlong)param_1 + 0xd4); uVar16 = (ulonglong)(int)uVar14; if ((int)uVar14 < (int)param_1[0x1a]) { lVar18 = param_1[0x17] + uVar16 * 4; uVar9 = *(uint *)(param_1[0x17] + uVar16 * 4); if ((uVar9 >> 10 & 1) == 0) { uVar9 = uVar9 & 0xff; if (uVar9 == 0xff) { uVar9 = 0xff; do { pbVar1 = (byte *)(lVar18 + 4); lVar18 = lVar18 + 4; uVar9 = uVar9 + *pbVar1; uVar14 = (int)uVar16 + 1; uVar16 = (ulonglong)uVar14; } while (*pbVar1 == 0xff); } *(uint *)(param_1 + 0x16) = (int)param_1[0x16] + uVar9; param_1[0x41] = param_1[0x41] + 1; *(uint *)((longlong)param_1 + 0xd4) = uVar14 + 1; } else { param_1[0x41] = param_1[0x41] + 1; *(uint *)((longlong)param_1 + 0xd4) = uVar14 + 1; } } } local_58 = local_58 - *(longlong *)(param_1[0xc] + (longlong)((int)param_1[0x11] * 2) * 8); if (local_58 < 0) { local_58 = 0; } param_1[0xf] = local_58; param_1[0xf] = param_1[0xf] + lVar17; if ((param_1[0xf] <= param_2) && (lVar18 = FUN_181371270(param_1,0xffffffff), param_2 <= lVar18) ) { param_1[0x12] = 0; param_1[0x13] = 0; return 0; } LAB_1813709f1: uVar10 = 0xffffffffffffff7f; } LAB_1813707fa: param_1[0xf] = -1; FUN_18138ffc0(param_1 + 0x43); FUN_181390bc0(param_1 + 0x53); *(undefined4 *)(param_1 + 0x10) = 2; return uVar10 & 0xffffffff; LAB_181370860: lVar18 = param_1[2]; uVar16 = 0xffffffffffffffff; lVar17 = lVar18; do { lVar17 = lVar17 + -0x10000; if (lVar17 < 0) { lVar17 = 0; } if (*param_1 == 0) { iVar13 = -0x81; } else if (((code *)param_1[0x66] == (code *)0x0) || (iVar13 = (*(code *)param_1[0x66])(*param_1,lVar17,0), iVar13 == -1)) { iVar13 = -0x80; } else { param_1[2] = lVar17; iVar13 = 0; *(undefined8 *)((longlong)param_1 + 0x2c) = 0; *(undefined8 *)((longlong)param_1 + 0x34) = 0; *(undefined4 *)((longlong)param_1 + 0x3c) = 0; } uVar10 = (longlong)iVar13; if (iVar13 != 0) goto LAB_18137094a; lVar7 = param_1[2]; while (lVar7 < lVar18) { local_70 = 0; local_68 = 0; uVar8 = FUN_1813730a0(param_1,&local_70); if (uVar8 == 0xffffffffffffff80) { uVar10 = 0xffffffffffffff80; goto LAB_1813707fa; } if ((longlong)uVar8 < 0) break; uVar16 = uVar8; lVar7 = param_1[2]; } } while (uVar16 == 0xffffffffffffffff); uVar10 = uVar16; if ((int)local_68 == 0) { iVar13 = FUN_1813731b0(param_1,uVar16); uVar10 = (longlong)iVar13; if ((iVar13 == 0) && (lVar18 = FUN_1813730a0(param_1,&local_70), uVar10 = uVar16, lVar18 < 0)) goto LAB_1813709f1; } LAB_18137094a: if ((longlong)uVar10 < 0) goto LAB_1813707fa; if ((*(int *)(local_70 + 0xe) == *(int *)((longlong)param_1 + 0x84)) && ((*(ulonglong *)(local_70 + 6) < 0x8000000000000000 || ((*(byte *)(local_70 + 5) & 1) == 0)))) { uVar16 = FUN_181370a20(param_1,uVar10); return uVar16; } param_1[2] = uVar10; goto LAB_181370860; } ############ FUN_ 181392960 size=234 ############ uint FUN_181392960(int *param_1,int param_2) { int iVar1; byte *pbVar2; char cVar3; int iVar4; uint uVar5; uint uVar6; iVar1 = *param_1; iVar4 = param_1[1]; uVar6 = param_2 + iVar4; if ((iVar1 + 4 < param_1[6]) || (uVar5 = 0xffffffff, (int)(uVar6 + iVar1 * 8) <= param_1[6] * 8)) { pbVar2 = *(byte **)(param_1 + 4); uVar5 = (uint)(*pbVar2 >> (*(byte *)(param_1 + 1) & 0x1f)); if (((8 < (int)uVar6) && (((cVar3 = (char)iVar4, uVar5 = uVar5 | (uint)pbVar2[1] << (8U - cVar3 & 0x1f), 0x10 < (int)uVar6 && (uVar5 = uVar5 | (uint)pbVar2[2] << (0x10U - cVar3 & 0x1f), 0x18 < (int)uVar6)) && (uVar5 = uVar5 | (uint)pbVar2[3] << (0x18U - cVar3 & 0x1f), 0x20 < (int)uVar6)))) && (iVar4 != 0)) { uVar5 = uVar5 | (uint)pbVar2[4] << (0x20U - cVar3 & 0x1f); } uVar5 = uVar5 & *(uint *)(&DAT_1822e2500 + (longlong)param_2 * 4); } iVar4 = (int)(uVar6 + ((int)uVar6 >> 0x1f & 7U)) >> 3; *(longlong *)(param_1 + 4) = *(longlong *)(param_1 + 4) + (longlong)iVar4; param_1[1] = uVar6 & 7; *param_1 = iVar4 + iVar1; return uVar5; } ############ FUN_ 1813730a0 size=264 ############ longlong FUN_1813730a0(longlong *param_1,undefined8 param_2,longlong param_3) { longlong lVar1; int iVar2; int *piVar3; undefined8 uVar4; int iVar5; if (0 < param_3) { param_3 = param_3 + param_1[2]; } while( true ) { while( true ) { if ((0 < param_3) && (param_3 <= param_1[2])) { return -1; } iVar2 = FUN_181391d60(param_1 + 4,param_2); if (-1 < iVar2) break; param_1[2] = param_1[2] - (longlong)iVar2; } if (iVar2 != 0) { lVar1 = param_1[2]; param_1[2] = iVar2 + lVar1; return lVar1; } if (param_3 == 0) break; piVar3 = _errno(); *piVar3 = 0; if (param_1[0x65] == 0) { return -0x80; } if (*param_1 == 0) { return -2; } uVar4 = FUN_181391ee0(param_1 + 4,0x800); iVar2 = (*(code *)param_1[0x65])(uVar4,1,0x800,*param_1); if ((0 < iVar2) && (iVar5 = *(int *)((longlong)param_1 + 0x2c) + iVar2, iVar5 <= (int)param_1[5])) { *(int *)((longlong)param_1 + 0x2c) = iVar5; } if (iVar2 == 0) { piVar3 = _errno(); if (*piVar3 != 0) { return -0x80; } return -2; } if (iVar2 < 0) { return -0x80; } } return -1; } ############ FUN_ 181390c80 size=118 ############ void FUN_181390c80(longlong param_1) { void *pvVar1; if (*(undefined8 **)(param_1 + 0x70) != (undefined8 *)0x0) { /* WARNING: Subroutine does not return */ free((void *)**(undefined8 **)(param_1 + 0x70)); } if (*(int *)(param_1 + 0x68) != 0) { pvVar1 = realloc(*(void **)(param_1 + 0x58), (longlong)(*(int *)(param_1 + 100) + *(int *)(param_1 + 0x68))); *(void **)(param_1 + 0x58) = pvVar1; *(int *)(param_1 + 100) = *(int *)(param_1 + 100) + *(int *)(param_1 + 0x68); *(undefined4 *)(param_1 + 0x68) = 0; *(undefined8 *)(param_1 + 0x70) = 0; *(undefined4 *)(param_1 + 0x60) = 0; return; } *(undefined8 *)(param_1 + 0x70) = 0; *(undefined4 *)(param_1 + 0x60) = 0; return; } ############ FUN_ 18138ffc0 size=1014 ############ void FUN_18138ffc0(void *param_1) { longlong lVar1; longlong *_Memory; longlong lVar2; undefined8 *_Memory_00; uint uVar3; ulonglong uVar4; ulonglong uVar5; int *piVar6; ulonglong uVar7; void *pvVar8; if (param_1 != (void *)0x0) { uVar4 = 0; lVar1 = *(longlong *)((longlong)param_1 + 8); uVar5 = uVar4; if (lVar1 != 0) { uVar5 = *(ulonglong *)(lVar1 + 0x20); } _Memory = *(longlong **)((longlong)param_1 + 0x78); if (_Memory != (longlong *)0x0) { lVar2 = *_Memory; if (lVar2 != 0) { if ((undefined8 *)(lVar2 + 0x10) != (undefined8 *)0x0) { if (*(void **)(lVar2 + 0x18) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar2 + 0x18)); } if (*(void **)(lVar2 + 0x20) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar2 + 0x20)); } *(undefined8 *)(lVar2 + 0x10) = 0; *(undefined8 *)(lVar2 + 0x18) = 0; *(undefined8 *)(lVar2 + 0x20) = 0; *(undefined8 *)(lVar2 + 0x28) = 0; } /* WARNING: Subroutine does not return */ free(*(void **)(lVar2 + 0x40)); } if ((undefined8 *)_Memory[2] != (undefined8 *)0x0) { FUN_181383520(*(undefined8 *)_Memory[2]); /* WARNING: Subroutine does not return */ free(*(void **)_Memory[2]); } if ((undefined8 *)_Memory[3] != (undefined8 *)0x0) { FUN_181383520(*(undefined8 *)_Memory[3]); /* WARNING: Subroutine does not return */ free(*(void **)_Memory[3]); } if (_Memory[0xb] != 0) { if ((uVar5 != 0) && (0 < *(int *)(uVar5 + 0x10))) { piVar6 = (int *)(uVar5 + 0x520); uVar7 = uVar4; do { (**(code **)((&PTR_DAT_1822f5a90)[*piVar6] + 0x20)) (*(undefined8 *)(uVar7 + _Memory[0xb])); uVar3 = (int)uVar4 + 1; uVar4 = (ulonglong)uVar3; piVar6 = piVar6 + 1; uVar7 = uVar7 + 8; } while ((int)uVar3 < *(int *)(uVar5 + 0x10)); } /* WARNING: Subroutine does not return */ free((void *)_Memory[0xb]); } if (_Memory[0xc] != 0) { if ((uVar5 != 0) && (0 < *(int *)(uVar5 + 0x14))) { piVar6 = (int *)(uVar5 + 0x820); uVar7 = uVar4; do { (**(code **)((&PTR_DAT_182280c20)[*piVar6] + 0x20)) (*(undefined8 *)(uVar7 + _Memory[0xc])); uVar3 = (int)uVar4 + 1; uVar4 = (ulonglong)uVar3; piVar6 = piVar6 + 1; uVar7 = uVar7 + 8; } while ((int)uVar3 < *(int *)(uVar5 + 0x14)); } /* WARNING: Subroutine does not return */ free((void *)_Memory[0xc]); } if (_Memory[0xd] != 0) { if ((uVar5 != 0) && (uVar7 = uVar4, 0 < *(int *)(uVar5 + 0x1c))) { do { pvVar8 = (void *)(_Memory[0xd] + uVar7); if (pvVar8 != (void *)0x0) { if (*(void **)((longlong)pvVar8 + 0x20) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)pvVar8 + 0x20)); } if (*(void **)((longlong)pvVar8 + 0x28) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)pvVar8 + 0x28)); } if (*(void **)((longlong)pvVar8 + 0x30) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)pvVar8 + 0x30)); } if (*(longlong *)((longlong)pvVar8 + 0x10) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)**(undefined8 **)((longlong)pvVar8 + 0x10)); } if (*(longlong *)((longlong)pvVar8 + 0x18) != 0) { /* WARNING: Subroutine does not return */ free((void *)**(undefined8 **)((longlong)pvVar8 + 0x18)); } memset(pvVar8,0,0x50); } uVar3 = (int)uVar4 + 1; uVar4 = (ulonglong)uVar3; uVar7 = uVar7 + 0x50; } while ((int)uVar3 < *(int *)(uVar5 + 0x1c)); } /* WARNING: Subroutine does not return */ free((void *)_Memory[0xd]); } _Memory_00 = (undefined8 *)_Memory[0xe]; if (_Memory_00 != (undefined8 *)0x0) { *_Memory_00 = 0; _Memory_00[1] = 0; _Memory_00[2] = 0; _Memory_00[3] = 0; _Memory_00[4] = 0; /* WARNING: Subroutine does not return */ free(_Memory_00); } _Memory[0x12] = 0; _Memory[0x13] = 0; _Memory[0x14] = 0; _Memory[0x15] = 0; _Memory[0x16] = 0; _Memory[0x17] = 0; _Memory[0x18] = 0; if (_Memory + 4 != (longlong *)0x0) { if ((void *)_Memory[5] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)_Memory[5]); } if ((void *)_Memory[6] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)_Memory[6]); } _Memory[4] = 0; _Memory[5] = 0; _Memory[6] = 0; } if (_Memory + 7 != (longlong *)0x0) { if ((void *)_Memory[8] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)_Memory[8]); } if ((void *)_Memory[9] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)_Memory[9]); } _Memory[7] = 0; _Memory[8] = 0; _Memory[9] = 0; } } if (*(longlong *)((longlong)param_1 + 0x10) != 0) { if ((lVar1 != 0) && (uVar5 = uVar4, 0 < *(int *)(lVar1 + 4))) { do { pvVar8 = *(void **)(uVar4 + *(longlong *)((longlong)param_1 + 0x10)); if (pvVar8 != (void *)0x0) { /* WARNING: Subroutine does not return */ free(pvVar8); } uVar3 = (int)uVar5 + 1; uVar4 = uVar4 + 8; uVar5 = (ulonglong)uVar3; } while ((int)uVar3 < *(int *)(lVar1 + 4)); } /* WARNING: Subroutine does not return */ free(*(void **)((longlong)param_1 + 0x10)); } if (_Memory != (longlong *)0x0) { if ((void *)_Memory[0xf] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)_Memory[0xf]); } if ((void *)_Memory[0x10] == (void *)0x0) { if ((void *)_Memory[0x11] == (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free((void *)_Memory[0x11]); } /* WARNING: Subroutine does not return */ free((void *)_Memory[0x10]); } memset(param_1,0,0x80); } return; } ############ FUN_ 1813919f0 size=860 ############ undefined8 FUN_1813919f0(longlong *param_1,longlong *param_2) { int *piVar1; uint *puVar2; byte bVar3; char cVar4; byte bVar5; longlong lVar6; int iVar7; int iVar8; int iVar9; undefined8 uVar10; void *pvVar11; ulonglong uVar12; longlong lVar13; int iVar14; int iVar15; longlong lVar16; byte *pbVar17; void *_Src; byte bVar18; lVar6 = *param_2; _Src = (void *)param_2[2]; iVar15 = (int)param_2[3]; bVar3 = *(byte *)(lVar6 + 5); cVar4 = *(char *)(lVar6 + 4); iVar14 = *(int *)((longlong)param_1 + 0x34); uVar10 = *(undefined8 *)(lVar6 + 6); iVar8 = *(int *)(lVar6 + 0xe); iVar7 = *(int *)(lVar6 + 0x12); bVar18 = *(byte *)(lVar6 + 0x1a); iVar9 = (int)param_1[2]; if (iVar9 != 0) { piVar1 = (int *)((longlong)param_1 + 0xc); *piVar1 = *piVar1 - iVar9; if (*piVar1 != 0) { memmove((void *)*param_1,(void *)(*param_1 + (longlong)iVar9), (longlong)*(int *)((longlong)param_1 + 0xc)); } *(undefined4 *)(param_1 + 2) = 0; } if (iVar14 != 0) { iVar9 = *(int *)((longlong)param_1 + 0x2c) - iVar14; if (iVar9 != 0) { memmove((void *)param_1[3],(void *)(param_1[3] + (longlong)iVar14 * 4),(longlong)iVar9 << 2); memmove((void *)param_1[4],(void *)(param_1[4] + (longlong)iVar14 * 8), (longlong)(*(int *)((longlong)param_1 + 0x2c) - iVar14) << 3); } *(int *)((longlong)param_1 + 0x2c) = *(int *)((longlong)param_1 + 0x2c) - iVar14; *(int *)(param_1 + 6) = (int)param_1[6] - iVar14; *(undefined4 *)((longlong)param_1 + 0x34) = 0; } if ((iVar8 == (int)param_1[0x2c]) && (cVar4 == '\0')) { lVar16 = (longlong)(int)(uint)bVar18; FUN_181392670(param_1); if (iVar7 != *(int *)((longlong)param_1 + 0x164)) { iVar14 = (int)param_1[6]; if (iVar14 < *(int *)((longlong)param_1 + 0x2c)) { iVar9 = *(int *)((longlong)param_1 + 0xc); uVar12 = (ulonglong)(uint)(*(int *)((longlong)param_1 + 0x2c) - iVar14); pbVar17 = (byte *)(param_1[3] + (longlong)iVar14 * 4); do { bVar18 = *pbVar17; pbVar17 = pbVar17 + 4; iVar9 = iVar9 - (uint)bVar18; *(int *)((longlong)param_1 + 0xc) = iVar9; uVar12 = uVar12 - 1; } while (uVar12 != 0); } *(int *)((longlong)param_1 + 0x2c) = iVar14; if (*(int *)((longlong)param_1 + 0x164) != -1) { *(undefined4 *)(param_1[3] + (longlong)iVar14 * 4) = 0x400; *(int *)((longlong)param_1 + 0x2c) = *(int *)((longlong)param_1 + 0x2c) + 1; *(int *)(param_1 + 6) = (int)param_1[6] + 1; } } iVar14 = 0; bVar18 = bVar3 & 2; if (((bVar3 & 1) != 0) && ((iVar14 = 0, *(int *)((longlong)param_1 + 0x2c) < 1 || (*(int *)(param_1[3] + (longlong)(*(int *)((longlong)param_1 + 0x2c) + -1) * 4) == 0x400)))) { lVar13 = 0; iVar9 = 0; bVar18 = 0; if (lVar16 != 0) { do { bVar5 = *(byte *)(lVar13 + 0x1b + lVar6); iVar14 = iVar9 + 1; _Src = (void *)((longlong)_Src + (ulonglong)bVar5); iVar15 = iVar15 - (uint)bVar5; bVar18 = 0; if (bVar5 < 0xff) break; lVar13 = lVar13 + 1; iVar9 = iVar14; } while (lVar13 < lVar16); } } if (iVar15 != 0) { if ((int)param_1[1] <= *(int *)((longlong)param_1 + 0xc) + iVar15) { iVar9 = (int)param_1[1] + 0x400 + iVar15; *(int *)(param_1 + 1) = iVar9; pvVar11 = realloc((void *)*param_1,(longlong)iVar9); *param_1 = (longlong)pvVar11; } memcpy((void *)((longlong)*(int *)((longlong)param_1 + 0xc) + *param_1),_Src,(longlong)iVar15) ; *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + iVar15; } lVar13 = (longlong)iVar14; iVar15 = -1; if (lVar13 < lVar16) { do { bVar5 = *(byte *)(lVar13 + 0x1b + lVar6); *(uint *)(param_1[3] + (longlong)*(int *)((longlong)param_1 + 0x2c) * 4) = (uint)bVar5; *(undefined8 *)(param_1[4] + (longlong)*(int *)((longlong)param_1 + 0x2c) * 8) = 0xffffffffffffffff; if (bVar18 != 0) { puVar2 = (uint *)(param_1[3] + (longlong)*(int *)((longlong)param_1 + 0x2c) * 4); *puVar2 = *puVar2 | 0x100; bVar18 = 0; } if (bVar5 < 0xff) { iVar15 = *(int *)((longlong)param_1 + 0x2c); } *(int *)((longlong)param_1 + 0x2c) = *(int *)((longlong)param_1 + 0x2c) + 1; lVar13 = lVar13 + 1; if (bVar5 != 0xff) { *(undefined4 *)(param_1 + 6) = *(undefined4 *)((longlong)param_1 + 0x2c); } } while (lVar13 < lVar16); if (iVar15 != -1) { *(undefined8 *)(param_1[4] + (longlong)iVar15 * 8) = uVar10; } } if ((bVar3 & 4) != 0) { *(undefined4 *)(param_1 + 0x2b) = 1; if (0 < *(int *)((longlong)param_1 + 0x2c)) { puVar2 = (uint *)(param_1[3] + (longlong)(*(int *)((longlong)param_1 + 0x2c) + -1) * 4); *puVar2 = *puVar2 | 0x200; } } *(int *)((longlong)param_1 + 0x164) = iVar7 + 1; uVar10 = 0; } else { uVar10 = 0xffffffff; } return uVar10; } ############ FUN_ 181371e20 size=185 ############ undefined8 FUN_181371e20(longlong param_1) { int iVar1; longlong lVar2; longlong lVar3; if (3 < *(int *)(param_1 + 0x80)) { return 0; } if (*(int *)(param_1 + 0x80) < 3) { return 0xffffff7f; } if (*(int *)(param_1 + 8) == 0) { lVar2 = *(longlong *)(param_1 + 0x68); } else { lVar2 = *(longlong *)(param_1 + 0x68) + (longlong)*(int *)(param_1 + 0x88) * 0x28; } lVar3 = param_1 + 0x218; iVar1 = FUN_181390660(lVar3,lVar2); if (iVar1 != 0) { FUN_18138ffc0(); return 0xffffff77; } FUN_18138f730(lVar3); FUN_181390da0(lVar3,param_1 + 0x298); *(undefined8 *)(param_1 + 0x90) = 0; *(undefined8 *)(param_1 + 0x98) = 0; *(undefined4 *)(param_1 + 0x80) = 4; return 0; } ############ FUN_ 18138ec80 size=2655 ############ undefined8 FUN_18138ec80(longlong param_1,longlong *param_2) { longlong lVar1; float *pfVar2; float fVar3; int iVar4; longlong lVar5; longlong lVar6; int *piVar7; undefined *puVar8; byte bVar9; longlong lVar10; byte bVar11; int iVar12; undefined4 *puVar13; float *pfVar14; longlong lVar15; float *pfVar16; longlong lVar17; longlong lVar18; int iVar19; longlong lVar20; int iVar21; longlong lVar22; longlong lVar23; int iVar24; longlong lVar25; int iVar26; longlong lVar27; int local_res18; longlong local_98; lVar5 = *(longlong *)(param_1 + 8); lVar6 = *(longlong *)(param_1 + 0x78); piVar7 = *(int **)(lVar5 + 0x20); iVar21 = piVar7[0x59a]; if ((param_2 != (longlong *)0x0) && ((*(int *)(param_1 + 0x24) <= *(int *)(param_1 + 0x28) || (*(int *)(param_1 + 0x28) == -1)))) { *(undefined4 *)(param_1 + 0x34) = *(undefined4 *)(param_1 + 0x38); *(undefined4 *)(param_1 + 0x38) = *(undefined4 *)((longlong)param_2 + 0x2c); *(undefined4 *)(param_1 + 0x3c) = 0xffffffff; if ((*(longlong *)(param_1 + 0x50) == -1) || (*(longlong *)(param_1 + 0x50) + 1 != param_2[9])) { *(undefined8 *)(param_1 + 0x48) = 0xffffffffffffffff; *(undefined8 *)(lVar6 + 200) = 0xffffffffffffffff; } *(longlong *)(param_1 + 0x50) = param_2[9]; bVar9 = (byte)iVar21; if (*param_2 != 0) { bVar11 = bVar9 + 1; iVar24 = piVar7[1]; iVar4 = piVar7[*(int *)(param_1 + 0x38)]; iVar26 = *piVar7; *(longlong *)(param_1 + 0x58) = *(longlong *)(param_1 + 0x58) + (longlong)(int)param_2[0xf]; *(longlong *)(param_1 + 0x60) = *(longlong *)(param_1 + 0x60) + (longlong)*(int *)((longlong)param_2 + 0x7c); *(longlong *)(param_1 + 0x68) = *(longlong *)(param_1 + 0x68) + (longlong)(int)param_2[0x10]; *(longlong *)(param_1 + 0x70) = *(longlong *)(param_1 + 0x70) + (longlong)*(int *)((longlong)param_2 + 0x84); iVar26 = iVar26 >> (bVar11 & 0x1f); iVar24 = iVar24 >> (bVar11 & 0x1f); iVar12 = 0; iVar19 = iVar24; if (*(int *)(param_1 + 0x40) != 0) { iVar12 = iVar24; iVar19 = 0; } lVar27 = (longlong)iVar24; lVar10 = (longlong)(iVar4 >> (bVar11 & 0x1f)); local_res18 = 0; lVar25 = (longlong)iVar26; if (0 < *(int *)(lVar5 + 4)) { lVar17 = (longlong)iVar19; local_98 = 0; do { lVar23 = 0; if (*(int *)(param_1 + 0x34) == 0) { puVar8 = (&PTR_DAT_1822e5df0)[*(int *)(lVar6 + 8) - iVar21]; lVar1 = *(longlong *)(local_98 + *(longlong *)(param_1 + 0x10)); if (*(int *)(param_1 + 0x38) == 0) { lVar1 = lVar1 + lVar17 * 4; lVar15 = *(longlong *)(local_98 + *param_2); if (3 < lVar25) { pfVar14 = (float *)(lVar1 + 4); lVar20 = lVar15 - lVar1; pfVar16 = (float *)(puVar8 + (lVar25 + -2) * 4); lVar22 = (longlong)puVar8 - lVar1; lVar18 = (lVar25 - 4U >> 2) + 1; lVar23 = lVar18 * 4; do { pfVar14[-1] = *(float *)((longlong)pfVar14 + lVar22 + -4) * *(float *)((longlong)pfVar14 + lVar20 + -4) + pfVar16[1] * pfVar14[-1]; *pfVar14 = *(float *)(lVar22 + (longlong)pfVar14 + (lVar15 - (longlong)puVar8)) * *(float *)(lVar22 + (longlong)pfVar14) + *pfVar16 * *pfVar14; pfVar14[1] = *(float *)(lVar22 + 4 + (longlong)pfVar14) * *(float *)(lVar20 + 4 + (longlong)pfVar14) + pfVar16[-1] * pfVar14[1] ; pfVar2 = pfVar16 + -2; pfVar16 = pfVar16 + -4; pfVar14[2] = *(float *)(lVar22 + 8 + (longlong)pfVar14) * *(float *)(lVar20 + 8 + (longlong)pfVar14) + *pfVar2 * pfVar14[2]; pfVar14 = pfVar14 + 4; lVar18 = lVar18 + -1; } while (lVar18 != 0); } if (lVar23 < lVar25) { pfVar14 = (float *)(lVar1 + lVar23 * 4); pfVar16 = (float *)(puVar8 + ((lVar25 - lVar23) + -1) * 4); lVar23 = lVar25 - lVar23; do { fVar3 = *pfVar16; pfVar2 = (float *)(((longlong)puVar8 - lVar1) + (longlong)pfVar14); pfVar16 = pfVar16 + -1; *pfVar14 = *(float *)((lVar15 - (longlong)puVar8) + (longlong)pfVar2) * *pfVar2 + fVar3 * *pfVar14; pfVar14 = pfVar14 + 1; lVar23 = lVar23 + -1; } while (lVar23 != 0); } } else { lVar1 = lVar1 + lVar17 * 4; lVar15 = 0; lVar23 = *(longlong *)(local_98 + *param_2) + ((longlong)(iVar24 / 2) - (longlong)(iVar26 / 2)) * 4; if (3 < lVar25) { pfVar14 = (float *)(lVar1 + 4); lVar20 = lVar23 - lVar1; pfVar16 = (float *)(puVar8 + (lVar25 + -2) * 4); lVar22 = (longlong)puVar8 - lVar1; lVar18 = (lVar25 - 4U >> 2) + 1; lVar15 = lVar18 * 4; do { pfVar14[-1] = *(float *)((longlong)pfVar14 + lVar22 + -4) * *(float *)((longlong)pfVar14 + lVar20 + -4) + pfVar16[1] * pfVar14[-1]; *pfVar14 = *(float *)((longlong)pfVar14 + lVar22 + (lVar23 - (longlong)puVar8)) * *(float *)((longlong)pfVar14 + lVar22) + *pfVar16 * *pfVar14; pfVar14[1] = *(float *)((longlong)pfVar14 + lVar22 + 4) * *(float *)((longlong)pfVar14 + lVar20 + 4) + pfVar16[-1] * pfVar14[1] ; pfVar2 = pfVar16 + -2; pfVar16 = pfVar16 + -4; pfVar14[2] = *(float *)((longlong)pfVar14 + lVar22 + 8) * *(float *)((longlong)pfVar14 + lVar20 + 8) + *pfVar2 * pfVar14[2]; pfVar14 = pfVar14 + 4; lVar18 = lVar18 + -1; } while (lVar18 != 0); } if (lVar15 < lVar25) { pfVar14 = (float *)(lVar1 + lVar15 * 4); lVar18 = lVar25 - lVar15; pfVar16 = (float *)(puVar8 + ((lVar25 - lVar15) + -1) * 4); lVar15 = lVar15 + lVar18; do { fVar3 = *pfVar16; pfVar2 = (float *)((longlong)pfVar14 + ((longlong)puVar8 - lVar1)); pfVar16 = pfVar16 + -1; *pfVar14 = *(float *)((longlong)pfVar2 + (lVar23 - (longlong)puVar8)) * *pfVar2 + fVar3 * *pfVar14; pfVar14 = pfVar14 + 1; lVar18 = lVar18 + -1; } while (lVar18 != 0); } lVar18 = (longlong)(iVar26 / 2 + iVar24 / 2); if (lVar15 < lVar18) { if (3 < lVar18 - lVar15) { puVar13 = (undefined4 *)(lVar1 + (lVar15 + 1) * 4); lVar20 = lVar23 - lVar1; lVar22 = ((lVar18 - lVar15) - 4U >> 2) + 1; lVar15 = lVar15 + lVar22 * 4; do { puVar13[-1] = *(undefined4 *)((longlong)puVar13 + lVar20 + -4); *puVar13 = *(undefined4 *)((longlong)puVar13 + lVar20); puVar13[1] = *(undefined4 *)((longlong)puVar13 + lVar20 + 4); puVar13[2] = *(undefined4 *)((longlong)puVar13 + lVar20 + 8); puVar13 = puVar13 + 4; lVar22 = lVar22 + -1; } while (lVar22 != 0); } if (lVar15 < lVar18) { puVar13 = (undefined4 *)(lVar1 + lVar15 * 4); lVar18 = lVar18 - lVar15; do { *puVar13 = *(undefined4 *)((lVar23 - lVar1) + (longlong)puVar13); puVar13 = puVar13 + 1; lVar18 = lVar18 + -1; } while (lVar18 != 0); } } } } else if (*(int *)(param_1 + 0x38) == 0) { puVar8 = (&PTR_DAT_1822e5df0)[*(int *)(lVar6 + 8) - iVar21]; lVar1 = *(longlong *)(local_98 + *(longlong *)(param_1 + 0x10)) + (((longlong)(iVar24 / 2) - (longlong)(iVar26 / 2)) + lVar17) * 4; lVar15 = *(longlong *)(local_98 + *param_2); if (3 < lVar25) { pfVar14 = (float *)(lVar1 + 4); lVar20 = lVar15 - lVar1; pfVar16 = (float *)(puVar8 + (lVar25 + -2) * 4); lVar22 = (longlong)puVar8 - lVar1; lVar18 = (lVar25 - 4U >> 2) + 1; lVar23 = lVar18 * 4; do { pfVar14[-1] = *(float *)(lVar22 + -4 + (longlong)pfVar14) * *(float *)(lVar20 + -4 + (longlong)pfVar14) + pfVar16[1] * pfVar14[-1] ; *pfVar14 = *(float *)(lVar22 + (longlong)pfVar14 + (lVar15 - (longlong)puVar8)) * *(float *)(lVar22 + (longlong)pfVar14) + *pfVar16 * *pfVar14; pfVar14[1] = *(float *)(lVar22 + 4 + (longlong)pfVar14) * *(float *)(lVar20 + 4 + (longlong)pfVar14) + pfVar16[-1] * pfVar14[1]; pfVar2 = pfVar16 + -2; pfVar16 = pfVar16 + -4; pfVar14[2] = *(float *)(lVar22 + 8 + (longlong)pfVar14) * *(float *)(lVar20 + 8 + (longlong)pfVar14) + *pfVar2 * pfVar14[2]; pfVar14 = pfVar14 + 4; lVar18 = lVar18 + -1; } while (lVar18 != 0); } if (lVar23 < lVar25) { pfVar14 = (float *)(lVar1 + lVar23 * 4); pfVar16 = (float *)(puVar8 + ((lVar25 - lVar23) + -1) * 4); lVar23 = lVar25 - lVar23; do { pfVar2 = (float *)((longlong)pfVar14 + ((longlong)puVar8 - lVar1)); fVar3 = *pfVar16; pfVar16 = pfVar16 + -1; *pfVar14 = *(float *)((longlong)pfVar2 + (lVar15 - (longlong)puVar8)) * *pfVar2 + *pfVar14 * fVar3; pfVar14 = pfVar14 + 1; lVar23 = lVar23 + -1; } while (lVar23 != 0); } } else { puVar8 = (&PTR_DAT_1822e5df0)[*(int *)(lVar6 + 0xc) - iVar21]; lVar1 = *(longlong *)(local_98 + *(longlong *)(param_1 + 0x10)) + lVar17 * 4; lVar15 = *(longlong *)(local_98 + *param_2); if (3 < lVar27) { pfVar14 = (float *)(lVar1 + 4); lVar20 = lVar15 - lVar1; pfVar16 = (float *)(puVar8 + (lVar27 + -2) * 4); lVar22 = (longlong)puVar8 - lVar1; lVar18 = (lVar27 - 4U >> 2) + 1; lVar23 = lVar18 * 4; do { pfVar14[-1] = *(float *)(lVar22 + -4 + (longlong)pfVar14) * *(float *)(lVar20 + -4 + (longlong)pfVar14) + pfVar16[1] * pfVar14[-1] ; *pfVar14 = *(float *)(lVar22 + (longlong)pfVar14 + (lVar15 - (longlong)puVar8)) * *(float *)(lVar22 + (longlong)pfVar14) + *pfVar16 * *pfVar14; pfVar14[1] = *(float *)(lVar22 + 4 + (longlong)pfVar14) * *(float *)(lVar20 + 4 + (longlong)pfVar14) + pfVar16[-1] * pfVar14[1]; pfVar2 = pfVar16 + -2; pfVar16 = pfVar16 + -4; pfVar14[2] = *(float *)(lVar22 + 8 + (longlong)pfVar14) * *(float *)(lVar20 + 8 + (longlong)pfVar14) + *pfVar2 * pfVar14[2]; pfVar14 = pfVar14 + 4; lVar18 = lVar18 + -1; } while (lVar18 != 0); } if (lVar23 < lVar27) { pfVar14 = (float *)(lVar1 + lVar23 * 4); pfVar16 = (float *)(puVar8 + ((lVar27 - lVar23) + -1) * 4); lVar23 = lVar27 - lVar23; do { fVar3 = *pfVar16; pfVar2 = (float *)((longlong)pfVar14 + ((longlong)puVar8 - lVar1)); pfVar16 = pfVar16 + -1; *pfVar14 = *(float *)((longlong)pfVar2 + (lVar15 - (longlong)puVar8)) * *pfVar2 + fVar3 * *pfVar14; pfVar14 = pfVar14 + 1; lVar23 = lVar23 + -1; } while (lVar23 != 0); } } lVar15 = 0; lVar23 = *(longlong *)(local_98 + *(longlong *)(param_1 + 0x10)) + (longlong)iVar12 * 4; lVar1 = *(longlong *)(local_98 + *param_2) + lVar10 * 4; if (3 < lVar10) { lVar18 = lVar1 - lVar23; lVar20 = (lVar10 - 4U >> 2) + 1; puVar13 = (undefined4 *)(lVar23 + 4); lVar15 = lVar20 * 4; do { puVar13[-1] = *(undefined4 *)(lVar18 + -4 + (longlong)puVar13); *puVar13 = *(undefined4 *)(lVar18 + (longlong)puVar13); puVar13[1] = *(undefined4 *)(lVar18 + 4 + (longlong)puVar13); puVar13[2] = *(undefined4 *)(lVar18 + 8 + (longlong)puVar13); puVar13 = puVar13 + 4; lVar20 = lVar20 + -1; } while (lVar20 != 0); } if (lVar15 < lVar10) { puVar13 = (undefined4 *)(lVar23 + lVar15 * 4); lVar15 = lVar10 - lVar15; do { *puVar13 = *(undefined4 *)((longlong)puVar13 + (lVar1 - lVar23)); puVar13 = puVar13 + 1; lVar15 = lVar15 + -1; } while (lVar15 != 0); } local_res18 = local_res18 + 1; local_98 = local_98 + 8; } while (local_res18 < *(int *)(lVar5 + 4)); } if (*(int *)(param_1 + 0x40) != 0) { iVar24 = 0; } *(int *)(param_1 + 0x40) = iVar24; if (*(int *)(param_1 + 0x28) == -1) { *(int *)(param_1 + 0x28) = iVar12; *(int *)(param_1 + 0x24) = iVar12; } else { *(int *)(param_1 + 0x28) = iVar19; *(int *)(param_1 + 0x24) = (((int)((piVar7[*(int *)(param_1 + 0x38)] >> 0x1f & 3U) + piVar7[*(int *)(param_1 + 0x38)]) >> 2) + ((int)(piVar7[*(int *)(param_1 + 0x34)] + (piVar7[*(int *)(param_1 + 0x34)] >> 0x1f & 3U)) >> 2) >> (bVar9 & 0x1f)) + iVar19; } } if (*(longlong *)(lVar6 + 200) == -1) { *(undefined8 *)(lVar6 + 200) = 0; } else { *(longlong *)(lVar6 + 200) = (longlong) (((int)(piVar7[*(int *)(param_1 + 0x34)] + (piVar7[*(int *)(param_1 + 0x34)] >> 0x1f & 3U)) >> 2) + ((int)((piVar7[*(int *)(param_1 + 0x38)] >> 0x1f & 3U) + piVar7[*(int *)(param_1 + 0x38)] ) >> 2)) + *(longlong *)(lVar6 + 200); } if (*(longlong *)(param_1 + 0x48) == -1) { lVar5 = param_2[8]; if ((lVar5 != -1) && (*(longlong *)(param_1 + 0x48) = lVar5, lVar5 < *(longlong *)(lVar6 + 200))) { iVar21 = *(int *)(lVar6 + 200) - (int)param_2[8]; if (iVar21 < 0) { iVar21 = 0; } if (*(int *)((longlong)param_2 + 0x3c) == 0) { *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + (iVar21 >> (bVar9 & 0x1f)); if (*(int *)(param_1 + 0x24) < *(int *)(param_1 + 0x28)) { *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x24); } } else { iVar24 = *(int *)(param_1 + 0x24) - *(int *)(param_1 + 0x28) << (bVar9 & 0x1f); if (iVar24 < iVar21) { iVar21 = iVar24; } *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) - (iVar21 >> (bVar9 & 0x1f)); } } } else { *(longlong *)(param_1 + 0x48) = *(longlong *)(param_1 + 0x48) + (longlong) (((int)(piVar7[*(int *)(param_1 + 0x34)] + (piVar7[*(int *)(param_1 + 0x34)] >> 0x1f & 3U)) >> 2) + ((int)((piVar7[*(int *)(param_1 + 0x38)] >> 0x1f & 3U) + piVar7[*(int *)(param_1 + 0x38)] ) >> 2)); lVar5 = param_2[8]; lVar6 = *(longlong *)(param_1 + 0x48); if ((lVar5 != -1) && (lVar6 != lVar5)) { if ((lVar5 < lVar6) && ((iVar21 = (int)lVar6 - (int)lVar5, iVar21 != 0 && (*(int *)((longlong)param_2 + 0x3c) != 0)))) { iVar24 = *(int *)(param_1 + 0x24) - *(int *)(param_1 + 0x28) << (bVar9 & 0x1f); if (iVar24 < iVar21) { iVar21 = iVar24; } if (iVar21 < 0) { iVar21 = 0; } *(int *)(param_1 + 0x24) = *(int *)(param_1 + 0x24) - (iVar21 >> (bVar9 & 0x1f)); } *(longlong *)(param_1 + 0x48) = param_2[8]; } } if (*(int *)((longlong)param_2 + 0x3c) != 0) { *(undefined4 *)(param_1 + 0x30) = 1; } return 0; } return 0xffffff7d; } ############ FUN_ 181390bc0 size=110 ############ undefined8 FUN_181390bc0(void *param_1) { longlong lVar1; lVar1 = *(longlong *)((longlong)param_1 + 0x88); FUN_181390c80(); if (*(void **)((longlong)param_1 + 0x58) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)param_1 + 0x58)); } if (lVar1 != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(*(longlong *)(lVar1 + 0x10) + 8)); } memset(param_1,0,0x90); return 0; } ############ FUN_ 181371270 size=129 ############ ulonglong FUN_181371270(longlong param_1,int param_2) { longlong lVar1; ulonglong uVar2; uint uVar3; ulonglong uVar4; if (((1 < *(int *)(param_1 + 0x80)) && (*(int *)(param_1 + 8) != 0)) && (param_2 < *(int *)(param_1 + 0x40))) { if (param_2 < 0) { uVar2 = 0; uVar4 = uVar2; if (0 < *(int *)(param_1 + 0x40)) { do { lVar1 = FUN_181371270(param_1,uVar4); uVar2 = uVar2 + lVar1; uVar3 = (int)uVar4 + 1; uVar4 = (ulonglong)uVar3; } while ((int)uVar3 < *(int *)(param_1 + 0x40)); } return uVar2; } return *(ulonglong *)(*(longlong *)(param_1 + 0x60) + (longlong)(param_2 * 2 + 1) * 8); } return 0xffffffffffffff7d; } ############ FUN_ 18136fb30 size=192 ############ undefined8 FUN_18136fb30(longlong param_1,double param_2) { uint uVar1; undefined8 uVar2; uint uVar3; longlong lVar5; ulonglong uVar6; double dVar7; double dVar8; ulonglong uVar4; uVar4 = 0; uVar3 = 0; dVar7 = 0.0; if (1 < *(int *)(param_1 + 0x80)) { if (*(int *)(param_1 + 8) == 0) { return 0xffffff76; } if (0.0 <= param_2) { uVar1 = *(uint *)(param_1 + 0x40); uVar6 = uVar4; dVar8 = 0.0; if (0 < (int)uVar1) { lVar5 = 8; do { uVar3 = (uint)uVar4; dVar8 = dVar7; dVar7 = (double)FUN_1813711b0(param_1,uVar4); dVar7 = dVar7 + dVar8; if (param_2 < dVar7) break; uVar3 = uVar3 + 1; uVar4 = (ulonglong)uVar3; uVar6 = uVar6 + *(longlong *)(lVar5 + *(longlong *)(param_1 + 0x60)); lVar5 = lVar5 + 0x10; dVar8 = dVar7; } while ((int)uVar3 < (int)uVar1); } if (uVar3 != uVar1) { uVar2 = FUN_18136fc00(param_1,(longlong) ((double)*(int *)(*(longlong *)(param_1 + 0x68) + 8 + (longlong)(int)uVar3 * 0x28) * (param_2 - dVar8) + (double)(longlong)uVar6)); return uVar2; } } } return 0xffffff7d; } ############ FUN_ 181377470 size=464 ############ undefined8 FUN_181377470(longlong *param_1,longlong *param_2) { longlong lVar1; int iVar2; undefined4 uVar3; int iVar4; longlong *plVar5; longlong lVar6; undefined8 uVar7; longlong *plVar8; longlong *plVar9; longlong *plVar10; uint uVar11; longlong *plVar12; longlong *plVar13; plVar10 = (longlong *)0x0; plVar5 = plVar10; plVar8 = plVar10; plVar12 = plVar10; plVar13 = plVar10; if ((param_1 != (longlong *)0x0) && (plVar5 = (longlong *)param_1[10], plVar5 != (longlong *)0x0)) { plVar8 = (longlong *)plVar5[1]; plVar13 = (longlong *)plVar5[0xf]; if (plVar8 != (longlong *)0x0) { plVar12 = (longlong *)plVar8[4]; } } plVar9 = param_1 + 1; if (param_1 == (longlong *)0x0) { plVar9 = plVar10; } if ((((plVar5 != (longlong *)0x0) && (plVar13 != (longlong *)0x0)) && (plVar8 != (longlong *)0x0)) && ((plVar12 != (longlong *)0x0 && (plVar9 != (longlong *)0x0)))) { FUN_181390c80(); lVar1 = param_2[1]; lVar6 = *param_2; *plVar9 = 0; plVar9[3] = 0; *(int *)(plVar9 + 3) = (int)lVar1; plVar9[2] = lVar6; plVar9[1] = lVar6; iVar2 = FUN_181392960(plVar9,1); if (iVar2 != 0) { return 0xffffff79; } iVar2 = FUN_181392960(plVar9,(int)plVar13[10]); if (iVar2 != -1) { *(int *)(param_1 + 7) = iVar2; if ((int *)plVar12[(longlong)iVar2 + 4] != (int *)0x0) { iVar4 = *(int *)plVar12[(longlong)iVar2 + 4]; *(int *)((longlong)param_1 + 0x2c) = iVar4; if (iVar4 == 0) { *(undefined4 *)(param_1 + 5) = 0; *(undefined4 *)(param_1 + 6) = 0; } else { uVar3 = FUN_181392960(plVar9,1); *(undefined4 *)(param_1 + 5) = uVar3; iVar4 = FUN_181392960(plVar9,1); *(int *)(param_1 + 6) = iVar4; if (iVar4 == -1) { return 0xffffff78; } } param_1[8] = param_2[3]; param_1[9] = param_2[4]; *(int *)((longlong)param_1 + 0x3c) = (int)param_2[2]; *(undefined4 *)((longlong)param_1 + 0x34) = *(undefined4 *)((longlong)plVar12 + (longlong)*(int *)((longlong)param_1 + 0x2c) * 4); lVar6 = FUN_181390d20(param_1,*(int *)((longlong)plVar8 + 4) << 3); *param_1 = lVar6; plVar5 = plVar10; if (0 < *(int *)((longlong)plVar8 + 4)) { do { uVar7 = FUN_181390d20(param_1,*(int *)((longlong)param_1 + 0x34) << 2); uVar11 = (int)plVar5 + 1; *(undefined8 *)((longlong)plVar10 + *param_1) = uVar7; plVar10 = plVar10 + 1; plVar5 = (longlong *)(ulonglong)uVar11; } while ((int)uVar11 < *(int *)((longlong)plVar8 + 4)); } uVar7 = (**(code **)((&PTR_PTR_1822fa9e8) [*(int *)((longlong)plVar12 + (longlong)*(int *)(plVar12[(longlong)iVar2 + 4] + 0xc) * 4 + 0x220)] + 0x20)) (param_1,plVar12[(longlong)*(int *)(plVar12[(longlong)iVar2 + 4] + 0xc) + 100]); return uVar7; } } } return 0xffffff78; } ############ FUN_ 181391840 size=255 ############ undefined8 FUN_181391840(longlong *param_1,longlong *param_2,int param_3) { uint *puVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; uint *puVar6; uint uVar7; ulonglong uVar8; uVar7 = *(uint *)((longlong)param_1 + 0x34); uVar8 = (ulonglong)(int)uVar7; if ((int)param_1[6] <= (int)uVar7) { return 0; } puVar6 = (uint *)(param_1[3] + uVar8 * 4); uVar2 = *puVar6; if ((uVar2 >> 10 & 1) == 0) { if ((param_2 != (longlong *)0x0) || (param_3 != 0)) { uVar5 = uVar2 & 0xff; uVar4 = uVar2 & 0x200; if (uVar5 == 0xff) { uVar5 = 0xff; do { puVar1 = puVar6 + 1; puVar6 = puVar6 + 1; uVar7 = (int)uVar8 + 1; uVar8 = (ulonglong)uVar7; uVar3 = *puVar1 & 0xff; if ((*puVar1 & 0x200) != 0) { uVar4 = 0x200; } uVar5 = uVar5 + uVar3; } while (uVar3 == 0xff); } if (param_2 != (longlong *)0x0) { *(uint *)(param_2 + 2) = uVar4; *(uint *)((longlong)param_2 + 0xc) = uVar2 & 0x100; *param_2 = (longlong)(int)param_1[2] + *param_1; param_2[4] = param_1[0x2d]; param_2[3] = *(longlong *)(param_1[4] + (longlong)(int)uVar7 * 8); *(uint *)(param_2 + 1) = uVar5; } if (param_3 != 0) { *(uint *)(param_1 + 2) = (int)param_1[2] + uVar5; param_1[0x2d] = param_1[0x2d] + 1; *(uint *)((longlong)param_1 + 0x34) = uVar7 + 1; } } return 1; } param_1[0x2d] = param_1[0x2d] + 1; *(uint *)((longlong)param_1 + 0x34) = uVar7 + 1; return 0xffffffff; } ############ FUN_ 181388250 size=661 ############ void FUN_181388250(undefined8 *param_1) { void *pvVar1; void *_Memory; undefined8 *_Memory_00; longlong lVar2; void *_Memory_01; int *piVar3; undefined8 *puVar4; longlong *plVar5; ulonglong uVar6; uint uVar7; ulonglong uVar8; ulonglong uVar9; _Memory = (void *)param_1[4]; if (_Memory == (void *)0x0) { *param_1 = 0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; return; } uVar9 = 0; if (0 < *(int *)((longlong)_Memory + 8)) { puVar4 = (undefined8 *)((longlong)_Memory + 0x20); uVar6 = uVar9; do { if ((void *)*puVar4 != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)*puVar4); } uVar7 = (int)uVar6 + 1; uVar6 = (ulonglong)uVar7; puVar4 = puVar4 + 1; } while ((int)uVar7 < *(int *)((longlong)_Memory + 8)); } if (0 < *(int *)((longlong)_Memory + 0xc)) { piVar3 = (int *)((longlong)_Memory + 0x220); plVar5 = (longlong *)((longlong)_Memory + 800); uVar6 = uVar9; do { if (*plVar5 != 0) { (**(code **)((&PTR_PTR_1822fa9e8)[*piVar3] + 0x10))(); } uVar7 = (int)uVar6 + 1; uVar6 = (ulonglong)uVar7; plVar5 = plVar5 + 1; piVar3 = piVar3 + 1; } while ((int)uVar7 < *(int *)((longlong)_Memory + 0xc)); } if (0 < *(int *)((longlong)_Memory + 0x10)) { piVar3 = (int *)((longlong)_Memory + 0x520); plVar5 = (longlong *)((longlong)_Memory + 0x620); uVar6 = uVar9; do { if (*plVar5 != 0) { (**(code **)((&PTR_DAT_1822f5a90)[*piVar3] + 0x18))(); } uVar7 = (int)uVar6 + 1; uVar6 = (ulonglong)uVar7; plVar5 = plVar5 + 1; piVar3 = piVar3 + 1; } while ((int)uVar7 < *(int *)((longlong)_Memory + 0x10)); } if (0 < *(int *)((longlong)_Memory + 0x14)) { piVar3 = (int *)((longlong)_Memory + 0x820); plVar5 = (longlong *)((longlong)_Memory + 0x920); uVar6 = uVar9; do { if (*plVar5 != 0) { (**(code **)((&PTR_DAT_182280c20)[*piVar3] + 0x18))(); } uVar7 = (int)uVar6 + 1; uVar6 = (ulonglong)uVar7; plVar5 = plVar5 + 1; piVar3 = piVar3 + 1; } while ((int)uVar7 < *(int *)((longlong)_Memory + 0x14)); } if (0 < *(int *)((longlong)_Memory + 0x18)) { puVar4 = (undefined8 *)((longlong)_Memory + 0xb20); uVar6 = uVar9; uVar8 = uVar9; do { _Memory_00 = (undefined8 *)*puVar4; if ((_Memory_00 != (undefined8 *)0x0) && (*(int *)(_Memory_00 + 6) != 0)) { if ((void *)_Memory_00[5] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)_Memory_00[5]); } if ((void *)_Memory_00[1] == (void *)0x0) { *_Memory_00 = 0; _Memory_00[1] = 0; _Memory_00[2] = 0; _Memory_00[3] = 0; _Memory_00[4] = 0; _Memory_00[5] = 0; _Memory_00[6] = 0; /* WARNING: Subroutine does not return */ free(_Memory_00); } /* WARNING: Subroutine does not return */ free((void *)_Memory_00[1]); } lVar2 = *(longlong *)((longlong)_Memory + 0x1320); if (lVar2 != 0) { _Memory_01 = *(void **)(uVar8 + 0x18 + lVar2); pvVar1 = (void *)(uVar8 + lVar2); if (_Memory_01 != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory_01); } if (*(void **)((longlong)pvVar1 + 0x20) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)pvVar1 + 0x20)); } if (*(void **)((longlong)pvVar1 + 0x28) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)pvVar1 + 0x28)); } if (*(void **)((longlong)pvVar1 + 0x30) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)pvVar1 + 0x30)); } if (*(void **)((longlong)pvVar1 + 0x38) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)pvVar1 + 0x38)); } memset(pvVar1,0,0x58); } uVar7 = (int)uVar6 + 1; uVar6 = (ulonglong)uVar7; puVar4 = puVar4 + 1; uVar8 = uVar8 + 0x58; } while ((int)uVar7 < *(int *)((longlong)_Memory + 0x18)); } if (*(void **)((longlong)_Memory + 0x1320) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)_Memory + 0x1320)); } if (0 < *(int *)((longlong)_Memory + 0x1c)) { puVar4 = (undefined8 *)((longlong)_Memory + 0x1328); do { pvVar1 = (void *)*puVar4; if (pvVar1 != (void *)0x0) { memset(pvVar1,0,0x208); /* WARNING: Subroutine does not return */ free(pvVar1); } uVar7 = (int)uVar9 + 1; uVar9 = (ulonglong)uVar7; puVar4 = puVar4 + 1; } while ((int)uVar7 < *(int *)((longlong)_Memory + 0x1c)); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181371c60 size=49 ############ void FUN_181371c60(longlong param_1) { FUN_18138ffc0(param_1 + 0x218); FUN_181390bc0(param_1 + 0x298); *(undefined4 *)(param_1 + 0x80) = 2; return; } ############ FUN_ 181372660 size=1470 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181372660(longlong param_1,undefined8 *param_2,undefined8 *param_3,longlong *param_4, int *param_5,longlong *param_6) { uint *puVar1; byte bVar2; undefined4 uVar3; int iVar4; int iVar5; longlong lVar6; void *pvVar7; int *piVar8; uint uVar9; int iVar10; uint uVar11; ulonglong uVar12; undefined1 auStack_f8 [32]; undefined8 *local_d8; undefined8 *local_d0; longlong local_c8; uint local_c0; uint local_bc; uint local_b8; undefined8 local_b0; longlong local_a8; undefined8 local_a0; longlong local_98; longlong local_90; ulonglong local_88; longlong local_80 [4]; int local_60; short local_5c; ulonglong local_58; local_58 = DAT_182615970 ^ (ulonglong)auStack_f8; iVar10 = 0; local_d8 = param_2; local_d0 = param_3; if (param_6 == (longlong *)0x0) { lVar6 = FUN_1813730a0(param_1,local_80,0x10000); if (lVar6 == -0x80) { } if (lVar6 < 0) { } param_6 = local_80; } *param_2 = 0; param_2[1] = 0; param_2[2] = 0; param_2[3] = 0; param_2[4] = 0; pvVar7 = calloc(1,0x1670); param_2[4] = pvVar7; *param_3 = 0; param_3[1] = 0; param_3[2] = 0; param_3[3] = 0; *(undefined4 *)(param_1 + 0x80) = 2; lVar6 = *param_6; bVar2 = *(byte *)(lVar6 + 5); do { if ((bVar2 & 2) == 0) { LAB_1813728d6: iVar5 = iVar10; if (*(int *)(param_1 + 0x80) == 3) { do { if (1 < iVar10) { } do { uVar11 = *(uint *)(param_1 + 0xd4); uVar12 = (ulonglong)(int)uVar11; if (*(int *)(param_1 + 0xd0) <= (int)uVar11) break; uVar9 = *(uint *)(*(longlong *)(param_1 + 0xb8) + uVar12 * 4); lVar6 = *(longlong *)(param_1 + 0xb8) + uVar12 * 4; if ((uVar9 >> 10 & 1) != 0) { *(longlong *)(param_1 + 0x208) = *(longlong *)(param_1 + 0x208) + 1; *(uint *)(param_1 + 0xd4) = uVar11 + 1; goto LAB_181372bee; } local_c0 = uVar9 & 0xff; local_b8 = uVar9 & 0x200; local_bc = uVar9 & 0x100; if (local_c0 == 0xff) { local_c0 = 0xff; do { puVar1 = (uint *)(lVar6 + 4); lVar6 = lVar6 + 4; uVar11 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar11; uVar9 = *puVar1 & 0xff; if ((*puVar1 & 0x200) != 0) { local_b8 = 0x200; } local_c0 = local_c0 + uVar9; } while (uVar9 == 0xff); } local_a8 = *(longlong *)(param_1 + 0x208); local_c8 = (longlong)*(int *)(param_1 + 0xb0) + *(longlong *)(param_1 + 0xa0); local_b0 = *(undefined8 *)(*(longlong *)(param_1 + 0xc0) + (longlong)(int)uVar11 * 8); *(uint *)(param_1 + 0xb0) = *(int *)(param_1 + 0xb0) + local_c0; *(uint *)(param_1 + 0xd4) = uVar11 + 1; *(longlong *)(param_1 + 0x208) = local_a8 + 1; iVar4 = FUN_1813877e0(param_2,local_d0,&local_c8); if (iVar4 != 0) goto LAB_181372bee; iVar10 = iVar10 + 1; param_2 = local_d8; } while (iVar10 < 2); if (1 < iVar10) { } while( true ) { lVar6 = FUN_1813730a0(param_1,param_6,0x10000); if (lVar6 < 0) goto LAB_181372bee; if (*(int *)(param_1 + 0x200) == *(int *)(*param_6 + 0xe)) break; if ((*(byte *)(*param_6 + 5) & 2) != 0) { if (iVar5 != 0) goto LAB_181372bee; iVar5 = 1; } } FUN_1813919f0(param_1 + 0xa0,param_6); param_2 = local_d8; } while (iVar10 < 2); } else { LAB_181372bee: FUN_181388250(local_d8); FUN_181388560(local_d0); *(undefined4 *)(param_1 + 0x80) = 2; } } if (param_4 != (longlong *)0x0) { iVar5 = *(int *)(lVar6 + 0xe); piVar8 = (int *)*param_4; iVar4 = *param_5; if (piVar8 != (int *)0x0) { while (iVar4 != 0) { if (*piVar8 == iVar5) { if ((void *)*param_4 != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)*param_4); } *param_4 = 0; *param_5 = 0; goto LAB_181372bee; } piVar8 = piVar8 + 1; iVar4 = iVar4 + -1; } } iVar4 = *param_5 + 1; *param_5 = iVar4; if ((void *)*param_4 == (void *)0x0) { pvVar7 = malloc(4); } else { pvVar7 = realloc((void *)*param_4,(longlong)iVar4 << 2); } *param_4 = (longlong)pvVar7; *(int *)(*param_4 + (longlong)(*param_5 + -1) * 4) = iVar5; param_2 = local_d8; } if (*(int *)(param_1 + 0x80) < 3) { uVar3 = *(undefined4 *)(*param_6 + 0xe); *(undefined8 *)(param_1 + 0xac) = 0; *(undefined4 *)(param_1 + 0x200) = uVar3; *(undefined8 *)(param_1 + 0xcc) = 0; *(undefined4 *)(param_1 + 0xd4) = 0; *(undefined8 *)(param_1 + 500) = 0; *(undefined4 *)(param_1 + 0x1fc) = 0; *(undefined4 *)(param_1 + 0x204) = 0xffffffff; *(undefined8 *)(param_1 + 0x208) = 0; *(undefined8 *)(param_1 + 0x210) = 0; FUN_1813919f0((longlong *)(param_1 + 0xa0),param_6); uVar11 = *(uint *)(param_1 + 0xd4); uVar12 = (ulonglong)(int)uVar11; param_2 = local_d8; if ((int)uVar11 < *(int *)(param_1 + 0xd0)) { uVar9 = *(uint *)(*(longlong *)(param_1 + 0xb8) + uVar12 * 4); lVar6 = *(longlong *)(param_1 + 0xb8) + uVar12 * 4; if ((uVar9 >> 10 & 1) == 0) { local_c0 = uVar9 & 0xff; local_bc = uVar9 & 0x100; local_b8 = uVar9 & 0x200; uVar9 = local_c0; while (uVar9 == 0xff) { puVar1 = (uint *)(lVar6 + 4); lVar6 = lVar6 + 4; uVar11 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar11; uVar9 = *puVar1 & 0xff; if ((*puVar1 & 0x200) != 0) { local_b8 = 0x200; } local_c0 = local_c0 + uVar9; } local_c8 = (longlong)*(int *)(param_1 + 0xb0) + *(longlong *)(param_1 + 0xa0); local_a8 = *(longlong *)(param_1 + 0x208); local_b0 = *(undefined8 *)(*(longlong *)(param_1 + 0xc0) + (longlong)(int)uVar11 * 8); *(uint *)(param_1 + 0xb0) = *(int *)(param_1 + 0xb0) + local_c0; *(uint *)(param_1 + 0xd4) = uVar11 + 1; *(longlong *)(param_1 + 0x208) = local_a8 + 1; local_88 = (ulonglong)local_c0; local_a0 = 0; local_98 = local_c8; local_90 = local_c8; if ((local_bc != 0) && (iVar5 = FUN_181392960(&local_a0,8), param_2 = local_d8, iVar5 == 1)) { local_60 = 0; local_5c = 0; FUN_181388aa0(&local_a0,&local_60,6); param_2 = local_d8; if ((local_60 == s_vorbis_1821e47fc._0_4_) && (local_5c == s_vorbis_1821e47fc._4_2_)) { *(undefined4 *)(param_1 + 0x80) = 3; iVar5 = FUN_1813877e0(local_d8,local_d0,&local_c8); if (iVar5 != 0) goto LAB_181372bee; } } } else { *(longlong *)(param_1 + 0x208) = *(longlong *)(param_1 + 0x208) + 1; *(uint *)(param_1 + 0xd4) = uVar11 + 1; } } } lVar6 = FUN_1813730a0(param_1,param_6,0x10000); if ((lVar6 == -0x80) || (lVar6 < 0)) goto LAB_181372bee; if ((*(int *)(param_1 + 0x80) == 3) && (*(int *)(param_1 + 0x200) == *(int *)(*param_6 + 0xe))) { FUN_1813919f0(param_1 + 0xa0,param_6); goto LAB_1813728d6; } lVar6 = *param_6; bVar2 = *(byte *)(lVar6 + 5); } while( true ); } ############ FUN_ 181388560 size=144 ############ void FUN_181388560(longlong *param_1) { longlong lVar1; int iVar2; if (param_1 != (longlong *)0x0) { if (*param_1 != 0) { iVar2 = 0; if (0 < (int)param_1[2]) { lVar1 = 0; do { if (*(void **)(lVar1 + *param_1) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar1 + *param_1)); } iVar2 = iVar2 + 1; lVar1 = lVar1 + 8; } while (iVar2 < (int)param_1[2]); } /* WARNING: Subroutine does not return */ free((void *)*param_1); } if ((void *)param_1[1] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[1]); } if ((void *)param_1[3] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } *param_1 = 0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; } return; } ############ FUN_ 18136f8b0 size=285 ############ ulonglong FUN_18136f8b0(longlong param_1,undefined8 *param_2,uint param_3,undefined4 *param_4) { undefined4 uVar1; longlong lVar2; ulonglong uVar3; uint uVar4; longlong lVar5; int iVar6; do { if (*(int *)(param_1 + 0x80) == 4) { lVar2 = *(longlong *)(param_1 + 0x220); if ((-1 < *(int *)(param_1 + 0x240)) && (*(int *)(param_1 + 0x240) < *(int *)(param_1 + 0x23c))) { iVar6 = 0; if (0 < *(int *)(lVar2 + 4)) { lVar5 = 0; do { iVar6 = iVar6 + 1; *(longlong *)(lVar5 + *(longlong *)(param_1 + 0x230)) = *(longlong *)(lVar5 + *(longlong *)(param_1 + 0x228)) + (longlong)*(int *)(param_1 + 0x240) * 4; lVar5 = lVar5 + 8; } while (iVar6 < *(int *)(lVar2 + 4)); } uVar4 = *(int *)(param_1 + 0x23c) - *(int *)(param_1 + 0x240); if (uVar4 != 0) { uVar1 = *(undefined4 *)(*(longlong *)(*(longlong *)(param_1 + 0x68) + 0x20) + 0x1668); if (param_2 != (undefined8 *)0x0) { *param_2 = *(undefined8 *)(param_1 + 0x230); } if ((int)param_3 < (int)uVar4) { uVar4 = param_3; } if ((uVar4 == 0) || ((int)(*(int *)(param_1 + 0x240) + uVar4) <= *(int *)(param_1 + 0x23c))) { *(int *)(param_1 + 0x240) = *(int *)(param_1 + 0x240) + uVar4; } *(longlong *)(param_1 + 0x78) = *(longlong *)(param_1 + 0x78) + (longlong)(int)(uVar4 << ((byte)uVar1 & 0x1f)); if (param_4 != (undefined4 *)0x0) { *param_4 = *(undefined4 *)(param_1 + 0x88); } return (ulonglong)uVar4; } } } uVar3 = FUN_181371870(param_1); if ((int)uVar3 == -2) { return 0; } } while (0 < (int)uVar3); return uVar3; } ############ FUN_ 1813af7b0 size=353 ############ undefined1 FUN_1813af7b0(longlong *param_1,undefined8 *param_2,int param_3,longlong param_4,int param_5, char param_6) { char cVar1; longlong lVar2; longlong lVar3; longlong lVar4; void *_Src; int iVar5; int iVar6; lVar4 = (longlong)param_5; iVar5 = 0; if (param_4 < 0) { lVar3 = (longlong)(param_3 + -1); lVar2 = -param_4; if (lVar4 < -param_4) { lVar2 = lVar4; } iVar5 = (int)lVar2; if (-1 < param_3 + -1) { do { if ((void *)param_2[lVar3] != (void *)0x0) { memset((void *)param_2[lVar3],0,(longlong)iVar5 << 2); } lVar3 = lVar3 + -1; } while (-1 < lVar3); } param_5 = param_5 - iVar5; param_4 = 0; } if (0 < param_5) { iVar6 = (int)param_1[4]; if (param_3 < (int)param_1[4]) { iVar6 = param_3; } cVar1 = (**(code **)(*param_1 + 0x20))(param_1,param_2,iVar6,iVar5,param_4,param_5); if (cVar1 == '\0') { return 0; } iVar5 = (int)param_1[4]; lVar2 = (longlong)iVar5; if (iVar5 < param_3) { if (param_6 == '\0') { for (; lVar2 < param_3; lVar2 = lVar2 + 1) { if ((void *)param_2[lVar2] != (void *)0x0) { memset((void *)param_2[lVar2],0,lVar4 * 4); } } } else { lVar3 = (longlong)(iVar5 + -1); _Src = (void *)*param_2; if (0 < iVar5 + -1) { do { _Src = (void *)param_2[lVar3]; if ((void *)param_2[lVar3] != (void *)0x0) break; lVar3 = lVar3 + -1; _Src = (void *)*param_2; } while (0 < lVar3); } if (_Src != (void *)0x0) { for (; lVar2 < param_3; lVar2 = lVar2 + 1) { if ((void *)param_2[lVar2] != (void *)0x0) { memcpy((void *)param_2[lVar2],_Src,lVar4 * 4); } } } } } } return 1; } ############ FUN_ 1813af700 size=157 ############ void FUN_1813af700(undefined8 param_1,longlong param_2,longlong param_3,int param_4, undefined4 param_5,undefined8 param_6,int param_7,char param_8) { longlong lVar1; longlong lVar2; lVar2 = (longlong)param_7; lVar1 = 0; if (0 < lVar2) { do { LOCK(); *(undefined1 *)(param_3 + 0x120) = 0; UNLOCK(); *(longlong *)(param_2 + lVar1 * 8) = *(longlong *)(*(longlong *)(param_3 + 0x10) + lVar1 * 8) + (longlong)param_4 * 4; lVar1 = lVar1 + 1; } while (lVar1 < lVar2); } *(undefined8 *)(param_2 + lVar2 * 8) = 0; FUN_1813af7b0(param_1,param_2,param_7,param_6,param_5,1); if (param_8 != '\0') { FUN_1813af920(param_2,param_7,param_5); } return; } ############ FUN_ 1813af920 size=587 ############ /* WARNING: Removing unreachable block (ram,0x0001813afa1e) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813af920(longlong param_1,int param_2,uint param_3) { float *pfVar1; longlong lVar2; int *piVar3; int *piVar4; float fVar5; float fVar6; float fVar7; float fVar8; int iVar9; int iVar10; int iVar11; int iVar12; int iVar13; int iVar14; int iVar15; int iVar16; float fVar17; uint uVar18; ulonglong uVar19; float *pfVar20; longlong lVar21; longlong lVar22; float *pfVar23; float *pfVar24; longlong lVar25; longlong lVar26; fVar17 = DAT_1824c3c28; if (0 < param_2) { lVar22 = 0; do { pfVar23 = *(float **)(param_1 + lVar22 * 8); if (pfVar23 != (float *)0x0) { uVar18 = (int)(param_3 + ((int)param_3 >> 0x1f & 3U)) >> 2; uVar19 = (ulonglong)uVar18; pfVar24 = pfVar23; if (((ulonglong)pfVar23 & 0xf) == 0) { if (0 < (int)uVar18) { do { fVar5 = *pfVar23; fVar6 = pfVar23[1]; fVar7 = pfVar23[2]; fVar8 = pfVar23[3]; pfVar23 = pfVar23 + 4; *pfVar24 = (float)(int)fVar5 * 4.656613e-10; pfVar24[1] = (float)(int)fVar6 * 4.656613e-10; pfVar24[2] = (float)(int)fVar7 * 4.656613e-10; pfVar24[3] = (float)(int)fVar8 * 4.656613e-10; pfVar24 = pfVar24 + 4; uVar19 = uVar19 - 1; } while (uVar19 != 0); } } else if (0 < (int)uVar18) { do { fVar5 = *pfVar23; fVar6 = pfVar23[1]; fVar7 = pfVar23[2]; fVar8 = pfVar23[3]; pfVar23 = pfVar23 + 4; *pfVar24 = (float)(int)fVar5 * 4.656613e-10; pfVar24[1] = (float)(int)fVar6 * 4.656613e-10; pfVar24[2] = (float)(int)fVar7 * 4.656613e-10; pfVar24[3] = (float)(int)fVar8 * 4.656613e-10; pfVar24 = pfVar24 + 4; uVar19 = uVar19 - 1; } while (uVar19 != 0); } fVar8 = _UNK_1824c4a7c; fVar7 = _UNK_1824c4a78; fVar6 = _UNK_1824c4a74; fVar5 = _DAT_1824c4a70; uVar18 = param_3 & 3; if (uVar18 != 0) { lVar26 = 0; if (((uVar18 != 0) && (0xf < uVar18)) && ((pfVar23 + (int)(uVar18 - 1) < pfVar24 || (pfVar24 + (int)(uVar18 - 1) < pfVar23)))) { pfVar20 = pfVar24 + 4; do { piVar3 = (int *)((longlong)pfVar23 + (-0x10 - (longlong)pfVar24) + (longlong)pfVar20); iVar9 = piVar3[1]; iVar10 = piVar3[2]; iVar11 = piVar3[3]; lVar26 = lVar26 + 0x10; pfVar1 = pfVar20 + 0x10; piVar4 = (int *)((longlong)pfVar23 + (-0x40 - (longlong)pfVar24) + (longlong)pfVar1); iVar12 = *piVar4; iVar13 = piVar4[1]; iVar14 = piVar4[2]; iVar15 = piVar4[3]; pfVar20[-4] = (float)*piVar3 * fVar5; pfVar20[-3] = (float)iVar9 * fVar6; pfVar20[-2] = (float)iVar10 * fVar7; pfVar20[-1] = (float)iVar11 * fVar8; piVar3 = (int *)((longlong)pfVar23 + (-0x30 - (longlong)pfVar24) + (longlong)pfVar1); iVar9 = *piVar3; iVar10 = piVar3[1]; iVar11 = piVar3[2]; iVar16 = piVar3[3]; *pfVar20 = (float)iVar12 * fVar5; pfVar20[1] = (float)iVar13 * fVar6; pfVar20[2] = (float)iVar14 * fVar7; pfVar20[3] = (float)iVar15 * fVar8; piVar3 = (int *)((longlong)pfVar23 + (-0x20 - (longlong)pfVar24) + (longlong)pfVar1); iVar12 = *piVar3; iVar13 = piVar3[1]; iVar14 = piVar3[2]; iVar15 = piVar3[3]; pfVar20[4] = (float)iVar9 * fVar5; pfVar20[5] = (float)iVar10 * fVar6; pfVar20[6] = (float)iVar11 * fVar7; pfVar20[7] = (float)iVar16 * fVar8; pfVar20[8] = (float)iVar12 * fVar5; pfVar20[9] = (float)iVar13 * fVar6; pfVar20[10] = (float)iVar14 * fVar7; pfVar20[0xb] = (float)iVar15 * fVar8; pfVar20 = pfVar1; } while (lVar26 < 0); } lVar21 = (longlong)(int)uVar18; if (lVar26 < lVar21) { if (3 < lVar21 - lVar26) { lVar2 = lVar26 + 1; lVar25 = ((lVar21 - lVar26) - 4U >> 2) + 1; lVar26 = lVar26 + lVar25 * 4; pfVar20 = pfVar24 + lVar2; do { pfVar1 = pfVar20 + 4; pfVar20[-1] = (float)*(int *)((longlong)pfVar23 + (-4 - (longlong)pfVar24) + (longlong)pfVar20) * fVar17; *pfVar20 = (float)*(int *)((longlong)pfVar23 + (-0x10 - (longlong)pfVar24) + (longlong)pfVar1) * fVar17; pfVar20[1] = (float)*(int *)((longlong)pfVar23 + (-0xc - (longlong)pfVar24) + (longlong)pfVar1) * fVar17; pfVar20[2] = (float)*(int *)((longlong)pfVar23 + (-8 - (longlong)pfVar24) + (longlong)pfVar1) * fVar17; lVar25 = lVar25 + -1; pfVar20 = pfVar1; } while (lVar25 != 0); } if (lVar26 < lVar21) { lVar21 = lVar21 - lVar26; pfVar20 = pfVar24 + lVar26; do { *pfVar20 = (float)*(int *)(((longlong)pfVar23 - (longlong)pfVar24) + (longlong)pfVar20) * fVar17; lVar21 = lVar21 + -1; pfVar20 = pfVar20 + 1; } while (lVar21 != 0); } } } } lVar22 = lVar22 + 1; } while (lVar22 < param_2); } return; } ############ FUN_ 180486840 size=192 ############ undefined8 * FUN_180486840(undefined8 param_1,undefined8 *param_2) { undefined8 uVar1; int iVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; puVar4 = DAT_182673770; if (*(char *)((longlong)DAT_182673770[1] + 0x19) == '\0') { uVar1 = *param_2; puVar3 = DAT_182673770; puVar5 = (undefined8 *)DAT_182673770[1]; do { puVar4 = puVar5; iVar2 = FUN_18048cbc0(puVar4[4],uVar1); if (iVar2 < 0) { puVar5 = (undefined8 *)puVar4[2]; puVar4 = puVar3; } else { puVar5 = (undefined8 *)*puVar4; } puVar3 = puVar4; } while (*(char *)((longlong)puVar5 + 0x19) == '\0'); } if ((puVar4 != DAT_182673770) && (iVar2 = FUN_18048cbc0(*param_2,puVar4[4]), -1 < iVar2)) { return puVar4 + 5; } FUN_18048ff70(); FUN_180490000(); return param_2 + 5; } ############ FUN_ 180490000 size=648 ############ undefined8 * FUN_180490000(undefined8 param_1,undefined8 *param_2,longlong *param_3,undefined8 *param_4) { char cVar1; char cVar2; undefined8 uVar3; longlong *plVar4; longlong *plVar5; longlong *plVar6; int iVar7; undefined8 *puVar8; longlong *plVar9; plVar6 = DAT_182673770; if (DAT_182673778 == 0) { FUN_1804916f0(param_1,param_2,1,DAT_182673770); } else { if (param_3 == (longlong *)*DAT_182673770) { iVar7 = FUN_18048cbc0(*param_4,param_3[4]); if (iVar7 < 0) { FUN_1804916f0(); return param_2; } } else if (param_3 == DAT_182673770) { iVar7 = FUN_18048cbc0(*(undefined8 *)(DAT_182673770[2] + 0x20),*param_4); if (iVar7 < 0) { FUN_1804916f0(); return param_2; } } else { uVar3 = *param_4; iVar7 = FUN_18048cbc0(uVar3,param_3[4]); if (iVar7 < 0) { if (*(char *)((longlong)param_3 + 0x19) == '\0') { plVar9 = (longlong *)*param_3; if (*(char *)((longlong)plVar9 + 0x19) == '\0') { cVar1 = *(char *)(plVar9[2] + 0x19); plVar4 = (longlong *)plVar9[2]; while (cVar1 == '\0') { cVar1 = *(char *)(plVar4[2] + 0x19); plVar9 = plVar4; plVar4 = (longlong *)plVar4[2]; } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar4 = (longlong *)param_3[1]; plVar9 = param_3; while ((plVar5 = plVar4, cVar1 == '\0' && (plVar9 == (longlong *)*plVar5))) { cVar1 = *(char *)(plVar5[1] + 0x19); plVar4 = (longlong *)plVar5[1]; plVar9 = plVar5; } if (*(char *)((longlong)plVar9 + 0x19) == '\0') { plVar9 = plVar5; } } } else { plVar9 = (longlong *)param_3[2]; } iVar7 = FUN_18048cbc0(plVar9[4],uVar3); if (iVar7 < 0) { if (*(char *)(plVar9[2] + 0x19) != '\0') { FUN_1804916f0(); return param_2; } FUN_1804916f0(); return param_2; } } iVar7 = FUN_18048cbc0(param_3[4],uVar3); if (iVar7 < 0) { plVar9 = (longlong *)param_3[2]; cVar1 = *(char *)((longlong)plVar9 + 0x19); if (cVar1 == '\0') { cVar2 = *(char *)(*plVar9 + 0x19); plVar4 = (longlong *)*plVar9; while (cVar2 == '\0') { cVar2 = *(char *)(*plVar4 + 0x19); plVar9 = plVar4; plVar4 = (longlong *)*plVar4; } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar4 = (longlong *)param_3[1]; while ((plVar9 = plVar4, cVar2 == '\0' && (param_3 == (longlong *)plVar9[2]))) { cVar2 = *(char *)(plVar9[1] + 0x19); plVar4 = (longlong *)plVar9[1]; param_3 = plVar9; } } if ((plVar9 == plVar6) || (iVar7 = FUN_18048cbc0(uVar3,plVar9[4]), iVar7 < 0)) { if (cVar1 != '\0') { FUN_1804916f0(); return param_2; } FUN_1804916f0(); return param_2; } } } puVar8 = (undefined8 *)FUN_180491940(); *param_2 = *puVar8; } return param_2; } ############ FUN_ 180491940 size=405 ############ undefined8 * FUN_180491940(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4, void *param_5) { char cVar1; undefined8 uVar2; undefined8 *puVar3; int iVar4; undefined8 *puVar5; undefined8 *puVar6; bool bVar7; puVar3 = DAT_182673770; bVar7 = true; puVar5 = DAT_182673770; if (*(char *)((longlong)DAT_182673770[1] + 0x19) == '\0') { uVar2 = *param_4; puVar6 = (undefined8 *)DAT_182673770[1]; do { puVar5 = puVar6; iVar4 = FUN_18048cbc0(uVar2,puVar5[4]); bVar7 = iVar4 < 0; if (bVar7) { puVar6 = (undefined8 *)*puVar5; } else { puVar6 = (undefined8 *)puVar5[2]; } } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if (bVar7) { if (puVar5 == (undefined8 *)*puVar3) { puVar5 = (undefined8 *)FUN_1804916f0(); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar5 + 0x19) == '\0') { puVar3 = (undefined8 *)*puVar5; if (*(char *)((longlong)puVar3 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar5 = puVar3; puVar3 = (undefined8 *)puVar3[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar5 = puVar3; puVar3 = (undefined8 *)puVar3[2]; } } else { cVar1 = *(char *)((longlong)puVar5[1] + 0x19); puVar3 = (undefined8 *)puVar5[1]; while ((puVar6 = puVar3, cVar1 == '\0' && (puVar5 == (undefined8 *)*puVar6))) { cVar1 = *(char *)((longlong)puVar6[1] + 0x19); puVar3 = (undefined8 *)puVar6[1]; puVar5 = puVar6; } if (*(char *)((longlong)puVar5 + 0x19) == '\0') { puVar5 = puVar6; } } } else { puVar5 = (undefined8 *)puVar5[2]; } } iVar4 = FUN_18048cbc0(puVar5[4],*param_4); if (iVar4 < 0) { puVar5 = (undefined8 *)FUN_1804916f0(); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; return param_2; } FUN_18048c5e0((longlong)param_5 + 0x20); /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 18122c1b0 size=371 ############ longlong * FUN_18122c1b0(longlong *param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; longlong lVar2; int iVar3; int iVar4; longlong lVar5; int iVar6; int iVar7; if (*(char *)*param_3 == '\0') { *param_2 = (longlong)&DAT_1821dbf98; return param_2; } EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); FUN_18122c130(); iVar7 = *(int *)((longlong)param_1 + 0xc); iVar6 = 0; if (0 < iVar7) { lVar5 = *param_1; lVar2 = *param_3; do { plVar1 = (longlong *)(lVar5 + (longlong)iVar6 * 8); if (lVar2 == *(longlong *)(lVar5 + (longlong)iVar6 * 8)) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(lVar2,*plVar1); } if (iVar4 == 0) { lVar5 = *plVar1; LAB_18122c309: *param_2 = lVar5; if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } goto LAB_18122c2c9; } iVar3 = (iVar7 + iVar6) / 2; if (iVar3 == iVar6) { if (0 < iVar4) { iVar6 = iVar6 + 1; } break; } plVar1 = (longlong *)(lVar5 + (longlong)iVar3 * 8); if (lVar2 == *(longlong *)(lVar5 + (longlong)iVar3 * 8)) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(lVar2,*plVar1); } if (iVar4 == 0) { lVar5 = *plVar1; goto LAB_18122c309; } if (0 < iVar4) { iVar6 = iVar3; iVar3 = iVar7; } iVar7 = iVar3; } while (iVar6 < iVar7); } FUN_180489070(param_1,iVar6,param_3); lVar5 = *(longlong *)(*param_1 + (longlong)iVar6 * 8); *param_2 = lVar5; if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } LAB_18122c2c9: LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); return param_2; } ############ FUN_ 181241890 size=867 ############ longlong * FUN_181241890(longlong *param_1,undefined8 *param_2) { uint uVar1; char *pcVar2; int iVar3; int iVar4; undefined8 uVar5; longlong *plVar6; undefined8 *puVar7; longlong lVar8; uint *puVar9; char *pcVar10; char *local_res10; char *local_res18; longlong local_res20; longlong local_70; undefined1 local_68 [8]; longlong local_60; longlong local_58; longlong local_50; byte *local_48; undefined8 local_40; char *local_38; char *local_30; local_40 = 0xfffffffffffffffe; if (*(char *)*param_2 == '\0') { *param_1 = (longlong)&DAT_1821dbf98; return param_1; } uVar5 = FUN_1812316c0(param_2,&local_70,0x2f); uVar5 = FUN_181242220(&local_res20,uVar5); FUN_181241ca0(&local_res10,uVar5); puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_70 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } iVar3 = FUN_180492f10(&local_res10); pcVar2 = local_res10; if (iVar3 == 0x5c) { iVar3 = FUN_180493050(&local_res10,1); pcVar2 = local_res10; pcVar10 = local_res18; if (iVar3 != 0x5c) { uVar5 = FUN_181217460(&local_60); plVar6 = (longlong *)FUN_1812490c0(uVar5,local_68,0,2); puVar7 = (undefined8 *)FUN_181232d30(plVar6,&local_res10); pcVar2 = (char *)*puVar7; if ((*(uint *)(pcVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar2 + -0x10) = *(int *)(pcVar2 + -0x10) + 1; UNLOCK(); } puVar9 = (uint *)(*plVar6 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_38 = local_res10; puVar9 = (uint *)(local_res10 + -0x10); local_res10 = pcVar2; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_60 + -0x10); pcVar10 = local_res18; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) goto LAB_181241a36; } } } else { iVar3 = FUN_18049bc80(local_res10,0x3a); pcVar10 = local_res18; if (iVar3 < 0) { uVar5 = FUN_181217460(&local_50); plVar6 = (longlong *)FUN_181245100(uVar5,&local_58,pcVar2); lVar8 = *plVar6; *param_1 = lVar8; if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar8 + -0x10) = *(int *)(lVar8 + -0x10) + 1; UNLOCK(); } puVar9 = (uint *)(local_58 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_50 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_res10 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { LAB_181241be9: /* WARNING: Subroutine does not return */ free(puVar9); } } return param_1; } } do { do { local_res18 = pcVar10; pcVar10 = pcVar2; if (*pcVar10 == '\0') { LAB_181241bc2: *param_1 = (longlong)pcVar10; if ((DAT_1821dbf88 & 0x30000000) != 0) { return param_1; } LOCK(); UNLOCK(); if (DAT_1821dbf88 != 0) { DAT_1821dbf88 = DAT_1821dbf88 - 1; return param_1; } puVar9 = &DAT_1821dbf88; DAT_1821dbf88 = 0xffffffff; goto LAB_181241be9; } lVar8 = -1; do { lVar8 = lVar8 + 1; } while (pcVar10[lVar8] != '\0'); local_48 = (byte *)(pcVar10 + lVar8); iVar3 = 0; do { local_48 = local_48 + -1; if ((*local_48 & 0xc0) != 0x80) break; iVar3 = iVar3 + 1; } while (iVar3 < 4); iVar3 = FUN_180492f10(&local_48); if ((iVar3 != 0x5c) || (iVar3 = FUN_18048cbc0(pcVar10,&DAT_1821db634), iVar3 == 0)) goto LAB_181241bc2; iVar4 = FUN_180493130(&local_res10); iVar3 = 0; if (0 < iVar4 + -1) { iVar3 = iVar4 + -1; } FUN_1812340b0(&local_res18,pcVar10,(longlong)iVar3); local_res10 = local_res18; puVar9 = (uint *)(pcVar10 + -0x10); pcVar2 = local_res18; local_30 = pcVar10; } while ((*puVar9 & 0x30000000) != 0); LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); pcVar2 = local_res18; local_res18 = pcVar10; } while (uVar1 != 0); LAB_181241a36: /* WARNING: Subroutine does not return */ free(puVar9); } ############ FUN_ 180475f90 size=309 ############ undefined8 FUN_180475f90(longlong param_1,undefined8 param_2,double *param_3,undefined8 param_4) { uint uVar1; code *pcVar2; int iVar3; int iVar4; longlong *plVar5; uint *puVar6; int iVar7; undefined8 uVar8; longlong local_res8; longlong local_res10; FUN_18049c800(&local_res8,param_2,param_3,param_4,0xfffffffffffffffe); pcVar2 = *(code **)(**(longlong **)(param_1 + 0x338) + 0xc0); if (pcVar2 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { iVar4 = 1; if ((int)(*(longlong **)(param_1 + 0x338))[1] == 3) { iVar4 = 0x80; } } else { iVar4 = (*pcVar2)(); } iVar7 = 0; if (0 < iVar4) { do { plVar5 = (longlong *) (**(code **)(**(longlong **)(param_1 + 0x338) + 0xd8)) (*(longlong **)(param_1 + 0x338),&local_res10,iVar7); if (local_res8 == *plVar5) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(local_res8,*plVar5); } puVar6 = (uint *)(local_res10 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (iVar3 == 0) { *param_3 = (double)iVar7 / (double)*(int *)(param_1 + 0x314); uVar8 = 1; goto LAB_180476062; } iVar7 = iVar7 + 1; } while (iVar7 < iVar4); } uVar8 = 0; LAB_180476062: puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return uVar8; } ############ FUN_ 180479b70 size=727 ############ /* WARNING: Removing unreachable block (ram,0x000180479c9d) */ /* WARNING: Removing unreachable block (ram,0x000180479ca2) */ /* WARNING: Removing unreachable block (ram,0x000180479cad) */ /* WARNING: Removing unreachable block (ram,0x000180479cb9) */ /* WARNING: Removing unreachable block (ram,0x000180479e85) */ /* WARNING: Removing unreachable block (ram,0x000180479cc9) */ /* WARNING: Removing unreachable block (ram,0x000180479d09) */ /* WARNING: Removing unreachable block (ram,0x000180479d13) */ /* WARNING: Removing unreachable block (ram,0x000180479d30) */ /* WARNING: Removing unreachable block (ram,0x000180479d3d) */ /* WARNING: Removing unreachable block (ram,0x000180479d7f) */ /* WARNING: Removing unreachable block (ram,0x000180479d47) */ /* WARNING: Removing unreachable block (ram,0x000180479d86) */ /* WARNING: Removing unreachable block (ram,0x000180479d9d) */ /* WARNING: Removing unreachable block (ram,0x000180479db3) */ /* WARNING: Removing unreachable block (ram,0x000180479dc2) */ /* WARNING: Removing unreachable block (ram,0x000180479dc6) */ /* WARNING: Removing unreachable block (ram,0x000180479dd3) */ /* WARNING: Removing unreachable block (ram,0x000180479de3) */ /* WARNING: Removing unreachable block (ram,0x000180479de8) */ undefined8 FUN_180479b70(longlong param_1,longlong *param_2) { int iVar1; uint uVar2; int local_res10 [2]; longlong *local_res18; longlong local_res20; undefined8 uVar4; undefined8 uVar5; longlong *plVar3; plVar3 = (longlong *)0x0; local_res18 = (longlong *)0x0; if ((param_2 != (longlong *)0x0) && (iVar1 = (**(code **)*param_2)(param_2,&DAT_18262b140,&local_res18), iVar1 != 0)) { local_res18 = plVar3; } local_res20 = 0; if (((local_res18 == (longlong *)0x0) || (iVar1 = (**(code **)(*local_res18 + 0x18))(local_res18,&local_res20), iVar1 != 0)) || (0x63ffffe < local_res20 - 1U)) { if (local_res18 != (longlong *)0x0) { (**(code **)(*local_res18 + 0x10))(); } return 0; } uVar4 = 0; if (local_res20 != 0) { /* WARNING: Subroutine does not return */ free((void *)0x0); } uVar5 = 0; local_res10[0] = 1; do { uVar2 = (uint)plVar3; if ((-1 < (int)uVar2) || (iVar1 = (**(code **)(*param_2 + 0x18))(param_2,0,0,local_res10,uVar4,uVar5), iVar1 != 0)) break; uVar2 = uVar2 + local_res10[0]; plVar3 = (longlong *)(ulonglong)uVar2; } while (0 < local_res10[0]); if (uVar2 != 0) { if (uVar2 != 0) { if (uVar2 != 0) { /* WARNING: Subroutine does not return */ free((void *)0x0); } /* WARNING: Subroutine does not return */ free((void *)0x0); } FUN_180473b00(); plVar3 = *(longlong **)(param_1 + 0x30); if (*(code **)(*plVar3 + 0xf8) == FUN_18052bdd0) { FUN_1811fc760(plVar3 + 0x67,0,0); } else { (**(code **)(*plVar3 + 0xf8))(plVar3,0,0); } } /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 1804838c0 size=25 ############ bool FUN_1804838c0(undefined8 *param_1,undefined8 *param_2) { int iVar1; iVar1 = FUN_18048cbc0(*param_1,*param_2); return iVar1 == 0; } ############ FUN_ 180485c50 size=189 ############ undefined8 * FUN_180485c50(longlong *param_1,undefined8 *param_2) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_2; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_2,puVar5[4]), -1 < iVar2)) { return puVar5 + 5; } local_res8 = param_2; lVar3 = FUN_18048f910(param_1); FUN_18048f970(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); return local_res8 + 5; } ############ FUN_ 18048f970 size=657 ############ undefined8 * FUN_18048f970(longlong *param_1,undefined8 *param_2,longlong *param_3,undefined8 *param_4) { char cVar1; char cVar2; longlong *plVar3; undefined8 uVar4; longlong *plVar5; longlong *plVar6; int iVar7; undefined8 *puVar8; longlong *plVar9; undefined1 local_40 [24]; if (param_1[1] == 0) { FUN_180490f00(param_1,param_2,1,*param_1); } else { plVar3 = (longlong *)*param_1; if (param_3 == (longlong *)*plVar3) { iVar7 = FUN_18048cbc0(*param_4,param_3[4]); if (iVar7 < 0) { FUN_180490f00(param_1,param_2,1,param_3); return param_2; } } else if (param_3 == plVar3) { iVar7 = FUN_18048cbc0(*(undefined8 *)(plVar3[2] + 0x20),*param_4); if (iVar7 < 0) { FUN_180490f00(param_1,param_2,0,plVar3[2]); return param_2; } } else { uVar4 = *param_4; iVar7 = FUN_18048cbc0(uVar4,param_3[4]); if (iVar7 < 0) { if (*(char *)((longlong)param_3 + 0x19) == '\0') { plVar9 = (longlong *)*param_3; if (*(char *)((longlong)plVar9 + 0x19) == '\0') { cVar1 = *(char *)(plVar9[2] + 0x19); plVar5 = (longlong *)plVar9[2]; while (cVar1 == '\0') { cVar1 = *(char *)(plVar5[2] + 0x19); plVar9 = plVar5; plVar5 = (longlong *)plVar5[2]; } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar9 = param_3; while ((plVar6 = plVar5, cVar1 == '\0' && (plVar9 == (longlong *)*plVar6))) { cVar1 = *(char *)(plVar6[1] + 0x19); plVar5 = (longlong *)plVar6[1]; plVar9 = plVar6; } if (*(char *)((longlong)plVar9 + 0x19) == '\0') { plVar9 = plVar6; } } } else { plVar9 = (longlong *)param_3[2]; } iVar7 = FUN_18048cbc0(plVar9[4],uVar4); if (iVar7 < 0) { if (*(char *)(plVar9[2] + 0x19) != '\0') { FUN_180490f00(param_1,param_2,0,plVar9); return param_2; } FUN_180490f00(param_1,param_2,1,param_3); return param_2; } } iVar7 = FUN_18048cbc0(param_3[4],uVar4); if (iVar7 < 0) { plVar9 = (longlong *)param_3[2]; cVar1 = *(char *)((longlong)plVar9 + 0x19); if (cVar1 == '\0') { cVar2 = *(char *)(*plVar9 + 0x19); plVar5 = (longlong *)*plVar9; while (cVar2 == '\0') { cVar2 = *(char *)(*plVar5 + 0x19); plVar9 = plVar5; plVar5 = (longlong *)*plVar5; } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar6 = (longlong *)param_3[1]; plVar5 = param_3; while ((plVar9 = plVar6, cVar2 == '\0' && (plVar5 == (longlong *)plVar9[2]))) { cVar2 = *(char *)(plVar9[1] + 0x19); plVar6 = (longlong *)plVar9[1]; plVar5 = plVar9; } } if ((plVar9 == plVar3) || (iVar7 = FUN_18048cbc0(uVar4,plVar9[4]), iVar7 < 0)) { if (cVar1 != '\0') { FUN_180490f00(param_1,param_2,0,param_3); return param_2; } FUN_180490f00(param_1,param_2,1,plVar9); return param_2; } } } puVar8 = (undefined8 *)FUN_180491130(param_1,local_40); *param_2 = *puVar8; } return param_2; } ############ FUN_ 180491130 size=383 ############ undefined8 * FUN_180491130(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4) { char cVar1; undefined8 uVar2; undefined8 *puVar3; int iVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; bool bVar8; undefined1 local_res8 [8]; puVar5 = (undefined8 *)*param_1; bVar8 = true; puVar7 = puVar5; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar2 = *param_4; puVar6 = (undefined8 *)puVar5[1]; do { puVar7 = puVar6; iVar4 = FUN_18048cbc0(uVar2,puVar7[4]); bVar8 = iVar4 < 0; if (bVar8) { puVar6 = (undefined8 *)*puVar7; } else { puVar6 = (undefined8 *)puVar7[2]; } } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } puVar6 = puVar7; if (bVar8 != false) { if (puVar7 == (undefined8 *)*puVar5) { puVar5 = (undefined8 *)FUN_180490f00(param_1,local_res8,1,puVar7); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar6[2] + 0x19); puVar5 = (undefined8 *)puVar6[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar5[2] + 0x19); puVar6 = puVar5; puVar5 = (undefined8 *)puVar5[2]; } } else { cVar1 = *(char *)((longlong)puVar7[1] + 0x19); puVar5 = (undefined8 *)puVar7[1]; puVar6 = puVar7; while ((puVar3 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)*puVar3))) { cVar1 = *(char *)((longlong)puVar3[1] + 0x19); puVar5 = (undefined8 *)puVar3[1]; puVar6 = puVar3; } if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar6 = puVar3; } } } else { puVar6 = (undefined8 *)puVar7[2]; } } iVar4 = FUN_18048cbc0(puVar6[4],*param_4); if (iVar4 < 0) { puVar5 = (undefined8 *)FUN_180490f00(param_1,local_res8,bVar8,puVar7); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; } else { FUN_180490d00(); *param_2 = puVar6; *(undefined1 *)(param_2 + 1) = 0; } return param_2; } ############ FUN_ 1804861f0 size=189 ############ undefined8 * FUN_1804861f0(longlong *param_1,undefined8 *param_2) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_2; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_2,puVar5[4]), -1 < iVar2)) { return puVar5 + 5; } local_res8 = param_2; lVar3 = FUN_18048fc10(param_1); FUN_18048fc70(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); return local_res8 + 5; } ############ FUN_ 18048fc70 size=657 ############ undefined8 * FUN_18048fc70(longlong *param_1,undefined8 *param_2,longlong *param_3,undefined8 *param_4) { char cVar1; char cVar2; longlong *plVar3; undefined8 uVar4; longlong *plVar5; longlong *plVar6; int iVar7; undefined8 *puVar8; longlong *plVar9; undefined1 local_40 [24]; if (param_1[1] == 0) { FUN_1804912b0(param_1,param_2,1,*param_1); } else { plVar3 = (longlong *)*param_1; if (param_3 == (longlong *)*plVar3) { iVar7 = FUN_18048cbc0(*param_4,param_3[4]); if (iVar7 < 0) { FUN_1804912b0(param_1,param_2,1,param_3); return param_2; } } else if (param_3 == plVar3) { iVar7 = FUN_18048cbc0(*(undefined8 *)(plVar3[2] + 0x20),*param_4); if (iVar7 < 0) { FUN_1804912b0(param_1,param_2,0,plVar3[2]); return param_2; } } else { uVar4 = *param_4; iVar7 = FUN_18048cbc0(uVar4,param_3[4]); if (iVar7 < 0) { if (*(char *)((longlong)param_3 + 0x19) == '\0') { plVar9 = (longlong *)*param_3; if (*(char *)((longlong)plVar9 + 0x19) == '\0') { cVar1 = *(char *)(plVar9[2] + 0x19); plVar5 = (longlong *)plVar9[2]; while (cVar1 == '\0') { cVar1 = *(char *)(plVar5[2] + 0x19); plVar9 = plVar5; plVar5 = (longlong *)plVar5[2]; } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar9 = param_3; while ((plVar6 = plVar5, cVar1 == '\0' && (plVar9 == (longlong *)*plVar6))) { cVar1 = *(char *)(plVar6[1] + 0x19); plVar5 = (longlong *)plVar6[1]; plVar9 = plVar6; } if (*(char *)((longlong)plVar9 + 0x19) == '\0') { plVar9 = plVar6; } } } else { plVar9 = (longlong *)param_3[2]; } iVar7 = FUN_18048cbc0(plVar9[4],uVar4); if (iVar7 < 0) { if (*(char *)(plVar9[2] + 0x19) != '\0') { FUN_1804912b0(param_1,param_2,0,plVar9); return param_2; } FUN_1804912b0(param_1,param_2,1,param_3); return param_2; } } iVar7 = FUN_18048cbc0(param_3[4],uVar4); if (iVar7 < 0) { plVar9 = (longlong *)param_3[2]; cVar1 = *(char *)((longlong)plVar9 + 0x19); if (cVar1 == '\0') { cVar2 = *(char *)(*plVar9 + 0x19); plVar5 = (longlong *)*plVar9; while (cVar2 == '\0') { cVar2 = *(char *)(*plVar5 + 0x19); plVar9 = plVar5; plVar5 = (longlong *)*plVar5; } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar6 = (longlong *)param_3[1]; plVar5 = param_3; while ((plVar9 = plVar6, cVar2 == '\0' && (plVar5 == (longlong *)plVar9[2]))) { cVar2 = *(char *)(plVar9[1] + 0x19); plVar6 = (longlong *)plVar9[1]; plVar5 = plVar9; } } if ((plVar9 == plVar3) || (iVar7 = FUN_18048cbc0(uVar4,plVar9[4]), iVar7 < 0)) { if (cVar1 != '\0') { FUN_1804912b0(param_1,param_2,0,param_3); return param_2; } FUN_1804912b0(param_1,param_2,1,plVar9); return param_2; } } } puVar8 = (undefined8 *)FUN_1804914e0(param_1,local_40); *param_2 = *puVar8; } return param_2; } ############ FUN_ 1804914e0 size=500 ############ undefined8 * FUN_1804914e0(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4, void *param_5) { uint uVar1; char cVar2; undefined8 uVar3; undefined8 *puVar4; int iVar5; undefined8 *puVar6; undefined8 *puVar7; uint *_Memory; undefined8 *puVar8; bool bVar9; undefined1 local_48 [8]; undefined8 local_40; undefined8 local_38; undefined1 local_30 [8]; puVar6 = (undefined8 *)*param_1; bVar9 = true; puVar8 = puVar6; if (*(char *)((longlong)puVar6[1] + 0x19) == '\0') { uVar3 = *param_4; puVar7 = (undefined8 *)puVar6[1]; do { puVar8 = puVar7; iVar5 = FUN_18048cbc0(uVar3); bVar9 = iVar5 < 0; if (bVar9) { puVar7 = (undefined8 *)*puVar8; } else { puVar7 = (undefined8 *)puVar8[2]; } } while (*(char *)((longlong)puVar7 + 0x19) == '\0'); } puVar7 = puVar8; if (bVar9 != false) { if (puVar8 == (undefined8 *)*puVar6) { puVar6 = (undefined8 *)FUN_1804912b0(param_1,local_48,1,puVar8); *param_2 = *puVar6; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar8 + 0x19) == '\0') { puVar7 = (undefined8 *)*puVar8; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { cVar2 = *(char *)((longlong)puVar7[2] + 0x19); puVar6 = (undefined8 *)puVar7[2]; while (cVar2 == '\0') { cVar2 = *(char *)((longlong)puVar6[2] + 0x19); puVar7 = puVar6; puVar6 = (undefined8 *)puVar6[2]; } } else { cVar2 = *(char *)((longlong)puVar8[1] + 0x19); puVar6 = (undefined8 *)puVar8[1]; puVar7 = puVar8; while ((puVar4 = puVar6, cVar2 == '\0' && (puVar7 == (undefined8 *)*puVar4))) { cVar2 = *(char *)((longlong)puVar4[1] + 0x19); puVar6 = (undefined8 *)puVar4[1]; puVar7 = puVar4; } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar7 = puVar4; } } } else { puVar7 = (undefined8 *)puVar8[2]; } } local_40 = *param_4; local_38 = puVar7[4]; iVar5 = FUN_18048cbc0(); if (iVar5 < 0) { puVar6 = (undefined8 *)FUN_1804912b0(param_1,local_30,bVar9,puVar8); *param_2 = *puVar6; *(undefined1 *)(param_2 + 1) = 1; return param_2; } _Memory = (uint *)(*(longlong *)((longlong)param_5 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 180486330 size=156 ############ longlong * FUN_180486330(longlong *param_1,longlong *param_2,undefined8 *param_3) { undefined8 *puVar1; undefined8 uVar2; int iVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; puVar1 = (undefined8 *)*param_1; puVar5 = puVar1; if (*(char *)((longlong)puVar1[1] + 0x19) == '\0') { uVar2 = *param_3; puVar4 = puVar1; puVar6 = (undefined8 *)puVar1[1]; do { puVar5 = puVar6; iVar3 = FUN_18048cbc0(puVar5[4],uVar2); if (iVar3 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != puVar1) && (iVar3 = FUN_18048cbc0(*param_3,puVar5[4]), -1 < iVar3)) { *param_2 = (longlong)puVar5; return param_2; } *param_2 = (longlong)puVar1; return param_2; } ############ FUN_ 1804863e0 size=189 ############ undefined8 * FUN_1804863e0(longlong *param_1,undefined8 *param_2) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_2; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_2,puVar5[4]), -1 < iVar2)) { return puVar5 + 5; } local_res8 = param_2; lVar3 = FUN_18048ff10(param_1); FUN_18048fc70(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); return local_res8 + 5; } ############ FUN_ 180486900 size=210 ############ undefined8 FUN_180486900(longlong *param_1,longlong *param_2) { undefined8 *puVar1; longlong lVar2; longlong lVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; iVar8 = *(int *)((longlong)param_1 + 0xc); iVar7 = 0; if (0 < iVar8) { lVar2 = *param_1; lVar3 = *param_2; do { puVar1 = (undefined8 *)(lVar2 + (longlong)iVar7 * 8); if ((lVar3 == *(longlong *)(lVar2 + (longlong)iVar7 * 8)) || (iVar5 = FUN_18048cbc0(lVar3,*puVar1), iVar5 == 0)) { FUN_181249460(puVar1,param_2); return 0; } iVar5 = (iVar8 + iVar7) / 2; iVar6 = FUN_18048cbc0(lVar3,*(undefined8 *)(lVar2 + (longlong)iVar5 * 8)); if (iVar5 == iVar7) { if (-1 < iVar6) { iVar7 = iVar7 + 1; } break; } iVar4 = iVar5; if (-1 >= iVar6) { iVar4 = iVar7; iVar8 = iVar5; } iVar7 = iVar4; } while (iVar7 < iVar8); } FUN_180489070(param_1,iVar7,param_2); return 1; } ############ FUN_ 180486a10 size=189 ############ undefined8 * FUN_180486a10(longlong *param_1,undefined8 *param_2) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_2; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_2,puVar5[4]), -1 < iVar2)) { return puVar5 + 5; } local_res8 = param_2; lVar3 = FUN_18048f910(param_1); FUN_1804902d0(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); return local_res8 + 5; } ############ FUN_ 1804902d0 size=657 ############ undefined8 * FUN_1804902d0(longlong *param_1,undefined8 *param_2,longlong *param_3,undefined8 *param_4) { char cVar1; char cVar2; longlong *plVar3; undefined8 uVar4; longlong *plVar5; longlong *plVar6; int iVar7; undefined8 *puVar8; longlong *plVar9; undefined1 local_40 [24]; if (param_1[1] == 0) { FUN_180491af0(param_1,param_2,1,*param_1); } else { plVar3 = (longlong *)*param_1; if (param_3 == (longlong *)*plVar3) { iVar7 = FUN_18048cbc0(*param_4,param_3[4]); if (iVar7 < 0) { FUN_180491af0(param_1,param_2,1,param_3); return param_2; } } else if (param_3 == plVar3) { iVar7 = FUN_18048cbc0(*(undefined8 *)(plVar3[2] + 0x20),*param_4); if (iVar7 < 0) { FUN_180491af0(param_1,param_2,0,plVar3[2]); return param_2; } } else { uVar4 = *param_4; iVar7 = FUN_18048cbc0(uVar4,param_3[4]); if (iVar7 < 0) { if (*(char *)((longlong)param_3 + 0x19) == '\0') { plVar9 = (longlong *)*param_3; if (*(char *)((longlong)plVar9 + 0x19) == '\0') { cVar1 = *(char *)(plVar9[2] + 0x19); plVar5 = (longlong *)plVar9[2]; while (cVar1 == '\0') { cVar1 = *(char *)(plVar5[2] + 0x19); plVar9 = plVar5; plVar5 = (longlong *)plVar5[2]; } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar9 = param_3; while ((plVar6 = plVar5, cVar1 == '\0' && (plVar9 == (longlong *)*plVar6))) { cVar1 = *(char *)(plVar6[1] + 0x19); plVar5 = (longlong *)plVar6[1]; plVar9 = plVar6; } if (*(char *)((longlong)plVar9 + 0x19) == '\0') { plVar9 = plVar6; } } } else { plVar9 = (longlong *)param_3[2]; } iVar7 = FUN_18048cbc0(plVar9[4],uVar4); if (iVar7 < 0) { if (*(char *)(plVar9[2] + 0x19) != '\0') { FUN_180491af0(param_1,param_2,0,plVar9); return param_2; } FUN_180491af0(param_1,param_2,1,param_3); return param_2; } } iVar7 = FUN_18048cbc0(param_3[4],uVar4); if (iVar7 < 0) { plVar9 = (longlong *)param_3[2]; cVar1 = *(char *)((longlong)plVar9 + 0x19); if (cVar1 == '\0') { cVar2 = *(char *)(*plVar9 + 0x19); plVar5 = (longlong *)*plVar9; while (cVar2 == '\0') { cVar2 = *(char *)(*plVar5 + 0x19); plVar9 = plVar5; plVar5 = (longlong *)*plVar5; } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar6 = (longlong *)param_3[1]; plVar5 = param_3; while ((plVar9 = plVar6, cVar2 == '\0' && (plVar5 == (longlong *)plVar9[2]))) { cVar2 = *(char *)(plVar9[1] + 0x19); plVar6 = (longlong *)plVar9[1]; plVar5 = plVar9; } } if ((plVar9 == plVar3) || (iVar7 = FUN_18048cbc0(uVar4,plVar9[4]), iVar7 < 0)) { if (cVar1 != '\0') { FUN_180491af0(param_1,param_2,0,param_3); return param_2; } FUN_180491af0(param_1,param_2,1,plVar9); return param_2; } } } puVar8 = (undefined8 *)FUN_180491d20(param_1,local_40); *param_2 = *puVar8; } return param_2; } ############ FUN_ 180491d20 size=383 ############ undefined8 * FUN_180491d20(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4) { char cVar1; undefined8 uVar2; undefined8 *puVar3; int iVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; bool bVar8; undefined1 local_res8 [8]; puVar5 = (undefined8 *)*param_1; bVar8 = true; puVar7 = puVar5; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar2 = *param_4; puVar6 = (undefined8 *)puVar5[1]; do { puVar7 = puVar6; iVar4 = FUN_18048cbc0(uVar2,puVar7[4]); bVar8 = iVar4 < 0; if (bVar8) { puVar6 = (undefined8 *)*puVar7; } else { puVar6 = (undefined8 *)puVar7[2]; } } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } puVar6 = puVar7; if (bVar8 != false) { if (puVar7 == (undefined8 *)*puVar5) { puVar5 = (undefined8 *)FUN_180491af0(param_1,local_res8,1,puVar7); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar6[2] + 0x19); puVar5 = (undefined8 *)puVar6[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar5[2] + 0x19); puVar6 = puVar5; puVar5 = (undefined8 *)puVar5[2]; } } else { cVar1 = *(char *)((longlong)puVar7[1] + 0x19); puVar5 = (undefined8 *)puVar7[1]; puVar6 = puVar7; while ((puVar3 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)*puVar3))) { cVar1 = *(char *)((longlong)puVar3[1] + 0x19); puVar5 = (undefined8 *)puVar3[1]; puVar6 = puVar3; } if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar6 = puVar3; } } } else { puVar6 = (undefined8 *)puVar7[2]; } } iVar4 = FUN_18048cbc0(puVar6[4],*param_4); if (iVar4 < 0) { puVar5 = (undefined8 *)FUN_180491af0(param_1,local_res8,bVar8,puVar7); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; } else { FUN_180490da0(); *param_2 = puVar6; *(undefined1 *)(param_2 + 1) = 0; } return param_2; } ############ FUN_ 180488a80 size=150 ############ int FUN_180488a80(longlong *param_1,longlong *param_2) { longlong lVar1; longlong lVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; iVar7 = *(int *)((longlong)param_1 + 0xc); iVar6 = 0; if (0 < iVar7) { lVar1 = *param_1; lVar2 = *param_2; do { if (lVar2 == *(longlong *)(lVar1 + (longlong)iVar6 * 8)) { return iVar6; } iVar4 = FUN_18048cbc0(lVar2); if (iVar4 == 0) { return iVar6; } iVar4 = (iVar7 + iVar6) / 2; if (iVar4 == iVar6) { return -1; } iVar5 = FUN_18048cbc0(lVar2,*(undefined8 *)(lVar1 + (longlong)iVar4 * 8)); iVar3 = iVar4; if (iVar5 < 0) { iVar3 = iVar6; iVar7 = iVar4; } iVar6 = iVar3; } while (iVar6 < iVar7); } return -1; } ############ FUN_ 181220890 size=86 ############ undefined8 * FUN_181220890(longlong param_1) { undefined8 uVar1; int iVar2; undefined8 *puVar3; uVar1 = DAT_1826739f0; puVar3 = *(undefined8 **)(param_1 + 0x10); while( true ) { if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_181220d40(); return puVar3; } iVar2 = FUN_18048cbc0(puVar3[1],uVar1); if (iVar2 == 0) break; puVar3 = (undefined8 *)*puVar3; } return puVar3 + 2; } ############ FUN_ 181221c40 size=660 ############ longlong * FUN_181221c40(longlong param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; longlong lVar2; int iVar3; undefined8 *puVar4; undefined8 uVar5; longlong *plVar6; uint *puVar7; uint uVar8; longlong local_res8; longlong local_res20; longlong local_48 [2]; local_48[1] = 0xfffffffffffffffe; uVar8 = 0; if (0 < *(int *)(param_1 + 0x34)) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); do { if (uVar8 < *(uint *)(param_1 + 0x34)) { plVar6 = (longlong *)(*(longlong *)(param_1 + 0x28) + (longlong)(int)uVar8 * 8); } else { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } plVar6 = (longlong *)&DAT_18267af68; } if (*plVar6 == *param_3) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*plVar6,*param_3); } if (iVar3 == 0) { puVar4 = (undefined8 *)FUN_181249970(param_1 + 0x28,uVar8 - 1); iVar3 = FUN_18048cbc0(*puVar4,&DAT_1821db4a4); if (iVar3 == 0) { puVar4 = (undefined8 *)FUN_181249970(param_1 + 0x28,uVar8 - 2); iVar3 = FUN_18049bb30(*puVar4,"> 1) * 6; plVar8 = param_2; if (0x28 < lVar7) { lVar7 = lVar7 + 1 >> 3; FUN_1804d3670(param_2,param_2 + lVar7 * 6,param_2 + lVar7 * 0xc); FUN_1804d3670(plVar12 + lVar7 * -6,plVar12,plVar12 + lVar7 * 6); plVar10 = plVar10 + lVar7 * -6; FUN_1804d3670(param_3 + lVar7 * -0xc + -6,plVar10); plVar8 = param_2 + lVar7 * 6; } FUN_1804d3670(plVar8,plVar12,plVar10); plVar10 = plVar12 + 6; while (plVar8 = plVar12, param_2 < plVar8) { lVar7 = plVar8[-6]; lVar2 = *plVar8; local_118 = lVar2; local_e0 = lVar7; iVar6 = FUN_18048cbc0(lVar7,lVar2); if ((iVar6 < 0) || (local_d8 = lVar7, local_d0 = lVar2, iVar6 = FUN_18048cbc0(lVar2,lVar7), plVar12 = plVar8 + -6, iVar6 < 0)) break; } plVar12 = plVar10; plVar14 = plVar8; local_300 = plVar10; local_2f0 = plVar10; local_2f8 = plVar8; local_308 = plVar8; if (plVar10 < param_3) { lVar7 = *plVar8; do { lVar2 = *plVar10; local_210 = lVar7; local_208 = lVar2; iVar6 = FUN_18048cbc0(lVar2,lVar7); plVar12 = plVar10; local_300 = plVar10; local_2f0 = plVar10; if ((iVar6 < 0) || (local_200 = lVar2, local_1f8 = lVar7, iVar6 = FUN_18048cbc0(lVar7,lVar2), iVar6 < 0)) break; plVar10 = plVar10 + 6; plVar12 = plVar10; local_300 = plVar10; local_2f0 = plVar10; } while (plVar10 < param_3); } joined_r0x0001804d2939: do { plVar11 = plVar8; if (param_3 <= plVar10) { LAB_1804d2ac4: if (param_2 < plVar11) { plVar8 = plVar11 + -5; plVar13 = plVar14; do { lVar7 = plVar8[-1]; plVar15 = plVar8 + -1; lVar2 = *plVar13; local_1b8 = lVar2; local_1b0 = lVar7; iVar6 = FUN_18048cbc0(lVar7,lVar2); plVar14 = plVar13; plVar10 = local_2f0; if (-1 < iVar6) { local_1a8 = lVar7; local_1a0 = lVar2; iVar6 = FUN_18048cbc0(lVar2,lVar7); plVar12 = local_300; local_2f8 = plVar11; if (iVar6 < 0) break; plVar14 = plVar13 + -6; local_308 = plVar14; if (plVar14 != plVar15) { local_98 = *plVar14; *plVar14 = (longlong)&DAT_1821dbf98; local_90 = plVar13[-5]; plVar13[-5] = (longlong)&DAT_1821dbf98; local_198 = *plVar14; local_88 = plVar13[-4]; lStack_80 = plVar13[-3]; local_78 = (undefined1)plVar13[-2]; local_70 = plVar13[-1]; local_74 = *(undefined4 *)((longlong)plVar13 + -0xc); *plVar14 = *plVar15; *plVar15 = local_198; local_190 = plVar13[-5]; plVar13[-5] = *plVar8; *plVar8 = local_190; uVar3 = *(undefined4 *)((longlong)plVar8 + 0xc); lVar7 = plVar8[2]; uVar4 = *(undefined4 *)((longlong)plVar8 + 0x14); *(int *)(plVar13 + -4) = (int)plVar8[1]; *(undefined4 *)((longlong)plVar13 + -0x1c) = uVar3; *(int *)(plVar13 + -3) = (int)lVar7; *(undefined4 *)((longlong)plVar13 + -0x14) = uVar4; *(char *)(plVar13 + -2) = (char)plVar8[3]; *(undefined4 *)((longlong)plVar13 + -0xc) = *(undefined4 *)((longlong)plVar8 + 0x1c); plVar13[-1] = plVar8[4]; lVar7 = *plVar15; *plVar15 = local_98; local_188 = *plVar8; *plVar8 = local_90; plVar8[4] = local_70; plVar8[1] = local_88; plVar8[2] = lStack_80; puVar9 = (uint *)(local_188 + -0x10); *(undefined1 *)(plVar8 + 3) = local_78; *(undefined4 *)((longlong)plVar8 + 0x1c) = local_74; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(lVar7 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } } plVar11 = plVar11 + -6; plVar8 = plVar8 + -6; plVar12 = local_300; plVar13 = plVar14; local_2f8 = plVar11; } while (param_2 < plVar11); } if (plVar11 == param_2) { if (plVar10 == param_3) { *param_1 = plVar14; param_1[1] = plVar12; return; } plVar13 = plVar12; plVar15 = plVar14; if (plVar12 != plVar10) { local_68 = *plVar14; *plVar14 = (longlong)&DAT_1821dbf98; local_60 = plVar14[1]; plVar14[1] = (longlong)&DAT_1821dbf98; local_180 = *plVar14; local_58 = plVar14[2]; lStack_50 = plVar14[3]; local_48 = (undefined1)plVar14[4]; local_40 = plVar14[5]; local_44 = *(undefined4 *)((longlong)plVar14 + 0x24); *plVar14 = *plVar12; *plVar12 = local_180; local_178 = plVar14[1]; plVar14[1] = plVar12[1]; plVar12[1] = local_178; lVar7 = plVar12[3]; plVar14[2] = plVar12[2]; plVar14[3] = lVar7; *(char *)(plVar14 + 4) = (char)plVar12[4]; *(undefined4 *)((longlong)plVar14 + 0x24) = *(undefined4 *)((longlong)plVar12 + 0x24); plVar14[5] = plVar12[5]; lVar7 = *plVar12; *plVar12 = local_68; local_170 = plVar12[1]; plVar12[1] = local_60; plVar12[5] = local_40; plVar12[2] = local_58; plVar12[3] = lStack_50; puVar9 = (uint *)(local_170 + -0x10); *(undefined1 *)(plVar12 + 4) = local_48; *(undefined4 *)((longlong)plVar12 + 0x24) = local_44; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(lVar7 + -0x10); plVar13 = local_300; plVar15 = local_308; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } lVar7 = *plVar15; *plVar15 = (longlong)&DAT_1821dbf98; lVar2 = plVar15[1]; plVar15[1] = (longlong)&DAT_1821dbf98; local_168 = *plVar15; local_2c0 = (undefined4)plVar15[2]; uStack_2bc = *(undefined4 *)((longlong)plVar15 + 0x14); uStack_2b8 = (undefined4)plVar15[3]; uStack_2b4 = *(undefined4 *)((longlong)plVar15 + 0x1c); local_2b0 = (undefined1)plVar15[4]; local_2a8 = plVar15[5]; local_2ac = *(undefined4 *)((longlong)plVar15 + 0x24); *plVar15 = *plVar10; *plVar10 = local_168; local_160 = plVar15[1]; plVar15[1] = plVar10[1]; plVar10[1] = local_160; uVar3 = *(undefined4 *)((longlong)plVar10 + 0x14); lVar5 = plVar10[3]; uVar4 = *(undefined4 *)((longlong)plVar10 + 0x1c); *(int *)(plVar15 + 2) = (int)plVar10[2]; *(undefined4 *)((longlong)plVar15 + 0x14) = uVar3; *(int *)(plVar15 + 3) = (int)lVar5; *(undefined4 *)((longlong)plVar15 + 0x1c) = uVar4; *(char *)(plVar15 + 4) = (char)plVar10[4]; *(undefined4 *)((longlong)plVar15 + 0x24) = *(undefined4 *)((longlong)plVar10 + 0x24); plVar15[5] = plVar10[5]; local_2d0 = *plVar10; *plVar10 = lVar7; local_2c8 = plVar10[1]; plVar10[1] = lVar2; plVar10[5] = local_2a8; *(undefined4 *)(plVar10 + 2) = local_2c0; *(undefined4 *)((longlong)plVar10 + 0x14) = uStack_2bc; *(undefined4 *)(plVar10 + 3) = uStack_2b8; *(undefined4 *)((longlong)plVar10 + 0x1c) = uStack_2b4; *(undefined1 *)(plVar10 + 4) = local_2b0; *(undefined4 *)((longlong)plVar10 + 0x24) = local_2ac; local_158 = local_2d0; local_150 = local_2c8; FUN_1804d1090(&local_2d0); plVar10 = plVar10 + 6; plVar8 = plVar11; plVar12 = plVar13 + 6; plVar14 = plVar15 + 6; local_300 = plVar13 + 6; local_2f0 = plVar10; local_308 = plVar15 + 6; } else { plVar8 = plVar11 + -6; local_2f8 = plVar8; if (plVar10 == param_3) { local_308 = plVar14 + -6; if (plVar8 != local_308) { lVar7 = *plVar8; *plVar8 = (longlong)&DAT_1821dbf98; lVar2 = plVar11[-5]; plVar11[-5] = (longlong)&DAT_1821dbf98; local_148 = *plVar8; local_290 = (undefined4)plVar11[-4]; uStack_28c = *(undefined4 *)((longlong)plVar11 + -0x1c); uStack_288 = (undefined4)plVar11[-3]; uStack_284 = *(undefined4 *)((longlong)plVar11 + -0x14); local_280 = (undefined1)plVar11[-2]; local_278 = plVar11[-1]; local_27c = *(undefined4 *)((longlong)plVar11 + -0xc); *plVar8 = *local_308; *local_308 = local_148; local_140 = plVar11[-5]; plVar11[-5] = plVar14[-5]; plVar14[-5] = local_140; uVar3 = *(undefined4 *)((longlong)plVar14 + -0x1c); lVar5 = plVar14[-3]; uVar4 = *(undefined4 *)((longlong)plVar14 + -0x14); *(int *)(plVar11 + -4) = (int)plVar14[-4]; *(undefined4 *)((longlong)plVar11 + -0x1c) = uVar3; *(int *)(plVar11 + -3) = (int)lVar5; *(undefined4 *)((longlong)plVar11 + -0x14) = uVar4; *(char *)(plVar11 + -2) = (char)plVar14[-2]; *(undefined4 *)((longlong)plVar11 + -0xc) = *(undefined4 *)((longlong)plVar14 + -0xc); plVar11[-1] = plVar14[-1]; local_2a0 = *local_308; *local_308 = lVar7; local_298 = plVar14[-5]; plVar14[-5] = lVar2; plVar14[-1] = local_278; *(undefined4 *)(plVar14 + -4) = local_290; *(undefined4 *)((longlong)plVar14 + -0x1c) = uStack_28c; *(undefined4 *)(plVar14 + -3) = uStack_288; *(undefined4 *)((longlong)plVar14 + -0x14) = uStack_284; *(undefined1 *)(plVar14 + -2) = local_280; *(undefined4 *)((longlong)plVar14 + -0xc) = local_27c; local_138 = local_2a0; local_130 = local_298; FUN_1804d1090(&local_2a0); } lVar7 = *local_308; local_300 = plVar12 + -6; *local_308 = (longlong)&DAT_1821dbf98; lVar2 = plVar14[-5]; plVar14[-5] = (longlong)&DAT_1821dbf98; local_128 = *local_308; local_260 = (undefined4)plVar14[-4]; uStack_25c = *(undefined4 *)((longlong)plVar14 + -0x1c); uStack_258 = (undefined4)plVar14[-3]; uStack_254 = *(undefined4 *)((longlong)plVar14 + -0x14); local_250 = (undefined1)plVar14[-2]; local_248 = plVar14[-1]; local_24c = *(undefined4 *)((longlong)plVar14 + -0xc); *local_308 = *local_300; *local_300 = local_128; local_120 = plVar14[-5]; plVar14[-5] = plVar12[-5]; plVar12[-5] = local_120; uVar3 = *(undefined4 *)((longlong)plVar12 + -0x1c); lVar5 = plVar12[-3]; uVar4 = *(undefined4 *)((longlong)plVar12 + -0x14); *(int *)(plVar14 + -4) = (int)plVar12[-4]; *(undefined4 *)((longlong)plVar14 + -0x1c) = uVar3; *(int *)(plVar14 + -3) = (int)lVar5; *(undefined4 *)((longlong)plVar14 + -0x14) = uVar4; *(char *)(plVar14 + -2) = (char)plVar12[-2]; *(undefined4 *)((longlong)plVar14 + -0xc) = *(undefined4 *)((longlong)plVar12 + -0xc); plVar14[-1] = plVar12[-1]; local_270 = *local_300; *local_300 = lVar7; local_268 = plVar12[-5]; plVar12[-5] = lVar2; plVar12[-1] = local_248; *(undefined4 *)(plVar12 + -4) = local_260; *(undefined4 *)((longlong)plVar12 + -0x1c) = uStack_25c; *(undefined4 *)(plVar12 + -3) = uStack_258; *(undefined4 *)((longlong)plVar12 + -0x14) = uStack_254; *(undefined1 *)(plVar12 + -2) = local_250; *(undefined4 *)((longlong)plVar12 + -0xc) = local_24c; local_110 = local_268; local_e8 = local_270; FUN_1804d1090(&local_270); plVar12 = local_300; plVar14 = local_308; } else { lVar7 = *plVar10; *plVar10 = (longlong)&DAT_1821dbf98; lVar2 = plVar10[1]; plVar10[1] = (longlong)&DAT_1821dbf98; local_108 = *plVar10; local_230 = (undefined4)plVar10[2]; uStack_22c = *(undefined4 *)((longlong)plVar10 + 0x14); uStack_228 = (undefined4)plVar10[3]; uStack_224 = *(undefined4 *)((longlong)plVar10 + 0x1c); local_220 = (undefined1)plVar10[4]; local_218 = plVar10[5]; local_21c = *(undefined4 *)((longlong)plVar10 + 0x24); *plVar10 = *plVar8; *plVar8 = local_108; local_100 = plVar10[1]; plVar10[1] = plVar11[-5]; plVar11[-5] = local_100; uVar3 = *(undefined4 *)((longlong)plVar11 + -0x1c); lVar5 = plVar11[-3]; uVar4 = *(undefined4 *)((longlong)plVar11 + -0x14); *(int *)(plVar10 + 2) = (int)plVar11[-4]; *(undefined4 *)((longlong)plVar10 + 0x14) = uVar3; *(int *)(plVar10 + 3) = (int)lVar5; *(undefined4 *)((longlong)plVar10 + 0x1c) = uVar4; *(char *)(plVar10 + 4) = (char)plVar11[-2]; *(undefined4 *)((longlong)plVar10 + 0x24) = *(undefined4 *)((longlong)plVar11 + -0xc); plVar10[5] = plVar11[-1]; local_240 = *plVar8; *plVar8 = lVar7; local_238 = plVar11[-5]; plVar11[-5] = lVar2; plVar11[-1] = local_218; *(undefined4 *)(plVar11 + -4) = local_230; *(undefined4 *)((longlong)plVar11 + -0x1c) = uStack_22c; *(undefined4 *)(plVar11 + -3) = uStack_228; *(undefined4 *)((longlong)plVar11 + -0x14) = uStack_224; *(undefined1 *)(plVar11 + -2) = local_220; *(undefined4 *)((longlong)plVar11 + -0xc) = local_21c; local_f8 = local_240; local_f0 = local_238; FUN_1804d1090(&local_240); plVar10 = plVar10 + 6; local_2f0 = plVar10; } } goto joined_r0x0001804d2939; } lVar7 = *plVar10; lVar2 = *plVar14; local_1f0 = lVar7; local_1e8 = lVar2; iVar6 = FUN_18048cbc0(lVar2,lVar7); if (-1 < iVar6) { local_1e0 = lVar2; local_1d8 = lVar7; iVar6 = FUN_18048cbc0(lVar7,lVar2); plVar11 = local_2f8; local_2f0 = plVar10; if (iVar6 < 0) goto LAB_1804d2ac4; if (plVar12 != plVar10) { local_c8 = *plVar12; *plVar12 = (longlong)&DAT_1821dbf98; local_c0 = plVar12[1]; plVar12[1] = (longlong)&DAT_1821dbf98; local_1d0 = *plVar12; local_b8 = plVar12[2]; lStack_b0 = plVar12[3]; local_a8 = (undefined1)plVar12[4]; local_a0 = plVar12[5]; local_a4 = *(undefined4 *)((longlong)plVar12 + 0x24); *plVar12 = *plVar10; *plVar10 = local_1d0; local_1c8 = plVar12[1]; plVar12[1] = plVar10[1]; plVar10[1] = local_1c8; uVar3 = *(undefined4 *)((longlong)plVar10 + 0x14); lVar7 = plVar10[3]; uVar4 = *(undefined4 *)((longlong)plVar10 + 0x1c); *(int *)(plVar12 + 2) = (int)plVar10[2]; *(undefined4 *)((longlong)plVar12 + 0x14) = uVar3; *(int *)(plVar12 + 3) = (int)lVar7; *(undefined4 *)((longlong)plVar12 + 0x1c) = uVar4; *(char *)(plVar12 + 4) = (char)plVar10[4]; *(undefined4 *)((longlong)plVar12 + 0x24) = *(undefined4 *)((longlong)plVar10 + 0x24); plVar12[5] = plVar10[5]; lVar7 = *plVar10; *plVar10 = local_c8; local_1c0 = plVar10[1]; plVar10[1] = local_c0; plVar10[5] = local_a0; plVar10[2] = local_b8; plVar10[3] = lStack_b0; puVar9 = (uint *)(local_1c0 + -0x10); *(undefined1 *)(plVar10 + 4) = local_a8; *(undefined4 *)((longlong)plVar10 + 0x24) = local_a4; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(lVar7 + -0x10); plVar12 = local_300; plVar14 = local_308; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } plVar12 = plVar12 + 6; local_300 = plVar12; } plVar10 = plVar10 + 6; plVar8 = local_2f8; local_2f0 = plVar10; } while( true ); } ############ FUN_ 1804d3160 size=753 ############ longlong * FUN_1804d3160(longlong *param_1,longlong *param_2) { longlong *plVar1; longlong *plVar2; uint uVar3; undefined4 uVar4; longlong lVar5; longlong lVar6; longlong lVar7; undefined4 uVar8; undefined4 uVar9; longlong lVar10; int iVar11; longlong lVar12; longlong *plVar13; uint *puVar14; longlong *plVar15; longlong *plVar16; undefined4 uVar17; undefined4 uVar18; undefined4 uVar19; undefined4 uVar20; longlong local_b8; if (param_1 == param_2) { return param_2; } plVar16 = param_1 + 6; if (plVar16 != param_2) { do { lVar12 = *plVar16; *plVar16 = (longlong)&DAT_1821dbf98; lVar5 = plVar16[1]; plVar16[1] = (longlong)&DAT_1821dbf98; uVar4 = *(undefined4 *)((longlong)plVar16 + 0x24); lVar10 = plVar16[4]; uVar17 = (undefined4)plVar16[2]; uVar18 = *(undefined4 *)((longlong)plVar16 + 0x14); uVar19 = (undefined4)plVar16[3]; uVar20 = *(undefined4 *)((longlong)plVar16 + 0x1c); lVar6 = plVar16[5]; iVar11 = FUN_18048cbc0(lVar12); if (iVar11 < 0) { if (plVar16 != param_1) { plVar13 = plVar16 + -5; plVar15 = plVar16 + 6; do { plVar1 = plVar15 + -6; lVar7 = *plVar1; *plVar1 = plVar13[-1]; plVar13[-1] = lVar7; lVar7 = plVar15[-5]; plVar15[-5] = *plVar13; *plVar13 = lVar7; uVar8 = *(undefined4 *)((longlong)plVar13 + 0xc); lVar7 = plVar13[2]; uVar9 = *(undefined4 *)((longlong)plVar13 + 0x14); *(int *)(plVar15 + -4) = (int)plVar13[1]; *(undefined4 *)((longlong)plVar15 + -0x1c) = uVar8; *(int *)(plVar15 + -3) = (int)lVar7; *(undefined4 *)((longlong)plVar15 + -0x14) = uVar9; *(char *)(plVar15 + -2) = (char)plVar13[3]; *(undefined4 *)((longlong)plVar15 + -0xc) = *(undefined4 *)((longlong)plVar13 + 0x1c); plVar15[-1] = plVar13[4]; plVar2 = plVar13 + -1; plVar13 = plVar13 + -6; plVar15 = plVar1; } while (plVar2 != param_1); } local_b8 = *param_1; *param_1 = lVar12; lVar12 = param_1[1]; param_1[1] = lVar5; *(undefined4 *)(param_1 + 2) = uVar17; *(undefined4 *)((longlong)param_1 + 0x14) = uVar18; *(undefined4 *)(param_1 + 3) = uVar19; *(undefined4 *)((longlong)param_1 + 0x1c) = uVar20; *(char *)(param_1 + 4) = (char)lVar10; *(undefined4 *)((longlong)param_1 + 0x24) = uVar4; param_1[5] = lVar6; } else { iVar11 = FUN_18048cbc0(lVar12); plVar13 = plVar16; while (iVar11 < 0) { plVar15 = plVar13 + -6; lVar7 = *plVar13; *plVar13 = *plVar15; *plVar15 = lVar7; lVar7 = plVar13[1]; plVar13[1] = plVar13[-5]; plVar13[-5] = lVar7; *(int *)(plVar13 + 2) = (int)plVar13[-4]; *(undefined4 *)((longlong)plVar13 + 0x14) = *(undefined4 *)((longlong)plVar13 + -0x1c); *(int *)(plVar13 + 3) = (int)plVar13[-3]; *(undefined4 *)((longlong)plVar13 + 0x1c) = *(undefined4 *)((longlong)plVar13 + -0x14); *(char *)(plVar13 + 4) = (char)plVar13[-2]; *(undefined4 *)((longlong)plVar13 + 0x24) = *(undefined4 *)((longlong)plVar13 + -0xc); plVar13[5] = plVar13[-1]; iVar11 = FUN_18048cbc0(lVar12); plVar13 = plVar15; } local_b8 = *plVar13; *plVar13 = lVar12; lVar12 = plVar13[1]; plVar13[1] = lVar5; *(undefined4 *)(plVar13 + 2) = uVar17; *(undefined4 *)((longlong)plVar13 + 0x14) = uVar18; *(undefined4 *)(plVar13 + 3) = uVar19; *(undefined4 *)((longlong)plVar13 + 0x1c) = uVar20; *(char *)(plVar13 + 4) = (char)lVar10; *(undefined4 *)((longlong)plVar13 + 0x24) = uVar4; plVar13[5] = lVar6; } puVar14 = (uint *)(lVar12 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_b8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } plVar16 = plVar16 + 6; } while (plVar16 != param_2); return param_2; } return param_2; } ############ FUN_ 1804d3460 size=514 ############ void FUN_1804d3460(longlong param_1,longlong param_2,longlong param_3,undefined8 *param_4) { longlong lVar1; undefined8 uVar2; undefined4 uVar3; undefined4 uVar4; undefined4 uVar5; int iVar6; undefined8 *puVar7; longlong lVar8; longlong lVar9; undefined8 *puVar10; lVar9 = param_3 + -1 >> 1; lVar1 = param_2; while (lVar1 < lVar9) { lVar8 = lVar1 * 2 + 2; iVar6 = FUN_18048cbc0(*(undefined8 *)(param_1 + lVar8 * 0x30), *(undefined8 *)(param_1 + -0x30 + lVar8 * 0x30)); if (iVar6 < 0) { lVar8 = lVar1 * 2 + 1; } puVar7 = (undefined8 *)(lVar1 * 0x30 + param_1); puVar10 = (undefined8 *)(lVar8 * 0x30 + param_1); uVar2 = *puVar7; *puVar7 = *puVar10; *puVar10 = uVar2; uVar2 = puVar7[1]; puVar7[1] = puVar10[1]; puVar10[1] = uVar2; uVar3 = *(undefined4 *)((longlong)puVar10 + 0x14); uVar4 = *(undefined4 *)(puVar10 + 3); uVar5 = *(undefined4 *)((longlong)puVar10 + 0x1c); *(undefined4 *)(puVar7 + 2) = *(undefined4 *)(puVar10 + 2); *(undefined4 *)((longlong)puVar7 + 0x14) = uVar3; *(undefined4 *)(puVar7 + 3) = uVar4; *(undefined4 *)((longlong)puVar7 + 0x1c) = uVar5; *(undefined1 *)(puVar7 + 4) = *(undefined1 *)(puVar10 + 4); *(undefined4 *)((longlong)puVar7 + 0x24) = *(undefined4 *)((longlong)puVar10 + 0x24); puVar7[5] = puVar10[5]; lVar1 = lVar8; } if ((lVar1 == lVar9) && (((ulonglong)((uint)param_3 & 1) ^ param_3 >> 0x3f) == param_3 >> 0x3f)) { lVar9 = lVar1 * 0x30; lVar1 = param_3 + -1; lVar8 = param_3 * 0x30 + param_1; puVar7 = (undefined8 *)(lVar9 + param_1); uVar2 = *puVar7; *puVar7 = *(undefined8 *)(lVar8 + -0x30); *(undefined8 *)(lVar8 + -0x30) = uVar2; uVar2 = puVar7[1]; puVar7[1] = *(undefined8 *)(lVar8 + -0x28); *(undefined8 *)(lVar8 + -0x28) = uVar2; uVar3 = *(undefined4 *)(lVar8 + -0x1c); uVar4 = *(undefined4 *)(lVar8 + -0x18); uVar5 = *(undefined4 *)(lVar8 + -0x14); *(undefined4 *)(puVar7 + 2) = *(undefined4 *)(lVar8 + -0x20); *(undefined4 *)((longlong)puVar7 + 0x14) = uVar3; *(undefined4 *)(puVar7 + 3) = uVar4; *(undefined4 *)((longlong)puVar7 + 0x1c) = uVar5; *(undefined1 *)(puVar7 + 4) = *(undefined1 *)(lVar8 + -0x10); *(undefined4 *)((longlong)puVar7 + 0x24) = *(undefined4 *)(lVar8 + -0xc); puVar7[5] = *(undefined8 *)(lVar8 + -8); } while (param_2 < lVar1) { lVar9 = lVar1 + -1 >> 1; puVar7 = (undefined8 *)(lVar9 * 0x30 + param_1); iVar6 = FUN_18048cbc0(*puVar7,*param_4); if (-1 < iVar6) break; puVar10 = (undefined8 *)(lVar1 * 0x30 + param_1); uVar2 = *puVar10; *puVar10 = *puVar7; *puVar7 = uVar2; uVar2 = puVar10[1]; puVar10[1] = puVar7[1]; puVar7[1] = uVar2; uVar3 = *(undefined4 *)((longlong)puVar7 + 0x14); uVar4 = *(undefined4 *)(puVar7 + 3); uVar5 = *(undefined4 *)((longlong)puVar7 + 0x1c); *(undefined4 *)(puVar10 + 2) = *(undefined4 *)(puVar7 + 2); *(undefined4 *)((longlong)puVar10 + 0x14) = uVar3; *(undefined4 *)(puVar10 + 3) = uVar4; *(undefined4 *)((longlong)puVar10 + 0x1c) = uVar5; *(undefined1 *)(puVar10 + 4) = *(undefined1 *)(puVar7 + 4); *(undefined4 *)((longlong)puVar10 + 0x24) = *(undefined4 *)((longlong)puVar7 + 0x24); puVar10[5] = puVar7[5]; lVar1 = lVar9; } puVar7 = (undefined8 *)(lVar1 * 0x30 + param_1); uVar2 = *puVar7; *puVar7 = *param_4; *param_4 = uVar2; uVar2 = puVar7[1]; puVar7[1] = param_4[1]; param_4[1] = uVar2; uVar2 = param_4[3]; puVar7[2] = param_4[2]; puVar7[3] = uVar2; *(undefined1 *)(puVar7 + 4) = *(undefined1 *)(param_4 + 4); *(undefined4 *)((longlong)puVar7 + 0x24) = *(undefined4 *)((longlong)param_4 + 0x24); puVar7[5] = param_4[5]; return; } ############ FUN_ 1804d3670 size=839 ############ void FUN_1804d3670(longlong *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { uint uVar1; undefined4 uVar2; longlong lVar3; longlong lVar4; longlong lVar5; longlong lVar6; longlong lVar7; undefined4 uVar8; undefined4 uVar9; undefined4 uVar10; undefined4 uVar11; longlong lVar12; longlong lVar13; longlong lVar14; int iVar15; uint *puVar16; longlong lVar17; longlong lVar18; lVar17 = *param_1; lVar3 = *param_2; lVar18 = lVar3; iVar15 = FUN_18048cbc0(lVar3,lVar17,param_3,param_4,lVar17,lVar3); if (iVar15 < 0) { *param_2 = (longlong)&DAT_1821dbf98; lVar4 = param_2[1]; param_2[1] = (longlong)&DAT_1821dbf98; lVar5 = *param_2; lVar7 = param_2[2]; lVar13 = param_2[3]; lVar12 = param_2[4]; lVar6 = param_2[5]; uVar2 = *(undefined4 *)((longlong)param_2 + 0x24); *param_2 = *param_1; *param_1 = lVar5; lVar5 = param_2[1]; param_2[1] = param_1[1]; param_1[1] = lVar5; uVar8 = *(undefined4 *)((longlong)param_1 + 0x14); lVar5 = param_1[3]; uVar9 = *(undefined4 *)((longlong)param_1 + 0x1c); *(int *)(param_2 + 2) = (int)param_1[2]; *(undefined4 *)((longlong)param_2 + 0x14) = uVar8; *(int *)(param_2 + 3) = (int)lVar5; *(undefined4 *)((longlong)param_2 + 0x1c) = uVar9; *(char *)(param_2 + 4) = (char)param_1[4]; *(undefined4 *)((longlong)param_2 + 0x24) = *(undefined4 *)((longlong)param_1 + 0x24); param_2[5] = param_1[5]; lVar5 = *param_1; *param_1 = lVar3; lVar3 = param_1[1]; param_1[1] = lVar4; param_1[5] = lVar6; param_1[2] = lVar7; param_1[3] = lVar13; puVar16 = (uint *)(lVar3 + -0x10); *(char *)(param_1 + 4) = (char)lVar12; *(undefined4 *)((longlong)param_1 + 0x24) = uVar2; if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(lVar5 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } } lVar3 = *param_3; iVar15 = FUN_18048cbc0(lVar3); if (iVar15 < 0) { *param_3 = (longlong)&DAT_1821dbf98; lVar4 = param_3[1]; param_3[1] = (longlong)&DAT_1821dbf98; lVar5 = *param_3; lVar13 = param_3[2]; uVar8 = *(undefined4 *)((longlong)param_3 + 0x14); lVar12 = param_3[3]; uVar9 = *(undefined4 *)((longlong)param_3 + 0x1c); lVar14 = param_3[4]; lVar6 = param_3[5]; uVar2 = *(undefined4 *)((longlong)param_3 + 0x24); *param_3 = *param_2; *param_2 = lVar5; lVar5 = param_2[1]; lVar7 = param_3[1]; param_3[1] = lVar5; param_2[1] = lVar7; uVar10 = *(undefined4 *)((longlong)param_2 + 0x14); lVar7 = param_2[3]; uVar11 = *(undefined4 *)((longlong)param_2 + 0x1c); *(int *)(param_3 + 2) = (int)param_2[2]; *(undefined4 *)((longlong)param_3 + 0x14) = uVar10; *(int *)(param_3 + 3) = (int)lVar7; *(undefined4 *)((longlong)param_3 + 0x1c) = uVar11; *(char *)(param_3 + 4) = (char)param_2[4]; *(undefined4 *)((longlong)param_3 + 0x24) = *(undefined4 *)((longlong)param_2 + 0x24); param_3[5] = param_2[5]; lVar7 = *param_2; *param_2 = lVar3; lVar3 = param_2[1]; param_2[1] = lVar4; param_2[5] = lVar6; *(int *)(param_2 + 2) = (int)lVar13; *(undefined4 *)((longlong)param_2 + 0x14) = uVar8; *(int *)(param_2 + 3) = (int)lVar12; *(undefined4 *)((longlong)param_2 + 0x1c) = uVar9; puVar16 = (uint *)(lVar3 + -0x10); *(char *)(param_2 + 4) = (char)lVar14; *(undefined4 *)((longlong)param_2 + 0x24) = uVar2; if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(lVar7 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } lVar3 = *param_2; iVar15 = FUN_18048cbc0(lVar3,*param_1,lVar5,uVar2,lVar17,lVar18); if (iVar15 < 0) { *param_2 = (longlong)&DAT_1821dbf98; lVar17 = param_2[1]; param_2[1] = (longlong)&DAT_1821dbf98; lVar18 = *param_2; lVar5 = param_2[2]; lVar6 = param_2[3]; lVar7 = param_2[4]; lVar4 = param_2[5]; uVar2 = *(undefined4 *)((longlong)param_2 + 0x24); *param_2 = *param_1; *param_1 = lVar18; lVar18 = param_2[1]; param_2[1] = param_1[1]; param_1[1] = lVar18; lVar18 = param_1[3]; param_2[2] = param_1[2]; param_2[3] = lVar18; *(char *)(param_2 + 4) = (char)param_1[4]; *(undefined4 *)((longlong)param_2 + 0x24) = *(undefined4 *)((longlong)param_1 + 0x24); param_2[5] = param_1[5]; lVar18 = *param_1; *param_1 = lVar3; lVar3 = param_1[1]; param_1[1] = lVar17; param_1[5] = lVar4; param_1[2] = lVar5; param_1[3] = lVar6; puVar16 = (uint *)(lVar3 + -0x10); *(char *)(param_1 + 4) = (char)lVar7; *(undefined4 *)((longlong)param_1 + 0x24) = uVar2; if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar16 = (uint *)(lVar18 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } } } return; } ############ FUN_ 1804d7a90 size=1058 ############ ulonglong FUN_1804d7a90(ulonglong *param_1) { bool bVar1; longlong lVar2; int iVar3; uint uVar4; undefined1 **ppuVar5; ulonglong uVar6; uint *puVar7; uint uVar8; uint uVar9; undefined1 *local_268; undefined1 *local_260; undefined1 *local_258; undefined1 *local_250; undefined1 *local_248; undefined1 *local_240; undefined1 *local_238; undefined8 local_230; undefined8 uStack_228; undefined4 local_220; undefined1 local_21c; undefined8 local_218; undefined1 local_210; undefined1 *local_208; undefined1 *local_200; undefined1 *local_1f8; undefined1 *local_1f0; undefined1 *local_1e8; undefined1 *local_1e0; undefined1 *local_1d8; undefined8 local_1d0; undefined8 uStack_1c8; undefined4 local_1c0; undefined1 local_1bc; undefined8 local_1b8; undefined1 local_1b0; longlong local_1a8; longlong local_1a0; longlong local_198; longlong local_190; longlong local_188; longlong local_180; longlong local_178; int local_160; longlong local_148; longlong local_140; longlong local_138; longlong local_130; longlong local_128; longlong local_120; longlong local_118; int local_100; undefined1 local_e8 [96]; undefined1 local_88 [96]; uVar6 = *param_1; uVar8 = 0; uVar9 = uVar8; if (0 < *(int *)(uVar6 + 0xc)) { do { if (uVar8 < *(uint *)((longlong)param_1[1] + 0xc)) { uVar9 = uVar9 | 1; FUN_1804d7090(local_e8,(longlong)(int)uVar8 * 0x60 + *(longlong *)param_1[1]); } else { memset(&local_268,0,0x60); local_268 = &DAT_1821dbf98; local_230 = 0; uStack_228 = 0; uVar9 = uVar9 | 2; local_260 = &DAT_1821dbf98; local_258 = &DAT_1821dbf98; local_250 = &DAT_1821dbf98; local_248 = &DAT_1821dbf98; local_240 = &DAT_1821dbf98; local_238 = &DAT_1821dbf98; local_220 = 0; local_21c = 0; local_218 = 0; local_210 = 0; } FUN_1804d7090(&local_1a8); if ((uVar9 & 2) != 0) { uVar9 = uVar9 & 0xfffffffd; FUN_1804d7190(&local_268); } if ((uVar9 & 1) != 0) { uVar9 = uVar9 & 0xfffffffe; FUN_1804d7190(local_e8); } if (uVar8 < *(uint *)((longlong)*param_1 + 0xc)) { uVar9 = uVar9 | 4; ppuVar5 = (undefined1 **) FUN_1804d7090(local_88,(longlong)(int)uVar8 * 0x60 + *(longlong *)*param_1); } else { memset(&local_208,0,0x60); local_208 = &DAT_1821dbf98; local_1d0 = 0; uStack_1c8 = 0; uVar9 = uVar9 | 8; local_200 = &DAT_1821dbf98; local_1f8 = &DAT_1821dbf98; ppuVar5 = &local_208; local_1f0 = &DAT_1821dbf98; local_1e8 = &DAT_1821dbf98; local_1e0 = &DAT_1821dbf98; local_1d8 = &DAT_1821dbf98; local_1c0 = 0; local_1bc = 0; local_1b8 = 0; local_1b0 = 0; } FUN_1804d7090(&local_148,ppuVar5); if ((uVar9 & 8) != 0) { uVar9 = uVar9 & 0xfffffff7; FUN_1804d7190(&local_208); } if ((uVar9 & 4) != 0) { uVar9 = uVar9 & 0xfffffffb; FUN_1804d7190(local_88); } lVar2 = local_118; if (((local_118 == local_178) || (iVar3 = FUN_18048cbc0(local_118), iVar3 == 0)) && (local_100 == local_160)) { bVar1 = true; } else { bVar1 = false; } puVar7 = (uint *)(lVar2 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_120 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_128 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_130 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_138 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_140 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_148 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_178 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_180 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_188 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_190 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_198 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_1a0 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_1a8 + -0x10); uVar4 = *puVar7; if ((uVar4 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); uVar4 = uVar4 - 1; if (uVar4 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (!bVar1) { return CONCAT71((uint7)(uint3)(uVar4 >> 8),1); } uVar6 = *param_1; uVar8 = uVar8 + 1; } while ((int)uVar8 < *(int *)(uVar6 + 0xc)); } return uVar6 & 0xffffffffffffff00; } ############ FUN_ 181243170 size=243 ############ void FUN_181243170(longlong *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 param_4) { LPCRITICAL_SECTION lpCriticalSection; uint uVar1; int iVar2; longlong *plVar3; uint *_Memory; longlong local_res10 [2]; LPCRITICAL_SECTION local_res20; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; if (*(char *)*param_2 == '\0') { return; } (**(code **)(*(longlong *)*param_3 + 0x20)) ((longlong *)*param_3,local_res10,param_3 + 1,param_4,0xfffffffffffffffe); lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 7); local_res20 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); iVar2 = FUN_1812498b0(param_1 + 1,*param_2,*(undefined1 *)((longlong)param_1 + 100),0,uVar4, *param_2); if (-1 < iVar2) { plVar3 = (longlong *)FUN_181249970(param_1 + 3,iVar2); if (*plVar3 == local_res10[0]) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar3); } if (iVar2 == 0) goto LAB_181243225; } FUN_18122c880(param_1 + 1,param_2,local_res10); (**(code **)(*param_1 + 8))(param_1); LAB_181243225: LeaveCriticalSection(lpCriticalSection); _Memory = (uint *)(local_res10[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1812ba430 size=208 ############ ulonglong FUN_1812ba430(longlong param_1,longlong *param_2) { uint *puVar1; uint uVar2; int iVar3; longlong lVar4; ulonglong uVar5; int iVar6; undefined8 *puVar7; longlong lVar8; longlong local_res10; longlong local_res18; undefined8 local_res20; iVar3 = *(int *)(param_1 + 0x54); lVar4 = *param_2; iVar6 = 0; local_res18 = lVar4; if (0 < iVar3) { puVar7 = *(undefined8 **)(param_1 + 0x48); lVar8 = 0; do { local_res20 = *puVar7; uVar5 = FUN_18048cbc0(lVar4); if ((int)uVar5 == 0) { if (-1 < iVar6) { return uVar5; } break; } iVar6 = iVar6 + 1; lVar8 = lVar8 + 1; puVar7 = puVar7 + 1; } while (lVar8 < iVar3); } if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } local_res10 = lVar4; FUN_18122dc00(param_1 + 0x48,&local_res10); uVar5 = (ulonglong)*(byte *)(param_1 + 0x30); if (*(byte *)(param_1 + 0x30) != 0) { uVar5 = 0; puVar1 = (uint *)(*(longlong *)(param_1 + 0x10) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { uVar5 = (ulonglong)uVar2; } UNLOCK(); if ((uVar2 == 0) && (uVar5 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x10)), (char)uVar5 == '\0')) { uVar5 = *(ulonglong *)(param_1 + 0x10); LOCK(); *(undefined4 *)(uVar5 + 0x18) = 0; UNLOCK(); } } return uVar5; } ############ FUN_ 181347520 size=274 ############ void FUN_181347520(longlong param_1,undefined8 param_2) { uint uVar1; longlong lVar2; int iVar3; uint *puVar4; undefined8 *puVar5; undefined8 *local_res8; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; FUN_1812490c0(param_2,&local_res8,0,0x800,0xfffffffffffffffe); puVar5 = local_res8; if (*(undefined8 **)(param_1 + 0xc0) == local_res8) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0xc0),local_res8); } if (iVar3 != 0) { if ((*(uint *)(puVar5 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(puVar5 + -2) = *(int *)(puVar5 + -2) + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0xc0); *(longlong *)(param_1 + 0xc0) = (longlong)local_res8; UNLOCK(); puVar4 = (uint *)(lVar2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_1812d3dc0(param_1,1); uStack_c = *(undefined4 *)(param_1 + 0x2c); uStack_10 = *(undefined4 *)(param_1 + 0x28); local_18 = 0; uStack_14 = 0; FUN_181342870(param_1,&local_18,1); puVar5 = local_res8; } puVar4 = (uint *)(puVar5 + -2); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return; } ############ FUN_ 1812413c0 size=411 ############ bool FUN_1812413c0(longlong *param_1,longlong *param_2) { char *pcVar1; LPCWSTR pWVar2; bool bVar3; bool bVar4; char cVar5; DWORD DVar6; int iVar7; BOOL BVar8; undefined8 *puVar9; undefined1 local_res8 [8]; undefined1 local_res10 [8]; undefined1 local_res18 [8]; pcVar1 = (char *)*param_2; if (pcVar1 == (char *)*param_1) { iVar7 = 0; } else { iVar7 = FUN_18048cbc0(pcVar1,*param_1); } if (iVar7 == 0) { return true; } bVar3 = true; if (*pcVar1 == '\0') { LAB_18124142f: bVar4 = false; } else { puVar9 = (undefined8 *)FUN_18049a930(local_res8,param_2); DVar6 = GetFileAttributesW((LPCWSTR)*puVar9); if (DVar6 == 0xffffffff) goto LAB_18124142f; bVar4 = true; } if (bVar4) { puVar9 = (undefined8 *)FUN_18049a930(local_res8,param_1); pWVar2 = (LPCWSTR)*puVar9; puVar9 = (undefined8 *)FUN_18049a930(local_res10,param_2); BVar8 = ReplaceFileW((LPCWSTR)*puVar9,pWVar2,(LPCWSTR)0x0,6,(LPVOID)0x0,(LPVOID)0x0); if (BVar8 == 0) { return false; } FUN_181244b10(param_1); return true; } pcVar1 = (char *)*param_1; if ((char *)*param_2 == pcVar1) { iVar7 = 0; } else { iVar7 = FUN_18048cbc0(*param_2,pcVar1); } if (iVar7 == 0) { return true; } if (*pcVar1 != '\0') { puVar9 = (undefined8 *)FUN_18049a930(local_res8,param_1); DVar6 = GetFileAttributesW((LPCWSTR)*puVar9); if (DVar6 != 0xffffffff) goto LAB_181241486; } bVar3 = false; LAB_181241486: if (!bVar3) { return false; } if (((*param_1 != *param_2) && (iVar7 = FUN_18049bb30(*param_1), iVar7 != 0)) && (cVar5 = FUN_181244b10(param_2), cVar5 == '\0')) { return false; } puVar9 = (undefined8 *)FUN_18049a930(local_res10,param_2); pWVar2 = (LPCWSTR)*puVar9; puVar9 = (undefined8 *)FUN_18049a930(local_res18,param_1); BVar8 = MoveFileW((LPCWSTR)*puVar9,pWVar2); return BVar8 != 0; } ############ FUN_ 18122d7a0 size=520 ############ void FUN_18122d7a0(longlong *param_1,undefined8 param_2,char param_3) { longlong lVar1; int iVar2; int iVar3; longlong *plVar4; uint *puVar5; uint uVar6; uint uVar7; longlong *plVar8; ulonglong uVar9; longlong lVar10; if (param_3 == '\0') { uVar7 = *(int *)((longlong)param_1 + 0xc) - 1; if (-1 < (int)uVar7) { lVar10 = (longlong)(int)uVar7 * 8; do { lVar1 = *param_1; iVar2 = FUN_18048cbc0(param_2); if ((iVar2 == 0) && (uVar7 < *(uint *)((longlong)param_1 + 0xc))) { plVar4 = (longlong *)(lVar1 + lVar10); uVar6 = (*(uint *)((longlong)param_1 + 0xc) - uVar7) - 1; if (0 < (int)uVar6) { uVar9 = (ulonglong)uVar6; plVar8 = plVar4; do { plVar8 = plVar8 + 1; lVar1 = *plVar4; *plVar4 = *plVar8; plVar4 = plVar4 + 1; *plVar8 = lVar1; uVar9 = uVar9 - 1; } while (uVar9 != 0); } puVar5 = (uint *)(*plVar4 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar2 = *(int *)((longlong)param_1 + 0xc); iVar3 = 0; if (0 < iVar2 * 2) { iVar3 = iVar2 * 2; } if (iVar3 < (int)param_1[1]) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < (int)param_1[1]) { FUN_18048a300(param_1); } } } lVar10 = lVar10 + -8; uVar7 = uVar7 - 1; } while (-1 < (int)uVar7); } } else { uVar7 = *(int *)((longlong)param_1 + 0xc) - 1; if (-1 < (int)uVar7) { lVar10 = (longlong)(int)uVar7 << 3; do { iVar2 = FUN_18049bb30(*(undefined8 *)(lVar10 + *param_1),param_2); if ((iVar2 == 0) && (uVar7 < *(uint *)((longlong)param_1 + 0xc))) { plVar4 = (longlong *)(*param_1 + lVar10); uVar6 = (*(uint *)((longlong)param_1 + 0xc) - uVar7) - 1; if (0 < (int)uVar6) { uVar9 = (ulonglong)uVar6; plVar8 = plVar4; do { plVar8 = plVar8 + 1; lVar1 = *plVar4; *plVar4 = *plVar8; plVar4 = plVar4 + 1; *plVar8 = lVar1; uVar9 = uVar9 - 1; } while (uVar9 != 0); } puVar5 = (uint *)(*plVar4 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar2 = *(int *)((longlong)param_1 + 0xc); iVar3 = 0; if (0 < iVar2 * 2) { iVar3 = iVar2 * 2; } if (iVar3 < (int)param_1[1]) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < (int)param_1[1]) { FUN_18048a300(param_1); } } } lVar10 = lVar10 + -8; uVar7 = uVar7 - 1; } while (-1 < (int)uVar7); return; } } return; } ############ FUN_ 1812bb1d0 size=254 ############ undefined8 FUN_1812bb1d0(longlong param_1,longlong param_2) { int *piVar1; longlong lVar2; char cVar3; int iVar4; longlong *plVar5; longlong lVar6; longlong lVar7; bool bVar8; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); lVar7 = *(longlong *)(param_1 + 0x38); lVar6 = (longlong)*(int *)(param_1 + 0x44) * 0x60 + lVar7; if (lVar7 != lVar6) { lVar2 = *(longlong *)(param_2 + 0x30); plVar5 = (longlong *)(lVar7 + 0x30); do { if (((*plVar5 == lVar2) || (iVar4 = FUN_18048cbc0(*plVar5,lVar2), iVar4 == 0)) && ((int)plVar5[3] == *(int *)(param_2 + 0x48))) { FUN_1804d7800(lVar7,param_2); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); return 0; } lVar7 = lVar7 + 0x60; plVar5 = plVar5 + 0xc; } while (lVar7 != lVar6); } FUN_1804dc8f0(param_1 + 0x38); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); if (*(char *)(param_1 + 0x30) != '\0') { piVar1 = (int *)(*(longlong *)(param_1 + 0x10) + 0x18); LOCK(); bVar8 = *piVar1 == 0; if (bVar8) { *piVar1 = 1; } UNLOCK(); if ((bVar8) && (cVar3 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x10)), cVar3 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x18) = 0; UNLOCK(); } } return 1; } ############ FUN_ 1804e0ba0 size=1596 ############ longlong * FUN_1804e0ba0(longlong *param_1,longlong *param_2,undefined8 param_3) { int *piVar1; uint uVar2; int iVar3; longlong *plVar4; longlong *plVar5; longlong *plVar6; longlong *plVar7; longlong lVar8; longlong lVar9; uint *puVar10; longlong *plVar11; int iVar12; longlong *plVar13; longlong local_res8; longlong *local_res10; undefined8 local_res18; longlong local_res20; longlong local_f8; longlong local_f0; longlong local_e8; longlong local_e0; longlong local_d8; longlong local_d0; longlong local_c8; longlong local_c0; longlong local_b8; undefined4 local_b0; undefined1 local_ac; undefined4 local_a8; undefined4 local_a4; undefined1 local_a0; longlong local_98; longlong local_90 [3]; longlong local_78; longlong local_70; longlong local_68; longlong local_60; longlong local_58; local_90[1] = 0xfffffffffffffffe; if ((param_1 != param_2) && (plVar13 = param_1 + 0xc, local_res10 = param_2, local_res18 = param_3, plVar13 != param_2)) { do { local_f8 = *plVar13; if ((*(uint *)(local_f8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f8 + -0x10) = *(int *)(local_f8 + -0x10) + 1; UNLOCK(); } local_f0 = plVar13[1]; if ((*(uint *)(local_f0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f0 + -0x10) = *(int *)(local_f0 + -0x10) + 1; UNLOCK(); } local_e8 = plVar13[2]; if ((*(uint *)(local_e8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e8 + -0x10) = *(int *)(local_e8 + -0x10) + 1; UNLOCK(); } local_e0 = plVar13[3]; if ((*(uint *)(local_e0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e0 + -0x10) = *(int *)(local_e0 + -0x10) + 1; UNLOCK(); } local_d8 = plVar13[4]; if ((*(uint *)(local_d8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d8 + -0x10) = *(int *)(local_d8 + -0x10) + 1; UNLOCK(); } local_d0 = plVar13[5]; if ((*(uint *)(local_d0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d0 + -0x10) = *(int *)(local_d0 + -0x10) + 1; UNLOCK(); } local_c8 = plVar13[6]; if ((*(uint *)(local_c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c8 + -0x10) = *(int *)(local_c8 + -0x10) + 1; UNLOCK(); } local_c0 = plVar13[7]; lVar9 = plVar13[8]; local_b0 = (undefined4)plVar13[9]; local_ac = *(undefined1 *)((longlong)plVar13 + 0x4c); local_a8 = (undefined4)plVar13[10]; local_a4 = *(undefined4 *)((longlong)plVar13 + 0x54); local_a0 = (undefined1)plVar13[0xb]; iVar12 = (int)param_3; local_b8 = lVar9; if (iVar12 == 2) { local_78 = param_1[3]; lVar8 = local_e0; LAB_1804e0e37: iVar3 = FUN_181232ee0(lVar8); LAB_1804e0e3f: if (iVar3 == 0) { LAB_1804e0e44: local_70 = *param_1; iVar3 = FUN_181232ee0(local_f8); } } else { if (iVar12 == 3) { local_90[2] = param_1[4]; lVar8 = local_d8; goto LAB_1804e0e37; } if (iVar12 == 4) { if (local_e8 == param_1[2]) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(local_e8,param_1[2]); } goto LAB_1804e0e3f; } if (iVar12 == 5) { plVar4 = (longlong *)FUN_1804d79e0(&local_res20,param_1 + 6); plVar5 = (longlong *)FUN_1804d79e0(&local_res8,&local_c8); if (*plVar5 == *plVar4) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*plVar5,*plVar4); } puVar10 = (uint *)(local_res8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_res20 + -0x10); lVar9 = local_b8; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } goto LAB_1804e0e3f; } if (iVar12 != 6) goto LAB_1804e0e44; if (lVar9 < param_1[8]) { iVar3 = -1; } else { if (lVar9 <= param_1[8]) goto LAB_1804e0e44; iVar3 = 1; } } plVar5 = plVar13 + 2; plVar4 = plVar13; if (-1 < iVar3 * local_res18._4_4_) { do { plVar11 = plVar5 + -0xc; if (iVar12 == 2) { local_60 = plVar5[-0xb]; lVar9 = local_e0; LAB_1804e0fa6: iVar3 = FUN_181232ee0(lVar9); LAB_1804e0fad: if (iVar3 == 0) { LAB_1804e0fb1: local_58 = plVar5[-0xe]; iVar3 = FUN_181232ee0(local_f8); } } else { if (iVar12 == 3) { local_68 = plVar5[-10]; lVar9 = local_d8; goto LAB_1804e0fa6; } if (iVar12 == 4) { if (local_e8 == *plVar11) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(local_e8,*plVar11); } goto LAB_1804e0fad; } if (iVar12 == 5) { plVar6 = (longlong *)FUN_1804d79e0(local_90,plVar5 + -8); plVar7 = (longlong *)FUN_1804d79e0(&local_98,&local_c8); if (*plVar7 == *plVar6) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*plVar7,*plVar6); } puVar10 = (uint *)(local_98 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_90[0] + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } goto LAB_1804e0fad; } if (iVar12 != 6) goto LAB_1804e0fb1; if (lVar9 < plVar5[-6]) { iVar3 = -1; } else { if (lVar9 <= plVar5[-6]) goto LAB_1804e0fb1; iVar3 = 1; } } if (-1 < iVar3 * local_res18._4_4_) goto LAB_1804e10a4; if ((*(uint *)(plVar5[-0xe] + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(plVar5[-0xe] + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar9 = *plVar4; *plVar4 = plVar5[-0xe]; UNLOCK(); puVar10 = (uint *)(lVar9 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_181249460(plVar4 + 1,plVar5 + -0xd); FUN_181249460(plVar4 + 2,plVar11); FUN_181249460(plVar4 + 3,plVar5 + -0xb); FUN_181249460(plVar4 + 4,plVar5 + -10); FUN_181249460(plVar4 + 5,plVar5 + -9); FUN_181249460(plVar4 + 6,plVar5 + -8); plVar4[7] = plVar5[-7]; plVar4[8] = plVar5[-6]; *(int *)(plVar4 + 9) = (int)plVar5[-5]; *(undefined1 *)((longlong)plVar4 + 0x4c) = *(undefined1 *)((longlong)plVar5 + -0x24); *(int *)(plVar4 + 10) = (int)plVar5[-4]; *(undefined4 *)((longlong)plVar4 + 0x54) = *(undefined4 *)((longlong)plVar5 + -0x1c); *(char *)(plVar4 + 0xb) = (char)plVar5[-3]; plVar4 = plVar5 + -0xe; lVar9 = local_b8; plVar5 = plVar11; } while( true ); } FUN_1804e2f20(param_1,plVar13,plVar13 + 0xc); plVar4 = param_1; LAB_1804e10a4: FUN_1804d7800(plVar4,&local_f8); puVar10 = (uint *)(local_c8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_d0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_d8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_e0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_e8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_f0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_f8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } plVar13 = plVar13 + 0xc; param_2 = local_res10; } while (plVar13 != local_res10); } return param_2; } ############ FUN_ 1804e1ce0 size=1329 ############ void FUN_1804e1ce0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,longlong param_4, longlong param_5,undefined8 param_6,longlong param_7,undefined8 param_8) { uint uVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; undefined8 uVar6; undefined8 *puVar7; undefined8 *puVar8; uint *puVar9; undefined1 *puVar10; undefined8 *puVar11; longlong lVar12; longlong lVar13; longlong lVar14; longlong local_res10; longlong local_res18; longlong local_res20; longlong local_178; longlong local_170 [3]; undefined8 local_158; longlong local_150; undefined8 local_148; undefined8 local_140; undefined8 local_138; undefined8 local_130; longlong local_128; undefined8 local_120; longlong local_118; undefined8 local_110; undefined8 local_108; undefined1 local_f8 [96]; undefined1 local_98 [96]; if (param_2 == param_3) { return; } local_170[1] = 0xfffffffffffffffe; if (param_1 == param_2) { return; } plVar5 = param_1 + 2; do { local_res20 = param_4; if ((int)param_8 == 2) { local_150 = plVar5[1]; local_148 = param_2[3]; LAB_1804e1e7b: iVar2 = FUN_181232ee0(); LAB_1804e1e82: if (iVar2 == 0) { LAB_1804e1e86: local_140 = *param_1; local_138 = *param_2; iVar2 = FUN_181232ee0(); } } else { if ((int)param_8 == 3) { local_170[2] = plVar5[2]; local_158 = param_2[4]; goto LAB_1804e1e7b; } if ((int)param_8 == 4) { if (param_2[2] == *plVar5) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(param_2[2],*plVar5); } goto LAB_1804e1e82; } if ((int)param_8 == 5) { plVar3 = (longlong *)FUN_1804d79e0(&local_res18,plVar5 + 4); plVar4 = (longlong *)FUN_1804d79e0(&local_res10,param_2 + 6); if (*plVar4 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar4,*plVar3); } puVar9 = (uint *)(local_res10 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_res18 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } goto LAB_1804e1e82; } if ((int)param_8 != 6) goto LAB_1804e1e86; if ((longlong)param_2[8] < plVar5[6]) { iVar2 = -1; } else { if ((longlong)param_2[8] <= plVar5[6]) goto LAB_1804e1e86; iVar2 = 1; } } if (iVar2 * param_8._4_4_ < 0) { plVar5 = param_3 + 2; break; } param_1 = param_1 + 0xc; plVar5 = plVar5 + 0xc; param_4 = local_res20 + -1; if (param_1 == param_2) { return; } } while( true ); do { lVar12 = param_5; puVar11 = param_3; param_3 = puVar11 + -0xc; plVar3 = plVar5 + -0xc; if (param_2 == param_3) { FUN_1804d7090(local_98,param_2); FUN_1804e2f20(param_1); FUN_1804d7800(param_1,local_98); puVar10 = local_98; goto LAB_1804e21f7; } if ((int)param_8 == 2) { local_120 = param_2[-9]; local_118 = plVar5[-0xb]; LAB_1804e200b: iVar2 = FUN_181232ee0(); LAB_1804e2012: if (iVar2 == 0) { LAB_1804e2016: local_110 = param_2[-0xc]; local_108 = *param_3; iVar2 = FUN_181232ee0(); } } else { if ((int)param_8 == 3) { local_130 = param_2[-8]; local_128 = plVar5[-10]; goto LAB_1804e200b; } if ((int)param_8 == 4) { if (*plVar3 == param_2[-10]) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar3,param_2[-10]); } goto LAB_1804e2012; } if ((int)param_8 == 5) { plVar4 = (longlong *)FUN_1804d79e0(local_170,param_2 + -6); plVar5 = (longlong *)FUN_1804d79e0(&local_178,plVar5 + -8); if (*plVar5 == *plVar4) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar5,*plVar4); } puVar9 = (uint *)(local_178 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_170[0] + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } goto LAB_1804e2012; } if ((int)param_8 != 6) goto LAB_1804e2016; if (plVar5[-6] < (longlong)param_2[-4]) { iVar2 = -1; } else { if (plVar5[-6] <= (longlong)param_2[-4]) goto LAB_1804e2016; iVar2 = 1; } } param_5 = lVar12 + -1; plVar5 = plVar3; } while (-1 < iVar2 * param_8._4_4_); if (local_res20 == 1) { FUN_1804d7090(local_f8,param_1); uVar6 = FUN_1804e3e00(param_2,puVar11,param_1); FUN_1804d7800(uVar6,local_f8); puVar10 = local_f8; LAB_1804e21f7: FUN_1804d7190(puVar10); } else if ((lVar12 < local_res20) || (param_7 < local_res20)) { if (param_7 < lVar12) { if (lVar12 < local_res20) { lVar14 = lVar12 >> 1; puVar7 = param_2 + lVar14 * 0xc; puVar8 = (undefined8 *)FUN_1804e4320(param_1,param_2,puVar7,param_8); lVar13 = ((longlong)puVar8 - (longlong)param_1) / 0x60; } else { lVar13 = local_res20 >> 1; puVar8 = param_1 + lVar13 * 0xc; puVar7 = (undefined8 *)FUN_1804e4020(param_2,puVar11,puVar8); lVar14 = ((longlong)puVar7 - (longlong)param_2) / 0x60; } FUN_1804e4230(param_1,param_2,puVar11,local_res20,lVar12,param_6,param_7,param_8,puVar8,puVar7 ,lVar13,lVar14); } else { FUN_1804e3a60(param_1,param_2,puVar11,param_6,param_8); } } else { FUN_1804e37a0(param_1,param_2,puVar11,param_6,param_8); } return; } ############ FUN_ 1804e3300 size=655 ############ /* WARNING: Removing unreachable block (ram,0x0001804e3564) */ longlong FUN_1804e3300(longlong param_1,longlong param_2,longlong param_3,longlong param_4, undefined8 param_5) { uint uVar1; int iVar2; longlong *plVar3; longlong *plVar4; uint *puVar5; longlong *plVar6; longlong *plVar7; longlong lVar8; longlong local_res10; longlong local_res18; longlong local_res20; longlong local_48; plVar6 = (longlong *)(param_2 + 0x10); plVar7 = (longlong *)(param_1 + 0x10); lVar8 = param_2; local_res18 = param_3; local_48 = param_4; do { if (((int)param_5 == 2) || ((int)param_5 == 3)) { iVar2 = FUN_181232ee0(); LAB_1804e34a4: param_3 = local_res18; if (iVar2 == 0) { LAB_1804e34a8: iVar2 = FUN_181232ee0(); param_3 = local_res18; } } else { if ((int)param_5 == 4) { if (*plVar6 == *plVar7) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar6,*plVar7); } goto LAB_1804e34a4; } if ((int)param_5 == 5) { plVar3 = (longlong *)FUN_1804d79e0(&local_res20,plVar7 + 4); plVar4 = (longlong *)FUN_1804d79e0(&local_res10,plVar6 + 4); if (*plVar4 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar4,*plVar3); } puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } goto LAB_1804e34a4; } if ((int)param_5 != 6) goto LAB_1804e34a8; if (plVar6[6] < plVar7[6]) { iVar2 = -1; } else { if (plVar6[6] <= plVar7[6]) goto LAB_1804e34a8; iVar2 = 1; } } if (param_5._4_4_ * iVar2 < 0) { FUN_1804d7090(local_48,lVar8); local_48 = local_48 + 0x60; lVar8 = lVar8 + 0x60; plVar6 = plVar6 + 0xc; if (lVar8 == param_3) { for (; param_1 != param_2; param_1 = param_1 + 0x60) { FUN_1804d7090(local_48,param_1); local_48 = local_48 + 0x60; } return local_48; } } else { FUN_1804d7090(local_48,param_1); local_48 = local_48 + 0x60; param_1 = param_1 + 0x60; plVar7 = plVar7 + 0xc; if (param_1 == param_2) { if (lVar8 != param_3) { do { FUN_1804d7090(local_48,lVar8); local_48 = local_48 + 0x60; lVar8 = lVar8 + 0x60; } while (lVar8 != param_3); } return local_48; } } } while( true ); } ############ FUN_ 1804e3590 size=520 ############ void FUN_1804e3590(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,longlong param_4, undefined8 param_5) { uint uVar1; int iVar2; longlong *plVar3; longlong *plVar4; uint *puVar5; undefined8 *puVar6; undefined8 *puVar7; longlong lVar8; longlong *plVar9; undefined8 *puVar10; longlong *plVar11; longlong local_res10; undefined8 *local_res18; longlong local_78 [3]; longlong local_60; longlong local_58; longlong local_50; undefined8 local_48; undefined8 local_40; local_78[1] = 0xfffffffffffffffe; plVar9 = param_2 + 2; plVar11 = param_1 + 2; puVar10 = param_2; local_res18 = param_3; LAB_1804e35d1: do { puVar6 = puVar10; lVar8 = param_4; if ((int)param_5 == 2) { local_58 = plVar11[1]; local_50 = plVar9[1]; LAB_1804e36f6: iVar2 = FUN_181232ee0(); LAB_1804e36fd: if (iVar2 == 0) { LAB_1804e3701: local_48 = *param_1; local_40 = *puVar6; iVar2 = FUN_181232ee0(); } } else { if ((int)param_5 == 3) { local_78[2] = plVar11[2]; local_60 = plVar9[2]; goto LAB_1804e36f6; } if ((int)param_5 == 4) { if (*plVar9 == *plVar11) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar9,*plVar11); } goto LAB_1804e36fd; } if ((int)param_5 == 5) { plVar3 = (longlong *)FUN_1804d79e0(local_78,plVar11 + 4); plVar4 = (longlong *)FUN_1804d79e0(&local_res10,plVar9 + 4); if (*plVar4 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar4,*plVar3); } puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_78[0] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } goto LAB_1804e36fd; } if ((int)param_5 != 6) goto LAB_1804e3701; if (plVar9[6] < plVar11[6]) { iVar2 = -1; } else { if (plVar9[6] <= plVar11[6]) goto LAB_1804e3701; iVar2 = 1; } } if (-1 < param_5._4_4_ * iVar2) { FUN_1804d7800(lVar8,param_1); param_1 = param_1 + 0xc; plVar11 = plVar11 + 0xc; puVar7 = local_res18; param_4 = lVar8 + 0x60; puVar10 = puVar6; if (param_1 == param_2) goto LAB_1804e377c; goto LAB_1804e35d1; } FUN_1804d7800(lVar8,puVar6); puVar10 = puVar6 + 0xc; plVar9 = plVar9 + 0xc; puVar6 = param_1; puVar7 = param_2; param_4 = lVar8 + 0x60; if (puVar10 == local_res18) { LAB_1804e377c: FUN_1804e3e00(puVar6,puVar7,lVar8 + 0x60); return; } } while( true ); } ############ FUN_ 1804e37a0 size=700 ############ void FUN_1804e37a0(longlong param_1,longlong param_2,longlong param_3,longlong param_4, undefined8 param_5) { uint uVar1; int iVar2; longlong *plVar3; longlong *plVar4; undefined8 uVar5; uint *puVar6; longlong lVar7; longlong lVar8; longlong *plVar9; longlong *plVar10; longlong local_res8; longlong local_res10; longlong local_res18; longlong local_res20; local_res18 = param_3; lVar8 = param_4; for (lVar7 = param_1; lVar7 != param_2; lVar7 = lVar7 + 0x60) { FUN_1804d7090(lVar8); lVar8 = lVar8 + 0x60; } FUN_1804d7800(param_1,param_2); param_1 = param_1 + 0x60; lVar7 = param_2 + 0x60; plVar9 = (longlong *)(param_2 + 0x70); plVar10 = (longlong *)(param_4 + 0x10); local_res8 = param_4; LAB_1804e3820: do { if (((int)param_5 == 2) || ((int)param_5 == 3)) { iVar2 = FUN_181232ee0(); LAB_1804e396f: if (iVar2 == 0) { LAB_1804e397b: iVar2 = FUN_181232ee0(); } } else { if ((int)param_5 == 4) { if (*plVar9 == *plVar10) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar9,*plVar10); } goto LAB_1804e396f; } if ((int)param_5 == 5) { plVar3 = (longlong *)FUN_1804d79e0(&local_res20,plVar10 + 4); plVar4 = (longlong *)FUN_1804d79e0(&local_res10,plVar9 + 4); if (*plVar4 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar4,*plVar3); } puVar6 = (uint *)(local_res10 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_res20 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } goto LAB_1804e396f; } if ((int)param_5 != 6) goto LAB_1804e397b; if (plVar9[6] < plVar10[6]) { iVar2 = -1; } else { if (plVar9[6] <= plVar10[6]) goto LAB_1804e397b; iVar2 = 1; } } if (param_5._4_4_ * iVar2 < 0) { FUN_1804d7800(param_1,lVar7); param_1 = param_1 + 0x60; lVar7 = lVar7 + 0x60; plVar9 = plVar9 + 0xc; if (lVar7 == local_res18) { FUN_1804e3e00(local_res8,lVar8,param_1); goto joined_r0x0001804e3a26; } goto LAB_1804e3820; } FUN_1804d7800(param_1,local_res8); param_1 = param_1 + 0x60; local_res8 = local_res8 + 0x60; plVar10 = plVar10 + 0xc; if (local_res8 == lVar8 + -0x60) { uVar5 = FUN_1804e3e00(lVar7,local_res18,param_1); FUN_1804d7800(uVar5,lVar8 + -0x60); joined_r0x0001804e3a26: for (; param_4 != lVar8; param_4 = param_4 + 0x60) { FUN_1804d7190(param_4); } return; } } while( true ); } ############ FUN_ 1804e3a60 size=742 ############ void FUN_1804e3a60(longlong param_1,longlong param_2,longlong param_3,longlong param_4, undefined8 param_5) { uint uVar1; int iVar2; longlong *plVar3; longlong *plVar4; uint *puVar5; longlong lVar6; longlong lVar7; longlong *plVar8; longlong *plVar9; longlong lVar10; longlong lVar11; longlong local_res10; longlong local_res18; longlong local_res20; lVar11 = param_4; for (lVar6 = param_2; lVar6 != param_3; lVar6 = lVar6 + 0x60) { FUN_1804d7090(lVar11); lVar11 = lVar11 + 0x60; } FUN_1804d7800(param_3 + -0x60,param_2 + -0x60); local_res10 = lVar11 + -0x60; lVar10 = param_2 + -0xc0; plVar9 = (longlong *)(lVar11 + -0x50); plVar8 = (longlong *)(param_2 + -0xb0); lVar6 = param_3 + -0x60; LAB_1804e3ae2: do { lVar7 = lVar6; if (((int)param_5 == 2) || ((int)param_5 == 3)) { iVar2 = FUN_181232ee0(); LAB_1804e3c31: if (iVar2 == 0) { LAB_1804e3c3d: iVar2 = FUN_181232ee0(); } } else { if ((int)param_5 == 4) { if (*plVar9 == *plVar8) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar9,*plVar8); } goto LAB_1804e3c31; } if ((int)param_5 == 5) { plVar3 = (longlong *)FUN_1804d79e0(&local_res20,plVar8 + 4); plVar4 = (longlong *)FUN_1804d79e0(&local_res18,plVar9 + 4); if (*plVar4 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar4,*plVar3); } puVar5 = (uint *)(local_res18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } goto LAB_1804e3c31; } if ((int)param_5 != 6) goto LAB_1804e3c3d; if (plVar9[6] < plVar8[6]) { iVar2 = -1; } else { if (plVar9[6] <= plVar8[6]) goto LAB_1804e3c3d; iVar2 = 1; } } lVar6 = lVar7 + -0x60; if (param_5._4_4_ * iVar2 < 0) { FUN_1804d7800(lVar6,lVar10); if (param_1 == lVar10) { FUN_1804d7800(lVar7 + -0xc0,local_res10); FUN_1804e2f20(param_4,local_res10,lVar7 + -0xc0); goto joined_r0x0001804e3cf9; } lVar10 = lVar10 + -0x60; plVar8 = plVar8 + -0xc; goto LAB_1804e3ae2; } FUN_1804d7800(lVar6,local_res10); local_res10 = local_res10 + -0x60; plVar9 = plVar9 + -0xc; if (param_4 == local_res10) { FUN_1804d7800(lVar7 + -0xc0,lVar10); FUN_1804e2f20(param_1,lVar10,lVar7 + -0xc0); FUN_1804d7800(param_1,param_4); joined_r0x0001804e3cf9: for (; param_4 != lVar11; param_4 = param_4 + 0x60) { FUN_1804d7190(param_4); } return; } } while( true ); } ############ FUN_ 1804e4020 size=512 ############ longlong FUN_1804e4020(longlong param_1,longlong param_2,longlong param_3,undefined8 param_4) { uint uVar1; int iVar2; longlong *plVar3; longlong *plVar4; uint *puVar5; longlong lVar6; longlong lVar7; longlong lVar8; longlong local_res8; longlong local_res10; int iStackX_24; lVar6 = (param_2 - param_1) / 6 + (param_2 - param_1 >> 0x3f); lVar6 = (lVar6 >> 4) - (lVar6 >> 0x3f); if (0 < lVar6) { iStackX_24 = (int)((ulonglong)param_4 >> 0x20); do { lVar8 = lVar6 >> 1; lVar7 = lVar8 * 0x60 + param_1; iVar2 = (int)param_4; if ((iVar2 == 2) || (iVar2 == 3)) { iVar2 = FUN_181232ee0(); LAB_1804e41c6: if (iVar2 == 0) { LAB_1804e41ca: iVar2 = FUN_181232ee0(); } } else { if (iVar2 == 4) { if (*(longlong *)(lVar7 + 0x10) == *(longlong *)(param_3 + 0x10)) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*(undefined8 *)(lVar7 + 0x10),*(longlong *)(param_3 + 0x10)); } goto LAB_1804e41c6; } if (iVar2 == 5) { plVar3 = (longlong *)FUN_1804d79e0(&local_res10,param_3 + 0x30); plVar4 = (longlong *)FUN_1804d79e0(&local_res8,lVar7 + 0x30); if (*plVar4 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar4,*plVar3); } puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } goto LAB_1804e41c6; } if (iVar2 != 6) goto LAB_1804e41ca; if (*(longlong *)(lVar7 + 0x40) < *(longlong *)(param_3 + 0x40)) { iVar2 = -1; } else { if (*(longlong *)(lVar7 + 0x40) <= *(longlong *)(param_3 + 0x40)) goto LAB_1804e41ca; iVar2 = 1; } } if (iVar2 * iStackX_24 < 0) { param_1 = lVar7 + 0x60; lVar8 = lVar6 + (-1 - lVar8); } lVar6 = lVar8; } while (0 < lVar8); } return param_1; } ############ FUN_ 1804e4320 size=512 ############ longlong FUN_1804e4320(longlong param_1,longlong param_2,longlong param_3,undefined8 param_4) { uint uVar1; int iVar2; longlong *plVar3; longlong *plVar4; uint *puVar5; longlong lVar6; longlong lVar7; longlong lVar8; longlong local_res8; longlong local_res10; int iStackX_24; lVar6 = (param_2 - param_1) / 6 + (param_2 - param_1 >> 0x3f); lVar6 = (lVar6 >> 4) - (lVar6 >> 0x3f); if (0 < lVar6) { iStackX_24 = (int)((ulonglong)param_4 >> 0x20); do { lVar8 = lVar6 >> 1; lVar7 = lVar8 * 0x60 + param_1; iVar2 = (int)param_4; if ((iVar2 == 2) || (iVar2 == 3)) { iVar2 = FUN_181232ee0(); LAB_1804e44c6: if (iVar2 == 0) { LAB_1804e44ca: iVar2 = FUN_181232ee0(); } } else { if (iVar2 == 4) { if (*(longlong *)(param_3 + 0x10) == *(longlong *)(lVar7 + 0x10)) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*(undefined8 *)(param_3 + 0x10),*(longlong *)(lVar7 + 0x10)); } goto LAB_1804e44c6; } if (iVar2 == 5) { plVar3 = (longlong *)FUN_1804d79e0(&local_res10,lVar7 + 0x30); plVar4 = (longlong *)FUN_1804d79e0(&local_res8,param_3 + 0x30); if (*plVar4 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar4,*plVar3); } puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } goto LAB_1804e44c6; } if (iVar2 != 6) goto LAB_1804e44ca; if (*(longlong *)(param_3 + 0x40) < *(longlong *)(lVar7 + 0x40)) { iVar2 = -1; } else { if (*(longlong *)(param_3 + 0x40) <= *(longlong *)(lVar7 + 0x40)) goto LAB_1804e44ca; iVar2 = 1; } } if (-1 < iVar2 * iStackX_24) { param_1 = lVar7 + 0x60; lVar8 = lVar6 + (-1 - lVar8); } lVar6 = lVar8; } while (0 < lVar8); } return param_1; } ############ FUN_ 1804e1340 size=401 ############ undefined8 * FUN_1804e1340(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4, void *param_5) { char cVar1; undefined8 uVar2; undefined8 *puVar3; undefined8 *puVar4; int iVar5; undefined8 *puVar6; undefined8 *puVar7; bool bVar8; undefined1 local_res8 [8]; puVar6 = *(undefined8 **)(param_1 + 8); bVar8 = true; if (*(char *)((longlong)puVar6[1] + 0x19) == '\0') { uVar2 = *param_4; puVar7 = (undefined8 *)puVar6[1]; do { puVar6 = puVar7; iVar5 = FUN_18048cbc0(uVar2,puVar6[4]); bVar8 = iVar5 < 0; if (bVar8) { puVar7 = (undefined8 *)*puVar6; } else { puVar7 = (undefined8 *)puVar6[2]; } } while (*(char *)((longlong)puVar7 + 0x19) == '\0'); } puVar7 = puVar6; if (bVar8 != false) { if (puVar6 == (undefined8 *)**(undefined8 **)(param_1 + 8)) { puVar6 = (undefined8 *)FUN_1804e2370(param_1,local_res8,1,puVar6); *param_2 = *puVar6; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar7 = (undefined8 *)*puVar6; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar7[2] + 0x19); puVar4 = (undefined8 *)puVar7[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar4[2] + 0x19); puVar7 = puVar4; puVar4 = (undefined8 *)puVar4[2]; } } else { cVar1 = *(char *)((longlong)puVar6[1] + 0x19); puVar4 = (undefined8 *)puVar6[1]; puVar7 = puVar6; while ((puVar3 = puVar4, cVar1 == '\0' && (puVar7 == (undefined8 *)*puVar3))) { cVar1 = *(char *)((longlong)puVar3[1] + 0x19); puVar4 = (undefined8 *)puVar3[1]; puVar7 = puVar3; } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar7 = puVar3; } } } else { puVar7 = (undefined8 *)puVar6[2]; } } iVar5 = FUN_18048cbc0(puVar7[4],*param_4); if (iVar5 < 0) { puVar6 = (undefined8 *)FUN_1804e2370(param_1,local_res8,bVar8,puVar6); *param_2 = *puVar6; *(undefined1 *)(param_2 + 1) = 1; return param_2; } puVar6 = *(undefined8 **)((longlong)param_5 + 0x28); if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6,1); } /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 1812baf10 size=698 ############ ulonglong FUN_1812baf10(longlong param_1,longlong param_2) { int *_Memory; uint uVar1; bool bVar2; int iVar3; int iVar4; uint uVar5; uint *puVar6; longlong lVar7; ulonglong uVar8; longlong lVar9; longlong local_88; longlong local_80; longlong local_78; longlong local_70; longlong local_68; longlong local_60; longlong local_58; int local_40; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); uVar1 = *(uint *)(param_1 + 0x44); do { uVar1 = uVar1 - 1; if ((int)uVar1 < 0) { LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); uVar8 = (ulonglong)*(byte *)(param_1 + 0x30); if (*(byte *)(param_1 + 0x30) != 0) { uVar8 = 0; puVar6 = (uint *)(*(longlong *)(param_1 + 0x10) + 0x18); LOCK(); uVar1 = *puVar6; if (uVar1 == 0) { *puVar6 = 1; } else { uVar8 = (ulonglong)uVar1; } UNLOCK(); if ((uVar1 == 0) && (uVar8 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x10)), (char)uVar8 == '\0')) { uVar8 = *(ulonglong *)(param_1 + 0x10); LOCK(); *(undefined4 *)(uVar8 + 0x18) = 0; UNLOCK(); } } return uVar8; } FUN_1804d7090(&local_88,*(longlong *)(param_1 + 0x38) + (longlong)(int)uVar1 * 0x60); lVar7 = local_58; if (((local_58 == *(longlong *)(param_2 + 0x30)) || (iVar3 = FUN_18048cbc0(local_58,*(undefined8 *)(param_2 + 0x30)), iVar3 == 0)) && (local_40 == *(int *)(param_2 + 0x48))) { bVar2 = true; } else { bVar2 = false; } _Memory = (int *)(lVar7 + -0x10); if ((*(uint *)(lVar7 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar6 = (uint *)(local_60 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_68 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_70 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_78 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_80 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_88 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if ((bVar2) && (uVar1 < *(uint *)(param_1 + 0x44))) { lVar7 = *(longlong *)(param_1 + 0x38) + (longlong)(int)uVar1 * 0x60; uVar5 = (*(uint *)(param_1 + 0x44) - uVar1) - 1; if (0 < (int)uVar5) { uVar8 = (ulonglong)uVar5; lVar9 = lVar7; do { lVar9 = lVar9 + 0x60; FUN_1804d7800(lVar7,lVar9); lVar7 = lVar7 + 0x60; uVar8 = uVar8 - 1; } while (uVar8 != 0); } FUN_1804d7190(lVar7); *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + -1; iVar3 = *(int *)(param_1 + 0x44); iVar4 = 0; if (0 < iVar3 * 2) { iVar4 = iVar3 * 2; } if (iVar4 < *(int *)(param_1 + 0x40)) { if (iVar3 < 0) { iVar3 = 0; } if (iVar3 < *(int *)(param_1 + 0x40)) { FUN_1804dcaa0(param_1 + 0x38); } } } } while( true ); } ############ FUN_ 1812bb3c0 size=434 ############ void FUN_1812bb3c0(longlong param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { undefined8 uVar1; int iVar2; longlong *plVar3; uint *_Memory; uint uVar4; int iVar5; void *pvVar6; void *pvVar7; longlong local_res8; longlong *local_res10; undefined4 uVar8; undefined8 uVar9; void *local_48; undefined8 local_40; uVar9 = 0xfffffffffffffffe; *param_2 = 0; param_2[1] = 0; uVar8 = 1; local_res10 = param_2; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); local_48 = (void *)0x0; local_40 = 0; iVar2 = *(int *)(param_1 + 0x44); uVar1 = *(undefined8 *)(param_1 + 0x38); iVar5 = 0; if (0 < iVar2) { FUN_1804dcaa0(&local_48,iVar2 + 8 + iVar2 / 2 & 0xfffffff8); iVar5 = local_40._4_4_; } pvVar7 = local_48; FUN_1804e14e0(&local_48,uVar1,iVar2,param_4,uVar8,uVar9); local_40 = CONCAT44(iVar5 + iVar2,(undefined4)local_40); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); pvVar6 = (void *)((longlong)(iVar5 + iVar2) * 0x60 + (longlong)pvVar7); do { if (pvVar7 == pvVar6) { FUN_1804dca40(&local_48); /* WARNING: Subroutine does not return */ free(local_48); } plVar3 = (longlong *)(**(code **)(*param_3 + 0x10))(param_3,&local_res8); if (*(longlong *)((longlong)pvVar7 + 0x10) == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*(undefined8 *)((longlong)pvVar7 + 0x10),*plVar3); } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (iVar2 == 0) { iVar5 = *(int *)((longlong)param_2 + 0xc); iVar2 = iVar5 + 1; if ((int)*(uint *)(param_2 + 1) < iVar2) { if (iVar2 < 0) { iVar2 = iVar5 + 2; } uVar4 = iVar5 + 9 + (iVar2 >> 1) & 0xfffffff8; if (*(uint *)(param_2 + 1) != uVar4) { if ((int)uVar4 < 1) { /* WARNING: Subroutine does not return */ free((void *)*param_2); } FUN_1804dff20(param_2,uVar4); } *(uint *)(param_2 + 1) = uVar4; } iVar2 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar2 + 1; FUN_1804d7090((longlong)iVar2 * 0x60 + *param_2,pvVar7); } pvVar7 = (void *)((longlong)pvVar7 + 0x60); } while( true ); } ############ FUN_ 1804e4530 size=302 ############ ulonglong FUN_1804e4530(longlong *param_1,undefined8 *param_2) { uint *_Memory; int *piVar1; longlong *plVar2; int iVar3; uint uVar4; longlong *plVar5; longlong local_res8; FUN_181248c30(param_2,&local_res8); plVar5 = (longlong *)*param_1; plVar2 = plVar5 + *(int *)((longlong)param_1 + 0xc); while( true ) { if (plVar5 == plVar2) { plVar5 = (longlong *)param_1[2]; plVar2 = plVar5 + *(int *)((longlong)param_1 + 0x1c); while( true ) { if (plVar5 == plVar2) { iVar3 = atoi((char *)*param_2); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return (ulonglong)(iVar3 != 0); } if ((local_res8 == *plVar5) || (iVar3 = FUN_18048cbc0(local_res8,*plVar5), iVar3 == 0)) break; plVar5 = plVar5 + 1; } uVar4 = *(uint *)(local_res8 + -0x10); piVar1 = (int *)(local_res8 + -0x10); if ((uVar4 & 0x30000000) == 0) { LOCK(); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); uVar4 = iVar3 - 1; if (uVar4 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(piVar1); } } return (ulonglong)uVar4 & 0xffffffffffffff00; } if ((local_res8 == *plVar5) || (iVar3 = FUN_18048cbc0(local_res8,*plVar5), iVar3 == 0)) break; plVar5 = plVar5 + 1; } uVar4 = *(uint *)(local_res8 + -0x10); piVar1 = (int *)(local_res8 + -0x10); if ((uVar4 & 0x30000000) == 0) { LOCK(); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); uVar4 = iVar3 - 1; if (uVar4 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(piVar1); } } return CONCAT71((uint7)(uint3)(uVar4 >> 8),1); } ############ FUN_ 1804eb420 size=357 ############ void FUN_1804eb420(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; int iVar3; longlong *plVar4; undefined8 *puVar5; uint *puVar6; longlong local_res8; undefined8 local_res10; undefined8 local_res18; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; for (puVar5 = *(undefined8 **)(*param_2 + 0x10); puVar5 != (undefined8 *)0x0; puVar5 = (undefined8 *)*puVar5) { local_res10 = puVar5[1]; iVar3 = FUN_18048cbc0(local_res10,&DAT_18249ef04,param_3,param_4,uVar7); if (iVar3 == 0) { plVar4 = puVar5 + 2; goto LAB_1804eb47a; } } plVar4 = (longlong *)FUN_181220d40(); LAB_1804eb47a: local_res8 = *plVar4; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } (**(code **)(*param_1 + 0x50))(param_1,&local_res8); if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } LOCK(); lVar2 = param_1[2]; param_1[2] = local_res8; UNLOCK(); puVar6 = (uint *)(lVar2 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar5 = *(undefined8 **)(*param_2 + 0x10); do { if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)FUN_181220d40(); LAB_1804eb526: iVar3 = FUN_18049bb30(*puVar5,&DAT_18249ef08); if (iVar3 == 0) { (**(code **)(*param_1 + 0x58))(param_1,0); } puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return; } local_res18 = puVar5[1]; iVar3 = FUN_18048cbc0(local_res18,"display"); if (iVar3 == 0) { puVar5 = puVar5 + 2; goto LAB_1804eb526; } puVar5 = (undefined8 *)*puVar5; } while( true ); } ############ FUN_ 1804eba90 size=945 ############ undefined1 FUN_1804eba90(longlong param_1,longlong *param_2,undefined8 param_3) { undefined4 uVar1; uint uVar2; undefined1 uVar3; int iVar4; undefined8 *puVar5; uint *puVar6; longlong lVar7; undefined8 uVar8; undefined4 extraout_XMM0_Da; undefined4 extraout_XMM0_Da_00; float fVar9; undefined4 extraout_XMM0_Da_01; undefined4 extraout_XMM0_Da_02; float fVar10; undefined4 extraout_XMM0_Da_03; undefined4 extraout_XMM0_Da_04; undefined4 uVar11; char *local_res10 [2]; longlong local_res20; longlong local_78; undefined8 local_70; float local_68; float fStack_64; float fStack_60; float fStack_5c; FUN_181230da0(*param_2 + 0x18,&local_res20,&DAT_1821db524); lVar7 = local_res20; iVar4 = FUN_18048cbc0(local_res20,&DAT_18249ef5c); if (iVar4 == 0) { FUN_1804ec010(param_1,param_2,param_3); uVar3 = 1; local_res20 = lVar7; } else { iVar4 = FUN_18048cbc0(lVar7,&DAT_18249ef54); if (iVar4 == 0) { FUN_1804ec160(param_1,param_2,param_3); uVar3 = 1; local_res20 = lVar7; } else { iVar4 = FUN_18048cbc0(lVar7,"circle"); if (iVar4 == 0) { uVar1 = *(undefined4 *)(param_1 + 0x20); for (puVar5 = *(undefined8 **)(*param_2 + 0x10); puVar5 != (undefined8 *)0x0; puVar5 = (undefined8 *)*puVar5) { iVar4 = FUN_18048cbc0(puVar5[1],&DAT_18249efc0); if (iVar4 == 0) { puVar5 = puVar5 + 2; uVar11 = extraout_XMM0_Da; goto LAB_1804ebb9a; } } puVar5 = (undefined8 *)FUN_181220d40(); uVar11 = extraout_XMM0_Da_00; LAB_1804ebb9a: fVar9 = (float)FUN_1804f0b80(uVar11,puVar5,uVar1); uVar1 = *(undefined4 *)(param_1 + 0x24); for (puVar5 = *(undefined8 **)(*param_2 + 0x10); puVar5 != (undefined8 *)0x0; puVar5 = (undefined8 *)*puVar5) { iVar4 = FUN_18048cbc0(puVar5[1],&DAT_18249efbc); if (iVar4 == 0) { puVar5 = puVar5 + 2; uVar11 = extraout_XMM0_Da_01; goto LAB_1804ebbea; } } puVar5 = (undefined8 *)FUN_181220d40(); uVar11 = extraout_XMM0_Da_02; LAB_1804ebbea: fVar10 = (float)FUN_1804f0b80(uVar11,puVar5,uVar1); uVar1 = *(undefined4 *)(param_1 + 0x20); for (puVar5 = *(undefined8 **)(*param_2 + 0x10); puVar5 != (undefined8 *)0x0; puVar5 = (undefined8 *)*puVar5) { iVar4 = FUN_18048cbc0(puVar5[1],&DAT_18249efc8); if (iVar4 == 0) { puVar5 = puVar5 + 2; uVar11 = extraout_XMM0_Da_03; goto LAB_1804ebc36; } } puVar5 = (undefined8 *)FUN_181220d40(); uVar11 = extraout_XMM0_Da_04; LAB_1804ebc36: fStack_60 = (float)FUN_1804f0b80(uVar11,puVar5,uVar1); local_68 = fVar9 - fStack_60; fStack_64 = fVar10 - fStack_60; fStack_60 = fStack_60 * DAT_1824c41e0; fStack_5c = fStack_60; FUN_18129d1e0(param_3,&local_68); uVar3 = 1; local_res20 = lVar7; } else { iVar4 = FUN_18048cbc0(lVar7,"ellipse"); if (iVar4 == 0) { FUN_1804ec650(param_1,param_2,param_3); uVar3 = 1; local_res20 = lVar7; } else { iVar4 = FUN_18048cbc0(lVar7,&DAT_18249ef84); if (iVar4 == 0) { FUN_1804ec850(param_1,param_2,param_3); uVar3 = 1; local_res20 = lVar7; } else { iVar4 = FUN_18048cbc0(lVar7,"polyline"); if (iVar4 == 0) { uVar8 = 1; } else { iVar4 = FUN_18048cbc0(lVar7,"polygon"); if (iVar4 != 0) { iVar4 = FUN_18048cbc0(lVar7,&DAT_18249ef3c); if (iVar4 == 0) { FUN_1804ecd50(local_res10,param_2); if (*local_res10[0] != '\0') { local_78 = param_1; local_70 = param_3; uVar3 = FUN_18051f150(param_1 + 8,local_res10,&local_78); puVar6 = (uint *)(local_res10[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } goto LAB_1804ebdf6; } puVar6 = (uint *)(local_res10[0] + -0x10); lVar7 = local_res20; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } uVar3 = 0; local_res20 = lVar7; goto LAB_1804ebdf6; } uVar8 = 0; } FUN_1804eca20(param_1,param_2,uVar8,param_3); uVar3 = 1; local_res20 = lVar7; } } } } } LAB_1804ebdf6: puVar6 = (uint *)(local_res20 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return uVar3; } ############ FUN_ 1804ec010 size=332 ############ void FUN_1804ec010(undefined8 param_1,longlong *param_2,longlong param_3) { uint uVar1; int iVar2; undefined8 *puVar3; undefined8 uVar4; uint *puVar5; undefined1 *local_res10 [2]; longlong local_res20; longlong local_38; undefined8 local_30; undefined8 local_28; local_30 = 0xfffffffffffffffe; puVar3 = *(undefined8 **)(*param_2 + 0x10); do { if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_181220d40(); LAB_1804ec06a: FUN_1804ea1e0(param_1,param_3,puVar3); local_res10[0] = &DAT_1821dbf98; uVar4 = FUN_1804f1300(param_1,&local_38,param_2,"fill-rule",local_res10); puVar3 = (undefined8 *)FUN_181248e40(uVar4,&local_res20); iVar2 = FUN_18049bb30(*puVar3,"evenodd"); puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_38 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res10[0] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } if (iVar2 == 0) { *(undefined1 *)(param_3 + 0x20) = 0; } return; } local_28 = puVar3[1]; iVar2 = FUN_18048cbc0(local_28,&DAT_18249ef8c); if (iVar2 == 0) { puVar3 = puVar3 + 2; goto LAB_1804ec06a; } puVar3 = (undefined8 *)*puVar3; } while( true ); } ############ FUN_ 1804ec160 size=1258 ############ void FUN_1804ec160(longlong param_1,longlong *param_2,undefined8 param_3) { int iVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; undefined4 extraout_XMM0_Da; undefined4 extraout_XMM0_Da_00; undefined4 uVar5; undefined4 extraout_XMM0_Da_01; undefined4 extraout_XMM0_Da_02; undefined4 uVar6; undefined4 extraout_XMM0_Da_03; undefined4 extraout_XMM0_Da_04; undefined4 uVar7; undefined4 extraout_XMM0_Da_05; undefined4 extraout_XMM0_Da_06; undefined4 uVar8; undefined4 extraout_XMM0_Da_07; undefined4 extraout_XMM0_Da_08; undefined4 extraout_XMM0_Da_09; undefined4 extraout_XMM0_Da_10; undefined4 extraout_XMM0_Da_11; undefined4 extraout_XMM0_Da_12; undefined4 extraout_XMM0_Da_13; undefined4 extraout_XMM0_Da_14; undefined4 uVar9; undefined4 extraout_XMM0_Da_15; undefined4 extraout_XMM0_Da_16; undefined4 uVar10; undefined4 extraout_XMM0_Da_17; undefined4 extraout_XMM0_Da_18; undefined4 uVar11; puVar2 = *(undefined8 **)(*param_2 + 0x10); for (puVar3 = puVar2; puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { iVar1 = FUN_18048cbc0(puVar3[1],&DAT_18249efb0); if (iVar1 == 0) goto LAB_1804ec1be; } puVar3 = (undefined8 *)0x0; LAB_1804ec1be: for (puVar4 = puVar2; puVar4 != (undefined8 *)0x0; puVar4 = (undefined8 *)*puVar4) { iVar1 = FUN_18048cbc0(puVar4[1],&DAT_18249efac); if (iVar1 == 0) goto LAB_1804ec1ee; } puVar4 = (undefined8 *)0x0; LAB_1804ec1ee: if ((puVar3 != (undefined8 *)0x0) || (puVar4 != (undefined8 *)0x0)) { uVar8 = *(undefined4 *)(param_1 + 0x20); for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],&DAT_18249efb0); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar5 = extraout_XMM0_Da_07; goto LAB_1804ec3e1; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar5 = extraout_XMM0_Da_08; LAB_1804ec3e1: uVar5 = FUN_1804f0b80(uVar5,puVar2,uVar8); uVar8 = *(undefined4 *)(param_1 + 0x24); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],&DAT_18249efac); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar6 = extraout_XMM0_Da_09; goto LAB_1804ec431; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar6 = extraout_XMM0_Da_10; LAB_1804ec431: uVar8 = FUN_1804f0b80(uVar6,puVar2,uVar8); uVar6 = uVar8; if ((puVar3 != (undefined8 *)0x0) && (uVar6 = uVar5, puVar4 == (undefined8 *)0x0)) { uVar8 = uVar5; } uVar5 = *(undefined4 *)(param_1 + 0x24); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],"height"); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar7 = extraout_XMM0_Da_11; goto LAB_1804ec4a5; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar7 = extraout_XMM0_Da_12; LAB_1804ec4a5: uVar7 = FUN_1804f0b80(uVar7,puVar2,uVar5); uVar5 = *(undefined4 *)(param_1 + 0x20); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],"width"); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar9 = extraout_XMM0_Da_13; goto LAB_1804ec4f5; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar9 = extraout_XMM0_Da_14; LAB_1804ec4f5: uVar9 = FUN_1804f0b80(uVar9,puVar2,uVar5); uVar5 = *(undefined4 *)(param_1 + 0x24); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],&DAT_18249efb8); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar10 = extraout_XMM0_Da_15; goto LAB_1804ec545; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar10 = extraout_XMM0_Da_16; LAB_1804ec545: uVar10 = FUN_1804f0b80(uVar10,puVar2,uVar5); uVar5 = *(undefined4 *)(param_1 + 0x20); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],&DAT_18249efb4); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar11 = extraout_XMM0_Da_17; goto LAB_1804ec595; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar11 = extraout_XMM0_Da_18; LAB_1804ec595: uVar5 = FUN_1804f0b80(uVar11,puVar2,uVar5); FUN_18129d5a0(param_3,uVar5,uVar10,uVar9,uVar7,uVar6,uVar8,1,1,1,1); } else { uVar8 = *(undefined4 *)(param_1 + 0x24); for (; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],"height"); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar5 = extraout_XMM0_Da; goto LAB_1804ec265; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar5 = extraout_XMM0_Da_00; LAB_1804ec265: uVar5 = FUN_1804f0b80(uVar5,puVar2,uVar8); uVar8 = *(undefined4 *)(param_1 + 0x20); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],"width"); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar6 = extraout_XMM0_Da_01; goto LAB_1804ec2b5; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar6 = extraout_XMM0_Da_02; LAB_1804ec2b5: uVar6 = FUN_1804f0b80(uVar6,puVar2,uVar8); uVar8 = *(undefined4 *)(param_1 + 0x24); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],&DAT_18249efb8); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar7 = extraout_XMM0_Da_03; goto LAB_1804ec305; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar7 = extraout_XMM0_Da_04; LAB_1804ec305: uVar7 = FUN_1804f0b80(uVar7,puVar2,uVar8); uVar8 = *(undefined4 *)(param_1 + 0x20); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],&DAT_18249efb4); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar9 = extraout_XMM0_Da_05; goto LAB_1804ec351; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar9 = extraout_XMM0_Da_06; LAB_1804ec351: uVar8 = FUN_1804f0b80(uVar9,puVar2,uVar8); FUN_18129d850(param_3,uVar8,uVar7,uVar6,uVar5); } return; } ############ FUN_ 1804ec650 size=509 ############ void FUN_1804ec650(longlong param_1,longlong *param_2,undefined8 param_3) { undefined4 uVar1; int iVar2; undefined8 *puVar3; undefined4 extraout_XMM0_Da; undefined4 extraout_XMM0_Da_00; float fVar4; undefined4 extraout_XMM0_Da_01; undefined4 extraout_XMM0_Da_02; float fVar5; undefined4 extraout_XMM0_Da_03; undefined4 extraout_XMM0_Da_04; float fVar6; undefined4 extraout_XMM0_Da_05; undefined4 extraout_XMM0_Da_06; undefined4 uVar7; float local_58; float fStack_54; float fStack_50; float fStack_4c; uVar1 = *(undefined4 *)(param_1 + 0x20); for (puVar3 = *(undefined8 **)(*param_2 + 0x10); puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { iVar2 = FUN_18048cbc0(puVar3[1],&DAT_18249efc0); if (iVar2 == 0) { puVar3 = puVar3 + 2; uVar7 = extraout_XMM0_Da; goto LAB_1804ec6b5; } } puVar3 = (undefined8 *)FUN_181220d40(); uVar7 = extraout_XMM0_Da_00; LAB_1804ec6b5: fVar4 = (float)FUN_1804f0b80(uVar7,puVar3,uVar1); uVar1 = *(undefined4 *)(param_1 + 0x24); for (puVar3 = *(undefined8 **)(*param_2 + 0x10); puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { iVar2 = FUN_18048cbc0(puVar3[1],&DAT_18249efbc); if (iVar2 == 0) { puVar3 = puVar3 + 2; uVar7 = extraout_XMM0_Da_01; goto LAB_1804ec705; } } puVar3 = (undefined8 *)FUN_181220d40(); uVar7 = extraout_XMM0_Da_02; LAB_1804ec705: fVar5 = (float)FUN_1804f0b80(uVar7,puVar3,uVar1); uVar1 = *(undefined4 *)(param_1 + 0x20); for (puVar3 = *(undefined8 **)(*param_2 + 0x10); puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { iVar2 = FUN_18048cbc0(puVar3[1],&DAT_18249efb0); if (iVar2 == 0) { puVar3 = puVar3 + 2; uVar7 = extraout_XMM0_Da_03; goto LAB_1804ec755; } } puVar3 = (undefined8 *)FUN_181220d40(); uVar7 = extraout_XMM0_Da_04; LAB_1804ec755: fVar6 = (float)FUN_1804f0b80(uVar7,puVar3,uVar1); uVar1 = *(undefined4 *)(param_1 + 0x24); puVar3 = *(undefined8 **)(*param_2 + 0x10); do { if (puVar3 == (undefined8 *)0x0) { puVar3 = (undefined8 *)FUN_181220d40(); uVar7 = extraout_XMM0_Da_06; LAB_1804ec7a5: fStack_4c = (float)FUN_1804f0b80(uVar7,puVar3,uVar1); local_58 = fVar4 - fVar6; fStack_50 = fVar6 * DAT_1824c41e0; fStack_54 = fVar5 - fStack_4c; fStack_4c = fStack_4c * DAT_1824c41e0; FUN_18129d1e0(param_3,&local_58); return; } iVar2 = FUN_18048cbc0(puVar3[1],&DAT_18249efac); if (iVar2 == 0) { puVar3 = puVar3 + 2; uVar7 = extraout_XMM0_Da_05; goto LAB_1804ec7a5; } puVar3 = (undefined8 *)*puVar3; } while( true ); } ############ FUN_ 1804ec850 size=455 ############ void FUN_1804ec850(longlong param_1,longlong *param_2,undefined8 param_3) { int iVar1; undefined8 *puVar2; undefined4 extraout_XMM0_Da; undefined4 extraout_XMM0_Da_00; undefined4 uVar3; undefined4 extraout_XMM0_Da_01; undefined4 extraout_XMM0_Da_02; undefined4 uVar4; undefined4 extraout_XMM0_Da_03; undefined4 extraout_XMM0_Da_04; undefined4 uVar5; undefined4 extraout_XMM0_Da_05; undefined4 extraout_XMM0_Da_06; undefined4 uVar6; undefined4 uVar7; uVar7 = *(undefined4 *)(param_1 + 0x20); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],&DAT_18249efc4); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar3 = extraout_XMM0_Da; goto LAB_1804ec8b5; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar3 = extraout_XMM0_Da_00; LAB_1804ec8b5: uVar3 = FUN_1804f0b80(uVar3,puVar2,uVar7); uVar7 = *(undefined4 *)(param_1 + 0x24); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],&DAT_18249efd0); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar4 = extraout_XMM0_Da_01; goto LAB_1804ec905; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar4 = extraout_XMM0_Da_02; LAB_1804ec905: uVar4 = FUN_1804f0b80(uVar4,puVar2,uVar7); uVar7 = *(undefined4 *)(param_1 + 0x20); for (puVar2 = *(undefined8 **)(*param_2 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],&DAT_18249efcc); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar5 = extraout_XMM0_Da_03; goto LAB_1804ec955; } } puVar2 = (undefined8 *)FUN_181220d40(); uVar5 = extraout_XMM0_Da_04; LAB_1804ec955: uVar5 = FUN_1804f0b80(uVar5,puVar2,uVar7); uVar7 = *(undefined4 *)(param_1 + 0x24); puVar2 = *(undefined8 **)(*param_2 + 0x10); do { if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_181220d40(); uVar6 = extraout_XMM0_Da_06; LAB_1804ec9a1: uVar7 = FUN_1804f0b80(uVar6,puVar2,uVar7); FUN_18129deb0(param_3,uVar3,uVar4); FUN_18129ddd0(param_3,uVar5,uVar7); return; } iVar1 = FUN_18048cbc0(puVar2[1],&DAT_18249efdc); if (iVar1 == 0) { puVar2 = puVar2 + 2; uVar6 = extraout_XMM0_Da_05; goto LAB_1804ec9a1; } puVar2 = (undefined8 *)*puVar2; } while( true ); } ############ FUN_ 1804eca20 size=814 ############ void FUN_1804eca20(longlong param_1,longlong *param_2,char param_3,undefined8 param_4) { uint *_Memory; undefined8 *puVar1; bool bVar2; float fVar3; float fVar4; char cVar5; int iVar6; uint uVar7; longlong *plVar8; uint *puVar9; undefined4 extraout_XMM0_Da; undefined4 extraout_XMM0_Da_00; undefined4 extraout_XMM0_Da_01; undefined4 extraout_XMM0_Da_02; float fVar10; float fVar11; float local_res10; float local_res14; undefined1 *local_a8; undefined1 *local_a0; undefined1 *local_98; longlong local_90; undefined1 *local_88; longlong local_80; undefined8 local_78; undefined8 local_70; local_78 = 0xfffffffffffffffe; for (puVar1 = *(undefined8 **)(*param_2 + 0x10); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { local_70 = puVar1[1]; iVar6 = FUN_18048cbc0(local_70,"points"); if (iVar6 == 0) { plVar8 = puVar1 + 2; goto LAB_1804eca95; } } plVar8 = (longlong *)FUN_181220d40(); LAB_1804eca95: local_90 = *plVar8; _Memory = (uint *)(local_90 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_a8 = &DAT_1821dbf98; local_80 = local_90; cVar5 = FUN_1804f1a00(&local_90,&local_a8,1); if (cVar5 == '\0') { local_res10 = 0.0; puVar9 = (uint *)(local_a8 + -0x10); uVar7 = *puVar9; LAB_1804ecb60: local_res14 = 0.0; if ((uVar7 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } bVar2 = false; } else { local_res10 = (float)FUN_1804f0b80(extraout_XMM0_Da,&local_a8,*(undefined4 *)(param_1 + 0x20)); puVar9 = (uint *)(local_a8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_a0 = &DAT_1821dbf98; cVar5 = FUN_1804f1a00(&local_90,&local_a0,1); if (cVar5 == '\0') { puVar9 = (uint *)(local_a0 + -0x10); uVar7 = *puVar9; goto LAB_1804ecb60; } local_res14 = (float)FUN_1804f0b80(extraout_XMM0_Da_00,&local_a0,*(undefined4 *)(param_1 + 0x24) ); puVar9 = (uint *)(local_a0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } bVar2 = true; } fVar4 = local_res14; fVar3 = local_res10; if (bVar2) { FUN_18129deb0(param_4,local_res10,local_res14); fVar10 = 0.0; fVar11 = 0.0; do { local_98 = &DAT_1821dbf98; cVar5 = FUN_1804f1a00(&local_90,&local_98,1); if (cVar5 == '\0') { local_res10 = 0.0; puVar9 = (uint *)(local_98 + -0x10); uVar7 = *puVar9; LAB_1804ecc6a: if ((uVar7 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } bVar2 = false; } else { local_res10 = (float)FUN_1804f0b80(extraout_XMM0_Da_01,&local_98, *(undefined4 *)(param_1 + 0x20)); puVar9 = (uint *)(local_98 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_88 = &DAT_1821dbf98; cVar5 = FUN_1804f1a00(&local_90,&local_88,1); if (cVar5 == '\0') { local_res14 = 0.0; puVar9 = (uint *)(local_88 + -0x10); uVar7 = *puVar9; goto LAB_1804ecc6a; } local_res14 = (float)FUN_1804f0b80(extraout_XMM0_Da_02,&local_88, *(undefined4 *)(param_1 + 0x24)); puVar9 = (uint *)(local_88 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } bVar2 = true; } if (!bVar2) goto LAB_1804ecce3; FUN_18129ddd0(param_4,local_res10,local_res14); fVar10 = local_res14; fVar11 = local_res10; } while( true ); } LAB_1804ecd01: if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar7 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; LAB_1804ecce3: if ((param_3 == '\0') || ((fVar3 == fVar11 && (fVar4 == fVar10)))) { FUN_18129da20(param_4); } goto LAB_1804ecd01; } ############ FUN_ 1804efb20 size=1129 ############ undefined8 * FUN_1804efb20(undefined8 param_1,undefined8 *param_2,undefined8 param_3) { int *piVar1; uint uVar2; longlong lVar3; char *pcVar4; int iVar5; undefined8 uVar6; undefined8 *puVar7; longlong *plVar8; uint *puVar9; byte bVar10; undefined4 extraout_XMM0_Da; float fVar11; float fVar12; undefined8 *local_res20; char *local_a0; undefined1 *local_98; undefined1 *local_90; undefined1 *local_88; longlong local_80; longlong local_78; longlong local_70; longlong local_68; longlong local_60 [5]; local_60[1] = 0xfffffffffffffffe; FUN_181252d20(&local_res20); local_98 = &DAT_1821dbf98; uVar6 = FUN_1804f1300(param_1,&local_78,param_3,"font-family",&local_98); FUN_181230ba0(uVar6,&local_a0); pcVar4 = local_a0; puVar9 = (uint *)(local_78 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_98 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (*local_a0 != '\0') { iVar5 = 0; if (local_a0 != (char *)local_res20[3]) { iVar5 = FUN_18048cbc0(local_a0,local_res20[3]); } if (iVar5 != 0) { FUN_181252760(&local_res20); if ((*(uint *)(pcVar4 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(pcVar4 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar3 = local_res20[3]; local_res20[3] = local_a0; UNLOCK(); puVar9 = (uint *)(lVar3 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar7 = (undefined8 *)local_res20[2]; local_res20[2] = 0; if (puVar7 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar7 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*puVar7)(puVar7,1); } } *(undefined4 *)((longlong)local_res20 + 0x34) = 0; } } local_90 = &DAT_1821dbf98; puVar7 = (undefined8 *)FUN_1804f1300(param_1,&local_70,param_3,"font-style",&local_90); iVar5 = FUN_18049d2f0(*puVar7,"italic"); puVar9 = (uint *)(local_70 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_90 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (-1 < iVar5) { bVar10 = -(*(char *)(local_res20 + 7) != '\0') & 4; iVar5 = FUN_181232100(local_res20 + 4,&DAT_1824983b4); puVar7 = local_res20; if (-1 < iVar5) { bVar10 = bVar10 | 1; } iVar5 = FUN_181232100(local_res20 + 4,"Italic"); if ((-1 < iVar5) || (iVar5 = FUN_181232100(puVar7 + 4,"Oblique"), -1 < iVar5)) { bVar10 = bVar10 | 2; } FUN_181251ed0(&local_res20,bVar10 | 2); } local_88 = &DAT_1821dbf98; puVar7 = (undefined8 *)FUN_1804f1300(param_1,&local_68,param_3,"font-weight",&local_88); iVar5 = FUN_18049d2f0(*puVar7,&DAT_18249f174); puVar9 = (uint *)(local_68 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_88 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (-1 < iVar5) { bVar10 = -(*(char *)(local_res20 + 7) != '\0') & 4; iVar5 = FUN_181232100(local_res20 + 4,&DAT_1824983b4); puVar7 = local_res20; if (-1 < iVar5) { bVar10 = bVar10 | 1; } iVar5 = FUN_181232100(local_res20 + 4,"Italic"); if ((-1 < iVar5) || (iVar5 = FUN_181232100(puVar7 + 4,"Oblique"), -1 < iVar5)) { bVar10 = bVar10 | 2; } FUN_181251ed0(&local_res20,bVar10 | 1); } FUN_18049c4e0(&local_80,&DAT_18249f19c); uVar6 = FUN_1804f1300(param_1,local_60,param_3,"font-size",&local_80); fVar11 = (float)FUN_1804f0b80(extraout_XMM0_Da,uVar6,DAT_1824c3ea4); *param_2 = local_res20; if (local_res20 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res20 + 1) = *(int *)(local_res20 + 1) + 1; UNLOCK(); } plVar8 = (longlong *)FUN_181252280(&local_res20); fVar12 = (float)(**(code **)(*plVar8 + 0x20))(plVar8); FUN_1812520a0(param_2,fVar11 / fVar12); puVar9 = (uint *)(local_60[0] + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_80 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_a0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res20 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res20)(local_res20,1); } } return param_2; } ############ FUN_ 1804f0910 size=434 ############ void FUN_1804f0910(longlong param_1,longlong *param_2) { float fVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; float fVar12; undefined8 *puVar13; int iVar14; longlong *plVar15; float *pfVar16; longlong local_res8; undefined8 local_res10; undefined1 local_70 [104]; puVar13 = *(undefined8 **)(*param_2 + 0x10); do { if (puVar13 == (undefined8 *)0x0) { plVar15 = (longlong *)FUN_181220d40(); LAB_1804f097d: local_res8 = *plVar15; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } pfVar16 = (float *)FUN_1804f26a0(local_70,&local_res8); fVar1 = *(float *)(param_1 + 0x2c); fVar2 = *(float *)(param_1 + 0x28); fVar3 = *(float *)(param_1 + 0x34); fVar4 = *pfVar16; fVar5 = pfVar16[1]; fVar6 = pfVar16[2]; fVar7 = *(float *)(param_1 + 0x38); fVar8 = pfVar16[4]; fVar9 = pfVar16[5]; fVar10 = pfVar16[3]; fVar11 = pfVar16[5]; fVar12 = pfVar16[4]; *(float *)(param_1 + 0x28) = fVar4 * fVar2 + pfVar16[3] * fVar1; *(float *)(param_1 + 0x2c) = fVar5 * fVar2 + fVar8 * fVar1; *(float *)(param_1 + 0x30) = fVar6 * fVar2 + fVar9 * fVar1 + *(float *)(param_1 + 0x30); *(float *)(param_1 + 0x34) = fVar3 * fVar4 + fVar7 * fVar10; *(ulonglong *)(param_1 + 0x38) = CONCAT44(fVar3 * fVar6 + fVar7 * fVar11 + *(float *)(param_1 + 0x3c), fVar3 * fVar5 + fVar7 * fVar12); return; } local_res10 = puVar13[1]; iVar14 = FUN_18048cbc0(local_res10,"transform"); if (iVar14 == 0) { plVar15 = puVar13 + 2; goto LAB_1804f097d; } puVar13 = (undefined8 *)*puVar13; } while( true ); } ############ FUN_ 1804f1300 size=910 ############ longlong * FUN_1804f1300(longlong param_1,longlong *param_2,longlong *param_3,undefined8 param_4, longlong *param_5) { uint *_Memory; byte bVar1; longlong lVar2; byte bVar3; byte *pbVar4; char cVar5; byte bVar6; int iVar7; uint uVar8; undefined8 *puVar9; undefined8 uVar10; uint *puVar11; bool bVar12; byte *local_res18 [2]; char *local_98; byte *local_90; byte *local_88; undefined1 *local_80; char *local_78; byte *local_70; longlong local_68; char *local_60; undefined8 local_58; undefined8 local_50; undefined8 local_48; local_50 = 0xfffffffffffffffe; lVar2 = *param_3; for (puVar9 = *(undefined8 **)(lVar2 + 0x10); puVar9 != (undefined8 *)0x0; puVar9 = (undefined8 *)*puVar9) { local_48 = puVar9[1]; iVar7 = FUN_18048cbc0(local_48,param_4); if (iVar7 == 0) goto LAB_1804f136e; } puVar9 = (undefined8 *)0x0; LAB_1804f136e: if (puVar9 != (undefined8 *)0x0) { FUN_181220c40(lVar2,param_2,param_4,param_5); return param_2; } puVar9 = (undefined8 *)FUN_181246db0(lVar2,"style"); local_98 = (char *)*puVar9; _Memory = (uint *)(local_98 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if (*local_98 == '\0') { lVar2 = *param_3; cVar5 = FUN_181246e10(lVar2,"class"); if (cVar5 != '\0') { uVar10 = *(undefined8 *)(param_1 + 0x40); puVar9 = (undefined8 *)FUN_181246db0(lVar2,"class"); local_58 = *puVar9; FUN_1804f0f00(local_res18,uVar10); bVar1 = *local_res18[0]; pbVar4 = local_res18[0]; while ((bVar1 != 0 && (local_res18[0] = pbVar4, FUN_18049c2c0(&local_90,pbVar4,0x7d), *local_90 != 0))) { bVar1 = *pbVar4; local_70 = pbVar4 + 1; if ((char)bVar1 < '\0') { bVar6 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar6))) { local_70 = local_70 + 1; bVar6 = bVar6 >> 1; bVar3 = bVar1 & bVar6; } } uVar10 = FUN_18124a8a0(&local_68); FUN_1804f1840(&local_60,uVar10,param_4,param_5); puVar11 = (uint *)(local_68 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if (*local_60 != '\0') { *param_2 = (longlong)local_60; goto LAB_1804f1429; } bVar1 = *local_90; local_88 = local_90 + 1; if ((char)bVar1 < '\0') { bVar6 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar6))) { local_88 = local_88 + 1; bVar6 = bVar6 >> 1; bVar3 = bVar1 & bVar6; } } puVar11 = (uint *)(local_60 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar9 = (undefined8 *)FUN_181246db0(*param_3,"class"); local_58 = *puVar9; FUN_1804f0f00(local_res18,local_88); bVar1 = *local_res18[0]; pbVar4 = local_res18[0]; } } LAB_1804f160d: if (param_3[1] == 0) { lVar2 = *param_5; *param_2 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } uVar8 = *_Memory; goto LAB_1804f1655; } FUN_1804f1300(param_1,param_2,param_3[1],param_4,param_5); } else { local_80 = &DAT_1821dbf98; FUN_1804f1840(&local_78,&local_98,param_4,&local_80); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar8 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar8; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if (*local_78 == '\0') { puVar11 = (uint *)(local_78 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } goto LAB_1804f160d; } *param_2 = (longlong)local_78; LAB_1804f1429: if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar8 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar8; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } uVar8 = *_Memory; LAB_1804f1655: if ((uVar8 & 0x30000000) == 0) { LOCK(); uVar8 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_2; } ############ FUN_ 1804f1690 size=179 ############ longlong * FUN_1804f1690(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { longlong lVar1; undefined8 *puVar2; int iVar3; longlong *plVar4; lVar1 = *param_3; puVar2 = *(undefined8 **)(lVar1 + 0x10); while( true ) { if (puVar2 == (undefined8 *)0x0) { if (param_3[1] == 0) { *param_2 = (longlong)&DAT_1821dbf98; } else { FUN_1804f1690(param_1,param_2,param_3[1],param_4); } return param_2; } iVar3 = FUN_18048cbc0(puVar2[1],param_4); if (iVar3 == 0) break; puVar2 = (undefined8 *)*puVar2; } plVar4 = (longlong *)FUN_181246db0(lVar1,param_4); lVar1 = *plVar4; *param_2 = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) != 0) { return param_2; } LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); return param_2; } ############ FUN_ 18051f150 size=226 ############ undefined8 FUN_18051f150(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 *puVar1; undefined8 *puVar2; char cVar3; int iVar4; undefined8 uVar5; undefined8 *local_18; longlong *local_10; puVar1 = *(undefined8 **)(*param_1 + 8); do { if (puVar1 == (undefined8 *)0x0) { return 0; } local_10 = param_1; local_18 = puVar1; for (puVar2 = (undefined8 *)puVar1[2]; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar4 = FUN_18048cbc0(puVar2[1],&DAT_18249ef04); if (iVar4 == 0) { iVar4 = FUN_18048cbc0(puVar2[2],*param_2); if ((iVar4 == 0) && (iVar4 = FUN_18049bb30(puVar1[3],&DAT_18249ef44), iVar4 != 0)) { uVar5 = FUN_1804eba90(*param_3,&local_18,param_3[1]); return uVar5; } break; } } cVar3 = FUN_18051f150(&local_18,param_2,param_3); if (cVar3 != '\0') { return 1; } puVar1 = (undefined8 *)*puVar1; } while( true ); } ############ FUN_ 18051f490 size=377 ############ undefined8 FUN_18051f490(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { int *piVar1; undefined8 *puVar2; undefined8 *puVar3; char cVar4; int iVar5; undefined8 uVar6; undefined8 *local_70; longlong *local_68; undefined1 local_60 [8]; longlong local_58; undefined8 *local_50; puVar2 = *(undefined8 **)(*param_1 + 8); do { if (puVar2 == (undefined8 *)0x0) { return 0; } uVar6 = *param_2; local_68 = param_1; local_70 = puVar2; for (puVar3 = (undefined8 *)puVar2[2]; puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { iVar5 = FUN_18048cbc0(puVar3[1],&DAT_18249ef04); if (iVar5 == 0) { iVar5 = FUN_18048cbc0(puVar3[2],uVar6); if ((iVar5 == 0) && (iVar5 = FUN_18049bb30(puVar2[3],&DAT_18249ef44), iVar5 != 0)) { cVar4 = FUN_181220e10(local_70,"linearGradient"); if ((cVar4 == '\0') && (cVar4 = FUN_181220e10(local_70,"radialGradient"), cVar4 == '\0')) { return 0; } uVar6 = FUN_1804eddf0(*param_3,local_60,&local_70,param_3[1],*(undefined4 *)(param_3 + 2)) ; FUN_1812a0e70(param_3 + 3,uVar6); if (local_50 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_50 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_50)(local_50,1); } } if (local_58 == 0) { return 1; } *(undefined4 *)(local_58 + 0x24) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(local_58 + 0x18)); } break; } } cVar4 = FUN_18051f490(&local_70,param_2,param_3); if (cVar4 != '\0') { return 1; } puVar2 = (undefined8 *)*puVar2; } while( true ); } ############ FUN_ 1804eddf0 size=3490 ############ /* WARNING: Removing unreachable block (ram,0x0001804edf3f) */ void FUN_1804eddf0(longlong param_1,undefined4 *param_2,longlong *param_3,longlong param_4, float param_5) { double *pdVar1; double dVar2; float *pfVar3; int iVar4; uint uVar5; undefined4 uVar6; undefined8 *puVar7; longlong *plVar8; uint uVar9; uint *puVar10; uint *puVar11; undefined1 uVar12; double *pdVar13; bool bVar14; float fVar15; float fVar16; undefined8 uVar17; undefined8 extraout_XMM0_Qa; undefined8 extraout_XMM0_Qa_00; undefined8 extraout_XMM0_Qa_01; undefined8 uVar18; undefined8 extraout_XMM0_Qa_02; undefined8 extraout_XMM0_Qa_03; undefined8 extraout_XMM0_Qa_04; undefined8 extraout_XMM0_Qa_05; undefined8 extraout_XMM0_Qa_06; float fVar19; float fVar20; float fVar21; float fVar22; float fVar23; undefined8 local_280; undefined8 uStack_278; char local_270; double *local_268; undefined8 local_260; undefined4 local_258; char *local_250; longlong local_248; longlong local_240; longlong local_238; longlong local_230; longlong local_228; longlong local_220; longlong local_218; longlong local_210; longlong local_208; longlong local_200; longlong local_1f8; longlong local_1f0; longlong local_1e8; longlong local_1e0; longlong local_1d8; longlong local_1d0; longlong local_1c8; float local_1c0; float fStack_1bc; float fStack_1b8; float fStack_1b4; float local_1b0; float fStack_1ac; longlong local_1a8; longlong local_1a0; longlong local_198; longlong local_190; longlong local_188; longlong local_180; longlong local_178; longlong local_170; longlong local_168; double local_160; longlong local_158; undefined4 local_150 [2]; float *local_148; undefined8 local_140; undefined8 local_138; undefined8 uStack_130; undefined8 local_128; longlong local_120; undefined8 *local_118; undefined8 local_110; undefined8 local_108; undefined8 local_100; undefined8 local_f8; undefined8 local_e8; undefined8 local_e0; local_f8 = 0xfffffffffffffffe; local_280 = 0; uStack_278 = 0; local_270 = 0; local_268 = (double *)0x0; local_260 = 0; FUN_1804ecd50(&local_250,param_3); if (*local_250 != '\0') { local_118 = &local_280; local_120 = param_1; FUN_18051f3a0(param_1 + 8,&local_250,&local_120); } puVar10 = (uint *)(local_250 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_1804edae0(param_1,&local_280,param_3); uVar5 = local_260._4_4_; if (local_260._4_4_ == 0) { FUN_1812a1940(&local_280,0,DAT_18262b5b8); uVar6 = DAT_18262b5b8; LAB_1804edfd9: FUN_1812a1940(&local_280,DAT_1824c4140,uVar6); uVar9 = local_260._4_4_; } else { if (0.0 < *local_268) { FUN_1812a1940(&local_280,0,*(undefined4 *)(local_268 + 1)); } uVar5 = uVar5 - 1; if ((local_260._4_4_ <= uVar5) || (uVar9 = local_260._4_4_, local_268[(longlong)(int)uVar5 * 2] <= DAT_1824c4140 && DAT_1824c4140 != local_268[(longlong)(int)uVar5 * 2])) { if (uVar5 < local_260._4_4_) { uVar6 = *(undefined4 *)(local_268 + (longlong)(int)uVar5 * 2 + 1); } else { uVar6 = 0; } goto LAB_1804edfd9; } } dVar2 = DAT_1824c4520; fVar15 = DAT_1824c3ea4; if ((param_5 < DAT_1824c3ea4) && (local_268 != local_268 + (longlong)(int)uVar9 * 2)) { pdVar13 = local_268 + 1; do { local_160 = (double)((float)(*(uint *)pdVar13 >> 0x18) * param_5) + dVar2; uVar12 = 0xff; if (SUB84(local_160,0) < 0xff) { uVar12 = SUB81(local_160,0); } local_258 = CONCAT13(uVar12,(int3)*(uint *)pdVar13); *(undefined4 *)pdVar13 = local_258; pdVar1 = pdVar13 + 1; pdVar13 = pdVar13 + 2; } while (pdVar1 != local_268 + (longlong)(int)uVar9 * 2); } local_270 = FUN_181220e10(*param_3,"radialGradient"); fVar20 = *(float *)(param_1 + 0x20); fVar21 = *(float *)(param_1 + 0x24); fVar22 = 0.0; fVar23 = 0.0; for (puVar7 = *(undefined8 **)(*param_3 + 0x10); puVar7 != (undefined8 *)0x0; puVar7 = (undefined8 *)*puVar7) { local_e8 = puVar7[1]; iVar4 = FUN_18048cbc0(local_e8,"gradientUnits"); if (iVar4 == 0) { puVar7 = puVar7 + 2; goto LAB_1804ee0d1; } } puVar7 = (undefined8 *)FUN_181220d40(); LAB_1804ee0d1: iVar4 = FUN_18049bb30(*puVar7,"userSpaceOnUse"); bVar14 = iVar4 != 0; if (bVar14) { fVar23 = *(float *)(param_4 + 0x18); fVar21 = *(float *)(param_4 + 0x1c) - fVar23; fVar22 = *(float *)(param_4 + 0x10); fVar20 = *(float *)(param_4 + 0x14) - fVar22; } if (local_270 == '\0') { if (bVar14) { FUN_18049c4e0(&local_1e0,&DAT_18249f0c0); FUN_18049c4e0(&local_1e8,&DAT_18249f0c0); uVar17 = FUN_181220c40(*param_3,&local_178,&DAT_18249efd0,&local_1e0); uVar18 = FUN_181220c40(*param_3,&local_180,&DAT_18249efc4,&local_1e8); uVar17 = FUN_1804f0b80(extraout_XMM0_Qa_05,uVar17,fVar15); fVar19 = (float)uVar17 * fVar21 + fVar23; fVar16 = (float)FUN_1804f0b80(uVar17,uVar18,fVar15); local_280._0_4_ = fVar16 * fVar20 + fVar22; puVar10 = (uint *)(local_180 + -0x10); local_280._4_4_ = fVar19; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_178 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_1e8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_1e0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_18049c4e0(&local_1d0,&DAT_18249f0c0); FUN_18049c4e0(&local_1d8,&DAT_18249f0dc); uVar17 = FUN_181220c40(*param_3,&local_168,&DAT_18249efdc,&local_1d0); uVar18 = FUN_181220c40(*param_3,&local_170,&DAT_18249efcc,&local_1d8); uVar17 = FUN_1804f0b80(extraout_XMM0_Qa_06,uVar17,fVar15); fVar15 = (float)FUN_1804f0b80(uVar17,uVar18,fVar15); uStack_278 = CONCAT44((float)uVar17 * fVar21 + fVar23,fVar15 * fVar20 + fVar22); puVar10 = (uint *)(local_170 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_168 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_1d8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_1d0 + -0x10); uVar5 = *puVar10; } else { FUN_18049c4e0(&local_200,&DAT_18249f0c0); FUN_18049c4e0(&local_208,&DAT_18249f0c0); uVar17 = FUN_181220c40(*param_3,&local_198,&DAT_18249efd0,&local_200); uVar18 = FUN_181220c40(*param_3,&local_1a0,&DAT_18249efc4,&local_208); uVar17 = FUN_1804f0b80(extraout_XMM0_Qa_03,uVar17,fVar21); fVar15 = (float)uVar17 + fVar23; local_280._0_4_ = (float)FUN_1804f0b80(uVar17,uVar18,fVar20); local_280._0_4_ = (float)local_280 + fVar22; puVar10 = (uint *)(local_1a0 + -0x10); local_280._4_4_ = fVar15; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_198 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_208 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_200 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_18049c4e0(&local_1f0,&DAT_18249f0c0); FUN_18049c4e0(&local_1f8,&DAT_18249f0dc); uVar17 = FUN_181220c40(*param_3,&local_188,&DAT_18249efdc,&local_1f0); uVar18 = FUN_181220c40(*param_3,&local_190,&DAT_18249efcc,&local_1f8); uVar17 = FUN_1804f0b80(extraout_XMM0_Qa_04,uVar17,fVar21); fVar15 = (float)FUN_1804f0b80(uVar17,uVar18,fVar20); uStack_278 = CONCAT44((float)uVar17 + fVar23,fVar15 + fVar22); puVar10 = (uint *)(local_190 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_188 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_1f8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_1f0 + -0x10); uVar5 = *puVar10; } if ((uVar5 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if (((float)local_280 == (float)uStack_278) && (local_280._4_4_ == uStack_278._4_4_)) { if (local_260._4_4_ - 1 < local_260._4_4_) { uVar6 = *(undefined4 *)(local_268 + (longlong)(int)(local_260._4_4_ - 1) * 2 + 1); } else { uVar6 = 0; } *param_2 = uVar6; *(undefined8 *)(param_2 + 2) = 0; *(undefined8 *)(param_2 + 4) = 0; *(undefined8 *)(param_2 + 6) = 0x3f800000; *(undefined8 *)(param_2 + 8) = 0; *(undefined8 *)(param_2 + 10) = 0x3f800000; goto LAB_1804eeb92; } } else { if (bVar14) { FUN_18049c4e0(&local_218,&DAT_18249f0c4); FUN_18049c4e0(&local_220,&DAT_18249f0c4); local_228 = local_218; for (puVar7 = *(undefined8 **)(*param_3 + 0x10); local_218 = local_228, puVar7 != (undefined8 *)0x0; puVar7 = (undefined8 *)*puVar7) { local_100 = puVar7[1]; iVar4 = FUN_18048cbc0(local_100,&DAT_18249efbc); if (iVar4 == 0) { local_228 = puVar7[2]; puVar10 = (uint *)(local_228 + -0x10); uVar5 = *puVar10; goto LAB_1804ee33a; } local_228 = local_218; } puVar10 = (uint *)(local_228 + -0x10); uVar5 = *puVar10; LAB_1804ee33a: if ((uVar5 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } uVar17 = FUN_181220c40(*param_3,&local_158,&DAT_18249efc0,&local_220); uVar18 = FUN_1804f0b80(extraout_XMM0_Qa_01,&local_228,fVar15); fVar23 = (float)uVar18 * fVar21 + fVar23; fVar15 = (float)FUN_1804f0b80(uVar18,uVar17,fVar15); local_280._0_4_ = fVar15 * fVar20 + fVar22; puVar11 = (uint *)(local_158 + -0x10); local_280._4_4_ = fVar23; if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_220 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_218 + -0x10); uVar5 = *puVar10; } else { FUN_18049c4e0(&local_230,&DAT_18249f0c4); uVar17 = FUN_18049c4e0(&local_238,&DAT_18249f0c4); local_248 = local_230; for (puVar7 = *(undefined8 **)(*param_3 + 0x10); local_230 = local_248, puVar7 != (undefined8 *)0x0; puVar7 = (undefined8 *)*puVar7) { local_110 = puVar7[1]; iVar4 = FUN_18048cbc0(local_110,&DAT_18249efbc); uVar17 = extraout_XMM0_Qa; if (iVar4 == 0) { local_248 = puVar7[2]; puVar10 = (uint *)(local_248 + -0x10); uVar5 = *puVar10; goto LAB_1804ee18e; } local_248 = local_230; } puVar10 = (uint *)(local_248 + -0x10); uVar5 = *puVar10; LAB_1804ee18e: if ((uVar5 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } local_240 = local_238; for (puVar7 = *(undefined8 **)(*param_3 + 0x10); local_238 = local_240, puVar7 != (undefined8 *)0x0; puVar7 = (undefined8 *)*puVar7) { local_108 = puVar7[1]; iVar4 = FUN_18048cbc0(local_108,&DAT_18249efc0); uVar17 = extraout_XMM0_Qa_00; if (iVar4 == 0) { local_240 = puVar7[2]; puVar11 = (uint *)(local_240 + -0x10); uVar5 = *puVar11; goto LAB_1804ee1ec; } local_240 = local_238; } puVar11 = (uint *)(local_240 + -0x10); uVar5 = *puVar11; LAB_1804ee1ec: if ((uVar5 & 0x30000000) == 0) { LOCK(); *puVar11 = *puVar11 + 1; UNLOCK(); } uVar17 = FUN_1804f0b80(uVar17,&local_248,fVar21); fVar23 = (float)uVar17 + fVar23; local_280._0_4_ = (float)FUN_1804f0b80(uVar17,&local_240,fVar20); local_280._0_4_ = (float)local_280 + fVar22; local_280._4_4_ = fVar23; if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_238 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_230 + -0x10); uVar5 = *puVar10; } if ((uVar5 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_18049c4e0(&local_210,&DAT_18249f0c4); uVar17 = FUN_181220c40(*param_3,&local_1a8,&DAT_18249efc8,&local_210); fVar15 = (float)FUN_1804f0b80(extraout_XMM0_Qa_02,uVar17,fVar20); puVar10 = (uint *)(local_1a8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_210 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uStack_278 = CONCAT44(local_280._4_4_ + 0.0,(float)local_280 + fVar15); local_e0 = uStack_278; } FUN_1812a1120(local_150,&local_280); plVar8 = (longlong *)FUN_181246db0(*param_3,"gradientTransform"); local_1c8 = *plVar8; if ((*(uint *)(local_1c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1c8 + -0x10) = *(int *)(local_1c8 + -0x10) + 1; UNLOCK(); } FUN_1804f26a0(&local_1c0,&local_1c8); pfVar3 = local_148; if (local_270 == '\0') { fVar22 = local_1b0 * ((float)local_280 - (float)uStack_278) + (uStack_278._4_4_ - local_280._4_4_) * fStack_1b4 + 0.0; fVar23 = fStack_1bc * ((float)local_280 - (float)uStack_278) + (uStack_278._4_4_ - local_280._4_4_) * local_1c0 + 0.0; fVar21 = fStack_1b4 * (float)local_280 + local_1b0 * local_280._4_4_ + fStack_1ac; fVar20 = local_1c0 * (float)local_280 + fStack_1bc * local_280._4_4_ + fStack_1b8; fStack_1ac = local_1b0 * uStack_278._4_4_ + fStack_1b4 * (float)uStack_278 + fStack_1ac; fStack_1b8 = local_1c0 * (float)uStack_278 + fStack_1bc * uStack_278._4_4_ + fStack_1b8; fVar15 = ((fStack_1ac - fVar21) * fVar22 + fVar23 * (fStack_1b8 - fVar20)) / (fVar22 * fVar22 + fVar23 * fVar23); *local_148 = fVar20; local_148[1] = fVar21; local_148[2] = fStack_1b8 - fVar23 * fVar15; local_148[3] = fStack_1ac - fVar15 * fVar22; } else { local_138 = CONCAT44(fStack_1bc,local_1c0); uStack_130 = CONCAT44(fStack_1b4,fStack_1b8); local_128 = CONCAT44(fStack_1ac,local_1b0); } *param_2 = local_150[0]; local_148 = (float *)0x0; *(float **)(param_2 + 2) = pfVar3; *(undefined8 *)(param_2 + 4) = local_140; local_140 = 0; *(undefined8 *)(param_2 + 6) = local_138; *(undefined8 *)(param_2 + 8) = uStack_130; *(undefined8 *)(param_2 + 10) = local_128; FUN_1812a0e00(local_150); LAB_1804eeb92: local_260 = local_260 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_268); } ############ FUN_ 1804edae0 size=780 ############ undefined8 FUN_1804edae0(undefined8 param_1,undefined8 param_2,longlong *param_3) { uint uVar1; float fVar2; double dVar3; double dVar4; double dVar5; int iVar6; undefined8 *puVar7; uint *puVar8; undefined1 uVar9; longlong *plVar10; double dVar11; undefined8 uVar12; float fVar13; double dVar14; float fVar15; undefined4 uVar16; undefined4 uVar17; uint local_res18 [2]; undefined4 local_res20; longlong local_f8; longlong local_f0; longlong local_e8; double local_e0; undefined8 local_d8; longlong *local_d0; longlong *local_c8; longlong *local_c0; longlong *local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; local_b0 = 0xfffffffffffffffe; if (*param_3 != 0) { for (plVar10 = *(longlong **)(*param_3 + 8); plVar10 != (longlong *)0x0; plVar10 = (longlong *)*plVar10) { iVar6 = FUN_18049bb30(plVar10[3],&DAT_18249f05c); dVar5 = DAT_1824c4520; dVar4 = DAT_1824c4140; dVar3 = DAT_1824c3eb8; fVar2 = DAT_1824c3ea4; local_b8 = param_3; if (iVar6 == 0) { do { local_d0 = plVar10; local_c8 = param_3; FUN_1804f2100(param_1,local_res18,&local_d0,"stop-color",DAT_18262b5b8); FUN_18049c4e0(&local_f8,&DAT_18249f074); local_c0 = plVar10; FUN_1804f1300(param_1,&local_f0,&local_c0,"stop-opacity",&local_f8); puVar8 = (uint *)(local_f8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_e8 = local_f0; dVar11 = (double)FUN_18049bd80(&local_e8); fVar15 = (float)dVar11; if (0.0 <= fVar15) { fVar13 = fVar2; if (fVar15 <= fVar2) { fVar13 = fVar15; } } else { fVar13 = 0.0; } local_e0 = (double)((float)(local_res18[0] >> 0x18) * fVar13) + dVar5; uVar9 = 0xff; if (SUB84(local_e0,0) < 0xff) { uVar9 = SUB81(local_e0,0); } local_res20 = CONCAT13(uVar9,(int3)local_res18[0]); local_res18[0] = local_res20; for (puVar7 = (undefined8 *)plVar10[2]; puVar7 != (undefined8 *)0x0; puVar7 = (undefined8 *)*puVar7) { local_a8 = puVar7[1]; iVar6 = FUN_18048cbc0(local_a8,"offset"); if (iVar6 == 0) { local_d8 = puVar7[2]; uVar12 = FUN_18049bd80(&local_d8); uVar16 = (undefined4)uVar12; uVar17 = (undefined4)((ulonglong)uVar12 >> 0x20); goto LAB_1804edd04; } } uVar16 = 0; uVar17 = 0; LAB_1804edd04: dVar11 = (double)CONCAT44(uVar17,uVar16); for (puVar7 = (undefined8 *)plVar10[2]; puVar7 != (undefined8 *)0x0; puVar7 = (undefined8 *)*puVar7) { local_a0 = puVar7[1]; iVar6 = FUN_18048cbc0(local_a0,"offset"); if (iVar6 == 0) { puVar7 = puVar7 + 2; goto LAB_1804edd35; } } puVar7 = (undefined8 *)FUN_181220d40(); LAB_1804edd35: iVar6 = FUN_18049bc80(*puVar7,0x25); if (-1 < iVar6) { dVar11 = (double)CONCAT44(uVar17,uVar16) * dVar3; } if (0.0 <= dVar11) { dVar14 = dVar4; if (dVar11 <= dVar4) { dVar14 = dVar11; } } else { dVar14 = 0.0; } FUN_1812a1940(param_2,dVar14,local_res18[0]); puVar8 = (uint *)(local_f0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } plVar10 = (longlong *)*plVar10; if (plVar10 == (longlong *)0x0) { return 1; } do { iVar6 = FUN_18049bb30(plVar10[3],&DAT_18249f05c); if (iVar6 == 0) break; plVar10 = (longlong *)*plVar10; } while (plVar10 != (longlong *)0x0); if (plVar10 == (longlong *)0x0) { return 1; } } while( true ); } } } return 0; } ############ FUN_ 18051f3a0 size=226 ############ undefined8 FUN_18051f3a0(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 *puVar1; undefined8 *puVar2; char cVar3; int iVar4; undefined8 uVar5; undefined8 *local_18; longlong *local_10; puVar1 = *(undefined8 **)(*param_1 + 8); do { if (puVar1 == (undefined8 *)0x0) { return 0; } local_10 = param_1; local_18 = puVar1; for (puVar2 = (undefined8 *)puVar1[2]; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar4 = FUN_18048cbc0(puVar2[1],&DAT_18249ef04); if (iVar4 == 0) { iVar4 = FUN_18048cbc0(puVar2[2],*param_2); if ((iVar4 == 0) && (iVar4 = FUN_18049bb30(puVar1[3],&DAT_18249ef44), iVar4 != 0)) { uVar5 = FUN_1804edae0(*param_3,param_3[1],&local_18); return uVar5; } break; } } cVar3 = FUN_18051f3a0(&local_18,param_2,param_3); if (cVar3 != '\0') { return 1; } puVar1 = (undefined8 *)*puVar1; } while( true ); } ############ FUN_ 18051f620 size=239 ############ bool FUN_18051f620(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 *puVar1; undefined8 *puVar2; char cVar3; int iVar4; longlong lVar5; undefined8 *local_18; longlong *local_10; puVar1 = *(undefined8 **)(*param_1 + 8); do { if (puVar1 == (undefined8 *)0x0) { return false; } local_10 = param_1; local_18 = puVar1; for (puVar2 = (undefined8 *)puVar1[2]; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar4 = FUN_18048cbc0(puVar2[1],&DAT_18249ef04); if (iVar4 == 0) { iVar4 = FUN_18048cbc0(puVar2[2],*param_2); if ((iVar4 == 0) && (iVar4 = FUN_18049bb30(puVar1[3],&DAT_18249ef44), iVar4 != 0)) { lVar5 = FUN_1804ef190(*param_3,&local_18,1,param_3[1]); param_3[2] = lVar5; return lVar5 != 0; } break; } } cVar3 = FUN_18051f620(&local_18,param_2,param_3); if (cVar3 != '\0') { return true; } puVar1 = (undefined8 *)*puVar1; } while( true ); } ############ FUN_ 181220c40 size=140 ############ longlong * FUN_181220c40(longlong param_1,longlong *param_2,undefined8 param_3,longlong *param_4) { undefined8 *puVar1; int iVar2; uint uVar3; longlong lVar4; puVar1 = *(undefined8 **)(param_1 + 0x10); do { if (puVar1 == (undefined8 *)0x0) { lVar4 = *param_4; *param_2 = lVar4; uVar3 = *(uint *)(lVar4 + -0x10); LAB_181220c96: if ((uVar3 & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } return param_2; } iVar2 = FUN_18048cbc0(puVar1[1],param_3); if (iVar2 == 0) { lVar4 = puVar1[2]; *param_2 = lVar4; uVar3 = *(uint *)(lVar4 + -0x10); goto LAB_181220c96; } puVar1 = (undefined8 *)*puVar1; } while( true ); } ############ FUN_ 181220e10 size=160 ############ undefined8 FUN_181220e10(longlong param_1,undefined8 param_2) { int *_Memory; int iVar1; longlong lVar2; bool bVar3; undefined8 uVar4; undefined4 local_res8; undefined4 uStackX_c; bVar3 = false; local_res8 = 0; iVar1 = FUN_18049bb30(*(undefined8 *)(param_1 + 0x18)); if (iVar1 == 0) { lVar2 = CONCAT44(uStackX_c,local_res8); } else { FUN_181230da0((undefined8 *)(param_1 + 0x18),&local_res8,&DAT_1821db524); bVar3 = true; lVar2 = CONCAT44(uStackX_c,local_res8); iVar1 = FUN_18048cbc0(lVar2,param_2); if (iVar1 != 0) { uVar4 = 0; goto LAB_181220e72; } } uVar4 = 1; LAB_181220e72: if ((bVar3) && (_Memory = (int *)(lVar2 + -0x10), (*(uint *)(lVar2 + -0x10) & 0x30000000) == 0)) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return uVar4; } ############ FUN_ 181246d40 size=100 ############ undefined8 FUN_181246d40(longlong param_1,undefined8 param_2,undefined8 param_3) { undefined8 *puVar1; int iVar2; undefined8 uVar3; undefined4 uVar4; undefined4 uVar5; longlong local_res8; uVar5 = (undefined4)((ulonglong)param_3 >> 0x20); uVar4 = (undefined4)param_3; puVar1 = *(undefined8 **)(param_1 + 0x10); while( true ) { if (puVar1 == (undefined8 *)0x0) { return CONCAT44(uVar5,uVar4); } iVar2 = FUN_18048cbc0(puVar1[1],param_2); if (iVar2 == 0) break; puVar1 = (undefined8 *)*puVar1; } local_res8 = puVar1[2]; uVar3 = FUN_18049bd80(&local_res8); return uVar3; } ############ FUN_ 181246db0 size=86 ############ undefined8 * FUN_181246db0(longlong param_1,undefined8 param_2) { int iVar1; undefined8 *puVar2; puVar2 = *(undefined8 **)(param_1 + 0x10); while( true ) { if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)FUN_181220d40(); return puVar2; } iVar1 = FUN_18048cbc0(puVar2[1],param_2); if (iVar1 == 0) break; puVar2 = (undefined8 *)*puVar2; } return puVar2 + 2; } ############ FUN_ 181246e10 size=75 ############ bool FUN_181246e10(longlong param_1,undefined8 param_2) { int iVar1; undefined8 *puVar2; for (puVar2 = *(undefined8 **)(param_1 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar1 = FUN_18048cbc0(puVar2[1],param_2); if (iVar1 == 0) goto LAB_181246e4a; } puVar2 = (undefined8 *)0x0; LAB_181246e4a: return puVar2 != (undefined8 *)0x0; } ############ FUN_ 181218a80 size=255 ############ void FUN_181218a80(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; uint uVar2; longlong lVar3; int iVar4; undefined8 *puVar5; uint *puVar6; longlong *plVar7; longlong local_res10; longlong local_res18; undefined8 local_res20; puVar5 = (undefined8 *)FUN_181248c30(param_1,&local_res18,param_3,param_4,0xfffffffffffffffe); local_res20 = *puVar5; FUN_18122d110(param_2,local_res20,&DAT_1821db5dc,&DAT_1821db56c); puVar6 = (uint *)(local_res18 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_18122d550(param_2); FUN_18122d5d0(param_2); plVar7 = (longlong *)*param_2; plVar1 = plVar7 + *(int *)((longlong)param_2 + 0xc); do { if (plVar7 == plVar1) { return; } iVar4 = FUN_18048cbc0(*plVar7,&DAT_1821db5bc); if (iVar4 == 0) { FUN_18049c4e0(&local_res10,&DAT_1821db61c); lVar3 = *plVar7; *plVar7 = local_res10; puVar6 = (uint *)(lVar3 + -0x10); local_res10 = lVar3; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } plVar7 = plVar7 + 1; } while( true ); } ############ FUN_ 1812e1110 size=750 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812e1110(longlong param_1,longlong *param_2,char param_3) { byte bVar1; undefined4 uVar2; bool bVar3; int iVar4; int iVar5; uint uVar6; byte *pbVar7; longlong *plVar8; undefined4 *puVar9; uint *_Memory; longlong lVar10; char cVar11; longlong lVar13; undefined1 auStack_e8 [32]; undefined4 local_c8; undefined8 local_c0; undefined4 local_b8; undefined4 local_a8 [2]; undefined4 local_a0; uint uStack_9c; undefined4 local_98; undefined4 uStack_94; undefined8 local_88; undefined4 uStack_80; undefined4 uStack_7c; longlong local_78 [2]; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined **local_58; longlong local_50; ulonglong local_48; longlong lVar12; local_78[1] = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; lVar13 = 0; local_a8[0] = 0; pbVar7 = (byte *)*param_2; lVar10 = lVar13; while( true ) { while( true ) { bVar1 = *pbVar7; pbVar7 = pbVar7 + 1; if (-1 < (char)bVar1) break; if ((*pbVar7 & 0xc0) != 0x80) goto LAB_1812e1197; do { pbVar7 = pbVar7 + 1; } while ((*pbVar7 & 0xc0) == 0x80); lVar10 = lVar10 + 1; } if (bVar1 == 0) break; LAB_1812e1197: lVar10 = lVar10 + 1; } iVar4 = FUN_1812dbb90(param_1); lVar12 = lVar13; if ((int)lVar10 == iVar4) { plVar8 = (longlong *)FUN_1812dc020(param_1,local_78); lVar12 = 1; cVar11 = '\x01'; uVar6 = 0; if (*plVar8 != *param_2) { uVar6 = FUN_18048cbc0(*plVar8,*param_2); } if (uVar6 == 0) { bVar3 = false; goto LAB_1812e11e5; } } cVar11 = (char)lVar12; bVar3 = true; LAB_1812e11e5: if ((cVar11 != '\0') && (_Memory = (uint *)(local_78[0] + -0x10), (*_Memory & 0x30000000) == 0)) { LOCK(); uVar6 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (bVar3) { if (param_3 == '\0') { lVar10 = *(longlong *)(param_1 + 0x1d0) + 200; if (*(longlong *)(param_1 + 0x1d0) == 0) { lVar10 = lVar13; } FUN_1813514c0(param_1 + 0x2d8,lVar10); } local_58 = &PTR_vftable_18262b560; local_50 = *param_2; if ((*(uint *)(local_50 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_50 + -0x10) = *(int *)(local_50 + -0x10) + 1; UNLOCK(); } FUN_1813516e0(param_1 + 0x2d8,&local_58); (**(code **)(*local_58 + 0xb0))(local_58,&local_50); iVar4 = *(int *)(param_1 + 0x2a4); iVar5 = FUN_1812dbb90(param_1); uVar6 = FUN_1812dbb90(param_1); local_a0 = 0; uStack_9c = 0; if (0 < (int)uVar6) { uStack_9c = uVar6; } FUN_1812dc240(param_1,(ulonglong)uStack_9c << 0x20,0,*(undefined4 *)(param_1 + 0x2a4)); uVar2 = *(undefined4 *)(param_1 + 0x2a4); puVar9 = (undefined4 *)FUN_18134a8d0(param_1,local_a8,0x1000201,0); local_c0 = 0; local_c8 = *puVar9; local_b8 = uVar2; FUN_1812dccb0(param_1,param_2,0,param_1 + 0x298); if ((iVar5 <= iVar4) && (*(char *)(param_1 + 0x1ee) == '\0')) { iVar4 = FUN_1812dbb90(param_1); } *(undefined4 *)(param_1 + 0x2f8) = 0; FUN_1812e0940(param_1,*(undefined8 *)(param_1 + 0x280)); FUN_1812e08d0(param_1,iVar4); local_98 = *(undefined4 *)(param_1 + 0x2a4); *(ulonglong *)(param_1 + 0x280) = CONCAT44(local_98,local_98); uStack_94 = local_98; if (param_3 == '\0') { lVar10 = *(longlong *)(param_1 + 0x1d0) + 200; if (*(longlong *)(param_1 + 0x1d0) == 0) { lVar10 = lVar13; } FUN_181351570(param_1 + 0x2d8,lVar10); } else { FUN_1812e0e60(param_1); } FUN_1812e0480(param_1); FUN_1812e0240(param_1); FUN_181352a80(param_1 + 0x200); local_88 = 0; uStack_80 = *(undefined4 *)(param_1 + 0x28); uStack_7c = *(undefined4 *)(param_1 + 0x2c); local_68 = 0; uStack_64 = 0; uStack_60 = uStack_80; uStack_5c = uStack_7c; FUN_181342870(param_1,&local_68,1); } } ############ FUN_ 1812eba00 size=528 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812eba00(longlong param_1,int param_2,undefined4 param_3) { uint uVar1; bool bVar2; bool bVar3; int iVar4; longlong *plVar5; undefined1 **ppuVar6; uint *puVar7; undefined1 auStack_b8 [32]; undefined1 *local_98; undefined1 *local_90; undefined1 *local_88 [2]; undefined8 local_78; undefined4 uStack_70; undefined4 uStack_6c; longlong local_68 [2]; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined **local_48; int local_40 [2]; ulonglong local_38; local_68[1] = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; local_98 = (undefined1 *)((ulonglong)local_98 & 0xffffffff00000000); plVar5 = (longlong *)FUN_1812ebf60(); if (plVar5 == (longlong *)0x0) { local_90 = &DAT_1821dbf98; ppuVar6 = &local_90; bVar3 = false; bVar2 = true; } else { local_88[0] = (undefined1 *)*plVar5; bVar3 = true; bVar2 = false; if ((*(uint *)(local_88[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_88[0] + -0x10) = *(int *)(local_88[0] + -0x10) + 1; UNLOCK(); } ppuVar6 = local_88; } local_98 = *ppuVar6; *ppuVar6 = &DAT_1821dbf98; if (bVar2) { puVar7 = (uint *)(local_90 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } if (bVar3) { puVar7 = (uint *)(local_88[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } bVar2 = false; if (*(int *)(param_1 + 0x150) == param_2) { plVar5 = (longlong *)FUN_1812ea010(*(undefined8 *)(param_1 + 0x170),local_68); bVar2 = true; if ((undefined1 *)*plVar5 == local_98) { iVar4 = 0; } else { iVar4 = FUN_18048cbc0(*plVar5,local_98); } if (iVar4 == 0) { bVar3 = false; goto LAB_1812ebb2f; } } bVar3 = true; LAB_1812ebb2f: if ((bVar2) && (puVar7 = (uint *)(local_68[0] + -0x10), (*puVar7 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (bVar3) { FUN_181349c50(*(undefined8 *)(param_1 + 0x170),&local_98,0); *(int *)(param_1 + 0x150) = param_2; local_48 = &PTR_vftable_18262b570; local_40[0] = param_2; FUN_1813516e0(param_1 + 0x138,&local_48); (**(code **)(*local_48 + 0xb0))(local_48,local_40); uStack_6c = *(undefined4 *)(param_1 + 0x2c); uStack_70 = *(undefined4 *)(param_1 + 0x28); local_78 = 0; local_58 = 0; uStack_54 = 0; uStack_50 = uStack_70; uStack_4c = uStack_6c; FUN_181342870(param_1,&local_58,1); FUN_1812ea290(param_1,param_3); } puVar7 = (uint *)(local_98 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } ############ FUN_ 1812eb570 size=180 ############ void FUN_1812eb570(longlong param_1,longlong *param_2) { longlong *plVar1; char cVar2; int iVar3; undefined1 auStack_b8 [56]; undefined1 local_80 [24]; void *local_68; longlong *local_58; undefined8 local_50; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_b8; FUN_1812efe40(local_80,param_1 + 0x118,1); cVar2 = FUN_1812efb00(local_80); do { plVar1 = local_58; if (cVar2 == '\0') { /* WARNING: Subroutine does not return */ free(local_68); } if ((int)local_58[1] != 0) { if (*local_58 == *param_2) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*local_58,*param_2); } if (iVar3 == 0) { FUN_1812eba00(param_1,(int)plVar1[1],0); /* WARNING: Subroutine does not return */ free(local_68); } } cVar2 = FUN_1812efb00(local_80); } while( true ); } ############ FUN_ 181349c50 size=396 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181349c50(longlong *param_1,longlong *param_2,int param_3) { uint uVar1; longlong lVar2; int iVar3; uint *_Memory; undefined8 uVar4; undefined1 auStack_98 [32]; undefined8 local_78; undefined4 uStack_70; undefined4 uStack_6c; undefined8 local_68; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined **local_48; longlong local_40; ulonglong local_38; local_68 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; FUN_1812e8fb0(param_1,1); lVar2 = *param_2; uVar4 = 0; if (param_1[0x36] == lVar2) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(param_1[0x36],lVar2); } if (iVar3 != 0) { if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } LOCK(); lVar2 = param_1[0x36]; param_1[0x36] = *param_2; UNLOCK(); _Memory = (uint *)(lVar2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_48 = &PTR_vftable_18262b560; local_40 = *param_2; if ((*(uint *)(local_40 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_40 + -0x10) = *(int *)(local_40 + -0x10) + 1; UNLOCK(); } FUN_1813516e0(param_1 + 0x33,&local_48); (**(code **)(*local_48 + 0xb0))(local_48,&local_40); local_78 = 0; uStack_70 = (undefined4)param_1[5]; uStack_6c = *(undefined4 *)((longlong)param_1 + 0x2c); local_58 = 0; uStack_54 = 0; uStack_50 = uStack_70; uStack_4c = uStack_6c; FUN_181342870(param_1,&local_58,1); if (*(code **)(*param_1 + 0x168) != FUN_1812e98c0) { (**(code **)(*param_1 + 0x168))(param_1); } lVar2 = param_1[0x3c]; if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x10) != 0)) { if (lVar2 != 0) { uVar4 = *(undefined8 *)(lVar2 + 0x10); } (**(code **)(param_1[0x19] + 8))(param_1 + 0x19,uVar4,1); } if (param_3 != 0) { FUN_1812e8980(param_1); } } } ############ FUN_ 1812e9110 size=567 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812e9110(longlong *param_1,undefined8 param_2) { uint uVar1; longlong lVar2; int iVar3; undefined8 *puVar4; longlong lVar5; uint *puVar6; longlong lVar7; undefined1 auStack_b8 [32]; longlong local_98 [2]; undefined8 local_88; undefined4 uStack_80; undefined4 uStack_7c; longlong local_78 [2]; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined **local_58; longlong local_50; longlong *local_48; undefined1 local_40 [8]; ulonglong local_38; local_78[1] = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; FUN_1812dc020(param_2,local_98); puVar4 = (undefined8 *) (**(code **)(*(longlong *)param_1[0x33] + 8))((longlong *)param_1[0x33],&local_48); (**(code **)(*(longlong *)*puVar4 + 0x20))((longlong *)*puVar4,local_78,puVar4 + 1); (**(code **)(*local_48 + 0xb0))(local_48,local_40); lVar7 = 0; if (local_78[0] == local_98[0]) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(local_78[0]); } puVar6 = (uint *)(local_78[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (iVar3 != 0) { if ((*(uint *)(local_98[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_98[0] + -0x10) = *(int *)(local_98[0] + -0x10) + 1; UNLOCK(); } LOCK(); lVar2 = param_1[0x36]; param_1[0x36] = local_98[0]; UNLOCK(); puVar6 = (uint *)(lVar2 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } local_58 = &PTR_vftable_18262b560; local_50 = local_98[0]; if ((*(uint *)(local_98[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_98[0] + -0x10) = *(int *)(local_98[0] + -0x10) + 1; UNLOCK(); } FUN_1813516e0(param_1 + 0x33,&local_58); (**(code **)(*local_58 + 0xb0))(local_58,&local_50); uStack_7c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_80 = (undefined4)param_1[5]; local_88 = 0; local_68 = 0; uStack_64 = 0; uStack_60 = uStack_80; uStack_5c = uStack_7c; FUN_181342870(param_1,&local_68,1); if (*(code **)(*param_1 + 0x168) != FUN_1812e98c0) { (**(code **)(*param_1 + 0x168))(param_1); } lVar2 = param_1[0x3c]; lVar5 = lVar7; if (lVar2 != 0) { lVar5 = *(longlong *)(lVar2 + 0x10); } if (lVar5 != 0) { if (lVar2 != 0) { lVar7 = *(longlong *)(lVar2 + 0x10); } (**(code **)(param_1[0x19] + 8))(param_1 + 0x19,lVar7,1); } } puVar6 = (uint *)(local_98[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } ############ FUN_ 1804f4ac0 size=1326 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804f4ac0(longlong param_1,undefined8 param_2,undefined8 *param_3,int param_4,char param_5) { int *piVar1; uint uVar2; undefined1 *puVar3; undefined1 *puVar4; errno_t eVar5; int iVar6; undefined8 *puVar7; uint *puVar8; longlong lVar9; undefined1 uVar10; bool bVar11; bool bVar12; undefined1 auStack_148 [32]; undefined4 *local_128; undefined1 *local_120; undefined1 *local_118; longlong local_110 [2]; undefined4 uStack_100; undefined4 uStack_fc; undefined8 local_f8; undefined4 uStack_f0; undefined4 uStack_ec; longlong local_e8; longlong local_e0; longlong local_d8; undefined4 *local_d0; undefined8 *local_c8; tm local_c0; undefined8 local_98; undefined8 local_90; undefined4 local_88; undefined4 uStack_84; undefined4 uStack_80; undefined4 uStack_7c; undefined4 local_78; undefined4 uStack_74; undefined4 uStack_70; undefined4 uStack_6c; int local_68; int iStack_64; int iStack_60; int iStack_5c; int local_58; int iStack_54; int iStack_50; int iStack_4c; int local_48; ulonglong local_40; local_98 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_148; local_128 = (undefined4 *)((ulonglong)local_128 & 0xffffffff00000000); lVar9 = param_1 + 0xb0; if (param_1 == 0) { lVar9 = 0; } FUN_1812299e0(*(undefined8 *)(param_1 + 0xd8),lVar9); if ((param_5 != *(char *)(param_1 + 0x104)) || (param_4 != *(int *)(param_1 + 0x100))) { *(int *)(param_1 + 0x100) = param_4; *(char *)(param_1 + 0x104) = param_5; uStack_fc = *(undefined4 *)(param_1 + 0x2c); uStack_100 = *(undefined4 *)(param_1 + 0x28); local_110[1] = 0; local_88 = 0; uStack_84 = 0; uStack_80 = uStack_100; uStack_7c = uStack_fc; FUN_181342870(param_1,&local_88,1); } local_118 = &DAT_1821dbf98; local_120 = &DAT_1821dbf98; local_128 = (undefined4 *)&DAT_1821dbf98; if (param_3 != (undefined8 *)0x0) { local_90 = *param_3; puVar7 = (undefined8 *)FUN_181245100(param_2,&local_e8); local_118 = (undefined1 *)*puVar7; *puVar7 = &DAT_1821dbf98; puVar8 = (uint *)(local_e8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar7 = (undefined8 *)FUN_181240c90(&local_e0,param_3[1]); local_120 = (undefined1 *)*puVar7; *puVar7 = &DAT_1821dbf98; puVar8 = (uint *)(local_e0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_18049c4e0(local_110,"%d %b \'%y %H:%M"); local_d8 = (longlong)param_3[2] / 1000; eVar5 = _localtime64_s(&local_c0,&local_d8); if (eVar5 != 0) { local_c0.tm_sec = 0; local_c0.tm_min = 0; local_c0.tm_hour = 0; local_c0.tm_mday = 0; local_c0.tm_mon = 0; local_c0.tm_year = 0; local_c0.tm_wday = 0; local_c0.tm_yday = 0; local_c0.tm_isdst = 0; } local_68 = local_c0.tm_sec; iStack_64 = local_c0.tm_min; iStack_60 = local_c0.tm_hour; iStack_5c = local_c0.tm_mday; local_58 = local_c0.tm_mon; iStack_54 = local_c0.tm_year; iStack_50 = local_c0.tm_wday; iStack_4c = local_c0.tm_yday; local_48 = local_c0.tm_isdst; FUN_181229320(&local_d0,local_110,&local_68); local_128 = local_d0; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar11 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar11) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar8 = (uint *)(local_110[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } puVar4 = local_118; puVar3 = local_120; if ((local_118 == *(undefined1 **)(param_1 + 0xe0)) || (iVar6 = FUN_18049bb30(local_118), iVar6 == 0)) { if (*(undefined1 **)(param_1 + 0xe8) == puVar3) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0xe8),puVar3); } if (iVar6 != 0) goto LAB_1804f4d92; if (*(undefined4 **)(param_1 + 0xf0) == local_128) { iVar6 = 0; } else { iVar6 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0xf0),local_128); } if (iVar6 != 0) goto LAB_1804f4d92; } else { LAB_1804f4d92: uVar10 = 1; if ((*(uint *)(puVar4 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(puVar4 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar9 = *(longlong *)(param_1 + 0xe0); *(longlong *)(param_1 + 0xe0) = (longlong)local_118; UNLOCK(); puVar8 = (uint *)(lVar9 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((*(uint *)(local_120 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_120 + -0x10) = *(int *)(local_120 + -0x10) + 1; UNLOCK(); } LOCK(); lVar9 = *(longlong *)(param_1 + 0xe8); *(longlong *)(param_1 + 0xe8) = (longlong)local_120; UNLOCK(); puVar8 = (uint *)(lVar9 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((local_128[-4] & 0x30000000) == 0) { LOCK(); local_128[-4] = local_128[-4] + 1; UNLOCK(); } LOCK(); lVar9 = *(longlong *)(param_1 + 0xf0); *(longlong *)(param_1 + 0xf0) = (longlong)local_128; UNLOCK(); puVar8 = (uint *)(lVar9 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_c8 = *(undefined8 **)(param_1 + 0xf8); *(undefined8 *)(param_1 + 0xf8) = 0; if (local_c8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_c8 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_c8)(local_c8,1); } } if ((param_3 == (undefined8 *)0x0) || (*(char *)(param_3 + 4) == '\0')) { uVar10 = 0; } *(undefined1 *)(param_1 + 0x105) = uVar10; uStack_ec = *(undefined4 *)(param_1 + 0x2c); uStack_f0 = *(undefined4 *)(param_1 + 0x28); local_f8 = 0; local_78 = 0; uStack_74 = 0; uStack_70 = uStack_f0; uStack_6c = uStack_ec; FUN_181342870(param_1,&local_78,1); } if (*(undefined1 **)(param_1 + 0xe0) != &DAT_1821dbf98) { iVar6 = FUN_18049bb30(*(undefined8 *)(param_1 + 0xe0),&DAT_1821dbf98); if (((iVar6 != 0) && (*(longlong *)(param_1 + 0xf8) == 0)) && (*(char *)(param_1 + 0x105) == '\0')) { bVar11 = true; goto LAB_1804f4f12; } } bVar11 = false; LAB_1804f4f12: if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((bVar11) && (FUN_1804f5070(param_1,1), *(longlong *)(param_1 + 0xf8) == 0)) { FUN_181229aa0(*(undefined8 *)(param_1 + 0xd8),param_1 + 0xb0); } puVar8 = local_128 + -4; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_120 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_118 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } ############ FUN_ 1812ef770 size=434 ############ undefined8 FUN_1812ef770(longlong *param_1) { longlong lVar1; int iVar2; lVar1 = *param_1; if (lVar1 != DAT_182673b58) { iVar2 = FUN_18048cbc0(lVar1); if (iVar2 != 0) { if (lVar1 != DAT_182673bf0) { iVar2 = FUN_18048cbc0(lVar1); if (iVar2 != 0) { if (lVar1 != DAT_182673c18) { iVar2 = FUN_18048cbc0(lVar1); if (iVar2 != 0) { if (lVar1 != DAT_182673be8) { iVar2 = FUN_18048cbc0(lVar1); if (iVar2 != 0) { if (lVar1 != DAT_182673c00) { iVar2 = FUN_18048cbc0(lVar1); if (iVar2 != 0) { if (lVar1 != DAT_182673be0) { iVar2 = FUN_18048cbc0(lVar1); if (iVar2 != 0) { if (lVar1 != DAT_182673bd0) { iVar2 = FUN_18048cbc0(lVar1); if (iVar2 != 0) { if (lVar1 != DAT_182673bf8) { iVar2 = FUN_18048cbc0(lVar1); if (iVar2 != 0) { if (lVar1 != DAT_182673c10) { iVar2 = FUN_18048cbc0(lVar1); if (iVar2 != 0) { return 9; } } return 8; } } return 7; } } return 6; } } return 5; } } return 4; } } return 3; } } return 2; } } return 1; } } return 0; } ############ FUN_ 1812efa60 size=115 ############ longlong * FUN_1812efa60(undefined8 *param_1,longlong *param_2) { int iVar1; longlong lVar2; longlong *plVar3; int iVar4; longlong lVar5; iVar1 = *(int *)((longlong)param_1 + 0xc); if (0 < iVar1) { lVar2 = *param_2; lVar5 = 0; param_1 = (undefined8 *)*param_1; do { plVar3 = (longlong *)*param_1; if (*plVar3 == lVar2) { return plVar3; } iVar4 = FUN_18048cbc0(*plVar3,lVar2); if (iVar4 == 0) { return plVar3; } lVar5 = lVar5 + 1; param_1 = param_1 + 1; } while (lVar5 < iVar1); } return (longlong *)0x0; } ############ FUN_ 1804ff450 size=142 ############ void FUN_1804ff450(longlong param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { int iVar1; undefined8 uVar2; undefined **local_20; longlong local_18; uVar2 = 0xfffffffffffffffe; if (*param_2 == DAT_182673c10) { iVar1 = 0; } else { iVar1 = FUN_18048cbc0(*param_2); } if ((iVar1 == 0) && (local_18 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x18), local_18 != 0)) { local_20 = juce::MarkerListScope::vftable; (**(code **)(*param_3 + 8))(param_3,&local_20); return; } /* WARNING: Subroutine does not return */ FUN_18123aff0(param_1,param_2,param_3,param_4,uVar2); } ############ FUN_ 1804ff750 size=284 ############ void FUN_1804ff750(longlong param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; longlong lVar2; longlong lVar3; longlong lVar4; int iVar5; longlong *plVar6; undefined **local_40; longlong local_38; undefined8 local_30; undefined8 local_28; lVar2 = *param_2; if (lVar2 == DAT_182673c10) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(lVar2); } lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x18); local_38 = lVar3; if (iVar5 != 0) { if (lVar3 != 0) { plVar6 = *(longlong **)(lVar3 + 0x40); plVar1 = plVar6 + *(int *)(lVar3 + 0x4c); for (; plVar6 != plVar1; plVar6 = plVar6 + 1) { lVar4 = *plVar6; iVar5 = FUN_18048cbc0(*(undefined8 *)(lVar4 + 0x10),lVar2); local_38 = lVar4; if (iVar5 == 0) goto LAB_1804ff7ee; } } local_38 = 0; } LAB_1804ff7ee: if (local_38 == 0) { if (lVar3 != 0) { FUN_1812eedd0(*(undefined8 *)(param_1 + 0x10),lVar3); } FUN_1812eedd0(*(undefined8 *)(param_1 + 0x10),*(undefined8 *)(param_1 + 8)); **(undefined1 **)(param_1 + 0x18) = 0; } else { local_28 = *(undefined8 *)(param_1 + 0x18); local_30 = *(undefined8 *)(param_1 + 0x10); local_40 = juce::RelativeCoordinatePositionerBase::DependencyFinderScope::vftable; (**(code **)(*param_3 + 8))(param_3,&local_40); } return; } ############ FUN_ 180500180 size=458 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180500180(undefined8 *param_1,undefined8 *param_2) { uint uVar1; longlong *plVar2; int iVar3; uint *puVar4; undefined1 auStack_88 [32]; longlong local_68; longlong local_60; longlong local_58; longlong local_50 [2]; undefined8 *local_40; undefined8 *local_38; ulonglong local_30; local_50[1] = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_88; local_40 = param_1; local_38 = param_2; (**(code **)(*(longlong *)*param_2 + 0x20))((longlong *)*param_2,&local_68,param_2 + 1); (**(code **)(*(longlong *)*param_1 + 0x20))((longlong *)*param_1,&local_58,param_1 + 1); iVar3 = FUN_18048cbc0(local_58,local_68); puVar4 = (uint *)(local_58 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_68 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (iVar3 < 1) { (**(code **)(*(longlong *)*param_2 + 0x20))((longlong *)*param_2,&local_60,param_2 + 1); (**(code **)(*(longlong *)*param_1 + 0x20))((longlong *)*param_1,local_50,param_1 + 1); iVar3 = FUN_18048cbc0(local_50[0],local_60); puVar4 = (uint *)(local_50[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_60 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } plVar2 = (longlong *)*param_1; if (iVar3 < 0) { (**(code **)(*plVar2 + 0xb0))(); (**(code **)(*(longlong *)*param_2 + 0xb0))((longlong *)*param_2,param_2 + 1); } else { (**(code **)(*plVar2 + 0xb0))(plVar2,param_1 + 1); (**(code **)(*(longlong *)*param_2 + 0xb0))((longlong *)*param_2,param_2 + 1); } } else { (**(code **)(*(longlong *)*param_1 + 0xb0))((longlong *)*param_1,param_1 + 1); (**(code **)(*(longlong *)*param_2 + 0xb0))((longlong *)*param_2,param_2 + 1); } } ############ FUN_ 180502100 size=294 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180502100(longlong param_1) { uint uVar1; int iVar2; longlong *plVar3; uint *puVar4; undefined4 uVar5; undefined1 auStack_58 [32]; longlong local_38; longlong local_30 [2]; longlong *local_20; undefined1 local_18 [8]; ulonglong local_10; local_30[1] = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; if (*(longlong *)(param_1 + 0x250) != 0) { (**(code **)(**(longlong **)(param_1 + 0x38) + 8))(*(longlong **)(param_1 + 0x38),&local_20); uVar5 = (**(code **)(*local_20 + 0x18))(local_20,local_18); (**(code **)(**(longlong **)(param_1 + 0x18) + 0x178)) (*(longlong **)(param_1 + 0x18),&local_38,uVar5); (**(code **)(*local_20 + 0xb0))(local_20,local_18); plVar3 = (longlong *)FUN_1812ea010(*(undefined8 *)(param_1 + 0x250),local_30); if (local_38 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(local_38,*plVar3); } puVar4 = (uint *)(local_30[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (iVar2 != 0) { FUN_181349c50(*(undefined8 *)(param_1 + 0x250),&local_38,0); } puVar4 = (uint *)(local_38 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } } ############ FUN_ 18124efb0 size=1276 ############ void FUN_18124efb0(longlong *param_1,longlong param_2,float *param_3) { int *piVar1; float *pfVar2; float fVar3; longlong lVar4; longlong lVar5; undefined8 *puVar6; bool bVar7; float fVar8; float fVar9; float fVar10; float fVar11; float fVar12; char cVar13; int iVar14; longlong *plVar15; longlong *plVar16; undefined8 *puVar17; float *pfVar18; undefined8 *puVar19; int iVar20; longlong lVar21; bool bVar22; undefined4 uVar23; float fVar24; float fVar25; undefined8 *local_res20; float local_150; float local_14c; float local_148; float local_144; float local_140; float local_13c; undefined8 local_138; undefined8 uStack_130; undefined8 local_128; float *local_118; undefined8 local_110; undefined8 local_108; undefined8 uStack_100; undefined1 local_f8; plVar16 = *(longlong **)(param_2 + 8); plVar15 = (longlong *)(**(code **)(*plVar16 + 0xd8))(plVar16); puVar19 = (undefined8 *)*plVar15; if (puVar19 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar19 + 1) = *(int *)(puVar19 + 1) + 1; UNLOCK(); } fVar12 = DAT_1824c4608; fVar11 = DAT_1824c4604; fVar10 = DAT_1824c4600; fVar9 = DAT_1824c45fc; fVar8 = DAT_1824c41e0; fVar25 = DAT_1824c3d54; bVar22 = false; iVar20 = 0; local_res20 = puVar19; if (0 < *(int *)((longlong)param_1 + 0xc)) { lVar21 = 0; do { plVar15 = (longlong *)(lVar21 + *param_1); lVar4 = *plVar15; if (*(char *)(lVar4 + 0x38) != '\0') { local_138 = *(undefined8 *)param_3; uStack_130 = *(undefined8 *)(param_3 + 2); local_128 = *(undefined8 *)(param_3 + 4); if (*(float *)(lVar4 + 0x34) == 0.0) { plVar16 = (longlong *)FUN_181252280(plVar15); lVar5 = *plVar15; uVar23 = (**(code **)(*plVar16 + 0x10))(plVar16); *(undefined4 *)(lVar5 + 0x34) = uVar23; } fVar25 = (*(float *)(lVar4 + 0x28) - *(float *)(*plVar15 + 0x34) * *(float *)(*plVar15 + 0x28)) * fVar25; fVar3 = *(float *)(plVar15 + 2); fVar24 = fVar3 + *(float *)(plVar15 + 3); if ((iVar20 < *(int *)((longlong)param_1 + 0xc) + -1) && (*(float *)(lVar21 + 0x34 + *param_1) == *(float *)((longlong)plVar15 + 0x14))) { fVar24 = *(float *)(lVar21 + 0x30 + *param_1); } local_118 = (float *)0x0; local_110 = 0; local_108 = 0; uStack_100 = 0; local_f8 = 1; FUN_18129d850(&local_118,fVar3,fVar25 * fVar8 + *(float *)((longlong)plVar15 + 0x14), fVar24 - fVar3,fVar25); cVar13 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar13 != '\0') goto LAB_18124f212; pfVar2 = local_118 + local_110._4_4_; bVar22 = local_118 == pfVar2; pfVar18 = local_118; goto LAB_18124f1ba; } if (*(char *)((longlong)plVar15 + 0x1c) == '\0') { puVar6 = (undefined8 *)*plVar15; if (puVar19 == puVar6) { LAB_18124f2bd: bVar7 = true; } else { if (((*(float *)(puVar19 + 5) == *(float *)(puVar6 + 5)) && (*(char *)(puVar19 + 7) == *(char *)(puVar6 + 7))) && ((*(float *)((longlong)puVar19 + 0x2c) == *(float *)((longlong)puVar6 + 0x2c) && (*(float *)(puVar19 + 6) == *(float *)(puVar6 + 6))))) { if (puVar19[3] == puVar6[3]) { iVar14 = 0; } else { iVar14 = FUN_18048cbc0(puVar19[3],puVar6[3]); } if (iVar14 == 0) { if (puVar19[4] == puVar6[4]) { iVar14 = 0; } else { iVar14 = FUN_18048cbc0(puVar19[4],puVar6[4]); } if (iVar14 == 0) goto LAB_18124f2bd; } } bVar7 = false; } if (!bVar7) { if (puVar6 == (undefined8 *)0x0) { local_res20 = (undefined8 *)0x0; puVar17 = local_res20; if (puVar19 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar19 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { puVar17 = (undefined8 *)*puVar19; LAB_18124f327: (*(code *)*puVar17)(puVar19,1); puVar17 = local_res20; } } } else { puVar17 = local_res20; if (puVar19 != puVar6) { LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); puVar17 = puVar6; if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res20 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { puVar17 = (undefined8 *)*local_res20; puVar19 = local_res20; local_res20 = puVar6; goto LAB_18124f327; } } } } local_res20 = puVar17; if (!bVar22) { bVar22 = true; (**(code **)(*plVar16 + 0x68))(plVar16); } (**(code **)(*plVar16 + 0xd0))(plVar16,&local_res20); } fVar3 = param_3[4]; local_144 = param_3[3]; local_13c = fVar3 * *(float *)((longlong)plVar15 + 0x14) + local_144 * *(float *)(plVar15 + 2) + param_3[5]; local_140 = local_144 * 0.0 + fVar3; local_144 = fVar3 * 0.0 + local_144; local_150 = *param_3; fVar3 = param_3[1]; local_148 = local_150 * *(float *)(plVar15 + 2) + fVar3 * *(float *)((longlong)plVar15 + 0x14) + param_3[2]; local_14c = local_150 * 0.0 + fVar3; local_150 = fVar3 * 0.0 + local_150; (**(code **)(*plVar16 + 0xe0))(plVar16,*(undefined4 *)((longlong)plVar15 + 0xc),&local_150); puVar19 = local_res20; } iVar20 = iVar20 + 1; lVar21 = lVar21 + 0x20; } while (iVar20 < *(int *)((longlong)param_1 + 0xc)); if (bVar22) { (**(code **)(*plVar16 + 0x70))(plVar16); puVar19 = local_res20; } } if (puVar19 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar19 + 1); iVar20 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar20 == 1) { (**(code **)*puVar19)(puVar19,1); } } return; LAB_18124f1ba: if (bVar22) { LAB_18124f212: local_110 = local_110 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_118); } fVar25 = *pfVar18; if (fVar25 != fVar10) { if (((fVar25 == fVar9) || (fVar25 == fVar11)) || (fVar25 == fVar12)) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_118,&local_138); goto LAB_18124f212; } pfVar18 = pfVar18 + 1; bVar22 = pfVar18 == pfVar2; goto LAB_18124f1ba; } pfVar18 = pfVar18 + 3; bVar22 = pfVar18 == pfVar2; goto LAB_18124f1ba; } ############ FUN_ 181329a30 size=479 ############ longlong * FUN_181329a30(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; int iVar2; longlong *plVar3; int iVar4; bool bVar5; undefined1 *local_res8; longlong local_res10; longlong local_88; undefined1 local_80 [16]; undefined8 local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; void *local_50; undefined4 local_44; *param_2 = 0; param_2[1] = 0; plVar3 = *(longlong **)(param_1 + 0x20); if (plVar3 == plVar3 + (longlong)*(int *)(param_1 + 0x2c) * 9) { return param_2; } local_88 = *plVar3; if ((*(uint *)(local_88 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_88 + -0x10) = *(int *)(local_88 + -0x10) + 1; UNLOCK(); } FUN_18123aa50(local_80,plVar3 + 1,param_3,param_4,0xfffffffffffffffe); local_70 = 0; local_68 = 0; FUN_18048c4c0(&local_70,plVar3[3],*(undefined4 *)((longlong)plVar3 + 0x24)); local_60 = 0; local_58 = 0; FUN_18048c4c0(&local_60,plVar3[5],*(undefined4 *)((longlong)plVar3 + 0x34)); FUN_18049ad40(&local_50,plVar3 + 7); iVar4 = FUN_181214d80(&local_88); FUN_1812490c0(&local_88,&local_res10,0,iVar4 + -1); iVar4 = FUN_18048cbc0(local_res10,&DAT_1821dbb88); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (iVar4 == 0) { FUN_181214270(&local_res8,&local_88); iVar2 = *(int *)((longlong)param_2 + 0xc); iVar4 = iVar2 + 1; if ((int)param_2[1] < iVar4) { if (iVar4 < 0) { iVar4 = iVar2 + 2; } FUN_18048a300(param_2,iVar2 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar4 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar4 + 1; *(undefined1 **)(*param_2 + (longlong)iVar4 * 8) = local_res8; local_res8 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar5 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar5) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } FUN_180488f10(&local_50); local_44 = 0; /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 1812146f0 size=115 ############ bool FUN_1812146f0(undefined8 param_1) { int *_Memory; int iVar1; int iVar2; longlong local_res8; iVar2 = FUN_181214d80(); FUN_1812490c0(param_1,&local_res8,0,iVar2 + -1); iVar2 = FUN_18048cbc0(local_res8,&DAT_1821dbb88); _Memory = (int *)(local_res8 + -0x10); if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return iVar2 == 0; } ############ FUN_ 1812ebc40 size=280 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812ebc40(longlong param_1) { uint *_Memory; uint uVar1; undefined4 uVar2; longlong *plVar3; undefined1 auStack_58 [32]; longlong local_38 [2]; longlong *local_28; undefined1 local_20 [8]; ulonglong local_18; local_38[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; plVar3 = *(longlong **)(param_1 + 0x138); if ((undefined **)*plVar3 == juce::SimpleValueSource::vftable) { local_28 = (longlong *)plVar3[6]; (**(code **)(*local_28 + 0xb8))(local_28,local_20,plVar3 + 7); } else { (*(code *)((undefined **)*plVar3)[1])(plVar3,&local_28); } uVar2 = (**(code **)(*local_28 + 8))(local_28,local_20); plVar3 = (longlong *)FUN_1812ebf60(param_1,uVar2); (**(code **)(*local_28 + 0xb0))(local_28,local_20); if (plVar3 != (longlong *)0x0) { FUN_1812ea010(*(undefined8 *)(param_1 + 0x170),local_38); if (local_38[0] != *plVar3) { FUN_18048cbc0(local_38[0],*plVar3); } _Memory = (uint *)(local_38[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } } ############ FUN_ 180549a20 size=91 ############ undefined8 FUN_180549a20(longlong *param_1,longlong *param_2) { int iVar1; if ((*param_1 != *param_2) && (iVar1 = FUN_18048cbc0(*param_1,*param_2), iVar1 != 0)) { return 0; } if ((param_1[1] != param_2[1]) && (iVar1 = FUN_18048cbc0(param_1[1],param_2[1]), iVar1 != 0)) { return 0; } return 1; } ############ FUN_ 18054e1c0 size=261 ############ ulonglong FUN_18054e1c0(longlong param_1,undefined8 param_2,char param_3) { int iVar1; undefined8 uVar2; int iVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; undefined8 *puVar7; uVar5 = 0; lVar4 = __RTDynamicCast(param_2,0,&juce::AudioIODevice::RTTI_Type_Descriptor, &juce::WasapiClasses::WASAPIAudioIODevice::RTTI_Type_Descriptor,0); if (lVar4 == 0) { return 0xffffffff; } if (param_3 == '\0') { uVar2 = *(undefined8 *)(lVar4 + 0x228); iVar1 = *(int *)(param_1 + 100); if (0 < iVar1) { puVar7 = *(undefined8 **)(param_1 + 0x58); uVar6 = uVar5; do { iVar3 = FUN_18048cbc0(uVar2,*puVar7); if (iVar3 == 0) { return uVar6; } uVar6 = (ulonglong)((int)uVar6 + 1); uVar5 = uVar5 + 1; puVar7 = puVar7 + 1; } while ((longlong)uVar5 < (longlong)iVar1); } } else { uVar2 = *(undefined8 *)(lVar4 + 0x230); iVar1 = *(int *)(param_1 + 0x84); if (0 < iVar1) { puVar7 = *(undefined8 **)(param_1 + 0x78); uVar6 = uVar5; do { iVar3 = FUN_18048cbc0(uVar2,*puVar7); if (iVar3 == 0) { return uVar6; } uVar6 = (ulonglong)((int)uVar6 + 1); uVar5 = uVar5 + 1; puVar7 = puVar7 + 1; } while ((longlong)uVar5 < (longlong)iVar1); } } return 0xffffffff; } ############ FUN_ 180551ab0 size=1162 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180551ab0(undefined4 *param_1,longlong *param_2,undefined8 *param_3,longlong *param_4) { uint uVar1; undefined4 *puVar2; int iVar3; longlong *plVar4; longlong lVar5; undefined8 *puVar6; uint *puVar7; char *pcVar8; void *_Dst; undefined4 **ppuVar9; longlong lVar10; undefined1 auStack_148 [32]; char **local_128; char *local_120; longlong local_118; longlong *local_110; char **local_108; char *local_100; undefined8 *local_f8; longlong local_f0; longlong local_e8; uint *local_e0; longlong *local_d8; longlong local_d0; char *local_c8; undefined4 *local_c0; longlong *local_b8; longlong *local_b0; undefined8 local_a8; longlong local_a0; longlong local_98; undefined8 local_90; longlong local_88; undefined4 *local_80; undefined4 *local_78; undefined4 local_70; undefined4 uStack_6c; undefined4 uStack_68; undefined4 uStack_64; undefined1 local_41; ulonglong local_40; local_a8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_148; local_110 = param_2; local_f8 = param_3; local_c0 = param_1; local_b8 = param_4; local_b0 = param_2; plVar4 = (longlong *)FUN_181248e40(param_2,&local_d0); local_a0 = *param_2; *param_2 = *plVar4; *plVar4 = local_a0; puVar7 = (uint *)(local_d0 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } pcVar8 = (char *)*param_2; if (*pcVar8 != '\0') { local_e0 = (uint *)(pcVar8 + -0x10); if ((*local_e0 & 0x30000000) == 0) { LOCK(); *local_e0 = *local_e0 + 1; UNLOCK(); } local_108 = (char **)CONCAT44(local_108._4_4_,2); local_c8 = pcVar8; while( true ) { lVar5 = *param_2; local_128 = (char **)((ulonglong)local_128 & 0xffffffff00000000); lVar10 = 0; local_98 = lVar5; if (*(int *)((longlong)local_f8 + 0xc) < 1) break; puVar6 = (undefined8 *)*local_f8; while( true ) { local_90 = *puVar6; iVar3 = FUN_18048cbc0(lVar5); if (iVar3 == 0) break; local_128 = (char **)CONCAT44(local_128._4_4_,(int)local_128 + 1); lVar10 = lVar10 + 1; puVar6 = puVar6 + 1; if (*(int *)((longlong)local_f8 + 0xc) <= lVar10) goto LAB_180551bf7; } if ((int)local_128 < 0) break; lVar5 = FUN_181233e10(&local_40,(ulonglong)local_108 & 0xffffffff); FUN_180495150(&local_f0,lVar5,&local_41 + -lVar5); local_120 = local_c8; if ((*local_e0 & 0x30000000) == 0) { LOCK(); *local_e0 = *local_e0 + 1; UNLOCK(); } local_128 = &local_120; lVar5 = -1; do { lVar10 = lVar5; lVar5 = lVar10 + 1; } while (local_c8[lVar5] != '\0'); FUN_1812342b0(&local_120,lVar10 + 3); pcVar8 = local_120 + (int)lVar5; memcpy(pcVar8,&DAT_182496880,2); pcVar8[2] = '\0'; iVar3 = (int)local_108; local_100 = local_120; if ((*(uint *)(local_120 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_120 + -0x10) = *(int *)(local_120 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(local_120 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_108 = &local_100; plVar4 = (longlong *)FUN_181232d30(&local_100,&local_f0); local_118 = *plVar4; if ((*(uint *)(local_118 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_118 + -0x10) = *(int *)(local_118 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(local_100 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_d8 = &local_118; local_108 = (char **)CONCAT44(local_108._4_4_,iVar3 + 1); lVar5 = -1; do { lVar10 = lVar5; lVar5 = lVar10 + 1; } while (*(char *)(local_118 + lVar5) != '\0'); FUN_1812342b0(&local_118,lVar10 + 2); _Dst = (void *)((int)lVar5 + local_118); memcpy(_Dst,&DAT_182496890,1); *(undefined1 *)((longlong)_Dst + 1) = 0; local_d8 = (longlong *)local_118; if ((*(uint *)(local_118 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_118 + -0x10) = *(int *)(local_118 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(local_118 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_88 = *local_110; *local_110 = local_118; puVar7 = (uint *)(local_88 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_f0 + -0x10); param_2 = local_110; if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } LAB_180551bf7: local_e8 = *local_110; if ((*(uint *)(local_e8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e8 + -0x10) = *(int *)(local_e8 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(local_f8,&local_e8); plVar4 = local_b8; if (local_c0 == (undefined4 *)0x0) { local_80 = local_c0; local_78 = local_c0; ppuVar9 = &local_80; } else { local_70 = *local_c0; uStack_6c = local_c0[1]; uStack_68 = local_c0[2]; uStack_64 = local_c0[3]; ppuVar9 = (undefined4 **)&local_70; } iVar3 = *(int *)((longlong)local_b8 + 0xc) + 1; if ((int)local_b8[1] < iVar3) { FUN_18049ba20(local_b8,*(int *)((longlong)local_b8 + 0xc) + 9 + iVar3 / 2 & 0xfffffff8); } iVar3 = *(int *)((longlong)plVar4 + 0xc); *(int *)((longlong)plVar4 + 0xc) = iVar3 + 1; puVar6 = (undefined8 *)((longlong)iVar3 * 0x10 + *plVar4); puVar2 = ppuVar9[1]; *puVar6 = *ppuVar9; puVar6[1] = puVar2; param_2 = local_110; if ((*local_e0 & 0x30000000) == 0) { LOCK(); uVar1 = *local_e0; *local_e0 = *local_e0 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(local_e0); } } } puVar7 = (uint *)(*param_2 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } ############ FUN_ 18122dd20 size=134 ############ undefined8 FUN_18122dd20(undefined8 *param_1,longlong *param_2) { longlong *plVar1; int iVar2; longlong *plVar3; longlong *plVar4; if (*(int *)((longlong)param_1 + 0xc) != *(int *)((longlong)param_2 + 0xc)) { return 0; } plVar3 = (longlong *)*param_2; plVar4 = (longlong *)*param_1; plVar1 = plVar3 + *(int *)((longlong)param_2 + 0xc); while( true ) { if (plVar3 == plVar1) { return 1; } if (*plVar4 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar4,*plVar3); } plVar4 = plVar4 + 1; if (iVar2 != 0) break; plVar3 = plVar3 + 1; } return 0; } ############ FUN_ 1805714d0 size=189 ############ undefined8 * FUN_1805714d0(longlong *param_1,undefined8 *param_2) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_2; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_2,puVar5[4]), -1 < iVar2)) { return puVar5 + 5; } local_res8 = param_2; lVar3 = FUN_1805730d0(param_1); FUN_180573110(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); return local_res8 + 5; } ############ FUN_ 180573110 size=657 ############ undefined8 * FUN_180573110(longlong *param_1,undefined8 *param_2,longlong *param_3,undefined8 *param_4) { char cVar1; char cVar2; longlong *plVar3; undefined8 uVar4; longlong *plVar5; longlong *plVar6; int iVar7; undefined8 *puVar8; longlong *plVar9; undefined1 local_40 [24]; if (param_1[1] == 0) { FUN_180574420(param_1,param_2,1,*param_1); } else { plVar3 = (longlong *)*param_1; if (param_3 == (longlong *)*plVar3) { iVar7 = FUN_18048cbc0(*param_4,param_3[4]); if (iVar7 < 0) { FUN_180574420(param_1,param_2,1,param_3); return param_2; } } else if (param_3 == plVar3) { iVar7 = FUN_18048cbc0(*(undefined8 *)(plVar3[2] + 0x20),*param_4); if (iVar7 < 0) { FUN_180574420(param_1,param_2,0,plVar3[2]); return param_2; } } else { uVar4 = *param_4; iVar7 = FUN_18048cbc0(uVar4,param_3[4]); if (iVar7 < 0) { if (*(char *)((longlong)param_3 + 0x19) == '\0') { plVar9 = (longlong *)*param_3; if (*(char *)((longlong)plVar9 + 0x19) == '\0') { cVar1 = *(char *)(plVar9[2] + 0x19); plVar5 = (longlong *)plVar9[2]; while (cVar1 == '\0') { cVar1 = *(char *)(plVar5[2] + 0x19); plVar9 = plVar5; plVar5 = (longlong *)plVar5[2]; } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar9 = param_3; while ((plVar6 = plVar5, cVar1 == '\0' && (plVar9 == (longlong *)*plVar6))) { cVar1 = *(char *)(plVar6[1] + 0x19); plVar5 = (longlong *)plVar6[1]; plVar9 = plVar6; } if (*(char *)((longlong)plVar9 + 0x19) == '\0') { plVar9 = plVar6; } } } else { plVar9 = (longlong *)param_3[2]; } iVar7 = FUN_18048cbc0(plVar9[4],uVar4); if (iVar7 < 0) { if (*(char *)(plVar9[2] + 0x19) != '\0') { FUN_180574420(param_1,param_2,0,plVar9); return param_2; } FUN_180574420(param_1,param_2,1,param_3); return param_2; } } iVar7 = FUN_18048cbc0(param_3[4],uVar4); if (iVar7 < 0) { plVar9 = (longlong *)param_3[2]; cVar1 = *(char *)((longlong)plVar9 + 0x19); if (cVar1 == '\0') { cVar2 = *(char *)(*plVar9 + 0x19); plVar5 = (longlong *)*plVar9; while (cVar2 == '\0') { cVar2 = *(char *)(*plVar5 + 0x19); plVar9 = plVar5; plVar5 = (longlong *)*plVar5; } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar6 = (longlong *)param_3[1]; plVar5 = param_3; while ((plVar9 = plVar6, cVar2 == '\0' && (plVar5 == (longlong *)plVar9[2]))) { cVar2 = *(char *)(plVar9[1] + 0x19); plVar6 = (longlong *)plVar9[1]; plVar5 = plVar9; } } if ((plVar9 == plVar3) || (iVar7 = FUN_18048cbc0(uVar4,plVar9[4]), iVar7 < 0)) { if (cVar1 != '\0') { FUN_180574420(param_1,param_2,0,param_3); return param_2; } FUN_180574420(param_1,param_2,1,plVar9); return param_2; } } } puVar8 = (undefined8 *)FUN_180574650(param_1,local_40); *param_2 = *puVar8; } return param_2; } ############ FUN_ 180574650 size=383 ############ undefined8 * FUN_180574650(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4) { char cVar1; undefined8 uVar2; undefined8 *puVar3; int iVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; bool bVar8; undefined1 local_res8 [8]; puVar5 = (undefined8 *)*param_1; bVar8 = true; puVar7 = puVar5; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar2 = *param_4; puVar6 = (undefined8 *)puVar5[1]; do { puVar7 = puVar6; iVar4 = FUN_18048cbc0(uVar2,puVar7[4]); bVar8 = iVar4 < 0; if (bVar8) { puVar6 = (undefined8 *)*puVar7; } else { puVar6 = (undefined8 *)puVar7[2]; } } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } puVar6 = puVar7; if (bVar8 != false) { if (puVar7 == (undefined8 *)*puVar5) { puVar5 = (undefined8 *)FUN_180574420(param_1,local_res8,1,puVar7); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar6[2] + 0x19); puVar5 = (undefined8 *)puVar6[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar5[2] + 0x19); puVar6 = puVar5; puVar5 = (undefined8 *)puVar5[2]; } } else { cVar1 = *(char *)((longlong)puVar7[1] + 0x19); puVar5 = (undefined8 *)puVar7[1]; puVar6 = puVar7; while ((puVar3 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)*puVar3))) { cVar1 = *(char *)((longlong)puVar3[1] + 0x19); puVar5 = (undefined8 *)puVar3[1]; puVar6 = puVar3; } if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar6 = puVar3; } } } else { puVar6 = (undefined8 *)puVar7[2]; } } iVar4 = FUN_18048cbc0(puVar6[4],*param_4); if (iVar4 < 0) { puVar5 = (undefined8 *)FUN_180574420(param_1,local_res8,bVar8,puVar7); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; } else { FUN_180573870(); *param_2 = puVar6; *(undefined1 *)(param_2 + 1) = 0; } return param_2; } ############ FUN_ 180564fc0 size=247 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AV?$GainRangeScalingOptionComponent@VSoothe2GainRangeScalingOption@@@@:: vtbl___AV__GainRangeScalingOptionComponent_VSoothe2GainRangeScalingOption____ (longlong param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; int iVar2; longlong *plVar3; uint *puVar4; undefined1 auStack_68 [32]; longlong local_48; longlong local_40 [2]; undefined8 *local_30; ulonglong local_28; local_40[1] = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_68; local_30 = param_3; plVar3 = (longlong *) (**(code **)(**(longlong **)(param_1 + 8) + 0x10))(*(longlong **)(param_1 + 8),local_40); if (*param_2 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*param_2,*plVar3); } puVar4 = (uint *)(local_40[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (iVar2 == 0) { (**(code **)(**(longlong **)(param_1 + 0x248) + 0x38)) (*(longlong **)(param_1 + 0x248),&local_48,param_3); FUN_180568ed0(param_1 + -200,&local_48); puVar4 = (uint *)(local_48 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 180568ed0 size=164 ############ void FUN_180568ed0(longlong param_1,longlong *param_2) { longlong lVar1; longlong lVar2; int iVar3; ulonglong uVar4; ulonglong uVar5; longlong *plVar6; plVar6 = *(longlong **)(param_1 + 0xf0); uVar5 = 0; uVar4 = (ulonglong)((longlong)(plVar6 + *(int *)(param_1 + 0xfc)) + (7 - (longlong)plVar6)) >> 3; if (plVar6 + *(int *)(param_1 + 0xfc) < plVar6) { uVar4 = uVar5; } if (uVar4 != 0) { do { lVar1 = *plVar6; lVar2 = *(longlong *)(lVar1 + 8); if (*param_2 == lVar2) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*param_2,lVar2); } FUN_181337080(lVar1,iVar3 == 0,0,0); plVar6 = plVar6 + 1; uVar5 = uVar5 + 1; } while (uVar5 != uVar4); } return; } ############ FUN_ 180568f80 size=900 ############ void FUN_180568f80(longlong *param_1,longlong *param_2) { uint uVar1; undefined1 auVar2 [16]; undefined4 uVar3; char cVar4; int iVar5; int iVar6; undefined1 (*pauVar7) [16]; longlong lVar8; uint *puVar9; undefined4 uVar10; longlong local_res8; undefined **local_60; longlong local_58; undefined1 local_50 [16]; undefined1 local_40 [40]; uVar10 = DAT_1824c3ea4; lVar8 = *param_2; if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar8 + -0x10) = *(int *)(lVar8 + -0x10) + 1; UNLOCK(); } iVar6 = 0; if (lVar8 == DAT_182673808) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(lVar8); } uVar3 = DAT_1824c41e0; local_res8 = lVar8; if ((iVar5 == 0) && (cVar4 = FUN_18056a2c0(param_1), uVar10 = uVar3, cVar4 == '\0')) { if ((*(uint *)(DAT_1826737c0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_1826737c0 + -0x10) = *(int *)(DAT_1826737c0 + -0x10) + 1; UNLOCK(); } LOCK(); local_res8 = DAT_1826737c0; UNLOCK(); puVar9 = (uint *)(lVar8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } lVar8 = local_res8; if (local_res8 == DAT_1826737c0) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(local_res8); } uVar3 = DAT_1824c3fb0; if ((iVar5 == 0) && (cVar4 = FUN_18056a2c0(param_1), uVar10 = uVar3, cVar4 == '\0')) { if ((*(uint *)(DAT_182673918 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_182673918 + -0x10) = *(int *)(DAT_182673918 + -0x10) + 1; UNLOCK(); } LOCK(); local_res8 = DAT_182673918; UNLOCK(); puVar9 = (uint *)(lVar8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } lVar8 = local_res8; if (local_res8 == DAT_182673918) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(local_res8); } uVar3 = DAT_1824c3f10; if ((iVar5 == 0) && (cVar4 = FUN_18056a2c0(param_1), uVar10 = uVar3, cVar4 == '\0')) { if ((*(uint *)(DAT_1826738c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_1826738c8 + -0x10) = *(int *)(DAT_1826738c8 + -0x10) + 1; UNLOCK(); } LOCK(); local_res8 = DAT_1826738c8; UNLOCK(); puVar9 = (uint *)(lVar8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } if (local_res8 != DAT_1826738c8) { iVar6 = FUN_18048cbc0(local_res8); } if (iVar6 == 0) { uVar10 = DAT_1824c3ea4; } if ((undefined **)param_1[0x28] == Soothe2AudioProcessorEditor::vftable) { lVar8 = param_1[0x29]; } else { lVar8 = (*(code *)((undefined **)param_1[0x28])[1])(); } *(undefined4 *)(lVar8 + 0x88) = uVar10; FUN_180569310(param_1); local_60 = &PTR_vftable_18262b560; local_58 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } (**(code **)(param_1[0xa4] + 0x28))(param_1 + 0xa4,&local_60); if (param_1[0x90] != 0) { pauVar7 = (undefined1 (*) [16])(**(code **)(*param_1 + 400))(param_1,local_50); auVar2 = *pauVar7; lVar8 = param_1[0x90]; *(undefined1 (*) [16])(lVar8 + 0xc4) = auVar2; FUN_18134bfe0(lVar8,auVar2._0_8_,auVar2._0_8_ >> 0x20,auVar2._8_8_,auVar2._12_4_); } if (param_1[0x91] != 0) { pauVar7 = (undefined1 (*) [16])(**(code **)(*param_1 + 0x188))(param_1,local_40); auVar2 = *pauVar7; lVar8 = param_1[0x91]; *(undefined1 (*) [16])(lVar8 + 0xc4) = auVar2; FUN_18134bfe0(lVar8,auVar2._0_8_,auVar2._0_8_ >> 0x20,auVar2._8_8_,auVar2._12_4_); } puVar9 = (uint *)(local_res8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } return; } ############ FUN_ 180566130 size=268 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180566130(longlong param_1,undefined8 param_2,undefined8 *param_3) { uint *_Memory; uint uVar1; longlong *plVar2; bool bVar3; char cVar4; undefined1 uVar5; int iVar6; undefined1 auStack_68 [32]; undefined4 local_48; longlong local_40; undefined8 local_38; undefined8 *local_30; ulonglong local_28; local_38 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_68; local_40 = *(longlong *)(param_1 + 1000); _Memory = (uint *)(local_40 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_48 = 1; local_30 = param_3; iVar6 = FUN_18048cbc0(param_2,local_40); if (iVar6 == 0) { cVar4 = FUN_18055e010(param_1 + 0x3e0); if ((cVar4 != '\0') && (*(longlong *)(param_1 + 0x348) != 0)) { bVar3 = true; goto LAB_1805661c9; } } bVar3 = false; LAB_1805661c9: if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (bVar3) { plVar2 = *(longlong **)(param_1 + 0x348); uVar5 = FUN_180528b30(param_1 + 0x3e0); (**(code **)(*plVar2 + 0x58))(plVar2,uVar5); FUN_180569310(param_1 + -0x160); } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 1814c5d10 size=410 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814c5d10(void) { uint uVar1; char *pcVar2; BOOL BVar3; ulonglong uVar4; undefined8 *puVar5; uint *puVar6; undefined1 auStackY_a8 [32]; DWORD local_78 [2]; undefined **local_70; longlong local_68; HANDLE local_60; longlong local_58; char *local_50; longlong local_48; longlong local_40 [2]; char *local_30; undefined1 local_28 [11]; undefined1 local_1d; ulonglong local_18; local_40[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStackY_a8; FUN_18123efe0(&local_70); if (*local_50 == '\0') { uVar4 = 0; if (local_60 != (HANDLE)0x0) { local_78[0] = 0; BVar3 = ReadFile(local_60,local_28,0xb,local_78,(LPOVERLAPPED)0x0); if (BVar3 == 0) { puVar5 = (undefined8 *)FUN_1812181b0(&local_48); local_30 = local_50; pcVar2 = (char *)*puVar5; *puVar5 = local_50; puVar6 = (uint *)(local_48 + -0x10); local_50 = pcVar2; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } uVar4 = (ulonglong)local_78[0]; } local_58 = local_58 + uVar4; local_1d = 0; FUN_18049c4e0(local_40,local_28); FUN_18048cbc0(local_40[0],""); puVar6 = (uint *)(local_40[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } local_70 = juce::FileInputStream::vftable; CloseHandle(local_60); puVar6 = (uint *)(local_50 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_68 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } ############ FUN_ 181347ea0 size=185 ############ void FUN_181347ea0(longlong param_1,longlong *param_2) { longlong lVar1; int iVar2; int *_Memory; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; lVar1 = *param_2; if (*(longlong *)(param_1 + 0x158) != lVar1) { iVar2 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0x158),lVar1); if (iVar2 != 0) { if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } LOCK(); lVar1 = *(longlong *)(param_1 + 0x158); *(longlong *)(param_1 + 0x158) = *param_2; UNLOCK(); _Memory = (int *)(lVar1 + -0x10); if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; uStack_14 = 0; FUN_181342870(param_1,&local_18,1); } } return; } ############ FUN_ 18056eca0 size=181 ############ void FUN_18056eca0(longlong param_1,undefined8 *param_2,undefined4 *param_3) { uint *_Memory; undefined4 uVar1; uint uVar2; undefined8 uVar3; longlong *plVar4; int iVar5; longlong local_res8; uVar3 = *param_2; uVar1 = *param_3; FUN_18049c4e0(&local_res8,"alpha"); iVar5 = FUN_18048cbc0(uVar3,local_res8); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (iVar5 == 0) { *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x18) = uVar1; } else { *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x310) = uVar1; } FUN_18055fee0(*(undefined8 *)(param_1 + 8)); plVar4 = *(longlong **)(*(longlong *)(param_1 + 8) + 0x60); if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } /* WARNING: Could not recover jumptable at 0x00018056ed52. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar4 + 0x10))(); return; } ############ FUN_ 180578d20 size=250 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180578d20(longlong param_1,undefined8 param_2,undefined8 *param_3) { uint *_Memory; uint uVar1; int iVar2; undefined1 auStack_78 [32]; undefined8 local_58; undefined4 uStack_50; undefined4 uStack_4c; longlong local_48; undefined8 local_40; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; undefined8 *local_28; ulonglong local_20; local_40 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_48 = *(longlong *)(param_1 + 0x18); _Memory = (uint *)(local_48 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_28 = param_3; iVar2 = FUN_18048cbc0(param_2,local_48); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (iVar2 == 0) { (**(code **)(*(longlong *)(param_1 + -0x1e0) + 400))(); uStack_4c = *(undefined4 *)(param_1 + -0x1b4); uStack_50 = *(undefined4 *)(param_1 + -0x1b8); local_58 = 0; local_38 = 0; uStack_34 = 0; uStack_30 = uStack_50; uStack_2c = uStack_4c; FUN_181342870(param_1 + -0x1e0,&local_38,1); } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 1813438f0 size=151 ############ longlong FUN_1813438f0(longlong param_1,undefined8 param_2,char param_3) { longlong *plVar1; int iVar2; longlong lVar3; longlong *plVar4; plVar4 = *(longlong **)(param_1 + 0x40); plVar1 = plVar4 + *(int *)(param_1 + 0x4c); while( true ) { if (plVar4 == plVar1) { return 0; } lVar3 = *plVar4; iVar2 = FUN_18048cbc0(*(undefined8 *)(lVar3 + 0x10),param_2); if (iVar2 == 0) break; if ((param_3 != '\0') && (lVar3 = FUN_1813438f0(lVar3,param_2,param_3), lVar3 != 0)) { return lVar3; } plVar4 = plVar4 + 1; } return lVar3; } ############ FUN_ 1814cddf0 size=2716 ############ void FUN_1814cddf0(longlong param_1) { int *piVar1; undefined4 uVar2; byte bVar3; longlong lVar4; longlong *plVar5; char cVar6; uint uVar7; int iVar8; undefined4 uVar9; longlong *plVar10; undefined8 *puVar11; undefined8 uVar12; undefined8 uVar13; uint *puVar14; byte *pbVar15; byte *pbVar16; uint *puVar17; longlong lVar18; ulonglong uVar19; undefined8 **ppuVar20; int iVar21; int iVar22; float fVar23; double dVar24; longlong local_168; undefined8 *local_160; byte *local_158; undefined8 *local_150; undefined8 *local_148; undefined4 local_140 [2]; undefined8 *local_138; undefined8 *local_130; undefined8 *local_128; undefined1 *local_120; undefined4 local_118; undefined4 local_114; undefined8 local_110; undefined8 local_108; undefined8 local_100; byte *local_f8; char *local_f0; char *local_e8; longlong local_e0; undefined8 *local_d8; longlong local_d0; longlong local_c8; undefined8 *local_c0; longlong local_b8; undefined8 *local_b0; undefined8 local_a8; longlong local_a0; longlong local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; local_a8 = 0xfffffffffffffffe; iVar21 = 0; iVar22 = 0; FUN_1812520a0(param_1 + 0x120,*(float *)(param_1 + 0x128) * DAT_1824c3ddc); if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar2 = *(undefined4 *)(param_1 + 0x128); local_138 = (undefined8 *)**(longlong **)(*(longlong *)(param_1 + 0xb8) + 0x70); if (local_138 != (undefined8 *)0x0) { LOCK(); *(int *)(local_138 + 1) = *(int *)(local_138 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_138,uVar2); uVar2 = DAT_1824c3c7c; FUN_181251cf0(&local_138,&local_148,DAT_1824c3c7c); if (local_138 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_138 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_138)(local_138,1); } } if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar9 = *(undefined4 *)(param_1 + 0x128); local_130 = (undefined8 *)**(longlong **)(*(longlong *)(param_1 + 0xb8) + 0x68); if (local_130 != (undefined8 *)0x0) { LOCK(); *(int *)(local_130 + 1) = *(int *)(local_130 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_130,uVar9); FUN_181251cf0(&local_130,&local_d8,uVar2); if (local_130 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_130 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_130)(local_130,1); } } uVar2 = DAT_1824c4668; local_120 = &DAT_1821dbf98; local_118 = 0; local_114 = 1; local_110 = 1; local_108 = 0; local_100 = 0; for (puVar11 = *(undefined8 **)(param_1 + 0x108); puVar11 != (undefined8 *)0x0; puVar11 = (undefined8 *)*puVar11) { iVar22 = iVar22 + 1; } if (iVar22 < 1) { LAB_1814ce7cc: FUN_18124e420(param_1 + 0xd0,&local_120,*(undefined4 *)(param_1 + 0xfc),DAT_1824c4610); FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24), (int)*(float *)(param_1 + 0xe0),(int)*(float *)(param_1 + 0xe4)); FUN_1804f45e0(&local_120); if (local_d8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_d8 + 1); iVar22 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar22 == 1) { (**(code **)*local_d8)(local_d8,1); } } if (local_148 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_148 + 1); iVar22 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar22 == 1) { (**(code **)*local_148)(local_148,1); } } return; } LAB_1814cdfd5: plVar10 = (longlong *)(param_1 + 0x108); iVar8 = iVar21; do { plVar5 = plVar10; iVar8 = iVar8 + -1; if (iVar8 < 0) break; plVar10 = (longlong *)*plVar5; } while (plVar10 != (longlong *)0x0); lVar18 = *plVar5; FUN_181246700(lVar18,&local_168); if (iVar21 == 0) { plVar10 = (longlong *)FUN_181230650(&local_168,&local_d0,&DAT_1821e768c); local_a0 = local_168; lVar4 = *plVar10; *plVar10 = local_168; puVar14 = (uint *)(local_d0 + -0x10); uVar7 = *puVar14; local_168 = lVar4; LAB_1814ce077: if ((uVar7 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } } else if (iVar21 == iVar22 + -1) { plVar10 = (longlong *)FUN_1812304e0(&local_168,&local_c8,&DAT_1821e76ac); local_98 = local_168; lVar4 = *plVar10; *plVar10 = local_168; puVar14 = (uint *)(local_c8 + -0x10); uVar7 = *puVar14; local_168 = lVar4; goto LAB_1814ce077; } iVar8 = FUN_18048cbc0(*(undefined8 *)(lVar18 + 0x18),&DAT_1821e7754); if (iVar8 == 0) { FUN_18049c4e0(&local_f8,&DAT_1821e778c); FUN_181232d30(&local_120,&local_f8); pbVar16 = local_f8; lVar18 = 0; pbVar15 = local_f8; LAB_1814ce0d6: do { bVar3 = *pbVar15; pbVar15 = pbVar15 + 1; if ((char)bVar3 < '\0') { if ((*pbVar15 & 0xc0) == 0x80) { do { pbVar15 = pbVar15 + 1; } while ((*pbVar15 & 0xc0) == 0x80); lVar18 = lVar18 + 1; goto LAB_1814ce0d6; } } else if (bVar3 == 0) goto LAB_1814ce10a; lVar18 = lVar18 + 1; } while( true ); } iVar8 = FUN_18048cbc0(*(undefined8 *)(lVar18 + 0x18),&DAT_1821e7f1c); if (iVar8 == 0) { FUN_181251cf0(&local_148,&local_150,uVar2); FUN_18049c4e0(&local_158,&DAT_1821e757c); plVar10 = (longlong *)FUN_181252280(&local_150); fVar23 = (float)(**(code **)(*plVar10 + 0x28))(plVar10,&local_158); pbVar16 = local_158; if (*(float *)(local_150 + 6) != 0.0) { iVar8 = 0; pbVar15 = local_158; LAB_1814ce1d0: do { bVar3 = *pbVar15; pbVar15 = pbVar15 + 1; if ((char)bVar3 < '\0') { if ((*pbVar15 & 0xc0) == 0x80) { do { pbVar15 = pbVar15 + 1; } while ((*pbVar15 & 0xc0) == 0x80); iVar8 = iVar8 + 1; goto LAB_1814ce1d0; } } else if (bVar3 == 0) goto LAB_1814ce20c; iVar8 = iVar8 + 1; } while( true ); } goto LAB_1814ce21c; } iVar8 = FUN_18048cbc0(*(undefined8 *)(lVar18 + 0x18),"STYLE"); if (iVar8 != 0) { iVar8 = FUN_18048cbc0(*(undefined8 *)(lVar18 + 0x18),&DAT_182289b24); if (iVar8 == 0) { uVar9 = *(undefined4 *)(param_1 + 0xf8); cVar6 = FUN_181246e10(lVar18,"colour"); if (cVar6 != '\0') { puVar11 = (undefined8 *)FUN_181246db0(lVar18,"colour"); local_80 = *puVar11; uVar9 = FUN_18049c3c0(); } cVar6 = FUN_181246e10(lVar18,&DAT_18228a254); if (cVar6 != '\0') { FUN_181246d40(lVar18,&DAT_18228a6e4,0); } uVar12 = FUN_181246db0(lVar18,&DAT_182293e64); uVar12 = FUN_1804861f0(param_1 + 0x130,uVar12); uVar13 = FUN_181252200(param_1 + 0x120,&local_b0); FUN_18049cc00(&local_e0,uVar12,1); FUN_181255140(&local_120,&local_e0,uVar13,uVar9); puVar14 = (uint *)(local_e0 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if (local_b0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_b0 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_b0)(local_b0,1); } } } else { FUN_181255140(&local_120,&local_168,&local_148,*(undefined4 *)(param_1 + 0xf8)); } goto LAB_1814ce78d; } FUN_18049c4e0(&local_f0,""); for (puVar11 = *(undefined8 **)(lVar18 + 0x10); puVar11 != (undefined8 *)0x0; puVar11 = (undefined8 *)*puVar11) { local_90 = puVar11[1]; iVar8 = FUN_18048cbc0(local_90,&DAT_1821e75bc); if (iVar8 == 0) { local_e8 = (char *)puVar11[2]; puVar14 = (uint *)(local_e8 + -0x10); uVar7 = *puVar14; goto LAB_1814ce387; } } puVar14 = (uint *)(local_f0 + -0x10); uVar7 = *puVar14; local_e8 = local_f0; LAB_1814ce387: if ((uVar7 & 0x30000000) == 0) { LOCK(); *puVar14 = *puVar14 + 1; UNLOCK(); } puVar17 = (uint *)(local_f0 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if ((*local_e8 == '\0') || (iVar8 = FUN_18048cbc0(local_e8,&DAT_1821e7654), iVar8 == 0)) { cVar6 = FUN_181246e10(lVar18,&DAT_182281a14); ppuVar20 = &local_d8; if (cVar6 == '\0') { ppuVar20 = &local_148; } puVar11 = *ppuVar20; if (puVar11 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar11 + 1) = *(int *)(puVar11 + 1) + 1; UNLOCK(); } local_160 = puVar11; cVar6 = FUN_181246e10(lVar18,&DAT_1822823e4); if (cVar6 != '\0') { fVar23 = *(float *)(puVar11 + 5); dVar24 = (double)FUN_181246d40(lVar18,&DAT_1822827c4,0); LOCK(); *(int *)(puVar11 + 1) = *(int *)(puVar11 + 1) + 1; UNLOCK(); local_128 = puVar11; FUN_1812520a0(&local_128,(float)(dVar24 * (double)fVar23)); puVar11 = local_160; local_c0 = local_160; local_160 = local_128; local_128 = puVar11; if (puVar11 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar11 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*puVar11)(puVar11,1); } } } uVar9 = *(undefined4 *)(param_1 + 0xf8); cVar6 = FUN_181246e10(lVar18,"colour"); if (cVar6 != '\0') { puVar11 = (undefined8 *)FUN_181246db0(lVar18,"colour"); local_88 = *puVar11; uVar9 = FUN_18049c3c0(); } uVar12 = FUN_181246700(lVar18,&local_b8); FUN_181255140(&local_120,uVar12,&local_160,uVar9); puVar17 = (uint *)(local_b8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if (local_160 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_160 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_160)(local_160,1); } } if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } goto LAB_1814ce78d; } if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_168 + -0x10); uVar7 = *puVar14; goto LAB_1814ce798; LAB_1814ce10a: FUN_1812554b0(&local_108,lVar18,0,0); puVar14 = (uint *)(pbVar16 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } goto LAB_1814ce78d; LAB_1814ce20c: fVar23 = fVar23 + (float)iVar8 * *(float *)(local_150 + 6); LAB_1814ce21c: fVar23 = floorf(*(float *)(param_1 + 0xfc) / (fVar23 * *(float *)(local_150 + 5) * *(float *)((longlong)local_150 + 0x2c))); if (0 < (int)fVar23) { local_140[0] = 0x405b636e; uVar19 = (ulonglong)(uint)(int)fVar23; LAB_1814ce250: FUN_181232d30(&local_120,&local_158); lVar18 = 0; pbVar16 = local_158; LAB_1814ce266: do { bVar3 = *pbVar16; pbVar16 = pbVar16 + 1; if ((char)bVar3 < '\0') { if ((*pbVar16 & 0xc0) == 0x80) { do { pbVar16 = pbVar16 + 1; } while ((*pbVar16 & 0xc0) == 0x80); lVar18 = lVar18 + 1; goto LAB_1814ce266; } } else if (bVar3 == 0) goto LAB_1814ce29a; lVar18 = lVar18 + 1; } while( true ); } LAB_1814ce2b8: puVar14 = (uint *)(pbVar16 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if (local_150 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_150 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_150)(local_150,1); } } LAB_1814ce78d: puVar14 = (uint *)(local_168 + -0x10); uVar7 = *puVar14; LAB_1814ce798: if ((uVar7 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } iVar21 = iVar21 + 1; if (iVar22 <= iVar21) goto LAB_1814ce7cc; goto LAB_1814cdfd5; LAB_1814ce29a: FUN_1812554b0(&local_108,lVar18,&local_150,local_140); uVar19 = uVar19 - 1; pbVar16 = local_158; if (uVar19 == 0) goto LAB_1814ce2b8; goto LAB_1814ce250; } ############ FUN_ 18057bf60 size=218 ############ undefined8 * FUN_18057bf60(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_3; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_3,puVar5[4]), -1 < iVar2)) { *param_2 = puVar5; *(undefined1 *)(param_2 + 1) = 0; return param_2; } local_res8 = param_3; lVar3 = FUN_18057dfc0(param_1); FUN_18057e000(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); *param_2 = local_res8; *(undefined1 *)(param_2 + 1) = 1; return param_2; } ############ FUN_ 18057e000 size=657 ############ undefined8 * FUN_18057e000(longlong *param_1,undefined8 *param_2,longlong *param_3,undefined8 *param_4) { char cVar1; char cVar2; longlong *plVar3; undefined8 uVar4; longlong *plVar5; longlong *plVar6; int iVar7; undefined8 *puVar8; longlong *plVar9; undefined1 local_40 [24]; if (param_1[1] == 0) { FUN_18057e6f0(param_1,param_2,1,*param_1); } else { plVar3 = (longlong *)*param_1; if (param_3 == (longlong *)*plVar3) { iVar7 = FUN_18048cbc0(*param_4,param_3[4]); if (iVar7 < 0) { FUN_18057e6f0(param_1,param_2,1,param_3); return param_2; } } else if (param_3 == plVar3) { iVar7 = FUN_18048cbc0(*(undefined8 *)(plVar3[2] + 0x20),*param_4); if (iVar7 < 0) { FUN_18057e6f0(param_1,param_2,0,plVar3[2]); return param_2; } } else { uVar4 = *param_4; iVar7 = FUN_18048cbc0(uVar4,param_3[4]); if (iVar7 < 0) { if (*(char *)((longlong)param_3 + 0x19) == '\0') { plVar9 = (longlong *)*param_3; if (*(char *)((longlong)plVar9 + 0x19) == '\0') { cVar1 = *(char *)(plVar9[2] + 0x19); plVar5 = (longlong *)plVar9[2]; while (cVar1 == '\0') { cVar1 = *(char *)(plVar5[2] + 0x19); plVar9 = plVar5; plVar5 = (longlong *)plVar5[2]; } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar9 = param_3; while ((plVar6 = plVar5, cVar1 == '\0' && (plVar9 == (longlong *)*plVar6))) { cVar1 = *(char *)(plVar6[1] + 0x19); plVar5 = (longlong *)plVar6[1]; plVar9 = plVar6; } if (*(char *)((longlong)plVar9 + 0x19) == '\0') { plVar9 = plVar6; } } } else { plVar9 = (longlong *)param_3[2]; } iVar7 = FUN_18048cbc0(plVar9[4],uVar4); if (iVar7 < 0) { if (*(char *)(plVar9[2] + 0x19) != '\0') { FUN_18057e6f0(param_1,param_2,0,plVar9); return param_2; } FUN_18057e6f0(param_1,param_2,1,param_3); return param_2; } } iVar7 = FUN_18048cbc0(param_3[4],uVar4); if (iVar7 < 0) { plVar9 = (longlong *)param_3[2]; cVar1 = *(char *)((longlong)plVar9 + 0x19); if (cVar1 == '\0') { cVar2 = *(char *)(*plVar9 + 0x19); plVar5 = (longlong *)*plVar9; while (cVar2 == '\0') { cVar2 = *(char *)(*plVar5 + 0x19); plVar9 = plVar5; plVar5 = (longlong *)*plVar5; } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar6 = (longlong *)param_3[1]; plVar5 = param_3; while ((plVar9 = plVar6, cVar2 == '\0' && (plVar5 == (longlong *)plVar9[2]))) { cVar2 = *(char *)(plVar9[1] + 0x19); plVar6 = (longlong *)plVar9[1]; plVar5 = plVar9; } } if ((plVar9 == plVar3) || (iVar7 = FUN_18048cbc0(uVar4,plVar9[4]), iVar7 < 0)) { if (cVar1 != '\0') { FUN_18057e6f0(param_1,param_2,0,param_3); return param_2; } FUN_18057e6f0(param_1,param_2,1,plVar9); return param_2; } } } puVar8 = (undefined8 *)FUN_18057e920(param_1,local_40); *param_2 = *puVar8; } return param_2; } ############ FUN_ 18057e920 size=391 ############ undefined8 * FUN_18057e920(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4, void *param_5) { char cVar1; undefined8 uVar2; undefined8 *puVar3; int iVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; bool bVar8; undefined1 local_res8 [8]; puVar5 = (undefined8 *)*param_1; bVar8 = true; puVar7 = puVar5; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar2 = *param_4; puVar6 = (undefined8 *)puVar5[1]; do { puVar7 = puVar6; iVar4 = FUN_18048cbc0(uVar2,puVar7[4]); bVar8 = iVar4 < 0; if (bVar8) { puVar6 = (undefined8 *)*puVar7; } else { puVar6 = (undefined8 *)puVar7[2]; } } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } puVar6 = puVar7; if (bVar8 != false) { if (puVar7 == (undefined8 *)*puVar5) { puVar5 = (undefined8 *)FUN_18057e6f0(param_1,local_res8,1,puVar7); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar6[2] + 0x19); puVar5 = (undefined8 *)puVar6[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar5[2] + 0x19); puVar6 = puVar5; puVar5 = (undefined8 *)puVar5[2]; } } else { cVar1 = *(char *)((longlong)puVar7[1] + 0x19); puVar5 = (undefined8 *)puVar7[1]; puVar6 = puVar7; while ((puVar3 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)*puVar3))) { cVar1 = *(char *)((longlong)puVar3[1] + 0x19); puVar5 = (undefined8 *)puVar3[1]; puVar6 = puVar3; } if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar6 = puVar3; } } } else { puVar6 = (undefined8 *)puVar7[2]; } } iVar4 = FUN_18048cbc0(puVar6[4],*param_4); if (iVar4 < 0) { puVar5 = (undefined8 *)FUN_18057e6f0(param_1,local_res8,bVar8,puVar7); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; return param_2; } FUN_1804d1090((longlong)param_5 + 0x20); /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 18057eee0 size=515 ############ undefined8 FUN_18057eee0(undefined8 *param_1) { int iVar1; undefined8 uVar2; uVar2 = FUN_18048cbc0(*param_1,"6 dB/oct"); if ((int)uVar2 == 0) { return uVar2; } iVar1 = FUN_18048cbc0(*param_1,"12 dB/oct"); if (iVar1 == 0) { return 1; } iVar1 = FUN_18048cbc0(*param_1,"24 dB/oct"); if (iVar1 == 0) { return 2; } iVar1 = FUN_18048cbc0(*param_1,"48 dB/oct"); if (iVar1 == 0) { return 3; } iVar1 = FUN_18048cbc0(*param_1,"6 dB/oct"); if (iVar1 == 0) { return 4; } iVar1 = FUN_18048cbc0(*param_1,"12 dB/oct"); if (iVar1 == 0) { return 5; } iVar1 = FUN_18048cbc0(*param_1,"24 dB/oct"); if (iVar1 == 0) { return 6; } iVar1 = FUN_18048cbc0(*param_1,"48 dB/oct"); if (iVar1 == 0) { return 7; } iVar1 = FUN_18048cbc0(*param_1,"band pass"); if (iVar1 == 0) { return 0xc; } iVar1 = FUN_18048cbc0(*param_1,&DAT_1824b0314); if (iVar1 == 0) { return 8; } iVar1 = FUN_18048cbc0(*param_1,"high shelf"); if (iVar1 != 0) { iVar1 = FUN_18048cbc0(*param_1,"low shelf"); if (iVar1 == 0) { return 10; } iVar1 = FUN_18048cbc0(*param_1,&DAT_1824b02ac); if (iVar1 == 0) { return 0xb; } iVar1 = FUN_18048cbc0(*param_1,"band shelf"); if (iVar1 == 0) { return 0xd; } iVar1 = FUN_18048cbc0(*param_1,"band reject"); if (iVar1 == 0) { return 0xe; } iVar1 = FUN_18048cbc0(*param_1,"hi shelf"); if (iVar1 != 0) { iVar1 = FUN_18048cbc0(*param_1,"lo shelf"); uVar2 = 0xffffffff; if (iVar1 == 0) { uVar2 = 10; } return uVar2; } } return 9; } ############ FUN_ 1805817a0 size=148 ############ undefined8 * FUN_1805817a0(longlong *param_1,undefined8 *param_2) { undefined8 uVar1; code *pcVar2; int iVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; puVar4 = (undefined8 *)*param_1; puVar6 = puVar4; if (*(char *)((longlong)puVar4[1] + 0x19) == '\0') { uVar1 = *param_2; puVar5 = puVar4; puVar7 = (undefined8 *)puVar4[1]; do { puVar6 = puVar7; iVar3 = FUN_18048cbc0(puVar6[4],uVar1); if (iVar3 < 0) { puVar7 = (undefined8 *)puVar6[2]; puVar6 = puVar5; } else { puVar7 = (undefined8 *)*puVar6; } puVar5 = puVar6; } while (*(char *)((longlong)puVar7 + 0x19) == '\0'); } if ((puVar6 != puVar4) && (iVar3 = FUN_18048cbc0(*param_2,puVar6[4]), -1 < iVar3)) { return puVar6 + 5; } std::_Xout_of_range("invalid map key"); pcVar2 = (code *)swi(3); puVar4 = (undefined8 *)(*pcVar2)(); return puVar4; } ############ FUN_ 180581840 size=189 ############ undefined8 * FUN_180581840(longlong *param_1,undefined8 *param_2) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_2; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_2,puVar5[4]), -1 < iVar2)) { return puVar5 + 5; } local_res8 = param_2; lVar3 = FUN_180588140(param_1); FUN_1805881a0(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); return local_res8 + 5; } ############ FUN_ 1805881a0 size=657 ############ undefined8 * FUN_1805881a0(longlong *param_1,undefined8 *param_2,longlong *param_3,undefined8 *param_4) { char cVar1; char cVar2; longlong *plVar3; undefined8 uVar4; longlong *plVar5; longlong *plVar6; int iVar7; undefined8 *puVar8; longlong *plVar9; undefined1 local_40 [24]; if (param_1[1] == 0) { FUN_180588490(param_1,param_2,1,*param_1); } else { plVar3 = (longlong *)*param_1; if (param_3 == (longlong *)*plVar3) { iVar7 = FUN_18048cbc0(*param_4,param_3[4]); if (iVar7 < 0) { FUN_180588490(param_1,param_2,1,param_3); return param_2; } } else if (param_3 == plVar3) { iVar7 = FUN_18048cbc0(*(undefined8 *)(plVar3[2] + 0x20),*param_4); if (iVar7 < 0) { FUN_180588490(param_1,param_2,0,plVar3[2]); return param_2; } } else { uVar4 = *param_4; iVar7 = FUN_18048cbc0(uVar4,param_3[4]); if (iVar7 < 0) { if (*(char *)((longlong)param_3 + 0x19) == '\0') { plVar9 = (longlong *)*param_3; if (*(char *)((longlong)plVar9 + 0x19) == '\0') { cVar1 = *(char *)(plVar9[2] + 0x19); plVar5 = (longlong *)plVar9[2]; while (cVar1 == '\0') { cVar1 = *(char *)(plVar5[2] + 0x19); plVar9 = plVar5; plVar5 = (longlong *)plVar5[2]; } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar9 = param_3; while ((plVar6 = plVar5, cVar1 == '\0' && (plVar9 == (longlong *)*plVar6))) { cVar1 = *(char *)(plVar6[1] + 0x19); plVar5 = (longlong *)plVar6[1]; plVar9 = plVar6; } if (*(char *)((longlong)plVar9 + 0x19) == '\0') { plVar9 = plVar6; } } } else { plVar9 = (longlong *)param_3[2]; } iVar7 = FUN_18048cbc0(plVar9[4],uVar4); if (iVar7 < 0) { if (*(char *)(plVar9[2] + 0x19) != '\0') { FUN_180588490(param_1,param_2,0,plVar9); return param_2; } FUN_180588490(param_1,param_2,1,param_3); return param_2; } } iVar7 = FUN_18048cbc0(param_3[4],uVar4); if (iVar7 < 0) { plVar9 = (longlong *)param_3[2]; cVar1 = *(char *)((longlong)plVar9 + 0x19); if (cVar1 == '\0') { cVar2 = *(char *)(*plVar9 + 0x19); plVar5 = (longlong *)*plVar9; while (cVar2 == '\0') { cVar2 = *(char *)(*plVar5 + 0x19); plVar9 = plVar5; plVar5 = (longlong *)*plVar5; } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar6 = (longlong *)param_3[1]; plVar5 = param_3; while ((plVar9 = plVar6, cVar2 == '\0' && (plVar5 == (longlong *)plVar9[2]))) { cVar2 = *(char *)(plVar9[1] + 0x19); plVar6 = (longlong *)plVar9[1]; plVar5 = plVar9; } } if ((plVar9 == plVar3) || (iVar7 = FUN_18048cbc0(uVar4,plVar9[4]), iVar7 < 0)) { if (cVar1 != '\0') { FUN_180588490(param_1,param_2,0,param_3); return param_2; } FUN_180588490(param_1,param_2,1,plVar9); return param_2; } } } puVar8 = (undefined8 *)FUN_1805886c0(param_1,local_40); *param_2 = *puVar8; } return param_2; } ############ FUN_ 1805886c0 size=500 ############ undefined8 * FUN_1805886c0(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4, void *param_5) { uint uVar1; char cVar2; undefined8 uVar3; undefined8 *puVar4; int iVar5; undefined8 *puVar6; undefined8 *puVar7; uint *_Memory; undefined8 *puVar8; bool bVar9; undefined1 local_48 [8]; undefined8 local_40; undefined8 local_38; undefined1 local_30 [8]; puVar6 = (undefined8 *)*param_1; bVar9 = true; puVar8 = puVar6; if (*(char *)((longlong)puVar6[1] + 0x19) == '\0') { uVar3 = *param_4; puVar7 = (undefined8 *)puVar6[1]; do { puVar8 = puVar7; iVar5 = FUN_18048cbc0(uVar3); bVar9 = iVar5 < 0; if (bVar9) { puVar7 = (undefined8 *)*puVar8; } else { puVar7 = (undefined8 *)puVar8[2]; } } while (*(char *)((longlong)puVar7 + 0x19) == '\0'); } puVar7 = puVar8; if (bVar9 != false) { if (puVar8 == (undefined8 *)*puVar6) { puVar6 = (undefined8 *)FUN_180588490(param_1,local_48,1,puVar8); *param_2 = *puVar6; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar8 + 0x19) == '\0') { puVar7 = (undefined8 *)*puVar8; if (*(char *)((longlong)puVar7 + 0x19) == '\0') { cVar2 = *(char *)((longlong)puVar7[2] + 0x19); puVar6 = (undefined8 *)puVar7[2]; while (cVar2 == '\0') { cVar2 = *(char *)((longlong)puVar6[2] + 0x19); puVar7 = puVar6; puVar6 = (undefined8 *)puVar6[2]; } } else { cVar2 = *(char *)((longlong)puVar8[1] + 0x19); puVar6 = (undefined8 *)puVar8[1]; puVar7 = puVar8; while ((puVar4 = puVar6, cVar2 == '\0' && (puVar7 == (undefined8 *)*puVar4))) { cVar2 = *(char *)((longlong)puVar4[1] + 0x19); puVar6 = (undefined8 *)puVar4[1]; puVar7 = puVar4; } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar7 = puVar4; } } } else { puVar7 = (undefined8 *)puVar8[2]; } } local_40 = *param_4; local_38 = puVar7[4]; iVar5 = FUN_18048cbc0(); if (iVar5 < 0) { puVar6 = (undefined8 *)FUN_180588490(param_1,local_30,bVar9,puVar8); *param_2 = *puVar6; *(undefined1 *)(param_2 + 1) = 1; return param_2; } _Memory = (uint *)(*(longlong *)((longlong)param_5 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 180585550 size=118 ############ undefined8 * FUN_180585550(undefined8 *param_1,longlong *param_2,longlong *param_3,longlong *param_4) { longlong lVar1; int iVar2; if (param_2 == param_3) { *param_1 = param_2; } else { lVar1 = *param_4; while (*param_2 != lVar1) { iVar2 = FUN_18048cbc0(*param_2,lVar1); if ((iVar2 == 0) || (param_2 = param_2 + 1, param_2 == param_3)) break; } *param_1 = param_2; } return param_1; } ############ FUN_ 180586600 size=218 ############ undefined8 * FUN_180586600(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_3; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_3,puVar5[4]), -1 < iVar2)) { *param_2 = puVar5; *(undefined1 *)(param_2 + 1) = 0; return param_2; } local_res8 = param_3; lVar3 = FUN_180588140(param_1); FUN_1805881a0(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); *param_2 = local_res8; *(undefined1 *)(param_2 + 1) = 1; return param_2; } ############ FUN_ 180587240 size=243 ############ void FUN_180587240(longlong param_1,undefined8 *param_2,undefined4 *param_3) { undefined4 uVar1; undefined8 uVar2; longlong lVar3; int iVar4; undefined8 local_28; undefined4 uStack_20; undefined4 uStack_1c; uVar2 = *param_2; uVar1 = *param_3; iVar4 = FUN_18048cbc0(uVar2,"lineWidthAddition"); if (iVar4 == 0) { *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x9e8) = uVar1; lVar3 = *(longlong *)(param_1 + 8); uStack_20 = *(undefined4 *)(lVar3 + 0x28); uStack_1c = *(undefined4 *)(lVar3 + 0x2c); local_28 = 0; FUN_181342870(lVar3,&local_28,1); } iVar4 = FUN_18048cbc0(uVar2,"arcBgColour"); if (iVar4 == 0) { *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x9fc) = uVar1; } else { iVar4 = FUN_18048cbc0(uVar2,"normVal"); if (iVar4 == 0) { *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x9ec) = uVar1; lVar3 = *(longlong *)(param_1 + 8); uStack_20 = *(undefined4 *)(lVar3 + 0x28); uStack_1c = *(undefined4 *)(lVar3 + 0x2c); local_28 = 0; FUN_181342870(lVar3,&local_28,1); } } return; } ############ FUN_ 181639ad0 size=251 ############ undefined8 * FUN_181639ad0(undefined8 param_1,undefined8 param_2) { int *piVar1; int iVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; int iVar8; undefined8 *puVar9; undefined8 *local_res10; puVar6 = (undefined8 *)0x0; local_res10 = (undefined8 *)((ulonglong)local_res10 & 0xffffffff00000000); lVar4 = FUN_181639c10(); iVar2 = *(int *)(lVar4 + 0xec); puVar5 = puVar6; puVar7 = puVar6; puVar9 = puVar6; if (0 < iVar2) { do { iVar3 = FUN_18048cbc0(param_2); iVar8 = (int)puVar9; if (iVar3 == 0) { if (-1 < iVar8) { puVar6 = *(undefined8 **)(*(longlong *)(lVar4 + 0xf0) + (longlong)iVar8 * 8); puVar7 = (undefined8 *)0x1; local_res10 = puVar6; if (puVar6 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); } } break; } puVar5 = (undefined8 *)((longlong)puVar5 + 1); puVar9 = (undefined8 *)(ulonglong)(iVar8 + 1); } while ((longlong)puVar5 < (longlong)iVar2); } if ((puVar7 != (undefined8 *)0x0) && (local_res10 != (undefined8 *)0x0)) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res10)(local_res10,1); } } return puVar6; } ############ FUN_ 18059efa0 size=189 ############ undefined8 * FUN_18059efa0(longlong *param_1,undefined8 *param_2) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_2; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_2,puVar5[4]), -1 < iVar2)) { return puVar5 + 5; } local_res8 = param_2; lVar3 = FUN_180490290(param_1); FUN_1805881a0(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); return local_res8 + 5; } ############ FUN_ 18059f060 size=189 ############ undefined8 * FUN_18059f060(longlong *param_1,undefined8 *param_2) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_2; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_2,puVar5[4]), -1 < iVar2)) { return puVar5 + 5; } local_res8 = param_2; lVar3 = FUN_1805730d0(param_1); FUN_18059fb10(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); return local_res8 + 5; } ############ FUN_ 18059fb10 size=657 ############ undefined8 * FUN_18059fb10(longlong *param_1,undefined8 *param_2,longlong *param_3,undefined8 *param_4) { char cVar1; char cVar2; longlong *plVar3; undefined8 uVar4; longlong *plVar5; longlong *plVar6; int iVar7; undefined8 *puVar8; longlong *plVar9; undefined1 local_40 [24]; if (param_1[1] == 0) { FUN_18059fe10(param_1,param_2,1,*param_1); } else { plVar3 = (longlong *)*param_1; if (param_3 == (longlong *)*plVar3) { iVar7 = FUN_18048cbc0(*param_4,param_3[4]); if (iVar7 < 0) { FUN_18059fe10(param_1,param_2,1,param_3); return param_2; } } else if (param_3 == plVar3) { iVar7 = FUN_18048cbc0(*(undefined8 *)(plVar3[2] + 0x20),*param_4); if (iVar7 < 0) { FUN_18059fe10(param_1,param_2,0,plVar3[2]); return param_2; } } else { uVar4 = *param_4; iVar7 = FUN_18048cbc0(uVar4,param_3[4]); if (iVar7 < 0) { if (*(char *)((longlong)param_3 + 0x19) == '\0') { plVar9 = (longlong *)*param_3; if (*(char *)((longlong)plVar9 + 0x19) == '\0') { cVar1 = *(char *)(plVar9[2] + 0x19); plVar5 = (longlong *)plVar9[2]; while (cVar1 == '\0') { cVar1 = *(char *)(plVar5[2] + 0x19); plVar9 = plVar5; plVar5 = (longlong *)plVar5[2]; } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar9 = param_3; while ((plVar6 = plVar5, cVar1 == '\0' && (plVar9 == (longlong *)*plVar6))) { cVar1 = *(char *)(plVar6[1] + 0x19); plVar5 = (longlong *)plVar6[1]; plVar9 = plVar6; } if (*(char *)((longlong)plVar9 + 0x19) == '\0') { plVar9 = plVar6; } } } else { plVar9 = (longlong *)param_3[2]; } iVar7 = FUN_18048cbc0(plVar9[4],uVar4); if (iVar7 < 0) { if (*(char *)(plVar9[2] + 0x19) != '\0') { FUN_18059fe10(param_1,param_2,0,plVar9); return param_2; } FUN_18059fe10(param_1,param_2,1,param_3); return param_2; } } iVar7 = FUN_18048cbc0(param_3[4],uVar4); if (iVar7 < 0) { plVar9 = (longlong *)param_3[2]; cVar1 = *(char *)((longlong)plVar9 + 0x19); if (cVar1 == '\0') { cVar2 = *(char *)(*plVar9 + 0x19); plVar5 = (longlong *)*plVar9; while (cVar2 == '\0') { cVar2 = *(char *)(*plVar5 + 0x19); plVar9 = plVar5; plVar5 = (longlong *)*plVar5; } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar6 = (longlong *)param_3[1]; plVar5 = param_3; while ((plVar9 = plVar6, cVar2 == '\0' && (plVar5 == (longlong *)plVar9[2]))) { cVar2 = *(char *)(plVar9[1] + 0x19); plVar6 = (longlong *)plVar9[1]; plVar5 = plVar9; } } if ((plVar9 == plVar3) || (iVar7 = FUN_18048cbc0(uVar4,plVar9[4]), iVar7 < 0)) { if (cVar1 != '\0') { FUN_18059fe10(param_1,param_2,0,param_3); return param_2; } FUN_18059fe10(param_1,param_2,1,plVar9); return param_2; } } } puVar8 = (undefined8 *)FUN_1805a0040(param_1,local_40); *param_2 = *puVar8; } return param_2; } ############ FUN_ 1805a0040 size=383 ############ undefined8 * FUN_1805a0040(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 *param_4) { char cVar1; undefined8 uVar2; undefined8 *puVar3; int iVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; bool bVar8; undefined1 local_res8 [8]; puVar5 = (undefined8 *)*param_1; bVar8 = true; puVar7 = puVar5; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar2 = *param_4; puVar6 = (undefined8 *)puVar5[1]; do { puVar7 = puVar6; iVar4 = FUN_18048cbc0(uVar2,puVar7[4]); bVar8 = iVar4 < 0; if (bVar8) { puVar6 = (undefined8 *)*puVar7; } else { puVar6 = (undefined8 *)puVar7[2]; } } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } puVar6 = puVar7; if (bVar8 != false) { if (puVar7 == (undefined8 *)*puVar5) { puVar5 = (undefined8 *)FUN_18059fe10(param_1,local_res8,1,puVar7); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar7 + 0x19) == '\0') { puVar6 = (undefined8 *)*puVar7; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar6[2] + 0x19); puVar5 = (undefined8 *)puVar6[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar5[2] + 0x19); puVar6 = puVar5; puVar5 = (undefined8 *)puVar5[2]; } } else { cVar1 = *(char *)((longlong)puVar7[1] + 0x19); puVar5 = (undefined8 *)puVar7[1]; puVar6 = puVar7; while ((puVar3 = puVar5, cVar1 == '\0' && (puVar6 == (undefined8 *)*puVar3))) { cVar1 = *(char *)((longlong)puVar3[1] + 0x19); puVar5 = (undefined8 *)puVar3[1]; puVar6 = puVar3; } if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar6 = puVar3; } } } else { puVar6 = (undefined8 *)puVar7[2]; } } iVar4 = FUN_18048cbc0(puVar6[4],*param_4); if (iVar4 < 0) { puVar5 = (undefined8 *)FUN_18059fe10(param_1,local_res8,bVar8,puVar7); *param_2 = *puVar5; *(undefined1 *)(param_2 + 1) = 1; } else { FUN_18059fdb0(); *param_2 = puVar6; *(undefined1 *)(param_2 + 1) = 0; } return param_2; } ############ FUN_ 18059f810 size=218 ############ undefined8 * FUN_18059f810(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_3; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_3,puVar5[4]), -1 < iVar2)) { *param_2 = puVar5; *(undefined1 *)(param_2 + 1) = 0; return param_2; } local_res8 = param_3; lVar3 = FUN_180490290(param_1); FUN_1805881a0(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); *param_2 = local_res8; *(undefined1 *)(param_2 + 1) = 1; return param_2; } ############ FUN_ 18059f8f0 size=218 ############ undefined8 * FUN_18059f8f0(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 uVar1; int iVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *local_res8; puVar5 = (undefined8 *)*param_1; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { uVar1 = *param_3; puVar4 = puVar5; puVar6 = (undefined8 *)puVar5[1]; do { puVar5 = puVar6; iVar2 = FUN_18048cbc0(puVar5[4],uVar1); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar5[2]; puVar5 = puVar4; } else { puVar6 = (undefined8 *)*puVar5; } puVar4 = puVar5; } while (*(char *)((longlong)puVar6 + 0x19) == '\0'); } if ((puVar5 != (undefined8 *)*param_1) && (iVar2 = FUN_18048cbc0(*param_3,puVar5[4]), -1 < iVar2)) { *param_2 = puVar5; *(undefined1 *)(param_2 + 1) = 0; return param_2; } local_res8 = param_3; lVar3 = FUN_1805730d0(param_1); FUN_18059fb10(param_1,&local_res8,puVar5,lVar3 + 0x20,lVar3); *param_2 = local_res8; *(undefined1 *)(param_2 + 1) = 1; return param_2; } ############ FUN_ 18059fa30 size=204 ############ longlong * FUN_18059fa30(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { uint uVar1; longlong lVar2; int iVar3; uint *_Memory; bool bVar4; lVar2 = *param_3; *param_3 = (longlong)&DAT_1821dbf98; iVar3 = FUN_18048cbc0(lVar2,"same as real-time",param_3,param_4,0xfffffffffffffffe); if (iVar3 == 0) { FUN_18049c4e0(param_2,&DAT_1824c2c20); _Memory = (uint *)(lVar2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { LAB_18059fae4: /* WARNING: Subroutine does not return */ free(_Memory); } } } else { *param_2 = lVar2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = DAT_1821dbf88 - 1; if (bVar4) { _Memory = &DAT_1821dbf88; DAT_1821dbf88 = 0xffffffff; goto LAB_18059fae4; } } } return param_2; } ############ FUN_ 18117c110 size=186 ############ longlong * FUN_18117c110(longlong param_1,longlong *param_2) { longlong lVar1; undefined8 *puVar2; int iVar3; longlong *plVar4; lVar1 = *(longlong *)(param_1 + 8); if (lVar1 == 0) { *param_2 = (longlong)&DAT_1821dbf98; return param_2; } puVar2 = *(undefined8 **)(lVar1 + 0x10); while( true ) { if (puVar2 == (undefined8 *)0x0) { *param_2 = (longlong)&DAT_1821dbf98; return param_2; } iVar3 = FUN_18048cbc0(puVar2[1],"author"); if (iVar3 == 0) break; puVar2 = (undefined8 *)*puVar2; } plVar4 = (longlong *)FUN_181246db0(lVar1,"author"); lVar1 = *plVar4; *param_2 = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) != 0) { return param_2; } LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); return param_2; } ############ FUN_ 181184720 size=324 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181184720(longlong param_1,undefined8 param_2,undefined8 *param_3) { uint *_Memory; uint uVar1; undefined8 *puVar2; undefined1 uVar3; int iVar4; undefined8 *puVar5; undefined1 auStack_78 [32]; longlong local_58; undefined **local_50; undefined1 local_48; undefined8 local_40; undefined8 *local_30; ulonglong local_28; local_40 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; local_58 = *(longlong *)(param_1 + 0x78); _Memory = (uint *)(local_58 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_30 = 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) { uVar3 = (**(code **)(*(longlong *)*param_3 + 0x28))((longlong *)*param_3,param_3 + 1); LOCK(); *(undefined1 *)(param_1 + 0x1a) = uVar3; UNLOCK(); if (*(char *)(param_1 + 0x1a) == '\0') { FUN_181184ad0(param_1 + -8); } else { FUN_181184c60(); } if ((*(char *)(param_1 + 0x18) != '\0') || (local_48 = 0, *(char *)(param_1 + 0x1a) != '\0')) { local_48 = 1; } local_50 = &PTR_vftable_18262b550; (**(code **)(*(longlong *)(param_1 + 0x58) + 0x18))((longlong *)(param_1 + 0x58),&local_50); } else { puVar2 = *(undefined8 **)(param_1 + 0x30); puVar5 = *(undefined8 **)(param_1 + 0x28); if (puVar5 != puVar2) { do { iVar4 = FUN_18048cbc0(*puVar5,param_2); if (iVar4 == 0) break; puVar5 = puVar5 + 1; } while (puVar5 != puVar2); if (puVar5 != puVar2) { FUN_181184b60(param_1 + -8); } } } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 181184880 size=415 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181184880(longlong param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; undefined1 uVar2; int iVar3; int iVar4; longlong *plVar5; uint *puVar6; undefined ***pppuVar7; undefined1 auStack_98 [32]; longlong local_78; longlong local_70 [2]; undefined **local_60; undefined1 local_58; undefined **local_50; undefined1 local_48; undefined8 local_40; undefined8 *local_38; ulonglong local_30; local_40 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; local_38 = param_3; plVar5 = (longlong *) (**(code **)(*(longlong *)(param_1 + 0xa8) + 0x10)) ((longlong *)(param_1 + 0xa8),&local_78); iVar4 = 0; if (*param_2 == *plVar5) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*param_2,*plVar5); } puVar6 = (uint *)(local_78 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (iVar3 == 0) { uVar2 = (**(code **)(*(longlong *)*param_3 + 0x28))((longlong *)*param_3,param_3 + 1); LOCK(); *(undefined1 *)(param_1 + 0x10) = uVar2; UNLOCK(); if ((*(char *)(param_1 + 0x20) == '\0') && (*(char *)(param_1 + 0x22) == '\0')) { local_58 = 0; } else { local_58 = 1; } local_60 = &PTR_vftable_18262b550; pppuVar7 = &local_60; } else { plVar5 = (longlong *) (**(code **)(*(longlong *)(param_1 + 200) + 0x10)) ((longlong *)(param_1 + 200),local_70); if (*param_2 != *plVar5) { iVar4 = FUN_18048cbc0(*param_2,*plVar5); } puVar6 = (uint *)(local_70[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (iVar4 != 0) goto LAB_181184a02; uVar2 = (**(code **)(*(longlong *)*param_3 + 0x28))((longlong *)*param_3,param_3 + 1); LOCK(); *(undefined1 *)(param_1 + 0x21) = uVar2; UNLOCK(); if ((*(char *)(param_1 + 0x20) == '\0') && (*(char *)(param_1 + 0x22) == '\0')) { local_48 = 0; } else { local_48 = 1; } local_50 = &PTR_vftable_18262b550; pppuVar7 = &local_50; } (**(code **)(*(longlong *)(param_1 + 0x60) + 0x18))((longlong *)(param_1 + 0x60),pppuVar7); LAB_181184a02: (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 181184ed0 size=56 ############ void FUN_181184ed0(longlong param_1) { int iVar1; iVar1 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0x48),&DAT_1821d951c); FUN_181352a80(param_1 + 0x88 + (ulonglong)(iVar1 == 0) * 0x78); return; } ############ FUN_ 18118c1f0 size=52 ############ longlong FUN_18118c1f0(longlong param_1) { int iVar1; iVar1 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0x48),&DAT_1821d951c); return (ulonglong)(iVar1 == 0) * 0x78 + param_1 + 0x88; } ############ FUN_ 181197040 size=535 ############ void FUN_181197040(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; undefined8 *puVar3; undefined8 uVar4; char cVar5; short sVar6; int iVar7; longlong *plVar8; undefined8 *puVar9; ulonglong uVar10; uint uVar11; int iVar12; ulonglong uVar13; undefined4 uVar14; double dVar15; float fVar16; double local_res10; char local_res18; longlong *local_res20; if (param_2 != 0) { local_res18 = (char)param_3; iVar7 = FUN_18049bb30(*(undefined8 *)(param_2 + 0x18),*(undefined8 *)(param_1 + 0x180),param_3, param_4,0xfffffffffffffffe); if (iVar7 == 0) { uVar10 = 0; fVar16 = 0.0; local_res20 = (longlong *)(param_2 + 8); plVar8 = (longlong *)*local_res20; uVar13 = uVar10; if (plVar8 != (longlong *)0x0) { do { uVar11 = (int)uVar13 + 1; uVar13 = (ulonglong)uVar11; plVar8 = (longlong *)*plVar8; } while (plVar8 != (longlong *)0x0); if (0 < (int)uVar11) { iVar7 = -1; uVar13 = (ulonglong)uVar11; plVar8 = local_res20; iVar12 = iVar7; do { while ((-1 < iVar7 && ((longlong *)*plVar8 != (longlong *)0x0))) { iVar7 = iVar7 + -1; plVar8 = (longlong *)*plVar8; } lVar1 = *plVar8; iVar7 = FUN_18049bb30(*(undefined8 *)(lVar1 + 0x18),*(undefined8 *)(param_1 + 0x50)); if (iVar7 == 0) { uVar2 = *(undefined8 *)(param_1 + 0x58); puVar9 = *(undefined8 **)(lVar1 + 0x10); for (puVar3 = puVar9; puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { iVar7 = FUN_18048cbc0(puVar3[1],uVar2); if (iVar7 == 0) { uVar4 = *(undefined8 *)(param_1 + 0x60); goto joined_r0x000181197145; } } } LAB_18119720d: iVar7 = iVar12 + 1; uVar13 = uVar13 - 1; plVar8 = local_res20; iVar12 = iVar7; } while (uVar13 != 0); if (uVar10 != 0) { FUN_1811bf680(uVar10,fVar16,1); } } } } } return; joined_r0x000181197145: if (puVar9 == (undefined8 *)0x0) goto LAB_18119720d; iVar7 = FUN_18048cbc0(puVar9[1],uVar4); if (iVar7 == 0) { puVar9 = (undefined8 *)FUN_181246db0(lVar1,uVar2); uVar2 = *(undefined8 *)(param_1 + 0x60); uVar14 = nan(&DAT_1821d93ac); dVar15 = (double)FUN_181246d40(lVar1,uVar2,uVar14); cVar5 = FUN_181193f50(param_1,puVar9); if (cVar5 != '\0') { uVar10 = FUN_18119b4b0(param_1,*puVar9); fVar16 = (float)dVar15; local_res10 = dVar15; sVar6 = _dtest(&local_res10); if ((sVar6 != 2) && ((local_res18 != '\0' || ((*(uint *)(uVar10 + 0x260) >> 2 & 1) != 0)))) { FUN_1811bf680(uVar10,fVar16,0); } } goto LAB_18119720d; } puVar9 = (undefined8 *)*puVar9; goto joined_r0x000181197145; } ############ FUN_ 1812118d0 size=289 ############ longlong * FUN_1812118d0(longlong *param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; uint uVar2; longlong lVar3; int iVar4; int iVar5; longlong lVar6; int iVar7; int iVar8; iVar8 = *(int *)((longlong)param_2 + 0xc); iVar7 = 0; if (0 < iVar8) { lVar6 = *param_2; lVar3 = *param_3; do { plVar1 = (longlong *)(lVar6 + (longlong)iVar7 * 8); if (lVar3 == *(longlong *)(lVar6 + (longlong)iVar7 * 8)) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(lVar3,*plVar1); } if (iVar5 == 0) { lVar6 = *plVar1; LAB_1812119cb: uVar2 = *(uint *)(lVar6 + -0x10); *param_1 = lVar6; if ((uVar2 & 0x30000000) != 0) { return param_1; } LOCK(); *(int *)(lVar6 + -0x10) = *(int *)(lVar6 + -0x10) + 1; UNLOCK(); return param_1; } iVar4 = (iVar8 + iVar7) / 2; if (iVar4 == iVar7) { if (0 < iVar5) { iVar7 = iVar7 + 1; } break; } plVar1 = (longlong *)(lVar6 + (longlong)iVar4 * 8); if (lVar3 == *(longlong *)(lVar6 + (longlong)iVar4 * 8)) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(lVar3,*plVar1); } if (iVar5 == 0) { lVar6 = *plVar1; goto LAB_1812119cb; } if (0 < iVar5) { iVar7 = iVar4; iVar4 = iVar8; } iVar8 = iVar4; } while (iVar7 < iVar8); } FUN_180489070(param_2,iVar7,param_3); lVar6 = *(longlong *)(*param_2 + (longlong)iVar7 * 8); *param_1 = lVar6; if ((*(uint *)(lVar6 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar6 + -0x10) = *(int *)(lVar6 + -0x10) + 1; UNLOCK(); } return param_1; } ############ FUN_ 181220a00 size=127 ############ undefined8 * FUN_181220a00(longlong param_1,undefined8 param_2,undefined8 param_3) { undefined8 *puVar1; undefined8 *puVar2; int iVar3; puVar1 = *(undefined8 **)(param_1 + 8); do { if (puVar1 == (undefined8 *)0x0) { return (undefined8 *)0x0; } for (puVar2 = (undefined8 *)puVar1[2]; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar3 = FUN_18048cbc0(puVar2[1],param_2); if (iVar3 == 0) { iVar3 = FUN_18048cbc0(puVar2[2],param_3); if (iVar3 == 0) { return puVar1; } break; } } puVar1 = (undefined8 *)*puVar1; } while( true ); } ############ FUN_ 181220b50 size=107 ############ bool FUN_181220b50(longlong param_1,undefined8 param_2,undefined8 param_3) { undefined8 *puVar1; int iVar2; puVar1 = *(undefined8 **)(param_1 + 0x10); while( true ) { if (puVar1 == (undefined8 *)0x0) { return false; } iVar2 = FUN_18048cbc0(puVar1[1],param_2); if (iVar2 == 0) break; puVar1 = (undefined8 *)*puVar1; } iVar2 = FUN_18048cbc0(puVar1[2],param_3); return iVar2 == 0; } ############ FUN_ 181220bd0 size=100 ############ int FUN_181220bd0(longlong param_1,undefined8 param_2,int param_3) { undefined8 *puVar1; int iVar2; puVar1 = *(undefined8 **)(param_1 + 0x10); while( true ) { if (puVar1 == (undefined8 *)0x0) { return param_3; } iVar2 = FUN_18048cbc0(puVar1[1],param_2); if (iVar2 == 0) break; puVar1 = (undefined8 *)*puVar1; } /* WARNING: Could not recover jumptable at 0x000181220c2d. Too many branches */ /* WARNING: Treating indirect jump as call */ iVar2 = atoi((char *)puVar1[2]); return iVar2; } ############ FUN_ 181220ce0 size=83 ############ undefined8 * FUN_181220ce0(longlong param_1,undefined8 param_2) { undefined8 *puVar1; int iVar2; puVar1 = *(undefined8 **)(param_1 + 0x10); while( true ) { if (puVar1 == (undefined8 *)0x0) { return (undefined8 *)0x0; } iVar2 = FUN_18048cbc0(puVar1[1],param_2); if (iVar2 == 0) break; puVar1 = (undefined8 *)*puVar1; } return puVar1; } ############ FUN_ 1812276a0 size=117 ############ bool FUN_1812276a0(undefined8 *param_1,longlong *param_2) { int *_Memory; int iVar1; int iVar2; longlong local_res8; (**(code **)(*(longlong *)*param_1 + 0x20))((longlong *)*param_1,&local_res8,param_1 + 1); if (local_res8 == *param_2) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(local_res8,*param_2); } _Memory = (int *)(local_res8 + -0x10); if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return iVar2 != 0; } ############ FUN_ 181233690 size=22 ############ bool FUN_181233690(undefined8 *param_1) { int iVar1; iVar1 = FUN_18048cbc0(*param_1); return -1 < iVar1; } ############ FUN_ 1812336b0 size=22 ############ bool FUN_1812336b0(undefined8 *param_1) { int iVar1; iVar1 = FUN_18048cbc0(*param_1); return 0 < iVar1; } ############ FUN_ 1812336d0 size=22 ############ bool FUN_1812336d0(undefined8 *param_1) { int iVar1; iVar1 = FUN_18048cbc0(*param_1); return iVar1 < 1; } ############ FUN_ 1812336f0 size=22 ############ bool FUN_1812336f0(undefined8 *param_1) { int iVar1; iVar1 = FUN_18048cbc0(*param_1); return iVar1 != 0; } ############ FUN_ 181233730 size=22 ############ bool FUN_181233730(undefined8 *param_1) { int iVar1; iVar1 = FUN_18048cbc0(*param_1); return iVar1 != 0; } ############ FUN_ 1812383c0 size=189 ############ undefined8 FUN_1812383c0(int *param_1,longlong *param_2,int param_3,undefined8 param_4,undefined4 param_5) { int iVar1; undefined8 uVar2; longlong lVar3; if (*param_1 < 0) { LAB_1812383e7: uVar2 = 0xffffffff; } else { if (*(longlong *)(param_1 + 8) == 0) { LAB_18123841c: lVar3 = FUN_181238b30(); *(longlong *)(param_1 + 8) = lVar3; if (lVar3 == 0) goto LAB_1812383e7; FUN_181249460(param_1 + 4,param_2); param_1[6] = param_3; } else { if (*param_2 != *(longlong *)(param_1 + 4)) { iVar1 = FUN_18048cbc0(*param_2,*(longlong *)(param_1 + 4)); if (iVar1 == 0) goto LAB_18123840d; LAB_181238412: freeaddrinfo(*(undefined8 *)(param_1 + 8)); goto LAB_18123841c; } LAB_18123840d: if (param_3 != param_1[6]) goto LAB_181238412; } uVar2 = Ordinal_20((longlong)*param_1,param_4,param_5,0, *(undefined8 *)(*(longlong *)(param_1 + 8) + 0x20), *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x10)); } return uVar2; } ############ FUN_ 181239dc0 size=394 ############ undefined1 FUN_181239dc0(longlong *param_1,longlong *param_2) { uint uVar1; bool bVar2; longlong lVar3; undefined1 uVar4; int iVar5; int iVar6; longlong *plVar7; uint *puVar8; longlong local_res10; longlong local_res18; longlong local_res20; longlong local_28 [2]; local_28[1] = 0xfffffffffffffffe; local_res10 = *param_2; iVar5 = FUN_180493050(&local_res10,0); iVar6 = 0; bVar2 = true; if (((iVar5 != 0x2d) || (iVar5 = FUN_180493050(&local_res10,1), iVar5 != 0x2d)) || (iVar5 = FUN_180493050(&local_res10,2), iVar5 == 0x2d)) { bVar2 = false; } if (bVar2) { iVar5 = FUN_181249270(param_1,&DAT_1821d9d34); if (iVar5 < 0) { local_28[0] = *param_1; if ((*(uint *)(local_28[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_28[0] + -0x10) = *(int *)(local_28[0] + -0x10) + 1; UNLOCK(); } } else { FUN_1812490c0(param_1,local_28,0,iVar5); } lVar3 = local_28[0]; if (local_28[0] != *param_2) { iVar6 = FUN_18048cbc0(local_28[0],*param_2); } uVar4 = iVar6 == 0; puVar8 = (uint *)(lVar3 + -0x10); if ((*puVar8 & 0x30000000) != 0) { return (bool)uVar4; } LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); } else { FUN_18049c4e0(&local_res18,&DAT_1821d9d54); plVar7 = (longlong *)FUN_181232d30(&local_res18,param_2); local_res20 = *plVar7; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } puVar8 = (uint *)(local_res18 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } uVar4 = FUN_181239dc0(param_1,&local_res20); puVar8 = (uint *)(local_res20 + -0x10); if ((*puVar8 & 0x30000000) != 0) { return uVar4; } LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); } if (uVar1 != 0) { return uVar4; } /* WARNING: Subroutine does not return */ free(puVar8); } ############ FUN_ 18123b040 size=597 ############ double FUN_18123b040(undefined8 param_1,undefined8 *param_2,double *param_3,int param_4) { int iVar1; double *pdVar2; undefined8 uVar3; longlong lVar4; longlong lVar5; longlong lVar6; double dVar7; double dVar8; undefined1 local_48 [8]; undefined8 local_40; undefined1 local_38 [8]; undefined1 local_30 [40]; local_40 = 0xfffffffffffffffe; lVar6 = (longlong)param_4; if (0 < param_4) { iVar1 = FUN_18048cbc0(*param_2,&DAT_1821d9c0c); if (iVar1 == 0) { dVar8 = *param_3; lVar4 = 1; if (1 < lVar6) { if (3 < lVar6 + -1) { pdVar2 = param_3 + 3; lVar5 = (lVar6 - 5U >> 2) + 1; lVar4 = lVar5 * 4 + 1; do { dVar7 = pdVar2[-2]; if (dVar8 <= pdVar2[-2]) { dVar7 = dVar8; } dVar8 = pdVar2[-1]; if (dVar7 <= pdVar2[-1]) { dVar8 = dVar7; } dVar7 = *pdVar2; if (dVar8 <= *pdVar2) { dVar7 = dVar8; } dVar8 = pdVar2[1]; if (dVar7 <= pdVar2[1]) { dVar8 = dVar7; } pdVar2 = pdVar2 + 4; lVar5 = lVar5 + -1; } while (lVar5 != 0); } for (; lVar4 < lVar6; lVar4 = lVar4 + 1) { dVar7 = param_3[lVar4]; if (dVar8 <= param_3[lVar4]) { dVar7 = dVar8; } dVar8 = dVar7; } } } else { iVar1 = FUN_18048cbc0(*param_2,&DAT_1821d9c4c); if (iVar1 == 0) { dVar8 = *param_3; lVar4 = 1; if (1 < lVar6) { if (3 < lVar6 + -1) { pdVar2 = param_3 + 3; lVar5 = (lVar6 - 5U >> 2) + 1; lVar4 = lVar5 * 4 + 1; do { dVar7 = pdVar2[-2]; if (pdVar2[-2] <= dVar8) { dVar7 = dVar8; } dVar8 = pdVar2[-1]; if (pdVar2[-1] <= dVar7) { dVar8 = dVar7; } dVar7 = *pdVar2; if (*pdVar2 <= dVar8) { dVar7 = dVar8; } dVar8 = pdVar2[1]; if (pdVar2[1] <= dVar7) { dVar8 = dVar7; } pdVar2 = pdVar2 + 4; lVar5 = lVar5 + -1; } while (lVar5 != 0); } for (; lVar4 < lVar6; lVar4 = lVar4 + 1) { dVar7 = param_3[lVar4]; if (param_3[lVar4] <= dVar8) { dVar7 = dVar8; } dVar8 = dVar7; } } } else { if (param_4 != 1) goto LAB_18123b24e; iVar1 = FUN_18048cbc0(*param_2,&DAT_1821d9c34); if (iVar1 == 0) { dVar8 = sin(*param_3); } else { iVar1 = FUN_18048cbc0(*param_2,&DAT_1821d9c7c); if (iVar1 == 0) { dVar8 = cos(*param_3); } else { iVar1 = FUN_18048cbc0(*param_2,&DAT_1821d9c64); if (iVar1 == 0) { dVar8 = tan(*param_3); } else { iVar1 = FUN_18048cbc0(*param_2,&DAT_1821d9cac); if (iVar1 != 0) goto LAB_18123b24e; dVar8 = (double)CONCAT44((uint)((ulonglong)*param_3 >> 0x20) & DAT_1824c4f10._4_4_, SUB84(*param_3,0) & (uint)DAT_1824c4f10); } } } } } return dVar8; } LAB_18123b24e: uVar3 = FUN_181246550(local_48,"Unknown function: \"",param_2); uVar3 = FUN_1812465e0(local_38,uVar3,&DAT_1821d9c9c); FUN_180493b80(local_30,uVar3); /* WARNING: Subroutine does not return */ _CxxThrowException(local_30,(ThrowInfo *)&DAT_1825fede0); } ############ FUN_ 18123b370 size=91 ############ undefined8 FUN_18123b370(longlong *param_1,longlong *param_2) { int iVar1; if ((param_1[1] != param_2[1]) && (iVar1 = FUN_18048cbc0(param_1[1],param_2[1]), iVar1 != 0)) { return 0; } if ((*param_1 != *param_2) && (iVar1 = FUN_18048cbc0(*param_1,*param_2), iVar1 != 0)) { return 0; } return 1; } ############ FUN_ 181241570 size=232 ############ bool FUN_181241570(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; LPCWSTR lpNewFileName; char cVar2; DWORD DVar3; int iVar4; BOOL BVar5; undefined8 *puVar6; bool bVar7; undefined1 local_res8 [8]; undefined1 local_res10 [8]; pcVar1 = (char *)*param_1; bVar7 = false; iVar4 = 0; if ((char *)*param_2 != pcVar1) { iVar4 = FUN_18048cbc0(*param_2,pcVar1,param_3,param_4,0xfffffffffffffffe); } if (iVar4 == 0) { return true; } if (*pcVar1 != '\0') { puVar6 = (undefined8 *)FUN_18049a930(local_res8,param_1); DVar3 = GetFileAttributesW((LPCWSTR)*puVar6); if (DVar3 != 0xffffffff) { bVar7 = true; } } if ((bVar7) && (((*param_1 == *param_2 || (iVar4 = FUN_18049bb30(*param_1), iVar4 == 0)) || (cVar2 = FUN_181244b10(param_2), cVar2 != '\0')))) { puVar6 = (undefined8 *)FUN_18049a930(local_res8,param_2); lpNewFileName = (LPCWSTR)*puVar6; puVar6 = (undefined8 *)FUN_18049a930(local_res10,param_1); BVar5 = MoveFileW((LPCWSTR)*puVar6,lpNewFileName); return BVar5 != 0; } return false; } ############ FUN_ 181245d20 size=22 ############ bool FUN_181245d20(undefined8 *param_1) { int iVar1; iVar1 = FUN_18048cbc0(*param_1); return iVar1 < 0; } ############ FUN_ 181247770 size=22 ############ bool FUN_181247770(undefined8 *param_1) { int iVar1; iVar1 = FUN_18048cbc0(*param_1); return iVar1 == 0; } ############ FUN_ 1812477c0 size=108 ############ bool FUN_1812477c0(undefined8 *param_1,undefined8 param_2) { int *_Memory; int iVar1; int iVar2; longlong local_res8; (**(code **)(*(longlong *)*param_1 + 0x20))((longlong *)*param_1,&local_res8,param_1 + 1); iVar2 = FUN_18048cbc0(local_res8,param_2); _Memory = (int *)(local_res8 + -0x10); if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return iVar2 == 0; } ############ FUN_ 1812482a0 size=45 ############ bool FUN_1812482a0(longlong *param_1,longlong *param_2) { int iVar1; if (*param_1 == *param_2) { return false; } iVar1 = FUN_18048cbc0(*param_1,*param_2); return iVar1 != 0; } ############ FUN_ 18124a340 size=45 ############ bool FUN_18124a340(longlong *param_1,longlong *param_2) { int iVar1; if (*param_1 == *param_2) { return true; } iVar1 = FUN_18048cbc0(*param_1,*param_2); return iVar1 == 0; } ############ FUN_ 18124a380 size=22 ############ bool FUN_18124a380(undefined8 *param_1) { int iVar1; iVar1 = FUN_18048cbc0(*param_1); return iVar1 == 0; } ############ FUN_ 1812523e0 size=191 ############ void FUN_1812523e0(longlong *param_1,longlong *param_2) { longlong lVar1; longlong lVar2; undefined8 *puVar3; int iVar4; int *piVar5; if (*param_2 != *(longlong *)(*param_1 + 0x20)) { iVar4 = FUN_18048cbc0(*param_2,*(longlong *)(*param_1 + 0x20)); if (iVar4 != 0) { FUN_181252760(param_1); lVar2 = *param_1; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar5 = (int *)(*param_2 + -0x10); *piVar5 = *piVar5 + 1; UNLOCK(); } LOCK(); lVar1 = *(longlong *)(lVar2 + 0x20); *(longlong *)(lVar2 + 0x20) = *param_2; UNLOCK(); piVar5 = (int *)(lVar1 + -0x10); if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); iVar4 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar4 == 0) { /* WARNING: Subroutine does not return */ free(piVar5); } } puVar3 = *(undefined8 **)(*param_1 + 0x10); *(undefined8 *)(*param_1 + 0x10) = 0; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar5 = (int *)(puVar3 + 1); iVar4 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*puVar3)(puVar3,1); } } *(undefined4 *)(*param_1 + 0x34) = 0; } } return; } ############ FUN_ 1812a3890 size=676 ############ void FUN_1812a3890(longlong param_1,longlong *param_2) { int *piVar1; longlong *plVar2; uint uVar3; longlong *plVar4; longlong lVar5; undefined4 uVar6; undefined4 uVar7; char cVar8; int iVar9; uint *puVar10; longlong *plVar11; bool bVar12; undefined1 local_res8; undefined8 uVar13; uVar13 = 0xfffffffffffffffe; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x2b0)); plVar2 = (longlong *)(param_1 + 0x2e0); plVar11 = (longlong *)*plVar2; plVar4 = *(longlong **)(param_1 + 0x2e8); if (plVar11 != plVar4) { lVar5 = *param_2; do { iVar9 = 0; if (*plVar11 != lVar5) { iVar9 = FUN_18048cbc0(*plVar11,lVar5); } if (iVar9 == 0) { if (plVar11[1] == param_2[1]) { iVar9 = 0; } else { iVar9 = FUN_18048cbc0(plVar11[1],param_2[1]); } if (((iVar9 != 0) || (iVar9 = FUN_1812372b0(plVar11 + 2,param_2 + 2), iVar9 != 0)) || (*(int *)((longlong)plVar11 + 0x24) != *(int *)((longlong)param_2 + 0x24))) { if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } LOCK(); lVar5 = *plVar11; *plVar11 = *param_2; UNLOCK(); puVar10 = (uint *)(lVar5 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if ((*(uint *)(param_2[1] + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(param_2[1] + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar5 = plVar11[1]; plVar11[1] = param_2[1]; UNLOCK(); puVar10 = (uint *)(lVar5 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar6 = *(undefined4 *)((longlong)param_2 + 0x14); lVar5 = param_2[3]; uVar7 = *(undefined4 *)((longlong)param_2 + 0x1c); *(int *)(plVar11 + 2) = (int)param_2[2]; *(undefined4 *)((longlong)plVar11 + 0x14) = uVar6; *(int *)(plVar11 + 3) = (int)lVar5; *(undefined4 *)((longlong)plVar11 + 0x1c) = uVar7; *(char *)(plVar11 + 4) = (char)param_2[4]; *(undefined4 *)((longlong)plVar11 + 0x24) = *(undefined4 *)((longlong)param_2 + 0x24); plVar11[5] = param_2[5]; piVar1 = (int *)(*(longlong *)(param_1 + 0x208) + 0x18); LOCK(); bVar12 = *piVar1 == 0; if (bVar12) { *piVar1 = 1; } UNLOCK(); if ((bVar12) && (cVar8 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x208)), cVar8 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x208) + 0x18) = 0; UNLOCK(); } } plVar11[5] = param_2[5]; goto LAB_1812a3b16; } plVar11 = plVar11 + 6; } while (plVar11 != plVar4); } if (*(longlong **)(param_1 + 0x2f0) == plVar4) { FUN_1804d2160(plVar2,plVar4,param_2); } else { lVar5 = *param_2; *plVar4 = lVar5; if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } lVar5 = param_2[1]; plVar4[1] = lVar5; if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } uVar6 = *(undefined4 *)((longlong)param_2 + 0x14); lVar5 = param_2[3]; uVar7 = *(undefined4 *)((longlong)param_2 + 0x1c); *(int *)(plVar4 + 2) = (int)param_2[2]; *(undefined4 *)((longlong)plVar4 + 0x14) = uVar6; *(int *)(plVar4 + 3) = (int)lVar5; *(undefined4 *)((longlong)plVar4 + 0x1c) = uVar7; *(char *)(plVar4 + 4) = (char)param_2[4]; *(undefined4 *)((longlong)plVar4 + 0x24) = *(undefined4 *)((longlong)param_2 + 0x24); plVar4[5] = param_2[5]; *(longlong *)(param_1 + 0x2e8) = *(longlong *)(param_1 + 0x2e8) + 0x30; } lVar5 = *plVar2; FUN_1804d2350(lVar5,*(longlong *)(param_1 + 0x2e8),(*(longlong *)(param_1 + 0x2e8) - lVar5) / 0x30 ,local_res8,uVar13,lVar5); piVar1 = (int *)(*(longlong *)(param_1 + 0x208) + 0x18); LOCK(); bVar12 = *piVar1 == 0; if (bVar12) { *piVar1 = 1; } UNLOCK(); if ((bVar12) && (cVar8 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x208)), cVar8 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x208) + 0x18) = 0; UNLOCK(); } LAB_1812a3b16: /* WARNING: Could not recover jumptable at 0x0001812a3b2d. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x2b0)); return; } ############ FUN_ 1812a3b80 size=573 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812a3b80(undefined8 param_1,longlong param_2) { int *piVar1; uint uVar2; char cVar3; undefined1 *puVar4; undefined4 uVar5; int iVar6; longlong *plVar7; undefined8 *puVar8; undefined8 uVar9; uint *puVar10; undefined1 auStack_c8 [32]; longlong local_a8; undefined8 local_a0; undefined8 local_98; undefined1 *local_90; undefined1 *local_88; undefined8 local_80; undefined4 uStack_78; undefined2 uStack_74; undefined1 uStack_72; undefined1 uStack_71; undefined1 uStack_70; undefined4 local_6c; longlong local_68; longlong local_60; ushort local_58; undefined1 local_50 [24]; ulonglong local_38; local_a0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_c8; local_90 = &DAT_1821dbf98; local_88 = &DAT_1821dbf98; uStack_71 = 0; uStack_70 = 0; local_80 = 0; uStack_78 = 0; uStack_74 = 0; uStack_72 = 0; local_68 = 0; puVar8 = *(undefined8 **)(param_2 + 0x10); do { if (puVar8 == (undefined8 *)0x0) { plVar7 = (longlong *)FUN_181220d40(); LAB_1812a3c29: if ((*(uint *)(*plVar7 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar7 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } puVar4 = (undefined1 *)*plVar7; LOCK(); UNLOCK(); puVar10 = (uint *)(local_90 + -0x10); local_90 = puVar4; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar8 = (undefined8 *)FUN_181248e40(&local_90,&local_a8); cVar3 = *(char *)*puVar8; puVar10 = (uint *)(local_a8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if (cVar3 != '\0') { plVar7 = (longlong *)FUN_181246db0(param_2,&DAT_1821e08e4); if ((*(uint *)(*plVar7 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar7 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } puVar4 = (undefined1 *)*plVar7; LOCK(); UNLOCK(); puVar10 = (uint *)(local_88 + -0x10); local_88 = puVar4; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar9 = FUN_181246db0(param_2,"address"); puVar8 = (undefined8 *)FUN_181237950(local_50,uVar9); local_80 = *puVar8; uStack_78 = *(undefined4 *)(puVar8 + 1); uVar5 = *(undefined4 *)((longlong)puVar8 + 0xc); uStack_74 = (undefined2)uVar5; uStack_72 = (undefined1)((uint)uVar5 >> 0x10); uStack_71 = (undefined1)((uint)uVar5 >> 0x18); uStack_70 = *(undefined1 *)(puVar8 + 2); local_6c = FUN_181220bd0(param_2,&DAT_1821e0914,0); _ftime64_s(&local_60); local_68 = local_60 * 1000 + (ulonglong)local_58; FUN_1812a3890(param_1,&local_90); } puVar10 = (uint *)(local_88 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_90 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } local_98 = puVar8[1]; iVar6 = FUN_18048cbc0(local_98,&DAT_1821e0044); if (iVar6 == 0) { plVar7 = puVar8 + 2; goto LAB_1812a3c29; } puVar8 = (undefined8 *)*puVar8; } while( true ); } ############ FUN_ 1812b5a60 size=145 ############ undefined8 FUN_1812b5a60(longlong param_1,undefined8 param_2) { char cVar1; int iVar2; undefined8 uVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; puVar4 = (undefined8 *)(*(undefined8 **)(param_1 + 0x68))[1]; cVar1 = *(char *)((longlong)puVar4 + 0x19); puVar5 = *(undefined8 **)(param_1 + 0x68); while (cVar1 == '\0') { iVar2 = FUN_18048cbc0(puVar4[4],param_2); if (iVar2 < 0) { puVar6 = (undefined8 *)puVar4[2]; puVar4 = puVar5; } else { puVar6 = (undefined8 *)*puVar4; } puVar5 = puVar4; puVar4 = puVar6; cVar1 = *(char *)((longlong)puVar6 + 0x19); } if ((puVar5 == *(undefined8 **)(param_1 + 0x68)) || (iVar2 = FUN_18048cbc0(param_2,puVar5[4]), iVar2 < 0)) { puVar5 = *(undefined8 **)(param_1 + 0x68); } if (puVar5 == *(undefined8 **)(param_1 + 0x68)) { uVar3 = 0; } else { uVar3 = puVar5[5]; } return uVar3; } ############ FUN_ 1812b89f0 size=486 ############ ulonglong FUN_1812b89f0(longlong param_1,int param_2) { uint *puVar1; LPCRITICAL_SECTION lpCriticalSection; uint uVar2; int iVar3; longlong lVar4; undefined8 uVar5; undefined8 *puVar6; ulonglong uVar7; int iVar8; longlong lVar9; void *local_a8; undefined8 local_a0; undefined1 local_98 [96]; lVar4 = *(longlong *)(param_1 + 200); lpCriticalSection = (LPCRITICAL_SECTION)(lVar4 + 0x8c); EnterCriticalSection(lpCriticalSection); iVar3 = *(int *)(lVar4 + 0x44); LeaveCriticalSection(lpCriticalSection); lVar4 = *(longlong *)(param_1 + 200); if (param_2 < iVar3) { EnterCriticalSection((LPCRITICAL_SECTION)(lVar4 + 0x8c)); iVar3 = *(int *)(lVar4 + 0x44); uVar5 = *(undefined8 *)(lVar4 + 0x38); local_a8 = (void *)0x0; local_a0 = 0; iVar8 = 0; if (0 < iVar3) { FUN_1804dcaa0(&local_a8,iVar3 + 8 + iVar3 / 2 & 0xfffffff8); iVar8 = local_a0._4_4_; } FUN_1804e14e0(&local_a8,uVar5,iVar3); local_a0 = CONCAT44(iVar8 + iVar3,(undefined4)local_a0); LeaveCriticalSection((LPCRITICAL_SECTION)(lVar4 + 0x8c)); uVar5 = FUN_1804db2a0(&local_a8,local_98,param_2); FUN_1812baf10(*(undefined8 *)(param_1 + 200),uVar5); FUN_1804d7190(local_98); FUN_1804dca40(&local_a8); /* WARNING: Subroutine does not return */ free(local_a8); } EnterCriticalSection((LPCRITICAL_SECTION)(lVar4 + 0x8c)); iVar3 = *(int *)(lVar4 + 0x44); LeaveCriticalSection((LPCRITICAL_SECTION)(lVar4 + 0x8c)); puVar6 = (undefined8 *)FUN_181249970(*(longlong *)(param_1 + 200) + 0x48,param_2 - iVar3); lVar4 = *(longlong *)(param_1 + 200); iVar8 = 0; uVar5 = *puVar6; iVar3 = *(int *)(lVar4 + 0x54); uVar7 = (longlong)iVar3; if (0 < iVar3) { lVar9 = 0; do { uVar7 = FUN_18048cbc0(uVar5); if ((int)uVar7 == 0) { if (iVar8 < 0) { return uVar7; } FUN_180488fc0(lVar4 + 0x48,iVar8); if (*(char *)(lVar4 + 0x30) == '\0') { return 0; } uVar7 = 0; puVar1 = (uint *)(*(longlong *)(lVar4 + 0x10) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { uVar7 = (ulonglong)uVar2; } UNLOCK(); if (uVar2 != 0) { return uVar7; } uVar7 = FUN_1812a6720(*(undefined8 *)(lVar4 + 0x10)); if ((char)uVar7 != '\0') { return uVar7; } uVar7 = *(ulonglong *)(lVar4 + 0x10); LOCK(); *(undefined4 *)(uVar7 + 0x18) = 0; UNLOCK(); return uVar7; } iVar8 = iVar8 + 1; lVar9 = lVar9 + 1; } while (lVar9 < iVar3); } return uVar7; } ############ FUN_ 1812b8bf0 size=708 ############ void FUN_1812b8bf0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; uint uVar2; longlong lVar3; undefined8 uVar4; longlong *plVar5; char cVar6; int iVar7; longlong *plVar8; uint *puVar9; undefined8 *puVar10; void *pvVar11; int iVar12; longlong local_res8; undefined8 uVar13; void *local_a0; undefined8 local_98; longlong local_88; longlong local_80; longlong local_78; longlong local_70; longlong local_68; longlong local_60; longlong local_58; uVar13 = 0xfffffffffffffffe; lVar3 = *(longlong *)(param_1 + 200); EnterCriticalSection((LPCRITICAL_SECTION)(lVar3 + 0x8c)); local_a0 = (void *)0x0; local_98 = 0; iVar12 = *(int *)(lVar3 + 0x44); uVar4 = *(undefined8 *)(lVar3 + 0x38); iVar7 = 0; if (0 < iVar12) { FUN_1804dcaa0(&local_a0,iVar12 + 8 + iVar12 / 2 & 0xfffffff8); iVar7 = local_98._4_4_; } pvVar11 = local_a0; FUN_1804e14e0(&local_a0,uVar4,iVar12,param_4,uVar13); local_98 = CONCAT44(iVar7 + iVar12,(undefined4)local_98); LeaveCriticalSection((LPCRITICAL_SECTION)(lVar3 + 0x8c)); iVar12 = iVar7 + iVar12 + -1; if (-1 < iVar12) { pvVar11 = (void *)((longlong)iVar12 * 0x60 + (longlong)pvVar11); do { FUN_1804d7090(&local_88,pvVar11); puVar10 = (undefined8 *)**(longlong **)(param_1 + 0xc0); puVar1 = puVar10 + *(int *)((longlong)*(longlong **)(param_1 + 0xc0) + 0xc); for (; puVar10 != puVar1; puVar10 = puVar10 + 1) { plVar5 = (longlong *)*puVar10; plVar8 = (longlong *)(**(code **)(*plVar5 + 0x10))(plVar5,&local_res8); if (*plVar8 == local_78) { iVar7 = 0; } else { iVar7 = FUN_18048cbc0(*plVar8); } puVar9 = (uint *)(local_res8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (iVar7 == 0) { cVar6 = (**(code **)(*plVar5 + 0x38))(plVar5,&local_88); if (cVar6 != '\0') goto LAB_1812b8d68; break; } } FUN_1812baf10(*(undefined8 *)(param_1 + 200),&local_88); LAB_1812b8d68: puVar9 = (uint *)(local_58 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_60 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_68 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_70 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_78 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_80 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_88 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } pvVar11 = (void *)((longlong)pvVar11 + -0x60); iVar12 = iVar12 + -1; } while (-1 < iVar12); } FUN_1804dca40(&local_a0); /* WARNING: Could not recover jumptable at 0x0001812b8ead. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_a0); return; } ############ FUN_ 1812ba350 size=207 ############ ulonglong FUN_1812ba350(longlong param_1,undefined8 *param_2) { uint *puVar1; uint uVar2; int iVar3; undefined8 uVar4; ulonglong uVar5; int iVar6; longlong lVar7; iVar3 = *(int *)(param_1 + 0x54); uVar4 = *param_2; iVar6 = 0; uVar5 = (longlong)iVar3; if (0 < iVar3) { lVar7 = 0; do { uVar5 = FUN_18048cbc0(uVar4); if ((int)uVar5 == 0) { if (iVar6 < 0) { return uVar5; } FUN_180488fc0(param_1 + 0x48,iVar6); if (*(char *)(param_1 + 0x30) == '\0') { return 0; } uVar5 = 0; puVar1 = (uint *)(*(longlong *)(param_1 + 0x10) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { uVar5 = (ulonglong)uVar2; } UNLOCK(); if (uVar2 != 0) { return uVar5; } uVar5 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x10)); if ((char)uVar5 != '\0') { return uVar5; } uVar5 = *(ulonglong *)(param_1 + 0x10); LOCK(); *(undefined4 *)(uVar5 + 0x18) = 0; UNLOCK(); return uVar5; } iVar6 = iVar6 + 1; lVar7 = lVar7 + 1; } while (lVar7 < iVar3); } return uVar5; } ############ FUN_ 1812bae10 size=237 ############ ulonglong FUN_1812bae10(longlong param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { LPCRITICAL_SECTION lpCriticalSection; char cVar1; int iVar2; longlong *plVar3; ulonglong uVar4; longlong lVar5; longlong lVar6; LPCRITICAL_SECTION local_res20; plVar3 = (longlong *)FUN_1812bb2e0(param_1,&local_res20,param_2,param_4,0xfffffffffffffffe); if (local_res20 != (LPCRITICAL_SECTION)0x0) { FUN_1804d7190(local_res20); /* WARNING: Subroutine does not return */ free(local_res20); } if (*plVar3 == 0) { uVar4 = (ulonglong)plVar3 & 0xffffffffffffff00; } else { lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x8c); local_res20 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); lVar5 = *(longlong *)(param_1 + 0x38); lVar6 = (longlong)*(int *)(param_1 + 0x44) * 0x60 + lVar5; for (; lVar5 != lVar6; lVar5 = lVar5 + 0x60) { if (*(longlong *)(lVar5 + 0x30) == *param_2) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*(undefined8 *)(lVar5 + 0x30),*param_2); } if (iVar2 == 0) { cVar1 = (**(code **)(*param_3 + 0x30))(param_3,lVar5); if (cVar1 != '\0') { uVar4 = 0; goto LAB_1812baede; } } } uVar4 = 1; LAB_1812baede: LeaveCriticalSection(lpCriticalSection); } return uVar4; } ############ FUN_ 1812bb7a0 size=79 ############ ulonglong FUN_1812bb7a0(longlong param_1,longlong param_2) { ulonglong uVar1; if (*(longlong *)(param_1 + 0x30) != *(longlong *)(param_2 + 0x30)) { uVar1 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0x30),*(longlong *)(param_2 + 0x30)); if ((int)uVar1 != 0) goto LAB_1812bb7e2; } uVar1 = (ulonglong)*(uint *)(param_2 + 0x48); if (*(uint *)(param_1 + 0x48) == *(uint *)(param_2 + 0x48)) { return 1; } LAB_1812bb7e2: return uVar1 & 0xffffffffffffff00; } ############ FUN_ 1812c22f0 size=183 ############ ulonglong FUN_1812c22f0(longlong *param_1,longlong param_2) { undefined8 *puVar1; longlong *plVar2; int iVar3; uint uVar4; ulonglong uVar5; longlong *plVar6; uint *_Memory; undefined8 *puVar7; longlong local_res8; puVar7 = (undefined8 *)*param_1; uVar5 = (ulonglong)*(int *)((longlong)param_1 + 0xc); puVar1 = puVar7 + uVar5; while( true ) { if (puVar7 == puVar1) { return uVar5 & 0xffffffffffffff00; } plVar2 = (longlong *)*puVar7; plVar6 = (longlong *)(**(code **)(*plVar2 + 0x10))(plVar2,&local_res8); if (*plVar6 == *(longlong *)(param_2 + 0x10)) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*plVar6,*(longlong *)(param_2 + 0x10)); } _Memory = (uint *)(local_res8 + -0x10); uVar4 = *_Memory; if ((uVar4 & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); uVar4 = uVar4 - 1; if (uVar4 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(_Memory); } } uVar5 = (ulonglong)uVar4; if (iVar3 == 0) break; puVar7 = puVar7 + 1; } uVar5 = (**(code **)(*plVar2 + 0x38))(plVar2,param_2); return uVar5; } ############ FUN_ 1812cb570 size=178 ############ longlong * FUN_1812cb570(longlong param_1,longlong *param_2,longlong *param_3) { int iVar1; undefined4 *puVar2; int iVar3; ulonglong uVar4; uint uVar5; ulonglong uVar6; uVar4 = 0; *param_2 = 0; param_2[1] = 0; uVar6 = uVar4; if (0 < *(int *)(param_1 + 0x24)) { do { puVar2 = *(undefined4 **)(uVar4 + *(longlong *)(param_1 + 0x18)); if ((*(longlong *)(puVar2 + 6) == *param_3) || (iVar3 = FUN_18048cbc0(*(undefined8 *)(puVar2 + 6),*param_3), iVar3 == 0)) { iVar1 = *(int *)((longlong)param_2 + 0xc); iVar3 = iVar1 + 1; if ((int)param_2[1] < iVar3) { if (iVar3 < 0) { iVar3 = iVar1 + 2; } FUN_1804af790(param_2,iVar1 + 9 + (iVar3 >> 1) & 0xfffffff8); } iVar3 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar3 + 1; *(undefined4 *)(*param_2 + (longlong)iVar3 * 4) = *puVar2; } uVar5 = (int)uVar6 + 1; uVar4 = uVar4 + 8; uVar6 = (ulonglong)uVar5; } while ((int)uVar5 < *(int *)(param_1 + 0x24)); } return param_2; } ############ FUN_ 1812cb630 size=273 ############ undefined8 * FUN_1812cb630(longlong param_1,undefined8 *param_2) { int iVar1; longlong lVar2; int iVar3; int iVar4; undefined8 *puVar5; longlong lVar6; int iVar7; longlong lVar8; longlong local_res10; longlong local_res18; undefined8 local_res20; *param_2 = 0; iVar7 = 0; param_2[1] = 0; if (0 < *(int *)(param_1 + 0x24)) { lVar8 = 0; do { iVar4 = 0; lVar6 = 0; iVar1 = *(int *)((longlong)param_2 + 0xc); lVar2 = *(longlong *)(*(longlong *)(*(longlong *)(param_1 + 0x18) + lVar8) + 0x18); local_res18 = lVar2; if (0 < iVar1) { puVar5 = (undefined8 *)*param_2; do { local_res20 = *puVar5; iVar3 = FUN_18048cbc0(lVar2); if (iVar3 == 0) { if (-1 < iVar4) goto LAB_1812cb701; break; } iVar4 = iVar4 + 1; lVar6 = lVar6 + 1; puVar5 = puVar5 + 1; } while (lVar6 < iVar1); } if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } local_res10 = lVar2; FUN_18122dc00(param_2,&local_res10); LAB_1812cb701: iVar7 = iVar7 + 1; lVar8 = lVar8 + 8; } while (iVar7 < *(int *)(param_1 + 0x24)); } return param_2; } ############ FUN_ 1812d08b0 size=96 ############ void FUN_1812d08b0(longlong param_1,longlong *param_2) { int iVar1; undefined4 *puVar2; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; undefined1 local_18 [16]; if (*param_2 != *(longlong *)(param_1 + 8)) { iVar1 = FUN_18048cbc0(*param_2,*(longlong *)(param_1 + 8)); if (iVar1 != 0) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_2); puVar2 = (undefined4 *)FUN_1812d01c0(param_1,local_18); local_28 = *puVar2; uStack_24 = puVar2[1]; uStack_20 = puVar2[2]; uStack_1c = puVar2[3]; FUN_181342a30(param_1,&local_28); } } return; } ############ FUN_ 1812d4e70 size=143 ############ undefined8 * FUN_1812d4e70(longlong param_1,undefined8 *param_2,longlong *param_3) { longlong *plVar1; longlong lVar2; longlong lVar3; int iVar4; longlong *plVar5; plVar5 = *(longlong **)(param_1 + 0x150); plVar1 = plVar5 + *(int *)(param_1 + 0x15c); if (plVar5 != plVar1) { lVar2 = *param_3; do { lVar3 = *plVar5; if ((*(longlong *)(lVar3 + 8) == lVar2) || (iVar4 = FUN_18048cbc0(*(undefined8 *)(lVar3 + 8),lVar2), iVar4 == 0)) { if (lVar3 != 0) { FUN_1812dc020(lVar3,param_2); return param_2; } break; } plVar5 = plVar5 + 1; } while (plVar5 != plVar1); } *param_2 = &DAT_1821dbf98; return param_2; } ############ FUN_ 1812d4f10 size=120 ############ longlong FUN_1812d4f10(longlong param_1,longlong *param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; int iVar4; longlong *plVar5; plVar5 = *(longlong **)(param_1 + 0x150); plVar1 = plVar5 + *(int *)(param_1 + 0x15c); if (plVar5 != plVar1) { lVar2 = *param_2; do { lVar3 = *plVar5; if (*(longlong *)(lVar3 + 8) == lVar2) { return lVar3; } iVar4 = FUN_18048cbc0(*(undefined8 *)(lVar3 + 8),lVar2); if (iVar4 == 0) { return lVar3; } plVar5 = plVar5 + 1; } while (plVar5 != plVar1); } return 0; } ############ FUN_ 1812d9f80 size=146 ############ longlong FUN_1812d9f80(longlong param_1,undefined8 *param_2) { uint *_Memory; int iVar1; uint uVar2; longlong local_res10; (**(code **)(*(longlong *)*param_2 + 0x20))((longlong *)*param_2,&local_res10,param_2 + 1); iVar1 = FUN_18048cbc0(local_res10,"_toolbarItem_"); _Memory = (uint *)(local_res10 + -0x10); uVar2 = *_Memory; if ((uVar2 & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); uVar2 = uVar2 - 1; if (uVar2 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((iVar1 == 0) && (*(char *)(param_1 + 0x11) != '\0')) { return 1; } return (ulonglong)(uVar2 >> 8) << 8; } ############ FUN_ 1812e64a0 size=351 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812e64a0(longlong param_1) { double dVar1; longlong lVar2; int iVar3; DWORD DVar4; int iVar5; int *piVar6; double extraout_XMM0_Qa; double dVar7; double dVar8; undefined4 uVar9; undefined4 uVar10; undefined8 local_28; undefined8 uStack_20; dVar1 = **(double **)(param_1 + 0x18); DVar4 = timeGetTime(); if (DVar4 < DAT_1826737fc) { if (DVar4 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar4; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar4; } dVar8 = *(double *)(param_1 + 0x20); iVar3 = *(int *)(param_1 + 0x40); uVar9 = 0; uVar10 = 0; *(DWORD *)(param_1 + 0x40) = DVar4; dVar7 = DAT_1824c4140; if ((((dVar8 != dVar1) || (dVar1 < 0.0)) || (DAT_1824c4140 <= dVar1)) || ((*(longlong *)(param_1 + 0x38) != *(longlong *)(param_1 + 0x30) && (iVar5 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0x38),*(longlong *)(param_1 + 0x30)), dVar7 = extraout_XMM0_Qa, iVar5 != 0)))) { if ((((dVar8 < dVar1) && (((double)CONCAT44(uVar10,uVar9) <= dVar1 && (dVar1 < dVar7)))) && ((double)CONCAT44(uVar10,uVar9) <= dVar8)) && ((dVar8 < dVar7 && (dVar8 = (double)(int)(DVar4 - iVar3) * _DAT_1824c3e20 + dVar8, dVar8 <= dVar1)))) { dVar1 = dVar8; } *(double *)(param_1 + 0x20) = dVar1; if ((*(uint *)(*(longlong *)(param_1 + 0x30) + -0x10) & 0x30000000) == 0) { LOCK(); piVar6 = (int *)(*(longlong *)(param_1 + 0x30) + -0x10); *piVar6 = *piVar6 + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0x38); *(longlong *)(param_1 + 0x38) = *(longlong *)(param_1 + 0x30); UNLOCK(); piVar6 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *piVar6; *piVar6 = *piVar6 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(piVar6); } } uStack_20 = *(undefined8 *)(param_1 + -0x98); local_28 = 0; FUN_181342870(param_1 + -0xc0,&local_28,1); } return; } ############ FUN_ 1812e9eb0 size=314 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812e9eb0(longlong param_1) { uint uVar1; int iVar2; undefined8 *puVar3; uint *puVar4; undefined1 auStack_68 [32]; longlong local_48; longlong local_40 [2]; longlong *local_30; undefined1 local_28 [8]; longlong *local_20; undefined1 local_18 [8]; ulonglong local_10; local_40[1] = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_68; puVar3 = (undefined8 *) (**(code **)(**(longlong **)(param_1 + 200) + 8)) (*(longlong **)(param_1 + 200),&local_30); (**(code **)(*(longlong *)*puVar3 + 0x20))((longlong *)*puVar3,local_40,puVar3 + 1); (**(code **)(*local_30 + 0xb0))(local_30,local_28); if (*(longlong *)(param_1 + 0xe0) == local_40[0]) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0xe0),local_40[0]); } puVar4 = (uint *)(local_40[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (iVar2 != 0) { puVar3 = (undefined8 *) (**(code **)(**(longlong **)(param_1 + 200) + 8)) (*(longlong **)(param_1 + 200),&local_20); (**(code **)(*(longlong *)*puVar3 + 0x20))((longlong *)*puVar3,&local_48,puVar3 + 1); (**(code **)(*local_20 + 0xb0))(local_20,local_18); FUN_181349c50(param_1 + -0xd0,&local_48,1); puVar4 = (uint *)(local_48 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } } ############ FUN_ 181349390 size=408 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181349390(longlong param_1) { uint uVar1; undefined1 *puVar2; char cVar3; int iVar4; undefined8 *puVar5; uint *puVar6; undefined1 auStack_98 [32]; undefined1 *local_78; undefined1 *local_70; undefined1 local_68 [24]; void *local_50; longlong local_40; undefined8 local_38; longlong *local_30; undefined1 local_28 [8]; ulonglong local_20; local_38 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_98; (**(code **)(**(longlong **)(param_1 + 0x138) + 8))(*(longlong **)(param_1 + 0x138),&local_30); iVar4 = (**(code **)(*local_30 + 8))(local_30,local_28); if (iVar4 == 0) { (**(code **)(*local_30 + 0xb0))(local_30,local_28); puVar5 = (undefined8 *)FUN_1812ebeb0(param_1,0xffffffff); if (puVar5 == (undefined8 *)0x0) { local_78 = &DAT_1821dbf98; } else { local_78 = (undefined1 *)*puVar5; if ((*(uint *)(local_78 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } } puVar2 = local_78; FUN_1812ea010(*(undefined8 *)(param_1 + 0x170),&local_70); if (local_70 != puVar2) { FUN_18048cbc0(local_70,puVar2); } puVar6 = (uint *)(local_70 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_78 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } FUN_1812efe40(local_68,param_1 + 0x118,1); cVar3 = FUN_1812efb00(local_68); while( true ) { if (cVar3 == '\0') { /* WARNING: Subroutine does not return */ free(local_50); } if (*(int *)(local_40 + 8) == iVar4) break; cVar3 = FUN_1812efb00(local_68); } /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 1812ecda0 size=328 ############ void FUN_1812ecda0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; uint uVar2; undefined8 *puVar3; longlong *plVar4; longlong lVar5; uint *puVar6; int iVar7; bool bVar8; undefined8 *local_res8; longlong local_res10; longlong local_res18 [2]; FUN_1812ea010(param_1[0x1a],&local_res10,param_3,param_4,0xfffffffffffffffe); plVar4 = (longlong *)(**(code **)(*param_1 + 0x168))(param_1,local_res18); if (*plVar4 == local_res10) { iVar7 = 0; } else { iVar7 = FUN_18048cbc0(*plVar4); } puVar6 = (uint *)(local_res18[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (iVar7 != 0) { (**(code **)(*param_1 + 0x160))(param_1,&local_res10); } FUN_1804de690(&local_res8,param_1); puVar3 = local_res8; iVar7 = *(int *)((longlong)param_1 + 0xe4); bVar8 = local_res8 == (undefined8 *)0x0; while( true ) { if (bVar8) { lVar5 = 0; } else { lVar5 = puVar3[2]; } if ((lVar5 == 0) || (iVar7 < 1)) break; iVar7 = iVar7 + -1; if ((*(int *)((longlong)param_1 + 0xe4) <= iVar7) && (iVar7 = *(int *)((longlong)param_1 + 0xe4) + -1, iVar7 < 0)) break; plVar4 = *(longlong **)(param_1[0x1b] + (longlong)iVar7 * 8); (**(code **)(*plVar4 + 8))(plVar4,param_1); } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_res8)(local_res8,1); } } puVar6 = (uint *)(local_res10 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return; } ############ FUN_ 1812edc10 size=550 ############ void FUN_1812edc10(longlong param_1) { uint *_Memory; longlong *plVar1; undefined8 *puVar2; uint uVar3; int iVar4; char *pcVar5; int iVar6; int iVar7; longlong lVar8; undefined8 *puVar9; char *local_res18; char *local_res20; plVar1 = (longlong *)(param_1 + 0xd8); (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); puVar9 = *(undefined8 **)(param_1 + 200); puVar2 = puVar9 + *(int *)(param_1 + 0xd4); do { if (puVar9 == puVar2) { lVar8 = *(longlong *)(param_1 + 0x248); if ((*(char *)(lVar8 + 0x200) != '\0') || (*(char *)(lVar8 + 0x201) != '\0')) { *(undefined2 *)(lVar8 + 0x200) = 0; *(undefined1 *)(lVar8 + 0x202) = 0; *(byte *)(lVar8 + 0xa8) = *(byte *)(lVar8 + 0xa8) & 0x9f; *(undefined4 *)(param_1 + 0x260) = 1; *(byte *)(param_1 + 0x180) = *(byte *)(param_1 + 0x180) | 0x20; if (*(code **)(*plVar1 + 0x108) == FUN_1812eb3c0) { if ((0 < *(int *)(param_1 + 0x104)) && (0 < *(int *)(param_1 + 0x100))) { lVar8 = FUN_18134adf0(plVar1); (**(code **)(*(longlong *)(lVar8 + 0x48) + 0x20)) ((longlong *)(lVar8 + 0x48),plVar1,*(undefined8 *)(param_1 + 0x248)); } } else { (**(code **)(*plVar1 + 0x108))(plVar1); } } return; } pcVar5 = (char *)*puVar9; _Memory = (uint *)(pcVar5 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_res20 = pcVar5; if (*pcVar5 == '\0') { FUN_181348300(param_1 + 0x1f0); } else { iVar7 = 0; lVar8 = 0; iVar4 = *(int *)(param_1 + 0xd4); if (0 < iVar4) { do { iVar6 = FUN_18048cbc0(pcVar5); if (iVar6 == 0) goto LAB_1812edd07; iVar7 = iVar7 + 1; lVar8 = lVar8 + 1; } while (lVar8 < iVar4); } iVar7 = -1; LAB_1812edd07: if (iVar7 + 1 != 0) { if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_res18 = pcVar5; FUN_1813486a0(param_1 + 0x1f0,iVar7 + 1,&local_res18,1,0); } } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar9 = puVar9 + 1; } while( true ); } ############ FUN_ 1812ed840 size=958 ############ void FUN_1812ed840(longlong param_1,undefined8 *param_2) { uint uVar1; int iVar2; char *pcVar3; bool bVar4; bool bVar5; int iVar6; longlong *plVar7; undefined8 *puVar8; uint *puVar9; uint *_Memory; undefined8 *puVar10; undefined8 *puVar11; longlong lVar12; int iVar13; longlong local_res20; longlong local_a0; longlong local_98; char *local_90; longlong local_88; longlong local_80; char *local_78; char *local_70; char *local_68; longlong *local_60; undefined8 local_58; undefined8 local_50; local_58 = 0xfffffffffffffffe; plVar7 = (longlong *)(param_1 + 0xd8); local_60 = plVar7; (**(code **)(*plVar7 + 0x58))(plVar7,1); FUN_181343cc0(param_1,plVar7,0xffffffff); if (*(char *)*param_2 == '\0') { FUN_18049c4e0(&local_88,&DAT_1821d8f4f); plVar7 = &local_88; bVar5 = true; bVar4 = false; } else { FUN_18049c4e0(&local_a0,&DAT_1821e2fb4); plVar7 = (longlong *)FUN_181232d30(&local_a0,param_2); local_res20 = *plVar7; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } puVar9 = (uint *)(local_a0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_181232e20(&local_res20,&DAT_1821e2fd4,&DAT_1821e2fd5); local_80 = local_res20; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } plVar7 = &local_80; bVar5 = false; bVar4 = true; } FUN_18049c4e0(&local_98,"Default"); puVar8 = (undefined8 *)FUN_181232d30(&local_98,plVar7); local_70 = (char *)*puVar8; puVar9 = (uint *)(local_70 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } _Memory = (uint *)(local_98 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (*local_70 != '\0') { if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } local_90 = local_70; FUN_1813486a0(param_1 + 0x1f0,0xffffffff,&local_90,1,0); } if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((bVar5) && (puVar9 = (uint *)(local_88 + -0x10), (*puVar9 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((bVar4) && (puVar9 = (uint *)(local_80 + -0x10), (*puVar9 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar8 = *(undefined8 **)(param_1 + 200); puVar11 = puVar8 + *(int *)(param_1 + 0xd4); do { if (puVar8 == puVar11) { FUN_1812ec210(local_60,0); return; } pcVar3 = (char *)*puVar8; puVar9 = (uint *)(pcVar3 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } local_68 = pcVar3; if (*pcVar3 == '\0') { FUN_181348300(param_1 + 0x1f0); } else { iVar13 = 0; lVar12 = 0; iVar2 = *(int *)(param_1 + 0xd4); if (0 < iVar2) { puVar10 = *(undefined8 **)(param_1 + 200); do { local_50 = *puVar10; iVar6 = FUN_18048cbc0(pcVar3); if (iVar6 == 0) goto LAB_1812edb58; iVar13 = iVar13 + 1; lVar12 = lVar12 + 1; puVar10 = puVar10 + 1; } while (lVar12 < iVar2); } iVar13 = -1; LAB_1812edb58: if (iVar13 + 1 != 0) { if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } local_78 = pcVar3; FUN_1813486a0(param_1 + 0x1f0,iVar13 + 1,&local_78,1,0); } } if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar8 = puVar8 + 1; } while( true ); } ############ FUN_ 1812ef1f0 size=129 ############ longlong FUN_1812ef1f0(longlong param_1,undefined8 *param_2) { longlong *plVar1; longlong lVar2; undefined8 uVar3; int iVar4; longlong *plVar5; lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x18); if (lVar2 == 0) { return 0; } uVar3 = *param_2; plVar5 = *(longlong **)(lVar2 + 0x40); plVar1 = plVar5 + *(int *)(lVar2 + 0x4c); while( true ) { if (plVar5 == plVar1) { return 0; } lVar2 = *plVar5; iVar4 = FUN_18048cbc0(*(undefined8 *)(lVar2 + 0x10),uVar3); if (iVar4 == 0) break; plVar5 = plVar5 + 1; } return lVar2; } ############ FUN_ 1812ef2b0 size=240 ############ void FUN_1812ef2b0(longlong param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; int iVar3; longlong lVar4; longlong *plVar5; undefined8 uVar6; undefined **local_30; longlong local_28; uVar6 = 0xfffffffffffffffe; lVar2 = *param_2; if (lVar2 == DAT_182673c10) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(lVar2); } if (iVar3 == 0) { lVar4 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x18); } else { lVar4 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x18); if (lVar4 != 0) { plVar5 = *(longlong **)(lVar4 + 0x40); plVar1 = plVar5 + *(int *)(lVar4 + 0x4c); for (; plVar5 != plVar1; plVar5 = plVar5 + 1) { lVar4 = *plVar5; iVar3 = FUN_18048cbc0(*(undefined8 *)(lVar4 + 0x10),lVar2); if (iVar3 == 0) goto LAB_1812ef34e; } } lVar4 = 0; } LAB_1812ef34e: if (lVar4 != 0) { local_30 = juce::RelativeCoordinatePositionerBase::ComponentScope::vftable; local_28 = lVar4; (**(code **)(*param_3 + 8))(param_3,&local_30); return; } /* WARNING: Subroutine does not return */ FUN_18123aff0(param_1,param_2,param_3,param_4,uVar6); } ############ FUN_ 1813159e0 size=271 ############ longlong * FUN_1813159e0(longlong param_1,longlong *param_2,longlong *param_3) { int *piVar1; longlong lVar2; int iVar3; longlong *plVar4; undefined8 *local_res18; plVar4 = (longlong *)FUN_181252610(); local_res18 = (undefined8 *)*param_3; if (local_res18[3] == *plVar4) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(local_res18[3],*plVar4); } if (iVar3 == 0) { lVar2 = *(longlong *)(param_1 + 0x110); if (lVar2 != 0) { *param_2 = lVar2; if (lVar2 == 0) { return param_2; } LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); return param_2; } if (**(char **)(param_1 + 0xf8) != '\0') { if (local_res18 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res18 + 1) = *(int *)(local_res18 + 1) + 1; UNLOCK(); } FUN_1812524b0(&local_res18); FUN_18124abe0(param_2,&local_res18); if (local_res18 == (undefined8 *)0x0) { return param_2; } LOCK(); piVar1 = (int *)(local_res18 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 != 1) { return param_2; } (**(code **)*local_res18)(local_res18,1); return param_2; } } FUN_18124ad90(param_2,param_3); return param_2; } ############ FUN_ 181318410 size=160 ############ void FUN_181318410(longlong param_1,uint param_2,longlong *param_3) { longlong *plVar1; undefined8 *puVar2; int iVar3; plVar1 = *(longlong **)(param_1 + 0xb0); if ((((param_2 < *(uint *)((longlong)plVar1 + 0xf4)) && (puVar2 = *(undefined8 **)(plVar1[0x1d] + (longlong)(int)param_2 * 8), puVar2 != (undefined8 *)0x0)) && (puVar2[1] != *param_3)) && (iVar3 = FUN_18048cbc0(puVar2[1],*param_3), iVar3 != 0)) { FUN_181249460(puVar2 + 1,param_3); FUN_181347ea0(*puVar2,param_3); if (*(code **)(*plVar1 + 0x108) == thunk_FUN_181319110) { FUN_181319110(); } else { (**(code **)(*plVar1 + 0x108))(plVar1); } } return; } ############ FUN_ 181319c50 size=156 ############ void FUN_181319c50(longlong *param_1,uint param_2,longlong *param_3) { undefined8 *puVar1; int iVar2; if ((((param_2 < *(uint *)((longlong)param_1 + 0xf4)) && (puVar1 = *(undefined8 **)(param_1[0x1d] + (longlong)(int)param_2 * 8), puVar1 != (undefined8 *)0x0)) && (puVar1[1] != *param_3)) && (iVar2 = FUN_18048cbc0(puVar1[1],*param_3), iVar2 != 0)) { FUN_181249460(puVar1 + 1,param_3); FUN_181347ea0(*puVar1,param_3); if (*(code **)(*param_1 + 0x108) == thunk_FUN_181319110) { FUN_181319110(); } else { (**(code **)(*param_1 + 0x108))(param_1); } } return; } ############ FUN_ 181320180 size=503 ############ void FUN_181320180(longlong param_1) { longlong *plVar1; int iVar2; longlong *plVar3; longlong lVar4; uint uVar5; ulonglong uVar6; ulonglong uVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; ulonglong uVar11; undefined1 local_38 [16]; if (*(int *)(param_1 + 8) == 0) { puVar10 = *(undefined8 **)(param_1 + -0x70); uVar11 = 0; uVar6 = (ulonglong)((longlong)(puVar10 + *(int *)(param_1 + -100)) + (7 - (longlong)puVar10)) >> 3; if (puVar10 + *(int *)(param_1 + -100) < puVar10) { uVar6 = uVar11; } uVar7 = uVar11; if (uVar6 != 0) { do { plVar3 = (longlong *) __RTDynamicCast(*puVar10,0,&juce::Component::RTTI_Type_Descriptor, &juce::MultiDocumentPanelWindow::RTTI_Type_Descriptor,0); if (plVar3 != (longlong *)0x0) { uVar9 = uVar11; if (plVar3[0x1a] != 0) { uVar9 = *(ulonglong *)(plVar3[0x1a] + 0x10); } if ((undefined **)*plVar3 == juce::MultiDocumentPanelWindow::vftable) { if ((*(longlong *)(uVar9 + 8) != plVar3[1]) && (iVar2 = FUN_18048cbc0(*(undefined8 *)(uVar9 + 8)), iVar2 != 0)) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (plVar3,uVar9 + 8); FUN_1812d01c0(plVar3,local_38); FUN_181342a30(plVar3); } } else { (*(code *)((undefined **)*plVar3)[10])(plVar3); } } puVar10 = puVar10 + 1; uVar7 = uVar7 + 1; } while (uVar7 != uVar6); } } else if ((*(longlong *)(param_1 + 0x20) != 0) && (uVar5 = *(int *)(*(longlong *)(*(longlong *)(param_1 + 0x20) + 0xb0) + 0xf4) - 1, -1 < (int)uVar5)) { lVar8 = (longlong)(int)uVar5 * 8; do { lVar4 = FUN_181318140(*(undefined8 *)(param_1 + 0x20),uVar5); plVar3 = (longlong *)(lVar4 + 8); plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x20) + 0xb0); if ((((uVar5 < *(uint *)((longlong)plVar1 + 0xf4)) && (puVar10 = *(undefined8 **)(lVar8 + plVar1[0x1d]), puVar10 != (undefined8 *)0x0)) && (puVar10[1] != *plVar3)) && (iVar2 = FUN_18048cbc0(puVar10[1],*plVar3), iVar2 != 0)) { FUN_181249460(puVar10 + 1,plVar3); FUN_181347ea0(*puVar10,plVar3); if (*(code **)(*plVar1 + 0x108) == thunk_FUN_181319110) { FUN_181319110(); } else { (**(code **)(*plVar1 + 0x108))(plVar1); } } lVar8 = lVar8 + -8; uVar5 = uVar5 - 1; } while (-1 < (int)uVar5); } return; } ############ FUN_ 1813214f0 size=1015 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813214f0(longlong *param_1,longlong param_2) { LPCRITICAL_SECTION p_Var1; longlong *plVar2; uint uVar3; char cVar4; int iVar5; undefined4 uVar6; longlong *plVar7; undefined4 *puVar8; longlong lVar9; longlong *plVar10; uint *puVar11; undefined1 auStack_118 [32]; undefined4 local_f8; undefined4 local_e8; longlong local_e0; undefined4 local_d8; undefined4 uStack_d4; longlong local_d0; longlong local_c8; char *local_c0; char *local_b8; char *local_b0; undefined8 local_a8; LPCRITICAL_SECTION local_a0; longlong local_98; LPCRITICAL_SECTION local_90; longlong local_88; undefined4 local_78; undefined4 uStack_74; undefined4 uStack_70; undefined4 uStack_6c; undefined1 local_68 [16]; longlong *local_58; undefined1 local_50 [8]; longlong *local_48; undefined1 local_40 [8]; ulonglong local_38; local_a8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; plVar7 = (longlong *)(**(code **)(*param_1 + 0x168))(); FUN_1812cec00(plVar7,1,0); FUN_1812cf600(plVar7,param_2,0,1); if ((undefined **)*plVar7 == juce::MultiDocumentPanelWindow::vftable) { if (*(longlong *)(param_2 + 8) == plVar7[1]) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(*(undefined8 *)(param_2 + 8),plVar7[1]); } if (iVar5 != 0) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(plVar7,param_2 + 8); puVar8 = (undefined4 *)FUN_1812d01c0(plVar7,local_68); local_78 = *puVar8; uStack_74 = puVar8[1]; uStack_70 = puVar8[2]; uStack_6c = puVar8[3]; FUN_181342a30(plVar7,&local_78); } } else { (*(code *)((undefined **)*plVar7)[10])(plVar7,param_2 + 8); } lVar9 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar9 + 0x10); local_a0 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar9); local_b0 = "mdiDocumentBkg_"; FUN_181211b90(&local_e0,lVar9,&local_b0); LeaveCriticalSection(p_Var1); plVar10 = *(longlong **)(param_2 + 0x90); plVar2 = plVar10 + (longlong)*(int *)(param_2 + 0x9c) * 3; for (; plVar10 != plVar2; plVar10 = plVar10 + 3) { local_98 = *plVar10; if (local_98 == local_e0) { plVar10 = plVar10 + 1; if (plVar10 != (longlong *)0x0) goto LAB_18132164b; break; } } plVar10 = (longlong *)FUN_181244160(); LAB_18132164b: local_48 = (longlong *)*plVar10; (**(code **)(*local_48 + 0xb8))(local_48,local_40,plVar10 + 1); puVar11 = (uint *)(local_e0 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } cVar4 = (**(code **)(*local_48 + 0x50))(); if (cVar4 == '\0') { uVar6 = (**(code **)(*local_48 + 8))(local_48,local_40); local_e8 = uVar6; } else { uVar6 = (undefined4)param_1[0x1b]; } FUN_1812ce6d0(plVar7,uVar6); local_d8 = 4; if ((((0 < *(int *)((longlong)param_1 + 0x4c)) && (lVar9 = *(longlong *)(param_1[8] + (longlong)(*(int *)((longlong)param_1 + 0x4c) + -1) * 8), lVar9 != 0)) && (*(int *)(lVar9 + 0x20) == 4)) && (local_d8 = 4, *(int *)(lVar9 + 0x24) == 4) ) { local_d8 = 0x14; } local_f8 = *(undefined4 *)((longlong)plVar7 + 0x2c); uStack_d4 = local_d8; FUN_18134bfe0(plVar7,local_d8,local_d8,(int)plVar7[5]); lVar9 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar9 + 0x10); local_90 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar9); local_c0 = "mdiDocumentPos_"; FUN_181211b90(&local_d0,lVar9,&local_c0); LeaveCriticalSection(p_Var1); plVar10 = *(longlong **)(param_2 + 0x90); plVar2 = plVar10 + (longlong)*(int *)(param_2 + 0x9c) * 3; do { if (plVar10 == plVar2) { LAB_1813217b5: plVar10 = (longlong *)FUN_181244160(); LAB_1813217ba: local_58 = (longlong *)*plVar10; (**(code **)(*local_58 + 0xb8))(local_58,local_50,plVar10 + 1); puVar11 = (uint *)(local_d0 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } (**(code **)(*local_58 + 0x20))(local_58,&local_b8,local_50); puVar11 = (uint *)(local_b8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if (*local_b8 != '\0') { (**(code **)(*local_58 + 0x20))(local_58,&local_c8,local_50); FUN_1812cd5f0(plVar7,&local_c8); puVar11 = (uint *)(local_c8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } } (**(code **)(*plVar7 + 0x58))(plVar7,1); FUN_181343cc0(param_1,plVar7,0xffffffff); FUN_181344f60(plVar7,1); (**(code **)(*local_58 + 0xb0))(local_58,local_50); (**(code **)(*local_48 + 0xb0))(local_48,local_40); } local_88 = *plVar10; if (local_88 == local_d0) { plVar10 = plVar10 + 1; if (plVar10 != (longlong *)0x0) goto LAB_1813217ba; goto LAB_1813217b5; } plVar10 = plVar10 + 3; } while( true ); } ############ FUN_ 181322f80 size=525 ############ void FUN_181322f80(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; uint *_Memory; longlong *plVar2; uint uVar3; undefined8 *puVar4; longlong lVar5; int iVar6; longlong lVar7; undefined8 uVar8; longlong *plVar9; longlong *plVar10; char *pcVar11; undefined8 *puVar12; char *local_res8; uVar8 = 0; iVar6 = 0; if (*(longlong *)(param_1 + 0x30) == 0) { lVar7 = FUN_181322d40(param_1,param_1 + 8,param_3,param_4,0xfffffffffffffffe); if (lVar7 != 0) { uVar8 = FUN_181323260(lVar7,param_1 + 8); } puVar4 = *(undefined8 **)(param_1 + 0x30); *(undefined8 *)(param_1 + 0x30) = uVar8; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } lVar7 = *(longlong *)(param_1 + 0x30); if (lVar7 != 0) { plVar9 = (longlong *)FUN_181322d40(param_1,param_2); lVar5 = *param_2; if (lVar5 == 0) { plVar10 = (longlong *)FUN_181350e20(); } else { plVar10 = *(longlong **)(lVar5 + 0x18); plVar2 = plVar10 + (longlong)*(int *)(lVar5 + 0x24) * 3; for (; plVar10 != plVar2; plVar10 = plVar10 + 3) { if (*plVar10 == DAT_182673c30) { plVar10 = plVar10 + 1; if (plVar10 != (longlong *)0x0) goto LAB_18132306d; break; } } plVar10 = (longlong *)FUN_181244160(); } LAB_18132306d: (**(code **)(*(longlong *)*plVar10 + 0x20))((longlong *)*plVar10,&local_res8,plVar10 + 1); pcVar11 = local_res8; if ((plVar9 == (longlong *)0x0) || (*local_res8 == '\0')) { if ((*param_2 != 0) && (lVar7 = *(longlong *)(*param_2 + 0x48), lVar7 != 0)) { LOCK(); piVar1 = (int *)(lVar7 + 8); *piVar1 = *piVar1 + 1; UNLOCK(); } /* WARNING: Subroutine does not return */ free((void *)0x0); } if (*(char **)(lVar7 + 0x10) != local_res8) { iVar6 = FUN_18048cbc0(*(undefined8 *)(lVar7 + 0x10),local_res8); } if (iVar6 == 0) { LAB_1813230f2: if (lVar7 != 0) { (**(code **)(*plVar9 + 0x10))(plVar9,lVar7,param_2); pcVar11 = local_res8; } } else { puVar12 = *(undefined8 **)(lVar7 + 0x40); puVar4 = puVar12 + *(int *)(lVar7 + 0x4c); for (; puVar12 != puVar4; puVar12 = puVar12 + 1) { lVar7 = FUN_181323370(*puVar12,&local_res8); if (lVar7 != 0) goto LAB_1813230f2; } } _Memory = (uint *)(pcVar11 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return; } ############ FUN_ 181323370 size=121 ############ longlong FUN_181323370(longlong param_1,longlong *param_2) { undefined8 *puVar1; int iVar2; longlong lVar3; undefined8 *puVar4; if ((*(longlong *)(param_1 + 0x10) != *param_2) && (iVar2 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0x10),*param_2), iVar2 != 0)) { puVar4 = *(undefined8 **)(param_1 + 0x40); puVar1 = puVar4 + *(int *)(param_1 + 0x4c); while( true ) { if (puVar4 == puVar1) { return 0; } lVar3 = FUN_181323370(*puVar4,param_2); if (lVar3 != 0) break; puVar4 = puVar4 + 1; } return lVar3; } return param_1; } ############ FUN_ 181328940 size=497 ############ void FUN_181328940(int param_1,longlong param_2,longlong *param_3) { int *piVar1; uint uVar2; longlong lVar3; undefined8 *puVar4; int iVar5; longlong *plVar6; longlong lVar7; undefined8 uVar8; uint *puVar9; longlong *plVar10; undefined1 *local_res20; longlong local_38; undefined8 local_30; local_30 = 0xfffffffffffffffe; if (param_1 != 0) { lVar3 = *param_3; if (lVar3 == 0) { lVar7 = 0; } else { lVar7 = *(longlong *)(lVar3 + 0x10); } if ((lVar7 != 0) && (param_2 != 0)) { if (lVar3 == 0) { uVar8 = 0; } else { uVar8 = *(undefined8 *)(lVar3 + 0x10); } plVar6 = (longlong *) __RTDynamicCast(uVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::AlertWindow::RTTI_Type_Descriptor,0); (**(code **)(*plVar6 + 0x58))(plVar6,0); FUN_18049c4e0(&local_38,"Folder Name"); if (*param_3 == 0) { uVar8 = 0; } else { uVar8 = *(undefined8 *)(*param_3 + 0x10); } lVar7 = __RTDynamicCast(uVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::AlertWindow::RTTI_Type_Descriptor,0); lVar3 = local_38; plVar10 = *(longlong **)(lVar7 + 0x150); plVar6 = plVar10 + *(int *)(lVar7 + 0x15c); for (; plVar10 != plVar6; plVar10 = plVar10 + 1) { lVar7 = *plVar10; if (*(longlong *)(lVar7 + 8) == lVar3) { iVar5 = 0; } else { iVar5 = FUN_18048cbc0(*(undefined8 *)(lVar7 + 8),lVar3); } if (iVar5 == 0) { if (lVar7 != 0) { FUN_1812dc020(lVar7,&local_res20); goto LAB_181328a7e; } break; } } local_res20 = &DAT_1821dbf98; LAB_181328a7e: FUN_181327e20(param_2,&local_res20); puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_38 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } } puVar4 = (undefined8 *)*param_3; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*puVar4)(puVar4,1); } } return; } ############ FUN_ 18132f760 size=141 ############ void FUN_18132f760(longlong param_1,longlong *param_2) { longlong lVar1; int iVar2; int *_Memory; lVar1 = *param_2; if (*(longlong *)(param_1 + 0xf0) != lVar1) { iVar2 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0xf0),lVar1); if (iVar2 != 0) { if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } LOCK(); lVar1 = *(longlong *)(param_1 + 0xf0); *(longlong *)(param_1 + 0xf0) = *param_2; UNLOCK(); _Memory = (int *)(lVar1 + -0x10); if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18132f430(param_1); } } return; } ############ FUN_ 181345490 size=223 ############ void FUN_181345490(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; int iVar2; longlong *plVar3; longlong *plVar4; uint *puVar5; longlong local_res8; longlong local_res18; plVar3 = (longlong *)FUN_18123e660(param_1 + 0xd0,&local_res18,param_3,param_4,0xfffffffffffffffe) ; plVar4 = (longlong *)FUN_18123e660(param_2,&local_res8); if (*plVar4 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*plVar4,*plVar3); } puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } if (iVar2 != 0) { FUN_18122ddb0(param_1 + 0xd0,param_2); FUN_181325e40(param_1); } return; } ############ FUN_ 1813abe20 size=2054 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813abe20(undefined8 param_1,longlong *param_2) { ushort uVar1; int iVar2; int iVar3; uint uVar4; longlong *plVar5; longlong lVar6; ulonglong uVar7; void *_Dst; uint *puVar8; uint *puVar9; uint *puVar10; longlong lVar11; void *pvVar12; int iVar13; ulonglong uVar14; undefined8 *puVar15; bool bVar16; undefined1 auStack_1b8 [32]; undefined1 local_198 [8]; undefined1 local_190 [8]; ushort local_188 [2]; ushort local_184 [2]; ushort local_180 [4]; longlong local_178; int local_170; longlong local_168; longlong local_160; longlong *local_158; uint local_150; int local_14c; longlong local_148; uint *local_140; char *local_138; longlong local_130; longlong local_128; longlong local_120; char *local_118; char *local_110; char *local_108; char *local_100; char *local_f8; uint *local_f0; undefined **local_e8; undefined1 local_e0 [8]; undefined8 local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 local_c0; undefined8 local_b8; ulonglong local_b0; undefined8 local_a8; longlong local_98; undefined1 *local_90; longlong local_88; void *local_80; undefined8 local_78; longlong *local_70; longlong *local_68; longlong *local_60; undefined8 local_58; undefined1 local_31; ulonglong local_30; local_78 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_1b8; local_158 = param_2; FUN_18049c4e0(&local_138,&DAT_1821e3eec); iVar2 = FUN_1812498b0(param_2,"NumCueNotes",(char)param_2[4],0); if (iVar2 < 0) { local_f8 = local_138; puVar8 = (uint *)(local_138 + -0x10); uVar4 = *puVar8; } else { plVar5 = (longlong *)FUN_181249970(param_2 + 2,iVar2); local_f8 = (char *)*plVar5; puVar8 = (uint *)(local_f8 + -0x10); uVar4 = *puVar8; } if ((uVar4 & 0x30000000) == 0) { LOCK(); *puVar8 = *puVar8 + 1; UNLOCK(); } iVar2 = atoi(local_f8); local_14c = iVar2; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_138 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (0 < iVar2) { local_e8 = juce::OutputStream::vftable; FUN_18049c4e0(local_e0,&DAT_182496878); local_e8 = juce::MemoryOutputStream::vftable; local_d0 = 0; local_c8 = 0; local_c0 = 0; local_b8 = 0; local_b0 = 0; local_a8 = 0; local_188[0] = (ushort)iVar2 << 8 | (ushort)iVar2 >> 8; local_d8 = param_1; (*(code *)PTR_FUN_182496b98)(&local_e8,local_188,2); local_170 = 0; if (0 < iVar2) { local_70 = &local_178; local_68 = &local_168; local_90 = &DAT_1821dbf98; local_60 = &local_160; LAB_1813abfe0: uVar7 = 0; lVar6 = FUN_181233e10(&local_30,local_170); FUN_180495150(&local_128,lVar6,&local_31 + -lVar6); FUN_18049c4e0(&local_130,"CueNote"); plVar5 = (longlong *)FUN_181232d30(&local_130,&local_128); local_148 = *plVar5; puVar8 = (uint *)(local_148 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); *puVar8 = *puVar8 + 1; UNLOCK(); } puVar9 = (uint *)(local_130 + -0x10); local_f0 = puVar8; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_128 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_18049c4e0(&local_110,&DAT_1821e3f04); local_178 = local_148; if ((*puVar8 & 0x30000000) == 0) { LOCK(); *puVar8 = *puVar8 + 1; UNLOCK(); } lVar6 = -1; do { lVar11 = lVar6; lVar6 = lVar11 + 1; } while (*(char *)(local_148 + lVar6) != '\0'); FUN_1812342b0(&local_178,lVar11 + 10); pvVar12 = (void *)((int)lVar6 + local_178); memcpy(pvVar12,"TimeStamp",9); lVar6 = local_178; *(undefined1 *)((longlong)pvVar12 + 9) = 0; local_120 = local_178; local_140 = (uint *)(local_178 + -0x10); if ((*local_140 & 0x30000000) == 0) { LOCK(); *local_140 = *local_140 + 1; UNLOCK(); } puVar8 = (uint *)(local_178 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } iVar2 = *(int *)((longlong)param_2 + 0xc); if ((char)param_2[4] == '\0') { if (0 < iVar2) { puVar15 = (undefined8 *)*local_158; uVar14 = uVar7; do { iVar13 = (int)uVar14; local_58 = *puVar15; iVar3 = FUN_18048cbc0(lVar6); param_2 = local_158; if (iVar3 == 0) goto LAB_1813ac35c; uVar14 = (ulonglong)(iVar13 + 1); uVar7 = uVar7 + 1; puVar15 = puVar15 + 1; } while ((longlong)uVar7 < (longlong)iVar2); } } else if (0 < iVar2) { do { iVar13 = (int)uVar7; iVar3 = FUN_18049bb30(*(undefined8 *)(*param_2 + (longlong)iVar13 * 8),lVar6); if (iVar3 == 0) goto LAB_1813ac35c; uVar7 = (ulonglong)(iVar13 + 1U); } while ((int)(iVar13 + 1U) < iVar2); } goto LAB_1813ac193; } LAB_1813ac618: FUN_18124a420(&local_e8); } LAB_1813ac35c: if (iVar13 < 0) { LAB_1813ac193: local_118 = local_110; puVar8 = (uint *)(local_110 + -0x10); uVar4 = *puVar8; param_2 = local_158; } else { plVar5 = (longlong *)FUN_181249970(param_2 + 2,iVar13); local_118 = (char *)*plVar5; puVar8 = (uint *)(local_118 + -0x10); uVar4 = *puVar8; } if ((uVar4 & 0x30000000) == 0) { LOCK(); *puVar8 = *puVar8 + 1; UNLOCK(); } uVar4 = atoi(local_118); local_150 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18; (*(code *)local_e8[4])(&local_e8,&local_150,4); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((*local_140 & 0x30000000) == 0) { LOCK(); uVar4 = *local_140; *local_140 = *local_140 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(local_140); } } puVar8 = (uint *)(local_110 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_18049c4e0(&local_100,&DAT_1821e3ec4); puVar8 = local_f0; local_168 = local_148; if ((*local_f0 & 0x30000000) == 0) { LOCK(); *local_f0 = *local_f0 + 1; UNLOCK(); } FUN_181232e20(&local_168,"Identifier",""); local_98 = local_168; puVar9 = (uint *)(local_168 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } puVar10 = (uint *)(local_168 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } iVar2 = FUN_1812498b0(param_2,local_168,(char)param_2[4],0); if (iVar2 < 0) { local_108 = local_100; puVar10 = (uint *)(local_100 + -0x10); uVar4 = *puVar10; } else { plVar5 = (longlong *)FUN_181249970(param_2 + 2,iVar2); local_108 = (char *)*plVar5; puVar10 = (uint *)(local_108 + -0x10); uVar4 = *puVar10; } if ((uVar4 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } iVar2 = atoi(local_108); local_184[0] = (ushort)iVar2 << 8 | (ushort)iVar2 >> 8; (*(code *)local_e8[4])(&local_e8,local_184,2); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_100 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_160 = local_148; if ((*puVar8 & 0x30000000) == 0) { LOCK(); *puVar8 = *puVar8 + 1; UNLOCK(); } FUN_181232e20(&local_160,&DAT_1821e8e84,&DAT_1821e8e88); local_88 = local_160; puVar9 = (uint *)(local_160 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } puVar10 = (uint *)(local_160 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_18122c970(param_2,&local_80,local_160); pvVar12 = local_80; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar16 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar16) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar7 = FUN_18049d240(local_80); if (0xfffe < uVar7) { uVar7 = 0xfffe; } uVar1 = (short)uVar7 + 1; local_180[0] = uVar1 * 0x100 | uVar1 >> 8; (*(code *)local_e8[4])(&local_e8,local_180,2); if ((uVar7 != 0) && (_Dst = (void *)FUN_181234e40(&local_e8,uVar7), _Dst != (void *)0x0)) { memcpy(_Dst,pvVar12,uVar7); } local_198[0] = 0; (*(code *)local_e8[4])(&local_e8,local_198,1); if ((local_b0 & 1) != 0) { local_190[0] = 0; (*(code *)local_e8[4])(&local_e8,local_190,1); } puVar9 = (uint *)((longlong)pvVar12 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_170 = local_170 + 1; if (local_14c <= local_170) goto LAB_1813ac618; goto LAB_1813abfe0; } ############ FUN_ 1813ad590 size=92 ############ uint FUN_1813ad590(undefined8 *param_1) { uint uVar1; undefined **ppuVar2; ppuVar2 = &PTR_s_Rock_Blues_182634640; do { uVar1 = FUN_18048cbc0(*param_1,*ppuVar2); if (uVar1 == 0) { return 1; } ppuVar2 = ppuVar2 + 1; } while ((longlong)ppuVar2 < 0x182634690); return uVar1 & 0xffffff00; } ############ FUN_ 1813b63e0 size=831 ############ void FUN_1813b63e0(longlong param_1,longlong *param_2) { int *piVar1; longlong *plVar2; undefined4 uVar3; undefined8 *puVar4; longlong lVar5; longlong lVar6; void *_Memory; char cVar7; int iVar8; uint uVar9; longlong *plVar10; uint *puVar11; undefined8 *puVar12; longlong lVar13; ulonglong uVar14; ulonglong uVar15; bool bVar16; longlong local_res20; uVar14 = 0; iVar8 = 0; if (*(longlong *)(param_1 + 0x280) != *param_2) { iVar8 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0x280),*param_2); } if (iVar8 == 0) { return; } EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x290)); puVar4 = *(undefined8 **)(param_1 + 0xe0); *(undefined8 *)(param_1 + 0xe0) = 0; uVar3 = *(undefined4 *)(param_1 + 0xe8); *(undefined4 *)(param_1 + 0xe8) = 0; iVar8 = *(int *)(param_1 + 0xec); *(undefined4 *)(param_1 + 0xec) = 0; LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x290)); if ((*(longlong *)(param_1 + 0xd8) != 0) && (lVar13 = (longlong)(iVar8 + -1), -1 < iVar8 + -1)) { do { (**(code **)(*(longlong *)puVar4[lVar13] + 0x18))(); lVar13 = lVar13 + -1; } while (-1 < lVar13); } plVar2 = (longlong *)(param_1 + 0x288); lVar13 = *plVar2; *plVar2 = 0; if (lVar13 != 0) { FUN_180556130(); } if (*(char *)*param_2 != '\0') { plVar10 = (longlong *)FUN_1813b2e50(&local_res20,param_2); if (plVar2 != plVar10) { lVar13 = *plVar10; *plVar10 = 0; lVar5 = *plVar2; *plVar2 = lVar13; if (lVar5 != 0) { FUN_180556130(); } } if (local_res20 != 0) { FUN_180556130(); } } lVar13 = *plVar2; if (lVar13 == 0) { lVar13 = *(longlong *)(param_1 + 0x278); *(undefined1 **)(param_1 + 0x278) = &DAT_1821dbf98; lVar5 = *(longlong *)(param_1 + 0x280); *(undefined1 **)(param_1 + 0x280) = &DAT_1821dbf98; puVar11 = (uint *)(lVar5 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(lVar13 + -0x10); uVar9 = *puVar11; } else { lVar5 = *(longlong *)(lVar13 + 0x200); if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } lVar13 = *(longlong *)(lVar13 + 0x208); if ((*(uint *)(lVar13 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar13 + -0x10) = *(int *)(lVar13 + -0x10) + 1; UNLOCK(); } lVar6 = *(longlong *)(param_1 + 0x278); *(longlong *)(param_1 + 0x278) = lVar5; lVar5 = *(longlong *)(param_1 + 0x280); *(longlong *)(param_1 + 0x280) = lVar13; puVar11 = (uint *)(lVar5 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(lVar6 + -0x10); uVar9 = *puVar11; } if ((uVar9 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if (*(longlong *)(param_1 + 0xd8) != 0) { uVar15 = (ulonglong)((longlong)(puVar4 + iVar8) + (7 - (longlong)puVar4)) >> 3; if (puVar4 + iVar8 < puVar4) { uVar15 = uVar14; } puVar12 = puVar4; if (uVar15 != 0) { do { (**(code **)(*(longlong *)*puVar12 + 0x10)) ((longlong *)*puVar12,*(undefined8 *)(param_1 + 0xd8)); uVar14 = uVar14 + 1; puVar12 = puVar12 + 1; } while (uVar14 != uVar15); } } EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x290)); _Memory = *(void **)(param_1 + 0xe0); *(undefined8 **)(param_1 + 0xe0) = puVar4; *(undefined4 *)(param_1 + 0xe8) = uVar3; *(int *)(param_1 + 0xec) = iVar8; LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x290)); FUN_1813b7430(param_1); if (*(char *)(param_1 + 0x30) != '\0') { piVar1 = (int *)(*(longlong *)(param_1 + 0x10) + 0x18); LOCK(); bVar16 = *piVar1 == 0; if (bVar16) { *piVar1 = 1; } UNLOCK(); if ((bVar16) && (cVar7 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x10)), cVar7 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x18) = 0; UNLOCK(); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1813b6730 size=348 ############ void FUN_1813b6730(longlong param_1,longlong param_2,char *param_3,undefined8 param_4) { uint uVar1; bool bVar2; int iVar3; char *pcVar4; uint *_Memory; ulonglong *puVar5; ulonglong *puVar6; bool bVar7; ulonglong local_res18; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; bVar7 = false; local_res18 = local_res18 & 0xffffffff00000000; pcVar4 = param_3; if (8 < *(int *)(param_3 + 0x10)) { pcVar4 = *(char **)param_3; } if (*pcVar4 != -2) { EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 700)); puVar5 = *(ulonglong **)(param_1 + 0x268); puVar6 = puVar5 + (longlong)*(int *)(param_1 + 0x274) * 2; for (; puVar5 != puVar6; puVar5 = puVar5 + 2) { if (*(char *)*puVar5 == '\0') { LAB_1813b6817: bVar2 = true; } else { local_res18 = *(ulonglong *)(param_2 + 8); if ((*(uint *)(local_res18 - 0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 - 0x10) = *(int *)(local_res18 - 0x10) + 1; UNLOCK(); } bVar7 = true; if (*puVar5 == local_res18) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*puVar5,local_res18); } if (iVar3 == 0) goto LAB_1813b6817; bVar2 = false; } if (bVar7) { bVar7 = false; _Memory = (uint *)(local_res18 - 0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } if (bVar2) { (**(code **)(*(longlong *)puVar5[1] + 8)) ((longlong *)puVar5[1],param_2,param_3,param_4,uVar8); } } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 700)); } return; } ############ FUN_ 1813b68a0 size=183 ############ ulonglong FUN_1813b68a0(longlong param_1,longlong *param_2) { uint *_Memory; longlong *plVar1; longlong lVar2; int iVar3; uint uVar4; ulonglong in_RAX; longlong *plVar5; plVar5 = *(longlong **)(param_1 + 0x250); plVar1 = *(longlong **)(param_1 + 600); while( true ) { if (plVar5 == plVar1) { return in_RAX & 0xffffffffffffff00; } lVar2 = *(longlong *)(*plVar5 + 8); _Memory = (uint *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if (lVar2 == *param_2) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(lVar2,*param_2); } uVar4 = *_Memory; if ((uVar4 & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); uVar4 = uVar4 - 1; if (uVar4 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(_Memory); } } in_RAX = (ulonglong)uVar4; if (iVar3 == 0) break; plVar5 = plVar5 + 1; } return CONCAT71((uint7)(uint3)(uVar4 >> 8),1); } ############ FUN_ 1813b89b0 size=136 ############ longlong FUN_1813b89b0(longlong param_1) { longlong *plVar1; longlong lVar2; int iVar3; longlong lVar4; longlong *plVar5; plVar5 = *(longlong **)(param_1 + 0x38); plVar1 = plVar5 + *(int *)(param_1 + 0x44); if (plVar5 != plVar1) { lVar4 = *(longlong *)(param_1 + 0x100); do { lVar2 = *plVar5; if (*(longlong *)(lVar2 + 8) == lVar4) { return lVar2; } iVar3 = FUN_18048cbc0(*(undefined8 *)(lVar2 + 8),lVar4); if (iVar3 == 0) { return lVar2; } plVar5 = plVar5 + 1; } while (plVar5 != plVar1); } if (*(int *)(param_1 + 0x44) < 1) { lVar4 = 0; } else { lVar4 = **(longlong **)(param_1 + 0x38); } return lVar4; } ############ FUN_ 1813b8ba0 size=132 ############ longlong FUN_1813b8ba0(longlong param_1,longlong *param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; int iVar4; longlong *plVar5; FUN_1813b8c30(); plVar5 = *(longlong **)(param_1 + 0x38); plVar1 = plVar5 + *(int *)(param_1 + 0x44); if (plVar5 != plVar1) { lVar2 = *param_2; do { lVar3 = *plVar5; if (*(longlong *)(lVar3 + 8) == lVar2) { return lVar3; } iVar4 = FUN_18048cbc0(*(undefined8 *)(lVar3 + 8),lVar2); if (iVar4 == 0) { return lVar3; } plVar5 = plVar5 + 1; } while (plVar5 != plVar1); } return 0; } ############ FUN_ 1813be520 size=382 ############ void FUN_1813be520(longlong *param_1,longlong *param_2) { undefined8 *puVar1; longlong *plVar2; longlong lVar3; int iVar4; longlong lVar5; int *_Memory; longlong *plVar6; lVar5 = *param_2; if ((param_1[0x16] != lVar5) && (iVar4 = FUN_18048cbc0(param_1[0x16],lVar5), iVar4 != 0)) { if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); } LOCK(); lVar5 = param_1[0x16]; param_1[0x16] = *param_2; UNLOCK(); _Memory = (int *)(lVar5 + -0x10); if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); iVar4 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar1 = (undefined8 *)param_1[0x17]; param_1[0x17] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } lVar5 = (**(code **)(*param_1 + 0x158))(param_1,param_2); puVar1 = (undefined8 *)param_1[0x17]; param_1[0x17] = lVar5; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } plVar2 = (longlong *)param_1[0x17]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff); FUN_181344d70(param_1[0x17]); (**(code **)(*param_1 + 0x108))(param_1); } plVar6 = (longlong *)param_1[0x18]; plVar2 = plVar6 + *(int *)((longlong)param_1 + 0xcc); if (plVar6 != plVar2) { lVar5 = *param_2; do { lVar3 = *plVar6; if ((*(longlong *)(lVar3 + 8) == lVar5) || (iVar4 = FUN_18048cbc0(*(undefined8 *)(lVar3 + 8),lVar5), iVar4 == 0)) { FUN_181337080(lVar3,1,0,0); return; } plVar6 = plVar6 + 1; } while (plVar6 != plVar2); } } return; } ############ FUN_ 1813c0890 size=316 ############ void FUN_1813c0890(longlong *param_1,longlong *param_2,undefined4 param_3) { int *piVar1; longlong lVar2; uint uVar3; int iVar4; uint *_Memory; longlong *plVar5; longlong *plVar6; bool bVar7; plVar5 = (longlong *)*param_1; plVar6 = plVar5 + (longlong)*(int *)((longlong)param_1 + 0xc) * 2; if (plVar5 != plVar6) { lVar2 = *param_2; do { if ((*plVar5 == lVar2) || (iVar4 = FUN_18048cbc0(*plVar5,lVar2), iVar4 == 0)) { *(undefined4 *)(plVar5 + 1) = param_3; return; } plVar5 = plVar5 + 2; } while (plVar5 != plVar6); } if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*param_2 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } lVar2 = *param_2; LOCK(); UNLOCK(); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar7 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar7) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } FUN_18055c950(param_1,*(int *)((longlong)param_1 + 0xc) + 1); plVar5 = (longlong *)((longlong)*(int *)((longlong)param_1 + 0xc) * 0x10 + *param_1); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + 1; *plVar5 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(plVar5 + 1) = param_3; _Memory = (uint *)(lVar2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1813cc000 size=322 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__ (longlong param_1,undefined8 param_2,undefined8 *param_3) { uint *_Memory; uint uVar1; longlong *plVar2; bool bVar3; char cVar4; undefined1 uVar5; int iVar6; undefined1 auStack_78 [32]; undefined4 local_58; longlong local_50; longlong *local_48; undefined1 local_40 [8]; undefined8 local_38; longlong **local_30; undefined8 *local_28; ulonglong local_20; local_38 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_58 = 0; local_48 = (longlong *)*param_3; local_28 = param_3; (**(code **)(*local_48 + 0xb8))(local_48,local_40,param_3 + 1); local_30 = &local_48; local_50 = *(longlong *)(param_1 + 1000); _Memory = (uint *)(local_50 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_58 = 1; iVar6 = FUN_18048cbc0(param_2,local_50); if (iVar6 == 0) { cVar4 = FUN_18055e010(param_1 + 0x3e0); if ((cVar4 != '\0') && (*(longlong *)(param_1 + 0x348) != 0)) { bVar3 = true; goto LAB_1813cc0bc; } } bVar3 = false; LAB_1813cc0bc: if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (bVar3) { plVar2 = *(longlong **)(param_1 + 0x348); uVar5 = FUN_180528b30(param_1 + 0x3e0); (**(code **)(*plVar2 + 0x58))(plVar2,uVar5); FUN_180569310(param_1 + -0x160); } (**(code **)(*local_48 + 0xb0))(local_48,local_40); (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 1814b40b0 size=200 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814b40b0(longlong param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; undefined1 uVar2; int iVar3; longlong *plVar4; uint *_Memory; undefined1 auStack_58 [32]; longlong local_38 [2]; undefined8 *local_28; ulonglong local_20; local_38[1] = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_58; local_28 = param_3; plVar4 = (longlong *) (**(code **)(**(longlong **)(param_1 + 8) + 0x10))(*(longlong **)(param_1 + 8),local_38); if (*plVar4 == *param_2) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*plVar4,*param_2); } _Memory = (uint *)(local_38[0] + -0x10); 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 = (**(code **)(*(longlong *)*param_3 + 0x28))((longlong *)*param_3,param_3 + 1); FUN_181337080(param_1 + 0x30,uVar2,0,0); } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 1814b4240 size=200 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814b4240(longlong param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; undefined1 uVar2; int iVar3; longlong *plVar4; uint *_Memory; undefined1 auStack_58 [32]; longlong local_38 [2]; undefined8 *local_28; ulonglong local_20; local_38[1] = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_58; local_28 = param_3; plVar4 = (longlong *) (**(code **)(**(longlong **)(param_1 + 8) + 0x10))(*(longlong **)(param_1 + 8),local_38); if (*plVar4 == *param_2) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*plVar4,*param_2); } _Memory = (uint *)(local_38[0] + -0x10); 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 = (**(code **)(*(longlong *)*param_3 + 0x28))((longlong *)*param_3,param_3 + 1); FUN_181337080(param_1 + 0x30,uVar2,0,0); } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 1814b43d0 size=200 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814b43d0(longlong param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; undefined1 uVar2; int iVar3; longlong *plVar4; uint *_Memory; undefined1 auStack_58 [32]; longlong local_38 [2]; undefined8 *local_28; ulonglong local_20; local_38[1] = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_58; local_28 = param_3; plVar4 = (longlong *) (**(code **)(**(longlong **)(param_1 + 8) + 0x10))(*(longlong **)(param_1 + 8),local_38); if (*plVar4 == *param_2) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*plVar4,*param_2); } _Memory = (uint *)(local_38[0] + -0x10); 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 = (**(code **)(*(longlong *)*param_3 + 0x28))((longlong *)*param_3,param_3 + 1); FUN_181337080(param_1 + 0x30,uVar2,0,0); } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 1814b9960 size=200 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814b9960(longlong param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; undefined1 uVar2; int iVar3; longlong *plVar4; uint *_Memory; undefined1 auStack_58 [32]; longlong local_38 [2]; undefined8 *local_28; ulonglong local_20; local_38[1] = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_58; local_28 = param_3; plVar4 = (longlong *) (**(code **)(**(longlong **)(param_1 + 8) + 0x10))(*(longlong **)(param_1 + 8),local_38); if (*param_2 == *plVar4) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*param_2,*plVar4); } _Memory = (uint *)(local_38[0] + -0x10); 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 = (**(code **)(*(longlong *)*param_3 + 0x28))((longlong *)*param_3,param_3 + 1); FUN_181337080(param_1 + 0x30,uVar2,0,0); } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 1814c2c90 size=809 ############ void FUN_1814c2c90(longlong param_1,undefined8 param_2,longlong *param_3) { uint uVar1; char cVar2; int iVar3; longlong *plVar4; uint *_Memory; uint *puVar5; longlong local_res20; longlong local_c8; longlong local_c0; longlong local_b8; longlong local_b0; longlong local_a8; longlong *local_a0; undefined **local_98; int local_90; longlong local_88 [10]; undefined8 local_38; local_38 = 0xfffffffffffffffe; iVar3 = FUN_18048cbc0(*param_3,"manual"); if (iVar3 == 0) { FUN_1814d7520(); } else { iVar3 = FUN_18048cbc0(*param_3,"website"); if (iVar3 == 0) { FUN_18049c4e0(&local_b0,"soothe2"); FUN_18049c4e0(&local_b8,"oeksound.com"); FUN_18049c4e0(&local_c0,"https://"); plVar4 = (longlong *)FUN_181232d30(&local_c0,&local_b8); local_res20 = *plVar4; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } puVar5 = (uint *)(local_c0 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_a0 = &local_res20; FUN_181232e20(&local_res20,&DAT_1821ea584,&DAT_1821ea585); local_c8 = local_res20; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_a0 = &local_c8; plVar4 = (longlong *)FUN_181232d30(&local_c8,&local_b0); local_a8 = *plVar4; puVar5 = (uint *)(local_a8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } _Memory = (uint *)(local_c8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } local_88[1] = 0; local_88[2] = 0; local_88[3] = 0; local_88[4] = 0; local_88[5] = 0; local_88[6] = 0; local_88[7] = 0; local_88[8] = 0; local_88[0] = local_a8; FUN_181215140(local_88); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_b8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_b0 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_181212f00(local_88); FUN_1804858a0(local_88); } else { iVar3 = FUN_18048cbc0(*param_3,"tutorial"); if (iVar3 == 0) { cVar2 = FUN_180528b30(param_1 + 0x458); local_98 = &PTR_vftable_18262b570; local_90 = (cVar2 == '\0') + 1; (**(code **)(*(longlong *)(param_1 + 0x458) + 0x18))(param_1 + 0x458,&local_98); } else { iVar3 = FUN_18048cbc0(*param_3,"about"); if (iVar3 == 0) { plVar4 = *(longlong **)(param_1 + 0x470); } else { iVar3 = FUN_18048cbc0(*param_3,"shortcuts"); if (iVar3 != 0) goto LAB_1814c2f7b; plVar4 = *(longlong **)(param_1 + 0x10); } (**(code **)(*plVar4 + 0x168))(); } } } LAB_1814c2f7b: FUN_1815fceb0(param_2); puVar5 = (uint *)(*param_3 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return; } ############ FUN_ 1814c7100 size=410 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814c7100(void) { uint uVar1; char *pcVar2; BOOL BVar3; ulonglong uVar4; undefined8 *puVar5; uint *puVar6; undefined1 auStackY_a8 [32]; DWORD local_78 [2]; undefined **local_70; longlong local_68; HANDLE local_60; longlong local_58; char *local_50; longlong local_48; longlong local_40 [2]; char *local_30; undefined1 local_28 [10]; undefined1 local_1e; ulonglong local_18; local_40[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStackY_a8; FUN_18123efe0(&local_70); if (*local_50 == '\0') { uVar4 = 0; if (local_60 != (HANDLE)0x0) { local_78[0] = 0; BVar3 = ReadFile(local_60,local_28,10,local_78,(LPOVERLAPPED)0x0); if (BVar3 == 0) { puVar5 = (undefined8 *)FUN_1812181b0(&local_48); local_30 = local_50; pcVar2 = (char *)*puVar5; *puVar5 = local_50; puVar6 = (uint *)(local_48 + -0x10); local_50 = pcVar2; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } uVar4 = (ulonglong)local_78[0]; } local_58 = local_58 + uVar4; local_1e = 0; FUN_18049c4e0(local_40,local_28); FUN_18048cbc0(local_40[0],""); puVar6 = (uint *)(local_40[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } local_70 = juce::FileInputStream::vftable; CloseHandle(local_60); puVar6 = (uint *)(local_50 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_68 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } ############ FUN_ 1814ccd30 size=2040 ############ undefined8 * FUN_1814ccd30(undefined8 *param_1,longlong param_2,longlong *param_3,longlong param_4) { uint *_Memory; int *piVar1; uint uVar2; bool bVar3; char cVar4; int iVar5; DWORD DVar6; undefined8 uVar7; undefined8 *puVar8; longlong *plVar9; longlong lVar10; longlong *plVar11; uint *puVar12; void *pvVar13; int iVar14; int iVar15; undefined8 *puVar16; longlong lVar17; longlong *plVar18; longlong local_res10; longlong *local_res18; longlong local_res20; longlong local_100; longlong local_f8; longlong local_f0; longlong local_e8; longlong local_e0; void *local_d8; void *local_d0; void *local_c8 [2]; void *local_b8; longlong local_a8; undefined8 local_a0; longlong local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; undefined8 local_78; undefined1 local_70 [8]; longlong local_68; undefined8 local_60; longlong local_58; longlong local_50; local_a0 = 0xfffffffffffffffe; *param_1 = CloudyTutorialStep::vftable; param_1[1] = 0; param_1[2] = 0; *(undefined1 *)(param_1 + 3) = 0; puVar8 = *(undefined8 **)(param_2 + 8); local_res20 = param_4; local_res18 = param_3; while ((puVar16 = (undefined8 *)0x0, puVar8 != (undefined8 *)0x0 && (iVar5 = FUN_18049bb30(puVar8[3],&DAT_1822859c4), puVar16 = puVar8, iVar5 != 0))) { puVar8 = (undefined8 *)*puVar8; } param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; lVar10 = puVar16[3]; param_1[7] = lVar10; if ((*(uint *)(lVar10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar10 + -0x10) = *(int *)(lVar10 + -0x10) + 1; UNLOCK(); } FUN_1812217a0(param_1 + 4,puVar16); param_1[8] = &DAT_1821dbf98; FUN_18049c4e0(param_1 + 9,&DAT_182288c44); param_1[10] = &DAT_1821dbf98; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; uVar7 = FUN_18047e380(); param_1[0xc] = uVar7; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; *(undefined4 *)(param_1 + 0x11) = 0; *(undefined1 *)((longlong)param_1 + 0x8c) = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; param_1[0x15] = 0; param_1[0x16] = 0; param_1[0x17] = 0; param_1[0x18] = 0; *(undefined1 *)(param_1 + 0x19) = 0; local_98 = *(longlong *)(param_2 + 0x18); _Memory = (uint *)(local_98 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } for (puVar8 = *(undefined8 **)(param_2 + 8); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { iVar5 = FUN_18049bb30(puVar8[3],"SUBTEXT"); if (iVar5 == 0) { uVar7 = FUN_181246700(puVar8,&local_f8); uVar7 = FUN_181230650(uVar7,&local_100,&DAT_1821e85cc); puVar8 = (undefined8 *)FUN_1812304e0(uVar7,&local_res10,&DAT_1821e8b94); local_90 = param_1[8]; param_1[8] = *puVar8; *puVar8 = local_90; puVar12 = (uint *)(local_res10 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_100 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_f8 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } break; } } uVar7 = FUN_1814d9640(&local_e8); for (puVar8 = *(undefined8 **)(param_2 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_88 = puVar8[1]; iVar5 = FUN_18048cbc0(local_88,"audioFile"); if (iVar5 == 0) { puVar8 = puVar8 + 2; goto LAB_1814ccffe; } } puVar8 = (undefined8 *)FUN_181220d40(); LAB_1814ccffe: local_80 = *puVar8; puVar8 = (undefined8 *)FUN_181245100(uVar7,&local_f0); local_78 = param_1[10]; param_1[10] = *puVar8; *puVar8 = local_78; puVar12 = (uint *)(local_f0 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_e8 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } if (*(char *)param_1[10] != '\0') { puVar8 = (undefined8 *)FUN_18049a930(local_70,param_1 + 10); DVar6 = GetFileAttributesW((LPCWSTR)*puVar8); if ((DVar6 & 0x10) == 0) { bVar3 = true; goto LAB_1814cd0b5; } } bVar3 = false; LAB_1814cd0b5: if (!bVar3) { local_68 = param_1[10]; param_1[10] = &DAT_1821dbf98; puVar12 = (uint *)(local_68 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } for (puVar8 = *(undefined8 **)(param_2 + 8); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { iVar5 = FUN_18049bb30(puVar8[3],"PROCESSORSTATE"); if (iVar5 == 0) { FUN_1814caad0(param_1,puVar8); break; } } for (puVar8 = *(undefined8 **)(param_2 + 0x10); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { local_60 = puVar8[1]; iVar5 = FUN_18048cbc0(local_60,"continueText"); if (iVar5 == 0) goto LAB_1814cd167; } puVar8 = (undefined8 *)0x0; LAB_1814cd167: if (puVar8 != (undefined8 *)0x0) { plVar9 = (longlong *)FUN_181246db0(param_2,"continueText"); if ((*(uint *)(*plVar9 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar9 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar10 = param_1[9]; param_1[9] = *plVar9; UNLOCK(); puVar12 = (uint *)(lVar10 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } } cVar4 = FUN_181246e10(param_2,"autoAdvance"); if (cVar4 != '\0') { *(undefined1 *)((longlong)param_1 + 0x8c) = 1; } cVar4 = FUN_181246e10(param_2,"startPlayback"); if (cVar4 != '\0') { *(undefined1 *)(param_1 + 3) = 1; } lVar10 = FUN_181246a60(param_2); if (lVar10 != 0) { iVar5 = -1; while( true ) { iVar14 = 0; for (puVar8 = *(undefined8 **)(lVar10 + 8); puVar8 != (undefined8 *)0x0; puVar8 = (undefined8 *)*puVar8) { iVar14 = iVar14 + 1; } iVar15 = iVar5 + 1; puVar8 = (undefined8 *)(lVar10 + 8); if (iVar14 <= iVar15) break; while ((-1 < iVar5 && ((undefined8 *)*puVar8 != (undefined8 *)0x0))) { iVar5 = iVar5 + -1; puVar8 = (undefined8 *)*puVar8; } plVar11 = (longlong *)FUN_181246db0(*puVar8,"componentID"); plVar9 = (longlong *)param_1[0x13]; iVar5 = iVar15; if ((longlong *)param_1[0x14] == plVar9) { FUN_18048d8d0(param_1 + 0x12,plVar9,plVar11); } else { lVar17 = *plVar11; *plVar9 = lVar17; if ((*(uint *)(lVar17 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar17 + -0x10) = *(int *)(lVar17 + -0x10) + 1; UNLOCK(); } param_1[0x13] = param_1[0x13] + 8; } } } FUN_1814cb2c0(param_1,param_2); lVar10 = FUN_181246a60(param_2,"OVERLAY"); if (lVar10 != 0) { uVar7 = FUN_1814cb5f0(); plVar11 = (longlong *)FUN_180579d20(&local_e0,uVar7); plVar9 = param_1 + 0x18; if (plVar9 != plVar11) { lVar10 = *plVar11; *plVar11 = 0; lVar17 = *plVar9; *plVar9 = lVar10; if (lVar17 != 0) { FUN_1805798f0(); } } if (local_e0 != 0) { FUN_1805798f0(); } if (local_b8 != (void *)0x0) { FUN_180579ac0(); pvVar13 = local_b8; if ((0xfff < (local_a8 - (longlong)local_b8 & 0xffffffffffffffe0U)) && (pvVar13 = *(void **)((longlong)local_b8 + -8), 0x1f < (ulonglong)((longlong)local_b8 + (-8 - (longlong)pvVar13)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar13); } } lVar10 = local_res20; plVar9 = local_res18; if (local_res20 == 0) { local_50 = local_res18[0x30]; FUN_181246a60(param_2); (**(code **)(*plVar9 + 0x20))(plVar9,local_c8,1); uVar7 = FUN_1814cc570(); pvVar13 = (void *)param_1[0xb]; param_1[0xb] = uVar7; if (pvVar13 != (void *)0x0) { FUN_1812472e0(pvVar13); /* WARNING: Subroutine does not return */ free(pvVar13); } plVar9 = local_res18; if (local_c8[0] != (void *)0x0) { FUN_1812472e0(local_c8[0]); /* WARNING: Subroutine does not return */ free(local_c8[0]); } } else { FUN_180556230(&local_d8,*(undefined8 *)(local_res20 + 0x58)); plVar11 = *(longlong **)(lVar10 + 0x78); plVar9 = local_res18; for (plVar18 = *(longlong **)(lVar10 + 0x70); local_res18 = plVar9, plVar18 != plVar11; plVar18 = plVar18 + 0xc) { lVar10 = plVar18[1]; for (lVar17 = *plVar18; lVar17 != lVar10; lVar17 = lVar17 + 0x18) { if (*(char *)(lVar17 + 0x10) == '\0') { FUN_1814cc790(); } } plVar9 = local_res18; } local_58 = plVar9[0x30]; lVar10 = FUN_181246a60(param_2); if (lVar10 != 0) { uVar7 = FUN_180556230(&local_d0,lVar10); FUN_180487580(param_1 + 0xb,uVar7); if (local_d0 != (void *)0x0) { FUN_1812472e0(local_d0); /* WARNING: Subroutine does not return */ free(local_d0); } } uVar7 = FUN_1814cc570(); pvVar13 = (void *)param_1[0xb]; param_1[0xb] = uVar7; if (pvVar13 != (void *)0x0) { FUN_1812472e0(pvVar13); /* WARNING: Subroutine does not return */ free(pvVar13); } if (local_d8 != (void *)0x0) { FUN_1812472e0(local_d8); /* WARNING: Subroutine does not return */ free(local_d8); } } FUN_1814cbc00(param_1,param_2,plVar9); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 1814caad0 size=651 ############ void FUN_1814caad0(longlong param_1,longlong param_2) { uint uVar1; char cVar2; undefined8 *puVar3; longlong lVar4; longlong *plVar5; longlong lVar6; uint *_Memory; uint *puVar7; int iVar8; undefined8 *puVar9; undefined8 *puVar10; int iVar11; int iVar12; undefined8 *puVar13; longlong local_res10; longlong *local_res18; undefined8 *local_res20; iVar11 = -1; do { iVar8 = 0; for (puVar3 = *(undefined8 **)(param_2 + 8); puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { iVar8 = iVar8 + 1; } iVar12 = iVar11 + 1; plVar5 = (longlong *)(param_2 + 8); if (iVar8 <= iVar12) { return; } while ((-1 < iVar11 && ((longlong *)*plVar5 != (longlong *)0x0))) { iVar11 = iVar11 + -1; plVar5 = (longlong *)*plVar5; } lVar4 = *plVar5; for (puVar3 = *(undefined8 **)(lVar4 + 0x10); puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { iVar11 = FUN_18048cbc0(puVar3[1],&DAT_1821e8e4c); if (iVar11 == 0) { plVar5 = puVar3 + 2; goto LAB_1814cab7a; } } plVar5 = (longlong *)FUN_181220d40(); LAB_1814cab7a: local_res10 = *plVar5; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } for (puVar3 = *(undefined8 **)(lVar4 + 0x10); puVar3 != (undefined8 *)0x0; puVar3 = (undefined8 *)*puVar3) { iVar11 = FUN_18048cbc0(puVar3[1],"value"); if (iVar11 == 0) { plVar5 = puVar3 + 2; goto LAB_1814cabd6; } } plVar5 = (longlong *)FUN_181220d40(); LAB_1814cabd6: lVar6 = local_res10; lVar4 = *plVar5; puVar7 = (uint *)(lVar4 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); *puVar7 = *puVar7 + 1; UNLOCK(); } plVar5 = (longlong *)(param_1 + 0x60); puVar3 = (undefined8 *)*plVar5; cVar2 = *(char *)((longlong)puVar3[1] + 0x19); puVar10 = puVar3; puVar9 = (undefined8 *)puVar3[1]; while (cVar2 == '\0') { iVar11 = FUN_18048cbc0(puVar9[4],lVar6); if (iVar11 < 0) { puVar13 = (undefined8 *)puVar9[2]; puVar9 = puVar10; } else { puVar13 = (undefined8 *)*puVar9; } puVar10 = puVar9; puVar9 = puVar13; cVar2 = *(char *)((longlong)puVar13 + 0x19); } if ((puVar10 == puVar3) || (iVar11 = FUN_18048cbc0(lVar6), iVar11 < 0)) { local_res18 = &local_res10; lVar6 = FUN_18057e2a0(plVar5); FUN_18057e000(plVar5,&local_res20,puVar10,lVar6 + 0x20,lVar6); puVar10 = local_res20; } if ((*puVar7 & 0x30000000) == 0) { LOCK(); *puVar7 = *puVar7 + 1; UNLOCK(); } LOCK(); lVar6 = puVar10[5]; puVar10[5] = lVar4; UNLOCK(); _Memory = (uint *)(lVar6 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_res10 + -0x10); iVar11 = iVar12; if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } while( true ); } ############ FUN_ 1814cb2c0 size=810 ############ void FUN_1814cb2c0(longlong param_1,longlong param_2) { undefined8 *puVar1; undefined8 *puVar2; longlong lVar3; longlong *plVar4; double dVar5; int iVar6; int iVar7; int iVar8; double dVar9; float fVar10; float fVar11; float fVar12; float fVar13; longlong local_res10; undefined8 local_res18; undefined8 local_res20; undefined8 local_e8; undefined8 uStack_e0; undefined8 local_d8; undefined1 *local_d0; float local_c8; float local_c4; float local_c0; float local_bc; longlong local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; undefined8 local_98; undefined8 local_90; local_b0 = 0xfffffffffffffffe; puVar1 = *(undefined8 **)(param_2 + 8); while( true ) { if (puVar1 == (undefined8 *)0x0) { return; } iVar6 = FUN_18049bb30(puVar1[3],"FLOATS"); dVar5 = DAT_1824c4290; if (iVar6 == 0) break; puVar1 = (undefined8 *)*puVar1; } iVar6 = -1; do { iVar7 = 0; for (puVar2 = (undefined8 *)puVar1[1]; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar7 = iVar7 + 1; } iVar8 = iVar6 + 1; plVar4 = puVar1 + 1; if (iVar7 <= iVar8) { return; } while ((-1 < iVar6 && ((longlong *)*plVar4 != (longlong *)0x0))) { iVar6 = iVar6 + -1; plVar4 = (longlong *)*plVar4; } lVar3 = *plVar4; for (puVar2 = *(undefined8 **)(lVar3 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { local_a8 = puVar2[1]; iVar6 = FUN_18048cbc0(local_a8,&DAT_1821e8be4); if (iVar6 == 0) { local_res10 = puVar2[2]; dVar9 = (double)FUN_18049bd80(&local_res10); goto LAB_1814cb3f7; } } dVar9 = 0.0; LAB_1814cb3f7: fVar13 = (float)dVar9; for (puVar2 = *(undefined8 **)(lVar3 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { local_a0 = puVar2[1]; iVar6 = FUN_18048cbc0(local_a0,&DAT_1821e8bf4); if (iVar6 == 0) { local_res18 = puVar2[2]; dVar9 = (double)FUN_18049bd80(&local_res18); goto LAB_1814cb437; } } dVar9 = 0.0; LAB_1814cb437: fVar12 = (float)dVar9; for (puVar2 = *(undefined8 **)(lVar3 + 0x10); puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { local_98 = puVar2[1]; iVar6 = FUN_18048cbc0(local_98,"width"); if (iVar6 == 0) { local_res20 = puVar2[2]; dVar9 = (double)FUN_18049bd80(&local_res20); goto LAB_1814cb477; } } dVar9 = 0.0; LAB_1814cb477: fVar11 = (float)dVar9; for (puVar2 = *(undefined8 **)(lVar3 + 0x10); dVar9 = dVar5, puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { local_90 = puVar2[1]; iVar6 = FUN_18048cbc0(local_90,"fontSize"); if (iVar6 == 0) { local_b8 = puVar2[2]; dVar9 = (double)FUN_18049bd80(&local_b8); break; } } fVar10 = (float)dVar9; local_e8 = 0; uStack_e0 = 0; local_d8 = 0; local_d0 = *(undefined1 **)(lVar3 + 0x18); if ((*(uint *)(local_d0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d0 + -0x10) = *(int *)(local_d0 + -0x10) + 1; UNLOCK(); } FUN_1812217a0(&local_e8,lVar3); puVar2 = *(undefined8 **)(param_1 + 0xb0); local_c8 = fVar13; local_c4 = fVar12; local_c0 = fVar11; local_bc = fVar10; if (*(undefined8 **)(param_1 + 0xb8) == puVar2) { FUN_18057b330(param_1 + 0xa8,puVar2,&local_e8); } else { *puVar2 = local_e8; local_e8 = 0; puVar2[1] = uStack_e0; uStack_e0 = 0; puVar2[2] = local_d8; local_d8 = 0; puVar2[3] = local_d0; local_d0 = &DAT_1821dbf98; *(float *)(puVar2 + 4) = fVar13; *(float *)((longlong)puVar2 + 0x24) = fVar12; *(float *)(puVar2 + 5) = fVar11; *(float *)((longlong)puVar2 + 0x2c) = fVar10; *(longlong *)(param_1 + 0xb0) = *(longlong *)(param_1 + 0xb0) + 0x30; } FUN_1812472e0(&local_e8); iVar6 = iVar8; } while( true ); } ############ FUN_ 1814cb5f0 size=1531 ############ float * FUN_1814cb5f0(float *param_1,float *param_2,longlong param_3) { undefined8 *puVar1; longlong *plVar2; longlong lVar3; longlong *plVar4; float fVar5; int iVar6; uint uVar7; int iVar8; uint *puVar9; float *pfVar10; uint *_Memory; int iVar11; double dVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; float fVar18; float *local_res8; float *local_res10; char *local_res18; char *local_res20; undefined8 local_160; float *pfStack_158; float *local_150; float local_148; float local_144; undefined1 *local_140; float local_138; float fStack_134; float fStack_130; float fStack_12c; float local_128; float local_124; char *local_120; undefined8 local_118; undefined8 uStack_110; undefined8 local_108; undefined8 local_100; undefined8 local_f8; undefined8 local_f0; longlong local_e8; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; local_e0 = 0xfffffffffffffffe; local_res8 = param_1; local_res10 = param_2; dVar12 = (double)FUN_181246d40(param_3,"opacity",DAT_1824c40b0); fVar14 = (float)dVar12; fVar13 = 0.0; if ((0.0 <= fVar14) && (fVar13 = DAT_1824c3ea4, fVar14 <= DAT_1824c3ea4)) { fVar13 = fVar14; } local_160 = 0; pfStack_158 = (float *)0x0; local_150 = (float *)0x0; iVar11 = 0; do { iVar8 = 0; for (puVar1 = *(undefined8 **)(param_3 + 8); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { iVar8 = iVar8 + 1; } plVar2 = (longlong *)(param_3 + 8); iVar6 = iVar11; if (iVar8 <= iVar11) { *param_2 = fVar13; *(undefined8 *)(param_2 + 2) = local_160; *(float **)(param_2 + 4) = pfStack_158; *(float **)(param_2 + 6) = local_150; return param_2; } do { plVar4 = plVar2; iVar6 = iVar6 + -1; if (iVar6 < 0) break; plVar2 = (longlong *)*plVar4; } while (plVar2 != (longlong *)0x0); lVar3 = *plVar4; for (puVar1 = *(undefined8 **)(lVar3 + 0x10); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { local_d8 = puVar1[1]; iVar8 = FUN_18048cbc0(local_d8,"padding"); if (iVar8 == 0) { local_108 = puVar1[2]; dVar12 = (double)FUN_18049bd80(&local_108); goto LAB_1814cb707; } } dVar12 = 0.0; LAB_1814cb707: fVar14 = (float)dVar12; FUN_18049c4e0(&local_res8,"ellipse"); for (puVar1 = *(undefined8 **)(lVar3 + 0x10); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { local_d0 = puVar1[1]; iVar8 = FUN_18048cbc0(local_d0,&DAT_1822a01f4); if (iVar8 == 0) { local_res10 = (float *)puVar1[2]; pfVar10 = local_res10 + -4; fVar5 = *pfVar10; goto LAB_1814cb768; } } pfVar10 = local_res8 + -4; fVar5 = *pfVar10; local_res10 = local_res8; LAB_1814cb768: if (((uint)fVar5 & 0x30000000) == 0) { LOCK(); *pfVar10 = (float)((int)*pfVar10 + 1); UNLOCK(); } iVar8 = FUN_18048cbc0(local_res10,"rectangle"); if (((uint)*pfVar10 & 0x30000000) == 0) { LOCK(); fVar5 = *pfVar10; *pfVar10 = (float)((int)*pfVar10 - 1); UNLOCK(); if (fVar5 == 0.0) { /* WARNING: Subroutine does not return */ free(pfVar10); } } pfVar10 = local_res8 + -4; if (((uint)*pfVar10 & 0x30000000) == 0) { LOCK(); fVar5 = *pfVar10; *pfVar10 = (float)((int)*pfVar10 - 1); UNLOCK(); if (fVar5 == 0.0) { /* WARNING: Subroutine does not return */ free(pfVar10); } } FUN_18049c4e0(&local_res18,""); for (puVar1 = *(undefined8 **)(lVar3 + 0x10); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { local_c8 = puVar1[1]; iVar6 = FUN_18048cbc0(local_c8,"componentID"); if (iVar6 == 0) { local_res20 = (char *)puVar1[2]; _Memory = (uint *)(local_res20 + -0x10); uVar7 = *_Memory; goto LAB_1814cb838; } } _Memory = (uint *)(local_res18 + -0x10); uVar7 = *_Memory; local_res20 = local_res18; LAB_1814cb838: if ((uVar7 & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar9 = (uint *)(local_res18 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } fVar5 = (float)(uint)(iVar8 != 0); if (*local_res20 == '\0') { for (puVar1 = *(undefined8 **)(lVar3 + 0x10); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { local_c0 = puVar1[1]; iVar8 = FUN_18048cbc0(local_c0,&DAT_1821e8dc4); if (iVar8 == 0) { local_100 = puVar1[2]; dVar12 = (double)FUN_18049bd80(&local_100); goto LAB_1814cb8b7; } } dVar12 = 0.0; LAB_1814cb8b7: fVar18 = (float)dVar12; for (puVar1 = *(undefined8 **)(lVar3 + 0x10); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { local_b8 = puVar1[1]; iVar8 = FUN_18048cbc0(local_b8,&DAT_1821e8bd4); if (iVar8 == 0) { local_f8 = puVar1[2]; dVar12 = (double)FUN_18049bd80(&local_f8); goto LAB_1814cb8f7; } } dVar12 = 0.0; LAB_1814cb8f7: fVar17 = (float)dVar12; for (puVar1 = *(undefined8 **)(lVar3 + 0x10); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { local_b0 = puVar1[1]; iVar8 = FUN_18048cbc0(local_b0,"width"); if (iVar8 == 0) { local_f0 = puVar1[2]; dVar12 = (double)FUN_18049bd80(&local_f0); goto LAB_1814cb937; } } dVar12 = 0.0; LAB_1814cb937: fVar16 = (float)dVar12; for (puVar1 = *(undefined8 **)(lVar3 + 0x10); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { local_a8 = puVar1[1]; iVar8 = FUN_18048cbc0(local_a8,"height"); if (iVar8 == 0) { local_e8 = puVar1[2]; dVar12 = (double)FUN_18049bd80(&local_e8); goto LAB_1814cb977; } } dVar12 = 0.0; LAB_1814cb977: fVar15 = (float)dVar12; local_148 = fVar14; local_144 = fVar5; FUN_18049c4e0(&local_140,""); local_138 = fVar18; fStack_134 = fVar17; fStack_130 = fVar16; fStack_12c = fVar15; if (local_150 == pfStack_158) { FUN_18057b7c0(&local_160,pfStack_158,&local_148); } else { *pfStack_158 = local_148; pfStack_158[1] = local_144; *(undefined1 **)(pfStack_158 + 2) = local_140; local_140 = &DAT_1821dbf98; pfStack_158[4] = fVar18; pfStack_158[5] = fVar17; pfStack_158[6] = fVar16; pfStack_158[7] = fVar15; pfStack_158 = pfStack_158 + 8; } puVar9 = (uint *)(local_140 + -0x10); uVar7 = *puVar9; } else { local_120 = local_res20; if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_118 = 0; uStack_110 = 0; local_128 = fVar14; local_124 = fVar5; if (local_150 == pfStack_158) { FUN_18057b7c0(&local_160,pfStack_158,&local_128); } else { *pfStack_158 = fVar14; pfStack_158[1] = fVar5; *(char **)(pfStack_158 + 2) = local_res20; local_120 = ""; pfStack_158[4] = 0.0; pfStack_158[5] = 0.0; pfStack_158[6] = 0.0; pfStack_158[7] = 0.0; pfStack_158 = pfStack_158 + 8; } puVar9 = (uint *)(local_120 + -0x10); uVar7 = *puVar9; } if ((uVar7 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar7 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar11 = iVar11 + 1; } while( true ); } ############ FUN_ 1814cadf0 size=314 ############ void FUN_1814cadf0(longlong param_1,longlong param_2) { undefined8 *puVar1; longlong *plVar2; longlong lVar3; int iVar4; longlong *plVar5; int iVar6; longlong *plVar7; int iVar8; plVar7 = *(longlong **)(param_2 + 8); if (plVar7 != (longlong *)0x0) { while (iVar4 = FUN_18049bb30(plVar7[3],&DAT_1822a2464), iVar4 != 0) { plVar7 = (longlong *)*plVar7; if (plVar7 == (longlong *)0x0) { return; } } iVar4 = -1; while( true ) { iVar6 = 0; for (puVar1 = (undefined8 *)plVar7[1]; puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { iVar6 = iVar6 + 1; } iVar8 = iVar4 + 1; plVar5 = plVar7 + 1; if (iVar6 <= iVar8) break; while ((-1 < iVar4 && ((longlong *)*plVar5 != (longlong *)0x0))) { iVar4 = iVar4 + -1; plVar5 = (longlong *)*plVar5; } for (puVar1 = *(undefined8 **)(*plVar5 + 0x10); puVar1 != (undefined8 *)0x0; puVar1 = (undefined8 *)*puVar1) { iVar4 = FUN_18048cbc0(puVar1[1],"componentID"); if (iVar4 == 0) { plVar5 = puVar1 + 2; goto LAB_1814caec6; } } plVar5 = (longlong *)FUN_181220d40(); LAB_1814caec6: plVar2 = *(longlong **)(param_1 + 0x98); iVar4 = iVar8; if (*(longlong **)(param_1 + 0xa0) == plVar2) { FUN_18048d8d0(param_1 + 0x90,plVar2,plVar5); } else { lVar3 = *plVar5; *plVar2 = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } *(longlong *)(param_1 + 0x98) = *(longlong *)(param_1 + 0x98) + 8; } } } return; } ############ FUN_ 1814ea5e0 size=440 ############ void FUN_1814ea5e0(longlong param_1,undefined8 param_2) { uint *_Memory; uint uVar1; char cVar2; longlong lVar3; undefined8 *puVar4; code *pcVar5; undefined8 *puVar6; undefined4 uVar7; int iVar8; longlong lVar9; undefined8 *puVar10; undefined8 *puVar11; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; lVar9 = __RTDynamicCast(param_2,0,&ParameterFloat::RTTI_Type_Descriptor, &ParameterChoice::RTTI_Type_Descriptor,0); if (lVar9 != 0) { lVar3 = *(longlong *)(lVar9 + 0x68); _Memory = (uint *)(lVar3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } uVar7 = FUN_1811bf620(lVar9); puVar4 = *(undefined8 **)(param_1 + 0x40); cVar2 = *(char *)((longlong)puVar4[1] + 0x19); puVar6 = puVar4; puVar10 = (undefined8 *)puVar4[1]; while (cVar2 == '\0') { iVar8 = FUN_18048cbc0(puVar10[4],lVar3); if (iVar8 < 0) { puVar11 = (undefined8 *)puVar10[2]; puVar10 = puVar6; } else { puVar11 = (undefined8 *)*puVar10; } puVar6 = puVar10; puVar10 = puVar11; cVar2 = *(char *)((longlong)puVar11 + 0x19); } if ((puVar6 == puVar4) || (iVar8 = FUN_18048cbc0(lVar3), iVar8 < 0)) { std::_Xout_of_range("invalid map key"); pcVar5 = (code *)swi(3); (*pcVar5)(); return; } *(undefined4 *)puVar6[5] = uVar7; *(longlong *)(param_1 + 0x50) = (longlong)(*(int *)(param_1 + 0x28) * *(int *)(param_1 + 0x24) + *(int *)(param_1 + 0x20)); FUN_1811bf680(*(undefined8 *)(param_1 + 0x10)); FUN_1811bf680(*(undefined8 *)(param_1 + 0x18)); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } uStack_30 = *(undefined4 *)(param_1 + -0xa0); uStack_2c = *(undefined4 *)(param_1 + -0x9c); local_38 = 0; uStack_34 = 0; FUN_181342870(param_1 + -200,&local_38,1); return; } ############ FUN_ 1814ea960 size=281 ############ void FUN_1814ea960(undefined8 *param_1,longlong *param_2,undefined4 param_3) { uint uVar1; undefined8 *puVar2; longlong lVar3; code *pcVar4; int iVar5; uint *_Memory; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; puVar2 = (undefined8 *)param_1[6]; puVar7 = puVar2; if (*(char *)((longlong)puVar2[1] + 0x19) == '\0') { lVar3 = *param_2; puVar6 = puVar2; puVar8 = (undefined8 *)puVar2[1]; do { puVar7 = puVar8; iVar5 = FUN_18048cbc0(puVar7[4],lVar3); if (iVar5 < 0) { puVar8 = (undefined8 *)puVar7[2]; puVar7 = puVar6; } else { puVar8 = (undefined8 *)*puVar7; } puVar6 = puVar7; } while (*(char *)((longlong)puVar8 + 0x19) == '\0'); } if (puVar7 != puVar2) { iVar5 = FUN_18048cbc0(); if (-1 < iVar5) { *(undefined4 *)puVar7[5] = param_3; param_1[8] = (longlong) (*(int *)(param_1 + 3) * *(int *)((longlong)param_1 + 0x14) + *(int *)(param_1 + 2)); FUN_1811bf680(*param_1); FUN_1811bf680(param_1[1]); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } } std::_Xout_of_range("invalid map key"); pcVar4 = (code *)swi(3); (*pcVar4)(); return; } ############ FUN_ 1814eabf0 size=2351 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814eabf0(longlong param_1,longlong param_2) { longlong *plVar1; uint uVar2; longlong *plVar3; undefined8 *puVar4; bool bVar5; bool bVar6; uint uVar7; char cVar8; undefined1 uVar9; int iVar10; longlong lVar11; undefined8 uVar12; int *piVar13; float fVar14; float fVar15; float fVar16; float fVar17; float fVar18; float fVar19; float fVar20; float fVar21; float fVar22; undefined4 local_res8; undefined4 local_res10; undefined8 *local_248; float local_240; float fStack_23c; float fStack_238; float fStack_234; undefined4 local_230; float local_22c; void *local_228; undefined8 local_220; undefined1 local_218 [4]; undefined4 local_214; float local_208; float local_204; float local_200; float local_1fc; float local_1f8; float local_1f4; float local_1f0; float local_1ec; float local_1e8; float local_1e4; float local_1dc; float local_1d8; float local_1d4; float local_1d0; float local_1cc; float local_1c8; float local_1c4; float local_1c0; float local_1bc; float local_1b8; float local_1b4; float local_1b0; float local_1ac; float local_1a8; float local_1a4; float local_1a0; float local_19c; float local_198; float local_194; float local_190; float local_18c; float local_188; float local_184; float local_180; float local_17c; undefined4 local_178; undefined1 local_170 [4]; undefined4 local_16c; float local_168; float fStack_164; float fStack_160; float fStack_15c; float local_158; float fStack_154; float fStack_150; float fStack_14c; undefined8 local_148; undefined8 uStack_140; ulonglong local_138; undefined8 local_130; undefined1 local_128 [16]; float local_118; float fStack_114; float fStack_110; float fStack_10c; undefined8 local_108; undefined8 uStack_100; ulonglong local_f8; undefined1 local_e8 [176]; local_130 = 0xfffffffffffffffe; local_230 = 0; plVar1 = (longlong *)(param_1 + 0x1c8); lVar11 = (**(code **)(*plVar1 + 8))(plVar1); uVar2 = *(uint *)(lVar11 + 0x88); if (*(code **)(*plVar1 + 8) == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } uVar12 = *(undefined8 *)(param_1 + 0x1d0); } else { uVar12 = (**(code **)(*plVar1 + 8))(plVar1); } uVar12 = FUN_1813f22a0(uVar12,local_128,DAT_1826741f8,param_1); fVar14 = (float)FUN_1813ec390(uVar12); uVar7 = DAT_1824c4f30; fVar19 = DAT_1824c41e0; local_22c = (float)*(int *)(param_1 + 0x2c); fVar17 = (float)(uVar2 ^ DAT_1824c4f30); fVar20 = fVar17 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x28); if (fVar20 <= 0.0) { fVar20 = 0.0; } fVar21 = fVar17 * DAT_1824c41e0 + local_22c; if (fVar21 <= 0.0) { fVar21 = 0.0; } fVar18 = 0.0 - fVar17; fVar17 = 0.0 - fVar17; if (*(code **)(*plVar1 + 8) == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } lVar11 = *(longlong *)(param_1 + 0x1d0); } else { lVar11 = (**(code **)(*plVar1 + 8))(plVar1); } local_248 = (undefined8 *)**(longlong **)(lVar11 + 0x78); if (local_248 != (undefined8 *)0x0) { LOCK(); *(int *)(local_248 + 1) = *(int *)(local_248 + 1) + 1; UNLOCK(); } local_230 = 4; FUN_1812520a0(&local_248); bVar5 = *(int *)(param_1 + 0x194) < 1; if (((*(byte *)(param_1 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_1 + 0x18) == 0 || (cVar8 = FUN_18133eaa0(), cVar8 != '\0')))) { bVar6 = true; } else { bVar6 = false; } if (*(code **)(*plVar1 + 8) == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } uVar12 = *(undefined8 *)(param_1 + 0x1d0); } else { uVar12 = (**(code **)(*plVar1 + 8))(plVar1); } FUN_1813f22a0(uVar12,local_218,DAT_1826741e0,param_1); fVar15 = *(float *)(param_1 + 0x390) * _DAT_1824c3ca4; if (0.0 < fVar15) { if (fVar15 < DAT_1824c3ea4) { uVar9 = (undefined1)(int)(fVar15 * DAT_1824c454c); } else { uVar9 = 0xff; } } else { uVar9 = 0; } local_res10 = CONCAT13(uVar9,(int3)DAT_18262bb68); FUN_181296c00(param_2,local_res10); if (fVar14 <= 0.0) { local_1f8 = fVar17; local_1f4 = fVar18; local_1f0 = fVar20; local_1ec = fVar21; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_1f8); } else { local_208 = fVar17; local_204 = fVar18; local_200 = fVar20; local_1fc = fVar21; FUN_181295300(param_2,&local_208,fVar14); } lVar11 = (**(code **)(*plVar1 + 8))(plVar1); fVar15 = (float)((uint)(*(float *)(lVar11 + 0x88) * DAT_1824c43a8) ^ uVar7); fStack_238 = fVar15 * fVar19 + fVar20; if (fStack_238 <= 0.0) { fStack_238 = 0.0; } fStack_234 = fVar15 * fVar19 + fVar21; if (fStack_234 <= 0.0) { fStack_234 = 0.0; } fVar18 = fVar18 - fVar15; fVar17 = fVar17 - fVar15; fVar20 = *(float *)(param_1 + 0x1e8); fVar21 = fStack_238; if (fVar20 <= fStack_238) { fVar21 = fVar20; } fVar15 = fVar17 + fVar21; fVar22 = fStack_238 - fVar21; if (fVar20 <= 0.0) { fVar20 = 0.0; } uVar9 = 0xff; if (!bVar6) { uVar9 = 0x99; } local_res8 = CONCAT13(uVar9,(int3)local_214); local_240 = fVar17; fStack_23c = fVar18; local_1e8 = fVar17; local_1e4 = fVar18; local_1dc = fVar20; local_168 = fVar17; fStack_164 = fVar18; fStack_160 = fStack_238; fStack_15c = fStack_234; FUN_181296c00(param_2,local_res8); if (**(char **)(param_1 + 0x1e0) == '\0') { fVar17 = (fVar17 + fVar21 * DAT_1824c3d8c) - fVar21 * DAT_1824c3d8c; fVar18 = (local_22c * DAT_1824c3d8c + 0.0) - fVar20 * DAT_1824c3d8c; local_1e8 = fVar17; local_1e4 = fVar18; } if (bVar5) { if (fVar14 <= 0.0) { local_1b8 = fVar17; local_1b4 = fVar18; local_1b0 = fVar21; local_1ac = fVar20; FUN_181295950(param_2,&local_1b8,uVar2); } else { local_1c8 = fVar17; local_1c4 = fVar18; local_1c0 = fVar21; local_1bc = fVar20; FUN_181295190(param_2,&local_1c8,fVar14,uVar2); } } else { local_1d8 = fVar17; local_1d4 = fVar18; local_1d0 = fVar21; local_1cc = fVar20; FUN_1812954c0(param_2,&local_1d8,uVar2); } cVar8 = FUN_1804d6ee0(param_1); if (cVar8 != '\0') { fVar16 = (float)((uint)(float)((double)*(float *)(param_1 + 0x1e8) * _DAT_1824c3fa8) ^ DAT_1824c4f30); fVar21 = fVar16 * fVar19 + fVar21; if (fVar21 <= 0.0) { fVar21 = 0.0; } fVar20 = fVar16 * fVar19 + fVar20; if (fVar20 <= 0.0) { fVar20 = 0.0; } fVar18 = fVar18 - fVar16; fVar17 = fVar17 - fVar16; if (bVar5) { if (fVar14 <= 0.0) { local_188 = fVar17; local_184 = fVar18; local_180 = fVar21; local_17c = fVar20; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_188); } else { local_198 = fVar17; local_194 = fVar18; local_190 = fVar21; local_18c = fVar20; FUN_181295300(param_2,&local_198,fVar14); } } else { local_1a8 = fVar17; local_1a4 = fVar18; local_1a0 = fVar21; local_19c = fVar20; FUN_181295820(param_2,&local_1a8); } } FUN_181296c00(param_2,local_214); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_248); fVar19 = *(float *)(param_1 + 0x1e8); fVar14 = fVar22; if ((float)((double)fVar19 * DAT_1824c40f0) <= fVar22) { fVar14 = (float)((double)fVar19 * DAT_1824c40f0); } fVar15 = fVar15 + fVar14; fVar22 = fVar22 - fVar14; fStack_14c = fStack_234; if (fVar19 <= fStack_234) { fStack_14c = fVar19; } fVar19 = fStack_23c + fStack_14c; fStack_154 = fStack_23c; fStack_114 = fStack_23c; local_178 = 0x21; local_240 = fVar15; fStack_23c = fVar19; fStack_238 = fVar22; local_158 = fVar15; fStack_150 = fVar22; local_118 = fVar15; fStack_110 = fVar22; fStack_10c = fStack_14c; FUN_1812963b0(param_2,param_1 + 0x158,&local_118,0x21,1); iVar10 = FUN_18048cbc0(*(undefined8 *)(param_1 + 0x1e0),""); if (iVar10 != 0) { fVar17 = (float)((double)*(float *)(local_248 + 5) * _DAT_1824c4108); fVar14 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar17) && (fVar14 = DAT_1824c45c8, fVar17 <= DAT_1824c45c8)) { fVar14 = fVar17; } if (*(float *)(local_248 + 5) != fVar14) { FUN_181252760(&local_248); *(float *)(local_248 + 5) = fVar14; plVar3 = (longlong *)local_248[2]; if (((plVar3 != (longlong *)0x0) && (*(code **)(*plVar3 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar8 = (**(code **)(*plVar3 + 8))(plVar3,&local_248), cVar8 == '\0')) { puVar4 = (undefined8 *)local_248[2]; local_248[2] = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar13 = (int *)(puVar4 + 1); iVar10 = *piVar13; *piVar13 = *piVar13 + -1; UNLOCK(); fVar15 = local_240; fVar22 = fStack_238; fVar19 = fStack_23c; if (iVar10 == 1) { (**(code **)*puVar4)(puVar4,1); fVar15 = local_240; fVar22 = fStack_238; fVar19 = fStack_23c; } } } } if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_248); if (*(code **)(*plVar1 + 8) == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } uVar12 = *(undefined8 *)(param_1 + 0x1d0); } else { uVar12 = (**(code **)(*plVar1 + 8))(plVar1); } FUN_1813f22a0(uVar12,local_170,DAT_18267416c,param_1); FUN_181296c00(param_2,local_16c); fVar14 = *(float *)(local_248 + 5); if ((**(char **)(param_1 + 0x1e0) != '\0') && (piVar13 = (int *)(**(code **)(**(longlong **)(param_2 + 8) + 0x58)) (*(longlong **)(param_2 + 8),local_e8), (int)fVar15 < piVar13[2] + *piVar13)) { local_228 = (void *)0x0; local_220 = 0; FUN_1804aebd0(&local_228,200); uVar12 = (**(code **)(**(longlong **)(param_2 + 8) + 0xd8))(); FUN_181250aa0(&local_228,uVar12,param_1 + 0x1e0,(float)(int)fVar15, (float)(int)(fVar19 + fVar14),(float)(int)fVar22,9,0); local_148 = _DAT_1824c4780; uStack_140 = _UNK_1824c4788; local_108 = _DAT_1824c4780; uStack_100 = _UNK_1824c4788; local_138 = (ulonglong)(uint)DAT_1824c3ea4; local_f8 = local_138; FUN_18124efb0(&local_228,param_2,&local_108); FUN_1804aeb50(&local_228); /* WARNING: Subroutine does not return */ free(local_228); } } if (local_248 != (undefined8 *)0x0) { LOCK(); piVar13 = (int *)(local_248 + 1); iVar10 = *piVar13; *piVar13 = *piVar13 + -1; UNLOCK(); if (iVar10 == 1) { (**(code **)*local_248)(local_248,1); } } return; } ############ FUN_ 181513e90 size=105 ############ bool FUN_181513e90(undefined8 param_1,undefined8 *param_2) { int *_Memory; int iVar1; int iVar2; longlong local_res10 [3]; (**(code **)(*(longlong *)*param_2 + 0x20))((longlong *)*param_2,local_res10,param_2 + 1); iVar2 = FUN_18048cbc0(local_res10[0],"CloudyPopupMenu"); _Memory = (int *)(local_res10[0] + -0x10); if ((*(uint *)(local_res10[0] + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return iVar2 == 0; } ############ FUN_ 1815af780 size=143 ############ longlong * FUN_1815af780(longlong param_1,longlong *param_2) { longlong *plVar1; int iVar2; longlong lVar3; longlong *plVar4; longlong *plVar5; plVar5 = *(longlong **)(param_1 + 0x2b0); plVar1 = plVar5 + *(int *)(param_1 + 700); while( true ) { if (plVar5 == plVar1) { return (longlong *)0x0; } plVar4 = (longlong *)*plVar5; if (plVar4[1] == *param_2) { return plVar4; } iVar2 = FUN_18048cbc0(plVar4[1],*param_2); if (iVar2 == 0) { return plVar4; } lVar3 = (**(code **)(*plVar4 + 0x28))(plVar4); if ((lVar3 != 0) && (plVar4 = (longlong *)FUN_1815af780(lVar3,param_2), plVar4 != (longlong *)0x0)) break; plVar5 = plVar5 + 1; } return plVar4; } ############ FUN_ 181613a60 size=1289 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181613a60(longlong param_1,undefined8 param_2,longlong *param_3) { uint uVar1; char cVar2; int iVar3; int iVar4; undefined4 uVar5; undefined8 *puVar6; longlong lVar7; longlong *plVar8; uint *puVar9; uint *puVar10; undefined8 *puVar11; undefined8 *puVar12; ulonglong uVar13; ulonglong uVar14; float fVar15; undefined1 auStack_168 [32]; longlong local_148; longlong *local_140; undefined8 *local_138; undefined8 *puStack_130; undefined8 *local_128; longlong *local_120; longlong local_118; longlong local_110; longlong local_108; longlong *local_100; undefined8 local_f8; longlong *local_f0; undefined1 local_e8 [8]; longlong local_e0; undefined **local_d8; undefined1 local_d0; undefined8 local_c8; longlong *local_c0; longlong *local_b0; undefined1 local_a8 [8]; longlong *local_a0; undefined1 local_98 [39]; undefined1 local_71 [32]; undefined1 local_51; ulonglong local_50 [3]; local_c8 = 0xfffffffffffffffe; local_50[0] = DAT_182615970 ^ (ulonglong)auStack_168; local_100 = param_3; local_f8 = param_2; local_c0 = param_3; iVar3 = FUN_18048cbc0(*param_3,"listen"); iVar4 = FUN_18048cbc0(*param_3,"on/off"); if (iVar3 == 0) { puVar6 = (undefined8 *) (**(code **)(*(longlong *)(param_1 + 0x360) + 0x10))(param_1 + 0x360,&local_a0); cVar2 = (**(code **)(*(longlong *)*puVar6 + 0x28))((longlong *)*puVar6,puVar6 + 1); local_d8 = &PTR_vftable_18262b550; local_d0 = cVar2 == '\0'; (**(code **)(*(longlong *)(param_1 + 0x360) + 0x18))(param_1 + 0x360,&local_d8); (**(code **)(*local_a0 + 0xb0))(local_a0,local_98); FUN_1815fceb0(local_f8); } else if (iVar4 == 0) { fVar15 = *(float *)(*(longlong *)(param_1 + -0x1f8) + 0x188); local_120 = (longlong *)CONCAT44(local_120._4_4_,fVar15); (**(code **)(*(longlong *)(param_1 + 0x378) + 0x10))((longlong *)(param_1 + 0x378),&local_b0); cVar2 = (**(code **)(*local_b0 + 0x90))(); if (cVar2 != '\0') { lVar7 = FUN_181233e10(local_71 + 1,(int)fVar15); FUN_180495150(&local_118,lVar7,local_71 + -lVar7); plVar8 = (longlong *)FUN_181246550(local_e8,&DAT_1822d0594,&local_118); local_140 = plVar8; FUN_181232e20(plVar8,&DAT_182218804,&DAT_182218807); local_140 = (longlong *)*plVar8; puVar10 = (uint *)((longlong)local_140 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } puVar9 = (uint *)(*plVar8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } plVar8 = (longlong *)FUN_18119aa60(*(undefined8 *)(param_1 + 0x350),local_140); fVar15 = (float)(**(code **)(*plVar8 + 8))(plVar8); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_118 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } plVar8 = (longlong *)(**(code **)(*local_b0 + 0x38))(local_b0,local_a8); local_138 = (undefined8 *)0x0; puStack_130 = (undefined8 *)0x0; uVar14 = 0; local_128 = (undefined8 *)0x0; puVar6 = (undefined8 *)*plVar8; puVar12 = puVar6 + (longlong)*(int *)((longlong)plVar8 + 0xc) * 2; if (puVar6 == puVar12) { puVar11 = (undefined8 *)0x0; } else { local_120 = &local_148; do { uVar5 = (**(code **)(*(longlong *)*puVar6 + 8))((longlong *)*puVar6,puVar6 + 1); lVar7 = FUN_181233e10(local_50,uVar5); FUN_180495150(&local_108,lVar7,&local_51 + -lVar7); FUN_18049c4e0(&local_110,&DAT_1822d47a4); plVar8 = (longlong *)FUN_181232d30(&local_110,&local_108); local_148 = *plVar8; if ((*(uint *)(local_148 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_148 + -0x10) = *(int *)(local_148 + -0x10) + 1; UNLOCK(); } puVar10 = (uint *)(local_110 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_181232e20(&local_148,&DAT_182218eac,&DAT_182218eaf); local_e0 = local_148; puVar10 = (uint *)(local_148 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } puVar9 = (uint *)(local_148 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } plVar8 = (longlong *)FUN_18119aa60(*(undefined8 *)(param_1 + 0x350),local_148); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_108 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_f0 = plVar8; if (local_128 == puStack_130) { FUN_1804803a0(&local_138,puStack_130,&local_f0); } else { *puStack_130 = plVar8; puStack_130 = puStack_130 + 1; } puVar11 = puStack_130; FUN_1811c2330(plVar8); (**(code **)(*plVar8 + 0x10))(plVar8,(float)(fVar15 == 0.0)); FUN_1812c3d40(plVar8,(float)(fVar15 == 0.0)); puVar6 = puVar6 + 2; } while (puVar6 != puVar12); } puVar6 = local_138; uVar13 = (ulonglong)((longlong)puVar11 + (7 - (longlong)local_138)) >> 3; if (puVar11 < local_138) { uVar13 = uVar14; } puVar12 = local_138; if (uVar13 != 0) { do { FUN_1811bf8a0(*puVar12); puVar12 = puVar12 + 1; uVar14 = uVar14 + 1; } while (uVar14 != uVar13); } param_3 = local_100; if (puVar6 != (undefined8 *)0x0) { puVar12 = puVar6; if ((0xfff < (ulonglong)(((longlong)local_128 - (longlong)puVar6 >> 3) * 8)) && (puVar12 = (undefined8 *)puVar6[-1], 0x1f < (ulonglong)((longlong)puVar6 + (-8 - (longlong)puVar12)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(puVar12); } } FUN_1815fceb0(local_f8); (**(code **)(*local_b0 + 0xb0))(local_b0,local_a8); } puVar10 = (uint *)(*param_3 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } ############ FUN_ 18161b910 size=203 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18161b910(longlong param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; int iVar2; longlong *plVar3; uint *_Memory; float fVar4; undefined1 auStack_68 [32]; longlong local_48 [2]; undefined8 *local_38; ulonglong local_30; local_48[1] = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_68; local_38 = param_3; plVar3 = (longlong *)(**(code **)(*(longlong *)(param_1 + 8) + 0x10))(param_1 + 8,local_48); if (*param_2 == *plVar3) { iVar2 = 0; } else { iVar2 = FUN_18048cbc0(*param_2,*plVar3); } _Memory = (uint *)(local_48[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((iVar2 == 0) && (fVar4 = (float)(**(code **)(*(longlong *)(param_1 + 8) + 0x30))(param_1 + 8,param_3), fVar4 != *(float *)(param_1 + 0x40))) { *(float *)(param_1 + 0x40) = fVar4; *(undefined1 *)(param_1 + 0x61) = 1; } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 181a06a50 size=268 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181a06a50(longlong param_1,longlong *param_2,undefined8 *param_3) { uint uVar1; undefined **ppuVar2; int iVar3; longlong *plVar4; uint *_Memory; undefined4 uVar5; undefined1 auStack_58 [32]; longlong local_38 [2]; undefined8 *local_28; ulonglong local_20; local_38[1] = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_58; local_28 = param_3; plVar4 = (longlong *) (**(code **)(**(longlong **)(param_1 + 0x108) + 0x10)) (*(longlong **)(param_1 + 0x108),local_38); if (*param_2 == *plVar4) { iVar3 = 0; } else { iVar3 = FUN_18048cbc0(*param_2,*plVar4); } _Memory = (uint *)(local_38[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (iVar3 == 0) { ppuVar2 = (undefined **)**(longlong **)(param_1 + 0x108); if (ppuVar2 == Soothe2GainRangeScalingOption::vftable) { iVar3 = (**(code **)(*(longlong *)*param_3 + 8))((longlong *)*param_3,param_3 + 1); uVar5 = DAT_1824c3ea4; if (((iVar3 != 2) && (uVar5 = DAT_1824c41e0, iVar3 != 1)) && (uVar5 = DAT_1824c3ea4, iVar3 == 0)) { uVar5 = DAT_1824c4388; } } else { uVar5 = (*(code *)ppuVar2[6])(*(longlong **)(param_1 + 0x108),param_3); } *(undefined4 *)(param_1 + 0x9c) = uVar5; } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 18051f710 size=239 ############ bool FUN_18051f710(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 *puVar1; undefined8 *puVar2; char cVar3; int iVar4; longlong lVar5; undefined8 *local_18; longlong *local_10; puVar1 = *(undefined8 **)(*param_1 + 8); do { if (puVar1 == (undefined8 *)0x0) { return false; } local_10 = param_1; local_18 = puVar1; for (puVar2 = (undefined8 *)puVar1[2]; puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) { iVar4 = FUN_18048cbc0(puVar2[1],&DAT_18249ef04); if (iVar4 == 0) { iVar4 = FUN_18048cbc0(puVar2[2],*param_2); if ((iVar4 == 0) && (iVar4 = FUN_18049bb30(puVar1[3],&DAT_18249ef44), iVar4 != 0)) { lVar5 = FUN_1804eff90(*param_3,&local_18,1,param_3[1]); param_3[2] = lVar5; return lVar5 != 0; } break; } } cVar3 = FUN_18051f710(&local_18,param_2,param_3); if (cVar3 != '\0') { return true; } puVar1 = (undefined8 *)*puVar1; } while( true ); } ############ FUN_ 180569310 size=203 ############ void FUN_180569310(longlong param_1) { longlong *plVar1; float fVar2; float fVar3; int iVar4; char cVar5; longlong lVar6; int iVar7; plVar1 = (longlong *)(param_1 + 0x140); iVar4 = *(int *)(param_1 + 0x880); lVar6 = (**(code **)(*plVar1 + 8))(plVar1); iVar7 = (int)((float)iVar4 * *(float *)(lVar6 + 0x88)); iVar4 = *(int *)(param_1 + 0x884); lVar6 = (**(code **)(*plVar1 + 8))(plVar1); fVar2 = *(float *)(lVar6 + 0x88); cVar5 = FUN_180528b30(param_1 + 0x540); if (cVar5 != '\0') { fVar3 = *(float *)(param_1 + 0x88c); lVar6 = (**(code **)(*plVar1 + 8))(plVar1); iVar7 = (int)(fVar3 * *(float *)(lVar6 + 0x88) + (float)iVar7); } FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),iVar7, (int)((float)iVar4 * fVar2)); return; } ############ FUN_ 180565ce0 size=393 ############ undefined4 * FUN_180565ce0(longlong param_1,undefined4 *param_2) { int iVar1; int iVar2; double dVar3; char cVar4; longlong lVar5; undefined1 *puVar6; float fVar7; float fVar8; float fVar9; undefined4 local_res8; undefined4 local_res10; undefined4 local_res18; undefined4 local_res20; undefined1 local_68 [88]; cVar4 = FUN_180528b30(param_1 + 0x540); if (cVar4 == '\0') { fVar7 = (float)*(int *)(param_1 + 0x28); } else { fVar7 = *(float *)(param_1 + 0x88c); lVar5 = (**(code **)(*(longlong *)(param_1 + 0x140) + 8))(); fVar7 = (float)*(int *)(param_1 + 0x28) - fVar7 * *(float *)(lVar5 + 0x88); if (fVar7 <= 0.0) { fVar7 = 0.0; } } iVar1 = *(int *)(param_1 + 0x2c); if (*(longlong *)(*(longlong *)(param_1 + 0x498) + 0x38) == 0) { puVar6 = local_68; } else { puVar6 = (undefined1 *)FUN_1804b1290(*(longlong *)(param_1 + 0x498) + 0x20,local_68); } dVar3 = DAT_1824c4520; iVar2 = *(int *)(puVar6 + 0xc); fVar8 = (fVar7 + 0.0) - (float)((double)fVar7 * DAT_1824c40b8); fVar9 = ((float)iVar1 + 0.0) - (float)iVar2; if (fVar8 <= 0.0) { fVar8 = 0.0; } if (fVar9 <= 0.0) { fVar9 = 0.0; } local_res8 = SUB84((double)(float)((double)fVar7 * DAT_1824c40b8) + DAT_1824c4520,0); *param_2 = local_res8; local_res10 = SUB84((double)iVar2 + dVar3,0); param_2[1] = local_res10; local_res18 = SUB84((double)fVar8 + dVar3,0); param_2[2] = local_res18; local_res20 = SUB84((double)fVar9 + dVar3,0); param_2[3] = local_res20; return param_2; } ############ FUN_ 180566090 size=156 ############ undefined8 * FUN_180566090(longlong param_1,undefined8 *param_2) { float fVar1; int iVar2; int iVar3; char cVar4; longlong lVar5; float fVar6; cVar4 = FUN_180528b30(param_1 + 0x540); if (cVar4 == '\0') { iVar2 = *(int *)(param_1 + 0x28); iVar3 = *(int *)(param_1 + 0x2c); *param_2 = 0; *(float *)(param_2 + 1) = (float)iVar2; } else { fVar6 = *(float *)(param_1 + 0x88c); lVar5 = (**(code **)(*(longlong *)(param_1 + 0x140) + 8))(); iVar2 = *(int *)(param_1 + 0x28); iVar3 = *(int *)(param_1 + 0x2c); fVar1 = *(float *)(lVar5 + 0x88); *param_2 = 0; fVar6 = (float)iVar2 - fVar6 * fVar1; if (fVar6 <= 0.0) { fVar6 = 0.0; } *(float *)(param_2 + 1) = fVar6; } *(float *)((longlong)param_2 + 0xc) = (float)iVar3; return param_2; } ############ FUN_ 1814a1500 size=318 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814a1500(longlong param_1,undefined8 param_2,undefined8 *param_3) { char cVar1; byte bVar2; undefined4 uVar3; undefined1 auStack_58 [32]; undefined8 local_38; undefined8 *local_30; ulonglong local_28; local_38 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_58; local_30 = param_3; cVar1 = FUN_18055e010(param_1 + 0x68); if (cVar1 != '\0') { cVar1 = FUN_180528b30(param_1 + 0x68); uVar3 = DAT_1824c3ea4; if (cVar1 != '\0') { uVar3 = DAT_1824c3d8c; } FUN_18133e970(*(undefined8 *)(param_1 + 0x28),cVar1 == '\0'); bVar2 = (cVar1 != '\0') << 3; *(byte *)(*(longlong *)(param_1 + 8) + 0xa8) = *(byte *)(*(longlong *)(param_1 + 8) + 0xa8) & 0xe7 | bVar2; *(byte *)(*(longlong *)(param_1 + 0x10) + 0xa8) = *(byte *)(*(longlong *)(param_1 + 0x10) + 0xa8) & 0xe7 | bVar2; *(byte *)(*(longlong *)(param_1 + 0x18) + 0xa8) = *(byte *)(*(longlong *)(param_1 + 0x18) + 0xa8) & 0xe7 | bVar2; *(byte *)(*(longlong *)(param_1 + 0x20) + 0xa8) = *(byte *)(*(longlong *)(param_1 + 0x20) + 0xa8) & 0xe7 | bVar2; FUN_181342bf0(*(undefined8 *)(param_1 + 0x28),uVar3); FUN_181342bf0(*(undefined8 *)(param_1 + 8),uVar3); FUN_181342bf0(*(undefined8 *)(param_1 + 0x10),uVar3); FUN_181342bf0(*(undefined8 *)(param_1 + 0x18),uVar3); FUN_181342bf0(*(undefined8 *)(param_1 + 0x20),uVar3); } (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 18052f920 size=281 ############ void FUN_18052f920(undefined8 *param_1) { undefined8 *puVar1; int iVar2; FUN_1805305f0(); *param_1 = Soothe2ModuleBase::vftable; puVar1 = param_1 + 0x7b; param_1[0x7a] = Soothe2ModuleBase::vftable; FUN_180533130(); *(undefined4 *)(param_1 + 0x48097) = 0; LOCK(); *(undefined4 *)(param_1 + 0x48097) = 0; UNLOCK(); *(undefined2 *)((longlong)param_1 + 0x2404bc) = 0; param_1[0x48098] = 0; param_1[0x48099] = 0; *(undefined4 *)(param_1 + 0x4809a) = 7; *(undefined2 *)((longlong)param_1 + 0x1b4) = 1; *(undefined1 *)((longlong)param_1 + 0x3cc) = 1; *(undefined4 *)(param_1 + 0x4808c) = 1; *(undefined4 *)((longlong)param_1 + 0x240467) = 0x1010101; *(undefined4 *)((longlong)param_1 + 0x24046b) = 0x1010101; FUN_18052fc30(puVar1); *(undefined4 *)((longlong)param_1 + 0x24045c) = *(undefined4 *)(param_1 + 0x4809a); *(undefined4 *)((longlong)param_1 + 0x240467) = 0x1010101; *(undefined4 *)((longlong)param_1 + 0x24046b) = 0x1010101; FUN_18052fc30(puVar1); FUN_180532fd0(puVar1,param_1 + 0x7a); iVar2 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(DAT_1824c3d8c); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(DAT_1824c4050,param_1 + 0x48093,8); } ############ FUN_ 180533130 size=263 ############ undefined8 * FUN_180533130(undefined8 *param_1) { param_1[1] = 0; *(undefined8 *)((longlong)param_1 + 0x24) = 0; *(undefined4 *)(param_1 + 2) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x2c) = 0x3f800000; *(undefined4 *)(param_1 + 6) = 2; *(undefined4 *)((longlong)param_1 + 0x44) = 1; param_1[9] = 0; param_1[10] = 0; *(undefined4 *)(param_1 + 0xb) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x1c) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x14) = 0x3f800000; *(undefined4 *)(param_1 + 4) = 0x3f800000; *(undefined4 *)(param_1 + 3) = 0x3f800000; *param_1 = ParametricEqualizer::vftable; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; *(undefined2 *)((longlong)param_1 + 0x24008c) = 0; *(undefined1 *)((longlong)param_1 + 0x24008e) = 0; *(undefined1 *)((longlong)param_1 + 0x240097) = 0; *(undefined4 *)(param_1 + 0x48010) = 1; *(undefined4 *)((longlong)param_1 + 0x240084) = 1; *(undefined4 *)(param_1 + 0x48011) = 2; param_1[0x48013] = 0; param_1[0x48014] = 0; param_1[0x48015] = 0; param_1[0x48016] = 0; param_1[0x48017] = 0; FUN_180533980(param_1); FUN_180533b80(param_1); *(undefined4 *)(param_1 + 0x48011) = 2; *(undefined4 *)((longlong)param_1 + 0x24008f) = 0x1010101; *(undefined4 *)((longlong)param_1 + 0x240093) = 0x1010101; FUN_18052fc30(param_1); return param_1; } ############ FUN_ 18135f920 size=451 ############ void FUN_18135f920(longlong param_1,float param_2) { int iVar1; longlong lVar2; int *piVar3; int *piVar4; longlong lVar5; undefined4 uVar6; longlong lVar7; uint uVar8; float fVar9; undefined4 uVar10; uVar8 = (uint)*(float *)(*(longlong *)(param_1 + 0x8e0) + 0x188); if (-1 < (int)uVar8) { lVar2 = *(longlong *)(param_1 + 0x168); lVar7 = 0; lVar5 = lVar7; if (uVar8 < *(uint *)(lVar2 + 0x444)) { lVar5 = *(longlong *)(*(longlong *)(lVar2 + 0x438) + (longlong)(int)uVar8 * 8); } iVar1 = *(int *)(lVar5 + 0x800); for (piVar4 = DAT_182673f90; piVar3 = DAT_182673f50, uVar10 = DAT_1824c3e00, piVar4 != DAT_182673f98; piVar4 = piVar4 + 1) { if (*piVar4 == iVar1) goto LAB_18135f9d2; } for (; piVar3 != DAT_182673f58; piVar3 = piVar3 + 1) { if (*piVar3 == iVar1) goto LAB_18135f9de; } if (iVar1 == 9) { LAB_18135f9d2: uVar6 = 6; } else if (iVar1 == 10) { LAB_18135f9de: uVar6 = 2; } else { uVar6 = 0xc; lVar5 = lVar7; if (uVar8 < *(uint *)(lVar2 + 0x444)) { lVar5 = *(longlong *)(*(longlong *)(lVar2 + 0x438) + (longlong)(int)uVar8 * 8); } uVar10 = *(undefined4 *)(lVar5 + 0x80c); } fVar9 = DAT_1824c442c; if ((DAT_1824c442c <= param_2) && (fVar9 = (float)(*(double *)(param_1 + 0x30) * DAT_1824c4050), param_2 <= fVar9)) { fVar9 = param_2; } lVar2 = *(longlong *)(param_1 + 0x6f8); lVar5 = lVar7; if (*(int *)(lVar2 + 0x6c) != 0) { lVar5 = **(longlong **)(lVar2 + 0x60); } *(float *)(lVar5 + 0x804) = fVar9; *(undefined1 *)(lVar2 + 0x24008f) = 1; FUN_18052fc30(); lVar2 = *(longlong *)(param_1 + 0x6f8); lVar5 = lVar7; if (*(int *)(lVar2 + 0x6c) != 0) { lVar5 = **(longlong **)(lVar2 + 0x60); } *(undefined4 *)(lVar5 + 0x80c) = uVar10; *(undefined1 *)(lVar2 + 0x24008f) = 1; FUN_18052fc30(); lVar2 = *(longlong *)(param_1 + 0x6f8); if (*(int *)(lVar2 + 0x6c) != 0) { lVar7 = **(longlong **)(lVar2 + 0x60); } *(undefined4 *)(lVar7 + 0x800) = uVar6; *(undefined1 *)(lVar2 + 0x24008f) = 1; FUN_18052fc30(); if (*(char *)(*(longlong *)(param_1 + 0x6f8) + 0x24008c) != '\0') { *(undefined1 *)(*(longlong *)(param_1 + 0x6f8) + 0x24008c) = 0; FUN_18052fbd0(); return; } } return; } ############ FUN_ 181414290 size=251 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_181414290(undefined8 *param_1) { bool bVar1; param_1[1] = 0xffffffffffffffff; *param_1 = DummyEqualizerWrapperBase::vftable; *(undefined4 *)(param_1 + 2) = 0; FUN_180533130(param_1 + 3); *(undefined4 *)(param_1 + 0x4801b) = 0; *(undefined8 *)((longlong)param_1 + 0x2400dc) = 0; *(undefined8 *)((longlong)param_1 + 0x2400e4) = 0; *(undefined4 *)((longlong)param_1 + 0x2400ec) = 0; param_1[0x4801e] = 0; param_1[0x4801f] = 0; param_1[0x48020] = 0; *(undefined1 *)(param_1 + 0x48021) = 0; param_1[0x48022] = 0; param_1[0x48023] = 0; *(undefined4 *)(param_1 + 0x48014) = 1; *(undefined4 *)((longlong)param_1 + 0x2400a7) = 0x1010101; *(undefined4 *)((longlong)param_1 + 0x2400ab) = 0x1010101; FUN_18052fc30(param_1 + 3); *(undefined4 *)(param_1 + 0x48013) = 4; *(undefined4 *)((longlong)param_1 + 0x2400a7) = 0x1010101; *(undefined4 *)((longlong)param_1 + 0x2400ab) = 0x1010101; bVar1 = *(float *)((longlong)param_1 + 0x3c) != _DAT_1824c45ec; *(undefined4 *)((longlong)param_1 + 0x3c) = 0x472c4400; if (bVar1) { (**(code **)(param_1[3] + 0x20))(param_1 + 3); } return param_1; } ############ FUN_ 1805377d0 size=108 ############ void FUN_1805377d0(longlong param_1,float *param_2) { undefined4 uVar1; longlong lVar2; undefined4 local_res8; local_res8 = SUB84((double)*param_2 + DAT_1824c4520,0); uVar1 = *(undefined4 *)(DAT_182673f90 + (longlong)local_res8 * 4); lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x168); if (*(int *)(lVar2 + 0x444) != 0) { *(undefined4 *)(**(longlong **)(lVar2 + 0x438) + 0x800) = uVar1; *(undefined1 *)(lVar2 + 0x240467) = 1; FUN_18052fc30(); return; } uRam0000000000000800 = uVar1; *(undefined1 *)(lVar2 + 0x240467) = 1; FUN_18052fc30(); return; } ############ FUN_ 180537840 size=114 ############ void FUN_180537840(longlong param_1,float *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; } *(bool *)(lVar4 + 0x810) = *param_2 <= DAT_1824c3ea4 && DAT_1824c3ea4 != *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; } ############ FUN_ 180537590 size=69 ############ void .?AVSoothe2ModuleDecryptor@@::vtbl___AVSoothe2ModuleDecryptor__ (longlong param_1,float *param_2) { longlong lVar1; longlong lVar2; lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x168); if (*(int *)(lVar1 + 0x444) == 0) { lVar2 = 0; } else { lVar2 = **(longlong **)(lVar1 + 0x438); } *(bool *)(lVar2 + 0x810) = *param_2 <= DAT_1824c3ea4 && DAT_1824c3ea4 != *param_2; *(undefined1 *)(lVar1 + 0x240467) = 1; FUN_18052fc30(); return; } ############ FUN_ 180537b60 size=78 ############ void FUN_180537b60(longlong param_1,undefined4 *param_2) { longlong lVar1; lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x168); if (5 < *(uint *)(lVar1 + 0x444)) { *(undefined4 *)(*(longlong *)(*(longlong *)(lVar1 + 0x438) + 0x28) + 0x804) = *param_2; *(undefined1 *)(lVar1 + 0x24046c) = 1; FUN_18052fc30(); return; } uRam0000000000000804 = *param_2; *(undefined1 *)(lVar1 + 0x24046c) = 1; FUN_18052fc30(); return; } ############ FUN_ 180537a30 size=135 ############ void FUN_180537a30(longlong param_1,float *param_2) { uint uVar1; longlong lVar2; longlong lVar3; longlong lVar4; undefined4 local_res8; uVar1 = *(uint *)(param_1 + 8); local_res8 = SUB84((double)*param_2 + DAT_1824c4520,0); 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 + 0x800) = *(undefined4 *)(DAT_182673f68 + (longlong)local_res8 * 4); 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; } ############ FUN_ 180537ac0 size=70 ############ void FUN_180537ac0(longlong param_1,float *param_2) { longlong lVar1; longlong lVar2; lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x168); if (*(uint *)(lVar1 + 0x444) < 6) { lVar2 = 0; } else { lVar2 = *(longlong *)(*(longlong *)(lVar1 + 0x438) + 0x28); } *(bool *)(lVar2 + 0x810) = *param_2 <= DAT_1824c3ea4 && DAT_1824c3ea4 != *param_2; *(undefined1 *)(lVar1 + 0x24046c) = 1; FUN_18052fc30(); return; } ############ FUN_ 180537930 size=104 ############ void .?AVSoothe2AudioProcessor@@::vtbl___AVSoothe2AudioProcessor__ (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 + 0x808) = *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; } ############ FUN_ 1805378c0 size=104 ############ void FUN_1805378c0(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 + 0x804) = *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; } ############ FUN_ 180537630 size=73 ############ void FUN_180537630(longlong param_1,undefined4 *param_2) { longlong lVar1; lVar1 = **(longlong **)(param_1 + 8); if (*(int *)(lVar1 + 0x444) != 0) { *(undefined4 *)(**(longlong **)(lVar1 + 0x438) + 0x804) = *param_2; *(undefined1 *)(lVar1 + 0x240467) = 1; FUN_18052fc30(); return; } uRam0000000000000804 = *param_2; *(undefined1 *)(lVar1 + 0x240467) = 1; FUN_18052fc30(); return; } ############ FUN_ 18056eda0 size=82 ############ void .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (longlong param_1,float *param_2) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 8); if (*(int *)(lVar1 + 0x84) == 0) { uRam0000000000000810 = *param_2 == 0.0; *(undefined1 *)(lVar1 + 0x2400a7) = 1; FUN_18052fc30(); return; } *(bool *)(**(longlong **)(lVar1 + 0x78) + 0x810) = *param_2 == 0.0; *(undefined1 *)(lVar1 + 0x2400a7) = 1; FUN_18052fc30(); return; } ############ FUN_ 18056ef10 size=111 ############ void .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__(longlong param_1,float *param_2) { uint uVar1; longlong lVar2; longlong lVar3; lVar2 = *(longlong *)(param_1 + 0x10); uVar1 = *(uint *)(param_1 + 8); if (uVar1 < *(uint *)(lVar2 + 0x84)) { lVar3 = *(longlong *)(*(longlong *)(lVar2 + 0x78) + (longlong)(int)uVar1 * 8); } else { lVar3 = 0; } *(bool *)(lVar3 + 0x810) = *param_2 == 0.0; if (-1 < (int)uVar1) { *(undefined1 *)((longlong)(int)uVar1 + 0x2400a7 + lVar2) = 1; FUN_18052fc30(lVar2 + 0x18); return; } *(undefined4 *)(lVar2 + 0x2400a7) = 0x1010101; *(undefined4 *)(lVar2 + 0x2400ab) = 0x1010101; FUN_18052fc30(lVar2 + 0x18); return; } ############ FUN_ 18056efe0 size=95 ############ void FUN_18056efe0(longlong param_1,undefined4 *param_2) { uint uVar1; longlong lVar2; longlong lVar3; lVar2 = *(longlong *)(param_1 + 0x10); uVar1 = *(uint *)(param_1 + 8); if (uVar1 < *(uint *)(lVar2 + 0x84)) { lVar3 = *(longlong *)(*(longlong *)(lVar2 + 0x78) + (longlong)(int)uVar1 * 8); } else { lVar3 = 0; } *(undefined4 *)(lVar3 + 0x808) = *param_2; if ((int)uVar1 < 0) { *(undefined4 *)(lVar2 + 0x2400a7) = 0x1010101; *(undefined4 *)(lVar2 + 0x2400ab) = 0x1010101; FUN_18052fc30(lVar2 + 0x18); return; } *(undefined1 *)((longlong)(int)uVar1 + 0x2400a7 + lVar2) = 1; FUN_18052fc30(lVar2 + 0x18); return; } ############ FUN_ 18056f040 size=95 ############ void FUN_18056f040(longlong param_1,undefined4 *param_2) { uint uVar1; longlong lVar2; longlong lVar3; lVar2 = *(longlong *)(param_1 + 0x10); uVar1 = *(uint *)(param_1 + 8); if (uVar1 < *(uint *)(lVar2 + 0x84)) { lVar3 = *(longlong *)(*(longlong *)(lVar2 + 0x78) + (longlong)(int)uVar1 * 8); } else { lVar3 = 0; } *(undefined4 *)(lVar3 + 0x80c) = *param_2; if ((int)uVar1 < 0) { *(undefined4 *)(lVar2 + 0x2400a7) = 0x1010101; *(undefined4 *)(lVar2 + 0x2400ab) = 0x1010101; FUN_18052fc30(lVar2 + 0x18); return; } *(undefined1 *)((longlong)(int)uVar1 + 0x2400a7 + lVar2) = 1; FUN_18052fc30(lVar2 + 0x18); return; } ############ FUN_ 18056f1e0 size=68 ############ void .?AV?$CloudyOpenGLRenderer@USoothe2VertexData@@@@:: vtbl___AV__CloudyOpenGLRenderer_USoothe2VertexData____(longlong param_1,undefined4 *param_2) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 8); if (5 < *(uint *)(lVar1 + 0x84)) { *(undefined4 *)(*(longlong *)(*(longlong *)(lVar1 + 0x78) + 0x28) + 0x804) = *param_2; *(undefined1 *)(lVar1 + 0x2400ac) = 1; FUN_18052fc30(); return; } uRam0000000000000804 = *param_2; *(undefined1 *)(lVar1 + 0x2400ac) = 1; FUN_18052fc30(); return; } ############ FUN_ 18056f0c0 size=107 ############ void FUN_18056f0c0(longlong param_1,float *param_2) { uint uVar1; longlong lVar2; longlong lVar3; uVar1 = *(uint *)(param_1 + 8); lVar2 = *(longlong *)(param_1 + 0x10); if (uVar1 < *(uint *)(lVar2 + 0x84)) { lVar3 = *(longlong *)(*(longlong *)(lVar2 + 0x78) + (longlong)(int)uVar1 * 8); } else { lVar3 = 0; } *(undefined4 *)(lVar3 + 0x800) = *(undefined4 *)(DAT_182673f68 + (longlong)(int)*param_2 * 4); if ((int)uVar1 < 0) { *(undefined4 *)(lVar2 + 0x2400a7) = 0x1010101; *(undefined4 *)(lVar2 + 0x2400ab) = 0x1010101; FUN_18052fc30(lVar2 + 0x18); return; } *(undefined1 *)((longlong)(int)uVar1 + 0x2400a7 + lVar2) = 1; FUN_18052fc30(lVar2 + 0x18); return; } ############ FUN_ 18056ef80 size=95 ############ void FUN_18056ef80(longlong param_1,undefined4 *param_2) { uint uVar1; longlong lVar2; longlong lVar3; lVar2 = *(longlong *)(param_1 + 0x10); uVar1 = *(uint *)(param_1 + 8); if (uVar1 < *(uint *)(lVar2 + 0x84)) { lVar3 = *(longlong *)(*(longlong *)(lVar2 + 0x78) + (longlong)(int)uVar1 * 8); } else { lVar3 = 0; } *(undefined4 *)(lVar3 + 0x804) = *param_2; if ((int)uVar1 < 0) { *(undefined4 *)(lVar2 + 0x2400a7) = 0x1010101; *(undefined4 *)(lVar2 + 0x2400ab) = 0x1010101; FUN_18052fc30(lVar2 + 0x18); return; } *(undefined1 *)((longlong)(int)uVar1 + 0x2400a7 + lVar2) = 1; FUN_18052fc30(lVar2 + 0x18); return; } ############ FUN_ 180487220 size=208 ############ ulonglong FUN_180487220(float *param_1,float param_2) { float fVar1; longlong *plVar2; float fVar3; ulonglong uVar4; float local_res8 [4]; float local_res18 [2]; float local_res20 [2]; if (*(longlong *)(param_1 + 0x34) != 0) { local_res18[0] = param_1[1]; local_res20[0] = *param_1; plVar2 = *(longlong **)(param_1 + 0x34); local_res8[0] = param_2; if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } uVar4 = (**(code **)(*plVar2 + 0x10)) (plVar2,local_res20,local_res18,local_res8,0xfffffffffffffffe); return uVar4; } fVar1 = param_1[2]; if (0.0 < fVar1) { fVar3 = floorf((param_2 - *param_1) / fVar1 + DAT_1824c3d8c); param_2 = fVar3 * fVar1 + *param_1; } fVar1 = *param_1; if ((fVar1 < param_2) && (fVar3 = param_1[1], fVar1 < fVar3)) { if (param_2 <= fVar3) { fVar3 = param_2; } return (ulonglong)(uint)fVar3; } return (ulonglong)(uint)fVar1; } ############ FUN_ 18119aa60 size=974 ############ /* WARNING: Instruction at (ram,0x00018119aee3) overlaps instruction at (ram,0x00018119aee0) */ /* WARNING: Removing unreachable block (ram,0x00018119b76d) */ /* WARNING: Removing unreachable block (ram,0x00018119b338) */ /* WARNING: Removing unreachable block (ram,0x00018119aee0) */ /* WARNING: Removing unreachable block (ram,0x00018119b558) */ /* WARNING: Removing unreachable block (ram,0x00018119ae25) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_18119aa60(longlong param_1,longlong param_2,undefined8 param_3,longlong param_4) { uint *_Memory; undefined8 uVar1; undefined8 uVar2; undefined8 uVar3; undefined8 uVar4; undefined1 *puVar5; ulonglong uVar6; undefined8 uVar7; ulonglong uVar8; uint uVar9; uint uVar10; uint uVar11; undefined8 *puVar12; ulonglong uVar13; int iVar14; undefined8 *puVar15; undefined8 *puVar16; undefined8 *puVar17; undefined1 *puVar18; undefined1 *puVar19; longlong lVar20; longlong lVar21; longlong in_R10; longlong lVar22; longlong in_R11; longlong lVar23; undefined8 unaff_R13; int *piVar24; uint uVar25; bool bVar26; char cVar27; char cVar28; int unaff_retaddr; undefined1 local_68 [32]; undefined *local_48; code *pcStack_40; undefined8 local_38; local_38 = 0xfffffffffffffffe; uVar13 = (ulonglong)((uint)&stack0x00000000 & 0x76ff); uVar9 = (uint)&stack0x00000000 & 0x1bf; iVar14 = (uVar9 + 2) * (uVar9 + 1) * uVar9; uVar25 = 0xa209 >> (-(char)(((iVar14 >> 1) - (iVar14 >> 3)) + iVar14 * 0x55555555 >> 0x1e) & 0x1fU ) ^ 0xac39; uVar8 = (ulonglong)uVar25; local_48 = &DAT_18120779c; uVar9 = (DAT_18120769c + 0x8d13783) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076a0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076a4) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076a8) * 0x401; do { uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar9 = (DAT_1812076ac + (uVar9 ^ uVar9 >> 6)) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076b0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076b4) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076b8) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076bc) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076c0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076c4) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076c8) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076cc) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076d0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076d4) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076d8) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076dc) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076e0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076e4) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076e8) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076ec) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076f0) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076f4) * 0x401; do { FUN_18119c201(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar9 = (DAT_1812076f8 + (uVar9 ^ uVar9 >> 6)) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_1812076fc) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_181207700) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + DAT_181207704) * 0x401; do { uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar9 = (_UNK_181207708 + (uVar9 ^ uVar9 >> 6)) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_18120770c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207710) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207714) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207718) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_18120771c) * 0x401; do { func_0x00018119a3a4(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar9 = (_UNK_181207720 + (uVar9 ^ uVar9 >> 6)) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207724) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207728) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_18120772c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207730) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207734) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207738) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_18120773c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207740) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207744) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207748) * 0x401; do { uVar7 = rdtsc(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = ((uint)uVar7 ^ (uint)((ulonglong)uVar7 >> 0x20)) * -0x166aa42f; if ((uVar10 >> 0x18 ^ uVar10) * -0x460112ab < 0xff18d) { do { pcStack_40 = FUN_1813f2240; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar6 = FUN_1813f2240(0,0x57ef); if (1 < uVar6) { FUN_18113eab0(); } } uVar9 = (_UNK_18120774c + (uVar9 ^ uVar9 >> 6)) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207750) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207754) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207758) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_18120775c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207760) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207764) * 0x401; uVar10 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207768) * 0x401; uVar10 = uVar10 ^ uVar10 >> 6; uVar9 = uVar10; do { if (-1 < (int)uVar9) { lVar22 = param_4 + in_R10; param_4 = param_4 - lVar22; in_R10 = -param_4; param_4 = lVar22 + param_4; } uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = (_UNK_18120776c + uVar10) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207770) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207774) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207778) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_18120777c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207780) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207784) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207788) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_18120778c) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207790) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207794) * 0x401; uVar9 = ((uVar9 >> 6 ^ uVar9) + _UNK_181207798) * 0x401; uVar9 = uVar9 >> 6 ^ uVar9; uVar10 = (uVar9 << 0x19 | uVar9 >> 7) + 0x5f5657a8; uVar9 = uVar10 >> 0x1c; uVar9 = uVar9 << 0x1e | (uVar9 | uVar10 * 0x10) + 0xa985db8 >> 2; uVar6 = (ulonglong)uVar9; uVar9 = uVar9 ^ 0x68d832ce; if (uVar9 != uVar9 >> 4) { uVar7 = thunk_FUN_1805a9280(0x860,uVar6,uVar13); return uVar7; } puVar5 = local_68; do { puVar18 = puVar5; *(undefined8 *)(puVar18 + -8) = unaff_R13; *(ulonglong *)(puVar18 + -0x10) = uVar6; *(ulonglong *)(puVar18 + -0x18) = uVar8; lVar22 = -(longlong)(int)uVar25; uVar8 = *(ulonglong *)(puVar18 + lVar22 + 0xe18); uVar6 = *(ulonglong *)(puVar18 + lVar22 + 0xe20); unaff_R13 = *(undefined8 *)(puVar18 + lVar22 + 0xe28); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } puVar5 = puVar18 + lVar22 + 0xe30; } while (uVar9 != 0); uVar7 = *(undefined8 *)(puVar18 + lVar22 + 0xe70); uVar1 = *(undefined8 *)(puVar18 + lVar22 + 0xe78); uVar2 = *(undefined8 *)(puVar18 + lVar22 + 0xe80); uVar3 = *(undefined8 *)(puVar18 + lVar22 + 0xe88); uVar4 = *(undefined8 *)(puVar18 + lVar22 + 0xe90); *(undefined8 *)(puVar18 + lVar22 + 0xe90) = *(undefined8 *)(puVar18 + lVar22 + 0xea8); *(undefined8 *)(puVar18 + lVar22 + 0xe88) = uVar4; *(undefined8 *)(puVar18 + lVar22 + 0xe80) = uVar3; *(undefined8 *)(puVar18 + lVar22 + 0xe78) = uVar2; *(undefined8 *)(puVar18 + lVar22 + 0xe70) = unaff_R13; *(undefined8 *)(puVar18 + lVar22 + 0xe68) = uVar1; *(undefined8 *)(puVar18 + lVar22 + 0xe60) = uVar7; puVar19 = puVar18 + lVar22 + 0xde0; *(undefined8 *)(puVar18 + lVar22 + 0xe18) = 0xfffffffffffffffe; *(undefined8 *)(puVar18 + lVar22 + 0xea8) = *(undefined8 *)(puVar18 + lVar22 + 0xea0); piVar24 = (int *)(puVar18 + lVar22 + 0xe98); uVar9 = (uint)piVar24; if (((ulonglong)piVar24 & 0x4e) == 0) { uVar25 = uVar9 & 0x12ff; } else { uVar25 = uVar9 & 0x75ff; } uVar10 = (uVar25 * uVar25 + 1) % 7; uVar25 = uVar9 & 0x4f; uVar9 = (uVar25 + 1) * (uVar25 + 1) * uVar25 * uVar25 & 0x80000003 ^ ((uVar9 & 0xaff) * (uVar9 & 0xaff) * 0x10 + 4) % 0x13; uVar9 = ((int)(-uVar9 | uVar9) >> 0x1f) * -0xb065 ^ 0xba95; *(undefined8 *)(puVar18 + lVar22 + 0xdd8) = 0x18119b5aa; FUN_18049c9e0(puVar18 + lVar22 + 0xe10,param_2); puVar17 = *(undefined8 **)(param_1 + 0x38); puVar12 = (undefined8 *)puVar17[1]; lVar20 = *(longlong *)(puVar18 + lVar22 + 0xe10); puVar16 = puVar17; if (*(char *)((longlong)puVar12 + 0x19) == '\0') { *(longlong *)(puVar18 + lVar22 + 0xe20) = lVar20; puVar15 = puVar17; do { puVar16 = puVar12; uVar7 = puVar16[4]; *(undefined8 *)(puVar18 + lVar22 + 0xe28) = uVar7; *(undefined8 *)(puVar18 + lVar22 + 0xdd8) = 0x18119b5e1; iVar14 = FUN_18048cbc0(uVar7,lVar20); if (iVar14 < 0) { puVar12 = (undefined8 *)puVar16[2]; puVar16 = puVar15; } else { puVar12 = (undefined8 *)*puVar16; } puVar15 = puVar16; } while (*(char *)((longlong)puVar12 + 0x19) == '\0'); } *(undefined8 **)(puVar18 + lVar22 + 0xe30) = puVar17; if (puVar16 != puVar17) { *(undefined8 *)(puVar18 + lVar22 + 0xe38) = puVar16[4]; *(longlong *)(puVar18 + lVar22 + 0xe40) = lVar20; *(undefined8 *)(puVar18 + lVar22 + 0xdd8) = 0x18119b619; iVar14 = FUN_18048cbc0(lVar20); if (-1 < iVar14) { *(undefined8 **)(puVar18 + lVar22 + 0xe48) = puVar16; puVar17 = puVar16; goto LAB_18119b62d; } } *(undefined8 **)(puVar18 + lVar22 + 0xe50) = puVar17; LAB_18119b62d: _Memory = (uint *)(lVar20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar25 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar25 == 0) { /* WARNING: Subroutine does not return */ *(undefined8 *)(puVar18 + lVar22 + 0xdd8) = 0x18119b64f; free(_Memory); } } *(undefined8 *)(puVar18 + lVar22 + 0xeb0) = 0x2621fc0; lVar20 = *(longlong *)(puVar18 + lVar22 + 0xeb0); *(undefined8 *)(puVar18 + lVar22 + 0xeb0) = 0x4006808; *(undefined8 *)(puVar18 + lVar22 + 0xeb8) = 0x97861656; *(uint *)(puVar18 + lVar22 + 0xeb0) = ~(~*(uint *)(puVar18 + lVar22 + 0xeb0) + 0x9734f806) << 0x17 | ~(~*(uint *)(puVar18 + lVar22 + 0xeb0) + 0x9734f806) >> 9; *(uint *)(puVar18 + lVar22 + 0xeb8) = ~(~*(uint *)(puVar18 + lVar22 + 0xeb8) ^ 0x97861e56) >> 3 | ~(~*(uint *)(puVar18 + lVar22 + 0xeb8) ^ 0x97861e56) << 0x1d; *(undefined **)(puVar18 + lVar22 + 0xe00) = &DAT_182621fc0 + (*(longlong *)(puVar18 + lVar22 + 0xeb0) - lVar20); *(longlong *)(puVar18 + lVar22 + 0xeb0) = *(longlong *)(puVar18 + lVar22 + 0xe00) + *(longlong *)(puVar18 + lVar22 + 0xeb8); lVar21 = *(longlong *)(puVar18 + lVar22 + 0xeb0) - *(longlong *)(puVar18 + lVar22 + 0xeb0); lVar20 = *(longlong *)(puVar18 + lVar22 + 0xe00); uVar25 = (*(int *)(lVar20 + lVar21) + 0x62b5eb3e) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 4 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 8 + lVar21)) * 0x401; do { uVar11 = (*piVar24 + 1) * *piVar24 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar25 = (*(int *)(lVar20 + 0xc + lVar21) + (uVar25 ^ uVar25 >> 6)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x10 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x14 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x18 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x1c + lVar21)) * 0x401; do { uVar11 = (*piVar24 + 1) * *piVar24 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar25 = (*(int *)(lVar20 + 0x20 + lVar21) + (uVar25 ^ uVar25 >> 6)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x24 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x28 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x2c + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x30 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x34 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x38 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x3c + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x40 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x44 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x48 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x4c + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x50 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x54 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x58 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x5c + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x60 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 100 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x68 + lVar21)) * 0x401; do { uVar7 = rdtsc(); *(uint *)(puVar18 + lVar22 + 0xea0) = (uint)uVar7 ^ (uint)((ulonglong)uVar7 >> 0x20); uVar11 = (*piVar24 + 1) * *piVar24 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar11 = ((uint)(*(int *)(puVar18 + lVar22 + 0xea0) * -0x35947a15) >> 0x18 ^ *(int *)(puVar18 + lVar22 + 0xea0) * -0x35947a15) * -0x51ca13ad; *(uint *)(puVar18 + lVar22 + 0xea0) = uVar11; if (uVar11 < 0xb6be0) { *(undefined8 *)(puVar18 + lVar22 + 0xe08) = 0; do { puVar12 = (undefined8 *)(puVar18 + lVar22 + 0xe08); *(undefined8 *)(puVar18 + lVar22 + 0xdd8) = 0x18119ba4f; FUN_181199c84(puVar12,puVar18 + lVar22 + 0xe08); *puVar12 = FUN_1813f2240; uVar11 = (*piVar24 + 1) * *piVar24 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); *(undefined8 *)(puVar18 + lVar22 + 0xdd8) = 0x18119ba95; uVar8 = (**(code **)(puVar18 + lVar22 + 0xe08))(0,0x8429); if (1 < uVar8) { *(undefined8 *)(puVar18 + lVar22 + 0xdd8) = 0x18119baa1; FUN_18113eab0(); } } uVar25 = (*(int *)(lVar20 + 0x6c + lVar21) + (uVar25 ^ uVar25 >> 6)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x70 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x74 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x78 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x7c + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x80 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x84 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x88 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x8c + lVar21)) * 0x401; uVar8 = (ulonglong)uVar25; *(undefined8 *)(puVar18 + lVar22 + 0xeb0) = 0x56e6166bb6d83cb1; *(int *)(puVar18 + lVar22 + 0xea0) = (int)*(undefined8 *)(puVar18 + lVar22 + 0xeb0); uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x90 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x94 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x98 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0x9c + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xa0 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xa4 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xa8 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xac + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xb0 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xb4 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xb8 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xbc + lVar21)) * 0x401; uVar11 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xc0 + lVar21)) * 0x401; uVar11 = uVar11 ^ uVar11 >> 6; bVar26 = uVar11 == 0; uVar25 = uVar11; do { cVar28 = '\0'; cVar27 = (int)uVar25 < 0; uVar13 = 0; *(undefined8 *)(puVar18 + lVar22 + 0xdd8) = 0x18119bc7c; FUN_18119ae31(); if (bVar26 || cVar28 != cVar27) { lVar23 = in_R11 + in_R10; code_r0x00018119bc8e: in_R11 = -(in_R10 - lVar23); in_R10 = lVar23 + (in_R10 - lVar23); } else if ((uVar13 & 0xc1) != 0) { puVar17 = (undefined8 *)(ulonglong)(uint)((int)puVar17 + (int)uVar8); lVar23 = in_R11; goto code_r0x00018119bc8e; } uVar25 = (*piVar24 + 1) * *piVar24 & 0x80000001; if ((int)uVar25 < 0) { uVar25 = (uVar25 - 1 | 0xfffffffe) + 1; } bVar26 = false; if (uVar25 == 0) { uVar25 = (*(int *)(lVar20 + 0xc4 + lVar21) + uVar11) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 200 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xcc + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xd0 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xd4 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xd8 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xdc + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xe0 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xe4 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xe8 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xec + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xf0 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xf4 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xf8 + lVar21)) * 0x401; uVar25 = ((uVar25 >> 6 ^ uVar25) + *(int *)(lVar20 + 0xfc + lVar21)) * 0x401; uVar25 = uVar25 >> 6 ^ uVar25 ^ 0x1527c836; uVar25 = (uint)(~((uVar25 >> 1 | (uint)((uVar25 & 1) != 0) << 0x1f) + 0xb07ba98e) == *(uint *)(puVar18 + lVar22 + 0xea0)); uVar13 = (ulonglong)uVar25; if (uVar25 * 0x1d != 0) { do { *(longlong *)(puVar19 + -8) = lVar20; *(longlong *)(puVar19 + -0x10) = in_R10; *(ulonglong *)(puVar19 + -0x18) = uVar13; piVar24 = (int *)((-((longlong)piVar24 - 0x10a0e70dU) ^ 0xffffffffffffffff) + 0x10a0e70e); lVar22 = -(longlong)(int)uVar9; uVar13 = *(ulonglong *)(puVar19 + lVar22 + 0xad8); in_R10 = *(longlong *)(puVar19 + lVar22 + 0xae0); lVar20 = *(longlong *)(puVar19 + lVar22 + 0xae8); puVar19 = puVar19 + lVar22 + 0xaf0; uVar25 = (*piVar24 + 1) * *piVar24 & 0x80000001; if ((int)uVar25 < 0) { uVar25 = (uVar25 - 1 | 0xfffffffe) + 1; } } while (uVar25 != 0); return puVar17[5]; } *(longlong *)(puVar18 + lVar22 + 0xdd8) = lVar20; *(ulonglong *)(puVar18 + lVar22 + 0xdd0) = (ulonglong)uVar11; *(ulonglong *)(puVar18 + lVar22 + 0xdc8) = (ulonglong)uVar9; uVar7 = thunk_FUN_1805a9280((int)(-uVar10 | uVar10) >> 0x1f & 0x3b16U ^ 0x3866, (-uVar8 ^ 0xffffffffffffffff) + 1, (longlong)piVar24 + param_2 + (param_2 - ((longlong)piVar24 + param_2))); return uVar7; } } while( true ); } ############ FUN_ 180537d50 size=150 ############ void .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ (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(); if (cVar2 != '\0') { 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; } ############ FUN_ 1804f6a20 size=814 ############ ulonglong FUN_1804f6a20(longlong *param_1,int param_2) { int *piVar1; double dVar2; bool bVar3; undefined8 *puVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; longlong lVar8; int iVar9; double dVar10; double dVar11; double dVar12; undefined8 *local_res8 [2]; double local_res18; double local_res20; lVar7 = param_1[1]; lVar8 = 0; lVar5 = lVar8; if (lVar7 != 0) { lVar5 = *(longlong *)(lVar7 + 0x10); } if (lVar5 == 0) { lVar7 = *param_1; } if (lVar7 != 0) { lVar8 = *(longlong *)(lVar7 + 0x10); } if (lVar8 == 0) goto LAB_1804f6d26; *(int *)(param_1 + 5) = (int)param_1[5] + param_2; dVar10 = DAT_1824c4140; dVar12 = (double)(int)param_1[5] / (double)*(int *)((longlong)param_1 + 0x2c); if ((dVar12 < 0.0) || (DAT_1824c4140 <= dVar12)) goto LAB_1804f6d26; FUN_18051a960(local_res8,param_1); puVar4 = local_res8[0]; if (DAT_1824c4050 <= dVar12) { dVar2 = (double)param_1[7]; dVar12 = (((double)param_1[8] - dVar2) * (dVar12 - DAT_1824c4050) + dVar2) * (dVar12 - DAT_1824c4050) + ((dVar2 - (double)param_1[6]) * DAT_1824c4050 + (double)param_1[6]) * DAT_1824c4050; } else { dVar12 = dVar12 * (((double)param_1[7] - (double)param_1[6]) * dVar12 + (double)param_1[6]); } dVar2 = (dVar12 - (double)param_1[9]) / (dVar10 - (double)param_1[9]); param_1[9] = (longlong)dVar12; if (dVar10 <= dVar2) { LAB_1804f6d00: if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_res8[0])(local_res8[0],1); } } LAB_1804f6d26: uVar6 = FUN_1804f6d50(param_1); return uVar6 & 0xffffffffffffff00; } bVar3 = false; if ((char)param_1[0xf] != '\0') { local_res18 = ((double)(int)param_1[2] - (double)param_1[10]) * dVar2 + (double)param_1[10]; param_1[10] = (longlong)local_res18; dVar11 = ((double)*(int *)((longlong)param_1 + 0x14) - (double)param_1[0xb]) * dVar2 + (double)param_1[0xb]; param_1[0xb] = (longlong)dVar11; dVar12 = ((double)((int)param_1[3] + (int)param_1[2]) - (double)param_1[0xc]) * dVar2 + (double)param_1[0xc]; param_1[0xc] = (longlong)dVar12; dVar10 = ((double)(*(int *)((longlong)param_1 + 0x1c) + *(int *)((longlong)param_1 + 0x14)) - (double)param_1[0xd]) * dVar2 + (double)param_1[0xd]; param_1[0xd] = (longlong)dVar10; dVar12 = (dVar12 - local_res18) + DAT_1824c4520; local_res20 = dVar11 + DAT_1824c4520; local_res18 = local_res18 + DAT_1824c4520; iVar9 = SUB84((dVar10 - dVar11) + DAT_1824c4520,0); if ((((SUB84(local_res18,0) != (int)param_1[2]) || (SUB84(local_res20,0) != (int)((ulonglong)param_1[2] >> 0x20))) || (SUB84(dVar12,0) != (int)param_1[3])) || (iVar9 != *(int *)((longlong)param_1 + 0x1c))) { FUN_18134bfe0(lVar8,(ulonglong)local_res18 & 0xffffffff,(ulonglong)local_res20 & 0xffffffff, (ulonglong)dVar12 & 0xffffffff,iVar9); bVar3 = true; } } if ((puVar4 != (undefined8 *)0x0) && (puVar4[2] == 0)) { uVar6 = 0; goto LAB_1804f6cd1; } if (*(char *)((longlong)param_1 + 0x79) == '\0') { if (!bVar3) goto LAB_1804f6d00; } else { param_1[0xe] = (longlong) (((double)param_1[4] - (double)param_1[0xe]) * dVar2 + (double)param_1[0xe]); FUN_181342bf0(lVar8); } uVar6 = 1; LAB_1804f6cd1: if (puVar4 == (undefined8 *)0x0) { return uVar6; } LOCK(); piVar1 = (int *)(puVar4 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 != 1) { return uVar6; } (**(code **)*local_res8[0])(local_res8[0],1); return uVar6; } ############ FUN_ 1804f6d50 size=322 ############ void FUN_1804f6d50(longlong *param_1) { int *piVar1; int iVar2; undefined8 *puVar3; longlong *plVar4; longlong *plVar5; undefined8 *local_res8; plVar5 = (longlong *)0x0; plVar4 = plVar5; if (*param_1 != 0) { plVar4 = *(longlong **)(*param_1 + 0x10); } if (plVar4 != (longlong *)0x0) { FUN_18051a960(&local_res8,param_1); plVar4 = plVar5; if (*param_1 != 0) { plVar4 = *(longlong **)(*param_1 + 0x10); } FUN_181342bf0(plVar4,(float)(double)param_1[4]); plVar4 = plVar5; if (*param_1 != 0) { plVar4 = *(longlong **)(*param_1 + 0x10); } FUN_18134bfe0(plVar4,param_1[2],(ulonglong)param_1[2] >> 0x20,param_1[3], *(undefined4 *)((longlong)param_1 + 0x1c)); puVar3 = local_res8; if ((local_res8 == (undefined8 *)0x0) || (local_res8[2] != 0)) { plVar4 = plVar5; if (param_1[1] != 0) { plVar4 = *(longlong **)(param_1[1] + 0x10); } if (plVar4 != (longlong *)0x0) { if (*param_1 != 0) { plVar5 = *(longlong **)(*param_1 + 0x10); } (**(code **)(*plVar5 + 0x58))(plVar5,0.0 < (double)param_1[4]); } } 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; } ############ FUN_ 18057d310 size=85 ############ void FUN_18057d310(longlong param_1,undefined8 param_2,undefined4 *param_3) { longlong lVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181342bf0(*(undefined8 *)(*(longlong *)(param_1 + 8) + 0x100),*param_3); lVar1 = *(longlong *)(param_1 + 8); uStack_10 = *(undefined4 *)(lVar1 + 0x28); uStack_c = *(undefined4 *)(lVar1 + 0x2c); local_18 = 0; FUN_181342870(lVar1,&local_18,1); return; } ############ FUN_ 180587d60 size=52 ############ void FUN_180587d60(longlong param_1) { FUN_181342bf0(*(undefined8 *)(param_1 + 8),0); FUN_181411b10(*(longlong *)(param_1 + 8) + 0x3f8,"alpha",0); return; } ############ FUN_ 1813350d0 size=594 ############ void FUN_1813350d0(longlong *param_1) { int iVar1; longlong *plVar2; char cVar3; longlong lVar4; undefined8 uVar5; longlong *plVar6; undefined4 uVar7; undefined4 uVar8; undefined8 local_28; undefined4 uStack_20; undefined4 uStack_1c; uStack_20 = (undefined4)param_1[5]; uStack_1c = *(undefined4 *)((longlong)param_1 + 0x2c); local_28 = 0; FUN_181342870(0,&local_28,1); uVar8 = DAT_1824c3ea4; if (((*(byte *)((longlong)param_1 + 0xa9) & 0x10) == 0) && ((param_1[3] == 0 || (cVar3 = FUN_18133eaa0(), cVar3 != '\0')))) { uVar7 = uVar8; if ((int)param_1[0x34] != 2) { if ((int)param_1[0x34] != 0) { lVar4 = FUN_181334c90(); goto LAB_1813351e5; } goto LAB_1813351c9; } cVar3 = FUN_1804d6ee0(param_1); if (cVar3 == '\0') { lVar4 = param_1[0x3c]; } else { lVar4 = param_1[0x40]; } if ((lVar4 != 0) || ((cVar3 = FUN_1804d6ee0(param_1), cVar3 != '\0' && ((lVar4 = param_1[0x3f], lVar4 != 0 || (lVar4 = param_1[0x3e], lVar4 != 0)))))) goto LAB_1813351e5; lVar4 = param_1[0x3b]; LAB_1813351d9: uVar8 = uVar7; if (lVar4 != 0) goto LAB_1813351e5; } else { cVar3 = FUN_1804d6ee0(param_1); if (cVar3 == '\0') { lVar4 = param_1[0x3d]; } else { lVar4 = param_1[0x41]; } uVar7 = DAT_1824c3d74; if (lVar4 != 0) goto LAB_1813351e5; LAB_1813351c9: cVar3 = FUN_1804d6ee0(param_1); if (cVar3 != '\0') { lVar4 = param_1[0x3e]; goto LAB_1813351d9; } } lVar4 = param_1[0x3a]; uVar8 = uVar7; LAB_1813351e5: if (lVar4 != param_1[0x42]) { plVar2 = (longlong *)param_1[8]; for (plVar6 = plVar2; plVar6 != plVar2 + *(int *)((longlong)param_1 + 0x4c); plVar6 = plVar6 + 1 ) { if (param_1[0x42] == *plVar6) { uVar7 = (undefined4)((longlong)plVar6 - (longlong)plVar2 >> 3); goto LAB_181335227; } } uVar7 = 0xffffffff; LAB_181335227: FUN_181343a90(param_1,uVar7,1); param_1[0x42] = lVar4; if (lVar4 != 0) { *(byte *)(lVar4 + 0xa8) = *(byte *)(lVar4 + 0xa8) & 0xef | 8; plVar2 = (longlong *)param_1[0x42]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff); } if ((undefined **)*param_1 == juce::DrawableButton::vftable) { if ((param_1[0x42] != 0) && (iVar1 = (int)param_1[0x39], iVar1 != 1)) { if (iVar1 == 5) { uVar7 = 0x40; } else { uVar7 = 0x24; if (iVar1 == 4) { uVar7 = 0x324; } } uVar5 = (*(code *)juce::DrawableButton::vftable[0x31])(param_1,&local_28); FUN_181332820(param_1[0x42],uVar5,uVar7); } } else { (*(code *)((undefined **)*param_1)[0x21])(param_1); } } } if (param_1[0x42] != 0) { FUN_181342bf0(param_1[0x42],uVar8); } return; } ############ FUN_ 18144b3a0 size=242 ############ void FUN_18144b3a0(longlong param_1,longlong param_2,double param_3) { undefined4 uVar1; longlong lVar2; double dVar3; if (param_2 == *(longlong *)(param_1 + 0x620)) { uVar1 = *(undefined4 *)(param_1 + -0x284); lVar2 = (**(code **)(*(longlong *)(param_1 + -0x30) + 8))(param_1 + -0x30); FUN_18134bfe0(param_1 + 0x13f8,*(int *)(param_1 + 0xf0) + *(int *)(param_1 + 0xe8),0, (int)(*(float *)(lVar2 + 0x88) * DAT_1824c43d8),uVar1); FUN_181344f60(param_1 + 0x13f8,0); lVar2 = (**(code **)(*(longlong *)(param_1 + -0x30) + 8))(param_1 + -0x30); param_3 = param_3 / (double)(*(float *)(lVar2 + 0x88) * DAT_1824c4418); dVar3 = DAT_1824c4140; if (param_3 <= DAT_1824c4140) { dVar3 = param_3; } FUN_181342bf0(param_1 + 0x13f8,(float)dVar3); } return; } ############ FUN_ 1814cfe10 size=79 ############ void FUN_1814cfe10(longlong *param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181342bf0(); (**(code **)(*param_1 + 0x58))(param_1,1); uStack_10 = (undefined4)param_1[5]; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 1815df410 size=287 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1815df410(longlong param_1) { undefined4 extraout_XMM0_Db; undefined4 extraout_XMM0_Dc; undefined4 extraout_XMM0_Dd; float fVar1; undefined1 auVar2 [16]; undefined1 auVar3 [16]; if (*(int *)(param_1 + 0x60) == 0) { fVar1 = (float)(int)(0xff - (uint)*(byte *)(param_1 + -0x114)) / DAT_1824c4548; if (DAT_1824c3d54 <= fVar1) { FUN_181342bf0(param_1 + -0x1c0); *(undefined4 *)(param_1 + 0x60) = 2; return; } FUN_181342bf0(param_1 + -0x1c0,fVar1 + DAT_1824c3c8c); return; } if (*(int *)(param_1 + 0x60) != 1) { fVar1 = *(float *)(param_1 + 100) + _DAT_1824c3ca4; *(float *)(param_1 + 100) = fVar1; fVar1 = sinf(fVar1); auVar2._4_4_ = extraout_XMM0_Db; auVar2._0_4_ = fVar1; auVar2._8_4_ = extraout_XMM0_Dc; auVar2._12_4_ = extraout_XMM0_Dd; auVar3._4_12_ = auVar2._4_12_; auVar3._0_4_ = (fVar1 + DAT_1824c3ea4) * (DAT_1824c3ea4 - *(float *)(param_1 + 0x68)) * DAT_1824c3d8c + *(float *)(param_1 + 0x68); FUN_181342bf0(param_1 + -0x1c0,auVar3._0_8_); return; } fVar1 = (float)(int)(0xff - (uint)*(byte *)(param_1 + -0x114)) / DAT_1824c4548; if (fVar1 <= DAT_1824c3c70) { *(undefined4 *)(param_1 + 0x60) = 3; FUN_1812a7720(param_1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1 + -0x1c0,0); return; } FUN_181342bf0(param_1 + -0x1c0,fVar1 - DAT_1824c3c8c); return; } ############ FUN_ 181333460 size=246 ############ void FUN_181333460(longlong param_1) { undefined1 auVar1 [16]; longlong lVar2; char cVar3; float local_18; float local_14; float local_10; float local_c; lVar2 = *(longlong *)(param_1 + 0x210); if (lVar2 == 0) { return; } *(byte *)(lVar2 + 0xa8) = *(byte *)(lVar2 + 0xa8) & 0xef | 8; auVar1 = *(undefined1 (*) [16])(param_1 + 0x1ec); local_18 = (float)auVar1._0_4_; local_14 = (float)auVar1._4_4_; local_10 = (float)auVar1._8_4_; local_c = (float)auVar1._12_4_; FUN_181332820(*(undefined8 *)(param_1 + 0x210),&local_18,0x24); if ((*(byte *)(param_1 + 0xa9) & 0x10) == 0) { if (*(longlong *)(param_1 + 0x18) != 0) { cVar3 = FUN_18133eaa0(); if (cVar3 == '\0') goto LAB_181333537; } FUN_181342bf0(*(undefined8 *)(param_1 + 0x210)); return; } LAB_181333537: FUN_181342bf0(*(undefined8 *)(param_1 + 0x210)); return; } ############ FUN_ 18057cad0 size=14 ############ void FUN_18057cad0(longlong param_1,undefined8 param_2,undefined4 *param_3) { FUN_181342bf0(*(undefined8 *)(param_1 + 8),*param_3); return; } ############ FUN_ 181342a30 size=215 ############ void FUN_181342a30(longlong param_1,int *param_2) { int iVar1; int iVar2; int iVar3; int iVar4; int iVar5; undefined8 local_18; undefined8 uStack_10; iVar2 = *param_2; iVar1 = param_2[1]; iVar3 = iVar2; if (iVar2 < 0) { iVar3 = 0; } iVar5 = iVar1; if (iVar1 < 0) { iVar5 = 0; } iVar4 = iVar2 + param_2[2]; if (*(int *)(param_1 + 0x28) < iVar2 + param_2[2]) { iVar4 = *(int *)(param_1 + 0x28); } if (-1 < iVar4 - iVar3) { iVar2 = param_2[3] + iVar1; if (*(int *)(param_1 + 0x2c) < param_2[3] + iVar1) { iVar2 = *(int *)(param_1 + 0x2c); } if (-1 < iVar2 - iVar5) { local_18 = CONCAT44(iVar5,iVar3); uStack_10 = CONCAT44(iVar2 - iVar5,iVar4 - iVar3); goto LAB_181342acf; } } local_18 = 0; uStack_10 = 0; LAB_181342acf: *(undefined8 *)param_2 = local_18; *(undefined8 *)(param_2 + 2) = uStack_10; if ((0 < param_2[2]) && (0 < param_2[3])) { FUN_181342870(param_1,&local_18,0); } return; } ############ FUN_ 1804b1290 size=554 ############ undefined8 * FUN_1804b1290(int *param_1,undefined8 *param_2,float *param_3) { float fVar1; undefined8 uVar2; undefined8 *puVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; float fVar12; float fVar13; float fVar14; float local_c8; float local_c4; float local_c0; float local_bc; undefined1 local_b8 [176]; local_bc = param_3[5]; fVar6 = param_3[4]; fVar11 = param_3[2]; fVar10 = param_3[1]; fVar1 = param_3[3]; fVar14 = *param_3; fVar4 = (float)param_1[1]; fVar9 = (float)(param_1[2] + *param_1); fVar7 = (float)*param_1; fVar5 = (float)(param_1[3] + param_1[1]); fVar8 = fVar10 * fVar5; fVar12 = fVar10 * fVar4 + fVar14 * fVar9 + fVar11; local_c0 = fVar14 * fVar9 + fVar8 + fVar11; fVar13 = fVar14 * fVar7 + fVar10 * fVar4 + fVar11; fVar5 = fVar6 * fVar5; fVar11 = fVar14 * fVar7 + fVar8 + fVar11; fVar14 = fVar1 * fVar7 + fVar6 * fVar4 + local_bc; fVar10 = fVar1 * fVar9 + fVar6 * fVar4 + local_bc; fVar6 = fVar1 * fVar7 + fVar5 + local_bc; local_bc = fVar1 * fVar9 + fVar5 + local_bc; local_c8 = local_c0; if (fVar12 <= fVar11) { if (fVar12 <= local_c0) { local_c8 = fVar12; } } else if (fVar11 <= local_c0) { local_c8 = fVar11; } if (fVar13 <= local_c8) { local_c8 = fVar13; } if (fVar11 <= fVar12) { if (local_c0 <= fVar12) { local_c0 = fVar12; } } else if (local_c0 <= fVar11) { local_c0 = fVar11; } if (local_c0 <= fVar13) { local_c0 = fVar13; } local_c4 = local_bc; if (fVar10 <= fVar6) { if (fVar10 <= local_bc) { local_c4 = fVar10; } } else if (fVar6 <= local_bc) { local_c4 = fVar6; } if (fVar14 <= local_c4) { local_c4 = fVar14; } if (fVar6 <= fVar10) { if (local_bc <= fVar10) { local_bc = fVar10; } } else if (local_bc <= fVar6) { local_bc = fVar6; } *param_2 = 0; local_c0 = local_c0 - local_c8; param_2[1] = 0; if (local_bc <= fVar14) { local_bc = fVar14; } local_bc = local_bc - local_c4; puVar3 = (undefined8 *)FUN_1804ab070(&local_c8,local_b8); uVar2 = puVar3[1]; *param_2 = *puVar3; param_2[1] = uVar2; return param_2; } ############ FUN_ 1804ab070 size=234 ############ int * FUN_1804ab070(float *param_1,int *param_2) { int iVar1; int iVar2; int iVar3; int iVar4; float fVar5; float fVar6; float fVar7; fVar6 = DAT_1824c461c; iVar1 = 0x7fffffff; fVar7 = param_1[1]; if (DAT_1824c461c <= fVar7 + param_1[3]) { iVar2 = 0x7fffffff; } else { fVar5 = ceilf(fVar7 + param_1[3]); iVar2 = (int)fVar5; } fVar5 = *param_1; if (fVar5 + param_1[2] < fVar6) { fVar6 = ceilf(fVar5 + param_1[2]); iVar1 = (int)fVar6; } fVar6 = DAT_1824c4760; iVar3 = -0x80000000; if (fVar7 <= DAT_1824c4760) { iVar4 = -0x80000000; } else { fVar7 = floorf(fVar7); iVar4 = (int)fVar7; } if (fVar6 < fVar5) { fVar7 = floorf(fVar5); iVar3 = (int)fVar7; } *param_2 = iVar3; param_2[1] = iVar4; param_2[3] = iVar2 - iVar4; param_2[2] = iVar1 - iVar3; return param_2; } ############ FUN_ 1813495d0 size=323 ############ void FUN_1813495d0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; uint *puVar3; undefined8 uVar4; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; uVar4 = 0xfffffffffffffffe; *param_1 = juce::ComboBox::vftable; param_1[0x16] = juce::ComboBox::vftable; param_1[0x18] = juce::ComboBox::vftable; param_1[0x19] = juce::ComboBox::vftable; FUN_1813514c0(param_1 + 0x27); if (*(char *)((longlong)param_1 + 0x155) != '\0') { *(undefined1 *)((longlong)param_1 + 0x155) = 0; FUN_18134b590(); uStack_10 = *(undefined4 *)(param_1 + 5); uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); local_18 = 0; uStack_14 = 0; FUN_181342870(param_1,&local_18,1,param_4,uVar4); } puVar2 = (undefined8 *)param_1[0x2e]; param_1[0x2e] = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar3 = (uint *)(param_1[0x30] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(param_1[0x2f] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar2 = (undefined8 *)param_1[0x2e]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } *(undefined4 *)((longlong)param_1 + 0x16c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x2c]); } ############ FUN_ 181341b10 size=294 ############ void FUN_181341b10(longlong *param_1,undefined8 param_2,undefined1 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; bool bVar5; undefined8 *local_res8; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_10 = (undefined4)param_1[5]; local_18 = 0; uStack_14 = 0; FUN_181342870(param_1,&local_18,1); (**(code **)(*param_1 + 0xa0))(param_1); puVar3 = local_res8; bVar5 = local_res8 == (undefined8 *)0x0; if (bVar5) { lVar4 = 0; } else { lVar4 = local_res8[2]; } if (lVar4 != 0) { (**(code **)(*param_1 + 0x148))(param_1); if (bVar5) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if (lVar4 != 0) { iVar2 = *(int *)((longlong)param_1 + 0x4c); while (iVar2 = iVar2 + -1, -1 < iVar2) { FUN_181341b10(*(undefined8 *)(param_1[8] + (longlong)iVar2 * 8)); if (bVar5) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if (lVar4 == 0) break; if (*(int *)((longlong)param_1 + 0x4c) < iVar2) { iVar2 = *(int *)((longlong)param_1 + 0x4c); } } } } 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; } ############ FUN_ 180597f80 size=231 ############ void FUN_180597f80(longlong param_1) { undefined8 *puVar1; longlong lVar2; longlong lVar3; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; lVar2 = 0; lVar3 = lVar2; if (*(longlong *)(param_1 + 8) != 0) { lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x10); } FUN_1812a7720(param_1 + 0x40); if (*(longlong *)(param_1 + 8) != 0) { lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x10); } lVar2 = __RTDynamicCast(*(undefined8 *)(lVar2 + 0x68),0, &juce::CachedComponentImage::RTTI_Type_Descriptor, &juce::OpenGLContext::CachedImage::RTTI_Type_Descriptor,0); if (lVar2 != 0) { FUN_1805968f0(lVar2); } if (*(longlong *)(lVar3 + 0x68) != 0) { puVar1 = *(undefined8 **)(lVar3 + 0x68); *(undefined8 *)(lVar3 + 0x68) = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } uStack_10 = *(undefined4 *)(lVar3 + 0x28); uStack_c = *(undefined4 *)(lVar3 + 0x2c); local_18 = 0; FUN_181342870(lVar3,&local_18,1); } *(undefined8 *)(*(longlong *)(param_1 + 0x58) + 0x188) = 0; return; } ############ FUN_ 18134bd50 size=132 ############ void FUN_18134bd50(longlong *param_1,byte param_2) { longlong lVar1; byte bVar2; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; bVar2 = *(byte *)(param_1 + 0x15); if (param_2 != (bVar2 >> 2 & 1)) { bVar2 = (param_2 << 2 ^ bVar2) & 4 ^ bVar2; *(byte *)(param_1 + 0x15) = bVar2; if ((bVar2 & 1) != 0) { lVar1 = FUN_1812d2bd0(param_1); if (lVar1 != 0) { (**(code **)(*param_1 + 0x68))(param_1,*(undefined4 *)(lVar1 + 0x10),0); } } uStack_10 = (undefined4)param_1[5]; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); } return; } ############ FUN_ 1804780b0 size=324 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 FUN_1804780b0(longlong param_1,float param_2) { longlong lVar1; double dVar2; int *piVar3; longlong *plVar4; float fVar5; float fVar6; undefined8 local_28; undefined4 uStack_20; undefined4 uStack_1c; piVar3 = (int *)FUN_180473b00(); if (((*piVar3 == 0x29) || (*piVar3 == 0x15)) && (lVar1 = *(longlong *)(param_1 + 0x30), lVar1 != 0)) { if ((*(byte *)(lVar1 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar1 + 0x18) == 0) goto LAB_180478114; plVar4 = (longlong *)FUN_18134c2e0(); } else { plVar4 = (longlong *)FUN_1812d2bd0(lVar1); } if (plVar4 != (longlong *)0x0) { dVar2 = (double)(**(code **)(*plVar4 + 0x110))(plVar4); param_2 = (float)dVar2; } } LAB_180478114: fVar6 = *(float *)(param_1 + 0x38); fVar5 = fVar6; if (fVar6 <= param_2) { fVar5 = param_2; } fVar6 = (float)(double)CONCAT44((uint)((ulonglong)(double)(param_2 - fVar6) >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)(param_2 - fVar6),0) & (uint)DAT_1824c4f10); if ((fVar5 * _DAT_1824c3c34 < fVar6) && (DAT_1824c3c20 <= fVar6)) { *(float *)(param_1 + 0x38) = param_2; if (*(longlong *)(param_1 + 0x20) != 0) { *(float *)(*(longlong *)(param_1 + 0x20) + 0x6220) = param_2; } if (*(longlong *)(param_1 + 0x30) == 0) { return 1; } FUN_1804789b0(); lVar1 = *(longlong *)(param_1 + 0x30); FUN_18134bfe0(lVar1,0,0,*(undefined4 *)(lVar1 + 0x28),*(undefined4 *)(lVar1 + 0x2c)); lVar1 = *(longlong *)(param_1 + 0x30); uStack_20 = *(undefined4 *)(lVar1 + 0x28); uStack_1c = *(undefined4 *)(lVar1 + 0x2c); local_28 = 0; FUN_181342870(lVar1,&local_28,1); } return 0; } ############ FUN_ 181325e40 size=101 ############ void FUN_181325e40(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181348f10(param_1 + 0xe8); uStack_10 = *(undefined4 *)(param_1 + 0x110); uStack_c = *(undefined4 *)(param_1 + 0x114); local_18 = 0; FUN_181342870(param_1 + 0xe8,&local_18,1); FUN_181325eb0(param_1); return; } ############ FUN_ 1813456c0 size=2453 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813456c0(undefined8 *param_1) { undefined8 *puVar1; undefined8 *puVar2; undefined8 *puVar3; longlong lVar4; char cVar5; int iVar6; longlong *plVar7; uint uVar8; uint *puVar9; bool bVar10; undefined1 auStack_7e8 [32]; undefined8 local_7c8; undefined8 local_7c0; undefined8 local_7b8; undefined8 local_7b0; longlong local_798; undefined4 local_790; undefined4 local_78c; undefined4 local_788 [2]; longlong local_780; longlong local_778; longlong local_770; undefined8 *local_768; undefined8 local_748; undefined4 uStack_740; undefined4 uStack_73c; undefined1 *local_738; undefined1 *local_730; undefined1 *local_728; void *local_720; undefined8 local_718; undefined8 local_710; undefined8 uStack_708; undefined1 local_700; undefined4 local_6d0 [2]; undefined8 local_6c8; undefined8 uStack_6c0; undefined4 local_6b8; undefined4 uStack_6b4; undefined4 uStack_6b0; undefined4 uStack_6ac; undefined8 local_6a8; undefined4 local_668; undefined4 uStack_664; undefined4 uStack_660; undefined4 uStack_65c; undefined8 local_638; undefined8 *local_630; uint *local_628; undefined4 local_618; undefined4 uStack_614; undefined4 uStack_610; undefined4 uStack_60c; undefined **local_608 [5]; undefined4 local_5e0; undefined4 local_5dc; undefined1 local_528 [16]; undefined4 local_518; undefined4 uStack_514; undefined4 uStack_510; undefined4 uStack_50c; undefined1 local_508; undefined1 local_4d8 [496]; undefined **local_2e8; undefined8 *local_2e0; undefined ***local_2b0; undefined **local_2a8; undefined8 *local_2a0; undefined ***local_270; undefined **local_268; undefined8 *local_260; undefined ***local_230; undefined **local_228; undefined8 *local_220; undefined ***local_1f0; longlong local_1a8 [7]; longlong *local_170; longlong local_168 [7]; longlong *local_130; longlong local_128 [7]; longlong *local_f0; longlong local_e8 [7]; longlong *local_b0; ulonglong local_68; local_638 = 0xfffffffffffffffe; local_68 = DAT_182615970 ^ (ulonglong)auStack_7e8; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; param_1[0x16] = juce::SettableTooltipClient::vftable; param_1[0x17] = &DAT_1821dbf98; param_1[0x18] = juce::FileDragAndDropTarget::vftable; *param_1 = juce::FileSearchPathListComponent::vftable; param_1[0x16] = juce::FileSearchPathListComponent::vftable; param_1[0x18] = juce::FileSearchPathListComponent::vftable; param_1[0x19] = juce::FileSearchPathListComponent::vftable; param_1[0x1a] = 0; param_1[0x1b] = 0; param_1[0x1c] = &DAT_1821dbf98; local_738 = &DAT_1821dbf98; local_630 = param_1; FUN_1812e8530(param_1 + 0x1d,&local_738); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar8 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar8; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } FUN_18049c4e0(&local_778,&DAT_1821e2c8c); puVar1 = param_1 + 0x3e; local_768 = puVar1; FUN_1813379d0(puVar1,&local_778); *puVar1 = juce::TextButton::vftable; param_1[0x54] = juce::TextButton::vftable; puVar9 = (uint *)(local_778 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_18049c4e0(&local_770,&DAT_1821e2c7c); puVar2 = param_1 + 0x77; local_768 = puVar2; FUN_1813379d0(puVar2,&local_770); *puVar2 = juce::TextButton::vftable; param_1[0x8d] = juce::TextButton::vftable; puVar9 = (uint *)(local_770 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_18049c4e0(&local_798,"change..."); lVar4 = DAT_1826739f8; local_628 = &DAT_182673984; do { LOCK(); uVar8 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar8 != 0); if (DAT_1826739f8 == 0) { local_780 = local_798; uVar8 = *(uint *)(local_798 + -0x10); } else { if (*(longlong *)(DAT_1826739f8 + 0x40) != 0) { iVar6 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_798,*(undefined1 *)(DAT_1826739f8 + 0x38),0); if (iVar6 < 0) { FUN_181234570(*(undefined8 *)(lVar4 + 0x40),&local_780,&local_798,&local_798); goto LAB_1813459f0; } } iVar6 = FUN_1812498b0(lVar4 + 0x18,local_798,*(undefined1 *)(lVar4 + 0x38),0); if (iVar6 < 0) { local_780 = local_798; uVar8 = *(uint *)(local_798 + -0x10); } else { plVar7 = (longlong *)FUN_181249970(lVar4 + 0x28,iVar6); local_780 = *plVar7; uVar8 = *(uint *)(local_780 + -0x10); } } if ((uVar8 & 0x30000000) == 0) { LOCK(); *(int *)(local_780 + -0x10) = *(int *)(local_780 + -0x10) + 1; UNLOCK(); } LAB_1813459f0: LOCK(); DAT_182673984 = 0; UNLOCK(); puVar9 = (uint *)(local_798 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar3 = param_1 + 0xb0; local_768 = puVar3; FUN_1813379d0(puVar3,&local_780); *puVar3 = juce::TextButton::vftable; param_1[0xc6] = juce::TextButton::vftable; puVar9 = (uint *)(local_780 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_730 = &DAT_1821dbf98; FUN_181335a10(param_1 + 0xe9,&local_730,3); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar8 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar8; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_728 = &DAT_1821dbf98; FUN_181335a10(param_1 + 0x12d,&local_728,3); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar8 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar8; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } plVar7 = param_1 + 0x1d; FUN_1812e83d0(plVar7,param_1 + 0x19); FUN_18134aef0(param_1,plVar7,0xffffffff); local_790 = CONCAT13(5,(int3)DAT_18262b5b8); FUN_18134a800(plVar7,0x1002800,local_790); local_78c = CONCAT13(0x19,(int3)DAT_18262b5b8); FUN_18134a800(plVar7,0x1002810,local_78c); *(undefined4 *)((longlong)param_1 + 0x1e4) = 1; (**(code **)(*plVar7 + 0x108))(plVar7); FUN_18134aef0(param_1,puVar1,0xffffffff); local_2e8 = std::_Func_impl_no_alloc<,void>::vftable; local_2b0 = &local_2e8; local_170 = (longlong *)0x0; local_2e0 = param_1; FUN_180488560(local_1a8,&local_2e8); FUN_180488560(&local_2e8,param_1 + 0x56); FUN_180488560(param_1 + 0x56,local_1a8); if (local_170 != (longlong *)0x0) { (**(code **)(*local_170 + 0x20))(local_170,local_170 != local_1a8); } if (local_2b0 != (undefined ***)0x0) { (*(code *)(*local_2b0)[4])(local_2b0,local_2b0 != &local_2e8); } FUN_181347cd0(puVar1,0xf); FUN_18134aef0(param_1,puVar2,0xffffffff); local_2a8 = std::_Func_impl_no_alloc<,void>::vftable; local_270 = &local_2a8; local_130 = (longlong *)0x0; local_2a0 = param_1; FUN_180488560(local_168,&local_2a8); FUN_180488560(&local_2a8,param_1 + 0x8f); FUN_180488560(param_1 + 0x8f,local_168); if (local_130 != (longlong *)0x0) { (**(code **)(*local_130 + 0x20))(local_130,local_130 != local_168); } if (local_270 != (undefined ***)0x0) { (*(code *)(*local_270)[4])(local_270,local_270 != &local_2a8); } FUN_181347cd0(puVar2,0xf); FUN_18134aef0(param_1,puVar3,0xffffffff); local_268 = std::_Func_impl_no_alloc<,void>::vftable; local_230 = &local_268; local_f0 = (longlong *)0x0; local_260 = param_1; FUN_180488560(local_128,&local_268); FUN_180488560(&local_268,param_1 + 200); FUN_180488560(param_1 + 200,local_128); if (local_f0 != (longlong *)0x0) { (**(code **)(*local_f0 + 0x20))(local_f0,local_f0 != local_128); } if (local_230 != (undefined ***)0x0) { (*(code *)(*local_230)[4])(local_230,local_230 != &local_268); } FUN_18134aef0(param_1,param_1 + 0xe9,0xffffffff); local_228 = std::_Func_impl_no_alloc<,void>::vftable; local_1f0 = &local_228; local_b0 = (longlong *)0x0; local_220 = param_1; FUN_180488560(local_e8,&local_228); FUN_180488560(&local_228,param_1 + 0x101); FUN_180488560(param_1 + 0x101,local_e8); if (local_b0 != (longlong *)0x0) { (**(code **)(*local_b0 + 0x20))(local_b0,local_b0 != local_e8); } if (local_1f0 != (undefined ***)0x0) { (*(code *)(*local_1f0)[4])(local_1f0,local_1f0 != &local_228); } FUN_18134a8d0(param_1,local_788,0x1002820,0); local_720 = (void *)0x0; local_718 = 0; local_710 = 0; uStack_708 = 0; local_700 = 1; local_618 = _DAT_1824c4800; uStack_614 = _UNK_1824c4804; uStack_610 = _UNK_1824c4808; uStack_60c = _UNK_1824c480c; local_7c8 = CONCAT44(local_7c8._4_4_,DAT_1824c44a8); FUN_18129c5c0(&local_720,&local_618,DAT_1824c4490,DAT_1824c44dc); FUN_181330640(local_608); local_608[0] = juce::DrawablePath::vftable; local_6d0[0] = local_788[0]; local_6c8 = 0; uStack_6c0 = 0; local_6b8 = _DAT_1824c4780; uStack_6b4 = _UNK_1824c4784; uStack_6b0 = _UNK_1824c4788; uStack_6ac = _UNK_1824c478c; local_6a8 = 0x3f800000; cVar5 = FUN_1812a0d20(local_4d8,local_6d0); if (cVar5 != '\0') { FUN_1812a0f40(local_4d8,local_6d0); local_748 = 0; uStack_740 = local_5e0; uStack_73c = local_5dc; local_668 = 0; uStack_664 = 0; uStack_660 = local_5e0; uStack_65c = local_5dc; FUN_181342870(local_608,&local_668,1); } FUN_1812a0e00(local_6d0); FUN_1804aaf40(local_528,&local_720); local_518 = (undefined4)local_710; uStack_514 = local_710._4_4_; uStack_510 = (undefined4)uStack_708; uStack_50c = uStack_708._4_4_; local_508 = local_700; FUN_181330000(local_608); local_7b0 = 0; local_7b8 = 0; local_7c0 = 0; local_7c8 = 0; FUN_1813355a0(param_1 + 0xe9,local_608,0,0); local_608[0] = juce::DrawablePath::vftable; FUN_1813304a0(local_608); /* WARNING: Subroutine does not return */ free(local_720); } ############ FUN_ 1812e83d0 size=89 ############ void FUN_1812e83d0(longlong param_1,longlong param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(longlong *)(param_1 + 0xc0) != param_2) { *(longlong *)(param_1 + 0xc0) = param_2; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); FUN_181348f10(param_1); return; } return; } ############ FUN_ 1812e7390 size=122 ############ void FUN_1812e7390(longlong param_1) { longlong lVar1; undefined1 local_res8 [32]; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; lVar1 = FUN_18134a8d0(param_1,local_res8,0x1002800,0); FUN_18134bd50(param_1,*(char *)(lVar1 + 3) == -1); FUN_18134bd50(*(undefined8 *)(param_1 + 200),*(byte *)(param_1 + 0xa8) >> 2 & 1); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 181330000 size=416 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181330000(longlong param_1) { float fVar1; char cVar2; float fVar3; float fVar4; float fVar5; undefined8 local_28; undefined8 uStack_20; ulonglong local_18; uStack_20 = _UNK_1824c4788; local_28 = _DAT_1824c4780; *(undefined8 *)(param_1 + 0x114) = 0; *(undefined8 *)(param_1 + 0x11c) = 0; *(undefined4 *)(param_1 + 0x124) = 0; if (*(int *)(param_1 + 0xdc) == 0) { local_18 = (ulonglong)DAT_1824c3ea4; FUN_181297840(*(undefined4 *)(param_1 + 0xc0),*(undefined4 *)(param_1 + 0xc4), *(undefined4 *)(param_1 + 200),param_1 + 0x108,param_1 + 0xe0,&local_28, DAT_1824c4334); } else { local_18 = (ulonglong)DAT_1824c3ea4; FUN_181297340(param_1 + 0xc0,param_1 + 0x108,param_1 + 0xe0,*(undefined8 *)(param_1 + 0xd0), *(int *)(param_1 + 0xdc),&local_28,DAT_1824c4334); } cVar2 = FUN_1813302a0(param_1); if (cVar2 == '\0') { fVar1 = *(float *)(param_1 + 0xf0); fVar5 = *(float *)(param_1 + 0xf8); fVar3 = *(float *)(param_1 + 0xf4) - fVar1; fVar4 = *(float *)(param_1 + 0xfc); } else { fVar1 = *(float *)(param_1 + 0x118); fVar5 = *(float *)(param_1 + 0x120); fVar3 = *(float *)(param_1 + 0x11c) - fVar1; fVar4 = *(float *)(param_1 + 0x124); } local_28 = CONCAT44(fVar5,fVar1); uStack_20 = CONCAT44(fVar4 - fVar5,fVar3); FUN_181332960(param_1,&local_28); uStack_20 = *(undefined8 *)(param_1 + 0x28); local_28 = 0; FUN_181342870(param_1,&local_28,1); return; } ############ FUN_ 181337080 size=395 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181337080(longlong *param_1,char param_2,int param_3,int param_4) { int *piVar1; int iVar2; undefined8 *puVar3; char cVar4; longlong lVar5; longlong lVar6; undefined1 auStack_a8 [32]; undefined8 *local_88 [2]; undefined8 local_78; undefined4 uStack_70; undefined4 uStack_6c; undefined8 local_68; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined **local_48; char local_40 [8]; ulonglong local_38; local_68 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_a8; if (param_2 == (char)param_1[0x38]) { } FUN_1804de690(local_88,param_1); puVar3 = local_88[0]; lVar6 = 0; if (param_2 != '\0') { FUN_181336f60(param_1,param_3,param_4); lVar5 = lVar6; if (puVar3 != (undefined8 *)0x0) { lVar5 = puVar3[2]; } if (lVar5 == 0) goto LAB_1813371db; } cVar4 = FUN_1804d6ee0(param_1); if (cVar4 != param_2) { local_48 = &PTR_vftable_18262b550; local_40[0] = param_2; FUN_1813516e0(param_1 + 0x35,&local_48); (**(code **)(*local_48 + 0xb0))(local_48,local_40); lVar5 = lVar6; if (puVar3 != (undefined8 *)0x0) { lVar5 = puVar3[2]; } if (lVar5 == 0) goto LAB_1813371db; } *(char *)(param_1 + 0x38) = param_2; uStack_6c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_70 = (undefined4)param_1[5]; local_78 = 0; local_58 = 0; uStack_54 = 0; uStack_50 = uStack_70; uStack_4c = uStack_6c; FUN_181342870(param_1,&local_58,1); if (param_3 != 0) { FUN_181336910(param_1,&DAT_182673aec); if (puVar3 != (undefined8 *)0x0) { lVar6 = puVar3[2]; } if (lVar6 == 0) goto LAB_1813371db; } if (param_4 == 0) { (**(code **)(*param_1 + 0x178))(param_1); } else { FUN_1813367f0(); } LAB_1813371db: if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_88[0])(local_88[0],1); } } } ############ FUN_ 181336cf0 size=178 ############ void FUN_181336cf0(longlong param_1,int param_2) { uint uVar1; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; if (*(int *)(param_1 + 0x1a0) != param_2) { *(int *)(param_1 + 0x1a0) = param_2; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; uStack_14 = 0; FUN_181342870(0,&local_18,1); if (*(int *)(param_1 + 0x1a0) == 2) { uVar1 = DAT_1826737fc; if (DAT_1826737fc == 0) { uVar1 = timeGetTime(); if (uVar1 < DAT_1826737fc) { if (uVar1 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = uVar1; } } else { LOCK(); UNLOCK(); DAT_1826737fc = uVar1; } } *(uint *)(param_1 + 0x178) = uVar1; *(undefined4 *)(param_1 + 0x17c) = 0; } FUN_1813367f0(param_1); return; } return; } ############ FUN_ 181347cd0 size=68 ############ void FUN_181347cd0(longlong param_1,int param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(int *)(param_1 + 0x198) != param_2) { *(int *)(param_1 + 0x198) = param_2; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); } return; } ############ FUN_ 18132f430 size=514 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18132f430(longlong param_1) { undefined8 uVar1; float fVar2; float fVar3; float fVar4; float fVar5; ulonglong uVar6; float fVar7; float fVar8; float fVar9; undefined1 auStack_88 [32]; undefined8 local_68; undefined8 uStack_60; undefined8 local_58; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_88; fVar2 = _hypotf(*(float *)(param_1 + 0xc0) - *(float *)(param_1 + 200), *(float *)(param_1 + 0xc4) - *(float *)(param_1 + 0xcc)); fVar3 = _hypotf(*(float *)(param_1 + 0xc0) - *(float *)(param_1 + 0xd0), *(float *)(param_1 + 0xc4) - *(float *)(param_1 + 0xd4)); fVar4 = *(float *)(param_1 + 0xd8); if (fVar3 <= DAT_1824c3c70) { fVar3 = DAT_1824c3c70; } fVar7 = DAT_1824c3c70; if ((DAT_1824c3c70 <= fVar4) && (fVar7 = fVar3, fVar4 <= fVar3)) { fVar7 = fVar4; } fVar4 = *(float *)(param_1 + 0xdc); fVar3 = DAT_1824c3c70; if (DAT_1824c3c70 <= fVar4) { if (fVar2 <= DAT_1824c3c70) { fVar2 = DAT_1824c3c70; } fVar3 = fVar2; if (fVar4 <= fVar2) { fVar3 = fVar4; } } FUN_181252990(param_1 + 0xe8,param_1 + 0xe0); FUN_1812520a0(param_1 + 0xe8,fVar7); FUN_181251de0(param_1 + 0xe8,fVar3); fVar4 = *(float *)(param_1 + 0xc0); fVar3 = *(float *)(param_1 + 0xc4); uVar6 = *(ulonglong *)(param_1 + 200); uVar1 = *(undefined8 *)(param_1 + 0xd0); fVar7 = (float)uVar1; fVar5 = (float)uVar6; fVar2 = fVar5; if (fVar4 <= fVar5) { fVar2 = fVar4; } uStack_60._4_4_ = (float)(uVar6 >> 0x20); if (fVar5 <= fVar4) { uVar6 = (ulonglong)(uint)fVar4; } fVar5 = uStack_60._4_4_; if (fVar3 <= uStack_60._4_4_) { fVar5 = fVar3; } fVar9 = (*(float *)(param_1 + 0xd0) - fVar4) + *(float *)(param_1 + 200); fVar8 = (*(float *)(param_1 + 0xd4) - fVar3) + *(float *)(param_1 + 0xcc); fVar4 = fVar7; if (fVar2 <= fVar7) { fVar4 = fVar2; } if (uStack_60._4_4_ <= fVar3) { uStack_60._4_4_ = fVar3; } local_58._4_4_ = (float)((ulonglong)uVar1 >> 0x20); if (fVar7 <= (float)uVar6) { fVar7 = (float)uVar6; } fVar3 = local_58._4_4_; if (fVar5 <= local_58._4_4_) { fVar3 = fVar5; } fVar2 = fVar9; if (fVar4 <= fVar9) { fVar2 = fVar4; } if (local_58._4_4_ <= uStack_60._4_4_) { local_58._4_4_ = uStack_60._4_4_; } if (fVar9 <= fVar7) { fVar9 = fVar7; } fVar4 = fVar8; if (fVar3 <= fVar8) { fVar4 = fVar3; } if (fVar8 <= local_58._4_4_) { fVar8 = local_58._4_4_; } local_68 = CONCAT44(fVar4,fVar2); uStack_60 = CONCAT44(fVar8 - fVar4,fVar9 - fVar2); local_58 = uVar1; FUN_181332960(param_1,&local_68); uStack_60 = *(undefined8 *)(param_1 + 0x28); local_68 = 0; FUN_181342870(param_1,&local_68,1); } ############ FUN_ 18132f710 size=68 ############ void FUN_18132f710(longlong param_1,int param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(int *)(param_1 + 0xf8) != param_2) { *(int *)(param_1 + 0xf8) = param_2; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); } return; } ############ FUN_ 181330430 size=97 ############ void FUN_181330430(longlong param_1,undefined8 param_2) { char cVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; cVar1 = FUN_1812a0d20(param_1 + 0x130); if (cVar1 != '\0') { FUN_1812a0f40(param_1 + 0x130,param_2); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); } return; } ############ FUN_ 181331340 size=370 ############ void FUN_181331340(longlong param_1,longlong *param_2) { longlong lVar1; undefined4 local_18; undefined4 uStack_14; float fStack_10; float fStack_c; if (*(longlong *)(param_1 + 0xc0) != *param_2) { FUN_1812911c0(param_1 + 0xc0); lVar1 = *(longlong *)(param_1 + 0xc0); if (lVar1 == 0) { fStack_10 = 0.0; fStack_c = 0.0; } else { fStack_10 = *(float *)(lVar1 + 0x14); fStack_c = *(float *)(lVar1 + 0x18); } uStack_14 = 0; local_18 = 0; FUN_18134bfe0(param_1,0,0,fStack_10,fStack_c); lVar1 = *(longlong *)(param_1 + 0xc0); if (lVar1 == 0) { fStack_10 = 0.0; fStack_c = 0.0; } else { fStack_10 = *(float *)(lVar1 + 0x14); fStack_c = *(float *)(lVar1 + 0x18); } local_18 = 0; uStack_14 = 0; fStack_10 = (float)(int)fStack_10; fStack_c = (float)(int)fStack_c; FUN_181331140(param_1,&local_18); fStack_10 = *(float *)(param_1 + 0x28); fStack_c = *(float *)(param_1 + 0x2c); local_18 = 0; uStack_14 = 0; FUN_181342870(param_1,&local_18,1); } return; } ############ FUN_ 181332ad0 size=158 ############ void FUN_181332ad0(longlong param_1,longlong *param_2,undefined1 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; plVar1 = (longlong *)(param_1 + 0xb8); lVar2 = *param_2; if (*plVar1 != lVar2) { if (plVar1 != param_2) { *param_2 = 0; puVar3 = (undefined8 *)*plVar1; *plVar1 = lVar2; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1,param_3,param_4,0xfffffffffffffffe); } } uStack_c = *(undefined4 *)(param_1 + 0x2c); uStack_10 = *(undefined4 *)(param_1 + 0x28); local_18 = 0; FUN_181342870(param_1,&local_18,1); } puVar3 = (undefined8 *)*param_2; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } return; } ############ FUN_ 1812ce6d0 size=95 ############ void FUN_1812ce6d0(longlong param_1,undefined4 param_2) { char cStackX_13; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_18134a800(param_1,0x1005700,param_2); cStackX_13 = (char)((uint)param_2 >> 0x18); FUN_18134bd50(param_1,cStackX_13 == -1); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 1812d7f20 size=163 ############ ulonglong FUN_1812d7f20(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *puVar1; uint uVar2; longlong lVar3; ulonglong uVar4; longlong lVar5; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; *(undefined1 *)(param_1 + 0x125) = 1; lVar5 = 0; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; uStack_14 = 0; FUN_181342870(0,&local_18,1,param_4,0xfffffffffffffffe); lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xd0) + 0x180); if (lVar3 != 0) { lVar5 = *(longlong *)(lVar3 + 0x10); } uVar4 = 0; puVar1 = (uint *)(*(longlong *)(lVar5 + 0xc0) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { uVar4 = (ulonglong)uVar2; } UNLOCK(); if ((uVar2 == 0) && (uVar4 = FUN_1812a6720(*(undefined8 *)(lVar5 + 0xc0)), (char)uVar4 == '\0')) { uVar4 = *(ulonglong *)(lVar5 + 0xc0); LOCK(); *(undefined4 *)(uVar4 + 0x18) = 0; UNLOCK(); } return uVar4; } ############ FUN_ 1812e1d60 size=118 ############ void FUN_1812e1d60(longlong *param_1,char param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(char *)((longlong)param_1 + 0x1ec) == param_2) { return; } *(char *)((longlong)param_1 + 0x1ec) = param_2; if (*(code **)(*param_1 + 0xb0) == FUN_1812e1950) { FUN_1812e1780(); uStack_10 = (undefined4)param_1[5]; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } (**(code **)(*param_1 + 0xb0))(); return; } ############ FUN_ 1812d7d90 size=384 ############ void FUN_1812d7d90(longlong param_1) { undefined4 uVar1; undefined4 uVar2; longlong lVar3; longlong lVar4; int iVar5; ulonglong uVar6; ulonglong uVar7; int iVar8; int iVar9; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(char *)(param_1 + 0x125) != '\0') { *(undefined1 *)(param_1 + 0x125) = 0; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xd8)); lVar3 = *(longlong *)(param_1 + 0x108); uVar7 = 0; iVar5 = 0; if (lVar3 != 0) { uVar6 = uVar7; if (*(char *)(param_1 + 0x126) == '\0') { uVar6 = (ulonglong)(uint)-*(int *)(lVar3 + 0x2c); } FUN_1812d6740(lVar3,uVar6); } lVar3 = *(longlong *)(param_1 + 0xd0); uVar6 = uVar7; if (*(longlong *)(lVar3 + 0x180) != 0) { uVar6 = *(ulonglong *)(*(longlong *)(lVar3 + 0x180) + 0x10); } if (uVar6 != 0) { FUN_18050ac50(); } uStack_c = *(undefined4 *)(lVar3 + 0x2c); uStack_10 = *(undefined4 *)(lVar3 + 0x28); local_18 = 0; FUN_181342870(lVar3,&local_18,1); lVar3 = *(longlong *)(param_1 + 0x108); if (lVar3 == 0) { lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xd0) + 0x180); if (lVar3 != 0) { uVar7 = *(ulonglong *)(lVar3 + 0x10); } iVar5 = 0; iVar9 = 0; uVar1 = *(undefined4 *)(uVar7 + 0x24); uVar2 = *(undefined4 *)(uVar7 + 0x20); } else { if (*(char *)(param_1 + 0x126) == '\0') { iVar5 = *(int *)(lVar3 + 0x2c); } iVar9 = *(int *)(*(longlong *)(param_1 + 0xd0) + 0xf8); iVar8 = *(int *)(lVar3 + 0x38) + 0x32; lVar4 = *(longlong *)(*(longlong *)(param_1 + 0xd0) + 0x180); if (lVar4 != 0) { uVar7 = *(ulonglong *)(lVar4 + 0x10); } iVar5 = *(int *)(lVar3 + 0x30) - iVar5; if (iVar9 < iVar8) { iVar9 = iVar8; } uVar1 = *(undefined4 *)(uVar7 + 0x24); uVar2 = *(undefined4 *)(uVar7 + 0x20); } FUN_18134bfe0(uVar7,uVar2,uVar1,iVar9,iVar5); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xd8)); } return; } ############ FUN_ 1812e8fb0 size=342 ############ void FUN_1812e8fb0(longlong *param_1,char param_2,undefined1 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; bool bVar4; char cVar5; longlong lVar6; longlong lVar7; bool bVar8; undefined8 *local_res8; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; if (param_1[0x39] != 0) { FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); puVar3 = (undefined8 *)param_1[0x39]; lVar7 = 0; param_1[0x39] = 0; (**(code **)(*param_1 + 0x178))(param_1,puVar3); if ((param_2 == '\0') && (cVar5 = FUN_1812e9110(param_1,puVar3), cVar5 != '\0')) { bVar4 = true; } else { bVar4 = false; } if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } uStack_1c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_20 = (undefined4)param_1[5]; local_28 = 0; uStack_24 = 0; FUN_181342870(param_1,&local_28,1); if (bVar4) { (**(code **)(*param_1 + 0x160))(param_1); } puVar3 = local_res8; bVar8 = local_res8 != (undefined8 *)0x0; lVar6 = lVar7; if (bVar8) { lVar6 = local_res8[2]; } if (lVar6 != 0) { FUN_181343150(param_1,0); } if (bVar4) { if (bVar8) { lVar7 = puVar3[2]; } if (lVar7 != 0) { FUN_1812e8980(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; } ############ FUN_ 1804f5030 size=61 ############ void FUN_1804f5030(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + -0x98); uStack_c = *(undefined4 *)(param_1 + -0x94); local_18 = 0; FUN_181342870(param_1 + -0xc0,&local_18,1); return; } ############ FUN_ 1812d6bd0 size=208 ############ void FUN_1812d6bd0(longlong *param_1,byte param_2,char param_3) { byte bVar1; longlong lVar2; char cVar3; longlong *plVar4; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (((param_2 == 0) || (*(code **)(*param_1 + 0x30) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) || (cVar3 = (**(code **)(*param_1 + 0x30))(), cVar3 != '\0')) { if (param_3 != '\0') { plVar4 = param_1; if (param_1[2] != 0) { plVar4 = (longlong *)FUN_1812d5e40(); } FUN_1812d6cb0(plVar4,param_1); } bVar1 = *(byte *)(param_1 + 8); if (param_2 != (bVar1 & 1)) { lVar2 = param_1[1]; *(byte *)(param_1 + 8) = (bVar1 ^ param_2) & 1 ^ bVar1; if (lVar2 != 0) { uStack_10 = *(undefined4 *)(lVar2 + 0x28); uStack_c = *(undefined4 *)(lVar2 + 0x2c); local_18 = 0; FUN_181342870(lVar2,&local_18,1); } (**(code **)(*param_1 + 0x70))(param_1,param_2); } } return; } ############ FUN_ 1804f61e0 size=58 ############ void FUN_1804f61e0(longlong param_1) { longlong lVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; lVar1 = *(longlong *)(param_1 + 0x20); uStack_10 = *(undefined4 *)(lVar1 + 0x28); uStack_c = *(undefined4 *)(lVar1 + 0x2c); local_18 = 0; FUN_181342870(lVar1,&local_18,1); return; } ############ FUN_ 1804f8410 size=54 ############ void FUN_1804f8410(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812f40d0 size=123 ############ void FUN_1812f40d0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(longlong *)(param_1 + 0xd0) != 0) { FUN_1812f1620(*(longlong *)(param_1 + 0xd0),param_1 + 0xb0); *(undefined8 *)(param_1 + 0xd0) = 0; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0,0); } return; } ############ FUN_ 1804fa880 size=167 ############ void FUN_1804fa880(longlong param_1,char param_2) { longlong lVar1; char cVar2; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if ((param_2 == '\0') || (*(char *)(param_1 + 0x134) == '\0')) { cVar2 = '\0'; } else { cVar2 = '\x01'; } if (*(char *)(param_1 + 0x140) != cVar2) { *(char *)(param_1 + 0x140) = cVar2; lVar1 = *(longlong *)(param_1 + 0x138); if (lVar1 != 0) { *(char *)(lVar1 + 0xc0) = cVar2; uStack_10 = *(undefined4 *)(lVar1 + 0x28); uStack_c = *(undefined4 *)(lVar1 + 0x2c); local_18 = 0; FUN_181342870(lVar1,&local_18,1); } uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); } return; } ############ FUN_ 1804fd7a0 size=219 ############ void FUN_1804fd7a0(longlong param_1,int param_2) { code *pcVar1; int iVar2; int iVar3; longlong lVar4; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if ((*(int *)(param_1 + 0x148) == 0) && (*(char *)(param_1 + 0x139) == '\0')) { *(undefined4 *)(param_1 + 0x148) = 0; } else { iVar2 = *(int *)(param_1 + 0x148) + param_2; *(int *)(param_1 + 0x148) = iVar2; if (param_2 < 0) { if (iVar2 < 0) { iVar2 = 0; } *(int *)(param_1 + 0x148) = iVar2; } else if (0 < param_2) { lVar4 = FUN_18134adf0(); pcVar1 = *(code **)(*(longlong *)(lVar4 + 0x40) + 0x80); if (pcVar1 == FUN_18130fd40) { iVar2 = 2; } else { iVar2 = (*pcVar1)(lVar4 + 0x40); } iVar2 = (*(int *)(param_1 + 0x144) - *(int *)(param_1 + 0x134)) + iVar2; iVar3 = *(int *)(param_1 + 0x148); if (iVar2 < *(int *)(param_1 + 0x148)) { iVar3 = iVar2; } *(int *)(param_1 + 0x148) = iVar3; } FUN_1804fd880(param_1); } FUN_1804fd6e0(param_1); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 1804fef80 size=266 ############ undefined8 * FUN_1804fef80(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong lVar2; longlong *plVar3; undefined8 *puVar4; undefined4 uVar5; longlong *plVar6; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *param_1 = juce::PopupMenu::HelperClasses::ItemComponent::vftable; lVar2 = param_1[0x27]; if (lVar2 != 0) { *(undefined8 *)(lVar2 + 200) = 0; uStack_c = *(undefined4 *)(lVar2 + 0x2c); uStack_10 = *(undefined4 *)(lVar2 + 0x28); local_18 = 0; FUN_181342870(lVar2,&local_18,1,param_4,0xfffffffffffffffe); } plVar3 = (longlong *)param_1[8]; plVar6 = plVar3; do { if (plVar6 == plVar3 + *(int *)((longlong)param_1 + 0x4c)) { uVar5 = 0xffffffff; LAB_1804ff018: FUN_181343a90(param_1,uVar5,1); puVar4 = (undefined8 *)param_1[0x27]; if (puVar4 != (undefined8 *)0x0) { piVar1 = (int *)(puVar4 + 0x17); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar4)(puVar4,1); } } FUN_1804d80a0(param_1 + 0x16); FUN_18134caa0(param_1); if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } if (param_1[0x27] == *plVar6) { uVar5 = (undefined4)((longlong)plVar6 - (longlong)plVar3 >> 3); goto LAB_1804ff018; } plVar6 = plVar6 + 1; } while( true ); } ############ FUN_ 1804ffdf0 size=281 ############ void FUN_1804ffdf0(longlong param_1,undefined4 param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; longlong *plVar4; longlong *plVar5; uint uVar6; ulonglong uVar8; int iVar9; ulonglong uVar10; ulonglong uVar11; undefined8 local_28; undefined4 uStack_20; undefined4 uStack_1c; ulonglong uVar7; plVar5 = *(longlong **)(param_1 + 0xb0); uVar11 = 0; uVar6 = 0; plVar1 = plVar5 + *(int *)(param_1 + 0xbc); uVar7 = uVar11; for (; plVar5 != plVar1; plVar5 = plVar5 + 1) { lVar2 = *plVar5; iVar9 = *(int *)(lVar2 + 0xc0); if (*(char *)(lVar2 + 0xc4) != '\0') { plVar4 = *(longlong **)(lVar2 + 0xb0); uVar10 = (ulonglong)((longlong)(plVar4 + *(int *)(lVar2 + 0xbc)) + (7 - (longlong)plVar4)) >> 3; if (plVar4 + *(int *)(lVar2 + 0xbc) < plVar4) { uVar10 = uVar11; } uVar8 = uVar11; if (uVar10 != 0) { do { lVar3 = *plVar4; plVar4 = plVar4 + 1; uVar8 = uVar8 + 1; iVar9 = iVar9 + *(int *)(lVar3 + 0xc0); } while (uVar8 != uVar10); } } FUN_18134bfe0(lVar2,0,uVar7,param_2,iVar9); uVar6 = *(int *)(lVar2 + 0x2c) + *(int *)(lVar2 + 0x24); uVar7 = (ulonglong)uVar6; } FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),param_2, uVar6); uStack_20 = *(undefined4 *)(param_1 + 0x28); uStack_1c = *(undefined4 *)(param_1 + 0x2c); local_28 = 0; FUN_181342870(param_1,&local_28,1); return; } ############ FUN_ 180500080 size=189 ############ void FUN_180500080(longlong param_1) { undefined4 *puVar1; undefined1 local_res8 [32]; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; puVar1 = (undefined4 *)FUN_18134a8d0(*(undefined8 *)(param_1 + 0x210),local_res8,0x100e401,0); FUN_18134a800(param_1,0x1000280,*puVar1); puVar1 = (undefined4 *)FUN_18134a8d0(*(undefined8 *)(param_1 + 0x210),local_res8,0x100e403,0); FUN_18134a800(param_1,0x1000282,*puVar1); puVar1 = (undefined4 *)FUN_18134a8d0(*(undefined8 *)(param_1 + 0x210),local_res8,0x100e402,0); FUN_18134a800(param_1,0x1000281,*puVar1); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 1805014d0 size=648 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805014d0(longlong param_1,double param_2,undefined4 param_3) { longlong *plVar1; char cVar2; double dVar3; double dVar4; double dVar5; undefined1 auStack_a8 [32]; double local_88 [2]; undefined **local_78; double dStack_70; longlong *local_68; undefined1 local_60 [8]; ulonglong local_58; local_88[1] = -NAN; local_58 = DAT_182615970 ^ (ulonglong)auStack_a8; if (*(longlong *)(param_1 + 0x178) == 0) { dVar3 = *(double *)(param_1 + 0xa8); if (0.0 < dVar3) { dVar5 = *(double *)(param_1 + 0x98); dVar4 = floor((param_2 - dVar5) / dVar3 + DAT_1824c4050); param_2 = dVar4 * dVar3 + dVar5; } dVar3 = *(double *)(param_1 + 0x98); if (((dVar3 < param_2) && (dVar5 = *(double *)(param_1 + 0xa0), dVar3 < dVar5)) && (dVar3 = dVar5, param_2 <= dVar5)) { dVar3 = param_2; } } else { local_68 = *(longlong **)(param_1 + 0xa0); local_78 = *(undefined ***)(param_1 + 0x98); plVar1 = *(longlong **)(param_1 + 0x178); local_88[0] = param_2; if (plVar1 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } dVar3 = (double)(**(code **)(*plVar1 + 0x10))(plVar1,&local_78,&local_68,local_88); } if (*(int *)(param_1 + 0x20) - 0xbU < 2) { (**(code **)(**(longlong **)(param_1 + 0x68) + 8))(*(longlong **)(param_1 + 0x68),&local_68); (**(code **)(**(longlong **)(param_1 + 0x50) + 8))(*(longlong **)(param_1 + 0x50),&local_78); dVar4 = (double)(**(code **)(*local_68 + 0x18))(local_68,local_60); dVar5 = (double)(**(code **)(*local_78 + 0x18))(local_78,&dStack_70); if ((dVar5 <= dVar3) && (dVar5 = dVar4, dVar3 <= dVar4)) { dVar5 = dVar3; } dVar3 = dVar5; (**(code **)(*local_78 + 0xb0))(local_78,&dStack_70); (**(code **)(*local_68 + 0xb0))(local_68,local_60); } if (dVar3 != *(double *)(param_1 + 0x80)) { if (*(longlong *)(param_1 + 0x250) != 0) { FUN_1812e8fb0(*(longlong *)(param_1 + 0x250),1); } *(double *)(param_1 + 0x80) = dVar3; local_78 = &PTR_vftable_18262b4d8; dStack_70 = dVar3; (**(code **)(**(longlong **)(param_1 + 0x38) + 8))(*(longlong **)(param_1 + 0x38),&local_68); cVar2 = (**(code **)(*local_68 + 0xc0))(local_68,local_60,&dStack_70,local_78); (**(code **)(*local_68 + 0xb0))(local_68,local_60); (**(code **)(*local_78 + 0xb0))(local_78,&dStack_70); if (cVar2 == '\0') { local_78 = &PTR_vftable_18262b4d8; dStack_70 = dVar3; FUN_1813516e0(param_1 + 0x38,&local_78); (**(code **)(*local_78 + 0xb0))(local_78,&dStack_70); } FUN_180502100(param_1); dStack_70 = *(double *)(*(longlong *)(param_1 + 0x18) + 0x28); local_78 = (undefined **)0x0; FUN_181342870(*(longlong *)(param_1 + 0x18),&local_78,1); FUN_180504680(param_1,dVar3); FUN_180501db0(param_1,param_3); } } ############ FUN_ 180504680 size=245 ############ void FUN_180504680(longlong param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; uint uVar2; longlong lVar3; longlong lVar4; longlong *plVar5; uint *puVar6; longlong local_res8; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; if (*(longlong *)(param_1 + 0x268) != 0) { plVar5 = (longlong *) (**(code **)(**(longlong **)(param_1 + 0x18) + 0x178)) (*(longlong **)(param_1 + 0x18),&local_res8,param_2,param_4, 0xfffffffffffffffe); lVar4 = *(longlong *)(param_1 + 0x268); if ((*(uint *)(*plVar5 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*plVar5 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar3 = *(longlong *)(lVar4 + 0x110); *(longlong *)(lVar4 + 0x110) = *plVar5; UNLOCK(); puVar6 = (uint *)(lVar3 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_1812c8cf0(lVar4,*(undefined8 *)(lVar4 + 0x100)); uStack_c = *(undefined4 *)(lVar4 + 0x2c); uStack_10 = *(undefined4 *)(lVar4 + 0x28); local_18 = 0; uStack_14 = 0; FUN_181342870(lVar4,&local_18,1); puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } return; } ############ FUN_ 180501780 size=623 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180501780(longlong param_1,double param_2,undefined4 param_3,char param_4) { longlong *plVar1; double dVar2; bool bVar3; bool bVar4; double dVar5; double dVar6; undefined1 auStack_a8 [32]; double local_88; undefined8 local_80; undefined8 local_78; undefined **local_68; double dStack_60; ulonglong local_58; local_78 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_a8; bVar4 = false; local_88 = (double)((ulonglong)local_88 & 0xffffffff00000000); if (*(longlong *)(param_1 + 0x178) == 0) { dVar5 = *(double *)(param_1 + 0xa8); if (0.0 < dVar5) { dVar6 = *(double *)(param_1 + 0x98); dVar2 = floor((param_2 - dVar6) / dVar5 + DAT_1824c4050); param_2 = dVar2 * dVar5 + dVar6; } dVar5 = *(double *)(param_1 + 0x98); if (((dVar5 < param_2) && (dVar6 = *(double *)(param_1 + 0xa0), dVar5 < dVar6)) && (dVar5 = dVar6, param_2 <= dVar6)) { dVar5 = param_2; } } else { local_80 = *(undefined8 *)(param_1 + 0xa0); local_68 = *(undefined ***)(param_1 + 0x98); plVar1 = *(longlong **)(param_1 + 0x178); local_88 = param_2; if (plVar1 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } dVar5 = (double)(**(code **)(*plVar1 + 0x10))(plVar1,&local_68,&local_80,&local_88); } if (1 < *(int *)(param_1 + 0x20) - 9U) { if ((param_4 != '\0') && (*(double *)(param_1 + 0x80) <= dVar5 && dVar5 != *(double *)(param_1 + 0x80))) { FUN_1805014d0(param_1,dVar5,param_3); } if (*(double *)(param_1 + 0x80) <= dVar5) { dVar5 = *(double *)(param_1 + 0x80); } goto LAB_18050195a; } if (param_4 == '\0') { LAB_1805018f4: bVar3 = false; } else { (**(code **)(**(longlong **)(param_1 + 0x68) + 8))(*(longlong **)(param_1 + 0x68),&local_68); bVar4 = true; dVar6 = (double)(**(code **)(*local_68 + 0x18))(local_68,&dStack_60); if (dVar5 <= dVar6) goto LAB_1805018f4; bVar3 = true; } if (bVar4) { (**(code **)(*local_68 + 0xb0))(local_68,&dStack_60); } if (bVar3) { FUN_180501a10(param_1,dVar5,param_3,0); } (**(code **)(**(longlong **)(param_1 + 0x68) + 8))(*(longlong **)(param_1 + 0x68),&local_68); dVar6 = (double)(**(code **)(*local_68 + 0x18))(local_68,&dStack_60); if (dVar6 <= dVar5) { dVar5 = dVar6; } (**(code **)(*local_68 + 0xb0))(local_68,&dStack_60); LAB_18050195a: if (*(double *)(param_1 + 0x88) != dVar5) { *(double *)(param_1 + 0x88) = dVar5; local_68 = &PTR_vftable_18262b4d8; dStack_60 = dVar5; FUN_1813516e0(param_1 + 0x50,&local_68); (**(code **)(*local_68 + 0xb0))(local_68,&dStack_60); dStack_60 = *(double *)(*(longlong *)(param_1 + 0x18) + 0x28); local_68 = (undefined **)0x0; FUN_181342870(*(longlong *)(param_1 + 0x18),&local_68,1); FUN_180504680(param_1,dVar5); FUN_180501db0(param_1,param_3); } } ############ FUN_ 180501a10 size=678 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180501a10(longlong param_1,double param_2,undefined4 param_3,char param_4) { longlong *plVar1; double dVar2; bool bVar3; bool bVar4; double dVar5; double dVar6; undefined8 uVar7; undefined1 auStack_a8 [32]; double local_88; undefined8 local_80; undefined8 local_78; undefined **local_68; double dStack_60; ulonglong local_58; local_78 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_a8; bVar4 = false; local_88 = (double)((ulonglong)local_88 & 0xffffffff00000000); if (*(longlong *)(param_1 + 0x178) == 0) { dVar5 = *(double *)(param_1 + 0xa8); if (0.0 < dVar5) { dVar6 = *(double *)(param_1 + 0x98); dVar2 = floor((param_2 - dVar6) / dVar5 + DAT_1824c4050); param_2 = dVar2 * dVar5 + dVar6; } dVar5 = *(double *)(param_1 + 0x98); if (((dVar5 < param_2) && (dVar6 = *(double *)(param_1 + 0xa0), dVar5 < dVar6)) && (dVar5 = dVar6, param_2 <= dVar6)) { dVar5 = param_2; } } else { local_80 = *(undefined8 *)(param_1 + 0xa0); local_68 = *(undefined ***)(param_1 + 0x98); plVar1 = *(longlong **)(param_1 + 0x178); local_88 = param_2; if (plVar1 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } dVar5 = (double)(**(code **)(*plVar1 + 0x10))(plVar1,&local_68,&local_80,&local_88); } dStack_60 = dVar5; if (1 < *(int *)(param_1 + 0x20) - 9U) { if ((param_4 != '\0') && (dVar5 < *(double *)(param_1 + 0x80))) { FUN_1805014d0(param_1,dVar5,param_3); } if (dVar5 <= *(double *)(param_1 + 0x80)) { dStack_60 = *(double *)(param_1 + 0x80); } goto LAB_180501be9; } if (param_4 == '\0') { LAB_180501b85: bVar3 = false; } else { (**(code **)(**(longlong **)(param_1 + 0x50) + 8))(*(longlong **)(param_1 + 0x50),&local_68); bVar4 = true; dVar6 = (double)(**(code **)(*local_68 + 0x18))(local_68,&dStack_60); if (dVar6 <= dVar5) goto LAB_180501b85; bVar3 = true; } if (bVar4) { (**(code **)(*local_68 + 0xb0))(local_68,&dStack_60); } if (bVar3) { FUN_180501780(param_1,dVar5,param_3,0); } (**(code **)(**(longlong **)(param_1 + 0x50) + 8))(*(longlong **)(param_1 + 0x50),&local_68); dVar6 = (double)(**(code **)(*local_68 + 0x18))(local_68,&dStack_60); if (dVar5 <= dVar6) { dStack_60 = dVar6; } (**(code **)(*local_68 + 0xb0))(local_68,&dStack_60); LAB_180501be9: if (*(double *)(param_1 + 0x90) != dStack_60) { *(double *)(param_1 + 0x90) = dStack_60; local_68 = &PTR_vftable_18262b4d8; FUN_1813516e0(param_1 + 0x68,&local_68); (**(code **)(*local_68 + 0xb0))(local_68,&dStack_60); dStack_60 = *(double *)(*(longlong *)(param_1 + 0x18) + 0x28); local_68 = (undefined **)0x0; FUN_181342870(*(longlong *)(param_1 + 0x18),&local_68,1); (**(code **)(**(longlong **)(param_1 + 0x68) + 8))(*(longlong **)(param_1 + 0x68),&local_68); uVar7 = (**(code **)(*local_68 + 0x18))(local_68,&dStack_60); FUN_180504680(param_1,uVar7); (**(code **)(*local_68 + 0xb0))(local_68,&dStack_60); FUN_180501db0(param_1,param_3); } } ############ FUN_ 181341c80 size=64 ############ void FUN_181341c80(longlong param_1,longlong param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(longlong *)(param_1 + 0x60) != param_2) { *(longlong *)(param_1 + 0x60) = param_2; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); } return; } ############ FUN_ 1805030d0 size=223 ############ void FUN_1805030d0(int param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (param_2 != 0) { if (param_1 == 1) { *(bool *)(*(longlong *)(param_2 + 0x200) + 0x22e) = *(char *)(*(longlong *)(param_2 + 0x200) + 0x22e) == '\0'; return; } if (param_1 == 2) { lVar1 = *(longlong *)(param_2 + 0x200); if (*(int *)(lVar1 + 0x20) != 4) { lVar2 = *(longlong *)(lVar1 + 0x18); *(undefined4 *)(lVar1 + 0x20) = 4; uStack_10 = *(undefined4 *)(lVar2 + 0x28); uStack_c = *(undefined4 *)(lVar2 + 0x2c); local_18 = 0; FUN_181342870(lVar2,&local_18,1); (**(code **)(**(longlong **)(lVar1 + 0x18) + 0xa0))(); } } else { if (param_1 == 3) { FUN_1812e6410(param_2,5); return; } if (param_1 == 4) { FUN_1812e6410(param_2,6); return; } if (param_1 == 5) { FUN_1812e6410(param_2,7); return; } } } return; } ############ FUN_ 1812e6410 size=95 ############ void FUN_1812e6410(longlong param_1,int param_2) { longlong lVar1; longlong lVar2; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; lVar1 = *(longlong *)(param_1 + 0x200); if (*(int *)(lVar1 + 0x20) != param_2) { lVar2 = *(longlong *)(lVar1 + 0x18); *(int *)(lVar1 + 0x20) = param_2; uStack_10 = *(undefined4 *)(lVar2 + 0x28); uStack_c = *(undefined4 *)(lVar2 + 0x2c); local_18 = 0; FUN_181342870(lVar2,&local_18,1); /* WARNING: Could not recover jumptable at 0x0001812e6462. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(**(longlong **)(lVar1 + 0x18) + 0xa0))(); return; } return; } ############ FUN_ 1812c9050 size=349 ############ undefined8 * FUN_1812c9050(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined4 local_res10; undefined8 local_18; undefined8 uStack_10; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = juce::BubbleComponent::vftable; param_1[0x16] = 0; param_1[0x17] = 0; param_1[0x18] = 0; *(undefined4 *)(param_1 + 0x19) = 0xf; puVar1 = param_1 + 0x1a; *puVar1 = juce::DropShadowEffect::vftable; *(undefined4 *)(param_1 + 0x1b) = 0x90000000; *(undefined8 *)((longlong)param_1 + 0xdc) = 4; *(undefined4 *)((longlong)param_1 + 0xe4) = 0; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xef | 8; local_res10 = CONCAT13(0x59,(int3)DAT_18262b5b8); local_18 = CONCAT44(5,local_res10); param_1[0x1b] = local_18; param_1[0x1c] = 0; if ((undefined8 *)param_1[0xc] != puVar1) { param_1[0xc] = puVar1; uStack_10 = param_1[5]; local_18 = 0; FUN_181342870(param_1,&local_18,1,param_4,0xfffffffffffffffe); } return param_1; } ############ FUN_ 180505060 size=613 ############ void FUN_180505060(longlong param_1) { int iVar1; longlong lVar2; int iVar3; int iVar4; int iVar5; int iStack_24; int iStack_1c; undefined8 local_18; int iStack_10; int iStack_c; iVar4 = *(int *)(param_1 + 0x1f0); iStack_24 = *(int *)(param_1 + 500); iVar5 = *(int *)(param_1 + 0x1f8); iVar1 = *(int *)(param_1 + 0x1fc); iVar3 = 0; if (*(int *)(param_1 + 0x208) - 1U < 2) { iVar4 = iVar4 + 2; if (0 < iVar5 + -4) { iVar3 = iVar5 + -4; } iStack_1c = 0; if (0 < iVar1) { iStack_1c = iVar1; } } else { iStack_24 = iStack_24 + 2; if (0 < iVar5) { iVar3 = iVar5; } iStack_1c = 0; if (0 < iVar1 + -4) { iStack_1c = iVar1 + -4; } } *(bool *)(param_1 + 0x230) = iStack_1c < iVar3; if (iStack_1c < iVar3) { local_18 = CONCAT44(iStack_24,iVar4); iStack_10 = iVar3 / 2; if (iVar3 < iVar3 / 2) { iStack_10 = iVar3; } iVar5 = iVar4 + iStack_10; iVar3 = iVar3 - iStack_10; iStack_c = iStack_1c; FUN_18134bfe0(*(undefined8 *)(param_1 + 0x260),iVar4,iStack_24,iStack_10,iStack_1c); lVar2 = *(longlong *)(param_1 + 0x260); if (*(int *)(lVar2 + 0x198) != 2) { *(undefined4 *)(lVar2 + 0x198) = 2; iStack_10 = *(int *)(lVar2 + 0x28); iStack_c = *(int *)(lVar2 + 0x2c); local_18 = 0; FUN_181342870(lVar2,&local_18,1); } lVar2 = *(longlong *)(param_1 + 600); iVar4 = iVar5; if (*(int *)(lVar2 + 0x198) == 1) goto LAB_180505285; *(undefined4 *)(lVar2 + 0x198) = 1; } else { iStack_c = iStack_1c / 2; if (iStack_1c < iStack_1c / 2) { iStack_c = iStack_1c; } iVar5 = (iStack_24 - iStack_c) + iStack_1c; iStack_1c = iStack_1c - iStack_c; local_18 = CONCAT44(iVar5,iVar4); iStack_10 = iVar3; FUN_18134bfe0(*(undefined8 *)(param_1 + 0x260),iVar4,iVar5,iVar3,iStack_c); lVar2 = *(longlong *)(param_1 + 0x260); if (*(int *)(lVar2 + 0x198) != 4) { *(undefined4 *)(lVar2 + 0x198) = 4; iStack_10 = *(int *)(lVar2 + 0x28); iStack_c = *(int *)(lVar2 + 0x2c); local_18 = 0; FUN_181342870(lVar2,&local_18,1); } lVar2 = *(longlong *)(param_1 + 600); if (*(int *)(lVar2 + 0x198) == 8) goto LAB_180505285; *(undefined4 *)(lVar2 + 0x198) = 8; } iStack_10 = *(int *)(lVar2 + 0x28); iStack_c = *(int *)(lVar2 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); LAB_180505285: FUN_18134bfe0(*(undefined8 *)(param_1 + 600),iVar4,iStack_24,iVar3,iStack_1c); return; } ############ FUN_ 18050b220 size=447 ############ void FUN_18050b220(longlong param_1,longlong param_2,uint param_3) { longlong lVar1; char cVar2; int iVar3; int iVar4; int iVar5; longlong lVar6; longlong *plVar7; longlong *plVar8; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; if ((param_3 & 1) != 0) { lVar1 = *(longlong *)(param_1 + 200); if ((*(longlong *)(lVar1 + 0x108) != 0) && (lVar6 = FUN_1812d5b00(*(longlong *)(lVar1 + 0x108),0), lVar6 != 0)) { plVar8 = (longlong *)0x0; if (*(longlong *)(lVar1 + 0x108) == 0) { iVar3 = 0; } else { iVar3 = FUN_1812d5bf0(*(longlong *)(lVar1 + 0x108),0xffffffff); } plVar7 = plVar8; if (*(longlong *)(lVar1 + 0x108) != 0) { plVar7 = (longlong *)FUN_1812d5b00(*(longlong *)(lVar1 + 0x108),iVar3 + -1); } iVar4 = FUN_1812d5a10(lVar6); iVar5 = FUN_1812d5a10(plVar7); iVar3 = iVar5; if (iVar5 < iVar4) { iVar3 = iVar4; iVar4 = iVar5; } iVar5 = FUN_1812d5a10(param_2); if (iVar5 < iVar3) { iVar3 = iVar4; } iVar4 = iVar5; if (iVar3 < iVar5) { iVar4 = iVar3; iVar3 = iVar5; } for (; iVar4 <= iVar3; iVar4 = iVar4 + 1) { iVar5 = iVar4; if (*(char *)(*(longlong *)(param_1 + 200) + 0x126) == '\0') { iVar5 = iVar4 + 1; } plVar7 = plVar8; if ((*(longlong *)(*(longlong *)(param_1 + 200) + 0x108) != 0) && (-1 < iVar5)) { plVar7 = (longlong *)FUN_1812d5d00(); } if (((*(code **)(*plVar7 + 0x30) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) || (cVar2 = (**(code **)(*plVar7 + 0x30))(plVar7), cVar2 != '\0')) && ((*(byte *)(plVar7 + 8) & 1) == 0)) { lVar1 = plVar7[1]; *(byte *)(plVar7 + 8) = *(byte *)(plVar7 + 8) | 1; if (lVar1 != 0) { uStack_20 = *(undefined4 *)(lVar1 + 0x28); uStack_1c = *(undefined4 *)(lVar1 + 0x2c); local_28 = 0; uStack_24 = 0; FUN_181342870(lVar1,&local_28,1); } (**(code **)(*plVar7 + 0x70))(plVar7,1); } } return; } } param_3 = param_3 >> 1; if (((param_3 & 1) == 0) || ((*(byte *)(param_2 + 0x40) & 1) == 0)) { FUN_1812d6bd0(param_2,1,(param_3 & 1) == 0); } else { FUN_1812d6bd0(param_2,0,(param_3 & 1) == 0); } return; } ############ FUN_ 18050b5e0 size=135 ############ void FUN_18050b5e0(longlong param_1,char param_2) { longlong *plVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; plVar1 = (longlong *)0x0; if (*(longlong *)(param_1 + 0x180) != 0) { plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x180) + 0x10); } if (plVar1 != (longlong *)0x0) { if (param_2 == '\0') { FUN_18050ac50(); } else if (*(code **)(*plVar1 + 0x108) == FUN_18050b110) { FUN_1812d7f20(plVar1[0x19]); } else { (**(code **)(*plVar1 + 0x108))(); } } uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 18050eaa0 size=283 ############ void FUN_18050eaa0(longlong param_1,float param_2) { longlong lVar1; uint uVar2; uint uVar3; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uVar2 = 0; uVar3 = (uint)(param_2 * DAT_1824c4548); if ((-1 < (int)uVar3) && (uVar2 = uVar3, 0xff < (int)uVar3)) { uVar2 = 0xff; } lVar1 = *(longlong *)(param_1 + 8); if ((*(byte *)(lVar1 + 0xa8) & 4) == 0) { *(char *)(param_1 + 0xd8) = (char)uVar2; uStack_10 = *(undefined4 *)(lVar1 + 0x28); uStack_c = *(undefined4 *)(lVar1 + 0x2c); local_18 = 0; FUN_181342870(lVar1,&local_18,1); return; } if (DAT_1824c3ea4 <= param_2) { uVar2 = GetWindowLongW(*(HWND *)(param_1 + 0x88),-0x14); SetWindowLongW(*(HWND *)(param_1 + 0x88),-0x14,uVar2 & 0xfff7ffff); /* WARNING: Could not recover jumptable at 0x00018050eb78. Too many branches */ /* WARNING: Treating indirect jump as call */ RedrawWindow(*(undefined8 *)(param_1 + 0x88),0,0,0x485); return; } uVar3 = GetWindowLongW(*(HWND *)(param_1 + 0x88),-0x14); SetWindowLongW(*(HWND *)(param_1 + 0x88),-0x14,uVar3 | 0x80000); /* WARNING: Could not recover jumptable at 0x00018050eb36. Too many branches */ /* WARNING: Treating indirect jump as call */ SetLayeredWindowAttributes(*(undefined8 *)(param_1 + 0x88),0,uVar2 & 0xff,2); return; } ############ FUN_ 1812e1f00 size=186 ############ undefined8 FUN_1812e1f00(longlong param_1,char param_2) { char cVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if ((*(char *)(param_1 + 0x1ec) == '\0') && ((*(byte *)(param_1 + 0xa9) & 0x10) == 0)) { if ((*(longlong *)(param_1 + 0x18) != 0) && (cVar1 = FUN_18133eaa0(), cVar1 == '\0')) { return 0; } FUN_1812e1fc0(param_1); if (param_2 == '\0') { cVar1 = FUN_1813523e0(param_1 + 0x200); } else { cVar1 = FUN_181352510(); } if (cVar1 != '\0') { FUN_1812e0240(param_1); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); FUN_1812e0e60(param_1); return 1; } } return 0; } ############ FUN_ 180559940 size=270 ############ void FUN_180559940(int param_1,longlong param_2) { longlong *plVar1; undefined4 *puVar2; int *piVar3; int iVar4; undefined4 local_res10; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (param_2 != 0) { if (param_1 == 1) { puVar2 = (undefined4 *) (**(code **)(**(longlong **)(param_2 + 0xb0) + 0x160)) (*(longlong **)(param_2 + 0xb0),&local_res10, *(undefined4 *)(param_2 + 0xb8)); FUN_1813bf680(*(undefined8 *)(param_2 + 0xb0),*puVar2); return; } if (param_1 == 2) { plVar1 = *(longlong **)(param_2 + 0xb0); if ((*(byte *)(plVar1 + 0x28) & 1) == 0) { local_res10._0_3_ = (undefined3)(int)plVar1[0x1d]; local_res10 = CONCAT13(0xff,(undefined3)local_res10); iVar4 = local_res10; } else { iVar4 = (int)plVar1[0x1d]; } piVar3 = (int *)(**(code **)(*plVar1 + 0x160)) (plVar1,&local_res10,*(undefined4 *)(param_2 + 0xb8)); if (*piVar3 != iVar4) { plVar1 = *(longlong **)(param_2 + 0xb0); local_res10 = (int)plVar1[0x1d]; if ((*(byte *)(plVar1 + 0x28) & 1) == 0) { local_res10 = CONCAT13(0xff,(undefined3)local_res10); } (**(code **)(*plVar1 + 0x168))(plVar1,*(undefined4 *)(param_2 + 0xb8),&local_res10); uStack_10 = *(undefined4 *)(param_2 + 0x28); uStack_c = *(undefined4 *)(param_2 + 0x2c); local_18 = 0; FUN_181342870(param_2,&local_18,1); } } } return; } ############ FUN_ 1813bf2d0 size=433 ############ ulonglong FUN_1813bf2d0(longlong param_1) { int *piVar1; uint *puVar2; int iVar3; uint uVar4; longlong lVar5; undefined8 *puVar6; ulonglong uVar7; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; if (*(longlong *)(param_1 + 0xf8) != 0) { FUN_1805014d0(*(undefined8 *)(*(longlong *)(param_1 + 0xf8) + 0x200), (double)*(byte *)(param_1 + 0xea),1); FUN_1805014d0(*(undefined8 *)(*(longlong *)(param_1 + 0x100) + 0x200), (double)*(byte *)(param_1 + 0xe9),1); FUN_1805014d0(*(undefined8 *)(*(longlong *)(param_1 + 0x108) + 0x200), (double)*(byte *)(param_1 + 0xe8),1); FUN_1805014d0(*(undefined8 *)(*(longlong *)(param_1 + 0x110) + 0x200), (double)*(byte *)(param_1 + 0xeb),1); } lVar5 = *(longlong *)(param_1 + 0x118); if (lVar5 != 0) { if (*(float *)(lVar5 + 0xd0) != **(float **)(lVar5 + 0xb8)) { *(float *)(lVar5 + 0xd0) = **(float **)(lVar5 + 0xb8); puVar6 = *(undefined8 **)(lVar5 + 0xd8); *(undefined8 *)(lVar5 + 0xd8) = 0; if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar6)(puVar6,1); } } uStack_20 = *(undefined4 *)(lVar5 + 0x28); uStack_1c = *(undefined4 *)(lVar5 + 0x2c); local_28 = 0; uStack_24 = 0; FUN_181342870(lVar5,&local_28,1); } FUN_180559470(lVar5); (**(code **)(**(longlong **)(param_1 + 0x120) + 0x108))(); } if (*(longlong *)(param_1 + 0x128) != 0) { FUN_180559a50(); } uVar7 = (ulonglong)*(byte *)(param_1 + 0xe0); if (*(byte *)(param_1 + 0xe0) != 0) { uVar7 = 0; puVar2 = (uint *)(*(longlong *)(param_1 + 0xc0) + 0x18); LOCK(); uVar4 = *puVar2; if (uVar4 == 0) { *puVar2 = 1; } else { uVar7 = (ulonglong)uVar4; } UNLOCK(); if ((uVar4 == 0) && (uVar7 = FUN_1812a6720(*(undefined8 *)(param_1 + 0xc0)), (char)uVar7 == '\0')) { uVar7 = *(ulonglong *)(param_1 + 0xc0); LOCK(); *(undefined4 *)(uVar7 + 0x18) = 0; UNLOCK(); } } return uVar7; } ############ FUN_ 180559a50 size=555 ############ void FUN_180559a50(longlong param_1) { uint uVar1; longlong lVar2; undefined8 uVar3; int iVar4; uint *puVar5; int iVar6; float fVar7; undefined4 local_res8; undefined4 local_res10; undefined4 local_res18 [2]; uint local_res20; longlong local_68; longlong local_60 [3]; undefined8 local_48; undefined4 uStack_40; undefined4 uStack_3c; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; local_60[1] = 0xfffffffffffffffe; lVar2 = *(longlong *)(param_1 + 0xb0); if ((*(byte *)(lVar2 + 0x140) & 1) == 0) { local_res10 = CONCAT13(0xff,(int3)*(undefined4 *)(lVar2 + 0xe8)); local_res20 = local_res10; } else { local_res20 = *(uint *)(lVar2 + 0xe8); } if (*(uint *)(param_1 + 0xb8) != local_res20) { *(uint *)(param_1 + 0xb8) = local_res20; uVar1 = DAT_18262b708 >> 0x18; local_res8 = local_res20; if (uVar1 != 0) { iVar4 = 0xff - (local_res20 >> 0x18); iVar6 = 0xff - ((int)((0xff - uVar1) * iVar4) >> 8); if (iVar6 < 1) { local_res8 = DAT_18262b708; } else { iVar4 = (int)(iVar4 * uVar1) / iVar6; local_res8 = CONCAT13((char)iVar6, CONCAT12((char)(((DAT_18262b708 >> 0x10 & 0xff) - (local_res20 >> 0x10 & 0xff)) * iVar4 >> 8) + (char)(local_res20 >> 0x10), CONCAT11((char)(((DAT_18262b708 >> 8 & 0xff) - (local_res20 >> 8 & 0xff)) * iVar4 >> 8) + (char)(local_res20 >> 8), (char)(((DAT_18262b708 & 0xff) - (local_res20 & 0xff)) * iVar4 >> 8) + (char)local_res20))); } } FUN_1812a24b0(&local_res8,local_res18,DAT_1824c3ea4); FUN_18134a800(param_1 + 0xd0,0x1000281,local_res18[0]); FUN_18134a800(param_1 + 0xd0,0x1000284,local_res18[0]); uVar3 = FUN_1812a1ea0(param_1 + 0xb8,&local_68, *(byte *)(*(longlong *)(param_1 + 0xb0) + 0x140) & 1); FUN_181349c50(param_1 + 0xd0,uVar3,0); puVar5 = (uint *)(local_68 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } uVar3 = FUN_1812ea010(param_1 + 0xd0,local_60); fVar7 = (float)FUN_1812518d0(param_1 + 0xc0,uVar3); fVar7 = ceilf(fVar7); *(int *)(param_1 + 200) = (int)fVar7; puVar5 = (uint *)(local_60[0] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_48 = 0; uStack_40 = *(undefined4 *)(param_1 + 0x28); uStack_3c = *(undefined4 *)(param_1 + 0x2c); local_38 = 0; uStack_34 = 0; uStack_30 = uStack_40; uStack_2c = uStack_3c; FUN_181342870(param_1,&local_38,1); } return; } ############ FUN_ 1813c4e80 size=143 ############ void FUN_1813c4e80(longlong *param_1,double param_2) { int iVar1; double dVar2; undefined8 local_18; longlong lStack_10; iVar1 = FUN_1813c7c90(param_1[0x19]); dVar2 = 0.0; if ((0.0 <= param_2) && (dVar2 = (double)iVar1 + DAT_1824c4210, param_2 <= (double)iVar1 + DAT_1824c4210)) { dVar2 = param_2; } if ((double)param_1[0x20] != dVar2) { param_1[0x20] = (longlong)dVar2; (**(code **)(*param_1 + 0x1a8))(param_1); lStack_10 = param_1[5]; local_18 = 0; FUN_181342870(param_1,&local_18,1); } return; } ############ FUN_ 18055ecd0 size=473 ############ void FUN_18055ecd0(longlong *param_1,longlong param_2) { float fVar1; int iVar2; longlong lVar3; undefined8 local_res10; undefined8 local_res18; undefined8 local_38; longlong lStack_30; if ((*(uint *)(param_2 + 0x10) >> 1 & 1) != 0) { local_res10 = *(ulonglong *)(param_2 + 8); FUN_18051db10(&local_res10,param_1[3],*(undefined8 *)(param_2 + 0x38),local_res10); *(ulonglong *)((longlong)param_1 + 0xd4) = local_res10; iVar2 = (int)param_1[0x1b] + -0x20; local_38 = CONCAT44(iVar2,(int)local_res10); lStack_30 = 0x1e000000fa; FUN_18134bfe0(param_1,local_res10 & 0xffffffff,iVar2,0xfa,0x1e); lVar3 = (**(code **)(param_1[0x16] + 8))(param_1 + 0x16); fVar1 = *(float *)(lVar3 + 0x88); *(int *)((longlong)param_1 + 0xd4) = (int)((float)*(int *)((longlong)param_1 + 0xd4) / fVar1); *(int *)(param_1 + 0x1b) = (int)((float)(int)param_1[0x1b] / fVar1); lVar3 = (**(code **)(param_1[0x16] + 8))(param_1 + 0x16); fVar1 = *(float *)(lVar3 + 0x88); local_res18 = (double)*(float *)(param_2 + 0x2c) + DAT_1824c4520; local_res10 = CONCAT44((undefined4)local_res18, SUB84((double)*(float *)(param_2 + 0x28) + DAT_1824c4520,0)); FUN_18051db10(&local_res10,param_1[3],*(undefined8 *)(param_2 + 0x38),local_res10); local_res18 = (double)CONCAT44((int)((float)local_res10._4_4_ / fVar1), (int)((float)(int)local_res10 / fVar1)); *(double *)((longlong)param_1 + 0xdc) = local_res18; *(bool *)(param_1 + 0x1a) = *(char *)(param_2 + 0x59) != '\0'; (**(code **)(*param_1 + 0x58))(param_1,1); lStack_30 = param_1[5]; local_38 = 0; FUN_181342870(param_1,&local_38,1); return; } /* WARNING: Could not recover jumptable at 0x00018055eea5. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x58))(param_1,0); return; } ############ FUN_ 1812e9e30 size=116 ############ void FUN_1812e9e30(longlong param_1,undefined8 param_2) { char cVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; cVar1 = FUN_181252880(param_1 + 0x1b8); if (cVar1 == '\0') { FUN_181252990(param_1 + 0x1b8,param_2); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); } return; } ############ FUN_ 181413d90 size=149 ############ void FUN_181413d90(longlong *param_1) { undefined8 *puVar1; ulonglong uVar2; ulonglong uVar3; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; (**(code **)(*param_1 + 0x108))(); uStack_10 = (undefined4)param_1[5]; uVar2 = 0; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); puVar1 = (undefined8 *)param_1[8]; uVar3 = (ulonglong) ((longlong)(puVar1 + *(int *)((longlong)param_1 + 0x4c)) + (7 - (longlong)puVar1)) >> 3; if (puVar1 + *(int *)((longlong)param_1 + 0x4c) < puVar1) { uVar3 = uVar2; } if (uVar3 != 0) { do { FUN_181413d90(*puVar1); uVar2 = uVar2 + 1; puVar1 = puVar1 + 1; } while (uVar2 != uVar3); } return; } ############ FUN_ 181610f90 size=578 ############ void FUN_181610f90(longlong param_1) { longlong lVar1; ulonglong uVar2; float fVar3; longlong *plVar4; undefined8 uVar5; char *pcVar6; undefined8 *puVar7; float fVar8; float fVar9; undefined8 uVar10; double dVar11; float fVar12; uint uVar13; undefined8 local_68; undefined8 uStack_60; plVar4 = (longlong *)FUN_18119aa60(*(undefined8 *)(param_1 + 0xd0),"stereo mode"); if (*(code **)(*plVar4 + 8) == FUN_1811bf850) { lVar1 = plVar4[0x31]; uVar5 = (**(code **)(*plVar4 + 0x88))(plVar4); uVar10 = FUN_180487220(uVar5,(int)lVar1); fVar8 = (float)FUN_180487300(uVar5,uVar10); } else { fVar8 = (float)(**(code **)(*plVar4 + 8))(plVar4); } fVar12 = DAT_1824c3ea4; *(bool *)(param_1 + 0xd8) = fVar8 == DAT_1824c3ea4; fVar3 = DAT_1824c3d8c; fVar8 = DAT_1824c3c7c; puVar7 = (undefined8 *)(param_1 + 0x288); if (puVar7 != (undefined8 *)(param_1 + 0x2e8)) { uVar13 = (uint)DAT_1824c4f10; uVar2 = (ulonglong)DAT_1824c4f10 >> 0x20; do { plVar4 = (longlong *)*puVar7; dVar11 = (double)(fVar3 - *(float *)(puVar7[1] + 0x188)); if (fVar8 <= (float)(double)CONCAT44((uint)((ulonglong)dVar11 >> 0x20) & (uint)uVar2, SUB84(dVar11,0) & uVar13)) { if (*(code **)(*plVar4 + 8) == FUN_1811bf850) { lVar1 = plVar4[0x31]; uVar5 = (**(code **)(*plVar4 + 0x88))(); uVar10 = FUN_180487220(uVar5,(int)lVar1); fVar9 = (float)FUN_180487300(uVar5,uVar10); } else { fVar9 = (float)(**(code **)(*plVar4 + 8))(); } if (fVar9 == fVar12) { pcVar6 = "alpha"; goto LAB_181611132; } } puVar7 = puVar7 + 2; } while (puVar7 != (undefined8 *)(param_1 + 0x2e8)); } fVar12 = 0.0; pcVar6 = "alpha"; LAB_181611132: FUN_181411be0(param_1 + 0xe0,pcVar6,fVar12,DAT_1824c44dc,DAT_1824c4680); uStack_60 = *(undefined8 *)(param_1 + 0x28); local_68 = 0; FUN_181342870(param_1,&local_68,1); return; } ############ FUN_ 1814c7b40 size=761 ############ void FUN_1814c7b40(longlong *param_1) { uint uVar1; char cVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; bool bVar6; undefined8 *puVar7; DWORD DVar8; undefined8 *puVar9; longlong *plVar10; uint *_Memory; ulonglong uVar11; ulonglong uVar12; ulonglong uVar13; char *local_res8; char *local_res10; undefined1 local_res18 [16]; undefined8 uVar14; undefined **local_48; longlong local_40; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; uVar14 = 0xfffffffffffffffe; plVar10 = (longlong *)param_1[0x1d]; uVar11 = 0; uVar12 = (ulonglong) ((longlong)(plVar10 + *(int *)((longlong)param_1 + 0xf4)) + (7 - (longlong)plVar10)) >> 3 ; if (plVar10 + *(int *)((longlong)param_1 + 0xf4) < plVar10) { uVar12 = uVar11; } uVar13 = uVar11; if (uVar12 != 0) { do { *(undefined1 *)(*plVar10 + 200) = 0; FUN_1814cb140(); plVar10 = plVar10 + 1; uVar13 = uVar13 + 1; } while (uVar13 != uVar12); } uVar12 = param_1[0x1b]; if ((ulonglong)((*(longlong *)(uVar12 + 0x78) - *(longlong *)(uVar12 + 0x70)) / 0x60) <= (ulonglong)(longlong)*(int *)(uVar12 + 0x88)) { if (0 < *(int *)((longlong)param_1 + 0xf4)) { uVar11 = *(ulonglong *) (param_1[0x1d] + (longlong)(*(int *)((longlong)param_1 + 0xf4) + -1) * 8); } if (uVar12 == uVar11) { if ((longlong *)param_1[0x1b6] == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*(longlong *)param_1[0x1b6] + 0x10))(); } } local_res8 = *(char **)(param_1[0x1b] + 0x50); if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } if (*local_res8 != '\0') { puVar9 = (undefined8 *)FUN_18049a930(local_res18,&local_res8); DVar8 = GetFileAttributesW((LPCWSTR)*puVar9); bVar6 = true; if ((DVar8 & 0x10) == 0) goto LAB_1814c7c82; } bVar6 = false; LAB_1814c7c82: if (bVar6) { local_res10 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } FUN_18114e120(param_1[0x29],&local_res10); } lVar3 = *(longlong *)(param_1[0x1b] + 0x58); if (lVar3 != 0) { plVar10 = (longlong *)FUN_1811f0330(param_1[0x27]); (**(code **)(*plVar10 + 0x18))(plVar10,lVar3,1); } puVar9 = *(undefined8 **)(param_1[0x1b] + 0x60); puVar4 = (undefined8 *)*puVar9; while (puVar4 != puVar9) { local_48 = &PTR_vftable_18262b560; local_40 = puVar4[5]; if ((*(uint *)(local_40 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_40 + -0x10) = *(int *)(local_40 + -0x10) + 1; UNLOCK(); } FUN_1811ffd50(param_1[0x27],puVar4[4],&local_48,1,uVar14,puVar4[4]); puVar5 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar5 + 0x19) == '\0') { cVar2 = *(char *)((longlong)*puVar5 + 0x19); puVar4 = puVar5; puVar5 = (undefined8 *)*puVar5; while (cVar2 == '\0') { cVar2 = *(char *)((longlong)*puVar5 + 0x19); puVar4 = puVar5; puVar5 = (undefined8 *)*puVar5; } } else { cVar2 = *(char *)((longlong)puVar4[1] + 0x19); puVar7 = (undefined8 *)puVar4[1]; puVar5 = puVar4; while ((puVar4 = puVar7, cVar2 == '\0' && (puVar5 == (undefined8 *)puVar4[2]))) { cVar2 = *(char *)((longlong)puVar4[1] + 0x19); puVar7 = (undefined8 *)puVar4[1]; puVar5 = puVar4; } } } *(undefined1 *)(param_1[0x1b] + 200) = 1; FUN_1814cb140(); FUN_1814c67f0(param_1); FUN_1814c7ab0(param_1); (**(code **)(*param_1 + 0x108))(param_1); uStack_2c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_30 = (undefined4)param_1[5]; local_38 = 0; uStack_34 = 0; FUN_181342870(param_1,&local_38,1); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 18057c7d0 size=71 ############ void FUN_18057c7d0(longlong param_1,undefined8 param_2,undefined4 *param_3) { longlong lVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x274) = *param_3; lVar1 = *(longlong *)(param_1 + 8); uStack_10 = *(undefined4 *)(lVar1 + 0x28); uStack_c = *(undefined4 *)(lVar1 + 0x2c); local_18 = 0; FUN_181342870(lVar1,&local_18,1); return; } ############ FUN_ 18057dd40 size=71 ############ void FUN_18057dd40(longlong param_1,undefined4 *param_2) { longlong lVar1; longlong lVar2; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; lVar1 = *(longlong *)(param_1 + 8); *(undefined4 *)(lVar1 + 0x270) = *param_2; lVar2 = *(longlong *)(param_1 + 8); uStack_10 = *(undefined4 *)(lVar2 + 0x28); uStack_c = *(undefined4 *)(lVar2 + 0x2c); local_18 = 0; FUN_181342870(lVar2,&local_18,CONCAT71((int7)((ulonglong)lVar1 >> 8),1)); return; } ############ FUN_ 1805876c0 size=194 ############ void FUN_1805876c0(longlong param_1,undefined4 *param_2,undefined4 *param_3) { undefined4 uVar1; undefined4 uVar2; longlong lVar3; undefined8 uVar4; undefined8 *puVar5; undefined8 uVar6; undefined1 local_res8 [8]; undefined8 local_28; undefined4 uStack_20; undefined4 uStack_1c; lVar3 = *(longlong *)(param_1 + 8); uVar1 = *param_2; uVar2 = *param_3; if (*(undefined ***)(lVar3 + 0x208) == CloudyComboBoxRadioButton::vftable) { if (*(longlong *)(lVar3 + 0x210) == 0) { FUN_1805849b0(lVar3); } uVar6 = *(undefined8 *)(lVar3 + 0x210); } else { uVar6 = (*(code *)(*(undefined ***)(lVar3 + 0x208))[1])(lVar3 + 0x208); } uVar4 = *(undefined8 *)(param_1 + 8); puVar5 = (undefined8 *)FUN_18140e230(local_res8,uVar2); FUN_1813f0dc0(uVar6,uVar1,*puVar5,uVar4); lVar3 = *(longlong *)(param_1 + 8); uStack_20 = *(undefined4 *)(lVar3 + 0x28); uStack_1c = *(undefined4 *)(lVar3 + 0x2c); local_28 = 0; FUN_181342870(lVar3,&local_28,1); return; } ############ FUN_ 180587850 size=58 ############ void FUN_180587850(longlong param_1) { longlong lVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; lVar1 = *(longlong *)(param_1 + 8); uStack_10 = *(undefined4 *)(lVar1 + 0x28); uStack_c = *(undefined4 *)(lVar1 + 0x2c); local_18 = 0; FUN_181342870(lVar1,&local_18,1); return; } ############ FUN_ 180587950 size=71 ############ void FUN_180587950(longlong param_1,undefined8 param_2,undefined4 *param_3) { longlong lVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x3d4) = *param_3; lVar1 = *(longlong *)(param_1 + 8); uStack_10 = *(undefined4 *)(lVar1 + 0x28); uStack_c = *(undefined4 *)(lVar1 + 0x2c); local_18 = 0; FUN_181342870(lVar1,&local_18,1); return; } ############ FUN_ 180587f00 size=202 ############ void FUN_180587f00(longlong param_1,undefined4 *param_2,undefined4 *param_3) { undefined4 uVar1; undefined4 uVar2; longlong lVar3; code *pcVar4; undefined8 *puVar5; undefined8 uVar6; undefined1 local_res8 [8]; undefined8 local_28; undefined4 uStack_20; undefined4 uStack_1c; lVar3 = *(longlong *)(param_1 + 8); uVar1 = *param_2; uVar2 = *param_3; pcVar4 = *(code **)(*(longlong *)(lVar3 + 0xb0) + 8); if (pcVar4 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(lVar3 + 0xb8) == 0) { FUN_180569ff0(lVar3); } uVar6 = *(undefined8 *)(lVar3 + 0xb8); } else { uVar6 = (*pcVar4)(lVar3 + 0xb0); } lVar3 = *(longlong *)(param_1 + 8); puVar5 = (undefined8 *)FUN_18140e230(local_res8,uVar2); FUN_1813f0dc0(uVar6,uVar1,*puVar5,lVar3 + 0x390); lVar3 = *(longlong *)(param_1 + 8); uStack_20 = *(undefined4 *)(lVar3 + 0x28); uStack_1c = *(undefined4 *)(lVar3 + 0x2c); local_28 = 0; FUN_181342870(lVar3,&local_28,1); return; } ############ FUN_ 180588070 size=202 ############ void FUN_180588070(longlong param_1,undefined4 *param_2,undefined4 *param_3) { undefined4 uVar1; undefined4 uVar2; longlong lVar3; code *pcVar4; undefined8 *puVar5; undefined8 uVar6; undefined1 local_res8 [8]; undefined8 local_28; undefined4 uStack_20; undefined4 uStack_1c; lVar3 = *(longlong *)(param_1 + 8); uVar1 = *param_2; uVar2 = *param_3; pcVar4 = *(code **)(*(longlong *)(lVar3 + 0xb0) + 8); if (pcVar4 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(lVar3 + 0xb8) == 0) { FUN_180569ff0(lVar3); } uVar6 = *(undefined8 *)(lVar3 + 0xb8); } else { uVar6 = (*pcVar4)(lVar3 + 0xb0); } lVar3 = *(longlong *)(param_1 + 8); puVar5 = (undefined8 *)FUN_18140e230(local_res8,uVar2); FUN_1813f0dc0(uVar6,uVar1,*puVar5,lVar3 + 0x358); lVar3 = *(longlong *)(param_1 + 8); uStack_20 = *(undefined4 *)(lVar3 + 0x28); uStack_1c = *(undefined4 *)(lVar3 + 0x2c); local_28 = 0; FUN_181342870(lVar3,&local_28,1); return; } ############ FUN_ 1805920e0 size=71 ############ void FUN_1805920e0(longlong param_1,undefined8 param_2,undefined4 *param_3) { longlong lVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x470) = *param_3; lVar1 = *(longlong *)(param_1 + 8); uStack_10 = *(undefined4 *)(lVar1 + 0x28); uStack_c = *(undefined4 *)(lVar1 + 0x2c); local_18 = 0; FUN_181342870(lVar1,&local_18,1); return; } ############ FUN_ 1805981c0 size=196 ############ void FUN_1805981c0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { bool bVar1; char cVar2; longlong lVar3; undefined8 uVar4; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uVar4 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 8) == 0) { lVar3 = 0; } else { lVar3 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x10); } if (((*(char *)(*(longlong *)(param_1 + 0x58) + 499) == '\0') && (0 < *(int *)(lVar3 + 0x28))) && (0 < *(int *)(lVar3 + 0x2c))) { cVar2 = FUN_180598290(lVar3); if (cVar2 != '\0') { bVar1 = true; goto LAB_180598218; } } bVar1 = false; LAB_180598218: if (!bVar1) { FUN_180597f80(param_1); return; } if (*(longlong *)(lVar3 + 0x68) != 0) { uStack_10 = *(undefined4 *)(lVar3 + 0x28); uStack_c = *(undefined4 *)(lVar3 + 0x2c); local_18 = 0; FUN_181342870(lVar3,&local_18,1,param_4,uVar4); return; } FUN_180598300(param_1); return; } ############ FUN_ 18059d520 size=121 ############ void FUN_18059d520(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181405270(*(undefined8 *)(param_1 + 0x240),0,*(undefined4 *)(param_1 + 0x268), *(undefined4 *)(param_1 + 0x288),*(undefined4 *)(param_1 + 0x28c)); uStack_10 = *(undefined4 *)(param_1 + -0xb0); uStack_c = *(undefined4 *)(param_1 + -0xac); local_18 = 0; FUN_181342870(param_1 + -0xd8,&local_18,1); return; } ############ FUN_ 18059e8d0 size=71 ############ void FUN_18059e8d0(longlong param_1,undefined8 param_2,undefined4 *param_3) { longlong lVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined4 *)(*(longlong *)(param_1 + 8) + 0x34c) = *param_3; lVar1 = *(longlong *)(param_1 + 8); uStack_10 = *(undefined4 *)(lVar1 + 0x28); uStack_c = *(undefined4 *)(lVar1 + 0x2c); local_18 = 0; FUN_181342870(lVar1,&local_18,1); return; } ############ FUN_ 1812b92b0 size=75 ############ void FUN_1812b92b0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181348f10(param_1 + 0xd8); uStack_10 = *(undefined4 *)(param_1 + 0x100); uStack_c = *(undefined4 *)(param_1 + 0x104); local_18 = 0; FUN_181342870(param_1 + 0xd8,&local_18,1); return; } ############ FUN_ 1812b9310 size=85 ############ void FUN_1812b9310(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181348d80(*(undefined8 *)(param_1 + 0x138)); FUN_181348f10(param_1 + 0x20); uStack_10 = *(undefined4 *)(param_1 + 0x48); uStack_c = *(undefined4 *)(param_1 + 0x4c); local_18 = 0; FUN_181342870(param_1 + 0x20,&local_18,1); return; } ############ FUN_ 181348d80 size=123 ############ ulonglong FUN_181348d80(longlong param_1) { uint *puVar1; uint uVar2; ulonglong uVar3; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; *(undefined1 *)(param_1 + 0xea) = 1; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; uStack_14 = 0; FUN_181342870(0,&local_18,1); uVar3 = 0; puVar1 = (uint *)(*(longlong *)(param_1 + 0xb8) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { uVar3 = (ulonglong)uVar2; } UNLOCK(); if (uVar2 == 0) { uVar3 = FUN_1812a6720(*(undefined8 *)(param_1 + 0xb8)); if ((char)uVar3 == '\0') { uVar3 = *(ulonglong *)(param_1 + 0xb8); LOCK(); *(undefined4 *)(uVar3 + 0x18) = 0; UNLOCK(); } } return uVar3; } ############ FUN_ 1812cf0f0 size=667 ############ void FUN_1812cf0f0(longlong *param_1) { bool bVar1; char cVar2; longlong *plVar3; int *piVar4; longlong lVar5; undefined8 uVar6; int local_38; int iStack_34; int iStack_30; int iStack_2c; undefined1 local_28 [16]; undefined1 local_18 [16]; if ((*(byte *)(param_1 + 0x15) & 1) == 0) { cVar2 = *(char *)((longlong)param_1 + 0xe2); LAB_1812cf14b: if (cVar2 == '\0') goto LAB_1812cf14d; } else { if ((*(byte *)(param_1 + 0x15) & 1) == 0) { if (param_1[3] != 0) { plVar3 = (longlong *)FUN_18134c2e0(); goto LAB_1812cf132; } } else { plVar3 = (longlong *)FUN_1812d2bd0(); LAB_1812cf132: if (plVar3 != (longlong *)0x0) { cVar2 = (**(code **)(*plVar3 + 0x78))(plVar3); goto LAB_1812cf14b; } } LAB_1812cf14d: cVar2 = FUN_1812ce2f0(param_1); if (cVar2 == '\0') { if (*(char *)((longlong)param_1 + 0xb1) == '\0') { LAB_1812cf17c: bVar1 = false; } else { if ((*(byte *)(param_1 + 0x15) & 1) == 0) { cVar2 = FUN_181345240(param_1); if (cVar2 != '\0') goto LAB_1812cf17c; } bVar1 = true; } if (!bVar1) { bVar1 = false; goto LAB_1812cf18a; } } } bVar1 = true; LAB_1812cf18a: plVar3 = (longlong *)param_1[0x19]; uVar6 = 0; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x58))(plVar3,!bVar1); piVar4 = (int *)(**(code **)(*param_1 + 0x168))(param_1,local_28); local_38 = *piVar4; iStack_34 = piVar4[1]; iStack_30 = piVar4[2]; iStack_2c = piVar4[3]; lVar5 = param_1[0x19]; if ((((*(int *)(lVar5 + 0xc0) != local_38) || (*(int *)(lVar5 + 0xc4) != iStack_34)) || (*(int *)(lVar5 + 200) != iStack_30)) || (*(int *)(lVar5 + 0xcc) != iStack_2c)) { *(int *)(lVar5 + 0xc0) = local_38; *(int *)(lVar5 + 0xc4) = iStack_34; *(int *)(lVar5 + 200) = iStack_30; *(int *)(lVar5 + 0xcc) = iStack_2c; iStack_30 = *(int *)(lVar5 + 0x28); iStack_2c = *(int *)(lVar5 + 0x2c); local_38 = 0; iStack_34 = 0; FUN_181342870(lVar5,&local_38,1); } lVar5 = param_1[0x19]; FUN_18134bfe0(lVar5,*(undefined4 *)(lVar5 + 0x20),*(undefined4 *)(lVar5 + 0x24),(int)param_1[5], *(undefined4 *)((longlong)param_1 + 0x2c)); FUN_181344d70(param_1[0x19]); } plVar3 = (longlong *)param_1[0x18]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x58))(plVar3,!bVar1); FUN_18134bfe0(param_1[0x18],(int)param_1[5] + -0x12,*(int *)((longlong)param_1 + 0x2c) + -0x12, 0x12,0x12); } if ((param_1[0x1a] != 0) && (*(longlong *)(param_1[0x1a] + 0x10) != 0)) { piVar4 = (int *)(**(code **)(*param_1 + 0x170))(param_1,local_28); local_38 = *piVar4; iStack_34 = piVar4[1]; iStack_30 = piVar4[2]; iStack_2c = piVar4[3]; if (param_1[0x1a] != 0) { uVar6 = *(undefined8 *)(param_1[0x1a] + 0x10); } piVar4 = (int *)FUN_1804e4fb0(local_18,uVar6); FUN_18134bfe0(uVar6,*piVar4 + iStack_34,piVar4[1] + local_38,(piVar4[2] - iStack_34) - iStack_2c ,(piVar4[3] - local_38) - iStack_30); } cVar2 = FUN_181345240(param_1); if (cVar2 != '\0') { FUN_1812ce210(param_1); if ((*(byte *)(param_1 + 0x15) & 1) != 0) { lVar5 = FUN_1812d2bd0(param_1); if (lVar5 != 0) { *(longlong *)(lVar5 + 0x28) = param_1[0x27]; } } } return; } ############ FUN_ 1812d2f60 size=525 ############ void FUN_1812d2f60(longlong param_1) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; code *pcVar5; longlong lVar6; float fVar7; int iStackX_14; undefined8 local_58; undefined8 uStack_50; undefined4 local_48; undefined4 uStack_44; float fStack_40; float fStack_3c; float local_38; float fStack_34; float fStack_30; float fStack_2c; uStack_50 = *(undefined8 *)(param_1 + 0x28); local_58 = 0; FUN_181342870(param_1,&local_58,1); puVar3 = *(undefined8 **)(param_1 + 0x120); *(undefined8 *)(param_1 + 0x120) = 0; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *(undefined8 *)(param_1 + 0xdc) = 0; *(undefined8 *)(param_1 + 0xe4) = 0; *(undefined4 *)(param_1 + 0xec) = 0; lVar6 = FUN_18134adf0(param_1); fStack_3c = (float)*(int *)(param_1 + 0x2c); lVar4 = *(longlong *)(param_1 + 200); fStack_40 = (float)*(int *)(param_1 + 0x28); local_48 = 0; uStack_44 = 0; local_38 = (float)*(int *)(lVar4 + 0x20) - DAT_1824c4348; fStack_34 = (float)*(int *)(lVar4 + 0x24) - DAT_1824c4348; fStack_30 = (float)*(int *)(lVar4 + 0x28) + DAT_1824c43e4; pcVar5 = *(code **)(*(longlong *)(lVar6 + 0xa0) + 0x18); if (fStack_30 <= 0.0) { fStack_30 = 0.0; } fStack_2c = (float)*(int *)(lVar4 + 0x2c) + DAT_1824c43e4; if (fStack_2c <= 0.0) { fStack_2c = 0.0; } fVar7 = DAT_1824c43e4; if (pcVar5 != FUN_181307920) { fVar7 = (float)(*pcVar5)((longlong *)(lVar6 + 0xa0),param_1,pcVar5,fStack_34); } iStackX_14 = (int)((ulonglong)*(undefined8 *)(param_1 + 0x20) >> 0x20); FUN_18129c020(param_1 + 0xd0,&local_38,&local_48, CONCAT44(*(float *)(param_1 + 0xfc) - (float)iStackX_14, *(float *)(param_1 + 0xf8) - (float)(int)*(undefined8 *)(param_1 + 0x20)), fVar7,*(float *)(param_1 + 0x128) * DAT_1824c3df0); return; } ############ FUN_ 1812d8830 size=455 ############ void FUN_1812d8830(longlong param_1,int param_2) { char cVar1; int iVar2; int iVar3; int iVar4; longlong lVar5; longlong *plVar6; longlong *plVar7; bool bVar8; longlong local_28; undefined4 uStack_20; undefined4 uStack_1c; lVar5 = *(longlong *)(param_1 + 0x108); if (lVar5 != 0) { iVar2 = FUN_1812d5d90(lVar5); iVar2 = iVar2 - (uint)(*(char *)(param_1 + 0x126) == '\0'); if (0 < iVar2) { iVar3 = 0; lVar5 = FUN_1812d5b00(lVar5,0); if (lVar5 != 0) { iVar3 = FUN_1812d5a10(lVar5); } iVar3 = iVar3 + param_2; iVar2 = iVar2 + -1; if (iVar3 < 0) { iVar3 = 0; } else if (iVar2 < iVar3) { iVar3 = iVar2; } do { iVar4 = iVar3; if (*(char *)(param_1 + 0x126) == '\0') { iVar4 = iVar3 + 1; } if (*(longlong *)(param_1 + 0x108) == 0) { return; } if (iVar4 < 0) { return; } plVar6 = (longlong *)FUN_1812d5d00(); if (plVar6 == (longlong *)0x0) { return; } if ((*(code **)(*plVar6 + 0x30) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) || (cVar1 = (**(code **)(*plVar6 + 0x30))(plVar6), cVar1 != '\0')) { if ((*(code **)(*plVar6 + 0x30) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) || (cVar1 = (**(code **)(*plVar6 + 0x30))(plVar6), cVar1 != '\0')) { plVar7 = plVar6; if (plVar6[2] != 0) { plVar7 = (longlong *)FUN_1812d5e40(); } FUN_1812d6cb0(plVar7,plVar6); if ((*(byte *)(plVar6 + 8) & 1) == 0) { lVar5 = plVar6[1]; *(byte *)(plVar6 + 8) = *(byte *)(plVar6 + 8) | 1; if (lVar5 != 0) { uStack_20 = *(undefined4 *)(lVar5 + 0x28); uStack_1c = *(undefined4 *)(lVar5 + 0x2c); local_28 = 0; FUN_181342870(lVar5,&local_28,1); } (**(code **)(*plVar6 + 0x70))(plVar6,1); } } FUN_1812d8760(param_1,plVar6); return; } iVar4 = 1; if (param_2 < 0) { iVar4 = -1; } iVar4 = iVar4 + iVar3; if (iVar4 < 0) { iVar4 = 0; } else if (iVar2 < iVar4) { iVar4 = iVar2; } bVar8 = iVar3 != iVar4; iVar3 = iVar4; } while (bVar8); } } return; } ############ FUN_ 1812d8a00 size=54 ############ void FUN_1812d8a00(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812d8c90 size=97 ############ void FUN_1812d8c90(longlong param_1) { longlong lVar1; undefined1 local_res8 [32]; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; lVar1 = FUN_18134a8d0(param_1,local_res8,0x1000500,0); FUN_18134bd50(param_1,*(char *)(lVar1 + 3) == -1); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 1812d9260 size=822 ############ void FUN_1812d9260(longlong param_1) { int iVar1; int iVar2; longlong lVar3; longlong *plVar4; code *pcVar5; double dVar6; char cVar7; int iVar8; int *piVar9; int iVar10; int iVar11; int iVar12; longlong *plVar13; ulonglong uVar14; double dVar15; undefined8 local_res10; int local_res18 [2]; int local_res20 [2]; undefined8 in_stack_ffffffffffffff48; undefined4 uVar17; int *piVar16; int local_a8; int local_a4; longlong local_a0; undefined8 local_98; int local_90; int iStack_8c; undefined8 local_88; undefined4 uStack_80; undefined4 uStack_7c; undefined8 local_78; longlong lStack_70; uVar17 = (undefined4)((ulonglong)in_stack_ffffffffffffff48 >> 0x20); piVar9 = (int *)FUN_1804e4fb0(&local_78,param_1 + 0xd8); local_90 = piVar9[2] + -2; iStack_8c = piVar9[3] + -2; local_98 = CONCAT44(piVar9[1] + 1,*piVar9 + 1); piVar16 = (int *)CONCAT44(uVar17,iStack_8c); FUN_18134bfe0(param_1 + 0xd8,*piVar9 + 1,piVar9[1] + 1,local_90,piVar16); dVar6 = DAT_1824c4520; uVar17 = (undefined4)((ulonglong)piVar16 >> 0x20); uVar14 = 0; if (*(longlong *)(param_1 + 600) == 0) { local_a0 = 0; } else { local_a0 = *(longlong *)(*(longlong *)(param_1 + 600) + 0x10); } iVar1 = *(int *)(param_1 + 0x100); iVar2 = *(int *)(param_1 + 0x270); lVar3 = *(longlong *)(param_1 + 0xd0); if (*(char *)(lVar3 + 0xd8) == '\0') { iVar11 = *(int *)(lVar3 + 0x2c); } else { iVar11 = *(int *)(lVar3 + 0x28); } plVar13 = *(longlong **)(param_1 + 0x290); iVar10 = 8; iVar12 = 8; local_a8 = 0; local_98 = (ulonglong)((longlong)(plVar13 + *(int *)(param_1 + 0x29c)) + (7 - (longlong)plVar13)) >> 3; if (plVar13 + *(int *)(param_1 + 0x29c) < plVar13) { local_98 = uVar14; } iVar8 = 0; if (local_98 != 0) { do { uVar17 = (undefined4)((ulonglong)piVar16 >> 0x20); plVar4 = (longlong *)*plVar13; local_a4 = *(int *)(*(longlong *)(param_1 + 0xd0) + 0xdc); pcVar5 = *(code **)(*plVar4 + 0x188); if (pcVar5 == FUN_1812daf50) { if ((int)plVar4[0x3a] != local_a4) { *(int *)(plVar4 + 0x3a) = local_a4; uStack_80 = (undefined4)plVar4[5]; uStack_7c = *(undefined4 *)((longlong)plVar4 + 0x2c); lStack_70 = plVar4[5]; local_88 = 0; local_78 = 0; FUN_181342870(plVar4,&local_78,0x1812daf01); (**(code **)(*plVar4 + 0x108))(plVar4); } } else { (*pcVar5)(plVar4,&local_a4,pcVar5,0); } local_res10 = (double)CONCAT44(local_res10._4_4_,1); local_res20[0] = 1; local_res18[0] = 1; if (*(code **)(*plVar4 + 400) == FUN_180509850) { if (0.0 < *(float *)(plVar4 + 0x40)) { dVar15 = (double)((float)iVar11 * *(float *)(plVar4 + 0x40)) + dVar6; local_res18[0] = SUB84(dVar15,0); local_res20[0] = local_res18[0]; if ((*(char *)((longlong)plVar4 + 0x204) == '\0') && (local_res20[0] = 4, local_res18[0] < 4)) { local_res20[0] = local_res18[0]; } local_res10._4_4_ = (undefined4)((ulonglong)dVar15 >> 0x20); iVar8 = local_res18[0]; if (*(int *)((longlong)plVar4 + 0x1cc) == 2) { local_res18[0] = iVar11 / (int)((*(char *)((longlong)plVar4 + 0x204) != '\0') + 2); local_res10 = (double)CONCAT44(local_res10._4_4_,local_res18[0]); iVar8 = local_res18[0]; dVar15 = local_res10; } } else { local_res20[0] = 4; local_res10 = (double)CONCAT44(local_res10._4_4_,iVar11 * 2); local_res18[0] = 0x8000; iVar8 = iVar11 * 2; dVar15 = local_res10; } LAB_1812d94ad: local_res10 = dVar15; if (((iVar1 - iVar2) + -8 < iVar8 + iVar10) && (8 < iVar10)) { iVar10 = 8; iVar12 = iVar12 + iVar11; } piVar16 = (int *)CONCAT44(uVar17,iVar11); FUN_18134bfe0(plVar4,iVar10,iVar12,iVar8,piVar16); iVar10 = iVar10 + (int)local_res10 + 8; if (local_a8 < iVar10) { local_a8 = iVar10; } } else { piVar16 = local_res20; cVar7 = (**(code **)(*plVar4 + 400))(plVar4,iVar11,0,&local_res10,piVar16,local_res18); uVar17 = (undefined4)((ulonglong)piVar16 >> 0x20); if (cVar7 != '\0') { iVar8 = (int)local_res10; dVar15 = local_res10; goto LAB_1812d94ad; } } uVar17 = (undefined4)((ulonglong)piVar16 >> 0x20); plVar13 = plVar13 + 1; uVar14 = uVar14 + 1; iVar8 = local_a8; } while (uVar14 != local_98); } FUN_18134bfe0(local_a0,*(undefined4 *)(local_a0 + 0x20),*(undefined4 *)(local_a0 + 0x24),iVar8, CONCAT44(uVar17,iVar11 + 8 + iVar12)); return; } ############ FUN_ 1812daf50 size=94 ############ void FUN_1812daf50(longlong *param_1,int *param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if ((int)param_1[0x3a] != *param_2) { *(int *)(param_1 + 0x3a) = *param_2; uStack_10 = (undefined4)param_1[5]; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); /* WARNING: Could not recover jumptable at 0x0001812dafa1. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x108))(param_1); return; } return; } ############ FUN_ 1812dd0f0 size=79 ############ void FUN_1812dd0f0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_18051b540(param_1 + 0x260); uStack_10 = *(undefined4 *)(param_1 + -0x88); uStack_c = *(undefined4 *)(param_1 + -0x84); local_18 = 0; FUN_181342870(param_1 + -0xb0,&local_18,1); return; } ############ FUN_ 1812dd570 size=207 ############ void FUN_1812dd570(longlong param_1) { longlong *plVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_1812e1fc0(); *(undefined1 *)(param_1 + 500) = 0; FUN_1812a7720(*(longlong *)(param_1 + 0x1d0) + 0xb0); *(undefined4 *)(param_1 + 0x31c) = 0; if (*(int *)(param_1 + 0x318) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x310)); } *(undefined4 *)(param_1 + 0x318) = 0; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812dd5f8; plVar1 = (longlong *)FUN_18134c2e0(); } else { plVar1 = (longlong *)FUN_1812d2bd0(param_1); } if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0xd8))(plVar1); } LAB_1812dd5f8: FUN_1812e16d0(param_1); FUN_1813416b0(param_1,0x10003004); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 1812e1950 size=68 ############ void FUN_1812e1950(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_1812e1780(); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 1812e19b0 size=106 ############ void FUN_1812e19b0(longlong param_1) { undefined8 *puVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; puVar1 = *(undefined8 **)(param_1 + 0x278); *(undefined8 *)(param_1 + 0x278) = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1812e1780(param_1); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 1812e1a20 size=568 ############ void FUN_1812e1a20(longlong param_1,undefined8 param_2,undefined1 param_3) { longlong *plVar1; uint uVar2; byte bVar3; int iVar4; longlong lVar5; char cVar6; undefined8 *puVar7; uint *puVar8; byte *pbVar9; longlong *plVar10; longlong *plVar11; longlong lVar12; longlong *plVar13; undefined4 uVar14; longlong local_res8 [2]; undefined4 local_res18 [2]; longlong local_res20; undefined8 uVar15; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; local_res18[0] = CONCAT31(local_res18[0]._1_3_,param_3); uVar15 = 0xfffffffffffffffe; FUN_181252990(param_1 + 0x298); FUN_18134a8d0(param_1,local_res18,0x1000201,0,uVar15); plVar13 = *(longlong **)(param_1 + 0x2a8); plVar1 = plVar13 + *(int *)(param_1 + 0x2b4); do { if (plVar13 == plVar1) { FUN_1812db150(param_1); FUN_1812e0480(param_1); FUN_1812e0240(param_1); uStack_40 = *(undefined4 *)(param_1 + 0x28); uStack_3c = *(undefined4 *)(param_1 + 0x2c); local_48 = 0; uStack_44 = 0; FUN_181342870(param_1,&local_48,1); return; } lVar5 = *plVar13; iVar4 = *(int *)(param_1 + 0x2c4); cVar6 = FUN_181252880(lVar5,param_2); if ((cVar6 == '\0') || (*(int *)(lVar5 + 0x20) != iVar4)) { FUN_181252990(lVar5,param_2); *(int *)(lVar5 + 0x20) = iVar4; plVar10 = *(longlong **)(lVar5 + 0x10); plVar11 = plVar10 + (longlong)*(int *)(lVar5 + 0x1c) * 2; if (plVar10 != plVar11) { LAB_1812e1ad8: if (*(int *)(lVar5 + 0x20) != 0) { puVar7 = (undefined8 *)FUN_181233f40(&local_res20); pbVar9 = (byte *)*plVar10; lVar12 = 0; LAB_1812e1b20: do { bVar3 = *pbVar9; pbVar9 = pbVar9 + 1; if ((char)bVar3 < '\0') { if ((*pbVar9 & 0xc0) == 0x80) { do { pbVar9 = pbVar9 + 1; } while ((*pbVar9 & 0xc0) == 0x80); lVar12 = lVar12 + 1; goto LAB_1812e1b20; } } else if (bVar3 == 0) goto LAB_1812e1b5a; lVar12 = lVar12 + 1; } while( true ); } local_res8[0] = *plVar10; if ((*(uint *)(local_res8[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8[0] + -0x10) = *(int *)(local_res8[0] + -0x10) + 1; UNLOCK(); } goto LAB_1812e1b9b; } } LAB_1812e1be7: *(undefined4 *)(lVar5 + 8) = local_res18[0]; plVar13 = plVar13 + 1; } while( true ); LAB_1812e1b5a: FUN_181231fc0(local_res8,*puVar7,lVar12,puVar7,uVar15,*puVar7); puVar8 = (uint *)(local_res20 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } LAB_1812e1b9b: uVar14 = FUN_1812518d0(param_2,local_res8); *(undefined4 *)(plVar10 + 1) = uVar14; puVar8 = (uint *)(local_res8[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } plVar10 = plVar10 + 2; if (plVar10 == plVar11) goto LAB_1812e1be7; goto LAB_1812e1ad8; } ############ FUN_ 1812e4b50 size=459 ############ void FUN_1812e4b50(longlong param_1,int param_2,int param_3) { int *piVar1; longlong lVar2; double dVar3; char cVar4; int iVar5; uint uVar6; ulonglong uVar7; longlong lVar8; int iVar9; uint uVar10; undefined8 *puVar11; bool bVar12; undefined4 uVar13; undefined4 uVar14; undefined8 *local_60; undefined8 local_58; undefined8 local_48; undefined4 uStack_40; undefined4 uStack_3c; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; uVar7 = (ulonglong)param_2; uVar10 = 0; if (param_3 < 0) { param_3 = 0; } local_60 = (undefined8 *)0x0; local_58 = 0; if (param_2 < *(int *)(param_1 + 0xcc)) { lVar8 = uVar7 * 8; iVar9 = param_2; do { lVar2 = *(longlong *)(lVar8 + *(longlong *)(param_1 + 0xc0)); if ((*(byte *)(lVar2 + 0xc) & 1) != 0) { FUN_18131ae50(&local_60,*(undefined8 *)(lVar2 + 0x20),(double)*(int *)(lVar2 + 0x14), (double)*(int *)(lVar2 + 0x18),0); } iVar9 = iVar9 + 1; lVar8 = lVar8 + 8; } while (iVar9 < *(int *)(param_1 + 0xcc)); } FUN_18131abb0(&local_60,(double)param_3); if (param_2 < *(int *)(param_1 + 0xcc)) { lVar8 = uVar7 * 8; puVar11 = local_60; do { lVar2 = *(longlong *)(lVar8 + *(longlong *)(param_1 + 0xc0)); if ((*(byte *)(lVar2 + 0xc) & 1) != 0) { if (uVar10 < local_58._4_4_) { uVar13 = (undefined4)*puVar11; uVar14 = (undefined4)((ulonglong)*puVar11 >> 0x20); } else { uVar13 = 0; uVar14 = 0; } uVar10 = uVar10 + 1; puVar11 = puVar11 + 4; dVar3 = floor((double)CONCAT44(uVar14,uVar13)); iVar5 = (int)dVar3; iVar9 = *(int *)(lVar2 + 0x14); if ((*(int *)(lVar2 + 0x14) <= iVar5) && (iVar9 = iVar5, *(int *)(lVar2 + 0x18) < iVar5)) { iVar9 = *(int *)(lVar2 + 0x18); } if (iVar9 != *(int *)(lVar2 + 0x10)) { *(int *)(lVar2 + 0x10) = iVar9; uStack_3c = *(undefined4 *)(param_1 + 0x2c); uStack_40 = *(undefined4 *)(param_1 + 0x28); local_48 = 0; local_38 = 0; uStack_34 = 0; uStack_30 = uStack_40; uStack_2c = uStack_3c; FUN_181342870(param_1,&local_38,1); *(undefined1 *)(param_1 + 0xe9) = 1; piVar1 = (int *)(*(longlong *)(param_1 + 0xb8) + 0x18); LOCK(); bVar12 = *piVar1 == 0; if (bVar12) { *piVar1 = 1; } UNLOCK(); if ((bVar12) && (cVar4 = FUN_1812a6720(*(undefined8 *)(param_1 + 0xb8)), cVar4 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0xb8) + 0x18) = 0; UNLOCK(); } } } uVar6 = (int)uVar7 + 1; uVar7 = (ulonglong)uVar6; lVar8 = lVar8 + 8; } while ((int)uVar6 < *(int *)(param_1 + 0xcc)); } /* WARNING: Could not recover jumptable at 0x0001812e4d14. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_60); return; } ############ FUN_ 1812e2ab0 size=65 ############ void FUN_1812e2ab0(longlong param_1,undefined8 param_2,undefined4 param_3) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined4 *)(param_1 + 0x18) = param_3; uStack_10 = *(undefined4 *)(param_1 + -0xe8); uStack_c = *(undefined4 *)(param_1 + -0xe4); local_18 = 0; FUN_181342870(param_1 + -0x110,&local_18,1); return; } ############ FUN_ 1812e2ba0 size=179 ############ void FUN_1812e2ba0(longlong param_1) { longlong *plVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uVar2 = 0; plVar1 = *(longlong **)(*(longlong *)(param_1 + 8) + 0xc0); uVar5 = (ulonglong) ((longlong)(plVar1 + *(int *)(*(longlong *)(param_1 + 8) + 0xcc)) + (7 - (longlong)plVar1) ) >> 3; if (plVar1 + *(int *)(*(longlong *)(param_1 + 8) + 0xcc) < plVar1) { uVar5 = uVar2; } uVar4 = uVar2; if (uVar5 != 0) { do { if ((*(byte *)(*plVar1 + 0xc) & 1) != 0) { uVar4 = (ulonglong)(uint)((int)uVar4 + *(int *)(*plVar1 + 0x10)); } plVar1 = plVar1 + 1; uVar2 = uVar2 + 1; } while (uVar2 != uVar5); } lVar3 = param_1 + -0x110; *(int *)(param_1 + -0x18) = (int)uVar4; FUN_181348f10(lVar3); uStack_10 = *(undefined4 *)(param_1 + -0xe8); uStack_c = *(undefined4 *)(param_1 + -0xe4); local_18 = 0; FUN_181342870(lVar3,&local_18,1); FUN_1812e2790(lVar3); return; } ############ FUN_ 1812e2c60 size=179 ############ void FUN_1812e2c60(longlong param_1) { longlong *plVar1; ulonglong uVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uVar2 = 0; plVar1 = *(longlong **)(*(longlong *)(param_1 + 8) + 0xc0); uVar5 = (ulonglong) ((longlong)(plVar1 + *(int *)(*(longlong *)(param_1 + 8) + 0xcc)) + (7 - (longlong)plVar1) ) >> 3; if (plVar1 + *(int *)(*(longlong *)(param_1 + 8) + 0xcc) < plVar1) { uVar5 = uVar2; } uVar4 = uVar2; if (uVar5 != 0) { do { if ((*(byte *)(*plVar1 + 0xc) & 1) != 0) { uVar4 = (ulonglong)(uint)((int)uVar4 + *(int *)(*plVar1 + 0x10)); } plVar1 = plVar1 + 1; uVar2 = uVar2 + 1; } while (uVar2 != uVar5); } lVar3 = param_1 + -0x110; *(int *)(param_1 + -0x18) = (int)uVar4; FUN_181348f10(lVar3); uStack_10 = *(undefined4 *)(param_1 + -0xe8); uStack_c = *(undefined4 *)(param_1 + -0xe4); local_18 = 0; FUN_181342870(lVar3,&local_18,1); FUN_1812e2790(lVar3); return; } ############ FUN_ 1812e4f80 size=489 ############ ulonglong FUN_1812e4f80(longlong param_1,int param_2,int param_3) { uint *puVar1; int iVar2; longlong lVar3; int iVar4; undefined4 uVar5; ulonglong uVar6; int *piVar7; longlong *plVar8; ulonglong uVar9; uint uVar10; uint uVar11; longlong *plVar12; ulonglong uVar13; ulonglong uVar14; undefined8 local_28; undefined8 uStack_20; undefined1 local_18 [16]; plVar12 = *(longlong **)(param_1 + 0xc0); uVar6 = (ulonglong)*(int *)(param_1 + 0xcc); plVar8 = plVar12 + uVar6; if (plVar12 != plVar8) { while (lVar3 = *plVar12, *(int *)(lVar3 + 8) != param_2) { plVar12 = plVar12 + 1; if (plVar12 == plVar8) { return uVar6; } } if (*(int *)(lVar3 + 0x10) != param_3) { plVar8 = *(longlong **)(param_1 + 0xc0); uVar6 = 0; uVar10 = 0; uVar9 = (ulonglong)((longlong)(plVar8 + *(int *)(param_1 + 0xcc)) + (7 - (longlong)plVar8)) >> 3; if (plVar8 + *(int *)(param_1 + 0xcc) < plVar8) { uVar9 = uVar6; } uVar13 = uVar6; uVar14 = uVar6; if (uVar9 != 0) { do { if ((*(byte *)(*plVar8 + 0xc) & 1) != 0) { uVar14 = (ulonglong)((int)uVar14 + 1); } uVar10 = (uint)uVar14; plVar8 = plVar8 + 1; uVar13 = uVar13 + 1; } while (uVar13 != uVar9); } iVar4 = *(int *)(lVar3 + 0x14); if ((*(int *)(lVar3 + 0x14) <= param_3) && (iVar4 = param_3, *(int *)(lVar3 + 0x18) < param_3) ) { iVar4 = *(int *)(lVar3 + 0x18); } *(int *)(lVar3 + 0x10) = iVar4; *(double *)(lVar3 + 0x20) = (double)iVar4; if (*(char *)(param_1 + 0xec) != '\0') { plVar12 = *(longlong **)(param_1 + 0xc0); plVar8 = plVar12 + *(int *)(param_1 + 0xcc); for (; plVar12 != plVar8; plVar12 = plVar12 + 1) { iVar4 = (int)uVar6; if ((*(byte *)(*plVar12 + 0xc) & 1) != 0) { if (*(int *)(*plVar12 + 8) == param_2) goto LAB_1812e509f; uVar6 = (ulonglong)(iVar4 + 1); } } iVar4 = -1; LAB_1812e509f: uVar11 = iVar4 + 1; if (uVar11 < uVar10) { piVar7 = (int *)FUN_1812e4e20(param_1,local_18,uVar11); iVar4 = *piVar7; if (*(int *)(param_1 + 0x108) == 0) { uVar5 = FUN_1812e4d70(param_1); *(undefined4 *)(param_1 + 0x108) = uVar5; } iVar2 = *(int *)(param_1 + 0x108); uVar5 = FUN_1812e35c0(param_1,uVar11); FUN_1812e4b50(param_1,uVar5,iVar2 - iVar4); } } uStack_20 = *(undefined8 *)(param_1 + 0x28); local_28 = 0; FUN_181342870(param_1,&local_28,1); *(undefined1 *)(param_1 + 0xe9) = 1; uVar6 = 0; puVar1 = (uint *)(*(longlong *)(param_1 + 0xb8) + 0x18); LOCK(); uVar10 = *puVar1; if (uVar10 == 0) { *puVar1 = 1; } else { uVar6 = (ulonglong)uVar10; } UNLOCK(); if ((uVar10 == 0) && (uVar6 = FUN_1812a6720(*(undefined8 *)(param_1 + 0xb8)), (char)uVar6 == '\0')) { uVar6 = *(ulonglong *)(param_1 + 0xb8); LOCK(); *(undefined4 *)(uVar6 + 0x18) = 0; UNLOCK(); } } } return uVar6; } ############ FUN_ 1812e3240 size=203 ############ void FUN_1812e3240(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; char cVar3; int iVar4; int iVar5; longlong *plVar6; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; cVar3 = FUN_181343f20(param_1,*(undefined8 *)(param_2 + 8),1); if (cVar3 != '\0') { iVar5 = *(int *)(param_2 + 8); iVar4 = FUN_1812e3370(); if ((iVar4 == 0) && (-1 < iVar5)) { plVar6 = *(longlong **)(param_1 + 0xc0); iVar4 = 0; plVar1 = plVar6 + *(int *)(param_1 + 0xcc); for (; plVar6 != plVar1; plVar6 = plVar6 + 1) { lVar2 = *plVar6; if (((*(byte *)(lVar2 + 0xc) & 1) != 0) && (iVar4 = iVar4 + *(int *)(lVar2 + 0x10), iVar5 < iVar4)) { iVar5 = *(int *)(lVar2 + 8); goto LAB_1812e32bb; } } } } iVar5 = 0; LAB_1812e32bb: if (iVar5 != *(int *)(param_1 + 0xfc)) { *(int *)(param_1 + 0xfc) = iVar5; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); } return; } ############ FUN_ 1812e3320 size=68 ############ void FUN_1812e3320(longlong param_1,int param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (param_2 != *(int *)(param_1 + 0xfc)) { *(int *)(param_1 + 0xfc) = param_2; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); } return; } ############ FUN_ 1812e3500 size=178 ############ ulonglong FUN_1812e3500(longlong param_1) { uint *puVar1; uint uVar2; ulonglong uVar3; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; if ((((*(char *)(param_1 + 0xec) != '\0') && (0 < *(int *)(param_1 + 0x108))) && (0 < *(int *)(param_1 + 0x28))) && ((*(int *)(param_1 + 0xf0) == 0 && (*(int *)(param_1 + 0xf4) == 0)))) { FUN_1812e4b50(param_1,0); } uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; uStack_14 = 0; FUN_181342870(param_1,&local_18,1); *(undefined1 *)(param_1 + 0xe8) = 1; uVar3 = 0; puVar1 = (uint *)(*(longlong *)(param_1 + 0xb8) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { uVar3 = (ulonglong)uVar2; } UNLOCK(); if (uVar2 == 0) { uVar3 = FUN_1812a6720(*(undefined8 *)(param_1 + 0xb8)); if ((char)uVar3 == '\0') { uVar3 = *(ulonglong *)(param_1 + 0xb8); LOCK(); *(undefined4 *)(uVar3 + 0x18) = 0; UNLOCK(); } } return uVar3; } ############ FUN_ 1812e37e0 size=340 ############ void FUN_1812e37e0(longlong *param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined8 *puVar3; longlong *plVar4; ulonglong uVar5; ulonglong uVar6; ulonglong uVar7; undefined8 local_18; longlong lStack_10; (**(code **)(*param_1 + 0x28))(); plVar4 = (longlong *)param_1[0x18]; uVar6 = 0; plVar1 = plVar4 + *(int *)((longlong)param_1 + 0xcc); uVar5 = (ulonglong)((longlong)plVar1 + (7 - (longlong)plVar4)) >> 3; if (plVar1 < plVar4) { uVar5 = uVar6; } uVar7 = uVar6; if (uVar5 != 0) { do { lVar2 = *plVar4; if ((*(byte *)(lVar2 + 0xc) & 1) != 0) { *(double *)(lVar2 + 0x20) = (double)*(int *)(lVar2 + 0x10); } plVar4 = plVar4 + 1; uVar7 = uVar7 + 1; } while (uVar7 != uVar5); } *(undefined4 *)(param_1 + 0x1e) = 0; lStack_10 = param_1[5]; local_18 = 0; FUN_181342870(param_1,&local_18,CONCAT71((int7)((ulonglong)plVar1 >> 8),1)); plVar4 = (longlong *)param_1[0x18]; plVar1 = plVar4 + *(int *)((longlong)param_1 + 0xcc); for (; plVar4 != plVar1; plVar4 = plVar4 + 1) { if ((*(byte *)(*plVar4 + 0xc) & 1) != 0) { if (*(int *)(*plVar4 + 8) == *(int *)((longlong)param_1 + 0xf4)) goto LAB_1812e38c7; uVar6 = (ulonglong)((int)uVar6 + 1); } } uVar6 = 0xffffffff; LAB_1812e38c7: FUN_1812e3940(param_1,uVar6); FUN_1812e3240(param_1,param_2); if (((*(int *)((longlong)param_1 + 0xfc) != 0) && (*(char *)(param_2 + 0x59) == '\0')) && ((*(uint *)(param_2 + 0x10) >> 5 & 1) == 0)) { (**(code **)(*param_1 + 0x158))(param_1,*(int *)((longlong)param_1 + 0xfc),param_2 + 0x10); } puVar3 = (undefined8 *)param_1[0x1c]; param_1[0x1c] = 0; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } return; } ############ FUN_ 1812e3940 size=167 ############ void FUN_1812e3940(longlong param_1,undefined4 param_2) { longlong *plVar1; int iVar2; int iVar3; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(int *)(param_1 + 0xf4) != 0) { FUN_1812e5170(param_1,*(int *)(param_1 + 0xf4),param_2); *(undefined4 *)(param_1 + 0xf4) = 0; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); iVar2 = *(int *)(param_1 + 0xdc); while (iVar2 = iVar2 + -1, -1 < iVar2) { plVar1 = *(longlong **)(*(longlong *)(param_1 + 0xd0) + (longlong)iVar2 * 8); (**(code **)(*plVar1 + 0x20))(plVar1,param_1,0); iVar3 = *(int *)(param_1 + 0xdc) + -1; if (iVar3 < iVar2) { iVar2 = iVar3; } } } return; } ############ FUN_ 1812e4220 size=317 ############ void FUN_1812e4220(longlong *param_1,longlong param_2) { longlong *plVar1; int iVar2; int iVar3; longlong *plVar4; int iVar5; int iVar6; int iVar7; int iVar8; int iVar9; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = (undefined4)param_1[5]; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); iVar6 = 0; local_18 = 0; FUN_181342870(0,&local_18,1); iVar2 = *(int *)((longlong)param_1 + 0xfc); param_1[0x1e] = 0; if (iVar2 != 0) { plVar4 = (longlong *)param_1[0x18]; iVar9 = 0; plVar1 = plVar4 + *(int *)((longlong)param_1 + 0xcc); iVar5 = iVar6; for (; plVar4 != plVar1; plVar4 = plVar4 + 1) { if ((*(byte *)(*plVar4 + 0xc) & 1) != 0) { if (*(int *)(*plVar4 + 8) == iVar2) goto LAB_1812e42b3; iVar5 = iVar5 + 1; } } iVar5 = -1; LAB_1812e42b3: plVar4 = (longlong *)param_1[0x18]; plVar1 = plVar4 + *(int *)((longlong)param_1 + 0xcc); iVar7 = iVar6; iVar3 = iVar6; for (; plVar4 != plVar1; plVar4 = plVar4 + 1) { iVar9 = iVar9 + iVar7; iVar7 = iVar6; iVar8 = iVar3; if ((*(byte *)(*plVar4 + 0xc) & 1) != 0) { iVar7 = *(int *)(*plVar4 + 0x10); iVar8 = iVar3 + 1; if (iVar3 == iVar5) break; } iVar3 = iVar8; } *(int *)(param_1 + 0x20) = *(int *)(param_2 + 8) - iVar9; if ((*(uint *)(param_2 + 0x10) >> 5 & 1) != 0) { (**(code **)(*param_1 + 0x158))(param_1,iVar2); } } if ((*(char *)((longlong)param_1 + 0xeb) != '\0') && ((*(uint *)(param_2 + 0x10) >> 5 & 1) != 0)) { (**(code **)(*param_1 + 0x170))(param_1,*(undefined4 *)((longlong)param_1 + 0xfc)); } return; } ############ FUN_ 1812e4370 size=69 ############ void FUN_1812e4370(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(int *)(param_1 + 0xfc) != 0) { *(undefined4 *)(param_1 + 0xfc) = 0; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); } return; } ############ FUN_ 1812e55c0 size=54 ############ void FUN_1812e55c0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812e62e0 size=71 ############ void FUN_1812e62e0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); FUN_1805022f0(*(undefined8 *)(param_1 + 0x200)); return; } ############ FUN_ 1812e8b30 size=77 ############ void FUN_1812e8b30(longlong param_1,float param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(float *)(param_1 + 0x1f8) != param_2) { *(float *)(param_1 + 0x1f8) = param_2; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); } return; } ############ FUN_ 1812e8b90 size=54 ############ void FUN_1812e8b90(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812e8bd0 size=54 ############ void FUN_1812e8bd0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812ea580 size=201 ############ void FUN_1812ea580(longlong param_1,longlong param_2) { char cVar1; undefined8 local_78; undefined4 uStack_70; undefined4 uStack_6c; undefined1 local_68 [8]; undefined4 local_60; undefined4 local_5c; if (*(char *)(param_1 + 0x154) != '\0') { *(undefined1 *)(param_1 + 0x154) = 0; uStack_70 = *(undefined4 *)(param_1 + 0x28); uStack_6c = *(undefined4 *)(param_1 + 0x2c); local_78 = 0; FUN_181342870(0,&local_78,1); FUN_181339840(param_2,local_68,param_1); cVar1 = FUN_181343f20(param_1,CONCAT44(local_5c,local_60),1); if ((cVar1 != '\0') && ((*(longlong *)(param_2 + 0x30) == param_1 || ((*(char *)(*(longlong *)(param_1 + 0x170) + 0x200) == '\0' && (*(char *)(*(longlong *)(param_1 + 0x170) + 0x201) == '\0')))))) { FUN_1812eab20(param_1); } } return; } ############ FUN_ 1812eab20 size=317 ############ void FUN_1812eab20(longlong param_1,undefined8 param_2,undefined1 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; undefined ***pppuVar4; undefined8 *local_res8 [2]; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined **local_48; undefined8 *local_40; undefined ***local_10; if (*(char *)(param_1 + 0x155) == '\0') { *(undefined1 *)(param_1 + 0x155) = 1; FUN_1804de690(local_res8,param_1,param_3,param_4,0xfffffffffffffffe); puVar3 = local_res8[0]; if (local_res8[0] != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8[0] + 1) = *(int *)(local_res8[0] + 1) + 1; UNLOCK(); } local_48 = std::_Func_impl_no_alloc<,void>::vftable; local_40 = local_res8[0]; local_10 = &local_48; pppuVar4 = &local_48; if (local_res8[0] != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8[0] + 1) = *(int *)(local_res8[0] + 1) + 1; UNLOCK(); LOCK(); piVar1 = (int *)(local_res8[0] + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); pppuVar4 = local_10; if (iVar2 == 1) { (**(code **)*local_res8[0])(local_res8[0],1); pppuVar4 = local_10; } } local_10 = pppuVar4; FUN_1812a7460(&local_48); uStack_4c = *(undefined4 *)(param_1 + 0x2c); uStack_50 = *(undefined4 *)(param_1 + 0x28); local_58 = 0; uStack_54 = 0; FUN_181342870(param_1,&local_58,1); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8[0])(local_res8[0],1); } } } return; } ############ FUN_ 1812eaac0 size=84 ############ void FUN_1812eaac0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(char *)(param_1 + 0x155) != '\0') { *(undefined1 *)(param_1 + 0x155) = 0; FUN_18134b590(); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); } return; } ############ FUN_ 1812eac70 size=54 ############ void FUN_1812eac70(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812eacb0 size=54 ############ void FUN_1812eacb0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812eb380 size=54 ############ void FUN_1812eb380(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812ed490 size=54 ############ void FUN_1812ed490(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812eff30 size=60 ############ void FUN_1812eff30(longlong param_1,undefined1 param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined1 *)(param_1 + 0xc0) = param_2; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812f0070 size=61 ############ void FUN_1812f0070(longlong param_1,undefined8 param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined8 *)(param_1 + 200) = param_2; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1812f1340 size=224 ############ void FUN_1812f1340(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong lVar2; longlong *plVar3; undefined8 *puVar4; undefined4 uVar5; longlong *plVar6; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *param_1 = juce::PopupMenu::HelperClasses::ItemComponent::vftable; lVar2 = param_1[0x27]; if (lVar2 != 0) { *(undefined8 *)(lVar2 + 200) = 0; uStack_10 = *(undefined4 *)(lVar2 + 0x28); uStack_c = *(undefined4 *)(lVar2 + 0x2c); local_18 = 0; FUN_181342870(lVar2,&local_18,1,param_4,0xfffffffffffffffe); } plVar3 = (longlong *)param_1[8]; plVar6 = plVar3; do { if (plVar6 == plVar3 + *(int *)((longlong)param_1 + 0x4c)) { uVar5 = 0xffffffff; LAB_1812f13cb: FUN_181343a90(param_1,uVar5,1); puVar4 = (undefined8 *)param_1[0x27]; if (puVar4 != (undefined8 *)0x0) { piVar1 = (int *)(puVar4 + 0x17); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar4)(puVar4,1); } } FUN_1804d80a0(param_1 + 0x16); FUN_18134caa0(param_1); return; } if (param_1[0x27] == *plVar6) { uVar5 = (undefined4)((longlong)plVar6 - (longlong)plVar3 >> 3); goto LAB_1812f13cb; } plVar6 = plVar6 + 1; } while( true ); } ############ FUN_ 181333cd0 size=571 ############ void FUN_181333cd0(longlong param_1,longlong param_2,char param_3,undefined8 param_4,char param_5) { longlong lVar1; undefined8 uVar2; longlong lVar3; float fVar4; float fVar5; float fVar6; float fVar7; undefined4 local_res20; undefined8 local_68; ulonglong uStack_60; undefined4 local_58; uint local_54; lVar1 = param_1 + 0x200; if (lVar1 != param_2) { FUN_1804aaf40(lVar1); uVar2 = *(undefined8 *)(param_2 + 0x18); *(undefined8 *)(param_1 + 0x210) = *(undefined8 *)(param_2 + 0x10); *(undefined8 *)(param_1 + 0x218) = uVar2; *(undefined1 *)(param_1 + 0x220) = *(undefined1 *)(param_2 + 0x20); } *(undefined1 *)(param_1 + 0x238) = 1; local_res20 = CONCAT13(0x7f,(int3)DAT_18262b5b8); *(undefined4 *)(param_1 + 0x1f0) = local_res20; *(undefined4 *)(param_1 + 500) = 3; *(undefined4 *)(param_1 + 0x1f8) = 0; *(undefined4 *)(param_1 + 0x1fc) = 0; lVar3 = param_1 + 0x1e8; if (param_5 == '\0') { lVar3 = 0; } if (*(longlong *)(param_1 + 0x60) != lVar3) { *(longlong *)(param_1 + 0x60) = lVar3; uStack_60 = *(undefined8 *)(param_1 + 0x28); local_68 = 0; FUN_181342870(param_1,&local_68,1); } if (param_3 != '\0') { fVar4 = *(float *)(param_1 + 0x210); fVar5 = *(float *)(param_1 + 0x218); fVar6 = *(float *)(param_1 + 0x214) - fVar4; fVar7 = *(float *)(param_1 + 0x21c) - fVar5; if (param_5 != '\0') { fVar4 = fVar4 - DAT_1824c4334; fVar6 = fVar6 + DAT_1824c43d8; fVar5 = fVar5 - DAT_1824c4334; fVar7 = fVar7 + DAT_1824c43d8; if (fVar6 <= 0.0) { fVar6 = 0.0; } if (fVar7 <= 0.0) { fVar7 = 0.0; } } local_54 = (uint)fVar5 ^ DAT_1824c4f30; local_68 = 0x3f800000; uStack_60 = (ulonglong)((uint)fVar4 ^ DAT_1824c4f30); local_58 = 0x3f800000; FUN_18129b680(lVar1,&local_68); FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24), *(int *)(param_1 + 0x22c) + 1 + (int)(*(float *)(param_1 + 0x23c) + fVar6) + *(int *)(param_1 + 0x234), *(int *)(param_1 + 0x228) + 1 + (int)(*(float *)(param_1 + 0x23c) + fVar7) + *(int *)(param_1 + 0x230)); } uStack_60 = *(undefined8 *)(param_1 + 0x28); local_68 = 0; FUN_181342870(param_1,&local_68,1); return; } ############ FUN_ 181317a90 size=480 ############ void FUN_181317a90(longlong *param_1,undefined4 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong lVar3; longlong *plVar4; undefined4 uVar5; longlong lVar6; longlong *plVar7; undefined8 uVar8; undefined8 *local_res8; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; lVar3 = FUN_181318140(param_1,*(undefined4 *)(param_1[0x16] + 0x108)); lVar6 = 0; if (param_1[0x19] != 0) { lVar6 = *(longlong *)(param_1[0x19] + 0x10); } if (lVar3 != lVar6) { lVar6 = param_1[0x19]; if ((lVar6 != 0) && (*(longlong *)(lVar6 + 0x10) != 0)) { if (lVar6 == 0) { plVar4 = (longlong *)0x0; } else { plVar4 = *(longlong **)(lVar6 + 0x10); } (**(code **)(*plVar4 + 0x58))(plVar4,0); lVar6 = 0; if (param_1[0x19] != 0) { lVar6 = *(longlong *)(param_1[0x19] + 0x10); } plVar4 = (longlong *)param_1[8]; for (plVar7 = plVar4; plVar7 != plVar4 + *(int *)((longlong)param_1 + 0x4c); plVar7 = plVar7 + 1) { if (lVar6 == *plVar7) { uVar5 = (undefined4)((longlong)plVar7 - (longlong)plVar4 >> 3); goto LAB_181317b37; } } uVar5 = 0xffffffff; LAB_181317b37: FUN_181343a90(param_1,uVar5,1); } plVar4 = (longlong *)FUN_1804de690(&local_res8,lVar3); lVar6 = param_1[0x19]; param_1[0x19] = *plVar4; *plVar4 = lVar6; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } lVar6 = param_1[0x19]; if ((lVar6 != 0) && (*(longlong *)(lVar6 + 0x10) != 0)) { if ((lVar6 != 0) && (*(longlong *)(lVar6 + 0x10) != 0)) { FUN_181343cc0(param_1,*(longlong *)(lVar6 + 0x10),0xffffffff); } if (param_1[0x19] == 0) { uVar8 = 0; } else { uVar8 = *(undefined8 *)(param_1[0x19] + 0x10); } FUN_181341b10(uVar8); plVar4 = (longlong *)0x0; if (param_1[0x19] != 0) { plVar4 = *(longlong **)(param_1[0x19] + 0x10); } (**(code **)(*plVar4 + 0x58))(plVar4,1); uVar8 = 0; if (param_1[0x19] != 0) { uVar8 = *(undefined8 *)(param_1[0x19] + 0x10); } FUN_181344f60(uVar8,1); } uStack_20 = (undefined4)param_1[5]; uStack_1c = *(undefined4 *)((longlong)param_1 + 0x2c); local_28 = 0; uStack_24 = 0; FUN_181342870(param_1,&local_28,1); } (**(code **)(*param_1 + 0x108))(param_1); /* WARNING: Could not recover jumptable at 0x000181317c69. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x158))(param_1,param_2,param_3); return; } ############ FUN_ 18131d6c0 size=82 ############ void FUN_18131d6c0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined1 *)(param_1 + 0x12d) = 0; FUN_1812a7720(param_1 + 0xc0); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 18131d940 size=165 ############ void FUN_18131d940(longlong *param_1) { longlong *plVar1; longlong lVar2; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if ((undefined **)*param_1 == juce::ScrollBar::vftable) { plVar1 = (longlong *)FUN_18134adf0(); if (*(code **)(*plVar1 + 0x20) == FUN_181311b20) { lVar2 = 0; } else { lVar2 = (**(code **)(*plVar1 + 0x20))(plVar1); } if (param_1[0xc] != lVar2) { param_1[0xc] = lVar2; uStack_10 = (undefined4)param_1[5]; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); } if ((*(byte *)(param_1 + 0x15) & 2) != 0) { /* WARNING: Could not recover jumptable at 0x00018131d9cc. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x108))(param_1); return; } } else { (*(code *)((undefined **)*param_1)[0x14])(param_1); } return; } ############ FUN_ 18131dd90 size=136 ############ void FUN_18131dd90(longlong *param_1) { longlong *plVar1; longlong lVar2; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; plVar1 = (longlong *)FUN_18134adf0(); if (*(code **)(*plVar1 + 0x20) == FUN_181311b20) { lVar2 = 0; } else { lVar2 = (**(code **)(*plVar1 + 0x20))(plVar1); } if (param_1[0xc] != lVar2) { param_1[0xc] = lVar2; uStack_10 = (undefined4)param_1[5]; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); } if ((*(byte *)(param_1 + 0x15) & 2) != 0) { /* WARNING: Could not recover jumptable at 0x00018131de03. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x108))(param_1); return; } return; } ############ FUN_ 18131f6b0 size=107 ############ void FUN_18131f6b0(longlong param_1,int *param_2) { undefined8 uVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if ((((*(int *)(param_1 + 0xc0) != *param_2) || (*(int *)(param_1 + 0xc4) != param_2[1])) || (*(int *)(param_1 + 200) != param_2[2])) || (*(int *)(param_1 + 0xcc) != param_2[3])) { uVar1 = *(undefined8 *)(param_2 + 2); *(undefined8 *)(param_1 + 0xc0) = *(undefined8 *)param_2; *(undefined8 *)(param_1 + 200) = uVar1; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); } return; } ############ FUN_ 181321e70 size=54 ############ void FUN_181321e70(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 181321eb0 size=54 ############ void FUN_181321eb0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 181325410 size=576 ############ void FUN_181325410(longlong param_1,longlong *param_2,undefined8 param_3,int param_4) { longlong *plVar1; uint uVar2; ulonglong uVar3; bool bVar4; DWORD DVar5; uint *puVar6; undefined8 *puVar7; ulonglong uVar8; uint uVar9; longlong lVar10; longlong local_res10; longlong local_68 [2]; undefined1 local_58 [16]; undefined8 local_48; undefined4 uStack_40; undefined4 uStack_3c; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; local_68[1] = 0xfffffffffffffffe; uVar9 = *(int *)((longlong)param_2 + 0xc) - 1; if (-1 < (int)uVar9) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); lVar10 = (longlong)(int)uVar9 << 3; do { if (uVar9 < *(uint *)((longlong)param_2 + 0xc)) { puVar7 = (undefined8 *)(*param_2 + lVar10); } else { if (*(int *)(*plVar1 + 0xc) < DAT_18267af70) { _Init_thread_header(&DAT_18267af70); if (DAT_18267af70 == -1) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } } puVar7 = &DAT_18267af68; } FUN_181241890(&local_res10,puVar7); puVar7 = (undefined8 *)FUN_18049a930(local_58,&local_res10); DVar5 = GetFileAttributesW((LPCWSTR)*puVar7); if (((DVar5 & 0x10) == 0) || (DVar5 == 0xffffffff)) { bVar4 = false; } else { bVar4 = true; } if (bVar4) { if ((*(int *)(param_1 + 0x50) == 0) || (uVar3 = (longlong) (((*(int *)(*(longlong *)(param_1 + 0xf0) + 0x18c) - *(int *)(*(longlong *)(param_1 + 0xf0) + 0x24)) - *(int *)(param_1 + 0x4c)) + param_4) / (longlong)*(int *)(param_1 + 0x11c), uVar8 = uVar3 & 0xffffffff, *(uint *)(param_1 + 0x118) <= (uint)uVar3)) { uVar8 = 0xffffffff; } local_68[0] = local_res10; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } FUN_180489070(param_1 + 0x10,uVar8,local_68); puVar6 = (uint *)(local_68[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_181348f10(); uStack_3c = *(undefined4 *)(param_1 + 0x54); uStack_40 = *(undefined4 *)(param_1 + 0x50); local_48 = 0; local_38 = 0; uStack_34 = 0; uStack_30 = uStack_40; uStack_2c = uStack_3c; FUN_181342870(param_1 + 0x28,&local_38,1); FUN_181325eb0(param_1 + -0xc0); } puVar6 = (uint *)(local_res10 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } lVar10 = lVar10 + -8; uVar9 = uVar9 - 1; } while (-1 < (int)uVar9); } return; } ############ FUN_ 1813266d0 size=68 ############ void FUN_1813266d0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined1 *)(param_1 + 0x1be) = 0; uStack_10 = *(undefined4 *)(param_1 + -0x98); uStack_c = *(undefined4 *)(param_1 + -0x94); local_18 = 0; FUN_181342870(param_1 + -0xc0,&local_18,1); return; } ############ FUN_ 181326720 size=68 ############ void FUN_181326720(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined1 *)(param_1 + 0x1be) = 1; uStack_10 = *(undefined4 *)(param_1 + -0x98); uStack_c = *(undefined4 *)(param_1 + -0x94); local_18 = 0; FUN_181342870(param_1 + -0xc0,&local_18,1); return; } ############ FUN_ 181326770 size=328 ############ void FUN_181326770(longlong param_1,undefined8 param_2) { uint uVar1; bool bVar2; DWORD DVar3; undefined8 uVar4; undefined8 *puVar5; uint *_Memory; char *local_res8; char *local_48; undefined8 local_40; undefined1 local_38 [8]; undefined1 local_30 [8]; undefined8 local_28; undefined4 uStack_20; undefined4 uStack_1c; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; local_40 = 0xfffffffffffffffe; *(undefined1 *)(param_1 + 0x1be) = 0; uStack_1c = *(undefined4 *)(param_1 + -0x94); uStack_20 = *(undefined4 *)(param_1 + -0x98); local_28 = 0; local_18 = 0; uStack_14 = 0; uStack_10 = uStack_20; uStack_c = uStack_1c; FUN_181342870(param_1 + -0xc0,&local_18,CONCAT71((uint7)(uint3)((uint)uStack_1c >> 8),1)); uVar4 = FUN_181249970(param_2,0); FUN_181241890(&local_res8,uVar4); if (*local_res8 != '\0') { puVar5 = (undefined8 *)FUN_18049a930(local_38,&local_res8); DVar3 = GetFileAttributesW((LPCWSTR)*puVar5); bVar2 = true; if (DVar3 != 0xffffffff) goto LAB_18132681e; } bVar2 = false; LAB_18132681e: if (bVar2) { puVar5 = (undefined8 *)FUN_18049a930(local_30,&local_res8); DVar3 = GetFileAttributesW((LPCWSTR)*puVar5); bVar2 = false; if (((DVar3 & 0x10) != 0) && (DVar3 != 0xffffffff)) { bVar2 = true; } if (bVar2 == (bool)*(char *)(param_1 + 0x1bc)) { local_48 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } FUN_181326360(param_1 + -0xc0,&local_48); } } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 181326e30 size=504 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181326e30(longlong *param_1) { undefined8 *puVar1; longlong *plVar2; undefined ***pppuVar3; longlong lVar4; undefined ***pppuVar5; undefined1 auStack_d8 [32]; undefined8 local_b8; undefined4 uStack_b0; undefined4 uStack_ac; undefined8 local_a8; undefined **local_98; longlong *local_90; undefined ***local_60; longlong local_58 [7]; longlong *local_20; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_d8; puVar1 = (undefined8 *)param_1[0x4e]; param_1[0x4e] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } lVar4 = FUN_18134adf0(param_1); lVar4 = (**(code **)(*(longlong *)(lVar4 + 0x88) + 8))((longlong *)(lVar4 + 0x88),param_1 + 0x52); puVar1 = (undefined8 *)param_1[0x4e]; param_1[0x4e] = lVar4; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } plVar2 = (longlong *)param_1[0x4e]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff); } lVar4 = param_1[0x4e]; if (*(int *)(lVar4 + 0x198) != 1) { *(undefined4 *)(lVar4 + 0x198) = 1; uStack_ac = *(undefined4 *)(lVar4 + 0x2c); uStack_b0 = *(undefined4 *)(lVar4 + 0x28); local_b8 = 0; FUN_181342870(lVar4,&local_b8,1); } lVar4 = param_1[0x4e]; pppuVar5 = (undefined ***)(lVar4 + 0xc0); local_98 = std::_Func_impl_no_alloc<,void>::vftable; local_60 = &local_98; local_20 = (longlong *)0x0; local_90 = param_1; local_20 = (longlong *)(*(code *)PTR_FUN_18249e738)(&local_98,local_58); if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); local_60 = (undefined ***)0x0; } pppuVar3 = *(undefined ****)(lVar4 + 0xf8); if (pppuVar3 != (undefined ***)0x0) { if (pppuVar3 == pppuVar5) { local_60 = (undefined ***)(*(code *)(*pppuVar3)[1])(pppuVar3,&local_98); pppuVar3 = *(undefined ****)(lVar4 + 0xf8); if (pppuVar3 == (undefined ***)0x0) goto LAB_181326fc6; (*(code *)(*pppuVar3)[4])(pppuVar3,pppuVar3 != pppuVar5); pppuVar3 = local_60; } local_60 = pppuVar3; *(undefined8 *)(lVar4 + 0xf8) = 0; } LAB_181326fc6: FUN_180488560(pppuVar5,local_58); if (local_20 != (longlong *)0x0) { (**(code **)(*local_20 + 0x20))(local_20,local_20 != local_58); } if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4]) (local_60,CONCAT71((int7)((ulonglong)&local_98 >> 8),local_60 != &local_98)); } (**(code **)(*param_1 + 0x108))(param_1); } ############ FUN_ 181327cc0 size=338 ############ undefined8 * FUN_181327cc0(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong lVar2; uint uVar3; bool bVar4; undefined1 *local_res10; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; local_res10 = &DAT_1821dbf98; FUN_1812e8530(param_1,&local_res10,param_3,param_4,0xfffffffffffffffe); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } param_1[0x22] = param_2; param_1[0x23] = 0; param_1[0x24] = 0; puVar1 = param_1 + 0x25; *param_1 = juce::FileListComponent::vftable; param_1[0x16] = juce::FileListComponent::vftable; param_1[0x21] = juce::FileListComponent::vftable; *puVar1 = juce::FileListComponent::vftable; param_1[0x26] = juce::FileListComponent::vftable; lVar2 = *(longlong *)(param_2 + 0x48); param_1[0x27] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[0x28] = &DAT_1821dbf98; if ((undefined8 *)param_1[0x18] != puVar1) { param_1[0x18] = puVar1; uStack_1c = *(undefined4 *)((longlong)param_1 + 0x2c); uStack_20 = *(undefined4 *)(param_1 + 5); local_28 = 0; uStack_24 = 0; FUN_181342870(param_1,&local_28,1); FUN_181348f10(param_1); } FUN_1812a73a0(param_1[0x22],param_1 + 0x26); return param_1; } ############ FUN_ 18132ec20 size=85 ############ undefined8 FUN_18132ec20(longlong param_1,int param_2,int param_3) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(int *)(param_1 + 0xf8) != param_2) { return 0; } if (*(int *)(param_1 + 0xf8) != param_3) { *(int *)(param_1 + 0xf8) = param_3; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); } return 1; } ############ FUN_ 1813303c0 size=97 ############ void FUN_1813303c0(longlong param_1,undefined8 param_2) { char cVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; cVar1 = FUN_1812a0d20(param_1 + 0x160); if (cVar1 != '\0') { FUN_1812a0f40(param_1 + 0x160,param_2); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); } return; } ############ FUN_ 1813333d0 size=75 ############ void FUN_1813333d0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181336e60(); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); FUN_181333460(param_1); return; } ############ FUN_ 1813336c0 size=54 ############ void FUN_1813336c0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 181333830 size=54 ############ void FUN_181333830(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 181334ad0 size=54 ############ void FUN_181334ad0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 181335030 size=54 ############ void FUN_181335030(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 181335070 size=80 ############ void FUN_181335070(longlong *param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181336e60(); uStack_10 = (undefined4)param_1[5]; uStack_c = *(undefined4 *)((longlong)param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); /* WARNING: Could not recover jumptable at 0x0001813350b9. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x178))(param_1); return; } ############ FUN_ 1813362d0 size=68 ############ void FUN_1813362d0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181336e60(); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 181336320 size=68 ############ void FUN_181336320(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181336e60(); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 181336f10 size=68 ############ void .?AVSoothe2_DynamicCryptoManager@eden@pace@@::vtbl___AVSoothe2_DynamicCryptoManager_eden_pace__ (longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; FUN_181336e60(); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 1813451b0 size=92 ############ void FUN_1813451b0(longlong param_1,longlong param_2) { undefined8 *puVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(longlong *)(param_1 + 0x68) != param_2) { puVar1 = *(undefined8 **)(param_1 + 0x68); *(longlong *)(param_1 + 0x68) = param_2; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); } return; } ############ FUN_ 181349b80 size=107 ############ void FUN_181349b80(longlong param_1,int *param_2) { undefined8 uVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if ((((*(int *)(param_1 + 0x1e8) != *param_2) || (*(int *)(param_1 + 0x1ec) != param_2[1])) || (*(int *)(param_1 + 0x1f0) != param_2[2])) || (*(int *)(param_1 + 500) != param_2[3])) { uVar1 = *(undefined8 *)(param_2 + 2); *(undefined8 *)(param_1 + 0x1e8) = *(undefined8 *)param_2; *(undefined8 *)(param_1 + 0x1f0) = uVar1; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); } return; } ############ FUN_ 181349c00 size=68 ############ void FUN_181349c00(longlong param_1,int param_2) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(int *)(param_1 + 0x1c0) != param_2) { *(int *)(param_1 + 0x1c0) = param_2; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); } return; } ############ FUN_ 1813be090 size=154 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813be090(longlong param_1) { undefined1 auStack_48 [32]; longlong local_28; undefined4 uStack_20; undefined4 uStack_1c; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_48; *(int *)(param_1 + 0x20) = *(int *)(param_1 + 0x20) + 1; (**(code **)(*(longlong *)(param_1 + -0xb0) + 0x158))(param_1 + -0xb0); uStack_20 = *(undefined4 *)(param_1 + -0x88); uStack_1c = *(undefined4 *)(param_1 + -0x84); local_28 = 0; FUN_181342870(param_1 + -0xb0,&local_28,1); _ftime64_s(&local_28); *(ulonglong *)(param_1 + 0x18) = local_28 * 1000 + (ulonglong)(ushort)uStack_20; } ############ FUN_ 18149eda0 size=173 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18149eda0(longlong param_1,undefined8 param_2,undefined8 *param_3) { undefined1 auStack_58 [32]; undefined8 local_38; undefined4 uStack_30; undefined4 uStack_2c; undefined8 local_28; undefined8 *local_20; ulonglong local_18; local_28 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; local_20 = param_3; FUN_18133e970(*(undefined8 *)(param_1 + 0x48),0 < *(int *)(*(longlong *)(param_1 + 0x58) + 0x48)); FUN_18133e970(*(undefined8 *)(param_1 + 0x50), *(int *)(*(longlong *)(param_1 + 0x58) + 0x48) < *(int *)(*(longlong *)(param_1 + 0x58) + 0x44) + -1); uStack_2c = *(undefined4 *)(param_1 + -0x9c); uStack_30 = *(undefined4 *)(param_1 + -0xa0); local_38 = 0; FUN_181342870(param_1 + -200,&local_38,1); (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 18149eea0 size=189 ############ void FUN_18149eea0(longlong param_1,float *param_2) { undefined1 uVar1; int iVar2; int iVar3; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; iVar3 = (int)*param_2; iVar2 = (int)param_2[1]; if (((((iVar3 < *(int *)(param_1 + 0x2e8)) || (iVar2 < *(int *)(param_1 + 0x2ec))) || (*(int *)(param_1 + 0x2e8) + *(int *)(param_1 + 0x2f0) <= iVar3)) || (*(int *)(param_1 + 0x2f4) + *(int *)(param_1 + 0x2ec) <= iVar2)) && (((iVar3 < *(int *)(param_1 + 0x2f8) || (iVar2 < *(int *)(param_1 + 0x2fc))) || ((*(int *)(param_1 + 0x2f8) + *(int *)(param_1 + 0x300) <= iVar3 || (*(int *)(param_1 + 0x304) + *(int *)(param_1 + 0x2fc) <= iVar2)))))) { uVar1 = 0; } else { uVar1 = 1; } *(undefined1 *)(param_1 + 0x308) = uVar1; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,CONCAT71((uint7)(uint3)((uint)iVar2 >> 8),1)); return; } ############ FUN_ 18149ef70 size=61 ############ void FUN_18149ef70(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined1 *)(param_1 + 0x308) = 0; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1814c1710 size=61 ############ void FUN_1814c1710(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + -0x270); uStack_c = *(undefined4 *)(param_1 + -0x26c); local_18 = 0; FUN_181342870(param_1 + -0x298,&local_18,1); return; } ############ FUN_ 1814ce8a0 size=54 ############ void FUN_1814ce8a0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1814ce8e0 size=54 ############ void FUN_1814ce8e0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(0,&local_18,1); return; } ############ FUN_ 1814cf1b0 size=61 ############ void FUN_1814cf1b0(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; uStack_10 = *(undefined4 *)(param_1 + -0xa0); uStack_c = *(undefined4 *)(param_1 + -0x9c); local_18 = 0; FUN_181342870(param_1 + -200,&local_18,1); return; } ############ FUN_ 1814e6e40 size=272 ############ void FUN_1814e6e40(longlong param_1) { float fVar1; double dVar2; int iVar3; undefined8 local_38; undefined4 uStack_30; undefined4 uStack_2c; iVar3 = *(int *)(param_1 + 0x1f0) + 1; *(int *)(param_1 + 0x1f0) = iVar3; if (*(int *)(param_1 + 0x1ec) == 0) { fVar1 = *(float *)(param_1 + 0x1e8); dVar2 = pow((double)iVar3,DAT_1824c41e8); *(float *)(param_1 + 0x1e4) = (float)((double)((float)(iVar3 * 4) / fVar1) - dVar2 * (double)(DAT_1824c4334 / (fVar1 * fVar1))); if (fVar1 < (float)iVar3) { *(undefined8 *)(param_1 + 0x1ec) = 1; *(undefined4 *)(param_1 + 0x1e4) = 0; } } else if (0x1e < iVar3) { *(undefined8 *)(param_1 + 0x1ec) = 0; *(undefined4 *)(param_1 + 0x1e4) = 0; } uStack_30 = *(undefined4 *)(param_1 + -0x1b8); uStack_2c = *(undefined4 *)(param_1 + -0x1b4); local_38 = 0; FUN_181342870(param_1 + -0x1e0,&local_38,1); return; } ############ FUN_ 1814ea170 size=315 ############ void FUN_1814ea170(longlong param_1,longlong param_2) { int iVar1; int *piVar2; int iVar3; int iVar4; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; iVar3 = 0; if (0 < *(int *)(param_1 + 0xf4)) { do { iVar4 = 0; if (0 < *(int *)(param_1 + 0xf0)) { do { piVar2 = (int *)((longlong)(iVar3 * *(int *)(param_1 + 0xf0) + iVar4) * 0x10 + *(longlong *)(param_1 + 0x120)); if ((((*piVar2 <= (int)*(float *)(param_2 + 0x28)) && (iVar1 = piVar2[1], iVar1 <= (int)*(float *)(param_2 + 0x2c))) && ((int)*(float *)(param_2 + 0x28) < *piVar2 + piVar2[2])) && ((int)*(float *)(param_2 + 0x2c) < piVar2[3] + iVar1)) { *(int *)(param_1 + 0xe8) = iVar4; *(int *)(param_1 + 0xec) = iVar3; *(longlong *)(param_1 + 0x118) = (longlong)(*(int *)(param_1 + 0xf0) * iVar3 + iVar4); FUN_1811bf680(*(undefined8 *)(param_1 + 0xd8),piVar2, CONCAT71((uint7)(uint3)((uint)iVar1 >> 8),1)); FUN_1811bf680(*(undefined8 *)(param_1 + 0xe0)); } iVar4 = iVar4 + 1; } while (iVar4 < *(int *)(param_1 + 0xf0)); } iVar3 = iVar3 + 1; } while (iVar3 < *(int *)(param_1 + 0xf4)); } uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; FUN_181342870(param_1,&local_18,1); return; } ############ FUN_ 1814eb540 size=108 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814eb540(longlong param_1) { bool bVar1; float fVar2; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; fVar2 = *(float *)(param_1 + 0x54) + _DAT_1824c3c74; bVar1 = DAT_1824c3ea4 <= fVar2; *(float *)(param_1 + 0x54) = fVar2; if (bVar1) { *(undefined4 *)(param_1 + 0x54) = 0; FUN_1812a7720(); } uStack_10 = *(undefined4 *)(param_1 + -0x1b8); uStack_c = *(undefined4 *)(param_1 + -0x1b4); local_18 = 0; FUN_181342870(param_1 + -0x1e0,&local_18,1); return; } ############ FUN_ 1814ec700 size=121 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814ec700(longlong param_1,undefined8 param_2,undefined8 *param_3) { undefined1 auStack_58 [32]; undefined8 local_38; undefined4 uStack_30; undefined4 uStack_2c; undefined8 local_28; undefined8 *local_20; ulonglong local_18; local_28 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; uStack_2c = *(undefined4 *)(param_1 + -0x334); uStack_30 = *(undefined4 *)(param_1 + -0x338); local_38 = 0; local_20 = param_3; FUN_181342870(param_1 + -0x360,&local_38,1); (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); } ############ FUN_ 181513f00 size=68 ############ void FUN_181513f00(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined1 *)(param_1 + 0x89) = 0; uStack_10 = *(undefined4 *)(param_1 + -0xb8); uStack_c = *(undefined4 *)(param_1 + -0xb4); local_18 = 0; FUN_181342870(param_1 + -0xe0,&local_18,1); return; } ############ FUN_ 181513f50 size=68 ############ void FUN_181513f50(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined1 *)(param_1 + 0x89) = 1; uStack_10 = *(undefined4 *)(param_1 + -0xb8); uStack_c = *(undefined4 *)(param_1 + -0xb4); local_18 = 0; FUN_181342870(param_1 + -0xe0,&local_18,1); return; } ############ FUN_ 1815922b0 size=490 ############ void FUN_1815922b0(longlong param_1) { int iVar1; int iVar2; longlong lVar3; undefined8 *puVar4; float fVar5; undefined4 uVar6; int local_res8; int local_res18; undefined8 local_78; undefined8 uStack_70; undefined8 local_68; undefined8 uStack_60; undefined8 local_58; undefined8 uStack_50; undefined1 local_48 [16]; undefined1 local_38 [32]; iVar1 = *(int *)(param_1 + 0x28); iVar2 = *(int *)(param_1 + 0x2c); if (**(longlong **)(param_1 + 0xb8) == 0) { lVar3 = *(longlong *)(param_1 + 200); if (*(longlong *)(lVar3 + 0x38) == 0) { puVar4 = &local_78; local_78 = *(undefined8 *)(lVar3 + 0x20); uStack_70 = *(undefined8 *)(lVar3 + 0x28); } else { puVar4 = (undefined8 *)FUN_1804b1290(lVar3 + 0x20,local_48); } local_res8 = (int)*puVar4 + (int)puVar4[1] / 2; } else { *(undefined4 *)(param_1 + 0xd4) = *(undefined4 *)(**(longlong **)(param_1 + 0xb8) + 0x188); fVar5 = (float)FUN_180487300(**(undefined8 **)(param_1 + 0xc0)); local_res8 = SUB84((double)(fVar5 * (float)iVar1) + DAT_1824c4520,0); } lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xb8) + 8); if ((lVar3 == 0) && (*(char *)(*(longlong *)(param_1 + 0xc0) + 0x20) == '\0')) { lVar3 = *(longlong *)(param_1 + 200); if (*(longlong *)(lVar3 + 0x38) == 0) { puVar4 = &local_68; local_68 = *(undefined8 *)(lVar3 + 0x20); uStack_60 = *(undefined8 *)(lVar3 + 0x28); } else { puVar4 = (undefined8 *)FUN_1804b1290(lVar3 + 0x20,local_38); } local_res18 = *(int *)((longlong)puVar4 + 0xc) / 2 + *(int *)((longlong)puVar4 + 4); } else { if (*(char *)(*(longlong *)(param_1 + 0xc0) + 0x20) == '\0') { uVar6 = *(undefined4 *)(lVar3 + 0x188); } else { uVar6 = 0; } *(undefined4 *)(param_1 + 0xd8) = uVar6; fVar5 = (float)FUN_180487300(*(undefined8 *)(*(longlong *)(param_1 + 0xc0) + 8)); local_res18 = SUB84((double)((float)iVar2 - fVar5 * (float)iVar2) + DAT_1824c4520,0); } FUN_181344690(*(undefined8 *)(param_1 + 200),CONCAT44(local_res18,local_res8)); uStack_50 = *(undefined8 *)(*(longlong *)(param_1 + 200) + 0x28); local_58 = 0; FUN_181342870(*(longlong *)(param_1 + 200),&local_58,1); return; } ############ FUN_ 1815d3470 size=84 ############ void FUN_1815d3470(longlong param_1) { undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(longlong *)(param_1 + -0x58) != 0) { *(bool *)(param_1 + 0x27c) = *(char *)(param_1 + 0x27c) == '\0'; uStack_10 = *(undefined4 *)(param_1 + -0x1f8); uStack_c = *(undefined4 *)(param_1 + -500); local_18 = 0; FUN_181342870(param_1 + -0x220,&local_18,1); } return; } ############ FUN_ 1815fb410 size=66 ############ void FUN_1815fb410(longlong *param_1,undefined1 param_2) { longlong lVar1; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; *(undefined1 *)((longlong)param_1 + 0x15) = param_2; lVar1 = (**(code **)(*param_1 + 8))(); uStack_10 = *(undefined4 *)(lVar1 + 0x28); uStack_c = *(undefined4 *)(lVar1 + 0x2c); local_18 = 0; FUN_181342870(lVar1,&local_18,1); return; } ############ FUN_ 181a069b0 size=139 ############ void FUN_181a069b0(longlong param_1) { longlong *plVar1; char cVar2; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x168); cVar2 = (**(code **)(*plVar1 + 0xe8))(plVar1); if (cVar2 == '\0') { FUN_181a06340(param_1 + -0xb0,0); *(undefined1 *)(param_1 + 0x130) = 1; (**(code **)(*plVar1 + 0xf0))(plVar1); } uStack_10 = *(undefined4 *)(param_1 + -0x88); uStack_c = *(undefined4 *)(param_1 + -0x84); local_18 = 0; FUN_181342870(param_1 + -0xb0,&local_18,1); return; } ############ FUN_ 1812e6c00 size=290 ############ void FUN_1812e6c00(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4, int param_5) { int *piVar1; int iVar2; longlong lVar3; float *pfVar4; int local_98 [2]; undefined8 *local_90; int local_88; int local_84; undefined8 *local_80; undefined8 local_78; undefined1 local_70 [104]; local_78 = 0xfffffffffffffffe; lVar3 = FUN_18133a120(); if (lVar3 != 0) { (**(code **)(*param_1 + 0x158))(param_1,&local_80,param_3,local_98,¶m_5); pfVar4 = (float *)FUN_181339840(param_2,local_70,param_1); local_84 = param_5 - (int)pfVar4[1]; local_88 = local_98[0] - (int)*pfVar4; local_90 = local_80; if (local_80 != (undefined8 *)0x0) { LOCK(); *(int *)(local_80 + 1) = *(int *)(local_80 + 1) + 1; UNLOCK(); } FUN_18133a190(lVar3,param_4,param_1,&local_90,1,&local_88,param_2 + 0x50); if (local_80 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_80 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_80)(local_80,1); } } } return; } ############ FUN_ 180566390 size=600 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180566390(longlong param_1,longlong param_2) { longlong lVar1; longlong *plVar2; bool bVar3; char cVar4; longlong lVar5; float *pfVar6; longlong *plVar7; ulonglong uVar8; ulonglong uVar9; longlong *plVar10; undefined1 auStack_f8 [32]; undefined4 local_d8; int local_c8; int iStack_c4; undefined1 local_c0 [96]; WINDOWPLACEMENT local_60; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_f8; uVar9 = 0; if ((*(longlong *)(param_1 + 0x480) != 0) && (lVar1 = *(longlong *)(param_2 + 0x30), lVar1 != *(longlong *)(*(longlong *)(param_1 + 0x498) + 0x108))) { bVar3 = false; for (; lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { local_d8 = 0; lVar5 = __RTDynamicCast(lVar1,0,&juce::Component::RTTI_Type_Descriptor, &CloudyModal::RTTI_Type_Descriptor); if (lVar5 != 0) { bVar3 = true; break; } } pfVar6 = (float *)FUN_181339840(param_2,local_c0,*(undefined8 *)(param_1 + 0x480)); local_c8 = (int)*pfVar6; iStack_c4 = (int)pfVar6[1]; cVar4 = FUN_181343fe0(*(undefined8 *)(param_1 + 0x480),CONCAT44(iStack_c4,local_c8)); if ((cVar4 == '\0') && (!bVar3)) { (**(code **)(**(longlong **)(param_1 + 0x480) + 0x168))(); } } if ((*(longlong *)(param_1 + 0x488) != 0) && (*(longlong *)(param_2 + 0x30) != *(longlong *)(*(longlong *)(param_1 + 0x498) + 0xf8))) { pfVar6 = (float *)FUN_181339840(param_2,local_c0); local_c8 = (int)*pfVar6; iStack_c4 = (int)pfVar6[1]; cVar4 = FUN_181343fe0(*(undefined8 *)(param_1 + 0x488),CONCAT44(iStack_c4,local_c8)); if (cVar4 == '\0') { FUN_1814d4600(*(undefined8 *)(param_1 + 0x488)); } } plVar10 = *(longlong **)(param_1 + 0x568); uVar8 = (ulonglong)((longlong)*(longlong **)(param_1 + 0x570) + (7 - (longlong)plVar10)) >> 3; if (*(longlong **)(param_1 + 0x570) < plVar10) { uVar8 = uVar9; } if (uVar8 != 0) { do { plVar2 = (longlong *)*plVar10; if ((*(byte *)(plVar2 + 0x15) & 2) != 0) { if (plVar2[3] == 0) { if (((*(byte *)(plVar2 + 0x15) & 1) == 0) || (plVar7 = (longlong *)FUN_1812d2bd0(plVar2), plVar7 == (longlong *)0x0)) goto LAB_1805665aa; if ((undefined **)*plVar7 == juce::HWNDComponentPeer::vftable) { local_60.length = 0x2c; GetWindowPlacement((HWND)plVar7[0x11],&local_60); cVar4 = local_60.showCmd == 2; } else { cVar4 = (*(code *)((undefined **)*plVar7)[0xd])(plVar7); } cVar4 = cVar4 == '\0'; } else { cVar4 = FUN_181345240(); } if (cVar4 != '\0') { if ((undefined **)*plVar2 == TutorialsHintModal::vftable) { *(byte *)(plVar2 + 0x15) = *(byte *)(plVar2 + 0x15) & 0xef | 8; FUN_181411d60(plVar2 + 0x73,"alpha",0); } else { (*(code *)((undefined **)*plVar2)[0x2e])(plVar2); } } } LAB_1805665aa: plVar10 = plVar10 + 1; uVar9 = uVar9 + 1; } while (uVar9 != uVar8); } } ############ FUN_ 18133ae20 size=138 ############ void FUN_18133ae20(longlong param_1,longlong param_2,undefined8 param_3) { longlong lVar1; undefined4 local_res20; undefined1 local_68 [96]; if (param_2 != 0) { lVar1 = FUN_181339840(param_3,local_68,param_2); local_res20 = SUB84((double)*(float *)(lVar1 + 0x2c) + DAT_1824c4520,0); *(ulonglong *)(param_1 + 8) = CONCAT44(local_res20,SUB84((double)*(float *)(lVar1 + 0x28) + DAT_1824c4520,0)); } return; } ############ FUN_ 1812ea420 size=340 ############ void FUN_1812ea420(longlong param_1,longlong param_2,longlong param_3) { longlong lVar1; float fVar2; float fVar3; undefined8 uVar4; float fVar5; undefined1 local_88 [128]; fVar3 = DAT_1824c3ea4; if ((((*(char *)(param_1 + 0x155) == '\0') && (*(char *)(param_1 + 0x156) != '\0')) && (*(longlong *)(param_2 + 0x30) == param_1)) && (*(float *)(param_3 + 4) != 0.0)) { fVar5 = *(float *)(param_3 + 4) * DAT_1824c4360 + *(float *)(param_1 + 0x158); *(float *)(param_1 + 0x158) = fVar5; fVar2 = DAT_1824c4680; while (DAT_1824c4680 = fVar2, fVar3 < fVar5) { *(float *)(param_1 + 0x158) = *(float *)(param_1 + 0x158) - fVar3; FUN_1812eb830(param_1,0xffffffff); fVar2 = DAT_1824c4680; fVar5 = *(float *)(param_1 + 0x158); } if (*(float *)(param_1 + 0x158) <= fVar2 && fVar2 != *(float *)(param_1 + 0x158)) { do { *(float *)(param_1 + 0x158) = *(float *)(param_1 + 0x158) + fVar3; FUN_1812eb830(param_1,1); } while (*(float *)(param_1 + 0x158) <= fVar2 && fVar2 != *(float *)(param_1 + 0x158)); } } else if (*(longlong **)(param_1 + 0x18) != (longlong *)0x0) { lVar1 = **(longlong **)(param_1 + 0x18); uVar4 = FUN_181339840(param_2,local_88); (**(code **)(lVar1 + 0x40))(*(undefined8 *)(param_1 + 0x18),uVar4,param_3); return; } return; } ############ FUN_ 1812f2f60 size=230 ############ void FUN_1812f2f60(longlong param_1,undefined8 param_2) { int iVar1; undefined1 local_68 [8]; int local_60; int local_5c; FUN_181339840(param_2,local_68,param_1); if ((*(int *)(param_1 + 0xf8) != local_60) || (*(int *)(param_1 + 0xfc) != local_5c)) { if (*(int *)(param_1 + 0x104) < 0) { iVar1 = FUN_1812f3b60(param_1,CONCAT44(local_5c,local_60)); if (*(int *)(param_1 + 0x100) != iVar1) { FUN_1812f3ae0(param_1); *(int *)(param_1 + 0x100) = iVar1; FUN_1812f3ae0(param_1,iVar1); } } else { iVar1 = FUN_1812f3b60(param_1,CONCAT44(local_5c,local_60)); if (-1 < iVar1) { FUN_1812f3550(param_1,iVar1); } } *(ulonglong *)(param_1 + 0xf8) = CONCAT44(local_5c,local_60); } return; } ############ FUN_ 1812f31a0 size=92 ############ void FUN_1812f31a0(undefined8 param_1,undefined8 param_2) { int iVar1; undefined1 local_68 [8]; undefined4 local_60; undefined4 local_5c; FUN_181339840(param_2,local_68,param_1); iVar1 = FUN_1812f3b60(param_1,CONCAT44(local_5c,local_60)); if (-1 < iVar1) { FUN_1812f3550(param_1,iVar1); } return; } ############ FUN_ 1812f3210 size=167 ############ void FUN_1812f3210(longlong param_1,undefined8 param_2) { int iVar1; undefined1 local_68 [8]; undefined4 local_60; undefined4 local_5c; if (*(int *)(param_1 + 0x104) < 0) { FUN_181339840(param_2,local_68,param_1); iVar1 = FUN_1812f3b60(param_1,CONCAT44(local_5c,local_60)); if (*(int *)(param_1 + 0x100) != iVar1) { FUN_1812f3ae0(param_1); *(int *)(param_1 + 0x100) = iVar1; FUN_1812f3ae0(param_1,iVar1); } *(undefined4 *)(param_1 + 0x104) = 0xfffffffe; FUN_1812f3550(param_1,*(undefined4 *)(param_1 + 0x100)); } return; } ############ FUN_ 18133ef00 size=457 ############ void FUN_18133ef00(longlong *param_1,undefined4 param_2) { int *piVar1; int iVar2; undefined8 *puVar3; char cVar4; longlong *plVar5; longlong lVar6; undefined8 uVar7; undefined8 *puVar8; longlong lVar9; bool bVar10; undefined8 *local_res18; undefined8 *local_res20; if (DAT_182673708 != param_1) { if ((*(byte *)(param_1 + 0x15) & 1) == 0) { if (param_1[3] == 0) { return; } plVar5 = (longlong *)FUN_18134c2e0(); } else { plVar5 = (longlong *)FUN_1812d2bd0(); } if (plVar5 != (longlong *)0x0) { FUN_1804de690(&local_res18,param_1); (**(code **)(*plVar5 + 200))(plVar5); cVar4 = (**(code **)(*plVar5 + 0xc0))(plVar5); puVar8 = local_res18; if ((cVar4 != '\0') && (DAT_182673708 != param_1)) { FUN_1804de690(&local_res20); DAT_182673708 = param_1; lVar6 = FUN_18134b820(); piVar1 = (int *)(*(longlong *)(lVar6 + 0x28) + 0x18); LOCK(); bVar10 = *piVar1 == 0; if (bVar10) { *piVar1 = 1; } UNLOCK(); lVar9 = 0; if ((bVar10) && (cVar4 = FUN_1812a6720(*(undefined8 *)(lVar6 + 0x28)), cVar4 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(lVar6 + 0x28) + 0x18) = 0; UNLOCK(); } puVar3 = local_res20; if (local_res20 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = local_res20[2]; } if (lVar6 != 0) { if (local_res20 == (undefined8 *)0x0) { uVar7 = 0; } else { uVar7 = local_res20[2]; } FUN_18133f2f0(uVar7,param_2); } puVar8 = local_res18; if (DAT_182673708 == param_1) { (**(code **)(*param_1 + 0xf0))(param_1,param_2); if (puVar8 != (undefined8 *)0x0) { lVar9 = puVar8[2]; } if (lVar9 != 0) { FUN_18133f200(param_1,param_2,&local_res18); } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); puVar8 = local_res18; if (iVar2 == 1) { (**(code **)*local_res20)(local_res20,1); puVar8 = local_res18; } } } if (puVar8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res18)(local_res18,1); } } } } return; } ############ FUN_ 181345240 size=97 ############ /* WARNING: Removing unreachable block (ram,0x000181345284) */ bool FUN_181345240(longlong param_1) { byte bVar1; longlong lVar2; char cVar3; longlong *plVar4; bVar1 = *(byte *)(param_1 + 0xa8); while( true ) { if ((bVar1 & 2) == 0) { return false; } lVar2 = *(longlong *)(param_1 + 0x18); if (lVar2 == 0) break; bVar1 = *(byte *)(lVar2 + 0xa8); param_1 = lVar2; } if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { return false; } plVar4 = (longlong *)FUN_1812d2bd0(); if (plVar4 == (longlong *)0x0) { return false; } cVar3 = (**(code **)(*plVar4 + 0x68))(plVar4); return cVar3 == '\0'; } ############ FUN_ 181343fe0 size=450 ############ undefined8 FUN_181343fe0(longlong *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { bool bVar1; ulonglong uVar2; char cVar3; undefined8 *puVar4; undefined8 uVar5; longlong *plVar6; uint uVar7; float fVar8; float fVar9; undefined8 local_res8; float local_30; float fStack_2c; float fStack_28; float fStack_24; uVar7 = (uint)(param_2 >> 0x20); if ((((uint)param_2 < *(uint *)(param_1 + 5)) && (uVar7 < *(uint *)((longlong)param_1 + 0x2c))) && (cVar3 = (**(code **)(*param_1 + 0x98)) (param_1,param_2,param_2 >> 0x20,param_4,0xfffffffffffffffe), cVar3 != '\0') ) { bVar1 = true; } else { bVar1 = false; } if (bVar1) { if (param_1[3] != 0) { puVar4 = (undefined8 *)FUN_18051e290(&local_res8,param_1,param_2); uVar5 = FUN_181343fe0(param_1[3],*puVar4); return uVar5; } if (((*(byte *)(param_1 + 0x15) & 1) != 0) && (plVar6 = (longlong *)FUN_1812d2bd0(param_1), plVar6 != (longlong *)0x0)) { puVar4 = (undefined8 *)param_1[7]; if (puVar4 != (undefined8 *)0x0) { local_30 = (float)*puVar4; fStack_2c = (float)((ulonglong)*puVar4 >> 0x20); fStack_28 = (float)puVar4[1]; fStack_24 = (float)((ulonglong)puVar4[1] >> 0x20); fVar8 = (float)(int)(uint)param_2; fVar9 = (float)(int)uVar7; local_res8 = CONCAT44((int)(fVar9 * (float)puVar4[2] + fVar8 * fStack_24 + (float)((ulonglong)puVar4[2] >> 0x20)), (int)(fVar9 * fStack_2c + fVar8 * local_30 + fStack_28)); param_2 = local_res8; } local_res8 = param_2; fVar8 = (float)(**(code **)(*param_1 + 0x80))(param_1); uVar2 = param_2; if (fVar8 != DAT_1824c3ea4) { local_res8 = CONCAT44((int)((float)local_res8._4_4_ * fVar8), (int)((float)(int)param_2 * fVar8)); uVar2 = local_res8; } local_res8 = uVar2; uVar5 = (**(code **)(*plVar6 + 0x90))(plVar6,local_res8,1); return uVar5; } } return 0; } ############ FUN_ 18134b8d0 size=84 ############ longlong FUN_18134b8d0(longlong param_1) { longlong *plVar1; longlong lVar2; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) { return 0; } plVar1 = (longlong *)FUN_18134c2e0(); } else { plVar1 = (longlong *)FUN_1812d2bd0(); } if (plVar1 == (longlong *)0x0) { return 0; } if ((undefined **)*plVar1 != juce::HWNDComponentPeer::vftable) { /* WARNING: Could not recover jumptable at 0x00018134b920. Too many branches */ /* WARNING: Treating indirect jump as call */ lVar2 = (*(code *)((undefined **)*plVar1)[1])(plVar1); return lVar2; } return plVar1[0x11]; } ############ FUN_ 180478740 size=192 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180478740(longlong param_1) { longlong lVar1; double dVar2; longlong *plVar3; float *pfVar4; float fVar5; float local_res8 [2]; float local_res10 [6]; lVar1 = *(longlong *)(param_1 + 0xb0); if ((*(byte *)(lVar1 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar1 + 0x18) == 0) { return; } plVar3 = (longlong *)FUN_18134c2e0(); } else { plVar3 = (longlong *)FUN_1812d2bd0(lVar1); } if (plVar3 != (longlong *)0x0) { dVar2 = (double)(**(code **)(*plVar3 + 0x110))(plVar3); local_res10[0] = (float)dVar2; local_res8[0] = *(float *)(*(longlong *)(param_1 + 0xb8) + 0x78); pfVar4 = local_res8; if (local_res8[0] <= local_res10[0]) { pfVar4 = local_res10; } fVar5 = (float)(double)CONCAT44((uint)((ulonglong)(double)(local_res10[0] - local_res8[0]) >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)(local_res10[0] - local_res8[0]),0) & (uint)DAT_1824c4f10); if ((*pfVar4 * _DAT_1824c3c34 < fVar5) && (DAT_1824c3c20 <= fVar5)) { FUN_1804780b0(*(longlong *)(param_1 + 0xb8) + 0x40,local_res10[0]); return; } } return; } ############ FUN_ 180477b70 size=337 ############ undefined8 FUN_180477b70(longlong param_1,undefined8 *param_2) { undefined8 uVar1; uint uVar2; int *piVar3; longlong lVar4; uint uVar5; int iVar6; int iVar7; int iVar8; float fVar9; double dVar10; double dVar11; if (param_2 == (undefined8 *)0x0) { return 1; } uVar1 = param_2[1]; *(undefined8 *)(param_1 + 8) = *param_2; *(undefined8 *)(param_1 + 0x10) = uVar1; if (*(longlong *)(param_1 + 0x60) == 0) { return 0; } dVar10 = (double)((float)(*(int *)(param_1 + 0x10) - *(int *)(param_1 + 8)) / *(float *)(param_1 + 0x68)) + DAT_1824c4520; iVar7 = SUB84(dVar10,0); dVar11 = (double)((float)(*(int *)(param_1 + 0x14) - *(int *)(param_1 + 0xc)) / *(float *)(param_1 + 0x68)) + DAT_1824c4520; iVar6 = SUB84(dVar11,0); piVar3 = (int *)FUN_180473b00(); if (*piVar3 == 0x29) { fVar9 = (float)roundf(); iVar8 = (int)fVar9; uVar2 = iVar7 - *(int *)(*(longlong *)(param_1 + 0x60) + 0x28) * iVar8; uVar5 = (int)uVar2 >> 0x1f; if (((int)((uVar2 ^ uVar5) - uVar5) < 3) && (uVar2 = iVar6 - *(int *)(*(longlong *)(param_1 + 0x60) + 0x2c) * iVar8, uVar5 = (int)uVar2 >> 0x1f, (int)((uVar2 ^ uVar5) - uVar5) < 3)) { iVar7 = (int)((longlong) ((ulonglong)(uint)(iVar7 >> 0x1f) << 0x20 | (ulonglong)dVar10 & 0xffffffff) / (longlong)iVar8); iVar6 = (int)((longlong) ((ulonglong)(uint)(iVar6 >> 0x1f) << 0x20 | (ulonglong)dVar11 & 0xffffffff) / (longlong)iVar8); } } lVar4 = *(longlong *)(param_1 + 0x60); FUN_18134bfe0(lVar4,*(undefined4 *)(lVar4 + 0x20),*(undefined4 *)(lVar4 + 0x24),iVar7,iVar6); lVar4 = *(longlong *)(param_1 + 0x60); if ((*(byte *)(lVar4 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar4 + 0x18) == 0) goto LAB_180477c9b; lVar4 = FUN_18134c2e0(); } else { lVar4 = FUN_1812d2bd0(lVar4); } if (lVar4 != 0) { FUN_18134b470(lVar4); } LAB_180477c9b: piVar3 = (int *)FUN_180473b00(); if (*piVar3 == 0x29) { FUN_1804789b0(*(undefined8 *)(param_1 + 0x60)); } return 0; } ############ FUN_ 180478200 size=414 ############ void FUN_180478200(longlong param_1) { uint uVar1; int *piVar2; longlong lVar3; uint uVar4; int iVar5; int iVar6; int iVar7; float fVar8; undefined8 uVar9; double dVar10; double dVar11; undefined4 local_res8; undefined4 local_res10; FUN_1812a7720(); dVar11 = DAT_1824c4520; lVar3 = *(longlong *)(param_1 + 0x28); uVar9 = 0; if (lVar3 != 0) { local_res8 = SUB84((double)((float)*(int *)(lVar3 + 0x28) * *(float *)(param_1 + 0x30)) + DAT_1824c4520,0); local_res10 = SUB84((double)((float)*(int *)(lVar3 + 0x2c) * *(float *)(param_1 + 0x30)) + DAT_1824c4520,0); uVar9 = CONCAT44(local_res10,local_res8); } *(undefined8 *)(param_1 + -0x30) = 0; *(undefined8 *)(param_1 + -0x28) = uVar9; if (*(longlong *)(param_1 + 0x28) == 0) { return; } dVar10 = (double)((float)(*(int *)(param_1 + -0x28) - *(int *)(param_1 + -0x30)) / *(float *)(param_1 + 0x30)) + dVar11; iVar6 = SUB84(dVar10,0); dVar11 = (double)((float)(*(int *)(param_1 + -0x24) - *(int *)(param_1 + -0x2c)) / *(float *)(param_1 + 0x30)) + dVar11; iVar5 = SUB84(dVar11,0); piVar2 = (int *)FUN_180473b00(); if (*piVar2 == 0x29) { fVar8 = (float)roundf(); iVar7 = (int)fVar8; uVar1 = iVar6 - *(int *)(*(longlong *)(param_1 + 0x28) + 0x28) * iVar7; uVar4 = (int)uVar1 >> 0x1f; if (((int)((uVar1 ^ uVar4) - uVar4) < 3) && (uVar1 = iVar5 - *(int *)(*(longlong *)(param_1 + 0x28) + 0x2c) * iVar7, uVar4 = (int)uVar1 >> 0x1f, (int)((uVar1 ^ uVar4) - uVar4) < 3)) { iVar6 = (int)((longlong) ((ulonglong)(uint)(iVar6 >> 0x1f) << 0x20 | (ulonglong)dVar10 & 0xffffffff) / (longlong)iVar7); iVar5 = (int)((longlong) ((ulonglong)(uint)(iVar5 >> 0x1f) << 0x20 | (ulonglong)dVar11 & 0xffffffff) / (longlong)iVar7); } } lVar3 = *(longlong *)(param_1 + 0x28); FUN_18134bfe0(lVar3,*(undefined4 *)(lVar3 + 0x20),*(undefined4 *)(lVar3 + 0x24),iVar6,iVar5); lVar3 = *(longlong *)(param_1 + 0x28); if ((*(byte *)(lVar3 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar3 + 0x18) == 0) goto LAB_180478380; lVar3 = FUN_18134c2e0(); } else { lVar3 = FUN_1812d2bd0(lVar3); } if (lVar3 != 0) { FUN_18134b470(lVar3); } LAB_180478380: piVar2 = (int *)FUN_180473b00(); if (*piVar2 != 0x29) { return; } FUN_1804789b0(*(undefined8 *)(param_1 + 0x28)); return; } ############ FUN_ 1804d6f90 size=49 ############ void FUN_1804d6f90(longlong param_1) { longlong lVar1; longlong lVar2; lVar1 = *(longlong *)(param_1 + 8); if ((*(byte *)(lVar1 + 0xa8) & 1) != 0) { lVar2 = FUN_1812d2bd0(lVar1); if (lVar2 != 0) { *(undefined8 *)(lVar2 + 0x28) = *(undefined8 *)(lVar1 + 0x100); } } return; } ############ FUN_ 181344f60 size=329 ############ void FUN_181344f60(longlong param_1,char param_2) { int iVar1; longlong lVar2; bool bVar3; char cVar4; longlong *plVar5; longlong *plVar6; ulonglong uVar7; longlong lVar8; int iVar9; if ((*(byte *)(param_1 + 0xa8) & 1) != 0) { plVar5 = (longlong *)FUN_1812d2bd0(); if (plVar5 == (longlong *)0x0) { return; } (**(code **)(*plVar5 + 0xb0))(plVar5,param_2); lVar2 = DAT_182673708; if (param_2 == '\0') { return; } for (; lVar2 != param_1; lVar2 = *(longlong *)(lVar2 + 0x18)) { if (lVar2 == 0) { bVar3 = false; goto LAB_181344fc9; } } bVar3 = true; LAB_181344fc9: if (bVar3) { return; } goto LAB_18134508e; } lVar2 = *(longlong *)(param_1 + 0x18); if (lVar2 == 0) { return; } iVar1 = *(int *)(lVar2 + 0x4c); if (iVar1 < 1) { lVar8 = 0; } else { lVar8 = *(longlong *)(*(longlong *)(lVar2 + 0x40) + (longlong)(iVar1 + -1) * 8); } if (lVar8 != param_1) { plVar5 = *(longlong **)(lVar2 + 0x40); for (plVar6 = plVar5; plVar6 != plVar5 + iVar1; plVar6 = plVar6 + 1) { if (param_1 == *plVar6) { uVar7 = (longlong)plVar6 - (longlong)plVar5 >> 3; if (-1 < (int)uVar7) { iVar9 = -1; if (((*(byte *)(param_1 + 0xa9) & 1) != 0) || (iVar9 = iVar1 + -1, iVar9 < 1)) goto LAB_18134506b; lVar8 = (longlong)iVar9; plVar5 = plVar5 + lVar8; goto LAB_181345050; } break; } } } goto LAB_181345075; while( true ) { iVar9 = iVar9 + -1; lVar8 = lVar8 + -1; plVar5 = plVar5 + -1; if (lVar8 < 1) break; LAB_181345050: if ((*(byte *)(*plVar5 + 0xa9) & 1) == 0) break; } LAB_18134506b: FUN_1813450b0(lVar2,uVar7 & 0xffffffff,iVar9); LAB_181345075: if (param_2 == '\0') { return; } FUN_18133f490(param_1); cVar4 = FUN_181345240(param_1); if (cVar4 == '\0') { return; } LAB_18134508e: FUN_18133ed60(param_1,2,1); return; } ############ FUN_ 18134b0f0 size=313 ############ void FUN_18134b0f0(longlong *param_1,byte param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; char cVar4; longlong *plVar5; longlong lVar6; longlong lVar7; undefined8 *local_res8; if (param_2 == (*(byte *)((longlong)param_1 + 0xa9) & 1)) { return; } FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) & 0xfe; *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) | param_2 & 1; if ((*(byte *)(param_1 + 0x15) & 1) != 0) { if ((*(byte *)(param_1 + 0x15) & 1) == 0) { if (param_1[3] == 0) goto LAB_18134b1a7; plVar5 = (longlong *)FUN_18134c2e0(); } else { plVar5 = (longlong *)FUN_1812d2bd0(param_1); } if ((plVar5 != (longlong *)0x0) && (cVar4 = (**(code **)(*plVar5 + 0xa8))(plVar5,param_2), cVar4 == '\0')) { lVar7 = plVar5[2]; FUN_18134c310(param_1); (**(code **)(*param_1 + 0x68))(param_1,(int)lVar7,0); } } LAB_18134b1a7: puVar3 = local_res8; lVar7 = 0; if (param_2 != 0) { lVar6 = lVar7; if (local_res8 != (undefined8 *)0x0) { lVar6 = local_res8[2]; } if (lVar6 != 0) { FUN_181344f60(param_1,0); } } if (puVar3 != (undefined8 *)0x0) { lVar7 = puVar3[2]; } if (lVar7 != 0) { 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; } ############ FUN_ 1804e5790 size=462 ############ undefined8 * FUN_1804e5790(undefined8 *param_1,longlong *param_2,undefined8 param_3) { longlong *plVar1; ulonglong uVar2; longlong *plVar3; longlong *plVar4; undefined8 *puVar5; float fVar6; float fVar7; undefined8 local_res10; float local_res20; float fStackX_24; undefined8 uVar8; float fVar9; undefined8 uVar10; uVar10 = 0xfffffffffffffffe; uVar8 = param_3; if ((*(byte *)(param_2 + 0x15) & 1) == 0) { if (param_2[3] == 0) goto LAB_1804e5880; plVar4 = (longlong *)FUN_18134c2e0(); } else { plVar4 = (longlong *)FUN_1812d2bd0(param_2); } if (plVar4 != (longlong *)0x0) { puVar5 = (undefined8 *)(**(code **)(*plVar4 + 0x58))(plVar4,&local_res10,param_3); local_res10 = *puVar5; plVar4 = (longlong *)plVar4[1]; fVar7 = (float)local_res10; uVar2 = (ulonglong)local_res10 >> 0x20; uVar8 = local_res10; fVar6 = (float)(**(code **)(*plVar4 + 0x80))(plVar4); if (fVar6 != DAT_1824c3ea4) { local_res10 = CONCAT44((float)uVar2 / fVar6,fVar7 / fVar6); } FUN_18051dc40(param_1,param_2,plVar4,local_res10,uVar8); return param_1; } LAB_1804e5880: fVar7 = (float)uVar8; fVar9 = (float)((ulonglong)uVar8 >> 0x20); local_res10._0_4_ = fVar7; local_res10._4_4_ = fVar9; fVar6 = (float)(**(code **)(*param_2 + 0x80))(param_2); if (fVar6 != DAT_1824c3ea4) { local_res10._4_4_ = fVar9 / fVar6; local_res10._0_4_ = fVar7 / fVar6; } local_res20 = (float)local_res10; fStackX_24 = local_res10._4_4_; plVar3 = (longlong *)param_2[3]; plVar4 = param_2; while (plVar1 = plVar3, plVar1 != (longlong *)0x0) { plVar4 = plVar1; plVar3 = (longlong *)plVar1[3]; } puVar5 = (undefined8 *)FUN_1805200f0(&local_res20,plVar4,local_res10); local_res10 = *puVar5; if (plVar4 == param_2) { *param_1 = local_res10; } else { FUN_1805200a0(param_1,plVar4,param_2,local_res10,uVar8,uVar10); } return param_1; } ############ FUN_ 1812cea70 size=349 ############ void FUN_1812cea70(longlong param_1,int param_2,undefined8 param_3,int param_4,int param_5) { undefined8 *puVar1; int iVar2; longlong lVar3; undefined8 uVar4; int iVar5; bool bVar6; undefined4 local_30; undefined4 uStack_2c; undefined4 uStack_28; undefined4 uStack_24; if ((*(longlong *)(param_1 + 0x138) == 0) && (param_1 + 0x108 != 0)) { *(longlong *)(param_1 + 0x138) = param_1 + 0x108; bVar6 = *(longlong *)(param_1 + 0xc0) != 0; if ((bVar6) || (*(longlong *)(param_1 + 200) != 0)) { uVar4 = 1; } else { uVar4 = 0; } puVar1 = *(undefined8 **)(param_1 + 0xc0); *(undefined8 *)(param_1 + 0xc0) = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1,param_3,param_4,0xfffffffffffffffe); } puVar1 = *(undefined8 **)(param_1 + 200); *(undefined8 *)(param_1 + 200) = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1812cec00(param_1,uVar4,bVar6); if ((*(byte *)(param_1 + 0xa8) & 1) != 0) { lVar3 = FUN_1812d2bd0(param_1); if (lVar3 != 0) { *(undefined8 *)(lVar3 + 0x28) = *(undefined8 *)(param_1 + 0x138); } } } iVar2 = 0; if (0 < param_2) { iVar2 = param_2; } *(int *)(param_1 + 0x110) = iVar2; iVar5 = 0; if (0 < (int)param_3) { iVar5 = (int)param_3; } *(int *)(param_1 + 0x118) = iVar5; if (iVar2 < param_4) { iVar2 = param_4; } *(int *)(param_1 + 0x114) = iVar2; if (iVar5 < param_5) { iVar5 = param_5; } *(int *)(param_1 + 0x11c) = iVar5; local_30 = *(undefined4 *)(param_1 + 0x20); uStack_2c = *(undefined4 *)(param_1 + 0x24); uStack_28 = *(undefined4 *)(param_1 + 0x28); uStack_24 = *(undefined4 *)(param_1 + 0x2c); FUN_1812ce910(param_1,&local_30); return; } ############ FUN_ 18050c500 size=286 ############ void FUN_18050c500(longlong param_1,longlong param_2) { longlong *plVar1; char cVar2; longlong *plVar3; longlong lVar4; plVar1 = *(longlong **)(param_1 + 8); if (param_2 != plVar1[0x2a]) { if (param_2 == plVar1[0x2b]) { /* WARNING: Could not recover jumptable at 0x00018050c5fc. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar1 + 0x188))(plVar1); return; } if (param_2 != plVar1[0x2c]) { return; } /* WARNING: Could not recover jumptable at 0x00018050c617. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar1 + 0x178))(plVar1); return; } if (*(code **)(*plVar1 + 0x180) != FUN_1812d07e0) { /* WARNING: Could not recover jumptable at 0x00018050c5e5. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar1 + 0x180))(plVar1); return; } if ((*(byte *)(plVar1 + 0x15) & 1) == 0) { if (plVar1[3] == 0) goto LAB_18050c564; plVar3 = (longlong *)FUN_18134c2e0(); } else { plVar3 = (longlong *)FUN_1812d2bd0(plVar1); } if ((plVar3 != (longlong *)0x0) && (cVar2 = (**(code **)(*plVar3 + 0x68))(plVar3), cVar2 == '\x01')) { return; } LAB_18050c564: if ((*(byte *)(plVar1 + 0x15) & 1) == 0) { if (plVar1[3] == 0) { return; } plVar3 = (longlong *)FUN_18134c2e0(); } else { plVar3 = (longlong *)FUN_1812d2bd0(plVar1); } if (plVar3 != (longlong *)0x0) { cVar2 = FUN_181345240(plVar1); if (((cVar2 != '\0') && (FUN_1812ce210(plVar1), (*(byte *)(plVar1 + 0x15) & 1) != 0)) && (lVar4 = FUN_1812d2bd0(plVar1), lVar4 != 0)) { *(longlong *)(lVar4 + 0x28) = plVar1[0x27]; } (**(code **)(*plVar3 + 0x60))(plVar3,1); } return; } ############ FUN_ 1812ce210 size=130 ############ void FUN_1812ce210(longlong param_1) { char cVar1; longlong *plVar2; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { cVar1 = *(char *)(param_1 + 0xe2); LAB_1812ce240: if (cVar1 != '\0') { return; } } else { plVar2 = (longlong *)FUN_1812d2bd0(); if (plVar2 != (longlong *)0x0) { cVar1 = (**(code **)(*plVar2 + 0x78))(plVar2); goto LAB_1812ce240; } } if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812ce275; plVar2 = (longlong *)FUN_18134c2e0(); } else { plVar2 = (longlong *)FUN_1812d2bd0(param_1); } if ((plVar2 != (longlong *)0x0) && (cVar1 = (**(code **)(*plVar2 + 0x68))(plVar2), cVar1 != '\0')) { return; } LAB_1812ce275: cVar1 = FUN_1812ce2f0(param_1); if (cVar1 == '\0') { *(undefined8 *)(param_1 + 0xf8) = *(undefined8 *)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x100) = *(undefined8 *)(param_1 + 0x28); } return; } ############ FUN_ 18055a610 size=357 ############ void FUN_18055a610(longlong param_1,int *param_2) { int iVar1; int iVar2; int iVar3; int iVar4; longlong lVar5; longlong lVar6; longlong *plVar7; double dVar8; int local_res8; int local_res10; int local_res18; int local_res20; lVar5 = *(longlong *)(param_1 + 0x48); for (lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x48) + 0x18); lVar6 != 0; lVar6 = *(longlong *)(lVar6 + 0x18)) { lVar5 = lVar6; } if ((*(byte *)(lVar5 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar5 + 0x18) == 0) goto LAB_18055a748; plVar7 = (longlong *)FUN_18134c2e0(); } else { plVar7 = (longlong *)FUN_1812d2bd0(); } if (plVar7 != (longlong *)0x0) { iVar1 = *param_2; iVar2 = param_2[1]; iVar3 = param_2[2]; iVar4 = param_2[3]; dVar8 = (double)(**(code **)(*plVar7 + 0x110))(plVar7); local_res8 = SUB84((double)iVar1 * dVar8 + DAT_1824c4520,0); local_res10 = SUB84((double)iVar2 * dVar8 + DAT_1824c4520,0); local_res18 = SUB84((double)iVar3 * dVar8 + DAT_1824c4520,0); local_res20 = SUB84((double)iVar4 * dVar8 + DAT_1824c4520,0); *param_2 = local_res8; param_2[1] = local_res10; param_2[2] = local_res18; param_2[3] = local_res20; } LAB_18055a748: MoveWindow(*(HWND *)(param_1 + 0x50),*param_2,param_2[1],param_2[2],param_2[3],1); return; } ############ FUN_ 18055a780 size=374 ############ void FUN_18055a780(longlong param_1) { longlong lVar1; longlong lVar2; float fVar3; int local_res20; double local_38; int iStack_30; int iStack_2c; undefined8 local_28; int local_18; int iStack_14; int iStack_10; int iStack_c; local_28 = 0xfffffffffffffffe; lVar2 = *(longlong *)(param_1 + 0x48); for (lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x48) + 0x18); lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { lVar2 = lVar1; } if ((*(byte *)(lVar2 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar2 + 0x18) == 0) { return; } lVar2 = FUN_18134c2e0(); } else { lVar2 = FUN_1812d2bd0(); } if (lVar2 != 0) { lVar1 = *(longlong *)(param_1 + 0x48); iStack_2c = *(int *)(lVar1 + 0x2c); iStack_30 = *(int *)(lVar1 + 0x28); local_18 = 0; iStack_14 = 0; local_38 = 0.0; iStack_10 = iStack_30; iStack_c = iStack_2c; FUN_18051df30(&local_18,*(undefined8 *)(lVar2 + 8),lVar1,&local_38); fVar3 = (float)(**(code **)(**(longlong **)(lVar2 + 8) + 0x80))(); if (fVar3 != DAT_1824c3ea4) { local_38 = (double)((float)iStack_c * fVar3) + DAT_1824c4520; local_18 = SUB84((double)((float)local_18 * fVar3) + DAT_1824c4520,0); local_res20 = SUB84((double)((float)iStack_14 * fVar3) + DAT_1824c4520,0); iStack_14 = local_res20; iStack_10 = SUB84((double)((float)iStack_10 * fVar3) + DAT_1824c4520,0); iStack_c = local_38._0_4_; } if (*(longlong *)(param_1 + 0x50) != 0) { FUN_18055a610(param_1,&local_18); } } return; } ############ FUN_ 180598290 size=104 ############ /* WARNING: Removing unreachable block (ram,0x0001805982e8) */ bool FUN_180598290(longlong param_1) { byte bVar1; longlong lVar2; bVar1 = *(byte *)(param_1 + 0xa8); while( true ) { if ((bVar1 & 2) == 0) { return false; } lVar2 = *(longlong *)(param_1 + 0x18); if (lVar2 == 0) break; bVar1 = *(byte *)(lVar2 + 0xa8); param_1 = lVar2; } if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { return false; } lVar2 = FUN_1812d2bd0(); return lVar2 != 0; } ############ FUN_ 180595f00 size=290 ############ void FUN_180595f00(longlong param_1) { longlong lVar1; longlong lVar2; char cVar3; longlong lVar4; longlong *plVar5; undefined4 *puVar6; longlong lVar7; double dVar8; double dVar9; double dVar10; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; undefined1 local_28 [32]; lVar1 = *(longlong *)(param_1 + 0x48); if ((lVar1 != 0) && (*(longlong *)(lVar1 + 0x10) != 0)) { lVar7 = 0; lVar4 = lVar7; if (lVar1 != 0) { lVar4 = *(longlong *)(lVar1 + 0x10); } lVar1 = *(longlong *)(lVar4 + 0x18); while (lVar2 = lVar1, lVar2 != 0) { lVar4 = lVar2; lVar1 = *(longlong *)(lVar2 + 0x18); } if ((*(byte *)(lVar4 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar4 + 0x18) == 0) { return; } plVar5 = (longlong *)FUN_18134c2e0(); } else { plVar5 = (longlong *)FUN_1812d2bd0(lVar4); } if (plVar5 != (longlong *)0x0) { dVar8 = (double)(**(code **)(*plVar5 + 0x110))(plVar5); cVar3 = FUN_18134ce40(); if (cVar3 != '\0') { dVar8 = dVar8 * dVar8; } dVar10 = *(double *)(param_1 + 0x40); dVar9 = dVar10; if (dVar10 <= dVar8) { dVar9 = dVar8; } dVar10 = (double)CONCAT44((uint)((ulonglong)(dVar8 - dVar10) >> 0x20) & DAT_1824c4f10._4_4_, SUB84(dVar8 - dVar10,0) & (uint)DAT_1824c4f10); if ((dVar9 * DAT_1824c3c80 < dVar10) && (DAT_1824c3c18 <= dVar10)) { *(double *)(param_1 + 0x40) = dVar8; if (*(longlong *)(param_1 + 0x48) != 0) { lVar7 = *(longlong *)(*(longlong *)(param_1 + 0x48) + 0x10); } puVar6 = (undefined4 *)FUN_1812d1620(plVar5,local_28,lVar7); local_38 = *puVar6; uStack_34 = puVar6[1]; uStack_30 = puVar6[2]; uStack_2c = puVar6[3]; FUN_180595d70(param_1,&local_38); } } } return; } ############ FUN_ 180598070 size=300 ############ void FUN_180598070(longlong *param_1) { longlong lVar1; longlong lVar2; char cVar3; bool bVar4; longlong lVar5; undefined4 *puVar6; longlong lVar7; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; undefined1 local_18 [16]; if (param_1[1] == 0) { lVar7 = 0; } else { lVar7 = *(longlong *)(param_1[1] + 0x10); } lVar5 = *(longlong *)(lVar7 + 0x68); if ((((*(char *)(param_1[0xb] + 499) == '\0') && (0 < *(int *)(lVar7 + 0x28))) && (0 < *(int *)(lVar7 + 0x2c))) && (cVar3 = FUN_180598290(lVar7), cVar3 != '\0')) { bVar4 = true; } else { bVar4 = false; } if ((lVar5 != 0) != bVar4) { (**(code **)(*param_1 + 0x58))(param_1); } if (((0 < *(int *)(lVar7 + 0x28)) && (0 < *(int *)(lVar7 + 0x2c))) && (*(longlong *)(param_1[0xb] + 0x188) != 0)) { lVar5 = FUN_180597f00(lVar7); if (lVar5 != 0) { FUN_180596f80(lVar5,1); } lVar2 = *(longlong *)(lVar7 + 0x18); lVar5 = lVar7; while (lVar1 = lVar2, lVar1 != 0) { lVar5 = lVar1; lVar2 = *(longlong *)(lVar1 + 0x18); } if ((*(byte *)(lVar5 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar5 + 0x18) == 0) { return; } lVar5 = FUN_18134c2e0(); } else { lVar5 = FUN_1812d2bd0(); } if (lVar5 != 0) { puVar6 = (undefined4 *)FUN_1812d1620(lVar5,local_18,lVar7); local_28 = *puVar6; uStack_24 = puVar6[1]; uStack_20 = puVar6[2]; uStack_1c = puVar6[3]; FUN_180595d70(*(undefined8 *)(param_1[0xb] + 0x188),&local_28); } } return; } ############ FUN_ 1812bd7a0 size=293 ############ void FUN_1812bd7a0(longlong param_1) { int iVar1; int iVar2; int iVar3; bool bVar4; char cVar5; longlong *plVar6; longlong lVar7; int iVar8; bVar4 = false; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) != 0) { plVar6 = (longlong *)FUN_18134c2e0(); goto LAB_1812bd7d3; } } else { plVar6 = (longlong *)FUN_1812d2bd0(); LAB_1812bd7d3: if (plVar6 != (longlong *)0x0) { cVar5 = (**(code **)(*plVar6 + 0x78))(plVar6); if ((cVar5 == '\0') && (cVar5 = (**(code **)(*plVar6 + 0x80))(plVar6), cVar5 == '\0')) { bVar4 = false; } else { bVar4 = true; } } } plVar6 = *(longlong **)(param_1 + 0xb8); if (plVar6 != (longlong *)0x0) { (**(code **)(*plVar6 + 0x58))(plVar6,!bVar4); FUN_18134bfe0(*(undefined8 *)(param_1 + 0xb8),*(int *)(param_1 + 0x28) + -0x12, *(int *)(param_1 + 0x2c) + -0x12,0x12,0x12); } if (*(char *)(param_1 + 200) != '\0') { return; } iVar1 = *(int *)(param_1 + 0x28); if (iVar1 == 0) { return; } iVar2 = *(int *)(param_1 + 0x2c); if (iVar2 == 0) { return; } if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812bd885; lVar7 = FUN_18134c2e0(); } else { lVar7 = FUN_1812d2bd0(); } if (lVar7 != 0) { FUN_18134b470(); } LAB_1812bd885: iVar3 = 0; if (0 < iVar1) { iVar3 = iVar1; } *(int *)(param_1 + 0xd8) = iVar3; iVar8 = 0; if (0 < iVar2) { iVar8 = iVar2; } *(int *)(param_1 + 0xe0) = iVar8; if (iVar3 < iVar1) { iVar3 = iVar1; } *(int *)(param_1 + 0xdc) = iVar3; if (iVar8 < iVar2) { iVar8 = iVar2; } *(int *)(param_1 + 0xe4) = iVar8; return; } ############ FUN_ 1812bd760 size=45 ############ void FUN_1812bd760(longlong param_1) { longlong lVar1; if ((*(byte *)(param_1 + 0xa8) & 1) != 0) { lVar1 = FUN_1812d2bd0(); if (lVar1 != 0) { *(undefined8 *)(lVar1 + 0x28) = *(undefined8 *)(param_1 + 0x100); } } return; } ############ FUN_ 1812bd8d0 size=61 ############ void FUN_1812bd8d0(longlong param_1,longlong param_2) { longlong lVar1; if ((*(longlong *)(param_1 + 0x100) != param_2) && (*(longlong *)(param_1 + 0x100) = param_2, (*(byte *)(param_1 + 0xa8) & 1) != 0)) { lVar1 = FUN_1812d2bd0(); if (lVar1 != 0) { *(undefined8 *)(lVar1 + 0x28) = *(undefined8 *)(param_1 + 0x100); } } return; } ############ FUN_ 1812cc3b0 size=86 ############ void FUN_1812cc3b0(longlong param_1) { char cVar1; longlong lVar2; cVar1 = FUN_181345240(); if (cVar1 != '\0') { if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) { return; } lVar2 = FUN_18134c2e0(); } else { lVar2 = FUN_1812d2bd0(param_1); } if ((lVar2 != 0) && ((*(uint *)(lVar2 + 0x10) & 0x402) == 0)) { FUN_181344f60(param_1,1); return; } } return; } ############ FUN_ 1812cd580 size=105 ############ void FUN_1812cd580(longlong param_1,undefined8 param_2) { char cVar1; longlong *plVar2; if (*(char *)(param_1 + 0xe3) == '\0') { return; } if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { cVar1 = *(char *)(param_1 + 0xe2); } else { plVar2 = (longlong *)FUN_1812d2bd0(); if (plVar2 == (longlong *)0x0) goto LAB_1812cd5c5; cVar1 = (**(code **)(*plVar2 + 0x78))(plVar2); } if (cVar1 != '\0') { return; } LAB_1812cd5c5: *(undefined1 *)(param_1 + 0xe4) = 1; FUN_18133ae20(param_1 + 0xe8,param_1,param_2); return; } ############ FUN_ 1812ce490 size=478 ############ void FUN_1812ce490(longlong *param_1,char param_2) { uint uVar1; char cVar2; longlong *plVar3; longlong lVar4; undefined4 uVar5; ulonglong uVar6; ulonglong uVar7; ulonglong uVar8; ulonglong uVar9; ulonglong local_30; undefined8 uStack_28; undefined1 local_20 [24]; if ((*(byte *)(param_1 + 0x15) & 1) == 0) { cVar2 = *(char *)((longlong)param_1 + 0xe2); } else { if ((*(byte *)(param_1 + 0x15) & 1) == 0) { if (param_1[3] != 0) { plVar3 = (longlong *)FUN_18134c2e0(); goto LAB_1812ce4ce; } } else { plVar3 = (longlong *)FUN_1812d2bd0(); LAB_1812ce4ce: if ((plVar3 != (longlong *)0x0) && (cVar2 = (**(code **)(*plVar3 + 0x78))(plVar3), cVar2 != '\0')) { cVar2 = '\x01'; goto LAB_1812ce4ef; } } cVar2 = '\0'; } LAB_1812ce4ef: if (param_2 == cVar2) { return; } cVar2 = FUN_181345240(param_1); if (cVar2 != '\0') { FUN_1812ce210(param_1); if ((*(byte *)(param_1 + 0x15) & 1) != 0) { if ((*(byte *)(param_1 + 0x15) & 1) == 0) { if (param_1[3] == 0) goto LAB_1812ce546; lVar4 = FUN_18134c2e0(); } else { lVar4 = FUN_1812d2bd0(param_1); } if (lVar4 != 0) { *(longlong *)(lVar4 + 0x28) = param_1[0x27]; } } } LAB_1812ce546: *(char *)((longlong)param_1 + 0xe2) = param_2; if ((*(byte *)(param_1 + 0x15) & 1) == 0) { if (param_2 == '\0') { uVar6 = param_1[0x20]; uVar7 = param_1[0x1f]; goto LAB_1812ce647; } if (param_1[3] == 0) { lVar4 = FUN_181344bc0(param_1,&local_30); uVar5 = *(undefined4 *)(lVar4 + 0xc); } else { uVar5 = *(undefined4 *)(param_1[3] + 0x2c); } if (param_1[3] == 0) { lVar4 = FUN_181344bc0(param_1,local_20); uVar1 = *(uint *)(lVar4 + 8); } else { uVar1 = *(uint *)(param_1[3] + 0x28); } uVar9 = (ulonglong)uVar1; uVar8 = 0; uVar7 = 0; } else { if ((*(byte *)(param_1 + 0x15) & 1) == 0) { if (param_1[3] == 0) goto LAB_1812ce657; plVar3 = (longlong *)FUN_18134c2e0(); } else { plVar3 = (longlong *)FUN_1812d2bd0(param_1); } if (plVar3 == (longlong *)0x0) goto LAB_1812ce657; local_30 = param_1[0x1f]; uStack_28 = param_1[0x20]; (**(code **)(*plVar3 + 0x70))(plVar3,param_2); if (((param_2 != '\0') || ((int)uStack_28 < 1)) || (uVar6 = uStack_28, uVar7 = local_30, uStack_28._4_4_ < 1)) goto LAB_1812ce657; LAB_1812ce647: uVar8 = uVar7 >> 0x20; uVar9 = uVar6 & 0xffffffff; uVar5 = (undefined4)(uVar6 >> 0x20); } FUN_18134bfe0(param_1,uVar7,uVar8,uVar9,uVar5); LAB_1812ce657: (**(code **)(*param_1 + 0x108))(param_1); return; } ############ FUN_ 1812cdd10 size=1038 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812cdd10(longlong param_1,undefined8 param_2) { uint *_Memory; uint uVar1; longlong lVar2; char cVar3; byte bVar4; longlong lVar5; longlong *plVar6; void *pvVar7; longlong lVar8; int iVar9; undefined1 *puVar10; undefined1 *puVar11; size_t sVar12; undefined1 auStack_d8 [32]; char local_b8 [4]; undefined2 local_b4; char local_b0 [8]; undefined1 *local_a8; undefined4 local_a0; char *local_98; undefined8 local_90; undefined1 local_78 [16]; undefined1 local_68 [16]; undefined1 local_58 [16]; ulonglong local_48 [2]; local_90 = 0xfffffffffffffffe; local_48[0] = DAT_182615970 ^ (ulonglong)auStack_d8; local_a0 = 0; local_98 = (char *)param_2; cVar3 = FUN_181345240(); if (cVar3 != '\0') { FUN_1812ce210(param_1); bVar4 = *(byte *)(param_1 + 0xa8) & 1; if (bVar4 != 0) { if (bVar4 == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812cdda3; lVar5 = FUN_18134c2e0(); } else { lVar5 = FUN_1812d2bd0(param_1); } if (lVar5 != 0) { *(undefined8 *)(lVar5 + 0x28) = *(undefined8 *)(param_1 + 0x138); } } } LAB_1812cdda3: bVar4 = *(byte *)(param_1 + 0xa8) & 1; if (bVar4 == 0) { cVar3 = *(char *)(param_1 + 0xe2); joined_r0x0001812cde80: if ((cVar3 != '\0') && (cVar3 = FUN_1812ce2f0(param_1), cVar3 == '\0')) { local_98 = "fs "; goto LAB_1812cddf0; } } else if (bVar4 == 0) { if (*(longlong *)(param_1 + 0x18) != 0) { plVar6 = (longlong *)FUN_18134c2e0(); goto LAB_1812cddcf; } } else { plVar6 = (longlong *)FUN_1812d2bd0(param_1); LAB_1812cddcf: if (plVar6 != (longlong *)0x0) { cVar3 = (**(code **)(*plVar6 + 0x78))(plVar6); goto joined_r0x0001812cde80; } } local_98 = ""; LAB_1812cddf0: local_a8 = &DAT_1821dbf98; local_a0 = 2; FUN_1812342b0(&local_a8,0x20); pvVar7 = (void *)FUN_181233e10(local_78,*(undefined4 *)(param_1 + 0xf8)); iVar9 = (int)local_78 - (int)pvVar7; puVar10 = local_a8; if (0 < iVar9) { lVar5 = -1; do { lVar5 = lVar5 + 1; } while (local_a8[lVar5] != '\0'); sVar12 = (size_t)iVar9; FUN_1812342b0(&local_a8,lVar5 + sVar12); puVar10 = local_a8; puVar11 = local_a8 + (int)lVar5; memcpy(puVar11,pvVar7,sVar12); puVar11[sVar12] = 0; } local_b8[0] = ' '; local_b8[1] = '\0'; lVar5 = -1; do { lVar8 = lVar5 + 1; lVar2 = lVar5 + 1; lVar5 = lVar8; } while (local_b8[lVar2] != '\0'); iVar9 = ((int)local_b8 + (int)lVar8) - (int)local_b8; if (0 < iVar9) { lVar5 = -1; do { lVar5 = lVar5 + 1; } while (puVar10[lVar5] != '\0'); sVar12 = (size_t)iVar9; FUN_1812342b0(&local_a8,lVar5 + sVar12); puVar10 = local_a8; puVar11 = local_a8 + (int)lVar5; memcpy(puVar11,local_b8,sVar12); puVar11[sVar12] = 0; } pvVar7 = (void *)FUN_181233e10(local_68,*(undefined4 *)(param_1 + 0xfc)); iVar9 = (int)local_68 - (int)pvVar7; if (0 < iVar9) { lVar5 = -1; do { lVar5 = lVar5 + 1; } while (puVar10[lVar5] != '\0'); sVar12 = (size_t)iVar9; FUN_1812342b0(&local_a8,lVar5 + sVar12); puVar10 = local_a8; puVar11 = local_a8 + (int)lVar5; memcpy(puVar11,pvVar7,sVar12); puVar11[sVar12] = 0; } local_b4 = 0x20; lVar5 = -1; do { lVar8 = lVar5 + 1; lVar2 = lVar5 + 1; lVar5 = lVar8; } while (*(char *)((longlong)&local_b4 + lVar2) != '\0'); iVar9 = ((int)&local_b4 + (int)lVar8) - (int)&local_b4; if (0 < iVar9) { lVar5 = -1; do { lVar5 = lVar5 + 1; } while (puVar10[lVar5] != '\0'); sVar12 = (size_t)iVar9; FUN_1812342b0(&local_a8,lVar5 + sVar12); puVar10 = local_a8; puVar11 = local_a8 + (int)lVar5; memcpy(puVar11,&local_b4,sVar12); puVar11[sVar12] = 0; } pvVar7 = (void *)FUN_181233e10(local_58,*(undefined4 *)(param_1 + 0x100)); iVar9 = (int)local_58 - (int)pvVar7; if (0 < iVar9) { lVar5 = -1; do { lVar5 = lVar5 + 1; } while (puVar10[lVar5] != '\0'); sVar12 = (size_t)iVar9; FUN_1812342b0(&local_a8,lVar5 + sVar12); puVar10 = local_a8; puVar11 = local_a8 + (int)lVar5; memcpy(puVar11,pvVar7,sVar12); puVar11[sVar12] = 0; } local_b0[0] = ' '; local_b0[1] = '\0'; lVar5 = -1; do { lVar8 = lVar5 + 1; lVar2 = lVar5 + 1; lVar5 = lVar8; } while (local_b0[lVar2] != '\0'); iVar9 = ((int)local_b0 + (int)lVar8) - (int)local_b0; if (0 < iVar9) { lVar5 = -1; do { lVar5 = lVar5 + 1; } while (puVar10[lVar5] != '\0'); sVar12 = (size_t)iVar9; FUN_1812342b0(&local_a8,lVar5 + sVar12); puVar10 = local_a8; puVar11 = local_a8 + (int)lVar5; memcpy(puVar11,local_b0,sVar12); puVar11[sVar12] = 0; } pvVar7 = (void *)FUN_181233e10(local_48,*(undefined4 *)(param_1 + 0x104)); iVar9 = (int)local_48 - (int)pvVar7; if (0 < iVar9) { lVar5 = -1; do { lVar5 = lVar5 + 1; } while (puVar10[lVar5] != '\0'); sVar12 = (size_t)iVar9; FUN_1812342b0(&local_a8,lVar5 + sVar12); puVar10 = local_a8; puVar11 = local_a8 + (int)lVar5; memcpy(puVar11,pvVar7,sVar12); puVar11[sVar12] = 0; } FUN_181246550(param_2,local_98,&local_a8); _Memory = (uint *)(puVar10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 1812ce140 size=124 ############ void FUN_1812ce140(longlong param_1) { longlong lVar1; char cVar2; longlong *plVar3; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(char *)(param_1 + 0xe2) == '\0') { return; } } else { plVar3 = (longlong *)FUN_1812d2bd0(); if (plVar3 == (longlong *)0x0) { return; } cVar2 = (**(code **)(*plVar3 + 0x78))(); if (cVar2 == '\0') { return; } } lVar1 = *(longlong *)(param_1 + 0x18); if (lVar1 != 0) { FUN_18134bfe0(param_1,0,0,*(undefined4 *)(lVar1 + 0x28),*(undefined4 *)(lVar1 + 0x2c)); } return; } ############ FUN_ 1812ce1d0 size=45 ############ void FUN_1812ce1d0(longlong param_1) { longlong lVar1; if ((*(byte *)(param_1 + 0xa8) & 1) != 0) { lVar1 = FUN_1812d2bd0(); if (lVar1 != 0) { *(undefined8 *)(lVar1 + 0x28) = *(undefined8 *)(param_1 + 0x138); } } return; } ############ FUN_ 1812ce2a0 size=65 ############ void FUN_1812ce2a0(longlong param_1) { char cVar1; longlong lVar2; cVar1 = FUN_181345240(); if (cVar1 != '\0') { FUN_1812ce210(param_1); if ((*(byte *)(param_1 + 0xa8) & 1) != 0) { lVar2 = FUN_1812d2bd0(param_1); if (lVar2 != 0) { *(undefined8 *)(lVar2 + 0x28) = *(undefined8 *)(param_1 + 0x138); } } } return; } ############ FUN_ 1812ce380 size=178 ############ void FUN_1812ce380(longlong param_1) { char cVar1; longlong *plVar2; longlong lVar3; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812ce3b9; plVar2 = (longlong *)FUN_18134c2e0(); } else { plVar2 = (longlong *)FUN_1812d2bd0(); } if ((plVar2 != (longlong *)0x0) && (cVar1 = (**(code **)(*plVar2 + 0x68))(plVar2), cVar1 == '\x01')) { return; } LAB_1812ce3b9: if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) { return; } plVar2 = (longlong *)FUN_18134c2e0(); } else { plVar2 = (longlong *)FUN_1812d2bd0(param_1); } if (plVar2 != (longlong *)0x0) { cVar1 = FUN_181345240(param_1); if (((cVar1 != '\0') && (FUN_1812ce210(param_1), (*(byte *)(param_1 + 0xa8) & 1) != 0)) && (lVar3 = FUN_1812d2bd0(param_1), lVar3 != 0)) { *(undefined8 *)(lVar3 + 0x28) = *(undefined8 *)(param_1 + 0x138); } (**(code **)(*plVar2 + 0x60))(plVar2,1); } return; } ############ FUN_ 1812ce440 size=60 ############ ulonglong FUN_1812ce440(longlong param_1) { ulonglong in_RAX; longlong *plVar1; ulonglong uVar2; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812ce475; plVar1 = (longlong *)FUN_18134c2e0(); } else { plVar1 = (longlong *)FUN_1812d2bd0(); } in_RAX = 0; if (plVar1 != (longlong *)0x0) { /* WARNING: Could not recover jumptable at 0x0001812ce471. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar2 = (**(code **)(*plVar1 + 0x68))(plVar1); return uVar2; } LAB_1812ce475: return in_RAX & 0xffffffffffffff00; } ############ FUN_ 1812ce680 size=68 ############ undefined1 FUN_1812ce680(longlong param_1) { char cVar1; longlong *plVar2; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { return *(undefined1 *)(param_1 + 0xe2); } plVar2 = (longlong *)FUN_1812d2bd0(); if (plVar2 != (longlong *)0x0) { cVar1 = (**(code **)(*plVar2 + 0x78))(plVar2); if (cVar1 != '\0') { return 1; } } return 0; } ############ FUN_ 1812ce770 size=91 ############ void FUN_1812ce770(longlong *param_1) { undefined4 uVar1; longlong lVar2; (**(code **)(*param_1 + 0x108))(); if ((*(byte *)(param_1 + 0x15) & 1) != 0) { uVar1 = (**(code **)(*param_1 + 0x160))(param_1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,uVar1,0); if ((*(byte *)(param_1 + 0x15) & 1) != 0) { lVar2 = FUN_1812d2bd0(param_1); if (lVar2 != 0) { *(longlong *)(lVar2 + 0x28) = param_1[0x27]; } } } return; } ############ FUN_ 1812ce7e0 size=293 ############ void FUN_1812ce7e0(longlong *param_1,undefined8 param_2) { code *pcVar1; char cVar2; longlong lVar3; undefined8 uVar4; longlong *plVar5; undefined4 local_res8 [2]; undefined8 uVar6; undefined1 local_20 [24]; uVar6 = 0xfffffffffffffffe; lVar3 = FUN_18134adf0(); uVar4 = (**(code **)(*param_1 + 0x168))(param_1,local_20); pcVar1 = *(code **)(*(longlong *)(lVar3 + 0x60) + 0x18); if (pcVar1 == FUN_18130bbd0) { FUN_18134a8d0(param_1,local_res8,0x1005700,0); FUN_1812a3160(param_2,local_res8[0]); } else { (*pcVar1)(lVar3 + 0x60,param_2,(int)param_1[5],*(undefined4 *)((longlong)param_1 + 0x2c),uVar4, param_1,uVar6); } if ((*(byte *)(param_1 + 0x15) & 1) == 0) { cVar2 = *(char *)((longlong)param_1 + 0xe2); } else { plVar5 = (longlong *)FUN_1812d2bd0(param_1); if (plVar5 == (longlong *)0x0) goto LAB_1812ce883; cVar2 = (**(code **)(*plVar5 + 0x78))(plVar5); } if (cVar2 != '\0') { return; } LAB_1812ce883: uVar4 = (**(code **)(*param_1 + 0x168))(param_1,local_20); pcVar1 = *(code **)(*(longlong *)(lVar3 + 0x60) + 0x20); if (pcVar1 == FUN_18130bbc0) { return; } (*pcVar1)(lVar3 + 0x60,param_2,(int)param_1[5],*(undefined4 *)((longlong)param_1 + 0x2c),uVar4, param_1); return; } ############ FUN_ 1812ce990 size=205 ############ void FUN_1812ce990(longlong param_1,longlong param_2) { undefined8 *puVar1; longlong lVar2; undefined8 uVar3; bool bVar4; if (*(longlong *)(param_1 + 0x138) != param_2) { *(longlong *)(param_1 + 0x138) = param_2; bVar4 = *(longlong *)(param_1 + 0xc0) != 0; if ((bVar4) || (*(longlong *)(param_1 + 200) != 0)) { uVar3 = 1; } else { uVar3 = 0; } puVar1 = *(undefined8 **)(param_1 + 0xc0); *(undefined8 *)(param_1 + 0xc0) = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } puVar1 = *(undefined8 **)(param_1 + 200); *(undefined8 *)(param_1 + 200) = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1812cec00(param_1,uVar3,bVar4); if ((*(byte *)(param_1 + 0xa8) & 1) != 0) { lVar2 = FUN_1812d2bd0(param_1); if (lVar2 != 0) { *(undefined8 *)(lVar2 + 0x28) = *(undefined8 *)(param_1 + 0x138); } } } return; } ############ FUN_ 1812cf3a0 size=134 ############ void FUN_1812cf3a0(longlong param_1) { char cVar1; longlong lVar2; cVar1 = FUN_181345240(); if (cVar1 != '\0') { if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812cf3eb; lVar2 = FUN_18134c2e0(); } else { lVar2 = FUN_1812d2bd0(param_1); } if ((lVar2 != 0) && ((*(uint *)(lVar2 + 0x10) & 0x402) == 0)) { FUN_181344f60(param_1,1); } } LAB_1812cf3eb: cVar1 = FUN_181345240(param_1); if (cVar1 != '\0') { FUN_1812ce210(param_1); if ((*(byte *)(param_1 + 0xa8) & 1) != 0) { lVar2 = FUN_1812d2bd0(param_1); if (lVar2 != 0) { *(undefined8 *)(lVar2 + 0x28) = *(undefined8 *)(param_1 + 0x138); } } } return; } ############ FUN_ 1812cf430 size=65 ############ void FUN_1812cf430(longlong param_1) { char cVar1; longlong lVar2; cVar1 = FUN_181345240(); if (cVar1 != '\0') { FUN_1812ce210(param_1); if ((*(byte *)(param_1 + 0xa8) & 1) != 0) { lVar2 = FUN_1812d2bd0(param_1); if (lVar2 != 0) { *(undefined8 *)(lVar2 + 0x28) = *(undefined8 *)(param_1 + 0x138); } } } return; } ############ FUN_ 1812d03c0 size=283 ############ void FUN_1812d03c0(longlong param_1) { char cVar1; longlong *plVar2; longlong lVar3; undefined1 uVar4; undefined4 local_18; int local_14; undefined4 local_10; int local_c; FUN_1812cf0f0(); lVar3 = *(longlong *)(param_1 + 0x158); if (lVar3 == 0) goto LAB_1812d042c; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { uVar4 = *(undefined1 *)(param_1 + 0xe2); } else { plVar2 = (longlong *)FUN_1812d2bd0(param_1); if (plVar2 != (longlong *)0x0) { cVar1 = (**(code **)(*plVar2 + 0x78))(plVar2); if (cVar1 != '\0') { uVar4 = 1; goto LAB_1812d041e; } } uVar4 = 0; } LAB_1812d041e: FUN_181337080(lVar3,uVar4,0,0); LAB_1812d042c: FUN_1812d01c0(param_1,&local_18); lVar3 = FUN_18134adf0(param_1); (**(code **)(*(longlong *)(lVar3 + 0x68) + 0x18)) (lVar3 + 0x68,param_1,local_18,local_14,local_10,local_c, *(undefined8 *)(param_1 + 0x150),*(undefined8 *)(param_1 + 0x158), *(undefined8 *)(param_1 + 0x160),*(undefined1 *)(param_1 + 0x14c)); if (*(longlong *)(param_1 + 0x170) != 0) { FUN_18134bfe0(*(longlong *)(param_1 + 0x170),local_18,local_14 + local_c,local_10, *(undefined4 *)(param_1 + 0x144)); } return; } ############ FUN_ 1812d04f0 size=620 ############ void FUN_1812d04f0(longlong *param_1,longlong param_2) { code *pcVar1; char cVar2; int iVar3; longlong lVar4; undefined8 uVar5; longlong *plVar6; int iVar7; int iVar8; undefined4 local_res8 [2]; undefined8 in_stack_ffffffffffffff88; undefined4 uVar9; undefined8 in_stack_ffffffffffffff90; undefined4 uVar10; undefined4 local_38; undefined4 uStack_34; int iStack_30; undefined4 uStack_2c; undefined4 local_28; undefined4 uStack_24; int iStack_20; undefined4 uStack_1c; uVar9 = (undefined4)((ulonglong)in_stack_ffffffffffffff88 >> 0x20); uVar10 = (undefined4)((ulonglong)in_stack_ffffffffffffff90 >> 0x20); lVar4 = FUN_18134adf0(); uVar5 = (**(code **)(*param_1 + 0x168))(param_1,&local_28); pcVar1 = *(code **)(*(longlong *)(lVar4 + 0x60) + 0x18); if (pcVar1 == FUN_18130bbd0) { FUN_18134a8d0(param_1,local_res8,0x1005700,0); FUN_1812a3160(param_2,local_res8[0]); } else { plVar6 = param_1; (*pcVar1)(lVar4 + 0x60,param_2,(int)param_1[5],*(undefined4 *)((longlong)param_1 + 0x2c),uVar5, param_1); uVar9 = (undefined4)((ulonglong)uVar5 >> 0x20); uVar10 = (undefined4)((ulonglong)plVar6 >> 0x20); } if ((*(byte *)(param_1 + 0x15) & 1) == 0) { cVar2 = *(char *)((longlong)param_1 + 0xe2); LAB_1812d05a1: if (cVar2 != '\0') goto LAB_1812d05cc; } else { plVar6 = (longlong *)FUN_1812d2bd0(param_1); if (plVar6 != (longlong *)0x0) { cVar2 = (**(code **)(*plVar6 + 0x78))(plVar6); goto LAB_1812d05a1; } } uVar5 = (**(code **)(*param_1 + 0x168))(param_1,&local_28); pcVar1 = *(code **)(*(longlong *)(lVar4 + 0x60) + 0x20); if (pcVar1 != FUN_18130bbc0) { plVar6 = param_1; (*pcVar1)(lVar4 + 0x60,param_2,(int)param_1[5],*(undefined4 *)((longlong)param_1 + 0x2c),uVar5, param_1); uVar9 = (undefined4)((ulonglong)uVar5 >> 0x20); uVar10 = (undefined4)((ulonglong)plVar6 >> 0x20); } LAB_1812d05cc: FUN_1812d01c0(param_1,&local_38); local_28 = local_38; uStack_24 = uStack_34; iStack_20 = iStack_30; uStack_1c = uStack_2c; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x28))(*(longlong **)(param_2 + 8),&local_28); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x10)) (*(longlong **)(param_2 + 8),CONCAT44(uStack_34,local_38)); iVar8 = 6; iVar7 = iStack_30 + -6; for (plVar6 = param_1 + 0x2a; plVar6 != param_1 + 0x2d; plVar6 = plVar6 + 1) { lVar4 = *plVar6; if (lVar4 != 0) { if (*(char *)((longlong)param_1 + 0x14c) == '\0') { iVar3 = *(int *)(lVar4 + 0x20); iVar3 = iVar3 - ((int)(iVar3 + (iVar3 >> 0x1f & 7U)) >> 3); if (iVar3 < iVar7) { iVar7 = iVar3; } } else { iVar3 = ((int)param_1[5] - *(int *)(lVar4 + 0x28)) - *(int *)(lVar4 + 0x20); iVar3 = ((int)(iVar3 + (iVar3 >> 0x1f & 7U)) >> 3) + *(int *)(lVar4 + 0x28) + *(int *)(lVar4 + 0x20); if (iVar8 < iVar3) { iVar8 = iVar3; } } } } plVar6 = (longlong *)0x0; if (param_1[0x2d] != 0) { plVar6 = param_1 + 0x2d; } lVar4 = FUN_18134adf0(param_1); iVar3 = 1; if (1 < iVar7 - iVar8) { iVar3 = iVar7 - iVar8; } (**(code **)(*(longlong *)(lVar4 + 0x68) + 8)) ((longlong *)(lVar4 + 0x68),param_1,param_2,iStack_30,CONCAT44(uVar9,uStack_2c), CONCAT44(uVar10,iVar8),iVar3,plVar6,*(char *)((longlong)param_1 + 0x14d) == '\0'); return; } ############ FUN_ 1812d0770 size=106 ############ void FUN_1812d0770(longlong param_1) { char cVar1; ulonglong *puVar2; ulonglong uVar3; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { FUN_1812ce490(param_1,*(char *)(param_1 + 0xe2) == '\0'); return; } puVar2 = (ulonglong *)FUN_1812d2bd0(); if (puVar2 != (ulonglong *)0x0) { uVar3 = *puVar2; cVar1 = (**(code **)(uVar3 + 0x78))(puVar2); if (cVar1 != '\0') { FUN_1812ce490(param_1,uVar3 & 0xffffffffffffff00); return; } } FUN_1812ce490(param_1,1); return; } ############ FUN_ 1812d07e0 size=178 ############ void FUN_1812d07e0(longlong param_1) { char cVar1; longlong *plVar2; longlong lVar3; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812d0819; plVar2 = (longlong *)FUN_18134c2e0(); } else { plVar2 = (longlong *)FUN_1812d2bd0(); } if ((plVar2 != (longlong *)0x0) && (cVar1 = (**(code **)(*plVar2 + 0x68))(plVar2), cVar1 == '\x01')) { return; } LAB_1812d0819: if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) { return; } plVar2 = (longlong *)FUN_18134c2e0(); } else { plVar2 = (longlong *)FUN_1812d2bd0(param_1); } if (plVar2 != (longlong *)0x0) { cVar1 = FUN_181345240(param_1); if (((cVar1 != '\0') && (FUN_1812ce210(param_1), (*(byte *)(param_1 + 0xa8) & 1) != 0)) && (lVar3 = FUN_1812d2bd0(param_1), lVar3 != 0)) { *(undefined8 *)(lVar3 + 0x28) = *(undefined8 *)(param_1 + 0x138); } (**(code **)(*plVar2 + 0x60))(plVar2,1); } return; } ############ FUN_ 1812e9660 size=307 ############ void FUN_1812e9660(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; undefined8 *puVar2; longlong *plVar3; longlong lVar4; longlong lVar5; int iVar6; bool bVar7; undefined8 *local_res8; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1812e96b7; plVar3 = (longlong *)FUN_18134c2e0(); } else { plVar3 = (longlong *)FUN_1812d2bd0(); } if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0xd8))(plVar3); } LAB_1812e96b7: FUN_1804de690(&local_res8,param_1); puVar2 = local_res8; iVar6 = *(int *)(param_1 + 0x1dc); bVar7 = local_res8 != (undefined8 *)0x0; lVar5 = 0; while( true ) { lVar4 = lVar5; if (bVar7) { lVar4 = puVar2[2]; } if ((lVar4 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(param_1 + 0x1dc) <= iVar6) && (iVar6 = *(int *)(param_1 + 0x1dc) + -1, iVar6 < 0)) break; plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x1d0) + (longlong)iVar6 * 8); (**(code **)(*plVar3 + 0x18))(plVar3,param_1,param_2,param_4,uVar8); } if (bVar7) { lVar5 = puVar2[2]; } if ((lVar5 != 0) && (*(longlong *)(param_1 + 400) != 0)) { if (*(longlong **)(param_1 + 400) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(**(longlong **)(param_1 + 400) + 0x10))(); } if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1813228e0 size=442 ############ void FUN_1813228e0(longlong *param_1) { longlong *plVar1; char cVar2; longlong lVar3; longlong lVar4; longlong lVar5; int iVar6; longlong lVar7; lVar7 = 0; lVar3 = lVar7; if (param_1[1] != 0) { lVar3 = *(longlong *)(param_1[1] + 0x10); } if (lVar3 == 0) { return; } plVar1 = param_1 + 5; if ((char)*plVar1 != '\0') { return; } lVar3 = *plVar1; *(char *)plVar1 = '\x01'; lVar4 = lVar7; if (param_1[1] != 0) { lVar4 = *(longlong *)(param_1[1] + 0x10); } if ((*(byte *)(lVar4 + 0xa8) & 1) == 0) { if (*(longlong *)(lVar4 + 0x18) != 0) { lVar4 = FUN_18134c2e0(); goto LAB_18132297e; } LAB_181322988: iVar6 = 0; } else { lVar4 = FUN_1812d2bd0(lVar4); LAB_18132297e: if (lVar4 == 0) goto LAB_181322988; iVar6 = *(int *)(lVar4 + 0x58); } if (iVar6 != (int)param_1[2]) { (**(code **)(*param_1 + 0x50))(param_1); lVar4 = lVar7; if (param_1[1] != 0) { lVar4 = *(longlong *)(param_1[1] + 0x10); } if (lVar4 == 0) goto LAB_181322a74; *(int *)(param_1 + 2) = iVar6; } FUN_1813224b0(param_1); FUN_1813225e0(param_1); lVar4 = lVar7; if (param_1[1] != 0) { lVar4 = *(longlong *)(param_1[1] + 0x10); } (**(code **)(*param_1 + 8))(param_1,lVar4,1); lVar4 = param_1[1]; lVar5 = lVar7; if (lVar4 != 0) { lVar5 = *(longlong *)(lVar4 + 0x10); } if (lVar5 != 0) { lVar5 = lVar7; if (lVar4 != 0) { lVar5 = *(longlong *)(lVar4 + 0x10); } if (*(code **)(*param_1 + 0x18) == FUN_1813226e0) { lVar5 = lVar7; if (lVar4 != 0) { lVar5 = *(longlong *)(lVar4 + 0x10); } if (lVar5 != 0) { if (lVar4 != 0) { lVar7 = *(longlong *)(lVar4 + 0x10); } cVar2 = FUN_181345240(lVar7); if (*(char *)((longlong)param_1 + 0x29) != cVar2) { *(char *)((longlong)param_1 + 0x29) = cVar2; (**(code **)(*param_1 + 0x58))(param_1); } } } else { (**(code **)(*param_1 + 0x18))(param_1,lVar5); } } LAB_181322a74: *(char *)plVar1 = (char)lVar3; return; } ############ FUN_ 1813bd1d0 size=589 ############ void FUN_1813bd1d0(longlong param_1) { uint uVar1; longlong *plVar2; char cVar3; longlong lVar4; undefined8 *puVar5; undefined8 uVar6; uint *puVar7; longlong local_res10; undefined1 local_res18 [16]; undefined1 local_70 [24]; undefined1 local_58 [24]; undefined1 local_40 [24]; undefined1 local_28 [32]; cVar3 = FUN_181345240(); if (cVar3 == '\0') { if (*(longlong *)(param_1 + 0xb0) == 0) { return; } if (*(char *)(param_1 + 0xb9) == '\0') { return; } if (*(char *)(param_1 + 0xb8) != '\0') { return; } *(undefined1 *)(param_1 + 0xb8) = 1; FUN_18049c4e0(&local_res10,"about:blank"); lVar4 = *(longlong *)(param_1 + 0xb0); if (*(longlong *)(lVar4 + 0xc0) != 0) { Ordinal_8(local_70); Ordinal_8(local_58); Ordinal_8(local_40); Ordinal_8(local_28); puVar5 = (undefined8 *)FUN_18049a930(local_res18,&local_res10); uVar6 = Ordinal_2(*puVar5); plVar2 = *(longlong **)(lVar4 + 0xc0); (**(code **)(*plVar2 + 0x58))(plVar2,uVar6,local_70,local_58,local_40,local_28); Ordinal_6(uVar6); Ordinal_9(local_70); Ordinal_9(local_58); Ordinal_9(local_40); Ordinal_9(local_28); } puVar7 = (uint *)(local_res10 + -0x10); if ((*puVar7 & 0x30000000) != 0) { return; } LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 != 0) { return; } /* WARNING: Subroutine does not return */ free(puVar7); } if (*(longlong *)(*(longlong *)(param_1 + 0xb0) + 0xc0) == 0) { if ((*(byte *)(param_1 + 0xa8) & 1) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1813bd255; lVar4 = FUN_18134c2e0(); } else { lVar4 = FUN_1812d2bd0(param_1); } if (lVar4 != 0) { FUN_18055ae40(*(undefined8 *)(param_1 + 0xb0)); FUN_1813bd070(param_1); return; } } LAB_1813bd255: if (*(char *)(param_1 + 0xb8) != '\0') { puVar7 = (uint *)(*(longlong *)(param_1 + 0xc0) + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } *(undefined1 **)(param_1 + 0xc0) = &DAT_1821dbf98; *(undefined1 *)(param_1 + 0xb8) = 0; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0xb0) + 0xc0); if (plVar2 != (longlong *)0x0) { /* WARNING: Could not recover jumptable at 0x0001813bd2ca. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar2 + 0x38))(); return; } } return; } ############ FUN_ 18049d580 size=145 ############ longlong FUN_18049d580(byte *param_1) { byte bVar1; uint uVar2; longlong lVar3; uint uVar4; int iVar5; longlong lVar6; lVar6 = 0; do { bVar1 = *param_1; param_1 = param_1 + 1; uVar4 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar2 = 0x40; iVar5 = 0; uVar4 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar2 < 9) break; uVar4 = uVar4 >> 1; iVar5 = iVar5 + 1; uVar2 = uVar2 >> 1; } while ((bVar1 & uVar2) != 0); } uVar4 = bVar1 & uVar4; for (; (iVar5 = iVar5 + -1, -1 < iVar5 && ((*param_1 & 0xc0) == 0x80)); param_1 = param_1 + 1) { uVar4 = *param_1 & 0x3f | uVar4 << 6; } } if (uVar4 == 0) { return lVar6; } lVar3 = 2; if (0xffff < uVar4) { lVar3 = 4; } lVar6 = lVar6 + lVar3; } while( true ); } ############ FUN_ 1812342b0 size=241 ############ void FUN_1812342b0(undefined8 *param_1,longlong param_2) { int *piVar1; int iVar2; void *_Src; undefined4 *puVar3; ulonglong uVar4; ulonglong uVar5; _Src = (void *)*param_1; uVar4 = param_2 + 1; if ((*(uint *)((longlong)_Src + -0x10) & 0x30000000) != 0) { puVar3 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar3 = 0; UNLOCK(); *(ulonglong *)(puVar3 + 2) = param_2 + 4U & 0xfffffffffffffffc; *(undefined1 *)(puVar3 + 4) = 0; *param_1 = puVar3 + 4; return; } if ((uVar4 <= *(ulonglong *)((longlong)_Src + -8)) && (*(int *)((longlong)_Src + -0x10) < 1)) { *param_1 = _Src; return; } uVar5 = *(ulonglong *)((longlong)_Src + -8); if (*(ulonglong *)((longlong)_Src + -8) < uVar4) { uVar5 = uVar4; } puVar3 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar3 = 0; UNLOCK(); *(ulonglong *)(puVar3 + 2) = uVar5 + 3 & 0xfffffffffffffffc; memcpy(puVar3 + 4,_Src,*(size_t *)((longlong)_Src + -8)); if ((*(uint *)((longlong)_Src + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)((longlong)_Src + -0x10); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free((void *)((longlong)_Src + -0x10)); } } *param_1 = puVar3 + 4; return; } ############ FUN_ 181244b10 size=193 ############ bool FUN_181244b10(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { bool bVar1; bool bVar2; DWORD DVar3; int iVar4; undefined8 *puVar5; undefined1 local_res8 [8]; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; bVar2 = true; if (*(char *)*param_1 != '\0') { puVar5 = (undefined8 *)FUN_18049a930(local_res8,param_1,param_3,param_4,0xfffffffffffffffe); DVar3 = GetFileAttributesW((LPCWSTR)*puVar5); bVar1 = true; if (DVar3 != 0xffffffff) goto LAB_181244b5e; } bVar1 = false; LAB_181244b5e: if (!bVar1) { return true; } puVar5 = (undefined8 *)FUN_18049a930(local_res8,param_1,param_3,param_4,uVar6); DVar3 = GetFileAttributesW((LPCWSTR)*puVar5); if (((DVar3 & 0x10) == 0) || (DVar3 == 0xffffffff)) { bVar2 = false; } puVar5 = (undefined8 *)FUN_18049a930(local_res8,param_1,param_3,param_4,uVar6); if (bVar2) { iVar4 = RemoveDirectoryW((LPCWSTR)*puVar5); } else { iVar4 = DeleteFileW((LPCWSTR)*puVar5); } return iVar4 != 0; } ############ FUN_ 1804cf280 size=521 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804cf280(ATOM *param_1,LPCWSTR param_2,WNDPROC param_3) { uint uVar1; char cVar2; ATOM AVar3; ulonglong uVar4; undefined4 *puVar5; HINSTANCE hInstance; undefined8 *puVar6; HWND pHVar7; uint *puVar8; char *_Src; undefined1 auStackY_148 [32]; longlong local_e8; undefined4 *local_e0; LARGE_INTEGER local_d8; undefined8 local_d0; undefined1 local_c8 [16]; WNDCLASSEXW local_b8; char local_4a [2]; undefined8 local_48; char cStack_39; local_d0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStackY_148; FUN_18049c4e0(&local_e8,"JUCE_"); QueryPerformanceCounter(&local_d8); uVar4 = DAT_182673a10 + local_d8.QuadPart; _Src = local_4a + 1; local_4a[1] = 0; do { _Src = _Src + -1; cVar2 = "0123456789abcdef"[(uint)uVar4 & 0xf]; *_Src = cVar2; uVar4 = uVar4 >> 4; } while (uVar4 != 0); if (cVar2 == '\0') { puVar5 = (undefined4 *)&DAT_1821dbf98; } else { uVar4 = (longlong)&local_48 + -(longlong)_Src + 3 & 0xfffffffffffffffc; puVar5 = (undefined4 *)thunk_FUN_1811316e0(uVar4 + 0x17); LOCK(); *puVar5 = 0; UNLOCK(); *(ulonglong *)(puVar5 + 2) = uVar4; puVar5 = puVar5 + 4; memcpy(puVar5,_Src,(size_t)(local_4a + -(longlong)_Src + 1)); *(char *)((longlong)puVar5 + (longlong)(local_4a + -(longlong)_Src + 1)) = '\0'; } local_e0 = puVar5; FUN_181232d30(&local_e8); puVar8 = puVar5 + -4; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } hInstance = (HINSTANCE)FUN_181249ad0(); memset(&local_b8,0,0x50); local_b8.cbSize = 0x50; local_b8.cbWndExtra = 4; local_b8.lpfnWndProc = param_3; local_b8.hInstance = hInstance; puVar6 = (undefined8 *)FUN_18049a930(local_c8,&local_e8); local_b8.lpszClassName = (LPCWSTR)*puVar6; AVar3 = RegisterClassExW(&local_b8); *param_1 = AVar3; pHVar7 = CreateWindowExW(0,(LPCWSTR)(ulonglong)AVar3,param_2,0,0,0,0,0,(HWND)0x0,(HMENU)0x0, hInstance,(LPVOID)0x0); *(HWND *)(param_1 + 4) = pHVar7; puVar8 = (uint *)(local_e8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } ############ FUN_ 1812165e0 size=211 ############ void FUN_1812165e0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; undefined8 **ppuVar3; longlong *local_res8; undefined8 **local_res10; undefined1 local_res18 [16]; local_res8 = (longlong *)*param_1; if (((ulonglong)local_res8[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -2) = *(int *)(local_res8 + -2) + 1; UNLOCK(); } local_res10 = &local_res8; FUN_181232e20(&local_res8,&DAT_1821db7fc,&DAT_1821db7fd,param_4,0xfffffffffffffffe); local_res10 = (undefined8 **)local_res8; if (((ulonglong)local_res8[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -2) = *(int *)(local_res8 + -2) + 1; UNLOCK(); } ppuVar3 = (undefined8 **)(local_res8 + -2); if (((ulonglong)*ppuVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)ppuVar3; *(uint *)ppuVar3 = *(uint *)ppuVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(ppuVar3); } } puVar2 = (undefined8 *)FUN_18049a930(local_res18,&local_res10); OutputDebugStringW((LPCWSTR)*puVar2); ppuVar3 = local_res10 + -2; if (((ulonglong)*ppuVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)ppuVar3; *(uint *)ppuVar3 = *(uint *)ppuVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(ppuVar3); } } return; } ############ FUN_ 18049a330 size=631 ############ longlong * FUN_18049a330(longlong *param_1,longlong *param_2,DWORD param_3) { uint uVar1; DWORD DVar2; longlong *plVar3; undefined8 *puVar4; HANDLE pvVar5; uint *puVar6; longlong local_res8; longlong *local_res10; longlong local_res20; longlong local_58; longlong local_50; longlong local_48 [3]; undefined1 local_30 [8]; undefined1 local_28 [16]; local_48[1] = 0xfffffffffffffffe; *param_1 = 0; *(undefined4 *)(param_1 + 1) = 1; local_res10 = param_2; plVar3 = (longlong *)FUN_1812316c0(param_2,local_48,0x5c); local_48[2] = *param_2; *param_2 = *plVar3; *plVar3 = local_48[2]; puVar6 = (uint *)(local_48[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_18049c4e0(&local_res8,"Global\\"); plVar3 = (longlong *)FUN_181232d30(&local_res8,param_2); local_res20 = *plVar3; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar4 = (undefined8 *)FUN_18049a930(local_30,&local_res20); pvVar5 = CreateMutexW((LPSECURITY_ATTRIBUTES)0x0,1,(LPCWSTR)*puVar4); *param_1 = (longlong)pvVar5; puVar6 = (uint *)(local_res20 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (*param_1 == 0) { FUN_18049c4e0(&local_58,"Local\\"); plVar3 = (longlong *)FUN_181232d30(&local_58,param_2); local_50 = *plVar3; if ((*(uint *)(local_50 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_50 + -0x10) = *(int *)(local_50 + -0x10) + 1; UNLOCK(); } puVar6 = (uint *)(local_58 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar4 = (undefined8 *)FUN_18049a930(local_28,&local_50); pvVar5 = CreateMutexW((LPSECURITY_ATTRIBUTES)0x0,1,(LPCWSTR)*puVar4); *param_1 = (longlong)pvVar5; puVar6 = (uint *)(local_50 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (*param_1 == 0) goto LAB_18049a574; } DVar2 = GetLastError(); if (DVar2 == 0xb7) { pvVar5 = (HANDLE)*param_1; if (param_3 == 0) { if (pvVar5 != (HANDLE)0x0) { ReleaseMutex(pvVar5); CloseHandle((HANDLE)*param_1); *param_1 = 0; } } else { if ((int)param_3 < 0) { param_3 = 0xffffffff; } DVar2 = WaitForSingleObject(pvVar5,param_3); if ((DVar2 & 0xffffff7f) != 0) { FUN_18049a5b0(param_1); } } } LAB_18049a574: puVar6 = (uint *)(*param_2 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return param_1; } ############ FUN_ 18123efe0 size=235 ############ undefined8 * FUN_18123efe0(undefined8 *param_1,longlong *param_2) { uint uVar1; longlong lVar2; undefined8 *puVar3; HANDLE pvVar4; uint *_Memory; longlong local_res10; undefined1 local_res18 [8]; undefined8 local_res20; *param_1 = juce::FileInputStream::vftable; lVar2 = *param_2; param_1[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[2] = 0; param_1[3] = 0; param_1[4] = &DAT_1821dbf98; puVar3 = (undefined8 *)FUN_18049a930(local_res18,param_1 + 1); pvVar4 = CreateFileW((LPCWSTR)*puVar3,0x80000000,7,(LPSECURITY_ATTRIBUTES)0x0,3,0x8000080, (HANDLE)0x0); if (pvVar4 == (HANDLE)0xffffffffffffffff) { puVar3 = (undefined8 *)FUN_1812181b0(&local_res10); local_res20 = param_1[4]; param_1[4] = *puVar3; *puVar3 = local_res20; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } else { param_1[2] = pvVar4; } return param_1; } ############ FUN_ 180498d80 size=567 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180498d80(longlong param_1,DWORD param_2) { BOOL BVar1; DWORD DVar2; undefined8 *puVar3; HANDLE pvVar4; double dVar5; undefined1 auStackY_b8 [32]; _OVERLAPPED local_68; HANDLE local_48; ulonglong local_40; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStackY_b8; if (*(char *)(param_1 + 0x19) == '\0') { if (*(longlong *)(param_1 + 8) != -1) { } dVar5 = (double)(int)param_2 * DAT_1824c3e30; _ftime64_s(&local_68); dVar5 = dVar5 * DAT_1824c4340; while( true ) { EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1b)); if (*(longlong *)(param_1 + 8) == -1) { puVar3 = (undefined8 *)FUN_18049a930(&local_68,param_1); pvVar4 = CreateFileW((LPCWSTR)*puVar3,0xc0000000,0,(LPSECURITY_ATTRIBUTES)0x0,3,0x40000000, (HANDLE)0x0); *(HANDLE *)(param_1 + 8) = pvVar4; } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1b)); if (*(longlong *)(param_1 + 8) != -1) { } if (*(char *)(param_1 + 0x1a) != '\0') { } if ((-1 < (int)param_2) && (_ftime64_s(&local_48), (longlong)((longlong)dVar5 + local_68.Internal * 1000 + (local_68.InternalHigh & 0xffff)) < (longlong)((longlong)local_48 * 1000 + (local_40 & 0xffff)))) break; if (DAT_182673a00 == (HANDLE)0x0) { Sleep(1); } else { WaitForSingleObject(DAT_182673a00,1); } } } if (*(char *)(param_1 + 0x18) != '\0') { } local_68.Internal = 0; local_68.InternalHigh = 0; local_68.u.Pointer = (PVOID)0x0; local_68.hEvent = (HANDLE)0x0; local_68.hEvent = CreateEventW((LPSECURITY_ATTRIBUTES)0x0,1,0,(LPCWSTR)0x0); BVar1 = ConnectNamedPipe(*(HANDLE *)(param_1 + 8),&local_68); if (BVar1 == 0) { DVar2 = GetLastError(); if (DVar2 == 0x217) { *(undefined1 *)(param_1 + 0x18) = 1; } else if ((DVar2 == 0x218) || (DVar2 == 0x3e5)) { if (*(char *)(param_1 + 0x1a) == '\0') { local_48 = local_68.hEvent; local_40 = *(ulonglong *)(param_1 + 0x10); DVar2 = 0xffffffff; if (-1 < (int)param_2) { DVar2 = param_2; } DVar2 = WaitForMultipleObjects(2,&local_48,0,DVar2); if (DVar2 == 0) { *(undefined1 *)(param_1 + 0x18) = 1; goto LAB_180498f97; } CancelIo(*(HANDLE *)(param_1 + 8)); } *(undefined1 *)(param_1 + 0x18) = 0; } } LAB_180498f97: CloseHandle(local_68.hEvent); } ############ FUN_ 180499af0 size=833 ############ void FUN_180499af0(longlong param_1,undefined8 param_2,undefined8 param_3) { int *piVar1; longlong lVar2; char cVar3; int iVar4; undefined4 uVar5; void *pvVar6; void *pvVar7; void *pvVar8; void *_Memory; undefined8 *puVar9; undefined8 uVar10; undefined4 local_res20 [2]; ulonglong in_stack_fffffffffffffef8; undefined4 local_e8 [6]; void *local_d0; undefined4 local_c8; undefined2 local_c4; void *local_c0; undefined4 local_b8; void *local_b0; undefined4 local_a8; void *local_a0; undefined4 local_98; undefined8 local_78; void *local_70; void *local_68; void *local_60; void *local_58; undefined1 local_50 [16]; local_78 = 0xfffffffffffffffe; if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267af3c) { _Init_thread_header(&DAT_18267af3c); if (DAT_18267af3c == -1) { DAT_18267af60 = InternetOpenW(L"juce",0,0,0,in_stack_fffffffffffffef8 & 0xffffffff00000000); _Init_thread_footer(&DAT_18267af3c); } } lVar2 = *(longlong *)(param_1 + 0x60); *(undefined8 *)(param_1 + 0x60) = 0; if (lVar2 != 0) { InternetCloseHandle(); } if (*(longlong *)(param_1 + 0x58) != 0) { InternetCloseHandle(); *(undefined8 *)(param_1 + 0x58) = 0; } if (DAT_18267af60 != 0) { pvVar6 = malloc(0x20000); local_70 = pvVar6; pvVar7 = malloc(0x1000); local_68 = pvVar7; pvVar8 = malloc(0x800); local_60 = pvVar8; _Memory = malloc(0x800); local_58 = _Memory; memset(local_e8,0,0x68); local_e8[0] = 0x68; local_98 = 0x10000; local_c8 = 0x800; local_b8 = 0x400; local_a8 = 0x400; local_d0 = pvVar7; local_c0 = pvVar8; local_b0 = _Memory; local_a0 = pvVar6; if (*(char *)(param_1 + 0x89) != '\0') { FUN_1812138f0(param_1 + 0x10,param_1 + 0x68,param_1 + 0x70); } puVar9 = (undefined8 *)FUN_18049a930(local_50,param_2); iVar4 = InternetCrackUrlW(*puVar9,0,0,local_e8); lVar2 = DAT_18267af60; if (iVar4 != 0) { local_res20[0] = 1; InternetSetOptionW(DAT_18267af60,0x46,local_res20,4); piVar1 = (int *)(param_1 + 0x8c); if (*piVar1 == 0) { *piVar1 = 30000; } else if (*piVar1 < 0) { *piVar1 = -1; } InternetSetOptionW(lVar2,2,piVar1); InternetSetOptionW(lVar2,6,piVar1); InternetSetOptionW(lVar2,5,piVar1); InternetSetOptionW(lVar2,8,piVar1); InternetSetOptionW(lVar2,7,piVar1); cVar3 = FUN_18124a650(param_2,&DAT_182496b0c); EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 200)); if (*(char *)(param_1 + 0xf4) == '\0') { uVar5 = 3; if (cVar3 != '\0') { uVar5 = 1; } uVar10 = InternetConnectW(lVar2,local_d0,local_c4,local_c0,local_b0,uVar5,0,0); } else { uVar10 = 0; } *(undefined8 *)(param_1 + 0x58) = uVar10; LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 200)); if (*(longlong *)(param_1 + 0x58) != 0) { if (cVar3 == '\0') { FUN_180499e50(param_1,local_e8,param_2,param_3); } else { uVar10 = FtpOpenFileW(*(longlong *)(param_1 + 0x58),local_a0,0x80000000,0x12,0); *(undefined8 *)(param_1 + 0x60) = uVar10; } } } /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 180499e50 size=461 ############ void FUN_180499e50(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { LPCRITICAL_SECTION lpCriticalSection; byte bVar1; char cVar2; DWORD DVar3; longlong lVar4; undefined8 *puVar5; byte *pbVar6; longlong lVar7; undefined4 uVar8; LPCRITICAL_SECTION local_res8; undefined8 local_res20; undefined8 local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; undefined8 local_78; undefined8 local_70; undefined8 local_68; longlong local_60; undefined8 *local_58; undefined8 *local_50; undefined *local_48; undefined8 local_40; undefined8 local_38; undefined1 local_30 [8]; local_38 = 0xfffffffffffffffe; local_48 = &DAT_182496b18; lVar7 = 0; local_40 = 0; local_res20 = param_4; cVar2 = FUN_18124a650(param_3,"https:"); uVar8 = 0x84280000; if (cVar2 != '\0') { uVar8 = 0x84a80000; } lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 200); local_res8 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); lVar4 = lVar7; if (*(char *)(param_1 + 0xf4) == '\0') { puVar5 = (undefined8 *)FUN_18049a930(local_30,param_1 + 0x90); lVar4 = HttpOpenRequestW(*(undefined8 *)(param_1 + 0x58),*puVar5,*(undefined8 *)(param_2 + 0x48) ,0,0,&local_48,uVar8,0); } *(longlong *)(param_1 + 0x60) = lVar4; LeaveCriticalSection(lpCriticalSection); if (*(longlong *)(param_1 + 0x60) != 0) { local_90 = 0; local_88 = 0; local_80 = 0; local_78 = 0; local_70 = 0; local_68 = 0; local_98 = 0x38; puVar5 = (undefined8 *)FUN_18049a930(&local_res8,param_1 + 0x68); local_88 = *puVar5; pbVar6 = *(byte **)(param_1 + 0x68); LAB_180499f64: do { bVar1 = *pbVar6; pbVar6 = pbVar6 + 1; if ((char)bVar1 < '\0') { if ((*pbVar6 & 0xc0) == 0x80) { do { pbVar6 = pbVar6 + 1; } while ((*pbVar6 & 0xc0) == 0x80); lVar7 = lVar7 + 1; goto LAB_180499f64; } } else if (bVar1 == 0) goto LAB_180499f9c; lVar7 = lVar7 + 1; } while( true ); } LAB_180499fe0: lVar7 = *(longlong *)(param_1 + 0x60); *(undefined8 *)(param_1 + 0x60) = 0; if (lVar7 != 0) { InternetCloseHandle(); } if (*(longlong *)(param_1 + 0x58) != 0) { InternetCloseHandle(); *(undefined8 *)(param_1 + 0x58) = 0; } return; LAB_180499f9c: local_80 = CONCAT44(local_80._4_4_,(int)lVar7); local_70 = CONCAT44(*(undefined4 *)(param_1 + 0x78),(undefined4)local_70); local_58 = &local_98; local_50 = &local_res20; local_60 = param_1; cVar2 = FUN_18049a020(&local_60); if (cVar2 != '\0') { return; } DVar3 = GetLastError(); if ((DVar3 == 0x2f00) && (cVar2 = FUN_18049a020(&local_60), cVar2 != '\0')) { return; } goto LAB_180499fe0; } ############ FUN_ 18049a1c0 size=261 ############ undefined8 FUN_18049a1c0(undefined8 *param_1) { uint uVar1; undefined8 *puVar2; FARPROC pFVar3; uint *puVar4; longlong local_res18; HMODULE local_res20; LPCSTR local_38; undefined8 local_30; undefined1 local_28 [16]; local_30 = 0xfffffffffffffffe; FUN_18049c4e0(&local_res18,"iphlpapi.dll"); puVar2 = (undefined8 *)FUN_18049a930(local_28,&local_res18); local_res20 = LoadLibraryW((LPCWSTR)*puVar2); puVar4 = (uint *)(local_res18 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_18049c4e0(&local_38,"GetAdaptersAddresses"); if (local_res20 == (HMODULE)0x0) { pFVar3 = (FARPROC)0x0; } else { pFVar3 = GetProcAddress(local_res20,local_38); } puVar4 = (uint *)(local_38 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (pFVar3 == (FARPROC)0x0) { if (local_res20 != (HMODULE)0x0) { FreeLibrary(local_res20); } return 0; } /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 1804a4110 size=731 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804a4110(longlong *param_1) { uint uVar1; longlong *plVar2; undefined8 *puVar3; HMODULE pHVar4; FARPROC pFVar5; uint *puVar6; undefined1 auStack_d8 [32]; undefined4 local_b8; undefined4 uStack_b4; undefined4 local_b0 [2]; longlong local_a8; LPCSTR local_a0; LPCSTR local_98; undefined4 local_90; undefined8 uStack_8c; undefined4 uStack_84; undefined4 uStack_80; undefined4 uStack_7c; undefined8 local_70; longlong *local_68; undefined1 local_60 [8]; undefined1 local_58 [8]; undefined4 local_50; undefined4 uStack_4c; undefined4 uStack_48; undefined4 uStack_44; undefined8 local_40; undefined4 local_38; ulonglong local_30; local_70 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_d8; pFVar5 = (FARPROC)0x0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; local_68 = param_1; FUN_18049c4e0(&local_a8,"d2d1.dll"); if ((HMODULE)param_1[4] != (HMODULE)0x0) { FreeLibrary((HMODULE)param_1[4]); param_1[4] = 0; } puVar3 = (undefined8 *)FUN_18049a930(local_60,&local_a8); pHVar4 = LoadLibraryW((LPCWSTR)*puVar3); param_1[4] = (longlong)pHVar4; puVar6 = (uint *)(local_a8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (pHVar4 != (HMODULE)0x0) { FUN_18049c4e0(&local_a0,"D2D1CreateFactory"); if ((HMODULE)param_1[4] != (HMODULE)0x0) { pFVar5 = GetProcAddress((HMODULE)param_1[4],local_a0); } puVar6 = (uint *)(local_a0 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (pFVar5 != (FARPROC)0x0) { local_b0[0] = 0; if ((longlong *)*param_1 != (longlong *)0x0) { (**(code **)(*(longlong *)*param_1 + 0x10))(); } *param_1 = 0; (*pFVar5)(0,&DAT_1824987b0,local_b0,param_1); } } pFVar5 = (FARPROC)0x0; FUN_18049c4e0(&local_b8,"DWrite.dll"); if ((HMODULE)param_1[5] != (HMODULE)0x0) { FreeLibrary((HMODULE)param_1[5]); param_1[5] = 0; } puVar3 = (undefined8 *)FUN_18049a930(local_58,&local_b8); pHVar4 = LoadLibraryW((LPCWSTR)*puVar3); param_1[5] = (longlong)pHVar4; puVar6 = (uint *)(CONCAT44(uStack_b4,local_b8) + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (pHVar4 != (HMODULE)0x0) { FUN_18049c4e0(&local_98,"DWriteCreateFactory"); if ((HMODULE)param_1[5] != (HMODULE)0x0) { pFVar5 = GetProcAddress((HMODULE)param_1[5],local_98); } puVar6 = (uint *)(local_98 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (pFVar5 != (FARPROC)0x0) { if ((longlong *)param_1[1] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[1] + 0x10))(); } param_1[1] = 0; (*pFVar5)(0,&DAT_1824988c0,param_1 + 1); plVar2 = (longlong *)param_1[1]; if (plVar2 != (longlong *)0x0) { if ((longlong *)param_1[2] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[2] + 0x10))(); } param_1[2] = 0; (**(code **)(*plVar2 + 0x18))(plVar2,param_1 + 2,0); } } plVar2 = (longlong *)*param_1; if (plVar2 != (longlong *)0x0) { local_b8 = 0x57; uStack_b4 = 3; local_90 = 1; uStack_8c = 0x300000057; uStack_84 = 0; uStack_80 = 0; uStack_7c = 2; local_50 = 1; uStack_4c = 0x57; uStack_48 = 3; uStack_44 = 0; local_40 = 0x200000000; local_38 = 0; if ((longlong *)param_1[3] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[3] + 0x10))(); } param_1[3] = 0; (**(code **)(*plVar2 + 0x80))(plVar2,&local_50,param_1 + 3); } } } ############ FUN_ 1804a5cc0 size=227 ############ void FUN_1804a5cc0(longlong param_1) { ulonglong uVar1; WCHAR WVar2; LPCWSTR lpstr; DWORD DVar3; LPCWSTR pgi; WCHAR *pWVar4; ulonglong uVar5; ulonglong uVar6; ulonglong uVar7; LPCWSTR local_res8; FUN_18049a930(&local_res8); lpstr = local_res8; uVar6 = 0; while( true ) { WVar2 = *local_res8; pWVar4 = local_res8 + 1; if ((ushort)WVar2 - 0xd800 < 0x800) { WVar2 = *pWVar4; pWVar4 = local_res8 + 2; } if (WVar2 == L'\0') break; uVar6 = uVar6 + 1; local_res8 = pWVar4; } pgi = malloc(uVar6 * 2); local_res8 = pgi; DVar3 = GetGlyphIndicesW(*(HDC *)(param_1 + 0x68),lpstr,(int)uVar6,(LPWORD)pgi,1); if ((DVar3 != 0xffffffff) && (uVar5 = 0, uVar6 != 0)) { do { uVar1 = uVar5 + 1; if (uVar1 < uVar6) { uVar7 = (ulonglong)(ushort)pgi[uVar5 + 1]; } else { uVar7 = 0xffffffff; } FUN_1804a6ee0(param_1,*(undefined8 *)(param_1 + 0x68),pgi[uVar5],uVar7); uVar5 = uVar1; } while (uVar1 < uVar6); } /* WARNING: Subroutine does not return */ free(pgi); } ############ FUN_ 1804a5dd0 size=534 ############ void FUN_1804a5dd0(longlong param_1,undefined8 param_2,longlong *param_3,longlong *param_4) { WCHAR WVar1; int iVar2; LPCWSTR lpstr; DWORD DVar3; int iVar4; LPCWSTR pgi; WCHAR *pWVar5; ulonglong uVar6; ulonglong uVar7; ulonglong uVar8; ulonglong uVar9; float fVar10; float fVar11; LPCWSTR local_res8; FUN_18049a930(&local_res8); lpstr = local_res8; uVar8 = 0; while( true ) { WVar1 = *local_res8; pWVar5 = local_res8 + 1; if ((ushort)WVar1 - 0xd800 < 0x800) { WVar1 = *pWVar5; pWVar5 = local_res8 + 2; } if (WVar1 == L'\0') break; uVar8 = uVar8 + 1; local_res8 = pWVar5; } pgi = malloc(uVar8 * 2); fVar11 = 0.0; iVar4 = (int)uVar8; local_res8 = pgi; DVar3 = GetGlyphIndicesW(*(HDC *)(param_1 + 0x68),lpstr,iVar4,(LPWORD)pgi,1); if (DVar3 != 0xffffffff) { if ((int)param_3[1] < iVar4) { FUN_1804af790(param_3,iVar4 / 2 + 8 + iVar4 & 0xfffffff8); } if ((int)param_4[1] < iVar4 + 1) { FUN_1804af790(param_4,iVar4 + 9 + (iVar4 + 1) / 2 & 0xfffffff8); } uVar6 = 0; if (uVar8 != 0) { do { WVar1 = pgi[uVar6]; iVar2 = *(int *)((longlong)param_3 + 0xc); iVar4 = iVar2 + 1; if ((int)param_3[1] < iVar4) { if (iVar4 < 0) { iVar4 = iVar2 + 2; } FUN_1804af790(param_3,iVar2 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar4 = *(int *)((longlong)param_3 + 0xc); *(int *)((longlong)param_3 + 0xc) = iVar4 + 1; *(uint *)(*param_3 + (longlong)iVar4 * 4) = (uint)(ushort)WVar1; iVar2 = *(int *)((longlong)param_4 + 0xc); iVar4 = iVar2 + 1; if ((int)param_4[1] < iVar4) { if (iVar4 < 0) { iVar4 = iVar2 + 2; } FUN_1804af790(param_4,iVar2 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar4 = *(int *)((longlong)param_4 + 0xc); *(int *)((longlong)param_4 + 0xc) = iVar4 + 1; *(float *)(*param_4 + (longlong)iVar4 * 4) = fVar11; uVar7 = uVar6 + 1; if (uVar7 < uVar8) { uVar9 = (ulonglong)(ushort)pgi[uVar6 + 1]; } else { uVar9 = 0xffffffff; } fVar10 = (float)FUN_1804a6ee0(param_1,*(undefined8 *)(param_1 + 0x68),pgi[uVar6],uVar9); fVar11 = fVar11 + fVar10; uVar6 = uVar7; } while (uVar7 < uVar8); } } iVar4 = *(int *)((longlong)param_4 + 0xc) + 1; if ((int)param_4[1] < iVar4) { FUN_1804af790(param_4,*(int *)((longlong)param_4 + 0xc) + 9 + iVar4 / 2 & 0xfffffff8); } iVar4 = *(int *)((longlong)param_4 + 0xc); *(int *)((longlong)param_4 + 0xc) = iVar4 + 1; *(float *)(*param_4 + (longlong)iVar4 * 4) = fVar11; /* WARNING: Could not recover jumptable at 0x0001804a5fdf. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(pgi); return; } ############ FUN_ 181244920 size=397 ############ undefined8 * FUN_181244920(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; DWORD DVar2; undefined8 *puVar3; undefined1 **ppuVar4; uint *puVar5; bool bVar6; undefined1 *local_res8 [2]; longlong local_res18; undefined1 local_res20 [8]; undefined **local_48; longlong local_40; HANDLE local_38; char *local_28; bVar6 = false; if (*(char *)*param_1 != '\0') { puVar3 = (undefined8 *)FUN_18049a930(local_res20,param_1,param_3,param_4,0,0xfffffffffffffffe); DVar2 = GetFileAttributesW((LPCWSTR)*puVar3); bVar6 = false; if ((DVar2 & 0x10) == 0) { bVar6 = true; } } if (!bVar6) { *param_2 = &DAT_1821dbf98; return param_2; } FUN_18123efe0(&local_48,param_1); bVar6 = *local_28 != '\0'; if (bVar6) { local_res8[0] = &DAT_1821dbf98; ppuVar4 = local_res8; } else { ppuVar4 = (undefined1 **)FUN_1812352c0(&local_48,&local_res18); } *param_2 = *ppuVar4; *ppuVar4 = &DAT_1821dbf98; if (bVar6) { puVar5 = (uint *)(local_res8[0] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } if ((!bVar6) && (puVar5 = (uint *)(local_res18 + -0x10), (*puVar5 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_48 = juce::FileInputStream::vftable; CloseHandle(local_38); puVar5 = (uint *)(local_28 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_40 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return param_2; } ############ FUN_ 18124bdd0 size=868 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18124bdd0(undefined8 *param_1,undefined4 param_2,undefined4 param_3,undefined8 param_4, longlong *param_5,longlong *param_6,longlong *param_7) { int *piVar1; float fVar2; byte bVar3; longlong *plVar4; uint uVar5; int iVar6; longlong lVar7; undefined8 *puVar8; byte *pbVar9; ulonglong uVar10; ulonglong uVar11; ulonglong uVar12; float fVar13; undefined1 auStack_158 [32]; longlong **local_138; undefined4 local_130; longlong *local_128; wchar_t *local_120; longlong **local_118; longlong *local_108; longlong *local_100; int local_f8; uint local_f4; longlong *local_f0; longlong *local_e8; undefined8 *local_e0; longlong *local_d8; uint local_d0; uint local_cc; undefined8 local_c8; undefined1 local_c0 [8]; undefined1 local_b8 [8]; undefined1 local_b0 [8]; undefined8 local_a8; undefined4 local_a0; ulonglong local_98; local_c8 = 0xfffffffffffffffe; local_98 = DAT_182615970 ^ (ulonglong)auStack_158; local_d8 = param_5; FUN_181252d20(&local_e0); uVar12 = 0; local_f8 = 0; lVar7 = FUN_181252280(&local_e0); puVar8 = (undefined8 *)FUN_18049a930(local_c0,lVar7 + 0x10); (**(code **)(*param_6 + 0x28))(param_6,*puVar8,&local_f4,&local_f8); uVar11 = (ulonglong)local_f4; if (local_f8 == 0) { uVar11 = uVar12; } local_f4 = (uint)uVar11; local_e8 = (longlong *)0x0; (**(code **)(*param_6 + 0x20))(param_6,uVar11,&local_e8); local_f0 = (longlong *)0x0; local_138 = &local_f0; (**(code **)(*local_e8 + 0x38))(local_e8,400,5,0); fVar13 = (float)FUN_18124c6e0(local_f0); local_100 = (longlong *)0x0; fVar2 = *(float *)(local_e0 + 5); puVar8 = (undefined8 *)FUN_18049a930(local_b8,local_e0 + 3); local_118 = &local_100; local_120 = L"en-us"; local_128 = (longlong *)CONCAT44(local_128._4_4_,fVar2 * fVar13); local_130 = 5; local_138 = (longlong **)((ulonglong)local_138 & 0xffffffff00000000); (**(code **)(*param_5 + 0x78))(param_5,*puVar8,param_6,400); plVar4 = local_100; uVar11 = 0; local_d0 = *(uint *)((longlong)param_1 + 0xc); uVar5 = local_d0 & 0x47; if (1 < uVar5) { if (uVar5 == 2) { uVar11 = 1; } else if (uVar5 == 4) { uVar11 = 2; } } local_108 = (longlong *)CONCAT44(local_108._4_4_,(uint)(*(int *)(param_1 + 2) == 0)); if (*(int *)((longlong)param_1 + 0x14) == 2) { (**(code **)(*local_100 + 0x30))(local_100,1); local_cc = *(uint *)((longlong)param_1 + 0xc); if ((local_cc & 0x47) < 2) { uVar11 = 1; } else if ((local_cc & 0x47) == 2) { uVar11 = uVar12; } } (**(code **)(*plVar4 + 0x18))(plVar4,uVar11); (**(code **)(*plVar4 + 0x28))(plVar4,(ulonglong)local_108 & 0xffffffff); local_a8 = 1; local_a0 = 0; local_108 = (longlong *)0x0; (**(code **)(*local_d8 + 0xa0))(local_d8,local_100,&local_108); (**(code **)(*local_100 + 0x48))(local_100,&local_a8,local_108); if (local_108 != (longlong *)0x0) { (**(code **)(*local_108 + 0x10))(); } pbVar9 = (byte *)*param_1; uVar11 = uVar12; do { while( true ) { bVar3 = *pbVar9; pbVar9 = pbVar9 + 1; if ((char)bVar3 < '\0') break; if (bVar3 == 0) { if ((longlong *)*param_7 != (longlong *)0x0) { (**(code **)(*(longlong *)*param_7 + 0x10))(); } plVar4 = local_100; *param_7 = 0; puVar8 = (undefined8 *)FUN_18049a930(local_b0,param_1); local_128 = param_7; local_138 = (longlong **)CONCAT44(local_138._4_4_,param_2); local_130 = param_3; iVar6 = (**(code **)(*local_d8 + 0x90))(local_d8,*puVar8,uVar11 & 0xffffffff,plVar4); if (((-1 < iVar6) && (*param_7 != 0)) && (0 < (int)*(uint *)((longlong)param_1 + 0x24))) { uVar10 = (ulonglong)*(uint *)((longlong)param_1 + 0x24); do { local_138 = (longlong **)param_6; FUN_18124c170(uVar12 + param_1[3],*param_7,uVar11 & 0xffffffff,param_4); uVar12 = uVar12 + 0x18; uVar10 = uVar10 - 1; } while (uVar10 != 0); } if (local_100 != (longlong *)0x0) { (**(code **)(*local_100 + 0x10))(); } if (local_f0 != (longlong *)0x0) { (**(code **)(*local_f0 + 0x10))(); } if (local_e8 != (longlong *)0x0) { (**(code **)(*local_e8 + 0x10))(); } if (local_e0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_e0 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_e0)(local_e0,1); } } } LAB_18124c038: uVar11 = uVar11 + 1; } if ((*pbVar9 & 0xc0) != 0x80) goto LAB_18124c038; do { pbVar9 = pbVar9 + 1; } while ((*pbVar9 & 0xc0) == 0x80); uVar11 = uVar11 + 1; } while( true ); } ############ FUN_ 18124c170 size=1052 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18124c170(int *param_1,longlong *param_2,int param_3,longlong *param_4,longlong *param_5) { uint uVar1; longlong lVar2; undefined8 uVar3; char cVar4; int iVar5; undefined4 uVar6; longlong *plVar7; undefined8 *puVar8; void *_Memory; uint *puVar9; uint uVar10; float fVar11; undefined1 auStack_118 [32]; uint local_f8; undefined4 local_f4; longlong *local_f0; int local_e8; uint local_e4; int local_e0; undefined4 local_dc; int local_d8 [2]; longlong *local_d0; longlong *local_c8; longlong local_c0; longlong *local_b8; longlong local_b0; int local_a8; int iStack_a4; longlong local_a0; undefined1 local_98 [8]; longlong *local_90; longlong *local_88; undefined8 local_80; undefined1 local_78 [8]; void *local_70; undefined1 local_68 [8]; float local_60; float local_5c; float local_58; float local_54; ulonglong local_50; local_80 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_118; local_f8 = 0; local_a8 = *param_1; iStack_a4 = param_1[1] - local_a8; if (param_3 - local_a8 < param_1[1] - local_a8) { iStack_a4 = param_3 - local_a8; } lVar2 = *(longlong *)(param_1 + 2); local_90 = param_2; local_88 = param_4; cVar4 = FUN_1804a1570(lVar2 + 0x18); if (cVar4 == '\0') { local_b0 = *(longlong *)(lVar2 + 0x18); if ((*(uint *)(local_b0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_b0 + -0x10) = *(int *)(local_b0 + -0x10) + 1; UNLOCK(); } plVar7 = &local_b0; local_f8 = 2; } else { plVar7 = (longlong *)FUN_1804a16b0(&local_a0,lVar2 + 0x18); local_f8 = 1; } local_c0 = *plVar7; if ((*(uint *)(local_c0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c0 + -0x10) = *(int *)(local_c0 + -0x10) + 1; UNLOCK(); } uVar10 = local_f8 | 4; if ((local_f8 & 2) != 0) { uVar10 = local_f8 & 0xfffffffd | 4; puVar9 = (uint *)(local_b0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { local_f8 = uVar10; /* WARNING: Subroutine does not return */ free(puVar9); } } } local_f8 = uVar10; if ((uVar10 & 1) != 0) { local_f8 = uVar10 & 0xfffffffe; puVar9 = (uint *)(local_a0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } local_e0 = 0; puVar8 = (undefined8 *)FUN_18049a930(local_78,&local_c0); (**(code **)(*param_5 + 0x28))(param_5,*puVar8,&local_dc,&local_e0); if (local_e0 == 0) { local_dc = 0; } local_d0 = (longlong *)0x0; (**(code **)(*param_5 + 0x20))(param_5,local_dc,&local_d0); local_f0 = (longlong *)0x0; iVar5 = (**(code **)(*local_d0 + 0x20))(); plVar7 = local_d0; if (iVar5 + -1 < 0) { puVar8 = (undefined8 *)FUN_18049a930(local_68,&local_c0); uVar3 = CONCAT44(iStack_a4,local_a8); (**(code **)(*param_2 + 0xf8))(param_2,*puVar8,uVar3); lVar2 = *param_2; uVar6 = (**(code **)(*local_f0 + 0x20))(); (**(code **)(lVar2 + 0x100))(param_2,uVar6,uVar3); lVar2 = *param_2; uVar6 = (**(code **)(*local_f0 + 0x28))(); (**(code **)(lVar2 + 0x110))(param_2,uVar6,uVar3); lVar2 = *param_2; uVar6 = (**(code **)(*local_f0 + 0x30))(); (**(code **)(lVar2 + 0x108))(param_2,uVar6,uVar3); fVar11 = (float)FUN_18124c6e0(local_f0); (**(code **)(*param_2 + 0x118)) (param_2,*(float *)(*(longlong *)(param_1 + 2) + 0x28) * fVar11,uVar3); if (local_f0 != (longlong *)0x0) { (**(code **)(*local_f0 + 0x10))(); } if (local_d0 != (longlong *)0x0) { (**(code **)(*local_d0 + 0x10))(); } puVar9 = (uint *)(local_c0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } local_e4 = param_1[4]; local_b8 = (longlong *)0x0; local_54 = (float)(local_e4 >> 0x18) / DAT_1824c4548; local_58 = (float)(local_e4 & 0xff) / DAT_1824c4548; local_5c = (float)(local_e4 >> 8 & 0xff) / DAT_1824c4548; local_60 = (float)(local_e4 >> 0x10 & 0xff) / DAT_1824c4548; (**(code **)(*local_88 + 0x40))(local_88,&local_60,0,&local_b8); (**(code **)(*param_2 + 0x130))(param_2,local_b8,uVar3); if (local_b8 != (longlong *)0x0) { (**(code **)(*local_b8 + 0x10))(); } } if (local_f0 != (longlong *)0x0) { (**(code **)(*local_f0 + 0x10))(); } local_f0 = (longlong *)0x0; (**(code **)(*plVar7 + 0x28))(plVar7,iVar5 + -1,&local_f0); local_c8 = (longlong *)0x0; (**(code **)(*local_f0 + 0x40))(local_f0,&local_c8); plVar7 = local_c8; local_f4 = 0; local_d8[0] = 0; (**(code **)(*local_c8 + 0x20))(local_c8,L"en-us",&local_f4,local_d8); if (local_d8[0] == 0) { local_f4 = 0; } local_e8 = 0; (**(code **)(*plVar7 + 0x38))(plVar7,local_f4,&local_e8); _Memory = malloc((ulonglong)(local_e8 + 1) * 2); local_70 = _Memory; (**(code **)(*plVar7 + 0x40))(plVar7,local_f4,_Memory,local_e8 + 1); FUN_18049c800(local_98,_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18134f7a0 size=460 ############ undefined1 FUN_18134f7a0(longlong param_1) { uint uVar1; bool bVar2; bool bVar3; bool bVar4; bool bVar5; undefined1 uVar6; int iVar7; DWORD DVar8; undefined8 *puVar9; undefined8 uVar10; uint *puVar11; longlong local_res10; longlong local_res18; undefined1 *local_res20; undefined1 local_38 [16]; bVar5 = false; bVar4 = false; bVar3 = false; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x38)); FUN_1812a7720(param_1 + 0xa0); if (*(char *)(param_1 + 0xe2) == '\0') { local_res20 = &DAT_1821dbf98; bVar5 = true; bVar4 = false; bVar3 = false; if ((*(undefined1 **)(param_1 + 0xb8) != &DAT_1821dbf98) && (iVar7 = FUN_18049bb30(*(undefined8 *)(param_1 + 0xb8)), iVar7 != 0)) { puVar9 = (undefined8 *)FUN_18049a930(local_38,param_1 + 0xb8); DVar8 = GetFileAttributesW((LPCWSTR)*puVar9); bVar2 = false; if (((DVar8 & 0x10) != 0) && (bVar2 = false, DVar8 != 0xffffffff)) { bVar2 = true; } if (!bVar2) { uVar10 = FUN_181241230(param_1 + 0xb8,&local_res18); puVar9 = (undefined8 *)FUN_181244be0(uVar10,&local_res10); bVar5 = true; bVar4 = true; bVar3 = true; if (*(char *)*puVar9 == '\0') { bVar2 = false; goto LAB_18134f895; } } } } bVar2 = true; LAB_18134f895: if ((bVar3) && (puVar11 = (uint *)(local_res10 + -0x10), (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((bVar4) && (puVar11 = (uint *)(local_res18 + -0x10), (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((bVar5) && (puVar11 = (uint *)(local_res20 + -0x10), (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if (bVar2) { uVar6 = 0; } else if (*(int *)(param_1 + 0xe8) == 2) { uVar6 = FUN_18134f2a0(); } else { uVar6 = FUN_18134f050(param_1); } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x38)); return uVar6; } ############ FUN_ 181244be0 size=630 ############ undefined8 * FUN_181244be0(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { DWORD DVar1; int iVar2; BOOL BVar3; uint uVar4; undefined8 *puVar5; undefined8 uVar6; undefined1 **ppuVar7; uint *puVar8; bool bVar9; char *local_res8 [2]; longlong local_res18; undefined1 *local_res20; longlong local_70; longlong local_68; char *local_60; longlong local_58 [2]; undefined1 local_48 [8]; undefined1 local_40 [8]; char *local_38; local_58[1] = 0xfffffffffffffffe; puVar5 = (undefined8 *)FUN_18049a930(local_48,param_1,param_3,param_4,0); DVar1 = GetFileAttributesW((LPCWSTR)*puVar5); bVar9 = false; if (((DVar1 & 0x10) != 0) && (bVar9 = false, DVar1 != 0xffffffff)) { bVar9 = true; } if (!bVar9) { FUN_181241230(param_1,&local_res18); if ((local_res18 == *param_1) || (iVar2 = FUN_18049bb30(), iVar2 == 0)) { FUN_18049c4e0(&local_70,"Cannot create parent directory"); FUN_18123a0b0(param_2,&local_70); puVar8 = (uint *)(local_70 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_res18 + -0x10); uVar4 = *puVar8; } else { FUN_181244be0(&local_res18,local_res8); if (*local_res8[0] == '\0') { uVar6 = FUN_1812304e0(param_1,local_58,&DAT_1821db634); puVar5 = (undefined8 *)FUN_18049a930(local_40,uVar6); BVar3 = CreateDirectoryW((LPCWSTR)*puVar5,(LPSECURITY_ATTRIBUTES)0x0); bVar9 = BVar3 == 0; if (bVar9) { ppuVar7 = (undefined1 **)FUN_1812181b0(&local_68); } else { local_res20 = &DAT_1821dbf98; ppuVar7 = &local_res20; } local_60 = *ppuVar7; *ppuVar7 = &DAT_1821dbf98; if ((bVar9) && (puVar8 = (uint *)(local_68 + -0x10), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((!bVar9) && (puVar8 = (uint *)(local_res20 + -0x10), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_38 = local_res8[0]; puVar8 = (uint *)(local_res8[0] + -0x10); local_res8[0] = local_60; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_58[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } *param_2 = local_res8[0]; local_res8[0] = ""; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar8 = (uint *)(local_res18 + -0x10); uVar4 = *puVar8; } if ((uVar4 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return param_2; } *param_2 = &DAT_1821dbf98; return param_2; } ############ FUN_ 18123dec0 size=164 ############ undefined8 FUN_18123dec0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { bool bVar1; char cVar2; DWORD DVar3; undefined8 *puVar4; int iVar5; undefined1 local_res8 [8]; if (*(char *)*param_1 != '\0') { puVar4 = (undefined8 *)FUN_18049a930(local_res8,param_1,param_3,param_4,0xfffffffffffffffe); DVar3 = GetFileAttributesW((LPCWSTR)*puVar4); if (DVar3 != 0xffffffff) { bVar1 = true; goto LAB_18123df0e; } } bVar1 = false; LAB_18123df0e: if (bVar1) { iVar5 = 4; do { cVar2 = FUN_1812413c0(param_1,param_1 + 1); if (cVar2 != '\0') { return 1; } Sleep(100); iVar5 = iVar5 + -1; } while (-1 < iVar5); } return 0; } ############ FUN_ 18123ed20 size=368 ############ undefined8 * FUN_18123ed20(undefined8 *param_1,longlong *param_2,size_t param_3) { uint uVar1; longlong lVar2; undefined8 uVar3; DWORD DVar4; void *pvVar5; undefined8 *puVar6; HANDLE hFile; uint *_Memory; undefined8 local_res10; longlong local_res18; undefined1 local_res20 [8]; *param_1 = juce::OutputStream::vftable; FUN_18049c4e0(param_1 + 1,&DAT_182496878); *param_1 = juce::FileOutputStream::vftable; lVar2 = *param_2; param_1[2] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[3] = 0; param_1[4] = &DAT_1821dbf98; param_1[5] = 0; param_1[6] = param_3; param_1[7] = 0; if (param_3 < 0x10) { param_3 = 0x10; } pvVar5 = malloc(param_3); param_1[8] = pvVar5; puVar6 = (undefined8 *)FUN_18049a930(local_res20,param_1 + 2); hFile = CreateFileW((LPCWSTR)*puVar6,0x40000000,1,(LPSECURITY_ATTRIBUTES)0x0,4,0x80,(HANDLE)0x0); if (hFile != (HANDLE)0xffffffffffffffff) { local_res10 = 0; DVar4 = SetFilePointer(hFile,0,(PLONG)((longlong)&local_res10 + 4),2); local_res10 = CONCAT44(local_res10._4_4_,DVar4); if (DVar4 != 0xffffffff) { param_1[3] = hFile; param_1[5] = local_res10; return param_1; } } puVar6 = (undefined8 *)FUN_1812181b0(&local_res18); uVar3 = param_1[4]; param_1[4] = *puVar6; *puVar6 = uVar3; _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 181240380 size=1704 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181240380(undefined8 param_1,undefined8 *param_2,longlong *param_3,undefined8 param_4, char param_5) { int *piVar1; bool bVar2; char cVar3; wint_t _C; DWORD DVar4; int iVar5; int iVar6; int iVar7; undefined8 *puVar8; undefined8 uVar9; longlong lVar10; void *pvVar11; longlong lVar12; longlong *plVar13; uint *puVar14; uint *puVar15; uint *puVar16; uint uVar17; longlong lVar18; char *pcVar19; size_t sVar20; char *pcVar21; undefined1 auStack_148 [32]; char local_128; char local_124 [4]; undefined2 local_120; char local_11c [4]; uint local_118; char *local_110; char *local_108; char *local_100; longlong local_f8; longlong *local_f0; longlong local_e8; longlong local_e0; longlong local_d8; longlong local_d0; longlong local_c8; undefined8 local_c0; longlong local_b8; undefined8 local_b0; undefined8 *local_a8; undefined8 local_a0; undefined8 *local_98; undefined1 local_90 [8]; char *local_88; char **local_80; char *local_78; undefined8 local_70; undefined1 local_58 [16]; ulonglong local_48 [2]; local_a0 = 0xfffffffffffffffe; local_48[0] = DAT_182615970 ^ (ulonglong)auStack_148; local_118 = 0; local_f8 = *param_3; if ((*(uint *)(local_f8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f8 + -0x10) = *(int *)(local_f8 + -0x10) + 1; UNLOCK(); } local_f0 = &local_f8; local_c0 = param_4; local_b0 = param_1; local_a8 = param_2; local_98 = param_2; local_f0 = (longlong *)FUN_181232d30(&local_f8,param_4); local_f0 = (longlong *)*local_f0; puVar15 = (uint *)((longlong)local_f0 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); *puVar15 = *puVar15 + 1; UNLOCK(); } local_118 = 4; puVar14 = (uint *)(local_f8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } FUN_181245100(param_1,param_2,local_f0); local_118 = 5; if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } if (*(char *)*param_2 == '\0') { LAB_1812404c3: bVar2 = false; } else { puVar8 = (undefined8 *)FUN_18049a930(local_90,param_2); DVar4 = GetFileAttributesW((LPCWSTR)*puVar8); if (DVar4 == 0xffffffff) goto LAB_1812404c3; bVar2 = true; } if (!bVar2) { } iVar7 = 1; local_110 = (char *)*param_3; if ((*(uint *)(local_110 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_110 + -0x10) = *(int *)(local_110 + -0x10) + 1; UNLOCK(); } uVar9 = FUN_181248e40(&local_110,&local_e0); cVar3 = FUN_181249390(uVar9,0x29); puVar15 = (uint *)(local_e0 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } if (cVar3 == '\0') { local_128 = param_5; goto LAB_18124067b; } local_128 = '\x01'; iVar5 = FUN_1812327b0(&local_110,0x28); iVar6 = FUN_1812327b0(&local_110,0x29); uVar17 = local_118; if ((iVar5 < 1) || (iVar6 <= iVar5)) { LAB_1812405a5: bVar2 = false; } else { uVar9 = FUN_1812490c0(&local_110,&local_d8,iVar5 + 1,iVar6); uVar17 = 7; local_118 = 7; cVar3 = FUN_1812301c0(uVar9,"0123456789"); if (cVar3 == '\0') goto LAB_1812405a5; bVar2 = true; } if ((uVar17 & 2) != 0) { local_118 = uVar17 & 0xfffffffd; puVar15 = (uint *)(local_d8 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } } if (bVar2) { puVar8 = (undefined8 *)FUN_1812490c0(&local_110,&local_d0,iVar5 + 1,iVar6); iVar7 = atoi((char *)*puVar8); puVar15 = (uint *)(local_d0 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } puVar8 = (undefined8 *)FUN_1812490c0(&local_110,&local_c8,0,iVar5); pcVar19 = local_110; local_88 = local_110; local_110 = (char *)*puVar8; *puVar8 = pcVar19; puVar15 = (uint *)(local_c8 + -0x10); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } } param_5 = '\x01'; LAB_18124067b: puVar15 = (uint *)(local_110 + -0x10); local_80 = &local_100; do { local_108 = local_110; if ((*puVar15 & 0x30000000) == 0) { LOCK(); *puVar15 = *puVar15 + 1; UNLOCK(); } if (param_5 == '\0') { if (*local_110 == '\0') { _C = 0; } else { iVar5 = FUN_180493130(&local_110); _C = FUN_180493050(&local_110,iVar5 + -1); } iVar5 = iswdigit(_C); if (iVar5 != 0) { local_11c[0] = '_'; local_11c[1] = '\0'; lVar18 = -1; do { lVar12 = lVar18; lVar18 = lVar12 + 1; } while (local_11c[lVar12 + 1] != '\0'); local_78 = local_11c + lVar12 + 1; FUN_181232e20(&local_108,local_11c); } pvVar11 = (void *)FUN_181233e10(local_48,iVar7 + 1); iVar5 = (int)local_48 - (int)pvVar11; pcVar19 = local_108; if (0 < iVar5) { lVar18 = -1; do { lVar18 = lVar18 + 1; } while (local_108[lVar18] != '\0'); sVar20 = (size_t)iVar5; FUN_1812342b0(&local_108,sVar20 + lVar18); pcVar19 = local_108; pcVar21 = local_108 + (int)lVar18; memcpy(pcVar21,pvVar11,sVar20); pcVar21[sVar20] = '\0'; } } else { local_124[0] = '('; local_124[1] = '\0'; lVar18 = -1; do { lVar10 = lVar18 + 1; lVar12 = lVar18 + 1; lVar18 = lVar10; } while (local_124[lVar12] != '\0'); iVar5 = ((int)local_124 + (int)lVar10) - (int)local_124; pcVar19 = local_110; if (0 < iVar5) { lVar18 = -1; do { lVar18 = lVar18 + 1; } while (local_110[lVar18] != '\0'); sVar20 = (size_t)iVar5; FUN_1812342b0(&local_108,sVar20 + lVar18); pcVar19 = local_108; pcVar21 = local_108 + (int)lVar18; memcpy(pcVar21,local_124,sVar20); pcVar21[sVar20] = '\0'; } pvVar11 = (void *)FUN_181233e10(local_58,iVar7 + 1); iVar5 = (int)local_58 - (int)pvVar11; if (0 < iVar5) { lVar18 = -1; do { lVar18 = lVar18 + 1; } while (pcVar19[lVar18] != '\0'); sVar20 = (size_t)iVar5; FUN_1812342b0(&local_108,sVar20 + lVar18); pcVar19 = local_108; pcVar21 = local_108 + (int)lVar18; memcpy(pcVar21,pvVar11,sVar20); pcVar21[sVar20] = '\0'; } local_120 = 0x29; lVar18 = -1; do { lVar10 = lVar18 + 1; lVar12 = lVar18 + 1; lVar18 = lVar10; } while (*(char *)((longlong)&local_120 + lVar12) != '\0'); iVar5 = ((int)&local_120 + (int)lVar10) - (int)&local_120; if (0 < iVar5) { lVar18 = -1; do { lVar18 = lVar18 + 1; } while (pcVar19[lVar18] != '\0'); sVar20 = (size_t)iVar5; FUN_1812342b0(&local_108,sVar20 + lVar18); pcVar19 = local_108; pcVar21 = local_108 + (int)lVar18; memcpy(pcVar21,&local_120,sVar20); pcVar21[sVar20] = '\0'; } } iVar7 = iVar7 + 1; if ((*(uint *)(pcVar19 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar19 + -0x10) = *(int *)(pcVar19 + -0x10) + 1; UNLOCK(); } local_100 = pcVar19; plVar13 = (longlong *)FUN_181232d30(&local_100,local_c0); local_b8 = *plVar13; puVar14 = (uint *)(local_b8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); *puVar14 = *puVar14 + 1; UNLOCK(); } local_118 = local_118 | 8; puVar16 = (uint *)(local_100 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } puVar8 = (undefined8 *)FUN_181245100(local_b0,&local_e8,local_b8); local_70 = *local_a8; *local_a8 = *puVar8; *puVar8 = local_70; puVar16 = (uint *)(local_e8 + -0x10); if ((*puVar16 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar16; *puVar16 = *puVar16 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar16); } } if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if ((*(uint *)(pcVar19 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(pcVar19 + -0x10); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 0) { /* WARNING: Subroutine does not return */ free(pcVar19 + -0x10); } } cVar3 = FUN_181245810(local_a8); param_5 = local_128; } while (cVar3 != '\0'); if ((*puVar15 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar15; *puVar15 = *puVar15 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar15); } } } ############ FUN_ 181245810 size=71 ############ ulonglong FUN_181245810(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4 ) { DWORD DVar1; ulonglong uVar2; undefined8 *puVar3; undefined4 extraout_var; bool bVar4; undefined1 local_res8 [32]; bVar4 = *(char *)*param_1 == '\0'; uVar2 = CONCAT71((int7)((ulonglong)*param_1 >> 8),bVar4); if (!bVar4) { puVar3 = (undefined8 *)FUN_18049a930(local_res8,param_1,param_3,param_4,0xfffffffffffffffe); DVar1 = GetFileAttributesW((LPCWSTR)*puVar3); uVar2 = CONCAT44(extraout_var,DVar1); if (DVar1 != 0xffffffff) { return 1; } } return uVar2 & 0xffffffffffffff00; } ############ FUN_ 1805167d0 size=130 ############ undefined8 FUN_1805167d0(longlong param_1) { LPCWSTR lpCaption; int iVar1; undefined8 *puVar2; undefined1 local_res8 [8]; undefined1 local_res10 [8]; puVar2 = (undefined8 *)FUN_18049a930(local_res8,param_1 + 0x20); lpCaption = (LPCWSTR)*puVar2; puVar2 = (undefined8 *)FUN_18049a930(local_res10,param_1 + 0x28); iVar1 = MessageBoxW(*(HWND *)(param_1 + 0x18),(LPCWSTR)*puVar2,lpCaption,*(UINT *)(param_1 + 0x10) ); if ((iVar1 == 6) || (iVar1 == 1)) { return 1; } if ((iVar1 == 7) && ((*(byte *)(param_1 + 0x10) & 1) != 0)) { return 2; } return 0; } ############ FUN_ 1812457c0 size=70 ############ ulonglong FUN_1812457c0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4 ) { DWORD DVar1; ulonglong uVar2; undefined8 *puVar3; undefined4 extraout_var; bool bVar4; undefined1 local_res8 [32]; bVar4 = *(char *)*param_1 == '\0'; uVar2 = CONCAT71((int7)((ulonglong)*param_1 >> 8),bVar4); if (!bVar4) { puVar3 = (undefined8 *)FUN_18049a930(local_res8,param_1,param_3,param_4,0xfffffffffffffffe); DVar1 = GetFileAttributesW((LPCWSTR)*puVar3); uVar2 = CONCAT44(extraout_var,DVar1); if ((DVar1 & 0x10) == 0) { return 1; } } return uVar2 & 0xffffffffffffff00; } ############ FUN_ 1813290e0 size=154 ############ void FUN_1813290e0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; bool bVar2; undefined1 uVar3; DWORD DVar4; undefined8 *puVar5; longlong *plVar6; undefined1 local_res8 [32]; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; uVar3 = FUN_18132c430(*(undefined8 *)(*(longlong *)(param_1 + 8) + 0xb0)); FUN_18133e970(*(longlong *)(param_1 + 8) + 0xb8,uVar3,param_3,param_4,uVar7); lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + 0xb0); if ((*(uint *)(lVar1 + 0xf0) >> 1 & 1) != 0) { puVar5 = (undefined8 *)FUN_18049a930(local_res8,lVar1 + 0xf8); DVar4 = GetFileAttributesW((LPCWSTR)*puVar5); if (((DVar4 & 0x10) == 0) || (DVar4 == 0xffffffff)) { bVar2 = false; } else { bVar2 = true; } if (bVar2) { uVar7 = 1; goto LAB_181329163; } } uVar7 = 0; LAB_181329163: plVar6 = (longlong *)(*(longlong *)(param_1 + 8) + 0x448); /* WARNING: Could not recover jumptable at 0x000181329176. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar6 + 0x58))(plVar6,uVar7); return; } ############ FUN_ 18132c430 size=217 ############ bool FUN_18132c430(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; bool bVar2; bool bVar3; DWORD DVar4; undefined8 *puVar5; undefined1 local_res8 [8]; char *local_res10; undefined1 local_res18 [8]; FUN_18132c510(param_1,&local_res10,0,param_4,0xfffffffffffffffe); bVar2 = true; if ((*(byte *)(param_1 + 0xf0) & 8) == 0) { puVar5 = (undefined8 *)FUN_18049a930(local_res18,&local_res10); DVar4 = GetFileAttributesW((LPCWSTR)*puVar5); if (((DVar4 & 0x10) == 0) || (DVar4 == 0xffffffff)) { bVar3 = false; } else { bVar3 = true; } if (bVar3) { bVar2 = false; goto LAB_18132c4d3; } } if ((*(uint *)(param_1 + 0xf0) >> 1 & 1) == 0) { if (*local_res10 == '\0') { LAB_18132c4cb: bVar2 = false; } else { puVar5 = (undefined8 *)FUN_18049a930(local_res8,&local_res10); DVar4 = GetFileAttributesW((LPCWSTR)*puVar5); if (DVar4 == 0xffffffff) goto LAB_18132c4cb; } if (!bVar2) goto LAB_18132c4d3; } bVar2 = true; LAB_18132c4d3: _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return bVar2; } ############ FUN_ 181245770 size=62 ############ ulonglong FUN_181245770(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { DWORD DVar1; undefined8 *puVar2; undefined4 extraout_var; undefined1 local_res8 [32]; puVar2 = (undefined8 *)FUN_18049a930(local_res8,param_1,param_3,param_4,0xfffffffffffffffe); DVar1 = GetFileAttributesW((LPCWSTR)*puVar2); if (((DVar1 & 0x10) != 0) && (DVar1 != 0xffffffff)) { return 1; } return CONCAT44(extraout_var,DVar1) & 0xffffffffffffff00; } ############ FUN_ 181229320 size=309 ############ undefined8 * FUN_181229320(undefined8 *param_1,undefined8 *param_2,tm *param_3) { int iVar1; wchar_t *_Buf; undefined8 *puVar2; size_t sVar3; ulonglong uVar4; wchar_t *pwVar5; wchar_t *pwVar6; undefined1 local_res20 [8]; if (9999 < param_3->tm_year + 0x76cU) { *param_1 = &DAT_1821dbf98; return param_1; } _Buf = malloc(0x200); puVar2 = (undefined8 *)FUN_18049a930(local_res20,param_2); sVar3 = wcsftime(_Buf,0xff,(wchar_t *)*puVar2,param_3); if ((sVar3 == 0) && (*(char *)*param_2 != '\0')) { /* WARNING: Subroutine does not return */ free(_Buf); } iVar1 = (int)sVar3; pwVar5 = _Buf; if (iVar1 < 0) { if (iVar1 + 1 < 1) { uVar4 = (ulonglong)(1 - (iVar1 + 1)); do { pwVar6 = pwVar5 + -1; if ((ushort)*pwVar6 - 0xdc00 < 0x400) { pwVar6 = pwVar5 + -2; } uVar4 = uVar4 - 1; pwVar5 = pwVar6; } while (uVar4 != 0); } } else { while (pwVar6 = pwVar5, iVar1 = iVar1 + -1, -1 < iVar1) { pwVar5 = pwVar6 + 1; if (((ushort)*pwVar6 - 0xd800 < 0x800) && (0xdbff < (ushort)*pwVar5)) { pwVar5 = pwVar6 + 2; } } } FUN_18049cfa0(param_1,_Buf); /* WARNING: Subroutine does not return */ free(_Buf); } ############ FUN_ 181218410 size=130 ############ void FUN_181218410(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; undefined8 *puVar3; uint *_Memory; longlong local_res8; longlong local_res10; undefined1 local_res18 [16]; local_res8 = *param_1; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } uVar2 = FUN_1812184a0(&local_res10,&local_res8,param_3,param_4,0xfffffffffffffffe); puVar3 = (undefined8 *)FUN_18049a930(local_res18,uVar2); GetDriveTypeW((LPCWSTR)*puVar3); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 18132e830 size=277 ############ void FUN_18132e830(longlong param_1,undefined8 param_2,undefined8 param_3) { int *piVar1; longlong *plVar2; DWORD DVar3; undefined8 *puVar4; undefined8 uVar5; longlong lVar6; int iVar7; bool bVar8; undefined8 *local_res8; undefined1 local_res20 [8]; if (**(char **)(*(longlong *)(param_1 + 8) + 0x48) != '\0') { puVar4 = (undefined8 *)FUN_18049a930(local_res20); DVar3 = GetFileAttributesW((LPCWSTR)*puVar4); if (DVar3 != 0xffffffff) { bVar8 = true; goto LAB_18132e88d; } } bVar8 = false; LAB_18132e88d: if (bVar8) { uVar5 = __RTDynamicCast(param_1,0,&juce::DirectoryContentsDisplayComponent::RTTI_Type_Descriptor ,&juce::Component::RTTI_Type_Descriptor,0); FUN_1804de690(&local_res8,uVar5); puVar4 = local_res8; iVar7 = *(int *)(param_1 + 0x1c); bVar8 = local_res8 == (undefined8 *)0x0; while( true ) { if (bVar8) { lVar6 = 0; } else { lVar6 = puVar4[2]; } if ((lVar6 == 0) || (iVar7 < 1)) break; iVar7 = iVar7 + -1; if ((*(int *)(param_1 + 0x1c) <= iVar7) && (iVar7 = *(int *)(param_1 + 0x1c) + -1, iVar7 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x10) + (longlong)iVar7 * 8); (**(code **)(*plVar2 + 0x10))(plVar2,param_2,param_3); } if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_res8)(local_res8,1); } } } return; } ############ FUN_ 18132e710 size=274 ############ void FUN_18132e710(longlong param_1,undefined8 param_2) { int *piVar1; longlong *plVar2; DWORD DVar3; undefined8 *puVar4; undefined8 uVar5; longlong lVar6; int iVar7; bool bVar8; undefined8 *local_res8; undefined1 local_res18 [8]; if (**(char **)(*(longlong *)(param_1 + 8) + 0x48) != '\0') { puVar4 = (undefined8 *)FUN_18049a930(local_res18); DVar3 = GetFileAttributesW((LPCWSTR)*puVar4); if (DVar3 != 0xffffffff) { bVar8 = true; goto LAB_18132e769; } } bVar8 = false; LAB_18132e769: if (bVar8) { uVar5 = __RTDynamicCast(param_1,0,&juce::DirectoryContentsDisplayComponent::RTTI_Type_Descriptor ,&juce::Component::RTTI_Type_Descriptor,0); FUN_1804de690(&local_res8,uVar5); puVar4 = local_res8; iVar7 = *(int *)(param_1 + 0x1c); bVar8 = local_res8 == (undefined8 *)0x0; while( true ) { if (bVar8) { lVar6 = 0; } else { lVar6 = puVar4[2]; } if ((lVar6 == 0) || (iVar7 < 1)) break; iVar7 = iVar7 + -1; if ((*(int *)(param_1 + 0x1c) <= iVar7) && (iVar7 = *(int *)(param_1 + 0x1c) + -1, iVar7 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x10) + (longlong)iVar7 * 8); (**(code **)(*plVar2 + 0x18))(plVar2,param_2); } if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_res8)(local_res8,1); } } } return; } ############ FUN_ 180510480 size=573 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180510480(undefined8 *param_1) { uint uVar1; char cVar2; ATOM AVar3; ulonglong uVar4; undefined4 *puVar5; HMODULE hModule; undefined8 *puVar6; uint *puVar7; char *_Src; undefined1 auStack_908 [32]; WORD local_8e8 [4]; longlong local_8e0; undefined4 *local_8d8; undefined8 local_8d0; undefined8 *local_8c8; undefined1 local_8c0 [8]; WNDCLASSEXW local_8b8; longlong local_868; ushort local_860; char local_83a [2]; WCHAR local_838; undefined1 auStack_835 [12]; char acStack_829 [2033]; ulonglong local_38; local_8d0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_908; local_8c8 = param_1; FUN_1812a7230(); *param_1 = juce::HWNDComponentPeer::WindowClassHolder::vftable; FUN_18049c4e0(&local_8e0,"JUCE_"); _ftime64_s(&local_868); uVar4 = local_868 * 1000 + (ulonglong)local_860; _Src = local_83a + 1; local_83a[1] = 0; do { _Src = _Src + -1; cVar2 = "0123456789abcdef"[(uint)uVar4 & 0xf]; *_Src = cVar2; uVar4 = uVar4 >> 4; } while (uVar4 != 0); if (cVar2 == '\0') { puVar5 = (undefined4 *)&DAT_1821dbf98; } else { puVar5 = (undefined4 *) thunk_FUN_1811316e0(((ulonglong)(auStack_835 + -(longlong)_Src) & 0xfffffffffffffffc) + 0x17); LOCK(); *puVar5 = 0; UNLOCK(); *(ulonglong *)(puVar5 + 2) = (ulonglong)(auStack_835 + -(longlong)_Src) & 0xfffffffffffffffc; puVar5 = puVar5 + 4; memcpy(puVar5,_Src,(size_t)(local_83a + -(longlong)_Src + 1)); *(char *)((longlong)puVar5 + (longlong)(local_83a + -(longlong)_Src + 1)) = '\0'; } local_8d8 = puVar5; FUN_181232d30(&local_8e0); puVar7 = puVar5 + -4; if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } hModule = (HMODULE)FUN_181249ad0(); memset(local_83a + 2,0,0x800); GetModuleFileNameW(hModule,(LPWSTR)(local_83a + 2),0x400); local_8e8[0] = 0; memset(&local_8b8,0,0x50); local_8b8.cbSize = 0x50; local_8b8.style = 0x20; local_8b8.lpfnWndProc = FUN_180514940; puVar6 = (undefined8 *)FUN_18049a930(local_8c0,&local_8e0); local_8b8.lpszClassName = (LPCWSTR)*puVar6; local_8b8.cbWndExtra = 0x20; local_8b8.hInstance = hModule; local_8b8.hIcon = ExtractAssociatedIconW(hModule,(LPWSTR)(local_83a + 2),local_8e8); local_8e8[0] = 1; local_8b8.hIconSm = ExtractAssociatedIconW(hModule,(LPWSTR)(local_83a + 2),local_8e8); AVar3 = RegisterClassExW(&local_8b8); *(ATOM *)(param_1 + 1) = AVar3; DAT_1826736e8 = FUN_180510810; puVar7 = (uint *)(local_8e0 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } ############ FUN_ 18050e350 size=41 ############ void FUN_18050e350(longlong param_1) { undefined8 *puVar1; undefined1 local_res8 [32]; puVar1 = (undefined8 *)FUN_18049a930(local_res8); SetWindowTextW(*(HWND *)(param_1 + 0x88),(LPCWSTR)*puVar1); return; } ############ FUN_ 180519050 size=299 ############ undefined8 FUN_180519050(HWND param_1,int param_2,undefined8 param_3,longlong param_4) { int iVar1; longlong lVar2; uint uVar3; LPARAM *pLVar4; int *piVar5; longlong local_res20; longlong local_18; undefined1 local_10 [8]; if (param_2 == 1) { pLVar4 = (LPARAM *)FUN_18049a930(local_10,param_4 + 0x240); SendMessageW(param_1,0x467,1,*pLVar4); FUN_180518790(param_4,param_1); } else { if (param_2 == 3) { FUN_18049c4e0(&local_18,param_3); if ((*(uint *)(local_18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_18 + -0x10) = *(int *)(local_18 + -0x10) + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_4 + 0x248); *(longlong *)(param_4 + 0x248) = local_18; UNLOCK(); uVar3 = *(uint *)(lVar2 + -0x10); local_res20 = local_18; } else { if (param_2 != 4) { return 0; } FUN_18049c800(&local_res20,param_3); if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_4 + 0x248); *(longlong *)(param_4 + 0x248) = local_res20; UNLOCK(); uVar3 = *(uint *)(lVar2 + -0x10); } piVar5 = (int *)(lVar2 + -0x10); if ((uVar3 & 0x30000000) == 0) { LOCK(); iVar1 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar5); } } if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); piVar5 = (int *)(local_res20 + -0x10); iVar1 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_res20 + -0x10)); } } } return 0; } ############ FUN_ 18054d130 size=353 ############ void FUN_18054d130(ulonglong param_1) { uint uVar1; undefined8 *puVar2; FARPROC pFVar3; FARPROC pFVar4; INT_PTR IVar5; uint *puVar6; ulonglong local_res8; HMODULE local_res10; longlong local_res18; LPCSTR local_res20; LPCSTR local_48; undefined8 local_40; undefined1 local_38 [24]; local_40 = 0xfffffffffffffffe; local_res8 = param_1; FUN_18049c4e0(&local_res18,"avrt.dll"); puVar2 = (undefined8 *)FUN_18049a930(local_38,&local_res18); local_res10 = LoadLibraryW((LPCWSTR)*puVar2); puVar6 = (uint *)(local_res18 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_18049c4e0(&local_res20,"AvSetMmThreadCharacteristicsW"); if (local_res10 == (HMODULE)0x0) { pFVar3 = (FARPROC)0x0; } else { pFVar3 = GetProcAddress(local_res10,local_res20); } puVar6 = (uint *)(local_res20 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_18049c4e0(&local_48,"AvSetMmThreadPriority"); if (local_res10 == (HMODULE)0x0) { pFVar4 = (FARPROC)0x0; } else { pFVar4 = GetProcAddress(local_res10,local_48); } puVar6 = (uint *)(local_48 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if ((pFVar3 != (FARPROC)0x0) && (pFVar4 != (FARPROC)0x0)) { local_res8 = local_res8 & 0xffffffff00000000; IVar5 = (*pFVar3)(L"Pro Audio",&local_res8); if (IVar5 != 0) { (*pFVar4)(IVar5,0); } } if (local_res10 != (HMODULE)0x0) { FreeLibrary(local_res10); } return; } ############ FUN_ 18055b020 size=491 ############ void FUN_18055b020(longlong param_1,undefined8 param_2,longlong param_3,undefined8 *param_4) { uint uVar1; undefined8 uVar2; undefined8 *puVar3; longlong lVar4; uint *_Memory; void *local_res8; longlong local_b8; undefined4 local_b0; undefined4 uStack_ac; undefined8 uStack_a8; undefined8 local_a0; undefined4 local_98; undefined4 uStack_94; undefined4 uStack_90; undefined4 uStack_8c; undefined8 local_88; undefined2 local_80 [4]; undefined8 local_78; undefined8 local_68; undefined1 local_60 [8]; undefined1 local_58 [8]; undefined1 local_50 [24]; undefined1 local_38 [32]; local_68 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0xc0) != 0) { Ordinal_8(local_50); Ordinal_8(local_38); Ordinal_8(&local_98); Ordinal_8(local_80); if (param_3 != 0) { local_80[0] = 8; uVar2 = FUN_18122d360(param_3,&local_b8,&DAT_182496878); puVar3 = (undefined8 *)FUN_18049a930(local_60,uVar2); local_78 = Ordinal_2(*puVar3); _Memory = (uint *)(local_b8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } if ((param_4 != (undefined8 *)0x0) && (param_4[1] != 0)) { lVar4 = Ordinal_411(0x11,0,param_4[1] & 0xffffffff); if (lVar4 != 0) { local_res8 = (void *)0x0; Ordinal_23(lVar4,&local_res8); if (local_res8 == (void *)0x0) { Ordinal_16(lVar4); } else { if (param_4[1] != 0) { memcpy(local_res8,(void *)*param_4,param_4[1]); } Ordinal_24(lVar4); Ordinal_8(&local_b0); local_b0 = CONCAT22(local_b0._2_2_,0x2011); uStack_a8._0_4_ = (undefined4)lVar4; uStack_a8._4_4_ = (undefined4)((ulonglong)lVar4 >> 0x20); local_98 = local_b0; uStack_94 = uStack_ac; uStack_90 = (undefined4)uStack_a8; uStack_8c = uStack_a8._4_4_; local_88 = local_a0; uStack_a8 = lVar4; } } } puVar3 = (undefined8 *)FUN_18049a930(local_58,param_2); uVar2 = Ordinal_2(*puVar3); (**(code **)(**(longlong **)(param_1 + 0xc0) + 0x58)) (*(longlong **)(param_1 + 0xc0),uVar2,local_50,local_38,&local_98,local_80); Ordinal_6(uVar2); Ordinal_9(local_50); Ordinal_9(local_38); Ordinal_9(&local_98); Ordinal_9(local_80); } return; } ############ FUN_ 18055e2c0 size=305 ############ bool FUN_18055e2c0(void) { uint uVar1; byte bVar2; DWORD DVar3; undefined8 uVar4; undefined8 *puVar5; uint *puVar6; undefined8 in_R9; bool bVar7; char *local_res8; longlong local_res10; longlong local_res18; undefined *local_res20; undefined8 uVar8; undefined1 local_20 [16]; uVar8 = 0xfffffffffffffffe; local_res20 = &DAT_182673740; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673740); if (DAT_182673664 != 0) goto LAB_18055e3d5; FUN_18049c4e0(&local_res10,"disableOpenGL.xml"); uVar4 = FUN_1811e05b0(&local_res18); FUN_181245100(uVar4,&local_res8,local_res10,in_R9,uVar8); puVar6 = (uint *)(local_res18 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_res10 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (*local_res8 == '\0') { LAB_18055e3a3: bVar2 = 0; } else { puVar5 = (undefined8 *)FUN_18049a930(local_20,&local_res8); DVar3 = GetFileAttributesW((LPCWSTR)*puVar5); if ((DVar3 & 0x10) != 0) goto LAB_18055e3a3; bVar2 = 1; } DAT_182673664 = 2 - (uint)bVar2; puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } LAB_18055e3d5: bVar7 = DAT_182673664 == 1; LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673740); return bVar7; } ############ FUN_ 1814d7520 size=685 ############ void FUN_1814d7520(void) { uint uVar1; char *pcVar2; bool bVar3; DWORD DVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 uVar7; uint *puVar8; uint *puVar9; undefined1 *puVar10; undefined8 in_R9; char *local_res8; longlong local_res10; undefined1 *local_res18; longlong local_res20; longlong local_90; longlong local_88; longlong local_80; longlong local_78; longlong local_70 [2]; char *local_60; undefined8 local_58; undefined8 local_50; char *local_48; undefined1 local_40 [16]; local_70[1] = 0xfffffffffffffffe; local_res8 = ""; puVar5 = (undefined8 *)FUN_181249b30(&local_res20,7); local_60 = local_res8; pcVar2 = (char *)*puVar5; *puVar5 = local_res8; puVar8 = (uint *)(local_res20 + -0x10); local_res8 = pcVar2; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_18049c4e0(&local_res10,"soothe2"); FUN_181232e20(&local_res10,"_ManualFAQ.pdf","",in_R9,&local_res10); puVar8 = (uint *)(local_res10 + -0x10); bVar3 = true; if ((*puVar8 & 0x30000000) == 0) { LOCK(); *puVar8 = *puVar8 + 1; UNLOCK(); } puVar9 = (uint *)(local_res10 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar5 = (undefined8 *)FUN_181353210(local_70); puVar6 = (undefined8 *)FUN_181353df0(&local_78); local_58 = *puVar6; uVar7 = FUN_181245100(&local_res8,&local_80); local_50 = *puVar5; uVar7 = FUN_181245100(uVar7,&local_88); puVar5 = (undefined8 *)FUN_181245100(uVar7,&local_90,local_res10); local_48 = local_res8; pcVar2 = (char *)*puVar5; *puVar5 = local_res8; puVar9 = (uint *)(local_90 + -0x10); local_res8 = pcVar2; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_88 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_80 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_78 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_70[0] + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_res18 = &DAT_1821dbf98; if (*pcVar2 != '\0') { puVar5 = (undefined8 *)FUN_18049a930(local_40,&local_res8); DVar4 = GetFileAttributesW((LPCWSTR)*puVar5); if (DVar4 != 0xffffffff) goto LAB_1814d776c; } bVar3 = false; LAB_1814d776c: puVar10 = &DAT_1821dbf98; if (bVar3) { FUN_1812171f0(&local_res8,&local_res18); puVar10 = local_res18; } puVar8 = (uint *)(puVar10 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_res8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return; } ############ FUN_ 1812171f0 size=90 ############ bool FUN_1812171f0(undefined8 param_1) { LPCWSTR lpParameters; undefined8 *puVar1; HINSTANCE pHVar2; undefined1 local_res18 [8]; undefined1 local_res20 [8]; puVar1 = (undefined8 *)FUN_18049a930(local_res18); lpParameters = (LPCWSTR)*puVar1; puVar1 = (undefined8 *)FUN_18049a930(local_res20,param_1); pHVar2 = ShellExecuteW((HWND)0x0,(LPCWSTR)0x0,(LPCWSTR)*puVar1,lpParameters,(LPCWSTR)0x0,10); return (HINSTANCE)0x20 < pHVar2; } ############ FUN_ 1811ca580 size=313 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811ca580(undefined8 param_1,undefined8 *param_2) { uint uVar1; DWORD DVar2; undefined8 *puVar3; uint *puVar4; char *pcVar5; bool bVar6; undefined1 auStack_68 [32]; char *local_48; undefined8 *local_40; undefined8 local_38; undefined1 local_30 [8]; longlong *local_28; undefined1 local_20 [8]; ulonglong local_18; local_38 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_40 = param_2; puVar3 = (undefined8 *) .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (param_1,&local_28); (**(code **)(*(longlong *)*puVar3 + 0x20))((longlong *)*puVar3,&local_40,puVar3 + 1); FUN_181241890(&local_48,&local_40); puVar4 = (uint *)(local_40 + -2); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } (**(code **)(*local_28 + 0xb0))(local_28,local_20); if (*local_48 == '\0') { LAB_1811ca653: bVar6 = false; pcVar5 = local_48; } else { puVar3 = (undefined8 *)FUN_18049a930(local_30,&local_48); DVar2 = GetFileAttributesW((LPCWSTR)*puVar3); if (DVar2 == 0xffffffff) goto LAB_1811ca653; bVar6 = true; pcVar5 = local_48; } if (bVar6) { *param_2 = pcVar5; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); UNLOCK(); bVar6 = DAT_1821dbf88 == 0; DAT_1821dbf88 = DAT_1821dbf88 - 1; if (bVar6) { puVar4 = &DAT_1821dbf88; DAT_1821dbf88 = 0xffffffff; LAB_1811ca6a5: /* WARNING: Subroutine does not return */ free(puVar4); } } } else { FUN_1811542f0(param_2); puVar4 = (uint *)(pcVar5 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) goto LAB_1811ca6a5; } } } ############ FUN_ 181212f00 size=632 ############ bool FUN_181212f00(longlong *param_1) { uint uVar1; longlong *plVar2; LPCWSTR lpParameters; longlong *plVar3; int iVar4; undefined8 uVar5; undefined8 *puVar6; HINSTANCE pHVar7; uint *puVar8; longlong lVar9; longlong *local_res10; longlong *local_res18; longlong local_res20; undefined1 *local_68; longlong local_60; longlong *local_58; undefined8 local_50; char *local_48; longlong *local_40; undefined1 local_38 [8]; undefined1 local_30 [8]; local_50 = 0xfffffffffffffffe; uVar5 = FUN_1812147b0(param_1,&local_60); local_res20 = *param_1; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } local_res18 = &local_res20; puVar6 = (undefined8 *)FUN_181232d30(&local_res20,uVar5); plVar2 = (longlong *)*puVar6; if ((*(uint *)(plVar2 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(plVar2 + -2) = (int)plVar2[-2] + 1; UNLOCK(); } puVar8 = (uint *)(local_res20 + -0x10); local_res18 = plVar2; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_60 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } iVar4 = FUN_18049bc80(plVar2,0x40); if (-1 < iVar4) { iVar4 = FUN_18049bc80(plVar2,0x3a); if (iVar4 < 0) { FUN_18049c4e0(&local_res10,"mailto:"); plVar3 = local_res10; if ((char)*local_res10 == '\0') { if ((*(uint *)(plVar2 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(plVar2 + -2) = (int)plVar2[-2] + 1; UNLOCK(); } LOCK(); local_res10 = local_res18; UNLOCK(); puVar8 = (uint *)(plVar3 + -2); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } else { lVar9 = -1; do { lVar9 = lVar9 + 1; } while (*(char *)((longlong)plVar2 + lVar9) != '\0'); local_48 = (char *)((longlong)plVar2 + lVar9); FUN_181232e20(&local_res10,plVar2); } plVar2 = local_res18; local_58 = local_res10; if ((*(uint *)(local_res10 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = (int)local_res10[-2] + 1; UNLOCK(); } puVar8 = (uint *)(local_res10 + -2); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_40 = local_res18; local_res18 = local_res10; puVar8 = (uint *)(plVar2 + -2); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } } local_68 = &DAT_1821dbf98; puVar6 = (undefined8 *)FUN_18049a930(local_38,&local_68); lpParameters = (LPCWSTR)*puVar6; puVar6 = (undefined8 *)FUN_18049a930(local_30,&local_res18); pHVar7 = ShellExecuteW((HWND)0x0,(LPCWSTR)0x0,(LPCWSTR)*puVar6,lpParameters,(LPCWSTR)0x0,10); puVar8 = (uint *)(local_68 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_res18 + -2); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return (HINSTANCE)0x20 < pHVar7; } ############ FUN_ 181215f90 size=79 ############ bool FUN_181215f90(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; HMODULE pHVar2; undefined1 local_res8 [8]; if ((HMODULE)*param_1 != (HMODULE)0x0) { FreeLibrary((HMODULE)*param_1); *param_1 = 0; } puVar1 = (undefined8 *)FUN_18049a930(local_res8,param_2); pHVar2 = LoadLibraryW((LPCWSTR)*puVar1); *param_1 = pHVar2; return pHVar2 != (HMODULE)0x0; } ############ FUN_ 181217250 size=379 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181217250(longlong *param_1,longlong *param_2,byte *param_3,byte *param_4, undefined8 *param_5,ulonglong *param_6,ulonglong *param_7,byte *param_8) { int *_Memory; int iVar1; longlong lVar2; BOOL BVar3; undefined8 *puVar4; HANDLE pvVar5; undefined1 auStack_2e8 [32]; longlong local_2c8; undefined1 local_2c0 [8]; longlong local_2b8; _WIN32_FIND_DATAW local_2a8; ulonglong local_58; local_58 = DAT_182615970 ^ (ulonglong)auStack_2e8; lVar2 = *param_1; if (*(HANDLE *)(lVar2 + 8) == (HANDLE)0xffffffffffffffff) { puVar4 = (undefined8 *)FUN_18049a930(local_2c0,lVar2); pvVar5 = FindFirstFileW((LPCWSTR)*puVar4,&local_2a8); *(HANDLE *)(lVar2 + 8) = pvVar5; if (pvVar5 == (HANDLE)0xffffffffffffffff) { } } else { BVar3 = FindNextFileW(*(HANDLE *)(lVar2 + 8),&local_2a8); if (BVar3 == 0) { } } FUN_18049c800(&local_2c8,local_2a8.cFileName); local_2b8 = *param_2; *param_2 = local_2c8; _Memory = (int *)(local_2b8 + -0x10); if ((*(uint *)(local_2b8 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (param_3 != (byte *)0x0) { *param_3 = (byte)(local_2a8.dwFileAttributes >> 4) & 1; } if (param_4 != (byte *)0x0) { *param_4 = (byte)(local_2a8.dwFileAttributes >> 1) & 1; } if (param_8 != (byte *)0x0) { *param_8 = (byte)local_2a8.dwFileAttributes & 1; } if (param_5 != (undefined8 *)0x0) { *param_5 = CONCAT44(local_2a8.nFileSizeHigh,local_2a8.nFileSizeLow); } if (param_6 != (ulonglong *)0x0) { *param_6 = ((longlong)local_2a8.ftLastWriteTime + 0xfe624e212ac18000U) / 10000; } if (param_7 != (ulonglong *)0x0) { *param_7 = ((longlong)local_2a8.ftCreationTime + 0xfe624e212ac18000U) / 10000; } } ############ FUN_ 181217570 size=240 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181217570(longlong *param_1,longlong param_2) { uint uVar1; BOOL BVar2; undefined8 uVar3; undefined8 *puVar4; uint *_Memory; undefined1 auStackY_f8 [32]; longlong local_b8; longlong local_b0 [2]; undefined1 local_a0 [8]; WCHAR local_98 [64]; ulonglong local_18; local_b0[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStackY_f8; local_b0[0] = *param_1; if ((*(uint *)(local_b0[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_b0[0] + -0x10) = *(int *)(local_b0[0] + -0x10) + 1; UNLOCK(); } local_b8 = param_2; uVar3 = FUN_1812184a0(&local_b8,local_b0); puVar4 = (undefined8 *)FUN_18049a930(local_a0,uVar3); BVar2 = GetVolumeInformationW ((LPCWSTR)*puVar4,local_98,0x40,(LPDWORD)0x0,(LPDWORD)0x0,(LPDWORD)0x0, (LPWSTR)0x0,0); _Memory = (uint *)(local_b8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (BVar2 == 0) { local_98[0] = L'\0'; } FUN_18049c800(param_2,local_98); } ############ FUN_ 181217970 size=174 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181217970(undefined8 param_1,ulonglong *param_2,ulonglong *param_3,ulonglong *param_4) { BOOL BVar1; undefined8 *puVar2; undefined1 auStack_78 [32]; undefined1 local_58 [8]; undefined1 local_50 [4]; longlong local_4c; longlong local_44; longlong local_3c; ulonglong local_28; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; puVar2 = (undefined8 *)FUN_18049a930(local_58,param_1); BVar1 = GetFileAttributesExW((LPCWSTR)*puVar2,GetFileExInfoStandard,local_50); if (BVar1 == 0) { *param_2 = 0; *param_3 = 0; *param_4 = 0; } else { *param_2 = (local_3c + 0xfe624e212ac18000U) / 10000; *param_4 = (local_4c + 0xfe624e212ac18000U) / 10000; *param_3 = (local_44 + 0xfe624e212ac18000U) / 10000; } } ############ FUN_ 181217a30 size=95 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181217a30(undefined8 param_1) { BOOL BVar1; undefined8 *puVar2; undefined1 auStack_68 [32]; undefined1 local_48 [8]; undefined1 local_40 [40]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; puVar2 = (undefined8 *)FUN_18049a930(local_48,param_1); BVar1 = GetFileAttributesExW((LPCWSTR)*puVar2,GetFileExInfoStandard,local_40); if (BVar1 != 0) { } } ############ FUN_ 181217ae0 size=269 ############ void FUN_181217ae0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; HANDLE pvVar2; LPVOID pvVar3; longlong lVar4; undefined1 local_res8 [8]; _SYSTEM_INFO local_38; if (0 < (longlong)param_1[1]) { GetNativeSystemInfo(&local_38); lVar4 = param_1[1] - (longlong)param_1[1] % (longlong)(ulonglong)local_38.dwAllocationGranularity; param_1[1] = lVar4; if ((longlong)param_1[2] < lVar4) { param_1[2] = lVar4; } } puVar1 = (undefined8 *)FUN_18049a930(local_res8,param_2); pvVar2 = CreateFileW((LPCWSTR)*puVar1,0x80000000,5,(LPSECURITY_ATTRIBUTES)0x0,3,0x8000080, (HANDLE)0x0); if (pvVar2 != (HANDLE)0xffffffffffffffff) { param_1[3] = pvVar2; pvVar2 = CreateFileMappingW(pvVar2,(LPSECURITY_ATTRIBUTES)0x0,2, (DWORD)((ulonglong)param_1[2] >> 0x20),(DWORD)param_1[2], (LPCWSTR)0x0); if (pvVar2 != (HANDLE)0x0) { pvVar3 = MapViewOfFile(pvVar2,4,(DWORD)((ulonglong)param_1[1] >> 0x20),(DWORD)param_1[1], param_1[2] - param_1[1]); *param_1 = pvVar3; if (pvVar3 == (LPVOID)0x0) { param_1[1] = 0; param_1[2] = 0; } CloseHandle(pvVar2); } } return; } ############ FUN_ 181217d10 size=214 ############ void FUN_181217d10(longlong param_1) { uint uVar1; DWORD DVar2; undefined8 *puVar3; HANDLE hFile; uint *_Memory; undefined8 local_res8; longlong local_res10; undefined1 local_res18 [8]; undefined8 local_res20; puVar3 = (undefined8 *)FUN_18049a930(local_res18,param_1 + 0x10); hFile = CreateFileW((LPCWSTR)*puVar3,0x40000000,1,(LPSECURITY_ATTRIBUTES)0x0,4,0x80,(HANDLE)0x0); if (hFile != (HANDLE)0xffffffffffffffff) { local_res8 = 0; DVar2 = SetFilePointer(hFile,0,(PLONG)((longlong)&local_res8 + 4),2); local_res8 = CONCAT44(local_res8._4_4_,DVar2); if (DVar2 != 0xffffffff) { *(undefined8 *)(param_1 + 0x28) = local_res8; *(HANDLE *)(param_1 + 0x18) = hFile; return; } } puVar3 = (undefined8 *)FUN_1812181b0(&local_res10); local_res20 = *(undefined8 *)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = *puVar3; *puVar3 = local_res20; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 181217f00 size=159 ############ void FUN_181217f00(longlong param_1) { uint uVar1; undefined8 *puVar2; HANDLE pvVar3; uint *_Memory; longlong local_res8; undefined1 local_res10 [8]; undefined8 local_res18; puVar2 = (undefined8 *)FUN_18049a930(local_res10,param_1 + 8); pvVar3 = CreateFileW((LPCWSTR)*puVar2,0x80000000,7,(LPSECURITY_ATTRIBUTES)0x0,3,0x8000080, (HANDLE)0x0); if (pvVar3 != (HANDLE)0xffffffffffffffff) { *(HANDLE *)(param_1 + 0x10) = pvVar3; return; } puVar2 = (undefined8 *)FUN_1812181b0(&local_res8); local_res18 = *(undefined8 *)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = *puVar2; *puVar2 = local_res18; _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 181217fe0 size=234 ############ undefined8 * FUN_181217fe0(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; BOOL BVar2; undefined8 *puVar3; undefined8 **ppuVar4; uint *puVar5; bool bVar6; longlong local_res8; undefined8 *local_res10; undefined1 local_res20 [8]; local_res8 = param_1; local_res10 = param_2; puVar3 = (undefined8 *)FUN_18049a930(local_res20,param_3,param_3,param_4,0,0xfffffffffffffffe); BVar2 = CreateDirectoryW((LPCWSTR)*puVar3,(LPSECURITY_ATTRIBUTES)0x0); bVar6 = BVar2 == 0; if (bVar6) { ppuVar4 = (undefined8 **)FUN_1812181b0(&local_res8); } else { local_res10 = (undefined8 *)&DAT_1821dbf98; ppuVar4 = &local_res10; } *param_2 = *ppuVar4; *ppuVar4 = (undefined8 *)&DAT_1821dbf98; if ((bVar6) && (puVar5 = (uint *)(local_res8 + -0x10), (*puVar5 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } if ((!bVar6) && (puVar5 = (uint *)(local_res10 + -2), (*puVar5 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return param_2; } ############ FUN_ 1812180d0 size=89 ############ bool FUN_1812180d0(undefined8 param_1,undefined8 param_2) { LPCWSTR lpReplacementFileName; undefined8 *puVar1; BOOL BVar2; undefined1 local_res8 [8]; undefined1 local_res10 [8]; puVar1 = (undefined8 *)FUN_18049a930(local_res8,param_1); lpReplacementFileName = (LPCWSTR)*puVar1; puVar1 = (undefined8 *)FUN_18049a930(local_res10,param_2); BVar2 = ReplaceFileW((LPCWSTR)*puVar1,lpReplacementFileName,(LPCWSTR)0x0,6,(LPVOID)0x0,(LPVOID)0x0 ); return BVar2 != 0; } ############ FUN_ 181218130 size=67 ############ bool FUN_181218130(undefined8 param_1) { LPCWSTR lpNewFileName; undefined8 *puVar1; BOOL BVar2; undefined1 local_res8 [8]; undefined1 local_res10 [8]; puVar1 = (undefined8 *)FUN_18049a930(local_res8); lpNewFileName = (LPCWSTR)*puVar1; puVar1 = (undefined8 *)FUN_18049a930(local_res10,param_1); BVar2 = MoveFileW((LPCWSTR)*puVar1,lpNewFileName); return BVar2 != 0; } ############ FUN_ 181218640 size=42 ############ void FUN_181218640(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined1 local_res10 [24]; puVar1 = (undefined8 *)FUN_18049a930(local_res10,param_1,param_3,param_4,0xfffffffffffffffe); GetFileAttributesW((LPCWSTR)*puVar1); return; } ############ FUN_ 18122f740 size=25 ############ undefined8 FUN_18122f740(undefined8 param_1) { undefined8 *puVar1; undefined1 local_res10 [24]; puVar1 = (undefined8 *)FUN_18049a930(local_res10,param_1); return *puVar1; } ############ FUN_ 18122f8c0 size=29 ############ undefined8 FUN_18122f8c0(undefined8 param_1,undefined8 param_2) { FUN_18049a930(param_2,param_1); return param_2; } ############ FUN_ 181235f40 size=261 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181235f40(longlong param_1,undefined8 param_2,ulonglong param_3) { byte bVar1; byte *pbVar2; undefined8 *puVar3; uint uVar4; int iVar5; undefined1 auStack_68 [32]; undefined1 local_48 [8]; undefined1 local_40 [40]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; pbVar2 = *(byte **)(param_1 + 8); bVar1 = *pbVar2; while( true ) { if (bVar1 == 0) { if (*(char *)(param_1 + 0x10) != '\0') { puVar3 = (undefined8 *)FUN_18049a930(local_48,param_1 + 8,param_3); GetFileAttributesExW((LPCWSTR)*puVar3,GetFileExInfoStandard,local_40); } } pbVar2 = pbVar2 + 1; if ((char)bVar1 < '\0') break; LAB_181235fd6: bVar1 = *pbVar2; } uVar4 = 0x40; iVar5 = 0; param_3 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; param_3 = param_3 >> 1; iVar5 = iVar5 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } do { iVar5 = iVar5 + -1; if (iVar5 < 0) goto LAB_181235fd6; bVar1 = *pbVar2; param_3 = (ulonglong)bVar1; if ((bVar1 & 0xc0) != 0x80) goto LAB_181235fd6; param_3 = (ulonglong)(bVar1 & 0x3f); pbVar2 = pbVar2 + 1; } while( true ); } ############ FUN_ 18123fac0 size=123 ############ undefined8 FUN_18123fac0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { bool bVar1; char cVar2; DWORD DVar3; undefined8 *puVar4; undefined1 local_res8 [8]; if (*(char *)*param_1 != '\0') { puVar4 = (undefined8 *)FUN_18049a930(local_res8,param_1,param_3,param_4,0xfffffffffffffffe); DVar3 = GetFileAttributesW((LPCWSTR)*puVar4); if (DVar3 != 0xffffffff) { bVar1 = true; goto LAB_18123fb13; } } bVar1 = false; LAB_18123fb13: if ((bVar1) && (cVar2 = FUN_1812171f0(param_1,param_2), cVar2 != '\0')) { return 1; } return 0; } ############ FUN_ 181240c00 size=120 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181240c00(undefined8 param_1,ulonglong *param_2) { BOOL BVar1; undefined8 *puVar2; undefined1 auStack_68 [32]; undefined1 local_48 [8]; undefined1 local_40 [20]; longlong local_2c; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; puVar2 = (undefined8 *)FUN_18049a930(local_48,param_1); BVar1 = GetFileAttributesExW((LPCWSTR)*puVar2,GetFileExInfoStandard,local_40); if (BVar1 == 0) { *param_2 = 0; } else { *param_2 = (local_2c + 0xfe624e212ac18000U) / 10000; } } ############ FUN_ 181244e60 size=518 ############ undefined8 * FUN_181244e60(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { char *pcVar1; DWORD DVar2; int iVar3; uint uVar4; undefined8 *puVar5; uint *puVar6; bool bVar7; char *local_res8; longlong local_res18; longlong local_res20; undefined1 local_70 [8]; undefined1 local_68 [32]; char *local_48; if (*(char *)*param_1 != '\0') { puVar5 = (undefined8 *)FUN_18049a930(local_70,param_1,param_3,param_4,0xfffffffffffffffe); DVar2 = GetFileAttributesW((LPCWSTR)*puVar5); if (DVar2 != 0xffffffff) { bVar7 = true; goto LAB_181244eb6; } } bVar7 = false; LAB_181244eb6: if (bVar7) { *param_2 = &DAT_1821dbf98; return param_2; } FUN_181241230(param_1,&local_res18); if ((local_res18 == *param_1) || (iVar3 = FUN_18049bb30(), iVar3 == 0)) { FUN_18049c4e0(&local_res20,"Cannot create parent directory"); FUN_18123a0b0(param_2,&local_res20); puVar6 = (uint *)(local_res20 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_res18 + -0x10); uVar4 = *puVar6; } else { FUN_181244be0(&local_res18,&local_res8); if (*local_res8 == '\0') { FUN_18123ed20(local_68,param_1,8); pcVar1 = local_res8; if ((*(uint *)(local_48 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_48 + -0x10) = *(int *)(local_48 + -0x10) + 1; UNLOCK(); } LOCK(); local_res8 = local_48; UNLOCK(); puVar6 = (uint *)(pcVar1 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_18123ec40(local_68); } *param_2 = local_res8; local_res8 = ""; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar7 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar7) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } puVar6 = (uint *)(local_res18 + -0x10); uVar4 = *puVar6; } if ((uVar4 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return param_2; } ############ FUN_ 181245070 size=84 ############ undefined8 FUN_181245070(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { DWORD DVar1; undefined8 *puVar2; undefined1 local_res8 [32]; if (*(char *)*param_1 == '\0') { return CONCAT71((int7)((ulonglong)*param_1 >> 8),1); } puVar2 = (undefined8 *)FUN_18049a930(local_res8,param_1,param_3,param_4,0xfffffffffffffffe); DVar1 = GetFileAttributesW((LPCWSTR)*puVar2); if ((DVar1 != 0xffffffff) && (((byte)DVar1 & 0x11) == 1)) { return 0; } return 1; } ############ FUN_ 1812b9060 size=372 ############ void FUN_1812b9060(longlong param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 uVar3; uint uVar4; longlong lVar5; undefined8 *puVar6; uint *_Memory; int iVar7; bool bVar8; char *local_res8; undefined1 local_res18 [16]; undefined8 uVar9; void *local_90; undefined8 local_88; undefined1 local_80 [104]; uVar9 = 0xfffffffffffffffe; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); local_90 = (void *)0x0; local_88 = 0; iVar2 = *(int *)(param_1 + 0x44); uVar3 = *(undefined8 *)(param_1 + 0x38); iVar7 = 0; if (0 < iVar2) { FUN_1804dcaa0(&local_90,iVar2 + 8 + iVar2 / 2 & 0xfffffff8); iVar7 = local_88._4_4_; } FUN_1804e14e0(&local_90,uVar3,iVar2,param_4,uVar9); local_88 = CONCAT44(iVar7 + iVar2,(undefined4)local_88); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x8c)); lVar5 = FUN_1804db2a0(&local_90,local_80,param_2); if ((*(uint *)(*(longlong *)(lVar5 + 0x30) + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*(longlong *)(lVar5 + 0x30) + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } local_res8 = *(char **)(lVar5 + 0x30); LOCK(); UNLOCK(); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar8 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar8) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if (*local_res8 != '\0') { puVar6 = (undefined8 *)FUN_18049a930(local_res18,&local_res8); GetFileAttributesW((LPCWSTR)*puVar6); } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1804d7190(local_80); FUN_1804dca40(&local_90); /* WARNING: Subroutine does not return */ free(local_90); } ############ FUN_ 18132aec0 size=330 ############ void FUN_18132aec0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; uint uVar2; longlong *plVar3; DWORD DVar4; undefined8 *puVar5; longlong lVar6; uint *_Memory; int iVar7; bool bVar8; undefined8 *local_res10; undefined1 *local_res18; undefined1 local_res20 [8]; undefined8 uVar9; uVar9 = 0xfffffffffffffffe; puVar5 = (undefined8 *)FUN_18049a930(local_res20); DVar4 = GetFileAttributesW((LPCWSTR)*puVar5); if (((DVar4 & 0x10) == 0) || (DVar4 == 0xffffffff)) { bVar8 = false; } else { bVar8 = true; } if (bVar8) { FUN_18132bdc0(param_1 + -0xb0,param_2); if ((*(uint *)(param_1 + 0x40) & 0x108) == 8) { local_res18 = &DAT_1821dbf98; FUN_1812e1110(param_1 + 0x210,&local_res18,1,param_4,uVar9); _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } } else { FUN_1804de690(&local_res10,param_1 + -0xb0); puVar5 = local_res10; iVar7 = *(int *)(param_1 + 0x6c); bVar8 = local_res10 == (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 + 0x6c) <= iVar7) && (iVar7 = *(int *)(param_1 + 0x6c) + -1, iVar7 < 0)) break; plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x60) + (longlong)iVar7 * 8); (**(code **)(*plVar3 + 0x18))(plVar3,param_2); } if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_res10)(local_res10,1); } } } return; } ############ FUN_ 18132c320 size=174 ############ undefined8 FUN_18132c320(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; bool bVar2; char cVar3; DWORD DVar4; undefined8 *puVar5; undefined1 local_res10 [8]; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; puVar5 = (undefined8 *)FUN_18049a930(local_res10); DVar4 = GetFileAttributesW((LPCWSTR)*puVar5); if (((DVar4 & 0x10) == 0) || (DVar4 == 0xffffffff)) { bVar2 = false; } else { bVar2 = true; } if (bVar2) { if ((*(byte *)(param_1 + 0xf0) & 8) == 0) { return 0; } plVar1 = *(longlong **)(param_1 + 0xe8); if (plVar1 == (longlong *)0x0) { return 1; } cVar3 = (**(code **)(*plVar1 + 0x10))(plVar1,param_2); } else { if ((*(byte *)(param_1 + 0xf0) & 4) == 0) { return 0; } cVar3 = FUN_181245810(param_2); if (cVar3 == '\0') { return 0; } plVar1 = *(longlong **)(param_1 + 0xe8); if (plVar1 == (longlong *)0x0) { return 1; } cVar3 = (**(code **)(*plVar1 + 8))(plVar1,param_2,param_3,param_4,uVar6); } if (cVar3 == '\0') { return 0; } return 1; } ############ FUN_ 1814c6f90 size=359 ############ void FUN_1814c6f90(longlong param_1,longlong *param_2) { uint uVar1; bool bVar2; char cVar3; DWORD DVar4; undefined8 *puVar5; longlong *plVar6; undefined8 uVar7; uint *_Memory; undefined1 *local_res18; void *local_res20; void *local_38; undefined8 local_30; undefined1 local_28 [16]; local_30 = 0xfffffffffffffffe; if (*(char *)*param_2 != '\0') { puVar5 = (undefined8 *)FUN_18049a930(local_28); DVar4 = GetFileAttributesW((LPCWSTR)*puVar5); if ((DVar4 & 0x10) == 0) { bVar2 = true; goto LAB_1814c6fd9; } } bVar2 = false; LAB_1814c6fd9: if ((bVar2) && (cVar3 = FUN_1814c7100(), cVar3 != '\0')) { puVar5 = (undefined8 *)FUN_181225f50(&local_res20,param_2); FUN_1814c78b0(param_1,*puVar5); if (local_res20 != (void *)0x0) { FUN_1812472e0(local_res20); /* WARNING: Subroutine does not return */ free(local_res20); } plVar6 = (longlong *)FUN_1811f0330(*(undefined8 *)(param_1 + 0x138)); local_res18 = &DAT_1821dbf98; uVar7 = (**(code **)(*plVar6 + 0x10))(plVar6,&local_38,&local_res18); FUN_180487580(param_1 + 0x140,uVar7); if (local_38 != (void *)0x0) { FUN_1812472e0(local_38); /* WARNING: Subroutine does not return */ free(local_38); } *(undefined4 *)(param_1 + 0xe0) = 0xffffffff; FUN_1814c7ed0(param_1); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) != 0) { return; } LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); } else { if (*(longlong **)(param_1 + 0xd70) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(**(longlong **)(param_1 + 0xd70) + 0x10))(); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) != 0) { return; } LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); } if (uVar1 != 0) { return; } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18133f2f0 size=153 ############ void FUN_18133f2f0(longlong *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); (**(code **)(*param_1 + 0xf8))(param_1,param_2); puVar3 = local_res8; if (local_res8 == (undefined8 *)0x0) { lVar4 = 0; } else { lVar4 = local_res8[2]; } if (lVar4 != 0) { FUN_18133f200(param_1,param_2,&local_res8); } 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; } ############ FUN_ 18133f200 size=233 ############ void FUN_18133f200(longlong *param_1,undefined4 param_2,longlong *param_3,undefined8 param_4) { int *piVar1; int iVar2; byte bVar3; longlong *plVar4; longlong lVar5; byte bVar6; undefined8 *local_res8; plVar4 = DAT_182673708; do { if (plVar4 == param_1) { bVar6 = 1; LAB_18133f246: bVar3 = *(byte *)((longlong)param_1 + 0xa9); if ((bVar3 >> 5 & 1) != bVar6) { *(byte *)((longlong)param_1 + 0xa9) = (bVar6 << 5 ^ bVar3) & 0x20 ^ bVar3; (**(code **)(*param_1 + 0x100))(param_1,param_2,param_3,param_4,0xfffffffffffffffe); if (*param_3 == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(*param_3 + 0x10); } if (lVar5 == 0) { return; } } if (param_1[3] != 0) { FUN_1804de690(&local_res8); FUN_18133f200(param_1[3],param_2,&local_res8); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } } return; } if (plVar4 == (longlong *)0x0) { bVar6 = 0; goto LAB_18133f246; } plVar4 = (longlong *)plVar4[3]; } while( true ); } ############ FUN_ 1813437a0 size=240 ############ void FUN_1813437a0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; int iVar5; bool bVar6; undefined8 *local_res8; if (*(int *)((longlong)param_1 + 0x8c) == 0) { (**(code **)(*param_1 + 0x90))(); } else { FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); (**(code **)(*param_1 + 0x90))(param_1); puVar3 = local_res8; bVar6 = local_res8 == (undefined8 *)0x0; if (bVar6) { lVar4 = 0; } else { lVar4 = local_res8[2]; } if (lVar4 != 0) { iVar5 = *(int *)((longlong)param_1 + 0x8c); while( true ) { if (bVar6) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar5 < 1)) break; iVar5 = iVar5 + -1; if ((*(int *)((longlong)param_1 + 0x8c) <= iVar5) && (iVar5 = *(int *)((longlong)param_1 + 0x8c) + -1, iVar5 < 0)) break; plVar2 = *(longlong **)(param_1[0x10] + (longlong)iVar5 * 8); (**(code **)(*plVar2 + 0x20))(plVar2,param_1); } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res8)(local_res8,1); } } } return; } ############ FUN_ 18134b590 size=408 ############ bool FUN_18134b590(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; int iVar3; longlong lVar4; undefined8 *puVar5; longlong *plVar6; longlong lVar7; longlong lVar8; uint uVar9; undefined8 *local_res10; undefined8 *local_res18; undefined8 *local_res20; undefined8 uVar10; uVar10 = 0xfffffffffffffffe; plVar6 = (longlong *)FUN_1804fc440(); iVar3 = *(int *)((longlong)plVar6 + 0xc); uVar9 = iVar3 - 1; lVar8 = (longlong)(int)uVar9; if (-1 < (int)uVar9) { do { if (uVar9 < *(uint *)((longlong)plVar6 + 0xc)) { lVar4 = *(longlong *)(*plVar6 + lVar8 * 8); if (lVar4 != 0) { puVar5 = *(undefined8 **)(lVar4 + 0x50); lVar7 = 0; if (puVar5 != (undefined8 *)0x0) { lVar7 = puVar5[2]; } if (lVar7 != 0) { *(undefined8 *)(lVar4 + 0x50) = 0; local_res18 = puVar5; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1,param_3,param_4,uVar10); } } FUN_181341b10(lVar4); } if (*(longlong *)(lVar4 + 0xb0) == 0) { if ((*(byte *)(lVar4 + 0xa8) >> 1 & 1) != 0) { FUN_1804de690(&local_res10,lVar4); puVar5 = *(undefined8 **)(lVar4 + 0x158); *(undefined8 *)(lVar4 + 0x158) = 0; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } local_res20 = *(undefined8 **)(lVar4 + 0x150); *(undefined8 *)(lVar4 + 0x150) = 0; if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res20 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res20)(local_res20,1); } } FUN_181343150(lVar4,0); if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res10)(local_res10,1); } } } } else { FUN_1804fbaf0(*(longlong *)(lVar4 + 0xb0),0); } } } uVar9 = uVar9 - 1; lVar8 = lVar8 + -1; } while (-1 < lVar8); } return 0 < iVar3; } ############ FUN_ 1804fb940 size=429 ############ void FUN_1804fb940(longlong *param_1,longlong param_2,char param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; char cVar4; ulonglong uVar5; undefined8 uVar6; ulonglong uVar7; ulonglong uVar8; undefined8 *local_res8; undefined1 local_68 [64]; if ((*(byte *)(param_1 + 0x15) >> 1 & 1) == 0) { return; } FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); puVar3 = (undefined8 *)param_1[0x2b]; uVar7 = 0; param_1[0x2b] = 0; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } puVar3 = (undefined8 *)param_1[0x2a]; param_1[0x2a] = 0; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if (((param_2 != 0) && (*(longlong *)(param_2 + 0x70) != 0)) && (*(int *)(param_2 + 8) != 0)) { *(longlong *)param_1[0x22] = *(longlong *)(param_2 + 0x70); } if (*(char *)((longlong)param_1 + 0xf4) != '\0') { uVar5 = uVar7; if (param_1[0x1b] != 0) { uVar5 = *(ulonglong *)(param_1[0x1b] + 0x10); } uVar8 = uVar7; if (uVar5 == 0) goto LAB_1804fba51; } if (param_2 == 0) { uVar8 = 0; } else { if (*(longlong **)(param_2 + 0x68) != (longlong *)0x0) { cVar4 = (**(code **)(**(longlong **)(param_2 + 0x68) + 8))(); uVar8 = 0; if (cVar4 == '\0') goto LAB_1804fba51; } uVar8 = (ulonglong)*(uint *)(param_2 + 8); } LAB_1804fba51: FUN_181343150(param_1,uVar8); puVar3 = local_res8; if (param_3 != '\0') { if (local_res8 != (undefined8 *)0x0) { uVar7 = local_res8[2]; } if (uVar7 != 0) { (**(code **)(*param_1 + 0x58))(param_1,0); } } if ((((int)uVar8 != 0) && (param_2 != 0)) && (*(longlong *)(param_2 + 0x48) != 0)) { uVar6 = FUN_1804871c0(local_68,param_2 + 0x10); FUN_1812a7460(uVar6); } 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; } ############ FUN_ 18051e7b0 size=383 ############ void FUN_18051e7b0(longlong param_1,longlong *param_2,code *param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; int iVar3; char cVar4; longlong lVar5; longlong *local_40; undefined8 *local_38 [2]; if (*param_2 == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(*param_2 + 0x10); } if (lVar5 != 0) { plVar2 = *(longlong **)(param_1 + 0x70); if (plVar2 != (longlong *)0x0) { iVar3 = *(int *)((longlong)plVar2 + 0xc); while (iVar3 = iVar3 + -1, -1 < iVar3) { (*param_3)(*(undefined8 *)(*plVar2 + (longlong)iVar3 * 8),param_4); if (*param_2 == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(*param_2 + 0x10); } if (lVar5 == 0) { return; } if (*(int *)((longlong)plVar2 + 0xc) < iVar3) { iVar3 = *(int *)((longlong)plVar2 + 0xc); } } } for (lVar5 = *(longlong *)(param_1 + 0x18); lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x18)) { plVar2 = *(longlong **)(lVar5 + 0x70); if ((plVar2 != (longlong *)0x0) && (0 < (int)plVar2[2])) { local_40 = param_2; FUN_1804de690(local_38,lVar5); iVar3 = (int)plVar2[2]; while (iVar3 = iVar3 + -1, -1 < iVar3) { (*param_3)(*(undefined8 *)(*plVar2 + (longlong)iVar3 * 8),param_4); cVar4 = FUN_1804e4a60(&local_40); if (cVar4 != '\0') { if (local_38[0] == (undefined8 *)0x0) { return; } LOCK(); piVar1 = (int *)(local_38[0] + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 != 1) { return; } (**(code **)*local_38[0])(local_38[0],1); return; } if ((int)plVar2[2] < iVar3) { iVar3 = (int)plVar2[2]; } } if (local_38[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_38[0] + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_38[0])(local_38[0],1); } } } } } return; } ############ FUN_ 180501f20 size=270 ############ void FUN_180501f20(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; longlong lVar5; int iVar6; bool bVar7; undefined8 *local_res8; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; (**(code **)(**(longlong **)(param_1 + 0x18) + 0x160))(); *(undefined4 *)(param_1 + 0x1e0) = 0xffffffff; FUN_1804de690(&local_res8,*(undefined8 *)(param_1 + 0x18),param_3,param_4,uVar8); puVar3 = local_res8; iVar6 = *(int *)(param_1 + 0x34); bVar7 = local_res8 != (undefined8 *)0x0; lVar5 = 0; while( true ) { lVar4 = lVar5; if (bVar7) { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(param_1 + 0x34) <= iVar6) && (iVar6 = *(int *)(param_1 + 0x34) + -1, iVar6 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x28) + (longlong)iVar6 * 8); (**(code **)(*plVar2 + 0x18))(plVar2,*(undefined8 *)(param_1 + 0x18)); } if (bVar7) { lVar5 = puVar3[2]; } if ((lVar5 != 0) && (*(longlong *)(*(longlong *)(param_1 + 0x18) + 0x178) != 0)) { plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x18) + 0x178); if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar2 + 0x10))(); } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1812d21d0 size=353 ############ char FUN_1812d21d0(undefined8 param_1,undefined1 param_2) { int *piVar1; longlong *plVar2; longlong *plVar3; int iVar4; undefined8 *puVar5; char cVar6; longlong *plVar7; longlong lVar8; bool bVar9; undefined8 *local_res18; plVar7 = (longlong *)FUN_1812d2590(); while( true ) { if (plVar7 == (longlong *)0x0) { return '\0'; } FUN_1804de690(&local_res18,plVar7); cVar6 = (**(code **)(*plVar7 + 0xe0))(plVar7,param_2); puVar5 = local_res18; if (cVar6 != '\0') break; bVar9 = local_res18 == (undefined8 *)0x0; if (bVar9) { lVar8 = 0; } else { lVar8 = local_res18[2]; } if (lVar8 == 0) break; plVar2 = (longlong *)plVar7[0xf]; if (plVar2 != (longlong *)0x0) { iVar4 = *(int *)((longlong)plVar2 + 0xc); while (iVar4 = iVar4 + -1, -1 < iVar4) { plVar3 = *(longlong **)(*plVar2 + (longlong)iVar4 * 8); cVar6 = (**(code **)(*plVar3 + 0x10))(plVar3,param_2,plVar7); if (cVar6 != '\0') goto LAB_1812d22ee; if (bVar9) { lVar8 = 0; } else { lVar8 = puVar5[2]; } if (lVar8 == 0) goto LAB_1812d22ee; if (*(int *)((longlong)plVar2 + 0xc) < iVar4) { iVar4 = *(int *)((longlong)plVar2 + 0xc); } } } if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*local_res18)(local_res18,1); } } plVar7 = (longlong *)plVar7[3]; } LAB_1812d22ee: if (puVar5 == (undefined8 *)0x0) { return cVar6; } LOCK(); piVar1 = (int *)(puVar5 + 1); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 != 1) { return cVar6; } (**(code **)*local_res18)(local_res18,1); return cVar6; } ############ FUN_ 1812d2340 size=523 ############ bool FUN_1812d2340(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong *plVar3; longlong *plVar4; bool bVar5; undefined8 *puVar6; char cVar7; char cVar8; wint_t wVar9; wint_t wVar10; longlong *plVar11; longlong lVar12; longlong lVar13; int iVar14; undefined8 *local_res18; undefined8 uVar15; uVar15 = 0xfffffffffffffffe; cVar7 = false; plVar11 = (longlong *)FUN_1812d2590(); while( true ) { if (plVar11 == (longlong *)0x0) { return (bool)cVar7; } FUN_1804de690(&local_res18,plVar11); puVar6 = local_res18; plVar3 = (longlong *)plVar11[0xf]; if (plVar3 != (longlong *)0x0) { iVar14 = *(int *)((longlong)plVar3 + 0xc); while (iVar14 = iVar14 + -1, -1 < iVar14) { plVar4 = *(longlong **)(*plVar3 + (longlong)iVar14 * 8); cVar7 = (**(code **)(*plVar4 + 8))(plVar4,param_2,plVar11,param_4,uVar15); if (cVar7 != '\0') goto LAB_1812d2508; if (puVar6 == (undefined8 *)0x0) { lVar12 = 0; } else { lVar12 = puVar6[2]; } if (lVar12 == 0) goto LAB_1812d2508; if (*(int *)((longlong)plVar3 + 0xc) < iVar14) { iVar14 = *(int *)((longlong)plVar3 + 0xc); } } } cVar7 = (**(code **)(*plVar11 + 0xd8))(plVar11,param_2); lVar12 = DAT_182673708; if (cVar7 != '\0') break; if (puVar6 == (undefined8 *)0x0) { lVar13 = 0; } else { lVar13 = puVar6[2]; } if (lVar13 == 0) break; cVar7 = false; if (DAT_182673708 != 0) { iVar14 = 9; cVar8 = FUN_181338a70(param_2); if (param_2[1] == 1) { iVar2 = *param_2; if (iVar2 != iVar14) { if (iVar2 < 0x100) { wVar9 = towlower((wint_t)iVar2); wVar10 = towlower(9); if (wVar9 == wVar10) goto LAB_1812d2482; } goto LAB_1812d2486; } LAB_1812d2482: bVar5 = true; } else { LAB_1812d2486: bVar5 = false; } if ((cVar8 != '\0') || (bVar5)) { FUN_18133ebe0(lVar12,cVar8); cVar7 = lVar12 != DAT_182673708; if (!(bool)cVar7) { if (puVar6 == (undefined8 *)0x0) { lVar12 = 0; } else { lVar12 = puVar6[2]; } if (lVar12 != 0) goto LAB_1812d24c5; } if (puVar6 == (undefined8 *)0x0) { return (bool)cVar7; } LOCK(); piVar1 = (int *)(puVar6 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); goto LAB_1812d2519; } } LAB_1812d24c5: if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { (**(code **)*local_res18)(local_res18,1); } } plVar11 = (longlong *)plVar11[3]; } LAB_1812d2508: if (puVar6 == (undefined8 *)0x0) { return (bool)cVar7; } LOCK(); piVar1 = (int *)(puVar6 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); LAB_1812d2519: if (iVar14 != 1) { return (bool)cVar7; } (**(code **)*local_res18)(local_res18,1); return (bool)cVar7; } ############ FUN_ 18133ebe0 size=341 ############ /* WARNING: Removing unreachable block (ram,0x00018133ed1b) */ void FUN_18133ebe0(longlong *param_1,char param_2) { int *piVar1; int iVar2; undefined8 *puVar3; char cVar4; longlong *plVar5; longlong lVar6; longlong lVar7; undefined8 *local_res8; if (param_1[3] != 0) { plVar5 = (longlong *)(**(code **)(*param_1 + 0xa8))(); if (plVar5 != (longlong *)0x0) { if (param_2 == '\0') { lVar6 = (**(code **)(*plVar5 + 0x10))(plVar5,param_1); } else { lVar6 = (**(code **)(*plVar5 + 8))(); } lVar7 = 0; if (plVar5 != (longlong *)0x0) { (**(code **)*plVar5)(plVar5,1); } if (lVar6 != 0) { cVar4 = FUN_181343030(lVar6); if (cVar4 != '\0') { FUN_1804de690(&local_res8,lVar6); FUN_181341760(); puVar3 = local_res8; if (local_res8 != (undefined8 *)0x0) { lVar7 = local_res8[2]; } if ((lVar7 == 0) || (cVar4 = FUN_181343030(lVar6), cVar4 != '\0')) { if (puVar3 == (undefined8 *)0x0) { return; } LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 != 1) { return; } (**(code **)*local_res8)(local_res8,1); return; } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } } FUN_18133ed60(lVar6,1,1); return; } } FUN_18133ebe0(param_1[3],param_2); } return; } ############ FUN_ 1804783a0 size=690 ############ undefined8 * FUN_1804783a0(undefined8 *param_1,undefined8 param_2,longlong *param_3) { int *piVar1; LPCRITICAL_SECTION lpCriticalSection; int iVar2; longlong lVar3; longlong lVar4; longlong *plVar5; longlong lVar6; undefined8 *local_res18; LPCRITICAL_SECTION local_res20; undefined1 local_58 [16]; undefined8 local_48; undefined8 uStack_40; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; lVar6 = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = juce::JuceVST3EditController::JuceVST3Editor::ContentWrapperComponent::vftable; lpCriticalSection = (LPCRITICAL_SECTION)(param_3 + 0x14); local_res20 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); lVar4 = param_3[5]; lVar3 = lVar6; if (lVar4 != 0) { lVar3 = *(longlong *)(lVar4 + 0x10); } if (lVar3 == 0) { lVar4 = (**(code **)(*param_3 + 0xa8))(param_3); if (lVar4 != 0) { plVar5 = (longlong *)FUN_1804de690(&local_res18,lVar4); lVar6 = param_3[5]; param_3[5] = *plVar5; *plVar5 = lVar6; if (local_res18 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res18 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res18)(local_res18,1); } } } } else { if (lVar4 != 0) { lVar6 = *(longlong *)(lVar4 + 0x10); } lVar4 = __RTDynamicCast(lVar6,0,&juce::Component::RTTI_Type_Descriptor, &juce::AudioProcessorEditor::RTTI_Type_Descriptor,0); } LeaveCriticalSection(lpCriticalSection); param_1[0x16] = lVar4; param_1[0x17] = param_2; *(undefined8 *)((longlong)param_1 + 0xc4) = 0; *(undefined8 *)((longlong)param_1 + 0xcc) = 0; *(undefined2 *)((longlong)param_1 + 0xd4) = 0; FUN_18134bd50(param_1,1); *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) | 4; if (param_1[0x16] != 0) { plVar5 = (longlong *)param_1[0x16]; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x58))(plVar5,1); FUN_181343cc0(param_1,plVar5,0xffffffff); } lVar4 = param_1[0x16]; FUN_18134bfe0(lVar4,0,0,*(undefined4 *)(lVar4 + 0x28),*(undefined4 *)(lVar4 + 0x2c)); if (param_1[0x16] == 0) { local_58 = ZEXT816(0); } else { uStack_40 = *(undefined8 *)(param_1[0x16] + 0x28); local_48 = 0; FUN_18051df30(local_58,param_1,param_1[0x16],&local_48); } *(undefined1 (*) [16])((longlong)param_1 + 0xc4) = local_58; *(undefined1 *)((longlong)param_1 + 0xd5) = 1; FUN_18134bfe0(param_1,local_58._0_8_,local_58._0_8_ >> 0x20,local_58._8_4_,local_58._12_4_); *(undefined1 *)((longlong)param_1 + 0xd5) = 0; FUN_1804789b0(param_1); } return param_1; } ############ FUN_ 181344840 size=406 ############ void FUN_181344840(longlong *param_1,char param_2,ulonglong param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; int iVar5; undefined8 *local_res20; FUN_1804de690(&local_res20,param_1,param_3,param_4,0xfffffffffffffffe); puVar3 = local_res20; if (param_2 != '\0') { (**(code **)(*param_1 + 0x110))(param_1); if (puVar3 == (undefined8 *)0x0) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if (lVar4 == 0) goto LAB_18134499a; } if ((char)param_3 != '\0') { (**(code **)(*param_1 + 0x108))(param_1); if (puVar3 == (undefined8 *)0x0) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if (lVar4 == 0) goto LAB_18134499a; iVar5 = *(int *)((longlong)param_1 + 0x4c); while (iVar5 = iVar5 + -1, -1 < iVar5) { (**(code **)(**(longlong **)(param_1[8] + (longlong)iVar5 * 8) + 0x120))(); if (puVar3 == (undefined8 *)0x0) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if (lVar4 == 0) goto LAB_18134499a; if (*(int *)((longlong)param_1 + 0x4c) < iVar5) { iVar5 = *(int *)((longlong)param_1 + 0x4c); } } } plVar2 = (longlong *)param_1[3]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x118))(plVar2,param_1); } if (puVar3 == (undefined8 *)0x0) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if (lVar4 != 0) { iVar5 = *(int *)((longlong)param_1 + 0x8c); while( true ) { if (puVar3 == (undefined8 *)0x0) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar5 < 1)) break; iVar5 = iVar5 + -1; if ((*(int *)((longlong)param_1 + 0x8c) <= iVar5) && (iVar5 = *(int *)((longlong)param_1 + 0x8c) + -1, iVar5 < 0)) break; plVar2 = *(longlong **)(param_1[0x10] + (longlong)iVar5 * 8); (**(code **)(*plVar2 + 8))(plVar2,param_1,param_2,param_3 & 0xff); } } LAB_18134499a: if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res20)(local_res20,1); } } return; } ############ FUN_ 18133e970 size=294 ############ void FUN_18133e970(longlong param_1,byte param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; byte bVar2; longlong *plVar3; code *pcVar4; undefined8 *puVar5; char cVar6; longlong lVar7; int iVar8; bool bVar9; undefined8 *local_res8; undefined8 uVar10; uVar10 = 0xfffffffffffffffe; bVar2 = *(byte *)(param_1 + 0xa9); if ((bVar2 >> 4 & 1) == param_2) { *(byte *)(param_1 + 0xa9) = ((param_2 == 0) << 4 ^ bVar2) & 0x10 ^ bVar2; lVar7 = *(longlong *)(param_1 + 0x18); if ((lVar7 == 0) || (((*(byte *)(lVar7 + 0xa9) & 0x10) == 0 && ((*(longlong *)(lVar7 + 0x18) == 0 || (cVar6 = FUN_18133eaa0(), cVar6 != '\0')))))) { FUN_18133e890(param_1); } FUN_1804de690(&local_res8,param_1); puVar5 = local_res8; iVar8 = *(int *)(param_1 + 0x8c); bVar9 = local_res8 == (undefined8 *)0x0; while( true ) { if (bVar9) { lVar7 = 0; } else { lVar7 = puVar5[2]; } if ((lVar7 == 0) || (iVar8 < 1)) break; iVar8 = iVar8 + -1; if ((*(int *)(param_1 + 0x8c) <= iVar8) && (iVar8 = *(int *)(param_1 + 0x8c) + -1, iVar8 < 0)) break; plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x80) + (longlong)iVar8 * 8); pcVar4 = *(code **)(*plVar3 + 0x40); if (pcVar4 != .?AVSoothe2Grid@@::vtbl___AVSoothe2Grid__) { (*pcVar4)(plVar3,param_1,pcVar4,param_4,uVar10); } } if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_res8)(local_res8,1); } } } return; } ############ FUN_ 18133e890 size=208 ############ void FUN_18133e890(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; longlong lVar5; uint uVar6; bool bVar7; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); (**(code **)(*param_1 + 0xb0))(param_1); puVar3 = local_res8; bVar7 = local_res8 == (undefined8 *)0x0; if (bVar7) { lVar5 = 0; } else { lVar5 = local_res8[2]; } if (lVar5 != 0) { uVar6 = *(int *)((longlong)param_1 + 0x4c) - 1; lVar5 = (longlong)(int)uVar6; if (-1 < (int)uVar6) { do { if ((uVar6 < *(uint *)((longlong)param_1 + 0x4c)) && (*(longlong *)(param_1[8] + lVar5 * 8) != 0)) { FUN_18133e890(); if (bVar7) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if (lVar4 == 0) break; } uVar6 = uVar6 - 1; lVar5 = lVar5 + -1; } while (-1 < lVar5); } } 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; } ############ FUN_ 1813367f0 size=266 ############ void FUN_1813367f0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; longlong lVar5; int iVar6; bool bVar7; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); (**(code **)(*param_1 + 0x178))(param_1); puVar3 = local_res8; bVar7 = local_res8 != (undefined8 *)0x0; lVar5 = 0; lVar4 = lVar5; if (bVar7) { lVar4 = local_res8[2]; } if (lVar4 != 0) { iVar6 = *(int *)((longlong)param_1 + 0x16c); while( true ) { lVar4 = lVar5; if (bVar7) { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)((longlong)param_1 + 0x16c) <= iVar6) && (iVar6 = *(int *)((longlong)param_1 + 0x16c) + -1, iVar6 < 0)) break; plVar2 = *(longlong **)(param_1[0x2c] + (longlong)iVar6 * 8); (**(code **)(*plVar2 + 0x10))(plVar2,param_1); } if (bVar7) { lVar5 = puVar3[2]; } if ((lVar5 != 0) && (param_1[0x27] != 0)) { if ((longlong *)param_1[0x27] == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*(longlong *)param_1[0x27] + 0x10))(); } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 181336910 size=352 ############ void FUN_181336910(longlong *param_1,undefined8 param_2,undefined1 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; longlong lVar5; int iVar6; bool bVar7; undefined8 *local_res8; int local_50 [4]; longlong *local_40; undefined8 local_38; undefined4 local_30; undefined1 local_2c; undefined4 local_28; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); lVar5 = 0; if ((param_1[0x30] != 0) && (*(int *)((longlong)param_1 + 0x19c) != 0)) { local_50[1] = 0; local_38 = 0; local_30 = 0; local_2c = 0; local_28 = 0; local_50[2] = 3; local_50[0] = *(int *)((longlong)param_1 + 0x19c); local_40 = param_1; FUN_1812cb380(param_1[0x30],local_50,1); } (**(code **)(*param_1 + 0x160))(param_1,param_2); puVar3 = local_res8; bVar7 = local_res8 != (undefined8 *)0x0; lVar4 = lVar5; if (bVar7) { lVar4 = local_res8[2]; } if (lVar4 != 0) { iVar6 = *(int *)((longlong)param_1 + 0x16c); while( true ) { lVar4 = lVar5; if (bVar7) { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)((longlong)param_1 + 0x16c) <= iVar6) && (iVar6 = *(int *)((longlong)param_1 + 0x16c) + -1, iVar6 < 0)) break; plVar2 = *(longlong **)(param_1[0x2c] + (longlong)iVar6 * 8); (**(code **)(*plVar2 + 8))(plVar2,param_1); } if (bVar7) { lVar5 = puVar3[2]; } if ((lVar5 != 0) && (param_1[0x1f] != 0)) { if ((longlong *)param_1[0x1f] == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*(longlong *)param_1[0x1f] + 0x10))(); } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 181336f60 size=267 ############ void FUN_181336f60(longlong param_1,undefined4 param_2,undefined4 param_3) { int *piVar1; longlong *plVar2; int iVar3; undefined8 *puVar4; longlong lVar5; longlong *plVar6; undefined8 *local_res8; lVar5 = *(longlong *)(param_1 + 0x18); if ((lVar5 != 0) && (*(int *)(param_1 + 0x194) != 0)) { FUN_1804de690(&local_res8,param_1); puVar4 = local_res8; plVar6 = *(longlong **)(lVar5 + 0x40); plVar2 = plVar6 + *(int *)(lVar5 + 0x4c); if (plVar6 != plVar2) { do { if (((*plVar6 != param_1) && (lVar5 = __RTDynamicCast(*plVar6,0,&juce::Component::RTTI_Type_Descriptor, &juce::Button::RTTI_Type_Descriptor,0), lVar5 != 0)) && (*(int *)(lVar5 + 0x194) == *(int *)(param_1 + 0x194))) { FUN_181337080(lVar5,0,param_2,param_3); lVar5 = 0; if (puVar4 != (undefined8 *)0x0) { lVar5 = puVar4[2]; } if (lVar5 == 0) break; } plVar6 = plVar6 + 1; } while (plVar6 != plVar2); } if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res8)(local_res8,1); } } } return; } ############ FUN_ 1812cc1e0 size=135 ############ void FUN_1812cc1e0(longlong *param_1,char param_2,undefined8 param_3,undefined8 param_4) { undefined4 uVar1; undefined1 local_res8 [16]; if (*(char *)((longlong)param_1 + 0xb1) != param_2) { FUN_1804de690(local_res8,DAT_182673708,param_3,param_4,0xfffffffffffffffe); *(char *)((longlong)param_1 + 0xb1) = param_2; if ((*(byte *)(param_1 + 0x15) & 1) != 0) { uVar1 = (**(code **)(*param_1 + 0x160))(param_1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,uVar1,0); FUN_181344f60(param_1,1); } FUN_181341b10(param_1); FUN_1804e4a90(local_res8); } return; } ############ FUN_ 18050cf50 size=320 ############ undefined8 * FUN_18050cf50(undefined8 *param_1,longlong param_2,undefined4 *param_3) { undefined4 uVar1; undefined4 uVar2; undefined4 uVar3; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = juce::DropShadower::ShadowWindow::vftable; FUN_1804de690(); uVar1 = param_3[1]; uVar2 = param_3[2]; uVar3 = param_3[3]; *(undefined4 *)(param_1 + 0x17) = *param_3; *(undefined4 *)((longlong)param_1 + 0xbc) = uVar1; *(undefined4 *)(param_1 + 0x18) = uVar2; *(undefined4 *)((longlong)param_1 + 0xc4) = uVar3; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,1); *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xef | 8; if ((*(byte *)(param_2 + 0xa8) & 1) == 0) { if (*(longlong *)(param_2 + 0x18) != 0) { FUN_181343cc0(*(longlong *)(param_2 + 0x18),param_1,0xffffffff); } } else { FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 4),*(undefined4 *)((longlong)param_1 + 0x24),1,1 ); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,0x406,0); } return param_1; } ############ FUN_ 1804dcbc0 size=80 ############ undefined8 * FUN_1804dcbc0(undefined8 *param_1) { int *piVar1; int iVar2; undefined8 *puVar3; undefined8 *local_res8 [2]; undefined8 local_res18; puVar3 = (undefined8 *)FUN_1804de690(local_res8); local_res18 = *param_1; *param_1 = *puVar3; *puVar3 = local_res18; if (local_res8[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8[0] + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8[0])(local_res8[0],1); } } return param_1; } ############ FUN_ 1804e6010 size=556 ############ void FUN_1804e6010(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; int iVar3; undefined4 uVar4; undefined8 *puVar5; longlong lVar6; undefined8 *puVar7; longlong lVar8; bool bVar9; undefined8 *local_res8; longlong local_res10; undefined8 *local_88; longlong local_80; longlong *local_78; undefined8 local_70; undefined1 local_68 [8]; undefined8 local_60; longlong *local_58; undefined1 local_50 [24]; local_70 = 0xfffffffffffffffe; lVar8 = 0; lVar6 = lVar8; if (*(longlong *)(param_1 + 0x48) != 0) { lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x48) + 0x10); } if (param_2 != lVar6) { FUN_1804de690(&local_res8); uVar4 = *(undefined4 *)(param_1 + 0x28); if (lVar6 != 0) { FUN_1804de690(&local_88,lVar6); FUN_1804e5c30(param_1,param_3,param_4,0); puVar7 = local_88; lVar6 = lVar8; if (local_88 != (undefined8 *)0x0) { lVar6 = local_88[2]; } if (lVar6 != 0) { FUN_1804a9e60(param_1 + 0x48,&local_res8); local_78 = &local_res10; local_res10 = param_1; puVar5 = (undefined8 *)FUN_1804e5790(local_68,lVar6,param_3); FUN_181341050(lVar6,&local_res10,*puVar5,param_4); } *(undefined4 *)(param_1 + 0x28) = uVar4; if (puVar7 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar7 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_88)(local_88,1); } } } puVar7 = local_res8; bVar9 = local_res8 != (undefined8 *)0x0; lVar6 = lVar8; if (bVar9) { lVar6 = local_res8[2]; } puVar5 = (undefined8 *)FUN_1804de690(&local_78,lVar6); local_60 = *(undefined8 *)(param_1 + 0x48); *(undefined8 *)(param_1 + 0x48) = *puVar5; *puVar5 = local_60; if (local_78 != (longlong *)0x0) { LOCK(); plVar2 = local_78 + 1; lVar6 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); puVar7 = local_res8; if ((int)lVar6 == 1) { (**(code **)*local_78)(local_78,1); puVar7 = local_res8; } } if (bVar9) { lVar8 = puVar7[2]; } if (lVar8 != 0) { local_58 = &local_80; local_80 = param_1; puVar5 = (undefined8 *)FUN_1804e5790(local_50,lVar8,param_3); FUN_1813412b0(lVar8,&local_80,*puVar5,param_4); } FUN_1804e6e90(param_1,0); FUN_1804e5c30(param_1,param_3,param_4,uVar4); if (puVar7 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar7 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res8)(local_res8,1); } } } return; } ############ FUN_ 18051e930 size=401 ############ void FUN_18051e930(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { int *piVar1; longlong *plVar2; int iVar3; char cVar4; longlong lVar5; longlong *local_40; undefined8 *local_38 [2]; if (*param_2 == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(*param_2 + 0x10); } if (lVar5 != 0) { plVar2 = *(longlong **)(param_1 + 0x70); if (plVar2 != (longlong *)0x0) { iVar3 = *(int *)((longlong)plVar2 + 0xc); while (iVar3 = iVar3 + -1, -1 < iVar3) { FUN_1805261b0(*(undefined8 *)(*plVar2 + (longlong)iVar3 * 8),param_4,param_5); if (*param_2 == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(*param_2 + 0x10); } if (lVar5 == 0) { return; } if (*(int *)((longlong)plVar2 + 0xc) < iVar3) { iVar3 = *(int *)((longlong)plVar2 + 0xc); } } } for (lVar5 = *(longlong *)(param_1 + 0x18); lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x18)) { plVar2 = *(longlong **)(lVar5 + 0x70); if ((plVar2 != (longlong *)0x0) && (0 < (int)plVar2[2])) { local_40 = param_2; FUN_1804de690(local_38,lVar5); iVar3 = (int)plVar2[2]; while (iVar3 = iVar3 + -1, -1 < iVar3) { FUN_1805261b0(*(undefined8 *)(*plVar2 + (longlong)iVar3 * 8),param_4,param_5); cVar4 = FUN_1804e4a60(&local_40); if (cVar4 != '\0') { if (local_38[0] == (undefined8 *)0x0) { return; } LOCK(); piVar1 = (int *)(local_38[0] + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 != 1) { return; } (**(code **)*local_38[0])(local_38[0],1); return; } if ((int)plVar2[2] < iVar3) { iVar3 = (int)plVar2[2]; } } if (local_38[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_38[0] + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_38[0])(local_38[0],1); } } } } } return; } ############ FUN_ 1812cf600 size=379 ############ void FUN_1812cf600(longlong *param_1,longlong param_2,undefined1 param_3,char param_4) { int *piVar1; int iVar2; code *pcVar3; longlong lVar4; longlong *plVar5; longlong lVar6; undefined8 *local_res8; longlong local_res10; int local_28; int local_24; int local_20; int local_1c; lVar6 = 0; lVar4 = lVar6; if (param_1[0x1a] != 0) { lVar4 = *(longlong *)(param_1[0x1a] + 0x10); } if (param_2 != lVar4) { FUN_1812cf790(); plVar5 = (longlong *)FUN_1804de690(&local_res8,param_2); local_res10 = param_1[0x1a]; param_1[0x1a] = *plVar5; *plVar5 = local_res10; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } if ((param_1[0x1a] != 0) && (plVar5 = *(longlong **)(param_1[0x1a] + 0x10), plVar5 != (longlong *)0x0)) { (**(code **)(*plVar5 + 0x58))(plVar5,1); FUN_181343cc0(param_1,plVar5,0xffffffff); } } *(undefined1 *)(param_1 + 0x1c) = param_3; *(char *)((longlong)param_1 + 0xe1) = param_4; if (param_4 != '\0') { lVar4 = lVar6; if (param_1[0x1a] != 0) { lVar4 = *(longlong *)(param_1[0x1a] + 0x10); } pcVar3 = *(code **)(*param_1 + 0x118); if (pcVar3 == FUN_1812cf070) { if (param_1[0x1a] != 0) { lVar6 = *(longlong *)(param_1[0x1a] + 0x10); } if ((lVar4 == lVar6) && (lVar4 != 0)) { (**(code **)(*param_1 + 0x170))(param_1,&local_28); FUN_18134bfe0(param_1,(int)param_1[4],*(undefined4 *)((longlong)param_1 + 0x24), *(int *)(lVar4 + 0x28) + local_1c + local_24, *(int *)(lVar4 + 0x2c) + local_28 + local_20); } } else { (*pcVar3)(param_1,lVar4); } } /* WARNING: Could not recover jumptable at 0x0001812cf76a. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x108))(param_1); return; } ############ FUN_ 1813416b0 size=166 ############ void FUN_1813416b0(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; undefined8 *local_res18 [2]; undefined **local_50; undefined8 *local_48; undefined4 local_40; undefined ***local_18; FUN_1804de690(local_res18,param_1,param_3,param_4,0xfffffffffffffffe); puVar3 = local_res18[0]; if (local_res18[0] != (undefined8 *)0x0) { LOCK(); *(int *)(local_res18[0] + 1) = *(int *)(local_res18[0] + 1) + 1; UNLOCK(); } local_50 = std::_Func_impl_no_alloc<,void>::vftable; local_48 = local_res18[0]; local_18 = &local_50; local_40 = param_2; FUN_1812a7460(&local_50); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res18[0])(local_res18[0],1); } } return; } ############ FUN_ 1812e8980 size=235 ############ void FUN_1812e8980(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; longlong lVar5; int iVar6; bool bVar7; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); puVar3 = local_res8; iVar6 = *(int *)(param_1 + 0x1dc); bVar7 = local_res8 != (undefined8 *)0x0; lVar5 = 0; while( true ) { lVar4 = lVar5; if (bVar7) { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(param_1 + 0x1dc) <= iVar6) && (iVar6 = *(int *)(param_1 + 0x1dc) + -1, iVar6 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x1d0) + (longlong)iVar6 * 8); (**(code **)(*plVar2 + 8))(plVar2,param_1); } if (bVar7) { lVar5 = puVar3[2]; } if ((lVar5 != 0) && (*(longlong *)(param_1 + 0x110) != 0)) { if (*(longlong **)(param_1 + 0x110) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(**(longlong **)(param_1 + 0x110) + 0x10))(); } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1804fbc00 size=713 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_1804fbc00(longlong param_1,int *param_2) { int *piVar1; int iVar2; undefined8 *puVar3; char cVar4; longlong lVar5; undefined8 uVar6; undefined8 uVar7; longlong lVar8; longlong lVar9; longlong *plVar10; longlong *plVar11; bool bVar12; undefined8 *local_res10; iVar2 = *param_2; if (iVar2 == 0x10028) { FUN_1804fe050(param_1,1); } else if (iVar2 == 0x10026) { FUN_1804fe050(param_1,0xffffffff); } else if (iVar2 == 0x10025) { if (*(longlong *)(param_1 + 0xb0) == 0) { lVar9 = *(longlong *)(param_1 + 0x118); if ((lVar9 != 0) && (*(longlong *)(lVar9 + 0x10) != 0)) { if (lVar9 == 0) { (**(code **)(_DAT_00000000 + 0xd8))(0,param_2); return 1; } (**(code **)(**(longlong **)(lVar9 + 0x10) + 0xd8))(*(longlong **)(lVar9 + 0x10),param_2); return 1; } } else { FUN_1804de690(&local_res10); puVar3 = local_res10; bVar12 = local_res10 != (undefined8 *)0x0; lVar9 = 0; lVar8 = lVar9; if (bVar12) { lVar8 = local_res10[2]; } lVar5 = __RTDynamicCast(lVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::PopupMenu::HelperClasses::MenuWindow::RTTI_Type_Descriptor,0); lVar8 = lVar9; if (*(longlong *)(lVar5 + 0x150) != 0) { lVar8 = *(longlong *)(*(longlong *)(lVar5 + 0x150) + 0x10); } uVar6 = __RTDynamicCast(lVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::PopupMenu::HelperClasses::ItemComponent::RTTI_Type_Descriptor,0 ); FUN_1804fb940(param_1,0,1); lVar8 = lVar9; if (bVar12) { lVar8 = puVar3[2]; } if (lVar8 != 0) { if (bVar12) { lVar9 = puVar3[2]; } uVar7 = __RTDynamicCast(lVar9,0,&juce::Component::RTTI_Type_Descriptor, &juce::PopupMenu::HelperClasses::MenuWindow::RTTI_Type_Descriptor,0) ; FUN_1804fda20(uVar7,uVar6); } FUN_1804fe1d0(param_1); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res10)(local_res10,1); return 1; } } } } else if (iVar2 == 0x10027) { FUN_1804fe1d0(param_1); plVar11 = (longlong *)0x0; plVar10 = plVar11; if (*(longlong *)(param_1 + 0x150) != 0) { plVar10 = *(longlong **)(*(longlong *)(param_1 + 0x150) + 0x10); } uVar6 = __RTDynamicCast(plVar10,0,&juce::Component::RTTI_Type_Descriptor, &juce::PopupMenu::HelperClasses::ItemComponent::RTTI_Type_Descriptor,0); cVar4 = FUN_1804fdba0(param_1,uVar6); if (cVar4 == '\0') { lVar9 = *(longlong *)(param_1 + 0x118); if ((lVar9 != 0) && (*(longlong *)(lVar9 + 0x10) != 0)) { if (lVar9 != 0) { plVar11 = *(longlong **)(lVar9 + 0x10); } (**(code **)(*plVar11 + 0xd8))(plVar11,param_2); return 1; } } else { lVar9 = *(longlong *)(param_1 + 0x158); if ((lVar9 != 0) && ((*(byte *)(lVar9 + 0xa8) & 2) != 0)) { FUN_1804fe050(lVar9,1); return 1; } } } else { if (iVar2 == 0xd) { FUN_1804fdee0(param_1); return 1; } if (iVar2 != 0x1b) { return 0; } FUN_1804fbaf0(param_1,0); } return 1; } ############ FUN_ 1804fda20 size=371 ############ DWORD FUN_1804fda20(longlong param_1,undefined8 param_2) { int *piVar1; int iVar2; longlong lVar3; uint uVar4; uint uVar5; uint uVar6; longlong lVar7; undefined8 uVar8; undefined8 *puVar9; undefined8 *local_res8; lVar3 = *(longlong *)(param_1 + 0x150); if (lVar3 == 0) { lVar7 = 0; } else { lVar7 = *(longlong *)(lVar3 + 0x10); } if (lVar7 != 0) { if (lVar3 == 0) { uVar8 = 0; } else { uVar8 = *(undefined8 *)(lVar3 + 0x10); } uVar8 = __RTDynamicCast(uVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::PopupMenu::HelperClasses::ItemComponent::RTTI_Type_Descriptor,0); FUN_1804fa880(uVar8,0); } puVar9 = (undefined8 *)FUN_1804de690(&local_res8,param_2); uVar8 = *(undefined8 *)(param_1 + 0x150); *(undefined8 *)(param_1 + 0x150) = *puVar9; *puVar9 = uVar8; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } lVar3 = *(longlong *)(param_1 + 0x150); if (lVar3 == 0) { lVar7 = 0; } else { lVar7 = *(longlong *)(lVar3 + 0x10); } uVar5 = 0; if (lVar7 != 0) { if (lVar3 == 0) { uVar8 = 0; } else { uVar8 = *(undefined8 *)(lVar3 + 0x10); } uVar8 = __RTDynamicCast(uVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::PopupMenu::HelperClasses::ItemComponent::RTTI_Type_Descriptor,0); uVar5 = FUN_1804fa880(uVar8,1); uVar6 = DAT_1826737fc; uVar4 = DAT_1826737fc; if (DAT_1826737fc == 0) { uVar6 = timeGetTime(); if (uVar6 < DAT_1826737fc) { uVar4 = DAT_1826737fc; uVar5 = uVar6; if (uVar6 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = uVar6; *(uint *)(param_1 + 0x178) = uVar6; return uVar6; } } else { LOCK(); UNLOCK(); uVar4 = uVar6; uVar5 = DAT_1826737fc; } } DAT_1826737fc = uVar4; *(uint *)(param_1 + 0x178) = uVar6; } return uVar5; } ############ FUN_ 180501e20 size=249 ############ void FUN_180501e20(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; longlong lVar5; int iVar6; bool bVar7; undefined8 *local_res8; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; (**(code **)(**(longlong **)(param_1 + 0x18) + 0x158))(); FUN_1804de690(&local_res8,*(undefined8 *)(param_1 + 0x18),param_3,param_4,uVar8); puVar3 = local_res8; iVar6 = *(int *)(param_1 + 0x34); bVar7 = local_res8 != (undefined8 *)0x0; lVar5 = 0; while( true ) { lVar4 = lVar5; if (bVar7) { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(param_1 + 0x34) <= iVar6) && (iVar6 = *(int *)(param_1 + 0x34) + -1, iVar6 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x28) + (longlong)iVar6 * 8); (**(code **)(*plVar2 + 0x10))(plVar2,*(undefined8 *)(param_1 + 0x18)); } if (bVar7) { lVar5 = puVar3[2]; } if ((lVar5 != 0) && (*(longlong *)(*(longlong *)(param_1 + 0x18) + 0x138) != 0)) { plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x18) + 0x138); if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar2 + 0x10))(); } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 180502bf0 size=1243 ############ void FUN_180502bf0(longlong param_1) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; undefined8 uVar5; undefined8 uVar6; uint *puVar7; undefined1 *local_res8; undefined8 *local_res10; longlong local_res18; undefined1 local_res20 [8]; undefined1 *local_1b8; undefined1 **local_1b0; undefined8 *local_1a8; undefined8 local_1a0; undefined8 uStack_198; undefined8 local_190; undefined8 *local_188; longlong local_180; undefined1 local_178 [8]; longlong local_170; undefined1 local_168 [8]; longlong local_160; undefined1 local_158 [8]; longlong local_150; undefined1 local_148 [8]; longlong local_140 [5]; undefined8 *puStack_118; undefined8 local_110; undefined8 uStack_108; undefined8 local_100; undefined8 *puStack_f8; undefined8 local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 *local_d8; undefined8 local_d0; undefined **local_c8; code *local_c0; undefined8 *local_b8; undefined ***local_90; undefined1 local_78 [32]; undefined8 *local_58; local_d0 = 0xfffffffffffffffe; local_110 = 0; uStack_108 = 0; local_100 = 0; puStack_f8 = (undefined8 *)0x0; uVar5 = FUN_18134adf0(*(undefined8 *)(param_1 + 0x18)); FUN_18051b750(&puStack_f8,uVar5); FUN_18049c4e0(&local_res18,"Velocity-sensitive mode"); FUN_1812344e0(local_res20,&local_res18); puVar7 = (uint *)(local_res18 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_1813486a0(&local_110,1,local_res20,1,*(undefined1 *)(param_1 + 0x22e)); FUN_181348300(&local_110); if (*(int *)(param_1 + 0x20) - 4U < 4) { local_140[2] = 0; local_140[3] = 0; local_140[4] = 0; puStack_118 = (undefined8 *)0x0; FUN_18049c4e0(&local_180,"Use circular dragging"); FUN_1812344e0(local_178,&local_180); puVar7 = (uint *)(local_180 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_1813486a0(local_140 + 2,2,local_178,1,*(int *)(param_1 + 0x20) == 4); FUN_18049c4e0(&local_170,"Use left-right dragging"); FUN_1812344e0(local_168,&local_170); puVar7 = (uint *)(local_170 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_1813486a0(local_140 + 2,3,local_168,1,*(int *)(param_1 + 0x20) == 5); FUN_18049c4e0(&local_160,"Use up-down dragging"); FUN_1812344e0(local_158,&local_160); puVar7 = (uint *)(local_160 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_1813486a0(local_140 + 2,4,local_158,1,*(int *)(param_1 + 0x20) == 6); FUN_18049c4e0(&local_150,"Use left-right/up-down dragging"); FUN_1812344e0(local_148,&local_150); puVar7 = (uint *)(local_150 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_1813486a0(local_140 + 2,5,local_148,1,*(int *)(param_1 + 0x20) == 7); local_1b0 = (undefined1 **)&local_1a0; FUN_18051b380(&local_1a0,local_140 + 2); local_188 = puStack_118; if (puStack_118 != (undefined8 *)0x0) { LOCK(); *(int *)(puStack_118 + 1) = *(int *)(puStack_118 + 1) + 1; UNLOCK(); } local_1a8 = &local_1a0; FUN_18049c4e0(local_140,"Rotary mode"); FUN_1812344e0(&local_res8,local_140); puVar7 = (uint *)(local_140[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_1b0 = &local_res8; local_140[1] = 0; local_f0 = local_1a0; local_e8 = uStack_198; local_e0 = local_190; local_1a0 = 0; uStack_198 = 0; local_190 = 0; local_d8 = local_188; local_188 = (undefined8 *)0x0; local_1b8 = local_res8; local_res8 = &DAT_1821dbf98; FUN_181348420(&local_110,&local_1b8,&local_f0); puVar7 = (uint *)(local_res8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (local_188 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_188 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_188)(local_188,1); } } FUN_18051c930(&local_1a0); if (puStack_118 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puStack_118 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puStack_118)(puStack_118,1); } } FUN_18051c930(local_140 + 2); } uVar5 = FUN_181348060(local_78); FUN_1804de690(&local_res10,*(undefined8 *)(param_1 + 0x18)); puVar4 = local_res10; if (local_res10 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res10 + 1) = *(int *)(local_res10 + 1) + 1; UNLOCK(); } local_c8 = std::_Func_impl_no_alloc<,void,int>::vftable; local_c0 = FUN_1805030d0; local_b8 = local_res10; local_90 = &local_c8; uVar6 = FUN_181347bc0(&local_c8); if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res10)(local_res10,1); } } FUN_1812f0230(&local_110,uVar5,uVar6); if (local_58 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_58 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_58)(local_58,1); } } if (puStack_f8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puStack_f8 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puStack_f8)(puStack_f8,1); } } FUN_18051c930(&local_110); return; } ############ FUN_ 180509db0 size=358 ############ undefined8 * FUN_180509db0(undefined8 *param_1,longlong param_2,undefined4 param_3) { int iVar1; longlong *plVar2; int iVar3; longlong lVar4; undefined8 *puVar5; int *piVar6; int iVar7; longlong lVar8; puVar5 = param_1; FUN_1812effb0(param_1,1); *puVar5 = juce::Toolbar::MissingItemsComponent::vftable; puVar5[0x16] = juce::Toolbar::MissingItemsComponent::vftable; FUN_1804de690(puVar5 + 0x1a,param_2); *(undefined4 *)(param_1 + 0x1b) = param_3; puVar5 = param_1 + 0x1c; *puVar5 = 0; param_1[0x1d] = 0; iVar7 = *(int *)(param_2 + 0xec) + -1; if (-1 < iVar7) { lVar8 = (longlong)iVar7 * 8; do { plVar2 = *(longlong **)(lVar8 + *(longlong *)(param_2 + 0xe0)); lVar4 = __RTDynamicCast(plVar2,0,&juce::ToolbarItemComponent::RTTI_Type_Descriptor, &juce::Toolbar::Spacer::RTTI_Type_Descriptor,0); if ((lVar4 == 0) && ((*(byte *)(plVar2 + 0x15) >> 1 & 1) == 0)) { iVar1 = *(int *)((longlong)param_1 + 0xec); iVar3 = iVar1 + 1; if (*(int *)(param_1 + 0x1d) < iVar3) { if (iVar3 < 0) { iVar3 = iVar1 + 2; } FUN_1804af790(puVar5,iVar1 + 9 + (iVar3 >> 1) & 0xfffffff8); } if (*(int *)((longlong)param_1 + 0xec) == 0) { piVar6 = (int *)*puVar5; } else { memmove((void *)((longlong)*puVar5 + 4),(void *)*puVar5, (longlong)*(int *)((longlong)param_1 + 0xec) << 2); piVar6 = (int *)*puVar5; } *piVar6 = iVar7; *(int *)((longlong)param_1 + 0xec) = *(int *)((longlong)param_1 + 0xec) + 1; (**(code **)(*plVar2 + 0x58))(plVar2,CONCAT71((int7)((ulonglong)piVar6 >> 8),1)); FUN_181343cc0(param_1,plVar2,0); } lVar8 = lVar8 + -8; iVar7 = iVar7 + -1; } while (-1 < iVar7); } FUN_18050a130(param_1); return param_1; } ############ FUN_ 18050ecb0 size=563 ############ void FUN_18050ecb0(longlong *param_1,char param_2) { int *piVar1; int iVar2; undefined1 auVar3 [16]; char cVar4; undefined8 *puVar5; longlong lVar6; float fVar7; undefined8 *local_res8 [2]; double local_res18; double local_res20; undefined4 local_78; undefined4 local_70; undefined1 local_58 [16]; undefined1 local_48 [16]; undefined8 local_38; undefined8 uStack_30; (**(code **)(*param_1 + 0x60))(param_1,0); cVar4 = (**(code **)(*param_1 + 0x78))(param_1); if (cVar4 != param_2) { if ((longlong *)param_1[5] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[5] + 0x10))(); } *(char *)(param_1 + 0x16) = param_2; FUN_1804de690(local_res8,param_1[1]); if ((char)param_1[0x16] == '\0') { auVar3 = *(undefined1 (*) [16])((longlong)param_1 + 0x14); local_58 = auVar3; if ((*(uint *)(param_1 + 2) >> 3 & 1) != 0) { ShowWindow((HWND)param_1[0x11],1); } if ((0 < auVar3._8_4_) && (0 < auVar3._12_4_)) { fVar7 = (float)(**(code **)(*(longlong *)param_1[1] + 0x80))(); if (fVar7 == DAT_1824c3ea4) { local_48 = auVar3; puVar5 = (undefined8 *)local_48; } else { local_res20 = (double)((float)(int)local_58._4_4_ * fVar7) + DAT_1824c4520; local_res18 = (double)((float)(int)local_58._0_4_ * fVar7) + DAT_1824c4520; local_58._4_4_ = local_res20._0_4_; local_58._0_4_ = local_res18._0_4_; local_78 = SUB84((double)((float)auVar3._8_4_ * fVar7) + DAT_1824c4520,0); local_58._8_4_ = local_78; local_70 = SUB84((double)((float)auVar3._12_4_ * fVar7) + DAT_1824c4520,0); local_58._12_4_ = local_70; puVar5 = (undefined8 *)local_58; } local_38 = *puVar5; uStack_30 = puVar5[1]; (**(code **)(*param_1 + 0x30))(param_1,&local_38,0); } } else if ((*(uint *)(param_1 + 2) >> 3 & 1) == 0) { SendMessageW((HWND)param_1[0x11],0x1a,0,0); } else { ShowWindow((HWND)param_1[0x11],3); } puVar5 = local_res8[0]; if (local_res8[0] == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = local_res8[0][2]; } if (lVar6 != 0) { FUN_1812d1d10(param_1); } if ((longlong *)param_1[5] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[5] + 0x18))(); } if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8[0])(local_res8[0],1); } } } return; } ############ FUN_ 1812d1d10 size=782 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812d1d10(longlong *param_1) { longlong *plVar1; undefined8 *puVar2; code *pcVar3; undefined8 uVar4; double dVar5; double dVar6; double dVar7; double dVar8; int *piVar9; undefined8 uVar10; longlong lVar11; char cVar12; char cVar13; char cVar14; float fVar15; int iVar16; int iVar17; int iVar18; int iVar19; undefined1 auStack_188 [32]; undefined8 *local_168 [2]; int local_158; int iStack_154; int iStack_150; int iStack_14c; int local_148; undefined4 local_144; undefined4 local_140; undefined4 local_13c; double local_120; double local_118; double local_110; double local_108; int local_100; int iStack_fc; int iStack_f8; int iStack_f4; undefined8 local_f0; undefined8 uStack_e8; undefined8 local_e0; int local_d8; int iStack_d4; int iStack_d0; int iStack_cc; undefined8 local_c8; undefined8 uStack_c0; undefined8 local_b8; undefined4 local_b0; undefined4 uStack_ac; undefined4 uStack_a8; undefined4 uStack_a4; undefined8 local_a0; undefined1 local_98 [16]; undefined1 local_88 [16]; undefined1 local_78 [24]; WINDOWPLACEMENT local_60; ulonglong local_30; local_e0 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_188; if ((undefined **)*param_1 == juce::HWNDComponentPeer::vftable) { local_60.length = 0x2c; GetWindowPlacement((HWND)param_1[0x11],&local_60); cVar14 = local_60.showCmd == 2; } else { cVar14 = (*(code *)((undefined **)*param_1)[0xd])(param_1); } if (((*(byte *)(param_1[1] + 0xa8) & 1) != 0) && (cVar14 == '\0')) { FUN_1804de690(local_168); piVar9 = (int *)(**(code **)(*param_1 + 0x38))(param_1,local_98); iVar16 = *piVar9; iVar17 = piVar9[1]; iVar18 = piVar9[2]; iVar19 = piVar9[3]; plVar1 = (longlong *)param_1[1]; puVar2 = (undefined8 *)plVar1[7]; if (puVar2 != (undefined8 *)0x0) { uVar10 = *puVar2; uVar4 = puVar2[1]; local_b8 = puVar2[2]; local_c8._0_4_ = (undefined4)uVar10; local_c8._4_4_ = (undefined4)((ulonglong)uVar10 >> 0x20); uStack_c0._0_4_ = (undefined4)uVar4; uStack_c0._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20); local_b0 = (undefined4)local_c8; uStack_ac = local_c8._4_4_; uStack_a8 = (undefined4)uStack_c0; uStack_a4 = uStack_c0._4_4_; local_158 = iVar16; iStack_154 = iVar17; iStack_150 = iVar18; iStack_14c = iVar19; local_c8 = uVar10; uStack_c0 = uVar4; local_a0 = local_b8; uVar10 = FUN_1812a04f0(&local_b0,local_78); piVar9 = (int *)FUN_1804b1290(&local_158,local_88,uVar10); iVar16 = *piVar9; iVar17 = piVar9[1]; iVar18 = piVar9[2]; iVar19 = piVar9[3]; } local_158 = iVar16; iStack_154 = iVar17; iStack_150 = iVar18; iStack_14c = iVar19; fVar15 = (float)(**(code **)(*plVar1 + 0x80))(plVar1); puVar2 = local_168[0]; if (fVar15 == DAT_1824c3ea4) { local_d8 = iVar16; iStack_d4 = iVar17; iStack_d0 = iVar18; iStack_cc = iVar19; piVar9 = &local_d8; } else { local_108 = (double)((float)iStack_14c / fVar15) + DAT_1824c4520; dVar8 = local_108; local_110 = (double)((float)iStack_150 / fVar15) + DAT_1824c4520; dVar7 = local_110; local_118 = (double)((float)iStack_154 / fVar15) + DAT_1824c4520; dVar6 = local_118; local_120 = (double)((float)local_158 / fVar15) + DAT_1824c4520; dVar5 = local_120; local_148 = local_120._0_4_; local_144 = local_118._0_4_; local_140 = local_110._0_4_; local_13c = local_108._0_4_; piVar9 = &local_148; local_120 = dVar5; local_118 = dVar6; local_110 = dVar7; local_108 = dVar8; } local_f0 = *(undefined8 *)piVar9; uStack_e8 = *(undefined8 *)(piVar9 + 2); lVar11 = param_1[1]; local_100 = *(int *)(lVar11 + 0x20); iStack_fc = *(int *)(lVar11 + 0x24); iStack_f8 = *(int *)(lVar11 + 0x28); iStack_f4 = *(int *)(lVar11 + 0x2c); if ((*(int *)(lVar11 + 0x20) == (int)local_f0) && (*(int *)(lVar11 + 0x24) == (int)((ulonglong)local_f0 >> 0x20))) { cVar13 = '\0'; } else { cVar13 = '\x01'; } if ((*(int *)(lVar11 + 0x28) == (int)uStack_e8) && (*(int *)(lVar11 + 0x2c) == (int)((ulonglong)uStack_e8 >> 0x20))) { cVar12 = '\0'; } else { cVar12 = '\x01'; } if ((cVar13 != '\0') || (cVar12 != '\0')) { iVar16 = piVar9[1]; iVar17 = piVar9[2]; iVar18 = piVar9[3]; *(int *)(lVar11 + 0x20) = *piVar9; *(int *)(lVar11 + 0x24) = iVar16; *(int *)(lVar11 + 0x28) = iVar17; *(int *)(lVar11 + 0x2c) = iVar18; if (cVar12 != '\0') { FUN_18134bdf0(param_1[1]); } FUN_181344840(param_1[1],cVar13,cVar12); if (puVar2 == (undefined8 *)0x0) { lVar11 = 0; } else { lVar11 = puVar2[2]; } if (lVar11 == 0) { if (puVar2 == (undefined8 *)0x0) { } LOCK(); piVar9 = (int *)(puVar2 + 1); iVar16 = *piVar9; *piVar9 = *piVar9 + -1; UNLOCK(); if (iVar16 != 1) { } (**(code **)*local_168[0])(local_168[0],1); } } if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar9 = (int *)(puVar2 + 1); iVar16 = *piVar9; *piVar9 = *piVar9 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_168[0])(local_168[0],1); } } } if (*(char *)((longlong)param_1 + 0x5c) != cVar14) { *(char *)((longlong)param_1 + 0x5c) = cVar14; pcVar3 = *(code **)(*(longlong *)param_1[1] + 0x78); if (pcVar3 != .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__) { (*pcVar3)((longlong *)param_1[1],cVar14); } FUN_1813452b0(param_1[1]); } cVar14 = (**(code **)(*param_1 + 0x78))(param_1); if (cVar14 == '\0') { uVar10 = *(undefined8 *)(param_1[1] + 0x28); *(undefined8 *)((longlong)param_1 + 0x14) = *(undefined8 *)(param_1[1] + 0x20); *(undefined8 *)((longlong)param_1 + 0x1c) = uVar10; } } ############ FUN_ 18050f910 size=204 ############ void FUN_18050f910(longlong param_1) { int *piVar1; int iVar2; undefined8 *puVar3; BOOL BVar4; longlong lVar5; undefined8 *local_res10; tagMSG local_40; if ((*(byte *)(*(longlong *)(param_1 + 8) + 0xa8) >> 1 & 1) != 0) { FUN_1804de690(&local_res10); puVar3 = local_res10; if (((*(byte *)(*(longlong *)(param_1 + 8) + 0xa8) >> 2 & 1) == 0) || (BVar4 = PeekMessageW(&local_40,*(HWND *)(param_1 + 0x88),0xf,0xf,1), BVar4 != 0)) { if (puVar3 == (undefined8 *)0x0) { lVar5 = 0; } else { lVar5 = puVar3[2]; } if (lVar5 != 0) { FUN_1805113b0(param_1); } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res10)(local_res10,1); } } return; } return; } ############ FUN_ 18051ead0 size=408 ############ void FUN_18051ead0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, undefined4 param_5) { int *piVar1; longlong *plVar2; int iVar3; char cVar4; longlong lVar5; longlong *local_40; undefined8 *local_38 [4]; if (*param_2 == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(*param_2 + 0x10); } if (lVar5 != 0) { plVar2 = *(longlong **)(param_1 + 0x70); if (plVar2 != (longlong *)0x0) { iVar3 = *(int *)((longlong)plVar2 + 0xc); while (iVar3 = iVar3 + -1, -1 < iVar3) { FUN_180525b78(*(undefined8 *)(*plVar2 + (longlong)iVar3 * 8),param_4,param_5); if (*param_2 == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(*param_2 + 0x10); } if (lVar5 == 0) { return; } if (*(int *)((longlong)plVar2 + 0xc) < iVar3) { iVar3 = *(int *)((longlong)plVar2 + 0xc); } } } for (lVar5 = *(longlong *)(param_1 + 0x18); lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x18)) { plVar2 = *(longlong **)(lVar5 + 0x70); if ((plVar2 != (longlong *)0x0) && (0 < (int)plVar2[2])) { local_40 = param_2; FUN_1804de690(local_38,lVar5); iVar3 = (int)plVar2[2]; while (iVar3 = iVar3 + -1, -1 < iVar3) { FUN_180525b78(*(undefined8 *)(*plVar2 + (longlong)iVar3 * 8),param_4,param_5); cVar4 = FUN_1804e4a60(&local_40); if (cVar4 != '\0') { if (local_38[0] == (undefined8 *)0x0) { return; } LOCK(); piVar1 = (int *)(local_38[0] + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 != 1) { return; } (**(code **)*local_38[0])(local_38[0],1); return; } if ((int)plVar2[2] < iVar3) { iVar3 = (int)plVar2[2]; } } if (local_38[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_38[0] + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_38[0])(local_38[0],1); } } } } } return; } ############ FUN_ 1805170d0 size=492 ############ void FUN_1805170d0(undefined8 *param_1,undefined8 param_2,uint param_3,undefined8 param_4, undefined8 param_5,longlong *param_6,longlong *param_7) { uint uVar1; longlong lVar2; uint *_Memory; longlong local_68; undefined1 local_60 [8]; undefined8 local_58; undefined8 *local_50; local_58 = 0xfffffffffffffffe; *param_1 = juce::ReferenceCountedObject::vftable; *(undefined4 *)(param_1 + 1) = 0; FUN_18049c4e0(&local_68,"Native Win32 FileChooser"); FUN_18122b770(param_1 + 2,&local_68); _Memory = (uint *)(local_68 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::Win32NativeFileChooser::vftable; param_1[2] = juce::Win32NativeFileChooser::vftable; param_1[0x42] = 0; param_1[0x43] = 0; local_50 = param_1 + 0x44; FUN_1804de690(local_50,param_2); lVar2 = *param_6; param_1[0x45] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar2 = *param_7; param_1[0x46] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[0x47] = 0; param_1[0x48] = &DAT_1821dbf98; param_1[0x49] = &DAT_1821dbf98; param_1[0x4a] = &DAT_1821dbf98; *(undefined1 *)(param_1 + 0x4b) = 0; _Mtx_init_in_situ(param_1 + 0x4c,2); _Cnd_init_in_situ(param_1 + 0x56); *(undefined1 *)(param_1 + 0x5f) = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x60)); *(byte *)((longlong)param_1 + 0x32c) = (byte)(param_3 >> 3) & 1; *(byte *)((longlong)param_1 + 0x32d) = (byte)(param_3 >> 2) & 1; *(byte *)((longlong)param_1 + 0x32e) = (byte)(param_3 >> 1) & 1; *(byte *)((longlong)param_1 + 0x32f) = (byte)(param_3 >> 7) & 1; *(byte *)(param_1 + 0x66) = (byte)(param_3 >> 4) & 1; param_1[0x67] = 0; param_1[0x68] = 0; param_1[0x69] = 0; *(undefined4 *)(param_1 + 0x6a) = 0; FUN_181241230(param_5,local_60); /* WARNING: Subroutine does not return */ free((void *)param_1[0x67]); } ############ FUN_ 180518d60 size=706 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180518d60(longlong param_1,HWND param_2) { int *piVar1; LPCRITICAL_SECTION lpCriticalSection; uint uVar2; int iVar3; DWORD DVar4; longlong *plVar5; longlong lVar6; undefined8 uVar7; uint *puVar8; undefined1 auStack_4f8 [32]; undefined4 local_4d8; undefined8 *local_4c8; longlong local_4c0; longlong local_4b8; longlong local_4b0; longlong local_4a8 [2]; undefined8 *local_498; undefined1 *local_490; undefined8 local_488; LPCRITICAL_SECTION local_480; undefined **local_478; undefined8 *local_470; longlong local_468; undefined ***local_440; undefined1 local_438 [1040]; ulonglong local_28; local_488 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_4f8; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x300); local_480 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); if ((*(longlong *)(param_1 + 0x238) != 0) && (*(int *)(param_1 + 0x350) == 0)) { if (*(int *)(*(longlong *)(param_1 + 0x238) + 0x4c) == 0) { uVar7 = 0; } else { uVar7 = **(undefined8 **)(*(longlong *)(param_1 + 0x238) + 0x40); } local_4d8 = 0; plVar5 = (longlong *) __RTDynamicCast(uVar7,0,&juce::Component::RTTI_Type_Descriptor, &juce::FilePreviewComponent::RTTI_Type_Descriptor); if (plVar5 != (longlong *)0x0) { memset(local_438,0,0x410); SendMessageW(param_2,0x465,0x104,(LPARAM)local_438); lVar6 = FUN_1812a7550(); DVar4 = GetCurrentThreadId(); if ((ulonglong)DVar4 == *(ulonglong *)(lVar6 + 0x10)) { FUN_18049c800(&local_4b8,local_438); FUN_181241890(&local_4c0,&local_4b8); (**(code **)(*plVar5 + 0x158))(plVar5,&local_4c0); puVar8 = (uint *)(local_4c0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_4b8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } else { FUN_1804de690(&local_4c8,plVar5); FUN_18049c800(&local_4b0,local_438); FUN_181241890(local_4a8,&local_4b0); puVar8 = (uint *)(local_4b0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_498 = local_4c8; if (local_4c8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_4c8 + 1) = *(int *)(local_4c8 + 1) + 1; UNLOCK(); } if ((*(uint *)(local_4a8[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_4a8[0] + -0x10) = *(int *)(local_4a8[0] + -0x10) + 1; UNLOCK(); } local_478 = std::_Func_impl_no_alloc<,void>:: vftable; local_470 = local_4c8; if (local_4c8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_4c8 + 1) = *(int *)(local_4c8 + 1) + 1; UNLOCK(); } local_468 = local_4a8[0]; local_490 = &DAT_1821dbf98; local_440 = &local_478; FUN_1805192f0(&local_498); FUN_1812a7460(&local_478); if ((*(uint *)(local_4a8[0] + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_4a8[0] + -0x10); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_4a8[0] + -0x10)); } } if (local_4c8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_4c8 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_4c8)(local_4c8,1); } } } } } LeaveCriticalSection(lpCriticalSection); } ############ FUN_ 180519560 size=352 ############ void FUN_180519560(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong lVar3; undefined ***pppuVar4; undefined8 uVar5; undefined8 *local_res8 [2]; undefined **local_60; undefined8 *local_58; undefined ***local_28; FUN_1804de690(local_res8,param_1 + -0xb0,param_3,param_4,0xfffffffffffffffe); if (local_res8[0] != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8[0] + 1) = *(int *)(local_res8[0] + 1) + 1; UNLOCK(); } local_60 = std::_Func_impl_no_alloc<,void,int>::vftable; local_58 = local_res8[0]; local_28 = &local_60; pppuVar4 = &local_60; if (local_res8[0] != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8[0] + 1) = *(int *)(local_res8[0] + 1) + 1; UNLOCK(); LOCK(); piVar1 = (int *)(local_res8[0] + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); pppuVar4 = local_28; if (iVar2 == 1) { (**(code **)*local_res8[0])(local_res8[0],1); pppuVar4 = local_28; } } local_28 = pppuVar4; uVar5 = FUN_181347bc0(&local_60); FUN_18134ab30(param_1 + -0xb0,1,uVar5,0); lVar3 = *(longlong *)(param_1 + 0x10); FUN_18051c520(lVar3 + 0x210); if (*(int *)(lVar3 + 0x218) == 0) { *(undefined4 *)(lVar3 + 0x218) = 0; LOCK(); *(undefined8 *)(lVar3 + 0x348) = 0; UNLOCK(); LOCK(); *(undefined1 *)(lVar3 + 0x2f8) = 0; UNLOCK(); FUN_18122b350(lVar3 + 0x10); FUN_181215c90(lVar3 + 600,0xffffffff); if (local_res8[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8[0] + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8[0])(local_res8[0],1); } } return; } /* WARNING: Subroutine does not return */ free(*(void **)(lVar3 + 0x210)); } ############ FUN_ 1813258a0 size=688 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813258a0(longlong param_1,undefined4 param_2) { undefined8 *puVar1; longlong lVar2; int iVar3; undefined8 uVar4; longlong *plVar5; longlong *plVar6; uint uVar7; uint *puVar8; undefined1 auStack_148 [64]; longlong local_108; longlong local_100; longlong local_f8; longlong local_f0; undefined1 local_e8 [8]; longlong local_e0 [2]; undefined4 *local_d0; undefined1 local_b8 [44]; int local_8c; longlong *local_40; ulonglong local_38; local_e0[1] = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_148; FUN_18049c4e0(&local_f0,&DAT_1821e2cbc); uVar4 = FUN_181249970(param_1 + 8,param_2); FUN_181241890(&local_f8,uVar4); FUN_18049c4e0(&local_108,"Change folder..."); lVar2 = DAT_1826739f8; local_d0 = &DAT_182673984; do { LOCK(); uVar7 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar7 != 0); if (DAT_1826739f8 == 0) { local_100 = local_108; uVar7 = *(uint *)(local_108 + -0x10); } else { if (*(longlong *)(DAT_1826739f8 + 0x40) != 0) { iVar3 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_108,*(undefined1 *)(DAT_1826739f8 + 0x38),0); if (iVar3 < 0) { FUN_181234570(*(undefined8 *)(lVar2 + 0x40),&local_100,&local_108,&local_108); goto LAB_1813259d1; } } iVar3 = FUN_1812498b0(lVar2 + 0x18,local_108,*(undefined1 *)(lVar2 + 0x38),0); if (iVar3 < 0) { local_100 = local_108; uVar7 = *(uint *)(local_108 + -0x10); } else { plVar5 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar3); local_100 = *plVar5; uVar7 = *(uint *)(local_100 + -0x10); } } if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(local_100 + -0x10) = *(int *)(local_100 + -0x10) + 1; UNLOCK(); } LAB_1813259d1: LOCK(); DAT_182673984 = 0; UNLOCK(); puVar8 = (uint *)(local_108 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_181329f30(local_b8,&local_100,&local_f8,&local_f0); puVar8 = (uint *)(local_100 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_f8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_f0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_1804de690(local_e8,DAT_182673708); plVar6 = (longlong *)FUN_181329c90(local_b8,9); plVar5 = local_40; if (local_40 != (undefined8 *)0x0) { puVar1 = (undefined8 *)*local_40; local_40 = plVar6; (*(code *)*puVar1)(plVar5,1); plVar6 = local_40; } local_40 = plVar6; (**(code **)(*local_40 + 0x10))(); FUN_1804e4a90(local_e8); if (0 < local_8c) { FUN_180488fc0(param_1 + 8,param_2); uVar4 = FUN_181329930(local_b8,local_e0); FUN_18123e5f0(param_1 + 8,uVar4,param_2); puVar8 = (uint *)(local_e0[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_181325e40(param_1 + -200); } FUN_181329e40(local_b8); } ############ FUN_ 1805596e0 size=596 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1805596e0(undefined8 param_1) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; undefined8 uVar5; undefined8 uVar6; uint *puVar7; undefined8 *local_res18; longlong local_res20; undefined1 local_148 [8]; longlong local_140; undefined1 local_138 [16]; undefined8 local_128; undefined8 uStack_120; undefined8 local_118; undefined8 *puStack_110; undefined8 local_108; undefined1 local_100 [8]; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined8 uStack_e0; undefined8 local_d8; undefined8 local_d0; undefined8 uStack_c8; undefined4 local_c0; undefined1 local_bc; undefined4 local_b8; undefined **local_b0; code *local_a8; undefined8 *local_a0; undefined ***local_78; undefined1 local_60 [32]; undefined8 *local_40; local_108 = 0xfffffffffffffffe; local_128 = 0; uStack_120 = 0; local_118 = 0; puStack_110 = (undefined8 *)0x0; FUN_18049c4e0(&local_res20,"Use this swatch as the current colour"); FUN_1812344e0(local_148,&local_res20); puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_1813486a0(&local_128,1,local_148,1,0); FUN_181348300(&local_128); FUN_18049c4e0(&local_140,"Set this swatch to the current colour"); FUN_1812344e0(local_138,&local_140); puVar7 = (uint *)(local_140 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_1813486a0(&local_128,2,local_138,1,0); local_f8 = 0; uStack_f0 = 0; local_e8 = 0; uStack_e0 = 0; local_d8 = 0; local_d0 = _DAT_1824c47c0; uStack_c8 = _UNK_1824c47c8; local_c0 = 0; local_bc = 0; local_b8 = 1; puVar4 = (undefined8 *)FUN_18133c1f0(local_100); local_f8 = *puVar4; uVar5 = FUN_1812f0830(&local_f8,local_60,param_1); FUN_1804de690(&local_res18,param_1); puVar4 = local_res18; if (local_res18 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res18 + 1) = *(int *)(local_res18 + 1) + 1; UNLOCK(); } local_b0 = std::_Func_impl_no_alloc<,void,int>::vftable; local_a8 = FUN_180559940; local_a0 = local_res18; local_78 = &local_b0; uVar6 = FUN_181347bc0(&local_b0); if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res18)(local_res18,1); } } FUN_1812f0230(&local_128,uVar5,uVar6); if (local_40 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_40 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_40)(local_40,1); } } if (puStack_110 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puStack_110 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puStack_110)(puStack_110,1); } } FUN_18051c930(&local_128); return; } ############ FUN_ 1812c36c0 size=230 ############ longlong FUN_1812c36c0(longlong *param_1) { int *piVar1; LPCRITICAL_SECTION lpCriticalSection; int iVar2; longlong lVar3; longlong lVar4; longlong *plVar5; undefined8 uVar6; undefined8 *local_res8; LPCRITICAL_SECTION local_res10; longlong local_res18; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x14); local_res10 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); lVar4 = param_1[5]; if (lVar4 == 0) { lVar3 = 0; } else { lVar3 = *(longlong *)(lVar4 + 0x10); } if (lVar3 == 0) { lVar4 = (**(code **)(*param_1 + 0xa8))(param_1); if (lVar4 != 0) { plVar5 = (longlong *)FUN_1804de690(&local_res8,lVar4); local_res18 = param_1[5]; param_1[5] = *plVar5; *plVar5 = local_res18; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } } } else { if (lVar4 == 0) { uVar6 = 0; } else { uVar6 = *(undefined8 *)(lVar4 + 0x10); } lVar4 = __RTDynamicCast(uVar6,0,&juce::Component::RTTI_Type_Descriptor, &juce::AudioProcessorEditor::RTTI_Type_Descriptor,0); } LeaveCriticalSection(lpCriticalSection); return lVar4; } ############ FUN_ 1812d7490 size=220 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812d7490(longlong param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4) { int *piVar1; int iVar2; undefined1 auStack_78 [32]; undefined4 local_58; undefined4 uStack_54; undefined8 local_50; undefined **local_40; undefined1 local_38 [8]; undefined8 *local_30; undefined8 local_28; undefined **local_20; undefined1 local_18 [8]; ulonglong local_10; local_50 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_78; local_20 = &PTR_vftable_18262b558; local_40 = &PTR_vftable_18262b558; local_58 = param_3; uStack_54 = param_4; (**(code **)(PTR_vftable_18262b558 + 0xb8))(&PTR_vftable_18262b558,local_38,local_18); FUN_1804de690(&local_30,param_1 + -0xc0); local_28 = CONCAT44(uStack_54,local_58); FUN_1812d77b0(param_1 + -0xc0,param_2,&local_40); if (local_30 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_30 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_30)(local_30,1); } } (**(code **)(*local_40 + 0xb0))(local_40,local_38); (**(code **)(*local_20 + 0xb0))(local_20,local_18); } ############ FUN_ 1812d75a0 size=220 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812d75a0(longlong param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4) { int *piVar1; int iVar2; undefined1 auStack_78 [32]; undefined4 local_58; undefined4 uStack_54; undefined8 local_50; undefined **local_40; undefined1 local_38 [8]; undefined8 *local_30; undefined8 local_28; undefined **local_20; undefined1 local_18 [8]; ulonglong local_10; local_50 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_78; local_20 = &PTR_vftable_18262b558; local_40 = &PTR_vftable_18262b558; local_58 = param_3; uStack_54 = param_4; (**(code **)(PTR_vftable_18262b558 + 0xb8))(&PTR_vftable_18262b558,local_38,local_18); FUN_1804de690(&local_30,param_1 + -0xc0); local_28 = CONCAT44(uStack_54,local_58); FUN_1812d78b0(param_1 + -0xc0,param_2,&local_40); if (local_30 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_30 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_30)(local_30,1); } } (**(code **)(*local_40 + 0xb0))(local_40,local_38); (**(code **)(*local_20 + 0xb0))(local_20,local_18); } ############ FUN_ 1812d7690 size=245 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812d7690(longlong *param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4) { int *piVar1; int iVar2; undefined1 auStack_88 [32]; undefined4 local_68; undefined4 uStack_64; undefined8 local_60; undefined **local_50; undefined1 local_48 [8]; undefined8 *local_40; undefined8 local_38; undefined **local_30; undefined1 local_28 [8]; ulonglong local_20; local_60 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_88; if (*(code **)(*param_1 + 0x18) == FUN_1812d75a0) { local_30 = &PTR_vftable_18262b558; local_50 = &PTR_vftable_18262b558; local_68 = param_3; uStack_64 = param_4; (**(code **)(PTR_vftable_18262b558 + 0xb8))(&PTR_vftable_18262b558,local_48,local_28); FUN_1804de690(&local_40,param_1 + -0x18); local_38 = CONCAT44(uStack_64,local_68); FUN_1812d78b0(param_1 + -0x18,param_2,&local_50); if (local_40 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_40 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_40)(local_40,1); } } (**(code **)(*local_50 + 0xb0))(local_50,local_48); (**(code **)(*local_30 + 0xb0))(local_30,local_28); } else { (**(code **)(*param_1 + 0x18))(); } } ############ FUN_ 1812dd150 size=711 ############ void FUN_1812dd150(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; undefined8 *puVar2; longlong lVar3; longlong *plVar4; longlong lVar5; int iVar6; bool bVar7; undefined8 *local_res18 [2]; FUN_1804de690(local_res18,param_1,param_3,param_4,0xfffffffffffffffe); puVar2 = local_res18[0]; if (param_2 == 0x10003001) { iVar6 = *(int *)(param_1 + 0x30c); bVar7 = local_res18[0] != (undefined8 *)0x0; lVar5 = 0; while( true ) { lVar3 = lVar5; if (bVar7) { lVar3 = puVar2[2]; } if ((lVar3 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(param_1 + 0x30c) <= iVar6) && (iVar6 = *(int *)(param_1 + 0x30c) + -1, iVar6 < 0)) break; plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x300) + (longlong)iVar6 * 8); (**(code **)(*plVar4 + 8))(plVar4,param_1); } if (bVar7) { lVar5 = puVar2[2]; } if ((lVar5 == 0) || (*(longlong *)(param_1 + 0x100) == 0)) goto LAB_1812dd3e5; plVar4 = *(longlong **)(param_1 + 0x100); if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } } else if (param_2 == 0x10003002) { iVar6 = *(int *)(param_1 + 0x30c); bVar7 = local_res18[0] != (undefined8 *)0x0; lVar5 = 0; while( true ) { lVar3 = lVar5; if (bVar7) { lVar3 = puVar2[2]; } if ((lVar3 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(param_1 + 0x30c) <= iVar6) && (iVar6 = *(int *)(param_1 + 0x30c) + -1, iVar6 < 0)) break; plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x300) + (longlong)iVar6 * 8); (**(code **)(*plVar4 + 0x10))(plVar4,param_1); } if (bVar7) { lVar5 = puVar2[2]; } if ((lVar5 == 0) || (*(longlong *)(param_1 + 0x140) == 0)) goto LAB_1812dd3e5; plVar4 = *(longlong **)(param_1 + 0x140); if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } } else if (param_2 == 0x10003003) { iVar6 = *(int *)(param_1 + 0x30c); bVar7 = local_res18[0] != (undefined8 *)0x0; lVar5 = 0; while( true ) { lVar3 = lVar5; if (bVar7) { lVar3 = puVar2[2]; } if ((lVar3 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(param_1 + 0x30c) <= iVar6) && (iVar6 = *(int *)(param_1 + 0x30c) + -1, iVar6 < 0)) break; plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x300) + (longlong)iVar6 * 8); (**(code **)(*plVar4 + 0x18))(plVar4,param_1); } if (bVar7) { lVar5 = puVar2[2]; } if ((lVar5 == 0) || (*(longlong *)(param_1 + 0x180) == 0)) goto LAB_1812dd3e5; plVar4 = *(longlong **)(param_1 + 0x180); if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } } else { if (param_2 != 0x10003004) goto LAB_1812dd3e5; FUN_1812e1050(param_1); iVar6 = *(int *)(param_1 + 0x30c); lVar5 = 0; while( true ) { lVar3 = lVar5; if (puVar2 != (undefined8 *)0x0) { lVar3 = puVar2[2]; } if ((lVar3 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(param_1 + 0x30c) <= iVar6) && (iVar6 = *(int *)(param_1 + 0x30c) + -1, iVar6 < 0)) break; plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x300) + (longlong)iVar6 * 8); (**(code **)(*plVar4 + 0x20))(plVar4,param_1); } if (puVar2 != (undefined8 *)0x0) { lVar5 = puVar2[2]; } if ((lVar5 == 0) || (*(longlong *)(param_1 + 0x1c0) == 0)) goto LAB_1812dd3e5; plVar4 = *(longlong **)(param_1 + 0x1c0); if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } } (**(code **)(*plVar4 + 0x10))(); LAB_1812dd3e5: if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res18[0])(local_res18[0],1); } } return; } ############ FUN_ 1812e3060 size=411 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812e3060(longlong *param_1,undefined4 param_2) { int *piVar1; longlong lVar2; undefined8 uVar3; undefined8 *puVar4; int iVar5; undefined8 *local_res8; undefined1 local_res18 [16]; longlong local_e8; longlong lStack_e0; undefined8 local_d8; undefined8 *puStack_d0; undefined8 local_c8; undefined **local_c0; undefined1 *local_b8; undefined8 *local_b0; undefined4 local_a8; undefined ***local_88; undefined8 local_80; undefined8 uStack_78; undefined8 local_70; undefined8 uStack_68; undefined8 local_60; undefined8 local_58; undefined8 uStack_50; undefined4 local_48; undefined1 local_44; undefined4 local_40; local_c8 = 0xfffffffffffffffe; local_e8 = 0; lStack_e0 = 0; local_d8 = 0; puStack_d0 = (undefined8 *)0x0; (**(code **)(*param_1 + 0x160))(param_1,&local_e8,param_2); iVar5 = 0; lVar2 = local_e8; if (local_e8 != lStack_e0) { do { if (*(char *)(lVar2 + 0x86) == '\0') { iVar5 = iVar5 + 1; } lVar2 = lVar2 + 0x88; } while (lVar2 != lStack_e0); if (0 < iVar5) { uVar3 = FUN_18134adf0(param_1); FUN_18051b750(&puStack_d0,uVar3); local_80 = 0; uStack_78 = 0; local_70 = 0; uStack_68 = 0; local_60 = 0; local_58 = _DAT_1824c47c0; uStack_50 = _UNK_1824c47c8; local_48 = 0; local_44 = 0; local_40 = 1; puVar4 = (undefined8 *)FUN_18133c1f0(local_res18); local_80 = *puVar4; FUN_1804de690(&local_res8,param_1); puVar4 = local_res8; if (local_res8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; UNLOCK(); } local_c0 = std::_Func_impl_no_alloc<,void,int>:: vftable; local_b8 = &LAB_1812e3210; local_b0 = local_res8; local_88 = &local_c0; local_a8 = param_2; uVar3 = FUN_181347bc0(&local_c0); if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res8)(local_res8,1); } } FUN_1812f0230(&local_e8,&local_80,uVar3); } } if (puStack_d0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puStack_d0 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*puStack_d0)(puStack_d0,1); } } FUN_18051c930(&local_e8); return; } ############ FUN_ 1812e87f0 size=221 ############ void FUN_1812e87f0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; int iVar3; undefined8 *puVar4; char cVar5; longlong lVar6; longlong lVar7; bool bVar8; undefined8 *local_res8; if (*(longlong *)(param_1 + 0x108) != 0) { plVar2 = (longlong *)(param_1 + -0xc0); FUN_1804de690(&local_res8,plVar2,param_3,param_4,0xfffffffffffffffe); cVar5 = FUN_1812e9110(plVar2,param_2); FUN_1812e8fb0(plVar2,1); puVar4 = local_res8; if (cVar5 != '\0') { bVar8 = local_res8 != (undefined8 *)0x0; lVar7 = 0; lVar6 = lVar7; if (bVar8) { lVar6 = local_res8[2]; } if (lVar6 != 0) { (**(code **)(*plVar2 + 0x160))(plVar2); if (bVar8) { lVar7 = puVar4[2]; } if (lVar7 != 0) { FUN_1812e8980(plVar2); } } } if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res8)(local_res8,1); } } } return; } ############ FUN_ 1812e97a0 size=271 ############ void FUN_1812e97a0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; code *pcVar3; undefined8 *puVar4; longlong lVar5; longlong lVar6; int iVar7; bool bVar8; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); puVar4 = local_res8; iVar7 = *(int *)(param_1 + 0x1dc); bVar8 = local_res8 != (undefined8 *)0x0; lVar6 = 0; while( true ) { lVar5 = lVar6; if (bVar8) { lVar5 = puVar4[2]; } if ((lVar5 == 0) || (iVar7 < 1)) break; iVar7 = iVar7 + -1; if ((*(int *)(param_1 + 0x1dc) <= iVar7) && (iVar7 = *(int *)(param_1 + 0x1dc) + -1, iVar7 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x1d0) + (longlong)iVar7 * 8); pcVar3 = *(code **)(*plVar2 + 0x10); if (pcVar3 != _guard_check_icall) { (*pcVar3)(plVar2,param_1,param_2); } } if (bVar8) { lVar6 = puVar4[2]; } if ((lVar6 != 0) && (*(longlong *)(param_1 + 0x150) != 0)) { if (*(longlong **)(param_1 + 0x150) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(**(longlong **)(param_1 + 0x150) + 0x10))(); } if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1812ea310 size=254 ############ void FUN_1812ea310(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; longlong lVar5; int iVar6; bool bVar7; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1 + -200,param_3,param_4,0xfffffffffffffffe); puVar3 = local_res8; iVar6 = *(int *)(param_1 + 0xa4); bVar7 = local_res8 != (undefined8 *)0x0; lVar5 = 0; while( true ) { lVar4 = lVar5; if (bVar7) { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(param_1 + 0xa4) <= iVar6) && (iVar6 = *(int *)(param_1 + 0xa4) + -1, iVar6 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x98) + (longlong)iVar6 * 8); (**(code **)(*plVar2 + 8))(plVar2,param_1 + -200); } if (bVar7) { lVar5 = puVar3[2]; } if ((lVar5 != 0) && (*(longlong *)(param_1 + 0x48) != 0)) { if (*(longlong **)(param_1 + 0x48) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(**(longlong **)(param_1 + 0x48) + 0x10))(); } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1812eccd0 size=187 ############ void FUN_1812eccd0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; int iVar5; bool bVar6; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); puVar3 = local_res8; iVar5 = *(int *)(param_1 + 0xe4); bVar6 = local_res8 == (undefined8 *)0x0; while( true ) { if (bVar6) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar5 < 1)) break; iVar5 = iVar5 + -1; if ((*(int *)(param_1 + 0xe4) <= iVar5) && (iVar5 = *(int *)(param_1 + 0xe4) + -1, iVar5 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0xd8) + (longlong)iVar5 * 8); (**(code **)(*plVar2 + 8))(plVar2,param_1); } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1812f3550 size=1060 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f3550(longlong param_1,uint param_2) { undefined8 *puVar1; undefined8 uVar2; int *piVar3; undefined8 *puVar4; longlong lVar5; int iVar6; int iVar7; undefined8 *local_res8; undefined1 local_res18 [16]; undefined1 local_1b8 [24]; undefined8 *local_1a0; int local_198; int iStack_194; int iStack_190; int iStack_18c; undefined8 local_188; undefined8 local_180; undefined8 *local_178; undefined4 local_170; int local_16c; undefined4 local_168; undefined4 local_164; undefined4 local_160; undefined1 local_15c; undefined4 local_158; undefined8 local_150; int local_148; int iStack_144; int iStack_140; int iStack_13c; undefined **local_138; undefined1 *local_130; undefined8 *local_128; uint local_120; undefined ***local_100; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined8 uStack_e0; undefined8 local_d8; undefined8 local_d0; undefined8 uStack_c8; undefined4 local_c0; undefined1 local_bc; undefined4 local_b8; undefined1 local_b0 [40]; undefined1 local_88 [32]; undefined8 *local_68; local_150 = 0xfffffffffffffffe; if (param_2 != *(uint *)(param_1 + 0x104)) { FUN_18134b590(); (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))((longlong *)(param_1 + 0xb0),0); FUN_1812f39d0(param_1,param_2); if (*(uint *)(param_1 + 0x100) != param_2) { FUN_1812f3ae0(param_1); *(uint *)(param_1 + 0x100) = param_2; FUN_1812f3ae0(param_1,param_2); } if (-1 < (int)param_2) { lVar5 = **(longlong **)(param_1 + 0xd0); uVar2 = FUN_181249970(param_1 + 0xd8,*(undefined4 *)(param_1 + 0x100)); (**(code **)(lVar5 + 0x18)) (*(undefined8 *)(param_1 + 0xd0),local_1b8,*(undefined4 *)(param_1 + 0x100),uVar2); lVar5 = 0; if (local_1a0 != (undefined8 *)0x0) { lVar5 = local_1a0[2]; } if (lVar5 == 0) { uVar2 = FUN_18134adf0(param_1); FUN_18051b750(&local_1a0,uVar2); } iStack_18c = *(int *)(param_1 + 0x2c); local_198 = 0; iVar6 = local_198; if (param_2 + 1 < *(uint *)(param_1 + 0xf4)) { iVar6 = *(int *)(*(longlong *)(param_1 + 0xe8) + (longlong)(int)(param_2 + 1) * 4); } iVar7 = local_198; if (param_2 < *(uint *)(param_1 + 0xf4)) { iVar7 = *(int *)(*(longlong *)(param_1 + 0xe8) + (longlong)(int)param_2 * 4); } if (param_2 < *(uint *)(param_1 + 0xf4)) { local_198 = *(int *)(*(longlong *)(param_1 + 0xe8) + (longlong)(int)param_2 * 4); } iStack_194 = 0; iStack_190 = iVar6 - iVar7; for (lVar5 = param_1; lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x18)) { local_148 = local_198; iStack_144 = iStack_194; iStack_140 = iStack_190; iStack_13c = iStack_18c; piVar3 = (int *)FUN_18051e4b0(local_b0,lVar5,&local_148); local_198 = *piVar3; iStack_194 = piVar3[1]; iStack_190 = piVar3[2]; iStack_18c = piVar3[3]; } local_f8 = 0; uStack_f0 = 0; local_e8 = 0; uStack_e0 = 0; local_d8 = 0; local_c0 = 0; local_bc = 0; local_b8 = 1; local_d0 = _DAT_1824c47c0; uStack_c8 = _UNK_1824c47c8; puVar4 = (undefined8 *)FUN_18133c1f0(local_res18); local_f8 = *puVar4; lVar5 = FUN_1812f0830(&local_f8,local_88,param_1); local_188 = *(undefined8 *)(lVar5 + 0x10); local_180 = *(undefined8 *)(lVar5 + 0x18); puVar4 = *(undefined8 **)(lVar5 + 0x20); if (puVar4 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar4 + 1) = *(int *)(puVar4 + 1) + 1; UNLOCK(); } local_170 = *(undefined4 *)(lVar5 + 0x28); local_168 = *(undefined4 *)(lVar5 + 0x30); local_164 = *(undefined4 *)(lVar5 + 0x34); local_160 = *(undefined4 *)(lVar5 + 0x38); local_15c = *(undefined1 *)(lVar5 + 0x3c); local_158 = *(undefined4 *)(lVar5 + 0x40); if (puVar4 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar4 + 1) = *(int *)(puVar4 + 1) + 1; UNLOCK(); } local_178 = puVar4; local_16c = iVar6 - iVar7; FUN_1804de690(&local_res8,param_1); puVar1 = local_res8; if (local_res8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res8 + 1) = *(int *)(local_res8 + 1) + 1; UNLOCK(); } local_138 = std::_Func_impl_no_alloc<,void,int>:: vftable; local_130 = &LAB_1812f3530; local_128 = local_res8; local_100 = &local_138; local_120 = param_2; uVar2 = FUN_181347bc0(&local_138); if (puVar1 != (undefined8 *)0x0) { LOCK(); piVar3 = (int *)(puVar1 + 1); iVar6 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res8)(local_res8,1); } } FUN_1812f0230(local_1b8,&local_198,uVar2); if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar3 = (int *)(puVar4 + 1); iVar6 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*puVar4)(puVar4,1); } } if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar3 = (int *)(puVar4 + 1); iVar6 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*puVar4)(puVar4,1); } } if (local_68 != (undefined8 *)0x0) { LOCK(); piVar3 = (int *)(local_68 + 1); iVar6 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_68)(local_68,1); } } if (local_1a0 != (undefined8 *)0x0) { LOCK(); piVar3 = (int *)(local_1a0 + 1); iVar6 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_1a0)(local_1a0,1); } } FUN_18051c930(local_1b8); } } return; } ############ FUN_ 1813184c0 size=255 ############ /* WARNING: Removing unreachable block (ram,0x00018131851b) */ /* WARNING: Removing unreachable block (ram,0x000181318527) */ /* WARNING: Removing unreachable block (ram,0x000181318530) */ /* WARNING: Removing unreachable block (ram,0x000181318549) */ void FUN_1813184c0(longlong *param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *local_28 [2]; FUN_1804de690(local_28,param_4); iVar2 = *(int *)((longlong)param_1 + 0xc4) + 1; if ((int)param_1[0x18] < iVar2) { FUN_18051cb30(param_1 + 0x17,*(int *)((longlong)param_1 + 0xc4) + 9 + iVar2 / 2 & 0xfffffff8); } *(undefined8 **)(param_1[0x17] + (longlong)*(int *)((longlong)param_1 + 0xc4) * 8) = local_28[0]; if (local_28[0] != (undefined8 *)0x0) { LOCK(); *(int *)(local_28[0] + 1) = *(int *)(local_28[0] + 1) + 1; UNLOCK(); } *(int *)((longlong)param_1 + 0xc4) = *(int *)((longlong)param_1 + 0xc4) + 1; if (local_28[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_28[0] + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_28[0])(local_28[0],1); } } FUN_181319d00(param_1[0x16],param_2,param_3); /* WARNING: Could not recover jumptable at 0x0001813185b8. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x108))(param_1); return; } ############ FUN_ 181347f60 size=206 ############ undefined4 * FUN_181347f60(undefined4 *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong lVar3; undefined4 uVar4; undefined4 uVar5; undefined4 uVar6; undefined8 *puVar7; undefined8 *local_res8; undefined4 *local_res10; undefined8 local_res20; uVar4 = param_1[1]; uVar5 = param_1[2]; uVar6 = param_1[3]; *param_2 = *param_1; param_2[1] = uVar4; param_2[2] = uVar5; param_2[3] = uVar6; *(undefined8 *)(param_2 + 4) = *(undefined8 *)(param_1 + 4); *(undefined8 *)(param_2 + 6) = *(undefined8 *)(param_1 + 6); lVar3 = *(longlong *)(param_1 + 8); *(longlong *)(param_2 + 8) = lVar3; if (lVar3 != 0) { LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); } param_2[10] = param_1[10]; param_2[0xb] = param_1[0xb]; param_2[0xc] = param_1[0xc]; param_2[0xd] = param_1[0xd]; param_2[0xe] = param_1[0xe]; *(undefined1 *)(param_2 + 0xf) = *(undefined1 *)(param_1 + 0xf); param_2[0x10] = param_1[0x10]; local_res10 = param_2; puVar7 = (undefined8 *)FUN_1804de690(&local_res8,param_3,param_3,param_4,1,0xfffffffffffffffe); local_res20 = *(undefined8 *)(param_2 + 8); *(undefined8 *)(param_2 + 8) = *puVar7; *puVar7 = local_res20; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } *(undefined1 *)(param_2 + 0xf) = 1; return param_2; } ############ FUN_ 18131fb50 size=260 ############ undefined8 * FUN_18131fb50(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = juce::ResizableBorderComponent::vftable; FUN_1804de690(); param_1[0x17] = param_3; *(undefined4 *)(param_1 + 0x18) = 5; *(undefined4 *)((longlong)param_1 + 0xc4) = 5; *(undefined4 *)(param_1 + 0x19) = 5; *(undefined8 *)((longlong)param_1 + 0xcc) = 5; *(undefined8 *)((longlong)param_1 + 0xd4) = 0; *(undefined8 *)((longlong)param_1 + 0xdc) = 0; return param_1; } ############ FUN_ 181329d80 size=121 ############ bool FUN_181329d80(longlong param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 *puVar2; undefined8 uVar3; undefined8 local_res18 [2]; local_res18[0] = param_3; FUN_1804de690(local_res18,DAT_182673708,param_3,param_4,0xfffffffffffffffe); uVar3 = FUN_181329c90(param_1,param_2); puVar2 = *(undefined8 **)(param_1 + 0x78); *(undefined8 *)(param_1 + 0x78) = uVar3; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } (**(code **)(**(longlong **)(param_1 + 0x78) + 0x10))(); iVar1 = *(int *)(param_1 + 0x2c); FUN_1804e4a90(local_res18); return 0 < iVar1; } ############ FUN_ 181325f50 size=191 ############ void FUN_181325f50(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; int iVar5; bool bVar6; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1 + -200,param_3,param_4,0xfffffffffffffffe); puVar3 = local_res8; iVar5 = *(int *)(param_1 + 0x1dc); bVar6 = local_res8 == (undefined8 *)0x0; while( true ) { if (bVar6) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar5 < 1)) break; iVar5 = iVar5 + -1; if ((*(int *)(param_1 + 0x1dc) <= iVar5) && (iVar5 = *(int *)(param_1 + 0x1dc) + -1, iVar5 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x1d0) + (longlong)iVar5 * 8); (**(code **)(*plVar2 + 8))(plVar2,param_1 + -200); } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 181328b40 size=1280 ############ void FUN_181328b40(longlong param_1) { int *piVar1; longlong lVar2; bool bVar3; char cVar4; int iVar5; undefined8 uVar6; undefined8 *puVar7; longlong *plVar8; undefined8 uVar9; uint uVar10; uint *puVar11; bool bVar12; undefined4 local_res8; undefined4 uStackX_c; longlong local_res10; undefined8 *local_res18; longlong local_res20; longlong local_108; longlong local_100; longlong local_f8; longlong local_f0; longlong local_e8; longlong local_e0; longlong local_d8; longlong local_d0; undefined4 *local_c8; longlong *local_c0; longlong local_b8; undefined1 local_b0 [8]; longlong local_a8; longlong local_a0 [3]; undefined **local_88; undefined1 *local_80; undefined8 *local_78; undefined ***local_50; local_a0[1] = 0xfffffffffffffffe; bVar12 = false; local_res8 = 0; if ((*(char *)(param_1 + 0x150) == '\0') || (lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0xb0), (*(uint *)(lVar2 + 0xf0) >> 1 & 1) == 0)) { LAB_181328baa: bVar3 = false; } else { uVar6 = FUN_18132c510(lVar2,&local_b8,0); bVar12 = true; cVar4 = FUN_181245810(uVar6); if (cVar4 == '\0') goto LAB_181328baa; bVar3 = true; } if ((bVar12) && (puVar11 = (uint *)(local_b8 + -0x10), (*puVar11 & 0x30000000) == 0)) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if (!bVar3) { FUN_181343150(param_1,1); return; } FUN_18049c4e0(&local_res8,"Cancel"); lVar2 = DAT_1826739f8; local_c8 = &DAT_182673984; do { LOCK(); uVar10 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar10 != 0); if (DAT_1826739f8 == 0) { local_res10 = CONCAT44(uStackX_c,local_res8); uVar10 = *(uint *)(local_res10 + -0x10); } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) != 0) && (iVar5 = FUN_1812498b0(DAT_1826739f8 + 0x18,CONCAT44(uStackX_c,local_res8), *(undefined1 *)(DAT_1826739f8 + 0x38),0), iVar5 < 0)) { FUN_181234570(*(undefined8 *)(lVar2 + 0x40),&local_res10,&local_res8,&local_res8); goto LAB_181328ca4; } iVar5 = FUN_1812498b0(lVar2 + 0x18,CONCAT44(uStackX_c,local_res8),*(undefined1 *)(lVar2 + 0x38), 0); if (iVar5 < 0) { local_res10 = CONCAT44(uStackX_c,local_res8); uVar10 = *(uint *)(local_res10 + -0x10); } else { plVar8 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar5); local_res10 = *plVar8; uVar10 = *(uint *)(local_res10 + -0x10); } } if ((uVar10 & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } LAB_181328ca4: LOCK(); DAT_182673984 = 0; UNLOCK(); puVar11 = (uint *)(CONCAT44(uStackX_c,local_res8) + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_18049c4e0(&local_res20,"Overwrite"); FUN_1812344e0(&local_d0,&local_res20); puVar11 = (uint *)(local_res20 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_18049c4e0(&local_108,"Are you sure you want to overwrite it?"); FUN_1812344e0(&local_d8,&local_108); puVar11 = (uint *)(local_108 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar7 = (undefined8 *) FUN_18132c510(*(undefined8 *)(*(longlong *)(param_1 + 0x148) + 0xb0),local_a0,0); FUN_18049c4e0(&local_100,"There\'s already a file called: FLNM"); FUN_1812344e0(&local_e0,&local_100); puVar11 = (uint *)(local_100 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } local_a0[2] = *puVar7; plVar8 = (longlong *)FUN_1812319a0(&local_e0,local_b0,&DAT_1821e3efc); local_c0 = plVar8; FUN_181232e20(plVar8,&DAT_1821e2c4c,&DAT_1821e2c4e); local_f8 = *plVar8; if ((*(uint *)(local_f8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f8 + -0x10) = *(int *)(local_f8 + -0x10) + 1; UNLOCK(); } puVar11 = (uint *)(*plVar8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } uVar6 = FUN_181232aa0(&local_a8,&local_f8,&local_d8); FUN_18049c4e0(&local_f0,"File already exists"); FUN_1812344e0(&local_e8,&local_f0); puVar11 = (uint *)(local_f0 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } FUN_1804de690(&local_res18,param_1); puVar7 = local_res18; if (local_res18 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res18 + 1) = *(int *)(local_res18 + 1) + 1; UNLOCK(); } local_88 = std::_Func_impl_no_alloc<,void,int>::vftable; local_80 = &LAB_181329070; local_78 = local_res18; local_50 = &local_88; uVar9 = FUN_181347bc0(&local_88); if (puVar7 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar7 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res18)(local_res18,1); } } FUN_181346500(2,&local_e8,uVar6,&local_d0,&local_res10,param_1,uVar9); puVar11 = (uint *)(local_e8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_a8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_e0 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_a0[0] + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_d8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_d0 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_res10 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } return; } ############ FUN_ 18132b010 size=203 ############ void FUN_18132b010(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong lVar4; int iVar5; bool bVar6; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1 + -0xb0,param_3,param_4,0xfffffffffffffffe); puVar3 = local_res8; iVar5 = *(int *)(param_1 + 0x6c); bVar6 = local_res8 == (undefined8 *)0x0; while( true ) { if (bVar6) { lVar4 = 0; } else { lVar4 = puVar3[2]; } if ((lVar4 == 0) || (iVar5 < 1)) break; iVar5 = iVar5 + -1; if ((*(int *)(param_1 + 0x6c) <= iVar5) && (iVar5 = *(int *)(param_1 + 0x6c) + -1, iVar5 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x60) + (longlong)iVar5 * 8); (**(code **)(*plVar2 + 0x10))(plVar2,param_2,param_3); } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 18132b3d0 size=276 ############ void FUN_18132b3d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; uint uVar2; undefined8 *puVar3; undefined8 uVar4; longlong lVar5; uint *_Memory; int iVar6; bool bVar7; undefined8 *local_res8; longlong local_res10; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); if (*(longlong *)(param_1 + 0x128) != 0) { uVar4 = FUN_18132c510(param_1,&local_res10,0); (**(code **)(**(longlong **)(param_1 + 0x128) + 0x158))(*(longlong **)(param_1 + 0x128),uVar4); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } puVar3 = local_res8; iVar6 = *(int *)(param_1 + 0x11c); bVar7 = local_res8 == (undefined8 *)0x0; while( true ) { if (bVar7) { lVar5 = 0; } else { lVar5 = puVar3[2]; } if ((lVar5 == 0) || (iVar6 < 1)) break; iVar6 = iVar6 + -1; if ((*(int *)(param_1 + 0x11c) <= iVar6) && (iVar6 = *(int *)(param_1 + 0x11c) + -1, iVar6 < 0)) break; (**(code **)(**(longlong **)(*(longlong *)(param_1 + 0x110) + (longlong)iVar6 * 8) + 8))(); } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 18132e950 size=209 ############ void FUN_18132e950(longlong param_1) { int *piVar1; undefined8 *puVar2; undefined8 uVar3; longlong lVar4; int iVar5; bool bVar6; undefined8 *local_res8; uVar3 = __RTDynamicCast(param_1,0,&juce::DirectoryContentsDisplayComponent::RTTI_Type_Descriptor, &juce::Component::RTTI_Type_Descriptor,0); FUN_1804de690(&local_res8,uVar3); puVar2 = local_res8; iVar5 = *(int *)(param_1 + 0x1c); bVar6 = local_res8 == (undefined8 *)0x0; while( true ) { if (bVar6) { lVar4 = 0; } else { lVar4 = puVar2[2]; } if ((lVar4 == 0) || (iVar5 < 1)) break; iVar5 = iVar5 + -1; if ((*(int *)(param_1 + 0x1c) <= iVar5) && (iVar5 = *(int *)(param_1 + 0x1c) + -1, iVar5 < 0)) break; (**(code **)(**(longlong **)(*(longlong *)(param_1 + 0x10) + (longlong)iVar5 * 8) + 8))(); } if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 181336170 size=303 ############ void FUN_181336170(longlong param_1) { int *piVar1; int iVar2; longlong lVar3; undefined8 *puVar4; longlong lVar5; longlong lVar6; longlong lVar7; undefined8 *local_res8; undefined8 local_res10; lVar7 = 0; lVar6 = lVar7; if (*(int *)(param_1 + 0x14c) != 0) { lVar3 = *(longlong *)(param_1 + 0x18); lVar6 = param_1; while (lVar5 = lVar3, lVar5 != 0) { lVar6 = lVar5; lVar3 = *(longlong *)(lVar5 + 0x18); } } lVar3 = lVar7; if (*(longlong *)(param_1 + 0x150) != 0) { lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x150) + 0x10); } if (lVar6 != lVar3) { if ((*(longlong *)(param_1 + 0x150) != 0) && (*(longlong *)(*(longlong *)(param_1 + 0x150) + 0x10) != 0)) { lVar3 = *(longlong *)(param_1 + 0x170) + 0x28; if (*(longlong *)(param_1 + 0x170) == 0) { lVar3 = lVar7; } lVar5 = lVar7; if (*(longlong *)(param_1 + 0x150) != 0) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x150) + 0x10); } FUN_18133e200(lVar5,lVar3); } puVar4 = (undefined8 *)FUN_1804de690(&local_res8,lVar6); local_res10 = *(undefined8 *)(param_1 + 0x150); *(undefined8 *)(param_1 + 0x150) = *puVar4; *puVar4 = local_res10; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } if ((*(longlong *)(param_1 + 0x150) != 0) && (*(longlong *)(*(longlong *)(param_1 + 0x150) + 0x10) != 0)) { lVar6 = *(longlong *)(param_1 + 0x170) + 0x28; if (*(longlong *)(param_1 + 0x170) == 0) { lVar6 = lVar7; } if (*(longlong *)(param_1 + 0x150) != 0) { lVar7 = *(longlong *)(*(longlong *)(param_1 + 0x150) + 0x10); } FUN_18133e2b0(lVar7,lVar6); } } return; } ############ FUN_ 181339d60 size=94 ############ undefined8 * FUN_181339d60(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; plVar1 = (longlong *)*param_2; *param_1 = plVar1; (**(code **)(*plVar1 + 0xb8))(plVar1,param_1 + 1,param_2 + 1,param_4,0xfffffffffffffffe); FUN_1804de690(param_1 + 2,param_3); param_1[3] = param_4; return param_1; } ############ FUN_ 18133aef0 size=281 ############ undefined4 FUN_18133aef0(longlong param_1) { longlong lVar1; char cVar2; int iVar3; undefined8 uVar4; longlong lVar5; int iVar6; bool bVar7; char local_res8 [8]; undefined4 local_res10 [2]; undefined1 local_res18 [16]; undefined **local_60; undefined4 *local_58; char *pcStack_50; undefined ***local_28; local_res10[0] = 0; iVar6 = 0; iVar3 = *(int *)(param_1 + 0x24) + -1; lVar5 = (longlong)iVar3; if (-1 < iVar3) { do { lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x18) + lVar5 * 8); if ((*(char *)(lVar1 + 0x5c) != '\0') && (bVar7 = iVar6 == 0, iVar6 = iVar6 + 1, bVar7)) { lVar5 = *(longlong *)(lVar1 + 0x40); if (lVar5 == 0) { return 0; } FUN_1804de690(local_res18,DAT_182673708,1,*(longlong *)(param_1 + 0x18),0xfffffffffffffffe); local_res8[0] = '\0'; local_58 = local_res10; pcStack_50 = local_res8; local_60 = std::_Func_impl_no_alloc<,void,int>:: vftable; local_28 = &local_60; uVar4 = FUN_181347bc0(&local_60); FUN_18133b470(param_1,lVar5,uVar4); goto joined_r0x00018133afc9; } lVar5 = lVar5 + -1; } while (-1 < lVar5); } return 0; while( true ) { uVar4 = FUN_1812a7550(); cVar2 = FUN_1812a6650(uVar4); if (cVar2 == '\0') break; joined_r0x00018133afc9: if (local_res8[0] != '\0') break; } FUN_1804e4a90(local_res18); return local_res10[0]; } ############ FUN_ 18133bec0 size=163 ############ void FUN_18133bec0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; undefined8 *puVar3; int iVar4; undefined8 *local_res8; FUN_1804de690(&local_res8,DAT_182673708,param_3,param_4,0xfffffffffffffffe); puVar3 = local_res8; iVar4 = *(int *)(param_1 + 0x34); while (0 < iVar4) { iVar4 = iVar4 + -1; if ((*(int *)(param_1 + 0x34) <= iVar4) && (iVar4 = *(int *)(param_1 + 0x34) + -1, iVar4 < 0)) break; plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x28) + (longlong)iVar4 * 8); if (puVar3 == (undefined8 *)0x0) { (**(code **)(*plVar2 + 8))(plVar2,0); } else { (**(code **)(*plVar2 + 8))(); } } if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 18133e1b0 size=23 ############ undefined8 FUN_18133e1b0(undefined8 param_1) { FUN_1804de690(); return param_1; } ############ FUN_ 18133f3f0 size=147 ############ void FUN_18133f3f0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; undefined8 *local_res8; FUN_1804de690(&local_res8,param_1,param_3,param_4,0xfffffffffffffffe); (**(code **)(*param_1 + 0xf0))(param_1,2); puVar3 = local_res8; if (local_res8 == (undefined8 *)0x0) { lVar4 = 0; } else { lVar4 = local_res8[2]; } if (lVar4 != 0) { FUN_18133f200(param_1,2,&local_res8); } 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; } ############ FUN_ 1813450b0 size=95 ############ void FUN_1813450b0(longlong param_1,int param_2,int param_3) { if (param_2 != param_3) { FUN_181342b10(*(undefined8 *)(*(longlong *)(param_1 + 0x40) + (longlong)param_2 * 8)); FUN_18051b170(param_1 + 0x40,param_2,param_3); FUN_18133f790(); FUN_1813437a0(param_1); } return; } ############ FUN_ 1812a6720 size=337 ############ undefined8 FUN_1812a6720(undefined8 *param_1) { int *piVar1; int iVar2; longlong lVar3; void *pvVar4; int iVar5; uint uVar6; lVar3 = DAT_182673ad8; if (((DAT_1826736d0 != 0) && (*(int *)(DAT_1826736d0 + 8) == 0)) && (DAT_182673ad8 != 0)) { EnterCriticalSection((LPCRITICAL_SECTION)(DAT_182673ad8 + 8)); iVar2 = *(int *)(lVar3 + 0x44); iVar5 = *(int *)(lVar3 + 0x44) + 1; if ((int)*(uint *)(lVar3 + 0x40) < iVar5) { uVar6 = *(int *)(lVar3 + 0x44) + 9 + iVar5 / 2 & 0xfffffff8; if (*(uint *)(lVar3 + 0x40) != uVar6) { pvVar4 = *(void **)(lVar3 + 0x38); if ((int)uVar6 < 1) { /* WARNING: Subroutine does not return */ free(pvVar4); } if (pvVar4 == (void *)0x0) { pvVar4 = malloc((longlong)(int)uVar6 * 8); *(void **)(lVar3 + 0x38) = pvVar4; } else { pvVar4 = realloc(pvVar4,(longlong)(int)uVar6 * 8); *(void **)(lVar3 + 0x38) = pvVar4; } } *(uint *)(lVar3 + 0x40) = uVar6; } iVar5 = *(int *)(lVar3 + 0x44); *(int *)(lVar3 + 0x44) = iVar5 + 1; *(undefined8 **)(*(longlong *)(lVar3 + 0x38) + (longlong)iVar5 * 8) = param_1; if (param_1 != (undefined8 *)0x0) { LOCK(); *(int *)(param_1 + 1) = *(int *)(param_1 + 1) + 1; UNLOCK(); } LeaveCriticalSection((LPCRITICAL_SECTION)(lVar3 + 8)); if (iVar2 == 0) { PostMessageW(DAT_1826736b0,0x47b,0,0); } return 1; } if (param_1 != (undefined8 *)0x0) { LOCK(); *(int *)(param_1 + 1) = *(int *)(param_1 + 1) + 1; UNLOCK(); LOCK(); piVar1 = (int *)(param_1 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*param_1)(); } } return 0; } ############ FUN_ 18133e1d0 size=39 ############ void FUN_18133e1d0(longlong *param_1) { FUN_18133f790(); /* WARNING: Could not recover jumptable at 0x00018133e1f0. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0xe8))(param_1,&DAT_182673aec); return; } ############ FUN_ 18134caa0 size=363 ############ void FUN_18134caa0(undefined8 *param_1) { int *piVar1; longlong *plVar2; longlong lVar3; undefined8 *puVar4; undefined4 uVar5; longlong *plVar6; int iVar7; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; *param_1 = juce::Component::vftable; iVar7 = *(int *)((longlong)param_1 + 0x8c); while (0 < iVar7) { iVar7 = iVar7 + -1; if ((*(int *)((longlong)param_1 + 0x8c) <= iVar7) && (iVar7 = *(int *)((longlong)param_1 + 0x8c) + -1, iVar7 < 0)) break; plVar2 = *(longlong **)(param_1[0x10] + (longlong)iVar7 * 8); (**(code **)(*plVar2 + 0x38))(plVar2,param_1); } if (param_1[0x14] != 0) { *(undefined8 *)(param_1[0x14] + 0x10) = 0; } iVar7 = *(int *)((longlong)param_1 + 0x4c); while (0 < iVar7) { FUN_181343a90(param_1,iVar7 + -1,0,1,uVar8); iVar7 = *(int *)((longlong)param_1 + 0x4c); } lVar3 = param_1[3]; puVar4 = DAT_182673708; if (lVar3 == 0) { for (; puVar4 != param_1; puVar4 = (undefined8 *)puVar4[3]) { if (puVar4 == (undefined8 *)0x0) goto LAB_18134cbbc; } FUN_18133eae0(DAT_182673708 != param_1); } else { plVar2 = *(longlong **)(lVar3 + 0x40); for (plVar6 = plVar2; plVar6 != plVar2 + *(int *)(lVar3 + 0x4c); plVar6 = plVar6 + 1) { if (param_1 == (undefined8 *)*plVar6) { uVar5 = (undefined4)((longlong)plVar6 - (longlong)plVar2 >> 3); goto LAB_18134cb70; } } uVar5 = 0xffffffff; LAB_18134cb70: FUN_181343a90(lVar3,uVar5,CONCAT71((int7)((ulonglong)plVar2 >> 8),1),0,uVar8); } LAB_18134cbbc: if ((*(byte *)(param_1 + 0x15) & 1) != 0) { FUN_18134c310(param_1); } puVar4 = (undefined8 *)param_1[0x14]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*puVar4)(puVar4,1); } } FUN_18049b580(param_1 + 0x12); /* WARNING: Subroutine does not return */ free((void *)param_1[0x12]); } ############ FUN_ 18133eaa0 size=48 ############ ulonglong FUN_18133eaa0(longlong param_1) { ulonglong in_RAX; if ((*(byte *)(param_1 + 0xa9) & 0x10) == 0) { if (*(longlong *)(param_1 + 0x18) != 0) { in_RAX = FUN_18133eaa0(); if ((char)in_RAX == '\0') goto LAB_18133eac9; } return 1; } LAB_18133eac9: return in_RAX & 0xffffffffffffff00; } ############ FUN_ 1804e4a90 size=153 ############ void FUN_1804e4a90(longlong *param_1) { int *piVar1; int iVar2; undefined8 *puVar3; char cVar4; undefined8 uVar5; undefined8 uVar6; if (((*param_1 != 0) && (*(longlong *)(*param_1 + 0x10) != 0)) && (cVar4 = FUN_181345240(), cVar4 != '\0')) { uVar6 = 0; uVar5 = uVar6; if (*param_1 != 0) { uVar5 = *(undefined8 *)(*param_1 + 0x10); } cVar4 = FUN_181343030(uVar5); if (cVar4 == '\0') { if (*param_1 != 0) { uVar6 = *(undefined8 *)(*param_1 + 0x10); } FUN_18133ed60(uVar6,2,1); } } puVar3 = (undefined8 *)*param_1; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } return; } ############ FUN_ 181320970 size=316 ############ void FUN_181320970(longlong param_1,longlong param_2) { undefined8 *puVar1; longlong lVar2; longlong lVar3; int iVar4; undefined8 *puVar5; if (*(int *)(param_1 + 0xb8) == 0) { puVar5 = *(undefined8 **)(param_1 + 0x40); puVar1 = puVar5 + *(int *)(param_1 + 0x4c); lVar2 = param_2; if (puVar5 != puVar1) { do { lVar2 = __RTDynamicCast(*puVar5,0,&juce::Component::RTTI_Type_Descriptor, &juce::MultiDocumentPanelWindow::RTTI_Type_Descriptor,0); if (lVar2 != 0) { lVar3 = 0; if (*(longlong *)(lVar2 + 0xd0) != 0) { lVar3 = *(longlong *)(*(longlong *)(lVar2 + 0xd0) + 0x10); } if (lVar3 == param_2) break; } puVar5 = puVar5 + 1; lVar2 = param_2; } while (puVar5 != puVar1); } if (lVar2 != 0) { FUN_181344f60(lVar2,1); return; } } else if (*(longlong *)(param_1 + 0xd0) == 0) { FUN_18133ed60(param_2,2,1); } else { iVar4 = *(int *)(*(longlong *)(*(longlong *)(param_1 + 0xd0) + 0xb0) + 0xf4) + -1; if (-1 < iVar4) { do { lVar2 = FUN_181318140(*(undefined8 *)(param_1 + 0xd0),iVar4); if (lVar2 == param_2) { FUN_181319980(*(undefined8 *)(*(longlong *)(param_1 + 0xd0) + 0xb0),iVar4); return; } iVar4 = iVar4 + -1; } while (-1 < iVar4); return; } } return; } ############ FUN_ 1804ff1e0 size=217 ############ void FUN_1804ff1e0(longlong param_1,int param_2) { undefined8 *puVar1; longlong lVar2; char cVar3; undefined8 uVar4; undefined8 uVar5; int local_38 [4]; undefined8 local_28; undefined8 local_20; undefined4 local_18; undefined1 local_14; undefined4 local_10; uVar5 = 0; if ((*(longlong *)(param_1 + 8) != 0) && (param_2 != 0)) { local_38[1] = 0; local_28 = 0; local_20 = 0; local_18 = 0; local_14 = 0; local_10 = 0; local_38[2] = 2; local_38[0] = param_2; FUN_1812cb380(*(longlong *)(param_1 + 8),local_38,1); } puVar1 = *(undefined8 **)(param_1 + 0x10); *(undefined8 *)(param_1 + 0x10) = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if (DAT_182678e96 == '\0') { lVar2 = *(longlong *)(param_1 + 0x20); if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x10) != 0)) { uVar4 = uVar5; if (lVar2 != 0) { uVar4 = *(undefined8 *)(lVar2 + 0x10); } FUN_181344f60(uVar4,1); } lVar2 = *(longlong *)(param_1 + 0x18); if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x10) != 0)) { uVar4 = uVar5; if (lVar2 != 0) { uVar4 = *(undefined8 *)(lVar2 + 0x10); } cVar3 = FUN_181345240(uVar4); if (cVar3 != '\0') { if (*(longlong *)(param_1 + 0x18) != 0) { uVar5 = *(undefined8 *)(*(longlong *)(param_1 + 0x18) + 0x10); } FUN_18133ed60(uVar5,2,1); } } } return; } ############ FUN_ 18148b7d0 size=191 ############ undefined8 FUN_18148b7d0(longlong param_1,int *param_2,undefined1 param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; uint *_Memory; longlong local_res10 [2]; undefined1 local_res20 [8]; if ((*param_2 == 0xd) && ((*(byte *)(param_2 + 1) & 7) == 0)) { uVar2 = FUN_1812dc020(param_1 + 0x58,local_res20,param_3,param_4,0xfffffffffffffffe); FUN_180579b20(param_1 + 0x10,uVar2); FUN_18049c4e0(local_res10,&DAT_1821d918e); FUN_1812e1110(param_1 + 0x58,local_res10,1); _Memory = (uint *)(local_res10[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18133ed60(param_1 + 0x58,2,1); return 1; } return 0; } ############ FUN_ 18057dd00 size=54 ############ void FUN_18057dd00(longlong param_1) { FUN_1812ddaf0(*(longlong *)(param_1 + 8) + 0x9c0); FUN_18133ed60(*(longlong *)(param_1 + 8) + 0x9c0,2,1); return; } ############ FUN_ 18148b8a0 size=151 ############ void FUN_18148b8a0(longlong param_1,undefined8 param_2,undefined1 param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; uint *_Memory; longlong local_res8; undefined1 local_res18 [16]; uVar2 = FUN_1812dc020(param_1 + 0x60,local_res18,param_3,param_4,0xfffffffffffffffe); FUN_180579b20(param_1 + 0x18,uVar2); FUN_18049c4e0(&local_res8,""); FUN_1812e1110(param_1 + 0x60,&local_res8,1); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18133ed60(param_1 + 0x60,2,1); return; } ############ FUN_ 181344e50 size=263 ############ void FUN_181344e50(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; longlong *plVar3; longlong *plVar4; longlong lVar5; longlong lVar6; int iVar7; longlong lVar8; if ((param_2 != 0) && (param_2 != param_1)) { lVar5 = *(longlong *)(param_1 + 0x18); if (lVar5 == 0) { if (((*(byte *)(param_1 + 0xa8) & 1) != 0) && ((*(byte *)(param_2 + 0xa8) & 1) != 0)) { plVar4 = (longlong *)FUN_18134c2e0(); lVar5 = FUN_18134c2e0(param_2); if ((plVar4 != (longlong *)0x0) && (lVar5 != 0)) { (**(code **)(*plVar4 + 0xb8))(plVar4,lVar5); } } } else { plVar1 = *(longlong **)(lVar5 + 0x40); plVar4 = plVar1 + (int)*(uint *)(lVar5 + 0x4c); plVar3 = plVar1; if (plVar1 != plVar4) { while (param_1 != *plVar3) { plVar3 = plVar3 + 1; if (plVar3 == plVar4) { return; } } lVar8 = (longlong)plVar3 - (longlong)plVar1 >> 3; iVar7 = (int)lVar8; if (-1 < iVar7) { if (iVar7 + 1U < *(uint *)(lVar5 + 0x4c)) { lVar6 = plVar1[(int)(iVar7 + 1U)]; } else { lVar6 = 0; } if ((lVar6 != param_2) && (plVar3 = plVar1, plVar1 != plVar4)) { while (param_2 != *plVar3) { plVar3 = plVar3 + 1; if (plVar3 == plVar4) { return; } } iVar2 = (int)((longlong)plVar3 - (longlong)plVar1 >> 3); if (-1 < iVar2) { if (iVar7 < iVar2) { iVar2 = iVar2 + -1; } FUN_1813450b0(lVar5,lVar8,iVar2); return; } } } } } } return; } ############ FUN_ 1812cbe70 size=620 ############ void FUN_1812cbe70(longlong param_1,longlong param_2,int param_3,int param_4) { longlong lVar1; bool bVar2; longlong lVar3; longlong lVar4; int iVar5; undefined8 *puVar6; int iVar7; int iVar8; undefined8 uVar9; int iVar10; int iVar11; int iVar12; int iVar13; int local_res10; int iStackX_14; int local_58; int iStack_54; undefined8 local_48; undefined8 uStack_40; if ((param_2 != 0) || (param_2 = FUN_1812cbb60(), param_2 != 0)) { local_48 = *(undefined8 *)(param_2 + 0x20); uStack_40 = *(undefined8 *)(param_2 + 0x28); if ((0 < (int)uStack_40) && (uStack_40._4_4_ = (int)((ulonglong)uStack_40 >> 0x20), bVar2 = 0 < uStack_40._4_4_, bVar2)) { local_res10 = *(int *)(param_2 + 0x28) / 2; iStackX_14 = *(int *)(param_2 + 0x2c) / 2; uVar9 = CONCAT44(iStackX_14,local_res10); for (lVar1 = param_2; lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { puVar6 = (undefined8 *)FUN_18051e290(&local_res10,lVar1,uVar9); uVar9 = *puVar6; } FUN_181344bc0(param_2,&local_48); lVar1 = *(longlong *)(param_1 + 0x18); if (lVar1 != 0) { lVar3 = lVar1; for (lVar4 = *(longlong *)(lVar1 + 0x18); lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x18)) { lVar3 = lVar4; } puVar6 = (undefined8 *)FUN_18051e060(&local_58,lVar3,uVar9); uVar9 = *puVar6; if (lVar3 != lVar1) { if (*(longlong *)(lVar1 + 0x18) != lVar3) { puVar6 = (undefined8 *)FUN_180520050(&local_48,lVar3,*(longlong *)(lVar1 + 0x18),uVar9); uVar9 = *puVar6; } FUN_18051e060(&local_res10,lVar1,uVar9); uVar9 = CONCAT44(iStackX_14,local_res10); } uStack_40 = *(undefined8 *)(lVar1 + 0x28); local_48 = 0; } iVar13 = 0; iVar7 = (int)uStack_40 + -0x18; iVar10 = (int)local_48 + 0xc; iVar8 = (int)((ulonglong)uStack_40 >> 0x20) + -0x18; iVar5 = (int)((ulonglong)local_48 >> 0x20) + 0xc; iVar12 = iVar13; if (0 < iVar7) { iVar12 = iVar7; } iVar7 = iVar13; if (0 < iVar8) { iVar7 = iVar8; } local_58 = (int)uVar9 - param_3 / 2; iStack_54 = (int)((ulonglong)uVar9 >> 0x20) - param_4 / 2; if (0 < iVar12 - param_3) { iVar13 = iVar12 - param_3; } iVar8 = 0; if (0 < iVar7 - param_4) { iVar8 = iVar7 - param_4; } iVar11 = iVar10; if ((iVar10 <= local_58) && (iVar11 = local_58, iVar13 + iVar10 < local_58)) { iVar11 = iVar13 + iVar10; } iVar13 = iVar5; if ((iVar5 <= iStack_54) && (iVar13 = iStack_54, iVar5 + iVar8 < iStack_54)) { iVar13 = iVar5 + iVar8; } if (iVar12 < param_3) { param_3 = iVar12; } local_48 = CONCAT44(iVar13,iVar11); if (iVar7 < param_4) { param_4 = iVar7; } uStack_40 = CONCAT44(param_4,param_3); FUN_18134bfe0(param_1,iVar11,iVar13,param_3,param_4); return; } } FUN_181344560(param_1,param_3,param_4); return; } ############ FUN_ 1804e7f00 size=460 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804e7f00(longlong *param_1,longlong param_2) { int *piVar1; int iVar2; byte bVar3; longlong lVar4; undefined8 uVar5; bool bVar6; longlong lVar7; undefined8 *puVar8; longlong *plVar9; longlong lVar10; undefined1 auStack_78 [32]; undefined4 local_58; undefined4 uStack_54; undefined8 local_50; undefined1 local_48 [8]; undefined1 local_40 [8]; longlong *local_38; undefined1 local_30 [8]; undefined8 *local_28; longlong local_20; ulonglong local_18; local_50 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_78; if (*(longlong **)(param_2 + 0x38) != param_1) { lVar10 = 0; if ((*(int *)(*(longlong *)(param_2 + 0x50) + 0x14) != *(int *)((longlong)param_1 + 0x124)) || (bVar6 = true, *(int *)(*(longlong *)(param_2 + 0x50) + 0x10) != (int)param_1[0x24])) { bVar6 = false; } if (bVar6) { lVar4 = param_1[0x1f]; lVar7 = lVar10; if (lVar4 != 0) { lVar7 = *(longlong *)(lVar4 + 0x10); } if (lVar7 != 0) { if (lVar4 != 0) { lVar10 = *(longlong *)(lVar4 + 0x10); } FUN_181341510(lVar10,param_1); } local_38 = (longlong *)param_1[0x19]; (**(code **)(*local_38 + 0xb8))(local_38,local_30,param_1 + 0x1a); local_28 = (undefined8 *)param_1[0x1b]; if (local_28 != (undefined8 *)0x0) { LOCK(); *(int *)(local_28 + 1) = *(int *)(local_28 + 1) + 1; UNLOCK(); } local_20 = param_1[0x1c]; bVar3 = *(byte *)(param_1 + 0x15); (**(code **)(*param_1 + 0x58))(param_1,0); uStack_54 = *(undefined4 *)(param_2 + 0xc); local_58 = *(undefined4 *)(param_2 + 8); uVar5 = *(undefined8 *)(param_2 + 8); for (lVar10 = *(longlong *)(param_2 + 0x30); lVar10 != 0; lVar10 = *(longlong *)(lVar10 + 0x18)) { puVar8 = (undefined8 *)FUN_18051e290(local_48,lVar10,uVar5); uVar5 = *puVar8; } plVar9 = (longlong *)FUN_1804e8770(param_1,uVar5,&local_20,local_40); if ((bVar3 >> 1 & 1) != 0) { FUN_1804e8d50(param_1,plVar9 == (longlong *)0x0); } if (param_1[3] != 0) { FUN_181343c70(param_1[3],param_1); } if (plVar9 != (longlong *)0x0) { FUN_1804dcbc0(param_1 + 0x20,0); (**(code **)(*plVar9 + 0x28))(plVar9,&local_38); } if (local_28 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_28 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_28)(local_28,1); } } (**(code **)(*local_38 + 0xb0))(local_38,local_30); } } } ############ FUN_ 18051db10 size=295 ############ undefined8 * FUN_18051db10(undefined8 *param_1,longlong param_2,longlong param_3,undefined8 param_4) { longlong lVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined1 local_res18 [16]; for (; param_3 != 0; param_3 = *(longlong *)(param_3 + 0x18)) { lVar1 = param_2; if (param_3 == param_2) goto LAB_18051dc21; while (lVar1 != 0) { lVar1 = *(longlong *)(lVar1 + 0x18); if (lVar1 == param_3) { if (*(longlong *)(param_2 + 0x18) == param_3) { FUN_18051e060(param_1,param_2,param_4); return param_1; } puVar4 = (undefined8 *)FUN_180520050(local_res18,param_3); FUN_18051e060(param_1,param_2,*puVar4); return param_1; } } puVar4 = (undefined8 *)FUN_18051e290(local_res18,param_3,param_4); param_4 = *puVar4; } if (param_2 != 0) { lVar3 = *(longlong *)(param_2 + 0x18); lVar1 = param_2; while (lVar2 = lVar3, lVar2 != 0) { lVar1 = lVar2; lVar3 = *(longlong *)(lVar2 + 0x18); } puVar4 = (undefined8 *)FUN_18051e060(local_res18,lVar1,param_4); param_4 = *puVar4; if (lVar1 != param_2) { FUN_180520050(param_1,lVar1,param_2); return param_1; } } LAB_18051dc21: *param_1 = param_4; return param_1; } ############ FUN_ 1804e80e0 size=133 ############ void FUN_1804e80e0(longlong param_1,longlong param_2) { longlong lVar1; undefined8 uVar2; bool bVar3; undefined8 *puVar4; undefined4 local_res8; undefined4 uStackX_c; if (*(longlong *)(param_2 + 0x38) != param_1) { if ((*(int *)(*(longlong *)(param_2 + 0x50) + 0x14) == *(int *)(param_1 + 0x124)) && (*(int *)(*(longlong *)(param_2 + 0x50) + 0x10) == *(int *)(param_1 + 0x120))) { bVar3 = true; } else { bVar3 = false; } if (bVar3) { local_res8 = *(undefined4 *)(param_2 + 8); uStackX_c = *(undefined4 *)(param_2 + 0xc); uVar2 = *(undefined8 *)(param_2 + 8); for (lVar1 = *(longlong *)(param_2 + 0x30); lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { puVar4 = (undefined8 *)FUN_18051e290(&local_res8,lVar1,uVar2); uVar2 = *puVar4; } FUN_1804e8170(param_1,1); } } return; } ############ FUN_ 18114c8a0 size=587 ############ void FUN_18114c8a0(longlong param_1,longlong param_2,undefined4 param_3) { uint uVar1; longlong lVar2; undefined8 uVar3; int iVar4; int iVar5; int iVar6; longlong lVar7; undefined8 *puVar8; uint *puVar9; undefined8 extraout_XMM0_Qa; float fVar10; longlong local_d8 [2]; undefined8 local_c8; undefined4 uStack_c0; undefined4 uStack_bc; undefined8 local_b8; undefined8 uStack_b0; longlong local_a8; undefined8 local_a0; undefined1 local_98 [8]; undefined1 local_90 [8]; undefined8 local_88; undefined8 uStack_80; undefined1 local_78 [80]; local_a0 = 0xfffffffffffffffe; lVar2 = *(longlong *)(param_2 + 0x38); if (lVar2 != 0) { lVar7 = __RTDynamicCast(lVar2,0,&juce::Component::RTTI_Type_Descriptor, &juce::AudioProcessorEditor::RTTI_Type_Descriptor,0); if (lVar7 == 0) { lVar7 = FUN_18114c730(extraout_XMM0_Qa,*(undefined8 *)(lVar2 + 0x18)); } if (lVar7 != 0) { FUN_18114c790(param_1,local_d8,*(undefined8 *)(lVar7 + 0xb0)); local_a8 = *(longlong *)(*(longlong *)(param_2 + 0x38) + 8); puVar9 = (uint *)(local_a8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } uStack_bc = *(undefined4 *)(lVar7 + 0x2c); uStack_c0 = *(undefined4 *)(lVar7 + 0x28); uStack_b0 = *(undefined8 *)(lVar7 + 0x28); local_c8 = 0; local_b8 = 0; if (lVar7 == 0) { local_b8 = 0; } else { do { local_88 = local_b8; uStack_80 = uStack_b0; puVar8 = (undefined8 *)FUN_18051e4b0(local_78,lVar7,&local_88); local_b8 = *puVar8; uStack_b0 = puVar8[1]; lVar7 = *(longlong *)(lVar7 + 0x18); } while (lVar7 != 0); } iVar4 = (int)uStack_b0; fVar10 = (float)(int)((ulonglong)uStack_b0 >> 0x20); uVar3 = *(undefined8 *)(param_2 + 8); for (lVar2 = *(longlong *)(param_2 + 0x30); lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x18)) { puVar8 = (undefined8 *)FUN_18051e290(local_98,lVar2,uVar3); uVar3 = *puVar8; } iVar5 = (int)uVar3 - (int)local_b8; uVar3 = *(undefined8 *)(param_2 + 8); for (lVar2 = *(longlong *)(param_2 + 0x30); lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x18)) { puVar8 = (undefined8 *)FUN_18051e290(local_90,lVar2,uVar3); uVar3 = *puVar8; } local_b8._4_4_ = (int)((ulonglong)local_b8 >> 0x20); iVar6 = (int)((ulonglong)uVar3 >> 0x20) - local_b8._4_4_; FUN_18114dc20(param_1 + 0x18,local_d8,param_3,(float)iVar5 / (float)iVar4, (float)iVar6 / fVar10,(float)iVar4 / fVar10,&local_a8); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_d8[0] + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } } return; } ############ FUN_ 18131c750 size=526 ############ void FUN_18131c750(longlong param_1,longlong param_2) { undefined1 auVar1 [16]; longlong lVar2; undefined8 *puVar3; undefined8 uVar4; int iVar5; undefined8 local_res8; undefined8 local_res18; if (*(char *)(param_1 + 0x5d8) == '\0') { if (*(char *)(param_1 + 0x5b9) != '\0') { local_res18 = (double)*(float *)(param_2 + 0x2c) + DAT_1824c4520; local_res8 = CONCAT44((undefined4)local_res18, SUB84((double)*(float *)(param_2 + 0x28) + DAT_1824c4520,0)); FUN_18051db10(&local_res18,param_1,*(undefined8 *)(param_2 + 0x30),local_res8); local_res8 = *(longlong *)(param_2 + 8); FUN_18051db10(&local_res8,param_1,*(undefined8 *)(param_2 + 0x30),local_res8); if (((((SUB84(local_res18,0) < 0) || ((longlong)local_res18 < 0)) || (*(int *)(param_1 + 0x28) <= SUB84(local_res18,0))) || (*(int *)(param_1 + 0x2c) <= local_res18._4_4_)) && (((-1 < (int)local_res8 && (-1 < local_res8)) && (((int)local_res8 < *(int *)(param_1 + 0x28) && (local_res8._4_4_ < *(int *)(param_1 + 0x2c))))))) { *(undefined1 *)(param_1 + 0x5d8) = 1; *(undefined8 *)(param_1 + 0x5c8) = *(undefined8 *)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x5d0) = *(undefined8 *)(param_1 + 0x28); } } return; } local_res8 = *(undefined8 *)(param_2 + 8); if (*(longlong *)(param_1 + 0x18) == 0) { uVar4 = local_res8; for (lVar2 = *(longlong *)(param_2 + 0x30); lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x18)) { puVar3 = (undefined8 *)FUN_18051e290(&local_res8,lVar2,uVar4); uVar4 = *puVar3; } } else { FUN_18051db10(&local_res8,*(longlong *)(param_1 + 0x18),*(undefined8 *)(param_2 + 0x30), local_res8); uVar4 = local_res8; } auVar1 = *(undefined1 (*) [16])(param_1 + 0x20); if (*(char *)(param_1 + 0x5b8) != '\0') { iVar5 = (*(int *)(param_1 + 0x5d0) - (int)uVar4) + *(int *)(param_1 + 0x5c8); *(int *)(param_1 + 0x5dc) = iVar5; if (iVar5 < 0) { iVar5 = 0; } FUN_18134bfe0(param_1,*(int *)(param_1 + 0x5c8) - iVar5,auVar1._4_4_,auVar1._8_4_,auVar1._12_4_) ; return; } iVar5 = (int)uVar4 - *(int *)(param_1 + 0x5c8); *(int *)(param_1 + 0x5dc) = iVar5; if (iVar5 < 0) { iVar5 = 0; } FUN_18134bfe0(param_1,iVar5 + *(int *)(param_1 + 0x5c8),auVar1._4_4_,auVar1._8_4_,auVar1._12_4_); return; } ############ FUN_ 181339680 size=86 ############ undefined8 * FUN_181339680(longlong param_1,undefined8 *param_2) { longlong lVar1; undefined8 uVar2; undefined8 *puVar3; undefined4 local_res8; undefined4 uStackX_c; local_res8 = *(undefined4 *)(param_1 + 8); uStackX_c = *(undefined4 *)(param_1 + 0xc); uVar2 = *(undefined8 *)(param_1 + 8); for (lVar1 = *(longlong *)(param_1 + 0x30); lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { puVar3 = (undefined8 *)FUN_18051e290(&local_res8,lVar1,uVar2); uVar2 = *puVar3; } *param_2 = uVar2; return param_2; } ############ FUN_ 181344ab0 size=68 ############ undefined8 * FUN_181344ab0(longlong param_1,undefined8 *param_2,undefined8 param_3) { undefined8 *puVar1; undefined1 local_res8 [8]; if (param_1 != 0) { for (; param_1 != 0; param_1 = *(longlong *)(param_1 + 0x18)) { puVar1 = (undefined8 *)FUN_18051e290(local_res8,param_1); param_3 = *puVar1; } } *param_2 = param_3; return param_2; } ############ FUN_ 181344b60 size=78 ############ undefined8 * FUN_181344b60(longlong param_1,undefined8 *param_2) { undefined8 uVar1; undefined8 *puVar2; undefined8 local_res8; uVar1 = 0; local_res8 = 0; if (param_1 != 0) { for (; param_1 != 0; param_1 = *(longlong *)(param_1 + 0x18)) { puVar2 = (undefined8 *)FUN_18051e290(&local_res8,param_1,uVar1); uVar1 = *puVar2; } } *param_2 = uVar1; return param_2; } ############ FUN_ 18134b240 size=72 ############ ulonglong FUN_18134b240(longlong param_1) { longlong lVar1; ulonglong uVar2; ulonglong *puVar3; undefined4 local_res8; undefined4 uStackX_c; local_res8 = *(undefined4 *)(param_1 + 8); uStackX_c = *(undefined4 *)(param_1 + 0xc); uVar2 = *(ulonglong *)(param_1 + 8); for (lVar1 = *(longlong *)(param_1 + 0x30); lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { puVar3 = (ulonglong *)FUN_18051e290(&local_res8,lVar1,uVar2); uVar2 = *puVar3; } return uVar2 >> 0x20; } ############ FUN_ 18134b290 size=68 ############ void FUN_18134b290(longlong param_1) { longlong lVar1; undefined8 uVar2; undefined8 *puVar3; undefined4 local_res8; undefined4 uStackX_c; local_res8 = *(undefined4 *)(param_1 + 8); uStackX_c = *(undefined4 *)(param_1 + 0xc); uVar2 = *(undefined8 *)(param_1 + 8); for (lVar1 = *(longlong *)(param_1 + 0x30); lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { puVar3 = (undefined8 *)FUN_18051e290(&local_res8,lVar1,uVar2); uVar2 = *puVar3; } return; } ############ FUN_ 1812c73f0 size=109 ############ double FUN_1812c73f0(void) { int iVar1; int iVar2; HDC hdc; double dVar3; FUN_1812c75b0(); hdc = GetDC((HWND)0x0); iVar1 = GetDeviceCaps(hdc,0x5a); iVar2 = GetDeviceCaps(hdc,0x58); dVar3 = (double)(iVar1 + iVar2) * DAT_1824c4050; ReleaseDC((HWND)0x0,hdc); return dVar3; } ############ FUN_ 1812c7510 size=147 ############ undefined1 FUN_1812c7510(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { bool bVar1; int local_res8 [8]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267b0f8) { _Init_thread_header(&DAT_18267b0f8); if (DAT_18267b0f8 == -1) { FUN_1812c75b0(); bVar1 = false; if (DAT_182678ed8 != (code *)0x0) { (*DAT_182678ed8)(0,local_res8,param_3,param_4,uVar2); bVar1 = local_res8[0] == 2; } DAT_18267b0ac = bVar1; _Init_thread_footer(&DAT_18267b0f8); return DAT_18267b0ac; } } return DAT_18267b0ac; } ############ FUN_ 1812c53e0 size=1133 ############ void FUN_1812c53e0(longlong *param_1,float param_2) { int *piVar1; double dVar2; undefined8 uVar3; undefined8 uVar4; undefined8 uVar5; undefined8 uVar6; undefined8 uVar7; double dVar8; double dVar9; double dVar10; char cVar11; int iVar12; int iVar13; int iVar14; undefined8 *puVar15; longlong lVar16; HDC hdc; int iVar17; uint uVar18; int iVar19; int *piVar20; int iVar21; int iVar22; double dVar23; double dVar24; undefined1 auStack_188 [32]; int *local_168; undefined8 local_160; undefined8 local_158; undefined8 uStack_150; longlong local_148; int local_140; int iStack_13c; int local_138; int iStack_134; int *local_130; undefined4 local_128; int iStack_124; int iStack_120; int iStack_11c; int iStack_118; int iStack_114; int iStack_110; int iStack_10c; int iStack_108; undefined4 local_104; undefined4 uStack_100; undefined4 uStack_fc; double local_f8; double dStack_f0; undefined8 local_e8; int local_e0; int local_dc; int local_d8; int local_d4; int local_d0; int iStack_cc; int iStack_c8; int iStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; double dStack_b8; ulonglong local_b0; local_e8 = 0xfffffffffffffffe; local_b0 = DAT_182615970 ^ (ulonglong)auStack_188; FUN_1812c75b0(); local_148 = 0; if (((DAT_182678ee8 != (code *)0x0) && (DAT_182678ec8 != (code *)0x0)) && (DAT_182678f18 != (code *)0x0)) { (*DAT_182678f18)(); iVar12 = (*DAT_182678ec8)(); if (iVar12 != 2) { local_148 = (*DAT_182678ee8)(); } } local_168 = (int *)0x0; local_160._0_4_ = 0; local_160._4_4_ = 0; EnumDisplayMonitors((HDC)0x0,(LPCRECT)0x0,FUN_1812c58b0,(LPARAM)&local_168); dVar23 = (double)FUN_1812c73f0(); if (local_160._4_4_ == 0) { GetDesktopWindow(); puVar15 = (undefined8 *)FUN_1812c6d70(&local_e0); local_d0 = CONCAT31(local_d0._1_3_,1); iStack_cc = (int)*puVar15; iStack_c8 = (int)((ulonglong)*puVar15 >> 0x20); iStack_c4 = (int)puVar15[1]; uStack_c0 = (undefined4)((ulonglong)puVar15[1] >> 0x20); dStack_b8 = dVar23; uVar18 = (uint)local_160; if (((int)(uint)local_160 < (int)(local_160._4_4_ + 1)) && (uVar18 = local_160._4_4_ + 9 + (int)(local_160._4_4_ + 1) / 2 & 0xfffffff8, (uint)local_160 != uVar18)) { if ((int)uVar18 < 1) { /* WARNING: Subroutine does not return */ free(local_168); } if (local_168 == (int *)0x0) { local_168 = malloc((longlong)(int)uVar18 << 5); } else { local_168 = realloc(local_168,(longlong)(int)uVar18 << 5); } } local_160._0_4_ = uVar18; lVar16 = (longlong)(int)local_160._4_4_; local_160._4_4_ = local_160._4_4_ + 1; piVar20 = local_168 + lVar16 * 8; *(ulonglong *)piVar20 = CONCAT44(iStack_cc,local_d0); *(ulonglong *)(piVar20 + 2) = CONCAT44(iStack_c4,iStack_c8); *(ulonglong *)(piVar20 + 4) = CONCAT44(uStack_bc,uStack_c0); *(double *)(piVar20 + 6) = dStack_b8; } uVar18 = 1; if (1 < (int)local_160._4_4_) { lVar16 = 0x20; do { if (((*(char *)((longlong)local_168 + lVar16) != '\0') && (uVar18 < local_160._4_4_)) && (local_160._4_4_ != 0)) { uVar4 = *(undefined8 *)((longlong)local_168 + lVar16); uVar5 = ((undefined8 *)((longlong)local_168 + lVar16))[1]; puVar15 = (undefined8 *)((longlong)local_168 + lVar16 + 0x10); uVar6 = *puVar15; uVar7 = puVar15[1]; uVar3 = *(undefined8 *)(local_168 + 2); *(undefined8 *)((longlong)local_168 + lVar16) = *(undefined8 *)local_168; ((undefined8 *)((longlong)local_168 + lVar16))[1] = uVar3; uVar3 = *(undefined8 *)(local_168 + 6); puVar15 = (undefined8 *)((longlong)local_168 + lVar16 + 0x10); *puVar15 = *(undefined8 *)(local_168 + 4); puVar15[1] = uVar3; *(undefined8 *)local_168 = uVar4; *(undefined8 *)(local_168 + 2) = uVar5; *(undefined8 *)(local_168 + 4) = uVar6; *(undefined8 *)(local_168 + 6) = uVar7; } uVar18 = uVar18 + 1; lVar16 = lVar16 + 0x20; } while ((int)uVar18 < (int)local_160._4_4_); } dVar10 = DAT_1824c42e8; dVar9 = DAT_1824c4140; dVar8 = DAT_1824c4050; local_130 = local_168 + (longlong)(int)local_160._4_4_ * 8; if (local_168 != local_130) { piVar20 = local_168 + 4; do { local_104 = 0; uStack_100 = 0; iVar12 = piVar20[-4]; local_128 = CONCAT31(local_128._1_3_,(char)iVar12); dVar2 = *(double *)(piVar20 + 2); if (dVar2 == 0.0) { local_f8 = (double)param_2; dStack_f0 = dVar23; } else { dVar24 = dVar9; dStack_f0 = dVar2; if ((DAT_1826736d8 != 0) && (cVar11 = FUN_1812c7510(), cVar11 == '\0')) { FUN_1812c75b0(); hdc = GetDC((HWND)0x0); iVar13 = GetDeviceCaps(hdc,0x5a); iVar14 = GetDeviceCaps(hdc,0x58); ReleaseDC((HWND)0x0,hdc); dVar24 = ((double)(iVar13 + iVar14) * dVar8) / dVar10; } local_f8 = ((double)param_2 / dVar24) * (dVar2 / dVar10); } iVar13 = piVar20[-2]; iVar14 = piVar20[-3]; iVar22 = piVar20[-1] - iVar14; iVar19 = *piVar20 - iVar13; iStack_124 = iVar14; iStack_120 = iVar13; iStack_11c = iVar22; iStack_118 = iVar19; iStack_114 = iVar14; iStack_110 = iVar13; iStack_10c = iVar22; iStack_108 = iVar19; local_d0 = iVar14; iStack_cc = iVar13; iStack_c8 = iVar22; iStack_c4 = iVar19; if ((char)iVar12 != '\0') { SystemParametersInfoW(0x30,0,&local_e0,0); local_140 = local_e0; iStack_13c = local_dc; local_138 = local_d8 - local_e0; iStack_134 = local_d4 - local_dc; iVar12 = iVar14; if (iVar14 < local_e0) { iVar12 = local_e0; } iVar21 = iVar13; if (iVar13 < local_dc) { iVar21 = local_dc; } iVar17 = iVar22 + iVar14; if (local_138 + local_e0 < iVar22 + iVar14) { iVar17 = local_138 + local_e0; } if (iVar17 - iVar12 < 0) { LAB_1812c57bf: local_158 = 0; uStack_150 = 0; } else { iVar14 = iVar19 + iVar13; if (iStack_134 + local_dc < iVar19 + iVar13) { iVar14 = iStack_134 + local_dc; } if (iVar14 - iVar21 < 0) goto LAB_1812c57bf; local_158 = CONCAT44(iVar21,iVar12); uStack_150 = CONCAT44(iVar14 - iVar21,iVar17 - iVar12); } iStack_114 = (int)local_158; iStack_110 = (int)((ulonglong)local_158 >> 0x20); iStack_10c = (int)uStack_150; iStack_108 = (int)((ulonglong)uStack_150 >> 0x20); } FUN_18051d660(param_1); iVar12 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar12 + 1; puVar15 = (undefined8 *)((longlong)iVar12 * 0x40 + *param_1); *puVar15 = CONCAT44(iStack_124,local_128); puVar15[1] = CONCAT44(iStack_11c,iStack_120); puVar15[2] = CONCAT44(iStack_114,iStack_118); puVar15[3] = CONCAT44(iStack_10c,iStack_110); puVar15[4] = CONCAT44(local_104,iStack_108); puVar15[5] = CONCAT44(uStack_fc,uStack_100); puVar15[6] = local_f8; puVar15[7] = dStack_f0; piVar1 = piVar20 + 4; piVar20 = piVar20 + 8; } while (piVar1 != local_130); } FUN_18133c890(param_1); if (local_148 != 0) { (*DAT_182678ee8)(local_148); } local_160 = (ulonglong)(uint)local_160; /* WARNING: Subroutine does not return */ free(local_168); } ############ FUN_ 1813240c0 size=127 ############ undefined8 * FUN_1813240c0(undefined8 *param_1) { *param_1 = juce::ChangeBroadcaster::vftable; FUN_1812a59f0(); param_1[1] = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; param_1[4] = 0; param_1[5] = 0; *(undefined1 *)(param_1 + 6) = 0; param_1[3] = param_1; param_1[8] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 9) = 0; *param_1 = juce::ComponentAnimator::vftable; param_1[7] = juce::ComponentAnimator::vftable; param_1[10] = 0; param_1[0xb] = 0; *(undefined4 *)(param_1 + 0xc) = 0; return param_1; } ############ FUN_ 1812299e0 size=175 ############ void FUN_1812299e0(longlong param_1,longlong param_2) { LPCRITICAL_SECTION lpCriticalSection; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x22c); EnterCriticalSection(lpCriticalSection); if (*(longlong *)(param_1 + 0x268) == param_2) { LeaveCriticalSection(lpCriticalSection); EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x200)); EnterCriticalSection(lpCriticalSection); FUN_180488600(param_1 + 600,param_2); LeaveCriticalSection(lpCriticalSection); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x200)); EnterCriticalSection(lpCriticalSection); } else { FUN_180488600(param_1 + 600,param_2); } /* WARNING: Could not recover jumptable at 0x000181229a88. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection(lpCriticalSection); return; } ############ FUN_ 1804e7610 size=190 ############ ulonglong FUN_1804e7610(longlong param_1,ulonglong param_2) { uint *puVar1; uint uVar2; longlong lVar3; ulonglong uVar4; FUN_180488600(param_1 + 0x18); uVar4 = 0; if (*(longlong *)(param_1 + 8) != 0) { uVar4 = *(ulonglong *)(*(longlong *)(param_1 + 8) + 0x10); } if (uVar4 == param_2) { FUN_1813224b0(param_1); } uVar4 = *(ulonglong *)(param_1 + 0x40); if (uVar4 != param_2) { if (uVar4 == 0) { return 0; } while (uVar4 = *(ulonglong *)(uVar4 + 0x18), uVar4 != param_2) { if (uVar4 == 0) { return 0; } } } *(undefined1 *)(param_1 + 0x5d) = 0; if ((*(char *)(param_1 + 0x5c) != '\0') && (*(undefined1 *)(param_1 + 0x5c) = 0, lVar3 = DAT_182673c20, DAT_182673c20 != 0)) { uVar4 = 0; puVar1 = (uint *)(*(longlong *)(DAT_182673c20 + 8) + 0x18); LOCK(); uVar2 = *puVar1; if (uVar2 == 0) { *puVar1 = 1; } else { uVar4 = (ulonglong)uVar2; } UNLOCK(); if ((uVar2 == 0) && (uVar4 = FUN_1812a6720(*(undefined8 *)(lVar3 + 8)), (char)uVar4 == '\0')) { uVar4 = *(ulonglong *)(lVar3 + 8); LOCK(); *(undefined4 *)(uVar4 + 0x18) = 0; UNLOCK(); } } return uVar4; } ############ FUN_ 1813292f0 size=102 ############ void FUN_1813292f0(undefined8 *param_1) { *param_1 = juce::FileChooserDialogBox::vftable; param_1[0x28] = juce::FileChooserDialogBox::vftable; FUN_180488600(*(longlong *)(param_1[0x29] + 0xb0) + 0x110,param_1 + 0x28); param_1[0x28] = juce::FileBrowserListener::vftable; FUN_1812cf990(param_1); return; } ############ FUN_ 181229610 size=602 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181229610(longlong param_1) { LPCRITICAL_SECTION lpCriticalSection; longlong *plVar1; LPCRITICAL_SECTION lpCriticalSection_00; longlong lVar2; double dVar3; double dVar4; ulonglong uVar5; longlong lVar6; longlong lVar7; ulonglong uVar8; int iVar9; int iVar10; int iVar11; int iVar12; longlong lVar13; ulonglong uVar14; undefined1 auStack_98 [40]; undefined8 local_70; LPCRITICAL_SECTION local_68; longlong local_60; ushort local_58; ulonglong local_50; dVar4 = DAT_1824c4340; dVar3 = DAT_1824c3e30; local_70 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_98; uVar14 = 0; LAB_181229661: if (*(int *)(param_1 + 0x1b8) != 0) { } uVar8 = 500; lVar6 = 0; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x22c); EnterCriticalSection(lpCriticalSection); plVar1 = (longlong *)(param_1 + 600); iVar10 = *(int *)(param_1 + 0x264); if (iVar10 < 1) { uVar14 = 0; } else { uVar14 = (longlong)((int)uVar14 + 1) % (longlong)iVar10 & 0xffffffff; } lVar7 = 0; lVar13 = 0; iVar9 = iVar10 + -1; iVar12 = (int)uVar14; if (-1 < iVar9) { iVar11 = iVar9 + iVar12; do { lVar2 = *(longlong *)(*plVar1 + (longlong)(iVar11 % iVar10) * 8); if ((lVar13 == 0) || (*(longlong *)(lVar2 + 8) < lVar7)) { lVar7 = *(longlong *)(lVar2 + 8); lVar13 = lVar2; } iVar11 = iVar11 + -1; iVar9 = iVar9 + -1; } while (-1 < iVar9); if (lVar13 != 0) { lVar6 = *(longlong *)(lVar13 + 8); } } LeaveCriticalSection(lpCriticalSection); if (0 < iVar10) goto code_r0x000181229707; goto LAB_18122984a; code_r0x000181229707: _ftime64_s(&local_60); lVar7 = local_60 * 1000 + (ulonglong)local_58; if (lVar7 < lVar6) { uVar5 = (ulonglong)((double)(lVar6 - lVar7) * dVar3 * dVar4); uVar8 = 500; if ((longlong)uVar5 < 500) { uVar8 = uVar5 & 0xffffffff; } } else { uVar8 = (ulonglong)(iVar12 == 0); lpCriticalSection_00 = (LPCRITICAL_SECTION)(param_1 + 0x200); local_68 = lpCriticalSection_00; EnterCriticalSection(lpCriticalSection_00); EnterCriticalSection(lpCriticalSection); lVar6 = 0; lVar13 = 0; iVar10 = *(int *)(param_1 + 0x264) + -1; if (-1 < iVar10) { iVar12 = iVar10 + iVar12; do { lVar2 = *(longlong *)(*plVar1 + (longlong)(iVar12 % *(int *)(param_1 + 0x264)) * 8); if ((lVar13 == 0) || (*(longlong *)(lVar2 + 8) < lVar6)) { lVar6 = *(longlong *)(lVar2 + 8); lVar13 = lVar2; } iVar12 = iVar12 + -1; iVar10 = iVar10 + -1; } while (-1 < iVar10); } *(longlong *)(param_1 + 0x268) = lVar13; LeaveCriticalSection(lpCriticalSection); if (*(longlong **)(param_1 + 0x268) != (longlong *)0x0) { iVar10 = (**(code **)(**(longlong **)(param_1 + 0x268) + 8))(); EnterCriticalSection(lpCriticalSection); if (iVar10 < 0) { FUN_180488600(plVar1,*(undefined8 *)(param_1 + 0x268)); } else { *(longlong *)(*(longlong *)(param_1 + 0x268) + 8) = (longlong)((double)iVar10 * dVar3 * dVar4) + lVar7; } *(undefined8 *)(param_1 + 0x268) = 0; LeaveCriticalSection(lpCriticalSection); } LeaveCriticalSection(lpCriticalSection_00); } if (0 < (int)uVar8) { LAB_18122984a: FUN_181215c90(param_1 + 0xf8,uVar8); } goto LAB_181229661; } ############ FUN_ 1812ef080 size=28 ############ void FUN_1812ef080(longlong param_1) { FUN_180488600(param_1 + 0x10); *(undefined1 *)(param_1 + 0x30) = 0; return; } ############ FUN_ 181322730 size=62 ############ void FUN_181322730(longlong param_1,longlong param_2) { longlong lVar1; FUN_180488600(param_1 + 0x18); lVar1 = 0; if (*(longlong *)(param_1 + 8) != 0) { lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x10); } if (lVar1 == param_2) { FUN_1813224b0(param_1); } return; } ############ FUN_ 1804789b0 size=370 ############ void FUN_1804789b0(longlong param_1) { undefined1 *puVar1; undefined1 uVar2; int iVar3; longlong lVar4; int iVar5; int iVar6; int *piVar7; longlong lVar8; undefined4 uVar9; double dVar10; undefined8 local_48; int iStack_40; int iStack_3c; undefined1 *local_38; undefined8 uStack_30; lVar4 = *(longlong *)(param_1 + 0xb0); if (lVar4 != 0) { iStack_3c = *(int *)(lVar4 + 0x2c); iStack_40 = *(int *)(lVar4 + 0x28); uStack_30 = *(undefined8 *)(lVar4 + 0x28); lVar8 = 0; local_48 = 0; local_38 = (undefined1 *)0x0; FUN_18051df30(&local_48,param_1,lVar4,&local_38); iVar6 = iStack_3c; iVar5 = iStack_40; piVar7 = (int *)FUN_180473b00(); iVar3 = *piVar7; FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),iVar5, iVar6); lVar4 = *(longlong *)(param_1 + 0xb8); if (*(longlong *)(lVar4 + 0x30) != 0) { dVar10 = (double)((float)iVar5 * *(float *)(lVar4 + 0x78)) + DAT_1824c4520; local_48 = 0; iStack_40 = SUB84(dVar10,0); uVar9 = SUB84((double)((float)iVar6 * *(float *)(lVar4 + 0x78)) + DAT_1824c4520,0); puVar1 = (undefined1 *)(param_1 + 0xd5); uVar2 = *puVar1; uStack_30 = CONCAT71(uStack_30._1_7_,uVar2); *puVar1 = 1; lVar4 = *(longlong *)(param_1 + 0xb8); if (lVar4 != 0) { lVar8 = lVar4 + 0x10; } iStack_3c = uVar9; local_38 = puVar1; (**(code **)(**(longlong **)(lVar4 + 0x30) + 0x18)) (*(longlong **)(lVar4 + 0x30),lVar8,&local_48); *puVar1 = uVar2; if ((iVar3 - 0x30U < 5) || (iVar3 - 1U < 6)) { FUN_18134bfe0(param_1,0,0,(ulonglong)dVar10 & 0xffffffff,uVar9); } } } return; } ############ FUN_ 180478800 size=426 ############ void FUN_180478800(longlong param_1) { uint uVar1; longlong lVar2; ulonglong uVar3; double dVar4; double dVar5; int local_res8; ulonglong local_28; uint uStack_20; int iStack_1c; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; if ((*(longlong *)(param_1 + 0xb0) != 0) && (FUN_180478740(), *(char *)(param_1 + 0xd5) == '\0')) { uStack_20 = *(uint *)(param_1 + 0x28); iStack_1c = *(int *)(param_1 + 0x2c); *(undefined1 *)(param_1 + 0xd4) = 1; local_28 = 0; *(undefined4 *)(param_1 + 0xc4) = 0; *(undefined4 *)(param_1 + 200) = 0; *(uint *)(param_1 + 0xcc) = uStack_20; *(int *)(param_1 + 0xd0) = iStack_1c; lVar2 = *(longlong *)(*(longlong *)(param_1 + 0xb0) + 0x100); if (lVar2 != 0) { dVar5 = *(double *)(lVar2 + 0x28); uVar1 = *(uint *)(param_1 + 0xcc); uVar3 = (ulonglong)uVar1; dVar4 = (double)*(int *)(param_1 + 0xd0); if (dVar5 != 0.0) { local_28 = 0; if ((double)(int)uVar1 / dVar4 <= dVar5) { local_res8 = SUB84((double)(int)uVar1 / dVar5 + DAT_1824c4520,0); iStack_1c = local_res8; uStack_20 = uVar1; } else { dVar5 = dVar4 * dVar5 + DAT_1824c4520; uVar3 = (ulonglong)dVar5 & 0xffffffff; uStack_20 = SUB84(dVar5,0); iStack_1c = *(int *)(param_1 + 0xd0); } FUN_18134bfe0(param_1,0,0,uVar3,iStack_1c); } } lVar2 = *(longlong *)(param_1 + 0xb0); FUN_18134bfe0(lVar2,0,0,*(undefined4 *)(lVar2 + 0x28),*(undefined4 *)(lVar2 + 0x2c)); uStack_20 = *(undefined4 *)(param_1 + 0x28); iStack_1c = *(undefined4 *)(param_1 + 0x2c); local_28 = 0; local_18 = 0; uStack_14 = 0; uStack_10 = uStack_20; uStack_c = iStack_1c; FUN_18051df30(&local_28,*(undefined8 *)(param_1 + 0xb0),param_1,&local_18); FUN_18134bfe0(*(undefined8 *)(param_1 + 0xb0),local_28,local_28 >> 0x20,uStack_20,iStack_1c); *(undefined1 *)(param_1 + 0xd4) = 0; } return; } ############ FUN_ 1813165e0 size=2420 ############ void FUN_1813165e0(longlong *param_1) { int iVar1; longlong lVar2; longlong *plVar3; longlong *plVar4; bool bVar5; ulonglong uVar6; double *pdVar7; double *pdVar8; uint7 uVar9; int iVar10; uint uVar11; char cVar12; char cVar13; int iVar14; ulonglong uVar15; double dVar16; int local_res8; int iStackX_c; char local_res10; char local_res18; int local_res20; int local_188; int iStack_174; uint uStack_16c; double local_148; double dStack_140; undefined8 local_138; undefined8 uStack_130; int local_128; int iStack_124; undefined4 uStack_120; undefined4 uStack_11c; int local_118; int iStack_114; uint uStack_110; uint uStack_10c; int local_108; int iStack_104; uint uStack_100; uint uStack_fc; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined4 uStack_e0; undefined4 uStack_dc; int local_d8; int iStack_d4; int iStack_d0; int iStack_cc; int local_c8; int iStack_c4; int iStack_c0; int iStack_bc; int local_b8; int iStack_b4; int iStack_b0; int iStack_ac; undefined8 local_a8; undefined8 uStack_a0; undefined8 local_98; undefined8 uStack_90; longlong local_88; longlong lStack_80; double local_78; double dStack_70; longlong local_68; longlong lStack_60; iVar1 = (int)param_1[0x33]; if ((iVar1 < (int)param_1[5]) && (iVar1 < *(int *)((longlong)param_1 + 0x2c))) { bVar5 = true; } else { bVar5 = false; } if ((*(char *)((longlong)param_1 + 0x1a4) == '\0') || (!bVar5)) { local_res18 = '\0'; } else { local_res18 = '\x01'; } if ((*(char *)((longlong)param_1 + 0x1a5) == '\0') || (!bVar5)) { local_res10 = '\0'; } else { local_res10 = '\x01'; } uVar15 = 0; local_118 = 0; iStack_114 = 0; local_res20 = 2; do { if ((local_res18 == '\0') || (*(char *)(param_1[0x19] + 0x12e) != '\0')) { pdVar8 = (double *)0x0; } else { pdVar8 = (double *)0x1; } if ((local_res10 == '\0') || (*(char *)(param_1[0x18] + 0x12e) != '\0')) { cVar12 = '\0'; } else { cVar12 = '\x01'; } uStack_10c = *(uint *)((longlong)param_1 + 0x2c); uStack_110 = *(uint *)(param_1 + 5); lVar2 = param_1[0x30]; iVar14 = 0; uVar11 = uStack_110; uStack_16c = uStack_10c; if ((lVar2 == 0) || (*(longlong *)(lVar2 + 0x10) == 0)) { LAB_1813168eb: local_res8 = CONCAT31(local_res8._1_3_,cVar12); if (cVar12 != '\0') { LAB_1813168f6: uVar11 = (int)param_1[5] - iVar1; } } else { uVar6 = uVar15; if (lVar2 != 0) { uVar6 = *(ulonglong *)(lVar2 + 0x10); } local_d8 = *(int *)(uVar6 + 0x20); iStack_d4 = *(int *)(uVar6 + 0x24); iStack_d0 = *(int *)(uVar6 + 0x28); iStack_cc = *(int *)(uVar6 + 0x2c); if ((((-1 < local_d8) && (iStack_114 <= iStack_d4)) && (local_d8 + iStack_d0 <= (int)uStack_110)) && (iStack_cc + iStack_d4 <= (int)(uStack_10c + iStack_114))) goto LAB_1813168eb; if (local_res18 == '\0') { LAB_18131678d: pdVar8 = (double *)0x0; } else { if ((char)pdVar8 == '\0') { uVar6 = uVar15; if (param_1[0x30] != 0) { uVar6 = *(ulonglong *)(param_1[0x30] + 0x10); } if (-1 < *(int *)(uVar6 + 0x20)) { uVar6 = uVar15; if (param_1[0x30] != 0) { uVar6 = *(ulonglong *)(param_1[0x30] + 0x10); } if (*(int *)(uVar6 + 0x28) + *(int *)(uVar6 + 0x20) <= (int)uStack_110) goto LAB_18131678d; } } pdVar8 = (double *)0x1; } if (local_res10 == '\0') { LAB_1813167e7: cVar12 = '\0'; } else { if (cVar12 == '\0') { uVar6 = uVar15; if (param_1[0x30] != 0) { uVar6 = *(ulonglong *)(param_1[0x30] + 0x10); } if (-1 < *(int *)(uVar6 + 0x24)) { uVar6 = uVar15; if (param_1[0x30] != 0) { uVar6 = *(ulonglong *)(param_1[0x30] + 0x10); } if (*(int *)(uVar6 + 0x2c) + *(int *)(uVar6 + 0x24) <= (int)uStack_10c) goto LAB_1813167e7; } } cVar12 = '\x01'; uVar11 = (int)param_1[5] - iVar1; } if ((char)pdVar8 != '\0') { uStack_16c = *(int *)((longlong)param_1 + 0x2c) - iVar1; } uVar6 = uVar15; if (param_1[0x30] != 0) { uVar6 = *(ulonglong *)(param_1[0x30] + 0x10); } local_c8 = *(int *)(uVar6 + 0x20); iStack_c4 = *(int *)(uVar6 + 0x24); iStack_c0 = *(int *)(uVar6 + 0x28); iStack_bc = *(int *)(uVar6 + 0x2c); if (((local_118 <= local_c8) && (iStack_114 <= iStack_c4)) && ((local_c8 + iStack_c0 <= (int)(local_118 + uVar11) && (iStack_bc + iStack_c4 <= (int)(uStack_16c + iStack_114))))) goto LAB_1813168eb; if (local_res18 == '\0') { LAB_1813168a2: pdVar8 = (double *)0x0; } else { if ((char)pdVar8 == '\0') { uVar6 = uVar15; if (param_1[0x30] != 0) { uVar6 = *(ulonglong *)(param_1[0x30] + 0x10); } if (*(int *)(uVar6 + 0x28) + *(int *)(uVar6 + 0x20) <= (int)uVar11) goto LAB_1813168a2; } pdVar8 = (double *)0x1; } if (local_res10 != '\0') { if (cVar12 == '\0') { uVar6 = uVar15; if (param_1[0x30] != 0) { uVar6 = *(ulonglong *)(param_1[0x30] + 0x10); } if (*(int *)(uVar6 + 0x2c) + *(int *)(uVar6 + 0x24) <= (int)uStack_16c) goto LAB_1813168d8; } cVar12 = '\x01'; local_res8 = CONCAT31(local_res8._1_3_,1); goto LAB_1813168f6; } LAB_1813168d8: cVar12 = '\0'; local_res8 = (uint)local_res8._1_3_ << 8; } cVar13 = (char)pdVar8; if (cVar13 != '\0') { uStack_16c = *(int *)((longlong)param_1 + 0x2c) - iVar1; } iVar10 = local_118; if ((*(char *)((longlong)param_1 + 0x1aa) == '\0') && (cVar12 != '\0')) { iVar10 = iVar1; } iStack_174 = iStack_114; if ((*(char *)((longlong)param_1 + 0x1ab) == '\0') && (iStack_174 = iStack_114, cVar13 != '\0')) { iStack_174 = iVar1; } lVar2 = param_1[0x30]; if ((lVar2 == 0) || (*(longlong *)(lVar2 + 0x10) == 0)) { FUN_18134bfe0(param_1 + 0x1a,iVar10,iStack_174,uVar11,uStack_16c); LAB_181316a1c: local_138 = 0; uStack_130 = 0; uVar6 = uVar15; if (param_1[0x30] != 0) { uVar6 = *(ulonglong *)(param_1[0x30] + 0x10); } if (uVar6 != 0) { uStack_e0 = *(undefined4 *)(uVar6 + 0x28); uStack_dc = *(undefined4 *)(uVar6 + 0x2c); uStack_a0 = *(undefined8 *)(uVar6 + 0x28); local_e8 = 0; local_a8 = 0; FUN_18051df30(&local_98,param_1 + 0x1a,uVar6,&local_a8); local_138 = local_98; uStack_130 = uStack_90; } plVar3 = (longlong *)param_1[0x19]; local_188 = -(int)local_138; plVar4 = (longlong *)param_1[0x18]; local_res20 = -local_138._4_4_; uVar6 = uVar15; if (*(char *)((longlong)param_1 + 0x1ab) != '\0') { uVar6 = (ulonglong)uStack_16c; } local_128 = local_188; iStack_124 = local_res20; FUN_18134bfe0(plVar3,iVar10,uVar6,uVar11,iVar1); dVar16 = (double)(int)uStack_130; if (dVar16 <= 0.0) { dVar16 = 0.0; } if (((double)plVar3[0x1b] != 0.0) || ((double)plVar3[0x1c] != dVar16)) { local_88 = plVar3[0x1d]; lStack_80 = plVar3[0x1e]; plVar3[0x1c] = (longlong)dVar16; plVar3[0x1b] = 0; FUN_18131e660(plVar3,&local_88); FUN_18131e060(plVar3); } local_148 = (double)local_188; dStack_140 = local_148; if (local_148 < (double)(int)uVar11 + local_148) { dStack_140 = (double)(int)uVar11 + local_148; } dStack_70 = dStack_140; local_78 = local_148; FUN_18131e660(plVar3,&local_78); plVar3[0x1f] = (longlong)(double)*(int *)((longlong)param_1 + 0x19c); if ((local_res18 != '\0') && (local_128 = local_188, cVar13 == '\0')) { local_188 = iVar14; local_128 = iVar14; } uVar6 = uVar15; if (*(char *)((longlong)param_1 + 0x1aa) != '\0') { uVar6 = (ulonglong)uVar11; } FUN_18134bfe0(plVar4,uVar6,iStack_174,iVar1,uStack_16c); dVar16 = (double)uStack_130._4_4_; if (dVar16 <= 0.0) { dVar16 = 0.0; } if (((double)plVar4[0x1b] != 0.0) || ((double)plVar4[0x1c] != dVar16)) { local_68 = plVar4[0x1d]; lStack_60 = plVar4[0x1e]; plVar4[0x1c] = (longlong)dVar16; plVar4[0x1b] = 0; FUN_18131e660(plVar4,&local_68); FUN_18131e060(plVar4); } local_148 = (double)local_res20; dStack_140 = local_148; if (local_148 < (double)(int)uStack_16c + local_148) { dStack_140 = (double)(int)uStack_16c + local_148; } pdVar7 = &local_148; FUN_18131e660(plVar4,pdVar7); plVar4[0x1f] = (longlong)(double)(int)param_1[0x34]; if ((local_res10 != '\0') && (iStack_124 = local_res20, (char)local_res8 == '\0')) { local_res20 = iVar14; iStack_124 = iVar14; } if ((undefined **)*plVar3 == juce::ScrollBar::vftable) { pdVar8 = pdVar7; if (*(char *)((longlong)plVar3 + 0x12f) != cVar13) { *(char *)((longlong)plVar3 + 0x12f) = cVar13; if (cVar13 == '\0') { pdVar8 = (double *)((ulonglong)pdVar7 & 0xffffffffffffff00); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(plVar3,pdVar8); } else { uVar9 = (uint7)((ulonglong)pdVar7 >> 8); if ((*(char *)((longlong)plVar3 + 0x12e) == '\0') || (((double)plVar3[0x1e] - (double)plVar3[0x1d] < (double)plVar3[0x1c] - (double)plVar3[0x1b] && (0.0 < (double)plVar3[0x1e] - (double)plVar3[0x1d])))) { pdVar8 = (double *)CONCAT71(uVar9,1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(plVar3,pdVar8); } else { pdVar8 = (double *)((ulonglong)uVar9 << 8); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(plVar3,pdVar8); } } } } else { (*(code *)((undefined **)*plVar3)[0xb])(plVar3,pdVar8); } if ((undefined **)*plVar4 == juce::ScrollBar::vftable) { if (*(char *)((longlong)plVar4 + 0x12f) != (char)local_res8) { *(char *)((longlong)plVar4 + 0x12f) = (char)local_res8; if ((char)local_res8 == '\0') { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (plVar4,(ulonglong)pdVar8 & 0xffffffffffffff00); } else { uVar9 = (uint7)((ulonglong)pdVar8 >> 8); if ((*(char *)((longlong)plVar4 + 0x12e) == '\0') || (((double)plVar4[0x1e] - (double)plVar4[0x1d] < (double)plVar4[0x1c] - (double)plVar4[0x1b] && (0.0 < (double)plVar4[0x1e] - (double)plVar4[0x1d])))) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (plVar4,CONCAT71(uVar9,1)); } else { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__ (plVar4,(ulonglong)uVar9 << 8); } } } } else { (*(code *)((undefined **)*plVar4)[0xb])(plVar4,(char)local_res8); } if ((param_1[0x30] != 0) && (*(longlong *)(param_1[0x30] + 0x10) != 0)) { FUN_1813173a0(param_1,&local_res8,CONCAT44(iStack_124,local_128)); uVar6 = uVar15; if (param_1[0x30] != 0) { uVar6 = *(ulonglong *)(param_1[0x30] + 0x10); } local_128 = *(int *)(uVar6 + 0x20); iStack_124 = *(int *)(uVar6 + 0x24); uStack_120 = *(undefined4 *)(uVar6 + 0x28); uStack_11c = *(undefined4 *)(uVar6 + 0x2c); if ((local_128 != local_res8) || (iStack_124 != iStackX_c)) { if (param_1[0x30] != 0) { uVar15 = *(ulonglong *)(param_1[0x30] + 0x10); } FUN_18134bfe0(uVar15,local_res8,iStackX_c,*(undefined4 *)(uVar15 + 0x28), *(undefined4 *)(uVar15 + 0x2c)); return; } } local_108 = local_188; iStack_104 = local_res20; uStack_100 = (int)uStack_130 - local_188; if ((int)uVar11 < (int)uStack_130 - local_188) { uStack_100 = uVar11; } uStack_fc = uStack_130._4_4_ - local_res20; if ((int)uStack_16c < uStack_130._4_4_ - local_res20) { uStack_fc = uStack_16c; } if (((((int)param_1[0x31] != local_188) || (*(int *)((longlong)param_1 + 0x18c) != local_res20)) || (*(uint *)(param_1 + 0x32) != uStack_100)) || (*(uint *)((longlong)param_1 + 0x194) != uStack_fc)) { param_1[0x31] = CONCAT44(local_res20,local_188); param_1[0x32] = CONCAT44(uStack_fc,uStack_100); (**(code **)(*param_1 + 0x158))(param_1,&local_108); } LOCK(); iVar1 = *(int *)(plVar3[0x17] + 0x18); *(int *)(plVar3[0x17] + 0x18) = 0; UNLOCK(); if (iVar1 != 0) { (**(code **)(plVar3[0x16] + 8))(); } LOCK(); iVar1 = *(int *)(plVar4[0x17] + 0x18); *(int *)(plVar4[0x17] + 0x18) = 0; UNLOCK(); if (iVar1 != 0) { (**(code **)(plVar4[0x16] + 8))(); } return; } uVar6 = uVar15; if (lVar2 != 0) { uVar6 = *(ulonglong *)(lVar2 + 0x10); } local_f8 = *(undefined8 *)(uVar6 + 0x20); uStack_f0 = *(undefined8 *)(uVar6 + 0x28); FUN_18134bfe0(param_1 + 0x1a,iVar10,iStack_174,uVar11,uStack_16c); uVar6 = uVar15; if (param_1[0x30] != 0) { uVar6 = *(ulonglong *)(param_1[0x30] + 0x10); } local_b8 = *(int *)(uVar6 + 0x20); iStack_b4 = *(int *)(uVar6 + 0x24); iStack_b0 = *(int *)(uVar6 + 0x28); iStack_ac = *(int *)(uVar6 + 0x2c); if ((((((int)local_f8 == local_b8) && (local_f8._4_4_ == iStack_b4)) && ((int)uStack_f0 == iStack_b0)) && (uStack_f0._4_4_ == iStack_ac)) || (local_res20 = local_res20 + -1, local_res20 < 0)) goto LAB_181316a1c; } while( true ); } ############ FUN_ 181317310 size=95 ############ void FUN_181317310(longlong param_1,undefined8 param_2) { ulonglong *puVar1; longlong lVar2; undefined1 local_res8 [32]; lVar2 = *(longlong *)(param_1 + 0x180); if ((lVar2 != 0) && (*(longlong *)(lVar2 + 0x10) != 0)) { if (lVar2 == 0) { lVar2 = 0; } else { lVar2 = *(longlong *)(lVar2 + 0x10); } puVar1 = (ulonglong *)FUN_1813173a0(param_1,local_res8,param_2); FUN_18134bfe0(lVar2,*puVar1 & 0xffffffff,*puVar1 >> 0x20,*(undefined4 *)(lVar2 + 0x28), *(undefined4 *)(lVar2 + 0x2c)); } return; } ############ FUN_ 18050beb0 size=357 ############ void FUN_18050beb0(longlong param_1,int param_2) { uint uVar1; byte bVar2; int iVar3; undefined8 *puVar4; int iVar5; byte *pbVar6; uint *_Memory; longlong lVar7; longlong local_res8; void *local_60; ulonglong local_58; undefined8 local_50; undefined4 local_48; undefined1 *local_40; undefined4 local_38; undefined4 local_34; undefined8 local_30; undefined8 local_28; undefined8 local_20; local_40 = &DAT_1821dbf98; local_38 = 0; local_30 = 1; lVar7 = 0; local_28 = 0; local_20 = 0; local_34 = 9; puVar4 = (undefined8 *)FUN_1812dc020(param_1,&local_res8); FUN_181232d30(&local_40,puVar4); pbVar6 = (byte *)*puVar4; LAB_18050bf26: do { bVar2 = *pbVar6; pbVar6 = pbVar6 + 1; if ((char)bVar2 < '\0') { if ((*pbVar6 & 0xc0) == 0x80) { do { pbVar6 = pbVar6 + 1; } while ((*pbVar6 & 0xc0) == 0x80); lVar7 = lVar7 + 1; goto LAB_18050bf26; } } else if (bVar2 == 0) { FUN_1812554b0(&local_28,lVar7,param_1 + 0x298,0); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_60 = (void *)0x0; local_58 = 0; local_50 = 0; local_48 = 9; FUN_18124e270(&local_60,&local_40,(float)param_2 - DAT_1824c43d8); iVar5 = (int)(local_50._4_4_ + *(float *)(*(longlong *)(param_1 + 0x298) + 0x28)); iVar3 = param_2; if (iVar5 < param_2) { iVar3 = iVar5; } FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),param_2, iVar3); FUN_1804ae9d0(&local_60); local_58 = local_58 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_60); } lVar7 = lVar7 + 1; } while( true ); } ############ FUN_ 181344560 size=265 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181344560(longlong param_1,int param_2,int param_3) { undefined8 *puVar1; undefined8 uVar2; undefined8 uVar3; int local_58; int iStack_54; int iStack_50; int iStack_4c; ulonglong local_48; undefined8 local_40; undefined8 uStack_38; ulonglong local_30; undefined1 local_28 [32]; puVar1 = *(undefined8 **)(param_1 + 0x38); if (puVar1 == (undefined8 *)0x0) { local_40 = _DAT_1824c4780; uStack_38 = _UNK_1824c4788; local_30 = (ulonglong)DAT_1824c3ea4; } else { local_40 = *puVar1; uStack_38 = puVar1[1]; local_30 = puVar1[2]; } local_58 = (int)local_40; iStack_54 = local_40._4_4_; iStack_50 = (int)uStack_38; iStack_4c = uStack_38._4_4_; local_48 = local_30; uVar2 = FUN_1812a04f0(&local_58,local_28); uVar3 = FUN_1804e4fb0(&local_40,param_1); FUN_1804b1290(uVar3,&local_58,uVar2); FUN_18134bfe0(param_1,(iStack_50 / 2 - param_2 / 2) + local_58, (iStack_4c / 2 - param_3 / 2) + iStack_54,param_2,param_3); return; } ############ FUN_ 180500cb0 size=160 ############ void FUN_180500cb0(longlong param_1,char param_2) { int iVar1; longlong lVar2; int iVar3; int iVar4; int iVar5; longlong lVar6; *(undefined1 *)(param_1 + 0x1dc) = 0; lVar6 = 0; if (*(longlong *)(param_1 + 0x180) != 0) { lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x180) + 0x10); } lVar2 = *(longlong *)(param_1 + 0x1b8); iVar4 = *(int *)(lVar6 + 0x24); iVar3 = *(int *)(lVar2 + 0xf8); if (*(int *)(lVar2 + 0xf8) < *(int *)(param_1 + 0xf8)) { iVar3 = *(int *)(param_1 + 0xf8); } iVar5 = *(int *)(lVar2 + 0xf4) * *(int *)(lVar2 + 0xf0); iVar1 = *(int *)(param_1 + 0xfc); if ((iVar5 + iVar4 < iVar1) && (iVar1 < iVar5)) { iVar4 = iVar1 - iVar5; } FUN_18134bfe0(lVar6,*(undefined4 *)(lVar6 + 0x20),iVar4,iVar3,iVar5); if ((param_2 != '\0') && (*(char *)(param_1 + 0x1dc) == '\0')) { FUN_180500d50(param_1); } return; } ############ FUN_ 181332960 size=213 ############ void FUN_181332960(longlong param_1,undefined8 param_2) { int iVar1; int iVar2; int iVar3; int iVar4; longlong lVar5; int *piVar6; int iVar7; undefined8 local_res8; undefined1 local_18 [16]; iVar4 = 0; local_res8._4_4_ = 0; lVar5 = __RTDynamicCast(*(undefined8 *)(param_1 + 0x18),0,&juce::Component::RTTI_Type_Descriptor, &juce::DrawableComposite::RTTI_Type_Descriptor,0); if (lVar5 != 0) { iVar4 = (int)*(undefined8 *)(lVar5 + 0xb0); local_res8._4_4_ = (int)((ulonglong)*(undefined8 *)(lVar5 + 0xb0) >> 0x20); } piVar6 = (int *)FUN_1804ab070(param_2,local_18); iVar1 = *piVar6; iVar2 = piVar6[2]; iVar7 = piVar6[1] + local_res8._4_4_; iVar3 = piVar6[3]; local_res8 = CONCAT44(local_res8._4_4_ - iVar7,iVar4 - (iVar1 + iVar4)); *(undefined8 *)(param_1 + 0xb0) = local_res8; FUN_18134bfe0(param_1,iVar1 + iVar4,iVar7,iVar2,iVar3); return; } ############ FUN_ 1812ce910 size=118 ############ void FUN_1812ce910(longlong param_1,undefined1 (*param_2) [16]) { undefined1 auVar1 [16]; uint in_stack_ffffffffffffffc8; undefined8 local_18; undefined8 uStack_10; if (*(longlong *)(param_1 + 0x138) != 0) { local_18 = *(undefined8 *)*param_2; uStack_10 = *(undefined8 *)(*param_2 + 8); FUN_1813489c0(*(longlong *)(param_1 + 0x138),param_1,&local_18,0, in_stack_ffffffffffffffc8 & 0xffffff00,0,0); return; } auVar1 = *param_2; FUN_18134bfe0(param_1,auVar1._0_8_,auVar1._0_8_ >> 0x20,auVar1._8_4_,auVar1._12_4_); return; } ############ FUN_ 1812e0480 size=356 ############ void FUN_1812e0480(longlong param_1) { uint uVar1; int iVar2; int iVar3; longlong lVar4; float fVar5; char cVar6; uint *_Memory; float fVar7; int local_res8; int local_res10; undefined1 local_88 [4]; float local_84; float local_7c; float local_70; longlong local_30; if ((*(char *)(param_1 + 0x1ef) == '\0') || (0.0 < (float)((*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - *(int *)(param_1 + 0x288)) + -3))) { iVar2 = *(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8); iVar3 = *(int *)(param_1 + 0x288); FUN_1805074f0(local_88,param_1); cVar6 = FUN_1805075e0(local_88); fVar7 = (float)((iVar2 - iVar3) + -3); while (cVar6 != '\0') { fVar5 = local_70; if (local_70 <= fVar7) { fVar5 = fVar7; } cVar6 = FUN_1805075e0(local_88); fVar7 = fVar5; } local_res8 = SUB84((double)fVar7 + DAT_1824c4520,0); fVar7 = *(float *)(*(longlong *)(param_1 + 0x298) + 0x28); if (fVar7 <= local_7c + local_84) { fVar7 = local_7c + local_84; } local_res10 = SUB84((double)fVar7 + DAT_1824c4520,0); lVar4 = *(longlong *)(param_1 + 0x1d0); FUN_18134bfe0(lVar4,*(undefined4 *)(lVar4 + 0x20),*(undefined4 *)(lVar4 + 0x24), local_res8 + 2 + *(int *)(param_1 + 0x288), local_res10 + 1 + *(int *)(param_1 + 0x28c)); _Memory = (uint *)(local_30 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return; } ############ FUN_ 181344690 size=309 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181344690(longlong param_1,undefined8 param_2) { undefined8 *puVar1; int iVar2; float *pfVar3; undefined8 uVar4; int iVar5; int iStackX_14; undefined8 local_58; undefined8 uStack_50; ulonglong local_48; undefined8 local_40; undefined8 uStack_38; ulonglong local_30; undefined1 local_28 [40]; puVar1 = *(undefined8 **)(param_1 + 0x38); if (puVar1 == (undefined8 *)0x0) { local_58 = _DAT_1824c4780; uStack_50 = _UNK_1824c4788; local_48 = (ulonglong)DAT_1824c3ea4; } else { local_58 = *puVar1; uStack_50 = puVar1[1]; local_48 = puVar1[2]; } local_40 = local_58; uStack_38 = uStack_50; local_30 = local_48; uVar4 = param_2; pfVar3 = (float *)FUN_1812a04f0(&local_40,local_28); iStackX_14 = (int)((ulonglong)param_2 >> 0x20); iVar2 = SUB164(*(undefined1 (*) [16])(param_1 + 0x20),0xc); iVar5 = SUB164(*(undefined1 (*) [16])(param_1 + 0x20),8); FUN_18134bfe0(param_1,(int)((float)iStackX_14 * pfVar3[1] + (float)(int)uVar4 * *pfVar3 + pfVar3[2]) - iVar5 / 2, (int)((float)(int)uVar4 * pfVar3[3] + (float)iStackX_14 * pfVar3[4] + pfVar3[5]) - iVar2 / 2,iVar5,iVar2); return; } ############ FUN_ 18051c3e0 size=307 ############ void FUN_18051c3e0(longlong param_1,double param_2) { double dVar1; longlong *plVar2; ulonglong *puVar3; int iVar4; longlong lVar5; undefined4 uVar6; undefined4 uVar7; undefined1 local_res10 [8]; dVar1 = *(double *)(param_1 + 0x48); uVar6 = SUB84(dVar1,0); uVar7 = (undefined4)((ulonglong)dVar1 >> 0x20); if (dVar1 <= param_2) { dVar1 = *(double *)(param_1 + 0x50); uVar6 = SUB84(dVar1,0); uVar7 = (undefined4)((ulonglong)dVar1 >> 0x20); if (param_2 <= dVar1) { uVar6 = SUB84(param_2,0); uVar7 = (undefined4)((ulonglong)param_2 >> 0x20); } } if (*(double *)(param_1 + 0x30) != (double)CONCAT44(uVar7,uVar6)) { *(ulonglong *)(param_1 + 0x30) = CONCAT44(uVar7,uVar6); iVar4 = *(int *)(param_1 + 0x74); while (0 < iVar4) { iVar4 = iVar4 + -1; if ((*(int *)(param_1 + 0x74) <= iVar4) && (iVar4 = *(int *)(param_1 + 0x74) + -1, iVar4 < 0)) { return; } plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x68) + (longlong)iVar4 * 8); if ((undefined **)*plVar2 == juce::Viewport::DragToScrollListener::vftable) { lVar5 = *(longlong *)(plVar2[1] + 0x180); if ((lVar5 != 0) && (*(longlong *)(lVar5 + 0x10) != 0)) { if (lVar5 == 0) { lVar5 = 0; } else { lVar5 = *(longlong *)(lVar5 + 0x10); } puVar3 = (ulonglong *) FUN_1813173a0(plVar2[1],local_res10, CONCAT44(*(int *)((longlong)plVar2 + 0x104) - (int)(double)plVar2[0x17], (int)plVar2[0x20] - (int)(double)plVar2[8])); FUN_18134bfe0(lVar5,*puVar3 & 0xffffffff,*puVar3 >> 0x20,*(undefined4 *)(lVar5 + 0x28), *(undefined4 *)(lVar5 + 0x2c)); } } else { (*(code *)((undefined **)*plVar2)[1])(plVar2,param_1,uVar6); } } } return; } ############ FUN_ 1804f9f30 size=341 ############ void FUN_1804f9f30(longlong *param_1,longlong *param_2) { int *piVar1; longlong *plVar2; undefined8 *puVar3; longlong *plVar4; longlong lVar5; lVar5 = param_1[0x16]; if (*param_2 == lVar5) { return; } if (lVar5 != 0) { plVar2 = (longlong *)param_1[8]; for (plVar4 = plVar2; plVar4 != plVar2 + *(int *)((longlong)param_1 + 0x4c); plVar4 = plVar4 + 1 ) { if (lVar5 == *plVar4) { lVar5 = (longlong)plVar4 - (longlong)plVar2 >> 3; goto LAB_1804f9f83; } } lVar5 = 0xffffffff; LAB_1804f9f83: FUN_181343a90(param_1,lVar5,1); } lVar5 = *param_2; if (lVar5 == 0) { puVar3 = (undefined8 *)param_1[0x16]; param_1[0x16] = 0; } else { if (param_1[0x16] == lVar5) goto LAB_1804f9fec; *(int *)(lVar5 + 0xb8) = *(int *)(lVar5 + 0xb8) + 1; puVar3 = (undefined8 *)param_1[0x16]; param_1[0x16] = lVar5; } if (puVar3 != (undefined8 *)0x0) { piVar1 = (int *)(puVar3 + 0x17); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar3)(puVar3,1); } } LAB_1804f9fec: plVar2 = (longlong *)param_1[0x16]; (**(code **)(*plVar2 + 0x58))(plVar2,1); FUN_181343cc0(param_1,plVar2,0xffffffff); if ((undefined **)*param_1 != juce::CustomMenuBarItemHolder::vftable) { (*(code *)((undefined **)*param_1)[0x21])(param_1); return; } FUN_18134bfe0(param_1[0x16],0,0,(int)param_1[5],*(undefined4 *)((longlong)param_1 + 0x2c)); return; } ############ FUN_ 1804fa090 size=68 ############ void FUN_1804fa090(longlong param_1) { FUN_18134bfe0(*(undefined8 *)(param_1 + 0xb0),0,0,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1804fa7c0 size=181 ############ void FUN_1804fa7c0(longlong param_1) { longlong lVar1; code *pcVar2; int iVar3; int iVar4; longlong lVar5; int iVar6; if ((*(int *)(param_1 + 0x4c) != 0) && (lVar1 = **(longlong **)(param_1 + 0x40), lVar1 != 0)) { lVar5 = FUN_18134adf0(); pcVar2 = *(code **)(*(longlong *)(lVar5 + 0x40) + 0x80); if (pcVar2 == FUN_18130fd40) { iVar4 = 2; } else { iVar4 = (*pcVar2)(lVar5 + 0x40); } iVar6 = *(int *)(param_1 + 0x28) + iVar4 * -2; iVar3 = 0; if (0 < iVar6) { iVar3 = iVar6; } iVar6 = 0; if (0 < *(int *)(param_1 + 0x2c)) { iVar6 = *(int *)(param_1 + 0x2c); } FUN_18134bfe0(lVar1,iVar4,0,iVar3,iVar6); } return; } ############ FUN_ 1804fd6e0 size=189 ############ void FUN_1804fd6e0(longlong param_1) { int iVar1; int iVar2; int iStack_24; int iStack_1c; iVar1 = *(int *)(param_1 + 300); iStack_1c = *(int *)(param_1 + 0x134); iVar2 = *(int *)(param_1 + 0x148); if (iVar2 < 0) { iStack_24 = iVar1 - iVar2; iVar1 = (iStack_1c - iStack_24) + iVar1; iStack_1c = 0; if (0 < iVar1) { iStack_1c = iVar1; } } else { iStack_24 = iVar1; if ((0 < iVar2) && (iVar2 = (iVar2 - *(int *)(param_1 + 0x144)) + iStack_1c, 0 < iVar2)) { iStack_1c = iStack_1c - iVar2; } } FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x128),iStack_24,*(undefined4 *)(param_1 + 0x130), iStack_1c); FUN_1804fd880(param_1); return; } ############ FUN_ 1804fd880 size=402 ############ int FUN_1804fd880(longlong param_1) { code *pcVar1; longlong lVar2; int iVar3; int iVar4; longlong lVar5; int iVar6; int iVar7; int iVar8; longlong lVar9; int local_res8; uint local_res10; longlong local_res18; iVar7 = 0; local_res8 = 0; local_res10 = 0; if (0 < *(int *)(param_1 + 0x140)) { local_res18 = 0; do { iVar6 = *(int *)(param_1 + 0x140); iVar3 = iVar6 + -1 + *(int *)(param_1 + 0x10c); iVar8 = *(int *)(param_1 + 0x10c) - local_res8; iVar4 = iVar3 / iVar6; if (iVar4 < iVar8) { iVar8 = iVar4; } if (local_res10 < *(uint *)(param_1 + 0x16c)) { iVar4 = *(int *)(local_res18 + *(longlong *)(param_1 + 0x160)); } else { iVar4 = 0; } lVar5 = FUN_18134adf0(param_1,(longlong)iVar3 % (longlong)iVar6 & 0xffffffff); pcVar1 = *(code **)(*(longlong *)(lVar5 + 0x40) + 0x80); if (pcVar1 == FUN_18130fd40) { iVar6 = 2; } else { iVar6 = (*pcVar1)(lVar5 + 0x40); } iVar6 = ((*(int *)(param_1 + 300) - *(int *)(param_1 + 0x148)) - *(int *)(param_1 + 0x24)) + iVar6; lVar5 = (longlong)iVar8; if (0 < iVar8) { lVar9 = (longlong)local_res8 * 8; do { lVar2 = *(longlong *)(lVar9 + *(longlong *)(param_1 + 0x100)); FUN_18134bfe0(lVar2,iVar7,iVar6,iVar4,*(undefined4 *)(lVar2 + 0x2c)); iVar6 = iVar6 + *(int *)(lVar2 + 0x2c); lVar9 = lVar9 + 8; lVar5 = lVar5 + -1; } while (lVar5 != 0); } local_res10 = local_res10 + 1; local_res18 = local_res18 + 4; local_res8 = local_res8 + iVar8; iVar7 = iVar7 + iVar4; } while ((int)local_res10 < *(int *)(param_1 + 0x140)); } return iVar7; } ############ FUN_ 180500a00 size=76 ############ void FUN_180500a00(longlong param_1) { if (*(longlong *)(param_1 + 0xc0) != 0) { FUN_18134bfe0(*(longlong *)(param_1 + 0xc0),0,0,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); } return; } ############ FUN_ 1812c89a0 size=832 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812c89a0(longlong *param_1,int *param_2) { uint uVar1; longlong lVar2; undefined8 *puVar3; int iVar4; int iVar5; undefined8 uVar6; undefined8 uVar7; int *piVar8; int iVar9; int iVar10; int iVar11; int iVar12; int iVar13; int iVar14; int iVar15; int iVar16; float fVar17; int local_res18 [2]; int local_res20 [2]; undefined8 local_78; int iStack_70; int iStack_6c; ulonglong local_68; undefined8 local_60; undefined8 uStack_58; ulonglong local_50; undefined1 local_48 [32]; local_res20[0] = 0x96; local_res18[0] = 0x1e; if ((undefined **)*param_1 == juce::Slider::Pimpl::PopupDisplayComponent::vftable) { fVar17 = (float)FUN_1812518d0(param_1 + 0x21,param_1 + 0x22); fVar17 = ceilf(fVar17); local_res20[0] = (int)fVar17 + 0x12; iVar5 = (int)(*(float *)(param_1[0x21] + 0x28) * _DAT_1824c3fb4); } else { (*(code *)((undefined **)*param_1)[0x2b])(param_1,local_res20,local_res18); iVar5 = local_res18[0]; } iVar4 = local_res20[0]; *(undefined4 *)(param_1 + 0x16) = 0xf; *(undefined4 *)((longlong)param_1 + 0xb4) = 0xf; *(int *)(param_1 + 0x17) = local_res20[0]; *(int *)((longlong)param_1 + 0xbc) = iVar5; lVar2 = param_1[3]; if (lVar2 == 0) { puVar3 = (undefined8 *)param_1[7]; if (puVar3 == (undefined8 *)0x0) { local_60 = _DAT_1824c4780; uStack_58 = _UNK_1824c4788; local_50 = (ulonglong)DAT_1824c3ea4; } else { local_60 = *puVar3; uStack_58 = puVar3[1]; local_50 = puVar3[2]; } local_78 = local_60; iStack_70 = (undefined4)uStack_58; iStack_6c = uStack_58._4_4_; local_68 = local_50; uVar6 = FUN_1812a04f0(&local_78,local_48); uVar7 = FUN_181344bc0(param_1,&local_78); piVar8 = (int *)FUN_1804b1290(uVar7,&local_60,uVar6); } else { local_78 = 0; iStack_70 = *(undefined4 *)(lVar2 + 0x28); iStack_6c = *(undefined4 *)(lVar2 + 0x2c); piVar8 = (int *)&local_78; } local_78 = *(undefined8 *)piVar8; iStack_70 = piVar8[2]; iStack_6c = piVar8[3]; uVar1 = *(uint *)(param_1 + 0x19); iVar13 = -1; iVar14 = iVar13; if ((uVar1 & 1) != 0) { iVar9 = param_2[1] - piVar8[1]; iVar14 = 0; if (0 < iVar9) { iVar14 = iVar9; } } iVar9 = iVar13; if ((uVar1 & 2) != 0) { iVar10 = ((iStack_6c + piVar8[1]) - param_2[3]) - param_2[1]; iVar9 = 0; if (0 < iVar10) { iVar9 = iVar10; } } if ((uVar1 & 4) != 0) { iVar10 = *param_2 - *piVar8; iVar13 = 0; if (0 < iVar10) { iVar13 = iVar10; } } iVar10 = -1; if ((uVar1 & 8) != 0) { iVar12 = ((*piVar8 - param_2[2]) - *param_2) + iStack_70; iVar10 = 0; if (0 < iVar12) { iVar10 = iVar12; } } iVar12 = param_2[3]; iVar16 = param_2[2]; if ((iVar12 * 2 < iVar16) && ((iVar5 + 0x32 < iVar14 || (iVar5 + 0x32 < iVar9)))) { iVar10 = 0; iVar13 = 0; } else if ((iVar16 < iVar12 / 2) && ((iVar4 + 0x32 < iVar13 || (iVar4 + 0x32 < iVar10)))) { iVar9 = 0; iVar14 = 0; } iVar15 = iVar13; if (iVar13 < iVar10) { iVar15 = iVar10; } iVar11 = iVar14; if (iVar14 < iVar9) { iVar11 = iVar9; } if (iVar11 < iVar15) { iVar15 = iVar12 / 2 + param_2[1]; *(int *)((longlong)param_1 + 0xc4) = (iVar5 + 0x1e) / 2; if (iVar10 < iVar13) { iVar16 = *param_2; *(int *)(param_1 + 0x18) = (int)param_1[0x17] + 10 + (int)param_1[0x16]; } else { iVar16 = iVar16 + *param_2; *(int *)(param_1 + 0x18) = (int)param_1[0x16] + -10; } } else { iVar16 = iVar16 / 2 + *param_2; *(int *)(param_1 + 0x18) = (iVar4 + 0x1e) / 2; iVar15 = param_2[1]; if (iVar14 < iVar9) { iVar15 = iVar15 + iVar12; *(int *)((longlong)param_1 + 0xc4) = *(int *)((longlong)param_1 + 0xb4) + -10; } else { *(int *)((longlong)param_1 + 0xc4) = *(int *)((longlong)param_1 + 0xbc) + 10 + *(int *)((longlong)param_1 + 0xb4); } } FUN_18134bfe0(param_1,iVar16 - (int)param_1[0x18],iVar15 - *(int *)((longlong)param_1 + 0xc4), iVar4 + 0x1e,iVar5 + 0x1e); return; } ############ FUN_ 180505e90 size=211 ############ void FUN_180505e90(longlong param_1,int param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; int iVar4; longlong *plVar5; int iVar6; int iVar7; int iVar8; lVar2 = *(longlong *)(*(longlong *)(param_1 + 0xc0) + (longlong)param_2 * 8); if (lVar2 != 0) { iVar8 = 0; iVar7 = 0; lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xb8) + 0x118); plVar5 = *(longlong **)(lVar3 + 0xc0); plVar1 = plVar5 + *(int *)(lVar3 + 0xcc); iVar4 = 0; for (; plVar5 != plVar1; plVar5 = plVar5 + 1) { iVar8 = iVar8 + iVar7; if ((*(byte *)(*plVar5 + 0xc) & 1) == 0) { iVar7 = 0; iVar6 = iVar4; } else { iVar7 = *(int *)(*plVar5 + 0x10); iVar6 = iVar4 + 1; if (iVar4 == param_2) break; } iVar4 = iVar6; } iVar4 = 0; if (0 < *(int *)(param_1 + 0x2c)) { iVar4 = *(int *)(param_1 + 0x2c); } FUN_18134bfe0(lVar2,iVar8,0,iVar7,iVar4); } return; } ############ FUN_ 180505d80 size=264 ############ void FUN_180505d80(longlong param_1) { longlong *plVar1; longlong lVar2; longlong lVar3; int iVar4; longlong *plVar5; int iVar6; int iVar7; longlong lVar8; int iVar9; int iVar10; iVar7 = *(int *)(param_1 + 0xcc) + -1; lVar8 = (longlong)iVar7; if (-1 < iVar7) { do { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0xc0) + lVar8 * 8); if (lVar2 != 0) { iVar10 = 0; iVar9 = 0; lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xb8) + 0x118); plVar5 = *(longlong **)(lVar3 + 0xc0); plVar1 = plVar5 + *(int *)(lVar3 + 0xcc); iVar4 = 0; for (; plVar5 != plVar1; plVar5 = plVar5 + 1) { iVar10 = iVar10 + iVar9; if ((*(byte *)(*plVar5 + 0xc) & 1) == 0) { iVar9 = 0; iVar6 = iVar4; } else { iVar9 = *(int *)(*plVar5 + 0x10); iVar6 = iVar4 + 1; if (iVar4 == iVar7) break; } iVar4 = iVar6; } iVar4 = 0; if (0 < *(int *)(param_1 + 0x2c)) { iVar4 = *(int *)(param_1 + 0x2c); } FUN_18134bfe0(lVar2,iVar10,0,iVar9,iVar4); } iVar7 = iVar7 + -1; lVar8 = lVar8 + -1; } while (-1 < lVar8); } return; } ############ FUN_ 180509650 size=110 ############ void FUN_180509650(longlong param_1) { undefined4 uVar1; longlong lVar2; undefined4 uVar3; undefined1 local_30 [16]; undefined1 local_20 [24]; if (*(longlong *)(param_1 + 0x18) == 0) { lVar2 = FUN_181344bc0(param_1,local_30); uVar3 = *(undefined4 *)(lVar2 + 0xc); } else { uVar3 = *(undefined4 *)(*(longlong *)(param_1 + 0x18) + 0x2c); } if (*(longlong *)(param_1 + 0x18) == 0) { lVar2 = FUN_181344bc0(param_1,local_20); uVar1 = *(undefined4 *)(lVar2 + 8); } else { uVar1 = *(undefined4 *)(*(longlong *)(param_1 + 0x18) + 0x28); } FUN_18134bfe0(param_1,0,0,uVar1,uVar3); return; } ############ FUN_ 18050a130 size=606 ############ void FUN_18050a130(longlong param_1,int param_2) { double dVar1; char cVar2; longlong *plVar3; ulonglong uVar4; uint uVar5; int iVar6; int iVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; double dVar11; undefined8 local_res8; int local_res10 [2]; int local_res18 [2]; int *in_stack_ffffffffffffff98; undefined4 uVar12; dVar1 = DAT_1824c4520; uVar12 = (undefined4)((ulonglong)in_stack_ffffffffffffff98 >> 0x20); uVar5 = 8; uVar4 = 0; iVar6 = 8; iVar7 = 0; puVar9 = *(undefined8 **)(param_1 + 0x40); uVar10 = (ulonglong)((longlong)(puVar9 + *(int *)(param_1 + 0x4c)) + (7 - (longlong)puVar9)) >> 3; if (puVar9 + *(int *)(param_1 + 0x4c) < puVar9) { uVar10 = uVar4; } uVar8 = uVar4; local_res10[0] = param_2; if (uVar10 != 0) { do { in_stack_ffffffffffffff98 = (int *)((ulonglong)in_stack_ffffffffffffff98 & 0xffffffff00000000) ; plVar3 = (longlong *) __RTDynamicCast(*puVar9,0,&juce::Component::RTTI_Type_Descriptor, &juce::ToolbarItemComponent::RTTI_Type_Descriptor, in_stack_ffffffffffffff98); uVar12 = (undefined4)((ulonglong)in_stack_ffffffffffffff98 >> 0x20); if (plVar3 != (longlong *)0x0) { iVar7 = *(int *)(param_1 + 0xd8); local_res10[0] = 1; local_res18[0] = 1; local_res8 = (double)CONCAT44(local_res8._4_4_,1); if ((undefined **)*plVar3 == juce::Toolbar::Spacer::vftable) { if (0.0 < *(float *)(plVar3 + 0x40)) { dVar11 = (double)((float)iVar7 * *(float *)(plVar3 + 0x40)) + dVar1; local_res10[0] = SUB84(dVar11,0); local_res8._4_4_ = (undefined4)((ulonglong)dVar11 >> 0x20); local_res18[0] = local_res10[0]; if ((*(char *)((longlong)plVar3 + 0x204) == '\0') && (local_res18[0] = 4, local_res10[0] < 4)) { local_res18[0] = local_res10[0]; } if (*(int *)((longlong)plVar3 + 0x1cc) == 2) { local_res10[0] = iVar7 / (int)((*(char *)((longlong)plVar3 + 0x204) != '\0') + 2); local_res8 = (double)CONCAT44(local_res8._4_4_,local_res10[0]); dVar11 = local_res8; } } else { local_res10[0] = iVar7 * 2; local_res18[0] = 4; local_res8 = (double)CONCAT44(local_res8._4_4_,0x8000); dVar11 = local_res8; } } else { in_stack_ffffffffffffff98 = local_res18; cVar2 = (*(code *)((undefined **)*plVar3)[0x32]) (plVar3,iVar7,0,local_res10,in_stack_ffffffffffffff98,&local_res8); uVar12 = (undefined4)((ulonglong)in_stack_ffffffffffffff98 >> 0x20); dVar11 = local_res8; if (cVar2 == '\0') goto LAB_18050a2f6; } local_res8 = dVar11; if ((400 < (int)(local_res10[0] + uVar5)) && (8 < (int)uVar5)) { iVar6 = iVar6 + *(int *)(param_1 + 0xd8); uVar5 = 8; } in_stack_ffffffffffffff98 = (int *)CONCAT44(uVar12,*(undefined4 *)(param_1 + 0xd8)); FUN_18134bfe0(plVar3,uVar5,iVar6,local_res10[0],in_stack_ffffffffffffff98); uVar5 = uVar5 + local_res10[0]; if ((int)uVar8 < (int)uVar5) { uVar8 = (ulonglong)uVar5; } } LAB_18050a2f6: uVar12 = (undefined4)((ulonglong)in_stack_ffffffffffffff98 >> 0x20); iVar7 = (int)uVar8; puVar9 = puVar9 + 1; uVar4 = uVar4 + 1; } while (uVar4 != uVar10); } FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),iVar7 + 8, CONCAT44(uVar12,*(int *)(param_1 + 0xd8) + 8 + iVar6)); return; } ############ FUN_ 180518a90 size=316 ############ void FUN_180518a90(longlong *param_1) { int iVar1; longlong lVar2; undefined1 (*pauVar3) [16]; longlong *plVar4; longlong *plVar5; longlong *plVar6; undefined1 local_38 [16]; double local_28; double local_20; double local_18; double local_10; if ((*param_1 != 0) && (*(longlong *)(*param_1 + 0x10) != 0)) { local_10 = (double)param_1[3]; iVar1 = (int)param_1[1]; local_38._0_8_ = param_1[1]; local_38._12_4_ = *(int *)((longlong)param_1 + 0x14) - *(int *)((longlong)param_1 + 0xc); local_38._8_4_ = (int)param_1[2] - iVar1; local_28 = (double)iVar1 / local_10; local_18 = (double)(int)local_38._8_4_ / local_10; local_20 = (double)(int)((ulonglong)local_38._0_8_ >> 0x20) / local_10; local_10 = (double)(int)local_38._12_4_ / local_10; pauVar3 = (undefined1 (*) [16])FUN_18051bbd0(&local_28,local_38); lVar2 = *param_1; plVar6 = (longlong *)0x0; local_38 = *pauVar3; plVar4 = plVar6; if (lVar2 != 0) { plVar4 = *(longlong **)(lVar2 + 0x10); } plVar5 = plVar6; if (lVar2 != 0) { plVar5 = *(longlong **)(lVar2 + 0x10); } FUN_18134bfe0(plVar5,local_38._0_4_ + local_38._8_4_,(ulonglong)local_38._0_8_ >> 0x20, (int)plVar4[5],local_38._12_4_); if (*param_1 != 0) { plVar6 = *(longlong **)(*param_1 + 0x10); } (**(code **)(*plVar6 + 0x68))(plVar6,0,param_1[4]); } return; } ############ FUN_ 180559470 size=219 ############ void FUN_180559470(longlong param_1) { int iVar1; int iVar2; int iVar3; int iVar4; int iVar5; iVar3 = *(int *)(param_1 + 0xd4); iVar5 = 0xe; if (0xe < iVar3 * 2) { iVar5 = iVar3 * 2; } iVar1 = *(int *)(param_1 + 0x28) + iVar3 * -2; iVar2 = *(int *)(param_1 + 0x2c) + iVar3 * -2; iVar4 = 0; if (0 < iVar1) { iVar4 = iVar1; } iVar1 = 0; if (0 < iVar2) { iVar1 = iVar2; } FUN_18134bfe0(param_1 + 0xe0, ((int)((float)iVar4 * **(float **)(param_1 + 0xc0)) + iVar3) - iVar5 / 2, ((int)((DAT_1824c3ea4 - **(float **)(param_1 + 200)) * (float)iVar1) + iVar3) - iVar5 / 2,iVar5,iVar5); return; } ############ FUN_ 18055f0d0 size=471 ############ void FUN_18055f0d0(longlong *param_1,int param_2,int param_3,int param_4,int param_5, longlong param_6) { undefined1 auVar1 [16]; longlong lVar2; int *piVar3; int iVar4; int iVar5; float fVar6; float fVar7; float fVar8; float fVar9; longlong local_28; longlong lStack_20; if ((param_6 != 0) && (param_1[6] != 0)) { iVar5 = 0; iVar4 = 0; for (lVar2 = *(longlong *)(param_1[6] + 0x18); lVar2 != param_6; lVar2 = *(longlong *)(lVar2 + 0x18)) { iVar5 = iVar5 - (int)*(undefined8 *)(lVar2 + 0x20); iVar4 = iVar4 - (int)((ulonglong)*(undefined8 *)(lVar2 + 0x20) >> 0x20); } param_2 = param_2 + iVar5; param_3 = param_3 + iVar4; } if (*(int *)((longlong)param_1 + 0x54) == 1) { fVar8 = *(float *)(param_1 + 10); } else { fVar8 = (float)param_5 * *(float *)(param_1 + 10); } if (*(int *)((longlong)param_1 + 0x5c) == 1) { fVar9 = *(float *)(param_1 + 0xb); } else { fVar9 = (float)param_4 * *(float *)(param_1 + 0xb); } if (*(int *)((longlong)param_1 + 100) == 1) { fVar7 = *(float *)(param_1 + 0xc); } else { fVar7 = (float)param_5 * *(float *)(param_1 + 0xc); } if (*(int *)((longlong)param_1 + 0x6c) == 1) { fVar6 = *(float *)(param_1 + 0xd); } else { fVar6 = (float)param_4 * *(float *)(param_1 + 0xd); } *(int *)(param_1 + 8) = (int)((float)param_2 + fVar6); *(int *)((longlong)param_1 + 0x44) = (int)((float)param_3 + fVar8); iVar5 = (int)((float)param_4 - (fVar6 + fVar9)); *(int *)(param_1 + 9) = iVar5; iVar4 = (int)((float)param_5 - (fVar7 + fVar8)); *(int *)((longlong)param_1 + 0x4c) = iVar4; if (param_1[6] != 0) { auVar1 = *(undefined1 (*) [16])(param_1 + 8); FUN_18134bfe0(param_1[6],auVar1._0_8_,auVar1._0_8_ >> 0x20,auVar1._8_8_,auVar1._12_4_); } piVar3 = (int *)param_1[7]; if (piVar3 != (int *)0x0) { *piVar3 = (int)((float)param_2 + fVar6); piVar3[1] = (int)((float)param_3 + fVar8); piVar3[2] = iVar5; piVar3[3] = iVar4; } lVar2 = param_1[1] - *param_1 >> 0x3f; if ((param_1[1] - *param_1) / 0x70 + lVar2 != lVar2) { local_28 = param_1[8]; lStack_20 = param_1[9]; FUN_18055f500(param_1,&local_28,param_6); } return; } ############ FUN_ 180564a00 size=659 ############ void FUN_180564a00(longlong param_1,longlong param_2) { int *piVar1; longlong *plVar2; int iVar3; uint uVar4; undefined4 *puVar5; longlong lVar6; uint *_Memory; float fVar7; undefined4 local_res8; undefined4 local_res10; undefined1 local_res20 [8]; undefined8 *local_90; longlong local_88; undefined8 *local_80; undefined8 local_78; undefined8 local_68; undefined4 uStack_60; int iStack_5c; undefined8 local_58; undefined8 uStack_50; local_78 = 0xfffffffffffffffe; iStack_5c = *(int *)(param_1 + 0x2c); uStack_60 = *(undefined4 *)(param_1 + 0x28); local_68 = 0; fVar7 = (float)iStack_5c; FUN_18134bfe0(param_1 + 200,0,0,uStack_60,iStack_5c); plVar2 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar2 + 8))(plVar2); } local_res8 = CONCAT13(0x7f,(int3)DAT_18262bb54); FUN_1812a3160(param_2,local_res8); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar2 + 8))(plVar2); } puVar5 = (undefined4 *)FUN_1812a2a20(&DAT_18262bb50,local_res20,DAT_18248d13c,DAT_1824c3cac); local_res10 = CONCAT13(0x54,(int3)*puVar5); FUN_1812a3160(param_2,local_res10); lVar6 = FUN_18134adf0(param_1); (**(code **)(*(longlong *)(lVar6 + 0x50) + 0x10)) ((longlong *)(lVar6 + 0x50),&local_80,param_1 + 200); local_90 = local_80; if (local_80 != (undefined8 *)0x0) { LOCK(); *(int *)(local_80 + 1) = *(int *)(local_80 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_90,fVar7 * DAT_1824c3cb8); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_90); if (local_90 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_90 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_90)(local_90,1); } } if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar2 + 8))(plVar2); } FUN_181296c00(param_2,DAT_18262bb50); FUN_18049c4e0(&local_88, "no valid license found.\naudio output has been muted.\n\nif using a physical iLok,\nplease ensure it is connected." ); uStack_50 = CONCAT44(iStack_5c,uStack_60); local_58 = local_68; FUN_181296100(param_2,&local_88,&local_58,0x24,2,0,0x24); _Memory = (uint *)(local_88 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (local_80 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_80 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_80)(local_80,1); } } return; } ############ FUN_ 1805650d0 size=581 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1805650d0(longlong param_1) { int *piVar1; longlong *plVar2; uint uVar3; float fVar4; float fVar5; int iVar6; int iVar7; longlong lVar8; longlong lVar9; int iVar10; int iVar11; int iVar12; ulonglong uVar13; ulonglong uVar14; undefined8 *puVar15; undefined8 *local_res10; uVar13 = 0; iVar11 = *(int *)(param_1 + 0x2c); iVar6 = *(int *)(param_1 + 0x28); plVar2 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } lVar9 = *(longlong *)(param_1 + 0xb8); } else { lVar9 = (**(code **)(*plVar2 + 8))(plVar2); } lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar4 = *(float *)(lVar8 + 0x88); local_res10 = (undefined8 *)**(longlong **)(lVar9 + 0x78); if (local_res10 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res10 + 1) = *(int *)(local_res10 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_res10,fVar4 * DAT_1824c441c); FUN_1812e9e30(param_1 + 0x100,&local_res10); if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar12 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar12 == 1) { (**(code **)*local_res10)(local_res10,1); } } lVar9 = (**(code **)(*plVar2 + 8))(plVar2); fVar4 = *(float *)(lVar9 + 0x88); fVar5 = *(float *)(param_1 + 0x308); lVar9 = (**(code **)(*plVar2 + 8))(plVar2); iVar12 = (int)(fVar5 * *(float *)(lVar9 + 0x88)); if (iVar11 < iVar12) { iVar12 = iVar11; } iVar11 = iVar11 - iVar12; iVar10 = (int)(fVar4 * _DAT_1824c4718); uVar3 = iVar6 + iVar10 * 2; uVar14 = uVar13; if (0 < (int)uVar3) { uVar14 = (ulonglong)uVar3; } iVar7 = 0; if (0 < iVar12) { iVar7 = iVar12; } FUN_18134bfe0(param_1 + 0x100,-iVar10,0,uVar14,iVar7); puVar15 = *(undefined8 **)(param_1 + 0xf0); uVar14 = (ulonglong)((longlong)(puVar15 + *(int *)(param_1 + 0xfc)) + (7 - (longlong)puVar15)) >> 3; if (puVar15 + *(int *)(param_1 + 0xfc) < puVar15) { uVar14 = uVar13; } if (uVar14 != 0) { iVar10 = (int)(float)(iVar11 / *(int *)(param_1 + 0xfc)); do { iVar7 = iVar10; if (iVar11 < iVar10) { iVar7 = iVar11; } iVar11 = iVar11 - iVar7; FUN_18134bfe0(*puVar15,0,iVar12,iVar6,iVar7); puVar15 = puVar15 + 1; uVar13 = uVar13 + 1; iVar12 = iVar12 + iVar7; } while (uVar13 != uVar14); } return; } ############ FUN_ 180566600 size=318 ############ void FUN_180566600(longlong param_1) { char cVar1; longlong lVar2; float fVar3; float fVar4; float fVar5; undefined4 local_res20; if (*(longlong *)(param_1 + 0x4a8) != 0) { cVar1 = FUN_181345240(); if (cVar1 != '\0') { *(float *)(*(longlong *)(param_1 + 0x4a8) + 0x530) = (float)*(int *)(*(longlong *)(param_1 + 0x498) + 0x2c); fVar5 = *(float *)(param_1 + 0x88c); lVar2 = (**(code **)(*(longlong *)(param_1 + 0x140) + 8))(); fVar5 = fVar5 * *(float *)(lVar2 + 0x88); fVar3 = (float)*(int *)(param_1 + 0x28); fVar4 = fVar3; if (fVar5 <= fVar3) { fVar4 = fVar5; } local_res20 = SUB84((double)*(int *)(param_1 + 0x2c) + DAT_1824c4520,0); FUN_18134bfe0(*(undefined8 *)(param_1 + 0x4a8), (ulonglong)((double)((fVar3 + 0.0) - fVar4) + DAT_1824c4520) & 0xffffffff, (ulonglong)DAT_1824c4520 & 0xffffffff, (ulonglong)((double)fVar4 + DAT_1824c4520) & 0xffffffff,local_res20); lVar2 = *(longlong *)(param_1 + 0x4a8); FUN_181344f60(*(undefined8 *)(lVar2 + 0x520),0); FUN_181344f60(*(undefined8 *)(lVar2 + 0x528),0); FUN_181344f60(lVar2,0); } } return; } ############ FUN_ 180572680 size=122 ############ void FUN_180572680(longlong param_1,undefined8 param_2,float *param_3) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 8); FUN_18134bfe0(lVar1,(int)((float)*(int *)(lVar1 + 0xd4) * *param_3) + *(int *)(lVar1 + 0xc4), (int)((float)*(int *)(lVar1 + 0xd8) * *param_3) + *(int *)(lVar1 + 200), *(undefined4 *)(lVar1 + 0xcc),*(undefined4 *)(lVar1 + 0xd0)); return; } ############ FUN_ 1815ecd00 size=690 ############ void FUN_1815ecd00(longlong param_1) { int iVar1; longlong *plVar2; int iVar3; longlong lVar4; uint uVar5; undefined8 *puVar7; ulonglong uVar8; ulonglong uVar9; longlong lVar10; float fVar11; float fVar12; float fVar13; float fVar14; double local_res8; double local_res10; double local_res18; double local_res20; float local_98; float fStack_94; float local_90; float fStack_8c; ulonglong uVar6; lVar10 = *(longlong *)(param_1 + 0x2d0); if (lVar10 == 0) { lVar10 = *(longlong *)(param_1 + 200); } uVar8 = 0; uVar5 = 0; uVar6 = uVar8; uVar9 = uVar8; for (lVar4 = lVar10; lVar4 != *(longlong *)(param_1 + 0xd0); lVar4 = *(longlong *)(lVar4 + 0x18)) { uVar5 = (int)uVar6 + (int)*(undefined8 *)(lVar4 + 0x20); uVar6 = (ulonglong)uVar5; uVar9 = (ulonglong)(uint)((int)uVar9 + (int)((ulonglong)*(undefined8 *)(lVar4 + 0x20) >> 0x20)); } fVar13 = (float)(int)uVar5; fVar14 = (float)(int)uVar9; iVar3 = FUN_1815af820(param_1,*(undefined4 *)(param_1 + 0x2c4)); puVar7 = *(undefined8 **)(param_1 + 0x2b0); fVar12 = 0.0; uVar6 = (ulonglong)((longlong)(puVar7 + *(int *)(param_1 + 700)) + (7 - (longlong)puVar7)) >> 3; if (puVar7 + *(int *)(param_1 + 700) < puVar7) { uVar6 = uVar8; } if (uVar6 != 0) { do { plVar2 = (longlong *)*puVar7; lVar4 = (**(code **)(*plVar2 + 8))(plVar2); if ((*(byte *)(lVar4 + 0xa8) & 2) != 0) { lVar4 = (**(code **)(*plVar2 + 0x10))(plVar2,&local_res8); fVar12 = fVar12 + *(float *)(lVar4 + 4); } puVar7 = puVar7 + 1; uVar8 = uVar8 + 1; } while (uVar8 != uVar6); } iVar1 = *(int *)(param_1 + 0x2c0); local_90 = (float)iVar3; if (iVar1 == 0) { local_98 = fVar13 + 0.0; fStack_94 = ((float)((uint)fVar12 ^ DAT_1824c4f30) - *(float *)(param_1 + 0x2c8)) + fVar14; goto LAB_1815ecec4; } if (iVar1 == 1) { fVar11 = (float)*(int *)(lVar10 + 0x28) + *(float *)(param_1 + 0x2c8); } else { if (iVar1 == 2) { local_98 = fVar13 + 0.0; fStack_94 = (float)*(int *)(lVar10 + 0x2c) + *(float *)(param_1 + 0x2c8) + fVar14; goto LAB_1815ecec4; } local_98 = fVar13; fStack_94 = fVar14; if (iVar1 != 3) goto LAB_1815ecec4; fVar11 = (float)-iVar3 - *(float *)(param_1 + 0x2c8); } local_98 = fVar11 + fVar13; fStack_94 = fVar14 + 0.0; LAB_1815ecec4: fStack_8c = fVar12; lVar4 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); FUN_1815af520(param_1 + 0x2c0,lVar10,*(undefined8 *)(param_1 + 0xd0),&local_98, *(float *)(lVar4 + 0x88) * DAT_1824c43e8); local_res8 = (double)local_98 + DAT_1824c4520; local_res18 = (double)local_90 + DAT_1824c4520; local_98 = SUB84(local_res8,0); local_res10 = (double)fStack_94 + DAT_1824c4520; fStack_94 = (float)local_res10._0_4_; local_90 = SUB84(local_res18,0); local_res20 = (double)fStack_8c + DAT_1824c4520; fStack_8c = (float)local_res20._0_4_; FUN_18134bfe0(param_1,(ulonglong)local_res8 & 0xffffffff,(ulonglong)local_res10 & 0xffffffff, (ulonglong)local_res18 & 0xffffffff,local_res20._0_4_); return; } ############ FUN_ 18057c930 size=407 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18057c930(longlong param_1,undefined8 param_2,float *param_3) { float fVar1; float *pfVar2; longlong lVar3; float fVar4; float fVar5; float fVar6; undefined4 local_res20; fVar4 = *param_3; if (*(longlong *)(*(longlong *)(param_1 + 8) + 0x290) != 0) { lVar3 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 8) + 0xb0) + 8))(); fVar5 = *(float *)(lVar3 + 0x88); lVar3 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 8) + 0xb0) + 8))(); fVar1 = *(float *)(lVar3 + 0x88); pfVar2 = *(float **)(*(longlong *)(param_1 + 8) + 0x290); fVar5 = (float)((uint)(fVar5 * _DAT_1824c4744 * fVar4) ^ DAT_1824c4f30); fVar4 = fVar5 * DAT_1824c41e0 + fVar1 * pfVar2[2]; if (fVar4 <= 0.0) { fVar4 = 0.0; } fVar6 = fVar5 * DAT_1824c41e0 + fVar1 * pfVar2[3]; if (fVar6 <= 0.0) { fVar6 = 0.0; } local_res20 = SUB84((double)fVar6 + DAT_1824c4520,0); FUN_18134bfe0(*(longlong *)(param_1 + 8),(double)(*pfVar2 * fVar1 - fVar5) + DAT_1824c4520, (ulonglong)((double)(pfVar2[1] * fVar1 - fVar5) + DAT_1824c4520) & 0xffffffff, (ulonglong)((double)fVar4 + DAT_1824c4520) & 0xffffffff,local_res20); } return; } ############ FUN_ 180581aa0 size=2131 ############ void FUN_180581aa0(longlong param_1) { int *piVar1; longlong *plVar2; undefined1 auVar3 [16]; int iVar4; code *pcVar5; uint uVar6; undefined8 uVar7; longlong lVar8; undefined8 *puVar9; ulonglong uVar10; uint uVar11; ulonglong uVar12; uint uVar13; int iVar14; ulonglong uVar15; int iVar16; undefined4 uVar17; float fVar18; float fVar19; float fVar20; undefined8 *local_res10; undefined8 *local_res18; undefined1 local_res20 [4]; undefined4 local_res24; undefined8 *local_108; undefined8 *local_100; undefined8 *local_f8; undefined8 *local_f0; double local_e8; undefined8 *local_e0; undefined8 *local_d8; undefined8 local_d0; undefined1 local_c8 [8]; undefined8 local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; undefined1 local_a0 [8]; undefined1 local_98 [8]; undefined8 local_90; local_d0 = 0xfffffffffffffffe; plVar2 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } uVar7 = FUN_1813f22a0(uVar7,local_c8,DAT_182674210,param_1); uVar17 = FUN_1813ec390(uVar7); *(undefined4 *)(param_1 + 0x314) = uVar17; uVar17 = DAT_182674230; if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } FUN_1813f22a0(uVar7,local_res20,uVar17,param_1); *(undefined4 *)(param_1 + 0x7f8) = local_res24; FUN_181403590(*(undefined8 *)(param_1 + 0x800),uVar17); iVar16 = *(int *)(param_1 + 0x2c); iVar4 = *(int *)(param_1 + 0x28); fVar20 = (float)iVar4 / ((float)iVar16 + DAT_1824c3ea4); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } lVar8 = *(longlong *)(param_1 + 0xb8); } else { lVar8 = (**(code **)(*plVar2 + 8))(plVar2); } fVar18 = DAT_1824c441c; fVar19 = *(float *)(lVar8 + 0x88); uVar13 = 0; if (*(char *)(param_1 + 0x31c) == '\0') { iVar16 = (int)(*(float *)(param_1 + 0x318) * DAT_1824c441c * fVar19); pcVar5 = *(code **)(*plVar2 + 8); if (pcVar5 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (*pcVar5)(plVar2); } uVar7 = FUN_1813f22a0(uVar7,local_a0,DAT_1826742bc,param_1); fVar20 = (float)FUN_1813ec390(uVar7); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); iVar14 = (int)(*(float *)(lVar8 + 0x88) * fVar20 * *(float *)(param_1 + 0x314)); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } uVar7 = FUN_1813f22a0(uVar7,local_98,DAT_182674220,param_1); fVar20 = (float)FUN_1813ec390(uVar7); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); local_e8 = (double)(*(float *)(lVar8 + 0x88) * fVar18 * DAT_1824c3df0 * fVar20) + DAT_1824c4520; lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar19 = *(float *)(lVar8 + 0x88) * DAT_1824c4408; lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar18 = *(float *)(lVar8 + 0x88) * DAT_1824c4408; *(ulonglong *)(param_1 + 0x330) = CONCAT44(*(int *)(param_1 + 0x2c) - iVar16, (int)((double)(*(int *)(param_1 + 0x28) - iVar14) * DAT_1824c4050)); *(ulonglong *)(param_1 + 0x338) = CONCAT44(iVar16,iVar14); *(undefined4 *)(param_1 + 0x340) = 0xc; uVar6 = SUB84(local_e8,0); uVar11 = uVar13; if ((int)uVar6 < 0) { uVar11 = uVar6; } if (0 < (int)uVar6) { uVar13 = uVar6; } *(ulonglong *)(param_1 + 800) = (ulonglong)uVar11 << 0x20; *(ulonglong *)(param_1 + 0x328) = CONCAT44(uVar13,iVar4); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } lVar8 = *(longlong *)(param_1 + 0xb8); } else { lVar8 = (**(code **)(*plVar2 + 8))(plVar2); } local_res10 = (undefined8 *)**(longlong **)(lVar8 + 0x68); if (local_res10 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res10 + 1) = *(int *)(local_res10 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_res10,fVar19); FUN_181251cf0(&local_res10,&local_res18,DAT_1824c3c7c); if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_res10)(local_res10,1); } } local_e0 = *(undefined8 **)(param_1 + 0x350); *(undefined8 **)(param_1 + 0x350) = local_res18; local_res18 = local_e0; if (local_e0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_e0 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_e0)(local_e0,1); } } if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } puVar9 = (undefined8 *)FUN_1813f2500(uVar7,&local_d8,fVar18 * fVar20); local_90 = *(undefined8 *)(param_1 + 0x348); *(undefined8 *)(param_1 + 0x348) = *puVar9; *puVar9 = local_90; if (local_d8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_d8 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_d8)(local_d8,1); } } if (*(char *)(param_1 + 0x31d) == '\0') { iVar16 = *(int *)(param_1 + 0x33c); uVar15 = (ulonglong)*(uint *)(param_1 + 0x28); uVar10 = (ulonglong)(uint)((*(int *)(param_1 + 0x2c) - iVar16) / 2); uVar12 = 0; goto LAB_18058224d; } } else { lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar18 = *(float *)(lVar8 + 0x88) * DAT_1824c440c; uVar11 = (uint)(*(float *)(param_1 + 0x318) * DAT_1824c441c * fVar19); iVar14 = (int)(*(float *)(param_1 + 0x314) * DAT_1824c44a8 * fVar19); if (fVar20 < *(float *)(param_1 + 0x2f8) || fVar20 == *(float *)(param_1 + 0x2f8)) { *(ulonglong *)(param_1 + 0x330) = CONCAT44((int)((float)iVar16 * DAT_1824c3d8c),(iVar4 - iVar14) / 2); *(ulonglong *)(param_1 + 0x338) = CONCAT44(uVar11,iVar14); *(undefined4 *)(param_1 + 0x340) = 0x24; if (0 < (int)uVar11) { uVar13 = uVar11; } *(ulonglong *)(param_1 + 800) = (ulonglong)(*(int *)(param_1 + 0x334) - uVar11) << 0x20; *(ulonglong *)(param_1 + 0x328) = CONCAT44(uVar13,iVar4); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } puVar9 = (undefined8 *)FUN_1813f2460(uVar7,&local_f8,fVar18); local_b0 = *(undefined8 *)(param_1 + 0x350); *(undefined8 *)(param_1 + 0x350) = *puVar9; *puVar9 = local_b0; if (local_f8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_f8 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_f8)(local_f8,1); } } if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } puVar9 = (undefined8 *)FUN_1813f2500(uVar7,&local_f0,fVar18); local_a8 = *(undefined8 *)(param_1 + 0x348); *(undefined8 *)(param_1 + 0x348) = *puVar9; *puVar9 = local_a8; local_100 = local_f0; } else { *(ulonglong *)(param_1 + 0x330) = CONCAT44((int)(iVar16 - uVar11) / 2,iVar4 - iVar14); *(ulonglong *)(param_1 + 0x338) = CONCAT44(uVar11,iVar14); uVar11 = *(uint *)(param_1 + 0x330); uVar6 = 0; if ((int)uVar11 < 0) { uVar6 = uVar11; } if (0 < (int)uVar11) { uVar13 = uVar11; } *(ulonglong *)(param_1 + 800) = (ulonglong)uVar6; *(ulonglong *)(param_1 + 0x328) = CONCAT44(iVar16,uVar13); *(undefined4 *)(param_1 + 0x340) = 1; if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } puVar9 = (undefined8 *)FUN_1813f2460(uVar7,&local_108,fVar18); local_c0 = *(undefined8 *)(param_1 + 0x350); *(undefined8 *)(param_1 + 0x350) = *puVar9; *puVar9 = local_c0; if (local_108 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_108 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_108)(local_108,1); } } if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } puVar9 = (undefined8 *)FUN_1813f2500(uVar7,&local_100,fVar18); local_b8 = *(undefined8 *)(param_1 + 0x348); *(undefined8 *)(param_1 + 0x348) = *puVar9; *puVar9 = local_b8; } if (local_100 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_100 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_100)(local_100,1); } } } auVar3 = *(undefined1 (*) [16])(param_1 + 0x330); uVar15 = auVar3._8_8_; uVar12 = auVar3._0_8_; uVar10 = uVar12 >> 0x20; iVar16 = auVar3._12_4_; LAB_18058224d: FUN_18134bfe0(param_1 + 0x358,uVar12,uVar10,uVar15,iVar16); return; } ############ FUN_ 180582940 size=2131 ############ void FUN_180582940(longlong param_1) { int *piVar1; longlong *plVar2; undefined1 auVar3 [16]; int iVar4; code *pcVar5; uint uVar6; undefined8 uVar7; longlong lVar8; undefined8 *puVar9; ulonglong uVar10; uint uVar11; ulonglong uVar12; uint uVar13; int iVar14; ulonglong uVar15; int iVar16; undefined4 uVar17; float fVar18; float fVar19; float fVar20; undefined8 *local_res10; undefined8 *local_res18; undefined1 local_res20 [4]; undefined4 local_res24; undefined8 *local_108; undefined8 *local_100; undefined8 *local_f8; undefined8 *local_f0; double local_e8; undefined8 *local_e0; undefined8 *local_d8; undefined8 local_d0; undefined1 local_c8 [8]; undefined8 local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; undefined1 local_a0 [8]; undefined1 local_98 [8]; undefined8 local_90; local_d0 = 0xfffffffffffffffe; plVar2 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } uVar7 = FUN_1813f22a0(uVar7,local_c8,DAT_182674210,param_1); uVar17 = FUN_1813ec390(uVar7); *(undefined4 *)(param_1 + 0x34c) = uVar17; uVar17 = DAT_182674230; if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } FUN_1813f22a0(uVar7,local_res20,uVar17,param_1); *(undefined4 *)(param_1 + 0x830) = local_res24; FUN_181403590(*(undefined8 *)(param_1 + 0x838),uVar17); iVar16 = *(int *)(param_1 + 0x2c); iVar4 = *(int *)(param_1 + 0x28); fVar20 = (float)iVar4 / ((float)iVar16 + DAT_1824c3ea4); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } lVar8 = *(longlong *)(param_1 + 0xb8); } else { lVar8 = (**(code **)(*plVar2 + 8))(plVar2); } fVar18 = DAT_1824c441c; fVar19 = *(float *)(lVar8 + 0x88); uVar13 = 0; if (*(char *)(param_1 + 0x354) == '\0') { iVar16 = (int)(*(float *)(param_1 + 0x350) * DAT_1824c441c * fVar19); pcVar5 = *(code **)(*plVar2 + 8); if (pcVar5 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (*pcVar5)(plVar2); } uVar7 = FUN_1813f22a0(uVar7,local_a0,DAT_1826742bc,param_1); fVar20 = (float)FUN_1813ec390(uVar7); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); iVar14 = (int)(*(float *)(lVar8 + 0x88) * fVar20 * *(float *)(param_1 + 0x34c)); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } uVar7 = FUN_1813f22a0(uVar7,local_98,DAT_182674220,param_1); fVar20 = (float)FUN_1813ec390(uVar7); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); local_e8 = (double)(*(float *)(lVar8 + 0x88) * fVar18 * DAT_1824c3df0 * fVar20) + DAT_1824c4520; lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar19 = *(float *)(lVar8 + 0x88) * DAT_1824c4408; lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar18 = *(float *)(lVar8 + 0x88) * DAT_1824c4408; *(ulonglong *)(param_1 + 0x368) = CONCAT44(*(int *)(param_1 + 0x2c) - iVar16, (int)((double)(*(int *)(param_1 + 0x28) - iVar14) * DAT_1824c4050)); *(ulonglong *)(param_1 + 0x370) = CONCAT44(iVar16,iVar14); *(undefined4 *)(param_1 + 0x378) = 0xc; uVar6 = SUB84(local_e8,0); uVar11 = uVar13; if ((int)uVar6 < 0) { uVar11 = uVar6; } if (0 < (int)uVar6) { uVar13 = uVar6; } *(ulonglong *)(param_1 + 0x358) = (ulonglong)uVar11 << 0x20; *(ulonglong *)(param_1 + 0x360) = CONCAT44(uVar13,iVar4); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } lVar8 = *(longlong *)(param_1 + 0xb8); } else { lVar8 = (**(code **)(*plVar2 + 8))(plVar2); } local_res10 = (undefined8 *)**(longlong **)(lVar8 + 0x68); if (local_res10 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res10 + 1) = *(int *)(local_res10 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_res10,fVar19); FUN_181251cf0(&local_res10,&local_res18,DAT_1824c3c7c); if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_res10)(local_res10,1); } } local_e0 = *(undefined8 **)(param_1 + 0x388); *(undefined8 **)(param_1 + 0x388) = local_res18; local_res18 = local_e0; if (local_e0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_e0 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_e0)(local_e0,1); } } if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } puVar9 = (undefined8 *)FUN_1813f2500(uVar7,&local_d8,fVar18 * fVar20); local_90 = *(undefined8 *)(param_1 + 0x380); *(undefined8 *)(param_1 + 0x380) = *puVar9; *puVar9 = local_90; if (local_d8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_d8 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_d8)(local_d8,1); } } if (*(char *)(param_1 + 0x355) == '\0') { iVar16 = *(int *)(param_1 + 0x374); uVar15 = (ulonglong)*(uint *)(param_1 + 0x28); uVar10 = (ulonglong)(uint)((*(int *)(param_1 + 0x2c) - iVar16) / 2); uVar12 = 0; goto LAB_1805830ed; } } else { lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar18 = *(float *)(lVar8 + 0x88) * DAT_1824c440c; uVar11 = (uint)(*(float *)(param_1 + 0x350) * DAT_1824c441c * fVar19); iVar14 = (int)(*(float *)(param_1 + 0x34c) * DAT_1824c44a8 * fVar19); if (fVar20 < *(float *)(param_1 + 0x330) || fVar20 == *(float *)(param_1 + 0x330)) { *(ulonglong *)(param_1 + 0x368) = CONCAT44((int)((float)iVar16 * DAT_1824c3d8c),(iVar4 - iVar14) / 2); *(ulonglong *)(param_1 + 0x370) = CONCAT44(uVar11,iVar14); *(undefined4 *)(param_1 + 0x378) = 0x24; if (0 < (int)uVar11) { uVar13 = uVar11; } *(ulonglong *)(param_1 + 0x358) = (ulonglong)(*(int *)(param_1 + 0x36c) - uVar11) << 0x20; *(ulonglong *)(param_1 + 0x360) = CONCAT44(uVar13,iVar4); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } puVar9 = (undefined8 *)FUN_1813f2460(uVar7,&local_f8,fVar18); local_b0 = *(undefined8 *)(param_1 + 0x388); *(undefined8 *)(param_1 + 0x388) = *puVar9; *puVar9 = local_b0; if (local_f8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_f8 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_f8)(local_f8,1); } } if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } puVar9 = (undefined8 *)FUN_1813f2500(uVar7,&local_f0,fVar18); local_a8 = *(undefined8 *)(param_1 + 0x380); *(undefined8 *)(param_1 + 0x380) = *puVar9; *puVar9 = local_a8; local_100 = local_f0; } else { *(ulonglong *)(param_1 + 0x368) = CONCAT44((int)(iVar16 - uVar11) / 2,iVar4 - iVar14); *(ulonglong *)(param_1 + 0x370) = CONCAT44(uVar11,iVar14); uVar11 = *(uint *)(param_1 + 0x368); uVar6 = 0; if ((int)uVar11 < 0) { uVar6 = uVar11; } if (0 < (int)uVar11) { uVar13 = uVar11; } *(ulonglong *)(param_1 + 0x358) = (ulonglong)uVar6; *(ulonglong *)(param_1 + 0x360) = CONCAT44(iVar16,uVar13); *(undefined4 *)(param_1 + 0x378) = 1; if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } puVar9 = (undefined8 *)FUN_1813f2460(uVar7,&local_108,fVar18); local_c0 = *(undefined8 *)(param_1 + 0x388); *(undefined8 *)(param_1 + 0x388) = *puVar9; *puVar9 = local_c0; if (local_108 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_108 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_108)(local_108,1); } } if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } puVar9 = (undefined8 *)FUN_1813f2500(uVar7,&local_100,fVar18); local_b8 = *(undefined8 *)(param_1 + 0x380); *(undefined8 *)(param_1 + 0x380) = *puVar9; *puVar9 = local_b8; } if (local_100 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_100 + 1); iVar16 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)*local_100)(local_100,1); } } } auVar3 = *(undefined1 (*) [16])(param_1 + 0x368); uVar15 = auVar3._8_8_; uVar12 = auVar3._0_8_; uVar10 = uVar12 >> 0x20; iVar16 = auVar3._12_4_; LAB_1805830ed: FUN_18134bfe0(param_1 + 0x390,uVar12,uVar10,uVar15,iVar16); return; } ############ FUN_ 1812b9370 size=303 ############ void FUN_1812b9370(longlong param_1) { longlong lVar1; int iVar2; int iVar3; undefined4 uVar4; longlong lVar5; int iVar6; undefined4 uStack_1c; iVar3 = *(int *)(param_1 + 0x28) + -4; iVar6 = *(int *)(param_1 + 0x2c) + -4; iVar2 = 0; if (0 < iVar3) { iVar2 = iVar3; } uStack_1c = 0; if (0 < iVar6) { uStack_1c = iVar6; } if ((*(byte *)(param_1 + 0x2b0) & 2) != 0) { iVar3 = 0x18; if (uStack_1c < 0x18) { iVar3 = uStack_1c; } lVar1 = param_1 + 0x208; iVar6 = uStack_1c - iVar3; FUN_18134bfe0(lVar1,2,(uStack_1c - iVar3) + 2,iVar2,iVar3); lVar5 = FUN_18134adf0(lVar1); uVar4 = (**(code **)(*(longlong *)(lVar5 + 8) + 0x18))(lVar5 + 8,lVar1,0x18); FUN_18134bfe0(lVar1,*(undefined4 *)(param_1 + 0x228),*(undefined4 *)(param_1 + 0x22c),uVar4,0x18 ); uStack_1c = 3; if (iVar6 < 3) { uStack_1c = iVar6; } uStack_1c = iVar6 - uStack_1c; } FUN_18134bfe0(param_1 + 0xd8,2,2,iVar2,uStack_1c); return; } ############ FUN_ 1812bb800 size=127 ############ void FUN_1812bb800(longlong param_1) { longlong lVar1; longlong lVar2; lVar2 = 0; lVar1 = *(longlong *)(param_1 + 0x110); FUN_18134bfe0(lVar1 + 0x30,0,0,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c)); if (*(longlong *)(lVar1 + 0x1b0) != 0) { lVar2 = *(longlong *)(*(longlong *)(lVar1 + 0x1b0) + 0x10); } FUN_18134bfe0(lVar2,*(undefined4 *)(lVar2 + 0x20),*(undefined4 *)(lVar2 + 0x24), *(undefined4 *)(lVar1 + 0x128),*(undefined4 *)(lVar2 + 0x2c)); return; } ############ FUN_ 1812c5e10 size=196 ############ void FUN_1812c5e10(longlong param_1,undefined8 param_2,char param_3) { undefined1 auVar1 [16]; char *pcVar2; longlong lVar3; char *pcVar4; char *pcVar5; lVar3 = __RTDynamicCast(param_2,0,&juce::Component::RTTI_Type_Descriptor, &juce::TopLevelWindow::RTTI_Type_Descriptor,0); if (lVar3 != 0) { FUN_1812cc1e0(lVar3,param_3 == '\0'); } if (param_3 != '\0') { pcVar2 = (char *)**(undefined8 **)(param_1 + 0x78); for (pcVar4 = pcVar2; (pcVar5 = pcVar2, pcVar4 != pcVar2 + (longlong)*(int *)((longlong)*(undefined8 **)(param_1 + 0x78) + 0xc) * 0x40 && (pcVar5 = pcVar4, *pcVar4 == '\0')); pcVar4 = pcVar4 + 0x40) { } auVar1 = *(undefined1 (*) [16])(pcVar5 + 4); FUN_18134bfe0(param_2,auVar1._0_8_,auVar1._0_8_ >> 0x20,auVar1._8_4_,auVar1._12_4_); } return; } ############ FUN_ 1812c7b60 size=101 ############ void FUN_1812c7b60(longlong param_1) { int iVar1; int iVar2; longlong lVar3; int iVar4; int iVar5; lVar3 = *(longlong *)(param_1 + 0x18); if (lVar3 != 0) { iVar1 = *(int *)(lVar3 + 0x28); iVar2 = *(int *)(lVar3 + 0x2c); iVar5 = 0xbd; if (iVar2 < 0xbd) { iVar5 = iVar2; } iVar4 = 0x171; if (iVar1 < 0x171) { iVar4 = iVar1; } FUN_18134bfe0(param_1,iVar1 - iVar4,iVar2 - iVar5,iVar4,iVar5); } return; } ############ FUN_ 1812cd070 size=472 ############ void FUN_1812cd070(longlong *param_1,undefined8 param_2,undefined8 param_3,ulonglong *param_4) { undefined1 auVar1 [16]; code *pcVar2; longlong lVar3; undefined1 (*pauVar4) [16]; int iVar5; int iVar6; int iVar7; ulonglong uVar8; int iVar9; int iStackX_1c; undefined8 local_68; undefined8 uStack_60; undefined4 local_58; int local_54; int local_50; int local_4c; uint local_48; int iStack_44; void *local_38; undefined4 local_2c; float local_28; float local_24; local_68 = *param_4; uStack_60 = param_4[1]; lVar3 = FUN_18134adf0(); pcVar2 = *(code **)(*(longlong *)(lVar3 + 0x70) + 8); if (pcVar2 != FUN_18130c830) { pauVar4 = (undefined1 (*) [16])(*pcVar2)(lVar3 + 0x70,&local_58,param_2,param_3,&local_68); auVar1 = *pauVar4; FUN_18134bfe0(param_1,auVar1._0_8_,auVar1._0_8_ >> 0x20,auVar1._8_4_,auVar1._12_4_); /* WARNING: Could not recover jumptable at 0x0001812cd237. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x58))(param_1,1); return; } FUN_181315540(&local_38,param_2,DAT_18262b5b8); iStackX_1c = (int)((ulonglong)param_3 >> 0x20); local_50 = (int)(local_28 + DAT_1824c4414); local_4c = (int)(local_24 + DAT_1824c4388); if (uStack_60._4_4_ / 2 + local_68._4_4_ < iStackX_1c) { iStack_44 = (iStackX_1c - local_4c) + -6; } else { iStack_44 = iStackX_1c + 6; } iVar6 = (int)uStack_60; iVar7 = (int)local_68; iVar5 = (int)param_3; if (iVar6 / 2 + iVar7 < iVar5) { local_48 = (iVar5 - local_50) - 0xc; } else { local_48 = iVar5 + 0x18; } iVar5 = 0; if (0 < iVar6 - local_50) { iVar5 = iVar6 - local_50; } iVar9 = 0; if (0 < uStack_60._4_4_ - local_4c) { iVar9 = uStack_60._4_4_ - local_4c; } uVar8 = local_68; if ((iVar7 <= (int)local_48) && (uVar8 = (ulonglong)local_48, iVar5 + iVar7 < (int)local_48)) { uVar8 = (ulonglong)(uint)(iVar5 + iVar7); } local_54 = local_68._4_4_; if ((local_68._4_4_ <= iStack_44) && (local_54 = iStack_44, iVar9 + local_68._4_4_ < iStack_44)) { local_54 = iVar9 + local_68._4_4_; } local_58 = (undefined4)uVar8; if (iVar6 < local_50) { local_50 = iVar6; } if (uStack_60._4_4_ < local_4c) { local_4c = uStack_60._4_4_; } FUN_1804ae9d0(&local_38); local_2c = 0; /* WARNING: Subroutine does not return */ free(local_38); } ############ FUN_ 1812cf070 size=120 ############ void FUN_1812cf070(longlong *param_1,longlong param_2) { longlong lVar1; int local_18; int local_14; int local_10; int local_c; lVar1 = 0; if (param_1[0x1a] != 0) { lVar1 = *(longlong *)(param_1[0x1a] + 0x10); } if (((param_2 == lVar1) && (param_2 != 0)) && (*(char *)((longlong)param_1 + 0xe1) != '\0')) { (**(code **)(*param_1 + 0x170))(param_1,&local_18); FUN_18134bfe0(param_1,(int)param_1[4],*(undefined4 *)((longlong)param_1 + 0x24), *(int *)(param_2 + 0x28) + local_c + local_14, *(int *)(param_2 + 0x2c) + local_10 + local_18); } return; } ############ FUN_ 1812d3180 size=1545 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812d3180(longlong param_1,undefined8 *param_2,int *param_3) { int iVar1; float fVar2; float fVar3; float fVar4; undefined8 uVar5; char cVar6; int iVar7; int iVar8; int iVar9; int iVar10; float *pfVar11; int iVar12; float *pfVar13; int iVar14; longlong lVar15; undefined4 extraout_XMM0_Db; undefined8 extraout_XMM0_Qb; float fVar16; float fVar17; float fVar18; float fVar19; float fVar20; float fVar21; float fVar22; float fVar23; float fVar24; float fVar25; undefined1 auVar26 [16]; undefined1 auStack_198 [32]; undefined1 *local_178; float local_168; float local_164; float local_160; float local_15c; float local_158; float local_154; undefined1 local_150 [8]; int local_148; int iStack_144; int local_140; int iStack_13c; float local_138 [5]; float local_124; float local_120; float local_11c; float local_118 [2]; undefined8 local_110; float local_108; float local_104; float local_100; float local_fc; float local_f8; float local_f4; float local_f0; float local_ec; float local_e8; float local_e4; float local_e0; float local_dc; ulonglong local_d8; local_d8 = DAT_182615970 ^ (ulonglong)auStack_198; uVar5 = param_2[1]; *(undefined8 *)(param_1 + 0x110) = *param_2; *(undefined8 *)(param_1 + 0x118) = uVar5; uVar5 = *(undefined8 *)(param_3 + 2); *(undefined8 *)(param_1 + 0x100) = *(undefined8 *)param_3; *(undefined8 *)(param_1 + 0x108) = uVar5; iVar7 = FUN_1812d3a80(); iVar12 = 0; local_148 = 0; iStack_144 = 0; iVar14 = *(int *)(*(longlong *)(param_1 + 200) + 0x28) + iVar7 * 2; iStack_13c = *(int *)(*(longlong *)(param_1 + 200) + 0x2c) + iVar7 * 2; local_138[4] = (float)*(int *)(param_1 + 0x110); iVar8 = iVar14 / 2; iVar9 = iStack_13c / 2; local_f8 = (float)iVar7 - *(float *)(param_1 + 0x128); local_138[0] = (float)(*(int *)(param_1 + 0x118) / 2 + *(int *)(param_1 + 0x110)); local_138[1] = (float)(*(int *)(param_1 + 0x11c) + *(int *)(param_1 + 0x114)); local_138[2] = (float)(*(int *)(param_1 + 0x118) + *(int *)(param_1 + 0x110)); local_138[3] = (float)(*(int *)(param_1 + 0x11c) / 2 + *(int *)(param_1 + 0x114)); local_124 = (float)(*(int *)(param_1 + 0x11c) / 2 + *(int *)(param_1 + 0x114)); fVar25 = (float)(iVar8 + iVar7 * -2); fVar23 = (float)(iVar9 + iVar7 * -2); local_120 = (float)(*(int *)(param_1 + 0x118) / 2 + *(int *)(param_1 + 0x110)); local_118[0] = local_138[0] - fVar25; local_154 = (float)iVar9; local_e4 = local_154 - local_f8; local_118[1] = local_138[1] + local_e4; local_11c = (float)*(int *)(param_1 + 0x114); local_e4 = (float)*(int *)(param_1 + 0x114) - local_e4; local_110 = CONCAT44(local_118[1],local_138[0] + fVar25); local_158 = (float)iVar8; iVar7 = param_3[2] + iVar8 * -2; iVar1 = param_3[3] + iVar9 * -2; iVar10 = 0; if (0 < iVar7) { iVar10 = iVar7; } local_dc = local_e4; local_f8 = local_158 - local_f8; iVar7 = 0; if (0 < iVar1) { iVar7 = iVar1; } local_108 = local_138[2] + local_f8; local_104 = local_138[3] - fVar23; local_f8 = (float)*(int *)(param_1 + 0x110) - local_f8; local_168 = (float)iVar7; local_f4 = local_124 - fVar23; local_100 = local_108; local_fc = local_138[3] + fVar23; local_f0 = local_f8; local_e8 = local_120 - fVar25; local_e0 = local_120 + fVar25; local_ec = local_124 + fVar23; fVar25 = (float)(*param_3 + iVar8); fVar23 = (float)(param_3[1] + iVar9); pfVar13 = local_138; local_15c = (float)(*(int *)(param_1 + 0x118) / 2 + *(int *)(param_1 + 0x110)); pfVar11 = (float *)&local_110; lVar15 = 4; local_164 = DAT_1824c4618; fVar22 = fVar25 + (float)iVar10; local_160 = (float)(*(int *)(param_1 + 0x11c) / 2 + *(int *)(param_1 + 0x114)); local_140 = iVar14; do { fVar24 = *pfVar11; fVar2 = pfVar11[1]; fVar17 = fVar25; if ((fVar25 <= fVar24) && (fVar17 = fVar22, fVar24 <= fVar22)) { fVar17 = fVar24; } fVar16 = fVar23; if ((fVar23 <= fVar2) && (fVar16 = fVar23 + local_168, fVar2 <= fVar23 + local_168)) { fVar16 = fVar2; } fVar3 = pfVar11[-2]; fVar4 = pfVar11[-1]; fVar21 = fVar25; if ((fVar25 <= fVar3) && (fVar21 = fVar22, fVar3 <= fVar22)) { fVar21 = fVar3; } fVar20 = fVar23; if ((fVar23 <= fVar4) && (fVar20 = fVar23 + local_168, fVar4 <= fVar23 + local_168)) { fVar20 = fVar4; } fVar17 = fVar17 - fVar21; fVar16 = fVar16 - fVar20; fVar18 = fVar16 * fVar16 + fVar17 * fVar17; if (0.0 < fVar18) { fVar18 = ((local_160 - fVar20) * fVar16 + (local_15c - fVar21) * fVar17) / fVar18; if (0.0 <= fVar18) { fVar19 = DAT_1824c3ea4; if (fVar18 <= DAT_1824c3ea4) { fVar19 = fVar18; } } else { fVar19 = 0.0; } } else { fVar19 = 0.0; } fVar20 = fVar19 * fVar16 + fVar20; fVar21 = fVar19 * fVar17 + fVar21; fVar17 = _hypotf(fVar21 - *pfVar13,fVar20 - pfVar13[1]); auVar26._4_4_ = extraout_XMM0_Db; auVar26._0_4_ = fVar17; auVar26._8_4_ = (int)extraout_XMM0_Qb; auVar26._12_4_ = (int)((ulonglong)extraout_XMM0_Qb >> 0x20); if (((((fVar3 < fVar25) || (fVar4 < fVar23)) || (fVar22 <= fVar3)) || (fVar23 + local_168 <= fVar4)) && (((fVar24 < fVar25 || (fVar2 < fVar23)) || ((fVar22 <= fVar24 || (fVar23 + local_168 <= fVar2)))))) { local_178 = local_150; cVar6 = FUN_1804af1a0(*(undefined8 *)(pfVar11 + -2),*(undefined8 *)pfVar11, CONCAT44(fVar23,fVar25),CONCAT44(fVar23,fVar22)); if (cVar6 == '\0') { local_178 = local_150; fVar24 = fVar23 + local_168; cVar6 = FUN_1804af1a0(CONCAT44(fVar24,fVar22),CONCAT44(fVar23,fVar22), CONCAT44(fVar23,fVar22),CONCAT44(fVar24,fVar22)); if (cVar6 == '\0') { local_178 = local_150; cVar6 = FUN_1804af1a0(CONCAT44(fVar24,fVar25),CONCAT44(fVar24,fVar22), CONCAT44(fVar24,fVar22),CONCAT44(fVar24,fVar25)); if (cVar6 == '\0') { local_178 = local_150; cVar6 = FUN_1804af1a0(CONCAT44(fVar23,fVar25),CONCAT44(fVar24,fVar25), CONCAT44(fVar24,fVar25),CONCAT44(fVar23,fVar25)); if (cVar6 == '\0') { auVar26._0_4_ = fVar17 + DAT_1824c459c; } } } } } if (auVar26._0_4_ < local_164) { *(undefined8 *)(param_1 + 0xf8) = *(undefined8 *)pfVar13; iStack_144 = (int)(fVar20 - local_154); iVar12 = (int)(fVar21 - local_158); local_164 = auVar26._0_4_; } pfVar11 = pfVar11 + 4; pfVar13 = pfVar13 + 2; lVar15 = lVar15 + -1; } while (lVar15 != 0); _local_148 = CONCAT44(iStack_144,iVar12); local_178 = (undefined1 *)CONCAT44(local_178._4_4_,iStack_13c); FUN_18134bfe0(param_1,iVar12,iStack_144,iVar14); } ############ FUN_ 1812d39e0 size=69 ############ void FUN_1812d39e0(longlong param_1) { longlong lVar1; undefined4 uVar2; uVar2 = FUN_1812d3a80(); lVar1 = *(longlong *)(param_1 + 200); FUN_18134bfe0(lVar1,uVar2,uVar2,*(undefined4 *)(lVar1 + 0x28),*(undefined4 *)(lVar1 + 0x2c)); FUN_1812d2f60(param_1); return; } ############ FUN_ 1813170d0 size=567 ############ undefined8 FUN_1813170d0(longlong param_1,int param_2,int param_3) { int iVar1; char cVar2; int iVar3; longlong lVar4; longlong lVar5; longlong lVar6; longlong lVar7; int iVar8; int iVar9; bool bVar10; if (*(longlong *)(param_1 + 0x180) == 0) { return 0; } if (*(longlong *)(*(longlong *)(param_1 + 0x180) + 0x10) == 0) { return 0; } lVar7 = 0; iVar9 = 0; lVar5 = lVar7; if ((*(byte *)(*(longlong *)(param_1 + 200) + 0xa8) & 2) == 0) { iVar9 = 0; cVar2 = FUN_181317540(); iVar8 = (int)lVar5; if (cVar2 != '\0') goto LAB_181317127; } else { LAB_181317127: iVar8 = (int)lVar5; if (param_2 < 0x14) { iVar9 = 0x14 - param_2; LAB_18131714f: if (-1 < iVar9) goto LAB_181317190; lVar5 = lVar7; if (*(longlong *)(param_1 + 0x180) != 0) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x180) + 0x10); } iVar3 = (*(int *)(param_1 + 0xf8) - *(int *)(lVar5 + 0x28)) - *(int *)(lVar5 + 0x20); if (iVar9 < -10) { iVar9 = -10; if (-10 < iVar3) { iVar9 = iVar3; } goto LAB_1813171bd; } bVar10 = SBORROW4(iVar9,iVar3); iVar1 = iVar9 - iVar3; } else { if (*(int *)(param_1 + 0xf8) + -0x14 <= param_2) { iVar9 = (*(int *)(param_1 + 0xf8) - param_2) + -0x14; goto LAB_18131714f; } LAB_181317190: lVar5 = lVar7; if (*(longlong *)(param_1 + 0x180) != 0) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x180) + 0x10); } iVar3 = -*(int *)(lVar5 + 0x20); if (10 < iVar9) { iVar9 = 10; } bVar10 = SBORROW4(iVar3,iVar9); iVar1 = iVar3 - iVar9; } if (bVar10 != iVar1 < 0) { iVar9 = iVar3; } } LAB_1813171bd: if (((*(byte *)(*(longlong *)(param_1 + 0xc0) + 0xa8) & 2) == 0) && (cVar2 = FUN_181317590(param_1), cVar2 == '\0')) goto LAB_181317273; if (param_3 < 0x14) { iVar8 = 0x14 - param_3; LAB_181317205: if (-1 < iVar8) goto LAB_181317246; lVar5 = lVar7; if (*(longlong *)(param_1 + 0x180) != 0) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x180) + 0x10); } iVar3 = (*(int *)(param_1 + 0xfc) - *(int *)(lVar5 + 0x2c)) - *(int *)(lVar5 + 0x24); if (iVar8 < -10) { iVar8 = -10; if (-10 < iVar3) { iVar8 = iVar3; } goto LAB_181317273; } bVar10 = SBORROW4(iVar8,iVar3); iVar1 = iVar8 - iVar3; } else { if (*(int *)(param_1 + 0xfc) + -0x14 <= param_3) { iVar8 = (*(int *)(param_1 + 0xfc) - param_3) + -0x14; goto LAB_181317205; } LAB_181317246: lVar5 = lVar7; if (*(longlong *)(param_1 + 0x180) != 0) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x180) + 0x10); } iVar3 = -*(int *)(lVar5 + 0x24); if (10 < iVar8) { iVar8 = 10; } bVar10 = SBORROW4(iVar3,iVar8); iVar1 = iVar3 - iVar8; } if (bVar10 != iVar1 < 0) { iVar8 = iVar3; } LAB_181317273: if ((iVar9 == 0) && (iVar8 == 0)) { return 0; } lVar5 = *(longlong *)(param_1 + 0x180); lVar6 = lVar7; if (lVar5 != 0) { lVar6 = *(longlong *)(lVar5 + 0x10); } lVar4 = lVar7; if (lVar5 != 0) { lVar4 = *(longlong *)(lVar5 + 0x10); } if (*(longlong *)(param_1 + 0x180) != 0) { lVar7 = *(longlong *)(*(longlong *)(param_1 + 0x180) + 0x10); } FUN_18134bfe0(lVar7,*(int *)(lVar4 + 0x20) + iVar9,*(int *)(lVar6 + 0x24) + iVar8, *(undefined4 *)(lVar7 + 0x28),*(undefined4 *)(lVar7 + 0x2c)); return 1; } ############ FUN_ 1812d8a40 size=89 ############ void FUN_1812d8a40(longlong param_1) { FUN_18134bfe0(*(undefined8 *)(param_1 + 0xd0),0,0,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); FUN_1812d7f20(param_1); FUN_1812d7d90(param_1); return; } ############ FUN_ 1812dd430 size=307 ############ void FUN_1812dd430(longlong param_1) { undefined8 uVar1; longlong lVar2; int iVar3; int iVar4; int iVar5; int iVar6; int *piVar7; undefined1 local_28 [32]; uVar1 = *(undefined8 *)(param_1 + 0x1c8); iVar6 = *(int *)(param_1 + 0x1d8); iVar3 = *(int *)(param_1 + 0x1dc); iVar4 = *(int *)(param_1 + 0x1e0); iVar5 = *(int *)(param_1 + 0x1e4); piVar7 = (int *)FUN_1804e4fb0(local_28,uVar1); FUN_18134bfe0(uVar1,*piVar7 + iVar3,piVar7[1] + iVar6,(piVar7[2] - iVar3) - iVar5, (piVar7[3] - iVar4) - iVar6); lVar2 = *(longlong *)(param_1 + 0x1c8); iVar6 = SUB84((double)*(float *)(*(longlong *)(param_1 + 0x298) + 0x28) + DAT_1824c4520,0); if ((*(int *)(lVar2 + 0x19c) != 0x10) || (*(int *)(lVar2 + 0x1a0) != iVar6)) { *(undefined4 *)(lVar2 + 0x19c) = 0x10; *(int *)(lVar2 + 0x1a0) = iVar6; FUN_1813165e0(); } FUN_1812e0480(param_1); if (*(char *)(param_1 + 0x1ee) != '\0') { FUN_1812e16d0(); return; } FUN_1812e0240(param_1); return; } ############ FUN_ 1812e2790 size=575 ############ void FUN_1812e2790(longlong param_1) { longlong *plVar1; longlong lVar2; uint uVar3; longlong *plVar4; longlong *plVar5; ulonglong uVar6; int iVar7; ulonglong uVar8; int iVar9; int iVar10; longlong lVar11; uint uVar12; ulonglong uVar14; ulonglong uVar13; if ((*(int *)(param_1 + 0x28) == 0) || (uVar3 = (*(int *)(*(longlong *)(param_1 + 200) + 0x18c) - *(int *)(*(longlong *)(param_1 + 200) + 0x24)) / *(int *)(param_1 + 0xf4), *(uint *)(param_1 + 0xf0) <= uVar3)) { uVar3 = 0xffffffff; } iVar10 = *(int *)(*(longlong *)(param_1 + 200) + 0xfc) / *(int *)(param_1 + 0xf4) + 1 + uVar3; if ((int)uVar3 <= iVar10) { uVar14 = 0; do { lVar11 = *(longlong *)(param_1 + 200); uVar8 = uVar14; if ((*(int *)(lVar11 + 0x1d0) <= iVar10) && (iVar9 = *(int *)(lVar11 + 0x1cc), iVar10 < *(int *)(lVar11 + 0x1d0) + iVar9)) { iVar7 = 1; if (1 < iVar9) { iVar7 = iVar9; } if ((uint)(iVar10 % iVar7) < *(uint *)(lVar11 + 0x1cc)) { uVar8 = *(ulonglong *)(*(longlong *)(lVar11 + 0x1c0) + (longlong)(iVar10 % iVar7) * 8); } } uVar6 = uVar14; if (uVar8 != 0) { uVar6 = *(ulonglong *)(uVar8 + 0xc0); } plVar4 = (longlong *) __RTDynamicCast(uVar6,0,&juce::Component::RTTI_Type_Descriptor, &juce::TableListBox::RowComp::RTTI_Type_Descriptor,0); if (plVar4 != (longlong *)0x0) { if ((undefined **)*plVar4 == juce::TableListBox::RowComp::vftable) { iVar9 = *(int *)((longlong)plVar4 + 0xcc) + -1; lVar11 = (longlong)iVar9; if (-1 < iVar9) { do { lVar2 = *(longlong *)(plVar4[0x18] + lVar11 * 8); if (lVar2 != 0) { plVar5 = *(longlong **)(*(longlong *)(plVar4[0x17] + 0x118) + 0xc0); plVar1 = plVar5 + *(int *)(*(longlong *)(plVar4[0x17] + 0x118) + 0xcc); uVar12 = 0; uVar8 = uVar14; uVar6 = uVar14; uVar13 = uVar14; for (; plVar5 != plVar1; plVar5 = plVar5 + 1) { uVar12 = (int)uVar13 + (int)uVar6; uVar13 = (ulonglong)uVar12; uVar6 = uVar14; if ((*(byte *)(*plVar5 + 0xc) & 1) != 0) { uVar6 = (ulonglong)*(uint *)(*plVar5 + 0x10); iVar7 = (int)uVar8; uVar8 = (ulonglong)(iVar7 + 1); if (iVar7 == iVar9) break; } } iVar7 = 0; if (0 < *(int *)((longlong)plVar4 + 0x2c)) { iVar7 = *(int *)((longlong)plVar4 + 0x2c); } FUN_18134bfe0(lVar2,uVar12,0,uVar6,iVar7); } iVar9 = iVar9 + -1; lVar11 = lVar11 + -1; } while (-1 < lVar11); } } else { (*(code *)((undefined **)*plVar4)[0x21])(plVar4); } } iVar10 = iVar10 + -1; } while ((int)uVar3 <= iVar10); } return; } ############ FUN_ 1812e8140 size=355 ############ void FUN_1812e8140(longlong param_1) { int iVar1; int iVar2; undefined8 uVar3; longlong lVar4; longlong lVar5; int *piVar6; longlong lVar7; int iVar8; int iVar9; undefined1 local_18 [16]; lVar7 = 0; if (*(longlong *)(param_1 + 0xd0) == 0) { iVar8 = 0; } else { iVar8 = *(int *)(*(longlong *)(param_1 + 0xd0) + 0x2c); } iVar1 = *(int *)(param_1 + 0xfc); uVar3 = *(undefined8 *)(param_1 + 200); piVar6 = (int *)FUN_1804e4fb0(local_18,uVar3); FUN_18134bfe0(uVar3,*piVar6 + iVar1,piVar6[1] + iVar1 + iVar8,(piVar6[2] - iVar1) - iVar1, (piVar6[3] - (iVar1 + iVar8)) - iVar1); lVar4 = *(longlong *)(param_1 + 200); iVar8 = *(int *)(param_1 + 0xf4); if ((*(int *)(lVar4 + 0x19c) != 0x14) || (*(int *)(lVar4 + 0x1a0) != iVar8)) { *(undefined4 *)(lVar4 + 0x19c) = 0x14; *(int *)(lVar4 + 0x1a0) = iVar8; FUN_1813165e0(); } lVar4 = *(longlong *)(param_1 + 200); *(undefined1 *)(lVar4 + 0x1dc) = 0; if (*(longlong *)(lVar4 + 0x180) != 0) { lVar7 = *(longlong *)(*(longlong *)(lVar4 + 0x180) + 0x10); } lVar5 = *(longlong *)(lVar4 + 0x1b8); iVar8 = *(int *)(lVar7 + 0x24); iVar1 = *(int *)(lVar5 + 0xf8); if (*(int *)(lVar5 + 0xf8) < *(int *)(lVar4 + 0xf8)) { iVar1 = *(int *)(lVar4 + 0xf8); } iVar9 = *(int *)(lVar5 + 0xf4) * *(int *)(lVar5 + 0xf0); iVar2 = *(int *)(lVar4 + 0xfc); if ((iVar9 + iVar8 < iVar2) && (iVar2 < iVar9)) { iVar8 = iVar2 - iVar9; } FUN_18134bfe0(lVar7,*(undefined4 *)(lVar7 + 0x20),iVar8,iVar1,iVar9); return; } ############ FUN_ 1812e3d50 size=1222 ############ void FUN_1812e3d50(longlong param_1,float *param_2) { undefined4 uVar1; undefined8 *puVar2; longlong lVar3; int iVar4; int iVar5; uint uVar6; uint uVar7; longlong lVar8; int *piVar9; longlong *plVar10; ulonglong uVar11; int iVar12; int iVar13; uint uVar14; uint uVar15; longlong *plVar16; int iVar17; int iVar18; int iVar19; int iVar20; int iVar21; int local_res8; undefined1 local_68 [16]; undefined1 local_58 [16]; undefined1 local_48 [16]; undefined1 local_38 [16]; if ((((*(int *)(param_1 + 0xf0) == 0) && (*(int *)(param_1 + 0xf4) == 0)) && (*(char *)((longlong)param_2 + 0x59) != '\0')) && (((uint)param_2[4] >> 5 & 1) == 0)) { puVar2 = *(undefined8 **)(param_1 + 0xe0); *(undefined8 *)(param_1 + 0xe0) = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } iVar5 = FUN_1812e3370(param_1,(ulonglong)((double)param_2[10] + DAT_1824c4520) & 0xffffffff); *(int *)(param_1 + 0xf0) = iVar5; if (iVar5 == 0) { FUN_1812e39f0(param_1,param_2); } else { lVar8 = FUN_1812e3610(param_1,iVar5); if (lVar8 != 0) { *(undefined4 *)(param_1 + 0xf8) = *(undefined4 *)(lVar8 + 0x10); } } } iVar5 = *(int *)(param_1 + 0xf0); if (iVar5 == 0) { if (*(int *)(param_1 + 0xf4) == 0) { return; } if (((int)param_2[3] < -0x32) || (*(int *)(param_1 + 0x2c) + 0x32 <= (int)param_2[3])) { FUN_1812e3940(param_1,*(undefined4 *)(param_1 + 0x104)); return; } plVar16 = *(longlong **)(param_1 + 0xe0); if (plVar16 == (longlong *)0x0) { return; } (**(code **)(*plVar16 + 0x58))(plVar16,1); lVar8 = *(longlong *)(param_1 + 0xe0); uVar1 = *(undefined4 *)(param_1 + 0x2c); iVar5 = *(int *)(lVar8 + 0x28); iVar12 = FUN_1812e4d70(); iVar13 = (int)param_2[2] - *(int *)(param_1 + 0x100); iVar18 = 0; if (0 < iVar12 - iVar5) { iVar18 = iVar12 - iVar5; } if (iVar13 < 0) { iVar13 = 0; } else if (iVar18 < iVar13) { iVar13 = iVar18; } FUN_18134bfe0(lVar8,iVar13,0,iVar5,uVar1); iVar5 = *(int *)(param_1 + 0xcc); do { iVar5 = iVar5 + -1; if (iVar5 < 0) { return; } plVar10 = *(longlong **)(param_1 + 0xc0); iVar18 = 0; lVar8 = 0; plVar16 = plVar10 + *(int *)(param_1 + 0xcc); for (; plVar10 != plVar16; plVar10 = plVar10 + 1) { if ((*(byte *)(*plVar10 + 0xc) & 1) != 0) { if (*(int *)(*plVar10 + 8) == *(int *)(param_1 + 0xf4)) goto LAB_1812e40ce; iVar18 = iVar18 + 1; lVar8 = lVar8 + 1; } } iVar18 = -1; lVar8 = -1; LAB_1812e40ce: iVar13 = iVar18; if ((0 < iVar18) && ((*(byte *)(*(longlong *)(*(longlong *)(param_1 + 0xc0) + -8 + lVar8 * 8) + 0xc) & 4) != 0) ) { piVar9 = (int *)FUN_1812e4e20(param_1,local_68,iVar18 + -1); iVar12 = *piVar9; piVar9 = (int *)FUN_1812e4e20(param_1,local_58,iVar18); lVar3 = *(longlong *)(param_1 + 0xe0); uVar6 = ((*(int *)(lVar3 + 0x28) - piVar9[2]) - *piVar9) + *(int *)(lVar3 + 0x20); uVar14 = (int)uVar6 >> 0x1f; uVar7 = *(int *)(lVar3 + 0x20) - iVar12; uVar15 = (int)uVar7 >> 0x1f; if ((int)((uVar7 ^ uVar15) - uVar15) < (int)((uVar6 ^ uVar14) - uVar14)) { iVar13 = iVar18 + -1; lVar8 = lVar8 + -1; } } if ((iVar13 < *(int *)(param_1 + 0xcc) + -1) && ((*(byte *)(*(longlong *)(*(longlong *)(param_1 + 0xc0) + 8 + lVar8 * 8) + 0xc) & 4) != 0)) { piVar9 = (int *)FUN_1812e4e20(param_1,local_48,iVar13); iVar12 = *piVar9; piVar9 = (int *)FUN_1812e4e20(param_1,local_38,iVar13 + 1); lVar8 = *(longlong *)(param_1 + 0xe0); uVar6 = ((*(int *)(lVar8 + 0x28) - piVar9[2]) - *piVar9) + *(int *)(lVar8 + 0x20); uVar14 = (int)uVar6 >> 0x1f; uVar7 = *(int *)(lVar8 + 0x20) - iVar12; uVar15 = (int)uVar7 >> 0x1f; if ((int)((uVar6 ^ uVar14) - uVar14) < (int)((uVar7 ^ uVar15) - uVar15)) { iVar13 = iVar13 + 1; } } if (iVar13 == iVar18) { return; } FUN_1812e5170(param_1,*(undefined4 *)(param_1 + 0xf4),iVar13); } while( true ); } plVar10 = *(longlong **)(param_1 + 0xc0); plVar16 = plVar10 + *(int *)(param_1 + 0xcc); while( true ) { if (plVar10 == plVar16) { return; } lVar8 = *plVar10; if (*(int *)(lVar8 + 8) == iVar5) break; plVar10 = plVar10 + 1; } iVar18 = *(int *)(lVar8 + 0x14); local_res8 = SUB84((double)(*param_2 - param_2[10]) + DAT_1824c4520,0); local_res8 = local_res8 + *(int *)(param_1 + 0xf8); iVar13 = iVar18; if ((iVar18 <= local_res8) && (iVar13 = local_res8, *(int *)(lVar8 + 0x18) < local_res8)) { iVar13 = *(int *)(lVar8 + 0x18); } if (*(char *)(param_1 + 0xec) != '\0') { plVar10 = *(longlong **)(param_1 + 0xc0); iVar19 = 0; iVar12 = 0; plVar16 = plVar10 + *(int *)(param_1 + 0xcc); for (; plVar10 != plVar16; plVar10 = plVar10 + 1) { if (*(int *)(*plVar10 + 8) == iVar5) goto LAB_1812e3edc; iVar12 = iVar12 + 1; } iVar12 = -1; LAB_1812e3edc: iVar12 = iVar12 + 1; if (iVar12 < *(int *)(param_1 + 0xcc)) { plVar16 = (longlong *)(*(longlong *)(param_1 + 0xc0) + (longlong)iVar12 * 8); uVar11 = (ulonglong)(uint)(*(int *)(param_1 + 0xcc) - iVar12); do { if ((*(byte *)(*plVar16 + 0xc) & 1) != 0) { iVar19 = iVar19 + *(int *)(*plVar16 + 0x14); } plVar16 = plVar16 + 1; uVar11 = uVar11 - 1; } while (uVar11 != 0); } plVar10 = *(longlong **)(param_1 + 0xc0); iVar12 = 0; plVar16 = plVar10 + *(int *)(param_1 + 0xcc); for (; plVar10 != plVar16; plVar10 = plVar10 + 1) { if ((*(byte *)(*plVar10 + 0xc) & 1) != 0) { if (*(int *)(*plVar10 + 8) == iVar5) goto LAB_1812e3f4f; iVar12 = iVar12 + 1; } } iVar12 = -1; LAB_1812e3f4f: plVar10 = *(longlong **)(param_1 + 0xc0); iVar17 = 0; iVar20 = 0; plVar16 = plVar10 + *(int *)(param_1 + 0xcc); iVar4 = 0; for (; plVar10 != plVar16; plVar10 = plVar10 + 1) { iVar17 = iVar17 + iVar20; if ((*(byte *)(*plVar10 + 0xc) & 1) == 0) { iVar20 = 0; iVar21 = iVar4; } else { iVar20 = *(int *)(*plVar10 + 0x10); iVar21 = iVar4 + 1; if (iVar4 == iVar12) break; } iVar4 = iVar21; } iVar19 = (*(int *)(param_1 + 0x108) - iVar17) - iVar19; iVar12 = iVar13; if (iVar19 < iVar13) { iVar12 = iVar19; } iVar13 = iVar18; if (iVar18 < iVar12) { iVar13 = iVar12; } } FUN_1812e4f80(param_1,iVar5,iVar13); return; } ############ FUN_ 1812e5600 size=203 ############ void FUN_1812e5600(longlong param_1) { uint uVar1; longlong lVar2; longlong lVar3; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; ulonglong local_18; undefined8 local_10; lVar2 = *(longlong *)(param_1 + 0x200); lVar3 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar3 + 0x58) + 0x58)) (lVar3 + 0x58,&local_28,*(undefined8 *)(lVar2 + 0x18)); *(undefined4 *)(lVar2 + 0x1f0) = local_28; *(undefined4 *)(lVar2 + 500) = uStack_24; *(undefined4 *)(lVar2 + 0x1f8) = uStack_20; *(undefined4 *)(lVar2 + 0x1fc) = uStack_1c; if (*(longlong *)(lVar2 + 0x250) != 0) { FUN_18134bfe0(*(longlong *)(lVar2 + 0x250),local_18,local_18 >> 0x20,local_10, (int)((ulonglong)local_10 >> 0x20)); } uVar1 = *(uint *)(lVar2 + 0x20); if ((uVar1 < 0xc) && ((0xa05U >> (uVar1 & 0x1f) & 1) != 0)) { *(undefined4 *)(lVar2 + 0x1d8) = local_28; *(undefined4 *)(lVar2 + 0x1dc) = uStack_20; return; } if ((uVar1 < 0xd) && ((0x140aU >> (uVar1 & 0x1f) & 1) != 0)) { *(undefined4 *)(lVar2 + 0x1d8) = uStack_24; *(undefined4 *)(lVar2 + 0x1dc) = uStack_1c; return; } if (uVar1 == 8) { FUN_180505060(lVar2); } return; } ############ FUN_ 1812e8c60 size=76 ############ void FUN_1812e8c60(longlong param_1) { if (*(longlong *)(param_1 + 0x1c8) != 0) { FUN_18134bfe0(*(longlong *)(param_1 + 0x1c8),0,0,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); } return; } ############ FUN_ 1812e9930 size=468 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812e9930(longlong param_1,longlong param_2) { longlong *plVar1; int *piVar2; longlong lVar3; uint uVar4; longlong lVar5; undefined8 *puVar6; uint *_Memory; int iVar7; int iVar8; int iVar9; float fVar10; undefined1 auStack_98 [32]; int local_78; undefined8 *local_68; longlong local_60; int local_58; int iStack_54; int iStack_50; int iStack_4c; double local_48; double local_40; undefined8 local_38; longlong *local_30; undefined1 local_28 [8]; ulonglong local_20; local_38 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_98; lVar3 = param_1 + -200; lVar5 = FUN_18134adf0(lVar3); plVar1 = (longlong *)(lVar5 + 0x50); (**(code **)(*plVar1 + 0x10))(plVar1,&local_68,lVar3); if (*(code **)(*plVar1 + 0x18) == FUN_18130e9a0) { local_58 = *(int *)(param_1 + 0x120); iStack_54 = *(int *)(param_1 + 0x124); iStack_50 = *(int *)(param_1 + 0x128); iStack_4c = *(int *)(param_1 + 300); } else { (**(code **)(*plVar1 + 0x18))(plVar1,&local_58,lVar3); } if (*(char *)(param_1 + 0x13b) == '\0') { local_40 = (double)(*(float *)(local_68 + 5) + DAT_1824c3d8c) + DAT_1824c4520; local_78 = local_58 + iStack_50 + local_40._0_4_ + 6; iVar8 = *(int *)(param_2 + 0x24) - local_78; iVar9 = *(int *)(param_2 + 0x28); iVar7 = *(int *)(param_2 + 0x20); } else { puVar6 = (undefined8 *) (**(code **)(**(longlong **)(param_1 + 0xd0) + 8)) (*(longlong **)(param_1 + 0xd0),&local_30); (**(code **)(*(longlong *)*puVar6 + 0x20))((longlong *)*puVar6,&local_60,puVar6 + 1); (**(code **)(*local_30 + 0xb0))(local_30,local_28); iVar8 = *(int *)(param_2 + 0x20); fVar10 = (float)FUN_1812518d0(&local_68,&local_60); local_48 = (double)(fVar10 + DAT_1824c3d8c) + DAT_1824c4520; iVar9 = local_48._0_4_ + iStack_4c + iStack_54; if (iVar8 < iVar9) { iVar9 = iVar8; } _Memory = (uint *)(local_60 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_78 = *(int *)(param_2 + 0x2c); iVar7 = *(int *)(param_2 + 0x20) - iVar9; iVar8 = *(int *)(param_2 + 0x24); } FUN_18134bfe0(lVar3,iVar7,iVar8,iVar9); if (local_68 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(local_68 + 1); iVar8 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_68)(local_68,1); } } } ############ FUN_ 1812ec650 size=461 ############ void FUN_1812ec650(longlong param_1) { longlong *plVar1; int iVar2; longlong lVar3; int iVar4; int iVar5; int iVar6; ulonglong uVar7; ulonglong uVar8; undefined8 *puVar9; ulonglong uVar10; int iVar11; int local_38; int local_34; int local_30; int local_2c; int local_28; int iStack_24; undefined4 local_20; int iStack_1c; lVar3 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar3 + 0x80) + 0x20))((longlong *)(lVar3 + 0x80),&local_38,param_1); iVar2 = local_30; iVar5 = local_38; iVar4 = 5; if (local_2c < 5) { iVar4 = local_2c; } iVar4 = local_2c - iVar4; iVar11 = 10; if (iVar4 < 10) { iVar11 = iVar4; } iVar6 = local_34 - iVar11; local_2c = iVar4 - iVar11; FUN_18134bfe0(param_1 + 0x130,*(undefined4 *)(param_1 + 0x150),*(undefined4 *)(param_1 + 0x154),10 ,10); FUN_181344690(param_1 + 0x130,CONCAT44(iVar11 / 2 + iVar6 + iVar4,iVar2 / 2 + iVar5)); *(undefined4 *)(param_1 + 0x114) = 0; uVar8 = 0; puVar9 = *(undefined8 **)(param_1 + 0x120); uVar7 = (ulonglong)((longlong)(puVar9 + *(int *)(param_1 + 300)) + (7 - (longlong)puVar9)) >> 3; if (puVar9 + *(int *)(param_1 + 300) < puVar9) { uVar7 = 0; } if (uVar7 != 0) { do { plVar1 = (longlong *)*puVar9; if (local_2c < 0x19) { (**(code **)(*plVar1 + 0x58))(plVar1,0); *(int *)(param_1 + 0x114) = *(int *)(param_1 + 0x114) + 1; } else { (**(code **)(*plVar1 + 0x58))(plVar1,1); iVar5 = 0x19; if (local_2c < 0x19) { iVar5 = local_2c; } local_2c = local_2c - iVar5; iStack_24 = local_34 + 2; local_28 = local_38 + 5; uVar10 = 0; if (0 < (int)(local_30 - 10U)) { uVar10 = (ulonglong)(local_30 - 10U); } local_20 = (undefined4)uVar10; iStack_1c = 0; if (0 < iVar5 + -4) { iStack_1c = iVar5 + -4; } local_34 = local_34 + iVar5; FUN_18134bfe0(plVar1,local_28,iStack_24,uVar10,iStack_1c); } puVar9 = puVar9 + 1; uVar8 = uVar8 + 1; } while (uVar8 != uVar7); } return; } ############ FUN_ 1812ed220 size=125 ############ void FUN_1812ed220(longlong param_1) { int iVar1; FUN_18134bfe0(param_1 + 0xb0,0,0,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c)); iVar1 = *(int *)(param_1 + 0x1a8); FUN_1804ffdf0(*(undefined8 *)(param_1 + 0x268),iVar1); if (iVar1 != *(int *)(param_1 + 0x1a8)) { FUN_1804ffdf0(*(undefined8 *)(param_1 + 0x268)); } return; } ############ FUN_ 1812ed4d0 size=121 ############ void FUN_1812ed4d0(longlong param_1) { undefined1 auVar1 [16]; longlong lVar2; longlong lVar3; undefined1 (*pauVar4) [16]; undefined1 local_18 [16]; if ((*(int *)(param_1 + 0x4c) != 0) && (lVar2 = **(longlong **)(param_1 + 0x40), lVar2 != 0)) { lVar3 = FUN_18134adf0(); pauVar4 = (undefined1 (*) [16]) (**(code **)(*(longlong *)(lVar3 + 0x80) + 0x20)) ((longlong *)(lVar3 + 0x80),local_18,param_1); auVar1 = *pauVar4; FUN_18134bfe0(lVar2,auVar1._0_8_,auVar1._0_8_ >> 0x20,auVar1._8_8_,auVar1._12_4_); } return; } ############ FUN_ 1812f1af0 size=68 ############ void FUN_1812f1af0(longlong param_1) { FUN_18134bfe0(param_1 + 200,0,0,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1812f6f30 size=149 ############ void FUN_1812f6f30(longlong *param_1,longlong param_2,undefined8 param_3) { int *piVar1; int iVar2; undefined8 uVar3; undefined8 *local_res8; FUN_18134bfe0(param_3,1,1,*(int *)(param_2 + 0x28) + -0x1e,*(int *)(param_2 + 0x2c) + -2); uVar3 = (**(code **)(*param_1 + 0x10))(param_1,&local_res8,param_2); FUN_1812e9e30(param_3,uVar3); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1812f8560 size=538 ############ void FUN_1812f8560(undefined8 param_1,longlong param_2,undefined8 param_3,longlong param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7) { int iVar1; longlong lVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; iVar1 = *(int *)(param_2 + 0x28) + -0x28; iVar3 = *(int *)(param_2 + 0x2c) + -10; iVar7 = 0; if (0 < iVar1) { iVar7 = iVar1; } iVar1 = 0; if (0 < iVar3) { iVar1 = iVar3; } iVar3 = 0x16; if (iVar1 < 0x16) { iVar3 = iVar1; } iVar1 = iVar1 - iVar3; iVar4 = 0x16; if (iVar1 < 0x16) { iVar4 = iVar1; } iVar8 = iVar7 + -0x32; if (iVar7 < iVar7 + -0x32) { iVar8 = iVar7; } iVar6 = iVar7 - iVar8; FUN_18134bfe0(param_5,0x14,5,iVar8,iVar3); iVar5 = 6; if (iVar6 < 6) { iVar5 = iVar6; } iVar8 = iVar8 + 0x14 + iVar5; FUN_18134bfe0(param_7,iVar8,CONCAT44(5,iVar8) >> 0x20,iVar6 - iVar5,iVar3); iVar8 = 0x14; if (iVar7 < 0x14) { iVar8 = iVar7; } FUN_18134bfe0(param_6,iVar8 + 0x14,((iVar3 + 5) - iVar4) + iVar1,iVar7 - iVar8,iVar4); if (param_4 != 0) { iVar8 = iVar7 / 3; if (iVar7 < iVar7 / 3) { iVar8 = iVar7; } iVar5 = iVar7 - iVar8; iVar7 = iVar7 - iVar8; FUN_18134bfe0(param_4,iVar5 + 0x14,iVar3 + 5,iVar8,iVar1 - iVar4); } lVar2 = __RTDynamicCast(param_3,0,&juce::DirectoryContentsDisplayComponent::RTTI_Type_Descriptor, &juce::Component::RTTI_Type_Descriptor,0); if (lVar2 != 0) { iVar1 = (iVar1 - iVar4) + -0x14; iVar4 = 0; if (0 < iVar7) { iVar4 = iVar7; } iVar7 = 0; if (0 < iVar1) { iVar7 = iVar1; } FUN_18134bfe0(lVar2,0x14,iVar3 + 0xf,iVar4,iVar7); } return; } ############ FUN_ 1812fa810 size=421 ############ longlong FUN_1812fa810(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined4 param_7,undefined4 param_8, undefined8 param_9) { undefined1 auVar1 [16]; longlong lVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; undefined8 *puVar6; int iVar7; int iVar8; ulonglong uVar9; lVar2 = FUN_181313f10(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9); auVar1 = *(undefined1 (*) [16])(lVar2 + 0x20); iVar7 = auVar1._8_4_ + 0x32; iVar8 = auVar1._12_4_ + 0x32; uVar9 = CONCAT44((int)((ulonglong)param_5 >> 0x20),iVar8); FUN_18134bfe0(lVar2,auVar1._0_4_ + (auVar1._8_4_ - iVar7) / 2, (auVar1._12_4_ - iVar8) / 2 + auVar1._4_4_,iVar7,uVar9); puVar6 = *(undefined8 **)(lVar2 + 0x40); uVar4 = 0; uVar5 = (ulonglong)((longlong)(puVar6 + *(int *)(lVar2 + 0x4c)) + (7 - (longlong)puVar6)) >> 3; if (puVar6 + *(int *)(lVar2 + 0x4c) < puVar6) { uVar5 = uVar4; } if (uVar5 != 0) { do { uVar9 = uVar9 & 0xffffffff00000000; lVar3 = __RTDynamicCast(*puVar6,0,&juce::Component::RTTI_Type_Descriptor, &juce::TextButton::RTTI_Type_Descriptor,uVar9); if (lVar3 != 0) { auVar1 = *(undefined1 (*) [16])(lVar3 + 0x20); uVar9 = CONCAT44((int)(uVar9 >> 0x20),auVar1._12_4_); FUN_18134bfe0(lVar3,auVar1._0_4_ + 0x19,auVar1._4_4_ + 0x28,auVar1._8_8_,uVar9); } puVar6 = puVar6 + 1; uVar4 = uVar4 + 1; } while (uVar4 != uVar5); } return lVar2; } ############ FUN_ 1812fb7e0 size=249 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812fb7e0(undefined8 param_1,undefined8 param_2,int param_3,int param_4,int param_5, int param_6,longlong param_7,longlong param_8,longlong param_9,char param_10) { int iVar1; longlong lVar2; int iVar3; int iVar4; if (param_6 - param_4 < param_6) { param_6 = param_6 - param_4; } iVar4 = (int)((double)param_6 * _DAT_1824c4168); iVar3 = (param_3 - iVar4) + param_5; if (param_10 != '\0') { iVar3 = param_3; } if (param_9 != 0) { FUN_18134bfe0(param_9,iVar3,param_4,iVar4,param_6); iVar1 = iVar4; if (param_10 == '\0') { iVar1 = -iVar4; } iVar3 = iVar3 + iVar1; } lVar2 = param_8; if (param_10 != '\0') { lVar2 = param_7; param_7 = param_8; } if (lVar2 != 0) { FUN_18134bfe0(lVar2,iVar3,param_4,iVar4,param_6); iVar1 = iVar4; if (param_10 == '\0') { iVar1 = -iVar4; } iVar3 = iVar3 + iVar1; } if (param_7 != 0) { FUN_18134bfe0(param_7,iVar3,param_4,iVar4,param_6); } return; } ############ FUN_ 181300c40 size=282 ############ void FUN_181300c40(undefined8 param_1,undefined8 param_2,int param_3,int param_4,int param_5, int param_6,longlong param_7,longlong param_8,longlong param_9,char param_10) { int iVar1; longlong lVar2; int iVar3; param_4 = ((int)((param_6 >> 0x1f & 7U) + param_6) >> 3) + param_4; param_6 = param_6 - ((int)(param_6 + (param_6 >> 0x1f & 3U)) >> 2); if (param_10 == '\0') { param_3 = param_5 + -4 + (param_3 - param_6); } else { param_3 = param_3 + 4; } if (param_9 != 0) { FUN_18134bfe0(param_9,param_3,param_4,param_6,param_6); iVar1 = param_6 >> 0x1f; iVar3 = param_6 / 5 + iVar1; if (param_10 == '\0') { iVar1 = -(iVar3 - iVar1) - param_6; } else { iVar1 = (iVar3 - iVar1) + param_6; } param_3 = param_3 + iVar1; } lVar2 = param_8; if (param_10 != '\0') { lVar2 = param_7; param_7 = param_8; } if (lVar2 != 0) { FUN_18134bfe0(lVar2,param_3,param_4 + -2,param_6,param_6); iVar1 = param_6; if (param_10 == '\0') { iVar1 = -param_6; } param_3 = param_3 + iVar1; } if (param_7 != 0) { FUN_18134bfe0(param_7,param_3,param_4 + -2,param_6,param_6); } return; } ############ FUN_ 181306e50 size=277 ############ void FUN_181306e50(undefined8 param_1,longlong param_2,undefined8 param_3,longlong param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7) { longlong lVar1; int iVar2; int iVar3; iVar2 = *(int *)(param_2 + 0x28) + -0x10; if (param_4 != 0) { iVar3 = iVar2 - iVar2 / 3; FUN_18134bfe0(param_4,iVar3 + 8,0,iVar2 / 3,*(undefined4 *)(param_2 + 0x2c)); iVar2 = iVar3 + -4; } FUN_18134bfe0(param_5,8,4,iVar2 + -0x38,0x16); FUN_18134bfe0(param_7,iVar2 + -0x2a,4,0x32,0x16); iVar3 = 0x1e; lVar1 = __RTDynamicCast(param_3,0,&juce::DirectoryContentsDisplayComponent::RTTI_Type_Descriptor, &juce::Component::RTTI_Type_Descriptor,0); if (lVar1 != 0) { FUN_18134bfe0(lVar1,8,0x1e,iVar2,*(int *)(param_2 + 0x2c) + -0x3c); iVar3 = *(int *)(lVar1 + 0x24) + 4 + *(int *)(lVar1 + 0x2c); } FUN_18134bfe0(param_6,0x3a,iVar3,iVar2 + -0x32); return; } ############ FUN_ 18130b0c0 size=268 ############ void FUN_18130b0c0(undefined8 param_1,undefined8 param_2,int param_3,undefined4 param_4,int param_5, int param_6,longlong param_7,longlong param_8,longlong param_9,char param_10) { int iVar1; longlong lVar2; int iVar3; iVar3 = param_6 - ((int)(param_6 + (param_6 >> 0x1f & 7U)) >> 3); if (param_10 == '\0') { param_3 = ((param_3 - ((int)(iVar3 + (iVar3 >> 0x1f & 3U)) >> 2)) - iVar3) + param_5; } else { param_3 = param_3 + 4; } if (param_9 != 0) { FUN_18134bfe0(param_9,param_3,param_4,iVar3,param_6); iVar1 = iVar3; if (param_10 == '\0') { iVar1 = -((int)(iVar3 + (iVar3 >> 0x1f & 3U)) >> 2) - iVar3; } param_3 = param_3 + iVar1; } lVar2 = param_8; if (param_10 != '\0') { lVar2 = param_7; param_7 = param_8; } if (lVar2 != 0) { FUN_18134bfe0(lVar2,param_3,param_4,iVar3,param_6); iVar1 = iVar3; if (param_10 == '\0') { iVar1 = -iVar3; } param_3 = param_3 + iVar1; } if (param_7 != 0) { FUN_18134bfe0(param_7,param_3,param_4,iVar3,param_6); } return; } ############ FUN_ 18130c440 size=238 ############ void FUN_18130c440(undefined8 param_1,longlong param_2,undefined8 param_3,longlong param_4) { undefined4 uVar1; undefined4 uVar2; longlong lVar3; longlong lVar4; FUN_18134bfe0(param_4,*(undefined4 *)(param_4 + 0x20),*(undefined4 *)(param_4 + 0x24),0x50, *(undefined4 *)(param_2 + 0x2c)); lVar3 = __RTDynamicCast(param_4,0,&juce::Button::RTTI_Type_Descriptor, &juce::TextButton::RTTI_Type_Descriptor,0); if (lVar3 != 0) { uVar1 = *(undefined4 *)(lVar3 + 0x2c); lVar4 = FUN_18134adf0(lVar3); uVar2 = (**(code **)(*(longlong *)(lVar4 + 8) + 0x18))(lVar4 + 8,lVar3,uVar1); FUN_18134bfe0(lVar3,*(undefined4 *)(lVar3 + 0x20),*(undefined4 *)(lVar3 + 0x24),uVar2,uVar1); } FUN_18134bfe0(param_4,*(int *)(param_2 + 0x28) - *(int *)(param_4 + 0x28),0, *(int *)(param_4 + 0x28),*(undefined4 *)(param_4 + 0x2c)); FUN_18134bfe0(param_3,0,0,*(undefined4 *)(param_4 + 0x20),*(undefined4 *)(param_2 + 0x2c)); return; } ############ FUN_ 18130f150 size=154 ############ void FUN_18130f150(longlong *param_1,longlong param_2,undefined8 param_3) { int *piVar1; int iVar2; undefined8 uVar3; undefined8 *local_res8; FUN_18134bfe0(param_3,1,1,(*(int *)(param_2 + 0x28) - *(int *)(param_2 + 0x2c)) + 3, *(int *)(param_2 + 0x2c) + -2); uVar3 = (**(code **)(*param_1 + 0x10))(param_1,&local_res8,param_2); FUN_1812e9e30(param_3,uVar3); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 181317ce0 size=435 ############ void FUN_181317ce0(longlong param_1) { longlong *plVar1; int iVar2; int iVar3; longlong lVar4; int iVar5; longlong *plVar6; int iVar7; int iVar8; int iVar9; int iVar10; int iVar11; int local_res8; int local_res10; undefined8 local_48; int iStack_40; int iStack_3c; iVar8 = *(int *)(param_1 + 0xd4); iVar3 = 0; iVar7 = *(int *)(param_1 + 0x28); iVar9 = 0; iVar5 = *(int *)(param_1 + 0x2c); iVar10 = 0; iStack_40 = *(int *)(param_1 + 0xd0); iVar2 = *(int *)(*(longlong *)(param_1 + 0xb0) + 0xf8); local_res8 = iVar8; local_res10 = iVar8; if (iVar2 == 0) { iVar11 = 0; iVar10 = iStack_40; if (iVar5 < iStack_40) { iVar10 = iVar5; } iVar5 = iVar5 - iVar10; iStack_40 = iVar7; iStack_3c = iVar10; LAB_181317dc5: iVar3 = 0; LAB_181317dc8: local_48._4_4_ = 0; } else { iVar11 = iVar8; iStack_3c = iVar5; if (iVar2 != 1) { if (iVar2 == 2) { iVar9 = iStack_40; if (iVar7 < iStack_40) { iVar9 = iVar7; } iVar7 = iVar7 - iVar9; iVar8 = iVar3; iStack_40 = iVar9; goto LAB_181317dc5; } if (iVar2 != 3) { local_48 = 0; iStack_3c = 0; iStack_40 = 0; local_48._0_4_ = 0; iVar3 = (int)local_48; goto LAB_181317dcf; } local_res8 = 0; if (iVar7 < iStack_40) { iStack_40 = iVar7; } iVar3 = iVar7 - iStack_40; iVar7 = iVar7 - iStack_40; goto LAB_181317dc8; } local_res10 = 0; iStack_3c = iStack_40; if (iVar5 < iStack_40) { iStack_3c = iVar5; } local_48._4_4_ = iVar5 - iStack_3c; iVar5 = iVar5 - iStack_3c; iStack_40 = iVar7; } local_48 = CONCAT44(local_48._4_4_,iVar3); LAB_181317dcf: FUN_18134bfe0(*(longlong *)(param_1 + 0xb0),iVar3,local_48 >> 0x20,iStack_40,iStack_3c); iVar2 = *(int *)(param_1 + 0xd8); plVar6 = *(longlong **)(param_1 + 0xb8); plVar1 = plVar6 + *(int *)(param_1 + 0xc4); for (; plVar6 != plVar1; plVar6 = plVar6 + 1) { lVar4 = 0; if (*plVar6 != 0) { lVar4 = *(longlong *)(*plVar6 + 0x10); } if (lVar4 != 0) { FUN_18134bfe0(lVar4,iVar8 + iVar9 + iVar2,iVar10 + iVar11 + iVar2, ((iVar7 - iVar8) - local_res8) + iVar2 * -2, ((iVar5 - iVar11) - local_res10) + iVar2 * -2); } } return; } ############ FUN_ 18131a330 size=116 ############ void FUN_18131a330(longlong param_1) { ulonglong local_28; undefined8 uStack_20; undefined8 local_18; undefined8 uStack_10; if (*(longlong *)(param_1 + 0x1d8) != 0) { local_28 = 0; uStack_20 = 0; local_18 = 0; uStack_10 = 0; FUN_18131a590(0,&local_28,&local_18); if ((0 < (int)uStack_20) && (0 < uStack_20._4_4_)) { FUN_18134bfe0(*(undefined8 *)(param_1 + 0x1d8),local_28,local_28 >> 0x20, uStack_20 & 0xffffffff,uStack_20._4_4_); } } return; } ############ FUN_ 18131a3b0 size=216 ############ void FUN_18131a3b0(longlong *param_1,longlong param_2) { ulonglong local_28; undefined8 uStack_20; undefined8 local_18; undefined8 uStack_10; if (param_2 == param_1[0x3b]) { if (*(code **)(*(longlong *)param_1[0x39] + 0x108) == thunk_FUN_181319110) { FUN_181319110(); } else { (**(code **)(*(longlong *)param_1[0x39] + 0x108))(); } if ((undefined **)*param_1 != juce::TabBarButton::vftable) { (*(code *)((undefined **)*param_1)[0x21])(param_1); return; } if (param_1[0x3b] != 0) { local_28 = 0; uStack_20 = 0; local_18 = 0; uStack_10 = 0; FUN_18131a590(param_1,&local_28,&local_18); if ((0 < (int)uStack_20) && (0 < uStack_20._4_4_)) { FUN_18134bfe0(param_1[0x3b],local_28,local_28 >> 0x20,uStack_20 & 0xffffffff,uStack_20._4_4_ ); return; } } } return; } ############ FUN_ 18131c4b0 size=98 ############ void FUN_18131c4b0(longlong param_1,longlong param_2,undefined8 param_3,char param_4) { undefined1 auVar1 [16]; undefined1 (*pauVar2) [16]; undefined1 local_18 [24]; if ((param_4 != '\0') && (param_2 == *(longlong *)(param_1 + 0x88))) { param_1 = param_1 + -0xb0; pauVar2 = (undefined1 (*) [16])FUN_18131c3d0(param_1,local_18,param_2); auVar1 = *pauVar2; FUN_18134bfe0(param_1,auVar1._0_8_,auVar1._0_8_ >> 0x20,auVar1._8_8_,auVar1._12_4_); } return; } ############ FUN_ 18131ccb0 size=695 ############ void FUN_18131ccb0(longlong param_1) { char cVar1; int iVar2; int iVar3; undefined1 auVar4 [16]; undefined1 auVar5 [16]; uint uVar6; int iVar7; int iVar8; longlong lVar9; ulonglong uVar10; uint uVar11; uint uVar12; int iVar13; ulonglong uVar14; uint uVar15; undefined8 local_58; undefined4 local_38; uVar11 = *(uint *)(param_1 + 0x28); iVar13 = 0; iVar2 = *(int *)(param_1 + 0x2c); cVar1 = *(char *)(param_1 + 0x5b8); if (cVar1 == '\0') { uVar15 = *(uint *)(param_1 + 0x5c0); local_58 = 0; uVar12 = uVar15; if ((int)uVar11 < (int)uVar15) { uVar15 = uVar11; uVar12 = uVar11; } } else { uVar15 = *(uint *)(param_1 + 0x5c0); if ((int)uVar11 < (int)*(uint *)(param_1 + 0x5c0)) { uVar15 = uVar11; } local_58 = (ulonglong)(uVar11 - uVar15); uVar12 = 0; } uVar11 = uVar11 - uVar15; iVar3 = *(int *)(param_1 + 0x5c4); if (iVar2 < *(int *)(param_1 + 0x5c4)) { iVar3 = iVar2; } *(ulonglong *)(param_1 + 0x5a8) = local_58; *(ulonglong *)(param_1 + 0x5b0) = CONCAT44(iVar2,uVar15); if (*(longlong *)(param_1 + 0x150) == 0) { if (cVar1 == '\0') { uVar6 = uVar12 + 10; uVar15 = 0x1e; if ((int)uVar11 < 0x1e) { uVar15 = uVar11; } iVar8 = (uVar12 - uVar6) + uVar15; local_38 = uVar12 + uVar15; } else { uVar15 = 0x1e; if ((int)uVar11 < 0x1e) { uVar15 = uVar11; } uVar6 = (uVar12 - uVar15) + uVar11; iVar8 = uVar15 - 10; local_38 = uVar12; } iVar7 = 0; if (0 < iVar8) { iVar7 = iVar8; } auVar4._8_4_ = iVar7; auVar4._0_8_ = CONCAT44(0,uVar6); auVar4._12_4_ = iVar3; FUN_18134bfe0(param_1 + 0x368,CONCAT44(0,uVar6),0,auVar4._8_8_,iVar3); if (*(char *)(param_1 + 0x5b8) == '\0') { uVar6 = local_38 + 0x28; iVar8 = (local_38 - uVar6) + (uVar11 - uVar15); iVar13 = 0; local_38 = uVar6; if (0 < iVar8) { iVar13 = iVar8; } } else { iVar8 = (uVar11 - uVar15) + -0x28; if (0 < iVar8) { iVar13 = iVar8; } } uVar10 = CONCAT44(0,local_38); auVar5._8_4_ = iVar13; auVar5._0_8_ = uVar10; auVar5._12_4_ = iVar3; lVar9 = param_1 + 0x160; uVar14 = auVar5._8_8_; } else { uVar15 = uVar11; if (*(char *)(param_1 + 0x5e0) != '\0') { if (cVar1 == '\0') { local_38 = uVar12 + 10; uVar15 = 0x1e; if ((int)uVar11 < 0x1e) { uVar15 = uVar11; } iVar8 = (uVar12 - local_38) + uVar15; if (0 < iVar8) { iVar13 = iVar8; } } else { uVar15 = 0x1e; if ((int)uVar11 < 0x1e) { uVar15 = uVar11; } local_38 = (uVar12 - uVar15) + uVar11; if (0 < (int)(uVar15 - 10)) { iVar13 = uVar15 - 10; } } uVar15 = uVar11 - uVar15; FUN_18134bfe0(param_1 + 0x368,local_38,0,iVar13,iVar3); } uVar10 = 0; uVar14 = (ulonglong)uVar15; lVar9 = *(longlong *)(param_1 + 0x150); } FUN_18134bfe0(lVar9,uVar10,0,uVar14,iVar3); if (*(longlong *)(param_1 + 0x140) != 0) { FUN_18134bfe0(*(longlong *)(param_1 + 0x140),uVar12,iVar3,uVar11,iVar2 - iVar3); } return; } ############ FUN_ 18131eb60 size=553 ############ void FUN_18131eb60(longlong param_1,float *param_2) { int iVar1; longlong *plVar2; longlong lVar3; int iVar4; int iVar5; longlong lVar6; int local_res8; int local_28; int iStack_24; int iStack_20; int iStack_1c; int local_18; int iStack_14; int iStack_10; int iStack_c; if ((*(longlong *)(param_1 + 0xb0) != 0) && (*(longlong *)(*(longlong *)(param_1 + 0xb0) + 0x10) != 0)) { local_28 = *(int *)(param_1 + 0xc0); iStack_24 = *(int *)(param_1 + 0xc4); iStack_20 = *(int *)(param_1 + 200); iVar4 = *(int *)(param_1 + 0xcc); lVar6 = 0; iVar1 = *(int *)(param_1 + 0xd0); iStack_1c = iVar4; if (iVar1 == 0) { local_res8 = SUB84((double)(*param_2 - param_2[10]) + DAT_1824c4520,0); iVar4 = local_28 + iStack_20; if (local_res8 + local_28 < local_28 + iStack_20) { iVar4 = local_res8 + local_28; } iVar5 = (local_28 - iVar4) + iStack_20; local_28 = iVar4; iStack_20 = 0; if (0 < iVar5) { iStack_20 = iVar5; } } else if (iVar1 == 1) { local_res8 = SUB84((double)(*param_2 - param_2[10]) + DAT_1824c4520,0); local_res8 = local_res8 + iStack_20; iStack_20 = 0; if (0 < local_res8) { iStack_20 = local_res8; } } else if (iVar1 == 2) { local_res8 = SUB84((double)(param_2[1] - param_2[0xb]) + DAT_1824c4520,0); iVar5 = iStack_24 + iVar4; if (local_res8 + iStack_24 < iStack_24 + iVar4) { iVar5 = local_res8 + iStack_24; } iVar4 = (iStack_24 - iVar5) + iVar4; iStack_24 = iVar5; iStack_1c = 0; if (0 < iVar4) { iStack_1c = iVar4; } } else if (iVar1 == 3) { local_res8 = SUB84((double)(param_2[1] - param_2[0xb]) + DAT_1824c4520,0); iStack_1c = 0; if (0 < iVar4 + local_res8) { iStack_1c = iVar4 + local_res8; } } if (*(longlong *)(param_1 + 0xb8) != 0) { local_18 = local_28; iStack_14 = iStack_24; iStack_10 = iStack_20; iStack_c = iStack_1c; if (*(longlong *)(param_1 + 0xb0) != 0) { lVar6 = *(longlong *)(*(longlong *)(param_1 + 0xb0) + 0x10); } FUN_1813489c0(*(longlong *)(param_1 + 0xb8),lVar6,&local_18,iVar1 == 2,iVar1 == 0,iVar1 == 3, iVar1 == 1); return; } lVar3 = lVar6; if (*(longlong *)(param_1 + 0xb0) != 0) { lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xb0) + 0x10); } plVar2 = *(longlong **)(lVar3 + 0x30); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 8))(plVar2,&local_28); return; } if (*(longlong *)(param_1 + 0xb0) != 0) { lVar6 = *(longlong *)(*(longlong *)(param_1 + 0xb0) + 0x10); } FUN_18134bfe0(lVar6,local_28,iStack_24,iStack_20,iStack_1c); } return; } ############ FUN_ 18131efe0 size=358 ############ void FUN_18131efe0(longlong param_1,float *param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; int local_res8; int local_res18; uint in_stack_ffffffffffffffb8; undefined4 local_28; undefined4 uStack_24; int iStack_20; int iStack_1c; undefined4 local_18; undefined4 uStack_14; int iStack_10; int iStack_c; if ((*(longlong *)(param_1 + 0xb8) != 0) && (*(longlong *)(*(longlong *)(param_1 + 0xb8) + 0x10) != 0)) { uStack_24 = *(undefined4 *)(param_1 + 0xc4); local_28 = *(undefined4 *)(param_1 + 0xc0); local_res8 = SUB84((double)(param_2[1] - param_2[0xb]) + DAT_1824c4520,0); local_res8 = local_res8 + *(int *)(param_1 + 0xcc); local_res18 = SUB84((double)(*param_2 - param_2[10]) + DAT_1824c4520,0); local_res18 = local_res18 + *(int *)(param_1 + 200); lVar2 = 0; iStack_20 = 0; if (0 < local_res18) { iStack_20 = local_res18; } iStack_1c = 0; if (0 < local_res8) { iStack_1c = local_res8; } if (*(longlong *)(param_1 + 0xb0) != 0) { if (*(longlong *)(param_1 + 0xb8) != 0) { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0xb8) + 0x10); } local_18 = local_28; uStack_14 = uStack_24; iStack_10 = iStack_20; iStack_c = iStack_1c; FUN_1813489c0(*(longlong *)(param_1 + 0xb0),lVar2,&local_18,0, in_stack_ffffffffffffffb8 & 0xffffff00,1,1); return; } lVar3 = lVar2; if (*(longlong *)(param_1 + 0xb8) != 0) { lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xb8) + 0x10); } plVar1 = *(longlong **)(lVar3 + 0x30); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 8))(plVar1,&local_28); return; } if (*(longlong *)(param_1 + 0xb8) != 0) { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0xb8) + 0x10); } FUN_18134bfe0(lVar2,local_28,*(ulonglong *)(param_1 + 0xc0) >> 0x20,iStack_20,iStack_1c); } return; } ############ FUN_ 18131f7c0 size=601 ############ void FUN_18131f7c0(longlong param_1,float *param_2) { uint uVar1; longlong *plVar2; int iVar3; int iVar4; ulonglong uVar5; int iVar6; int iVar7; uint uVar8; ulonglong uVar9; undefined4 in_stack_ffffffffffffffb8; undefined8 local_28; undefined8 uStack_20; int local_18; int iStack_14; int iStack_10; undefined4 uStack_c; if ((*(longlong *)(param_1 + 0xb0) != 0) && (*(longlong *)(*(longlong *)(param_1 + 0xb0) + 0x10) != 0)) { local_28 = *(undefined8 *)(param_1 + 0xd0); uStack_20 = *(undefined8 *)(param_1 + 0xd8); uVar9 = 0; uVar1 = *(uint *)(param_1 + 0xe0); iVar3 = SUB84((double)(*param_2 - param_2[10]) + DAT_1824c4520,0); iVar4 = SUB84((double)(param_2[1] - param_2[0xb]) + DAT_1824c4520,0); iStack_14 = (int)((ulonglong)local_28 >> 0x20); uStack_c = (undefined4)((ulonglong)uStack_20 >> 0x20); if (uVar1 == 0) { iStack_14 = iStack_14 + iVar4; local_18 = (int)local_28 + iVar3; } else { iVar6 = (int)uStack_20; if ((*(byte *)(param_1 + 0xe0) & 1) != 0) { iVar6 = (int)local_28 + (int)uStack_20; if (iVar3 + (int)local_28 < (int)local_28 + (int)uStack_20) { iVar6 = iVar3 + (int)local_28; } iVar7 = (int)local_28 - iVar6; local_28 = CONCAT44(iStack_14,iVar6); uVar8 = iVar7 + (int)uStack_20; uVar5 = uVar9; if (0 < (int)uVar8) { uVar5 = (ulonglong)uVar8; } iVar6 = (int)uVar5; uStack_20 = CONCAT44(uStack_c,iVar6); } if ((uVar1 >> 2 & 1) != 0) { iVar7 = 0; if (0 < iVar3 + iVar6) { iVar7 = iVar3 + iVar6; } uStack_20 = CONCAT44(uStack_20._4_4_,iVar7); } iVar3 = uStack_20._4_4_; if ((uVar1 >> 1 & 1) != 0) { iVar3 = local_28._4_4_ + uStack_20._4_4_; if (iVar4 + local_28._4_4_ < local_28._4_4_ + uStack_20._4_4_) { iVar3 = iVar4 + local_28._4_4_; } iVar6 = local_28._4_4_ - iVar3; local_28 = CONCAT44(iVar3,(int)local_28); iVar6 = iVar6 + uStack_20._4_4_; iVar3 = 0; if (0 < iVar6) { iVar3 = iVar6; } uStack_20 = CONCAT44(iVar3,(int)uStack_20); } if ((uVar1 >> 3 & 1) != 0) { iVar6 = 0; if (0 < iVar3 + iVar4) { iVar6 = iVar3 + iVar4; } uStack_20 = CONCAT44(iVar6,(int)uStack_20); } iStack_14 = local_28._4_4_; uStack_c = uStack_20._4_4_; local_18 = (int)local_28; } iStack_10 = (int)uStack_20; if (*(longlong *)(param_1 + 0xb8) != 0) { uVar1 = *(uint *)(param_1 + 0xe0); local_28 = CONCAT44(iStack_14,local_18); uStack_20 = CONCAT44(uStack_c,(int)uStack_20); if (*(longlong *)(param_1 + 0xb0) != 0) { uVar9 = *(ulonglong *)(*(longlong *)(param_1 + 0xb0) + 0x10); } FUN_1813489c0(*(longlong *)(param_1 + 0xb8),uVar9,&local_28,(byte)(uVar1 >> 1) & 1, CONCAT31((int3)((uint)in_stack_ffffffffffffffb8 >> 8),(char)uVar1) & 0xffffff01, (byte)(uVar1 >> 3) & 1,(byte)(uVar1 >> 2) & 1); return; } uVar5 = uVar9; if (*(longlong *)(param_1 + 0xb0) != 0) { uVar5 = *(ulonglong *)(*(longlong *)(param_1 + 0xb0) + 0x10); } plVar2 = *(longlong **)(uVar5 + 0x30); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 8))(plVar2,&local_18); return; } if (*(longlong *)(param_1 + 0xb0) != 0) { uVar9 = *(ulonglong *)(*(longlong *)(param_1 + 0xb0) + 0x10); } FUN_18134bfe0(uVar9,local_18,iStack_14,(int)uStack_20,uStack_c); } return; } ############ FUN_ 181320420 size=219 ############ void FUN_181320420(longlong param_1) { ulonglong uVar1; undefined8 *puVar2; ulonglong uVar3; if ((*(int *)(param_1 + 0xb8) == 1) || (*(int *)(param_1 + 0xcc) == *(int *)(param_1 + 0xe0))) { puVar2 = *(undefined8 **)(param_1 + 0x40); uVar3 = 0; uVar1 = (ulonglong)((longlong)(puVar2 + *(int *)(param_1 + 0x4c)) + (7 - (longlong)puVar2)) >> 3 ; if (puVar2 + *(int *)(param_1 + 0x4c) < puVar2) { uVar1 = uVar3; } if (uVar1 != 0) { do { FUN_18134bfe0(*puVar2,0,0,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c)); uVar3 = uVar3 + 1; puVar2 = puVar2 + 1; } while (uVar3 != uVar1); } } *(byte *)(param_1 + 0xa8) = *(byte *)(param_1 + 0xa8) ^ ((*(int *)(param_1 + 0xcc) == 0) << 5 ^ *(byte *)(param_1 + 0xa8)) & 0x20; return; } ############ FUN_ 1813220f0 size=328 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813220f0(longlong param_1,longlong *param_2,char param_3) { undefined4 uVar1; int iVar2; undefined8 uVar3; undefined4 uVar4; undefined8 uVar5; undefined8 uVar6; int iVar7; int iVar8; longlong lVar9; longlong lVar10; undefined4 local_58; int iStack_54; undefined4 local_50; int iStack_4c; if (param_3 == '\0') { FUN_181323d10(param_1 + 200); } uVar6 = _UNK_1824c4da8; uVar5 = _DAT_1824c4da0; uVar4 = DAT_1824c3ea4; uVar1 = *(undefined4 *)(param_1 + 0x28); iVar7 = 0; iVar8 = 0; if (0 < *(int *)(param_1 + 0xc4)) { lVar9 = 0; lVar10 = 0; do { local_58 = 0; uVar3 = *(undefined8 *)(lVar10 + *(longlong *)(param_1 + 0xb8)); iVar2 = *(int *)(lVar9 + *param_2); iStack_54 = iVar7; local_50 = uVar1; iStack_4c = iVar2; if (param_3 == '\0') { FUN_18134bfe0(uVar3,0,iVar7,uVar1,iVar2); } else { FUN_181323e20(param_1 + 200,uVar3,&local_58,uVar4,0x96,0,uVar5,uVar6); } iVar7 = iVar7 + iVar2; iVar8 = iVar8 + 1; lVar10 = lVar10 + 8; lVar9 = lVar9 + 0xc; } while (iVar8 < *(int *)(param_1 + 0xc4)); } return; } ############ FUN_ 1813238d0 size=86 ############ void FUN_1813238d0(undefined8 param_1,longlong param_2,undefined1 (*param_3) [16]) { undefined1 auVar1 [16]; longlong *plVar2; plVar2 = *(longlong **)(param_2 + 0x30); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 8))(plVar2,param_3); return; } auVar1 = *param_3; FUN_18134bfe0(param_2,auVar1._0_8_,auVar1._0_8_ >> 0x20,auVar1._8_4_,auVar1._12_4_); return; } ############ FUN_ 181325670 size=435 ############ void FUN_181325670(longlong param_1) { longlong lVar1; undefined4 uVar2; longlong lVar3; int iVar4; iVar4 = *(int *)(param_1 + 0x2c) + -0x1a; FUN_18134bfe0(param_1 + 0xe8,2,2,*(int *)(param_1 + 0x28) + -4,*(int *)(param_1 + 0x2c) + -0x1f); FUN_18134bfe0(param_1 + 0x1f0,2,iVar4,0x16,0x16); FUN_18134bfe0(param_1 + 0x3b8,*(int *)(param_1 + 0x218) + *(int *)(param_1 + 0x210),iVar4,0x16, 0x16); lVar1 = param_1 + 0x580; lVar3 = FUN_18134adf0(lVar1); uVar2 = (**(code **)(*(longlong *)(lVar3 + 8) + 0x18))(lVar3 + 8,lVar1,0x16); FUN_18134bfe0(lVar1,*(undefined4 *)(param_1 + 0x5a0),*(undefined4 *)(param_1 + 0x5a4),uVar2,0x16); FUN_18134bfe0(param_1 + 0x968,*(undefined4 *)(param_1 + 0x988),*(undefined4 *)(param_1 + 0x98c), 0x2c,0x16); FUN_18134bfe0(param_1 + 0x748,*(undefined4 *)(param_1 + 0x768),*(undefined4 *)(param_1 + 0x76c), 0x2c,0x16); FUN_18134bfe0(param_1 + 0x968,(*(int *)(param_1 + 0x28) - *(int *)(param_1 + 0x990)) + -2,iVar4, *(int *)(param_1 + 0x990),*(undefined4 *)(param_1 + 0x994)); FUN_18134bfe0(param_1 + 0x748,(*(int *)(param_1 + 0x988) - *(int *)(param_1 + 0x770)) + -4,iVar4, *(int *)(param_1 + 0x770),*(undefined4 *)(param_1 + 0x774)); FUN_18134bfe0(lVar1,(*(int *)(param_1 + 0x768) - *(int *)(param_1 + 0x5a8)) + -8,iVar4, *(int *)(param_1 + 0x5a8),*(undefined4 *)(param_1 + 0x5ac)); return; } ############ FUN_ 1813270b0 size=304 ############ void FUN_1813270b0(longlong param_1) { undefined4 uVar1; longlong lVar2; code *pcVar3; undefined4 uVar4; longlong lVar5; longlong lVar6; lVar5 = FUN_18134adf0(); lVar2 = *(longlong *)(param_1 + 0x270); pcVar3 = *(code **)(*(longlong *)(lVar5 + 0x88) + 0x10); if (pcVar3 == FUN_18130c440) { FUN_18134bfe0(lVar2,*(undefined4 *)(lVar2 + 0x20),*(undefined4 *)(lVar2 + 0x24),0x50, *(undefined4 *)(param_1 + 0x2c)); lVar5 = __RTDynamicCast(lVar2,0,&juce::Button::RTTI_Type_Descriptor, &juce::TextButton::RTTI_Type_Descriptor,0); if (lVar5 != 0) { uVar1 = *(undefined4 *)(lVar5 + 0x2c); lVar6 = FUN_18134adf0(lVar5); uVar4 = (**(code **)(*(longlong *)(lVar6 + 8) + 0x18))(lVar6 + 8,lVar5,uVar1); FUN_18134bfe0(lVar5,*(undefined4 *)(lVar5 + 0x20),*(undefined4 *)(lVar5 + 0x24),uVar4,uVar1); } FUN_18134bfe0(lVar2,*(int *)(param_1 + 0x28) - *(int *)(lVar2 + 0x28),0,*(int *)(lVar2 + 0x28), *(undefined4 *)(lVar2 + 0x2c)); FUN_18134bfe0(param_1 + 0xd8,0,0,*(undefined4 *)(lVar2 + 0x20),*(undefined4 *)(param_1 + 0x2c)); return; } (*pcVar3)((longlong *)(lVar5 + 0x88),param_1,param_1 + 0xd8,lVar2); return; } ############ FUN_ 181331620 size=195 ############ undefined8 * FUN_181331620(undefined8 *param_1,longlong param_2) { undefined1 auVar1 [16]; longlong lVar2; undefined8 uVar3; FUN_181333090(); *param_1 = juce::DrawableImage::vftable; lVar2 = *(longlong *)(param_2 + 0xc0); param_1[0x18] = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } *(undefined4 *)(param_1 + 0x19) = *(undefined4 *)(param_2 + 200); *(undefined4 *)((longlong)param_1 + 0xcc) = *(undefined4 *)(param_2 + 0xcc); uVar3 = *(undefined8 *)(param_2 + 0xd8); param_1[0x1a] = *(undefined8 *)(param_2 + 0xd0); param_1[0x1b] = uVar3; param_1[0x1c] = *(undefined8 *)(param_2 + 0xe0); auVar1 = *(undefined1 (*) [16])(param_2 + 0x20); FUN_18134bfe0(param_1,auVar1._0_8_,auVar1._0_8_ >> 0x20,auVar1._8_4_,auVar1._12_4_); return param_1; } ############ FUN_ 1813318c0 size=697 ############ void FUN_1813318c0(longlong param_1) { undefined1 auVar1 [16]; longlong lVar2; int iVar3; int iVar4; undefined1 (*pauVar5) [16]; int iVar6; ulonglong uVar7; longlong *plVar8; int iVar9; int iVar10; ulonglong uVar11; int local_98; int iStack_94; int iStack_90; int iStack_8c; undefined1 local_68 [16]; undefined1 local_58 [16]; undefined1 local_48 [32]; if (*(char *)(param_1 + 0xe8) == '\0') { *(char *)(param_1 + 0xe8) = '\x01'; local_98 = 0; iStack_94 = 0; iStack_90 = 0; iStack_8c = 0; plVar8 = *(longlong **)(param_1 + 0x40); uVar7 = 0; uVar11 = (ulonglong)((longlong)(plVar8 + *(int *)(param_1 + 0x4c)) + (7 - (longlong)plVar8)) >> 3; if (plVar8 + *(int *)(param_1 + 0x4c) < plVar8) { uVar11 = uVar7; } if (uVar11 != 0) { do { lVar2 = *plVar8; if (*(longlong *)(lVar2 + 0x38) == 0) { local_68._0_8_ = *(undefined8 *)(lVar2 + 0x20); local_68._8_8_ = *(undefined8 *)(lVar2 + 0x28); pauVar5 = &local_68; } else { pauVar5 = (undefined1 (*) [16])FUN_1804b1290(lVar2 + 0x20,local_48); } local_58 = *pauVar5; if ((0 < local_58._8_4_) && (0 < local_58._12_4_)) { if ((iStack_90 < 1) || (iStack_8c < 1)) { local_98 = *(int *)*pauVar5; iStack_94 = *(int *)(*pauVar5 + 4); iStack_90 = *(int *)(*pauVar5 + 8); iStack_8c = *(int *)(*pauVar5 + 0xc); } else { iVar3 = local_58._0_4_; iVar6 = local_98; if (iVar3 < local_98) { iVar6 = iVar3; } iVar4 = local_58._4_4_; iVar10 = iStack_94; if (iVar4 < iStack_94) { iVar10 = iVar4; } iVar3 = iVar3 + local_58._8_4_; iVar9 = local_98 + iStack_90; if (local_98 + iStack_90 < iVar3) { iVar9 = iVar3; } iStack_90 = iVar9 - iVar6; iVar4 = local_58._12_4_ + iVar4; iVar3 = iStack_94 + iStack_8c; if (iStack_94 + iStack_8c < iVar4) { iVar3 = iVar4; } iStack_8c = iVar3 - iVar10; local_98 = iVar6; iStack_94 = iVar10; } } plVar8 = plVar8 + 1; uVar7 = uVar7 + 1; } while (uVar7 != uVar11); } uVar11 = 0; iVar3 = local_98 + (int)*(undefined8 *)(param_1 + 0x20); iVar6 = iStack_94 + (int)((ulonglong)*(undefined8 *)(param_1 + 0x20) >> 0x20); if ((((iVar3 != *(int *)(param_1 + 0x20)) || (iVar6 != *(int *)(param_1 + 0x24))) || (iStack_90 != *(int *)(param_1 + 0x28))) || (iStack_8c != *(int *)(param_1 + 0x2c))) { if ((local_98 != 0) || (iStack_94 != 0)) { *(int *)(param_1 + 0xb0) = *(int *)(param_1 + 0xb0) - local_98; *(int *)(param_1 + 0xb4) = *(int *)(param_1 + 0xb4) - iStack_94; plVar8 = *(longlong **)(param_1 + 0x40); uVar7 = (ulonglong)((longlong)(plVar8 + *(int *)(param_1 + 0x4c)) + (7 - (longlong)plVar8)) >> 3; if (plVar8 + *(int *)(param_1 + 0x4c) < plVar8) { uVar7 = uVar11; } if (uVar7 != 0) { do { auVar1 = *(undefined1 (*) [16])(*plVar8 + 0x20); FUN_18134bfe0(*plVar8,auVar1._0_4_ - local_98,auVar1._4_4_ - iStack_94,auVar1._8_4_, auVar1._12_4_); plVar8 = plVar8 + 1; uVar11 = uVar11 + 1; } while (uVar11 != uVar7); } } FUN_18134bfe0(param_1,iVar3,iVar6,iStack_90,iStack_8c); } *(undefined1 *)(param_1 + 0xe8) = 0; } return; } ############ FUN_ 1813337e0 size=71 ############ void FUN_1813337e0(longlong param_1) { undefined4 uVar1; undefined4 uVar2; longlong lVar3; uVar1 = *(undefined4 *)(param_1 + 0x2c); lVar3 = FUN_18134adf0(); uVar2 = (**(code **)(*(longlong *)(lVar3 + 8) + 0x18))(lVar3 + 8,param_1,uVar1); FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),uVar2,uVar1) ; return; } ############ FUN_ 18133b750 size=213 ############ void FUN_18133b750(longlong param_1) { char *pcVar1; undefined1 auVar2 [16]; longlong lVar3; longlong lVar4; pcVar1 = (char *)(param_1 + 0xb8); if (*pcVar1 == '\0') { *pcVar1 = '\x01'; lVar3 = *(longlong *)(param_1 + 0xa0); if (lVar3 != 0) { *(undefined8 *)(param_1 + 0xa0) = 0; lVar4 = __RTDynamicCast(lVar3,0,&juce::Component::RTTI_Type_Descriptor, &juce::TopLevelWindow::RTTI_Type_Descriptor,0); if (lVar4 != 0) { FUN_1812cc1e0(lVar4,1); } auVar2 = *(undefined1 (*) [16])(param_1 + 0xa8); FUN_18134bfe0(lVar3,auVar2._0_8_,auVar2._0_8_ >> 0x20,auVar2._8_8_,auVar2._12_4_); *(undefined8 *)(param_1 + 0xa0) = 0; } *pcVar1 = '\0'; } return; } ############ FUN_ 1813444e0 size=120 ############ void FUN_1813444e0(undefined8 param_1,int *param_2) { int *piVar1; undefined1 local_18 [16]; piVar1 = (int *)FUN_1804e4fb0(local_18,param_1); FUN_18134bfe0(param_1,*piVar1 + param_2[1],piVar1[1] + *param_2, (piVar1[2] - param_2[3]) - param_2[1],(piVar1[3] - param_2[2]) - *param_2); return; } ############ FUN_ 1813447d0 size=46 ############ void FUN_1813447d0(longlong param_1,int param_2,undefined4 param_3) { FUN_18134bfe0(param_1,param_2 - *(int *)(param_1 + 0x28),param_3,*(int *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 181344810 size=32 ############ void FUN_181344810(longlong param_1,ulonglong param_2) { FUN_18134bfe0(param_1,param_2,param_2 >> 0x20,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1813462d0 size=70 ############ void FUN_1813462d0(longlong param_1,undefined4 param_2) { undefined4 uVar1; longlong lVar2; lVar2 = FUN_18134adf0(); uVar1 = (**(code **)(*(longlong *)(lVar2 + 8) + 0x18))(lVar2 + 8,param_1,param_2); FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),uVar1, param_2); return; } ############ FUN_ 18134c1a0 size=29 ############ void FUN_18134c1a0(longlong param_1,undefined4 param_2,undefined4 param_3) { FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),param_2, param_3); return; } ############ FUN_ 18134c1d0 size=43 ############ void FUN_18134c1d0(longlong param_1,undefined4 param_2,undefined4 param_3) { FUN_18134bfe0(param_1,param_2,param_3,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1813bd020 size=43 ############ void FUN_1813bd020(longlong param_1) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 0xb0); FUN_18134bfe0(lVar1,*(undefined4 *)(lVar1 + 0x20),*(undefined4 *)(lVar1 + 0x24), *(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1813be720 size=190 ############ void FUN_1813be720(longlong param_1) { int iVar1; int iVar2; longlong lVar3; int iVar4; iVar4 = 0; if (0 < *(int *)(param_1 + 0xcc)) { lVar3 = 0; do { iVar1 = *(int *)(param_1 + 0xd0); FUN_18134bfe0(*(undefined8 *)(*(longlong *)(param_1 + 0xc0) + lVar3),iVar1 * iVar4,0,iVar1, iVar1); iVar4 = iVar4 + 1; lVar3 = lVar3 + 8; } while (iVar4 < *(int *)(param_1 + 0xcc)); } if (*(longlong *)(param_1 + 0xb8) != 0) { iVar1 = *(int *)(param_1 + 0xd0) + 5; iVar2 = *(int *)(param_1 + 0x2c) - iVar1; iVar4 = 0; if (0 < iVar2) { iVar4 = iVar2; } FUN_18134bfe0(*(longlong *)(param_1 + 0xb8),0,iVar1,*(undefined4 *)(param_1 + 0x28),iVar4); } return; } ############ FUN_ 1813be950 size=199 ############ void FUN_1813be950(longlong param_1) { longlong lVar1; int iVar2; int iVar3; undefined4 uVar4; longlong lVar5; int iVar6; iVar2 = *(int *)(param_1 + 0x2c); iVar6 = iVar2; if ((*(byte *)(param_1 + 0x290) & 2) != 0) { iVar6 = iVar2 + -0x1c; lVar1 = param_1 + 0x1e8; iVar3 = *(int *)(param_1 + 0x28); lVar5 = FUN_18134adf0(lVar1); uVar4 = (**(code **)(*(longlong *)(lVar5 + 8) + 0x18))(lVar5 + 8,lVar1,0x14); FUN_18134bfe0(lVar1,*(undefined4 *)(param_1 + 0x208),*(undefined4 *)(param_1 + 0x20c),uVar4,0x14 ); FUN_18134bfe0(lVar1,(iVar3 - *(int *)(param_1 + 0x210)) + -8,iVar2 + -0x16, *(int *)(param_1 + 0x210),*(undefined4 *)(param_1 + 0x214)); } FUN_18134bfe0(param_1 + 0xb8,0,0,*(undefined4 *)(param_1 + 0x28),iVar6); return; } ############ FUN_ 1813c6040 size=354 ############ void FUN_1813c6040(longlong *param_1) { int iVar1; int iVar2; int iVar3; undefined8 uVar4; iVar1 = 5; if (*(char *)((longlong)param_1 + 0xfa) != '\0') { iVar1 = 0x23; } iVar3 = ((int)param_1[5] - iVar1) - (int)param_1[0x1e]; iVar2 = (*(int *)((longlong)param_1 + 0x2c) - (int)param_1[0x1e]) / *(int *)((longlong)param_1 + 0xe4); iVar1 = 1; if (1 < iVar2) { iVar1 = iVar2; } *(int *)(param_1 + 0x1d) = iVar1; iVar2 = (int)((float)iVar3 / *(float *)(param_1 + 0x1c)); iVar1 = 1; if (1 < iVar2) { iVar1 = iVar2; } *(int *)((longlong)param_1 + 0xec) = iVar1; FUN_18055c7d0(param_1 + 0x86); if ((int)param_1[0x87] != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0x86]); } *(undefined4 *)(param_1 + 0x87) = 0; FUN_1813c5840(param_1); (**(code **)(*param_1 + 0x1a8))(param_1); if (param_1[0x81] != 0) { iVar1 = 5; if (*(char *)((longlong)param_1 + 0xfa) != '\0') { iVar1 = 0x23; } FUN_18134bfe0(param_1[0x81],0,0,iVar1 + -2,*(undefined4 *)((longlong)param_1 + 0x2c)); } iVar1 = (int)param_1[0x1e]; FUN_18134bfe0(param_1 + 0x2b,(int)param_1[5] - iVar1,0,iVar1, *(int *)((longlong)param_1 + 0x2c) - iVar1); uVar4 = 5; if (*(char *)((longlong)param_1 + 0xfa) != '\0') { uVar4 = 0x23; } FUN_18134bfe0(param_1 + 0x55,uVar4,*(int *)((longlong)param_1 + 0x2c) - (int)param_1[0x1e],iVar3, (int)param_1[0x1e]); FUN_1813c4ff0(param_1); return; } ############ FUN_ 1813e73f0 size=68 ############ void FUN_1813e73f0(longlong param_1) { FUN_18134bfe0(*(undefined8 *)(param_1 + 0x148),0,0,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 181413d00 size=64 ############ void FUN_181413d00(longlong param_1,undefined1 (*param_2) [16]) { undefined1 auVar1 [16]; auVar1 = *param_2; *(undefined1 (*) [16])(param_1 + 0xc4) = auVar1; FUN_18134bfe0(auVar1._8_8_,auVar1._0_8_,auVar1._0_8_ >> 0x20,auVar1._8_8_,auVar1._12_4_); return; } ############ FUN_ 18148ae90 size=376 ############ void FUN_18148ae90(longlong param_1) { longlong *plVar1; int iVar2; float fVar3; int iVar4; int iVar5; int iVar6; int iVar7; longlong lVar8; undefined8 uVar9; int iVar10; undefined1 local_res8 [4]; undefined4 local_resc; plVar1 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar9 = *(undefined8 *)(param_1 + 0xb8); } else { uVar9 = (**(code **)(*plVar1 + 8))(plVar1); } FUN_1813f22a0(uVar9,local_res8,DAT_1826741c8,param_1); *(undefined4 *)(param_1 + 0x2b0) = local_resc; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar9 = *(undefined8 *)(param_1 + 0xb8); } else { uVar9 = (**(code **)(*plVar1 + 8))(plVar1); } FUN_1813f22a0(uVar9,local_res8,DAT_182674234,param_1); *(undefined4 *)(param_1 + 0x2b4) = local_resc; lVar8 = (**(code **)(*plVar1 + 8))(plVar1); fVar3 = *(float *)(lVar8 + 0x88); lVar8 = (**(code **)(*plVar1 + 8))(plVar1); iVar4 = *(int *)(param_1 + 0x28); iVar6 = (int)fVar3; iVar10 = (int)(*(float *)(lVar8 + 0x88) * DAT_1824c442c); if (iVar4 < iVar10) { iVar10 = iVar4; } iVar7 = iVar10 + iVar6 * -2; iVar2 = *(int *)(param_1 + 0x2c) + iVar6 * -2; iVar5 = 0; if (0 < iVar7) { iVar5 = iVar7; } iVar7 = 0; if (0 < iVar2) { iVar7 = iVar2; } FUN_18134bfe0(*(undefined8 *)(param_1 + 0x100),(iVar4 - iVar10) + iVar6,iVar6,iVar5,iVar7); return; } ############ FUN_ 1815eeec0 size=865 ############ void FUN_1815eeec0(longlong *param_1) { longlong *plVar1; double dVar2; undefined8 uVar3; longlong lVar4; float fVar5; float fVar6; float fVar7; undefined8 local_res8; double local_res10; double local_res18; double local_res20; float local_78; float local_74; float local_70; float local_6c; undefined8 local_68; undefined4 local_60; undefined4 uStack_5c; if (param_1[0x17] != 0) { plVar1 = param_1 + 0x16; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (param_1[0x17] == 0) { FUN_180569ff0(param_1); } lVar4 = param_1[0x17]; } else { lVar4 = (**(code **)(*plVar1 + 8))(plVar1); } FUN_1813f22a0(lVar4,&local_res8,DAT_182674244,param_1); FUN_1813ea700(param_1 + 0x1b,local_res8._4_4_); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (param_1[0x17] == 0) { FUN_180569ff0(param_1); } lVar4 = param_1[0x17]; } else { lVar4 = (**(code **)(*plVar1 + 8))(plVar1); } uVar3 = FUN_1813f22a0(lVar4,&local_res8,DAT_1826741d4,param_1); fVar5 = (float)FUN_1813ec390(uVar3); lVar4 = (**(code **)(*plVar1 + 8))(plVar1); *(float *)((longlong)param_1 + 0x1c4) = fVar5 * *(float *)(lVar4 + 0x88); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (param_1[0x17] == 0) { FUN_180569ff0(param_1); } lVar4 = param_1[0x17]; } else { lVar4 = (**(code **)(*plVar1 + 8))(plVar1); } FUN_1813f22a0(lVar4,&local_res8,DAT_1826741e4,param_1); *(undefined4 *)(param_1 + 0x19) = local_res8._4_4_; local_68 = 0; local_60 = *(undefined4 *)(param_1[0x1a] + 0x28); uStack_5c = *(undefined4 *)(param_1[0x1a] + 0x2c); FUN_18134bfe0(param_1,0,0,local_60,uStack_5c); FUN_181344f60(param_1,1); (**(code **)(*param_1 + 0x178))(param_1,&local_78); fVar5 = *(float *)(param_1 + 0xdf); lVar4 = (**(code **)(*plVar1 + 8))(plVar1); dVar2 = DAT_1824c4520; fVar5 = fVar5 * *(float *)(lVar4 + 0x88); fVar6 = fVar5 * DAT_1824c41e0 + local_70; fVar7 = fVar5 * DAT_1824c41e0 + local_6c; local_res8 = (double)(local_78 - fVar5) + DAT_1824c4520; if (fVar6 <= 0.0) { fVar6 = 0.0; } if (fVar7 <= 0.0) { fVar7 = 0.0; } local_res10 = (double)(local_74 - fVar5) + DAT_1824c4520; local_res18 = (double)fVar6 + DAT_1824c4520; local_68 = CONCAT44(local_res10._0_4_,SUB84(local_res8,0)); local_res20 = (double)fVar7 + DAT_1824c4520; local_60 = SUB84(local_res18,0); uStack_5c = local_res20._0_4_; FUN_18134bfe0(param_1 + 0x1b,local_res8,(ulonglong)local_res10 & 0xffffffff, (ulonglong)local_res18 & 0xffffffff,local_res20._0_4_); local_res10 = (double)local_74 + dVar2; local_70 = local_70 - (float)-(int)param_1[0xda]; if (local_70 <= 0.0) { local_70 = 0.0; } local_res8 = (double)local_78 + dVar2; local_res20 = (double)local_6c + dVar2; local_68 = CONCAT44(SUB84(local_res10,0),SUB84(local_res8,0)); local_res18 = (double)local_70 + dVar2; uStack_5c = local_res20._0_4_; local_60 = SUB84(local_res18,0); FUN_18134bfe0(param_1 + 0xa7,local_res8,(ulonglong)local_res10 & 0xffffffff, (ulonglong)local_res18 & 0xffffffff,local_res20._0_4_); } return; } ############ FUN_ 1814b41f0 size=68 ############ void FUN_1814b41f0(longlong param_1) { FUN_18134bfe0(param_1 + 0xf8,0,0,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1814b4380 size=68 ############ void FUN_1814b4380(longlong param_1) { FUN_18134bfe0(param_1 + 0xf8,0,0,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1814c20d0 size=241 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814c20d0(longlong *param_1) { longlong lVar1; float *pfVar2; double dVar3; double dVar4; int local_res18; int local_res20; undefined1 local_18 [16]; FUN_1815eeec0(); lVar1 = (**(code **)(param_1[0x16] + 8))(); *(float *)((longlong)param_1 + 0x974) = *(float *)(lVar1 + 0x88) * _DAT_1824c44e8; pfVar2 = (float *)(**(code **)(*param_1 + 0x178))(param_1,local_18); local_res20 = SUB84((double)(pfVar2[1] + pfVar2[3]) + DAT_1824c4520,0); dVar3 = (double)pfVar2[1] + DAT_1824c4520; local_res18 = SUB84((double)(*pfVar2 + pfVar2[2]) + DAT_1824c4520,0); dVar4 = (double)*pfVar2 + DAT_1824c4520; FUN_18134bfe0(param_1 + 0x10f,dVar4,(ulonglong)dVar3 & 0xffffffff,local_res18 - SUB84(dVar4,0), local_res20 - SUB84(dVar3,0)); FUN_1814c1e30(param_1); return; } ############ FUN_ 1814c2850 size=435 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814c2850(longlong *param_1) { longlong *plVar1; float fVar2; code *pcVar3; longlong lVar4; float *pfVar5; double dVar6; double dVar7; int local_res18; int local_res20; float local_48; float local_44; float local_40; float local_3c; int local_38; int iStack_34; int local_30; int iStack_2c; FUN_1815eeec0(); plVar1 = param_1 + 0x16; lVar4 = (**(code **)(*plVar1 + 8))(plVar1); pcVar3 = *(code **)(*param_1 + 0x178); *(float *)((longlong)param_1 + 0x97c) = *(float *)(lVar4 + 0x88) * _DAT_1824c4554; if (pcVar3 == FUN_1814c21d0) { lVar4 = (**(code **)(*plVar1 + 8))(plVar1); fVar2 = *(float *)(lVar4 + 0x88); lVar4 = (**(code **)(*plVar1 + 8))(plVar1); local_3c = fVar2 * DAT_1824c44f8; pfVar5 = &local_48; local_40 = *(float *)(lVar4 + 0x88) * _DAT_1824c4554; local_48 = ((float)(int)param_1[5] - local_40) * DAT_1824c3d8c + 0.0; local_44 = ((float)*(int *)((longlong)param_1 + 0x2c) - local_3c) * DAT_1824c3d8c + 0.0; } else { pfVar5 = (float *)(*pcVar3)(param_1,&local_48); } local_res20 = SUB84((double)(pfVar5[1] + pfVar5[3]) + DAT_1824c4520,0); dVar6 = (double)pfVar5[1] + DAT_1824c4520; local_res18 = SUB84((double)(*pfVar5 + pfVar5[2]) + DAT_1824c4520,0); dVar7 = (double)*pfVar5 + DAT_1824c4520; iStack_34 = SUB84(dVar6,0); iStack_2c = local_res20 - iStack_34; local_38 = SUB84(dVar7,0); local_30 = local_res18 - local_38; FUN_18134bfe0(param_1 + 0x110,dVar7,(ulonglong)dVar6 & 0xffffffff,local_30,iStack_2c); FUN_1814c2340(param_1); return; } ############ FUN_ 1814c4480 size=1374 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814c4480(longlong *param_1) { longlong *plVar1; float fVar2; float fVar3; char cVar4; int iVar5; int iVar6; double dVar7; longlong lVar8; longlong lVar9; undefined8 *puVar10; undefined8 *puVar11; undefined8 *puVar12; undefined8 uVar13; undefined8 *puVar14; undefined8 *puVar15; double dVar16; double dVar17; double dVar18; float fVar19; float fVar20; float fVar21; uint local_res8 [2]; uint *local_res10; undefined8 *local_res18; double local_res20; undefined8 in_stack_ffffffffffffff38; undefined4 uVar22; undefined4 local_b0; float local_a0; float local_9c; float local_98; float local_94; undefined4 local_90; undefined4 uStack_8c; undefined4 local_88; undefined4 uStack_84; FUN_1815eeec0(); if (*(code **)(*param_1 + 0x178) == FUN_1814c4280) { iVar5 = *(int *)((longlong)param_1 + 0x894); plVar1 = param_1 + 0x16; lVar9 = param_1[0x110]; fVar20 = *(float *)((longlong)param_1 + 0x89c); lVar8 = (**(code **)(*plVar1 + 8))(plVar1); fVar21 = *(float *)(param_1 + 0x113); fVar19 = *(float *)(lVar8 + 0x88); lVar8 = (**(code **)(*plVar1 + 8))(plVar1); fVar2 = *(float *)(param_1 + 0x114); fVar3 = *(float *)(lVar8 + 0x88); lVar8 = (**(code **)(*plVar1 + 8))(plVar1); iVar6 = *(int *)((longlong)param_1 + 0x2c); fVar21 = fVar3 * fVar21 * (float)iVar5 + fVar19 * fVar20 * (float)(int)lVar9 + (float)(iVar5 + ((int)lVar9 + -1) * 2) * fVar2 * *(float *)(lVar8 + 0x88); lVar9 = (**(code **)(*plVar1 + 8))(plVar1); fVar20 = *(float *)(lVar9 + 0x88); lVar9 = (**(code **)(*plVar1 + 8))(plVar1); local_98 = *(float *)(lVar9 + 0x88) * _DAT_1824c4554; local_a0 = ((float)(int)param_1[5] - local_98) * DAT_1824c3d8c + 0.0; local_9c = ((float)iVar6 - fVar20 * _DAT_1824c44c4) - fVar21; local_94 = fVar21; } else { (**(code **)(*param_1 + 0x178))(param_1,&local_a0); } fVar20 = *(float *)(param_1 + 0x113); plVar1 = param_1 + 0x16; lVar9 = (**(code **)(*plVar1 + 8))(plVar1); dVar7 = DAT_1824c4520; local_res8[0] = 0; fVar20 = fVar20 * *(float *)(lVar9 + 0x88); if (0 < *(int *)((longlong)param_1 + 0x894)) { do { uVar22 = (undefined4)((ulonglong)in_stack_ffffffffffffff38 >> 0x20); puVar15 = (undefined8 *)param_1[0x10f]; puVar14 = (undefined8 *)puVar15[1]; cVar4 = *(char *)((longlong)puVar14 + 0x19); puVar11 = puVar15; puVar10 = puVar14; while (cVar4 == '\0') { if (*(int *)(puVar10 + 4) < (int)local_res8[0]) { puVar12 = (undefined8 *)puVar10[2]; puVar10 = puVar11; } else { if ((*(char *)((longlong)puVar15 + 0x19) != '\0') && ((int)local_res8[0] < *(int *)(puVar10 + 4))) { puVar15 = puVar10; } puVar12 = (undefined8 *)*puVar10; } puVar11 = puVar10; puVar10 = puVar12; cVar4 = *(char *)((longlong)puVar12 + 0x19); } if (*(char *)((longlong)puVar15 + 0x19) == '\0') { puVar14 = (undefined8 *)*puVar15; } cVar4 = *(char *)((longlong)puVar14 + 0x19); while (cVar4 == '\0') { if ((int)local_res8[0] < *(int *)(puVar14 + 4)) { puVar10 = (undefined8 *)*puVar14; puVar15 = puVar14; } else { puVar10 = (undefined8 *)puVar14[2]; } puVar14 = puVar10; cVar4 = *(char *)((longlong)puVar10 + 0x19); } lVar9 = 0; if (puVar11 != puVar15) { do { puVar14 = (undefined8 *)puVar11[2]; lVar9 = lVar9 + 1; if (*(char *)((longlong)puVar14 + 0x19) == '\0') { cVar4 = *(char *)((longlong)*puVar14 + 0x19); puVar11 = puVar14; puVar14 = (undefined8 *)*puVar14; while (cVar4 == '\0') { cVar4 = *(char *)((longlong)*puVar14 + 0x19); puVar11 = puVar14; puVar14 = (undefined8 *)*puVar14; } } else { cVar4 = *(char *)((longlong)puVar11[1] + 0x19); puVar10 = (undefined8 *)puVar11[1]; puVar14 = puVar11; while ((puVar11 = puVar10, cVar4 == '\0' && (puVar14 == (undefined8 *)puVar11[2]))) { cVar4 = *(char *)((longlong)puVar11[1] + 0x19); puVar10 = (undefined8 *)puVar11[1]; puVar14 = puVar11; } } } while (puVar11 != puVar15); if (lVar9 == 1) { if (0 < (int)local_res8[0]) { fVar21 = *(float *)(param_1 + 0x114); lVar9 = (**(code **)(*plVar1 + 8))(plVar1); fVar21 = fVar21 * *(float *)(lVar9 + 0x88); fVar19 = local_94; if (fVar21 <= local_94) { fVar19 = fVar21; } local_9c = local_9c + fVar19; local_94 = local_94 - fVar19; } fVar21 = *(float *)((longlong)param_1 + 0x89c); lVar9 = (**(code **)(*plVar1 + 8))(plVar1); fVar21 = fVar21 * *(float *)(lVar9 + 0x88); fVar19 = local_94; if (fVar21 <= local_94) { fVar19 = fVar21; } local_94 = local_94 - fVar19; fVar21 = local_9c + fVar19; puVar15 = (undefined8 *)((undefined8 *)param_1[0x10f])[1]; dVar16 = (double)local_a0; dVar18 = (double)local_9c; dVar17 = (double)local_98; local_res20 = (double)fVar19 + dVar7; cVar4 = *(char *)((longlong)puVar15 + 0x19); puVar14 = (undefined8 *)param_1[0x10f]; while (cVar4 == '\0') { if (*(int *)(puVar15 + 4) < (int)local_res8[0]) { puVar11 = (undefined8 *)puVar15[2]; puVar15 = puVar14; } else { puVar11 = (undefined8 *)*puVar15; } puVar14 = puVar15; puVar15 = puVar11; cVar4 = *(char *)((longlong)puVar11 + 0x19); } local_9c = fVar21; if ((puVar14 == (undefined8 *)param_1[0x10f]) || ((int)local_res8[0] < *(int *)(puVar14 + 4))) { local_res10 = local_res8; lVar9 = FUN_180481d40(param_1 + 0x10f,local_res20,&local_res10); FUN_18057dd90(param_1 + 0x10f,&local_res18,puVar14,lVar9 + 0x20,lVar9); uVar22 = (undefined4)((ulonglong)lVar9 >> 0x20); puVar14 = local_res18; } uVar13 = CONCAT44(uVar22,local_res20._0_4_); FUN_18134bfe0(puVar14[5],(ulonglong)(dVar16 + dVar7) & 0xffffffff, (ulonglong)(dVar18 + dVar7) & 0xffffffff, (ulonglong)(dVar17 + dVar7) & 0xffffffff,uVar13); uVar22 = (undefined4)((ulonglong)uVar13 >> 0x20); fVar21 = *(float *)(param_1 + 0x114); lVar9 = (**(code **)(*plVar1 + 8))(plVar1); fVar21 = fVar21 * *(float *)(lVar9 + 0x88); fVar19 = local_94; if (fVar21 <= local_94) { fVar19 = fVar21; } local_9c = local_9c + fVar19; local_94 = local_94 - fVar19; } } if (local_res8[0] < *(uint *)((longlong)param_1 + 0x894)) { uVar13 = *(undefined8 *)(param_1[0x111] + (longlong)(int)local_res8[0] * 8); } else { uVar13 = 0; } local_res10 = (uint *)((double)local_a0 + dVar7); local_res20 = (double)local_9c + dVar7; fVar21 = local_94; if (fVar20 <= local_94) { fVar21 = fVar20; } local_9c = local_9c + fVar21; local_94 = local_94 - fVar21; uStack_8c = local_res20._0_4_; local_90 = SUB84(local_res10,0); local_b0 = SUB84((double)fVar21 + dVar7,0); uStack_84 = local_b0; local_88 = SUB84((double)local_98 + dVar7,0); in_stack_ffffffffffffff38 = CONCAT44(uVar22,local_b0); FUN_18134bfe0(uVar13,local_res10,(ulonglong)local_res20 & 0xffffffff, (ulonglong)((double)local_98 + dVar7) & 0xffffffff,in_stack_ffffffffffffff38); fVar21 = *(float *)(param_1 + 0x114); lVar9 = (**(code **)(*plVar1 + 8))(plVar1); fVar21 = fVar21 * *(float *)(lVar9 + 0x88); local_res8[0] = local_res8[0] + 1; fVar19 = local_94; if (fVar21 <= local_94) { fVar19 = fVar21; } local_9c = local_9c + fVar19; local_94 = local_94 - fVar19; } while ((int)local_res8[0] < *(int *)((longlong)param_1 + 0x894)); } return; } ############ FUN_ 1814c58f0 size=814 ############ void FUN_1814c58f0(longlong param_1) { longlong *plVar1; int iVar2; undefined8 uVar3; int iVar4; int iVar5; longlong lVar6; ulonglong uVar7; int iVar8; int iVar9; undefined8 *puVar10; int iVar11; ulonglong uVar12; int iVar13; float fVar14; float fVar15; float fVar16; plVar1 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } *(undefined4 *)(param_1 + 0x518) = 0xff293843; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } *(undefined4 *)(param_1 + 0x51c) = 0xff20303b; FUN_18134bfe0(*(undefined8 *)(param_1 + 0x520),0,0, *(undefined4 *)(*(longlong *)(param_1 + 0x100) + 0x28), *(undefined4 *)(*(longlong *)(param_1 + 0x100) + 0x2c)); iVar9 = (int)*(float *)(param_1 + 0x530); iVar8 = *(int *)(param_1 + 0x28); iVar2 = iVar9; if (*(int *)(param_1 + 0x2c) < iVar9) { iVar2 = *(int *)(param_1 + 0x2c); } if (iVar8 < iVar9) { iVar9 = iVar8; } FUN_18134bfe0(param_1 + 0x138,iVar8 - iVar9,0,iVar9,iVar2); iVar8 = *(int *)(param_1 + 0x2c); iVar2 = *(int *)(param_1 + 0x28); iVar9 = (int)*(float *)(param_1 + 0x530); if (iVar8 < (int)*(float *)(param_1 + 0x530)) { iVar9 = iVar8; } iVar8 = iVar8 - iVar9; *(undefined4 *)(param_1 + 0x534) = 0; *(undefined4 *)(param_1 + 0x538) = 0; *(int *)(param_1 + 0x53c) = iVar2; *(int *)(param_1 + 0x540) = iVar9; if ((*(byte *)(*(longlong *)(param_1 + 0x108) + 0xa8) & 2) == 0) { FUN_18134bfe0(*(undefined8 *)(param_1 + 0x110),0,0,iVar2,*(undefined4 *)(param_1 + 0x2c)); return; } lVar6 = (**(code **)(*plVar1 + 8))(plVar1); fVar15 = *(float *)(lVar6 + 0x88) * DAT_1824c43e8; iVar13 = (int)fVar15; iVar11 = iVar13; if (iVar8 < iVar13) { iVar11 = iVar8; } iVar9 = iVar9 + iVar11; iVar8 = iVar8 - iVar11; FUN_18134bfe0(*(undefined8 *)(param_1 + 0x108),0,0,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); puVar10 = *(undefined8 **)(param_1 + 0x118); uVar12 = 0; uVar7 = (ulonglong)((longlong)(puVar10 + *(int *)(param_1 + 0x124)) + (7 - (longlong)puVar10)) >> 3; if (puVar10 + *(int *)(param_1 + 0x124) < puVar10) { uVar7 = uVar12; } if (uVar7 != 0) { fVar16 = fVar15 * DAT_1824c3d3c; fVar15 = fVar15 * DAT_1824c41e0; iVar5 = iVar13 * -2 + iVar2; iVar11 = 0; if (0 < iVar5) { iVar11 = iVar5; } do { uVar3 = *puVar10; fVar14 = (float)FUN_1814d0fc0(uVar3,(float)iVar2 - fVar15); iVar5 = (int)fVar14; if (iVar8 < (int)fVar14) { iVar5 = iVar8; } iVar8 = iVar8 - iVar5; iVar4 = 0; if (0 < iVar5) { iVar4 = iVar5; } FUN_18134bfe0(uVar3,iVar13,iVar9,iVar11,iVar4); puVar10 = puVar10 + 1; iVar4 = (int)fVar16; if (iVar8 < (int)fVar16) { iVar4 = iVar8; } uVar12 = uVar12 + 1; iVar9 = iVar9 + iVar5 + iVar4; iVar8 = iVar8 - iVar4; } while (uVar12 != uVar7); } return; } ############ FUN_ 1814c8060 size=3600 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814c8060(longlong param_1) { int *piVar1; longlong *plVar2; int iVar3; code *pcVar4; double dVar5; double dVar6; double dVar7; longlong lVar8; undefined8 uVar9; uint uVar10; longlong *plVar11; bool bVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; float fVar18; float fVar19; float fVar20; float fVar21; float fVar22; float fVar23; float fVar24; longlong local_res8; longlong local_res20; undefined4 local_238; undefined4 local_230; undefined4 local_228; undefined4 local_208; undefined4 local_1e8; undefined4 local_1c8; undefined4 local_1a8; undefined4 local_188; undefined4 local_168; undefined8 *local_158; double local_150; double local_148; double local_140; double local_138; double local_130; double local_128; double local_120; double local_118; double local_110; double local_108; double local_100; double local_f8; if (*(longlong *)(param_1 + 0xd8) != 0) { FUN_1814c8e80(); plVar2 = (longlong *)(param_1 + 0xb0); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar24 = DAT_1824c4408; fVar17 = *(float *)(lVar8 + 0x88) * DAT_1824c4408; FUN_1814cdcf0(param_1 + 0x150,*(longlong *)(param_1 + 0xd8) + 0x20); fVar21 = DAT_1824c41e0; fVar18 = fVar17 * DAT_1824c41e0; *(float *)(param_1 + 0x24c) = (float)*(int *)(param_1 + 0x28) - fVar18; lVar8 = (**(code **)(*plVar2 + 8))(plVar2); pcVar4 = *(code **)(*plVar2 + 8); *(float *)(param_1 + 0x278) = *(float *)(lVar8 + 0x88) * DAT_1824c4414; if (pcVar4 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (*pcVar4)(plVar2); } *(undefined4 *)(param_1 + 0x248) = 0xffd1dbe3; (**(code **)(*(longlong *)(param_1 + 0x150) + 0x160))(param_1 + 0x150); local_res20 = *(longlong *)(*(longlong *)(param_1 + 0xd8) + 0x40); if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } plVar11 = (longlong *)(param_1 + 0x290); FUN_1815ef610(plVar11,&local_res20); pcVar4 = *(code **)(*plVar2 + 8); *(float *)(param_1 + 0x38c) = (float)*(int *)(param_1 + 0x28) - fVar18; if (pcVar4 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar9 = *(undefined8 *)(param_1 + 0xb8); } else { uVar9 = (*pcVar4)(plVar2); } lVar8 = (**(code **)(*plVar2 + 8))(plVar2); uVar9 = FUN_1813f2500(uVar9,&local_158,*(float *)(lVar8 + 0x88) * DAT_1824c43f8); FUN_181252990(param_1 + 0x380,uVar9); if (local_158 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_158 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_158)(local_158,1); } } if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar2 + 8))(plVar2); } *(undefined4 *)(param_1 + 0x388) = 0xff92b3cd; (**(code **)(*plVar11 + 0x160))(plVar11); fVar18 = DAT_1824c4640; fVar20 = 0.0 - (float)((uint)fVar17 ^ DAT_1824c4f30); fVar21 = (float)((uint)fVar17 ^ DAT_1824c4f30) * fVar21 + (float)*(int *)(param_1 + 0x28); fVar23 = (float)*(int *)(param_1 + 0x2c) + DAT_1824c4640; if (fVar21 <= 0.0) { fVar21 = 0.0; } if (fVar23 <= 0.0) { fVar23 = 0.0; } lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar22 = *(float *)(lVar8 + 0x88); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar13 = *(float *)(lVar8 + 0x88) * DAT_1824c4434; fVar22 = fVar21 - fVar22 * fVar24; fVar24 = fVar23; if (fVar13 <= fVar23) { fVar24 = fVar13; } if (fVar22 <= 0.0) { fVar22 = 0.0; } fVar23 = fVar23 - fVar24; lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar13 = *(float *)(lVar8 + 0x88); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar19 = *(float *)(lVar8 + 0x88); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar19 = fVar19 * _DAT_1824c46c0; fVar14 = *(float *)(lVar8 + 0x88) * DAT_1824c4490; fVar16 = fVar22; if (fVar14 <= fVar22) { fVar16 = fVar14; } fVar14 = fVar19 * DAT_1824c41e0 + fVar24; fVar22 = fVar22 - fVar16; if (fVar14 <= 0.0) { fVar14 = 0.0; } fVar15 = fVar16 + fVar18; if (fVar16 + fVar18 <= 0.0) { fVar15 = 0.0; } local_140 = (double)(fVar13 * DAT_1824c4388) + DAT_1824c4520; local_138 = (double)(0.0 - fVar19) + DAT_1824c4520; local_130 = (double)fVar15 + DAT_1824c4520; local_120 = (double)fVar14 + DAT_1824c4520; FUN_18134bfe0(*(undefined8 *)(param_1 + 0x118),(ulonglong)local_140 & 0xffffffff, (ulonglong)local_138 & 0xffffffff,(ulonglong)local_130 & 0xffffffff, local_120._0_4_); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar13 = *(float *)(lVar8 + 0x88); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); dVar7 = DAT_1824c4520; fVar13 = fVar13 * _DAT_1824c46c0; fVar14 = *(float *)(lVar8 + 0x88) * DAT_1824c4490; fVar19 = fVar22; if (fVar14 <= fVar22) { fVar19 = fVar14; } fVar14 = fVar13 * DAT_1824c41e0 + fVar24; fVar15 = fVar19 + fVar18; if (fVar19 + fVar18 <= 0.0) { fVar15 = 0.0; } if (fVar14 <= 0.0) { fVar14 = 0.0; } local_118 = (double)(((fVar20 + fVar16 + fVar22) - fVar19) - fVar18) + DAT_1824c4520; local_108 = (double)fVar14 + DAT_1824c4520; local_110 = (double)fVar15 + DAT_1824c4520; FUN_18134bfe0(*(undefined8 *)(param_1 + 0x110),(ulonglong)local_118 & 0xffffffff, (ulonglong)((double)(0.0 - fVar13) + DAT_1824c4520) & 0xffffffff, (ulonglong)local_110 & 0xffffffff,local_108._0_4_); local_100 = (double)(fVar20 + fVar16) + dVar7; fVar18 = fVar23; if (fVar17 <= fVar23) { fVar18 = fVar17; } local_238 = SUB84(dVar7,0); local_230 = SUB84((double)(fVar22 - fVar19) + dVar7,0); fVar22 = fVar24 + 0.0 + fVar18; fVar23 = fVar23 - fVar18; local_228 = SUB84((double)fVar24 + dVar7,0); dVar5 = (double)fVar21 + dVar7; *(ulonglong *)(param_1 + 0xd28) = CONCAT44(local_238,local_100._0_4_); *(ulonglong *)(param_1 + 0xd30) = CONCAT44(local_228,local_230); dVar6 = (double)fVar20 + dVar7; fVar24 = fVar23; if ((float)*(int *)(param_1 + 0x17c) <= fVar23) { fVar24 = (float)*(int *)(param_1 + 0x17c); } fVar23 = fVar23 - fVar24; local_208 = SUB84((double)fVar24 + dVar7,0); FUN_18134bfe0(param_1 + 0x150,dVar6,(ulonglong)((double)fVar22 + dVar7) & 0xffffffff, (ulonglong)dVar5 & 0xffffffff,local_208); fVar16 = DAT_1824c4424; fVar19 = DAT_1824c4414; fVar13 = DAT_1824c3de4; uVar10 = 0; fVar18 = fVar23; if (fVar17 <= fVar23) { fVar18 = fVar17; } fVar24 = fVar22 + fVar24 + fVar18; fVar23 = fVar23 - fVar18; if (0 < *(int *)(param_1 + 0xd04)) { bVar12 = *(int *)(param_1 + 0xd04) != 0; fVar18 = fVar17 * DAT_1824c3d18; local_res8 = 0; do { if (bVar12) { plVar11 = *(longlong **)(local_res8 + *(longlong *)(param_1 + 0xcf8)); } else { plVar11 = (longlong *)0x0; } lVar8 = (**(code **)(plVar11[0x16] + 8))(plVar11 + 0x16); *(float *)(plVar11 + 0x73) = *(float *)(lVar8 + 0x88) * fVar19; lVar8 = (**(code **)(plVar11[0x16] + 8))(plVar11 + 0x16); *(float *)((longlong)plVar11 + 0x36c) = fVar21 - *(float *)(lVar8 + 0x88) * DAT_1824c4478; (**(code **)(plVar11[0x4e] + 0x160))(); fVar22 = fVar23; if (fVar18 <= fVar23) { fVar22 = fVar18; } fVar23 = fVar23 - fVar22; fVar15 = (float)*(int *)((longlong)plVar11 + 0x29c) + fVar17; fVar14 = fVar23; if (fVar15 <= fVar23) { fVar14 = fVar15; } fVar23 = fVar23 - fVar14; local_1e8 = SUB84((double)fVar14 + dVar7,0); FUN_18134bfe0(plVar11,(ulonglong)dVar6 & 0xffffffff, (ulonglong)((double)(fVar24 + fVar22) + dVar7) & 0xffffffff, (ulonglong)dVar5 & 0xffffffff,local_1e8); fVar15 = fVar23; if (fVar18 <= fVar23) { fVar15 = fVar18; } fVar24 = fVar24 + fVar22 + fVar14 + fVar15; fVar23 = fVar23 - fVar15; (**(code **)(*plVar11 + 0x58)) (plVar11,(int)uVar10 <= *(int *)(*(longlong *)(param_1 + 0xd8) + 0x88)); (**(code **)(*plVar11 + 0x108))(plVar11); if (uVar10 == *(uint *)(*(longlong *)(param_1 + 0xd8) + 0x88)) { lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar14 = *(float *)(lVar8 + 0x88) * fVar16; fVar22 = fVar23; if (fVar14 <= fVar23) { fVar22 = fVar14; } fVar14 = (fVar20 + fVar21) - fVar21 * fVar13; if (fVar14 <= 0.0) { fVar14 = 0.0; } fVar23 = fVar23 - fVar22; local_1c8 = SUB84((double)fVar22 + dVar7,0); FUN_18134bfe0(*(undefined8 *)(param_1 + 0x100), (ulonglong)((double)(fVar21 * fVar13) + dVar7) & 0xffffffff, (ulonglong)((double)fVar24 + dVar7) & 0xffffffff, (ulonglong)((double)fVar14 + dVar7) & 0xffffffff,local_1c8); (**(code **)(**(longlong **)(param_1 + 0x100) + 0x58))(*(longlong **)(param_1 + 0x100),1); fVar14 = fVar23; if (fVar17 * DAT_1824c3d8c <= fVar23) { fVar14 = fVar17 * DAT_1824c3d8c; } fVar24 = fVar24 + fVar22 + fVar14; fVar23 = fVar23 - fVar14; } uVar10 = uVar10 + 1; local_res8 = local_res8 + 8; bVar12 = uVar10 < *(uint *)(param_1 + 0xd04); } while ((int)uVar10 < (int)*(uint *)(param_1 + 0xd04)); } lVar8 = *(longlong *)(param_1 + 0xd8); if ((ulonglong)((*(longlong *)(lVar8 + 0x78) - *(longlong *)(lVar8 + 0x70)) / 0x60) <= (ulonglong)(longlong)*(int *)(lVar8 + 0x88)) { (**(code **)(**(longlong **)(param_1 + 0x100) + 0x58))(*(longlong **)(param_1 + 0x100),0); } lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar22 = *(float *)(lVar8 + 0x88) * DAT_1824c44bc; fVar18 = fVar23; if (fVar22 <= fVar23) { fVar18 = fVar22; } fVar22 = fVar23 - fVar18; local_1a8 = SUB84((double)fVar18 + dVar7,0); local_128 = dVar6; FUN_18134bfe0(param_1 + 0x290,dVar6, (ulonglong)((double)((fVar24 + fVar23) - fVar18) + dVar7) & 0xffffffff, (ulonglong)dVar5 & 0xffffffff,local_1a8); fVar18 = fVar22; if (fVar17 <= fVar22) { fVar18 = fVar17; } fVar22 = fVar22 - fVar18; lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar23 = *(float *)(lVar8 + 0x88) * DAT_1824c442c; fVar18 = fVar22; if (fVar23 <= fVar22) { fVar18 = fVar23; } fVar19 = (fVar24 + fVar22) - fVar18; fVar22 = fVar22 - fVar18; lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar13 = *(float *)(lVar8 + 0x88) * DAT_1824c4478; fVar23 = fVar21; if (fVar13 <= fVar21) { fVar23 = fVar13; } fVar21 = fVar21 - fVar23; local_188 = SUB84((double)fVar18 + dVar7,0); FUN_18134bfe0(*(undefined8 *)(param_1 + 0x108),(ulonglong)dVar6 & 0xffffffff, (ulonglong)((double)fVar19 + dVar7) & 0xffffffff, (ulonglong)((double)fVar23 + dVar7) & 0xffffffff,local_188); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar16 = *(float *)(lVar8 + 0x88) * DAT_1824c43d8; fVar13 = fVar21; if (fVar16 <= fVar21) { fVar13 = fVar16; } lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar16 = (float)((uint)(*(float *)(lVar8 + 0x88) * DAT_1824c4334) ^ DAT_1824c4f30); fVar21 = fVar16 * DAT_1824c41e0 + (fVar21 - fVar13); if (fVar21 <= 0.0) { fVar21 = 0.0; } fVar18 = fVar16 * DAT_1824c41e0 + fVar18; if (fVar18 <= 0.0) { fVar18 = 0.0; } local_168 = SUB84((double)fVar18 + dVar7,0); FUN_18134bfe0(*(undefined8 *)(param_1 + 0xcf0), (double)((fVar20 + fVar23 + fVar13) - fVar16) + dVar7, (ulonglong)((double)(fVar19 - fVar16) + dVar7) & 0xffffffff, (ulonglong)((double)fVar21 + dVar7) & 0xffffffff,local_168); fVar21 = fVar22; if (fVar17 * DAT_1824c3d8c <= fVar22) { fVar21 = fVar17 * DAT_1824c3d8c; } fVar22 = fVar22 - fVar21; lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar17 = *(float *)(lVar8 + 0x88) * DAT_1824c442c; fVar21 = fVar22; if (fVar17 <= fVar22) { fVar21 = fVar17; } local_f8 = (double)((fVar24 + fVar22) - fVar21) + dVar7; local_148 = (double)fVar21 + dVar7; local_150 = dVar5; FUN_18134bfe0(*(undefined8 *)(param_1 + 0xf8),(ulonglong)dVar6 & 0xffffffff, (ulonglong)local_f8 & 0xffffffff,(ulonglong)dVar5 & 0xffffffff,local_148._0_4_); } return; } ############ FUN_ 1814cec60 size=562 ############ void FUN_1814cec60(longlong param_1) { longlong *plVar1; int iVar2; longlong lVar3; float fVar4; float fVar5; float fVar6; float fVar7; undefined4 uVar8; float fVar9; undefined4 local_res20; plVar1 = (longlong *)(param_1 + 0xb0); iVar2 = *(int *)(param_1 + 0x2c); fVar9 = (float)*(int *)(param_1 + 0x28); lVar3 = (**(code **)(*plVar1 + 8))(plVar1); fVar4 = *(float *)(lVar3 + 0x88) * DAT_1824c43a8; fVar7 = fVar9; if (fVar4 <= fVar9) { fVar7 = fVar4; } fVar9 = fVar9 - fVar7; lVar3 = (**(code **)(*plVar1 + 8))(plVar1); fVar5 = *(float *)(lVar3 + 0x88) * DAT_1824c43e8; fVar4 = fVar9; if (fVar5 <= fVar9) { fVar4 = fVar5; } fVar9 = fVar9 - fVar4; *(float *)(param_1 + 0x3b0) = fVar7 + 0.0; *(undefined4 *)(param_1 + 0x3b4) = 0; *(float *)(param_1 + 0x3b8) = fVar4; *(float *)(param_1 + 0x3bc) = (float)iVar2; lVar3 = (**(code **)(*plVar1 + 8))(plVar1); fVar6 = *(float *)(lVar3 + 0x88) * DAT_1824c440c; fVar5 = fVar9; if (fVar6 <= fVar9) { fVar5 = fVar6; } fVar9 = fVar9 - fVar5; FUN_180576b40(param_1 + 0x3c0,param_1 + 0x3b0,0x24); local_res20 = SUB84((double)*(int *)(param_1 + 0x29c) + DAT_1824c4520,0); FUN_18134bfe0(param_1 + 0x270, (double)((fVar9 - fVar9) * DAT_1824c3d8c + fVar7 + 0.0 + fVar4 + fVar5) + DAT_1824c4520, (ulonglong) ((double)(((float)iVar2 - (float)*(int *)(param_1 + 0x29c)) * DAT_1824c3d8c + 0.0) + DAT_1824c4520) & 0xffffffff,(ulonglong)((double)fVar9 + DAT_1824c4520) & 0xffffffff, local_res20); uVar8 = DAT_1824c3ea4; if (*(char *)(*(longlong *)(param_1 + 200) + 0x58) != '\0') { uVar8 = DAT_1824c3db8; } FUN_181411d60(param_1 + 0xd0,"alpha",uVar8); return; } ############ FUN_ 1814d03e0 size=422 ############ void FUN_1814d03e0(longlong param_1) { longlong *plVar1; float fVar2; float fVar3; int iVar4; longlong lVar5; float fVar6; float fVar7; float fVar8; undefined4 local_res20; plVar1 = (longlong *)(param_1 + 0xb0); fVar6 = *(float *)(param_1 + 0xf4); lVar5 = (**(code **)(*plVar1 + 8))(plVar1); fVar8 = *(float *)(param_1 + 0xf0); fVar6 = fVar6 * *(float *)(lVar5 + 0x88); fVar2 = *(float *)(param_1 + 0x3e0); lVar5 = (**(code **)(*plVar1 + 8))(plVar1); fVar7 = fVar6 * fVar2 * DAT_1824c41e0; fVar8 = fVar8 * *(float *)(lVar5 + 0x88); *(float *)(param_1 + 0x220) = fVar6; *(float *)(param_1 + 500) = fVar8 - fVar7; (**(code **)(*(longlong *)(param_1 + 0xf8) + 0x160))(); iVar4 = *(int *)(param_1 + 0x124); fVar6 = *(float *)(param_1 + 0xe8); lVar5 = (**(code **)(*plVar1 + 8))(plVar1); fVar2 = *(float *)(param_1 + 0xec); fVar3 = *(float *)(lVar5 + 0x88); lVar5 = (**(code **)(*plVar1 + 8))(plVar1); local_res20 = SUB84((double)((float)iVar4 + fVar7) + DAT_1824c4520,0); FUN_18134bfe0(param_1,(ulonglong)((double)(fVar6 * fVar3) + DAT_1824c4520) & 0xffffffff, (ulonglong)((double)(fVar2 * *(float *)(lVar5 + 0x88)) + DAT_1824c4520) & 0xffffffff ,(ulonglong)((double)fVar8 + DAT_1824c4520) & 0xffffffff,local_res20); FUN_181344f60(param_1,0); return; } ############ FUN_ 1814d05c0 size=299 ############ void FUN_1814d05c0(longlong param_1) { longlong lVar1; float fVar2; float fVar3; float fVar4; undefined4 local_res20; fVar2 = *(float *)(param_1 + 0xf4); lVar1 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); fVar3 = (float)((uint)(fVar2 * *(float *)(lVar1 + 0x88) * *(float *)(param_1 + 0x3e0)) ^ DAT_1824c4f30); fVar2 = fVar3 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x28); if (fVar2 <= 0.0) { fVar2 = 0.0; } fVar4 = fVar3 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x2c); if (fVar4 <= 0.0) { fVar4 = 0.0; } local_res20 = SUB84((double)fVar4 + DAT_1824c4520,0); FUN_18134bfe0(param_1 + 0xf8,(double)(0.0 - fVar3) + DAT_1824c4520, (ulonglong)((double)(0.0 - fVar3) + DAT_1824c4520) & 0xffffffff, (ulonglong)((double)fVar2 + DAT_1824c4520) & 0xffffffff,local_res20); return; } ############ FUN_ 1814dba40 size=279 ############ void FUN_1814dba40(longlong param_1) { byte bVar1; byte *pbVar2; int iVar3; undefined4 local_res8 [2]; undefined1 *local_40; undefined4 local_38; undefined4 local_34; undefined8 local_30; void *local_28; undefined8 local_20; local_40 = &DAT_1821dbf98; local_38 = 0; local_34 = 1; local_30 = 1; iVar3 = 0; local_28 = (void *)0x0; local_20 = 0; local_res8[0] = *(undefined4 *)(param_1 + 0xf8); FUN_181232d30(&local_40,param_1 + 200); pbVar2 = *(byte **)(param_1 + 200); LAB_1814dbab0: do { bVar1 = *pbVar2; pbVar2 = pbVar2 + 1; if ((char)bVar1 < '\0') { if ((*pbVar2 & 0xc0) == 0x80) { do { pbVar2 = pbVar2 + 1; } while ((*pbVar2 & 0xc0) == 0x80); iVar3 = iVar3 + 1; goto LAB_1814dbab0; } } else if (bVar1 == 0) { FUN_1812554b0(&local_28,iVar3,param_1 + 0xf0,local_res8); FUN_18124e420(param_1 + 0xd0,&local_40,*(undefined4 *)(param_1 + 0xfc),DAT_1824c4610); FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24), (int)*(float *)(param_1 + 0xe0),(int)*(float *)(param_1 + 0xe4)); FUN_1804aed10(&local_28); /* WARNING: Subroutine does not return */ free(local_28); } iVar3 = iVar3 + 1; } while( true ); } ############ FUN_ 1814e2910 size=1297 ############ /* WARNING: Removing unreachable block (ram,0x0001814e2969) */ /* WARNING: Removing unreachable block (ram,0x0001814e29b8) */ /* WARNING: Removing unreachable block (ram,0x0001814e2a1e) */ ulonglong FUN_1814e2910(longlong param_1) { int iVar1; undefined8 uVar2; float fVar3; float fVar4; undefined4 *puVar5; uint uVar6; uint *puVar7; int iVar8; uint uVar9; longlong lVar10; ulonglong uVar11; uint uVar12; int iVar13; float fVar14; float fVar15; float fVar16; int unaff_retaddr; undefined1 auStack_208 [32]; int local_1e8; uint local_1b0; uint local_190; uint local_18c; uint local_188 [4]; longlong local_178; undefined1 local_15c [196]; ulonglong local_98; local_98 = DAT_182615970 ^ (ulonglong)auStack_208; uVar9 = (uint)&stack0x00000000; uVar12 = ((uVar9 & 0x1aff) + 1) * (uVar9 & 0x1aff) + 0x4015 & 0x80000001; uVar6 = uVar9 & 0x23f; iVar8 = (uVar6 + 2) * (uVar6 + 1) * uVar6; local_18c = (((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e | 0xefe7U) ^ ((int)(-uVar12 | uVar12) >> 0x1f) * -0xe417; if (((ulonglong)&stack0x00000000 & 0x1d8) == 0) { uVar12 = ((uVar9 & 0x3ff) * (uVar9 & 0x3ff) * 0x10 + 4) % 0x13; } else { uVar12 = 0x8064b43; } iVar8 = *(int *)(param_1 + 0x2c); iVar1 = *(int *)(param_1 + 0x28); local_190 = ((int)(-uVar12 | uVar12) >> 0x1f) * -0x5629 ^ 0x5999; local_178 = param_1; fVar14 = (float)FUN_1814e1bd0(param_1); do { puVar7 = local_188; FUN_1814e1eb6(); *puVar7 = 0x720c1ca2; fVar4 = DAT_1824c3ea4; fVar3 = DAT_1824c3d8c; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); iVar13 = 0; uVar12 = ~(~local_188[0] + 0x887da9f) ^ 0xb42e2e0; uVar12 = ~(uVar12 << 10 | uVar12 >> 0x16) + 0xc5804bd0; local_1b0 = ~(uVar12 * 0x100 | uVar12 >> 0x18); if (*(longlong *)(param_1 + 0x168) - *(longlong *)(param_1 + 0x160) >> 3 != 0) { uVar11 = 0; lVar10 = 0; do { uVar2 = *(undefined8 *)(lVar10 + *(longlong *)(param_1 + 0x160)); fVar15 = (float)FUN_1815d34d0(uVar2,fVar14); if (*(int *)(param_1 + 0xf8) == 1) { puVar5 = (undefined4 *)FUN_180581780(param_1 + 0xe0,uVar11); fVar15 = (float)FUN_180487300(*(undefined8 *)(param_1 + 0xd8),*puVar5); local_1e8 = (int)fVar14; FUN_18134bfe0(uVar2,0,(int)((fVar4 - fVar15) * (float)iVar8 - fVar14),(int)(float)iVar1); puVar5 = (undefined4 *)FUN_18049ea60(local_15c,2); FUN_181349c00(uVar2,*puVar5); } else if (*(int *)(param_1 + 0xf8) == 0) { puVar5 = (undefined4 *)FUN_180581780(param_1 + 0xe0,uVar11); fVar16 = (float)FUN_180487300(*(undefined8 *)(param_1 + 0xd8),*puVar5); local_1e8 = (int)fVar14; FUN_18134bfe0(uVar2,(int)(fVar16 * (float)iVar1 - fVar15 * fVar3),0,(int)fVar15); } iVar13 = iVar13 + 1; lVar10 = lVar10 + 8; uVar11 = (ulonglong)iVar13; } while (uVar11 < (ulonglong) (*(longlong *)(param_1 + 0x168) - *(longlong *)(param_1 + 0x160) >> 3)); } /* WARNING: Call to offcut address within same function */ uVar11 = func_0x0001814e2d04(); return uVar11 & 0xfffffffffffffff8; } ############ FUN_ 1814fcc60 size=420 ############ void FUN_1814fcc60(longlong param_1) { int iVar1; double dVar2; int iVar3; undefined8 uVar4; longlong lVar5; uint uVar6; float fVar7; double dVar8; float fVar9; float fVar10; float fVar11; undefined4 local_res10; dVar2 = DAT_1824c4520; iVar1 = *(int *)(param_1 + 0xec); uVar6 = 0; lVar5 = 0; fVar10 = 0.0; fVar9 = (float)*(int *)(param_1 + 0x28); fVar11 = (fVar9 - (float)(int)(iVar1 - 1U) * *(float *)(param_1 + 0xf0)) / (float)iVar1; if (0 < iVar1) { local_res10 = SUB84((double)((float)*(int *)(param_1 + 0x2c) + 0.0) + DAT_1824c4520,0); iVar3 = local_res10 - SUB84(DAT_1824c4520,0); do { fVar7 = fVar9; if (fVar11 <= fVar9) { fVar7 = fVar11; } dVar8 = (double)fVar10; fVar10 = fVar10 + fVar7; fVar9 = fVar9 - fVar7; local_res10 = SUB84((double)fVar10 + dVar2,0); if (uVar6 < *(uint *)(param_1 + 0xec)) { uVar4 = *(undefined8 *)(*(longlong *)(param_1 + 0xe0) + lVar5 * 8); } else { uVar4 = 0; } FUN_18134bfe0(uVar4,(ulonglong)(dVar8 + dVar2) & 0xffffffff,(ulonglong)dVar2 & 0xffffffff, local_res10 - SUB84(dVar8 + dVar2,0),iVar3); if (uVar6 != iVar1 - 1U) { fVar7 = fVar9; if (*(float *)(param_1 + 0xf0) <= fVar9) { fVar7 = *(float *)(param_1 + 0xf0); } fVar10 = fVar10 + fVar7; fVar9 = fVar9 - fVar7; } uVar6 = uVar6 + 1; lVar5 = lVar5 + 1; } while (lVar5 < iVar1); } FUN_1814fc2f0(param_1); return; } ############ FUN_ 1814fd200 size=272 ############ void FUN_1814fd200(longlong param_1) { code *pcVar1; longlong lVar2; if (*(float *)(param_1 + 0x2b4) != 0.0) { lVar2 = (**(code **)(*(longlong *)(param_1 + 0x1c8) + 8))(); *(float *)(*(longlong *)(param_1 + 0x2a0) + 0xec) = *(float *)(lVar2 + 0x88) * DAT_1824c41e0; } pcVar1 = *(code **)(*(longlong *)(param_1 + 0x1c8) + 8); if (pcVar1 == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } } else { (*pcVar1)(); } FUN_1813ea700(*(undefined8 *)(param_1 + 0x2a0),*(undefined4 *)(param_1 + 0x2b8)); FUN_18134bfe0(*(undefined8 *)(param_1 + 0x2a0),0,0,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); FUN_18134bfe0(*(undefined8 *)(param_1 + 0x2a8),0,0,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1815d8700 size=842 ############ void FUN_1815d8700(longlong param_1,longlong param_2) { int *piVar1; longlong *plVar2; uint uVar3; byte bVar4; int iVar5; longlong lVar6; undefined8 *puVar7; longlong *plVar8; undefined8 uVar9; uint *_Memory; byte *pbVar10; int iVar11; float fVar12; float fVar13; float fVar14; float fVar15; undefined8 *local_res8; float local_res10; float local_res14; longlong local_res18; double local_res20; undefined4 local_b8; undefined4 local_a8; float local_98; float local_94; float local_90; float local_8c; undefined4 local_88; undefined4 uStack_84; undefined4 local_80; undefined4 uStack_7c; plVar2 = (longlong *)(param_1 + 0x208); lVar6 = (**(code **)(*plVar2 + 8))(plVar2); fVar15 = *(float *)(lVar6 + 0x88) * DAT_1824c4414; fVar12 = *(float *)(param_1 + 0x248); if ((undefined **)*plVar2 == InlineTooltip::vftable) { if (*(longlong *)(param_1 + 0x210) == 0) { FUN_1805849b0(param_1); } uVar9 = *(undefined8 *)(param_1 + 0x210); } else { uVar9 = (*(code *)((undefined **)*plVar2)[1])(plVar2); } FUN_1813f2500(uVar9,&local_res8,fVar15 * fVar12); lVar6 = (**(code **)(*plVar2 + 8))(plVar2); fVar14 = *(float *)(lVar6 + 0x88) * DAT_1824c43a8; puVar7 = (undefined8 *)FUN_1812ea010(param_1,&local_res18); plVar8 = (longlong *)FUN_181252280(&local_res8); fVar12 = (float)(**(code **)(*plVar8 + 0x28))(plVar8,puVar7); if (*(float *)(local_res8 + 6) != 0.0) { pbVar10 = (byte *)*puVar7; iVar11 = 0; while( true ) { while( true ) { bVar4 = *pbVar10; pbVar10 = pbVar10 + 1; if (-1 < (char)bVar4) break; if ((*pbVar10 & 0xc0) != 0x80) goto LAB_1815d8828; do { pbVar10 = pbVar10 + 1; } while ((*pbVar10 & 0xc0) == 0x80); iVar11 = iVar11 + 1; } if (bVar4 == 0) break; LAB_1815d8828: iVar11 = iVar11 + 1; } fVar12 = fVar12 + (float)iVar11 * *(float *)(local_res8 + 6); } fVar12 = ceilf(fVar12 * *(float *)(local_res8 + 5) * *(float *)((longlong)local_res8 + 0x2c)); fVar14 = (float)(int)fVar12 + fVar14; _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134bfe0(param_1,*(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),(int)fVar14, (int)fVar15); FUN_18051dc40(&local_res10,*(undefined8 *)(param_1 + 0x4a8),param_2,0); iVar11 = *(int *)(param_2 + 0x28); fVar13 = fVar14 * DAT_1824c3d8c; fVar12 = *(float *)(param_1 + 0x650); iVar5 = *(int *)(param_2 + 0x2c); lVar6 = (**(code **)(*plVar2 + 8))(plVar2); local_94 = (float)iVar5 + local_res14 + *(float *)(lVar6 + 0x88) * DAT_1824c4334 + *(float *)(param_1 + 0x654); local_98 = (((float)(iVar11 / 2) + local_res10) - fVar13) + fVar12; local_90 = fVar14; local_8c = fVar15; lVar6 = (**(code **)(*plVar2 + 8))(plVar2); FUN_1815af520(param_1 + 0x4a0,param_2,*(undefined8 *)(param_1 + 0x4a8),&local_98, *(float *)(lVar6 + 0x88) * DAT_1824c43d8); local_res20 = (double)local_98 + DAT_1824c4520; local_88 = SUB84(local_res20,0); local_b8 = SUB84((double)local_94 + DAT_1824c4520,0); uStack_84 = local_b8; local_80 = SUB84((double)local_90 + DAT_1824c4520,0); local_a8 = SUB84((double)local_8c + DAT_1824c4520,0); uStack_7c = local_a8; FUN_18134bfe0(param_1,(ulonglong)local_res20 & 0xffffffff, (ulonglong)((double)local_94 + DAT_1824c4520) & 0xffffffff, (ulonglong)((double)local_90 + DAT_1824c4520) & 0xffffffff,local_a8); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar11 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar11 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1815e4290 size=184 ############ void FUN_1815e4290(longlong param_1) { undefined8 uVar1; longlong *plVar2; int iVar3; int iVar4; undefined8 local_res8; if (*(longlong *)(param_1 + 200) != 0) { uVar1 = *(undefined8 *)(*(longlong *)(param_1 + 200) + 0x20); iVar4 = (int)uVar1 - (int)*(undefined8 *)(param_1 + 0xd8); iVar3 = (int)((ulonglong)uVar1 >> 0x20) - (int)((ulonglong)*(undefined8 *)(param_1 + 0xd8) >> 0x20); if (*(longlong *)(param_1 + 0x198) != 0) { plVar2 = *(longlong **)(param_1 + 0x198); if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar2 + 0x10))(plVar2,&local_res8); iVar4 = iVar4 + (int)local_res8; iVar3 = iVar3 + (int)((ulonglong)local_res8 >> 0x20); } uVar1 = *(undefined8 *)(param_1 + 0x20); local_res8._4_4_ = (int)((ulonglong)uVar1 >> 0x20); iVar3 = local_res8._4_4_ + iVar3; local_res8 = uVar1; FUN_18134bfe0(param_1,iVar4 + (int)uVar1,iVar3,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); *(undefined8 *)(param_1 + 0xd8) = *(undefined8 *)(*(longlong *)(param_1 + 200) + 0x20); } return; } ############ FUN_ 1812cf790 size=220 ############ void FUN_1812cf790(longlong param_1) { int *piVar1; int iVar2; undefined8 *puVar3; longlong *plVar4; undefined4 uVar5; longlong *plVar6; longlong lVar7; if (*(char *)(param_1 + 0xe0) == '\0') { lVar7 = 0; if (*(longlong *)(param_1 + 0xd0) != 0) { lVar7 = *(longlong *)(*(longlong *)(param_1 + 0xd0) + 0x10); } plVar4 = *(longlong **)(param_1 + 0x40); for (plVar6 = plVar4; plVar6 != plVar4 + *(int *)(param_1 + 0x4c); plVar6 = plVar6 + 1) { if (lVar7 == *plVar6) { uVar5 = (undefined4)((longlong)plVar6 - (longlong)plVar4 >> 3); goto LAB_1812cf810; } } uVar5 = 0xffffffff; LAB_1812cf810: FUN_181343a90(param_1,uVar5,1); puVar3 = *(undefined8 **)(param_1 + 0xd0); *(undefined8 *)(param_1 + 0xd0) = 0; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } } else if ((*(longlong *)(param_1 + 0xd0) != 0) && (puVar3 = *(undefined8 **)(*(longlong *)(param_1 + 0xd0) + 0x10), puVar3 != (undefined8 *)0x0)) { /* WARNING: Could not recover jumptable at 0x0001812cf7cc. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)*puVar3)(puVar3,1); return; } return; } ############ FUN_ 181332610 size=127 ############ void FUN_181332610(undefined8 *param_1) { int iVar1; undefined8 *puVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; *param_1 = juce::DrawableComposite::vftable; iVar1 = *(int *)((longlong)param_1 + 0x4c); while (iVar1 != 0) { puVar2 = (undefined8 *)FUN_181343a90(param_1,iVar1 + -1,1,1,uVar3); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } iVar1 = *(int *)((longlong)param_1 + 0x4c); } *param_1 = juce::Drawable::vftable; puVar2 = (undefined8 *)param_1[0x17]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } FUN_18134caa0(param_1); return; } ############ FUN_ 1813185d0 size=529 ############ void FUN_1813185d0(longlong param_1) { int *piVar1; undefined8 *puVar2; longlong lVar3; char cVar4; int iVar5; longlong *plVar6; undefined4 uVar7; longlong *plVar8; undefined8 *puVar9; longlong lVar10; lVar10 = *(longlong *)(param_1 + 200); plVar6 = (longlong *)0x0; if ((lVar10 != 0) && (*(longlong *)(lVar10 + 0x10) != 0)) { plVar8 = plVar6; if (lVar10 != 0) { plVar8 = *(longlong **)(lVar10 + 0x10); } (**(code **)(*plVar8 + 0x58))(plVar8,0); if (*(longlong *)(param_1 + 200) != 0) { plVar6 = *(longlong **)(*(longlong *)(param_1 + 200) + 0x10); } puVar2 = *(undefined8 **)(param_1 + 0x40); for (puVar9 = puVar2; puVar9 != puVar2 + *(int *)(param_1 + 0x4c); puVar9 = puVar9 + 1) { if (plVar6 == (longlong *)*puVar9) { uVar7 = (undefined4)((longlong)puVar9 - (longlong)puVar2 >> 3); goto LAB_181318659; } } uVar7 = 0xffffffff; LAB_181318659: FUN_181343a90(param_1,uVar7,1); puVar2 = *(undefined8 **)(param_1 + 200); *(undefined8 *)(param_1 + 200) = 0; if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*puVar2)(puVar2,1); } } } lVar10 = *(longlong *)(param_1 + 0xb0); FUN_18051cc20(lVar10 + 0xe8); if (*(int *)(lVar10 + 0xf0) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar10 + 0xe8)); } *(undefined4 *)(lVar10 + 0xf0) = 0; puVar2 = *(undefined8 **)(lVar10 + 0x118); *(undefined8 *)(lVar10 + 0x118) = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } FUN_181319980(lVar10,0xffffffff); iVar5 = *(int *)(param_1 + 0xc4) + -1; lVar10 = (longlong)iVar5; if (-1 < iVar5) { do { lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xb8) + lVar10 * 8); if ((lVar3 != 0) && (puVar2 = *(undefined8 **)(lVar3 + 0x10), puVar2 != (undefined8 *)0x0)) { plVar6 = (longlong *)puVar2[0x12]; plVar8 = plVar6 + (longlong)*(int *)((longlong)puVar2 + 0x9c) * 3; for (; plVar6 != plVar8; plVar6 = plVar6 + 3) { if (*plVar6 == DAT_182673af0) { plVar6 = plVar6 + 1; if (plVar6 != (longlong *)0x0) goto LAB_18131878a; break; } } plVar6 = (longlong *)FUN_181244160(); LAB_18131878a: cVar4 = (**(code **)(*(longlong *)*plVar6 + 0x28))((longlong *)*plVar6,plVar6 + 1); if (cVar4 != '\0') { (**(code **)*puVar2)(puVar2,1); } } lVar10 = lVar10 + -1; } while (-1 < lVar10); } FUN_18051cab0((undefined8 *)(param_1 + 0xb8)); if (*(int *)(param_1 + 0xc0) == 0) { *(undefined4 *)(param_1 + 0xc0) = 0; return; } /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0xb8)); } ############ FUN_ 1814c5ed0 size=658 ############ void FUN_1814c5ed0(undefined8 *param_1) { uint uVar1; longlong *plVar2; undefined8 *puVar3; undefined4 uVar4; longlong *plVar5; uint *puVar6; longlong lVar7; longlong local_res8; undefined8 uVar8; uVar8 = 0xfffffffffffffffe; *param_1 = CloudyTutorialPanel::vftable; param_1[0x16] = CloudyTutorialPanel::vftable; param_1[0x19] = CloudyTutorialPanel::vftable; param_1[0x1a] = CloudyTutorialPanel::vftable; FUN_1814c6df0(param_1[0x22]); lVar7 = param_1[0x20]; plVar2 = *(longlong **)(lVar7 + 0x40); for (plVar5 = plVar2; plVar5 != plVar2 + *(int *)(lVar7 + 0x4c); plVar5 = plVar5 + 1) { if (param_1[0xa4] == *plVar5) { uVar4 = (undefined4)((longlong)plVar5 - (longlong)plVar2 >> 3); goto LAB_1814c5f74; } } uVar4 = 0xffffffff; LAB_1814c5f74: FUN_181343a90(lVar7,uVar4,1,CONCAT71((int7)((ulonglong)plVar2 >> 8),1),uVar8); lVar7 = param_1[0x20]; plVar2 = *(longlong **)(lVar7 + 0x40); plVar5 = plVar2; do { if (plVar5 == plVar2 + *(int *)(lVar7 + 0x4c)) { uVar4 = 0xffffffff; LAB_1814c5fc4: FUN_181343a90(lVar7,uVar4,1,CONCAT71((int7)((ulonglong)plVar2 >> 8),1),uVar8); uVar8 = (**(code **)(param_1[0x26] + 0x10))(param_1 + 0x26,&local_res8); FUN_1811e1f10(uVar8,param_1 + 0x19); puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (param_1[0x22] == 0) { lVar7 = 0; } else { lVar7 = param_1[0x22] + 0xd0; } FUN_18133e200(param_1[0x20],lVar7); puVar3 = (undefined8 *)param_1[0xa5]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } puVar3 = (undefined8 *)param_1[0xa4]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } FUN_180576bb0(param_1 + 0x6e); FUN_180577740(param_1 + 0x27); param_1[0x26] = ConfigOption::vftable; FUN_180485f00(param_1 + 0x23); puVar3 = (undefined8 *)param_1[0x22]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } puVar3 = (undefined8 *)param_1[0x21]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } puVar6 = (uint *)(param_1[0x1f] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(param_1[0x1d] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } param_1[0x19] = ConfigOptionListener::vftable; FUN_18134caa0(param_1); return; } if (param_1[0xa5] == *plVar5) { uVar4 = (undefined4)((longlong)plVar5 - (longlong)plVar2 >> 3); goto LAB_1814c5fc4; } plVar5 = plVar5 + 1; } while( true ); } ############ FUN_ 1814c65c0 size=546 ############ void FUN_1814c65c0(longlong param_1) { ulonglong *puVar1; ulonglong *puVar2; char cVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; longlong lVar7; longlong *plVar8; undefined8 *puVar9; undefined4 uVar10; longlong *plVar11; longlong *plVar12; ulonglong uVar13; ulonglong uVar14; ulonglong uVar15; puVar4 = *(undefined8 **)(param_1 + 0xd08); puVar5 = (undefined8 *)*puVar4; while (puVar5 != puVar4) { (**(code **)(*(longlong *)puVar5[4] + 0x58))((longlong *)puVar5[4],*(undefined1 *)(puVar5 + 5)); puVar6 = (undefined8 *)puVar5[2]; if (*(char *)((longlong)puVar6 + 0x19) == '\0') { cVar3 = *(char *)((longlong)*puVar6 + 0x19); puVar5 = puVar6; puVar6 = (undefined8 *)*puVar6; while (cVar3 == '\0') { cVar3 = *(char *)((longlong)*puVar6 + 0x19); puVar5 = puVar6; puVar6 = (undefined8 *)*puVar6; } } else { cVar3 = *(char *)((longlong)puVar5[1] + 0x19); puVar9 = (undefined8 *)puVar5[1]; puVar6 = puVar5; while ((puVar5 = puVar9, cVar3 == '\0' && (puVar6 == (undefined8 *)puVar5[2]))) { cVar3 = *(char *)((longlong)puVar5[1] + 0x19); puVar9 = (undefined8 *)puVar5[1]; puVar6 = puVar5; } } } uVar14 = 0; puVar1 = (ulonglong *)(param_1 + 0xd18); plVar12 = (longlong *)*puVar1; uVar13 = (ulonglong)((longlong)(plVar12 + *(int *)(param_1 + 0xd24)) + (7 - (longlong)plVar12)) >> 3; if (plVar12 + *(int *)(param_1 + 0xd24) < plVar12) { uVar13 = uVar14; } uVar15 = uVar14; if (uVar13 != 0) { do { lVar7 = *(longlong *)(param_1 + 0x130); plVar8 = *(longlong **)(lVar7 + 0x40); for (plVar11 = plVar8; plVar11 != plVar8 + *(int *)(lVar7 + 0x4c); plVar11 = plVar11 + 1) { if (*plVar12 == *plVar11) { uVar10 = (undefined4)((longlong)plVar11 - (longlong)plVar8 >> 3); goto LAB_1814c66c7; } } uVar10 = 0xffffffff; LAB_1814c66c7: FUN_181343a90(lVar7,uVar10,1); plVar12 = plVar12 + 1; uVar15 = uVar15 + 1; } while (uVar15 != uVar13); } puVar2 = (ulonglong *)(param_1 + 0xcf8); plVar12 = (longlong *)*puVar2; uVar13 = (ulonglong)((longlong)(plVar12 + *(int *)(param_1 + 0xd04)) + (7 - (longlong)plVar12)) >> 3; if (plVar12 + *(int *)(param_1 + 0xd04) < plVar12) { uVar13 = uVar14; } if (uVar13 != 0) { do { plVar8 = *(longlong **)(param_1 + 0x40); for (plVar11 = plVar8; plVar11 != plVar8 + *(int *)(param_1 + 0x4c); plVar11 = plVar11 + 1) { if (*plVar12 == *plVar11) { uVar10 = (undefined4)((longlong)plVar11 - (longlong)plVar8 >> 3); goto LAB_1814c674e; } } uVar10 = 0xffffffff; LAB_1814c674e: FUN_181343a90(param_1,uVar10,1); plVar12 = plVar12 + 1; uVar14 = uVar14 + 1; } while (uVar14 != uVar13); } FUN_18047c710(param_1 + 0xd08); FUN_18047cbc0(puVar1); if (*(int *)(param_1 + 0xd20) != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar1); } *(undefined4 *)(param_1 + 0xd20) = 0; FUN_18047cbc0(puVar2); if (*(int *)(param_1 + 0xd00) == 0) { *(undefined4 *)(param_1 + 0xd00) = 0; return; } /* WARNING: Subroutine does not return */ free((void *)*puVar2); } ############ FUN_ 180587b80 size=228 ############ void FUN_180587b80(longlong param_1) { longlong lVar1; longlong lVar2; longlong *plVar3; undefined4 uVar4; longlong *plVar5; lVar1 = *(longlong *)(param_1 + 8); if ((float)(int)(0xff - (uint)*(byte *)(lVar1 + 0xac)) / DAT_1824c4548 < DAT_1824c3c70) { return; } lVar2 = *(longlong *)(lVar1 + 0xd0); plVar3 = *(longlong **)(lVar2 + 0x40); for (plVar5 = plVar3; plVar5 != plVar3 + *(int *)(lVar2 + 0x4c); plVar5 = plVar5 + 1) { if (*(longlong *)(lVar1 + 0x2d8) == *plVar5) { uVar4 = (undefined4)((longlong)plVar5 - (longlong)plVar3 >> 3); goto LAB_180587bf3; } } uVar4 = 0xffffffff; LAB_180587bf3: FUN_181343a90(lVar2,uVar4,1); lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + 0xd0); plVar3 = *(longlong **)(lVar1 + 0x40); plVar5 = plVar3; do { if (plVar5 == plVar3 + *(int *)(lVar1 + 0x4c)) { uVar4 = 0xffffffff; LAB_180587c36: FUN_181343a90(lVar1,uVar4,1); return; } if (*(longlong *)(param_1 + 8) == *plVar5) { uVar4 = (undefined4)((longlong)plVar5 - (longlong)plVar3 >> 3); goto LAB_180587c36; } plVar5 = plVar5 + 1; } while( true ); } ############ FUN_ 180587c70 size=228 ############ void FUN_180587c70(longlong param_1) { longlong lVar1; longlong lVar2; longlong *plVar3; undefined4 uVar4; longlong *plVar5; lVar1 = *(longlong *)(param_1 + 8); if (DAT_1824c3c70 <= (float)(int)(0xff - (uint)*(byte *)(lVar1 + 0xac)) / DAT_1824c4548) { return; } lVar2 = *(longlong *)(lVar1 + 0xd0); plVar3 = *(longlong **)(lVar2 + 0x40); for (plVar5 = plVar3; plVar5 != plVar3 + *(int *)(lVar2 + 0x4c); plVar5 = plVar5 + 1) { if (*(longlong *)(lVar1 + 0x2d8) == *plVar5) { uVar4 = (undefined4)((longlong)plVar5 - (longlong)plVar3 >> 3); goto LAB_180587ce3; } } uVar4 = 0xffffffff; LAB_180587ce3: FUN_181343a90(lVar2,uVar4,1); lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + 0xd0); plVar3 = *(longlong **)(lVar1 + 0x40); plVar5 = plVar3; do { if (plVar5 == plVar3 + *(int *)(lVar1 + 0x4c)) { uVar4 = 0xffffffff; LAB_180587d26: FUN_181343a90(lVar1,uVar4,1); return; } if (*(longlong *)(param_1 + 8) == *plVar5) { uVar4 = (undefined4)((longlong)plVar5 - (longlong)plVar3 >> 3); goto LAB_180587d26; } plVar5 = plVar5 + 1; } while( true ); } ############ FUN_ 1812d97b0 size=215 ############ void FUN_1812d97b0(longlong param_1,longlong param_2) { longlong lVar1; longlong *plVar2; undefined4 uVar3; longlong lVar4; longlong *plVar5; undefined8 uVar6; longlong lVar7; uVar6 = 0; if (*(longlong *)(param_2 + 0x10) != 0) { uVar6 = *(undefined8 *)(*(longlong *)(param_2 + 0x10) + 0x10); } lVar4 = __RTDynamicCast(uVar6,0,&juce::Component::RTTI_Type_Descriptor, &juce::ToolbarItemComponent::RTTI_Type_Descriptor,0); if (lVar4 != 0) { lVar1 = param_1 + -200; lVar7 = lVar4; while (lVar7 = *(longlong *)(lVar7 + 0x18), lVar7 != lVar1) { if (lVar7 == 0) { return; } } FUN_18051b040(param_1 + 0x18,lVar4); plVar2 = *(longlong **)(param_1 + -0x88); for (plVar5 = plVar2; plVar5 != plVar2 + *(int *)(param_1 + -0x7c); plVar5 = plVar5 + 1) { if (lVar4 == *plVar5) { uVar3 = (undefined4)((longlong)plVar5 - (longlong)plVar2 >> 3); goto LAB_1812d9853; } } uVar3 = 0xffffffff; LAB_1812d9853: FUN_181343a90(lVar1,uVar3,1); FUN_1812da170(lVar1,1); } return; } ############ FUN_ 181333290 size=224 ############ void FUN_181333290(longlong *param_1) { longlong *plVar1; char cVar2; undefined4 uVar3; longlong *plVar4; longlong lVar5; if ((int)param_1[0x3a] == 2) { lVar5 = 0; } else { cVar2 = FUN_1804d6ee0(); if ((cVar2 == '\0') || (lVar5 = param_1[0x41], lVar5 == 0)) { lVar5 = param_1[0x40]; } } if (lVar5 != param_1[0x42]) { plVar1 = (longlong *)param_1[8]; for (plVar4 = plVar1; plVar4 != plVar1 + *(int *)((longlong)param_1 + 0x4c); plVar4 = plVar4 + 1 ) { if (param_1[0x42] == *plVar4) { uVar3 = (undefined4)((longlong)plVar4 - (longlong)plVar1 >> 3); goto LAB_181333303; } } uVar3 = 0xffffffff; LAB_181333303: FUN_181343a90(param_1,uVar3,1); param_1[0x42] = lVar5; if (lVar5 != 0) { (**(code **)(*param_1 + 0xb0))(param_1); plVar1 = (longlong *)param_1[0x42]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); } FUN_181333460(param_1); } } return; } ############ FUN_ 181333560 size=180 ############ void FUN_181333560(longlong *param_1,longlong param_2) { longlong *plVar1; undefined4 uVar2; longlong *plVar3; if (param_2 != param_1[0x42]) { plVar1 = (longlong *)param_1[8]; for (plVar3 = plVar1; plVar3 != plVar1 + *(int *)((longlong)param_1 + 0x4c); plVar3 = plVar3 + 1 ) { if (param_1[0x42] == *plVar3) { uVar2 = (undefined4)((longlong)plVar3 - (longlong)plVar1 >> 3); goto LAB_1813335a7; } } uVar2 = 0xffffffff; LAB_1813335a7: FUN_181343a90(param_1,uVar2,1); param_1[0x42] = param_2; if (param_2 != 0) { (**(code **)(*param_1 + 0xb0))(param_1); plVar1 = (longlong *)param_1[0x42]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); } FUN_181333460(param_1); } } return; } ############ FUN_ 181343a00 size=66 ############ void FUN_181343a00(longlong param_1) { int iVar1; undefined8 *puVar2; iVar1 = *(int *)(param_1 + 0x4c); while (iVar1 != 0) { puVar2 = (undefined8 *)FUN_181343a90(param_1,iVar1 + -1,1); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } iVar1 = *(int *)(param_1 + 0x4c); } return; } ############ FUN_ 181343a50 size=47 ############ void FUN_181343a50(longlong param_1) { int iVar1; iVar1 = *(int *)(param_1 + 0x4c); while (iVar1 != 0) { FUN_181343a90(param_1,iVar1 + -1,1); iVar1 = *(int *)(param_1 + 0x4c); } return; } ############ FUN_ 181343c70 size=74 ############ void FUN_181343c70(longlong param_1,longlong param_2) { longlong *plVar1; longlong *plVar2; plVar1 = *(longlong **)(param_1 + 0x40); plVar2 = plVar1; while( true ) { if (plVar2 == plVar1 + *(int *)(param_1 + 0x4c)) { FUN_181343a90(param_1,0xffffffff,1); return; } if (param_2 == *plVar2) break; plVar2 = plVar2 + 1; } FUN_181343a90(param_1,(longlong)plVar2 - (longlong)plVar1 >> 3 & 0xffffffff,1); return; } ############ FUN_ 180587dc0 size=152 ############ void FUN_180587dc0(longlong param_1) { longlong *plVar1; longlong lVar2; undefined4 uVar3; longlong *plVar4; plVar1 = *(longlong **)(param_1 + 8); if ((float)(int)(0xff - (uint)*(byte *)((longlong)plVar1 + 0xac)) / DAT_1824c4548 != 0.0) { return; } (**(code **)(*plVar1 + 0x58))(plVar1,0); lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + 0xd0); plVar1 = *(longlong **)(lVar2 + 0x40); plVar4 = plVar1; do { if (plVar4 == plVar1 + *(int *)(lVar2 + 0x4c)) { uVar3 = 0xffffffff; LAB_180587e33: FUN_181343a90(lVar2,uVar3,1); return; } if (*(longlong *)(param_1 + 8) == *plVar4) { uVar3 = (undefined4)((longlong)plVar4 - (longlong)plVar1 >> 3); goto LAB_180587e33; } plVar4 = plVar4 + 1; } while( true ); } ############ FUN_ 18057f750 size=126 ############ undefined4 * FUN_18057f750(longlong param_1,undefined4 *param_2) { code *pcVar1; undefined8 uVar2; undefined1 local_res8 [4]; undefined4 local_resc; pcVar1 = *(code **)(*(longlong *)(param_1 + 0xb0) + 8); if (pcVar1 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(); } uVar2 = *(undefined8 *)(param_1 + 0xb8); } else { uVar2 = (*pcVar1)(param_1 + 0xb0); } FUN_1813f22a0(uVar2,local_res8,DAT_1826741b0,param_1); *param_2 = local_resc; return param_2; } ############ FUN_ 180581960 size=317 ############ void FUN_180581960(longlong param_1,longlong param_2) { code *pcVar1; undefined8 uVar2; undefined1 local_res8 [4]; undefined4 local_resc; float local_18; float fStack_14; float fStack_10; float fStack_c; if (*(char *)(param_1 + 0x31d) != '\0') { if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),param_1 + 0x348); pcVar1 = *(code **)(*(longlong *)(param_1 + 0xb0) + 8); if (pcVar1 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar2 = *(undefined8 *)(param_1 + 0xb8); } else { uVar2 = (*pcVar1)(param_1 + 0xb0); } FUN_1813f22a0(uVar2,local_res8,DAT_182674280,param_1); FUN_181296c00(param_2,local_resc); local_18 = (float)*(int *)(param_1 + 800); fStack_14 = (float)*(int *)(param_1 + 0x324); fStack_10 = (float)*(int *)(param_1 + 0x328); fStack_c = (float)*(int *)(param_1 + 0x32c); FUN_1812963b0(param_2,param_1 + 8,&local_18,*(undefined4 *)(param_1 + 0x340),1); } return; } ############ FUN_ 180582800 size=317 ############ void FUN_180582800(longlong param_1,longlong param_2) { code *pcVar1; undefined8 uVar2; undefined1 local_res8 [4]; undefined4 local_resc; float local_18; float fStack_14; float fStack_10; float fStack_c; if (*(char *)(param_1 + 0x355) != '\0') { if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),param_1 + 0x380); pcVar1 = *(code **)(*(longlong *)(param_1 + 0xb0) + 8); if (pcVar1 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar2 = *(undefined8 *)(param_1 + 0xb8); } else { uVar2 = (*pcVar1)(param_1 + 0xb0); } FUN_1813f22a0(uVar2,local_res8,DAT_182674280,param_1); FUN_181296c00(param_2,local_resc); local_18 = (float)*(int *)(param_1 + 0x358); fStack_14 = (float)*(int *)(param_1 + 0x35c); fStack_10 = (float)*(int *)(param_1 + 0x360); fStack_c = (float)*(int *)(param_1 + 0x364); FUN_1812963b0(param_2,param_1 + 8,&local_18,*(undefined4 *)(param_1 + 0x378),1); } return; } ############ FUN_ 180590350 size=590 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void .?AVSoothe2SectionHeader@@::vtbl___AVSoothe2SectionHeader__ (longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined4 *puVar2; undefined4 uVar3; undefined4 uVar4; longlong *plVar5; int iVar6; float fVar7; float fVar8; undefined8 uStack_c0; undefined4 uStack_ac; float local_a8 [3]; undefined4 local_9c; undefined1 local_98; void *local_90; undefined8 local_88; FUN_181296a90(param_2,param_1 + 0x100,param_3,param_4,0xfffffffffffffffe); FUN_181295ed0(param_2,param_1 + 0xd0); if (*(char *)(param_1 + 0xf8) != '\0') { fVar7 = (float)((double)(*(float *)(param_1 + 0xe4) - *(float *)(param_1 + 0xe0)) * _DAT_1824c4170) + 0.0; fVar8 = ((float)*(int *)(param_1 + 0x28) + 0.0) - fVar7; if (fVar8 <= 0.0) { fVar8 = 0.0; } plVar5 = (longlong *)(param_1 + 0xb0); (**(code **)(*plVar5 + 8))(plVar5); fVar7 = (fVar8 - fVar8) * DAT_1824c3d8c + fVar7; if (*(code **)(*plVar5 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar5 + 8))(plVar5); } if (*(code **)(*plVar5 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar5 + 8))(plVar5); } uVar4 = DAT_1824c4140._4_4_; uVar3 = (undefined4)DAT_1824c4140; local_a8[2] = fVar7 + fVar8; local_a8[1] = 0.0; local_9c = 0; local_98 = 0; local_90 = (void *)0x0; local_88 = 0; uStack_c0 = CONCAT44(uStack_c0._4_4_,0xcc94afbf); local_a8[0] = fVar7; FUN_18049ba20(&local_90,8); iVar6 = local_88._4_4_ + 1; puVar1 = (undefined8 *)((longlong)local_90 + (longlong)local_88._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = uStack_c0; local_88 = CONCAT44(local_88._4_4_ + 2,(undefined4)local_88); puVar2 = (undefined4 *)((longlong)local_90 + (longlong)iVar6 * 0x10); *puVar2 = uVar3; puVar2[1] = uVar4; puVar2[2] = 0x9999b4c3; puVar2[3] = uStack_ac; FUN_181296970(param_2,local_a8); /* WARNING: Subroutine does not return */ free(local_90); } return; } ############ FUN_ 18059cb60 size=217 ############ void .?AVSoothe2Header@@::vtbl___AVSoothe2Header__(longlong param_1) { longlong *plVar1; longlong *plVar2; plVar2 = *(longlong **)(param_1 + 200); plVar1 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } (**(code **)(*plVar2 + 0x170))(plVar2,DAT_182492928,0xff4b4c4f); plVar2 = *(longlong **)(param_1 + 200); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } /* WARNING: Could not recover jumptable at 0x00018059cc21. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*plVar2 + 0x170))(plVar2,DAT_18262bb88,0xffe2f1fb); return; } ############ FUN_ 18059cc40 size=1423 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void .?AVSoothe2Header@@::vtbl___AVSoothe2Header__(longlong param_1,longlong param_2) { int *piVar1; uint uVar2; longlong *plVar3; double dVar4; longlong lVar5; undefined8 uVar6; longlong lVar7; longlong *plVar8; int iVar9; uint *puVar10; float fVar11; float fVar12; float fVar13; float fVar14; undefined4 local_res8; undefined4 local_res10 [2]; undefined4 local_res18; undefined4 local_res20; undefined8 *local_1c8; float local_1c0; float local_1b8; undefined8 *local_1b0; longlong local_1a8; longlong local_1a0; longlong local_198; longlong local_190; float local_188; float local_184; float local_180; float local_17c; int local_178; int iStack_174; int iStack_170; int iStack_16c; int local_168; int iStack_164; int iStack_160; int iStack_15c; undefined4 local_158; undefined1 local_150 [8]; double local_148; double local_140; double local_138; double local_130; double local_128; double local_120; double local_118; double local_110; float local_104; float local_fc; undefined8 local_f8; undefined8 local_e8; undefined8 uStack_e0; undefined8 local_d8; undefined8 uStack_d0; float local_bc; undefined1 local_b8 [16]; undefined1 local_a8 [128]; local_f8 = 0xfffffffffffffffe; local_res18 = 0; plVar8 = (longlong *)(param_1 + 0xb0); lVar5 = (**(code **)(*plVar8 + 8))(plVar8); fVar12 = *(float *)(lVar5 + 0x88); lVar5 = (**(code **)(*plVar8 + 8))(plVar8); fVar12 = fVar12 * _DAT_1824c4708; fVar11 = *(float *)(lVar5 + 0x88) * _DAT_1824c471c; local_180 = fVar11 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x28); if (local_180 <= 0.0) { local_180 = 0.0; } local_fc = fVar12 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x2c); if (local_fc <= 0.0) { local_fc = 0.0; } fVar12 = 0.0 - fVar12; fVar11 = 0.0 - fVar11; fVar13 = local_fc; if ((float)((double)local_fc * _DAT_1824c40c8) <= local_fc) { fVar13 = (float)((double)local_fc * _DAT_1824c40c8); } local_104 = fVar13 + fVar12; local_fc = local_fc - fVar13; local_bc = fVar13; lVar5 = (**(code **)(*plVar8 + 8))(plVar8); fVar14 = fVar11 + *(float *)(lVar5 + 0x88); local_1b8 = (fVar11 + local_180) - fVar14; if (local_1b8 <= 0.0) { local_1b8 = 0.0; } plVar3 = *(longlong **)(param_1 + 200); local_res10[0] = 0x24; local_188 = fVar11; local_184 = fVar12; local_17c = fVar13; uVar6 = (**(code **)(*plVar3 + 0x168))(plVar3,local_b8); FUN_1812971a0(local_res10,local_a8,uVar6,&local_188); FUN_181332c20(plVar3,param_2); if (*(code **)(*plVar8 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar6 = *(undefined8 *)(param_1 + 0xb8); } else { uVar6 = (**(code **)(*plVar8 + 8))(plVar8); } FUN_1813f22a0(uVar6,local_150,DAT_182674280,param_1); local_res8 = CONCAT13(0xb3,(int3)local_150._4_4_); FUN_181296c00(param_2,local_res8); if (*(code **)(*plVar8 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } lVar5 = *(longlong *)(param_1 + 0xb8); } else { lVar5 = (**(code **)(*plVar8 + 8))(plVar8); } lVar7 = (**(code **)(*plVar8 + 8))(plVar8); fVar12 = *(float *)(lVar7 + 0x88); local_1c8 = (undefined8 *)**(longlong **)(lVar5 + 0x68); if (local_1c8 != (undefined8 *)0x0) { LOCK(); *(int *)(local_1c8 + 1) = *(int *)(local_1c8 + 1) + 1; UNLOCK(); } local_res18 = 4; FUN_1812520a0(&local_1c8,fVar12 * DAT_1824c43f8); FUN_181251cf0(&local_1c8,&local_1b0); if (local_1c8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_1c8 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_1c8)(local_1c8,1); } } if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_1b0); if (local_1b0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_1b0 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_1b0)(local_1b0,1); } } FUN_18049c4e0(&local_1a8,"oeksound"); local_128 = DAT_1824c4520; fVar12 = local_1b8; if (local_1b8 * DAT_1824c3d8c <= local_1b8) { fVar12 = local_1b8 * DAT_1824c3d8c; } local_1c0 = fVar12 + fVar14; local_1b8 = local_1b8 - fVar12; fVar12 = local_104 + local_fc; local_130 = (double)fVar12 + DAT_1824c4520; local_138 = (double)local_1c0 + DAT_1824c4520; dVar4 = (double)local_104 + DAT_1824c4520; local_148 = (double)fVar14 + DAT_1824c4520; local_178 = SUB84(local_148,0); iVar9 = SUB84(dVar4,0); iStack_170 = local_138._0_4_ - local_178; iStack_16c = local_130._0_4_ - iVar9; local_e8 = CONCAT44(iVar9,local_178); uStack_e0 = CONCAT44(iStack_16c,iStack_170); local_res20 = 9; iStack_174 = iVar9; local_140 = dVar4; FUN_181296100(param_2,&local_1a8,&local_e8,9,1,0); puVar10 = (uint *)(local_1a8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_110 = (double)fVar12 + local_128; local_118 = (double)(local_1c0 + local_1b8) + local_128; local_128 = (double)local_1c0 + local_128; local_168 = SUB84(local_128,0); iStack_160 = local_118._0_4_ - local_168; iStack_15c = local_110._0_4_ - iVar9; local_d8 = CONCAT44(iVar9,local_168); uStack_d0 = CONCAT44(iStack_15c,iStack_160); iStack_164 = iVar9; local_120 = dVar4; FUN_18049c4e0(&local_190,"1.1.2"); FUN_18049c4e0(&local_1a0,"version "); plVar8 = (longlong *)FUN_181232d30(&local_1a0,&local_190); local_198 = *plVar8; if ((*(uint *)(local_198 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_198 + -0x10) = *(int *)(local_198 + -0x10) + 1; UNLOCK(); } puVar10 = (uint *)(local_1a0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_158 = 10; FUN_181296100(param_2,&local_198,&local_d8,10,1,0); puVar10 = (uint *)(local_198 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_190 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } return; } ############ FUN_ 18059d700 size=941 ############ void FUN_18059d700(longlong param_1,longlong param_2) { longlong *plVar1; int iVar2; undefined4 uVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; int iVar9; longlong lVar10; undefined8 uVar11; int *piVar12; undefined8 *local_res8; int local_f8 [3]; int iStack_ec; int local_e8; int iStack_e4; int iStack_e0; int iStack_dc; undefined8 local_d8; float fStack_d0; float fStack_cc; undefined4 local_c8; float local_b8; float fStack_b4; float fStack_b0; float fStack_ac; undefined8 local_98; undefined4 local_88; undefined4 uStack_84; float fStack_80; float fStack_7c; float local_78; float fStack_74; float fStack_70; float fStack_6c; undefined4 local_68; float fStack_64; float fStack_60; float fStack_5c; float local_58; float fStack_54; float fStack_50; float fStack_4c; int local_48; int iStack_44; int iStack_40; int iStack_3c; local_98 = 0xfffffffffffffffe; iVar9 = *(int *)(param_1 + 0x2c); local_f8[2] = *(int *)(param_1 + 0x28); local_f8[0] = 0; local_f8[1] = 0; iVar4 = local_f8[2] / 2; if (local_f8[2] < local_f8[2] / 2) { iVar4 = local_f8[2]; } local_e8 = local_f8[2] - iVar4; iStack_e4 = 0; local_f8[2] = local_f8[2] - iVar4; iVar2 = *(int *)(param_1 + 0x28); iStack_ec = iVar9; iStack_e0 = iVar4; iStack_dc = iVar9; iVar8 = FUN_1811ab7e0(*(undefined8 *)(param_1 + 800)); piVar12 = local_f8; if (iVar8 != 0) { piVar12 = &local_e8; } iVar8 = *piVar12; iVar5 = piVar12[1]; iVar6 = piVar12[2]; iVar7 = piVar12[3]; local_48 = iVar8; iStack_44 = iVar5; iStack_40 = iVar6; iStack_3c = iVar7; FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x34c)); fStack_cc = (float)iVar9; fStack_d0 = (float)iVar2; local_d8 = 0; local_88 = 0; uStack_84 = 0; plVar1 = (longlong *)(param_1 + 0xb0); fStack_80 = fStack_d0; fStack_7c = fStack_cc; lVar10 = (**(code **)(*plVar1 + 8))(plVar1); FUN_181295300(param_2,&local_88,*(float *)(lVar10 + 0x88) * DAT_1824c42d0); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x338)); fStack_ac = (float)iVar7; fStack_b0 = (float)iVar6; fStack_b4 = (float)iVar5; local_b8 = (float)iVar8; local_78 = local_b8; fStack_74 = fStack_b4; fStack_70 = fStack_b0; fStack_6c = fStack_ac; lVar10 = (**(code **)(*plVar1 + 8))(plVar1); FUN_181295300(param_2,&local_78,*(float *)(lVar10 + 0x88) * DAT_1824c42d0); iVar9 = FUN_1811ab7e0(*(undefined8 *)(param_1 + 800)); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar11 = *(undefined8 *)(param_1 + 0xb8); } else { uVar11 = (**(code **)(*plVar1 + 8))(plVar1); } lVar10 = (**(code **)(*plVar1 + 8))(plVar1); uVar11 = FUN_1813f2500(uVar11,&local_res8,*(float *)(lVar10 + 0x88) * DAT_1824c4408); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),uVar11); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar12 = (int *)(local_res8 + 1); iVar2 = *piVar12; *piVar12 = *piVar12 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } if (iVar9 == 0) { uVar3 = *(undefined4 *)(param_1 + 0x344); } else { uVar3 = *(undefined4 *)(param_1 + 0x348); } FUN_181296c00(param_2,uVar3); local_c8 = 0; fStack_64 = (float)SUB84(local_f8._0_8_,4); fStack_60 = (float)local_f8[2]; fStack_5c = (float)iStack_ec; local_68 = 0; FUN_1812963b0(param_2,param_1 + 0x328,&local_68,0x24,1); if (iVar9 == 0) { uVar3 = *(undefined4 *)(param_1 + 0x348); } else { uVar3 = *(undefined4 *)(param_1 + 0x344); } FUN_181296c00(param_2,uVar3); local_58 = (float)local_e8; fStack_54 = (float)iStack_e4; fStack_50 = (float)iVar4; fStack_4c = (float)iStack_dc; FUN_1812963b0(param_2,param_1 + 0x330,&local_58,0x24,1); return; } ############ FUN_ 18059dab0 size=396 ############ void FUN_18059dab0(longlong param_1) { longlong *plVar1; undefined4 *puVar2; undefined4 local_res8; undefined1 local_res10 [8]; plVar1 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } local_res8 = CONCAT13(0xff,(int3)DAT_18262bb88); *(undefined4 *)(param_1 + 0x338) = local_res8; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } local_res8 = 0xffa7bcc8; *(undefined4 *)(param_1 + 0x340) = 0xffa7bcc8; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } local_res8 = 0xffa7bcc8; puVar2 = (undefined4 *)FUN_1812a2a20(&local_res8,local_res10,DAT_18262bb88,DAT_1824c3d74); *(undefined4 *)(param_1 + 0x33c) = *puVar2; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } local_res8 = 0xff4f5f6b; *(undefined4 *)(param_1 + 0x348) = 0xff4f5f6b; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } local_res8 = 0xff6f8596; *(undefined4 *)(param_1 + 0x344) = 0xff6f8596; FUN_181403590(*(undefined8 *)(param_1 + 0x318),0,*(undefined4 *)(param_1 + 0x340)); return; } ############ FUN_ 1814203a0 size=2122 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ int FUN_1814203a0(longlong param_1,undefined8 param_2) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; ulonglong uVar4; longlong lVar5; uint *puVar6; int *piVar7; uint uVar8; undefined4 *puVar9; longlong *plVar10; ulonglong *puVar11; ulonglong uVar12; ulonglong uVar13; uint uVar14; longlong lVar15; ulonglong uVar16; int unaff_retaddr; undefined1 auStack_208 [32]; undefined1 local_1e8; undefined8 local_1d8; uint local_1d0; uint local_1cc; undefined8 local_1c0; uint local_1b4; ulonglong local_1b0; int local_1a8 [6]; int local_190; undefined8 local_188; uint local_174; uint local_170; uint local_16c; longlong local_140; undefined4 local_138; undefined4 local_134; undefined4 local_130 [2]; longlong local_128; ulonglong local_120 [2]; undefined8 local_110; undefined1 local_f8 [12]; undefined4 local_ec; undefined8 local_d0; undefined1 local_c8 [96]; ulonglong local_68; local_d0 = 0xfffffffffffffffe; local_68 = DAT_182615970 ^ (ulonglong)auStack_208; uVar8 = (uint)&stack0x00000000; uVar14 = ((uVar8 & 0x7ff) * (uVar8 & 0x7ff) * 0x10 + 4) % 0x13 | ((uVar8 & 0x16ff) * (uVar8 & 0x16ff) * 0x10 + 4) % 0x13; local_16c = ((int)(-uVar14 | uVar14) >> 0x1f) * -0x7178 ^ 0x7a58; uVar14 = ((uVar8 & 0x19ff) * (uVar8 & 0x19ff) * 0x10 + 4) % 0x13; local_170 = (int)(-uVar14 | uVar14) >> 0x1f & 0xe025U ^ 0xe7c5; plVar10 = (longlong *)(param_1 + 0xb0); local_140 = param_1; local_110 = param_2; lVar1 = (**(code **)(*plVar10 + 8))(plVar10); local_190 = (int)(*(float *)(lVar1 + 0x88) * _DAT_1824c4560); if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } local_1e8 = 1; uVar2 = FUN_1813f22a0(*(undefined8 *)(param_1 + 0xb8),local_c8,DAT_1826741ec,param_1); FUN_1813ec390(uVar2); (**(code **)(*plVar10 + 8))(plVar10); FUN_1804f8fe0(local_f8); local_1b0 = 0; local_188 = 0x3550; local_1c0 = 0x18067917c; local_1d8 = 0x18067c6cc; local_134 = 1; local_ec = 1; do { plVar10 = &local_128; puVar9 = local_130; puVar6 = &local_1d0; FUN_18141fbbf(); *puVar6 = 0xa66c80de; *puVar9 = 0x2a; *plVar10 = 0x181420648; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar14 = (local_1d0 >> 10 ^ local_1d0) & 0x3ff; uVar14 = local_1d0 ^ (uVar14 << 10 | uVar14); uVar14 = (uVar14 >> 8 | uVar14 << 0x18) & 0xcf30cf30 | (uVar14 << 8 | local_1d0 >> 0x18) & 0x30cf30cf; uVar14 = (uVar14 >> 0xd | uVar14 << 0x13) + 0xe9912eaf; uVar8 = ~(((uVar14 >> 8 | uVar14 * 0x1000000) & 0xac53ac53 | (uVar14 * 0x100 | uVar14 >> 0x18) & 0x53ac53ac) ^ 0xb5979db1); uVar14 = (uVar8 >> 5 ^ uVar8) >> 7 & 0x1f; uVar14 = uVar8 ^ (uVar14 << 5 | uVar14) << 7; local_1d0 = uVar14 >> 2 & 0xcccccccc | uVar8 << 0x1e | (uVar14 & 0xccccccc) << 2 | uVar8 >> 0x1e; do { puVar11 = local_120; puVar9 = &local_138; piVar7 = local_1a8; /* WARNING: Call to offcut address within same function */ func_0x000181420b2a(); *piVar7 = -0x347dbd1f; *puVar9 = 0x67; *puVar11 = 0x181420728; FUN_18141f9d9(); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar14 = local_1a8[0] + 0x35776d7; uVar8 = ((uVar14 >> 2 | uVar14 * 0x40000000) & 0x99999999 | (uVar14 * 4 | uVar14 >> 0x1e) & 0x66666666) ^ 0x4d19f7b7; uVar14 = (uVar8 >> 0x18 ^ uVar8) & 0x7f; uVar14 = ((uVar14 << 0x18 | uVar14) ^ uVar8) + 0x13a7ce4; uVar8 = ~(((uVar14 * 0x100 | uVar14 >> 0x18) & 0x9b649b64 | (uVar14 >> 8 | uVar14 * 0x1000000) & 0x649b649b) + 0x94af418d); uVar14 = (uVar8 >> 0xb ^ uVar8) >> 4 & 0x7f; lVar1 = (longlong)(int)local_1d0; lVar15 = (longlong)(int)((uVar14 << 0xb | uVar14) << 4 ^ uVar8); local_1d0 = 0; local_1a8[0] = 0; plVar10 = (longlong *)(lVar1 + 4 + local_128); *plVar10 = *plVar10 + (*(ulonglong *)(lVar15 + 4 + local_120[0]) >> 0x10 & 0x83154424); do { uVar2 = rdtsc(); local_174 = (int)uVar2 + (int)((ulonglong)uVar2 >> 0x20) * 2; uVar3 = (ulonglong)local_174 + ((ulonglong)(local_174 >> 0xc) - 0x691ec0ed); uVar3 = (uVar3 >> 0xc | uVar3 << 0x34) * -0x3ff + 0x593ab35d; uVar3 = uVar3 >> 0xd | uVar3 << 0x33; uVar16 = -lVar15; lVar15 = (uVar16 ^ 0xffffffffffffffff) + 1; uVar3 = uVar3 - (uVar3 >> 0xb); local_120[0] = -(~local_120[0] + 1); uVar4 = (uVar3 * 0x400 | uVar3 >> 0x36) * -0x9fff - 0x1e85c194; uVar3 = uVar4 >> 10; uVar4 = uVar3 | uVar4 << 0x36; lVar5 = uVar4 - ((uVar4 >> 7 | uVar3 << 0x39) + 0x6763e301); uVar14 = (int)lVar5 * 0x40 | (uint)((ulonglong)lVar5 >> 0x3a); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); piVar7 = (int *)(lVar1 + 8 + local_128); *piVar7 = *piVar7 + (uVar14 ^ 0x24b1cfee); piVar7 = (int *)(lVar1 + 4 + local_128); *piVar7 = *piVar7 + (uVar14 ^ 0x2dba021a); uVar3 = *(ulonglong *)(lVar1 + 4 + local_128); uVar14 = (uint)(uVar3 >> 0x20); uVar14 = (uVar14 >> 7 ^ uVar14) >> 2 & 3; uVar3 = (((ulonglong)uVar14 << 7 | (ulonglong)uVar14) << 0x22 ^ uVar3) + 0x4350a69157392b82; uVar4 = (uVar3 >> 0x10 | uVar3 << 0x30) & 0x1162ee9d1162ee9d; uVar12 = ((uVar3 * 0x10000 | uVar3 >> 0x30) & 0xee9d1162ee9d1162 | uVar4) + 0x6781ed249dcf407e; uVar3 = (ulonglong)((uint)((uVar12 >> 0x1d ^ uVar12) >> 6) & 0x1ffffff); uVar12 = uVar12 ^ (uVar3 << 0x1d | uVar3) << 6; uVar13 = uVar12 >> 0x2f | uVar12 << 0x11; uVar3 = (ulonglong)((uint)(((uVar12 & 0x7fffffffffff) >> 2 ^ uVar13) >> 0x17) & 0x7fff); uVar13 = uVar13 ^ (uVar3 << 0x13 | uVar3) << 0x17; uVar3 = (uVar13 << 0x1b | uVar13 >> 0x25) ^ 0xf3f5078d240fc321; *(ulonglong *)(lVar1 + 4 + local_128) = uVar3; uVar3 = (ulonglong)((uint)(uVar3 >> 5) & 0x48220140); plVar10 = (longlong *)((uVar16 ^ 0xffffffffffffffff) + 5 + local_120[0]); *plVar10 = *plVar10 + uVar3; local_1cc = (uint)(*(ulonglong *)(lVar1 + 4 + local_128) >> 0x14) & 0x7fffffff; local_1b4 = (uint)(*(ulonglong *)(lVar1 + 4 + local_128) >> 0x1c) ^ 0xa9d22a07; local_1b0 = *(ulonglong *)(lVar1 + 4 + local_128) ^ 0xc74359c12be2bf11; /* WARNING: Call to offcut address within same function */ uVar14 = func_0x000181420ab3(0xc74359c12be2bf11,uVar4,uVar3,param_1); IMAGE_DOS_HEADER_180000000._21_4_ = IMAGE_DOS_HEADER_180000000._21_4_ + (int)local_128; return (uVar14 & 0xffffff75) + 0xeccd0696 + (uint)(0x14287ab2 < (uVar14 & 0xffffff75)); } ############ FUN_ 181478a60 size=1476 ############ /* WARNING: Instruction at (ram,0x000181478e22) overlaps instruction at (ram,0x000181478e1f) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001814794da) */ /* WARNING: Removing unreachable block (ram,0x000181479222) */ /* WARNING: Removing unreachable block (ram,0x00018147925f) */ /* WARNING: Removing unreachable block (ram,0x00018147914f) */ /* WARNING: Removing unreachable block (ram,0x000181479233) */ /* WARNING: Removing unreachable block (ram,0x00018147924f) */ /* WARNING: Removing unreachable block (ram,0x000181479379) */ /* WARNING: Removing unreachable block (ram,0x000181478e1f) */ /* WARNING: Removing unreachable block (ram,0x000181479245) */ /* WARNING: Removing unreachable block (ram,0x000181479247) */ /* WARNING: Removing unreachable block (ram,0x00018147927e) */ /* WARNING: Removing unreachable block (ram,0x00018147915d) */ /* WARNING: Removing unreachable block (ram,0x0001814791b1) */ /* WARNING: Removing unreachable block (ram,0x0001814791ba) */ /* WARNING: Removing unreachable block (ram,0x0001814791f8) */ /* WARNING: Removing unreachable block (ram,0x00018147920f) */ /* WARNING: Heritage AFTER dead removal. Example location: s0x00000000 : 0x000181479283 */ /* WARNING: Type propagation algorithm not settling */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined8 FUN_181478a60(longlong param_1,undefined8 param_2) { code *pcVar1; bool bVar2; int iVar3; undefined4 uVar4; undefined8 uVar5; uint uVar6; uint uVar7; uint uVar8; int *piVar9; ulonglong uVar10; longlong lVar11; undefined4 *puVar12; int *piVar13; undefined8 *puVar14; undefined8 *puVar15; undefined8 *puVar16; int *piVar17; int unaff_retaddr; undefined8 uStack_260; undefined1 local_258 [32]; undefined1 local_238; int local_224; int *local_220; int *local_218; undefined4 local_210 [5]; uint local_1fc; undefined8 local_1f8; undefined4 local_1dc; undefined8 local_1c8; undefined4 local_1c0; undefined4 local_1bc; undefined1 local_178 [8]; undefined1 local_170 [4]; undefined4 local_16c; undefined8 local_c8; ulonglong local_40; puVar15 = (undefined8 *)local_258; local_c8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)local_258; uVar6 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x150) == 0) { uVar7 = ((uVar6 & 0x6ff) * (uVar6 & 0x6ff) * 0x10 + 4) % 0x13 | uVar6; local_1fc = ((int)(-uVar7 | uVar7) >> 0x1f) * -0x929d; } else { local_1fc = 0x929d; } if (((ulonglong)&stack0x00000000 & 0x4c0) == 0) { iVar3 = (uVar6 & 0x56ff) * (uVar6 & 0x56ff) + 1; uVar6 = (iVar3 >> 4) + (iVar3 >> 1) + iVar3 * 0x24924924 >> 0x1d; uVar6 = (int)(uVar6 - 7) >> 0x1f & uVar6; } else { uVar6 = ((uVar6 & 0x7ff) * (uVar6 & 0x7ff) * 0x10 + 4) % 0x13; } local_1fc = (int)(-uVar6 | uVar6) >> 0x1f & 0x9fcdU ^ local_1fc; local_1dc = 0x580; lVar11 = DAT_182673708; do { if (lVar11 == param_1) { bVar2 = true; LAB_181478bd4: local_1bc = *(undefined4 *)(param_1 + 0x2c); local_1c0 = *(undefined4 *)(param_1 + 0x28); local_1c8 = 0; pcVar1 = *(code **)(*(longlong *)(param_1 + 0xb0) + 8); local_1f8 = param_2; if (pcVar1 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar5 = *(undefined8 *)(param_1 + 0xb8); } else { uVar5 = (*pcVar1)(param_1 + 0xb0); } local_238 = 1; FUN_1813f22a0(uVar5,local_170,DAT_1826742b0,param_1); local_210[0] = local_16c; local_218 = (int *)0x100; local_220 = (int *)&DAT_1811b5f24; if (!bVar2) { if (*(char *)(param_1 + 0xd9) != '\0') { local_218 = (int *)&UNK_1811b6024; local_218 = (int *)FUN_1812a2670(local_210,local_178,DAT_1824c3cb8); } return local_218; } local_220 = &iRam000000018160c694; piVar9 = (int *)0x18160c794; do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_224 = (((((((((iRam000000018160c694 * 0x6b + iRam000000018160c698) * 0x6b + iRam000000018160c69c) * 0x6b + iRam000000018160c6a0) * 0x6b + iRam000000018160c6a4) * 0x6b + iRam000000018160c6a8) * 0x6b + iRam000000018160c6ac) * 0x6b + iRam000000018160c6b0) * 0x6b + iRam000000018160c6b4) * 0x6b + iRam000000018160c6b8) * 0x6b + iRam000000018160c6bc; local_218 = piVar9; do { /* WARNING: Call to offcut address within same function */ func_0x000181479265(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_224 = ((((((((local_224 * 0x6b + iRam000000018160c6c0) * 0x6b + iRam000000018160c6c4) * 0x6b + iRam000000018160c6c8) * 0x6b + iRam000000018160c6cc) * 0x6b + iRam000000018160c6d0) * 0x6b + iRam000000018160c6d4) * 0x6b + iRam000000018160c6d8) * 0x6b + iRam000000018160c6dc) * 0x6b; do { piVar17 = (int *)((longlong)puVar15 + 0x34); piVar13 = (int *)0x18160c6e0; uVar10 = 0x4408; puVar15[-1] = &UNK_181478f93; iVar3 = func_0x00018147a94a(); puVar14 = puVar15; if ((uVar10 & 0xc3) == 0) { puVar15[-1] = piVar9; puVar14 = puVar15 + -1; piVar9 = piVar13; if (((uVar10 & 0xc300) != 0) && (puVar14 = puVar15 + -1, (uVar10 & 0xc300) != 0)) { iVar3 = *piVar17; puVar14 = puVar15 + -1; } } *piVar17 = iVar3 + *piVar9; piVar9 = (int *)*puVar14; puVar15 = puVar14 + 1; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); iVar3 = *(int *)((longlong)puVar14 + 0x3c); *(int *)((longlong)puVar14 + 0x3c) = iVar3 * 0x6b; iVar3 = (iVar3 * 0x6b + iRam000000018160c6e4) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + iRam000000018160c6e8) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + _UNK_18160c6ec) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; uVar6 = iVar3 + iRam000000018160c6f0; if (((((uVar6 & 0xbff) + 1) * (uVar6 & 0xbff) + 7) % 0x51 & 0x3b) == 0) { uVar7 = ((uVar6 & 0x27ff) - 1) * (uVar6 & 0x27ff) & 1; } else { uVar7 = uVar6 & 0x37f; iVar3 = (uVar7 + 2) * (uVar7 + 1) * uVar7; uVar7 = ((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e; } uVar8 = (uint)piVar9 & 0x3f; lVar11 = ((longlong) (int)(0xb48e - (uVar8 * uVar8 * (uVar8 + 1) * (uVar8 + 1) & (uint)piVar9 & 1)) ^ 0xb4eaU) - ((longlong)(int)uVar7 ^ 0x60U); *(uint *)((longlong)puVar14 + 0x3c) = uVar6 * 0x6b; iVar3 = (uVar6 * 0x6b + *(int *)((longlong)&iRam000000018160c6f0 + lVar11)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c6f4)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(&UNK_18160c6f8 + lVar11)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(&UNK_18160c6fc + lVar11)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(&UNK_18160c700 + lVar11)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(&UNK_18160c704 + lVar11)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(&UNK_18160c708 + lVar11)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(&UNK_18160c70c + lVar11)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(&UNK_18160c710 + lVar11)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c714)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c718)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c71c)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; *(int *)((longlong)puVar14 + 0x3c) = (iVar3 + *(int *)(lVar11 + 0x18160c720)) * 0x6b; do { *(int *)((longlong)puVar14 + 0x3c) = *(int *)((longlong)puVar14 + 0x3c) + *(int *)(lVar11 + 0x18160c724); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); iVar3 = *(int *)((longlong)puVar14 + 0x3c); *(int *)((longlong)puVar14 + 0x3c) = iVar3 * 0x6b; iVar3 = (iVar3 * 0x6b + *(int *)(lVar11 + 0x18160c728)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c72c)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c730)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c734)) * 0x6b; *(int *)((longlong)puVar14 + 0x3c) = iVar3; *(int *)((longlong)puVar14 + 0x3c) = iVar3 + *(int *)(lVar11 + 0x18160c738); do { uVar10 = 0x4408; puVar15[-1] = &UNK_1814792fa; func_0x00018147a94a(); if ((uVar10 & 0xe300) == 0) { puVar16 = puVar15 + -1; puVar15 = puVar15 + -1; *puVar16 = register0x00000020; } *(undefined **)((longlong)puVar15 + -8) = &UNK_18147931e; func_0x000181479aa1(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); iVar3 = *(int *)((longlong)puVar15 + 0x34); *(int *)((longlong)puVar15 + 0x34) = iVar3 * 0x6b; iVar3 = (iVar3 * 0x6b + *(int *)(lVar11 + 0x18160c73c)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c740)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; *(int *)((longlong)puVar15 + 0x34) = iVar3 + *(int *)(lVar11 + 0x18160c744); do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); iVar3 = *(int *)((longlong)puVar15 + 0x34); *(int *)((longlong)puVar15 + 0x34) = iVar3 * 0x6b; iVar3 = (iVar3 * 0x6b + *(int *)(lVar11 + 0x18160c748)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c74c)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c750)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; *(int *)((longlong)puVar15 + 0x34) = iVar3 + *(int *)(lVar11 + 0x18160c754); do { /* WARNING: Call to offcut address within same function */ *(undefined **)((longlong)puVar15 + -8) = &UNK_1814793e2; func_0x000181479265(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); iVar3 = *(int *)((longlong)puVar15 + 0x34); *(int *)((longlong)puVar15 + 0x34) = iVar3 * 0x6b; iVar3 = (iVar3 * 0x6b + *(int *)(lVar11 + 0x18160c758)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c75c)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c760)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; *(int *)((longlong)puVar15 + 0x34) = (iVar3 + *(int *)(lVar11 + 0x18160c764)) * 0x6b; do { *(int *)((longlong)puVar15 + 0x34) = *(int *)((longlong)puVar15 + 0x34) + *(int *)(lVar11 + 0x18160c768); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); iVar3 = *(int *)((longlong)puVar15 + 0x34); *(int *)((longlong)puVar15 + 0x34) = iVar3 * 0x6b; iVar3 = (iVar3 * 0x6b + *(int *)(lVar11 + 0x18160c76c)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c770)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c774)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c778)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; *(int *)((longlong)puVar15 + 0x34) = iVar3 + *(int *)(lVar11 + 0x18160c77c); do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); iVar3 = *(int *)((longlong)puVar15 + 0x34); *(int *)((longlong)puVar15 + 0x34) = iVar3 * 0x6b; iVar3 = (iVar3 * 0x6b + *(int *)(lVar11 + 0x18160c780)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; iVar3 = (iVar3 + *(int *)(lVar11 + 0x18160c784)) * 0x6b; *(int *)((longlong)puVar15 + 0x34) = iVar3; *(int *)((longlong)puVar15 + 0x34) = (iVar3 + *(int *)(lVar11 + 0x18160c788)) * 0x6b; do { *(int *)((longlong)puVar15 + 0x34) = *(int *)((longlong)puVar15 + 0x34) + *(int *)(&UNK_18160c78c + lVar11); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); *(undefined8 *)((longlong)puVar15 + 0x38) = 0x18833a6099e6fe3d; *(int *)((longlong)puVar15 + 0x40) = (int)*(undefined8 *)((longlong)puVar15 + 0x38); *(undefined4 *)((longlong)puVar15 + 0x68) = *(undefined4 *)((longlong)puVar15 + 0x34); do { puVar12 = (undefined4 *)((longlong)puVar15 + 0x68); *(undefined **)((longlong)puVar15 + -8) = &UNK_181479669; uVar4 = func_0x0001814ed8d3(); *puVar12 = uVar4; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = (*(uint *)((longlong)puVar15 + 0x68) << 0x11 | *(uint *)((longlong)puVar15 + 0x68) >> 0xf) + 0xcbd96526; *(uint *)((longlong)puVar15 + 0x34) = uVar6 >> 8 | uVar6 * 0x1000000; do { *(undefined **)((longlong)puVar15 + -8) = &UNK_1814796bb; func_0x00018147b1a3(0x4408); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); *(BADSPACEBASE **)((longlong)puVar15 + -8) = register0x00000020; *(undefined **)((longlong)puVar15 + -0x10) = &DAT_1811b5f24; /* WARNING: Call to offcut address within same function */ *(undefined **)((longlong)puVar15 + -0x18) = &UNK_18147975c; _DAT_1811b5f24 = func_0x000181479765(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } if (lVar11 == 0) { bVar2 = false; goto LAB_181478bd4; } lVar11 = *(longlong *)(lVar11 + 0x18); } while( true ); } ############ FUN_ 18148b010 size=562 ############ void FUN_18148b010(longlong param_1,longlong param_2) { int *piVar1; longlong *plVar2; int iVar3; undefined1 uVar4; int iVar5; longlong lVar6; undefined8 uVar7; int iVar8; int iVar9; float fVar10; undefined4 local_res8; undefined8 *local_res10; undefined8 local_58; undefined8 uStack_50; undefined8 local_48; undefined8 uStack_40; iVar3 = *(int *)(param_1 + 0x2c); iVar9 = *(int *)(param_1 + 0x28); FUN_1812a3160(param_2,*(undefined4 *)(param_1 + 0x2b0)); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x2b4)); plVar2 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } lVar6 = (**(code **)(*plVar2 + 8))(plVar2); uVar7 = FUN_1813f2500(uVar7,&local_res10,*(float *)(lVar6 + 0x88) * DAT_1824c440c); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),uVar7); if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res10)(local_res10,1); } } lVar6 = (**(code **)(*plVar2 + 8))(plVar2); iVar8 = (int)(*(float *)(lVar6 + 0x88) * DAT_1824c4388); iVar9 = iVar9 + iVar8 * -2; iVar3 = iVar3 + iVar8 * -2; iVar5 = 0; if (0 < iVar9) { iVar5 = iVar9; } iVar9 = 0; if (0 < iVar3) { iVar9 = iVar3; } local_58 = CONCAT44(iVar8,iVar8); uStack_50 = CONCAT44(iVar9,iVar5); FUN_181296100(param_2,param_1 + 8,&local_58,0x21,1,0); fVar10 = (float)(int)(0xff - (uint)*(byte *)(*(longlong *)(param_1 + 0x100) + 0xac)) / DAT_1824c4548; if (0.0 < fVar10) { if (fVar10 < DAT_1824c3ea4) { uVar4 = (undefined1)(int)(fVar10 * DAT_1824c454c); } else { uVar4 = 0xff; } } else { uVar4 = 0; } local_res8 = CONCAT13(uVar4,(int3)*(undefined4 *)(param_1 + 0x2b0)); FUN_181296c00(param_2,local_res8); local_48 = *(undefined8 *)(*(longlong *)(param_1 + 0x100) + 0x20); uStack_40 = *(undefined8 *)(*(longlong *)(param_1 + 0x100) + 0x28); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_48,0); return; } ############ FUN_ 18148b5f0 size=83 ############ void FUN_18148b5f0(longlong param_1) { undefined8 uVar1; undefined8 *puVar2; undefined1 local_res8 [8]; if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(); } uVar1 = *(undefined8 *)(param_1 + 0xb8); puVar2 = (undefined8 *)FUN_18140ed70(local_res8,0); FUN_1813f0dc0(uVar1,DAT_1826741d0,*puVar2,param_1 + 0x490); return; } ############ FUN_ 18148b9d0 size=520 ############ void FUN_18148b9d0(longlong param_1) { undefined4 local_res8; undefined4 uStackX_c; undefined8 local_178; undefined4 uStack_170; undefined4 uStack_16c; undefined8 local_168; undefined8 uStack_160; undefined8 local_158; undefined4 local_150; undefined8 local_14c; undefined *local_140; undefined8 local_138; undefined8 uStack_130; undefined8 local_128; undefined8 uStack_120; undefined4 local_118; undefined8 local_114; undefined8 local_10c; undefined8 local_104; undefined4 local_fc; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; undefined8 local_e0; undefined4 local_d8; undefined *local_d0; longlong local_c8; undefined8 local_c0; undefined8 local_b8; undefined8 uStack_b0; undefined4 local_a8; undefined8 local_a4; undefined8 local_9c; undefined8 local_94; undefined4 local_8c; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; undefined8 local_70; undefined4 local_68; undefined *local_60; longlong local_58; undefined8 local_50; undefined8 local_48; undefined8 uStack_40; undefined4 local_38; undefined8 local_34; undefined8 local_2c; undefined8 local_24; undefined4 local_1c; undefined8 local_18; local_18 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(); } FUN_1813f22a0(*(undefined8 *)(param_1 + 0xb8),&local_res8,DAT_1826741d8,param_1); *(undefined4 *)(param_1 + 0x140) = uStackX_c; local_168 = 0; uStack_160 = 0; local_158 = 0; local_150 = 0; local_14c = 0; local_140 = &DAT_18249f4b4; local_138 = 0; uStack_130 = 0; local_128 = 0; uStack_120 = 0; local_118 = 0; local_114 = 1; local_10c = 1; local_104 = 1; local_fc = 1; local_f8 = 0; uStack_f0 = 0; local_e8 = 0; local_e0 = 0x40000000; local_d8 = 0; local_d0 = &DAT_18249f4b4; local_c8 = param_1 + 0x490; local_c0 = 0; local_b8 = 0; uStack_b0 = 0; local_a8 = 0; local_a4 = 1; local_9c = 1; local_94 = 1; local_8c = 1; local_res8 = 0x40a00000; uStackX_c = 0; local_88 = 0; uStack_80 = 0; local_78 = 0; local_70 = 0x40a00000; local_68 = 0; local_60 = &DAT_18249f4b4; local_58 = param_1 + 0x148; local_50 = 0; local_48 = 0; uStack_40 = 0; local_38 = 0; local_34 = 1; local_2c = 1; local_24 = 1; local_1c = 1; FUN_18056c190(&local_168,&local_88,&local_f8); uStack_16c = *(undefined4 *)(param_1 + 0x2c); uStack_170 = *(undefined4 *)(param_1 + 0x28); local_178 = 0; FUN_18055f500(&local_168,&local_178,param_1); FUN_180569ed0(&local_168); return; } ############ FUN_ 1814a0c20 size=718 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814a0c20(longlong param_1,longlong param_2) { int *piVar1; longlong *plVar2; uint uVar3; int iVar4; longlong lVar5; undefined8 *puVar6; undefined8 uVar7; uint *_Memory; undefined1 auStack_e8 [32]; undefined1 local_c8; longlong local_b8; undefined8 *local_b0; int local_a8; int iStack_a4; int local_a0; int iStack_9c; float local_98; float local_94; float local_90; float local_8c; float local_88; float fStack_84; float fStack_80; float fStack_7c; undefined8 local_78; float local_68; float fStack_64; float fStack_60; float fStack_5c; undefined8 local_58; undefined8 uStack_50; undefined8 local_48; undefined8 uStack_40; longlong *local_38; undefined1 local_30 [8]; ulonglong local_28; local_78 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_e8; plVar2 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = *(undefined8 *)(param_1 + 0xb8); } else { uVar7 = (**(code **)(*plVar2 + 8))(plVar2); } lVar5 = (**(code **)(*plVar2 + 8))(plVar2); FUN_1813f2500(uVar7,&local_b0,*(float *)(lVar5 + 0x88) * DAT_1824c441c); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x310)); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_b0); puVar6 = (undefined8 *) (**(code **)(*(longlong *)(param_1 + 0x128) + 0x10)) ((longlong *)(param_1 + 0x128),&local_38); (**(code **)(*(longlong *)*puVar6 + 0x20))((longlong *)*puVar6,&local_b8,puVar6 + 1); lVar5 = (**(code **)(*plVar2 + 8))(plVar2); local_a8 = *(int *)(param_1 + 0x2f8) - (int)(*(float *)(lVar5 + 0x88) * DAT_1824c46e8); iStack_a4 = *(int *)(param_1 + 0x2fc); iVar4 = (*(int *)(param_1 + 0x300) - local_a8) + *(int *)(param_1 + 0x2f8); local_a0 = 0; if (0 < iVar4) { local_a0 = iVar4; } iStack_9c = *(int *)(param_1 + 0x304); fStack_7c = (float)iStack_9c; fStack_80 = (float)local_a0; fStack_84 = (float)iStack_a4; local_88 = (float)local_a8; local_c8 = 1; local_68 = local_88; fStack_64 = fStack_84; fStack_60 = fStack_80; fStack_5c = fStack_7c; FUN_1812963b0(param_2,&local_b8,&local_68,0x21); _Memory = (uint *)(local_b8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*local_38 + 0xb0))(local_38,local_30); if (*(char *)(param_1 + 0x308) != '\0') { FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x314)); local_58 = *(undefined8 *)(param_1 + 0x2e8); uStack_50 = *(undefined8 *)(param_1 + 0x2f0); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_58,0); local_48 = *(undefined8 *)(param_1 + 0x2f8); uStack_40 = *(undefined8 *)(param_1 + 0x300); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_48,0); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x310)); } local_8c = (float)*(int *)(param_1 + 0x2f4); local_90 = (float)*(int *)(param_1 + 0x2f0); local_94 = (float)*(int *)(param_1 + 0x2ec); local_98 = (float)*(int *)(param_1 + 0x2e8); FUN_18149f4f0(param_1,param_2,&local_98); if (local_b0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_b0 + 1); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*local_b0)(local_b0,1); } } } ############ FUN_ 1814b2a10 size=242 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814b2a10(longlong param_1) { int *piVar1; longlong *plVar2; int iVar3; code *pcVar4; longlong lVar5; undefined8 uVar6; undefined8 *local_res8; FUN_1815eeec0(); plVar2 = (longlong *)(param_1 + 0xb0); lVar5 = (**(code **)(*plVar2 + 8))(plVar2); pcVar4 = *(code **)(*plVar2 + 8); *(float *)(param_1 + 0x974) = *(float *)(lVar5 + 0x88) * _DAT_1824c4558; if (pcVar4 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar6 = *(undefined8 *)(param_1 + 0xb8); } else { uVar6 = (*pcVar4)(plVar2); } lVar5 = (**(code **)(*plVar2 + 8))(plVar2); uVar6 = FUN_1813f2500(uVar6,&local_res8,*(float *)(lVar5 + 0x88) * DAT_1824c440c); FUN_181252990(param_1 + 0x968,uVar6); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res8)(local_res8,1); } } /* WARNING: Could not recover jumptable at 0x0001814b2aee. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*(longlong *)(param_1 + 0x878) + 0x108))(); return; } ############ FUN_ 1814b34e0 size=786 ############ void FUN_1814b34e0(longlong param_1,longlong param_2) { int *piVar1; float fVar2; int iVar3; undefined1 *puVar4; uint uVar5; longlong lVar6; longlong *plVar7; uint *puVar8; undefined4 local_res8; undefined1 *local_res18; undefined8 *local_res20; longlong local_b8 [2]; float fStack_a8; float fStack_a4; undefined1 *local_a0; undefined1 *local_98; float local_90; float fStack_8c; float fStack_88; float fStack_84; undefined8 local_80; undefined1 *local_78; undefined1 *local_70; undefined4 local_68; undefined4 uStack_64; float fStack_60; float fStack_5c; float local_58; float fStack_54; float fStack_50; float fStack_4c; int local_48; int iStack_44; int iStack_40; int iStack_3c; local_80 = 0xfffffffffffffffe; local_res8 = CONCAT13(0x19,(int3)DAT_1826742e8); FUN_181296c00(param_2,local_res8); fStack_a4 = (float)*(int *)(param_1 + 0x2c); fStack_a8 = (float)*(int *)(param_1 + 0x28); local_b8[1] = 0; local_68 = 0; uStack_64 = 0; fVar2 = *(float *)(param_1 + 0x1c4); plVar7 = (longlong *)(param_1 + 0xb0); fStack_60 = fStack_a8; fStack_5c = fStack_a4; lVar6 = (**(code **)(*plVar7 + 8))(plVar7); FUN_181295300(param_2,&local_68,*(float *)(lVar6 + 0x88) * fVar2); if (*(code **)(*plVar7 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } lVar6 = *(longlong *)(param_1 + 0xb8); } else { lVar6 = (**(code **)(*plVar7 + 8))(plVar7); } local_res20 = (undefined8 *)**(longlong **)(lVar6 + 0x78); if (local_res20 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res20 + 1) = *(int *)(local_res20 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_res20); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_res20); if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res20 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res20)(local_res20,1); } } FUN_181296c00(param_2,DAT_18262bb5c); local_res18 = &DAT_1821dbf98; if (*(int *)(param_1 + 0x1c0) == 2) { FUN_18049c4e0(local_b8,"New version available: "); plVar7 = (longlong *)FUN_181232d30(local_b8,param_1 + 0x138); local_a0 = (undefined1 *)*plVar7; if ((*(uint *)(local_a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a0 + -0x10) = *(int *)(local_a0 + -0x10) + 1; UNLOCK(); } puVar8 = (uint *)(local_b8[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_78 = local_res18; puVar8 = (uint *)(local_res18 + -0x10); uVar5 = *puVar8; local_res18 = local_a0; } else { FUN_18049c4e0(&local_98,"You have the latest version."); puVar4 = local_res18; local_70 = local_res18; local_res18 = local_98; puVar8 = (uint *)(puVar4 + -0x10); uVar5 = *puVar8; } if ((uVar5 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_48 = *(int *)(param_1 + 0x194); iStack_44 = *(int *)(param_1 + 0x198); iStack_40 = *(int *)(param_1 + 0x19c); iStack_3c = *(int *)(param_1 + 0x1a0); fStack_84 = (float)iStack_3c; fStack_88 = (float)iStack_40; fStack_8c = (float)iStack_44; local_90 = (float)local_48; local_58 = local_90; fStack_54 = fStack_8c; fStack_50 = fStack_88; fStack_4c = fStack_84; FUN_1812963b0(param_2,&local_res18,&local_58,9,1); puVar8 = (uint *)(local_res18 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return; } ############ FUN_ 1814c4ae0 size=161 ############ void FUN_1814c4ae0(longlong param_1) { int *piVar1; int iVar2; code *pcVar3; undefined8 *puVar4; undefined8 uVar5; undefined8 *local_res8; undefined8 local_res10; pcVar3 = *(code **)(*(longlong *)(param_1 + 0xb0) + 8); if (pcVar3 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(); } uVar5 = *(undefined8 *)(param_1 + 0xb8); } else { uVar5 = (*pcVar3)(param_1 + 0xb0); } puVar4 = (undefined8 *)FUN_1813f2500(uVar5,&local_res8); local_res10 = *(undefined8 *)(param_1 + 200); *(undefined8 *)(param_1 + 200) = *puVar4; *puVar4 = local_res10; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1814c4ce0 size=236 ############ void FUN_1814c4ce0(longlong param_1) { int *piVar1; longlong *plVar2; int iVar3; longlong lVar4; undefined8 *puVar5; undefined8 uVar6; int iVar7; undefined8 *local_res8; undefined8 local_res10; plVar2 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar6 = *(undefined8 *)(param_1 + 0xb8); } else { uVar6 = (**(code **)(*plVar2 + 8))(plVar2); } lVar4 = (**(code **)(*plVar2 + 8))(plVar2); iVar3 = *(int *)(param_1 + 0x2c) + (int)(*(float *)(lVar4 + 0x88) * DAT_1824c41e0) * -2; iVar7 = 0; if (0 < iVar3) { iVar7 = iVar3; } puVar5 = (undefined8 *)FUN_1813f2500(uVar6,&local_res8,(float)iVar7 * DAT_1824c3df0); local_res10 = *(undefined8 *)(param_1 + 0xe8); *(undefined8 *)(param_1 + 0xe8) = *puVar5; *puVar5 = local_res10; if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1814c5540 size=612 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814c5540(longlong param_1,longlong param_2) { int *piVar1; longlong *plVar2; uint uVar3; int iVar4; undefined8 uVar5; longlong lVar6; uint *_Memory; int iVar7; int iVar8; longlong local_res8; undefined8 *local_res10; undefined8 local_48; undefined8 uStack_40; float local_38; float fStack_34; float fStack_30; float fStack_2c; FUN_1812a3160(param_2,*(undefined4 *)(param_1 + 0x518)); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x51c)); iVar8 = *(int *)(param_1 + 0x540); if (*(int *)(param_1 + 0x2c) < *(int *)(param_1 + 0x540)) { iVar8 = *(int *)(param_1 + 0x2c); } uStack_40 = CONCAT44(iVar8,*(undefined4 *)(param_1 + 0x28)); local_48 = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_48,0); if ((*(byte *)(*(longlong *)(param_1 + 0x108) + 0xa8) >> 1 & 1) != 0) { plVar2 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar5 = *(undefined8 *)(param_1 + 0xb8); } else { uVar5 = (**(code **)(*plVar2 + 8))(plVar2); } uVar5 = FUN_1813f2500(uVar5,&local_res10,(float)*(int *)(param_1 + 0x540) * DAT_1824c3df0); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),uVar5); if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_res10)(local_res10,1); } } FUN_181296c00(param_2,DAT_18262bb5c); FUN_18049c4e0(&local_res8,"Tutorials"); lVar6 = (**(code **)(*plVar2 + 8))(plVar2); iVar7 = *(int *)(param_1 + 0x534) - (int)(*(float *)(lVar6 + 0x88) * _DAT_1824c4718); iVar4 = (*(int *)(param_1 + 0x53c) - iVar7) + *(int *)(param_1 + 0x534); iVar8 = 0; if (0 < iVar4) { iVar8 = iVar4; } fStack_2c = (float)*(int *)(param_1 + 0x540); fStack_30 = (float)iVar8; fStack_34 = (float)*(int *)(param_1 + 0x538); local_38 = (float)iVar7; FUN_1812963b0(param_2,&local_res8,&local_38,0x21,1); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return; } ############ FUN_ 1814c6250 size=842 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814c6250(longlong param_1,longlong param_2) { int *piVar1; int iVar2; uint uVar3; code *pcVar4; undefined8 uVar5; longlong lVar6; longlong *plVar7; uint *puVar8; undefined1 auStack_118 [32]; undefined1 local_f8; undefined4 local_e8; undefined4 local_e4; longlong local_e0; longlong local_d8; longlong *local_d0; longlong local_c8; longlong local_c0; longlong local_b8; longlong local_b0; undefined8 local_a8; undefined8 uStack_a0; undefined8 *local_98; float local_90; float fStack_8c; float fStack_88; float fStack_84; undefined8 local_80; float local_78; float fStack_74; float fStack_70; float fStack_6c; undefined1 local_49 [32]; undefined1 local_29; ulonglong local_28 [2]; local_80 = 0xfffffffffffffffe; local_28[0] = DAT_182615970 ^ (ulonglong)auStack_118; pcVar4 = *(code **)(*(longlong *)(param_1 + 0xb0) + 8); if (pcVar4 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(); } uVar5 = *(undefined8 *)(param_1 + 0xb8); } else { uVar5 = (*pcVar4)(param_1 + 0xb0); } uVar5 = FUN_1813f2500(uVar5,&local_98,(float)*(int *)(param_1 + 0xd34) * DAT_1824c3db8); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),uVar5); if (local_98 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_98 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_98)(local_98,1); } } local_e8 = CONCAT13(0xb3,(int3)DAT_18262bb5c); FUN_181296c00(param_2,local_e8); local_a8 = *(undefined8 *)(param_1 + 0xd28); uStack_a0 = *(undefined8 *)(param_1 + 0xd30); lVar6 = FUN_181233e10(local_49 + 1,*(undefined4 *)(param_1 + 0xf4)); FUN_180495150(&local_b0,lVar6,local_49 + -lVar6); lVar6 = FUN_181233e10(local_28,*(int *)(param_1 + 0xe0) + 1); FUN_180495150(&local_b8,lVar6,&local_29 + -lVar6); FUN_18049c4e0(&local_c8,"Step "); plVar7 = (longlong *)FUN_181232d30(&local_c8,&local_b8); local_e0 = *plVar7; if ((*(uint *)(local_e0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e0 + -0x10) = *(int *)(local_e0 + -0x10) + 1; UNLOCK(); } puVar8 = (uint *)(local_c8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_d0 = &local_e0; FUN_181232e20(&local_e0,&DAT_1822a1ba4,&DAT_1822a1ba8); local_d8 = local_e0; if ((*(uint *)(local_e0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e0 + -0x10) = *(int *)(local_e0 + -0x10) + 1; UNLOCK(); } puVar8 = (uint *)(local_e0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_d0 = &local_d8; plVar7 = (longlong *)FUN_181232d30(&local_d8,&local_b0); local_c0 = *plVar7; if ((*(uint *)(local_c0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c0 + -0x10) = *(int *)(local_c0 + -0x10) + 1; UNLOCK(); } puVar8 = (uint *)(local_d8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } fStack_84 = (float)uStack_a0._4_4_; fStack_88 = (float)(int)uStack_a0; fStack_8c = (float)local_a8._4_4_; local_90 = (float)(int)local_a8; local_f8 = 1; local_78 = local_90; fStack_74 = fStack_8c; fStack_70 = fStack_88; fStack_6c = fStack_84; FUN_1812963b0(param_2,&local_c0,&local_78,0x24); puVar8 = (uint *)(local_c0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_b8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_b0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_e4 = CONCAT13(0xcc,(int3)DAT_18262bb5c); FUN_181296c00(param_2,local_e4); } ############ FUN_ 1814ec190 size=198 ############ undefined4 * FUN_1814ec190(longlong param_1,undefined4 *param_2) { float fVar1; code *pcVar2; undefined4 uVar3; undefined1 uVar4; undefined8 uVar5; undefined4 local_res8; undefined4 local_resc; uVar3 = DAT_1826741b0; pcVar2 = *(code **)(*(longlong *)(param_1 + 0xb0) + 8); if (pcVar2 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(); } uVar5 = *(undefined8 *)(param_1 + 0xb8); } else { uVar5 = (*pcVar2)(param_1 + 0xb0); } FUN_1813f22a0(uVar5,&local_res8,uVar3,param_1); fVar1 = *(float *)(param_1 + 0x3fc); if (0.0 < fVar1) { if (fVar1 < DAT_1824c3ea4) { uVar4 = (undefined1)(int)(fVar1 * DAT_1824c454c); } else { uVar4 = 0xff; } } else { uVar4 = 0; } local_res8 = CONCAT13(uVar4,(int3)local_resc); *param_2 = local_res8; return param_2; } ############ FUN_ 1814f2690 size=1783 ############ /* WARNING: Instruction at (ram,0x0001814f2d43) overlaps instruction at (ram,0x0001814f2d3f) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001814f2d94) */ void FUN_1814f2690(longlong *param_1,undefined8 param_2) { int *piVar1; undefined8 uVar2; ulonglong uVar3; ulonglong uVar4; longlong lVar5; uint uVar6; undefined4 uVar7; uint *puVar8; uint uVar9; undefined4 *puVar10; longlong lVar11; longlong *plVar12; ulonglong uVar13; int unaff_retaddr; undefined1 auStack_2c8 [32]; undefined1 local_2a8; undefined4 local_298; int local_294; uint local_290; uint local_288; undefined8 local_280; uint local_278 [4]; undefined1 local_268 [8]; undefined8 local_260; undefined8 local_258; undefined8 local_250; uint local_244; undefined4 local_23c; undefined1 local_238 [4]; undefined4 local_234; undefined1 local_230 [8]; undefined8 local_228; ulonglong local_220; undefined1 local_218 [24]; undefined4 local_200; longlong local_1f8; longlong local_1f0; undefined4 local_1e8 [2]; longlong *local_1e0; undefined8 local_190; ulonglong local_68; local_190 = 0xfffffffffffffffe; local_68 = DAT_182615970 ^ (ulonglong)auStack_2c8; plVar12 = param_1 + 0x16; local_228 = param_2; local_1e0 = param_1; if (*(code **)(*plVar12 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (param_1[0x17] == 0) { FUN_180569ff0(param_1); } lVar11 = param_1[0x17]; } else { lVar11 = (**(code **)(*plVar12 + 8))(plVar12); } local_2a8 = 1; FUN_1813f22a0(lVar11,local_238,DAT_1826741f0,param_1); local_23c = local_234; if (*(code **)(*plVar12 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (param_1[0x17] == 0) { FUN_180569ff0(param_1); } lVar11 = param_1[0x17]; } else { lVar11 = (**(code **)(*plVar12 + 8))(plVar12); } local_2a8 = 1; FUN_1813f22a0(lVar11,local_230,DAT_1826742b8,param_1); (**(code **)(*param_1 + 0x160))(param_1,local_268); if (*(code **)(*plVar12 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (param_1[0x17] == 0) { FUN_180569ff0(param_1); } lVar11 = param_1[0x17]; } else { lVar11 = (**(code **)(*plVar12 + 8))(plVar12); } local_2a8 = 1; FUN_1813f22a0(lVar11,local_218,DAT_182674284,param_1); do { local_200 = 0x46; local_1f8 = 0x1814f2807; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_294 = 0x1138315; do { plVar12 = &local_1f0; puVar10 = local_1e8; puVar8 = local_278; FUN_1814f1aa9(); *puVar8 = 0x15f9d49d; *puVar10 = 9; *plVar12 = 0x1814f28d7; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = (local_278[0] >> 0xd ^ local_278[0]) >> 10 & 0x1ff; local_278[0] = (uVar6 << 0xd | uVar6) << 10 ^ local_278[0]; uVar6 = (local_278[0] >> 0x19 | local_278[0] << 7) ^ 0xd5e6ea05; uVar6 = (uVar6 >> 7 | uVar6 << 0x19) + 0xa558945f; uVar6 = (uVar6 * 0x800000 | uVar6 >> 9) + 0x530f1a08; uVar9 = uVar6 * 8 | uVar6 >> 0x1d; uVar6 = (uVar6 & 0x1fffffff) >> 0x11 ^ uVar9; lVar11 = (longlong)local_294; uVar13 = (ulonglong)(int)((uVar6 << 0x14 | uVar6 & 0xfff) ^ uVar9); local_294 = 0; local_278[0] = 0; plVar12 = (longlong *)(lVar11 + 4 + local_1f8); *plVar12 = *plVar12 + (*(ulonglong *)(uVar13 + 4 + local_1f0) >> 1 & 0xa8ec3a88); do { uVar2 = rdtsc(); local_244 = (int)uVar2 + (int)((ulonglong)uVar2 >> 0x20) * 8; uVar4 = ((ulonglong)(local_244 >> 9) - 0x10d37fdc) + (ulonglong)local_244 * 8; uVar3 = uVar4 * 0x1000 | uVar4 >> 0x34; uVar4 = ((uVar4 & 0xfffffffffffff) >> 3 | uVar3 << 0x31) + 0x704543f4 + uVar3 * 8; uVar4 = uVar4 + ((uVar4 >> 9) - 0x1439e7a); uVar3 = uVar4 >> 0xd | uVar4 << 0x33; uVar4 = uVar3 * 9; uVar3 = uVar3 ^ (uVar4 >> 6 | uVar4 << 0x3a); uVar4 = uVar3 << 6 | uVar3 >> 0x3a; uVar4 = uVar4 - ((uVar4 << 7 | (uVar3 & 0x3ffffffffffffff) >> 0x33) - 0x656ed8d); lVar5 = uVar4 + (uVar4 * 0x2000 | uVar4 >> 0x33); uVar13 = -(~uVar13 + 1); uVar6 = ((uint)lVar5 ^ (uint)((ulonglong)(lVar5 * 3) >> 0xb)) & 0x49a5ddaa; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); piVar1 = (int *)(lVar11 + 8 + local_1f8); *piVar1 = *piVar1 + (uVar6 ^ 0x3711ec37); piVar1 = (int *)(lVar11 + 4 + local_1f8); *piVar1 = *piVar1 + (uVar6 ^ 0xe721b0bf); uVar4 = *(ulonglong *)(lVar11 + 4 + local_1f8) ^ 0xe97fcc702ab62f93; uVar4 = uVar4 >> 2 & 0xcccccccccccccccc | uVar4 << 0x3e | (uVar4 & 0xccccccccccccccc) << 2 | uVar4 >> 0x3e; uVar4 = (uVar4 >> 4 | uVar4 << 0x3c) & 0xe1e1e1e1e1e1e1e1 | (uVar4 << 4 | uVar4 >> 0x3c) & 0x1e1e1e1e1e1e1e1e; uVar7 = (undefined4)((uVar4 >> 0x20 ^ uVar4) >> 1); uVar4 = uVar4 ^ (CONCAT44(uVar7,uVar7) & 0x3ffffff03ffffff) * 2; uVar4 = (uVar4 >> 0x27 | uVar4 << 0x19) ^ 0x79b7031b67e019be; uVar4 = (uVar4 << 0x10 | uVar4 >> 0x30) & 0xefc4103befc4103b | (uVar4 >> 0x10 | uVar4 << 0x30) & 0x103befc4103befc4; uVar4 = ((uVar4 << 4 | uVar4 >> 0x3c) & 0x9696969696969696 | (uVar4 >> 4 | uVar4 << 0x3c) & 0x6969696969696969) ^ 0x2e8282dd4d8bffa6; *(ulonglong *)(lVar11 + 4 + local_1f8) = uVar4; plVar12 = (longlong *)(uVar13 + 4 + local_1f0); *plVar12 = *plVar12 + (ulonglong)((uint)(uVar4 >> 2) & 0xa2c1201); local_290 = (uint)(*(ulonglong *)(lVar11 + 4 + local_1f8) >> 0x15) & 0x7fffffff; local_288 = (uint)(*(ulonglong *)(lVar11 + 4 + local_1f8) >> 6) ^ 0xceee86b7; local_220 = *(ulonglong *)(lVar11 + 4 + local_1f8) ^ 0x10033af337bc25c3; local_298 = 0; local_258 = 0; local_260 = 0x11857b8; local_250 = 0x1811857b8; local_280 = 0x1811857c0; FUN_1814f2d95(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 1814f5590 size=919 ############ /* WARNING: Removing unreachable block (ram,0x0001814f5742) */ /* WARNING: Removing unreachable block (ram,0x0001814f5636) */ /* WARNING: Removing unreachable block (ram,0x0001814f575b) */ /* WARNING: Removing unreachable block (ram,0x0001814f560d) */ void FUN_1814f5590(longlong param_1) { code *pcVar1; uint *puVar2; undefined8 uVar3; uint uVar4; char *pcVar5; ulonglong uVar6; undefined8 uVar7; uint uVar8; longlong unaff_R12; uint uVar9; undefined4 uVar10; undefined1 in_XMM3 [16]; undefined1 auVar11 [16]; undefined1 in_XMM4 [16]; int unaff_retaddr; undefined1 auStack_178 [32]; undefined1 local_158; uint local_148; uint *local_140; undefined *local_130; undefined8 local_120; uint local_fc; uint local_f4; undefined1 local_a0 [8]; char *local_98; ulonglong local_50; local_50 = DAT_182615970 ^ (ulonglong)auStack_178; uVar9 = (uint)&stack0x00000000; uVar8 = ((uVar9 & 0x1eff) + 1) * (uVar9 & 0x1eff) + 0x5bd1 & 0x80000001; uVar4 = uVar9 & 0x2ff; uVar7 = 0; local_f4 = 0xe61d - ((uVar4 + 2) * (uVar4 + 1) * uVar4) % 3 ^ (int)(-uVar8 | uVar8) >> 0x1f & 0xef3dU; if (((ulonglong)&stack0x00000000 & 0xf00) == 0) { uVar4 = ((uVar9 & 0xaff) * (uVar9 & 0xaff) * 0x10 + 4) % 0x13; local_fc = -((int)(-uVar4 | uVar4) >> 0x1f) - 1U | 0xc817; } else { local_fc = 0xc817; } uVar4 = ((uVar9 & 0x8ff) + 1) * (uVar9 & 0x8ff) + 0x43e3 & 0x80000001; local_fc = ((int)(-uVar4 | uVar4) >> 0x1f) * -0xccf7 ^ local_fc; local_120 = 0x100; local_140 = &DAT_181527d50; local_130 = &DAT_181527e50; local_148 = 0x811c9dc5; pcVar1 = *(code **)(*(longlong *)(param_1 + 0xb0) + 8); if (pcVar1 == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar3 = *(undefined8 *)(param_1 + 0xb8); } else { uVar3 = (*pcVar1)((longlong *)(param_1 + 0xb0)); } uVar6 = (ulonglong)DAT_1826741a0; local_158 = 1; uVar3 = FUN_1813f22a0(uVar3,local_a0,uVar6,param_1); uVar10 = FUN_1813ec390(uVar3); pcVar5 = "radiusScaling"; local_98 = "radiusScaling"; FUN_181411b10(*(undefined8 *)(param_1 + 0x328),"radiusScaling",uVar10); puVar2 = local_140; local_148 = (local_140[2] ^ (local_140[1] ^ (*local_140 ^ local_148) * 0x1000181) * 0x1000181) * 0x1000181; do { FUN_1814f5bbf(); FUN_1814f1c09(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_148 = (puVar2[3] ^ local_148) * 0x1000181; uVar10 = FUN_1814f5932(); auVar11 = sqrtps(in_XMM3,in_XMM4); /* WARNING: Could not recover jumptable at 0x0001814f5aaa. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(unaff_R12 + 0x76636)) (uVar10,pcVar5,(~uVar6 + 1 ^ 0xffffffffffffffff) + 1,auVar11._0_8_,unaff_R12 + 0x41503, unaff_R12 + 0x4f66a,unaff_R12 + -0x3a096,unaff_R12 + 0x17e,uVar7); return; } ############ FUN_ 18155d3f0 size=1896 ############ /* WARNING: Removing unreachable block (ram,0x00018155d4a5) */ /* WARNING: Removing unreachable block (ram,0x00018155d487) */ /* WARNING: Removing unreachable block (ram,0x00018155d4d6) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 FUN_18155d3f0(longlong param_1) { longlong *plVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; uint *puVar5; undefined8 uVar6; undefined4 *puVar7; uint uVar8; uint uVar9; int iVar10; uint uVar11; float fVar12; int unaff_retaddr; undefined1 auStack_248 [32]; undefined1 local_228; uint local_218; undefined8 local_210; undefined4 local_1fc; undefined *local_1f8; uint *local_1e0; undefined8 local_1d8; uint local_1c0; undefined1 local_1b8 [32]; longlong local_198; undefined1 local_148 [8]; undefined1 local_140 [24]; undefined1 local_128 [144]; ulonglong local_98; local_98 = DAT_182615970 ^ (ulonglong)auStack_248; plVar1 = (longlong *)(param_1 + 0xb0); uVar9 = (uint)&stack0x00000000 & 0x3cff; local_1fc = 0xa10; iVar10 = uVar9 * uVar9 + 1; uVar9 = (uint)&stack0x00000000 & 0x16ff; uVar8 = iVar10 * 0x24924924 + (iVar10 >> 4) + (iVar10 >> 1) >> 0x1d; uVar8 = (int)(uVar8 - 7) >> 0x1f & uVar8; uVar9 = ((uVar9 + 1) * uVar9 + 7) % 0x51; uVar9 = (int)((-uVar9 | uVar9) & (-uVar8 | uVar8)) >> 0x1f; local_1c0 = ((int)(-uVar9 | uVar9) >> 0x1f) * 0x3113 & 0x408dU ^ 0x4c8d; local_198 = param_1; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar6 = *(undefined8 *)(param_1 + 0xb8); } else { uVar6 = (**(code **)(*plVar1 + 8))(plVar1); } (**(code **)(*plVar1 + 8))(plVar1); local_228 = 1; uVar6 = FUN_1813f22a0(uVar6,local_148,DAT_182674210,param_1); FUN_1813ec390(uVar6); uVar6 = (**(code **)(*plVar1 + 8))(plVar1); local_228 = 1; uVar6 = FUN_1813f22a0(uVar6,local_140,DAT_1826742bc,param_1); FUN_1813ec390(uVar6); FUN_18055e970(plVar1,DAT_1824c441c); fVar12 = (float)FUN_18055e970(plVar1,DAT_1824c4408); FUN_1804731b0(param_1); FUN_18055e970(plVar1,DAT_1824c42d0); FUN_1804731b0(param_1); FUN_18055e970(plVar1,DAT_1824c4360); FUN_18134c250(param_1,local_1b8); local_210 = 0x2621fc0; local_1d8 = 0x100; local_1e0 = &DAT_18142c514; local_1f8 = &DAT_18142c614; puVar7 = (undefined4 *)FUN_1804dba00(local_1b8,local_128,(int)fVar12); puVar5 = local_1e0; uVar2 = puVar7[1]; uVar3 = puVar7[2]; uVar4 = puVar7[3]; *(undefined4 *)(param_1 + 0x360) = *puVar7; *(undefined4 *)(param_1 + 0x364) = uVar2; *(undefined4 *)(param_1 + 0x368) = uVar3; *(undefined4 *)(param_1 + 0x36c) = uVar4; uVar9 = local_1e0[1] ^ *local_1e0 >> 0x1c ^ (*local_1e0 ^ 0xc50) << 4; uVar9 = local_1e0[2] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = local_1e0[3] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = local_1e0[4] ^ uVar9 >> 0x1c ^ uVar9 << 4; local_218 = local_1e0[5] ^ uVar9 >> 0x1c ^ uVar9 << 4; do { FUN_1815649b4(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_218 = puVar5[6] ^ local_218 >> 0x1c ^ local_218 << 4; do { FUN_18155c15f(); FUN_18155f8f3(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = puVar5[7] ^ local_218 >> 0x1c ^ local_218 << 4; uVar9 = puVar5[8] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = puVar5[9] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = puVar5[10] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = puVar5[0xb] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = puVar5[0xc] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = puVar5[0xd] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = puVar5[0xe] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = puVar5[0xf] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = puVar5[0x10] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar9 = puVar5[0x11] ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar8 = uVar9 << 4; uVar9 = puVar5[0x12] ^ uVar9 >> 0x1c ^ uVar8; uVar11 = uVar9 << 4; local_218 = puVar5[0x13] ^ uVar9 >> 0x1c ^ uVar11; /* WARNING: Call to offcut address within same function */ func_0x00018155d9eb(local_218,uVar8,uVar11); return _DAT_49d58b4d5d415ac2; } ############ FUN_ 181595ef0 size=148 ############ void FUN_181595ef0(longlong param_1) { longlong *plVar1; plVar1 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } *(undefined4 *)(param_1 + 0x310) = *(undefined4 *)(param_1 + 0x368); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } *(undefined4 *)(param_1 + 0x314) = *(undefined4 *)(param_1 + 0x36c); return; } ############ FUN_ 1815cab20 size=874 ############ void FUN_1815cab20(longlong param_1,longlong param_2) { int *piVar1; longlong *plVar2; float fVar3; int iVar4; int iVar5; int iVar6; undefined8 uVar7; longlong lVar8; undefined4 *puVar9; float fVar10; undefined8 *local_res10; undefined8 *local_res18; undefined1 local_res20 [4]; undefined4 local_res24; undefined1 local_e8 [4]; undefined4 local_e4; void *local_e0; ulonglong local_d8; undefined8 local_d0; undefined8 uStack_c8; undefined1 local_c0; undefined8 local_b8; undefined1 local_b0 [8]; undefined4 local_a8; undefined4 uStack_a4; undefined4 uStack_a0; undefined4 uStack_9c; float local_98 [3]; float fStack_8c; undefined1 local_88 [88]; local_b8 = 0xfffffffffffffffe; iVar4 = *(int *)(param_1 + 0x2c); iVar5 = *(int *)(param_1 + 0x28); plVar2 = (longlong *)(param_1 + 0xb0); if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } uVar7 = FUN_1813f22a0(*(undefined8 *)(param_1 + 0xb8),local_b0,DAT_182674238,param_1); fVar10 = (float)FUN_1813ec390(uVar7); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); fVar3 = *(float *)(lVar8 + 0x88); iVar6 = FUN_1815cb020(param_1 + 200); if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } FUN_1813f22a0(*(undefined8 *)(param_1 + 0xb8),local_res20,DAT_1826741d8,param_1); FUN_181296c00(param_2,local_res24); if ((0.0 < fVar3 * fVar10) && (iVar6 != 2)) { *(bool *)(param_1 + 0xd8) = iVar6 == 0; *(bool *)(param_1 + 0xd9) = iVar6 == 0; *(bool *)(param_1 + 0xdb) = iVar6 == 1; *(bool *)(param_1 + 0xda) = iVar6 == 1; local_e0 = (void *)0x0; local_d8 = 0; local_d0 = 0; uStack_c8 = 0; local_c0 = 1; FUN_18129d5a0(&local_e0); FUN_181295ed0(param_2,&local_e0); local_d8 = local_d8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_e0); } puVar9 = (undefined4 *) (**(code **)(**(longlong **)(param_2 + 8) + 0x58))(*(longlong **)(param_2 + 8),local_88); local_a8 = *puVar9; uStack_a4 = puVar9[1]; uStack_a0 = puVar9[2]; uStack_9c = puVar9[3]; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_a8,0); iVar6 = *(int *)(param_1 + 0x2c); if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } local_res10 = (undefined8 *)**(longlong **)(*(longlong *)(param_1 + 0xb8) + 0x68); if (local_res10 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res10 + 1) = *(int *)(local_res10 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_res10,(float)iVar6 * DAT_1824c3e28); FUN_181251cf0(&local_res10,&local_res18,DAT_1824c3c7c); if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res10)(local_res10,1); } } if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_res18); if (local_res18 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res18 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_res18)(local_res18,1); } } if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } FUN_1813f22a0(*(undefined8 *)(param_1 + 0xb8),local_e8,DAT_182674178,param_1); FUN_181296c00(param_2,local_e4); lVar8 = (**(code **)(*plVar2 + 8))(plVar2); local_98[0] = *(float *)(lVar8 + 0x88) * DAT_1824c4334 + 0.0; local_98[2] = ((float)iVar5 + 0.0) - local_98[0]; if (local_98[2] <= 0.0) { local_98[2] = 0.0; } local_98[1] = 0.0; fStack_8c = (float)iVar4; FUN_1812963b0(param_2,param_1 + 8,local_98,0x21,1); return; } ############ FUN_ 1815caea0 size=209 ############ float * FUN_1815caea0(longlong param_1,float *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong lVar3; float fVar4; float fVar5; undefined8 *local_res8; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; lVar3 = (**(code **)(*(longlong *)(param_1 + -0x18) + 8))(param_1 + -0x18); fVar5 = *(float *)(lVar3 + 0x88) * DAT_1824c4408; if (*(longlong *)(param_1 + -0x10) == 0) { FUN_180569ff0(param_1 + -200); } uVar6 = FUN_1813f2500(*(undefined8 *)(param_1 + -0x10),&local_res8,fVar5,param_4,uVar6); fVar4 = (float)FUN_1812518d0(uVar6,param_1 + -0xc0); fVar4 = ceilf(fVar4); if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res8)(local_res8,1); } } *param_2 = (float)(int)fVar4; param_2[1] = fVar5; return param_2; } ############ FUN_ 1815cafc0 size=80 ############ void FUN_1815cafc0(longlong param_1,undefined8 param_2) { undefined1 local_res8 [4]; undefined4 local_resc; if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(); } FUN_1813f22a0(*(undefined8 *)(param_1 + 0xb8),local_res8,DAT_18267425c,param_1); FUN_1812a3160(param_2,local_resc); return; } ############ FUN_ 181611210 size=160 ############ void FUN_181611210(longlong param_1) { longlong *plVar1; plVar1 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } *(undefined4 *)(param_1 + 0x280) = 0xffffffff; if (*(code **)(*plVar1 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } } else { (**(code **)(*plVar1 + 8))(plVar1); } *(undefined4 *)(param_1 + 0x284) = 0xff6b7982; return; } ############ FUN_ 1816112c0 size=732 ############ void FUN_1816112c0(longlong param_1,longlong param_2) { int *piVar1; longlong *plVar2; int iVar3; uint uVar4; longlong lVar5; uint *puVar6; undefined *puVar7; char *pcVar8; float fVar9; float fVar10; float fVar11; undefined8 *local_res20; undefined8 *local_a8; longlong local_a0; longlong local_98 [3]; float fStack_80; float fStack_7c; undefined4 local_78; float local_74; float local_70; float local_6c; float local_64; float local_5c; undefined4 local_58; undefined4 uStack_54; float fStack_50; float fStack_4c; local_98[1] = 0xfffffffffffffffe; plVar2 = (longlong *)(param_1 + 0xb0); if (*(code **)(*plVar2 + 8) == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (*(longlong *)(param_1 + 0xb8) == 0) { FUN_180569ff0(param_1); } lVar5 = *(longlong *)(param_1 + 0xb8); } else { lVar5 = (**(code **)(*plVar2 + 8))(plVar2); } (**(code **)(*plVar2 + 8))(plVar2); local_res20 = (undefined8 *)**(longlong **)(lVar5 + 0x68); if (local_res20 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res20 + 1) = *(int *)(local_res20 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_res20); FUN_181251cf0(&local_res20,&local_a8,DAT_1824c3c7c); if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res20 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res20)(local_res20,1); } } if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_a8); if (local_a8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_a8 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_a8)(local_a8,1); } } fVar10 = (float)*(int *)(param_1 + 0x2c); fVar11 = (float)*(int *)(param_1 + 0x28); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x280)); puVar7 = &DAT_1822d5d64; if (*(char *)(param_1 + 0xd8) != '\0') { puVar7 = &DAT_182218efc; } FUN_18049c4e0(&local_a0,puVar7); lVar5 = (**(code **)(*plVar2 + 8))(plVar2); fVar9 = *(float *)(lVar5 + 0x88) * DAT_1824c4408; fStack_7c = fVar10; if (fVar9 <= fVar10) { fStack_7c = fVar9; } local_64 = fStack_7c + 0.0; local_5c = fVar10 - fStack_7c; local_98[2] = 0; local_58 = 0; uStack_54 = 0; fStack_80 = fVar11; fStack_50 = fVar11; fStack_4c = fStack_7c; FUN_1812963b0(param_2,&local_a0,&local_58,9,1); puVar6 = (uint *)(local_a0 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x284)); pcVar8 = "right"; if (*(char *)(param_1 + 0xd8) != '\0') { pcVar8 = "side"; } FUN_18049c4e0(local_98,pcVar8); local_78 = 0; local_74 = local_64; local_6c = local_5c; local_70 = fVar11; FUN_1812963b0(param_2,local_98,&local_78,9,1); puVar6 = (uint *)(local_98[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return; } ############ FUN_ 1812a04f0 size=280 ############ float * FUN_1812a04f0(float *param_1,float *param_2) { float fVar1; float fVar2; undefined8 uVar3; undefined8 uVar4; uint uVar5; double dVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; uVar5 = DAT_1824c4f30; fVar1 = *param_1; dVar6 = (double)(fVar1 * param_1[4] - param_1[1] * param_1[3]); if (dVar6 != 0.0) { dVar6 = DAT_1824c4140 / dVar6; fVar2 = param_1[2]; fVar7 = (float)((uint)param_1[3] ^ DAT_1824c4f30); fVar9 = (float)((uint)param_1[1] ^ DAT_1824c4f30); fVar8 = (float)((double)param_1[4] * dVar6); *param_2 = fVar8; fVar11 = (float)((double)fVar7 * dVar6); fVar10 = (float)((double)fVar1 * dVar6); fVar1 = param_1[5]; fVar7 = (float)((double)fVar9 * dVar6); param_2[3] = fVar11; param_2[1] = fVar7; param_2[4] = fVar10; param_2[5] = (float)((uint)(fVar2 * fVar11) ^ uVar5) - fVar1 * fVar10; param_2[2] = (float)((uint)(fVar2 * fVar8) ^ uVar5) - fVar1 * fVar7; return param_2; } uVar4 = *(undefined8 *)(param_1 + 2); uVar3 = *(undefined8 *)(param_1 + 4); *(undefined8 *)param_2 = *(undefined8 *)param_1; *(undefined8 *)(param_2 + 2) = uVar4; *(undefined8 *)(param_2 + 4) = uVar3; return param_2; } ############ FUN_ 18134b740 size=213 ############ undefined8 FUN_18134b740(longlong param_1,undefined8 param_2) { longlong lVar1; longlong lVar2; longlong lVar3; char cVar4; int iVar5; undefined8 *puVar6; undefined8 uVar7; longlong lVar8; undefined8 local_res8 [2]; undefined1 local_res18 [8]; undefined1 local_res20 [8]; iVar5 = *(int *)(param_1 + 100) + -1; lVar8 = (longlong)iVar5; if (-1 < iVar5) { do { lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x58) + lVar8 * 8); if ((*(byte *)(lVar1 + 0xa8) & 2) != 0) { lVar2 = lVar1; for (lVar3 = *(longlong *)(lVar1 + 0x18); lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x18)) { lVar2 = lVar3; } puVar6 = (undefined8 *)FUN_18051e060(local_res18,lVar2,param_2); uVar7 = *puVar6; if (lVar2 != lVar1) { if (*(longlong *)(lVar1 + 0x18) != lVar2) { puVar6 = (undefined8 *)FUN_180520050(local_res20,lVar2); uVar7 = *puVar6; } FUN_18051e060(local_res8,lVar1,uVar7); uVar7 = local_res8[0]; } local_res8[0] = uVar7; cVar4 = FUN_181343fe0(lVar1,local_res8[0]); if (cVar4 != '\0') { uVar7 = FUN_181343e50(lVar1,local_res8[0]); return uVar7; } } lVar8 = lVar8 + -1; } while (-1 < lVar8); } return 0; } ############ FUN_ 181343e50 size=197 ############ longlong * FUN_181343e50(longlong *param_1,ulonglong param_2) { undefined8 uVar1; bool bVar2; char cVar3; int iVar4; undefined8 *puVar5; longlong *plVar6; longlong lVar7; undefined1 local_res8 [8]; if ((*(byte *)(param_1 + 0x15) & 2) != 0) { if ((((uint)param_2 < *(uint *)(param_1 + 5)) && ((uint)(param_2 >> 0x20) < *(uint *)((longlong)param_1 + 0x2c))) && (cVar3 = (**(code **)(*param_1 + 0x98))(param_1,param_2,param_2 >> 0x20), cVar3 != '\0')) { bVar2 = true; } else { bVar2 = false; } if (bVar2) { iVar4 = *(int *)((longlong)param_1 + 0x4c) + -1; lVar7 = (longlong)iVar4; if (-1 < iVar4) { do { uVar1 = *(undefined8 *)(param_1[8] + lVar7 * 8); puVar5 = (undefined8 *)FUN_18051e060(local_res8,uVar1,param_2); plVar6 = (longlong *)FUN_181343e50(uVar1,*puVar5); if (plVar6 != (longlong *)0x0) { return plVar6; } lVar7 = lVar7 + -1; } while (-1 < lVar7); } return param_1; } } return (longlong *)0x0; } ############ FUN_ 180520050 size=68 ############ undefined8 FUN_180520050(undefined8 param_1,longlong param_2,longlong param_3,undefined8 param_4) { undefined8 *puVar1; undefined1 local_res10 [24]; if (*(longlong *)(param_3 + 0x18) != param_2) { puVar1 = (undefined8 *)FUN_180520050(local_res10); param_4 = *puVar1; } FUN_18051e060(param_1,param_3,param_4); return param_1; } ############ FUN_ 1804fe350 size=675 ############ void FUN_1804fe350(longlong param_1,undefined8 param_2) { int iVar1; longlong lVar2; longlong lVar3; char cVar4; undefined1 uVar5; DWORD DVar6; undefined8 *puVar7; longlong lVar8; undefined8 uVar9; uint uVar10; undefined8 uVar11; undefined1 local_res8 [8]; undefined8 local_res10; undefined1 local_res18 [8]; lVar2 = *(longlong *)(param_1 + 0x18); uVar11 = param_2; if (lVar2 != 0) { lVar3 = lVar2; for (lVar8 = *(longlong *)(lVar2 + 0x18); lVar8 != 0; lVar8 = *(longlong *)(lVar8 + 0x18)) { lVar3 = lVar8; } puVar7 = (undefined8 *)FUN_18051e060(local_res8,lVar3,param_2); uVar11 = *puVar7; if (lVar3 != lVar2) { if (*(longlong *)(lVar2 + 0x18) != lVar3) { puVar7 = (undefined8 *)FUN_180520050(local_res18,lVar3); uVar11 = *puVar7; } FUN_18051e060(&local_res10,lVar2,uVar11); uVar11 = local_res10; } } local_res10 = uVar11; DVar6 = timeGetTime(); uVar11 = local_res10; if (DVar6 < DAT_1826737fc) { if (DVar6 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar6; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar6; } if ((*(int *)(*(longlong *)(param_1 + 0x18) + 0x178) + 100U < DVar6) && (cVar4 = FUN_181343f20(*(longlong *)(param_1 + 0x18),local_res10,1), cVar4 != '\0')) { lVar2 = *(longlong *)(param_1 + 0x18); lVar3 = *(longlong *)(lVar2 + 0x150); if (lVar3 == 0) { lVar8 = 0; } else { lVar8 = *(longlong *)(lVar3 + 0x10); } if (((lVar8 != 0) && (*(char *)(lVar2 + 0x13c) == '\0')) && ((*(longlong *)(lVar2 + 0x158) == 0 || ((*(byte *)(*(longlong *)(lVar2 + 0x158) + 0xa8) >> 1 & 1) == 0)))) { if (lVar3 == 0) { uVar9 = 0; } else { uVar9 = *(undefined8 *)(lVar3 + 0x10); } uVar9 = __RTDynamicCast(uVar9,0,&juce::Component::RTTI_Type_Descriptor, &juce::PopupMenu::HelperClasses::ItemComponent::RTTI_Type_Descriptor,0 ); FUN_1804fdba0(*(undefined8 *)(param_1 + 0x18),uVar9); } } FUN_1804fe830(param_1,param_2,uVar11,DVar6); lVar2 = *(longlong *)(param_1 + 0x18); if (((*(int *)(lVar2 + 0x148) != 0) || (*(char *)(lVar2 + 0x139) != '\0')) && ((uint)uVar11 < *(uint *)(lVar2 + 0x28))) { uVar10 = (uint)((ulonglong)uVar11 >> 0x20); if ((uVar10 < *(uint *)(lVar2 + 0x2c)) || ((*(byte *)(*(longlong *)(param_1 + 0x20) + 0x28) & 0x70) != 0)) { iVar1 = *(int *)(lVar2 + 0x148); if (((iVar1 != 0) || (*(char *)(lVar2 + 0x139) != '\0')) && ((0 < iVar1 && ((int)uVar10 < 0x18)))) { uVar5 = FUN_1804fec90(param_1,DVar6,0xffffffff); goto LAB_1804fe591; } if ((((iVar1 != 0) || (*(char *)(lVar2 + 0x139) != '\0')) && (iVar1 < *(int *)(lVar2 + 0x144) - *(int *)(lVar2 + 0x134))) && ((int)(*(uint *)(lVar2 + 0x2c) - 0x18) < local_res10._4_4_)) { uVar5 = FUN_1804fec90(param_1,DVar6,1); goto LAB_1804fe591; } } } *(undefined8 *)(param_1 + 0x30) = 0x3ff0000000000000; uVar5 = 0; LAB_1804fe591: cVar4 = FUN_1804fc6a0(*(undefined8 *)(param_1 + 0x18)); lVar2 = *(longlong *)(param_1 + 0x18); if (((*(char *)(lVar2 + 0x13b) != '\0') && (*(char *)(lVar2 + 0x138) != '\0')) && (cVar4 == '\0')) { FUN_1804fb940(lVar2,0,1); return; } FUN_1804fe600(param_1,uVar11,DVar6,*(undefined1 *)(param_1 + 0x40),uVar5,cVar4); return; } ############ FUN_ 180506420 size=299 ############ undefined8 * FUN_180506420(longlong param_1,undefined8 *param_2) { longlong lVar1; longlong *plVar2; longlong lVar3; longlong lVar4; int iVar5; undefined8 *puVar6; longlong *plVar8; int iVar9; undefined8 local_res8; undefined1 local_res18 [8]; undefined1 local_res20 [8]; undefined1 local_28 [16]; undefined8 uVar7; lVar1 = param_1 + -0xb0; puVar6 = (undefined8 *)FUN_18133c1f0(local_res18); iVar5 = (int)*puVar6; if (lVar1 != 0) { lVar3 = lVar1; for (lVar4 = *(longlong *)(param_1 + -0x98); lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x18)) { lVar3 = lVar4; } puVar6 = (undefined8 *)FUN_18051e060(local_res20,lVar3); uVar7 = *puVar6; if (lVar3 != lVar1) { if (*(longlong *)(param_1 + -0x98) != lVar3) { FUN_180520050(local_28,lVar3,*(longlong *)(param_1 + -0x98),*puVar6); } FUN_18051e060(&local_res8,lVar1); uVar7 = local_res8; } iVar5 = (int)uVar7; } if (-1 < iVar5) { iVar9 = 0; lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x118); plVar8 = *(longlong **)(lVar1 + 0xc0); plVar2 = plVar8 + *(int *)(lVar1 + 0xcc); for (; plVar8 != plVar2; plVar8 = plVar8 + 1) { lVar1 = *plVar8; if (((*(byte *)(lVar1 + 0xc) & 1) != 0) && (iVar9 = iVar9 + *(int *)(lVar1 + 0x10), iVar5 < iVar9)) { if ((*(int *)(lVar1 + 8) != 0) && (plVar2 = *(longlong **)(*(longlong *)(param_1 + 8) + 0x120), plVar2 != (longlong *)0x0)) { (**(code **)(*plVar2 + 0x50))(plVar2,param_2,*(undefined4 *)(param_1 + 0x20)); return param_2; } break; } } } *param_2 = &DAT_1821dbf98; return param_2; } ############ FUN_ 18050b120 size=249 ############ undefined8 FUN_18050b120(longlong param_1,undefined8 param_2) { longlong lVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; longlong *plVar5; undefined8 uVar6; undefined8 local_res8; undefined1 local_res18 [8]; undefined1 local_res20 [8]; undefined1 local_38 [8]; undefined1 local_30 [24]; lVar1 = param_1 + -0xb0; puVar4 = (undefined8 *)FUN_18133c1f0(local_res18); uVar6 = *puVar4; if (lVar1 != 0) { lVar2 = lVar1; for (lVar3 = *(longlong *)(param_1 + -0x98); lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x18)) { lVar2 = lVar3; } puVar4 = (undefined8 *)FUN_18051e060(local_res20,lVar2); uVar6 = *puVar4; if (lVar2 != lVar1) { if (*(longlong *)(param_1 + -0x98) != lVar2) { puVar4 = (undefined8 *)FUN_180520050(local_38,lVar2); uVar6 = *puVar4; } FUN_18051e060(&local_res8,lVar1,uVar6); uVar6 = local_res8; } } local_res8 = uVar6; if (*(longlong *)(*(longlong *)(param_1 + 0x18) + 0x108) != 0) { plVar5 = (longlong *)FUN_18050ab80(lVar1,local_res8._4_4_,local_30); if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x80))(plVar5,param_2); return param_2; } } plVar5 = (longlong *)(*(longlong *)(param_1 + 0x18) + 0xb0); (**(code **)(*plVar5 + 8))(plVar5,param_2); return param_2; } ############ FUN_ 18133e370 size=156 ############ undefined8 * FUN_18133e370(longlong param_1,undefined8 *param_2) { longlong lVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined1 local_res10 [8]; undefined1 local_res18 [8]; puVar4 = (undefined8 *)FUN_18133c1f0(local_res10); if (param_1 == 0) { *param_2 = *puVar4; return param_2; } lVar3 = *(longlong *)(param_1 + 0x18); lVar2 = param_1; while (lVar1 = lVar3, lVar1 != 0) { lVar2 = lVar1; lVar3 = *(longlong *)(lVar1 + 0x18); } puVar4 = (undefined8 *)FUN_18051e060(local_res18,lVar2); if (lVar2 != param_1) { FUN_180520050(param_2,lVar2,param_1); return param_2; } *param_2 = *puVar4; return param_2; } ############ FUN_ 1812f2a70 size=187 ############ void FUN_1812f2a70(longlong param_1) { longlong lVar1; longlong lVar2; int iVar3; undefined8 *puVar4; undefined8 uVar5; longlong lVar6; undefined8 local_res8; undefined1 local_res10 [8]; undefined1 local_res18 [8]; undefined1 local_res20 [8]; FUN_1812a7720(); puVar4 = (undefined8 *)FUN_18133c1f0(local_res10); lVar6 = param_1 + -0xb8; uVar5 = *puVar4; if (lVar6 != 0) { lVar1 = lVar6; for (lVar2 = *(longlong *)(param_1 + -0xa0); lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x18)) { lVar1 = lVar2; } puVar4 = (undefined8 *)FUN_18051e060(local_res18,lVar1,*puVar4); uVar5 = *puVar4; if (lVar1 != lVar6) { if (*(longlong *)(param_1 + -0xa0) != lVar1) { puVar4 = (undefined8 *)FUN_180520050(local_res20,lVar1,*(longlong *)(param_1 + -0xa0),uVar5) ; uVar5 = *puVar4; } FUN_18051e060(&local_res8,lVar6,uVar5); uVar5 = local_res8; } } iVar3 = FUN_1812f3b60(lVar6,uVar5); if (*(int *)(param_1 + 0x48) != iVar3) { FUN_1812f3ae0(lVar6); *(int *)(param_1 + 0x48) = iVar3; FUN_1812f3ae0(lVar6,iVar3); } return; } ############ FUN_ 18124d930 size=398 ############ void FUN_18124d930(undefined4 *param_1,longlong param_2,longlong *param_3) { int *piVar1; longlong *plVar2; longlong lVar3; char cVar4; int iVar5; undefined8 *puVar6; longlong *local_res18; undefined8 *local_res20; undefined8 local_28; float local_20; undefined4 local_1c; undefined4 local_18; float local_14; if (*param_3 != 0) { FUN_181290930(param_3,&local_res18,3,param_3,0xfffffffffffffffe); if (local_res18 != (longlong *)0x0) { if (*(code **)(*local_res18 + 0x28) == FUN_181291820) { iVar5 = (int)local_res18[1]; } else { iVar5 = (**(code **)(*local_res18 + 0x28))(); } if (1 < iVar5) { puVar6 = (undefined8 *)(**(code **)(*local_res18 + 0x10))(local_res18,&local_res20); plVar2 = (longlong *)*puVar6; *puVar6 = local_res18; local_res18 = plVar2; if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res20 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_res20)(local_res20,1); } } } } FUN_18124daf0(&local_res18,param_1[1]); FUN_181296c00(param_2,*param_1); local_28 = 0x3f800000; local_20 = (float)(int)param_1[2]; local_1c = 0; local_18 = 0x3f800000; local_14 = (float)(int)param_1[3]; if ((local_res18 != (longlong *)0x0) && (cVar4 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(), cVar4 == '\0')) { (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_2 + 8) + 0x48)) (*(longlong **)(param_2 + 8),&local_res18,&local_28); FUN_181295f50(param_2); (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); } if (local_res18 != (longlong *)0x0) { LOCK(); plVar2 = local_res18 + 1; lVar3 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)*local_res18)(local_res18,1); } } } return; } ############ FUN_ 1804f96d0 size=1153 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804f96d0(longlong param_1,longlong param_2,char param_3,char param_4) { longlong lVar1; float fVar2; char cVar3; longlong lVar4; undefined8 uVar5; uint uVar6; undefined4 uVar7; ulonglong uVar8; float fVar9; float fVar10; float fVar11; float fVar12; undefined4 local_res20; float local_d8; float fStack_d4; float fStack_d0; float fStack_cc; float local_c8; float fStack_c4; float fStack_c0; float fStack_bc; uVar6 = DAT_18262b5a4; for (lVar1 = *(longlong *)(param_1 + 0x18); lVar1 != 0; lVar1 = *(longlong *)(lVar1 + 0x18)) { lVar4 = __RTDynamicCast(lVar1,0,&juce::Component::RTTI_Type_Descriptor, &juce::ResizableWindow::RTTI_Type_Descriptor,0); if (lVar4 != 0) { FUN_18134a8d0(lVar4,&local_res20,0x1005700,0); uVar6 = local_res20; break; } } fVar2 = DAT_1824c3db8; fVar9 = (float)*(int *)(param_1 + 0x28) * DAT_1824c3d8c; fVar10 = (float)*(int *)(param_1 + 0x2c) * DAT_1824c3d8c; fVar11 = DAT_1824c3ddc; if (param_4 != '\0') { fVar11 = DAT_1824c3db8; } fVar12 = fVar10; if (fVar9 <= fVar10) { fVar12 = fVar9; } fVar12 = fVar12 * fVar11; FUN_181296c00(param_2,uVar6); fVar11 = fVar12 * DAT_1824c41e0; local_d8 = fVar9 - fVar12; fStack_d4 = fVar10 - fVar12; fStack_d0 = fVar11; fStack_cc = fVar11; FUN_181295820(param_2,&local_d8); uVar8 = (ulonglong)*(uint *)(param_1 + 0x1c8); FUN_18049fe40(&local_c8,uVar6); FUN_18049fe40(&local_d8,uVar8 & 0xffffffff); if ((float)(double)CONCAT44((uint)((ulonglong)(double)(local_c8 - local_d8) >> 0x20) & (uint)((ulonglong)DAT_1824c4f10 >> 0x20), SUB84((double)(local_c8 - local_d8),0) & (uint)DAT_1824c4f10) < fVar2) { FUN_1812a2fc0(&local_res20); uVar8 = (ulonglong)local_res20; } uVar7 = (undefined4)uVar8; if ((*(byte *)(param_1 + 0xa9) & 0x10) == 0) { if (*(longlong *)(param_1 + 0x18) != 0) { cVar3 = FUN_18133eaa0(); uVar7 = (undefined4)uVar8; if (cVar3 == '\0') goto LAB_1804f9a1a; } if (param_3 == '\0') goto LAB_1804f9a29; local_res20 = CONCAT13((char)(uVar8 >> 0x18), CONCAT12((char)(int)(DAT_1824c4548 - (float)(int)(0xff - ((uint)(uVar8 >> 0x10) & 0xff)) * DAT_1824c3e08), CONCAT11((char)(int)(DAT_1824c4548 - (float)(int)(0xff - ((uint)(uVar8 >> 8) & 0xff)) * DAT_1824c3e08), (char)(int)(DAT_1824c4548 - (float)(int)(0xff - ((uint)uVar8 & 0xff)) * DAT_1824c3e08)))); } else { LAB_1804f9a1a: local_res20 = CONCAT13(0x99,(int3)uVar7); } uVar8 = (ulonglong)local_res20; LAB_1804f9a29: FUN_181296c00(param_2,uVar8 & 0xffffffff); local_c8 = fVar9 - fVar12; fStack_c4 = fVar10 - fVar12; fStack_c0 = fVar11; fStack_bc = fVar11; FUN_1812954c0(param_2,&local_c8,fVar12 * DAT_1824c3d18); cVar3 = FUN_1804d6ee0(param_1); if (cVar3 == '\0') { param_1 = param_1 + 0x1d0; } else { param_1 = param_1 + 0x1f8; } uVar5 = FUN_18129b390(param_1,&local_c8,fVar9 - fVar12 * DAT_1824c3da8, fVar10 - fVar12 * DAT_1824c3da8,fVar11 * DAT_1824c3da8, fVar11 * DAT_1824c3da8,1,0x24); cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if ((cVar3 == '\0') && (cVar3 = FUN_18129dff0(param_1), cVar3 == '\0')) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8))(*(longlong **)(param_2 + 8),param_1,uVar5); } return; } ############ FUN_ 1804f9ba0 size=602 ############ void FUN_1804f9ba0(longlong param_1,longlong param_2,char param_3,char param_4) { int iVar1; char cVar2; longlong lVar3; undefined8 uVar4; longlong lVar5; undefined4 *puVar6; undefined4 uVar7; float fVar8; float fVar9; float fVar10; undefined4 local_res18; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined1 local_58 [48]; uVar7 = DAT_18262b5a4; lVar5 = *(longlong *)(param_1 + 0x18); do { if (lVar5 == 0) { LAB_1804f9c49: FUN_1812a3160(param_2,uVar7); if (((*(byte *)(param_1 + 0xa9) & 0x10) == 0) && (((*(longlong *)(param_1 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), cVar2 != '\0')) && (param_4 == '\0')))) { local_res18 = *(undefined4 *)(param_1 + 0x1c8); } else { local_res18 = CONCAT13(0x99,(int3)*(undefined4 *)(param_1 + 0x1c8)); } FUN_181296c00(param_2,local_res18); if (param_3 != '\0') { puVar6 = (undefined4 *) (**(code **)(**(longlong **)(param_2 + 8) + 0x58)) (*(longlong **)(param_2 + 8),local_58); local_68 = *puVar6; uStack_64 = puVar6[1]; uStack_60 = puVar6[2]; uStack_5c = puVar6[3]; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_68,0); FUN_181296c00(param_2,uVar7); } cVar2 = FUN_1804d6ee0(param_1); lVar5 = param_1 + 0x1f8; if (cVar2 == '\0') { lVar5 = param_1 + 0x1d0; } iVar1 = *(int *)(param_1 + 0x2c); fVar9 = (float)((uint)((float)iVar1 * DAT_1824c3d54) ^ DAT_1824c4f30); fVar8 = fVar9 * DAT_1824c41e0 + (float)iVar1; if (fVar8 <= 0.0) { fVar8 = 0.0; } fVar10 = fVar9 * DAT_1824c41e0 + (float)iVar1; if (fVar10 <= 0.0) { fVar10 = 0.0; } FUN_18129b390(lVar5,local_58,(float)((*(int *)(param_1 + 0x28) - iVar1) / 2) - fVar9, 0.0 - fVar9,fVar8,fVar10,1,0x24); cVar2 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if ((cVar2 == '\0') && (cVar2 = FUN_18129dff0(lVar5), cVar2 == '\0')) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),lVar5,local_58); } return; } lVar3 = __RTDynamicCast(lVar5,0,&juce::Component::RTTI_Type_Descriptor, &juce::ResizableWindow::RTTI_Type_Descriptor,0); if (lVar3 != 0) { uVar4 = FUN_18134adf0(lVar3); lVar5 = __RTDynamicCast(uVar4,0,&juce::LookAndFeel::RTTI_Type_Descriptor, &juce::LookAndFeel_V4::RTTI_Type_Descriptor,0); if (lVar5 != 0) { uVar7 = *(undefined4 *)(lVar5 + 0x14c); } goto LAB_1804f9c49; } lVar5 = *(longlong *)(lVar5 + 0x18); } while( true ); } ############ FUN_ 1805052d0 size=196 ############ void FUN_1805052d0(longlong param_1,longlong param_2,undefined4 param_3,undefined4 param_4) { undefined4 *puVar1; undefined1 local_res18 [8]; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),param_1 + 0x108); puVar1 = (undefined4 *)FUN_18134a8d0(*(undefined8 *)(param_1 + 0x100),local_res18,0x1001c00,1); FUN_181296c00(param_2,*puVar1); _uStack_10 = CONCAT44(param_4,param_3); local_18 = 0; FUN_181296100(param_2,param_1 + 0x110,&local_18,0x24,1,0); return; } ############ FUN_ 180507e00 size=1488 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180507e00(int *param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { uint uVar1; longlong lVar2; wint_t _C; int iVar3; undefined8 uVar4; uint *_Memory; undefined4 *puVar5; int iVar6; int iVar7; int iVar8; longlong *plVar9; int iVar10; int iVar11; int iVar12; int iVar13; int iVar14; int iStackX_1c; void *local_148; undefined8 local_140; void *local_138; undefined8 local_130; void *local_128; undefined8 local_120; double local_118; longlong local_110; undefined8 local_108; undefined8 uStack_100; ulonglong local_f8; undefined8 local_f0; undefined8 local_e8; undefined8 uStack_e0; ulonglong local_d8; undefined8 local_a8; undefined8 uStack_a0; ulonglong local_98; undefined8 local_68; undefined8 uStack_60; ulonglong local_58; local_f0 = 0xfffffffffffffffe; if (param_1[0x13] == 0) { _C = FUN_180493050(*(undefined8 *)(param_1 + 8),0); iVar3 = iswspace(_C); if (iVar3 != 0) { return; } } iVar3 = 0; local_148 = (void *)0x0; local_140 = 0; FUN_1804aebd0(&local_148,200); uVar4 = FUN_180506710(*(undefined8 *)(param_1 + 8),&local_110,param_1[0x13]); local_118 = (double)(((float)param_1[3] + (float)param_1[1]) - (float)param_1[4]) + DAT_1824c4520; FUN_1812510e0(&local_148,*(undefined8 *)(param_1 + 10),uVar4,param_1[5],(float)local_118._0_4_, DAT_1824c4620,0); _Memory = (uint *)(local_110 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iStackX_1c = (int)((ulonglong)param_3 >> 0x20); iVar8 = local_140._4_4_; iVar7 = 0; if (*(int *)(*(longlong *)(param_1 + 8) + 0xc) + *param_1 <= iStackX_1c) { iVar10 = (int)param_3; if (iVar10 <= *param_1) { FUN_181296c00(param_2,param_4); local_68 = _DAT_1824c4780; uStack_60 = _UNK_1824c4788; local_58 = (ulonglong)DAT_1824c3ea4; FUN_18124efb0(&local_148,param_2,&local_68); FUN_1804aeb50(&local_148); /* WARNING: Subroutine does not return */ free(local_148); } local_138 = (void *)0x0; local_130 = 0; local_130._4_4_ = 0; iVar13 = 0; if (0 < local_140._4_4_) { FUN_1804aebd0(&local_138,local_140._4_4_ / 2 + 8 + local_140._4_4_ & 0xfffffff8); iVar13 = (int)local_130; } iVar11 = iVar8 + -1; if (-1 < iVar11) { puVar5 = (undefined4 *)((longlong)local_148 + 0xc); plVar9 = (longlong *)((longlong)local_130._4_4_ * 0x20 + (longlong)local_138); do { lVar2 = *(longlong *)(puVar5 + -3); *plVar9 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } *(undefined4 *)(plVar9 + 1) = puVar5[-1]; *(undefined4 *)((longlong)plVar9 + 0xc) = *puVar5; *(undefined4 *)(plVar9 + 2) = puVar5[1]; *(undefined4 *)((longlong)plVar9 + 0x14) = puVar5[2]; *(undefined4 *)(plVar9 + 3) = puVar5[3]; *(undefined1 *)((longlong)plVar9 + 0x1c) = *(undefined1 *)(puVar5 + 4); puVar5 = puVar5 + 8; iVar11 = iVar11 + -1; plVar9 = plVar9 + 4; } while (-1 < iVar11); iVar8 = local_140._4_4_; iVar13 = (int)local_130; } iVar14 = local_130._4_4_ + iVar8; local_130 = CONCAT44(iVar14,(int)local_130); iVar6 = iVar10 - *param_1; iVar11 = iVar14 + iVar6; iVar12 = iVar7; if ((-1 < iVar11) && (iVar12 = iVar11, iVar14 < iVar11)) { iVar12 = iVar14; } iVar11 = iVar3; if ((-1 < iVar6) && (iVar11 = iVar6, iVar14 < iVar6)) { iVar11 = iVar14; } iVar12 = iVar12 - iVar11; if (0 < iVar12) { FUN_1804b0ee0(&local_138,iVar11,iVar12); iVar14 = iVar14 - iVar12; local_130 = CONCAT44(iVar14,(int)local_130); iVar11 = iVar7; if (0 < iVar14 * 2) { iVar11 = iVar14 * 2; } if (iVar11 < iVar13) { if (iVar14 < 2) { iVar14 = 2; } if (iVar14 < iVar13) { FUN_1804aebd0(&local_138,iVar14); } } } iVar13 = iVar10 - *param_1; if (iVar10 - *param_1 < 0) { iVar13 = iVar8; } if ((-1 < iVar13) && (iVar7 = iVar13, iVar8 < iVar13)) { iVar7 = iVar8; } if (iVar8 < 0) { iVar3 = iVar8; } iVar7 = iVar7 - iVar3; if (0 < iVar7) { FUN_1804b0ee0(&local_148,iVar3,iVar7); iVar8 = iVar8 - iVar7; local_140 = CONCAT44(iVar8,(int)local_140); iVar3 = 0; if (0 < iVar8 * 2) { iVar3 = iVar8 * 2; } if (iVar3 < (int)local_140) { if (iVar8 < 2) { iVar8 = 2; } if (iVar8 < (int)local_140) { FUN_1804aebd0(&local_148,iVar8); } } } FUN_181296c00(param_2,*(undefined4 *)(*(longlong *)(param_1 + 10) + 8)); local_a8 = _DAT_1824c4780; uStack_a0 = _UNK_1824c4788; local_98 = (ulonglong)DAT_1824c3ea4; FUN_18124efb0(&local_138,param_2,&local_a8); FUN_1804aeb50(&local_138); /* WARNING: Subroutine does not return */ free(local_138); } local_128 = (void *)0x0; local_120 = 0; local_120._4_4_ = 0; if (0 < local_140._4_4_) { FUN_1804aebd0(&local_128,local_140._4_4_ + 8 + local_140._4_4_ / 2 & 0xfffffff8); } iVar10 = iVar8 + -1; iVar13 = local_120._4_4_; if (-1 < iVar10) { puVar5 = (undefined4 *)((longlong)local_148 + 0xc); plVar9 = (longlong *)((longlong)local_120._4_4_ * 0x20 + (longlong)local_128); do { lVar2 = *(longlong *)(puVar5 + -3); *plVar9 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } *(undefined4 *)(plVar9 + 1) = puVar5[-1]; *(undefined4 *)((longlong)plVar9 + 0xc) = *puVar5; *(undefined4 *)(plVar9 + 2) = puVar5[1]; *(undefined4 *)((longlong)plVar9 + 0x14) = puVar5[2]; *(undefined4 *)(plVar9 + 3) = puVar5[3]; *(undefined1 *)((longlong)plVar9 + 0x1c) = *(undefined1 *)(puVar5 + 4); puVar5 = puVar5 + 8; iVar10 = iVar10 + -1; plVar9 = plVar9 + 4; } while (-1 < iVar10); iVar8 = local_140._4_4_; iVar13 = local_120._4_4_; } iVar13 = iVar13 + iVar8; local_120 = CONCAT44(iVar13,(int)local_120); iVar10 = iStackX_1c - *param_1; if (iStackX_1c - *param_1 < 0) { iVar10 = iVar13; } iVar11 = iVar7; if ((-1 < iVar10) && (iVar11 = iVar10, iVar13 < iVar10)) { iVar11 = iVar13; } if (iVar13 < 0) { iVar3 = iVar13; } iVar11 = iVar11 - iVar3; if (0 < iVar11) { FUN_1804b0ee0(&local_128,iVar3,iVar11); iVar13 = iVar13 - iVar11; local_120 = CONCAT44(iVar13,(int)local_120); iVar3 = iVar7; if (0 < iVar13 * 2) { iVar3 = iVar13 * 2; } if (iVar3 < (int)local_120) { if (iVar13 < 2) { iVar13 = 2; } if (iVar13 < (int)local_120) { FUN_1804aebd0(&local_128,iVar13); } } } iStackX_1c = iStackX_1c - *param_1; iVar3 = iVar8 + iStackX_1c; iVar10 = iVar7; if ((-1 < iVar3) && (iVar10 = iVar3, iVar8 < iVar3)) { iVar10 = iVar8; } iVar3 = iVar7; if ((-1 < iStackX_1c) && (iVar3 = iStackX_1c, iVar8 < iStackX_1c)) { iVar3 = iVar8; } iVar10 = iVar10 - iVar3; if (0 < iVar10) { FUN_1804b0ee0(&local_148,iVar3,iVar10); iVar8 = iVar8 - iVar10; local_140 = CONCAT44(iVar8,(int)local_140); if (0 < iVar8 * 2) { iVar7 = iVar8 * 2; } if (iVar7 < (int)local_140) { if (iVar8 < 2) { iVar8 = 2; } if (iVar8 < (int)local_140) { FUN_1804aebd0(&local_148); } } } FUN_181296c00(param_2,*(undefined4 *)(*(longlong *)(param_1 + 10) + 8)); local_108 = _DAT_1824c4780; uStack_100 = _UNK_1824c4788; local_e8 = _DAT_1824c4780; uStack_e0 = _UNK_1824c4788; local_f8 = (ulonglong)DAT_1824c3ea4; local_d8 = (ulonglong)DAT_1824c3ea4; FUN_18124efb0(&local_128,param_2,&local_e8); FUN_1804aeb50(&local_128); /* WARNING: Subroutine does not return */ free(local_128); } ############ FUN_ 180509300 size=318 ############ void FUN_180509300(longlong param_1,undefined8 param_2) { char cVar1; longlong lVar2; undefined4 *puVar3; undefined1 local_res8 [8]; undefined1 local_18 [16]; lVar2 = __RTDynamicCast(*(undefined8 *)(param_1 + 0x18),0,&juce::Component::RTTI_Type_Descriptor, &juce::ToolbarItemComponent::RTTI_Type_Descriptor,0); if (((lVar2 != 0) && (cVar1 = FUN_18133e440(param_1), cVar1 != '\0')) && (*(int *)(lVar2 + 0x1cc) == 1)) { puVar3 = (undefined4 *)FUN_18134a8d0(param_1,local_res8,0x1003250,1); FUN_181296c00(param_2,*puVar3); local_18 = ZEXT416((uint)(float)*(int *)(param_1 + 0x28)) << 0x40; FUN_181295950(param_2,local_18); } return; } ############ FUN_ 180509900 size=1130 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180509900(longlong param_1,longlong param_2) { float fVar1; int iVar2; int iVar3; int iVar4; bool bVar5; undefined4 uVar6; char cVar7; int iVar8; int iVar9; undefined4 *puVar10; longlong lVar11; float *pfVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; float fVar18; float fVar19; float fVar20; float fVar21; float fVar22; undefined1 local_res8 [8]; undefined8 uVar23; undefined8 local_f8; undefined8 uStack_f0; ulonglong local_e8; float *local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 uStack_c0; undefined1 local_b8; fVar14 = DAT_1824c3d74; fVar1 = DAT_1824c3d18; uVar23 = 0xfffffffffffffffe; iVar2 = *(int *)(param_1 + 0x28); iVar3 = *(int *)(param_1 + 0x2c); if (*(char *)(param_1 + 0x204) != '\0') { puVar10 = (undefined4 *)FUN_18134a8d0(param_1,local_res8,0x1003210,1); FUN_181296c00(param_2,*puVar10); lVar11 = __RTDynamicCast(*(undefined8 *)(param_1 + 0x18),0, &juce::Component::RTTI_Type_Descriptor, &juce::Toolbar::RTTI_Type_Descriptor,0); if ((lVar11 == 0) || (bVar5 = true, *(char *)(lVar11 + 0xd8) == '\0')) { bVar5 = false; } fVar15 = DAT_1824c3cb8; fVar16 = fVar1; fVar17 = DAT_1824c3e28; fVar20 = fVar14; if (bVar5) { fVar15 = fVar14; fVar16 = DAT_1824c3e28; fVar17 = fVar1; fVar20 = DAT_1824c3cb8; } local_f8 = CONCAT44((float)iVar3 * fVar15,(float)iVar2 * fVar20); uStack_f0 = CONCAT44((float)iVar3 * fVar17,(float)iVar2 * fVar16); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_f8); } if ((*(int *)(param_1 + 0x1cc) != 0) && (*(char *)(param_1 + 0x204) == '\0')) { puVar10 = (undefined4 *)FUN_18134a8d0(param_1,local_res8,0x1003210,1); FUN_181296c00(param_2,*puVar10); iVar8 = (iVar2 + -3) / 2; iVar4 = 2; if (iVar8 < 2) { iVar4 = iVar8; } iVar9 = (iVar3 + -3) / 2; iVar8 = 2; if (iVar9 < 2) { iVar8 = iVar9; } FUN_181295c90(param_2,iVar4,iVar8,iVar2 + iVar4 * -2,iVar3 + iVar8 * -2,1,uVar23); if (*(float *)(param_1 + 0x200) <= 0.0) { cVar7 = FUN_1812dafc0(param_1); uVar6 = DAT_1824c3f78; if (cVar7 == '\0') { fVar20 = (float)iVar2; fVar13 = fVar20 * fVar14; fVar18 = (float)iVar3; fVar14 = fVar18 * DAT_1824c3d8c; fVar15 = (float)iVar4 * DAT_1824c41e0; fVar17 = fVar20 * DAT_1824c3db8; fVar20 = fVar20 - fVar15; fVar16 = fVar14; fVar22 = fVar14; fVar21 = fVar14; } else { fVar18 = (float)iVar2; fVar13 = fVar18 * DAT_1824c3d8c; fVar21 = (float)iVar3; fVar14 = fVar21 * fVar14; fVar15 = fVar13; fVar16 = (float)iVar4 * DAT_1824c41e0; fVar17 = fVar13; fVar20 = fVar13; fVar22 = fVar21 - (float)iVar4 * DAT_1824c41e0; fVar21 = fVar21 * DAT_1824c3db8; } fVar19 = fVar18 * DAT_1824c3d04; local_d8 = (float *)0x0; local_d0 = 0; local_c8 = 0; uStack_c0 = 0; local_b8 = 1; local_f8 = CONCAT44(fVar14,fVar13); uStack_f0 = CONCAT44(fVar16,fVar15); FUN_18129c5c0(&local_d8,&local_f8,DAT_1824c3f78,fVar19,fVar18 * fVar1); local_f8 = CONCAT44(fVar21,fVar17); uStack_f0 = CONCAT44(fVar22,fVar20); FUN_18129c5c0(&local_d8,&local_f8,uVar6,fVar19,fVar18 * fVar1); cVar7 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar7 == '\0') { for (pfVar12 = local_d8; pfVar12 != local_d8 + local_d0._4_4_; pfVar12 = pfVar12 + 1) { fVar1 = *pfVar12; if (fVar1 == DAT_1824c4600) { pfVar12 = pfVar12 + 2; } else if (((fVar1 == DAT_1824c45fc) || (fVar1 == DAT_1824c4604)) || (fVar1 == DAT_1824c4608)) { local_f8 = _DAT_1824c4780; uStack_f0 = _UNK_1824c4788; local_e8 = (ulonglong)DAT_1824c3ea4; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_d8,&local_f8); break; } } } local_d0 = local_d0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_d8); } } return; } ############ FUN_ 1812d5ef0 size=1568 ############ void FUN_1812d5ef0(longlong *param_1,ulonglong param_2,int param_3) { longlong *plVar1; char cVar2; int iVar3; undefined4 *puVar4; longlong lVar5; longlong lVar6; uint uVar7; ulonglong *puVar8; longlong *plVar9; int iVar10; undefined8 uVar11; int iVar12; longlong *plVar13; bool bVar14; bool bVar15; float fVar16; float fVar17; float fVar18; float fVar19; undefined4 local_res8; int iStackX_c; ulonglong local_res20; undefined8 local_a0; float fStack_98; float fStack_94; ulonglong local_88; undefined8 uStack_80; undefined8 local_78; undefined8 uStack_70; if (param_1[1] == 0) { return; } iVar3 = FUN_1812d65b0(); iVar10 = *(int *)((longlong)param_1 + 0x34); if ((iVar10 < 0) || ((*(byte *)(param_1 + 8) & 0x20) != 0)) { iVar10 = param_3 - iVar3; } local_a0 = param_2; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } iStackX_c = 0; *(undefined1 *)(param_2 + 0x10) = 0; local_res8 = iVar3; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_2 + 8) + 0x10)) (*(longlong **)(param_2 + 8),CONCAT44(iStackX_c,local_res8)); if ((*(byte *)(param_1 + 8) >> 4 & 1) == 0) { uVar7 = 0; } else { iVar10 = iVar10 + iVar3; uVar7 = -iVar3; } local_88 = (ulonglong)uVar7; uStack_80 = CONCAT44(*(undefined4 *)((longlong)param_1 + 0x2c),iVar10); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } cVar2 = (**(code **)(**(longlong **)(param_2 + 8) + 0x28))(*(longlong **)(param_2 + 8),&local_88); if (cVar2 != '\0') { if ((*(byte *)(param_1 + 8) & 1) == 0) { uVar7 = FUN_1812d5a10(param_1); uVar7 = uVar7 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } if (uVar7 == 0) { uVar11 = 0x1000504; puVar8 = (ulonglong *)&local_res8; } else { uVar11 = 0x1000505; puVar8 = &local_res20; } } else { uVar11 = 0x1000503; puVar8 = (ulonglong *)&local_res8; } puVar4 = (undefined4 *)FUN_18134a8d0(param_1[1],puVar8,uVar11,0); FUN_1812a3160(param_2,*puVar4); iVar10 = *(int *)((longlong)param_1 + 0x34); if (iVar10 < 0) { iVar10 = param_3 - iVar3; } (**(code **)(*param_1 + 0x40))(param_1,param_2,iVar10,*(undefined4 *)((longlong)param_1 + 0x2c)) ; } if (*(char *)(param_2 + 0x10) == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); } else { *(undefined1 *)(param_2 + 0x10) = 0; } fVar18 = (float)*(int *)((longlong)param_1 + 0x2c) * DAT_1824c3d8c; lVar6 = param_1[1]; iVar10 = *(int *)(lVar6 + 0x120); if (iVar10 < 0) { lVar5 = FUN_18134adf0(lVar6); iVar10 = (**(code **)(*(longlong *)(lVar5 + 0x28) + 0x18))((longlong *)(lVar5 + 0x28),lVar6); } iVar3 = (*(char *)(param_1[1] + 0x126) != '\0') - 1; lVar6 = param_1[2]; for (lVar5 = lVar6; lVar5 != 0; lVar5 = *(longlong *)(lVar5 + 0x10)) { iVar3 = iVar3 + 1; } if ((iVar3 < 0) || (*(char *)(param_1[1] + 0x128) == '\0')) goto LAB_1812d6387; fVar19 = (float)iVar10; fVar17 = ((float)iVar3 + DAT_1824c3d8c) * fVar19; if ((lVar6 == 0) || (cVar2 = FUN_1812d6520(lVar6), cVar2 == '\0')) { if ((param_1[2] == 0) && (cVar2 = FUN_1812d6520(param_1), cVar2 != '\0')) goto LAB_1812d618a; } else { cVar2 = FUN_1812d5eb0(param_1); fVar16 = fVar18; if (cVar2 == '\0') { fVar16 = (float)*(int *)((longlong)param_1 + 0x2c); } local_88 = (ulonglong)(uint)fVar17; uStack_80 = CONCAT44(fVar16,fVar17); (**(code **)(*param_1 + 0x58))(param_1,param_2,&local_88); LAB_1812d618a: local_a0 = CONCAT44(fVar18,fVar17); fStack_98 = (float)(iVar10 / 2) + fVar17; fStack_94 = fVar18; if (*(code **)(*param_1 + 0x50) == FUN_1812d6ac0) { puVar4 = (undefined4 *)FUN_18134a8d0(param_1[1],&local_res8,0x1000501,0); FUN_181296c00(param_2,*puVar4); uStack_80 = CONCAT44(fStack_94,fStack_98); local_88 = local_a0; (**(code **)(**(longlong **)(param_2 + 8) + 200))(*(longlong **)(param_2 + 8),&local_88); } else { (**(code **)(*param_1 + 0x50))(param_1,param_2,&local_a0); } } plVar1 = (longlong *)param_1[2]; iVar12 = iVar3; while ((plVar1 != (longlong *)0x0 && (iVar12 = iVar12 + -1, -1 < iVar12))) { fVar17 = fVar17 - fVar19; plVar13 = plVar1 + 2; if (((*plVar13 == 0) || (cVar2 = FUN_1812d6520(), cVar2 != '\0')) && (lVar6 = *plVar13, lVar6 != 0)) { if (*(int *)(lVar6 + 0x24) < 1) { plVar9 = (longlong *)0x0; } else { plVar9 = *(longlong **) (*(longlong *)(lVar6 + 0x18) + (longlong)(*(int *)(lVar6 + 0x24) + -1) * 8); } if (plVar9 != plVar1) { local_88 = (ulonglong)(uint)fVar17; uStack_80 = CONCAT44((float)*(int *)((longlong)param_1 + 0x2c),fVar17); (**(code **)(*plVar1 + 0x58))(plVar1,param_2,&local_88); } } plVar1 = (longlong *)*plVar13; } cVar2 = (**(code **)(*param_1 + 8))(param_1); if (cVar2 != '\0') { FUN_18134a8d0(param_1[1],&local_res8,0x1000500,0); iVar12 = local_res8; if (local_res8._3_1_ == '\0') { iVar12 = DAT_18262b5a8; } lVar6 = *(longlong *)(*(longlong *)(param_1[1] + 0xd0) + 0x180); if (lVar6 == 0) { lVar6 = 0; } else { lVar6 = *(longlong *)(lVar6 + 0x10); } bVar14 = param_1 == *(longlong **)(lVar6 + 0xe0); fStack_94 = (float)*(int *)((longlong)param_1 + 0x2c); local_a0 = (ulonglong)(uint)(float)(iVar3 * iVar10); fStack_98 = fVar19; if (*(code **)(*param_1 + 0x48) == FUN_1812d6b20) { lVar6 = FUN_18134adf0(); uVar7 = *(uint *)((longlong)param_1 + 0x44) & 3; if (uVar7 == 0) { if ((param_1[1] == 0) || (*(char *)(param_1[1] + 0x124) == '\0')) { bVar15 = false; } else { bVar15 = true; } } else { bVar15 = uVar7 == 2; } (**(code **)(*(longlong *)(lVar6 + 0x28) + 8)) (lVar6 + 0x28,param_2,&local_a0,iVar12,bVar15,bVar14); } else { (**(code **)(*param_1 + 0x48))(param_1,param_2,&local_a0,iVar12,bVar14); } } LAB_1812d6387: uVar7 = *(uint *)((longlong)param_1 + 0x44) & 3; if (uVar7 == 0) { if (param_1[1] == 0) { return; } if (*(char *)(param_1[1] + 0x124) == '\0') { return; } } else if (uVar7 != 2) { return; } (**(code **)(**(longlong **)(param_2 + 8) + 0x58))(*(longlong **)(param_2 + 8),&local_a0); plVar13 = (longlong *)param_1[3]; plVar1 = plVar13 + *(int *)((longlong)param_1 + 0x24); if (plVar13 != plVar1) { iVar10 = local_a0._4_4_; do { lVar6 = *plVar13; iVar3 = *(int *)(lVar6 + 0x28) - (int)param_1[5]; if ((int)fStack_94 + iVar10 <= iVar3) { return; } if (iVar10 <= *(int *)(lVar6 + 0x30) + iVar3) { local_res20 = param_2; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } local_res8 = 0; *(undefined1 *)(param_2 + 0x10) = 0; iStackX_c = iVar3; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_2 + 8) + 0x10)) (*(longlong **)(param_2 + 8),CONCAT44(iStackX_c,local_res8)); local_88 = 0; uStack_80 = CONCAT44(*(undefined4 *)(lVar6 + 0x30),param_3); local_78 = 0; uStack_70 = uStack_80; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } cVar2 = (**(code **)(**(longlong **)(param_2 + 8) + 0x28)) (*(longlong **)(param_2 + 8),&local_78); if (cVar2 != '\0') { FUN_1812d5ef0(lVar6,param_2,param_3); } if (*(char *)(param_2 + 0x10) == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); } else { *(undefined1 *)(param_2 + 0x10) = 0; } iVar10 = local_a0._4_4_; } plVar13 = plVar13 + 1; } while (plVar13 != plVar1); } return; } ############ FUN_ 18050bb70 size=407 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18050bb70(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined4 *puVar1; float fVar2; float fVar3; undefined1 local_res8 [8]; undefined8 local_78; float fStack_70; float fStack_6c; undefined8 local_68; undefined8 uStack_60; ulonglong local_58; void *local_50; undefined8 local_48; undefined8 local_40; undefined8 uStack_38; undefined1 local_30; local_50 = (void *)0x0; local_48 = 0; local_40 = 0; uStack_38 = 0; local_30 = 1; fVar2 = (float)*(int *)(param_1 + 0x2c); fStack_70 = fVar2 - DAT_1824c4334; local_78 = 0x4000000040000000; fStack_6c = fStack_70; FUN_18129d1e0(&local_50,&local_78,param_3,param_4,0xfffffffffffffffe); fVar3 = fVar2 * DAT_1824c3d8c; fVar2 = fVar2 - DAT_1824c41e0; if (local_48._4_4_ == 0) { local_40 = CONCAT44(fVar2,fVar2); uStack_38 = (ulonglong)(uint)fVar3; } else { if ((float)local_40 <= fVar2) { if (local_40._4_4_ < fVar2) { local_40 = CONCAT44(fVar2,(float)local_40); } } else { local_40 = CONCAT44(local_40._4_4_,fVar2); } if (fVar3 < (float)uStack_38) { uStack_38 = CONCAT44(uStack_38._4_4_,fVar3); goto LAB_18050bc6b; } if (fVar3 <= uStack_38._4_4_) goto LAB_18050bc6b; } uStack_38 = CONCAT44(fVar3,(float)uStack_38); LAB_18050bc6b: FUN_1804b02a0(&local_50,&DAT_1821df344,fVar2,fVar3); FUN_18129ddd0(&local_50); puVar1 = (undefined4 *)FUN_18134a8d0(param_1,local_res8,0x1000502,1); FUN_181296c00(param_2,*puVar1); local_68 = _DAT_1824c4780; uStack_60 = _UNK_1824c4788; local_58 = (ulonglong)DAT_1824c3ea4; local_78 = 0x40000000; fStack_70 = 0.0; FUN_181295d20(param_2,&local_50,&local_78,&local_68); local_48 = local_48 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 18050bd70 size=161 ############ void FUN_18050bd70(longlong param_1,undefined8 param_2) { undefined4 *puVar1; undefined1 local_res8 [8]; undefined4 local_18; undefined4 uStack_14; float fStack_10; float fStack_c; puVar1 = (undefined4 *)FUN_18134a8d0(param_1,local_res8,0x1000502,1); FUN_181296c00(param_2,*puVar1); fStack_10 = (float)*(int *)(param_1 + 0x28) - DAT_1824c41e0; fStack_c = (float)*(int *)(param_1 + 0x2c) - DAT_1824c41e0; local_18 = 0x3f800000; uStack_14 = 0x3f800000; FUN_181295190(param_2,&local_18,DAT_1824c42d0); return; } ############ FUN_ 18124ce30 size=1836 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18124ce30(uint *param_1,longlong param_2,int *param_3) { undefined8 *puVar1; double *pdVar2; undefined1 auVar3 [12]; undefined1 auVar4 [12]; double dVar5; double dVar6; undefined1 uVar7; int iVar8; float fVar9; undefined8 extraout_XMM0_Qb; undefined1 auVar10 [16]; undefined1 auVar11 [16]; double dVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; float fVar18; float fVar19; float fVar20; float fVar21; float fVar22; float fVar23; float fVar24; undefined4 local_res8; undefined8 local_138; undefined8 uStack_130; undefined8 local_128; undefined8 uStack_120; undefined1 local_118; void *local_110; undefined8 local_108; float local_100; float local_fc; float local_f8; float local_f4; float local_f0; undefined4 uStack_e4; uint uStack_e0; undefined4 uStack_dc; undefined8 local_d8; dVar5 = DAT_1824c4140; local_d8 = 0xfffffffffffffffe; local_res8 = *param_1 & 0xffffff; local_128 = 0; uStack_120 = 0; local_118 = 0; local_110 = (void *)0x0; local_108 = 0; uStack_e0 = local_res8; uStack_130._0_4_ = *param_1; FUN_18049ba20(&local_110,8); iVar8 = local_108._4_4_ + 1; auVar3._4_8_ = extraout_XMM0_Qb; auVar3._0_4_ = local_138._4_4_; auVar10._0_8_ = auVar3._0_8_ << 0x20; auVar10._8_4_ = (uint)uStack_130; auVar10._12_4_ = uStack_130._4_4_; uStack_130 = auVar10._8_8_; local_138 = 0; puVar1 = (undefined8 *)((longlong)local_110 + (longlong)local_108._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = uStack_130; local_108 = CONCAT44(local_108._4_4_ + 2,(undefined4)local_108); auVar4._4_8_ = uStack_130; auVar4._0_4_ = uStack_e4; auVar11._0_8_ = auVar4._0_8_ << 0x20; auVar11._8_4_ = uStack_e0; auVar11._12_4_ = uStack_dc; pdVar2 = (double *)((longlong)local_110 + (longlong)iVar8 * 0x10); *pdVar2 = dVar5; pdVar2[1] = auVar11._8_8_; dVar6 = DAT_1824c4520; fVar15 = DAT_1824c3ea4; fVar13 = DAT_1824c3cb8; fVar14 = DAT_1824c3c94; do { dVar12 = (double)((float)(*param_1 >> 0x18) * fVar14 * fVar14) + dVar6; uVar7 = 0xff; if (SUB84(dVar12,0) < 0xff) { uVar7 = SUB81(dVar12,0); } local_res8 = CONCAT13(uVar7,(int3)*param_1); FUN_1812a1940(&local_128,dVar5 - (double)fVar14,local_res8); fVar14 = fVar14 + fVar13; } while (fVar14 < fVar15); fVar13 = (float)(int)param_1[1] * DAT_1824c3d8c; fVar15 = (float)(int)param_1[1] + fVar13; fVar13 = (float)((uint)fVar13 ^ DAT_1824c4f30); local_f4 = fVar13 * DAT_1824c41e0 + (float)param_3[2]; if (local_f4 <= 0.0) { local_f4 = 0.0; } local_f0 = fVar13 * DAT_1824c41e0 + (float)param_3[3]; if (local_f0 <= 0.0) { local_f0 = 0.0; } local_f8 = ((float)param_3[1] - fVar13) + (float)(int)param_1[3]; local_fc = (float)(int)param_1[2] + ((float)*param_3 - fVar13); fVar13 = local_f4 + fVar15 * DAT_1824c41e0; if (fVar13 <= 0.0) { fVar13 = 0.0; } local_100 = local_f0 + fVar15 * DAT_1824c41e0; if (local_100 <= 0.0) { local_100 = 0.0; } fVar20 = local_f8 - fVar15; fVar24 = local_fc - fVar15; fVar14 = local_100; if (fVar15 <= local_100) { fVar14 = fVar15; } fVar9 = fVar14 + fVar20; local_100 = local_100 - fVar14; fVar19 = local_100; if (fVar15 <= local_100) { fVar19 = fVar15; } fVar22 = (fVar9 + local_100) - fVar19; local_100 = local_100 - fVar19; fVar23 = fVar13; if (fVar15 <= fVar13) { fVar23 = fVar15; } fVar16 = fVar23 + fVar24; fVar13 = fVar13 - fVar23; local_128 = CONCAT44(fVar9,fVar16); fVar21 = fVar23 * 0.0 + fVar24; uStack_120 = CONCAT44(fVar9,fVar21); local_118 = 1; FUN_181296a90(param_2,&local_128); local_138 = CONCAT44(fVar20,fVar24); uStack_130 = CONCAT44(fVar14,fVar23); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_138); fVar18 = fVar13; if (fVar15 <= fVar13) { fVar18 = fVar15; } fVar17 = (fVar16 + fVar13) - fVar18; local_128 = CONCAT44(fVar9,fVar18 * 0.0 + fVar17); uStack_120 = CONCAT44(fVar9,fVar17 + fVar18); local_118 = 1; FUN_181296a90(param_2,&local_128); local_138 = CONCAT44(fVar20,fVar17); uStack_130 = CONCAT44(fVar14,fVar18); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_138); fVar17 = (fVar13 - fVar18) * 0.0 + fVar16; local_128 = CONCAT44(fVar9,fVar17); uStack_120 = CONCAT44(fVar14 * 0.0 + fVar20,fVar17); local_118 = 0; FUN_181296a90(param_2,&local_128); local_138 = CONCAT44(fVar20,fVar16); uStack_130 = CONCAT44(fVar14,fVar13 - fVar18); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_138); fVar20 = fVar19 * 0.0 + fVar22; local_128 = CONCAT44(fVar20,fVar16); uStack_120 = CONCAT44(fVar20,fVar21); local_118 = 1; FUN_181296a90(param_2,&local_128); local_138 = CONCAT44(fVar22,fVar24); uStack_130 = CONCAT44(fVar19,fVar23); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_138); fVar14 = fVar13; if (fVar15 <= fVar13) { fVar14 = fVar15; } fVar18 = (fVar16 + fVar13) - fVar14; local_128 = CONCAT44(fVar20,fVar14 * 0.0 + fVar18); uStack_120 = CONCAT44(fVar20,fVar18 + fVar14); local_118 = 1; FUN_181296a90(param_2,&local_128); local_138 = CONCAT44(fVar22,fVar18); uStack_130 = CONCAT44(fVar19,fVar14); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_138); fVar18 = (fVar13 - fVar14) * 0.0 + fVar16; local_128 = CONCAT44(fVar20,fVar18); uStack_120 = CONCAT44(fVar22 + fVar19,fVar18); local_118 = 0; FUN_181296a90(param_2,&local_128); local_138 = CONCAT44(fVar22,fVar16); uStack_130 = CONCAT44(fVar19,fVar13 - fVar14); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_138); fVar20 = local_100; fVar19 = local_100 * 0.0 + fVar9; local_128 = CONCAT44(fVar19,fVar16); uStack_120 = CONCAT44(fVar19,fVar21); local_118 = 0; FUN_181296a90(param_2,&local_128); local_138 = CONCAT44(fVar9,fVar24); uStack_130 = CONCAT44(fVar20,fVar23); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_138); fVar14 = fVar13; if (fVar15 <= fVar13) { fVar14 = fVar15; } fVar13 = (fVar16 + fVar13) - fVar14; local_128 = CONCAT44(fVar19,fVar14 * 0.0 + fVar13); uStack_120 = CONCAT44(fVar19,fVar13 + fVar14); local_118 = 0; FUN_181296a90(param_2,&local_128); local_138 = CONCAT44(fVar9,fVar13); uStack_130 = CONCAT44(fVar20,fVar14); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_138); FUN_181296c00(param_2,*param_1); local_138 = CONCAT44(local_f8,local_fc); uStack_130 = CONCAT44(local_f0,local_f4); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_138); /* WARNING: Could not recover jumptable at 0x00018124d555. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_110); return; } ############ FUN_ 1805767b0 size=461 ############ void FUN_1805767b0(longlong param_1,longlong param_2) { int iVar1; float fVar2; int iVar3; int iVar4; float local_28; float local_24; float local_20; float local_1c; FUN_1812a3160(param_2,*(undefined4 *)(param_1 + 0xb4)); if (*(int *)(param_1 + 0xb8) != DAT_1826742e8) { iVar3 = *(int *)(param_1 + 0x28) + -2; iVar4 = *(int *)(param_1 + 0x2c) + -2; iVar1 = 0; if (0 < iVar3) { iVar1 = iVar3; } iVar3 = 0; if (0 < iVar4) { iVar3 = iVar4; } FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0xb8)); fVar2 = DAT_1824c4680; if (((*(byte *)(param_1 + 0xb0) & 1) != 0) && (DAT_1824c4680 < (float)(iVar1 + 2))) { local_20 = (float)(iVar1 + 2) - DAT_1824c4680; local_28 = -1.0; local_24 = 0.0; local_1c = 1.0; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_28); } if (((*(byte *)(param_1 + 0xb0) & 2) != 0) && (fVar2 < (float)(iVar3 + 2))) { local_1c = (float)(iVar3 + 2) - fVar2; local_28 = (float)(iVar1 + 1); local_24 = -1.0; local_20 = 1.0; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_28); } if (((*(byte *)(param_1 + 0xb0) & 4) != 0) && (fVar2 < (float)(iVar1 + 2))) { local_20 = (float)(iVar1 + 2) - fVar2; local_24 = (float)(iVar3 + 1); local_28 = -1.0; local_1c = 1.0; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_28); } if (((*(byte *)(param_1 + 0xb0) & 8) != 0) && (fVar2 < (float)(iVar3 + 2))) { local_1c = (float)(iVar3 + 2) - fVar2; local_28 = 0.0; local_24 = -1.0; local_20 = 1.0; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_28); } } return; } ############ FUN_ 180576de0 size=231 ############ void FUN_180576de0(longlong param_1,longlong param_2) { int iVar1; int iVar2; longlong lVar3; undefined4 local_res8; float local_38; float fStack_34; float fStack_30; undefined4 uStack_2c; iVar1 = *(int *)(param_1 + 0x28); iVar2 = *(int *)(param_1 + 0x2c); local_res8 = CONCAT13(0x19,(int3)DAT_18262bb5c); FUN_181296c00(param_2,local_res8); lVar3 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); fStack_30 = (float)iVar1 - *(float *)(lVar3 + 0x88) * DAT_1824c4424; fStack_34 = ((float)iVar2 - DAT_1824c3ea4) * DAT_1824c3d8c + 0.0; local_38 = ((float)iVar1 - fStack_30) * DAT_1824c3d8c + 0.0; uStack_2c = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_38); return; } ############ FUN_ 18058c900 size=597 ############ void .?AVLines@?$FilterGraphGrid@M@@::vtbl___AVLines___FilterGraphGrid_M__ (longlong param_1,longlong param_2) { float fVar1; double dVar2; longlong lVar3; undefined1 uVar4; int iVar5; uint uVar6; ulonglong uVar8; ulonglong uVar9; bool bVar10; float fVar11; double dVar12; float fVar13; float fVar14; float fVar15; float fVar16; undefined4 local_res8; float local_98; float local_94; float local_90; float local_8c; ulonglong uVar7; fVar1 = DAT_1824c3ea4; uVar8 = 0; lVar3 = *(longlong *)(param_1 + 0xb0); fVar16 = (float)*(int *)(param_1 + 0x28); fVar15 = (float)*(int *)(param_1 + 0x2c); if (0 < *(int *)(lVar3 + 0xdc)) { bVar10 = *(int *)(lVar3 + 0xdc) != 0; uVar7 = uVar8; uVar9 = uVar8; do { if (bVar10) { fVar13 = *(float *)(uVar9 + *(longlong *)(lVar3 + 0xd0)); } else { fVar13 = 0.0; } FUN_181296c00(param_2,*(undefined4 *)(lVar3 + 200)); if (0.0 < fVar15) { local_94 = 0.0; local_90 = 1.0; local_98 = (float)(int)(fVar13 * fVar16); local_8c = fVar15 - 0.0; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_98); } lVar3 = *(longlong *)(param_1 + 0xb0); uVar6 = (int)uVar7 + 1; uVar7 = (ulonglong)uVar6; uVar9 = uVar9 + 4; bVar10 = uVar6 < *(uint *)(lVar3 + 0xdc); } while ((int)uVar6 < (int)*(uint *)(lVar3 + 0xdc)); } dVar2 = DAT_1824c4520; fVar13 = DAT_1824c41e0; lVar3 = *(longlong *)(param_1 + 0xb0); iVar5 = *(int *)(lVar3 + 0xec); uVar7 = uVar8; if (0 < iVar5) { do { uVar6 = (uint)uVar7; if (uVar6 < *(uint *)(lVar3 + 0xec)) { fVar14 = *(float *)(uVar8 + *(longlong *)(lVar3 + 0xe0)); } else { fVar14 = 0.0; } fVar11 = fVar1; if (uVar6 == iVar5 / 2) { fVar11 = fVar13; } dVar12 = (double)((float)(*(uint *)(lVar3 + 200) >> 0x18) * fVar11) + dVar2; uVar4 = 0xff; if (SUB84(dVar12,0) < 0xff) { uVar4 = SUB81(dVar12,0); } local_res8 = CONCAT13(uVar4,(int3)*(uint *)(lVar3 + 200)); FUN_181296c00(param_2,local_res8); if (0.0 < fVar16) { local_98 = 0.0; local_8c = 1.0; local_90 = fVar16 - 0.0; local_94 = (float)(int)(fVar14 * fVar15); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_98); } lVar3 = *(longlong *)(param_1 + 0xb0); uVar8 = uVar8 + 4; iVar5 = *(int *)(lVar3 + 0xec); uVar7 = (ulonglong)(uVar6 + 1); } while ((int)(uVar6 + 1) < iVar5); } return; } ############ FUN_ 18124c910 size=757 ############ void FUN_18124c910(longlong param_1,longlong *param_2,longlong param_3,float param_4,float param_5) { float fVar1; char cVar2; void *_Memory; longlong lVar3; undefined8 *puVar4; float *pfVar5; undefined1 uVar6; int iVar7; int iVar8; undefined4 uVar9; ulonglong uVar10; undefined4 uVar11; undefined4 uVar12; longlong local_res8; undefined **local_res10; double local_res18; undefined4 local_res20; undefined8 local_d8; undefined4 local_d0; undefined4 local_cc; undefined8 local_c8; float local_c0; undefined4 local_bc; undefined4 local_b8; float local_b4; undefined8 local_b0; float local_a8; undefined4 local_a4; undefined4 local_a0; float local_9c; double local_98; undefined8 local_90; undefined8 uStack_88; void *local_80; int local_78; undefined8 local_70; undefined8 local_68; undefined8 uStack_60; local_70 = 0xfffffffffffffffe; lVar3 = *param_2; uVar11 = 0; uVar12 = 0; uVar9 = uVar11; if (lVar3 != 0) { uVar12 = *(undefined4 *)(lVar3 + 0x18); uVar11 = *(undefined4 *)(lVar3 + 0x14); uVar9 = *(undefined4 *)(lVar3 + 0x10); } local_res10 = juce::NativeImageType::vftable; (*(code *)PTR_FUN_1824988f0)(&local_res10,&local_res8,uVar9,uVar11,uVar12,1); local_res18 = (double)(param_4 * *(float *)(param_1 + 8) * DAT_1824c41e0) + DAT_1824c4520; iVar7 = SUB84(local_res18,0); _Memory = malloc((longlong)(iVar7 * iVar7) << 2); iVar8 = iVar7 * iVar7 + -1; lVar3 = (longlong)iVar8; if (-1 < iVar8) { do { *(undefined4 *)((longlong)_Memory + lVar3 * 4) = 0; lVar3 = lVar3 + -1; } while (-1 < lVar3); } local_80 = _Memory; local_78 = iVar7; FUN_18128f3a0(&local_80,*(undefined4 *)(param_1 + 8)); fVar1 = *(float *)(param_1 + 8); lVar3 = (longlong)iVar8; if (-1 < iVar8) { if (3 < (longlong)(lVar3 + 1U)) { pfVar5 = (float *)((longlong)_Memory + (lVar3 + -2) * 4); uVar10 = lVar3 + 1U >> 2; lVar3 = lVar3 + uVar10 * -4; do { pfVar5[-1] = pfVar5[-1] * fVar1; *pfVar5 = *pfVar5 * fVar1; pfVar5[1] = pfVar5[1] * fVar1; pfVar5[2] = pfVar5[2] * fVar1; pfVar5 = pfVar5 + -4; uVar10 = uVar10 - 1; } while (uVar10 != 0); } for (; -1 < lVar3; lVar3 = lVar3 + -1) { *(float *)((longlong)_Memory + lVar3 * 4) = fVar1 * *(float *)((longlong)_Memory + lVar3 * 4); } } lVar3 = *param_2; if (lVar3 == 0) { local_90 = 0; uStack_88 = 0; puVar4 = &local_90; } else { local_d8 = 0; local_d0 = *(undefined4 *)(lVar3 + 0x14); local_cc = *(undefined4 *)(lVar3 + 0x18); puVar4 = &local_d8; } local_68 = *puVar4; uStack_60 = puVar4[1]; FUN_18128e790(&local_80,&local_res8,param_2,&local_68); local_98 = (double)((float)(*(uint *)(param_1 + 0xc) >> 0x18) * param_5) + DAT_1824c4520; uVar6 = 0xff; if (SUB84(local_98,0) < 0xff) { uVar6 = SUB81(local_98,0); } local_res20 = CONCAT13(uVar6,(int3)*(uint *)(param_1 + 0xc)); FUN_181296c00(param_3,local_res20); local_c8 = 0x3f800000; local_c0 = (float)*(int *)(param_1 + 0x10); local_bc = 0; local_b8 = 0x3f800000; local_b4 = (float)*(int *)(param_1 + 0x14); if ((local_res8 != 0) && (cVar2 = (**(code **)(**(longlong **)(param_3 + 8) + 0x60))(), cVar2 == '\0')) { (**(code **)(**(longlong **)(param_3 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_3 + 8) + 0x48)) (*(longlong **)(param_3 + 8),&local_res8,&local_c8); FUN_181295f50(param_3); (**(code **)(**(longlong **)(param_3 + 8) + 0x70))(); } if (*(char *)(param_3 + 0x10) != '\0') { *(undefined1 *)(param_3 + 0x10) = 0; (**(code **)(**(longlong **)(param_3 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_3 + 8) + 0x90))(*(longlong **)(param_3 + 8),param_5); local_b0 = 0x3f800000; local_a8 = (float)*(int *)(param_1 + 0x10); local_a4 = 0; local_a0 = 0x3f800000; local_9c = (float)*(int *)(param_1 + 0x14); if ((*param_2 != 0) && (cVar2 = (**(code **)(**(longlong **)(param_3 + 8) + 0x60))(), cVar2 == '\0')) { (**(code **)(**(longlong **)(param_3 + 8) + 0xc0)) (*(longlong **)(param_3 + 8),param_2,&local_b0); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18124d610 size=780 ############ void FUN_18124d610(undefined4 *param_1,longlong param_2,longlong param_3) { undefined8 uVar1; int iVar2; longlong *plVar3; char cVar4; int *piVar5; int iVar6; int iVar7; undefined8 *puVar8; int iVar9; int iVar10; int iVar11; int iVar12; int iVar13; int local_res8; undefined4 uStackX_c; undefined **local_res10; undefined8 local_res18; int local_res20; longlong *local_d8; longlong *local_d0; undefined1 local_c8; int local_c0; int local_bc; int local_b8; int local_b4; float local_b0; float local_ac; float local_a8; float local_a4; undefined8 local_a0; float local_98; undefined4 local_94; undefined4 local_90; float local_8c; undefined8 local_88; float local_80; undefined4 local_7c; undefined4 local_78; float local_74; undefined8 local_70; int local_68; undefined1 local_58 [24]; local_70 = 0xfffffffffffffffe; (**(code **)(**(longlong **)(param_2 + 8) + 0x58))(*(longlong **)(param_2 + 8),&local_c0); iVar11 = param_1[1] + 1; local_b8 = local_b8 + iVar11 * 2; iVar7 = 0; if (0 < local_b8) { iVar7 = local_b8; } local_b4 = local_b4 + iVar11 * 2; iVar13 = 0; if (0 < local_b4) { iVar13 = local_b4; } local_res10 = (undefined **)CONCAT44(local_res10._4_4_,iVar13); local_res8 = local_bc - iVar11; iVar11 = local_c0 - iVar11; local_ac = *(float *)(param_3 + 0x18); local_a4 = *(float *)(param_3 + 0x1c) - local_ac; local_b0 = *(float *)(param_3 + 0x10); local_a8 = *(float *)(param_3 + 0x14) - local_b0; uVar1 = *(undefined8 *)(param_1 + 2); local_res18 = uVar1; local_68 = iVar11; piVar5 = (int *)FUN_1804ab070(&local_b0,local_58); iVar9 = param_1[1] + 1; iVar13 = iVar9 * 2 + piVar5[2]; iVar10 = 0; if (0 < iVar13) { iVar10 = iVar13; } iVar13 = iVar9 * 2 + piVar5[3]; iVar6 = 0; if (0 < iVar13) { iVar6 = iVar13; } local_res18 = CONCAT44(local_res18._4_4_,iVar6); iVar13 = (local_res18._4_4_ + piVar5[1]) - iVar9; iVar9 = (*piVar5 + (int)uVar1) - iVar9; local_res20 = iVar9; if (iVar9 < iVar11) { local_res20 = iVar11; } iVar2 = iVar13; if (iVar13 < local_res8) { iVar2 = local_res8; } iVar12 = iVar9 + iVar10; if (iVar11 + iVar7 < iVar9 + iVar10) { iVar12 = iVar11 + iVar7; } iVar12 = iVar12 - local_res20; if (-1 < iVar12) { iVar7 = iVar6 + iVar13; if ((int)local_res10 + local_res8 < iVar6 + iVar13) { iVar7 = (int)local_res10 + local_res8; } iVar7 = iVar7 - iVar2; if (((-1 < iVar7) && (2 < iVar12)) && (2 < iVar7)) { local_res10 = juce::NativeImageType::vftable; (*(code *)PTR_FUN_1824988f0)(&local_res10,&local_res8,3,iVar12,iVar7,1); local_res10 = juce::ImageType::vftable; plVar3 = (longlong *)CONCAT44(uStackX_c,local_res8); if (plVar3 == (longlong *)0x0) { local_d8 = (longlong *)0x0; } else { (**(code **)(*plVar3 + 8))(plVar3,&local_d8); } local_c8 = 0; local_d0 = local_d8; FUN_181296c00(&local_d8,DAT_18262b598); iVar7 = local_res20; local_8c = (float)(param_1[3] - iVar2); local_98 = (float)(param_1[2] - local_res20); local_a0 = 0x3f800000; local_94 = 0; local_90 = 0x3f800000; cVar4 = (**(code **)(*local_d0 + 0x60))(); if (cVar4 == '\0') { cVar4 = FUN_18129dff0(param_3); if (cVar4 == '\0') { (**(code **)(*local_d0 + 0xb8))(local_d0,param_3,&local_a0); } } if (local_d8 != (longlong *)0x0) { (**(code **)*local_d8)(local_d8,1); } FUN_18124daf0(&local_res8,param_1[1]); FUN_181296c00(param_2,*param_1); local_88 = 0x3f800000; local_80 = (float)iVar7; local_7c = 0; local_78 = 0x3f800000; local_74 = (float)iVar2; puVar8 = (undefined8 *)0x0; if (CONCAT44(uStackX_c,local_res8) != 0) { cVar4 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar4 == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_2 + 8) + 0x48)) (*(longlong **)(param_2 + 8),&local_res8,&local_88); FUN_181295f50(param_2); (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); } puVar8 = (undefined8 *)CONCAT44(uStackX_c,local_res8); } if (puVar8 != (undefined8 *)0x0) { LOCK(); piVar5 = (int *)(puVar8 + 1); iVar7 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*puVar8)(puVar8,1); } } } } return; } ############ FUN_ 1812c8e40 size=470 ############ void FUN_1812c8e40(longlong *param_1,longlong param_2) { longlong lVar1; undefined4 *puVar2; float local_res8; float local_resc; undefined8 *puVar3; undefined4 uVar4; undefined8 local_18; undefined8 uStack_10; lVar1 = FUN_18134adf0(); puVar3 = &local_18; local_18 = CONCAT44((float)*(int *)((longlong)param_1 + 0xb4),(float)(int)param_1[0x16]); uStack_10 = CONCAT44((float)*(int *)((longlong)param_1 + 0xbc),(float)(int)param_1[0x17]); local_res8 = (float)(int)param_1[0x18]; local_resc = (float)*(int *)((longlong)param_1 + 0xc4); (**(code **)(*(longlong *)(lVar1 + 0x30) + 8)) ((longlong *)(lVar1 + 0x30),param_2,param_1,&local_res8,puVar3); uVar4 = (undefined4)((ulonglong)puVar3 >> 0x20); local_18 = param_1[0x16]; uStack_10 = param_1[0x17]; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x28))(*(longlong **)(param_2 + 8),&local_18); lVar1 = param_1[0x16]; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x10))(*(longlong **)(param_2 + 8),lVar1); lVar1 = param_1[0x17]; if (*(code **)(*param_1 + 0x160) == FUN_1805052d0) { if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),param_1 + 0x21); puVar2 = (undefined4 *)FUN_18134a8d0(param_1[0x20],&local_res8,0x1001c00,1); FUN_181296c00(param_2,*puVar2); local_18 = 0; uStack_10 = lVar1; FUN_181296100(param_2,param_1 + 0x22,&local_18,0x24,CONCAT44(uVar4,1),0); } else { (**(code **)(*param_1 + 0x160)) (param_1,param_2,(int)param_1[0x17],*(undefined4 *)((longlong)param_1 + 0xbc)); } return; } ############ FUN_ 1812d4bb0 size=692 ############ void FUN_1812d4bb0(longlong param_1,longlong param_2) { int *piVar1; undefined4 uVar2; int iVar3; undefined4 uVar4; longlong lVar5; undefined4 *puVar6; undefined8 uVar7; longlong *plVar8; ulonglong uVar9; ulonglong uVar10; longlong lVar11; int iVar12; undefined1 local_res8 [8]; undefined8 *local_res10; undefined4 uVar13; undefined4 local_78; int iStack_74; undefined4 uStack_70; undefined4 uStack_6c; undefined4 local_68; int iStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined4 local_58; int iStack_54; undefined4 uStack_50; undefined4 uStack_4c; lVar5 = FUN_18134adf0(); plVar8 = (longlong *)(lVar5 + 0x38); lVar5 = param_1 + 200; (**(code **)(*plVar8 + 0x10))(plVar8,param_2,param_1,param_1 + 0x130,lVar5); puVar6 = (undefined4 *)FUN_18134a8d0(param_1,local_res8,0x1001810,0); FUN_181296c00(param_2,*puVar6); uVar7 = (**(code **)(*plVar8 + 0x40))(plVar8,&local_res10); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),uVar7); if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar12 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar12 == 1) { (**(code **)*local_res10)(local_res10,1); } } iVar12 = *(int *)(param_1 + 0x15c) + -1; if (-1 < iVar12) { lVar11 = (longlong)iVar12 * 8; do { uVar13 = (undefined4)((ulonglong)lVar5 >> 0x20); lVar5 = *(longlong *)(lVar11 + *(longlong *)(param_1 + 0x150)); uVar2 = *(undefined4 *)(lVar5 + 0x28); iVar3 = *(int *)(lVar5 + 0x24); uVar4 = *(undefined4 *)(lVar5 + 0x20); uVar7 = FUN_181249970(param_1 + 0x1b0,iVar12); iStack_74 = iVar3 + -0xe; uStack_6c = 0xe; lVar5 = CONCAT44(uVar13,1); local_78 = uVar4; uStack_70 = uVar2; FUN_181296100(param_2,uVar7,&local_78,0x21,lVar5,0); lVar11 = lVar11 + -8; iVar12 = iVar12 + -1; } while (-1 < iVar12); } iVar12 = *(int *)(param_1 + 0x1cc) + -1; if (-1 < iVar12) { lVar11 = (longlong)iVar12 * 8; do { uVar13 = (undefined4)((ulonglong)lVar5 >> 0x20); lVar5 = *(longlong *)(lVar11 + *(longlong *)(param_1 + 0x160)); uVar2 = *(undefined4 *)(lVar5 + 0x28); iVar3 = *(int *)(lVar5 + 0x24); uVar4 = *(undefined4 *)(lVar5 + 0x20); uVar7 = FUN_181249970(param_1 + 0x1c0,iVar12); iStack_64 = iVar3 + -0xe; uStack_5c = 0xe; lVar5 = CONCAT44(uVar13,1); local_68 = uVar4; uStack_60 = uVar2; FUN_181296100(param_2,uVar7,&local_68,0x21,lVar5,0); lVar11 = lVar11 + -8; iVar12 = iVar12 + -1; } while (-1 < iVar12); } plVar8 = *(longlong **)(param_1 + 0x180); uVar10 = 0; uVar9 = (ulonglong)((longlong)(plVar8 + *(int *)(param_1 + 0x18c)) + (7 - (longlong)plVar8)) >> 3; if (plVar8 + *(int *)(param_1 + 0x18c) < plVar8) { uVar9 = uVar10; } if (uVar9 != 0) { do { lVar5 = *plVar8; local_58 = *(undefined4 *)(lVar5 + 0x20); iStack_54 = *(int *)(lVar5 + 0x24) + -0xe; uStack_50 = *(undefined4 *)(lVar5 + 0x28); uStack_4c = 0xe; FUN_181296100(param_2,lVar5 + 8,&local_58,0x21,1,0); plVar8 = plVar8 + 1; uVar10 = uVar10 + 1; } while (uVar10 != uVar9); } return; } ############ FUN_ 1812d6a60 size=86 ############ void FUN_1812d6a60(longlong param_1,longlong param_2,undefined4 *param_3) { undefined4 *puVar1; undefined1 local_res8 [8]; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; puVar1 = (undefined4 *)FUN_18134a8d0(*(undefined8 *)(param_1 + 8),local_res8,0x1000501,0); FUN_181296c00(param_2,*puVar1); local_18 = *param_3; uStack_14 = param_3[1]; uStack_10 = param_3[2]; uStack_c = param_3[3]; (**(code **)(**(longlong **)(param_2 + 8) + 200))(*(longlong **)(param_2 + 8),&local_18); return; } ############ FUN_ 1812d6ac0 size=86 ############ void FUN_1812d6ac0(longlong param_1,longlong param_2,undefined4 *param_3) { undefined4 *puVar1; undefined1 local_res8 [8]; undefined4 local_18; undefined4 uStack_14; undefined4 uStack_10; undefined4 uStack_c; puVar1 = (undefined4 *)FUN_18134a8d0(*(undefined8 *)(param_1 + 8),local_res8,0x1000501,0); FUN_181296c00(param_2,*puVar1); local_18 = *param_3; uStack_14 = param_3[1]; uStack_10 = param_3[2]; uStack_c = param_3[3]; (**(code **)(**(longlong **)(param_2 + 8) + 200))(*(longlong **)(param_2 + 8),&local_18); return; } ############ FUN_ 1812deec0 size=348 ############ void FUN_1812deec0(longlong param_1,undefined8 param_2) { int iVar1; longlong lVar2; undefined1 local_18 [16]; if ((**(char **)(param_1 + 0x2b8) != '\0') && (DAT_182673708 != param_1)) { iVar1 = FUN_1812dbb90(); if (iVar1 == 0) { FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x2c0)); FUN_1812967b0(param_2,param_1 + 0x298); if (*(char *)(param_1 + 0x1ee) == '\0') { FUN_1812962a0(param_2,param_1 + 0x2b8,*(int *)(param_1 + 0x288),0, *(int *)(*(longlong *)(param_1 + 0x1c8) + 0x28) - *(int *)(param_1 + 0x288), *(undefined4 *)(param_1 + 0x2c),0x21,1); } else { local_18._4_4_ = (float)*(int *)(param_1 + 0x2c); local_18._0_4_ = (float)*(int *)(param_1 + 0x28); local_18._8_8_ = 0; local_18 = local_18 << 0x40; FUN_1812963b0(param_2,param_1 + 0x2b8,local_18,0x24,1); } } } lVar2 = FUN_18134adf0(param_1); (**(code **)(*(longlong *)(lVar2 + 0x18) + 0x10)) (lVar2 + 0x18,param_2,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c), param_1); return; } ############ FUN_ 1812df080 size=2794 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812df080(longlong param_1,longlong param_2) { uint uVar1; ulonglong uVar2; longlong lVar3; bool bVar4; undefined4 uVar5; float fVar6; double dVar7; undefined4 uVar8; char cVar9; wint_t _C; uint *puVar10; longlong *plVar11; undefined8 uVar12; longlong *plVar13; undefined1 uVar14; int iVar15; longlong *plVar16; ulonglong *puVar17; int iVar18; longlong *plVar19; ulonglong *puVar20; float fVar21; undefined4 uVar22; float fVar23; float fVar24; undefined4 uStackX_c; undefined4 local_res18 [2]; undefined4 local_res20; undefined4 uStack_334; void *local_330; undefined8 local_328; void *local_320; ulonglong local_318; undefined1 local_310 [4]; int local_30c; int local_304; undefined4 local_300; undefined4 uStack_2fc; int local_2f8; int iStack_2f4; int iStack_2ec; int local_2e8; int iStack_2e4; int local_2d8; float local_2d4; float fStack_2cc; float fStack_2c8; undefined4 local_2c4; undefined4 local_2c0; longlong local_2b8; longlong local_2b0; undefined8 local_2a8; undefined4 local_2a0; undefined4 local_29c; undefined4 local_298; undefined4 local_294; undefined4 local_290; int local_28c; float local_288; longlong local_280; undefined4 local_278; undefined4 local_274; float local_268; undefined4 local_264; float local_260; float local_25c; int local_258; int iStack_254; int iStack_250; undefined4 uStack_24c; undefined8 local_248; float fStack_240; float fStack_23c; int local_238; ulonglong local_234; undefined8 uStack_22c; undefined4 local_224; undefined4 local_220; longlong local_218; longlong local_210; undefined8 local_208; undefined4 local_200; undefined4 local_1fc; undefined4 local_1f8; undefined4 local_1f4; undefined4 local_1f0; int local_1ec; float local_1e8; longlong local_1e0; undefined4 local_1d8; undefined4 local_1d4; undefined8 local_1c8; undefined8 local_1c0; undefined8 local_1b8; undefined4 local_1b0; longlong local_1a8; longlong *plStack_1a0; undefined8 *local_198; undefined8 local_190; undefined4 local_188; float local_184; float local_180; undefined4 local_17c; undefined4 local_178; undefined1 *local_170; undefined1 local_158 [4]; undefined1 local_154 [4]; double local_150; double local_148; longlong local_140; longlong local_138; double local_130; double local_128; ulonglong *local_120; undefined8 local_118; undefined8 uStack_110; ulonglong local_108; undefined8 local_100; longlong local_f8; longlong local_f0; longlong local_e8; undefined8 local_d8; undefined8 uStack_d0; undefined4 local_c8; undefined4 uStack_c4; float fStack_c0; float fStack_bc; undefined8 local_b8; undefined8 uStack_b0; ulonglong local_a8; local_100 = 0xfffffffffffffffe; if ((*(char *)(param_1 + 0x1ef) == '\0') || (0.0 < (float)((*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - *(int *)(param_1 + 0x288)) + -3))) { uStack_2fc = *(undefined4 *)(param_1 + 0x28c); local_300 = *(undefined4 *)(param_1 + 0x288); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x10)) (*(longlong **)(param_2 + 8),CONCAT44(uStack_2fc,local_300)); (**(code **)(**(longlong **)(param_2 + 8) + 0x58))(*(longlong **)(param_2 + 8),local_310); FUN_1805074f0(&local_2d8,param_1); dVar7 = DAT_1824c4520; fVar6 = DAT_1824c3ea4; fVar24 = DAT_1824c3d8c; if (*(int *)(param_1 + 0x280) != *(int *)(param_1 + 0x284)) { local_238 = local_2d8; local_234 = (ulonglong)(uint)local_2d4; uStack_22c = CONCAT44(fStack_2c8,fStack_2cc); local_224 = local_2c4; local_220 = local_2c0; local_218 = local_2b8; local_210 = local_2b0; local_208 = local_2a8; local_200 = local_2a0; local_1fc = local_29c; local_1f8 = local_298; local_1f4 = local_294; local_1f0 = local_290; local_1ec = local_28c; local_1e8 = local_288; local_1e0 = local_280; if ((*(uint *)(local_280 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_280 + -0x10) = *(int *)(local_280 + -0x10) + 1; UNLOCK(); } local_1d8 = local_278; local_1d4 = local_274; local_320 = (void *)0x0; local_318 = 0; cVar9 = FUN_1805075e0(&local_238); iVar15 = local_2f8; local_2f8 = local_238; while ((lVar3 = DAT_182673708, local_238 = local_2f8, cVar9 != '\0' && ((float)local_234 < (float)(local_304 + local_30c)))) { if ((float)local_30c <= (float)uStack_22c + (float)local_234) { iVar15 = *(int *)(local_218 + 0xc) + local_2f8; iStack_2f4 = local_2f8; if (local_2f8 < iVar15) { iStack_2f4 = iVar15; } iVar15 = local_2f8; if ((local_2f8 < *(int *)(param_1 + 0x284)) && (*(int *)(param_1 + 0x280) < iStack_2f4)) { uVar2 = *(ulonglong *)(param_1 + 0x280); fVar21 = (float)FUN_1805083d0(&local_238,uVar2 & 0xffffffff); uStackX_c = (undefined4)(uVar2 >> 0x20); local_260 = (float)FUN_1805083d0(&local_238,uStackX_c); local_25c = local_1e8 * (float)uStack_22c; local_260 = local_260 - fVar21; local_264 = (float)local_234; local_268 = fVar21; FUN_18051cfc0(&local_320,&local_268); iVar15 = local_2f8; } } local_2f8 = iVar15; cVar9 = FUN_1805075e0(&local_238); iVar15 = local_2f8; local_2f8 = local_238; } do { if (lVar3 == param_1) { bVar4 = true; LAB_1812df37e: if (bVar4) { fVar24 = fVar6; } local_2f8 = iVar15; puVar10 = (uint *)FUN_18134a8d0(param_1,local_158,0x1000202,0); local_150 = (double)((float)(*puVar10 >> 0x18) * fVar24) + dVar7; uVar14 = 0xff; if (SUB84(local_150,0) < 0xff) { uVar14 = SUB81(local_150,0); } local_res20 = CONCAT13(uVar14,(int3)*puVar10); FUN_181296c00(param_2,local_res20); (**(code **)(**(longlong **)(param_2 + 8) + 0xb0))(*(longlong **)(param_2 + 8),&local_320) ; FUN_18134a8d0(param_1,local_154,0x1000203,0); local_318 = local_318 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_320); } if (lVar3 == 0) { bVar4 = false; goto LAB_1812df37e; } lVar3 = *(longlong *)(lVar3 + 0x18); } while( true ); } cVar9 = FUN_1805075e0(&local_2d8); uVar8 = DAT_1824c4620; uVar5 = DAT_1824c42d0; fVar21 = DAT_1824c4628; while ((DAT_1824c42d0 = uVar5, DAT_1824c4628 = fVar21, cVar9 != '\0' && (local_2d4 < (float)(local_304 + local_30c)))) { if ((float)local_30c <= fStack_2cc + local_2d4) { iVar15 = *(int *)(local_2b8 + 0xc) + local_2d8; iStack_2ec = local_2d8; if (local_2d8 < iVar15) { iStack_2ec = iVar15; } if ((local_2d8 < *(int *)(param_1 + 0x284)) && (*(int *)(param_1 + 0x280) < iStack_2ec)) { FUN_180507e00(&local_2d8,param_2,*(undefined8 *)(param_1 + 0x280),0); } else { if (local_28c != 0) { LAB_1812df52f: if (local_2b0 != 0) { FUN_181296c00(param_2,*(undefined4 *)(local_2b0 + 8)); lVar3 = local_2b0; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),lVar3); } local_330 = (void *)0x0; local_328 = 0; FUN_1804aebd0(&local_330,200); uVar12 = FUN_180506710(local_2b8,&local_140,local_28c); local_148 = (double)((fStack_2cc + local_2d4) - fStack_2c8) + dVar7; FUN_1812510e0(&local_330,local_2b0,uVar12,local_2c4,(float)local_148._0_4_,uVar8,0); puVar10 = (uint *)(local_140 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_118 = _DAT_1824c4780; uStack_110 = _UNK_1824c4788; local_b8 = _DAT_1824c4780; uStack_b0 = _UNK_1824c4788; local_108 = (ulonglong)(uint)fVar6; local_a8 = local_108; FUN_18124efb0(&local_330,param_2,&local_b8); FUN_1804aeb50(&local_330); /* WARNING: Subroutine does not return */ free(local_330); } _C = FUN_180493050(local_2b8,0); iVar15 = iswspace(_C); if (iVar15 == 0) goto LAB_1812df52f; } } cVar9 = FUN_1805075e0(&local_2d8); uVar5 = DAT_1824c42d0; fVar21 = DAT_1824c4628; } puVar20 = *(ulonglong **)(param_1 + 0x310); puVar17 = puVar20 + *(int *)(param_1 + 0x31c); local_120 = puVar17; if (puVar20 != puVar17) { do { local_198 = (undefined8 *)(param_1 + 0x2a8); local_1c8 = 0; local_1c0 = 0; local_1b8 = 0; local_1b0 = 0; local_1a8 = 0; plStack_1a0 = (longlong *)0x0; local_190 = 0; local_188 = *(undefined4 *)(param_1 + 0x1e8); local_184 = (float)((*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - *(int *)(param_1 + 0x288)) + -3); local_180 = fVar21; if (*(char *)(param_1 + 0x1ef) != '\0') { local_180 = (float)((*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - *(int *)(param_1 + 0x288)) + -3); } local_17c = *(undefined4 *)(param_1 + 0x2c4); local_178 = *(undefined4 *)(param_1 + 0x2f4); local_170 = &DAT_1821dbf98; if ((*(int *)(param_1 + 0x2b4) != 0) && (plStack_1a0 = *(longlong **)*local_198, plStack_1a0 != (longlong *)0x0)) { FUN_180507b50(&local_1c8); } cVar9 = FUN_1805075e0(&local_1c8); uVar12 = local_1c8; while (local_1c8 = uVar12, cVar9 != '\0') { plVar16 = (longlong *)0x0; local_1c8._4_4_ = (float)((ulonglong)uVar12 >> 0x20); puVar17 = local_120; if ((float)(local_304 + local_30c) <= local_1c8._4_4_) break; local_1c0._4_4_ = (float)((ulonglong)local_1c0 >> 0x20); fVar23 = local_1c0._4_4_ + local_1c8._4_4_; if ((float)local_30c <= fVar23) { local_1c8._0_4_ = (int)uVar12; iVar15 = *(int *)(local_1a8 + 0xc) + (int)local_1c8; local_2e8 = (int)local_1c8; iStack_2e4 = (int)local_1c8; if ((int)local_1c8 < iVar15) { iStack_2e4 = iVar15; } bVar4 = (int)local_1c8 < *(int *)((longlong)puVar20 + 4); if ((bVar4) && ((int)*puVar20 < iStack_2e4)) { plVar11 = (longlong *)FUN_1804e4ce0(&local_138,0x1000201); plVar19 = *(longlong **)(param_1 + 0x90); plVar13 = plVar19 + (longlong)*(int *)(param_1 + 0x9c) * 3; if (plVar19 != plVar13) { local_f8 = *plVar11; do { local_f0 = *plVar19; if (local_f0 == local_f8) { plVar16 = plVar19 + 1; break; } plVar19 = plVar19 + 3; } while (plVar19 != plVar13); } puVar10 = (uint *)(local_138 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if (plVar16 == (longlong *)0x0) { uVar12 = FUN_18134adf0(param_1); FUN_181346420(uVar12,local_res18,0x1000201); } else { local_res18[0] = (**(code **)(*(longlong *)*plVar16 + 8))((longlong *)*plVar16,plVar16 + 1); } uVar8 = local_res18[0]; uVar2 = *puVar20; fVar23 = (float)FUN_1805083d0(&local_1c8,uVar2 & 0xffffffff); local_130 = (double)fVar23 + dVar7; uStack_334 = (undefined4)(uVar2 >> 0x20); fVar23 = (float)FUN_1805083d0(&local_1c8,uStack_334); plVar16 = plStack_1a0; local_128 = (double)fVar23 + dVar7; if (*(float *)(*plStack_1a0 + 0x34) == 0.0) { plVar13 = (longlong *)FUN_181252280(plStack_1a0); lVar3 = *plVar16; uVar22 = (**(code **)(*plVar13 + 0x10))(plVar13); *(undefined4 *)(lVar3 + 0x34) = uVar22; } lVar3 = *plVar16; fVar23 = *(float *)(lVar3 + 0x34) * *(float *)(lVar3 + 0x28) + local_1c8._4_4_; local_e8 = param_2; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } *(undefined1 *)(param_2 + 0x10) = 1; local_258 = SUB84(local_130,0); iVar15 = SUB84((double)(fVar23 + fVar24) + dVar7,0); iVar18 = SUB84(local_128,0); iStack_250 = iVar18 - local_258; uStack_24c = 1; local_d8 = CONCAT44(iVar15,local_258); uStack_d0 = CONCAT44(1,iStack_250); iStack_254 = iVar15; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x28)) (*(longlong **)(param_2 + 8),&local_d8); fStack_240 = (float)iVar18; fStack_23c = (float)iVar15 + fVar6; local_248 = 0; local_c8 = 0; uStack_c4 = 0; fStack_c0 = fStack_240; fStack_bc = fStack_23c; FUN_181294be0(param_2,&local_c8,uVar5,fVar6,uVar8,DAT_182673b60); if (*(char *)(param_2 + 0x10) == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); } else { *(undefined1 *)(param_2 + 0x10) = 0; } } } cVar9 = FUN_1805075e0(&local_1c8); puVar17 = local_120; uVar12 = local_1c8; } puVar10 = (uint *)(local_170 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar20 = puVar20 + 1; } while (puVar20 != puVar17); } puVar10 = (uint *)(local_280 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } return; } ############ FUN_ 1812e56e0 size=541 ############ void FUN_1812e56e0(longlong param_1,undefined8 param_2) { int iVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; undefined4 uVar5; longlong lVar6; longlong lVar7; double dVar8; longlong lVar9; undefined4 *puVar10; undefined4 uVar11; undefined4 uVar12; undefined4 uVar13; undefined1 local_res8 [8]; undefined8 local_res10; undefined8 in_stack_ffffffffffffff90; undefined4 uVar14; uVar14 = (undefined4)((ulonglong)in_stack_ffffffffffffff90 >> 0x20); lVar6 = *(longlong *)(param_1 + 0x200); local_res10 = param_2; lVar9 = FUN_18134adf0(); iVar1 = *(int *)(lVar6 + 0x20); if (iVar1 != 8) { if (iVar1 - 4U < 4) { dVar8 = (double)(**(code **)(**(longlong **)(lVar6 + 0x18) + 0x188)) (*(longlong **)(lVar6 + 0x18),*(undefined8 *)(lVar6 + 0x80)); (**(code **)(*(longlong *)(lVar9 + 0x58) + 0x28)) ((longlong *)(lVar9 + 0x58),param_2,*(undefined4 *)(lVar6 + 0x1f0), *(undefined4 *)(lVar6 + 500),*(undefined4 *)(lVar6 + 0x1f8), *(undefined4 *)(lVar6 + 0x1fc),(float)dVar8,*(undefined4 *)(lVar6 + 0x1bc), *(undefined4 *)(lVar6 + 0x1c0),*(undefined8 *)(lVar6 + 0x18)); } else { uVar2 = *(undefined4 *)(lVar6 + 0x1fc); uVar3 = *(undefined4 *)(lVar6 + 0x1f0); uVar4 = *(undefined4 *)(lVar6 + 500); uVar5 = *(undefined4 *)(lVar6 + 0x1f8); lVar7 = *(longlong *)(lVar9 + 0x58); uVar11 = FUN_180502240(lVar6,*(undefined8 *)(lVar6 + 0x90)); uVar12 = FUN_180502240(lVar6,*(undefined8 *)(lVar6 + 0x88)); uVar13 = FUN_180502240(lVar6,*(undefined8 *)(lVar6 + 0x80)); param_2 = local_res10; (**(code **)(lVar7 + 8)) (lVar9 + 0x58,local_res10,uVar3,uVar4,uVar5,uVar2,uVar13,uVar12,uVar11, CONCAT44(uVar14,iVar1),*(undefined8 *)(lVar6 + 0x18)); } if ((*(int *)(lVar6 + 0x20) - 2U < 2) && (*(longlong *)(lVar6 + 0x250) == 0)) { puVar10 = (undefined4 *)FUN_18134a8d0(*(undefined8 *)(lVar6 + 0x18),local_res8,0x1001700,0); FUN_181296c00(param_2,*puVar10); FUN_181295c90(param_2,0,0,*(undefined4 *)(*(longlong *)(lVar6 + 0x18) + 0x28), *(undefined4 *)(*(longlong *)(lVar6 + 0x18) + 0x2c),1); } } return; } ############ FUN_ 1812e82b0 size=195 ############ void FUN_1812e82b0(longlong param_1,undefined8 param_2) { undefined4 *puVar1; undefined1 local_res8 [8]; undefined1 local_18 [16]; if (0 < *(int *)(param_1 + 0xfc)) { puVar1 = (undefined4 *)FUN_18134a8d0(param_1,local_res8,0x1002810,0); FUN_181296c00(param_2,*puVar1); local_18 = ZEXT416((uint)(float)*(int *)(param_1 + 0x28)) << 0x40; FUN_181295950(param_2,local_18); } return; } ############ FUN_ 1812ec830 size=682 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812ec830(longlong param_1,longlong param_2) { uint uVar1; undefined4 *puVar2; longlong lVar3; undefined8 uVar4; int *piVar5; longlong *plVar6; uint *puVar7; int iVar8; undefined1 auStack_118 [32]; undefined4 local_f8; undefined4 local_f0; undefined4 local_e8; longlong local_e0; longlong local_d8; longlong local_d0; longlong local_c8 [2]; int local_b8; int iStack_b4; int iStack_b0; int iStack_ac; undefined1 local_a8 [4]; undefined1 local_a4 [4]; undefined1 local_a0 [4]; undefined4 local_9c; undefined8 local_98; longlong *local_90; undefined4 local_88; undefined4 uStack_84; undefined4 uStack_80; undefined4 uStack_7c; int local_78; int iStack_74; int iStack_70; int iStack_6c; undefined1 local_68 [16]; undefined1 local_58 [47]; undefined1 local_29; ulonglong local_28 [2]; local_98 = 0xfffffffffffffffe; local_28[0] = DAT_182615970 ^ (ulonglong)auStack_118; puVar2 = (undefined4 *)FUN_18134a8d0(param_1,local_a8,0x1000200,0); FUN_181296c00(param_2,*puVar2); lVar3 = FUN_18134adf0(param_1); puVar2 = (undefined4 *) (**(code **)(*(longlong *)(lVar3 + 0x80) + 0x20)) ((longlong *)(lVar3 + 0x80),local_68,param_1); local_88 = *puVar2; uStack_84 = puVar2[1]; uStack_80 = puVar2[2]; uStack_7c = puVar2[3]; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_88,0); if (*(char *)(param_1 + 0x118) == '\0') { uVar4 = FUN_18134a8d0(param_1,local_a4,0x1000200,0); puVar2 = (undefined4 *)FUN_1812a24b0(uVar4,local_a0,DAT_1824c3ea4); local_e8 = CONCAT13(0x66,(int3)*puVar2); FUN_181296c00(param_2,local_e8); lVar3 = FUN_18134adf0(param_1); piVar5 = (int *)(**(code **)(*(longlong *)(lVar3 + 0x80) + 0x20)) ((longlong *)(lVar3 + 0x80),local_58,param_1); iVar8 = piVar5[3]; iStack_ac = 0x14; if (iVar8 < 0x14) { iStack_ac = iVar8; } iStack_b4 = (piVar5[1] - iStack_ac) + iVar8; piVar5[3] = iVar8 - iStack_ac; local_b8 = *piVar5 + 10; iVar8 = (*piVar5 - local_b8) + piVar5[2]; iStack_b0 = 0; if (0 < iVar8) { iStack_b0 = iVar8; } local_78 = local_b8; iStack_74 = iStack_b4; iStack_70 = iStack_b0; iStack_6c = iStack_ac; lVar3 = FUN_181233e10(local_28,*(undefined4 *)(param_1 + 0x114)); FUN_180495150(&local_d8,lVar3,&local_29 + -lVar3); FUN_18049c4e0(&local_d0,&DAT_1821e2ff4); plVar6 = (longlong *)FUN_181232d30(&local_d0,&local_d8); local_e0 = *plVar6; if ((*(uint *)(local_e0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e0 + -0x10) = *(int *)(local_e0 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(local_d0 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_90 = &local_e0; FUN_181232e20(&local_e0," more",""); local_c8[0] = local_e0; if ((*(uint *)(local_e0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e0 + -0x10) = *(int *)(local_e0 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(local_e0 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_9c = 0x21; local_f0 = 0; local_f8 = 1; FUN_181296100(param_2,local_c8,&local_78,0x21); puVar7 = (uint *)(local_c8[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_d8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } FUN_1812ed550(param_1,param_2); } ############ FUN_ 1812ed2b0 size=219 ############ void FUN_1812ed2b0(longlong param_1,undefined8 param_2) { undefined4 local_res8; undefined8 local_18; undefined8 uStack_10; if (*(int *)(*(longlong *)(param_1 + 0x268) + 0xbc) == 0) { local_res8 = CONCAT13(0x7f,(int3)DAT_18262b5b8); FUN_181296c00(param_2,local_res8); FUN_1812966f0(param_2); uStack_10 = CONCAT44(0x41f00000,(float)*(int *)(param_1 + 0x28)); local_18 = 0; FUN_1812963b0(param_2,param_1 + 0x270,&local_18,0x24,1); } return; } ############ FUN_ 1812ee050 size=247 ############ void FUN_1812ee050(longlong param_1,longlong param_2) { undefined4 *puVar1; undefined1 local_res8 [8]; undefined8 local_18; undefined8 uStack_10; FUN_1812ed550(); puVar1 = (undefined4 *)FUN_18134a8d0(param_1,local_res8,0x100e801,0); FUN_181296c00(param_2,*puVar1); local_18 = *(undefined8 *)(param_1 + 0xe8); uStack_10 = *(undefined8 *)(param_1 + 0xf0); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_18,0); puVar1 = (undefined4 *)FUN_18134a8d0(param_1,local_res8,0x100e803,0); FUN_181296c00(param_2,*puVar1); local_18 = CONCAT44((float)*(int *)(param_1 + 0xec),(float)*(int *)(param_1 + 0xe8)); uStack_10 = CONCAT44((float)*(int *)(param_1 + 0xf4),(float)*(int *)(param_1 + 0xf0)); FUN_181295950(param_2,&local_18); return; } ############ FUN_ 1812f2000 size=773 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812f2000(longlong param_1,int param_2,longlong param_3,int param_4,int param_5, undefined1 param_6) { longlong lVar1; undefined4 *puVar2; int iVar3; undefined1 *puVar4; char *pcVar5; int *piVar6; uint uVar7; int *piVar8; longlong lVar9; undefined1 auStack_318 [32]; undefined1 local_2f8; undefined1 local_2f0; undefined1 local_2e8; undefined1 local_2e0; undefined1 *local_2d8; undefined1 *local_2d0; undefined8 local_2c8; int *local_2c0; uint local_2b8 [4]; undefined8 local_2a8; int iStack_2a0; int iStack_29c; undefined8 local_298; undefined1 local_288; undefined4 local_284; undefined1 *local_280; undefined4 local_278; undefined8 local_238; undefined8 uStack_230; undefined8 local_228; undefined8 uStack_220; undefined8 local_218; undefined8 uStack_210; undefined1 *local_208; undefined4 local_200; undefined4 local_1fc; char local_1f8; undefined4 local_1f4; undefined1 local_1f0 [88]; undefined8 local_198; longlong local_190; undefined1 local_178 [8]; int local_170; undefined1 local_16c; undefined1 local_16b; undefined1 local_16a; char local_168 [148]; undefined4 local_d4; undefined1 local_d0 [136]; ulonglong local_48; local_298 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_318; piVar6 = (int *)0x0; local_2b8[0] = 0; lVar1 = FUN_18134adf0(param_1 + -0xb0); if (param_2 < *(int *)(param_1 + 300)) { puVar4 = (undefined1 *)((longlong)param_2 * 0x90 + *(longlong *)(param_1 + 0x120)); local_168[0x90] = *puVar4; local_d4 = *(undefined4 *)(puVar4 + 4); FUN_1812f0e30(local_d0,puVar4 + 8); pcVar5 = local_168 + 0x90; uVar7 = 1; } else { local_288 = 1; local_284 = 0; local_280 = &DAT_1821dbf98; local_278 = 0; local_238 = 0; uStack_230 = 0; local_228 = 0; uStack_220 = 0; local_218 = 0; uStack_210 = 0; local_208 = &DAT_1821dbf98; local_200 = 0; local_1fc = 1; local_2b8[0] = 6; local_168[0] = '\x01'; local_168[4] = '\0'; local_168[5] = '\0'; local_168[6] = '\0'; local_168[7] = '\0'; FUN_181348200(local_168 + 8,&local_280); pcVar5 = local_168; uVar7 = 0xe; } local_1f8 = *pcVar5; local_1f4 = *(undefined4 *)(pcVar5 + 4); local_2b8[0] = uVar7; FUN_181348200(local_1f0,pcVar5 + 8); if ((uVar7 & 8) != 0) { uVar7 = uVar7 & 0xfffffff7; FUN_1804d80a0(local_168 + 8); } if ((uVar7 & 4) != 0) { uVar7 = uVar7 & 0xfffffffb; FUN_1804d80a0(&local_280); } if ((uVar7 & 1) != 0) { FUN_1804d80a0(local_d0); } puVar2 = (undefined4 *)FUN_18134a8d0(param_1 + -0xb0,local_2b8,0x1000700,0); FUN_1812a3160(param_3,*puVar2); iVar3 = 0; if (local_1f8 == '\0') { local_2b8[0] = 0; piVar8 = &local_170; if (local_170 == 0) { piVar8 = piVar6; } if (local_190 == 0) { if (0 < (int)(param_4 - 0x28U)) { piVar6 = (int *)(ulonglong)(param_4 - 0x28U); } iStack_29c = iVar3; if (0 < param_5) { iStack_29c = param_5; } local_2a8 = 0x14; iStack_2a0 = (int)piVar6; lVar9 = *(longlong *)(lVar1 + 0x40); local_2e0 = FUN_1812f1fb0(local_1f0); local_2c8 = local_198; local_2d0 = local_178; local_2d8 = local_1f0; local_2e8 = local_16b; local_2f0 = param_6; local_2f8 = local_16c; local_2c0 = piVar8; (**(code **)(lVar9 + 0x10))(lVar1 + 0x40,param_3,&local_2a8,local_16a); } } else { iStack_2a0 = iVar3; if (0 < param_4 + -0x28) { iStack_2a0 = param_4 + -0x28; } iStack_29c = iVar3; if (0 < param_5) { iStack_29c = param_5; } local_2a8 = 0x14; (**(code **)(*(longlong *)(lVar1 + 0x40) + 0x18)) ((longlong *)(lVar1 + 0x40),param_3,&local_2a8,local_1f0); FUN_181296c00(param_3,DAT_18262b5a4); local_2a8 = 0; iStack_29c = 1; iStack_2a0 = param_4; (**(code **)(**(longlong **)(param_3 + 8) + 0xa8))(*(longlong **)(param_3 + 8),&local_2a8,0); } FUN_1804d80a0(local_1f0); } ############ FUN_ 1812f4d00 size=517 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f4d00(longlong param_1,longlong param_2,longlong param_3,undefined8 param_4, longlong *param_5) { int *piVar1; int iVar2; longlong *plVar3; char cVar4; undefined4 local_a8; undefined4 local_a4; undefined8 *local_a0; undefined4 local_98; undefined4 uStack_94; undefined4 local_90; undefined8 local_8c; undefined8 *local_80; undefined8 *local_78; undefined1 local_70; undefined8 local_68; undefined8 uStack_60; undefined8 local_58; undefined **local_50; undefined8 *local_48; undefined4 local_40; undefined4 local_3c; undefined8 local_38; undefined4 local_30; undefined4 uStack_2c; undefined4 uStack_28; undefined4 uStack_24; undefined8 local_20; undefined8 local_18; plVar3 = param_5; local_18 = 0xfffffffffffffffe; if (*param_5 == 0) { local_50 = juce::NativeImageType::vftable; (*(code *)PTR_FUN_1824988f0) (&local_50,&local_a0,2,*(undefined4 *)(param_2 + 0x28),*(undefined4 *)(param_2 + 0x2c) ,1); local_48 = (undefined8 *)*param_5; *param_5 = (longlong)local_a0; local_a0 = local_48; if (local_48 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_48 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_48)(local_48,1); } } param_5 = (longlong *)*param_5; if (param_5 == (longlong *)0x0) { local_80 = (undefined8 *)0x0; } else { (**(code **)(*param_5 + 8))(param_5,&local_80); } local_70 = 0; local_98 = 0; uStack_94 = 2; param_5._0_4_ = CONCAT13(0xb3,(int3)DAT_18262b5b8); local_40 = param_5._0_4_; local_3c = 8; local_38 = 0x200000000; local_78 = local_80; FUN_18124d610(&local_40,&local_80,param_4); if (local_80 != (undefined8 *)0x0) { (**(code **)*local_80)(local_80,1); } } FUN_181296c00(param_3,DAT_18262b5b8); local_30 = _DAT_1824c4780; uStack_2c = _UNK_1824c4784; uStack_28 = _UNK_1824c4788; uStack_24 = _UNK_1824c478c; local_20 = 0x3f800000; if (*plVar3 != 0) { cVar4 = (**(code **)(**(longlong **)(param_3 + 8) + 0x60))(); if (cVar4 == '\0') { (**(code **)(**(longlong **)(param_3 + 8) + 0xc0)) (*(longlong **)(param_3 + 8),plVar3,&local_30); } } local_a8 = CONCAT13(0xcc,(int3)*(undefined4 *)(param_1 + 0xac)); FUN_181296c00(param_3,local_a8); FUN_181295ed0(param_3,param_4); local_a4 = CONCAT13(0xcc,(int3)*(undefined4 *)(param_1 + 0xb4)); FUN_181296c00(param_3,local_a4); local_68 = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_60 = CONCAT44(_UNK_1824c478c,_UNK_1824c4788); local_58 = 0x3f800000; local_90 = DAT_1824c41e0; local_8c = 0; FUN_181295d20(param_3,param_4,&local_90,&local_68); return; } ############ FUN_ 1812f4f80 size=452 ############ void FUN_1812f4f80(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, longlong param_5) { longlong lVar1; char cVar2; int iVar3; uint *puVar4; undefined1 uVar5; int iVar6; double dVar7; float fVar8; undefined4 local_res20; int local_48; undefined4 local_44; int local_40; int local_3c; int local_38; undefined4 uStack_34; int iStack_30; int iStack_2c; lVar1 = param_5; iVar3 = *(int *)(param_5 + 0x28) / 10; iVar6 = 10; if (iVar3 < 10) { iVar6 = iVar3; } fVar8 = DAT_1824c3db8; if (((*(byte *)(param_5 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_5 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), fVar8 = DAT_1824c3db8, cVar2 != '\0')))) { fVar8 = DAT_1824c3ea4; } puVar4 = (uint *)FUN_18134a8d0(lVar1,¶m_5,0x1008301,0); dVar7 = (double)((float)(*puVar4 >> 0x18) * fVar8) + DAT_1824c4520; uVar5 = 0xff; if (SUB84(dVar7,0) < 0xff) { uVar5 = SUB81(dVar7,0); } local_res20 = CONCAT13(uVar5,(int3)*puVar4); FUN_181296c00(param_2,local_res20); FUN_1812966f0(param_2); if (*(code **)(*param_1 + 0x20) == FUN_1812f4f10) { iVar3 = *(int *)(lVar1 + 0x28) / 2; local_48 = 200; if (iVar3 < 200) { local_48 = iVar3; } local_40 = *(int *)(lVar1 + 0x28) - local_48; local_3c = *(int *)(lVar1 + 0x2c) + -1; local_44 = 0; } else { (**(code **)(*param_1 + 0x20))(param_1,&local_48,lVar1); } _iStack_30 = CONCAT44(local_3c,local_48 + -5); _local_38 = CONCAT44(local_44,iVar6); FUN_181296100(param_2,lVar1 + 8,&local_38,0x21,2,0); return; } ############ FUN_ 1812f5150 size=113 ############ void FUN_1812f5150(undefined8 param_1,longlong param_2,undefined4 param_3,int param_4, undefined8 param_5) { undefined4 *puVar1; undefined1 local_res18 [16]; undefined8 local_18; undefined4 local_10; int local_c; puVar1 = (undefined4 *)FUN_18134a8d0(param_5,local_res18,0x1008300,0); FUN_181296c00(param_2,*puVar1); local_18 = 0; local_c = param_4 + -1; local_10 = param_3; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_18,0); return; } ############ FUN_ 1812f5400 size=371 ############ void FUN_1812f5400(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,int param_6,undefined8 param_7,longlong param_8) { longlong lVar1; char cVar2; undefined1 uVar3; longlong lVar4; undefined4 *puVar5; int iVar6; undefined4 uVar7; undefined8 uVar8; float fVar9; undefined4 local_res18; undefined4 local_res20 [2]; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; int iStack_3c; lVar1 = *(longlong *)(param_8 + 0x18); do { if (lVar1 == 0) { uVar8 = 0x1003240; puVar5 = local_res20; LAB_1812f5479: puVar5 = (undefined4 *)FUN_18134a8d0(param_8,puVar5,uVar8,0); uVar7 = *puVar5; if (((*(byte *)(param_8 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_8 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), cVar2 != '\0')))) { uVar3 = 0xff; } else { uVar3 = 0x3f; } local_res18 = CONCAT13(uVar3,(int3)uVar7); FUN_181296c00(param_2,local_res18); fVar9 = (float)param_6 * DAT_1824c3e4c; if (DAT_1824c4414 <= (float)param_6 * DAT_1824c3e4c) { fVar9 = DAT_1824c4414; } FUN_1812966f0(param_2,fVar9); _local_48 = CONCAT44(param_4,param_3); _uStack_40 = CONCAT44(param_6,param_5); iVar6 = 1; if (1 < param_6 / (int)fVar9) { iVar6 = param_6 / (int)fVar9; } FUN_181296100(param_2,param_7,&local_48,0x24,iVar6,0); return; } lVar4 = __RTDynamicCast(lVar1,0,&juce::Component::RTTI_Type_Descriptor, &juce::PopupMenu::CustomComponent::RTTI_Type_Descriptor,0); if (lVar4 != 0) { uVar8 = 0x1000600; puVar5 = &local_res18; goto LAB_1812f5479; } lVar1 = *(longlong *)(lVar1 + 0x18); } while( true ); } ############ FUN_ 1812f5750 size=493 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f5750(longlong param_1,undefined8 param_2,int param_3,int param_4,float param_5) { double dVar1; float fVar2; float fVar3; undefined4 *puVar4; int iVar5; float fVar6; float fVar7; float fVar8; float fVar9; undefined1 local_res18 [16]; undefined8 local_88; float fStack_80; float fStack_7c; float local_78; undefined4 uStack_74; undefined4 uStack_70; float fStack_6c; puVar4 = (undefined4 *)FUN_181346420(param_1 + -0xd0,local_res18,0x1005700); FUN_181296c00(param_2,*puVar4); local_88 = 0; fStack_80 = (float)param_3; fStack_7c = (float)param_4; FUN_181295300(param_2,&local_88,DAT_1824c42d0); fVar6 = (float)param_4 - DAT_1824c4334; fVar7 = ((float)param_3 - DAT_1824c4334) / DAT_1824c43a8; dVar1 = (double)(param_5 * DAT_1824c43a8) + DAT_1824c4520; fVar8 = fVar7 * DAT_1824c3c8c; fVar9 = fVar7 * DAT_1824c3cb8; fStack_80 = (float)FUN_181346420(fVar7 * _DAT_1824c3e74,¶m_5,0x1001300); fVar3 = param_5; fVar2 = DAT_1824c41e0; iVar5 = 0; local_88._4_4_ = 0x40000000; fStack_7c = fVar6; do { if (iVar5 < SUB84(dVar1,0)) { fVar6 = DAT_18262b5c0; if (iVar5 < 6) { fVar6 = fVar3; } } else { param_5 = (float)CONCAT13(0x7f,SUB43(fVar3,0)); fVar6 = param_5; } FUN_181296c00(param_2,fVar6); local_78 = (float)iVar5 * fVar7 + fVar2 + fVar8; uStack_74 = local_88._4_4_; uStack_70 = fStack_80; fStack_6c = fStack_7c; local_88._0_4_ = local_78; FUN_181295300(param_2,&local_78,fVar9); iVar5 = iVar5 + 1; } while (iVar5 < 7); return; } ############ FUN_ 1812f5c40 size=420 ############ void FUN_1812f5c40(longlong param_1,undefined8 param_2,undefined8 param_3,int param_4,int param_5) { undefined4 *puVar1; undefined8 uVar2; float fVar3; float fVar4; undefined1 local_res20 [8]; undefined8 local_78; float fStack_70; float fStack_6c; void *local_68; undefined4 local_5c; param_1 = param_1 + -0x70; puVar1 = (undefined4 *)FUN_181346420(param_1,local_res20,0x1001b00,param_4,0xfffffffffffffffe); FUN_181296c00(param_2,*puVar1); fVar4 = (float)param_5; fVar3 = (float)param_4; local_78 = 0; fStack_70 = fVar3; fStack_6c = fVar4; FUN_181295300(param_2,&local_78,DAT_1824c4360); puVar1 = (undefined4 *)FUN_181346420(param_1,¶m_5,0x1001c10); FUN_181296c00(param_2,*puVar1); fStack_70 = fVar3 - DAT_1824c3ea4; if (fStack_70 <= 0.0) { fStack_70 = 0.0; } fStack_6c = fVar4 - DAT_1824c3ea4; if (fStack_6c <= 0.0) { fStack_6c = 0.0; } local_78 = 0x3f0000003f000000; FUN_181295190(param_2,&local_78,DAT_1824c4360); local_78 = 0; fStack_70 = fVar3; fStack_6c = fVar4; puVar1 = (undefined4 *)FUN_181346420(param_1,¶m_5,0x1001c00); uVar2 = FUN_181315540(&local_68,param_3,*puVar1); FUN_18124e500(uVar2,param_2,&local_78); FUN_1804ae9d0(&local_68); local_5c = 0; /* WARNING: Subroutine does not return */ free(local_68); } ############ FUN_ 1812f5f20 size=735 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f5f20(undefined8 param_1,longlong param_2,float param_3,float param_4,float param_5, undefined4 *param_6,int param_7) { char cVar1; float *pfVar2; float fVar3; float fVar4; float fVar5; float fVar6; undefined8 local_d0; undefined8 uStack_c8; undefined8 local_c0; float *local_b8; undefined8 local_b0; float local_a8; float local_a4; float local_a0; float local_9c; undefined1 local_98; local_b8 = (float *)0x0; local_b0._0_4_ = 0; local_b0._4_4_ = 0; local_98 = 1; fVar5 = param_5 * DAT_1824c3d8c; fVar6 = fVar5 + param_3; local_a8 = fVar6; local_a4 = fVar6; local_a0 = param_4; local_9c = param_4; FUN_1804b02a0(&local_b8,&DAT_1821df344,fVar6,param_4,0xfffffffffffffffe); fVar4 = param_5 * DAT_1824c3db8 + param_4; FUN_18129ddd0(&local_b8,param_3 + param_5,fVar4); FUN_18129ddd0(&local_b8,param_3 + param_5,param_4 + param_5); FUN_18129ddd0(&local_b8,param_3,param_4 + param_5); FUN_18129ddd0(&local_b8,param_3,fVar4); if ((local_b0._4_4_ != 0) && ((local_b0._4_4_ < 1 || (local_b8[local_b0._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_b0 < local_b0._4_4_ + 1) { FUN_1804af790(&local_b8,local_b0._4_4_ + 9 + (local_b0._4_4_ + 1) / 2 & 0xfffffff8); } local_b0._4_4_ = 1; *local_b8 = 100005.0; } fVar5 = fVar5 + param_4; fVar3 = (float)param_7 * DAT_1824c3fa0; fVar4 = cosf(fVar3); fVar3 = sinf(fVar3); local_d0 = CONCAT44((uint)fVar3 ^ DAT_1824c4f30,fVar4); uStack_c8 = CONCAT44(fVar3,(fVar3 * fVar5 - fVar4 * fVar6) + fVar6); local_c0 = CONCAT44(fVar5 - (fVar3 * fVar6 + fVar4 * fVar5),fVar4); FUN_18129b680(&local_b8,&local_d0); FUN_181296c00(param_2,*param_6); cVar1 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar1 == '\0') { for (pfVar2 = local_b8; pfVar2 != local_b8 + local_b0._4_4_; pfVar2 = pfVar2 + 1) { fVar4 = *pfVar2; if (fVar4 == DAT_1824c4600) { pfVar2 = pfVar2 + 2; } else if (((fVar4 == DAT_1824c45fc) || (fVar4 == DAT_1824c4604)) || (fVar4 == DAT_1824c4608)) { local_d0 = _DAT_1824c4780; uStack_c8 = _UNK_1824c4788; local_c0 = (ulonglong)DAT_1824c3ea4; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_b8,&local_d0); break; } } } local_b0 = (ulonglong)(uint)local_b0; /* WARNING: Subroutine does not return */ free(local_b8); } ############ FUN_ 1812f6250 size=890 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f6250(undefined8 param_1,undefined8 param_2,int param_3,int param_4,int param_5, int param_6,float param_7,float param_8,float param_9,longlong param_10) { float fVar1; longlong lVar2; char cVar3; undefined4 *puVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; float fVar12; undefined4 local_res18 [2]; undefined4 local_res20 [2]; float local_118; float fStack_114; float fStack_110; float fStack_10c; undefined4 local_108; undefined4 uStack_104; undefined4 uStack_100; undefined4 uStack_fc; undefined8 local_f8; void *local_f0; ulonglong local_e8; undefined8 local_e0; undefined8 uStack_d8; undefined1 local_d0; void *local_c8; ulonglong local_c0; undefined8 local_b8; undefined8 uStack_b0; undefined1 local_a8; undefined8 local_a0; lVar2 = param_10; local_a0 = 0xfffffffffffffffe; FUN_18134a8d0(param_10,local_res18,0x1001312,0); FUN_18134a8d0(lVar2,local_res20,0x1001311,0); fVar1 = DAT_1824c3d8c; fVar11 = (float)param_5 - DAT_1824c442c; if (fVar11 <= 0.0) { fVar11 = 0.0; } fVar12 = (float)param_6 - DAT_1824c442c; if (fVar12 <= 0.0) { fVar12 = 0.0; } fVar6 = (float)param_4 - DAT_1824c4720; fVar7 = (float)param_3 - DAT_1824c4720; fVar9 = fVar12; if (fVar11 <= fVar12) { fVar9 = fVar11; } fVar8 = (param_9 - param_8) * param_7 + param_8; fVar10 = fVar9 * DAT_1824c3d8c * DAT_1824c3d8c; if (DAT_1824c43d8 <= fVar10) { fVar10 = DAT_1824c43d8; } fVar9 = fVar9 * DAT_1824c3d8c - fVar10 * DAT_1824c3d8c; local_c8 = (void *)0x0; local_c0 = 0; local_b8 = 0; uStack_b0 = 0; local_a8 = 1; fVar12 = fVar12 * DAT_1824c3d8c; fVar11 = fVar11 * DAT_1824c3d8c; if (0.0 < fVar9) { FUN_18129cdf0(&local_c8); } FUN_181296c00(param_2,local_res18[0]); local_108 = _DAT_1824c4780; uStack_104 = _UNK_1824c4784; uStack_100 = _UNK_1824c4788; uStack_fc = _UNK_1824c478c; local_f8 = 0x3f800000; fStack_114 = 1.4013e-45; fStack_110 = 2.8026e-45; local_118 = fVar10; FUN_181295d20(param_2,&local_c8,&local_118,&local_108); if ((*(byte *)(lVar2 + 0xa9) & 0x10) == 0) { if (*(longlong *)(lVar2 + 0x18) != 0) { cVar3 = FUN_18133eaa0(); if (cVar3 == '\0') goto LAB_1812f6518; } local_f0 = (void *)0x0; local_e8 = 0; local_e0 = 0; uStack_d8 = 0; local_d0 = 1; if (0.0 < fVar9) { FUN_18129cdf0(&local_f0); } FUN_181296c00(param_2,local_res20[0]); local_108 = _DAT_1824c4780; uStack_104 = _UNK_1824c4784; uStack_100 = _UNK_1824c4788; uStack_fc = _UNK_1824c478c; local_f8 = 0x3f800000; fStack_114 = 1.4013e-45; fStack_110 = 2.8026e-45; local_118 = fVar10; FUN_181295d20(param_2,&local_f0,&local_118,&local_108); local_e8 = local_e8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_f0); } LAB_1812f6518: fVar10 = fVar10 * DAT_1824c41e0; fVar8 = fVar8 - DAT_1824c3fa0; fVar5 = sinf(fVar8); fVar8 = cosf(fVar8); puVar4 = (undefined4 *)FUN_18134a8d0(lVar2,¶m_6,0x1001300,0); FUN_181296c00(param_2,*puVar4); fStack_114 = (fVar5 * fVar9 + fVar12 + fVar6) - fVar10 * fVar1; local_118 = (fVar8 * fVar9 + fVar11 + fVar7) - fVar10 * fVar1; fStack_110 = fVar10; fStack_10c = fVar10; FUN_181295820(param_2,&local_118); local_c0 = local_c0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_c8); } ############ FUN_ 1812f6610 size=2225 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f6610(longlong *param_1,longlong param_2,undefined8 param_3,int param_4,int param_5, int param_6,float param_7,float param_8,float param_9,int param_10, longlong param_11) { uint uVar1; int iVar2; bool bVar3; longlong lVar4; int iVar5; undefined4 *puVar6; longlong lVar7; int iVar8; float fVar9; float fVar10; float fVar11; float fVar12; float fVar13; float fVar14; float fVar15; float local_168; float fStack_164; float fStack_160; float fStack_15c; float local_158; undefined1 local_154 [4]; undefined8 local_150; undefined8 uStack_148; undefined8 local_140; void *local_138; undefined8 local_130; undefined8 local_128; undefined8 uStack_120; undefined1 local_118; undefined8 local_110; undefined8 local_108; float local_100; float local_fc; float local_f8; float local_f4; undefined1 local_f0; undefined8 local_e8; lVar4 = param_11; fVar10 = DAT_1824c3d8c; iVar8 = (int)param_3; local_e8 = 0xfffffffffffffffe; lVar7 = *(longlong *)(param_11 + 0x200); if (*(int *)(lVar7 + 0x20) - 2U < 2) { puVar6 = (undefined4 *)FUN_18134a8d0(param_11,¶m_11,0x1001310,0); FUN_181296c00(param_2,*puVar6); uVar1 = *(uint *)(*(longlong *)(lVar4 + 0x200) + 0x20); if ((uVar1 < 0xc) && ((0xa05U >> (uVar1 & 0x1f) & 1) != 0)) { _local_168 = CONCAT44((float)param_4 + DAT_1824c3d8c,(float)iVar8); _fStack_160 = CONCAT44((float)param_6 - DAT_1824c3ea4,param_7 - (float)iVar8); } else { _local_168 = CONCAT44(param_7,(float)iVar8 + DAT_1824c3d8c); _fStack_160 = CONCAT44(((float)param_6 - param_7) + (float)param_4, (float)param_5 - DAT_1824c3ea4); } (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_168); return; } bVar3 = param_10 - 9U < 2; param_11._0_1_ = param_10 - 0xbU < 2; uVar1 = *(uint *)(lVar7 + 0x20); iVar5 = param_5; if ((uVar1 < 0xc) && ((0xa05U >> (uVar1 & 0x1f) & 1) != 0)) { iVar5 = param_6; } fVar12 = (float)iVar5 * DAT_1824c3d3c; if (DAT_1824c4388 <= (float)iVar5 * DAT_1824c3d3c) { fVar12 = DAT_1824c4388; } if ((uVar1 < 0xc) && ((0xa05U >> (uVar1 & 0x1f) & 1) != 0)) { fVar13 = (float)param_6 * DAT_1824c3d8c + (float)param_4; } else { fVar13 = (float)(param_4 + param_6); } if ((*(uint *)(lVar7 + 0x20) < 0xc) && ((0xa05U >> (*(uint *)(lVar7 + 0x20) & 0x1f) & 1) != 0)) { fVar9 = (float)iVar8; } else { fVar9 = (float)param_5 * DAT_1824c3d8c + (float)iVar8; } local_158 = (float)iVar8; local_110 = 0; local_108 = 0; local_f0 = 1; local_100 = fVar9; local_fc = fVar9; local_f8 = fVar13; local_f4 = fVar13; FUN_1804b02a0(&local_110,&DAT_1821df344,param_3,fVar13); FUN_18129ddd0(&local_110); puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,local_154,0x1001200,0); FUN_181296c00(param_2,*puVar6); local_150 = _DAT_1824c4780; uStack_148 = _UNK_1824c4788; local_140 = 0x3f800000; _local_168 = CONCAT44(1,fVar12); _fStack_160 = CONCAT44(fStack_15c,2); FUN_181295d20(param_2,&local_110,&local_168,&local_150); local_138 = (void *)0x0; local_130 = 0; local_130._4_4_ = 0; local_128 = 0; uStack_120 = 0; local_118 = 1; fVar11 = 0.0; fVar15 = 0.0; if ((bVar3) || ((char)param_11 != '\0')) { lVar7 = *(longlong *)(lVar4 + 0x200); uVar1 = *(uint *)(lVar7 + 0x20); if ((0xb < uVar1) || (fVar9 = param_8, (0xa05U >> (uVar1 & 0x1f) & 1) == 0)) { fVar9 = (float)param_5 * fVar10; } fVar13 = param_8; if ((uVar1 < 0xc) && ((0xa05U >> (uVar1 & 0x1f) & 1) != 0)) { fVar13 = (float)param_6 * fVar10; } if ((char)param_11 == '\0') { LAB_1812f6a9d: if ((0xb < uVar1) || (fVar14 = param_9, (0xa05U >> (uVar1 & 0x1f) & 1) == 0)) goto LAB_1812f6aad; } else { if ((0xb < uVar1) || (fVar11 = param_7, (0xa05U >> (uVar1 & 0x1f) & 1) == 0)) { fVar11 = (float)param_5 * fVar10; } fVar15 = param_7; if (uVar1 < 0xc) { if ((0xa05U >> (uVar1 & 0x1f) & 1) != 0) { fVar15 = (float)param_6 * fVar10; } goto LAB_1812f6a9d; } LAB_1812f6aad: fVar14 = (float)param_5 * fVar10; } param_7 = param_9; if ((uVar1 < 0xc) && ((0xa05U >> (uVar1 & 0x1f) & 1) != 0)) { param_7 = (float)param_6 * fVar10; } } else { lVar7 = *(longlong *)(lVar4 + 0x200); uVar1 = *(uint *)(lVar7 + 0x20); if ((0xb < uVar1) || (fVar14 = param_7, (0xa05U >> (uVar1 & 0x1f) & 1) == 0)) { fVar14 = (float)param_5 * fVar10 + local_158; } if ((uVar1 < 0xc) && ((0xa05U >> (uVar1 & 0x1f) & 1) != 0)) { param_7 = (float)param_6 * fVar10 + (float)param_4; } } if (*(code **)(*param_1 + 0x20) == FUN_1812f6ee0) { if ((*(uint *)(lVar7 + 0x20) < 0xc) && ((0xa05U >> (*(uint *)(lVar7 + 0x20) & 0x1f) & 1) != 0)) { iVar2 = *(int *)(lVar4 + 0x2c); } else { iVar2 = *(int *)(lVar4 + 0x28); } iVar5 = 0xc; if ((int)((float)iVar2 * fVar10) < 0xc) { iVar5 = (int)((float)iVar2 * fVar10); } } else { iVar5 = (**(code **)(*param_1 + 0x20))(param_1,lVar4); } if (local_130._4_4_ == 0) { local_128 = CONCAT44(fVar9,fVar9); uStack_120 = (ulonglong)(uint)fVar13; LAB_1812f6b7d: uStack_120 = CONCAT44(fVar13,(float)uStack_120); } else { if ((float)local_128 <= fVar9) { if (local_128._4_4_ < fVar9) { local_128 = CONCAT44(fVar9,(float)local_128); } } else { local_128 = CONCAT44(local_128._4_4_,fVar9); } if ((float)uStack_120 <= fVar13) { if (uStack_120._4_4_ < fVar13) goto LAB_1812f6b7d; } else { uStack_120 = CONCAT44(uStack_120._4_4_,fVar13); } } FUN_1804b02a0(&local_138,&DAT_1821df344); FUN_18129ddd0(&local_138); puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,local_154,0x1001310,0); FUN_181296c00(param_2,*puVar6); local_150 = _DAT_1824c4780; uStack_148 = _UNK_1824c4788; local_140 = 0x3f800000; _local_168 = CONCAT44(1,fVar12); _fStack_160 = CONCAT44(fStack_15c,2); FUN_181295d20(param_2,&local_138,&local_168,&local_150); if (!bVar3) { puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,local_154,0x1001300,0); FUN_181296c00(param_2,*puVar6); if ((char)param_11 == '\0') { fVar11 = fVar14; fVar15 = param_7; } fVar9 = (float)iVar5; fVar13 = fVar9 * fVar10; _local_168 = CONCAT44(fVar15 - fVar13,fVar11 - fVar13); _fStack_160 = CONCAT44(fVar9,fVar9); FUN_181295820(fVar13,&local_168); if ((char)param_11 == '\0') goto LAB_1812f6e4a; } FUN_18134a8d0(lVar4,¶m_11,0x1001300,0); uVar1 = *(uint *)(*(longlong *)(lVar4 + 0x200) + 0x20); if ((uVar1 < 0xc) && ((0xa05U >> (uVar1 & 0x1f) & 1) != 0)) { fVar12 = fVar12 * DAT_1824c41e0; FUN_1812f5f20(uVar1,param_2); fVar12 = (float)(param_4 + param_6) - fVar12; } else { fVar13 = fVar12 * DAT_1824c41e0; fVar10 = ((float)param_5 * fVar10 + local_158) - fVar13; if (fVar10 <= 0.0) { fVar10 = 0.0; } FUN_1812f5f20(uVar1,param_2,fVar10,param_8 - fVar12,fVar13,¶m_11,1); fVar12 = (float)(iVar8 + param_5) - fVar13; } FUN_1812f5f20(fVar12,param_2); LAB_1812f6e4a: local_130 = local_130 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_138); } ############ FUN_ 1812f7010 size=757 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f7010(undefined8 param_1,undefined8 param_2,int param_3,int param_4) { longlong lVar1; float fVar2; char cVar3; undefined1 uVar4; longlong lVar5; undefined4 *puVar6; float fVar7; undefined4 local_res18; undefined1 local_res20 [8]; longlong in_stack_00000050; undefined8 local_d8; float fStack_d0; float fStack_cc; undefined4 local_c8; undefined4 uStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; undefined8 local_b8; void *local_b0; ulonglong local_a8; float local_a0; float local_9c; float local_98; float local_94; undefined1 local_90; fVar7 = DAT_1824c42d0; lVar1 = *(longlong *)(in_stack_00000050 + 0x18); while ((lVar1 != 0 && (lVar5 = __RTDynamicCast(lVar1,0,&juce::Component::RTTI_Type_Descriptor, &juce::ChoicePropertyComponent::RTTI_Type_Descriptor,0), lVar5 == 0))) { lVar1 = *(longlong *)(lVar1 + 0x18); } puVar6 = (undefined4 *)FUN_18134a8d0(in_stack_00000050,&local_res18,0x1000b00,0); FUN_181296c00(param_2,*puVar6); local_d8 = 0; fStack_d0 = (float)param_3; fStack_cc = (float)param_4; FUN_181295300(param_2,&local_d8); puVar6 = (undefined4 *)FUN_18134a8d0(in_stack_00000050,&local_res18,0x1000c00,0); FUN_181296c00(param_2,*puVar6); fVar2 = DAT_1824c3ea4; fStack_d0 = (float)param_3 - DAT_1824c3ea4; if (fStack_d0 <= 0.0) { fStack_d0 = 0.0; } fStack_cc = (float)param_4 - DAT_1824c3ea4; if (fStack_cc <= 0.0) { fStack_cc = 0.0; } local_d8 = 0x3f0000003f000000; FUN_181295190(param_2,&local_d8); local_b0 = (void *)0x0; local_a8 = 0; local_90 = 1; local_98 = (float)(param_4 / 2) - DAT_1824c41e0; local_a0 = (float)(param_3 + -0x1e) + fVar7; local_9c = local_a0; local_94 = local_98; FUN_1804b02a0(&local_b0,&DAT_1821df344); FUN_18129ddd0(&local_b0); FUN_18129ddd0(&local_b0,(float)(param_3 + -10) - fVar7); fVar7 = DAT_1824c3d18; if (((*(byte *)(in_stack_00000050 + 0xa9) & 0x10) == 0) && ((*(longlong *)(in_stack_00000050 + 0x18) == 0 || (cVar3 = FUN_18133eaa0(), fVar7 = DAT_1824c3d18, cVar3 != '\0')))) { fVar7 = DAT_1824c3e58; } puVar6 = (undefined4 *)FUN_18134a8d0(in_stack_00000050,local_res20,0x1000e00,0); if (0.0 < fVar7) { if (fVar7 < fVar2) { uVar4 = (undefined1)(int)(fVar7 * DAT_1824c454c); } else { uVar4 = 0xff; } } else { uVar4 = 0; } local_res18 = CONCAT13(uVar4,(int3)*puVar6); FUN_181296c00(param_2,local_res18); local_c8 = _DAT_1824c4780; uStack_c4 = _UNK_1824c4784; uStack_c0 = _UNK_1824c4788; uStack_bc = _UNK_1824c478c; local_b8 = 0x3f800000; local_d8 = 0x40000000; fStack_d0 = 0.0; FUN_181295d20(param_2,&local_b0,&local_d8,&local_c8); local_a8 = local_a8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_b0); } ############ FUN_ 1812f7350 size=494 ############ void FUN_1812f7350(longlong *param_1,longlong param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined8 *param_6,char param_7,char param_8, undefined8 param_9,longlong param_10) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; char cVar5; undefined4 *puVar6; uint *puVar7; undefined8 uVar8; undefined1 uVar9; undefined4 uVar10; double dVar11; undefined1 local_res8 [8]; undefined1 local_res10 [8]; undefined4 local_res18; undefined1 local_res20 [8]; undefined8 *puVar12; undefined8 local_48; undefined8 uStack_40; lVar4 = param_10; if ((*(byte *)(param_10 + 0xa9) & 0x10) == 0) { if (*(longlong *)(param_10 + 0x18) != 0) { cVar5 = FUN_18133eaa0(); if (cVar5 == '\0') goto LAB_1812f740d; } if ((param_8 == '\0') && (param_7 == '\0')) { puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,local_res20,0x1000102,0); uVar10 = *puVar6; } else { puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,¶m_10,0x1000101,0); FUN_1812a3160(param_2,*puVar6); puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,local_res8,0x1000103,0); uVar10 = *puVar6; } } else { LAB_1812f740d: puVar7 = (uint *)FUN_18134a8d0(lVar4,local_res10,0x1000102,0); dVar11 = (double)((float)(*puVar7 >> 0x18) * DAT_1824c3d8c) + DAT_1824c4520; uVar9 = 0xff; if (SUB84(dVar11,0) < 0xff) { uVar9 = SUB81(dVar11,0); } local_res18 = CONCAT13(uVar9,(int3)*puVar7); uVar10 = local_res18; } FUN_181296c00(param_2,uVar10); puVar3 = param_6; puVar12 = param_6; uVar8 = (**(code **)(*param_1 + 0x58))(param_1,¶m_6,lVar4,param_5,param_6); uVar10 = (undefined4)((ulonglong)puVar12 >> 0x20); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),uVar8); if (param_6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(param_6 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*param_6)(param_6,1); } } uStack_40 = CONCAT44(param_4,param_3); local_48 = 0; FUN_181296100(param_2,puVar3,&local_48,0x24,CONCAT44(uVar10,1),0); return; } ############ FUN_ 1812f7550 size=763 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f7550(undefined8 param_1,longlong param_2,undefined4 param_3,int param_4, undefined8 param_5,undefined8 param_6) { undefined8 *puVar1; uint uVar2; uint uVar3; undefined1 auVar4 [12]; undefined1 auVar5 [12]; undefined8 uVar6; uint uVar7; uint *puVar8; int iVar9; uint uVar10; uint uVar11; int iVar12; uint uVar13; int iVar14; uint uVar15; undefined8 extraout_XMM0_Qb; undefined1 auVar16 [16]; undefined1 auVar17 [16]; float fVar18; float fVar19; float fVar20; float fVar21; undefined4 local_res18; undefined4 local_res20; longlong local_b8; undefined8 local_98; undefined8 uStack_90; undefined8 local_88; undefined4 local_80; float local_7c; undefined1 local_78; void *local_70; undefined8 local_68; puVar8 = (uint *)FUN_18134a8d0(param_6,&local_res18,0x1000100,0,0xfffffffffffffffe); uVar11 = *puVar8; local_res18 = CONCAT13(0x66,(int3)uVar11); uVar7 = local_res18; uVar15 = (uVar11 & 0xff0000) >> 0x10; fVar20 = (float)uVar15 / DAT_1824c4548; uVar10 = (uVar11 & 0xff00) >> 8; fVar19 = (float)uVar10 / DAT_1824c4548; fVar21 = (float)(uVar11 & 0xff); fVar18 = fVar21 / DAT_1824c4548; fVar18 = sqrtf(fVar19 * fVar19 * _DAT_1824c3dec + fVar20 * fVar20 * _DAT_1824c3d2c + fVar18 * fVar18 * _DAT_1824c3ca0); puVar8 = &DAT_18262b598; if (DAT_1824c3d8c <= fVar18) { puVar8 = &DAT_18262b59c; } uVar2 = *puVar8; local_res20._0_3_ = (undefined3)uVar2; local_res20 = CONCAT13(0x26,(undefined3)local_res20); uVar13 = uVar7 >> 0x18; uVar3 = local_res20; if (uVar13 != 0) { iVar9 = 0xff - (local_res20 >> 0x18); iVar14 = 0xff - ((int)((0xff - uVar13) * iVar9) >> 8); uVar3 = uVar7; if (0 < iVar14) { iVar9 = (int)(iVar9 * uVar13) / iVar14; local_res20._0_1_ = (char)uVar2; local_res20._0_1_ = (char)(((uVar11 & 0xff) - (uVar2 & 0xff)) * iVar9 >> 8) + (char)local_res20; local_res20._0_3_ = CONCAT12((char)((uVar15 - ((uVar2 & 0xff0000) >> 0x10)) * iVar9 >> 8) + (char)(uVar2 >> 0x10), CONCAT11((char)((uVar10 - ((uVar2 & 0xff00) >> 8)) * iVar9 >> 8) + (char)(uVar2 >> 8),(char)local_res20)); local_res20 = CONCAT13((char)iVar14,(undefined3)local_res20); uVar3 = local_res20; } } FUN_181296c00(param_2,uVar3); iVar9 = 1; if (param_4 < 1) { iVar9 = param_4; } iVar12 = param_4 - iVar9; uStack_90 = CONCAT44(iVar9,param_3); local_98 = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_98,0); iVar14 = 1; if (iVar12 < 1) { iVar14 = iVar12; } uVar11 = (iVar9 - iVar14) + iVar12; local_b8 = (ulonglong)uVar11 << 0x20; local_98 = local_b8; uStack_90._0_4_ = param_3; uStack_90._4_4_ = iVar14; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_98,0); uVar6 = DAT_1824c4140; local_res20 = CONCAT13(0x66,CONCAT12((char)(int)((float)(local_res18 >> 0x10 & 0xff) * DAT_1824c3e48), CONCAT11((char)(int)((float)(local_res18 >> 8 & 0xff) * DAT_1824c3e48), (char)(int)(fVar21 * DAT_1824c3e48)))); local_7c = (float)param_4; local_88 = 0; local_80 = 0; local_78 = 0; local_70 = (void *)0x0; local_68 = 0; uStack_90._0_4_ = local_res20; FUN_18049ba20(&local_70,8); iVar9 = local_68._4_4_ + 1; auVar4._4_8_ = extraout_XMM0_Qb; auVar4._0_4_ = uVar11; auVar16._0_8_ = auVar4._0_8_ << 0x20; auVar16._8_4_ = uVar7; auVar16._12_4_ = iVar14; puVar1 = (undefined8 *)((longlong)local_70 + (longlong)local_68._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = auVar16._8_8_; local_68 = CONCAT44(local_68._4_4_ + 2,(undefined4)local_68); auVar5._4_8_ = auVar16._8_8_; auVar5._0_4_ = local_98._4_4_; auVar17._0_8_ = auVar5._0_8_ << 0x20; auVar17._8_4_ = (undefined4)uStack_90; auVar17._12_4_ = uStack_90._4_4_; uStack_90 = auVar17._8_8_; local_98 = uVar6; puVar1 = (undefined8 *)((longlong)local_70 + (longlong)iVar9 * 0x10); *puVar1 = uVar6; puVar1[1] = uStack_90; FUN_181296970(param_2,&local_88); /* WARNING: Subroutine does not return */ free(local_70); } ############ FUN_ 1812f7b00 size=2617 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f7b00(longlong *param_1,longlong param_2,int *param_3,char param_4,char param_5, char param_6,char param_7,char param_8,undefined8 param_9,undefined8 *param_10, longlong *param_11,uint *param_12) { int *piVar1; undefined4 uVar2; longlong *plVar3; undefined8 *puVar4; double dVar5; char cVar6; int iVar7; undefined4 *puVar8; uint *puVar9; undefined8 uVar10; float *pfVar11; undefined1 uVar12; int iVar13; int iVar14; int iVar15; int iVar16; float fVar17; float fVar18; float fVar19; undefined4 local_res20; undefined8 *local_2a8 [2]; int local_298; int iStack_294; int iStack_290; int iStack_28c; undefined8 *local_288; undefined4 local_280; int local_27c; uint local_278 [2]; undefined4 local_270 [2]; int local_268; void *local_260; ulonglong local_258; float local_250; float local_24c; float local_248; float local_244; undefined1 local_240; undefined8 local_238; undefined4 local_230; int local_228; int iStack_224; int iStack_220; int iStack_21c; float local_218; float local_214; float local_210; float local_20c; undefined8 local_208; undefined8 uStack_200; undefined8 local_1f8; undefined1 local_1f0 [4]; undefined1 local_1ec [4]; undefined1 local_1e8 [4]; undefined1 local_1e4 [4]; undefined4 local_1e0; double local_1d8; double local_1d0; double local_1c8; double local_1c0; undefined8 *local_1b8; float local_1b0; float fStack_1ac; float fStack_1a8; float fStack_1a4; float *local_1a0; int local_194; int local_178; int local_170; undefined8 local_168; undefined8 uStack_160; float local_158; float fStack_154; float fStack_150; float fStack_14c; undefined8 local_148; undefined8 uStack_140; undefined8 local_138; undefined8 uStack_130; undefined8 local_128; undefined1 local_120 [24]; undefined1 local_108 [24]; int local_f0; undefined1 local_e8 [176]; local_128 = 0xfffffffffffffffe; if (param_4 != '\0') { iVar7 = *param_3; iVar15 = param_3[1]; iVar14 = 0; if (0 < param_3[2] + -10) { iVar14 = param_3[2] + -10; } iVar16 = 0; if (0 < param_3[3]) { iVar16 = param_3[3]; } local_1d8 = (double)((float)iVar16 * DAT_1824c3d8c - DAT_1824c3d8c) + DAT_1824c4520; iVar13 = SUB84(local_1d8,0); if (iVar16 < SUB84(local_1d8,0)) { iVar13 = iVar16; } puVar8 = (undefined4 *)FUN_181346420(param_1 + -8,local_1f0,0x1000600); local_res20 = CONCAT13(0x4c,(int3)*puVar8); FUN_181296c00(param_2,local_res20); iStack_21c = 1; if (iVar16 - iVar13 < 1) { iStack_21c = iVar16 - iVar13; } local_148 = CONCAT44(iVar15 + iVar13,iVar7 + 5); uStack_140 = CONCAT44(iStack_21c,iVar14); local_228 = iVar7 + 5; iStack_224 = iVar15 + iVar13; iStack_220 = iVar14; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_148,0); return; } if (param_12 == (uint *)0x0) { puVar9 = (uint *)FUN_181346420(param_1 + -8,local_1ec,0x1000600); } else { local_278[0] = *param_12; puVar9 = local_278; } dVar5 = DAT_1824c4520; iVar7 = 0; if (0 < param_3[2] + -2) { iVar7 = param_3[2] + -2; } iVar15 = 0; if (0 < param_3[3] + -2) { iVar15 = param_3[3] + -2; } iStack_294 = param_3[1] + 1; iVar14 = *param_3 + 1; local_298 = iVar14; iStack_290 = iVar7; iStack_28c = iVar15; local_27c = iStack_294; if (param_6 == '\0') { fVar17 = DAT_1824c3ea4; if (param_5 == '\0') goto LAB_1812f7d4c; } else { if (param_5 != '\0') { puVar8 = (undefined4 *)FUN_181346420(param_1 + -8,local_1e8,0x1000900); FUN_181296c00(param_2,*puVar8); local_138 = CONCAT44(iStack_294,local_298); uStack_130 = CONCAT44(iStack_28c,iStack_290); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_138,0); puVar8 = (undefined4 *)FUN_181346420(param_1 + -8,local_1e4,0x1000800); uVar2 = *puVar8; goto LAB_1812f7d8c; } LAB_1812f7d4c: fVar17 = DAT_1824c3d8c; } local_1d0 = (double)((float)(*puVar9 >> 0x18) * fVar17) + DAT_1824c4520; uVar12 = 0xff; if (SUB84(local_1d0,0) < 0xff) { uVar12 = SUB81(local_1d0,0); } local_280 = CONCAT13(uVar12,(int3)*puVar9); uVar2 = local_280; LAB_1812f7d8c: FUN_181296c00(param_2,uVar2); iVar16 = local_27c; local_298 = 5; if (param_3[2] / 0x14 < 5) { local_298 = param_3[2] / 0x14; } iVar7 = local_298 * -2 + iVar7; iVar13 = 0; if (0 < iVar7) { iVar13 = iVar7; } iVar7 = 0; if (0 < iVar15) { iVar7 = iVar15; } local_298 = iVar14 + local_298; iStack_294 = local_27c; iStack_28c = iVar7; local_268 = iVar7; (**(code **)(*param_1 + 0x20))(param_1,&local_288); fVar17 = DAT_1824c3cb8; fVar19 = (float)iVar7 / DAT_1824c3f20; if (fVar19 < *(float *)(local_288 + 5)) { fVar18 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar19) && (fVar18 = DAT_1824c45c8, fVar19 <= DAT_1824c45c8)) { fVar18 = fVar19; } if (*(float *)(local_288 + 5) != fVar18) { FUN_181252760(&local_288); *(float *)(local_288 + 5) = fVar18; plVar3 = (longlong *)local_288[2]; if (((plVar3 != (longlong *)0x0) && (*(code **)(*plVar3 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar6 = (**(code **)(*plVar3 + 8))(plVar3,&local_288), cVar6 == '\0')) { puVar4 = (undefined8 *)local_288[2]; local_288[2] = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar15 == 1) { (**(code **)*puVar4)(puVar4,1); } } } } } if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_288); local_1c8 = (double)fVar19 + dVar5; local_178 = local_298; local_170 = SUB84(local_1c8,0); if (iVar13 < SUB84(local_1c8,0)) { local_170 = iVar13; } iVar15 = local_298 + local_170; iVar13 = iVar13 - local_170; fVar18 = (float)local_298; local_298 = iVar15; iStack_290 = iVar13; if (param_11 == (longlong *)0x0) { if (param_7 != '\0') { (**(code **)(param_1[-8] + 0x60))(param_1 + -8,&local_1a0); FUN_18129b390(&local_1a0,local_120); cVar6 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar6 == '\0') { for (pfVar11 = local_1a0; pfVar11 != local_1a0 + local_194; pfVar11 = pfVar11 + 1) { fVar17 = *pfVar11; if (fVar17 == DAT_1824c4600) { pfVar11 = pfVar11 + 2; } else if (((fVar17 == DAT_1824c45fc) || (fVar17 == DAT_1824c4604)) || (fVar17 == DAT_1824c4608)) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_1a0,local_120); break; } } } local_194 = 0; /* WARNING: Subroutine does not return */ free(local_1a0); } } else { local_270[0] = 0x124; local_218 = fVar18; local_214 = (float)iVar16; local_210 = (float)local_170; local_20c = (float)iVar7; uVar10 = (**(code **)(*param_11 + 0x168))(param_11,local_108); FUN_1812971a0(local_270,local_e8,uVar10,&local_218); FUN_181332c20(param_11,param_2); local_1c0 = (double)(fVar19 * DAT_1824c3d8c) + dVar5; local_f0 = SUB84(local_1c0,0); if (iVar13 < SUB84(local_1c0,0)) { local_f0 = iVar13; } iVar13 = iVar13 - local_f0; local_298 = local_298 + local_f0; } if (param_8 == '\0') { iVar7 = 3; if (iVar13 < 3) { iVar7 = iVar13; } iVar13 = iVar13 - iVar7; local_168 = CONCAT44(iStack_294,local_298); uStack_160 = CONCAT44(iStack_28c,iVar13); local_1e0 = 0x21; iStack_290 = iVar13; FUN_181296100(param_2,param_9,&local_168,0x21,1,0); if (*(char *)*param_10 != '\0') { local_2a8[0] = local_288; if (local_288 != (undefined8 *)0x0) { LOCK(); *(int *)(local_288 + 1) = *(int *)(local_288 + 1) + 1; UNLOCK(); iVar13 = iStack_290; } fVar19 = *(float *)(local_288 + 5) * DAT_1824c3e10; if ((fVar17 <= fVar19) && (fVar17 = DAT_1824c45c8, fVar19 <= DAT_1824c45c8)) { fVar17 = fVar19; } if (*(float *)(local_288 + 5) != fVar17) { FUN_181252760(local_2a8); *(float *)(local_2a8[0] + 5) = fVar17; plVar3 = (longlong *)local_2a8[0][2]; if (((plVar3 != (longlong *)0x0) && (*(code **)(*plVar3 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar6 = (**(code **)(*plVar3 + 8))(plVar3,local_2a8), cVar6 == '\0')) { puVar4 = (undefined8 *)local_2a8[0][2]; local_2a8[0][2] = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); iVar13 = iStack_290; if (iVar7 == 1) { (**(code **)*puVar4)(puVar4,1); iVar13 = iStack_290; } } } } FUN_181252760(local_2a8); *(undefined4 *)((longlong)local_2a8[0] + 0x2c) = 0x3f733333; plVar3 = (longlong *)local_2a8[0][2]; if (((plVar3 != (longlong *)0x0) && (*(code **)(*plVar3 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar6 = (**(code **)(*plVar3 + 8))(plVar3,local_2a8), cVar6 == '\0')) { puVar4 = (undefined8 *)local_2a8[0][2]; local_2a8[0][2] = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); iVar13 = iStack_290; if (iVar7 == 1) { (**(code **)*puVar4)(puVar4,1); iVar13 = iStack_290; } } } if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),local_2a8); fStack_1a4 = (float)iStack_28c; fStack_1a8 = (float)iVar13; fStack_1ac = (float)iStack_294; local_1b0 = (float)local_298; local_158 = local_1b0; fStack_154 = fStack_1ac; fStack_150 = fStack_1a8; fStack_14c = fStack_1a4; FUN_1812963b0(param_2,param_10,&local_158,0x22,1); if (local_2a8[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_2a8[0] + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_2a8[0])(local_2a8[0],1); } } } if (local_288 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_288 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_288)(local_288,1); } } return; } iStack_290 = iVar13; uVar10 = (**(code **)(*param_1 + 0x20))(param_1,&local_1b8); fVar17 = (float)FUN_181251a10(uVar10); fVar17 = fVar17 * DAT_1824c3db8; if (local_1b8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_1b8 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); iVar13 = iStack_290; if (iVar7 == 1) { (**(code **)*local_1b8)(local_1b8,1); iVar13 = iStack_290; } } iVar7 = (int)fVar17; if (iVar13 < iVar7) { iVar7 = iVar13; } local_250 = (float)((local_298 - iVar7) + iVar13); local_260 = (void *)0x0; local_258 = 0; local_240 = 1; local_248 = (float)(local_27c + local_268 / 2) - fVar17 * DAT_1824c3d8c; local_24c = local_250; local_244 = local_248; FUN_1804b02a0(&local_260,&DAT_1821df344); FUN_18129ddd0(&local_260); FUN_18129ddd0(&local_260); local_208 = _DAT_1824c4780; uStack_200 = _UNK_1824c4788; local_1f8 = 0x3f800000; local_238 = 0x40000000; local_230 = 0; FUN_181295d20(param_2,&local_260,&local_238,&local_208); local_258 = local_258 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_260); } ############ FUN_ 1812f8a90 size=299 ############ void FUN_1812f8a90(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, longlong param_5) { bool bVar1; longlong lVar2; char cVar3; longlong lVar4; undefined4 *puVar5; undefined4 uVar6; lVar2 = param_5; lVar4 = __RTDynamicCast(*(undefined8 *)(param_5 + 0x18),0,&juce::Component::RTTI_Type_Descriptor, &juce::AlertWindow::RTTI_Type_Descriptor,0); if (((lVar4 == 0) && ((*(byte *)(lVar2 + 0xa9) & 0x10) == 0)) && ((lVar4 = DAT_182673708, *(longlong *)(lVar2 + 0x18) == 0 || (cVar3 = FUN_18133eaa0(), lVar4 = DAT_182673708, cVar3 != '\0')))) { for (; lVar4 != lVar2; lVar4 = *(longlong *)(lVar4 + 0x18)) { bVar1 = false; if (lVar4 == 0) goto LAB_1812f8b29; } bVar1 = true; LAB_1812f8b29: if ((bVar1) && (cVar3 = FUN_1812e1d20(lVar2), cVar3 == '\0')) { puVar5 = (undefined4 *)FUN_18134a8d0(lVar2,¶m_5,0x1000206,0); FUN_181296c00(param_2,*puVar5); uVar6 = 2; } else { puVar5 = (undefined4 *)FUN_18134a8d0(lVar2,¶m_5,0x1000205,0); FUN_181296c00(param_2,*puVar5); uVar6 = 1; } FUN_181295c90(param_2,0,0,param_3,param_4,uVar6); } return; } ############ FUN_ 1812f8bd0 size=297 ############ void FUN_1812f8bd0(undefined8 param_1,longlong param_2,int param_3,int param_4,longlong param_5) { longlong lVar1; longlong lVar2; undefined4 *puVar3; longlong local_18; float local_10; int local_c; lVar1 = param_5; lVar2 = __RTDynamicCast(*(undefined8 *)(param_5 + 0x18),0,&juce::Component::RTTI_Type_Descriptor, &juce::AlertWindow::RTTI_Type_Descriptor,0); if (lVar2 == 0) { puVar3 = (undefined4 *)FUN_18134a8d0(lVar1,¶m_5,0x1000200,0); FUN_1812a3160(param_2,*puVar3); } else { puVar3 = (undefined4 *)FUN_18134a8d0(lVar1,¶m_5,0x1000200,0); FUN_181296c00(param_2,*puVar3); local_18 = 0; local_10 = (float)param_3; local_c = param_4; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_18,0); puVar3 = (undefined4 *)FUN_18134a8d0(lVar1,¶m_5,0x1000205,0); FUN_181296c00(param_2,*puVar3); if (0.0 < (float)param_3) { local_10 = (float)param_3 - 0.0; local_18 = (ulonglong)(uint)(float)(param_4 + -1) << 0x20; local_c = DAT_1824c3ea4; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_18); } } return; } ############ FUN_ 1812f8f00 size=383 ############ void FUN_1812f8f00(undefined8 param_1,undefined8 param_2,undefined8 param_3,float param_4, float param_5,int param_6,int param_7,uint param_8,float param_9,int param_10, uint param_11) { uint uVar1; int iVar2; int iVar3; int iVar4; int iVar5; float local_18; float fStack_14; float fStack_10; float fStack_c; if ((char)param_8 == '\0') { local_18 = param_9; fStack_14 = param_5; fStack_c = (float)param_7; param_6 = param_10; } else { fStack_14 = param_9; fStack_c = (float)param_10; local_18 = param_4; } fStack_10 = (float)param_6; FUN_18134a8d0(param_3,¶m_8,0x1000400,0); uVar1 = param_8; if ((char)param_11 != '\0') { param_11 = CONCAT13(param_8._3_1_, CONCAT12((char)(int)(DAT_1824c4548 - (float)(int)(0xff - (param_8 >> 0x10 & 0xff)) * DAT_1824c3e28), CONCAT11((char)(int)(DAT_1824c4548 - (float)(int)(0xff - (param_8 >> 8 & 0xff)) * DAT_1824c3e28), (char)(int)(DAT_1824c4548 - (float)(int)(0xff - (param_8 & 0xff)) * DAT_1824c3e28)))); uVar1 = param_11; } FUN_181296c00(param_2,uVar1); iVar4 = (int)local_18 + 1; iVar3 = (int)fStack_c + -2; iVar2 = 0; if (0 < (int)fStack_10 + -2) { iVar2 = (int)fStack_10 + -2; } iVar5 = 0; if (0 < iVar3) { iVar5 = iVar3; } _local_18 = CONCAT44((float)((int)fStack_14 + 1),(float)iVar4); _fStack_10 = CONCAT44((float)iVar5,(float)iVar2); FUN_181295300(param_2,&local_18,iVar3,iVar4); return; } ############ FUN_ 1812f9600 size=1963 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812f9600(ulonglong param_1,longlong param_2,longlong param_3,int param_4,int param_5, double param_6) { longlong *plVar1; int iVar2; float fVar3; float fVar4; char cVar5; DWORD DVar6; longlong lVar7; int iVar8; float *pfVar9; float fVar10; float fVar11; float fVar12; float fVar13; float fVar14; ulonglong local_res8; undefined4 local_res18 [2]; undefined4 uVar15; float *local_1e8; undefined8 local_1e0; undefined8 local_1d8; undefined8 uStack_1d0; undefined1 local_1c8; float local_1c0; longlong *local_1b8; float local_1b0; undefined **local_1a8 [3]; undefined8 *local_190; undefined8 *local_188; undefined1 local_180; undefined8 local_178; float local_170; float local_16c; undefined8 local_168; float local_160; float local_15c; undefined8 local_158; float local_150; float local_14c; undefined8 local_138; undefined8 uStack_130; ulonglong local_128; undefined8 local_120; undefined8 uStack_118; ulonglong local_110; float *local_108; ulonglong local_100; undefined8 local_f8; undefined8 uStack_f0; undefined1 local_e8; undefined8 local_e0; local_e0 = 0xfffffffffffffffe; local_res8 = param_1; FUN_18134a8d0(param_3,local_res18,0x1001900,0); FUN_18134a8d0(param_3,&local_res8,0x1001a00,0); fVar11 = (float)*(int *)(param_3 + 0x2c); fVar12 = (float)*(int *)(param_3 + 0x28); local_1c0 = fVar11; local_1b0 = fVar12; FUN_181296c00(param_2,local_res18[0]); fVar3 = DAT_1824c3d8c; local_178 = 0; local_170 = fVar12; local_16c = fVar11; FUN_181295300(param_2,&local_178,(float)*(int *)(param_3 + 0x2c) * DAT_1824c3d8c); if ((param_6 < 0.0) || (DAT_1824c4140 < param_6)) { FUN_181296c00(param_2,local_res18[0]); iVar2 = param_5 * 2; DVar6 = timeGetTime(); fVar4 = DAT_1824c460c; if (DVar6 < DAT_1826737fc) { if (DVar6 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar6; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar6; } iVar8 = 0; local_1e8 = (float *)0x0; local_1e0 = 0; local_1d8 = 0; uStack_1d0 = 0; local_1c8 = 1; fVar10 = (float)-(0 % iVar2); if (fVar10 < (float)(iVar2 + param_4)) { fVar13 = (float)param_5; fVar14 = (float)iVar2 * fVar3; do { fVar12 = fVar10 - fVar14; fVar11 = fVar14 + fVar10; if (iVar8 == 0) { local_1d8 = CONCAT44(fVar10,fVar10); uStack_1d0 = 0; } else { if ((float)local_1d8 <= fVar10) { if (local_1d8._4_4_ < fVar10) { local_1d8 = CONCAT44(fVar10,(float)local_1d8); } } else { local_1d8 = CONCAT44(local_1d8._4_4_,fVar10); } if ((float)uStack_1d0 <= 0.0) { if (uStack_1d0._4_4_ < 0.0) { uStack_1d0 = uStack_1d0 & 0xffffffff; } } else { uStack_1d0 = (ulonglong)(uint)uStack_1d0._4_4_ << 0x20; } } FUN_1804b02a0(&local_1e8,&DAT_1821df344,iVar8,0); if (local_1e0._4_4_ == 0) { local_1d8 = 0; uStack_1d0 = 0; FUN_1804b02a0(&local_1e8,&DAT_1821df344); } FUN_1804b02a0(&local_1e8,&DAT_1821dfcb4); if ((float)local_1d8 <= fVar11) { if (local_1d8._4_4_ < fVar11) { local_1d8 = CONCAT44(fVar11,(float)local_1d8); } } else { local_1d8 = CONCAT44(local_1d8._4_4_,fVar11); } fVar11 = uStack_1d0._4_4_; if ((float)uStack_1d0 <= 0.0) { if (uStack_1d0._4_4_ < 0.0) { fVar11 = 0.0; uStack_1d0 = uStack_1d0 & 0xffffffff; } } else { uStack_1d0 = (ulonglong)(uint)uStack_1d0._4_4_ << 0x20; } if (local_1e0._4_4_ == 0) { local_1d8 = 0; uStack_1d0 = 0; FUN_1804b02a0(&local_1e8,fVar11); } FUN_1804b02a0(&local_1e8,&DAT_1821dfcb4); if ((float)local_1d8 <= fVar10) { if (local_1d8._4_4_ < fVar10) { local_1d8 = CONCAT44(fVar10,(float)local_1d8); } } else { local_1d8 = CONCAT44(local_1d8._4_4_,fVar10); } if ((float)uStack_1d0 <= fVar13) { if (uStack_1d0._4_4_ < fVar13) { uStack_1d0 = CONCAT44(fVar13,(float)uStack_1d0); } } else { uStack_1d0 = CONCAT44(uStack_1d0._4_4_,fVar13); } if (local_1e0._4_4_ == 0) { local_1d8 = 0; uStack_1d0 = 0; FUN_1804b02a0(&local_1e8,&DAT_1821df344); } FUN_1804b02a0(&local_1e8,&DAT_1821dfcb4); if ((float)local_1d8 <= fVar12) { if (local_1d8._4_4_ < fVar12) { local_1d8 = CONCAT44(fVar12,(float)local_1d8); } } else { local_1d8 = CONCAT44(local_1d8._4_4_,fVar12); } if ((float)uStack_1d0 <= fVar13) { if (uStack_1d0._4_4_ < fVar13) { uStack_1d0 = CONCAT44(fVar13,(float)uStack_1d0); } } else { uStack_1d0 = CONCAT44(uStack_1d0._4_4_,fVar13); } iVar8 = local_1e0._4_4_; if ((local_1e0._4_4_ != 0) && ((local_1e0._4_4_ < 1 || (local_1e8[local_1e0._4_4_ + -1] != fVar4)))) { iVar8 = local_1e0._4_4_ + 1; if ((int)local_1e0 < iVar8) { if (iVar8 < 0) { iVar8 = local_1e0._4_4_ + 2; } FUN_1804af790(&local_1e8,local_1e0._4_4_ + 9 + (iVar8 >> 1) & 0xfffffff8); } lVar7 = (longlong)local_1e0._4_4_; iVar8 = local_1e0._4_4_ + 1; local_1e0 = CONCAT44(iVar8,(int)local_1e0); local_1e8[lVar7] = 100005.0; } fVar10 = fVar10 + (float)iVar2; fVar12 = local_1b0; fVar11 = local_1c0; } while (fVar10 < (float)(iVar2 + param_4)); } local_1a8[0] = juce::NativeImageType::vftable; (*(code *)PTR_FUN_1824988f0)(local_1a8,&local_1b8,2,param_4,param_5,1); local_1a8[0] = juce::ImageType::vftable; if (local_1b8 == (longlong *)0x0) { local_190 = (undefined8 *)0x0; } else { (**(code **)(*local_1b8 + 8))(local_1b8,&local_190); } local_180 = 0; local_188 = local_190; FUN_181296c00(&local_190,local_res8 & 0xffffffff); local_158 = 0; local_150 = fVar12; local_14c = fVar11; FUN_181295300(&local_190,&local_158,(float)*(int *)(param_3 + 0x2c) * fVar3); if (local_190 != (undefined8 *)0x0) { (**(code **)*local_190)(local_190,1); } uVar15 = DAT_1824c3e4c; FUN_181296850(param_2,&local_1b8); cVar5 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar5 == '\0') { for (pfVar9 = local_1e8; pfVar9 != local_1e8 + local_1e0._4_4_; pfVar9 = pfVar9 + 1) { fVar11 = *pfVar9; if (fVar11 == DAT_1824c4600) { pfVar9 = pfVar9 + 2; } else if (((fVar11 == DAT_1824c45fc) || (fVar11 == DAT_1824c4604)) || (fVar11 == DAT_1824c4608)) { local_120 = _DAT_1824c4780; uStack_118 = _UNK_1824c4788; local_110 = (ulonglong)DAT_1824c3ea4; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_1e8,&local_120,DAT_1824c4604,uVar15); break; } } } if (local_1b8 != (longlong *)0x0) { LOCK(); plVar1 = local_1b8 + 1; lVar7 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)*local_1b8)(local_1b8,1); } } local_1e0 = local_1e0 & 0xffffffff; pfVar9 = local_1e8; } else { local_108 = (float *)0x0; local_100 = 0; local_f8 = 0; uStack_f0 = 0; local_e8 = 1; FUN_18129d5a0(&local_108,0); local_138 = _DAT_1824c4780; uStack_130 = _UNK_1824c4788; local_128 = (ulonglong)DAT_1824c3ea4; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x40)) (*(longlong **)(param_2 + 8),&local_108,&local_138); (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); FUN_181296c00(param_2,local_res8 & 0xffffffff); local_168 = 0; local_160 = (float)param_6 * fVar12; local_15c = fVar11; FUN_181295300(param_2,&local_168,(float)*(int *)(param_3 + 0x2c) * fVar3); local_100 = local_100 & 0xffffffff; pfVar9 = local_108; } /* WARNING: Subroutine does not return */ free(pfVar9); } ############ FUN_ 1812fab70 size=587 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812fab70(longlong param_1,longlong param_2,undefined8 param_3,float param_4,float param_5, float param_6,float param_7,char param_8) { float fVar1; char cVar2; undefined4 *puVar3; float *pfVar4; undefined1 local_res20 [8]; undefined8 uVar5; float local_98; float local_94; float local_90; float local_8c; float local_88; float local_84; float *local_78; int local_6c; float local_68; float local_64; float local_60; float local_5c; uVar5 = 0xfffffffffffffffe; puVar3 = (undefined4 *)FUN_18134a8d0(param_3,local_res20,0x1006503,0,0xfffffffffffffffe); FUN_181296c00(param_2,*puVar3); local_94 = param_5; local_90 = param_6; local_8c = param_7; local_98 = param_4; FUN_181295190(param_2,&local_98,DAT_1824c4334,DAT_1824c3ea4); if (param_8 == '\0') { return; } puVar3 = (undefined4 *)FUN_18134a8d0(param_3,¶m_8,0x1006502,0,uVar5); FUN_181296c00(param_2,*puVar3); (**(code **)(*(longlong *)(param_1 + -8) + 0x60)) ((longlong *)(param_1 + -8),&local_78,DAT_1824c3e10); param_6 = param_6 - DAT_1824c43d8; if (param_6 <= 0.0) { param_6 = 0.0; } param_7 = param_7 - DAT_1824c43e8; if (param_7 <= 0.0) { param_7 = 0.0; } local_88 = param_7 / (local_5c - local_60); local_98 = param_6 / (local_64 - local_68); local_8c = local_88 * 0.0; local_94 = local_98 * 0.0; local_84 = (float)((uint)local_60 ^ DAT_1824c4f30) * local_88 + (param_5 - _DAT_1824c46f8); local_90 = (param_4 - DAT_1824c46e8) + (float)((uint)local_68 ^ DAT_1824c4f30) * local_98; cVar2 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar2 == '\0') { for (pfVar4 = local_78; pfVar4 != local_78 + local_6c; pfVar4 = pfVar4 + 1) { fVar1 = *pfVar4; if (fVar1 == DAT_1824c4600) { pfVar4 = pfVar4 + 2; } else if (((fVar1 == DAT_1824c45fc) || (fVar1 == DAT_1824c4604)) || (fVar1 == DAT_1824c4608)) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_78,&local_98); break; } } } local_6c = 0; /* WARNING: Subroutine does not return */ free(local_78); } ############ FUN_ 1812fadd0 size=490 ############ void FUN_1812fadd0(longlong *param_1,longlong param_2,longlong param_3,undefined1 param_4, undefined1 param_5) { int iVar1; char cVar2; undefined1 uVar3; undefined4 *puVar4; int iVar5; undefined1 uVar6; float fVar7; float fVar8; int local_res8; ulonglong local_48; int iStack_40; undefined4 uStack_3c; fVar7 = (float)*(int *)(param_3 + 0x2c) * DAT_1824c3e10; if (DAT_1824c4418 <= fVar7) { fVar7 = DAT_1824c4418; } fVar8 = fVar7 * DAT_1824c3ee0; if ((*(byte *)(param_3 + 0xa9) & 0x10) == 0) { if (*(longlong *)(param_3 + 0x18) != 0) { cVar2 = FUN_18133eaa0(); if (cVar2 == '\0') goto LAB_1812fae40; } uVar6 = 1; } else { LAB_1812fae40: uVar6 = 0; } uVar3 = FUN_1804d6ee0(param_3); (**(code **)(*param_1 + 0x38)) (param_1,param_2,param_3,DAT_1824c4334, ((float)*(int *)(param_3 + 0x2c) - fVar8) * DAT_1824c3d8c,fVar8,fVar8,uVar3,uVar6, param_4,param_5); puVar4 = (undefined4 *)FUN_18134a8d0(param_3,¶m_5,0x1006501,0); FUN_181296c00(param_2,*puVar4); FUN_1812966f0(param_2,fVar7); if ((*(byte *)(param_3 + 0xa9) & 0x10) == 0) { if (*(longlong *)(param_3 + 0x18) == 0) goto LAB_1812faf14; cVar2 = FUN_18133eaa0(); if (cVar2 != '\0') goto LAB_1812faf14; } if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x90))(*(longlong **)(param_2 + 8),DAT_1824c3d8c); LAB_1812faf14: local_res8 = SUB84((double)fVar8 + DAT_1824c4520,0); iVar5 = *(int *)(param_3 + 0x28) - (local_res8 + 10U); local_48 = (ulonglong)(local_res8 + 10U); iVar1 = 0; if (0 < iVar5) { iVar1 = iVar5; } iVar5 = 0; if (0 < iVar1 + -2) { iVar5 = iVar1 + -2; } _iStack_40 = CONCAT44(*(undefined4 *)(param_3 + 0x2c),iVar5); FUN_181296100(param_2,param_3 + 0x158,&local_48,0x21,10,0); return; } ############ FUN_ 1812fafc0 size=1073 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812fafc0(undefined8 param_1,longlong param_2,longlong param_3,uint *param_4,char param_5, char param_6) { float fVar1; undefined4 uVar2; longlong lVar3; bool bVar4; char cVar5; undefined1 uVar6; uint uVar7; undefined4 *puVar8; undefined1 uVar9; uint uVar10; float *pfVar11; uint uVar12; byte bVar13; undefined1 uVar14; uint *puVar15; undefined1 uVar16; float fVar17; undefined4 uVar18; float fVar19; float fVar20; float fVar21; float fVar22; undefined4 local_res18; double local_res20; undefined8 local_d8; undefined8 uStack_d0; undefined8 local_c8; float *local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 uStack_a0; undefined1 local_98; ulonglong local_90; ulonglong uStack_88; undefined8 local_80; undefined8 local_78; fVar1 = DAT_1824c3ea4; local_78 = 0xfffffffffffffffe; fVar21 = (float)*(int *)(param_3 + 0x28) - DAT_1824c3ea4; if (fVar21 <= 0.0) { fVar21 = 0.0; } fVar22 = (float)*(int *)(param_3 + 0x2c) - DAT_1824c3ea4; if (fVar22 <= 0.0) { fVar22 = 0.0; } puVar15 = param_4; fVar20 = DAT_1824c3d8c; if (((*(byte *)(param_3 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_3 + 0x18) == 0 || (cVar5 = FUN_18133eaa0(), fVar20 = DAT_1824c3d8c, cVar5 != '\0')))) { fVar20 = fVar1; } bVar4 = false; for (lVar3 = DAT_182673708; lVar3 != param_3; lVar3 = *(longlong *)(lVar3 + 0x18)) { if (lVar3 == 0) goto LAB_1812fb08c; } bVar4 = true; LAB_1812fb08c: fVar19 = DAT_1824c3e58; if (bVar4) { fVar19 = DAT_1824c3f20; } FUN_18049fa40(&local_d8,*puVar15); fVar17 = local_d8._4_4_ * fVar19; if (fVar1 <= local_d8._4_4_ * fVar19) { fVar17 = fVar1; } FUN_18049fbb0(&local_res18,local_d8 & 0xffffffff,fVar17,(undefined4)uStack_d0,*param_4 >> 0x18); local_res20 = (double)((float)(local_res18 >> 0x18) * fVar20) + DAT_1824c4520; uVar16 = 0xff; if (SUB84(local_res20,0) < 0xff) { uVar16 = SUB81(local_res20,0); } local_res18 = CONCAT13(uVar16,(undefined3)local_res18); uVar18 = DAT_1824c3d18; if ((param_6 != '\0') || (uVar18 = DAT_1824c3c94, uVar2 = local_res18, param_5 != '\0')) { puVar8 = (undefined4 *)FUN_1812a24b0(&local_res18,¶m_6,uVar18); uVar2 = *puVar8; } FUN_181296c00(param_2,uVar2); uVar18 = DAT_1824c4388; uVar7 = *(uint *)(param_3 + 0x198); uVar10 = uVar7 >> 1; uVar12 = uVar7 >> 2; uVar7 = uVar7 >> 3; bVar13 = *(byte *)(param_3 + 0x198) & 1; if ((((bVar13 == 0) && ((uVar10 & 1) == 0)) && ((uVar12 & 1) == 0)) && ((uVar7 & 1) == 0)) { local_d8 = 0x3f0000003f000000; uStack_d0 = CONCAT44(fVar22,fVar21); FUN_181295300(param_2,&local_d8,DAT_1824c4388); puVar8 = (undefined4 *)FUN_18134a8d0(param_3,¶m_6,0x1000c00,0); FUN_181296c00(param_2,*puVar8); local_d8 = 0x3f0000003f000000; uStack_d0 = CONCAT44(fVar22,fVar21); FUN_181295190(param_2,&local_d8,uVar18,fVar1); return; } local_b8 = (float *)0x0; local_b0 = 0; local_a8 = 0; uStack_a0 = 0; local_98 = 1; if (((uVar10 & 1) == 0) && ((uVar7 & 1) == 0)) { uVar16 = 1; } else { uVar16 = 0; } if ((bVar13 == 0) && ((uVar7 & 1) == 0)) { uVar14 = 1; } else { uVar14 = 0; } if (((uVar10 & 1) == 0) && ((uVar12 & 1) == 0)) { uVar9 = 1; } else { uVar9 = 0; } if ((bVar13 == 0) && ((uVar12 & 1) == 0)) { uVar6 = 1; } else { uVar6 = 0; } FUN_18129d5a0(&local_b8,DAT_1824c3d8c,bVar13,fVar21,fVar22,DAT_1824c4388,DAT_1824c4388,uVar6,uVar9 ,uVar14,uVar16); cVar5 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar5 == '\0') { for (pfVar11 = local_b8; pfVar11 != local_b8 + local_b0._4_4_; pfVar11 = pfVar11 + 1) { fVar1 = *pfVar11; if (fVar1 == DAT_1824c4600) { pfVar11 = pfVar11 + 2; } else if (((fVar1 == DAT_1824c45fc) || (fVar1 == DAT_1824c4604)) || (fVar1 == DAT_1824c4608)) { local_d8 = _DAT_1824c4780; uStack_d0 = _UNK_1824c4788; local_c8 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_b8,&local_d8); break; } } } puVar8 = (undefined4 *)FUN_18134a8d0(param_3,¶m_6,0x1000c00,0); FUN_181296c00(param_2,*puVar8); local_90 = _DAT_1824c4780; uStack_88 = _UNK_1824c4788; local_80 = 0x3f800000; local_d8 = 0x3f800000; uStack_d0 = uStack_d0 & 0xffffffff00000000; FUN_181295d20(param_2,&local_b8,&local_d8,&local_90); local_b0 = local_b0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_b8); } ############ FUN_ 1812fc8d0 size=1195 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812fc8d0(undefined8 param_1,longlong param_2,int param_3,int param_4,longlong param_5, undefined8 *param_6) { float fVar1; char cVar2; undefined8 uVar3; float *pfVar4; float fVar5; float fVar6; undefined1 uVar7; undefined4 uVar8; uint local_98 [2]; undefined8 local_90; undefined8 local_88; undefined8 uStack_80; float *local_68; undefined8 local_60; undefined8 local_58; undefined8 uStack_50; undefined1 local_48; local_90 = 0xfffffffffffffffe; FUN_18134a8d0(param_5,local_98,0x100ad01,1); if (*(char *)*param_6 != '\0') { if (((*(byte *)(param_5 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_5 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), cVar2 != '\0')))) { fVar5 = DAT_1824c3d74; if ((*(int *)(param_5 + 0x1a0) != 2) && (fVar5 = DAT_1824c3cb8, *(int *)(param_5 + 0x1a0) != 0)) { fVar5 = DAT_1824c3d18; } FUN_181296c00(param_2,CONCAT13((char)(int)(fVar5 * DAT_1824c454c),(int3)local_98[0])); local_88 = 0; uStack_80 = CONCAT44((float)*(int *)(param_5 + 0x2c),(float)*(int *)(param_5 + 0x28)); FUN_181295300(param_2,&local_88); local_88 = 0; uStack_80 = CONCAT44((float)*(int *)(param_5 + 0x2c),(float)*(int *)(param_5 + 0x28)); FUN_181295190(param_2,&local_88); } FUN_181296c00(param_2,local_98[0]); FUN_1812966f0(param_2,(float)param_4 * DAT_1824c3db8); uStack_80 = CONCAT44(param_4,param_3 + -8); local_88 = 4; FUN_181296100(param_2,param_6,&local_88,0x24,1,0); if (DAT_182673708 == param_5) { FUN_181296c00(param_2,CONCAT13(0x66,(int3)local_98[0])); FUN_181295c90(param_2,0,0,param_3,param_4,1); } return; } local_68 = (float *)0x0; local_60 = 0; local_58 = 0; uStack_50 = 0; local_48 = 1; local_88 = _DAT_1824c4ec0; uStack_80 = _UNK_1824c4ec8; FUN_18129d1e0(&local_68,&local_88); FUN_18129d850(&local_68); FUN_18129d850(&local_68); FUN_18129d850(&local_68); local_48 = 0; fVar5 = DAT_1824c3df0; if ((*(int *)(param_5 + 0x1a0) != 2) && (fVar5 = DAT_1824c3d54, *(int *)(param_5 + 0x1a0) != 0)) { fVar5 = DAT_1824c3d8c; } if (0.0 < fVar5) { if (fVar5 < DAT_1824c3ea4) { uVar7 = (undefined1)(int)(fVar5 * DAT_1824c454c); } else { uVar7 = 0xff; } } else { uVar7 = 0; } FUN_181296c00(param_2,CONCAT13(uVar7,CONCAT12((char)(int)((float)(local_98[0] >> 0x10 & 0xff) * DAT_1824c3e5c), CONCAT11((char)(int)((float)(local_98[0] >> 8 & 0xff ) * DAT_1824c3e5c), (char)(int)((float)(local_98[0] & 0xff) * DAT_1824c3e5c))))); fVar6 = (float)param_4 - DAT_1824c4334; fVar5 = (float)param_3 - DAT_1824c4334; uVar8 = 0x24; uVar7 = 1; uVar3 = FUN_18129b390(&local_68,&local_88); cVar2 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar2 == '\0') { for (pfVar4 = local_68; pfVar4 != local_68 + local_60._4_4_; pfVar4 = pfVar4 + 1) { fVar1 = *pfVar4; if (fVar1 == DAT_1824c4600) { pfVar4 = pfVar4 + 2; } else if (((fVar1 == DAT_1824c45fc) || (fVar1 == DAT_1824c4604)) || (fVar1 == DAT_1824c4608)) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_68,uVar3,local_68 + local_60._4_4_,fVar5,fVar6 ,uVar7,uVar8); break; } } } local_60 = local_60 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_68); } ############ FUN_ 1812fcd90 size=731 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812fcd90(undefined8 param_1,longlong param_2,undefined4 param_3,int param_4, undefined8 param_5,undefined8 param_6) { undefined8 *puVar1; uint uVar2; undefined1 auVar3 [12]; undefined1 auVar4 [12]; undefined8 uVar5; uint *puVar6; int iVar7; uint uVar8; int iVar9; uint uVar10; uint uVar11; uint uVar12; int iVar13; uint uVar14; undefined8 extraout_XMM0_Qb; undefined1 auVar15 [16]; undefined1 auVar16 [16]; float fVar17; float fVar18; float fVar19; undefined4 local_res18; undefined4 local_res20; longlong local_b8; undefined8 local_98; undefined8 uStack_90; undefined8 local_88; undefined4 local_80; float local_7c; undefined1 local_78; void *local_70; undefined8 local_68; FUN_18134a8d0(param_6,&local_res18,0x1000700,0,0xfffffffffffffffe); uVar12 = local_res18; uVar14 = local_res18 >> 0x10 & 0xff; fVar19 = (float)uVar14 / DAT_1824c4548; uVar10 = local_res18 >> 8 & 0xff; fVar18 = (float)uVar10 / DAT_1824c4548; uVar11 = local_res18 & 0xff; fVar17 = (float)uVar11 / DAT_1824c4548; fVar17 = sqrtf(fVar18 * fVar18 * _DAT_1824c3dec + fVar19 * fVar19 * _DAT_1824c3d2c + fVar17 * fVar17 * _DAT_1824c3ca0); puVar6 = &DAT_18262b598; if (DAT_1824c3d8c <= fVar17) { puVar6 = &DAT_18262b59c; } uVar2 = *puVar6; local_res20._0_3_ = (undefined3)uVar2; local_res20 = CONCAT13(0x26,(undefined3)local_res20); uVar8 = local_res20; if (local_res18._3_1_ != 0) { iVar7 = 0xff - (local_res20 >> 0x18); iVar13 = 0xff - ((int)((0xff - (uint)local_res18._3_1_) * iVar7) >> 8); uVar8 = uVar12; if (0 < iVar13) { iVar7 = (int)(iVar7 * (uint)local_res18._3_1_) / iVar13; local_res20._0_1_ = (char)uVar2; local_res20._0_1_ = (char)((uVar11 - (uVar2 & 0xff)) * iVar7 >> 8) + (char)local_res20; local_res20._0_3_ = CONCAT12((char)((uVar14 - ((uVar2 & 0xff0000) >> 0x10)) * iVar7 >> 8) + (char)(uVar2 >> 0x10), CONCAT11((char)((uVar10 - ((uVar2 & 0xff00) >> 8)) * iVar7 >> 8) + (char)(uVar2 >> 8),(char)local_res20)); local_res20 = CONCAT13((char)iVar13,(undefined3)local_res20); uVar8 = local_res20; } } FUN_181296c00(param_2,uVar8); iVar7 = 1; if (param_4 < 1) { iVar7 = param_4; } iVar9 = param_4 - iVar7; uStack_90 = CONCAT44(iVar7,param_3); local_98 = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_98,0); iVar13 = 1; if (iVar9 < 1) { iVar13 = iVar9; } uVar12 = (iVar7 - iVar13) + iVar9; local_b8 = (ulonglong)uVar12 << 0x20; local_98 = local_b8; uStack_90._0_4_ = param_3; uStack_90._4_4_ = iVar13; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_98,0); uVar5 = DAT_1824c4140; local_res20 = CONCAT13(local_res18._3_1_, CONCAT12((char)(int)((float)(local_res18 >> 0x10 & 0xff) * DAT_1824c3e6c), CONCAT11((char)(int)((float)(local_res18 >> 8 & 0xff) * DAT_1824c3e6c), (char)(int)((float)(local_res18 & 0xff) * DAT_1824c3e6c)) )); local_7c = (float)param_4; local_88 = 0; local_80 = 0; local_78 = 0; local_70 = (void *)0x0; local_68 = 0; uStack_90._0_4_ = local_res20; FUN_18049ba20(&local_70,8); iVar7 = local_68._4_4_ + 1; auVar3._4_8_ = extraout_XMM0_Qb; auVar3._0_4_ = uVar12; auVar15._0_8_ = auVar3._0_8_ << 0x20; auVar15._8_4_ = local_res18; auVar15._12_4_ = iVar13; puVar1 = (undefined8 *)((longlong)local_70 + (longlong)local_68._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = auVar15._8_8_; local_68 = CONCAT44(local_68._4_4_ + 2,(undefined4)local_68); auVar4._4_8_ = auVar15._8_8_; auVar4._0_4_ = local_98._4_4_; auVar16._0_8_ = auVar4._0_8_ << 0x20; auVar16._8_4_ = (undefined4)uStack_90; auVar16._12_4_ = uStack_90._4_4_; uStack_90 = auVar16._8_8_; local_98 = uVar5; puVar1 = (undefined8 *)((longlong)local_70 + (longlong)iVar7 * 0x10); *puVar1 = uVar5; puVar1[1] = uStack_90; FUN_181296970(param_2,&local_88); /* WARNING: Subroutine does not return */ free(local_70); } ############ FUN_ 1812fd0c0 size=153 ############ void FUN_1812fd0c0(longlong param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4) { undefined4 *puVar1; undefined4 local_res8; undefined1 local_18 [16]; puVar1 = (undefined4 *)FUN_181346420(param_1 + -0x40,&local_res8,0x1000700); FUN_1812a3160(param_2,*puVar1); puVar1 = (undefined4 *)FUN_181346420(param_1 + -0x40,local_18,0x1000600); local_res8 = CONCAT13(0x99,(int3)*puVar1); FUN_181296c00(param_2,local_res8); FUN_181295c90(param_2,0,0,param_3,param_4,1); return; } ############ FUN_ 1812fdeb0 size=1153 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812fdeb0(undefined8 param_1,longlong param_2,undefined4 param_3,undefined4 param_4, undefined8 param_5,int param_6,int param_7,int param_8,int param_9,double param_10 ) { longlong lVar1; char cVar2; undefined4 *puVar3; longlong lVar4; uint *puVar5; float *pfVar6; undefined1 uVar7; float fVar8; float fVar9; float fVar10; float fVar11; float fVar12; float fVar13; float fVar14; float fVar15; undefined1 local_res10 [8]; undefined4 uVar16; undefined8 local_c0; undefined8 uStack_b8; undefined8 local_b0; float *local_a8; undefined8 local_a0; float local_98; float local_94; float local_90; float local_8c; undefined1 local_88; lVar1 = (longlong)param_10; puVar3 = (undefined4 *)FUN_18134a8d0(param_10,local_res10,0x1000b00,0); FUN_1812a3160(param_2,*puVar3); if (((*(byte *)(lVar1 + 0xa9) & 0x10) == 0) && (((*(longlong *)(lVar1 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), cVar2 != '\0')) && (DAT_182673708 == lVar1)))) { puVar3 = (undefined4 *)FUN_18134a8d0(lVar1,¶m_10,0x1000f00,0); FUN_181296c00(param_2,*puVar3); uVar16 = 2; } else { puVar3 = (undefined4 *)FUN_18134a8d0(lVar1,¶m_10,0x1000c00,0); FUN_181296c00(param_2,*puVar3); uVar16 = 1; } FUN_181295c90(param_2,0,0,param_3,param_4,uVar16); local_a8 = (float *)0x0; local_a0._0_4_ = 0; local_a0._4_4_ = 0; local_88 = 1; fVar12 = (float)param_8; fVar8 = (float)param_6; fVar14 = fVar12 * DAT_1824c3d54 + fVar8; fVar11 = (float)param_9; fVar13 = (float)param_7; fVar9 = fVar11 * DAT_1824c3d80 + fVar13; fVar15 = fVar12 * DAT_1824c3df0 + fVar8; fVar8 = fVar12 * DAT_1824c3d8c + fVar8; local_90 = fVar11 * _DAT_1824c3d38 + fVar13; local_98 = fVar8; local_94 = fVar8; local_8c = local_90; FUN_1804b02a0(&local_a8,&DAT_1821df344,fVar8); FUN_18129ddd0(&local_a8,fVar15,fVar9); FUN_18129ddd0(&local_a8,fVar14,fVar9); if ((local_a0._4_4_ != 0) && ((local_a0._4_4_ < 1 || (local_a8[local_a0._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_a0 < local_a0._4_4_ + 1) { FUN_1804af790(&local_a8,local_a0._4_4_ + 9 + (local_a0._4_4_ + 1) / 2 & 0xfffffff8); } local_a0._4_4_ = 1; *local_a8 = 100005.0; } fVar10 = fVar11 * DAT_1824c3da8 + fVar13; fVar13 = fVar11 * DAT_1824c3e10 + fVar13; fVar9 = fVar8; fVar11 = fVar8; fVar12 = fVar13; if (local_a0._4_4_ != 0) { if ((local_98 <= fVar8) && (fVar9 = local_98, local_94 < fVar8)) { local_94 = fVar8; } local_98 = fVar9; if ((fVar13 < local_90) || (fVar9 = local_98, fVar11 = local_94, fVar12 = local_90, fVar13 <= local_8c)) goto LAB_1812fe151; } local_90 = fVar12; local_94 = fVar11; local_98 = fVar9; fVar12 = local_90; local_8c = fVar13; LAB_1812fe151: local_90 = fVar12; FUN_1804b02a0(&local_a8,&DAT_1821df344,fVar8,fVar13); FUN_18129ddd0(&local_a8,fVar15,fVar10); FUN_18129ddd0(&local_a8,fVar14,fVar10); if ((local_a0._4_4_ != 0) && ((local_a0._4_4_ < 1 || (local_a8[local_a0._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_a0 < local_a0._4_4_ + 1) { FUN_1804af790(&local_a8,local_a0._4_4_ + 9 + (local_a0._4_4_ + 1) / 2 & 0xfffffff8); } lVar4 = (longlong)local_a0._4_4_; local_a0._4_4_ = local_a0._4_4_ + 1; local_a8[lVar4] = 100005.0; } fVar8 = DAT_1824c3ea4; if (((*(byte *)(lVar1 + 0xa9) & 0x10) != 0) || ((*(longlong *)(lVar1 + 0x18) != 0 && (cVar2 = FUN_18133eaa0(), cVar2 == '\0')))) { fVar8 = DAT_1824c3d54; } puVar5 = (uint *)FUN_18134a8d0(lVar1,¶m_6,0x1000e00,0); param_10 = (double)((float)(*puVar5 >> 0x18) * fVar8) + DAT_1824c4520; uVar7 = 0xff; if (SUB84(param_10,0) < 0xff) { uVar7 = SUB81(param_10,0); } param_8 = CONCAT13(uVar7,(int3)*puVar5); FUN_181296c00(param_2,param_8); cVar2 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar2 == '\0') { for (pfVar6 = local_a8; pfVar6 != local_a8 + local_a0._4_4_; pfVar6 = pfVar6 + 1) { fVar8 = *pfVar6; if (fVar8 == DAT_1824c4600) { pfVar6 = pfVar6 + 2; } else if (((fVar8 == DAT_1824c45fc) || (fVar8 == DAT_1824c4604)) || (fVar8 == DAT_1824c4608)) { local_c0 = _DAT_1824c4780; uStack_b8 = _UNK_1824c4788; local_b0 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_a8,&local_c0); break; } } } local_a0 = (ulonglong)(uint)local_a0; /* WARNING: Subroutine does not return */ free(local_a8); } ############ FUN_ 1812fe3a0 size=646 ############ void FUN_1812fe3a0(undefined8 param_1,longlong param_2,float *param_3,undefined4 param_4, char param_5,char param_6) { float fVar1; undefined1 uVar2; char cVar3; undefined4 *puVar4; float *pfVar5; float fVar6; float fVar7; float fVar8; undefined4 local_res20 [2]; undefined1 local_90 [24]; float *local_78; undefined8 local_70; undefined8 local_68; undefined8 local_60; undefined1 local_58; fVar7 = DAT_1824c3d8c; local_78 = (float *)0x0; local_70._0_4_ = 0; local_70._4_4_ = 0; local_58 = 1; if (param_5 == '\0') { fVar6 = 0.0; fVar8 = DAT_1824c3d8c; } else { fVar8 = 0.0; fVar6 = DAT_1824c3d8c; } local_68 = 0; local_60 = 0; local_res20[0] = param_4; FUN_1804b02a0(&local_78,&DAT_1821df344,0,0); fVar1 = DAT_1824c3ea4; FUN_18129ddd0(&local_78,DAT_1824c3ea4,fVar8); FUN_18129ddd0(&local_78,fVar6,fVar1); if ((local_70._4_4_ != 0) && ((local_70._4_4_ < 1 || (local_78[local_70._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_70 < local_70._4_4_ + 1) { FUN_1804af790(&local_78,local_70._4_4_ + 9 + (local_70._4_4_ + 1) / 2 & 0xfffffff8); } local_70._4_4_ = 1; *local_78 = 100005.0; } if (param_6 == '\0') { fVar7 = DAT_1824c3d54; } puVar4 = (undefined4 *)FUN_1812a24b0(local_res20,¶m_6,fVar1); if (0.0 < fVar7) { if (fVar7 < fVar1) { uVar2 = (undefined1)(int)(fVar7 * DAT_1824c454c); } else { uVar2 = 0xff; } } else { uVar2 = 0; } _param_5 = CONCAT13(uVar2,(int3)*puVar4); FUN_181296c00(param_2,_param_5); fVar7 = (float)((uint)(param_3[3] * DAT_1824c3d3c) ^ DAT_1824c4f30); fVar8 = param_3[2] - DAT_1824c4334; if (fVar8 <= 0.0) { fVar8 = 0.0; } fVar6 = fVar7 * DAT_1824c41e0 + param_3[3]; if (fVar6 <= 0.0) { fVar6 = 0.0; } FUN_18129b390(&local_78,local_90,*param_3 - DAT_1824c46a8,param_3[1] - fVar7,fVar8,fVar6,1,0x24); cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar3 == '\0') { for (pfVar5 = local_78; pfVar5 != local_78 + local_70._4_4_; pfVar5 = pfVar5 + 1) { fVar7 = *pfVar5; if (fVar7 == DAT_1824c4600) { pfVar5 = pfVar5 + 2; } else if (((fVar7 == DAT_1824c45fc) || (fVar7 == DAT_1824c4604)) || (fVar7 == DAT_1824c4608)) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_78,local_90); break; } } } local_70 = (ulonglong)(uint)local_70; /* WARNING: Subroutine does not return */ free(local_78); } ############ FUN_ 1812fe660 size=257 ############ void FUN_1812fe660(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, longlong param_5) { bool bVar1; longlong lVar2; char cVar3; undefined4 *puVar4; longlong lVar5; longlong lVar6; undefined4 uVar7; if (((*(byte *)(param_5 + 0xa9) & 0x10) == 0) && ((lVar6 = *(longlong *)(param_5 + 0x18), lVar2 = DAT_182673708, lVar5 = param_5, lVar6 == 0 || (cVar3 = FUN_18133eaa0(lVar6), lVar2 = DAT_182673708, cVar3 != '\0')))) { for (; lVar2 != lVar5; lVar2 = *(longlong *)(lVar2 + 0x18)) { if (lVar2 == 0) { bVar1 = false; goto LAB_1812fe6cc; } } bVar1 = true; LAB_1812fe6cc: if (((bVar1) && (*(char *)(lVar5 + 0x1ec) == '\0')) && ((lVar6 == 0 || (cVar3 = FUN_18133eaa0(lVar6), cVar3 != '\0')))) { puVar4 = (undefined4 *)FUN_18134a8d0(lVar5,¶m_5,0x1000206,0); FUN_181296c00(param_2,*puVar4); uVar7 = 2; } else { puVar4 = (undefined4 *)FUN_18134a8d0(lVar5,¶m_5,0x1000205,0); FUN_181296c00(param_2,*puVar4); uVar7 = 1; } FUN_181295c90(param_2,0,0,param_3,param_4,uVar7); } return; } ############ FUN_ 1812fe770 size=703 ############ void FUN_1812fe770(undefined8 param_1,longlong param_2,longlong param_3,int param_4,int param_5) { undefined8 *puVar1; undefined1 auVar2 [12]; undefined1 auVar3 [12]; undefined8 uVar4; longlong lVar5; char cVar6; undefined4 *puVar7; int iVar8; int iVar9; float fVar10; undefined8 extraout_XMM0_Qb; undefined1 auVar11 [16]; undefined1 auVar12 [16]; undefined4 local_res10; longlong local_res18 [2]; ulonglong local_c8; undefined8 uStack_c0; undefined8 local_b8; undefined8 uStack_b0; undefined4 uStack_a4; undefined4 uStack_9c; undefined8 local_98; undefined8 uStack_90; undefined8 local_88; undefined8 uStack_80; undefined1 local_78; void *local_70; undefined8 local_68; local_c8 = 0; uStack_c0 = 0; fVar10 = DAT_1824c3c90; local_res18[0] = param_3; if (((*(byte *)(param_2 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_2 + 0x18) == 0 || (cVar6 = FUN_18133eaa0(), fVar10 = DAT_1824c3c90, cVar6 != '\0')))) { fVar10 = DAT_1824c3cac; } uVar4 = DAT_1824c4140; local_res10 = CONCAT13((char)(int)(fVar10 * DAT_1824c454c),(int3)DAT_18262b5b8); local_88 = 0; uStack_80 = 0; local_78 = 0; local_b8._4_4_ = 0; local_70 = (void *)0x0; local_68 = 0; uStack_90._0_4_ = DAT_182673b60; FUN_18049ba20(&local_70,8); lVar5 = local_res18[0]; iVar9 = local_68._4_4_ + 1; auVar2._4_8_ = extraout_XMM0_Qb; auVar2._0_4_ = uStack_a4; auVar11._0_8_ = auVar2._0_8_ << 0x20; auVar11._8_4_ = local_res10; auVar11._12_4_ = uStack_9c; puVar1 = (undefined8 *)((longlong)local_70 + (longlong)local_68._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = auVar11._8_8_; local_68 = CONCAT44(local_68._4_4_ + 2,(undefined4)local_68); auVar3._4_8_ = auVar11._8_8_; auVar3._0_4_ = local_98._4_4_; auVar12._0_8_ = auVar3._0_8_ << 0x20; auVar12._8_4_ = (undefined4)uStack_90; auVar12._12_4_ = uStack_90._4_4_; uStack_90 = auVar12._8_8_; local_98 = uVar4; puVar1 = (undefined8 *)((longlong)local_70 + (longlong)iVar9 * 0x10); *puVar1 = uVar4; puVar1[1] = uStack_90; iVar9 = *(int *)(param_2 + 0xf8); iVar8 = 0; local_b8._0_4_ = iVar8; if (iVar9 == 0) { local_88 = CONCAT44((float)param_5,(undefined4)local_88); fVar10 = (float)param_5 * DAT_1824c3e4c; local_b8._4_4_ = (int)fVar10; uStack_b0._4_4_ = param_5 - local_b8._4_4_; local_c8 = (ulonglong)(param_5 - 1) << 0x20; } else { if (iVar9 != 1) { uStack_b0._4_4_ = param_5; if (iVar9 == 2) { local_88 = CONCAT44(local_88._4_4_,(float)param_4); fVar10 = (float)param_4 * DAT_1824c3e4c; uStack_80 = CONCAT44(uStack_80._4_4_,fVar10); local_b8._0_4_ = (int)fVar10; uStack_b0._0_4_ = param_4 - (int)local_b8; local_c8 = (ulonglong)(param_4 - 1); uStack_c0 = CONCAT44(param_5,1); local_b8._4_4_ = iVar8; } else if (iVar9 == 3) { uStack_80 = CONCAT44(uStack_80._4_4_,(float)param_4 * DAT_1824c3d04); uStack_b0._0_4_ = (int)((float)param_4 * DAT_1824c3d04); local_c8 = 0; uStack_c0 = CONCAT44(param_5,1); } else { uStack_b0._4_4_ = 0; uStack_b0._0_4_ = 0; local_b8._4_4_ = 0; local_b8._0_4_ = 0; } goto LAB_1812fe96f; } fVar10 = (float)param_5 * DAT_1824c3d04; uStack_b0._4_4_ = (int)fVar10; local_c8 = 0; } uStack_c0 = CONCAT44(1,param_4); uStack_80 = CONCAT44(fVar10,(undefined4)uStack_80); uStack_b0._0_4_ = param_4; LAB_1812fe96f: FUN_181296a90(local_res18[0],&local_88); if (0 < (int)uStack_b0 + 4) { iVar8 = (int)uStack_b0 + 4; } iVar9 = 0; if (0 < uStack_b0._4_4_ + 4) { iVar9 = uStack_b0._4_4_ + 4; } local_b8 = CONCAT44(local_b8._4_4_ + -2,(int)local_b8 + -2); uStack_b0 = CONCAT44(iVar9,iVar8); local_98 = local_b8; uStack_90 = uStack_b0; (**(code **)(**(longlong **)(lVar5 + 8) + 0xa8))(*(longlong **)(lVar5 + 8),&local_98,0); puVar7 = (undefined4 *)FUN_18134a8d0(param_2,local_res18,0x1005812,0); FUN_181296c00(lVar5,*puVar7); local_98 = local_c8; uStack_90 = uStack_c0; (**(code **)(**(longlong **)(lVar5 + 8) + 0xa8))(*(longlong **)(lVar5 + 8),&local_98,0); /* WARNING: Could not recover jumptable at 0x0001812fea28. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_70); return; } ############ FUN_ 1812fea40 size=2399 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812fea40(longlong param_1,longlong param_2,longlong param_3,char param_4,char param_5) { uint uVar1; longlong lVar2; char cVar3; int iVar4; int iVar5; undefined8 uVar6; undefined4 *puVar7; uint *puVar8; undefined8 *puVar9; int iVar10; longlong lVar11; int iVar12; uint uVar13; uint uVar14; uint uVar15; undefined1 uVar16; uint uVar17; int iVar18; int iVar19; float fVar20; float fVar21; float fVar22; undefined4 uVar23; float fVar24; float fVar25; float fVar26; undefined4 local_res10; undefined8 local_res18; char local_res20; ulonglong in_stack_fffffffffffffe98; undefined8 local_158; undefined8 uStack_150; undefined8 local_138; undefined8 uStack_130; undefined8 local_128; undefined8 uStack_120; undefined8 local_118; void *local_110; ulonglong local_108; undefined8 local_100; undefined4 local_f8; undefined8 local_f0; undefined1 local_e8 [24]; void *local_d0; undefined4 local_c4; local_f0 = 0xfffffffffffffffe; local_res20 = param_4; FUN_18131a490(param_2,&local_158); lVar2 = *(longlong *)(param_2 + 0x1c8); iVar4 = *(int *)(lVar2 + 0xf8); uVar17 = *(int *)(lVar2 + 0xf4) - 1; lVar11 = (longlong)(int)uVar17; if (-1 < (int)uVar17) { do { if (**(longlong **)(*(longlong *)(lVar2 + 0xe8) + lVar11 * 8) == param_2) goto LAB_1812feae8; uVar17 = uVar17 - 1; lVar11 = lVar11 + -1; } while (-1 < lVar11); } uVar17 = 0xffffffff; LAB_1812feae8: uVar13 = DAT_182673b60; if ((uVar17 < *(uint *)(lVar2 + 0xf4)) && (lVar2 = *(longlong *)(*(longlong *)(lVar2 + 0xe8) + (longlong)(int)uVar17 * 8), lVar2 != 0)) { uVar13 = *(uint *)(lVar2 + 0x10); } local_res10 = uVar13; cVar3 = FUN_1804d6ee0(param_2); fVar21 = DAT_1824c4548; iVar12 = (int)local_158; iVar10 = local_158._4_4_; iVar18 = (int)uStack_150; iVar19 = uStack_150._4_4_; if (cVar3 != '\0') { FUN_181296c00(param_3,uVar13); (**(code **)(**(longlong **)(param_3 + 8) + 0xa8))(*(longlong **)(param_3 + 8),&local_158,0); puVar7 = (undefined4 *)FUN_18134a8d0(param_2,&local_res18,0x1005812,0); FUN_181296c00(param_3,*puVar7); iVar12 = (int)(uStack_150 >> 0x20); if (iVar4 == 1) { local_res18 = (double)CONCAT44(local_res18._4_4_,local_158._4_4_); iVar10 = local_158._4_4_; } else { iVar5 = 1; if (iVar19 < 1) { iVar5 = iVar19; } uStack_130 = CONCAT44(iVar5,iVar18); local_res18 = (double)CONCAT44(local_res18._4_4_,iVar10 + iVar5); iVar12 = iVar12 - iVar5; (**(code **)(**(longlong **)(param_3 + 8) + 0xa8))(*(longlong **)(param_3 + 8),&local_138,0); iVar10 = (uint)local_res18; } iVar18 = (int)uStack_150; iVar19 = (int)local_158; if (iVar4 != 0) { iVar5 = 1; if (iVar12 < 1) { iVar5 = iVar12; } local_158 = CONCAT44((iVar10 - iVar5) + iVar12,(int)local_158); uStack_150 = CONCAT44(iVar5,(int)uStack_150); iVar12 = iVar12 - iVar5; (**(code **)(**(longlong **)(param_3 + 8) + 0xa8))(*(longlong **)(param_3 + 8),&local_158,0); } if (iVar4 != 3) { local_158 = CONCAT44((uint)local_res18,iVar19); iVar10 = 1; if (iVar18 < 1) { iVar10 = iVar18; } uStack_150 = CONCAT44(iVar12,iVar10); iVar19 = iVar19 + iVar10; iVar18 = iVar18 - iVar10; (**(code **)(**(longlong **)(param_3 + 8) + 0xa8))(*(longlong **)(param_3 + 8),&local_158,0); } if (iVar4 != 2) { iVar10 = 1; if (iVar18 < 1) { iVar10 = iVar18; } local_158 = CONCAT44((uint)local_res18,(iVar19 - iVar10) + iVar18); uStack_150 = CONCAT44(iVar12,iVar10); (**(code **)(**(longlong **)(param_3 + 8) + 0xa8))(*(longlong **)(param_3 + 8),&local_158,0); } fVar24 = DAT_1824c3d54; if ((((*(byte *)(param_2 + 0xa9) & 0x10) == 0) && (((*(longlong *)(param_2 + 0x18) == 0 || (cVar3 = FUN_18133eaa0(), fVar24 = DAT_1824c3d54, cVar3 != '\0')) && (fVar24 = DAT_1824c3ea4, local_res20 == '\0')))) && (param_5 == '\0')) { fVar24 = DAT_1824c3e28; } uVar17 = local_res10 >> 0x10 & 0xff; fVar22 = (float)uVar17 / fVar21; uVar15 = local_res10 >> 8 & 0xff; fVar20 = (float)uVar15 / fVar21; fVar21 = (float)(uVar13 & 0xff) / fVar21; fVar21 = sqrtf(fVar20 * fVar20 * _DAT_1824c3dec + fVar22 * fVar22 * _DAT_1824c3d2c + fVar21 * fVar21 * _DAT_1824c3ca0); puVar8 = &DAT_18262b598; if (DAT_1824c3d8c <= fVar21) { puVar8 = &DAT_18262b59c; } uVar1 = *puVar8; local_res18._0_3_ = (undefined3)uVar1; local_res18._0_4_ = CONCAT13(0xff,(undefined3)local_res18); uVar14 = (uint)local_res18; if (local_res10._3_1_ != 0) { iVar10 = 0xff - ((uint)local_res18 >> 0x18); iVar19 = 0xff - ((int)((0xff - (uint)local_res10._3_1_) * iVar10) >> 8); uVar14 = uVar13; if (0 < iVar19) { iVar10 = (int)(iVar10 * (uint)local_res10._3_1_) / iVar19; local_res18._0_1_ = (char)uVar1; local_res10._0_3_ = CONCAT12((char)((uVar17 - ((uVar1 & 0xff0000) >> 0x10)) * iVar10 >> 8) + (char)(uVar1 >> 0x10), CONCAT11((char)((uVar15 - ((uVar1 & 0xff00) >> 8)) * iVar10 >> 8) + (char)(uVar1 >> 8), (char)(((uVar13 & 0xff) - (uVar1 & 0xff)) * iVar10 >> 8) + (char)local_res18)); local_res10 = CONCAT13((char)iVar19,(undefined3)local_res10); uVar14 = local_res10; } } local_res18 = (double)((float)(uVar14 >> 0x18) * fVar24) + DAT_1824c4520; uVar16 = 0xff; if (SUB84(local_res18,0) < 0xff) { uVar16 = SUB81(local_res18,0); } local_res10._0_3_ = (undefined3)uVar14; local_res10 = CONCAT13(uVar16,(undefined3)local_res10); for (lVar2 = *(longlong *)(param_2 + 0x18); lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x18)) { in_stack_fffffffffffffe98 = in_stack_fffffffffffffe98 & 0xffffffff00000000; lVar11 = __RTDynamicCast(lVar2,0,&juce::Component::RTTI_Type_Descriptor, &juce::TabbedButtonBar::RTTI_Type_Descriptor, in_stack_fffffffffffffe98); if (lVar11 != 0) { cVar3 = FUN_1804d6ee0(param_2); uVar23 = 0x1005813; if (cVar3 != '\0') { uVar23 = 0x1005815; } cVar3 = FUN_181341a70(lVar11,uVar23); if (cVar3 == '\0') { cVar3 = FUN_181315bd0(param_1 + -0x78,uVar23); if (cVar3 != '\0') { FUN_181346420(param_1 + -0x78,&local_res10,uVar23); } } else { FUN_18134a8d0(lVar11,&local_res10,uVar23,0); } break; } } local_138 = 0; uStack_130 = 0; local_158 = 0; uStack_150 = 0; FUN_18131a590(param_2,&local_138,&local_158); fVar25 = (float)uStack_150._4_4_; fVar26 = (float)(int)uStack_150; fVar22 = (float)local_158._4_4_; fVar20 = (float)(int)local_158; fVar21 = fVar26; fVar24 = fVar25; if (*(int *)(*(longlong *)(param_2 + 0x1c8) + 0xf8) - 2U < 2) { fVar21 = fVar25; fVar24 = fVar26; } local_110 = (void *)0x0; local_108 = 0; local_100 = 0; local_f8 = 9; FUN_1812ff3e0(param_2); local_128 = _DAT_1824c4780; uStack_120 = _UNK_1824c4788; local_118 = 0x3f800000; if (-1 < iVar4) { if (iVar4 < 2) { fVar22 = fVar22 + 0.0; local_158 = 0x3f800000; uStack_150 = (ulonglong)(uint)(fVar20 + 0.0); local_128 = 0x3f800000; uStack_120 = (ulonglong)(uint)(fVar20 + 0.0); fVar20 = DAT_1824c3ea4; } else { if (iVar4 == 2) { fVar22 = fVar22 + fVar25; uVar23 = DAT_1824c4690; } else { if (iVar4 != 3) goto LAB_1812ff337; fVar20 = fVar20 + fVar26; uVar23 = DAT_1824c3fa0; } puVar9 = (undefined8 *)FUN_1812a0880(&local_128,&local_158,uVar23); fVar22 = fVar22 + *(float *)((longlong)puVar9 + 0x14); local_128 = *puVar9; local_158 = *puVar9; uStack_150 = CONCAT44(*(undefined4 *)((longlong)puVar9 + 0xc), fVar20 + *(float *)(puVar9 + 1)); uStack_120 = CONCAT44(*(undefined4 *)((longlong)puVar9 + 0xc), fVar20 + *(float *)(puVar9 + 1)); fVar20 = *(float *)(puVar9 + 2); } local_118 = CONCAT44(fVar22,fVar20); } LAB_1812ff337: if (*(char *)(param_3 + 0x10) != '\0') { *(undefined1 *)(param_3 + 0x10) = 0; (**(code **)(**(longlong **)(param_3 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_3 + 8) + 0x18))(*(longlong **)(param_3 + 8),&local_128); local_158 = 0; uStack_150 = CONCAT44(fVar24,fVar21); FUN_18124e500(&local_110,param_3,&local_158); FUN_1804ae9d0(&local_110); local_108 = local_108 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_110); } local_138 = 0; local_res18 = 0.0; if (iVar4 == 0) { local_res18 = (double)CONCAT44(local_158._4_4_ + uStack_150._4_4_,iVar12); } else { if (iVar4 == 1) { local_138 = CONCAT44(local_158._4_4_ + uStack_150._4_4_,iVar12); local_res18 = (double)local_158; goto LAB_1812fec20; } if (iVar4 != 2) { if (iVar4 == 3) { local_res18 = (double)CONCAT44(local_158._4_4_,iVar12 + iVar18); local_138 = local_res18; local_res18 = (double)local_158; } goto LAB_1812fec20; } local_res18 = (double)CONCAT44(local_158._4_4_,iVar12 + iVar18); } local_138 = local_158; LAB_1812fec20: iVar10 = (int)((ulonglong)local_res18 >> 0x20); fVar24 = (float)(int)(uint)local_res18; uVar17 = local_res10 >> 8 & 0xff; uVar15 = local_res10 >> 0x10 & 0xff; local_res18._0_3_ = CONCAT12((char)(int)((float)uVar15 * DAT_1824c3e5c), CONCAT11((char)(int)((float)uVar17 * DAT_1824c3e5c), (char)(int)((float)(uVar13 & 0xff) * DAT_1824c3e5c))); local_res18._0_4_ = CONCAT13(local_res10._3_1_,(undefined3)local_res18); local_res18 = (double)CONCAT44(iVar10,(uint)local_res18); iVar4 = (int)((ulonglong)local_138 >> 0x20); fVar21 = (float)(int)local_138; local_138._0_4_ = CONCAT13(local_res10._3_1_, CONCAT12((char)(int)(DAT_1824c4548 - (float)(int)(0xff - uVar15) * DAT_1824c3e48), CONCAT11((char)(int)(DAT_1824c4548 - (float)(int)(0xff - uVar17) * DAT_1824c3e48), (char)(int)(DAT_1824c4548 - (float)(int)(0xff - (uVar13 & 0xff)) * DAT_1824c3e48))) ); local_138 = CONCAT44(iVar4,(int)local_138); uVar6 = FUN_1812a1c70(local_e8,(int)local_138,CONCAT44((float)iVar4,fVar21),(uint)local_res18, CONCAT44((float)iVar10,fVar24),0); FUN_181296970(param_3,uVar6); local_c4 = 0; /* WARNING: Subroutine does not return */ free(local_d0); } ############ FUN_ 1812ff670 size=460 ############ void FUN_1812ff670(undefined8 param_1,longlong param_2,longlong param_3) { undefined4 uVar1; undefined4 *puVar2; longlong *plVar3; int iVar4; longlong *plVar5; ulonglong uVar6; uint uVar7; int iVar8; ulonglong uVar9; ulonglong uVar10; uint uVar11; ulonglong uVar12; undefined4 local_res10 [2]; undefined1 local_res18 [16]; int local_48; int iStack_44; uint uStack_40; int iStack_3c; undefined8 local_38; uint uStack_30; int iStack_2c; uVar1 = *(undefined4 *)(param_3 + 0x28); iVar8 = *(int *)(param_3 + 0x2c); uVar12 = 0; local_38 = 0; uStack_30 = uVar1; FUN_18134a8d0(param_3,local_res10,0x1003820,0); FUN_181296c00(param_2,local_res10[0]); iStack_3c = 1; if (iVar8 < 1) { iStack_3c = iVar8; } iStack_44 = iVar8 - iStack_3c; iStack_2c = iVar8 - iStack_3c; local_48 = 0; uStack_40 = uVar1; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_48,0); puVar2 = (undefined4 *)FUN_18134a8d0(param_3,local_res18,0x1003810,0); FUN_181296c00(param_2,*puVar2); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_38,0); FUN_181296c00(param_2,local_res10[0]); plVar5 = *(longlong **)(param_3 + 0xc0); uVar6 = (ulonglong)((longlong)(plVar5 + *(int *)(param_3 + 0xcc)) + (7 - (longlong)plVar5)) >> 3; if (plVar5 + *(int *)(param_3 + 0xcc) < plVar5) { uVar6 = uVar12; } uVar9 = uVar12; uVar10 = uVar12; uVar7 = 0; if (uVar6 != 0) { do { if ((*(byte *)(*plVar5 + 0xc) & 1) != 0) { uVar9 = (ulonglong)((int)uVar9 + 1); } uVar7 = (uint)uVar9; plVar5 = plVar5 + 1; uVar10 = uVar10 + 1; } while (uVar10 != uVar6); } iVar8 = uVar7 - 1; if (-1 < iVar8) { local_38 = 0; do { plVar3 = *(longlong **)(param_3 + 0xc0); plVar5 = plVar3 + *(int *)(param_3 + 0xcc); uVar7 = 0; uVar6 = uVar12; uVar9 = uVar12; uVar10 = uVar12; for (; uVar11 = (uint)uVar10, plVar3 != plVar5; plVar3 = plVar3 + 1) { uVar11 = uVar11 + (int)uVar9; uVar10 = (ulonglong)uVar11; uVar9 = uVar12; if ((*(byte *)(*plVar3 + 0xc) & 1) != 0) { uVar7 = *(uint *)(*plVar3 + 0x10); uVar9 = (ulonglong)uVar7; iVar4 = (int)uVar6; uVar6 = (ulonglong)(iVar4 + 1); if (iVar4 == iVar8) break; } uVar7 = (uint)uVar9; } iStack_3c = *(undefined4 *)(param_3 + 0x2c); uStack_40 = 1; if ((int)uVar7 < 1) { uStack_40 = uVar7; } local_48 = (uVar7 - uStack_40) + uVar11; local_38 = CONCAT44(local_38._4_4_,local_48); iStack_44 = local_38._4_4_; uStack_30 = uStack_40; iStack_2c = iStack_3c; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_48,0); iVar8 = iVar8 + -1; } while (-1 < iVar8); } return; } ############ FUN_ 181300460 size=686 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181300460(undefined8 param_1,longlong param_2,undefined8 param_3,int param_4,int param_5, int param_6,int param_7,char param_8,int param_9,uint param_10,char param_11, char param_12) { char cVar1; int iVar2; undefined4 *puVar3; float *pfVar4; undefined1 uVar5; float fVar6; float fVar7; double dVar8; float fVar9; float fVar10; undefined8 local_68; ulonglong uStack_60; undefined8 local_58; float *local_50; undefined8 local_48; undefined8 local_40; undefined8 uStack_38; undefined1 local_30; undefined8 local_28; ulonglong uStack_20; undefined8 local_18; undefined8 local_10; local_10 = 0xfffffffffffffffe; local_50 = (float *)0x0; local_48 = 0; local_40 = 0; uStack_38 = 0; local_30 = 1; if (0 < (int)param_10) { iVar2 = param_7; if (param_8 != '\0') { iVar2 = param_6; } fVar10 = (float)iVar2 * DAT_1824c3d3c; fVar7 = fVar10 * DAT_1824c41e0; if (param_8 == '\0') { fVar6 = (float)param_7 - fVar7; fVar9 = (float)(int)param_10 - fVar7; param_4 = param_9; param_9 = param_5; fVar7 = fVar6; } else { fVar9 = (float)param_6 - fVar7; fVar6 = (float)(int)param_10 - fVar7; fVar7 = fVar9; } FUN_18129d5a0(&local_50,(float)param_4 + fVar10,(float)param_9 + fVar10,fVar9,fVar6, fVar7 * DAT_1824c3d8c,fVar7 * DAT_1824c3d8c,1,1,1,1); } FUN_18134a8d0(param_3,¶m_10,0x1000400,1); if ((param_11 != '\0') || (param_12 != '\0')) { dVar8 = (double)((float)(param_10 >> 0x18) * DAT_1824c41e0) + DAT_1824c4520; uVar5 = 0xff; if (SUB84(dVar8,0) < 0xff) { uVar5 = SUB81(dVar8,0); } param_10 = CONCAT13(uVar5,(undefined3)param_10); } FUN_181296c00(param_2,param_10); cVar1 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar1 == '\0') { for (pfVar4 = local_50; pfVar4 != local_50 + local_48._4_4_; pfVar4 = pfVar4 + 1) { fVar7 = *pfVar4; if (fVar7 == DAT_1824c4600) { pfVar4 = pfVar4 + 2; } else if (((fVar7 == DAT_1824c45fc) || (fVar7 == DAT_1824c4604)) || (fVar7 == DAT_1824c4608)) { local_68 = _DAT_1824c4780; uStack_60 = _UNK_1824c4788; local_58 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_50,&local_68); break; } } } puVar3 = (undefined4 *)FUN_1812a24b0(¶m_10,¶m_11); FUN_181296c00(param_2,*puVar3); local_28 = _DAT_1824c4780; uStack_20 = _UNK_1824c4788; local_18 = 0x3f800000; local_68 = 0x3f800000; uStack_60 = uStack_60 & 0xffffffff00000000; FUN_181295d20(param_2,&local_50,&local_68,&local_28); local_48 = local_48 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 1813013a0 size=318 ############ void FUN_1813013a0(undefined8 param_1,undefined8 param_2,int param_3,int param_4,char param_5, char param_6) { int iVar1; float fVar2; float fVar3; undefined4 uVar4; float fVar5; float fVar6; float fVar7; float fVar8; float local_78; float fStack_74; float fStack_70; float fStack_6c; if ((param_5 != '\0') || (uVar4 = DAT_18262b5ac, param_6 != '\0')) { uVar4 = DAT_18262b5a0; } FUN_181296c00(param_2,uVar4); fVar3 = DAT_1824c3ea4; fVar2 = DAT_1824c3d54; iVar1 = param_3; if (param_4 < param_3) { iVar1 = param_4; } fVar7 = 0.0; fVar5 = (float)param_4 + DAT_1824c3ea4; fVar6 = (float)param_3 + DAT_1824c3ea4; fVar8 = (float)iVar1 * DAT_1824c3cb8; do { local_78 = (float)param_3 * fVar7; fStack_6c = (float)param_4 * fVar7; fStack_74 = fVar5; fStack_70 = fVar6; FUN_181294940(param_2,&local_78,fVar8); fVar7 = fVar7 + fVar2; } while (fVar7 < fVar3); return; } ############ FUN_ 181301620 size=1668 ############ void FUN_181301620(undefined8 param_1,longlong param_2,int param_3,int param_4,int param_5, int param_6,float param_7,undefined8 param_8,undefined8 param_9,int param_10, longlong param_11) { uint uVar1; float fVar2; double dVar3; int iVar4; longlong lVar5; char cVar6; undefined1 uVar7; undefined4 *puVar8; uint *puVar9; float fVar10; float fVar11; undefined8 local_a8; undefined8 local_a0; int local_98; int local_94; int local_90; int local_8c; int local_88; int local_84; lVar5 = param_11; puVar8 = (undefined4 *)FUN_18134a8d0(param_11,&local_a8,0x1001200,0); FUN_1812a3160(param_2,*puVar8); iVar4 = param_10; fVar2 = DAT_1824c3ea4; fVar11 = DAT_1824c3d54; if (param_10 == 2) { puVar8 = (undefined4 *)FUN_18134a8d0(lVar5,¶m_10,0x1001300,0); FUN_181296c00(param_2,*puVar8); local_a0 = (double)CONCAT44(param_4,param_3); local_94 = param_6; local_98 = (int)param_7 - param_3; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_a0,0); puVar9 = (uint *)FUN_18134a8d0(lVar5,&local_a8,0x1001400,0); local_a0 = (double)((float)(*puVar9 >> 0x18) * DAT_1824c3d8c) + DAT_1824c4520; uVar7 = 0xff; if (SUB84(local_a0,0) < 0xff) { uVar7 = SUB81(local_a0,0); } param_10._0_3_ = (undefined3)*puVar9; param_10 = CONCAT13(uVar7,(undefined3)param_10); FUN_181296c00(param_2,param_10); FUN_181295c90(param_2,param_3,param_4,(int)param_7 - param_3,param_6,1); } else { if (((*(byte *)(lVar5 + 0xa9) & 0x10) == 0) && ((*(longlong *)(lVar5 + 0x18) == 0 || (cVar6 = FUN_18133eaa0(), cVar6 != '\0')))) { fVar11 = fVar2; } puVar9 = (uint *)FUN_18134a8d0(lVar5,&local_a8,0x1001310,0); dVar3 = DAT_1824c4520; local_a0 = (double)((float)(*puVar9 >> 0x18) * fVar11) + DAT_1824c4520; uVar7 = 0xff; if (SUB84(local_a0,0) < 0xff) { uVar7 = SUB81(local_a0,0); } param_10._0_3_ = (undefined3)*puVar9; param_10 = CONCAT13(uVar7,(undefined3)param_10); FUN_181296c00(param_2,param_10); uVar1 = *(uint *)(*(longlong *)(lVar5 + 0x200) + 0x20); if ((uVar1 < 0xc) && ((0xa05U >> (uVar1 & 0x1f) & 1) != 0)) { local_88 = param_5; local_a8 = (double)((float)param_6 * DAT_1824c3d18) + dVar3; local_84 = (int)local_a8; local_a0 = (double)((float)param_6 * DAT_1824c3db8) + dVar3; local_8c = (int)local_a0 + param_4; local_90 = param_3; } else { fVar10 = (float)param_5; local_84 = param_6; fVar11 = fVar10 * DAT_1824c3cb8; if (DAT_1824c42d0 <= fVar10 * DAT_1824c3cb8) { fVar11 = DAT_1824c42d0; } local_a8 = (double)(fVar10 * DAT_1824c3d18) + dVar3; local_a0 = (double)(fVar10 * DAT_1824c3d8c - fVar11) + dVar3; local_90 = (int)local_a0 + param_3; local_8c = param_4; local_88 = 4; if (SUB84(local_a8,0) < 4) { local_88 = SUB84(local_a8,0); } } (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_90,0); fVar10 = DAT_1824c3df0; fVar11 = DAT_1824c3d64; if (((*(byte *)(lVar5 + 0xa9) & 0x10) == 0) && (((*(longlong *)(lVar5 + 0x18) == 0 || (cVar6 = FUN_18133eaa0(), cVar6 != '\0')) && (cVar6 = FUN_18133e440(lVar5), fVar11 = fVar10, cVar6 != '\0')))) { fVar11 = fVar2; } puVar8 = (undefined4 *)FUN_18134a8d0(lVar5,¶m_10,0x1001300,0); if (0.0 < fVar11) { if (fVar11 < fVar2) { uVar7 = (undefined1)(int)(fVar11 * DAT_1824c454c); } else { uVar7 = 0xff; } } else { uVar7 = 0; } local_a8._0_4_ = CONCAT13(uVar7,(int3)*puVar8); fVar11 = DAT_1824c454c; if (((*(byte *)(lVar5 + 0xa9) & 0x10) != 0) || ((*(longlong *)(lVar5 + 0x18) != 0 && (cVar6 = FUN_18133eaa0(), cVar6 == '\0')))) { fVar10 = DAT_1824c3d64; } param_10._0_3_ = (undefined3)DAT_18262b5b8; param_10 = CONCAT13((char)(int)(fVar10 * fVar11),(undefined3)param_10); if ((iVar4 - 10U & 0xfffffffd) == 0) { FUN_181301cb0(param_2); FUN_181301cb0(param_2); } else if ((iVar4 - 9U & 0xfffffffd) == 0) { FUN_181301cb0(param_2); FUN_181301cb0(param_2); } if (((iVar4 == 0) || (iVar4 == 0xb)) || ((iVar4 == 1 || (iVar4 == 0xc)))) { FUN_181301cb0(param_2); } } return; } ############ FUN_ 181301cb0 size=479 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181301cb0(longlong param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8, undefined4 param_9) { float fVar1; char cVar2; float *pfVar3; float *local_78; undefined8 local_70; undefined4 local_68; undefined4 local_64; undefined4 local_60; undefined4 local_5c; undefined1 local_58; undefined4 local_50; undefined8 uStack_4c; undefined4 uStack_44; undefined8 local_40; undefined8 local_38; undefined8 uStack_30; undefined8 local_28; undefined8 local_20; local_20 = 0xfffffffffffffffe; local_78 = (float *)0x0; local_70._0_4_ = 0; local_70._4_4_ = 0; local_58 = 1; local_68 = param_2; local_64 = param_2; local_60 = param_3; local_5c = param_3; FUN_1804b02a0(&local_78,&DAT_1821df344,param_2,param_3); FUN_18129ddd0(&local_78,param_4,param_5); FUN_18129ddd0(&local_78,param_6,param_7); if ((local_70._4_4_ != 0) && ((local_70._4_4_ < 1 || (local_78[local_70._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_70 < local_70._4_4_ + 1) { FUN_1804af790(&local_78,local_70._4_4_ + 9 + (local_70._4_4_ + 1) / 2 & 0xfffffff8); } local_70._4_4_ = 1; *local_78 = 100005.0; } FUN_181296c00(param_1,param_8); cVar2 = (**(code **)(**(longlong **)(param_1 + 8) + 0x60))(); if (cVar2 == '\0') { for (pfVar3 = local_78; pfVar3 != local_78 + local_70._4_4_; pfVar3 = pfVar3 + 1) { fVar1 = *pfVar3; if (fVar1 == DAT_1824c4600) { pfVar3 = pfVar3 + 2; } else if (((fVar1 == DAT_1824c45fc) || (fVar1 == DAT_1824c4604)) || (fVar1 == DAT_1824c4608)) { local_50 = _DAT_1824c4780; uStack_4c = CONCAT44(_UNK_1824c4788,_UNK_1824c4784); uStack_44 = _UNK_1824c478c; local_40 = 0x3f800000; (**(code **)(**(longlong **)(param_1 + 8) + 0xb8)) (*(longlong **)(param_1 + 8),&local_78,&local_50); break; } } } FUN_181296c00(param_1,param_9); local_38 = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_30 = CONCAT44(_UNK_1824c478c,_UNK_1824c4788); local_28 = 0x3f800000; local_50 = DAT_1824c3d54; uStack_4c = 0; FUN_181295d20(param_1,&local_78,&local_50,&local_38); local_70 = (ulonglong)(uint)local_70; /* WARNING: Subroutine does not return */ free(local_78); } ############ FUN_ 181301f20 size=1218 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181301f20(undefined8 param_1,longlong param_2,undefined4 param_3,undefined4 param_4, char param_5,int param_6,int param_7,int param_8,int param_9,longlong param_10) { undefined4 uVar1; int iVar2; int iVar3; longlong lVar4; char cVar5; undefined4 *puVar6; longlong lVar7; float *pfVar8; undefined4 uVar9; float fVar10; float fVar11; float fVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; undefined1 local_res10 [8]; undefined8 local_d0; undefined8 uStack_c8; ulonglong local_c0; float *local_b8; undefined8 local_b0; float local_a8; float local_a4; float local_a0; float local_9c; undefined1 local_98; lVar4 = param_10; puVar6 = (undefined4 *)FUN_18134a8d0(param_10,local_res10,0x1000b00,0); FUN_1812a3160(param_2,*puVar6); uVar9 = 0x1000d00; uVar1 = 0x1000b00; if (param_5 != '\0') { uVar1 = uVar9; } puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,¶m_10,uVar1,0); FUN_181296c00(param_2,*puVar6); iVar3 = param_7; iVar2 = param_6; local_d0 = CONCAT44(param_7,param_6); uStack_c8 = CONCAT44(param_9,param_8); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_d0,0); puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,¶m_6,0x1000c00,0); FUN_181296c00(param_2,*puVar6); FUN_181295c90(param_2,0,0,param_3,param_4,1); if (((*(byte *)(lVar4 + 0xa9) & 0x10) != 0) || ((*(longlong *)(lVar4 + 0x18) != 0 && (cVar5 = FUN_18133eaa0(), cVar5 == '\0')))) { return; } local_b8 = (float *)0x0; local_b0._0_4_ = 0; local_b0._4_4_ = 0; local_98 = 1; fVar14 = (float)param_8; fVar10 = (float)iVar2; fVar16 = fVar14 * DAT_1824c3d18 + fVar10; fVar13 = (float)param_9; fVar15 = (float)iVar3; fVar11 = fVar13 * DAT_1824c3d80 + fVar15; fVar17 = fVar14 * DAT_1824c3e28 + fVar10; fVar10 = fVar14 * DAT_1824c3d8c + fVar10; local_a0 = fVar13 * _DAT_1824c3d00 + fVar15; local_a8 = fVar10; local_a4 = fVar10; local_9c = local_a0; FUN_1804b02a0(&local_b8,&DAT_1821df344,fVar10); FUN_18129ddd0(&local_b8,fVar17,fVar11); FUN_18129ddd0(&local_b8,fVar16,fVar11); if ((local_b0._4_4_ != 0) && ((local_b0._4_4_ < 1 || (local_b8[local_b0._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_b0 < local_b0._4_4_ + 1) { FUN_1804af790(&local_b8,local_b0._4_4_ + 9 + (local_b0._4_4_ + 1) / 2 & 0xfffffff8); } local_b0._4_4_ = 1; *local_b8 = 100005.0; } fVar12 = fVar13 * DAT_1824c3da8 + fVar15; fVar15 = fVar13 * DAT_1824c3e4c + fVar15; fVar11 = fVar10; fVar13 = fVar10; fVar14 = fVar15; if (local_b0._4_4_ != 0) { if ((local_a8 <= fVar10) && (fVar11 = local_a8, local_a4 < fVar10)) { local_a4 = fVar10; } local_a8 = fVar11; if ((fVar15 < local_a0) || (fVar11 = local_a8, fVar13 = local_a4, fVar14 = local_a0, fVar15 <= local_9c)) goto LAB_181302206; } local_a0 = fVar14; local_a4 = fVar13; local_a8 = fVar11; fVar14 = local_a0; local_9c = fVar15; LAB_181302206: local_a0 = fVar14; FUN_1804b02a0(&local_b8,&DAT_1821df344,fVar10,fVar15); FUN_18129ddd0(&local_b8,fVar17,fVar12); FUN_18129ddd0(&local_b8,fVar16,fVar12); if ((local_b0._4_4_ != 0) && ((local_b0._4_4_ < 1 || (local_b8[local_b0._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_b0 < local_b0._4_4_ + 1) { FUN_1804af790(&local_b8,local_b0._4_4_ + 9 + (local_b0._4_4_ + 1) / 2 & 0xfffffff8); } lVar7 = (longlong)local_b0._4_4_; local_b0._4_4_ = local_b0._4_4_ + 1; local_b8[lVar7] = 100005.0; } if (param_5 != '\0') { uVar9 = 0x1000b00; } puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,¶m_5,uVar9,0); FUN_181296c00(param_2,*puVar6); cVar5 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar5 == '\0') { for (pfVar8 = local_b8; pfVar8 != local_b8 + local_b0._4_4_; pfVar8 = pfVar8 + 1) { fVar10 = *pfVar8; if (fVar10 == DAT_1824c4600) { pfVar8 = pfVar8 + 2; } else if (((fVar10 == DAT_1824c45fc) || (fVar10 == DAT_1824c4604)) || (fVar10 == DAT_1824c4608) ) { local_d0 = _DAT_1824c4780; uStack_c8 = _UNK_1824c4788; local_c0 = (ulonglong)DAT_1824c3ea4; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_b8,&local_d0); break; } } } local_b0 = (ulonglong)(uint)local_b0; /* WARNING: Subroutine does not return */ free(local_b8); } ############ FUN_ 1813023f0 size=133 ############ void FUN_1813023f0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, longlong param_5) { undefined4 *puVar1; char cVar2; longlong lVar3; if ((*(byte *)(param_5 + 0xa9) & 0x10) == 0) { lVar3 = param_5; if ((*(longlong *)(param_5 + 0x18) != 0) && (cVar2 = FUN_18133eaa0(), cVar2 == '\0')) { return; } puVar1 = (undefined4 *)FUN_18134a8d0(lVar3,¶m_5,0x1000205,0); FUN_181296c00(param_2,*puVar1); FUN_181295c90(param_2,0,0,param_3,param_4,1); } return; } ############ FUN_ 1813024c0 size=125 ############ void FUN_1813024c0(longlong param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4) { undefined4 *puVar1; undefined4 local_res8; puVar1 = (undefined4 *)FUN_181346420(param_1 + -0x40,&local_res8,0x1000700); FUN_1812a3160(param_2,*puVar1); local_res8 = CONCAT13(0x99,(int3)DAT_18262b5b8); FUN_181296c00(param_2,local_res8); FUN_181295c90(param_2,0,0,param_3,param_4,1); return; } ############ FUN_ 181302560 size=1299 ############ void FUN_181302560(undefined8 param_1,longlong param_2,undefined8 param_3,float param_4,int param_5, int param_6,int param_7,char param_8,float param_9,float param_10,char param_11, char param_12) { longlong *plVar1; float fVar2; float fVar3; float fVar4; undefined1 uVar5; undefined4 *puVar6; undefined8 *puVar7; int iVar8; float fVar9; float fVar10; float fVar11; float fVar12; float fVar13; undefined4 local_e8; undefined8 local_e0; float local_d8; float local_d4; undefined8 local_d0; float local_c8; float local_c4; float local_b8; float fStack_b4; float fStack_b0; float fStack_ac; undefined8 local_a8; undefined8 uStack_a0; fVar4 = param_10; puVar6 = (undefined4 *)FUN_18134a8d0(param_3,&local_e0,0x1000300,0); FUN_1812a3160(param_2,*puVar6); fVar11 = DAT_1824c3d74; fVar9 = DAT_1824c3d74; if ((param_11 == '\0') && (param_12 == '\0')) { fVar9 = DAT_1824c3d04; } puVar6 = (undefined4 *)FUN_18134a8d0(param_3,&local_e0,0x1000400,0); fVar3 = DAT_1824c454c; fVar2 = DAT_1824c3ea4; if (0.0 < fVar9) { if (fVar9 < DAT_1824c3ea4) { uVar5 = (undefined1)(int)(fVar9 * DAT_1824c454c); } else { uVar5 = 0xff; } } else { uVar5 = 0; } local_e8 = CONCAT13(uVar5,(int3)*puVar6); FUN_181296c00(param_2,local_e8); if (0.0 < (float)(int)param_10) { if (param_8 == '\0') { local_e8 = param_7 + -2; param_10 = (float)param_6; fStack_b0 = (float)param_6; local_e0 = (double)((float)local_e8 * DAT_1824c3d54) + DAT_1824c4520; local_d0 = (double)((float)local_e8 * DAT_1824c3d64) + DAT_1824c4520; fStack_b4 = (float)((int)local_d0 + param_5); fStack_ac = (float)(undefined4)local_e0; local_b8 = param_4; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_b8,0); fVar9 = (float)(param_5 + 1); local_b8 = param_9; fStack_ac = (float)(param_7 + -4); fStack_b0 = fVar4; } else { fVar9 = (float)(param_6 + -2); fStack_b4 = (float)param_5; local_e0 = (double)(fVar9 * DAT_1824c3d54) + DAT_1824c4520; local_d0 = (double)(fVar9 * DAT_1824c3d64) + DAT_1824c4520; fStack_b0 = (float)(undefined4)local_e0; local_b8 = (float)((int)local_d0 + (int)param_4); local_e8 = param_7; fStack_ac = (float)param_7; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(); local_b8 = (float)((int)param_4 + 1); fStack_ac = param_10; fStack_b0 = (float)(param_6 + -4); fVar9 = param_9; param_10 = (float)(param_6 + -2); } fVar13 = DAT_1824c3e7c; if ((param_11 == '\0') && (param_12 == '\0')) { fVar13 = DAT_1824c3df0; } fStack_b4 = fVar9; puVar6 = (undefined4 *)FUN_18134a8d0(param_3,&local_d0,0x1000400,0); if (0.0 < fVar13) { if (fVar13 < fVar2) { uVar5 = (undefined1)(int)(fVar13 * fVar3); } else { uVar5 = 0xff; } } else { uVar5 = 0; } local_e0._0_4_ = CONCAT13(uVar5,(int3)*puVar6); FUN_181296c00(param_2,(undefined4)local_e0); local_a8 = CONCAT44(fStack_b4,local_b8); uStack_a0 = CONCAT44(fStack_ac,fStack_b0); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_a8,0); if ((param_11 == '\0') && (param_12 == '\0')) { fVar11 = DAT_1824c3d3c; } _param_11 = (undefined3)DAT_18262b5b8; _param_11 = CONCAT13((char)(int)(fVar11 * fVar3),_param_11); FUN_181296c00(param_2,_param_11); FUN_181295c90(param_2,local_b8,fVar9,fStack_b0,fStack_ac,1); fVar3 = DAT_1824c4334; fVar9 = DAT_1824c3e28; fVar11 = DAT_1824c3d18; if (0x10 < (int)fVar4) { iVar8 = 2; do { iVar8 = iVar8 + -1; _param_11 = (undefined3)DAT_18262b5b8; _param_11 = CONCAT13(0x26,_param_11); fVar13 = (float)iVar8 * fVar3 + (float)((int)fVar4 / 2 + (int)param_9); FUN_181296c00(param_2,_param_11); plVar1 = *(longlong **)(param_2 + 8); if (param_8 == '\0') { fVar10 = (float)local_e8 * fVar11; fVar12 = (float)local_e8 * fVar9; local_e0 = (double)CONCAT44(fVar10,fVar13); local_d8 = fVar13; local_d4 = fVar12; (**(code **)(*plVar1 + 200))(plVar1,&local_e0); _param_11 = (undefined3)DAT_18262b5a8; _param_11 = CONCAT13(0x26,_param_11); FUN_181296c00(param_2,_param_11); puVar7 = &local_a8; local_a8 = CONCAT44(fVar10,fVar13 - fVar2); uStack_a0 = CONCAT44(fVar12,fVar13 - fVar2); } else { fVar10 = (float)(int)param_10 * fVar11; fVar12 = (float)(int)param_10 * fVar9; local_b8 = (float)(int)param_4 + fVar10; fStack_b4 = fVar13; fStack_b0 = fVar12; fStack_ac = fVar13; (**(code **)(*plVar1 + 200))(plVar1,&local_b8); _param_11 = (undefined3)DAT_18262b5a8; _param_11 = CONCAT13(0x26,_param_11); FUN_181296c00(param_2,_param_11); local_c4 = fVar13 - fVar2; puVar7 = &local_d0; local_d0 = (double)CONCAT44(local_c4,fVar10); local_c8 = fVar12; } (**(code **)(**(longlong **)(param_2 + 8) + 200))(*(longlong **)(param_2 + 8),puVar7); } while (-1 < iVar8); } } return; } ############ FUN_ 181302a80 size=929 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181302a80(undefined8 param_1,longlong param_2,undefined8 param_3,int param_4,int param_5, int param_6,char param_7,char param_8,char param_9) { char cVar1; longlong lVar2; undefined4 *puVar3; float *pfVar4; float fVar5; float fVar6; float fVar7; float *local_98; undefined8 local_90; undefined8 local_88; undefined8 uStack_80; undefined1 local_78; undefined8 local_70; undefined4 uStack_68; undefined4 uStack_64; undefined8 local_60; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined8 local_48; undefined8 local_40; local_40 = 0xfffffffffffffffe; if (param_7 == '\0') { param_5 = param_5 + -2; } else { param_4 = param_4 + -2; } local_98 = (float *)0x0; local_90 = 0; local_88 = 0; uStack_80 = 0; local_78 = 1; if (param_6 == 0) { fVar5 = (float)param_4; fVar7 = fVar5 * DAT_1824c3e58; fVar6 = fVar5 * DAT_1824c3cb8; local_88 = CONCAT44(fVar5 * DAT_1824c3d8c,fVar5 * DAT_1824c3d8c); uStack_80 = CONCAT44((float)param_5 * DAT_1824c3d18,(float)param_5 * DAT_1824c3d18); FUN_1804b02a0(&local_98,&DAT_1821df344); } else { if (param_6 == 1) { fVar6 = (float)param_4 * DAT_1824c3d54; fVar7 = (float)param_4 * DAT_1824c3e28; } else { if (param_6 == 2) { fVar5 = (float)param_4; fVar7 = fVar5 * DAT_1824c3e58; fVar6 = fVar5 * DAT_1824c3cb8; local_88 = CONCAT44(fVar5 * DAT_1824c3d8c,fVar5 * DAT_1824c3d8c); uStack_80 = CONCAT44((float)param_5 * DAT_1824c3e28,(float)param_5 * DAT_1824c3e28); FUN_1804b02a0(&local_98,&DAT_1821df344); goto LAB_181302c61; } if (param_6 != 3) goto LAB_181302cdc; fVar6 = (float)param_4 * DAT_1824c3df0; fVar7 = (float)param_4 * DAT_1824c3d18; } local_88 = CONCAT44(fVar7,fVar7); uStack_80 = CONCAT44((float)param_5 * DAT_1824c3d8c,(float)param_5 * DAT_1824c3d8c); FUN_1804b02a0(&local_98,&DAT_1821df344); fVar7 = fVar6; } LAB_181302c61: FUN_18129ddd0(&local_98,fVar6); FUN_18129ddd0(&local_98,fVar7); if ((local_90._4_4_ != 0) && ((local_90._4_4_ < 1 || (local_98[local_90._4_4_ + -1] != DAT_1824c460c)))) { if ((int)local_90 < local_90._4_4_ + 1) { FUN_1804af790(&local_98,local_90._4_4_ + 9 + (local_90._4_4_ + 1) / 2 & 0xfffffff8); } lVar2 = (longlong)local_90._4_4_; local_90 = CONCAT44(local_90._4_4_ + 1,(int)local_90); local_98[lVar2] = 100005.0; } LAB_181302cdc: _param_7 = DAT_18262b5a8; if (param_9 == '\0') { if (param_8 == '\0') { puVar3 = (undefined4 *)FUN_18134a8d0(param_3,¶m_9,0x1000400,0); _param_7 = (undefined3)*puVar3; _param_7 = CONCAT13(0x7f,_param_7); } else { _param_7 = (undefined3)DAT_18262b5a8; _param_7 = CONCAT13(0xb3,_param_7); } } FUN_181296c00(param_2,_param_7); cVar1 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar1 == '\0') { for (pfVar4 = local_98; pfVar4 != local_98 + local_90._4_4_; pfVar4 = pfVar4 + 1) { fVar7 = *pfVar4; if (fVar7 == DAT_1824c4600) { pfVar4 = pfVar4 + 2; } else if (((fVar7 == DAT_1824c45fc) || (fVar7 == DAT_1824c4604)) || (fVar7 == DAT_1824c4608)) { local_70 = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_68 = _UNK_1824c4788; uStack_64 = _UNK_1824c478c; local_60 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_98,&local_70); break; } } } _param_7 = (undefined3)DAT_18262b5b8; _param_7 = CONCAT13(0x7f,_param_7); FUN_181296c00(param_2,_param_7); local_58 = _DAT_1824c4780; uStack_54 = _UNK_1824c4784; uStack_50 = _UNK_1824c4788; uStack_4c = _UNK_1824c478c; local_48 = 0x3f800000; local_70 = 0x3f000000; uStack_68 = 0; FUN_181295d20(param_2,&local_98,&local_70,&local_58); local_90 = local_90 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_98); } ############ FUN_ 181302e50 size=421 ############ void FUN_181302e50(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4, int param_5,double param_6,undefined8 *param_7) { double dVar1; undefined8 *puVar2; undefined4 *puVar3; int iVar4; undefined8 in_stack_ffffffffffffffb0; undefined4 uVar5; undefined8 in_stack_ffffffffffffffb8; undefined4 uVar6; undefined4 local_38 [2]; undefined8 local_30; int local_28; int local_24; dVar1 = param_6; uVar5 = (undefined4)((ulonglong)in_stack_ffffffffffffffb0 >> 0x20); uVar6 = (undefined4)((ulonglong)in_stack_ffffffffffffffb8 >> 0x20); if ((param_6 < 0.0) || (DAT_1824c4140 <= param_6)) { FUN_181312dd0(param_1,param_2,param_3,param_4,param_5,param_6,param_7); } else { FUN_18134a8d0(param_3,local_38,0x1001900,0); FUN_18134a8d0(param_3,¶m_6,0x1001a00,0); FUN_1812a3160(param_2,local_38[0]); FUN_181296c00(param_2,param_6._0_4_); iVar4 = (int)param_4 + -2; local_28 = SUB84((double)iVar4 * dVar1 + DAT_1824c4520,0); if (local_28 < 0) { local_28 = 0; } else if (iVar4 < local_28) { local_28 = iVar4; } local_30 = 0x100000001; local_24 = param_5 + -2; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_30,0); puVar2 = param_7; if (*(char *)*param_7 != '\0') { puVar3 = (undefined4 *)FUN_1812a2060(&local_30,local_38[0],param_6._0_4_); FUN_181296c00(param_2,*puVar3); FUN_1812966f0(param_2,(float)param_5 * DAT_1824c3db8); FUN_1812962a0(param_2,puVar2,0,0,(int)param_4,CONCAT44(uVar5,param_5),CONCAT44(uVar6,0x24),0); } } return; } ############ FUN_ 181312dd0 size=2021 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181312dd0(undefined8 param_1,longlong param_2,undefined8 param_3,int param_4,int param_5, double param_6,undefined8 *param_7) { longlong *plVar1; int iVar2; undefined8 *puVar3; char cVar4; DWORD DVar5; longlong lVar6; undefined4 *puVar7; int iVar8; float *pfVar9; float fVar10; float fVar11; float fVar12; float fVar13; float fVar14; undefined4 *puVar15; float fVar16; undefined4 uVar17; undefined1 uVar18; undefined1 uVar19; undefined1 uVar20; undefined1 uVar21; float *local_168; undefined8 local_160; undefined8 local_158; undefined8 uStack_150; undefined1 local_148; undefined4 local_140; undefined4 local_13c; longlong *local_138; undefined **local_130; undefined8 local_128; int local_120; int iStack_11c; undefined8 *local_118; undefined8 *local_110; undefined1 local_108; undefined4 local_100; undefined8 local_f0; undefined8 uStack_e8; undefined8 local_e0; undefined8 local_d8; undefined4 local_c8; undefined4 uStack_c4; float fStack_c0; float fStack_bc; local_d8 = 0xfffffffffffffffe; FUN_18134a8d0(param_3,&local_13c,0x1001900,0); FUN_18134a8d0(param_3,&local_140,0x1001a00,0); FUN_1812a3160(param_2,local_13c); iVar8 = 0; if ((0.0 <= param_6) && (param_6 < DAT_1824c4140)) { fVar10 = (float)(param_5 + -2); uVar21 = 1; uVar20 = 1; uVar19 = 1; uVar18 = 1; uVar17 = 0; puVar15 = &local_140; fVar16 = DAT_1824c3d8c; FUN_181303d30(param_2); puVar3 = param_7; if (*(char *)*param_7 != '\0') { puVar7 = (undefined4 *)FUN_1812a2060(¶m_6,local_13c,local_140); FUN_181296c00(param_2,*puVar7); FUN_1812966f0(param_2,(float)param_5 * DAT_1824c3db8); local_128 = 0; iStack_11c = param_5; local_100 = 0; fStack_c0 = (float)param_4; fStack_bc = (float)param_5; local_c8 = 0; uStack_c4 = 0; local_120 = param_4; FUN_1812963b0(param_2,puVar3,&local_c8,0x24,(uint)fVar10 & 0xffffff00,puVar15,fVar16,uVar17, uVar18,uVar19,uVar20,uVar21); } return; } FUN_181296c00(param_2,local_140); iVar2 = param_5 * 2; DVar5 = timeGetTime(); fVar16 = DAT_1824c460c; if (DVar5 < DAT_1826737fc) { if (DVar5 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar5; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar5; } local_168 = (float *)0x0; local_160 = 0; local_158 = 0; uStack_150 = 0; local_148 = 1; fVar10 = (float)-(0 % iVar2); if (fVar10 < (float)(iVar2 + param_4)) { fVar12 = (float)param_5; fVar14 = (float)iVar2 * DAT_1824c3d8c; do { fVar13 = fVar10 - fVar14; fVar11 = fVar14 + fVar10; if (iVar8 == 0) { local_158 = CONCAT44(fVar10,fVar10); uStack_150 = 0; } else { if ((float)local_158 <= fVar10) { if (local_158._4_4_ < fVar10) { local_158 = CONCAT44(fVar10,(float)local_158); } } else { local_158 = CONCAT44(local_158._4_4_,fVar10); } if ((float)uStack_150 <= 0.0) { if (uStack_150._4_4_ < 0.0) { uStack_150 = uStack_150 & 0xffffffff; } } else { uStack_150 = (ulonglong)(uint)uStack_150._4_4_ << 0x20; } } FUN_1804b02a0(&local_168,&DAT_1821df344); if (local_160._4_4_ == 0) { local_158 = 0; uStack_150 = 0; FUN_1804b02a0(&local_168,&DAT_1821df344); } FUN_1804b02a0(&local_168,&DAT_1821dfcb4); if ((float)local_158 <= fVar11) { if (local_158._4_4_ < fVar11) { local_158 = CONCAT44(fVar11,(float)local_158); } } else { local_158 = CONCAT44(local_158._4_4_,fVar11); } if ((float)uStack_150 <= 0.0) { if (uStack_150._4_4_ < 0.0) { uStack_150 = uStack_150 & 0xffffffff; } } else { uStack_150 = (ulonglong)(uint)uStack_150._4_4_ << 0x20; } if (local_160._4_4_ == 0) { local_158 = 0; uStack_150 = 0; FUN_1804b02a0(&local_168,&DAT_1821df344); } FUN_1804b02a0(&local_168,&DAT_1821dfcb4); if ((float)local_158 <= fVar10) { if (local_158._4_4_ < fVar10) { local_158 = CONCAT44(fVar10,(float)local_158); } } else { local_158 = CONCAT44(local_158._4_4_,fVar10); } if ((float)uStack_150 <= fVar12) { if (uStack_150._4_4_ < fVar12) { uStack_150 = CONCAT44(fVar12,(float)uStack_150); } } else { uStack_150 = CONCAT44(uStack_150._4_4_,fVar12); } if (local_160._4_4_ == 0) { local_158 = 0; uStack_150 = 0; FUN_1804b02a0(&local_168,&DAT_1821df344); } FUN_1804b02a0(&local_168,&DAT_1821dfcb4); if ((float)local_158 <= fVar13) { if (local_158._4_4_ < fVar13) { local_158 = CONCAT44(fVar13,(float)local_158); } } else { local_158 = CONCAT44(local_158._4_4_,fVar13); } if ((float)uStack_150 <= fVar12) { if (uStack_150._4_4_ < fVar12) { uStack_150 = CONCAT44(fVar12,(float)uStack_150); } } else { uStack_150 = CONCAT44(uStack_150._4_4_,fVar12); } iVar8 = local_160._4_4_; if ((local_160._4_4_ != 0) && ((local_160._4_4_ < 1 || (local_168[local_160._4_4_ + -1] != fVar16)))) { iVar8 = local_160._4_4_ + 1; if ((int)local_160 < iVar8) { if (iVar8 < 0) { iVar8 = local_160._4_4_ + 2; } FUN_1804af790(&local_168,local_160._4_4_ + 9 + (iVar8 >> 1) & 0xfffffff8); } lVar6 = (longlong)local_160._4_4_; iVar8 = local_160._4_4_ + 1; local_160 = CONCAT44(iVar8,(int)local_160); local_168[lVar6] = 100005.0; } fVar10 = fVar10 + (float)iVar2; } while (fVar10 < (float)(iVar2 + param_4)); } local_130 = juce::NativeImageType::vftable; (*(code *)PTR_FUN_1824988f0)(&local_130,&local_138,2,param_4,param_5,1); local_130 = juce::ImageType::vftable; if (local_138 == (longlong *)0x0) { local_118 = (undefined8 *)0x0; } else { (**(code **)(*local_138 + 8))(local_138,&local_118); } local_108 = 0; local_110 = local_118; FUN_181303d30(&local_118); if (local_118 != (undefined8 *)0x0) { (**(code **)*local_118)(local_118,1); } FUN_181296850(param_2,&local_138); cVar4 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar4 == '\0') { for (pfVar9 = local_168; pfVar9 != local_168 + local_160._4_4_; pfVar9 = pfVar9 + 1) { fVar16 = *pfVar9; if (fVar16 == DAT_1824c4600) { pfVar9 = pfVar9 + 2; } else if (((fVar16 == DAT_1824c45fc) || (fVar16 == DAT_1824c4604)) || (fVar16 == DAT_1824c4608) ) { local_f0 = _DAT_1824c4780; uStack_e8 = _UNK_1824c4788; local_e0 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_168,&local_f0); break; } } } if (local_138 != (longlong *)0x0) { LOCK(); plVar1 = local_138 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)*local_138)(local_138,1); } } local_160 = local_160 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_168); } ############ FUN_ 181303000 size=579 ############ void FUN_181303000(longlong *param_1,longlong param_2,longlong param_3,undefined1 param_4, undefined1 param_5) { int iVar1; int iVar2; longlong lVar3; bool bVar4; char cVar5; undefined1 uVar6; undefined4 *puVar7; int iVar8; undefined1 uVar9; undefined1 local_res8 [8]; int local_48; undefined4 uStack_44; int iStack_40; int iStack_3c; lVar3 = DAT_182673708; do { if (lVar3 == param_3) { bVar4 = true; LAB_181303059: if (bVar4) { puVar7 = (undefined4 *)FUN_18134a8d0(param_3,local_res8,0x1000206,0); FUN_181296c00(param_2,*puVar7); FUN_181295c90(param_2,0,0,*(undefined4 *)(param_3 + 0x28),*(undefined4 *)(param_3 + 0x2c),1) ; } iVar2 = *(int *)(param_3 + 0x2c); iVar1 = iVar2 + -4; iVar8 = 0x14; if (iVar1 < 0x14) { iVar8 = iVar1; } if (((*(byte *)(param_3 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_3 + 0x18) == 0 || (cVar5 = FUN_18133eaa0(), cVar5 != '\0')))) { uVar9 = 1; } else { uVar9 = 0; } lVar3 = *param_1; uVar6 = FUN_1804d6ee0(param_3); (**(code **)(lVar3 + 0x38)) (param_1,param_2,param_3,DAT_1824c4334,(float)(iVar2 - iVar8) * DAT_1824c3d8c, (float)iVar8,(float)iVar8,uVar6,uVar9,param_4,param_5); puVar7 = (undefined4 *)FUN_18134a8d0(param_3,local_res8,0x1006501,0); FUN_181296c00(param_2,*puVar7); FUN_1812966f0(param_2); if (((*(byte *)(param_3 + 0xa9) & 0x10) != 0) || ((*(longlong *)(param_3 + 0x18) != 0 && (cVar5 = FUN_18133eaa0(), cVar5 == '\0')))) { if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x90))(); } _local_48 = CONCAT44(4,iVar8 + 5); _iStack_40 = CONCAT44(*(int *)(param_3 + 0x2c) + -8, (*(int *)(param_3 + 0x28) - (iVar8 + 5)) + -2); FUN_181296100(param_2,param_3 + 0x158,&local_48,0x21,10,0); return; } if (lVar3 == 0) { bVar4 = false; goto LAB_181303059; } lVar3 = *(longlong *)(lVar3 + 0x18); } while( true ); } ############ FUN_ 181303250 size=1001 ############ void FUN_181303250(undefined8 param_1,longlong param_2,undefined8 param_3,float param_4, float param_5,float param_6,float param_7,char param_8,char param_9, undefined8 param_10,char param_11) { undefined4 uVar1; float fVar2; char cVar3; float *pfVar4; float fVar5; float fVar6; undefined4 local_res20; void *local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; undefined1 local_98; undefined4 local_90; undefined8 local_8c; float local_80 [3]; undefined4 local_74; float local_70; float local_6c; float *local_68; undefined8 local_60; undefined8 local_58; undefined8 uStack_50; undefined1 local_48; undefined8 local_40; fVar2 = DAT_1824c4388; local_40 = 0xfffffffffffffffe; local_68 = (float *)0x0; local_60 = 0; local_58 = 0; uStack_50 = 0; local_48 = 1; FUN_18129d5a0(&local_68,0,DAT_1824c41e0,DAT_1824c4388,DAT_1824c4388,DAT_1824c3ea4,DAT_1824c3ea4,1, 1,1,1); if (param_9 == '\0') { local_res20._0_3_ = (undefined3)DAT_18262b5a0; local_res20 = CONCAT13(0x19,(undefined3)local_res20); } else { fVar5 = DAT_1824c3cb8; if (param_11 != '\0') { fVar5 = DAT_1824c3d54; } local_res20._0_3_ = (undefined3)DAT_18262b5b0; local_res20 = CONCAT13((char)(int)(fVar5 * DAT_1824c454c),(undefined3)local_res20); } FUN_181296c00(param_2,local_res20); local_70 = param_7 / DAT_1824c43e4; local_80[0] = param_6 / DAT_1824c43e4; local_6c = param_5 + 0.0; local_80[2] = param_4 + 0.0; local_80[1] = 0.0; local_74 = 0; cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar3 == '\0') { for (pfVar4 = local_68; pfVar4 != local_68 + local_60._4_4_; pfVar4 = pfVar4 + 1) { fVar5 = *pfVar4; if (fVar5 == DAT_1824c4600) { pfVar4 = pfVar4 + 2; } else if (((fVar5 == DAT_1824c45fc) || (fVar5 == DAT_1824c4604)) || (fVar5 == DAT_1824c4608)) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_68,local_80); break; } } } param_7 = (float)CONCAT13(0x99,(int3)DAT_18262b5b8); FUN_181296c00(param_2,param_7); local_90 = DAT_1824c3e58; local_8c = 0; FUN_181295d20(param_2,&local_68,&local_90,local_80); fVar5 = DAT_1824c42d0; if (param_8 == '\0') { local_60 = local_60 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_68); } local_b8 = (void *)0x0; local_b0 = 0; local_98 = 1; local_a8 = 0x3fc000003fc00000; local_a0 = 0x4040000040400000; FUN_1804b02a0(&local_b8,&DAT_1821df344,DAT_1824c3f78,DAT_1824c42d0); if (local_b0._4_4_ == 0) { local_a8 = 0; local_a0 = 0; FUN_1804b02a0(&local_b8,&DAT_1821df344,0,0); } FUN_1804b02a0(&local_b8,&DAT_1821dfcb4,fVar5,fVar2); fVar6 = local_a8._4_4_; if ((float)local_a8 <= fVar5) { if (local_a8._4_4_ < fVar5) { local_a8 = CONCAT44(fVar5,(float)local_a8); fVar6 = fVar5; } } else { local_a8 = CONCAT44(local_a8._4_4_,fVar5); } if ((float)local_a0 <= fVar2) { if (local_a0._4_4_ < fVar2) { local_a0 = CONCAT44(fVar2,(float)local_a0); } } else { local_a0 = CONCAT44(local_a0._4_4_,fVar2); } if (local_b0._4_4_ == 0) { local_a8 = 0; local_a0 = 0; fVar6 = (float)FUN_1804b02a0(fVar6,&DAT_1821df344,0,0); } FUN_1804b02a0(fVar6,&DAT_1821dfcb4,fVar2,0); if ((float)local_a8 <= fVar2) { if (local_a8._4_4_ < fVar2) { local_a8 = CONCAT44(0x40c00000,(float)local_a8); } } else { local_a8 = CONCAT44(local_a8._4_4_,0x40c00000); } if ((float)local_a0 <= 0.0) { if (local_a0._4_4_ < 0.0) { local_a0 = local_a0 & 0xffffffff; } } else { local_a0 = (ulonglong)(uint)local_a0._4_4_ << 0x20; } uVar1 = DAT_18262b5a4; if (param_9 != '\0') { uVar1 = DAT_18262b5b8; } FUN_181296c00(param_2,uVar1); local_90 = DAT_1824c4258; local_8c = 0; FUN_181295d20(param_2,&local_b8,&local_90,local_80); local_b0 = local_b0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_b8); } ############ FUN_ 181303670 size=1275 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181303670(undefined8 param_1,longlong param_2,longlong param_3,undefined4 *param_4, char param_5,char param_6) { uint uVar1; undefined4 uVar2; double dVar3; double dVar4; undefined8 uVar5; char cVar6; undefined1 uVar7; longlong lVar8; uint *puVar9; float *pfVar10; int iVar11; uint uVar12; int iVar13; uint uVar14; uint uVar15; float fVar16; float fVar17; float fVar18; float fVar19; undefined8 local_res10; undefined8 local_res18; undefined4 local_c8; undefined4 uStack_c4; undefined4 uStack_c0; undefined4 uStack_bc; undefined8 local_b8; float *local_b0; undefined8 local_a8; undefined1 local_a0 [16]; undefined1 local_90; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; undefined8 local_70; uVar2 = DAT_1824c41e0; fVar19 = DAT_1824c3d74; local_70 = 0xfffffffffffffffe; local_res18 = (double)((float)*(int *)(param_3 + 0x2c) * DAT_1824c3d74) + DAT_1824c4520; local_res10 = (double)((float)*(int *)(param_3 + 0x28) * DAT_1824c3d74) + DAT_1824c4520; iVar13 = SUB84(local_res10,0); if (SUB84(local_res18,0) < SUB84(local_res10,0)) { iVar13 = SUB84(local_res18,0); } local_b0 = (float *)0x0; local_a8 = 0; local_a0._0_12_ = ZEXT812(0); local_a0._12_4_ = 0; local_90 = 1; FUN_18129d5a0(&local_b0,param_2,DAT_1824c41e0,(float)*(int *)(param_3 + 0x28) - DAT_1824c4334, (float)*(int *)(param_3 + 0x2c) - DAT_1824c4334,(float)iVar13,(float)iVar13,1,1,1,1) ; FUN_18049fa40(&local_c8,*param_4); FUN_18049fbb0(&local_res10); dVar3 = local_res10; fVar17 = DAT_1824c4548; uVar12 = (uint)local_res10; if (param_5 != '\0') { if (param_6 == '\0') { lVar8 = FUN_18049fa40(&local_c8,(ulonglong)local_res10 & 0xffffffff); dVar4 = local_res10; if (*(float *)(lVar8 + 8) <= DAT_1824c3d8c) { local_res10._0_2_ = CONCAT11((char)(int)(fVar17 - (float)(int)(0xff - (uVar12 >> 8 & 0xff)) * DAT_1824c3e5c ), (char)(int)(fVar17 - (float)(int)(0xff - (uVar12 & 0xff)) * DAT_1824c3e5c)); local_res10._0_3_ = CONCAT12((char)(int)(fVar17 - (float)(int)(0xff - (uVar12 >> 0x10 & 0xff)) * DAT_1824c3e5c),(undefined2)local_res10); local_res10._4_4_ = SUB84(dVar4,4); local_res10._0_4_ = CONCAT13((char)((ulonglong)dVar3 >> 0x18),(uint3)local_res10); uVar12 = (uint)local_res10; goto LAB_181303925; } local_res18._0_2_ = CONCAT11((char)(int)((float)local_res10._1_1_ * DAT_1824c3e5c), (char)(int)((float)(uVar12 & 0xff) * DAT_1824c3e5c)); fVar16 = (float)local_res10._2_1_ * DAT_1824c3e5c; } else { local_res18._0_2_ = CONCAT11((char)(int)(DAT_1824c4548 - (float)(int)(0xff - (uint)local_res10._1_1_) * DAT_1824c3e08), (char)(int)(DAT_1824c4548 - (float)(int)(0xff - (uint)(byte)local_res10) * DAT_1824c3e08)); fVar16 = DAT_1824c4548 - (float)(int)(0xff - (uint)local_res10._2_1_) * DAT_1824c3e08; } uVar5 = local_res18; local_res18._0_3_ = CONCAT12((char)(int)fVar16,(undefined2)local_res18); local_res18._4_4_ = SUB84(uVar5,4); local_res18._0_4_ = CONCAT13(local_res10._3_1_,(undefined3)local_res18); local_res10 = (double)CONCAT44(local_res10._4_4_,(uint)local_res18); uVar12 = (uint)local_res18; } LAB_181303925: FUN_181296c00(param_2,uVar12); cVar6 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar6 == '\0') { for (pfVar10 = local_b0; pfVar10 != local_b0 + local_a8._4_4_; pfVar10 = pfVar10 + 1) { fVar16 = *pfVar10; if (fVar16 == DAT_1824c4600) { pfVar10 = pfVar10 + 2; } else if (((fVar16 == DAT_1824c45fc) || (fVar16 == DAT_1824c4604)) || (fVar16 == DAT_1824c4608) ) { local_c8 = (undefined4)_DAT_1824c4780; uStack_c4 = (undefined4)((ulonglong)_DAT_1824c4780 >> 0x20); uStack_c0 = (undefined4)_UNK_1824c4788; uStack_bc = (undefined4)((ulonglong)_UNK_1824c4788 >> 0x20); local_b8 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_b0,&local_c8); break; } } } if (param_5 != '\0') { fVar19 = DAT_1824c3db8; } uVar15 = (uint)local_res10._2_1_; fVar18 = (float)uVar15 / fVar17; uVar14 = (uint)local_res10._1_1_; fVar16 = (float)uVar14 / fVar17; fVar17 = (float)(uVar12 & 0xff) / fVar17; fVar17 = sqrtf(fVar16 * fVar16 * _DAT_1824c3dec + fVar18 * fVar18 * _DAT_1824c3d2c + fVar17 * fVar17 * _DAT_1824c3ca0); dVar3 = local_res10; puVar9 = &DAT_18262b598; if (DAT_1824c3d8c <= fVar17) { puVar9 = &DAT_18262b59c; } uVar1 = *puVar9; local_res18._0_3_ = (undefined3)uVar1; local_res18._0_4_ = CONCAT13(0xff,(undefined3)local_res18); uVar5 = local_res18; if (local_res10._3_1_ != 0) { iVar11 = 0xff - ((uint)local_res18 >> 0x18); iVar13 = 0xff - ((int)((0xff - (uint)local_res10._3_1_) * iVar11) >> 8); local_res18._0_4_ = uVar12; if (0 < iVar13) { iVar13 = (int)(iVar11 * (uint)local_res10._3_1_) / iVar13; local_res18._0_1_ = (char)uVar1; local_res10._0_2_ = CONCAT11((char)((uVar14 - ((uVar1 & 0xff00) >> 8)) * iVar13 >> 8) + (char)(uVar1 >> 8), (char)(((uVar12 & 0xff) - (uVar1 & 0xff)) * iVar13 >> 8) + (char)local_res18); local_res10._0_3_ = CONCAT12((char)((uVar15 - ((uVar1 & 0xff0000) >> 0x10)) * iVar13 >> 8) + (char)(uVar1 >> 0x10),(undefined2)local_res10); local_res10._4_4_ = SUB84(dVar3,4); local_res10._0_4_ = (uint)(uint3)local_res10; local_res18._0_4_ = (uint)local_res10; } } if (0.0 < fVar19) { if (fVar19 < DAT_1824c3ea4) { uVar7 = (undefined1)(int)(fVar19 * DAT_1824c454c); } else { uVar7 = 0xff; } } else { uVar7 = 0; } local_res10._0_3_ = (uint3)(uint)local_res18; local_res10._0_4_ = CONCAT13(uVar7,(uint3)local_res10); local_res18 = (double)uVar5; FUN_181296c00(param_2,(uint)local_res10); local_88 = _DAT_1824c4780; uStack_80 = _UNK_1824c4788; local_78 = 0x3f800000; local_c8 = uVar2; if (param_5 == '\0') { local_c8 = DAT_1824c3f48; } uStack_c4 = 0; uStack_c0 = 0; FUN_181295d20(param_2,&local_b0,&local_c8,&local_88); local_a8 = local_a8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_b0); } ############ FUN_ 181305bb0 size=778 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181305bb0(undefined8 param_1,longlong param_2,undefined8 param_3,float param_4, float param_5,float param_6,float param_7,undefined4 *param_8,float param_9, undefined4 param_10) { undefined8 *puVar1; undefined4 uVar2; undefined4 uVar3; char cVar4; undefined4 *puVar5; float *pfVar6; int iVar7; float fVar8; float fVar9; undefined4 local_b8; undefined4 uStack_b4; undefined4 uStack_b0; undefined4 uStack_ac; undefined8 local_a8; float local_a0 [4]; undefined4 local_90; float local_8c; undefined4 local_88; float local_84; undefined1 local_80; void *local_78; undefined8 local_70; float *local_68; undefined8 local_60; undefined8 local_58; undefined8 uStack_50; undefined1 local_48; undefined8 local_40; local_40 = 0xfffffffffffffffe; if ((param_5 <= param_9 * DAT_1824c3ee0) || (param_6 <= param_9 * DAT_1824c3ee0)) { return; } fVar8 = param_6 * DAT_1824c3d8c; fVar9 = param_5 * DAT_1824c3d8c; if (param_7 <= fVar9) { if (param_7 <= fVar8) { fVar8 = param_7; } } else if (fVar9 <= fVar8) { fVar8 = fVar9; } local_68 = (float *)0x0; local_60 = 0; local_58 = 0; uStack_50 = 0; local_48 = 1; FUN_18129d5a0(&local_68,param_3,param_4,param_5,param_6,fVar8,fVar8,0,0,0,0); uVar3 = DAT_1824c4140._4_4_; uVar2 = (undefined4)DAT_1824c4140; param_10 = 0x70000ff; local_84 = param_4 + param_6; local_90 = 0; local_88 = 0; local_80 = 0; local_78 = (void *)0x0; local_70 = 0; local_8c = param_4; puVar5 = (undefined4 *)FUN_1812a2c30(param_8,¶m_10,0x70000ff); uStack_b0 = *puVar5; local_a0[2] = (float)*param_8; FUN_18049ba20(&local_78,8); iVar7 = local_70._4_4_ + 1; local_a0[0] = 0.0; local_a0[1] = 0.0; puVar1 = (undefined8 *)((longlong)local_78 + (longlong)local_70._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = CONCAT44(local_a0[3],local_a0[2]); local_70 = CONCAT44(local_70._4_4_ + 2,(undefined4)local_70); local_b8 = uVar2; uStack_b4 = uVar3; puVar5 = (undefined4 *)((longlong)local_78 + (longlong)iVar7 * 0x10); *puVar5 = uVar2; puVar5[1] = uVar3; puVar5[2] = uStack_b0; puVar5[3] = uStack_ac; param_10 = 0x33ffffff; puVar5 = (undefined4 *)FUN_1812a2c30(param_8,¶m_10,0x33ffffff); FUN_1812a1940(&local_90,DAT_1824c4050,*puVar5); param_10 = 0x110000ff; puVar5 = (undefined4 *)FUN_1812a2c30(param_8,¶m_10,0x110000ff); FUN_1812a1940(&local_90,DAT_1824c4058,*puVar5); FUN_181296a90(param_2,&local_90); cVar4 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar4 == '\0') { for (pfVar6 = local_68; pfVar6 != local_68 + local_60._4_4_; pfVar6 = pfVar6 + 1) { fVar8 = *pfVar6; if (fVar8 == DAT_1824c4600) { pfVar6 = pfVar6 + 2; } else if (((fVar8 == DAT_1824c45fc) || (fVar8 == DAT_1824c4604)) || (fVar8 == DAT_1824c4608)) { local_b8 = _DAT_1824c4780; uStack_b4 = _UNK_1824c4784; uStack_b0 = _UNK_1824c4788; uStack_ac = _UNK_1824c478c; local_a8 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_68,&local_b8); break; } } } param_10 = 0x80000000; FUN_181296c00(param_2,0x80000000); local_b8 = _DAT_1824c4780; uStack_b4 = _UNK_1824c4784; uStack_b0 = _UNK_1824c4788; uStack_ac = _UNK_1824c478c; local_a8 = 0x3f800000; local_a0[0] = param_9; local_a0[1] = 0.0; local_a0[2] = 0.0; FUN_181295d20(param_2,&local_68,local_a0,&local_b8); /* WARNING: Subroutine does not return */ free(local_78); } ############ FUN_ 1813064e0 size=1020 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813064e0(undefined8 param_1,longlong param_2,int param_3,int param_4,longlong param_5, undefined8 *param_6) { float fVar1; longlong lVar2; char cVar3; undefined8 uVar4; float *pfVar5; float fVar6; float fVar7; undefined8 uVar8; undefined8 in_stack_ffffffffffffff50; undefined4 uVar10; undefined8 uVar9; undefined4 local_98 [2]; undefined8 local_90; undefined8 local_88; int iStack_80; int iStack_7c; float *local_68; undefined8 local_60; undefined8 local_58; undefined8 uStack_50; undefined1 local_48; lVar2 = param_5; uVar10 = (undefined4)((ulonglong)in_stack_ffffffffffffff50 >> 0x20); local_90 = 0xfffffffffffffffe; FUN_18134a8d0(param_5,local_98,0x100ad01,1); if (*(char *)*param_6 != '\0') { if (((*(byte *)(param_5 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_5 + 0x18) == 0 || (cVar3 = FUN_18133eaa0(), cVar3 != '\0')))) { fVar6 = DAT_1824c3d54; if ((*(int *)(param_5 + 0x1a0) != 2) && (fVar6 = DAT_1824c3cac, *(int *)(param_5 + 0x1a0) != 0)) { fVar6 = DAT_1824c3d04; } param_5._0_3_ = (undefined3)local_98[0]; param_5._0_4_ = CONCAT13((char)(int)(fVar6 * DAT_1824c454c),(undefined3)param_5); FUN_1812a3160(param_2,(undefined4)param_5); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x90))(); FUN_181305ed0(param_2); } FUN_181296c00(param_2,local_98[0]); FUN_1812966f0(param_2); iStack_80 = param_3 + -6; local_88 = 3; iStack_7c = param_4; FUN_181296100(param_2,param_6,&local_88,0x24,1,0); if (DAT_182673708 == lVar2) { param_5._0_3_ = (undefined3)local_98[0]; param_5._0_4_ = CONCAT13(0x66,(undefined3)param_5); FUN_181296c00(param_2,(undefined4)param_5); FUN_181295c90(param_2,0,0,param_3,param_4,1); } return; } local_68 = (float *)0x0; local_60 = 0; local_58 = 0; uStack_50 = 0; local_48 = 1; local_88 = CONCAT44(_UNK_1824c4ec4,_DAT_1824c4ec0); iStack_80 = _UNK_1824c4ec8; iStack_7c = _UNK_1824c4ecc; FUN_18129d1e0(&local_68,&local_88); FUN_18129d850(&local_68); FUN_18129d850(&local_68); FUN_18129d850(&local_68); local_48 = 0; fVar6 = DAT_1824c3df0; if ((*(int *)(param_5 + 0x1a0) != 2) && (fVar6 = DAT_1824c3d54, *(int *)(param_5 + 0x1a0) != 0)) { fVar6 = DAT_1824c3d8c; } param_5._0_3_ = (undefined3)local_98[0]; param_5._0_4_ = CONCAT13((char)(int)(fVar6 * DAT_1824c454c),(undefined3)param_5); FUN_181296c00(param_2,(undefined4)param_5); fVar7 = (float)param_4 - DAT_1824c4334; fVar6 = (float)param_3 - DAT_1824c4334; uVar9 = CONCAT44(uVar10,0x24); uVar8 = 1; uVar4 = FUN_18129b390(&local_68,&local_88); cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar3 == '\0') { for (pfVar5 = local_68; pfVar5 != local_68 + local_60._4_4_; pfVar5 = pfVar5 + 1) { fVar1 = *pfVar5; if (fVar1 == DAT_1824c4600) { pfVar5 = pfVar5 + 2; } else if (((fVar1 == DAT_1824c45fc) || (fVar1 == DAT_1824c4604)) || (fVar1 == DAT_1824c4608)) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_68,uVar4,local_68 + local_60._4_4_,fVar6,fVar7 ,uVar8,uVar9); break; } } } local_60 = local_60 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_68); } ############ FUN_ 1813068f0 size=549 ############ void FUN_1813068f0(undefined8 param_1,undefined8 param_2,int param_3,int param_4,float param_5) { double dVar1; float fVar2; int iVar3; float fVar4; float fVar5; float fVar6; undefined4 local_res18; undefined8 local_68; float fStack_60; float fStack_5c; float local_58; undefined4 uStack_54; float fStack_50; float fStack_4c; local_res18._0_3_ = (undefined3)DAT_18262b5a8; local_res18 = CONCAT13(0xb3,(undefined3)local_res18); FUN_181296c00(param_2,local_res18); fVar2 = DAT_1824c42d0; fVar5 = (float)param_3; fVar4 = (float)param_4; local_68 = 0.0; local_58 = 0.0; uStack_54 = 0; fStack_60 = fVar5; fStack_5c = fVar4; fStack_50 = fVar5; fStack_4c = fVar4; FUN_181295300(param_2,&local_58,DAT_1824c42d0); local_res18._0_3_ = (undefined3)DAT_18262b5b8; local_res18 = CONCAT13(0x33,(undefined3)local_res18); FUN_181296c00(param_2,local_res18); fStack_5c = fVar4 - DAT_1824c41e0; fStack_60 = fVar5 - DAT_1824c41e0; local_68 = 0.007812501848093234; local_58 = 1.0; uStack_54 = 0x3f800000; fStack_50 = fStack_60; fStack_4c = fStack_5c; FUN_181295190(param_2,&local_58,fVar2,DAT_1824c3ea4); fStack_4c = fVar4 - DAT_1824c4388; iVar3 = 0; uStack_54 = 0x40400000; fVar5 = (fVar5 - DAT_1824c4388) / DAT_1824c43a8; dVar1 = (double)(param_5 * DAT_1824c43a8) + DAT_1824c4520; fVar6 = fVar5 * DAT_1824c3cb8; fVar4 = fVar5 * DAT_1824c3d74; fStack_50 = fVar5 * DAT_1824c3e28; local_68 = dVar1; do { if (iVar3 < SUB84(dVar1,0)) { param_5 = (float)DAT_18262b5c0; if (iVar3 < 6) { param_5._0_3_ = (undefined3)DAT_18262b5b0; param_5 = (float)CONCAT13(0x7f,param_5._0_3_); } } else { param_5._0_3_ = (undefined3)DAT_18262b5bc; param_5 = (float)CONCAT13(0x99,param_5._0_3_); } FUN_181296c00(param_2,param_5); local_58 = (float)iVar3 * fVar5 + fVar2 + fVar6; local_68 = (double)CONCAT44(uStack_54,local_58); fStack_60 = fStack_50; fStack_5c = fStack_4c; FUN_181295300(param_2,&local_68,fVar4); iVar3 = iVar3 + 1; } while (iVar3 < 7); return; } ############ FUN_ 181307280 size=1067 ############ void FUN_181307280(longlong *param_1,undefined8 param_2,int param_3,int param_4,undefined8 param_5, undefined8 param_6,longlong *param_7,undefined8 param_8,undefined8 param_9, char param_10,char param_11,undefined8 param_12,undefined8 param_13) { longlong lVar1; undefined8 *puVar2; float fVar3; longlong lVar4; undefined4 *puVar5; longlong *plVar6; longlong *plVar7; code *pcVar8; int iVar9; undefined8 uVar10; longlong *plVar11; undefined4 local_res18 [2]; undefined1 local_res20 [8]; longlong *local_98 [2]; ulonglong local_88; int iStack_80; float fStack_7c; undefined1 local_78 [16]; undefined1 local_68 [64]; lVar4 = __RTDynamicCast(param_13,0,&juce::DirectoryContentsDisplayComponent::RTTI_Type_Descriptor, &juce::Component::RTTI_Type_Descriptor,0); if (param_11 != '\0') { if (lVar4 == 0) { puVar5 = (undefined4 *)FUN_181346420(param_1 + -4,local_res20,0x1000540); } else { puVar5 = (undefined4 *)FUN_18134a8d0(lVar4,local_res18,0x1000540,0); } FUN_1812a3160(param_2,*puVar5); } FUN_181296c00(param_2,DAT_18262b5b8); if ((param_7 != (longlong *)0x0) && (*param_7 != 0)) { FUN_181294760(param_2,param_7,2,2,0x1c,param_4 + -4,0x124); goto LAB_1813074ad; } if (param_10 == '\0') { pcVar8 = *(code **)(*param_1 + 0x10); if (pcVar8 == FUN_181306c70) { plVar7 = param_1 + 0x22; if (*plVar7 == 0) { plVar6 = (longlong *) FUN_181306d50(local_98, "\n\n \n\n" ); plVar11 = local_98[0]; if (plVar7 != plVar6) { lVar1 = *plVar6; *plVar6 = 0; puVar2 = (undefined8 *)*plVar7; *plVar7 = lVar1; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); plVar11 = local_98[0]; } } goto LAB_181307425; } goto LAB_181307434; } LAB_18130769e: plVar7 = (longlong *)(*pcVar8)(param_1); } else { pcVar8 = *(code **)(*param_1 + 8); if (pcVar8 != FUN_181306ce0) goto LAB_18130769e; plVar7 = param_1 + 0x21; if (*plVar7 == 0) { plVar6 = (longlong *) FUN_181306d50(¶m_7, "\n\n \n \n \n \n \n \n \n \n \n \n \n\n" ); plVar11 = param_7; if (plVar7 != plVar6) { lVar1 = *plVar6; *plVar6 = 0; puVar2 = (undefined8 *)*plVar7; *plVar7 = lVar1; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); plVar11 = param_7; } } LAB_181307425: if (plVar11 != (longlong *)0x0) { (**(code **)*plVar11)(plVar11,1); } } LAB_181307434: plVar7 = (longlong *)*plVar7; } if (plVar7 != (longlong *)0x0) { local_88 = 0x4000000040000000; local_res18[0] = 0x124; iStack_80 = DAT_1824c4468; fStack_7c = (float)param_4 - DAT_1824c4334; uVar10 = (**(code **)(*plVar7 + 0x168))(plVar7,local_78); FUN_1812971a0(local_res18,local_68,uVar10,&local_88); FUN_181332c20(plVar7,param_2); } LAB_1813074ad: if (param_11 == '\0') { uVar10 = 0x1000541; } else { uVar10 = 0x1000542; } if (lVar4 == 0) { puVar5 = (undefined4 *)FUN_181346420(param_1 + -4,local_res18,uVar10); } else { puVar5 = (undefined4 *)FUN_18134a8d0(lVar4,¶m_11,uVar10,0); } FUN_181296c00(param_2,*puVar5); fVar3 = DAT_1824c3df0; FUN_1812966f0(param_2); if ((param_3 < 0x1c3) || (param_10 != '\0')) { iStack_80 = param_3 + -0x20; uVar10 = 0x21; local_88 = 0x20; } else { plVar11 = (longlong *)((double)((float)param_3 * fVar3) + DAT_1824c4520); local_98[0] = (longlong *)((double)((float)param_3 * DAT_1824c3e28) + DAT_1824c4520); iStack_80 = (int)plVar11 + -0x20; local_88 = 0x20; param_7 = plVar11; fStack_7c = (float)param_4; FUN_181296100(param_2,param_6,&local_88,0x21,1,0); FUN_1812966f0(param_2,(float)param_4 * DAT_1824c3d8c); FUN_181296c00(param_2,DAT_18262b5ac); plVar7 = local_98[0]; iVar9 = (int)local_98[0]; iStack_80 = (iVar9 - (int)plVar11) + -8; local_88 = (ulonglong)plVar11 & 0xffffffff; fStack_7c = (float)param_4; FUN_181296100(param_2,param_8,&local_88,0x22,1,0); uVar10 = 0x22; iStack_80 = (param_3 - iVar9) + -8; local_88 = (ulonglong)plVar7 & 0xffffffff; param_6 = param_9; } fStack_7c = (float)param_4; FUN_181296100(param_2,param_6,&local_88,uVar10,1,0); return; } ############ FUN_ 181307940 size=505 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181307940(undefined8 param_1,longlong param_2,longlong param_3,undefined8 param_4, longlong *param_5) { int *piVar1; int iVar2; longlong *plVar3; char cVar4; undefined4 local_a8; undefined4 local_a0; undefined8 *local_98; undefined8 *local_90; undefined4 local_88; undefined8 local_84; undefined8 *local_78; undefined8 *local_70; undefined1 local_68; undefined8 local_60; undefined8 uStack_58; undefined8 local_50; undefined **local_48; undefined4 local_40; undefined4 local_3c; undefined8 local_38; undefined4 local_30; undefined4 uStack_2c; undefined4 uStack_28; undefined4 uStack_24; undefined8 local_20; undefined8 local_18; local_18 = 0xfffffffffffffffe; if (*param_5 == 0) { local_48 = juce::NativeImageType::vftable; (*(code *)PTR_FUN_1824988f0) (&local_48,&local_98,2,*(undefined4 *)(param_2 + 0x28),*(undefined4 *)(param_2 + 0x2c) ,1); local_90 = (undefined8 *)*param_5; *param_5 = (longlong)local_98; local_98 = local_90; if (local_90 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_90 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_90)(local_90,1); } } plVar3 = (longlong *)*param_5; if (plVar3 == (longlong *)0x0) { local_78 = (undefined8 *)0x0; } else { (**(code **)(*plVar3 + 8))(plVar3,&local_78); } local_68 = 0; local_98 = (undefined8 *)0x200000000; local_a8 = CONCAT13(0xb3,(int3)DAT_18262b5b8); local_40 = local_a8; local_3c = 8; local_38 = 0x200000000; local_70 = local_78; FUN_18124d610(&local_40,&local_78,param_4); if (local_78 != (undefined8 *)0x0) { (**(code **)*local_78)(local_78,1); } } FUN_181296c00(param_3,DAT_18262b5b8); local_30 = _DAT_1824c4780; uStack_2c = _UNK_1824c4784; uStack_28 = _UNK_1824c4788; uStack_24 = _UNK_1824c478c; local_20 = 0x3f800000; if (*param_5 != 0) { cVar4 = (**(code **)(**(longlong **)(param_3 + 8) + 0x60))(); if (cVar4 == '\0') { (**(code **)(**(longlong **)(param_3 + 8) + 0xc0)) (*(longlong **)(param_3 + 8),param_5,&local_30); } } FUN_181296c00(param_3,0xe63a3a3a); FUN_181295ed0(param_3,param_4); local_a0 = CONCAT13(0xcc,(int3)DAT_18262b5a8); FUN_181296c00(param_3,local_a0); local_60 = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_58 = CONCAT44(_UNK_1824c478c,_UNK_1824c4788); local_50 = 0x3f800000; local_88 = DAT_1824c41e0; local_84 = 0; FUN_181295d20(param_3,param_4,&local_88,&local_60); return; } ############ FUN_ 181307bb0 size=349 ############ void FUN_181307bb0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, longlong param_5) { longlong lVar1; char cVar2; uint *puVar3; undefined1 uVar4; double dVar5; float fVar6; undefined4 local_res20; undefined4 local_48; undefined4 uStack_44; int iStack_40; undefined4 uStack_3c; int local_38; undefined4 local_34; undefined4 local_2c; lVar1 = param_5; fVar6 = DAT_1824c3db8; if (((*(byte *)(param_5 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_5 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), fVar6 = DAT_1824c3db8, cVar2 != '\0')))) { fVar6 = DAT_1824c3ea4; } puVar3 = (uint *)FUN_18134a8d0(lVar1,¶m_5,0x1008301,0); dVar5 = (double)((float)(*puVar3 >> 0x18) * fVar6) + DAT_1824c4520; uVar4 = 0xff; if (SUB84(dVar5,0) < 0xff) { uVar4 = SUB81(dVar5,0); } local_res20 = CONCAT13(uVar4,(int3)*puVar3); FUN_181296c00(param_2,local_res20); FUN_1812966f0(param_2); (**(code **)(*param_1 + 0x20))(param_1,&local_38,lVar1); _local_48 = CONCAT44(local_34,3); _iStack_40 = CONCAT44(local_2c,local_38 + -5); FUN_181296100(param_2,lVar1 + 8,&local_48,0x21,2,0); return; } ############ FUN_ 181307d20 size=113 ############ void FUN_181307d20(undefined8 param_1,longlong param_2,undefined4 param_3,int param_4, undefined8 param_5) { undefined4 *puVar1; undefined1 local_res18 [16]; undefined8 local_18; undefined4 local_10; int local_c; puVar1 = (undefined4 *)FUN_18134a8d0(param_5,local_res18,0x1008300,0); FUN_181296c00(param_2,*puVar1); local_18 = 0; local_c = param_4 + -1; local_10 = param_3; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_18,0); return; } ############ FUN_ 181307fb0 size=340 ############ void FUN_181307fb0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,int param_6,undefined8 param_7,longlong param_8) { char cVar1; undefined1 uVar2; undefined4 *puVar3; int iVar4; float fVar5; undefined4 local_res18; undefined1 local_res20 [8]; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; int iStack_3c; fVar5 = DAT_1824c3d3c; if (((*(byte *)(param_8 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_8 + 0x18) == 0 || (cVar1 = FUN_18133eaa0(), fVar5 = DAT_1824c3d3c, cVar1 != '\0')))) { fVar5 = DAT_1824c3ea4; } puVar3 = (undefined4 *)FUN_18134a8d0(param_8,local_res20,0x1003240,1); if (0.0 < fVar5) { if (fVar5 < DAT_1824c3ea4) { uVar2 = (undefined1)(int)(fVar5 * DAT_1824c454c); } else { uVar2 = 0xff; } } else { uVar2 = 0; } local_res18 = CONCAT13(uVar2,(int3)*puVar3); FUN_181296c00(param_2,local_res18); fVar5 = (float)param_6 * DAT_1824c3e4c; if (DAT_1824c4414 <= (float)param_6 * DAT_1824c3e4c) { fVar5 = DAT_1824c4414; } FUN_1812966f0(param_2,fVar5); uStack_40 = param_5; iStack_3c = param_6; iVar4 = 1; if (1 < param_6 / (int)fVar5) { iVar4 = param_6 / (int)fVar5; } local_48 = param_3; uStack_44 = param_4; FUN_181296100(param_2,param_7,&local_48,0x24,iVar4,0); return; } ############ FUN_ 181308350 size=214 ############ void FUN_181308350(undefined8 param_1,undefined8 param_2,longlong param_3) { undefined4 *puVar1; undefined1 local_res18 [16]; undefined1 local_18 [16]; puVar1 = (undefined4 *)FUN_18134a8d0(param_3,local_res18,0x1000440,0); FUN_1812a3160(param_2,*puVar1); puVar1 = (undefined4 *)FUN_18134a8d0(param_3,local_res18,0x1000441,0); FUN_181296c00(param_2,*puVar1); local_18 = ZEXT416((uint)(float)*(int *)(param_3 + 0x28)) << 0x40; FUN_181295950(param_2,local_18); return; } ############ FUN_ 1813094a0 size=696 ############ void FUN_1813094a0(undefined8 param_1,longlong param_2,longlong param_3,int param_4,int param_5) { undefined8 *puVar1; undefined1 auVar2 [12]; undefined1 auVar3 [12]; undefined8 uVar4; char cVar5; int iVar6; int iVar7; float fVar8; undefined8 extraout_XMM0_Qb; undefined1 auVar9 [16]; undefined1 auVar10 [16]; undefined4 local_res10; ulonglong local_b8; undefined8 uStack_b0; undefined8 local_a8; undefined8 uStack_a0; undefined4 uStack_94; undefined4 uStack_8c; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; undefined8 uStack_70; undefined1 local_68; void *local_60; undefined8 local_58; local_b8 = 0; uStack_b0 = 0; fVar8 = DAT_1824c3d04; if (((*(byte *)(param_2 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_2 + 0x18) == 0 || (cVar5 = FUN_18133eaa0(), fVar8 = DAT_1824c3d04, cVar5 != '\0')))) { fVar8 = DAT_1824c3d3c; } uVar4 = DAT_1824c4140; local_res10 = CONCAT13((char)(int)(fVar8 * DAT_1824c454c),(int3)DAT_18262b5b8); local_78 = 0; uStack_70 = 0; local_68 = 0; local_a8._4_4_ = 0; local_60 = (void *)0x0; local_58 = 0; uStack_80._0_4_ = DAT_182673b60; FUN_18049ba20(&local_60,8); iVar7 = local_58._4_4_ + 1; auVar2._4_8_ = extraout_XMM0_Qb; auVar2._0_4_ = uStack_94; auVar9._0_8_ = auVar2._0_8_ << 0x20; auVar9._8_4_ = local_res10; auVar9._12_4_ = uStack_8c; puVar1 = (undefined8 *)((longlong)local_60 + (longlong)local_58._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = auVar9._8_8_; local_58 = CONCAT44(local_58._4_4_ + 2,(undefined4)local_58); auVar3._4_8_ = auVar9._8_8_; auVar3._0_4_ = local_88._4_4_; auVar10._0_8_ = auVar3._0_8_ << 0x20; auVar10._8_4_ = (undefined4)uStack_80; auVar10._12_4_ = uStack_80._4_4_; uStack_80 = auVar10._8_8_; local_88 = uVar4; puVar1 = (undefined8 *)((longlong)local_60 + (longlong)iVar7 * 0x10); *puVar1 = uVar4; puVar1[1] = uStack_80; iVar7 = *(int *)(param_2 + 0xf8); iVar6 = 0; local_a8._0_4_ = iVar6; if (iVar7 == 0) { local_78 = CONCAT44((float)param_5,(undefined4)local_78); fVar8 = (float)param_5 * DAT_1824c3e28; local_a8._4_4_ = (int)fVar8; uStack_a0._4_4_ = param_5 - local_a8._4_4_; local_b8 = (ulonglong)(param_5 - 1) << 0x20; } else { if (iVar7 != 1) { uStack_a0._4_4_ = param_5; if (iVar7 == 2) { local_78 = CONCAT44(local_78._4_4_,(float)param_4); fVar8 = (float)param_4 * DAT_1824c3e28; uStack_70 = CONCAT44(uStack_70._4_4_,fVar8); local_a8._0_4_ = (int)fVar8; uStack_a0._0_4_ = param_4 - (int)local_a8; local_b8 = (ulonglong)(param_4 - 1); uStack_b0 = CONCAT44(param_5,1); local_a8._4_4_ = iVar6; } else if (iVar7 == 3) { uStack_70 = CONCAT44(uStack_70._4_4_,(float)param_4 * DAT_1824c3d18); uStack_a0._0_4_ = (int)((float)param_4 * DAT_1824c3d18); local_b8 = 0; uStack_b0 = CONCAT44(param_5,1); } else { uStack_a0._4_4_ = 0; uStack_a0._0_4_ = 0; local_a8._4_4_ = 0; local_a8._0_4_ = 0; } goto LAB_1813096a1; } fVar8 = (float)param_5 * DAT_1824c3d18; uStack_a0._4_4_ = (int)fVar8; local_b8 = 0; } uStack_b0 = CONCAT44(1,param_4); uStack_70 = CONCAT44(fVar8,(undefined4)uStack_70); uStack_a0._0_4_ = param_4; LAB_1813096a1: FUN_181296a90(param_3,&local_78); if (0 < (int)uStack_a0 + 4) { iVar6 = (int)uStack_a0 + 4; } iVar7 = 0; if (0 < uStack_a0._4_4_ + 4) { iVar7 = uStack_a0._4_4_ + 4; } local_a8 = CONCAT44(local_a8._4_4_ + -2,(int)local_a8 + -2); uStack_a0 = CONCAT44(iVar7,iVar6); local_88 = local_a8; uStack_80 = uStack_a0; (**(code **)(**(longlong **)(param_3 + 8) + 0xa8))(*(longlong **)(param_3 + 8),&local_88,0); FUN_181296c00(param_3,0x80000000); local_88 = local_b8; uStack_80 = uStack_b0; (**(code **)(**(longlong **)(param_3 + 8) + 0xa8))(*(longlong **)(param_3 + 8),&local_88,0); /* WARNING: Could not recover jumptable at 0x000181309751. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(local_60); return; } ############ FUN_ 1813098c0 size=1464 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813098c0(longlong *param_1,longlong param_2,longlong param_3,char param_4,char param_5) { int *piVar1; code *pcVar2; longlong lVar3; float fVar4; char cVar5; int iVar6; undefined8 *puVar7; uint *puVar8; uint uVar9; uint uVar10; undefined1 uVar11; longlong lVar12; undefined1 *puVar13; undefined8 uVar14; bool bVar15; float fVar16; float fVar17; float fVar18; float fVar19; float fVar20; undefined4 local_res10 [2]; uint local_res18; undefined8 *local_1a8; undefined4 local_1a0; float local_19c; undefined8 local_198; undefined8 uStack_190; undefined8 local_188; undefined8 local_180; undefined8 uStack_178; undefined8 local_168; int iStack_160; int iStack_15c; undefined1 local_158 [4]; undefined1 local_154 [4]; undefined1 local_150 [8]; double local_148; longlong local_140 [2]; float fStack_130; undefined4 uStack_12c; undefined8 local_128; undefined4 local_120; undefined4 uStack_11c; float fStack_118; undefined4 uStack_114; undefined8 local_110; undefined4 local_108; undefined4 uStack_104; float fStack_100; undefined4 uStack_fc; undefined8 local_f8; undefined8 local_f0; undefined8 local_e8; undefined8 uStack_e0; undefined8 local_d8; undefined8 uStack_d0; undefined1 local_c8 [24]; undefined1 local_b0 [136]; local_f0 = 0xfffffffffffffffe; local_e8 = 0; uStack_e0 = 0; local_180 = 0; uStack_178 = 0; FUN_18131a590(param_2,&local_e8,&local_180); fVar19 = (float)uStack_178._4_4_; fVar20 = (float)(int)uStack_178; fVar18 = (float)local_180._4_4_; fVar17 = (float)(int)local_180; fVar16 = fVar19; local_19c = fVar20; if (*(int *)(*(longlong *)(param_2 + 0x1c8) + 0xf8) - 2U < 2) { fVar16 = fVar20; local_19c = fVar19; } (**(code **)(*param_1 + 0x30))(param_1,&local_1a8,param_2,fVar16); bVar15 = DAT_182673708 == param_2; FUN_181252760(&local_1a8); *(bool *)(local_1a8 + 7) = bVar15; if (local_1a8[2] != 0) { pcVar2 = *(code **)(*(longlong *)local_1a8[2] + 8); if ((pcVar2 != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) && (cVar5 = (*pcVar2)((longlong *)local_1a8[2],&local_1a8), cVar5 == '\0')) { puVar7 = (undefined8 *)local_1a8[2]; local_1a8[2] = 0; if (puVar7 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar7 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*puVar7)(puVar7,1); } } } } fVar4 = DAT_1824c3ea4; local_198 = _DAT_1824c4780; uStack_190 = _UNK_1824c4788; local_188 = 0x3f800000; iVar6 = *(int *)(*(longlong *)(param_2 + 0x1c8) + 0xf8); if (-1 < iVar6) { if (iVar6 < 2) { fStack_130 = fVar17 + 0.0; local_140[1] = 0x3f800000; uStack_12c = 0; local_198 = 0x3f800000; uStack_190 = (ulonglong)(uint)fStack_130; local_188 = CONCAT44(fVar18 + 0.0,DAT_1824c3ea4); local_128 = local_188; } else if (iVar6 == 2) { puVar7 = (undefined8 *)FUN_1812a0880(&local_198,local_b0,DAT_1824c4690); uStack_fc = *(undefined4 *)((longlong)puVar7 + 0xc); fStack_100 = fVar17 + *(float *)(puVar7 + 1); local_198 = *puVar7; local_108 = *(undefined4 *)puVar7; uStack_104 = *(undefined4 *)((longlong)puVar7 + 4); uStack_190 = CONCAT44(uStack_fc,fStack_100); local_188 = CONCAT44(fVar18 + fVar19 + *(float *)((longlong)puVar7 + 0x14), *(undefined4 *)(puVar7 + 2)); local_f8 = local_188; } else if (iVar6 == 3) { puVar7 = (undefined8 *)FUN_1812a0880(&local_198,local_c8,DAT_1824c3fa0); uStack_114 = *(undefined4 *)((longlong)puVar7 + 0xc); fStack_118 = fVar17 + fVar20 + *(float *)(puVar7 + 1); local_198 = *puVar7; local_120 = *(undefined4 *)puVar7; uStack_11c = *(undefined4 *)((longlong)puVar7 + 4); uStack_190 = CONCAT44(uStack_114,fStack_118); local_188 = CONCAT44(fVar18 + *(float *)((longlong)puVar7 + 0x14),*(undefined4 *)(puVar7 + 2)) ; local_110 = local_188; } } cVar5 = FUN_1804d6ee0(param_2); if ((cVar5 == '\0') || ((cVar5 = FUN_181341a70(param_2,0x1005815), cVar5 == '\0' && (cVar5 = FUN_181315bd0(param_1 + -0xf,0x1005815), cVar5 == '\0')))) { cVar5 = FUN_181341a70(param_2,0x1005813); if ((cVar5 == '\0') && (cVar5 = FUN_181315bd0(param_1 + -0xf,0x1005813), cVar5 == '\0')) { lVar3 = *(longlong *)(param_2 + 0x1c8); uVar9 = *(int *)(lVar3 + 0xf4) - 1; lVar12 = (longlong)(int)uVar9; uVar10 = 0xffffffff; if (-1 < (int)uVar9) { do { uVar10 = uVar9; if (**(longlong **)(*(longlong *)(lVar3 + 0xe8) + lVar12 * 8) == param_2) break; uVar9 = uVar9 - 1; lVar12 = lVar12 + -1; uVar10 = 0xffffffff; } while (-1 < lVar12); } local_res10[0] = DAT_182673b60; if ((uVar10 < *(uint *)(lVar3 + 0xf4)) && (lVar3 = *(longlong *)(*(longlong *)(lVar3 + 0xe8) + (longlong)(int)uVar10 * 8), lVar3 != 0 )) { local_res10[0] = *(undefined4 *)(lVar3 + 0x10); } puVar8 = (uint *)FUN_1812a24b0(local_res10,local_154,fVar4); goto LAB_181309c6d; } uVar14 = 0x1005813; puVar13 = local_150; } else { uVar14 = 0x1005815; puVar13 = local_158; } puVar8 = (uint *)FUN_181346420(param_1 + -0xf,puVar13,uVar14); LAB_181309c6d: uVar10 = *puVar8; fVar17 = DAT_1824c3d54; local_res18 = uVar10; if ((((*(byte *)(param_2 + 0xa9) & 0x10) == 0) && (((*(longlong *)(param_2 + 0x18) == 0 || (cVar5 = FUN_18133eaa0(), fVar17 = DAT_1824c3d54, cVar5 != '\0')) && (fVar17 = fVar4, param_4 == '\0')))) && (param_5 == '\0')) { fVar17 = DAT_1824c3e28; } local_148 = (double)((float)(uVar10 >> 0x18) * fVar17) + DAT_1824c4520; uVar11 = 0xff; if (SUB84(local_148,0) < 0xff) { uVar11 = SUB81(local_148,0); } local_1a0 = CONCAT13(uVar11,(int3)uVar10); FUN_181296c00(param_3,local_1a0); if (*(char *)(param_3 + 0x10) != '\0') { *(undefined1 *)(param_3 + 0x10) = 0; (**(code **)(**(longlong **)(param_3 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_3 + 8) + 0xd0))(*(longlong **)(param_3 + 8),&local_1a8); if (*(char *)(param_3 + 0x10) != '\0') { *(undefined1 *)(param_3 + 0x10) = 0; (**(code **)(**(longlong **)(param_3 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_3 + 8) + 0x18))(*(longlong **)(param_3 + 8),&local_198); uVar14 = FUN_181248e40(param_2 + 0x158,local_140); iStack_15c = (int)fVar16; iStack_160 = (int)local_19c; local_168 = 0; uStack_d0 = CONCAT44(iStack_15c,iStack_160); local_d8 = 0; iVar6 = 1; if (1 < iStack_15c / 0xc) { iVar6 = iStack_15c / 0xc; } FUN_181296100(param_3,uVar14,&local_d8,0x24,iVar6,0); puVar8 = (uint *)(local_140[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (local_1a8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_1a8 + 1); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)*local_1a8)(local_1a8,1); } } return; } ############ FUN_ 181309eb0 size=534 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181309eb0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; float fVar2; char cVar3; char cVar4; uint *puVar5; uint uVar6; undefined1 uVar7; undefined8 uVar8; undefined8 *puVar9; longlong lVar10; float fVar11; undefined4 local_res10; double local_68; undefined8 local_60; undefined4 uStack_58; undefined8 local_50; undefined8 uStack_48; undefined8 local_40; lVar1 = *(longlong *)(param_2 + 0x1c8); uVar6 = *(int *)(lVar1 + 0xf4) - 1; if (-1 < (int)uVar6) { lVar10 = (longlong)(int)uVar6; puVar9 = (undefined8 *)(*(longlong *)(lVar1 + 0xe8) + lVar10 * 8); do { if (*(longlong *)*puVar9 == param_2) goto LAB_181309f19; uVar6 = uVar6 - 1; puVar9 = puVar9 + -1; lVar10 = lVar10 + -1; } while (-1 < lVar10); } uVar6 = 0xffffffff; LAB_181309f19: local_res10 = DAT_182673b60; if ((uVar6 < *(uint *)(lVar1 + 0xf4)) && (lVar1 = *(longlong *)(*(longlong *)(lVar1 + 0xe8) + (longlong)(int)uVar6 * 8), lVar1 != 0)) { local_res10 = *(uint *)(lVar1 + 0x10); } cVar3 = FUN_1804d6ee0(param_2); if (cVar3 == '\0') { local_68 = (double)((float)(local_res10 >> 0x18) * DAT_1824c3e58) + DAT_1824c4520; uVar7 = 0xff; if (SUB84(local_68,0) < 0xff) { uVar7 = SUB81(local_68,0); } local_res10 = CONCAT13(uVar7,(undefined3)local_res10); } FUN_181296c00(param_3,local_res10); FUN_181295ed0(param_3,param_4); fVar2 = DAT_1824c3ea4; fVar11 = DAT_1824c3d8c; if (((*(byte *)(param_2 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_2 + 0x18) == 0 || (cVar4 = FUN_18133eaa0(), fVar11 = DAT_1824c3d8c, cVar4 != '\0')))) { fVar11 = fVar2; } uVar8 = 0x1005812; if (cVar3 != '\0') { uVar8 = 0x1005814; } puVar5 = (uint *)FUN_18134a8d0(param_2,&local_68,uVar8,0); local_60 = (double)((float)(*puVar5 >> 0x18) * fVar11) + DAT_1824c4520; uVar7 = 0xff; if (SUB84(local_60,0) < 0xff) { uVar7 = SUB81(local_60,0); } local_res10._0_3_ = (undefined3)*puVar5; local_res10 = CONCAT13(uVar7,(undefined3)local_res10); FUN_181296c00(param_3,local_res10); local_50 = _DAT_1824c4780; uStack_48 = _UNK_1824c4788; local_40 = 0x3f800000; local_60._0_4_ = fVar2; if (cVar3 == '\0') { local_60._0_4_ = DAT_1824c3d8c; } local_60._4_4_ = 0; uStack_58 = 0; FUN_181295d20(param_3,param_4,&local_60,&local_50); return; } ############ FUN_ 18130bc20 size=518 ############ void FUN_18130bc20(undefined8 param_1,longlong param_2,int param_3,int param_4,int *param_5) { int iVar1; int iVar2; undefined1 auVar3 [16]; int iVar4; int iVar5; int iVar6; int iVar7; undefined1 local_38 [8]; float fStack_30; float fStack_2c; iVar4 = param_5[2]; iVar1 = param_5[1]; iVar2 = *param_5; if (iVar2 + iVar1 + iVar4 + param_5[3] != 0) { iVar7 = 0; iVar6 = (param_4 - iVar2) - iVar4; iVar5 = (param_3 - iVar1) - param_5[3]; local_38._4_4_ = iVar2; local_38._0_4_ = iVar1; fStack_30 = (float)iVar5; fStack_2c = (float)iVar6; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; iVar7 = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68)) (*(longlong **)(param_2 + 8),iVar4,param_3,param_4,0xfffffffffffffffe,param_2,0, param_3); } *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_2 + 8) + 0x38))(*(longlong **)(param_2 + 8),local_38); FUN_181296c00(param_2,0x50000000); auVar3._4_4_ = (float)param_3; auVar3._0_4_ = (float)iVar7; auVar3._8_4_ = (float)param_4; auVar3._12_4_ = 0; _local_38 = auVar3 << 0x20; FUN_181295950(param_2,local_38,DAT_1824c3ea4); FUN_181296c00(param_2,0x19000000); iVar5 = iVar5 + 2; iVar4 = 0; if (0 < iVar5) { iVar4 = iVar5; } iVar6 = iVar6 + 2; iVar5 = 0; if (0 < iVar6) { iVar5 = iVar6; } local_38._4_4_ = (float)(iVar2 + -1); local_38._0_4_ = (float)(iVar1 + -1); fStack_30 = (float)iVar4; fStack_2c = (float)iVar5; FUN_181295950(param_2,local_38,DAT_1824c3ea4); if (*(char *)(param_2 + 0x10) == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); } else { *(undefined1 *)(param_2 + 0x10) = 0; } } return; } ############ FUN_ 18130be30 size=422 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18130be30(undefined8 param_1,undefined8 param_2,int param_3,int param_4) { int iVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; float local_b8; float fStack_b4; float fStack_b0; float fStack_ac; fVar3 = DAT_1824c3ea4; fVar2 = DAT_1824c3d54; fVar7 = 0.0; iVar1 = param_3; if (param_4 < param_3) { iVar1 = param_4; } fVar9 = (float)param_3 + DAT_1824c3ea4; fVar8 = (float)param_4 + DAT_1824c3ea4; fVar6 = (float)iVar1 * _DAT_1824c3ca8; do { FUN_181296c00(param_2,DAT_18262b5a0); fVar4 = (float)param_3 * fVar7; fVar5 = (float)param_4 * fVar7; local_b8 = fVar4; fStack_b4 = fVar8; fStack_b0 = fVar9; fStack_ac = fVar5; FUN_181294940(param_2,&local_b8,fVar6); FUN_181296c00(param_2,DAT_18262b5ac); local_b8 = fVar4 + fVar6; fStack_ac = fVar5 + fVar6; fStack_b4 = fVar8; fStack_b0 = fVar9; FUN_181294940(param_2,&local_b8,fVar6); fVar7 = fVar7 + fVar2; } while (fVar7 < fVar3); return; } ############ FUN_ 18130bfe0 size=489 ############ void FUN_18130bfe0(undefined8 param_1,longlong param_2,longlong *param_3,int param_4,int param_5, int param_6,int param_7,undefined4 *param_8,undefined8 param_9,longlong param_10) { longlong lVar1; undefined4 *puVar2; char cVar3; longlong *plVar4; undefined4 local_58; undefined4 uStack_54; float fStack_50; float fStack_4c; float local_48; float local_44; float local_40; float local_3c; undefined1 local_38 [48]; plVar4 = param_3; if (((*(byte *)(param_10 + 0xa9) & 0x10) == 0) && (*(longlong *)(param_10 + 0x18) != 0)) { FUN_18133eaa0(); } lVar1 = *plVar4; local_48 = (float)param_4; local_44 = (float)param_5; local_40 = (float)param_6; local_3c = (float)param_7; if (lVar1 == 0) { fStack_50 = 0.0; fStack_4c = 0.0; } else { fStack_50 = *(float *)(lVar1 + 0x14); fStack_4c = *(float *)(lVar1 + 0x18); } param_5 = 0x40; local_58 = 0; uStack_54 = 0; fStack_50 = (float)(int)fStack_50; fStack_4c = (float)(int)fStack_4c; FUN_1812971a0(¶m_5,local_38,&local_58,&local_48); puVar2 = param_8; if (*(char *)((longlong)param_8 + 3) != -1) { if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x90))(); if ((*param_3 != 0) && (cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(), cVar3 == '\0')) { (**(code **)(**(longlong **)(param_2 + 8) + 0xc0)) (*(longlong **)(param_2 + 8),param_3,local_38); } } if (((*(char *)((longlong)puVar2 + 3) != '\0') && (FUN_181296c00(param_2,*puVar2), *param_3 != 0)) && (cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(), cVar3 == '\0')) { (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_2 + 8) + 0x48))(*(longlong **)(param_2 + 8),param_3,local_38) ; FUN_181295f50(param_2); (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); } return; } ############ FUN_ 18130c710 size=255 ############ void FUN_18130c710(longlong param_1,undefined8 param_2,undefined8 param_3,int param_4,int param_5) { int iVar1; undefined4 *puVar2; undefined1 local_res20 [8]; undefined8 uVar3; undefined8 local_48; float local_40; float local_3c; void *local_38; undefined4 local_2c; uVar3 = 0xfffffffffffffffe; param_1 = param_1 + -0x70; puVar2 = (undefined4 *)FUN_181346420(param_1,local_res20,0x1001b00); FUN_1812a3160(param_2,*puVar2); puVar2 = (undefined4 *)FUN_181346420(param_1,local_res20,0x1001c10); FUN_181296c00(param_2,*puVar2); iVar1 = param_5; FUN_181295c90(param_2,0,0,param_4,param_5,1,uVar3); local_40 = (float)param_4; local_3c = (float)iVar1; local_48 = 0; puVar2 = (undefined4 *)FUN_181346420(param_1,¶m_5,0x1001c00); uVar3 = FUN_181315540(&local_38,param_3,*puVar2); FUN_18124e500(uVar3,param_2,&local_48); FUN_1804ae9d0(&local_38); local_2c = 0; /* WARNING: Subroutine does not return */ free(local_38); } ############ FUN_ 18130d0f0 size=1526 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18130d0f0(undefined8 param_1,longlong param_2,int param_3,int param_4,int param_5, uint param_6,float param_7,float param_8,float param_9,longlong param_10) { float fVar1; longlong lVar2; char cVar3; int iVar4; uint *puVar5; float *pfVar6; float *pfVar7; bool bVar8; float fVar9; float fVar10; float fVar11; float fVar12; float fVar13; float fVar14; float _X; undefined8 in_stack_fffffffffffffea8; undefined4 uVar15; undefined8 in_stack_fffffffffffffeb0; undefined4 uVar16; undefined8 local_138; undefined8 uStack_130; undefined8 local_128; undefined8 local_118; undefined8 uStack_110; undefined8 local_108; undefined8 uStack_100; undefined1 local_f8; float *local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 uStack_d8; undefined1 local_d0; float local_c8; float local_c4; undefined8 local_c0; lVar2 = param_10; uVar15 = (undefined4)((ulonglong)in_stack_fffffffffffffea8 >> 0x20); uVar16 = (undefined4)((ulonglong)in_stack_fffffffffffffeb0 >> 0x20); local_c0 = 0xfffffffffffffffe; iVar4 = param_5 / 2; if ((int)param_6 / 2 < param_5 / 2) { iVar4 = (int)param_6 / 2; } fVar10 = (float)iVar4 - DAT_1824c41e0; fVar12 = (float)param_5 * DAT_1824c3d8c + (float)param_3; fVar11 = (float)(int)param_6 * DAT_1824c3d8c + (float)param_4; fVar14 = fVar12 - fVar10; fVar13 = fVar10 * DAT_1824c41e0; _X = (param_9 - param_8) * param_7 + param_8; local_c8 = fVar13; local_c4 = fVar14; cVar3 = FUN_18133e440(param_10); if (((cVar3 == '\0') || ((*(byte *)(lVar2 + 0xa9) & 0x10) != 0)) || ((*(longlong *)(lVar2 + 0x18) != 0 && (cVar3 = FUN_18133eaa0(), cVar3 == '\0')))) { bVar8 = false; } else { bVar8 = true; } fVar1 = DAT_1824c3ea4; if (fVar10 <= DAT_1824c4408) { if (((*(byte *)(lVar2 + 0xa9) & 0x10) == 0) && ((*(longlong *)(lVar2 + 0x18) == 0 || (cVar3 = FUN_18133eaa0(), cVar3 != '\0')))) { fVar14 = DAT_1824c3df0; if (bVar8) { fVar14 = fVar1; } puVar5 = (uint *)FUN_18134a8d0(lVar2,¶m_9,0x1001311,0); if (0.0 < fVar14) { param_8._0_3_ = (undefined3)*puVar5; if (fVar14 < fVar1) { param_8 = (float)CONCAT13((char)(int)(fVar14 * DAT_1824c454c),param_8._0_3_); } else { param_8 = (float)CONCAT13(0xff,param_8._0_3_); } } else { param_8 = (float)(*puVar5 & 0xffffff); } } else { param_8 = -1.180104e-38; } FUN_181296c00(param_2,param_8); local_f0 = (float *)0x0; local_e8 = 0; local_e0 = 0; uStack_d8 = 0; local_d0 = 1; local_138 = CONCAT44(fVar13 * _DAT_1824c466c,fVar13 * _DAT_1824c466c); uStack_130 = CONCAT44(fVar13 * DAT_1824c3e28,fVar13 * DAT_1824c3e28); FUN_18129d1e0(&local_f0,&local_138); local_118 = (float *)_DAT_1824c4780; uStack_110 = _UNK_1824c4788; local_108 = 0x3f800000; FUN_181297840(fVar13 * DAT_1824c3cb8,0,0,&local_f0,&local_f0,&local_118,fVar1); local_138 = 0; uStack_130 = (ulonglong)((uint)fVar10 ^ DAT_1824c4f30) << 0x20; FUN_18129c940(&local_f0,&local_138,fVar13 * DAT_1824c3d18); fVar10 = cosf(_X); fVar13 = sinf(_X); local_118 = (float *)CONCAT44((uint)fVar13 ^ DAT_1824c4f30,fVar10); uStack_110 = CONCAT44(fVar13,fVar12 + 0.0); local_108 = CONCAT44(fVar11 + 0.0,fVar10); cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar3 == '\0') { for (pfVar7 = local_f0; pfVar7 != local_f0 + local_e8._4_4_; pfVar7 = pfVar7 + 1) { fVar10 = *pfVar7; if (fVar10 == DAT_1824c4600) { pfVar7 = pfVar7 + 2; } else if (((fVar10 == DAT_1824c45fc) || (fVar10 == DAT_1824c4604)) || (fVar10 == DAT_1824c4608)) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_f0,&local_118); break; } } } local_e8 = local_e8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_f0); } if (((*(byte *)(lVar2 + 0xa9) & 0x10) == 0) && ((*(longlong *)(lVar2 + 0x18) == 0 || (cVar3 = FUN_18133eaa0(), cVar3 != '\0')))) { fVar12 = DAT_1824c3df0; fVar9 = DAT_1824c3df0; if (bVar8) { fVar9 = fVar1; } puVar5 = (uint *)FUN_18134a8d0(lVar2,¶m_7,0x1001311,0); if (0.0 < fVar9) { param_6._0_3_ = (undefined3)*puVar5; if (fVar9 < fVar1) { param_6 = CONCAT13((char)(int)(fVar9 * DAT_1824c454c),(undefined3)param_6); FUN_181296c00(param_2,param_6); } else { param_6 = CONCAT13(0xff,(undefined3)param_6); FUN_181296c00(param_2,param_6); } } else { param_6 = *puVar5 & 0xffffff; FUN_181296c00(param_2,param_6); } } else { FUN_181296c00(param_2,0x80808080); fVar12 = DAT_1824c3df0; } local_118 = (float *)0x0; uStack_110 = 0; local_108 = 0; uStack_100 = 0; local_f8 = 1; FUN_18129cb60(&local_118,fVar14,fVar11 - fVar10,fVar13,CONCAT44(uVar15,fVar13), CONCAT44(uVar16,param_8),_X,fVar12); cVar3 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar3 == '\0') { pfVar7 = local_118 + uStack_110._4_4_; bVar8 = local_118 == pfVar7; pfVar6 = local_118; while (!bVar8) { fVar10 = *pfVar6; if (fVar10 == DAT_1824c4600) { pfVar6 = pfVar6 + 3; bVar8 = pfVar6 == pfVar7; } else { if (((fVar10 == DAT_1824c45fc) || (fVar10 == DAT_1824c4604)) || (fVar10 == DAT_1824c4608)) { local_138 = _DAT_1824c4780; uStack_130 = _UNK_1824c4788; local_128 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_118,&local_138); break; } pfVar6 = pfVar6 + 1; bVar8 = pfVar6 == pfVar7; } } } uStack_110 = uStack_110 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_118); } ############ FUN_ 18130e9c0 size=832 ############ void FUN_18130e9c0(longlong *param_1,longlong param_2,longlong param_3) { uint uVar1; char cVar2; undefined4 *puVar3; uint *puVar4; undefined8 uVar5; int *piVar6; int iVar7; undefined1 uVar8; int iVar9; float fVar10; undefined4 local_res18; undefined4 local_res20; undefined8 *local_d8; undefined8 local_d0; int local_c8; int iStack_c4; int local_b8; int iStack_b4; int iStack_b0; int iStack_ac; undefined1 local_a8 [4]; undefined1 local_a4 [4]; undefined4 local_a0; undefined1 local_9c [4]; undefined1 local_98 [8]; double local_90; longlong local_88; double local_80; undefined8 local_68; undefined8 uStack_60; undefined8 local_58; undefined8 local_48; undefined8 uStack_40; undefined1 local_38 [2] [16]; local_58 = 0xfffffffffffffffe; puVar3 = (undefined4 *)FUN_18134a8d0(param_3,local_a8,0x1000280,0); FUN_1812a3160(param_2,*puVar3); if (*(longlong *)(param_3 + 0x1c8) == 0) { fVar10 = DAT_1824c3d8c; if (((*(byte *)(param_3 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_3 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), fVar10 = DAT_1824c3d8c, cVar2 != '\0')))) { fVar10 = DAT_1824c3ea4; } (**(code **)(*param_1 + 0x10))(param_1,&local_d8,param_3); puVar4 = (uint *)FUN_18134a8d0(param_3,local_a4,0x1000281,0); local_90 = (double)((float)(*puVar4 >> 0x18) * fVar10) + DAT_1824c4520; uVar8 = 0xff; if (SUB84(local_90,0) < 0xff) { uVar8 = SUB81(local_90,0); } local_res18 = CONCAT13(uVar8,(int3)*puVar4); FUN_181296c00(param_2,local_res18); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_d8); if (*(code **)(*param_1 + 0x18) == FUN_18130e9a0) { local_68 = *(undefined8 *)(param_3 + 0x1e8); uStack_60 = *(undefined8 *)(param_3 + 0x1f0); piVar6 = (int *)&local_68; } else { piVar6 = (int *)(**(code **)(*param_1 + 0x18))(param_1,&local_68,param_3); } iStack_b4 = *piVar6; iVar9 = (*(int *)(param_3 + 0x2c) - piVar6[2]) - iStack_b4; local_b8 = piVar6[1]; iStack_b0 = (*(int *)(param_3 + 0x28) - piVar6[3]) - local_b8; local_48 = CONCAT44(iStack_b4,local_b8); uStack_40 = CONCAT44(iVar9,iStack_b0); iStack_ac = iVar9; uVar5 = FUN_1812ea010(param_3,&local_88); local_a0 = *(undefined4 *)(param_3 + 0x1c0); iVar7 = 1; if (1 < (int)((float)iVar9 / *(float *)(local_d8 + 5))) { iVar7 = (int)((float)iVar9 / *(float *)(local_d8 + 5)); } FUN_181296100(param_2,uVar5,&local_48,local_a0,iVar7,*(undefined4 *)(param_3 + 0x1f8)); puVar4 = (uint *)(local_88 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)FUN_18134a8d0(param_3,local_9c,0x1000282,0); local_80 = (double)((float)(*puVar4 >> 0x18) * fVar10) + DAT_1824c4520; uVar8 = 0xff; if (SUB84(local_80,0) < 0xff) { uVar8 = SUB81(local_80,0); } local_res20 = CONCAT13(uVar8,(int3)*puVar4); FUN_181296c00(param_2,local_res20); if (local_d8 != (undefined8 *)0x0) { LOCK(); piVar6 = (int *)(local_d8 + 1); iVar7 = *piVar6; *piVar6 = *piVar6 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_d8)(local_d8,1); } } } else if (((*(byte *)(param_3 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_3 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), cVar2 != '\0')))) { puVar3 = (undefined4 *)FUN_18134a8d0(param_3,local_98,0x1000282,0); FUN_181296c00(param_2,*puVar3); } local_d0 = 0; local_c8 = *(int *)(param_3 + 0x28); iStack_c4 = *(int *)(param_3 + 0x2c); local_38[0]._4_4_ = (float)iStack_c4; local_38[0]._0_4_ = (float)local_c8; local_38[0]._8_8_ = 0; local_38[0] = local_38[0] << 0x40; FUN_181295950(param_2,local_38,DAT_1824c3ea4); return; } ############ FUN_ 18130ed40 size=489 ############ void FUN_18130ed40(longlong param_1,longlong param_2,longlong param_3,longlong param_4) { uint uVar1; code *pcVar2; int iVar3; uint *puVar4; longlong lVar5; int *piVar6; undefined1 uVar7; undefined4 local_res8; undefined1 local_res10 [8]; undefined4 local_res18; undefined8 *local_res20; longlong local_78; double local_70; undefined8 local_68; int local_58; int iStack_54; int iStack_50; int iStack_4c; undefined8 local_48; undefined8 uStack_40; undefined8 local_38; undefined8 uStack_30; local_68 = 0xfffffffffffffffe; puVar4 = (uint *)FUN_181346420(param_1 + -0x48,local_res10,0x1000a00); local_70 = (double)((float)(*puVar4 >> 0x18) * DAT_1824c3d8c) + DAT_1824c4520; uVar7 = 0xff; if (SUB84(local_70,0) < 0xff) { uVar7 = SUB81(local_70,0); } local_res8 = CONCAT13(uVar7,(int3)*puVar4); FUN_181296c00(param_2,local_res8); lVar5 = FUN_18134adf0(param_4); (**(code **)(*(longlong *)(lVar5 + 0x50) + 0x10))((longlong *)(lVar5 + 0x50),&local_res20,param_4) ; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_res20); pcVar2 = *(code **)(*(longlong *)(param_1 + 8) + 0x18); if (pcVar2 == FUN_18130e9a0) { local_48 = *(undefined8 *)(param_4 + 0x1e8); uStack_40 = *(undefined8 *)(param_4 + 0x1f0); piVar6 = (int *)&local_48; } else { piVar6 = (int *)(*pcVar2)((longlong *)(param_1 + 8),&local_48,param_4); } iStack_54 = *piVar6; iStack_4c = (*(int *)(param_4 + 0x2c) - piVar6[2]) - iStack_54; local_58 = piVar6[1]; iStack_50 = (*(int *)(param_4 + 0x28) - piVar6[3]) - local_58; local_38 = CONCAT44(iStack_54,local_58); uStack_30 = CONCAT44(iStack_4c,iStack_50); local_78 = *(longlong *)(param_3 + 0x178); if ((*(uint *)(local_78 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } local_res18 = *(undefined4 *)(param_4 + 0x1c0); iVar3 = 1; if (1 < (int)((float)iStack_4c / *(float *)(local_res20 + 5))) { iVar3 = (int)((float)iStack_4c / *(float *)(local_res20 + 5)); } FUN_181296100(param_2,&local_78,&local_38,local_res18,iVar3,*(undefined4 *)(param_4 + 0x1f8)); puVar4 = (uint *)(local_78 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar6 = (int *)(local_res20 + 1); iVar3 = *piVar6; *piVar6 = *piVar6 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res20)(local_res20,1); } } return; } ############ FUN_ 18130f310 size=1668 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18130f310(undefined8 param_1,longlong param_2,undefined4 param_3,undefined4 param_4, uint param_5,int param_6,int param_7,int param_8,int param_9,double param_10) { uint uVar1; bool bVar2; longlong lVar3; float fVar4; char cVar5; char cVar6; undefined4 *puVar7; uint *puVar8; longlong lVar9; float *pfVar10; byte bVar11; undefined1 uVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; float fVar18; float fVar19; float fVar20; undefined8 in_stack_fffffffffffffee0; undefined4 uVar22; undefined8 uVar21; undefined1 local_e8 [8]; undefined8 local_e0; undefined8 local_d8; undefined8 uStack_d0; undefined8 local_c8; float *local_c0; undefined8 local_b8; float local_b0; float local_ac; float local_a8; float local_a4; undefined1 local_a0; lVar3 = (longlong)param_10; uVar22 = (undefined4)((ulonglong)in_stack_fffffffffffffee0 >> 0x20); local_e0 = 0xfffffffffffffffe; puVar7 = (undefined4 *)FUN_18134a8d0(param_10,local_e8,0x1000b00,0); FUN_1812a3160(param_2,*puVar7); if (((*(byte *)(lVar3 + 0xa9) & 0x10) == 0) && (((*(longlong *)(lVar3 + 0x18) == 0 || (cVar5 = FUN_18133eaa0(), cVar5 != '\0')) && (DAT_182673708 == lVar3)))) { puVar7 = (undefined4 *)FUN_18134a8d0(lVar3,¶m_10,0x1000f00,0); FUN_181296c00(param_2,*puVar7); uVar21 = CONCAT44(uVar22,2); } else { puVar7 = (undefined4 *)FUN_18134a8d0(lVar3,¶m_10,0x1000c00,0); FUN_181296c00(param_2,*puVar7); uVar21 = CONCAT44(uVar22,1); } FUN_181295c90(param_2,0,0,param_3,param_4,uVar21); fVar4 = DAT_1824c3d8c; fVar13 = DAT_1824c3d54; cVar5 = (char)param_5; bVar11 = *(byte *)(lVar3 + 0xa9) >> 4 & 1; fVar19 = fVar13; if (((bVar11 == 0) && ((*(longlong *)(lVar3 + 0x18) == 0 || (cVar6 = FUN_18133eaa0(), cVar6 != '\0')))) && (fVar19 = fVar4, cVar5 != '\0')) { fVar19 = DAT_1824c3ef8; } fVar15 = DAT_1824c3ea4; lVar9 = DAT_182673708; fVar17 = fVar4; if ((bVar11 == 0) && ((*(longlong *)(lVar3 + 0x18) == 0 || (cVar6 = FUN_18133eaa0(), lVar9 = DAT_182673708, cVar6 != '\0')))) { lVar9 = DAT_182673708; fVar17 = fVar15; } for (; (bVar2 = true, lVar9 != lVar3 && (bVar2 = false, lVar9 != 0)); lVar9 = *(longlong *)(lVar9 + 0x18)) { } puVar8 = (uint *)FUN_18134a8d0(lVar3,local_e8,0x1000d00,0); uVar1 = *puVar8; fVar16 = DAT_1824c3e58; if (bVar2) { fVar16 = DAT_1824c3f20; } FUN_18049fa40(&local_d8,uVar1); fVar18 = local_d8._4_4_ * fVar16; if (fVar15 <= local_d8._4_4_ * fVar16) { fVar18 = fVar15; } FUN_18049fbb0(¶m_5,local_d8 & 0xffffffff,fVar18,(undefined4)uStack_d0,uVar1 >> 0x18); if (cVar5 != '\0') { FUN_1812a24b0(¶m_5,¶m_10,DAT_1824c3d18); param_5 = param_10._0_4_; } param_10 = (double)((float)(param_5 >> 0x18) * fVar17) + DAT_1824c4520; uVar12 = 0xff; if (SUB84(param_10,0) < 0xff) { uVar12 = SUB81(param_10,0); } param_5 = CONCAT13(uVar12,(undefined3)param_5); fVar15 = (float)param_9; fVar16 = (float)param_8; fVar17 = (float)param_7; fVar18 = (float)param_6; FUN_181303d30(param_2,fVar18 + fVar19,fVar17 + fVar19,fVar16 - fVar19 * DAT_1824c41e0, fVar15 - fVar19 * DAT_1824c41e0,¶m_5,fVar19,DAT_1824c4680,1,1,1,1); if (((*(byte *)(lVar3 + 0xa9) & 0x10) != 0) || ((*(longlong *)(lVar3 + 0x18) != 0 && (cVar5 = FUN_18133eaa0(), cVar5 == '\0')))) { return; } local_c0 = (float *)0x0; local_b8._0_4_ = 0; local_b8._4_4_ = 0; local_a0 = 1; fVar20 = fVar16 * fVar13 + fVar18; fVar13 = fVar15 * DAT_1824c3d80 + fVar17; fVar19 = fVar16 * DAT_1824c3df0 + fVar18; fVar18 = fVar16 * fVar4 + fVar18; local_a8 = fVar15 * _DAT_1824c3d38 + fVar17; local_b0 = fVar18; local_ac = fVar18; local_a4 = local_a8; FUN_1804b02a0(&local_c0,&DAT_1821df344,fVar18); FUN_18129ddd0(&local_c0,fVar19,fVar13); FUN_18129ddd0(&local_c0,fVar20,fVar13); fVar13 = DAT_1824c460c; if ((local_b8._4_4_ != 0) && ((local_b8._4_4_ < 1 || (local_c0[local_b8._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_b8 < local_b8._4_4_ + 1) { FUN_1804af790(&local_c0,local_b8._4_4_ + 9 + (local_b8._4_4_ + 1) / 2 & 0xfffffff8); } local_b8._4_4_ = 1; *local_c0 = 100005.0; } fVar14 = fVar15 * DAT_1824c3da8 + fVar17; fVar17 = fVar15 * DAT_1824c3e10 + fVar17; fVar4 = fVar18; fVar15 = fVar18; fVar16 = fVar17; if (local_b8._4_4_ != 0) { if ((local_b0 <= fVar18) && (fVar4 = local_b0, local_ac < fVar18)) { local_ac = fVar18; } local_b0 = fVar4; if ((fVar17 < local_a8) || (fVar4 = local_b0, fVar15 = local_ac, fVar16 = local_a8, fVar17 <= local_a4)) goto LAB_18130f7d3; } local_a8 = fVar16; local_ac = fVar15; local_b0 = fVar4; fVar16 = local_a8; local_a4 = fVar17; LAB_18130f7d3: local_a8 = fVar16; FUN_1804b02a0(&local_c0,&DAT_1821df344,fVar18,fVar17); FUN_18129ddd0(&local_c0,fVar19,fVar14); FUN_18129ddd0(&local_c0,fVar20,fVar14); if ((local_b8._4_4_ != 0) && ((local_b8._4_4_ < 1 || (local_c0[local_b8._4_4_ + -1] != fVar13)))) { if ((int)(uint)local_b8 < local_b8._4_4_ + 1) { FUN_1804af790(&local_c0,local_b8._4_4_ + 9 + (local_b8._4_4_ + 1) / 2 & 0xfffffff8); } lVar9 = (longlong)local_b8._4_4_; local_b8._4_4_ = local_b8._4_4_ + 1; local_c0[lVar9] = 100005.0; } puVar7 = (undefined4 *)FUN_18134a8d0(lVar3,¶m_5,0x1000e00,0); FUN_181296c00(param_2,*puVar7); cVar5 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar5 == '\0') { for (pfVar10 = local_c0; pfVar10 != local_c0 + local_b8._4_4_; pfVar10 = pfVar10 + 1) { fVar13 = *pfVar10; if (fVar13 == DAT_1824c4600) { pfVar10 = pfVar10 + 2; } else if (((fVar13 == DAT_1824c45fc) || (fVar13 == DAT_1824c4604)) || (fVar13 == DAT_1824c4608) ) { local_d8 = _DAT_1824c4780; uStack_d0 = _UNK_1824c4788; local_c8 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_c0,&local_d8); break; } } } local_b8 = (ulonglong)(uint)local_b8; /* WARNING: Subroutine does not return */ free(local_c0); } ############ FUN_ 18130fa90 size=614 ############ void FUN_18130fa90(undefined8 param_1,longlong param_2,undefined4 param_3,undefined4 param_4, longlong param_5) { bool bVar1; longlong lVar2; longlong lVar3; char cVar4; undefined4 *puVar5; uint *puVar6; undefined1 uVar7; longlong lVar8; double local_18 [2]; lVar3 = param_5; if (((*(byte *)(param_5 + 0xa9) & 0x10) == 0) && ((lVar8 = *(longlong *)(param_5 + 0x18), lVar2 = DAT_182673708, lVar8 == 0 || (cVar4 = FUN_18133eaa0(lVar8), lVar2 = DAT_182673708, cVar4 != '\0')))) { for (; lVar2 != lVar3; lVar2 = *(longlong *)(lVar2 + 0x18)) { if (lVar2 == 0) { bVar1 = false; goto LAB_18130fb07; } } bVar1 = true; LAB_18130fb07: if (((bVar1) && (*(char *)(lVar3 + 0x1ec) == '\0')) && ((lVar8 == 0 || (cVar4 = FUN_18133eaa0(lVar8), cVar4 != '\0')))) { puVar5 = (undefined4 *)FUN_18134a8d0(lVar3,¶m_5,0x1000206,0); FUN_181296c00(param_2,*puVar5); FUN_181295c90(param_2,0,0,param_3,param_4,2); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x90))(*(longlong **)(param_2 + 8),DAT_1824c3ea4); puVar6 = (uint *)FUN_18134a8d0(lVar3,¶m_5,0x1000207,0); local_18[0] = (double)((float)(*puVar6 >> 0x18) * DAT_1824c3e10) + DAT_1824c4520; uVar7 = 0xff; if (SUB84(local_18[0],0) < 0xff) { uVar7 = SUB81(local_18[0],0); } param_5._0_4_ = CONCAT13(uVar7,(int3)*puVar6); } else { puVar5 = (undefined4 *)FUN_18134a8d0(lVar3,local_18,0x1000205,0); FUN_181296c00(param_2,*puVar5); FUN_181295c90(param_2,0,0,param_3,param_4,1); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x90))(*(longlong **)(param_2 + 8),DAT_1824c3ea4); FUN_18134a8d0(lVar3,¶m_5,0x1000207,0); } FUN_181305ed0(param_2); } return; } ############ FUN_ 18130fd80 size=494 ############ void FUN_18130fd80(longlong *param_1,longlong param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined8 *param_6,char param_7,char param_8, undefined8 param_9,longlong param_10) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; char cVar5; undefined4 *puVar6; uint *puVar7; undefined8 uVar8; undefined1 uVar9; undefined4 uVar10; double dVar11; undefined1 local_res8 [8]; undefined1 local_res10 [8]; undefined4 local_res18; undefined1 local_res20 [8]; undefined8 *puVar12; undefined8 local_48; undefined8 uStack_40; lVar4 = param_10; if ((*(byte *)(param_10 + 0xa9) & 0x10) == 0) { if (*(longlong *)(param_10 + 0x18) != 0) { cVar5 = FUN_18133eaa0(); if (cVar5 == '\0') goto LAB_18130fe3d; } if ((param_8 == '\0') && (param_7 == '\0')) { puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,local_res20,0x1000600,0); uVar10 = *puVar6; } else { puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,¶m_10,0x1000900,0); FUN_1812a3160(param_2,*puVar6); puVar6 = (undefined4 *)FUN_18134a8d0(lVar4,local_res8,0x1000800,0); uVar10 = *puVar6; } } else { LAB_18130fe3d: puVar7 = (uint *)FUN_18134a8d0(lVar4,local_res10,0x1000600,0); dVar11 = (double)((float)(*puVar7 >> 0x18) * DAT_1824c3d8c) + DAT_1824c4520; uVar9 = 0xff; if (SUB84(dVar11,0) < 0xff) { uVar9 = SUB81(dVar11,0); } local_res18 = CONCAT13(uVar9,(int3)*puVar7); uVar10 = local_res18; } FUN_181296c00(param_2,uVar10); puVar3 = param_6; puVar12 = param_6; uVar8 = (**(code **)(*param_1 + 0x58))(param_1,¶m_6,lVar4,param_5,param_6); uVar10 = (undefined4)((ulonglong)puVar12 >> 0x20); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),uVar8); if (param_6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(param_6 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*param_6)(param_6,1); } } uStack_40 = CONCAT44(param_4,param_3); local_48 = 0; FUN_181296100(param_2,puVar3,&local_48,0x24,CONCAT44(uVar10,1),0); return; } ############ FUN_ 181310190 size=382 ############ void FUN_181310190(longlong *param_1,longlong param_2,int *param_3,undefined8 param_4) { int *piVar1; int iVar2; uint uVar3; longlong *plVar4; undefined4 *puVar5; undefined1 local_res10 [8]; undefined8 *local_res18 [2]; undefined8 *local_58; undefined8 local_50; int local_48; int iStack_44; int iStack_40; int iStack_3c; undefined8 local_38; undefined8 uStack_30; local_50 = 0xfffffffffffffffe; plVar4 = (longlong *)(**(code **)(*param_1 + 0x20))(param_1,&local_58); uVar3 = FUN_181252020(plVar4); local_res18[0] = (undefined8 *)*plVar4; if (local_res18[0] != (undefined8 *)0x0) { LOCK(); *(int *)(local_res18[0] + 1) = *(int *)(local_res18[0] + 1) + 1; UNLOCK(); } FUN_181251ed0(local_res18,uVar3 | 1); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),local_res18); if (local_res18[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res18[0] + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_res18[0])(local_res18[0],1); } } if (local_58 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_58 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_58)(local_58,1); } } puVar5 = (undefined4 *)FUN_181346420(param_1 + -8,local_res10,0x1000601); FUN_181296c00(param_2,*puVar5); local_48 = *param_3 + 0xc; iStack_44 = param_3[1]; iStack_40 = param_3[2] + -0x10; iStack_3c = (int)((float)param_3[3] * DAT_1824c3e28); local_38 = CONCAT44(iStack_44,local_48); uStack_30 = CONCAT44(iStack_3c,iStack_40); FUN_181296100(param_2,param_4,&local_38,0x11,1,0); return; } ############ FUN_ 181310320 size=2631 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181310320(longlong *param_1,longlong param_2,int *param_3,char param_4,char param_5, char param_6,char param_7,char param_8,undefined8 param_9,undefined8 *param_10, longlong *param_11,undefined4 *param_12) { int *piVar1; float *pfVar2; undefined4 uVar3; longlong *plVar4; longlong *plVar5; undefined8 *puVar6; float fVar7; float fVar8; char cVar9; int iVar10; undefined4 *puVar11; undefined8 uVar12; float *pfVar13; int iVar14; int iVar15; int iVar16; int iVar17; bool bVar18; float fVar19; float fVar20; float fVar21; undefined8 *local_278; undefined4 local_270; undefined8 *local_268 [2]; int local_258; int iStack_254; int iStack_250; int iStack_24c; undefined4 local_248; int local_244; int local_240; float *local_238; undefined8 local_230; float local_228; float local_224; float local_220; float local_21c; undefined1 local_218; undefined4 local_210 [2]; int local_208; int iStack_204; int iStack_200; int iStack_1fc; int local_1f8; int iStack_1f4; int iStack_1f0; int iStack_1ec; float local_1e8; float local_1e4; float local_1e0; float local_1dc; undefined8 local_1d8; undefined8 uStack_1d0; undefined8 local_1c8; undefined1 local_1c0 [4]; undefined1 local_1bc [4]; undefined4 local_1b8; undefined8 *local_1b0; float local_1a8; float fStack_1a4; float fStack_1a0; float fStack_19c; float *local_198; int local_18c; undefined8 local_170; undefined8 local_168; undefined8 uStack_160; undefined8 local_158; undefined8 uStack_150; undefined8 local_148; undefined8 uStack_140; undefined8 local_138; undefined8 uStack_130; float local_128; float fStack_124; float fStack_120; float fStack_11c; undefined1 local_118 [24]; undefined1 local_100 [16]; undefined1 local_f0 [184]; local_170 = 0xfffffffffffffffe; if (param_4 == '\0') { plVar5 = param_1 + -8; FUN_181346420(plVar5,&local_248,0x1000600); if (param_12 != (undefined4 *)0x0) { local_248 = *param_12; } iVar14 = 0; if (0 < param_3[2] + -2) { iVar14 = param_3[2] + -2; } iStack_24c = 0; if (0 < param_3[3] + -2) { iStack_24c = param_3[3] + -2; } iStack_254 = param_3[1] + 1; iVar15 = *param_3; iVar17 = iVar15 + 1; uVar3 = local_248; local_258 = iVar17; iStack_250 = iVar14; local_244 = iStack_24c; local_240 = iStack_254; if (param_6 != '\0') { puVar11 = (undefined4 *)FUN_181346420(plVar5,local_1c0,0x1000900); FUN_181296c00(param_2,*puVar11); local_148 = CONCAT44(iStack_254,local_258); uStack_140 = CONCAT44(iStack_24c,iStack_250); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_148,0); puVar11 = (undefined4 *)FUN_181346420(plVar5,local_1bc,0x1000800); uVar3 = *puVar11; } FUN_181296c00(param_2,uVar3); if (param_5 == '\0') { if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x90))(); } (**(code **)(*param_1 + 0x20))(param_1,local_268); fVar20 = DAT_1824c3cb8; fVar19 = (float)param_3[3] / DAT_1824c3f20; if (fVar19 < *(float *)(local_268[0] + 5)) { fVar21 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar19) && (fVar21 = DAT_1824c45c8, fVar19 <= DAT_1824c45c8)) { fVar21 = fVar19; } if (*(float *)(local_268[0] + 5) != fVar21) { FUN_181252760(local_268); *(float *)(local_268[0] + 5) = fVar21; plVar4 = (longlong *)local_268[0][2]; if (((plVar4 != (longlong *)0x0) && (*(code **)(*plVar4 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar9 = (**(code **)(*plVar4 + 8))(plVar4,local_268), cVar9 == '\0')) { puVar6 = (undefined8 *)local_268[0][2]; local_268[0][2] = 0; if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar10 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar10 == 1) { (**(code **)*puVar6)(puVar6,1); } } } } } if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),local_268); fVar8 = DAT_1824c4608; fVar7 = DAT_1824c4604; fVar21 = DAT_1824c4600; fVar19 = DAT_1824c45fc; iVar10 = (int)(local_244 * 5 + (local_244 * 5 >> 0x1f & 3U)) >> 2; if (iVar14 < iVar10) { iVar10 = iVar14; } local_258 = iVar10 + iVar17; iVar14 = iVar14 - iVar10; iVar17 = 0; if (0 < iVar10 + -6) { iVar17 = iVar10 + -6; } iVar10 = 0; if (0 < local_244 + -6) { iVar10 = local_244 + -6; } iStack_250 = iVar14; if (param_11 == (longlong *)0x0) { if (param_7 != '\0') { (**(code **)(*plVar5 + 0x60))(plVar5,&local_198); FUN_18129b390(&local_198,local_118); cVar9 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar9 == '\0') { pfVar2 = local_198 + local_18c; bVar18 = local_198 == pfVar2; pfVar13 = local_198; while (!bVar18) { fVar20 = *pfVar13; if (fVar20 == fVar21) { pfVar13 = pfVar13 + 3; bVar18 = pfVar13 == pfVar2; } else { if (((fVar20 == fVar19) || (fVar20 == fVar7)) || (fVar20 == fVar8)) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_198,local_118); break; } pfVar13 = pfVar13 + 1; bVar18 = pfVar13 == pfVar2; } } } local_18c = 0; /* WARNING: Subroutine does not return */ free(local_198); } } else { local_210[0] = 0x124; local_1e8 = (float)(iVar15 + 4); local_1e4 = (float)(local_240 + 3); local_1e0 = (float)iVar17; local_1dc = (float)iVar10; uVar12 = (**(code **)(*param_11 + 0x168))(param_11,local_100); FUN_1812971a0(local_210,local_f0,uVar12,&local_1e8); FUN_181332c20(param_11,param_2); } if (param_8 != '\0') { uVar12 = (**(code **)(*param_1 + 0x20))(param_1,&local_1b0); fVar20 = (float)FUN_181251a10(uVar12); fVar20 = fVar20 * DAT_1824c3db8; if (local_1b0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_1b0 + 1); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); iVar14 = iStack_250; if (iVar15 == 1) { (**(code **)*local_1b0)(local_1b0,1); iVar14 = iStack_250; } } iVar15 = (int)fVar20; if (iVar14 < iVar15) { iVar15 = iVar14; } local_228 = (float)((local_258 - iVar15) + iVar14); local_238 = (float *)0x0; local_230._0_4_ = 0; local_230._4_4_ = 0; local_218 = 1; local_220 = (float)(local_240 + local_244 / 2) - fVar20 * DAT_1824c3d8c; local_224 = local_228; local_21c = local_220; FUN_1804b02a0(&local_238,&DAT_1821df344); FUN_18129ddd0(&local_238); FUN_18129ddd0(&local_238); if ((local_230._4_4_ != 0) && ((local_230._4_4_ < 1 || (local_238[local_230._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_230 < local_230._4_4_ + 1) { FUN_1804af790(&local_238,local_230._4_4_ + 9 + (local_230._4_4_ + 1) / 2 & 0xfffffff8); } local_230._4_4_ = 1; *local_238 = 100005.0; } cVar9 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar9 == '\0') { pfVar2 = local_238 + local_230._4_4_; bVar18 = local_238 == pfVar2; pfVar13 = local_238; while (!bVar18) { fVar20 = *pfVar13; if (fVar20 == fVar21) { pfVar13 = pfVar13 + 3; bVar18 = pfVar13 == pfVar2; } else { if (((fVar20 == fVar19) || (fVar20 == fVar7)) || (fVar20 == fVar8)) { local_1d8 = _DAT_1824c4780; uStack_1d0 = _UNK_1824c4788; local_1c8 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_238,&local_1d8); break; } pfVar13 = pfVar13 + 1; bVar18 = pfVar13 == pfVar2; } } } local_230 = (ulonglong)(uint)local_230; /* WARNING: Subroutine does not return */ free(local_238); } iVar15 = 3; if (iVar14 < 3) { iVar15 = iVar14; } iVar14 = iVar14 - iVar15; local_138 = CONCAT44(iStack_254,local_258); uStack_130 = CONCAT44(iStack_24c,iVar14); local_1b8 = 0x21; iStack_250 = iVar14; FUN_181296100(param_2,param_9,&local_138,0x21,1,0); if (*(char *)*param_10 != '\0') { local_278 = local_268[0]; if (local_268[0] != (undefined8 *)0x0) { LOCK(); *(int *)(local_268[0] + 1) = *(int *)(local_268[0] + 1) + 1; UNLOCK(); iVar14 = iStack_250; } fVar19 = *(float *)(local_268[0] + 5) * DAT_1824c3e10; if ((fVar20 <= fVar19) && (fVar20 = DAT_1824c45c8, fVar19 <= DAT_1824c45c8)) { fVar20 = fVar19; } if (*(float *)(local_268[0] + 5) != fVar20) { FUN_181252760(&local_278); *(float *)(local_278 + 5) = fVar20; plVar5 = (longlong *)local_278[2]; if (((plVar5 != (longlong *)0x0) && (*(code **)(*plVar5 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar9 = (**(code **)(*plVar5 + 8))(plVar5,&local_278), cVar9 == '\0')) { puVar6 = (undefined8 *)local_278[2]; local_278[2] = 0; if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); iVar14 = iStack_250; if (iVar15 == 1) { (**(code **)*puVar6)(puVar6,1); iVar14 = iStack_250; } } } } FUN_181252760(&local_278); *(undefined4 *)((longlong)local_278 + 0x2c) = 0x3f733333; plVar5 = (longlong *)local_278[2]; if (((plVar5 != (longlong *)0x0) && (*(code **)(*plVar5 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar9 = (**(code **)(*plVar5 + 8))(plVar5,&local_278), cVar9 == '\0')) { puVar6 = (undefined8 *)local_278[2]; local_278[2] = 0; if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar15 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); iVar14 = iStack_250; if (iVar15 == 1) { (**(code **)*puVar6)(puVar6,1); iVar14 = iStack_250; } } } if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_278); fStack_19c = (float)iStack_24c; fStack_1a0 = (float)iVar14; fStack_1a4 = (float)iStack_254; local_1a8 = (float)local_258; local_128 = local_1a8; fStack_124 = fStack_1a4; fStack_120 = fStack_1a0; fStack_11c = fStack_19c; FUN_1812963b0(param_2,param_10,&local_128,0x22,1); if (local_278 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_278 + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { (**(code **)*local_278)(local_278,1); } } } if (local_268[0] != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_268[0] + 1); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { (**(code **)*local_268[0])(local_268[0],1); } } } else { iVar15 = *param_3 + 5; iVar14 = 0; if (0 < param_3[2] + -10) { iVar14 = param_3[2] + -10; } iVar17 = 0; if (0 < param_3[3]) { iVar17 = param_3[3]; } iVar10 = iVar17 / 2 + -1; if (iVar17 < iVar10) { iVar10 = iVar17; } iVar16 = param_3[1] + iVar10; iVar17 = iVar17 - iVar10; FUN_181296c00(param_2,0x33000000); iStack_1fc = 1; if (iVar17 < 1) { iStack_1fc = iVar17; } iVar10 = iVar16 + iStack_1fc; iVar17 = iVar17 - iStack_1fc; local_168 = CONCAT44(iVar16,iVar15); uStack_160 = CONCAT44(iStack_1fc,iVar14); local_208 = iVar15; iStack_204 = iVar16; iStack_200 = iVar14; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_168,0); local_270 = 0x66ffffff; FUN_181296c00(param_2,0x66ffffff); iStack_1ec = 1; if (iVar17 < 1) { iStack_1ec = iVar17; } local_158 = CONCAT44(iVar10,iVar15); uStack_150 = CONCAT44(iStack_1ec,iVar14); local_1f8 = iVar15; iStack_1f4 = iVar10; iStack_1f0 = iVar14; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_158,0); } return; } ############ FUN_ 181311110 size=470 ############ void FUN_181311110(longlong param_1,longlong param_2,int param_3,int param_4) { int iVar1; undefined4 *puVar2; uint uVar3; int iVar4; undefined4 local_res18; undefined4 local_res20; longlong local_38; undefined8 uStack_30; FUN_181346420(param_1 + -0x40,&local_res20,0x1000700); uVar3 = local_res20; FUN_1812a3160(param_2,local_res20); local_res18 = 0x2badd8e6; if (local_res20._3_1_ != 0) { iVar4 = 0xff - ((int)((0xff - (uint)local_res20._3_1_) * 0xd4) >> 8); local_res18 = uVar3; if (0 < iVar4) { iVar1 = (int)((uint)local_res20._3_1_ * 0xd4) / iVar4; local_res18._3_1_ = (undefined1)iVar4; local_res18._0_3_ = CONCAT12((char)(((local_res20 >> 0x10 & 0xff) - 0xad) * iVar1 >> 8) + -0x53, CONCAT11((char)(((local_res20 >> 8 & 0xff) - 0xd8) * iVar1 >> 8) + -0x28, (char)(((uVar3 & 0xff) - 0xe6) * iVar1 >> 8) + -0x1a)); } } FUN_181296c00(param_2,local_res18); uVar3 = 0; if (0 < param_4) { do { local_38 = (ulonglong)uVar3 << 0x20; uStack_30 = CONCAT44(1,param_3); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_38,0); uVar3 = uVar3 + 3; } while ((int)uVar3 < param_4); } puVar2 = (undefined4 *)FUN_181346420(param_1 + -0x40,&local_res20,0x1000600); local_res18._0_3_ = (undefined3)*puVar2; local_res18 = CONCAT13(0x99,(undefined3)local_res18); FUN_181296c00(param_2,local_res18); uStack_30 = CONCAT44((float)param_4,(float)param_3); local_38 = 0; FUN_181295950(param_2,&local_38); return; } ############ FUN_ 181311590 size=696 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181311590(undefined8 param_1,longlong param_2,undefined8 param_3,float *param_4, float *param_5) { float fVar1; float fVar2; float fVar3; char cVar4; undefined4 *puVar5; float *pfVar6; float fVar7; float fVar8; float fVar9; float fVar10; undefined8 local_98; float fStack_90; float fStack_8c; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; float *local_68; undefined8 local_60; undefined8 local_58; undefined8 uStack_50; undefined1 local_48; local_68 = (float *)0x0; local_60 = 0; local_58 = 0; uStack_50 = 0; local_48 = 1; fVar9 = param_4[1]; fVar1 = *param_4; local_98 = *(undefined8 *)param_4; fVar10 = param_5[2]; if ((fVar10 <= 0.0) || (param_5[3] <= 0.0)) { fStack_90 = 1.0; fStack_8c = 1.0; } else { fVar2 = *param_5; fVar8 = fVar1; if (fVar2 <= fVar1) { fVar8 = fVar2; } fVar3 = param_5[1]; fVar7 = fVar9; if (fVar3 <= fVar9) { fVar7 = fVar3; } fStack_90 = fVar1 + DAT_1824c3ea4; if (fVar1 + DAT_1824c3ea4 <= fVar2 + fVar10) { fStack_90 = fVar2 + fVar10; } fStack_90 = fStack_90 - fVar8; fStack_8c = fVar9 + DAT_1824c3ea4; if (fVar9 + DAT_1824c3ea4 <= fVar3 + param_5[3]) { fStack_8c = fVar3 + param_5[3]; } fStack_8c = fStack_8c - fVar7; local_98 = CONCAT44(fVar7,fVar8); } uStack_80 = CONCAT44(fStack_8c,fStack_90); local_88 = local_98; fStack_90 = fVar10 - DAT_1824c3ea4; if (fStack_90 <= 0.0) { fStack_90 = 0.0; } fStack_8c = param_5[3] - DAT_1824c3ea4; if (fStack_8c <= 0.0) { fStack_8c = 0.0; } local_98 = CONCAT44(param_5[1] - DAT_1824c4670,*param_5 - DAT_1824c4670); fVar9 = param_5[3] * DAT_1824c3d18; fVar10 = fVar10 * DAT_1824c3d18; if (DAT_1824c4418 <= fVar10) { if (DAT_1824c4418 <= fVar9) { fVar9 = DAT_1824c4418; } } else if (fVar10 <= fVar9) { fVar9 = fVar10; } FUN_18129c020(&local_68,&local_98,&local_88,*(undefined8 *)param_4,DAT_1824c4360,fVar9, 0xfffffffffffffffe); puVar5 = (undefined4 *)FUN_18134a8d0(param_3,¶m_5,0x1000af0,0); FUN_181296c00(param_2,*puVar5); cVar4 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar4 == '\0') { for (pfVar6 = local_68; pfVar6 != local_68 + local_60._4_4_; pfVar6 = pfVar6 + 1) { fVar9 = *pfVar6; if (fVar9 == DAT_1824c4600) { pfVar6 = pfVar6 + 2; } else if (((fVar9 == DAT_1824c45fc) || (fVar9 == DAT_1824c4604)) || (fVar9 == DAT_1824c4608)) { local_88 = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_80 = CONCAT44(_UNK_1824c478c,_UNK_1824c4788); local_78 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_68,&local_88); break; } } } puVar5 = (undefined4 *)FUN_18134a8d0(param_3,¶m_5,0x1000af1,0); FUN_181296c00(param_2,*puVar5); local_88 = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_80 = CONCAT44(_UNK_1824c478c,_UNK_1824c4788); local_78 = 0x3f800000; local_98 = 0x3f800000; fStack_90 = 0.0; FUN_181295d20(param_2,&local_68,&local_98,&local_88); local_60 = local_60 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_68); } ############ FUN_ 1813118a0 size=551 ############ void FUN_1813118a0(undefined8 param_1,longlong param_2,float *param_3,undefined8 param_4, char param_5) { float fVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; uint local_res10; float local_68; float fStack_64; float fStack_60; float fStack_5c; fVar2 = param_3[2]; fVar4 = param_3[3]; fVar1 = fVar4; if (DAT_1824c441c <= fVar2) { if (DAT_1824c441c <= fVar4) { fVar1 = DAT_1824c441c; } } else if (fVar2 <= fVar4) { fVar1 = fVar2; } local_res10 = SUB84((double)(fVar1 * DAT_1824c3df0) + DAT_1824c4520,0); local_res10 = local_res10 | 1; fVar1 = (float)(int)local_res10; fVar3 = (float)((int)((int)fVar2 - local_res10) / 2 + (int)*param_3); fVar5 = (float)((int)((int)fVar4 - local_res10) / 2 + (int)param_3[1]); FUN_181296c00(param_2,0xe5ffffff); local_68 = fVar3; fStack_64 = fVar5; fStack_60 = fVar1; fStack_5c = fVar1; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_68); FUN_181296c00(param_2,0x80000000); local_68 = fVar3; fStack_64 = fVar5; fStack_60 = fVar1; fStack_5c = fVar1; FUN_181295950(param_2,&local_68,DAT_1824c3ea4); fVar6 = (float)((int)local_res10 / 2); fStack_64 = fVar5 + fVar6; fVar4 = fVar6 + DAT_1824c3ea4; fVar2 = (fVar1 - fVar4) * DAT_1824c3d8c; local_68 = fVar2 + fVar3; fStack_5c = 1.0; fStack_60 = fVar4; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_68); if (param_5 == '\0') { local_68 = fVar3 + fVar6; fStack_64 = fVar2 + fVar5; fStack_60 = 1.0; fStack_5c = fVar4; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_68); } return; } ############ FUN_ 181312640 size=891 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181312640(undefined8 param_1,longlong param_2,undefined8 param_3,int param_4,int param_5, int param_6,undefined8 param_7,undefined8 param_8,undefined4 param_9) { char cVar1; longlong lVar2; undefined8 uVar3; undefined4 *puVar4; float *pfVar5; float fVar6; float fVar7; float fVar8; float *local_98; undefined8 local_90; undefined8 local_88; undefined8 uStack_80; undefined1 local_78; undefined8 local_70; undefined4 uStack_68; undefined4 uStack_64; undefined8 local_60; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; undefined8 local_48; undefined8 local_40; local_40 = 0xfffffffffffffffe; local_98 = (float *)0x0; local_90 = 0; local_88 = 0; uStack_80 = 0; local_78 = 1; if (param_6 == 0) { fVar6 = (float)param_4; fVar8 = fVar6 * DAT_1824c3e58; fVar7 = fVar6 * DAT_1824c3cb8; local_88 = CONCAT44(fVar6 * DAT_1824c3d8c,fVar6 * DAT_1824c3d8c); uStack_80 = CONCAT44((float)param_5 * DAT_1824c3d18,(float)param_5 * DAT_1824c3d18); FUN_1804b02a0(&local_98,&DAT_1821df344); } else { if (param_6 == 1) { fVar7 = (float)param_4 * DAT_1824c3d54; fVar8 = (float)param_4 * DAT_1824c3e28; } else { if (param_6 == 2) { fVar6 = (float)param_4; fVar8 = fVar6 * DAT_1824c3e58; fVar7 = fVar6 * DAT_1824c3cb8; local_88 = CONCAT44(fVar6 * DAT_1824c3d8c,fVar6 * DAT_1824c3d8c); uStack_80 = CONCAT44((float)param_5 * DAT_1824c3e28,(float)param_5 * DAT_1824c3e28); FUN_1804b02a0(&local_98,&DAT_1821df344); goto LAB_181312812; } if (param_6 != 3) goto LAB_18131288d; fVar7 = (float)param_4 * DAT_1824c3df0; fVar8 = (float)param_4 * DAT_1824c3d18; } local_88 = CONCAT44(fVar8,fVar8); uStack_80 = CONCAT44((float)param_5 * DAT_1824c3d8c,(float)param_5 * DAT_1824c3d8c); FUN_1804b02a0(&local_98,&DAT_1821df344); fVar8 = fVar7; } LAB_181312812: FUN_18129ddd0(&local_98,fVar7); FUN_18129ddd0(&local_98,fVar8); if ((local_90._4_4_ != 0) && ((local_90._4_4_ < 1 || (local_98[local_90._4_4_ + -1] != DAT_1824c460c)))) { if ((int)local_90 < local_90._4_4_ + 1) { FUN_1804af790(&local_98,local_90._4_4_ + 9 + (local_90._4_4_ + 1) / 2 & 0xfffffff8); } lVar2 = (longlong)local_90._4_4_; local_90 = CONCAT44(local_90._4_4_ + 1,(int)local_90); local_98[lVar2] = 100005.0; } LAB_18131288d: if ((char)param_9 == '\0') { puVar4 = (undefined4 *)FUN_18134a8d0(param_3,¶m_9,0x1000400); } else { uVar3 = FUN_18134a8d0(param_3,¶m_9,0x1000400); puVar4 = (undefined4 *)FUN_1812a24b0(uVar3,¶m_6); } FUN_181296c00(param_2,*puVar4); cVar1 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar1 == '\0') { for (pfVar5 = local_98; pfVar5 != local_98 + local_90._4_4_; pfVar5 = pfVar5 + 1) { fVar8 = *pfVar5; if (fVar8 == DAT_1824c4600) { pfVar5 = pfVar5 + 2; } else if (((fVar8 == DAT_1824c45fc) || (fVar8 == DAT_1824c4604)) || (fVar8 == DAT_1824c4608)) { local_70 = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_68 = _UNK_1824c4788; uStack_64 = _UNK_1824c478c; local_60 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_98,&local_70); break; } } } param_9 = 0x80000000; FUN_181296c00(param_2,0x80000000); local_58 = _DAT_1824c4780; uStack_54 = _UNK_1824c4784; uStack_50 = _UNK_1824c4788; uStack_4c = _UNK_1824c478c; local_48 = 0x3f800000; local_70 = 0x3f000000; uStack_68 = 0; FUN_181295d20(param_2,&local_98,&local_70,&local_58); local_90 = local_90 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_98); } ############ FUN_ 181312a30 size=832 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181312a30(undefined8 param_1,longlong param_2,uint *param_3,int param_4,int param_5, int param_6,int param_7) { float *pfVar1; float fVar2; float fVar3; float fVar4; float fVar5; uint uVar6; char cVar7; int iVar8; DWORD DVar9; float *pfVar10; undefined1 uVar11; uint uVar12; bool bVar13; float fVar14; float fVar15; double dVar16; float fVar17; float _X; float fVar18; float local_f8; uint local_f4; float local_f0; float local_ec; float local_e8; float local_e4; float *local_e0; undefined8 local_d8; undefined8 local_d0; undefined8 uStack_c8; undefined1 local_c0; fVar2 = DAT_1824c3d8c; iVar8 = param_6; if (param_7 < param_6) { iVar8 = param_7; } fVar15 = (float)iVar8 * DAT_1824c3d74; fVar17 = fVar15 * DAT_1824c3d04; uVar12 = 0; local_e0 = (float *)0x0; local_d8 = 0; local_d0 = 0; uStack_c8 = 0; local_c0 = 1; FUN_18129d5a0(&local_e0,fVar15 * DAT_1824c3d74,fVar17 * DAT_1824c4670,fVar15 * DAT_1824c3db8, fVar17,fVar17 * DAT_1824c3d8c,fVar17 * DAT_1824c3d8c,1,1,1,1); fVar18 = (float)param_6; DVar9 = timeGetTime(); uVar6 = DAT_1824c4f30; fVar5 = DAT_1824c4608; fVar4 = DAT_1824c4604; fVar3 = DAT_1824c4600; fVar17 = DAT_1824c45fc; fVar15 = DAT_1824c4408; if (DVar9 < DAT_1826737fc) { if (DVar9 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = DVar9; } } else { LOCK(); UNLOCK(); DAT_1826737fc = DVar9; } do { dVar16 = (double)((float)(*param_3 >> 0x18) * ((float)((((int)(((ulonglong)DVar9 / 100) / 0xc) * 0xc - (int)((ulonglong)DVar9 / 100)) + 0xc + uVar12) % 0xc + 1) / fVar15)) + DAT_1824c4520; uVar11 = 0xff; if (SUB84(dVar16,0) < 0xff) { uVar11 = SUB81(dVar16,0); } param_6 = CONCAT13(uVar11,(int3)*param_3); FUN_181296c00(param_2,param_6); _X = (float)uVar12 * _DAT_1824c3d9c; fVar14 = cosf(_X); local_ec = sinf(_X); local_f4 = (uint)local_ec ^ uVar6; local_f8 = fVar14; local_f0 = fVar18 * fVar2 + (float)param_4 + 0.0; local_e8 = fVar14; local_e4 = (float)param_7 * fVar2 + (float)param_5 + 0.0; cVar7 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar7 == '\0') { pfVar1 = local_e0 + local_d8._4_4_; bVar13 = local_e0 == pfVar1; pfVar10 = local_e0; while (!bVar13) { fVar14 = *pfVar10; if (fVar14 == fVar3) { pfVar10 = pfVar10 + 3; bVar13 = pfVar10 == pfVar1; } else { if (((fVar14 == fVar17) || (fVar14 == fVar4)) || (fVar14 == fVar5)) { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_e0,&local_f8); break; } pfVar10 = pfVar10 + 1; bVar13 = pfVar10 == pfVar1; } } } uVar12 = uVar12 + 1; if (0xb < uVar12) { local_d8 = local_d8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_e0); } } while( true ); } ############ FUN_ 181314110 size=452 ############ void FUN_181314110(undefined8 param_1,undefined8 param_2,longlong param_3) { char cVar1; char cVar2; undefined4 *puVar3; uint *puVar4; undefined1 uVar5; int iVar6; undefined8 uVar7; float fVar8; undefined8 local_res18; undefined1 local_38 [16]; undefined8 local_28; int iStack_20; int iStack_1c; cVar1 = FUN_1804d6ee0(param_3); puVar3 = (undefined4 *)FUN_18134a8d0(param_3,&local_res18,(cVar1 != '\0') + 0x1004011,0); FUN_1812a3160(param_2,*puVar3); if (*(int *)(param_3 + 0x1c8) == 2) { local_res18 = (double)((float)*(int *)(param_3 + 0x2c) * DAT_1824c3d3c) + DAT_1824c4520; iVar6 = 0x10; if (SUB84(local_res18,0) < 0x10) { iVar6 = SUB84(local_res18,0); } if (0 < iVar6) { FUN_1812966f0(param_2); fVar8 = DAT_1824c3d74; if (((*(byte *)(param_3 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_3 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), fVar8 = DAT_1824c3d74, cVar2 != '\0')))) { fVar8 = DAT_1824c3ea4; } uVar7 = 0x1004010; if (cVar1 != '\0') { uVar7 = 0x1004013; } puVar4 = (uint *)FUN_18134a8d0(param_3,local_38,uVar7,0); local_28 = (double)((float)(*puVar4 >> 0x18) * fVar8) + DAT_1824c4520; uVar5 = 0xff; if (SUB84(local_28,0) < 0xff) { uVar5 = SUB81(local_28,0); } local_res18._0_4_ = CONCAT13(uVar5,(int3)*puVar4); FUN_181296c00(param_2,(undefined4)local_res18); local_28 = (double)CONCAT44((*(int *)(param_3 + 0x2c) - iVar6) + -1,2); _iStack_20 = CONCAT44(iVar6,*(int *)(param_3 + 0x28) + -4); FUN_181296100(param_2,param_3 + 0x158,&local_28,0x24,1,0); } } return; } ############ FUN_ 181314490 size=617 ############ void FUN_181314490(longlong *param_1,longlong param_2,longlong param_3,undefined1 param_4, undefined1 param_5) { longlong lVar1; bool bVar2; char cVar3; undefined1 uVar4; int iVar5; undefined4 *puVar6; int iVar7; undefined1 uVar8; float fVar9; float fVar10; double local_res8; ulonglong local_58; int iStack_50; undefined4 uStack_4c; lVar1 = DAT_182673708; do { if (lVar1 == param_3) { bVar2 = true; LAB_1813144ee: if (bVar2) { puVar6 = (undefined4 *)FUN_18134a8d0(param_3,&local_res8,0x1000206,0); FUN_181296c00(param_2,*puVar6); FUN_181295c90(param_2,0,0,*(undefined4 *)(param_3 + 0x28),*(undefined4 *)(param_3 + 0x2c),1) ; } iVar5 = *(int *)(param_3 + 0x2c); fVar9 = (float)iVar5 * DAT_1824c3e10; if (DAT_1824c4418 <= fVar9) { fVar9 = DAT_1824c4418; } fVar10 = fVar9 * DAT_1824c3ee0; if (((*(byte *)(param_3 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_3 + 0x18) == 0 || (cVar3 = FUN_18133eaa0(), cVar3 != '\0')))) { uVar8 = 1; } else { uVar8 = 0; } lVar1 = *param_1; uVar4 = FUN_1804d6ee0(param_3); (**(code **)(lVar1 + 0x38)) (param_1,param_2,param_3,DAT_1824c4334,((float)iVar5 - fVar10) * DAT_1824c3d8c, fVar10,fVar10,uVar4,uVar8,param_4,param_5); puVar6 = (undefined4 *)FUN_18134a8d0(param_3,&local_res8,0x1006501,0); FUN_181296c00(param_2,*puVar6); FUN_1812966f0(param_2,fVar9); if (((*(byte *)(param_3 + 0xa9) & 0x10) != 0) || ((*(longlong *)(param_3 + 0x18) != 0 && (cVar3 = FUN_18133eaa0(), cVar3 == '\0')))) { if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x90)) (*(longlong **)(param_2 + 8),DAT_1824c3d8c); } local_res8 = (double)fVar10 + DAT_1824c4520; iVar7 = *(int *)(param_3 + 0x28) - (local_res8._0_4_ + 5U); local_58 = (ulonglong)(local_res8._0_4_ + 5U); iVar5 = 0; if (0 < iVar7) { iVar5 = iVar7; } iVar7 = 0; if (0 < iVar5 + -2) { iVar7 = iVar5 + -2; } _iStack_50 = CONCAT44(*(undefined4 *)(param_3 + 0x2c),iVar7); FUN_181296100(param_2,param_3 + 0x158,&local_58,0x21,10,0); return; } if (lVar1 == 0) { bVar2 = false; goto LAB_1813144ee; } lVar1 = *(longlong *)(lVar1 + 0x18); } while( true ); } ############ FUN_ 181314700 size=1058 ############ void FUN_181314700(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, float param_5,float param_6,float param_7,char param_8,undefined4 param_9, char param_10,undefined4 param_11) { float fVar1; float fVar2; char cVar3; uint *puVar4; undefined4 *puVar5; undefined1 uVar6; float fVar7; float fVar8; float fVar9; float fVar10; undefined8 local_d8; undefined4 local_d0; undefined8 local_c8; float local_c0 [3]; undefined4 local_b4; float local_b0; float local_ac; void *local_a8; undefined8 local_a0; undefined8 local_98; undefined8 local_90; undefined1 local_88; fVar2 = param_6; fVar1 = DAT_1824c3ea4; fVar7 = DAT_1824c3d8c; local_c8 = 0xfffffffffffffffe; fVar9 = param_6 * DAT_1824c3df0; cVar3 = (char)param_9; fVar10 = DAT_1824c3d54; fVar8 = DAT_1824c3d8c; if ((((char)param_9 != '\0') && (fVar10 = DAT_1824c3ee0, fVar8 = DAT_1824c3ea4, (char)param_11 == '\0')) && (param_10 == '\0') ) { fVar10 = DAT_1824c3d8c; } puVar4 = (uint *)FUN_18134a8d0(param_3,¶m_6,0x1000100,0); local_d8 = (double)((float)(*puVar4 >> 0x18) * fVar8) + DAT_1824c4520; uVar6 = 0xff; if (SUB84(local_d8,0) < 0xff) { uVar6 = SUB81(local_d8,0); } param_9 = CONCAT13(uVar6,(int3)*puVar4); FUN_18049fa40(&local_d8,param_9); fVar8 = local_d8._4_4_ * DAT_1824c3f20; if (fVar1 <= local_d8._4_4_ * DAT_1824c3f20) { fVar8 = fVar1; } FUN_18049fbb0(¶m_9,(undefined4)local_d8,fVar8,local_d0,uVar6); if ((char)param_11 == '\0') { if (param_10 == '\0') { param_11 = param_9; } else { FUN_1812a24b0(¶m_9,¶m_11,DAT_1824c3cb8); } } else { FUN_1812a24b0(¶m_9,¶m_11,DAT_1824c3d18); } fVar1 = param_7; FUN_181305260(param_2,param_4,(param_7 - fVar9) * fVar7 + param_5,fVar9,¶m_11,fVar10); fVar7 = DAT_1824c42d0; if (param_8 == '\0') { return; } local_a8 = (void *)0x0; local_a0 = 0; local_88 = 1; local_98 = 0x3fc000003fc00000; local_90 = 0x4040000040400000; FUN_1804b02a0(&local_a8,&DAT_1821df344,DAT_1824c3f78,DAT_1824c42d0); if (local_a0._4_4_ == 0) { local_98 = 0; local_90 = 0; FUN_1804b02a0(&local_a8,&DAT_1821df344,0,0); } fVar10 = DAT_1824c4388; FUN_1804b02a0(&local_a8,&DAT_1821dfcb4,fVar7,DAT_1824c4388); if ((float)local_98 <= fVar7) { if (local_98._4_4_ < fVar7) { local_98 = CONCAT44(fVar7,(float)local_98); } } else { local_98 = CONCAT44(local_98._4_4_,fVar7); } fVar7 = local_90._4_4_; if ((float)local_90 <= fVar10) { if (local_90._4_4_ < fVar10) { local_90 = CONCAT44(fVar10,(float)local_90); fVar7 = fVar10; } } else { local_90 = CONCAT44(local_90._4_4_,fVar10); } if (local_a0._4_4_ == 0) { local_98 = 0; local_90 = 0; FUN_1804b02a0(&local_a8,fVar7,0,0); } FUN_1804b02a0(&local_a8,&DAT_1821dfcb4,fVar10,0); if ((float)local_98 <= fVar10) { if (local_98._4_4_ < fVar10) { local_98 = CONCAT44(0x40c00000,(float)local_98); } } else { local_98 = CONCAT44(local_98._4_4_,0x40c00000); } if ((float)local_90 <= 0.0) { if (local_90._4_4_ < 0.0) { local_90 = local_90 & 0xffffffff; } } else { local_90 = (ulonglong)(uint)local_90._4_4_ << 0x20; } puVar5 = (undefined4 *)FUN_18134a8d0(param_3,¶m_11,0x1006503 - (uint)(cVar3 != '\0'),0); FUN_181296c00(param_2,*puVar5); local_b0 = fVar1 / DAT_1824c43e4; local_c0[0] = fVar2 / DAT_1824c43e4; local_ac = param_5 + 0.0; local_c0[2] = (float)param_4 + 0.0; local_c0[1] = 0.0; local_b4 = 0; local_d8._0_4_ = DAT_1824c4258; local_d8._4_4_ = 0.0; local_d0 = 0; FUN_181295d20(param_2,&local_a8,&local_d8,local_c0); local_a0 = local_a0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_a8); } ############ FUN_ 181314b30 size=599 ############ void FUN_181314b30(longlong *param_1,longlong param_2,longlong param_3) { int *piVar1; int iVar2; char cVar3; int iVar4; int iVar5; uint *puVar6; int iVar7; undefined1 uVar8; int iVar9; int iVar10; int iVar11; float fVar12; undefined4 local_res10; undefined1 local_res18 [8]; undefined8 *local_88; double local_80; double local_78; double local_70; undefined8 local_68; int local_58; int iStack_54; int iStack_50; int iStack_4c; undefined8 local_48; undefined8 uStack_40; local_68 = 0xfffffffffffffffe; (**(code **)(*param_1 + 0x10))(param_1,&local_88,param_3,*(undefined4 *)(param_3 + 0x2c)); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_88); fVar12 = DAT_1824c3d8c; if (((*(byte *)(param_3 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_3 + 0x18) == 0 || (cVar3 = FUN_18133eaa0(), fVar12 = DAT_1824c3d8c, cVar3 != '\0')))) { fVar12 = DAT_1824c3ea4; } cVar3 = FUN_1804d6ee0(param_3); puVar6 = (uint *)FUN_18134a8d0(param_3,local_res18,(cVar3 != '\0') + 0x1000102,0); local_70 = DAT_1824c4520; local_80 = (double)((float)(*puVar6 >> 0x18) * fVar12) + DAT_1824c4520; uVar8 = 0xff; if (SUB84(local_80,0) < 0xff) { uVar8 = SUB81(local_80,0); } local_res10 = CONCAT13(uVar8,(int3)*puVar6); FUN_181296c00(param_2,local_res10); iVar2 = *(int *)(param_3 + 0x2c); local_78 = (double)((float)iVar2 * DAT_1824c3d54) + local_70; iVar10 = 4; if (SUB84(local_78,0) < 4) { iVar10 = SUB84(local_78,0); } iVar9 = *(int *)(param_3 + 0x28); iVar5 = iVar2; if (iVar9 < iVar2) { iVar5 = iVar9; } local_70 = (double)(*(float *)(local_88 + 5) * DAT_1824c3db8) + local_70; iVar7 = 2; if ((*(byte *)(param_3 + 0x198) & 1) != 0) { iVar7 = 4; } iVar4 = (iVar5 / 2) / iVar7 + 2; iVar7 = SUB84(local_70,0); iVar11 = iVar7; if (iVar4 < iVar7) { iVar11 = iVar4; } iVar4 = 2; if ((*(uint *)(param_3 + 0x198) >> 1 & 1) != 0) { iVar4 = 4; } iVar5 = (iVar5 / 2) / iVar4 + 2; if (iVar5 < iVar7) { iVar7 = iVar5; } iVar9 = (iVar9 - iVar7) - iVar11; if (0 < iVar9) { iStack_4c = iVar2 + iVar10 * -2; local_48 = CONCAT44(iVar10,iVar11); uStack_40 = CONCAT44(iStack_4c,iVar9); local_58 = iVar11; iStack_54 = iVar10; iStack_50 = iVar9; FUN_181296100(param_2,param_3 + 0x158,&local_48,0x24,2,0); } if (local_88 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_88 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*local_88)(local_88,1); } } return; } ############ FUN_ 1813271f0 size=190 ############ void FUN_1813271f0(longlong param_1,undefined8 param_2) { undefined4 local_res8; undefined1 local_18 [16]; if (*(char *)(param_1 + 0x27e) != '\0') { local_res8 = CONCAT13(0x33,(int3)DAT_18262b5c0); FUN_181296c00(param_2,local_res8); local_18 = ZEXT416((uint)(float)*(int *)(param_1 + 0x28)) << 0x40; FUN_181295950(param_2,local_18); } return; } ############ FUN_ 18132f1a0 size=470 ############ void FUN_18132f1a0(longlong param_1,longlong param_2) { float fVar1; float fVar2; undefined8 uVar3; undefined4 uVar4; ulonglong uVar5; undefined8 local_68; float local_60; float local_5c; undefined1 local_58 [80]; uVar3 = *(undefined8 *)(param_1 + 0xb0); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x10))(*(longlong **)(param_2 + 8),uVar3); fVar1 = _hypotf(*(float *)(param_1 + 0xc0) - *(float *)(param_1 + 200), *(float *)(param_1 + 0xc4) - *(float *)(param_1 + 0xcc)); fVar2 = _hypotf(*(float *)(param_1 + 0xc0) - *(float *)(param_1 + 0xd0), *(float *)(param_1 + 0xc4) - *(float *)(param_1 + 0xd4)); uVar3 = *(undefined8 *)(param_1 + 200); uVar5 = (ulonglong)(uint)fVar2 << 0x20; FUN_18051f040(local_58,0,*(undefined8 *)(param_1 + 0xc0),fVar1,uVar3,uVar5, *(undefined8 *)(param_1 + 0xd0)); uVar4 = (undefined4)((ulonglong)uVar3 >> 0x20); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x18))(*(longlong **)(param_2 + 8),local_58); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),param_1 + 0xe8); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0xf8)); local_68 = 0; local_60 = fVar1; local_5c = fVar2; FUN_1804ab070(&local_68,local_58); FUN_181296100(param_2,param_1 + 0xf0,local_58,*(undefined4 *)(param_1 + 0xfc), CONCAT44(uVar4,0x100000),uVar5 & 0xffffffff00000000); return; } ############ FUN_ 181330e80 size=341 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181330e80(longlong param_1,longlong param_2) { char cVar1; undefined1 uVar2; double dVar3; undefined4 local_res8; undefined8 local_28; undefined8 uStack_20; undefined8 local_18; if (*(longlong *)(param_1 + 0xc0) != 0) { if ((0.0 < *(float *)(param_1 + 200)) && (*(char *)(param_1 + 0xcf) != -1)) { FUN_181296bb0(param_2); local_28 = _DAT_1824c4780; uStack_20 = _UNK_1824c4788; local_18 = 0x3f800000; if (*(longlong *)(param_1 + 0xc0) != 0) { cVar1 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar1 == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0xc0)) (*(longlong **)(param_2 + 8),param_1 + 0xc0,&local_28); } } } if (*(char *)(param_1 + 0xcf) != '\0') { dVar3 = (double)((float)(*(uint *)(param_1 + 0xcc) >> 0x18) * *(float *)(param_1 + 200)) + DAT_1824c4520; uVar2 = 0xff; if (SUB84(dVar3,0) < 0xff) { uVar2 = SUB81(dVar3,0); } local_res8 = CONCAT13(uVar2,(int3)*(uint *)(param_1 + 0xcc)); FUN_181296c00(param_2,local_res8); local_28 = _DAT_1824c4780; uStack_20 = _UNK_1824c4788; local_18 = 0x3f800000; if (*(longlong *)(param_1 + 0xc0) != 0) { cVar1 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar1 == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_2 + 8) + 0x48)) (*(longlong **)(param_2 + 8),param_1 + 0xc0,&local_28); FUN_181295f50(param_2); (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); } } } } return; } ############ FUN_ 1813339b0 size=792 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813339b0(longlong param_1,longlong param_2,char param_3,char param_4) { char cVar1; undefined4 uVar2; float fVar3; float fVar4; float fVar5; float fVar6; float local_68; undefined8 uStack_64; float fStack_5c; undefined1 local_58 [80]; if ((*(byte *)(param_1 + 0xa9) & 0x10) == 0) { if (*(longlong *)(param_1 + 0x18) == 0) goto LAB_1813339fb; cVar1 = FUN_18133eaa0(); if (cVar1 != '\0') goto LAB_1813339fb; } param_3 = '\0'; param_4 = '\0'; LAB_1813339fb: fVar3 = (float)((uint)(*(float *)(param_1 + 0x23c) * DAT_1824c3d8c) ^ DAT_1824c4f30); fVar4 = (float)*(int *)(param_1 + 0x22c) - fVar3; fVar6 = (float)*(int *)(param_1 + 0x228) - fVar3; fVar5 = fVar3 * DAT_1824c41e0 + (float)((*(int *)(param_1 + 0x28) - *(int *)(param_1 + 0x234)) - *(int *)(param_1 + 0x22c) ); fVar3 = fVar3 * DAT_1824c41e0 + (float)((*(int *)(param_1 + 0x2c) - *(int *)(param_1 + 0x230)) - *(int *)(param_1 + 0x228) ); if (fVar5 <= 0.0) { fVar5 = 0.0; } if (fVar3 <= 0.0) { fVar3 = 0.0; } if (*(longlong *)(param_1 + 0x60) != 0) { fVar4 = fVar4 - DAT_1824c46a8; fVar5 = fVar5 - DAT_1824c4334; fVar6 = fVar6 - DAT_1824c46a8; fVar3 = fVar3 - DAT_1824c4334; if (fVar5 <= 0.0) { fVar5 = 0.0; } if (fVar3 <= 0.0) { fVar3 = 0.0; } uStack_64 = CONCAT44(fVar5,fVar6); local_68 = fVar4; fStack_5c = fVar3; } if (param_4 != '\0') { fVar4 = fVar4 - fVar5 * _DAT_1824c4650; fVar6 = fVar6 - fVar3 * _DAT_1824c4650; fVar5 = fVar5 * _DAT_1824c4650 * DAT_1824c41e0 + fVar5; fVar3 = fVar3 * _DAT_1824c4650 * DAT_1824c41e0 + fVar3; if (fVar5 <= 0.0) { fVar5 = 0.0; } if (fVar3 <= 0.0) { fVar3 = 0.0; } uStack_64 = CONCAT44(fVar5,fVar6); local_68 = fVar4; fStack_5c = fVar3; } FUN_18129b390(param_1 + 0x200,local_58,fVar4,fVar6,fVar5,fVar3,*(undefined1 *)(param_1 + 0x238), 0x24); if (param_4 == '\0') { if (param_3 == '\0') { cVar1 = FUN_1804d6ee0(param_1); if ((cVar1 == '\0') || (*(char *)(param_1 + 0x1e4) == '\0')) { uVar2 = *(undefined4 *)(param_1 + 0x1c8); } else { uVar2 = *(undefined4 *)(param_1 + 0x1d4); } } else { cVar1 = FUN_1804d6ee0(param_1); if ((cVar1 == '\0') || (*(char *)(param_1 + 0x1e4) == '\0')) { uVar2 = *(undefined4 *)(param_1 + 0x1cc); } else { uVar2 = *(undefined4 *)(param_1 + 0x1d8); } } } else { cVar1 = FUN_1804d6ee0(param_1); if ((cVar1 == '\0') || (*(char *)(param_1 + 0x1e4) == '\0')) { uVar2 = *(undefined4 *)(param_1 + 0x1d0); } else { uVar2 = *(undefined4 *)(param_1 + 0x1dc); } } FUN_181296c00(param_2,uVar2); cVar1 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar1 == '\0') { cVar1 = FUN_18129dff0(param_1 + 0x200); if (cVar1 == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),param_1 + 0x200,local_58); } } if (0.0 < *(float *)(param_1 + 0x23c)) { FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x1e0)); local_68 = *(float *)(param_1 + 0x23c); uStack_64 = 0; FUN_181295d20(param_2,param_1 + 0x200,&local_68,local_58); } return; } ############ FUN_ 181334810 size=653 ############ void FUN_181334810(longlong param_1,longlong param_2,char param_3,char param_4) { int *piVar1; char cVar2; int iVar3; float fVar4; float fVar5; undefined4 local_res8; uint local_res10; uint local_78; undefined8 *local_70; double local_68; undefined8 local_60; undefined8 local_58; int local_50; int iStack_4c; undefined4 local_48; undefined4 local_38; undefined4 uStack_34; float fStack_30; float fStack_2c; local_60 = 0xfffffffffffffffe; FUN_18134a8d0(param_1,&local_res8,0x1001f00,0); if (((*(byte *)(param_1 + 0xa9) & 0x10) == 0) && ((fVar5 = DAT_1824c3ea4, *(longlong *)(param_1 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), cVar2 != '\0')))) { local_78 = local_res8; if (param_3 != '\0') { fVar4 = DAT_1824c3d74; if (param_4 != '\0') { fVar4 = DAT_1824c3f20; } fVar5 = fVar5 / (fVar4 + fVar5); local_res10 = CONCAT13(local_res8._3_1_, CONCAT12((char)(int)((float)(local_res8 >> 0x10 & 0xff) * fVar5), CONCAT11((char)(int)((float)(local_res8 >> 8 & 0xff) * fVar5), (char)(int)((float)(local_res8 & 0xff) * fVar5)))); local_78 = local_res10; } } else { local_68 = (double)((float)(local_res8 >> 0x18) * DAT_1824c3d74) + DAT_1824c4520; local_78 = local_res8 & 0xffffff; } FUN_181296c00(param_2,local_78); if (*(char *)(param_1 + 0x218) == '\0') { local_70 = *(undefined8 **)(param_1 + 0x210); if (local_70 != (undefined8 *)0x0) { LOCK(); *(int *)(local_70 + 1) = *(int *)(local_70 + 1) + 1; UNLOCK(); } } else { iVar3 = *(int *)(param_1 + 0x2c); local_70 = *(undefined8 **)(param_1 + 0x210); if (local_70 != (undefined8 *)0x0) { LOCK(); *(int *)(local_70 + 1) = *(int *)(local_70 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_70,(float)iVar3 * DAT_1824c3df0); } if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_70); if (local_70 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_70 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_70)(local_70,1); } } iVar3 = *(int *)(param_1 + 0x28) + -2; local_58 = 1; local_50 = 0; if (0 < iVar3) { local_50 = iVar3; } iStack_4c = 0; if (0 < *(int *)(param_1 + 0x2c)) { iStack_4c = *(int *)(param_1 + 0x2c); } local_48 = 0x3f800000; uStack_34 = 0; fStack_30 = (float)local_50; fStack_2c = (float)iStack_4c; local_38 = 0x3f800000; FUN_1812963b0(param_2,param_1 + 0x158,&local_38,*(uint *)(param_1 + 0x21c) & 0x47 | 0x20,1); return; } ############ FUN_ 181334dc0 size=610 ############ void FUN_181334dc0(longlong param_1,undefined8 param_2,undefined1 param_3,undefined1 param_4) { longlong lVar1; code *pcVar2; char cVar3; char cVar4; longlong lVar5; undefined8 uVar6; undefined4 *puVar7; uint *puVar8; undefined1 uVar9; int iVar10; float fVar11; undefined8 local_res8; undefined1 local_58 [16]; undefined8 local_48; int iStack_40; int iStack_3c; lVar5 = FUN_18134adf0(); if (*(int *)(param_1 + 0x1c8) - 3U < 2) { lVar1 = *(longlong *)(lVar5 + 8); cVar3 = FUN_1804d6ee0(param_1); uVar6 = FUN_18134a8d0(param_1,&local_res8,(cVar3 != '\0') + 0x1000100,0); (**(code **)(lVar1 + 8))(lVar5 + 8,param_2,param_1,uVar6,param_3,param_4); } else { pcVar2 = *(code **)(*(longlong *)(lVar5 + 8) + 0x40); if (pcVar2 == FUN_181314110) { cVar3 = FUN_1804d6ee0(param_1); puVar7 = (undefined4 *)FUN_18134a8d0(param_1,&local_res8,(cVar3 != '\0') + 0x1004011,0); FUN_1812a3160(param_2,*puVar7); if (*(int *)(param_1 + 0x1c8) == 2) { local_res8 = (double)((float)*(int *)(param_1 + 0x2c) * DAT_1824c3d3c) + DAT_1824c4520; iVar10 = 0x10; if (SUB84(local_res8,0) < 0x10) { iVar10 = SUB84(local_res8,0); } if (0 < iVar10) { FUN_1812966f0(param_2); fVar11 = DAT_1824c3d74; if (((*(byte *)(param_1 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_1 + 0x18) == 0 || (cVar4 = FUN_18133eaa0(), fVar11 = DAT_1824c3d74, cVar4 != '\0')))) { fVar11 = DAT_1824c3ea4; } uVar6 = 0x1004010; if (cVar3 != '\0') { uVar6 = 0x1004013; } puVar8 = (uint *)FUN_18134a8d0(param_1,local_58,uVar6,0); local_48 = (double)((float)(*puVar8 >> 0x18) * fVar11) + DAT_1824c4520; uVar9 = 0xff; if (SUB84(local_48,0) < 0xff) { uVar9 = SUB81(local_48,0); } local_res8._0_4_ = CONCAT13(uVar9,(int3)*puVar8); FUN_181296c00(param_2,(undefined4)local_res8); local_48 = (double)CONCAT44((*(int *)(param_1 + 0x2c) - iVar10) + -1,2); _iStack_40 = CONCAT44(iVar10,*(int *)(param_1 + 0x28) + -4); FUN_181296100(param_2,param_1 + 0x158,&local_48,0x24,1,0); } } } else { (*pcVar2)(lVar5 + 8,param_2,param_1,param_3,param_4); } } return; } ############ FUN_ 181337b80 size=556 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181337b80(longlong param_1,longlong param_2,undefined8 param_3,char param_4) { char cVar1; float *pfVar2; float fVar3; float fVar4; undefined4 local_res20; float local_a0; float fStack_9c; undefined8 uStack_98; undefined8 local_90; float *local_88; int local_7c; undefined8 local_78; undefined8 uStack_70; undefined1 local_68; FUN_1804ab000(&local_88,param_1 + 0x1d0,param_3,param_4,0xfffffffffffffffe); local_78 = *(undefined8 *)(param_1 + 0x1e0); uStack_70 = *(undefined8 *)(param_1 + 0x1e8); local_68 = *(undefined1 *)(param_1 + 0x1f0); fVar4 = DAT_1824c3ea4; if (param_4 == '\0') { fVar4 = 0.0; } fVar3 = ((float)*(int *)(param_1 + 0x2c) - DAT_1824c42d0) / (*(float *)(param_1 + 0x1ec) - *(float *)(param_1 + 0x1e8)); local_a0 = ((float)*(int *)(param_1 + 0x28) - DAT_1824c42d0) / (*(float *)(param_1 + 0x1e4) - *(float *)(param_1 + 0x1e0)); fStack_9c = local_a0 * 0.0; uStack_98 = CONCAT44(fVar3 * 0.0, local_a0 * (float)((uint)*(float *)(param_1 + 0x1e0) ^ DAT_1824c4f30) + fVar4 ); local_90 = CONCAT44(fVar3 * (float)((uint)*(float *)(param_1 + 0x1e8) ^ DAT_1824c4f30) + fVar4, fVar3); FUN_18129b680(&local_88,&local_a0); local_res20 = (float)CONCAT13(0x4c,(int3)DAT_18262b5b8); local_a0 = local_res20; fStack_9c = 5.60519e-45; if (param_4 != '\0') { fStack_9c = 2.8026e-45; } uStack_98 = 0; FUN_18124d610(&local_a0,param_2,&local_88); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x1c8)); cVar1 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar1 == '\0') { for (pfVar2 = local_88; pfVar2 != local_88 + local_7c; pfVar2 = pfVar2 + 1) { fVar4 = *pfVar2; if (fVar4 == DAT_1824c4600) { pfVar2 = pfVar2 + 2; } else if (((fVar4 == DAT_1824c45fc) || (fVar4 == DAT_1824c4604)) || (fVar4 == DAT_1824c4608)) { local_a0 = _DAT_1824c4780; fStack_9c = (float)_UNK_1824c4784; uStack_98 = CONCAT44(_UNK_1824c478c,_UNK_1824c4788); local_90 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_88,&local_a0); break; } } } local_7c = 0; /* WARNING: Subroutine does not return */ free(local_88); } ############ FUN_ 181339080 size=109 ############ void FUN_181339080(longlong param_1,longlong param_2) { undefined4 *puVar1; undefined1 local_res8 [8]; undefined8 local_18; undefined4 uStack_10; undefined4 uStack_c; puVar1 = (undefined4 *)FUN_18134a8d0(param_1,local_res8,0x1000204,1); FUN_181296c00(param_2,*puVar1); uStack_10 = *(undefined4 *)(param_1 + 0x28); uStack_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_18,0); return; } ############ FUN_ 1813be6b0 size=98 ############ void FUN_1813be6b0(longlong param_1,longlong param_2) { undefined4 local_18; int local_14; undefined4 local_10; undefined4 local_c; FUN_181296c00(param_2,DAT_18248ca98); local_14 = *(int *)(param_1 + 0xd0) + 2; local_10 = *(undefined4 *)(param_1 + 0x28); local_18 = 0; local_c = 1; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_18,0); return; } ############ FUN_ 1813bf0d0 size=497 ############ void FUN_1813bf0d0(longlong param_1,undefined8 param_2) { uint uVar1; longlong lVar2; undefined4 *puVar3; uint *puVar4; longlong *plVar5; undefined1 local_res18 [8]; undefined1 local_res20 [8]; longlong local_78; longlong local_70; undefined8 local_68; undefined4 local_60; int iStack_5c; int local_58; int iStack_54; undefined4 local_50; float fStack_4c; float fStack_48; float fStack_44; undefined4 local_38; float fStack_34; float fStack_30; float fStack_2c; local_68 = 0xfffffffffffffffe; puVar3 = (undefined4 *)FUN_18134a8d0(param_1,local_res18,0x1007000,0); FUN_1812a3160(param_2,*puVar3); if ((*(byte *)(param_1 + 0x140) & 8) != 0) { puVar3 = (undefined4 *)FUN_18134a8d0(param_1,local_res20,0x1007001,0); FUN_181296c00(param_2,*puVar3); FUN_1812966f0(param_2); for (plVar5 = (longlong *)(param_1 + 0xf8); plVar5 != (longlong *)(param_1 + 0x118); plVar5 = plVar5 + 1) { if ((*(byte *)(*plVar5 + 0xa8) >> 1 & 1) != 0) { local_78 = *(longlong *)(*plVar5 + 8); if ((*(uint *)(local_78 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_78,&DAT_1821e4ae4,&DAT_1821e4ae5); local_70 = local_78; if ((*(uint *)(local_78 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(local_78 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } lVar2 = *plVar5; iStack_54 = *(int *)(lVar2 + 0x2c); iStack_5c = *(int *)(lVar2 + 0x24); local_60 = 0; local_58 = *(int *)(lVar2 + 0x20) + -8; fStack_44 = (float)iStack_54; fStack_48 = (float)local_58; fStack_4c = (float)iStack_5c; local_50 = 0; local_38 = 0; fStack_34 = fStack_4c; fStack_30 = fStack_48; fStack_2c = fStack_44; FUN_1812963b0(param_2,&local_70,&local_38,0x22,0); puVar4 = (uint *)(local_70 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } } } return; } ############ FUN_ 1813bfa00 size=172 ############ void FUN_1813bfa00(longlong param_1,undefined8 param_2,int param_3,int param_4) { undefined4 *puVar1; undefined1 local_res18 [8]; undefined4 local_18; undefined4 local_14; float local_10; float local_c; puVar1 = (undefined4 *)FUN_18134a8d0(param_1,local_res18,0x1001c00,0); FUN_181296c00(param_2,*puVar1); local_10 = (float)param_3 - DAT_1824c442c; local_c = (float)param_4 - DAT_1824c4414; local_18 = DAT_1824c43e8; local_14 = DAT_1824c43a8; FUN_18124e500(param_1 + 0x108,param_2,&local_18); return; } ############ FUN_ 1813c5c40 size=865 ############ void FUN_1813c5c40(longlong param_1,longlong param_2) { longlong *plVar1; float fVar2; uint uVar3; double dVar4; int iVar5; longlong lVar6; float fVar7; float fVar8; float fVar9; int iVar10; int iVar11; undefined4 *puVar12; longlong *plVar13; undefined8 uVar14; uint *_Memory; longlong lVar15; int iVar16; longlong *plVar17; int iVar18; undefined4 local_res8 [2]; undefined1 local_res10 [8]; longlong local_res18; longlong local_res20; void *local_f8; ulonglong local_f0; int local_e8; undefined4 uStack_e4; int iStack_e0; undefined4 uStack_dc; undefined1 local_d8 [4]; int local_d4; int local_cc; float local_c8; float local_c4; float local_c0; float local_bc; int local_b8; undefined4 uStack_b4; int iStack_b0; undefined4 uStack_ac; float local_a8; puVar12 = (undefined4 *)FUN_18134a8d0(param_1,local_res10,0x1004500,0); FUN_1812a3160(param_2,*puVar12); iVar16 = 5; if (*(char *)(param_1 + 0xfa) != '\0') { iVar16 = 0x23; } if ((*(byte *)(param_1 + 0x350) >> 1 & 1) == 0) { uStack_dc = *(undefined4 *)(param_1 + 0x2c); } else { uStack_dc = *(undefined4 *)(param_1 + 0x2cc); } if ((*(byte *)(param_1 + 0x200) >> 1 & 1) == 0) { iStack_e0 = *(int *)(param_1 + 0x28); } else { iStack_e0 = *(int *)(param_1 + 0x178); } uStack_e4 = 0; iStack_e0 = iStack_e0 - iVar16; uStack_b4 = 0; local_e8 = iVar16; local_b8 = iVar16; iStack_b0 = iStack_e0; uStack_ac = uStack_dc; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x28))(*(longlong **)(param_2 + 8),&local_b8); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),param_1 + 0xd0); (**(code **)(**(longlong **)(param_2 + 8) + 0x58))(*(longlong **)(param_2 + 8),local_d8); fVar9 = DAT_1824c3f78; fVar8 = DAT_1824c3ea4; fVar7 = DAT_1824c3d8c; iVar10 = local_d4 / *(int *)(param_1 + 0xe4); iVar18 = 0; if (0 < iVar10) { iVar18 = iVar10; } iVar11 = (local_cc + local_d4) / *(int *)(param_1 + 0xe4) + 1; iVar10 = *(int *)(param_1 + 0x43c); if (iVar11 < *(int *)(param_1 + 0x43c)) { iVar10 = iVar11; } fVar2 = *(float *)(param_1 + 0xe0); dVar4 = *(double *)(param_1 + 0x100); local_f8 = (void *)0x0; local_f0 = 0; for (lVar15 = (longlong)iVar18; lVar15 < iVar10; lVar15 = lVar15 + 1) { lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x430) + lVar15 * 8); iVar11 = *(int *)(lVar6 + 0x14); iVar5 = *(int *)(lVar6 + 0x10); if (iVar5 < iVar11) { local_c0 = (float)(iVar11 - iVar5) * *(float *)(param_1 + 0xe0) + fVar9; local_c8 = ((float)iVar5 * *(float *)(param_1 + 0xe0) + (float)((double)iVar16 - (double)fVar2 * dVar4)) - fVar8; local_c4 = (float)(*(int *)(param_1 + 0xe4) * iVar18) - fVar7; local_bc = (float)*(int *)(param_1 + 0xe4) + fVar8; local_a8 = local_c8; FUN_18051cfc0(&local_f8,&local_c8); } iVar18 = iVar18 + 1; } plVar13 = (longlong *)FUN_1804e4ce0(&local_res18,0x1004502); plVar17 = *(longlong **)(param_1 + 0x90); plVar1 = plVar17 + (longlong)*(int *)(param_1 + 0x9c) * 3; if (plVar17 != plVar1) { local_res20 = *plVar13; do { if (*plVar17 == local_res20) { plVar17 = plVar17 + 1; goto LAB_1813c5efd; } plVar17 = plVar17 + 3; } while (plVar17 != plVar1); } plVar17 = (longlong *)0x0; LAB_1813c5efd: _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (plVar17 == (longlong *)0x0) { uVar14 = FUN_18134adf0(param_1); FUN_181346420(uVar14,local_res8,0x1004502); } else { local_res8[0] = (**(code **)(*(longlong *)*plVar17 + 8))((longlong *)*plVar17,plVar17 + 1); } FUN_181296c00(param_2,local_res8[0]); (**(code **)(**(longlong **)(param_2 + 8) + 0xb0))(*(longlong **)(param_2 + 8),&local_f8); local_f0 = local_f0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_f8); } ############ FUN_ 1813ea380 size=881 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813ea380(longlong param_1,longlong param_2) { float fVar1; bool bVar2; bool bVar3; char cVar4; longlong lVar5; undefined8 *puVar6; longlong lVar7; float *pfVar8; float fVar9; undefined4 uVar10; undefined4 uVar11; undefined1 uVar12; undefined1 uVar13; undefined1 uVar14; undefined1 uVar15; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; void *local_70 [3]; undefined8 local_58; undefined8 uStack_50; float *local_48; undefined8 local_40; undefined8 local_38; undefined8 uStack_30; undefined1 local_28; undefined8 local_20; local_20 = 0xfffffffffffffffe; lVar5 = *(longlong *)(param_1 + 200); lVar7 = (longlong)*(int *)(param_1 + 0xd4) * 0x10 + lVar5; bVar3 = true; bVar2 = false; for (; lVar5 != lVar7; lVar5 = lVar5 + 0x10) { if (*(char *)(lVar5 + 0xb) != '\0') { local_88 = *(undefined8 *)(param_1 + 0xb0); uStack_80 = *(undefined8 *)(param_1 + 0xb8); local_78 = CONCAT71(local_78._1_7_,*(undefined1 *)(param_1 + 0xc0)); FUN_1804aaeb0(local_70,param_1 + 200); local_88 = CONCAT44(local_88._4_4_ * (float)*(int *)(param_1 + 0x2c), (float)local_88 * (float)*(int *)(param_1 + 0x28)); uStack_80 = CONCAT44(uStack_80._4_4_ * (float)*(int *)(param_1 + 0x2c), (float)uStack_80 * (float)*(int *)(param_1 + 0x28)); FUN_181296a90(param_2,&local_88); /* WARNING: Subroutine does not return */ free(local_70[0]); } } if ((((*(char *)(param_1 + 0xf0) != '\0') || (*(char *)(param_1 + 0xf1) != '\0')) || (*(char *)(param_1 + 0xf2) != '\0')) || (*(char *)(param_1 + 0xf3) != '\0')) { bVar2 = true; } if (bVar2) { FUN_181296c00(); if (((*(char *)(param_1 + 0xf0) == '\0') && (*(char *)(param_1 + 0xf1) == '\0')) && ((*(char *)(param_1 + 0xf2) == '\0' && (*(char *)(param_1 + 0xf3) == '\0')))) { bVar3 = false; } if (bVar3) { fVar9 = (float)*(int *)(param_1 + 0x2c); uVar10 = *(undefined4 *)(param_1 + 0xec); local_48 = (float *)0x0; local_40 = 0; local_38 = 0; uStack_30 = 0; local_28 = 1; uVar15 = *(undefined1 *)(param_1 + 0xf2); uVar14 = *(undefined1 *)(param_1 + 0xf3); uVar13 = *(undefined1 *)(param_1 + 0xf1); uVar12 = *(undefined1 *)(param_1 + 0xf0); uVar11 = uVar10; FUN_18129d5a0(&local_48,0); cVar4 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar4 == '\0') { for (pfVar8 = local_48; pfVar8 != local_48 + local_40._4_4_; pfVar8 = pfVar8 + 1) { fVar1 = *pfVar8; if (fVar1 == DAT_1824c4600) { pfVar8 = pfVar8 + 2; } else if (((fVar1 == DAT_1824c45fc) || (fVar1 == DAT_1824c4604)) || (fVar1 == DAT_1824c4608)) { local_88 = _DAT_1824c4780; uStack_80 = _UNK_1824c4788; local_78 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_48,&local_88); break; } } } FUN_181296c00(param_2,0x19ffffff); local_88 = _DAT_1824c4820; uStack_80 = _UNK_1824c4828; local_78 = 0x3f800000; local_58 = 0x3f000000; uStack_50._0_4_ = 0; FUN_181295d20(param_2,&local_48,&local_58,&local_88,fVar9,uVar10,uVar11,uVar12,uVar13,uVar14, uVar15); FUN_181296c00(param_2,0xc000000); local_88 = _DAT_1824c4780; uStack_80 = _UNK_1824c4788; local_78 = 0x3f800000; local_58 = 0x3f000000; uStack_50 = (ulonglong)uStack_50._4_4_ << 0x20; FUN_181295d20(param_2,&local_48,&local_58,&local_88); local_40 = local_40 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_48); } puVar6 = (undefined8 *) (**(code **)(**(longlong **)(param_2 + 8) + 0x58)) (*(longlong **)(param_2 + 8),&local_88); local_58 = *puVar6; uStack_50 = puVar6[1]; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_58,0); } else { FUN_1812a3160(param_2,*(undefined4 *)(param_1 + 0xd8)); } return; } ############ FUN_ 181493d80 size=490 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181493d80(longlong param_1,longlong param_2,char param_3) { int *piVar1; longlong *plVar2; uint uVar3; int iVar4; undefined4 uVar5; char cVar6; undefined1 uVar7; undefined8 uVar8; undefined8 *puVar9; uint *_Memory; undefined1 auStack_e8 [32]; undefined1 local_c8; undefined4 local_b8; undefined1 local_b0 [8]; longlong local_a8; undefined8 *local_a0; float local_98; float fStack_94; float fStack_90; float fStack_8c; undefined1 local_88 [16]; undefined8 local_78; float local_68; float fStack_64; float fStack_60; float fStack_5c; longlong *local_58; undefined1 local_50 [8]; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; plVar2 = (longlong *)(param_1 + 0x1c8); (**(code **)(*plVar2 + 8))(plVar2); uVar8 = (**(code **)(*plVar2 + 8))(plVar2); FUN_1813f2500(uVar8,&local_a0); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_a0); FUN_1814acd80(param_1,local_88); uVar5 = DAT_182674280; uVar8 = (**(code **)(*plVar2 + 8))(plVar2); FUN_1813f22a0(uVar8,local_b0,uVar5,param_1); puVar9 = (undefined8 *) (**(code **)(*(longlong *)(param_1 + 0x1f0) + 0x10)) ((longlong *)(param_1 + 0x1f0),&local_58); cVar6 = (**(code **)(*(longlong *)*puVar9 + 0x28))((longlong *)*puVar9,puVar9 + 1); (**(code **)(*local_58 + 0xb0))(local_58,local_50); if ((param_3 == '\0') && (cVar6 == '\0')) { uVar7 = 0x4c; } else { uVar7 = 0xff; } local_b8 = CONCAT13(uVar7,(int3)local_b0._4_4_); FUN_181296c00(param_2,local_b8); FUN_18049c4e0(&local_a8,"band listen"); fStack_8c = (float)SUB84(local_88._8_8_,4); fStack_90 = (float)(int)local_88._8_8_; fStack_94 = (float)SUB84(local_88._0_8_,4); local_98 = (float)(int)local_88._0_8_; local_c8 = 1; local_68 = local_98; fStack_64 = fStack_94; fStack_60 = fStack_90; fStack_5c = fStack_8c; FUN_1812963b0(param_2,&local_a8,&local_68,0x21); _Memory = (uint *)(local_a8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (local_a0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_a0 + 1); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*local_a0)(local_a0,1); } } } ############ FUN_ 1814c1760 size=1109 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814c1760(longlong *param_1,longlong param_2) { longlong *plVar1; undefined4 uVar2; float fVar3; char cVar4; longlong lVar5; float *pfVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; undefined4 local_res8; undefined4 local_resc; undefined8 local_128; undefined8 uStack_120; undefined8 local_118; void *local_108; undefined8 local_100; undefined8 local_f8; undefined8 uStack_f0; undefined1 local_e8; float local_e0 [4]; float *local_d0; undefined8 local_c8; undefined8 local_c0; undefined8 uStack_b8; undefined1 local_b0; undefined8 local_a8; undefined8 local_a0; undefined8 local_98; undefined8 uStack_90; undefined1 local_88; undefined8 local_80; local_80 = 0xfffffffffffffffe; plVar1 = param_1 + 0x16; lVar5 = (**(code **)(*plVar1 + 8))(plVar1); fVar10 = *(float *)(lVar5 + 0x88); lVar5 = (**(code **)(*plVar1 + 8))(plVar1); fVar9 = *(float *)(lVar5 + 0x88); lVar5 = (**(code **)(*plVar1 + 8))(plVar1); uVar2 = *(undefined4 *)(lVar5 + 0x88); lVar5 = (**(code **)(*plVar1 + 8))(plVar1); fVar8 = *(float *)(lVar5 + 0x88) * _DAT_1824c4588; fVar9 = fVar9 * DAT_1824c4424; fVar10 = fVar10 * DAT_1824c4424; local_e0[3] = *(float *)((longlong)param_1 + 0x2c); local_e0[2] = (float)param_1[5]; local_e0[0] = 0.0; local_e0[1] = 0.0; lVar5 = (**(code **)(*plVar1 + 8))(plVar1); fVar11 = *(float *)(lVar5 + 0x88) * _DAT_1824c458c; (**(code **)(*plVar1 + 8))(plVar1); local_a8 = 0; local_a0 = 0; local_98 = 0; uStack_90 = 0; local_88 = 1; local_128 = CONCAT44(uVar2,fVar8); uStack_120 = CONCAT44(fVar10,fVar9); FUN_18129d1e0(&local_a8,&local_128); local_d0 = (float *)0x0; local_c8 = 0; local_c0 = 0; uStack_b8 = 0; local_b0 = 1; FUN_18129d850(&local_d0,0); local_b0 = 0; FUN_18129bd50(&local_d0,&local_a8); local_res8._0_3_ = (undefined3)DAT_18262bb60; local_res8 = CONCAT13(0x26,(undefined3)local_res8); FUN_181296c00(param_2,local_res8); cVar4 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar4 == '\0') { for (pfVar6 = local_d0; pfVar6 != local_d0 + local_c8._4_4_; pfVar6 = pfVar6 + 1) { fVar3 = *pfVar6; if (fVar3 == DAT_1824c4600) { pfVar6 = pfVar6 + 2; } else if (((fVar3 == DAT_1824c45fc) || (fVar3 == DAT_1824c4604)) || (fVar3 == DAT_1824c4608)) { local_128 = _DAT_1824c4780; uStack_120 = _UNK_1824c4788; local_118 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_d0,&local_128); break; } } } local_108 = (void *)0x0; local_100 = 0; local_f8 = 0; uStack_f0 = 0; local_e8 = 1; local_128 = CONCAT44(uVar2,fVar8); uStack_120 = CONCAT44(fVar10,fVar9); FUN_18129d1e0(&local_108,&local_128); pfVar6 = (float *)(**(code **)(*param_1 + 0x178))(param_1,&local_128); fVar3 = pfVar6[1]; fVar7 = pfVar6[2] + *pfVar6; if (local_100._4_4_ == 0) { local_f8 = CONCAT44(fVar7,fVar7); uStack_f0 = (ulonglong)(uint)fVar3; } else { if ((float)local_f8 <= fVar7) { if (local_f8._4_4_ < fVar7) { local_f8 = CONCAT44(fVar7,(float)local_f8); } } else { local_f8 = CONCAT44(local_f8._4_4_,fVar7); } if (fVar3 < (float)uStack_f0) { uStack_f0 = CONCAT44(uStack_f0._4_4_,fVar3); goto LAB_1814c1a6b; } if (fVar3 <= uStack_f0._4_4_) goto LAB_1814c1a6b; } uStack_f0 = CONCAT44(fVar3,(float)uStack_f0); LAB_1814c1a6b: FUN_1804b02a0(&local_108,&DAT_1821df344); FUN_18129ddd0(&local_108,fVar11); local_e8 = 0; local_128 = CONCAT44(uVar2,fVar8); uStack_120 = CONCAT44(fVar10,fVar9); FUN_18129d1e0(&local_108,&local_128); if ((local_100._4_4_ != 0) && ((local_100._4_4_ < 1 || (*(float *)((longlong)local_108 + (longlong)(local_100._4_4_ + -1) * 4) != DAT_1824c460c)))) { if ((int)local_100 < local_100._4_4_ + 1) { FUN_1804af790(&local_108,local_100._4_4_ + 9 + (local_100._4_4_ + 1) / 2 & 0xfffffff8); } lVar5 = (longlong)local_100._4_4_; local_100 = CONCAT44(local_100._4_4_ + 1,(int)local_100); *(undefined4 *)((longlong)local_108 + lVar5 * 4) = 0x47c35280; } FUN_1813f22a0(param_1[0x17],&local_res8,DAT_182674244,param_1); local_res8._0_3_ = (undefined3)local_resc; local_res8 = CONCAT13(0xe6,(undefined3)local_res8); FUN_181296c00(param_2,local_res8); local_128 = _DAT_1824c4780; uStack_120 = _UNK_1824c4788; local_118 = 0x3f800000; lVar5 = (**(code **)(*plVar1 + 8))(plVar1); local_e0[0] = *(float *)(lVar5 + 0x88) * DAT_1824c3f78; local_e0[1] = 0.0; local_e0[2] = 0.0; FUN_181295d20(param_2,&local_108,local_e0,&local_128); local_100 = local_100 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_108); } ############ FUN_ 1814c2fd0 size=68 ############ void FUN_1814c2fd0(longlong param_1,undefined8 param_2,char param_3) { undefined4 uVar1; if (param_3 == '\0') { uVar1 = *(undefined4 *)(param_1 + 0x2e8); } else { uVar1 = *(undefined4 *)(param_1 + 0x2ec); } FUN_181296c00(param_2,uVar1); FUN_181295ed0(param_2,param_1 + 0x1f8); return; } ############ FUN_ 1814c4b90 size=211 ############ void FUN_1814c4b90(longlong param_1,longlong param_2) { undefined1 local_18 [16]; FUN_181296c00(param_2,DAT_18262bb5c); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),param_1 + 200); local_18 = ZEXT416((uint)(float)*(int *)(param_1 + 0x28)) << 0x40; FUN_1812963b0(param_2,param_1 + 8,local_18,9,1); return; } ############ FUN_ 1814c4de0 size=1409 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814c4de0(longlong param_1,longlong param_2) { int *piVar1; longlong *plVar2; int iVar3; float fVar4; float fVar5; float fVar6; longlong lVar7; longlong *plVar8; longlong lVar9; uint *_Memory; ulonglong uVar10; uint uVar11; ulonglong uVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; undefined4 local_res8; undefined8 *local_res20; float local_1a8; float local_1a0; longlong local_198; int local_190; int iStack_18c; int local_188; int iStack_184; float local_178; float local_174; float local_170; float local_16c; float local_168; float local_164; float local_160; float local_15c; double local_158; double local_150; double local_148; double local_140; float local_138; float fStack_134; float fStack_130; float fStack_12c; undefined8 local_118; float local_108; float fStack_104; float fStack_100; float fStack_fc; float local_f8; float fStack_f4; float fStack_f0; float fStack_ec; float local_e8; local_118 = 0xfffffffffffffffe; plVar2 = (longlong *)(param_1 + 0xb0); lVar7 = (**(code **)(*plVar2 + 8))(plVar2); local_1a8 = (float)((uint)(*(float *)(lVar7 + 0x88) * DAT_1824c41e0) ^ DAT_1824c4f30); local_1a0 = local_1a8 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x28); if (local_1a0 <= 0.0) { local_1a0 = 0.0; } fVar16 = local_1a8 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x2c); if (fVar16 <= 0.0) { fVar16 = 0.0; } fVar17 = 0.0 - local_1a8; local_1a8 = 0.0 - local_1a8; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),param_1 + 0xe8); FUN_181296c00(param_2,DAT_18262bb5c); fVar6 = DAT_1824c43d8; fVar5 = DAT_1824c4334; fVar4 = DAT_1824c42d0; uVar10 = 0; uVar12 = uVar10; if (*(longlong *)(param_1 + 0xd0) - *(longlong *)(param_1 + 200) >> 3 != 0) { do { lVar7 = *(longlong *)(param_1 + 200) + uVar10 * 8; plVar8 = (longlong *)(**(code **)(**(longlong **)(param_2 + 8) + 0xd8))(); local_res20 = (undefined8 *)*plVar8; if (local_res20 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res20 + 1) = *(int *)(local_res20 + 1) + 1; UNLOCK(); } fVar13 = (float)FUN_1812518d0(&local_res20,lVar7); if (local_res20 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res20 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res20)(local_res20,1); } } lVar9 = (**(code **)(*plVar2 + 8))(plVar2); fVar13 = *(float *)(lVar9 + 0x88) * fVar6 + fVar13; fVar15 = local_1a0; if (fVar13 <= local_1a0) { fVar15 = fVar13; } local_1a0 = local_1a0 - fVar15; local_res8 = CONCAT13(0xb3,(int3)DAT_18262bb5c); local_e8 = local_1a8; FUN_181296c00(param_2,local_res8); local_178 = local_1a8; local_174 = fVar17; local_170 = fVar15; local_16c = fVar16; (**(code **)(*plVar2 + 8))(plVar2); lVar9 = (**(code **)(*plVar2 + 8))(plVar2); FUN_181295190(param_2,&local_178,*(float *)(lVar9 + 0x88) * fVar4); FUN_181296c00(param_2,DAT_18262bb5c); local_168 = local_1a8; local_164 = fVar17; local_160 = fVar15; local_15c = fVar16; FUN_1812963b0(param_2,lVar7,&local_168,0x24,1); lVar7 = (**(code **)(*plVar2 + 8))(plVar2); fVar14 = *(float *)(lVar7 + 0x88) * fVar5; fVar13 = local_1a0; if (fVar14 <= local_1a0) { fVar13 = fVar14; } local_1a8 = local_1a8 + fVar15 + fVar13; local_1a0 = local_1a0 - fVar13; if (uVar10 < (*(longlong *)(param_1 + 0xd0) - *(longlong *)(param_1 + 200) >> 3) - 1U) { FUN_18049c4e0(&local_198,&DAT_1821ea324); lVar7 = (**(code **)(*plVar2 + 8))(plVar2); fVar13 = *(float *)(lVar7 + 0x88) * fVar5; fStack_130 = local_1a0; if (fVar13 <= local_1a0) { fStack_130 = fVar13; } fVar13 = local_1a8 + fStack_130; local_1a0 = local_1a0 - fStack_130; local_138 = local_1a8; fStack_134 = fVar17; fStack_12c = fVar16; local_108 = local_1a8; fStack_104 = fVar17; fStack_100 = fStack_130; fStack_fc = fVar16; FUN_1812963b0(param_2,&local_198,&local_108,0x24,1); _Memory = (uint *)(local_198 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar11 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar11 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } lVar7 = (**(code **)(*plVar2 + 8))(plVar2); fVar14 = *(float *)(lVar7 + 0x88) * fVar5; fVar15 = local_1a0; if (fVar14 <= local_1a0) { fVar15 = fVar14; } local_1a8 = fVar13 + fVar15; local_1a0 = local_1a0 - fVar15; } uVar11 = (int)uVar12 + 1; uVar10 = (ulonglong)(int)uVar11; uVar12 = (ulonglong)uVar11; } while (uVar10 < (ulonglong)(*(longlong *)(param_1 + 0xd0) - *(longlong *)(param_1 + 200) >> 3) ); } local_158 = (double)local_1a8 + DAT_1824c4520; local_150 = (double)fVar17 + DAT_1824c4520; local_148 = (double)local_1a0 + DAT_1824c4520; local_140 = (double)fVar16 + DAT_1824c4520; local_190 = SUB84(local_158,0); iStack_18c = local_150._0_4_; local_188 = SUB84(local_148,0); iStack_184 = local_140._0_4_; local_f8 = (float)local_190; fStack_f4 = (float)local_150._0_4_; fStack_f0 = (float)local_188; fStack_ec = (float)local_140._0_4_; FUN_1812963b0(param_2,param_1 + 0xe0,&local_f8,0x21,1); return; } ############ FUN_ 1814ce9e0 size=622 ############ void FUN_1814ce9e0(longlong param_1,undefined8 param_2) { float fVar1; float fVar2; float fVar3; float fVar4; char cVar5; longlong lVar6; float fVar7; float fVar8; float fVar9; undefined4 local_res8; undefined8 local_88; float fStack_80; float fStack_7c; cVar5 = FUN_18133e590(param_1,1); if (((cVar5 != '\0') && (*(char *)(*(longlong *)(param_1 + 200) + 0x58) == '\0')) && (*(longlong *)(*(longlong *)(param_1 + 200) + 0x50) != 0)) { local_res8 = CONCAT13(0x19,(int3)DAT_18262bb5c); FUN_181296c00(param_2,local_res8); fStack_80 = (float)*(int *)(param_1 + 0x28); fStack_7c = (float)*(int *)(param_1 + 0x2c); local_88 = 0; lVar6 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); FUN_181295300(param_2,&local_88,*(float *)(lVar6 + 0x88) * DAT_1824c42d0); } FUN_181296c00(param_2,0x987a8387); fVar4 = DAT_1824c3d8c; fVar1 = *(float *)(param_1 + 0x3b8); fVar7 = (fVar1 - fVar1) * DAT_1824c3d8c; fVar2 = *(float *)(param_1 + 0x3b0); fVar9 = (*(float *)(param_1 + 0x3bc) - fVar1) * DAT_1824c3d8c + *(float *)(param_1 + 0x3b4); if (*(char *)(*(longlong *)(param_1 + 200) + 0x58) == '\0') { fVar8 = fVar1 * DAT_1824c3d8c; lVar6 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); fVar3 = *(float *)(lVar6 + 0x88); lVar6 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); fStack_80 = fVar1 - fVar3 * DAT_1824c41e0; fStack_7c = (fVar9 + fVar1) - (*(float *)(lVar6 + 0x88) * DAT_1824c41e0 + fVar9); if (fStack_80 <= 0.0) { fStack_80 = 0.0; } if (fStack_7c <= 0.0) { fStack_7c = 0.0; } local_88 = CONCAT44((fVar8 + fVar9) - fStack_7c * fVar4, (fVar8 + fVar7 + fVar2) - fStack_80 * fVar4); FUN_181295820(param_2,&local_88); } else { FUN_181295ed0(param_2,param_1 + 0x3c0); } return; } ############ FUN_ 1814cf280 size=1686 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ DWORD FUN_1814cf280(longlong param_1,longlong param_2) { uint uVar1; char cVar2; DWORD DVar3; DWORD DVar4; longlong lVar5; float *pfVar6; int iVar7; float fVar8; float fVar9; float fVar10; float fVar11; float fVar12; float *local_168; undefined8 local_160; float local_158; float local_154; float local_150; float local_14c; undefined1 local_148; float *local_140; undefined8 local_138; undefined8 local_130; undefined8 uStack_128; undefined1 local_120; float local_118 [4]; float local_108; float local_104; float local_100; float local_fc; undefined8 local_f8; undefined8 uStack_f0; undefined8 local_e8; float local_e0; uint local_dc; float local_d8; float local_d4; float local_d0; float local_cc; undefined8 local_c8; undefined8 uStack_c0; undefined8 local_b8; float local_b0; uint local_ac; float local_a8; float local_a4; float local_a0; float local_9c; undefined8 local_98; undefined8 uStack_90; ulonglong local_88; undefined8 local_80; local_80 = 0xfffffffffffffffe; DVar3 = timeGetTime(); if (DVar3 < DAT_1826737fc) { uVar1 = DAT_1826737fc; DVar4 = DVar3; if (DVar3 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); uVar1 = DVar3; } } else { LOCK(); UNLOCK(); uVar1 = DVar3; DVar4 = DAT_1826737fc; } DAT_1826737fc = uVar1; iVar7 = DVar3 - *(int *)(param_1 + 0x2a0); if (*(longlong *)(param_1 + 0x290) == 0) { if (*(longlong *)(param_1 + 0x298) == 0) { return DVar4; } lVar5 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); fVar11 = *(float *)(lVar5 + 0x88) * DAT_1824c43d8; (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); fVar10 = sinf((float)iVar7 / DAT_1824c4540); fVar9 = (float)((uint)fVar11 ^ DAT_1824c4f30); fVar8 = fVar9 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x28); if (fVar8 <= 0.0) { fVar8 = 0.0; } fVar12 = fVar9 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x2c); if (fVar12 <= 0.0) { fVar12 = 0.0; } fVar12 = fVar12 * DAT_1824c3d8c + (0.0 - fVar9); fVar8 = fVar8 * DAT_1824c3d8c + (0.0 - fVar9); local_168 = (float *)0x0; local_160._0_4_ = 0; local_160._4_4_ = 0; local_148 = 1; local_150 = fVar12 - (fVar10 * DAT_1824c3d8c + DAT_1824c3d8c) * fVar11; local_158 = fVar8; local_154 = fVar8; local_14c = local_150; FUN_1804b02a0(&local_168,&DAT_1821df344); FUN_18129ddd0(&local_168); FUN_18129ddd0(&local_168); if ((local_160._4_4_ != 0) && ((local_160._4_4_ < 1 || (local_168[local_160._4_4_ + -1] != DAT_1824c460c)))) { if ((int)(uint)local_160 < local_160._4_4_ + 1) { FUN_1804af790(&local_168,local_160._4_4_ + 9 + (local_160._4_4_ + 1) / 2 & 0xfffffff8); } local_160._4_4_ = 1; *local_168 = 100005.0; } fVar9 = (*(float *)(*(longlong *)(param_1 + 0x298) + 8) * DAT_1824c42e0) / DAT_1824c4518; fVar10 = cosf(fVar9); local_a4 = sinf(fVar9); local_ac = (uint)local_a4 ^ DAT_1824c4f30; local_a8 = (local_a4 * fVar12 - fVar10 * fVar8) + fVar8; local_9c = fVar12 - (local_a4 * fVar8 + fVar10 * fVar12); local_b0 = fVar10; local_a0 = fVar10; FUN_18129b680(&local_168,&local_b0); FUN_181296c00(param_2,DAT_18262bb5c); cVar2 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar2 == '\0') { for (pfVar6 = local_168; pfVar6 != local_168 + local_160._4_4_; pfVar6 = pfVar6 + 1) { fVar8 = *pfVar6; if (fVar8 == DAT_1824c4600) { pfVar6 = pfVar6 + 2; } else if (((fVar8 == DAT_1824c45fc) || (fVar8 == DAT_1824c4604)) || (fVar8 == DAT_1824c4608)) { local_98 = _DAT_1824c4780; uStack_90 = _UNK_1824c4788; local_88 = (ulonglong)DAT_1824c3ea4; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_168,&local_98); break; } } } local_160 = (ulonglong)(uint)local_160; pfVar6 = local_168; } else { lVar5 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); fVar8 = (float)((uint)(*(float *)(lVar5 + 0x88) * DAT_1824c41e0) ^ DAT_1824c4f30); fVar10 = fVar8 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x28); if (fVar10 <= 0.0) { fVar10 = 0.0; } fVar9 = fVar8 * DAT_1824c41e0 + (float)*(int *)(param_1 + 0x2c); if (fVar9 <= 0.0) { fVar9 = 0.0; } local_140 = (float *)0x0; local_138 = 0; local_130 = 0; uStack_128 = 0; local_120 = 1; local_108 = 0.0 - fVar8; local_104 = 0.0 - fVar8; local_100 = fVar10; local_fc = fVar9; FUN_18129d1e0(&local_140,&local_108); lVar5 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); local_118[0] = *(float *)(lVar5 + 0x88) * DAT_1824c42d0; local_118[1] = 0.0; local_118[2] = 0.0; local_f8 = _DAT_1824c4780; uStack_f0 = _UNK_1824c4788; local_e8 = 0x3f800000; FUN_181297340(local_118,&local_140,&local_140,param_1 + 0x284,2,&local_f8,DAT_1824c3ea4); fVar9 = fVar9 * DAT_1824c3d8c + (0.0 - fVar8); fVar11 = fVar10 * DAT_1824c3d8c + (0.0 - fVar8); fVar10 = (float)iVar7 / _DAT_1824c45b0; fVar8 = cosf(fVar10); local_d4 = sinf(fVar10); local_dc = (uint)local_d4 ^ DAT_1824c4f30; local_d8 = (local_d4 * fVar9 - fVar8 * fVar11) + fVar11; local_cc = fVar9 - (local_d4 * fVar11 + fVar8 * fVar9); local_e0 = fVar8; local_d0 = fVar8; FUN_18129b680(&local_140,&local_e0); FUN_181296c00(param_2,DAT_18262bb5c); cVar2 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar2 == '\0') { for (pfVar6 = local_140; pfVar6 != local_140 + local_138._4_4_; pfVar6 = pfVar6 + 1) { fVar8 = *pfVar6; if (fVar8 == DAT_1824c4600) { pfVar6 = pfVar6 + 2; } else if (((fVar8 == DAT_1824c45fc) || (fVar8 == DAT_1824c4604)) || (fVar8 == DAT_1824c4608)) { local_c8 = _DAT_1824c4780; uStack_c0 = _UNK_1824c4788; local_b8 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_140,&local_c8); break; } } } local_138 = local_138 & 0xffffffff; pfVar6 = local_140; } /* WARNING: Subroutine does not return */ free(pfVar6); } ############ FUN_ 1814d09a0 size=643 ############ void FUN_1814d09a0(longlong param_1,undefined8 param_2) { float fVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; undefined4 local_res8; float local_c8; float fStack_c4; float fStack_c0; float fStack_bc; undefined1 local_b8 [8]; float fStack_b0; float fStack_ac; fVar1 = DAT_1824c3d8c; fVar2 = (float)*(int *)(param_1 + 0x2c); fVar5 = fVar2 * DAT_1824c3d3c; fVar9 = fVar2 * DAT_1824c3e28; local_res8._0_3_ = (undefined3)DAT_18262bb5c; local_res8 = CONCAT13(0xe6,(undefined3)local_res8); fVar11 = (float)*(int *)(param_1 + 0x28); fVar3 = fVar2 * DAT_1824c3d8c; fVar7 = fVar2 * DAT_1824c3d18 * *(float *)(param_1 + 0x274) + fVar9; fVar10 = (fVar2 - fVar5) * DAT_1824c3d8c + 0.0; fVar8 = (*(float *)(param_1 + 0x270) * fVar11 - *(float *)(param_1 + 0x270) * fVar2) + fVar3; fVar4 = (fVar11 - fVar11) * DAT_1824c3d8c + 0.0; FUN_181296c00(param_2,local_res8); fVar9 = fVar9 * DAT_1824c3e58; fVar2 = fVar8 - fVar9; fStack_c0 = fVar11; if (fVar2 <= fVar11) { fStack_c0 = fVar2; } _local_b8 = ZEXT416((uint)(fVar4 + fStack_c0)); fVar2 = fVar11 - fStack_c0; fVar6 = fVar5 * fVar1; local_c8 = fVar4; fStack_c4 = fVar10; fStack_bc = fVar5; FUN_181295300(param_2,&local_c8,fVar6); FUN_181296c00(param_2,DAT_18262bb5c); if (fVar7 <= 0.0) { fVar7 = 0.0; } fVar1 = fVar7 * fVar1; local_c8 = fVar8 - fVar1; fStack_c4 = fVar3 - fVar1; fStack_c0 = fVar7; fStack_bc = fVar7; FUN_181295820(param_2,&local_c8); local_res8._0_3_ = (undefined3)DAT_18262bb5c; local_res8 = CONCAT13(0x33,(undefined3)local_res8); FUN_181296c00(param_2,local_res8); fVar9 = (fVar11 - fVar8) - fVar9; fStack_b0 = fVar2; if (fVar9 <= fVar2) { fStack_b0 = fVar9; } local_b8._4_4_ = fVar10; local_b8._0_4_ = ((float)local_b8._0_4_ + fVar2) - fStack_b0; fStack_ac = fVar5; FUN_181295300(param_2,local_b8,fVar6); return; } ############ FUN_ 1814d0d80 size=557 ############ void FUN_1814d0d80(longlong param_1,longlong param_2,char param_3) { int *piVar1; longlong *plVar2; int iVar3; longlong lVar4; undefined8 uVar5; undefined8 *local_res8; undefined4 local_res18; undefined4 local_48; undefined4 uStack_44; float fStack_40; float fStack_3c; float local_38; float fStack_34; float fStack_30; float fStack_2c; int local_28; int iStack_24; int iStack_20; int iStack_1c; if (param_3 != '\0') { local_res18 = CONCAT13(0x19,(int3)DAT_18262bb5c); FUN_181296c00(param_2,local_res18); fStack_3c = (float)*(int *)(param_1 + 0x2c); fStack_40 = (float)*(int *)(param_1 + 0x28); local_48 = 0; uStack_44 = 0; lVar4 = (**(code **)(*(longlong *)(param_1 + 0x1c8) + 8))(); FUN_181295300(param_2,&local_48,*(float *)(lVar4 + 0x88) * DAT_1824c4334); } plVar2 = (longlong *)(param_1 + 0x1c8); if (*(code **)(*plVar2 + 8) == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } uVar5 = *(undefined8 *)(param_1 + 0x1d0); } else { uVar5 = (**(code **)(*plVar2 + 8))(plVar2); } lVar4 = (**(code **)(*plVar2 + 8))(plVar2); FUN_1813f2500(uVar5,&local_res8,*(float *)(lVar4 + 0x88) * DAT_1824c441c); FUN_181296c00(param_2,DAT_18262bb5c); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_res8); local_28 = *(int *)(param_1 + 0x21c); iStack_24 = *(int *)(param_1 + 0x220); iStack_20 = *(int *)(param_1 + 0x224); iStack_1c = *(int *)(param_1 + 0x228); fStack_2c = (float)iStack_1c; fStack_30 = (float)iStack_20; fStack_34 = (float)iStack_24; local_38 = (float)local_28; FUN_1812963b0(param_2,param_1 + 8,&local_38,0x21,1); if (*(char *)(param_1 + 0x218) != '\0') { FUN_181295ed0(param_2,param_1 + 0x1f0); } if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 1814dc080 size=498 ############ void FUN_1814dc080(longlong param_1,longlong param_2) { int iVar1; undefined1 uVar2; uint uVar3; int iVar4; double dVar5; float fVar6; undefined4 local_res8; ulonglong local_58; int iStack_50; float fStack_4c; iVar1 = *(int *)(param_1 + 0x2c); uVar3 = (uint)((float)*(int *)(param_1 + 0x28) * *(float *)(param_1 + 0xc4)); iVar4 = (int)((float)*(int *)(param_1 + 0x28) * *(float *)(param_1 + 0xc0)); if (*(char *)(param_1 + 0x3dd) == '\0') { fVar6 = *(float *)(param_1 + 200) * DAT_1824c3d3c; if (0.0 < fVar6) { if (fVar6 < DAT_1824c3ea4) { uVar2 = (undefined1)(int)(fVar6 * DAT_1824c454c); } else { uVar2 = 0xff; } } else { uVar2 = 0; } local_res8._0_3_ = (undefined3)DAT_18262bb70; local_res8 = CONCAT13(uVar2,(undefined3)local_res8); FUN_181296c00(param_2,local_res8); _iStack_50 = CONCAT44(iVar1,iVar4); local_58 = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_58,0); local_58 = (ulonglong)uVar3; _iStack_50 = CONCAT44(iVar1,*(int *)(param_1 + 0x28) - uVar3); (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_58,0); } else { dVar5 = (double)((float)(*(uint *)(param_1 + 0x3d8) >> 0x18) * *(float *)(param_1 + 200)) + DAT_1824c4520; uVar2 = 0xff; if (SUB84(dVar5,0) < 0xff) { uVar2 = SUB81(dVar5,0); } local_res8._0_3_ = (undefined3)*(uint *)(param_1 + 0x3d8); local_res8 = CONCAT13(uVar2,(undefined3)local_res8); FUN_181296c00(param_2,local_res8); fVar6 = (float)iVar1; if (0.0 < fVar6) { local_58 = (ulonglong)(uint)(float)iVar4; _iStack_50 = CONCAT44(fVar6 - 0.0,0x3f800000); (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_58); if (0.0 < fVar6) { _iStack_50 = CONCAT44(fVar6 - 0.0,0x3f800000); local_58 = (ulonglong)(uint)(float)(int)uVar3; (**(code **)(**(longlong **)(param_2 + 8) + 0xa0))(*(longlong **)(param_2 + 8),&local_58); } } } return; } ############ FUN_ 1814ea2c0 size=786 ############ void FUN_1814ea2c0(longlong param_1,longlong param_2) { float *pfVar1; undefined1 auVar2 [16]; uint uVar3; longlong *plVar4; undefined4 uVar5; longlong lVar6; float fVar7; float fVar8; float fVar9; float fVar10; int iVar11; float fVar12; uint uVar13; longlong lVar14; undefined8 uVar15; int iVar16; int iVar17; ulonglong uVar18; float fVar19; int *piVar20; float fVar21; ulonglong uVar22; undefined8 local_res10; float local_res18; uint local_res20; float local_d4; float fStack_d0; float fStack_cc; float fStack_c8; uint local_c4; ulonglong local_c0; longlong local_b8; longlong local_b0; ulonglong local_a8; float local_98; float fStack_94; float fStack_90; float fStack_8c; undefined1 local_88 [4]; undefined4 local_84; longlong local_80; float local_78; float fStack_74; float fStack_70; float fStack_6c; auVar2 = *(undefined1 (*) [16])(param_1 + 0x20); local_res20 = *(uint *)(param_1 + 0xf0); uVar3 = *(uint *)(param_1 + 0xf4); lVar14 = *(longlong *)(param_1 + 0x118); iVar17 = auVar2._0_4_ + -8 + auVar2._8_4_; iVar11 = 0; if (0 < iVar17) { iVar11 = iVar17; } iVar16 = auVar2._12_4_ + -8; iVar17 = 0; if (0 < iVar16) { iVar17 = iVar16; } fVar12 = (float)(iVar11 / (int)local_res20); uVar13 = (uint)((longlong)iVar17 / (longlong)(int)uVar3); uVar22 = (longlong)iVar17 / (longlong)(int)uVar3 & 0xffffffff; local_res10 = param_2; local_res18 = fVar12; local_c4 = uVar13; local_80 = lVar14; FUN_181296c00(param_2,DAT_1826741dc); if (0 < (int)uVar3) { uVar18 = (ulonglong)(int)local_res20; lVar14 = uVar18 << 4; local_a8 = (ulonglong)uVar3; fVar19 = (float)((uVar3 - 1) * uVar13); local_b0 = 0; local_b8 = lVar14; do { fVar7 = local_res18; if (0 < (int)uVar18) { fStack_90 = 0.0; if (0 < (int)fVar12) { fStack_90 = fVar12; } fVar12 = 0.0; if (0 < (int)(float)uVar22) { fVar12 = (float)uVar22; } fStack_cc = (float)(int)fStack_90; local_c0 = uVar18 & 0xffffffff; fVar21 = 0.0; lVar14 = local_b0; fStack_94 = fVar19; fStack_8c = fVar12; do { fVar10 = fStack_8c; fVar9 = fStack_90; fVar8 = fStack_94; uVar5 = DAT_182674278; pfVar1 = (float *)(lVar14 + *(longlong *)(param_1 + 0x120)); *pfVar1 = fVar21; pfVar1[1] = fStack_94; pfVar1[2] = fStack_90; pfVar1[3] = fStack_8c; local_98 = fVar21; uVar15 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); FUN_1813f22a0(uVar15,local_88,uVar5,param_1); lVar6 = local_res10; FUN_181296c00(local_res10,local_84); plVar4 = *(longlong **)(lVar6 + 8); fStack_74 = fVar8; fStack_70 = fVar9; fStack_6c = fVar10; local_78 = fVar21; (**(code **)(*plVar4 + 0xa8))(plVar4,&local_78,0); local_d4 = (float)(int)fVar21; fStack_c8 = (float)(int)fVar12; fStack_d0 = (float)(int)fVar8; fStack_70 = fStack_cc; local_78 = local_d4; fStack_74 = fStack_d0; fStack_6c = fStack_c8; FUN_181295950(lVar6,&local_78); fVar21 = (float)((int)fVar21 + (int)fVar7); lVar14 = lVar14 + 0x10; local_c0 = local_c0 - 1; } while (local_c0 != 0); uVar18 = (ulonglong)local_res20; uVar22 = (ulonglong)local_c4; local_c0 = 0; lVar14 = local_b8; fVar12 = local_res18; } fVar19 = (float)((int)fVar19 - uVar13); local_b0 = local_b0 + lVar14; local_a8 = local_a8 - 1; } while (local_a8 != 0); local_a8 = 0; param_2 = local_res10; lVar14 = local_80; } uVar5 = DAT_182674258; piVar20 = (int *)(lVar14 * 0x10 + *(longlong *)(param_1 + 0x120)); iVar11 = piVar20[2]; if (piVar20[3] < piVar20[2]) { iVar11 = piVar20[3]; } uVar15 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); FUN_1813f22a0(uVar15,&local_res10,uVar5,param_1); FUN_181296c00(param_2,local_res10._4_4_); local_d4 = (float)((piVar20[2] - iVar11) / 2 + *piVar20); fStack_d0 = (float)((piVar20[3] - iVar11) / 2 + piVar20[1]); fStack_cc = (float)iVar11; fStack_c8 = (float)iVar11; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_d4,0); return; } ############ FUN_ 1814eb910 size=1490 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1814eb910(longlong param_1,longlong param_2,char param_3,char param_4) { int *piVar1; longlong *plVar2; float fVar3; float fVar4; int iVar5; longlong *plVar6; undefined8 *puVar7; bool bVar8; double dVar9; char cVar10; longlong lVar11; undefined1 uVar12; undefined4 uVar13; float fVar14; double dVar15; undefined4 local_res8; undefined4 local_res10; undefined8 *local_158; int local_150; undefined4 local_14c; undefined4 local_148; int local_144; undefined1 local_140 [8]; float local_138; int local_130; int iStack_12c; undefined8 local_128; int iStack_120; int iStack_11c; double local_118; double local_110; double local_108; double local_100; float local_f8; float fStack_f4; float fStack_f0; float fStack_ec; void *local_e8; ulonglong local_e0; undefined8 local_d8; undefined8 uStack_d0; undefined1 local_c8; undefined8 local_c0; undefined8 local_b8; undefined8 uStack_b0; float local_a8; float fStack_a4; float fStack_a0; float fStack_9c; local_c0 = 0xfffffffffffffffe; local_14c = 0; local_144 = *(int *)(param_1 + 0x2c); local_150 = *(int *)(param_1 + 0x28); local_128 = 0; local_res8 = *(uint *)(param_1 + 0x21c); plVar2 = (longlong *)(param_1 + 0x1c8); iStack_120 = local_150; iStack_11c = local_144; if (*(code **)(*plVar2 + 8) == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } lVar11 = *(longlong *)(param_1 + 0x1d0); } else { lVar11 = (**(code **)(*plVar2 + 8))(plVar2); } local_158 = (undefined8 *)**(longlong **)(lVar11 + 0x78); if (local_158 != (undefined8 *)0x0) { LOCK(); *(int *)(local_158 + 1) = *(int *)(local_158 + 1) + 1; UNLOCK(); } local_14c = 4; FUN_1812520a0(&local_158); dVar9 = DAT_1824c4520; if (*(char *)(param_1 + 0x200) == '\0') { uVar13 = *(undefined4 *)(param_1 + 0x220); if (((*(byte *)(param_1 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_1 + 0x18) == 0 || (cVar10 = FUN_18133eaa0(), cVar10 != '\0')))) { cVar10 = FUN_1804d6ee0(param_1); if (cVar10 == '\0') { if (param_3 != '\0') { uVar13 = *(undefined4 *)(param_1 + 0x228); } } else { uVar13 = *(undefined4 *)(param_1 + 0x22c); } } else { local_118 = (double)((float)(local_res8 >> 0x18) * DAT_1824c3d8c) + dVar9; uVar12 = 0xff; if (SUB84(local_118,0) < 0xff) { uVar12 = SUB81(local_118,0); } local_res8 = CONCAT13(uVar12,(undefined3)local_res8); uVar13 = *(undefined4 *)(param_1 + 0x224); } fVar14 = cosf((*(float *)(param_1 + 0x234) * DAT_1824c4334 + DAT_1824c3ea4) * DAT_1824c42e0); FUN_18049fa40(local_140,uVar13); local_138 = (float)((double)(fVar14 * DAT_1824c3d74) + _DAT_1824c41a0) * local_138; if (DAT_1824c3ea4 <= local_138) { local_138 = DAT_1824c3ea4; } FUN_18049fbb0(&local_148); FUN_181296c00(param_2,local_148); if (0.0 < *(float *)(param_1 + 0x230)) { if (((*(char *)(param_1 + 0x208) != '\0') || (*(char *)(param_1 + 0x209) != '\0')) || ((*(char *)(param_1 + 0x20a) != '\0' || (bVar8 = false, *(char *)(param_1 + 0x20b) != '\0') ))) { bVar8 = true; } if (bVar8) { (**(code **)(*plVar2 + 8))(plVar2); local_e8 = (void *)0x0; local_e0 = 0; local_d8 = 0; uStack_d0 = 0; local_c8 = 1; FUN_18129d5a0(&local_e8); FUN_181295ed0(param_2,&local_e8); local_e0 = local_e0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_e8); } } uStack_b0 = CONCAT44(iStack_11c,iStack_120); local_b8 = local_128; (**(code **)(**(longlong **)(param_2 + 8) + 0xa8))(*(longlong **)(param_2 + 8),&local_b8,0); } else { FUN_181252760(&local_158); *(char *)(local_158 + 7) = param_3; plVar6 = (longlong *)local_158[2]; if (((plVar6 != (longlong *)0x0) && (*(code **)(*plVar6 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar10 = (**(code **)(*plVar6 + 8))(plVar6,&local_158), cVar10 == '\0')) { puVar7 = (undefined8 *)local_158[2]; local_158[2] = 0; if (puVar7 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar7 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*puVar7)(puVar7,1); } } } } dVar15 = DAT_1824c4140; if (param_4 != '\0') { dVar15 = DAT_1824c40f0; } local_110 = (double)((float)(local_res8 >> 0x18) * (float)dVar15) + dVar9; uVar12 = 0xff; if (SUB84(local_110,0) < 0xff) { uVar12 = SUB81(local_110,0); } local_res10 = CONCAT13(uVar12,(int3)local_res8); FUN_181296c00(param_2,local_res10); if (*(longlong *)(param_1 + 0x1f8) != 0) { FUN_181295ed0(param_2); } fVar14 = *(float *)(param_1 + 0x214); lVar11 = (**(code **)(*plVar2 + 8))(plVar2); fVar3 = *(float *)(lVar11 + 0x88); fVar4 = *(float *)(param_1 + 0x218); lVar11 = (**(code **)(*plVar2 + 8))(plVar2); local_100 = (double)(*(float *)(lVar11 + 0x88) * fVar4 + 0.0) + dVar9; local_108 = (double)(fVar3 * fVar14 + 0.0) + dVar9; iVar5 = local_108._0_4_; local_130 = local_108._0_4_; iStack_12c = local_100._0_4_; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_158); if (*(int *)(param_1 + 0x20c) == 1) { cVar10 = '$'; } else { cVar10 = (*(int *)(param_1 + 0x20c) != 0) + '!'; } fStack_ec = (float)iStack_11c; fStack_f0 = (float)local_150; fStack_f4 = (float)iStack_12c; local_f8 = (float)iVar5; local_a8 = local_f8; fStack_a4 = fStack_f4; fStack_a0 = fStack_f0; fStack_9c = fStack_ec; FUN_1812963b0(param_2,param_1 + 0x158,&local_a8,cVar10,1); if (local_158 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_158 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_158)(local_158,1); } } return; } ############ FUN_ 181560880 size=351 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181560880(longlong param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,float param_6,float param_7) { float fVar1; longlong lVar2; undefined4 local_90; undefined8 local_8c; undefined8 local_84; undefined8 uStack_7c; ulonglong local_74; void *local_68; ulonglong local_60; undefined8 local_58; undefined8 uStack_50; undefined1 local_48; local_68 = (void *)0x0; local_60 = 0; local_58 = 0; uStack_50 = 0; local_48 = 1; lVar2 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); fVar1 = *(float *)(lVar2 + 0x88); lVar2 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); if (0.0 < param_6) { FUN_18129cdf0(&local_68,param_3,param_4,param_6,param_6,0, param_7 - *(float *)(lVar2 + 0x88) * DAT_1824c3c7c,fVar1 * DAT_1824c3c90 + param_7 ,1); } FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0xa18)); local_84 = _DAT_1824c4780; uStack_7c = _UNK_1824c4788; local_74 = (ulonglong)DAT_1824c3ea4; local_90 = param_5; local_8c = 1; FUN_181295d20(param_2,&local_68,&local_90,&local_84); local_60 = local_60 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_68); } ############ FUN_ 181560a10 size=1239 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181560a10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined4 param_5,float param_6) { float fVar1; void **ppvVar2; float fVar3; float fVar4; float fVar5; float fVar6; undefined4 local_108; undefined8 local_104; undefined8 local_fc; undefined8 uStack_f4; ulonglong local_ec; void *local_e0; ulonglong local_d8; undefined8 local_d0; undefined8 uStack_c8; undefined1 local_c0; void *local_b8; ulonglong local_b0; undefined8 local_a8; undefined8 uStack_a0; undefined1 local_98; undefined8 local_90; fVar1 = DAT_1824c3d8c; local_90 = 0xfffffffffffffffe; fVar5 = *(float *)(param_1 + 0x9e0); fVar4 = *(float *)(param_1 + 0x9e4); if (*(int *)(param_1 + 0xa04) == 0) { local_e0 = (void *)0x0; local_d8 = 0; local_d0 = 0; uStack_c8 = 0; local_c0 = 1; if (0.0 < param_6) { FUN_18129cdf0(&local_e0,param_3,param_4,param_6,param_6,0,fVar5, (fVar4 - fVar5) * *(float *)(param_1 + 0x9ec) + fVar5,1); } FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0xa14)); local_fc = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_f4 = CONCAT44(_UNK_1824c478c,_UNK_1824c4788); local_ec = (ulonglong)(uint)DAT_1824c3ea4; local_108 = param_5; local_104 = 1; FUN_181295d20(param_2,&local_e0,&local_108,&local_fc); LAB_181560eda: local_d8 = local_d8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_e0); } fVar6 = *(float *)(param_1 + 0x9ec); if (*(int *)(param_1 + 0xa04) == 1) { if (fVar6 <= DAT_1824c3d8c) { if (fVar6 < DAT_1824c3d8c) { fVar4 = (float)((double)fVar4 - (double)(fVar4 - fVar5) * (DAT_1824c4050 - (double)fVar6)); } } else { fVar5 = (float)((double)(fVar4 - fVar5) * ((double)fVar6 - DAT_1824c4050) + (double)fVar5); } local_e0 = (void *)0x0; local_d8 = 0; local_d0 = 0; uStack_c8 = 0; local_c0 = 1; if (0.0 < param_6) { FUN_18129cdf0(&local_e0,param_3,param_4,param_6,param_6,0,fVar5,fVar4,1); } FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0xa14)); local_fc = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_f4 = CONCAT44(_UNK_1824c478c,_UNK_1824c4788); local_ec = (ulonglong)(uint)DAT_1824c3ea4; local_108 = param_5; local_104 = 1; FUN_181295d20(param_2,&local_e0,&local_108,&local_fc); FUN_181560880(param_1,param_2,param_3,param_4,param_5,param_6,DAT_1824c43a4); goto LAB_181560eda; } fVar3 = fVar6 * DAT_1824c3d8c + DAT_1824c3d3c; local_e0 = (void *)0x0; local_d8 = 0; local_d0 = 0; uStack_c8 = 0; local_c0 = 1; local_b8 = (void *)0x0; local_b0 = 0; local_a8 = 0; uStack_a0 = 0; local_98 = 1; if (fVar6 <= DAT_1824c3d8c) { fVar6 = (fVar4 - fVar5) * (DAT_1824c3d8c - fVar3); if (param_6 <= 0.0) goto LAB_181560dda; fVar3 = fVar6 + fVar5; ppvVar2 = &local_e0; } else { fVar6 = (fVar4 - fVar5) * (DAT_1824c3ea4 - fVar3); if (param_6 <= 0.0) goto LAB_181560dda; FUN_18129cdf0(&local_e0,param_3,param_4,param_6,param_6,0,fVar5,fVar6 + fVar5,1); ppvVar2 = &local_b8; fVar3 = fVar4; } FUN_18129cdf0(ppvVar2,param_3,param_4,param_6,param_6,0,fVar3,fVar4 - fVar6,1); LAB_181560dda: FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0xa14)); local_fc = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_f4 = CONCAT44(_UNK_1824c478c,_UNK_1824c4788); local_ec = 0x3f800000; local_108 = param_5; local_104 = 1; FUN_181295d20(param_2,&local_e0,&local_108,&local_fc); local_fc = CONCAT44(_UNK_1824c4784,_DAT_1824c4780); uStack_f4 = CONCAT44(_UNK_1824c478c,_UNK_1824c4788); local_ec = 0x3f800000; local_108 = param_5; local_104 = 1; FUN_181295d20(param_2,&local_b8,&local_108,&local_fc); fVar4 = DAT_1824c42e0; FUN_181560880(param_1,param_2,param_3,param_4,param_5,param_6,fVar5 * fVar1 + DAT_1824c42e0); FUN_181560880(param_1,param_2,param_3,param_4,param_5,param_6,fVar4 - fVar5 * fVar1); local_b0 = local_b0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_b8); } ############ FUN_ 1815a9ca0 size=999 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1815a9ca0(longlong param_1,longlong param_2) { float fVar1; float fVar2; float fVar3; float fVar4; float fVar5; char cVar6; int iVar7; float *pfVar8; float *pfVar9; bool bVar10; float fVar11; float fVar12; float fVar13; float fVar14; undefined4 local_res8; float local_128; float fStack_124; float fStack_120; float fStack_11c; undefined8 local_118; float local_108; float fStack_104; float fStack_100; float fStack_fc; undefined8 local_f8; float *local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 uStack_d8; undefined1 local_d0; undefined8 local_c8; fVar5 = DAT_1824c4608; fVar4 = DAT_1824c4604; fVar3 = DAT_1824c4600; fVar2 = DAT_1824c45fc; fVar1 = DAT_1824c3d8c; local_c8 = 0xfffffffffffffffe; fVar13 = (float)*(int *)(param_1 + 0x2c); fVar11 = (float)*(int *)(param_1 + 0x28); fVar14 = fVar13 * _DAT_1824c3ca4; fVar12 = fVar11 * *(float *)(param_1 + 0x3d0) * _DAT_1824c3de8; if (*(char *)(param_1 + 0x3cc) == '\0') { local_f0 = (float *)0x0; local_e8 = 0; local_e0 = 0; uStack_d8 = 0; local_d0 = 1; bVar10 = false; if (*(longlong *)(param_1 + 0x348) != 0) { iVar7 = FUN_1811bf620(); bVar10 = iVar7 == 0; } FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x310)); if (bVar10) { fStack_120 = fVar12 - fVar14; fStack_124 = (fVar13 - fStack_120) * fVar1 + 0.0; local_128 = (fVar11 - fStack_120) * fVar1 + 0.0; fStack_11c = fStack_120; FUN_18129d1e0(&local_f0,&local_128); local_128 = fVar14; } else { fStack_124 = (fVar13 - fVar12) * fVar1 + 0.0; local_128 = (fVar11 - fVar12) * fVar1 + 0.0; fStack_120 = fVar12; fStack_11c = fVar12; FUN_18129d1e0(&local_f0,&local_128); cVar6 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar6 == '\0') { pfVar9 = local_f0; while (pfVar9 != local_f0 + local_e8._4_4_) { fVar1 = *pfVar9; if (fVar1 == fVar3) { pfVar9 = pfVar9 + 3; } else { if (((fVar1 == fVar2) || (fVar1 == fVar4)) || (fVar1 == fVar5)) { local_108 = _DAT_1824c4780; fStack_104 = _UNK_1824c4784; fStack_100 = _UNK_1824c4788; fStack_fc = _UNK_1824c478c; local_f8 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_f0,&local_108); break; } pfVar9 = pfVar9 + 1; } } } local_res8 = CONCAT13(0xb3,(int3)DAT_18262bb68); FUN_181296c00(param_2,local_res8); local_128 = 1.0; } fStack_120 = 0.0; fStack_124 = 0.0; local_108 = _DAT_1824c4780; fStack_104 = _UNK_1824c4784; fStack_100 = _UNK_1824c4788; fStack_fc = _UNK_1824c478c; local_f8 = 0x3f800000; FUN_181295d20(param_2,&local_f0,&local_128,&local_108); local_e8 = local_e8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_f0); } local_f0 = (float *)0x0; local_e8 = 0; local_e0 = 0; uStack_d8 = 0; local_d0 = 1; fStack_120 = (float)((double)fVar14 * _DAT_1824c41a0) * DAT_1824c42d0 + fVar12; fStack_124 = (fVar13 - fStack_120) * DAT_1824c3d8c + 0.0; local_128 = (fVar11 - fStack_120) * DAT_1824c3d8c + 0.0; fStack_11c = fStack_120; FUN_18129d1e0(&local_f0,&local_128); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x314)); cVar6 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar6 == '\0') { pfVar9 = local_f0 + local_e8._4_4_; bVar10 = local_f0 == pfVar9; pfVar8 = local_f0; while (!bVar10) { fVar1 = *pfVar8; if (fVar1 == fVar3) { pfVar8 = pfVar8 + 3; bVar10 = pfVar8 == pfVar9; } else { if (((fVar1 == fVar2) || (fVar1 == fVar4)) || (fVar1 == fVar5)) { local_128 = _DAT_1824c4780; fStack_124 = _UNK_1824c4784; fStack_120 = _UNK_1824c4788; fStack_11c = _UNK_1824c478c; local_118 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_f0,&local_128); break; } pfVar8 = pfVar8 + 1; bVar10 = pfVar8 == pfVar9; } } } local_e8 = local_e8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_f0); } ############ FUN_ 1815cb0d0 size=2683 ############ /* WARNING: Instruction at (ram,0x0001815cb373) overlaps instruction at (ram,0x0001815cb372) */ /* WARNING: Removing unreachable block (ram,0x0001815cba0c) */ ulonglong FUN_1815cb0d0(ulonglong param_1,ulonglong param_2,undefined4 param_3,undefined4 param_4) { int *piVar1; undefined8 uVar2; undefined4 *puVar3; uint uVar4; uint uVar5; ulonglong uVar6; uint *puVar7; longlong *plVar8; int iVar9; uint uVar10; undefined4 *puVar11; IMAGE_DOS_HEADER *pIVar12; uint uVar13; uint uVar14; longlong lVar15; ulonglong uVar16; int unaff_retaddr; undefined1 auStack_1f8 [32]; uint local_1d8; uint local_1d4; uint local_1d0; undefined8 local_1c8; undefined8 local_1c0; undefined *local_1b8; uint local_1ac; undefined8 local_1a8; undefined4 local_1a0; undefined4 local_190; undefined4 local_18c; undefined4 local_188; undefined4 local_184; uint local_180; undefined4 local_17c; uint local_178; ulonglong local_170; ulonglong local_168; longlong local_138 [5]; undefined4 local_110; undefined4 local_10c; undefined4 local_108; uint local_104; int local_100; uint local_fc; undefined4 local_f8; undefined4 local_f4; undefined8 local_f0; undefined4 local_78 [14]; ulonglong local_40; local_f0 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_1f8; local_17c = 0x810; uVar4 = (uint)&stack0x00000000 & 0x33f; iVar9 = (uVar4 + 2) * (uVar4 + 1) * uVar4; local_178 = 0x7e75 >> ((byte)(((iVar9 >> 1) - (iVar9 >> 3)) + iVar9 * 0x55555555 >> 0x1e) & 0x1f) ^ 0x7415; local_1a8 = &IMAGE_DOS_HEADER_180000000; local_1c0 = 0x1600; puVar3 = (undefined4 *)0x180b95860; local_1b8 = &DAT_180b96e60; local_1c8 = 0x17fbc08503886140; uVar16 = param_2; do { uVar16 = -((uVar16 ^ 0xffffffffffffffff) + 1); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } local_190 = param_3; local_18c = param_4; local_170 = param_1; local_168 = param_2; } while (uVar4 != 0); do { uVar6 = 0x4c0c; FUN_1815cd23e(); if ((uVar6 & 0x40) == 0) { uVar6 = param_1; } FUN_1815ca843(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } param_1 = uVar6; } while (uVar4 != 0); FUN_181296c00(uVar16,*(undefined4 *)(uVar6 + 0x160)); local_1d8 = 0xb3; do { plVar8 = local_138; puVar11 = &local_10c; puVar7 = &local_1d4; FUN_1815c9e99(); *puVar7 = 0xb4511964; *puVar11 = 3; *plVar8 = 0x1815cb3d9; pIVar12 = local_1a8; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (local_1d4 >> 1 | (uint)((local_1d4 & 1) != 0) << 0x1f) + 0xbae9819b; uVar4 = (uVar4 * 0x100 | uVar4 >> 0x18) & 0xe21de21d | (uVar4 >> 8 | uVar4 * 0x1000000) & 0x1de21de2; uVar10 = uVar4 >> 0x1c | uVar4 << 4; uVar4 = ((uVar4 & 0xfffffff) >> 0x11 ^ uVar10) >> 3 & 0x7f; uVar10 = (uVar4 << 0x15 | uVar4) << 3 ^ uVar10; uVar4 = uVar10 >> 0xc; uVar10 = uVar4 | uVar10 << 0x14; uVar4 = (uVar10 >> 0x10 | uVar4 << 0x10) & 0x8bc97436 | (uVar4 << 0x10 | uVar10 >> 0x10) & 0x74368bc9; uVar10 = (uVar4 << 4 | uVar4 >> 0x1c) & 0xc3c3c3c3 | (uVar4 >> 4 | uVar4 << 0x1c) & 0x3c3c3c3c; uVar4 = uVar10 >> 0x11 ^ uVar10; do { local_110 = 0; local_138[1] = 0x1815cb4b7; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); lVar15 = (longlong)(int)(uVar10 ^ (uVar4 << 0x11 | uVar4 & 0x7fff)); local_1d4 = 0; local_1a0 = 0; plVar8 = (longlong *)(lVar15 + 4 + local_138[0]); *plVar8 = *plVar8 + (ulonglong)((uint)((ulonglong)dvs_0x811a06e9_mfort6317_ >> 0x15) & 0x342000e0) ; do { uVar2 = rdtsc(); local_180 = (int)uVar2 + (int)((ulonglong)uVar2 >> 0x20) * 2; uVar16 = (ulonglong)local_180 ^ (ulonglong)local_180 * 0x100 - 0x471b7108; uVar16 = uVar16 ^ uVar16 << 8; uVar4 = (int)(uVar16 >> 0xe) - (int)(uVar16 >> 0x18); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); piVar1 = (int *)(lVar15 + 8 + local_138[0]); *piVar1 = *piVar1 + (uVar4 ^ 0x6a94b391); piVar1 = (int *)(lVar15 + 4 + local_138[0]); *piVar1 = *piVar1 + (uVar4 ^ 0xa0af71); uVar16 = *(ulonglong *)(lVar15 + 4 + local_138[0]); uVar4 = (uint)((uVar16 >> 0xe ^ uVar16) >> 0xe) & 0x3fff; uVar6 = ((ulonglong)uVar4 << 0xe | (ulonglong)uVar4) << 0xe ^ uVar16; uVar16 = ((uVar6 >> 8 | uVar16 << 0x38) & 0xbf40bf40bf40bf40 | (uVar6 << 8 | uVar16 >> 0x38) & 0x40bf40bf40bf40bf) ^ 0xe3289d009b58b0ec; uVar16 = (uVar16 >> 0x32 | uVar16 << 0xe) + 0xcd5ad76a5c7a8a0c; uVar16 = ((uVar16 >> 0x10 | uVar16 << 0x30) & 0xf2880d77f2880d77 | (uVar16 * 0x10000 | uVar16 >> 0x30) & 0xd77f2880d77f288) + 0x820b207f49eab4a0; uVar16 = (uVar16 >> 0x10 | uVar16 << 0x30) & 0xf96b0694f96b0694 | (uVar16 * 0x10000 | uVar16 >> 0x30) & 0x694f96b0694f96b; uVar16 = (uVar16 & 0x3333333333333333) << 2 | uVar16 >> 2 & 0x3333333333333333; *(ulonglong *)(lVar15 + 4 + local_138[0]) = uVar16; dvs_0x811a06e9_mfort6317_ = (uint *)((longlong)dvs_0x811a06e9_mfort6317_ + (ulonglong)((uint)(uVar16 >> 0x17) & 0x14160034)); local_1d0 = (uint)(*(ulonglong *)(lVar15 + 4 + local_138[0]) >> 3) & 0x7fffffff; local_1ac = (uint)((ulonglong)*(undefined8 *)(lVar15 + 4 + local_138[0]) >> 0x18) ^ 0x5991f192; uVar16 = *(ulonglong *)(lVar15 + 4 + local_138[0]) ^ 0x48858e2e916f0dd4; do { local_188 = 0x4246a95b; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_f8 = 0xd01f52c0; local_f4 = 0xba1d6772; uVar10 = (uint)uVar16 ^ local_1ac; uVar4 = (uVar10 & 0x6593f979 ^ local_1ac) + 0x4ed1481b; uVar10 = (local_1ac ^ uVar10 & 0x9a6c0686) + 0xaef7aa14; iVar9 = (int)(uVar16 >> 0x20); uVar13 = iVar9 + 0x7bc739d3; uVar5 = (uVar4 * 0x100 | uVar4 >> 0x18) & 0x9a659a65 | (uVar4 >> 8 | uVar4 * 0x1000000) & 0x659a659a; uVar10 = ((uVar10 * 0x10000 | uVar10 >> 0x10) & 0xc73b38c4 | (uVar10 >> 0x10 | uVar10 * 0x10000) & 0x38c4c73b) ^ uVar5; uVar4 = uVar10 & 0x8a578475 ^ uVar5; uVar10 = uVar10 & 0x75a87b8a ^ uVar5 ^ uVar4; uVar14 = uVar10 & 0xbbb9a4a9 ^ uVar4; uVar4 = uVar10 & 0x44465b56 ^ uVar4; uVar10 = uVar4 >> 0x19 | uVar4 << 7; uVar4 = uVar13 >> 2 & 0xcccccccc | uVar13 * 0x40000000 | uVar13 * 4 & 0x33333333 | uVar13 >> 0x1e; uVar5 = (uVar4 >> 10 | uVar4 << 0x16) ^ uVar10; uVar4 = uVar5 & 0xddffbe9c ^ uVar10; uVar10 = uVar5 & 0x22004163 ^ uVar10 ^ uVar4; local_184 = 0xfb14be6e; uVar5 = uVar14 >> 0x1f | uVar14 << 1; local_104 = uVar5 ^ 0xea2cbcd1; local_1a8 = (IMAGE_DOS_HEADER *)(CONCAT44(local_1a8._4_4_,uVar5) ^ 0xea2cbcd1); local_100 = (uVar10 & 0x7310039d ^ uVar4) + 0x6bb1bcf9; local_1c0 = CONCAT44(iVar9,local_100); local_fc = uVar10 & 0x8ceffc62 ^ uVar4 ^ 0xaa7d1554; if (local_1b8 == (undefined *)0x180b95860) { return (ulonglong)local_1d8; } do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); if ((pIVar12 != (IMAGE_DOS_HEADER *)0x0) && (lVar15._0_1_ = pIVar12->e_magic[0], lVar15._1_1_ = pIVar12->e_magic[1], lVar15._2_2_ = pIVar12->e_cblp, lVar15._4_2_ = pIVar12->e_cp, lVar15._6_2_ = pIVar12->e_crlc, -1 < lVar15)) { local_138[2] = 0x2621fc0; do { if (0x180b95860 < lVar15 + 0x180000008U) { if ((-1 < lVar15) && (plVar8 = (longlong *)(lVar15 + 0x180000000), plVar8 < (longlong *)0x180b95864)) { puVar3 = local_78; local_78[0] = uRam0000000180b95860; goto LAB_1815cbac0; } break; } lVar15._0_2_ = pIVar12->e_cparhdr; lVar15._2_2_ = pIVar12->e_minalloc; lVar15._4_2_ = pIVar12->e_maxalloc; lVar15._6_2_ = pIVar12->e_ss; pIVar12 = (IMAGE_DOS_HEADER *)&pIVar12->e_cparhdr; } while (-1 < lVar15); } goto LAB_1815cbae7; while (plVar8 = (longlong *)(lVar15 + 0x180000000), plVar8 < (longlong *)0x180b95864) { LAB_1815cbac0: *(longlong *)(&stack0xffffffffff46a728 + lVar15) = *plVar8 + -0x180000000; pIVar12 = (IMAGE_DOS_HEADER *)&pIVar12->e_cparhdr; lVar15 = *(longlong *)pIVar12; if (lVar15 < 0) break; } LAB_1815cbae7: local_1d8 = local_1d8 >> 0x1c ^ local_1d8 << 4; local_108 = local_184; uVar16 = FUN_1815cbba8(0x4c0c,puVar3); return uVar16; } ############ FUN_ 1815d4570 size=996 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1815d4570(longlong param_1,longlong param_2,float *param_3) { code *pcVar1; char cVar2; longlong lVar3; float *pfVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; float local_c8; undefined8 uStack_c4; float fStack_bc; undefined8 local_b8; float *local_a8; undefined8 local_a0; undefined8 local_98; undefined8 uStack_90; undefined1 local_88; float local_80; undefined4 uStack_7c; undefined4 uStack_78; undefined4 uStack_74; undefined8 local_70; void *local_68; ulonglong local_60; undefined8 local_58; undefined8 uStack_50; undefined1 local_48; undefined8 local_40; local_40 = 0xfffffffffffffffe; pcVar1 = *(code **)(*(longlong *)(param_1 + 0x208) + 8); if (pcVar1 == FUN_180584490) { if (*(longlong *)(param_1 + 0x210) == 0) { FUN_1805849b0(); } lVar3 = *(longlong *)(param_1 + 0x210); } else { lVar3 = (*pcVar1)(param_1 + 0x208); } fVar5 = *(float *)(lVar3 + 0x88); fVar9 = fVar5 * *(float *)(param_1 + 0x268); if (*(float *)(param_1 + 0x24c) == 0.0) { FUN_1812a3160(param_2,*(undefined4 *)(param_1 + 0x254)); if (0.0 < *(float *)(param_1 + 0x268)) { FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x260)); fVar7 = (float)((uint)(fVar9 * DAT_1824c3d8c) ^ DAT_1824c4f30); local_c8 = *param_3 - fVar7; fVar5 = fVar7 * DAT_1824c41e0 + param_3[2]; if (fVar5 <= 0.0) { fVar5 = 0.0; } fStack_bc = fVar7 * DAT_1824c41e0 + param_3[3]; if (fStack_bc <= 0.0) { fStack_bc = 0.0; } uStack_c4 = CONCAT44(fVar5,param_3[1] - fVar7); FUN_181295950(param_2,&local_c8,fVar9); } return; } fVar7 = *(float *)(param_1 + 0x24c) * fVar5; local_a8 = (float *)0x0; local_a0 = 0; local_98 = 0; uStack_90 = 0; local_88 = 1; FUN_18129d5a0(&local_a8,*param_3,param_3[1],param_3[2],param_3[3],fVar7,fVar7, *(undefined1 *)(param_1 + 0x490),*(undefined1 *)(param_1 + 0x491), *(undefined1 *)(param_1 + 0x493),*(undefined1 *)(param_1 + 0x492)); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x254)); cVar2 = (**(code **)(**(longlong **)(param_2 + 8) + 0x60))(); if (cVar2 == '\0') { for (pfVar4 = local_a8; pfVar4 != local_a8 + local_a0._4_4_; pfVar4 = pfVar4 + 1) { fVar7 = *pfVar4; if (fVar7 == DAT_1824c4600) { pfVar4 = pfVar4 + 2; } else if (((fVar7 == DAT_1824c45fc) || (fVar7 == DAT_1824c4604)) || (fVar7 == DAT_1824c4608)) { local_c8 = _DAT_1824c4780; uStack_c4 = CONCAT44(_UNK_1824c4788,_UNK_1824c4784); fStack_bc = (float)_UNK_1824c478c; local_b8 = 0x3f800000; (**(code **)(**(longlong **)(param_2 + 8) + 0xb8)) (*(longlong **)(param_2 + 8),&local_a8,&local_c8); break; } } } if (*(float *)(param_1 + 0x268) <= 0.0) { local_a0 = local_a0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_a8); } fVar7 = (float)((uint)(fVar9 * DAT_1824c3d8c) ^ DAT_1824c4f30); fVar8 = fVar7 * DAT_1824c41e0 + param_3[2]; if (fVar8 <= 0.0) { fVar8 = 0.0; } fVar6 = fVar7 * DAT_1824c41e0 + param_3[3]; if (fVar6 <= 0.0) { fVar6 = 0.0; } fVar5 = fVar5 * *(float *)(param_1 + 0x24c); local_68 = (void *)0x0; local_60 = 0; local_58 = 0; uStack_50 = 0; local_48 = 1; FUN_18129d5a0(&local_68,*param_3 - fVar7,param_3[1] - fVar7,fVar8,fVar6,fVar5,fVar5, *(undefined1 *)(param_1 + 0x490),*(undefined1 *)(param_1 + 0x491), *(undefined1 *)(param_1 + 0x493),*(undefined1 *)(param_1 + 0x492)); FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x260)); local_80 = _DAT_1824c4780; uStack_7c = _UNK_1824c4784; uStack_78 = _UNK_1824c4788; uStack_74 = _UNK_1824c478c; local_70 = 0x3f800000; uStack_c4 = 0; local_c8 = fVar9; FUN_181295d20(param_2,&local_68,&local_c8,&local_80); local_60 = local_60 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_68); } ############ FUN_ 1815d4960 size=1223 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1815d4960(longlong param_1,longlong param_2) { int *piVar1; longlong *plVar2; uint uVar3; float fVar4; int iVar5; double dVar6; char cVar7; undefined8 uVar8; longlong lVar9; float *pfVar10; uint *puVar11; undefined1 uVar12; float fVar13; float fVar14; float fVar15; undefined4 local_res8; undefined8 in_stack_fffffffffffffeb8; undefined8 *puVar16; undefined8 *local_138; undefined8 *local_130; longlong local_128; undefined8 local_120; undefined8 uStack_118; float local_110; float fStack_10c; float fStack_108; float fStack_104; float local_100 [3]; float local_f4; undefined8 local_e8; float local_e0; float local_dc; int local_d8; int iStack_d4; int iStack_d0; int iStack_cc; longlong local_c8; double local_c0; double local_b8; double local_b0; double local_a8; double local_a0; undefined8 local_98; undefined8 local_88; undefined8 uStack_80; undefined4 uVar17; uVar17 = (undefined4)((ulonglong)in_stack_fffffffffffffeb8 >> 0x20); local_98 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0x1c8) != 0) { return; } fVar14 = (float)*(int *)(param_1 + 0x2c); fVar15 = (float)*(int *)(param_1 + 0x28); fVar13 = DAT_1824c3d8c; if (((*(byte *)(param_1 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_1 + 0x18) == 0 || (cVar7 = FUN_18133eaa0(), fVar13 = DAT_1824c3d8c, cVar7 != '\0')))) { fVar13 = DAT_1824c3ea4; } uVar8 = FUN_1812ea010(param_1,&local_c8); FUN_181248e40(uVar8,&local_128); puVar11 = (uint *)(local_c8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } plVar2 = (longlong *)(param_1 + 0x208); if (*(code **)(*plVar2 + 8) == FUN_180584490) { if (*(longlong *)(param_1 + 0x210) == 0) { FUN_1805849b0(param_1); } lVar9 = *(longlong *)(param_1 + 0x210); } else { lVar9 = (**(code **)(*plVar2 + 8))(plVar2); } fVar4 = *(float *)(param_1 + 0x248); local_138 = (undefined8 *)**(longlong **)(lVar9 + 0x68); if (local_138 != (undefined8 *)0x0) { LOCK(); *(int *)(local_138 + 1) = *(int *)(local_138 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_138,fVar14 * fVar4); FUN_181251cf0(&local_138,&local_130,DAT_1824c3c7c); if (local_138 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_138 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_138)(local_138,1); } } dVar6 = DAT_1824c4520; local_c0 = (double)((float)(*(uint *)(param_1 + 0x250) >> 0x18) * fVar13) + DAT_1824c4520; uVar12 = 0xff; if (SUB84(local_c0,0) < 0xff) { uVar12 = SUB81(local_c0,0); } local_res8 = CONCAT13(uVar12,(int3)*(uint *)(param_1 + 0x250)); if (*(char *)(param_1 + 0x49d) == '\0') { lVar9 = (**(code **)(*plVar2 + 8))(plVar2); fVar13 = *(float *)(lVar9 + 0x88) * _DAT_1824c46c0; local_100[2] = fVar13 * DAT_1824c41e0 + fVar15; if (local_100[2] <= 0.0) { local_100[2] = 0.0; } local_f4 = fVar14 + DAT_1824c4640; if (local_f4 <= 0.0) { local_f4 = 0.0; } local_100[0] = 0.0 - fVar13; local_100[1] = 0.0; pfVar10 = local_100; } else { lVar9 = (**(code **)(*plVar2 + 8))(); fVar13 = (float)((uint)(*(float *)(lVar9 + 0x88) * DAT_1824c41e0) ^ DAT_1824c4f30); fStack_108 = fVar13 * DAT_1824c41e0 + fVar15; if (fStack_108 <= 0.0) { fStack_108 = 0.0; } fStack_104 = fVar13 * DAT_1824c41e0 + fVar14; if (fStack_104 <= 0.0) { fStack_104 = 0.0; } local_110 = 0.0 - fVar13; fStack_10c = 0.0 - fVar13; pfVar10 = &local_110; } local_120 = *(undefined8 *)pfVar10; uStack_118 = *(undefined8 *)(pfVar10 + 2); local_e8 = 0; local_e0 = fVar15; local_dc = fVar14; FUN_1815d4570(param_1,param_2,&local_e8); if (*(int *)(param_1 + 0x2c8) == 0) { fVar13 = (float)uStack_118; } else { lVar9 = (**(code **)(*plVar2 + 8))(plVar2); fVar14 = *(float *)(lVar9 + 0x88) * DAT_1824c43d8; fVar13 = (float)uStack_118; if (fVar14 <= (float)uStack_118) { fVar13 = fVar14; } fVar13 = (float)uStack_118 - fVar13; uStack_118 = CONCAT44(uStack_118._4_4_,fVar13); } FUN_181296c00(param_2,local_res8); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0xd0))(*(longlong **)(param_2 + 8),&local_130); if (*(char *)(param_1 + 0x49d) != '\0') { puVar16 = &local_120; cVar7 = FUN_1815d4160(param_1,param_2,&local_128,&local_130,puVar16); uVar17 = (undefined4)((ulonglong)puVar16 >> 0x20); if (cVar7 != '\0') goto LAB_1815d4d74; } local_a0 = (double)(local_120._4_4_ + uStack_118._4_4_) + dVar6; local_a8 = (double)((float)local_120 + fVar13) + dVar6; local_b0 = (double)local_120._4_4_ + dVar6; local_b8 = (double)(float)local_120 + dVar6; local_d8 = SUB84(local_b8,0); iStack_d4 = SUB84(local_b0,0); iStack_d0 = local_a8._0_4_ - local_d8; iStack_cc = local_a0._0_4_ - iStack_d4; local_88 = CONCAT44(iStack_d4,local_d8); uStack_80 = CONCAT44(iStack_cc,iStack_d0); FUN_181296100(param_2,&local_128,&local_88,*(undefined4 *)(param_1 + 0x1c0), CONCAT44(uVar17,*(undefined4 *)(param_1 + 0x498)),0); LAB_1815d4d74: if (*(int *)(param_1 + 0x2c8) != 0) { FUN_181296c00(param_2,*(undefined4 *)(param_1 + 0x264)); lVar9 = param_1 + 0x278; if (*(int *)(param_1 + 0x2c8) != 1) { lVar9 = param_1 + 0x2a0; } FUN_181295ed0(param_2,lVar9); } if (local_130 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_130 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_130)(local_130,1); } } puVar11 = (uint *)(local_128 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } return; } ############ FUN_ 1815ec850 size=387 ############ void FUN_1815ec850(longlong param_1,undefined8 param_2,undefined8 param_3,int param_4,int param_5, int param_6,int param_7,char param_8,int param_9,int param_10,char param_11, char param_12) { undefined4 uVar1; int iVar2; int iVar3; float fVar4; float local_38; float fStack_34; float fStack_30; float fStack_2c; uVar1 = DAT_18262bb70; if (*(char *)(param_1 + 0x170) != '\0') { uVar1 = DAT_18262bb68; } fVar4 = DAT_1824c3d64; if ((param_11 == '\0') && (param_12 == '\0')) { fVar4 = DAT_1824c3d3c; } _param_11 = CONCAT13((char)(int)(fVar4 * DAT_1824c454c),(int3)uVar1); FUN_181296c00(param_2,_param_11); iVar2 = param_10; iVar3 = param_7; if (param_8 != '\0') { param_7 = param_6; iVar2 = param_6; iVar3 = param_10; param_5 = param_9; param_9 = param_4; } fVar4 = (float)((uint)(float)((double)param_7 * DAT_1824c3fc0) ^ DAT_1824c4f30); local_38 = (float)param_9 - fVar4; fStack_34 = (float)param_5 - fVar4; fStack_30 = fVar4 * DAT_1824c41e0 + (float)iVar2; fStack_2c = fVar4 * DAT_1824c41e0 + (float)iVar3; if (fStack_30 <= 0.0) { fStack_30 = 0.0; } if (fStack_2c <= 0.0) { fStack_2c = 0.0; } FUN_181295300(param_2,&local_38,(float)((double)param_7 * DAT_1824c4050 * DAT_1824c4050)); return; } ############ FUN_ 18162ac90 size=2211 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18162ac90(longlong param_1,undefined8 param_2) { undefined8 uVar1; longlong lVar2; undefined1 uVar3; undefined4 *puVar4; uint *puVar5; uint *puVar6; int iVar7; ulonglong uVar8; ulonglong uVar9; longlong lVar10; uint uVar11; uint uVar12; longlong *plVar13; uint uVar14; int *piVar15; ulonglong uVar16; ulonglong uVar17; float fVar18; int unaff_retaddr; undefined1 auStack_218 [32]; undefined4 local_1f8; undefined *local_1f0; uint local_1e8; uint local_1e4; longlong local_1e0; uint local_1d4; undefined4 local_1d0; undefined *local_1c8; uint local_1c0 [5]; undefined4 local_1ac; undefined8 local_1a8; undefined8 local_1a0; ulonglong local_198; undefined4 local_190; uint local_18c; uint local_188; uint local_184; longlong local_180; undefined4 local_178; longlong local_170; undefined4 local_168; undefined4 local_164; longlong local_160; longlong local_158 [3]; undefined *local_140; undefined1 local_120 [24]; undefined4 local_108; undefined4 uStack_104; undefined4 uStack_100; undefined4 uStack_fc; undefined1 local_d8 [136]; ulonglong local_50; local_50 = DAT_182615970 ^ (ulonglong)auStack_218; uVar12 = (uint)&stack0x00000000; uVar11 = (((uVar12 & 0xdff) + 1) * (uVar12 & 0xdff) + 7) % 0x51; uVar14 = (int)(-uVar11 | uVar11) >> 0x1f; uVar11 = uVar12 & 0x17f; iVar7 = (uVar11 + 2) * (uVar11 + 1) * uVar11; local_184 = (((iVar7 >> 1) - (iVar7 >> 3)) + iVar7 * 0x55555555 >> 0x1e) + 0x5dbdU ^ ((int)(-uVar14 | uVar14) >> 0x1f) * -0x5bed; iVar7 = (uVar12 & 0x1cff) * (uVar12 & 0x1cff) + 1; uVar11 = (iVar7 >> 4) + (iVar7 >> 1) + iVar7 * 0x24924924 >> 0x1d; uVar11 = (int)(uVar11 - 7) >> 0x1f & uVar11; uVar12 = (((uVar12 & 0x34ff) + 1) * (uVar12 & 0x34ff) + 7) % 0x51; local_188 = (((int)(-uVar11 | uVar11) >> 0x1f) - ((int)(-uVar12 | uVar12) >> 0x1f) | 0x161dU) ^ 0x1efd; local_1a0 = param_2; local_180 = param_1; FUN_1813ea380(param_1,param_2); local_1e0 = 0x6f123c0; local_1a8 = 0x234d598; local_1c8 = &DAT_18234d598; local_1f0 = &DAT_18236d558; do { plVar13 = &local_160; puVar4 = &local_168; puVar5 = &local_1e4; FUN_18162c064(); *puVar5 = 0xa4351a12; *puVar4 = 0x73; *plVar13 = 0x18162ae9a; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar11 = (local_1e4 << 0x10 | local_1e4 >> 0x10) & 0xe3e41c1b | (local_1e4 >> 0x10 | local_1e4 << 0x10) & 0x1c1be3e4; uVar12 = uVar11 >> 3 | uVar11 << 0x1d; uVar11 = (uVar12 >> 0x15 ^ uVar12) >> 3 & 0xff; uVar12 = uVar12 ^ (uVar11 << 0x15 | uVar11) << 3; uVar11 = (uVar12 >> 4 | uVar12 << 0x1c) & 0xb4b4b4b4 | (uVar12 << 4 | uVar12 >> 0x1c) & 0x4b4b4b4b ; uVar12 = ((uVar11 >> 2 & 0x33333333) << 2 | uVar11 & 0x33333333) ^ 0x67cdfd9c; uVar11 = (uVar12 >> 0xc ^ uVar12) >> 9 & 0x1f; local_1e4 = ((uVar11 << 0xc | uVar11) << 9 ^ uVar12) + 0x3b7742d5; do { plVar13 = local_158; puVar4 = &local_164; puVar5 = local_1c0; FUN_1816298ba(); *puVar5 = 0x9773d281; *puVar4 = 0x31; *plVar13 = 0x18162af88; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); lVar10 = (longlong)(int)local_1e4; uVar12 = local_1c0[0] << 2 | local_1c0[0] >> 0x1e; uVar11 = ((local_1c0[0] & 0x3fffffff) >> 0xb ^ uVar12) >> 2 & 0xfff; uVar12 = uVar12 ^ (uVar11 << 0xd | uVar11) << 2; uVar12 = ((uVar12 << 2 | (local_1c0[0] & 0x3fffffff) >> 0x1c) & 0x99999999 | (uVar12 >> 2 | (local_1c0[0] >> 0x1e) << 0x1e) & 0x66666666) ^ 0xb7848c34; uVar11 = (uVar12 >> 0x10 | uVar12 << 0x10) & 0xd7ff2800 | (uVar12 << 0x10 | uVar12 >> 0x10) & 0x2800d7ff; uVar11 = (uVar11 >> 4 | (uVar12 >> 0x10) << 0x1c) & 0xc3c3c3c3 | (uVar11 << 4 | uVar11 >> 0x1c) & 0x3c3c3c3c; uVar11 = ((uVar11 << 0x10 | uVar11 >> 0x10) & 0xe67b1984 | (uVar11 >> 0x10 | uVar11 << 0x10) & 0x1984e67b) ^ 0x8eff4cb5; uVar16 = (longlong)(int)(uVar11 << 4 | uVar11 >> 0x1c) & 0xffffffffe1e1e1e1U | (ulonglong)((uVar11 >> 4 | uVar11 << 0x1c) & 0x1e1e1e1e); local_1e4 = 0; local_1c0[0] = 0; plVar13 = (longlong *)(lVar10 + 4 + local_160); *plVar13 = *plVar13 + (*(ulonglong *)(uVar16 + 4 + local_158[0]) >> 2 & 0x94b089a1); piVar15 = (int *)register0x00000020; do { puVar5 = &local_18c; puVar6 = &local_1e8; FUN_18162a49b(); uVar1 = rdtsc(); uVar11 = (int)uVar1 + (int)((ulonglong)uVar1 >> 0x20); *puVar5 = uVar11; piVar15 = (int *)(~-(longlong)piVar15 + 1); uVar17 = ~uVar16; uVar16 = ~(uVar17 + 1) + 1; uVar8 = ((ulonglong)uVar11 ^ ((ulonglong)uVar11 * 5 >> 0xc) + 0x3d62febc) * 0x50010000 + 0x300cd822; uVar8 = uVar8 - ((uVar8 >> 10) - 0x517d1a2e); uVar9 = uVar8 >> 0xc; uVar8 = uVar9 | uVar8 << 0x34; uVar9 = (uVar9 * 0x28000 | uVar8 * 5 >> 0x31) + uVar8 * 8; uVar9 = ((uVar9 * 0x8000 | uVar9 >> 0x31) * -0x1f + 0x68c463cf) * 0x204 - 0x5dfa5781; uVar9 = uVar9 * 0x100 | uVar9 >> 0x38; *puVar6 = (int)uVar9 + (int)(uVar9 << 0xb) + 0x1f68b0b1 & 0x85ddfa43; lVar2 = local_180; uVar11 = (*piVar15 + 1) * *piVar15 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); piVar15 = (int *)(lVar10 + 8 + local_160); *piVar15 = *piVar15 + (local_1e8 ^ 0xe3c66c19); piVar15 = (int *)(lVar10 + 4 + local_160); *piVar15 = *piVar15 + (local_1e8 ^ 0x11f44600); uVar16 = *(longlong *)(lVar10 + 4 + local_160) + 0x8cd7e833895bb60c; uVar16 = (uVar16 >> 0x1c | uVar16 << 0x24) + 0xef211a4a44476f71; uVar16 = ((uVar16 >> 8 | uVar16 << 0x38) & 0xd728d728d728d728 | (uVar16 * 0x100 | uVar16 >> 0x38) & 0x28d728d728d728d7) + 0x9d43a5e96091cc48; uVar16 = (uVar16 >> 0x17 | uVar16 << 0x29) + 0x846aef3dad79503d; uVar16 = ((uVar16 * 4 | uVar16 >> 0x3e) & 0x9999999999999999 | (uVar16 >> 2 | uVar16 << 0x3e) & 0x6666666666666666) + 0xd18fb7bc75cb03f; *(ulonglong *)(lVar10 + 4 + local_160) = uVar16; plVar13 = (longlong *)(~(uVar17 + 1) + 5 + local_158[0]); *plVar13 = *plVar13 + (ulonglong)((uint)(uVar16 >> 2) & 0x4651000); local_1e8 = (uint)((ulonglong)*(undefined8 *)(lVar10 + 4 + local_160) >> 8) & 0x7fffffff; local_1d4 = (uint)(*(ulonglong *)(lVar10 + 4 + local_160) >> 1) ^ 0xcc046bf8; local_198 = *(ulonglong *)(lVar10 + 4 + local_160) ^ 0xe682584c9f9ab81f; local_1e0 = 0xc6fbbcf5828702d; local_1a8 = CONCAT44(local_1a8._4_4_,0x5828702d); local_170 = (longlong)local_1f0 - (longlong)local_1c8; local_140 = local_1c8; local_1d0 = 0x25e55822; local_1f8 = 0x8f93e678; local_1f0 = (undefined *)CONCAT44(local_1f0._4_4_,0x1b873593); local_1c8 = (undefined *)CONCAT44(local_1c8._4_4_,0xcc9e2d51); fVar18 = *(float *)(local_180 + 0x470) * DAT_1824c3d54; if (0.0 < fVar18) { if (fVar18 < DAT_1824c3ea4) { uVar3 = (undefined1)(int)(fVar18 * DAT_1824c454c); } else { uVar3 = 0xff; } } else { uVar3 = 0; } local_1ac = CONCAT13(uVar3,(int3)DAT_18262bb84); local_178 = local_1ac; FUN_181296c00(local_1a0); plVar13 = (longlong *)(lVar2 + 0xf8); lVar10 = (**(code **)(*plVar13 + 8))(plVar13); fVar18 = *(float *)(lVar10 + 0x88); lVar10 = (**(code **)(*plVar13 + 8))(plVar13); local_1e0 = lVar2 + 0x498; FUN_1804ab5e0(local_1e0,local_120,(int)(*(float *)(lVar10 + 0x88) * _DAT_1824c46c0), (int)(fVar18 * _DAT_1824c46f8)); puVar4 = (undefined4 *)FUN_1804ab5a0(local_120,local_d8); local_108 = *puVar4; uStack_104 = puVar4[1]; uStack_100 = puVar4[2]; uStack_fc = puVar4[3]; lVar10 = (**(code **)(*plVar13 + 8))(plVar13); FUN_181295300(local_1a0,&local_108,*(float *)(lVar10 + 0x88) * DAT_1824c41e0); local_1f8 = 0xe6546b64; do { local_190 = 0x59ca3bf5; /* WARNING: Call to offcut address within same function */ func_0x00018162b163(); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); FUN_18162b56e(); FUN_18162b568(); return; } ############ FUN_ 181a061e0 size=61 ############ void FUN_181a061e0(longlong param_1,undefined8 param_2) { FUN_181296c00(param_2,0xff91979a); FUN_181295ed0(param_2,param_1 + 400); return; } ############ FUN_ 181a06230 size=61 ############ void FUN_181a06230(longlong param_1,undefined8 param_2) { FUN_181296c00(param_2,0xff86aac0); FUN_181295ed0(param_2,param_1 + 400); return; } ############ FUN_ 181a06280 size=186 ############ void FUN_181a06280(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined4 uVar1; bool bVar2; LPCRITICAL_SECTION lpCriticalSection; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; lpCriticalSection = (LPCRITICAL_SECTION)(*(longlong *)(param_1 + 0x1b8) + 0x528); EnterCriticalSection(lpCriticalSection); if (*(longlong *)(*(longlong *)(param_1 + 0x1b8) + 0x168) != 0) { FUN_181a058a0(param_1); if ((*(char *)(*(longlong *)(param_1 + 0x1b8) + 0x93a) == '\0') || (*(char *)(*(longlong *)(param_1 + 0x1b8) + 0x939) == '\0')) { bVar2 = false; } else { bVar2 = true; } if (bVar2) { uVar1 = 0xff91979a; } else { uVar1 = 0xff86aac0; } FUN_181296c00(param_2,uVar1,param_3,param_4,uVar3); FUN_181295ed0(param_2,param_1 + 400); } /* WARNING: Could not recover jumptable at 0x000181a06333. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection(lpCriticalSection); return; } ############ FUN_ 181a0b7b0 size=953 ############ /* WARNING: Removing unreachable block (ram,0x000181a0b89d) */ undefined8 FUN_181a0b7b0(longlong param_1,undefined8 param_2) { code *pcVar1; uint uVar2; undefined8 uVar3; int iVar4; int unaff_retaddr; undefined1 auStack_2d8 [32]; undefined1 local_2b8; uint local_2a8; uint local_2a4; undefined4 local_29c; undefined4 local_260; uint local_25c; longlong local_228; undefined1 local_1d8 [4]; undefined4 local_1d4; undefined8 local_1c8; undefined8 local_190; ulonglong local_58; local_190 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_2d8; uVar2 = (uint)&stack0x00000000 & 0x20ff; uVar2 = ((uVar2 + 1) * uVar2 + 7) % 0x51; uVar2 = (int)(-uVar2 | uVar2) >> 0x1f; local_25c = ((int)(-uVar2 | uVar2) >> 0x1f) * -0x3046 ^ 0x3226; uVar2 = (uint)&stack0x00000000 & 0x64ff; iVar4 = uVar2 * uVar2 + 1; uVar2 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar2 = (int)(uVar2 - 7) >> 0x1f & uVar2; local_2a4 = (int)(-uVar2 | uVar2) >> 0x1f & 0xf095U ^ 0xf025; do { local_260 = 0x5699f676; local_2a8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)local_2a8 < 0) { local_2a8 = (local_2a8 - 1 | 0xfffffffe) + 1; } } while (local_2a8 != 0); local_29c = 0xdbe48c19; pcVar1 = *(code **)(*(longlong *)(param_1 + 0x1c8) + 8); local_228 = param_1; local_1c8 = param_2; if (pcVar1 == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } uVar3 = *(undefined8 *)(param_1 + 0x1d0); } else { uVar3 = (*pcVar1)(param_1 + 0x1c8); } local_2b8 = 1; FUN_1813f22a0(uVar3,local_1d8,DAT_1826741d8,param_1); uVar3 = FUN_181296c00(param_2,local_1d4); return uVar3; } ############ FUN_ 1814d0590 size=27 ############ void FUN_1814d0590(undefined8 param_1,undefined8 param_2) { undefined4 local_res18; local_res18 = CONCAT13(0x7f,(int3)DAT_18262bb60); FUN_181296c00(param_2,local_res18); return; } ############ FUN_ 181297840 size=1240 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181297840(float param_1,undefined4 param_2,undefined4 param_3,longlong *param_4, longlong *param_5,undefined4 *param_6,float param_7) { undefined8 *puVar1; float *pfVar2; undefined4 uVar3; float fVar4; float fVar5; float fVar6; char cVar7; int iVar8; longlong lVar9; int iVar10; float fVar11; float fVar12; float fVar13; float fVar14; float fVar15; float fVar16; undefined1 auStack_1f8 [32]; float local_1d8; undefined4 local_1d0; undefined4 local_1c8; void *local_1b8; undefined8 local_1b0; longlong local_1a8; undefined8 local_1a0; longlong local_198; longlong lStack_190; undefined1 local_188; float local_178; float local_174; undefined8 local_170; char local_168; int local_164; longlong *local_160; undefined4 local_158; undefined4 uStack_154; undefined4 uStack_150; undefined4 uStack_14c; undefined8 local_148; float *local_140; float local_138; undefined8 local_134; undefined1 local_12c; void *local_128; void *local_120; undefined8 local_118; float local_108; float fStack_104; float fStack_100; float fStack_fc; float local_f8; float fStack_f4; float fStack_f0; float fStack_ec; float local_e8; float fStack_e4; float fStack_e0; float fStack_dc; ulonglong local_d8; local_d8 = DAT_182615970 ^ (ulonglong)auStack_1f8; if (0.0 < param_1) { local_1a8 = 0; local_1a0 = 0; local_188 = 1; local_198 = 0; lStack_190 = 0; if (param_5 == param_4) { local_1a8 = *param_4; *param_4 = 0; lVar9 = param_4[1]; *(undefined4 *)(param_4 + 1) = 0; uVar3 = *(undefined4 *)((longlong)param_4 + 0xc); *(undefined4 *)((longlong)param_4 + 0xc) = 0; local_198 = param_4[2]; lStack_190 = param_4[3]; param_4[2] = 0; param_4[3] = 0; local_1a0 = CONCAT44(uVar3,(int)lVar9); local_188 = (char)param_4[4]; param_5 = &local_1a8; *(undefined1 *)(param_4 + 4) = 1; } else { *(undefined8 *)((longlong)param_4 + 0xc) = 0; *(undefined8 *)((longlong)param_4 + 0x14) = 0; *(undefined4 *)((longlong)param_4 + 0x1c) = 0; } param_7 = DAT_1824c3db8 / param_7; *(undefined1 *)(param_4 + 4) = 1; local_160 = param_5; local_140 = (float *)*param_5; local_170 = 0; local_168 = '\0'; local_164 = -1; local_134 = 0; local_158 = *param_6; uStack_154 = param_6[1]; uStack_150 = param_6[2]; uStack_14c = param_6[3]; local_148 = *(undefined8 *)(param_6 + 4); local_138 = param_7 * param_7; fVar16 = param_1 * DAT_1824c43e4 * param_1; param_1 = param_1 * DAT_1824c3d8c; local_12c = FUN_1812a0b10(); local_128 = malloc(0x80); local_118 = 0x20; local_1b8 = (void *)0x0; local_1b0 = 0; local_120 = local_128; FUN_1804af890(&local_1b8,0x308); fVar12 = 0.0; fVar13 = 0.0; local_108 = 0.0; fStack_104 = 0.0; cVar7 = FUN_1812992b0(&local_178); fVar4 = DAT_1824c3c44; iVar10 = local_1b0._4_4_; while (cVar7 != '\0') { if (local_164 == 0) { if (0 < iVar10) { local_1d8 = fVar16; local_1d0 = param_2; local_1c8 = param_3; FUN_181297d70(param_4,&local_1b8,0,param_1); local_1b0 = local_1b0 & 0xffffffff; iVar10 = 0; } local_108 = local_178; fStack_104 = local_174; fVar12 = local_178; fVar13 = local_174; } cVar7 = local_168; fVar5 = (float)local_170; fVar6 = local_170._4_4_; fVar14 = (float)local_170 - fVar12; fStack_100 = (float)local_170; fStack_fc = local_170._4_4_; fVar15 = local_170._4_4_ - fVar13; fVar11 = fVar15 * fVar15 + fVar14 * fVar14; if (((local_168 != '\0') || (fVar4 < fVar11)) || ((local_120 == local_128 && ((local_140 == (float *)(*local_160 + (longlong)*(int *)((longlong)local_160 + 0xc) * 4) || (*local_140 == DAT_1824c4600)))))) { fVar11 = sqrtf(fVar11); local_f8 = fVar12; fStack_f4 = fVar13; fStack_f0 = fVar12; fStack_ec = fVar13; local_e8 = fVar12; fStack_e4 = fVar13; fStack_e0 = fVar12; fStack_dc = fVar13; if (fVar11 != 0.0) { fVar14 = fVar14 * (param_1 / fVar11); fVar15 = fVar15 * (param_1 / fVar11); local_f8 = fVar15 + fVar12; fStack_f4 = fVar13 - fVar14; fStack_f0 = fVar15 + fVar5; fStack_ec = fVar6 - fVar14; local_e8 = fVar5 - fVar15; fStack_e4 = fVar14 + fVar6; fStack_e0 = fVar12 - fVar15; fStack_dc = fVar14 + fVar13; } iVar8 = iVar10 + 1; if ((int)local_1b0 < iVar8) { if (iVar8 < 0) { iVar8 = iVar10 + 2; } FUN_1804af890(&local_1b8,iVar10 + 9 + (iVar8 >> 1) & 0xfffffff8); iVar10 = local_1b0._4_4_; } lVar9 = (longlong)iVar10; iVar10 = iVar10 + 1; local_1b0 = CONCAT44(iVar10,(int)local_1b0); puVar1 = (undefined8 *)((longlong)local_1b8 + lVar9 * 0x30); *puVar1 = CONCAT44(fStack_104,local_108); puVar1[1] = CONCAT44(fStack_fc,fStack_100); pfVar2 = (float *)((longlong)local_1b8 + lVar9 * 0x30 + 0x10); *pfVar2 = local_f8; pfVar2[1] = fStack_f4; pfVar2[2] = fStack_f0; pfVar2[3] = fStack_ec; pfVar2 = (float *)((longlong)local_1b8 + lVar9 * 0x30 + 0x20); *pfVar2 = local_e8; pfVar2[1] = fStack_e4; pfVar2[2] = fStack_e0; pfVar2[3] = fStack_dc; if (cVar7 == '\0') { local_108 = fVar5; fStack_104 = fVar6; fVar12 = fVar5; fVar13 = fVar6; } else { local_1d8 = fVar16; local_1d0 = param_2; local_1c8 = param_3; FUN_181297d70(param_4,&local_1b8,1,param_1); local_1b0 = local_1b0 & 0xffffffff; iVar10 = 0; } } cVar7 = FUN_1812992b0(&local_178); } if (0 < iVar10) { local_1d8 = fVar16; local_1d0 = param_2; local_1c8 = param_3; FUN_181297d70(param_4,&local_1b8,0,param_1); } /* WARNING: Subroutine does not return */ free(local_1b8); } *(undefined8 *)((longlong)param_4 + 0xc) = 0; *(undefined8 *)((longlong)param_4 + 0x14) = 0; *(undefined4 *)((longlong)param_4 + 0x1c) = 0; } ############ FUN_ 1812954c0 size=647 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812954c0(longlong param_1,float *param_2,float param_3) { float fVar1; float fVar2; float fVar3; float fVar4; char cVar5; float *pfVar6; float local_d8; float fStack_d4; float fStack_d0; float fStack_cc; ulonglong local_c8; float *local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 uStack_a0; undefined1 local_98; undefined8 local_90; undefined8 uStack_88; ulonglong local_80; undefined8 local_78; local_78 = 0xfffffffffffffffe; local_b8 = (float *)0x0; local_b0 = 0; local_a8 = 0; uStack_a0 = 0; local_98 = 1; fVar1 = param_2[2]; fVar2 = param_2[3]; if (fVar1 == fVar2) { param_3 = param_3 * DAT_1824c3d8c; fStack_d0 = param_3 * DAT_1824c41e0 + fVar1; if (fStack_d0 <= 0.0) { fStack_d0 = 0.0; } fStack_cc = param_3 * DAT_1824c41e0 + fVar2; if (fStack_cc <= 0.0) { fStack_cc = 0.0; } fVar3 = param_2[1]; fStack_d4 = fVar3 - param_3; fVar4 = *param_2; local_d8 = fVar4 - param_3; FUN_18129d1e0(&local_b8,&local_d8); param_3 = (float)((uint)param_3 ^ DAT_1824c4f30); fStack_d0 = param_3 * DAT_1824c41e0 + fVar1; if (fStack_d0 <= 0.0) { fStack_d0 = 0.0; } fStack_cc = param_3 * DAT_1824c41e0 + fVar2; if (fStack_cc <= 0.0) { fStack_cc = 0.0; } fStack_d4 = fVar3 - param_3; local_d8 = fVar4 - param_3; FUN_18129d1e0(&local_b8,&local_d8); local_98 = 0; cVar5 = (**(code **)(**(longlong **)(param_1 + 8) + 0x60))(); if (cVar5 == '\0') { for (pfVar6 = local_b8; pfVar6 != local_b8 + local_b0._4_4_; pfVar6 = pfVar6 + 1) { fVar1 = *pfVar6; if (fVar1 == DAT_1824c4600) { pfVar6 = pfVar6 + 2; } else if (((fVar1 == DAT_1824c45fc) || (fVar1 == DAT_1824c4604)) || (fVar1 == DAT_1824c4608)) { local_d8 = (float)_DAT_1824c4780; fStack_d4 = (float)((ulonglong)_DAT_1824c4780 >> 0x20); fStack_d0 = (float)_UNK_1824c4788; fStack_cc = (float)((ulonglong)_UNK_1824c4788 >> 0x20); local_c8 = (ulonglong)DAT_1824c3ea4; (**(code **)(**(longlong **)(param_1 + 8) + 0xb8)) (*(longlong **)(param_1 + 8),&local_b8,&local_d8); break; } } } } else { local_d8 = *param_2; fStack_d4 = param_2[1]; fStack_d0 = param_2[2]; fStack_cc = param_2[3]; FUN_18129d1e0(&local_b8,&local_d8); local_90 = _DAT_1824c4780; uStack_88 = _UNK_1824c4788; local_80 = (ulonglong)DAT_1824c3ea4; fStack_d4 = 0.0; fStack_d0 = 0.0; local_d8 = param_3; FUN_181295d20(param_1,&local_b8,&local_d8,&local_90); } local_b0 = local_b0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_b8); } ############ FUN_ 181295190 size=235 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181295190(undefined8 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4) { undefined4 local_70; undefined8 local_6c; undefined8 local_64; undefined8 uStack_5c; ulonglong local_54; void *local_48; ulonglong local_40; undefined8 local_38; undefined8 uStack_30; undefined1 local_28; local_48 = (void *)0x0; local_40 = 0; local_38 = 0; uStack_30 = 0; local_28 = 1; FUN_18129d5a0(&local_48,*param_2,param_2[1],param_2[2],param_2[3],param_3,param_3,1,1,1,1); local_64 = _DAT_1824c4780; uStack_5c = _UNK_1824c4788; local_54 = (ulonglong)DAT_1824c3ea4; local_6c = 0; local_70 = param_4; FUN_181295d20(param_1,&local_48,&local_70,&local_64); local_40 = local_40 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_48); } ############ FUN_ 18059eb10 size=994 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18059eb10(undefined8 param_1,undefined8 param_2,float *param_3) { float fVar1; float fVar2; float fVar3; float fVar4; float fVar5; float local_c0; undefined8 uStack_bc; float fStack_b4; undefined1 local_b0 [24]; void *local_98; undefined8 local_90; float local_88; float fStack_84; float local_80; float fStack_7c; undefined1 local_78; fVar4 = (float)((uint)(float)((double)param_3[3] * _DAT_1824c3fa8) ^ DAT_1824c4f30); fVar5 = fVar4 * DAT_1824c41e0 + param_3[2]; if (fVar5 <= 0.0) { fVar5 = 0.0; } fVar3 = fVar4 * DAT_1824c41e0 + param_3[3]; if (fVar3 <= 0.0) { fVar3 = 0.0; } local_c0 = *param_3 - fVar4; uStack_bc = CONCAT44(fVar5,param_3[1] - fVar4); *param_3 = local_c0; param_3[1] = param_3[1] - fVar4; param_3[2] = fVar5; param_3[3] = fVar3; fVar4 = DAT_1824c3d8c; fVar5 = fVar3 * DAT_1824c3cb8; local_98 = (void *)0x0; local_90 = 0; local_78 = 1; local_88 = 0.0; fStack_84 = 0.0; fStack_7c = 0.5; local_80 = 0.5; fStack_b4 = fVar3; FUN_1804b02a0(&local_98,&DAT_1821df344,0,DAT_1824c3d8c); if (local_90._4_4_ == 0) { local_88 = 0.0; fStack_84 = 0.0; local_80 = 0.0; fStack_7c = 0.0; FUN_1804b02a0(&local_98,&DAT_1821df344,0,0); } fVar1 = DAT_1824c3f78; FUN_1804b02a0(&local_98,&DAT_1821dfcb4,DAT_1824c3f78,fVar4); fVar2 = DAT_1824c3ea4; if (local_88 <= fVar1) { if (fStack_84 < fVar1) { fStack_84 = fVar1; } } else { local_88 = fVar1; } if (local_80 <= fVar4) { if (fStack_7c < fVar4) { fStack_7c = fVar4; } } else { local_80 = fVar4; } if (local_90._4_4_ == 0) { fStack_84 = 1.0; local_88 = 1.0; local_80 = 0.0; fStack_7c = 0.0; } else { if (local_88 <= DAT_1824c3ea4) { if (fStack_84 < DAT_1824c3ea4) { fStack_84 = 1.0; } } else { local_88 = 1.0; } if (local_80 <= 0.0) { if (fStack_7c < 0.0) { fStack_7c = 0.0; } } else { local_80 = 0.0; } } FUN_1804b02a0(&local_98,&DAT_1821df344,DAT_1824c3ea4,0); if (local_90._4_4_ == 0) { local_88 = 0.0; fStack_84 = 0.0; local_80 = 0.0; fStack_7c = 0.0; FUN_1804b02a0(&local_98,&DAT_1821df344,0,0); } FUN_1804b02a0(&local_98,&DAT_1821dfcb4,fVar1,fVar4); if (local_88 <= fVar1) { if (fStack_84 < fVar1) { fStack_84 = fVar1; } } else { local_88 = fVar1; } fVar1 = fStack_84; if (local_80 <= fVar4) { if (fStack_7c < fVar4) { fStack_7c = fVar4; } } else { local_80 = fVar4; } if (local_90._4_4_ == 0) { local_88 = 0.0; fStack_84 = 0.0; local_80 = 0.0; fStack_7c = 0.0; FUN_1804b02a0(fVar1,&DAT_1821df344,0,0); } FUN_1804b02a0(&local_98,&DAT_1821dfcb4,fVar2,fVar2); if (local_88 <= fVar2) { if (fStack_84 < fVar2) { fStack_84 = 1.0; } } else { local_88 = 1.0; } if (local_80 <= fVar2) { if (fStack_7c < fVar2) { fStack_7c = 1.0; } } else { local_80 = 1.0; } fVar2 = param_3[2] * fVar4; FUN_18129b390(&local_98,local_b0,(fVar2 + *param_3) - fVar2, (fVar3 / DAT_1824c4408 + fVar3 * fVar4 + param_3[1]) - fVar3 * fVar4,param_3[2], fVar3,1,0x24); uStack_bc = 1; local_c0 = fVar5; FUN_181295d20(param_2,&local_98,&local_c0,local_b0); local_90 = local_90 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_98); } ############ FUN_ 181351450 size=104 ############ undefined8 * FUN_181351450(undefined8 *param_1) { *param_1 = juce::ReferenceCountedObject::vftable; *(undefined4 *)(param_1 + 1) = 0; FUN_1812a59f0(param_1 + 2); *param_1 = juce::Value::ValueSource::vftable; param_1[2] = juce::Value::ValueSource::vftable; param_1[4] = 0; param_1[5] = 0; return param_1; } ############ FUN_ 18131e970 size=436 ############ undefined8 * FUN_18131e970(undefined8 *param_1,undefined1 param_2) { undefined8 uVar1; *param_1 = juce::Component::vftable; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; FUN_1812a59f0(param_1 + 0x16); param_1[0x19] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x1a) = 0; *param_1 = juce::ScrollBar::vftable; param_1[0x16] = juce::ScrollBar::vftable; param_1[0x18] = juce::ScrollBar::vftable; param_1[0x1b] = 0; uVar1 = DAT_1824c4140; param_1[0x1c] = DAT_1824c4140; param_1[0x1d] = 0; param_1[0x1e] = uVar1; param_1[0x1f] = 0x3fb999999999999a; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = 0; *(undefined4 *)(param_1 + 0x24) = 100; *(undefined4 *)((longlong)param_1 + 0x124) = 0x32; *(undefined4 *)(param_1 + 0x25) = 10; *(undefined1 *)((longlong)param_1 + 300) = param_2; *(undefined2 *)((longlong)param_1 + 0x12d) = 0x100; *(undefined1 *)((longlong)param_1 + 0x12f) = 0; param_1[0x26] = 0; param_1[0x27] = 0; param_1[0x28] = 0; param_1[0x29] = 0; *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) | 8; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x40; return param_1; } ############ FUN_ 1805166a0 size=300 ############ undefined8 * FUN_1805166a0(undefined8 *param_1,int param_2,longlong *param_3,longlong *param_4,longlong param_5, uint param_6,undefined8 param_7,char param_8) { longlong lVar1; char cVar2; undefined8 uVar3; uint uVar4; bool bVar5; char local_res10 [8]; FUN_1812a59f0(); *param_1 = juce::WindowsMessageBox::vftable; local_res10[0] = '\0'; EnumWindows(FUN_1812c6400,(LPARAM)local_res10); uVar4 = 0x12000; if (local_res10[0] != '\0') { uVar4 = 0x52000; } if (param_2 == 1) { uVar4 = uVar4 | 0x20; } else if (param_2 == 2) { uVar4 = uVar4 | 0x30; } else if (param_2 == 3) { uVar4 = uVar4 | 0x40; } *(uint *)(param_1 + 2) = uVar4 | param_6; uVar3 = 0; if (param_5 != 0) { uVar3 = FUN_18134b8d0(); } param_1[3] = uVar3; lVar1 = *param_3; param_1[4] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } lVar1 = *param_4; param_1[5] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } param_1[6] = param_7; if (param_8 != '\0') { LOCK(); bVar5 = *(int *)(param_1[1] + 0x18) == 0; if (bVar5) { *(int *)(param_1[1] + 0x18) = 1; } UNLOCK(); if ((bVar5) && (cVar2 = FUN_1812a6720(param_1[1]), cVar2 == '\0')) { LOCK(); *(undefined4 *)(param_1[1] + 0x18) = 0; UNLOCK(); } } return param_1; } ############ FUN_ 1804f5420 size=740 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804f5420(undefined8 *param_1,undefined8 param_2,longlong param_3,undefined4 param_4, longlong *param_5,undefined8 param_6) { uint uVar1; longlong lVar2; char cVar3; errno_t eVar4; undefined8 *puVar5; uint *puVar6; undefined1 auStack_118 [32]; longlong local_f8; longlong local_f0; longlong local_e8; undefined8 local_e0; tm local_d8; undefined1 *local_b0; undefined8 local_a8; longlong local_a0; undefined8 uStack_98; undefined1 local_90; undefined8 local_88; undefined8 *local_80; undefined8 local_78; longlong local_70; int local_68; int iStack_64; int iStack_60; int iStack_5c; int local_58; int iStack_54; int iStack_50; int iStack_4c; int local_48; ulonglong local_40; local_88 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_118; *param_1 = juce::TreeViewItem::vftable; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; *(undefined4 *)(param_1 + 7) = 0; *(byte *)(param_1 + 8) = *(byte *)(param_1 + 8) & 0xc2 | 2; *(uint *)((longlong)param_1 + 0x44) = *(uint *)((longlong)param_1 + 0x44) & 0xfffffffc; *(int *)((longlong)param_1 + 0x3c) = DAT_18267aaa4; DAT_18267aaa4 = DAT_18267aaa4 + 1; param_1[9] = juce::TimeSliceClient::vftable; param_1[10] = 0; local_80 = param_1; FUN_1812a59f0(param_1 + 0xb); *param_1 = juce::FileListTreeItem::vftable; param_1[9] = juce::FileListTreeItem::vftable; param_1[0xb] = juce::FileListTreeItem::vftable; param_1[0xd] = juce::FileListTreeItem::vftable; lVar2 = *param_5; param_1[0xe] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[0xf] = param_2; param_1[0x10] = param_3; *(undefined4 *)(param_1 + 0x11) = param_4; param_1[0x12] = 0; *(undefined1 *)(param_1 + 0x13) = 0; param_1[0x15] = param_6; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x16)); param_1[0x1c] = 0; param_1[0x1d] = &DAT_1821dbf98; param_1[0x1e] = &DAT_1821dbf98; local_b0 = &DAT_1821dbf98; local_a0 = 0; uStack_98 = 0; if ((param_3 == 0) || (cVar3 = FUN_18132e000(param_3,param_4,&local_b0), cVar3 == '\0')) { *(undefined1 *)(param_1 + 0x14) = 1; } else { puVar5 = (undefined8 *)FUN_181240c90(&local_f0,local_a8); local_78 = param_1[0x1d]; param_1[0x1d] = *puVar5; *puVar5 = local_78; puVar6 = (uint *)(local_f0 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_18049c4e0(&local_f8,"%d %b \'%y %H:%M"); local_e8 = local_a0 / 1000; eVar4 = _localtime64_s(&local_d8,&local_e8); if (eVar4 != 0) { local_d8.tm_sec = 0; local_d8.tm_min = 0; local_d8.tm_hour = 0; local_d8.tm_mday = 0; local_d8.tm_mon = 0; local_d8.tm_year = 0; local_d8.tm_wday = 0; local_d8.tm_yday = 0; local_d8.tm_isdst = 0; } local_68 = local_d8.tm_sec; iStack_64 = local_d8.tm_min; iStack_60 = local_d8.tm_hour; iStack_5c = local_d8.tm_mday; local_58 = local_d8.tm_mon; iStack_54 = local_d8.tm_year; iStack_50 = local_d8.tm_wday; iStack_4c = local_d8.tm_yday; local_48 = local_d8.tm_isdst; FUN_181229320(&local_e0,&local_f8,&local_68); local_70 = param_1[0x1e]; param_1[0x1e] = local_e0; puVar6 = (uint *)(local_70 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_f8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } *(undefined1 *)(param_1 + 0x14) = local_90; } puVar6 = (uint *)(local_b0 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } ############ FUN_ 18132e630 size=215 ############ undefined8 * FUN_18132e630(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { *param_1 = juce::ChangeBroadcaster::vftable; FUN_1812a59f0(param_1 + 1); param_1[1] = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; param_1[4] = 0; param_1[5] = 0; *(undefined1 *)(param_1 + 6) = 0; param_1[3] = param_1; param_1[8] = 0; *param_1 = juce::DirectoryContentsList::vftable; param_1[7] = juce::DirectoryContentsList::vftable; param_1[9] = &DAT_1821dbf98; param_1[10] = param_2; param_1[0xb] = param_3; *(undefined4 *)(param_1 + 0xc) = 6; InitializeCriticalSection((LPCRITICAL_SECTION)((longlong)param_1 + 100)); param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined2 *)(param_1 + 0x15) = 0x101; return param_1; } ############ FUN_ 181349800 size=399 ############ undefined8 * FUN_181349800(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; uint *_Memory; undefined8 *local_res18 [2]; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; puVar2 = param_1; FUN_1813453e0(); puVar2[0x16] = juce::SettableTooltipClient::vftable; puVar2[0x17] = &DAT_1821dbf98; puVar2[0x18] = juce::Value::Listener::vftable; FUN_1812a59f0(puVar2 + 0x19); *param_1 = juce::ComboBox::vftable; param_1[0x16] = juce::ComboBox::vftable; param_1[0x18] = juce::ComboBox::vftable; param_1[0x19] = juce::ComboBox::vftable; param_1[0x22] = 0; param_1[0x23] = 0; param_1[0x24] = 0; param_1[0x25] = 0; param_1[0x26] = 0; FUN_181351c70(param_1 + 0x27); *(undefined4 *)(param_1 + 0x2a) = 0; *(undefined2 *)((longlong)param_1 + 0x154) = 0; *(undefined1 *)((longlong)param_1 + 0x156) = 0; *(undefined4 *)(param_1 + 0x2b) = 0; param_1[0x2c] = 0; param_1[0x2d] = 0; param_1[0x2e] = 0; param_1[0x2f] = &DAT_1821dbf98; local_res18[0] = param_1 + 0x30; FUN_18049c4e0(local_res18,"(no choices)",param_3,param_4,uVar3); FUN_1812344e0(param_1 + 0x30,local_res18); _Memory = (uint *)(local_res18[0] + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(undefined4 *)(param_1 + 0x31) = 0; *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) | 8; FUN_1812eadd0(param_1); FUN_181351570(param_1 + 0x27,param_1 + 0x18); return param_1; } ############ FUN_ 181352b90 size=145 ############ undefined8 * FUN_181352b90(undefined8 *param_1) { *param_1 = juce::ChangeBroadcaster::vftable; FUN_1812a59f0(); param_1[1] = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; param_1[4] = 0; param_1[5] = 0; *(undefined1 *)(param_1 + 6) = 0; param_1[3] = param_1; *param_1 = juce::UndoManager::vftable; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = &DAT_1821dbf98; *(undefined4 *)(param_1 + 0xc) = 0; param_1[0xd] = 0x1e; *(undefined2 *)(param_1 + 0xe) = 1; *(undefined4 *)((longlong)param_1 + 100) = 30000; return param_1; } ############ FUN_ 18054b9d0 size=574 ############ undefined8 * FUN_18054b9d0(undefined8 *param_1,longlong *param_2,longlong *param_3,longlong *param_4, longlong *param_5,undefined1 param_6) { uint uVar1; longlong lVar2; uint *_Memory; longlong local_res10; *param_1 = juce::AudioIODevice::vftable; lVar2 = *param_2; param_1[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar2 = *param_3; param_1[2] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } FUN_18049c4e0(&local_res10,"JUCE WASAPI",param_3,param_4,0xfffffffffffffffe); FUN_18122b770(param_1 + 3,&local_res10); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1812a59f0(param_1 + 0x43); *param_1 = juce::WasapiClasses::WASAPIAudioIODevice::vftable; param_1[3] = juce::WasapiClasses::WASAPIAudioIODevice::vftable; param_1[0x43] = juce::WasapiClasses::WASAPIAudioIODevice::vftable; lVar2 = *param_4; param_1[0x45] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar2 = *param_5; param_1[0x46] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[0x47] = &DAT_1821dbf98; param_1[0x48] = 0; param_1[0x49] = 0; *(undefined1 *)(param_1 + 0x4a) = param_6; param_1[0x4b] = 0; param_1[0x4c] = 0; param_1[0x4d] = 0; param_1[0x4e] = 0; param_1[0x4f] = 0; param_1[0x50] = 0; param_1[0x51] = 0; *(undefined2 *)(param_1 + 0x52) = 0; *(undefined4 *)((longlong)param_1 + 0x294) = 0; param_1[0x53] = 0; param_1[0x54] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x55)); *(undefined2 *)((longlong)param_1 + 0x2d4) = 0; param_1[0x5b] = 0; param_1[0x5e] = 4; *(undefined4 *)(param_1 + 0x5f) = 0xffffffff; *(undefined1 *)((longlong)param_1 + 0x2fc) = 0; *(undefined4 *)(param_1 + 0x5c) = 0; *(undefined4 *)((longlong)param_1 + 0x2e4) = 0; *(undefined4 *)(param_1 + 0x5d) = 0; *(undefined4 *)((longlong)param_1 + 0x2ec) = 0; param_1[0x60] = 0; param_1[99] = 4; *(undefined4 *)(param_1 + 100) = 0xffffffff; *(undefined1 *)((longlong)param_1 + 0x324) = 0; *(undefined4 *)(param_1 + 0x61) = 0; *(undefined4 *)((longlong)param_1 + 0x30c) = 0; *(undefined4 *)(param_1 + 0x62) = 0; *(undefined4 *)((longlong)param_1 + 0x314) = 0; return param_1; } ############ FUN_ 180580670 size=103 ############ undefined8 * FUN_180580670(undefined8 *param_1) { *param_1 = juce::ChangeBroadcaster::vftable; FUN_1812a59f0(); param_1[1] = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; param_1[4] = 0; param_1[5] = 0; *(undefined1 *)(param_1 + 6) = 0; param_1[3] = param_1; *param_1 = juce::SelectedItemSet::vftable; param_1[7] = 0; param_1[8] = 0; return param_1; } ############ FUN_ 1812a5780 size=41 ############ undefined8 * FUN_1812a5780(undefined8 *param_1) { FUN_1812a59f0(); param_1[2] = 0; *param_1 = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; return param_1; } ############ FUN_ 1812a58e0 size=85 ############ undefined8 * FUN_1812a58e0(undefined8 *param_1) { *param_1 = juce::ChangeBroadcaster::vftable; FUN_1812a59f0(param_1 + 1); param_1[1] = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; param_1[4] = 0; param_1[5] = 0; *(undefined1 *)(param_1 + 6) = 0; param_1[3] = param_1; return param_1; } ############ FUN_ 18133b700 size=72 ############ undefined8 * FUN_18133b700(undefined8 *param_1) { FUN_1812a59f0(); FUN_1812a7230(param_1 + 2); *param_1 = juce::ModalComponentManager::vftable; param_1[2] = juce::ModalComponentManager::vftable; param_1[3] = 0; param_1[4] = 0; return param_1; } ############ FUN_ 1813bafe0 size=240 ############ undefined8 * FUN_1813bafe0(undefined8 *param_1) { undefined8 *puVar1; *param_1 = juce::PositionableAudioSource::vftable; puVar1 = param_1 + 1; *puVar1 = juce::ChangeBroadcaster::vftable; FUN_1812a59f0(param_1 + 2); param_1[2] = juce::ChangeBroadcaster::ChangeBroadcasterCallback::vftable; param_1[5] = 0; param_1[6] = 0; *(undefined1 *)(param_1 + 7) = 0; param_1[4] = puVar1; *param_1 = juce::AudioTransportSource::vftable; *puVar1 = juce::AudioTransportSource::vftable; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xd)); *(undefined4 *)((longlong)param_1 + 0x94) = 0x3f800000; *(undefined4 *)(param_1 + 0x13) = 0x3f800000; *(undefined2 *)((longlong)param_1 + 0x9c) = 0x100; param_1[0x14] = 0x40e5888000000000; param_1[0x15] = 0; param_1[0x16] = 0x80; *(undefined2 *)(param_1 + 0x17) = 0; return param_1; } ############ FUN_ 1812a6d90 size=124 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_1812a6d90(void) { if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267b0a0) { _Init_thread_header(&DAT_18267b0a0); if (DAT_18267b0a0 == -1) { DAT_18267b090 = 0; _DAT_18267b098 = 0; atexit((_func_5014 *)&LAB_181a4ac90); _Init_thread_footer(&DAT_18267b0a0); return &DAT_18267b090; } } return &DAT_18267b090; } ############ FUN_ 18133b370 size=76 ############ ulonglong FUN_18133b370(longlong param_1) { ulonglong uVar1; longlong *plVar2; ulonglong uVar3; ulonglong uVar4; plVar2 = *(longlong **)(param_1 + 0x18); uVar3 = 0; uVar1 = (ulonglong)((longlong)(plVar2 + *(int *)(param_1 + 0x24)) + (7 - (longlong)plVar2)) >> 3; if (plVar2 + *(int *)(param_1 + 0x24) < plVar2) { uVar1 = uVar3; } uVar4 = uVar3; if (uVar1 != 0) { do { if (*(char *)(*plVar2 + 0x5c) != '\0') { uVar4 = (ulonglong)((int)uVar4 + 1); } plVar2 = plVar2 + 1; uVar3 = uVar3 + 1; } while (uVar3 != uVar1); } return uVar4; } ############ FUN_ 1812fbfd0 size=446 ############ undefined8 * FUN_1812fbfd0(undefined8 *param_1) { FUN_181300930(); *param_1 = juce::LookAndFeel_V4::vftable; param_1[1] = juce::LookAndFeel_V4::vftable; param_1[2] = juce::LookAndFeel_V4::vftable; param_1[3] = juce::LookAndFeel_V4::vftable; param_1[4] = juce::LookAndFeel_V4::vftable; param_1[5] = juce::LookAndFeel_V4::vftable; param_1[6] = juce::LookAndFeel_V4::vftable; param_1[7] = juce::LookAndFeel_V4::vftable; param_1[8] = juce::LookAndFeel_V4::vftable; param_1[9] = juce::LookAndFeel_V4::vftable; param_1[10] = juce::LookAndFeel_V4::vftable; param_1[0xb] = juce::LookAndFeel_V4::vftable; param_1[0xc] = juce::LookAndFeel_V4::vftable; param_1[0xd] = juce::LookAndFeel_V4::vftable; param_1[0xe] = juce::LookAndFeel_V4::vftable; param_1[0xf] = juce::LookAndFeel_V4::vftable; param_1[0x10] = juce::LookAndFeel_V4::vftable; param_1[0x11] = juce::LookAndFeel_V4::vftable; param_1[0x12] = juce::LookAndFeel_V4::vftable; param_1[0x13] = juce::LookAndFeel_V4::vftable; param_1[0x14] = juce::LookAndFeel_V4::vftable; param_1[0x15] = juce::LookAndFeel_V4::vftable; param_1[0x16] = juce::LookAndFeel_V4::vftable; param_1[0x17] = juce::LookAndFeel_V4::vftable; param_1[0x18] = juce::LookAndFeel_V4::vftable; param_1[0x19] = juce::LookAndFeel_V4::vftable; param_1[0x1a] = juce::LookAndFeel_V4::vftable; param_1[0x1b] = juce::LookAndFeel_V4::vftable; param_1[0x1c] = juce::LookAndFeel_V4::vftable; FUN_18051f810(param_1 + 0x29,0xff323e44,0xff263238,0xff323e44,0xff8e989b); FUN_1812f4280(param_1); return param_1; } ############ FUN_ 18131e060 size=515 ############ void FUN_18131e060(longlong param_1) { int iVar1; undefined1 uVar2; longlong *plVar3; int iVar4; int iVar5; int iVar6; uint uVar7; undefined8 extraout_XMM0_Qa; double dVar8; int local_res8; ulonglong local_18; int iStack_10; int iStack_c; plVar3 = (longlong *)FUN_18134adf0(); if (*(code **)(*plVar3 + 0x28) == FUN_181311b00) { iVar6 = *(int *)(param_1 + 0x28); if (*(int *)(param_1 + 0x2c) < *(int *)(param_1 + 0x28)) { iVar6 = *(int *)(param_1 + 0x2c); } iVar6 = iVar6 * 2; } else { iVar6 = (**(code **)(*plVar3 + 0x28))(plVar3,param_1); } iVar4 = *(int *)(param_1 + 0x10c); if (*(double *)(param_1 + 0xe0) - *(double *)(param_1 + 0xd8) <= 0.0) { dVar8 = (double)iVar4; } else { dVar8 = ((*(double *)(param_1 + 0xf0) - *(double *)(param_1 + 0xe8)) * (double)iVar4) / (*(double *)(param_1 + 0xe0) - *(double *)(param_1 + 0xd8)); } iVar5 = SUB84(dVar8 + DAT_1824c4520,0); if ((iVar5 < iVar6) && (iVar5 = iVar6, iVar4 + -1 < iVar6)) { iVar5 = iVar4 + -1; } iVar6 = *(int *)(param_1 + 0x108); if (iVar4 < iVar5) { iVar5 = iVar4; } if (*(double *)(param_1 + 0xf0) - *(double *)(param_1 + 0xe8) < *(double *)(param_1 + 0xe0) - *(double *)(param_1 + 0xd8)) { local_res8 = SUB84(((double)(iVar4 - iVar5) * (*(double *)(param_1 + 0xe8) - *(double *)(param_1 + 0xd8))) / ((*(double *)(param_1 + 0xe0) - *(double *)(param_1 + 0xd8)) - (*(double *)(param_1 + 0xf0) - *(double *)(param_1 + 0xe8))) + DAT_1824c4520, 0); iVar6 = iVar6 + local_res8; } uVar2 = FUN_18131d310(param_1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(extraout_XMM0_Qa,uVar2); iVar4 = *(int *)(param_1 + 0x110); if ((iVar4 != iVar6) || (*(int *)(param_1 + 0x114) != iVar5)) { iVar1 = iVar4; if (iVar6 < iVar4) { iVar1 = iVar6; } iVar4 = iVar4 + *(int *)(param_1 + 0x114); uVar7 = iVar1 - 4; if (iVar4 < iVar6 + iVar5) { iVar4 = iVar6 + iVar5; } iVar4 = (iVar4 - uVar7) + 8; if (*(char *)(param_1 + 300) == '\0') { local_18 = (ulonglong)uVar7; _iStack_10 = CONCAT44(*(undefined4 *)(param_1 + 0x2c),iVar4); } else { local_18 = (ulonglong)uVar7 << 0x20; _iStack_10 = CONCAT44(iVar4,*(undefined4 *)(param_1 + 0x28)); } FUN_181342a30(param_1,&local_18); *(int *)(param_1 + 0x110) = iVar6; *(int *)(param_1 + 0x114) = iVar5; } return; } ############ FUN_ 1804e6e90 size=189 ############ void FUN_1804e6e90(longlong param_1,undefined1 param_2) { longlong *plVar1; longlong lVar2; longlong local_res8; longlong local_res18; longlong local_res20; local_res8 = 0; lVar2 = 0; if (*(longlong *)(param_1 + 0x48) != 0) { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x48) + 0x10); } if (lVar2 != 0) { plVar1 = (longlong *)FUN_18134adf0(lVar2); plVar1 = (longlong *)(**(code **)(*plVar1 + 0x48))(plVar1,&local_res20,lVar2); local_res8 = *plVar1; *plVar1 = 0; if (local_res20 != 0) { FUN_1804e9060(); } } local_res18 = 0; if (local_res8 != 0) { LOCK(); *(int *)(local_res8 + 0x10) = *(int *)(local_res8 + 0x10) + 1; UNLOCK(); local_res18 = local_res8; } FUN_1804e6d20(param_1,&local_res18,param_2); if (local_res8 != 0) { FUN_1804e9060(local_res8); } return; } ############ FUN_ 181347860 size=633 ############ undefined8 * FUN_181347860(undefined8 *param_1,undefined8 param_2,undefined8 *param_3,undefined4 param_4, undefined8 param_5) { uint *_Memory; code *pcVar1; uint uVar2; longlong lVar3; undefined8 uVar4; undefined1 local_res20 [8]; FUN_1812cc700(param_1,param_2,1,param_4,0xfffffffffffffffe); *param_1 = juce::AlertWindow::vftable; param_1[0x18] = &DAT_1821dbf98; param_1[0x19] = 0; param_1[0x1a] = 0; param_1[0x1b] = 0; *(undefined4 *)(param_1 + 0x1c) = 9; *(undefined4 *)(param_1 + 0x1d) = param_4; param_1[0x1e] = juce::ComponentBoundsConstrainer::vftable; *(undefined4 *)(param_1 + 0x1f) = 0; *(undefined8 *)((longlong)param_1 + 0xfc) = 0x3fffffff; *(undefined8 *)((longlong)param_1 + 0x104) = 0x3fffffff; *(undefined8 *)((longlong)param_1 + 0x10c) = 0; *(undefined4 *)((longlong)param_1 + 0x114) = 0; param_1[0x23] = 0; param_1[0x24] = juce::ComponentDragger::vftable; param_1[0x25] = 0; param_1[0x26] = 0; param_1[0x27] = 0; param_1[0x28] = 0; param_1[0x29] = 0; param_1[0x2a] = 0; param_1[0x2b] = 0; param_1[0x2c] = 0; param_1[0x2d] = 0; param_1[0x2e] = 0; param_1[0x2f] = 0; param_1[0x30] = 0; param_1[0x31] = 0; param_1[0x32] = 0; param_1[0x33] = 0; param_1[0x34] = 0; param_1[0x35] = 0; param_1[0x36] = 0; param_1[0x37] = 0; param_1[0x38] = 0; param_1[0x39] = 0; param_1[0x3a] = param_5; *(undefined1 *)(param_1 + 0x3b) = 1; local_res20[0] = 0; EnumWindows(FUN_1812c6400,(LPARAM)local_res20); FUN_18134b0f0(param_1,local_res20[0]); if (*(char *)*param_3 == '\0') { FUN_18049c4e0(¶m_5,&DAT_1821e32e4); lVar3 = param_1[0x18]; param_1[0x18] = param_5; _Memory = (uint *)(lVar3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } FUN_181347520(param_1,param_3); lVar3 = FUN_18134adf0(param_1); pcVar1 = *(code **)(*(longlong *)(lVar3 + 0x38) + 0x18); if (pcVar1 == FUN_181313890) { uVar2 = 0x101; } else { uVar2 = (*pcVar1)(); } FUN_1812cc1e0(param_1,uVar2 >> 3 & 0xffffff01); if (((*(byte *)(param_1 + 0x15) >> 2 & 1) == 0) || ((uVar2 >> 8 & 1) == 0)) { uVar4 = 0; } else { uVar4 = 1; } FUN_1812cc270(param_1,uVar4); FUN_1812d3dc0(param_1,0); *(undefined4 *)(param_1 + 0x21) = 0x10000; *(undefined4 *)((longlong)param_1 + 0x10c) = 0x10000; *(undefined4 *)(param_1 + 0x22) = 0x10000; *(undefined4 *)((longlong)param_1 + 0x114) = 0x10000; return param_1; } ############ FUN_ 1812cc270 size=227 ############ void FUN_1812cc270(longlong *param_1,char param_2) { undefined8 *puVar1; undefined4 uVar2; longlong *plVar3; longlong lVar4; *(char *)(param_1 + 0x16) = param_2; if ((*(byte *)(param_1 + 0x15) & 1) != 0) { puVar1 = (undefined8 *)param_1[0x17]; param_1[0x17] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } uVar2 = (**(code **)(*param_1 + 0x160))(param_1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,uVar2,0); return; } if ((param_2 == '\0') || ((*(byte *)(param_1 + 0x15) & 4) == 0)) { puVar1 = (undefined8 *)param_1[0x17]; param_1[0x17] = 0; if (puVar1 != (undefined8 *)0x0) { /* WARNING: Could not recover jumptable at 0x0001812cc34a. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)*puVar1)(puVar1,1); return; } } else if (param_1[0x17] == 0) { plVar3 = (longlong *)FUN_18134adf0(); lVar4 = (**(code **)(*plVar3 + 0x70))(plVar3,param_1); puVar1 = (undefined8 *)param_1[0x17]; param_1[0x17] = lVar4; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if (param_1[0x17] != 0) { FUN_1812c8710(param_1[0x17],param_1); return; } } return; } ############ FUN_ 18134a8d0 size=330 ############ undefined1 * FUN_18134a8d0(longlong param_1,undefined1 *param_2,undefined4 param_3,char param_4) { longlong *plVar1; uint uVar2; longlong lVar3; char cVar4; undefined4 uVar5; longlong *plVar6; undefined8 uVar7; uint *_Memory; longlong *plVar8; longlong *plVar9; longlong *plVar10; longlong local_res8; plVar6 = (longlong *)FUN_1804e4ce0(&local_res8,param_3); plVar8 = *(longlong **)(param_1 + 0x90); plVar10 = (longlong *)0x0; plVar1 = plVar8 + (longlong)*(int *)(param_1 + 0x9c) * 3; plVar9 = plVar10; if (plVar8 != plVar1) { do { if (*plVar8 == *plVar6) { plVar9 = plVar8 + 1; break; } plVar8 = plVar8 + 3; } while (plVar8 != plVar1); } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (plVar9 != (longlong *)0x0) { uVar5 = (**(code **)(*(longlong *)*plVar9 + 8))((longlong *)*plVar9,plVar9 + 1); *param_2 = (char)uVar5; param_2[1] = (char)((uint)uVar5 >> 8); param_2[3] = (char)((uint)uVar5 >> 0x18); param_2[2] = (char)((uint)uVar5 >> 0x10); return param_2; } if ((param_4 == '\0') || (*(longlong *)(param_1 + 0x18) == 0)) { LAB_18134a9e8: uVar7 = FUN_18134adf0(param_1); FUN_181346420(uVar7,param_2,param_3); } else { lVar3 = *(longlong *)(param_1 + 0x50); if ((lVar3 != 0) && (*(longlong *)(lVar3 + 0x10) != 0)) { if (lVar3 != 0) { plVar10 = *(longlong **)(lVar3 + 0x10); } cVar4 = FUN_181315bd0(plVar10,param_3); if (cVar4 != '\0') goto LAB_18134a9e8; } FUN_18134a8d0(*(undefined8 *)(param_1 + 0x18),param_2,param_3,1); } return param_2; } ############ FUN_ 1812ec210 size=167 ############ void FUN_1812ec210(longlong *param_1,char param_2) { longlong lVar1; int iVar2; lVar1 = param_1[0x2e]; if ((*(char *)(lVar1 + 0x200) != param_2) || (*(char *)(lVar1 + 0x201) != param_2)) { FUN_1812e9d80(lVar1,param_2); *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xdf; iVar2 = (param_2 != '\0') + 1; *(int *)(param_1 + 0x31) = iVar2; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | (iVar2 == 1) << 5; if (*(code **)(*param_1 + 0x108) == FUN_1812eb3c0) { if ((0 < *(int *)((longlong)param_1 + 0x2c)) && (0 < (int)param_1[5])) { lVar1 = FUN_18134adf0(param_1); /* WARNING: Could not recover jumptable at 0x0001812ec2a6. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*(longlong *)(lVar1 + 0x48) + 0x20))(lVar1 + 0x48,param_1,param_1[0x2e]); return; } } else { (**(code **)(*param_1 + 0x108))(param_1); } } return; } ############ FUN_ 1812d65b0 size=122 ############ int FUN_1812d65b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; int iVar2; longlong lVar3; uint uVar4; bool bVar5; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; lVar1 = *(longlong *)(param_1 + 8); bVar5 = *(char *)(lVar1 + 0x126) != '\0'; uVar4 = (uint)bVar5; if (*(char *)(lVar1 + 0x128) == '\0') { uVar4 = bVar5 - 1; } for (lVar3 = *(longlong *)(param_1 + 0x10); lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x10)) { uVar4 = uVar4 + 1; } iVar2 = *(int *)(lVar1 + 0x120); if (iVar2 < 0) { lVar3 = FUN_18134adf0(lVar1); iVar2 = (**(code **)(*(longlong *)(lVar3 + 0x28) + 0x18)) ((longlong *)(lVar3 + 0x28),lVar1,param_3,param_4,uVar6); } return iVar2 * uVar4; } ############ FUN_ 1804f4210 size=139 ############ void FUN_1804f4210(longlong param_1) { longlong lVar1; undefined8 uVar2; undefined1 local_40 [24]; void *local_28 [2]; lVar1 = FUN_18134adf0(); uVar2 = (**(code **)(*(longlong *)(lVar1 + 0x20) + 0x18)) ((longlong *)(lVar1 + 0x20),local_40,param_1 + 8,param_1 + 0x610); FUN_18124e420(param_1 + 0x618,uVar2,(float)*(int *)(param_1 + 0x28) - DAT_1824c4408,DAT_1824c4610) ; FUN_1804aed10(local_28); /* WARNING: Subroutine does not return */ free(local_28[0]); } ############ FUN_ 1804f8160 size=127 ############ void FUN_1804f8160(longlong param_1,undefined8 param_2,undefined1 param_3,undefined1 param_4) { longlong *plVar1; plVar1 = (longlong *)FUN_18134adf0(); (**(code **)(*plVar1 + 0x10)) (plVar1,param_2,*(longlong *)(param_1 + 0x1d0),*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c),*(undefined4 *)(param_1 + 0x1c8), *(undefined1 *)(*(longlong *)(param_1 + 0x1d0) + 300),param_3,param_4); return; } ############ FUN_ 1804f83c0 size=65 ############ void FUN_1804f83c0(longlong param_1,undefined8 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0x78) + 0x48)) (lVar1 + 0x78,*(undefined8 *)(param_1 + 0xb0),param_2,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1804fa330 size=101 ############ void FUN_1804fa330(longlong param_1,int *param_2,int *param_3) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0x40) + 0x30)) (lVar1 + 0x40,param_1 + 8,0,0xffffffff,param_2,param_3); *param_3 = *param_3 + *param_3 / 2; *param_2 = *param_2 + ((int)(*param_2 + (*param_2 >> 0x1f & 3U)) >> 2); return; } ############ FUN_ 1804fa690 size=293 ############ void FUN_1804fa690(longlong param_1,undefined8 param_2) { longlong *plVar1; longlong lVar2; longlong lVar3; undefined1 uVar4; int *piVar5; int *piVar6; undefined8 local_18; undefined4 local_10; undefined4 local_c; if (*(longlong *)(param_1 + 0x138) != 0) { return; } lVar2 = FUN_18134adf0(); piVar5 = (int *)0x0; plVar1 = *(longlong **)(param_1 + 0x100); piVar6 = piVar5; if (*(int *)(param_1 + 0x130) != 0) { piVar6 = (int *)(param_1 + 0x130); } if (plVar1 != (longlong *)0x0) { if (*(int *)(param_1 + 0xb8) == 0) { LAB_1804fa72a: uVar4 = 1; goto LAB_1804fa730; } lVar3 = *plVar1; if (lVar3 != plVar1[1]) { do { if (*(char *)(lVar3 + 0x86) == '\0') { piVar5 = (int *)(ulonglong)((int)piVar5 + 1); } lVar3 = lVar3 + 0x88; } while (lVar3 != plVar1[1]); if (0 < (int)piVar5) goto LAB_1804fa72a; } } uVar4 = 0; LAB_1804fa730: local_10 = *(undefined4 *)(param_1 + 0x28); local_c = *(undefined4 *)(param_1 + 0x2c); local_18 = 0; (**(code **)(*(longlong *)(lVar2 + 0x40) + 0x10)) (lVar2 + 0x40,param_2,&local_18,*(undefined1 *)(param_1 + 0x136), *(undefined1 *)(param_1 + 0x134),*(undefined1 *)(param_1 + 0x140), *(undefined1 *)(param_1 + 0x135),uVar4,param_1 + 0xb0,param_1 + 0x128, *(undefined8 *)(param_1 + 0x108),piVar6); return; } ############ FUN_ 1804fcbe0 size=1422 ############ void FUN_1804fcbe0(longlong param_1,int *param_2,char param_3) { float fVar1; undefined1 auVar2 [16]; longlong lVar3; code *pcVar4; bool bVar5; undefined8 uVar6; undefined8 uVar7; undefined8 uVar8; undefined8 uVar9; longlong lVar10; undefined1 (*pauVar11) [16]; undefined8 *puVar12; longlong lVar13; int iVar14; int iVar15; int iVar16; int iVar17; int iVar18; int iVar19; int iVar20; int iVar21; int local_res8; int iStackX_c; int local_res10; int local_res18 [2]; int local_res20; int iStack_b4; int iStack_ac; undefined8 local_a8; undefined8 uStack_a0; undefined8 local_98; undefined8 uStack_90; undefined8 local_88; undefined8 uStack_80; undefined1 local_78 [16]; undefined1 local_68 [40]; fVar1 = *(float *)(param_1 + 400); local_res8 = param_2[2] / 2 + *param_2; iStackX_c = param_2[3] / 2 + param_2[1]; pauVar11 = (undefined1 (*) [16])FUN_1804fc960(param_1,&local_88,CONCAT44(iStackX_c,local_res8),0); auVar2 = *pauVar11; local_a8 = CONCAT44((float)auVar2._4_4_ / fVar1,(float)auVar2._0_4_ / fVar1); uStack_a0 = CONCAT44((float)auVar2._12_4_ / fVar1,(float)auVar2._8_4_ / fVar1); puVar12 = (undefined8 *)FUN_1804ab070(&local_a8,&local_98); lVar13 = *(longlong *)(param_1 + 0x120); uVar6 = *puVar12; uVar7 = puVar12[1]; if (lVar13 == 0) goto LAB_1804fcdad; lVar3 = lVar13; for (lVar10 = *(longlong *)(lVar13 + 0x18); lVar10 != 0; lVar10 = *(longlong *)(lVar10 + 0x18)) { lVar3 = lVar10; } local_a8 = *(undefined8 *)param_2; uStack_a0 = *(undefined8 *)(param_2 + 2); local_98 = uVar6; uStack_90 = uVar7; puVar12 = (undefined8 *)FUN_180520340(local_78,lVar3,&local_a8); uVar8 = *puVar12; uVar9 = puVar12[1]; if (lVar3 != lVar13) { local_88 = uVar8; uStack_80 = uVar9; if (*(longlong *)(lVar13 + 0x18) != lVar3) { puVar12 = (undefined8 *)FUN_1805202e0(local_68,lVar3,*(longlong *)(lVar13 + 0x18),&local_88); local_88 = *puVar12; uStack_80 = puVar12[1]; } FUN_180520340(&local_a8,lVar13,&local_88); uVar8 = local_a8; uVar9 = uStack_a0; } uStack_a0 = uVar9; local_a8 = uVar8; iVar20 = (int)local_a8; if ((int)local_a8 < (int)local_98) { iVar20 = (int)local_98; } iVar21 = local_a8._4_4_; if (local_a8._4_4_ < local_98._4_4_) { iVar21 = local_98._4_4_; } iVar19 = (int)uStack_a0 + (int)local_a8; if ((int)local_98 + (int)uStack_90 < (int)uStack_a0 + (int)local_a8) { iVar19 = (int)local_98 + (int)uStack_90; } if (iVar19 - iVar20 < 0) { LAB_1804fcd9b: local_a8 = 0; uStack_a0 = 0; } else { iVar17 = uStack_a0._4_4_ + local_a8._4_4_; if (uStack_90._4_4_ + local_98._4_4_ < uStack_a0._4_4_ + local_a8._4_4_) { iVar17 = uStack_90._4_4_ + local_98._4_4_; } if (iVar17 - iVar21 < 0) goto LAB_1804fcd9b; local_a8 = CONCAT44(iVar21,iVar20); uStack_a0 = CONCAT44(iVar17 - iVar21,iVar19 - iVar20); } *(undefined8 *)param_2 = local_a8; *(undefined8 *)(param_2 + 2) = uStack_a0; LAB_1804fcdad: iStack_ac = (int)((ulonglong)uVar7 >> 0x20); iVar20 = (int)uVar7; FUN_1804fd170(param_1,iVar20 + -0x18,iStack_ac + -0x18,local_res18,&local_res8); iVar19 = (int)uVar6; iStack_b4 = (int)((ulonglong)uVar6 >> 0x20); iVar21 = local_res18[0]; if (param_3 == '\0') { iVar16 = param_2[2]; iVar17 = *param_2; lVar13 = *(longlong *)(param_1 + 0xb0); bVar5 = iVar17 + iVar16 / 2 < iVar20 / 2 + iVar19; if (lVar13 != 0) { lVar3 = *(longlong *)(lVar13 + 0xb0); if (lVar3 == 0) { if (iVar17 + iVar16 + local_res18[0] < iVar20 + -0x20 + iVar19) { bVar5 = true; } } else if (*(int *)(lVar3 + 0x28) / 2 + *(int *)(lVar3 + 0x20) < *(int *)(lVar13 + 0x28) / 2 + *(int *)(lVar13 + 0x20)) { if (iVar17 + iVar16 + local_res18[0] < iVar20 + -4 + iVar19) { bVar5 = true; } } else if (local_res18[0] + 4 < iVar17) { bVar5 = false; } } local_res20 = iVar17 - iVar19; local_res10 = ((iVar19 - iVar17) - iVar16) + iVar20; iVar18 = local_res10; if (local_res10 < local_res20) { iVar18 = local_res20; } if (iVar18 + -0x20 < local_res18[0]) { FUN_1804fd170(param_1,iVar16 / 3 + (iVar16 >> 0x1f) + (int)(((longlong)iVar16 / 3 + ((longlong)iVar16 >> 0x3f) & 0xffffffffU) >> 0x1f) + iVar18 + -0x20,iStack_ac + -0x18,local_res18,&local_res8 ); if (1 < *(int *)(param_1 + 0x140)) { FUN_1804fd170(param_1,iVar18 + -0x24,iStack_ac + -0x18,local_res18,&local_res8); } iVar16 = param_2[2]; bVar5 = local_res20 <= local_res10; iVar21 = local_res18[0]; } if (bVar5) { iVar18 = iVar20 + -4 + (iVar19 - iVar21); if (iVar17 + iVar16 < iVar18) { iVar18 = iVar17 + iVar16; } } else { iVar18 = iVar19 + 4; if (iVar19 + 4 < iVar17 - iVar21) { iVar18 = iVar17 - iVar21; } } lVar13 = FUN_18134adf0(param_1); pcVar4 = *(code **)(*(longlong *)(lVar13 + 0x40) + 0x80); if ((pcVar4 != FUN_18130fd40) && (iVar17 = (*pcVar4)(lVar13 + 0x40), iVar17 == 0)) { iVar17 = -1; if (bVar5) { iVar17 = 1; } iVar18 = iVar18 + iVar17; } iVar17 = param_2[1]; if ((iStack_ac / 2 + iStack_b4 < iVar17 + param_2[3] / 2) && (iVar16 = param_2[3] + (iVar17 - local_res8), iVar17 = iStack_b4, iStack_b4 < iVar16)) { iVar17 = iVar16; } } else { iVar17 = param_2[1]; iVar16 = param_2[3]; iVar18 = *param_2; iVar14 = ((iStack_b4 - iVar17) - iVar16) + iStack_ac; iVar15 = iVar17 - iStack_b4; if (*(int *)(param_1 + 0xf8) == 0) { if ((local_res8 < iVar15 + -0x1e) || (iVar14 <= iVar15)) { iVar17 = iVar17 - local_res8; } else { iVar17 = iVar17 + iVar16; } } else if ((local_res8 < iVar14 + -0x1e) || (iVar15 <= iVar14)) { iVar17 = iVar17 + iVar16; } else { iVar17 = iVar17 - local_res8; } } *(int *)(param_1 + 0x130) = iVar21; *(int *)(param_1 + 0x134) = local_res8; iVar20 = (iVar19 - iVar21) + -6 + iVar20; if (iVar18 < iVar20) { iVar20 = iVar18; } iVar16 = iStack_ac + -6 + (iStack_b4 - local_res8); if (iVar17 < iVar16) { iVar16 = iVar17; } iVar17 = iVar19 + 1; if (iVar19 + 1 < iVar20) { iVar17 = iVar20; } *(int *)(param_1 + 0x128) = iVar17; iVar20 = iStack_b4 + 1; if (iStack_b4 + 1 < iVar16) { iVar20 = iVar16; } *(int *)(param_1 + 300) = iVar20; lVar13 = *(longlong *)(param_1 + 0xb0); if (lVar13 != 0) { iVar17 = *(int *)(param_1 + 0x134) + -8; iVar16 = *(int *)(param_1 + 0x128) + 4; iVar19 = 0; if (0 < iVar21 + -8) { iVar19 = iVar21 + -8; } iVar21 = 0; if (0 < iVar17) { iVar21 = iVar17; } if (iVar16 < *(int *)(lVar13 + 0x128) + *(int *)(lVar13 + 0x130)) { if ((((iVar20 + 4 < *(int *)(lVar13 + 300) + *(int *)(lVar13 + 0x134)) && (*(int *)(lVar13 + 0x128) < iVar16 + iVar19)) && (*(int *)(lVar13 + 300) < iVar21 + iVar20 + 4)) && (((0 < *(int *)(lVar13 + 0x130) && (0 < *(int *)(lVar13 + 0x134))) && ((0 < iVar19 && (0 < iVar21)))))) { *(undefined1 *)(param_1 + 0x13b) = 1; return; } } } *(undefined1 *)(param_1 + 0x13b) = 0; return; } ############ FUN_ 1804fd170 size=317 ############ void FUN_1804fd170(longlong param_1,int param_2,int param_3,undefined4 *param_4,int *param_5) { code *pcVar1; int iVar2; undefined4 uVar3; int iVar4; longlong lVar5; *(undefined4 *)(param_1 + 0x140) = *(undefined4 *)(param_1 + 0xe8); iVar4 = 7; if (0 < *(int *)(param_1 + 0xec)) { iVar4 = *(int *)(param_1 + 0xec); } *(undefined4 *)(param_1 + 0x144) = 0; iVar2 = FUN_1804fd2c0(); if (iVar2 <= param_2) { do { if (((param_2 / 2 < iVar2) || (*(int *)(param_1 + 0x144) < param_3)) || (iVar4 <= *(int *)(param_1 + 0x140))) goto LAB_1804fd227; *(int *)(param_1 + 0x140) = *(int *)(param_1 + 0x140) + 1; iVar2 = FUN_1804fd2c0(param_1,param_2); } while (iVar2 <= param_2); } iVar2 = *(int *)(param_1 + 0x140) + -1; iVar4 = 1; if (1 < iVar2) { iVar4 = iVar2; } *(int *)(param_1 + 0x140) = iVar4; FUN_1804fd2c0(param_1,param_2); LAB_1804fd227: iVar4 = *(int *)(param_1 + 0x144); iVar2 = iVar4; if (param_3 < iVar4) { iVar2 = param_3; } *(bool *)(param_1 + 0x139) = iVar2 < iVar4; uVar3 = FUN_1804fd880(param_1); *param_4 = uVar3; lVar5 = FUN_18134adf0(param_1); pcVar1 = *(code **)(*(longlong *)(lVar5 + 0x40) + 0x80); if (pcVar1 == FUN_18130fd40) { *param_5 = iVar2 + 4; return; } iVar4 = (*pcVar1)(lVar5 + 0x40); *param_5 = iVar2 + iVar4 * 2; return; } ############ FUN_ 1804fd2c0 size=569 ############ int FUN_1804fd2c0(longlong param_1,int param_2) { longlong *plVar1; longlong lVar2; code *pcVar3; int iVar4; int iVar5; int iVar6; ulonglong uVar7; int iVar8; int iVar9; int iVar10; int iVar11; longlong lVar12; longlong *plVar13; int iVar14; longlong lVar15; int local_res8; int local_res10; iVar8 = 0; local_res8 = 0; iVar6 = 0; local_res10 = 0; iVar14 = 0; *(undefined4 *)(param_1 + 0x144) = 0; if (0 < *(int *)(param_1 + 0x140)) { lVar15 = 0; plVar1 = (longlong *)(param_1 + 0x160); do { iVar9 = 0; iVar6 = *(int *)(param_1 + 0x140); iVar11 = *(int *)(param_1 + 0xf0); iVar4 = iVar6 + -1 + *(int *)(param_1 + 0x10c); iVar10 = *(int *)(param_1 + 0x10c) - local_res8; iVar5 = iVar4 / iVar6; uVar7 = (longlong)iVar4 % (longlong)iVar6 & 0xffffffff; if (iVar5 < iVar10) { iVar10 = iVar5; } lVar12 = (longlong)(iVar10 + -1); if (-1 < iVar10 + -1) { uVar7 = *(ulonglong *)(param_1 + 0x100); plVar13 = (longlong *)(uVar7 + (local_res8 + lVar12) * 8); do { lVar2 = *plVar13; plVar13 = plVar13 + -1; if (iVar11 < *(int *)(lVar2 + 0x28)) { iVar11 = *(int *)(lVar2 + 0x28); } iVar9 = iVar9 + *(int *)(lVar2 + 0x2c); lVar12 = lVar12 + -1; } while (-1 < lVar12); } lVar12 = FUN_18134adf0(param_1,uVar7); pcVar3 = *(code **)(*(longlong *)(lVar12 + 0x40) + 0x80); if (pcVar3 == FUN_18130fd40) { iVar6 = 2; } else { iVar6 = (*pcVar3)(lVar12 + 0x40); } iVar11 = iVar11 + iVar6 * 2; iVar6 = *(int *)(param_1 + 0x140) + -2; iVar4 = 1; if (1 < iVar6) { iVar4 = iVar6; } iVar6 = param_2 / iVar4; if (iVar11 < param_2 / iVar4) { iVar6 = iVar11; } if (-1 < lVar15) { iVar11 = *(int *)(param_1 + 0x16c); if (iVar14 < iVar11) { *(int *)(*plVar1 + lVar15 * 4) = iVar6; } else { iVar4 = iVar11 + 1; if (*(int *)(param_1 + 0x168) < iVar4) { if (iVar4 < 0) { iVar4 = iVar11 + 2; } FUN_1804af790(plVar1,iVar11 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar11 = *(int *)(param_1 + 0x16c); *(int *)(param_1 + 0x16c) = iVar11 + 1; *(int *)(*plVar1 + (longlong)iVar11 * 4) = iVar6; } } iVar6 = local_res10 + iVar6; iVar11 = *(int *)(param_1 + 0x144); if (*(int *)(param_1 + 0x144) < iVar9) { iVar11 = iVar9; } local_res8 = local_res8 + iVar10; iVar14 = iVar14 + 1; *(int *)(param_1 + 0x144) = iVar11; lVar15 = lVar15 + 1; local_res10 = iVar6; } while (iVar14 < *(int *)(param_1 + 0x140)); } if (*(int *)(param_1 + 0xe4) < param_2) { param_2 = *(int *)(param_1 + 0xe4); } if (param_2 <= iVar6) { return iVar6; } if (0 < *(int *)(param_1 + 0x140)) { plVar1 = (longlong *)(param_1 + 0x160); do { iVar6 = *(int *)(param_1 + 0x16c); iVar14 = param_2 / *(int *)(param_1 + 0x140); if (iVar6 < 1) { iVar11 = iVar6 + 1; if (*(int *)(param_1 + 0x168) < iVar11) { if (iVar11 < 0) { iVar11 = iVar6 + 2; } FUN_1804af790(plVar1,iVar6 + 9 + (iVar11 >> 1) & 0xfffffff8); } iVar6 = *(int *)(param_1 + 0x16c); *(int *)(param_1 + 0x16c) = iVar6 + 1; *(int *)(*plVar1 + (longlong)iVar6 * 4) = iVar14; } else { *(int *)*plVar1 = iVar14; } iVar8 = iVar8 + 1; } while (iVar8 < *(int *)(param_1 + 0x140)); } return param_2; } ############ FUN_ 1804fb790 size=80 ############ void FUN_1804fb790(longlong param_1,undefined8 param_2) { longlong lVar1; if ((*(byte *)(param_1 + 0xa8) & 4) != 0) { FUN_1812a3160(param_2,DAT_18262b5a8); } lVar1 = FUN_18134adf0(param_1); /* WARNING: Could not recover jumptable at 0x0001804fb7dc. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*(longlong *)(lVar1 + 0x40) + 8)) (lVar1 + 0x40,param_2,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1804fb7e0 size=337 ############ void FUN_1804fb7e0(longlong param_1,longlong param_2) { int iVar1; code *pcVar2; longlong lVar3; longlong lVar4; undefined4 *in_stack_ffffffffffffffd8; undefined4 local_18; undefined4 local_14; undefined4 local_10; undefined4 local_c; lVar3 = FUN_18134adf0(); if (*(longlong *)(param_1 + 0x120) != 0) { lVar4 = FUN_18134adf0(param_1); pcVar2 = *(code **)(*(longlong *)(lVar4 + 0x40) + 0x80); if (pcVar2 == FUN_18130fd40) { local_18 = 2; } else { local_18 = (*pcVar2)(lVar4 + 0x40); } in_stack_ffffffffffffffd8 = &local_18; local_14 = local_18; local_10 = local_18; local_c = local_18; (**(code **)(*(longlong *)(lVar3 + 0x60) + 0x10)) ((longlong *)(lVar3 + 0x60),param_2,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c),in_stack_ffffffffffffffd8); } if (*(int *)(param_1 + 0x148) == 0) { if (*(char *)(param_1 + 0x139) == '\0') { return; } if (*(char *)(param_1 + 0x139) == '\0') goto LAB_1804fb8a2; } if (0 < *(int *)(param_1 + 0x148)) { in_stack_ffffffffffffffd8 = (undefined4 *)CONCAT71((int7)((ulonglong)in_stack_ffffffffffffffd8 >> 8),1); (**(code **)(*(longlong *)(lVar3 + 0x40) + 0x28)) (lVar3 + 0x40,param_2,*(undefined4 *)(param_1 + 0x28),0x18,in_stack_ffffffffffffffd8); } LAB_1804fb8a2: if (((*(int *)(param_1 + 0x148) != 0) || (*(char *)(param_1 + 0x139) != '\0')) && (*(int *)(param_1 + 0x148) < *(int *)(param_1 + 0x144) - *(int *)(param_1 + 0x134))) { iVar1 = *(int *)(param_1 + 0x2c); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x10)) (*(longlong **)(param_2 + 8),(ulonglong)(iVar1 - 0x18) << 0x20); (**(code **)(*(longlong *)(lVar3 + 0x40) + 0x28)) (lVar3 + 0x40,param_2,*(undefined4 *)(param_1 + 0x28),0x18, (ulonglong)in_stack_ffffffffffffffd8 & 0xffffffffffffff00); } return; } ############ FUN_ 1812d8c50 size=54 ############ void FUN_1812d8c50(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (*(int *)(param_1 + 0x120) < 0) { lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0x28) + 0x18)) ((longlong *)(lVar1 + 0x28),param_1,param_3,param_4,uVar2); } return; } ############ FUN_ 1812d6520 size=81 ############ byte FUN_1812d6520(longlong param_1) { char cVar1; longlong lVar2; if ((*(byte *)(param_1 + 0x40) & 8) != 0) { return *(byte *)(param_1 + 0x40) >> 2 & 1; } if (*(longlong *)(param_1 + 8) != 0) { lVar2 = FUN_18134adf0(); cVar1 = (**(code **)(*(longlong *)(lVar2 + 0x28) + 0x10)) (lVar2 + 0x28,*(undefined8 *)(param_1 + 8)); if (cVar1 != '\0') { return 1; } } return 0; } ############ FUN_ 18050b760 size=1039 ############ int * FUN_18050b760(int *param_1,longlong param_2,longlong param_3,longlong param_4) { int iVar1; undefined8 uVar2; longlong *plVar3; char cVar4; uint uVar5; int iVar6; int iVar7; longlong lVar8; longlong *plVar9; longlong lVar10; longlong *plVar11; longlong lVar12; code *pcVar13; int iVar14; int local_res8; uint uStackX_c; int local_48; int iStack_44; int local_38; int iStack_34; int iStack_30; undefined4 uStack_2c; *(undefined8 *)param_1 = *(undefined8 *)(param_4 + 0x18); uStackX_c = *(uint *)(param_4 + 0x1c); lVar10 = *(longlong *)(*(longlong *)(param_2 + 0xd0) + 0x180); lVar8 = 0; lVar12 = lVar8; if (lVar10 != 0) { lVar12 = *(longlong *)(lVar10 + 0x10); } local_res8 = 0; FUN_18051db10(&local_res8,lVar12,param_2,(ulonglong)uStackX_c << 0x20,0xfffffffffffffffe); if (*(longlong *)(*(longlong *)(lVar12 + 200) + 0x108) != 0) { lVar8 = FUN_18050ab80(lVar12,uStackX_c,&local_38); } *(longlong *)(param_1 + 2) = lVar8; param_1[4] = 0; if (lVar8 == 0) { lVar10 = *(longlong *)(param_2 + 0x108); if (lVar10 == 0) { return param_1; } *(longlong *)(param_1 + 2) = lVar10; param_1[4] = *(int *)(lVar10 + 0x24); local_res8 = FUN_1812d65b0(lVar10); iVar14 = *(int *)(lVar10 + 0x28); if (*(longlong *)(lVar10 + 8) != 0) { uVar2 = *(undefined8 *)(*(longlong *)(*(longlong *)(lVar10 + 8) + 0xd0) + 0x188); local_res8 = local_res8 - (int)uVar2; iVar14 = iVar14 - (int)((ulonglong)uVar2 >> 0x20); } uStackX_c = iVar14 + *(int *)(lVar10 + 0x30); *(ulonglong *)param_1 = CONCAT44(uStackX_c,local_res8); iVar14 = *(int *)(param_2 + 0x120); if (iVar14 < 0) { lVar10 = FUN_18134adf0(param_2); iVar14 = (**(code **)(*(longlong *)(lVar10 + 0x28) + 0x18)) ((longlong *)(lVar10 + 0x28),param_2); } *param_1 = *param_1 + iVar14; return param_1; } local_48 = FUN_1812d65b0(lVar8); iVar14 = *(int *)(lVar8 + 0x28); iVar1 = *(int *)(lVar8 + 0x30); if (*(longlong *)(lVar8 + 8) != 0) { uVar2 = *(undefined8 *)(*(longlong *)(*(longlong *)(lVar8 + 8) + 0xd0) + 0x188); local_48 = local_48 - (int)uVar2; iVar14 = iVar14 - (int)((ulonglong)uVar2 >> 0x20); } plVar3 = *(longlong **)(param_1 + 2); lVar10 = plVar3[2]; if (lVar10 == 0) { iVar7 = 0; } else { plVar9 = *(longlong **)(lVar10 + 0x18); for (plVar11 = plVar9; plVar11 != plVar9 + *(int *)(lVar10 + 0x24); plVar11 = plVar11 + 1) { if (plVar3 == (longlong *)*plVar11) { iVar7 = (int)((longlong)plVar11 - (longlong)plVar9 >> 3); goto LAB_18050b893; } } iVar7 = -1; } LAB_18050b893: param_1[4] = iVar7; iVar7 = param_1[1]; param_1[1] = iVar14; if (*(int *)((longlong)plVar3 + 0x24) == 0) { LAB_18050b8d3: if (*(int *)(param_3 + 0xc) < 1) { pcVar13 = *(code **)(*plVar3 + 0xa0); param_3 = param_4; if (pcVar13 != FUN_1812d6930) goto LAB_18050bb20; } else { pcVar13 = *(code **)(*plVar3 + 0x90); if (pcVar13 != FUN_1812d6950) { LAB_18050bb20: cVar4 = (*pcVar13)(plVar3,param_3); if (((cVar4 != '\0') && (iVar6 = (int)(iVar1 + (iVar1 >> 0x1f & 3U)) >> 2, iVar14 + iVar6 < iVar7)) && (iVar7 < (iVar14 - iVar6) + iVar1)) { param_1[4] = 0; iVar7 = FUN_1812d8c50(param_2); *param_1 = iVar7 + local_48; param_1[1] = iVar14 + iVar1; return param_1; } } } } else { uVar5 = *(uint *)((longlong)plVar3 + 0x44) & 3; if (uVar5 == 0) { if (plVar3[1] == 0) goto LAB_18050b8d3; cVar4 = *(char *)(plVar3[1] + 0x124); } else { cVar4 = uVar5 == 2; } if (cVar4 == '\0') goto LAB_18050b8d3; } if (iVar1 / 2 + iVar14 < iVar7) { iVar14 = (**(code **)(**(longlong **)(param_1 + 2) + 0x28))(); param_1[1] = param_1[1] + iVar14; LAB_18050b930: lVar10 = *(longlong *)(param_1 + 2); lVar12 = *(longlong *)(lVar10 + 0x10); if (lVar12 != 0) { if (*(int *)(lVar12 + 0x24) < 1) { lVar12 = 0; } else { lVar12 = *(longlong *) (*(longlong *)(lVar12 + 0x18) + (longlong)(*(int *)(lVar12 + 0x24) + -1) * 8); } if (lVar12 != lVar10) goto LAB_18050ba62; } if (((*(longlong *)(lVar10 + 0x10) == 0) || (lVar10 = *(longlong *)(lVar10 + 0x10), *(longlong *)(lVar10 + 0x10) == 0)) || (local_48 < *param_1)) goto LAB_18050ba62; *(longlong *)(param_1 + 2) = lVar10; local_48 = FUN_1812d65b0(); iVar14 = *(int *)(lVar10 + 0x34); lVar12 = *(longlong *)(lVar10 + 8); if ((lVar12 != 0) && (iVar14 < 0)) { iVar14 = *(int *)(*(longlong *)(lVar12 + 0xd0) + 400) - local_48; } iStack_44 = *(int *)(lVar10 + 0x28); iStack_30 = 0; if (0 < iVar14) { iStack_30 = iVar14; } uStack_2c = *(undefined4 *)(lVar10 + 0x30); if (lVar12 != 0) { uVar2 = *(undefined8 *)(*(longlong *)(lVar12 + 0xd0) + 0x188); local_48 = local_48 - (int)uVar2; iStack_44 = iStack_44 - (int)((ulonglong)uVar2 >> 0x20); } local_38 = local_48; iStack_34 = iStack_44; lVar10 = *(longlong *)(*(longlong *)(param_1 + 2) + 0x10); if (lVar10 == 0) { param_1[4] = 0; } else { plVar3 = *(longlong **)(lVar10 + 0x18); for (plVar9 = plVar3; plVar9 != plVar3 + *(int *)(lVar10 + 0x24); plVar9 = plVar9 + 1) { if (*(longlong *)(param_1 + 2) == *plVar9) { param_1[4] = (int)((longlong)plVar9 - (longlong)plVar3 >> 3); goto LAB_18050b930; } } param_1[4] = -1; } goto LAB_18050b930; } LAB_18050ba65: *param_1 = local_48; *(undefined8 *)(param_1 + 2) = *(undefined8 *)(*(longlong *)(param_1 + 2) + 0x10); return param_1; LAB_18050ba62: param_1[4] = param_1[4] + 1; goto LAB_18050ba65; } ############ FUN_ 180511150 size=139 ############ void FUN_180511150(longlong param_1) { undefined8 *puVar1; char cVar2; int iVar3; longlong *plVar4; undefined8 uVar5; cVar2 = FUN_18134aa20(*(undefined8 *)(param_1 + 8),1); if ((cVar2 == '\0') && ((*(uint *)(param_1 + 0x10) >> 8 & 1) != 0)) { if (((*(uint *)(param_1 + 0x10) >> 3 & 1) != 0) && (iVar3 = FUN_181216340(), 0x202 < iVar3)) { return; } plVar4 = (longlong *)FUN_18134adf0(*(undefined8 *)(param_1 + 8)); uVar5 = (**(code **)(*plVar4 + 0x70))(plVar4,*(undefined8 *)(param_1 + 8)); puVar1 = *(undefined8 **)(param_1 + 0x98); *(undefined8 *)(param_1 + 0x98) = uVar5; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if (*(longlong *)(param_1 + 0x98) != 0) { FUN_1812c8710(*(longlong *)(param_1 + 0x98),*(undefined8 *)(param_1 + 8)); return; } } return; } ############ FUN_ 1812bb890 size=49 ############ void FUN_1812bb890(undefined8 param_1,undefined8 param_2) { undefined8 uVar1; undefined4 *puVar2; undefined1 local_res18 [16]; uVar1 = FUN_18134adf0(); puVar2 = (undefined4 *)FUN_181346420(uVar1,local_res18,0x1005700); FUN_1812a3160(param_2,*puVar2); return; } ############ FUN_ 1812c9b20 size=585 ############ undefined8 FUN_1812c9b20(longlong param_1,int *param_2,longlong param_3) { wint_t *pwVar1; int iVar2; int *piVar3; bool bVar4; bool bVar5; wint_t wVar6; wint_t wVar7; longlong lVar8; longlong *plVar9; int iVar10; longlong lVar11; wint_t *pwVar12; ulonglong uVar13; uint uVar14; ulonglong uVar15; undefined8 uVar16; int local_a0 [4]; longlong local_90; undefined8 local_88; int local_80; undefined1 local_7c; undefined4 local_78; undefined4 local_70 [2]; undefined1 *local_68; undefined1 *local_60; undefined1 *local_58; undefined8 local_50; undefined8 local_48; uint local_40; uVar16 = 0xfffffffffffffffe; bVar4 = false; uVar13 = 0; uVar15 = uVar13; bVar5 = false; if (*(int *)(param_1 + 0x5c) < 1) { LAB_1812c9cb4: if ((param_3 != 0) && (bVar4)) { plVar9 = (longlong *)FUN_18134adf0(param_3); if (*(code **)(*plVar9 + 0x78) == FUN_1812c6070) { MessageBeep(0); } else { (**(code **)(*plVar9 + 0x78))(plVar9); } } return 0; } LAB_1812c9b70: bVar4 = bVar5; piVar3 = *(int **)(uVar13 + *(longlong *)(param_1 + 0x50)); pwVar12 = *(wint_t **)(piVar3 + 2); pwVar1 = pwVar12 + (longlong)piVar3[5] * 6; for (; pwVar12 != pwVar1; pwVar12 = pwVar12 + 6) { if (param_2[1] == *(int *)(pwVar12 + 2)) { if (((param_2[2] == *(int *)(pwVar12 + 4)) || (param_2[2] == 0)) || (*(int *)(pwVar12 + 4) == 0)) { iVar10 = *param_2; if (iVar10 == *(int *)pwVar12) { LAB_1812c9be4: lVar8 = *(longlong *)(param_1 + 0x48); iVar10 = *(int *)(lVar8 + 0x24) + -1; if (-1 < iVar10) { iVar2 = *piVar3; lVar11 = (longlong)iVar10; goto LAB_1812c9c00; } break; } if ((iVar10 < 0x100) && (*(int *)pwVar12 < 0x100)) { wVar6 = towlower((wint_t)iVar10); wVar7 = towlower(*pwVar12); if (wVar6 == wVar7) goto LAB_1812c9be4; } } } } goto LAB_1812c9c93; while( true ) { iVar10 = iVar10 + -1; lVar11 = lVar11 + -1; if (lVar11 < 0) break; LAB_1812c9c00: if (**(int **)(*(longlong *)(lVar8 + 0x18) + lVar11 * 8) == iVar2) { lVar11 = *(longlong *)(*(longlong *)(lVar8 + 0x18) + (longlong)iVar10 * 8); if ((lVar11 != 0) && ((*(byte *)(lVar11 + 0x30) & 4) == 0)) { local_70[0] = 0; local_68 = &DAT_1821dbf98; local_60 = &DAT_1821dbf98; local_58 = &DAT_1821dbf98; local_50 = 0; local_48 = 0; local_40 = 0; lVar8 = FUN_1812cb190(lVar8,iVar2,local_70,iVar2,uVar16); if (lVar8 != 0) { if ((local_40 & 1) == 0) { local_a0[0] = *piVar3; local_a0[1] = 0; local_a0[2] = 1; local_7c = 1; local_88 = *(undefined8 *)param_2; local_80 = param_2[2]; local_78 = 0; local_90 = param_3; FUN_1812cb380(*(undefined8 *)(param_1 + 0x48),local_a0,0); FUN_1804e9590(local_70); return 1; } bVar4 = true; } FUN_1804e9590(local_70); } break; } } LAB_1812c9c93: uVar14 = (int)uVar15 + 1; uVar13 = uVar13 + 8; uVar15 = (ulonglong)uVar14; bVar5 = bVar4; if (*(int *)(param_1 + 0x5c) <= (int)uVar14) goto LAB_1812c9cb4; goto LAB_1812c9b70; } ############ FUN_ 1812cd270 size=65 ############ void FUN_1812cd270(longlong param_1,undefined8 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0x70) + 0x10)) (lVar1 + 0x70,param_2,param_1 + 0xd8,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1812d3a80 size=100 ############ int FUN_1812d3a80(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { code *pcVar1; int iVar2; longlong lVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; lVar3 = FUN_18134adf0(); pcVar1 = *(code **)(*(longlong *)(lVar3 + 0xa0) + 0x10); if (pcVar1 == FUN_181307930) { iVar2 = 0x14; if (0x14 < (int)*(float *)(param_1 + 0x128)) { iVar2 = (int)*(float *)(param_1 + 0x128); } return iVar2; } iVar2 = (*pcVar1)((longlong *)(lVar3 + 0xa0),param_1,pcVar1,param_4,uVar4); if (iVar2 < (int)*(float *)(param_1 + 0x128)) { iVar2 = (int)*(float *)(param_1 + 0x128); } return iVar2; } ############ FUN_ 1812d3a30 size=71 ############ void FUN_1812d3a30(longlong param_1,undefined8 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0xa0) + 8)) ((longlong *)(lVar1 + 0xa0),param_1,param_2,param_1 + 0xd0,param_1 + 0x120); return; } ############ FUN_ 1812d3ba0 size=52 ############ undefined8 FUN_1812d3ba0(void) { code *pcVar1; longlong lVar2; undefined8 uVar3; lVar2 = FUN_18134adf0(); pcVar1 = *(code **)(*(longlong *)(lVar2 + 0x38) + 0x18); if (pcVar1 == FUN_181313890) { return 0x101; } uVar3 = (*pcVar1)(lVar2 + 0x38); return uVar3; } ############ FUN_ 1812d3be0 size=118 ############ void FUN_1812d3be0(longlong param_1) { code *pcVar1; uint uVar2; longlong lVar3; undefined8 uVar4; lVar3 = FUN_18134adf0(); pcVar1 = *(code **)(*(longlong *)(lVar3 + 0x38) + 0x18); if (pcVar1 == FUN_181313890) { uVar2 = 0x101; } else { uVar2 = (*pcVar1)(lVar3 + 0x38); } FUN_1812cc1e0(param_1,uVar2 >> 3 & 0xffffff01); if (((*(byte *)(param_1 + 0xa8) & 4) == 0) || ((uVar2 >> 8 & 1) == 0)) { uVar4 = 0; } else { uVar4 = 1; } FUN_1812cc270(param_1,uVar4); FUN_1812d3dc0(param_1,0); return; } ############ FUN_ 1812d6b20 size=139 ############ void FUN_1812d6b20(longlong param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4, undefined1 param_5) { uint uVar1; longlong lVar2; bool bVar3; lVar2 = FUN_18134adf0(); uVar1 = *(uint *)(param_1 + 0x44) & 3; if (uVar1 == 0) { if ((*(longlong *)(param_1 + 8) == 0) || (*(char *)(*(longlong *)(param_1 + 8) + 0x124) == '\0') ) { bVar3 = false; } else { bVar3 = true; } } else { bVar3 = uVar1 == 2; } (**(code **)(*(longlong *)(lVar2 + 0x28) + 8))(lVar2 + 0x28,param_2,param_3,param_4,bVar3,param_5) ; return; } ############ FUN_ 1812da6a0 size=61 ############ void FUN_1812da6a0(longlong param_1,undefined8 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0xa8) + 8)) ((longlong *)(lVar1 + 0xa8),param_2,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c),param_1); return; } ############ FUN_ 1812dad10 size=558 ############ void FUN_1812dad10(longlong *param_1,longlong param_2,char param_3,char param_4) { int iVar1; code *pcVar2; longlong lVar3; undefined4 *puVar4; int iVar5; undefined8 uVar6; int iVar7; longlong local_res8; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; if (*(char *)((longlong)param_1 + 0x1ea) != '\0') { lVar3 = FUN_18134adf0(); pcVar2 = *(code **)(*(longlong *)(lVar3 + 0xa8) + 0x18); if (pcVar2 == FUN_181308110) { if (param_4 == '\0') { if (param_3 == '\0') goto LAB_1812dada3; uVar6 = 0x1003220; } else { uVar6 = 0x1003230; } puVar4 = (undefined4 *)FUN_18134a8d0(param_1,&local_res8,uVar6,1); FUN_1812a3160(param_2,*puVar4); } else { (*pcVar2)((longlong *)(lVar3 + 0xa8),param_2,(int)param_1[5], *(undefined4 *)((longlong)param_1 + 0x2c),param_3,param_4,param_1); } } LAB_1812dada3: if ((int)param_1[0x3a] != 0) { iVar1 = *(int *)((longlong)param_1 + 0x1ec); iVar5 = *(int *)((longlong)param_1 + 0x2c) + iVar1 * -2; iVar7 = iVar1; if ((int)param_1[0x3a] == 1) { iVar7 = (int)param_1[0x3f] + (int)param_1[0x3e] + iVar1 / 2; iVar5 = iVar5 - (int)param_1[0x3f]; } lVar3 = FUN_18134adf0(param_1); (**(code **)(*(longlong *)(lVar3 + 0xa8) + 0x20)) ((longlong *)(lVar3 + 0xa8),param_2,iVar1,iVar7,(int)param_1[5] + iVar1 * -2,iVar5, param_1 + 0x2b,param_1); } if ((0 < *(int *)((longlong)param_1 + 500)) && (0 < (int)param_1[0x3f])) { local_res8 = param_2; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } *(undefined1 *)(param_2 + 0x10) = 1; local_38 = *(undefined4 *)((longlong)param_1 + 0x1ec); uStack_34 = (undefined4)param_1[0x3e]; uStack_30 = *(undefined4 *)((longlong)param_1 + 500); uStack_2c = (undefined4)param_1[0x3f]; *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_2 + 8) + 0x28))(*(longlong **)(param_2 + 8),&local_38); uVar6 = *(undefined8 *)((longlong)param_1 + 0x1ec); if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x10))(*(longlong **)(param_2 + 8),uVar6); if (*(code **)(*param_1 + 0x198) != _guard_check_icall) { (**(code **)(*param_1 + 0x198)) (param_1,param_2,*(undefined4 *)((longlong)param_1 + 500),(int)param_1[0x3f],param_3 ,param_4); } if (*(char *)(param_2 + 0x10) == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); } else { *(undefined1 *)(param_2 + 0x10) = 0; } } return; } ############ FUN_ 1812df030 size=59 ############ void FUN_1812df030(longlong param_1,undefined8 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0x18) + 8)) (lVar1 + 0x18,param_2,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c), param_1); return; } ############ FUN_ 1812e6330 size=34 ############ void FUN_1812e6330(longlong param_1) { undefined8 uVar1; undefined8 uVar2; uVar1 = *(undefined8 *)(param_1 + 0x200); uVar2 = FUN_18134adf0(); FUN_1805023a0(uVar1,uVar2); return; } ############ FUN_ 1812e6640 size=527 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812e6640(longlong param_1,undefined8 param_2) { int *piVar1; uint uVar2; double dVar3; longlong lVar4; int iVar5; void *_Src; longlong lVar6; uint *_Memory; size_t sVar7; longlong lVar8; undefined1 *puVar9; bool bVar10; undefined1 auStack_a8 [32]; undefined4 local_88; undefined8 local_80; undefined1 **local_78; char local_68 [8]; undefined1 *local_60; double local_58; undefined8 local_50; ulonglong local_38 [2]; local_50 = 0xfffffffffffffffe; local_38[0] = DAT_182615970 ^ (ulonglong)auStack_a8; local_60 = &DAT_1821dbf98; if (*(char *)(param_1 + 0xe8) == '\0') { if ((*(uint *)(*(longlong *)(param_1 + 0xf0) + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*(longlong *)(param_1 + 0xf0) + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } local_60 = *(undefined1 **)(param_1 + 0xf0); LOCK(); UNLOCK(); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } else { dVar3 = *(double *)(param_1 + 0xe0); if ((0.0 <= dVar3) && (dVar3 <= DAT_1824c4140)) { local_58 = dVar3 * DAT_1824c42f0 + DAT_1824c4520; _Src = (void *)FUN_181233e10(local_38,(ulonglong)local_58 & 0xffffffff); iVar5 = (int)local_38 - (int)_Src; if (0 < iVar5) { lVar8 = -1; do { lVar8 = lVar8 + 1; } while (local_60[lVar8] != '\0'); sVar7 = (size_t)iVar5; FUN_1812342b0(&local_60,sVar7 + lVar8); puVar9 = local_60 + (int)lVar8; memcpy(puVar9,_Src,sVar7); puVar9[sVar7] = 0; } local_68[0] = '%'; local_68[1] = '\0'; lVar8 = -1; do { lVar6 = lVar8 + 1; lVar4 = lVar8 + 1; lVar8 = lVar6; } while (local_68[lVar4] != '\0'); iVar5 = ((int)local_68 + (int)lVar6) - (int)local_68; if (0 < iVar5) { lVar8 = -1; do { lVar8 = lVar8 + 1; } while (local_60[lVar8] != '\0'); sVar7 = (size_t)iVar5; FUN_1812342b0(&local_60,sVar7 + lVar8); puVar9 = local_60 + (int)lVar8; memcpy(puVar9,local_68,sVar7); puVar9[sVar7] = 0; } } } lVar8 = FUN_18134adf0(param_1); local_88 = *(undefined4 *)(param_1 + 0x2c); local_78 = &local_60; local_80 = *(undefined8 *)(param_1 + 0xe0); (**(code **)(*(longlong *)(lVar8 + 0xb8) + 8)) ((longlong *)(lVar8 + 0xb8),param_2,param_1,*(undefined4 *)(param_1 + 0x28)); _Memory = (uint *)(local_60 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 1812e6870 size=78 ############ void FUN_1812e6870(longlong *param_1) { undefined1 uVar1; longlong lVar2; if (*(code **)(*param_1 + 0xa0) == FUN_1812e68d0) { lVar2 = FUN_18134adf0(); uVar1 = (**(code **)(*(longlong *)(lVar2 + 0xb8) + 0x10))((longlong *)(lVar2 + 0xb8),param_1); FUN_18134bd50(param_1,uVar1); return; } (**(code **)(*param_1 + 0xa0))(); return; } ############ FUN_ 1812e68d0 size=46 ############ void FUN_1812e68d0(undefined8 param_1) { undefined1 uVar1; longlong lVar2; lVar2 = FUN_18134adf0(); uVar1 = (**(code **)(*(longlong *)(lVar2 + 0xb8) + 0x10))((longlong *)(lVar2 + 0xb8),param_1); FUN_18134bd50(param_1,uVar1); return; } ############ FUN_ 1812e8d90 size=49 ############ void FUN_1812e8d90(undefined8 param_1,undefined8 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); /* WARNING: Could not recover jumptable at 0x0001812e8dbd. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*(longlong *)(lVar1 + 0x50) + 8))(lVar1 + 0x50,param_2,param_1); return; } ############ FUN_ 1812e8ed0 size=119 ############ void FUN_1812e8ed0(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4) { undefined8 uVar1; undefined4 *puVar2; char cVar3; undefined1 local_18 [16]; cVar3 = FUN_181341a70(param_1,param_3); if (cVar3 == '\0') { uVar1 = FUN_18134adf0(param_1); cVar3 = FUN_181315bd0(uVar1,param_3); if (cVar3 == '\0') { return; } } puVar2 = (undefined4 *)FUN_18134a8d0(param_1,local_18,param_3,0); FUN_18134a800(param_2,param_4,*puVar2); return; } ############ FUN_ 1812eb3c0 size=59 ############ void FUN_1812eb3c0(longlong param_1) { longlong lVar1; if ((0 < *(int *)(param_1 + 0x2c)) && (0 < *(int *)(param_1 + 0x28))) { lVar1 = FUN_18134adf0(); /* WARNING: Could not recover jumptable at 0x0001812eb3f1. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*(longlong *)(lVar1 + 0x48) + 0x20)) (lVar1 + 0x48,param_1,*(undefined8 *)(param_1 + 0x170)); return; } return; } ############ FUN_ 1812eb410 size=290 ############ void FUN_1812eb410(longlong param_1,undefined8 param_2) { uint uVar1; bool bVar2; longlong lVar3; undefined8 *puVar4; longlong lVar5; uint *_Memory; bool bVar6; undefined4 local_res8; undefined4 uStackX_c; bVar6 = false; local_res8 = 0; lVar3 = FUN_18134adf0(); lVar5 = *(longlong *)(param_1 + 0x170); (**(code **)(*(longlong *)(lVar3 + 0x48) + 8)) (lVar3 + 0x48,param_2,*(int *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c), *(undefined1 *)(param_1 + 0x154),*(int *)(lVar5 + 0x28) + *(int *)(lVar5 + 0x20),0, (*(int *)(param_1 + 0x28) - *(int *)(lVar5 + 0x28)) - *(int *)(lVar5 + 0x20), *(undefined4 *)(param_1 + 0x2c),param_1); if (**(char **)(param_1 + 0x178) != '\0') { puVar4 = (undefined8 *)FUN_1812ea010(*(undefined8 *)(param_1 + 0x170),&local_res8); bVar6 = true; if ((*(char *)*puVar4 == '\0') && (*(longlong *)(*(longlong *)(param_1 + 0x170) + 0x1c8) == 0)) { bVar2 = true; goto LAB_1812eb4cb; } } bVar2 = false; LAB_1812eb4cb: if ((bVar6) && (_Memory = (uint *)(CONCAT44(uStackX_c,local_res8) + -0x10), (*_Memory & 0x30000000) == 0)) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (bVar2) { lVar5 = FUN_18134adf0(param_1); (**(code **)(*(longlong *)(lVar5 + 0x48) + 0x30)) (lVar5 + 0x48,param_2,param_1,*(undefined8 *)(param_1 + 0x170)); } return; } ############ FUN_ 1812ecc20 size=136 ############ void FUN_1812ecc20(undefined8 param_1,char param_2) { undefined1 uVar1; undefined8 uVar2; undefined4 *puVar3; float fVar4; undefined4 local_res10; undefined1 local_res18 [16]; fVar4 = DAT_1824c3ea4; if (param_2 != '\0') { fVar4 = DAT_1824c3d74; } uVar2 = FUN_18134adf0(); puVar3 = (undefined4 *)FUN_181346420(uVar2,local_res18,0x1006502); if (0.0 < fVar4) { if (fVar4 < DAT_1824c3ea4) { uVar1 = (undefined1)(int)(fVar4 * DAT_1824c454c); } else { uVar1 = 0xff; } } else { uVar1 = 0; } local_res10 = CONCAT13(uVar1,(int3)*puVar3); FUN_18134a800(param_1,0x1006502,local_res10); return; } ############ FUN_ 1812ed550 size=99 ############ void FUN_1812ed550(longlong param_1,undefined8 param_2) { longlong *plVar1; longlong lVar2; lVar2 = FUN_18134adf0(); plVar1 = (longlong *)(lVar2 + 0x80); (**(code **)(*plVar1 + 0x10)) (plVar1,param_2,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c),param_1) ; (**(code **)(*plVar1 + 0x18)) (plVar1,param_2,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c),param_1) ; return; } ############ FUN_ 1812f1430 size=75 ############ void FUN_1812f1430(longlong param_1,undefined8 param_2) { longlong lVar1; undefined8 local_18; undefined4 local_10; undefined4 local_c; lVar1 = FUN_18134adf0(); local_18 = 0; local_10 = *(undefined4 *)(param_1 + 0x28); local_c = *(undefined4 *)(param_1 + 0x2c); (**(code **)(*(longlong *)(lVar1 + 0x40) + 0x18)) ((longlong *)(lVar1 + 0x40),param_2,&local_18,param_1 + 8); return; } ############ FUN_ 1812f2330 size=54 ############ void FUN_1812f2330(longlong param_1,undefined8 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); /* WARNING: Could not recover jumptable at 0x0001812f2362. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*(longlong *)(lVar1 + 0x40) + 8)) (lVar1 + 0x40,param_2,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c)); return; } ############ FUN_ 1812f3bf0 size=533 ############ void FUN_1812f3bf0(longlong param_1) { int *piVar1; longlong *plVar2; int iVar3; code *pcVar4; void *pvVar5; longlong lVar6; undefined8 uVar7; int iVar8; ulonglong uVar9; uint uVar10; undefined1 **ppuVar11; float fVar12; int local_res8; undefined8 *local_res10; plVar2 = (longlong *)(param_1 + 0xe8); *(undefined4 *)(param_1 + 0xf4) = 0; if (*(int *)(param_1 + 0xf0) == 0) { *(undefined4 *)(param_1 + 0xf0) = 0; local_res8 = 0; iVar8 = *(int *)(param_1 + 0xf4) + 1; if (0 < iVar8) { FUN_1804af790(plVar2,*(int *)(param_1 + 0xf4) + 9 + iVar8 / 2 & 0xfffffff8); } iVar8 = *(int *)(param_1 + 0xf4); *(int *)(param_1 + 0xf4) = iVar8 + 1; *(undefined4 *)(*plVar2 + (longlong)iVar8 * 4) = 0; pvVar5 = ThreadLocalStoragePointer; uVar10 = 0; if (0 < *(int *)(param_1 + 0xe4)) { uVar9 = (ulonglong)_tls_index; do { lVar6 = FUN_18134adf0(param_1); if (uVar10 < *(uint *)(param_1 + 0xe4)) { ppuVar11 = (undefined1 **)(*(longlong *)(param_1 + 0xd8) + (longlong)(int)uVar10 * 8); } else { if ((*(int *)(*(longlong *)((longlong)pvVar5 + uVar9 * 8) + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar11 = &DAT_18267af68; } pcVar4 = *(code **)(*(longlong *)(lVar6 + 0x40) + 0x50); if (pcVar4 == FUN_18130ff80) { uVar7 = (**(code **)(*(longlong *)(lVar6 + 0x40) + 0x58)) (lVar6 + 0x40,&local_res10,param_1,uVar10,ppuVar11); iVar8 = *(int *)(param_1 + 0x2c); fVar12 = (float)FUN_1812518d0(uVar7,ppuVar11); fVar12 = ceilf(fVar12); iVar8 = iVar8 + (int)fVar12; if (local_res10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res10 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res10)(local_res10,1); } } } else { iVar8 = (*pcVar4)(lVar6 + 0x40,param_1,uVar10,ppuVar11); } local_res8 = local_res8 + iVar8; iVar3 = *(int *)(param_1 + 0xf4); iVar8 = iVar3 + 1; if (*(int *)(param_1 + 0xf0) < iVar8) { if (iVar8 < 0) { iVar8 = iVar3 + 2; } FUN_1804af790(plVar2,iVar3 + 9 + (iVar8 >> 1) & 0xfffffff8); } iVar8 = *(int *)(param_1 + 0xf4); *(int *)(param_1 + 0xf4) = iVar8 + 1; *(int *)(*plVar2 + (longlong)iVar8 * 4) = local_res8; uVar10 = uVar10 + 1; } while ((int)uVar10 < *(int *)(param_1 + 0xe4)); } return; } /* WARNING: Subroutine does not return */ free((void *)*plVar2); } ############ FUN_ 1812f3e10 size=695 ############ void FUN_1812f3e10(longlong param_1,longlong param_2) { uint uVar1; uint uVar2; undefined4 uVar3; char cVar4; longlong lVar5; undefined8 uVar6; int iVar7; int iVar8; int iVar9; undefined1 uVar10; uint uVar11; ulonglong uVar12; uint uVar13; ulonglong uVar14; int local_res18; longlong *local_68; int iStack_60; undefined4 uStack_5c; undefined8 local_58; longlong local_50; longlong *local_48; int iStack_40; undefined4 uStack_3c; local_58 = 0xfffffffffffffffe; if (((*(int *)(param_1 + 0x104) < 0) && (*(int *)(param_1 + 0x100) < 0)) && (cVar4 = FUN_18133e590(param_1,0), cVar4 == '\0')) { uVar10 = 0; } else { uVar10 = 1; } lVar5 = FUN_18134adf0(param_1); (**(code **)(*(longlong *)(lVar5 + 0x40) + 0x40)) ((longlong *)(lVar5 + 0x40),param_2,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c),uVar10,param_1); if ((*(longlong *)(param_1 + 0xd0) != 0) && (uVar12 = 0, 0 < *(int *)(param_1 + 0xe4))) { local_48 = (longlong *)0x0; uVar14 = uVar12; local_50 = param_2; do { iVar8 = 0; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } *(undefined1 *)(param_2 + 0x10) = 1; uVar13 = (uint)uVar14; iVar9 = 0; iVar7 = iVar9; if (uVar13 < *(uint *)(param_1 + 0xf4)) { iVar7 = *(int *)(uVar12 + *(longlong *)(param_1 + 0xe8)); } *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); (**(code **)(**(longlong **)(param_2 + 8) + 0x10))(*(longlong **)(param_2 + 8),iVar7); uStack_5c = *(undefined4 *)(param_1 + 0x2c); uVar11 = uVar13 + 1; iStack_60 = iVar9; if (uVar11 < *(uint *)(param_1 + 0xf4)) { iStack_60 = *(int *)(uVar12 + 4 + *(longlong *)(param_1 + 0xe8)); } if (uVar13 < *(uint *)(param_1 + 0xf4)) { iVar8 = *(int *)(uVar12 + *(longlong *)(param_1 + 0xe8)); } iStack_60 = iStack_60 - iVar8; local_68 = local_48; iStack_40 = iStack_60; uStack_3c = uStack_5c; if (*(char *)(param_2 + 0x10) != '\0') { *(undefined1 *)(param_2 + 0x10) = 0; (**(code **)(**(longlong **)(param_2 + 8) + 0x68))(); } (**(code **)(**(longlong **)(param_2 + 8) + 0x28))(*(longlong **)(param_2 + 8),&local_68); lVar5 = FUN_18134adf0(param_1); local_68 = (longlong *)(lVar5 + 0x40); uVar3 = *(undefined4 *)(param_1 + 0x2c); if (uVar13 < *(uint *)(param_1 + 0xf4)) { local_res18 = *(int *)(uVar12 + *(longlong *)(param_1 + 0xe8)); } else { local_res18 = 0; } if (uVar11 < *(uint *)(param_1 + 0xf4)) { iVar9 = *(int *)(uVar12 + 4 + *(longlong *)(param_1 + 0xe8)); } lVar5 = *local_68; uVar1 = *(uint *)(param_1 + 0x104); uVar2 = *(uint *)(param_1 + 0x100); uVar6 = FUN_181249970(param_1 + 0xd8,uVar14); (**(code **)(lVar5 + 0x60)) (local_68,param_2,iVar9 - local_res18,uVar3,uVar13,uVar6,uVar13 == uVar2, uVar13 == uVar1,uVar10,param_1); if (*(char *)(param_2 + 0x10) == '\0') { (**(code **)(**(longlong **)(param_2 + 8) + 0x70))(); } else { *(undefined1 *)(param_2 + 0x10) = 0; } uVar14 = (ulonglong)uVar11; uVar12 = uVar12 + 4; } while ((int)uVar11 < *(int *)(param_1 + 0xe4)); } return; } ############ FUN_ 18131a490 size=175 ############ int * FUN_18131a490(longlong param_1,int *param_2) { int iVar1; int iVar2; int iVar3; longlong lVar4; int iVar5; iVar1 = *(int *)(param_1 + 0x2c); iVar3 = *(int *)(param_1 + 0x28); param_2[0] = 0; param_2[1] = 0; param_2[2] = iVar3; param_2[3] = iVar1; lVar4 = FUN_18134adf0(param_1); iVar3 = (**(code **)(*(longlong *)(lVar4 + 0x78) + 8))(lVar4 + 0x78); iVar1 = *(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8); if (iVar1 != 2) { iVar2 = param_2[2]; iVar5 = iVar3; if (iVar2 < iVar3) { iVar5 = iVar2; } param_2[2] = iVar2 - iVar5; } if (iVar1 != 3) { iVar2 = param_2[2]; iVar5 = iVar3; if (iVar2 < iVar3) { iVar5 = iVar2; } *param_2 = *param_2 + iVar5; param_2[2] = iVar2 - iVar5; } if (iVar1 != 1) { iVar2 = param_2[3]; iVar5 = iVar3; if (iVar2 < iVar3) { iVar5 = iVar2; } param_2[1] = param_2[1] + iVar5; param_2[3] = iVar2 - iVar5; } if (iVar1 != 0) { iVar1 = param_2[3]; if (iVar1 < iVar3) { iVar3 = iVar1; } param_2[3] = iVar1 - iVar3; } return param_2; } ############ FUN_ 18131a590 size=493 ############ void FUN_18131a590(longlong param_1,int *param_2,int *param_3) { undefined8 uVar1; int iVar2; int iVar3; longlong lVar4; int *piVar5; undefined8 *puVar6; int iVar7; int iVar8; undefined1 local_18 [16]; lVar4 = FUN_18134adf0(); piVar5 = (int *)FUN_18131a490(param_1,local_18); iVar2 = piVar5[1]; iVar8 = piVar5[2]; iVar7 = piVar5[3]; *param_3 = *piVar5; param_3[1] = iVar2; param_3[2] = iVar8; param_3[3] = iVar7; if (*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - 2U < 2) { iVar2 = param_3[2]; } else { iVar2 = param_3[3]; } iVar2 = (**(code **)(*(longlong *)(lVar4 + 0x78) + 0x10))(lVar4 + 0x78,iVar2); if (0 < iVar2) { if (*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - 2U < 2) { iVar7 = param_3[2]; param_3[1] = param_3[1] + iVar2; iVar8 = param_3[3] + iVar2 * -2; } else { iVar8 = param_3[3]; *param_3 = *param_3 + iVar2; iVar7 = param_3[2] + iVar2 * -2; } iVar2 = 0; if (0 < iVar7) { iVar2 = iVar7; } param_3[2] = iVar2; iVar2 = 0; if (0 < iVar8) { iVar2 = iVar8; } param_3[3] = iVar2; } if (*(longlong *)(param_1 + 0x1d8) != 0) { puVar6 = (undefined8 *) (**(code **)(*(longlong *)(lVar4 + 0x78) + 0x20)) (lVar4 + 0x78,local_18,param_1,param_3,*(longlong *)(param_1 + 0x1d8)); uVar1 = puVar6[1]; *(undefined8 *)param_2 = *puVar6; *(undefined8 *)(param_2 + 2) = uVar1; if (*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - 2U < 2) { iVar2 = param_2[1]; iVar8 = param_3[3]; iVar7 = param_3[1]; if (iVar8 / 2 + iVar7 < iVar2 + param_2[3] / 2) { iVar3 = iVar7 + iVar8; if (iVar2 < iVar7 + iVar8) { iVar3 = iVar2; } if (iVar3 < iVar7) { iVar7 = iVar3; } param_3[1] = iVar7; param_3[3] = iVar3 - iVar7; } else { iVar2 = iVar2 + param_2[3]; iVar3 = iVar7; if (iVar7 < iVar2) { iVar3 = iVar2; } param_3[1] = iVar3; iVar8 = (iVar7 - iVar3) + iVar8; iVar2 = 0; if (0 < iVar8) { iVar2 = iVar8; } param_3[3] = iVar2; } } else { iVar2 = *param_2; iVar8 = param_3[2]; iVar7 = *param_3; if (iVar8 / 2 + iVar7 < iVar2 + param_2[2] / 2) { iVar3 = iVar7 + iVar8; if (iVar2 < iVar7 + iVar8) { iVar3 = iVar2; } if (iVar3 < iVar7) { iVar7 = iVar3; } *param_3 = iVar7; param_3[2] = iVar3 - iVar7; } else { iVar2 = iVar2 + param_2[2]; iVar3 = iVar7; if (iVar7 < iVar2) { iVar3 = iVar2; } *param_3 = iVar3; iVar8 = (iVar7 - iVar3) + iVar8; iVar2 = 0; if (0 < iVar8) { iVar2 = iVar8; } param_3[2] = iVar2; } } } return; } ############ FUN_ 181316550 size=78 ############ void FUN_181316550(longlong param_1,int param_2) { longlong *plVar1; if (param_2 < 1) { *(undefined1 *)(param_1 + 0x1a7) = 0; plVar1 = (longlong *)FUN_18134adf0(); param_2 = (**(code **)(*plVar1 + 0x30))(plVar1); } else { *(undefined1 *)(param_1 + 0x1a7) = 1; } if (*(int *)(param_1 + 0x198) != param_2) { *(int *)(param_1 + 0x198) = param_2; FUN_1813165e0(param_1); return; } return; } ############ FUN_ 181316f70 size=83 ############ void FUN_181316f70(longlong *param_1) { undefined4 uVar1; longlong *plVar2; if (*(char *)((longlong)param_1 + 0x1a7) == '\0') { plVar2 = (longlong *)FUN_18134adf0(); uVar1 = (**(code **)(*plVar2 + 0x30))(plVar2); *(undefined4 *)(param_1 + 0x33) = uVar1; if (*(code **)(*param_1 + 0x108) == thunk_FUN_1813165e0) { FUN_1813165e0(); return; } (**(code **)(*param_1 + 0x108))(param_1); } return; } ############ FUN_ 181319850 size=67 ############ void FUN_181319850(undefined8 param_1,undefined8 param_2) { code *pcVar1; longlong lVar2; lVar2 = FUN_18134adf0(); pcVar1 = *(code **)(*(longlong *)(lVar2 + 0x78) + 0x40); if (pcVar1 != FUN_181309760) { (*pcVar1)(lVar2 + 0x78,param_1,param_2); } return; } ############ FUN_ 18131a790 size=48 ############ void FUN_18131a790(undefined8 param_1,undefined4 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); /* WARNING: Could not recover jumptable at 0x00018131a7bc. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*(longlong *)(lVar1 + 0x78) + 0x18))(lVar1 + 0x78,param_1,param_2); return; } ############ FUN_ 18131a7d0 size=301 ############ undefined8 FUN_18131a7d0(longlong param_1,uint param_2,uint param_3) { uint3 uVar1; longlong lVar2; int local_50; int local_4c; int local_48; int local_44; void *local_40; ulonglong local_38; undefined8 local_30; undefined8 uStack_28; undefined1 local_20; FUN_18131a490(param_1,&local_50); if (*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - 2U < 2) { if (((*(uint *)(param_1 + 0x28) <= param_2) || ((int)param_3 < *(int *)(param_1 + 0x1d0) + local_4c)) || ((local_4c + local_44) - *(int *)(param_1 + 0x1d0) <= (int)param_3)) { LAB_18131a870: local_40 = (void *)0x0; local_38 = 0; local_30 = 0; uStack_28 = 0; local_20 = 1; lVar2 = FUN_18134adf0(param_1); (**(code **)(*(longlong *)(lVar2 + 0x78) + 0x50)) ((longlong *)(lVar2 + 0x78),param_1,&local_40,0,0); FUN_18129b1f0(&local_40); local_38 = local_38 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_40); } uVar1 = (uint3)((uint)local_44 >> 8); } else { if (((*(uint *)(param_1 + 0x2c) <= param_3) || ((int)param_2 < *(int *)(param_1 + 0x1d0) + local_50)) || ((local_50 + local_48) - *(int *)(param_1 + 0x1d0) <= (int)param_2)) goto LAB_18131a870; uVar1 = (uint3)((uint)local_48 >> 8); } return CONCAT71((uint7)uVar1,1); } ############ FUN_ 18131a9b0 size=85 ############ void FUN_18131a9b0(undefined8 param_1,undefined8 param_2,undefined1 param_3,undefined1 param_4) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0x78) + 0x28))(lVar1 + 0x78,param_1,param_2,param_3,param_4); return; } ############ FUN_ 18131c520 size=108 ############ void FUN_18131c520(longlong param_1) { longlong lVar1; undefined8 uVar2; void *local_68; undefined4 local_5c; lVar1 = FUN_18134adf0(); uVar2 = (**(code **)(*(longlong *)(lVar1 + 0xe0) + 0x18)) ((longlong *)(lVar1 + 0xe0),&local_68,param_1); FUN_181333cd0(param_1 + 0x368,uVar2,0); local_5c = 0; /* WARNING: Subroutine does not return */ free(local_68); } ############ FUN_ 18131cab0 size=386 ############ void FUN_18131cab0(longlong param_1,undefined8 param_2) { undefined8 *puVar1; undefined1 auVar2 [12]; undefined1 auVar3 [12]; uint uVar4; undefined4 uVar5; undefined8 uVar6; int iVar7; undefined8 extraout_XMM0_Qb; undefined1 auVar8 [16]; undefined1 auVar9 [16]; uint local_res8 [2]; undefined8 local_res10; undefined1 local_res18 [8]; undefined8 local_res20; undefined4 uStack_9c; undefined4 uStack_94; undefined8 local_88; undefined4 uStack_84; undefined8 uStack_80; float local_78; float local_74; float local_70; float local_6c; undefined1 local_68; void *local_60; undefined8 local_58; uVar6 = FUN_18134adf0(); FUN_181346420(uVar6,local_res18,0x100f001); FUN_181346420(uVar6,local_res8,0x100f003); uVar4 = local_res8[0]; uVar6 = DAT_1824c4140; if (*(char *)(param_1 + 0x5b8) == '\0') { local_res10 = *(undefined8 *)(param_1 + 0x5a8); local_res20 = CONCAT44(*(undefined4 *)(param_1 + 0x5ac), *(int *)(param_1 + 0x5b0) + *(int *)(param_1 + 0x5a8)); } else { local_res10 = CONCAT44(*(undefined4 *)(param_1 + 0x5ac), *(int *)(param_1 + 0x5b0) + *(int *)(param_1 + 0x5a8)); local_res20 = *(undefined8 *)(param_1 + 0x5a8); } local_6c = (float)local_res10._4_4_; local_70 = (float)(int)local_res10; local_res8[0] = local_res8[0] & 0xffffff; local_74 = (float)local_res20._4_4_; local_78 = (float)(int)local_res20; local_res10._0_4_ = CONCAT13(0xb3,(int3)uVar4); uVar5 = (int)local_res10; local_68 = 0; local_60 = (void *)0x0; local_58 = 0; uStack_80 = CONCAT44(uStack_80._4_4_,uVar4) & 0xffffffff00ffffff; FUN_18049ba20(&local_60,8); iVar7 = local_58._4_4_ + 1; auVar2._4_8_ = extraout_XMM0_Qb; auVar2._0_4_ = uStack_9c; auVar8._0_8_ = auVar2._0_8_ << 0x20; auVar8._8_4_ = uVar5; auVar8._12_4_ = uStack_94; puVar1 = (undefined8 *)((longlong)local_60 + (longlong)local_58._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = auVar8._8_8_; local_58 = CONCAT44(local_58._4_4_ + 2,(undefined4)local_58); auVar3._4_8_ = auVar8._8_8_; auVar3._0_4_ = uStack_84; auVar9._0_8_ = auVar3._0_8_ << 0x20; auVar9._8_4_ = (undefined4)uStack_80; auVar9._12_4_ = uStack_80._4_4_; puVar1 = (undefined8 *)((longlong)local_60 + (longlong)iVar7 * 0x10); *puVar1 = uVar6; puVar1[1] = auVar9._8_8_; FUN_181296970(param_2,&local_78); /* WARNING: Subroutine does not return */ free(local_60); } ############ FUN_ 18131fab0 size=67 ############ void FUN_18131fab0(longlong param_1,undefined8 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0x60) + 0x10)) (lVar1 + 0x60,param_2,*(undefined4 *)(param_1 + 0x28),*(undefined4 *)(param_1 + 0x2c), param_1 + 0xc0); return; } ############ FUN_ 181321ef0 size=86 ############ void FUN_181321ef0(longlong param_1,undefined8 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0x90) + 8)) ((longlong *)(lVar1 + 0x90),param_2,*(undefined4 *)(param_1 + 0x28), *(undefined4 *)(param_1 + 0x2c),param_1 + 0xb0,param_1 + 0xb8,param_1); return; } ############ FUN_ 18132b5e0 size=85 ############ void FUN_18132b5e0(longlong param_1) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 0x20) + 0x30)) (lVar1 + 0x20,param_1,*(undefined8 *)(param_1 + 0x120),*(undefined8 *)(param_1 + 0x128), param_1 + 0x130,param_1 + 0x2c0,*(undefined8 *)(param_1 + 0x7e8)); return; } ############ FUN_ 181333700 size=86 ############ void FUN_181333700(undefined8 param_1,undefined8 param_2,undefined1 param_3,undefined1 param_4) { longlong lVar1; lVar1 = FUN_18134adf0(); (**(code **)(*(longlong *)(lVar1 + 8) + 0x28))(lVar1 + 8,param_2,param_1,param_3,param_4); return; } ############ FUN_ 1813337a0 size=48 ############ void FUN_1813337a0(undefined8 param_1,undefined4 param_2) { longlong lVar1; lVar1 = FUN_18134adf0(); /* WARNING: Could not recover jumptable at 0x0001813337cc. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*(longlong *)(lVar1 + 8) + 0x18))(lVar1 + 8,param_1,param_2); return; } ############ FUN_ 181333870 size=165 ############ void FUN_181333870(undefined8 param_1,undefined8 param_2,undefined1 param_3,undefined1 param_4) { longlong *plVar1; longlong lVar2; char cVar3; longlong lVar4; undefined8 uVar5; undefined1 local_res18 [8]; lVar4 = FUN_18134adf0(); lVar2 = *(longlong *)(lVar4 + 8); plVar1 = (longlong *)(lVar4 + 8); cVar3 = FUN_1804d6ee0(param_1); uVar5 = FUN_18134a8d0(param_1,local_res18,(cVar3 != '\0') + 0x1000100,0); (**(code **)(lVar2 + 8))(plVar1,param_2,param_1,uVar5,param_3,param_4); (**(code **)(*plVar1 + 0x20))(plVar1,param_2,param_1,param_3,param_4); return; } ############ FUN_ 181334230 size=609 ############ void FUN_181334230(longlong param_1,undefined8 param_2,char param_3,char param_4) { int *piVar1; char cVar2; int iVar3; int iVar4; longlong lVar5; int iVar6; longlong lVar7; int iVar8; int iVar9; int iVar10; float fVar11; undefined4 uVar12; undefined8 *local_res8; int local_58; int local_50; if (((*(byte *)(param_1 + 0xa9) & 0x10) != 0) || ((*(longlong *)(param_1 + 0x18) != 0 && (cVar2 = FUN_18133eaa0(), cVar2 == '\0')))) { param_3 = '\0'; param_4 = '\0'; } FUN_181334610(param_1,&local_res8); if (local_res8 == (undefined8 *)0x0) goto LAB_18133444d; if (local_res8 == (undefined8 *)0x0) { iVar10 = 0; iVar6 = 0; } else { iVar10 = *(int *)((longlong)local_res8 + 0x14); iVar6 = *(int *)(local_res8 + 3); } iVar9 = *(int *)(param_1 + 0x28); iVar8 = *(int *)(param_1 + 0x2c); iVar3 = (iVar9 - iVar10) / 2; iVar4 = (iVar8 - iVar6) / 2; if (*(char *)(param_1 + 0x1c8) == '\0') { LAB_1813343a2: iVar9 = iVar10; iVar8 = iVar6; } else { if (*(char *)(param_1 + 0x1c9) == '\0') { iVar3 = 0; iVar4 = 0; } else { fVar11 = (float)iVar6 / (float)iVar10; if (fVar11 <= (float)iVar8 / (float)iVar9) { local_50 = SUB84((double)((float)iVar9 * fVar11) + DAT_1824c4520,0); local_58 = iVar9; } else { local_58 = SUB84((double)((float)iVar8 / fVar11) + DAT_1824c4520,0); local_50 = iVar8; } iVar3 = (iVar9 - local_58) / 2; iVar4 = (iVar8 - local_50) / 2; iVar9 = local_58; iVar8 = local_50; } if (*(char *)(param_1 + 0x1c8) == '\0') goto LAB_1813343a2; } *(int *)(param_1 + 0x1cc) = iVar3; *(int *)(param_1 + 0x1d0) = iVar4; *(int *)(param_1 + 0x1d4) = iVar9; *(int *)(param_1 + 0x1d8) = iVar8; if ((param_4 == '\0') && (cVar2 = FUN_1804d6ee0(param_1), cVar2 == '\0')) { if (param_3 == '\0') { uVar12 = *(undefined4 *)(param_1 + 0x1f8); lVar7 = param_1 + 0x204; } else { uVar12 = *(undefined4 *)(param_1 + 0x1fc); lVar7 = param_1 + 0x208; } } else { uVar12 = *(undefined4 *)(param_1 + 0x200); lVar7 = param_1 + 0x20c; } lVar5 = FUN_18134adf0(param_1); (**(code **)(*(longlong *)(lVar5 + 0x10) + 8)) ((longlong *)(lVar5 + 0x10),param_2,&local_res8,iVar3,iVar4,iVar9,iVar8,lVar7,uVar12, param_1); LAB_18133444d: if (local_res8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res8 + 1); iVar10 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar10 == 1) { (**(code **)*local_res8)(local_res8,1); } } return; } ############ FUN_ 18142b570 size=342 ############ void FUN_18142b570(longlong param_1,undefined8 param_2) { int iVar1; longlong lVar2; longlong *plVar3; undefined4 local_res8; uint local_resc; lVar2 = (**(code **)(*(longlong *)(param_1 + 0x280) + 8))(); iVar1 = (int)(*(float *)(lVar2 + 0x88) * DAT_1824c43d8); if (iVar1 < 1) { *(undefined1 *)(param_1 + 0x9af) = 0; plVar3 = (longlong *)FUN_18134adf0(param_1 + 0x808); iVar1 = (**(code **)(*plVar3 + 0x30))(plVar3); } else { *(undefined1 *)(param_1 + 0x9af) = 1; } if (*(int *)(param_1 + 0x9a0) != iVar1) { *(int *)(param_1 + 0x9a0) = iVar1; FUN_1813165e0(param_1 + 0x808); } FUN_1813f22a0(param_2,&local_res8,DAT_182674274,param_1); local_res8 = CONCAT13((char)(local_resc >> 0x18), CONCAT12((char)(int)((float)(local_resc >> 0x10 & 0xff) * DAT_1824c3e70), CONCAT11((char)(int)((float)(local_resc >> 8 & 0xff) * DAT_1824c3e70), (char)(int)((float)(local_resc & 0xff) * DAT_1824c3e70)))) ; FUN_18134a800(param_1 + 0x9c0,0x1000200,local_res8); FUN_1813f22a0(param_2,&local_res8,DAT_1826742b0,param_1); *(uint *)(param_1 + 0xdbc) = local_resc; FUN_1813f22a0(param_2,&local_res8,DAT_182674274,param_1); *(uint *)(param_1 + 0xdc0) = local_resc; return; } ############ FUN_ 1814c1e30 size=661 ############ void FUN_1814c1e30(longlong param_1) { int *piVar1; float fVar2; int iVar3; undefined1 *puVar4; longlong lVar5; longlong *plVar6; longlong lVar7; undefined1 *puVar8; undefined1 *local_res10; undefined8 *local_res18; undefined1 *local_res20; undefined8 *local_48; undefined8 local_40; local_40 = 0xfffffffffffffffe; lVar5 = FUN_18134adf0(); plVar6 = (longlong *) (**(code **)(*(longlong *)(lVar5 + 0x38) + 0x40))((longlong *)(lVar5 + 0x38),&local_48); lVar5 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); fVar2 = *(float *)(lVar5 + 0x88); local_res18 = (undefined8 *)*plVar6; if (local_res18 != (undefined8 *)0x0) { LOCK(); *(int *)(local_res18 + 1) = *(int *)(local_res18 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_res18,fVar2 * DAT_1824c4408); FUN_181252990(param_1 + 0x968,&local_res18); if (local_res18 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_res18 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_res18)(local_res18,1); } } if (local_48 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_48 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_48)(local_48,1); } } local_res10 = &DAT_1821dbf98; lVar5 = -1; do { lVar7 = lVar5; lVar5 = lVar7 + 1; } while ((&DAT_1821dbf99)[lVar7] != '\0'); FUN_1812342b0(&local_res10,lVar7 + 0x12); puVar4 = local_res10; puVar8 = local_res10 + (int)(lVar7 + 1); memcpy(puVar8,"A guided tour of\n",0x11); puVar8[0x11] = 0; lVar5 = -1; do { lVar7 = lVar5; lVar5 = lVar7 + 1; } while (puVar4[lVar5] != '\0'); FUN_1812342b0(&local_res10,lVar7 + 0x18); puVar4 = local_res10; puVar8 = local_res10 + (int)lVar5; memcpy(puVar8,"soothe is available by\n",0x17); puVar8[0x17] = 0; lVar5 = -1; do { lVar7 = lVar5; lVar5 = lVar7 + 1; } while (puVar4[lVar5] != '\0'); FUN_1812342b0(&local_res10,lVar7 + 0x19); puVar4 = local_res10; puVar8 = local_res10 + (int)lVar5; memcpy(puVar8,"clicking the ?-icon and\n",0x18); puVar8[0x18] = 0; lVar5 = -1; do { lVar7 = lVar5; lVar5 = lVar7 + 1; } while (puVar4[lVar5] != '\0'); FUN_1812342b0(&local_res10,lVar7 + 0x16); puVar4 = local_res10; puVar8 = local_res10 + (int)lVar5; memcpy(puVar8,"selecting \"tutorials\"",0x15); puVar8[0x15] = 0; if ((*(uint *)(puVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(puVar4 + -0x10) = *(int *)(puVar4 + -0x10) + 1; UNLOCK(); } local_res20 = puVar4; FUN_1815ef610(param_1 + 0x878,&local_res20); if ((*(uint *)(puVar4 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(puVar4 + -0x10); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar4 + -0x10); } } return; } ############ FUN_ 1814c2340 size=1272 ############ void FUN_1814c2340(longlong param_1) { int *piVar1; float fVar2; uint uVar3; byte bVar4; int iVar5; longlong lVar6; longlong *plVar7; undefined8 uVar8; longlong lVar9; uint *puVar10; byte *pbVar11; char *pcVar12; char *_Dst; char *pcVar13; char *local_res18; char *local_res20; undefined8 *local_88; char *local_80; undefined8 *local_78; longlong local_70 [2]; char *local_60; undefined1 local_58 [24]; local_70[1] = 0xfffffffffffffffe; *(undefined4 *)(param_1 + 0x978) = DAT_18262bb5c; lVar6 = FUN_18134adf0(); plVar7 = (longlong *) (**(code **)(*(longlong *)(lVar6 + 0x38) + 0x40))((longlong *)(lVar6 + 0x38),&local_78); lVar6 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); fVar2 = *(float *)(lVar6 + 0x88); local_88 = (undefined8 *)*plVar7; if (local_88 != (undefined8 *)0x0) { LOCK(); *(int *)(local_88 + 1) = *(int *)(local_88 + 1) + 1; UNLOCK(); } FUN_1812520a0(&local_88,fVar2 * DAT_1824c440c); FUN_181252990(param_1 + 0x970,&local_88); if (local_88 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_88 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_88)(local_88,1); } } if (local_78 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_78 + 1); iVar5 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)*local_78)(local_78,1); } } iVar5 = *(int *)(*(longlong *)(param_1 + 0x878) + 8); if (iVar5 == 6) { FUN_18049c4e0(&local_res20,&DAT_1821eeb64); } else if (iVar5 == 1) { FUN_18049c4e0(&local_res20,&DAT_1822af074); } else if (iVar5 == 2) { FUN_18049c4e0(&local_res20,&DAT_1822af1a4); } else if (iVar5 == 3) { FUN_18049c4e0(&local_res20,"AudioUnit"); } else { local_res20 = ""; } pcVar13 = local_res20; local_res18 = ""; lVar6 = -1; do { lVar9 = lVar6; lVar6 = lVar9 + 1; } while ((&DAT_1821dbf99)[lVar9] != '\0'); FUN_1812342b0(&local_res18,lVar9 + 8); pcVar12 = local_res18 + (int)(lVar9 + 1); memcpy(pcVar12,"soothe2",7); pcVar12[7] = '\0'; lVar6 = -1; do { lVar9 = lVar6; lVar6 = lVar9 + 1; } while (local_res18[lVar6] != '\0'); FUN_1812342b0(&local_res18,lVar9 + 3); pcVar12 = local_res18 + (int)lVar6; memcpy(pcVar12,&DAT_182496878,2); pcVar12[2] = '\0'; lVar6 = -1; do { lVar9 = lVar6; lVar6 = lVar9 + 1; } while (local_res18[lVar6] != '\0'); FUN_1812342b0(&local_res18,lVar9 + 6); pcVar12 = local_res18 + (int)lVar6; memcpy(pcVar12,&DAT_1822a7b94,5); pcVar12[5] = '\0'; lVar6 = -1; do { lVar9 = lVar6; lVar6 = lVar9 + 1; } while (local_res18[lVar6] != '\0'); FUN_1812342b0(&local_res18,lVar9 + 3); _Dst = local_res18 + (int)lVar6; memcpy(_Dst,&DAT_182496878,2); pcVar12 = local_res18; _Dst[2] = '\0'; if (*local_res18 == '\0') { if ((*(uint *)(pcVar13 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar13 + -0x10) = *(int *)(pcVar13 + -0x10) + 1; UNLOCK(); } LOCK(); local_res18 = local_res20; UNLOCK(); puVar10 = (uint *)(pcVar12 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } else { lVar6 = -1; do { lVar6 = lVar6 + 1; } while (pcVar13[lVar6] != '\0'); local_60 = pcVar13 + lVar6; FUN_181232e20(&local_res18,pcVar13); } FUN_181232e20(&local_res18,&DAT_182496878,&DAT_18249687a); uVar8 = FUN_181227e70(local_58); uVar8 = FUN_181228830(uVar8,local_70); lVar6 = -1; do { lVar9 = lVar6; lVar6 = lVar9 + 1; } while (local_res18[lVar6] != '\0'); FUN_1812342b0(&local_res18,lVar9 + 0xd); pcVar13 = local_res18 + (int)lVar6; memcpy(pcVar13,"Compiled on ",0xc); pcVar13[0xc] = '\0'; uVar8 = FUN_181232d30(&local_res18,uVar8); FUN_181232e20(uVar8,&DAT_182496878,&DAT_18249687a); puVar10 = (uint *)(local_70[0] + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } pbVar11 = &DAT_1821ea5d4; iVar5 = 0; do { while( true ) { bVar4 = *pbVar11; pbVar11 = pbVar11 + 1; if ((char)bVar4 < '\0') break; if (bVar4 == 0) { iVar5 = FUN_18049da40(local_res20,&DAT_1821ea5d4,iVar5); if (iVar5 == 0) { FUN_181232e20(&local_res18,&DAT_182496878,&DAT_18249687a); FUN_181232e20(&local_res18, "VST is a trademark and software of Steinberg Media Technologies GmbH.",""); FUN_181232e20(&local_res18,&DAT_182496878,&DAT_18249687a); FUN_181232e20(&local_res18,"VST Plug-in Technology by Steinberg Media Technologies",""); FUN_181232e20(&local_res18,&DAT_182496878,&DAT_18249687a); } local_80 = local_res18; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } FUN_1815ef610(param_1 + 0x880,&local_80); puVar10 = (uint *)(local_res18 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_res20 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } return; } LAB_1814c2738: iVar5 = iVar5 + 1; } if ((*pbVar11 & 0xc0) != 0x80) goto LAB_1814c2738; do { pbVar11 = pbVar11 + 1; } while ((*pbVar11 & 0xc0) == 0x80); iVar5 = iVar5 + 1; } while( true ); } ############ FUN_ 18050dad0 size=355 ############ undefined8 * FUN_18050dad0(undefined8 *param_1) { uint uVar1; int iVar2; HMODULE hModule; FARPROC pFVar3; longlong local_res10; HMODULE local_res18; *param_1 = 0; param_1[1] = 0; hModule = LoadLibraryW(L"api-ms-win-core-winrt-l1-1-0"); local_res18 = hModule; if (hModule != (HMODULE)0x0) { pFVar3 = GetProcAddress(hModule,"RoInitialize"); param_1[2] = pFVar3; pFVar3 = GetProcAddress(hModule,"RoGetActivationFactory"); param_1[3] = pFVar3; pFVar3 = GetProcAddress(hModule,"WindowsCreateString"); param_1[4] = pFVar3; pFVar3 = GetProcAddress(hModule,"WindowsDeleteString"); param_1[5] = pFVar3; if ((((((code *)param_1[2] == (code *)0x0) || (param_1[3] == 0)) || (param_1[4] == 0)) || (pFVar3 == (FARPROC)0x0)) || (((uVar1 = (*(code *)param_1[2])(1), 1 < uVar1 && (uVar1 != 0x80010106)) || ((iVar2 = (*(code *)param_1[4]) (L"Windows.UI.ViewManagement.UIViewSettings",0x28,&local_res10), iVar2 != 0 || (local_res10 == 0)))))) goto LAB_18050dc18; if ((longlong *)param_1[1] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[1] + 0x10))(); } param_1[1] = 0; iVar2 = (*(code *)param_1[3])(local_res10,&DAT_1824a2318,param_1 + 1); (*(code *)param_1[5])(local_res10); if ((iVar2 != 0) || (param_1[1] == 0)) goto LAB_18050dc18; if ((HMODULE)*param_1 != (HMODULE)0x0) { FreeLibrary((HMODULE)*param_1); } *param_1 = hModule; hModule = (HMODULE)0x0; } if (hModule == (HMODULE)0x0) { return param_1; } LAB_18050dc18: FreeLibrary(hModule); return param_1; } ############ FUN_ 1804648a0 size=121 ############ void FUN_1804648a0(void) { undefined8 *puVar1; undefined4 local_res8 [2]; undefined1 local_res10 [24]; undefined4 local_18; undefined4 local_14; float local_10; local_res8[0] = 0xff899ca2; FUN_18049fa40(&local_18,0xff899ca2); local_10 = local_10 * DAT_1824c3e50; if (DAT_1824c3ea4 <= local_10) { local_10 = DAT_1824c3ea4; } FUN_18049fbb0(local_res8,local_18,local_14,local_10,0xff); puVar1 = (undefined8 *)FUN_18140e230(local_res10,local_res8[0]); DAT_1826741cc = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1813bf680 size=126 ############ void FUN_1813bf680(longlong param_1,int param_2) { undefined4 local_res18; undefined4 local_18; undefined4 local_14; undefined4 local_10; if (param_2 == *(int *)(param_1 + 0xe8)) { return; } local_res18 = param_2; if ((*(byte *)(param_1 + 0x140) & 1) == 0) { local_res18 = CONCAT13(0xff,(int3)param_2); } *(int *)(param_1 + 0xe8) = local_res18; FUN_18049fa40(&local_18,local_res18); *(undefined4 *)(param_1 + 0xec) = local_18; *(undefined4 *)(param_1 + 0xf4) = local_10; *(undefined4 *)(param_1 + 0xf0) = local_14; FUN_1813bf2d0(param_1); return; } ############ FUN_ 1812a2060 size=774 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_1812a2060(undefined8 param_1,uint param_2,uint param_3) { int iVar1; byte bVar2; int iVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; double dVar9; float fVar10; float fVar11; float fVar12; float fVar13; uint uVar14; byte bStackX_13; undefined4 local_res18; undefined4 local_88; undefined4 local_84; fVar7 = DAT_1824c4548; fVar10 = (float)(param_2 >> 0x10 & 0xff) / DAT_1824c4548; fVar4 = (float)(param_2 >> 8 & 0xff) / DAT_1824c4548; fVar6 = (float)(param_2 & 0xff) / DAT_1824c4548; fVar6 = sqrtf(fVar4 * fVar4 * _DAT_1824c3dec + fVar10 * fVar10 * _DAT_1824c3d2c + fVar6 * fVar6 * _DAT_1824c3ca0); fVar10 = (float)(param_3 >> 0x10 & 0xff) / fVar7; fVar4 = (float)(param_3 >> 8 & 0xff) / fVar7; fVar7 = (float)(param_3 & 0xff) / fVar7; fVar10 = sqrtf(fVar4 * fVar4 * _DAT_1824c3dec + fVar10 * fVar10 * _DAT_1824c3d2c + fVar7 * fVar7 * _DAT_1824c3ca0); uVar14 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); fVar12 = 0.0; fVar4 = 0.0; fVar7 = 0.0; do { fVar13 = (float)(double)CONCAT44((uint)((ulonglong)(double)(fVar12 - fVar6) >> 0x20) & uVar14, SUB84((double)(fVar12 - fVar6),0) & (uint)DAT_1824c4f10); fVar11 = (float)(double)CONCAT44((uint)((ulonglong)(double)(fVar12 - fVar10) >> 0x20) & uVar14, SUB84((double)(fVar12 - fVar10),0) & (uint)DAT_1824c4f10); fVar8 = DAT_1824c3ea4 - fVar13; fVar5 = DAT_1824c3ea4 - fVar11; if (fVar11 <= fVar8) { if (fVar11 <= fVar5) { fVar5 = fVar11; } } else if (fVar8 <= fVar5) { fVar5 = fVar8; } if (fVar13 <= fVar5) { fVar5 = fVar13; } if (fVar7 < fVar5) { fVar7 = fVar5; fVar4 = fVar12; } fVar12 = fVar12 + DAT_1824c3c7c; } while (fVar12 < DAT_1824c3ea4); bStackX_13 = (byte)(param_2 >> 0x18); dVar9 = (double)((float)(param_3 >> 0x18) * DAT_1824c3d8c) + DAT_1824c4520; bVar2 = 0xff; if (SUB84(dVar9,0) < 0xff) { bVar2 = SUB81(dVar9,0); } local_res18._0_3_ = (undefined3)param_3; local_res18 = CONCAT13(bVar2,(undefined3)local_res18); if (bStackX_13 != 0) { iVar3 = 0xff - ((int)((0xff - (uint)bStackX_13) * (0xff - (uint)bVar2)) >> 8); local_res18 = param_2; if (0 < iVar3) { local_res18._0_1_ = (char)param_3; iVar1 = (int)((0xff - (uint)bVar2) * (uint)bStackX_13) / iVar3; local_res18._0_1_ = (char)(((param_2 & 0xff) - (param_3 & 0xff)) * iVar1 >> 8) + (char)local_res18; local_res18._3_1_ = (undefined1)iVar3; local_res18._0_3_ = CONCAT12((char)(((param_2 >> 0x10 & 0xff) - ((param_3 & 0xff0000) >> 0x10)) * iVar1 >> 8) + (char)(param_3 >> 0x10), CONCAT11((char)(((param_2 >> 8 & 0xff) - ((param_3 & 0xff00) >> 8)) * iVar1 >> 8 ) + (char)(param_3 >> 8),(char)local_res18)); } } FUN_18049fa40(&local_88,local_res18); FUN_18049fbb0(param_1,local_88,local_84,fVar4,(char)(local_res18 >> 0x18)); return param_1; } ############ FUN_ 1812a2710 size=102 ############ undefined8 FUN_1812a2710(undefined4 *param_1,undefined8 param_2,float param_3) { float fVar1; undefined4 local_28; undefined4 local_24; float local_20; FUN_18049fa40(&local_28,*param_1); fVar1 = local_20 * param_3; if (DAT_1824c3ea4 <= local_20 * param_3) { fVar1 = DAT_1824c3ea4; } FUN_18049fbb0(param_2,local_28,local_24,fVar1,(char)((uint)*param_1 >> 0x18)); return param_2; } ############ FUN_ 1812a2780 size=102 ############ undefined8 FUN_1812a2780(undefined4 *param_1,undefined8 param_2,float param_3) { float fVar1; undefined4 local_28; float local_24; undefined4 local_20; FUN_18049fa40(&local_28,*param_1); fVar1 = local_24 * param_3; if (DAT_1824c3ea4 <= local_24 * param_3) { fVar1 = DAT_1824c3ea4; } FUN_18049fbb0(param_2,local_28,fVar1,local_20,(char)((uint)*param_1 >> 0x18)); return param_2; } ############ FUN_ 1812a2860 size=87 ############ undefined8 FUN_1812a2860(undefined4 *param_1,undefined8 param_2,undefined4 param_3) { undefined4 local_28; undefined4 local_24; FUN_18049fa40(&local_28,*param_1); FUN_18049fbb0(param_2,local_28,local_24,param_3,(char)((uint)*param_1 >> 0x18)); return param_2; } ############ FUN_ 1812a28c0 size=81 ############ undefined8 FUN_1812a28c0(undefined8 param_1,undefined8 param_2,undefined4 param_3) { undefined4 local_28 [2]; undefined4 local_20; FUN_18049fa40(local_28,DAT_18262e938); FUN_18049fbb0(param_2,local_28[0],param_3,local_20,(char)((uint)DAT_18262e938 >> 0x18)); return param_2; } ############ FUN_ 1812a2920 size=26 ############ undefined4 FUN_1812a2920(undefined4 *param_1) { longlong lVar1; undefined1 local_18 [24]; lVar1 = FUN_18049fa40(local_18,*param_1); return *(undefined4 *)(lVar1 + 8); } ############ FUN_ 1812a2940 size=82 ############ void FUN_1812a2940(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3,undefined4 *param_4) { undefined4 local_18; undefined4 local_14; undefined4 local_10; FUN_18049fa40(&local_18,*param_1); *param_2 = local_18; *param_3 = local_14; *param_4 = local_10; return; } ############ FUN_ 1812fd8d0 size=1125 ############ void FUN_1812fd8d0(longlong *param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,int param_6,float param_7,undefined4 param_8,undefined4 param_9 ,uint param_10,longlong param_11) { undefined8 *puVar1; undefined1 auVar2 [12]; undefined1 auVar3 [12]; undefined8 uVar4; undefined1 uVar5; uint uVar6; undefined4 uVar7; longlong lVar8; undefined4 *puVar9; uint *puVar10; uint uVar11; undefined1 uVar12; int iVar13; uint uVar14; undefined8 extraout_XMM0_Qb; undefined1 auVar15 [16]; undefined1 auVar16 [16]; double dVar17; float fVar18; float fVar19; uint uVar20; undefined8 local_148; undefined8 uStack_140; undefined4 local_138; undefined8 local_128; undefined8 uStack_120; undefined8 local_108; undefined4 local_100; float local_fc; undefined1 local_f8; void *local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; undefined8 uStack_c8; undefined1 local_c0; undefined8 local_b8; lVar8 = param_11; local_b8 = 0xfffffffffffffffe; puVar9 = (undefined4 *)FUN_18134a8d0(param_11,&local_148,0x1001200,0); FUN_1812a3160(param_2,*puVar9); uVar20 = param_10; if (param_10 - 2 < 2) { fVar18 = (float)param_6; local_e0 = 0; local_d8 = 0; local_d0 = 0; uStack_c8 = 0; local_c0 = 1; fVar19 = fVar18; if (param_10 == 3) { fVar19 = (fVar18 + DAT_1824c3ea4) - param_7; } FUN_18129d850(&local_e0); if (((*(byte *)(lVar8 + 0xa9) & 0x10) == 0) && (*(longlong *)(lVar8 + 0x18) != 0)) { FUN_18133eaa0(); } puVar10 = (uint *)FUN_18134a8d0(lVar8,¶m_10,0x1001300,0,fVar19); FUN_18049fa40(&local_148,*puVar10); uVar20 = *puVar10 >> 0x18; FUN_18049fbb0(¶m_10); uVar6 = param_10; uVar4 = DAT_1824c4140; dVar17 = (double)((float)(param_10 >> 0x18) * DAT_1824c3e28) + DAT_1824c4520; uVar12 = 0xff; if (SUB84(dVar17,0) < 0xff) { uVar12 = SUB81(dVar17,0); } param_10 = CONCAT13(uVar12,(undefined3)param_10); uVar7 = param_10; param_10._0_1_ = (undefined1)uVar6; uVar5 = (undefined1)param_10; uVar11 = (uVar6 & 0xff00) >> 8; uVar14 = (uVar6 & 0xff0000) >> 0x10; local_138 = CONCAT13(uVar12,CONCAT12((char)(int)((float)uVar14 * DAT_1824c3e6c), CONCAT11((char)(int)((float)uVar11 * DAT_1824c3e6c), (char)(int)((float)(uVar6 & 0xff) * DAT_1824c3e6c) ))); local_148._4_4_ = (undefined4)((ulonglong)dVar17 >> 0x20); local_148._0_4_ = CONCAT13(uVar12,CONCAT12((char)(int)(DAT_1824c4548 - (float)(int)(0xff - uVar14) * DAT_1824c3e6c), CONCAT11((char)(int)(DAT_1824c4548 - (float)(int)(0xff - uVar11) * DAT_1824c3e6c), (char)(int)(DAT_1824c4548 - (float)(int)(0xff - (uVar6 & 0xff)) * DAT_1824c3e6c)))); local_108 = 0; local_100 = 0; local_f8 = 0; local_f0 = (void *)0x0; local_e8 = 0; uStack_140._0_4_ = (undefined4)local_148; param_10 = uVar7; local_fc = fVar18; uStack_120._0_4_ = local_138; FUN_18049ba20(&local_f0,8,uVar5,uVar14,uVar20); iVar13 = local_e8._4_4_ + 1; auVar2._4_8_ = extraout_XMM0_Qb; auVar2._0_4_ = local_148._4_4_; auVar15._0_8_ = auVar2._0_8_ << 0x20; auVar15._8_4_ = (undefined4)uStack_140; auVar15._12_4_ = uStack_140._4_4_; uStack_140 = auVar15._8_8_; local_148 = 0; puVar1 = (undefined8 *)((longlong)local_f0 + (longlong)local_e8._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = uStack_140; local_e8 = CONCAT44(local_e8._4_4_ + 2,(undefined4)local_e8); auVar3._4_8_ = uStack_140; auVar3._0_4_ = local_128._4_4_; auVar16._0_8_ = auVar3._0_8_ << 0x20; auVar16._8_4_ = (undefined4)uStack_120; auVar16._12_4_ = uStack_120._4_4_; uStack_120 = auVar16._8_8_; local_128 = uVar4; puVar1 = (undefined8 *)((longlong)local_f0 + (longlong)iVar13 * 0x10); *puVar1 = uVar4; puVar1[1] = uStack_120; FUN_181296970(param_2,&local_108); /* WARNING: Subroutine does not return */ free(local_f0); } (**(code **)(*param_1 + 0x10)) (param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,param_10,lVar8) ; (**(code **)(*param_1 + 0x18)) (param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,uVar20,lVar8); return; } ############ FUN_ 1812ff850 size=676 ############ void FUN_1812ff850(undefined8 param_1,undefined8 param_2,longlong param_3,undefined4 *param_4, char param_5,char param_6) { uint uVar1; longlong lVar2; bool bVar3; char cVar4; undefined1 uVar5; undefined4 *puVar6; undefined1 uVar7; undefined4 uVar8; byte bVar9; undefined1 uVar10; undefined1 uVar11; undefined4 uVar12; float fVar13; float fVar14; float fVar15; undefined4 local_res18; double local_res20; undefined4 local_70; float local_6c; void *local_60; ulonglong local_58; undefined8 local_50; undefined8 uStack_48; undefined1 local_40; fVar13 = DAT_1824c3e58; fVar15 = DAT_1824c3d8c; if (((*(byte *)(param_3 + 0xa9) & 0x10) == 0) && ((*(longlong *)(param_3 + 0x18) == 0 || (cVar4 = FUN_18133eaa0(), fVar15 = DAT_1824c3d8c, cVar4 != '\0')))) { fVar15 = fVar13; } bVar3 = false; for (lVar2 = DAT_182673708; lVar2 != param_3; lVar2 = *(longlong *)(lVar2 + 0x18)) { if (lVar2 == 0) goto LAB_1812ff8d7; } bVar3 = true; LAB_1812ff8d7: if (bVar3) { fVar13 = DAT_1824c3f20; } FUN_18049fa40(&local_70,*param_4); fVar14 = fVar13 * local_6c; if (DAT_1824c3ea4 <= fVar13 * local_6c) { fVar14 = DAT_1824c3ea4; } FUN_18049fbb0(&local_res18,local_70,fVar14); local_res20 = (double)((float)(local_res18 >> 0x18) * fVar15) + DAT_1824c4520; uVar11 = 0xff; if (SUB84(local_res20,0) < 0xff) { uVar11 = SUB81(local_res20,0); } local_res18 = CONCAT13(uVar11,(undefined3)local_res18); uVar12 = DAT_1824c3d18; if ((param_6 != '\0') || (uVar12 = DAT_1824c3cb8, uVar8 = local_res18, param_5 != '\0')) { puVar6 = (undefined4 *)FUN_1812a24b0(&local_res18,¶m_6,uVar12); uVar8 = *puVar6; } bVar9 = *(byte *)(param_3 + 0x198) & 1; uVar1 = *(uint *)(param_3 + 0x198); fVar13 = (float)*(int *)(param_3 + 0x28) - DAT_1824c3ea4; fVar15 = (float)*(int *)(param_3 + 0x2c) - DAT_1824c3ea4; if ((0.0 < fVar13) && (0.0 < fVar15)) { local_60 = (void *)0x0; local_58 = 0; local_50 = 0; uStack_48 = 0; local_40 = 1; if (((uVar1 >> 1 & 1) == 0) && ((uVar1 >> 3 & 1) == 0)) { uVar11 = 1; } else { uVar11 = 0; } if ((bVar9 == 0) && ((uVar1 >> 3 & 1) == 0)) { uVar10 = 1; } else { uVar10 = 0; } if (((uVar1 >> 1 & 1) == 0) && ((uVar1 >> 2 & 1) == 0)) { uVar7 = 1; } else { uVar7 = 0; } if ((bVar9 == 0) && ((uVar1 >> 2 & 1) == 0)) { uVar5 = 1; } else { uVar5 = 0; } FUN_18129d5a0(&local_60,DAT_1824c3d8c,bVar9,fVar13,fVar15,DAT_1824c4334,DAT_1824c4334,uVar5, uVar7,uVar10,uVar11); FUN_1812ffb00(param_2,&local_60,uVar8); local_58 = local_58 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_60); } return; } ############ FUN_ 1812ffb00 size=470 ############ void FUN_1812ffb00(undefined8 param_1,undefined8 param_2,uint param_3,undefined4 param_4) { undefined8 *puVar1; undefined1 auVar2 [12]; undefined1 auVar3 [12]; undefined8 uVar4; uint uVar5; int iVar6; uint uVar7; undefined8 extraout_XMM0_Qb; undefined1 auVar8 [16]; undefined1 auVar9 [16]; undefined1 uStackX_1b; undefined8 local_d0; undefined8 uStack_c8; undefined8 local_c0; undefined8 uStack_b8; undefined8 local_a8; undefined4 local_a0; undefined4 local_9c; undefined1 local_98; void *local_90; undefined8 local_88; undefined8 local_80; local_80 = 0xfffffffffffffffe; FUN_18049fa40(&local_d0,param_3); uVar4 = DAT_1824c4140; uStackX_1b = (undefined1)(param_3 >> 0x18); uVar5 = param_3 >> 8 & 0xff; uVar7 = param_3 >> 0x10 & 0xff; uStack_b8._0_4_ = CONCAT13(uStackX_1b, CONCAT12((char)(int)((float)uVar7 * DAT_1824c3e28), CONCAT11((char)(int)((float)uVar5 * DAT_1824c3e28), (char)(int)((float)(param_3 & 0xff) * DAT_1824c3e28)))); uStack_c8._0_4_ = CONCAT13(uStackX_1b, CONCAT12((char)(int)(DAT_1824c4548 - (float)(int)(0xff - uVar7) * DAT_1824c3e48), CONCAT11((char)(int)(DAT_1824c4548 - (float)(int)(0xff - uVar5) * DAT_1824c3e48), (char)(int)(DAT_1824c4548 - (float)(int)(0xff - (param_3 & 0xff)) * DAT_1824c3e48)) )); local_a8 = 0; local_a0 = 0; local_98 = 0; local_90 = (void *)0x0; local_88 = 0; local_9c = param_4; FUN_18049ba20(&local_90,8); iVar6 = local_88._4_4_ + 1; auVar2._4_8_ = extraout_XMM0_Qb; auVar2._0_4_ = local_d0._4_4_; auVar8._0_8_ = auVar2._0_8_ << 0x20; auVar8._8_4_ = (undefined4)uStack_c8; auVar8._12_4_ = uStack_c8._4_4_; uStack_c8 = auVar8._8_8_; local_d0 = 0; puVar1 = (undefined8 *)((longlong)local_90 + (longlong)local_88._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = uStack_c8; local_88 = CONCAT44(local_88._4_4_ + 2,(undefined4)local_88); auVar3._4_8_ = uStack_c8; auVar3._0_4_ = local_c0._4_4_; auVar9._0_8_ = auVar3._0_8_ << 0x20; auVar9._8_4_ = (undefined4)uStack_b8; auVar9._12_4_ = uStack_b8._4_4_; uStack_b8 = auVar9._8_8_; local_c0 = uVar4; puVar1 = (undefined8 *)((longlong)local_90 + (longlong)iVar6 * 0x10); *puVar1 = uVar4; puVar1[1] = uStack_b8; FUN_181296970(param_1,&local_a8); /* WARNING: Subroutine does not return */ free(local_90); } ############ FUN_ 1813088a0 size=365 ############ void FUN_1813088a0(undefined8 param_1,undefined8 param_2,longlong param_3) { undefined8 *puVar1; undefined4 *puVar2; int iVar3; undefined4 uVar4; undefined4 uVar5; int iVar6; undefined4 local_res10 [2]; undefined4 local_res18 [4]; undefined1 local_c0 [8]; undefined4 uStack_b8; undefined4 uStack_b4; undefined4 local_a8; int local_a4; undefined4 local_a0; int local_9c; undefined4 local_98; undefined4 uStack_94; undefined4 uStack_90; undefined4 uStack_8c; undefined4 local_88; float local_84; undefined4 local_80; float local_7c; undefined1 local_78; void *local_70; undefined8 local_68; FUN_1812a3160(param_2,DAT_18262b5a8); iVar6 = *(int *)(param_3 + 0x2c); local_a0 = *(undefined4 *)(param_3 + 0x28); local_a8 = 0; iVar3 = iVar6 / 2; if (iVar6 < iVar6 / 2) { iVar3 = iVar6; } local_a4 = iVar3; local_9c = iVar6 - iVar3; FUN_18134a8d0(param_3,local_res10,0x1003810,0); FUN_18049fa40(local_c0,local_res10[0]); FUN_18049fbb0(local_res18); uVar5 = DAT_1824c4140._4_4_; uVar4 = (undefined4)DAT_1824c4140; local_7c = (float)(iVar3 + (iVar6 - iVar3)); local_84 = (float)iVar3; local_88 = 0; local_80 = 0; local_78 = 0; local_70 = (void *)0x0; local_68 = 0; uStack_90 = local_res18[0]; uStack_b8 = local_res10[0]; FUN_18049ba20(&local_70,8); iVar6 = local_68._4_4_ + 1; puVar1 = (undefined8 *)((longlong)local_70 + (longlong)local_68._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = CONCAT44(uStack_b4,uStack_b8); local_68 = CONCAT44(local_68._4_4_ + 2,(undefined4)local_68); local_98 = uVar4; uStack_94 = uVar5; puVar2 = (undefined4 *)((longlong)local_70 + (longlong)iVar6 * 0x10); *puVar2 = uVar4; puVar2[1] = uVar5; puVar2[2] = uStack_90; puVar2[3] = uStack_8c; FUN_181296970(param_2,&local_88); /* WARNING: Subroutine does not return */ free(local_70); } ############ FUN_ 181315720 size=200 ############ undefined4 * FUN_181315720(undefined4 *param_1,undefined8 param_2,char param_3,char param_4,char param_5) { float fVar1; float fVar2; undefined4 local_res18 [4]; undefined4 local_28; float local_24; undefined4 local_20; fVar2 = DAT_1824c3e58; if (param_3 != '\0') { fVar2 = DAT_1824c3f20; } FUN_18049fa40(&local_28); fVar1 = local_24 * fVar2; if (DAT_1824c3ea4 <= local_24 * fVar2) { fVar1 = DAT_1824c3ea4; } FUN_18049fbb0(local_res18,local_28,fVar1,local_20,(char)((ulonglong)param_2 >> 0x18)); if (param_5 == '\0') { if (param_4 == '\0') { *param_1 = local_res18[0]; } else { FUN_1812a24b0(local_res18,param_1,DAT_1824c3cb8); } } else { FUN_1812a24b0(local_res18,param_1,DAT_1824c3d18); } return param_1; } ############ FUN_ 181310040 size=307 ############ void FUN_181310040(undefined8 param_1,undefined8 param_2) { longlong lVar1; char cVar2; undefined4 *puVar3; undefined4 uStack0000000000000030; undefined1 local_28 [8]; undefined1 local_20 [24]; lVar1 = _uStack0000000000000030; puVar3 = (undefined4 *)FUN_18134a8d0(_uStack0000000000000030,local_28,0x1000700,0); FUN_18049fa40(local_20,*puVar3); FUN_18049fbb0(&stack0x00000030); if (((*(byte *)(lVar1 + 0xa9) & 0x10) == 0) && ((*(longlong *)(lVar1 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), cVar2 != '\0')))) { FUN_181305bb0(DAT_1824c3d74,param_2); } else { FUN_1812a3160(param_2); } return; } ############ FUN_ 1813bf490 size=73 ############ void FUN_1813bf490(longlong param_1) { undefined4 local_18; undefined4 local_14; undefined4 local_10; FUN_18049fa40(&local_18,*(undefined4 *)(param_1 + 0xe8)); *(undefined4 *)(param_1 + 0xec) = local_18; *(undefined4 *)(param_1 + 0xf4) = local_10; *(undefined4 *)(param_1 + 0xf0) = local_14; return; } ############ FUN_ 1813cc160 size=1462 ############ void FUN_1813cc160(longlong param_1) { void *pvVar1; undefined4 uVar2; undefined4 *puVar3; undefined8 uVar4; float fVar5; undefined1 auStack_228 [32]; longlong local_208; undefined4 local_1f8; undefined4 local_1f0; undefined4 local_1ec; float local_1e8; void *local_1e0; undefined8 local_1d8; undefined1 local_1d0 [4]; undefined1 local_1cc [4]; undefined8 local_1c8; undefined4 local_1b8; undefined1 local_1b4 [8]; undefined4 local_1ac; undefined1 local_1a8 [8]; undefined4 local_1a0; undefined1 local_19c [8]; undefined4 local_194; undefined1 local_190 [8]; undefined4 local_188; undefined1 local_184 [8]; undefined4 local_17c; undefined1 local_178 [8]; undefined4 local_170; undefined1 local_16c [8]; undefined4 local_164; undefined1 local_160 [8]; undefined4 local_158; undefined1 local_154 [8]; undefined4 local_14c; undefined1 local_148 [8]; undefined4 local_140; undefined1 local_13c [8]; undefined4 local_134; undefined1 local_130 [8]; undefined4 local_128; undefined1 local_124 [8]; undefined4 local_11c; undefined1 local_118 [8]; undefined4 local_110; undefined1 local_10c [8]; undefined4 local_104; undefined1 local_100 [8]; undefined4 local_f8; undefined1 local_f4 [8]; undefined4 local_ec; undefined1 local_e8 [8]; undefined4 local_e0; undefined1 local_dc [8]; undefined4 local_d4; undefined1 local_d0 [8]; undefined4 local_c8; undefined1 local_c4 [8]; undefined4 local_bc; undefined1 local_b8 [8]; undefined4 local_b0; undefined1 local_ac [8]; undefined4 local_a4; undefined1 local_a0 [8]; undefined4 local_98; undefined1 local_94 [8]; undefined4 local_8c; undefined1 local_88 [8]; undefined4 local_80; undefined1 local_7c [8]; undefined4 local_74; undefined1 local_70 [8]; undefined4 local_68; undefined1 local_64 [8]; undefined4 local_5c; undefined1 local_58 [8]; undefined4 local_50; undefined1 local_4c [8]; undefined4 local_44; undefined1 local_40 [8]; undefined4 local_38; undefined1 local_34 [8]; undefined4 local_2c; ulonglong local_28; local_1c8 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_228; if (*(undefined ***)(param_1 + 0x140) == Soothe2AudioProcessorEditor::vftable) { uVar4 = *(undefined8 *)(param_1 + 0x148); } else { uVar4 = (*(code *)(*(undefined ***)(param_1 + 0x140))[1])(); } local_1f0 = 0xff5e7487; local_1f8 = 0xff77a3b6; local_1b8 = DAT_182674208; FUN_18140e230(local_1b4,0xff77a3b6); local_1f8 = 0xff77a3b6; puVar3 = (undefined4 *)FUN_1812a2a20(&local_1f8,local_1d0,DAT_18262bb50,DAT_1824c3df0); local_1ac = DAT_18267427c; FUN_18140e230(local_1a8,*puVar3); local_1f8 = 0xffffffff; local_1a0 = DAT_182674180; FUN_18140e230(local_19c,0xffffffff); local_194 = DAT_1826741f8; FUN_18140ed70(local_190,DAT_1824c41e0); local_188 = DAT_182674210; FUN_18140ed70(local_184,DAT_1824c3ee8); local_1f8 = 0xff495b6b; local_17c = DAT_18267421c; FUN_18140e230(local_178,0xff495b6b); local_170 = DAT_1826741d0; FUN_18140ed70(local_16c,DAT_1824c4334); local_1f8 = CONCAT13(0xe6,(int3)DAT_18262bb50); local_164 = DAT_182674198; FUN_18140e230(local_160,local_1f8); local_158 = DAT_182674214; FUN_18140ed70(local_154,DAT_1824c4334); local_1f8 = 0xff505b61; local_14c = DAT_182674280; FUN_18140e230(local_148,0xff505b61); local_140 = DAT_1826742bc; FUN_18140ed70(local_13c,DAT_1824c44a0); local_1f8 = 0x66ffffff; local_134 = DAT_182674230; FUN_18140e230(local_130,0x66ffffff); local_1f8 = 0xff7e9cb1; local_128 = DAT_182674288; FUN_18140e230(local_124,0xff7e9cb1); local_11c = DAT_1826741c0; FUN_18140ed70(local_118,DAT_1824c41e0); local_1f8 = 0xe63f3f3f; local_110 = DAT_182674268; FUN_18140e230(local_10c,0xe63f3f3f); local_104 = DAT_182674238; FUN_18140ed70(local_100,DAT_1824c41e0); local_1f8 = 0xe63f3f3f; local_f8 = DAT_182674234; FUN_18140e230(local_f4,0xe63f3f3f); uVar2 = local_1f0; FUN_18049fa40(&local_1f0,local_1f0); fVar5 = local_1e8 * DAT_1824c3e28; if (DAT_1824c3ea4 <= local_1e8 * DAT_1824c3e28) { fVar5 = DAT_1824c3ea4; } local_208 = CONCAT71(local_208._1_7_,(char)((uint)uVar2 >> 0x18)); FUN_18049fbb0(&local_1f0,local_1f0,local_1ec,fVar5); local_ec = DAT_182674274; FUN_18140e230(local_e8,local_1f0); local_e0 = DAT_1826742b0; FUN_18140e230(local_dc,uVar2); local_1f0 = 0xffa8bdca; local_d4 = DAT_1826741dc; FUN_18140e230(local_d0,0xffa8bdca); local_1f0 = 0xffffffff; local_c8 = DAT_1826741a8; FUN_18140e230(local_c4,0xffffffff); local_1f0 = 0xffa7bcc8; local_bc = DAT_182674184; FUN_18140e230(local_b8,0xffa7bcc8); local_1f0 = 0xff3d3d3d; local_b0 = DAT_1826742ac; FUN_18140e230(local_ac,0xff3d3d3d); local_1f0 = 0xff356f85; puVar3 = (undefined4 *)FUN_1812a2a20(&local_1f0,local_1cc,DAT_18262bb54,DAT_1824c3d04); local_1f0._0_3_ = (undefined3)*puVar3; local_1f0 = CONCAT13(0xcc,(undefined3)local_1f0); local_a4 = DAT_1826741c4; FUN_18140e230(local_a0,local_1f0); local_98 = DAT_1826741a4; FUN_18140ed70(local_94,DAT_1824c3ce0); local_8c = DAT_1826742b4; FUN_18140ed70(local_88,DAT_1824c3cac); local_80 = DAT_18267419c; FUN_18140ed70(local_7c,DAT_1824c3e4c); local_74 = DAT_182674134; FUN_18140ed70(local_70,DAT_1824c3d04); local_1f0 = 0xff435260; local_68 = DAT_182674224; FUN_18140e230(local_64,0xff435260); local_1f0._0_3_ = (undefined3)DAT_18262bb50; local_1f0 = CONCAT13(0xb3,(undefined3)local_1f0); local_5c = DAT_1826741f4; FUN_18140e230(local_58,local_1f0); local_50 = DAT_182674200; FUN_18140e230(local_4c,DAT_18262bb50); local_1f0 = 0xff6d8698; local_44 = DAT_1826741cc; FUN_18140e230(local_40,0xff6d8698); local_1f0 = 0xff3b454a; local_38 = DAT_18267418c; FUN_18140e230(local_34,0xff3b454a); local_1e0 = (void *)0x0; local_1d8 = 0; local_1e0 = (void *)FUN_18048c850(); puVar3 = &local_1b8; do { pvVar1 = local_1e0; local_208 = FUN_18056f2e0(&local_1e0,puVar3); FUN_18056f310(&local_1e0,&local_1f0,pvVar1,local_208 + 0x1c); puVar3 = puVar3 + 3; } while (puVar3 != &local_2c); FUN_1814139d0(uVar4,0,&local_1e0); pvVar1 = *(void **)((longlong)local_1e0 + 8); if (*(char *)((longlong)pvVar1 + 0x19) != '\0') { *(void **)((longlong)local_1e0 + 8) = local_1e0; *(void **)local_1e0 = local_1e0; *(void **)((longlong)local_1e0 + 0x10) = local_1e0; local_1d8 = 0; /* WARNING: Subroutine does not return */ free(local_1e0); } FUN_18056b2f0(&local_1e0,*(undefined8 *)((longlong)pvVar1 + 0x10)); /* WARNING: Subroutine does not return */ free(pvVar1); } ############ FUN_ 1814c1ce0 size=317 ############ void FUN_1814c1ce0(longlong param_1,undefined8 param_2) { byte bVar1; undefined8 uVar2; byte *pbVar3; undefined8 *puVar4; float fVar5; undefined4 local_res8; undefined1 local_res18 [8]; undefined1 local_res20 [8]; undefined4 local_28; float local_24; undefined4 local_20; uVar2 = FUN_1813f22a0(param_2,local_res20,DAT_1826742b0,param_1); pbVar3 = (byte *)FUN_1813eca90(uVar2,local_res18); bVar1 = pbVar3[3]; local_res8 = CONCAT13(bVar1,CONCAT12((char)(int)((float)pbVar3[2] * DAT_1824c3de0), CONCAT11((char)(int)((float)pbVar3[1] * DAT_1824c3de0), (char)(int)((float)*pbVar3 * DAT_1824c3de0)))); FUN_18049fa40(&local_28,local_res8); fVar5 = local_24 * DAT_1824c3e58; if (DAT_1824c3ea4 <= local_24 * DAT_1824c3e58) { fVar5 = DAT_1824c3ea4; } FUN_18049fbb0(&local_res8,local_28,fVar5,local_20,bVar1); puVar4 = (undefined8 *)FUN_18140e230(local_res18,DAT_1826742e8); FUN_1813f0dc0(param_2,DAT_1826741e4,*puVar4,param_1); puVar4 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); FUN_1813f0dc0(param_2,DAT_182674244,*puVar4,param_1); local_res8 = CONCAT13(0xb3,(int3)DAT_18262bb5c); *(undefined4 *)(param_1 + 0x970) = local_res8; FUN_1814c1e30(param_1); return; } ############ FUN_ 1814fc710 size=346 ############ void FUN_1814fc710(longlong param_1,longlong param_2) { uint uVar1; longlong lVar2; uint *puVar3; undefined1 uVar4; longlong lVar5; longlong lVar6; float fVar7; undefined4 local_res10; double local_res18; undefined4 local_28; float local_24; undefined4 local_20; lVar5 = 0; lVar2 = __RTDynamicCast(*(undefined8 *)(param_2 + 0x38),0,&juce::Component::RTTI_Type_Descriptor, &CloudyComboBoxRadioButton::RTTI_Type_Descriptor,0); if (lVar2 != 0) { uVar1 = *(uint *)(*(longlong *)(param_2 + 0x38) + 0x4a0); lVar6 = (longlong)(int)uVar1; lVar2 = lVar5; if (uVar1 < *(uint *)(param_1 + 0xec)) { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0xe0) + lVar6 * 8); } if (*(char *)(lVar2 + 0x4a4) == '\0') { lVar2 = lVar5; if (uVar1 < *(uint *)(param_1 + 0xec)) { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0xe0) + lVar6 * 8); } puVar3 = (uint *)FUN_1805823c0(param_1 + 0x110,lVar2 + 8); local_res18 = (double)((float)(*puVar3 >> 0x18) * DAT_1824c3db8) + DAT_1824c4520; uVar4 = 0xff; if (SUB84(local_res18,0) < 0xff) { uVar4 = SUB81(local_res18,0); } local_res10 = CONCAT13(uVar4,(int3)*puVar3); FUN_18049fa40(&local_28,local_res10); fVar7 = local_24 * DAT_1824c3d8c; if (DAT_1824c3ea4 <= local_24 * DAT_1824c3d8c) { fVar7 = DAT_1824c3ea4; } FUN_18049fbb0(&local_res10,local_28,fVar7,local_20,uVar4); if (uVar1 < *(uint *)(param_1 + 0xec)) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0xe0) + lVar6 * 8); } FUN_181405270(*(undefined8 *)(lVar5 + 0x4a8),DAT_182674230,local_res10,DAT_1824c4680, DAT_1824c4680); } } return; } ############ FUN_ 18049fb70 size=49 ############ undefined8 FUN_18049fb70(undefined4 *param_1,undefined8 param_2,undefined4 param_3) { FUN_18049fbb0(param_2,*param_1,param_1[1],param_1[2],(char)((uint)param_3 >> 0x18)); return param_2; } ############ FUN_ 1812a2f20 size=32 ############ undefined8 FUN_1812a2f20(undefined8 param_1) { FUN_18049fbb0(); return param_1; } ############ FUN_ 1812a2f50 size=102 ############ undefined8 FUN_1812a2f50(undefined8 param_1) { float in_stack_00000028; if (in_stack_00000028 <= 0.0) { FUN_18049fbb0(); return param_1; } if (DAT_1824c3ea4 <= in_stack_00000028) { FUN_18049fbb0(); return param_1; } FUN_18049fbb0(); return param_1; } ############ FUN_ 1813bf4e0 size=206 ############ void FUN_1813bf4e0(longlong param_1,float param_2,float param_3) { float fVar1; undefined1 uVar2; float fVar3; float fVar4; float fVar5; undefined4 local_res10 [6]; fVar1 = DAT_1824c3ea4; if (0.0 <= param_2) { fVar4 = DAT_1824c3ea4; if (param_2 <= DAT_1824c3ea4) { fVar4 = param_2; } } else { fVar4 = 0.0; } if (0.0 <= param_3) { fVar5 = DAT_1824c3ea4; if (param_3 <= DAT_1824c3ea4) { fVar5 = param_3; } } else { fVar5 = 0.0; } if ((*(float *)(param_1 + 0xf0) == fVar4) && (*(float *)(param_1 + 0xf4) == fVar5)) { return; } *(float *)(param_1 + 0xf0) = fVar4; *(float *)(param_1 + 0xf4) = fVar5; fVar3 = (float)*(byte *)(param_1 + 0xeb) / DAT_1824c4548; if (0.0 < fVar3) { if (fVar3 < fVar1) { uVar2 = (undefined1)(int)(fVar3 * DAT_1824c454c); } else { uVar2 = 0xff; } } else { uVar2 = 0; } FUN_18049fbb0(local_res10,*(undefined4 *)(param_1 + 0xec),fVar4,fVar5,uVar2); *(undefined4 *)(param_1 + 0xe8) = local_res10[0]; FUN_1813bf2d0(param_1); return; } ############ FUN_ 1813bf5c0 size=174 ############ void FUN_1813bf5c0(longlong param_1,float param_2) { float fVar1; undefined1 uVar2; float fVar3; float fVar4; undefined4 local_res10 [6]; fVar1 = DAT_1824c3ea4; if (0.0 <= param_2) { fVar4 = DAT_1824c3ea4; if (param_2 <= DAT_1824c3ea4) { fVar4 = param_2; } } else { fVar4 = 0.0; } if (*(float *)(param_1 + 0xec) != fVar4) { *(float *)(param_1 + 0xec) = fVar4; fVar3 = (float)*(byte *)(param_1 + 0xeb) / DAT_1824c4548; if (0.0 < fVar3) { if (fVar3 < fVar1) { uVar2 = (undefined1)(int)(fVar3 * DAT_1824c454c); } else { uVar2 = 0xff; } } else { uVar2 = 0; } FUN_18049fbb0(local_res10,fVar4,*(undefined4 *)(param_1 + 0xf0),*(undefined4 *)(param_1 + 0xf4), uVar2); *(undefined4 *)(param_1 + 0xe8) = local_res10[0]; FUN_1813bf2d0(param_1); return; } return; } ############ FUN_ 180001000 size=102 ############ undefined4 FUN_180001000(void) { int iVar1; undefined4 uVar2; undefined8 local_18; undefined4 local_10; iVar1 = FUN_180001360(&local_18,0); if (iVar1 != 0) { DAT_1826159a0 = 0; FUN_1800013e0(7); } local_10 = 0; uVar2 = FUN_1800010e0(local_18); DAT_1826159a0 = local_10; iVar1 = FUN_181a53388(); if (iVar1 == 0) { uVar2 = 0x14; } return uVar2; } ############ FUN_ 18146e100 size=2167 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018146e1e8) */ /* WARNING: Removing unreachable block (ram,0x00018146e28f) */ void FUN_18146e100(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; uint *puVar5; uint *puVar6; uint uVar7; uint uVar8; undefined4 *puVar9; longlong lVar10; longlong lVar11; uint uVar12; longlong *plVar13; ulonglong uVar14; int unaff_retaddr; undefined1 auStack_218 [36]; int local_1f4; uint local_1f0 [2]; undefined8 local_1e8; uint local_1dc; undefined8 local_1d8; uint local_1d0 [6]; ulonglong local_1b8; undefined *local_1b0; undefined4 local_1a8; uint local_1a0 [2]; undefined8 local_198; uint local_190; uint local_18c; undefined8 local_168; undefined4 local_160; undefined4 local_15c; longlong local_158; longlong local_150 [2]; undefined8 *local_140; undefined8 local_110; undefined8 *local_108; undefined8 local_100; ulonglong local_48; local_110 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_218; local_168 = param_4; local_140 = param_1; local_108 = param_1; local_100 = param_4; FUN_181489570(); *param_1 = PresetDirectoryComponent::vftable; param_1[0x16] = PresetDirectoryComponent::vftable; param_1[0x1c] = &DAT_1821dbf98; param_1[0x1d] = param_3; FUN_18129e350(param_1 + 0x1e); uVar12 = (uint)&stack0x00000000 & 0x1bff; uVar12 = (uVar12 * uVar12 + 1) % 7; local_190 = ((int)(-uVar12 | uVar12) >> 0x1f) * -0x7a55 ^ 0x7385; uVar12 = (uint)&stack0x00000000 & 0x23f; local_18c = 0x89bb >> ((char)((ulonglong) ((longlong)(int)((uVar12 + 2) * (uVar12 + 1) * uVar12) * 0x55555556) >> 0x20) * -3 & 0x1fU) ^ 0x853b; do { local_160 = 0x55; local_158 = 0x18146e2c9; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); local_1f4 = 0x11bc343; do { plVar13 = local_150; puVar9 = &local_15c; puVar5 = local_1d0; FUN_18146da62(); *puVar5 = 0xa2852aaf; *puVar9 = 0x40; *plVar13 = 0x18146e3b7; FUN_18146d909(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar7 = (local_1d0[0] << 8 | local_1d0[0] >> 0x18) & 0xca35ca35 | (local_1d0[0] >> 8 | local_1d0[0] << 0x18) & 0x35ca35ca; uVar8 = uVar7 ^ 0x6b72438c; uVar12 = (uVar8 >> 0xe ^ uVar8) >> 0xd & 0xf; uVar8 = uVar8 ^ (uVar12 << 0xe | uVar12) << 0xd; uVar12 = (uVar8 >> 2 & 0xcccccccc | uVar7 << 0x1e | (uVar8 & 0xccccccc) << 2 | uVar8 >> 0x1e) + 0x771485f7; uVar7 = uVar12 >> 0x12 | uVar12 * 0x4000; uVar7 = (((uVar12 & 0x3ffff) >> 2 | uVar7 << 0x10) & 0xfb6a0495 | (uVar7 << 0x10 | (uVar12 & 0x3ffff) >> 2) & 0x495fb6a) ^ 0x44b9fbc1; uVar14 = (ulonglong)uVar7; uVar12 = (uVar7 >> 8 ^ uVar7) >> 3 & 0xff; lVar10 = local_1f4 + local_158; lVar11 = (int)((uVar12 << 8 | uVar12) << 3 ^ uVar7) + local_150[0]; local_1f4 = 0; local_1d0[0] = 0; *(longlong *)(lVar10 + 4) = *(longlong *)(lVar10 + 4) + (ulonglong)(*(uint *)(lVar11 + 4) & 0x623aa0); do { puVar5 = local_1a0; puVar6 = local_1f0; FUN_18146d631(puVar6,puVar5,uVar14); uVar1 = rdtsc(); uVar12 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); *puVar5 = uVar12; uVar2 = (ulonglong)uVar12 - ((ulonglong)(uVar12 >> 0xc) - 0x2b5118f4); uVar3 = uVar2 * 0x800 | uVar2 >> 0x35; uVar2 = uVar3 * 9; uVar3 = uVar3 ^ (uVar2 >> 0xe | uVar2 << 0x32) - 0x119ff153; uVar3 = uVar3 ^ (uVar3 << 10 | uVar3 >> 0x36) - 0x184fdf2a; uVar2 = ((uVar3 >> 0xe | uVar3 << 0x32) - 0x15e38024) + uVar3 * 2; uVar2 = uVar2 * 0x400 | uVar2 >> 0x36; uVar14 = -((uVar14 ^ 0xffffffffffffffff) + 1); uVar2 = uVar2 - ((uVar2 * 0x3000 | uVar2 * 3 >> 0x34) - 0x7e803ad8); lVar4 = uVar2 - (uVar2 >> 10); *puVar6 = (int)lVar4 * 0x200 | (uint)((ulonglong)lVar4 >> 0x37); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); *(int *)(lVar10 + 8) = *(int *)(lVar10 + 8) + (local_1f0[0] ^ 0xaf09849e); *(int *)(lVar10 + 4) = *(int *)(lVar10 + 4) + (local_1f0[0] ^ 0x76ab4291); uVar2 = *(longlong *)(lVar10 + 4) + 0x8d4b8ecea95a6093; uVar14 = (ulonglong)(((uint)(uVar2 >> 0x18) ^ (uint)uVar2) & 0xfffff); uVar2 = uVar2 ^ (uVar14 << 0x18 | uVar14) ^ 0x7989f80cd5d6986f; uVar14 = (ulonglong)((uint)((uVar2 >> 0x14 ^ uVar2) >> 0xd) & 0x3fff); uVar14 = uVar2 ^ (uVar14 << 0x14 | uVar14) << 0xd; uVar2 = ~((uVar14 >> 8 | uVar2 << 0x38) & 0xe718e718e718e718 | (uVar14 << 8 | uVar2 >> 0x38) & 0x18e718e718e718e7); uVar14 = (ulonglong)((uint)((uVar2 >> 0x10 ^ uVar2) >> 2) & 0x3fff); uVar2 = uVar2 ^ (uVar14 << 0x10 | uVar14) << 2; uVar14 = (uVar2 >> 0x16 | uVar2 << 0x2a) + 0x6138c623224ac802; *(ulonglong *)(lVar10 + 4) = uVar14; plVar13 = (longlong *)(lVar11 + 4); *plVar13 = *plVar13 + (uVar14 >> 6 & 0x946c0200); local_1f0[0] = (uint)(*(ulonglong *)(lVar10 + 4) >> 0x1e) & 0x7fffffff; local_1dc = (uint)(*(ulonglong *)(lVar10 + 4) >> 0xf) ^ 0x72ec54af; local_1b8 = *(ulonglong *)(lVar10 + 4) ^ 0xbbc4570e484bdfb6; do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); do { local_1a8 = 0x7e2b33d0; FUN_18147044d(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); local_198 = 0; local_1b0 = &UNK_180940ea8; local_1d8 = 0x1809430c4; local_1e8 = 0x4d75b44fa128bc83; FUN_18146e9b3(0x1809430c4,0x221c,0x940ea8,0x66666462); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 181490880 size=1139 ############ /* WARNING: Removing unreachable block (ram,0x0001814908dd) */ /* WARNING: Removing unreachable block (ram,0x000181490a30) */ undefined8 FUN_181490880(undefined8 param_1) { undefined8 uVar1; int iVar2; int *piVar3; uint *puVar4; uint *puVar5; ulonglong uVar6; ulonglong uVar7; uint uVar8; uint uVar9; int unaff_retaddr; undefined1 auStack_248 [68]; undefined4 local_204; uint local_200 [8]; uint uStack_1e0; undefined4 local_1dc; int local_1c0 [4]; int local_1b0; uint local_1ac; uint local_1a8; uint local_1a4; ulonglong uStack_188; undefined8 local_180; undefined1 local_168 [40]; undefined8 local_140; undefined8 local_138; undefined4 local_110; undefined4 local_10c; undefined8 local_e8; ulonglong local_70; local_e8 = 0xfffffffffffffffe; local_70 = DAT_182615970 ^ (ulonglong)auStack_248; uVar9 = (uint)&stack0x00000000; iVar2 = (uVar9 & 0x7dff) * (uVar9 & 0x7dff) + 1; uVar8 = (iVar2 >> 4) + (iVar2 >> 1) + iVar2 * 0x24924924 >> 0x1d; uVar8 = (int)(uVar8 - 7) >> 0x1f & uVar8; local_1a4 = 0x16fa << ((char)((byte)(-(((uVar9 & 0x2dff) * (uVar9 & 0x2dff) + 1) % 7) >> 0x18) ^ 0xff) >> 7 & 0x1fU) ^ ((int)(-uVar8 | uVar8) >> 0x1f) * -0x18ea; uVar8 = ((uVar9 & 0x1eff) * (uVar9 & 0x1eff) * 0x10 + 4) % 0x13; local_1ac = -((int)((-uVar8 | uVar8) ^ 0xfffffffc) >> 0x1f) - 0x1407U & 0x2ab1 ^ 0x2cb1; local_180 = param_1; FUN_18129e350(local_168); FUN_18129deb0(local_168,0,0); FUN_18129ddd0(local_168,DAT_1824c42d0,DAT_1824c42d0); do { piVar3 = local_1c0; FUN_181490f1b(); *piVar3 = -0x6c5d32be; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = (local_1c0[0] + 0x7861bcb3U >> 4 | (local_1c0[0] + 0x7861bcb3U) * 0x10000000) + 0x2711672a ; uVar8 = (uVar8 >> 0x17 | uVar8 * 0x200) + 0xf58d30d2; local_1b0 = ((uint)((uVar8 & 1) != 0) | (uVar8 >> 1 ^ 0x3d5858b1) << 1) + 0xeca0133f; FUN_18129deb0(local_168,0,DAT_1824c3ea4); do { local_110 = 0x23; local_140 = 0x181490b47; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { local_10c = 0x49; local_138 = 0x181490c37; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_204 = 0; local_1dc = 0; dvs_0x9ecd6c0e_mfort6317_ = (uint *)((longlong)dvs_0x9ecd6c0e_mfort6317_ + (ulonglong)((uint)((ulonglong)dvs_0x3f4e005a_mfort6317_ >> 0x1c) & 0x40a80041)); do { puVar5 = &local_1a8; puVar4 = local_200; FUN_181491b51(); uVar1 = rdtsc(); uVar8 = (int)uVar1 + (int)((ulonglong)uVar1 >> 0x20); *puVar5 = uVar8; uVar6 = (ulonglong)uVar8 * 0x1001 + 0x74c8da8e; uVar6 = ((uVar6 >> 0xc | uVar6 << 0x34) ^ ((uVar6 >> 0xc) << 0xf | (uVar6 & 0xfff) << 3) - 0x13e3af91) >> 10; *puVar4 = (int)(uVar6 >> 0x10) + -0x3fef79de + (int)uVar6 * 2; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); dvs_0x9ecd6c0e_mfort6317_ = (uint *)CONCAT44(dvs_0x9ecd6c0e_mfort6317_._4_4_ + (local_200[0] ^ 0xa3cd347a), (int)dvs_0x9ecd6c0e_mfort6317_ + (local_200[0] ^ 0x2fe711d)); uVar7 = (ulonglong)dvs_0x9ecd6c0e_mfort6317_ ^ 0x6ebb0078280ae1d3; uVar6 = (ulonglong)((uint)((uVar7 >> 0x15 ^ uVar7) >> 6) & 0x3fff); uVar6 = uVar7 ^ (uVar6 << 0x15 | uVar6) << 6; uVar6 = ((uVar6 << 0x10 | uVar7 >> 0x30) & 0x8a6b75948a6b7594 | (uVar6 >> 0x10 | uVar6 << 0x30) & 0x75948a6b75948a6b) + 0x77ad75d1ff9ec411; uVar6 = (uVar6 >> 4 & 0xf0f0f0f0f0f0f0f0 | uVar6 << 0x3c | uVar6 * 0x10 & 0xf0f0f0f0f0f0f0f | uVar6 >> 0x3c) + 0x57a2f43750153a1b; uVar6 = ((uVar6 >> 8 | uVar6 << 0x38) & 0x8b748b748b748b74 | (uVar6 * 0x100 | uVar6 >> 0x38) & 0x748b748b748b748b) ^ 0x454eb57adbfebbc1; dvs_0x9ecd6c0e_mfort6317_ = (uint *)((uVar6 >> 4 | uVar6 << 0x3c) & 0xd2d2d2d2d2d2d2d2 | (uVar6 << 4 | uVar6 >> 0x3c) & 0x2d2d2d2d2d2d2d2d); dvs_0x3f4e005a_mfort6317_ = (uint *)((longlong)dvs_0x3f4e005a_mfort6317_ + ((ulonglong)dvs_0x9ecd6c0e_mfort6317_ >> 0x17 & 0xa0001204)); local_200[0] = (uint)((ulonglong)dvs_0x9ecd6c0e_mfort6317_ >> 0xc) & 0x7fffffff; uStack_1e0 = (uint)((ulonglong)dvs_0x9ecd6c0e_mfort6317_ >> 0xd) ^ 0x6c500699; uStack_188 = (ulonglong)dvs_0x9ecd6c0e_mfort6317_ ^ 0x9398028dc352e471; uVar1 = FUN_18129ddd0(local_168,0,0); return uVar1; } ############ FUN_ 181496af0 size=859 ############ /* WARNING: Removing unreachable block (ram,0x000181496ba3) */ void FUN_181496af0(undefined8 param_1,undefined8 param_2) { uint uVar1; int unaff_retaddr; undefined1 auStack_238 [72]; undefined8 local_1f0; undefined8 local_1e0; undefined4 local_1c0; undefined8 local_1b8; undefined4 local_1b0; undefined4 local_1a8; undefined8 local_188; undefined8 local_180; undefined1 local_168 [48]; undefined8 local_138; undefined8 local_108; ulonglong local_78; local_108 = 0xfffffffffffffffe; local_78 = DAT_182615970 ^ (ulonglong)auStack_238; local_1c0 = 0xa20; local_1a8 = 0x620; local_188 = param_2; local_180 = param_1; FUN_18129e350(local_168); local_138 = 0; local_1f0 = 0x180742a38; local_1b8 = 0x180744198; do { local_1b0 = 0x471f2f06; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); local_1e0 = 0x7766abf8; FUN_18149534a(); FUN_1814b52a9(); return; } ############ FUN_ 18153a390 size=2527 ############ /* WARNING: Instruction at (ram,0x00018153ac18) overlaps instruction at (ram,0x00018153ac15) */ /* WARNING: Removing unreachable block (ram,0x00018153a5ce) */ /* WARNING: Removing unreachable block (ram,0x00018153a43e) */ /* WARNING: Removing unreachable block (ram,0x00018153a8a2) */ /* WARNING: Removing unreachable block (ram,0x00018153a9ec) */ /* WARNING: Removing unreachable block (ram,0x00018153a957) */ void FUN_18153a390(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4) { longlong *plVar1; undefined4 uVar2; undefined8 *puVar3; uint uVar4; uint uVar5; uint uVar6; undefined4 uVar7; longlong lVar8; undefined4 *puVar9; longlong lVar10; uint uVar11; longlong lVar12; longlong lVar13; uint uVar14; longlong lVar15; undefined8 *puVar16; undefined8 *puVar17; undefined4 *puVar18; int iVar19; int iVar20; longlong *plVar21; undefined4 *puVar22; ulonglong uVar23; IMAGE_DOS_HEADER *pIVar24; uint uVar25; IMAGE_DOS_HEADER *pIVar26; uint uVar27; uint uVar28; ulonglong uVar29; bool bVar30; uint unaff_retaddr; longlong alStack_2d0 [13]; undefined1 local_268 [64]; int local_228 [2]; undefined1 *local_220 [2]; undefined4 local_20c; uint local_204 [6]; undefined4 local_1ec; undefined8 local_1e8; undefined4 local_1e0; uint local_1dc; uint local_1d8; undefined8 local_1d0; undefined8 local_1c8; undefined1 local_188 [48]; undefined *local_158; undefined8 local_d8; undefined4 local_b0 [14]; ulonglong local_78; puVar16 = (undefined8 *)local_268; local_d8 = 0xfffffffffffffffe; local_78 = DAT_182615970 ^ (ulonglong)local_268; uVar11 = (uint)&stack0x00000000 & 0x1bf; local_1d8 = ((uVar11 + 2) * (uVar11 + 1) * uVar11) % 3 + 0xb661 ^ 0xbb61; uVar11 = (uint)&stack0x00000000 & 0x3ff; uVar11 = 1 << ((char)(((uVar11 + 2) * (uVar11 + 1) * uVar11) / 3) * -3 & 0x1fU); local_1dc = (int)(-uVar11 | uVar11) >> 0x1f & 0x4644U ^ 0x4894; local_20c = param_4; local_204[4] = param_3; local_1d0 = param_2; local_1c8 = param_1; FUN_18129e350(local_188); FUN_18129deb0(local_188,0,0); pIVar26 = &IMAGE_DOS_HEADER_180000000; local_1e8 = 0; local_220[0] = &DAT_180ae2558; local_220[1] = &LAB_180ae3940; do { FUN_18153a119(); uVar7 = DAT_1824c3ea4; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); local_1ec = 0x990d6471; do { local_1e0 = 0xa5092677; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); local_1e8 = 0x9881a2db55643a34; FUN_18129ddd0(local_188,0,DAT_1824c3ea4); uVar2 = DAT_1824c3ef8; local_228[0] = 0xaf6e6cb0; lVar15 = (longlong)local_220[1] - (longlong)local_220[0]; local_158 = local_220[0]; uVar27 = 0x9d09ad3d; FUN_18129ddd0(local_188,DAT_1824c3ef8,uVar7); FUN_18129ddd0(local_188,uVar2,0); FUN_18129ddd0(local_188,0,0); local_228[0] = 0x5bd1e995; uVar14 = (uint)lVar15; uVar11 = ((uVar14 & 0x76ff) * (uVar14 & 0x76ff) + 1) % 7 | 0x9d09ad3d; lVar8 = 0x20 - ((longlong)(((int)(-uVar11 | uVar11) >> 0x1f) * -0x85e4) ^ 0x85c0U); uVar25 = uVar14 & 0x1ff; uVar11 = uVar14 & 0x3bf; iVar19 = (uVar11 + 2) * (uVar11 + 1) * uVar11; iVar20 = (uVar25 + 2) * (uVar25 + 1) * uVar25; uVar23 = 0x2cb6L >> (((byte)(((iVar19 >> 1) - (iVar19 >> 3)) + iVar19 * 0x55555555 >> 0x1e) | (char)iVar20 + (char)((ulonglong)((longlong)iVar20 * 0x55555556) >> 0x20) * -3) & 0x3f); local_220[1] = (undefined1 *)uVar23; LAB_18153a871: uVar11 = uVar27 & 0x6f; uVar25 = (((uVar27 & 0xcff) - 1) * (uVar27 & 0xcff) - 1 & 1) - (uVar11 * uVar11 * (uVar11 + 1) * (uVar11 + 1) & 0x80000003); lVar8 = lVar8 + (0x54 - (((int)(-uVar25 | uVar25) >> 0x1f) * 0x10a & 0x2ce6 ^ uVar23)); uVar28 = (uint)lVar8; iVar19 = (uVar28 & 0x14ff) * (uVar28 & 0x14ff) + 1; uVar11 = (iVar19 >> 4) + (iVar19 >> 1) + iVar19 * 0x24924924 >> 0x1d; if (((int)(uVar11 - 7) >> 0x1f & uVar11 & 0xc40) == 0) { uVar6 = uVar27 & 0x3f | 0x21; uVar11 = uVar28 & 0x7f | 0x5d; uVar11 = ((uint)(uVar6 * uVar6 * 0xa4ed == uVar11 * uVar11 * 0xc86b) << ((byte)lVar15 & 0x1f)) + (uVar14 ^ 0xb20e); } else { uVar11 = uVar14 ^ 0xb20e; } uVar4 = uVar14 & 7 | 3; uVar6 = 0xbd1; if ((uVar27 & 0xac) == 0) { uVar25 = uVar28 & 0x34ff; uVar5 = uVar28 & 0x1f | 0x24; uVar6 = uVar27 & 0x3f | 0x44; bVar30 = uVar5 * uVar5 * 0xa05b == uVar6 * uVar6 * 0xc95; uVar6 = (uint)bVar30; uVar5 = (int)(uVar28 ^ 0x8000 | 0x667f) >> (((char)uVar25 + '\x01') * (char)uVar25 & 1U) + bVar30; } else { uVar5 = uVar28 ^ 0x8000 | 0x667f; } uVar11 = (uVar4 * uVar4 * 0xcedd == 0x3cee651) + 0x1628 ^ uVar11; puVar9 = (undefined4 *)(ulonglong)uVar11; if (uVar11 == ((uVar28 ^ 0xa426) & uVar5)) { *(uint *)(puVar16 + 0xd) = uVar27; puVar16[-1] = pIVar26; puVar16[-2] = lVar8; puVar16[-3] = register0x00000020; puVar16[-4] = &DAT_18153adf3; puVar16[-5] = &LAB_1814e7fbe; puVar16[-6] = &DAT_18152831a; puVar16[-7] = &DAT_18159c0ed; puVar16[-8] = &LAB_1814fd9f5; puVar16[-9] = &LAB_1814fe982; puVar16[-10] = &LAB_181507b32; puVar16[-0xb] = &LAB_181529965; puVar16[-0xc] = &LAB_1814e891a; puVar16[-0xd] = &LAB_18151c2fb; FUN_18158a3a2(puVar16 + 0xd,uVar6,uVar25); return; } puVar18 = (undefined4 *)(local_158 + lVar8); if ((pIVar26 != (IMAGE_DOS_HEADER *)0x0) && (lVar12._0_1_ = pIVar26->e_magic[0], lVar12._1_1_ = pIVar26->e_magic[1], lVar12._2_2_ = pIVar26->e_cblp, lVar12._4_2_ = pIVar26->e_cp, lVar12._6_2_ = pIVar26->e_crlc, -1 < lVar12)) { puVar16[9] = 0x2621fc0; lVar13 = (longlong)&DAT_182621fc0 + -puVar16[9]; pIVar24 = pIVar26; do { puVar9 = (undefined4 *)(-puVar16[9] + 0x182621fc8 + lVar12); if (puVar18 < puVar9) { pIVar26 = pIVar24; if (-1 < lVar12) { plVar21 = (longlong *)(lVar13 + lVar12); plVar1 = (longlong *)(puVar18 + 1); if (plVar21 < plVar1) { local_b0[0] = *puVar18; lVar10 = lVar13 - (longlong)puVar18; goto LAB_18153aab0; } } break; } pIVar26 = (IMAGE_DOS_HEADER *)&pIVar24->e_cparhdr; lVar12._0_2_ = pIVar24->e_cparhdr; lVar12._2_2_ = pIVar24->e_minalloc; lVar12._4_2_ = pIVar24->e_maxalloc; lVar12._6_2_ = pIVar24->e_ss; pIVar24 = pIVar26; } while (-1 < lVar12); } goto LAB_18153aae0; while (plVar21 = (longlong *)(lVar13 + lVar12), plVar21 < plVar1) { LAB_18153aab0: puVar9 = (undefined4 *)(*plVar21 - lVar13); *(undefined4 **)((longlong)local_b0 + lVar12 + lVar10) = puVar9; pIVar24 = (IMAGE_DOS_HEADER *)&pIVar24->e_cparhdr; lVar12 = *(longlong *)pIVar24; puVar18 = local_b0; if (lVar12 < 0) break; } LAB_18153aae0: do { puVar22 = (undefined4 *)((longlong)puVar16 + 100); uVar23 = 0xf430; puVar16[-1] = puVar18; puVar3 = puVar16 + -1; if (((((ulonglong)puVar9 & 0xc3) != 0) && (puVar3 = puVar16 + -1, ((ulonglong)puVar9 & 0xc3) != 0)) && (puVar3 = puVar16 + -1, ((ulonglong)puVar9 & 0xc3) != 0)) { puVar3 = puVar16 + -1; } do { do { puVar17 = puVar3; puVar3 = puVar17; } while ((uVar23 & 0xc300) == 0); puVar17[-1] = 0x18153ab7f; uVar7 = FUN_181533845(); *puVar22 = uVar7; puVar16 = puVar17 + 1; puVar3 = puVar16; } while ((uVar23 & 0xc300) == 0); puVar9 = (undefined4 *)(ulonglong)unaff_retaddr; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } puVar18 = (undefined4 *)*puVar17; } while (uVar11 != 0); iVar19 = *(int *)(puVar17 + 9); uVar11 = ((uint)(*(int *)((longlong)puVar17 + 0x6c) * iVar19) >> 0x18 ^ *(int *)((longlong)puVar17 + 0x6c) * iVar19) * iVar19; *(uint *)((longlong)puVar17 + 0x6c) = uVar11; uVar27 = uVar27 * iVar19 ^ uVar11; do { uVar23 = 0xf430; *puVar17 = 0x18153ac0a; FUN_18153b456(); uVar29 = -lVar8; if ((uVar23 & 0xdf00) != 0) { uVar29 = ~uVar29; } lVar8 = uVar29 + 1; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar23 = puVar17[0xb]; goto LAB_18153a871; } ############ FUN_ 181a3be1a size=41 ############ void Unwind_181a3be1a(undefined8 param_1,longlong param_2) { if ((*(uint *)(param_2 + 0x40) & 1) != 0) { *(uint *)(param_2 + 0x40) = *(uint *)(param_2 + 0x40) & 0xfffffffe; FUN_18129e330(*(undefined8 *)(param_2 + 0xa8)); } return; } ############ FUN_ 181a3be5f size=41 ############ void Unwind_181a3be5f(undefined8 param_1,longlong param_2) { if ((*(uint *)(param_2 + 0x40) & 1) != 0) { *(uint *)(param_2 + 0x40) = *(uint *)(param_2 + 0x40) & 0xfffffffe; FUN_18129e330(*(undefined8 *)(param_2 + 0xa8)); } return; } ############ FUN_ 181a3c057 size=41 ############ void Unwind_181a3c057(undefined8 param_1,longlong param_2) { if ((*(uint *)(param_2 + 0x40) & 1) != 0) { *(uint *)(param_2 + 0x40) = *(uint *)(param_2 + 0x40) & 0xfffffffe; FUN_18129e330(*(undefined8 *)(param_2 + 0xa8)); } return; } ############ FUN_ 181a3c09c size=41 ############ void Unwind_181a3c09c(undefined8 param_1,longlong param_2) { if ((*(uint *)(param_2 + 0x40) & 1) != 0) { *(uint *)(param_2 + 0x40) = *(uint *)(param_2 + 0x40) & 0xfffffffe; FUN_18129e330(*(undefined8 *)(param_2 + 0xa8)); } return; } ############ FUN_ 181a3c543 size=41 ############ void Unwind_181a3c543(undefined8 param_1,longlong param_2) { if ((*(uint *)(param_2 + 0x40) & 1) != 0) { *(uint *)(param_2 + 0x40) = *(uint *)(param_2 + 0x40) & 0xfffffffe; FUN_18129e330(*(undefined8 *)(param_2 + 0xa0)); } return; } ############ FUN_ 181a3e03c size=41 ############ void Unwind_181a3e03c(undefined8 param_1,longlong param_2) { if ((*(uint *)(param_2 + 0x78) & 1) != 0) { *(uint *)(param_2 + 0x78) = *(uint *)(param_2 + 0x78) & 0xfffffffe; FUN_18129e330(*(undefined8 *)(param_2 + 0x168)); } return; } ############ FUN_ 181a3e292 size=41 ############ void Unwind_181a3e292(undefined8 param_1,longlong param_2) { if ((*(uint *)(param_2 + 0x30) & 1) != 0) { *(uint *)(param_2 + 0x30) = *(uint *)(param_2 + 0x30) & 0xfffffffe; FUN_18129e330(*(undefined8 *)(param_2 + 0xa8)); } return; } ############ FUN_ 181a38286 size=12 ############ void Unwind_181a38286(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x40); return; } ############ FUN_ 181a3829e size=12 ############ void Unwind_181a3829e(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x70); return; } ############ FUN_ 181a382aa size=12 ############ void Unwind_181a382aa(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x38); return; } ############ FUN_ 181a38322 size=12 ############ void Unwind_181a38322(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x40); return; } ############ FUN_ 181a38536 size=12 ############ void Unwind_181a38536(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xb0); return; } ############ FUN_ 181a38587 size=12 ############ void Unwind_181a38587(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a389d9 size=12 ############ void Unwind_181a389d9(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x40); return; } ############ FUN_ 181a389e5 size=12 ############ void Unwind_181a389e5(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a38a25 size=12 ############ void Unwind_181a38a25(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x68); return; } ############ FUN_ 181a38a31 size=12 ############ void Unwind_181a38a31(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x68); return; } ############ FUN_ 181a38a3d size=12 ############ void Unwind_181a38a3d(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a38a49 size=12 ############ void Unwind_181a38a49(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a38aba size=12 ############ void Unwind_181a38aba(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x40); return; } ############ FUN_ 181a38ac6 size=12 ############ void Unwind_181a38ac6(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a38af6 size=12 ############ void Unwind_181a38af6(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x90); return; } ############ FUN_ 181a38b02 size=12 ############ void Unwind_181a38b02(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x80); return; } ############ FUN_ 181a38b0e size=12 ############ void Unwind_181a38b0e(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x40); return; } ############ FUN_ 181a38b1a size=12 ############ void Unwind_181a38b1a(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a38b32 size=12 ############ void Unwind_181a38b32(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3bcdb size=12 ############ void Unwind_181a3bcdb(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xa0); return; } ############ FUN_ 181a3bcff size=12 ############ void Unwind_181a3bcff(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xa0); return; } ############ FUN_ 181a3bd0b size=12 ############ void Unwind_181a3bd0b(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x78); return; } ############ FUN_ 181a3bd17 size=12 ############ void Unwind_181a3bd17(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xa8); return; } ############ FUN_ 181a3bd23 size=12 ############ void Unwind_181a3bd23(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x80); return; } ############ FUN_ 181a3bd3b size=12 ############ void Unwind_181a3bd3b(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x68); return; } ############ FUN_ 181a3bd77 size=12 ############ void Unwind_181a3bd77(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x148); return; } ############ FUN_ 181a3bd8f size=12 ############ void Unwind_181a3bd8f(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x88); return; } ############ FUN_ 181a3bdf6 size=12 ############ void Unwind_181a3bdf6(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3bea4 size=12 ############ void Unwind_181a3bea4(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xf8); return; } ############ FUN_ 181a3beb0 size=12 ############ void Unwind_181a3beb0(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xd0); return; } ############ FUN_ 181a3bec8 size=12 ############ void Unwind_181a3bec8(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x140); return; } ############ FUN_ 181a3bed4 size=12 ############ void Unwind_181a3bed4(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3bf04 size=12 ############ void Unwind_181a3bf04(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a3bf40 size=12 ############ void Unwind_181a3bf40(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a3bf4c size=12 ############ void Unwind_181a3bf4c(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x80); return; } ############ FUN_ 181a3bf64 size=12 ############ void Unwind_181a3bf64(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x48); return; } ############ FUN_ 181a3c002 size=12 ############ void Unwind_181a3c002(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x70); return; } ############ FUN_ 181a3c0e1 size=12 ############ void Unwind_181a3c0e1(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x48); return; } ############ FUN_ 181a3c17f size=12 ############ void Unwind_181a3c17f(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x70); return; } ############ FUN_ 181a3c1d4 size=12 ############ void Unwind_181a3c1d4(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x70); return; } ############ FUN_ 181a3c1ec size=12 ############ void Unwind_181a3c1ec(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xb0); return; } ############ FUN_ 181a3c210 size=12 ############ void Unwind_181a3c210(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 200); return; } ############ FUN_ 181a3c228 size=12 ############ void Unwind_181a3c228(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a3c234 size=12 ############ void Unwind_181a3c234(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3c288 size=12 ############ void Unwind_181a3c288(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x78); return; } ############ FUN_ 181a3c2ea size=12 ############ void Unwind_181a3c2ea(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x78); return; } ############ FUN_ 181a3c2f6 size=12 ############ void Unwind_181a3c2f6(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x68); return; } ############ FUN_ 181a3c48d size=12 ############ void Unwind_181a3c48d(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x20); return; } ############ FUN_ 181a3c4bf size=12 ############ void Unwind_181a3c4bf(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a3c4cb size=12 ############ void Unwind_181a3c4cb(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x20); return; } ############ FUN_ 181a3c4d7 size=12 ############ void Unwind_181a3c4d7(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xb0); return; } ############ FUN_ 181a3c4e3 size=12 ############ void Unwind_181a3c4e3(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3c4ef size=12 ############ void Unwind_181a3c4ef(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x78); return; } ############ FUN_ 181a3c537 size=12 ############ void Unwind_181a3c537(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x80); return; } ############ FUN_ 181a3c5fb size=12 ############ void Unwind_181a3c5fb(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3c6a8 size=12 ############ void Unwind_181a3c6a8(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x48); return; } ############ FUN_ 181a3c6cc size=12 ############ void Unwind_181a3c6cc(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a3c809 size=12 ############ void Unwind_181a3c809(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3c851 size=12 ############ void Unwind_181a3c851(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x58); return; } ############ FUN_ 181a3c869 size=12 ############ void Unwind_181a3c869(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x40); return; } ############ FUN_ 181a3c8b5 size=12 ############ void Unwind_181a3c8b5(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x68); return; } ############ FUN_ 181a3ca51 size=12 ############ void Unwind_181a3ca51(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3ca5d size=12 ############ void Unwind_181a3ca5d(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3ca69 size=12 ############ void Unwind_181a3ca69(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x88); return; } ############ FUN_ 181a3ca75 size=12 ############ void Unwind_181a3ca75(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x88); return; } ############ FUN_ 181a3cabe size=12 ############ void Unwind_181a3cabe(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xb0); return; } ############ FUN_ 181a3cba3 size=12 ############ void Unwind_181a3cba3(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x88); return; } ############ FUN_ 181a3cc1a size=12 ############ void Unwind_181a3cc1a(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x120); return; } ############ FUN_ 181a3cc32 size=12 ############ void Unwind_181a3cc32(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x80); return; } ############ FUN_ 181a3cc56 size=12 ############ void Unwind_181a3cc56(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x20); return; } ############ FUN_ 181a3cc6e size=12 ############ void Unwind_181a3cc6e(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x70); return; } ############ FUN_ 181a3cc7a size=12 ############ void Unwind_181a3cc7a(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xe8); return; } ############ FUN_ 181a3cc86 size=12 ############ void Unwind_181a3cc86(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xc0); return; } ############ FUN_ 181a3ccc2 size=12 ############ void Unwind_181a3ccc2(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x20); return; } ############ FUN_ 181a3ccce size=12 ############ void Unwind_181a3ccce(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x88); return; } ############ FUN_ 181a3ccda size=12 ############ void Unwind_181a3ccda(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3cd62 size=12 ############ void Unwind_181a3cd62(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a3cdbb size=12 ############ void Unwind_181a3cdbb(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a3d068 size=12 ############ void Unwind_181a3d068(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x48); return; } ############ FUN_ 181a3d094 size=12 ############ void Unwind_181a3d094(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x70); return; } ############ FUN_ 181a3e065 size=12 ############ void Unwind_181a3e065(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x80); return; } ############ FUN_ 181a3e188 size=19 ############ void Unwind_181a3e188(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x40) + 0xe0); return; } ############ FUN_ 181a3e19b size=19 ############ void Unwind_181a3e19b(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x40) + 0x108); return; } ############ FUN_ 181a3e1c1 size=12 ############ void Unwind_181a3e1c1(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x80); return; } ############ FUN_ 181a3e32f size=12 ############ void Unwind_181a3e32f(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x40); return; } ############ FUN_ 181a3e53e size=12 ############ void Unwind_181a3e53e(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x40); return; } ############ FUN_ 181a3ee87 size=12 ############ void Unwind_181a3ee87(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 200); return; } ############ FUN_ 181a3eeab size=12 ############ void Unwind_181a3eeab(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xf0); return; } ############ FUN_ 181a42c2c size=12 ############ void Unwind_181a42c2c(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xa0); return; } ############ FUN_ 181a43b35 size=19 ############ void Unwind_181a43b35(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x110) + 0xf0); return; } ############ FUN_ 181a43c00 size=19 ############ void Unwind_181a43c00(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 400) + 0x450); return; } ############ FUN_ 181a43fc3 size=12 ############ void Unwind_181a43fc3(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xe0); return; } ############ FUN_ 181a4409b size=12 ############ void Unwind_181a4409b(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xd0); return; } ############ FUN_ 181a441bb size=12 ############ void Unwind_181a441bb(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x160); return; } ############ FUN_ 181a44772 size=12 ############ void Unwind_181a44772(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xb0); return; } ############ FUN_ 181a4477e size=12 ############ void Unwind_181a4477e(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x88); return; } ############ FUN_ 181a4478a size=12 ############ void Unwind_181a4478a(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a449fa size=19 ############ void Unwind_181a449fa(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x3e0) + 0x1f8); return; } ############ FUN_ 181a44a0d size=19 ############ void Unwind_181a44a0d(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x3e0) + 0x220); return; } ############ FUN_ 181a44a20 size=19 ############ void Unwind_181a44a20(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x3e0) + 0x248); return; } ############ FUN_ 181a44a33 size=19 ############ void Unwind_181a44a33(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x3e0) + 0x270); return; } ############ FUN_ 181a44a46 size=19 ############ void Unwind_181a44a46(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x3e0) + 0x298); return; } ############ FUN_ 181a44a59 size=19 ############ void Unwind_181a44a59(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x3e0) + 0x2c0); return; } ############ FUN_ 181a45084 size=12 ############ void Unwind_181a45084(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x198); return; } ############ FUN_ 181a4509c size=12 ############ void Unwind_181a4509c(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x1c0); return; } ############ FUN_ 181a450b4 size=12 ############ void Unwind_181a450b4(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x1e8); return; } ############ FUN_ 181a450cc size=12 ############ void Unwind_181a450cc(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x210); return; } ############ FUN_ 181a450e4 size=12 ############ void Unwind_181a450e4(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x238); return; } ############ FUN_ 181a450fc size=12 ############ void Unwind_181a450fc(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x260); return; } ############ FUN_ 181a455f2 size=12 ############ void Unwind_181a455f2(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xe0); return; } ############ FUN_ 181a4576d size=19 ############ void Unwind_181a4576d(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0xe0) + 0x3c0); return; } ############ FUN_ 181a4578c size=12 ############ void Unwind_181a4578c(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x68); return; } ############ FUN_ 181a45798 size=12 ############ void Unwind_181a45798(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x40); return; } ############ FUN_ 181a457fc size=12 ############ void Unwind_181a457fc(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x90); return; } ############ FUN_ 181a4595c size=19 ############ void Unwind_181a4595c(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0xd0) + 0x1f0); return; } ############ FUN_ 181a465a7 size=12 ############ void Unwind_181a465a7(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xd0); return; } ############ FUN_ 181a466e4 size=12 ############ void Unwind_181a466e4(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 400); return; } ############ FUN_ 181a466f0 size=12 ############ void Unwind_181a466f0(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x1b8); return; } ############ FUN_ 181a467ce size=12 ############ void Unwind_181a467ce(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x130); return; } ############ FUN_ 181a467da size=12 ############ void Unwind_181a467da(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x158); return; } ############ FUN_ 181a46a06 size=12 ############ void Unwind_181a46a06(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x1b8); return; } ############ FUN_ 181a46a12 size=12 ############ void Unwind_181a46a12(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x1e0); return; } ############ FUN_ 181a46d4e size=12 ############ void Unwind_181a46d4e(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xe0); return; } ############ FUN_ 181a46d5a size=12 ############ void Unwind_181a46d5a(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xa8); return; } ############ FUN_ 181a46e80 size=12 ############ void Unwind_181a46e80(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x80); return; } ############ FUN_ 181a46e8c size=12 ############ void Unwind_181a46e8c(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x78); return; } ############ FUN_ 181a46e98 size=12 ############ void Unwind_181a46e98(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x78); return; } ############ FUN_ 181a46ea4 size=12 ############ void Unwind_181a46ea4(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x78); return; } ############ FUN_ 181a46eb0 size=12 ############ void Unwind_181a46eb0(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xa0); return; } ############ FUN_ 181a46efa size=12 ############ void Unwind_181a46efa(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xe8); return; } ############ FUN_ 181a46f12 size=12 ############ void Unwind_181a46f12(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x180); return; } ############ FUN_ 181a472fa size=12 ############ void Unwind_181a472fa(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x58); return; } ############ FUN_ 181a47306 size=12 ############ void Unwind_181a47306(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x58); return; } ############ FUN_ 181a47481 size=12 ############ void Unwind_181a47481(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 800); return; } ############ FUN_ 181a4748d size=12 ############ void Unwind_181a4748d(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x2f8); return; } ############ FUN_ 181a47499 size=12 ############ void Unwind_181a47499(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x78); return; } ############ FUN_ 181a474f8 size=12 ############ void Unwind_181a474f8(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x110); return; } ############ FUN_ 181a47504 size=12 ############ void Unwind_181a47504(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x138); return; } ############ FUN_ 181a475a8 size=12 ############ void Unwind_181a475a8(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x80); return; } ############ FUN_ 181a475b4 size=12 ############ void Unwind_181a475b4(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0xc0); return; } ############ FUN_ 181a47672 size=19 ############ void Unwind_181a47672(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x150) + 0x278); return; } ############ FUN_ 181a47685 size=19 ############ void Unwind_181a47685(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x150) + 0x2a0); return; } ############ FUN_ 181a477ff size=12 ############ void Unwind_181a477ff(undefined8 param_1,longlong param_2) { FUN_18129e330(*(undefined8 *)(param_2 + 0x58)); return; } ############ FUN_ 181a47954 size=12 ############ void Unwind_181a47954(undefined8 param_1,longlong param_2) { FUN_18129e330(*(undefined8 *)(param_2 + 0x100)); return; } ############ FUN_ 181a47992 size=19 ############ void Unwind_181a47992(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0xf8) + 0x398); return; } ############ FUN_ 181a498c3 size=19 ############ void Unwind_181a498c3(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x50) + 400); return; } ############ FUN_ 181a49acb size=12 ############ void Unwind_181a49acb(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x200); return; } ############ FUN_ 181a16c10 size=12 ############ void Unwind_181a16c10(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x80); return; } ############ FUN_ 181a16a10 size=12 ############ void Unwind_181a16a10(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x70); return; } ############ FUN_ 181a16a00 size=12 ############ void Unwind_181a16a00(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x50); return; } ############ FUN_ 181a16bf0 size=12 ############ void Unwind_181a16bf0(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x58); return; } ############ FUN_ 181a16660 size=12 ############ void Unwind_181a16660(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x68); return; } ############ FUN_ 181a183a0 size=12 ############ void Unwind_181a183a0(undefined8 param_1,longlong param_2) { FUN_18129e330(param_2 + 0x60); return; } ############ FUN_ 181a1bf90 size=19 ############ void Unwind_181a1bf90(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x70) + 0x98a8); return; } ############ FUN_ 181a1c610 size=19 ############ void Unwind_181a1c610(undefined8 param_1,longlong param_2) { FUN_18129e330(*(longlong *)(param_2 + 0x40) + 0xd0); return; } ############ FUN_ 181a1bfb0 size=49 ############ void Unwind_181a1bfb0(undefined8 param_1,longlong param_2) { _eh_vector_destructor_iterator_ ((void *)(*(longlong *)(param_2 + 0x70) + 0x98d0),0x28,6,FUN_18129e330); return; } ############ FUN_ 1804af790 size=115 ############ void FUN_1804af790(undefined8 *param_1,int param_2) { void *pvVar1; if (*(int *)(param_1 + 1) == param_2) { *(int *)(param_1 + 1) = param_2; return; } pvVar1 = (void *)*param_1; if (0 < param_2) { if (pvVar1 == (void *)0x0) { pvVar1 = malloc((longlong)param_2 * 4); *param_1 = pvVar1; *(int *)(param_1 + 1) = param_2; return; } pvVar1 = realloc(pvVar1,(longlong)param_2 * 4); *param_1 = pvVar1; *(int *)(param_1 + 1) = param_2; return; } /* WARNING: Subroutine does not return */ free(pvVar1); } ############ FUN_ 18129daf0 size=356 ############ void FUN_18129daf0(longlong *param_1,float param_2,float param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6,undefined4 param_7) { float *pfVar1; int iVar2; if (*(int *)((longlong)param_1 + 0xc) == 0) { param_1[2] = 0; param_1[3] = 0; FUN_1804b02a0(param_1,&DAT_1821df344,0,0); } iVar2 = *(int *)((longlong)param_1 + 0xc) + 7; if ((int)param_1[1] < iVar2) { FUN_1804af790(param_1,*(int *)((longlong)param_1 + 0xc) + 0xf + iVar2 / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(undefined4 *)(*param_1 + (longlong)iVar2 * 4) = 0x47c35200; iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(float *)(*param_1 + (longlong)iVar2 * 4) = param_2; iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(float *)(*param_1 + (longlong)iVar2 * 4) = param_3; iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(undefined4 *)(*param_1 + (longlong)iVar2 * 4) = param_4; iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(undefined4 *)(*param_1 + (longlong)iVar2 * 4) = param_5; iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(undefined4 *)(*param_1 + (longlong)iVar2 * 4) = param_6; iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(undefined4 *)(*param_1 + (longlong)iVar2 * 4) = param_7; pfVar1 = (float *)(param_1 + 2); if (*pfVar1 <= param_2) { if (*(float *)((longlong)param_1 + 0x14) <= param_2 && param_2 != *(float *)((longlong)param_1 + 0x14)) { *(float *)((longlong)param_1 + 0x14) = param_2; } } else { *pfVar1 = param_2; } if (*(float *)(param_1 + 3) <= param_3) { if (*(float *)((longlong)param_1 + 0x1c) <= param_3 && param_3 != *(float *)((longlong)param_1 + 0x1c)) { *(float *)((longlong)param_1 + 0x1c) = param_3; } } else { *(float *)(param_1 + 3) = param_3; } FUN_1804b0330(pfVar1,param_4); return; } ############ FUN_ 18129dca0 size=245 ############ void FUN_18129dca0(longlong *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5) { int iVar1; if (*(int *)((longlong)param_1 + 0xc) == 0) { param_1[2] = 0; param_1[3] = 0; FUN_1804b02a0(param_1,&DAT_1821df344,0,0); } iVar1 = *(int *)((longlong)param_1 + 0xc) + 5; if ((int)param_1[1] < iVar1) { FUN_1804af790(param_1,*(int *)((longlong)param_1 + 0xc) + 0xd + iVar1 / 2 & 0xfffffff8); } iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined4 *)(*param_1 + (longlong)iVar1 * 4) = 0x47c35180; iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined4 *)(*param_1 + (longlong)iVar1 * 4) = param_2; iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined4 *)(*param_1 + (longlong)iVar1 * 4) = param_3; iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined4 *)(*param_1 + (longlong)iVar1 * 4) = param_4; iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; *(undefined4 *)(*param_1 + (longlong)iVar1 * 4) = param_5; FUN_1804b0330(param_1 + 2,param_2,param_3,param_4); return; } ############ FUN_ 1804a1a40 size=1190 ############ void FUN_1804a1a40(float *param_1,float param_2,longlong *param_3) { void *_Memory; bool bVar1; ulonglong uVar2; undefined8 uVar3; longlong lVar4; undefined4 uVar5; char cVar6; int iVar7; undefined4 uVar8; int iVar9; ulonglong uVar10; undefined1 uVar11; float fVar12; float fVar13; float fVar14; float fVar15; float fVar16; float fVar17; longlong local_b8; undefined8 uStack_b0; undefined8 local_a8; undefined8 uStack_a0; undefined1 local_98; int local_90; undefined8 local_8c; undefined8 uStack_84; undefined8 local_7c; longlong *local_70; longlong local_68; if (*param_1 != param_2) { fVar12 = param_1[8] * param_2 + DAT_1824c3d8c; fVar15 = param_1[7]; *param_1 = param_2; local_b8 = CONCAT44(local_b8._4_4_,fVar15); fVar13 = floorf(fVar12); fVar14 = floorf(fVar15 * param_2 + DAT_1824c3d54); fVar14 = fVar14 / param_2; fVar12 = floorf(param_1[6] * param_2 + DAT_1824c3d8c); fVar16 = (fVar14 - fVar12 / param_2) / (fVar15 - param_1[6]); fVar12 = DAT_1824c3e58; if ((DAT_1824c3e58 <= fVar16) && (fVar12 = DAT_1824c3ee0, fVar16 <= DAT_1824c3ee0)) { fVar12 = fVar16; } fVar17 = (fVar13 / param_2 - fVar14) / (param_1[8] - fVar15); fVar16 = DAT_1824c3e58; if ((DAT_1824c3e58 <= fVar17) && (fVar16 = DAT_1824c3ee0, fVar17 <= DAT_1824c3ee0)) { fVar16 = fVar17; } param_1[1] = (float)local_b8; param_1[2] = fVar12; param_1[3] = fVar14 - fVar12 * fVar15; param_1[4] = fVar16; param_1[5] = fVar13 / param_2 - fVar16 * param_1[8]; } fVar15 = DAT_1824c42d0 / param_2 + param_1[6]; if (param_1[8] <= fVar15 && fVar15 != param_1[8]) { return; } local_68 = *param_3; uVar10 = 0; local_b8 = 0; uVar11 = 1; uStack_b0 = 0; local_a8 = 0; uStack_a0 = 0; local_98 = 1; local_90 = 0; local_8c = 0; uStack_84 = 0; local_7c = 0; local_70 = param_3; cVar6 = FUN_181299d60(&local_90); fVar15 = DAT_1824c460c; uVar8 = (undefined4)uVar10; lVar4 = local_a8; uVar2 = uStack_a0; uVar3 = local_7c; do { local_a8 = lVar4; uStack_a0 = uVar2; local_7c = uVar3; if (cVar6 == '\0') { _Memory = (void *)*param_3; *param_3 = local_b8; *(int *)(param_3 + 1) = (int)uStack_b0; *(undefined4 *)((longlong)param_3 + 0xc) = uVar8; param_3[2] = lVar4; param_3[3] = uVar2; *(undefined1 *)(param_3 + 4) = uVar11; /* WARNING: Subroutine does not return */ free(_Memory); } iVar9 = (int)uVar10; local_8c._4_4_ = (float)((ulonglong)local_8c >> 0x20); if (local_90 == 0) { if (param_1[1] <= local_8c._4_4_) { fVar12 = local_8c._4_4_ * param_1[4] + param_1[5]; } else { fVar12 = local_8c._4_4_ * param_1[2] + param_1[3]; } if (iVar9 == 0) { local_a8 = CONCAT44((float)local_8c,(float)local_8c); uStack_a0 = (ulonglong)(uint)fVar12; LAB_1804a1e77: uStack_a0 = CONCAT44(fVar12,(float)uStack_a0); } else { local_a8._0_4_ = (float)lVar4; local_a8._4_4_ = (float)((ulonglong)lVar4 >> 0x20); if ((float)local_a8 <= (float)local_8c) { if (local_a8._4_4_ < (float)local_8c) { local_a8 = CONCAT44((float)local_8c,(float)local_a8); lVar4 = local_a8; } } else { local_a8 = CONCAT44(local_a8._4_4_,(float)local_8c); lVar4 = local_a8; } local_a8 = lVar4; uStack_a0._0_4_ = (float)uVar2; uStack_a0._4_4_ = (float)(uVar2 >> 0x20); if ((float)uStack_a0 <= fVar12) { bVar1 = uStack_a0._4_4_ < fVar12; if (bVar1) goto LAB_1804a1e77; } else { uStack_a0 = CONCAT44(uStack_a0._4_4_,fVar12); } } FUN_1804b02a0(&local_b8,&DAT_1821df344); LAB_1804a1e8c: uVar10 = uStack_b0 >> 0x20; } else { if (local_90 == 1) { if (param_1[1] <= local_8c._4_4_) { fVar13 = local_8c._4_4_ * param_1[4]; fVar12 = (float)local_8c; FUN_18129ddd0(&local_b8,fVar12,fVar13 + param_1[5]); } else { fVar13 = local_8c._4_4_ * param_1[2]; fVar12 = (float)local_8c; FUN_18129ddd0(&local_b8,fVar12,fVar13 + param_1[3]); } goto LAB_1804a1e8c; } uStack_84._4_4_ = (float)((ulonglong)uStack_84 >> 0x20); if (local_90 == 2) { if (param_1[1] <= uStack_84._4_4_) { fVar12 = uStack_84._4_4_ * param_1[4] + param_1[5]; } else { fVar12 = uStack_84._4_4_ * param_1[2] + param_1[3]; } if (param_1[1] <= local_8c._4_4_) { fVar13 = local_8c._4_4_ * param_1[4] + param_1[5]; } else { fVar13 = local_8c._4_4_ * param_1[2] + param_1[3]; } fVar14 = (float)local_8c; uVar8 = (undefined4)uStack_84; FUN_18129dca0(&local_b8,fVar14,fVar13,uVar8,fVar12); goto LAB_1804a1e8c; } if (local_90 == 3) { fVar12 = param_1[1]; local_7c._4_4_ = (float)((ulonglong)uVar3 >> 0x20); if (fVar12 <= local_7c._4_4_) { fVar13 = local_7c._4_4_ * param_1[4] + param_1[5]; } else { fVar13 = local_7c._4_4_ * param_1[2] + param_1[3]; } if (fVar12 <= uStack_84._4_4_) { fVar14 = uStack_84._4_4_ * param_1[4] + param_1[5]; } else { fVar14 = uStack_84._4_4_ * param_1[2] + param_1[3]; } if (fVar12 <= local_8c._4_4_) { fVar12 = local_8c._4_4_ * param_1[4] + param_1[5]; } else { fVar12 = local_8c._4_4_ * param_1[2] + param_1[3]; } local_7c._0_4_ = (undefined4)uVar3; fVar16 = (float)local_8c; uVar8 = (undefined4)uStack_84; uVar5 = (undefined4)local_7c; FUN_18129daf0(&local_b8,fVar16,fVar12,uVar8,fVar14,uVar5,fVar13); goto LAB_1804a1e8c; } if (((local_90 == 4) && (iVar9 != 0)) && ((iVar9 < 1 || (*(float *)(local_b8 + (longlong)(iVar9 + -1) * 4) != fVar15)))) { iVar7 = iVar9 + 1; if ((int)uStack_b0 < iVar7) { if (iVar7 < 0) { iVar7 = iVar9 + 2; } FUN_1804af790(&local_b8,iVar9 + 9 + (iVar7 >> 1) & 0xfffffff8); iVar9 = uStack_b0._4_4_; } uVar10 = (ulonglong)(iVar9 + 1U); uStack_b0 = CONCAT44(iVar9 + 1U,(int)uStack_b0); *(undefined4 *)(local_b8 + (longlong)iVar9 * 4) = 0x47c35280; } } cVar6 = FUN_181299d60(&local_90); uVar8 = (undefined4)uVar10; uVar11 = local_98; lVar4 = local_a8; uVar2 = uStack_a0; uVar3 = local_7c; } while( true ); } ############ FUN_ 1804a5ff0 size=833 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804a5ff0(longlong param_1,UINT param_2,longlong *param_3) { float fVar1; float fVar2; DWORD cjBuffer; int iVar3; uint *pvBuffer; uint uVar4; int iVar5; short *psVar6; uint *puVar7; uint *puVar8; float fVar9; float fVar10; float fVar11; float fVar12; undefined1 auStackY_d8 [32]; _GLYPHMETRICS local_98; ulonglong local_80; local_80 = DAT_182615970 ^ (ulonglong)auStackY_d8; if ((int)param_2 < 0) { param_2 = *(UINT *)(param_1 + 0xc0); } cjBuffer = GetGlyphOutlineW(*(HDC *)(param_1 + 0x68),param_2,0x82,&local_98,0,(LPVOID)0x0, (MAT2 *)&DAT_1821e1368); if ((int)cjBuffer < 1) { } pvBuffer = malloc((longlong)(int)cjBuffer); GetGlyphOutlineW(*(HDC *)(param_1 + 0x68),param_2,0x82,&local_98,cjBuffer,pvBuffer, (MAT2 *)&DAT_1821e1368); fVar2 = DAT_1824c460c; fVar1 = DAT_1824c3d8c; fVar11 = DAT_1824c3ea4 / (float)*(int *)(param_1 + 0x70); fVar12 = (float)((uint)fVar11 ^ DAT_1824c4f30); puVar7 = pvBuffer; do { if ((uint *)((longlong)(int)cjBuffer + (longlong)pvBuffer) <= puVar7) { /* WARNING: Subroutine does not return */ free(pvBuffer); } fVar10 = (float)(int)*(short *)((longlong)puVar7 + 0xe) * fVar12; fVar9 = (float)(int)*(short *)((longlong)puVar7 + 10) * fVar11; if (*(int *)((longlong)param_3 + 0xc) == 0) { *(float *)((longlong)param_3 + 0x14) = fVar9; *(float *)(param_3 + 2) = fVar9; *(float *)(param_3 + 3) = fVar10; LAB_1804a6172: *(float *)((longlong)param_3 + 0x1c) = fVar10; } else { if (*(float *)(param_3 + 2) <= fVar9) { if (*(float *)((longlong)param_3 + 0x14) <= fVar9 && fVar9 != *(float *)((longlong)param_3 + 0x14)) { *(float *)((longlong)param_3 + 0x14) = fVar9; } } else { *(float *)(param_3 + 2) = fVar9; } if (*(float *)(param_3 + 3) <= fVar10) { if (*(float *)((longlong)param_3 + 0x1c) <= fVar10 && fVar10 != *(float *)((longlong)param_3 + 0x1c)) goto LAB_1804a6172; } else { *(float *)(param_3 + 3) = fVar10; } } FUN_1804b02a0(param_3,&DAT_1821df344); puVar8 = (uint *)((ulonglong)*puVar7 + (longlong)puVar7); for (puVar7 = puVar7 + 4; puVar7 < puVar8; puVar7 = puVar7 + (ulonglong)*(ushort *)((longlong)puVar7 + 2) * 2 + 1) { if ((short)*puVar7 == 1) { if (*(short *)((longlong)puVar7 + 2) != 0) { psVar6 = (short *)((longlong)puVar7 + 6); iVar5 = 0; do { FUN_18129ddd0(param_3,(float)(int)*psVar6 * fVar11,(float)(int)psVar6[2] * fVar12); psVar6 = psVar6 + 4; iVar5 = iVar5 + 1; } while (iVar5 < (int)(uint)*(ushort *)((longlong)puVar7 + 2)); } } else if (((short)*puVar7 == 2) && (uVar4 = (uint)*(ushort *)((longlong)puVar7 + 2), 0 < (int)(*(ushort *)((longlong)puVar7 + 2) - 1))) { psVar6 = (short *)((longlong)puVar7 + 0x12); iVar5 = 0; do { fVar9 = (float)(int)psVar6[-2] * fVar11; if (iVar5 < (int)(uVar4 - 2)) { fVar9 = (fVar9 + (float)(int)psVar6[-6] * fVar11) * fVar1; } FUN_18129dca0(param_3,(float)(int)psVar6[-6] * fVar11,(float)(int)psVar6[-4] * fVar12, fVar9); uVar4 = (uint)*(ushort *)((longlong)puVar7 + 2); iVar5 = iVar5 + 1; psVar6 = psVar6 + 4; } while (iVar5 < (int)(uVar4 - 1)); } } iVar5 = *(int *)((longlong)param_3 + 0xc); if ((iVar5 != 0) && ((iVar5 < 1 || (*(float *)(*param_3 + (longlong)(iVar5 + -1) * 4) != fVar2)))) { iVar3 = iVar5 + 1; if ((int)param_3[1] < iVar3) { if (iVar3 < 0) { iVar3 = iVar5 + 2; } FUN_1804af790(param_3,iVar5 + 9 + (iVar3 >> 1) & 0xfffffff8); } iVar5 = *(int *)((longlong)param_3 + 0xc); *(int *)((longlong)param_3 + 0xc) = iVar5 + 1; *(undefined4 *)(*param_3 + (longlong)iVar5 * 4) = 0x47c35280; } } while( true ); } ############ FUN_ 181297340 size=1170 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181297340(float *param_1,undefined8 param_2,undefined8 *param_3,longlong param_4, int param_5,undefined4 *param_6,float param_7) { bool bVar1; ulonglong uVar2; undefined8 uVar3; char cVar4; int iVar5; char cVar6; int iVar7; byte bVar8; float fVar9; float fVar10; float fVar11; float fVar12; float _X; float _Y; float fVar13; float fVar14; float fVar15; undefined8 local_168; undefined8 local_160; undefined8 local_158; undefined8 uStack_150; undefined1 local_148; undefined8 local_140; undefined8 uStack_138; ulonglong local_130; float local_128; float local_124; undefined8 local_120; char local_118; undefined4 local_114; undefined8 *local_110; undefined4 local_108; undefined4 uStack_104; undefined4 uStack_100; undefined4 uStack_fc; undefined8 local_f8; undefined8 local_f0; float local_e8; undefined8 local_e4; undefined1 local_dc; void *local_d8; void *local_d0; undefined8 local_c8; if (*param_1 <= 0.0) { return; } iVar7 = 0; local_f8 = *(undefined8 *)(param_6 + 4); local_158 = 0; uStack_150 = 0; local_168 = 0; local_108 = *param_6; uStack_104 = param_6[1]; uStack_100 = param_6[2]; uStack_fc = param_6[3]; local_160 = 0; local_148 = 1; local_f0 = *param_3; local_120 = 0; local_118 = '\0'; local_114 = 0xffffffff; local_e4 = 0; local_e8 = (DAT_1824c3db8 / param_7) * (DAT_1824c3db8 / param_7); local_110 = param_3; local_dc = FUN_1812a0b10(); local_d8 = malloc(0x80); cVar6 = '\x01'; fVar15 = 0.0; fVar13 = 0.0; fVar14 = 0.0; local_c8 = 0x20; _X = 0.0; _Y = 0.0; fVar11 = local_124; fVar12 = local_128; local_d0 = local_d8; LAB_181297470: do { do { iVar5 = iVar7 % param_5; bVar8 = ~(byte)iVar7 & 1; iVar7 = iVar7 + 1; fVar10 = *(float *)(param_4 + (longlong)iVar5 * 4); } while (fVar10 <= 0.0); fVar15 = fVar15 + fVar10; uVar3 = local_158; uVar2 = uStack_150; for (; local_158 = uVar3, uStack_150 = uVar2, fVar14 < fVar15; fVar14 = fVar14 + fVar13) { cVar4 = FUN_1812992b0(&local_128); fVar11 = local_124; fVar12 = local_128; if (cVar4 == '\0') { if ((bVar8 != 0) && (cVar6 == '\0')) { FUN_18129ddd0(&local_168,local_120 & 0xffffffff,local_120._4_4_); } local_140 = _DAT_1824c4780; uStack_138 = _UNK_1824c4788; local_130 = (ulonglong)DAT_1824c3ea4; FUN_181297840(*param_1,param_1[1],param_1[2],param_2,&local_168,&local_140,param_7); /* WARNING: Subroutine does not return */ free(local_d8); } if ((bVar8 == 0) || (cVar6 != '\0')) { if (local_160._4_4_ == 0) { uStack_150 = (ulonglong)(uint)local_124; local_158 = CONCAT44(local_128,local_128); LAB_1812975c6: uStack_150 = CONCAT44(local_124,(float)uStack_150); } else { if ((float)local_158 <= local_128) { if (local_158._4_4_ < local_128) { local_158 = CONCAT44(local_128,(float)local_158); } } else { local_158 = CONCAT44(local_158._4_4_,local_128); } if ((float)uStack_150 <= local_124) { if (uStack_150._4_4_ < local_124) goto LAB_1812975c6; } else { uStack_150 = CONCAT44(uStack_150._4_4_,local_124); } } FUN_1804b02a0(&local_168,&DAT_1821df344,local_128,local_124); } else { if (local_160._4_4_ == 0) { local_158 = 0; uStack_150 = 0; FUN_1804b02a0(&local_168,&DAT_1821df344,0,0); } fVar11 = local_124; fVar12 = local_128; FUN_1804b02a0(&local_168,&DAT_1821dfcb4,local_128,local_124); if ((float)local_158 <= fVar12) { if (local_158._4_4_ < fVar12) { local_158 = CONCAT44(fVar12,(float)local_158); } } else { local_158 = CONCAT44(local_158._4_4_,fVar12); } if ((float)uStack_150 <= fVar11) { if (uStack_150._4_4_ < fVar11) { uStack_150 = CONCAT44(fVar11,(float)uStack_150); } } else { uStack_150 = CONCAT44(uStack_150._4_4_,fVar11); } } _X = (float)local_120 - fVar12; _Y = local_120._4_4_ - fVar11; fVar13 = _hypotf(_X,_Y); cVar6 = local_118; uVar3 = local_158; uVar2 = uStack_150; } fVar10 = (fVar15 - (fVar14 - fVar13)) / fVar13; if (bVar8 == 0) { local_160._4_4_ = (int)((ulonglong)local_160 >> 0x20); fVar9 = fVar10 * _Y + fVar11; fVar10 = fVar10 * _X + fVar12; if (local_160._4_4_ == 0) { local_158 = CONCAT44(fVar10,fVar10); uStack_150 = (ulonglong)(uint)fVar9; LAB_1812976ca: uStack_150 = CONCAT44(fVar9,(float)uStack_150); } else { local_158._0_4_ = (float)uVar3; local_158._4_4_ = (float)((ulonglong)uVar3 >> 0x20); if ((float)local_158 <= fVar10) { if (local_158._4_4_ < fVar10) { local_158 = CONCAT44(fVar10,(float)local_158); uVar3 = local_158; } } else { local_158 = CONCAT44(local_158._4_4_,fVar10); uVar3 = local_158; } local_158 = uVar3; uStack_150._0_4_ = (float)uVar2; uStack_150._4_4_ = (float)(uVar2 >> 0x20); if ((float)uStack_150 <= fVar9) { bVar1 = uStack_150._4_4_ < fVar9; if (bVar1) goto LAB_1812976ca; } else { uStack_150 = CONCAT44(uStack_150._4_4_,fVar9); } } FUN_1804b02a0(&local_168,&DAT_1821df344,fVar10); goto LAB_181297470; } FUN_18129ddd0(&local_168,fVar10 * _X + fVar12,fVar10 * _Y + fVar11); } while( true ); } ############ FUN_ 181297d70 size=1276 ############ void FUN_181297d70(longlong *param_1,longlong *param_2,char param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6,undefined4 param_7) { float fVar1; float fVar2; undefined4 *puVar3; longlong lVar4; int iVar5; int iVar6; longlong lVar7; longlong lVar8; undefined4 uVar9; undefined4 uVar10; undefined4 uVar11; undefined4 uVar12; lVar8 = *param_2; uVar11 = *(undefined4 *)(lVar8 + 0x10); uVar12 = *(undefined4 *)(lVar8 + 0x14); uVar10 = *(undefined4 *)(lVar8 + 0x18); uVar9 = *(undefined4 *)(lVar8 + 0x1c); if (param_3 == '\0') { FUN_18129deb0(param_1,*(undefined4 *)(lVar8 + 0x28),*(undefined4 *)(lVar8 + 0x2c)); FUN_181298750(param_1,param_7,*(undefined4 *)(lVar8 + 0x28),*(undefined4 *)(lVar8 + 0x2c),uVar11 ,uVar12,param_4); } else { FUN_18129deb0(param_1,uVar11,uVar12); } iVar6 = 1; if (1 < *(int *)((longlong)param_2 + 0xc)) { lVar8 = 0x30; do { lVar7 = *param_2; FUN_1812989f0(param_1,param_6,param_5,param_4,uVar11,uVar12,uVar10,uVar9, *(undefined4 *)(lVar8 + 0x10 + lVar7),*(undefined4 *)(lVar8 + 0x14 + lVar7), *(undefined4 *)(lVar8 + 0x18 + lVar7),*(undefined4 *)(lVar8 + 0x1c + lVar7), *(undefined4 *)(lVar8 + lVar7),*(undefined4 *)(lVar8 + 4 + lVar7)); uVar11 = *(undefined4 *)(lVar8 + 0x10 + lVar7); iVar6 = iVar6 + 1; uVar12 = *(undefined4 *)(lVar8 + 0x14 + lVar7); uVar10 = *(undefined4 *)(lVar8 + 0x18 + lVar7); uVar9 = *(undefined4 *)(lVar8 + 0x1c + lVar7); lVar8 = lVar8 + 0x30; } while (iVar6 < *(int *)((longlong)param_2 + 0xc)); } puVar3 = (undefined4 *)*param_2; iVar6 = *(int *)((longlong)param_2 + 0xc) + -1; if (param_3 == '\0') { FUN_18129ddd0(param_1,uVar10,uVar9); FUN_181298750(param_1,param_7,uVar10,uVar9,puVar3[(longlong)iVar6 * 0xc + 8], puVar3[(longlong)iVar6 * 0xc + 9],param_4); goto LAB_18129808c; } FUN_1812989f0(param_1,param_6,param_5,param_4,uVar11,uVar12,uVar10,uVar9,puVar3[4],puVar3[5], puVar3[6],puVar3[7],*puVar3,puVar3[1]); iVar5 = *(int *)((longlong)param_1 + 0xc); if ((iVar5 != 0) && ((iVar5 < 1 || (*(float *)(*param_1 + (longlong)(iVar5 + -1) * 4) != DAT_1824c460c)))) { if ((int)param_1[1] < iVar5 + 1) { FUN_1804af790(param_1,iVar5 + 9 + (iVar5 + 1) / 2 & 0xfffffff8); } iVar5 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar5 + 1; *(undefined4 *)(*param_1 + (longlong)iVar5 * 4) = 0x47c35280; } fVar1 = (float)puVar3[(longlong)iVar6 * 0xc + 9]; fVar2 = (float)puVar3[(longlong)iVar6 * 0xc + 8]; if (*(int *)((longlong)param_1 + 0xc) == 0) { *(float *)((longlong)param_1 + 0x14) = fVar2; *(float *)(param_1 + 2) = fVar2; *(float *)(param_1 + 3) = fVar1; LAB_181298036: *(float *)((longlong)param_1 + 0x1c) = fVar1; } else { if (*(float *)(param_1 + 2) <= fVar2) { if (*(float *)((longlong)param_1 + 0x14) <= fVar2 && fVar2 != *(float *)((longlong)param_1 + 0x14)) { *(float *)((longlong)param_1 + 0x14) = fVar2; } } else { *(float *)(param_1 + 2) = fVar2; } if (fVar1 < *(float *)(param_1 + 3)) { *(float *)(param_1 + 3) = fVar1; FUN_1804b02a0(param_1,&DAT_1821df344); goto LAB_18129808c; } if (*(float *)((longlong)param_1 + 0x1c) <= fVar1 && fVar1 != *(float *)((longlong)param_1 + 0x1c)) goto LAB_181298036; } FUN_1804b02a0(param_1,&DAT_1821df344); LAB_18129808c: uVar11 = puVar3[(longlong)iVar6 * 0xc + 8]; iVar5 = *(int *)((longlong)param_2 + 0xc) + -2; uVar12 = puVar3[(longlong)iVar6 * 0xc + 9]; uVar10 = puVar3[(longlong)iVar6 * 0xc + 10]; uVar9 = puVar3[(longlong)iVar6 * 0xc + 0xb]; lVar8 = (longlong)iVar5; if (-1 < iVar5) { lVar7 = lVar8 * 0x30; do { lVar4 = *param_2; FUN_1812989f0(param_1,param_6,param_5,param_4,uVar11,uVar12,uVar10,uVar9, *(undefined4 *)(lVar4 + 0x20 + lVar7),*(undefined4 *)(lVar4 + 0x24 + lVar7), *(undefined4 *)(lVar4 + 0x28 + lVar7),*(undefined4 *)(lVar4 + 0x2c + lVar7), *(undefined4 *)(lVar4 + 8 + lVar7),*(undefined4 *)(lVar4 + 0xc + lVar7)); lVar8 = lVar8 + -1; uVar11 = *(undefined4 *)(lVar4 + 0x20 + lVar7); uVar12 = *(undefined4 *)(lVar4 + 0x24 + lVar7); uVar10 = *(undefined4 *)(lVar4 + 0x28 + lVar7); uVar9 = *(undefined4 *)(lVar4 + 0x2c + lVar7); lVar7 = lVar7 + -0x30; } while (-1 < lVar8); } if (param_3 == '\0') { FUN_18129ddd0(param_1,uVar10); } else { FUN_1812989f0(param_1,param_6,param_5,param_4,uVar11,uVar12,uVar10,uVar9, puVar3[(longlong)iVar6 * 0xc + 8],puVar3[(longlong)iVar6 * 0xc + 9], puVar3[(longlong)iVar6 * 0xc + 10],puVar3[(longlong)iVar6 * 0xc + 0xb], puVar3[(longlong)iVar6 * 0xc + 2],puVar3[(longlong)iVar6 * 0xc + 3]); } iVar6 = *(int *)((longlong)param_1 + 0xc); if ((iVar6 != 0) && ((iVar6 < 1 || (*(float *)(*param_1 + (longlong)(iVar6 + -1) * 4) != DAT_1824c460c)))) { if ((int)param_1[1] < iVar6 + 1) { FUN_1804af790(param_1,iVar6 + 9 + (iVar6 + 1) / 2 & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar6 + 1; *(undefined4 *)(*param_1 + (longlong)iVar6 * 4) = 0x47c35280; } return; } ############ FUN_ 1804fea80 size=510 ############ ulonglong FUN_1804fea80(longlong param_1) { undefined8 *puVar1; longlong lVar2; int local_res8; int iStackX_c; undefined8 local_98; undefined8 uStack_90; undefined1 local_88 [16]; void *local_78; undefined8 local_70; float local_68; float local_64; float local_60; float local_5c; undefined1 local_58; lVar2 = *(longlong *)(*(ulonglong *)(param_1 + 0x18) + 0x158); if (lVar2 == 0) { return *(ulonglong *)(param_1 + 0x18) & 0xffffffffffffff00; } uStack_90 = *(undefined8 *)(lVar2 + 0x28); local_98 = 0; for (; lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x18)) { puVar1 = (undefined8 *)FUN_18051e4b0(local_88,lVar2,&local_98); local_98 = *puVar1; uStack_90 = puVar1[1]; } local_res8 = (int)*(undefined8 *)(param_1 + 0x28); if (*(int *)(*(longlong *)(param_1 + 0x18) + 0x20) < (int)local_98) { local_res8 = local_res8 + -2; } else { local_res8 = local_res8 + 2; } iStackX_c = (int)((ulonglong)*(undefined8 *)(param_1 + 0x28) >> 0x20); local_68 = (float)local_res8; local_78 = (void *)0x0; local_70 = 0; local_58 = 1; local_60 = (float)iStackX_c; local_64 = local_68; local_5c = local_60; FUN_1804b02a0(&local_78,&DAT_1821df344); FUN_18129ddd0(&local_78); FUN_18129ddd0(&local_78); if ((local_70._4_4_ != 0) && ((local_70._4_4_ < 1 || (*(float *)((longlong)local_78 + (longlong)(local_70._4_4_ + -1) * 4) != DAT_1824c460c)))) { if ((int)local_70 < local_70._4_4_ + 1) { FUN_1804af790(&local_78,local_70._4_4_ + 9 + (local_70._4_4_ + 1) / 2 & 0xfffffff8); } lVar2 = (longlong)local_70._4_4_; local_70 = CONCAT44(local_70._4_4_ + 1,(int)local_70); *(undefined4 *)((longlong)local_78 + lVar2 * 4) = 0x47c35280; } FUN_18129b1f0(&local_78); local_70 = local_70 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_78); } ############ FUN_ 18058a4c0 size=1310 ############ void FUN_18058a4c0(longlong param_1) { float fVar1; undefined4 uVar2; undefined4 uVar3; longlong *plVar4; void *_Memory; double dVar5; double dVar6; double dVar7; float fVar8; char cVar9; int iVar10; int iVar11; undefined8 *puVar12; undefined8 uVar13; char *pcVar14; int iVar15; int iVar16; int iVar17; undefined8 *puVar18; float *pfVar19; float fVar20; undefined4 uVar21; float fVar22; float fVar23; float fVar24; float fVar25; int local_res8 [2]; int local_res10 [2]; void *local_158; undefined4 local_14c; undefined8 local_130; undefined8 local_128; undefined8 local_120; undefined8 local_118; undefined1 local_110; iVar16 = 0; iVar10 = 0; if (0 < *(int *)(param_1 + 0x9878)) { pcVar14 = (char *)(param_1 + 0x9a02); puVar18 = (undefined8 *)(param_1 + 0x9c8); iVar15 = iVar16; do { if (*pcVar14 != '\0') { plVar4 = *(longlong **)(param_1 + 0x140); local_res10[0] = iVar15; if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } if ((undefined **)*plVar4 == std:: _Func_impl_no_alloc,float_const*___ptr64,int> ::vftable) { plVar4 = (longlong *)plVar4[8]; local_res8[0] = iVar15; if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } uVar13 = (**(code **)(*plVar4 + 0x10))(plVar4,local_res8); *puVar18 = uVar13; } else { uVar13 = (*(code *)((undefined **)*plVar4)[2])(plVar4,local_res10); *puVar18 = uVar13; } } iVar15 = iVar15 + 1; puVar18 = puVar18 + 1; pcVar14 = pcVar14 + 1; } while (iVar15 < *(int *)(param_1 + 0x9878)); } dVar6 = DAT_1824c4140; uVar3 = DAT_1824c3ea4; uVar21 = SUB84(DAT_1824c4140,0); if (0 < *(int *)(param_1 + 0x9878)) { puVar18 = (undefined8 *)(param_1 + 0x9c8); do { plVar4 = *(longlong **)(param_1 + 0x180); if (iVar16 == 0) { local_res8[0] = 0; if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } cVar9 = (**(code **)(*plVar4 + 0x10))(plVar4,local_res8); uVar2 = *(undefined4 *)(param_1 + 0x9890); if (cVar9 == '\0') { uVar13 = *(undefined8 *)(param_1 + 0x9c8); iVar10 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar10 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(uVar13,param_1 + 0x1c8,uVar2); } iVar10 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar10 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(uVar3); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(uVar21,param_1 + 0x1c8,uVar2); } local_res8[0] = iVar16; if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } cVar9 = (**(code **)(*plVar4 + 0x10))(plVar4,local_res8); if (cVar9 == '\0') { uVar3 = *(undefined4 *)(param_1 + 0x9890); uVar13 = *puVar18; iVar10 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar10 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(uVar13,param_1 + 0x1c8,uVar3); } iVar16 = iVar16 + 1; puVar18 = puVar18 + 1; } while (iVar16 < *(int *)(param_1 + 0x9878)); } *(undefined4 *)(param_1 + 0x9a10) = *(undefined4 *)(param_1 + 0x99dc); *(undefined4 *)(param_1 + 0x9a0c) = 0; iVar16 = *(int *)(param_1 + 0x28); iVar17 = *(int *)(param_1 + 0x9894) + -1; iVar15 = *(int *)(param_1 + 0x9890); fVar24 = (float)*(int *)(param_1 + 0x2c); fVar1 = *(float *)(param_1 + 0x9b10); fVar25 = *(float *)(param_1 + 0x9b14) - fVar1; dVar5 = log10((double)*(float *)(param_1 + 0x1c8)); dVar7 = DAT_1824c42b0; iVar11 = (int)((((float)(dVar5 * DAT_1824c42b0) - fVar1) * ((float)iVar17 - 0.0)) / fVar25 + 0.0); if ((-1 < iVar11) && (iVar10 = iVar11, iVar17 < iVar11)) { iVar10 = iVar17; } local_130 = 0; local_128 = 0; local_110 = 1; local_120 = 0; fVar20 = fVar24 - fVar24 * *(float *)(param_1 + 0x19f8 + (longlong)iVar10 * 4); local_118 = CONCAT44(fVar20,fVar20); FUN_1804b02a0(&local_130,&DAT_1821df344,0); fVar8 = DAT_1824c46a8; fVar20 = DAT_1824c3ee0; iVar10 = 1; fVar23 = 0.0; if (1 < *(int *)(param_1 + 0x9890)) { pfVar19 = (float *)(param_1 + 0x1cc); do { fVar23 = fVar23 + (float)((double)iVar16 * (dVar6 / (double)iVar15)); iVar17 = *(int *)(param_1 + 0x9894) + -1; dVar5 = log10((double)*pfVar19); iVar11 = (int)((((float)(dVar5 * dVar7) - fVar1) * ((float)iVar17 - 0.0)) / fVar25 + 0.0); if (iVar11 < 0) { iVar11 = 0; } else if (iVar17 < iVar11) { iVar11 = iVar17; } fVar22 = fVar24 - fVar24 * *(float *)(param_1 + 0x19f8 + (longlong)iVar11 * 4); if (fVar22 == 0.0) { fVar22 = *(float *)(param_1 + 0x99f4) * fVar8; } else if (fVar22 == fVar24) { fVar22 = fVar24 * fVar20; } if (local_128._4_4_ == 0) { local_120 = 0; local_118 = 0; FUN_1804b02a0(&local_130,&DAT_1821df344,0,0); } FUN_1804b02a0(&local_130,&DAT_1821dfcb4,fVar23,fVar22); if ((float)local_120 <= fVar23) { if (local_120._4_4_ < fVar23) { local_120 = CONCAT44(fVar23,(float)local_120); } } else { local_120 = CONCAT44(local_120._4_4_,fVar23); } if ((float)local_118 <= fVar22) { if (local_118._4_4_ < fVar22) { local_118 = CONCAT44(fVar22,(float)local_118); } } else { local_118 = CONCAT44(local_118._4_4_,fVar22); } iVar10 = iVar10 + 1; pfVar19 = pfVar19 + 1; } while (iVar10 < *(int *)(param_1 + 0x9890)); } puVar12 = (undefined8 *)FUN_18129a910(&local_130,&local_158,*(undefined4 *)(param_1 + 0x99f8)); puVar18 = (undefined8 *)(param_1 + 0x98a8); if (puVar18 != puVar12) { uVar13 = *puVar12; *puVar12 = 0; uVar3 = *(undefined4 *)(puVar12 + 1); uVar21 = *(undefined4 *)((longlong)puVar12 + 0xc); puVar12[1] = 0; _Memory = (void *)*puVar18; *puVar18 = uVar13; *(undefined4 *)(param_1 + 0x98b0) = uVar3; *(undefined4 *)(param_1 + 0x98b4) = uVar21; /* WARNING: Subroutine does not return */ free(_Memory); } uVar13 = puVar12[3]; *(undefined8 *)(param_1 + 0x98b8) = puVar12[2]; *(undefined8 *)(param_1 + 0x98c0) = uVar13; *(undefined1 *)(param_1 + 0x98c8) = *(undefined1 *)(puVar12 + 4); local_14c = 0; /* WARNING: Subroutine does not return */ free(local_158); } ############ FUN_ 18129bd50 size=706 ############ void FUN_18129bd50(longlong *param_1,undefined8 *param_2) { float fVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; int iVar8; int iVar9; int iVar10; float *pfVar11; float *pfVar12; float *pfVar13; float *pfVar14; float *pfVar15; float *pfVar16; float *pfVar17; float *pfVar18; float *pfVar19; float *pfVar20; float *pfVar21; float *pfVar22; fVar7 = DAT_1824c460c; fVar6 = DAT_1824c4608; fVar5 = DAT_1824c4604; fVar4 = DAT_1824c4600; fVar3 = DAT_1824c45fc; pfVar13 = (float *)*param_2; iVar9 = 0; if (0 < *(int *)((longlong)param_2 + 0xc)) { pfVar11 = pfVar13 + 1; pfVar15 = pfVar13 + 4; pfVar17 = pfVar13 + 5; pfVar19 = pfVar13 + 2; pfVar21 = pfVar13 + 3; do { fVar1 = *pfVar13; iVar10 = iVar9 + 1; pfVar14 = pfVar13 + 1; pfVar18 = pfVar17 + 1; pfVar16 = pfVar15 + 1; pfVar22 = pfVar21 + 1; pfVar20 = pfVar19 + 1; pfVar12 = pfVar11 + 1; if (fVar1 == fVar4) { fVar1 = *pfVar12; fVar2 = *pfVar14; if (*(int *)((longlong)param_1 + 0xc) == 0) { *(float *)((longlong)param_1 + 0x14) = fVar2; *(float *)(param_1 + 2) = fVar2; *(float *)(param_1 + 3) = fVar1; LAB_18129be60: *(float *)((longlong)param_1 + 0x1c) = fVar1; } else { if (*(float *)(param_1 + 2) <= fVar2) { if (*(float *)((longlong)param_1 + 0x14) <= fVar2 && fVar2 != *(float *)((longlong)param_1 + 0x14)) { *(float *)((longlong)param_1 + 0x14) = fVar2; } } else { *(float *)(param_1 + 2) = fVar2; } if (*(float *)(param_1 + 3) <= fVar1) { if (*(float *)((longlong)param_1 + 0x1c) <= fVar1 && fVar1 != *(float *)((longlong)param_1 + 0x1c)) goto LAB_18129be60; } else { *(float *)(param_1 + 3) = fVar1; } } FUN_1804b02a0(param_1,&DAT_1821df344); LAB_18129be74: pfVar18 = pfVar17 + 3; pfVar16 = pfVar15 + 3; pfVar22 = pfVar21 + 3; pfVar20 = pfVar19 + 3; pfVar12 = pfVar11 + 3; pfVar14 = pfVar13 + 3; iVar9 = iVar9 + 3; } else { if (fVar1 == fVar3) { FUN_18129ddd0(param_1,*pfVar14,*pfVar12); goto LAB_18129be74; } if (fVar1 == fVar5) { FUN_18129dca0(param_1,*pfVar14,*pfVar12,*pfVar20,*pfVar22); pfVar18 = pfVar17 + 5; pfVar16 = pfVar15 + 5; pfVar22 = pfVar21 + 5; pfVar20 = pfVar19 + 5; pfVar12 = pfVar11 + 5; pfVar14 = pfVar13 + 5; iVar9 = iVar9 + 5; } else if (fVar1 == fVar6) { FUN_18129daf0(param_1,*pfVar14,*pfVar12,*pfVar20,*pfVar22,*pfVar16,*pfVar18); pfVar18 = pfVar17 + 7; pfVar16 = pfVar15 + 7; pfVar22 = pfVar21 + 7; pfVar20 = pfVar19 + 7; pfVar12 = pfVar11 + 7; pfVar14 = pfVar13 + 7; iVar9 = iVar9 + 7; } else { iVar9 = iVar10; if (((fVar1 == fVar7) && (iVar10 = *(int *)((longlong)param_1 + 0xc), iVar10 != 0)) && ((iVar10 < 1 || (*(float *)(*param_1 + (longlong)(iVar10 + -1) * 4) != fVar7)))) { iVar8 = iVar10 + 1; if ((int)param_1[1] < iVar8) { if (iVar8 < 0) { iVar8 = iVar10 + 2; } FUN_1804af790(param_1,iVar10 + 9 + (iVar8 >> 1) & 0xfffffff8); } iVar10 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar10 + 1; *(undefined4 *)(*param_1 + (longlong)iVar10 * 4) = 0x47c35280; } } } pfVar11 = pfVar12; pfVar13 = pfVar14; pfVar15 = pfVar16; pfVar17 = pfVar18; pfVar19 = pfVar20; pfVar21 = pfVar22; } while (iVar9 < *(int *)((longlong)param_2 + 0xc)); } return; } ############ FUN_ 181304950 size=1610 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181304950(longlong param_1,undefined8 param_2,undefined8 param_3,float param_4, uint *param_5,float param_6,int param_7) { undefined8 *puVar1; uint uVar2; undefined1 auVar3 [12]; undefined1 auVar4 [12]; uint uVar5; undefined3 uVar6; char cVar7; int iVar8; float *pfVar9; int iVar10; byte bVar11; char cVar12; char cVar13; undefined8 extraout_XMM0_Qb; undefined1 auVar14 [16]; undefined1 auVar15 [16]; double dVar16; float fVar17; float fVar18; float fVar19; float fVar20; float fVar21; undefined4 local_res20; undefined8 local_128; undefined8 uStack_120; undefined8 local_118; undefined8 local_110; undefined8 uStack_108; undefined4 local_100; float local_fc; undefined4 local_f8; float local_f4; undefined1 local_f0; void *local_e8; undefined8 local_e0; float *local_d8; int local_d0; int iStack_cc; float local_c8; float local_c4; float local_c0; float local_bc; undefined1 local_b8; undefined8 local_b0; fVar17 = (float)param_3; local_b0 = 0xfffffffffffffffe; if (param_4 <= param_6) { return; } local_d8 = (float *)0x0; local_d0 = 0; iStack_cc = 0; local_b8 = 1; fVar21 = param_4 * DAT_1824c3d8c; fVar20 = fVar21 + (float)param_2; local_c8 = fVar20; local_c4 = fVar20; local_c0 = fVar17; local_bc = fVar17; FUN_1804b02a0(&local_d8,&DAT_1821df344,fVar20,param_3); fVar19 = param_4 * DAT_1824c3db8 + fVar17; fVar18 = (float)param_2 + param_4; FUN_18129ddd0(&local_d8,fVar18,fVar19); param_4 = fVar17 + param_4; FUN_18129ddd0(&local_d8,fVar18,param_4); FUN_18129ddd0(&local_d8,param_2,param_4); FUN_18129ddd0(&local_d8,param_2,fVar19); if ((iStack_cc != 0) && ((iStack_cc < 1 || (local_d8[iStack_cc + -1] != DAT_1824c460c)))) { if (local_d0 < iStack_cc + 1) { FUN_1804af790(&local_d8,iStack_cc + 9 + (iStack_cc + 1) / 2 & 0xfffffff8); } iStack_cc = 1; *local_d8 = 100005.0; } fVar21 = fVar21 + fVar17; fVar19 = (float)param_7 * DAT_1824c3fa0; fVar18 = cosf(fVar19); uStack_120._4_4_ = sinf(fVar19); local_128._4_4_ = (uint)uStack_120._4_4_ ^ DAT_1824c4f30; uStack_120._0_4_ = (uStack_120._4_4_ * fVar21 - fVar18 * fVar20) + fVar20; local_118 = CONCAT44(fVar21 - (uStack_120._4_4_ * fVar20 + fVar18 * fVar21),fVar18); local_128._0_4_ = fVar18; FUN_18129b680(&local_d8,&local_128); uVar2 = *param_5; dVar16 = (double)((float)(uVar2 >> 0x18) * DAT_1824c3d54) + DAT_1824c4520; bVar11 = 0xff; if (SUB84(dVar16,0) < 0xff) { bVar11 = SUB81(dVar16,0); } local_res20._0_3_ = (undefined3)uVar2; uVar6 = (undefined3)local_res20; local_res20 = CONCAT13(bVar11,(undefined3)local_res20); uStack_120._0_4_ = (float)local_res20; uVar5 = DAT_18262b5a8 >> 0x18; local_res20._0_1_ = (char)uVar2; cVar7 = (char)local_res20; cVar13 = (char)(uVar2 >> 8); cVar12 = (char)(uVar2 >> 0x10); if (uVar5 != 0) { iVar10 = 0xff - ((int)((0xff - uVar5) * (0xff - (uint)bVar11)) >> 8); uStack_120._0_4_ = (float)DAT_18262b5a8; if (0 < iVar10) { iVar8 = (int)((0xff - (uint)bVar11) * uVar5) / iVar10; local_res20._0_2_ = CONCAT11((char)(((DAT_18262b5a8 >> 8 & 0xff) - ((uVar2 & 0xff00) >> 8)) * iVar8 >> 8) + cVar13,(char)(((DAT_18262b5a8 & 0xff) - (uVar2 & 0xff)) * iVar8 >> 8) + (char)local_res20); local_res20._0_3_ = CONCAT12((char)(((DAT_18262b5a8 >> 0x10 & 0xff) - ((uVar2 & 0xff0000) >> 0x10)) * iVar8 >> 8) + cVar12,(undefined2)local_res20); local_res20 = CONCAT13((char)iVar10,(undefined3)local_res20); uStack_120._0_4_ = (float)local_res20; } } local_110 = (double)((float)(uVar2 >> 0x18) * DAT_1824c3d54) + DAT_1824c4520; bVar11 = 0xff; if (SUB84(local_110,0) < 0xff) { bVar11 = SUB81(local_110,0); } local_res20 = CONCAT13(bVar11,uVar6); uStack_108._0_4_ = local_res20; if (uVar5 != 0) { iVar10 = 0xff - ((int)((0xff - uVar5) * (0xff - (uint)bVar11)) >> 8); uStack_108._0_4_ = DAT_18262b5a8; if (0 < iVar10) { iVar8 = (int)((0xff - (uint)bVar11) * uVar5) / iVar10; local_res20._0_2_ = CONCAT11((char)(((DAT_18262b5a8 >> 8 & 0xff) - ((uVar2 & 0xff00) >> 8)) * iVar8 >> 8) + cVar13,(char)(((DAT_18262b5a8 & 0xff) - (uVar2 & 0xff)) * iVar8 >> 8) + cVar7); local_res20._0_3_ = CONCAT12((char)(((DAT_18262b5a8 >> 0x10 & 0xff) - ((uVar2 & 0xff0000) >> 0x10)) * iVar8 >> 8) + cVar12,(undefined2)local_res20); local_res20 = CONCAT13((char)iVar10,(undefined3)local_res20); uStack_108._0_4_ = local_res20; } } local_100 = 0; local_f8 = 0; local_f0 = 0; local_e8 = (void *)0x0; local_e0 = 0; local_fc = fVar17; local_f4 = param_4; FUN_18049ba20(&local_e8,8); iVar10 = local_e0._4_4_ + 1; auVar3._4_8_ = extraout_XMM0_Qb; auVar3._0_4_ = local_110._4_4_; auVar14._0_8_ = auVar3._0_8_ << 0x20; auVar14._8_4_ = (uint)uStack_108; auVar14._12_4_ = uStack_108._4_4_; uStack_108 = auVar14._8_8_; local_110 = 0.0; puVar1 = (undefined8 *)((longlong)local_e8 + (longlong)local_e0._4_4_ * 0x10); *puVar1 = 0; puVar1[1] = uStack_108; local_e0 = CONCAT44(local_e0._4_4_ + 2,(undefined4)local_e0); auVar4._4_8_ = uStack_108; auVar4._0_4_ = local_128._4_4_; auVar15._0_8_ = auVar4._0_8_ << 0x20; auVar15._8_4_ = (float)uStack_120; auVar15._12_4_ = uStack_120._4_4_; uStack_120 = auVar15._8_8_; local_128 = DAT_1824c4140; puVar1 = (undefined8 *)((longlong)local_e8 + (longlong)iVar10 * 0x10); *puVar1 = DAT_1824c4140; puVar1[1] = uStack_120; uVar2 = *param_5; uVar5 = DAT_18262b5a8 >> 0x18; local_res20 = uVar2; if (uVar5 != 0) { iVar10 = 0xff - (uVar2 >> 0x18); iVar8 = 0xff - ((int)((0xff - uVar5) * iVar10) >> 8); local_res20 = DAT_18262b5a8; if (0 < iVar8) { iVar10 = (int)(iVar10 * uVar5) / iVar8; local_res20._0_2_ = CONCAT11((char)(((DAT_18262b5a8 >> 8 & 0xff) - (uVar2 >> 8 & 0xff)) * iVar10 >> 8) + (char)(uVar2 >> 8), (char)(((DAT_18262b5a8 & 0xff) - (uVar2 & 0xff)) * iVar10 >> 8) + (char)uVar2); local_res20._0_3_ = CONCAT12((char)(((DAT_18262b5a8 >> 0x10 & 0xff) - (uVar2 >> 0x10 & 0xff)) * iVar10 >> 8) + (char)(uVar2 >> 0x10),(undefined2)local_res20); local_res20 = CONCAT13((char)iVar8,(undefined3)local_res20); } } FUN_1812a1940(&local_100,DAT_1824c4008,local_res20); FUN_181296a90(param_1,&local_100); cVar7 = (**(code **)(**(longlong **)(param_1 + 8) + 0x60))(); if (cVar7 == '\0') { pfVar9 = local_d8; while (pfVar9 != local_d8 + iStack_cc) { fVar17 = *pfVar9; if (fVar17 == DAT_1824c4600) { pfVar9 = pfVar9 + 3; } else { if (((fVar17 == DAT_1824c45fc) || (fVar17 == DAT_1824c4604)) || (fVar17 == DAT_1824c4608)) { local_128 = _DAT_1824c4780; uStack_120 = _UNK_1824c4788; local_118 = 0x3f800000; (**(code **)(**(longlong **)(param_1 + 8) + 0xb8)) (*(longlong **)(param_1 + 8),&local_d8,&local_128); break; } pfVar9 = pfVar9 + 1; } } } /* WARNING: Subroutine does not return */ free(local_e8); } ############ FUN_ 18129deb0 size=113 ############ void FUN_18129deb0(float param_1,float param_2,float param_3) { longlong in_RCX; if (*(int *)(in_RCX + 0xc) == 0) { *(float *)(in_RCX + 0x14) = param_2; *(float *)(in_RCX + 0x10) = param_2; *(float *)(in_RCX + 0x18) = param_3; } else { if (*(float *)(in_RCX + 0x10) <= param_2) { if (*(float *)(in_RCX + 0x14) <= param_2 && param_2 != *(float *)(in_RCX + 0x14)) { *(float *)(in_RCX + 0x14) = param_2; } } else { *(float *)(in_RCX + 0x10) = param_2; } param_1 = *(float *)(in_RCX + 0x18); if (param_3 < param_1) { *(float *)(in_RCX + 0x18) = param_3; FUN_1804b02a0(param_1,&DAT_1821df344,param_2,param_3); return; } if (param_3 < *(float *)(in_RCX + 0x1c) || param_3 == *(float *)(in_RCX + 0x1c)) goto LAB_18129df0f; } *(float *)(in_RCX + 0x1c) = param_3; LAB_18129df0f: FUN_1804b02a0(param_1,&DAT_1821df344,param_2,param_3); return; } ############ FUN_ 18129ba20 size=807 ############ void FUN_18129ba20(longlong *param_1,longlong *param_2,float *param_3) { float fVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; longlong lVar10; int iVar11; int iVar12; int iVar13; float fVar14; float fVar15; lVar10 = *param_2; iVar12 = 0; if (0 < *(int *)((longlong)param_2 + 0xc)) { do { iVar13 = iVar12 + 1; fVar1 = *(float *)(lVar10 + (longlong)iVar12 * 4); if (fVar1 == DAT_1824c460c) { iVar12 = *(int *)((longlong)param_1 + 0xc); if ((iVar12 != 0) && ((iVar12 < 1 || (*(float *)(*param_1 + (longlong)(iVar12 + -1) * 4) != DAT_1824c460c)))) { iVar11 = iVar12 + 1; if ((int)param_1[1] < iVar11) { if (iVar11 < 0) { iVar11 = iVar12 + 2; } FUN_1804af790(param_1,iVar12 + 9 + (iVar11 >> 1) & 0xfffffff8); } iVar12 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar12 + 1; *(undefined4 *)(*param_1 + (longlong)iVar12 * 4) = 0x47c35280; } } else { fVar2 = param_3[1]; fVar3 = *param_3; fVar4 = param_3[3]; fVar5 = param_3[4]; fVar6 = param_3[2]; fVar7 = param_3[5]; fVar15 = *(float *)(lVar10 + (longlong)iVar13 * 4); iVar13 = iVar12 + 3; fVar14 = fVar3 * fVar15 + fVar2 * *(float *)(lVar10 + (longlong)(iVar12 + 2) * 4) + fVar6; fVar15 = fVar4 * fVar15 + fVar5 * *(float *)(lVar10 + (longlong)(iVar12 + 2) * 4) + fVar7; if (fVar1 == DAT_1824c4600) { FUN_18129deb0(param_1,fVar14,fVar15); } else if (fVar1 == DAT_1824c45fc) { FUN_18129ddd0(param_1,fVar14,fVar15); } else if (fVar1 == DAT_1824c4604) { fVar1 = *(float *)(lVar10 + (longlong)iVar13 * 4); FUN_18129dca0(param_1,fVar14,fVar15, fVar3 * fVar1 + fVar2 * *(float *)(lVar10 + (longlong)(iVar12 + 4) * 4) + fVar6,fVar5 * *(float *)(lVar10 + (longlong)(iVar12 + 4) * 4) + fVar4 * fVar1 + fVar7); iVar13 = iVar12 + 5; } else if (fVar1 == DAT_1824c4608) { fVar1 = *(float *)(lVar10 + (longlong)iVar13 * 4); fVar8 = *(float *)(lVar10 + (longlong)(iVar12 + 4) * 4); fVar9 = *(float *)(lVar10 + (longlong)(iVar12 + 5) * 4); FUN_18129daf0(param_1,fVar14,fVar15,fVar3 * fVar1 + fVar2 * fVar8 + fVar6, fVar5 * fVar8 + fVar4 * fVar1 + fVar7, fVar3 * fVar9 + fVar2 * *(float *)(lVar10 + (longlong)(iVar12 + 6) * 4) + fVar6,fVar5 * *(float *)(lVar10 + (longlong)(iVar12 + 6) * 4) + fVar4 * fVar9 + fVar7); iVar13 = iVar12 + 7; } } iVar12 = iVar13; } while (iVar12 < *(int *)((longlong)param_2 + 0xc)); } return; } ############ FUN_ 1804a5030 size=75 ############ void FUN_1804a5030(longlong param_1,undefined4 *param_2,uint param_3) { ulonglong uVar1; if (param_3 != 0) { uVar1 = (ulonglong)param_3; do { FUN_18129ddd0(param_1 + 0x10,*param_2,param_2[1]); param_2 = param_2 + 2; uVar1 = uVar1 - 1; } while (uVar1 != 0); } return; } ############ FUN_ 18129c940 size=530 ############ void FUN_18129c940(undefined8 param_1,undefined8 *param_2,float param_3) { undefined8 uVar1; float fVar2; undefined4 *puVar3; double dVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; float fVar10; undefined1 local_res10 [24]; uVar1 = *param_2; fVar5 = *(float *)(param_2 + 1); fVar7 = *(float *)((longlong)param_2 + 0xc); param_3 = param_3 * DAT_1824c3d8c; puVar3 = (undefined4 *)FUN_1804ab660(param_2,local_res10,0,param_3); FUN_18129deb0(param_1,*puVar3,puVar3[1]); fVar10 = (float)((uint)param_3 ^ DAT_1824c4f30); puVar3 = (undefined4 *)FUN_1804ab660(param_2,local_res10,0,fVar10); FUN_18129ddd0(param_1,*puVar3,puVar3[1]); fVar8 = (float)uVar1 - fVar5; fVar9 = (float)((ulonglong)uVar1 >> 0x20) - fVar7; dVar4 = _hypot((double)fVar8,(double)fVar9); fVar6 = fVar7; fVar2 = fVar5; if (0.0 < dVar4) { fVar6 = (float)((double)(fVar8 * param_3 + fVar9 * 0.0) / dVar4) + fVar7; fVar2 = (float)((double)(fVar8 * 0.0 - fVar9 * param_3) / dVar4) + fVar5; } FUN_18129ddd0(param_1,fVar2,fVar6); dVar4 = _hypot((double)fVar8,(double)fVar9); if (0.0 < dVar4) { fVar5 = (float)((double)(fVar8 * 0.0 - fVar9 * fVar10) / dVar4) + fVar5; fVar7 = (float)((double)(fVar8 * fVar10 + fVar9 * 0.0) / dVar4) + fVar7; } FUN_18129ddd0(param_1,fVar5,fVar7); FUN_18129da20(param_1); return; } ############ FUN_ 18129c5c0 size=889 ############ void FUN_18129c5c0(undefined8 param_1,float *param_2,float param_3,float param_4,float param_5) { undefined8 uVar1; undefined4 *puVar2; float fVar3; double dVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; undefined1 local_res10 [24]; uVar1 = *(undefined8 *)param_2; fVar5 = param_2[2]; fVar7 = param_2[3]; param_4 = param_4 * DAT_1824c3d8c; param_3 = param_3 * DAT_1824c3d8c; fVar3 = _hypotf(*param_2 - fVar5,param_2[1] - fVar7); fVar10 = fVar3 * DAT_1824c3e28; if (param_5 <= fVar3 * DAT_1824c3e28) { fVar10 = param_5; } puVar2 = (undefined4 *)FUN_1804ab660(param_2,local_res10,0,param_3); FUN_18129deb0(param_1,*puVar2,puVar2[1]); fVar11 = (float)((uint)param_3 ^ DAT_1824c4f30); puVar2 = (undefined4 *)FUN_1804ab660(param_2,local_res10,0,fVar11); FUN_18129ddd0(param_1,*puVar2,puVar2[1]); fVar8 = (float)uVar1 - fVar5; fVar9 = (float)((ulonglong)uVar1 >> 0x20) - fVar7; dVar4 = _hypot((double)fVar8,(double)fVar9); fVar6 = fVar7; fVar3 = fVar5; if (0.0 < dVar4) { fVar6 = (float)((double)(fVar8 * param_3 + fVar9 * fVar10) / dVar4) + fVar7; fVar3 = (float)((double)(fVar8 * fVar10 - fVar9 * param_3) / dVar4) + fVar5; } FUN_18129ddd0(param_1,fVar3,fVar6); dVar4 = _hypot((double)fVar8,(double)fVar9); fVar6 = fVar7; fVar3 = fVar5; if (0.0 < dVar4) { fVar6 = (float)((double)(fVar8 * param_4 + fVar9 * fVar10) / dVar4) + fVar7; fVar3 = (float)((double)(fVar8 * fVar10 - fVar9 * param_4) / dVar4) + fVar5; } FUN_18129ddd0(param_1,fVar3,fVar6); FUN_18129ddd0(param_1,param_2[2],param_2[3]); param_4 = (float)((uint)param_4 ^ DAT_1824c4f30); dVar4 = _hypot((double)fVar8,(double)fVar9); fVar6 = fVar7; fVar3 = fVar5; if (0.0 < dVar4) { fVar6 = (float)((double)(fVar8 * param_4 + fVar9 * fVar10) / dVar4) + fVar7; fVar3 = (float)((double)(fVar8 * fVar10 - fVar9 * param_4) / dVar4) + fVar5; } FUN_18129ddd0(param_1,fVar3,fVar6); dVar4 = _hypot((double)fVar8,(double)fVar9); if (0.0 < dVar4) { fVar5 = (float)((double)(fVar8 * fVar10 - fVar9 * fVar11) / dVar4) + fVar5; fVar7 = (float)((double)(fVar8 * fVar11 + fVar9 * fVar10) / dVar4) + fVar7; } FUN_18129ddd0(param_1,fVar5,fVar7); FUN_18129da20(param_1); return; } ############ FUN_ 181298750 size=657 ############ void FUN_181298750(undefined8 param_1,int param_2,float param_3,float param_4,float param_5, float param_6,float param_7) { float fVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; if (param_2 == 0) { FUN_18129ddd0(param_1,param_5,param_6); } else { fVar3 = _hypotf(param_5 - param_3,param_6 - param_4); fVar2 = DAT_1824c3da8; fVar1 = DAT_1824c3d80; fVar4 = param_4; fVar5 = param_3; fVar8 = param_3; fVar6 = param_4; if (fVar3 != 0.0) { fVar8 = (param_6 - param_4) * (param_7 / fVar3); fVar6 = (param_5 - param_3) * (param_7 / fVar3); fVar4 = param_4 - fVar6; fVar5 = fVar8 + param_3; fVar8 = fVar8 + param_5; fVar6 = param_6 - fVar6; } if (param_2 == 1) { FUN_18129ddd0(param_1,fVar5); FUN_18129ddd0(param_1,fVar8,fVar6); FUN_18129ddd0(param_1,param_5,param_6); } else { fVar3 = (fVar6 + fVar4) * DAT_1824c3d8c; fVar7 = (fVar8 + fVar5) * DAT_1824c3d8c; FUN_18129daf0(param_1,(fVar5 - param_3) * DAT_1824c3da8 + param_3, (fVar4 - param_4) * DAT_1824c3da8 + param_4, (fVar7 - fVar5) * DAT_1824c3d80 + fVar5,(fVar3 - fVar4) * DAT_1824c3d80 + fVar4, fVar7,fVar3); FUN_18129daf0(param_1,(fVar8 - fVar7) * fVar2 + fVar7,(fVar6 - fVar3) * fVar2 + fVar3, (param_5 - fVar8) * fVar1 + fVar8,(param_6 - fVar6) * fVar1 + fVar6,param_5, param_6); } } return; } ############ FUN_ 1812989f0 size=807 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1812989f0(undefined8 param_1,int param_2,float param_3,float param_4,float param_5, float param_6,float param_7,float param_8,float param_9,float param_10, float param_11,float param_12,float param_13,float param_14) { char cVar1; float _X; float fVar2; float fVar3; float fVar4; float fVar5; undefined4 extraout_XMM0_Db; undefined4 extraout_XMM0_Db_00; float local_res10 [6]; float local_a8; float local_a4 [39]; if (((param_2 != 2) && ((param_9 != param_11 || (param_10 != param_12)))) && ((param_5 != param_7 || (param_6 != param_8)))) { cVar1 = FUN_181298d20(param_5,param_6,param_7,param_8,param_9,param_10,param_11,param_12, &local_a8,local_res10,local_a4); if (cVar1 != '\0') goto LAB_181298b2a; if (param_2 != 0) { _X = atan2f(param_7 - param_13,param_8 - param_14); fVar2 = atan2f(param_9 - param_13,param_10 - param_14); FUN_18129ddd0(param_1,param_7,param_8); fVar3 = DAT_1824c4658; fVar5 = DAT_1824c3cb8; if ((float)(double)CONCAT44((uint)((ulonglong)(double)(_X - fVar2) >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)(_X - fVar2),0) & (uint)DAT_1824c4f10) <= DAT_1824c3cb8) goto LAB_181298ce7; if (_X + DAT_1824c42e0 < fVar2) { LAB_181298c84: if (_X < fVar2) { fVar2 = fVar2 + _DAT_1824c4700; } while (_X = _X + fVar3, fVar2 < _X) { fVar5 = cosf(_X); fVar4 = sinf(_X); FUN_18129ddd0(param_1,fVar4 * param_4 + param_13, CONCAT44(extraout_XMM0_Db_00,fVar5 * param_4 + param_14)); } } else { if (fVar2 < _X) { if (_X - DAT_1824c42e0 <= fVar2) goto LAB_181298c84; if (fVar2 < _X) { _X = _X + _DAT_1824c4700; } } while (_X = _X + fVar5, _X < fVar2) { fVar3 = cosf(_X); fVar4 = sinf(_X); FUN_18129ddd0(param_1,fVar4 * param_4 + param_13, CONCAT44(extraout_XMM0_Db,fVar3 * param_4 + param_14)); } } LAB_181298ce7: FUN_18129ddd0(param_1,param_9,param_10); return; } if ((local_a4[0] < param_3) && (0.0 < local_a4[0])) goto LAB_181298b2a; } FUN_18129ddd0(param_1,param_7,param_8); local_a8 = param_9; local_res10[0] = param_10; LAB_181298b2a: FUN_18129ddd0(param_1,local_a8,local_res10[0]); return; } ############ FUN_ 18129d5a0 size=586 ############ void FUN_18129d5a0(undefined8 param_1,float param_2,float param_3,float param_4,float param_5, float param_6,float param_7,char param_8,char param_9,char param_10,char param_11) { float fVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; fVar1 = param_3 + param_5; fVar2 = param_2 + param_4; fVar4 = param_4 * DAT_1824c3d8c; if (param_6 <= param_4 * DAT_1824c3d8c) { fVar4 = param_6; } fVar5 = param_5 * DAT_1824c3d8c; if (param_7 <= param_5 * DAT_1824c3d8c) { fVar5 = param_7; } fVar3 = fVar4 * DAT_1824c3d80; fVar6 = fVar5 * DAT_1824c3d80; if (param_8 == '\0') { FUN_18129deb0(); } else { FUN_18129deb0(param_1,param_2,param_3 + fVar5); FUN_18129daf0(param_1,param_2,fVar6 + param_3,fVar3 + param_2,param_3,param_2 + fVar4,param_3); } if (param_9 == '\0') { FUN_18129ddd0(param_1,fVar2,param_3); } else { FUN_18129ddd0(param_1,fVar2 - fVar4,param_3); FUN_18129daf0(param_1,fVar2 - fVar3,param_3,fVar2,fVar6 + param_3,fVar2,param_3 + fVar5); } if (param_11 == '\0') { FUN_18129ddd0(param_1,fVar2,fVar1); } else { FUN_18129ddd0(param_1,fVar2,fVar1 - fVar5); FUN_18129daf0(param_1,fVar2,fVar1 - fVar6,fVar2 - fVar3,fVar1,fVar2 - fVar4,fVar1); } if (param_10 == '\0') { FUN_18129ddd0(param_1,param_2,fVar1); } else { FUN_18129ddd0(param_1,param_2 + fVar4,fVar1); FUN_18129daf0(param_1,fVar3 + param_2,fVar1,param_2,fVar1 - fVar6,param_2,fVar1 - fVar5); } FUN_18129da20(param_1); return; } ############ FUN_ 181298550 size=496 ############ void FUN_181298550(undefined8 param_1,ulonglong param_2,float param_3,undefined8 param_4, float param_5,undefined4 param_6,undefined4 param_7,float param_8,float param_9) { double dVar1; float fVar2; float fVar3; float fVar4; undefined4 uVar5; float fVar6; float fVar7; fVar2 = (float)param_2; uVar5 = (undefined4)(param_2 >> 0x20); fVar4 = (float)param_4 - fVar2; fVar6 = param_5 - param_3; param_8 = param_9 * DAT_1824c3d8c - param_8; fVar7 = (float)((uint)param_8 ^ DAT_1824c4f30); dVar1 = _hypot((double)fVar4,(double)fVar6); fVar3 = param_3; if (0.0 < dVar1) { param_2 = (ulonglong)(uint)((float)((double)(fVar4 * fVar7 - fVar6 * 0.0) / dVar1) + fVar2); fVar3 = (float)((double)(fVar6 * fVar7 + fVar4 * 0.0) / dVar1) + param_3; } FUN_18129ddd0(param_1,param_2,fVar3); FUN_18129ddd0(param_1,param_6,param_7); param_9 = param_9 - param_8; dVar1 = _hypot((double)fVar4,(double)fVar6); if (0.0 < dVar1) { fVar2 = (float)((double)(param_9 * fVar4 - fVar6 * 0.0) / dVar1) + fVar2; uVar5 = 0; param_3 = (float)((double)(param_9 * fVar6 + fVar4 * 0.0) / dVar1) + param_3; } FUN_18129ddd0(param_1,CONCAT44(uVar5,fVar2),param_3); FUN_18129ddd0(param_1,param_4,param_5); return; } ############ FUN_ 18129c020 size=1428 ############ void FUN_18129c020(undefined8 param_1,float *param_2,float *param_3,undefined8 param_4,float param_5 ,float param_6) { float fVar1; float fVar2; float fVar3; undefined4 uVar4; float fVar5; float fVar6; float fVar7; float fVar8; float fVar9; float fVar10; float fVar11; float fVar12; float fVar13; float fVar14; float fVar15; float fVar16; float local_c0; float fStack_bc; fVar3 = DAT_1824c41e0; fVar15 = DAT_1824c3d8c; fVar1 = param_2[1]; fVar7 = param_2[2]; fVar9 = param_2[3] * DAT_1824c3d8c; fVar10 = fVar7 * DAT_1824c3d8c; fVar13 = fVar9; if (param_5 <= fVar9) { fVar13 = param_5; } fVar2 = *param_2; fVar16 = fVar10; if (param_5 <= fVar10) { fVar16 = param_5; } fVar5 = fVar13 * DAT_1824c41e0; fVar14 = fVar16 * DAT_1824c41e0; fVar6 = fVar2 + fVar16; FUN_18129deb0(fVar6,fVar6,fVar1); fVar8 = fVar13 + param_6; if (fVar9 - DAT_1824c3ea4 <= fVar13 + param_6) { fVar8 = fVar9 - DAT_1824c3ea4; } fStack_bc = (float)((ulonglong)param_4 >> 0x20); fVar9 = fVar16 + param_6; if (fVar10 - DAT_1824c3ea4 <= fVar16 + param_6) { fVar9 = fVar10 - DAT_1824c3ea4; } fVar11 = fVar1 - (float)((uint)fVar8 ^ DAT_1824c4f30); fVar10 = fVar2 - (float)((uint)fVar9 ^ DAT_1824c4f30); fVar8 = (float)((uint)fVar8 ^ DAT_1824c4f30) * fVar3 + param_2[3]; local_c0 = (float)param_4; fVar7 = (float)((uint)fVar9 ^ DAT_1824c4f30) * fVar3 + fVar7; fVar3 = param_3[1]; if (fVar8 <= 0.0) { fVar8 = 0.0; } if (fVar7 <= 0.0) { fVar7 = 0.0; } if ((((fVar10 <= local_c0) && (fVar3 <= fStack_bc)) && (local_c0 < fVar10 + fVar7)) && (fStack_bc < fVar3 + (fVar1 - fVar3))) { FUN_18129ddd0(param_1,local_c0 - param_6,fVar1); FUN_18129ddd0(param_1,local_c0,fStack_bc); FUN_18129ddd0(param_1,local_c0 + param_6,fVar1); } fVar9 = fVar2 + param_2[2]; FUN_18129ddd0(param_1,fVar9 - fVar16,fVar1); fVar15 = fVar14 * fVar15; fVar16 = fVar5 * DAT_1824c3d8c; if (0.0 < fVar15) { FUN_18129cdf0(param_1,(fVar9 - fVar14) + fVar15,fVar16 + fVar1,fVar15,fVar16,0,0,DAT_1824c3fa0,0 ); } fVar1 = *param_3; if (((fVar9 <= local_c0) && (fVar11 <= fStack_bc)) && ((local_c0 < fVar9 + ((fVar1 + param_3[2]) - fVar9) && (fStack_bc < fVar11 + fVar8)))) { FUN_18129ddd0(param_1,fVar9,fStack_bc - param_6); FUN_18129ddd0(param_1,local_c0,fStack_bc); FUN_18129ddd0(param_1,fVar9,fStack_bc + param_6); } fVar12 = param_2[1] + param_2[3]; FUN_18129ddd0(param_1,fVar9,fVar12 - fVar13); if (0.0 < fVar15) { FUN_18129cdf0(param_1,(fVar9 - fVar14) + fVar15,(fVar12 - fVar5) + fVar16,fVar15,fVar16,0, DAT_1824c3fa0,DAT_1824c42e0,0); } if (((fVar10 <= local_c0) && (fVar12 <= fStack_bc)) && ((local_c0 < fVar10 + fVar7 && (fStack_bc < fVar12 + ((fVar3 + param_3[3]) - fVar12))))) { FUN_18129ddd0(param_1,local_c0 + param_6,fVar12); FUN_18129ddd0(param_1,local_c0,fStack_bc); FUN_18129ddd0(param_1,local_c0 - param_6,fVar12); } FUN_18129ddd0(param_1,fVar6,fVar12); uVar4 = DAT_1824c435c; if (0.0 < fVar15) { FUN_18129cdf0(param_1,fVar15 + fVar2,(fVar12 - fVar5) + fVar16,fVar15,fVar16,0,DAT_1824c42e0, DAT_1824c435c,0); } if ((((fVar1 <= local_c0) && (fVar11 <= fStack_bc)) && (local_c0 < fVar1 + (fVar2 - fVar1))) && (fStack_bc < fVar11 + fVar8)) { FUN_18129ddd0(param_1,fVar2,fStack_bc + param_6); FUN_18129ddd0(param_1,local_c0,fStack_bc); FUN_18129ddd0(param_1,fVar2,fStack_bc - param_6); } fVar1 = param_2[1]; FUN_18129ddd0(param_1,fVar2,fVar1 + fVar13); if (0.0 < fVar15) { FUN_18129cdf0(param_1,fVar15 + fVar2,fVar16 + fVar1,fVar15,fVar16,0,uVar4,DAT_1824c4398,0); } FUN_18129da20(param_1); return; } ############ FUN_ 18129cdf0 size=848 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18129cdf0(undefined8 param_1,float param_2,float param_3,float param_4,float param_5, float param_6,float param_7,float param_8,char param_9) { float fVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; if (0.0 < param_5) { fVar1 = cosf(param_6); fVar2 = sinf(param_6); fVar8 = (float)((uint)fVar2 ^ DAT_1824c4f30); fVar7 = (fVar2 * param_3 - fVar1 * param_2) + param_2; fVar6 = param_3 - (fVar2 * param_2 + fVar1 * param_3); if (param_9 != '\0') { fVar3 = sinf(param_7); fVar4 = fVar3 * param_4 + param_2; fVar3 = cosf(param_7); fVar3 = param_3 - fVar3 * param_5; FUN_18129deb0(param_1,fVar3 * fVar8 + fVar4 * fVar1 + fVar7, fVar3 * fVar1 + fVar4 * fVar2 + fVar6); } fVar3 = DAT_1824c3c94; if (param_8 <= param_7) { if (param_9 != '\0') { param_7 = param_7 - DAT_1824c3c94; } for (; param_8 < param_7; param_7 = param_7 + _DAT_1824c4654) { fVar3 = sinf(param_7); fVar4 = fVar3 * param_4 + param_2; fVar3 = cosf(param_7); fVar3 = param_3 - fVar3 * param_5; FUN_18129ddd0(param_1,fVar3 * fVar8 + fVar4 * fVar1 + fVar7, fVar4 * fVar2 + fVar3 * fVar1 + fVar6); } } else { if (param_9 != '\0') { param_7 = param_7 + DAT_1824c3c94; } for (; param_7 < param_8; param_7 = param_7 + fVar3) { fVar4 = sinf(param_7); fVar5 = fVar4 * param_4 + param_2; fVar4 = cosf(param_7); fVar4 = param_3 - fVar4 * param_5; FUN_18129ddd0(param_1,fVar4 * fVar8 + fVar5 * fVar1 + fVar7, fVar4 * fVar1 + fVar5 * fVar2 + fVar6); } } fVar3 = sinf(param_8); param_2 = fVar3 * param_4 + param_2; fVar3 = cosf(param_8); param_3 = param_3 - fVar3 * param_5; FUN_18129ddd0(param_1,param_3 * fVar8 + param_2 * fVar1 + fVar7, param_3 * fVar1 + param_2 * fVar2 + fVar6); } return; } ############ FUN_ 18129cb60 size=642 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18129cb60(undefined8 param_1,undefined8 param_2,float param_3,float param_4,float param_5, float param_6,float param_7,float param_8) { float fVar1; float fVar2; undefined4 extraout_XMM0_Db; undefined4 extraout_XMM0_Db_00; float fVar3; float fVar4; float fVar5; float fVar6; fVar3 = param_4 * DAT_1824c3d8c; fVar4 = param_5 * DAT_1824c3d8c; fVar5 = fVar3 + (float)param_2; fVar6 = fVar4 + param_3; fVar1 = sinf(param_6); fVar2 = cosf(param_6); FUN_18129deb0(param_1,CONCAT44(extraout_XMM0_Db,fVar1 * fVar3 + fVar5),fVar6 - fVar2 * fVar4); FUN_18129d150(param_1,param_2,param_3,param_4,param_5,param_6,param_7); if ((float)(double)CONCAT44((uint)((ulonglong)(double)(param_6 - param_7) >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)(param_6 - param_7),0) & (uint)DAT_1824c4f10) <= _DAT_1824c43a0) { if (param_8 <= 0.0) { FUN_18129ddd0(param_1,fVar5,fVar6); } else { FUN_18129d150(param_1,fVar5 - fVar3 * param_8,fVar6 - fVar4 * param_8, fVar3 * param_8 * DAT_1824c41e0,fVar4 * param_8 * DAT_1824c41e0,param_7,param_6) ; } } else { FUN_18129da20(); if (0.0 < param_8) { fVar3 = fVar3 * param_8; fVar4 = fVar4 * param_8; fVar1 = sinf(param_7); fVar2 = cosf(param_7); FUN_18129deb0(param_1,CONCAT44(extraout_XMM0_Db_00,fVar1 * fVar3 + fVar5), fVar6 - fVar2 * fVar4); FUN_18129d150(param_1,fVar5 - fVar3,fVar6 - fVar4,fVar3 * DAT_1824c41e0,fVar4 * DAT_1824c41e0, param_7,param_6); } } FUN_18129da20(param_1); return; } ############ FUN_ 18129d410 size=100 ############ void FUN_18129d410(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8, undefined4 param_9) { FUN_18129deb0(); FUN_18129ddd0(param_1,param_4,param_5); FUN_18129ddd0(param_1,param_6,param_7); FUN_18129ddd0(param_1,param_8,param_9); FUN_18129da20(param_1); return; } ############ FUN_ 18129d480 size=94 ############ void FUN_18129d480(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined4 local_28; undefined4 uStack_24; undefined4 local_20; undefined4 uStack_1c; undefined4 local_18; undefined4 uStack_14; uStack_24 = (undefined4)((ulonglong)param_2 >> 0x20); local_28 = (undefined4)param_2; FUN_18129deb0(param_1,local_28,uStack_24); uStack_1c = (undefined4)((ulonglong)param_3 >> 0x20); local_20 = (undefined4)param_3; FUN_18129ddd0(param_1,local_20,uStack_1c); uStack_14 = (undefined4)((ulonglong)param_4 >> 0x20); local_18 = (undefined4)param_4; FUN_18129ddd0(param_1,local_18,uStack_14); FUN_18129da20(param_1); return; } ############ FUN_ 18129d4f0 size=77 ############ void FUN_18129d4f0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6,undefined4 param_7) { FUN_18129deb0(); FUN_18129ddd0(param_1,param_4,param_5); FUN_18129ddd0(param_1,param_6,param_7); FUN_18129da20(param_1); return; } ############ FUN_ 1812ee7b0 size=46 ############ void FUN_1812ee7b0(longlong param_1,undefined8 param_2) { undefined4 *puVar1; undefined1 local_res8 [32]; puVar1 = (undefined4 *)FUN_1812ee9c0(param_1 + 0x10,local_res8); FUN_18129ddd0(param_2,*puVar1,puVar1[1]); return; } ############ FUN_ 181337e30 size=320 ############ undefined8 * FUN_181337e30(undefined8 *param_1,undefined8 param_2,float param_3,undefined4 param_4) { undefined8 *puVar1; float fVar2; undefined4 uVar3; float fVar4; float local_58; uint local_54; float local_50; float local_4c; float local_48; float local_44; FUN_1813379d0(); *(undefined4 *)(param_1 + 0x39) = param_4; *param_1 = juce::ArrowButton::vftable; puVar1 = param_1 + 0x3a; param_1[0x16] = juce::ArrowButton::vftable; *puVar1 = 0; param_1[0x3b] = 0; param_1[0x3c] = 0; param_1[0x3d] = 0; *(undefined1 *)(param_1 + 0x3e) = 1; FUN_18129deb0(puVar1,0,0); uVar3 = DAT_1824c3ea4; FUN_18129ddd0(puVar1,0,DAT_1824c3ea4); fVar2 = DAT_1824c3d8c; FUN_18129ddd0(puVar1,uVar3,DAT_1824c3d8c); FUN_18129da20(puVar1); param_3 = param_3 * DAT_1824c43a4; fVar4 = cosf(param_3); local_4c = sinf(param_3); local_54 = (uint)local_4c ^ DAT_1824c4f30; local_50 = (local_4c * fVar2 - fVar4 * fVar2) + fVar2; local_44 = fVar2 - (fVar4 * fVar2 + local_4c * fVar2); local_58 = fVar4; local_48 = fVar4; FUN_18129b680(puVar1,&local_58); return param_1; } ############ FUN_ 18130a0d0 size=657 ############ void FUN_18130a0d0(longlong *param_1,longlong param_2,undefined8 *param_3) { int iVar1; undefined4 uVar2; undefined4 uVar3; undefined8 uVar4; void *_Memory; int iVar5; undefined8 *puVar6; float fVar7; float fVar8; float fVar9; undefined1 local_78 [8]; int local_70; int local_6c; void *local_68; undefined4 local_5c; FUN_18131a490(param_2,local_78); fVar7 = (float)local_6c; fVar8 = (float)local_70; fVar9 = fVar7; if (*(int *)(*(longlong *)(param_2 + 0x1c8) + 0xf8) - 2U < 2) { fVar9 = fVar8; } iVar5 = (**(code **)(*param_1 + 0x10))(param_1,(int)fVar9); iVar1 = *(int *)(*(longlong *)(param_2 + 0x1c8) + 0xf8); fVar9 = (float)iVar5; if (iVar1 == 1) { FUN_18129deb0(param_3,0,0); FUN_18129ddd0(param_3,fVar9,fVar7); FUN_18129ddd0(param_3,fVar8 - fVar9,fVar7); FUN_18129ddd0(param_3,fVar8,0); fVar9 = fVar8 + DAT_1824c4334; fVar7 = DAT_1824c46e8; } else { if (iVar1 == 2) { FUN_18129deb0(param_3,fVar8,0); FUN_18129ddd0(param_3,0,fVar9); FUN_18129ddd0(param_3,0,fVar7 - fVar9); FUN_18129ddd0(param_3,fVar8,fVar7); fVar8 = fVar8 + DAT_1824c4334; FUN_18129ddd0(param_3,fVar8,fVar7 + DAT_1824c4334); fVar7 = DAT_1824c46e8; goto LAB_18130a2f0; } if (iVar1 != 3) { FUN_18129deb0(param_3,0,fVar7); FUN_18129ddd0(param_3,fVar9,0); FUN_18129ddd0(param_3,fVar8 - fVar9,0); FUN_18129ddd0(param_3,fVar8,fVar7); fVar7 = fVar7 + DAT_1824c4334; FUN_18129ddd0(param_3,fVar8 + DAT_1824c4334,fVar7); fVar8 = DAT_1824c46e8; goto LAB_18130a2f0; } FUN_18129deb0(param_3,0,0); FUN_18129ddd0(param_3,fVar8,fVar9); FUN_18129ddd0(param_3,fVar8,fVar7 - fVar9); FUN_18129ddd0(param_3,0,fVar7); fVar9 = DAT_1824c46e8; fVar7 = fVar7 + DAT_1824c4334; } fVar8 = DAT_1824c46e8; FUN_18129ddd0(param_3,fVar9,fVar7); fVar7 = fVar8; LAB_18130a2f0: FUN_18129ddd0(param_3,fVar8,fVar7); FUN_18129da20(param_3); puVar6 = (undefined8 *)FUN_18129a910(param_3,&local_68,DAT_1824c42d0); if (param_3 == puVar6) { uVar4 = puVar6[3]; param_3[2] = puVar6[2]; param_3[3] = uVar4; *(undefined1 *)(param_3 + 4) = *(undefined1 *)(puVar6 + 4); local_5c = 0; /* WARNING: Subroutine does not return */ free(local_68); } uVar4 = *puVar6; *puVar6 = 0; uVar2 = *(undefined4 *)(puVar6 + 1); uVar3 = *(undefined4 *)((longlong)puVar6 + 0xc); puVar6[1] = 0; _Memory = (void *)*param_3; *param_3 = uVar4; *(undefined4 *)(param_3 + 1) = uVar2; *(undefined4 *)((longlong)param_3 + 0xc) = uVar3; /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18129dda0 size=30 ############ void FUN_18129dda0(undefined8 param_1,undefined8 param_2) { undefined4 local_18; undefined4 uStack_14; uStack_14 = (undefined4)((ulonglong)param_2 >> 0x20); local_18 = (undefined4)param_2; FUN_18129ddd0(param_1,local_18,uStack_14); return; } ############ FUN_ 181299f70 size=2382 ############ void FUN_181299f70(longlong param_1,longlong *param_2) { code *pcVar1; longlong lVar2; char cVar3; undefined1 uVar4; int iVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; undefined4 uVar12; uint local_res10 [2]; uint local_res18 [2]; uint local_res20 [2]; uint local_b8; uint local_b4; uint local_b0; uint local_ac; uint local_a8; uint local_a4; uint local_a0; uint local_9c; uint local_98; uint local_94; uint local_90; uint local_8c [21]; cVar3 = (**(code **)(*param_2 + 0x10))(param_2); if (cVar3 == '\0') { do { pcVar1 = *(code **)(*param_2 + 0x20); if (pcVar1 == FUN_181235e90) { local_res10[0] = local_res10[0] & 0xffffff00; (**(code **)(*param_2 + 0x18))(param_2,local_res10,1); uVar4 = (undefined1)local_res10[0]; } else { uVar4 = (*pcVar1)(param_2); } switch(uVar4) { case 0x62: lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_a0,4); if (iVar5 == 4) { local_res10[0] = local_a0; uVar6 = local_a0; } else { local_res10[0] = 0; uVar6 = 0; } } else { uVar6 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar6; } } else { uVar6 = (**(code **)(lVar2 + 0x60))(); } lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_9c,4); if (iVar5 == 4) { local_res10[0] = local_9c; uVar7 = local_9c; } else { local_res10[0] = 0; uVar7 = 0; } } else { uVar7 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar7; } } else { uVar7 = (**(code **)(lVar2 + 0x60))(); } lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_98,4); if (iVar5 == 4) { local_res10[0] = local_98; uVar8 = local_98; } else { local_res10[0] = 0; uVar8 = 0; } } else { uVar8 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar8; } } else { uVar8 = (**(code **)(lVar2 + 0x60))(); } lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_94,4); if (iVar5 == 4) { local_res10[0] = local_94; uVar9 = local_94; } else { local_res10[0] = 0; uVar9 = 0; } } else { uVar9 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar9; } } else { uVar9 = (**(code **)(lVar2 + 0x60))(); } lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_90,4); if (iVar5 == 4) { local_res10[0] = local_90; uVar10 = local_90; } else { local_res10[0] = 0; uVar10 = 0; } } else { uVar10 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar10; } } else { uVar10 = (**(code **)(lVar2 + 0x60))(); } lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,local_8c,4); if (iVar5 == 4) { local_res10[0] = local_8c[0]; uVar11 = local_8c[0]; } else { local_res10[0] = 0; uVar11 = 0; } } else { uVar11 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar11; } } else { uVar11 = (**(code **)(lVar2 + 0x60))(); } FUN_18129daf0(param_1,uVar6,uVar7,uVar8,uVar9,uVar10,uVar11); break; case 99: FUN_18129da20(param_1); break; case 0x65: goto switchD_18129a04e_caseD_65; case 0x6c: lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_b8,4); if (iVar5 == 4) { local_res10[0] = local_b8; uVar6 = local_b8; } else { local_res10[0] = 0; uVar6 = 0; } } else { uVar6 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar6; } } else { uVar6 = (**(code **)(lVar2 + 0x60))(); } lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_b4,4); if (iVar5 == 4) { local_res10[0] = local_b4; FUN_18129ddd0(param_1,uVar6,local_b4); } else { local_res10[0] = 0; FUN_18129ddd0(param_1,uVar6,0); } } else { local_res10[0] = (**(code **)(lVar2 + 0x40))(); FUN_18129ddd0(param_1,uVar6,local_res10[0]); } } else { uVar12 = (**(code **)(lVar2 + 0x60))(); FUN_18129ddd0(param_1,uVar6,uVar12); } break; case 0x6d: lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,local_res18,4); if (iVar5 == 4) { local_res10[0] = local_res18[0]; uVar6 = local_res18[0]; } else { local_res10[0] = 0; uVar6 = 0; } } else { uVar6 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar6; } } else { uVar6 = (**(code **)(lVar2 + 0x60))(); } lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,local_res20,4); if (iVar5 == 4) { local_res10[0] = local_res20[0]; FUN_18129deb0(param_1,uVar6,local_res20[0]); } else { local_res10[0] = 0; FUN_18129deb0(param_1,uVar6,0); } } else { local_res10[0] = (**(code **)(lVar2 + 0x40))(); FUN_18129deb0(param_1,uVar6,local_res10[0]); } } else { uVar12 = (**(code **)(lVar2 + 0x60))(); FUN_18129deb0(param_1,uVar6,uVar12); } break; case 0x6e: *(undefined1 *)(param_1 + 0x20) = 1; break; case 0x71: lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_b0,4); if (iVar5 == 4) { local_res10[0] = local_b0; uVar6 = local_b0; } else { local_res10[0] = 0; uVar6 = 0; } } else { uVar6 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar6; } } else { uVar6 = (**(code **)(lVar2 + 0x60))(); } lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_ac,4); if (iVar5 == 4) { local_res10[0] = local_ac; uVar7 = local_ac; } else { local_res10[0] = 0; uVar7 = 0; } } else { uVar7 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar7; } } else { uVar7 = (**(code **)(lVar2 + 0x60))(); } lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_a8,4); if (iVar5 == 4) { local_res10[0] = local_a8; uVar8 = local_a8; } else { local_res10[0] = 0; uVar8 = 0; } } else { uVar8 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar8; } } else { uVar8 = (**(code **)(lVar2 + 0x60))(); } lVar2 = *param_2; if (*(code **)(lVar2 + 0x60) == FUN_181235af0) { if (*(code **)(lVar2 + 0x40) == FUN_181235d70) { iVar5 = (**(code **)(lVar2 + 0x18))(param_2,&local_a4,4); if (iVar5 == 4) { local_res10[0] = local_a4; uVar9 = local_a4; } else { local_res10[0] = 0; uVar9 = 0; } } else { uVar9 = (**(code **)(lVar2 + 0x40))(); local_res10[0] = uVar9; } } else { uVar9 = (**(code **)(lVar2 + 0x60))(); } FUN_18129dca0(param_1,uVar6,uVar7,uVar8,uVar9); break; case 0x7a: *(undefined1 *)(param_1 + 0x20) = 0; } cVar3 = (**(code **)(*param_2 + 0x10))(param_2); } while (cVar3 == '\0'); switchD_18129a04e_caseD_65: } return; } ############ FUN_ 1804ea1e0 size=4558 ############ void FUN_1804ea1e0(longlong param_1,undefined8 *param_2,undefined8 *param_3) { byte bVar1; float *pfVar2; bool bVar3; float *pfVar4; undefined1 uVar5; undefined1 *puVar6; byte bVar7; char cVar8; uint uVar9; uint uVar10; byte bVar11; uint *puVar12; char *pcVar13; float *pfVar14; uint uVar15; byte *pbVar16; longlong lVar17; int iVar18; bool bVar19; undefined4 uVar20; float fVar21; undefined8 extraout_XMM0_Qa; undefined8 extraout_XMM0_Qa_00; undefined8 extraout_XMM0_Qa_01; undefined8 extraout_XMM0_Qa_02; double dVar22; float fVar23; float fVar24; float fVar25; float fVar26; float fVar27; float fVar28; float fVar29; float fVar30; float fVar31; undefined1 local_res10 [8]; float local_res18; byte *local_res20; double in_stack_fffffffffffffe58; undefined7 uVar32; double *pdVar33; undefined8 local_158; undefined8 local_150; undefined8 local_148; undefined1 *local_140; undefined1 *local_138; undefined1 *local_130; undefined1 *local_128; undefined1 *local_120; double local_118; double local_110; undefined1 *local_108; double local_100; double local_f8; double local_f0; double local_e8 [22]; local_e8[1] = -NAN; local_res20 = (byte *)*param_3; while ((bVar1 = *local_res20, bVar1 == 0x20 || ((byte)(bVar1 - 9) < 5))) { local_res20 = local_res20 + 1; if ((char)bVar1 < '\0') { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar1 & bVar7; } } } fVar30 = 0.0; local_res18 = 0.0; fVar31 = 0.0; fVar26 = 0.0; fVar27 = 0.0; fVar28 = 0.0; fVar29 = 0.0; local_158 = 0; local_150 = 0; local_148 = 0; uVar10 = 0; bVar19 = true; if (*local_res20 != 0) { LAB_1804ea2f0: fVar24 = local_res18; bVar1 = *local_res20; bVar11 = bVar1; if ((char)bVar1 < '\0') { uVar15 = 0x7f; uVar9 = 0x40; iVar18 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar9 < 9) break; uVar15 = uVar15 >> 1; iVar18 = iVar18 + 1; uVar9 = uVar9 >> 1; } while ((bVar1 & uVar9) != 0); } uVar15 = bVar1 & uVar15; bVar11 = (byte)uVar15; lVar17 = 1; if (0 < (longlong)iVar18) { do { bVar11 = (byte)uVar15; if ((local_res20[lVar17] & 0xc0) != 0x80) break; uVar15 = local_res20[lVar17] & 0x3f | uVar15 << 6; bVar11 = (byte)uVar15; lVar17 = lVar17 + 1; } while (lVar17 <= iVar18); } } iVar18 = 0; bVar7 = 0x4d; pbVar16 = &DAT_18249eec8; do { uVar9 = uVar10; if (bVar7 == bVar11) { if (-1 < iVar18) { local_res20 = local_res20 + 1; uVar9 = (uint)bVar1; if (-1 < (char)bVar1) goto LAB_1804ea3e6; uVar9 = 0x7f; uVar15 = 0x40; iVar18 = 0; if ((bVar1 & 0x40) != 0) goto LAB_1804ea3a0; goto LAB_1804ea3af; } break; } iVar18 = iVar18 + 1; pbVar16 = pbVar16 + 1; bVar7 = *pbVar16; } while (bVar7 != 0); goto LAB_1804ea3ed; } switchD_1804ea40d_caseD_42: if (*(int *)((longlong)param_2 + 0xc) != 0) { pfVar2 = (float *)*param_2; pfVar14 = pfVar2 + (longlong)*(int *)((longlong)param_2 + 0xc) + -1; if (*pfVar14 == DAT_1824c460c) { do { pfVar4 = pfVar14; if (pfVar4 == pfVar2) goto LAB_1804eb334; pfVar14 = pfVar4 + -1; } while (pfVar4[-1] != DAT_1824c4600); pfVar14 = pfVar4 + 1; } if (pfVar14 != pfVar2) { fVar26 = pfVar14[-1]; fVar30 = *pfVar14; goto LAB_1804eb338; } } LAB_1804eb334: fVar26 = 0.0; LAB_1804eb338: if ((fVar26 == local_res18) && (fVar30 == fVar31)) { FUN_18129da20(param_2); } return; while( true ) { uVar9 = uVar9 >> 1; iVar18 = iVar18 + 1; uVar15 = uVar15 >> 1; if ((bVar1 & uVar15) == 0) break; LAB_1804ea3a0: if (uVar15 < 9) break; } LAB_1804ea3af: uVar9 = bVar1 & uVar9; for (; (iVar18 = iVar18 + -1, -1 < iVar18 && ((*local_res20 & 0xc0) == 0x80)); local_res20 = local_res20 + 1) { uVar9 = *local_res20 & 0x3f | uVar9 << 6; } LAB_1804ea3e6: bVar19 = 0x60 < uVar9; LAB_1804ea3ed: pbVar16 = local_res20; uVar32 = (undefined7)((ulonglong)in_stack_fffffffffffffe58 >> 8); fVar21 = fVar27; switch(uVar9) { case 0x41: case 0x61: in_stack_fffffffffffffe58 = (double)CONCAT71(uVar32,1); cVar8 = FUN_1804f0ad0(param_1,&local_res20,&local_158,0,in_stack_fffffffffffffe58); if (cVar8 == '\0') { LAB_1804eaf75: bVar3 = false; } else { in_stack_fffffffffffffe58 = (double)((ulonglong)in_stack_fffffffffffffe58 & 0xffffffffffffff00); cVar8 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_158 + 4,0, in_stack_fffffffffffffe58); if (cVar8 == '\0') goto LAB_1804eaf75; bVar3 = true; } if (!bVar3) { bVar1 = *local_res20; fVar24 = fVar26; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } break; } local_120 = &DAT_1821dbf98; local_res10[0] = 0; cVar8 = FUN_1804f1a00(&local_res20,&local_120); puVar6 = local_120; fVar24 = fVar26; if (cVar8 != '\0') { local_108 = local_120; dVar22 = (double)FUN_18049bd80(&local_108); fVar23 = (float)dVar22 * DAT_1824c3c78; cVar8 = FUN_1804f1ff0(&local_res20,local_res10); uVar5 = local_res10[0]; if ((cVar8 != '\0') && (cVar8 = FUN_1804f1ff0(&local_res20,local_res10), cVar8 != '\0')) { in_stack_fffffffffffffe58 = (double)CONCAT71((int7)((ulonglong)in_stack_fffffffffffffe58 >> 8),1); cVar8 = FUN_1804f0ad0(param_1,&local_res20,&local_150,0,in_stack_fffffffffffffe58); if (cVar8 == '\0') { LAB_1804eb0a1: bVar3 = false; } else { in_stack_fffffffffffffe58 = (double)((ulonglong)in_stack_fffffffffffffe58 & 0xffffffffffffff00); cVar8 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_150 + 4,0, in_stack_fffffffffffffe58); if (cVar8 == '\0') goto LAB_1804eb0a1; bVar3 = true; } if (bVar3) { fVar24 = (float)local_150; fVar21 = local_150._4_4_; if (bVar19) { fVar24 = (float)local_150 + fVar26; fVar21 = local_150._4_4_ + fVar27; local_150 = CONCAT44(fVar21,fVar24); } if ((fVar26 != fVar24) || (fVar28 = fVar26, fVar29 = fVar27, fVar27 != fVar21)) { local_110 = (double)(float)local_158; local_118 = (double)local_158._4_4_; in_stack_fffffffffffffe58 = (double)fVar23; pdVar33 = &local_118; FUN_1804f30e0((double)fVar26,SUB84((double)fVar27,0),(double)fVar24,(double)fVar21, in_stack_fffffffffffffe58,uVar5,local_res10[0],&local_110,pdVar33,local_e8 ,&local_f0,&local_100,&local_f8); if (0.0 < (float)local_110) { in_stack_fffffffffffffe58 = (double)CONCAT44((int)((ulonglong)in_stack_fffffffffffffe58 >> 0x20), (float)local_118); FUN_18129cdf0(param_2,(float)local_e8[0],(float)local_f0,(float)local_110, in_stack_fffffffffffffe58,fVar23,(float)local_100, (float)(local_100 + local_f8),(ulonglong)pdVar33 & 0xffffffffffffff00); } FUN_18129ddd0(param_2,fVar24,fVar21); fVar28 = fVar26; fVar29 = fVar27; } } else { bVar1 = *local_res20; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } } } } puVar12 = (uint *)(puVar6 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } break; default: goto switchD_1804ea40d_caseD_42; case 0x43: case 99: in_stack_fffffffffffffe58 = (double)CONCAT71(uVar32,1); cVar8 = FUN_1804f0ad0(param_1,&local_res20,&local_158,0,in_stack_fffffffffffffe58); if (cVar8 == '\0') { LAB_1804ea828: bVar3 = false; } else { in_stack_fffffffffffffe58 = (double)((ulonglong)in_stack_fffffffffffffe58 & 0xffffffffffffff00); cVar8 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_158 + 4,0, in_stack_fffffffffffffe58); if (cVar8 == '\0') goto LAB_1804ea828; bVar3 = true; } if (!bVar3) { bVar1 = *local_res20; fVar24 = fVar26; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } break; } in_stack_fffffffffffffe58 = (double)CONCAT71((int7)((ulonglong)in_stack_fffffffffffffe58 >> 8),1); cVar8 = FUN_1804f0ad0(param_1,&local_res20,&local_150,0,in_stack_fffffffffffffe58); if (cVar8 == '\0') { LAB_1804ea8c4: bVar3 = false; } else { in_stack_fffffffffffffe58 = (double)((ulonglong)in_stack_fffffffffffffe58 & 0xffffffffffffff00); cVar8 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_150 + 4,0, in_stack_fffffffffffffe58); if (cVar8 == '\0') goto LAB_1804ea8c4; bVar3 = true; } if (!bVar3) { bVar1 = *local_res20; fVar24 = fVar26; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } break; } in_stack_fffffffffffffe58 = (double)CONCAT71((int7)((ulonglong)in_stack_fffffffffffffe58 >> 8),1); cVar8 = FUN_1804f0ad0(param_1,&local_res20,&local_148,0,in_stack_fffffffffffffe58); if (cVar8 == '\0') { LAB_1804ea95a: bVar3 = false; } else { in_stack_fffffffffffffe58 = (double)((ulonglong)in_stack_fffffffffffffe58 & 0xffffffffffffff00); cVar8 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_148 + 4,0, in_stack_fffffffffffffe58); if (cVar8 == '\0') goto LAB_1804ea95a; bVar3 = true; } if (bVar3) { fVar24 = (float)local_148; fVar21 = local_148._4_4_; fVar28 = (float)local_150; fVar29 = local_150._4_4_; if (bVar19) { local_158 = CONCAT44(local_158._4_4_ + fVar27,(float)local_158 + fVar26); fVar28 = (float)local_150 + fVar26; fVar29 = local_150._4_4_ + fVar27; fVar24 = (float)local_148 + fVar26; fVar21 = local_148._4_4_ + fVar27; } local_148 = CONCAT44(fVar21,fVar24); local_150 = CONCAT44(fVar29,fVar28); FUN_18129da90(param_2,local_158,CONCAT44(fVar29,fVar28),CONCAT44(fVar21,fVar24)); } else { bVar1 = *local_res20; fVar24 = fVar26; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } } break; case 0x48: case 0x68: local_130 = &DAT_1821dbf98; cVar8 = FUN_1804f1a00(&local_res20,&local_130); if (cVar8 == '\0') { local_158 = local_158 & 0xffffffff00000000; puVar12 = (uint *)(local_130 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } bVar1 = *local_res20; local_res20 = local_res20 + 1; fVar24 = fVar26; if ((char)bVar1 < '\0') { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar1 & bVar7; } } } else { fVar24 = (float)FUN_1804f0b80(extraout_XMM0_Qa_01,&local_130,*(undefined4 *)(param_1 + 0x20)); local_158 = CONCAT44(local_158._4_4_,fVar24); puVar12 = (uint *)(local_130 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } if (bVar19) { fVar24 = fVar24 + fVar26; local_158 = CONCAT44(local_158._4_4_,fVar24); } FUN_18129ddd0(param_2,fVar24,fVar27); fVar28 = fVar26; } break; case 0x4c: case 0x4d: case 0x6c: case 0x6d: local_140 = &DAT_1821dbf98; cVar8 = FUN_1804f1a00(&local_res20,&local_140); if (cVar8 == '\0') { local_158 = local_158 & 0xffffffff00000000; puVar12 = (uint *)(local_140 + -0x10); uVar10 = *puVar12; LAB_1804ea4ad: if ((uVar10 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } bVar3 = false; } else { uVar20 = FUN_1804f0b80(extraout_XMM0_Qa,&local_140,*(undefined4 *)(param_1 + 0x20)); local_158 = CONCAT44(local_158._4_4_,uVar20); puVar12 = (uint *)(local_140 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } local_138 = &DAT_1821dbf98; cVar8 = FUN_1804f1a00(&local_res20,&local_138); if (cVar8 == '\0') { local_158 = local_158 & 0xffffffff; puVar12 = (uint *)(local_138 + -0x10); uVar10 = *puVar12; goto LAB_1804ea4ad; } uVar20 = FUN_1804f0b80(extraout_XMM0_Qa_00,&local_138,*(undefined4 *)(param_1 + 0x24)); local_158 = CONCAT44(uVar20,(float)local_158); puVar12 = (uint *)(local_138 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } bVar3 = true; } if (bVar3) { fVar24 = (float)local_158; fVar21 = local_158._4_4_; if (bVar19) { fVar24 = (float)local_158 + fVar26; fVar21 = local_158._4_4_ + fVar27; local_158 = CONCAT44(fVar21,fVar24); } fVar28 = fVar24; fVar29 = fVar21; if ((uVar9 - 0x4d & 0xffffffdf) == 0) { local_res18 = fVar24; FUN_18129deb0(param_2,fVar24,fVar21); uVar9 = 0x6c; fVar31 = fVar21; } else { FUN_18129ddd0(); } } else { bVar1 = *local_res20; fVar24 = fVar26; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } } break; case 0x51: case 0x71: in_stack_fffffffffffffe58 = (double)CONCAT71(uVar32,1); cVar8 = FUN_1804f0ad0(param_1,&local_res20,&local_158,0,in_stack_fffffffffffffe58); if (cVar8 == '\0') { LAB_1804eac94: bVar3 = false; } else { in_stack_fffffffffffffe58 = (double)((ulonglong)in_stack_fffffffffffffe58 & 0xffffffffffffff00); cVar8 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_158 + 4,0, in_stack_fffffffffffffe58); if (cVar8 == '\0') goto LAB_1804eac94; bVar3 = true; } if (!bVar3) { bVar1 = *local_res20; fVar24 = fVar26; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } break; } in_stack_fffffffffffffe58 = (double)CONCAT71((int7)((ulonglong)in_stack_fffffffffffffe58 >> 8),1); cVar8 = FUN_1804f0ad0(param_1,&local_res20,&local_150,0,in_stack_fffffffffffffe58); if (cVar8 == '\0') { LAB_1804ead2c: bVar3 = false; } else { in_stack_fffffffffffffe58 = (double)((ulonglong)in_stack_fffffffffffffe58 & 0xffffffffffffff00); cVar8 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_150 + 4,0, in_stack_fffffffffffffe58); if (cVar8 == '\0') goto LAB_1804ead2c; bVar3 = true; } if (bVar3) { fVar24 = (float)local_150; fVar21 = local_150._4_4_; fVar28 = (float)local_158; fVar29 = local_158._4_4_; if (bVar19) { fVar28 = (float)local_158 + fVar26; fVar29 = local_158._4_4_ + fVar27; fVar24 = (float)local_150 + fVar26; fVar21 = local_150._4_4_ + fVar27; } local_150 = CONCAT44(fVar21,fVar24); local_158 = CONCAT44(fVar29,fVar28); FUN_18129dc60(param_2,CONCAT44(fVar29,fVar28)); } else { bVar1 = *local_res20; fVar24 = fVar26; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } } break; case 0x53: case 0x73: in_stack_fffffffffffffe58 = (double)CONCAT71(uVar32,1); cVar8 = FUN_1804f0ad0(param_1,&local_res20,&local_158,0,in_stack_fffffffffffffe58); if (cVar8 == '\0') { LAB_1804eaa8b: bVar3 = false; } else { in_stack_fffffffffffffe58 = (double)((ulonglong)in_stack_fffffffffffffe58 & 0xffffffffffffff00); cVar8 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_158 + 4,0, in_stack_fffffffffffffe58); if (cVar8 == '\0') goto LAB_1804eaa8b; bVar3 = true; } if (!bVar3) { bVar1 = *local_res20; fVar24 = fVar26; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } break; } in_stack_fffffffffffffe58 = (double)CONCAT71((int7)((ulonglong)in_stack_fffffffffffffe58 >> 8),1); cVar8 = FUN_1804f0ad0(param_1,&local_res20,&local_148,0,in_stack_fffffffffffffe58); if (cVar8 == '\0') { LAB_1804eab22: bVar3 = false; } else { in_stack_fffffffffffffe58 = (double)((ulonglong)in_stack_fffffffffffffe58 & 0xffffffffffffff00); cVar8 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_148 + 4,0, in_stack_fffffffffffffe58); if (cVar8 == '\0') goto LAB_1804eab22; bVar3 = true; } if (bVar3) { fVar23 = (float)local_158; fVar25 = local_158._4_4_; fVar24 = (float)local_148; fVar21 = local_148._4_4_; if (bVar19) { fVar23 = (float)local_158 + fVar26; fVar25 = local_158._4_4_ + fVar27; fVar24 = (float)local_148 + fVar26; fVar21 = local_148._4_4_ + fVar27; } local_150 = CONCAT44(fVar27,fVar26); iVar18 = 0; cVar8 = 'C'; pcVar13 = "CcSs"; do { if (cVar8 == (char)uVar10) { if (-1 < iVar18) { local_150 = CONCAT44(fVar27 + (fVar27 - fVar29),fVar26 + (fVar26 - fVar28)); } break; } iVar18 = iVar18 + 1; pcVar13 = pcVar13 + 1; cVar8 = *pcVar13; } while (cVar8 != '\0'); local_148 = CONCAT44(fVar21,fVar24); local_158 = CONCAT44(fVar25,fVar23); FUN_18129da90(param_2,local_150,CONCAT44(fVar25,fVar23),CONCAT44(fVar21,fVar24)); fVar28 = fVar23; fVar29 = fVar25; } else { bVar1 = *local_res20; fVar24 = fVar26; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } } break; case 0x54: case 0x74: in_stack_fffffffffffffe58 = (double)CONCAT71(uVar32,1); cVar8 = FUN_1804f0ad0(param_1,&local_res20,&local_158,0,in_stack_fffffffffffffe58); if (cVar8 == '\0') { LAB_1804eae37: bVar3 = false; } else { in_stack_fffffffffffffe58 = (double)((ulonglong)in_stack_fffffffffffffe58 & 0xffffffffffffff00); cVar8 = FUN_1804f0ad0(param_1,&local_res20,(longlong)&local_158 + 4,0, in_stack_fffffffffffffe58); if (cVar8 == '\0') goto LAB_1804eae37; bVar3 = true; } if (bVar3) { fVar24 = (float)local_158; fVar21 = local_158._4_4_; if (bVar19) { fVar24 = (float)local_158 + fVar26; fVar21 = local_158._4_4_ + fVar27; } iVar18 = 0; cVar8 = 'Q'; pcVar13 = "QqTt"; do { if (cVar8 == (char)uVar10) { if (-1 < iVar18) { fVar26 = fVar26 + (fVar26 - fVar28); fVar27 = fVar27 + (fVar27 - fVar29); } break; } iVar18 = iVar18 + 1; pcVar13 = pcVar13 + 1; cVar8 = *pcVar13; } while (cVar8 != '\0'); local_158 = CONCAT44(fVar21,fVar24); local_150 = CONCAT44(fVar27,fVar26); FUN_18129dc60(param_2,CONCAT44(fVar27,fVar26)); fVar28 = fVar26; fVar29 = fVar27; } else { bVar1 = *local_res20; fVar24 = fVar26; if ((bVar1 != 0) && (local_res20 = local_res20 + 1, (char)bVar1 < '\0')) { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar7 & bVar1; } } } break; case 0x56: case 0x76: local_128 = &DAT_1821dbf98; cVar8 = FUN_1804f1a00(&local_res20,&local_128); if (cVar8 == '\0') { local_158 = local_158 & 0xffffffff; puVar12 = (uint *)(local_128 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } bVar1 = *local_res20; local_res20 = local_res20 + 1; fVar24 = fVar26; if ((char)bVar1 < '\0') { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { local_res20 = local_res20 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar1 & bVar7; } } } else { fVar21 = (float)FUN_1804f0b80(extraout_XMM0_Qa_02,&local_128,*(undefined4 *)(param_1 + 0x24)); local_158 = CONCAT44(fVar21,(float)local_158); puVar12 = (uint *)(local_128 + -0x10); if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } if (bVar19) { fVar21 = fVar21 + fVar27; local_158 = CONCAT44(fVar21,(float)local_158); } FUN_18129ddd0(param_2,fVar26,fVar21); fVar24 = fVar26; fVar29 = fVar27; } break; case 0x5a: case 0x7a: FUN_18129da20(param_2); while ((bVar1 = *pbVar16, bVar1 == 0x20 || ((byte)(bVar1 - 9) < 5))) { pbVar16 = pbVar16 + 1; if ((char)bVar1 < '\0') { bVar7 = 0x40; bVar11 = bVar1 & 0x40; while ((bVar11 != 0 && (8 < bVar7))) { pbVar16 = pbVar16 + 1; bVar7 = bVar7 >> 1; bVar11 = bVar1 & bVar7; } } } uVar9 = 0x4d; fVar21 = fVar31; fVar28 = fVar24; fVar29 = fVar31; local_res20 = pbVar16; } fVar26 = fVar24; fVar27 = fVar21; uVar10 = uVar9; if (*local_res20 == 0) goto switchD_1804ea40d_caseD_42; goto LAB_1804ea2f0; } ############ FUN_ 1804ab000 size=106 ############ longlong * FUN_1804ab000(longlong *param_1,undefined8 *param_2) { int iVar1; void *_Src; *param_1 = 0; param_1[1] = 0; iVar1 = *(int *)((longlong)param_2 + 0xc); _Src = (void *)*param_2; if (0 < iVar1) { FUN_1804af790(param_1,iVar1 + 8 + iVar1 / 2 & 0xfffffff8); } memcpy((void *)(*param_1 + (longlong)*(int *)((longlong)param_1 + 0xc) * 4),_Src, (longlong)iVar1 << 2); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + iVar1; return param_1; } ############ FUN_ 1804844e0 size=99 ############ void FUN_1804844e0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined4 uVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; if ((longlong *)param_1[0x43] == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } uVar2 = (**(code **)(*(longlong *)param_1[0x43] + 0x10))(); uVar1 = (**(code **)(*param_1 + 0x88))(param_1); uVar2 = FUN_180487220(uVar1,uVar2,param_3,param_4,uVar3); FUN_180487300(uVar1,uVar2); return; } ############ FUN_ 1804e2980 size=125 ############ undefined8 FUN_1804e2980(longlong param_1,undefined8 param_2,double *param_3,undefined8 param_4) { double dVar1; longlong lVar2; longlong *plVar3; undefined8 uVar4; undefined4 uVar5; dVar1 = *param_3; lVar2 = *(longlong *)(param_1 + 8); plVar3 = *(longlong **)(lVar2 + 0x20); uVar4 = (**(code **)(*plVar3 + 0x88))(plVar3,param_2,param_3,param_4,0xfffffffffffffffe); uVar5 = FUN_180487220(uVar4,(float)dVar1); uVar5 = FUN_180487300(uVar4,uVar5); plVar3 = *(longlong **)(lVar2 + 0x20); (**(code **)(*plVar3 + 0x48))(plVar3,param_2,uVar5,0); return param_2; } ############ FUN_ 180528c00 size=144 ############ bool FUN_180528c00(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; longlong *plVar2; undefined8 uVar3; undefined4 uVar4; float fVar5; plVar2 = (longlong *)FUN_18119aa60(param_1 + 0x178,"delta",param_3,param_4,0xfffffffffffffffe); if (*(code **)(*plVar2 + 8) == FUN_1811bf850) { lVar1 = plVar2[0x31]; uVar3 = (**(code **)(*plVar2 + 0x88))(plVar2); uVar4 = FUN_180487220(uVar3,(int)lVar1); fVar5 = (float)FUN_180487300(uVar3,uVar4); return 0.0 < fVar5; } fVar5 = (float)(**(code **)(*plVar2 + 8))(plVar2); return 0.0 < fVar5; } ############ FUN_ 180528ca0 size=170 ############ undefined8 FUN_180528ca0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; longlong *plVar2; undefined8 uVar3; undefined4 uVar4; float extraout_XMM0_Da; float extraout_XMM0_Da_00; float fVar5; plVar2 = (longlong *)FUN_18119aa60(param_1 + 0x178,"bypass",param_3,param_4,0xfffffffffffffffe); if (*(code **)(*plVar2 + 8) == FUN_1811bf850) { lVar1 = plVar2[0x31]; uVar3 = (**(code **)(*plVar2 + 0x88))(plVar2); uVar4 = FUN_180487220(uVar3,(int)lVar1); FUN_180487300(uVar3,uVar4); fVar5 = extraout_XMM0_Da; } else { (**(code **)(*plVar2 + 8))(plVar2); fVar5 = extraout_XMM0_Da_00; } if ((fVar5 <= 0.0) && (*(char *)(param_1 + 0x164) == '\0')) { return 0; } return 1; } ############ FUN_ 18055fee0 size=335 ############ void FUN_18055fee0(longlong param_1) { longlong lVar1; int iVar2; uint uVar4; longlong lVar5; bool bVar6; float fVar7; float fVar8; float fVar9; longlong lVar3; uVar4 = (uint)*(float *)(*(longlong *)(param_1 + 0x2e0) + 0x188); if (-1 < (int)uVar4) { lVar1 = *(longlong *)(param_1 + 0x20); lVar3 = 0; iVar2 = 0; bVar6 = uVar4 < *(uint *)(lVar1 + 0x84); lVar5 = lVar3; if (bVar6) { lVar5 = *(longlong *)(*(longlong *)(lVar1 + 0x78) + (longlong)(int)uVar4 * 8); } fVar9 = *(float *)(lVar5 + 0x804); lVar5 = lVar3; if (bVar6) { lVar3 = *(longlong *)(*(longlong *)(lVar1 + 0x78) + (longlong)(int)uVar4 * 8); lVar5 = *(longlong *)(*(longlong *)(lVar1 + 0x78) + (longlong)(int)uVar4 * 8); } uVar4 = *(uint *)(lVar3 + 0x800); if (((3 < uVar4) && (uVar4 != 10)) && ((uVar4 - 4 < 4 || (iVar2 = 2, uVar4 == 9)))) { iVar2 = 1; } if (iVar2 == 1) { fVar7 = *(float *)(param_1 + 0x6c); fVar8 = fVar9; } else if (iVar2 == 2) { fVar7 = (float)FUN_180534980(*(undefined4 *)(lVar5 + 0x80c)); fVar7 = powf(DAT_1824c41e0,fVar7); fVar8 = sqrtf(fVar7); fVar7 = fVar8 * fVar9; fVar8 = fVar9 / fVar8; } else { fVar8 = *(float *)(param_1 + 0x68); fVar7 = fVar9; } *(float *)(param_1 + 0x318) = fVar7; *(float *)(param_1 + 0x314) = fVar8; } fVar9 = (float)FUN_180487300(param_1 + 0x68,*(undefined4 *)(param_1 + 0x314)); *(float *)(param_1 + 0x10) = fVar9 - *(float *)(param_1 + 0x310); fVar9 = (float)FUN_180487300(param_1 + 0x68,*(undefined4 *)(param_1 + 0x318)); *(float *)(param_1 + 0x14) = fVar9 + *(float *)(param_1 + 0x310); return; } ############ FUN_ 1811bf680 size=261 ############ ulonglong FUN_1811bf680(longlong *param_1,undefined8 param_2,char param_3,undefined8 param_4) { byte bVar1; float fVar2; undefined8 uVar3; ulonglong uVar4; int iVar5; float fVar6; undefined4 uVar7; fVar6 = (float)FUN_180487220(param_1 + 0x16,param_2,param_3,param_4,0xfffffffffffffffe); LOCK(); fVar2 = *(float *)(param_1 + 0x31); *(float *)(param_1 + 0x31) = fVar6; uVar4 = (ulonglong)(uint)fVar2; UNLOCK(); if (fVar2 != fVar6) { (**(code **)(*(longlong *)param_1[0x51] + 8))(); iVar5 = *(int *)((longlong)param_1 + 0x2ac); while (0 < iVar5) { iVar5 = iVar5 + -1; if ((*(int *)((longlong)param_1 + 0x2ac) <= iVar5) && (iVar5 = *(int *)((longlong)param_1 + 0x2ac) + -1, iVar5 < 0)) break; FUN_180492ecc(*(undefined8 *)(param_1[0x54] + (longlong)iVar5 * 8),param_1,(int)param_1[0x31]) ; } LOCK(); bVar1 = *(byte *)((longlong)param_1 + 0x194); *(byte *)((longlong)param_1 + 0x194) = 1; uVar4 = (ulonglong)bVar1; UNLOCK(); if (param_3 != '\0') { uVar3 = (**(code **)(*param_1 + 0x88))(param_1); uVar7 = FUN_180487220(uVar3,fVar6); uVar7 = FUN_180487300(uVar3,uVar7); uVar4 = FUN_1812c3d40(param_1,uVar7); } } return uVar4; } ############ FUN_ 18114c600 size=292 ############ void FUN_18114c600(undefined8 param_1,longlong *param_2,undefined1 param_3) { uint uVar1; longlong lVar2; undefined8 uVar3; uint *puVar4; undefined4 uVar5; longlong local_28; longlong local_20 [3]; local_20[1] = 0xfffffffffffffffe; FUN_18114c790(DAT_182673988,&local_28,param_2[1]); local_20[0] = param_2[0xd]; puVar4 = (uint *)(local_20[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } if (*(code **)(*param_2 + 8) == FUN_1811bf850) { lVar2 = param_2[0x31]; uVar3 = (**(code **)(*param_2 + 0x88))(param_2); uVar5 = FUN_180487220(uVar3,(int)lVar2); uVar5 = FUN_180487300(uVar3,uVar5); } else { uVar5 = (**(code **)(*param_2 + 8))(param_2); } FUN_18114d930(DAT_182673988 + 0x18,&local_28,local_20,uVar5,param_3); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_28 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return; } ############ FUN_ 1811a3ed0 size=152 ############ undefined8 * FUN_1811a3ed0(undefined8 *param_1,longlong *param_2,undefined4 param_3,undefined8 param_4) { code *pcVar1; longlong lVar2; undefined8 uVar3; undefined4 uVar4; *param_1 = UndoableParameterGesture::vftable; param_1[1] = param_2; pcVar1 = *(code **)(*param_2 + 8); if (pcVar1 == FUN_1811bf850) { lVar2 = param_2[0x31]; uVar3 = (**(code **)(*param_2 + 0x88))(param_2); uVar4 = FUN_180487220(uVar3,(int)lVar2); uVar4 = FUN_180487300(uVar3,uVar4); } else { uVar4 = (*pcVar1)(param_2,param_2,pcVar1,param_4,0xfffffffffffffffe); } *(undefined4 *)(param_1 + 2) = uVar4; *(undefined4 *)((longlong)param_1 + 0x14) = param_3; return param_1; } ############ FUN_ 1811bf850 size=68 ############ void FUN_1811bf850(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; undefined4 uVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; lVar1 = param_1[0x31]; uVar2 = (**(code **)(*param_1 + 0x88))(); uVar3 = FUN_180487220(uVar2,(int)lVar1,param_3,param_4,uVar4); FUN_180487300(uVar2,uVar3); return; } ############ FUN_ 1812b56a0 size=539 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812b56a0(longlong param_1,longlong *param_2) { uint *_Memory; longlong *plVar1; uint uVar2; longlong *plVar3; longlong lVar4; undefined8 uVar5; undefined8 *puVar6; float fVar7; undefined4 uVar8; float fVar9; double dVar10; undefined1 auStack_98 [32]; longlong local_78; longlong local_70 [2]; longlong *local_60; longlong local_58; undefined **local_50; double local_48; longlong *local_40; undefined1 local_38 [8]; ulonglong local_30; local_70[1] = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; lVar4 = *param_2; local_60 = param_2; if (lVar4 == 0) { plVar3 = (longlong *)FUN_181350e20(); } else { plVar3 = *(longlong **)(lVar4 + 0x18); plVar1 = plVar3 + (longlong)*(int *)(lVar4 + 0x24) * 3; if (plVar3 != plVar1) { local_78 = *(longlong *)(param_1 + 0x58); do { local_58 = *plVar3; if (local_58 == local_78) { plVar3 = plVar3 + 1; if (plVar3 != (longlong *)0x0) goto LAB_1812b573e; break; } plVar3 = plVar3 + 3; } while (plVar3 != plVar1); } plVar3 = (longlong *)FUN_181244160(); } LAB_1812b573e: (**(code **)(*(longlong *)*plVar3 + 0x20))((longlong *)*plVar3,local_70,plVar3 + 1); lVar4 = FUN_1812b5a60(param_1,local_70[0]); _Memory = (uint *)(local_70[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (lVar4 != 0) { FUN_1813522a0(lVar4 + 8,param_2); fVar7 = (float)(**(code **)(**(longlong **)(lVar4 + 0x20) + 0x18))(); uVar5 = (**(code **)(**(longlong **)(lVar4 + 0x20) + 0x88))(); fVar9 = 0.0; if ((0.0 <= fVar7) && (fVar9 = DAT_1824c3ea4, fVar7 <= DAT_1824c3ea4)) { fVar9 = fVar7; } uVar8 = FUN_1804db050(uVar5,fVar9); fVar9 = (float)FUN_180487220(uVar5,uVar8); local_50 = &PTR_vftable_18262b4d8; local_48 = (double)fVar9; puVar6 = (undefined8 *)FUN_181352cf0(lVar4 + 8,&local_40,param_1 + 0x50,&local_50); dVar10 = (double)(**(code **)(*(longlong *)*puVar6 + 0x18))((longlong *)*puVar6,puVar6 + 1); local_78 = CONCAT44(local_78._4_4_,*(float *)(lVar4 + 0x38)); if ((float)dVar10 != *(float *)(lVar4 + 0x38)) { uVar5 = (**(code **)(**(longlong **)(lVar4 + 0x20) + 0x88))(); uVar8 = FUN_180487220(uVar5,(float)dVar10); uVar8 = FUN_180487300(uVar5,uVar8); if (*(char *)(lVar4 + 0x3e) == '\0') { plVar3 = *(longlong **)(lVar4 + 0x20); (**(code **)(*plVar3 + 0x10))(plVar3,uVar8); FUN_1812c3d40(plVar3,uVar8); } } (**(code **)(*local_40 + 0xb0))(local_40,local_38); (**(code **)(*local_50 + 0xb0))(local_50,&local_48); } FUN_181352e50(param_2); } ############ FUN_ 1812b5e30 size=102 ############ void FUN_1812b5e30(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 uVar2; plVar1 = (longlong *)param_1[0x3d]; if (plVar1 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar1 + 0x10))(plVar1,param_2,param_3,param_4,0xfffffffffffffffe); uVar2 = (**(code **)(*param_1 + 0x88))(param_1); FUN_180487220(uVar2); FUN_180487300(uVar2); return; } ############ FUN_ 1812b5f80 size=69 ############ void FUN_1812b5f80(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; undefined4 uVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; lVar1 = param_1[0x2d]; uVar2 = (**(code **)(*param_1 + 0x88))(); uVar3 = FUN_180487220(uVar2,(int)lVar1,param_3,param_4,uVar4); FUN_180487300(uVar2,uVar3); return; } ############ FUN_ 1812b62e0 size=102 ############ void FUN_1812b62e0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 uVar2; plVar1 = (longlong *)param_1[0x3b]; if (plVar1 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar1 + 0x10))(plVar1,param_2,param_3,param_4,0xfffffffffffffffe); uVar2 = (**(code **)(*param_1 + 0x88))(param_1); FUN_180487220(uVar2); FUN_180487300(uVar2); return; } ############ FUN_ 1812b6440 size=69 ############ void FUN_1812b6440(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; undefined4 uVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; lVar1 = param_1[0x2b]; uVar2 = (**(code **)(*param_1 + 0x88))(); uVar3 = FUN_180487220(uVar2,(int)lVar1,param_3,param_4,uVar4); FUN_180487300(uVar2,uVar3); return; } ############ FUN_ 1812b6530 size=99 ############ void FUN_1812b6530(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined4 uVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; if ((longlong *)param_1[0x3b] == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } uVar2 = (**(code **)(*(longlong *)param_1[0x3b] + 0x10))(); uVar1 = (**(code **)(*param_1 + 0x88))(param_1); uVar2 = FUN_180487220(uVar1,uVar2,param_3,param_4,uVar3); FUN_180487300(uVar1,uVar2); return; } ############ FUN_ 1812b6660 size=74 ############ void FUN_1812b6660(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined4 uVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; uVar2 = *(undefined4 *)((longlong)param_1 + 0x15c); uVar1 = (**(code **)(*param_1 + 0x88))(); uVar2 = FUN_180487220(uVar1,uVar2,param_3,param_4,uVar3); FUN_180487300(uVar1,uVar2); return; } ############ FUN_ 1812b6750 size=69 ############ void FUN_1812b6750(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; undefined4 uVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; lVar1 = param_1[0x2b]; uVar2 = (**(code **)(*param_1 + 0x88))(); uVar3 = FUN_180487220(uVar2,(int)lVar1,param_3,param_4,uVar4); FUN_180487300(uVar2,uVar3); return; } ############ FUN_ 18161a990 size=284 ############ void FUN_18161a990(longlong param_1) { float *pfVar1; undefined4 *puVar2; undefined8 *puVar3; float fVar4; uint uVar5; longlong lVar6; ulonglong uVar7; int iVar8; undefined4 uVar9; float fVar10; float fVar11; uVar9 = FUN_180487300(*(undefined8 *)(param_1 + 0xa8)); fVar4 = DAT_1824c4624; iVar8 = 0; if (*(longlong *)(param_1 + 0xe8) - *(longlong *)(param_1 + 0xe0) >> 3 != 0) { do { uVar7 = (ulonglong)(uint)(iVar8 * 2); lVar6 = *(longlong *)(param_1 + 0xe8) - *(longlong *)(param_1 + 0xe0) >> 3; fVar11 = (float)iVar8; fVar10 = (float)lVar6; if (lVar6 < 0) { fVar10 = fVar10 + fVar4; } lVar6 = *(longlong *)(param_1 + 0x28); uVar5 = iVar8 * 2 + 1; iVar8 = iVar8 + 1; *(undefined4 *)(lVar6 + uVar7 * 4) = 0x3f800000; *(undefined4 *)(lVar6 + (ulonglong)uVar5 * 4) = 0x40000000; pfVar1 = (float *)(*(longlong *)(param_1 + 0x40) + uVar7 * 0x10); *pfVar1 = fVar11 / fVar10; pfVar1[1] = 0.0; pfVar1[2] = 0.0; pfVar1[3] = 0.0; pfVar1 = (float *)(*(longlong *)(param_1 + 0x40) + (ulonglong)uVar5 * 0x10); *pfVar1 = fVar11 / fVar10; pfVar1[1] = 0.0; pfVar1[2] = 0.0; pfVar1[3] = 0.0; puVar2 = (undefined4 *)(*(longlong *)(param_1 + 0x58) + uVar7 * 0x10); *puVar2 = uVar9; puVar2[1] = uVar9; puVar2[2] = uVar9; puVar2[3] = uVar9; puVar3 = (undefined8 *)(*(longlong *)(param_1 + 0x58) + (ulonglong)uVar5 * 0x10); *puVar3 = 0; puVar3[1] = 0; } while ((ulonglong)(longlong)iVar8 < (ulonglong)(*(longlong *)(param_1 + 0xe8) - *(longlong *)(param_1 + 0xe0) >> 3)); } return; } ############ FUN_ 18161b320 size=1107 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18161b320(longlong param_1) { longlong *plVar1; float fVar2; float *pfVar3; longlong *plVar4; float fVar5; float fVar6; ulonglong uVar7; float fVar8; int iVar9; longlong lVar10; ulonglong uVar11; LPCRITICAL_SECTION lpCriticalSection; ulonglong uVar12; uint uVar13; float fVar15; float fVar16; float fVar17; undefined4 uVar18; float fVar19; float fVar20; uint uVar21; undefined1 auStack_198 [32]; undefined4 local_178; float local_168 [2]; float local_160 [2]; float local_158 [4]; longlong local_148; undefined8 uStack_140; longlong local_138; undefined8 local_128; LPCRITICAL_SECTION local_120; undefined **local_118; float local_110; float fStack_10c; float fStack_108; undefined4 uStack_104; longlong local_100; undefined ***local_e0; ulonglong local_d8; ulonglong uVar14; local_128 = 0xfffffffffffffffe; local_d8 = DAT_182615970 ^ (ulonglong)auStack_198; lpCriticalSection = (LPCRITICAL_SECTION)(*(longlong *)(param_1 + 0x98) + 0x528); local_120 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); plVar1 = (longlong *)(param_1 + 0xe0); if (*(longlong *)(param_1 + 0xe8) - *plVar1 >> 3 == 0) { FUN_18056c640(plVar1,(longlong)*(int *)(param_1 + 0xbc)); FUN_18056cd00(param_1 + 0xf8,0x8000); } iVar9 = *(int *)(*(longlong *)(*(longlong *)(param_1 + 0x98) + 0x168) + 100) / 2 + 1; *(int *)(param_1 + 0xd4) = iVar9; local_168[0] = 0.0; local_148 = param_1 + 0x150; uStack_140 = local_168; FUN_18058fc80(local_148,(longlong)iVar9,&local_148); fVar2 = DAT_1824c41e0; fVar8 = DAT_1824c3ea4; lVar10 = (*(longlong *)(param_1 + 0xe8) - *plVar1 >> 3) + -1; fVar15 = (float)lVar10; if (lVar10 < 0) { fVar15 = fVar15 + DAT_1824c4624; } fVar15 = DAT_1824c3ea4 / fVar15; fVar20 = (float)(*(int *)(param_1 + 0xd4) + -1) * DAT_1824c41e0; *(int *)(param_1 + 0xd0) = (int)*(float *)(*(longlong *)(*(longlong *)(param_1 + 0x98) + 0x168) + 0x24); fVar6 = DAT_1824c4680; fVar5 = DAT_1824c3d8c; uVar11 = 0; if (*(longlong *)(param_1 + 0xe8) - *plVar1 >> 3 != 0) { uVar21 = (uint)DAT_1824c4f10; uVar7 = (ulonglong)DAT_1824c4f10 >> 0x20; uVar12 = uVar11; uVar14 = uVar11; do { fVar16 = (float)(int)uVar14 * fVar15; pfVar3 = *(float **)(param_1 + 0xb0); if (0.0 <= fVar16) { fVar17 = fVar8; if (fVar16 <= fVar8) { fVar17 = fVar16; } } else { fVar17 = 0.0; } if (*(longlong *)(pfVar3 + 0x14) == 0) { if (*(char *)(pfVar3 + 4) == '\0') { fVar16 = pfVar3[3]; if ((fVar16 != fVar8) && (0.0 < fVar17)) { fVar17 = logf(fVar17); fVar17 = expf(fVar17 / fVar16); } fVar16 = pfVar3[1] - *pfVar3; } else { fVar17 = fVar17 * fVar2 - fVar8; fVar16 = pfVar3[3]; if ((fVar16 != fVar8) && (fVar17 != 0.0)) { fVar19 = fVar8; if (fVar17 < 0.0) { fVar19 = fVar6; } fVar17 = logf((float)(double)CONCAT44((uint)((ulonglong)(double)fVar17 >> 0x20) & (uint)uVar7,SUB84((double)fVar17,0) & uVar21)); fVar17 = expf(fVar17 / fVar16); fVar17 = fVar17 * fVar19; } fVar16 = (pfVar3[1] - *pfVar3) * fVar5; fVar17 = fVar17 + fVar8; } fVar16 = fVar16 * fVar17 + *pfVar3; } else { local_160[0] = pfVar3[1]; local_158[0] = *pfVar3; plVar4 = *(longlong **)(pfVar3 + 0x14); local_168[0] = fVar17; if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar16 = (float)(**(code **)(*plVar4 + 0x10))(plVar4,local_158,local_160,local_168); } fVar16 = (fVar16 / (float)*(int *)(param_1 + 0xd0)) * fVar20; iVar9 = (int)fVar16; *(int *)(*plVar1 + uVar12) = iVar9; *(float *)(*plVar1 + 4 + uVar12) = fVar16 - (float)iVar9; uVar13 = (int)uVar14 + 1; uVar14 = (ulonglong)uVar13; uVar12 = uVar12 + 8; } while ((ulonglong)(longlong)(int)uVar13 < (ulonglong)(*(longlong *)(param_1 + 0xe8) - *plVar1 >> 3)); } lVar10 = *(longlong *)(param_1 + 0xf8); pfVar3 = *(float **)(param_1 + 0xa8); fVar2 = pfVar3[1]; fVar15 = *pfVar3; fVar5 = *pfVar3; fVar6 = pfVar3[1]; local_178 = 0x8000; FUN_180557920(lVar10,fVar8,fVar15,fVar2); fVar8 = DAT_1824c43e0; do { fVar20 = logf(*(float *)(lVar10 + uVar11 * 4)); uVar18 = FUN_180487300(*(undefined8 *)(param_1 + 0xa8), fVar20 * fVar8 * *(float *)(param_1 + 0xb8)); *(undefined4 *)(lVar10 + uVar11 * 4) = uVar18; uVar11 = uVar11 + 1; } while ((longlong)uVar11 < 0x8000); fStack_108 = DAT_1824c45e8 / (fVar2 - fVar15); local_118 = std::_Func_impl_no_alloc<,float,float>:: vftable; uStack_104 = uStack_140._4_4_; local_e0 = &local_118; local_138 = lVar10; local_110 = fVar5; fStack_10c = fVar6; local_100 = lVar10; FUN_18058fc00(param_1 + 0x110,&local_118); if (local_e0 != (undefined ***)0x0) { (*(code *)(*local_e0)[4])(local_e0,local_e0 != &local_118); } LeaveCriticalSection(lpCriticalSection); } ############ FUN_ 18161ba20 size=425 ############ void FUN_18161ba20(longlong param_1,undefined8 *param_2,longlong *param_3,undefined8 param_4) { longlong lVar1; bool bVar2; char cVar3; char cVar4; undefined4 uVar5; undefined4 uVar6; undefined8 uVar7; undefined4 uVar8; (*(code *)*param_2)(0x84c0,param_2,param_3,param_4,0xfffffffffffffffe); glBindTexture(0xde1,**(undefined4 **)(param_1 + 0x170)); lVar1 = *(longlong *)(param_1 + 0x98); cVar3 = FUN_180528c00(lVar1); if ((cVar3 == '\0') && (*(char *)(lVar1 + 0x939) == '\0')) { cVar3 = '\0'; } else { cVar3 = '\x01'; } cVar4 = FUN_180528ca0(*(undefined8 *)(param_1 + 0x98)); if (cVar4 == '\0') { if ((*(char *)(*(longlong *)(param_1 + 0x98) + 0x93a) == '\0') || (*(char *)(*(longlong *)(param_1 + 0x98) + 0x939) == '\0')) { bVar2 = false; } else { bVar2 = true; } if (!bVar2) { uVar7 = 0; goto LAB_18161bad1; } } uVar7 = 1; LAB_18161bad1: uVar5 = (**(code **)(*param_3 + 0x98))((int)param_3[1],"deltaEnabled"); (**(code **)(*param_3 + 200))(uVar5,cVar3); uVar5 = (**(code **)(*param_3 + 0x98))((int)param_3[1],"bypassEnabled"); (**(code **)(*param_3 + 200))(uVar5,uVar7); uVar8 = FUN_180487300(*(undefined8 *)(param_1 + 0xa8),0); uVar5 = uVar8; if (cVar3 != '\0') { uVar5 = DAT_1824c3ea4; } uVar6 = (**(code **)(*param_3 + 0x98))((int)param_3[1],&DAT_1822ece74); (**(code **)(*param_3 + 0xc0))(uVar6,uVar5); if (cVar3 == '\0') { uVar8 = DAT_1824c4680; } uVar5 = (**(code **)(*param_3 + 0x98))((int)param_3[1],"bottomY"); (**(code **)(*param_3 + 0xc0))(uVar5,uVar8); uVar5 = (**(code **)(*(longlong *)(param_1 + 8) + 0x18))(); /* WARNING: Could not recover jumptable at 0x00018161bbc2. Too many branches */ /* WARNING: Treating indirect jump as call */ glDrawArrays(5,0,uVar5); return; } ############ FUN_ 181a05850 size=70 ############ float FUN_181a05850(longlong param_1,undefined4 *param_2) { float fVar1; fVar1 = (float)FUN_180487300(*(undefined8 *)(param_1 + 0x1c8),*param_2); return (float)((double)*(int *)(param_1 + 0x16c) * (DAT_1824c4140 - (double)fVar1)); } ############ FUN_ 181a06340 size=1337 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181a06340(longlong param_1,char param_2) { float fVar1; float fVar2; longlong lVar3; float *pfVar4; float *pfVar5; longlong *plVar6; int *piVar7; float fVar8; ulonglong uVar9; float fVar10; double dVar11; int iVar12; int iVar13; int iVar14; longlong lVar15; undefined1 (*pauVar16) [16]; float *pfVar17; float fVar18; float fVar19; float fVar20; double dVar21; undefined1 auVar22 [16]; float fVar23; uint uVar24; undefined1 auStack_178 [32]; undefined4 local_158; int local_148 [2]; double local_140; float local_138 [2]; float local_130 [2]; float local_128; float fStack_124; float fStack_120; undefined4 uStack_11c; longlong local_118; undefined8 local_110; undefined **local_108; float local_100; float fStack_fc; float fStack_f8; undefined4 uStack_f4; longlong local_f0; undefined ***local_d0; ulonglong local_c8; undefined8 extraout_XMM0_Qb; local_110 = 0xfffffffffffffffe; local_c8 = DAT_182615970 ^ (ulonglong)auStack_178; lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x1b8) + 0x168); iVar12 = *(int *)(lVar3 + 100) / 2 + 1; fVar1 = *(float *)(lVar3 + 0x24); if (((param_2 != '\0') || (*(int *)(param_1 + 0x15c) != iVar12)) || (*(float *)(param_1 + 0x160) != fVar1)) { *(int *)(param_1 + 0x15c) = iVar12; *(float *)(param_1 + 0x160) = fVar1; FUN_180534840(param_1 + 0xd0,0x2000); fVar10 = DAT_1824c3ea4; lVar3 = *(longlong *)(param_1 + 0xd0); pfVar17 = *(float **)(param_1 + 0x1c8); fVar1 = pfVar17[1]; fVar2 = *pfVar17; fVar8 = *pfVar17; fVar19 = pfVar17[1]; local_158 = 0x2000; FUN_180557920(lVar3,DAT_1824c3ea4); lVar15 = 0; do { fVar18 = *(float *)(lVar3 + lVar15 * 4); pfVar17 = *(float **)(param_1 + 0x1c8); fVar23 = *pfVar17; if ((*pfVar17 <= fVar18) && (fVar23 = pfVar17[1], fVar18 <= pfVar17[1])) { fVar23 = fVar18; } fVar18 = (float)FUN_180487300(pfVar17,fVar23); *(float *)(lVar3 + lVar15 * 4) = fVar10 - fVar18; fVar18 = DAT_1824c45c0; lVar15 = lVar15 + 1; } while (lVar15 < 0x2000); fStack_120 = DAT_1824c45c0 / (fVar1 - fVar2); local_108 = std::_Func_impl_no_alloc<,float,float>:: vftable; uStack_f4 = uStack_11c; local_d0 = &local_108; local_128 = fVar8; fStack_124 = fVar19; local_118 = lVar3; local_100 = fVar8; fStack_fc = fVar19; fStack_f8 = fStack_120; local_f0 = lVar3; (*(code *) PTR_vtbl___AV__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M___1824b0a58 )(&local_108,0); iVar12 = *(int *)(param_1 + 0x28); FUN_18056cd00(param_1 + 0x110,0x400); pauVar16 = *(undefined1 (**) [16])(param_1 + 0x110); pfVar17 = *(float **)(param_1 + 0x1c0); logf(*pfVar17); logf(pfVar17[1]); iVar14 = 0; do { auVar22._0_8_ = FUN_181a10f40(); auVar22._8_8_ = extraout_XMM0_Qb; *pauVar16 = auVar22; iVar14 = iVar14 + 4; pauVar16 = pauVar16 + 1; } while (iVar14 < 0x400); *(undefined8 *)(param_1 + 0x180) = *(undefined8 *)(param_1 + 0x178); *(undefined8 *)(param_1 + 0xe8) = *(undefined8 *)(param_1 + 0xe0); fVar8 = DAT_1824c4680; dVar11 = DAT_1824c4520; fVar2 = DAT_1824c41e0; fVar1 = DAT_1824c3d8c; iVar14 = -1; pfVar17 = *(float **)(param_1 + 0x110); pfVar4 = *(float **)(param_1 + 0x118); if (pfVar17 != pfVar4) { uVar24 = (uint)DAT_1824c4f10; uVar9 = (ulonglong)DAT_1824c4f10 >> 0x20; do { fVar19 = *pfVar17; lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x1b8) + 0x168); if (lVar3 == 0) { iVar13 = 0; } else { iVar13 = *(int *)(lVar3 + 100); if (iVar13 < 0) { iVar13 = iVar13 + 1; } local_140 = (double)((fVar19 / (*(float *)(lVar3 + 0x24) * fVar1)) * (float)((iVar13 >> 1) + 1)) + dVar11; iVar13 = local_140._0_4_; } local_148[0] = iVar13; if ((iVar14 < iVar13) && (iVar13 < *(int *)(param_1 + 0x15c))) { pfVar5 = *(float **)(param_1 + 0x1c0); fVar23 = pfVar5[1]; fVar20 = fVar10; if (*(longlong *)(pfVar5 + 0x24) == 0) { fVar19 = (fVar19 - *pfVar5) / (fVar23 - *pfVar5); if (0.0 <= fVar19) { if (fVar19 <= fVar10) { fVar20 = fVar19; } } else { fVar20 = 0.0; } fVar19 = pfVar5[3]; if (fVar19 != fVar10) { if (*(char *)(pfVar5 + 4) == '\0') { fVar20 = powf(fVar20,fVar19); } else { fVar20 = fVar20 * fVar2 - fVar10; fVar23 = fVar10; if (fVar20 < 0.0) { fVar23 = fVar8; } dVar21 = (double)fVar20; fVar19 = powf((float)(double)CONCAT44((uint)((ulonglong)dVar21 >> 0x20) & (uint)uVar9,SUB84(dVar21,0) & uVar24),fVar19); fVar20 = (fVar23 * fVar19 + fVar10) * fVar1; } } } else { local_140 = (double)CONCAT44(local_140._4_4_,*pfVar5); plVar6 = *(longlong **)(pfVar5 + 0x24); local_138[0] = fVar19; local_130[0] = fVar23; if (plVar6 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar19 = (float)(**(code **)(*plVar6 + 0x10))(plVar6,&local_140,local_130,local_138); if (0.0 <= fVar19) { if (fVar19 <= fVar10) { fVar20 = fVar19; } } else { fVar20 = 0.0; } } fVar20 = (float)iVar12 * fVar20; local_140 = (double)CONCAT44(local_140._4_4_,fVar20); pfVar5 = *(float **)(param_1 + 0x180); if (*(float **)(param_1 + 0x188) == pfVar5) { FUN_18056cef0((undefined8 *)(param_1 + 0x178),pfVar5,&local_140); } else { *pfVar5 = fVar20; *(longlong *)(param_1 + 0x180) = *(longlong *)(param_1 + 0x180) + 4; } piVar7 = *(int **)(param_1 + 0xe8); if (*(int **)(param_1 + 0xf0) == piVar7) { FUN_18057b9e0((undefined8 *)(param_1 + 0xe0),piVar7,local_148); iVar14 = local_148[0]; } else { *piVar7 = iVar13; *(longlong *)(param_1 + 0xe8) = *(longlong *)(param_1 + 0xe8) + 4; iVar14 = iVar13; } } pfVar17 = pfVar17 + 1; } while (pfVar17 != pfVar4); } local_118 = *(undefined8 *)(param_1 + 0xd0); pfVar17 = *(float **)(param_1 + 0x1c8); local_100 = *pfVar17; fStack_fc = pfVar17[1]; fStack_f8 = fVar18 / (pfVar17[1] - *pfVar17); local_108 = std::_Func_impl_no_alloc<,float,float>:: vftable; uStack_f4 = uStack_11c; local_d0 = &local_108; local_f0 = local_118; FUN_18058fc00(param_1 + 0x1e8,&local_108); if (local_d0 != (undefined ***)0x0) { (*(code *)(*local_d0)[4]) (local_d0,CONCAT71((int7)((ulonglong)&local_108 >> 8),local_d0 != &local_108)); } } } ############ FUN_ 181a06940 size=104 ############ void FUN_181a06940(longlong param_1) { float fVar1; *(undefined4 *)(param_1 + 0x168) = *(undefined4 *)(param_1 + 0x28); *(undefined4 *)(param_1 + 0x16c) = *(undefined4 *)(param_1 + 0x2c); fVar1 = (float)FUN_180487300(*(undefined8 *)(param_1 + 0x1c8),0); *(float *)(param_1 + 0x170) = (float)((DAT_1824c4140 - (double)fVar1) * (double)*(int *)(param_1 + 0x16c)); FUN_181a06340(param_1,1); return; } ############ FUN_ 1811b9cc0 size=34 ############ void FUN_1811b9cc0(longlong param_1) { undefined4 uVar1; uVar1 = FUN_1811b8610(); FUN_180487300(param_1 + 0xb0,uVar1); return; } ############ FUN_ 1812c3200 size=69 ############ void FUN_1812c3200(longlong *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined4 uVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; uVar1 = (**(code **)(*param_1 + 0x88))(); uVar2 = FUN_180487220(uVar1,param_2,param_3,param_4,uVar3); FUN_180487300(uVar1,uVar2); return; } ############ FUN_ 180ac3340 size=850 ############ /* WARNING: Removing unreachable block (ram,0x000180ac346e) */ /* WARNING: Removing unreachable block (ram,0x000180ac340f) */ /* WARNING: Removing unreachable block (ram,0x000180ac3454) */ /* WARNING: Removing unreachable block (ram,0x000180ac348d) */ void FUN_180ac3340(undefined8 param_1,undefined8 param_2,undefined1 param_3) { longlong lVar1; ulonglong uVar2; uint uVar3; undefined *puVar4; int iVar5; undefined8 uVar6; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_e8 [32]; undefined1 local_c8; undefined *local_c0; undefined8 local_b8; uint local_b0; undefined *local_a8; uint local_9c; undefined4 local_98; code *local_90; undefined8 local_88; undefined8 local_70; undefined8 local_68; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; uVar3 = (uint)&stack0x00000000 & 0x17f; iVar5 = (uVar3 + 2) * (uVar3 + 1) * uVar3; local_9c = 0xdf14 << ((byte)(((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e) & 0x1f) ^ 0xd944; local_98 = 800; do { uVar6 = rdtsc(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = ((uint)uVar6 ^ (uint)((ulonglong)uVar6 >> 0x20)) * -0x50283b32; local_b0 = (uVar3 >> 0x18 ^ uVar3) * 0x1a85ca6b; local_c8 = param_3; local_70 = param_1; local_68 = param_2; if (local_b0 < 0x3333333f) { do { local_90 = FUN_1813f2240; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = FUN_1813f2240(0,0x1f37); if (1 < uVar2) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } local_88 = 0; uVar6 = 0x2610; local_a8 = &DAT_180acd758; local_b8 = 0x2610; puVar4 = &DAT_180acfd68; local_c0 = puVar4; FUN_180ac36be(); /* WARNING: Call to offcut address within same function */ iVar5 = func_0x000180ac36a1(); *(undefined4 *)(puVar4 + 0x4d584142) = 0x80000000; FUN_180ac36bf(iVar5 + 0x156,uVar6); return; } ############ FUN_ 1808c2da0 size=1667 ############ /* WARNING: Instruction at (ram,0x0001808c2ff7) overlaps instruction at (ram,0x0001808c2ff6) */ /* WARNING: Removing unreachable block (ram,0x0001808c31d0) */ /* WARNING: Removing unreachable block (ram,0x0001808c2fdf) */ /* WARNING: Removing unreachable block (ram,0x0001808c2ff1) */ /* WARNING: Removing unreachable block (ram,0x0001808c3175) */ /* WARNING: Removing unreachable block (ram,0x0001808c31f2) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_1808c2da0(undefined8 param_1,int *param_2) { undefined8 uVar1; bool bVar2; byte bVar3; undefined *puVar4; uint uVar5; ulonglong uVar6; uint uVar7; int iVar8; uint uVar9; longlong lVar10; uint uVar11; IMAGE_DOS_HEADER *pIVar12; IMAGE_DOS_HEADER *pIVar13; longlong *plVar14; undefined4 *puVar15; uint *puVar16; uint uVar17; uint uVar18; uint unaff_R12D; undefined4 *puVar19; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_d8 [32]; uint local_b8 [2]; undefined *local_b0; undefined *local_a8; uint local_a0; undefined *local_98; uint local_90; uint local_8c; int local_88; code *local_80; int *local_78; undefined8 local_70; undefined4 local_50 [4]; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_d8; uVar11 = unaff_R12D & 0xffffff00; local_88 = 1; do { uVar1 = rdtsc(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x46017333; bVar2 = false; local_a0 = (uVar7 >> 0x18 ^ uVar7) * -0x3d4da42f; local_90 = uVar11; local_78 = param_2; local_70 = param_1; if (local_a0 < 0x3333333f) { do { local_80 = FUN_1813f2240; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = FUN_1813f2240(0,0x6c7f); if (1 < uVar6) { lVar10 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar14 = (longlong *)register0x00000020; while (lVar10 != -0x3333333333333334) { *plVar14 = 0; plVar14 = plVar14 + 8; lVar10 = *plVar14; } } } local_b8[0] = 0x811c9ddb; pIVar12 = &IMAGE_DOS_HEADER_180000000; local_98 = (undefined *)0x0; local_b0 = &DAT_1808f04ac; local_a8 = &DAT_1808f36a8; pIVar13 = pIVar12; do { FUN_1808c1278(0x6224,pIVar13); puVar4 = local_b0; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_98 = local_a8; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_b0 = (undefined *)0x322b50da4d0206ed; /* WARNING: Ignoring partial resolution of indirect */ local_b0._0_4_ = 0x4d0206ed; local_90 = uVar11; do { if (bVar2) break; local_90 = local_90 & 0xff; if (local_88 == *param_2) { local_90 = 1; } bVar2 = true; } while ((char)local_90 == '\0'); iVar8 = (local_b8[0] & 0x8ff) * (local_b8[0] & 0x8ff) + 1; uVar11 = (iVar8 >> 4) + (iVar8 >> 1) + iVar8 * 0x24924924 >> 0x1d; uVar7 = (uint)local_a8; if (((int)(uVar11 - 7) >> 0x1f & uVar11 & 0x7c0) == 0) { uVar11 = (uint)puVar4 & 0x1f | 0xf; uVar5 = uVar7 & 0x7f | 0x58; uVar11 = uVar11 * uVar11 * 0xeee1 ^ uVar5 * uVar5 * 0xdf87; } else { uVar11 = ((uVar7 & 0xfff) * (uVar7 & 0xfff) * 0x10 + 4) % 0x13; } uVar5 = local_b8[0] & 0x3f | 0x6d; uVar9 = local_b8[0] & 0xf | 7; puVar15 = (undefined4 *) (puVar4 + (0xc - (longlong) (int)(62999 - (uVar5 * uVar5 * 0x4cd == uVar9 * uVar9 * 0x708d) ^ ((int)(-uVar11 | uVar11) >> 0x1f) * -0xf607))); LAB_1808c3150: if (((uint)puVar15 >> 0xc & 1) == 0) { uVar11 = (uint)local_98 & 0x17f; iVar8 = (uVar11 + 2) * (uVar11 + 1) * uVar11; uVar11 = ((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e; } else { uVar11 = local_b8[0] & 0x6f; uVar11 = (uVar11 + 1) * (uVar11 + 1) * uVar11 * uVar11 & 0x80000003; } if (((ulonglong)puVar15 & 4) == 0) { bVar3 = (byte)puVar15 & 0x3f; bVar3 = bVar3 * bVar3 * (bVar3 + 1) * (bVar3 + 1); } else { bVar3 = (byte)local_b8[0] & 0x3f; bVar3 = bVar3 * bVar3 * (bVar3 + 1) * (bVar3 + 1); } puVar15 = (undefined4 *) ((longlong)puVar15 + ((0x5a11L >> (bVar3 & 3) ^ 0x5915U) - ((longlong)(int)(uVar11 + 0x8427) ^ 0x8727U))); uVar11 = local_b8[0] & 0x17f; uVar5 = (uint)puVar15; uVar18 = ((uVar5 & 0x7ff) - 1) * (uVar5 & 0x7ff) - 1 & 1; uVar17 = (((local_b8[0] & 0x2ff) - 1) * (local_b8[0] & 0x2ff) - 1 & 1) - ((uVar11 + 2) * (uVar11 + 1) * uVar11) % 3; uVar9 = (((local_b8[0] & 0x6ff) + 1) * (local_b8[0] & 0x6ff) + 7) % 0x51; uVar11 = (-((int)(-uVar18 | uVar18) >> 0x1f) * (uVar5 ^ 0x1000 | 0xe9f1) & (uVar5 ^ 0xb130)) - (uVar7 ^ 0xb130); if (uVar11 == ((int)(-uVar17 | uVar17) >> 0x1f) - ((int)(-uVar9 | uVar9) >> 0x1f)) { local_8c = local_b8[0]; /* WARNING: Call to offcut address within same function */ func_0x0001808c345d(&local_8c,(-(ulonglong)uVar11 ^ 0xffffffffffffffff) + 1); return; } puVar19 = puVar15; if ((pIVar12 != (IMAGE_DOS_HEADER *)0x0) && (lVar10._0_1_ = pIVar12->e_magic[0], lVar10._1_1_ = pIVar12->e_magic[1], lVar10._2_2_ = pIVar12->e_cblp, lVar10._4_2_ = pIVar12->e_cp, lVar10._6_2_ = pIVar12->e_crlc, -1 < lVar10)) { local_a8 = (undefined *)0x2621fc0; do { if (puVar15 < IMAGE_DOS_HEADER_180000000.e_magic + lVar10 + 8) { if (-1 < lVar10) { plVar14 = (longlong *)(lVar10 + 0x180000000); if (plVar14 < puVar15 + 1) { local_50[0] = *puVar15; pIVar13 = pIVar12; goto LAB_1808c3370; } } break; } lVar10._0_2_ = pIVar12->e_cparhdr; lVar10._2_2_ = pIVar12->e_minalloc; lVar10._4_2_ = pIVar12->e_maxalloc; lVar10._6_2_ = pIVar12->e_ss; pIVar12 = (IMAGE_DOS_HEADER *)&pIVar12->e_cparhdr; } while (-1 < lVar10); } goto LAB_1808c33a0; while (plVar14 = (longlong *)(lVar10 + 0x180000000), plVar14 < puVar15 + 1) { LAB_1808c3370: pIVar13 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; *(longlong *)(&stack0x00017fffffb0 + (lVar10 - (longlong)puVar15)) = *plVar14 + -0x180000000; lVar10 = *(longlong *)pIVar13; puVar19 = local_50; if (lVar10 < 0) break; } LAB_1808c33a0: do { puVar16 = local_b8; uVar11 = FUN_1808c634a(0x6224,(undefined *)((longlong)puVar19 + 0x3c3f003d),0); *puVar16 = uVar11; /* WARNING: Call to offcut address within same function */ func_0x0001808c2ec1(); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); local_b8[0] = local_b8[0] * 0x1000193; goto LAB_1808c3150; } ############ FUN_ 180942e80 size=2675 ############ /* WARNING: Removing unreachable block (ram,0x00018094383d) */ void FUN_180942e80(void) { longlong *plVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint uVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; uint uVar21; int iVar22; int iVar23; uint uVar24; uint uVar25; uint uVar26; uint uVar27; uint uVar28; uint uVar29; uint uVar30; uint uVar31; longlong lVar32; undefined8 uVar33; ulonglong uVar34; uint uVar35; uint uVar36; uint uVar37; uint uVar38; uint uVar39; int *unaff_RBX; longlong unaff_RBP; longlong *unaff_RSI; uint unaff_EDI; longlong unaff_R13; longlong unaff_R14; longlong unaff_R15; uVar35 = (*unaff_RBX + 1) * *unaff_RBX & 0x80000001; if ((int)uVar35 < 0) { uVar35 = (uVar35 - 1 | 0xfffffffe) + 1; } if (uVar35 != 0) { FUN_1809438db(0x7114); FUN_180942e80(); return; } (**(code **)(*unaff_RSI + 0xc0))(); uVar35 = *(uint *)(unaff_R14 + 4 + unaff_R13); uVar2 = *(uint *)(unaff_R14 + 8 + unaff_R13); uVar3 = *(uint *)(unaff_R14 + 0xc + unaff_R13); uVar4 = *(uint *)(unaff_R14 + 0x10 + unaff_R13); uVar5 = *(uint *)(unaff_R14 + 0x14 + unaff_R13); uVar6 = *(uint *)(unaff_R14 + 0x18 + unaff_R13); uVar7 = *(uint *)(unaff_R14 + 0x1c + unaff_R13); uVar8 = *(uint *)(unaff_R14 + 0x20 + unaff_R13); uVar9 = *(uint *)(unaff_R14 + 0x24 + unaff_R13); uVar10 = *(uint *)(unaff_R14 + 0x28 + unaff_R13); uVar11 = *(uint *)(unaff_R14 + 0x2c + unaff_R13); uVar12 = *(uint *)(unaff_R14 + 0x30 + unaff_R13); uVar13 = *(uint *)(unaff_R14 + 0x34 + unaff_R13); uVar14 = *(uint *)(unaff_R14 + 0x38 + unaff_R13); uVar15 = *(uint *)(unaff_R14 + 0x3c + unaff_R13); uVar16 = *(uint *)(unaff_R14 + 0x40 + unaff_R13); uVar17 = *(uint *)(unaff_R14 + 0x44 + unaff_R13); uVar18 = *(uint *)(unaff_R14 + 0x48 + unaff_R13); uVar19 = *(uint *)(unaff_R14 + 0x4c + unaff_R13); uVar20 = *(uint *)(unaff_R14 + 0x50 + unaff_R13); uVar21 = *(uint *)(unaff_R14 + 0x54 + unaff_R13); do { uVar33 = rdtsc(); *(uint *)(unaff_RBP + -0x55) = (uint)uVar33 ^ (uint)((ulonglong)uVar33 >> 0x20); uVar36 = (*(int *)(unaff_RBP + 0x5f) + 1) * *(int *)(unaff_RBP + 0x5f) & 0x80000001; if ((int)uVar36 < 0) { uVar36 = (uVar36 - 1 | 0xfffffffe) + 1; } } while (uVar36 != 0); uVar36 = *(int *)(unaff_RBP + -0x55) * -0x3d4d00af; uVar36 = (uVar36 >> 0x18 ^ uVar36) * -0x733200af; *(uint *)(unaff_RBP + -0x55) = uVar36; if (uVar36 < 0x2061237) { *(undefined8 *)(unaff_RBP + -0x29) = 0; do { *(undefined8 *)(unaff_RBP + -0x29) = FUN_1813f2240; func_0x000180941958((undefined8 *)(unaff_RBP + -0x29),0xb34); uVar36 = (*(int *)(unaff_RBP + 0x5f) + 1) * *(int *)(unaff_RBP + 0x5f) & 0x80000001; if ((int)uVar36 < 0) { uVar36 = (uVar36 - 1 | 0xfffffffe) + 1; } } while (uVar36 != 0); uVar34 = (**(code **)(unaff_RBP + -0x29))(); if (1 < uVar34) { plVar1 = (longlong *)(unaff_RBP + 0x5f); lVar32 = *plVar1; while (lVar32 != -0x3333333333333334) { *plVar1 = 0; plVar1 = plVar1 + 8; lVar32 = *plVar1; } } } *(undefined8 *)(unaff_RBP + -0x51) = 0xdbcf46a282f26230; *(int *)(unaff_RBP + -0x41) = (int)*(undefined8 *)(unaff_RBP + -0x51); uVar36 = *(uint *)(unaff_R14 + 0x58 + unaff_R13); do { FUN_180944a7c(0x7114); uVar37 = (*(int *)(unaff_RBP + 0x5f) + 1) * *(int *)(unaff_RBP + 0x5f) & 0x80000001; if ((int)uVar37 < 0) { uVar37 = (uVar37 - 1 | 0xfffffffe) + 1; } } while (uVar37 != 0); *(uint *)(unaff_RBP + -0x55) = (*(uint *)(unaff_R14 + 0x7c + unaff_R13) ^ (*(uint *)(unaff_R14 + 0x78 + unaff_R13) ^ (*(uint *)(unaff_R14 + 0x74 + unaff_R13) ^ (*(uint *)(unaff_R14 + 0x70 + unaff_R13) ^ (*(uint *)(unaff_R14 + 0x6c + unaff_R13) ^ (*(uint *)(unaff_R14 + 0x68 + unaff_R13) ^ (*(uint *)(unaff_R14 + 100 + unaff_R13) ^ (*(uint *)(unaff_R14 + 0x60 + unaff_R13) ^ (*(uint *)(unaff_R14 + 0x5c + unaff_R13) ^ (uVar36 ^ (((((((((((((((((((((uVar35 ^ unaff_EDI) * 0x1000181 ^ uVar2) * 0x1000181 ^ uVar3) * 0x1000181 ^ uVar4) * 0x1000181 ^ uVar5) * 0x1000181 ^ uVar6) * 0x1000181 ^ uVar7) * 0x1000181 ^ uVar8) * 0x1000181 ^ uVar9) * 0x1000181 ^ uVar10) * 0x1000181 ^ uVar11) * 0x1000181 ^ uVar12) * 0x1000181 ^ uVar13) * 0x1000181 ^ uVar14) * 0x1000181 ^ uVar15) * 0x1000181 ^ uVar16) * 0x1000181 ^ uVar17) * 0x1000181 ^ uVar18) * 0x1000181 ^ uVar19) * 0x1000181 ^ uVar20) * 0x1000181 ^ uVar21) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; (**(code **)(*unaff_RSI + 0xd0))(); iVar22 = *(int *)(unaff_RBP + -0x35); iVar23 = *(int *)(unaff_RBP + -0x49); if (iVar22 != 0) { do { switch(*(undefined2 *)(unaff_RBP + -0x59)) { case 1: if (iVar22 != 8) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x128))(); *(undefined1 *)(unaff_R15 + 0x418) = 1; break; case 2: if (iVar22 != 8) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x128))(); *(undefined1 *)(unaff_R15 + 0x419) = 1; break; case 3: if (iVar22 != 8) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x128))(); *(undefined1 *)(unaff_R15 + 0x41a) = 1; break; case 4: if (iVar22 != 8) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x128))(); *(undefined1 *)(unaff_R15 + 0x41b) = 1; break; case 5: if (iVar22 != 0xf) goto LAB_18094360a; *(undefined8 *)(unaff_R15 + 0x20) = *(undefined8 *)(unaff_R15 + 0x18); (**(code **)(*unaff_RSI + 0xf0))(); FUN_1805b1330(unaff_R15 + 0x18,*(undefined4 *)(unaff_RBP + -0x39),unaff_R15 + 0x18); uVar35 = 0; if (*(int *)(unaff_RBP + -0x39) != 0) { do { (**(code **)(*unaff_RSI + 0x118))(); uVar35 = uVar35 + 1; } while (uVar35 < *(uint *)(unaff_RBP + -0x39)); } (**(code **)(*unaff_RSI + 0xf8))(); *(undefined1 *)(unaff_R15 + 0x41c) = 1; break; default: switchD_18094320c_caseD_6: LAB_18094360a: FUN_1806d8eb0(); break; case 10: if (iVar22 != 10) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x130))(); *(undefined1 *)(unaff_R15 + 0x41d) = 1; break; case 0xb: if (iVar22 != 10) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x130))(); *(undefined1 *)(unaff_R15 + 0x41e) = 1; break; case 0xc: if (iVar22 != 10) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x130))(); *(undefined1 *)(unaff_R15 + 0x41f) = 1; break; case 0xd: if (iVar22 != 10) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x130))(); *(undefined1 *)(unaff_R15 + 0x420) = 1; break; case 0xe: if (iVar22 != 8) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x128))(); *(undefined1 *)(unaff_R15 + 0x421) = 1; break; case 0xf: if (iVar22 != 8) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x128))(); *(undefined1 *)(unaff_R15 + 0x422) = 1; break; case 0x14: if (iVar22 != 2) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x110))(); *(undefined1 *)(unaff_R15 + 0x423) = 1; break; case 0x15: if (iVar22 != 2) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x110))(); *(undefined1 *)(unaff_R15 + 0x424) = 1; break; case 0x16: if (iVar22 != 0xc) goto switchD_18094320c_caseD_6; FUN_18094f6f0(unaff_R15 + 0x60); *(undefined1 *)(unaff_R15 + 0x425) = 1; break; case 0x17: if (iVar22 != 0xc) goto switchD_18094320c_caseD_6; FUN_180945070(unaff_R15 + 0x108); *(undefined1 *)(unaff_R15 + 0x426) = 1; break; case 0x18: if (iVar22 != 0xc) goto switchD_18094320c_caseD_6; FUN_18094f6f0(unaff_R15 + 0x168); *(undefined1 *)(unaff_R15 + 0x427) = 1; break; case 0x1e: if (iVar22 != 0xb) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x140))(); *(undefined1 *)(unaff_R15 + 0x428) = 1; break; case 0x1f: if (iVar22 != 0xb) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x140))(); *(undefined1 *)(unaff_R15 + 0x429) = 1; break; case 0x20: if (iVar22 != 0xb) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x140))(); *(undefined1 *)(unaff_R15 + 0x42a) = 1; break; case 0x21: if (iVar22 != 0xb) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x140))(); *(undefined1 *)(unaff_R15 + 0x42b) = 1; break; case 0x22: if (iVar22 != 0xb) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x140))(); *(undefined1 *)(unaff_R15 + 0x42c) = 1; break; case 0x23: if (iVar22 != 0xb) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x140))(); *(undefined1 *)(unaff_R15 + 0x42d) = 1; break; case 0x24: if (iVar22 != 0xb) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x140))(); *(undefined1 *)(unaff_R15 + 0x42e) = 1; break; case 0x28: if (iVar22 != 0xc) goto switchD_18094320c_caseD_6; FUN_1809404a0(unaff_R15 + 0x2f0); *(undefined1 *)(unaff_R15 + 0x42f) = 1; break; case 0x29: if (iVar22 != 0xb) goto LAB_18094360a; (**(code **)(*unaff_RSI + 0x140))(); *(undefined1 *)(unaff_R15 + 0x430) = 1; } (**(code **)(*unaff_RSI + 0xd8))(); (**(code **)(*unaff_RSI + 0xd0))(); iVar22 = *(int *)(unaff_RBP + -0x35); } while (iVar22 != 0); unaff_R13 = *(longlong *)(unaff_RBP + -0x19); } uVar39 = (*(uint *)(unaff_R14 + 0x80 + unaff_R13) ^ *(uint *)(unaff_RBP + -0x55)) * 0x1000181; uVar34 = (ulonglong)uVar39; uVar35 = *(uint *)(unaff_R14 + 0x84 + unaff_R13); (**(code **)(*unaff_RSI + 200))(); uVar2 = *(uint *)(unaff_R14 + 0x88 + unaff_R13); uVar3 = *(uint *)(unaff_R14 + 0x8c + unaff_R13); uVar4 = *(uint *)(unaff_R14 + 0x90 + unaff_R13); uVar5 = *(uint *)(unaff_R14 + 0x94 + unaff_R13); uVar6 = *(uint *)(unaff_R14 + 0x98 + unaff_R13); uVar7 = *(uint *)(unaff_R14 + 0x9c + unaff_R13); uVar8 = *(uint *)(unaff_R14 + 0xa0 + unaff_R13); uVar9 = *(uint *)(unaff_R14 + 0xa4 + unaff_R13); uVar10 = *(uint *)(unaff_R14 + 0xa8 + unaff_R13); uVar11 = *(uint *)(unaff_R14 + 0xac + unaff_R13); uVar12 = *(uint *)(unaff_R14 + 0xb0 + unaff_R13); uVar13 = *(uint *)(unaff_R14 + 0xb4 + unaff_R13); uVar14 = *(uint *)(unaff_R14 + 0xb8 + unaff_R13); uVar15 = *(uint *)(unaff_R14 + 0xbc + unaff_R13); uVar16 = *(uint *)(unaff_R14 + 0xc0 + unaff_R13); uVar17 = *(uint *)(unaff_R14 + 0xc4 + unaff_R13); uVar18 = *(uint *)(unaff_R14 + 200 + unaff_R13); uVar19 = *(uint *)(unaff_R14 + 0xcc + unaff_R13); uVar20 = *(uint *)(unaff_R14 + 0xd0 + unaff_R13); uVar21 = *(uint *)(unaff_R14 + 0xd4 + unaff_R13); uVar36 = *(uint *)(unaff_R14 + 0xd8 + unaff_R13); uVar37 = *(uint *)(unaff_R14 + 0xdc + unaff_R13); uVar24 = *(uint *)(unaff_R14 + 0xe0 + unaff_R13); uVar25 = *(uint *)(unaff_R14 + 0xe4 + unaff_R13); uVar26 = *(uint *)(unaff_R14 + 0xe8 + unaff_R13); uVar27 = *(uint *)(unaff_R14 + 0xec + unaff_R13); uVar28 = *(uint *)(unaff_R14 + 0xf0 + unaff_R13); uVar29 = *(uint *)(unaff_R14 + 0xf4 + unaff_R13); uVar30 = *(uint *)(unaff_R14 + 0xf8 + unaff_R13); uVar31 = *(uint *)(unaff_R14 + 0xfc + unaff_R13); do { FUN_180942b28(0x7114); uVar38 = (*(int *)(unaff_RBP + 0x5f) + 1) * *(int *)(unaff_RBP + 0x5f) & 0x80000001; if ((int)uVar38 < 0) { uVar38 = (uVar38 - 1 | 0xfffffffe) + 1; } } while (uVar38 != 0); uVar35 = (uVar31 ^ (((((((((((((((((((((((((((((uVar2 ^ (uVar35 ^ uVar39) * 0x1000181) * 0x1000181 ^ uVar3) * 0x1000181 ^ uVar4) * 0x1000181 ^ uVar5) * 0x1000181 ^ uVar6) * 0x1000181 ^ uVar7) * 0x1000181 ^ uVar8) * 0x1000181 ^ uVar9) * 0x1000181 ^ uVar10) * 0x1000181 ^ uVar11) * 0x1000181 ^ uVar12) * 0x1000181 ^ uVar13) * 0x1000181 ^ uVar14) * 0x1000181 ^ uVar15) * 0x1000181 ^ uVar16) * 0x1000181 ^ uVar17) * 0x1000181 ^ uVar18) * 0x1000181 ^ uVar19) * 0x1000181 ^ uVar20) * 0x1000181 ^ uVar21) * 0x1000181 ^ uVar36) * 0x1000181 ^ uVar37) * 0x1000181 ^ uVar24) * 0x1000181 ^ uVar25) * 0x1000181 ^ uVar26) * 0x1000181 ^ uVar27) * 0x1000181 ^ uVar28) * 0x1000181 ^ uVar29) * 0x1000181 ^ uVar30) * 0x1000181) * 0x1000181 ^ 0x7a742fca; uVar35 = ~((uVar35 << 0x1c | uVar35 >> 4) + 0xe6487921) ^ 0xd676aace; if ((uVar35 << 4 | uVar35 >> 0x1c) == *(uint *)(unaff_RBP + -0x41)) { thunk_FUN_1805a9280((longlong)*(int *)(unaff_RBP + -0x31), ~((uVar34 ^ 0xffffffffffffffff) + 1) + 1); return; } FUN_1809438dc((longlong)iVar23); return; } ############ FUN_ 1807115d0 size=1993 ############ /* WARNING: Instruction at (ram,0x0001807119ea) overlaps instruction at (ram,0x0001807119e8) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018071183e) */ /* WARNING: Removing unreachable block (ram,0x000180711a79) */ /* WARNING: Removing unreachable block (ram,0x000180711a80) */ longlong FUN_1807115d0(undefined4 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { code *pcVar1; uint uVar2; int iVar3; ulonglong uVar4; longlong lVar5; uint uVar6; ulonglong uVar7; uint *puVar8; IMAGE_DOS_HEADER *pIVar9; longlong *plVar10; int *piVar11; longlong *plVar12; longlong *plVar13; longlong *plVar14; int *piVar15; int *piVar16; uint uVar17; byte bVar18; IMAGE_DOS_HEADER *pIVar19; uint uVar20; char cVar21; uint uVar22; undefined8 uVar23; uint uVar24; ulonglong uVar25; bool bVar26; int unaff_retaddr; undefined4 unaff_retaddr_00; longlong local_120; undefined1 local_118 [32]; undefined4 local_f8; undefined8 local_f0; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; undefined4 local_c8; undefined4 local_c4; code *local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; int local_98 [20]; ulonglong local_48; plVar12 = (longlong *)local_118; local_48 = DAT_182615970 ^ (ulonglong)local_118; pIVar9 = &IMAGE_DOS_HEADER_180000000; local_d0 = 0; local_e0 = 0xffe0; local_d8 = 0x180060f40; local_f0 = 0x180070f20; uVar23 = 0xffe0; local_c8 = param_4; local_c4 = param_1; local_b8 = uVar23; local_b0 = param_3; local_a8 = param_2; do { FUN_180710aaf(0xca30); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_d0 = 0xc05aad58b54436f8; uVar2 = 0; local_f0 = CONCAT44(local_f0._4_4_,0xb54436f8); local_f8 = 0; uVar6 = 0x1d747f4; local_e0 = CONCAT44(local_e0._4_4_,0x1d747f4); piVar11 = (int *)0x180060f3c; uVar7 = 0xfffffffffffffffc; LAB_180711800: uVar25 = uVar7 + 4; piVar16 = piVar11 + 1; uVar24 = (uint)uVar25; if ((uVar25 & 0xc00) == 0) { uVar20 = ((uint)uVar23 ^ 0x4622 | 0x295d) - (0 >> ((byte)uVar2 & 0x1f)); } else { uVar20 = (uint)uVar23 ^ 0x4622 | 0x295d; } if ((uVar25 & 0xa0) == 0) { uVar17 = uVar2 & 0x3f; iVar3 = (uVar17 + 2) * (uVar17 + 1) * uVar17; bVar18 = (byte)(((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e); } else { bVar18 = (byte)uVar2 & 0x3f; bVar18 = (bVar18 + 1) * (bVar18 + 1) * bVar18 * bVar18 & 3; } uVar22 = uVar2 & 0x1f | 0x3e; uVar17 = uVar2 & 0x7f | 0x65; uVar22 = uVar22 * uVar22; uVar4 = (ulonglong)uVar22; uVar2 = uVar24 & 0xf | 0x20; uVar6 = (uint)(uVar2 * uVar2 * 0x9037 == uVar22 * 0xb03f) + (uVar17 * uVar17 * 0x8a5 ^ uVar6); if ((uVar20 & 0xb18a) == (((int)(-uVar6 | uVar6) >> 0x1f) * -0x7ec8 ^ uVar24 ^ 0x30a2 | (int)((uVar24 ^ 0xffffffea) & 0xc3f) >> (bVar18 & 0x1f))) { do { puVar8 = (uint *)(plVar12 + 6); plVar12[-1] = 0x180711abf; FUN_180713ae9(puVar8,plVar12 + 6); bVar18 = (byte)uVar4; uVar23 = rdtsc(); *puVar8 = (uint)uVar23 ^ (uint)((ulonglong)uVar23 >> 0x20); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = ((uint)((int)plVar12[6] * 0x5bd1afd7) >> 0x18 ^ (int)plVar12[6] * 0x5bd1afd7) * -0x13ac3595; *(uint *)(plVar12 + 6) = uVar6; if (uVar6 < 0x7fffffff) { do { local_c0 = FUN_1813f2240; plVar12[-1] = 0x180711b61; FUN_180711487(&local_c0,0xbfb); pcVar1 = local_c0; bVar18 = (byte)uVar4; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); plVar12[-1] = 0x180711b7f; uVar4 = (*pcVar1)(); if (1 < uVar4) { lVar5 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar5 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar5 = *(longlong *)register0x00000020; } } } plVar12[-1] = 0x180711bb5; FUN_180711487(); plVar12[-1] = (longlong)piVar16; plVar12[-2] = uVar25; cVar21 = ~(~bVar18 + 1) + 1; /* WARNING: Call to offcut address within same function */ plVar12[-3] = 0x180711be1; lVar5 = func_0x000180711c00(); LOCK(); cRam000000000000004c = cVar21; UNLOCK(); plVar12[-3] = uVar7 + 0x228; plVar12[-4] = (longlong)piVar11 + -0x16b36; plVar12[-5] = (longlong)piVar11 + 0x383db; plVar12[-6] = (longlong)piVar11 + 0x20c2f; plVar12[-7] = (longlong)piVar11 + -0x73fb1; plVar12[-8] = (longlong)piVar11 + 0x34cd7; plVar12[-9] = (longlong)piVar11 + -0x3fe6d; plVar12[-10] = (longlong)(piVar11 + 0x19df6); plVar12[-0xb] = (longlong)piVar11 + 0x54e92; plVar12[-0xc] = (longlong)piVar11 + -0x6e811; plVar12[-0xd] = (longlong)piVar11 + -0x4cd96; return (-lVar5 ^ 0xffffffffffffffffU) + 1; } piVar15 = piVar16; if ((pIVar9 != (IMAGE_DOS_HEADER *)0x0) && (lVar5._0_1_ = pIVar9->e_magic[0], lVar5._1_1_ = pIVar9->e_magic[1], lVar5._2_2_ = pIVar9->e_cblp, lVar5._4_2_ = pIVar9->e_cp, lVar5._6_2_ = pIVar9->e_crlc, -1 < lVar5)) { local_d0 = 0x2621fc0; do { if (piVar16 < IMAGE_DOS_HEADER_180000000.e_magic + lVar5 + 8) { if (-1 < lVar5) { plVar10 = (longlong *)(lVar5 + 0x180000000); if (plVar10 < piVar11 + 2) { local_98[0] = *piVar16; pIVar19 = pIVar9; goto LAB_1807119b0; } } break; } lVar5._0_2_ = pIVar9->e_cparhdr; lVar5._2_2_ = pIVar9->e_minalloc; lVar5._4_2_ = pIVar9->e_maxalloc; lVar5._6_2_ = pIVar9->e_ss; pIVar9 = (IMAGE_DOS_HEADER *)&pIVar9->e_cparhdr; } while (-1 < lVar5); } goto LAB_1807119e0; while (plVar10 = (longlong *)(lVar5 + 0x180000000), plVar10 < piVar11 + 2) { LAB_1807119b0: pIVar19 = (IMAGE_DOS_HEADER *)&pIVar19->e_cparhdr; *(longlong *)(&stack0x00017fffff68 + (lVar5 - (longlong)piVar16)) = *plVar10 + -0x180000000; lVar5 = *(longlong *)pIVar19; piVar15 = local_98; if (lVar5 < 0) break; } LAB_1807119e0: plVar10 = plVar12 + 4; uVar7 = 0xca30; plVar12[-1] = 0x1807119f5; piVar11 = piVar15; iVar3 = FUN_18070fdd2(0xca30,piVar15,0); bVar26 = (uVar7 & 0xc300) == 0; plVar14 = plVar12; if (!bVar26) goto LAB_180711a08; do { plVar12 = plVar14; if ((uVar7 & 0xc3) == 0) goto LAB_180711a16; while ((uVar7 & 0xc3) != 0) { bVar26 = false; if (-1 < (char)uVar7) { LAB_180711a08: plVar13 = (longlong *)((longlong)plVar14 + -8); plVar14 = (longlong *)((longlong)plVar14 + -8); *plVar13 = (longlong)piVar15; } iVar3 = (int)*plVar10; piVar15 = piVar11; while (bVar26) { plVar12 = plVar14; if ((uVar7 & 0xc3) != 0) goto LAB_180711a5b; LAB_180711a16: if (((uVar7 & 0xc300) == 0) || (bVar26 = (uVar7 & 0xc300) == 0, !bVar26)) goto LAB_180711a24; iVar3 = (int)*plVar10; plVar14 = plVar12; } } } while( true ); LAB_180711a24: do { plVar14 = plVar12; if (iVar3 + *piVar15 != 0) goto LAB_180711a5b; while ((uVar7 & 0xc300) == 0) { LAB_180711a5b: if ((uVar7 & 0xc300) == 0) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } } plVar14[-1] = 0x180711a38; iVar3 = FUN_180725241(); *(int *)plVar10 = iVar3; uVar23 = local_b8; piVar15 = (int *)*plVar14; plVar12 = plVar14 + 1; } while ((uVar7 & 0xc3) != 0); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } if (uVar6 == 0) goto code_r0x000180711a82; goto LAB_1807119e0; code_r0x000180711a82: uVar6 = *(uint *)(plVar14 + 8); uVar2 = (int)plVar14[5] * 0x401 ^ (uint)((int)plVar14[5] * 0x401) >> 6; *(uint *)(plVar14 + 5) = uVar2; piVar11 = piVar16; uVar7 = uVar25; goto LAB_180711800; } ############ FUN_ 1806b79a0 size=3052 ############ /* WARNING: Removing unreachable block (ram,0x0001806b8581) */ /* WARNING: Removing unreachable block (ram,0x0001806b7a69) */ /* WARNING: Removing unreachable block (ram,0x0001806b7a55) */ /* WARNING: Removing unreachable block (ram,0x0001806b7bd5) */ /* WARNING: Removing unreachable block (ram,0x0001806b8378) */ /* WARNING: Removing unreachable block (ram,0x0001806b7a0b) */ void FUN_1806b79a0(longlong param_1,byte param_2) { longlong lVar1; undefined8 uVar2; uint uVar3; ulonglong uVar4; uint uVar5; uint uVar6; uint *puVar7; code **ppcVar8; longlong *plVar9; void *pvVar10; undefined1 *puVar11; void **ppvVar12; ulonglong in_R11; undefined8 uVar13; int unaff_retaddr; undefined4 unaff_retaddr_00; uint local_res18 [2]; int *local_res20; undefined1 auStack_f8 [32]; undefined *local_d8; code *local_d0; void *local_c8; longlong lStack_c0; longlong local_b8; void *local_b0; longlong lStack_a8; longlong local_a0; undefined **local_98; undefined4 local_90; undefined1 local_8c; undefined **local_88; undefined4 local_80; undefined1 local_7c; void *local_78; undefined8 uStack_70; longlong local_68; void *local_60; undefined8 uStack_58; longlong local_50; undefined8 local_48; puVar11 = auStack_f8; local_48 = 0xfffffffffffffffe; uVar13 = 0xfe0; uVar3 = (uint)&stack0x00000000 & 0x1dff; uVar5 = (uVar3 + 1) * uVar3 + 0x48d5 & 0x80000001; ppvVar12 = (void **)0xc85e5258; local_res20 = &DAT_181547b88; local_d8 = &DAT_181547c88; uVar3 = (((uint)(DAT_181547b88 * 0x401) >> 6 ^ DAT_181547b88 * 0x401) + DAT_181547b8c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547b90) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547b94) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547b98) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547b9c) * 0x401; do { in_R11 = -((in_R11 ^ 0xffffffffffffffff) + 1); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = (DAT_181547ba0 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547ba4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547ba8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bac) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bb0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bb4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bb8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bbc) * 0x401; do { FUN_1806b5f86(); FUN_1806b6c79(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = (DAT_181547bc0 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bc4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bc8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bcc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bd0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bd4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bd8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bdc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547be0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547be4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547be8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bec) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bf0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bf4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bf8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547bfc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c00) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c04) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c08) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c0c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c10) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c14) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c18) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c1c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c20) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c24) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c28) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c2c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c30) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c34) * 0x401; do { param_2 = -(~param_2 + 1); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = (DAT_181547c38 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c3c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c40) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c44) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c48) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c4c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c50) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c54) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c58) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c5c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c60) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c64) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c68) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c6c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c70) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c74) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c78) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c7c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c80) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181547c84) * 0x401; uVar3 = (uVar3 >> 6 ^ uVar3) + 0xdb1443; uVar6 = uVar3 * 0x100000 | uVar3 >> 0xc; uVar3 = (uVar6 >> 0xc ^ uVar6) >> 3 & 0xfff; uVar6 = (uVar3 << 0xc | uVar3) << 3 ^ uVar6; local_res20 = (int *)0xeff10f0e4bd5afb8; do { puVar7 = local_res18; /* WARNING: Call to offcut address within same function */ func_0x0001806b7bb3(puVar7,local_res18); uVar2 = rdtsc(); *puVar7 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); /* WARNING: Call to offcut address within same function */ func_0x0001806b8200(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_res18[0] = (local_res18[0] * -0x12aae57b >> 0x18 ^ local_res18[0] * -0x12aae57b) * -0x51ca7333; if (local_res18[0] < 0xd79435) { local_d0 = (code *)0x0; do { ppcVar8 = &local_d0; func_0x0001806b8d7e(ppcVar8,&local_d0); *ppcVar8 = FUN_1813f2240; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar4 = (*local_d0)(0,0x3d22); if (1 < uVar4) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar9 = (longlong *)register0x00000020; while (lVar1 != -0x3333333333333334) { *plVar9 = 0; plVar9 = plVar9 + 8; lVar1 = *plVar9; } } } if ((uint)local_res20 != ((uVar6 >> 0x10 | uVar6 << 0x10) ^ 0xb92ce131)) { if ((param_2 == 0) && (*(char *)(param_1 + 0x5a) != '\0')) { *(undefined1 *)(param_1 + 0x5a) = 0; local_98 = pace::eden::thrift::authorize::GetAuthorizationServerInfoInput::vftable; local_8c = 0; local_90 = 0; if (*(longlong *)(param_1 + 0x48) == 0) { local_78 = (void *)0x0; uStack_70 = 0; local_68 = 0; local_c8 = (void *)0x0; lStack_c0 = 0; local_b8 = 0; FUN_180673ab0(&local_98,&local_78,1); FUN_1806b86d0(param_1,0x17,&local_78,&local_c8); FUN_180671970(local_c8,lStack_c0 - (longlong)local_c8,param_1 + 0x60); if (local_c8 != (void *)0x0) { pvVar10 = local_c8; if ((0xfff < (ulonglong)(local_b8 - (longlong)local_c8)) && (pvVar10 = *(void **)((longlong)local_c8 + -8), 0x1f < (ulonglong)((longlong)local_c8 + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } if (local_78 != (void *)0x0) { pvVar10 = local_78; if ((0xfff < (ulonglong)(local_68 - (longlong)local_78)) && (pvVar10 = *(void **)((longlong)local_78 + -8), 0x1f < (ulonglong)((longlong)local_78 + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } } else { plVar9 = (longlong *) ((longlong)*(int *)(**(longlong **)(param_1 + 8) + 8) + (longlong)*(longlong **)(param_1 + 8)); (**(code **)(*plVar9 + 0xb0))(plVar9,param_1 + 0x60,&local_98,4); } *(undefined1 *)(param_1 + 0x5a) = 1; } thunk_FUN_1805a9280(); return; } if ((param_2 != 0) || (*(char *)(param_1 + 0x5a) == '\0')) { *(undefined1 *)(param_1 + 0x5a) = 0; local_88 = pace::eden::thrift::authorize::GetAuthorizationServerInfoInput::vftable; local_7c = 0; local_80 = 0; if (*(longlong *)(param_1 + 0x48) == 0) { plVar9 = (longlong *) ((longlong)*(int *)(**(longlong **)(param_1 + 8) + 8) + (longlong)*(longlong **)(param_1 + 8)); ppvVar12 = (void **)0x4; (**(code **)(*plVar9 + 0xb0))(plVar9,param_1 + 0x60,&local_88); } else { local_60 = (void *)0x0; uStack_58 = 0; local_50 = 0; local_b0 = (void *)0x0; lStack_a8 = 0; local_a0 = 0; FUN_180673ab0(&local_88,&local_60,1); ppvVar12 = &local_b0; FUN_1806b86d0(param_1,0x17,&local_60); FUN_180671970(local_b0,lStack_a8 - (longlong)local_b0,param_1 + 0x60); if (local_b0 != (void *)0x0) { pvVar10 = local_b0; if ((0xfff < (ulonglong)(local_a0 - (longlong)local_b0)) && (pvVar10 = *(void **)((longlong)local_b0 + -8), 0x1f < (ulonglong)((longlong)local_b0 + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } if (local_60 != (void *)0x0) { pvVar10 = local_60; if ((0xfff < (ulonglong)(local_50 - (longlong)local_60)) && (pvVar10 = *(void **)((longlong)local_60 + -8), 0x1f < (ulonglong)((longlong)local_60 + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } } *(undefined1 *)(param_1 + 0x5a) = 1; } do { *(undefined8 *)(puVar11 + -8) = uVar13; *(void ***)(puVar11 + -0x10) = ppvVar12; *(ulonglong *)(puVar11 + -0x18) = in_R11; lVar1 = -(longlong)(int)((int)(-uVar5 | uVar5) >> 0x1f & 0x3d00U ^ 0x3e40); register0x00000020 = (BADSPACEBASE *)(~-((ulonglong)register0x00000020 ^ 0x3443e78d) + 1 ^ 0x3443e78d); in_R11 = *(ulonglong *)(puVar11 + lVar1 + 0x328); ppvVar12 = *(void ***)(puVar11 + lVar1 + 0x330); uVar13 = *(undefined8 *)(puVar11 + lVar1 + 0x338); puVar11 = puVar11 + lVar1 + 0x340; uVar3 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); return; } ############ FUN_ 180a37a80 size=1295 ############ /* WARNING: Removing unreachable block (ram,0x000180a37b65) */ longlong FUN_180a37a80(longlong param_1,undefined1 param_2) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; uint uVar5; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_d8 [32]; undefined1 local_b8; undefined8 local_b0; uint local_a8; undefined *local_a0; undefined8 local_90; undefined **local_88; uint local_7c; uint local_78; code *local_70; longlong local_58; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_d8; uVar4 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x240) == 0) { uVar5 = ((uVar4 & 0x23ff) * (uVar4 & 0x23ff) + 1) % 7; local_78 = (int)(-uVar5 | uVar5) >> 0x1f & 0x6ebd; } else { local_78 = 0x6ebd; } local_78 = local_78 ^ 0x6fad; *(undefined1 *)(param_1 + 0x168) = 1; uVar5 = ((uVar4 & 0x1eff) * (uVar4 & 0x1eff) * 0x10 + 4) % 0x13; uVar4 = (((uVar4 & 0x9ff) + 1) * (uVar4 & 0x9ff) + 7) % 0x51; local_7c = (((int)(-uVar5 | uVar5) >> 0x1f) - ((int)(-uVar4 | uVar4) >> 0x1f)) - 0x2144U & 0xde1c ^ 0xd07c; local_b8 = param_2; local_58 = param_1; do { uVar2 = rdtsc(); local_a8 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); FUN_180a36fbe(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_a8 = (local_a8 * -0x3b313b32 >> 0x18 ^ local_a8 * -0x3b313b32) * -0x460113ad; if (local_a8 < 0x3333333f) { do { local_70 = FUN_1813f2240; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = FUN_1813f2240(0,0xc714); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } *(undefined1 *)(param_1 + 0x169) = 1; local_88 = &PTR__guard_check_icall_181bab6a8; local_a0 = &DAT_181bab6b8; local_b0 = 0x1e1450c8154146c0; local_90 = 0x154146c0; *(undefined1 *)(param_1 + 0x16a) = param_2; uVar3 = FUN_180a380d2(); return -((uVar3 ^ 0xffffffffffffffff) + 1); } ############ FUN_ 180b47ca0 size=876 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180b47e4a) */ /* WARNING: Removing unreachable block (ram,0x000180b47d89) */ /* WARNING: Removing unreachable block (ram,0x000180b47e0d) */ void FUN_180b47ca0(undefined8 *param_1,longlong param_2,undefined8 param_3) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_108 [32]; undefined4 local_e8; undefined *local_e0; uint local_d8; undefined8 local_d0; undefined8 local_c8; uint local_bc; undefined4 local_b8; code *local_b0; undefined8 *local_a8; undefined8 local_a0; undefined8 local_80; undefined8 *local_78; ulonglong local_48; local_80 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_108; local_a8 = param_1; local_a0 = param_3; local_78 = param_1; FUN_180a3bf80(param_1,param_2 + 8); *param_1 = license_services::LsCachedObjectVectorSignedInfo::vftable; param_1[3] = param_2; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; FUN_180bb0370(param_1 + 10,*(undefined4 *)(param_1[3] + 0x38)); param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; local_b8 = 0x310; uVar4 = (uint)&stack0x00000000 & 0x12ff; uVar4 = (uVar4 + 1) * uVar4 + 0x9cf & 0x80000001; local_bc = (int)(-uVar4 | uVar4) >> 0x1f & 0xb46U ^ 0x306; do { uVar2 = rdtsc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x12aa7a15; local_d8 = (uVar4 >> 0x18 ^ uVar4) * 0x5bd18ccd; if (local_d8 < 0x3333333f) { do { local_b0 = FUN_1813f2240; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = FUN_1813f2240(0,0xe689); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } local_c8 = 0x180000000; local_e0 = &DAT_18094e64c; local_d0 = 0x1809516c4; local_e8 = 0x811c9e53; FUN_180b48030(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 1808b74b0 size=1045 ############ /* WARNING: Removing unreachable block (ram,0x0001808b75da) */ /* WARNING: Removing unreachable block (ram,0x0001808b7537) */ /* WARNING: Removing unreachable block (ram,0x0001808b7602) */ /* WARNING: Removing unreachable block (ram,0x0001808b7580) */ undefined8 FUN_1808b74b0(undefined8 param_1,undefined8 param_2) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_d8 [52]; uint local_a4; uint local_a0; undefined4 local_98; code *local_70; undefined8 local_68; undefined8 local_60; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_d8; uVar4 = (uint)&stack0x00000000 & 0x3bf; local_a0 = (((uVar4 + 2) * (uVar4 + 1) * uVar4) % 3 | 0xda82) ^ 0xd872; local_98 = 0x9e0; local_68 = param_2; local_60 = param_1; do { FUN_1808b69dc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar2 = rdtsc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x166aa42f; local_a4 = (uVar4 >> 0x18 ^ uVar4) * -0x50283b32; if (local_a4 < 0x1999999f) { do { local_70 = FUN_1813f2240; FUN_1808b79de(&local_70,0xd312); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (*local_70)(); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } return 0xd7287a8e5fda5534; } ############ FUN_ 180957590 size=1146 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180957624) */ /* WARNING: Removing unreachable block (ram,0x00018095797a) */ /* WARNING: Removing unreachable block (ram,0x0001809575e7) */ void FUN_180957590(longlong param_1,longlong *param_2) { longlong lVar1; undefined8 uVar2; undefined4 *puVar3; ulonglong uVar4; uint uVar5; uint uVar6; int unaff_retaddr; undefined4 unaff_retaddr_00; uVar5 = (uint)&stack0x00000000 & 0x2bf; uVar5 = 0xe9f2 >> ((char)(((uVar5 + 2) * (uVar5 + 1) * uVar5) / 3) * '\x03' & 0x1fU) ^ 0xe092; (**(code **)(*param_2 + 0x18))(param_2,"FindAuthOptions"); do { FUN_180957e0a(0xff18); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); puVar3 = &DAT_181463b44; do { uVar2 = rdtsc(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x3d4d5029; if ((uVar6 >> 0x18 ^ uVar6) * -0x51ca5029 < 0x330a5df) { do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar4 = FUN_1813f2240(0,0xb217); if (1 < uVar4) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } uVar6 = DAT_181463b48 ^ (DAT_181463b44 ^ 0x811c9e07) * 0x10001a7; (**(code **)(*param_2 + 0x28))(param_2,"sortChainsHighestRankingFirst",2,1,puVar3,uVar5); (**(code **)(*param_2 + 0x70))(param_2,*(undefined1 *)(param_1 + 8)); uVar5 = (DAT_181463b50 ^ (DAT_181463b4c ^ uVar6 * 0x10001a7) * 0x10001a7) * 0x10001a7 & 0x14ff; uVar5 = (uVar5 * uVar5 * 0x10 + 4) % 0x13; uVar4 = (longlong)(((int)(-uVar5 | uVar5) >> 0x1f) * -0xfb4b) ^ 0xfa4b; (**(code **)(*param_2 + 0x30))(param_2); /* WARNING: Call to offcut address within same function */ func_0x000180957a2c(); *(int *)(uVar4 - 0x3b7cb8d9) = (int)uVar4 + -0xf0; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180995e90 size=2023 ############ /* WARNING: Instruction at (ram,0x000180996307) overlaps instruction at (ram,0x000180996303) */ /* WARNING: Removing unreachable block (ram,0x0001809960f1) */ /* WARNING: Removing unreachable block (ram,0x000180996303) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_180995e90(void) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; uint *puVar5; int iVar6; int unaff_retaddr; undefined4 unaff_retaddr_00; uint auStackX_10 [6]; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); iVar6 = ((((((((((((((((((((((((((((((DAT_180783c5c * 0xc1 + DAT_180783c60) * 0xc1 + DAT_180783c64 ) * 0xc1 + DAT_180783c68) * 0xc1 + _DAT_180783c6c) * 0xc1 + _DAT_180783c70) * 0xc1 + _DAT_180783c74) * 0xc1 + _DAT_180783c78) * 0xc1 + _DAT_180783c7c) * 0xc1 + _DAT_180783c80) * 0xc1 + _LAB_180783c84) * 0xc1 + _DAT_180783c88) * 0xc1 + _DAT_180783c8c) * 0xc1 + _DAT_180783c90) * 0xc1 + _DAT_180783c94) * 0xc1 + _DAT_180783c98) * 0xc1 + _LAB_180783c9c) * 0xc1 + _DAT_180783ca0) * 0xc1 + _DAT_180783ca4) * 0xc1 + _DAT_180783ca8) * 0xc1 + _DAT_180783cac) * 0xc1 + _DAT_180783cb0) * 0xc1 + _DAT_180783cb4) * 0xc1 + _DAT_180783cb8) * 0xc1 + _DAT_180783cbc) * 0xc1 + _DAT_180783cc0) * 0xc1 + _DAT_180783cc4) * 0xc1 + _LAB_180783cc8) * 0xc1 + _DAT_180783ccc) * 0xc1 + _LAB_180783cd0) * 0xc1 + _DAT_180783cd4) * 0xc1 + _DAT_180783cd8; do { puVar5 = auStackX_10; FUN_18099804b(puVar5,auStackX_10); uVar2 = rdtsc(); *puVar5 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); auStackX_10[0] = (auStackX_10[0] * -0x13ac4602 >> 0x18 ^ auStackX_10[0] * -0x13ac4602) * -0x12aa12ab; if (auStackX_10[0] < 0x7ea3bd) { do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = FUN_1813f2240(0,0x4595); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } iVar6 = (((((((((((((((((((((((((((iVar6 * 0xc1 + _DAT_180783cdc) * 0xc1 + _DAT_180783ce0) * 0xc1 + _DAT_180783ce4) * 0xc1 + _DAT_180783ce8) * 0xc1 + _DAT_180783cec ) * 0xc1 + _DAT_180783cf0) * 0xc1 + _UNK_180783cf4) * 0xc1 + _UNK_180783cf8) * 0xc1 + _UNK_180783cfc) * 0xc1 + _UNK_180783d00) * 0xc1 + _UNK_180783d04) * 0xc1 + _UNK_180783d08) * 0xc1 + _UNK_180783d0c) * 0xc1 + _UNK_180783d10) * 0xc1 + _UNK_180783d14) * 0xc1 + _UNK_180783d18) * 0xc1 + _UNK_180783d1c) * 0xc1 + _UNK_180783d20) * 0xc1 + _UNK_180783d24) * 0xc1 + _UNK_180783d28) * 0xc1 + _UNK_180783d2c) * 0xc1 + _UNK_180783d30) * 0xc1 + _UNK_180783d34) * 0xc1 + _UNK_180783d38) * 0xc1 + _UNK_180783d3c) * 0xc1 + _UNK_180783d40) * 0xc1 + _UNK_180783d44) * 0xc1 + _UNK_180783d48; do { func_0x000180995236(0xd730); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = _UNK_180783d58 + (((iVar6 * 0xc1 + _UNK_180783d4c) * 0xc1 + _UNK_180783d50) * 0xc1 + _UNK_180783d54) * 0xc1 + 0x1cfa789d; FUN_180996e05(0xd730,(uVar4 * 0x10000 | uVar4 >> 0x10) & 0x4b77b488); FUN_1809966a4(); return; } ############ FUN_ 180a947e0 size=869 ############ /* WARNING: Removing unreachable block (ram,0x000180a948e9) */ undefined8 FUN_180a947e0(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; ulonglong uVar2; undefined8 uVar3; uint *puVar4; uint uVar5; int iVar6; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_118 [68]; uint local_d4; undefined8 local_d0; undefined4 local_c4; uint local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; uint local_a0; code *local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_118; uVar5 = (uint)&stack0x00000000 & 0x6cff; iVar6 = uVar5 * uVar5 + 1; uVar5 = iVar6 * 0x24924924 + (iVar6 >> 4) + (iVar6 >> 1) >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; uVar5 = (int)(-uVar5 | uVar5) >> 0x1f; local_a0 = ((int)(-uVar5 | uVar5) >> 0x1f) * -0x4e ^ 0x24e; uVar5 = (uint)&stack0x00000000 & 0x3dff; uVar5 = ((uVar5 + 1) * uVar5 + 7) % 0x51; local_c0 = (int)(-uVar5 | uVar5) >> 0x1f & 0x3207U ^ 0x3867; local_c4 = param_2; local_90 = param_1; local_88 = param_3; local_80 = param_4; do { puVar4 = &local_d4; FUN_180a93a5f(puVar4,&local_d4); uVar3 = rdtsc(); *puVar4 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); func_0x000180a93c1f(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_d4 = (local_d4 * -0x50283595 >> 0x18 ^ local_d4 * -0x50283595) * -0x7a14a42f; if (local_d4 < 0x1999999f) { do { local_98 = FUN_1813f2240; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar2 = FUN_1813f2240(0,0x978b); if (1 < uVar2) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } local_b0 = 0x1800b4e98; local_d0 = 0x1800b6e94; local_a8 = 0xf953bf7947252097; local_b8 = 0x47252097; uVar3 = FUN_180a94b6d(0x1800b6e94,0xb0498); return uVar3; } ############ FUN_ 180b5b9a0 size=1918 ############ /* WARNING: Removing unreachable block (ram,0x000180b5be04) */ /* WARNING: Removing unreachable block (ram,0x000180b5bd9b) */ /* WARNING: Removing unreachable block (ram,0x000180b5bdb6) */ /* WARNING: Removing unreachable block (ram,0x000180b5bed5) */ void FUN_180b5b9a0(undefined8 param_1) { undefined8 uVar1; byte bVar2; byte bVar3; int iVar4; uint uVar5; uint *puVar6; bool bVar7; uint uVar8; ulonglong uVar9; longlong *plVar10; undefined4 *puVar11; uint uVar12; undefined4 *puVar13; undefined4 *puVar14; longlong lVar15; IMAGE_DOS_HEADER *pIVar16; uint uVar17; uint uVar18; IMAGE_DOS_HEADER *pIVar19; uint uVar20; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_d8 [32]; uint local_b8 [2]; undefined8 local_b0; uint local_a8; uint local_a4; undefined8 local_a0; undefined8 local_98; undefined8 local_90; code *local_88; longlong local_80; undefined8 local_78; undefined8 local_70; longlong local_68; undefined8 local_60; undefined4 local_48 [4]; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_d8; lVar15 = (longlong)&DAT_18266fe00 + (SUB168(ZEXT816(0xc7ce0c7ce0c7ce0d) * ZEXT816(0x18266fe00),8) >> 5) * -0x29; uVar12 = 0; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar15 * 4); *(int *)(&DAT_18265dbd0 + lVar15 * 4) = 1; UNLOCK(); local_68 = lVar15; local_70 = param_1; local_78 = DAT_18266fe00; while (DAT_18266fe00 = local_78, iVar4 != 0) { if ((3 < uVar12) && (0xf < uVar12)) { Sleep((uint)(0x1f < uVar12)); } uVar12 = uVar12 + 1; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar15 * 4); *(int *)(&DAT_18265dbd0 + lVar15 * 4) = 1; UNLOCK(); local_78 = DAT_18266fe00; } *(undefined4 *)(&DAT_18265dbd0 + lVar15 * 4) = 0; do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); pIVar19 = &IMAGE_DOS_HEADER_180000000; local_98 = 0; uVar9 = 0; local_a0 = 0x6ff4; local_b0 = 0x1ffc; local_80 = 0x180006ff4; local_90 = 0x180008ff0; do { FUN_180b5d4b5(0xda28,uVar9); uVar9 = ((uVar9 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); do { puVar6 = local_b8; FUN_180b5caa4(puVar6,local_b8); uVar1 = rdtsc(); *puVar6 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); local_b8[0] = (local_b8[0] * -0x7a143b32 >> 0x18 ^ local_b8[0] * -0x7a143b32) * -0x50284602; if (local_b8[0] < 0x1999999f) { do { local_88 = FUN_1813f2240; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar9 = FUN_1813f2240(0,0x7825); if (1 < uVar9) { lVar15 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar10 = (longlong *)register0x00000020; while (lVar15 != -0x3333333333333334) { *plVar10 = 0; plVar10 = plVar10 + 8; lVar15 = *plVar10; } } } local_98 = 0xbbdac0568887f03a; local_a0 = CONCAT44(local_a0._4_4_,0x8887f03a); uVar12 = 0x2f4d615a; local_b0 = CONCAT44(local_b0._4_4_,0x5bd1e995); puVar13 = (undefined4 *)(local_80 + -4); uVar20 = (uint)local_90; bVar2 = (byte)local_90 & 0x6f; bVar3 = (byte)local_90 & 0x3f; LAB_180b5bdd0: uVar5 = (uint)puVar13; uVar8 = uVar12 & 0xf | 0x11; if (((((uVar5 & 0x4ff) + 1) * (uVar5 & 0x4ff) + 7) % 0x51 & 0x330) == 0) { uVar17 = uVar12 & 0x17f; iVar4 = (uVar17 + 2) * (uVar17 + 1) * uVar17; if ((((iVar4 >> 1) - (iVar4 >> 3)) + iVar4 * 0x55555555 >> 0x1e & 0x27U) == 0) { uVar17 = uVar5 & 0x7f | 0x6c; uVar18 = uVar20 & 0x7f | 0x59; bVar7 = uVar17 * uVar17 * 0x1915 == uVar18 * uVar18 * 0xca9d; } else { bVar7 = (bool)(((char)puVar13 + '\x01') * (char)puVar13 & 1); } uVar17 = (int)(uVar5 ^ 0x7be9) >> bVar7; } else { uVar17 = uVar5 ^ 0x7be9; } if (((uVar8 * uVar8 * 0xf755 == 0x1744938b & uVar5 | uVar20 - 4 ^ 0x63a9 | 0x9850) & (uVar20 - 4 ^ 0x7be9)) == ((uVar5 ^ 0x43c1 | 0xb83a) << (bVar2 * bVar2 * (bVar2 + 1) * (bVar2 + 1) & 3 | bVar3 * bVar3 * (bVar3 + 1) * (bVar3 + 1) & 3) & uVar17)) { local_a4 = uVar12; FUN_180b5c147(); FUN_180b5c158(); return; } iVar4 = (uVar5 & 0x5bff) * (uVar5 & 0x5bff) + 1; uVar8 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar8 = (int)(uVar8 - 7) >> 0x1f & uVar8; uVar17 = uVar12 & 0x5f; uVar5 = uVar5 & 0x33f; iVar4 = (uVar5 + 2) * (uVar5 + 1) * uVar5; puVar13 = (undefined4 *) ((longlong)puVar13 + (0x84 - ((longlong) (int)((iVar4 + (iVar4 / 3 + (iVar4 >> 0x1f) + (int)(((longlong)iVar4 / 3 + ((longlong)iVar4 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3 & uVar17 * uVar17 * (uVar17 + 1) * (uVar17 + 1) & 2) + 0x6f4c) ^ (ulonglong)((int)(-uVar8 | uVar8) >> 0x1f & 0x6fcc)))); puVar14 = puVar13; if ((pIVar19 != (IMAGE_DOS_HEADER *)0x0) && (lVar15._0_1_ = pIVar19->e_magic[0], lVar15._1_1_ = pIVar19->e_magic[1], lVar15._2_2_ = pIVar19->e_cblp, lVar15._4_2_ = pIVar19->e_cp, lVar15._6_2_ = pIVar19->e_crlc, -1 < lVar15)) { local_98 = 0x2621fc0; pIVar16 = pIVar19; do { if (puVar13 < IMAGE_DOS_HEADER_180000000.e_magic + lVar15 + 8) { pIVar19 = pIVar16; if (-1 < lVar15) { plVar10 = (longlong *)(lVar15 + 0x180000000); if (plVar10 < puVar13 + 1) { local_48[0] = *puVar13; goto LAB_180b5c070; } } break; } pIVar19 = (IMAGE_DOS_HEADER *)&pIVar16->e_cparhdr; lVar15._0_2_ = pIVar16->e_cparhdr; lVar15._2_2_ = pIVar16->e_minalloc; lVar15._4_2_ = pIVar16->e_maxalloc; lVar15._6_2_ = pIVar16->e_ss; pIVar16 = pIVar19; } while (-1 < lVar15); } goto LAB_180b5c0a0; while (plVar10 = (longlong *)(lVar15 + 0x180000000), plVar10 < puVar13 + 1) { LAB_180b5c070: *(longlong *)(&stack0x00017fffffb8 + (lVar15 - (longlong)puVar13)) = *plVar10 + -0x180000000; pIVar16 = (IMAGE_DOS_HEADER *)&pIVar16->e_cparhdr; lVar15 = *(longlong *)pIVar16; puVar14 = local_48; if (lVar15 < 0) break; } LAB_180b5c0a0: do { puVar6 = &local_a8; puVar11 = puVar14 + 0xf0f02b5; FUN_180b5a7c9(0xda28,puVar11,0); *puVar6 = puVar11[-0xf0f02b5]; FUN_180b5c157(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_a8 = (local_a8 * (int)local_b0 >> 0x18 ^ local_a8 * (int)local_b0) * (int)local_b0; uVar12 = uVar12 * (int)local_b0 ^ local_a8; goto LAB_180b5bdd0; } ############ FUN_ 180a0a380 size=1981 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180a0b250) overlaps instruction at (ram,0x000180a0b24d) */ /* WARNING: Removing unreachable block (ram,0x000180a0b24d) */ /* WARNING: Removing unreachable block (ram,0x000180a0b0a2) */ /* WARNING: Removing unreachable block (ram,0x000180a0a45c) */ /* WARNING: Removing unreachable block (ram,0x000180a0a3d0) */ /* WARNING: Removing unreachable block (ram,0x000180a0a400) */ /* WARNING: Removing unreachable block (ram,0x000180a0b084) */ /* WARNING: Removing unreachable block (ram,0x000180a0b234) */ /* WARNING: Removing unreachable block (ram,0x000180a0ab6a) */ /* WARNING: Removing unreachable block (ram,0x000180a0a40f) */ /* WARNING: Removing unreachable block (ram,0x000180a0a746) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ char FUN_180a0a380(void) { undefined8 uVar1; longlong *plVar2; byte bVar3; ulonglong uVar4; uint uVar5; uint uVar6; code **ppcVar7; ulonglong uVar8; longlong lVar9; longlong lVar10; longlong lVar11; ulonglong uVar12; int unaff_retaddr; undefined4 unaff_retaddr_00; uint auStackX_18 [4]; code *local_58 [3]; lVar11 = 0x180000000; uVar12 = 0x19821582; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = (iRam00000001811b87b8 * 0x16a88000 | (uint)(iRam00000001811b87b8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0xc3589e80; uVar5 = (iRam00000001811b87bc * 0x16a88000 | (uint)(iRam00000001811b87bc * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87c0 * 0x16a88000 | (uint)(iRam00000001811b87c0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87c4 * 0x16a88000 | (uint)(iRam00000001811b87c4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87c8 * 0x16a88000 | (uint)(iRam00000001811b87c8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87cc * 0x16a88000 | (uint)(iRam00000001811b87cc * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87d0 * 0x16a88000 | (uint)(iRam00000001811b87d0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; do { uVar1 = rdtsc(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = ((uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20)) * -0x12aaa42f; if ((uVar6 >> 0x18 ^ uVar6) * -0x3d4d7a15 < 0x3e0f83f) { local_58[0] = (code *)0x0; do { ppcVar7 = local_58; FUN_180a0944d(ppcVar7,local_58); *ppcVar7 = FUN_1813f2240; func_0x000180a08dde(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar4 = (*local_58[0])(); if (1 < uVar4) { lVar9 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar2 = (longlong *)register0x00000020; while (lVar9 != -0x3333333333333334) { *plVar2 = 0; plVar2 = plVar2 + 8; lVar9 = *plVar2; } } } uVar5 = (iRam00000001811b87d4 * 0x16a88000 | (uint)(iRam00000001811b87d4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87d8 * 0x16a88000 | (uint)(iRam00000001811b87d8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87dc * 0x16a88000 | (uint)(iRam00000001811b87dc * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87e0 * 0x16a88000 | (uint)(iRam00000001811b87e0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87e4 * 0x16a88000 | (uint)(iRam00000001811b87e4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87e8 * 0x16a88000 | (uint)(iRam00000001811b87e8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; do { FUN_180a0b0a6(0xc73c); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (iRam00000001811b87ec * 0x16a88000 | (uint)(iRam00000001811b87ec * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87f0 * 0x16a88000 | (uint)(iRam00000001811b87f0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87f4 * 0x16a88000 | (uint)(iRam00000001811b87f4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87f8 * 0x16a88000 | (uint)(iRam00000001811b87f8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b87fc * 0x16a88000 | (uint)(iRam00000001811b87fc * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8800 * 0x16a88000 | (uint)(iRam00000001811b8800 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8804 * 0x16a88000 | (uint)(iRam00000001811b8804 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8808 * 0x16a88000 | (uint)(iRam00000001811b8808 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b880c * 0x16a88000 | (uint)(iRam00000001811b880c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; do { uVar5 = ~((uVar5 ^ 0xffffffff) + 1) + 1; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (iRam00000001811b8810 * 0x16a88000 | (uint)(iRam00000001811b8810 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar5; uVar5 = (iRam00000001811b8814 * 0x16a88000 | (uint)(iRam00000001811b8814 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8818 * 0x16a88000 | (uint)(iRam00000001811b8818 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b881c * 0x16a88000 | (uint)(iRam00000001811b881c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8820 * 0x16a88000 | (uint)(iRam00000001811b8820 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8824 * 0x16a88000 | (uint)(iRam00000001811b8824 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8828 * 0x16a88000 | (uint)(iRam00000001811b8828 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b882c * 0x16a88000 | (uint)(iRam00000001811b882c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8830 * 0x16a88000 | (uint)(iRam00000001811b8830 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8834 * 0x16a88000 | (uint)(iRam00000001811b8834 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8838 * 0x16a88000 | (uint)(iRam00000001811b8838 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b883c * 0x16a88000 | (uint)(iRam00000001811b883c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8840 * 0x16a88000 | (uint)(iRam00000001811b8840 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8844 * 0x16a88000 | (uint)(iRam00000001811b8844 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8848 * 0x16a88000 | (uint)(iRam00000001811b8848 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b884c * 0x16a88000 | (uint)(iRam00000001811b884c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (iRam00000001811b8850 * 0x16a88000 | (uint)(iRam00000001811b8850 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8854 * 0x16a88000 | (uint)(iRam00000001811b8854 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8858 * 0x16a88000 | (uint)(iRam00000001811b8858 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b885c * 0x16a88000 | (uint)(iRam00000001811b885c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8860 * 0x16a88000 | (uint)(iRam00000001811b8860 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8864 * 0x16a88000 | (uint)(iRam00000001811b8864 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8868 * 0x16a88000 | (uint)(iRam00000001811b8868 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b886c * 0x16a88000 | (uint)(iRam00000001811b886c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8870 * 0x16a88000 | (uint)(iRam00000001811b8870 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8874 * 0x16a88000 | (uint)(iRam00000001811b8874 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8878 * 0x16a88000 | (uint)(iRam00000001811b8878 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b887c * 0x16a88000 | (uint)(iRam00000001811b887c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8880 * 0x16a88000 | (uint)(iRam00000001811b8880 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8884 * 0x16a88000 | (uint)(iRam00000001811b8884 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8888 * 0x16a88000 | (uint)(iRam00000001811b8888 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b888c * 0x16a88000 | (uint)(iRam00000001811b888c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8890 * 0x16a88000 | (uint)(iRam00000001811b8890 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8894 * 0x16a88000 | (uint)(iRam00000001811b8894 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b8898 * 0x16a88000 | (uint)(iRam00000001811b8898 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b889c * 0x16a88000 | (uint)(iRam00000001811b889c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b88a0 * 0x16a88000 | (uint)(iRam00000001811b88a0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b88a4 * 0x16a88000 | (uint)(iRam00000001811b88a4 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar4 = (ulonglong)uVar5; do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (iRam00000001811b88a8 * 0x16a88000 | (uint)(iRam00000001811b88a8 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar5; do { func_0x000180a0bdb9(0xc73c); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (iRam00000001811b88ac * 0x16a88000 | (uint)(iRam00000001811b88ac * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (iRam00000001811b88b0 * 0x16a88000 | (uint)(iRam00000001811b88b0 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; uVar5 = (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64 ^ (iRam00000001811b88b4 * 0x16a88000 | (uint)(iRam00000001811b88b4 * -0x3361d2af) >> 0x11) * 0x1b873593; uVar5 = (uVar5 << 0xd | uVar5 >> 0x13) * 5 + 0xe6546b64; do { uVar8 = 0xc73c; bVar3 = func_0x000180a0ba30(); lVar9 = uVar4 + uVar12; lVar10 = lVar11 + uVar12; if ((uVar8 & 0xc0) == 0) { uVar12 = uVar12 - lVar10; } else { bVar3 = bVar3 ^ 10; uRam00000000cc9e2d7c = uRam00000000cc9e2d7c >> 0x11 | uRam00000000cc9e2d7c << 0xf; } lVar11 = (uVar12 ^ 0xffffffffffffffff) + 1; if ((uVar8 & 0xf300) == 0) { return bVar3 + 0xb9; } uVar5 = -(~uVar5 + 1); uVar12 = lVar10 - lVar11; uVar4 = lVar9 - uVar12; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); auStackX_18[0] = uVar5; func_0x000180a09803(auStackX_18,uVar4); func_0x000180a0b2bf(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 1806a8b40 size=2177 ############ /* WARNING: Instruction at (ram,0x0001806a9286) overlaps instruction at (ram,0x0001806a9285) */ /* WARNING: Removing unreachable block (ram,0x0001806a9233) */ /* WARNING: Removing unreachable block (ram,0x0001806a9237) */ /* WARNING: Removing unreachable block (ram,0x0001806a8c05) */ /* WARNING: Removing unreachable block (ram,0x0001806a9137) */ /* WARNING: Removing unreachable block (ram,0x0001806a9375) */ /* WARNING: Removing unreachable block (ram,0x0001806a8bee) */ void FUN_1806a8b40(longlong param_1) { longlong *plVar1; int *piVar2; uint *puVar3; char *pcVar4; int iVar5; uint uVar6; byte bVar7; undefined8 uVar8; ulonglong uVar9; char *pcVar10; uint uVar11; code **ppcVar12; ulonglong uVar13; uint uVar14; uint *puVar15; undefined1 *puVar16; int iVar17; longlong lVar18; longlong lVar19; uint *puVar20; ulonglong uVar21; longlong lVar22; longlong *plVar23; undefined8 uVar24; uint local_res8 [2]; undefined4 *local_res10; undefined *local_res18; code *local_res20; undefined1 auStack_98 [32]; undefined4 local_78; undefined8 local_68; undefined1 local_60 [8]; longlong *local_58; puVar16 = auStack_98; local_68 = 0xfffffffffffffffe; uVar24 = 0xe10; lVar19 = 0x2b0; local_res10 = &DAT_1815064c4; local_res18 = &DAT_1815065c4; iVar17 = (((DAT_1815064c4 * 0x25 + DAT_1815064c8) * 0x25 + DAT_1815064cc) * 0x25 + DAT_1815064d0) * 0x25 + DAT_1815064d4; FUN_1806b9be0(param_1); iVar17 = ((((iVar17 * 0x25 + DAT_1815064d8) * 0x25 + DAT_1815064dc) * 0x25 + DAT_1815064e0) * 0x25 + DAT_1815064e4) * 0x25 + DAT_1815064e8; FUN_1806ba570(param_1,0); iVar17 = (iVar17 * 0x25 + DAT_1815064ec) * 0x25 + DAT_1815064f0; plVar23 = (longlong *)register0x00000020; do { FUN_1806a7553(0x601c); plVar23 = (longlong *)(~(((ulonglong)plVar23 ^ 0xffffffffffffffff) + 1) + 1); /* WARNING: Call to offcut address within same function */ func_0x0001806a9139(); uVar11 = (*(int *)plVar23 + 1) * *(int *)plVar23 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); iVar17 = iVar17 * 0x25 + DAT_1815064f4; lVar22 = 2; FUN_1806bace0(param_1,0); iVar17 = (iVar17 * 0x25 + DAT_1815064f8) * 0x25 + DAT_1815064fc; do { FUN_1806a7e92(0x601c); lVar18 = lVar22 + lVar19; lVar22 = (lVar19 - lVar18 ^ 0xffffffffffffffffU) + 1; lVar19 = lVar18 - lVar22; uVar11 = (*(int *)plVar23 + 1) * *(int *)plVar23 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); iVar17 = ((((((iVar17 * 0x25 + DAT_181506500) * 0x25 + DAT_181506504) * 0x25 + DAT_181506508) * 0x25 + DAT_18150650c) * 0x25 + DAT_181506510) * 0x25 + DAT_181506514) * 0x25 + DAT_181506518; uVar8 = FUN_1806ab5b0(); local_78 = 1; uVar21 = 2; puVar20 = (uint *)0x0; uVar8 = FUN_18066b810(local_60,uVar8); FUN_18067dba0(param_1 + 8,uVar8); if (local_58 != (longlong *)0x0) { LOCK(); plVar1 = local_58 + 1; lVar22 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar22 == 1) { (**(code **)(*local_58 + 8))(local_58); LOCK(); piVar2 = (int *)((longlong)local_58 + 0xc); iVar5 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar5 == 1) { (**(code **)(*local_58 + 0x10))(local_58); } } } iVar17 = ((((((((((((iVar17 * 0x25 + DAT_18150651c) * 0x25 + DAT_181506520) * 0x25 + DAT_181506524 ) * 0x25 + DAT_181506528) * 0x25 + DAT_18150652c) * 0x25 + DAT_181506530) * 0x25 + DAT_181506534) * 0x25 + DAT_181506538) * 0x25 + DAT_18150653c) * 0x25 + DAT_181506540) * 0x25 + DAT_181506544) * 0x25 + DAT_181506548) * 0x25 + DAT_18150654c; *(undefined4 *)(param_1 + 0x30) = 0; iVar17 = ((((iVar17 * 0x25 + DAT_181506550) * 0x25 + DAT_181506554) * 0x25 + DAT_181506558) * 0x25 + DAT_18150655c) * 0x25 + DAT_181506560; *(undefined4 *)(param_1 + 0x34) = 0; iVar17 = (iVar17 * 0x25 + DAT_181506564) * 0x25 + DAT_181506568; do { uVar8 = rdtsc(); uVar14 = (uint)((ulonglong)uVar8 >> 0x20); puVar15 = (uint *)CONCAT44((int)((ulonglong)local_res8 >> 0x20),uVar14); uVar11 = (*(int *)plVar23 + 1) * *(int *)plVar23 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar11 = ((uint)uVar8 ^ uVar14) * -0x3b3113ad; local_res8[0] = (uVar11 >> 0x18 ^ uVar11) * -0x3b3100af; if (local_res8[0] < 0x2d228e7) { local_res20 = (code *)0x0; do { ppcVar12 = &local_res20; FUN_1806a7ade(ppcVar12,&local_res20); puVar15 = (uint *)0xe8cd; *ppcVar12 = FUN_1813f2240; FUN_1806a87ec(); uVar11 = (*(int *)plVar23 + 1) * *(int *)plVar23 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar9 = (*local_res20)(); if (1 < uVar9) { lVar22 = *plVar23; plVar1 = plVar23; while (lVar22 != -0x3333333333333334) { *plVar1 = 0; plVar1 = plVar1 + 8; lVar22 = *plVar1; } } } local_res10 = (undefined4 *)0xe7d34df505c09de7; local_res8[0] = 0x5c09de7; do { uVar11 = (*(int *)plVar23 + 1) * *(int *)plVar23 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); iVar17 = (((((iVar17 * 0x25 + DAT_18150656c) * 0x25 + DAT_181506570) * 0x25 + DAT_181506574) * 0x25 + DAT_181506578) * 0x25 + DAT_18150657c) * 0x25 + DAT_181506580; *(undefined4 *)(param_1 + 0x38) = 0; uVar11 = (((((((((((((((iVar17 * 0x25 + DAT_181506584) * 0x25 + DAT_181506588) * 0x25 + DAT_18150658c) * 0x25 + DAT_181506590) * 0x25 + DAT_181506594) * 0x25 + DAT_181506598) * 0x25 + DAT_18150659c) * 0x25 + DAT_1815065a0) * 0x25 + DAT_1815065a4) * 0x25 + DAT_1815065a8) * 0x25 + DAT_1815065ac) * 0x25 + DAT_1815065b0) * 0x25 + DAT_1815065b4) * 0x25 + DAT_1815065b8) * 0x25 + DAT_1815065bc) * 0x25 + DAT_1815065c0; do { uVar9 = ~(ulonglong)plVar23; plVar23 = (longlong *)(~(uVar9 + 1) + 1); uVar21 = (~uVar21 + 1 ^ 0xffffffffffffffff) + 1; uVar14 = (*(int *)plVar23 + 1) * *(int *)plVar23 & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); do { uVar13 = 0x601c; uVar14 = FUN_1806a9b3c(); if ((uVar13 & 0xcf00) == 0) { uVar14 = uVar14 ^ 0xf74976d0; pcVar10 = (char *)(ulonglong)uVar14; puVar3 = (uint *)(uVar13 - 0x7d); bVar7 = (byte)uVar13 & 0x1f; *puVar3 = *puVar3 >> bVar7 | *puVar3 << 0x20 - bVar7; uVar6 = *puVar3; *(int *)(uVar13 - 0x79) = *(int *)(uVar13 - 0x79) + -1; pcVar10[-0x1737c6b8] = pcVar10[-0x1737c6b8] << 1 | ((uVar13 & 0x1f) != 0 && (int)uVar6 < 0); *puVar15 = *puVar15 | uVar14; *(char *)(uVar13 - 0x75) = *(char *)(uVar13 - 0x75) + (char)uVar14; pcVar4 = (char *)(~(uVar9 + 1) - 0x50f0feb7); *pcVar4 = *pcVar4 + (char)uVar21; *pcVar10 = *pcVar10 + (char)uVar14; puVar3 = puVar20; puVar20 = puVar15; code_r0x0001806a92a7: puVar15 = puVar3; uVar14 = ((uint)uVar13 | 0xfffffffe) + 1; } else { FUN_1806a9bd6(); uVar14 = (*(int *)plVar23 + 1) * *(int *)plVar23 & 0x80000001; if ((int)uVar14 < 0) { uVar13 = (ulonglong)(uVar14 - 1); puVar3 = puVar15; goto code_r0x0001806a92a7; } } if (uVar14 == 0) { uVar14 = uVar11 >> 1; uVar11 = uVar14 | (uint)((uVar11 & 1) != 0) << 0x1f; uVar11 = (uVar14 << 2 | uVar11 >> 0x1e) & 0x99999999 | (uVar11 >> 2 | uVar14 << 0x1e) & 0x66666666; if (((uVar11 << 2 | uVar11 >> 0x1e) & 0x99999999 | (uVar11 >> 2 | uVar11 << 0x1e) & 0x66666666 ) + 0xc2bbff46 != local_res8[0]) { thunk_FUN_1805a9280(); return; } do { *(longlong **)(puVar16 + -8) = plVar23; *(uint **)(puVar16 + -0x10) = puVar15; *(undefined8 *)(puVar16 + -0x18) = uVar24; lVar22 = -(longlong)(int)lVar19; uVar24 = *(undefined8 *)(puVar16 + lVar22 + 0x298); puVar15 = *(uint **)(puVar16 + lVar22 + 0x2a0); plVar23 = *(longlong **)(puVar16 + lVar22 + 0x2a8); puVar16 = puVar16 + lVar22 + 0x2b0; uVar11 = ((int)*plVar23 + 1) * (int)*plVar23 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); *(undefined8 *)(param_1 + 0x3c) = 0; *(undefined2 *)(param_1 + 0x59) = 0; *(undefined1 *)(param_1 + 0x58) = 0; *(undefined8 *)(param_1 + 0x1a0) = 0x65; *(undefined8 *)(param_1 + 0x198) = 0x65; return; } } while( true ); } ############ FUN_ 1807bf080 size=3500 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001807bf435) */ /* WARNING: Removing unreachable block (ram,0x0001807bf1b0) */ /* WARNING: Removing unreachable block (ram,0x0001807bf0c7) */ /* WARNING: Removing unreachable block (ram,0x0001807bf0d7) */ /* WARNING: Removing unreachable block (ram,0x0001807bf11b) */ /* WARNING: Removing unreachable block (ram,0x0001807bf32e) */ /* WARNING: Removing unreachable block (ram,0x0001807bf560) */ void FUN_1807bf080(longlong param_1,longlong *param_2) { longlong lVar1; undefined8 uVar2; byte bVar3; void *pvVar4; char cVar5; longlong *plVar6; byte bVar7; undefined1 *puVar8; undefined4 uVar9; int *piVar10; ulonglong uVar11; uint uVar12; uint uVar13; void *_Memory; int iVar14; uint uVar15; undefined1 *puVar16; int *piVar17; longlong lVar18; longlong lVar19; ulonglong uVar20; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_d8 [32]; undefined8 local_b8; short local_b0 [4]; undefined8 local_a8; uint local_a0; int local_9c; int *local_98; undefined8 local_90; uint local_88; uint local_84; code *local_80; longlong local_78; undefined8 local_70; undefined1 local_68; undefined7 uStack_67; undefined8 local_58; ulonglong local_50; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_d8; uVar12 = (uint)&stack0x00000000; local_88 = 0x883e << ((char)((int)-(((uVar12 & 0xeff) + 1) * (uVar12 & 0xeff) + 0x3ac1 & 0x80000001) >> 0x1f) - (char)((int)-(((uVar12 & 0x1ff) * (uVar12 & 0x1ff) * 0x10 + 4) % 0x13) >> 0x1f) & 0x1fU) ^ 0x89fe; if (((ulonglong)&stack0x00000000 & 0x110) == 0) { uVar12 = ((uVar12 & 0x8ff) + 1) * (uVar12 & 0x8ff) + 0x6f85 & 0x80000001; } else { uVar12 = 1; } local_84 = (int)(-uVar12 | uVar12) >> 0x1f & 0x5705U ^ 0x5495; local_58 = 0; local_50 = 0xf; local_68 = 0; piVar10 = &iRam000000018162b348; local_b8 = 0x18162b448; local_a8._0_4_ = 0x4bce9b23; local_a8._4_4_ = 0; local_90 = 0x100; uVar12 = (iRam000000018162b348 + -0x2b914ad3) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + iRam000000018162b34c) * -0x395b586d; uVar15 = ((uVar12 >> 0x10 ^ uVar12) + iRam000000018162b350) * -0x395b586d; uVar15 = uVar15 ^ uVar15 >> 0x10; uVar12 = uVar15 & 0x7f | 0x23; lVar18 = -((longlong)(int)((uVar12 * uVar12 * 0xbfcf == 0x5435367) + 0xb020) ^ 0xb010U); do { uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = (*(int *)(lVar18 + 0x18162b384) + uVar15) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b388)) * -0x395b586d; uVar15 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b38c)) * -0x395b586d; uVar15 = uVar15 ^ uVar15 >> 0x10; cVar5 = (char)(lVar18 + 0x44); bVar3 = (byte)uVar15 & 0x7f; lVar18 = lVar18 + 0x44 + (0x7c6bL >> (((bVar3 + 1) * (bVar3 + 1) * bVar3 * bVar3 ^ (cVar5 + -1) * cVar5) & 1) ^ 0x7c6fU); uVar12 = (*(int *)(lVar18 + 0x18162b348) + uVar15) * -0x395b586d; do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar12 = (*(int *)(lVar18 + 0x18162b34c) + (uVar12 ^ uVar12 >> 0x10)) * -0x395b586d; local_98 = piVar10; local_78 = param_1; uVar9 = (**(code **)(*param_2 + 0xc0))(param_2,&local_68,uVar15,0); local_98 = (int *)CONCAT44(local_98._4_4_,uVar9); uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b350)) * -0x395b586d; lVar19 = lVar18 + 0xc; uVar13 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b354)) * -0x395b586d; uVar13 = uVar13 ^ uVar13 >> 0x10; bVar7 = (byte)local_90 & 0x7f; uVar12 = (uint)lVar19 & 0x1ff; iVar14 = (uVar12 + 2) * (uVar12 + 1) * uVar12; bVar3 = (byte)lVar19 & 0x4f; uVar12 = uVar13 & 0xf | 0x79; uVar15 = (uint)local_90 & 7 | 0x72; uVar15 = uVar12 * uVar12 * 0xd5c7 ^ uVar15 * uVar15 * 0x3805; uVar12 = (uint)local_90 & 0xaff; uVar12 = (uVar12 - 1) * uVar12 - 1 & 1; lVar18 = ((longlong)(int)((uVar12 | -uVar12) ^ (-uVar15 | uVar15)) >> 0x1f ^ ((longlong)(0x9483 << ((bVar7 + 1) * (bVar7 + 1) * bVar7 * bVar7 & 2)) | 0xf5fbU) ^ 0xf5f7) + lVar19 + ((longlong) (0x292b - ((((iVar14 >> 1) - (iVar14 >> 3)) + iVar14 * 0x55555555 >> 0x1e) << ((bVar3 + 1) * (bVar3 + 1) * bVar3 * bVar3 & 3))) ^ 0xffffffffffffd6d3U); uVar12 = (*(int *)(lVar18 + 0x18162b348) + uVar13) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b34c)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b350)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b354)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b358)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b35c)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b360)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b364)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b368)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b36c)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b370)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b374)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b378)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b37c)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b380)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b384)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b388)) * -0x395b586d; local_a8._0_4_ = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(lVar18 + 0x18162b38c)) * -0x395b586d; local_a8._0_4_ = (uint)local_a8 ^ (uint)local_a8 >> 0x10; do { uVar20 = ((ulonglong)piVar10 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff; piVar10 = (int *)(uVar20 + 1); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = (*(int *)(uVar20 + 0x49 + lVar18) + (uint)local_a8) * -0x395b586d; do { /* WARNING: Call to offcut address within same function */ func_0x0001807bfd62(0x4324); uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar12 = (*(int *)(uVar20 + 0x4d + lVar18) + (uVar12 ^ uVar12 >> 0x10)) * -0x395b586d; local_a8 = CONCAT44(local_a8._4_4_,uVar12 ^ uVar12 >> 0x10); local_b8 = 0x284dab239789b57; do { uVar2 = rdtsc(); local_a0 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); FUN_1807be657(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); local_a0 = (local_a0 * -0x7a143d4e >> 0x18 ^ local_a0 * -0x7a143d4e) * -0x3b31a42f; lVar19 = local_78; if (local_a0 < 0x6aa638) { do { local_80 = FUN_1813f2240; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar11 = FUN_1813f2240(0,0x2f97); lVar19 = local_78; if (1 < uVar11) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar6 = (longlong *)register0x00000020; while (lVar1 != -0x3333333333333334) { *plVar6 = 0; plVar6 = plVar6 + 8; lVar1 = *plVar6; } } } uVar12 = (*(int *)(uVar20 + 0x51 + lVar18) + (uint)local_a8) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 0x55 + lVar18)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 0x59 + lVar18)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 0x5d + lVar18)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 0x61 + lVar18)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 0x65 + lVar18)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 0x69 + lVar18)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 0x6d + lVar18)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 0x71 + lVar18)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 0x75 + lVar18)) * -0x395b586d; lVar18 = lVar18 + 0x78; uVar15 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18)) * -0x395b586d; uVar12 = (uint)lVar18 & 0x33f; iVar14 = (uVar12 + 2) * (uVar12 + 1) * uVar12; uVar12 = (uint)local_90 & 0x63ff; uVar12 = uVar12 * uVar12 + 1; lVar18 = lVar18 + (0x1955L >> ((byte)((((iVar14 >> 1) - (iVar14 >> 3)) + iVar14 * 0x55555555 >> 0x1e) << ((char)uVar12 + (char)(uVar12 / 7) * -7 & 0x1fU)) & 0x3f) ^ 0x1951U); uVar12 = ((uVar15 >> 0x10 ^ uVar15) + *(int *)((longlong)piVar10 + lVar18)) * -0x395b586d; piVar17 = &local_9c; (**(code **)(*param_2 + 0xd0))(param_2,&local_68,piVar17,local_b0); do { if (local_9c == 0) { uVar12 = (*(int *)(uVar20 + 5 + lVar18) + (uVar12 ^ uVar12 >> 0x10)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 9 + lVar18)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)(uVar20 + 0xd + lVar18)) * -0x395b586d; uVar20 = (ulonglong)(uVar12 ^ uVar12 >> 0x10); do { FUN_1807be7b7(0x4324); lVar19 = uVar20 + (longlong)piVar10; uVar20 = ((longlong)piVar10 - lVar19 ^ 0xffffffffffffffffU) + 1; piVar10 = (int *)(lVar19 - uVar20); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = (*(int *)((longlong)piVar10 + lVar18 + 0x10) + (int)uVar20) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x14)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x18)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x1c)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x20)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x24)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x28)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x2c)) * -0x395b586d; do { FUN_1807c18d5(0x4324); uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar12 = (*(int *)((longlong)piVar10 + lVar18 + 0x30) + (uVar12 ^ uVar12 >> 0x10)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x34)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x38)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x3c)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x40)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x44)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x48)) * -0x395b586d; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar12 = (*(int *)((longlong)piVar10 + lVar18 + 0x4c) + (uVar12 ^ uVar12 >> 0x10)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x50)) * -0x395b586d; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x54)) * -0x395b586d; uVar20 = (ulonglong)uVar12; uVar12 = ((uVar12 >> 0x10 ^ uVar12) + *(int *)((longlong)piVar10 + lVar18 + 0x58)) * -0x395b586d; uVar12 = (uVar12 >> 0x10 ^ uVar12) + 0x3908f999; (**(code **)(*param_2 + 200))(param_2); if ((uVar12 * 0x80000 | uVar12 >> 0xd) + 0x1ba96765 == (int)local_b8) { lVar18 = (longlong)(int)local_84; puVar8 = auStack_d8; do { puVar16 = puVar8; *(undefined8 *)(puVar16 + -8) = 0x1807bfe80; lVar19 = lVar18; FUN_1807c18d5(); *(int **)(puVar16 + -8) = piVar10; *(int **)(puVar16 + -0x10) = piVar17; *(ulonglong *)(puVar16 + -0x18) = uVar20; lVar19 = -lVar19; uVar20 = *(ulonglong *)(puVar16 + lVar19 + 0x378); piVar17 = *(int **)(puVar16 + lVar19 + 0x380); piVar10 = *(int **)(puVar16 + lVar19 + 0x388); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } puVar8 = puVar16 + lVar19 + 0x390; } while (uVar12 != 0); if (local_50 < 0x10) { *(undefined **)(puVar16 + lVar19 + 0x388) = &UNK_1807bffaa; } pvVar4 = (void *)CONCAT71(uStack_67,local_68); _Memory = pvVar4; if ((0xfff < local_50 + 1) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ *(undefined **)(puVar16 + lVar19 + 0x388) = &UNK_1807bffcb; _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ *(undefined1 **)(puVar16 + lVar19 + 0x388) = &LAB_1807bff9c; free(_Memory); } thunk_FUN_1805a9280((longlong)(int)local_88,uVar20); return; } if (local_b0[0] == 0) { if (local_9c != 0xc) goto LAB_1807bfab4; FUN_18079f0e0(*(undefined8 *)(lVar19 + 8),param_2); *(undefined1 *)(lVar19 + 0x148) = 1; } else if ((local_b0[0] == 1) && (local_9c == 0xc)) { FUN_1809f8f70(lVar19 + 0x10,param_2); *(undefined1 *)(lVar19 + 0x149) = 1; } else { LAB_1807bfab4: FUN_1806d8eb0(param_2,local_9c); } (**(code **)(*param_2 + 0xd8))(param_2); piVar17 = &local_9c; (**(code **)(*param_2 + 0xd0))(param_2,&local_68,piVar17,local_b0); } while( true ); } ############ FUN_ 180a7f400 size=1356 ############ char * FUN_180a7f400(undefined8 *param_1) { longlong lVar1; undefined8 uVar2; char cVar3; ulonglong uVar4; code **ppcVar6; uint uVar7; uint uVar8; uint uVar9; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_b8 [32]; undefined4 local_98; uint local_94; undefined8 local_90; uint local_88; undefined8 local_80; undefined8 local_78; undefined8 local_70; uint local_68; code *local_60; undefined8 *local_58; undefined8 local_50; ulonglong local_30; char *pcVar5; local_50 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_b8; *param_1 = license_services::LsObjectRelationVectorMachineBinding::vftable; uVar9 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0xb00) == 0) { uVar7 = uVar9 & 0x1fff; } else { uVar7 = uVar9 & 0x16ff; } uVar8 = (uVar7 * uVar7 * 0x10 + 4) % 0x13; uVar7 = (((uVar9 & 0x38ff) + 1) * (uVar9 & 0x38ff) + 7) % 0x51; local_68 = ((int)(-uVar7 | uVar7) >> 0x1f) * -0x6039 ^ ((int)(-uVar8 | uVar8) >> 0x1f) * -0x6ee9; if (((ulonglong)&stack0x00000000 & 0x1100) == 0) { uVar9 = (((uVar9 & 0x34ff) + 1) * (uVar9 & 0x34ff) + 7) % 0x51; } else { uVar9 = 1; } local_88 = (int)(-uVar9 | uVar9) >> 0x1f & 0x6128U ^ 0x6898; local_70 = 0; local_80 = 0x9ffff0; local_78 = 0x1809ffff0; local_90 = 0x180a02c9c; do { uVar2 = rdtsc(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x12aa7333; local_94 = (uVar9 >> 0x18 ^ uVar9) * -0x51ca00af; local_58 = param_1; if (local_94 < 0x3333333f) { local_60 = (code *)0x0; do { ppcVar6 = &local_60; /* WARNING: Call to offcut address within same function */ func_0x000180a7f781(ppcVar6,&local_60); *ppcVar6 = FUN_1813f2240; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar4 = (*local_60)(); if (1 < uVar4) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } local_70 = 0xa508dd3ec43afa36; local_80 = CONCAT44(local_80._4_4_,0xc43afa36); local_98 = 0xb5; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); /* WARNING: Call to offcut address within same function */ uVar4 = func_0x000180a7f7bc(); cVar3 = (char)(uVar4 & 0xffffffffffffff81) + '$'; pcVar5 = (char *)CONCAT71((int7)((uVar4 & 0xffffffffffffff81) >> 8),cVar3); out(1,(int)pcVar5); *pcVar5 = *pcVar5 + cVar3; return pcVar5; } ############ FUN_ 18092ec20 size=3400 ############ /* WARNING: Instruction at (ram,0x00018092f534) overlaps instruction at (ram,0x00018092f532) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018092f2db) */ /* WARNING: Removing unreachable block (ram,0x00018092eeb5) */ /* WARNING: Removing unreachable block (ram,0x00018092f5a0) */ /* WARNING: Removing unreachable block (ram,0x00018092f0b1) */ void FUN_18092ec20(longlong param_1) { longlong lVar1; undefined8 uVar2; uint uVar3; ulonglong uVar4; uint uVar5; void *pvVar6; undefined8 *******pppppppuVar7; int iVar8; longlong *plVar9; longlong *plVar10; uint uVar11; uint uVar12; uint uVar13; ulonglong uVar14; longlong lVar15; int *piVar16; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_5d8 [32]; undefined4 local_5b8; undefined8 *local_5b0; undefined8 local_5a8; undefined *local_5a0; uint local_598; uint local_594; undefined8 local_588; undefined8 uStack_580; code *local_578; void *local_570; longlong lStack_568; longlong local_560; void *local_558; undefined8 uStack_550; longlong local_548; undefined8 local_540; longlong local_538; undefined4 local_528; undefined4 uStack_524; undefined4 uStack_520; undefined4 uStack_51c; undefined8 local_518; undefined8 ******local_510 [2]; undefined8 local_500; ulonglong local_4f8; undefined **local_4e8; undefined1 local_4e0 [16]; undefined8 local_4d0; undefined8 local_4c8; undefined8 local_4c0; undefined1 local_4b8 [752]; undefined8 local_1c8; undefined8 uStack_1c0; undefined8 local_1b8; undefined4 local_1b0; undefined **local_1a8; undefined1 local_1a0 [352]; undefined4 local_40; undefined2 local_3c; ulonglong local_38; local_518 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_5d8; local_5a0 = &DAT_18136c410; uVar3 = (DAT_18136c310 + -0x7e8aee03) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c314) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c318) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c31c) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c320) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c324) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c328) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c32c) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c330) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c334) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c338) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c33c) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c340) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c344) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c348) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c34c) * -0x395b586d; local_5a8 = 0xb3d307fcc9da0249; local_594 = 0xc9da0249; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c350) * -0x395b586d; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (DAT_18136c354 + (uVar3 ^ uVar3 >> 0x10)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c358) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c35c) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c360) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c364) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c368) * -0x395b586d; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (DAT_18136c36c + (uVar3 ^ uVar3 >> 0x10)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c370) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c374) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c378) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c37c) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c380) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c384) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c388) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c38c) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c390) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c394) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c398) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c39c) * -0x395b586d; uVar5 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18136c3a0) * -0x395b586d; uVar5 = uVar5 ^ uVar5 >> 0x10; uVar3 = uVar5 & 0x1f; uVar14 = (longlong)(int)((uVar3 * uVar3 * (uVar3 + 1) * (uVar3 + 1) & 1) + 0x184c) ^ 0xffffffffffffe7b8; uVar3 = (*(int *)(&DAT_18136c3b0 + uVar14) + uVar5) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(&DAT_18136c3b4 + uVar14)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(&DAT_18136c3b8 + uVar14)) * -0x395b586d; uVar11 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(&DAT_18136c3bc + uVar14)) * -0x395b586d; uVar11 = uVar11 ^ uVar11 >> 0x10; uVar3 = uVar11 & 0xf | 0x1a; uVar5 = uVar11 & 0x7f | 0x2d; uVar13 = uVar3 * uVar3 * 0xd7cb ^ uVar5 * uVar5 * 0x12fd; uVar12 = ((uVar11 & 0x1aff) - 1) * (uVar11 & 0x1aff) - 1 & 1; uVar3 = (uint)(uVar14 + 0xac); uVar5 = uVar3 & 0x10ff; uVar3 = uVar3 & 0x1bf; iVar8 = (uVar3 + 2) * (uVar3 + 1) * uVar3; lVar15 = uVar14 + 0xac + (((longlong)(((int)(-uVar13 | uVar13) >> 0x1f) - ((int)(-uVar12 | uVar12) >> 0x1f)) | 0x8626U) ^ 0x8616) + ((longlong) (int)((((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e | (uVar5 - 1) * uVar5 & 1) + 0x7037) ^ 0xffffffffffff8fe3U); uVar11 = (*(int *)(lVar15 + 0x18136c310) + uVar11) * -0x395b586d; uVar11 = uVar11 ^ uVar11 >> 0x10; uVar5 = uVar11 & 0xbf; uVar13 = (uint)lVar15 & 0x7f; uVar12 = -1 >> ((byte)lVar15 & 0x1f); uVar3 = uVar13 + 1; uVar14 = (ulonglong)uVar3; lVar15 = ((longlong)(((int)(-uVar12 | uVar12) >> 0x1f) * -0xb7e) ^ 0xbfeU) + lVar15 + (((longlong)(int)(((uVar5 + 2) * (uVar5 + 1) * uVar5) % 3) | (ulonglong)(uVar13 * uVar13 * uVar3 * uVar3 & 1)) ^ 0xffffffffffffff84); uVar3 = (*(int *)(lVar15 + 0x18136c310) + uVar11) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c314)) * -0x395b586d; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (*(int *)(lVar15 + 0x18136c318) + (uVar3 ^ uVar3 >> 0x10)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c31c)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c320)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c324)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c328)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c32c)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c330)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c334)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c338)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c33c)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c340)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c344)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c348)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c34c)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c350)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c354)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c358)) * -0x395b586d; do { uVar2 = rdtsc(); local_598 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); FUN_18092eac5(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_598 = (local_598 * -0xae00af >> 0x18 ^ local_598 * -0xae00af) * -0x3d4d4602; if (local_598 < 0x1f81f81) { do { local_578 = FUN_1813f2240; FUN_1809314b4(&local_578,0x3869); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = (*local_578)(); if (1 < uVar4) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar10 = (longlong *)register0x00000020; while (lVar1 != -0x3333333333333334) { *plVar10 = 0; plVar10 = plVar10 + 8; lVar1 = *plVar10; } } } do { uVar4 = ~-param_1; param_1 = uVar4 + 1; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (*(int *)(lVar15 + 0x18136c35c) + (uVar3 ^ uVar3 >> 0x10)) * -0x395b586d; piVar16 = (int *)register0x00000020; do { piVar16 = (int *)(~(~((longlong)piVar16 - uVar14) + 1) + 1 + uVar14); uVar5 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (*(int *)(lVar15 + 0x18136c360) + (uVar3 ^ uVar3 >> 0x10)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(lVar15 + 0x18136c364)) * -0x395b586d; uVar3 = (uVar3 >> 0x10 ^ uVar3) + 0xf3836013; uVar5 = ((uVar3 >> 8 | uVar3 * 0x1000000) & 0xd728d728 | (uVar3 * 0x100 | uVar3 >> 0x18) & 0x28d728d7) + 0x66065284; uVar3 = (uVar5 >> 8 | uVar5 * 0x1000000) & 0xea15ea15 | (uVar5 * 0x100 | uVar5 >> 0x18) & 0x15ea15ea; if (((uVar3 >> 2 & 0xcccccccc | uVar3 << 0x1e | (uVar3 & 0xccccccc) << 2 | (uVar5 & 0xff) >> 6) != local_594) || (*(char *)(uVar4 + 0x49) != '\0')) { *(undefined1 *)(uVar4 + 0x49) = 0; *(undefined8 *)(uVar4 + 0x39) = 0; plVar10 = *(longlong **)(uVar4 + 0x41); *(undefined8 *)(uVar4 + 0x41) = 0; if (plVar10 != (longlong *)0x0) { LOCK(); plVar9 = plVar10 + 1; lVar15 = *plVar9; *(int *)plVar9 = (int)*plVar9 + -1; UNLOCK(); if ((int)lVar15 == 1) { (**(code **)(*plVar10 + 8))(plVar10); LOCK(); piVar16 = (int *)((longlong)plVar10 + 0xc); iVar8 = *piVar16; *piVar16 = *piVar16 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)(*plVar10 + 0x10))(plVar10); } } } local_588 = *(longlong *)(uVar4 + 9); plVar10 = *(longlong **)(uVar4 + 0x11); if (plVar10 != (longlong *)0x0) { LOCK(); *(int *)(plVar10 + 1) = (int)plVar10[1] + 1; UNLOCK(); } uStack_580 = plVar10; FUN_1805a4070(local_510,uVar4 + 0x19); *(undefined8 *)(uVar4 + 9) = 0; plVar9 = *(longlong **)(uVar4 + 0x11); *(undefined8 *)(uVar4 + 0x11) = 0; if (plVar9 != (longlong *)0x0) { LOCK(); plVar10 = plVar9 + 1; lVar15 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); plVar10 = uStack_580; if ((int)lVar15 == 1) { (**(code **)(*plVar9 + 8))(plVar9); LOCK(); piVar16 = (int *)((longlong)plVar9 + 0xc); iVar8 = *piVar16; *piVar16 = *piVar16 + -1; UNLOCK(); plVar10 = uStack_580; if (iVar8 == 1) { (**(code **)(*plVar9 + 0x10))(plVar9); plVar10 = uStack_580; } } } FUN_1805a6cb0(uVar4 + 0x19,&DAT_181baf991,0); if (local_588 != 0) { local_4e8 = pace::eden::thrift::authorize::CloseDirectLocationConnectionInput::vftable; local_4d0 = 0; local_4c8 = 0xf; local_4e0[0] = 0; FUN_1805a6cb0(local_4e0,&DAT_181baf991,0); local_4c0 = 0; FUN_180575180(local_4b8); local_1c8 = 0; uStack_1c0 = 0; local_1b8 = 0; local_1b0 = 0; local_1a8 = pace::eden::thrift::authorize::CloseDirectLocationConnectionReturn::vftable; FUN_180750800(local_1a0); local_40 = 4; local_3c = 0; pppppppuVar7 = local_510; if (0xf < local_4f8) { pppppppuVar7 = (undefined8 *******)local_510[0]; } FUN_1805a6cb0(local_4e0,pppppppuVar7,local_500); local_1b0._0_3_ = CONCAT12(1,(undefined2)local_1b0); FUN_1805b9ea0(local_4b8,uVar4 + 0x61); local_4c0 = FUN_1806d2560(); local_558 = (void *)0x0; uStack_550 = 0; local_548 = 0; local_570 = (void *)0x0; lStack_568 = 0; local_560 = 0; FUN_18092ce70(&local_4e8,&local_558,1); local_540 = *(undefined8 *)(uVar4 + 0x51); local_538 = *(longlong *)(uVar4 + 0x59); plVar9 = plVar10; if (local_538 != 0) { LOCK(); *(int *)(local_538 + 8) = *(int *)(local_538 + 8) + 1; UNLOCK(); plVar9 = uStack_580; } local_528 = (undefined4)local_588; uStack_524 = local_588._4_4_; uStack_520 = (undefined4)uStack_580; uStack_51c = uStack_580._4_4_; plVar10 = (longlong *)0x0; if (plVar9 != (longlong *)0x0) { LOCK(); *(int *)(plVar9 + 1) = (int)plVar9[1] + 1; UNLOCK(); plVar10 = uStack_580; } local_5b0 = &local_540; local_5b8 = *(undefined4 *)(uVar4 + 0x4d); FUN_1806b91d0(6,&local_558,&local_570,&local_528); FUN_18092ca90(local_570,lStack_568 - (longlong)local_570,&local_1a8); if (local_570 != (void *)0x0) { pvVar6 = local_570; if ((0xfff < (ulonglong)(local_560 - (longlong)local_570)) && (pvVar6 = *(void **)((longlong)local_570 + -8), 0x1f < (ulonglong)((longlong)local_570 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } if (local_558 != (void *)0x0) { pvVar6 = local_558; if ((0xfff < (ulonglong)(local_548 - (longlong)local_558)) && (pvVar6 = *(void **)((longlong)local_558 + -8), 0x1f < (ulonglong)((longlong)local_558 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } local_1a8 = pace::eden::thrift::authorize::CloseDirectLocationConnectionReturn::vftable; FUN_180750cf0(local_1a0); FUN_18092e830(&local_4e8); } plVar9 = uStack_580; if (0xf < local_4f8) { pppppppuVar7 = (undefined8 *******)local_510[0]; if ((0xfff < local_4f8 + 1) && (pppppppuVar7 = (undefined8 *******)local_510[0][-1], 0x1f < (ulonglong)((longlong)local_510[0] + (-8 - (longlong)pppppppuVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppppuVar7); } if (plVar10 != (longlong *)0x0) { LOCK(); plVar10 = plVar10 + 1; lVar15 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar15 == 1) { (**(code **)(*uStack_580 + 8))(uStack_580); LOCK(); piVar16 = (int *)((longlong)plVar9 + 0xc); iVar8 = *piVar16; *piVar16 = *piVar16 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)(*uStack_580 + 0x10))(); } } } } } ############ FUN_ 18077e390 size=1659 ############ /* WARNING: Instruction at (ram,0x00018077ea37) overlaps instruction at (ram,0x00018077ea32) */ /* WARNING: Removing unreachable block (ram,0x00018077ed6f) */ /* WARNING: Removing unreachable block (ram,0x00018077ec2f) */ /* WARNING: Removing unreachable block (ram,0x00018077e3e3) */ /* WARNING: Removing unreachable block (ram,0x00018077e9cc) */ /* WARNING: Removing unreachable block (ram,0x00018077ed63) */ /* WARNING: Removing unreachable block (ram,0x00018077ea32) */ ulonglong FUN_18077e390(int param_1,longlong *param_2) { longlong *plVar1; ulonglong uVar2; longlong lVar3; undefined8 uVar4; uint uVar5; uint uVar6; code **ppcVar7; undefined1 *puVar8; longlong *plVar9; ulonglong uVar10; longlong lVar11; longlong lVar12; longlong lVar13; uint unaff_retaddr; undefined4 unaff_retaddr_00; int local_res8 [2]; longlong *local_res10; longlong lStackX_18; undefined1 auStackX_20 [8]; undefined1 auStack_d8 [32]; undefined1 uStack_b8; undefined1 uStack_b7; undefined1 uStack_b6; undefined1 uStack_b5; undefined1 uStack_b4; undefined1 uStack_b3; undefined1 uStack_b2; undefined1 uStack_b1; undefined1 uStack_b0; undefined1 uStack_af; undefined1 uStack_ae; undefined1 uStack_ad; undefined1 uStack_ac; undefined1 uStack_ab; undefined1 uStack_aa; undefined1 uStack_a9; undefined1 uStack_a8; undefined1 uStack_a7; undefined1 uStack_a6; undefined1 uStack_a5; undefined1 uStack_a4; undefined1 uStack_a3; undefined1 uStack_a2; undefined1 uStack_a1; undefined1 uStack_a0; undefined1 uStack_9f; undefined1 uStack_9e; undefined1 uStack_9d; undefined1 uStack_9c; undefined1 auStack_9b [3]; undefined8 local_98; undefined8 local_90; uint local_88; int local_84; undefined4 auStack_80 [2]; undefined4 auStack_78 [2]; code *local_70; char *pcStack_68; char *pcStack_60; undefined8 local_58; puVar8 = auStack_d8; local_58 = 0xfffffffffffffffe; lVar3 = 0; local_84 = 0x960; uVar10 = 0x180000000; plVar9 = (longlong *)0x2000000; lVar12 = 0x41c8; local_98 = 0x1814847d8; local_90 = 0x1814848d8; uVar5 = (iRam00000001814847d8 + -0x4f486278) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814847dc) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814847e0) * 0x401; local_res8[0] = param_1; local_res10 = param_2; do { FUN_18077ca1f(0xc100); lVar12 = (-lVar12 ^ 0xffffffffffffffffU) + 1; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (iRam00000001814847e4 + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814847e8) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814847ec) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814847f0) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814847f4) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814847f8) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + DAT_1814847fc) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484800) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484804) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484808) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam000000018148480c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484810) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484814) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + DAT_181484818) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + DAT_18148481c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + DAT_181484820) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + DAT_181484824) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + DAT_181484828) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam000000018148482c) * 0x401; do { uVar4 = rdtsc(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = ((uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20)) * -0x733212ab; local_88 = (uVar6 >> 0x18 ^ uVar6) * -0x51caa42f; if (local_88 < 0x190d4f1) { local_70 = (code *)0x0; do { ppcVar7 = &local_70; /* WARNING: Call to offcut address within same function */ func_0x00018077e9d3(ppcVar7,&local_70); *ppcVar7 = FUN_1813f2240; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar2 = (*local_70)(0,0xfdae); if (1 < uVar2) { lVar13 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar1 = (longlong *)register0x00000020; while (lVar13 != -0x3333333333333334) { *plVar1 = 0; plVar1 = plVar1 + 8; lVar13 = *plVar1; } } } uVar5 = (iRam0000000181484830 + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484834) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484838) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam000000018148483c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484840) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484844) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484848) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam000000018148484c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484850) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484854) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484858) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam000000018148485c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484860) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484864) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484868) * 0x401; do { FUN_18077cf79(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (iRam000000018148486c + (uVar5 ^ uVar5 >> 6)) * 0x401; do { func_0x00018078013e(); plVar1 = local_res10; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (iRam0000000181484870 + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484874) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484878) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam000000018148487c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484880) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484884) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484888) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam000000018148488c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484890) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484894) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam0000000181484898) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam000000018148489c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848a0) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848a4) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848a8) * 0x401; local_98 = 0x446712c11771e8aa; lStackX_18 = CONCAT44(lStackX_18._4_4_,0x1771e8aa); uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848ac) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848b0) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848b4) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848b8) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848bc) * 0x401; do { lVar13 = 0; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = (iRam00000001814848c0 + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848c4) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848c8) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848cc) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848d0) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + iRam00000001814848d4) * 0x401; uVar6 = uVar5 >> 6 ^ uVar5; uVar6 = uVar6 >> 4 & 0xf0f0f0f0 | uVar6 << 0x1c | (uVar6 & 0xf0f0f0) << 4 | uVar5 >> 0x1c; uVar5 = (uVar6 >> 7 ^ uVar6) >> 0x13 & 0x3f; uVar5 = uVar6 ^ (uVar5 << 7 | uVar5) << 0x13; uVar6 = (uVar6 << 0x10 | uVar5 >> 0x10) & 0xa93f56c0 | (uVar5 >> 0x10 | uVar6 << 0x10) & 0x56c0a93f; uVar5 = (uVar6 >> 10 ^ uVar6) >> 3 & 0x3ff; uVar6 = uVar6 ^ (uVar5 << 10 | uVar5) << 3; lVar11 = (longlong)local_84; do { /* WARNING: Call to offcut address within same function */ func_0x00018077e9d3(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar10 = ~(~uVar10 + 1) + 1; /* WARNING: Call to offcut address within same function */ func_0x00018077e9d3(0xc100); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); if ((char)(((uVar6 >> 0xf | uVar6 << 0x11) != (uint)lStackX_18) * '3') != '\0') { if (local_res8[0] == 0x2a9f3eff) { plVar1[1] = *plVar1; if ((ulonglong)(plVar1[2] - *plVar1) < 0x18) { FUN_1805bbf80(plVar1,0x18); } uStack_aa = 0x5b; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_aa); } else { *puVar8 = 0x5b; plVar1[1] = plVar1[1] + 1; } uStack_a9 = 0xf7; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_a9); } else { *puVar8 = 0xf7; plVar1[1] = plVar1[1] + 1; } uStack_a8 = 0xf1; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_a8); } else { *puVar8 = 0xf1; plVar1[1] = plVar1[1] + 1; } uStack_a7 = 0xe6; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_a7); } else { *puVar8 = 0xe6; plVar1[1] = plVar1[1] + 1; } uStack_a6 = 0x57; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_a6); } else { *puVar8 = 0x57; plVar1[1] = plVar1[1] + 1; } uStack_a5 = 0x12; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_a5); } else { *puVar8 = 0x12; plVar1[1] = plVar1[1] + 1; } uStack_a4 = 0x10; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_a4); } else { *puVar8 = 0x10; plVar1[1] = plVar1[1] + 1; } uStack_a3 = 0xf; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_a3); } else { *puVar8 = 0xf; plVar1[1] = plVar1[1] + 1; } uStack_a2 = 0x97; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_a2); } else { *puVar8 = 0x97; plVar1[1] = plVar1[1] + 1; } uStack_a1 = 0xf9; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_a1); } else { *puVar8 = 0xf9; plVar1[1] = plVar1[1] + 1; } uStack_a0 = 99; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_a0); } else { *puVar8 = 99; plVar1[1] = plVar1[1] + 1; } uStack_9f = 0x8f; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_9f); } else { *puVar8 = 0x8f; plVar1[1] = plVar1[1] + 1; } uStack_9e = 8; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_9e); } else { *puVar8 = 8; plVar1[1] = plVar1[1] + 1; } uStack_9d = 0x83; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_9d); } else { *puVar8 = 0x83; plVar1[1] = plVar1[1] + 1; } uStack_9c = 0x97; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,&uStack_9c); } else { *puVar8 = 0x97; plVar1[1] = plVar1[1] + 1; } auStack_9b[0] = 0xe7; puVar8 = (undefined1 *)plVar1[1]; if ((undefined1 *)plVar1[2] == puVar8) { FUN_1805b0850(plVar1,puVar8,auStack_9b); } else { *puVar8 = 0xe7; plVar1[1] = plVar1[1] + 1; } uVar10 = thunk_FUN_1805a9280(0x2e0,thunk_FUN_1805a9280); return uVar10; } lVar3 = FUN_1805c0220( "The given connection ID 0x%08X for the default connection is not a supported value." ); lVar12 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar3 + 8),local_res8); auStack_78[0] = 0x16a5; pcStack_60 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&pcStack_60); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,auStack_78); } if (local_res8[0] == 0x2a9f3eff) { plVar1[1] = *plVar1; if ((ulonglong)(plVar1[2] - *plVar1) < 0x10) { FUN_1805bbf80(plVar1,0x10); } lStackX_18 = CONCAT71(lStackX_18._1_7_,0x7c); if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = &lStackX_18; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0x7c; plVar1[1] = plVar1[1] + 1; } auStackX_20[0] = 0x83; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)auStackX_20; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0x83; plVar1[1] = plVar1[1] + 1; } uStack_b8 = 0xe5; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_b8; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0xe5; plVar1[1] = plVar1[1] + 1; } uStack_b7 = 0xba; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_b7; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0xba; plVar1[1] = plVar1[1] + 1; } uStack_b6 = 0x4e; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_b6; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0x4e; plVar1[1] = plVar1[1] + 1; } uStack_b5 = 0x11; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_b5; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0x11; plVar1[1] = plVar1[1] + 1; } uStack_b4 = 0x1b; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_b4; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0x1b; plVar1[1] = plVar1[1] + 1; } uStack_b3 = 9; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_b3; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 9; plVar1[1] = plVar1[1] + 1; } uStack_b2 = 0xea; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_b2; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0xea; plVar1[1] = plVar1[1] + 1; } uStack_b1 = 0xaa; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_b1; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0xaa; plVar1[1] = plVar1[1] + 1; } uStack_b0 = 0x40; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_b0; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0x40; plVar1[1] = plVar1[1] + 1; } uStack_af = 0xf7; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_af; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0xf7; plVar1[1] = plVar1[1] + 1; } uStack_ae = 0xe; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_ae; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0xe; plVar1[1] = plVar1[1] + 1; } uStack_ad = 0x97; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_ad; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0x97; plVar1[1] = plVar1[1] + 1; } uStack_ac = 0xde; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_ac; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0xde; plVar1[1] = plVar1[1] + 1; } uStack_ab = 0xd2; if ((undefined1 *)plVar1[2] == (undefined1 *)plVar1[1]) { plVar9 = (longlong *)&uStack_ab; FUN_1805b0850(plVar1); } else { *(undefined1 *)plVar1[1] = 0xd2; plVar1[1] = plVar1[1] + 1; puVar8 = auStack_d8; lVar13 = lVar3; } do { *(ulonglong *)(puVar8 + -8) = uVar10; *(longlong *)(puVar8 + -0x10) = lVar13; *(longlong **)(puVar8 + -0x18) = plVar9; lVar3 = (-lVar12 ^ 0xffffffffffffffffU) + 1 + lVar11; lVar12 = ~(lVar11 - lVar3) + 1; lVar11 = -lVar11; plVar9 = *(longlong **)(puVar8 + lVar11 + 0x948); lVar13 = *(longlong *)(puVar8 + lVar11 + 0x950); uVar10 = *(ulonglong *)(puVar8 + lVar11 + 0x958); puVar8 = puVar8 + lVar11 + 0x960; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } lVar11 = lVar3 - lVar12; } while (uVar5 != 0); return (ulonglong)unaff_retaddr; } lStackX_18 = FUN_1811316e0(0x18); if (lStackX_18 != 0) { lVar3 = FUN_1805a48c0(lStackX_18, "The given connection ID 0x%08X for the default connection is not a supported value." ); } lVar12 = FUN_1805c0260(); FUN_18060e760(*(undefined8 *)(lVar3 + 8),local_res8); auStack_80[0] = 0x16a5; pcStack_68 = "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libilokutil\\ilok2commander.cpp"; uVar4 = FUN_1805a21d0(*(undefined8 *)(lVar12 + 8),&pcStack_68); /* WARNING: Subroutine does not return */ FUN_1805b20d0(uVar4,auStack_80); } ############ FUN_ 180a9d880 size=1864 ############ /* WARNING: Instruction at (ram,0x000180a9db88) overlaps instruction at (ram,0x000180a9db87) */ /* WARNING: Removing unreachable block (ram,0x000180a9db36) */ /* WARNING: Removing unreachable block (ram,0x000180a9d998) */ /* WARNING: Removing unreachable block (ram,0x000180a9db83) */ /* WARNING: Removing unreachable block (ram,0x000180a9de60) */ undefined8 FUN_180a9d880(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4) { undefined4 *puVar1; int iVar2; ulonglong uVar3; undefined8 uVar4; uint uVar5; uint uVar6; longlong lVar7; undefined1 *puVar8; uint *puVar9; IMAGE_DOS_HEADER *pIVar10; longlong *plVar11; uint uVar12; longlong lVar13; IMAGE_DOS_HEADER *pIVar14; longlong lVar15; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_c8 [32]; uint local_a8; uint local_a4; longlong local_a0; longlong local_98; uint local_90; uint local_8c; undefined8 local_88; undefined8 local_80; uint local_78; code *local_70; undefined8 local_68; undefined4 *local_60; undefined4 local_50; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_c8; uVar12 = 0xf63082e9; uVar6 = (uint)&stack0x00000000; if (((ulonglong)&stack0x00000000 & 0x5e0) == 0) { uVar5 = (uVar6 & 0xdff) * (uVar6 & 0xdff) * 0x10 + 4; iVar2 = (uVar5 / 0x13) * 0x13; } else { uVar5 = ((uVar6 & 0x1dff) + 1) * (uVar6 & 0x1dff) + 7; iVar2 = (uVar5 / 0x51) * 0x51; } local_8c = (int)(-(uVar5 - iVar2) | uVar5 - iVar2) >> 0x1f & 0xbf93U ^ 0xb2a3; local_a8 = 0x811c9e53; uVar6 = uVar6 & 0x13f; iVar2 = (uVar6 + 2) * (uVar6 + 1) * uVar6; local_78 = ((((iVar2 >> 1) - (iVar2 >> 3)) + iVar2 * 0x55555555 >> 0x1e) + 0x12U | 0x2a13) ^ 0x2313; pIVar10 = &IMAGE_DOS_HEADER_180000000; local_98 = 0x1800a6eb4; local_a0 = 0x1800a8eb0; do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_80 = 0x5aab090524265e43; local_88 = 0x24265e43; do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } local_68 = param_1; local_60 = param_4; } while (uVar6 != 0); do { uVar4 = rdtsc(); local_a4 = (uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20); FUN_180a9eb02(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_a4 = (local_a4 * -0x13ac00af >> 0x18 ^ local_a4 * -0x13ac00af) * -0x359413ad; if (local_a4 < 0x1999999f) { do { local_70 = FUN_1813f2240; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = FUN_1813f2240(0,0x3cfc); if (1 < uVar3) { lVar13 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar11 = (longlong *)register0x00000020; while (lVar13 != -0x3333333333333334) { *plVar11 = 0; plVar11 = plVar11 + 8; lVar13 = *plVar11; } } } lVar13 = 0; lVar15 = local_a0 - local_98; *param_4 = 0xfffffffe; uVar6 = 0xf63082e9; if (local_a0 == local_98) { LAB_180a9de99: local_8c = uVar6; local_90 = local_a8; do { puVar9 = &local_90; FUN_180a9fb8c(); uVar6 = FUN_180b08fed(); *puVar9 = uVar6; FUN_180a9c6d3(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_a8 = ((local_90 + 0x72b4b07e) * 0x80 | local_90 + 0x72b4b07e >> 0x19) + 0xb851ea09; FUN_180a9dffc(); uVar4 = FUN_180a9dffd(); return uVar4; } LAB_180a9dcf0: puVar1 = (undefined4 *)(local_98 + lVar13); if ((pIVar10 != (IMAGE_DOS_HEADER *)0x0) && (lVar7._0_1_ = pIVar10->e_magic[0], lVar7._1_1_ = pIVar10->e_magic[1], lVar7._2_2_ = pIVar10->e_cblp, lVar7._4_2_ = pIVar10->e_cp, lVar7._6_2_ = pIVar10->e_crlc, -1 < lVar7)) { local_80 = 0x2621fc0; do { if (puVar1 < IMAGE_DOS_HEADER_180000000.e_magic + lVar7 + 8) { if (-1 < lVar7) { plVar11 = (longlong *)(lVar7 + 0x180000000); if (plVar11 < puVar1 + 1) { local_50 = *puVar1; pIVar14 = pIVar10; goto LAB_180a9dd70; } } break; } lVar7._0_2_ = pIVar10->e_cparhdr; lVar7._2_2_ = pIVar10->e_minalloc; lVar7._4_2_ = pIVar10->e_maxalloc; lVar7._6_2_ = pIVar10->e_ss; pIVar10 = (IMAGE_DOS_HEADER *)&pIVar10->e_cparhdr; } while (-1 < lVar7); } goto LAB_180a9dd8f; while (plVar11 = (longlong *)(lVar7 + 0x180000000), plVar11 < puVar1 + 1) { LAB_180a9dd70: pIVar14 = (IMAGE_DOS_HEADER *)&pIVar14->e_cparhdr; *(longlong *)(&stack0x00017fffffb0 + (lVar7 - (longlong)puVar1)) = *plVar11 + -0x180000000; lVar7 = *(longlong *)pIVar14; if (lVar7 < 0) break; } LAB_180a9dd8f: uVar12 = uVar12 | local_a8; do { puVar9 = &local_a8; puVar8 = &DAT_0000ca10; FUN_180a9d878(); do { do { } while (((ulonglong)puVar8 & 0xc3) != 0); } while (((ulonglong)puVar8 & 0xc300) == 0); do { do { } while (((ulonglong)puVar8 & 0xc300) == 0); uVar6 = FUN_180aa5999(); *puVar9 = uVar6; } while ((((ulonglong)puVar8 & 0xc300) != 0) && (((ulonglong)puVar8 & 0xc300) == 0)); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar12 = uVar12 + (uVar12 >> 7); if (0x1d < uVar12 - local_a8) { uVar12 = uVar12 ^ uVar12 >> 6; } local_a8 = local_a8 * 0x10001d1; uVar12 = uVar12 * local_a8; lVar13 = lVar13 + 4; uVar6 = uVar12; if (lVar15 == lVar13) goto LAB_180a9de99; goto LAB_180a9dcf0; } ############ FUN_ 180aade30 size=798 ############ /* WARNING: Control flow encountered bad instruction data */ void FUN_180aade30(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint *puVar4; code **ppcVar5; uint uVar6; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_d8 [32]; undefined8 local_b8; uint local_b0 [2]; undefined8 local_a8; undefined8 local_98; undefined8 local_90; undefined4 local_84; uint local_80; code *local_78; undefined8 *local_70; undefined8 *local_68; undefined8 local_60; ulonglong local_40; local_60 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_d8; local_70 = param_1; local_68 = param_1; FUN_180a39dc0(); *param_1 = license_services::LsObjectRelationVectorSignature::vftable; param_1[4] = param_4; param_1[5] = 0; param_1[6] = 0; local_84 = 0x200; uVar6 = (uint)&stack0x00000000 & 0x2ff; local_80 = 0x11c1 << ((char)((ulonglong) ((longlong)(int)((uVar6 + 2) * (uVar6 + 1) * uVar6) * 0x55555556) >> 0x20) * -3 & 0x1fU) ^ 0x1751; do { puVar4 = local_b0; FUN_180aaf36c(puVar4,local_b0); uVar2 = rdtsc(); *puVar4 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_b0[0] = (local_b0[0] * -0x51ca13ad >> 0x18 ^ local_b0[0] * -0x51ca13ad) * -0x50283b32; if (local_b0[0] < 0x1999999f) { local_78 = (code *)0x0; do { ppcVar5 = &local_78; FUN_180aac821(ppcVar5,&local_78); *ppcVar5 = FUN_1813f2240; func_0x000180aace4c(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = (*local_78)(); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } do { FUN_180aaf545(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_b8 = 0x180092edc; local_a8 = 0x180094ed8; local_90 = 0x1cdf829641ce7c35; local_98 = 0x41ce7c35; FUN_180aaf7bf(); FUN_180aae16d(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 181608c50 size=2466 ############ /* WARNING: Instruction at (ram,0x000181609953) overlaps instruction at (ram,0x00018160994d) */ /* WARNING: Removing unreachable block (ram,0x000181608d33) */ /* WARNING: Removing unreachable block (ram,0x000181608cc6) */ /* WARNING: Removing unreachable block (ram,0x0001816094f0) */ void FUN_181608c50(undefined8 param_1,undefined4 param_2) { undefined8 uVar1; ulonglong uVar2; longlong lVar3; uint uVar4; uint uVar5; IMAGE_DOS_HEADER *pIVar6; longlong *plVar7; uint uVar8; IMAGE_DOS_HEADER *pIVar9; longlong lVar10; ulonglong uVar11; uint uVar12; undefined4 *puVar14; bool bVar15; int unaff_retaddr; undefined8 uStack_1a8; ulonglong uStack_1a0; undefined1 auStack_198 [24]; longlong lStack_180; longlong local_178; undefined8 local_170; undefined8 local_168; uint local_158; undefined8 local_150; undefined4 *local_148; undefined4 local_140; undefined4 local_13c; undefined4 uStack_138; uint local_12c; longlong local_128; undefined4 local_120; undefined8 local_118; undefined4 local_110; uint local_10c; undefined4 local_108; uint local_f8; undefined8 local_f0; undefined4 local_e8; undefined4 local_e4; undefined8 local_e0; undefined8 local_d8; longlong local_d0; undefined4 local_b8; uint local_b4; int local_b0; uint local_ac; undefined4 local_a8; undefined4 local_a4; undefined4 local_70 [14]; ulonglong local_38; int iVar13; local_38 = DAT_182615970 ^ (ulonglong)auStack_198; uVar4 = (uint)&stack0x00000000 & 0x27f; local_10c = ((uVar4 + 2) * (uVar4 + 1) * uVar4) % 3 ^ 0x780; local_110 = 0xa60; pIVar9 = &IMAGE_DOS_HEADER_180000000; local_118 = 0; local_148 = (undefined4 *)0x180016fd4; local_128 = 0x180018fd0; do { local_108 = 0xc576a1fc; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { local_e4 = 0x62; local_e0 = 0x181608ee7; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { local_e8 = 1; local_d8 = 0x181608fb7; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_178 = 0x811c9e29; local_140 = 0; lVar10 = (longlong)dvs_0x45419988_mfort6317_ + ((ulonglong)dvs_0x91056ddb_mfort6317_ >> 10 & 0xb0600288); do { uVar1 = rdtsc(); local_f8 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar2 = (((ulonglong)(local_f8 >> 6) | (ulonglong)local_f8 << 0x3a) - 0x38d166c3) + (ulonglong)local_f8 * 2; uVar11 = uVar2 >> 0xe; uVar2 = uVar11 | uVar2 << 0x32; lVar3 = uVar2 - ((uVar2 >> 0xc | uVar11 << 0x34) + 0x6dd6cb4b); uVar2 = lVar3 * 5; uVar2 = lVar3 - ((uVar2 >> 0x10 | uVar2 << 0x30) + 0x4b2218c8); uVar2 = (uVar2 - ((uVar2 >> 0xf) - 0x1e6e5e63)) * 0x10001 + 0x364c9173; uVar4 = (int)(uVar2 >> 0xc) + -0x5f32ccc1 + (int)uVar2 * 8; local_170 = CONCAT44(local_170._4_4_,uVar4); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); dvs_0x45419988_mfort6317_._4_4_ = (int)((ulonglong)lVar10 >> 0x20); uVar5 = dvs_0x45419988_mfort6317_._4_4_ + (uVar4 ^ 0xbfac674b); dvs_0x45419988_mfort6317_._0_4_ = (uint)lVar10; dvs_0x45419988_mfort6317_ = (uint *)CONCAT44(uVar5,(uint)dvs_0x45419988_mfort6317_ + (uVar4 ^ 0xf11428a9)); uVar4 = (uint)(((ulonglong)dvs_0x45419988_mfort6317_ >> 5 ^ (ulonglong)dvs_0x45419988_mfort6317_) >> 3) & 0xf; uVar2 = ((ulonglong)uVar4 << 5 | (ulonglong)uVar4) << 3 ^ (ulonglong)dvs_0x45419988_mfort6317_; uVar11 = ((uVar2 >> 8 | uVar2 << 0x38) & 0xad52ad52ad52ad52 | (uVar2 << 8 | (ulonglong)(uVar5 >> 0x18)) & 0x52ad52ad52ad52ad) ^ 0x4febf484fb0c05fe; uVar4 = (uint)(uVar11 >> 0x20); uVar2 = (ulonglong)((uVar4 >> 9 ^ uVar4) & 0x3f); uVar2 = uVar11 ^ (uVar2 << 9 | uVar2) << 0x20; uVar2 = ((uVar2 >> 8 | uVar11 << 0x38) & 0xc738c738c738c738 | (uVar2 << 8 | uVar11 >> 0x38) & 0x38c738c738c738c7) + 0xf04a0f02157e2d57; uVar2 = ((uVar2 >> 4 | uVar2 << 0x3c) & 0xe1e1e1e1e1e1e1e1 | (uVar2 * 0x10 | uVar2 >> 0x3c) & 0x1e1e1e1e1e1e1e1e) + 0xe3a6d0fe81a23384; dvs_0x45419988_mfort6317_ = (uint *)(uVar2 * 0x10 | uVar2 >> 0x3c); dvs_0x91056ddb_mfort6317_ = (uint *)((longlong)dvs_0x91056ddb_mfort6317_ + (ulonglong)((uint)((uVar2 & 0xfffffffffffffff) >> 0xf) & 0x10058042)); local_170 = CONCAT44(local_170._4_4_,(int)((uVar2 & 0xfffffffffffffff) >> 7)) & 0xffffffff7fffffff ; local_158 = (uint)dvs_0x45419988_mfort6317_ ^ 0x68960f26; local_168 = (ulonglong)dvs_0x45419988_mfort6317_ ^ 0xf3649063469b9fd4; local_150 = 0xfbe71094cb82d8fb; local_13c = param_2; local_f0 = param_1; do { pIVar6 = (IMAGE_DOS_HEADER *)0x5410; uStack_1a0 = 0x18160934f; FUN_18160a645(); if (((ulonglong)pIVar6 & 0xe700) == 0) { pIVar9 = pIVar6; } uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar5 = (uint)local_168 ^ local_158; local_a8 = 0xb45e9de0; local_a4 = 0x41847a8d; uVar4 = (uVar5 & 0x6593f979 ^ local_158) + 0x4ed1481b; iVar13 = (int)(local_168 >> 0x20); uVar12 = iVar13 + 0x7bc739d3; uVar5 = (local_158 ^ uVar5 & 0x9a6c0686) + 0xaef7aa14; uVar8 = (uVar4 * 0x100 | uVar4 >> 0x18) & 0x9a659a65 | (uVar4 >> 8 | uVar4 * 0x1000000) & 0x659a659a; uVar5 = ((uVar5 * 0x10000 | uVar5 >> 0x10) & 0xc73b38c4 | (uVar5 >> 0x10 | uVar5 * 0x10000) & 0x38c4c73b) ^ uVar8; uVar12 = uVar12 >> 2 & 0xcccccccc | uVar12 * 0x40000000 | uVar12 * 4 & 0x33333333 | uVar12 >> 0x1e ; uVar4 = uVar5 & 0x8a578475 ^ uVar8; uVar5 = uVar5 & 0x75a87b8a ^ uVar8 ^ uVar4; uVar8 = uVar5 & 0x44465b56 ^ uVar4; uVar4 = uVar5 & 0xbbb9a4a9 ^ uVar4; uVar5 = uVar8 >> 0x19 | uVar8 << 7; uVar8 = (uVar12 >> 10 | uVar12 << 0x16) ^ uVar5; uVar4 = uVar4 >> 0x1f | uVar4 << 1; local_b4 = uVar4 ^ 0xea2cbcd1; local_118 = CONCAT44(local_118._4_4_,uVar4) ^ 0xea2cbcd1; uVar4 = uVar8 & 0xddffbe9c ^ uVar5; uVar5 = uVar8 & 0x22004163 ^ uVar5 ^ uVar4; local_b0 = (uVar5 & 0x7310039d ^ uVar4) + 0x6bb1bcf9; local_168 = CONCAT44(iVar13,local_b0); local_120 = 0xef76326e; local_ac = uVar5 & 0x8ceffc62 ^ uVar4 ^ 0xaa7d1554; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = 0; local_d0 = local_128 - (longlong)local_148; local_b8 = local_120; if (local_d0 == 0) { local_12c = 0x2e0c929c; uStack_138 = (undefined4)local_178; plVar7 = &uStack_1a8; uStack_1a8 = 0; bVar15 = false; uStack_1a0 = uVar2; /* WARNING: Call to offcut address within same function */ func_0x0001816098df(); if (!bVar15) { local_178 = local_170 - 0x9d37; lStack_180 = local_170 + 0x3fb845; plVar7 = (longlong *)auStack_198; uVar2 = local_170; local_170 = local_170 + 0x1aa; } plVar7[2] = uVar2 - 0x23408; plVar7[1] = uVar2 + 0x3fb845; *plVar7 = uVar2 + 0x3fb845; plVar7[-1] = uVar2 + 0x3fb828; plVar7[-2] = uVar2 - 0x5e462; plVar7[-3] = uVar2 - 0x303d4; plVar7[-4] = uVar2 - 0x4494d; /* WARNING: Could not recover jumptable at 0x000181609a50. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(uVar2 - 0x23408))(); return; } puVar14 = local_148; if ((pIVar9 != (IMAGE_DOS_HEADER *)0x0) && (lVar10._0_1_ = pIVar9->e_magic[0], lVar10._1_1_ = pIVar9->e_magic[1], lVar10._2_2_ = pIVar9->e_cblp, lVar10._4_2_ = pIVar9->e_cp, lVar10._6_2_ = pIVar9->e_crlc, -1 < lVar10)) { local_128 = 0x2621fc0; do { if (local_148 < IMAGE_DOS_HEADER_180000000.e_magic + lVar10 + 8) { if (-1 < lVar10) { plVar7 = (longlong *)(lVar10 + 0x180000000); if (plVar7 < local_148 + 1) { local_70[0] = *local_148; goto LAB_1816095e1; } } break; } lVar10._0_2_ = pIVar9->e_cparhdr; lVar10._2_2_ = pIVar9->e_minalloc; lVar10._4_2_ = pIVar9->e_maxalloc; lVar10._6_2_ = pIVar9->e_ss; pIVar9 = (IMAGE_DOS_HEADER *)&pIVar9->e_cparhdr; } while (-1 < lVar10); } goto LAB_181609606; while (plVar7 = (longlong *)(lVar10 + 0x180000000), plVar7 < local_148 + 1) { LAB_1816095e1: lVar3 = lVar10 - (longlong)local_148; lVar10 = *(longlong *)&pIVar9->e_cparhdr; pIVar9 = (IMAGE_DOS_HEADER *)&pIVar9->e_cparhdr; *(longlong *)(&stack0x00017fffff90 + lVar3) = *plVar7 + -0x180000000; puVar14 = local_70; if (lVar10 < 0) break; } LAB_181609606: local_12c = local_ac; FUN_181609638(0x5410,puVar14,0,&local_178); return; } ############ FUN_ 1811528a0 size=8 ############ void FUN_1811528a0(void) { DAT_18262170d = 0; return; } ############ FUN_ 181453a9e size=3491 ############ /* WARNING: Instruction at (ram,0x000181454172) overlaps instruction at (ram,0x000181454171) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000181454a0a) */ /* WARNING: Removing unreachable block (ram,0x00018145412b) */ /* WARNING: Removing unreachable block (ram,0x000181453fdf) */ /* WARNING: Removing unreachable block (ram,0x000181453ae7) */ /* WARNING: Removing unreachable block (ram,0x00018145415f) */ /* WARNING: Removing unreachable block (ram,0x000181454164) */ /* WARNING: Removing unreachable block (ram,0x000181454191) */ /* WARNING: Removing unreachable block (ram,0x000181454146) */ /* WARNING: Removing unreachable block (ram,0x000181454181) */ /* WARNING: Removing unreachable block (ram,0x000181454145) */ /* WARNING: Removing unreachable block (ram,0x000181454156) */ /* WARNING: Removing unreachable block (ram,0x000181454172) */ /* WARNING: Removing unreachable block (ram,0x000181454158) */ /* WARNING: Removing unreachable block (ram,0x00018145415d) */ /* WARNING: Removing unreachable block (ram,0x000181454176) */ /* WARNING: Removing unreachable block (ram,0x00018145417b) */ undefined8 FUN_181453a9e(undefined8 param_1,undefined8 param_2,ulonglong param_3) { code *pcVar1; longlong lVar2; undefined1 *puVar3; char cVar4; uint uVar5; int *piVar6; ulonglong uVar7; undefined8 uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint *puVar13; longlong *plVar14; uint uVar15; int iVar16; undefined4 *puVar17; ulonglong uVar18; ulonglong uVar19; undefined1 *puVar20; longlong unaff_RBP; undefined8 *puVar21; undefined8 *puVar22; uint uVar23; longlong lVar24; IMAGE_DOS_HEADER *pIVar25; uint uVar26; IMAGE_DOS_HEADER *pIVar27; uint uVar28; int *unaff_R14; int *piVar29; ulonglong uVar30; longlong lVar31; longlong *plVar32; uint local_res20; undefined4 local_res24; uint uStack0000000000000044; uint uStack0000000000000050; undefined8 in_stack_00000068; FUN_1814551e0(param_1,param_2,(param_3 ^ 0xffffffffffffffff) + 1); uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } if (uVar9 != 0) { FUN_181452c89(&DAT_0000fc1c); uVar8 = FUN_181453a9e(); return uVar8; } do { uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); pIVar27 = &IMAGE_DOS_HEADER_180000000; piVar6 = (int *)0x1809babe0; do { puVar22 = (undefined8 *)(unaff_RBP + -0x68); puVar17 = (undefined4 *)(unaff_RBP + -0x78); puVar13 = &local_res20; FUN_181455152(); *puVar13 = 0x42dffabc; *puVar17 = 0x15; *puVar22 = 0x181453c69; uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = (local_res20 >> 0x10 | local_res20 << 0x10) & 0xd48e2b71 | (local_res20 << 0x10 | local_res20 >> 0x10) & 0x2b71d48e; uVar10 = uVar9 >> 0xc | uVar9 << 0x14; uVar10 = (uVar10 << 8 | (uVar9 & 0xfff) >> 4) & 0xd629d629 | (uVar10 >> 8 | (uVar9 >> 0xc) << 0x18) & 0x29d629d6; uVar9 = uVar10 + 0x6e988628 >> 2; uVar10 = uVar9 | uVar10 << 0x1e; uVar9 = (uVar9 << 8 | uVar10 >> 0x18) & 0x9c639c63 | (uVar10 >> 8 | uVar9 << 0x18) & 0x639c639c; uVar10 = uVar9 >> 0xf | uVar9 << 0x11; uVar9 = (uVar10 >> 0xb ^ uVar10) >> 1 & 0x1f; uVar10 = uVar10 ^ (uVar9 << 0xb | uVar9) * 2; local_res20 = (uVar10 >> 0x10 | uVar10 << 0x10) & 0xf1b40e4b | (uVar10 << 0x10 | uVar10 >> 0x10) & 0xe4bf1b4; do { *(undefined4 *)(unaff_RBP + -0x74) = 0x18; *(undefined8 *)(unaff_RBP + -0x60) = 0x181453d47; FUN_181453a9d(); uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); lVar24 = (longlong)(int)local_res20 + *(longlong *)(unaff_RBP + -0x68); lVar31 = *(longlong *)(unaff_RBP + -0x60); *(longlong *)(lVar24 + 4) = *(longlong *)(lVar24 + 4) + (ulonglong)((uint)((ulonglong)*(undefined8 *)(lVar31 + 0x11d6a89) >> 0x10) & 0x2e03820a) + 0x37608b7cbcf285e2; uVar18 = *(ulonglong *)(lVar24 + 4); uVar9 = (uint)((uVar18 >> 0x17 ^ uVar18) >> 4) & 0x7fffff; uVar18 = ((ulonglong)uVar9 << 0x17 | (ulonglong)uVar9) << 4 ^ uVar18 ^ 0xf71569f258b6366b; uVar18 = (uVar18 >> 2 & 0xcccccccccccccccc | uVar18 << 0x3e | (uVar18 & 0xccccccccccccccc) << 2 | uVar18 >> 0x3e) + 0x87dba52a0f662656; uVar18 = (uVar18 * 0x100 | uVar18 >> 0x38) & 0xda25da25da25da25 | (uVar18 >> 8 | uVar18 << 0x38) & 0x25da25da25da25da; uVar9 = ((uint)(uVar18 >> 0x2f) ^ (uint)uVar18) & 0x7ff; uVar18 = ((ulonglong)uVar9 << 0x2f | (ulonglong)uVar9) ^ uVar18; uVar18 = ((uVar18 << 0x10 | uVar18 >> 0x30) & 0xd15f2ea0d15f2ea0 | (uVar18 >> 0x10 | uVar18 << 0x30) & 0x2ea0d15f2ea0d15f) + 0xda841598c39f2960; *(ulonglong *)(lVar24 + 4) = uVar18; plVar32 = (longlong *)(lVar31 + 0x11d6a89); *plVar32 = *plVar32 + (ulonglong)((uint)(uVar18 >> 7) & 0x4024040); uStack0000000000000050 = (uint)(*(ulonglong *)(lVar24 + 4) >> 0x13) & 0x7fffffff; uVar9 = (uint)(*(ulonglong *)(lVar24 + 4) >> 0x15) ^ 0x81ea92a2; uVar18 = *(ulonglong *)(lVar24 + 4) ^ 0x8d65030ba6aec77f; do { FUN_181453875(&DAT_0000fc1c); uVar10 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); do { uVar10 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = 0x60e9747; LAB_181454071: piVar29 = piVar6; if (pIVar27 != (IMAGE_DOS_HEADER *)0x0) { lVar31._0_1_ = pIVar27->e_magic[0]; lVar31._1_1_ = pIVar27->e_magic[1]; lVar31._2_2_ = pIVar27->e_cblp; lVar31._4_2_ = pIVar27->e_cp; lVar31._6_2_ = pIVar27->e_crlc; while (-1 < lVar31) { if (piVar6 < IMAGE_DOS_HEADER_180000000.e_magic + lVar31 + 8) { if (-1 < lVar31) { plVar32 = (longlong *)(lVar31 + 0x180000000); if (plVar32 < piVar6 + 1) { *(int *)(unaff_RBP + 8) = *piVar6; pIVar25 = pIVar27; goto LAB_1814540f0; } } break; } lVar31._0_2_ = pIVar27->e_cparhdr; lVar31._2_2_ = pIVar27->e_minalloc; lVar31._4_2_ = pIVar27->e_maxalloc; lVar31._6_2_ = pIVar27->e_ss; pIVar27 = (IMAGE_DOS_HEADER *)&pIVar27->e_cparhdr; } } goto LAB_181454114; while (plVar32 = (longlong *)(lVar31 + 0x180000000), pIVar25 = (IMAGE_DOS_HEADER *)&pIVar25->e_cparhdr, plVar32 < piVar6 + 1) { LAB_1814540f0: *(longlong *)(unaff_RBP + (0x180000008 - (longlong)piVar6) + lVar31) = *plVar32 + -0x180000000; lVar31 = *(longlong *)&pIVar25->e_cparhdr; piVar29 = (int *)(unaff_RBP + 8); if (lVar31 < 0) break; } LAB_181454114: do { uVar5 = (*(int *)(unaff_RBP + 0x78) + 1) * *(int *)(unaff_RBP + 0x78) & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar10 = (uVar10 + *piVar29) * -0x395b586d; uVar10 = uVar10 ^ uVar10 >> 0x10; piVar6 = piVar6 + 1; if (piVar6 == (int *)0x1809cfddc) goto code_r0x0001814541c8; goto LAB_181454071; code_r0x0001814541c8: lVar31 = *(longlong *)(unaff_RBP + -0x58); uVar5 = (uVar10 ^ 0xa2a148e7) >> 8; uVar10 = (uVar10 ^ 0xa2a148e7) << 0x18 | uVar5; uVar5 = ((uVar5 << 0x10 | uVar10 >> 0x10) & 0x880877f7 | (uVar10 >> 0x10 | uVar5 << 0x10) & 0x77f78808) + 0xae97b7b5; uVar10 = (uVar5 >> 0xc ^ uVar5) >> 1 & 0x7f; do { FUN_181455152(); uVar11 = (*(int *)(unaff_RBP + 0x78) + 1) * *(int *)(unaff_RBP + 0x78) & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); *(undefined4 *)(unaff_RBP + -0x38) = 0xa1cd0420; *(uint *)(unaff_RBP + -0x34) = uVar9; *(int *)(unaff_RBP + -0x30) = (int)uVar18; uVar11 = *(uint *)(unaff_RBP + -0x34); uVar15 = uVar11 ^ *(uint *)(unaff_RBP + -0x30); uVar26 = *(int *)(unaff_RBP + -0x38) + 0xd6c7eba2; uVar12 = (uVar15 & 0x6593f979 ^ uVar11) + 0x4ed1481b; uVar11 = (uVar15 & 0x9a6c0686 ^ uVar11) + 0xaef7aa14; uVar23 = (int)(uVar18 >> 0x20) + 0x7bc739d3; uVar15 = (uVar12 * 0x100 | uVar12 >> 0x18) & 0x9a659a65 | (uVar12 >> 8 | uVar12 * 0x1000000) & 0x659a659a; uVar12 = ((uVar11 * 0x10000 | uVar11 >> 0x10) & 0xc73b38c4 | (uVar11 >> 0x10 | uVar11 * 0x10000) & 0x38c4c73b) ^ uVar15; uVar11 = uVar12 & 0x8a578475 ^ uVar15; uVar12 = uVar12 & 0x75a87b8a ^ uVar15 ^ uVar11; uVar28 = uVar12 & 0xbbb9a4a9 ^ uVar11; uVar11 = uVar12 & 0x44465b56 ^ uVar11; uVar12 = uVar11 >> 0x19 | uVar11 << 7; uVar11 = uVar23 * 4 & 0x33333333 | uVar23 >> 0x1e; uVar18 = (ulonglong)uVar11; uVar11 = uVar23 >> 2 & 0xcccccccc | uVar23 * 0x40000000 | uVar11; uVar15 = (uVar11 >> 10 | uVar11 << 0x16) ^ uVar12; uVar11 = uVar15 & 0xddffbe9c ^ uVar12; uVar12 = uVar15 & 0x22004163 ^ uVar12 ^ uVar11; uVar15 = (uVar26 * 0x10 | uVar26 >> 0x1c) & 0x96969696 | (uVar26 >> 4 | uVar26 * 0x10000000) & 0x69696969; uVar23 = (uVar28 >> 0x1f | uVar28 << 1) ^ 0xea2cbcd1; uVar30 = (ulonglong)uVar23; piVar6 = (int *)(unaff_RBP + 0x78); do { uVar8 = rdtsc(); uVar26 = (int)uVar8 + (int)((ulonglong)uVar8 >> 0x20); *(uint *)(unaff_RBP + -0x70) = uVar26; uVar19 = (ulonglong)uVar26 * 0x2004 - 0x159f3633; uVar7 = uVar19 >> 0xc; uVar19 = uVar7 | uVar19 << 0x34; lVar31 = ~-lVar31 + 1; uVar7 = (uVar7 * 0xa000 | uVar19 * 5 >> 0x33) + uVar19 * 8; uVar7 = uVar7 ^ (uVar7 >> 0xc | uVar7 << 0x34) - 0x5ad3dc2d; uVar7 = uVar7 << 0xe | uVar7 >> 0x32; uVar7 = uVar7 - ((uVar7 >> 0xc) - 0x1aa55391); uVar19 = uVar7 * 0x40 | uVar7 >> 0x3a; piVar6 = (int *)((-(longlong)piVar6 ^ 0xffffffffffffffffU) + 1); uVar7 = (((uVar7 & 0x3ffffffffffffff) >> 9 | uVar19 << 0x31) - 0x4170389c) + uVar19 * 4; uVar26 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar26 < 0) { uVar26 = (uVar26 - 1 | 0xfffffffe) + 1; } } while (uVar26 != 0); uStack0000000000000044 = (int)((uVar7 ^ (uVar7 >> 0xb) - 0x777ccde9) >> 7) * -0x11fff + 0x787c8924U >> 1 ^ uStack0000000000000050; if (uStack0000000000000044 < 0x4444447) { *(uint *)(unaff_RBP + -0x18) = (uVar15 >> 0x1d | uVar15 << 3) + 0xbc64070c; *(uint *)(unaff_RBP + -0x14) = uVar23; *(uint *)(unaff_RBP + -0x10) = (uVar12 & 0x7310039d ^ uVar11) + 0x6bb1bcf9; *(uint *)(unaff_RBP + -0xc) = uVar12 & 0x8ceffc62 ^ uVar11 ^ 0xaa7d1554; do { *(undefined8 *)(unaff_RBP + -0x50) = 0x181454543; uVar11 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); (*(code *)(*(longlong *)(unaff_RBP + -0x50) + -0x80c7c3))(unaff_RBP + -0x18,unaff_RBP + 0x18); uVar11 = *(uint *)(unaff_RBP + 0x38); uVar12 = *(uint *)(unaff_RBP + 0x3c); iVar16 = 7; do { uVar15 = ((uVar11 << 4 | uVar11 >> 0x1c) & 0xb4b4b4b4 | (uVar11 >> 4 | uVar11 << 0x1c) & 0x4b4b4b4b) + 0xedf66992; uVar11 = uVar15 >> 0xc; uVar23 = (((uVar11 | uVar15 * 0x100000) ^ 0x2677a938) >> 3 | uVar11 << 0x1d) + 0x70f6a640; uVar26 = uVar23 >> 0x17 | uVar23 * 0x200; uVar11 = ((uVar12 >> 8 | uVar12 << 0x18) & 0xfa05fa05 | (uVar12 << 8 | uVar12 >> 0x18) & 0x5fa05fa) + 0x703d2ee4; uVar11 = (uVar11 >> 0x1d | uVar11 * 8) + 0x5f26144; uVar11 = (uVar11 * 0x8000 | uVar11 >> 0x11) + 0x191d2650; uVar12 = uVar11 >> 0xc; uVar15 = uVar11 * 0x100000 | uVar12; uVar11 = (uVar26 >> 8 | (uVar23 >> 0x17) << 0x18) & 0xa857a857 | (uVar26 << 8 | (uVar23 & 0x7fffff) >> 0xf) & 0x57a857a8; uVar11 = uVar11 >> 6 | uVar11 << 0x1a; uVar12 = (uVar12 << 0x10 | uVar15 >> 0x10) & 0xd65429ab | (uVar15 >> 0x10 | uVar12 << 0x10) & 0x29abd654; uVar12 = uVar12 << 0x16 | uVar12 >> 10; iVar16 = iVar16 + -1; } while (-1 < iVar16); do { uVar15 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); local_res24 = 0xe00d7435; uVar11 = (uVar11 + 0xb07c676d >> 0x13 | (uVar11 + 0xb07c676d) * 0x2000) + 0xefdbf9bd; uVar11 = (uVar11 >> 0x1d | uVar11 * 8) + 0x9c744744; uVar11 = (uVar11 * 0x40 | uVar11 >> 0x1a) ^ 0xd751fc63; if (((uVar11 << 0xb | uVar11 >> 0x15) ^ 0xd1233e69) + uVar12 != uVar9) { do { *(code **)(unaff_RBP + -0x48) = FUN_180bc28e0; uVar9 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); (**(code **)(unaff_RBP + -0x48))(); do { uVar9 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); } } plVar32 = (longlong *)0x0; if ((char)((((uVar10 << 0xc | uVar10) * 2 ^ uVar5) != 0x79167c08) * '\x0f') != '\0') { FUN_181456600(); uVar8 = thunk_FUN_1805a9280(); return uVar8; } puVar3 = (undefined1 *)register0x00000020; do { puVar20 = puVar3; *(ulonglong *)(puVar20 + -8) = uVar30; *(ulonglong *)(puVar20 + -0x10) = uVar18; *(longlong *)(puVar20 + -0x18) = lVar31; lVar31 = (longlong)plVar32 + (longlong)piVar6; uVar18 = (~((longlong)piVar6 - lVar31) + 1U) - lVar31 ^ 0xffffffffffffffff; plVar32 = (longlong *)(lVar31 - (uVar18 + 1)); lVar24 = -(longlong)in_stack_00000068._4_4_; piVar6 = (int *)(uVar18 + 1); lVar31 = *(longlong *)(puVar20 + lVar24 + 0xdd8); uVar18 = *(ulonglong *)(puVar20 + lVar24 + 0xde0); uVar30 = *(ulonglong *)(puVar20 + lVar24 + 0xde8); uVar9 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } puVar3 = puVar20 + lVar24 + 0xdf0; } while (uVar9 != 0); if (*(int *)(lVar31 + 0x11c) != (int)plVar32) { uVar8 = *(undefined8 *)(lVar31 + 0x130); *(undefined8 *)(puVar20 + lVar24 + 0xde8) = 0x1814548df; FUN_1814369a0(uVar8,unaff_RBP + -0x80,lVar31); if (**(char **)(unaff_RBP + -0x80) == '\0') { plVar14 = plVar32; if (*(int *)(lVar31 + 0x11c) != 0) { plVar14 = (longlong *)**(undefined8 **)(lVar31 + 0x110); } pcVar1 = *(code **)(*plVar14 + 0x170); *(undefined8 *)(puVar20 + lVar24 + 0xde8) = 0x181454910; (*pcVar1)(); plVar14 = plVar32; if (*(int *)(lVar31 + 0x11c) != 0) { plVar14 = (longlong *)**(undefined8 **)(lVar31 + 0x110); } *(undefined1 **)(puVar20 + lVar24 + 0xde8) = &LAB_181454936; FUN_18133ed60(plVar14,2,1); } puVar21 = *(undefined8 **)(lVar31 + 0x110); puVar22 = puVar21 + *(int *)(lVar31 + 0x11c); for (; puVar21 != puVar22; puVar21 = puVar21 + 1) { plVar14 = (longlong *)*puVar21; pcVar1 = *(code **)(*plVar14 + 0x168); *(undefined8 *)(puVar20 + lVar24 + 0xde8) = 0x181454963; uVar8 = (*pcVar1)(plVar14,unaff_RBP + -0x40); *(undefined8 *)(puVar20 + lVar24 + 0xde8) = 0x18145496f; cVar4 = FUN_18124a340(uVar8,unaff_RBP + -0x80); lVar2 = *(longlong *)(unaff_RBP + -0x40); *(undefined8 *)(puVar20 + lVar24 + 0xde8) = 0x18145497f; FUN_1804951e0(lVar2 + -0x10); if (cVar4 != '\0') { pcVar1 = *(code **)(*plVar14 + 0x170); *(undefined8 *)(puVar20 + lVar24 + 0xde8) = 0x1814549cf; (*pcVar1)(plVar14); plVar32 = plVar14; goto LAB_1814549a3; } } if (*(int *)(lVar31 + 0x11c) != 0) { plVar32 = (longlong *)**(undefined8 **)(lVar31 + 0x110); } LAB_1814549a3: *(undefined8 *)(puVar20 + lVar24 + 0xde8) = 0x1814549b0; FUN_18133ed60(plVar32,2,1); lVar31 = *(longlong *)(unaff_RBP + -0x80); *(undefined8 *)(puVar20 + lVar24 + 0xde8) = 0x1814549be; FUN_1804951e0(lVar31 + -0x10); } *(undefined **)(puVar20 + lVar24 + 0xde8) = &UNK_181454abb; } ############ FUN_ 1805a4fa0 size=249 ############ void FUN_1805a4fa0(longlong param_1) { void *pvVar1; undefined8 *puVar2; void *pvVar3; if (*(char *)(param_1 + 0xf0) != '\0') { if ((*(longlong **)(param_1 + 0x100) != (longlong *)0x0) && (puVar2 = (undefined8 *)(**(code **)(**(longlong **)(param_1 + 0x100) + 0x10))(), puVar2 != (undefined8 *)0x0)) { (**(code **)*puVar2)(puVar2,1); } *(undefined1 *)(param_1 + 0xf0) = 0; } FUN_1805a4ee0(param_1 + 0x70); if (0xf < *(ulonglong *)(param_1 + 0x60)) { pvVar1 = *(void **)(param_1 + 0x48); pvVar3 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x60) + 1) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } *(undefined8 *)(param_1 + 0x58) = 0; *(undefined8 *)(param_1 + 0x60) = 0xf; *(undefined1 *)(param_1 + 0x48) = 0; pvVar1 = *(void **)(param_1 + 0x18); if (pvVar1 == (void *)0x0) { FUN_1805a5460(param_1); return; } pvVar3 = pvVar1; if ((0xfff < (*(longlong *)(param_1 + 0x28) - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } ############ FUN_ 1805f02b0 size=629 ############ /* WARNING: Instruction at (ram,0x0001805f0521) overlaps instruction at (ram,0x0001805f051f) */ /* WARNING: Removing unreachable block (ram,0x0001805f0441) */ /* WARNING: Removing unreachable block (ram,0x0001805f033b) */ /* WARNING: Removing unreachable block (ram,0x0001805f0424) */ /* WARNING: Removing unreachable block (ram,0x0001805f051f) */ /* WARNING: Removing unreachable block (ram,0x0001805f03a7) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1805f02b0(LPCSTR param_1,FARPROC param_2,int param_3,char param_4,char param_5,char param_6 ) { longlong *plVar1; LPCSTR pCVar2; wchar_t *pwVar3; undefined1 auVar4 [16]; undefined1 auVar5 [16]; BOOL BVar6; DWORD DVar7; ulonglong uVar8; undefined8 uVar9; LPCWSTR lpWideCharStr; LPCWSTR lpWideCharStr_00; LPCSTR lpMultiByteStr; HMODULE hModule; FARPROC pFVar10; HWINSTA hObj; INT_PTR IVar11; uint *puVar12; longlong lVar13; int iVar14; size_t _Count; uint uVar15; size_t _Count_00; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStackY_508 [32]; undefined4 uStack_4a8; uint uStack_490; uint uStack_48c; undefined4 uStack_488; undefined4 uStack_47c; undefined8 local_470; uint local_468; uint local_464; code *pcStack_460; code *pcStack_458; FARPROC local_450; LPCWSTR pWStack_448; LPCSTR local_440; _NOTIFYICONDATAW _Stack_438; wchar_t awStack_308 [256]; undefined4 uStack_108; wchar_t awStack_104 [64]; undefined4 uStack_84; wchar_t wStack_52; undefined8 uStack_50; undefined8 uStack_48; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStackY_508; uVar15 = (uint)&stack0x00000000 & 0x27f; iVar14 = (uVar15 + 2) * (uVar15 + 1) * uVar15; local_464 = ((iVar14 >> 1) - (iVar14 >> 3)) + iVar14 * 0x55555555 >> 0x1e ^ 0x630; iVar14 = (uVar15 + 2) * (uVar15 + 1) * uVar15; local_468 = 0x4cfa >> (-(char)(((iVar14 >> 1) - (iVar14 >> 3)) + iVar14 * 0x55555555 >> 0x1e) & 0x1fU) ^ 0x4fba; local_470 = 0; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uStack_4a8 = 0; uStack_47c = 0x64df472d; local_450 = param_2; local_440 = param_1; do { puVar12 = &uStack_490; func_0x0001805f02a1(puVar12,&uStack_490); uVar9 = rdtsc(); *puVar12 = (uint)uVar9 ^ (uint)((ulonglong)uVar9 >> 0x20); func_0x0001805f23f7(); uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uStack_490 = (uStack_490 * -0x166a51cb >> 0x18 ^ uStack_490 * -0x166a51cb) * -0x50285029; if (uStack_490 < 0x1fffffff) { do { pcStack_460 = FUN_1813f2240; uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar8 = FUN_1813f2240(0,0x8e7); if (1 < uVar8) { lVar13 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar1 = (longlong *)register0x00000020; while (lVar13 != -0x3333333333333334) { *plVar1 = 0; plVar1 = plVar1 + 8; lVar13 = *plVar1; } } } uStack_48c = 0x88a1c1ce; uStack_488 = 0xc751e41d; uVar15 = (uint)(param_5 != '\0'); if (param_3 == 0) { uVar15 = uVar15 | 0x10; uStack_4a8 = 3; } else if (param_3 == 1) { uVar15 = uVar15 | 0x40; uStack_4a8 = 1; } else if (param_3 == 2) { uVar15 = uVar15 | 0x30; uStack_4a8 = 2; } pCVar2 = param_1 + 0x10; _Count_00 = 0xffffffffffffffff; auVar4._8_8_ = 0; auVar4._0_8_ = *(longlong *)(param_1 + 0x10) + 1; uVar9 = SUB168(ZEXT816(2) * auVar4,0); if (SUB168(ZEXT816(2) * auVar4,8) != 0) { uVar9 = 0xffffffffffffffff; } lpWideCharStr = (LPCWSTR)thunk_FUN_1811316e0(uVar9); uStack_48c = (~uStack_48c + 0xcfb2cf84 >> 0x18 | (~uStack_48c + 0xcfb2cf84) * 0x100) + 0xa79804c; pcStack_458 = param_2 + 0x10; auVar5._8_8_ = 0; auVar5._0_8_ = *(longlong *)(param_2 + 0x10) + 1; uVar9 = SUB168(ZEXT816(2) * auVar5,0); if (SUB168(ZEXT816(2) * auVar5,8) != 0) { uVar9 = 0xffffffffffffffff; } pWStack_448 = lpWideCharStr; lpWideCharStr_00 = (LPCWSTR)thunk_FUN_1811316e0(uVar9); lpMultiByteStr = local_440; if (0xf < *(ulonglong *)(local_440 + 0x18)) { lpMultiByteStr = *(LPCSTR *)local_440; } MultiByteToWideChar(0xfde9,0,lpMultiByteStr,(int)*(undefined8 *)pCVar2 + 1,lpWideCharStr, (int)*(undefined8 *)pCVar2 + 1); pFVar10 = local_450; if (0xf < *(ulonglong *)(local_450 + 0x18)) { pFVar10 = *(FARPROC *)local_450; } MultiByteToWideChar(0xfde9,0,(LPCSTR)pFVar10,(int)*(undefined8 *)pcStack_458 + 1,lpWideCharStr_00, (int)*(undefined8 *)pcStack_458 + 1); uStack_488 = 0xcc9e2d51; if (param_4 != '\0') { iVar14 = MessageBoxW((HWND)0x0,lpWideCharStr_00,lpWideCharStr,uVar15 | 0x2000); if (iVar14 == 1) { local_470 = 1; } else if (iVar14 == 2) { local_470 = 2; } else { local_470 = 0; } FUN_18113eab0(); uRam000000018265f0f8 = 1; goto code_r0x0001805f093e; } hModule = LoadLibraryW(L"Wtsapi32.dll"); if ((hModule != (HMODULE)0x0) && (pFVar10 = GetProcAddress(hModule,"WTSSendMessageW"), local_450 = pFVar10, pFVar10 != (FARPROC)0x0)) { uStack_50 = _UNK_181bb5208; uStack_48 = _UNK_181bb5210; if (param_6 == '\0') { hObj = GetProcessWindowStation(); BVar6 = GetUserObjectInformationW(hObj,2,&uStack_50,0x10,(LPDWORD)0x0); if (BVar6 == 0) goto code_r0x0001805f0c72; lVar13 = 0; do { pwVar3 = L"WinSta0" + lVar13; lVar13 = lVar13 + 1; if (*pwVar3 != (&wStack_52)[lVar13]) goto code_r0x0001805f0c72; } while (lVar13 != 8); IVar11 = (*pFVar10)(0,0xffffffff,lpWideCharStr, (ulonglong)(uint)((int)*(undefined8 *)pCVar2 * 2)); iVar14 = (int)IVar11; } else { code_r0x0001805f0c72: uVar9 = *(undefined8 *)pCVar2; DVar7 = WTSGetActiveConsoleSessionId(); lpWideCharStr = pWStack_448; IVar11 = (*local_450)(0,(ulonglong)DVar7,pWStack_448,(ulonglong)(uint)((int)uVar9 * 2)); iVar14 = (int)IVar11; } if (iVar14 != 0) goto code_r0x0001805f093e; } memset(&_Stack_438,0,0x3d0); _Stack_438.cbSize = 0x3b8; _Stack_438.hWnd = GetDesktopWindow(); _Stack_438.uID = 0; Shell_NotifyIconW(2,&_Stack_438); uVar8 = 0xffffffffffffffff; _Stack_438.uFlags = 0x10; do { uVar8 = uVar8 + 1; } while (lpWideCharStr[uVar8] != L'\0'); if (uVar8 < 0x3f) { _Count = 0xffffffffffffffff; do { _Count = _Count + 1; } while (lpWideCharStr[_Count] != L'\0'); } else { _Count = 0x3f; } wcsncpy(awStack_104,lpWideCharStr,_Count); uVar8 = 0xffffffffffffffff; awStack_104[_Count] = L'\0'; do { uVar8 = uVar8 + 1; } while (lpWideCharStr_00[uVar8] != L'\0'); if (uVar8 < 0xff) { do { _Count_00 = _Count_00 + 1; } while (lpWideCharStr_00[_Count_00] != L'\0'); } else { _Count_00 = 0xff; } wcsncpy(awStack_308,lpWideCharStr_00,_Count_00); awStack_308[_Count_00] = L'\0'; uStack_84 = uStack_4a8; uStack_108 = 30000; Shell_NotifyIconW(0,&_Stack_438); code_r0x0001805f093e: /* WARNING: Subroutine does not return */ free(lpWideCharStr); } ############ FUN_ 180485450 size=94 ############ void FUN_180485450(longlong *param_1) { void *pvVar1; void *_Memory; if ((ulonglong)param_1[3] < 0x10) { param_1[2] = 0; param_1[3] = 0xf; *(undefined1 *)param_1 = 0; return; } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < param_1[3] + 1U) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805a3b50 size=32 ############ undefined8 FUN_1805a3b50(undefined8 param_1,undefined8 param_2) { FUN_1805ae640(param_2,param_1); return param_1; } ############ FUN_ 1805a3f20 size=309 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805a3f20(undefined8 *param_1,longlong param_2) { basic_streambuf_> *this; void *pvVar1; void *_Memory; longlong lVar2; undefined1 auStack_78 [32]; undefined8 local_58; undefined8 *local_50; basic_streambuf_> *local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_58 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; *(undefined4 *)(param_1 + 8) = 0; *(undefined1 *)((longlong)param_1 + 0x44) = 0; param_1[0xb] = 0; param_1[0xc] = 0xf; *(undefined1 *)(param_1 + 9) = 0; *(undefined1 *)(param_1 + 0xd) = 0xff; this = (basic_streambuf_> *)(param_1 + 0xe); local_50 = param_1; local_48 = this; std::basic_streambuf_>::basic_streambuf_> (this); *(undefined ***)this = boost::io::basic_altstringbuf,std::allocator_>::vftable; param_1[0x1b] = 0; *(undefined1 *)(param_1 + 0x1c) = 0; *(undefined4 *)((longlong)param_1 + 0xe4) = 3; *(undefined1 *)(param_1 + 0x1e) = 0; if (param_2 != 0) { local_30 = 0; local_28 = 0xf; local_40 = 0; lVar2 = -1; do { lVar2 = lVar2 + 1; } while (*(char *)(param_2 + lVar2) != '\0'); FUN_1805a6cb0(&local_40,param_2); FUN_1805a99a0(param_1,&local_40); if (0xf < local_28) { pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 1805a4160 size=59 ############ undefined1 * FUN_1805a4160(undefined1 *param_1,longlong param_2) { longlong lVar1; *(undefined8 *)(param_1 + 0x10) = 0; *(undefined8 *)(param_1 + 0x18) = 0xf; lVar1 = -1; *param_1 = 0; do { lVar1 = lVar1 + 1; } while (*(char *)(param_2 + lVar1) != '\0'); FUN_1805a6cb0(); return param_1; } ############ FUN_ 180487a80 size=23 ############ undefined1 * FUN_180487a80(undefined1 *param_1) { *(undefined8 *)(param_1 + 0x10) = 0; *(undefined8 *)(param_1 + 0x18) = 0xf; *param_1 = 0; return param_1; } ############ FUN_ 1805a5a40 size=73 ############ undefined8 * FUN_1805a5a40(undefined8 *param_1,undefined8 *param_2) { undefined8 uVar1; if (param_1 != param_2) { FUN_180485450(); uVar1 = param_2[1]; *param_1 = *param_2; param_1[1] = uVar1; uVar1 = param_2[3]; param_1[2] = param_2[2]; param_1[3] = uVar1; param_2[2] = 0; param_2[3] = 0xf; *(undefined1 *)param_2 = 0; } return param_1; } ############ FUN_ 1814220a0 size=1757 ############ /* WARNING: Instruction at (ram,0x000181422540) overlaps instruction at (ram,0x00018142253e) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Possible PIC construction at 0x000181422828: Changing call to branch */ /* WARNING: Removing unreachable block (ram,0x00018142282d) */ /* WARNING: Removing unreachable block (ram,0x000181422600) */ /* WARNING: Removing unreachable block (ram,0x000181422498) */ /* WARNING: Removing unreachable block (ram,0x00018142249e) */ /* WARNING: Removing unreachable block (ram,0x000181422147) */ /* WARNING: Removing unreachable block (ram,0x00018142217b) */ /* WARNING: Removing unreachable block (ram,0x00018142253b) */ /* WARNING: Removing unreachable block (ram,0x0001814224e1) */ /* WARNING: Removing unreachable block (ram,0x00018142243a) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined8 FUN_1814220a0(longlong param_1,undefined8 param_2) { byte bVar1; char cVar2; undefined8 *puVar3; undefined8 uVar4; undefined4 *puVar5; longlong lVar6; ulonglong uVar7; uint uVar8; int iVar9; uint uVar10; IMAGE_DOS_HEADER *pIVar11; undefined1 *puVar12; IMAGE_DOS_HEADER *pIVar13; uint *puVar14; uint *puVar15; uint *puVar16; undefined4 uVar17; float fVar18; float fVar19; float fVar20; float fVar21; int unaff_retaddr; undefined1 auStack_258 [32]; int local_238; uint uStack_228; undefined8 local_220; undefined8 local_208; undefined8 local_1f8; undefined8 local_1f0; uint uStack_1e8; uint local_1d4; undefined4 local_1d0; undefined8 local_1c8; undefined8 local_1c0; longlong local_1b8; uint local_1b0 [2]; undefined8 local_1a8; undefined8 local_1a0; undefined **local_198; undefined4 local_190; undefined4 local_18c; undefined8 local_180; undefined4 local_148; undefined4 uStack_144; undefined4 uStack_140; undefined4 uStack_13c; undefined8 local_138; undefined4 local_128; undefined4 uStack_124; undefined4 uStack_120; undefined4 uStack_11c; undefined1 local_108 [16]; undefined1 local_f8 [16]; undefined **local_e8; undefined1 local_e0 [8]; longlong *local_d8; undefined1 local_d0 [40]; uint auStack_a8 [20]; ulonglong local_58; local_138 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_258; local_1d0 = 0x310; uVar8 = (uint)&stack0x00000000 & 0x8ff; iVar9 = uVar8 * uVar8 + 1; uVar10 = (iVar9 >> 4) + (iVar9 >> 1) + iVar9 * 0x24924924 >> 0x1d; uVar10 = (int)(uVar10 - 7) >> 0x1f & uVar10; uVar8 = (uint)&stack0x00000000 & 0x6eff; uVar8 = (uVar8 * uVar8 + 1) % 7; local_1d4 = ((int)(-uVar8 | uVar8) >> 0x1f) - ((int)(-uVar10 | uVar10) >> 0x1f) ^ 0xe0; local_1b8 = param_1; local_180 = param_2; (**(code **)(**(longlong **)(param_1 + 0x138) + 8))(*(longlong **)(param_1 + 0x138),&local_190); local_1f0 = 0x180000000; local_220 = 0x3654; local_1c8 = 0x1809fbe14; local_1c0 = 0x1809ff468; local_1f8 = 0xff7924fa701aeb97; local_198 = NoTooltipOption::vftable; local_e8 = &PTR_vftable_18262b550; local_e0[0] = 1; puVar3 = (undefined8 *) (*(code *) PTR_vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData_____1824b79c8 )(&local_198,&local_d8); cVar2 = (**(code **)(*(longlong *)*puVar3 + 0xc0)) ((longlong *)*puVar3,puVar3 + 1,local_e0,local_e8); (**(code **)(*local_d8 + 0xb0))(local_d8,local_d0); (**(code **)(*local_e8 + 0xb0))(local_e8,local_e0); local_198 = ConfigOption::vftable; if (cVar2 == '\0') { FUN_1814203a0(param_1,local_180); fVar18 = (float)FUN_18055e970(param_1 + 0xb0,DAT_1824c442c); fVar19 = (float)FUN_18049ea90(param_1 + 0x118); fVar20 = (float)FUN_18055e970(param_1 + 0xb0,DAT_1824c442c); fVar21 = (float)FUN_18049eaa0(param_1 + 0x118); local_238 = (int)(fVar20 + fVar21); FUN_18047c5b0(&local_148,local_190,local_18c,(int)(fVar18 + fVar19)); do { puVar15 = local_1b0; FUN_181425126(); *puVar15 = 0x6a843276; FUN_181424806(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = ~(local_1b0[0] << 7 | local_1b0[0] >> 0x19) + 0xb7b507da; uVar8 = (uVar8 >> 0x1f | uVar8 * 2) ^ 0x283f7658; uVar8 = (uVar8 >> 10 | uVar8 << 0x16) + 0x75704c60; local_220 = CONCAT44(local_220._4_4_,uVar8 * 0x2000 | uVar8 >> 0x13) ^ 0xffc049d2; uVar4 = FUN_180483f90(local_1b8); puVar5 = (undefined4 *)FUN_18134c250(uVar4,local_108); local_128 = *puVar5; uStack_124 = puVar5[1]; uStack_120 = puVar5[2]; uStack_11c = puVar5[3]; puVar12 = local_f8; puVar5 = (undefined4 *)FUN_18051bdb0(&local_148,puVar12,&local_128); local_148 = *puVar5; uStack_144 = puVar5[1]; uStack_140 = puVar5[2]; uStack_13c = puVar5[3]; /* WARNING: Call to offcut address within same function */ lVar6 = func_0x000181422dc6(); for (uVar7 = (lVar6 - (longlong)puVar12) + 0x382d27e4; SCARRY8(uVar7 - 0x382d27e4,(longlong)puVar12) == (longlong)(puVar12 + (uVar7 - 0x382d27e4)) < 0; uVar7 = (ulonglong)((int)(puVar12 + (uVar7 - 0x382d27e4)) + 0xc7d2d81c)) { } uVar4 = (*(code *)0x180000616)(); return uVar4; } pIVar11 = &IMAGE_DOS_HEADER_180000000; local_220 = 0x1805f56f4; local_1a0 = 0x1805f8d54; local_1a8 = 0x4ffbcc21cb326b5f; local_208 = 0xcb326b5f; do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); puVar15 = (uint *)0x1805f56f4; do { /* WARNING: Bad instruction - Truncating control flow here */ func_0x000181422779(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uStack_228 = 0xb3; code_r0x000181422593: if (((ulonglong)puVar15 & 0x28) == 0) { uVar8 = uStack_228 & 0xff; } else { uVar8 = uStack_228 & 0x17f; } iVar9 = (uVar8 + 2) * (uVar8 + 1) * uVar8; uVar10 = (uint)puVar15; uVar8 = ((uVar10 & 0x10ff) - 1) * (uVar10 & 0x10ff) - 1 & 1; uVar8 = ((int)(-uVar8 | uVar8) >> 0x1f) >> (((char)puVar15 + '\x01') * (char)puVar15 + 0x49U & 1); uVar7 = (ulonglong)uVar8; if (((((iVar9 >> 1) - (iVar9 >> 3)) + iVar9 * 0x55555555 >> 0x1e | 0x805ff7e5U) & 0x805ff741) == ((int)(-uVar8 | uVar8) >> 0x1f & (uVar10 ^ 0x5815) & 0xd915 | uVar10 ^ 0x7a15)) { uStack_1e8 = uStack_228; uVar17 = func_0x000181423a07(); /* WARNING: Could not recover jumptable at 0x0001814229a4. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar4 = (*(code *)&UNK_1813b130f)(uVar17,uVar7); return uVar4; } puVar14 = puVar15; if ((pIVar11 != (IMAGE_DOS_HEADER *)0x0) && (lVar6._0_1_ = pIVar11->e_magic[0], lVar6._1_1_ = pIVar11->e_magic[1], lVar6._2_2_ = pIVar11->e_cblp, lVar6._4_2_ = pIVar11->e_cp, lVar6._6_2_ = pIVar11->e_crlc, -1 < lVar6)) { local_1a0 = 0x2621fc0; pIVar13 = pIVar11; do { if (puVar15 < IMAGE_DOS_HEADER_180000000.e_magic + lVar6 + 8) { pIVar11 = pIVar13; if (-1 < lVar6) { puVar16 = (uint *)(lVar6 + 0x180000000); if (puVar16 < puVar15 + 1) { auStack_a8[0] = *puVar15; goto code_r0x0001814226d0; } } break; } pIVar11 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; lVar6._0_2_ = pIVar13->e_cparhdr; lVar6._2_2_ = pIVar13->e_minalloc; lVar6._4_2_ = pIVar13->e_maxalloc; lVar6._6_2_ = pIVar13->e_ss; pIVar13 = pIVar11; } while (-1 < lVar6); } goto code_r0x0001814226f4; while (puVar16 = (uint *)(lVar6 + 0x180000000), puVar16 < puVar15 + 1) { code_r0x0001814226d0: *(longlong *)(&stack0x00017fffff58 + (lVar6 - (longlong)puVar15)) = *(longlong *)puVar16 + -0x180000000; pIVar13 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; lVar6 = *(longlong *)pIVar13; puVar14 = auStack_a8; if (lVar6 < 0) break; } code_r0x0001814226f4: uStack_228 = uStack_228 >> 0x1c ^ uStack_228 << 4; do { uStack_228 = uStack_228 ^ *puVar14; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); bVar1 = (byte)uStack_228 & 0x5f; uVar8 = uStack_228 & 0xf | 0x78; puVar15 = (uint *)((longlong)puVar15 + (0x6703L >> (uVar8 * uVar8 * 0x4627 == 0x17619fc5 | bVar1 * bVar1 * (bVar1 + 1) * (bVar1 + 1) & 1) ^ 0x6707U)); goto code_r0x000181422593; } ############ FUN_ 18148ede0 size=1371 ############ /* WARNING: Removing unreachable block (ram,0x00018148ef5e) */ /* WARNING: Removing unreachable block (ram,0x00018148ee5e) */ longlong FUN_18148ede0(longlong param_1,undefined8 param_2) { undefined8 uVar1; undefined4 extraout_var; uint uVar2; int iVar3; uint uVar4; int unaff_retaddr; undefined1 auStack_1e8 [48]; undefined *local_1b8; undefined *local_1a8; undefined8 local_188; undefined1 local_180 [8]; float local_178; float local_174; uint local_150; uint local_14c; undefined8 local_140; undefined1 local_a8 [104]; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_1e8; uVar4 = (uint)&stack0x00000000; uVar2 = ((uVar4 & 0x13ff) * (uVar4 & 0x13ff) * 0x10 + 4) % 0x13; local_150 = ((int)(-uVar2 | uVar2) >> 0x1f) * -0x9117 ^ 0x9bf7; if (((ulonglong)&stack0x00000000 & 0x680) == 0) { uVar2 = uVar4 & 0x33f; iVar3 = (uVar2 + 2) * (uVar2 + 1) * uVar2; local_14c = 0x18d - (((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e); } else { local_14c = 0x18d; } uVar2 = ((uVar4 & 0x4ff) + 1) * (uVar4 & 0x4ff) + 0x22d1 & 0x80000001; local_14c = ((int)(-uVar2 | uVar2) >> 0x1f) * -0xc6d ^ local_14c; local_140 = param_2; uVar1 = FUN_18134c250(param_1,local_a8); FUN_1804ab5a0(uVar1,local_180); FUN_180579a70(local_180,local_178 * DAT_1824c4668,local_174 * DAT_1824c4668); FUN_181345240(param_1 + 0x200); do { uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); local_188 = 0; local_1b8 = &DAT_180746594; local_1a8 = &DAT_180748b64; FUN_181490d2f(); /* WARNING: Call to offcut address within same function */ func_0x00018148f158(); return ~((CONCAT44(extraout_var,unaff_retaddr) ^ 0xffffffffffffffff) + 1) + 1; } ############ FUN_ 1815112f0 size=1068 ############ /* WARNING: Removing unreachable block (ram,0x0001815113af) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1815112f0(longlong param_1) { longlong lVar1; undefined8 uVar2; float fVar3; uint uVar4; undefined1 auStack_1c8 [48]; undefined8 local_198; undefined8 local_190; undefined8 local_188; undefined4 local_170; undefined4 local_15c; undefined1 local_e8 [64]; undefined1 local_a8 [16]; undefined1 local_98 [80]; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_1c8; local_15c = 0xe70; lVar1 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); fVar3 = *(float *)(lVar1 + 0x88) * _DAT_1824c42e4; uVar2 = FUN_18134c250(param_1,local_a8); uVar2 = FUN_1804ab5a0(uVar2,local_98); uVar4 = (uint)fVar3 ^ DAT_1824c4f30; FUN_1804af0b0(uVar2,local_e8,uVar4,uVar4); local_170 = 0x3385300c; local_190 = 0x2621fc0; lVar1 = 0x1448d70; local_198 = 0x181448d70; local_188 = 0x181448e70; uVar4 = (iRam0000000181448d70 + -0x1d46075c) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d74) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d78) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d7c) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d80) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d84) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d88) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d8c) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d90) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d94) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d98) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000181448d9c) * 0x401; FUN_18151326f((uVar4 >> 6 ^ uVar4) + iRam0000000181448da0); /* WARNING: Call to offcut address within same function */ func_0x000181511610(); /* WARNING: Could not recover jumptable at 0x00018151172a. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(lVar1 + -0x13c70))(); return; } ############ FUN_ 181544600 size=993 ############ /* WARNING: Removing unreachable block (ram,0x0001815446b6) */ /* WARNING: Removing unreachable block (ram,0x00018154473f) */ void FUN_181544600(longlong param_1) { uint uVar1; undefined1 *puVar2; longlong unaff_RBX; longlong unaff_RSI; undefined1 auStack_1b8 [104]; uint local_150; uint local_14c; longlong local_148; longlong *local_128; undefined1 local_d8 [160]; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_1b8; uVar1 = (uint)&stack0x00000000 & 0xeff; uVar1 = uVar1 * uVar1 * 0x10 + 4; uVar1 = -1 >> ((char)uVar1 + (char)(uVar1 / 0x13) * -0x13 & 0x1fU); local_150 = ((int)(-uVar1 | uVar1) >> 0x1f) * -0xf0aa ^ 0xfd2a; if (((ulonglong)&stack0x00000000 & 0x1d00) == 0) { uVar1 = 0x1f9fabd7; } else { uVar1 = 4; } puVar2 = local_d8; local_14c = ((int)(-uVar1 | uVar1) >> 0x1f) * -0x90ad ^ 0x934d; local_148 = param_1; FUN_18134c250(param_1,puVar2); local_128 = (longlong *)(param_1 + 0x3d8); if (*local_128 == 0) { uVar1 = FUN_181545547(); *(int *)(unaff_RBX + -0x4f) = *(int *)(unaff_RBX + -0x4f) - (~(~uVar1 + 1) + 1); /* WARNING: Could not recover jumptable at 0x000181545658. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(unaff_RSI + -0x586))(); return; } /* WARNING: Call to offcut address within same function */ func_0x000181544828(); /* WARNING: Could not recover jumptable at 0x0001815449cb. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(unaff_RSI + 0x1b79))(0x495eef90,puVar2); return; } ############ FUN_ 18157dc80 size=570 ############ /* WARNING: Removing unreachable block (ram,0x00018157dd6a) */ void FUN_18157dc80(undefined8 param_1) { int iVar1; uint uVar2; bool bVar3; int unaff_retaddr; undefined1 auStack_1c8 [128]; uint local_148; uint local_144; undefined8 local_f0; undefined1 local_a8 [120]; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_1c8; uVar2 = (uint)&stack0x00000000 & 0x3ff; local_148 = 49999 >> ((char)((ulonglong) ((longlong)(int)((uVar2 + 2) * (uVar2 + 1) * uVar2) * 0x55555556) >> 0x20) * -3 & 0x1fU) ^ 0xcb6f; uVar2 = (uint)&stack0x00000000 & 0x2ff; iVar1 = (uVar2 + 2) * (uVar2 + 1) * uVar2; local_144 = 0xe60c << ((byte)(((iVar1 >> 1) - (iVar1 >> 3)) + iVar1 * 0x55555555 >> 0x1e) & 0x1f) ^ 0xe4dc; local_f0 = param_1; FUN_18134c250(param_1,local_a8); do { FUN_18157f05c(); FUN_18157f601(); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } bVar3 = uVar2 == 0; } while (!bVar3); do { FUN_18157c8de(0x781c); if (!bVar3) { register0x00000020 = (BADSPACEBASE *)-(~(ulonglong)register0x00000020 + 1); } uVar2 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } bVar3 = uVar2 == 0; } while (!bVar3); FUN_18157fe16(); func_0x00018157ded8(); func_0x00018157dec2(); return; } ############ FUN_ 181593e50 size=1088 ############ /* WARNING: Removing unreachable block (ram,0x000181593f0b) */ void FUN_181593e50(longlong param_1) { undefined8 *puVar1; char cVar2; undefined8 uVar3; longlong lVar4; undefined8 *puVar5; uint uVar6; undefined8 auStack_1a0 [4]; undefined1 auStack_178 [56]; undefined8 local_140; undefined8 local_138; undefined8 local_118; undefined8 local_110; undefined4 local_fc; uint local_f8; longlong local_f0; undefined1 local_a8 [16]; undefined1 local_98 [24]; undefined8 auStack_80 [10]; ulonglong local_30; puVar1 = auStack_80 + 1; local_30 = DAT_182615970 ^ (ulonglong)auStack_178; if (((ulonglong)&stack0x00000000 & 0x3a00) == 0) { uVar6 = (uint)&stack0x00000000 & 0x10ff; uVar6 = (uVar6 * uVar6 + 1) % 7; local_f8 = (int)(-uVar6 | uVar6) >> 0x1f & 0x20bb; } else { local_f8 = 0x20bb; } local_f8 = local_f8 ^ 0x2a4b; local_fc = 0xc30; local_f0 = param_1; uVar3 = FUN_18134c250(param_1,local_a8); lVar4 = FUN_1804ab5a0(uVar3,local_98); local_138 = 0; local_118 = 0x30c; local_140 = 0x1809c46c4; local_110 = 0x1809c49d0; FUN_1815930d6(*(float *)(lVar4 + 0xc) * DAT_1824c3c70 * *(float *)(param_1 + 0xe4)); /* WARNING: Call to offcut address within same function */ auStack_1a0[1] = 0x181594136; auStack_1a0[2] = 0x180000000; func_0x000181594139(); puVar5 = auStack_1a0 + 1; cVar2 = '\x1c'; do { puVar1 = puVar1 + -1; puVar5 = puVar5 + -1; *puVar5 = *puVar1; cVar2 = cVar2 + -1; } while ('\0' < cVar2); return; } ############ FUN_ 1815d59cd size=6391 ############ /* WARNING: Instruction at (ram,0x0001815d5fda) overlaps instruction at (ram,0x0001815d5fd8) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001815d7a22) */ /* WARNING: Removing unreachable block (ram,0x0001815d6abd) */ /* WARNING: Removing unreachable block (ram,0x0001815d60b9) */ /* WARNING: Removing unreachable block (ram,0x0001815d5fd6) */ /* WARNING: Removing unreachable block (ram,0x0001815d6cd3) */ /* WARNING: Removing unreachable block (ram,0x0001815d710c) */ /* WARNING: Removing unreachable block (ram,0x0001815d69ba) */ /* WARNING: Removing unreachable block (ram,0x0001815d6351) */ /* WARNING: Removing unreachable block (ram,0x0001815d70db) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_1815d59cd(undefined8 param_1,int *param_2,undefined8 param_3,undefined8 param_4) { char cVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint uVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; uint uVar21; uint uVar22; uint uVar23; undefined8 uVar24; uint *puVar25; ulonglong uVar26; uint uVar27; uint uVar28; uint uVar29; uint uVar30; uint uVar31; uint uVar32; int iVar33; undefined8 *puVar34; undefined1 *puVar35; undefined1 *puVar36; longlong unaff_RBP; int unaff_ESI; ulonglong uVar37; ulonglong unaff_RDI; code *pcVar38; ulonglong uVar39; ulonglong uVar40; longlong lVar41; undefined8 uVar42; longlong unaff_R13; int *piVar43; ulonglong unaff_R14; longlong lVar44; ulonglong uVar45; undefined4 uVar46; undefined4 uVar47; undefined4 uVar48; undefined4 uVar49; ulonglong in_stack_00000060; uVar27 = (*param_2 + 1) * *param_2 & 0x80000001; if ((int)uVar27 < 0) { uVar27 = (uVar27 - 1 | 0xfffffffe) + 1; } if (uVar27 != 0) { uVar24 = FUN_1815d59cd(0x5620,param_2); return uVar24; } do { unaff_R14 = ((((unaff_R14 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; uVar27 = (*param_2 + 1) * *param_2 & 0x80000001; if ((int)uVar27 < 0) { uVar27 = (uVar27 - 1 | 0xfffffffe) + 1; } } while (uVar27 != 0); if (*(longlong *)(unaff_RDI + 0x210) != 0) { pcVar38 = *(code **)(*(longlong *)(unaff_RDI + 0x208) + 8); if (pcVar38 == FUN_180584490) { if (*(longlong *)(unaff_RDI + 0x210) == 0) { FUN_1805849b0(); } uVar26 = *(ulonglong *)(unaff_RDI + 0x210); } else { uVar26 = (*pcVar38)(unaff_RDI + 0x208,pcVar38,param_3,param_4); } uVar27 = DAT_181497138 * 0x5bd1e995; uVar2 = DAT_18149713c * 0x5bd1e995; uVar3 = DAT_181497140 * 0x5bd1e995; lVar41 = unaff_RBP + 0x38; uVar45 = unaff_RDI; uVar40 = uVar26; uVar24 = FUN_1813f22a0(uVar26,lVar41,DAT_1826741c0); uVar46 = FUN_1813ec390(uVar24); *(undefined4 *)(unaff_RDI + 0x24c) = uVar46; do { lVar44 = ~uVar45 + 1 + unaff_R14 + lVar41; uVar39 = ~((unaff_R14 + lVar41) - lVar44) + 1; uVar40 = uVar40 ^ ~uVar45 + 1 ^ uVar39; uVar45 = ~uVar39 + 1; unaff_R14 = (lVar44 - uVar39) - lVar41; uVar28 = (*(int *)(unaff_RBP + 0x248) + 1) * *(int *)(unaff_RBP + 0x248) & 0x80000001; if ((int)uVar28 < 0) { uVar28 = (uVar28 - 1 | 0xfffffffe) + 1; } } while (uVar28 != 0); uVar28 = DAT_181497144 * 0x5bd1e995; uVar4 = DAT_181497148 * 0x5bd1e995; uVar5 = DAT_18149714c * 0x5bd1e995; uVar6 = DAT_181497150 * 0x5bd1e995; FUN_1813f22a0(uVar26,unaff_RBP + -0x18,DAT_182674268,in_stack_00000060,1); *(undefined4 *)(in_stack_00000060 + 0x250) = *(undefined4 *)(unaff_RBP + -0x14); uVar7 = DAT_181497154 * 0x5bd1e995; uVar8 = DAT_181497158 * 0x5bd1e995; uVar9 = DAT_18149715c * 0x5bd1e995; uVar10 = DAT_181497160 * 0x5bd1e995; uVar11 = DAT_181497164 * 0x5bd1e995; do { func_0x0001815d4ec2(0x6d28); uVar29 = (*(int *)(unaff_RBP + 0x248) + 1) * *(int *)(unaff_RBP + 0x248) & 0x80000001; if ((int)uVar29 < 0) { uVar29 = (uVar29 - 1 | 0xfffffffe) + 1; } } while (uVar29 != 0); uVar29 = DAT_181497168 * 0x5bd1e995; uVar12 = DAT_18149716c * 0x5bd1e995; uVar13 = DAT_181497170 * 0x5bd1e995; do { uVar30 = (*(int *)(unaff_RBP + 0x248) + 1) * *(int *)(unaff_RBP + 0x248) & 0x80000001; if ((int)uVar30 < 0) { uVar30 = (uVar30 - 1 | 0xfffffffe) + 1; } } while (uVar30 != 0); uVar30 = DAT_181497174 * 0x5bd1e995; FUN_1813f22a0(uVar26,unaff_RBP + -0x10,DAT_182674230,in_stack_00000060,1); *(undefined4 *)(in_stack_00000060 + 0x254) = *(undefined4 *)(unaff_RBP + -0xc); uVar14 = DAT_181497178 * 0x5bd1e995; uVar15 = DAT_18149717c * 0x5bd1e995; do { uVar31 = (*(int *)(unaff_RBP + 0x248) + 1) * *(int *)(unaff_RBP + 0x248) & 0x80000001; if ((int)uVar31 < 0) { uVar31 = (uVar31 - 1 | 0xfffffffe) + 1; } } while (uVar31 != 0); uVar31 = DAT_181497180 * 0x5bd1e995; uVar16 = DAT_181497184 * 0x5bd1e995; uVar17 = DAT_181497188 * 0x5bd1e995; FUN_1813f22a0(uVar26,unaff_RBP + -8,DAT_18267417c,in_stack_00000060,1); *(undefined4 *)(in_stack_00000060 + 600) = *(undefined4 *)(unaff_RBP + -4); do { uVar32 = (*(int *)(unaff_RBP + 0x248) + 1) * *(int *)(unaff_RBP + 0x248) & 0x80000001; if ((int)uVar32 < 0) { uVar32 = (uVar32 - 1 | 0xfffffffe) + 1; } } while (uVar32 != 0); uVar27 = ((uint)(DAT_181497190 * 0x5bd1e995) >> 0x18 ^ DAT_181497190 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18149718c * 0x5bd1e995) >> 0x18 ^ DAT_18149718c * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar17 >> 0x18 ^ uVar17) * 0x5bd1e995 ^ ((uVar16 >> 0x18 ^ uVar16) * 0x5bd1e995 ^ ((uVar31 >> 0x18 ^ uVar31) * 0x5bd1e995 ^ ((uVar15 >> 0x18 ^ uVar15) * 0x5bd1e995 ^ ((uVar14 >> 0x18 ^ uVar14) * 0x5bd1e995 ^ ((uVar30 >> 0x18 ^ uVar30) * 0x5bd1e995 ^ ((uVar13 >> 0x18 ^ uVar13) * 0x5bd1e995 ^ ((uVar12 >> 0x18 ^ uVar12) * 0x5bd1e995 ^ ((uVar29 >> 0x18 ^ uVar29) * 0x5bd1e995 ^ ((uVar11 >> 0x18 ^ uVar11) * 0x5bd1e995 ^ ((uVar10 >> 0x18 ^ uVar10) * 0x5bd1e995 ^ ((uVar9 >> 0x18 ^ uVar9) * 0x5bd1e995 ^ ((uVar8 >> 0x18 ^ uVar8) * 0x5bd1e995 ^ ((uVar7 >> 0x18 ^ uVar7) * 0x5bd1e995 ^ ((uVar6 >> 0x18 ^ uVar6) * 0x5bd1e995 ^ ((uVar5 >> 0x18 ^ uVar5) * 0x5bd1e995 ^ ((uVar4 >> 0x18 ^ uVar4) * 0x5bd1e995 ^ ((uVar28 >> 0x18 ^ uVar28) * 0x5bd1e995 ^ ((uVar3 >> 0x18 ^ uVar3) * 0x5bd1e995 ^ ((uVar2 >> 0x18 ^ uVar2) * 0x5bd1e995 ^ ((uVar27 >> 0x18 ^ uVar27) * 0x5bd1e995 ^ 0xfb6bdfd9) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; uVar45 = (ulonglong)uVar27; do { FUN_1815d59cc(0x6d28); if ((longlong)(uVar45 ^ 0x1bbefaff) < 0) { uVar24 = FUN_1815d621c(); return uVar24; } lVar41 = uVar40 + unaff_R14; uVar40 = ~(unaff_R14 - lVar41) + 1; unaff_R14 = lVar41 - uVar40; uVar2 = (*(int *)(unaff_RBP + 0x248) + 1) * *(int *)(unaff_RBP + 0x248) & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar2 = _UNK_181497194 * 0x5bd1e995; uVar3 = _UNK_181497198 * 0x5bd1e995; uVar28 = _UNK_18149719c * 0x5bd1e995; uVar4 = _UNK_1814971a0 * 0x5bd1e995; uVar5 = _UNK_1814971a4 * 0x5bd1e995; uVar6 = _UNK_1814971a8 * 0x5bd1e995; do { uVar7 = (*(int *)(unaff_RBP + 0x248) + 1) * *(int *)(unaff_RBP + 0x248) & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = _UNK_1814971ac * 0x5bd1e995; FUN_1813f22a0(uVar26); *(undefined4 *)(in_stack_00000060 + 0x25c) = *(undefined4 *)(unaff_RBP + 4); uVar8 = _UNK_1814971b0 * 0x5bd1e995; do { uVar9 = (*(int *)(unaff_RBP + 0x248) + 1) * *(int *)(unaff_RBP + 0x248) & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = _UNK_1814971b4 * 0x5bd1e995; uVar10 = _UNK_1814971b8 * 0x5bd1e995; uVar11 = _UNK_1814971bc * 0x5bd1e995; uVar29 = _UNK_1814971c0 * 0x5bd1e995; uVar12 = _UNK_1814971c4 * 0x5bd1e995; uVar13 = _UNK_1814971c8 * 0x5bd1e995; uVar30 = _UNK_1814971cc * 0x5bd1e995; uVar14 = _UNK_1814971d0 * 0x5bd1e995; FUN_1813f22a0(uVar26,unaff_RBP + 8,_DAT_1826741e8,in_stack_00000060,1); *(undefined4 *)(in_stack_00000060 + 0x260) = *(undefined4 *)(unaff_RBP + 0xc); uVar15 = _UNK_1814971d4 * 0x5bd1e995; uVar31 = _UNK_1814971d8 * 0x5bd1e995; uVar16 = _UNK_1814971dc * 0x5bd1e995; uVar17 = _UNK_1814971e0 * 0x5bd1e995; uVar32 = _UNK_1814971e4 * 0x5bd1e995; uVar18 = _UNK_1814971e8 * 0x5bd1e995; uVar19 = _UNK_1814971ec * 0x5bd1e995; uVar20 = _UNK_1814971f0 * 0x5bd1e995; uVar21 = _UNK_1814971f4 * 0x5bd1e995; uVar22 = _UNK_1814971f8 * 0x5bd1e995; uVar24 = FUN_1813f22a0(uVar26,unaff_RBP + 0x40,_DAT_1826741b8,in_stack_00000060,1); uVar46 = FUN_1813ec390(uVar24); *(undefined4 *)(in_stack_00000060 + 0x268) = uVar46; uVar23 = _UNK_1814971fc * 0x5bd1e995; FUN_1813f22a0(uVar26,unaff_RBP + 0x10,DAT_182674288,in_stack_00000060,1); *(undefined4 *)(in_stack_00000060 + 0x264) = *(undefined4 *)(unaff_RBP + 0x14); uVar27 = (((uint)(_DAT_181497230 * 0x5bd1e995) >> 0x18 ^ _DAT_181497230 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_18149722c * 0x5bd1e995) >> 0x18 ^ _UNK_18149722c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181497228 * 0x5bd1e995) >> 0x18 ^ _UNK_181497228 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181497224 * 0x5bd1e995) >> 0x18 ^ _UNK_181497224 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181497220 * 0x5bd1e995) >> 0x18 ^ _UNK_181497220 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_18149721c * 0x5bd1e995) >> 0x18 ^ _UNK_18149721c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181497218 * 0x5bd1e995) >> 0x18 ^ _UNK_181497218 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181497214 * 0x5bd1e995) >> 0x18 ^ _UNK_181497214 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181497210 * 0x5bd1e995) >> 0x18 ^ _UNK_181497210 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_18149720c * 0x5bd1e995) >> 0x18 ^ _UNK_18149720c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181497208 * 0x5bd1e995) >> 0x18 ^ _UNK_181497208 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181497204 * 0x5bd1e995) >> 0x18 ^ _UNK_181497204 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_181497200 * 0x5bd1e995) >> 0x18 ^ _UNK_181497200 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar23 >> 0x18 ^ uVar23) * 0x5bd1e995 ^ ((uVar22 >> 0x18 ^ uVar22) * 0x5bd1e995 ^ ((uVar21 >> 0x18 ^ uVar21) * 0x5bd1e995 ^ ((uVar20 >> 0x18 ^ uVar20) * 0x5bd1e995 ^ ((uVar19 >> 0x18 ^ uVar19) * 0x5bd1e995 ^ ((uVar18 >> 0x18 ^ uVar18) * 0x5bd1e995 ^ ((uVar32 >> 0x18 ^ uVar32) * 0x5bd1e995 ^ ((uVar17 >> 0x18 ^ uVar17) * 0x5bd1e995 ^ ((uVar16 >> 0x18 ^ uVar16) * 0x5bd1e995 ^ ((uVar31 >> 0x18 ^ uVar31) * 0x5bd1e995 ^ ((uVar15 >> 0x18 ^ uVar15) * 0x5bd1e995 ^ ((uVar14 >> 0x18 ^ uVar14) * 0x5bd1e995 ^ ((uVar30 >> 0x18 ^ uVar30) * 0x5bd1e995 ^ ((uVar13 >> 0x18 ^ uVar13) * 0x5bd1e995 ^ ((uVar12 >> 0x18 ^ uVar12) * 0x5bd1e995 ^ ((uVar29 >> 0x18 ^ uVar29) * 0x5bd1e995 ^ ((uVar11 >> 0x18 ^ uVar11) * 0x5bd1e995 ^ ((uVar10 >> 0x18 ^ uVar10) * 0x5bd1e995 ^ ((uVar9 >> 0x18 ^ uVar9) * 0x5bd1e995 ^ ((uVar8 >> 0x18 ^ uVar8) * 0x5bd1e995 ^ ((uVar7 >> 0x18 ^ uVar7) * 0x5bd1e995 ^ ((uVar6 >> 0x18 ^ uVar6) * 0x5bd1e995 ^ ((uVar5 >> 0x18 ^ uVar5) * 0x5bd1e995 ^ ((uVar4 >> 0x18 ^ uVar4) * 0x5bd1e995 ^ ((uVar28 >> 0x18 ^ uVar28) * 0x5bd1e995 ^ ((uVar3 >> 0x18 ^ uVar3) * 0x5bd1e995 ^ ((uVar2 >> 0x18 ^ uVar2) * 0x5bd1e995 ^ uVar27 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995 ) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995 ^ ((uint)(_UNK_181497234 * 0x5bd1e995) >> 0x18 ^ _UNK_181497234 * 0x5bd1e995) * 0x5bd1e995; uVar27 = ((uVar27 << 0x10 | uVar27 >> 0x10) & 0xcff83007 | (uVar27 >> 0x10 | uVar27 << 0x10) & 0x3007cff8) + 0x974af179; uVar45 = (ulonglong)DAT_18267422c; if ((char)(((uVar27 >> 2 & 0xcccccccc | uVar27 * 0x40000000 | uVar27 * 4 & 0x33333333 | uVar27 >> 0x1e) == 0xefe2c278) * '7') == '\0') { uVar24 = FUN_1813f22a0(uVar26,unaff_RBP + 0x48,uVar45,in_stack_00000060,1); uVar46 = FUN_1813ec390(uVar24); *(undefined4 *)(in_stack_00000060 + 0x248) = uVar46; uVar24 = thunk_FUN_1805a9280(); return uVar24; } lVar41 = unaff_RBP + 0x50; uVar24 = FUN_1813f22a0(uVar26,lVar41,uVar45,in_stack_00000060,1); uVar46 = func_0x0001813ec380(uVar24); *(undefined4 *)(in_stack_00000060 + 0x248) = uVar46; iVar33 = *(int *)(unaff_RBP + -0x68); param_2 = (int *)(unaff_RBP + 0x248); puVar35 = (undefined1 *)register0x00000020; do { *(ulonglong *)(puVar35 + -8) = unaff_R14; *(ulonglong *)(puVar35 + -0x10) = in_stack_00000060; *(ulonglong *)(puVar35 + -0x18) = uVar45; lVar44 = unaff_R13 + lVar41; unaff_R13 = (lVar41 - lVar44 ^ 0xffffffffffffffffU) + 1; lVar41 = lVar44 - unaff_R13; lVar44 = -(longlong)iVar33; uVar45 = *(ulonglong *)(puVar35 + lVar44 + 0x9e8); unaff_RDI = *(ulonglong *)(puVar35 + lVar44 + 0x9f0); unaff_R14 = *(ulonglong *)(puVar35 + lVar44 + 0x9f8); register0x00000020 = (BADSPACEBASE *)(puVar35 + lVar44 + 0xa00); puVar35 = puVar35 + lVar44 + 0xa00; uVar27 = (*param_2 + 1) * *param_2 & 0x80000001; if ((int)uVar27 < 0) { uVar27 = (uVar27 - 1 | 0xfffffffe) + 1; } in_stack_00000060 = unaff_RDI; } while (uVar27 != 0); } uVar27 = *(int *)(unaff_R14 + 0x14 + unaff_R13) * unaff_ESI; iVar33 = *(int *)((longlong)register0x00000020 + 0x78); uVar2 = *(int *)(unaff_R14 + 0x18 + unaff_R13) * unaff_ESI; uVar3 = *(int *)(unaff_R14 + 0x1c + unaff_R13) * unaff_ESI; *(undefined8 *)((longlong)register0x00000020 + 0x68) = 0x52caf7faaf50128f; *(int *)((longlong)register0x00000020 + 0x78) = (int)*(undefined8 *)((longlong)register0x00000020 + 0x68); uVar28 = *(int *)(unaff_R14 + 0x20 + unaff_R13) * unaff_ESI; uVar4 = *(int *)(unaff_R14 + 0x24 + unaff_R13) * unaff_ESI; uVar5 = *(int *)(unaff_R14 + 0x28 + unaff_R13) * unaff_ESI; uVar6 = *(int *)(unaff_R14 + 0x2c + unaff_R13) * unaff_ESI; uVar7 = *(int *)(unaff_R14 + 0x30 + unaff_R13) * unaff_ESI; uVar8 = *(int *)(unaff_R14 + 0x34 + unaff_R13) * unaff_ESI; lVar41 = unaff_R14 + 0x38; uVar9 = *(int *)(lVar41 + unaff_R13) * unaff_ESI; uVar11 = (uint)lVar41 & 0x4f; uVar10 = *(uint *)(unaff_RBP + -0x58) & 0xbf; uVar10 = (uVar10 + 2) * (uVar10 + 1) * uVar10; uVar26 = (ulonglong)uVar10; uVar45 = lVar41 + (0xc - ((longlong) (int)(((int)((((int)uVar10 >> 1) - ((int)uVar10 >> 3)) + uVar10 * 0x55555555) >> 0x1e | (uVar11 + 1) * (uVar11 + 1) * uVar11 * uVar11 & 0x80000003) + 0x5a3b) ^ 0x5a33U)); *(undefined4 *)(unaff_RDI + 0x440) = *(undefined4 *)(unaff_RDI + 0x24c); uVar10 = *(int *)(uVar45 + unaff_R13) * unaff_ESI; uVar11 = *(int *)(uVar45 + 4 + unaff_R13) * unaff_ESI; do { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d6d4a; FUN_1815d8321(0x5620); lVar41 = unaff_R13 + uVar26; unaff_R13 = ~(uVar26 - lVar41) + 1; uVar26 = lVar41 - unaff_R13; uVar29 = (*param_2 + 1) * *param_2 & 0x80000001; if ((int)uVar29 < 0) { uVar29 = (uVar29 - 1 | 0xfffffffe) + 1; } } while (uVar29 != 0); uVar29 = *(int *)(uVar45 + 8 + unaff_R13) * unaff_ESI; uVar12 = *(int *)(uVar45 + 0xc + unaff_R13) * unaff_ESI; uVar13 = *(int *)(uVar45 + 0x10 + unaff_R13) * unaff_ESI; uVar30 = *(int *)(uVar45 + 0x14 + unaff_R13) * unaff_ESI; uVar14 = *(int *)(uVar45 + 0x18 + unaff_R13) * unaff_ESI; uVar15 = *(int *)(uVar45 + 0x1c + unaff_R13) * unaff_ESI; uVar31 = *(int *)(uVar45 + 0x20 + unaff_R13) * unaff_ESI; uVar4 = (uVar31 >> 0x18 ^ uVar31) * unaff_ESI ^ unaff_ESI * ((uVar15 >> 0x18 ^ uVar15) * unaff_ESI ^ unaff_ESI * ((uVar14 >> 0x18 ^ uVar14) * unaff_ESI ^ unaff_ESI * ((uVar30 >> 0x18 ^ uVar30) * unaff_ESI ^ unaff_ESI * ((uVar13 >> 0x18 ^ uVar13) * unaff_ESI ^ unaff_ESI * ((uVar12 >> 0x18 ^ uVar12) * unaff_ESI ^ unaff_ESI * ((uVar29 >> 0x18 ^ uVar29) * unaff_ESI ^ unaff_ESI * ((uVar11 >> 0x18 ^ uVar11) * unaff_ESI ^ unaff_ESI * ((uVar10 >> 0x18 ^ uVar10) * unaff_ESI ^ unaff_ESI * ((uVar9 >> 0x18 ^ uVar9) * unaff_ESI ^ unaff_ESI * ((uVar8 >> 0x18 ^ uVar8) * unaff_ESI ^ unaff_ESI * ((uVar7 >> 0x18 ^ uVar7) * unaff_ESI ^ unaff_ESI * ((uVar6 >> 0x18 ^ uVar6) * unaff_ESI ^ unaff_ESI * ((uVar5 >> 0x18 ^ uVar5) * unaff_ESI ^ unaff_ESI * ((uVar4 >> 0x18 ^ uVar4) * unaff_ESI ^ unaff_ESI * ((uVar28 >> 0x18 ^ uVar28) * unaff_ESI ^ unaff_ESI * ((uVar3 >> 0x18 ^ uVar3) * unaff_ESI ^ unaff_ESI * ((uVar2 >> 0x18 ^ uVar2) * unaff_ESI ^ unaff_ESI * ((uVar27 >> 0x18 ^ uVar27) * unaff_ESI ^ unaff_ESI * iVar33)))))))))))))))))); uVar26 = (ulonglong)uVar4; *(undefined4 *)(unaff_RDI + 0x448) = *(undefined4 *)(unaff_RDI + 0x25c); uVar27 = *(int *)(uVar45 + 0x24 + unaff_R13) * unaff_ESI; uVar2 = *(int *)(uVar45 + 0x28 + unaff_R13) * unaff_ESI; uVar3 = *(int *)(uVar45 + 0x2c + unaff_R13) * unaff_ESI; uVar28 = *(int *)(uVar45 + 0x30 + unaff_R13) * unaff_ESI; do { uVar40 = ~(~uVar45 + 1); uVar45 = uVar40 + 1; uVar26 = (~uVar26 + 1 ^ 0xffffffffffffffff) + 1; uVar5 = (*param_2 + 1) * *param_2 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = *(int *)(uVar40 + 0x35 + unaff_R13) * unaff_ESI; uVar6 = *(int *)(uVar40 + 0x39 + unaff_R13) * unaff_ESI; uVar7 = *(int *)(uVar40 + 0x3d + unaff_R13) * unaff_ESI; uVar8 = *(int *)(uVar40 + 0x41 + unaff_R13) * unaff_ESI; uVar9 = *(int *)(uVar40 + 0x45 + unaff_R13) * unaff_ESI; uVar10 = *(int *)(uVar40 + 0x49 + unaff_R13) * unaff_ESI; *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d6faf; cVar1 = FUN_18048a590(unaff_RDI + 0x1c8,0,uVar26); if (cVar1 != '\0') { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d6fbb; FUN_1812e8c60(unaff_RDI); } uVar11 = *(int *)(uVar40 + 0x4d + unaff_R13) * unaff_ESI; uVar29 = *(int *)(uVar40 + 0x51 + unaff_R13) * unaff_ESI; uVar12 = *(int *)(uVar40 + 0x55 + unaff_R13) * unaff_ESI; uVar13 = *(int *)(uVar40 + 0x59 + unaff_R13) * unaff_ESI; uVar30 = *(int *)(uVar40 + 0x5d + unaff_R13) * unaff_ESI; uVar14 = *(int *)(uVar40 + 0x61 + unaff_R13) * unaff_ESI; uVar15 = *(int *)(uVar40 + 0x65 + unaff_R13) * unaff_ESI; uVar31 = *(int *)(uVar40 + 0x69 + unaff_R13) * unaff_ESI; lVar41 = uVar40 + 0x6d; uVar16 = *(int *)(lVar41 + unaff_R13) * unaff_ESI; uVar17 = (uint)lVar41 & 0x5f; lVar41 = lVar41 + (0x24 - ((longlong) (int)((uVar17 + 1) * (uVar17 + 1) * uVar17 * uVar17 & 0x80000003) ^ 0x20U)); uVar17 = *(int *)(lVar41 + unaff_R13) * unaff_ESI; uVar32 = (uint)lVar41 & 0x7eff; iVar33 = uVar32 * uVar32 + 1; uVar32 = iVar33 * 0x24924924 + (iVar33 >> 4) + (iVar33 >> 1) >> 0x1d; uVar18 = (uint)*(undefined8 *)(unaff_RBP + -0x58) & 0x1ff; uVar32 = ((uVar18 + 2) * (uVar18 + 1) * uVar18) % 3 ^ (int)(uVar32 - 7) >> 0x1f & uVar32; lVar41 = ((longlong)(((int)(-uVar32 | uVar32) >> 0x1f) * -0xe994) ^ 0xe9b4U) + lVar41; uVar32 = *(int *)(lVar41 + -0x1c + unaff_R13) * unaff_ESI; uVar18 = *(int *)(lVar41 + -0x18 + unaff_R13) * unaff_ESI; uVar27 = unaff_ESI * ((uVar32 >> 0x18 ^ uVar32) * unaff_ESI ^ unaff_ESI * ((uVar17 >> 0x18 ^ uVar17) * unaff_ESI ^ unaff_ESI * ((uVar16 >> 0x18 ^ uVar16) * unaff_ESI ^ unaff_ESI * ((uVar31 >> 0x18 ^ uVar31) * unaff_ESI ^ unaff_ESI * ((uVar15 >> 0x18 ^ uVar15) * unaff_ESI ^ unaff_ESI * ((uVar14 >> 0x18 ^ uVar14) * unaff_ESI ^ unaff_ESI * ((uVar30 >> 0x18 ^ uVar30) * unaff_ESI ^ unaff_ESI * ((uVar13 >> 0x18 ^ uVar13) * unaff_ESI ^ unaff_ESI * ((uVar12 >> 0x18 ^ uVar12) * unaff_ESI ^ unaff_ESI * ((uVar29 >> 0x18 ^ uVar29) * unaff_ESI ^ unaff_ESI * ((uVar11 >> 0x18 ^ uVar11) * unaff_ESI ^ unaff_ESI * ((uVar10 >> 0x18 ^ uVar10) * unaff_ESI ^ unaff_ESI * ((uVar9 >> 0x18 ^ uVar9) * unaff_ESI ^ unaff_ESI * ((uVar8 >> 0x18 ^ uVar8) * unaff_ESI ^ unaff_ESI * ((uVar7 >> 0x18 ^ uVar7) * unaff_ESI ^ unaff_ESI * ((uVar6 >> 0x18 ^ uVar6) * unaff_ESI ^ unaff_ESI * ((uVar5 >> 0x18 ^ uVar5) * unaff_ESI ^ unaff_ESI * ((uVar28 >> 0x18 ^ uVar28) * unaff_ESI ^ unaff_ESI * ((uVar3 >> 0x18 ^ uVar3) * unaff_ESI ^ unaff_ESI * ((uVar2 >> 0x18 ^ uVar2) * unaff_ESI ^ unaff_ESI * ((uVar27 >> 0x18 ^ uVar27) * unaff_ESI ^ unaff_ESI * uVar4))))))))))))))))))) )) ^ (uVar18 >> 0x18 ^ uVar18) * unaff_ESI; uVar27 = ((uVar27 << 0x10 | uVar27 >> 0x10) & 0xcff83007 | (uVar27 >> 0x10 | uVar27 << 0x10) & 0x3007cff8) + 0x974af179; uVar26 = (ulonglong) ((uVar27 >> 2 & 0xcccccccc | uVar27 * 0x40000000 | uVar27 * 4 & 0x33333333 | uVar27 >> 0x1e) + 0xbeed1d6c); piVar43 = (int *)(unaff_RBP + 0x248); do { *(undefined4 *)(unaff_RBP + -100) = 0xd7989643; *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d726d; FUN_1815d621b(); uVar27 = (*piVar43 + 1) * *piVar43 & 0x80000001; if ((int)uVar27 < 0) { uVar27 = (uVar27 - 1 | 0xfffffffe) + 1; } } while (uVar27 != 0); uVar27 = *(int *)(unaff_RBP + -100) + 0x42263d59; uVar27 = (uVar27 * 0x200 | uVar27 >> 0x17) ^ 0x3e0f46eb; uVar2 = ~((uVar27 >> 0x14 | uVar27 << 0xc) + 0x4de31597) + 0x1b935995; uVar27 = (int)((ulonglong)*(undefined8 *)(unaff_RBP + -0x80) >> 0x20) + 0xfa8073e1; uVar2 = uVar27 ^ ((uVar2 * 0x8000 | uVar2 >> 0x11) ^ 0xb636548e) + 0x62bfbbd; uVar6 = ~(uVar2 & 0x74363136 ^ uVar27); uVar28 = ~(*(uint *)((longlong)register0x00000020 + 0x48) ^ 0x860084d7); uVar5 = ~((int)*(undefined8 *)(unaff_RBP + -0x80) + 0x7e45d4e7U); uVar40 = (ulonglong)uVar5; uVar8 = ~(uVar2 & 0x8bc9cec9 ^ uVar27); uVar3 = (uVar6 >> 0x10 ^ uVar6) >> 1 & 0x7fff; uVar7 = (uVar28 >> 0x13 ^ uVar28) >> 4 & 3; uVar45 = (ulonglong)uVar7; uVar27 = (uVar5 >> 8 ^ uVar5) >> 6 & 7; uVar2 = (uVar8 >> 0xe ^ uVar8) >> 2 & 0x1fff; uVar4 = ((uVar3 << 0x10 | uVar3) * 2 ^ uVar6) + 0xd72ec56e; uVar27 = (uVar27 << 8 | uVar27) << 6 ^ uVar5 ^ 0xa4daaba5; uVar3 = uVar27 >> 0x13 | uVar27 << 0xd; uVar27 = ((uVar2 << 0xe | uVar2) << 2 ^ uVar8) + 0xb13e8770; uVar2 = (uVar4 >> 0x14 | uVar4 * 0x1000) ^ uVar3; uVar27 = (uVar27 >> 0x10 | uVar27 * 0x10000) ^ 0xf6ce2a6f; uVar37 = (ulonglong)uVar27; uVar28 = (uVar7 << 0x13 | uVar7) << 4 ^ uVar28 ^ 0xd8b18c67; uVar28 = (uVar28 >> 10 | uVar28 << 0x16) + 0xd9158d31; uVar4 = uVar2 & 0xfbebf0ee ^ uVar3 ^ 0x38262af0; uVar39 = (ulonglong)uVar4; do { *(ulonglong *)((longlong)register0x00000020 + -8) = uVar45; uVar24 = rdtsc(); uVar5 = (uint)uVar24 ^ (uint)((ulonglong)uVar24 >> 0x20); *(uint *)(unaff_RBP + -0x60) = uVar5; uVar45 = (ulonglong)uVar5 * -0xff - 0x768463d0; uVar45 = uVar45 * 0x4000 | uVar45 >> 0x32; uVar45 = uVar45 ^ (uVar45 * 3 >> 6) + 0x5ce8d945; *(uint *)(unaff_RBP + -0x74) = (uint)((uVar45 ^ uVar45 * 0x8000 - 0x20bf198d) >> 0xb) >> 1; uVar45 = *(ulonglong *)((longlong)register0x00000020 + -8); uVar5 = (*piVar43 + 1) * *piVar43 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = *(uint *)((longlong)register0x00000020 + 0x5c); uVar7 = *(uint *)(unaff_RBP + -0x74); *(uint *)(unaff_RBP + -0x74) = uVar7 ^ uVar5; if ((uVar7 ^ uVar5) < 0xdd91) { *(uint *)(unaff_RBP + 0x198) = uVar27; *(uint *)(unaff_RBP + 0x19c) = uVar28; *(uint *)(unaff_RBP + 0x1a0) = uVar4; *(uint *)(unaff_RBP + 0x1a4) = (uVar2 & 0x4140f11 ^ uVar3) + 0xa2ddb101; do { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7522; uVar24 = *(undefined8 *)((longlong)register0x00000020 + -8); *(undefined4 *)(unaff_RBP + -0x70) = 0xd93f0690; uVar42 = 0; *(undefined8 *)(unaff_RBP + 0x18) = uVar24; uVar27 = (*piVar43 + 1) * *piVar43 & 0x80000001; if ((int)uVar27 < 0) { uVar27 = (uVar27 - 1 | 0xfffffffe) + 1; } } while (uVar27 != 0); uVar27 = ~((*(uint *)(unaff_RBP + -0x70) >> 0x1f | *(uint *)(unaff_RBP + -0x70) << 1) + 0x53b3d8a1) ^ 0xb502ba63; iVar33 = (uVar27 >> 0x18 | uVar27 << 8) + 0x32c6a252; *(int *)(unaff_RBP + -0x70) = iVar33; pcVar38 = (code *)((longlong)iVar33 + *(longlong *)(unaff_RBP + 0x18)); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7593; (*pcVar38)(unaff_RBP + 0x198,unaff_RBP + 0x1b0,pcVar38,uVar6); uVar27 = *(uint *)(unaff_RBP + 0x1c0); uVar2 = *(uint *)(unaff_RBP + 0x1c4); uVar45 = 7; do { uVar4 = (uVar2 ^ uVar27) & 0xfb5db4b7 ^ uVar2; uVar2 = (uVar2 ^ uVar27) & 0x4a24b48 ^ uVar2; uVar27 = (uVar2 >> 4 ^ uVar2) >> 0x12 & 7; uVar3 = (uVar4 >> 0xb ^ uVar4) >> 5 & 0x7ff; uVar4 = (uVar3 << 0xb | uVar3) << 5 ^ uVar4; uVar27 = uVar4 ^ (uVar27 << 4 | uVar27) << 0x12 ^ uVar2; uVar2 = (uVar4 ^ uVar27 & 0x10492ef4) + 0x47bf4e2c; uVar3 = uVar2 * 0x4000 | uVar2 >> 0x12; uVar4 = (uVar27 & 0xefb6d10b ^ uVar4) + 0xb1b2ab94; uVar5 = uVar4 >> 0xe | uVar4 * 0x40000; uVar27 = (uVar3 >> 7 ^ uVar3) >> 10 & 0x7f; uVar3 = uVar3 ^ (uVar27 << 7 | uVar27) << 10; uVar27 = (uVar5 >> 0x10 ^ uVar5) >> 3 & 0x1ff; uVar5 = uVar5 ^ (uVar27 << 0x10 | uVar27) << 3; uVar2 = (uVar3 << 4 | (uVar2 & 0x3ffff) >> 0xe) & 0xe1e1e1e1 | (uVar3 >> 4 | (uVar2 >> 0x12) << 0x1c) & 0x1e1e1e1e; uVar3 = (uVar5 >> 4 | uVar5 << 0x1c) & 0x4b4b4b4b; uVar40 = (ulonglong)uVar3; uVar3 = (uVar5 << 4 | (uVar4 & 0x3fff) >> 10) & 0xb4b4b4b4 | uVar3; uVar27 = (uVar2 >> 10 ^ uVar2) >> 0xb & 0x1ff; uVar2 = uVar2 ^ (uVar27 << 10 | uVar27) << 0xb; uVar27 = (uVar3 >> 0xf ^ uVar3) & 0x7fff; uVar3 = uVar3 ^ (uVar27 << 0xf | uVar27) ^ uVar2; uVar27 = uVar3 & 0xc9f05eab ^ uVar2; uVar2 = uVar3 & 0x360fa154 ^ uVar2; uVar3 = (int)uVar45 - 1; uVar45 = (ulonglong)uVar3; } while (-1 < (int)uVar3); uVar27 = ~(~(uVar27 << 0x19 | uVar27 >> 7) + 0x6efcae41) + 0xb4add5ea; uVar27 = (uVar27 * 0x200 | uVar27 >> 0x17) + 0x405aa29e; uVar27 = (uVar27 >> 0x19 | uVar27 * 0x80) + 0x31d0bbef; uVar37 = (ulonglong)uVar27; do { *(undefined4 *)((longlong)register0x00000020 + 0x70) = 0x7f0f2a30; uVar3 = (*piVar43 + 1) * *piVar43 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = ~((*(uint *)((longlong)register0x00000020 + 0x70) << 0x11 | *(uint *)((longlong)register0x00000020 + 0x70) >> 0xf) + 0xa93e07f2) + 0xc0203c9c; *(uint *)((longlong)register0x00000020 + 0x70) = ~(~((uVar3 >> 0x1c | uVar3 * 0x10) + 0x2cd4bdcd) ^ 0xac76b6d); if ((*(uint *)((longlong)register0x00000020 + 0x70) ^ uVar27) + uVar2 != *(int *)((longlong)register0x00000020 + 0x48)) { do { puVar34 = (undefined8 *)(unaff_RBP + 0x20); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d77b9; FUN_1815d676a(); *(ulonglong *)((longlong)register0x00000020 + -8) = uVar26; *(undefined8 *)((longlong)register0x00000020 + -0x10) = uVar42; *puVar34 = FUN_180bc2900; uVar42 = *(undefined8 *)((longlong)register0x00000020 + -0x10); uVar26 = *(ulonglong *)((longlong)register0x00000020 + -8); uVar27 = (*piVar43 + 1) * *piVar43 & 0x80000001; if ((int)uVar27 < 0) { uVar27 = (uVar27 - 1 | 0xfffffffe) + 1; } } while (uVar27 != 0); pcVar38 = *(code **)(unaff_RBP + 0x20); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d780c; (*pcVar38)(); do { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7839; FUN_1815d676a(); uVar27 = (*piVar43 + 1) * *piVar43 & 0x80000001; if ((int)uVar27 < 0) { uVar27 = (uVar27 - 1 | 0xfffffffe) + 1; } } while (uVar27 != 0); } } if ((char)(((int)uVar26 == *(int *)((longlong)register0x00000020 + 0x78)) * '*') == '\0') { if (*(int *)(unaff_RDI + 0x2c8) == 1) { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7891; uVar46 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c41e0); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d78a9; uVar47 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c4300); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d78bc; uVar48 = FUN_18055e970(unaff_RDI + 0x208,0); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d78d3; uVar49 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c43f8); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d78e5; uVar24 = FUN_18134c250(unaff_RDI,unaff_RBP + 0x98); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d78f4; uVar24 = FUN_1804ab5a0(uVar24,unaff_RBP + 0xa8); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7906; uVar24 = FUN_1804ab3a0(uVar24,unaff_RBP + 0xb8,uVar49); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d791c; uVar24 = FUN_1804ab4f0(uVar24,unaff_RBP + 200,uVar48,uVar47); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d792c; FUN_18056a0d0(uVar24,unaff_RBP + 0x58,uVar46); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d793a; puVar25 = (uint *)FUN_18049ea60(unaff_RBP + -0x48,0x24); lVar44 = unaff_RDI + 0x2a0; lVar41 = unaff_RBP + 0x58; } else { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d794f; uVar46 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c41e0); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7967; uVar47 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c3ea4); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d797e; uVar48 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c4408); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7990; uVar24 = FUN_18134c250(unaff_RDI,unaff_RBP + 0xd8); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d799f; uVar24 = FUN_1804ab5a0(uVar24,unaff_RBP + 0xe8); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d79b1; uVar24 = FUN_1804ab3a0(uVar24,unaff_RBP + 0xf8,uVar48); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d79c3; uVar24 = FUN_1805796a0(uVar24,unaff_RBP + 0x108,uVar47); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d79d3; FUN_18056a0d0(uVar24,unaff_RBP + 0x68,uVar46); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d79e1; puVar25 = (uint *)FUN_18049ea60(unaff_RBP + -0x44,0x24); lVar44 = unaff_RDI + 0x278; lVar41 = unaff_RBP + 0x68; } uVar26 = (ulonglong)*puVar25; *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d79f4; thunk_FUN_180576b40(lVar44,lVar41); *(ulonglong *)((longlong)register0x00000020 + -8) = (ulonglong)uVar28; *(ulonglong *)((longlong)register0x00000020 + -0x10) = uVar26; *(ulonglong *)((longlong)register0x00000020 + -0x18) = uVar37; uVar24 = thunk_FUN_1805a9280(); return uVar24; } if (*(int *)(unaff_RDI + 0x2c8) == 1) { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7ada; uVar46 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c42d0); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7af2; uVar47 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c3ea4); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7b09; uVar48 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c43e8); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7b1b; uVar24 = FUN_18134c250(unaff_RDI,unaff_RBP + 0x118); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7b2a; uVar24 = FUN_1804ab5a0(uVar24,unaff_RBP + 0x128); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7b3c; uVar24 = FUN_1804ab3a0(uVar24,unaff_RBP + 0x138,uVar48); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7b4e; uVar24 = FUN_1805796a0(uVar24,unaff_RBP + 0x148,uVar47); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7b5e; FUN_18056a0d0(uVar24,unaff_RBP + 0x78,uVar46); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7b6c; puVar25 = (uint *)FUN_18049ea60(unaff_RBP + -0x40,0x24); lVar44 = unaff_RDI + 0x278; lVar41 = unaff_RBP + 0x78; } else { if (*(int *)(unaff_RDI + 0x2c8) != 2) goto LAB_1815d7c5b; *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7b99; uVar46 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c42d0); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7bb1; uVar47 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c4300); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7bc4; uVar48 = FUN_18055e970(unaff_RDI + 0x208,0); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7bdb; uVar49 = FUN_18055e970(unaff_RDI + 0x208,DAT_1824c43e8); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7bed; uVar24 = FUN_18134c250(unaff_RDI,unaff_RBP + 0x158); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7bfc; uVar24 = FUN_1804ab5a0(uVar24,unaff_RBP + 0x168); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7c0e; uVar24 = FUN_1804ab3a0(uVar24,unaff_RBP + 0x178,uVar49); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7c24; uVar24 = FUN_1804ab4f0(uVar24,unaff_RBP + 0x188,uVar48,uVar47); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7c37; FUN_18056a0d0(uVar24,unaff_RBP + 0x88,uVar46); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7c45; puVar25 = (uint *)FUN_18049ea60(unaff_RBP + -0x3c,0x24); lVar44 = unaff_RDI + 0x2a0; lVar41 = unaff_RBP + 0x88; } uVar40 = (ulonglong)*puVar25; *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1815d7c5b; thunk_FUN_180576b40(lVar44,lVar41); LAB_1815d7c5b: iVar33 = *(int *)(unaff_RBP + -0x68); puVar35 = (undefined1 *)register0x00000020; do { puVar36 = puVar35; *(ulonglong *)(puVar36 + -8) = uVar39; *(ulonglong *)(puVar36 + -0x10) = uVar40; *(ulonglong *)(puVar36 + -0x18) = uVar45; piVar43 = (int *)-(~(ulonglong)piVar43 + 1); lVar41 = -(longlong)iVar33; uVar45 = *(ulonglong *)(puVar36 + lVar41 + 0x9e8); uVar40 = *(ulonglong *)(puVar36 + lVar41 + 0x9f0); uVar39 = *(ulonglong *)(puVar36 + lVar41 + 0x9f8); uVar27 = (*piVar43 + 1) * *piVar43 & 0x80000001; if ((int)uVar27 < 0) { uVar27 = (uVar27 - 1 | 0xfffffffe) + 1; } puVar35 = puVar36 + lVar41 + 0xa00; } while (uVar27 != 0); *(undefined **)(puVar36 + lVar41 + 0x9f8) = &UNK_1815d7d59; } ############ FUN_ 181446a30 size=880 ############ /* WARNING: Removing unreachable block (ram,0x000181446b06) */ ulonglong FUN_181446a30(longlong param_1) { int iVar1; uint uVar2; longlong lVar3; ulonglong uVar4; undefined1 auStack_6e8 [96]; int local_688; int local_65c; uint local_654; uint local_650; undefined8 local_608; undefined4 uStack_600; undefined4 uStack_5fc; longlong local_5e8; undefined8 local_568; undefined4 local_558; undefined4 uStack_554; undefined4 uStack_550; undefined4 uStack_54c; ulonglong local_60; local_568 = 0xfffffffffffffffe; local_60 = DAT_182615970 ^ (ulonglong)auStack_6e8; uVar2 = (uint)&stack0x00000000 & 0x20ff; uVar2 = ((uVar2 + 1) * uVar2 + 7) % 0x51; uVar2 = (int)(-uVar2 | uVar2) >> 0x1f; local_650 = (int)(-uVar2 | uVar2) >> 0x1f & 0x8211U ^ 0x8861; uVar2 = (uint)&stack0x00000000 & 0x33ff; uVar2 = ((uVar2 + 1) * uVar2 + 7) % 0x51; local_654 = ((int)(-uVar2 | uVar2) >> 0x1f) * -0x13fc ^ 0x184c; local_5e8 = param_1; lVar3 = (**(code **)(*(longlong *)(param_1 + 0x280) + 8))(); local_688 = (int)(*(float *)(lVar3 + 0x88) * DAT_1824c43d8); iVar1 = *(int *)(param_1 + 0x744); uStack_5fc = *(undefined4 *)(param_1 + 0x2c); uStack_600 = *(undefined4 *)(param_1 + 0x28); local_608 = 0; local_558 = 0; uStack_554 = 0; local_65c = iVar1; uStack_550 = uStack_600; uStack_54c = uStack_5fc; uVar4 = FUN_18134c170(param_1 + 0x2c8,&local_558); if (-1 < iVar1) { uVar4 = -((uVar4 ^ 0xffffffffffffffff) + 1); } return uVar4; } ############ FUN_ 1815624c0 size=1388 ############ /* WARNING: Instruction at (ram,0x000181562a21) overlaps instruction at (ram,0x000181562a1c) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000181562a1c) */ /* WARNING: Removing unreachable block (ram,0x000181562504) */ /* WARNING: Removing unreachable block (ram,0x000181562512) */ /* WARNING: Removing unreachable block (ram,0x0001815625a4) */ /* WARNING: Removing unreachable block (ram,0x000181562a3b) */ void FUN_1815624c0(longlong param_1) { undefined8 uVar1; undefined4 *puVar2; uint uVar3; uint *puVar4; ulonglong uVar5; longlong lVar6; longlong *plVar7; ulonglong uVar8; ulonglong uVar9; int *piVar10; uint uVar11; ulonglong uVar12; int unaff_retaddr; undefined1 auStack_188 [32]; undefined1 uStack_168; undefined4 *local_158; undefined *local_150; uint local_148 [3]; uint local_13c; undefined4 local_138; uint local_128; undefined8 local_120; uint local_118; undefined1 auStack_100 [4]; undefined1 auStack_fc [24]; undefined4 local_e4; undefined4 local_e0; longlong local_d8 [8]; undefined4 local_98; undefined4 uStack_94; undefined4 uStack_90; undefined4 uStack_8c; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_188; uVar11 = (uint)&stack0x00000000; uVar3 = uVar11 & 0x1bf; uVar3 = ((uVar3 + 2) * (uVar3 + 1) * uVar3) % 3 | ((uVar11 & 0x10ff) + 1) * (uVar11 & 0x10ff) + 0x36fd & 0x80000001; local_118 = (int)(-uVar3 | uVar3) >> 0x1f & 0x53cfU ^ 0x5f3f; uVar11 = uVar11 & 0x13f; local_128 = 0x3564 << ((char)(((uVar11 + 2) * (uVar11 + 1) * uVar11) / 3) * -3 & 0x1fU) ^ 0x3424; local_120 = 0x100; local_158 = &DAT_1809a6730; local_150 = &DAT_1809a6830; FUN_18155d3f0(param_1); local_98 = *(undefined4 *)(param_1 + 0x370); uStack_94 = *(undefined4 *)(param_1 + 0x374); uStack_90 = *(undefined4 *)(param_1 + 0x378); uStack_8c = *(undefined4 *)(param_1 + 0x37c); FUN_18134c170(param_1 + 0x390,&local_98); do { plVar7 = local_d8; puVar2 = &local_e4; puVar4 = local_148; FUN_1815643a5(); *puVar4 = 0xe57cc58a; *puVar2 = 0x1f; *plVar7 = 0x18156276a; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar11 = ~(((local_148[0] >> 8 | local_148[0] << 0x18) & 0xef10ef10 | (local_148[0] << 8 | local_148[0] >> 0x18) & 0x10ef10ef) ^ 0xd862b80a); uVar3 = (uVar11 >> 7 ^ uVar11) & 0xf; uVar3 = uVar11 ^ (uVar3 << 7 | uVar3); uVar3 = (uVar3 << 2 | uVar11 >> 0x1e) & 0x99999999 | (uVar3 >> 2 | uVar3 << 0x1e) & 0x66666666; uVar3 = (uVar3 << 0x16 | uVar3 >> 10) + 0x5741ff1f; do { local_e0 = 5; local_d8[1] = 0x181562817; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); lVar6 = (longlong)(int)~(uVar3 >> 5 | uVar3 * 0x8000000); local_148[0] = 0; local_138 = 0; uVar12 = 0x10bfa05; plVar7 = (longlong *)(lVar6 + 4 + local_d8[0]); *plVar7 = *plVar7 + (ulonglong)((uint)((ulonglong)dvs_0xbb9eab45_mfort6317_ >> 0x1e) & 0x20a00a7); uVar5 = *(ulonglong *)(lVar6 + 4 + local_d8[0]); uVar8 = uVar5 >> 0x1f | uVar5 << 0x21; uVar5 = (ulonglong)((uint)((uVar5 & 0x7fffffff ^ uVar8) >> 1) & 0x3fffffff); uVar8 = uVar8 ^ (uVar5 << 0x21 | uVar5) * 2 ^ 0xfa6b9617cceda772; uVar9 = uVar8 >> 0x38 | uVar8 << 8; uVar5 = (ulonglong)((uint)(((uVar8 & 0xffffffffffffff) >> 0x12 ^ uVar9) >> 1) & 7); uVar9 = uVar9 ^ (uVar5 << 0x1a | uVar5) * 2; uVar8 = (uVar9 >> 4 | uVar9 << 0x3c) & 0x8787878787878787 | (uVar9 << 4 | (uVar8 & 0xffffffffffffff) >> 0x34) & 0x7878787878787878; uVar9 = uVar8 >> 0x19 | uVar8 << 0x27; uVar5 = (ulonglong)((uint)((uVar9 >> 0x26 ^ uVar9) >> 9) & 0x3f); uVar5 = (uVar9 ^ (uVar5 << 0x26 | uVar5) << 9) << 9 | (uVar8 & 0x1ffffff) >> 0x10; *(ulonglong *)(lVar6 + 4 + local_d8[0]) = uVar5; uVar5 = (ulonglong)((uint)(uVar5 >> 5) & 0x42000896); dvs_0xbb9eab45_mfort6317_ = (uint *)((longlong)dvs_0xbb9eab45_mfort6317_ + uVar5); local_120 = CONCAT44(local_120._4_4_, (int)((ulonglong)*(undefined8 *)(lVar6 + 4 + local_d8[0]) >> 0x20)) & 0xffffffff7fffffff; local_13c = (uint)(*(ulonglong *)(lVar6 + 4 + local_d8[0]) >> 0xe) ^ 0x983383a0; local_150 = (undefined *)(*(ulonglong *)(lVar6 + 4 + local_d8[0]) ^ 0x84a7612c374cfb14); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); plVar7 = (longlong *)(param_1 + 0xb0); uVar1 = (**(code **)(*plVar7 + 8))(plVar7,uVar5); uVar5 = (ulonglong)DAT_182674280; uStack_168 = 1; puVar2 = (undefined4 *)FUN_1813f2270(uVar1,auStack_100,uVar5,param_1); *(undefined4 *)(param_1 + 0xa08) = *puVar2; piVar10 = (int *)register0x00000020; do { if ((POPCOUNT((uVar12 ^ 0x2bce2784) & 0xff) & 1U) == 0) { lVar6 = (longlong)piVar10 + uVar5; piVar10 = (int *)((uVar5 - lVar6 ^ 0xffffffffffffffff) + 1); uVar5 = lVar6 - (longlong)piVar10; } uVar3 = (*piVar10 + 1) * *piVar10 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar1 = (**(code **)(*plVar7 + 8))(plVar7); uStack_168 = 1; puVar2 = (undefined4 *)FUN_1813f2270(uVar1,auStack_fc,DAT_1826741dc,param_1); *(undefined4 *)(param_1 + 0xa0c) = *puVar2; return; } ############ FUN_ 180643940 size=2679 ############ /* WARNING: Instruction at (ram,0x000180644226) overlaps instruction at (ram,0x000180644225) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000180644093) */ /* WARNING: Removing unreachable block (ram,0x0001806439d2) */ /* WARNING: Removing unreachable block (ram,0x0001806439b2) */ /* WARNING: Removing unreachable block (ram,0x000180643f15) */ /* WARNING: Removing unreachable block (ram,0x000180644325) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180643940(undefined8 *param_1) { longlong *plVar1; int *piVar2; longlong *plVar3; code *pcVar4; undefined8 uVar5; undefined1 *puVar6; uint uVar7; ulonglong uVar8; uint uVar9; int iVar10; uint uVar11; longlong lVar12; ulonglong uVar13; undefined1 *puVar14; undefined1 *puVar15; longlong lVar16; longlong lVar17; ulonglong uVar18; longlong lVar19; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined8 uStack_130; undefined1 auStack_128 [32]; undefined *local_108; undefined *local_100; uint local_f8 [2]; undefined *local_f0; undefined4 local_e8; uint local_e4; code *local_e0; undefined8 *local_d8; undefined8 local_c8; undefined1 local_b8 [128]; ulonglong local_38; puVar14 = auStack_128; local_c8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_128; *param_1 = pace::Ilok2ProtocolsOpener::vftable; local_e8 = 0x210; if (((ulonglong)&stack0x00000000 & 0x9c0) == 0) { uVar7 = 1; } else { uVar7 = (uint)&stack0x00000000 & 0x2aff; uVar7 = ((uVar7 + 1) * uVar7 + 7) % 0x51; } uVar9 = (uint)&stack0x00000000 & 0x7ff; iVar10 = uVar9 * uVar9 + 1; uVar9 = (iVar10 >> 4) + (iVar10 >> 1) + iVar10 * 0x24924924 >> 0x1d; uVar9 = (int)(uVar9 - 7) >> 0x1f & uVar9; local_e4 = -((int)(-uVar9 | uVar9) >> 0x1f) - 1U ^ (((int)(-uVar7 | uVar7) >> 0x1f) * -0x1804 | 0x9ca4U) ^ 0x94b4; lVar17 = 0x180000000; lVar16 = 0x1da9a04; local_108 = &UNK_18160fdf4; local_100 = &UNK_18160fef4; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); iVar10 = ((_UNK_18160fdf4 * 0x25 + _UNK_18160fdf8) * 0x25 + _UNK_18160fdfc) * 0x25 + _UNK_18160fe00; local_f0 = local_108; local_d8 = param_1; FUN_1805f1c10(local_b8); local_100 = (undefined *)0x14; local_108._0_4_ = iVar10 * 0x25 + _UNK_18160fe04; FUN_180645c50(param_1); iVar10 = (int)local_108 * 0x25; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_f0 = (undefined *)0x2fd84b582e9347c6; local_108 = (undefined *)CONCAT44(local_108._4_4_,0x2e9347c6); iVar10 = ((((((((((((((_UNK_18160fe08 + iVar10) * 0x25 + _UNK_18160fe0c) * 0x25 + _UNK_18160fe10) * 0x25 + _UNK_18160fe14) * 0x25 + _UNK_18160fe18) * 0x25 + _UNK_18160fe1c) * 0x25 + _UNK_18160fe20) * 0x25 + _UNK_18160fe24) * 0x25 + _UNK_18160fe28) * 0x25 + _UNK_18160fe2c) * 0x25 + _UNK_18160fe30) * 0x25 + _UNK_18160fe34) * 0x25 + _UNK_18160fe38) * 0x25 + _UNK_18160fe3c) * 0x25 + _UNK_18160fe40; do { FUN_180642b67(0x5538); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); iVar10 = ((((((iVar10 * 0x25 + _UNK_18160fe44) * 0x25 + _UNK_18160fe48) * 0x25 + _UNK_18160fe4c) * 0x25 + _UNK_18160fe50) * 0x25 + _UNK_18160fe54) * 0x25 + _UNK_18160fe58) * 0x25 + _UNK_18160fe5c; do { uVar5 = rdtsc(); local_f8[0] = (uint)((ulonglong)uVar5 >> 0x20); lVar12 = CONCAT44((int)((ulonglong)local_f8 >> 0x20),local_f8[0]); local_f8[0] = (uint)uVar5 ^ local_f8[0]; func_0x000180645e1b(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_f8[0] = (local_f8[0] * -0x50283d4e >> 0x18 ^ local_f8[0] * -0x50283d4e) * -0x13ac51cb; uVar18 = 0; if (local_f8[0] < 0x4b27ecf) { do { lVar12 = 0x597a; local_e0 = FUN_1813bba80; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar8 = FUN_1813bba80(); if (1 < uVar8) { lVar19 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar3 = (longlong *)register0x00000020; while (lVar19 != -0x3333333333333334) { *plVar3 = 0; plVar3 = plVar3 + 8; lVar19 = *plVar3; } } } iVar10 = iVar10 * 0x25 + _UNK_18160fe60; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { uVar8 = 0x5538; *(undefined8 *)(puVar14 + -8) = 0x180643f5a; FUN_180644662(); if ((uVar8 & 0x40) != 0) { puVar14 = puVar14 + 8; lVar16 = lVar12; uVar18 = uVar8; } uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { register0x00000020 = (BADSPACEBASE *)(~-(longlong)register0x00000020 + 1); lVar17 = ~-lVar17 + 1; uVar7 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = (((_UNK_18160fe88 + (((((((((iVar10 * 0x25 + _UNK_18160fe64) * 0x25 + _UNK_18160fe68) * 0x25 + _UNK_18160fe6c) * 0x25 + _UNK_18160fe70) * 0x25 + _UNK_18160fe74) * 0x25 + _UNK_18160fe78) * 0x25 + _UNK_18160fe7c) * 0x25 + _UNK_18160fe80) * 0x25 + _UNK_18160fe84) * 0x25) * 0x25 + _UNK_18160fe8c) * 0x25 + _UNK_18160fe90) * 0x25 + _UNK_18160fe94; do { uVar9 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); do { lVar19 = (longlong)param_1 + lVar12; lVar12 = ~((~(lVar12 - lVar19) + 1U) - lVar19) + 1; param_1 = (undefined8 *)(lVar19 - lVar12); uVar18 = ((uVar18 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; uVar9 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); iVar10 = ((((((((_UNK_18160febc * 0x25 + _UNK_18160fec0) * 0x25 + _UNK_18160fec4) * 0x25 + _UNK_18160fec8) * 0x25 + _UNK_18160fecc) * 0x25 + _UNK_18160fed0) * 0x25 + _UNK_18160feb4 * -0x2fe8ed1f + _UNK_18160feac * -0x349c0ac7 + _UNK_18160fe9c * -0x5b104d57 + _UNK_18160fea0 * -0x7f0070cb + _UNK_18160fea4 * -0x5675a22f + _UNK_18160fe98 * -0x295b2d93 + _UNK_18160feb8 * 0x1a617d0d + _UNK_18160feb0 * 0x1355ba85 + _UNK_18160fea8 * 0x6572713d + _UNK_18160fed4 + uVar7 * 0x5d269c1) * 0x25 + _UNK_18160fed8) * 0x25 + _UNK_18160fedc) * 0x25 + _UNK_18160fee0; do { uVar8 = 0; *(undefined8 *)(puVar14 + -8) = 0x18064420b; FUN_180644842(); uVar13 = -lVar12; if ((uVar8 & 0x42) != 0) { uVar13 = (ulonglong)((uint)uVar13 ^ 0x1f5dc043); } lVar12 = ~uVar13 + 1; uVar9 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = (((iVar10 * 0x25 + _UNK_18160fee4) * 0x25 + _UNK_18160fee8) * 0x25 + _UNK_18160feec) * 0x25 + _UNK_18160fef0; do { *(undefined8 *)(puVar14 + -8) = 0x1806442af; FUN_18064541f(0x5538); uVar11 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar18 = CONCAT71((int7)(uVar18 >> 8),(~uVar9 ^ 0x6e2e5d74) == *(uint *)(puVar14 + 0x20)); if ((int)uVar18 != 0 || (uVar18 & 0x3fffff) != 0) { iVar10 = *(int *)(puVar14 + 0x44); puVar6 = puVar14; do { puVar15 = puVar6; *(longlong *)(puVar15 + -8) = lVar12; *(undefined8 **)(puVar15 + -0x10) = param_1; *(longlong *)(puVar15 + -0x18) = lVar16; lVar17 = -(longlong)iVar10; lVar16 = *(longlong *)(puVar15 + lVar17 + 0x7f8); param_1 = *(undefined8 **)(puVar15 + lVar17 + 0x800); lVar12 = *(longlong *)(puVar15 + lVar17 + 0x808); uVar7 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } puVar6 = puVar15 + lVar17 + 0x810; } while (uVar7 != 0); *(undefined8 *)(puVar15 + lVar17 + 0x808) = 0x1806444f2; FUN_1805f2290(puVar15 + lVar17 + 0x880); plVar3 = (longlong *)param_1[2]; if (plVar3 != (longlong *)0x0) { LOCK(); plVar1 = plVar3 + 1; lVar16 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar16 == 1) { pcVar4 = *(code **)(*plVar3 + 8); *(undefined8 *)(puVar15 + lVar17 + 0x808) = 0x180644516; (*pcVar4)(plVar3); LOCK(); piVar2 = (int *)((longlong)plVar3 + 0xc); iVar10 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar10 == 1) { pcVar4 = *(code **)(*plVar3 + 0x10); *(undefined8 *)(puVar15 + lVar17 + 0x808) = 0x18064452a; (*pcVar4)(plVar3); } } } *(undefined **)(puVar15 + lVar17 + 0x808) = &UNK_18064453b; } *(longlong *)(puVar14 + -8) = lVar16; *(ulonglong *)(puVar14 + -0x10) = (ulonglong)uVar7; *(undefined **)(puVar14 + -0x18) = &UNK_18160fdf4; (*(thunk_FUN_1805a9280 + lVar17 + -(~((longlong)thunk_FUN_1805a9280 - (longlong)(thunk_FUN_1805a9280 + lVar17)) + 1U)))(); return; } ############ FUN_ 180683d70 size=1070 ############ /* WARNING: Instruction at (ram,0x0001806840c9) overlaps instruction at (ram,0x0001806840c3) */ /* WARNING: Removing unreachable block (ram,0x000180683e19) */ ulonglong FUN_180683d70(undefined8 param_1,undefined1 param_2,undefined8 param_3) { longlong *plVar1; longlong lVar2; undefined8 uVar3; ulonglong uVar4; ulonglong uVar5; uint uVar6; uint *puVar7; code **ppcVar8; longlong *plVar9; longlong in_R10; longlong lVar10; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_210 [24]; undefined8 local_1f8; undefined8 local_1f0; longlong lStack_1e8; undefined8 uStack_1e0; undefined1 auStack_1d8 [32]; undefined1 local_1b8; undefined4 local_1b4; uint local_1b0 [2]; undefined *local_1a8; undefined8 local_1a0; undefined *local_198; undefined4 local_18c; undefined8 local_188; undefined4 local_180; code *local_178; undefined8 local_170; undefined8 local_118; undefined8 local_60; ulonglong local_40; local_60 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_1d8; local_18c = 0x5e0; lVar10 = 0x5e0; local_180 = 0x950; local_1b4 = 0x811c9e53; local_198 = &DAT_181c96308; local_1a8 = &DAT_181c9a300; local_1a0 = 0x1405f68cabd15c82; local_188 = 0xabd15c82; local_1b8 = param_2; local_170 = param_3; local_118 = param_1; do { puVar7 = local_1b0; uStack_1e0 = 0x180683f2f; FUN_180682951(puVar7,local_1b0); uVar3 = rdtsc(); *puVar7 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); uStack_1e0 = 0x180683f53; FUN_180685d5b(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_1b0[0] = (local_1b0[0] * -0x73323b32 >> 0x18 ^ local_1b0[0] * -0x73323b32) * 0x1a858ccd; if (local_1b0[0] < 0x5555557f) { local_178 = (code *)0x0; do { ppcVar8 = &local_178; uStack_1e0 = 0x180683faf; FUN_180682ebd(ppcVar8,&local_178); *ppcVar8 = FUN_1813bba80; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uStack_1e0 = 0x180683ff2; uVar4 = (*local_178)(0,0x38be); if (1 < uVar4) { lVar2 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar1 = (longlong *)register0x00000020; while (lVar2 != -0x3333333333333334) { *plVar1 = 0; plVar1 = plVar1 + 8; lVar2 = *plVar1; } } } /* WARNING: Call to offcut address within same function */ uStack_1e0 = 0x180684025; func_0x000180684172(); plVar9 = &local_1f0; /* WARNING: Call to offcut address within same function */ local_1f8 = 0x180684052; local_1f0 = 0x180000000; lStack_1e8 = lVar10; uVar4 = func_0x00018068407c(); uVar5 = uVar4 & 0xffffffffffffff44; if ((uVar4 & 0x44) == 0) { lVar10 = in_R10 + 0x19d; plVar9 = (longlong *)auStack_210; } else { uVar5 = CONCAT71((int7)(uVar5 >> 8),(char)uVar4) & 0xffffffffffffff44 ^ 0x49; } plVar9[4] = lVar10; plVar9[3] = in_R10 + 0xe457; plVar9[2] = in_R10 + 0x1f23a; plVar9[1] = in_R10 + 0xe457; *plVar9 = in_R10 + -0x5027d; plVar9[-1] = in_R10 + -0x26ce6; plVar9[-2] = in_R10 + -0x26ce6; plVar9[-3] = in_R10 + -0x1c3c; plVar9[-4] = in_R10 + -0xd8d6; return uVar5; } ############ FUN_ 180983e10 size=970 ############ /* WARNING: Removing unreachable block (ram,0x000180983ed4) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180983e10(void) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; int iVar5; uint uVar6; longlong lVar7; longlong unaff_RSI; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_b8 [48]; uint local_88 [8]; uint local_68; uint local_64; code *local_60; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_b8; uVar4 = (uint)&stack0x00000000 & 0x33f; iVar5 = (uVar4 + 2) * (uVar4 + 1) * uVar4; local_68 = 0x599e << ((byte)(((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e) & 0x1f) ^ 0x579e; uVar4 = (uint)&stack0x00000000 & 0x27f; local_58 = _DAT_181bd2e28; uStack_54 = _UNK_181bd2e2c; uStack_50 = _UNK_181bd2e30; uStack_4c = _UNK_181bd2e34; iVar5 = (uVar4 + 2) * (uVar4 + 1) * uVar4; local_64 = 0x9efeU - (0 << ((byte)(((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e) & 0x1f)) ^ 0x96ee; do { uVar2 = rdtsc(); uVar6 = (uint)((ulonglong)uVar2 >> 0x20); lVar7 = CONCAT44((int)((ulonglong)local_88 >> 0x20),uVar6); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ uVar6) * -0x46013d4e; local_88[0] = (uVar4 >> 0x18 ^ uVar4) * -0x51ca3595; if (local_88[0] < 0x1861861f) { do { lVar7 = 0x27; local_60 = FUN_1813bba80; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = FUN_1813bba80(_DAT_181bd2e28,0x27); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } FUN_180983624(); /* WARNING: Call to offcut address within same function */ func_0x00018098409e(); /* WARNING: Could not recover jumptable at 0x000180984213. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(unaff_RSI + -0x636ee))(0x17b,~-lVar7 + 1); return; } ############ FUN_ 180a51560 size=1003 ############ /* WARNING: Instruction at (ram,0x000180a51827) overlaps instruction at (ram,0x000180a51824) */ /* WARNING: Removing unreachable block (ram,0x000180a51654) */ /* WARNING: Removing unreachable block (ram,0x000180a51824) */ void FUN_180a51560(undefined8 param_1,undefined8 param_2) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; int iVar5; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_f8 [56]; undefined *local_c0; undefined8 local_b8; uint local_b0; undefined8 local_a0; undefined **local_98; undefined4 local_90; uint local_8c; code *local_88; undefined8 local_80; undefined8 local_68; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_f8; uVar4 = (uint)&stack0x00000000 & 0x22ff; iVar5 = uVar4 * uVar4 + 1; uVar4 = iVar5 * 0x24924924 + (iVar5 >> 4) + (iVar5 >> 1) >> 0x1d; uVar4 = (int)(uVar4 - 7) >> 0x1f & uVar4; local_8c = 0xb07a << ((char)(((byte)(-uVar4 >> 0x18) | (byte)(uVar4 >> 0x18)) ^ 0xff) >> 7 & 0x1fU ) ^ 0xbb6a; local_90 = 0x400; local_b8 = 0x6f01000; local_a0 = 0x1bab6a8; local_98 = &PTR__guard_check_icall_181bab6a8; local_c0 = &DAT_181bab6b8; do { uVar2 = rdtsc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0xae51cb; local_b0 = (uVar4 >> 0x18 ^ uVar4) * -0x3d4d51cb; local_80 = param_2; local_68 = param_1; if (local_b0 < 0x3333333f) { do { local_88 = FUN_1813bba80; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = FUN_1813bba80(0,0x3962); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } do { FUN_180a52608(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); /* WARNING: Call to offcut address within same function */ func_0x000180a51872(); (*(code *)0x24399ce8)(); return; } ############ FUN_ 180b10830 size=587 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180b108af) */ /* WARNING: Removing unreachable block (ram,0x000180b10926) */ void FUN_180b10830(undefined8 param_1,longlong *param_2) { longlong *plVar1; longlong lVar2; undefined8 uVar3; ulonglong uVar4; uint uVar5; int iVar6; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_108 [48]; uint local_d8; undefined4 local_cc; uint local_ac; uint local_a8; code *local_a0; longlong *local_90; undefined8 local_88; undefined8 local_80; undefined1 local_78 [16]; undefined8 local_68; undefined8 local_60; ulonglong local_40; local_80 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_108; uVar5 = (uint)&stack0x00000000 & 0x3eff; iVar6 = uVar5 * uVar5 + 1; uVar5 = iVar6 * 0x24924924 + (iVar6 >> 4) + (iVar6 >> 1) >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; local_a8 = ((int)(-uVar5 | uVar5) >> 0x1f) * -0x8655 ^ 0x86c5; uVar5 = (uint)&stack0x00000000 & 0x23f; iVar6 = (uVar5 + 2) * (uVar5 + 1) * uVar5; local_ac = 0xd346 << (-(char)(((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e) & 0x1fU) ^ 0xd3b6; local_68 = 0; local_60 = 0xf; local_78[0] = 0; do { uVar3 = rdtsc(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ((uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20)) * -0x166a166b; local_d8 = (uVar5 >> 0x18 ^ uVar5) * -0x51ca5029; local_90 = param_2; local_88 = param_1; if (local_d8 < 0x1999999f) { do { local_a0 = FUN_1813bba80; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = FUN_1813bba80(0,0x4de); if (1 < uVar4) { lVar2 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar1 = (longlong *)register0x00000020; while (lVar2 != -0x3333333333333334) { *plVar1 = 0; plVar1 = plVar1 + 8; lVar2 = *plVar1; } } } local_cc = (**(code **)(*param_2 + 0xc0))(param_2,local_78); FUN_180b10aa8(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180aa0910 size=1149 ############ /* WARNING: Removing unreachable block (ram,0x000180aa0b82) */ /* WARNING: Removing unreachable block (ram,0x000180aa0a20) */ /* WARNING: Removing unreachable block (ram,0x000180aa0b9d) */ void FUN_180aa0910(longlong param_1) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; uint *puVar5; longlong *plVar6; uint uVar7; undefined8 in_MM3; int unaff_retaddr; undefined4 unaff_retaddr_00; uint local_res10 [4]; undefined8 local_res20; FUN_180a8cfe0(param_1,param_1 + 0x68,FUN_180a91f90,0); local_res20 = 0xe029a5beae1ee6dc; do { puVar5 = local_res10; FUN_180a9f8ee(puVar5,local_res10); uVar7 = (uint)in_MM3; uVar2 = rdtsc(); *puVar5 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_res10[0] = (local_res10[0] * -0x7a1413ad >> 0x18 ^ local_res10[0] * -0x7a1413ad) * -0xae3b32 ; if (local_res10[0] < 0xccccccf) { do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = FUN_1813bba80(0,0xd797); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } FUN_180aa13ac(); /* WARNING: Call to offcut address within same function */ func_0x000180aa0ce8(); plVar6 = (longlong *)(ulonglong)((uVar7 & 0xffff) - 0x18); lVar1 = plVar6[3]; plVar6[3] = lVar1 + 0xd5; plVar6[2] = lVar1 + 0x28a; plVar6[1] = lVar1 + 0x58b1; *plVar6 = lVar1 + 0x3ad7; plVar6[-1] = lVar1 + 0x4cb4; plVar6[-2] = lVar1 + 0x28a; plVar6[-3] = lVar1 + 0x135c; return; } ############ FUN_ 180925360 size=980 ############ /* WARNING: Removing unreachable block (ram,0x000180925464) */ /* WARNING: Removing unreachable block (ram,0x0001809253fb) */ /* WARNING: Removing unreachable block (ram,0x0001809254be) */ /* WARNING: Removing unreachable block (ram,0x000180925443) */ void FUN_180925360(undefined8 param_1,undefined8 param_2) { code *UNRECOVERED_JUMPTABLE; longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; int unaff_retaddr; undefined4 unaff_retaddr_00; longlong local_408; longlong lStack_400; longlong lStack_3f8; longlong local_3f0; longlong local_3e8; uint local_3c0; uint local_3a0; code *local_398; undefined8 local_390; undefined8 local_340; ulonglong local_30; local_340 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)&local_408; uVar4 = (uint)&stack0x00000000 & 0x1bf; local_3a0 = ((uVar4 + 2) * (uVar4 + 1) * uVar4) % 3 ^ 0x920; local_390 = param_2; do { uVar2 = rdtsc(); local_3c0 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); FUN_1809236e6(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_3c0 = (local_3c0 * -0x359412ab >> 0x18 ^ local_3c0 * -0x359412ab) * -0x3d4d51cb; if (local_3c0 < 0x3333333f) { do { local_398 = FUN_1813bba80; FUN_180927547(&local_398,0xaa58); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (*local_398)(); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } /* WARNING: Call to offcut address within same function */ func_0x000180925601(); local_3f0 = local_3e8 + 0x115e2; lStack_3f8 = local_3e8 + -0x8958; lStack_400 = local_3e8 + 0x8123a; local_408 = local_3e8 + -0x3b553; UNRECOVERED_JUMPTABLE = (code *)(local_3e8 + -0x3f367); local_3e8 = local_3e8 + 0x170; /* WARNING: Could not recover jumptable at 0x000180925751. Too many branches */ /* WARNING: Treating indirect jump as call */ (*UNRECOVERED_JUMPTABLE)(); return; } ############ FUN_ 1805ebaa0 size=1809 ############ /* WARNING: Instruction at (ram,0x0001805ec1e5) overlaps instruction at (ram,0x0001805ec1e2) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001805ec1fb) */ /* WARNING: Removing unreachable block (ram,0x0001805ec989) */ /* WARNING: Removing unreachable block (ram,0x0001805ec99b) */ /* WARNING: Removing unreachable block (ram,0x0001805ec9b3) */ /* WARNING: Removing unreachable block (ram,0x0001805ec1e2) */ undefined8 FUN_1805ebaa0(undefined8 *param_1) { int *piVar1; code *pcVar2; longlong *plVar3; undefined1 *puVar4; ulonglong uVar5; undefined8 uVar6; longlong lVar7; undefined8 uVar8; HANDLE pvVar9; undefined8 *puVar10; uint uVar11; uint uVar12; uint uVar13; int iVar14; longlong lVar15; ulonglong uVar16; uint *puVar17; uint *puVar18; undefined1 *puVar19; uint uVar20; uint uVar21; ulonglong uVar22; uint uVar23; ulonglong uVar24; longlong *plVar25; undefined1 local_1b8 [64]; undefined8 local_178; undefined8 uStack_170; undefined8 local_168; undefined4 *local_160; undefined4 local_158; uint local_154; code *local_140 [3]; uint *puStack_128; undefined1 uStack_120; char *apcStack_110 [3]; undefined8 uStack_f8; longlong lStack_f0; undefined8 local_e8; undefined8 *local_e0; undefined1 auStack_88 [80]; ulonglong local_38; local_e8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)local_1b8; local_158 = 0; uVar21 = (uint)&stack0x00000000; if (((((uVar21 & 0x29ff) + 1) * (uVar21 & 0x29ff) + 7) % 0x51 & 0x3c0) == 0) { uVar20 = ((uVar21 & 0x2dff) * (uVar21 & 0x2dff) + 1) % 7; } else { uVar20 = 0x7b6fe37; } uVar11 = uVar21 & 0x1bf; uVar21 = ((uVar11 + 2) * (uVar11 + 1) * uVar11) % 3 ^ ((uVar21 & 0x1bff) * (uVar21 & 0x1bff) * 0x10 + 4) % 0x13; uVar11 = ((int)(-uVar21 | uVar21) >> 0x1f) * -0xf3ee ^ 0xf8fe; uVar24 = (ulonglong)uVar11; local_178 = 0; uStack_170 = 0; uVar22 = 0x301830; local_160 = &DAT_1813598b0; local_168 = 0x1813599b0; uVar21 = DAT_1813598d0 ^ (DAT_1813598cc ^ (DAT_1813598c8 ^ (DAT_1813598c4 ^ (DAT_1813598c0 ^ (DAT_1813598bc ^ (DAT_1813598b8 ^ (DAT_1813598b4 ^ (DAT_1813598b0 ^ 0x811c9e07) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7; plVar25 = (longlong *)register0x00000020; local_e0 = param_1; do { uVar5 = FUN_1805ec1ea(0xf918); if (uVar5 < uVar22) { plVar25 = (longlong *)-(~(ulonglong)plVar25 + 1); } uVar12 = ((int)*plVar25 + 1) * (int)*plVar25 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar21 = (DAT_1813598e8 ^ (DAT_1813598e4 ^ (DAT_1813598e0 ^ (DAT_1813598dc ^ (DAT_1813598d8 ^ (DAT_1813598d4 ^ uVar21 * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7; do { FUN_1805ec831(0xf918); uVar12 = ((int)*plVar25 + 1) * (int)*plVar25 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); lVar15 = 3; puVar17 = &DAT_1813598ec; do { puVar18 = puVar17; uVar21 = (puVar18[4] ^ (puVar18[3] ^ (puVar18[2] ^ (puVar18[1] ^ (*puVar18 ^ uVar21) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7; lVar15 = lVar15 + -1; puVar17 = puVar18 + 5; } while (lVar15 != 0); do { uVar12 = ((int)*plVar25 + 1) * (int)*plVar25 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); puVar17 = puVar18 + 7; uVar23 = (*puVar17 ^ (puVar18[6] ^ (puVar18[5] ^ uVar21) * 0x10001a7) * 0x10001a7) * 0x10001a7; uVar22 = (ulonglong)uVar23; uVar21 = (uint)puVar17 & 0x3f; uVar12 = (uint)puVar17 & 0xf | 0x7b; uVar12 = uVar12 * uVar12; uVar5 = (ulonglong)uVar12; uVar16 = 0x9458L >> (uVar12 * 0x4735 == (uVar21 | 9) * (uVar21 | 9) * 0x486b | (byte)(((uVar21 + 2) * (uVar21 + 1) * uVar21) % 3)) ^ 0x9558; uVar21 = *(uint *)((longlong)puVar17 + (uVar16 - 0xfc)); puVar17 = (uint *)((longlong)puVar17 + (uVar16 - 0xf8)); uVar12 = *puVar17; uVar13 = (uint)puVar17 & 0x3ff; iVar14 = (uVar13 + 2) * (uVar13 + 1) * uVar13; puVar17 = (uint *)((longlong)puVar17 + (0x4cb7L >> (-(char)(((iVar14 >> 1) - (iVar14 >> 3)) + iVar14 * 0x55555555 >> 0x1e) & 0x3fU ) ^ 0x4cb3U)); do { uVar6 = rdtsc(); local_154 = (uint)uVar6 ^ (uint)((ulonglong)uVar6 >> 0x20); uVar13 = ((int)*plVar25 + 1) * (int)*plVar25 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); local_154 = local_154 * -0x3d4da42f; local_154 = (local_154 >> 0x18 ^ local_154) * 0x1a851a85; uVar6 = 0; if (local_154 < 0x3ce8353) { do { local_140[0] = FUN_1813bba80; FUN_1805eb268(local_140,0x379b); uVar13 = ((int)*plVar25 + 1) * (int)*plVar25 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar16 = (*local_140[0])(); if (1 < uVar16) { lVar15 = *plVar25; plVar3 = plVar25; while (lVar15 != -0x3333333333333334) { *plVar3 = 0; plVar3 = plVar3 + 8; lVar15 = *plVar3; } } } uVar16 = (ulonglong) ((puVar17[0xb] ^ (puVar17[10] ^ (puVar17[9] ^ (puVar17[8] ^ (puVar17[7] ^ (puVar17[6] ^ (puVar17[5] ^ (puVar17[4] ^ (puVar17[3] ^ (puVar17[2] ^ (puVar17[1] ^ (*puVar17 ^ (uVar12 ^ (uVar21 ^ uVar23) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7); local_168 = 0x36660670d99f39bb; local_160 = (undefined4 *)CONCAT44(local_160._4_4_,0xd99f39bb); lVar15 = 7; puVar17 = puVar17 + 0xc; do { puVar18 = puVar17; uVar21 = (puVar18[1] ^ (*puVar18 ^ (uint)uVar16) * 0x10001a7) * 0x10001a7; uVar16 = (ulonglong)uVar21; lVar15 = lVar15 + -1; puVar17 = puVar18 + 2; } while (lVar15 != 0); do { uVar12 = ((int)*plVar25 + 1) * (int)*plVar25 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar21 = puVar18[4] ^ (puVar18[3] ^ (puVar18[2] ^ uVar21) * 0x10001a7) * 0x10001a7; uVar12 = (uVar21 * 0x1a700 | uVar21 * 0x10001a7 >> 0x18) & 0xe619e619 | (uVar21 * 0x10001a7 >> 8 | uVar21 * -0x59000000) & 0x19e619e6; uVar21 = (uVar12 >> 0xe ^ uVar12) >> 4 & 0x1fff; if (((uVar21 << 0xe | uVar21) << 4 ^ uVar12) != 0xd99f39bb) { uVar6 = thunk_FUN_1805a9280((longlong) (int)(((int)(-uVar20 | uVar20) >> 0x1f) * -0xf46c ^ 0xf14c),uVar12); return uVar6; } puVar4 = local_1b8; do { puVar19 = puVar4; *(ulonglong *)(puVar19 + -8) = uVar5; *(ulonglong *)(puVar19 + -0x10) = uVar22; *(ulonglong *)(puVar19 + -0x18) = uVar16; lVar15 = uVar24 + (longlong)plVar25; uVar24 = ((longlong)plVar25 - lVar15 ^ 0xffffffffffffffffU) + 1; plVar25 = (longlong *)(lVar15 - uVar24); lVar15 = -(longlong)(int)uVar11; uVar16 = *(ulonglong *)(puVar19 + lVar15 + 0xaf8); uVar22 = *(ulonglong *)(puVar19 + lVar15 + 0xb00); uVar5 = *(ulonglong *)(puVar19 + lVar15 + 0xb08); uVar21 = ((int)*plVar25 + 1) * (int)*plVar25 & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } puVar4 = puVar19 + lVar15 + 0xb10; } while (uVar21 != 0); if (DAT_18265deb8 == 0) { *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec72d; puVar17 = (uint *)FUN_1805ee6d0(); uStack_120 = 0; puStack_128 = puVar17; if (puVar17 == (uint *)0x0) { *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805eca07; uVar6 = FUN_1805a4ab0(auStack_88,1,"boost unique_lock has no mutex"); /* WARNING: Subroutine does not return */ *(undefined **)(puVar19 + lVar15 + 0xb08) = &UNK_1805eca10; FUN_1805a3bb0(uVar6); } *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec749; FUN_1805a9420(puVar17); uStack_120 = 1; if (DAT_18265deb8 == 0) { *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec764; lVar7 = FUN_1811316e0(0x1b0); *(longlong *)(puVar19 + lVar15 + 0xb60) = lVar7; if (lVar7 != 0) { *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec776; uVar6 = FUN_180675cd0(lVar7); } *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec788; FUN_1805e2150(puVar19 + lVar15 + 0xb50,uVar6); *(undefined8 *)(puVar19 + lVar15 + 0xb40) = 0; *(undefined8 *)(puVar19 + lVar15 + 0xb38) = 0; *(undefined4 *)(puVar19 + lVar15 + 0xb30) = 0; uVar6 = *(undefined8 *)(puVar19 + lVar15 + 0xb50); *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec7ad; FUN_1806afd50(uVar6,0,2); *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec7b2; uVar8 = FUN_1805ecbf0(); *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec7c7; FUN_18069ae50(uVar6,&DAT_18265deb8,uVar8,1); if (DAT_18265deb8 == 0) { *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec7da; apcStack_110[0] = (char *)FUN_1811316e0(0x18); if (apcStack_110[0] != (char *)0x0) { *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec7f2; FUN_1805a48c0(apcStack_110[0],&DAT_181baf991); } *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec7ff; lVar7 = FUN_1805c0260(); *(undefined4 *)(puVar19 + lVar15 + 0xb80) = 0x8e6; apcStack_110[0] = "d:\\jenkins\\full\\eden\\client\\pace\\customer\\libraries\\src\\libpacefusion\\licensecallbackhandler.cpp" ; uVar6 = *(undefined8 *)(lVar7 + 8); *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec822; uVar6 = FUN_1805a21d0(uVar6,apcStack_110); /* WARNING: Subroutine does not return */ *(undefined **)(puVar19 + lVar15 + 0xb08) = &UNK_1805ec82f; FUN_1805b20d0(uVar6,puVar19 + lVar15 + 0xb80); } *param_1 = uVar6; uVar6 = *(undefined8 *)(puVar19 + lVar15 + 0xb58); *(undefined8 *)(puVar19 + lVar15 + 0xb58) = 0; param_1[1] = uVar6; *(undefined8 *)(puVar19 + lVar15 + 0xb50) = 0; *(undefined4 *)(puVar19 + lVar15 + 0xb70) = 1; LOCK(); uVar21 = *puVar17; *puVar17 = *puVar17 + 0x80000000; UNLOCK(); if (((uVar21 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar21)) { LOCK(); uVar21 = *puStack_128; *puStack_128 = *puStack_128 | 0x40000000; UNLOCK(); if ((uVar21 >> 0x1e & 1) == 0) { *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec889; pvVar9 = (HANDLE)FUN_1805a9100(puStack_128); *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec892; SetEvent(pvVar9); } } if (*(longlong *)(puVar19 + lVar15 + 0xb58) != 0) { LOCK(); piVar1 = (int *)(*(longlong *)(puVar19 + lVar15 + 0xb58) + 8); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { plVar25 = *(longlong **)(puVar19 + lVar15 + 0xb58); pcVar2 = *(code **)(*plVar25 + 8); *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec8bc; (*pcVar2)(plVar25); LOCK(); piVar1 = (int *)((longlong)plVar25 + 0xc); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 1) { pcVar2 = *(code **)(**(longlong **)(puVar19 + lVar15 + 0xb58) + 0x10); *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec8d1; (*pcVar2)(); } } } goto LAB_1805ec9bf; } LOCK(); uVar21 = *puVar17; *puVar17 = *puVar17 + 0x80000000; UNLOCK(); if (((uVar21 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar21)) { LOCK(); uVar21 = *puStack_128; *puStack_128 = *puStack_128 | 0x40000000; UNLOCK(); if ((uVar21 >> 0x1e & 1) == 0) { *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec901; pvVar9 = (HANDLE)FUN_1805a9100(puStack_128); *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec90a; SetEvent(pvVar9); } } } *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec915; lVar7 = FUN_1811316e0(0x1b0); *(longlong *)(puVar19 + lVar15 + 0xb60) = lVar7; if (lVar7 != 0) { *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec927; puVar10 = (undefined8 *)FUN_1805ecbf0(); uStack_f8 = *puVar10; lStack_f0 = puVar10[1]; if (lStack_f0 != 0) { LOCK(); *(int *)(lStack_f0 + 8) = *(int *)(lStack_f0 + 8) + 1; UNLOCK(); } *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec954; uVar6 = FUN_180674d00(lVar7,DAT_18265deb8,&uStack_f8,1); } *(undefined8 *)(puVar19 + lVar15 + 0xb08) = 0x1805ec966; FUN_1805e2150(puVar19 + lVar15 + 0xb50,uVar6); *param_1 = *(undefined8 *)(puVar19 + lVar15 + 0xb50); uVar6 = *(undefined8 *)(puVar19 + lVar15 + 0xb58); *(undefined8 *)(puVar19 + lVar15 + 0xb58) = 0; param_1[1] = uVar6; *(undefined4 *)(puVar19 + lVar15 + 0xb70) = 1; LAB_1805ec9bf: *(undefined **)(puVar19 + lVar15 + 0xb08) = &UNK_1805ec9d1; } ############ FUN_ 18069bc20 size=1232 ############ /* WARNING: Removing unreachable block (ram,0x00018069bd08) */ /* WARNING: Removing unreachable block (ram,0x00018069bdc7) */ void FUN_18069bc20(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 *param_4, undefined8 *param_5) { undefined8 *puVar1; longlong lVar2; undefined8 uVar3; uint uVar4; ulonglong uVar5; code **ppcVar6; undefined8 *puVar7; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_3a8 [40]; undefined4 *local_380; undefined *local_378; uint local_370; undefined8 local_368; undefined8 local_360; uint local_358; code *local_350; undefined8 *local_348; undefined8 local_340; undefined8 local_338; undefined8 *local_330; undefined8 local_208; ulonglong local_58; local_208 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_3a8; uVar4 = (uint)&stack0x00000000 & 0x15ff; uVar4 = (uVar4 + 1) * uVar4 + 0x108b & 0x80000001; uVar4 = (int)(-uVar4 | uVar4) >> 0x1f; local_358 = (int)(-uVar4 | uVar4) >> 0x1f & 0x6416U ^ 0x6f46; local_368 = 0x100; local_380 = &DAT_1806debd0; local_378 = &DAT_1806decd0; puVar1 = (undefined8 *)param_4[1]; local_330 = param_4; local_340 = param_3; local_360 = param_2; local_338 = param_1; local_348 = param_5; for (puVar7 = (undefined8 *)*param_4; puVar7 != puVar1; puVar7 = puVar7 + 0x5e) { (**(code **)*puVar7)(puVar7,0); } param_4[1] = *param_4; uVar5 = (ulonglong)local_368 >> 0x20; local_368 = CONCAT44((int)uVar5,0xa51f6b1f); if (param_5 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_5[1]; for (puVar7 = (undefined8 *)*param_5; puVar7 != puVar1; puVar7 = puVar7 + 0x118) { (**(code **)*puVar7)(puVar7,0); param_5 = local_348; } param_5[1] = *param_5; } do { uVar3 = rdtsc(); local_370 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); FUN_18069a182(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_370 = (local_370 * -0x13ac51cb >> 0x18 ^ local_370 * -0x13ac51cb) * -0x12aa12ab; if (local_370 < 0x330a5df) { local_350 = (code *)0x0; do { ppcVar6 = &local_350; FUN_18069c112(ppcVar6,&local_350); *ppcVar6 = FUN_1813bba80; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar5 = (*local_350)(0,0x198f); if (1 < uVar5) { lVar2 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar2 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar2 = *(longlong *)register0x00000020; } } } FUN_18069c113(0xf53c); return; } ############ FUN_ 18079b3d0 size=1265 ############ /* WARNING: Removing unreachable block (ram,0x00018079b436) */ /* WARNING: Removing unreachable block (ram,0x00018079b5d1) */ /* WARNING: Removing unreachable block (ram,0x00018079b4b8) */ ulonglong FUN_18079b3d0(undefined8 param_1,longlong *param_2) { longlong lVar1; undefined8 uVar2; longlong *plVar3; uint uVar4; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_e8 [40]; undefined8 local_c0; undefined4 local_b4; uint local_b0; undefined8 local_a8; undefined8 local_a0; uint local_98; code *local_90; undefined8 local_88; undefined1 local_80 [16]; undefined8 local_70; undefined8 local_68; ulonglong local_48; local_88 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; local_b4 = 0x260; if (((ulonglong)&stack0x00000000 & 0x980) == 0) { uVar4 = (uint)&stack0x00000000 & 0x1dff; uVar4 = ((uVar4 + 1) * uVar4 + 7) % 0x51; local_98 = (int)(-uVar4 | uVar4) >> 0x1f & 0x6cb5; } else { local_98 = 0x6cb5; } local_98 = local_98 ^ 0x6b25; local_70 = 0; local_68 = 0xf; local_80[0] = 0; local_a0 = 0; local_c0 = 0x180130da0; local_a8 = 0x180132d9c; (**(code **)(*param_2 + 0xc0))(param_2,local_80); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_a0 = local_a8; do { uVar2 = rdtsc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * 0x5bd1c4ce; local_b0 = (uVar4 >> 0x18 ^ uVar4) * -0x12aa3d4e; plVar3 = (longlong *)(ulonglong)local_b0; if (local_b0 < 0x1e1e1e1f) { do { local_90 = FUN_1813bba80; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); plVar3 = (longlong *)FUN_1813bba80(0,0x6af7); if ((longlong *)0x1 < plVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar3 = (longlong *)register0x00000020; while (lVar1 != -0x3333333333333334) { *plVar3 = 0; plVar3 = plVar3 + 8; lVar1 = *plVar3; } } } return (ulonglong)plVar3 & 0xfffffffffffffff8; } ############ FUN_ 18096a760 size=735 ############ /* WARNING: Removing unreachable block (ram,0x00018096a7a4) */ void FUN_18096a760(void) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; code **ppcVar5; int unaff_retaddr; undefined4 unaff_retaddr_00; code *local_50 [2]; do { uVar2 = rdtsc(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x460100af; if ((uVar4 >> 0x18 ^ uVar4) * -0x13aca42f < 0xcd1ed8) { local_50[0] = (code *)0x0; do { ppcVar5 = local_50; FUN_18096aa66(ppcVar5,local_50); *ppcVar5 = FUN_1813bba80; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (*local_50[0])(0,0x7da4); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } if ((POPCOUNT((DAT_1815fda74 ^ (DAT_1815fda70 ^ 0x811c9e53) * 0x10001d1) & 0xff) & 1U) != 0) { FUN_18096aa67(0x4628); return; } FUN_18096aa67(0x4628); return; } ############ FUN_ 1805d9180 size=1513 ############ /* WARNING: Instruction at (ram,0x0001805d9554) overlaps instruction at (ram,0x0001805d9553) */ /* WARNING: Removing unreachable block (ram,0x0001805d91cd) */ /* WARNING: Removing unreachable block (ram,0x0001805d954f) */ /* WARNING: Removing unreachable block (ram,0x0001805d97b0) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ longlong FUN_1805d9180(longlong param_1) { longlong *plVar1; longlong lVar2; undefined8 uVar3; ulonglong uVar4; uint uVar5; longlong lVar6; int unaff_retaddr; undefined4 unaff_retaddr_00; lVar6 = *(longlong *)(param_1 + 0x78) - *(longlong *)(param_1 + 0x70); lVar6 = lVar6 / 6 + (lVar6 >> 0x3f); lVar6 = (lVar6 >> 2) - (lVar6 >> 0x3f); do { uVar3 = rdtsc(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ((uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20)) * -0x51ca3b32; if ((uVar5 >> 0x18 ^ uVar5) * -0x51ca4602 < 0x1111111f) { do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = FUN_1813bba80(0,41000); if (1 < uVar4) { lVar2 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar1 = (longlong *)register0x00000020; while (lVar2 != -0x3333333333333334) { *plVar1 = 0; plVar1 = plVar1 + 8; lVar2 = *plVar1; } } } do { lVar6 = lVar6 + (longlong)register0x00000020; register0x00000020 = (BADSPACEBASE *)(~((~((longlong)register0x00000020 - lVar6) + 1U) - lVar6) + 1); lVar6 = lVar6 - (longlong)register0x00000020; uVar5 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar5 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { FUN_1805d8ebc(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); return -(((ulonglong)(uint)(_UNK_1811ddcb4 * 0x5bd1e995) ^ 0xffffffffffffffff) + 1); } ############ FUN_ 1806f9730 size=1323 ############ /* WARNING: Instruction at (ram,0x0001806f9c68) overlaps instruction at (ram,0x0001806f9c64) */ /* WARNING: Removing unreachable block (ram,0x0001806f9f69) */ /* WARNING: Removing unreachable block (ram,0x0001806f99c9) */ /* WARNING: Removing unreachable block (ram,0x0001806f9d6f) */ ulonglong FUN_1806f9730(longlong param_1) { longlong *plVar1; uint uVar2; undefined8 uVar3; uint uVar4; uint uVar5; int iVar6; uint uVar7; ulonglong uVar8; uint *puVar9; uint *puVar10; undefined1 *puVar11; byte *pbVar12; byte *pbVar13; uint *puVar14; longlong lVar15; uint *puVar16; int *piVar17; undefined8 unaff_R14; int unaff_retaddr; undefined4 unaff_retaddr_00; uint local_res8 [2]; uint local_res10; uint uStackX_18; uint *local_res20; undefined8 local_80; undefined1 auStack_78 [32]; undefined *local_58; code *local_50; pbVar13 = auStack_78; puVar14 = (uint *)0x0; uVar2 = *(uint *)(param_1 + 0x14); uVar8 = 0x100; local_58 = &UNK_1813dee70; local_res20 = (uint *)&DAT_1813ded70; do { uVar8 = ~((uVar8 ^ 0xffffffffffffffff) + 1) + 1; FUN_1806fac92(0xdc28,uVar8); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar3 = rdtsc(); local_res10 = (uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20); FUN_1806fa189(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_res10 = (local_res10 * -0x13ac3595 >> 0x18 ^ local_res10 * -0x13ac3595) * -0x46014602; if (local_res10 < 0x5254e77) { do { local_50 = FUN_1813bba80; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar8 = FUN_1813bba80(0,0x28b2); if (1 < uVar8) { lVar15 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar1 = (longlong *)register0x00000020; while (lVar15 != -0x3333333333333334) { *plVar1 = 0; plVar1 = plVar1 + 8; lVar15 = *plVar1; } } } do { FUN_1806fb569(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); lVar15 = 2; uVar5 = (DAT_1813ded70 + 0x4849a6ce) * 0x401; puVar16 = (uint *)&DAT_1813ded70; do { puVar10 = puVar16; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[1]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[2]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[3]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[4]) * 0x401; local_res8[0] = puVar10[6]; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[5]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + local_res8[0]) * 0x401; lVar15 = lVar15 + -1; puVar16 = puVar10 + 6; } while (lVar15 != 0); code_r0x0001806f9c12: puVar16 = local_res8; uVar8 = 0xdc28; puVar9 = puVar10 + 7; *(undefined8 *)(pbVar13 + -8) = 0x1806f9c24; uVar4 = FUN_1806fb4c0(); puVar11 = pbVar13; if ((uVar8 & 0xc3) == 0) goto LAB_1806f9c4c; do { pbVar13 = puVar11 + -8; pbVar12 = puVar11 + -8; *(uint **)(puVar11 + -8) = puVar14; if (((uVar8 & 0xc3) != 0) || (puVar14 = puVar9, (uVar8 & 0xc300) != 0)) goto LAB_1806f9c40; LAB_1806f9c4c: pbVar12 = pbVar13; puVar11 = pbVar13; } while ((uVar8 & 0xc300) != 0); goto LAB_1806f9c51; LAB_1806f9c40: do { uVar4 = *puVar9; } while ((uVar8 & 0xc300) == 0); LAB_1806f9c51: *puVar16 = uVar4; puVar14 = *(uint **)pbVar12; if ((uVar8 & 0xc2) != 0) { uVar4 = uVar4 | puVar14[0x13ae601]; return (ulonglong) CONCAT22((short)(uVar4 >> 0x10),CONCAT11((byte)(uVar4 >> 8) ^ *pbVar12,(char)uVar4)); } pbVar13 = pbVar12 + 8; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } if (uVar4 == 0) { uVar5 = (local_res8[0] + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[8]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[9]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[10]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[0xb]) * 0x401; local_res20 = (uint *)0x104770f94ecdbbbb; local_res10 = 0x4ecdbbbb; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[0xc]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[0xd]) * 0x401; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); lVar15 = 4; uVar5 = (puVar10[0xe] + (uVar5 ^ uVar5 >> 6)) * 0x401; puVar16 = puVar10 + 0xe; do { puVar10 = puVar16; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[1]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[2]) * 0x401; local_res8[0] = puVar10[4]; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[3]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + local_res8[0]) * 0x401; lVar15 = lVar15 + -1; puVar16 = puVar10 + 4; } while (lVar15 != 0); puVar10 = puVar10 + 5; do { *(undefined **)pbVar12 = &UNK_1806f9e3d; FUN_1806fa2e5(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); lVar15 = 3; uVar5 = (*puVar10 + (uVar5 ^ uVar5 >> 6)) * 0x401; do { uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[1]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[2]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[3]) * 0x401; puVar16 = puVar10 + 5; uVar5 = ((uVar5 >> 6 ^ uVar5) + puVar10[4]) * 0x401; puVar10 = puVar10 + 6; uVar5 = ((uVar5 >> 6 ^ uVar5) + *puVar16) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *puVar10) * 0x401; lVar15 = lVar15 + -1; } while (lVar15 != 0); uVar4 = (uint)puVar10 & 0x61ff; uVar5 = uVar5 ^ uVar5 >> 6; uVar7 = uVar5 & 0x6f; iVar6 = uVar4 * uVar4 + 1; uVar4 = (iVar6 >> 4) + (iVar6 >> 1) + iVar6 * 0x24924924 >> 0x1d; uVar4 = uVar7 * uVar7 * (uVar7 + 1) * (uVar7 + 1) & 0x80000003 ^ (int)(uVar4 - 7) >> 0x1f & uVar4; piVar17 = (int *)((((longlong)(((int)(-uVar4 | uVar4) >> 0x1f) * -0x58f3) ^ 0x5ef3U) - 0x5fc) + (longlong)puVar10); uVar5 = (*piVar17 + uVar5) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar17[1]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar17[2]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar17[3]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar17[4]) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar17[5]) * 0x401; local_res8[0] = piVar17[7]; uVar5 = ((uVar5 >> 6 ^ uVar5) + piVar17[6]) * 0x401; uStackX_18 = ((uVar5 >> 6 ^ uVar5) + local_res8[0]) * 0x401; uStackX_18 = uStackX_18 >> 6 ^ uStackX_18; /* WARNING: Call to offcut address within same function */ *(undefined **)pbVar12 = &UNK_1806fa05b; func_0x0001806f9df2(); *(uint **)pbVar12 = puVar14; *(ulonglong *)(pbVar12 + -8) = CONCAT71((int7)((ulonglong)unaff_R14 >> 8),uVar2 < 2); /* WARNING: Call to offcut address within same function */ *(undefined **)(pbVar12 + -0x10) = &UNK_1806fa065; iVar6 = func_0x0001806fa068(); *(int *)(pbVar12 + -8) = *(int *)(pbVar12 + -8) + 0x1a0; *(longlong *)(pbVar12 + -0x10) = (longlong)puVar14 + 0x4e7f6; *(longlong *)(pbVar12 + -0x18) = (longlong)puVar14 + -0x6a4a5; *(uint **)(pbVar12 + -0x20) = puVar14 + -0x18ffb; *(uint **)(pbVar12 + -0x28) = puVar14 + 0x6c3d; *(uint **)(pbVar12 + -0x30) = puVar14 + -0x55fb; *(uint **)(pbVar12 + -0x38) = puVar14 + 0x6c3d; *(longlong *)(pbVar12 + -0x40) = (longlong)puVar14 + 0x7b7e1; *(longlong *)(pbVar12 + -0x48) = (longlong)puVar14 + -0x68e15; *(uint **)(pbVar12 + -0x50) = puVar14 + 0xac77; return (((ulonglong)(iVar6 + 0x8b483893) ^ 0xffffffffffffffdb) + 1 ^ 0xffffffffffffffff) + 1; } goto code_r0x0001806f9c12; } ############ FUN_ 1807297b0 size=3096 ############ /* WARNING: Instruction at (ram,0x00018072a0d3) overlaps instruction at (ram,0x00018072a0d1) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018072a06e) */ /* WARNING: Removing unreachable block (ram,0x000180729b19) */ /* WARNING: Removing unreachable block (ram,0x000180729948) */ /* WARNING: Removing unreachable block (ram,0x0001807298e3) */ /* WARNING: Removing unreachable block (ram,0x000180729893) */ /* WARNING: Removing unreachable block (ram,0x000180729a8f) */ /* WARNING: Removing unreachable block (ram,0x000180729f5d) */ /* WARNING: Removing unreachable block (ram,0x00018072a45a) */ /* WARNING: Heritage AFTER dead removal. Example location: s0xffffffffffffff80 : 0x00018072a2c2 */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ ulonglong FUN_1807297b0(undefined8 *param_1,undefined4 *param_2) { byte *pbVar1; longlong *plVar2; undefined4 uVar3; ushort uVar4; int iVar5; uint *puVar6; ulonglong uVar7; ushort uVar8; uint uVar9; ulonglong uVar10; undefined1 *puVar11; longlong lVar12; uint uVar13; undefined1 *puVar14; ulonglong uVar15; uint uVar16; longlong lVar17; longlong lVar18; uint uVar19; undefined4 uVar20; longlong lVar21; undefined8 uVar22; bool bVar24; uint unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_b8 [32]; uint local_98; undefined8 local_90; undefined8 local_88; uint local_80; uint local_7c; code *local_78; undefined4 *local_70; undefined8 local_68; undefined4 local_60; undefined4 uStack_5c; undefined4 uStack_58; undefined4 uStack_54; undefined4 local_50; undefined1 local_48 [4]; undefined1 local_44; undefined1 local_43; undefined1 local_42; undefined1 local_41; ulonglong local_40; uint7 uVar23; local_40 = DAT_182615970 ^ (ulonglong)auStack_b8; local_70 = param_2; uVar13 = (uint)&stack0x00000000; lVar21 = 0; local_7c = 0x7c86 >> ((char)((byte)(-(((uVar13 & 0xaff) * (uVar13 & 0xaff) + 1) % 7) >> 0x18) ^ 0xff) >> 7 & 0x1fU) ^ 0x7c66; uVar9 = (((uVar13 & 0x36ff) + 1) * (uVar13 & 0x36ff) + 7) % 0x51; uVar13 = ((uVar13 & 0x8ff) + 1) * (uVar13 & 0x8ff) + 0x6285 & 0x80000001; lVar17 = 0x2e69; local_80 = (((int)(-uVar9 | uVar9) >> 0x1f) - ((int)(-uVar13 | uVar13) >> 0x1f)) + 0xafd6U ^ 0xaa16; uVar13 = 0xc5; lVar12 = 0x13; puVar6 = (uint *)0x181500cec; local_88 = 0x181500cec; local_90 = 0x181500dec; do { uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ *puVar6; puVar6 = puVar6 + 1; lVar12 = lVar12 + -1; } while (lVar12 != 0); do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = uVar13 >> 0x1c ^ uVar13 << 4 ^ *puVar6; uVar13 = uVar9 & 0x3f | 0x3c; uVar16 = uVar13 * uVar13 * 0x8609 ^ 0x482dbfd; uVar13 = (uint)puVar6 & 0xfff; uVar13 = (uVar13 + 1) * uVar13 + 0x434f & 0x80000001; puVar6 = (uint *)((longlong)puVar6 + (0x1c - (((longlong) (((int)(-uVar16 | uVar16) >> 0x1f) - ((int)(-uVar13 | uVar13) >> 0x1f)) | 0xe185U) ^ 0xe19d))); uVar13 = uVar9 >> 0x1c ^ uVar9 << 4 ^ *puVar6; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[1]; uVar20 = *(undefined4 *)(param_1 + 3); uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[2]; local_48[3] = (undefined1)uVar20; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[3]; local_48[0] = (undefined1)((uint)uVar20 >> 0x18); local_48[1] = (undefined1)((uint)uVar20 >> 0x10); uVar3 = *(undefined4 *)((longlong)param_1 + 0x14); local_48[2] = (undefined1)((uint)uVar20 >> 8); local_44 = (undefined1)((uint)uVar3 >> 0x18); local_43 = (undefined1)((uint)uVar3 >> 0x10); local_42 = (undefined1)((uint)uVar3 >> 8); local_41 = (undefined1)uVar3; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[4]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[5]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[6]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[7]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[8]; FUN_18072ae40(param_1,&DAT_181bd2dec,1); uVar9 = puVar6[9] ^ uVar13 >> 0x1c ^ uVar13 << 4; uVar13 = *(uint *)((longlong)param_1 + 0x14); while ((uVar13 & 0x1f8) != 0x1c0) { FUN_18072ae40(param_1,&DAT_181bd2df0,1); uVar13 = *(uint *)((longlong)param_1 + 0x14); } local_68 = 8; uVar16 = *(uint *)((longlong)param_1 + 0x14) + 0x40; uVar13 = *(uint *)((longlong)param_1 + 0x14) >> 3 & 0x3f; *(uint *)((longlong)param_1 + 0x14) = uVar16; if (uVar16 < 0x40) { *(int *)(param_1 + 3) = *(int *)(param_1 + 3) + 1; } uVar16 = 0; if (0x3f < uVar13 + 8) { uVar16 = -uVar13 + 0x40; memcpy((void *)((longlong)param_1 + (ulonglong)uVar13 + 0x1c),local_48,(ulonglong)uVar16); FUN_1807275a0(param_1,(longlong)param_1 + 0x1c); for (uVar19 = -uVar13 + 0x7f; uVar13 = 0, uVar19 < 8; uVar19 = uVar19 + 0x40) { FUN_1807275a0(param_1,local_48 + uVar16); uVar16 = uVar16 + 0x40; } } uVar7 = (ulonglong)(8 - uVar16); memcpy((void *)((longlong)param_1 + (ulonglong)uVar13 + 0x1c),local_48 + uVar16,uVar7); uVar13 = uVar9 >> 0x1c ^ uVar9 << 4 ^ puVar6[10]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0xb]; uVar4 = (ushort)((uint)*(undefined4 *)param_1 >> 0x10); uVar8 = (ushort)*(undefined4 *)param_1; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0xc]; local_60 = CONCAT22(uVar8 << 8 | uVar8 >> 8,uVar4 << 8 | uVar4 >> 8); uVar4 = (ushort)((uint)*(undefined4 *)((longlong)param_1 + 4) >> 0x10); uVar8 = (ushort)*(undefined4 *)((longlong)param_1 + 4); uStack_5c = CONCAT22(uVar8 << 8 | uVar8 >> 8,uVar4 << 8 | uVar4 >> 8); uVar4 = (ushort)((uint)*(undefined4 *)(param_1 + 1) >> 0x10); uVar8 = (ushort)*(undefined4 *)(param_1 + 1); uStack_58 = CONCAT22(uVar8 << 8 | uVar8 >> 8,uVar4 << 8 | uVar4 >> 8); uVar4 = (ushort)((uint)*(undefined4 *)((longlong)param_1 + 0xc) >> 0x10); uVar8 = (ushort)*(undefined4 *)((longlong)param_1 + 0xc); uStack_54 = CONCAT22(uVar8 << 8 | uVar8 >> 8,uVar4 << 8 | uVar4 >> 8); uVar4 = (ushort)((uint)*(undefined4 *)(param_1 + 2) >> 0x10); uVar8 = (ushort)*(undefined4 *)(param_1 + 2); uVar20 = CONCAT22(uVar8 << 8 | uVar8 >> 8,uVar4 << 8 | uVar4 >> 8); uVar9 = uVar13 << 4; uVar15 = (ulonglong)uVar9; uVar13 = uVar13 >> 0x1c ^ uVar9 ^ puVar6[0xd]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0xe]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0xf]; bVar24 = uVar13 == 0; local_50 = uVar20; do { uVar10 = 0; uVar9 = FUN_18072bb81(); if ((bVar24) && ((uVar10 & 0x41) != 0)) { return (ulonglong) (CONCAT31((int3)((uVar9 | 0x308eb33) >> 8),(char)(uVar9 | 0x308eb33) + '$') + 0x7f8d6200); } uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } bVar24 = uVar9 == 0; } while (!bVar24); *local_70 = local_60; local_70[1] = uStack_5c; local_70[2] = uStack_58; local_70[3] = uStack_54; local_70[4] = uVar20; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x10]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x11]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x12]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x13]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x14]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x15]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x16]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x17]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x18]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x19]; *(undefined8 *)((longlong)param_1 + 0x1c) = 0; *(undefined8 *)((longlong)param_1 + 0x24) = 0; *(undefined8 *)((longlong)param_1 + 0x2c) = 0; *(undefined8 *)((longlong)param_1 + 0x34) = 0; *(undefined8 *)((longlong)param_1 + 0x3c) = 0; *(undefined8 *)((longlong)param_1 + 0x44) = 0; *(undefined8 *)((longlong)param_1 + 0x4c) = 0; *(undefined8 *)((longlong)param_1 + 0x54) = 0; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x1a]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x1b]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x1c]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x1d]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x1e]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x1f]; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x20]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x21]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x22]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x23]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x24]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x25]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x26]; uVar13 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x27]; *param_1 = 0; param_1[1] = 0; *(undefined4 *)(param_1 + 2) = 0; *(undefined8 *)((longlong)param_1 + 0x14) = 0; uVar9 = uVar13 >> 0x1c ^ uVar13 << 4 ^ puVar6[0x28]; uVar13 = uVar9 << 4; uVar9 = uVar9 >> 0x1c ^ uVar13 ^ puVar6[0x29]; uVar9 = uVar9 >> 0x1c ^ uVar9 << 4 ^ puVar6[0x2a]; do { lVar17 = (ulonglong)uVar13 + lVar17 + (lVar17 - ((ulonglong)uVar13 + lVar17)); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } uVar13 = unaff_retaddr; } while (uVar16 != 0); do { puVar11 = &DAT_0000ed10; iVar5 = func_0x00018072aade(); lVar12 = uVar15 + lVar17; uVar15 = -(lVar17 - lVar12); if (((ulonglong)puVar11 & 0xeb00) == 0) { uVar13 = iVar5 + 0xd4b2ad13; pbVar1 = puVar11 + -0x75; *pbVar1 = *pbVar1 << 1 | (char)*pbVar1 < '\0'; *(char *)(ulonglong)uVar13 = *(char *)(ulonglong)uVar13 + (char)uVar13; code_r0x00018072a0e6: uVar13 = ((int)puVar11 - 1U | 0xfffffffe) + 1; } else { lVar12 = lVar12 + (lVar17 - lVar12); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; puVar11 = (undefined1 *)(ulonglong)uVar13; if ((int)uVar13 < 0) goto code_r0x00018072a0e6; } lVar17 = lVar12; if (uVar13 == 0) { uVar13 = puVar6[0x2b]; do { uVar22 = rdtsc(); uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar16 = ((uint)uVar22 ^ (uint)((ulonglong)uVar22 >> 0x20)) * -0x3b3100af; local_98 = (uVar16 >> 0x18 ^ uVar16) * -0x3b317a15; if (local_98 < 0x2222223) { do { local_78 = FUN_1813bba80; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar15 = FUN_1813bba80(0,0x315f,uVar15); if (1 < uVar15) { lVar17 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar2 = (longlong *)register0x00000020; while (lVar17 != -0x3333333333333334) { *plVar2 = 0; plVar2 = plVar2 + 8; lVar17 = *plVar2; } } } local_70 = (undefined4 *)0x351943fb79d086cc; local_98 = 0x79d086cc; do { lVar17 = FUN_180728e1c(&DAT_0000ed10); lVar18 = lVar12 + lVar21 + lVar17; lVar21 = (lVar21 + lVar17) - lVar18; lVar12 = -lVar21; lVar21 = (lVar18 + lVar21) - lVar17; uVar16 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar13 = (uVar9 >> 0x1c ^ uVar9 << 4 ^ uVar13) + 0x7cc0190a; uVar13 = uVar13 * 0x4000 | uVar13 >> 0x12; lVar17 = (longlong)param_1 + 0x1c; uVar9 = ~(local_98 & uVar13); uVar13 = ~(uVar9 & uVar13); uVar15 = (ulonglong)uVar13; uVar23 = (uint7)((ulonglong)lVar21 >> 8); uVar22 = CONCAT71(uVar23,(~(uVar9 & local_98) & uVar13) == 0xffffffff); if ((int)uVar22 == (int)(((ulonglong)uVar23 & 0xffffff) << 4)) { FUN_1807275a0(param_1); puVar11 = auStack_b8; do { puVar14 = puVar11; *(ulonglong *)(puVar14 + -8) = uVar15; *(undefined8 *)(puVar14 + -0x10) = uVar22; *(ulonglong *)(puVar14 + -0x18) = uVar7; register0x00000020 = (BADSPACEBASE *)((-(longlong)register0x00000020 ^ 0xffffffffffffffffU) + 1); lVar17 = -(longlong)(int)local_80; uVar7 = *(ulonglong *)(puVar14 + lVar17 + 0x5a8); uVar22 = *(undefined8 *)(puVar14 + lVar17 + 0x5b0); uVar15 = *(ulonglong *)(puVar14 + lVar17 + 0x5b8); uVar13 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } puVar11 = puVar14 + lVar17 + 0x5c0; } while (uVar13 != 0); *(undefined **)(puVar14 + lVar17 + 0x5b8) = &UNK_18072a4d6; } FUN_1807275a0(param_1,lVar17); lVar17 = lVar17 + uVar7; uVar7 = thunk_FUN_1805a9280((longlong)(int)local_7c, lVar17 - ((((uVar7 - lVar17 ^ 0xffffffffffffffff) + 1) - lVar17 ^ 0xffffffffffffffff) + 1)); return uVar7; } } while( true ); } ############ FUN_ 180ab8940 size=780 ############ void FUN_180ab8940(void) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; code **ppcVar5; longlong unaff_R13; int unaff_retaddr; undefined4 unaff_retaddr_00; code *local_res10 [3]; do { uVar2 = rdtsc(); FUN_180ab6e0c(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20)) * -0x50283b32; if ((uVar4 >> 0x18 ^ uVar4) * -0x7a147333 < 0x7507507) { local_res10[0] = (code *)0x0; do { ppcVar5 = local_res10; FUN_180ab969b(ppcVar5,local_res10); *ppcVar5 = FUN_1813bba80; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (*local_res10[0])(0,0x50d1); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } /* WARNING: Call to offcut address within same function */ func_0x000180ab8b50(); /* WARNING: Call to offcut address within same function */ func_0x000180ab8b7e(); /* WARNING: Could not recover jumptable at 0x000180ab8c75. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(unaff_R13 + 0x2171))(); return; } ############ FUN_ 180b38a80 size=1008 ############ /* WARNING: Removing unreachable block (ram,0x000180b38c2d) */ /* WARNING: Removing unreachable block (ram,0x000180b38b69) */ void FUN_180b38a80(undefined8 *param_1,longlong param_2,undefined8 param_3) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; uint uVar4; int iVar5; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_118 [32]; undefined4 local_f8; uint local_f0; undefined *local_e8; undefined8 local_e0; undefined8 local_d0; uint local_c8; uint local_c4; code *local_c0; undefined8 *local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 *local_a0; undefined8 *local_98; longlong local_80; undefined8 local_70; undefined8 *local_68; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_118; local_b8 = param_1; local_a8 = param_3; local_80 = param_2; local_68 = param_1; FUN_180a3bf80(param_1,param_2 + 8); *param_1 = license_services::LsCachedObjectVectorIlokAuth::vftable; param_1[3] = param_2; local_a0 = param_1 + 4; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; local_98 = param_1 + 7; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; FUN_180baa320(param_1 + 10,*(undefined4 *)(param_1[3] + 0x38)); param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; uVar4 = (uint)&stack0x00000000 & 0x23f; iVar5 = (uVar4 + 2) * (uVar4 + 1) * uVar4; local_c8 = 0x9511 << ((byte)(((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e) & 0x1f) ^ 0x9811; uVar4 = (uint)&stack0x00000000 & 0x6dff; iVar5 = uVar4 * uVar4 + 1; uVar4 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar4 = (int)(uVar4 - 7) >> 0x1f & uVar4; local_c4 = (int)(-uVar4 | uVar4) >> 0x1f & 0xe17fU ^ 0xee8f; local_f8 = 0x811c9e29; do { uVar2 = rdtsc(); local_f0 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); FUN_180b3ab61(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_f0 = (local_f0 * -0x73323b32 >> 0x18 ^ local_f0 * -0x73323b32) * -0x3d4d7333; if (local_f0 < 0x3333333f) { do { local_c0 = FUN_1813bba80; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = FUN_1813bba80(0,0xd853); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } local_d0 = 0x180000000; local_e0 = 0x180649144; local_e8 = &DAT_18064c174; local_b0 = local_e0; FUN_180b37fd0(); FUN_180b38ea0(); FUN_180b38e97(); return; } ############ FUN_ 180708bf0 size=3390 ############ /* WARNING: Instruction at (ram,0x0001807091af) overlaps instruction at (ram,0x0001807091ae) */ /* WARNING: Removing unreachable block (ram,0x00018070995b) */ /* WARNING: Removing unreachable block (ram,0x000180708ff8) */ /* WARNING: Removing unreachable block (ram,0x000180708da8) */ /* WARNING: Removing unreachable block (ram,0x000180708f49) */ /* WARNING: Removing unreachable block (ram,0x000180708f10) */ /* WARNING: Removing unreachable block (ram,0x00018070910c) */ /* WARNING: Heritage AFTER dead removal. Example location: s0xffffffffffffff70 : 0x00018070910d */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined8 FUN_180708bf0(longlong param_1,ulonglong param_2) { uint uVar1; ulonglong uVar2; longlong *plVar3; undefined8 uVar4; uint uVar5; uint *puVar6; uint uVar7; longlong lVar8; longlong lVar9; int unaff_retaddr; undefined4 unaff_retaddr_00; uint local_res18; uint local_res20 [2]; uint local_68 [2]; int *local_60; undefined *local_58; code *local_50; local_60 = &DAT_18158dbc8; local_58 = &DAT_18158dcc8; uVar1 = (((uint)(DAT_18158dbc8 * 0x401) >> 6 ^ DAT_18158dbc8 * 0x401) + DAT_18158dbcc) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dbd0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dbd4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dbd8) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dbdc) * 0x401; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dbe0 + (uVar1 ^ uVar1 >> 6)) * 0x401; do { FUN_18070a551(); FUN_18070aac9(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dbe4 + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dbe8) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dbec) * 0x401; do { FUN_18070cdb8(); FUN_18070a4a2(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dbf0 + (uVar1 ^ uVar1 >> 6)) * 0x401; local_res18 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dbf4) * 0x401; local_res18 = local_res18 ^ local_res18 >> 6; do { local_res18 = local_res18 + DAT_18158dbf8; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); uVar1 = ((local_res18 * 0x401 >> 6 ^ local_res18 * 0x401) + DAT_18158dbfc) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc00) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc04) * 0x401; do { FUN_18070a4a2(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dc08 + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc0c) * 0x401; local_res18 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc10) * 0x401; local_res18 = local_res18 ^ local_res18 >> 6; do { local_res18 = local_res18 + DAT_18158dc14; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); uVar1 = ((local_res18 * 0x401 >> 6 ^ local_res18 * 0x401) + DAT_18158dc18) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc1c) * 0x401; do { uVar2 = 0; /* WARNING: Call to offcut address within same function */ func_0x0001807096fa(); if ((uVar2 & 0x43) != 0) { func_0x0001c8d15ff5(); } uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dc20 + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc24) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc28) * 0x401; do { uVar4 = rdtsc(); uVar7 = (uint)((ulonglong)uVar4 >> 0x20); lVar8 = CONCAT44((int)((ulonglong)local_res20 >> 0x20),uVar7); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ((uint)uVar4 ^ uVar7) * -0x7a14e57b; local_res20[0] = (uVar5 >> 0x18 ^ uVar5) * 0x5bd15bd1; if (local_res20[0] < 0x4e04e07) { do { lVar8 = 0xb7f3; local_50 = FUN_1813bba80; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar2 = FUN_1813bba80(); if ((1 < uVar2) && (CONCAT44(unaff_retaddr_00,unaff_retaddr) != -0x3333333333333334)) { lVar8 = 0; plVar3 = (longlong *)register0x00000020; do { *plVar3 = 0; plVar3 = plVar3 + 8; } while (*plVar3 != -0x3333333333333334); } } uVar1 = (DAT_18158dc2c + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc30) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc34) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc38) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc3c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc40) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc44) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc48) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc4c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc50) * 0x401; do { FUN_18070abd7(); FUN_180703c12(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dc54 + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc58) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc5c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc60) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc64) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc68) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc6c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc70) * 0x401; do { uVar2 = 0; FUN_180709b34(); param_2 = (param_2 ^ 0xffffffffffffffff) + 1; if ((uVar2 & 0x42) == 0) { param_2 = -param_2; } uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dc74 + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc78) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc7c) * 0x401; do { FUN_180707549(0xd42c); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dc80 + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc84) * 0x401; do { FUN_18070b18d(0xd42c); FUN_18070a4a2(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dc88 + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc8c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc90) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc94) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc98) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dc9c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dca0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dca4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dca8) * 0x401; do { FUN_18070be2c(); /* WARNING: Call to offcut address within same function */ func_0x0001807096fa(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dcac + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dcb0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dcb4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dcb8) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_18158dcbc) * 0x401; do { FUN_18070a4a2(); FUN_180703c12(); FUN_18070a694(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar1 = (DAT_18158dcc0 + (uVar1 ^ uVar1 >> 6)) * 0x401; local_68[0] = ((uVar1 >> 6 ^ uVar1) + DAT_18158dcc4) * 0x401; local_68[0] = local_68[0] ^ local_68[0] >> 6; do { puVar6 = local_68; uVar1 = FUN_180698d27(); *puVar6 = uVar1; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); do { uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); local_58 = (undefined *)0xdc6b9421506e79ec; local_res20[0] = 0x506e79ec; do { uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); uVar1 = (local_68[0] << 4 | local_68[0] >> 0x1c) + 0xf0a1ca21; if ((uVar1 & 0x1fffff) == 0 && uVar1 == 0) { do { lVar9 = lVar8 + param_2; lVar8 = ~(param_2 - lVar9) + 1; param_2 = lVar9 - lVar8; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); if ((param_1 == 0) || (param_2 == 0)) { uVar4 = 99; } else { uVar4 = FUN_180708b20(param_1,param_2,0); if ((int)uVar4 == 0) { uVar4 = FUN_180708b20(param_1 + 0x24,param_2 + 0x38,0); } } return uVar4; } uVar4 = thunk_FUN_1805a9280(); return uVar4; } ############ FUN_ 180b48ea0 size=1222 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180b48f51) */ /* WARNING: Removing unreachable block (ram,0x000180b48f3a) */ /* WARNING: Removing unreachable block (ram,0x000180b48f29) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180b48ea0(undefined8 *param_1) { longlong lVar1; undefined8 uVar2; ulonglong uVar3; char *pcVar4; uint uVar5; uint *puVar6; undefined8 *puVar7; int iVar8; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_c8 [32]; undefined4 local_a8; undefined *local_a0; uint local_98 [2]; undefined8 local_90; undefined8 local_80; undefined8 local_78; undefined4 local_70; uint local_6c; code *local_68; undefined8 *local_60; undefined8 local_58; ulonglong local_38; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_c8; *param_1 = license_services::LsCachedObjectVectorSignedInfo::vftable; uVar5 = (uint)&stack0x00000000 & 0x17f; iVar8 = (uVar5 + 2) * (uVar5 + 1) * uVar5; local_6c = (((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e | 0x3a3fU) ^ 0x398f; local_70 = 0x470; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_90 = 0x180b51ef0; local_a0 = &DAT_180b54c9c; local_78 = 0xae89409bf5e82d74; local_80 = 0xf5e82d74; local_a8 = 0x811c9dc5; local_60 = param_1; if (param_1[4] != param_1[5]) { do { puVar7 = *(undefined8 **)(param_1[5] + -8); if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } param_1[5] = param_1[5] + -8; } while (param_1[4] != param_1[5]); } do { puVar6 = local_98; FUN_180b4a375(puVar6,local_98); uVar2 = rdtsc(); *puVar6 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_98[0] = (local_98[0] * -0x13ac13ad >> 0x18 ^ local_98[0] * -0x13ac13ad) * 0x5bd1ae35; if (local_98[0] < 0x3333333f) { do { local_68 = FUN_1813bba80; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = FUN_1813bba80(0,0x54ea); if (1 < uVar3) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } do { FUN_180b4a0f7(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); iVar8 = 0; if (param_1[7] != param_1[8]) { do { puVar7 = *(undefined8 **)(param_1[8] + -8); if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } iVar8 = (int)puVar7; param_1[8] = param_1[8] + -8; } while (param_1[7] != param_1[8]); } local_78 = local_90; /* WARNING: Call to offcut address within same function */ pcVar4 = (char *)func_0x000180b4939f(); _DAT_10e00f334 = _DAT_10e00f334 + iVar8; pcVar4 = (char *)(CONCAT71((int7)((ulonglong)pcVar4 >> 8),(char)pcVar4 + *pcVar4) + -0x7d); *pcVar4 = *pcVar4 + (char)iVar8; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 18083c6b0 size=1169 ############ /* WARNING: Removing unreachable block (ram,0x00018083c78a) */ /* WARNING: Removing unreachable block (ram,0x00018083c7ef) */ longlong FUN_18083c6b0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 *param_4) { undefined8 uVar1; longlong lVar2; ulonglong uVar3; uint *puVar4; code **ppcVar5; uint uVar6; int iVar7; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_c8 [40]; undefined *local_a0; uint local_98; uint local_94; undefined8 local_88; undefined8 local_80; undefined8 local_78; undefined4 local_70; code *local_68 [4]; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_c8; uVar6 = (uint)&stack0x00000000 & 0x23ff; iVar7 = uVar6 * uVar6 + 1; uVar6 = iVar7 * 0x24924924 + (iVar7 >> 4) + (iVar7 >> 1) >> 0x1d; if (((int)(uVar6 - 7) >> 0x1f & uVar6 & 0xe80) == 0) { local_94 = 0; } else { uVar6 = (uint)&stack0x00000000 & 0x23f; local_94 = ((uVar6 + 2) * (uVar6 + 1) * uVar6) % 3; } local_94 = local_94 ^ 0x3f0; *param_4 = 0xfffffffe; local_70 = 0xb20; local_80 = 0; local_88 = 0x83caa0; local_78 = 0x18083caa0; local_a0 = &DAT_18083f4d4; lVar2 = FUN_1808460a0(param_1); FUN_18080ca00(param_1,*(undefined1 *)(lVar2 + 400),"systemMachine"); do { puVar4 = &local_98; FUN_18083e98f(puVar4,&local_98); uVar1 = rdtsc(); *puVar4 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); local_98 = (local_98 * -0x46013b32 >> 0x18 ^ local_98 * -0x46013b32) * -0x166a4602; if (local_98 < 0x3333333f) { local_68[0] = (code *)0x0; do { ppcVar5 = local_68; func_0x00018083bb78(ppcVar5,local_68); *ppcVar5 = FUN_1813bba80; FUN_18083e06d(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = (*local_68[0])(); if (1 < uVar3) { lVar2 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar2 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar2 = *(longlong *)register0x00000020; } } } do { FUN_18083b7ba(0xe018); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); return ~(~(ulonglong)local_a0 + 1) + 1; } ############ FUN_ 1800018e0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615a88)[DAT_1826159a0])(); return; } ############ FUN_ 180001cd0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615fc8)[DAT_1826159a0])(); return; } ############ FUN_ 18052d990 size=97 ############ void FUN_18052d990(undefined8 param_1,undefined8 param_2,undefined4 param_3) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_1,param_3); } ############ FUN_ 18052e260 size=577 ############ undefined8 FUN_18052e260(longlong param_1,int param_2) { undefined8 uVar1; int iVar2; undefined4 uVar3; int iVar4; int iVar5; uint uVar6; undefined8 uVar7; longlong lVar8; longlong *plVar9; undefined4 uVar10; iVar5 = *(int *)(param_1 + 100) / 2 + 1; if (*(char *)(param_1 + 0x240464) != '\0') { *(undefined1 *)(param_1 + 0x240464) = 0; FUN_18052fbd0(param_1 + 0x3d8); } uVar1 = *(undefined8 *)(param_1 + 0x540788); iVar4 = *(int *)(param_1 + 0x2404d8); if (iVar4 < 1) { if (*(char *)(param_1 + 0x5408ad) != '\0') { *(undefined1 *)(param_1 + 0x5408ad) = 0; *(int *)(param_1 + 0x2404d8) = iVar5; } return 0; } iVar2 = iVar5; if (iVar4 < iVar5) { iVar2 = iVar4; } *(int *)(param_1 + 0x2404d8) = iVar2; if (iVar2 < param_2) { param_2 = iVar2; } uVar6 = 0; if (0 < *(int *)(param_1 + 0x2404d0)) { plVar9 = (longlong *)(param_1 + 0x5407e8); lVar8 = 0; do { if (uVar6 < *(uint *)(param_1 + 0x444)) { uVar7 = *(undefined8 *)(lVar8 + *(longlong *)(param_1 + 0x438)); } else { uVar7 = 0; } FUN_180536300(param_1 + 0x3d8,*plVar9 + (longlong)(iVar5 - iVar2) * 4, *(longlong *)(param_1 + 0x540758) + (longlong)(iVar5 - iVar2) * 4,uVar7,param_2) ; uVar6 = uVar6 + 1; plVar9 = plVar9 + 2; lVar8 = lVar8 + 8; } while ((int)uVar6 < *(int *)(param_1 + 0x2404d0)); } *(int *)(param_1 + 0x2404d8) = *(int *)(param_1 + 0x2404d8) - param_2; if ((*(int *)(param_1 + 0x2404d8) < 1) && (0 < *(int *)(param_1 + 0x30))) { expf(DAT_1824c4208); uVar3 = DAT_1824c3ea4; uVar10 = (undefined4)DAT_1824c4140; iVar4 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar4 != 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(uVar10,uVar1,iVar5); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(uVar3); } return 1; } ############ FUN_ 180496c40 size=396 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180496c40(longlong param_1,undefined8 param_2) { uint uVar1; longlong lVar2; longlong *plVar3; uint *puVar4; undefined1 auStack_c8 [32]; undefined8 local_a8; longlong local_a0; longlong local_98; longlong local_90; longlong local_88; longlong *local_80; undefined8 local_78; undefined1 local_51 [32]; undefined1 local_31; ulonglong local_30; local_78 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_c8; local_a8 = param_2; lVar2 = FUN_181233e10(local_51 + 1,*(undefined4 *)(param_1 + 0xc)); FUN_180495150(&local_88,lVar2,local_51 + -lVar2); lVar2 = FUN_181233e10(&local_30,*(undefined4 *)(param_1 + 8)); FUN_180495150(&local_a0,lVar2,&local_31 + -lVar2); local_80 = &local_a0; FUN_181232e20(&local_a0,&DAT_1824968fc,&DAT_1824968fd); local_98 = local_a0; if ((*(uint *)(local_a0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_a0 + -0x10) = *(int *)(local_a0 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(local_a0 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } plVar3 = (longlong *)FUN_181232aa0(&local_a8,&local_98,&local_88); local_80 = plVar3; FUN_181232e20(plVar3,": error: ",""); local_90 = *plVar3; if ((*(uint *)(local_90 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_90 + -0x10) = *(int *)(local_90 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(*plVar3 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_181232aa0(param_2,&local_90,param_1); puVar4 = (uint *)(local_88 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } ############ FUN_ 180475070 size=469 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180475070(undefined8 param_1,longlong param_2) { byte bVar1; longlong lVar2; byte *pbVar3; uint *_Memory; uint uVar4; int iVar5; bool bVar6; undefined1 auStack_78 [32]; undefined4 local_58; byte *local_48; byte *local_40; undefined8 local_38; undefined1 local_11; ulonglong local_10; local_38 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_78; local_58 = 0; lVar2 = __RTDynamicCast(param_2,0,&juce::AudioProcessorParameter::RTTI_Type_Descriptor, &juce::LegacyAudioParameter::RTTI_Type_Descriptor); if (lVar2 == 0) { local_58 = 0; lVar2 = __RTDynamicCast(param_2,0,&juce::AudioProcessorParameter::RTTI_Type_Descriptor, &juce::AudioProcessorParameterWithID::RTTI_Type_Descriptor); if (lVar2 == 0) { lVar2 = FUN_181233e10(&local_10,*(undefined4 *)(param_2 + 0x10)); FUN_180495150(&local_48,lVar2,&local_11 + -lVar2); } else { local_48 = *(byte **)(lVar2 + 0x60); if ((*(uint *)(local_48 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_48 + -0x10) = *(int *)(local_48 + -0x10) + 1; UNLOCK(); } } } else { (**(code **)(**(longlong **)(lVar2 + 8) + 0x188)) (*(longlong **)(lVar2 + 8),&local_40,*(undefined4 *)(lVar2 + 0x10)); local_48 = local_40; local_40 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar6 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar6) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } bVar1 = *local_48; pbVar3 = local_48; do { if (bVar1 == 0) { _Memory = (uint *)(local_48 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } bVar1 = *pbVar3; pbVar3 = pbVar3 + 1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar5 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; iVar5 = iVar5 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } for (; (iVar5 = iVar5 + -1, -1 < iVar5 && ((*pbVar3 & 0xc0) == 0x80)); pbVar3 = pbVar3 + 1) { } } bVar1 = *pbVar3; } while( true ); } ############ FUN_ 1812214e0 size=536 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812214e0(longlong *param_1,undefined8 *param_2,char param_3) { uint uVar1; longlong lVar2; code *pcVar3; uint uVar4; int iVar5; byte *pbVar6; byte bVar7; undefined1 auStack_78 [32]; byte local_58 [39]; undefined1 local_31; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_78; pbVar6 = (byte *)*param_2; LAB_181221520: bVar7 = *pbVar6; pbVar6 = pbVar6 + 1; uVar4 = (uint)bVar7; if ((char)bVar7 < '\0') { uVar1 = 0x40; iVar5 = 0; uVar4 = 0x7f; if ((bVar7 & 0x40) != 0) { do { if (uVar1 < 9) break; uVar4 = uVar4 >> 1; iVar5 = iVar5 + 1; uVar1 = uVar1 >> 1; } while ((bVar7 & uVar1) != 0); } uVar4 = bVar7 & uVar4; for (; (iVar5 = iVar5 + -1, -1 < iVar5 && ((*pbVar6 & 0xc0) == 0x80)); pbVar6 = pbVar6 + 1) { uVar4 = *pbVar6 & 0x3f | uVar4 << 6; } } if (uVar4 == 0) { } bVar7 = (byte)uVar4; if ((uVar4 < 0x80) && (((&DAT_182496020)[uVar4 >> 3] & (byte)(1 << (bVar7 & 7))) != 0)) { lVar2 = *param_1; pcVar3 = *(code **)(lVar2 + 0x28); if (pcVar3 != FUN_18122e9b0) { LAB_1812216fe: (*pcVar3)(param_1); goto LAB_181221520; } } else { switch(uVar4) { case 10: case 0xd: if (param_3 == '\0') { lVar2 = *param_1; pcVar3 = *(code **)(lVar2 + 0x28); if (pcVar3 != FUN_18122e9b0) goto LAB_1812216fe; break; } default: (**(code **)(*param_1 + 0x20))(param_1,&DAT_1821db4d0,2); lVar2 = FUN_181233e10(&local_30,uVar4); (**(code **)(*param_1 + 0x20))(param_1,lVar2,&local_31 + -lVar2); lVar2 = *param_1; if (*(code **)(lVar2 + 0x28) != FUN_18122e9b0) { (**(code **)(lVar2 + 0x28))(param_1); goto LAB_181221520; } local_58[0] = 0x3b; bVar7 = local_58[0]; break; case 0x22: (**(code **)(*param_1 + 0x20))(param_1,""",6); goto LAB_181221520; case 0x26: (**(code **)(*param_1 + 0x20))(param_1,"&",5); goto LAB_181221520; case 0x3c: (**(code **)(*param_1 + 0x20))(param_1,&DAT_1821db4d4,4); goto LAB_181221520; case 0x3e: goto switchD_1812215e8_caseD_3e; } } local_58[0] = bVar7; (**(code **)(lVar2 + 0x20))(param_1,local_58,1); goto LAB_181221520; switchD_1812215e8_caseD_3e: (**(code **)(*param_1 + 0x20))(param_1,&DAT_1821db4c0,4); goto LAB_181221520; } ############ FUN_ 1804958a0 size=77 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804958a0(undefined8 param_1,undefined8 param_2,undefined4 *param_3) { longlong lVar1; undefined1 auStack_58 [32]; undefined8 local_38; undefined1 local_11; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; local_38 = param_2; lVar1 = FUN_181233e10(&local_10,*param_3); FUN_180495150(param_2,lVar1,&local_11 + -lVar1); } ############ FUN_ 1812138f0 size=1931 ############ void FUN_1812138f0(longlong param_1,undefined8 *param_2,void **param_3) { longlong *plVar1; char cVar2; longlong lVar3; void **ppvVar4; void *pvVar5; int iVar6; ulonglong *puVar7; undefined4 *puVar8; undefined8 uVar9; undefined8 *puVar10; undefined8 uVar11; void *pvVar12; uint *puVar13; ulonglong uVar14; ulonglong uVar15; uint uVar16; longlong *plVar17; char *_Src; undefined1 **ppuVar18; undefined1 auStack_158 [32]; undefined **local_138; undefined1 local_130 [8]; void **local_128; void *local_120; undefined8 local_118; undefined8 local_110; undefined8 local_108; void *local_100; undefined8 local_f8; undefined4 *local_e8; undefined **local_e0; longlong local_d8; HANDLE local_d0; char *local_c0; longlong local_b8; undefined8 local_b0; undefined1 local_a8 [64]; undefined1 local_68 [30]; char local_4a [2]; undefined8 local_48; char cStack_39; local_b0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_158; local_138 = juce::OutputStream::vftable; FUN_18049c4e0(local_130,&DAT_182496878); local_138 = juce::MemoryOutputStream::vftable; uVar16 = 0; local_120 = (void *)0x0; local_118 = 0; local_110 = 0; local_108 = 0; local_100 = (void *)0x0; local_f8 = 0; local_128 = param_3; if (*(int *)(param_1 + 0x44) < 1) { puVar10 = (undefined8 *)FUN_181214eb0(&local_b8,param_1); uVar9 = *puVar10; uVar11 = FUN_18049d240(uVar9); (*(code *)local_138[4])(&local_138,uVar9,uVar11); if (*(longlong *)(param_1 + 0x10) != 0) { (*(code *)local_138[4])(&local_138,*(undefined8 *)(param_1 + 8)); } puVar13 = (uint *)(local_b8 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar16 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar16 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } iVar6 = FUN_18049d2f0(*param_2,"Content-Type"); if (iVar6 < 0) { FUN_181232e20(param_2,"Content-Type: application/x-www-form-urlencoded\r\n",""); } pvVar5 = local_100; FUN_181232e20(param_2,"Content-length: ",""); uVar9 = FUN_181233e10(local_68,(ulonglong)pvVar5 & 0xffffffff); FUN_181232e20(param_2,uVar9,local_68); FUN_181232e20(param_2,&DAT_1821dbc3c,&DAT_1821dbc3e); } else { puVar7 = (ulonglong *)FUN_18123aca0(); uVar14 = *puVar7 * 0x5deece66d + 0xb & 0xffffffffffff; uVar15 = uVar14 * 0x5deece66d + 0xb & 0xffffffffffff; *puVar7 = uVar15; uVar14 = ((longlong)uVar14 >> 0x10) << 0x20 | (longlong)uVar15 >> 0x10; _Src = local_4a + 1; local_4a[1] = 0; do { _Src = _Src + -1; cVar2 = "0123456789abcdef"[(uint)uVar14 & 0xf]; *_Src = cVar2; uVar14 = uVar14 >> 4; } while (uVar14 != 0); if (cVar2 == '\0') { local_e8 = (undefined4 *)&DAT_1821dbf98; } else { uVar14 = (longlong)&local_48 + -(longlong)_Src + 3 & 0xfffffffffffffffc; puVar8 = (undefined4 *)thunk_FUN_1811316e0(uVar14 + 0x17); LOCK(); *puVar8 = 0; UNLOCK(); *(ulonglong *)(puVar8 + 2) = uVar14; puVar8 = puVar8 + 4; memcpy(puVar8,_Src,(size_t)(local_4a + -(longlong)_Src + 1)); *(char *)((longlong)puVar8 + (longlong)(local_4a + -(longlong)_Src + 1)) = '\0'; local_e8 = puVar8; } puVar8 = local_e8; FUN_181232e20(param_2,"Content-Type: multipart/form-data; boundary=",""); uVar9 = FUN_181232d30(param_2,&local_e8); FUN_181232e20(uVar9,&DAT_1821dbb54,&DAT_1821dbb56); (*(code *)local_138[4])(&local_138,&DAT_1821dbb7c,2); uVar9 = FUN_18049d240(puVar8); (*(code *)local_138[4])(&local_138,puVar8,uVar9); if (0 < *(int *)(param_1 + 0x24)) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); do { if (uVar16 < *(uint *)(param_1 + 0x34)) { ppuVar18 = (undefined1 **)(*(longlong *)(param_1 + 0x28) + (longlong)(int)uVar16 * 8); } else { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar18 = &DAT_18267af68; } (*(code *)local_138[4])(&local_138,"\r\nContent-Disposition: form-data; name=\"",0x28); puVar10 = (undefined8 *)FUN_181249970(param_1 + 0x18,uVar16); uVar9 = *puVar10; uVar11 = FUN_18049d240(uVar9); (*(code *)local_138[4])(&local_138,uVar9,uVar11); (*(code *)local_138[4])(&local_138,"\"\r\n\r\n",5); uVar9 = FUN_18049d240(*ppuVar18); (*(code *)local_138[4])(&local_138,*ppuVar18,uVar9); (*(code *)local_138[4])(&local_138,&DAT_1821dbbd8,4); uVar9 = FUN_18049d240(puVar8); (*(code *)local_138[4])(&local_138,puVar8,uVar9); uVar16 = uVar16 + 1; } while ((int)uVar16 < *(int *)(param_1 + 0x24)); } plVar17 = *(longlong **)(param_1 + 0x38); plVar1 = plVar17 + *(int *)(param_1 + 0x44); for (; plVar17 != plVar1; plVar17 = plVar17 + 1) { lVar3 = *plVar17; (*(code *)local_138[4])(&local_138,"\r\nContent-Disposition: form-data; name=\"",0x28); uVar9 = FUN_18049d240(*(undefined8 *)(lVar3 + 0x10)); (*(code *)local_138[4])(&local_138,*(undefined8 *)(lVar3 + 0x10),uVar9); (*(code *)local_138[4])(&local_138,"\"; filename=\"",0xd); uVar9 = FUN_18049d240(*(undefined8 *)(lVar3 + 0x18)); (*(code *)local_138[4])(&local_138,*(undefined8 *)(lVar3 + 0x18),uVar9); (*(code *)local_138[4])(&local_138,&DAT_1821dbba4,3); if (**(char **)(lVar3 + 0x20) != '\0') { (*(code *)local_138[4])(&local_138,"Content-Type: ",0xe); uVar9 = FUN_18049d240(*(undefined8 *)(lVar3 + 0x20)); (*(code *)local_138[4])(&local_138,*(undefined8 *)(lVar3 + 0x20),uVar9); (*(code *)local_138[4])(&local_138,&DAT_1821dbc0c,2); } (*(code *)local_138[4])(&local_138,"Content-Transfer-Encoding: binary\r\n\r\n",0x25); puVar10 = *(undefined8 **)(lVar3 + 0x30); if (puVar10 == (undefined8 *)0x0) { FUN_18123efe0(&local_e0,lVar3 + 0x28); if (*local_c0 == '\0') { (*(code *)local_138[0x15])(&local_138,&local_e0,0xffffffffffffffff); local_e0 = juce::FileInputStream::vftable; CloseHandle(local_d0); puVar13 = (uint *)(local_c0 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar16 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar16 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_d8 + -0x10); puVar8 = local_e8; if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar16 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar16 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } } else { local_e0 = juce::FileInputStream::vftable; CloseHandle(local_d0); puVar13 = (uint *)(local_c0 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar16 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar16 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_d8 + -0x10); puVar8 = local_e8; if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar16 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar16 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } } } else if (puVar10[1] != 0) { (*(code *)local_138[4])(&local_138,*puVar10); } (*(code *)local_138[4])(&local_138,&DAT_1821dbc60,4); uVar9 = FUN_18049d240(puVar8); (*(code *)local_138[4])(&local_138,puVar8,uVar9); } (*(code *)local_138[4])(&local_138,&DAT_1821dbca0,4); puVar13 = puVar8 + -4; if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar16 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar16 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } } pvVar5 = local_100; ppvVar4 = local_128; local_138 = juce::MemoryOutputStream::vftable; if (((local_128 != &local_120) && (local_128 != (void **)0x0)) && (local_128[1] != local_100)) { pvVar12 = *local_128; if (local_100 == (void *)0x0) { /* WARNING: Subroutine does not return */ free(pvVar12); } if (pvVar12 == (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)0x0); } if (pvVar12 == (void *)0x0) { pvVar12 = malloc((size_t)local_100); } else { pvVar12 = realloc(pvVar12,(size_t)local_100); } *ppvVar4 = pvVar12; if (pvVar12 == (void *)0x0) { FUN_1804719e0(local_a8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_a8,(ThrowInfo *)&DAT_1825fec68); } ppvVar4[1] = pvVar5; } /* WARNING: Subroutine does not return */ free(local_120); } ############ FUN_ 181337fe0 size=2420 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181337fe0(int *param_1,longlong *param_2) { uint uVar1; wint_t wVar2; int *piVar3; longlong lVar4; void *_Src; longlong lVar5; undefined8 uVar6; int iVar7; uint *puVar8; char *pcVar9; undefined1 *puVar10; longlong lVar11; size_t sVar12; int iVar13; char *pcVar14; bool bVar15; undefined1 auStack_118 [32]; undefined1 *local_f8; char local_f0 [4]; undefined2 local_ec; char local_e8 [4]; undefined2 local_e4; char local_e0 [20]; undefined2 local_cc; undefined1 *local_c8; longlong *local_c0; longlong local_b8; undefined8 local_b0; char *local_a8; char *local_a0; char *local_98; char *local_90; undefined1 local_78 [16]; undefined1 local_68 [16]; undefined1 local_58 [16]; ulonglong local_48 [2]; local_b0 = 0xfffffffffffffffe; local_48[0] = DAT_182615970 ^ (ulonglong)auStack_118; local_c0 = param_2; local_f8 = &DAT_1821dbf98; puVar10 = &DAT_1821dbf98; if (0 < *param_1) { if ((param_1[2] == 0x2f) && (*param_1 != 0x1006f)) { FUN_18049c4e0(param_2,&DAT_1821e29ec); puVar8 = (uint *)(local_f8 + -0x10); if ((*puVar8 & 0x30000000) != 0) { } LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 != 0) { } goto LAB_18133871a; } if (((uint)param_1[1] >> 1 & 1) != 0) { lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while ((&DAT_1821dbf99)[lVar5] != '\0'); FUN_1812342b0(&local_f8,lVar5 + 8); puVar10 = local_f8 + (int)(lVar5 + 1); memcpy(puVar10,&DAT_1821e3e00,7); puVar10[7] = 0; } if ((*(byte *)(param_1 + 1) & 1) != 0) { lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (local_f8[lVar11] != '\0'); FUN_1812342b0(&local_f8,lVar5 + 9); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,&DAT_1821e3e30,8); puVar10[8] = 0; } if (((uint)param_1[1] >> 2 & 1) != 0) { lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (local_f8[lVar11] != '\0'); FUN_1812342b0(&local_f8,lVar5 + 7); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,&DAT_1821e2b5c,6); puVar10[6] = 0; } iVar13 = 0; iVar7 = *param_1; piVar3 = &DAT_18262b5d8; do { if (iVar7 == *piVar3) { if ((*(uint *)(local_f8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f8 + -0x10) = *(int *)(local_f8 + -0x10) + 1; UNLOCK(); } local_c8 = local_f8; FUN_1812465e0(param_2,&local_c8,(&PTR_s_spacebar_18262b5d0)[(longlong)iVar13 * 2]); puVar8 = (uint *)(local_f8 + -0x10); if ((*puVar8 & 0x30000000) != 0) { } LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 != 0) { } goto LAB_18133871a; } iVar13 = iVar13 + 1; piVar3 = piVar3 + 4; } while ((longlong)piVar3 < 0x18262b708); if (iVar7 - 0x10070U < 0x10) { local_f0[0] = 'F'; local_f0[1] = '\0'; lVar11 = -1; do { lVar4 = lVar11 + 1; lVar5 = lVar11 + 1; lVar11 = lVar4; } while (local_f0[lVar5] != '\0'); iVar7 = ((int)local_f0 + (int)lVar4) - (int)local_f0; if (0 < iVar7) { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_f8[lVar11] != '\0'); sVar12 = (size_t)iVar7; FUN_1812342b0(&local_f8,sVar12 + lVar11); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,local_f0,sVar12); puVar10[sVar12] = 0; } _Src = (void *)FUN_181233e10(local_78,*param_1 + -0x1006f); iVar7 = (int)local_78 - (int)_Src; puVar10 = local_f8; if (0 < iVar7) { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_f8[lVar11] != '\0'); LAB_18133846f: sVar12 = (size_t)iVar7; FUN_1812342b0(&local_f8,sVar12 + lVar11); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,_Src,sVar12); puVar10[sVar12] = 0; puVar10 = local_f8; } } else if (iVar7 - 0x10080U < 8) { local_ec = 0x46; lVar11 = -1; do { lVar4 = lVar11 + 1; lVar5 = lVar11 + 1; lVar11 = lVar4; } while (*(char *)((longlong)&local_ec + lVar5) != '\0'); iVar7 = ((int)&local_ec + (int)lVar4) - (int)&local_ec; if (0 < iVar7) { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_f8[lVar11] != '\0'); sVar12 = (size_t)iVar7; FUN_1812342b0(&local_f8,sVar12 + lVar11); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,&local_ec,sVar12); puVar10[sVar12] = 0; } _Src = (void *)FUN_181233e10(local_68,*param_1 + -0x1006f); iVar7 = (int)local_68 - (int)_Src; puVar10 = local_f8; if (0 < iVar7) { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_f8[lVar11] != '\0'); goto LAB_18133846f; } } else if (iVar7 - 0x31000U < 0xb) { local_e8[0] = 'F'; local_e8[1] = '\0'; lVar11 = -1; do { lVar4 = lVar11 + 1; lVar5 = lVar11 + 1; lVar11 = lVar4; } while (local_e8[lVar5] != '\0'); iVar7 = ((int)local_e8 + (int)lVar4) - (int)local_e8; if (0 < iVar7) { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_f8[lVar11] != '\0'); sVar12 = (size_t)iVar7; FUN_1812342b0(&local_f8,sVar12 + lVar11); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,local_e8,sVar12); puVar10[sVar12] = 0; } _Src = (void *)FUN_181233e10(local_58,*param_1 + -0x30fe7); iVar7 = (int)local_58 - (int)_Src; puVar10 = local_f8; if (0 < iVar7) { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_f8[lVar11] != '\0'); goto LAB_18133846f; } } else if (iVar7 - 0x10060U < 10) { lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (local_f8[lVar11] != '\0'); FUN_1812342b0(&local_f8,lVar5 + 8); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,"numpad ",7); puVar10[7] = 0; _Src = (void *)FUN_181233e10(local_48,*param_1 + -0x10060); iVar7 = (int)local_48 - (int)_Src; puVar10 = local_f8; if (0 < iVar7) { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_f8[lVar11] != '\0'); goto LAB_18133846f; } } else if (iVar7 - 0x21U < 0x8f) { wVar2 = towupper((wint_t)iVar7); FUN_181232b70(&local_f8,wVar2); puVar10 = local_f8; } else if (iVar7 == 0x1006b) { lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (local_f8[lVar11] != '\0'); FUN_1812342b0(&local_f8,lVar5 + 8); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,"numpad ",7); puVar10[7] = 0; local_e4 = 0x2b; lVar11 = -1; do { lVar4 = lVar11 + 1; lVar5 = lVar11 + 1; lVar11 = lVar4; } while (*(char *)((longlong)&local_e4 + lVar5) != '\0'); iVar7 = ((int)&local_e4 + (int)lVar4) - (int)&local_e4; puVar10 = local_f8; if (0 < iVar7) { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_f8[lVar11] != '\0'); sVar12 = (size_t)iVar7; FUN_1812342b0(&local_f8,sVar12 + lVar11); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,&local_e4,sVar12); puVar10[sVar12] = 0; puVar10 = local_f8; } } else if (iVar7 == 0x1006d) { lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (local_f8[lVar11] != '\0'); FUN_1812342b0(&local_f8,lVar5 + 8); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,"numpad ",7); puVar10[7] = 0; local_e0[0] = '-'; local_e0[1] = '\0'; lVar11 = -1; do { lVar4 = lVar11 + 1; lVar5 = lVar11 + 1; lVar11 = lVar4; } while (local_e0[lVar5] != '\0'); iVar7 = ((int)local_e0 + (int)lVar4) - (int)local_e0; puVar10 = local_f8; if (0 < iVar7) { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_f8[lVar11] != '\0'); sVar12 = (size_t)iVar7; FUN_1812342b0(&local_f8,lVar11 + sVar12); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,local_e0,sVar12); puVar10[sVar12] = 0; puVar10 = local_f8; } } else { if (iVar7 == 0x1006a) { lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (local_f8[lVar11] != '\0'); FUN_1812342b0(&local_f8,lVar5 + 8); puVar10 = local_f8 + (int)lVar11; memcpy(puVar10,"numpad ",7); puVar10[7] = 0; local_e0[4] = '*'; local_e0[5] = '\0'; lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (local_e0[lVar5 + 5] != '\0'); pcVar14 = local_e0 + lVar5 + 5; pcVar9 = local_e0 + 4; local_a8 = pcVar14; } else if (iVar7 == 0x1006f) { FUN_181232e20(&local_f8,"numpad ",""); local_e0[8] = '/'; local_e0[9] = '\0'; lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (local_e0[lVar5 + 9] != '\0'); pcVar14 = local_e0 + lVar5 + 9; pcVar9 = local_e0 + 8; local_a0 = pcVar14; } else if (iVar7 == 0x1006c) { FUN_181232e20(&local_f8,"numpad ",""); pcVar14 = ""; pcVar9 = "separator"; } else if (iVar7 == 0x1006e) { FUN_181232e20(&local_f8,"numpad ",""); local_e0[0xc] = '.'; local_e0[0xd] = '\0'; lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (local_e0[lVar5 + 0xd] != '\0'); pcVar14 = local_e0 + lVar5 + 0xd; pcVar9 = local_e0 + 0xc; local_98 = pcVar14; } else if (iVar7 == 0x10092) { FUN_181232e20(&local_f8,"numpad ",""); local_e0[0x10] = '='; local_e0[0x11] = '\0'; lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (local_e0[lVar5 + 0x11] != '\0'); pcVar14 = local_e0 + lVar5 + 0x11; pcVar9 = local_e0 + 0x10; local_90 = pcVar14; } else { if (iVar7 != 0x1002e) { uVar6 = FUN_18049bd10(&local_c0,iVar7); local_cc = 0x23; lVar11 = -1; do { lVar5 = lVar11; lVar11 = lVar5 + 1; } while (*(char *)((longlong)&local_cc + lVar5 + 1) != '\0'); local_b8 = (longlong)&local_cc + lVar5 + 1; FUN_181232e20(&local_f8,&local_cc); FUN_181232d30(&local_f8,uVar6); puVar8 = (uint *)(local_c0 + -2); puVar10 = local_f8; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } goto LAB_1813386eb; } FUN_181232e20(&local_f8,"numpad ",""); pcVar14 = ""; pcVar9 = "delete"; } FUN_181232e20(&local_f8,pcVar9,pcVar14); puVar10 = local_f8; } } LAB_1813386eb: *param_2 = (longlong)puVar10; local_f8 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); UNLOCK(); bVar15 = DAT_1821dbf88 == 0; DAT_1821dbf88 = DAT_1821dbf88 - 1; if (bVar15) { puVar8 = &DAT_1821dbf88; DAT_1821dbf88 = 0xffffffff; LAB_18133871a: /* WARNING: Subroutine does not return */ free(puVar8); } } } ############ FUN_ 180528f40 size=550 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180528f40(longlong *param_1) { uint uVar1; undefined8 uVar2; longlong lVar3; longlong *plVar4; uint *puVar5; uint *_Memory; int iVar6; undefined1 auStack_b8 [48]; longlong local_88; longlong local_80; longlong local_78; longlong local_70; longlong local_68; undefined8 local_58; undefined8 local_50; longlong *local_48; longlong *local_40; undefined1 local_19; ulonglong local_18 [2]; local_58 = 0xfffffffffffffffe; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_b8; local_50 = FUN_18113e800(param_1,0xa086d479,&DAT_1824ac560,0xe); uVar2 = FUN_18119aa60(*param_1 + 0x178,local_50); FUN_1811afd70(uVar2); iVar6 = 0; local_48 = &local_88; local_40 = &local_80; do { uVar2 = FUN_18113e800(); FUN_18049c4e0(&local_70,uVar2); lVar3 = FUN_181233e10(local_18,iVar6); FUN_180495150(&local_78,lVar3,&local_19 + -lVar3); uVar2 = FUN_18113e800(); FUN_18049c4e0(&local_88,uVar2); plVar4 = (longlong *)FUN_181232d30(&local_88,&local_78); local_80 = *plVar4; if ((*(uint *)(local_80 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_80 + -0x10) = *(int *)(local_80 + -0x10) + 1; UNLOCK(); } puVar5 = (uint *)(local_88 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } plVar4 = (longlong *)FUN_181232d30(&local_80,&local_70); local_68 = *plVar4; puVar5 = (uint *)(local_68 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } _Memory = (uint *)(local_80 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } uVar2 = FUN_18119aa60(*param_1 + 0x178,local_68); FUN_1811afd70(uVar2); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_78 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_70 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } iVar6 = iVar6 + 1; } while (iVar6 < 6); } ############ FUN_ 1812b2440 size=1226 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812b2440(undefined8 *param_1,int param_2) { uint uVar1; longlong lVar2; uint *_Memory; undefined1 auStack_88 [32]; undefined8 *local_68; undefined8 local_60; undefined1 local_39 [32]; undefined1 local_19; ulonglong local_18 [2]; local_60 = 0xfffffffffffffffe; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_88; local_68 = param_1; if (param_2 < 0x80) { switch(param_2) { case 1: FUN_18049c4e0(param_1,&DAT_1821e017c); break; case 2: FUN_18049c4e0(param_1,&DAT_1821e0194); break; case 3: FUN_18049c4e0(param_1,&DAT_1821e010c); break; case 4: FUN_18049c4e0(param_1,&DAT_1821e0164); break; case 5: FUN_18049c4e0(param_1,&DAT_1821e022c); break; case 6: FUN_18049c4e0(param_1,&DAT_1821e023c); break; case 7: FUN_18049c4e0(param_1,&DAT_1821e01dc); break; case 8: FUN_18049c4e0(param_1,&DAT_1821e01ec); break; case 9: FUN_18049c4e0(param_1,&DAT_1821e0314); break; case 10: FUN_18049c4e0(param_1,&DAT_1821e04cc); break; case 0xb: FUN_18049c4e0(param_1,&DAT_1821e04ac); break; case 0xc: FUN_18049c4e0(param_1,&DAT_1821e02cc); break; case 0xd: FUN_18049c4e0(param_1,&DAT_1821e037c); break; case 0xe: FUN_18049c4e0(param_1,&DAT_1821e03cc); break; case 0xf: FUN_18049c4e0(param_1,&DAT_1821e0354); break; case 0x10: FUN_18049c4e0(param_1,&DAT_1821e0364); break; case 0x11: FUN_18049c4e0(param_1,&DAT_1821e046c); break; case 0x12: FUN_18049c4e0(param_1,&DAT_1821e049c); break; case 0x13: FUN_18049c4e0(param_1,&DAT_1821e0e94); break; case 0x14: FUN_18049c4e0(param_1,&DAT_1821e033c); break; case 0x15: FUN_18049c4e0(param_1,&DAT_1821e0284); break; case 0x16: FUN_18049c4e0(param_1,&DAT_1821e0414); break; case 0x17: FUN_18049c4e0(param_1,&DAT_1821e0424); break; case 0x18: FUN_18049c4e0(param_1,&DAT_1821e0dc4); break; case 0x19: FUN_18049c4e0(param_1,&DAT_1821e0ff4); break; case 0x1a: FUN_18049c4e0(param_1,&DAT_1821e1164); break; case 0x1b: FUN_18049c4e0(param_1,&DAT_1821e0ec4); break; case 0x1c: FUN_18049c4e0(param_1,&DAT_1821e04dc); break; case 0x1d: FUN_18049c4e0(param_1,&DAT_1821e05f4); break; case 0x1e: FUN_18049c4e0(param_1,&DAT_1821e0f44); break; case 0x1f: FUN_18049c4e0(param_1,&DAT_1821e200c); break; case 0x20: FUN_18049c4e0(param_1,&DAT_1821e2014); break; case 0x21: FUN_18049c4e0(param_1,&DAT_1821e14c4); break; case 0x22: FUN_18049c4e0(param_1,&DAT_1821e2004); break; case 0x23: FUN_18049c4e0(param_1,&DAT_1821e201c); break; case 0x24: FUN_18049c4e0(param_1,"ACN10"); break; case 0x25: FUN_18049c4e0(param_1,"ACN11"); break; case 0x26: FUN_18049c4e0(param_1,"ACN12"); break; case 0x27: FUN_18049c4e0(param_1,"ACN13"); break; case 0x28: FUN_18049c4e0(param_1,"ACN14"); break; case 0x29: FUN_18049c4e0(param_1,"ACN15"); break; default: if (param_2 - 0x1eU < 0x20) { lVar2 = FUN_181233e10(local_18,param_2 + -0x1a); FUN_180495150(&local_68,lVar2,&local_19 + -lVar2); FUN_181246550(param_1,&DAT_1821e0e54,&local_68); _Memory = (uint *)(local_68 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } else { *param_1 = &DAT_1821dbf98; } break; case 0x3e: FUN_18049c4e0(param_1,&DAT_1821e0604); break; case 0x3f: FUN_18049c4e0(param_1,&DAT_1821e054c); break; case 0x40: FUN_18049c4e0(param_1,&DAT_1821e05cc); break; case 0x43: FUN_18049c4e0(param_1,&DAT_1821e0674); break; case 0x44: FUN_18049c4e0(param_1,&DAT_1821e0684); break; case 0x45: FUN_18049c4e0(param_1,&DAT_1821e0634); break; case 0x46: FUN_18049c4e0(param_1,&DAT_1821e0644); break; case 0x47: FUN_18049c4e0(param_1,&DAT_1821e06e4); } } else { lVar2 = FUN_181233e10(local_39 + 1,param_2 + -0x7f); FUN_180495150(param_1,lVar2,local_39 + -lVar2); } } ############ FUN_ 18141a8b0 size=662 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18141a8b0(longlong *param_1,float param_2,char param_3) { uint uVar1; longlong lVar2; longlong *plVar3; uint *puVar4; undefined *puVar5; char *pcVar6; double dVar7; undefined1 auStack_98 [32]; longlong *local_78; longlong local_70; longlong local_68; longlong local_60; longlong *local_58; double local_50; double local_48; undefined8 local_40; undefined1 local_19; ulonglong local_18 [2]; local_40 = 0xfffffffffffffffe; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_98; dVar7 = (double)(param_2 - DAT_1824c3d8c); local_78 = param_1; if ((float)(double)CONCAT44((uint)((ulonglong)dVar7 >> 0x20) & DAT_1824c4f10._4_4_, SUB84(dVar7,0) & (uint)DAT_1824c4f10) < DAT_1824c3c64) { FUN_18049c4e0(DAT_1824c3c64,&DAT_18227cd84); } if (DAT_1824c3d8c <= param_2) { local_48 = (double)((param_2 - DAT_1824c3d8c) * DAT_1824c4540) + DAT_1824c4520; if (SUB84(local_48,0) == 100) { pcVar6 = "right"; if (param_3 != '\0') { pcVar6 = "side"; } FUN_18049c4e0(&local_60,pcVar6); FUN_181246550(param_1,"only ",&local_60); puVar4 = (uint *)(local_60 + -0x10); uVar1 = *puVar4; } else { plVar3 = (longlong *)FUN_18124a960(&local_78,100 - SUB84(local_48,0)); local_58 = plVar3; FUN_181232e20(plVar3,&DAT_182360258,&DAT_182360260); lVar2 = *plVar3; *param_1 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(*plVar3 + -0x10); uVar1 = *puVar4; } } else { local_50 = (double)((DAT_1824c3d8c - param_2) * DAT_1824c4540) + DAT_1824c4520; if (SUB84(local_50,0) != 100) { lVar2 = FUN_181233e10(local_18,100 - SUB84(local_50,0)); FUN_180495150(&local_68,lVar2,&local_19 + -lVar2); plVar3 = (longlong *)FUN_181246550(&local_58,"100% | ",&local_68); local_78 = plVar3; FUN_181232e20(plVar3,&DAT_1821e71f4,&DAT_1821e71f5); lVar2 = *plVar3; *param_1 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(*plVar3 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_68 + -0x10); if ((*puVar4 & 0x30000000) != 0) { } LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); goto LAB_18141ab2b; } puVar5 = &DAT_18227d9f4; if (param_3 != '\0') { puVar5 = &DAT_1821e7334; } FUN_18049c4e0(&local_70,puVar5); FUN_181246550(param_1,"only ",&local_70); puVar4 = (uint *)(local_70 + -0x10); uVar1 = *puVar4; } if ((uVar1 & 0x30000000) != 0) { } LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); LAB_18141ab2b: if (uVar1 != 0) { } /* WARNING: Subroutine does not return */ free(puVar4); } ############ FUN_ 18124a960 size=69 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18124a960(undefined8 param_1) { longlong lVar1; undefined1 auStack_58 [63]; undefined1 local_19; ulonglong local_18 [2]; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_58; lVar1 = FUN_181233e10(local_18); FUN_180495150(param_1,lVar1,&local_19 + -lVar1); } ############ FUN_ 18141afd0 size=618 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18141afd0(longlong *param_1) { uint uVar1; uint uVar2; longlong lVar3; longlong *plVar4; undefined8 *puVar5; uint *puVar6; longlong *plVar7; int iVar8; float fVar9; undefined1 auStack_f8 [32]; uint local_d8; longlong *local_d0; undefined1 local_c8 [8]; longlong local_c0; longlong local_b8; longlong local_b0; longlong *local_a8; undefined1 local_a0 [8]; undefined8 local_98; longlong local_90; longlong local_88; undefined1 local_61 [32]; undefined1 local_41 [32]; undefined1 local_21; ulonglong local_20; local_98 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_f8; *param_1 = (longlong)&DAT_1821dbf98; local_d8 = 1; local_a8 = param_1; fVar9 = (float)roundf(); if (fVar9 < DAT_1824c459c) { lVar3 = FUN_181233e10(&local_20,(int)fVar9); FUN_180495150(&local_d0,lVar3,&local_21 + -lVar3); local_88 = *param_1; *param_1 = (longlong)local_d0; puVar6 = (uint *)(local_88 + -0x10); if ((*puVar6 & 0x30000000) != 0) { } LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); } else { iVar8 = (int)(fVar9 * DAT_1824c3c58); if ((int)((fVar9 * DAT_1824c3c58 - (float)iVar8) * DAT_1824c43e8) < 1) { FUN_18049c4e0(&local_b8,""); plVar7 = &local_b8; local_d8 = 5; } else { lVar3 = FUN_181233e10(local_61 + 1); FUN_180495150(&local_b0,lVar3,local_61 + -lVar3); plVar7 = &local_b0; local_d8 = 3; } FUN_18049c4e0(&local_c0,&DAT_1821e4b6c); lVar3 = FUN_181233e10(local_41 + 1,iVar8); FUN_180495150(local_c8,lVar3,local_41 + -lVar3); plVar4 = (longlong *)FUN_181232aa0(local_a0,local_c8,&local_c0); local_d0 = plVar4; puVar5 = (undefined8 *)FUN_181232d30(plVar4,plVar7); local_a8 = (longlong *)*puVar5; if ((*(uint *)(local_a8 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_a8 + -2) = (int)local_a8[-2] + 1; UNLOCK(); } uVar1 = local_d8 | 8; puVar6 = (uint *)(*plVar4 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { local_d8 = uVar1; /* WARNING: Subroutine does not return */ free(puVar6); } } local_90 = *param_1; *param_1 = (longlong)local_a8; puVar6 = (uint *)(local_90 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { local_d8 = uVar1; /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_c0 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { local_d8 = uVar1; /* WARNING: Subroutine does not return */ free(puVar6); } } if ((local_d8 & 4) != 0) { local_d8 = local_d8 & 0xfffffffb | 8; puVar6 = (uint *)(local_b8 + -0x10); uVar1 = local_d8; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } local_d8 = uVar1; if ((local_d8 & 2) == 0) { } puVar6 = (uint *)(local_b0 + -0x10); if ((*puVar6 & 0x30000000) != 0) { } LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); } if (uVar1 != 0) { } /* WARNING: Subroutine does not return */ free(puVar6); } ############ FUN_ 181212060 size=69 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181212060(undefined8 param_1) { longlong lVar1; undefined1 auStack_58 [63]; undefined1 local_19; ulonglong local_18 [2]; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_58; lVar1 = FUN_181233e10(local_18); FUN_180495150(param_1,lVar1,&local_19 + -lVar1); } ############ FUN_ 18053f600 size=282 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18053f600(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { uint uVar1; longlong lVar2; undefined8 uVar3; longlong *plVar4; uint *puVar5; undefined1 auStack_98 [32]; undefined1 local_78 [8]; longlong local_70; longlong local_68; undefined1 local_60 [8]; undefined8 local_58; longlong *local_50; undefined1 local_29; ulonglong local_28 [2]; local_58 = 0xfffffffffffffffe; local_28[0] = DAT_182615970 ^ (ulonglong)auStack_98; lVar2 = FUN_181233e10(local_28); FUN_180495150(&local_68,lVar2,&local_29 + -lVar2); uVar3 = FUN_181246550(local_60,&DAT_1824ace68,&local_68); plVar4 = (longlong *)FUN_1812465e0(local_78,uVar3,param_3); local_50 = plVar4; FUN_181211fd0(&local_70,param_4); FUN_18122c880(param_1,plVar4,&local_70); puVar5 = (uint *)(local_70 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(*plVar4 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_68 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } ############ FUN_ 180540390 size=191 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180540390(undefined8 param_1,undefined8 param_2,undefined4 param_3) { uint uVar1; longlong lVar2; uint *puVar3; undefined1 auStack_68 [32]; longlong local_48; longlong local_40 [5]; undefined1 local_11; ulonglong local_10; local_40[1] = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_68; FUN_18049c4e0(local_40); lVar2 = FUN_181233e10(&local_10,param_3); FUN_180495150(&local_48,lVar2,&local_11 + -lVar2); FUN_18122c880(param_1,local_40,&local_48); puVar3 = (uint *)(local_48 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(local_40[0] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } } ############ FUN_ 1805406a0 size=365 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805406a0(undefined8 param_1,undefined4 param_2,longlong param_3,undefined4 param_4) { uint uVar1; longlong lVar2; longlong *plVar3; uint *_Memory; uint *puVar4; undefined1 auStack_88 [32]; longlong *local_68; longlong local_60; longlong local_58; undefined1 local_50 [8]; undefined8 local_48; undefined1 local_21; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_88; FUN_181211fd0(&local_58,param_4); lVar2 = FUN_181233e10(&local_20,param_2); FUN_180495150(&local_60,lVar2,&local_21 + -lVar2); plVar3 = (longlong *)FUN_181246550(local_50,&DAT_1824acc54,&local_60); lVar2 = -1; do { lVar2 = lVar2 + 1; } while (*(char *)(param_3 + lVar2) != '\0'); local_68 = plVar3; FUN_181232e20(plVar3,param_3,lVar2 + param_3); local_68 = (longlong *)*plVar3; puVar4 = (uint *)(local_68 + -2); if ((*puVar4 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } _Memory = (uint *)(*plVar3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18122c880(param_1,&local_68,&local_58); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_60 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_58 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } ############ FUN_ 180540830 size=1193 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180540830(int *param_1,undefined8 param_2,int param_3) { uint uVar1; longlong lVar2; longlong *plVar3; uint *puVar4; uint *puVar5; longlong lVar6; void *_Dst; int *piVar7; int iVar8; undefined1 auStack_118 [32]; longlong local_f8; longlong local_f0; int local_e8; longlong *local_e0; longlong local_d8; longlong local_d0; longlong local_c8; longlong local_c0; longlong local_b8; longlong local_b0; longlong local_a8; longlong local_a0; int *local_98; longlong local_90; longlong local_88; int *local_80; undefined8 local_78; undefined1 local_51 [32]; undefined1 local_31; ulonglong local_30; local_78 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_118; local_98 = param_1; FUN_18049c4e0(&local_d0,"NumCuePoints"); FUN_181211fd0(&local_d8,*param_1); FUN_18122c880(param_2,&local_d0,&local_d8); puVar4 = (uint *)(local_d8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_d0 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (0 < *param_1) { local_80 = (int *)((longlong)param_1 + (longlong)param_3); piVar7 = param_1 + 2; iVar8 = 0; do { local_e8 = iVar8 + 1; if (local_80 < param_1 + (longlong)local_e8 * 6 + 1) { } FUN_181211fd0(&local_b8,piVar7[-1]); lVar2 = FUN_181233e10(local_51 + 1,iVar8); FUN_180495150(&local_c0,lVar2,local_51 + -lVar2); FUN_18049c4e0(&local_c8,&DAT_1824acc54); plVar3 = (longlong *)FUN_181232d30(&local_c8,&local_c0); local_f8 = *plVar3; if ((*(uint *)(local_f8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f8 + -0x10) = *(int *)(local_f8 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(local_c8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } local_e0 = &local_f8; lVar2 = -1; do { lVar6 = lVar2; lVar2 = lVar6 + 1; } while (*(char *)(local_f8 + lVar2) != '\0'); FUN_1812342b0(&local_f8,lVar6 + 0xb); _Dst = (void *)((int)lVar2 + local_f8); memcpy(_Dst,"Identifier",10); param_1 = local_98; *(undefined1 *)((longlong)_Dst + 10) = 0; local_90 = local_f8; puVar4 = (uint *)(local_f8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } puVar5 = (uint *)(local_f8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_18122c880(param_2,&local_90,&local_b8); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_c0 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_b8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_181211fd0(&local_a0,*piVar7); lVar2 = FUN_181233e10(&local_30,iVar8); FUN_180495150(&local_a8,lVar2,&local_31 + -lVar2); FUN_18049c4e0(&local_b0,&DAT_1824acc54); plVar3 = (longlong *)FUN_181232d30(&local_b0,&local_a8); local_f0 = *plVar3; if ((*(uint *)(local_f0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f0 + -0x10) = *(int *)(local_f0 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(local_b0 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } local_e0 = &local_f0; FUN_181232e20(&local_f0,"Order",""); local_88 = local_f0; puVar4 = (uint *)(local_f0 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } puVar5 = (uint *)(local_f0 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_18122c880(param_2,&local_88,&local_a0); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_a8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_a0 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_1805406a0(param_2,iVar8,"ChunkID",piVar7[1]); FUN_1805406a0(param_2,iVar8,"ChunkStart",piVar7[2]); FUN_1805406a0(param_2,iVar8,"BlockStart",piVar7[3]); FUN_1805406a0(param_2,iVar8,"Offset",piVar7[4]); piVar7 = piVar7 + 6; iVar8 = local_e8; } while (local_e8 < *param_1); } } ############ FUN_ 18054c1e0 size=339 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18054c1e0(longlong param_1,undefined8 *param_2) { uint uVar1; longlong lVar2; longlong *plVar3; uint *puVar4; int iVar5; undefined1 auStack_88 [32]; uint local_68; longlong local_60; longlong local_58; longlong local_50 [2]; undefined8 *local_40; undefined1 local_19; ulonglong local_18 [2]; local_50[1] = 0xfffffffffffffffe; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_88; *param_2 = 0; param_2[1] = 0; local_68 = 1; if ((*(longlong *)(param_1 + 0x248) != 0) && (iVar5 = 1, local_40 = param_2, 0 < *(int *)(*(longlong *)(param_1 + 0x248) + 0x2c))) { do { lVar2 = FUN_181233e10(local_18,iVar5); FUN_180495150(local_50,lVar2,&local_19 + -lVar2); FUN_18049c4e0(&local_58,"Output channel "); plVar3 = (longlong *)FUN_181232d30(&local_58,local_50); local_60 = *plVar3; if ((*(uint *)(local_60 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_60 + -0x10) = *(int *)(local_60 + -0x10) + 1; UNLOCK(); } local_68 = local_68 | 2; puVar4 = (uint *)(local_58 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_18122dc00(param_2,&local_60); puVar4 = (uint *)(local_50[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } iVar5 = iVar5 + 1; } while (iVar5 <= *(int *)(*(longlong *)(param_1 + 0x248) + 0x2c)); } } ############ FUN_ 18054c350 size=339 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18054c350(longlong param_1,undefined8 *param_2) { uint uVar1; longlong lVar2; longlong *plVar3; uint *puVar4; int iVar5; undefined1 auStack_88 [32]; uint local_68; longlong local_60; longlong local_58; longlong local_50 [2]; undefined8 *local_40; undefined1 local_19; ulonglong local_18 [2]; local_50[1] = 0xfffffffffffffffe; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_88; *param_2 = 0; param_2[1] = 0; local_68 = 1; if ((*(longlong *)(param_1 + 0x240) != 0) && (iVar5 = 1, local_40 = param_2, 0 < *(int *)(*(longlong *)(param_1 + 0x240) + 0x2c))) { do { lVar2 = FUN_181233e10(local_18,iVar5); FUN_180495150(local_50,lVar2,&local_19 + -lVar2); FUN_18049c4e0(&local_58,"Input channel "); plVar3 = (longlong *)FUN_181232d30(&local_58,local_50); local_60 = *plVar3; if ((*(uint *)(local_60 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_60 + -0x10) = *(int *)(local_60 + -0x10) + 1; UNLOCK(); } local_68 = local_68 | 2; puVar4 = (uint *)(local_58 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_18122dc00(param_2,&local_60); puVar4 = (uint *)(local_50[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } iVar5 = iVar5 + 1; } while (iVar5 <= *(int *)(*(longlong *)(param_1 + 0x240) + 0x2c)); } } ############ FUN_ 1813b43e0 size=499 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813b43e0(longlong param_1,int param_2) { uint uVar1; longlong lVar2; uint *_Memory; char *pcVar3; undefined1 auStack_68 [32]; longlong local_48 [5]; undefined1 local_19; ulonglong local_18 [2]; local_48[1] = 0xfffffffffffffffe; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_68; local_48[0] = param_1; if (param_2 < -0x7787fff5) { if (param_2 == -0x7787fff6) { pcVar3 = "Device already allocated"; } else if (param_2 < -0x7ffbfeef) { if (param_2 == -0x7ffbfef0) { pcVar3 = "No aggregation"; } else if (param_2 == -0x7fffbfff) { pcVar3 = "Unsupported function"; } else if (param_2 == -0x7fffbffe) { pcVar3 = "No interface"; } else { if (param_2 != -0x7fffbffb) goto LAB_1813b4540; pcVar3 = "Generic error"; } } else if (param_2 == -0x7ff8fff2) { pcVar3 = "Out of memory"; } else { if (param_2 != -0x7ff8ffa9) { LAB_1813b4540: lVar2 = FUN_181233e10(local_18); FUN_180495150(local_48,lVar2,&local_19 + -lVar2); FUN_181246550(param_1,"Unknown error: ",local_48); _Memory = (uint *)(local_48[0] + -0x10); if ((*_Memory & 0x30000000) != 0) { } LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 != 0) { } /* WARNING: Subroutine does not return */ free(_Memory); } pcVar3 = "Invalid parameter"; } } else if (param_2 < -0x7787ff7d) { if (param_2 == -0x7787ff7e) { pcVar3 = "Already initialised"; } else if (param_2 == -0x7787ffe2) { pcVar3 = "Control unavailable"; } else if (param_2 == -0x7787ffce) { pcVar3 = "Invalid call"; } else if (param_2 == -0x7787ffba) { pcVar3 = "Priority level error"; } else if (param_2 == -0x7787ff9c) { pcVar3 = "Bad format"; } else { if (param_2 != -0x7787ff88) goto LAB_1813b4540; pcVar3 = "No driver"; } } else if (param_2 == -0x7787ff6a) { pcVar3 = "Buffer lost"; } else if (param_2 == -0x7787ff60) { pcVar3 = "Another app has priority"; } else if (param_2 == -0x7787ff56) { pcVar3 = "Uninitialised"; } else { if (param_2 != 0) goto LAB_1813b4540; pcVar3 = "No error"; } FUN_18049c4e0(param_1,pcVar3); } ############ FUN_ 1816116b0 size=1495 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1816116b0(undefined8 *param_1,undefined8 param_2) { undefined8 *puVar1; undefined8 *puVar2; uint uVar3; int iVar4; undefined8 *puVar5; longlong lVar6; longlong *plVar7; undefined8 uVar8; uint *puVar9; uint *puVar10; uint *_Memory; longlong lVar11; void *pvVar12; undefined8 *puVar13; int iVar14; size_t _Size; undefined1 auStack_188 [32]; longlong local_168; longlong local_160; undefined8 local_158; longlong local_150; longlong local_148; longlong local_140; longlong local_138; undefined8 *local_130; undefined8 local_128; longlong local_118; longlong local_110; longlong local_108; undefined8 local_100; undefined8 *local_f8; undefined8 local_f0; undefined8 *local_e8; longlong *local_e0; longlong *local_d8; undefined **local_d0; undefined8 *local_c8; undefined ***local_98; undefined1 local_71 [32]; undefined1 local_51; ulonglong local_50 [3]; local_f0 = 0xfffffffffffffffe; local_50[0] = DAT_182615970 ^ (ulonglong)auStack_188; local_158 = param_2; local_f8 = param_1; local_e8 = param_1; FUN_18049c4e0(&local_118,"GraphLegend"); *param_1 = juce::Component::vftable; param_1[1] = local_118; puVar9 = (uint *)(local_118 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } param_1[2] = &DAT_1821dbf98; iVar14 = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } param_1[0x17] = 0; *(undefined1 *)(param_1 + 0x18) = 0; *param_1 = GraphLegend::vftable; param_1[0x16] = GraphLegend::vftable; param_1[0x19] = GraphLegend::vftable; param_1[0x1a] = param_2; *(undefined1 *)(param_1 + 0x1b) = 0; FUN_181408890(param_1 + 0x1c); param_1[0x50] = 0; local_130 = param_1 + 0x51; *local_130 = 0; param_1[0x52] = 0; param_1[0x53] = 0; param_1[0x54] = 0; param_1[0x55] = 0; param_1[0x56] = 0; param_1[0x57] = 0; param_1[0x58] = 0; param_1[0x59] = 0; param_1[0x5a] = 0; param_1[0x5b] = 0; param_1[0x5c] = 0; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xef | 8; local_e0 = &local_168; local_d8 = &local_160; local_128 = 3; do { lVar6 = FUN_181233e10(local_71 + 1,iVar14); FUN_180495150(&local_138,lVar6,local_71 + -lVar6); FUN_18049c4e0(&local_150,&DAT_1822df2a4); plVar7 = (longlong *)FUN_181232d30(&local_150,&local_138); local_168 = *plVar7; if ((*(uint *)(local_168 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_168 + -0x10) = *(int *)(local_168 + -0x10) + 1; UNLOCK(); } puVar9 = (uint *)(local_150 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } lVar6 = -1; do { lVar11 = lVar6; lVar6 = lVar11 + 1; } while (*(char *)(local_168 + lVar6) != '\0'); FUN_1812342b0(&local_168,lVar11 + 9); pvVar12 = (void *)((int)lVar6 + local_168); memcpy(pvVar12," balance",8); *(undefined1 *)((longlong)pvVar12 + 8) = 0; iVar4 = (int)local_128; local_110 = local_168; puVar9 = (uint *)(local_168 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } puVar10 = (uint *)(local_168 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_100 = FUN_18119aa60(local_158,local_168); lVar6 = FUN_181233e10(local_50,iVar14); FUN_180495150(&local_140,lVar6,&local_51 + -lVar6); FUN_18049c4e0(&local_148,&DAT_1822de4a4); plVar7 = (longlong *)FUN_181232d30(&local_148,&local_140); local_160 = *plVar7; if ((*(uint *)(local_160 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_160 + -0x10) = *(int *)(local_160 + -0x10) + 1; UNLOCK(); } puVar10 = (uint *)(local_148 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if (0 < iVar4) { lVar6 = -1; do { lVar6 = lVar6 + 1; } while (*(char *)(local_160 + lVar6) != '\0'); _Size = (size_t)iVar4; FUN_1812342b0(&local_160,lVar6 + _Size); pvVar12 = (void *)((int)lVar6 + local_160); memcpy(pvVar12,&DAT_182219294,_Size); *(undefined1 *)((longlong)pvVar12 + _Size) = 0; } local_108 = local_160; puVar10 = (uint *)(local_160 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } _Memory = (uint *)(local_160 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } uVar8 = FUN_18119aa60(local_158,local_160); puVar5 = local_f8; *local_130 = uVar8; local_130[1] = local_100; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_140 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_138 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } iVar14 = iVar14 + 1; local_130 = local_130 + 2; } while (iVar14 < 6); puVar1 = local_f8 + 0x5d; puVar2 = local_f8 + 0x19; for (puVar13 = local_f8 + 0x51; puVar13 != puVar1; puVar13 = puVar13 + 2) { uVar8 = puVar13[1]; FUN_1811be290(*puVar13,puVar2); FUN_1811be290(uVar8,puVar2); } uVar8 = FUN_18119aa60(local_158,"stereo mode"); FUN_1811be290(uVar8,puVar2); FUN_181410d30(puVar5 + 0x1c,"alpha",DAT_1824c3ea4); local_d0 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_c8 = puVar5; local_98 = &local_d0; FUN_181410000(puVar5 + 0x1c,&local_d0); FUN_181610f90(puVar5); } ############ FUN_ 18058e520 size=251 ############ /* 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,float *param_2) { uint *_Memory; float fVar1; uint uVar2; undefined4 uVar3; undefined4 uVar4; longlong lVar5; int iVar6; undefined4 uVar7; undefined1 auStack_a8 [32]; undefined4 local_88; longlong local_78 [5]; undefined1 local_49; ulonglong local_48 [8]; uVar4 = DAT_1824c4680; uVar3 = DAT_1824c3ea4; local_78[1] = 0xfffffffffffffffe; local_48[0] = DAT_182615970 ^ (ulonglong)auStack_a8; fVar1 = *param_2; iVar6 = 0; if (0 < *(int *)(*(longlong *)(param_1 + 8) + 0x9878)) { do { uVar7 = uVar3; if ((int)fVar1 != iVar6) { uVar7 = 0; } lVar5 = FUN_181233e10(local_48,iVar6); FUN_180495150(local_78,lVar5,&local_49 + -lVar5); lVar5 = local_78[0]; local_88 = uVar4; FUN_181411be0(*(undefined8 *)(*(longlong *)(param_1 + 8) + 0x98a0),local_78[0],uVar7,uVar4); _Memory = (uint *)(lVar5 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar6 = iVar6 + 1; } while (iVar6 < *(int *)(*(longlong *)(param_1 + 8) + 0x9878)); } } ############ FUN_ 18114d930 size=699 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18114d930(longlong param_1,undefined8 param_2,longlong *param_3,undefined4 param_4, undefined1 param_5) { uint *_Memory; int *piVar1; uint uVar2; int iVar3; longlong lVar4; undefined8 uVar5; undefined8 uVar6; longlong *plVar7; uint *puVar8; undefined8 *puVar9; undefined1 auStack_118 [32]; longlong local_f8; undefined1 *local_f0; undefined4 local_e8; longlong local_e0; longlong local_d8; longlong local_d0; undefined4 local_c8; undefined1 local_c4; undefined8 local_c0; longlong local_b8; longlong *local_b0; undefined **local_a8; undefined1 *local_a0; longlong local_98; ushort local_90; undefined1 local_78 [31]; undefined1 local_59; ulonglong local_58 [4]; local_c0 = 0xfffffffffffffffe; local_58[0] = DAT_182615970 ^ (ulonglong)auStack_118; local_e8 = 0; _ftime64_s(&local_98); local_d8 = local_98 * 1000 + (ulonglong)local_90; local_d0 = *param_3; _Memory = (uint *)(local_d0 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_c4 = param_5; local_c8 = param_4; local_b8 = param_1; iVar3 = _Mtx_lock(param_1); if (iVar3 != 0) { std::_Throw_C_error(iVar3); } FUN_18114d800(param_1,param_2); FUN_18049c4e0(&local_f8,&DAT_182495df0); local_b0 = &local_f8; local_f0 = &DAT_1821dbf98; local_e8 = 2; lVar4 = FUN_181233ea0(local_58,local_d8); FUN_180495150(&local_e0,lVar4,&local_59 + -lVar4); uVar5 = FUN_181232d30(&local_f0,&local_e0); if ((*(uint *)(local_e0 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_e0 + -0x10); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_e0 + -0x10)); } } uVar5 = FUN_181232d30(uVar5,&local_f8); uVar5 = FUN_181232d30(uVar5,&local_d0); uVar5 = FUN_181232d30(uVar5,&local_f8); uVar5 = FUN_181245f80(uVar5,param_4); uVar5 = FUN_181232d30(uVar5,&local_f8); uVar6 = FUN_181233e10(local_78,param_5); FUN_181232e20(uVar5,uVar6,local_78); puVar8 = (uint *)(local_f8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_a8 = &PTR_vftable_18262b560; local_a0 = local_f0; local_f0 = &DAT_1821dbf98; plVar7 = (longlong *)FUN_180485c50(*(longlong *)(param_1 + 0x58) + 0x30,param_2); iVar3 = *(int *)((longlong)plVar7 + 0xc) + 1; if ((int)plVar7[1] < iVar3) { FUN_180489a50(plVar7,*(int *)((longlong)plVar7 + 0xc) + 9 + iVar3 / 2 & 0xfffffff8); } iVar3 = *(int *)((longlong)plVar7 + 0xc); *(int *)((longlong)plVar7 + 0xc) = iVar3 + 1; puVar9 = (undefined8 *)((longlong)iVar3 * 0x10 + *plVar7); *puVar9 = local_a8; puVar9[1] = local_a0; local_a8 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_a0); puVar8 = (uint *)(local_f0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } iVar3 = _Mtx_unlock(param_1); if (iVar3 != 0) { std::_Throw_C_error(iVar3); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 181211ce0 size=66 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181211ce0(longlong *param_1) { longlong lVar1; undefined1 auStack_58 [63]; undefined1 local_19; ulonglong local_18 [3]; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_58; lVar1 = FUN_181233e10(local_18); (**(code **)(*param_1 + 0x20))(param_1,lVar1,&local_19 + -lVar1); } ############ FUN_ 181220aa0 size=148 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181220aa0(undefined8 param_1,undefined8 param_2,undefined4 param_3) { uint uVar1; longlong lVar2; uint *_Memory; undefined1 auStack_68 [32]; longlong local_48 [5]; undefined1 local_19; ulonglong local_18 [2]; local_48[1] = 0xfffffffffffffffe; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_68; lVar2 = FUN_181233e10(local_18,param_3); FUN_180495150(local_48,lVar2,&local_19 + -lVar2); FUN_181246b70(param_1,param_2,local_48); _Memory = (uint *)(local_48[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 181228830 size=1229 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181228830(longlong *param_1,undefined8 param_2) { errno_t eVar1; int iVar2; undefined4 uVar3; int iVar4; longlong *plVar5; void *_Src; longlong lVar6; undefined8 uVar7; undefined8 uVar8; longlong lVar9; uint uVar10; uint *puVar11; size_t sVar12; longlong lVar13; undefined1 *puVar14; undefined1 auStack_138 [32]; char local_118 [4]; undefined2 local_114; char local_110 [8]; undefined1 *local_108; longlong local_100; longlong local_f8; longlong local_f0; tm local_e8; undefined8 local_c0; undefined4 *local_b8; longlong local_b0; char *local_a8; undefined1 *local_a0; undefined1 *local_98; undefined1 *local_90; undefined1 local_78 [16]; undefined1 local_68 [16]; undefined1 local_58 [16]; undefined1 local_48 [16]; ulonglong local_38 [2]; local_c0 = 0xfffffffffffffffe; local_38[0] = DAT_182615970 ^ (ulonglong)auStack_138; local_108 = &DAT_1821dbf98; local_f0 = *param_1 / 1000; eVar1 = _localtime64_s(&local_e8,&local_f0); if (eVar1 != 0) { local_e8.tm_sec = 0; local_e8.tm_min = 0; local_e8.tm_hour = 0; local_e8.tm_mday = 0; local_e8.tm_mon = 0; local_e8.tm_year = 0; local_e8.tm_wday = 0; local_e8.tm_yday = 0; local_e8.tm_isdst = 0; } FUN_18049c4e0(&local_100,(&DAT_1821dbfa0)[local_e8.tm_mon % 0xc]); lVar13 = DAT_1826739f8; local_b8 = &DAT_182673984; do { LOCK(); uVar10 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar10 != 0); if (DAT_1826739f8 == 0) { local_f8 = local_100; uVar10 = *(uint *)(local_100 + -0x10); } else { if (*(longlong *)(DAT_1826739f8 + 0x40) != 0) { iVar2 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_100,*(undefined1 *)(DAT_1826739f8 + 0x38),0); if (iVar2 < 0) { FUN_181234570(*(undefined8 *)(lVar13 + 0x40),&local_f8,&local_100,&local_100); goto LAB_1812289be; } } iVar2 = FUN_1812498b0(lVar13 + 0x18,local_100,*(undefined1 *)(lVar13 + 0x38),0); if (iVar2 < 0) { local_f8 = local_100; uVar10 = *(uint *)(local_100 + -0x10); } else { plVar5 = (longlong *)FUN_181249970(lVar13 + 0x28,iVar2); local_f8 = *plVar5; uVar10 = *(uint *)(local_f8 + -0x10); } } if ((uVar10 & 0x30000000) == 0) { LOCK(); *(int *)(local_f8 + -0x10) = *(int *)(local_f8 + -0x10) + 1; UNLOCK(); } LAB_1812289be: LOCK(); DAT_182673984 = 0; UNLOCK(); puVar11 = (uint *)(local_100 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } uVar3 = FUN_1812286b0(param_1); _Src = (void *)FUN_181233e10(local_78,uVar3); iVar2 = (int)local_78 - (int)_Src; if (0 < iVar2) { lVar13 = -1; do { lVar13 = lVar13 + 1; } while (local_108[lVar13] != '\0'); sVar12 = (size_t)iVar2; FUN_1812342b0(&local_108,sVar12 + lVar13); puVar14 = local_108 + (int)lVar13; memcpy(puVar14,_Src,sVar12); puVar14[sVar12] = 0; } local_118[0] = ' '; local_118[1] = '\0'; lVar13 = -1; do { lVar6 = lVar13 + 1; lVar9 = lVar13 + 1; lVar13 = lVar6; } while (local_118[lVar9] != '\0'); iVar2 = ((int)local_118 + (int)lVar6) - (int)local_118; if (0 < iVar2) { lVar13 = -1; do { lVar13 = lVar13 + 1; } while (local_108[lVar13] != '\0'); sVar12 = (size_t)iVar2; FUN_1812342b0(&local_108,sVar12 + lVar13); puVar14 = local_108 + (int)lVar13; memcpy(puVar14,local_118,sVar12); puVar14[sVar12] = 0; } uVar7 = FUN_181232d30(&local_108,&local_f8); local_114 = 0x20; lVar13 = -1; do { lVar9 = lVar13; lVar13 = lVar9 + 1; } while (*(char *)((longlong)&local_114 + lVar9 + 1) != '\0'); local_b0 = (longlong)&local_114 + lVar9 + 1; FUN_181232e20(uVar7,&local_114); uVar3 = FUN_181245c50(param_1); uVar8 = FUN_181233e10(local_68,uVar3); FUN_181232e20(uVar7,uVar8,local_68); puVar11 = (uint *)(local_f8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } local_110[0] = ' '; local_110[1] = '\0'; lVar13 = -1; do { lVar9 = lVar13; lVar13 = lVar9 + 1; } while (local_110[lVar9 + 1] != '\0'); local_a8 = local_110 + lVar9 + 1; FUN_181232e20(&local_108,local_110); iVar2 = FUN_181228600(param_1); iVar4 = FUN_181228660(param_1); if (iVar4 == 0) { iVar4 = 0xc; } else if (0xc < iVar4) { iVar4 = iVar4 + -0xc; } uVar7 = FUN_181233e10(local_58,iVar4); FUN_181232e20(&local_108,uVar7,local_58); local_a0 = &DAT_1821dacac; if (iVar2 < 10) { local_a0 = &DAT_1821daccc; } lVar13 = -1; do { lVar13 = lVar13 + 1; } while (local_a0[lVar13] != '\0'); local_a0 = local_a0 + lVar13; FUN_181232e20(&local_108); uVar7 = FUN_181233e10(local_48,iVar2); FUN_181232e20(&local_108,uVar7,local_48); iVar2 = FUN_181228590(param_1); local_98 = &DAT_1821dad34; if (iVar2 < 10) { local_98 = &DAT_1821dad54; } lVar13 = -1; do { lVar13 = lVar13 + 1; } while (local_98[lVar13] != '\0'); local_98 = local_98 + lVar13; FUN_181232e20(&local_108); uVar7 = FUN_181233e10(local_38,iVar2); FUN_181232e20(&local_108,uVar7,local_38); iVar2 = FUN_181228660(param_1); local_90 = &DAT_1821dad94; if (0xb < iVar2) { local_90 = &DAT_1821dadac; } lVar13 = -1; do { lVar13 = lVar13 + 1; } while (local_90[lVar13] != '\0'); local_90 = local_90 + lVar13; FUN_181232e20(&local_108); FUN_181230800(&local_108,param_2); puVar11 = (uint *)(local_108 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } } ############ FUN_ 18122e210 size=71 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18122e210(longlong *param_1) { longlong lVar1; undefined1 auStack_58 [63]; undefined1 local_19; ulonglong local_18 [2]; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_58; lVar1 = FUN_181233e10(local_18); (**(code **)(*param_1 + 0x20))(param_1,lVar1,&local_19 + -lVar1); } ############ FUN_ 181232b20 size=66 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181232b20(undefined8 param_1) { undefined8 uVar1; undefined1 auStack_48 [48]; ulonglong local_18 [2]; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_48; uVar1 = FUN_181233e10(local_18); FUN_181232e20(param_1,uVar1,local_18); } ############ FUN_ 181233920 size=72 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181233920(undefined8 param_1,short param_2) { longlong lVar1; undefined1 auStack_58 [63]; undefined1 local_19; ulonglong local_18 [2]; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_58; lVar1 = FUN_181233e10(local_18,(int)param_2); FUN_180495150(param_1,lVar1,&local_19 + -lVar1); } ############ FUN_ 181237540 size=997 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181237540(ushort *param_1,longlong *param_2) { uint uVar1; char cVar2; ushort uVar3; longlong lVar4; int iVar5; longlong lVar6; undefined4 *puVar7; longlong lVar8; ushort uVar9; uint *puVar10; longlong *plVar11; ushort *_Dst; char *pcVar12; longlong lVar13; void *pvVar14; size_t sVar15; void *_Dst_00; bool bVar16; undefined1 auStack_118 [32]; char local_f8 [4]; undefined2 local_f4; char local_f0 [8]; undefined4 *local_e8; longlong *local_e0; ushort *local_d8; longlong *local_d0; undefined8 local_c8; char *local_c0; longlong local_b8; undefined1 local_a0 [30]; char local_82 [5]; undefined1 auStack_7d [12]; char acStack_71 [15]; char local_62 [5]; undefined1 auStack_5d [12]; char acStack_51 [16]; undefined1 local_41; ulonglong local_40; local_c8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_118; local_d0 = param_2; local_e0 = param_2; local_d8 = param_1; if ((char)param_1[8] == '\0') { lVar6 = FUN_181233e10(&local_40,(char)*param_1); FUN_180495150(&local_e0,lVar6,&local_41 + -lVar6); lVar6 = 1; plVar11 = local_e0; do { local_f8[0] = '.'; local_f8[1] = '\0'; lVar13 = -1; do { lVar8 = lVar13 + 1; lVar4 = lVar13 + 1; lVar13 = lVar8; } while (local_f8[lVar4] != '\0'); iVar5 = ((int)local_f8 + (int)lVar8) - (int)local_f8; if (0 < iVar5) { lVar13 = -1; do { lVar13 = lVar13 + 1; } while (*(char *)((longlong)plVar11 + lVar13) != '\0'); sVar15 = (size_t)iVar5; FUN_1812342b0(&local_e0,lVar13 + sVar15); plVar11 = local_e0; pvVar14 = (void *)((longlong)(int)lVar13 + (longlong)local_e0); memcpy(pvVar14,local_f8,sVar15); *(undefined1 *)((longlong)pvVar14 + sVar15) = 0; } pvVar14 = (void *)FUN_181233e10(local_a0,*(undefined1 *)(lVar6 + (longlong)param_1)); iVar5 = (int)local_a0 - (int)pvVar14; if (0 < iVar5) { lVar13 = -1; do { lVar13 = lVar13 + 1; } while (*(char *)((longlong)plVar11 + lVar13) != '\0'); sVar15 = (size_t)iVar5; FUN_1812342b0(&local_e0,sVar15 + lVar13); plVar11 = local_e0; _Dst_00 = (void *)((longlong)(int)lVar13 + (longlong)local_e0); memcpy(_Dst_00,pvVar14,sVar15); *(undefined1 *)(sVar15 + (longlong)_Dst_00) = 0; param_1 = local_d8; } lVar6 = lVar6 + 1; } while (lVar6 < 4); *local_d0 = (longlong)plVar11; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); UNLOCK(); bVar16 = DAT_1821dbf88 == 0; DAT_1821dbf88 = DAT_1821dbf88 - 1; if (bVar16) { puVar10 = &DAT_1821dbf88; DAT_1821dbf88 = 0xffffffff; LAB_181237911: /* WARNING: Subroutine does not return */ free(puVar10); } } } else { local_f4 = *param_1; pcVar12 = local_82 + 1; local_82[1] = 0; uVar9 = local_f4; do { pcVar12 = pcVar12 + -1; cVar2 = "0123456789abcdef"[uVar9 & 0xf]; *pcVar12 = cVar2; uVar3 = uVar9 >> 4; uVar9 = uVar9 >> 4; } while (uVar3 != 0); if (cVar2 == '\0') { local_e8 = (undefined4 *)&DAT_1821dbf98; } else { puVar7 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar7 = 0; UNLOCK(); *(ulonglong *)(puVar7 + 2) = (ulonglong)(auStack_7d + -(longlong)pcVar12) & 0xfffffffffffffffc ; puVar7 = puVar7 + 4; memcpy(puVar7,pcVar12,(size_t)(local_82 + -(longlong)pcVar12 + 1)); *(char *)((longlong)puVar7 + (longlong)(local_82 + -(longlong)pcVar12 + 1)) = '\0'; local_e8 = puVar7; } lVar6 = 1; do { local_f4 = CONCAT11(*(undefined1 *)((longlong)param_1 + lVar6 * 2 + 1),(char)param_1[lVar6]); pcVar12 = local_62 + 1; local_62[1] = 0; uVar9 = local_f4; do { pcVar12 = pcVar12 + -1; cVar2 = "0123456789abcdef"[uVar9 & 0xf]; *pcVar12 = cVar2; uVar3 = uVar9 >> 4; uVar9 = uVar9 >> 4; } while (uVar3 != 0); if (cVar2 == '\0') { _Dst = (ushort *)&DAT_1821dbf98; } else { puVar7 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar7 = 0; UNLOCK(); *(ulonglong *)(puVar7 + 2) = (ulonglong)(auStack_5d + -(longlong)pcVar12) & 0xfffffffffffffffc; _Dst = (ushort *)(puVar7 + 4); memcpy(_Dst,pcVar12,(size_t)(local_62 + -(longlong)pcVar12 + 1)); *(char *)((longlong)_Dst + (longlong)(local_62 + -(longlong)pcVar12 + 1)) = '\0'; } local_d8 = _Dst; local_f0[0] = ':'; local_f0[1] = '\0'; lVar13 = -1; do { lVar8 = lVar13; lVar13 = lVar8 + 1; } while (local_f0[lVar8 + 1] != '\0'); local_c0 = local_f0 + lVar8 + 1; iVar5 = (int)local_c0 - (int)local_f0; lVar13 = -1; if (0 < iVar5) { do { lVar13 = lVar13 + 1; } while (*(char *)((longlong)local_e8 + lVar13) != '\0'); local_b8 = lVar13 + (longlong)local_e8; lVar13 = local_b8 - (longlong)local_e8; sVar15 = (size_t)iVar5; FUN_1812342b0(&local_e8,lVar13 + sVar15); pvVar14 = (void *)((longlong)(int)lVar13 + (longlong)local_e8); memcpy(pvVar14,local_f0,sVar15); *(undefined1 *)((longlong)pvVar14 + sVar15) = 0; } FUN_181232d30(&local_e8,&local_d8); puVar10 = (uint *)(_Dst + -8); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } lVar6 = lVar6 + 1; } while (lVar6 < 8); FUN_1812369a0(local_d0,&local_e8); puVar10 = local_e8 + -4; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) goto LAB_181237911; } } } ############ FUN_ 181238b30 size=228 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_181238b30(undefined8 param_1,undefined8 *param_2,undefined4 param_3) { uint *_Memory; uint uVar1; longlong lVar2; undefined1 auStack_98 [32]; undefined8 local_78; longlong local_70 [11]; undefined1 local_11; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_98; local_70[3] = 0; local_70[4] = 0; local_70[5] = 0; local_70[6] = 0; local_70[2] = 2; local_70[1] = 8; local_78 = 0; lVar2 = FUN_181233e10(&local_10,param_3); FUN_180495150(local_70,lVar2,&local_11 + -lVar2); local_70[7] = *param_2; getaddrinfo(local_70[7],local_70[0],local_70 + 1,&local_78); _Memory = (uint *)(local_70[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 181239cc0 size=227 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181239cc0(undefined8 *param_1,char param_2) { int *_Memory; bool bVar1; int iVar2; undefined4 uVar3; longlong lVar4; undefined1 auStack_68 [32]; undefined8 local_48; longlong local_40 [4]; undefined1 local_19; ulonglong local_18 [2]; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_68; local_48 = *param_1; iVar2 = FUN_180493050(&local_48,0); if (iVar2 == 0x2d) { iVar2 = FUN_180493050(&local_48,1); bVar1 = true; if (iVar2 != 0x2d) goto LAB_181239d16; } bVar1 = false; LAB_181239d16: if (bVar1) { lVar4 = FUN_181233e10(local_18,(int)param_2); FUN_180495150(local_40,lVar4,&local_19 + -lVar4); uVar3 = FUN_180493050(local_40,0); FUN_18049bc80(*param_1,uVar3); _Memory = (int *)(local_40[0] + -0x10); if ((*(uint *)(local_40[0] + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } } ############ FUN_ 181245d90 size=66 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181245d90(undefined8 param_1) { undefined8 uVar1; undefined1 auStack_48 [48]; ulonglong local_18 [2]; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_48; uVar1 = FUN_181233e10(local_18); FUN_181232e20(param_1,uVar1,local_18); } ############ FUN_ 181292010 size=1530 ############ void FUN_181292010(longlong param_1,longlong *param_2,undefined8 *param_3) { undefined4 *puVar1; undefined4 uVar2; undefined4 uVar3; longlong *plVar4; code *pcVar5; longlong lVar6; ulonglong uVar7; undefined4 *puVar8; ulonglong uVar9; ulonglong uVar10; uint uVar11; undefined1 auStack_1a8 [32]; undefined4 local_188; undefined4 local_180; undefined1 local_178 [8]; undefined1 local_170 [8]; undefined1 local_168 [8]; undefined1 local_160 [8]; undefined4 local_158; undefined4 local_154; undefined4 *local_150; undefined8 local_148; float local_140; float local_13c; undefined4 local_138; undefined4 *local_130; longlong *local_128; undefined8 local_120; undefined1 local_f9 [32]; undefined1 local_d9 [31]; undefined1 local_ba; undefined1 local_b9 [32]; undefined1 local_99 [32]; undefined1 local_79 [32]; undefined1 local_59; ulonglong local_58 [4]; int iVar12; local_120 = 0xfffffffffffffffe; local_58[0] = DAT_182615970 ^ (ulonglong)auStack_1a8; lVar6 = *param_2; uVar9 = 0; if (lVar6 == 0) { local_158 = 0; local_154 = 0; } else { local_158 = *(undefined4 *)(lVar6 + 0x14); local_154 = *(undefined4 *)(lVar6 + 0x18); } local_128 = param_2; FUN_181293ca0(param_1); (**(code **)(**(longlong **)(param_1 + 8) + 0x20))(*(longlong **)(param_1 + 8),"gsave ",6); uVar10 = uVar9; if (0 < *(int *)(param_1 + 0x2c)) { uVar10 = *(ulonglong *) (*(longlong *)(param_1 + 0x20) + (longlong)(*(int *)(param_1 + 0x2c) + -1) * 8); } uVar7 = uVar9; if (0 < *(int *)(param_1 + 0x2c)) { uVar7 = *(ulonglong *) (*(longlong *)(param_1 + 0x20) + (longlong)(*(int *)(param_1 + 0x2c) + -1) * 8); } local_150 = (undefined4 *)*param_3; local_13c = ((float)*(int *)(uVar10 + 0x14) + *(float *)((longlong)param_3 + 0x14)) * DAT_1824c4680; local_140 = *(float *)(param_3 + 2) * DAT_1824c4680; local_148 = CONCAT44(*(float *)((longlong)param_3 + 0xc) * DAT_1824c4680, (float)*(int *)(uVar7 + 0x10) + *(float *)(param_3 + 1)); FUN_181293390(param_1,&local_150); local_150 = (undefined4 *)0x0; local_148 = 0; FUN_18128fb60(param_2,&local_150,DAT_1824c3d8c); (**(code **)(**(longlong **)(param_1 + 8) + 0x20))(*(longlong **)(param_1 + 8),"newpath ",8); local_130 = local_150 + (longlong)local_148._4_4_ * 4; if (local_150 != local_130) { puVar8 = local_150 + 2; uVar10 = uVar9; do { iVar12 = (int)uVar10; uVar11 = iVar12 + 1; uVar10 = (ulonglong)uVar11; if (uVar11 == 6) { plVar4 = *(longlong **)(param_1 + 8); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_160[0] = 10; (**(code **)(*plVar4 + 0x20))(plVar4,local_160,iVar12 + -4); uVar10 = uVar9; } else { (*pcVar5)(plVar4,0x18122e90a); uVar10 = uVar9; } } local_138 = puVar8[1]; uVar2 = *puVar8; uVar3 = puVar8[-1]; plVar4 = *(longlong **)(param_1 + 8); lVar6 = FUN_181233e10(local_b9 + 1,puVar8[-2]); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_b9 + -lVar6); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_170[0] = 0x20; (**(code **)(*plVar4 + 0x20))(plVar4,local_170,1); } else { (*pcVar5)(plVar4,0x20); } lVar6 = FUN_181233e10(local_99 + 1,uVar3); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_99 + -lVar6); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_168[0] = 0x20; (**(code **)(*plVar4 + 0x20))(plVar4,local_168,1); } else { (*pcVar5)(plVar4,0x20); } lVar6 = FUN_181233e10(local_f9 + 1,uVar2); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_f9 + -lVar6); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_178[0] = 0x20; (**(code **)(*plVar4 + 0x20))(plVar4,local_178,1); } else { (*pcVar5)(plVar4,0x20); } lVar6 = FUN_181233e10(local_d9 + 1,local_138); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_d9 + -lVar6); (**(code **)(*plVar4 + 0x20))(plVar4,&DAT_1821def90,4); puVar1 = puVar8 + 2; puVar8 = puVar8 + 4; param_2 = local_128; } while (puVar1 != local_130); } puVar8 = local_150; (**(code **)(**(longlong **)(param_1 + 8) + 0x20)) (*(longlong **)(param_1 + 8)," clip newpath\n",0xe); uVar2 = local_158; plVar4 = *(longlong **)(param_1 + 8); lVar6 = FUN_181233e10(local_d9 + 1,local_158); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_d9 + -lVar6); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_178[0] = 0x20; (**(code **)(*plVar4 + 0x20))(plVar4,local_178,1); } else { (*pcVar5)(plVar4,0x20); } uVar3 = local_154; lVar6 = FUN_181233e10(local_f9 + 1,local_154); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_f9 + -lVar6); (**(code **)(*plVar4 + 0x20))(plVar4," scale\n",7); plVar4 = *(longlong **)(param_1 + 8); lVar6 = FUN_181233e10(local_d9 + 1,uVar2); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_d9 + -lVar6); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_178[0] = 0x20; (**(code **)(*plVar4 + 0x20))(plVar4,local_178,1); } else { (*pcVar5)(plVar4,0x20); } lVar6 = FUN_181233e10(local_f9 + 1,uVar3); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_f9 + -lVar6); (**(code **)(*plVar4 + 0x20))(plVar4,&DAT_1821defa0,4); lVar6 = FUN_181233e10(local_99 + 1,uVar2); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_99 + -lVar6); (**(code **)(*plVar4 + 0x20))(plVar4," 0 0 -",6); lVar6 = FUN_181233e10(local_79 + 1,uVar3); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_79 + -lVar6); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_168[0] = 0x20; (**(code **)(*plVar4 + 0x20))(plVar4,local_168,1); } else { (*pcVar5)(plVar4,0x20); } local_b9[0] = 0; local_ba = 0x30; (**(code **)(*plVar4 + 0x20))(plVar4,&local_ba,local_b9 + -(longlong)&local_ba); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_170[0] = 0x20; (**(code **)(*plVar4 + 0x20))(plVar4,local_170,1); } else { (*pcVar5)(plVar4,0x20); } lVar6 = FUN_181233e10(local_58,uVar3); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,&local_59 + -lVar6); (**(code **)(*plVar4 + 0x20))(plVar4,&DAT_1821def04,3); local_180 = uVar3; local_188 = uVar2; FUN_181292650(param_1,param_2); (**(code **)(**(longlong **)(param_1 + 8) + 0x20)) (*(longlong **)(param_1 + 8),"false 3 colorimage grestore\n",0x1c); *(undefined1 *)(param_1 + 0x18) = 1; /* WARNING: Subroutine does not return */ free(puVar8); } ############ FUN_ 181293ca0 size=691 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181293ca0(longlong param_1) { int iVar1; undefined4 uVar2; int iVar3; longlong *plVar4; code *pcVar5; longlong lVar6; undefined8 *puVar7; int iVar8; undefined4 *puVar9; undefined4 *puVar10; undefined1 auStack_f8 [32]; undefined1 local_d8 [8]; undefined1 local_d0 [8]; undefined1 local_c8 [8]; undefined1 local_c0 [39]; undefined1 local_99 [32]; undefined1 local_79 [32]; undefined1 local_59 [32]; undefined1 local_39; ulonglong local_38 [2]; local_38[0] = DAT_182615970 ^ (ulonglong)auStack_f8; if (*(char *)(param_1 + 0x18) != '\0') { *(undefined1 *)(param_1 + 0x18) = 0; (**(code **)(**(longlong **)(param_1 + 8) + 0x20))(*(longlong **)(param_1 + 8),"doclip ",7); iVar8 = 0; if (*(int *)(param_1 + 0x2c) < 1) { puVar7 = (undefined8 *)0x0; } else { puVar7 = *(undefined8 **) (*(longlong *)(param_1 + 0x20) + (longlong)(*(int *)(param_1 + 0x2c) + -1) * 8); } puVar9 = (undefined4 *)*puVar7; puVar10 = puVar9 + (longlong)*(int *)((longlong)puVar7 + 0xc) * 4; for (; puVar9 != puVar10; puVar9 = puVar9 + 4) { iVar8 = iVar8 + 1; if (iVar8 == 6) { plVar4 = *(longlong **)(param_1 + 8); iVar8 = 0; pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_d8[0] = 10; (**(code **)(*plVar4 + 0x20))(plVar4,local_d8,1); } else { (*pcVar5)(plVar4,10); } } iVar1 = puVar9[3]; uVar2 = puVar9[2]; iVar3 = puVar9[1]; plVar4 = *(longlong **)(param_1 + 8); lVar6 = FUN_181233e10(local_99 + 1,*puVar9); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_99 + -lVar6); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_d0[0] = 0x20; (**(code **)(*plVar4 + 0x20))(plVar4,local_d0,1); } else { (*pcVar5)(plVar4,0x20); } lVar6 = FUN_181233e10(local_79 + 1,-iVar3); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_79 + -lVar6); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_c8[0] = 0x20; (**(code **)(*plVar4 + 0x20))(plVar4,local_c8,1); } else { (*pcVar5)(plVar4,0x20); } lVar6 = FUN_181233e10(local_59 + 1,uVar2); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,local_59 + -lVar6); pcVar5 = *(code **)(*plVar4 + 0x28); if (pcVar5 == FUN_18122e9b0) { local_c0[0] = 0x20; (**(code **)(*plVar4 + 0x20))(plVar4,local_c0,1); } else { (*pcVar5)(plVar4,0x20); } lVar6 = FUN_181233e10(local_38,-iVar1); (**(code **)(*plVar4 + 0x20))(plVar4,lVar6,&local_39 + -lVar6); (**(code **)(*plVar4 + 0x20))(plVar4,&DAT_1821de2a8,4); } (**(code **)(**(longlong **)(param_1 + 8) + 0x20))(*(longlong **)(param_1 + 8),"endclip\n",8); } } ############ FUN_ 1812b2a40 size=856 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812b2a40(longlong *param_1,int param_2) { uint uVar1; longlong lVar2; longlong *plVar3; uint *puVar4; char *pcVar5; undefined1 auStack_68 [32]; longlong *local_48; longlong local_40 [5]; undefined1 local_11; ulonglong local_10; local_40[1] = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_68; local_48 = param_1; if (param_2 < 0x80) { switch(param_2) { case 1: pcVar5 = "Left"; break; case 2: pcVar5 = "Right"; break; case 3: pcVar5 = "Centre"; break; case 4: pcVar5 = "LFE"; break; case 5: pcVar5 = "Left Surround"; break; case 6: pcVar5 = "Right Surround"; break; case 7: pcVar5 = "Left Centre"; break; case 8: pcVar5 = "Right Centre"; break; case 9: pcVar5 = "Centre Surround"; break; case 10: pcVar5 = "Left Surround Side"; break; case 0xb: pcVar5 = "Right Surround Side"; break; case 0xc: pcVar5 = "Top Middle"; break; case 0xd: pcVar5 = "Top Front Left"; break; case 0xe: pcVar5 = "Top Front Centre"; break; case 0xf: pcVar5 = "Top Front Right"; break; case 0x10: pcVar5 = "Top Rear Left"; break; case 0x11: pcVar5 = "Top Rear Centre"; break; case 0x12: pcVar5 = "Top Rear Right"; break; case 0x13: pcVar5 = "LFE 2"; break; case 0x14: pcVar5 = "Left Surround Rear"; break; case 0x15: pcVar5 = "Right Surround Rear"; break; case 0x16: pcVar5 = "Wide Left"; break; case 0x17: pcVar5 = "Wide Right"; break; case 0x18: pcVar5 = "Ambisonic W"; break; case 0x19: pcVar5 = "Ambisonic Y"; break; case 0x1a: pcVar5 = "Ambisonic Z"; break; case 0x1b: pcVar5 = "Ambisonic X"; break; case 0x1c: pcVar5 = "Top Side Left"; break; case 0x1d: pcVar5 = "Top Side Right"; break; case 0x1e: pcVar5 = "Ambisonic 4"; break; case 0x1f: pcVar5 = "Ambisonic 5"; break; case 0x20: pcVar5 = "Ambisonic 6"; break; case 0x21: pcVar5 = "Ambisonic 7"; break; case 0x22: pcVar5 = "Ambisonic 8"; break; case 0x23: pcVar5 = "Ambisonic 9"; break; case 0x24: pcVar5 = "Ambisonic 10"; break; case 0x25: pcVar5 = "Ambisonic 11"; break; case 0x26: pcVar5 = "Ambisonic 12"; break; case 0x27: pcVar5 = "Ambisonic 13"; break; case 0x28: pcVar5 = "Ambisonic 14"; break; case 0x29: pcVar5 = "Ambisonic 15"; break; default: pcVar5 = "Unknown"; break; case 0x3e: pcVar5 = "Bottom Front Left"; break; case 0x3f: pcVar5 = "Bottom Front Centre"; break; case 0x40: pcVar5 = "Bottom Front Right"; break; case 0x43: pcVar5 = "Bottom Side Left"; break; case 0x44: pcVar5 = "Bottom Side Right"; break; case 0x45: pcVar5 = "Bottom Rear Left"; break; case 0x46: pcVar5 = "Bottom Rear Centre"; break; case 0x47: pcVar5 = "Bottom Rear Right"; } FUN_18049c4e0(param_1,pcVar5); } else { lVar2 = FUN_181233e10(&local_10,param_2 + -0x7f); FUN_180495150(&local_48,lVar2,&local_11 + -lVar2); FUN_18049c4e0(local_40,"Discrete "); plVar3 = (longlong *)FUN_181232d30(local_40,&local_48); lVar2 = *plVar3; *param_1 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(local_40[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_48 + -2); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } } ############ FUN_ 1812be6a0 size=84 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812be6a0(undefined8 param_1,undefined8 param_2,undefined4 param_3) { longlong lVar1; undefined1 auStack_58 [32]; undefined8 local_38; undefined1 local_11; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; DAT_1826736a2 = 1; local_38 = param_2; lVar1 = FUN_181233e10(&local_10,param_3); FUN_180495150(param_2,lVar1,&local_11 + -lVar1); } ############ FUN_ 1812be9e0 size=170 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812be9e0(longlong param_1,longlong *param_2,uint param_3) { longlong lVar1; undefined8 uVar2; undefined1 auStack_68 [32]; undefined4 local_48; longlong *local_38; undefined1 local_11; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_68; if (param_3 < *(uint *)(param_1 + 0x144)) { uVar2 = *(undefined8 *)(*(longlong *)(param_1 + 0x138) + (longlong)(int)param_3 * 8); } else { uVar2 = 0; } local_48 = 0; local_38 = param_2; lVar1 = __RTDynamicCast(uVar2,0,&juce::AudioProcessorParameter::RTTI_Type_Descriptor, &juce::AudioProcessorParameterWithID::RTTI_Type_Descriptor); if (lVar1 == 0) { lVar1 = FUN_181233e10(&local_10,param_3); FUN_180495150(param_2,lVar1,&local_11 + -lVar1); } else { lVar1 = *(longlong *)(lVar1 + 0x60); *param_2 = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } } } ############ FUN_ 1812bfcf0 size=656 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812bfcf0(longlong *param_1,char param_2,char param_3,longlong *param_4) { uint uVar1; int iVar2; code *pcVar3; void *pvVar4; bool bVar5; bool bVar6; char cVar7; longlong lVar8; longlong *plVar9; uint *puVar10; char *pcVar11; void **ppvVar12; longlong lVar13; undefined1 auStack_f8 [32]; undefined4 local_d8; undefined4 uStack_d4; undefined4 *local_d0; longlong local_c8; undefined8 local_c0; longlong local_b8; void *local_b0; undefined8 local_a8; undefined8 local_a0; undefined8 local_98; undefined8 local_90; void *local_88 [8]; undefined1 local_41; ulonglong local_40; local_c0 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_f8; lVar13 = 0; local_d8 = 0; if (param_3 == '\0') { pcVar3 = *(code **)(*param_1 + 0x58); if (pcVar3 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { } cVar7 = (*pcVar3)(param_1,param_2); } else { pcVar3 = *(code **)(*param_1 + 0x50); if (pcVar3 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { } cVar7 = (*pcVar3)(param_1,param_2); } if (cVar7 != '\0') { plVar9 = param_1 + 0x1a; if (param_2 == '\0') { plVar9 = param_1 + 0x1c; } iVar2 = *(int *)((longlong)plVar9 + 0xc); if ((iVar2 != 0) && (param_3 != '\0')) { plVar9 = param_1 + 0x1a; if (param_2 == '\0') { plVar9 = param_1 + 0x1c; } lVar8 = FUN_181233e10(&local_40,*(undefined4 *)((longlong)plVar9 + 0xc)); FUN_180495150(&local_c8,lVar8,&local_41 + -lVar8); pcVar11 = "Output #"; if (param_2 != '\0') { pcVar11 = "Input #"; } FUN_18049c4e0(&local_d8,pcVar11); local_d0 = &local_d8; plVar9 = (longlong *)FUN_181232d30(&local_d8,&local_c8); local_d0 = (undefined4 *)*plVar9; if ((*(uint *)((longlong)local_d0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)((longlong)local_d0 + -0x10) = *(int *)((longlong)local_d0 + -0x10) + 1; UNLOCK(); } puVar10 = (uint *)(CONCAT44(uStack_d4,local_d8) + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_b8 = *param_4; *param_4 = (longlong)local_d0; puVar10 = (uint *)(local_b8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_c8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if (iVar2 < 1) { local_b0 = (void *)0x0; local_98 = 4; local_90 = 0xffffffff; local_a8 = 0; local_a0 = 0; ppvVar12 = &local_b0; bVar6 = false; bVar5 = true; } else { plVar9 = param_1 + 0x1a; if (param_2 == '\0') { plVar9 = param_1 + 0x1c; } if (iVar2 - 1U < *(uint *)((longlong)plVar9 + 0xc)) { lVar13 = *(longlong *)(*plVar9 + (longlong)(int)(iVar2 - 1U) * 8); } FUN_18123db10(local_88,lVar13 + 0x38); ppvVar12 = local_88; bVar6 = true; bVar5 = false; } pvVar4 = (void *)param_4[1]; param_4[1] = (longlong)*ppvVar12; *ppvVar12 = pvVar4; pvVar4 = ppvVar12[2]; param_4[2] = (longlong)ppvVar12[1]; param_4[3] = (longlong)pvVar4; param_4[4] = (longlong)ppvVar12[3]; *(undefined4 *)(param_4 + 5) = *(undefined4 *)(ppvVar12 + 4); *(undefined1 *)((longlong)param_4 + 0x2c) = *(undefined1 *)((longlong)ppvVar12 + 0x24); if (bVar5) { /* WARNING: Subroutine does not return */ free(local_b0); } if (bVar6) { /* WARNING: Subroutine does not return */ free(local_88[0]); } *(undefined1 *)(param_4 + 6) = 1; } } } ############ FUN_ 1813ac660 size=2448 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813ac660(undefined8 param_1,longlong param_2) { uint uVar1; void *pvVar2; char cVar3; int iVar4; uint uVar5; int iVar6; int iVar7; uint uVar8; longlong *plVar9; longlong lVar10; undefined8 *puVar11; ulonglong uVar12; void *_Dst; uint *puVar13; uint *puVar14; int iVar15; size_t _Size; ushort uVar16; undefined1 auStack_208 [32]; char local_1e8 [8]; undefined1 local_1e0 [8]; undefined1 local_1d8 [8]; int local_1d0; ushort local_1cc [2]; ushort local_1c8 [4]; longlong local_1c0; longlong local_1b8; longlong local_1b0; uint local_1a8; void *local_1a0; uint local_198; int local_194; longlong local_190; longlong local_188; char *local_180; char *local_178; char *local_170; char *local_168; longlong local_160; longlong local_158; char *local_150; char *local_148; char *local_140; char *local_138; longlong local_130; longlong local_128; longlong local_120; longlong local_118 [2]; undefined **local_108; undefined1 local_100 [8]; undefined8 local_f8; undefined8 local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; ulonglong local_d0; undefined8 local_c8; longlong local_b8; longlong local_b0; longlong local_a8; longlong local_a0; longlong local_98; longlong local_90; longlong *local_88; undefined8 local_80; longlong *local_78; undefined8 local_70; void *local_68; longlong *local_60; undefined1 local_39; ulonglong local_38 [2]; local_80 = 0xfffffffffffffffe; local_38[0] = DAT_182615970 ^ (ulonglong)auStack_208; FUN_18049c4e0(&local_178,&DAT_1821e3e74); iVar4 = FUN_1812498b0(param_2,"NumCuePoints",*(undefined1 *)(param_2 + 0x20),0); if (iVar4 < 0) { local_180 = local_178; puVar13 = (uint *)(local_178 + -0x10); uVar5 = *puVar13; } else { plVar9 = (longlong *)FUN_181249970(param_2 + 0x10,iVar4); local_180 = (char *)*plVar9; puVar13 = (uint *)(local_180 + -0x10); uVar5 = *puVar13; } if ((uVar5 & 0x30000000) == 0) { LOCK(); *puVar13 = *puVar13 + 1; UNLOCK(); } iVar4 = atoi(local_180); local_194 = iVar4; if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_178 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } if (0 < iVar4) { local_108 = juce::OutputStream::vftable; FUN_18049c4e0(local_100,&DAT_182496878); local_108 = juce::MemoryOutputStream::vftable; local_f0 = 0; local_e8 = 0; local_e0 = 0; local_d8 = 0; local_d0 = 0; local_c8 = 0; local_1cc[0] = (ushort)iVar4 << 8 | (ushort)iVar4 >> 8; local_f8 = param_1; (*(code *)PTR_FUN_182496b98)(&local_108,local_1cc,2); FUN_18049c4e0(&local_168,&DAT_1821e3df4); iVar6 = FUN_1812498b0(param_2,"NumCueLabels",*(undefined1 *)(param_2 + 0x20),0); if (iVar6 < 0) { local_170 = local_168; puVar13 = (uint *)(local_168 + -0x10); uVar5 = *puVar13; } else { plVar9 = (longlong *)FUN_181249970(param_2 + 0x10,iVar6); local_170 = (char *)*plVar9; puVar13 = (uint *)(local_170 + -0x10); uVar5 = *puVar13; } if ((uVar5 & 0x30000000) == 0) { LOCK(); *puVar13 = *puVar13 + 1; UNLOCK(); } iVar6 = atoi(local_170); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_168 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } cVar3 = FUN_1813ad020(param_2); local_1a8 = (uint)(cVar3 != '\0'); local_1d0 = 0; if (0 < iVar4) { local_78 = &local_1c0; local_60 = &local_1b8; do { uVar5 = local_1a8; lVar10 = FUN_181233e10(local_38,local_1d0); FUN_180495150(&local_158,lVar10,&local_39 + -lVar10); FUN_18049c4e0(&local_160,&DAT_1821e3e3c); plVar9 = (longlong *)FUN_181232d30(&local_160,&local_158); lVar10 = *plVar9; if ((*(uint *)(lVar10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar10 + -0x10) = *(int *)(lVar10 + -0x10) + 1; UNLOCK(); } puVar13 = (uint *)(local_160 + -0x10); local_188 = lVar10; if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_158 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } FUN_18049c4e0(&local_148,&DAT_1821e3e2c); local_1c0 = local_188; if ((*(uint *)(lVar10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar10 + -0x10) = *(int *)(lVar10 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_1c0,"Identifier",""); local_b8 = local_1c0; puVar13 = (uint *)(local_1c0 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); *puVar13 = *puVar13 + 1; UNLOCK(); } puVar14 = (uint *)(local_1c0 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } iVar4 = FUN_1812498b0(param_2,local_1c0,*(undefined1 *)(param_2 + 0x20),0); if (iVar4 < 0) { local_150 = local_148; puVar14 = (uint *)(local_148 + -0x10); uVar8 = *puVar14; } else { plVar9 = (longlong *)FUN_181249970(param_2 + 0x10,iVar4); local_150 = (char *)*plVar9; puVar14 = (uint *)(local_150 + -0x10); uVar8 = *puVar14; } if ((uVar8 & 0x30000000) == 0) { LOCK(); *puVar14 = *puVar14 + 1; UNLOCK(); } iVar4 = atoi(local_150); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_148 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } FUN_18049c4e0(&local_138,&DAT_1821e3eac); local_1b8 = local_188; if ((*(uint *)(lVar10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar10 + -0x10) = *(int *)(lVar10 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_1b8,"Offset",""); local_b0 = local_1b8; puVar13 = (uint *)(local_1b8 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); *puVar13 = *puVar13 + 1; UNLOCK(); } puVar14 = (uint *)(local_1b8 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar8 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } iVar7 = FUN_1812498b0(param_2,local_1b8,*(undefined1 *)(param_2 + 0x20),0); if (iVar7 < 0) { local_140 = local_138; puVar14 = (uint *)(local_138 + -0x10); uVar8 = *puVar14; } else { plVar9 = (longlong *)FUN_181249970(param_2 + 0x10,iVar7); local_140 = (char *)*plVar9; puVar14 = (uint *)(local_140 + -0x10); uVar8 = *puVar14; } if ((uVar8 & 0x30000000) == 0) { LOCK(); *puVar14 = *puVar14 + 1; UNLOCK(); } uVar8 = atoi(local_140); iVar7 = local_1d0; if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_138 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } FUN_181212060(&local_130,local_1d0); FUN_181246550(&local_1a0,"CueLabel",&local_130); puVar13 = (uint *)(local_130 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } iVar15 = 0; if (0 < iVar6) { local_88 = &local_1b0; do { FUN_181212060(&local_128,iVar15); FUN_181246550(&local_190,"CueLabel",&local_128); puVar13 = (uint *)(local_128 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } FUN_18049c4e0(&local_120,&DAT_1821e3e8c); local_1b0 = local_190; if ((*(uint *)(local_190 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_190 + -0x10) = *(int *)(local_190 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_1b0,"Identifier",""); local_a8 = local_1b0; puVar13 = (uint *)(local_1b0 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); *puVar13 = *puVar13 + 1; UNLOCK(); } puVar14 = (uint *)(local_1b0 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar11 = (undefined8 *)FUN_18122c970(param_2,&local_90,local_1b0); iVar7 = atoi((char *)*puVar11); puVar14 = (uint *)(local_90 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_120 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } if (local_1a8 + iVar7 == uVar5 + iVar4) { local_118[0] = local_190; puVar13 = (uint *)(local_190 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); *puVar13 = *puVar13 + 1; UNLOCK(); } puVar11 = (undefined8 *)FUN_1812465e0(&local_98,local_118,&DAT_1821e8c14); local_70 = *puVar11; puVar11 = (undefined8 *)FUN_18122c970(param_2,&local_a0); local_68 = local_1a0; pvVar2 = (void *)*puVar11; *puVar11 = local_1a0; puVar14 = (uint *)(local_a0 + -0x10); local_1a0 = pvVar2; if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } puVar14 = (uint *)(local_98 + -0x10); if ((*puVar14 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar14; *puVar14 = *puVar14 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar14); } } iVar7 = local_1d0; if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } break; } FUN_180495200(local_190); iVar15 = iVar15 + 1; iVar7 = local_1d0; } while (iVar15 < iVar6); } uVar16 = (ushort)(uVar5 + iVar4); local_1c8[0] = uVar16 << 8 | uVar16 >> 8; (*(code *)local_108[4])(&local_108,local_1c8,2); local_198 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18; (*(code *)local_108[4])(&local_108,&local_198,4); pvVar2 = local_1a0; uVar12 = FUN_18049d240(local_1a0); _Size = 0xfe; if (uVar12 < 0xfe) { _Size = uVar12; } local_1e8[0] = (char)_Size + '\x01'; (*(code *)local_108[4])(&local_108,local_1e8,1); if ((_Size != 0) && (_Dst = (void *)FUN_181234e40(&local_108,_Size), _Dst != (void *)0x0)) { memcpy(_Dst,pvVar2,_Size); } local_1e0[0] = 0; (*(code *)local_108[4])(&local_108,local_1e0,1); if ((local_d0 & 1) != 0) { local_1d8[0] = 0; (*(code *)local_108[4])(&local_108,local_1d8,1); } FUN_180495200(pvVar2); FUN_180495200(local_188); local_1d0 = iVar7 + 1; } while (local_1d0 < local_194); } FUN_18124a420(&local_108); } } ############ FUN_ 1815605d0 size=641 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1815605d0(longlong param_1,longlong *param_2) { uint *_Memory; uint uVar1; longlong *plVar2; longlong lVar3; uint *puVar4; uint *_Memory_00; undefined4 uVar5; double dVar6; undefined1 auStack_e8 [32]; float local_c8; undefined4 local_c4; longlong local_c0; longlong local_b8; longlong local_b0; longlong local_a8; double local_a0; longlong local_98; longlong local_90; longlong local_88 [2]; longlong *local_78; longlong local_70; longlong local_68; longlong local_60; longlong local_58; undefined1 local_31; ulonglong local_30; local_88[1] = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_e8; *param_2 = (longlong)&DAT_1821dbf98; local_c4 = 1; local_78 = param_2; if (*(char *)(param_1 + 0xa00) == '\0') { local_c8 = *(float *)(*(longlong *)(param_1 + 0xe0) + 0x188); FUN_1812339a0(&local_b0,(double)local_c8,1,0); local_68 = *param_2; *param_2 = local_b0; puVar4 = (uint *)(local_68 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } dVar6 = (double)local_c8; if (DAT_1824c43e8 < (float)(double)CONCAT44((uint)((ulonglong)dVar6 >> 0x20) & DAT_1824c4f10._4_4_, SUB84(dVar6,0) & (uint)DAT_1824c4f10)) { local_a0 = (double)local_c8 + DAT_1824c4520; lVar3 = FUN_181233e10(&local_30,(ulonglong)local_a0 & 0xffffffff); FUN_180495150(&local_98,lVar3,&local_31 + -lVar3); local_58 = *param_2; *param_2 = local_98; puVar4 = (uint *)(local_58 + -0x10); uVar1 = *puVar4; } else { FUN_1812339a0(&local_a8,dVar6,1,0); local_60 = *param_2; *param_2 = local_a8; puVar4 = (uint *)(local_60 + -0x10); uVar1 = *puVar4; } } else { uVar5 = (**(code **)(**(longlong **)(param_1 + 0xe0) + 8))(); plVar2 = (longlong *) (**(code **)(**(longlong **)(param_1 + 0xe0) + 0x48)) (*(longlong **)(param_1 + 0xe0),&local_b8,uVar5,0x40); local_70 = *param_2; *param_2 = *plVar2; *plVar2 = local_70; puVar4 = (uint *)(local_b8 + -0x10); uVar1 = *puVar4; } if ((uVar1 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } local_90 = *(longlong *)(param_1 + 0x9d8); puVar4 = (uint *)(local_90 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } FUN_18049c4e0(&local_c0,&DAT_1822144d4); plVar2 = (longlong *)FUN_181232d30(&local_c0,&local_90); local_88[0] = *plVar2; _Memory = (uint *)(local_88[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_c4 = 3; _Memory_00 = (uint *)(local_c0 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } FUN_181232d30(param_2,local_88); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } ############ FUN_ 181611cc0 size=783 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181611cc0(longlong param_1,longlong param_2,int param_3) { uint uVar1; char cVar2; longlong lVar3; longlong *plVar4; uint *puVar5; uint *puVar6; undefined8 uVar7; undefined8 *puVar8; ulonglong uVar9; ulonglong uVar10; float fVar11; undefined1 auStack_f8 [32]; undefined4 local_d8; longlong local_c0; longlong *local_b8; longlong local_b0; longlong local_a8; longlong local_a0; longlong local_98 [2]; longlong *local_88; undefined1 local_80 [39]; undefined1 local_59; ulonglong local_58 [4]; local_98[1] = 0xfffffffffffffffe; local_58[0] = DAT_182615970 ^ (ulonglong)auStack_f8; if ((*(uint *)(param_2 + 0x10) >> 5 & 1) != 0) { (**(code **)(*(longlong *)(param_1 + 0x370) + 0x10))((longlong *)(param_1 + 0x370),&local_88); cVar2 = (**(code **)(*local_88 + 0x90))(); if (cVar2 != '\0') { lVar3 = FUN_181233e10(local_58,param_3); FUN_180495150(&local_a0,lVar3,&local_59 + -lVar3); FUN_18049c4e0(&local_b0,&DAT_1822d7774); plVar4 = (longlong *)FUN_181232d30(&local_b0,&local_a0); local_c0 = *plVar4; if ((*(uint *)(local_c0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c0 + -0x10) = *(int *)(local_c0 + -0x10) + 1; UNLOCK(); } puVar5 = (uint *)(local_b0 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_b8 = &local_c0; FUN_181232e20(&local_c0,&DAT_182218e9c,&DAT_182218e9f); local_b8 = (longlong *)local_c0; puVar5 = (uint *)(local_c0 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } puVar6 = (uint *)(local_c0 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } plVar4 = (longlong *)FUN_18119aa60(*(undefined8 *)(param_1 + 0x348),local_c0); fVar11 = (float)(**(code **)(*plVar4 + 8))(plVar4); FUN_18049c4e0(&local_a8,"on/off"); plVar4 = (longlong *)FUN_1815af780(param_1 + 8,&local_a8); (**(code **)(*plVar4 + 0x18))(plVar4,fVar11 != 0.0); puVar6 = (uint *)(local_a8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_a0 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_18049c4e0(local_98,"listen"); plVar4 = (longlong *)FUN_1815af780(param_1 + 8,local_98); lVar3 = *(longlong *)(param_1 + -0x248); if ((*(char *)(lVar3 + 0x20) == '\0') && (*(char *)(lVar3 + 0x22) == '\0')) { uVar7 = 0; } else { uVar7 = CONCAT71((int7)((ulonglong)lVar3 >> 8),1); } (**(code **)(*plVar4 + 0x18))(plVar4,uVar7); puVar5 = (uint *)(local_98[0] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar8 = *(undefined8 **)(param_1 + 0x388); uVar10 = 0; uVar9 = (ulonglong)((longlong)*(undefined8 **)(param_1 + 0x390) + (7 - (longlong)puVar8)) >> 3 ; if (*(undefined8 **)(param_1 + 0x390) < puVar8) { uVar9 = uVar10; } if (uVar9 != 0) { do { (**(code **)(*(longlong *)*puVar8 + 0x58))((longlong *)*puVar8,0); puVar8 = puVar8 + 1; uVar10 = uVar10 + 1; } while (uVar10 != uVar9); } plVar4 = *(longlong **)(*(longlong *)(param_1 + 0x388) + (longlong)param_3 * 8); (**(code **)(*plVar4 + 0x58))(plVar4,1); local_d8 = 0; FUN_1815fe690(param_1 + 8,1,0,*(undefined8 *)(param_2 + 0x30)); } (**(code **)(*local_88 + 0xb0))(local_88,local_80); } } ############ FUN_ 18049d7f0 size=313 ############ void FUN_18049d7f0(longlong *param_1,byte *param_2,int param_3) { byte bVar1; uint uVar2; int iVar3; uint uVar4; int iVar5; byte *pbVar6; param_3 = param_3 + -1; if (param_3 < 1) { *(undefined1 *)*param_1 = 0; return; } do { bVar1 = *param_2; param_2 = param_2 + 1; uVar4 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar2 = 0x40; iVar5 = 0; uVar4 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar2 < 9) break; uVar4 = uVar4 >> 1; iVar5 = iVar5 + 1; uVar2 = uVar2 >> 1; } while ((bVar1 & uVar2) != 0); } uVar4 = bVar1 & uVar4; for (; (iVar5 = iVar5 + -1, -1 < iVar5 && ((*param_2 & 0xc0) == 0x80)); param_2 = param_2 + 1) { uVar4 = *param_2 & 0x3f | uVar4 << 6; } } if (uVar4 == 0) break; if (uVar4 < 0x80) { *(char *)*param_1 = (char)uVar4; *param_1 = *param_1 + 1; } else { iVar5 = 1; if (0x7ff < uVar4) { iVar5 = 2; if (0xffff < uVar4) { iVar5 = 3; } } *(byte *)*param_1 = (byte)(uVar4 >> (char)iVar5 * '\x06') | -1 << (7U - (char)iVar5 & 0x1f); *param_1 = *param_1 + 1; iVar5 = iVar5 + -1; pbVar6 = (byte *)*param_1; if (-1 < iVar5) { iVar3 = iVar5 * 6; do { bVar1 = (byte)iVar3; iVar3 = iVar3 + -6; *pbVar6 = (byte)(uVar4 >> (bVar1 & 0x1f)) & 0x3f | 0x80; *param_1 = *param_1 + 1; iVar5 = iVar5 + -1; pbVar6 = (byte *)*param_1; } while (-1 < iVar5); } } param_3 = param_3 + -1; } while (0 < param_3); *(undefined1 *)*param_1 = 0; return; } ############ FUN_ 181245ee0 size=134 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181245ee0(undefined8 param_1) { uint uVar1; longlong lVar2; uint *_Memory; undefined1 auStack_68 [32]; longlong local_48 [5]; undefined1 local_19; ulonglong local_18 [2]; local_48[1] = 0xfffffffffffffffe; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_68; lVar2 = FUN_181233ea0(local_18); FUN_180495150(local_48,lVar2,&local_19 + -lVar2); FUN_181232d30(param_1,local_48); _Memory = (uint *)(local_48[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 1812339a0 size=437 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812339a0(undefined8 param_1,double param_2,int param_3,char param_4) { uint *puVar1; longlong lVar2; longlong lVar3; ushort uVar4; locale *plVar5; undefined1 auStack_168 [32]; undefined8 local_148; undefined **local_138 [4]; longlong *local_118; longlong *local_f8; undefined4 *local_e0; longlong local_c8 [3]; uint auStack_b0 [2]; longlong alStack_a8 [10]; undefined1 local_58 [48]; ulonglong local_28; local_148 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_168; std::basic_streambuf_>::basic_streambuf_> ((basic_streambuf_> *)local_138); local_138[0] = juce::NumberToStringConverters::StackArrayStream::vftable; if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267afd0) { _Init_thread_header(&DAT_18267afd0); if (DAT_18267afd0 == -1) { plVar5 = std::locale::classic(); DAT_18267af58 = *(longlong **)(plVar5 + 8); (**(code **)(*DAT_18267af58 + 8))(); atexit(FUN_181a4a770); _Init_thread_footer(&DAT_18267afd0); } } *local_118 = (longlong)local_58; *local_f8 = (longlong)local_58; *local_e0 = 0x30; std::basic_ostream_>::basic_ostream_> ((basic_ostream_> *)local_c8, (basic_streambuf_> *)local_138,false); if (0 < param_3) { uVar4 = 0x2000; if (param_4 != '\0') { uVar4 = 0x1000; } puVar1 = (uint *)((longlong)auStack_b0 + (longlong)*(int *)(local_c8[0] + 4)); *puVar1 = *puVar1 | (uint)uVar4; *(longlong *)((longlong)alStack_a8 + (longlong)*(int *)(local_c8[0] + 4)) = (longlong)param_3; } std::basic_ostream_>::operator<< ((basic_ostream_> *)local_c8,param_2); std::basic_ostream_>::_vbase_destructor_ ((basic_ostream_> *)local_c8); lVar2 = *local_f8; lVar3 = *local_118; std::basic_streambuf_>::~basic_streambuf_> ((basic_streambuf_> *)local_138); FUN_180495150(param_1,local_58,lVar2 - lVar3); } ############ FUN_ 1811efc90 size=282 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811efc90(LPCRITICAL_SECTION param_1,longlong *param_2) { uint uVar1; uint *puVar2; undefined8 ****ppppuVar3; undefined1 auStack_78 [32]; longlong local_58 [2]; longlong *local_48; LPCRITICAL_SECTION local_40; undefined8 ***local_38 [2]; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_58[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_78; local_48 = param_2; local_40 = param_1; EnterCriticalSection(param_1); FUN_180487940(local_38,*param_2); ppppuVar3 = local_38; if (0xf < local_20) { ppppuVar3 = (undefined8 ****)local_38[0]; } FUN_180495150(local_58,ppppuVar3,local_28); FUN_180486900(¶m_1[4].LockSemaphore,local_58); puVar2 = (uint *)(local_58[0] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if (local_20 < 0x10) { LeaveCriticalSection(param_1); puVar2 = (uint *)(*param_2 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } } ppppuVar3 = (undefined8 ****)local_38[0]; if ((0xfff < local_20 + 1) && (ppppuVar3 = (undefined8 ****)local_38[0][-1], 0x1f < (ulonglong)((longlong)local_38[0] + (-8 - (longlong)ppppuVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(ppppuVar3); } ############ FUN_ 18048eab0 size=324 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18048eab0(undefined8 param_1,undefined8 param_2,undefined8 *param_3,longlong *param_4, uint *param_5) { undefined8 uVar1; uint uVar2; uint *_Memory; char *pcVar3; char *pcVar4; undefined1 auStack_78 [32]; longlong local_58 [6]; char local_23 [3]; ulonglong local_20; local_58[1] = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; uVar1 = FUN_181245ee0(param_1,*param_3); uVar1 = FUN_181232d30(uVar1,param_2); local_58[2] = -1; do { local_58[2] = local_58[2] + 1; } while (*(char *)(*param_4 + local_58[2]) != '\0'); local_58[2] = local_58[2] + *param_4; FUN_181232e20(uVar1); uVar1 = FUN_181232d30(uVar1,param_2); uVar2 = *param_5; pcVar3 = local_23 + 2; local_23[2] = 0; if ((int)uVar2 < 0) { uVar2 = -uVar2; do { pcVar4 = pcVar3; pcVar3 = pcVar4 + -1; *pcVar3 = (char)uVar2 + (char)((ulonglong)uVar2 / 10) * -10 + '0'; uVar2 = (uint)((ulonglong)uVar2 / 10); } while (uVar2 != 0); pcVar3 = pcVar4 + -2; *pcVar3 = '-'; } else { do { pcVar3 = pcVar3 + -1; *pcVar3 = (char)uVar2 + (char)((ulonglong)uVar2 / 10) * -10 + '0'; uVar2 = (uint)((ulonglong)uVar2 / 10); } while (uVar2 != 0); } FUN_180495150(local_58,pcVar3,local_23 + (2 - (longlong)pcVar3)); FUN_181232d30(uVar1,local_58); _Memory = (uint *)(local_58[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 181211fd0 size=125 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181211fd0(undefined8 param_1,uint param_2) { ulonglong uVar1; ulonglong uVar2; char *pcVar3; undefined1 auStack_58 [62]; char local_1a [2]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; local_1a[1] = 0; pcVar3 = local_1a + 1; uVar2 = (ulonglong)param_2; do { pcVar3 = pcVar3 + -1; uVar1 = uVar2 / 10; *pcVar3 = (char)uVar2 + (char)uVar1 * -10 + '0'; uVar2 = uVar1; } while ((int)uVar1 != 0); FUN_180495150(param_1,pcVar3,local_1a + (1 - (longlong)pcVar3)); } ############ FUN_ 180495a70 size=77 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180495a70(undefined8 param_1,undefined8 param_2,undefined8 *param_3) { longlong lVar1; undefined1 auStack_58 [32]; undefined8 local_38; undefined1 local_11; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; local_38 = param_2; lVar1 = FUN_181233ea0(&local_10,*param_3); FUN_180495150(param_2,lVar1,&local_11 + -lVar1); } ############ FUN_ 181240c90 size=392 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181240c90(longlong param_1,longlong param_2) { longlong lVar1; longlong *plVar2; uint *puVar3; uint uVar4; char *pcVar5; double dVar6; undefined1 auStack_78 [32]; uint local_58; longlong local_50; longlong local_48; longlong local_40 [5]; undefined1 local_11; ulonglong local_10; local_40[1] = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_78; local_58 = 0; local_48 = param_1; if (param_2 == 1) { pcVar5 = " byte"; } else { if (0x3ff < param_2) { if (param_2 < 0x100000) { pcVar5 = " KB"; dVar6 = DAT_1824c4350; } else if (param_2 < 0x40000000) { pcVar5 = " MB"; dVar6 = DAT_1824c4400; } else { pcVar5 = " GB"; dVar6 = DAT_1824c4450; } uVar4 = 1; FUN_1812339a0(&local_48,(double)param_2 / dVar6,1,0); plVar2 = &local_48; goto LAB_181240d7a; } pcVar5 = " bytes"; } lVar1 = FUN_181233ea0(&local_10); FUN_180495150(local_40,lVar1,&local_11 + -lVar1); plVar2 = local_40; uVar4 = 2; LAB_181240d7a: local_50 = *plVar2; *plVar2 = (longlong)&DAT_1821dbf98; local_58 = uVar4; FUN_1812465e0(param_1,&local_50,pcVar5); local_58 = uVar4 | 4; if ((uVar4 & 2) != 0) { local_58 = uVar4 & 0xfffffffd | 4; puVar3 = (uint *)(local_40[0] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } } if (((local_58 & 1) != 0) && (puVar3 = (uint *)(local_48 + -0x10), (*puVar3 & 0x30000000) == 0)) { LOCK(); uVar4 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } } ############ FUN_ 181211eb0 size=180 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181211eb0(undefined8 param_1,uint param_2) { ulonglong uVar1; ulonglong uVar2; char *pcVar3; char *pcVar4; undefined1 auStack_58 [61]; char local_1b [3]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; local_1b[2] = 0; pcVar3 = local_1b + 2; uVar2 = (ulonglong)param_2; if ((int)param_2 < 0) { param_2 = -param_2; do { pcVar4 = pcVar3; pcVar3 = pcVar4 + -1; *pcVar3 = (char)param_2 + (char)((ulonglong)param_2 / 10) * -10 + '0'; param_2 = (uint)((ulonglong)param_2 / 10); } while (param_2 != 0); pcVar3 = pcVar4 + -2; *pcVar3 = '-'; } else { do { pcVar3 = pcVar3 + -1; uVar1 = uVar2 / 10; *pcVar3 = (char)uVar2 + (char)uVar1 * -10 + '0'; uVar2 = uVar1; } while ((int)uVar1 != 0); } FUN_180495150(param_1,pcVar3,local_1b + (2 - (longlong)pcVar3)); } ############ FUN_ 181211f70 size=69 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181211f70(undefined8 param_1) { longlong lVar1; undefined1 auStack_58 [63]; undefined1 local_19; ulonglong local_18 [2]; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_58; lVar1 = FUN_181233ea0(local_18); FUN_180495150(param_1,lVar1,&local_19 + -lVar1); } ############ FUN_ 181233800 size=180 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181233800(undefined8 param_1,uint param_2) { ulonglong uVar1; ulonglong uVar2; char *pcVar3; char *pcVar4; undefined1 auStack_58 [61]; char local_1b [3]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; local_1b[2] = 0; pcVar3 = local_1b + 2; uVar2 = (ulonglong)param_2; if ((int)param_2 < 0) { param_2 = -param_2; do { pcVar4 = pcVar3; pcVar3 = pcVar4 + -1; *pcVar3 = (char)param_2 + (char)((ulonglong)param_2 / 10) * -10 + '0'; param_2 = (uint)((ulonglong)param_2 / 10); } while (param_2 != 0); pcVar3 = pcVar4 + -2; *pcVar3 = '-'; } else { do { pcVar3 = pcVar3 + -1; uVar1 = uVar2 / 10; *pcVar3 = (char)uVar2 + (char)uVar1 * -10 + '0'; uVar2 = uVar1; } while ((int)uVar1 != 0); } FUN_180495150(param_1,pcVar3,local_1b + (2 - (longlong)pcVar3)); } ############ FUN_ 1812338c0 size=69 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812338c0(undefined8 param_1) { longlong lVar1; undefined1 auStack_58 [63]; undefined1 local_19; ulonglong local_18 [2]; local_18[0] = DAT_182615970 ^ (ulonglong)auStack_58; lVar1 = FUN_181233ea0(local_18); FUN_180495150(param_1,lVar1,&local_19 + -lVar1); } ############ FUN_ 181245de0 size=237 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181245de0(undefined8 param_1,uint param_2) { uint uVar1; ulonglong uVar2; uint *_Memory; ulonglong uVar3; char *pcVar4; char *pcVar5; undefined1 auStack_68 [32]; longlong local_48 [5]; char local_1b [3]; ulonglong local_18; local_48[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; pcVar4 = local_1b + 2; local_1b[2] = 0; uVar3 = (ulonglong)param_2; if ((int)param_2 < 0) { param_2 = -param_2; do { pcVar5 = pcVar4; pcVar4 = pcVar5 + -1; *pcVar4 = (char)param_2 + (char)((ulonglong)param_2 / 10) * -10 + '0'; param_2 = (uint)((ulonglong)param_2 / 10); } while (param_2 != 0); pcVar4 = pcVar5 + -2; *pcVar4 = '-'; } else { do { pcVar4 = pcVar4 + -1; uVar2 = uVar3 / 10; *pcVar4 = (char)uVar3 + (char)uVar2 * -10 + '0'; uVar3 = uVar2; } while ((int)uVar2 != 0); } FUN_180495150(local_48,pcVar4,local_1b + (2 - (longlong)pcVar4)); FUN_181232d30(param_1,local_48); _Memory = (uint *)(local_48[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 181249510 size=37 ############ undefined8 FUN_181249510(undefined8 param_1,undefined8 *param_2) { undefined8 *puVar1; puVar1 = param_2 + 2; if (0xf < (ulonglong)param_2[3]) { param_2 = (undefined8 *)*param_2; } FUN_180495150(param_1,param_2,*puVar1); return param_1; } ############ FUN_ 1813bb6b0 size=269 ############ void FUN_1813bb6b0(longlong param_1,float *param_2) { int iVar1; int iVar2; iVar2 = SUB84((double)(param_2[1] * DAT_1824c3c58 * param_2[2]) + DAT_1824c4520,0); if (iVar2 < 1) { iVar2 = 1; } if ((iVar2 != *(int *)(param_1 + 100)) || (NAN(*param_2))) { *(int *)(param_1 + 100) = iVar2; *(int *)(param_1 + 0x68) = iVar2; FUN_180534840(param_1 + 0x78,iVar2); if (1 < iVar2) { FUN_180557920(*(undefined8 *)(param_1 + 0x78),*param_2,0,DAT_1824c3ea4, *(int *)(param_1 + 100) + -1); } iVar2 = *(int *)(param_1 + 100) + -1; if (-1 < iVar2) { iVar1 = *(int *)(param_1 + 0x84); if (iVar1 <= iVar2) { if (*(int *)(param_1 + 0x80) < iVar1 + 1) { FUN_1804af790(param_1 + 0x78,iVar1 + 9 + (iVar1 + 1) / 2 & 0xfffffff8); } iVar2 = *(int *)(param_1 + 0x84); *(int *)(param_1 + 0x84) = iVar2 + 1; } *(undefined4 *)(*(longlong *)(param_1 + 0x78) + (longlong)iVar2 * 4) = 0x3f800000; } } return; } ############ FUN_ 18148ad90 size=45 ############ void FUN_18148ad90(longlong param_1) { FUN_181411be0(param_1 + 0x108,"deleteButtonAlpha",0,DAT_1824c4680,DAT_1824c4680); return; } ############ FUN_ 18148add0 size=50 ############ void FUN_18148add0(longlong param_1) { FUN_181411be0(param_1 + 0x108,"deleteButtonAlpha",DAT_1824c3ea4,DAT_1824c4680,DAT_1824c4680); return; } ############ FUN_ 1815527f0 size=195 ############ void FUN_1815527f0(longlong *param_1) { char cVar1; longlong lVar2; undefined4 uVar3; if (*(code **)(*param_1 + 0x38) == FUN_181552aa0) { lVar2 = param_1[0x1c]; if ((lVar2 != 0) && ((*(byte *)((longlong)param_1 + 0xa9) & 0x10) == 0)) { if ((param_1[3] != 0) && (cVar1 = FUN_18133eaa0(), cVar1 == '\0')) { return; } FUN_1811c2330(lVar2); uVar3 = FUN_1811b6ab0(param_1[0x1c]); FUN_1811bf680(param_1[0x1c],uVar3,1); if ((longlong *)param_1[0x1c] != (longlong *)0x0) { uVar3 = (**(code **)(*(longlong *)param_1[0x1c] + 8))(); FUN_181411be0(param_1[0x144],"normVal",uVar3,DAT_1824c4680,DAT_1824c4680); } FUN_1811bf8a0(param_1[0x1c]); return; } } else { (**(code **)(*param_1 + 0x38))(); } return; } ############ FUN_ 181552aa0 size=167 ############ void FUN_181552aa0(longlong param_1) { char cVar1; longlong lVar2; undefined4 uVar3; lVar2 = *(longlong *)(param_1 + 0xe0); if ((lVar2 == 0) || ((*(byte *)(param_1 + 0xa9) & 0x10) != 0)) { return; } if ((*(longlong *)(param_1 + 0x18) != 0) && (cVar1 = FUN_18133eaa0(), cVar1 == '\0')) { return; } FUN_1811c2330(lVar2); uVar3 = FUN_1811b6ab0(*(undefined8 *)(param_1 + 0xe0)); FUN_1811bf680(*(undefined8 *)(param_1 + 0xe0),uVar3,1); if (*(longlong **)(param_1 + 0xe0) != (longlong *)0x0) { uVar3 = (**(code **)(**(longlong **)(param_1 + 0xe0) + 8))(); FUN_181411be0(*(undefined8 *)(param_1 + 0xa20),"normVal",uVar3,DAT_1824c4680,DAT_1824c4680); } FUN_1811bf8a0(*(undefined8 *)(param_1 + 0xe0)); return; } ############ FUN_ 18155a180 size=69 ############ void FUN_18155a180(longlong param_1) { undefined4 uVar1; if (*(longlong **)(param_1 + 0xe0) != (longlong *)0x0) { uVar1 = (**(code **)(**(longlong **)(param_1 + 0xe0) + 8))(); FUN_181411be0(*(undefined8 *)(param_1 + 0xa20),"normVal",uVar1,DAT_1824c4680,DAT_1824c4680); } return; } ############ FUN_ 18155b8b0 size=99 ############ void FUN_18155b8b0(longlong param_1) { undefined4 uVar1; uVar1 = FUN_1811b6ab0(*(undefined8 *)(param_1 + 0xe0)); FUN_1811bf680(*(undefined8 *)(param_1 + 0xe0),uVar1,1); if (*(longlong **)(param_1 + 0xe0) != (longlong *)0x0) { uVar1 = (**(code **)(**(longlong **)(param_1 + 0xe0) + 8))(); FUN_181411be0(*(undefined8 *)(param_1 + 0xa20),"normVal",uVar1,DAT_1824c4680,DAT_1824c4680); } return; } ############ FUN_ 1815da420 size=440 ############ void FUN_1815da420(longlong *param_1,undefined8 param_2) { longlong *plVar1; undefined8 *puVar2; longlong lVar3; undefined1 local_res8 [4]; undefined4 local_resc; undefined1 local_res18 [4]; undefined4 local_res1c; undefined1 local_res20 [8]; plVar1 = param_1 + 0x41; if (*(code **)(*plVar1 + 8) == FUN_180584490) { if (param_1[0x42] == 0) { FUN_1805849b0(param_1); } lVar3 = param_1[0x42]; } else { lVar3 = (**(code **)(*plVar1 + 8))(plVar1); } FUN_1813f22a0(lVar3,local_res8,DAT_1826742a8,param_1); if (*(code **)(*plVar1 + 8) == FUN_180584490) { if (param_1[0x42] == 0) { FUN_1805849b0(param_1); } lVar3 = param_1[0x42]; } else { lVar3 = (**(code **)(*plVar1 + 8))(plVar1); } FUN_1813f22a0(lVar3,local_res18,DAT_182674218,param_1); if (*(code **)(*plVar1 + 8) == FUN_180584490) { if (param_1[0x42] == 0) { FUN_1805849b0(param_1); } lVar3 = param_1[0x42]; } else { lVar3 = (**(code **)(*plVar1 + 8))(plVar1); } puVar2 = (undefined8 *)FUN_18140e230(local_res20,local_resc); FUN_1813f0dc0(lVar3,DAT_182674230,*puVar2,param_1); if (*(code **)(*plVar1 + 8) == FUN_180584490) { if (param_1[0x42] == 0) { FUN_1805849b0(param_1); } lVar3 = param_1[0x42]; } else { lVar3 = (**(code **)(*plVar1 + 8))(plVar1); } puVar2 = (undefined8 *)FUN_18140e230(local_res8,local_res1c); FUN_1813f0dc0(lVar3,DAT_182674268,*puVar2,param_1); (**(code **)(*param_1 + 0x58))(param_1,1); FUN_1815d8700(param_1,param_2); FUN_181344f60(param_1,0); FUN_181411be0(param_1 + 0x96,"alpha",DAT_1824c3ea4,DAT_1824c44cc,DAT_1824c4680); return; } ############ FUN_ 18162ac10 size=53 ############ void FUN_18162ac10(longlong param_1) { FUN_181411be0(param_1 + 0x118,"hover",0,DAT_1824c44dc,DAT_1824c4680); return; } ############ FUN_ 18162ac50 size=58 ############ void FUN_18162ac50(longlong param_1) { FUN_181411be0(param_1 + 0x118,"hover",DAT_1824c3ea4,DAT_1824c44dc,DAT_1824c4680); return; } ############ FUN_ 1815b64a0 size=210 ############ void FUN_1815b64a0(longlong *param_1,undefined4 param_2,undefined4 param_3,longlong param_4, undefined4 param_5) { longlong *plVar1; longlong lVar2; *(undefined4 *)(param_1 + 0x59) = param_5; param_1[0x5a] = param_4; *(undefined4 *)(param_1 + 0x58) = param_2; *(undefined4 *)((longlong)param_1 + 0x2c4) = param_3; FUN_1815ecd00(); plVar1 = (longlong *)param_1[0x5b]; lVar2 = param_1[0x1a]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(lVar2,plVar1,0xffffffff); } lVar2 = param_1[0x1a]; (**(code **)(*param_1 + 0x58))(param_1,1); FUN_181343cc0(lVar2,param_1,0xffffffff); FUN_181344e50(param_1[0x5b],param_1); FUN_181411be0(param_1 + 0x1c,"alpha",DAT_1824c3ea4); return; } ############ FUN_ 180485b50 size=46 ############ void FUN_180485b50(undefined8 *param_1) { void *_Memory; _Memory = (void *)*param_1; if (_Memory != (void *)0x0) { FUN_180484cd0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 181a352a5 size=41 ############ void Unwind_181a352a5(undefined8 param_1,longlong param_2) { if ((*(uint *)(param_2 + 0x70) & 1) != 0) { *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xfffffffe; FUN_180484cd0(param_2 + 0x350); } return; } ############ FUN_ 181a352ce size=41 ############ void Unwind_181a352ce(undefined8 param_1,longlong param_2) { if ((*(uint *)(param_2 + 0x70) & 2) != 0) { *(uint *)(param_2 + 0x70) = *(uint *)(param_2 + 0x70) & 0xfffffffd; FUN_180484cd0(param_2 + 0x270); } return; } ############ FUN_ 1812b67a0 size=125 ############ void FUN_1812b67a0(undefined8 *param_1) { longlong *plVar1; *param_1 = juce::AudioParameterFloat::vftable; plVar1 = (longlong *)param_1[0x3b]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x34); param_1[0x3b] = 0; } plVar1 = (longlong *)param_1[0x33]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x2c); param_1[0x33] = 0; } FUN_180484cd0(param_1 + 0x10); FUN_1812c25c0(param_1); return; } ############ FUN_ 1804d97d0 size=160 ############ undefined8 * FUN_1804d97d0(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; *param_1 = juce::AudioParameterInt::vftable; plVar1 = (longlong *)param_1[0x3b]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x34); param_1[0x3b] = 0; } plVar1 = (longlong *)param_1[0x33]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x2c); param_1[0x33] = 0; } FUN_180484cd0(param_1 + 0x10); FUN_1812c25c0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d9b80 size=160 ############ undefined8 * FUN_1804d9b80(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; *param_1 = juce::AudioParameterBool::vftable; plVar1 = (longlong *)param_1[0x3b]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x34); param_1[0x3b] = 0; } plVar1 = (longlong *)param_1[0x33]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x2c); param_1[0x33] = 0; } FUN_180484cd0(param_1 + 0x10); FUN_1812c25c0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805292a0 size=222 ############ void * .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ (void *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; uint *_Memory; puVar2 = *(undefined8 **)((longlong)param_1 + 0x940); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1,param_3,param_4,0xfffffffffffffffe); } _eh_vector_destructor_iterator_((void *)((longlong)param_1 + 0x8e8),0x28,2,FUN_18052bcb0); _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0x8c8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180484cd0((longlong)param_1 + 0x7e0); FUN_180484cd0((longlong)param_1 + 0x708); puVar2 = *(undefined8 **)((longlong)param_1 + 0x6f8); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } FUN_180529380((longlong)param_1 + 0x5e0); FUN_18052c910(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18058b860 size=507 ############ void FUN_18058b860(undefined8 *param_1) { longlong *plVar1; longlong *plVar2; undefined8 *puVar3; uint uVar4; longlong *plVar5; ulonglong uVar6; uint *_Memory; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; *param_1 = FilterGraph::vftable; param_1[0x16] = FilterGraph::vftable; param_1[0x19] = FilterGraph::vftable; param_1[0x1c] = FilterGraph::vftable; param_1[0x1d] = FilterGraph::vftable; param_1[0x1e] = FilterGraph::vftable; plVar1 = (longlong *)param_1[0xe]; if (plVar1 != (longlong *)0x0) { plVar2 = (longlong *)*plVar1; for (plVar5 = plVar2; plVar5 != plVar2 + *(int *)((longlong)plVar1 + 0xc); plVar5 = plVar5 + 1) { if (param_1 == (undefined8 *)*plVar5) { uVar6 = (longlong)plVar5 - (longlong)plVar2 >> 3; uVar4 = (uint)uVar6; if (-1 < (int)uVar4) { if ((int)uVar4 < (int)plVar1[2]) { *(int *)(plVar1 + 2) = (int)plVar1[2] + -1; } if (uVar4 < *(uint *)((longlong)plVar1 + 0xc)) { FUN_18049b4a0(plVar1,uVar6 & 0xffffffff,plVar1,plVar2,0xfffffffffffffffe); } } break; } } } plVar1 = *(longlong **)(param_1[0x138c] + 0x70); if (plVar1 != (longlong *)0x0) { plVar2 = (longlong *)*plVar1; for (plVar5 = plVar2; plVar5 != plVar2 + *(int *)((longlong)plVar1 + 0xc); plVar5 = plVar5 + 1) { if (param_1 == (undefined8 *)*plVar5) { uVar6 = (longlong)plVar5 - (longlong)plVar2 >> 3; uVar4 = (uint)uVar6; if (-1 < (int)uVar4) { if ((int)uVar4 < (int)plVar1[2]) { *(int *)(plVar1 + 2) = (int)plVar1[2] + -1; } if (uVar4 < *(uint *)((longlong)plVar1 + 0xc)) { FUN_18049b4a0(plVar1,uVar6 & 0xffffffff,plVar1,plVar2,uVar7); } } break; } } } FUN_18058d180(param_1 + 0x138a); FUN_180568840(param_1 + 5000); _Memory = (uint *)(param_1[0x1386] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (param_1[0x1384] != 0) { FUN_18056a070(); } puVar3 = (undefined8 *)param_1[0x1382]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } FUN_180485f00(param_1 + 0x1380); FUN_180485f00(param_1 + 0x137e); puVar3 = (undefined8 *)param_1[0x137d]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } FUN_180484cd0(param_1 + 0x1362); FUN_180484cd0(param_1 + 0x1347); *(undefined4 *)((longlong)param_1 + 0x9a34) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x1345]); } ############ FUN_ 18119bff0 size=529 ############ undefined8 FUN_18119bff0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined4 param_6,longlong *param_7,undefined8 param_8, longlong *param_9,longlong *param_10,undefined4 param_11) { longlong *plVar1; undefined8 uVar2; undefined1 local_1c8 [56]; longlong *local_190; undefined1 local_188 [56]; undefined8 local_150; undefined1 local_148 [56]; undefined8 local_110; undefined1 local_108 [224]; local_150 = 0; FUN_180488560(local_188,param_10); local_190 = (longlong *)0x0; plVar1 = (longlong *)param_9[7]; if (plVar1 != (longlong *)0x0) { if (plVar1 == param_9) { local_190 = (longlong *)(**(code **)(*plVar1 + 8))(plVar1,local_1c8); plVar1 = (longlong *)param_9[7]; if (plVar1 == (longlong *)0x0) goto LAB_18119c0c6; (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_9); plVar1 = local_190; } local_190 = plVar1; param_9[7] = 0; } LAB_18119c0c6: local_110 = 0; FUN_180488560(local_148,param_7); uVar2 = FUN_180485290(local_108,param_5); uVar2 = FUN_18119c460(param_1,param_2,param_3,param_4,uVar2,param_6,local_148,param_8,local_1c8, local_188,param_11); FUN_1812c2e60(*(undefined8 *)(param_1 + 0x30),uVar2); FUN_180484cd0(param_5); plVar1 = (longlong *)param_7[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_7); param_7[7] = 0; } plVar1 = (longlong *)param_9[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_9); param_9[7] = 0; } plVar1 = (longlong *)param_10[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_10); param_10[7] = 0; } return uVar2; } ############ FUN_ 1812b6190 size=125 ############ void FUN_1812b6190(undefined8 *param_1) { longlong *plVar1; *param_1 = juce::AudioParameterBool::vftable; plVar1 = (longlong *)param_1[0x3b]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x34); param_1[0x3b] = 0; } plVar1 = (longlong *)param_1[0x33]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x2c); param_1[0x33] = 0; } FUN_180484cd0(param_1 + 0x10); FUN_1812c25c0(param_1); return; } ############ FUN_ 1812b6490 size=125 ############ void FUN_1812b6490(undefined8 *param_1) { longlong *plVar1; *param_1 = juce::AudioParameterInt::vftable; plVar1 = (longlong *)param_1[0x3b]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x34); param_1[0x3b] = 0; } plVar1 = (longlong *)param_1[0x33]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 0x2c); param_1[0x33] = 0; } FUN_180484cd0(param_1 + 0x10); FUN_1812c25c0(param_1); return; } ############ FUN_ 1814dc280 size=459 ############ undefined8 * FUN_1814dc280(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined4 param_6) { undefined8 uVar1; undefined4 uStack0000000000000038; undefined **local_140; undefined8 *local_138; undefined ***local_108; undefined1 local_100 [216]; *param_1 = juce::Component::vftable; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; local_140 = std::_Func_impl_no_alloc<,void>::vftable; local_108 = &local_140; local_138 = param_1; uVar1 = FUN_180484da0(local_100); FUN_18055f8f0(param_1 + 0x16,uVar1,param_3,param_4,param_5,&local_140,param_6); *param_1 = CueVisualisationArea::vftable; param_1[0x16] = CueVisualisationArea::vftable; param_1[0x17] = CueVisualisationArea::vftable; uStack0000000000000038 = CONCAT13(0x7f,(int3)DAT_18262bb70); *(undefined4 *)(param_1 + 0x7b) = uStack0000000000000038; *(undefined1 *)((longlong)param_1 + 0x3dd) = 1; param_1[0x7c] = 0; param_1[0x7d] = 0; *(undefined1 *)(param_1 + 0x7e) = 0; param_1[0x7f] = 0; param_1[0x80] = 0; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xef | 8; FUN_180484cd0(param_2); return param_1; } ############ FUN_ 181a345c2 size=12 ############ void Unwind_181a345c2(undefined8 param_1,longlong param_2) { FUN_180484cd0(param_2 + 0x260); return; } ############ FUN_ 181a35065 size=12 ############ void Unwind_181a35065(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0x270)); return; } ############ FUN_ 181a35139 size=12 ############ void Unwind_181a35139(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0x2e0)); return; } ############ FUN_ 181a353cf size=12 ############ void Unwind_181a353cf(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0x188)); return; } ############ FUN_ 181a353fa size=19 ############ void Unwind_181a353fa(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(longlong *)(param_2 + 0x138) + 0xb0); return; } ############ FUN_ 181a39f26 size=19 ############ void Unwind_181a39f26(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(longlong *)(param_2 + 0xd8) + 0x80); return; } ############ FUN_ 181a3fb34 size=19 ############ void Unwind_181a3fb34(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(longlong *)(param_2 + 0x240) + 0x708); return; } ############ FUN_ 181a3fb47 size=19 ############ void Unwind_181a3fb47(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(longlong *)(param_2 + 0x240) + 0x7e0); return; } ############ FUN_ 181a3fc50 size=12 ############ void Unwind_181a3fc50(undefined8 param_1,longlong param_2) { FUN_180484cd0(param_2 + 0x3660); return; } ############ FUN_ 181a3ff14 size=12 ############ void Unwind_181a3ff14(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0xa0)); return; } ############ FUN_ 181a40064 size=12 ############ void Unwind_181a40064(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0x148)); return; } ############ FUN_ 181a400d0 size=12 ############ void Unwind_181a400d0(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0x148)); return; } ############ FUN_ 181a40148 size=12 ############ void Unwind_181a40148(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0x148)); return; } ############ FUN_ 181a401b4 size=12 ############ void Unwind_181a401b4(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0x148)); return; } ############ FUN_ 181a40310 size=12 ############ void Unwind_181a40310(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0x100)); return; } ############ FUN_ 181a42ace size=19 ############ void Unwind_181a42ace(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(longlong *)(param_2 + 0x1f0) + 0x988); return; } ############ FUN_ 180564d60 size=87 ############ void FUN_180564d60(longlong param_1) { undefined8 *puVar1; puVar1 = *(undefined8 **)(param_1 + 0x100); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)((longlong)puVar1 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } puVar1 = *(undefined8 **)(param_1 + 0xf8); if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)((longlong)puVar1 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } FUN_180484cd0(param_1); return; } ############ FUN_ 181a464ab size=12 ############ void Unwind_181a464ab(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0x1a8)); return; } ############ FUN_ 181a1a8d0 size=12 ############ void Unwind_181a1a8d0(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0x70)); return; } ############ FUN_ 181a1a4b0 size=12 ############ void Unwind_181a1a4b0(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(undefined8 *)(param_2 + 0xd8)); return; } ############ FUN_ 181a1a4f0 size=16 ############ void Unwind_181a1a4f0(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(longlong *)(param_2 + 0xd0) + 0x68); return; } ############ FUN_ 181a1c3a0 size=19 ############ void Unwind_181a1c3a0(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(longlong *)(param_2 + 0x50) + 0x128); return; } ############ FUN_ 181a1c030 size=19 ############ void Unwind_181a1c030(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(longlong *)(param_2 + 0x70) + 0x9a38); return; } ############ FUN_ 181a1c050 size=19 ############ void Unwind_181a1c050(undefined8 param_1,longlong param_2) { FUN_180484cd0(*(longlong *)(param_2 + 0x70) + 0x9b10); return; } ############ FUN_ 1813b0590 size=36 ############ void FUN_1813b0590(undefined8 *param_1) { FUN_18047cbc0(); *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x0001813b05ad. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 180486040 size=36 ############ void FUN_180486040(undefined8 *param_1) { FUN_18047cbc0(); *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x00018048605d. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 180528290 size=71 ############ void FUN_180528290(undefined8 *param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(param_1[2] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18047cbc0(param_1); *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 18052d410 size=39 ############ void FUN_18052d410(longlong param_1) { FUN_18047cbc0(param_1 + 0x38); *(undefined4 *)(param_1 + 0x44) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x38)); } ############ FUN_ 1804859d0 size=96 ############ void FUN_1804859d0(longlong param_1) { undefined8 *puVar1; puVar1 = *(undefined8 **)(param_1 + 0x130); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1813baf40(param_1 + 0x70); puVar1 = *(undefined8 **)(param_1 + 0x68); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_18047cbc0(param_1 + 0x50); *(undefined4 *)(param_1 + 0x5c) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x50)); } ############ FUN_ 1804d0160 size=103 ############ void FUN_1804d0160(undefined8 *param_1) { uint *puVar1; uint uVar2; *param_1 = juce::MultiTimer::vftable; do { LOCK(); puVar1 = (uint *)(param_1 + 1); uVar2 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); } while ((uVar2 & 1) != 0); FUN_18047cbc0(param_1 + 2); if (*(int *)(param_1 + 3) != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } *(undefined4 *)(param_1 + 3) = 0; LOCK(); *(undefined4 *)(param_1 + 1) = 0; UNLOCK(); FUN_18047cbc0(param_1 + 2); *(undefined4 *)((longlong)param_1 + 0x1c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } ############ FUN_ 1804d4cf0 size=66 ############ void FUN_1804d4cf0(undefined8 *param_1) { *param_1 = juce::MPESynthesiser::vftable; DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xc)); FUN_18047cbc0(param_1 + 10); *(undefined4 *)((longlong)param_1 + 0x5c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[10]); } ############ FUN_ 1804db450 size=91 ############ void FUN_1804db450(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; lVar1 = *param_1; if (lVar1 != 0) { FUN_18134a370(lVar1 + 0x30,0,0,param_4,0xfffffffffffffffe); FUN_18134a530(lVar1 + 0x30); FUN_18047cbc0(lVar1 + 0x18); *(undefined4 *)(lVar1 + 0x24) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(lVar1 + 0x18)); } return; } ############ FUN_ 1804e7770 size=124 ############ void FUN_1804e7770(undefined8 *param_1) { *param_1 = juce::ModalComponentManager::vftable; param_1[2] = juce::ModalComponentManager::vftable; FUN_18047cbc0(param_1 + 3); if (*(int *)(param_1 + 4) != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } *(undefined4 *)(param_1 + 4) = 0; if (DAT_182673c20 == param_1) { DAT_182673c20 = (undefined8 *)0x0; } FUN_18047cbc0(param_1 + 3); *(undefined4 *)((longlong)param_1 + 0x24) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } ############ FUN_ 1804fff10 size=246 ############ undefined8 * FUN_1804fff10(undefined8 *param_1,ulonglong param_2) { uint uVar1; int iVar2; longlong lVar3; uint *_Memory; *param_1 = juce::PropertyPanel::vftable; lVar3 = param_1[0x4d]; if (*(int *)(lVar3 + 0xbc) != 0) { FUN_18047cbc0(lVar3 + 0xb0); if (*(int *)(lVar3 + 0xb8) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar3 + 0xb0)); } *(undefined4 *)(lVar3 + 0xb8) = 0; iVar2 = *(int *)(param_1 + 0x35); FUN_1804ffdf0(param_1[0x4d],iVar2); if (iVar2 != *(int *)(param_1 + 0x35)) { FUN_1804ffdf0(param_1[0x4d]); } } _Memory = (uint *)(param_1[0x4e] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134a530(param_1 + 0x16); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180506550 size=55 ############ void FUN_180506550(longlong param_1) { FUN_18047cbc0(param_1 + 0xc0); *(undefined4 *)(param_1 + 0xcc) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0xc0)); } ############ FUN_ 18050a3e0 size=119 ############ void FUN_18050a3e0(undefined8 *param_1) { undefined8 *puVar1; *param_1 = juce::Toolbar::vftable; puVar1 = param_1 + 0x1c; param_1[0x16] = juce::Toolbar::vftable; param_1[0x19] = juce::Toolbar::vftable; FUN_18047cbc0(puVar1); if (*(int *)(param_1 + 0x1d) != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar1); } *(undefined4 *)(param_1 + 0x1d) = 0; FUN_18047cbc0(puVar1); *(undefined4 *)((longlong)param_1 + 0xec) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } ############ FUN_ 1812d96c0 size=72 ############ void FUN_1812d96c0(undefined8 *param_1) { *param_1 = juce::ToolbarItemPalette::vftable; param_1[0x16] = juce::ToolbarItemPalette::vftable; FUN_18047cbc0(param_1 + 0x52); *(undefined4 *)((longlong)param_1 + 0x29c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x52]); } ############ FUN_ 180559c80 size=150 ############ void FUN_180559c80(undefined8 *param_1) { undefined8 *puVar1; int iVar2; *param_1 = juce::ColourSelector::vftable; param_1[0x16] = juce::ColourSelector::vftable; LOCK(); iVar2 = *(int *)(param_1[0x18] + 0x18); *(int *)(param_1[0x18] + 0x18) = 0; UNLOCK(); if (iVar2 != 0) { (**(code **)(param_1[0x17] + 8))(); } puVar1 = param_1 + 0x26; FUN_18047cbc0(puVar1); if (*(int *)(param_1 + 0x27) != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar1); } *(undefined4 *)(param_1 + 0x27) = 0; FUN_18047cbc0(puVar1); *(undefined4 *)((longlong)param_1 + 0x13c) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } ############ FUN_ 1814c9750 size=571 ############ void FUN_1814c9750(undefined8 *param_1) { longlong lVar1; undefined ***pppuVar2; longlong *plVar3; undefined ***pppuVar4; undefined1 auStack_d8 [32]; undefined8 local_b8; undefined **local_a8 [7]; undefined ***local_70; undefined **local_68 [7]; undefined ***local_30; ulonglong local_28; local_b8 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_d8; *param_1 = CloudyTutorialEngine::vftable; param_1[0x16] = CloudyTutorialEngine::vftable; param_1[0x19] = CloudyTutorialEngine::vftable; param_1[0x1a] = CloudyTutorialEngine::vftable; lVar1 = param_1[0x29]; pppuVar4 = (undefined ***)(lVar1 + 8); local_a8[0] = std::_Func_impl_no_alloc<,void,bool>:: vftable; local_70 = local_a8; local_30 = (undefined ***)0x0; if ((code *)PTR_FUN_1824b2ae0 == FUN_18048dd90) { local_68[0] = std::_Func_impl_no_alloc<,void,bool>:: vftable; local_30 = local_68; } else { local_30 = (undefined ***)(*(code *)PTR_FUN_1824b2ae0)(local_a8,local_68); } FUN_180488cd0(local_a8); pppuVar2 = *(undefined ****)(lVar1 + 0x40); if (pppuVar2 != (undefined ***)0x0) { if (pppuVar2 == pppuVar4) { if ((code *)(*pppuVar2)[1] == FUN_18048dd90) { local_a8[0] = std::_Func_impl_no_alloc<,void,bool> ::vftable; local_70 = local_a8; FUN_180488cd0(pppuVar4); } else { local_70 = (undefined ***)(*(code *)(*pppuVar2)[1])(pppuVar2,local_a8); FUN_180488cd0(pppuVar4); } } else { *(undefined8 *)(lVar1 + 0x40) = 0; local_70 = pppuVar2; } } FUN_18057bcc0(pppuVar4,local_68); if (local_30 != (undefined ***)0x0) { if ((code *)(*local_30)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_30 != local_68) { /* WARNING: Subroutine does not return */ free(local_30); } } else { (*(code *)(*local_30)[4])(); } } if (local_70 != (undefined ***)0x0) { if ((code *)(*local_70)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_70 != local_a8) { /* WARNING: Subroutine does not return */ free(local_70); } } else { (*(code *)(*local_70)[4])(); } } plVar3 = (longlong *)param_1[0x1b6]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_1 + 0x1af); param_1[0x1b6] = 0; } plVar3 = (longlong *)param_1[0x1ae]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_1 + 0x1a7); param_1[0x1ae] = 0; } FUN_18047cbc0(param_1 + 0x1a3); *(undefined4 *)((longlong)param_1 + 0xd24) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x1a3]); } ############ FUN_ 180578bf0 size=62 ############ void FUN_180578bf0(undefined8 *param_1) { if (1 < *(int *)((longlong)param_1 + 0xc)) { FUN_180528070(param_1,*(int *)((longlong)param_1 + 0xc) + -1); return; } FUN_18047cbc0(); if (*(int *)(param_1 + 1) != 0) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } *(undefined4 *)(param_1 + 1) = 0; return; } ############ FUN_ 1812a56b0 size=105 ############ void FUN_1812a56b0(undefined8 *param_1) { uint *puVar1; uint uVar2; *param_1 = juce::MultiTimer::vftable; do { LOCK(); puVar1 = (uint *)(param_1 + 1); uVar2 = *puVar1; *puVar1 = *puVar1 | 1; UNLOCK(); } while ((uVar2 & 1) != 0); FUN_18047cbc0(param_1 + 2); if (*(int *)(param_1 + 3) != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } *(undefined4 *)(param_1 + 3) = 0; LOCK(); *(undefined4 *)(param_1 + 1) = 0; UNLOCK(); FUN_18047cbc0(param_1 + 2); *(undefined4 *)((longlong)param_1 + 0x1c) = 0; /* WARNING: Could not recover jumptable at 0x0001812a571a. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)param_1[2]); return; } ############ FUN_ 1812acde0 size=59 ############ void FUN_1812acde0(undefined8 *param_1) { *param_1 = juce::MPESynthesiser::vftable; DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xc)); FUN_18047cbc0(param_1 + 10); *(undefined4 *)((longlong)param_1 + 0x5c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[10]); } ############ FUN_ 1812da9c0 size=80 ############ void FUN_1812da9c0(longlong *param_1) { FUN_18047cbc0(param_1 + 0x1c); if ((int)param_1[0x1d] != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0x1c]); } *(undefined4 *)(param_1 + 0x1d) = 0; /* WARNING: Could not recover jumptable at 0x0001812daa14. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x108))(param_1); return; } ############ FUN_ 1812daa30 size=112 ############ void FUN_1812daa30(undefined8 *param_1) { undefined8 *puVar1; *param_1 = juce::Toolbar::vftable; puVar1 = param_1 + 0x1c; param_1[0x16] = juce::Toolbar::vftable; param_1[0x19] = juce::Toolbar::vftable; FUN_18047cbc0(puVar1); if (*(int *)(param_1 + 0x1d) != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar1); } *(undefined4 *)(param_1 + 0x1d) = 0; FUN_18047cbc0(puVar1); *(undefined4 *)((longlong)param_1 + 0xec) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } ############ FUN_ 1812ed190 size=126 ############ void FUN_1812ed190(longlong param_1) { int iVar1; longlong lVar2; lVar2 = *(longlong *)(param_1 + 0x268); if (*(int *)(lVar2 + 0xbc) != 0) { FUN_18047cbc0(lVar2 + 0xb0); if (*(int *)(lVar2 + 0xb8) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar2 + 0xb0)); } *(undefined4 *)(lVar2 + 0xb8) = 0; iVar1 = *(int *)(param_1 + 0x1a8); FUN_1804ffdf0(*(undefined8 *)(param_1 + 0x268),iVar1); if (iVar1 != *(int *)(param_1 + 0x1a8)) { FUN_1804ffdf0(*(undefined8 *)(param_1 + 0x268)); } } return; } ############ FUN_ 1812ed3a0 size=210 ############ void FUN_1812ed3a0(undefined8 *param_1) { uint uVar1; int iVar2; longlong lVar3; uint *_Memory; *param_1 = juce::PropertyPanel::vftable; lVar3 = param_1[0x4d]; if (*(int *)(lVar3 + 0xbc) != 0) { FUN_18047cbc0(lVar3 + 0xb0); if (*(int *)(lVar3 + 0xb8) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar3 + 0xb0)); } *(undefined4 *)(lVar3 + 0xb8) = 0; iVar2 = *(int *)(param_1 + 0x35); FUN_1804ffdf0(param_1[0x4d],iVar2); if (iVar2 != *(int *)(param_1 + 0x35)) { FUN_1804ffdf0(param_1[0x4d]); } } _Memory = (uint *)(param_1[0x4e] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134a530(param_1 + 0x16); FUN_18134caa0(param_1); return; } ############ FUN_ 18133b620 size=117 ############ void FUN_18133b620(undefined8 *param_1) { *param_1 = juce::ModalComponentManager::vftable; param_1[2] = juce::ModalComponentManager::vftable; FUN_18047cbc0(param_1 + 3); if (*(int *)(param_1 + 4) != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } *(undefined4 *)(param_1 + 4) = 0; if (DAT_182673c20 == param_1) { DAT_182673c20 = (undefined8 *)0x0; } FUN_18047cbc0(param_1 + 3); *(undefined4 *)((longlong)param_1 + 0x24) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } ############ FUN_ 1813bf740 size=142 ############ void FUN_1813bf740(undefined8 *param_1) { undefined8 *puVar1; int iVar2; *param_1 = juce::ColourSelector::vftable; param_1[0x16] = juce::ColourSelector::vftable; LOCK(); iVar2 = *(int *)(param_1[0x18] + 0x18); *(int *)(param_1[0x18] + 0x18) = 0; UNLOCK(); if (iVar2 != 0) { (**(code **)(param_1[0x17] + 8))(); } puVar1 = param_1 + 0x26; FUN_18047cbc0(puVar1); if (*(int *)(param_1 + 0x27) != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar1); } *(undefined4 *)(param_1 + 0x27) = 0; FUN_18047cbc0(puVar1); *(undefined4 *)((longlong)param_1 + 0x13c) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } ############ FUN_ 1804646a0 size=110 ############ void FUN_1804646a0(void) { undefined8 *puVar1; undefined1 uVar2; undefined4 local_res8; double local_res10; local_res10 = (double)(DAT_1824c3d64 * 255.0) + DAT_1824c4520; uVar2 = 0xff; if (SUB84(local_res10,0) < 0xff) { uVar2 = SUB81(local_res10,0); } local_res8 = CONCAT13(uVar2,0xffffff); puVar1 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); DAT_182674204 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464710 size=45 ############ void FUN_180464710(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xb33f3f3f; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xb33f3f3f); DAT_182674280 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804647a0 size=58 ############ void FUN_1804647a0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xa6000000; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xa6000000); DAT_18267418c = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804647e0 size=39 ############ void FUN_1804647e0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffa7b8ca; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffa7b8ca); FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464810 size=39 ############ void FUN_180464810(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464920 size=58 ############ void FUN_180464920(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0x19ffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0x19ffffff); DAT_18267428c = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464960 size=58 ############ void FUN_180464960(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0x99ffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0x99ffffff); DAT_1826741f4 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804649a0 size=45 ############ void FUN_1804649a0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); DAT_182674200 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464a00 size=58 ############ void FUN_180464a00(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xccffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xccffffff); DAT_182674198 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464a40 size=45 ############ void FUN_180464a40(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff4d5c66; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff4d5c66); DAT_18267421c = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464a70 size=45 ############ void FUN_180464a70(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff4d5c66; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff4d5c66); DAT_182674240 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464aa0 size=45 ############ void FUN_180464aa0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff53646e; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff53646e); DAT_1826741b4 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464ad0 size=45 ############ void FUN_180464ad0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff637682; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff637682); DAT_18267424c = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464b30 size=58 ############ void FUN_180464b30(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xe6ffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xe6ffffff); DAT_1826741e0 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464b70 size=58 ############ void FUN_180464b70(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0x99ffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0x99ffffff); DAT_18267416c = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464c10 size=109 ############ void FUN_180464c10(void) { undefined8 *puVar1; undefined1 uVar2; undefined4 local_res8; double local_res10; local_res10 = DAT_1824c4520 + 0.0; uVar2 = 0xff; if (SUB84(local_res10,0) < 0xff) { uVar2 = SUB81(local_res10,0); } local_res8 = CONCAT13(uVar2,0xffffff); puVar1 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); DAT_1826741f0 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464c80 size=110 ############ void FUN_180464c80(void) { undefined8 *puVar1; undefined1 uVar2; undefined4 local_res8; double local_res10; local_res10 = (double)(DAT_1824c3d64 * 255.0) + DAT_1824c4520; uVar2 = 0xff; if (SUB84(local_res10,0) < 0xff) { uVar2 = SUB81(local_res10,0); } local_res8 = CONCAT13(uVar2,0xffffff); puVar1 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); DAT_1826742b8 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464cf0 size=45 ############ void FUN_180464cf0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); DAT_1826741b0 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464d20 size=110 ############ void FUN_180464d20(void) { undefined8 *puVar1; undefined1 uVar2; undefined4 local_res8; double local_res10; local_res10 = (double)(DAT_1824c3df0 * 255.0) + DAT_1824c4520; uVar2 = 0xff; if (SUB84(local_res10,0) < 0xff) { uVar2 = SUB81(local_res10,0); } local_res8 = CONCAT13(uVar2,0xffffff); puVar1 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); DAT_182674284 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464dc0 size=45 ############ void FUN_180464dc0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffdcebf5; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffdcebf5); DAT_1826741c8 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464e50 size=45 ############ void FUN_180464e50(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffcfdce6; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffcfdce6); DAT_18267425c = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464e80 size=45 ############ void FUN_180464e80(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffc8dceb; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffc8dceb); DAT_1826741fc = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464eb0 size=45 ############ void FUN_180464eb0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffc8dceb; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffc8dceb); DAT_1826741d8 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464ee0 size=45 ############ void FUN_180464ee0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0x99000000; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0x99000000); DAT_182674178 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180464f10 size=156 ############ void FUN_180464f10(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined4 *puVar1; undefined8 *puVar2; ulonglong uVar3; undefined1 local_res8 [8]; undefined8 local_res10; undefined *local_res18; undefined1 local_res20 [8]; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; uVar3 = (ulonglong)DAT_182674280; local_res18 = &DAT_182674140; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); if (uVar3 < (ulonglong)(DAT_182674298 - DAT_182674290 >> 3)) { local_res10 = *(undefined8 *)(DAT_182674290 + uVar3 * 8); } else { FUN_18140e230(&local_res10,DAT_18248db80,param_3,param_4,uVar4); } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); puVar1 = (undefined4 *)FUN_1813eca90(&local_res10,local_res8); puVar2 = (undefined8 *)FUN_18140e230(local_res20,*puVar1,param_3,param_4,uVar4); DAT_182674234 = FUN_1813efdf0(*puVar2); return; } ############ FUN_ 180464fb0 size=45 ############ void FUN_180464fb0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff779aad; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff779aad); DAT_182674190 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465010 size=45 ############ void FUN_180465010(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff3f3f3f; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff3f3f3f); DAT_1826742ac = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465040 size=58 ############ void FUN_180465040(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xcc8a9da9; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xcc8a9da9); DAT_1826741dc = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465080 size=45 ############ void FUN_180465080(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); DAT_1826741a8 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804650b0 size=58 ############ void FUN_1804650b0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xcc8a9da9; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xcc8a9da9); DAT_182674184 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804650f0 size=79 ############ void FUN_1804650f0(void) { undefined4 *puVar1; undefined8 *puVar2; undefined4 local_res8 [2]; undefined4 local_res10 [2]; undefined1 local_res18 [16]; local_res8[0] = 0xff5f8396; local_res10[0] = 0xff000000; puVar1 = (undefined4 *)FUN_1812a2a20(local_res10,local_res8,0xff5f8396,DAT_1824c3e10); puVar2 = (undefined8 *)FUN_18140e230(local_res18,*puVar1); DAT_1826741c4 = FUN_1813efdf0(*puVar2); return; } ############ FUN_ 180465200 size=156 ############ void FUN_180465200(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined4 *puVar1; undefined8 *puVar2; ulonglong uVar3; undefined1 local_res8 [8]; undefined8 local_res10; undefined *local_res18; undefined1 local_res20 [8]; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; uVar3 = (ulonglong)DAT_182674204; local_res18 = &DAT_182674140; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); if (uVar3 < (ulonglong)(DAT_182674298 - DAT_182674290 >> 3)) { local_res10 = *(undefined8 *)(DAT_182674290 + uVar3 * 8); } else { FUN_18140e230(&local_res10,DAT_18248db80,param_3,param_4,uVar4); } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); puVar1 = (undefined4 *)FUN_1813eca90(&local_res10,local_res8); puVar2 = (undefined8 *)FUN_18140e230(local_res20,*puVar1,param_3,param_4,uVar4); DAT_182674230 = FUN_1813efdf0(*puVar2); return; } ############ FUN_ 1804652a0 size=156 ############ void FUN_1804652a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined4 *puVar1; undefined8 *puVar2; ulonglong uVar3; undefined1 local_res8 [8]; undefined8 local_res10; undefined *local_res18; undefined1 local_res20 [8]; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; uVar3 = (ulonglong)DAT_182674280; local_res18 = &DAT_182674140; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); if (uVar3 < (ulonglong)(DAT_182674298 - DAT_182674290 >> 3)) { local_res10 = *(undefined8 *)(DAT_182674290 + uVar3 * 8); } else { FUN_18140e230(&local_res10,DAT_18248db80,param_3,param_4,uVar4); } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); puVar1 = (undefined4 *)FUN_1813eca90(&local_res10,local_res8); puVar2 = (undefined8 *)FUN_18140e230(local_res20,*puVar1,param_3,param_4,uVar4); DAT_182674268 = FUN_1813efdf0(*puVar2); return; } ############ FUN_ 180465370 size=45 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180465370(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); _DAT_1826741e8 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804653d0 size=45 ############ void FUN_1804653d0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); DAT_182674288 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465430 size=45 ############ void FUN_180465430(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff3c3c3c; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff3c3c3c); DAT_182674224 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465460 size=45 ############ void FUN_180465460(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); DAT_18267417c = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465490 size=45 ############ void FUN_180465490(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff293238; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff293238); DAT_182674274 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804654c0 size=45 ############ void FUN_1804654c0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff3a464f; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff3a464f); DAT_1826742b0 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804654f0 size=45 ############ void FUN_1804654f0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); DAT_182674248 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465520 size=45 ############ void FUN_180465520(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0x4cffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0x4cffffff); DAT_182674208 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465550 size=45 ############ void FUN_180465550(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xb3ffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xb3ffffff); DAT_18267427c = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465580 size=45 ############ void FUN_180465580(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); DAT_182674180 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804655b0 size=110 ############ void FUN_1804655b0(void) { undefined8 *puVar1; undefined1 uVar2; undefined4 local_res8; double local_res10; local_res10 = (double)(DAT_1824c3d18 * 255.0) + DAT_1824c4520; uVar2 = 0xff; if (SUB84(local_res10,0) < 0xff) { uVar2 = SUB81(local_res10,0); } local_res8 = CONCAT13(uVar2,0xd3d3d3); puVar1 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); DAT_18267423c = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465620 size=45 ############ void FUN_180465620(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff3c3c3c; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff3c3c3c); DAT_182674188 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465650 size=39 ############ void FUN_180465650(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0x4cffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0x4cffffff); FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465680 size=45 ############ void FUN_180465680(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0x4cffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0x4cffffff); DAT_182674278 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804656b0 size=39 ############ void FUN_1804656b0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xb3ffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xb3ffffff); FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804656e0 size=45 ############ void FUN_1804656e0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); DAT_182674258 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465770 size=45 ############ void FUN_180465770(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0x7f000000; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0x7f000000); DAT_1826742a8 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804657a0 size=45 ############ void FUN_1804657a0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xffffffff; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xffffffff); DAT_182674218 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1804657d0 size=45 ############ void FUN_1804657d0(void) { undefined8 *puVar1; undefined4 local_res8 [8]; local_res8[0] = 0xff293238; puVar1 = (undefined8 *)FUN_18140e230(local_res8,0xff293238); DAT_182674244 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 180465800 size=52 ############ void FUN_180465800(void) { undefined8 *puVar1; undefined4 local_res8; local_res8 = CONCAT13(0x33,(int3)DAT_18262bb58); puVar1 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); DAT_1826741e4 = FUN_1813efdf0(*puVar1); return; } ############ FUN_ 1813efd60 size=131 ############ undefined8 * FUN_1813efd60(undefined8 *param_1,int param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; uVar1 = 0xfffffffffffffffe; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); if ((ulonglong)(longlong)param_2 < (ulonglong)(DAT_182674298 - DAT_182674290 >> 3)) { *param_1 = *(undefined8 *)(DAT_182674290 + (longlong)param_2 * 8); } else { FUN_18140e230(param_1,DAT_18248db80,param_3,param_4,uVar1); } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182674140); return param_1; } ############ FUN_ 18149efe0 size=438 ############ void FUN_18149efe0(longlong param_1,undefined8 param_2) { void *pvVar1; ulonglong *puVar2; undefined1 auStack_a8 [32]; longlong local_88; void *local_78; undefined8 local_70; undefined1 local_68 [4]; undefined4 local_64; undefined8 local_60; undefined4 local_58; undefined1 local_54 [8]; undefined4 local_4c; undefined1 local_48 [8]; undefined4 local_40; undefined1 local_3c [8]; undefined4 local_34; undefined1 local_30 [8]; ulonglong local_28 [2]; local_60 = 0xfffffffffffffffe; local_28[0] = DAT_182615970 ^ (ulonglong)auStack_a8; FUN_1813f22a0(param_2,local_68,DAT_1826741f4,param_1); *(undefined4 *)(param_1 + 0x310) = local_64; FUN_1813f22a0(param_2,local_68,DAT_18267428c,param_1); *(undefined4 *)(param_1 + 0x314) = local_64; local_58 = DAT_18267421c; FUN_18140e230(local_54,DAT_18262bb64); local_4c = DAT_182674198; FUN_18140e230(local_48,*(undefined4 *)(param_1 + 0x310)); local_40 = DAT_1826741b4; FUN_18140e230(local_3c,*(undefined4 *)(param_1 + 0x314)); local_34 = DAT_182674240; FUN_18140e230(local_30,DAT_18262bb64); local_78 = (void *)0x0; local_70 = 0; local_78 = (void *)FUN_18048c850(); puVar2 = (ulonglong *)&local_58; do { pvVar1 = local_78; local_88 = FUN_18056f2e0(&local_78,puVar2); FUN_18056f310(&local_78,local_68,pvVar1,local_88 + 0x1c); puVar2 = (ulonglong *)((longlong)puVar2 + 0xc); } while (puVar2 != local_28); FUN_1814139d0(param_2,*(undefined8 *)(param_1 + 0x110),&local_78); FUN_1814139d0(param_2,*(undefined8 *)(param_1 + 0x118),&local_78); pvVar1 = *(void **)((longlong)local_78 + 8); if (*(char *)((longlong)pvVar1 + 0x19) != '\0') { *(void **)((longlong)local_78 + 8) = local_78; *(void **)local_78 = local_78; *(void **)((longlong)local_78 + 0x10) = local_78; local_70 = 0; /* WARNING: Subroutine does not return */ free(local_78); } FUN_18056b2f0(&local_78,*(undefined8 *)((longlong)pvVar1 + 0x10)); /* WARNING: Subroutine does not return */ free(pvVar1); } ############ FUN_ 1814b2c80 size=164 ############ void FUN_1814b2c80(longlong param_1,undefined8 param_2) { undefined8 uVar1; undefined8 *puVar2; undefined4 uVar3; undefined4 local_res8; uVar1 = FUN_1813f22a0(param_2,&local_res8,DAT_1826741d0,param_1); uVar3 = FUN_1813ec390(uVar1); *(undefined4 *)(param_1 + 0x1c4) = uVar3; local_res8._0_3_ = (undefined3)DAT_1826742e8; local_res8 = CONCAT13(0x33,(undefined3)local_res8); puVar2 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); FUN_1813f0dc0(param_2,DAT_18267421c,*puVar2,param_1); local_res8._0_3_ = (undefined3)DAT_1826742e8; local_res8 = CONCAT13(0x19,(undefined3)local_res8); puVar2 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); FUN_1813f0dc0(param_2,DAT_1826741b4,*puVar2,param_1); return; } ############ FUN_ 1814c4410 size=97 ############ void FUN_1814c4410(undefined8 param_1,undefined8 param_2) { undefined8 *puVar1; undefined4 local_res18; undefined4 local_res1c; undefined1 local_res20 [8]; FUN_1813f22a0(param_2,&local_res18,DAT_182674244,param_1); local_res18 = CONCAT13(0xb3,(int3)local_res1c); puVar1 = (undefined8 *)FUN_18140e230(local_res20,local_res18); FUN_1813f0dc0(param_2,DAT_182674244,*puVar1,param_1); return; } ############ FUN_ 1814c5370 size=323 ############ void FUN_1814c5370(longlong param_1,undefined8 param_2) { undefined8 *puVar1; undefined4 local_res8; undefined **local_c8; longlong local_c0; undefined ***local_90; undefined **local_88; longlong local_80; undefined ***local_50; undefined **local_48 [7]; undefined ***local_10; puVar1 = (undefined8 *)FUN_18140e230(&local_res8,DAT_1826742e8); FUN_1813f0dc0(param_2,DAT_18267421c,*puVar1,param_1 + 0x138); puVar1 = (undefined8 *)FUN_18140ed70(&local_res8,0); FUN_1813f0dc0(param_2,DAT_1826741d0,*puVar1,param_1 + 0x138); local_res8._0_3_ = (undefined3)DAT_18262bb5c; local_res8 = CONCAT13(0x19,(undefined3)local_res8); puVar1 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); FUN_1813f0dc0(param_2,DAT_1826741b4,*puVar1,param_1 + 0x138); local_res8._0_3_ = (undefined3)DAT_18262bb60; local_res8 = CONCAT13(0x7f,(undefined3)local_res8); *(undefined4 *)(param_1 + 0x444) = local_res8; local_48[0] = std:: _Func_impl_no_alloc<,juce::Point_>:: vftable; local_10 = local_48; local_c8 = std::_Func_impl_no_alloc<,juce::Path*___ptr64> ::vftable; local_90 = &local_c8; local_88 = std::_Func_impl_no_alloc<,int>::vftable; local_50 = &local_88; local_c0 = param_1; local_80 = param_1; FUN_1815f8200(param_1 + 0x370,param_1,&local_88,&local_c8,local_48); FUN_181343cc0(*(undefined8 *)(param_1 + 0x18),param_1 + 0x370,0xffffffff); return; } ############ FUN_ 1814c72c0 size=310 ############ void FUN_1814c72c0(undefined8 param_1,undefined8 param_2) { void *pvVar1; undefined4 *puVar2; undefined1 auStack_128 [32]; longlong local_108; undefined4 local_d8 [4]; void *local_c8; undefined8 local_c0; undefined8 local_b8; undefined8 local_a0; undefined4 local_98; undefined1 local_94 [8]; undefined4 local_8c; undefined1 local_88 [8]; undefined4 local_80 [14]; ulonglong local_48; local_a0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_128; local_d8[0] = 0xff3a5565; local_98 = DAT_18267421c; local_b8 = param_1; FUN_18140e230(local_94,0xff3a5565); local_d8[0] = 0xff4b6473; local_8c = DAT_1826741b4; FUN_18140e230(local_88,0xff4b6473); local_c8 = (void *)0x0; local_c0 = 0; local_c8 = (void *)FUN_18048c850(); puVar2 = &local_98; do { pvVar1 = local_c8; local_108 = FUN_18056f2e0(&local_c8,puVar2); FUN_18056f310(&local_c8,local_d8,pvVar1,local_108 + 0x1c); puVar2 = puVar2 + 3; } while (puVar2 != local_80); FUN_1814139d0(param_2,param_1,&local_c8); pvVar1 = *(void **)((longlong)local_c8 + 8); if (*(char *)((longlong)pvVar1 + 0x19) != '\0') { *(void **)((longlong)local_c8 + 8) = local_c8; *(void **)local_c8 = local_c8; *(void **)((longlong)local_c8 + 0x10) = local_c8; local_c0 = 0; /* WARNING: Subroutine does not return */ free(local_c8); } FUN_18056b2f0(&local_c8,*(undefined8 *)((longlong)pvVar1 + 0x10)); /* WARNING: Subroutine does not return */ free(pvVar1); } ############ FUN_ 1814dc460 size=112 ############ void FUN_1814dc460(undefined8 param_1,undefined8 param_2) { undefined8 *puVar1; undefined4 local_res18; local_res18 = CONCAT13(0xe6,(int3)DAT_18262bb68); puVar1 = (undefined8 *)FUN_18140e230(&local_res18,local_res18); FUN_1813f0dc0(param_2,DAT_182674268,*puVar1,param_1); puVar1 = (undefined8 *)FUN_18140e230(&local_res18,DAT_1826742ec); FUN_1813f0dc0(param_2,DAT_182674230,*puVar1,param_1); return; } ############ FUN_ 181612000 size=996 ############ /* WARNING: Removing unreachable block (ram,0x000181612165) */ /* WARNING: Removing unreachable block (ram,0x000181612088) */ /* WARNING: Removing unreachable block (ram,0x000181612071) */ /* WARNING: Removing unreachable block (ram,0x000181612109) */ /* WARNING: Removing unreachable block (ram,0x000181612121) */ undefined8 .?AVSoothe2XYSliderArea@@::vtbl___AVSoothe2XYSliderArea__(longlong param_1) { undefined8 *puVar1; undefined8 uVar2; uint uVar3; undefined1 auStack_218 [32]; undefined *local_1f8; uint local_1f0; undefined4 uStack_1ec; undefined8 local_1e8; undefined8 local_1e0; undefined8 local_1c8; longlong *local_1c0; undefined4 local_1b8; undefined4 local_1a4; undefined *local_198; longlong local_190; uint local_180; undefined4 local_158; undefined1 local_128 [200]; ulonglong local_60; local_60 = DAT_182615970 ^ (ulonglong)auStack_218; local_1a4 = 0xff0; if (((ulonglong)&stack0x00000000 & 0x6e0) == 0) { if (((ulonglong)&stack0x00000000 & 0x880) == 0) { local_180 = 0; } else { uVar3 = (uint)&stack0x00000000 & 0x2ff; local_180 = ((uVar3 + 2) * (uVar3 + 1) * uVar3) % 3; } local_180 = local_180 | 0xb736; } else { local_180 = 0xb736; } uVar3 = (uint)&stack0x00000000 & 0x7ff; uVar3 = (uVar3 + 1) * uVar3 + 0x2a1f & 0x80000001; local_180 = ((int)(-uVar3 | uVar3) >> 0x1f) * -0xbba6 ^ local_180; local_1c0 = (longlong *)(param_1 + 0x308); local_1f8 = &DAT_180b3d1c4; local_1c8 = 0x3a9204f4154558ef; local_1e0 = 0x2cddd46c; local_1e8 = 0xcc9e28da; _local_1f0 = CONCAT44(uStack_1ec,0xe6546a66); local_198 = local_1f8; local_190 = param_1; if (*(code **)(*local_1c0 + 8) == FUN_18058ee60) { if (*(longlong *)(param_1 + 0x310) == 0) { FUN_18058eee0(param_1); } local_1f8 = *(undefined **)(param_1 + 0x310); } else { local_1f8 = (undefined *)(**(code **)(*local_1c0 + 8))(local_1c0); } local_1b8 = CONCAT13(0xe6,(int3)DAT_18262bb7c); local_158 = local_1b8; puVar1 = (undefined8 *)FUN_18140e230(local_128); FUN_1813f0dc0(local_1f8,DAT_18267427c,*puVar1); uVar3 = (local_1f0 >> 7 ^ local_1f0) & 0xf; _local_1f0 = CONCAT44(uStack_1ec,local_1f0 ^ (uVar3 << 7 | uVar3)); uVar3 = ((uint)local_1e8 >> 7 ^ (uint)local_1e8) & 0xf; local_1e8 = CONCAT44(local_1e8._4_4_,(uint)local_1e8 ^ (uVar3 << 7 | uVar3)); local_1e0 = (CONCAT44(local_1e0._4_4_,0x400) | 8) ^ 0x1b87319b; uVar2 = FUN_1816123dd(); return uVar2; } ############ FUN_ 181615170 size=412 ############ void FUN_181615170(longlong param_1,undefined8 param_2) { longlong lVar1; undefined8 uVar2; undefined8 *puVar3; longlong *plVar4; undefined4 local_res8; for (plVar4 = (longlong *)(param_1 + 0x148); plVar4 != (longlong *)(param_1 + 0x168); plVar4 = plVar4 + 1) { lVar1 = *plVar4; if (lVar1 != 0) { puVar3 = (undefined8 *) FUN_18140e230(&local_res8, *(undefined4 *) (param_1 + 0x120 + (longlong)*(int *)(param_1 + 0x138) * 4)); FUN_1813f0dc0(param_2,DAT_1826741a8,*puVar3,lVar1); } } uVar2 = *(undefined8 *)(param_1 + 0x140); puVar3 = (undefined8 *) FUN_18140e230(&local_res8, *(undefined4 *)(param_1 + 0x120 + (longlong)*(int *)(param_1 + 0x138) * 4)) ; FUN_1813f0dc0(param_2,DAT_1826741b0,*puVar3,uVar2); uVar2 = *(undefined8 *)(param_1 + 0x140); puVar3 = (undefined8 *) FUN_18140e230(&local_res8, *(undefined4 *)(param_1 + 0x120 + (longlong)*(int *)(param_1 + 0x138) * 4)) ; FUN_1813f0dc0(param_2,DAT_1826742b8,*puVar3,uVar2); uVar2 = *(undefined8 *)(param_1 + 0x140); puVar3 = (undefined8 *) FUN_18140e230(&local_res8, *(undefined4 *)(param_1 + 0x120 + (longlong)*(int *)(param_1 + 0x138) * 4)) ; FUN_1813f0dc0(param_2,DAT_182674284,*puVar3,uVar2); uVar2 = *(undefined8 *)(param_1 + 0x140); local_res8 = CONCAT13(0x4c,(int3)DAT_18262bb80); puVar3 = (undefined8 *)FUN_18140e230(&local_res8,local_res8); FUN_1813f0dc0(param_2,DAT_1826741f0,*puVar3,uVar2); puVar3 = (undefined8 *)FUN_18140ed70(&local_res8,DAT_1824c3ea4); FUN_1813f0dc0(param_2,DAT_182674210,*puVar3,param_1); uVar2 = *(undefined8 *)(param_1 + 0x160); puVar3 = (undefined8 *)FUN_18140ed70(&local_res8,DAT_1824c3ddc); FUN_1813f0dc0(param_2,DAT_18267422c,*puVar3,uVar2); return; } ############ FUN_ 18056a290 size=35 ############ undefined8 * FUN_18056a290(undefined8 *param_1) { undefined8 uVar1; *param_1 = 0; param_1[1] = 0; uVar1 = FUN_18048c850(); *param_1 = uVar1; return param_1; } ############ FUN_ 180bc28c0 size=24 ############ void FUN_180bc28c0(void) { FUN_1811efc80(); return; } ############ FUN_ 180c479c0 size=935 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180c479c0(int *param_1,uint *param_2) { uint uVar1; uint uVar2; uint uVar3; uint uVar4; undefined8 uVar5; uint uVar6; uint uVar7; int iVar8; uint uVar9; uint uVar10; uint *puVar11; longlong lVar12; bool bVar13; undefined1 local_158 [32]; undefined4 local_138; undefined *local_130; undefined *local_128; int local_120; uint *local_118; undefined4 local_108 [4]; undefined1 local_f8 [144]; uint local_68; uint local_28 [6]; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)local_158; uVar9 = param_1[3] ^ 0x724d0b9e; uVar6 = param_1[1] + 0xf2e4e3bf; uVar3 = param_1[2] + 0x2e21e090U >> 2; uVar7 = uVar3 | param_1[2] << 0x1e; uVar4 = uVar9 ^ *param_1 + 0xd91241f5U; uVar1 = uVar4 & 0x55555555 ^ uVar9; uVar2 = uVar1 >> 0x15 | uVar1 << 0xb; uVar9 = uVar9 ^ uVar4 & 0xaaaaaaaa; uVar10 = uVar9 >> 5 | uVar9 << 0x1b; uVar4 = ~((uVar2 << 2 | (uVar1 & 0x1fffff) >> 0x13) & 0x99999999 | (uVar2 >> 2 | (uVar1 >> 0x15) << 0x1e) & 0x66666666); uVar7 = ~((uVar7 >> 8 | uVar3 << 0x18) & 0xdd22dd22 | (uVar3 << 8 | uVar7 >> 0x18) & 0x22dd22dd); uVar3 = ~((uVar6 & 0x3fffffff) >> 2 & 0xf0f0f0f0 | (uVar6 * 4 | uVar6 >> 0x1e) << 0x1c | (uVar6 * 4 & 0xf0f0f0) << 4 | (uVar6 & 0x3fffffff) >> 0x1a) ^ uVar4; uVar1 = uVar3 & 0x8ba8afcf ^ uVar4; uVar6 = uVar4 ^ uVar3 & 0x74575030; uVar2 = ~((uVar10 >> 2 | (uVar9 >> 5) << 0x1e) & 0x99999999 | (uVar10 << 2 | (uVar9 & 0x1f) >> 3) & 0x66666666); uVar3 = (uVar1 >> 6 ^ uVar1) >> 2 & 3; uVar9 = (uVar6 >> 0xf ^ uVar6) & 0x7fff; uVar1 = (uVar3 << 6 | uVar3) << 2 ^ uVar1; uVar3 = (uVar7 >> 0x16 ^ uVar7) >> 5 & 3; uVar10 = uVar7 ^ (uVar3 << 0x16 | uVar3) << 5 ^ uVar1; uVar3 = (uVar2 >> 0x14 ^ uVar2) >> 3 & 0x1ff; uVar7 = uVar1 ^ uVar10 & 0xf0f0f0f0; uVar1 = uVar10 & 0xf0f0f0f ^ uVar1 ^ uVar7; uVar4 = ~(uVar4 >> 0x1f | ((uVar9 << 0xf | uVar9) ^ uVar6) << 1) ^ 0xc5c0c37b; uVar4 = (uVar4 << 0x1c | uVar4 >> 4) + 0x91938a3a; uVar5 = CONCAT44(uVar2 ^ (uVar3 << 0x14 | uVar3) << 3,uVar1 & 0xd402b50e ^ uVar7); LOCK(); bVar13 = DAT_182670780 == 0; if (bVar13) { DAT_182670780 = 1; } UNLOCK(); while (!bVar13) { LOCK(); bVar13 = DAT_182670780 == 0; if (bVar13) { DAT_182670780 = 1; } UNLOCK(); } do { uVar3 = FUN_180bd9af0(local_f8,2,uVar5,local_108); } while ((uVar3 & 0xfffffffd) == 0); if (uVar3 == 1) { local_118 = local_28; local_128 = &DAT_18260f2c0; local_130 = &DAT_18260f2c0; local_138 = local_108[0]; local_120 = ~((uVar4 >> 5 | uVar4 * 0x8000000) ^ 0xdb26c704) - 0xf77c77; FUN_180e401e0(local_f8,(&PTR_DAT_18260f198)[local_68],(&PTR_DAT_18260f1c8)[local_68],uVar5); } LOCK(); UNLOCK(); DAT_182670780 = 0; puVar11 = local_28; lVar12 = 5; do { iVar8 = 7; uVar3 = (*puVar11 >> 0xc | *puVar11 << 0x14) + 0xc0944f2d; uVar3 = (uVar3 * 0x40000 | uVar3 >> 0xe) + 0x15d47d29; uVar3 = (uVar3 * 0x20 | uVar3 >> 0x1b) + 0x38bb1898; uVar2 = ~((uVar3 >> 0x12 | uVar3 * 0x4000) ^ 0x9ef81955); *puVar11 = uVar2; uVar3 = uVar1 & 0x2bfd4af1 ^ uVar7; do { uVar4 = uVar2 + 0x3cee7323 >> 0x18 | (uVar2 + 0x3cee7323) * 0x100; uVar3 = ((uVar3 ^ 0x3825b93f) << 6 | (uVar3 ^ 0x3825b93f) >> 0x1a) ^ uVar4; uVar2 = (uVar3 & 0xa7071cb4 ^ uVar4) + 0xc9051e01; uVar3 = (uVar3 & 0x58f8e34b ^ uVar4) + 0xc9a2538; uVar6 = (uVar3 * 0x10000 | uVar3 >> 0x10) & 0x96b5694a | (uVar3 >> 0x10 | uVar3 * 0x10000) & 0x694a96b5; uVar3 = uVar6 ^ ((uVar2 * 0x10 | uVar2 >> 0x1c) & 0xc3c3c3c3 | (uVar2 >> 4 | uVar2 * 0x10000000) & 0x3c3c3c3c); uVar4 = ~(uVar3 & 0x848b99fe ^ uVar6); uVar3 = ~(uVar6 ^ uVar3 & 0x7b746601) ^ uVar4; uVar2 = uVar4 ^ uVar3 & 0xab2cb7b4; uVar4 = uVar3 & 0x54d3484b ^ uVar4 ^ uVar2; uVar3 = uVar4 & 0xfb102e20 ^ uVar2; uVar2 = uVar2 ^ uVar4 & 0x4efd1df; iVar8 = iVar8 + -1; } while (-1 < iVar8); *param_2 = uVar2; puVar11 = puVar11 + 1; param_2[1] = uVar3; param_2 = param_2 + 2; lVar12 = lVar12 + -1; } while (lVar12 != 0); } ############ FUN_ 180568e40 size=127 ############ void FUN_180568e40(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *param_1; _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18056b2f0(param_1,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*param_1 + 8) = lVar1; *(longlong *)*param_1 = lVar1; *(longlong *)(*param_1 + 0x10) = lVar1; param_1[1] = 0; return; } ############ FUN_ 18056d400 size=103 ############ void FUN_18056d400(undefined8 *param_1,longlong param_2,longlong param_3) { undefined8 uVar1; longlong lVar2; undefined1 local_res10 [8]; for (; param_2 != param_3; param_2 = param_2 + 0xc) { uVar1 = *param_1; lVar2 = FUN_18056f2e0(param_1,param_2); FUN_18056f310(param_1,local_res10,uVar1,lVar2 + 0x1c,lVar2); } return; } ############ FUN_ 180568e30 size=13 ############ void FUN_180568e30(undefined8 *param_1) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 1814c0f30 size=65 ############ void FUN_1814c0f30(undefined8 param_1,undefined8 param_2) { undefined8 *puVar1; undefined1 local_res18 [16]; puVar1 = (undefined8 *)FUN_18140ed70(local_res18,DAT_1824c43e8); FUN_1813f0dc0(param_2,DAT_182674194,*puVar1,param_1); return; } ############ FUN_ 181508cd0 size=65 ############ void FUN_181508cd0(undefined8 param_1,undefined8 param_2) { undefined8 *puVar1; undefined1 local_res18 [16]; puVar1 = (undefined8 *)FUN_18140ed70(local_res18,DAT_1824c41e0); FUN_1813f0dc0(param_2,DAT_1826741c0,*puVar1,param_1); return; } ############ FUN_ 18163c030 size=200 ############ void FUN_18163c030(longlong param_1,undefined8 param_2) { undefined8 uVar1; undefined8 *puVar2; undefined1 local_res8 [8]; undefined **local_c8; longlong local_c0; undefined ***local_90; undefined **local_88; longlong local_80; undefined ***local_50; undefined1 local_48 [56]; undefined8 local_10; uVar1 = *(undefined8 *)(param_1 + 0x170); puVar2 = (undefined8 *)FUN_18140ed70(local_res8,DAT_1824c3df0); FUN_1813f0dc0(param_2,DAT_18267422c,*puVar2,uVar1); local_10 = 0; local_c8 = std::_Func_impl_no_alloc<,juce::Path*___ptr64> ::vftable; local_90 = &local_c8; local_88 = std::_Func_impl_no_alloc<,int>::vftable; local_50 = &local_88; local_c0 = param_1; local_80 = param_1; FUN_1815f8200(param_1 + 0x178,param_1,&local_88,&local_c8,local_48); return; } ############ FUN_ 180522e60 size=266 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180522e60(longlong param_1) { uint uVar1; longlong lVar2; longlong lVar3; double dVar4; undefined8 uVar5; uint *_Memory; undefined4 uVar6; double dVar7; undefined1 auStack_68 [32]; longlong local_48 [3]; longlong *local_30; undefined1 local_28 [8]; ulonglong local_20; local_48[1] = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_68; lVar2 = *(longlong *)(param_1 + 8); uVar5 = FUN_1812ea010(*(undefined8 *)(lVar2 + 0x250),local_48); lVar3 = **(longlong **)(lVar2 + 0x18); uVar6 = (**(code **)(lVar3 + 0x170))(*(longlong **)(lVar2 + 0x18),uVar5); dVar7 = (double)(**(code **)(lVar3 + 400))(*(undefined8 *)(lVar2 + 0x18),uVar6,0); _Memory = (uint *)(local_48[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(**(longlong **)(lVar2 + 0x38) + 8))(*(longlong **)(lVar2 + 0x38),&local_30); dVar4 = (double)(**(code **)(*local_30 + 0x18))(local_30,local_28); (**(code **)(*local_30 + 0xb0))(local_30,local_28); if (dVar7 != dVar4) { local_48[2] = lVar2; FUN_180501e20(lVar2); FUN_1805014d0(lVar2,SUB84(dVar7,0),2); FUN_180501f20(lVar2); } FUN_180502100(lVar2); } ############ FUN_ 1812ecf60 size=30 ############ undefined8 FUN_1812ecf60(longlong param_1,undefined8 param_2) { FUN_1812ea010(*(undefined8 *)(param_1 + 0xd0)); return param_2; } ############ FUN_ 181326580 size=265 ############ undefined8 * FUN_181326580(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; char *pcVar2; undefined8 uVar3; undefined8 *puVar4; uint *puVar5; longlong local_res8; undefined8 *local_res10; longlong local_res18; longlong local_res20; undefined4 uVar6; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; local_res10 = param_2; FUN_1812ea010(*(undefined8 *)(param_1 + 0x248),&local_res8,param_3,param_4,0,0xfffffffffffffffe); uVar6 = 6; uVar3 = FUN_181217460(&local_res18); FUN_181245100(uVar3,param_2,local_res8,param_4,uVar6); puVar5 = (uint *)(local_res18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } pcVar2 = *(char **)(param_1 + 0x288); if (*pcVar2 != '\0') { puVar4 = (undefined8 *)FUN_18123fb50(param_2,&local_res20,pcVar2,param_4,7,uVar7,pcVar2); uVar3 = *param_2; *param_2 = *puVar4; *puVar4 = uVar3; puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } return param_2; } ############ FUN_ 1813266a0 size=30 ############ undefined8 FUN_1813266a0(longlong param_1,undefined8 param_2) { FUN_1812ea010(*(undefined8 *)(param_1 + 0x248)); return param_2; } ############ FUN_ 181349320 size=30 ############ undefined8 FUN_181349320(longlong param_1,undefined8 param_2) { FUN_1812ea010(*(undefined8 *)(param_1 + 0x170)); return param_2; } ############ FUN_ 181552b50 size=188 ############ void FUN_181552b50(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong *plVar2; undefined8 uVar3; uint *_Memory; undefined4 uVar4; longlong local_res8; if (*(longlong *)(param_1 + -0x38) != 0) { FUN_1811c2330(*(longlong *)(param_1 + -0x38),param_2,param_3,param_4,0xfffffffffffffffe); uVar3 = FUN_1812ea010(param_1 + 0x278,&local_res8); uVar4 = (**(code **)(**(longlong **)(param_1 + -0x38) + 0x50)) (*(longlong **)(param_1 + -0x38),uVar3); plVar2 = *(longlong **)(param_1 + -0x38); (**(code **)(*plVar2 + 0x10))(plVar2,uVar4); FUN_1812c3d40(plVar2,uVar4); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1811bf8a0(*(undefined8 *)(param_1 + -0x38)); FUN_181552c80(param_1 + -0x118); } return; } ############ FUN_ 1813f2270 size=33 ############ undefined4 * FUN_1813f2270(undefined8 param_1,undefined4 *param_2) { undefined1 local_res10 [4]; undefined4 local_res14; FUN_1813f22a0(param_1,local_res10); *param_2 = local_res14; return param_2; } ############ FUN_ 181494050 size=1624 ############ /* WARNING: Removing unreachable block (ram,0x000181494452) */ void FUN_181494050(longlong param_1,undefined8 param_2,char param_3) { code *pcVar1; undefined4 uVar2; undefined8 uVar3; uint uVar4; ulonglong uVar5; float fVar6; float fVar7; int unaff_retaddr; undefined1 auStack_3c8 [32]; undefined1 local_3a8; undefined1 local_398; undefined *local_390; undefined4 local_388; undefined *local_380; undefined4 local_378; int local_36c; int local_368; int local_364; undefined4 local_360; int local_35c; int local_358; undefined8 local_350; uint local_348; undefined4 local_32c; undefined4 local_328; undefined *local_320; longlong local_318; undefined1 local_310 [8]; undefined1 local_308 [8]; undefined1 local_300 [8]; undefined8 local_2f8; undefined8 local_2e8; undefined1 local_2e0 [64]; undefined8 local_2a0; longlong local_298; longlong local_290 [13]; undefined8 local_228; longlong *local_d8; undefined1 local_d0 [120]; ulonglong local_58; local_228 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_3c8; local_32c = 0x870; local_328 = 0x350; local_318 = param_1; local_2e8 = param_2; uVar3 = (**(code **)(*(longlong *)(param_1 + 0x1f0) + 0x10)) ((longlong *)(param_1 + 0x1f0),&local_d8); local_398 = FUN_1812477c0(uVar3,&DAT_1821f8414); (**(code **)(*local_d8 + 0xb0))(local_d8,local_d0); (**(code **)(*(longlong *)(param_1 + 0x1c8) + 8))((longlong *)(param_1 + 0x1c8)); if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } FUN_1813f2500(*(undefined8 *)(param_1 + 0x1d0),local_310); FUN_18049c4e0(&local_298,&DAT_1821f8494); fVar6 = (float)FUN_1812518d0(local_310,&local_298); fVar6 = ceilf(fVar6); local_364 = (int)fVar6; FUN_1804951e0(local_298 + -0x10); FUN_18049c4e0(local_290,&DAT_1821f9374); fVar7 = (float)FUN_1812518d0(local_310,local_290); fVar7 = ceilf(fVar7); local_36c = (int)fVar7; FUN_1804951e0(local_290[0] + -0x10); local_348 = *(uint *)(param_1 + 0x28); uVar5 = (ulonglong)local_348; local_360 = *(undefined4 *)(param_1 + 0x2c); fVar6 = (float)(int)((local_348 - (int)fVar7) - (int)fVar6); local_358 = (int)(fVar6 * DAT_1824c3c98); local_35c = (int)(fVar6 * DAT_1824c3d8c); local_368 = (int)(fVar6 * DAT_1824c3d18); if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } local_3a8 = 1; FUN_1813f22a0(*(undefined8 *)(param_1 + 0x1d0),local_308,DAT_1826741f4,param_1); if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } uVar2 = DAT_1826741f4; if (param_3 != '\0') { uVar2 = DAT_182674200; } local_3a8 = 1; FUN_1813f22a0(*(undefined8 *)(param_1 + 0x1d0),local_300,uVar2,param_1); local_2a0 = 0x180000000; local_390 = (undefined *)0x1807734d8; local_380 = &UNK_180774c34; local_388 = 0xc5; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_350 = local_390; local_320 = local_380; if (param_3 == '\0') { FUN_18149534b(0,0x5d7,0xffffffff2c9ffe24,uVar5 + 0x175c); return; } if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } local_3a8 = 1; FUN_1813f22a0(*(undefined8 *)(param_1 + 0x1d0),local_2e0,DAT_18267428c,local_318); local_2f8 = 0; local_390 = &DAT_1807f2a54; local_380 = &UNK_1807f41a4; local_378 = 0xc5; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); FUN_181492f4c(); FUN_1814946a2(); pcVar1 = (code *)swi(1); (*pcVar1)(); return; } ############ FUN_ 1814c10b0 size=1614 ############ /* WARNING: Removing unreachable block (ram,0x0001814c15f5) */ void FUN_1814c10b0(longlong param_1) { longlong *plVar1; int iVar2; int *piVar3; longlong lVar4; undefined8 uVar5; undefined8 uVar6; int *piVar7; undefined8 *puVar8; uint uVar9; undefined8 *puVar11; undefined8 *puVar12; undefined8 *puVar13; float fVar14; undefined1 local_res8 [8]; float local_res10; undefined4 uStackX_14; undefined4 local_res18; undefined4 uStackX_1c; undefined1 local_158 [16]; undefined8 local_148; float local_140; undefined4 uStack_13c; undefined4 local_138; undefined *local_130; undefined1 local_128 [16]; undefined8 local_118; undefined8 uStack_110; undefined4 local_108; undefined4 uStack_104; undefined4 uStack_100; undefined4 uStack_fc; undefined4 uStack_f8; undefined4 uStack_f4; undefined4 uStack_f0; undefined4 uStack_ec; undefined8 local_e8; undefined8 *puStack_e0; undefined8 *local_d8; int local_c8; int iStack_c4; undefined4 uStack_c0; int iStack_bc; undefined8 local_b8; undefined8 uStack_b0; undefined8 local_98; undefined1 local_90 [24]; undefined1 local_78 [64]; undefined8 *puVar10; fVar14 = local_res10; local_98 = 0xfffffffffffffffe; plVar1 = (longlong *)(param_1 + 0x280); if (*(code **)(*plVar1 + 8) == FUN_180579370) { if (*(longlong *)(param_1 + 0x288) == 0) { FUN_1805799f0(param_1); local_res10 = fVar14; uVar9 = stack0x0000000f; fVar14 = local_res10; unique0x10000db2 = uVar9; } local_res10 = fVar14; uVar9 = stack0x0000000f; uVar5 = *(undefined8 *)(param_1 + 0x288); } else { uVar5 = (**(code **)(*plVar1 + 8))(plVar1); local_res10 = fVar14; uVar9 = stack0x0000000f; } stack0x0000000f = uVar9; fVar14 = local_res10; stack0x0000000f = stack0x0000000f; local_res8._4_4_ = stack0x0000000f; FUN_1813f22a0(uVar5,local_res8,DAT_1826742b0,param_1); local_res10 = fVar14; local_res8._0_2_ = CONCAT11((char)(int)((float)((uint)local_res8._4_4_ >> 8 & 0xff) * DAT_1824c3e5c), (char)(int)((float)(local_res8._4_4_ & 0xff) * DAT_1824c3e5c)); local_res8._0_4_ = CONCAT13(SUB41(local_res8._4_4_,3), CONCAT12((char)(int)((float)((uint)local_res8._4_4_ >> 0x10 & 0xff) * DAT_1824c3e5c) ,local_res8._0_2_)); *(undefined4 *)(param_1 + 0x2f0) = local_res8._0_4_; lVar4 = (**(code **)(*plVar1 + 8))(plVar1); local_c8 = (int)(*(float *)(lVar4 + 0x88) * DAT_1824c43d8); uVar9 = *(int *)(param_1 + 0x28) + local_c8 * -2; puVar10 = (undefined8 *)0x0; puVar8 = puVar10; if (0 < (int)uVar9) { puVar8 = (undefined8 *)(ulonglong)uVar9; } uStack_c0 = SUB84(puVar8,0); local_res8 = (undefined1 [8])CONCAT44(local_res8._4_4_,uStack_c0); iVar2 = *(int *)(param_1 + 0x2c) + local_c8 * -2; iStack_bc = 0; if (0 < iVar2) { iStack_bc = iVar2; } iStack_c4 = local_c8; if (*(code **)(*plVar1 + 8) == FUN_180579370) { if (*(longlong *)(param_1 + 0x288) == 0) { FUN_1805799f0(param_1); } uVar5 = *(undefined8 *)(param_1 + 0x288); } else { uVar5 = (**(code **)(*plVar1 + 8))(plVar1); } uVar5 = FUN_1813f22a0(uVar5,&local_res10,DAT_182674214,param_1); fVar14 = (float)FUN_1813ec390(uVar5); lVar4 = (**(code **)(*plVar1 + 8))(plVar1); fVar14 = *(float *)(lVar4 + 0x88) * fVar14; local_e8 = 0; puStack_e0 = (undefined8 *)0x0; local_d8 = (undefined8 *)0x0; if (*(longlong *)(param_1 + 0x2c8) - *(longlong *)(param_1 + 0x2c0) >> 3 != 0) { uStackX_14 = 1; puVar8 = (undefined8 *)0x0; puVar11 = puVar10; puVar12 = puVar10; puVar13 = puVar10; do { plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x2c0) + (longlong)puVar12); (**(code **)(*plVar1 + 0x160))(plVar1,&local_b8,(ulonglong)local_res8 & 0xffffffff); local_res10 = (float)uStack_b0._4_4_; local_158 = ZEXT816(0); local_148 = 0; uStack_13c = uStackX_14; local_138 = 0; local_130 = &DAT_18249f4b4; local_128._8_8_ = 0; local_128._0_8_ = plVar1; local_118 = 0; uStack_110 = 0; local_108 = 0; uStack_104 = 1; uStack_100 = 0; uStack_fc = 1; uStack_f8 = 0; uStack_f4 = 1; uStack_f0 = 0; uStack_ec = 1; local_140 = local_res10; if (puVar13 == puVar8) { FUN_18056d010(&local_e8,puVar8,local_158); puVar13 = local_d8; } else { *puVar8 = 0; puVar8[1] = 0; puVar8[2] = 0; local_158 = ZEXT816(0); local_148 = 0; puVar8[3] = CONCAT44(uStackX_14,local_res10); *(undefined4 *)(puVar8 + 4) = 0; puVar8[5] = &DAT_18249f4b4; puVar8[6] = plVar1; puVar8[7] = 0; puVar8[8] = 0; puVar8[9] = 0; puVar8[10] = 0x100000000; puVar8[0xb] = 0x100000000; puVar8[0xc] = 0x100000000; puVar8[0xd] = 0x100000000; puStack_e0 = puVar8 + 0xe; } puVar8 = puStack_e0; FUN_180569ed0(local_158); piVar3 = *(int **)(param_1 + 0x2e0); piVar7 = *(int **)(param_1 + 0x2d8); if (piVar7 == piVar3) { LAB_1814c14c2: if (puVar11 < (undefined8 *) ((*(longlong *)(param_1 + 0x2c8) - *(longlong *)(param_1 + 0x2c0) >> 3) + -1)) { local_158 = ZEXT816(0); local_148 = 0; uStack_13c = 1; local_138 = 0; local_130 = &DAT_18249f4b4; local_128 = ZEXT816(0); local_118 = 0; uStack_110 = 0; local_108 = 0; uStack_104 = 1; uStack_100 = 0; uStack_fc = 1; uStack_f8 = 0; uStack_f4 = 1; uStack_f0 = 0; uStack_ec = 1; local_140 = fVar14; if (puVar13 == puVar8) { FUN_18056d010(&local_e8,puVar8,local_158); puVar13 = local_d8; } else { *puVar8 = 0; puVar8[1] = 0; puVar8[2] = 0; local_158 = ZEXT816(0); local_148 = 0; puVar8[3] = CONCAT44(1,fVar14); *(undefined4 *)(puVar8 + 4) = 0; puVar8[5] = &DAT_18249f4b4; puVar8[6] = 0; puVar8[7] = 0; puVar8[8] = 0; puVar8[9] = 0; puVar8[10] = 0x100000000; puVar8[0xb] = 0x100000000; puVar8[0xc] = 0x100000000; puVar8[0xd] = 0x100000000; puStack_e0 = puVar8 + 0xe; } goto LAB_1814c159f; } } else { do { if (*piVar7 == (int)puVar10) break; piVar7 = piVar7 + 1; } while (piVar7 != piVar3); if (piVar7 == piVar3) goto LAB_1814c14c2; local_res18 = 0x3f800000; uStackX_1c = 0; local_158 = ZEXT416(0); local_148 = 0; local_140 = 1.0; uStack_13c = 0; local_138 = 0; local_130 = &DAT_18249f4b4; local_118 = 0; uStack_110 = 0; local_108 = 0; uStack_104 = 1; uStack_100 = 0; uStack_fc = 1; uStack_f8 = 0; uStack_f4 = 1; uStack_f0 = 0; uStack_ec = 1; local_128 = local_158; if (puVar13 == puVar8) { FUN_18056d010(&local_e8,puVar8,local_158); puVar13 = local_d8; } else { *puVar8 = 0; puVar8[1] = 0; puVar8[2] = 0; local_148 = 0; puVar8[3] = 0x3f800000; *(undefined4 *)(puVar8 + 4) = 0; puVar8[5] = &DAT_18249f4b4; puVar8[6] = 0; puVar8[7] = 0; puVar8[8] = 0; puVar8[9] = 0; puVar8[10] = 0x100000000; puVar8[0xb] = 0x100000000; puVar8[0xc] = 0x100000000; puVar8[0xd] = 0x100000000; puStack_e0 = puVar8 + 0xe; } LAB_1814c159f: puVar8 = puStack_e0; FUN_180569ed0(local_158); } uVar9 = (int)puVar10 + 1; puVar10 = (undefined8 *)(ulonglong)uVar9; puVar12 = puVar12 + 1; puVar11 = (undefined8 *)(longlong)(int)uVar9; } while (puVar11 < (undefined8 *) (*(longlong *)(param_1 + 0x2c8) - *(longlong *)(param_1 + 0x2c0) >> 3)); } local_158 = ZEXT816(0); local_148 = 0; local_140 = 0.0; uStack_13c = 0; local_138 = 0; local_130 = &DAT_18249f4b4; local_128 = ZEXT816(0); local_118 = 0; uStack_110 = 0; local_108 = 0; uStack_104 = 1; uStack_100 = 0; uStack_fc = 1; uStack_f8 = 0; uStack_f4 = 1; uStack_f0 = 0; uStack_ec = 1; uVar5 = FUN_180568910(local_90,&local_e8); local_res8 = (undefined1 [8])uVar5; FUN_180568910(&local_b8,uVar5); uVar6 = FUN_180568910(local_78,&local_b8); FUN_18055f7e0(local_158,uVar6,1); FUN_180569ed0(&local_b8); FUN_180569ed0(uVar5); local_b8 = CONCAT44(iStack_c4,local_c8); uStack_b0 = CONCAT44(iStack_bc,uStack_c0); FUN_18055f500(local_158,&local_b8,param_1); FUN_180569ed0(local_158); FUN_180569ed0(&local_e8); return; } ############ FUN_ 1814eab40 size=164 ############ void FUN_1814eab40(longlong param_1) { longlong *plVar1; undefined8 uVar2; longlong lVar3; float fVar4; undefined1 local_res8 [8]; if (*(longlong *)(param_1 + 0x1d0) != 0) { plVar1 = (longlong *)(param_1 + 0x1c8); if (*(code **)(*plVar1 + 8) == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } uVar2 = *(undefined8 *)(param_1 + 0x1d0); } else { uVar2 = (**(code **)(*plVar1 + 8))(plVar1); } uVar2 = FUN_1813f22a0(uVar2,local_res8,DAT_182674194,param_1); fVar4 = (float)FUN_1813ec390(uVar2); lVar3 = (**(code **)(*plVar1 + 8))(plVar1); *(float *)(param_1 + 0x1e8) = fVar4 * *(float *)(lVar3 + 0x88); } return; } ############ FUN_ 1814eb5c0 size=830 ############ void FUN_1814eb5c0(longlong param_1) { longlong *plVar1; float fVar2; float fVar3; int iVar4; code *pcVar5; longlong lVar6; undefined8 uVar7; undefined8 uVar8; undefined4 uVar9; float fVar10; float fVar11; float fVar12; float fVar13; undefined1 local_res8 [4]; undefined4 local_resc; float local_68; float fStack_64; float fStack_60; float fStack_5c; lVar6 = *(longlong *)(param_1 + 0x1f8); if (((lVar6 != 0) && (*(int *)(param_1 + 0x2c) != 0)) && (*(int *)(param_1 + 0x28) != 0)) { plVar1 = (longlong *)(param_1 + 0x1c8); fVar12 = *(float *)(lVar6 + 0x1c); fVar11 = *(float *)(lVar6 + 0x18); fVar2 = *(float *)(lVar6 + 0x14); fVar3 = *(float *)(lVar6 + 0x10); fVar13 = (float)*(int *)(param_1 + 0x2c) * *(float *)(param_1 + 0x204); lVar6 = (**(code **)(*plVar1 + 8))(plVar1); local_68 = 0.0; fVar10 = (float)*(int *)(param_1 + 0x28); iVar4 = *(int *)(param_1 + 0x2c); fVar12 = ((fVar2 - fVar3) / (fVar12 - fVar11)) * fVar13 + *(float *)(lVar6 + 0x88) * DAT_1824c4334; if (**(char **)(param_1 + 0x158) != '\0') { if (*(int *)(param_1 + 0x210) == 0) { lVar6 = (**(code **)(*plVar1 + 8))(plVar1); local_68 = *(float *)(lVar6 + 0x88) * DAT_1824c4334 + 0.0; fVar10 = (fVar10 + 0.0) - local_68; if (fVar10 <= 0.0) { fVar10 = 0.0; } if (fVar12 <= fVar10) { fVar10 = fVar12; } } else if (*(int *)(param_1 + 0x210) == 1) { lVar6 = (**(code **)(*plVar1 + 8))(plVar1); fVar11 = fVar10 - *(float *)(lVar6 + 0x88) * DAT_1824c4334; if (fVar11 <= 0.0) { fVar11 = 0.0; } fVar10 = fVar11; if (fVar12 <= fVar11) { fVar10 = fVar12; } local_68 = (fVar11 + 0.0) - fVar10; } } local_68 = (fVar10 - fVar12) * DAT_1824c3d8c + local_68; fStack_64 = ((float)iVar4 - fVar13) * DAT_1824c3d8c + 0.0; fStack_60 = fVar12; fStack_5c = fVar13; FUN_180576b40(*(undefined8 *)(param_1 + 0x1f8),&local_68,0x24); } if (*(longlong *)(param_1 + 0x1d0) != 0) { pcVar5 = *(code **)(*(longlong *)(param_1 + 0x1c8) + 8); if (pcVar5 == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } uVar8 = *(undefined8 *)(param_1 + 0x1d0); } else { uVar8 = (*pcVar5)(param_1 + 0x1c8); } FUN_1813f22a0(uVar8,local_res8,DAT_182674198,param_1); *(undefined4 *)(param_1 + 0x21c) = local_resc; uVar7 = FUN_1813f22a0(uVar8,local_res8,DAT_1826741d0,param_1); uVar9 = FUN_1813ec390(uVar7); *(undefined4 *)(param_1 + 0x230) = uVar9; FUN_1813f22a0(uVar8,local_res8,DAT_18267421c,param_1); *(undefined4 *)(param_1 + 0x220) = local_resc; FUN_1813f22a0(uVar8,local_res8,DAT_1826741b4,param_1); *(undefined4 *)(param_1 + 0x228) = local_resc; FUN_1813f22a0(uVar8,local_res8,DAT_182674240,param_1); uVar9 = DAT_18267424c; *(undefined4 *)(param_1 + 0x224) = local_resc; FUN_1813f22a0(uVar8,local_res8,uVar9,param_1); *(undefined4 *)(param_1 + 0x22c) = local_resc; } return; } ############ FUN_ 1814fc2f0 size=583 ############ void FUN_1814fc2f0(longlong param_1) { undefined4 uVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; uint uVar5; undefined8 uVar6; undefined4 *puVar7; uint *_Memory; longlong *plVar8; ulonglong uVar9; ulonglong uVar10; ulonglong uVar11; longlong local_res8; undefined1 local_res10 [4]; undefined4 local_res14; undefined1 local_res18 [4]; undefined4 local_res1c; if (*(longlong *)(param_1 + 0xb8) != 0) { uVar5 = FUN_1811bf620(*(undefined8 *)(param_1 + 0xf8)); (**(code **)(**(longlong **)(param_1 + 0xf8) + 0x78)) (*(longlong **)(param_1 + 0xf8),&local_res8); uVar1 = DAT_182674230; uVar6 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); FUN_1813f22a0(uVar6,local_res10,uVar1,param_1); uVar1 = DAT_182674268; uVar6 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(param_1 + 0xb0); FUN_1813f22a0(uVar6,local_res18,uVar1,param_1); puVar7 = (undefined4 *)FUN_1805823c0(param_1 + 0x110,&local_res8); uVar1 = *puVar7; puVar7 = (undefined4 *)FUN_1805823c0(param_1 + 0x130,&local_res8); uVar2 = *puVar7; plVar8 = *(longlong **)(param_1 + 0xe0); uVar11 = 0; uVar9 = (ulonglong)((longlong)(plVar8 + *(int *)(param_1 + 0xec)) + (7 - (longlong)plVar8)) >> 3 ; if (plVar8 + *(int *)(param_1 + 0xec) < plVar8) { uVar9 = uVar11; } uVar10 = uVar11; if (uVar9 != 0) { do { *(undefined1 *)(*plVar8 + 0x4a4) = 0; plVar8 = plVar8 + 1; uVar10 = uVar10 + 1; } while (uVar10 != uVar9); } uVar9 = uVar11; if (uVar5 < *(uint *)(param_1 + 0xec)) { uVar9 = *(ulonglong *)(*(longlong *)(param_1 + 0xe0) + (longlong)(int)uVar5 * 8); } *(undefined1 *)(uVar9 + 0x4a4) = 1; uVar4 = DAT_1824c4680; plVar8 = *(longlong **)(param_1 + 0xe0); uVar9 = (ulonglong)((longlong)(plVar8 + *(int *)(param_1 + 0xec)) + (7 - (longlong)plVar8)) >> 3 ; if (plVar8 + *(int *)(param_1 + 0xec) < plVar8) { uVar9 = uVar11; } if (uVar9 != 0) { do { uVar6 = *(undefined8 *)(*plVar8 + 0x4a8); if (*(char *)(*plVar8 + 0x4a4) == '\0') { FUN_181405270(uVar6,DAT_182674230,local_res14,uVar4,uVar4); uVar3 = local_res1c; } else { FUN_181405270(uVar6,DAT_182674230,uVar1,uVar4,uVar4); uVar3 = uVar2; } FUN_181405270(uVar6,DAT_182674268,uVar3,uVar4,uVar4); plVar8 = plVar8 + 1; uVar11 = uVar11 + 1; } while (uVar11 != uVar9); } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar5 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return; } ############ FUN_ 1814fc580 size=389 ############ void FUN_1814fc580(longlong param_1,longlong param_2) { uint uVar1; undefined4 uVar2; undefined4 uVar3; longlong lVar4; undefined4 *puVar5; undefined8 uVar6; ulonglong uVar7; longlong *plVar8; ulonglong uVar9; ulonglong uVar10; undefined1 local_res10 [4]; undefined4 local_res14; uVar10 = 0; lVar4 = __RTDynamicCast(*(undefined8 *)(param_2 + 0x38),0,&juce::Component::RTTI_Type_Descriptor, &CloudyComboBoxRadioButton::RTTI_Type_Descriptor,0); uVar2 = DAT_1824c4680; if (lVar4 != 0) { uVar1 = *(uint *)(*(longlong *)(param_2 + 0x38) + 0x4a0); uVar7 = uVar10; if (uVar1 < *(uint *)(param_1 + 0xec)) { uVar7 = *(ulonglong *)(*(longlong *)(param_1 + 0xe0) + (longlong)(int)uVar1 * 8); } if (*(char *)(uVar7 + 0x4a4) == '\0') { plVar8 = *(longlong **)(param_1 + 0xe0); uVar7 = (ulonglong)((longlong)(plVar8 + *(int *)(param_1 + 0xec)) + (7 - (longlong)plVar8)) >> 3; if (plVar8 + *(int *)(param_1 + 0xec) < plVar8) { uVar7 = uVar10; } uVar9 = uVar10; if (uVar7 != 0) { do { lVar4 = *plVar8; if (*(char *)(lVar4 + 0x4a4) != '\0') { puVar5 = (undefined4 *)FUN_1805823c0(param_1 + 0x110,lVar4 + 8); FUN_181405270(*(undefined8 *)(lVar4 + 0x4a8),DAT_182674230,*puVar5,uVar2,uVar2); } plVar8 = plVar8 + 1; uVar9 = uVar9 + 1; } while (uVar9 != uVar7); } uVar3 = DAT_182674230; uVar6 = (**(code **)(*(longlong *)(param_1 + 0xb0) + 8))(); FUN_1813f22a0(uVar6,local_res10,uVar3,param_1); if (uVar1 < *(uint *)(param_1 + 0xec)) { uVar10 = *(ulonglong *)(*(longlong *)(param_1 + 0xe0) + (longlong)(int)uVar1 * 8); } FUN_181405270(*(undefined8 *)(uVar10 + 0x4a8),DAT_182674230,local_res14,uVar2,uVar2); } } return; } ############ FUN_ 1815528c0 size=386 ############ void FUN_1815528c0(longlong param_1,undefined8 param_2) { undefined8 uVar1; undefined4 uVar2; undefined4 uVar3; undefined1 local_res8 [4]; undefined4 local_resc; undefined4 local_f8; undefined4 uStack_f4; undefined4 uStack_f0; undefined4 uStack_ec; undefined **local_e8; longlong local_e0; undefined4 uStack_d8; undefined4 uStack_d4; undefined ***local_b0; undefined **local_a8; undefined4 local_a0; undefined4 uStack_9c; undefined4 uStack_98; undefined4 uStack_94; undefined ***local_70; undefined **local_68; longlong local_60; undefined ***local_30; uVar1 = FUN_1813f22a0(param_2,local_res8,DAT_1826741a4,param_1); uVar2 = FUN_1813ec390(uVar1); uVar1 = FUN_1813f22a0(param_2,local_res8,DAT_1826742b4,param_1); uVar3 = FUN_1813ec390(uVar1); FUN_1813f22a0(param_2,local_res8,DAT_1826741c4,param_1); *(undefined4 *)(param_1 + 0x904) = local_resc; local_f8 = (undefined4)param_1; uStack_f4 = (undefined4)((ulonglong)param_1 >> 0x20); local_a8 = std::_Func_impl_no_alloc<,juce::Point_>:: vftable; local_70 = &local_a8; local_68 = std::_Func_impl_no_alloc<,juce::Path*___ptr64> ::vftable; local_30 = &local_68; local_e8 = std::_Func_impl_no_alloc<,int>::vftable; local_b0 = &local_e8; local_a0 = local_f8; uStack_9c = uStack_f4; local_e0 = param_1; uStack_98 = uVar2; uStack_94 = uVar3; local_60 = param_1; FUN_1815f8200(param_1 + 0x830,param_1,&local_e8,&local_68,&local_a8); local_e8 = std::_Func_impl_no_alloc<,void,CloudyGUIValue> ::vftable; local_b0 = &local_e8; uStack_f0 = (undefined4)param_2; uStack_ec = (undefined4)((ulonglong)param_2 >> 0x20); uStack_d8 = uStack_f0; uStack_d4 = uStack_ec; local_e0 = param_1; FUN_1813ef120(param_2,param_1,DAT_1826741a8,&local_e8); return; } ############ FUN_ 1815badd0 size=393 ############ void FUN_1815badd0(longlong param_1) { longlong *plVar1; undefined8 uVar2; longlong lVar3; undefined8 uVar4; float fVar5; undefined4 uVar6; undefined4 uVar7; undefined1 local_res8 [4]; undefined4 local_resc; if (*(longlong *)(param_1 + 0x1d0) != 0) { plVar1 = (longlong *)(param_1 + 0x1c8); if (*(code **)(*plVar1 + 8) == FUN_180579300) { if (*(longlong *)(param_1 + 0x1d0) == 0) { FUN_180579970(param_1); } uVar4 = *(undefined8 *)(param_1 + 0x1d0); } else { uVar4 = (**(code **)(*plVar1 + 8))(plVar1); } uVar2 = FUN_1813f22a0(uVar4,local_res8,DAT_182674238,param_1); fVar5 = (float)FUN_1813ec390(uVar2); lVar3 = (**(code **)(*plVar1 + 8))(plVar1); *(float *)(param_1 + 0x278) = fVar5 * *(float *)(lVar3 + 0x88); FUN_1813f22a0(uVar4,local_res8,DAT_182674234,param_1); uVar7 = DAT_182674190; *(undefined4 *)(param_1 + 0x284) = local_resc; FUN_1813f22a0(uVar4,local_res8,uVar7,param_1); uVar7 = DAT_1826741c8; *(undefined4 *)(param_1 + 0x288) = local_resc; FUN_1813f22a0(uVar4,local_res8,uVar7,param_1); uVar7 = DAT_1826741fc; *(undefined4 *)(param_1 + 0x28c) = local_resc; FUN_1813f22a0(uVar4,local_res8,uVar7,param_1); uVar7 = DAT_182674228; *(undefined4 *)(param_1 + 0x290) = local_resc; uVar2 = FUN_1813f22a0(uVar4,local_res8,uVar7,param_1); uVar6 = FUN_1813ec390(uVar2); uVar7 = DAT_182674270; *(undefined4 *)(param_1 + 0x280) = uVar6; uVar4 = FUN_1813f22a0(uVar4,local_res8,uVar7,param_1); uVar7 = FUN_1813ec390(uVar4); *(undefined4 *)(param_1 + 0x27c) = uVar7; } return; } ############ FUN_ 180001d30 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182616048)[DAT_1826159a0])(); return; } ############ FUN_ 1800020f0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182616548)[DAT_1826159a0])(); return; } ############ FUN_ 1800020c0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_DAT_182616508)[DAT_1826159a0])(); return; } ############ FUN_ 1800022d0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_1826167c8)[DAT_1826159a0])(); return; } ############ FUN_ 180001b50 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_LAB_182615dc8)[DAT_1826159a0])(); return; } ############ FUN_ 180001850 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_1826159c8)[DAT_1826159a0])(); return; } ############ FUN_ 180002030 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182616448)[DAT_1826159a0])(); return; } ############ FUN_ 1800019a0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615b88)[DAT_1826159a0])(); return; } ############ FUN_ 18056c640 size=363 ############ void FUN_18056c640(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; pvVar3 = (void *)param_1[1]; lVar5 = *param_1; uVar6 = (longlong)pvVar3 - lVar5 >> 3; uVar4 = param_1[2] - lVar5 >> 3; if (uVar4 < param_2) { if (0x1fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar2 = param_2; if ((uVar4 <= 0x1fffffffffffffff - (uVar4 >> 1)) && (uVar2 = (uVar4 >> 1) + uVar4, uVar2 < param_2)) { uVar2 = param_2; } lVar5 = uVar2 * 8; if (0x1fffffffffffffff < uVar2) { lVar5 = -1; } pvVar3 = (void *)FUN_180480500(lVar5); if (param_2 - uVar6 != 0) { memset((void *)((longlong)pvVar3 + uVar6 * 8),0,(param_2 - uVar6) * 8); } memmove(pvVar3,(void *)*param_1,param_1[1] - *param_1); pvVar1 = (void *)*param_1; if (pvVar1 != (void *)0x0) { pvVar3 = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } *param_1 = (longlong)pvVar3; param_1[1] = (longlong)((longlong)pvVar3 + param_2 * 8); param_1[2] = (longlong)(uVar2 * 8 + (longlong)pvVar3); } else if (uVar6 < param_2) { lVar5 = param_2 - uVar6; if (lVar5 != 0) { memset(pvVar3,0,lVar5 * 8); pvVar3 = (void *)((longlong)pvVar3 + lVar5 * 8); } param_1[1] = (longlong)pvVar3; } else if (param_2 != uVar6) { param_1[1] = lVar5 + param_2 * 8; } return; } ############ FUN_ 180001be0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615e88)[DAT_1826159a0])(); return; } ############ FUN_ 180001a00 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615c08)[DAT_1826159a0])(); return; } ############ FUN_ 181a05cc3 size=446 ############ void FUN_181a05cc3(void) { longlong *plVar1; float *pfVar2; longlong lVar3; int iVar4; ulonglong uVar5; ulonglong uVar6; longlong *plVar7; float fVar8; float fVar9; float fVar10; bool bVar11; double dVar12; char cVar13; uint uVar14; float *pfVar15; longlong lVar16; longlong unaff_RBP; uint uVar17; ulonglong unaff_RSI; longlong unaff_RDI; longlong lVar18; uint uVar19; ulonglong uVar20; longlong unaff_R12; ulonglong uVar21; ulonglong *unaff_R13; uint unaff_R14D; ulonglong *unaff_R15; float fVar22; undefined1 auVar23 [16]; float fVar24; undefined1 unaff_XMM6 [16]; float unaff_XMM8_Da; undefined4 unaff_XMM8_Db; float afStackX_20 [2]; uVar17 = (uint)unaff_RSI; LOCK(); *(uint *)(unaff_R12 + 0x2404b8) = uVar17; UNLOCK(); fVar22 = (float)(**(code **)(**(longlong **)(*(longlong *)(unaff_RDI + 0x1b8) + 0x168) + 0xe0))(); FUN_1812b3270(*unaff_R13); auVar23._4_12_ = unaff_XMM6._4_12_; auVar23._0_4_ = unaff_XMM6._0_4_ - fVar22; FUN_1812b3db0(*unaff_R13,auVar23._0_8_,unaff_R14D); uVar20 = *unaff_R13; FUN_180535a70(uVar20,uVar20,unaff_R14D); FUN_18052d920(uVar20); fVar22 = DAT_1824c3df0; fVar24 = unaff_XMM6._0_4_ - DAT_1824c3df0; uVar20 = unaff_RSI & 0xffffffff; uVar19 = uVar17; if ((0 < (int)unaff_R14D) && (0xf < unaff_R14D)) { uVar5 = *unaff_R15; uVar6 = *unaff_R13; if ((uVar6 + (longlong)(int)(unaff_R14D - 1) * 4 < uVar5) || (uVar5 + (longlong)(int)(unaff_R14D - 1) * 4 < uVar6)) { uVar14 = unaff_R14D & 0x8000000f; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffff0) + 1; } pfVar15 = (float *)(uVar5 + 0x20); uVar21 = unaff_RSI; do { uVar19 = (int)uVar20 + 0x10; uVar20 = (ulonglong)uVar19; pfVar2 = (float *)((longlong)pfVar15 + uVar6 + (-0x20 - uVar5)); fVar8 = pfVar2[1]; fVar9 = pfVar2[2]; fVar10 = pfVar2[3]; uVar21 = uVar21 + 0x10; pfVar15[-8] = *pfVar2 * fVar22 + pfVar15[-8] * fVar24; pfVar15[-7] = fVar8 * fVar22 + pfVar15[-7] * fVar24; pfVar15[-6] = fVar9 * fVar22 + pfVar15[-6] * fVar24; pfVar15[-5] = fVar10 * fVar22 + pfVar15[-5] * fVar24; pfVar2 = (float *)((longlong)pfVar15 + uVar6 + (-0x10 - uVar5)); fVar8 = pfVar2[1]; fVar9 = pfVar2[2]; fVar10 = pfVar2[3]; pfVar15[-4] = *pfVar2 * fVar22 + pfVar15[-4] * fVar24; pfVar15[-3] = fVar8 * fVar22 + pfVar15[-3] * fVar24; pfVar15[-2] = fVar9 * fVar22 + pfVar15[-2] * fVar24; pfVar15[-1] = fVar10 * fVar22 + pfVar15[-1] * fVar24; pfVar2 = (float *)((longlong)pfVar15 + (uVar6 - uVar5)); fVar8 = pfVar2[1]; fVar9 = pfVar2[2]; fVar10 = pfVar2[3]; *pfVar15 = *pfVar2 * fVar22 + *pfVar15 * fVar24; pfVar15[1] = fVar8 * fVar22 + pfVar15[1] * fVar24; pfVar15[2] = fVar9 * fVar22 + pfVar15[2] * fVar24; pfVar15[3] = fVar10 * fVar22 + pfVar15[3] * fVar24; pfVar2 = (float *)((longlong)pfVar15 + uVar6 + (0x10 - uVar5)); fVar8 = pfVar2[1]; fVar9 = pfVar2[2]; fVar10 = pfVar2[3]; pfVar15[4] = *pfVar2 * fVar22 + pfVar15[4] * fVar24; pfVar15[5] = fVar8 * fVar22 + pfVar15[5] * fVar24; pfVar15[6] = fVar9 * fVar22 + pfVar15[6] * fVar24; pfVar15[7] = fVar10 * fVar22 + pfVar15[7] * fVar24; pfVar15 = pfVar15 + 0x10; } while ((longlong)uVar21 < (longlong)(int)(unaff_R14D - uVar14)); } } lVar18 = (longlong)(int)uVar19; if (lVar18 < unaff_RBP) { if (3 < unaff_RBP - lVar18) { uVar20 = *unaff_R15; uVar5 = *unaff_R13; pfVar15 = (float *)(uVar20 + 8 + lVar18 * 4); lVar16 = ((unaff_RBP - lVar18) - 4U >> 2) + 1; lVar18 = lVar18 + lVar16 * 4; do { lVar3 = uVar5 + (-8 - uVar20); pfVar15[-2] = fVar24 * pfVar15[-2] + fVar22 * *(float *)(lVar3 + (longlong)pfVar15); pfVar15[-1] = fVar22 * *(float *)(lVar3 + 4 + (longlong)pfVar15) + fVar24 * pfVar15[-1]; *pfVar15 = fVar22 * *(float *)((uVar5 - uVar20) + (longlong)pfVar15) + fVar24 * *pfVar15; pfVar15[1] = fVar22 * *(float *)(uVar5 + (4 - uVar20) + (longlong)pfVar15) + fVar24 * pfVar15[1]; pfVar15 = pfVar15 + 4; lVar16 = lVar16 + -1; } while (lVar16 != 0); } if (lVar18 < unaff_RBP) { uVar20 = *unaff_R15; uVar5 = *unaff_R13; pfVar15 = (float *)(uVar20 + lVar18 * 4); lVar18 = unaff_RBP - lVar18; do { *pfVar15 = fVar22 * *(float *)((longlong)pfVar15 + (uVar5 - uVar20)) + fVar24 * *pfVar15; pfVar15 = pfVar15 + 1; lVar18 = lVar18 + -1; } while (lVar18 != 0); } } fVar22 = (float)FUN_180487300(*(undefined8 *)(unaff_RDI + 0x1c8)); dVar12 = DAT_1824c4140; plVar1 = (longlong *)(unaff_RDI + 400); *(ulonglong *)(unaff_RDI + 0x19c) = unaff_RSI; *(ulonglong *)(unaff_RDI + 0x1a4) = unaff_RSI; *(uint *)(unaff_RDI + 0x1ac) = uVar17; fVar22 = (float)((dVar12 - (double)fVar22) * (double)*(int *)(unaff_RDI + 0x16c)); if (*(uint *)(unaff_RDI + 0x19c) == uVar17) { *(float *)(unaff_RDI + 0x1a8) = fVar22; *(ulonglong *)(unaff_RDI + 0x1a0) = unaff_RSI; } else { if (*(float *)(unaff_RDI + 0x1a0) <= unaff_XMM8_Da) { if (*(float *)(unaff_RDI + 0x1a4) <= unaff_XMM8_Da && unaff_XMM8_Da != *(float *)(unaff_RDI + 0x1a4)) { *(uint *)(unaff_RDI + 0x1a4) = uVar17; } } else { *(uint *)(unaff_RDI + 0x1a0) = uVar17; } if (fVar22 < *(float *)(unaff_RDI + 0x1a8)) { *(float *)(unaff_RDI + 0x1a8) = fVar22; goto LAB_181a06023; } if (fVar22 < *(float *)(unaff_RDI + 0x1ac) || fVar22 == *(float *)(unaff_RDI + 0x1ac)) goto LAB_181a06023; } *(float *)(unaff_RDI + 0x1ac) = fVar22; LAB_181a06023: FUN_1804b02a0(plVar1,&DAT_1821df344,CONCAT44(unaff_XMM8_Db,unaff_XMM8_Da),fVar22); lVar18 = *(longlong *)(unaff_RDI + 0x1b8); cVar13 = FUN_180528c00(lVar18); uVar19 = DAT_1824c4f30; if ((cVar13 == '\0') && (*(char *)(lVar18 + 0x939) == '\0')) { bVar11 = false; } else { bVar11 = true; } if (0 < unaff_RBP) { do { afStackX_20[0] = *(float *)(*unaff_R15 + unaff_RSI * 4); if (bVar11) { afStackX_20[0] = (float)((uint)afStackX_20[0] ^ uVar19); } afStackX_20[0] = afStackX_20[0] * *(float *)(unaff_RDI + 0x164); plVar7 = *(longlong **)(unaff_RDI + 0x220); if (plVar7 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar7 + 0x10))(plVar7,afStackX_20); FUN_18129ddd0(plVar1); unaff_RSI = unaff_RSI + 1; } while ((longlong)unaff_RSI < unaff_RBP); } FUN_18129ddd0(plVar1); if (!bVar11) { FUN_18129ddd0(plVar1); FUN_18129ddd0(plVar1); } iVar4 = *(int *)(unaff_RDI + 0x19c); if ((iVar4 != 0) && ((iVar4 < 1 || (*(float *)(*plVar1 + (longlong)(iVar4 + -1) * 4) != DAT_1824c460c)))) { if (*(int *)(unaff_RDI + 0x198) < iVar4 + 1) { FUN_1804af790(plVar1,iVar4 + 9 + (iVar4 + 1) / 2 & 0xfffffff8); } iVar4 = *(int *)(unaff_RDI + 0x19c); *(int *)(unaff_RDI + 0x19c) = iVar4 + 1; *(undefined4 *)(*plVar1 + (longlong)iVar4 * 4) = 0x47c35280; } return; } ############ FUN_ 180001dc0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182616108)[DAT_1826159a0])(); return; } ############ FUN_ 180001d00 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182616008)[DAT_1826159a0])(); return; } ############ FUN_ 180001e50 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_1826161c8)[DAT_1826159a0])(); return; } ############ FUN_ 180001a30 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615c48)[DAT_1826159a0])(); return; } ############ FUN_ 180534180 size=382 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ longlong * FUN_180534180(longlong *param_1,double param_2,double param_3,double param_4,float param_5) { double dVar1; double _X; double dVar2; float fVar3; double dVar4; double dVar5; double dVar6; double dVar7; undefined4 uVar8; undefined4 uVar9; fVar3 = sqrtf(param_5); uVar8 = SUB84(DAT_1824c41e8,0); uVar9 = (int)((ulonglong)DAT_1824c41e8 >> 0x20); if (DAT_1824c41e8 <= param_3) { uVar8 = SUB84(param_3,0); uVar9 = (int)((ulonglong)param_3 >> 0x20); } if (fVar3 <= 0.0) { fVar3 = 0.0; } _X = (double)fVar3; param_2 = ((double)CONCAT44(uVar9,uVar8) * DAT_1824c4248) / param_2; dVar2 = _X - DAT_1824c4140; dVar1 = _X + DAT_1824c4140; dVar4 = cos(param_2); dVar5 = sin(param_2); dVar6 = sqrt(_X); dVar7 = dVar4 * dVar2; param_4 = (dVar5 * dVar6) / param_4; FUN_180534730(param_1); dVar5 = (dVar4 * dVar1 + dVar2) * _DAT_1824c46b0; *(double *)*param_1 = ((dVar1 - dVar7) + param_4) * _X; *(double *)(*param_1 + 8) = (dVar2 - dVar4 * dVar1) * _X * DAT_1824c41e8; *(double *)(*param_1 + 0x10) = ((dVar1 - dVar7) - param_4) * _X; *(double *)param_1[1] = dVar7 + dVar1 + param_4; *(double *)(param_1[1] + 8) = dVar5; *(double *)(param_1[1] + 0x10) = (dVar7 + dVar1) - param_4; return param_1; } ############ FUN_ 180533ec0 size=290 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ longlong * FUN_180533ec0(longlong *param_1,double param_2,double param_3,double param_4,float param_5) { float fVar1; double dVar2; double dVar3; double dVar4; double dVar5; undefined4 uVar6; undefined4 uVar7; fVar1 = sqrtf(param_5); uVar6 = SUB84(DAT_1824c41e8,0); uVar7 = (int)((ulonglong)DAT_1824c41e8 >> 0x20); if (DAT_1824c41e8 <= param_3) { uVar6 = SUB84(param_3,0); uVar7 = (int)((ulonglong)param_3 >> 0x20); } if (fVar1 <= 0.0) { fVar1 = 0.0; } param_2 = ((double)CONCAT44(uVar7,uVar6) * DAT_1824c4248) / param_2; dVar2 = sin(param_2); param_4 = (dVar2 * DAT_1824c4050) / param_4; dVar2 = cos(param_2); dVar2 = dVar2 * _DAT_1824c46b0; dVar5 = param_4 * (double)fVar1; param_4 = param_4 / (double)fVar1; FUN_180534730(param_1); dVar4 = param_4 + DAT_1824c4140; dVar3 = DAT_1824c4140 - dVar5; param_4 = DAT_1824c4140 - param_4; *(double *)*param_1 = dVar5 + DAT_1824c4140; *(double *)(*param_1 + 8) = dVar2; *(double *)(*param_1 + 0x10) = dVar3; *(double *)param_1[1] = dVar4; *(double *)(param_1[1] + 8) = dVar2; *(double *)(param_1[1] + 0x10) = param_4; return param_1; } ############ FUN_ 181132120 size=81 ############ /* WARNING: This is an inlined function */ /* Library Function - Single Match _alloca_probe Libraries: Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 */ void _alloca_probe(void) { undefined1 *in_RAX; undefined1 *puVar1; undefined1 *puVar2; undefined1 local_res8 [32]; puVar1 = local_res8 + -(longlong)in_RAX; if (local_res8 < in_RAX) { puVar1 = (undefined1 *)0x0; } if (puVar1 < StackLimit) { puVar2 = StackLimit; do { puVar2 = puVar2 + -0x1000; *puVar2 = 0; } while ((undefined1 *)((ulonglong)puVar1 & 0xfffffffffffff000) != puVar2); } return; } ############ FUN_ 180533ff0 size=387 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ longlong * FUN_180533ff0(longlong *param_1,double param_2,double param_3,double param_4,float param_5) { double _X; double dVar1; double dVar2; float fVar3; double dVar4; double dVar5; double dVar6; double dVar7; undefined4 uVar8; undefined4 uVar9; fVar3 = sqrtf(param_5); uVar8 = SUB84(DAT_1824c41e8,0); uVar9 = (int)((ulonglong)DAT_1824c41e8 >> 0x20); if (DAT_1824c41e8 <= param_3) { uVar8 = SUB84(param_3,0); uVar9 = (int)((ulonglong)param_3 >> 0x20); } if (fVar3 <= 0.0) { fVar3 = 0.0; } _X = (double)fVar3; param_2 = ((double)CONCAT44(uVar9,uVar8) * DAT_1824c4248) / param_2; dVar1 = _X - DAT_1824c4140; dVar2 = _X + DAT_1824c4140; dVar4 = cos(param_2); dVar5 = sin(param_2); dVar6 = sqrt(_X); dVar7 = dVar4 * dVar1; param_4 = (dVar5 * dVar6) / param_4; FUN_180534730(param_1); dVar5 = (dVar1 - dVar4 * dVar2) * DAT_1824c41e8; *(double *)*param_1 = (dVar7 + dVar2 + param_4) * _X; *(double *)(*param_1 + 8) = (dVar4 * dVar2 + dVar1) * _X * _DAT_1824c46b0; *(double *)(*param_1 + 0x10) = ((dVar7 + dVar2) - param_4) * _X; *(double *)param_1[1] = (dVar2 - dVar7) + param_4; *(double *)(param_1[1] + 8) = dVar5; *(double *)(param_1[1] + 0x10) = (dVar2 - dVar7) - param_4; return param_1; } ############ FUN_ 1805343e0 size=212 ############ longlong * FUN_1805343e0(longlong *param_1,double param_2,double param_3,double param_4) { double dVar1; double dVar2; double dVar3; double dVar4; double dVar5; dVar2 = tan((param_3 * DAT_1824c4218) / param_2); dVar1 = DAT_1824c4140; dVar2 = DAT_1824c4140 / dVar2; dVar5 = (DAT_1824c4140 / param_4) * dVar2; dVar2 = dVar2 * dVar2; dVar4 = DAT_1824c4140 / (dVar5 + DAT_1824c4140 + dVar2); FUN_180534730(param_1); *(double *)*param_1 = dVar4; dVar3 = dVar4 * DAT_1824c41e8; *(double *)(*param_1 + 8) = dVar3; *(double *)(*param_1 + 0x10) = dVar4; *(undefined8 *)param_1[1] = 0x3ff0000000000000; *(double *)(param_1[1] + 8) = (dVar1 - dVar2) * dVar3; *(double *)(param_1[1] + 0x10) = ((dVar1 - dVar5) + dVar2) * dVar4; return param_1; } ############ FUN_ 180534730 size=260 ############ undefined8 * FUN_180534730(undefined8 *param_1) { undefined8 *puVar1; undefined8 *puVar2; puVar1 = param_1 + 3; *(undefined4 *)(param_1 + 2) = 3; *param_1 = puVar1; *(undefined1 *)(param_1 + 0xf) = 1; puVar2 = param_1 + 6; param_1[1] = puVar2; if (((ulonglong)puVar1 & 0xf) == 0) { *puVar1 = 0; param_1[4] = 0; } else { *puVar1 = 0; param_1[4] = 0; } param_1[5] = 0; if (((ulonglong)puVar2 & 0xf) == 0) { *puVar2 = 0; param_1[7] = 0; } else { *puVar2 = 0; param_1[7] = 0; } param_1[8] = 0; *puVar1 = 0x3ff0000000000000; puVar1 = param_1 + 9; *puVar2 = 0x3ff0000000000000; if (((ulonglong)puVar1 & 0xf) == 0) { *puVar1 = 0; param_1[10] = 0; } else { *puVar1 = 0; param_1[10] = 0; } puVar2 = param_1 + 0xc; param_1[0xb] = 0; if (((ulonglong)puVar2 & 0xf) == 0) { *puVar2 = 0; param_1[0xd] = 0; param_1[0xe] = 0; *puVar1 = 0x3ff0000000000000; *puVar2 = 0x3ff0000000000000; return param_1; } *puVar2 = 0; param_1[0xd] = 0; param_1[0xe] = 0; *puVar1 = 0x3ff0000000000000; *puVar2 = 0x3ff0000000000000; return param_1; } ############ FUN_ 180534300 size=216 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ longlong * FUN_180534300(longlong *param_1,double param_2,double param_3,double param_4) { double dVar1; double dVar2; double dVar3; double dVar4; double dVar5; double dVar6; dVar2 = tan((param_3 * DAT_1824c4218) / param_2); dVar1 = DAT_1824c4140; dVar6 = dVar2 * dVar2; dVar2 = (DAT_1824c4140 / param_4) * dVar2; dVar5 = DAT_1824c4140 / (dVar2 + DAT_1824c4140 + dVar6); FUN_180534730(param_1); dVar4 = dVar5 * _DAT_1824c46b0; *(double *)*param_1 = dVar5; dVar3 = dVar5 * DAT_1824c41e8; *(double *)(*param_1 + 8) = dVar4; *(double *)(*param_1 + 0x10) = dVar5; *(undefined8 *)param_1[1] = 0x3ff0000000000000; *(double *)(param_1[1] + 8) = dVar3 * (dVar6 - dVar1); *(double *)(param_1[1] + 0x10) = ((dVar1 - dVar2) + dVar6) * dVar5; return param_1; } ############ FUN_ 18052fbd0 size=82 ############ void FUN_18052fbd0(longlong param_1) { char *pcVar1; int iVar2; iVar2 = 0; if (0 < *(int *)(param_1 + 0x240084)) { pcVar1 = (char *)(param_1 + 0x24008f); do { if (*pcVar1 != '\0') { FUN_1805316e0(param_1,iVar2); *pcVar1 = '\0'; } iVar2 = iVar2 + 1; pcVar1 = pcVar1 + 1; } while (iVar2 < *(int *)(param_1 + 0x240084)); } return; } ############ FUN_ 18052d040 size=135 ############ void FUN_18052d040(longlong param_1) { int iVar1; char *pcVar2; pcVar2 = (char *)(param_1 + 0x24008f); iVar1 = 0; *pcVar2 = '\x01'; *(undefined4 *)(param_1 + 0x240090) = 0x1010101; *(undefined2 *)(param_1 + 0x240094) = 0x101; *(undefined1 *)(param_1 + 0x240096) = 1; if (0 < *(int *)(param_1 + 0x240084)) { do { if (*pcVar2 != '\0') { FUN_1805316e0(param_1,iVar1); *pcVar2 = '\0'; } iVar1 = iVar1 + 1; pcVar2 = pcVar2 + 1; } while (iVar1 < *(int *)(param_1 + 0x240084)); } if (*(char *)(param_1 + 0x24008c) != '\0') { *(undefined1 *)(param_1 + 0x24008c) = 0; FUN_18052fbd0(param_1); } return; } ############ FUN_ 181a2d8b7 size=34 ############ void Unwind_181a2d8b7(undefined8 param_1,longlong param_2) { _guard_check_icall(*(undefined8 *)(param_2 + 0x80),*(undefined8 *)(param_2 + 0x140)); return; } ############ FUN_ 181a2dd6c size=31 ############ void Unwind_181a2dd6c(undefined8 param_1,longlong param_2) { _guard_check_icall(*(undefined8 *)(param_2 + 0xb0),*(undefined8 *)(param_2 + 0x78)); return; } ############ FUN_ 180720170 size=26 ############ void FUN_180720170(void) { _guard_check_icall(); DAT_18260af38 = TlsAlloc(); return; } ############ FUN_ 180a315d0 size=107 ############ void FUN_180a315d0(undefined8 param_1,undefined8 param_2) { longlong lVar1; undefined8 *puVar2; ulonglong uVar3; ulonglong uVar4; undefined1 local_res18 [16]; uVar4 = 0; lVar1 = FUN_180a35a60(); if (lVar1 != 0) { do { puVar2 = (undefined8 *)FUN_180a30470(param_1,local_res18,uVar4); _guard_check_icall(*puVar2,param_2); uVar4 = uVar4 + 1; uVar3 = FUN_180a35a60(param_1); } while (uVar4 < uVar3); } return; } ############ FUN_ 180b05c10 size=103 ############ undefined8 FUN_180b05c10(longlong param_1,uint param_2,int param_3) { if (((param_2 + param_3 == 0x640) && (param_2 - 1 < 0x640)) && ((param_2 & 7) == 0)) { _guard_check_icall(); FUN_180b9e180(param_1); *(short *)(param_1 + 0xce) = (short)param_2; *(undefined4 *)(param_1 + 200) = 0; *(undefined2 *)(param_1 + 0xcc) = 0; return 0; } return 1; } ############ FUN_ 18097cbd0 size=28 ############ undefined8 FUN_18097cbd0(void) { atexit(thunk_FUN_180721060); _guard_check_icall(); return 0; } ############ FUN_ 180a316c0 size=479 ############ void FUN_180a316c0(longlong *param_1,longlong param_2) { int iVar1; longlong *plVar2; longlong *plVar3; undefined8 uVar4; undefined8 *puVar5; char cVar6; int iVar7; undefined4 uVar8; void *_Memory; undefined8 *puVar9; undefined8 *puVar10; undefined8 *puVar11; longlong *plVar12; longlong lVar13; iVar1 = *(int *)(param_2 + 8); iVar7 = (**(code **)(*param_1 + 0x48))(); if (iVar1 != iVar7) { uVar8 = (**(code **)(*param_1 + 0x48))(param_1); FUN_180a3e040(param_1,"deleteObject",uVar8,iVar1, "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lscachedobjectvectorcertificatechain.cpp" ,0x20b); } plVar2 = *(longlong **)(param_1[1] + 0x10); plVar3 = *(longlong **)(param_1[1] + 8); for (plVar12 = plVar3; (plVar12 != plVar2 && (*plVar12 != *(longlong *)(param_2 + 0x10))); plVar12 = plVar12 + 1) { } if (plVar12 == plVar2) { lVar13 = -1; } else { lVar13 = (longlong)plVar12 - (longlong)plVar3 >> 3; if (lVar13 != -1) goto LAB_180a3177e; } FUN_180a3dc30(param_1,"deleteObject",*(undefined4 *)(param_2 + 8),*(longlong *)(param_2 + 0x10), "d:\\jenkins\\full\\eden\\common\\pacesources\\generated\\licenseservices\\liblicenseservices\\lscachedobjectvectorcertificatechain.cpp" ,0x212); LAB_180a3177e: uVar4 = *(undefined8 *)(param_1[7] + lVar13 * 8); _guard_check_icall(*(undefined8 *)(param_1[4] + lVar13 * 8)); FUN_180807870(param_1[2],param_2); FUN_180a23490(*(undefined8 *)(param_1[2] + 0x1970),param_2); cVar6 = FUN_18080b1c0(param_2); if (cVar6 == '\0') { FUN_180b6b000(param_1 + 10,lVar13 * 0x178 + *(longlong *)(param_1[3] + 0x40)); lVar13 = param_1[0xe]; if (param_1[0xf] == lVar13) { FUN_180a2dff0(param_1 + 0xd,lVar13,uVar4); } else { FUN_180a2f530(lVar13,uVar4); param_1[0xe] = param_1[0xe] + 0x178; } } puVar5 = *(undefined8 **)(param_1[3] + 0x28); puVar11 = puVar5; if (*(char *)((longlong)puVar5[1] + 0x19) == '\0') { puVar9 = (undefined8 *)puVar5[1]; do { if ((longlong)puVar9[4] < *(longlong *)(param_2 + 0x10)) { puVar10 = (undefined8 *)puVar9[2]; } else { puVar10 = (undefined8 *)*puVar9; puVar11 = puVar9; } puVar9 = puVar10; } while (*(char *)((longlong)puVar10 + 0x19) == '\0'); } if ((puVar11 == puVar5) || (*(longlong *)(param_2 + 0x10) < (longlong)puVar11[4])) { puVar11 = puVar5; } if (*(char *)((longlong)puVar11[2] + 0x19) == '\0') { plVar2 = *(longlong **)puVar11[2]; cVar6 = *(char *)((longlong)plVar2 + 0x19); while (cVar6 == '\0') { plVar2 = (longlong *)*plVar2; cVar6 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar6 = *(char *)((longlong)puVar11[1] + 0x19); puVar5 = (undefined8 *)puVar11[1]; while ((puVar9 = puVar5, cVar6 == '\0' && (puVar11 == (undefined8 *)puVar9[2]))) { cVar6 = *(char *)((longlong)puVar9[1] + 0x19); puVar5 = (undefined8 *)puVar9[1]; puVar11 = puVar9; } } _Memory = (void *)FUN_180715ef0(param_1[3] + 0x28); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a507b0 size=181 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a507b0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *pvVar1; byte bVar2; void *_Memory; bVar2 = (byte)DAT_18260a1f0; if (DAT_18260a208 < 0x10) { DAT_18260a208 = 0xf; _DAT_18260a200 = 0; DAT_18260a1f0._0_1_ = 0; _guard_check_icall(&DAT_18260a1f0); return; } pvVar1 = (void *)CONCAT71(DAT_18260a1f0._1_7_,(byte)DAT_18260a1f0); _guard_check_icall(&DAT_18260a1f0,&DAT_18260a1f0,param_3,param_4,0xfffffffffffffffe); _Memory = pvVar1; if (0xfff < DAT_18260a208 + 1) { if ((bVar2 & 0x1f) != 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } _Memory = *(void **)((longlong)pvVar1 - 8); if (pvVar1 <= _Memory) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } if ((ulonglong)((longlong)pvVar1 - (longlong)_Memory) < 8) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } if (0x27 < (ulonglong)((longlong)pvVar1 - (longlong)_Memory)) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a50c10 size=122 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a50c10(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; if (7 < DAT_18265f190) { uVar1 = CONCAT62(DAT_18265f178._2_6_,(undefined2)DAT_18265f178); _guard_check_icall(&DAT_18265f178,&DAT_18265f178,param_3,param_4,0xfffffffffffffffe); FUN_1805f54d0(&DAT_18265f178,uVar1,DAT_18265f190 + 1); } DAT_18265f190 = 7; _DAT_18265f188 = 0; DAT_18265f178._0_2_ = 0; _guard_check_icall(&DAT_18265f178); return; } ############ FUN_ 181a50c90 size=122 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a50c90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; if (7 < DAT_18265f170) { uVar1 = CONCAT62(DAT_18265f158._2_6_,(undefined2)DAT_18265f158); _guard_check_icall(&DAT_18265f158,&DAT_18265f158,param_3,param_4,0xfffffffffffffffe); FUN_1805f54d0(&DAT_18265f158,uVar1,DAT_18265f170 + 1); } DAT_18265f170 = 7; _DAT_18265f168 = 0; DAT_18265f158._0_2_ = 0; _guard_check_icall(&DAT_18265f158); return; } ############ FUN_ 181a50d10 size=122 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a50d10(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; if (7 < DAT_18265f228) { uVar1 = CONCAT62(DAT_18265f210._2_6_,(undefined2)DAT_18265f210); _guard_check_icall(&DAT_18265f210,&DAT_18265f210,param_3,param_4,0xfffffffffffffffe); FUN_1805f54d0(&DAT_18265f210,uVar1,DAT_18265f228 + 1); } DAT_18265f228 = 7; _DAT_18265f220 = 0; DAT_18265f210._0_2_ = 0; _guard_check_icall(&DAT_18265f210); return; } ############ FUN_ 181a50d90 size=122 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a50d90(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; if (7 < DAT_18265f208) { uVar1 = CONCAT62(DAT_18265f1f0._2_6_,(undefined2)DAT_18265f1f0); _guard_check_icall(&DAT_18265f1f0,&DAT_18265f1f0,param_3,param_4,0xfffffffffffffffe); FUN_1805f54d0(&DAT_18265f1f0,uVar1,DAT_18265f208 + 1); } DAT_18265f208 = 7; _DAT_18265f200 = 0; DAT_18265f1f0._0_2_ = 0; _guard_check_icall(&DAT_18265f1f0); return; } ############ FUN_ 181a51290 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51290(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260b128); if (DAT_18260b140 < 0x10) { _DAT_18260b138 = _DAT_181bd21a0; DAT_18260b140 = _UNK_181bd21a8; DAT_18260b128._0_1_ = 0; _guard_check_icall(&DAT_18260b128); return; } pvVar1 = (void *)CONCAT71(DAT_18260b128._1_7_,(byte)DAT_18260b128); _Memory = pvVar1; if ((0xfff < DAT_18260b140 + 1) && (((((byte)DAT_18260b128 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51310 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51310(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260af48); if (DAT_18260af60 < 0x10) { _DAT_18260af58 = _DAT_181bd21a0; DAT_18260af60 = _UNK_181bd21a8; DAT_18260af48._0_1_ = 0; _guard_check_icall(&DAT_18260af48); return; } pvVar1 = (void *)CONCAT71(DAT_18260af48._1_7_,(byte)DAT_18260af48); _Memory = pvVar1; if ((0xfff < DAT_18260af60 + 1) && (((((byte)DAT_18260af48 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51390 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51390(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260af88); if (DAT_18260afa0 < 0x10) { _DAT_18260af98 = _DAT_181bd21a0; DAT_18260afa0 = _UNK_181bd21a8; DAT_18260af88._0_1_ = 0; _guard_check_icall(&DAT_18260af88); return; } pvVar1 = (void *)CONCAT71(DAT_18260af88._1_7_,(byte)DAT_18260af88); _Memory = pvVar1; if ((0xfff < DAT_18260afa0 + 1) && (((((byte)DAT_18260af88 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51410 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51410(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260af68); if (DAT_18260af80 < 0x10) { _DAT_18260af78 = _DAT_181bd21a0; DAT_18260af80 = _UNK_181bd21a8; DAT_18260af68._0_1_ = 0; _guard_check_icall(&DAT_18260af68); return; } pvVar1 = (void *)CONCAT71(DAT_18260af68._1_7_,(byte)DAT_18260af68); _Memory = pvVar1; if ((0xfff < DAT_18260af80 + 1) && (((((byte)DAT_18260af68 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51490 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51490(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260afa8); if (DAT_18260afc0 < 0x10) { _DAT_18260afb8 = _DAT_181bd21a0; DAT_18260afc0 = _UNK_181bd21a8; DAT_18260afa8._0_1_ = 0; _guard_check_icall(&DAT_18260afa8); return; } pvVar1 = (void *)CONCAT71(DAT_18260afa8._1_7_,(byte)DAT_18260afa8); _Memory = pvVar1; if ((0xfff < DAT_18260afc0 + 1) && (((((byte)DAT_18260afa8 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51510 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51510(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260afc8); if (DAT_18260afe0 < 0x10) { _DAT_18260afd8 = _DAT_181bd21a0; DAT_18260afe0 = _UNK_181bd21a8; DAT_18260afc8._0_1_ = 0; _guard_check_icall(&DAT_18260afc8); return; } pvVar1 = (void *)CONCAT71(DAT_18260afc8._1_7_,(byte)DAT_18260afc8); _Memory = pvVar1; if ((0xfff < DAT_18260afe0 + 1) && (((((byte)DAT_18260afc8 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51590 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51590(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260afe8); if (DAT_18260b000 < 0x10) { _DAT_18260aff8 = _DAT_181bd21a0; DAT_18260b000 = _UNK_181bd21a8; DAT_18260afe8._0_1_ = 0; _guard_check_icall(&DAT_18260afe8); return; } pvVar1 = (void *)CONCAT71(DAT_18260afe8._1_7_,(byte)DAT_18260afe8); _Memory = pvVar1; if ((0xfff < DAT_18260b000 + 1) && (((((byte)DAT_18260afe8 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51610 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51610(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260b068); if (DAT_18260b080 < 0x10) { _DAT_18260b078 = _DAT_181bd21a0; DAT_18260b080 = _UNK_181bd21a8; DAT_18260b068._0_1_ = 0; _guard_check_icall(&DAT_18260b068); return; } pvVar1 = (void *)CONCAT71(DAT_18260b068._1_7_,(byte)DAT_18260b068); _Memory = pvVar1; if ((0xfff < DAT_18260b080 + 1) && (((((byte)DAT_18260b068 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51690 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51690(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260b008); if (DAT_18260b020 < 0x10) { _DAT_18260b018 = _DAT_181bd21a0; DAT_18260b020 = _UNK_181bd21a8; DAT_18260b008._0_1_ = 0; _guard_check_icall(&DAT_18260b008); return; } pvVar1 = (void *)CONCAT71(DAT_18260b008._1_7_,(byte)DAT_18260b008); _Memory = pvVar1; if ((0xfff < DAT_18260b020 + 1) && (((((byte)DAT_18260b008 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51710 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51710(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260b028); if (DAT_18260b040 < 0x10) { _DAT_18260b038 = _DAT_181bd21a0; DAT_18260b040 = _UNK_181bd21a8; DAT_18260b028._0_1_ = 0; _guard_check_icall(&DAT_18260b028); return; } pvVar1 = (void *)CONCAT71(DAT_18260b028._1_7_,(byte)DAT_18260b028); _Memory = pvVar1; if ((0xfff < DAT_18260b040 + 1) && (((((byte)DAT_18260b028 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51790 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51790(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260b048); if (DAT_18260b060 < 0x10) { _DAT_18260b058 = _DAT_181bd21a0; DAT_18260b060 = _UNK_181bd21a8; DAT_18260b048._0_1_ = 0; _guard_check_icall(&DAT_18260b048); return; } pvVar1 = (void *)CONCAT71(DAT_18260b048._1_7_,(byte)DAT_18260b048); _Memory = pvVar1; if ((0xfff < DAT_18260b060 + 1) && (((((byte)DAT_18260b048 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51810 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51810(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260b0e8); if (DAT_18260b100 < 0x10) { _DAT_18260b0f8 = _DAT_181bd21a0; DAT_18260b100 = _UNK_181bd21a8; DAT_18260b0e8._0_1_ = 0; _guard_check_icall(&DAT_18260b0e8); return; } pvVar1 = (void *)CONCAT71(DAT_18260b0e8._1_7_,(byte)DAT_18260b0e8); _Memory = pvVar1; if ((0xfff < DAT_18260b100 + 1) && (((((byte)DAT_18260b0e8 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51890 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51890(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260b0c8); if (DAT_18260b0e0 < 0x10) { _DAT_18260b0d8 = _DAT_181bd21a0; DAT_18260b0e0 = _UNK_181bd21a8; DAT_18260b0c8._0_1_ = 0; _guard_check_icall(&DAT_18260b0c8); return; } pvVar1 = (void *)CONCAT71(DAT_18260b0c8._1_7_,(byte)DAT_18260b0c8); _Memory = pvVar1; if ((0xfff < DAT_18260b0e0 + 1) && (((((byte)DAT_18260b0c8 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51910 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51910(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260b108); if (DAT_18260b120 < 0x10) { _DAT_18260b118 = _DAT_181bd21a0; DAT_18260b120 = _UNK_181bd21a8; DAT_18260b108._0_1_ = 0; _guard_check_icall(&DAT_18260b108); return; } pvVar1 = (void *)CONCAT71(DAT_18260b108._1_7_,(byte)DAT_18260b108); _Memory = pvVar1; if ((0xfff < DAT_18260b120 + 1) && (((((byte)DAT_18260b108 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51990 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51990(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260b0a8); if (DAT_18260b0c0 < 0x10) { _DAT_18260b0b8 = _DAT_181bd21a0; DAT_18260b0c0 = _UNK_181bd21a8; DAT_18260b0a8._0_1_ = 0; _guard_check_icall(&DAT_18260b0a8); return; } pvVar1 = (void *)CONCAT71(DAT_18260b0a8._1_7_,(byte)DAT_18260b0a8); _Memory = pvVar1; if ((0xfff < DAT_18260b0c0 + 1) && (((((byte)DAT_18260b0a8 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a51a10 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a51a10(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260b088); if (DAT_18260b0a0 < 0x10) { _DAT_18260b098 = _DAT_181bd21a0; DAT_18260b0a0 = _UNK_181bd21a8; DAT_18260b088._0_1_ = 0; _guard_check_icall(&DAT_18260b088); return; } pvVar1 = (void *)CONCAT71(DAT_18260b088._1_7_,(byte)DAT_18260b088); _Memory = pvVar1; if ((0xfff < DAT_18260b0a0 + 1) && (((((byte)DAT_18260b088 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a52180 size=127 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a52180(void) { void *pvVar1; void *_Memory; _guard_check_icall(&DAT_18260c718); if (DAT_18260c730 < 0x10) { DAT_18260c728 = _DAT_181bd21a0; DAT_18260c730 = _UNK_181bd21a8; DAT_18260c718._0_1_ = 0; _guard_check_icall(&DAT_18260c718); return; } pvVar1 = (void *)CONCAT71(DAT_18260c718._1_7_,(byte)DAT_18260c718); _Memory = pvVar1; if ((0xfff < DAT_18260c730 + 1) && (((((byte)DAT_18260c718 & 0x1f) != 0 || (_Memory = *(void **)((longlong)pvVar1 - 8), pvVar1 <= _Memory)) || (0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a351d5 size=16 ############ void Unwind_181a351d5(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0xe0) + 0x10); return; } ############ FUN_ 181a351e5 size=16 ############ void Unwind_181a351e5(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0xe0) + 0x18); return; } ############ FUN_ 181a35ef9 size=12 ############ void Unwind_181a35ef9(undefined8 param_1,longlong param_2) { _guard_check_icall(*(undefined8 *)(param_2 + 0xe0)); return; } ############ FUN_ 181a35f1d size=12 ############ void Unwind_181a35f1d(undefined8 param_1,longlong param_2) { _guard_check_icall(param_2 + 0x58); return; } ############ FUN_ 181a42992 size=19 ############ void Unwind_181a42992(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0x1f0) + 0x8a8); return; } ############ FUN_ 181a429a5 size=19 ############ void Unwind_181a429a5(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0x1f0) + 0x8b0); return; } ############ FUN_ 181a43bb4 size=19 ############ void Unwind_181a43bb4(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 400) + 0xe0); return; } ############ FUN_ 181a445e7 size=19 ############ void Unwind_181a445e7(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0xe8) + 0xf0); return; } ############ FUN_ 181a44679 size=19 ############ void Unwind_181a44679(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0x140) + 0xf0); return; } ############ FUN_ 181a46996 size=19 ############ void Unwind_181a46996(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0x100) + 0xe0); return; } ############ FUN_ 181a46a68 size=19 ############ void Unwind_181a46a68(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0xd0) + 0xe0); return; } ############ FUN_ 181a46df8 size=19 ############ void Unwind_181a46df8(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0xf8) + 0x858); return; } ############ FUN_ 181a46f74 size=19 ############ void Unwind_181a46f74(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0xe8) + 0x118); return; } ############ FUN_ 181a47024 size=19 ############ void Unwind_181a47024(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0xe8) + 0xa28); return; } ############ FUN_ 181a478e2 size=19 ############ void Unwind_181a478e2(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0xa8) + 0xb0); return; } ############ FUN_ 181a47ade size=19 ############ void Unwind_181a47ade(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0xe0) + 0x200); return; } ############ FUN_ 181a47b80 size=19 ############ void Unwind_181a47b80(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0xf0) + 0x200); return; } ############ FUN_ 181a48bd8 size=19 ############ void Unwind_181a48bd8(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0x138) + 0x118); return; } ############ FUN_ 181a49b97 size=19 ############ void Unwind_181a49b97(undefined8 param_1,longlong param_2) { _guard_check_icall(*(longlong *)(param_2 + 0x1f8) + 0x2a0); return; } ############ FUN_ 181a26450 size=68 ############ void Catch_All_181a26450(undefined8 param_1,longlong param_2) { undefined8 uVar1; _guard_check_icall(*(undefined8 *)(param_2 + 0x70),*(undefined8 *)(param_2 + 0x20), *(undefined8 *)(param_2 + 0x78)); uVar1 = FUN_180473130(*(undefined8 *)(param_2 + 0x70)); FUN_1805bd950(uVar1,*(undefined8 *)(param_2 + 0x28),*(undefined8 *)(param_2 + 0x88)); /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } ############ FUN_ 180523910 size=949 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180523910(undefined8 *param_1,undefined8 *param_2) { undefined8 *puVar1; undefined8 *puVar2; int iVar3; undefined8 uVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; longlong *plVar8; undefined1 auStack_118 [32]; longlong *local_f8; undefined1 local_f0 [8]; longlong *local_e8; undefined1 local_e0 [8]; longlong **local_d8; longlong **local_d0; longlong *local_c8; undefined1 local_c0 [8]; longlong *local_b8; undefined1 local_b0 [8]; longlong *local_a8; undefined1 local_a0 [8]; longlong *local_98; undefined1 local_90 [8]; longlong **local_88; longlong **local_80; longlong *local_78; undefined1 local_70 [8]; longlong *local_68; undefined1 local_60 [8]; undefined8 local_58; longlong **local_50; longlong **local_48; longlong *local_40; undefined8 local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_118; if ((param_1 != param_2) && (puVar6 = param_1 + 2, puVar6 != param_2)) { local_50 = &local_b8; local_48 = &local_c8; do { local_40 = (longlong *)*puVar6; local_38 = puVar6[1]; *puVar6 = &PTR_vftable_18262b558; local_d0 = &local_b8; local_b8 = (longlong *)*param_1; (**(code **)(*local_b8 + 0xb8))(local_b8,local_b0,param_1 + 1); local_c8 = local_40; (**(code **)(*local_40 + 0xb8))(local_40,local_c0,&local_38); local_d0 = &local_78; local_78 = local_b8; (**(code **)(*local_b8 + 0xb8))(local_b8,local_70,local_b0); local_68 = local_c8; (**(code **)(*local_c8 + 0xb8))(local_c8,local_60,local_c0); iVar3 = FUN_180500180(&local_68,&local_78); (**(code **)(*local_c8 + 0xb0))(local_c8,local_c0); (**(code **)(*local_b8 + 0xb0))(local_b8,local_b0); if (iVar3 < 0) { if (puVar6 != param_1) { puVar5 = puVar6 + -1; puVar7 = puVar6 + 2; do { puVar2 = puVar7 + -2; uVar4 = *puVar2; *puVar2 = puVar5[-1]; puVar5[-1] = uVar4; uVar4 = puVar7[-1]; puVar7[-1] = *puVar5; *puVar5 = uVar4; puVar1 = puVar5 + -1; puVar5 = puVar5 + -2; puVar7 = puVar2; } while (puVar1 != param_1); } plVar8 = (longlong *)*param_1; *param_1 = local_40; uVar4 = param_1[1]; param_1[1] = local_38; } else { local_d8 = &local_e8; local_e8 = (longlong *)puVar6[-2]; (**(code **)(*local_e8 + 0xb8))(local_e8,local_e0,puVar6 + -1); local_88 = &local_e8; local_f8 = local_40; (**(code **)(*local_40 + 0xb8))(local_40,local_f0,&local_38); local_80 = &local_f8; local_d0 = &local_a8; local_a8 = local_e8; (**(code **)(*local_e8 + 0xb8))(local_e8,local_a0,local_e0); local_98 = local_f8; (**(code **)(*local_f8 + 0xb8))(local_f8,local_90,local_f0); iVar3 = FUN_180500180(&local_98,&local_a8); (**(code **)(*local_f8 + 0xb0))(local_f8,local_f0); (**(code **)(*local_e8 + 0xb0))(local_e8,local_e0); puVar5 = puVar6; if (iVar3 < 0) { local_88 = &local_e8; local_80 = &local_f8; puVar7 = puVar6; puVar2 = puVar6 + -2; do { puVar5 = puVar2; uVar4 = *puVar7; *puVar7 = *puVar5; *puVar5 = uVar4; uVar4 = puVar7[1]; puVar7[1] = puVar5[1]; puVar5[1] = uVar4; local_d8 = &local_e8; local_e8 = (longlong *)puVar5[-2]; (**(code **)(*local_e8 + 0xb8))(local_e8,local_e0,puVar5 + -1); local_f8 = local_40; (**(code **)(*local_40 + 0xb8))(local_40,local_f0,&local_38); local_d0 = &local_a8; local_a8 = local_e8; (**(code **)(*local_e8 + 0xb8))(local_e8,local_a0,local_e0); local_98 = local_f8; (**(code **)(*local_f8 + 0xb8))(local_f8,local_90,local_f0); iVar3 = FUN_180500180(&local_98,&local_a8); (**(code **)(*local_f8 + 0xb0))(local_f8,local_f0); (**(code **)(*local_e8 + 0xb0))(local_e8,local_e0); puVar7 = puVar5; puVar2 = puVar5 + -2; } while (iVar3 < 0); } plVar8 = (longlong *)*puVar5; *puVar5 = local_40; uVar4 = puVar5[1]; puVar5[1] = local_38; } local_40 = plVar8; local_38 = uVar4; (**(code **)(*plVar8 + 0xb0))(plVar8,&local_38); puVar6 = puVar6 + 2; } while (puVar6 != param_2); } } ############ FUN_ 181243cd0 size=405 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181243cd0(longlong *param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; uint uVar2; longlong *plVar3; char cVar4; int iVar5; uint *_Memory; longlong *plVar6; undefined1 auStack_68 [32]; undefined8 local_48; longlong local_40; longlong local_38; undefined1 *local_30; undefined **local_28; longlong local_20; ulonglong local_18; local_48 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; plVar6 = (longlong *)*param_1; plVar1 = plVar6 + (longlong)*(int *)((longlong)param_1 + 0xc) * 3; if (plVar6 != plVar1) { local_40 = *param_2; do { local_38 = *plVar6; if (local_38 == local_40) { plVar1 = plVar6 + 1; if (plVar1 != (longlong *)0x0) { plVar3 = (longlong *)*plVar1; if ((plVar3 == (longlong *)*param_3) && (cVar4 = (**(code **)(*plVar3 + 0xc0))(plVar3,plVar6 + 2,param_3 + 1), cVar4 != '\0')) { } FUN_181246290(plVar1,param_3); } break; } plVar6 = plVar6 + 3; } while (plVar6 != plVar1); } local_30 = (undefined1 *)*param_2; if ((*(uint *)((longlong)local_30 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)((longlong)local_30 + -0x10) = *(int *)((longlong)local_30 + -0x10) + 1; UNLOCK(); } local_28 = (undefined **)*param_3; (**(code **)((longlong)*local_28 + 0xb8))(local_28,&local_20,param_3 + 1); iVar5 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar5) { FUN_18049b620(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar5 / 2 & 0xfffffff8); } iVar5 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar5 + 1; plVar1 = (longlong *)(*param_1 + (longlong)iVar5 * 0x18); *plVar1 = (longlong)local_30; local_30 = &DAT_1821dbf98; plVar1[1] = (longlong)local_28; plVar1[2] = local_20; local_28 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_20); _Memory = (uint *)(local_30 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 181243e80 size=400 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181243e80(longlong *param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; uint uVar2; longlong *plVar3; longlong lVar4; char cVar5; int iVar6; uint *_Memory; longlong *plVar7; undefined1 auStack_58 [32]; longlong local_38; longlong local_30; undefined1 *local_28; undefined **local_20; longlong local_18; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; plVar7 = (longlong *)*param_1; plVar1 = plVar7 + (longlong)*(int *)((longlong)param_1 + 0xc) * 3; if (plVar7 != plVar1) { local_38 = *param_2; do { local_30 = *plVar7; if (local_30 == local_38) { plVar1 = plVar7 + 1; if (plVar1 != (longlong *)0x0) { plVar3 = (longlong *)*plVar1; if ((plVar3 == (longlong *)*param_3) && (cVar5 = (**(code **)(*plVar3 + 0xc0))(plVar3,plVar7 + 2,param_3 + 1), cVar5 != '\0')) { } lVar4 = *plVar1; *plVar1 = *param_3; *param_3 = lVar4; lVar4 = plVar7[2]; plVar7[2] = param_3[1]; param_3[1] = lVar4; } break; } plVar7 = plVar7 + 3; } while (plVar7 != plVar1); } local_28 = (undefined1 *)*param_2; if ((*(uint *)((longlong)local_28 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)((longlong)local_28 + -0x10) = *(int *)((longlong)local_28 + -0x10) + 1; UNLOCK(); } local_20 = (undefined **)*param_3; *param_3 = (longlong)&PTR_vftable_18262b558; iVar6 = *(int *)((longlong)param_1 + 0xc) + 1; local_18 = param_3[1]; if ((int)param_1[1] < iVar6) { FUN_18049b620(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar6 / 2 & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar6 + 1; plVar1 = (longlong *)(*param_1 + (longlong)iVar6 * 0x18); *plVar1 = (longlong)local_28; local_28 = &DAT_1821dbf98; plVar1[1] = (longlong)local_20; plVar1[2] = local_18; local_20 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_18); _Memory = (uint *)(local_28 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 180533240 size=186 ############ void FUN_180533240(longlong *param_1) { void *_Dst; void *_Memory; int iVar1; longlong lVar2; longlong lVar3; iVar1 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar1) { lVar2 = (longlong)iVar1 * 8; lVar3 = lVar2; do { _Memory = *(void **)(lVar3 + *param_1); _Dst = (void *)(lVar2 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar1) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { _eh_vector_destructor_iterator_(_Memory,0x80,0x10,_guard_check_icall); /* WARNING: Subroutine does not return */ free(_Memory); } lVar2 = lVar2 + -8; lVar3 = lVar3 + -8; iVar1 = iVar1 + -1; } while (-1 < iVar1); } return; } ############ FUN_ 181352cf0 size=325 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181352cf0(longlong *param_1,longlong *param_2,longlong *param_3,longlong *param_4) { longlong *plVar1; longlong lVar2; bool bVar3; bool bVar4; longlong **pplVar5; longlong *plVar6; undefined1 auStack_68 [32]; undefined4 local_48; undefined8 local_40; longlong *local_38; undefined1 local_30 [8]; longlong *local_28; undefined1 local_20 [8]; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_48 = 0; lVar2 = *param_1; if (lVar2 == 0) { local_28 = (longlong *)*param_4; local_38 = param_2; (**(code **)(*local_28 + 0xb8))(local_28,local_20,param_4 + 1); pplVar5 = &local_28; bVar4 = true; bVar3 = false; } else { plVar6 = *(longlong **)(lVar2 + 0x18); plVar1 = plVar6 + (longlong)*(int *)(lVar2 + 0x24) * 3; if (plVar6 != plVar1) { do { if (*plVar6 == *param_3) { plVar6 = plVar6 + 1; if (plVar6 != (longlong *)0x0) { local_38 = (longlong *)*plVar6; goto LAB_181352d9e; } break; } plVar6 = plVar6 + 3; } while (plVar6 != plVar1); } local_38 = (longlong *)*param_4; plVar6 = param_4; LAB_181352d9e: (**(code **)(*local_38 + 0xb8))(local_38,local_30,plVar6 + 1); pplVar5 = &local_38; bVar4 = false; bVar3 = true; } *param_2 = (longlong)*pplVar5; param_2[1] = (longlong)pplVar5[1]; *pplVar5 = (longlong *)&PTR_vftable_18262b558; if (bVar3) { (**(code **)(*local_38 + 0xb0))(local_38,local_30); } if (bVar4) { (**(code **)(*local_28 + 0xb0))(local_28,local_20); } } ############ FUN_ 181202350 size=207 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181202350(LPCRITICAL_SECTION param_1,longlong param_2,undefined8 param_3) { uint uVar1; undefined8 uVar2; uint *_Memory; undefined1 auStack_58 [32]; longlong local_38 [2]; LPCRITICAL_SECTION local_28; undefined **local_20; undefined1 local_18 [8]; ulonglong local_10; local_38[1] = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; local_38[0] = param_2; local_28 = param_1; EnterCriticalSection(param_1); uVar2 = FUN_18122bf10(); FUN_18122c480(uVar2,local_38,param_3); local_20 = &PTR_vftable_18262b558; FUN_181352cf0(¶m_1[2].LockCount,param_2,local_38,&local_20); (**(code **)(*local_20 + 0xb0))(local_20,local_18); _Memory = (uint *)(local_38[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } LeaveCriticalSection(param_1); } ############ FUN_ 1815703f0 size=607 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018157046e) */ void FUN_1815703f0(longlong param_1) { int iVar1; undefined8 uVar2; longlong *plVar3; int iVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined1 auStack_68 [32]; undefined8 local_48; undefined **local_40; int local_38 [2]; undefined **local_30; undefined1 local_28 [8]; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_68; if (*(int *)(param_1 + 0x1bc) == 0) { local_30 = &PTR_vftable_18262b558; (**(code **)(*(longlong *)(param_1 + 0x2e8) + 0x18))((longlong *)(param_1 + 0x2e8),&local_30); } else { if (*(int *)(param_1 + 0x1bc) == 1) { uVar2 = **(undefined8 **)(param_1 + 0x1b0); local_38[0] = FUN_1815761a0(param_1,uVar2); if (local_38[0] < 0) { } FUN_181570670(param_1,uVar2); local_30 = &PTR_vftable_18262b558; local_40 = &PTR_vftable_18262b570; plVar3 = (longlong *)FUN_181227270(&local_30); iVar4 = *(int *)((longlong)plVar3 + 0xc) + 1; if ((int)plVar3[1] < iVar4) { FUN_180489a50(plVar3,*(int *)((longlong)plVar3 + 0xc) + 9 + iVar4 / 2 & 0xfffffff8); } iVar4 = *(int *)((longlong)plVar3 + 0xc); *(int *)((longlong)plVar3 + 0xc) = iVar4 + 1; puVar5 = (undefined8 *)((longlong)iVar4 * 0x10 + *plVar3); *puVar5 = local_40; (**(code **)(*local_40 + 0xb8))(local_40,puVar5 + 1,local_38); (**(code **)(*local_40 + 0xb0))(local_40,local_38); local_40 = local_30; (**(code **)(*local_30 + 0xb8))(local_30,local_38,local_28); (**(code **)(*(longlong *)(param_1 + 0x2e8) + 0x18))((longlong *)(param_1 + 0x2e8),&local_40); } else { local_30 = &PTR_vftable_18262b558; puVar7 = *(undefined8 **)(param_1 + 0x1b0); puVar5 = puVar7 + *(int *)(param_1 + 0x1bc); for (; puVar7 != puVar5; puVar7 = puVar7 + 1) { local_38[0] = FUN_1815761a0(param_1,*puVar7); local_40 = &PTR_vftable_18262b570; plVar3 = (longlong *)FUN_181227270(&local_30); iVar1 = *(int *)((longlong)plVar3 + 0xc); iVar4 = iVar1 + 1; if ((int)plVar3[1] < iVar4) { if (iVar4 < 0) { iVar4 = iVar1 + 2; } FUN_180489a50(plVar3,(iVar4 >> 1) + iVar1 + 9 & 0xfffffff8); } iVar4 = *(int *)((longlong)plVar3 + 0xc); *(int *)((longlong)plVar3 + 0xc) = iVar4 + 1; puVar6 = (undefined8 *)((longlong)iVar4 * 0x10 + *plVar3); *puVar6 = local_40; (**(code **)(*local_40 + 0xb8))(local_40,puVar6 + 1,local_38); (**(code **)(*local_40 + 0xb0))(local_40,local_38); } local_40 = local_30; (**(code **)(*local_30 + 0xb8))(local_30,local_38,local_28); (**(code **)(*(longlong *)(param_1 + 0x2e8) + 0x18))((longlong *)(param_1 + 0x2e8),&local_40); } (**(code **)(*local_30 + 0xb0))(local_30,local_28); } } ############ FUN_ 181320530 size=983 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181320530(longlong *param_1) { LPCRITICAL_SECTION p_Var1; longlong *plVar2; longlong *plVar3; uint uVar4; undefined1 uVar5; undefined8 *puVar6; undefined8 *puVar7; longlong lVar8; uint *puVar9; longlong *plVar10; longlong *plVar11; longlong lVar12; uint uVar13; undefined1 auStack_f8 [32]; undefined4 local_d8; undefined4 local_c8; longlong local_c0; longlong *local_b8; undefined8 local_b0; longlong local_a8; char *local_a0; longlong local_98; undefined8 *local_90; char *local_88; LPCRITICAL_SECTION local_80; undefined8 local_78; LPCRITICAL_SECTION local_70; longlong local_68; undefined **local_60; undefined1 local_58 [8]; undefined **local_50; longlong local_48; undefined **local_40; undefined8 local_38; ulonglong local_30; local_78 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_f8; if ((int)param_1[0x17] == 1) { } *(undefined4 *)(param_1 + 0x17) = 1; uVar13 = *(int *)((longlong)param_1 + 0x4c) - 1; lVar12 = (longlong)(int)uVar13; if (-1 < (int)uVar13) { do { lVar8 = 0; if (uVar13 < *(uint *)((longlong)param_1 + 0x4c)) { lVar8 = *(longlong *)(param_1[8] + lVar12 * 8); } local_d8 = 0; puVar6 = (undefined8 *) __RTDynamicCast(lVar8,0,&juce::Component::RTTI_Type_Descriptor, &juce::MultiDocumentPanelWindow::RTTI_Type_Descriptor); local_90 = puVar6; if (puVar6 != (undefined8 *)0x0) { puVar7 = (undefined8 *)FUN_1812cdd10(puVar6,&local_98); local_40 = &PTR_vftable_18262b560; local_38 = *puVar7; *puVar7 = &DAT_1821dbf98; lVar8 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_70 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar8); local_a0 = "mdiDocumentPos_"; FUN_181211b90(&local_c0,lVar8,&local_a0); LeaveCriticalSection(p_Var1); lVar8 = 0; if (puVar6[0x1a] != 0) { lVar8 = *(longlong *)(puVar6[0x1a] + 0x10); } FUN_181243e80(lVar8 + 0x90,&local_c0,&local_40); puVar9 = (uint *)(local_c0 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } (**(code **)(*local_40 + 0xb0))(); puVar6 = local_90; puVar9 = (uint *)(local_98 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_1812cf790(local_90); } if (puVar6 != (undefined8 *)0x0) { (**(code **)*puVar6)(puVar6); } uVar13 = uVar13 - 1; lVar12 = lVar12 + -1; } while (-1 < lVar12); } (**(code **)(*param_1 + 0x108))(param_1); local_b8 = (longlong *)0x0; local_b0 = 0; FUN_18051fcc0(&local_b8,param_1[0x18],*(undefined4 *)((longlong)param_1 + 0xcc)); *(undefined4 *)((longlong)param_1 + 0xcc) = 0; if ((int)param_1[0x19] != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0x18]); } *(undefined4 *)(param_1 + 0x19) = 0; plVar2 = local_b8 + local_b0._4_4_; if (local_b8 != plVar2) { local_88 = "mdiDocumentBkg_"; plVar10 = local_b8; do { lVar12 = *plVar10; local_50 = &PTR_vftable_18262b570; local_48._0_4_ = DAT_18262b5a8; lVar8 = FUN_18122bf10(); p_Var1 = (LPCRITICAL_SECTION)(lVar8 + 0x10); local_80 = p_Var1; EnterCriticalSection(p_Var1); FUN_18122c130(lVar8); FUN_181211b90(&local_a8,lVar8,&local_88); LeaveCriticalSection(p_Var1); lVar8 = local_a8; plVar11 = *(longlong **)(lVar12 + 0x90); plVar3 = plVar11 + (longlong)*(int *)(lVar12 + 0x9c) * 3; for (; plVar11 != plVar3; plVar11 = plVar11 + 3) { local_68 = *plVar11; if (local_68 == local_a8) { if (plVar11 + 1 != (longlong *)0x0) { local_60 = (undefined **)plVar11[1]; plVar11 = plVar11 + 2; goto LAB_181320836; } break; } } plVar11 = &local_48; local_60 = local_50; LAB_181320836: (**(code **)(*local_60 + 0xb8))(local_60,local_58,plVar11); local_c8 = (**(code **)(*local_60 + 8))(local_60,local_58); uVar5 = FUN_181321a10(lVar12); FUN_1813210c0(param_1,lVar12,local_c8,uVar5); (**(code **)(*local_60 + 0xb0))(local_60,local_58); puVar9 = (uint *)(lVar8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar13 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar13 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } (**(code **)(*local_50 + 0xb0))(local_50,&local_48); plVar10 = plVar10 + 1; } while (plVar10 != plVar2); } /* WARNING: Subroutine does not return */ free(local_b8); } ############ FUN_ 181270700 size=2200 ############ void FUN_181270700(undefined8 param_1,longlong *param_2,longlong *param_3) { int *piVar1; LPCRITICAL_SECTION lpCriticalSection; uint uVar2; undefined1 uVar3; undefined1 uVar4; undefined1 *puVar5; uint uVar6; char cVar7; int iVar8; undefined8 *puVar9; longlong lVar10; undefined1 *puVar11; void *pvVar12; uint *_Memory; int iVar13; int iVar14; undefined1 auStack_478 [32]; uint local_458; undefined1 local_450; char local_448 [4]; undefined4 local_444; int local_440 [2]; longlong local_438; undefined8 *local_430; char *local_428 [2]; undefined **local_418 [2]; void **local_408; void *local_400 [2]; void *local_3f0; void *local_3e0; undefined **local_3c8; undefined8 *local_3c0; longlong *local_3b8; longlong local_3b0; int local_3a4; int local_3a0; undefined4 local_39c; undefined4 local_398; undefined8 *local_390; undefined8 local_388; longlong *local_380; LPCRITICAL_SECTION local_378; code **local_368; undefined8 *local_360; undefined8 *local_358; char *local_350; char local_348; int local_344; longlong *local_340; undefined4 local_328; char local_310; int local_2f4; uint local_2f0; uint local_2d0; undefined4 local_2cc; undefined4 local_2c4; undefined8 local_1f8; int local_1e4; undefined8 *local_168; longlong local_160; undefined8 *local_148; undefined **local_108; undefined1 local_100; code *local_f8; code *local_f0; code *local_e8; undefined *local_e0; code *local_d8; ulonglong local_48; local_388 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_478; local_444 = 0; local_3b8 = param_3; local_380 = param_2; FUN_18124a4b0(local_418,0x100); (*(code *)local_418[0][0x15])(local_418,param_3,0xffffffffffffffff); *param_2 = 0; local_444 = 1; if (local_3e0 < (void *)0x11) goto LAB_181270f62; memset(&local_f8,0,0xa8); local_f8 = FUN_181271280; local_f0 = FUN_181271260; local_e8 = FUN_181271270; local_e0 = &DAT_181271250; local_d8 = FUN_181271270; local_368 = &local_f8; FUN_181283700(&local_368); local_340 = (longlong *)(*(code *)*local_360)(&local_368,0,0x38); local_448[0] = '\0'; local_350 = local_448; local_340[2] = (longlong)FUN_1812711e0; local_340[3] = (longlong)&LAB_1812711a0; local_340[4] = (longlong)&LAB_1812711b0; local_340[5] = (longlong)FUN_18127c920; local_340[6] = (longlong)FUN_1812711e0; pvVar12 = local_3f0; if (local_408 != (void **)0x0) { if (local_3e0 < local_408[1]) { *(undefined1 *)((longlong)local_3e0 + (longlong)*local_408) = 0; } pvVar12 = *local_408; } *local_340 = (longlong)pvVar12; local_340[1] = (longlong)local_3e0; if (1 < local_344 - 200U) { *(undefined4 *)(local_368 + 5) = 0x14; *(int *)((longlong)local_368 + 0x2c) = local_344; (**local_368)(&local_368); } iVar8 = 0; switch(local_344) { case 200: (*(code *)local_148[1])(&local_368); (*(code *)local_340[2])(&local_368); local_344 = 0xc9; case 0xc9: iVar8 = (*(code *)*local_148)(&local_368); if (iVar8 == 1) { FUN_181283500(&local_368); local_344 = 0xca; } break; case 0xca: iVar8 = 1; break; case 0xcb: case 0xcc: case 0xcd: case 0xce: case 0xcf: case 0xd0: case 0xd2: iVar8 = (*(code *)*local_148)(&local_368); break; default: *(undefined4 *)(local_368 + 5) = 0x14; *(int *)((longlong)local_368 + 0x2c) = local_344; (**local_368)(&local_368); } if ((iVar8 != 1) && (iVar8 == 2)) { *(undefined4 *)(local_368 + 5) = 0x33; (**local_368)(&local_368); if (local_360 != (undefined8 *)0x0) { (*(code *)local_360[9])(&local_368,1); if (local_348 == '\0') { local_344 = 100; } else { local_344 = 200; local_1f8 = 0; } } } if ((local_448[0] == '\0') && (FUN_18127c480(&local_368), uVar6 = local_2f0, local_448[0] == '\0') ) { local_328 = 2; puVar9 = (undefined8 *)(*(code *)local_360[2])(&local_368,1,local_2f4 * 3,1); if (local_344 == 0xca) { local_168 = (undefined8 *)(*(code *)*local_360)(&local_368,1,0x30); *local_168 = FUN_18127ba50; local_168[1] = FUN_18127ba20; *(undefined1 *)(local_168 + 2) = 0; FUN_18127bbc0(&local_368); if (local_310 == '\0') { local_344 = 0xcb; LAB_181270a6d: if (*(char *)(local_148 + 4) != '\0') { do { if (local_358 != (undefined8 *)0x0) { (*(code *)*local_358)(&local_368); } do { iVar8 = (*(code *)*local_148)(&local_368); if (iVar8 == 0) goto LAB_181270f51; if (iVar8 == 2) goto LAB_181270ad3; } while (local_358 == (undefined8 *)0x0); if ((iVar8 - 1U & 0xfffffffd) == 0) { *(int *)(local_358 + 1) = *(int *)(local_358 + 1) + 1; if (*(int *)((longlong)local_358 + 0xc) <= *(int *)(local_358 + 1)) { *(int *)((longlong)local_358 + 0xc) = *(int *)((longlong)local_358 + 0xc) + local_1e4; } } } while( true ); } LAB_181270ad3: local_2c4 = local_2cc; goto LAB_181270b08; } local_344 = 0xcf; } else { if (local_344 == 0xcb) goto LAB_181270a6d; if (local_344 != 0xcc) { *(undefined4 *)(local_368 + 5) = 0x14; *(int *)((longlong)local_368 + 0x2c) = local_344; (**local_368)(&local_368); } LAB_181270b08: cVar7 = FUN_1812839f0(&local_368); if (cVar7 == '\0') goto LAB_181270f51; } if (local_448[0] == '\0') { local_3c8 = juce::NativeImageType::vftable; local_450 = 0; local_458 = uVar6; (*(code *)PTR_FUN_1824988f0)(&local_3c8,&local_430,1,local_2f4); local_3c0 = (undefined8 *)*param_2; *param_2 = (longlong)local_430; local_430 = local_3c0; if (local_3c0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_3c0 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_3c0)(local_3c0,1); } } local_108 = &PTR_vftable_18262b550; local_100 = 0; lVar10 = FUN_18122bf10(); lpCriticalSection = (LPCRITICAL_SECTION)(lVar10 + 0x10); local_378 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); FUN_18122c130(lVar10); local_428[0] = "originalImageHadAlpha"; FUN_181211b90(&local_438,lVar10,local_428); local_444 = 3; LeaveCriticalSection(lpCriticalSection); if (*param_2 == 0) { lVar10 = 0; } else { lVar10 = *param_2 + 0x20; } FUN_181243e80(lVar10,&local_438,&local_108); _Memory = (uint *)(local_438 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*local_108 + 0xb0))(); param_2 = (longlong *)*param_2; if (param_2 != (longlong *)0x0) { iVar8 = (int)param_2[2]; } else { iVar8 = 0; } if (param_2 != (longlong *)0x0) { local_39c = *(undefined4 *)((longlong)param_2 + 0x14); local_398 = (undefined4)param_2[3]; } else { local_39c = 0; local_398 = 0; } local_390 = (undefined8 *)0x0; local_458 = 1; (**(code **)(*param_2 + 0x20))(param_2,&local_3b0,0,0); iVar13 = 0; if (0 < (int)uVar6) { do { if (local_344 != 0xcd) { *(undefined4 *)(local_368 + 5) = 0x14; *(int *)((longlong)local_368 + 0x2c) = local_344; (**local_368)(&local_368); } if (local_2d0 < local_2f0) { if (local_358 != (undefined8 *)0x0) { *(uint *)(local_358 + 1) = local_2d0; *(uint *)((longlong)local_358 + 0xc) = local_2f0; (*(code *)*local_358)(&local_368); } local_440[0] = 0; (**(code **)(local_160 + 8))(&local_368,puVar9,local_440,1); local_2d0 = local_2d0 + local_440[0]; } else { *(undefined4 *)(local_368 + 5) = 0x7b; (*local_368[1])(&local_368,0xffffffff); } if (local_448[0] != '\0') goto LAB_181270ef9; puVar5 = (undefined1 *)*puVar9; puVar11 = (undefined1 *)((longlong)local_3a4 * (longlong)iVar13 + local_3b0); iVar14 = local_2f4 + -1; if (iVar8 == 1) { for (; -1 < iVar14; iVar14 = iVar14 + -1) { uVar3 = puVar5[2]; uVar4 = puVar5[1]; puVar11[2] = *puVar5; puVar11[1] = uVar4; *puVar11 = uVar3; puVar11 = puVar11 + local_3a0; puVar5 = puVar5 + 3; } } else { for (; -1 < iVar14; iVar14 = iVar14 + -1) { uVar3 = puVar5[1]; uVar4 = *puVar5; *puVar11 = puVar5[2]; puVar11[1] = uVar3; puVar11[2] = uVar4; puVar11[3] = 0xff; puVar11 = puVar11 + local_3a0; puVar5 = puVar5 + 3; } } iVar13 = iVar13 + 1; } while (iVar13 < (int)uVar6); } if (local_448[0] == '\0') { if ((local_344 - 0xcdU < 2) && (local_310 == '\0')) { if (local_2d0 < local_2f0) { *(undefined4 *)(local_368 + 5) = 0x43; (**local_368)(&local_368); } (*(code *)local_168[1])(&local_368); local_344 = 0xd2; } else if (local_344 == 0xcf) { local_344 = 0xd2; } else if (local_344 != 0xd2) { *(undefined4 *)(local_368 + 5) = 0x14; *(int *)((longlong)local_368 + 0x2c) = local_344; (**local_368)(&local_368); } cVar7 = *(char *)((longlong)local_148 + 0x21); while (cVar7 == '\0') { iVar8 = (*(code *)*local_148)(&local_368); if (iVar8 == 0) goto LAB_181270ef9; cVar7 = *(char *)((longlong)local_148 + 0x21); } (*(code *)local_340[6])(&local_368); if (local_360 != (undefined8 *)0x0) { (*(code *)local_360[9])(&local_368,1); if (local_348 == '\0') { local_344 = 100; } else { local_344 = 200; local_1f8 = 0; } } } LAB_181270ef9: if (local_408 != (void **)0x0) { if (local_3e0 < local_408[1]) { *(undefined1 *)((longlong)local_3e0 + (longlong)*local_408) = 0; } local_3f0 = *local_408; } (**(code **)(*local_3b8 + 0xb0))(local_3b8,*local_340 - (longlong)local_3f0); if (local_390 != (undefined8 *)0x0) { (**(code **)*local_390)(local_390,1); } } } LAB_181270f51: if (local_360 != (undefined8 *)0x0) { (*(code *)local_360[10])(&local_368); } LAB_181270f62: local_418[0] = juce::MemoryOutputStream::vftable; if ((local_408 != local_400) && (local_408 != (void **)0x0)) { FUN_18124a200(local_408,local_3e0,0); } /* WARNING: Subroutine does not return */ free(local_400[0]); } ############ FUN_ 1804a0710 size=1111 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804a0710(longlong *param_1,longlong *param_2) { int *piVar1; LPCRITICAL_SECTION lpCriticalSection; char cVar2; int iVar3; uint uVar4; longlong lVar5; uint *_Memory; uint uVar6; longlong lVar7; undefined1 auStack_1f8 [32]; uint local_1d8; undefined1 local_1d0; byte local_1c8; byte local_1c7; char local_1c6 [6]; longlong local_1c0; undefined8 *local_1b8; char *local_1b0; undefined **local_1a8; undefined8 *local_1a0; undefined8 local_198; longlong *local_190; LPCRITICAL_SECTION local_188; undefined **local_180; undefined1 local_178 [8]; short local_170; short local_16e; byte local_168 [4]; undefined2 local_164; ushort local_162; byte local_160; byte local_158 [3]; byte local_155; ulonglong local_48; local_198 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1f8; lVar7 = 0; *param_1 = 0; param_1[1] = (longlong)param_2; *(undefined2 *)((longlong)param_1 + 0x514) = 0; *(undefined1 *)((longlong)param_1 + 0x516) = 0; param_1[0xa3] = 0; param_1[0xa4] = 0; param_1[0xa5] = 0; param_1[0xa6] = 0; param_1[0xa7] = 0; *(undefined4 *)(param_1 + 0xa8) = 0; local_190 = param_1; iVar3 = (**(code **)(*param_2 + 0x18))(param_2,&local_170,6); if (((iVar3 == 6) && ((((iVar3 = strncmp("GIF87a",(char *)&local_170,6), iVar3 == 0 || (iVar3 = strncmp("GIF89a",(char *)&local_170,6), iVar3 == 0)) && (iVar3 = (**(code **)(*(longlong *)param_1[1] + 0x18))((longlong *)param_1[1],&local_170,4), iVar3 == 4)) && ((local_170 != 0 && (local_16e != 0)))))) && (iVar3 = (**(code **)(*param_2 + 0x18))(param_2,local_168,3), iVar3 == 3)) { uVar6 = 0xffffffff; if ((char)local_168[0] < '\0') { FUN_1804a0b90(param_1,2 << (local_168[0] & 7)); uVar6 = 0xffffffff; } LAB_1804a0883: do { while( true ) { iVar3 = (**(code **)(*(longlong *)param_1[1] + 0x18))((longlong *)param_1[1],local_168,1); if (iVar3 != 1) { } if (local_168[0] == 0x3b) { } if (local_168[0] == 0x21) break; if (local_168[0] == 0x2c) { iVar3 = (**(code **)(*(longlong *)param_1[1] + 0x18))((longlong *)param_1[1],local_168,9); if (iVar3 != 9) { } if (((char)local_160 < '\0') && (cVar2 = FUN_1804a0b90(param_1,2 << (local_160 & 7)), cVar2 == '\0')) { } local_1a8 = juce::NativeImageType::vftable; local_1d8 = (uint)local_162; local_1d0 = -1 < (int)uVar6; (*(code *)PTR_FUN_1824988f0)(&local_1a8,&local_1b8,(-1 < (int)uVar6) + '\x01',local_164); local_1a0 = (undefined8 *)*param_1; *param_1 = (longlong)local_1b8; local_1b8 = local_1a0; if (local_1a0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_1a0 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_1a0)(local_1a0,1); } } local_180 = &PTR_vftable_18262b550; local_178[0] = -1 < (int)uVar6; lVar5 = FUN_18122bf10(); lpCriticalSection = (LPCRITICAL_SECTION)(lVar5 + 0x10); local_188 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); FUN_18122c130(lVar5); local_1b0 = "originalImageHadAlpha"; FUN_181211b90(&local_1c0,lVar5,&local_1b0); LeaveCriticalSection(lpCriticalSection); if (*param_1 != 0) { lVar7 = *param_1 + 0x20; } FUN_181243e80(lVar7,&local_1c0,&local_180); _Memory = (uint *)(local_1c0 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*local_180 + 0xb0))(local_180,local_178); FUN_1804a12a0(param_1,local_160 >> 6 & 1,uVar6); } } iVar3 = (**(code **)(*(longlong *)param_1[1] + 0x18))((longlong *)param_1[1],local_1c6,1); if (iVar3 != 1) { } if (local_1c6[0] == -7) { iVar3 = (**(code **)(*(longlong *)param_1[1] + 0x18))((longlong *)param_1[1],&local_1c8,1); if ((iVar3 != 1) || ((*(bool *)((longlong)param_1 + 0x514) = local_1c8 == 0, local_1c8 != 0 && (uVar4 = (**(code **)(*(longlong *)param_1[1] + 0x18)) ((longlong *)param_1[1],local_158,local_1c8), uVar4 != local_1c8)))) goto LAB_1804a0883; if ((local_158[0] & 1) != 0) { uVar6 = (uint)local_155; } } do { iVar3 = (**(code **)(*(longlong *)param_1[1] + 0x18))((longlong *)param_1[1],&local_1c7,1); if ((iVar3 != 1) || ((*(bool *)((longlong)param_1 + 0x514) = local_1c7 == 0, local_1c7 != 0 && (uVar4 = (**(code **)(*(longlong *)param_1[1] + 0x18)) ((longlong *)param_1[1],local_158,local_1c7), uVar4 != local_1c7)))) { iVar3 = -1; break; } iVar3 = 0; } while (local_1c7 != 0); } while (-1 < iVar3); } } ############ FUN_ 180727260 size=130 ############ void FUN_180727260(longlong param_1) { HANDLE local_18; undefined8 local_10; local_18 = *(HANDLE *)(param_1 + 0x10); local_10 = *(undefined8 *)(param_1 + 8); WaitForMultipleObjects(2,&local_18,0,0xffffffff); CloseHandle(*(HANDLE *)(param_1 + 0x10)); LOCK(); UNLOCK(); if (DAT_182666a38 != 0) { TerminateThread(*(HANDLE *)(param_1 + 8),0); return; } QueueUserAPC(_guard_check_icall,*(HANDLE *)(param_1 + 8),0); WaitForSingleObject(*(HANDLE *)(param_1 + 8),0xffffffff); return; } ############ FUN_ 1804976b0 size=442 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804976b0(longlong param_1,undefined **param_2,char param_3) { undefined8 uVar1; int iVar2; int iVar3; ulonglong uVar4; undefined8 uVar5; undefined ***pppuVar6; ulonglong uVar7; bool bVar8; undefined *puVar9; undefined1 auStack_88 [32]; undefined4 local_68; undefined **local_60; undefined4 local_58 [2]; undefined **local_50; ulonglong local_48; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_88; uVar5 = *(undefined8 *)(param_1 + 8); local_68 = 0; local_60 = param_2; iVar2 = FUN_180483820(param_1 + 8); uVar1 = *(undefined8 *)(param_1 + 8); uVar7 = (ulonglong)(iVar2 - 0x30); iVar2 = FUN_180483820(param_1 + 8); while (iVar2 - 0x30U < 10) { uVar1 = *(undefined8 *)(param_1 + 8); uVar7 = (longlong)(int)(iVar2 - 0x30U) + uVar7 * 10; iVar2 = FUN_180483820(param_1 + 8); } if ((iVar2 - 0x2eU < 0x38) && ((0x80000000800001U >> ((ulonglong)(iVar2 - 0x2eU) & 0x3f) & 1) != 0)) { *(undefined8 *)(param_1 + 8) = uVar5; puVar9 = (undefined *)FUN_18049bd80(param_1 + 8); if (param_3 != '\0') { puVar9 = (undefined *) CONCAT44((uint)((ulonglong)puVar9 >> 0x20) ^ DAT_1824c4f20._4_4_, (uint)puVar9 ^ (uint)DAT_1824c4f20); } param_2[1] = puVar9; *param_2 = (undefined *)&PTR_vftable_18262b4d8; } else { iVar3 = iswspace((wint_t)iVar2); if (((iVar3 == 0) && (((iVar2 != 0x2c && (iVar2 != 0x7d)) && (iVar2 != 0x5d)))) && (iVar2 != 0)) { uVar5 = FUN_18124a880(&local_60,"Syntax error in number"); /* WARNING: Subroutine does not return */ FUN_180496e50(param_1,uVar5,uVar1); } *(undefined8 *)(param_1 + 8) = uVar1; uVar4 = uVar7; if (param_3 != '\0') { uVar4 = -uVar7; } bVar8 = (uVar7 & 0xffffffff80000000) == 0; if (bVar8) { local_58[0] = (int)uVar4; local_60 = &PTR_vftable_18262b570; pppuVar6 = &local_60; } else { local_48 = uVar4; local_50 = &PTR_vftable_18262b568; pppuVar6 = &local_50; } *param_2 = (undefined *)*pppuVar6; param_2[1] = (undefined *)pppuVar6[1]; *pppuVar6 = &PTR_vftable_18262b558; if (bVar8) { (**(code **)(*local_60 + 0xb0))(local_60,local_58); } else { (**(code **)(*local_50 + 0xb0))(local_50,&local_48); } } } ############ FUN_ 1811376a0 size=153 ############ undefined8 FUN_1811376a0(longlong *param_1,double param_2) { code *pcVar1; double dVar2; double dVar3; dVar2 = 0.0; if (0.0 <= param_2) { dVar2 = param_2; } dVar3 = DAT_1824c4140; if (dVar2 <= DAT_1824c4140) { dVar3 = dVar2; } if (dVar3 == (double)param_1[0x65]) { return 0; } param_1[0x65] = (longlong)dVar3; pcVar1 = *(code **)(*param_1 + 0x50); if (pcVar1 == FUN_18113d640) { if (DAT_182673668 != (longlong *)0x0) { (**(code **)(*DAT_182673668 + 0x28))(DAT_182673668,param_1,1); return 1; } pcVar1 = *(code **)(*param_1 + 0x60); if (pcVar1 != _guard_check_icall) { (*pcVar1)(dVar2,1); return 1; } } else { (*pcVar1)(dVar2,1); } return 1; } ############ FUN_ 181256650 size=712 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181256650(longlong *param_1,char param_2,int param_3,int param_4,longlong param_5) { LPCRITICAL_SECTION lpCriticalSection; byte bVar1; byte bVar2; byte bVar3; longlong lVar4; byte *pbVar5; uint *_Memory; uint uVar6; int iVar7; ulonglong uVar8; ulonglong uVar9; byte *pbVar10; char cVar11; undefined1 auStack_f8 [32]; int local_d8; char local_d0; char local_c8; undefined4 local_c4; longlong local_c0; char *local_b8; undefined **local_b0; longlong local_a8; int local_9c; int local_98; int local_94; int local_90; undefined8 *local_88; undefined8 local_80; longlong *local_78; LPCRITICAL_SECTION local_70; undefined **local_68; undefined1 local_60 [8]; ulonglong local_58; local_80 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_f8; uVar8 = 0; iVar7 = 0; local_c4 = 0; local_b0 = juce::NativeImageType::vftable; local_d8 = param_4; local_d0 = param_2; local_78 = param_1; (*(code *)PTR_FUN_1824988f0)(&local_b0,param_1,(param_2 != '\0') + '\x01',param_3); local_c4 = 1; if (*param_1 != 0) { iVar7 = *(int *)(*param_1 + 0x10); } local_60[0] = iVar7 != 1; local_68 = &PTR_vftable_18262b550; lVar4 = FUN_18122bf10(); lpCriticalSection = (LPCRITICAL_SECTION)(lVar4 + 0x10); local_70 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); FUN_18122c130(lVar4); local_b8 = "originalImageHadAlpha"; FUN_181211b90(&local_c0,lVar4,&local_b8); local_c4 = 3; LeaveCriticalSection(lpCriticalSection); uVar9 = uVar8; if (*param_1 != 0) { uVar9 = *param_1 + 0x20; } FUN_181243e80(uVar9,&local_c0,&local_68); _Memory = (uint *)(local_c0 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar6 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*local_68 + 0xb0))(local_68,local_60); param_1 = (longlong *)*param_1; local_90 = 0; iVar7 = local_90; if (param_1 != (longlong *)0x0) { iVar7 = (int)param_1[2]; } cVar11 = iVar7 != 1; local_94 = local_90; if (param_1 != (longlong *)0x0) { local_94 = *(int *)((longlong)param_1 + 0x14); local_90 = (int)param_1[3]; } local_88 = (undefined8 *)0x0; local_d8 = 1; local_c8 = cVar11; (**(code **)(*param_1 + 0x20))(param_1,&local_a8,0,0); if (0 < (longlong)param_4) { uVar9 = uVar8; do { pbVar10 = *(byte **)(param_5 + uVar9 * 8); pbVar5 = (byte *)((longlong)local_9c * (longlong)(int)uVar8 + local_a8); iVar7 = param_3 + -1; if (cVar11 == '\0') { for (; -1 < iVar7; iVar7 = iVar7 + -1) { bVar1 = pbVar10[2]; bVar2 = pbVar10[1]; pbVar5[2] = *pbVar10; pbVar5[1] = bVar2; *pbVar5 = bVar1; pbVar5 = pbVar5 + local_98; pbVar10 = pbVar10 + 4; } } else { for (; -1 < iVar7; iVar7 = iVar7 + -1) { bVar1 = pbVar10[1]; bVar2 = *pbVar10; bVar3 = pbVar10[3]; *pbVar5 = pbVar10[2]; pbVar5[1] = bVar1; pbVar5[2] = bVar2; pbVar5[3] = bVar3; uVar6 = (uint)bVar3; if (uVar6 < 0xff) { if (bVar3 == 0) { pbVar5[0] = 0; pbVar5[1] = 0; pbVar5[2] = 0; } else { *pbVar5 = (byte)(*pbVar5 * uVar6 + 0x7f >> 8); pbVar5[1] = (byte)(bVar1 * uVar6 + 0x7f >> 8); pbVar5[2] = (byte)(bVar2 * uVar6 + 0x7f >> 8); } } pbVar5 = pbVar5 + local_98; pbVar10 = pbVar10 + 4; cVar11 = local_c8; } } uVar8 = (ulonglong)((int)uVar8 + 1); uVar9 = uVar9 + 1; } while ((longlong)uVar9 < (longlong)param_4); } if (local_88 != (undefined8 *)0x0) { (**(code **)*local_88)(local_88,1); } } ############ FUN_ 1805258f0 size=514 ############ void FUN_1805258f0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 param_4) { undefined8 uVar1; undefined8 uVar2; undefined8 uVar3; char cVar4; undefined1 local_58 [8]; longlong *local_50; undefined8 local_48 [2]; (**(code **)(*(longlong *)*param_1 + 0xb8)) ((longlong *)*param_1,local_58,param_1 + 1,param_4,0xfffffffffffffffe); local_50 = (longlong *)*param_2; (**(code **)(*local_50 + 0xb8))(local_50,local_48,param_2 + 1); cVar4 = FUN_1805244f0(); if (cVar4 != '\0') { uVar1 = *param_2; uVar2 = param_2[1]; *param_2 = &PTR_vftable_18262b558; *param_2 = *param_1; *param_1 = &PTR_vftable_18262b558; uVar3 = param_2[1]; param_2[1] = param_1[1]; param_1[1] = uVar3; local_50 = (longlong *)*param_1; *param_1 = uVar1; local_48[0] = param_1[1]; param_1[1] = uVar2; (**(code **)(*local_50 + 0xb0))(local_50,local_48); } local_50 = (longlong *)*param_2; (**(code **)(*local_50 + 0xb8))(local_50,local_48,param_2 + 1); (**(code **)(*(longlong *)*param_3 + 0xb8))((longlong *)*param_3,local_58,param_3 + 1); cVar4 = FUN_1805244f0(); if (cVar4 != '\0') { uVar1 = *param_3; uVar2 = param_3[1]; *param_3 = &PTR_vftable_18262b558; *param_3 = *param_2; *param_2 = &PTR_vftable_18262b558; uVar3 = param_3[1]; param_3[1] = param_2[1]; param_2[1] = uVar3; local_50 = (longlong *)*param_2; *param_2 = uVar1; local_48[0] = param_2[1]; param_2[1] = uVar2; (**(code **)(*local_50 + 0xb0))(local_50,local_48); local_50 = (longlong *)*param_1; (**(code **)(*local_50 + 0xb8))(local_50,local_48,param_1 + 1); (**(code **)(*(longlong *)*param_2 + 0xb8))((longlong *)*param_2,local_58,param_2 + 1); cVar4 = FUN_1805244f0(); if (cVar4 != '\0') { uVar1 = *param_2; uVar2 = param_2[1]; *param_2 = &PTR_vftable_18262b558; *param_2 = *param_1; *param_1 = &PTR_vftable_18262b558; uVar3 = param_2[1]; param_2[1] = param_1[1]; param_1[1] = uVar3; local_50 = (longlong *)*param_1; *param_1 = uVar1; local_48[0] = param_1[1]; param_1[1] = uVar2; (**(code **)(*local_50 + 0xb0))(local_50,local_48); } } return; } ############ FUN_ 180475900 size=226 ############ undefined8 FUN_180475900(longlong *param_1,double param_2) { undefined1 *puVar1; code *pcVar2; double dVar3; dVar3 = 0.0; if ((0.0 <= param_2) && (dVar3 = DAT_1824c4140, param_2 <= DAT_1824c4140)) { dVar3 = param_2; } if (dVar3 == (double)param_1[0x65]) { return 0; } param_1[0x65] = (longlong)dVar3; if (*(char *)(param_1[0x67] + 0x621c) == '\0') { (**(code **)(*(longlong *)param_1[0x68] + 0x10))((longlong *)param_1[0x68],(float)dVar3); puVar1 = (undefined1 *)FUN_18047c390(); *puVar1 = 1; FUN_1812c3d40(param_1[0x68],(float)dVar3); } pcVar2 = (code *)((undefined **)*param_1)[10]; if ((undefined **)*param_1 == juce::JuceVST3EditController::Param::vftable) { if (DAT_182673668 != (longlong *)0x0) { (**(code **)(*DAT_182673668 + 0x28))(DAT_182673668,param_1,1); return 1; } pcVar2 = (code *)juce::JuceVST3EditController::Param::vftable[0xc]; if ((code *)juce::JuceVST3EditController::Param::vftable[0xc] == _guard_check_icall) { return 0x180471401; } } (*pcVar2)(param_1,1); return 1; } ############ FUN_ 180475e10 size=256 ############ undefined8 FUN_180475e10(longlong *param_1,double param_2) { int iVar1; code *pcVar2; longlong *plVar3; uint uVar4; iVar1 = *(int *)((longlong)param_1 + 0x314); pcVar2 = *(code **)(*(longlong *)param_1[0x67] + 0xc0); if (pcVar2 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { uVar4 = 1; if ((int)((longlong *)param_1[0x67])[1] == 3) { uVar4 = 0x80; } } else { uVar4 = (*pcVar2)(); } plVar3 = DAT_182673668; if ((uVar4 <= (uint)(int)((double)iVar1 * param_2)) || ((double)param_1[0x65] == param_2)) { return 0; } param_1[0x65] = (longlong)param_2; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x28))(plVar3,param_1,1); return 1; } if (*(code **)(*param_1 + 0x60) != _guard_check_icall) { (**(code **)(*param_1 + 0x60))(param_1,1); return 1; } return 0x180471401; } ############ FUN_ 180584d60 size=51 ############ void FUN_180584d60(longlong param_1) { code *pcVar1; if (*(longlong **)(param_1 + 0x38) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } pcVar1 = *(code **)(**(longlong **)(param_1 + 0x38) + 0x10); if (pcVar1 == _guard_check_icall) { return; } (*pcVar1)(); return; } ############ FUN_ 1805245d0 size=2884 ############ void FUN_1805245d0(ulonglong *param_1,longlong **param_2,longlong **param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; longlong *plVar3; int iVar4; longlong **pplVar5; longlong lVar6; longlong **pplVar7; longlong **pplVar8; longlong **pplVar9; longlong **pplVar10; longlong **pplVar11; longlong **pplVar12; longlong **pplVar13; longlong **local_res20; longlong *local_200; undefined1 local_1f8 [8]; longlong *local_1f0; undefined1 local_1e8 [8]; longlong *local_1e0; undefined1 local_1d8 [8]; longlong **local_1d0; longlong **local_1c8; longlong *local_1c0; undefined1 local_1b8 [8]; longlong **local_1b0; longlong *local_1a8; undefined1 local_1a0 [8]; longlong *local_198; undefined1 local_190 [8]; longlong *local_188; undefined1 local_180 [8]; longlong *local_178; undefined1 local_170 [8]; longlong **local_168; longlong **local_160; longlong *local_158; undefined1 local_150 [8]; longlong *local_148; undefined1 local_140 [8]; longlong *local_138; undefined1 local_130 [8]; longlong *local_128; undefined1 local_120 [8]; longlong *local_118; undefined1 local_110 [8]; longlong *local_108; undefined1 local_100 [8]; longlong *local_f8; undefined1 local_f0 [8]; longlong *local_e8; undefined1 local_e0 [8]; longlong *local_d8; undefined1 local_d0 [8]; longlong *local_c8; longlong *local_c0; longlong *local_b8; longlong *local_b0; longlong *local_a8; longlong *local_a0; longlong *local_98; longlong *local_90; longlong *local_88; longlong *local_80; longlong *local_78; longlong *local_70; longlong *local_68; longlong *local_60; undefined8 local_58; local_58 = 0xfffffffffffffffe; pplVar8 = param_2 + ((longlong)param_3 - (longlong)param_2 >> 5) * 2; lVar6 = (longlong)param_3 + (-0x10 - (longlong)param_2) >> 4; if (lVar6 < 0x29) { FUN_1805258f0(param_2,pplVar8,param_3 + -2); } else { lVar6 = lVar6 + 1 >> 3; FUN_1805258f0(param_2,param_2 + lVar6 * 2,param_2 + lVar6 * 4); FUN_1805258f0(pplVar8 + lVar6 * -2,pplVar8,pplVar8 + lVar6 * 2,param_4); pplVar5 = param_3 + -2; FUN_1805258f0(pplVar5 + lVar6 * -4,pplVar5 + lVar6 * -2,pplVar5,param_4); FUN_1805258f0(param_2 + lVar6 * 2,pplVar8,pplVar5 + lVar6 * -2,param_4); } pplVar5 = pplVar8 + 2; pplVar9 = pplVar8; if (param_2 < pplVar8) { local_1b0 = &local_200; local_168 = &local_1c0; while( true ) { local_1d0 = &local_200; local_200 = *pplVar9; (**(code **)(*local_200 + 0xb8))(local_200,local_1f8,pplVar9 + 1); pplVar7 = pplVar9 + -2; local_1c0 = *pplVar7; (**(code **)(*local_1c0 + 0xb8))(local_1c0,local_1b8,pplVar9 + -1); local_178 = local_200; (**(code **)(*local_200 + 0xb8))(local_200,local_170,local_1f8); local_188 = local_1c0; (**(code **)(*local_1c0 + 0xb8))(local_1c0,local_180,local_1b8); iVar4 = FUN_180500180(&local_188,&local_178); (**(code **)(*local_1c0 + 0xb0))(local_1c0,local_1b8); (**(code **)(*local_200 + 0xb0))(local_200,local_1f8); if (iVar4 < 0) break; local_1e0 = *pplVar7; (**(code **)(*local_1e0 + 0xb8))(local_1e0,local_1d8,pplVar9 + -1); local_1d0 = &local_1e0; local_1f0 = *pplVar9; (**(code **)(*local_1f0 + 0xb8))(local_1f0,local_1e8,pplVar9 + 1); local_1c8 = &local_198; local_198 = local_1e0; (**(code **)(*local_1e0 + 0xb8))(local_1e0,local_190,local_1d8); local_1a8 = local_1f0; (**(code **)(*local_1f0 + 0xb8))(local_1f0,local_1a0,local_1e8); iVar4 = FUN_180500180(&local_1a8,&local_198); (**(code **)(*local_1f0 + 0xb0))(local_1f0,local_1e8); (**(code **)(*local_1e0 + 0xb0))(local_1e0,local_1d8); if ((iVar4 < 0) || (pplVar9 = pplVar7, pplVar7 <= param_2)) break; } } pplVar7 = pplVar5; pplVar12 = pplVar9; local_res20 = pplVar5; pplVar10 = pplVar5; pplVar13 = pplVar9; if (pplVar5 < param_3) { local_160 = &local_1e0; pplVar8 = pplVar8 + 3; do { local_1c8 = &local_1f0; local_1f0 = *pplVar9; (**(code **)(*local_1f0 + 0xb8))(local_1f0,local_1e8,pplVar9 + 1); local_1e0 = *pplVar5; (**(code **)(*local_1e0 + 0xb8))(local_1e0,local_1d8,pplVar8); local_1c8 = &local_178; local_178 = local_1f0; (**(code **)(*local_1f0 + 0xb8))(local_1f0,local_170,local_1e8); local_188 = local_1e0; (**(code **)(*local_1e0 + 0xb8))(local_1e0,local_180,local_1d8); iVar4 = FUN_180500180(&local_188,&local_178); (**(code **)(*local_1e0 + 0xb0))(local_1e0,local_1d8); (**(code **)(*local_1f0 + 0xb0))(local_1f0,local_1e8); pplVar7 = pplVar5; local_res20 = pplVar5; pplVar10 = pplVar5; if (iVar4 < 0) break; local_1c8 = &local_1c0; local_1c0 = *pplVar5; (**(code **)(*local_1c0 + 0xb8))(local_1c0,local_1b8,pplVar8); local_200 = *pplVar9; (**(code **)(*local_200 + 0xb8))(local_200,local_1f8,pplVar9 + 1); local_1c8 = &local_200; local_1d0 = &local_198; local_198 = local_1c0; (**(code **)(*local_1c0 + 0xb8))(local_1c0,local_190,local_1b8); local_1a8 = local_200; (**(code **)(*local_200 + 0xb8))(local_200,local_1a0,local_1f8); iVar4 = FUN_180500180(&local_1a8,&local_198); (**(code **)(*local_200 + 0xb0))(local_200,local_1f8); (**(code **)(*local_1c0 + 0xb0))(local_1c0,local_1b8); if (iVar4 < 0) break; pplVar5 = pplVar5 + 2; pplVar8 = pplVar8 + 2; pplVar7 = pplVar5; local_res20 = pplVar5; pplVar10 = pplVar5; } while (pplVar5 < param_3); } do { local_168 = pplVar13; local_1b0 = pplVar10; pplVar8 = local_1b0; if (pplVar5 < param_3) { local_160 = &local_1e0; do { local_1c8 = &local_1f0; local_1f0 = *pplVar5; (**(code **)(*local_1f0 + 0xb8))(local_1f0,local_1e8,pplVar5 + 1); local_1e0 = *pplVar9; (**(code **)(*local_1e0 + 0xb8))(local_1e0,local_1d8,pplVar9 + 1); local_1c8 = &local_148; local_148 = local_1f0; (**(code **)(*local_1f0 + 0xb8))(local_1f0,local_140,local_1e8); local_138 = local_1e0; (**(code **)(*local_1e0 + 0xb8))(local_1e0,local_130,local_1d8); iVar4 = FUN_180500180(&local_138,&local_148); (**(code **)(*local_1e0 + 0xb0))(local_1e0,local_1d8); (**(code **)(*local_1f0 + 0xb0))(local_1f0,local_1e8); if (-1 < iVar4) { local_1c8 = &local_158; local_158 = *pplVar9; (**(code **)(*local_158 + 0xb8))(local_158,local_150,pplVar9 + 1); local_200 = *pplVar5; (**(code **)(*local_200 + 0xb8))(local_200,local_1f8,pplVar5 + 1); local_1c8 = &local_200; local_128 = local_158; local_1d0 = &local_128; (**(code **)(*local_158 + 0xb8))(local_158,local_120,local_150); local_118 = local_200; (**(code **)(*local_200 + 0xb8))(local_200,local_110,local_1f8); iVar4 = FUN_180500180(&local_118,&local_128); (**(code **)(*local_200 + 0xb0))(local_200,local_1f8); (**(code **)(*local_158 + 0xb0))(local_158,local_150); pplVar12 = local_168; local_res20 = pplVar7; pplVar8 = pplVar5; if (iVar4 < 0) break; if (pplVar7 != pplVar5) { plVar1 = *pplVar7; plVar2 = pplVar7[1]; *pplVar7 = (longlong *)&PTR_vftable_18262b558; *pplVar7 = *pplVar5; *pplVar5 = (longlong *)&PTR_vftable_18262b558; plVar3 = pplVar7[1]; pplVar7[1] = pplVar5[1]; pplVar5[1] = plVar3; local_c8 = *pplVar5; *pplVar5 = plVar1; local_c0 = pplVar5[1]; pplVar5[1] = plVar2; (**(code **)(*local_c8 + 0xb0))(local_c8,&local_c0); } pplVar7 = pplVar7 + 2; } pplVar5 = pplVar5 + 2; pplVar12 = local_168; local_res20 = pplVar7; pplVar8 = pplVar5; } while (pplVar5 < param_3); } local_1b0 = pplVar8; pplVar8 = pplVar7; pplVar10 = pplVar9; pplVar7 = local_168; if (param_2 < pplVar12) { local_160 = &local_198; local_1c8 = &local_1a8; pplVar13 = pplVar12; do { pplVar11 = pplVar13 + -2; local_198 = *pplVar9; (**(code **)(*local_198 + 0xb8))(local_198,local_190,pplVar9 + 1); local_1a8 = *pplVar11; (**(code **)(*local_1a8 + 0xb8))(local_1a8,local_1a0,pplVar13 + -1); local_108 = local_198; (**(code **)(*local_198 + 0xb8))(local_198,local_100,local_190); local_f8 = local_1a8; (**(code **)(*local_1a8 + 0xb8))(local_1a8,local_f0,local_1a0); iVar4 = FUN_180500180(&local_f8,&local_108); (**(code **)(*local_1a8 + 0xb0))(local_1a8,local_1a0); (**(code **)(*local_198 + 0xb0))(local_198,local_190); pplVar10 = pplVar9; pplVar8 = local_res20; if (-1 < iVar4) { local_178 = *pplVar11; (**(code **)(*local_178 + 0xb8))(local_178,local_170,pplVar13 + -1); local_1d0 = &local_178; local_188 = *pplVar9; (**(code **)(*local_188 + 0xb8))(local_188,local_180,pplVar9 + 1); local_168 = &local_e8; local_e8 = local_178; (**(code **)(*local_178 + 0xb8))(local_178,local_e0,local_170); local_d8 = local_188; (**(code **)(*local_188 + 0xb8))(local_188,local_d0,local_180); iVar4 = FUN_180500180(&local_d8,&local_e8); (**(code **)(*local_188 + 0xb0))(local_188,local_180); (**(code **)(*local_178 + 0xb0))(local_178,local_170); pplVar5 = local_1b0; pplVar7 = pplVar12; if (iVar4 < 0) break; pplVar10 = pplVar9 + -2; if (pplVar10 != pplVar11) { plVar1 = *pplVar10; plVar2 = pplVar9[-1]; *pplVar10 = (longlong *)&PTR_vftable_18262b558; *pplVar10 = *pplVar11; *pplVar11 = (longlong *)&PTR_vftable_18262b558; plVar3 = pplVar9[-1]; pplVar9[-1] = pplVar13[-1]; pplVar13[-1] = plVar3; local_b8 = *pplVar11; *pplVar11 = plVar1; local_b0 = pplVar13[-1]; pplVar13[-1] = plVar2; (**(code **)(*local_b8 + 0xb0))(local_b8,&local_b0); } } pplVar12 = pplVar12 + -2; pplVar5 = local_1b0; pplVar9 = pplVar10; pplVar13 = pplVar11; pplVar7 = pplVar12; } while (param_2 < pplVar12); } local_168 = pplVar7; if (pplVar12 == param_2) { if (pplVar5 == param_3) { *param_1 = (ulonglong)pplVar10; param_1[1] = (ulonglong)pplVar8; return; } if (pplVar8 != pplVar5) { plVar1 = *pplVar10; plVar2 = pplVar10[1]; *pplVar10 = (longlong *)&PTR_vftable_18262b558; *pplVar10 = *pplVar8; *pplVar8 = (longlong *)&PTR_vftable_18262b558; plVar3 = pplVar10[1]; pplVar10[1] = pplVar8[1]; pplVar8[1] = plVar3; local_a8 = *pplVar8; *pplVar8 = plVar1; local_a0 = pplVar8[1]; pplVar8[1] = plVar2; (**(code **)(*local_a8 + 0xb0))(local_a8,&local_a0); } plVar1 = *pplVar10; plVar2 = pplVar10[1]; *pplVar10 = (longlong *)&PTR_vftable_18262b558; *pplVar10 = *pplVar5; *pplVar5 = (longlong *)&PTR_vftable_18262b558; plVar3 = pplVar10[1]; pplVar10[1] = pplVar5[1]; pplVar5[1] = plVar3; local_98 = *pplVar5; *pplVar5 = plVar1; local_90 = pplVar5[1]; pplVar5[1] = plVar2; (**(code **)(*local_98 + 0xb0))(local_98,&local_90); pplVar9 = pplVar10 + 2; pplVar5 = pplVar5 + 2; pplVar7 = pplVar8 + 2; local_res20 = pplVar8 + 2; pplVar10 = pplVar5; pplVar13 = local_168; } else { pplVar13 = pplVar12 + -2; local_168 = pplVar13; if (pplVar5 == param_3) { pplVar9 = pplVar10 + -2; if (pplVar13 != pplVar9) { plVar1 = *pplVar13; plVar2 = pplVar12[-1]; *pplVar13 = (longlong *)&PTR_vftable_18262b558; *pplVar13 = *pplVar9; *pplVar9 = (longlong *)&PTR_vftable_18262b558; plVar3 = pplVar12[-1]; pplVar12[-1] = pplVar10[-1]; pplVar10[-1] = plVar3; local_88 = *pplVar9; *pplVar9 = plVar1; local_80 = pplVar10[-1]; pplVar10[-1] = plVar2; (**(code **)(*local_88 + 0xb0))(local_88,&local_80); } pplVar7 = pplVar8 + -2; plVar1 = *pplVar9; plVar2 = pplVar10[-1]; *pplVar9 = (longlong *)&PTR_vftable_18262b558; *pplVar9 = *pplVar7; *pplVar7 = (longlong *)&PTR_vftable_18262b558; plVar3 = pplVar10[-1]; pplVar10[-1] = pplVar8[-1]; pplVar8[-1] = plVar3; local_78 = *pplVar7; *pplVar7 = plVar1; local_70 = pplVar8[-1]; pplVar8[-1] = plVar2; (**(code **)(*local_78 + 0xb0))(local_78,&local_70); pplVar12 = pplVar13; local_res20 = pplVar7; pplVar10 = local_1b0; pplVar13 = local_168; } else { plVar1 = *pplVar5; plVar2 = pplVar5[1]; *pplVar5 = (longlong *)&PTR_vftable_18262b558; *pplVar5 = *pplVar13; *pplVar13 = (longlong *)&PTR_vftable_18262b558; plVar3 = pplVar5[1]; pplVar5[1] = pplVar12[-1]; pplVar12[-1] = plVar3; local_68 = *pplVar13; *pplVar13 = plVar1; local_60 = pplVar12[-1]; pplVar12[-1] = plVar2; (**(code **)(*local_68 + 0xb0))(local_68,&local_60); pplVar5 = pplVar5 + 2; pplVar7 = pplVar8; pplVar9 = pplVar10; pplVar12 = pplVar13; pplVar10 = pplVar5; pplVar13 = local_168; } } } while( true ); } ############ FUN_ 1805345d0 size=125 ############ void * FUN_1805345d0(void *param_1) { _eh_vector_constructor_iterator_(param_1,0x80,0x10,FUN_180534680,_guard_check_icall); *(undefined4 *)((longlong)param_1 + 0x800) = 8; *(undefined8 *)((longlong)param_1 + 0x804) = 0x447a0000; *(undefined4 *)((longlong)param_1 + 0x80c) = 0x3f34fdf4; *(undefined1 *)((longlong)param_1 + 0x810) = 0; *(undefined4 *)((longlong)param_1 + 0x814) = 1; *(undefined8 *)((longlong)param_1 + 0x818) = 0; *(undefined8 *)((longlong)param_1 + 0x820) = 0; return param_1; } ############ FUN_ 180534650 size=40 ############ void FUN_180534650(void *param_1) { _eh_vector_destructor_iterator_(param_1,0x80,0x10,_guard_check_icall); return; } ############ FUN_ 18049b850 size=208 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18049b850(longlong *param_1,undefined8 *param_2,uint param_3) { undefined ***pppuVar1; undefined8 *puVar2; bool bVar3; undefined1 auStack_78 [32]; undefined4 local_58; undefined8 local_50; undefined **local_48; undefined1 local_40 [8]; undefined **local_38; undefined1 local_30 [8]; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; local_58 = 0; bVar3 = *(uint *)((longlong)param_1 + 0xc) <= param_3; if (bVar3) { local_38 = &PTR_vftable_18262b558; pppuVar1 = &local_38; } else { puVar2 = (undefined8 *)((longlong)(int)param_3 * 0x10 + *param_1); local_48 = (undefined **)*puVar2; (**(code **)(*local_48 + 0xb8))(local_48,local_40,puVar2 + 1); pppuVar1 = &local_48; } *param_2 = *pppuVar1; param_2[1] = pppuVar1[1]; *pppuVar1 = &PTR_vftable_18262b558; if (bVar3) { (**(code **)(*local_38 + 0xb0))(local_38,local_30); } else { (**(code **)(*local_48 + 0xb0))(local_48,local_40); } } ############ FUN_ 18113b5c0 size=877 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18113b5c0(longlong param_1,undefined8 *param_2,undefined4 param_3) { longlong lVar1; undefined8 *puVar2; longlong *plVar3; longlong *plVar4; ulonglong uVar5; undefined8 *puVar6; undefined1 *_Dst; undefined8 uVar7; undefined8 *puVar8; undefined8 *puVar9; ulonglong uVar10; uint uVar11; int iVar13; longlong *plVar14; longlong lVar15; undefined1 auStack_20b8 [32]; longlong *local_2098; undefined4 local_2090; longlong local_2088; longlong *local_2080; longlong *local_2078; undefined1 *puStack_2070; uint local_2068; undefined4 uStack_2064; undefined8 local_2060; longlong *local_2058; undefined1 local_2048 [8192]; ulonglong local_48; undefined8 uStack_40; ulonglong uVar12; uStack_40 = 0x18113b5d6; local_2060 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_20b8; if (DAT_182673660 == '\0') { uVar10 = 0; local_2098 = (longlong *)0x0; local_2090 = param_3; local_2088 = param_1; if (param_2 != (undefined8 *)0x0) { (**(code **)*param_2)(param_2,&DAT_18262b038,&local_2098); } plVar4 = local_2098; local_2058 = local_2098; if (local_2098 != (longlong *)0x0) { _Dst = local_2048; uVar11 = 0; plVar14 = (longlong *)(param_1 + 0x20); local_2080 = plVar14; (**(code **)(*plVar14 + 8))(plVar14); lVar15 = ((ulonglong)plVar4 >> 0xc & 0xff) * 0x40 + *(longlong *)(param_1 + 0x50); uVar5 = *(ulonglong *)(lVar15 + 0x30) & (((((((((ulonglong)plVar4 & 0xff ^ 0xcbf29ce484222325) * 0x100000001b3 ^ (ulonglong)local_2098 >> 8 & 0xff) * 0x100000001b3 ^ (ulonglong)local_2098 >> 0x10 & 0xff) * 0x100000001b3 ^ (ulonglong)local_2098 >> 0x18 & 0xff) * 0x100000001b3 ^ (ulonglong)local_2098 >> 0x20 & 0xff) * 0x100000001b3 ^ (ulonglong)local_2098 >> 0x28 & 0xff) * 0x100000001b3 ^ (ulonglong)local_2098 >> 0x30 & 0xff) * 0x100000001b3 ^ (ulonglong)local_2098 >> 0x38 ) * 0x100000001b3; lVar1 = *(longlong *)(lVar15 + 0x18); puVar8 = *(undefined8 **)(lVar1 + uVar5 * 0x10); puVar2 = *(undefined8 **)(lVar15 + 8); while( true ) { puVar6 = puVar2; if (*(undefined8 **)(lVar1 + uVar5 * 0x10) != puVar2) { puVar6 = (undefined8 *)**(undefined8 **)(uVar5 * 0x10 + 8 + lVar1); } puVar9 = puVar2; if ((puVar8 == puVar6) || (puVar9 = puVar8, (longlong *)puVar8[2] == plVar4)) break; puVar8 = (undefined8 *)*puVar8; } if ((puVar9 != puVar2) && (puVar8 = (undefined8 *)puVar9[3], puVar8 != (undefined8 *)puVar9[4])) { iVar13 = 0x400; uVar12 = uVar10; uVar5 = uVar10; do { *(undefined8 *)(_Dst + uVar5) = *puVar8; uVar11 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar11; uVar5 = uVar5 + 8; if (iVar13 <= (int)uVar11) { if (_Dst != local_2048) break; _Dst = (undefined1 *)thunk_FUN_1811316e0(0x14000); memcpy(_Dst,local_2048,(longlong)(int)uVar11 * 8); iVar13 = 0x2800; } puVar8 = puVar8 + 1; } while (puVar8 != (undefined8 *)puVar9[4]); plVar14 = local_2080; param_3 = local_2090; if (0 < (int)uVar11) { lVar1 = *(longlong *)(local_2088 + 0x50); local_2078 = plVar4; puStack_2070 = _Dst; local_2068 = uVar11; if (*(ulonglong *)(lVar1 + 0x4038) <= *(longlong *)(lVar1 + 0x4048) + 1U) { FUN_18047d010(lVar1 + 0x4028); } *(ulonglong *)(lVar1 + 0x4040) = *(ulonglong *)(lVar1 + 0x4040) & *(longlong *)(lVar1 + 0x4038) - 1U; lVar15 = (*(longlong *)(lVar1 + 0x4038) - 1U & *(longlong *)(lVar1 + 0x4040) + *(longlong *)(lVar1 + 0x4048)) * 8; if (*(longlong *)(lVar15 + *(longlong *)(lVar1 + 0x4030)) == 0) { uVar7 = FUN_180480500(0x18); *(undefined8 *)(lVar15 + *(longlong *)(lVar1 + 0x4030)) = uVar7; } puVar8 = *(undefined8 **)(lVar15 + *(longlong *)(lVar1 + 0x4030)); *puVar8 = local_2078; puVar8[1] = puStack_2070; puVar8[2] = CONCAT44(uStack_2064,local_2068); *(longlong *)(lVar1 + 0x4048) = *(longlong *)(lVar1 + 0x4048) + 1; param_3 = local_2090; } } (**(code **)(*plVar14 + 0x10))(plVar14); if (0 < (int)uVar11) { do { plVar3 = *(longlong **)(_Dst + uVar10 * 8); if ((plVar3 != (longlong *)0x0) && (*(code **)(*plVar3 + 0x18) != _guard_check_icall)) { (**(code **)(*plVar3 + 0x18))(plVar3,plVar4,param_3); } uVar10 = uVar10 + 1; } while ((longlong)uVar10 < (longlong)(int)uVar11); } if (_Dst != local_2048) { /* WARNING: Subroutine does not return */ free(_Dst); } if (0 < (int)uVar11) { (**(code **)(*plVar14 + 8))(plVar14); lVar1 = *(longlong *)(local_2088 + 0x50); plVar3 = (longlong *)(lVar1 + 0x4048); *plVar3 = *plVar3 + -1; if (*plVar3 == 0) { *(undefined8 *)(lVar1 + 0x4040) = 0; } (**(code **)(*plVar14 + 0x10))(plVar14); } FUN_18113c0c0(plVar4,param_3); } if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } ############ FUN_ 18048b4b0 size=279 ############ undefined8 * FUN_18048b4b0(undefined8 *param_1,longlong *param_2) { uint uVar1; longlong lVar2; longlong lVar3; uint *puVar4; longlong local_18 [2]; lVar2 = *param_2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar3 = param_2[1]; param_2[1] = (longlong)&PTR_vftable_18262b558; local_18[0] = param_2[2]; param_1[7] = 0; *param_1 = std::_Func_impl_no_alloc<,void>::vftable; param_1[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[2] = lVar3; param_1[3] = local_18[0]; param_1[7] = param_1; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,local_18); puVar4 = (uint *)(lVar2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } (**(code **)(*(longlong *)param_2[1] + 0xb0))((longlong *)param_2[1],param_2 + 2); puVar4 = (uint *)(*param_2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return param_1; } ############ FUN_ 18048b5d0 size=279 ############ undefined8 * FUN_18048b5d0(undefined8 *param_1,longlong *param_2) { uint uVar1; longlong lVar2; longlong lVar3; uint *puVar4; longlong local_18 [2]; lVar2 = *param_2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar3 = param_2[1]; param_2[1] = (longlong)&PTR_vftable_18262b558; local_18[0] = param_2[2]; param_1[7] = 0; *param_1 = std::_Func_impl_no_alloc<,void>::vftable; param_1[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[2] = lVar3; param_1[3] = local_18[0]; param_1[7] = param_1; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,local_18); puVar4 = (uint *)(lVar2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } (**(code **)(*(longlong *)param_2[1] + 0xb0))((longlong *)param_2[1],param_2 + 2); puVar4 = (uint *)(*param_2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return param_1; } ############ FUN_ 18134a800 size=179 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18134a800(longlong *param_1,undefined8 param_2,undefined4 param_3) { int *piVar1; int iVar2; char cVar3; undefined8 uVar4; undefined1 auStack_58 [32]; longlong local_38 [2]; undefined **local_28; undefined4 local_20 [2]; ulonglong local_18; local_38[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; local_28 = &PTR_vftable_18262b570; local_20[0] = param_3; uVar4 = FUN_1804e4ce0(local_38); cVar3 = FUN_181243e80(param_1 + 0x12,uVar4,&local_28); if ((*(uint *)(local_38[0] + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_38[0] + -0x10); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_38[0] + -0x10)); } } (**(code **)(*local_28 + 0xb0))(local_28,local_20); if (cVar3 != '\0') { (**(code **)(*param_1 + 0x148))(param_1); } } ############ FUN_ 18048a9f0 size=297 ############ undefined8 * FUN_18048a9f0(undefined8 *param_1,longlong *param_2) { uint uVar1; longlong lVar2; longlong lVar3; uint *puVar4; longlong local_18; longlong local_10; lVar2 = *param_2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar3 = param_2[1]; param_2[1] = (longlong)&PTR_vftable_18262b558; local_18 = param_2[2]; local_10 = param_2[3]; param_1[7] = 0; *param_1 = std::_Func_impl_no_alloc<,void>::vftable; param_1[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[2] = lVar3; param_1[3] = local_18; param_1[4] = local_10; param_1[7] = param_1; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_18); puVar4 = (uint *)(lVar2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } (**(code **)(*(longlong *)param_2[1] + 0xb0))((longlong *)param_2[1],param_2 + 2); puVar4 = (uint *)(*param_2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return param_1; } ############ FUN_ 18048ab20 size=297 ############ undefined8 * FUN_18048ab20(undefined8 *param_1,longlong *param_2) { uint uVar1; longlong lVar2; longlong lVar3; uint *puVar4; longlong local_18; longlong local_10; lVar2 = *param_2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar3 = param_2[1]; param_2[1] = (longlong)&PTR_vftable_18262b558; local_18 = param_2[2]; local_10 = param_2[3]; param_1[7] = 0; *param_1 = std::_Func_impl_no_alloc<,void>::vftable; param_1[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[2] = lVar3; param_1[3] = local_18; param_1[4] = local_10; param_1[7] = param_1; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_18); puVar4 = (uint *)(lVar2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } (**(code **)(*(longlong *)param_2[1] + 0xb0))((longlong *)param_2[1],param_2 + 2); puVar4 = (uint *)(*param_2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return param_1; } ############ FUN_ 1812dac10 size=243 ############ void FUN_1812dac10(longlong *param_1) { int iVar1; int iVar2; float fVar3; int local_res8; if ((int)param_1[0x3a] == 2) { *(undefined8 *)((longlong)param_1 + 0x1ec) = 0; *(undefined8 *)((longlong)param_1 + 500) = 0; } else { fVar3 = (float)*(int *)((longlong)param_1 + 0x2c); iVar2 = SUB84((double)((float)(int)param_1[5] * DAT_1824c3cac) + DAT_1824c4520,0); iVar1 = SUB84((double)(fVar3 * DAT_1824c3cac) + DAT_1824c4520,0); if (iVar1 < iVar2) { iVar2 = iVar1; } if ((int)param_1[0x3a] == 1) { local_res8 = SUB84((double)(fVar3 * DAT_1824c3da8) + DAT_1824c4520,0); } else { local_res8 = *(int *)((longlong)param_1 + 0x2c) + iVar2 * -2; } *(ulonglong *)((longlong)param_1 + 0x1ec) = CONCAT44(iVar2,iVar2); *(ulonglong *)((longlong)param_1 + 500) = CONCAT44(local_res8,(int)param_1[5] + iVar2 * -2); } if (*(code **)(*param_1 + 0x1a0) == _guard_check_icall) { return; } (**(code **)(*param_1 + 0x1a0))(param_1); return; } ############ FUN_ 1804d9ee0 size=422 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804d9ee0(longlong param_1,longlong *param_2,undefined8 param_3) { undefined1 *puVar1; longlong *plVar2; longlong lVar3; longlong *plVar4; longlong *plVar5; bool bVar6; double dVar7; undefined1 auStack_a8 [32]; undefined8 local_88; float local_78; undefined1 *local_70; undefined1 local_68; undefined8 local_60; undefined **local_58; double local_50; undefined **local_48; double local_40; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_a8; plVar5 = (longlong *)0x0; LOCK(); bVar6 = *(char *)(param_1 + 0x3c) == '\x01'; if (bVar6) { *(char *)(param_1 + 0x3c) = '\0'; } UNLOCK(); if (bVar6) { lVar3 = *(longlong *)(param_1 + 8); if (lVar3 != 0) { plVar4 = *(longlong **)(lVar3 + 0x18); plVar2 = plVar4 + (longlong)*(int *)(lVar3 + 0x24) * 3; if (plVar4 != plVar2) { do { if (*plVar4 == *param_2) { plVar5 = plVar4 + 1; break; } plVar4 = plVar4 + 3; } while (plVar4 != plVar2); } } if (plVar5 == (longlong *)0x0) { local_78 = *(float *)(param_1 + 0x38); local_48 = &PTR_vftable_18262b4d8; local_40 = (double)local_78; if (*(longlong *)(param_1 + 8) != 0) { local_88 = 0; FUN_180526e00(*(longlong *)(param_1 + 8),param_2,&local_48,0); } (**(code **)(*local_48 + 0xb0))(local_48,&local_40); } else { dVar7 = (double)(**(code **)(*(longlong *)*plVar5 + 0x18))((longlong *)*plVar5,plVar5 + 1); if ((float)dVar7 != *(float *)(param_1 + 0x38)) { puVar1 = (undefined1 *)(param_1 + 0x3e); local_68 = *puVar1; *puVar1 = 1; local_78 = *(float *)(param_1 + 0x38); local_58 = &PTR_vftable_18262b4d8; local_50 = (double)local_78; local_70 = puVar1; if (*(longlong *)(param_1 + 8) != 0) { local_88 = 0; FUN_180526e00(*(longlong *)(param_1 + 8),param_2,&local_58,param_3); } (**(code **)(*local_58 + 0xb0))(local_58,&local_50); *puVar1 = local_68; } } } } ############ FUN_ 180479040 size=43 ############ undefined8 FUN_180479040(longlong param_1) { code *pcVar1; pcVar1 = *(code **)(**(longlong **)(param_1 + 0x30) + 0x20); if (pcVar1 == _guard_check_icall) { return 0; } (*pcVar1)(); return 0; } ############ FUN_ 180479250 size=698 ############ undefined8 FUN_180479250(longlong param_1,char param_2) { int *piVar1; uint uVar2; double dVar3; undefined8 uVar4; code *pcVar5; longlong *plVar6; int iVar7; int iVar8; longlong lVar9; ulonglong uVar10; longlong lVar11; ulonglong uVar12; longlong lVar13; undefined4 uVar14; undefined4 uVar15; if (param_2 == '\0') { pcVar5 = *(code **)(**(longlong **)(param_1 + 0x30) + 0x20); if (pcVar5 != _guard_check_icall) { (*pcVar5)(); } *(undefined4 *)(param_1 + 0xf4) = 0; if ((*(int *)(param_1 + 0x10c) != 0) || (*(int *)(param_1 + 0x108) != 0)) { *(undefined8 *)(param_1 + 0x110) = 0x30; FUN_180481140(param_1 + 0x120,0x30,*(char *)(param_1 + 0x228) != '\0'); *(undefined8 **)(param_1 + 0x118) = *(undefined8 **)(param_1 + 0x120); **(undefined8 **)(param_1 + 0x120) = 0; *(undefined8 *)(param_1 + 0x108) = 0; } *(undefined4 *)(param_1 + 0x104) = 0; FUN_180480760(param_1 + 0x230,0,0); return 0; } dVar3 = *(double *)(param_1 + 0xd0); uVar4 = *(undefined8 *)(*(longlong *)(param_1 + 0x30) + 0x30); uVar14 = (undefined4)uVar4; uVar15 = (undefined4)((ulonglong)uVar4 >> 0x20); if (0.0 < dVar3) { uVar14 = SUB84(dVar3,0); uVar15 = (undefined4)((ulonglong)dVar3 >> 0x20); } piVar1 = (int *)(param_1 + 0x108); iVar7 = *(int *)(*(longlong *)(param_1 + 0x30) + 0x38); if (0 < *(int *)(param_1 + 200)) { iVar7 = *(int *)(param_1 + 200); } lVar9 = 0; *(undefined4 *)(param_1 + 0xf4) = 0; FUN_180480640(param_1 + 0xe8,0,0x80); lVar11 = *(longlong *)(param_1 + 0x30); iVar8 = *(int *)(lVar11 + 0x100); if (*(int *)(lVar11 + 0x100) < *(int *)(lVar11 + 0x104)) { iVar8 = *(int *)(lVar11 + 0x104); } uVar2 = *(int *)(lVar11 + 0x38) * 4; if ((uVar2 - *(int *)(param_1 + 0x10c) != 0) || (iVar8 != *piVar1)) { uVar12 = (ulonglong)uVar2 + 3 & 0xfffffffc; lVar13 = (longlong)iVar8; uVar10 = (ulonglong)(iVar8 + 1) * 8 + 0xf & 0xfffffff0; lVar11 = uVar10 + (lVar13 * uVar12 + 8) * 4; *(longlong *)(param_1 + 0x110) = lVar11; FUN_180481140(param_1 + 0x120,lVar11,*(char *)(param_1 + 0x228) != '\0'); *(longlong *)(param_1 + 0x118) = *(longlong *)(param_1 + 0x120); lVar11 = *(longlong *)(param_1 + 0x120) + uVar10; if (0 < iVar8) { do { *(longlong *)(*(longlong *)(param_1 + 0x118) + lVar9 * 8) = lVar11; lVar11 = lVar11 + uVar12 * 4; lVar9 = lVar9 + 1; } while (lVar9 < lVar13); } *(undefined8 *)(*(longlong *)(param_1 + 0x118) + lVar13 * 8) = 0; *(uint *)(param_1 + 0x10c) = uVar2; *piVar1 = iVar8; } FUN_180480870(piVar1); *(undefined4 *)(param_1 + 0x104) = 0; FUN_180480640(param_1 + 0xf8,0,0x80); lVar11 = *(longlong *)(param_1 + 0x30); iVar8 = *(int *)(lVar11 + 0x100); if (*(int *)(lVar11 + 0x100) < *(int *)(lVar11 + 0x104)) { iVar8 = *(int *)(lVar11 + 0x104); } FUN_180480760(param_1 + 0x230,iVar8,*(int *)(lVar11 + 0x38) << 2); FUN_1804806f0(param_1 + 0x230); plVar6 = *(longlong **)(param_1 + 0x30); plVar6[6] = CONCAT44(uVar15,uVar14); *(int *)(plVar6 + 7) = iVar7; (**(code **)(*plVar6 + 0x18))(plVar6,CONCAT44(uVar15,uVar14),iVar7); if (*(int *)(param_1 + 0xe0) < 0x800) { FUN_18049bab0(param_1 + 0xd8,0xc08); } *(undefined4 *)(param_1 + 0xe4) = 0; return 0; } ############ FUN_ 1805794d0 size=78 ############ void FUN_1805794d0(longlong *param_1) { if ((char)param_1[0x3b] == '\0') { FUN_180579970(); if (param_1[0x3a] != 0) { if (*(code **)(*param_1 + 0x188) != _guard_check_icall) { (**(code **)(*param_1 + 0x188))(param_1); } *(undefined1 *)(param_1 + 0x3b) = 1; } } return; } ############ FUN_ 181139590 size=48 ############ void FUN_181139590(longlong param_1) { longlong *plVar1; plVar1 = *(longlong **)(param_1 + 0x38); if ((plVar1 != (longlong *)0x0) && (*(code **)(*plVar1 + 0xb0) != _guard_check_icall)) { (**(code **)(*plVar1 + 0xb0))(plVar1,param_1); } return; } ############ FUN_ 1811395d0 size=48 ############ void FUN_1811395d0(longlong param_1) { longlong *plVar1; plVar1 = *(longlong **)(param_1 + 0x38); if ((plVar1 != (longlong *)0x0) && (*(code **)(*plVar1 + 0xa8) != _guard_check_icall)) { (**(code **)(*plVar1 + 0xa8))(plVar1,param_1); } return; } ############ FUN_ 181249700 size=213 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181249700(undefined8 *param_1,undefined8 param_2) { uint uVar1; char cVar2; undefined8 *puVar3; uint *_Memory; undefined1 auStack_58 [32]; undefined8 *local_38; undefined8 local_30; undefined **local_28; undefined8 local_20; ulonglong local_18; local_30 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; local_28 = &PTR_vftable_18262b558; local_38 = param_1; puVar3 = (undefined8 *)FUN_181226ac0(&local_38,param_2,&local_28); cVar2 = *(char *)*puVar3; _Memory = (uint *)(local_38 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (cVar2 == '\0') { *param_1 = local_28; param_1[1] = local_20; local_28 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_20); } else { *param_1 = &PTR_vftable_18262b558; (**(code **)(*local_28 + 0xb0))(local_28,&local_20); } } ############ FUN_ 181139610 size=117 ############ void FUN_181139610(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; code *pcVar2; *param_1 = Steinberg::Vst::EditorView::vftable; param_1[2] = Steinberg::Vst::EditorView::vftable; plVar1 = (longlong *)param_1[7]; if (plVar1 != (longlong *)0x0) { pcVar2 = *(code **)(*plVar1 + 0xa0); if (pcVar2 != _guard_check_icall) { (*pcVar2)(plVar1,param_1,pcVar2,param_4,0xfffffffffffffffe); } (**(code **)(*(longlong *)param_1[7] + 0x10))(); } param_1[2] = Steinberg::CPluginView::vftable; *param_1 = Steinberg::FObject::vftable; return; } ############ FUN_ 1811efad0 size=298 ############ /* 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) { uint *_Memory; uint uVar1; char cVar2; undefined8 uVar3; undefined1 auStack_68 [32]; longlong local_48; undefined8 local_40; undefined1 local_30 [16]; undefined **local_20; undefined8 local_18; ulonglong local_10; local_40 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_68; local_48 = param_1[1]; _Memory = (uint *)(local_48 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } FUN_181202350(param_1[2],&local_20,local_48); cVar2 = (**(code **)(*local_20 + 0x50))(); if (cVar2 == '\0') { *param_2 = local_20; param_2[1] = local_18; local_20 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_18); if ((*_Memory & 0x30000000) != 0) { } LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); } else { uVar3 = (**(code **)(*param_1 + 8))(param_1,local_30); (**(code **)(*param_1 + 0x18))(param_1,uVar3); (**(code **)(*param_1 + 8))(param_1,param_2); (**(code **)(*local_20 + 0xb0))(local_20,&local_18); if ((*_Memory & 0x30000000) != 0) { } LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); } if (uVar1 != 0) { } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18058ee90 size=78 ############ void .?AVSoothe2XYSliderArea@@::vtbl___AVSoothe2XYSliderArea__(longlong *param_1) { if ((char)param_1[99] == '\0') { FUN_18058eee0(); if (param_1[0x62] != 0) { if (*(code **)(*param_1 + 0x160) != _guard_check_icall) { (**(code **)(*param_1 + 0x160))(param_1); } *(undefined1 *)(param_1 + 99) = 1; } } return; } ############ FUN_ 18055e1f0 size=190 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (undefined8 param_1,undefined8 *param_2) { char cVar1; undefined1 auStack_58 [32]; undefined8 local_38; undefined8 *local_30; undefined **local_28; undefined1 local_20 [8]; ulonglong local_18; local_38 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; local_28 = &PTR_vftable_18262b550; local_20[0] = 1; local_30 = param_2; cVar1 = (**(code **)(*(longlong *)*param_2 + 0xc0))((longlong *)*param_2,param_2 + 1,local_20); DAT_182673698 = 2 - (uint)(cVar1 != '\0'); (**(code **)(*local_28 + 0xb0))(local_28,local_20); local_28 = (undefined **)*param_2; (**(code **)(*local_28 + 0xb8))(local_28,local_20,param_2 + 1); FUN_1811d0a50(param_1,&local_28); (**(code **)(*(longlong *)*param_2 + 0xb0))((longlong *)*param_2,param_2 + 1); } ############ FUN_ 18055e400 size=203 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18055e400(undefined8 param_1) { char cVar1; undefined8 *puVar2; undefined1 auStack_58 [32]; undefined8 local_38; undefined **local_30; undefined1 local_28 [8]; longlong *local_20; undefined1 local_18 [8]; ulonglong local_10; local_38 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_58; if (DAT_182673698 == 0) { local_30 = &PTR_vftable_18262b550; local_28[0] = 1; puVar2 = (undefined8 *) .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (param_1,&local_20); cVar1 = (**(code **)(*(longlong *)*puVar2 + 0xc0)) ((longlong *)*puVar2,puVar2 + 1,local_28,local_30); DAT_182673698 = 2 - (uint)(cVar1 != '\0'); (**(code **)(*local_20 + 0xb0))(local_20,local_18); (**(code **)(*local_30 + 0xb0))(local_30,local_28); } cVar1 = FUN_18055e2c0(); if (((cVar1 == '\0') && (DAT_182673698 == 2)) && (DAT_18267369c != 1)) { } } ############ FUN_ 18114dc20 size=479 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18114dc20(longlong param_1,undefined8 param_2,undefined4 param_3,undefined4 param_4, undefined4 param_5,undefined4 param_6,longlong *param_7) { uint uVar1; int iVar2; undefined8 *puVar3; longlong *plVar4; uint *puVar5; undefined1 auStack_a8 [32]; longlong local_88; longlong local_80; undefined4 local_78; undefined4 local_74; undefined4 local_70; undefined4 local_6c; longlong local_68; undefined8 local_60; longlong local_58; undefined **local_50; undefined8 local_48; longlong local_40; ushort local_38; ulonglong local_30; local_60 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; _ftime64_s(&local_40); local_80 = local_40 * 1000 + (ulonglong)local_38; local_70 = param_5; local_6c = param_6; local_68 = *param_7; if ((*(uint *)(local_68 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_68 + -0x10) = *(int *)(local_68 + -0x10) + 1; UNLOCK(); } local_78 = param_3; local_74 = param_4; local_58 = param_1; iVar2 = _Mtx_lock(param_1); if (iVar2 != 0) { std::_Throw_C_error(iVar2); } FUN_18114d800(param_1,param_2); puVar3 = (undefined8 *)FUN_180484970(&local_80,&local_88); local_50 = &PTR_vftable_18262b560; local_48 = *puVar3; *puVar3 = &DAT_1821dbf98; plVar4 = (longlong *)FUN_180485c50(*(longlong *)(param_1 + 0x58) + 0x10,param_2); iVar2 = *(int *)((longlong)plVar4 + 0xc) + 1; if ((int)plVar4[1] < iVar2) { FUN_180489a50(plVar4,*(int *)((longlong)plVar4 + 0xc) + 9 + iVar2 / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)plVar4 + 0xc); *(int *)((longlong)plVar4 + 0xc) = iVar2 + 1; puVar3 = (undefined8 *)((longlong)iVar2 * 0x10 + *plVar4); *puVar3 = local_50; puVar3[1] = local_48; local_50 = &PTR_vftable_18262b558; (**(code **)(PTR_vftable_18262b558 + 0xb0))(&PTR_vftable_18262b558,&local_48); puVar5 = (uint *)(local_88 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } iVar2 = _Mtx_unlock(param_1); if (iVar2 != 0) { std::_Throw_C_error(iVar2); } puVar5 = (uint *)(local_68 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } ############ FUN_ 18114dfe0 size=88 ############ void FUN_18114dfe0(longlong param_1,longlong param_2) { longlong *plVar1; longlong lVar2; undefined1 local_res8 [32]; lVar2 = 0; if (param_1 != -0x70) { lVar2 = param_1 + 0x78; } if (param_2 == lVar2) { plVar1 = *(longlong **)(param_1 + 0x40); local_res8[0] = *(char *)(param_1 + 0x10c) != '\0'; if (plVar1 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } if (*(code **)(*plVar1 + 0x10) != _guard_check_icall) { (**(code **)(*plVar1 + 0x10))(plVar1,local_res8); return; } } return; } ############ FUN_ 18113d5f0 size=65 ############ void FUN_18113d5f0(longlong *param_1,undefined4 param_2) { if (DAT_182673668 != (longlong *)0x0) { /* WARNING: Could not recover jumptable at 0x00018113d610. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*DAT_182673668 + 0x30))(DAT_182673668,param_1,param_2); return; } if (*(code **)(*param_1 + 0x60) != _guard_check_icall) { (**(code **)(*param_1 + 0x60))(); } return; } ############ FUN_ 1812bd4f0 size=100 ############ void FUN_1812bd4f0(longlong param_1) { code *pcVar1; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x52)); if (*(char *)(param_1 + 0x50) != '\0') { *(undefined1 *)(param_1 + 0x50) = 0; pcVar1 = *(code **)(**(longlong **)(param_1 + 0x28) + 0x20); if (pcVar1 != _guard_check_icall) { (*pcVar1)(); } } /* WARNING: Could not recover jumptable at 0x0001812bd548. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x52)); return; } ############ FUN_ 18113d640 size=65 ############ void FUN_18113d640(longlong *param_1,undefined4 param_2) { if (DAT_182673668 != (longlong *)0x0) { /* WARNING: Could not recover jumptable at 0x00018113d660. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*DAT_182673668 + 0x28))(DAT_182673668,param_1,param_2); return; } if (*(code **)(*param_1 + 0x60) != _guard_check_icall) { (**(code **)(*param_1 + 0x60))(); } return; } ############ FUN_ 18113c0c0 size=101 ############ void FUN_18113c0c0(undefined8 *param_1,int param_2) { longlong *local_res18 [2]; if ((((param_2 != 2) && (local_res18[0] = (longlong *)0x0, param_1 != (undefined8 *)0x0)) && ((**(code **)*param_1)(param_1,&DAT_18262b050,local_res18), local_res18[0] != (longlong *)0x0) ) && (((**(code **)(*local_res18[0] + 0x10))(), local_res18[0] != (longlong *)0x0 && (*(code **)(*local_res18[0] + 0x60) != _guard_check_icall)))) { (**(code **)(*local_res18[0] + 0x60))(local_res18[0],param_2); } return; } ############ FUN_ 1812bc290 size=620 ############ void FUN_1812bc290(longlong param_1) { longlong lVar1; code *pcVar2; longlong *plVar3; longlong *plVar4; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x48)); LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x188) + 0x18) = 0; UNLOCK(); LOCK(); *(undefined1 *)(param_1 + 0x1b8) = 0; UNLOCK(); plVar4 = *(longlong **)(param_1 + 400); plVar3 = plVar4 + *(int *)(param_1 + 0x19c); for (; plVar4 != plVar3; plVar4 = plVar4 + 1) { lVar1 = *plVar4; EnterCriticalSection((LPCRITICAL_SECTION)(lVar1 + 0x52)); if (*(char *)(lVar1 + 0x50) != '\0') { *(undefined1 *)(lVar1 + 0x50) = 0; pcVar2 = *(code **)(**(longlong **)(lVar1 + 0x28) + 0x20); if (pcVar2 != _guard_check_icall) { (*pcVar2)(); } } LeaveCriticalSection((LPCRITICAL_SECTION)(lVar1 + 0x52)); } lVar1 = *(longlong *)(param_1 + 0x1a8); if (lVar1 != 0) { if ((*(int *)(lVar1 + 0xc) != 1) || (*(int *)(lVar1 + 8) != 1)) { *(undefined8 *)(lVar1 + 0x10) = 0x40; FUN_180481140(lVar1 + 0x20,0x40,*(char *)(lVar1 + 0x128) != '\0'); plVar3 = *(longlong **)(lVar1 + 0x20); *(longlong **)(lVar1 + 0x18) = plVar3; *plVar3 = (longlong)(plVar3 + 2); *(undefined8 *)(*(longlong *)(lVar1 + 0x18) + 8) = 0; *(undefined4 *)(lVar1 + 0xc) = 1; *(undefined4 *)(lVar1 + 8) = 1; } if ((*(int *)(lVar1 + 0x134) != 1) || (*(int *)(lVar1 + 0x130) != 1)) { *(undefined8 *)(lVar1 + 0x138) = 0x40; FUN_180481140(lVar1 + 0x148,0x40,*(char *)(lVar1 + 0x250) != '\0'); plVar3 = *(longlong **)(lVar1 + 0x148); *(longlong **)(lVar1 + 0x140) = plVar3; *plVar3 = (longlong)(plVar3 + 2); *(undefined8 *)(*(longlong *)(lVar1 + 0x140) + 8) = 0; *(undefined4 *)(lVar1 + 0x134) = 1; *(undefined4 *)(lVar1 + 0x130) = 1; } *(undefined8 *)(lVar1 + 600) = 0; *(undefined8 *)(lVar1 + 0x260) = 0; *(undefined4 *)(lVar1 + 0x274) = 0; FUN_1804de250(lVar1 + 0x278); if (*(int *)(lVar1 + 0x280) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar1 + 0x278)); } *(undefined4 *)(lVar1 + 0x280) = 0; } lVar1 = *(longlong *)(param_1 + 0x1b0); if (lVar1 != 0) { FUN_180480760(lVar1 + 8,1,1); FUN_180480760(lVar1 + 0x130,1,1); *(undefined8 *)(lVar1 + 600) = 0; *(undefined8 *)(lVar1 + 0x260) = 0; *(undefined4 *)(lVar1 + 0x274) = 0; FUN_1804de250(lVar1 + 0x278); if (*(int *)(lVar1 + 0x280) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(lVar1 + 0x278)); } *(undefined4 *)(lVar1 + 0x280) = 0; } /* WARNING: Could not recover jumptable at 0x0001812bc4fb. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x48)); return; } ############ FUN_ 18053c590 size=948 ############ /* WARNING: Removing unreachable block (ram,0x00018053c85c) */ undefined8 * FUN_18053c590(undefined8 *param_1,undefined8 param_2) { uint *_Memory; undefined8 *puVar1; undefined8 uVar2; int iVar3; int iVar4; longlong *plVar5; void *pvVar6; uint uVar7; undefined8 *local_res8; longlong local_res10; local_res8 = param_1; FUN_18049c4e0(&local_res10,"FLAC file"); iVar4 = 0; *param_1 = juce::AudioFormatReader::vftable; param_1[1] = 0; *(undefined4 *)(param_1 + 2) = 0; param_1[3] = 0; *(undefined4 *)(param_1 + 4) = 0; _Memory = (uint *)(local_res10 + -0x10); *(undefined1 *)((longlong)param_1 + 0x24) = 0; param_1[5] = 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_res10; if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar7 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::FlacReader::vftable; param_1[0xf] = param_1 + 0x11; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0x10] = 0; *(undefined1 *)(param_1 + 0x31) = 0; param_1[0x32] = 0; *(undefined2 *)(param_1 + 0x33) = 0; param_1[3] = 0; plVar5 = (longlong *)FUN_1813a22f0(); param_1[0xc] = plVar5; if (*(int *)*plVar5 == 9) { FUN_1813a9b70(plVar5[1] + 0xf7c); *(code **)(plVar5[1] + 0x40) = FUN_1813a4ae0; *(code **)(plVar5[1] + 0x48) = FUN_1813a4000; *(code **)(plVar5[1] + 0x50) = FUN_1813a4ae0; puVar1 = *(undefined8 **)(plVar5[1] + 0x68); *(undefined8 *)((longlong)puVar1 + 0xc) = 0; *(undefined8 *)((longlong)puVar1 + 0x14) = 0; *(undefined4 *)(puVar1 + 1) = 0x800; pvVar6 = malloc(0x2000); *puVar1 = pvVar6; if (pvVar6 == (void *)0x0) { iVar4 = 3; *(undefined4 *)*plVar5 = 8; } else { puVar1[6] = plVar5; puVar1[5] = FUN_18139e0e0; *(code **)plVar5[1] = FUN_18053ceb0; *(code **)(plVar5[1] + 8) = FUN_18053cee0; *(code **)(plVar5[1] + 0x10) = FUN_18053cf00; *(code **)(plVar5[1] + 0x18) = FUN_18053cf30; *(code **)(plVar5[1] + 0x20) = FUN_18053cf50; *(code **)(plVar5[1] + 0x28) = FUN_18053cf70; *(code **)(plVar5[1] + 0x30) = FUN_18053cf90; *(code **)(plVar5[1] + 0x38) = _guard_check_icall; *(undefined8 **)(plVar5[1] + 0x58) = param_1; *(undefined4 *)(plVar5[1] + 0x1bc) = 0; *(undefined4 *)(plVar5[1] + 0x1b8) = 0; *(undefined8 *)(plVar5[1] + 0x1c0) = 0; *(undefined4 *)(plVar5[1] + 0x1c8) = 0; *(undefined4 *)(plVar5[1] + 0xf78) = 0; *(undefined4 *)(plVar5[1] + 0xfe8) = *(undefined4 *)(*plVar5 + 0x1c); *(undefined4 *)(plVar5[1] + 0xff0) = 0; *(undefined4 *)(plVar5[1] + 0xfec) = 1; iVar3 = FUN_1813a1ac0(plVar5); if (iVar3 == 0) { iVar4 = 3; } } } else { iVar4 = 5; } *(bool *)(param_1 + 0x33) = iVar4 == 0; if (((iVar4 == 0) && (FUN_1813a1980(param_1[0xc]), param_1[3] == 0)) && (0.0 < (double)param_1[1]) ) { puVar1 = (undefined8 *)param_1[0xc]; *(undefined1 *)((longlong)param_1 + 0x199) = 1; uVar7 = *(uint *)*puVar1; if (uVar7 < 8) { do { switch((ulonglong)(&switchD_18053c8dd::switchdataD_18053c944)[(int)uVar7] + 0x180000000) { case 0x18053c8df: iVar4 = FUN_1813a1310(puVar1); break; case 0x18053c8e9: iVar4 = FUN_1813a0d90(puVar1); break; case 0x18053c8f3: iVar4 = FUN_18139ffc0(puVar1); break; case 0x18053c8fd: iVar4 = FUN_18139fa20(puVar1,&local_res8); break; case 0x18053c918: goto switchD_18053c8dd_caseD_8053c918; } if ((iVar4 == 0) || (uVar7 = *(uint *)*puVar1, 7 < uVar7)) break; } while( true ); } switchD_18053c8dd_caseD_8053c918: uVar2 = param_1[3]; *(undefined1 *)((longlong)param_1 + 0x199) = 0; FUN_1813a1ac0(param_1[0xc]); FUN_1813a1980(param_1[0xc]); param_1[3] = uVar2; } return param_1; } ############ FUN_ 181131914 size=48 ############ /* Library Function - Single Match __scrt_dllmain_uninitialize_c Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release, Visual Studio 2019 Release */ void __scrt_dllmain_uninitialize_c(void) { int iVar1; iVar1 = __scrt_is_ucrt_dll_in_use(); if (iVar1 != 0) { _execute_onexit_table(&DAT_182672fd8); return; } iVar1 = .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(); if (iVar1 == 0) { _cexit(); } return; } ############ FUN_ 180523060 size=968 ############ void FUN_180523060(longlong *param_1,undefined8 param_2,longlong param_3) { longlong *plVar1; longlong *plVar2; longlong lVar3; longlong lVar4; int iVar5; int iVar6; longlong *plVar7; longlong lVar8; longlong *plVar9; int iVar10; longlong *_Src; longlong *plVar11; size_t _Size; longlong *plVar12; bool bVar13; bool bVar14; if (0x20 < param_3) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); lVar8 = (param_3 - 0x21U >> 5) + 1; _Src = param_1; do { param_1 = _Src + 0x20; if ((_Src != param_1) && (plVar12 = _Src + 1, plVar12 != param_1)) { _Size = (longlong)plVar12 - (longlong)_Src; LAB_1805230f5: lVar3 = *plVar12; lVar4 = *_Src; plVar7 = *(longlong **)(lVar3 + 0x90); plVar9 = plVar7 + (longlong)*(int *)(lVar3 + 0x9c) * 3; for (; plVar7 != plVar9; plVar7 = plVar7 + 3) { if (*plVar7 == DAT_182673c28) { plVar7 = plVar7 + 1; if (plVar7 != (longlong *)0x0) goto LAB_180523144; break; } } plVar7 = (longlong *)FUN_181244160(); LAB_180523144: iVar5 = (**(code **)(*(longlong *)*plVar7 + 8))((longlong *)*plVar7,plVar7 + 1); plVar7 = *(longlong **)(lVar4 + 0x90); iVar10 = 0x3fffffff; if (0 < iVar5) { iVar10 = iVar5; } plVar9 = plVar7 + (longlong)*(int *)(lVar4 + 0x9c) * 3; for (; plVar7 != plVar9; plVar7 = plVar7 + 3) { if (*plVar7 == DAT_182673c28) { plVar7 = plVar7 + 1; if (plVar7 != (longlong *)0x0) goto LAB_1805231a3; break; } } plVar7 = (longlong *)FUN_181244160(); LAB_1805231a3: iVar6 = (**(code **)(*(longlong *)*plVar7 + 8))((longlong *)*plVar7,plVar7 + 1); iVar5 = 0x3fffffff; if (0 < iVar6) { iVar5 = iVar6; } bVar14 = SBORROW4(iVar10,iVar5); bVar13 = iVar10 - iVar5 < 0; if (iVar10 == iVar5) { iVar5 = *(int *)(lVar3 + 0x24); iVar10 = *(int *)(lVar4 + 0x24); bVar14 = SBORROW4(iVar5,iVar10); bVar13 = iVar5 - iVar10 < 0; if (iVar5 == iVar10) { bVar14 = SBORROW4(*(int *)(lVar3 + 0x20),*(int *)(lVar4 + 0x20)); bVar13 = *(int *)(lVar3 + 0x20) - *(int *)(lVar4 + 0x20) < 0; } } plVar7 = plVar12; if (bVar14 == bVar13) { do { plVar9 = *(longlong **)(lVar3 + 0x90); plVar11 = plVar7 + -1; lVar4 = *plVar11; plVar2 = plVar9 + (longlong)*(int *)(lVar3 + 0x9c) * 3; for (; plVar9 != plVar2; plVar9 = plVar9 + 3) { if (*plVar9 == DAT_182673c28) { plVar9 = plVar9 + 1; if (plVar9 != (longlong *)0x0) goto LAB_180523269; break; } } if ((*(int *)(*plVar1 + 0xc) < DAT_18267af7c) && (_Init_thread_header(&DAT_18267af7c), DAT_18267af7c == -1)) { DAT_18267af40 = &PTR_vftable_18262b558; atexit((_func_5014 *)&LAB_181a4a6e0); _Init_thread_footer(&DAT_18267af7c); } plVar9 = (longlong *)&DAT_18267af40; LAB_180523269: iVar5 = (**(code **)(*(longlong *)*plVar9 + 8))((longlong *)*plVar9,plVar9 + 1); plVar9 = *(longlong **)(lVar4 + 0x90); iVar10 = 0x3fffffff; if (0 < iVar5) { iVar10 = iVar5; } plVar2 = plVar9 + (longlong)*(int *)(lVar4 + 0x9c) * 3; for (; plVar9 != plVar2; plVar9 = plVar9 + 3) { if (*plVar9 == DAT_182673c28) { plVar9 = plVar9 + 1; if (plVar9 != (longlong *)0x0) goto LAB_1805232d8; break; } } if ((*(int *)(*plVar1 + 0xc) < DAT_18267af7c) && (_Init_thread_header(&DAT_18267af7c), DAT_18267af7c == -1)) { DAT_18267af40 = &PTR_vftable_18262b558; atexit((_func_5014 *)&LAB_181a4a6e0); _Init_thread_footer(&DAT_18267af7c); } plVar9 = (longlong *)&DAT_18267af40; LAB_1805232d8: iVar6 = (**(code **)(*(longlong *)*plVar9 + 8))((longlong *)*plVar9,plVar9 + 1); iVar5 = 0x3fffffff; if (0 < iVar6) { iVar5 = iVar6; } bVar14 = SBORROW4(iVar10,iVar5); bVar13 = iVar10 - iVar5 < 0; if (iVar10 == iVar5) { iVar5 = *(int *)(lVar3 + 0x24); iVar10 = *(int *)(lVar4 + 0x24); bVar14 = SBORROW4(iVar5,iVar10); bVar13 = iVar5 - iVar10 < 0; if (iVar5 == iVar10) { bVar14 = SBORROW4(*(int *)(lVar3 + 0x20),*(int *)(lVar4 + 0x20)); bVar13 = *(int *)(lVar3 + 0x20) - *(int *)(lVar4 + 0x20) < 0; } } if (bVar14 == bVar13) goto LAB_180523316; *plVar7 = *plVar11; plVar7 = plVar11; } while( true ); } memmove((void *)((longlong)plVar12 + (8 - _Size)),_Src,_Size); *_Src = lVar3; goto LAB_18052332e; } LAB_180523356: lVar8 = lVar8 + -1; _Src = param_1; } while (lVar8 != 0); } FUN_180520650(param_1,param_2); return; LAB_180523316: *plVar7 = lVar3; LAB_18052332e: plVar12 = plVar12 + 1; _Size = _Size + 8; if (plVar12 == param_1) goto LAB_180523356; goto LAB_1805230f5; } ############ FUN_ 180523430 size=790 ############ void FUN_180523430(longlong *param_1,longlong param_2,longlong *param_3,longlong param_4, longlong *param_5) { longlong *plVar1; longlong *plVar2; longlong *plVar3; longlong lVar4; longlong lVar5; int iVar6; int iVar7; longlong *plVar8; longlong *plVar9; longlong *plVar10; size_t _Size; int iVar11; bool bVar12; bool bVar13; longlong local_res20; local_res20 = param_4; if (param_4 < (longlong)param_5) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); plVar9 = param_5; do { param_5 = (longlong *)((longlong)plVar9 - local_res20); plVar2 = param_1 + local_res20; plVar8 = (longlong *)¶m_5; if (local_res20 <= (longlong)param_5) { plVar8 = &local_res20; } plVar9 = (longlong *)((longlong)param_5 - *plVar8); param_5 = plVar2 + *plVar8; plVar8 = plVar2; LAB_1805234d0: do { lVar4 = *plVar8; lVar5 = *param_1; plVar10 = *(longlong **)(lVar4 + 0x90); plVar3 = plVar10 + (longlong)*(int *)(lVar4 + 0x9c) * 3; for (; plVar10 != plVar3; plVar10 = plVar10 + 3) { if (*plVar10 == DAT_182673c28) { plVar10 = plVar10 + 1; if (plVar10 != (longlong *)0x0) goto LAB_18052353b; break; } } if ((*(int *)(*plVar1 + 0xc) < DAT_18267af7c) && (_Init_thread_header(&DAT_18267af7c), DAT_18267af7c == -1)) { DAT_18267af40 = &PTR_vftable_18262b558; atexit((_func_5014 *)&LAB_181a4a6e0); _Init_thread_footer(&DAT_18267af7c); } plVar10 = (longlong *)&DAT_18267af40; LAB_18052353b: iVar6 = (**(code **)(*(longlong *)*plVar10 + 8))((longlong *)*plVar10,plVar10 + 1); plVar10 = *(longlong **)(lVar5 + 0x90); iVar11 = 0x3fffffff; if (0 < iVar6) { iVar11 = iVar6; } plVar3 = plVar10 + (longlong)*(int *)(lVar5 + 0x9c) * 3; for (; plVar10 != plVar3; plVar10 = plVar10 + 3) { if (*plVar10 == DAT_182673c28) { plVar10 = plVar10 + 1; if (plVar10 != (longlong *)0x0) goto LAB_1805235ae; break; } } if ((*(int *)(*plVar1 + 0xc) < DAT_18267af7c) && (_Init_thread_header(&DAT_18267af7c), DAT_18267af7c == -1)) { DAT_18267af40 = &PTR_vftable_18262b558; atexit((_func_5014 *)&LAB_181a4a6e0); _Init_thread_footer(&DAT_18267af7c); } plVar10 = (longlong *)&DAT_18267af40; LAB_1805235ae: iVar7 = (**(code **)(*(longlong *)*plVar10 + 8))((longlong *)*plVar10,plVar10 + 1); iVar6 = 0x3fffffff; if (0 < iVar7) { iVar6 = iVar7; } bVar13 = SBORROW4(iVar11,iVar6); bVar12 = iVar11 - iVar6 < 0; if (iVar11 == iVar6) { iVar6 = *(int *)(lVar4 + 0x24); iVar11 = *(int *)(lVar5 + 0x24); bVar13 = SBORROW4(iVar6,iVar11); bVar12 = iVar6 - iVar11 < 0; if (iVar6 == iVar11) { bVar13 = SBORROW4(*(int *)(lVar4 + 0x20),*(int *)(lVar5 + 0x20)); bVar12 = *(int *)(lVar4 + 0x20) - *(int *)(lVar5 + 0x20) < 0; } } if (bVar13 != bVar12) { lVar4 = *plVar8; plVar8 = plVar8 + 1; *param_3 = lVar4; param_3 = param_3 + 1; if (plVar8 == param_5) { memmove(param_3,param_1,(longlong)plVar2 - (longlong)param_1); param_3 = (longlong *)((longlong)param_3 + ((longlong)plVar2 - (longlong)param_1)); goto LAB_180523663; } goto LAB_1805234d0; } lVar4 = *param_1; param_1 = param_1 + 1; *param_3 = lVar4; param_3 = param_3 + 1; } while (param_1 != plVar2); _Size = (longlong)param_5 - (longlong)plVar8; memmove(param_3,plVar8,_Size); param_3 = (longlong *)((longlong)param_3 + _Size); LAB_180523663: param_1 = param_5; } while (local_res20 < (longlong)plVar9); } memmove(param_3,param_1,param_2 - (longlong)param_1); return; } ############ FUN_ 1812bd3a0 size=111 ############ bool FUN_1812bd3a0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { code *pcVar1; longlong *plVar2; float fVar3; plVar2 = *(longlong **)(param_1 + 0x28); if (((plVar2 != (longlong *)0x0) && (pcVar1 = *(code **)(*plVar2 + 0x98), pcVar1 != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (plVar2 = (longlong *)(*pcVar1)(plVar2,pcVar1,param_3,param_4,0xfffffffffffffffe), plVar2 != (longlong *)0x0)) { fVar3 = (float)(**(code **)(*plVar2 + 8))(plVar2); if (fVar3 != 0.0) { return true; } return false; } return *(char *)(param_1 + 0x51) != '\0'; } ############ FUN_ 18053d660 size=1002 ############ undefined8 * FUN_18053d660(undefined8 *param_1,undefined8 param_2) { uint *_Memory; uint uVar1; int iVar2; ulonglong uVar3; longlong lVar4; longlong lVar5; ulonglong uVar6; ulonglong uVar7; ulonglong uVar8; longlong local_res10; undefined8 *puVar9; undefined8 local_58; undefined8 uStack_50; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; FUN_18049c4e0(&local_res10,"Ogg-Vorbis file"); *param_1 = juce::AudioFormatReader::vftable; uVar3 = 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; param_1[5] = 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_res10; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::OggReader::vftable; param_1[0x79] = 0; param_1[0x7a] = 0; param_1[0x7b] = param_1 + 0x7d; param_1[0x7c] = 0; *(undefined1 *)(param_1 + 0x9d) = 0; param_1[0x9e] = 0; param_1[1] = 0; *(undefined1 *)((longlong)param_1 + 0x24) = 1; param_1[0x75] = FUN_18053df80; param_1[0x76] = FUN_18053dfb0; param_1[0x77] = .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____; param_1[0x78] = &LAB_18053e000; local_58 = param_1[0x75]; uStack_50 = param_1[0x76]; local_48 = *(undefined4 *)(param_1 + 0x77); uStack_44 = *(undefined4 *)((longlong)param_1 + 0x3bc); uStack_40 = *(undefined4 *)(param_1 + 0x78); uStack_3c = *(undefined4 *)((longlong)param_1 + 0x3c4); puVar9 = &local_58; iVar2 = FUN_181371680(param_1[10],param_1 + 0xc); if (iVar2 != 0) { return param_1; } iVar2 = FUN_1813714a0(param_1 + 0xc); if (iVar2 != 0) { return param_1; } if ((*(int *)(param_1 + 0xd) == 0) || (*(int *)(param_1 + 0x1c) < 3)) { lVar4 = param_1[0x19]; } else { lVar4 = param_1[0x19] + (longlong)*(int *)(param_1 + 0x1d) * 0x28; } if ((*(int *)(param_1 + 0xd) == 0) || (*(int *)(param_1 + 0x1c) < 3)) { lVar5 = param_1[0x1a]; } else { lVar5 = (longlong)*(int *)(param_1 + 0x1d) * 0x20 + param_1[0x1a]; } FUN_18053da50(param_1,lVar5,"ENCODER","encoder",puVar9); FUN_18053da50(param_1,lVar5,"TITLE","id3title"); FUN_18053da50(param_1,lVar5,"ARTIST","id3artist"); FUN_18053da50(param_1,lVar5,"ALBUM","id3album"); FUN_18053da50(param_1,lVar5,"COMMENT","id3comment"); FUN_18053da50(param_1,lVar5,&DAT_1824ace18,"id3date"); FUN_18053da50(param_1,lVar5,"GENRE","id3genre"); FUN_18053da50(param_1,lVar5,"TRACKNUMBER","id3trackNumber"); if ((1 < *(int *)(param_1 + 0x1c)) && (*(int *)(param_1 + 0xd) != 0)) { uVar1 = *(uint *)(param_1 + 0x14); uVar6 = (ulonglong)uVar1; if (-1 < (int)uVar1) { uVar8 = uVar3; uVar7 = uVar3; if (0 < (int)uVar1) { do { iVar2 = (int)uVar8; lVar5 = FUN_181371270(param_1 + 0xc,uVar8); uVar7 = uVar7 + lVar5; uVar8 = (ulonglong)(iVar2 + 1U); } while ((int)(iVar2 + 1U) < (int)uVar6); } goto LAB_18053d940; } } uVar7 = 0xffffffffffffff7d; LAB_18053d940: uVar7 = uVar7 & 0xffffffff; param_1[3] = uVar7; iVar2 = *(int *)(lVar4 + 4); lVar5 = (longlong)iVar2; *(int *)(param_1 + 4) = iVar2; *(undefined4 *)(param_1 + 2) = 0x10; param_1[1] = (double)*(int *)(lVar4 + 8); if (0x1000 < uVar7) { uVar7 = 0x1000; } if (((int)uVar7 != *(int *)((longlong)param_1 + 0x3cc)) || (iVar2 != *(int *)(param_1 + 0x79))) { uVar8 = uVar7 + 3 & 0xfffffffc; uVar6 = (ulonglong)(iVar2 + 1) * 8 + 0xf & 0xfffffff0; lVar4 = uVar6 + (uVar8 * lVar5 + 8) * 4; param_1[0x7a] = lVar4; FUN_180481140(param_1 + 0x7c,lVar4,*(char *)(param_1 + 0x9d) != '\0'); param_1[0x7b] = param_1[0x7c]; lVar4 = uVar6 + param_1[0x7c]; if (0 < iVar2) { do { *(longlong *)(param_1[0x7b] + uVar3 * 8) = lVar4; lVar4 = lVar4 + uVar8 * 4; uVar3 = uVar3 + 1; } while ((longlong)uVar3 < lVar5); } *(undefined8 *)(param_1[0x7b] + lVar5 * 8) = 0; *(int *)((longlong)param_1 + 0x3cc) = (int)uVar7; *(int *)(param_1 + 0x79) = iVar2; } return param_1; } ############ FUN_ 180538484 size=12 ############ void .?AVSoothe2AudioProcessor@@::vtbl___AVSoothe2AudioProcessor__(longlong param_1) { .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__(param_1 + -0x148); return; } ############ FUN_ 181353210 size=328 ############ /* WARNING: Removing unreachable block (ram,0x000181353328) */ void FUN_181353210(undefined8 param_1) { uint uVar1; longlong unaff_RDI; undefined1 auStack_98 [48]; undefined8 local_68; undefined4 local_5c; uint local_58; undefined8 local_50; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; uVar1 = (uint)&stack0x00000000 & 0x13ff; uVar1 = ((uVar1 + 1) * uVar1 + 7) % 0x51; uVar1 = (int)(-uVar1 | uVar1) >> 0x1f; local_58 = ((int)(-uVar1 | uVar1) >> 0x1f) * -0x4852 ^ 0x45e2; local_5c = 0x2a0; local_68 = param_1; local_50 = param_1; FUN_181353cc6(); FUN_18135335c(); /* WARNING: Could not recover jumptable at 0x00018135346f. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(unaff_RDI + 0x76408))(); return; } ############ FUN_ 1804df300 size=439 ############ void FUN_1804df300(longlong param_1,longlong param_2,undefined8 param_3) { longlong lVar1; longlong *plVar2; code *pcVar3; char cVar4; int iVar5; longlong lVar6; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; if (*(int *)(*(longlong *)(param_1 + 0x10) + 0x44) != 1) { FUN_1804d5f80(param_1 + 0x30); cVar4 = FUN_1812bd3a0(*(undefined8 *)(param_1 + 8)); if (cVar4 == '\0') { FUN_1804e03c0(*(undefined8 *)(param_1 + 8),param_1 + 0x30,param_3); } else { FUN_1804e0350(); } FUN_1804d6110(param_2,param_1 + 0x30); return; } cVar4 = FUN_1812bd3a0(*(undefined8 *)(param_1 + 8)); lVar1 = *(longlong *)(param_1 + 8); if (cVar4 != '\0') { EnterCriticalSection((LPCRITICAL_SECTION)(lVar1 + 0x52)); plVar2 = *(longlong **)(lVar1 + 0x28); if (*(code **)(*plVar2 + 0x40) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { if ((*(int *)((longlong)plVar2 + 0xdc) == 0) || (*(longlong *)plVar2[0x1a] == 0)) { iVar5 = 0; } else { iVar5 = *(int *)(*(longlong *)plVar2[0x1a] + 0x8c); } if (iVar5 < *(int *)((longlong)plVar2 + 0x104)) { lVar6 = (longlong)iVar5 * 8; do { if (*(char *)(param_2 + 0x120) == '\0') { memset(*(void **)(lVar6 + *(longlong *)(param_2 + 0x10)),0, (longlong)*(int *)(param_2 + 4) << 3); } iVar5 = iVar5 + 1; lVar6 = lVar6 + 8; } while (iVar5 < *(int *)((longlong)plVar2 + 0x104)); } } else { (**(code **)(*plVar2 + 0x40))(plVar2,param_2,param_3); } /* WARNING: Could not recover jumptable at 0x0001804df407. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(lVar1 + 0x52)); return; } EnterCriticalSection((LPCRITICAL_SECTION)(lVar1 + 0x52)); pcVar3 = *(code **)(**(longlong **)(lVar1 + 0x28) + 0x30); if (pcVar3 != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { (*pcVar3)(*(longlong **)(lVar1 + 0x28),param_2,param_3,pcVar3,uVar7); } /* WARNING: Could not recover jumptable at 0x0001804df44b. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(lVar1 + 0x52)); return; } ############ FUN_ 18135fd30 size=51 ############ void .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ (longlong param_1,longlong param_2) { .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__(); /* WARNING: Could not recover jumptable at 0x00018135fd5c. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(**(longlong **)(param_1 + 0x168) + 200)) (*(longlong **)(param_1 + 0x168),*(undefined4 *)(param_2 + 4)); return; } ############ FUN_ 181254db0 size=268 ############ void FUN_181254db0(undefined8 *param_1,longlong param_2,undefined4 *param_3,undefined8 param_4) { code *pcVar1; char cVar2; undefined4 *puVar3; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; void *local_28; ulonglong local_20; undefined8 local_18; undefined4 local_10; if (*(char *)*param_1 != '\0') { puVar3 = (undefined4 *)FUN_1804ab070(param_3,&local_28,param_3,param_4,0xfffffffffffffffe); local_38 = *puVar3; uStack_34 = puVar3[1]; uStack_30 = puVar3[2]; uStack_2c = puVar3[3]; cVar2 = (**(code **)(**(longlong **)(param_2 + 8) + 0x50)) (*(longlong **)(param_2 + 8),&local_38); if (cVar2 != '\0') { pcVar1 = *(code **)(**(longlong **)(param_2 + 8) + 0xe8); if ((pcVar1 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) || (cVar2 = (*pcVar1)(*(longlong **)(param_2 + 8),param_1,param_3), cVar2 == '\0')) { local_28 = (void *)0x0; local_20 = 0; local_18 = 0; local_10 = 9; FUN_18124e420(&local_28,param_1,param_3[2],DAT_1824c4610); local_38 = *param_3; uStack_34 = param_3[1]; uStack_30 = param_3[2]; uStack_2c = param_3[3]; FUN_18124e500(&local_28,param_2,&local_38); FUN_1804ae9d0(&local_28); local_20 = local_20 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_28); } } } return; } ############ FUN_ 18059a460 size=546 ############ longlong * FUN_18059a460(longlong param_1,longlong *param_2,undefined8 param_3,int param_4) { LPCRITICAL_SECTION lpCriticalSection; longlong lVar1; undefined8 *puVar2; char cVar3; undefined1 uVar4; longlong *plVar5; longlong *plVar6; longlong lVar7; longlong lVar8; int iVar9; undefined8 uVar10; LPCRITICAL_SECTION p_Var11; float local_48 [5]; undefined4 local_34; uVar10 = 0xfffffffffffffffe; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x24); p_Var11 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); plVar6 = *(longlong **)(param_1 + 8); plVar5 = plVar6 + *(int *)(param_1 + 0x14); for (; plVar6 != plVar5; plVar6 = plVar6 + 1) { lVar7 = *plVar6; if ((*(int *)(lVar7 + 0x20) == param_4) && (cVar3 = FUN_181252880(lVar7 + 0x10,param_3), cVar3 != '\0')) { LOCK(); *(int *)(lVar7 + 8) = *(int *)(lVar7 + 8) + 1; UNLOCK(); LOCK(); *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x1c) + 1; UNLOCK(); *param_2 = lVar7; goto LAB_18059a65b; } } LOCK(); *(int *)(param_1 + 0x20) = *(int *)(param_1 + 0x20) + 1; UNLOCK(); lVar7 = 0; if (*(int *)(param_1 + 0x14) << 4 < *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x20)) { if (*(int *)(param_1 + 0x1c) < *(int *)(param_1 + 0x20) * 2) { FUN_18059a360(param_1,0x20); } LOCK(); *(undefined4 *)(param_1 + 0x1c) = 0; UNLOCK(); LOCK(); *(undefined4 *)(param_1 + 0x20) = 0; UNLOCK(); } iVar9 = 0x7fffffff; plVar6 = *(longlong **)(param_1 + 8); plVar5 = plVar6 + *(int *)(param_1 + 0x14); lVar8 = lVar7; if (plVar6 != plVar5) { do { lVar1 = *plVar6; if ((*(int *)(lVar1 + 0x24) <= iVar9) && (*(int *)(lVar1 + 8) == 1)) { iVar9 = *(int *)(lVar1 + 0x24); lVar8 = lVar1; } plVar6 = plVar6 + 1; } while (plVar6 != plVar5); if (lVar8 != 0) { LOCK(); *(int *)(lVar8 + 8) = *(int *)(lVar8 + 8) + 1; UNLOCK(); lVar7 = lVar8; goto LAB_18059a5b6; } } FUN_18059a360(param_1,0x20,0,iVar9,uVar10,p_Var11); if (0 < *(int *)(param_1 + 0x14)) { lVar7 = *(longlong *) (*(longlong *)(param_1 + 8) + (longlong)(*(int *)(param_1 + 0x14) + -1) * 8); } if (lVar7 != 0) { LOCK(); *(int *)(lVar7 + 8) = *(int *)(lVar7 + 8) + 1; UNLOCK(); } LAB_18059a5b6: FUN_181252990(lVar7 + 0x10,param_3); plVar5 = (longlong *)FUN_181252280(param_3); if (*(code **)(*plVar5 + 0x48) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { uVar4 = 0; } else { uVar4 = (**(code **)(*plVar5 + 0x48))(plVar5); } *(undefined1 *)(lVar7 + 0x28) = uVar4; *(int *)(lVar7 + 0x20) = param_4; local_48[4] = *(float *)(*(longlong *)(lVar7 + 0x10) + 0x28); local_48[0] = *(float *)(*(longlong *)(lVar7 + 0x10) + 0x2c) * local_48[4]; local_48[1] = 0.0; local_48[2] = 0.0; local_48[3] = 0.0; local_34 = 0; uVar10 = (**(code **)(*plVar5 + 0x40))(plVar5,param_4,local_48); puVar2 = *(undefined8 **)(lVar7 + 0x18); *(undefined8 *)(lVar7 + 0x18) = uVar10; if (puVar2 != (undefined8 *)0x0) { /* WARNING: Subroutine does not return */ free((void *)*puVar2); } *param_2 = lVar7; LAB_18059a65b: LeaveCriticalSection(lpCriticalSection); return param_2; } ############ FUN_ 1805589f0 size=1118 ############ void FUN_1805589f0(undefined8 *param_1,longlong param_2,longlong param_3,undefined8 param_4, float param_5,float param_6,int param_7,int param_8,float param_9) { uint *_Memory; byte bVar1; byte *pbVar2; code *pcVar3; byte bVar4; float fVar5; byte bVar6; char cVar7; uint uVar8; undefined4 *puVar9; undefined8 *puVar10; uint uVar11; byte *pbVar12; size_t _Size; longlong lVar13; int iVar14; undefined8 *puVar15; int iVar16; undefined1 local_res8 [8]; byte *local_118; float local_110; float fStack_10c; float fStack_108; float fStack_104; void *local_100; ulonglong local_f8; undefined8 local_f0; undefined4 local_e8; char *local_e0; undefined4 local_d8; undefined4 local_d4; undefined8 local_d0; void *local_c8; undefined8 local_c0; undefined8 local_b8; undefined8 uStack_b0; undefined8 local_a8; undefined8 local_a0; undefined4 local_98; undefined8 local_90; undefined8 local_88; undefined8 uStack_80; undefined1 local_78 [64]; local_90 = 0xfffffffffffffffe; local_e0 = ""; local_d8 = 0; local_d0 = 1; local_c8 = (void *)0x0; local_c0 = 0; local_d4 = 0x21; iVar16 = 0; puVar10 = (undefined8 *)*param_1; puVar15 = puVar10 + (longlong)*(int *)((longlong)param_1 + 0xc) * 2; do { if ((puVar10 == puVar15) || (param_5 < (float)iVar16 * param_9 + param_6)) { local_110 = param_6; fStack_10c = (float)param_7; fStack_108 = (float)iVar16 * param_9 + DAT_1824c43e8; fStack_104 = (float)param_8; if (*local_e0 != '\0') { puVar10 = (undefined8 *)FUN_1804ab070(&local_110,local_78); local_88 = *puVar10; uStack_80 = puVar10[1]; cVar7 = (**(code **)(**(longlong **)(param_3 + 8) + 0x50)) (*(longlong **)(param_3 + 8),&local_88); if (cVar7 != '\0') { pcVar3 = *(code **)(**(longlong **)(param_3 + 8) + 0xe8); if ((pcVar3 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) || (cVar7 = (*pcVar3)(*(longlong **)(param_3 + 8),&local_e0,&local_110), cVar7 == '\0')) { fVar5 = fStack_108; local_100 = (void *)0x0; local_f8 = 0; local_f0 = 0; local_e8 = 9; FUN_1804ae9d0(&local_100); if ((int)local_f8 == 0) { local_f8 = local_f8 & 0xffffffff00000000; local_f0 = CONCAT44(DAT_1824c4610,fVar5); local_e8 = local_d4; cVar7 = FUN_18124b8d0(&local_100,&local_e0); if (cVar7 == '\0') { local_a8 = 0; local_a0 = 0; local_98 = 0; FUN_1804a30a0(&local_a8,&local_e0,&local_100); FUN_1804a7840(&local_a8); } FUN_18124de00(&local_100); local_b8 = CONCAT44(fStack_10c,local_110); uStack_b0 = CONCAT44(fStack_104,fStack_108); FUN_18124e500(&local_100,param_3,&local_b8); FUN_1804ae9d0(&local_100); local_f8 = local_f8 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_100); } /* WARNING: Subroutine does not return */ free(local_100); } } } FUN_1804aed10(&local_c8); /* WARNING: Subroutine does not return */ free(local_c8); } pbVar2 = (byte *)*puVar10; bVar1 = *pbVar2; pbVar12 = pbVar2; while (bVar1 != 0) { uVar11 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar11 = 0x7f; uVar8 = 0x40; iVar14 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar8 < 9) break; uVar11 = uVar11 >> 1; iVar14 = iVar14 + 1; uVar8 = uVar8 >> 1; } while ((bVar1 & uVar8) != 0); } uVar11 = bVar1 & uVar11; lVar13 = 1; if (0 < (longlong)iVar14) { do { if ((pbVar12[lVar13] & 0xc0) != 0x80) break; uVar11 = pbVar12[lVar13] & 0x3f | uVar11 << 6; lVar13 = lVar13 + 1; } while (lVar13 <= iVar14); } } iVar14 = FUN_18049bc80(&DAT_182496878,uVar11); if (-1 < iVar14) { if ((pbVar2 == (byte *)0x0) || (*pbVar2 == 0)) { local_118 = &DAT_1821dbf98; } else { _Size = (longlong)pbVar12 - (longlong)pbVar2; puVar9 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar9 = 0; UNLOCK(); *(size_t *)(puVar9 + 2) = _Size + 4 & 0xfffffffffffffffc; pbVar12 = (byte *)(puVar9 + 4); memcpy(pbVar12,pbVar2,_Size); pbVar12[_Size] = 0; local_118 = pbVar12; } goto LAB_180558b8b; } pbVar12 = pbVar12 + 1; if ((char)bVar1 < '\0') { bVar6 = 0x40; bVar4 = bVar1 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar12 = pbVar12 + 1; bVar6 = bVar6 >> 1; bVar4 = bVar1 & bVar6; } } bVar1 = *pbVar12; } local_118 = pbVar2; if ((*(uint *)(pbVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar2 + -0x10) = *(int *)(pbVar2 + -0x10) + 1; UNLOCK(); } LAB_180558b8b: pbVar2 = local_118; if (*(uint *)(param_2 + 0x42c) <= *(uint *)((longlong)puVar10 + 0xc)) { FUN_18134a8d0(param_2,local_res8,0x1004503,0); } FUN_181232d30(&local_e0,&local_118); lVar13 = 0; pbVar12 = pbVar2; while( true ) { while( true ) { bVar1 = *pbVar12; pbVar12 = pbVar12 + 1; if (-1 < (char)bVar1) break; if ((*pbVar12 & 0xc0) != 0x80) goto LAB_180558c68; do { pbVar12 = pbVar12 + 1; } while ((*pbVar12 & 0xc0) == 0x80); lVar13 = lVar13 + 1; } if (bVar1 == 0) break; LAB_180558c68: lVar13 = lVar13 + 1; } FUN_1812554b0(&local_c8,lVar13,param_4); _Memory = (uint *)(pbVar2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar11 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar11 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar16 = iVar16 + *(int *)(puVar10 + 1); puVar10 = puVar10 + 2; } while( true ); } ############ FUN_ 1804ac600 size=546 ############ longlong * FUN_1804ac600(longlong param_1,longlong *param_2,undefined8 param_3,int param_4) { LPCRITICAL_SECTION lpCriticalSection; longlong lVar1; undefined8 *puVar2; char cVar3; undefined1 uVar4; longlong *plVar5; longlong *plVar6; longlong lVar7; longlong lVar8; int iVar9; undefined8 uVar10; LPCRITICAL_SECTION p_Var11; float local_48 [5]; undefined4 local_34; uVar10 = 0xfffffffffffffffe; lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0x24); p_Var11 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); plVar6 = *(longlong **)(param_1 + 8); plVar5 = plVar6 + *(int *)(param_1 + 0x14); for (; plVar6 != plVar5; plVar6 = plVar6 + 1) { lVar7 = *plVar6; if ((*(int *)(lVar7 + 0x20) == param_4) && (cVar3 = FUN_181252880(lVar7 + 0x10,param_3), cVar3 != '\0')) { LOCK(); *(int *)(lVar7 + 8) = *(int *)(lVar7 + 8) + 1; UNLOCK(); LOCK(); *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x1c) + 1; UNLOCK(); *param_2 = lVar7; goto LAB_1804ac7fb; } } LOCK(); *(int *)(param_1 + 0x20) = *(int *)(param_1 + 0x20) + 1; UNLOCK(); lVar7 = 0; if (*(int *)(param_1 + 0x14) << 4 < *(int *)(param_1 + 0x1c) + *(int *)(param_1 + 0x20)) { if (*(int *)(param_1 + 0x1c) < *(int *)(param_1 + 0x20) * 2) { FUN_1804ac500(param_1,0x20); } LOCK(); *(undefined4 *)(param_1 + 0x1c) = 0; UNLOCK(); LOCK(); *(undefined4 *)(param_1 + 0x20) = 0; UNLOCK(); } iVar9 = 0x7fffffff; plVar6 = *(longlong **)(param_1 + 8); plVar5 = plVar6 + *(int *)(param_1 + 0x14); lVar8 = lVar7; if (plVar6 != plVar5) { do { lVar1 = *plVar6; if ((*(int *)(lVar1 + 0x24) <= iVar9) && (*(int *)(lVar1 + 8) == 1)) { iVar9 = *(int *)(lVar1 + 0x24); lVar8 = lVar1; } plVar6 = plVar6 + 1; } while (plVar6 != plVar5); if (lVar8 != 0) { LOCK(); *(int *)(lVar8 + 8) = *(int *)(lVar8 + 8) + 1; UNLOCK(); lVar7 = lVar8; goto LAB_1804ac756; } } FUN_1804ac500(param_1,0x20,0,iVar9,uVar10,p_Var11); if (0 < *(int *)(param_1 + 0x14)) { lVar7 = *(longlong *) (*(longlong *)(param_1 + 8) + (longlong)(*(int *)(param_1 + 0x14) + -1) * 8); } if (lVar7 != 0) { LOCK(); *(int *)(lVar7 + 8) = *(int *)(lVar7 + 8) + 1; UNLOCK(); } LAB_1804ac756: FUN_181252990(lVar7 + 0x10,param_3); plVar5 = (longlong *)FUN_181252280(param_3); if (*(code **)(*plVar5 + 0x48) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { uVar4 = 0; } else { uVar4 = (**(code **)(*plVar5 + 0x48))(plVar5); } *(undefined1 *)(lVar7 + 0x28) = uVar4; *(int *)(lVar7 + 0x20) = param_4; local_48[4] = *(float *)(*(longlong *)(lVar7 + 0x10) + 0x28); local_48[0] = *(float *)(*(longlong *)(lVar7 + 0x10) + 0x2c) * local_48[4]; local_48[1] = 0.0; local_48[2] = 0.0; local_48[3] = 0.0; local_34 = 0; uVar10 = (**(code **)(*plVar5 + 0x40))(plVar5,param_4,local_48); puVar2 = *(undefined8 **)(lVar7 + 0x18); *(undefined8 *)(lVar7 + 0x18) = uVar10; if (puVar2 != (undefined8 *)0x0) { /* WARNING: Subroutine does not return */ free((void *)*puVar2); } *param_2 = lVar7; LAB_1804ac7fb: LeaveCriticalSection(lpCriticalSection); return param_2; } ############ FUN_ 18047ace0 size=378 ############ undefined8 FUN_18047ace0(longlong *param_1,int *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; code *pcVar2; longlong *plVar3; int iVar4; int iVar5; longlong lVar6; char cVar7; int iVar8; undefined8 uVar9; lVar1 = param_1[8]; uVar9 = 1; if (lVar1 != 0) { LOCK(); *(undefined1 *)(lVar1 + 0x621d) = 1; UNLOCK(); } iVar8 = param_2[1]; pcVar2 = (code *)((undefined **)*param_1)[5]; if ((undefined **)*param_1 == juce::JuceVST3Component::vftable) { if ((iVar8 != 0) && (((*(code **)(*(longlong *)param_1[5] + 0x60) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ || (cVar7 = (**(code **)(*(longlong *)param_1[5] + 0x60))(), cVar7 == '\0')) || (iVar8 != 1))) ) goto LAB_18047ae0a; } else { iVar8 = (*pcVar2)(param_1,iVar8,pcVar2,param_4,0xfffffffffffffffe); if (iVar8 != 0) goto LAB_18047ae0a; } iVar8 = param_2[1]; iVar4 = param_2[2]; iVar5 = param_2[3]; *(int *)(param_1 + 0x17) = *param_2; *(int *)((longlong)param_1 + 0xbc) = iVar8; *(int *)(param_1 + 0x18) = iVar4; *(int *)((longlong)param_1 + 0xc4) = iVar5; param_1[0x19] = *(longlong *)(param_2 + 4); param_1[10] = param_1[0x19]; *(uint *)(param_1[5] + 0x44) = (uint)(param_2[1] == 1); pcVar2 = *(code **)(*(longlong *)param_1[5] + 0xa0); if (pcVar2 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { *(bool *)(param_1[5] + 0x41) = *param_2 == 2; } else { (*pcVar2)(); } lVar6 = param_1[0x18]; plVar3 = (longlong *)param_1[5]; plVar3[6] = param_1[0x19]; *(int *)(plVar3 + 7) = (int)lVar6; (**(code **)(*plVar3 + 0x18))(); if ((int)param_1[0x1b] < 0x800) { FUN_18049bab0(param_1 + 0x1a,0xc08); } *(undefined4 *)((longlong)param_1 + 0xdc) = 0; uVar9 = 0; LAB_18047ae0a: if (lVar1 != 0) { LOCK(); *(undefined1 *)(lVar1 + 0x621d) = 0; UNLOCK(); } return uVar9; } ############ FUN_ 18047ac80 size=76 ############ undefined8 FUN_18047ac80(longlong param_1,int param_2) { code *pcVar1; char cVar2; if (param_2 == 0) { return 0; } pcVar1 = *(code **)(**(longlong **)(param_1 + 0x28) + 0x60); if ((pcVar1 != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) && (cVar2 = (*pcVar1)(), cVar2 != '\0')) { if (param_2 == 1) { return 0; } return 1; } return 1; } ############ FUN_ 1812bd560 size=196 ############ void FUN_1812bd560(longlong param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4, undefined4 param_5) { code *pcVar1; longlong lVar2; char cVar3; undefined4 uVar4; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x52)); if (*(char *)(param_1 + 0x50) == '\0') { FUN_1812bd420(param_1,param_4); pcVar1 = *(code **)(**(longlong **)(param_1 + 0x28) + 0x60); if (pcVar1 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { cVar3 = '\0'; } else { cVar3 = (*pcVar1)(); } uVar4 = 0; if (cVar3 != '\0') { uVar4 = param_5; } *(undefined4 *)(*(longlong *)(param_1 + 0x28) + 0x44) = uVar4; lVar2 = *(longlong *)(param_1 + 0x28); *(undefined8 *)(lVar2 + 0x30) = param_2; *(undefined4 *)(lVar2 + 0x38) = param_3; (**(code **)(**(longlong **)(param_1 + 0x28) + 0x18)) (*(longlong **)(param_1 + 0x28),(int)param_2,param_3); *(undefined1 *)(param_1 + 0x50) = 1; } /* WARNING: Could not recover jumptable at 0x0001812bd618. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x52)); return; } ############ FUN_ 18047ae60 size=50 ############ undefined8 FUN_18047ae60(longlong param_1,char param_2) { code *pcVar1; if (param_2 == '\0') { pcVar1 = *(code **)(**(longlong **)(param_1 + 0x28) + 0x90); if (pcVar1 != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { (*pcVar1)(); return 0; } } return 0; } ############ FUN_ 1812bc1d0 size=179 ############ void FUN_1812bc1d0(longlong param_1) { code *pcVar1; ulonglong uVar2; longlong *plVar3; ulonglong uVar4; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x48)); plVar3 = *(longlong **)(param_1 + 400); uVar4 = 0; uVar2 = (ulonglong)((longlong)(plVar3 + *(int *)(param_1 + 0x19c)) + (7 - (longlong)plVar3)) >> 3; if (plVar3 + *(int *)(param_1 + 0x19c) < plVar3) { uVar2 = uVar4; } if (uVar2 != 0) { do { pcVar1 = *(code **)(**(longlong **)(*plVar3 + 0x28) + 0x90); if (pcVar1 != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { (*pcVar1)(); } plVar3 = plVar3 + 1; uVar4 = uVar4 + 1; } while (uVar4 != uVar2); } /* WARNING: Could not recover jumptable at 0x0001812bc277. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x48)); return; } ############ FUN_ 1812bc110 size=179 ############ void FUN_1812bc110(longlong param_1,undefined1 param_2) { longlong *plVar1; longlong *plVar2; ulonglong uVar3; ulonglong uVar4; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x48)); *(undefined1 *)(param_1 + 0x41) = param_2; plVar2 = *(longlong **)(param_1 + 400); uVar3 = 0; uVar4 = (ulonglong)((longlong)(plVar2 + *(int *)(param_1 + 0x19c)) + (7 - (longlong)plVar2)) >> 3; if (plVar2 + *(int *)(param_1 + 0x19c) < plVar2) { uVar4 = uVar3; } if (uVar4 != 0) { do { plVar1 = *(longlong **)(*plVar2 + 0x28); if (*(code **)(*plVar1 + 0xa0) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { *(undefined1 *)((longlong)plVar1 + 0x41) = param_2; } else { (**(code **)(*plVar1 + 0xa0))(plVar1,param_2); } plVar2 = plVar2 + 1; uVar3 = uVar3 + 1; } while (uVar3 != uVar4); } /* WARNING: Could not recover jumptable at 0x0001812bc1b3. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x48)); return; } ############ FUN_ 181131874 size=40 ############ undefined1 FUN_181131874(void) { char cVar1; cVar1 = .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(); if (cVar1 != '\0') { cVar1 = .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(); if (cVar1 != '\0') { return 1; } .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(); } return 0; } ############ FUN_ 18113189c size=21 ############ undefined1 FUN_18113189c(void) { .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(); .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(); return 1; } ############ FUN_ 181131944 size=20 ############ void FUN_181131944(void) { .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(0); .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(); return; } ############ FUN_ 181131958 size=73 ############ /* Library Function - Single Match __scrt_initialize_crt Library: Visual Studio 2017 Release */ undefined8 __scrt_initialize_crt(int param_1) { char cVar1; if (param_1 == 0) { DAT_182672fd0 = 1; } __isa_available_init(); cVar1 = .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(); if (cVar1 != '\0') { cVar1 = .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(); if (cVar1 != '\0') { return 1; } .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(0); } return 0; } ############ FUN_ 181131b3c size=43 ############ /* Library Function - Single Match __scrt_uninitialize_crt Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release */ undefined1 __scrt_uninitialize_crt(undefined1 param_1,char param_2) { if ((DAT_182672fd0 == '\0') || (param_2 == '\0')) { .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(param_1); .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____(param_1); } return 1; } ############ FUN_ 1812520a0 size=175 ############ void FUN_1812520a0(longlong *param_1,float param_2) { int *piVar1; int iVar2; longlong *plVar3; undefined8 *puVar4; char cVar5; float fVar6; fVar6 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= param_2) && (fVar6 = DAT_1824c45c8, param_2 <= DAT_1824c45c8)) { fVar6 = param_2; } if (*(float *)(*param_1 + 0x28) != fVar6) { FUN_181252760(); *(float *)(*param_1 + 0x28) = fVar6; plVar3 = *(longlong **)(*param_1 + 0x10); if (((plVar3 != (longlong *)0x0) && (*(code **)(*plVar3 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar5 = (**(code **)(*plVar3 + 8))(plVar3,param_1), cVar5 == '\0')) { puVar4 = *(undefined8 **)(*param_1 + 0x10); *(undefined8 *)(*param_1 + 0x10) = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); return; } } } } return; } ############ FUN_ 1812526e0 size=107 ############ void FUN_1812526e0(longlong *param_1) { int *piVar1; int iVar2; longlong *plVar3; undefined8 *puVar4; char cVar5; plVar3 = *(longlong **)(*param_1 + 0x10); if ((plVar3 != (longlong *)0x0) && (*(code **)(*plVar3 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) { cVar5 = (**(code **)(*plVar3 + 8))(plVar3,param_1); if (cVar5 == '\0') { puVar4 = *(undefined8 **)(*param_1 + 0x10); *(undefined8 *)(*param_1 + 0x10) = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); return; } } } } return; } ############ FUN_ 181251a70 size=135 ############ void FUN_181251a70(longlong *param_1,undefined1 param_2) { int *piVar1; int iVar2; longlong *plVar3; undefined8 *puVar4; char cVar5; FUN_181252760(); *(undefined1 *)(*param_1 + 0x38) = param_2; plVar3 = *(longlong **)(*param_1 + 0x10); if ((plVar3 != (longlong *)0x0) && (*(code **)(*plVar3 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) { cVar5 = (**(code **)(*plVar3 + 8))(plVar3,param_1); if (cVar5 == '\0') { puVar4 = *(undefined8 **)(*param_1 + 0x10); *(undefined8 *)(*param_1 + 0x10) = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); return; } } } } return; } ############ FUN_ 181251de0 size=138 ############ void FUN_181251de0(longlong *param_1,undefined4 param_2) { int *piVar1; int iVar2; longlong *plVar3; undefined8 *puVar4; char cVar5; FUN_181252760(); *(undefined4 *)(*param_1 + 0x2c) = param_2; plVar3 = *(longlong **)(*param_1 + 0x10); if ((plVar3 != (longlong *)0x0) && (*(code **)(*plVar3 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) { cVar5 = (**(code **)(*plVar3 + 8))(plVar3,param_1); if (cVar5 == '\0') { puVar4 = *(undefined8 **)(*param_1 + 0x10); *(undefined8 *)(*param_1 + 0x10) = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); return; } } } } return; } ############ FUN_ 181251c60 size=138 ############ void FUN_181251c60(longlong *param_1,undefined4 param_2) { int *piVar1; int iVar2; longlong *plVar3; undefined8 *puVar4; char cVar5; FUN_181252760(); *(undefined4 *)(*param_1 + 0x30) = param_2; plVar3 = *(longlong **)(*param_1 + 0x10); if ((plVar3 != (longlong *)0x0) && (*(code **)(*plVar3 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) { cVar5 = (**(code **)(*plVar3 + 8))(plVar3,param_1); if (cVar5 == '\0') { puVar4 = *(undefined8 **)(*param_1 + 0x10); *(undefined8 *)(*param_1 + 0x10) = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); return; } } } } return; } ############ FUN_ 181251cf0 size=197 ############ longlong * FUN_181251cf0(longlong *param_1,longlong *param_2,undefined4 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong lVar3; longlong *plVar4; undefined8 *puVar5; char cVar6; undefined8 in_R8; lVar3 = *param_1; *param_2 = lVar3; if (lVar3 != 0) { LOCK(); *(int *)(lVar3 + 8) = *(int *)(lVar3 + 8) + 1; UNLOCK(); } FUN_181252760(param_2,lVar3,in_R8,param_4,1,0xfffffffffffffffe); *(undefined4 *)(*param_2 + 0x30) = param_3; plVar4 = *(longlong **)(*param_2 + 0x10); if ((plVar4 != (longlong *)0x0) && (*(code **)(*plVar4 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) { cVar6 = (**(code **)(*plVar4 + 8))(plVar4,param_2); if (cVar6 == '\0') { puVar5 = *(undefined8 **)(*param_2 + 0x10); *(undefined8 *)(*param_2 + 0x10) = 0; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); return param_2; } } } } return param_2; } ############ FUN_ 1813112f0 size=573 ############ void FUN_1813112f0(longlong *param_1,undefined8 *param_2,char param_3,int param_4,int *param_5, int *param_6) { int *piVar1; int iVar2; byte bVar3; undefined8 *puVar4; char cVar5; longlong *plVar6; byte *pbVar7; int iVar8; float fVar9; float fVar10; undefined8 *local_38; double local_30; undefined8 local_28; local_28 = 0xfffffffffffffffe; if (param_3 == '\0') { (**(code **)(*param_1 + 0x20))(param_1,&local_38); iVar8 = 0; if (param_4 < 1) { local_30 = (double)(*(float *)(local_38 + 5) * DAT_1824c3f20) + DAT_1824c4520; param_4 = local_30._0_4_; } else { fVar9 = (float)param_4 / DAT_1824c3f20; if (fVar9 < *(float *)(local_38 + 5)) { fVar10 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar9) && (fVar10 = DAT_1824c45c8, fVar9 <= DAT_1824c45c8)) { fVar10 = fVar9; } if (*(float *)(local_38 + 5) != fVar10) { FUN_181252760(&local_38); *(float *)(local_38 + 5) = fVar10; plVar6 = (longlong *)local_38[2]; if (((plVar6 != (longlong *)0x0) && (*(code **)(*plVar6 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar5 = (**(code **)(*plVar6 + 8))(plVar6,&local_38), cVar5 == '\0')) { puVar4 = (undefined8 *)local_38[2]; local_38[2] = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } } } } } *param_6 = param_4; plVar6 = (longlong *)FUN_181252280(&local_38); fVar9 = (float)(**(code **)(*plVar6 + 0x28))(plVar6,param_2); if (*(float *)(local_38 + 6) != 0.0) { pbVar7 = (byte *)*param_2; while( true ) { while( true ) { bVar3 = *pbVar7; pbVar7 = pbVar7 + 1; if (-1 < (char)bVar3) break; if ((*pbVar7 & 0xc0) != 0x80) goto LAB_1813114b8; do { pbVar7 = pbVar7 + 1; } while ((*pbVar7 & 0xc0) == 0x80); iVar8 = iVar8 + 1; } if (bVar3 == 0) break; LAB_1813114b8: iVar8 = iVar8 + 1; } fVar9 = fVar9 + (float)iVar8 * *(float *)(local_38 + 6); } fVar9 = ceilf(fVar9 * *(float *)(local_38 + 5) * *(float *)((longlong)local_38 + 0x2c)); *param_5 = (int)fVar9 + *param_6 * 2; LOCK(); piVar1 = (int *)(local_38 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_38)(local_38,1); } } else { *param_5 = 0x32; if (param_4 < 1) { *param_6 = 10; } else { *param_6 = param_4 / 2; } } return; } ############ FUN_ 1812501e0 size=332 ############ void FUN_1812501e0(longlong *param_1,int param_2,int param_3,float param_4) { int *piVar1; float fVar2; float fVar3; int iVar4; longlong *plVar5; undefined8 *puVar6; char cVar7; longlong *plVar8; longlong lVar9; if ((param_3 < 0) || (*(int *)((longlong)param_1 + 0xc) < param_2 + param_3)) { param_3 = *(int *)((longlong)param_1 + 0xc) - param_2; } if (0 < param_3) { lVar9 = (longlong)param_2 * 0x20; fVar2 = *(float *)(lVar9 + 0x10 + *param_1); while (param_3 = param_3 + -1, -1 < param_3) { plVar8 = (longlong *)(*param_1 + lVar9); lVar9 = lVar9 + 0x20; *(float *)(plVar8 + 2) = (*(float *)(plVar8 + 2) - fVar2) * param_4 + fVar2; fVar3 = *(float *)(*plVar8 + 0x2c); FUN_181252760(plVar8); *(float *)(*plVar8 + 0x2c) = fVar3 * param_4; plVar5 = *(longlong **)(*plVar8 + 0x10); if (((plVar5 != (longlong *)0x0) && (*(code **)(*plVar5 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar7 = (**(code **)(*plVar5 + 8))(plVar5,plVar8), cVar7 == '\0')) { puVar6 = *(undefined8 **)(*plVar8 + 0x10); *(undefined8 *)(*plVar8 + 0x10) = 0; if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*puVar6)(puVar6,1); } } } *(float *)(plVar8 + 3) = param_4 * *(float *)(plVar8 + 3); } } return; } ############ FUN_ 180477940 size=95 ############ undefined8 FUN_180477940(longlong param_1,longlong param_2) { code *pcVar1; char cVar2; longlong lVar3; longlong lVar4; if ((param_2 != 0) && ((pcVar1 = *(code **)(**(longlong **)(param_1 + 0x58) + 0xb0), pcVar1 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ || (cVar2 = (*pcVar1)(), cVar2 != '\0')))) { lVar3 = 0; while (lVar4 = lVar3 + 1, *(char *)(param_2 + lVar3) == (&DAT_1821d8ff4)[lVar3]) { lVar3 = lVar4; if (lVar4 == 5) { return 0; } } } return 1; } ############ FUN_ 1812f78a0 size=589 ############ void FUN_1812f78a0(longlong *param_1,undefined8 *param_2,char param_3,int param_4,int *param_5, int *param_6) { int *piVar1; int iVar2; byte bVar3; undefined8 *puVar4; char cVar5; longlong *plVar6; byte *pbVar7; int iVar8; float fVar9; float fVar10; undefined8 *local_38; double local_30; undefined8 local_28; local_28 = 0xfffffffffffffffe; if (param_3 == '\0') { (**(code **)(*param_1 + 0x20))(param_1,&local_38); iVar8 = 0; if (param_4 < 1) { local_30 = (double)(*(float *)(local_38 + 5) * DAT_1824c3f20) + DAT_1824c4520; param_4 = local_30._0_4_; } else { fVar9 = (float)param_4 / DAT_1824c3f20; if (fVar9 < *(float *)(local_38 + 5)) { fVar10 = DAT_1824c3cb8; if ((DAT_1824c3cb8 <= fVar9) && (fVar10 = DAT_1824c45c8, fVar9 <= DAT_1824c45c8)) { fVar10 = fVar9; } if (*(float *)(local_38 + 5) != fVar10) { FUN_181252760(&local_38); *(float *)(local_38 + 5) = fVar10; plVar6 = (longlong *)local_38[2]; if (((plVar6 != (longlong *)0x0) && (*(code **)(*plVar6 + 8) != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____)) && (cVar5 = (**(code **)(*plVar6 + 8))(plVar6,&local_38), cVar5 == '\0')) { puVar4 = (undefined8 *)local_38[2]; local_38[2] = 0; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } } } } } *param_6 = param_4; plVar6 = (longlong *)FUN_181252280(&local_38); fVar9 = (float)(**(code **)(*plVar6 + 0x28))(plVar6,param_2); if (*(float *)(local_38 + 6) != 0.0) { pbVar7 = (byte *)*param_2; while( true ) { while( true ) { bVar3 = *pbVar7; pbVar7 = pbVar7 + 1; if (-1 < (char)bVar3) break; if ((*pbVar7 & 0xc0) != 0x80) goto LAB_1812f7a78; do { pbVar7 = pbVar7 + 1; } while ((*pbVar7 & 0xc0) == 0x80); iVar8 = iVar8 + 1; } if (bVar3 == 0) break; LAB_1812f7a78: iVar8 = iVar8 + 1; } fVar9 = fVar9 + (float)iVar8 * *(float *)(local_38 + 6); } fVar9 = ceilf(fVar9 * *(float *)(local_38 + 5) * *(float *)((longlong)local_38 + 0x2c)); *param_5 = (int)fVar9 + *param_6 * 2; LOCK(); piVar1 = (int *)(local_38 + 1); iVar8 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar8 == 1) { (**(code **)*local_38)(local_38,1); } } else { *param_5 = 0x32; if (param_4 < 1) { *param_6 = 10; } else { *param_6 = param_4 / 10; } } return; } ############ FUN_ 18049a020 size=247 ############ bool FUN_18049a020(longlong *param_1) { longlong lVar1; longlong *plVar2; int iVar3; char cVar4; int iVar5; int iVar6; int local_res8 [2]; iVar6 = 0; lVar1 = *param_1; plVar2 = *(longlong **)param_1[2]; iVar5 = HttpSendRequestExW(*(undefined8 *)(lVar1 + 0x60),param_1[1],0,8,0); if ((iVar5 != 0) && (iVar5 = *(int *)(lVar1 + 0x78), 0 < iVar5)) { do { local_res8[0] = 0; iVar3 = 0x400; if (iVar5 - iVar6 < 0x400) { iVar3 = iVar5 - iVar6; } } while ((((iVar3 != 0) && (iVar5 = InternetWriteFile(*(undefined8 *)(lVar1 + 0x60), (longlong)iVar6 + *(longlong *)(lVar1 + 0x70),iVar3, local_res8), iVar5 != 0)) && ((iVar6 = iVar6 + local_res8[0], plVar2 == (longlong *)0x0 || ((*(code **)(*plVar2 + 8) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____ || (cVar4 = (**(code **)(*plVar2 + 8)) (plVar2,*(undefined8 *)(lVar1 + 8),iVar6, *(undefined4 *)(lVar1 + 0x78)), cVar4 != '\0')))))) && (iVar5 = *(int *)(lVar1 + 0x78), iVar6 < iVar5)); } iVar5 = HttpEndRequestW(*(undefined8 *)(*param_1 + 0x60),0,0,0); return iVar5 != 0; } ############ FUN_ 180476930 size=98 ############ undefined8 FUN_180476930(longlong param_1) { longlong *plVar1; code *UNRECOVERED_JUMPTABLE; int iVar2; undefined8 uVar3; plVar1 = *(longlong **)(param_1 + 0x20); if (plVar1 != (longlong *)0x0) { UNRECOVERED_JUMPTABLE = (code *)((undefined **)*plVar1)[5]; if ((undefined **)*plVar1 != juce::JuceAudioProcessor::vftable) { /* WARNING: Could not recover jumptable at 0x00018047697f. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar3 = (*UNRECOVERED_JUMPTABLE)(plVar1,UNRECOVERED_JUMPTABLE); return uVar3; } if (*(code **)(*(longlong *)plVar1[5] + 0xc0) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { return 1; } iVar2 = (**(code **)(*(longlong *)plVar1[5] + 0xc0))(); if (0 < iVar2) { return 1; } } return 0; } ############ FUN_ 180476df0 size=901 ############ void FUN_180476df0(longlong param_1) { longlong *plVar1; uint uVar2; longlong *plVar3; longlong *plVar4; int iVar5; int iVar6; longlong **pplVar7; longlong lVar8; undefined8 uVar9; uint *puVar10; longlong *plVar11; ulonglong uVar12; ulonglong uVar13; uint local_res8; longlong *local_res18; longlong *local_res20; longlong local_68; longlong local_60; longlong local_58 [4]; local_58[1] = 0xfffffffffffffffe; uVar12 = 0; iVar6 = 0; iVar5 = 0; plVar11 = *(longlong **)(param_1 + -0x30); if (plVar11 != (longlong *)0x0) { iVar5 = (int)(plVar11[1] - *plVar11 >> 3); } plVar11 = local_res18; uVar13 = uVar12; if (0 < iVar5) { do { plVar3 = *(longlong **)(param_1 + -0x30); if (plVar3 == (longlong *)0x0) { local_res20 = (longlong *)0x0; pplVar7 = &local_res20; local_res8 = (uint)uVar12 | 2; } else { if ((ulonglong)(plVar3[1] - *plVar3 >> 3) <= uVar13) { /* WARNING: Subroutine does not return */ FUN_18047cca0(); } plVar11 = *(longlong **)(*plVar3 + uVar13 * 8); local_res18 = plVar11; if (plVar11 != (longlong *)0x0) { (**(code **)(*plVar11 + 8))(plVar11); } pplVar7 = &local_res18; local_res8 = (uint)uVar12 | 1; } uVar12 = (ulonglong)local_res8; plVar3 = *pplVar7; if ((local_res8 & 2) != 0) { local_res8 = local_res8 & 0xfffffffd; uVar12 = (ulonglong)local_res8; if (local_res20 != (longlong *)0x0) { if (*(code **)(*local_res20 + 0x10) == FUN_18113d7a0) { LOCK(); plVar11 = local_res20 + 1; lVar8 = *plVar11; *(int *)plVar11 = (int)*plVar11 + -1; UNLOCK(); if ((int)lVar8 == 1) { *(undefined4 *)(local_res20 + 1) = 0xfffffc18; (**(code **)(*local_res20 + 0x20))(local_res20,1); } uVar12 = (ulonglong)local_res8; plVar11 = local_res18; } else { (**(code **)(*local_res20 + 0x10))(local_res20); } } } plVar4 = local_res18; if ((uVar12 & 1) != 0) { local_res8 = (uint)uVar12 & 0xfffffffe; uVar12 = (ulonglong)local_res8; if (plVar11 != (longlong *)0x0) { if (*(code **)(*plVar11 + 0x10) == FUN_18113d7a0) { LOCK(); plVar1 = plVar11 + 1; lVar8 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar8 == 1) { *(undefined4 *)(plVar11 + 1) = 0xfffffc18; (**(code **)(*local_res18 + 0x20))(local_res18,1); uVar12 = (ulonglong)local_res8; plVar11 = plVar4; } else { uVar12 = (ulonglong)local_res8; plVar11 = plVar4; } } else { (**(code **)(*plVar11 + 0x10))(plVar11); } } } lVar8 = __RTDynamicCast(plVar3,0,&Steinberg::Vst::Parameter::RTTI_Type_Descriptor, &juce::JuceVST3EditController::Param::RTTI_Type_Descriptor,0); if (lVar8 != 0) { uVar9 = (**(code **)(**(longlong **)(lVar8 + 0x340) + 0x20)) (*(longlong **)(lVar8 + 0x340),&local_68,0x80); FUN_1804741b0(lVar8 + 0x14,uVar9); puVar10 = (uint *)(local_68 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar9 = (**(code **)(**(longlong **)(lVar8 + 0x340) + 0x20)) (*(longlong **)(lVar8 + 0x340),&local_60,8); FUN_1804741b0(lVar8 + 0x114,uVar9); puVar10 = (uint *)(local_60 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } (**(code **)(**(longlong **)(lVar8 + 0x340) + 0x28))(*(longlong **)(lVar8 + 0x340),local_58) ; FUN_1804741b0(lVar8 + 0x214); puVar10 = (uint *)(local_58[0] + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } uVar12 = (ulonglong)local_res8; plVar11 = local_res18; } uVar13 = uVar13 + 1; } while ((longlong)uVar13 < (longlong)iVar5); } if ((*(longlong *)(param_1 + 0x10) != 0) && (plVar11 = *(longlong **)(*(longlong *)(param_1 + 0x10) + 0x28), plVar11 != (longlong *)0x0)) { if (*(code **)(*plVar11 + 0xc0) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { if ((int)plVar11[1] != 3) goto LAB_180477103; } else { iVar5 = (**(code **)(*plVar11 + 0xc0))(plVar11); if (iVar5 < 2) goto LAB_180477103; } if (*(code **)(*plVar11 + 200) == .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__) { if ((int)plVar11[1] == 3) { iVar6 = (int)plVar11[0x89]; } } else { iVar6 = (**(code **)(*plVar11 + 200))(plVar11); } iVar5 = (**(code **)(*plVar11 + 0xc0))(plVar11); FUN_181139990(param_1 + -0x50,0x70727374,SUB84((double)iVar6 / (double)(iVar5 + -1),0)); } LAB_180477103: if ((*(longlong *)(param_1 + -0x40) != 0) && (*(char *)(param_1 + 0x619d) == '\0')) { (**(code **)(**(longlong **)(param_1 + -0x40) + 0x30))(*(longlong **)(param_1 + -0x40),0x1c); } return; } ############ FUN_ 180476340 size=415 ############ undefined8 FUN_180476340(longlong *param_1) { uint uVar1; longlong *plVar2; uint *puVar3; int iVar4; int iVar5; longlong *plVar6; longlong *plVar7; longlong *plVar8; uint *puVar9; longlong *plVar10; float fVar11; if ((param_1[0xc] != 0) && (plVar2 = *(longlong **)(param_1[0xc] + 0x28), plVar2 != (longlong *)0x0)) { plVar7 = (longlong *)0x0; iVar4 = 0; puVar9 = *(uint **)(param_1[0xc] + 8); plVar8 = (longlong *) ((ulonglong) ((longlong)(puVar9 + *(int *)(param_1[0xc] + 0x14)) + (3 - (longlong)puVar9)) >> 2); if (puVar9 + *(int *)(param_1[0xc] + 0x14) < puVar9) { plVar8 = plVar7; } plVar10 = plVar7; if (plVar8 != (longlong *)0x0) { do { uVar1 = *puVar9; for (puVar3 = *(uint **)(*(longlong *)(param_1[0xc] + 0x60) + (longlong)(int)(uVar1 % *(uint *)(param_1[0xc] + 0x6c)) * 8); plVar6 = plVar7, puVar3 != (uint *)0x0; puVar3 = *(uint **)(puVar3 + 4)) { if (*puVar3 == uVar1) { plVar6 = *(longlong **)(puVar3 + 2); break; } } fVar11 = (float)(**(code **)(*plVar6 + 8))(); (**(code **)(*param_1 + 0x78))(param_1,uVar1,(double)fVar11); puVar9 = puVar9 + 1; plVar10 = (longlong *)((longlong)plVar10 + 1); } while (plVar10 != plVar8); } if (*(code **)(*plVar2 + 0xc0) == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { iVar5 = 1; if ((int)plVar2[1] == 3) { iVar5 = 0x80; } } else { iVar5 = (**(code **)(*plVar2 + 0xc0))(plVar2); } if (1 < iVar5) { if (*(code **)(*plVar2 + 200) == .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__) { if ((int)plVar2[1] == 3) { iVar4 = (int)plVar2[0x89]; } } else { iVar4 = (**(code **)(*plVar2 + 200))(plVar2); } (**(code **)(*param_1 + 0x78))(param_1,0x70727374,(double)iVar4 / (double)(iVar5 + -1)); } } plVar2 = (longlong *)param_1[2]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x30))(plVar2,4); } return 0x80004001; } ############ FUN_ 180475ba0 size=617 ############ undefined8 * FUN_180475ba0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { code *pcVar1; longlong *plVar2; int iVar3; int iVar4; short *psVar5; longlong lVar6; longlong lVar7; FUN_181137760(param_1,param_2,param_3,param_4,0xfffffffffffffffe); *param_1 = juce::JuceVST3EditController::ProgramChangeParameter::vftable; param_1[0x67] = param_2; *(undefined4 *)(param_1 + 2) = 0x70727374; lVar6 = 0; iVar3 = 0; psVar5 = (short *)(param_1 + 3); lVar7 = lVar6; do { psVar5[-2] = (short)"Program"[lVar7]; if (((("Program"[lVar7] == '\0') || (psVar5[-1] = (short)"Program"[lVar7 + 1], "Program"[lVar7 + 1] == '\0')) || (*psVar5 = (short)"Program"[lVar7 + 2], "Program"[lVar7 + 2] == '\0')) || (psVar5[1] = (short)"Program"[lVar7 + 3], "Program"[lVar7 + 3] == '\0')) break; lVar7 = lVar7 + 4; psVar5 = psVar5 + 4; } while (lVar7 < 0x80); *(undefined2 *)((longlong)param_1 + 0x112) = 0; psVar5 = (short *)(param_1 + 0x23); lVar7 = lVar6; do { psVar5[-2] = (short)"Program"[lVar7]; if ((("Program"[lVar7] == '\0') || (psVar5[-1] = (short)"Program"[lVar7 + 1], "Program"[lVar7 + 1] == '\0')) || ((*psVar5 = (short)"Program"[lVar7 + 2], "Program"[lVar7 + 2] == '\0' || (psVar5[1] = (short)"Program"[lVar7 + 3], "Program"[lVar7 + 3] == '\0')))) break; lVar7 = lVar7 + 4; psVar5 = psVar5 + 4; } while (lVar7 < 0x80); *(undefined2 *)((longlong)param_1 + 0x212) = 0; psVar5 = (short *)(param_1 + 0x43); do { psVar5[-2] = (short)(char)(&DAT_18249336a)[lVar6]; if ((((&DAT_18249336a)[lVar6] == '\0') || (psVar5[-1] = (short)(char)(&DAT_18249336b)[lVar6], (&DAT_18249336b)[lVar6] == '\0')) || ((*psVar5 = (short)(char)(&DAT_18249336c)[lVar6], (&DAT_18249336c)[lVar6] == '\0' || (psVar5[1] = (short)(char)(&DAT_18249336d)[lVar6], (&DAT_18249336d)[lVar6] == '\0')))) break; lVar6 = lVar6 + 4; psVar5 = psVar5 + 4; } while (lVar6 < 0x80); *(undefined2 *)((longlong)param_1 + 0x312) = 0; pcVar1 = *(code **)(*(longlong *)param_1[0x67] + 0xc0); if (pcVar1 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { iVar4 = 1; if ((int)((longlong *)param_1[0x67])[1] == 3) { iVar4 = 0x80; } } else { iVar4 = (*pcVar1)(); } *(int *)((longlong)param_1 + 0x314) = iVar4 + -1; plVar2 = (longlong *)param_1[0x67]; if (*(code **)(*plVar2 + 200) == .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__) { if ((int)plVar2[1] == 3) { iVar3 = (int)plVar2[0x89]; } } else { iVar3 = (**(code **)(*plVar2 + 200))(); } param_1[99] = (double)iVar3 / (double)*(int *)((longlong)param_1 + 0x314); *(undefined4 *)(param_1 + 100) = 0; *(undefined4 *)((longlong)param_1 + 0x324) = 0x8001; return param_1; } ############ FUN_ 180474840 size=53 ############ undefined8 FUN_180474840(longlong param_1) { code *pcVar1; int iVar2; pcVar1 = *(code **)(**(longlong **)(param_1 + 0x28) + 0xc0); if (pcVar1 != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { iVar2 = (*pcVar1)(); if (iVar2 < 1) { return 0; } } return 1; } ############ FUN_ 180474880 size=456 ############ undefined8 FUN_180474880(longlong param_1,int param_2,undefined4 *param_3) { code *pcVar1; longlong lVar2; int iVar3; undefined4 uVar4; longlong *plVar5; uint uVar6; uint *puVar7; longlong local_res20; longlong local_28 [2]; undefined4 *local_18; local_28[1] = 0xfffffffffffffffe; if (param_2 != 0) { memset(param_3,0,0x108); return 1; } *param_3 = 0x70727374; pcVar1 = *(code **)(**(longlong **)(param_1 + 0x28) + 0xc0); if (pcVar1 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { uVar4 = 1; if ((int)(*(longlong **)(param_1 + 0x28))[1] == 3) { uVar4 = 0x80; } } else { uVar4 = (*pcVar1)(); } param_3[0x41] = uVar4; FUN_18049c4e0(&local_res20,"Factory Presets"); lVar2 = DAT_1826739f8; local_18 = &DAT_182673984; do { LOCK(); uVar6 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar6 != 0); if (DAT_1826739f8 == 0) { local_28[0] = local_res20; uVar6 = *(uint *)(local_res20 + -0x10); } else { if (*(longlong *)(DAT_1826739f8 + 0x40) != 0) { iVar3 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res20,*(undefined1 *)(DAT_1826739f8 + 0x38),0 ); if (iVar3 < 0) { FUN_181234570(*(undefined8 *)(lVar2 + 0x40),local_28,&local_res20,&local_res20); goto LAB_1804749a9; } } iVar3 = FUN_1812498b0(lVar2 + 0x18,local_res20,*(undefined1 *)(lVar2 + 0x38),0); if (iVar3 < 0) { local_28[0] = local_res20; uVar6 = *(uint *)(local_res20 + -0x10); } else { plVar5 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar3); local_28[0] = *plVar5; uVar6 = *(uint *)(local_28[0] + -0x10); } } if ((uVar6 & 0x30000000) == 0) { LOCK(); *(int *)(local_28[0] + -0x10) = *(int *)(local_28[0] + -0x10) + 1; UNLOCK(); } LAB_1804749a9: LOCK(); DAT_182673984 = 0; UNLOCK(); puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_1804741b0(param_3 + 1,local_28); puVar7 = (uint *)(local_28[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } return 0; } ############ FUN_ 180474a50 size=276 ############ undefined8 FUN_180474a50(longlong param_1,int param_2,uint param_3,undefined8 param_4) { int *piVar1; int iVar2; code *pcVar3; uint uVar4; undefined8 uVar5; bool bVar6; longlong local_18; undefined1 *local_10; if (param_2 == 0x70727374) { pcVar3 = *(code **)(**(longlong **)(param_1 + 0x28) + 0xc0); if (pcVar3 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { uVar4 = 1; if ((int)(*(longlong **)(param_1 + 0x28))[1] == 3) { uVar4 = 0x80; } } else { uVar4 = (*pcVar3)(); } if (param_3 < uVar4) { uVar5 = (**(code **)(**(longlong **)(param_1 + 0x28) + 0xd8)) (*(longlong **)(param_1 + 0x28),&local_18,param_3); FUN_1804741b0(param_4,uVar5); if ((*(uint *)(local_18 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_18 + -0x10); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_18 + -0x10)); } } return 0; } } local_10 = &DAT_1821dbf98; FUN_1804741b0(param_4,&local_10); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar6 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar6) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return 1; } ############ FUN_ 18047af10 size=645 ############ void FUN_18047af10(longlong param_1,longlong *param_2) { code *pcVar1; uint *puVar2; double dVar3; int iVar4; int iVar5; uint uVar6; longlong *plVar7; undefined1 *puVar8; uint uVar9; int iVar10; double dVar11; float fVar12; undefined4 local_res10 [2]; double local_res18; double local_res20; iVar4 = (**(code **)(*param_2 + 0x18))(param_2); dVar3 = DAT_1824c4520; iVar10 = 0; if (0 < iVar4) { do { plVar7 = (longlong *)(**(code **)(*param_2 + 0x20))(param_2,iVar10); if (plVar7 != (longlong *)0x0) { iVar5 = (**(code **)(*plVar7 + 0x20))(plVar7); local_res18 = 0.0; local_res10[0] = 0; iVar5 = (**(code **)(*plVar7 + 0x28))(plVar7,iVar5 + -1,local_res10,&local_res18); if (iVar5 == 0) { uVar6 = (**(code **)(*plVar7 + 0x18))(plVar7); if (uVar6 == 0x70727374) { pcVar1 = *(code **)(**(longlong **)(param_1 + 0x30) + 0xc0); if (pcVar1 == .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { uVar6 = 1; if ((int)(*(longlong **)(param_1 + 0x30))[1] == 3) { uVar6 = 0x80; } } else { uVar6 = (*pcVar1)(); } iVar5 = 0; if (0 < (int)(uVar6 - 1)) { iVar5 = uVar6 - 1; } dVar11 = (double)iVar5 * local_res18 + dVar3; local_res20 = dVar11; if ((1 < (int)uVar6) && (uVar9 = SUB84(dVar11,0), uVar9 < uVar6)) { plVar7 = *(longlong **)(param_1 + 0x30); if (*(code **)(*plVar7 + 200) == .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__) { if ((int)plVar7[1] == 3) { uVar6 = *(uint *)(plVar7 + 0x89); } else { uVar6 = 0; } } else { uVar6 = (**(code **)(*plVar7 + 200))(); } if (uVar9 != uVar6) { plVar7 = *(longlong **)(param_1 + 0x30); if (*(code **)(*plVar7 + 0xd0) == .?AV?$SpectralProcessor@M$07$01@@::vtbl___AV__SpectralProcessor_M_07_01__) { if ((int)plVar7[1] == 3) { if (uVar9 < *(uint *)((longlong)plVar7 + 0x444)) { FUN_18115d300(plVar7 + 0x80, *(undefined8 *)(plVar7[0x87] + (longlong)(int)uVar9 * 8)); } else { FUN_18115d300(plVar7 + 0x80,0); } } } else { (**(code **)(*plVar7 + 0xd0))(plVar7,(ulonglong)dVar11 & 0xffffffff); } } } } else { fVar12 = (float)local_res18; for (puVar2 = *(uint **)(*(longlong *)(*(longlong *)(param_1 + 0x40) + 0x60) + (longlong) (int)(uVar6 % *(uint *)(*(longlong *)(param_1 + 0x40) + 0x6c)) * 8); puVar2 != (uint *)0x0; puVar2 = *(uint **)(puVar2 + 4)) { if (*puVar2 == uVar6) { plVar7 = *(longlong **)(puVar2 + 2); if (plVar7 != (longlong *)0x0) { (**(code **)(*plVar7 + 0x10))(plVar7,fVar12); puVar8 = (undefined1 *)FUN_18047c390(); *puVar8 = 1; FUN_1812c3d40(plVar7,fVar12); } break; } } } } } iVar10 = iVar10 + 1; } while (iVar10 < iVar4); } return; } ############ FUN_ 18047a420 size=83 ############ undefined8 FUN_18047a420(longlong param_1) { undefined **ppuVar1; code *pcVar2; int iVar3; undefined8 uVar4; ppuVar1 = (undefined **)**(longlong **)(param_1 + 0x30); if (ppuVar1 != juce::JuceAudioProcessor::vftable) { uVar4 = (*(code *)ppuVar1[5])(); return uVar4; } pcVar2 = *(code **)(*(longlong *)(*(longlong **)(param_1 + 0x30))[5] + 0xc0); if (pcVar2 != .?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@:: vtbl___AV__ModuleDecryptor_VSoothe2_DynamicCryptoManager_eden_pace____) { iVar3 = (*pcVar2)(); if (iVar3 < 1) { return 0; } } return 1; } ############ FUN_ 18115d300 size=958 ############ /* WARNING: Removing unreachable block (ram,0x00018115d455) */ /* WARNING: Removing unreachable block (ram,0x00018115d387) */ longlong FUN_18115d300(undefined8 param_1,undefined8 param_2) { longlong lVar1; uint uVar2; int iVar3; uint uVar4; undefined1 auStack_1d8 [48]; undefined *local_1a8; undefined8 local_1a0; undefined *local_198; undefined8 local_190; undefined8 local_168; undefined4 local_150; uint local_14c; undefined8 local_148; undefined8 local_c0; ulonglong local_48; local_c0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1d8; uVar2 = (uint)&stack0x00000000 & 0x7aff; iVar3 = uVar2 * uVar2 + 1; uVar4 = (iVar3 >> 4) + (iVar3 >> 1) + iVar3 * 0x24924924 >> 0x1d; uVar2 = (uint)&stack0x00000000 & 0x5bff; iVar3 = uVar2 * uVar2 + 1; uVar2 = (iVar3 >> 4) + (iVar3 >> 1) + iVar3 * 0x24924924 >> 0x1d; uVar2 = (int)(uVar2 - 7) >> 0x1f & uVar2 | (int)(uVar4 - 7) >> 0x1f & uVar4; local_14c = ((int)(-uVar2 | uVar2) >> 0x1f) * -0xf094 ^ 0xf974; local_150 = 0xa30; local_1a0 = 0; local_190 = 0xd24; local_1a8 = &DAT_180bab7d8; local_198 = &DAT_180bac4fc; local_168 = param_1; local_148 = param_2; lVar1 = FUN_18115f1b4(); return (-lVar1 ^ 0xffffffffffffffffU) + 1; } ############ FUN_ 1811fe4a0 size=290 ############ void FUN_1811fe4a0(LPCRITICAL_SECTION param_1,undefined8 param_2,undefined1 param_3) { uint uVar1; undefined8 uVar2; uint *puVar3; void *local_res8; undefined1 *local_res20; longlong local_28; longlong local_20 [2]; LPCRITICAL_SECTION local_10; local_20[1] = 0xfffffffffffffffe; local_10 = param_1; EnterCriticalSection(param_1); FUN_1811fc470(param_1,local_20,param_3); local_res20 = &DAT_1821dbf98; (**(code **)(*(longlong *)param_1[2].SpinCount + 0x10)) ((longlong *)param_1[2].SpinCount,&local_res8,&local_res20); uVar2 = FUN_18122bf10(); FUN_18122c1b0(uVar2,&local_28,&DAT_182673950); FUN_181246b70(local_res8,&local_28,local_20); puVar3 = (uint *)(local_28 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_1812c29a0(local_res8,param_2); if (local_res8 != (void *)0x0) { FUN_1812472e0(local_res8); /* WARNING: Subroutine does not return */ free(local_res8); } puVar3 = (uint *)(local_20[0] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } LeaveCriticalSection(param_1); return; } ############ FUN_ 1811fc760 size=3247 ############ /* WARNING: Instruction at (ram,0x0001811fd3b5) overlaps instruction at (ram,0x0001811fd3b1) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001811fc7f5) */ /* WARNING: Removing unreachable block (ram,0x0001811fc8d3) */ void FUN_1811fc760(LPCRITICAL_SECTION param_1,undefined8 param_2,undefined8 param_3) { longlong lVar1; undefined8 uVar2; uint uVar3; uint uVar4; uint uVar5; int *piVar6; ulonglong uVar7; uint *puVar8; uint *puVar9; int iVar10; uint uVar11; undefined4 *puVar12; ulonglong uVar13; ulonglong uVar14; uint uVar15; uint uVar16; longlong *plVar17; undefined1 (*pauVar18) [16]; uint uVar19; uint uVar20; bool bVar21; undefined1 unaff_XMM14 [16]; int unaff_retaddr; ulonglong uStack_1c8; ulonglong uStack_1c0; undefined1 auStack_1b8 [32]; undefined8 local_198; undefined4 local_18c; uint local_188; undefined8 local_180; undefined8 local_178; int local_170; uint local_16c; uint local_168; uint local_164; undefined4 local_150; uint local_14c; uint local_148; undefined4 local_144; undefined8 local_140; undefined4 local_138; undefined8 local_130; LPCRITICAL_SECTION local_110; longlong local_108 [2]; uint local_f8 [2]; longlong local_f0; code *local_e8; undefined4 local_e0; undefined4 local_dc; LPCRITICAL_SECTION local_d8; uint local_d0; uint local_cc; uint local_c8; uint local_c4; undefined4 local_c0; undefined4 local_bc; undefined8 local_b8; uint local_b0; uint local_ac; uint local_a8; uint local_a4; undefined1 local_68 [32]; uint local_48; uint local_44; ulonglong local_40; local_b8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_1b8; uVar4 = (uint)&stack0x00000000; local_144 = 0x980; uVar3 = uVar4 & 0x1bf; iVar10 = (uVar3 + 2) * (uVar3 + 1) * uVar3; if ((((iVar10 >> 1) - (iVar10 >> 3)) + iVar10 * 0x55555555 >> 0x1e & 0x68U) == 0) { if (((ulonglong)&stack0x00000000 & 0xf80) == 0) { iVar10 = (uVar4 & 0x76ff) * (uVar4 & 0x76ff) + 1; uVar3 = (iVar10 >> 4) + (iVar10 >> 1) + iVar10 * 0x24924924 >> 0x1d; uVar3 = (int)(uVar3 - 7) >> 0x1f & uVar3; } else { uVar3 = (((uVar4 & 0x10ff) + 1) * (uVar4 & 0x10ff) + 7) % 0x51; } local_164 = ((int)(-uVar3 | uVar3) >> 0x1f) * -0x85c9; } else { local_164 = 0x85c9; } local_164 = local_164 ^ 0x8589; uStack_1c0 = 0x1811fc8ff; local_180 = param_2; local_130 = param_3; local_110 = param_1; local_d8 = param_1; EnterCriticalSection(param_1); do { uStack_1c0 = 0x1811fc90a; FUN_1811fde5a(0xe21c); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { local_138 = 0x587a9850; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { bVar21 = false; uVar13 = 0; uStack_1c0 = 0x1811fc9cf; FUN_1811fb671(); if ((!bVar21) && ((uVar13 & 0xc0) != 0)) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_18c = 0; do { plVar17 = local_108; puVar12 = &local_dc; piVar6 = &local_170; uStack_1c0 = 0x1811fca32; FUN_1811fab5b(); *piVar6 = -0x728e2044; *puVar12 = 0x29; *plVar17 = 0x1811fca37; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = local_170 + 0x9f2404cb; uVar3 = (uVar3 >> 4 | uVar3 * 0x10000000) & 0xe1e1e1e1 | (uVar3 * 0x10 | uVar3 >> 0x1c) & 0x1e1e1e1e; uVar3 = ((uVar3 << 4 | uVar3 >> 0x1c) & 0x87878787 | (uVar3 >> 4 | uVar3 << 0x1c) & 0x78787878) + 0x4c4027a0; uVar3 = (uVar3 * 0x1000 | uVar3 >> 0x14) + 0x1876c4f3; uVar3 = (uVar3 * 0x200000 | uVar3 >> 0xb) + 0x821b153f; do { local_e0 = 8; local_108[1] = 0x1811fcaf7; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_108[0] = (int)(uVar3 * 4 & 0xcccccccc | uVar3 >> 2 & 0x33333333) + local_108[0]; local_170 = 0; local_150 = 0; uVar13 = (ulonglong)((uint)((ulonglong)dvs_0xfd072124_mfort6317_ >> 0x1c) & 0x88200e9) + 0x554987a8992bb71a + *(longlong *)(local_108[0] + 4); uVar13 = ((uVar13 >> 0x10 | uVar13 << 0x30) & 0xeea61159eea61159 | (uVar13 * 0x10000 | uVar13 >> 0x30) & 0x1159eea61159eea6) ^ 0x82f3d1143c75518e; uVar13 = (uVar13 << 0x3a | uVar13 >> 6) ^ 0xdae712cd3d6c499d; uVar13 = ((uVar13 >> 0x10 | uVar13 << 0x30) & 0x95ba6a4595ba6a45 | (uVar13 << 0x10 | uVar13 >> 0x30) & 0x6a4595ba6a4595ba) + 0xc6a73e6f71ec9cab; uVar7 = uVar13 * 4 & 0xcccccccccccccccc | uVar13 >> 2 & 0x3333333333333333; uVar13 = (uVar7 >> 2 | (uVar13 >> 2) << 0x3e) & 0x9999999999999999 | (uVar7 << 2 | (uVar13 & 0x3fffffffffffffff) >> 0x3c) & 0x6666666666666666; *(ulonglong *)(local_108[0] + 4) = uVar13; dvs_0xfd072124_mfort6317_ = (uint *)((longlong)dvs_0xfd072124_mfort6317_ + (uVar13 >> 0x1d & 0x8100c000)); local_188 = (uint)((ulonglong)*(undefined8 *)(local_108[0] + 4) >> 0x20) & 0x7fffffff; local_16c = (uint)(*(ulonglong *)(local_108[0] + 4) >> 0x1d) ^ 0xc27112f9; uVar13 = *(ulonglong *)(local_108[0] + 4) ^ 0xbbfc7104dceb8f33; local_c0 = 0xec33faa3; local_bc = 0x531bcd36; uVar3 = (uint)(uVar13 >> 0x20); uVar20 = (uVar3 ^ 0x1f906bf5) & 0x66666666 ^ uVar3; uVar7 = (ulonglong)uVar20; uVar3 = (uVar3 ^ 0x1f906bf5) & 0x99999999 ^ uVar3; uVar4 = (uVar3 >> 2 ^ uVar3) >> 4 & 1; uVar5 = (local_16c >> 0x11 ^ local_16c) & 0x3fff; uVar11 = ((uint)(uVar13 >> 0xc) & 0xfffff ^ (uint)uVar13) >> 9 & 0x7f; uVar16 = (uVar20 >> 0xb ^ uVar20) & 3; uVar15 = ~((uVar4 * 4 | uVar4) << 4 ^ uVar3); uVar3 = ~((uVar5 << 0x11 | uVar5) ^ local_16c); uVar16 = ~((uVar16 << 0xb | uVar16) ^ uVar20); uVar4 = ~((uVar11 << 0xc | uVar11) << 9 ^ (uint)uVar13) ^ uVar3; uVar19 = uVar4 & 0xe074d180 ^ uVar3; uVar3 = uVar4 & 0x1f8b2e7f ^ uVar3; uVar5 = (uVar15 >> 0x11 ^ uVar15) & 0xff; uVar20 = (uVar19 >> 6 ^ uVar19) >> 0x11 & 0xf; pauVar18 = (undefined1 (*) [16])(ulonglong)uVar20; uVar4 = (uVar3 >> 6 ^ uVar3) & 0xf; uVar3 = (uVar4 << 6 | uVar4) ^ uVar3; uVar4 = (uVar16 >> 0x11 ^ uVar16) & 0x1ff; uVar4 = uVar16 ^ (uVar4 << 0x11 | uVar4) ^ uVar3; uVar11 = uVar4 & 0x5b705ebb ^ uVar3; uVar16 = uVar11 ^ uVar15 ^ (uVar5 << 0x11 | uVar5); uVar15 = ~(uVar16 & 0xaaaaaaaa ^ uVar11); uVar5 = ~((uVar20 << 6 | uVar20) << 0x11 ^ uVar19); uVar3 = ~(uVar4 & 0xa48fa144 ^ uVar3); uVar4 = ~(uVar16 & 0x55555555 ^ uVar11) ^ uVar3; uVar11 = uVar4 & 0x7f807f80 ^ uVar3; uVar3 = uVar4 & 0x807f807f ^ uVar3; local_140 = 0; local_178 = 0x180128db0; local_198 = 0x18012adac; local_d0 = uVar15; local_cc = uVar5; local_c8 = uVar11; local_c4 = uVar3; do { puVar9 = local_f8; puVar8 = &local_14c; uStack_1c0 = 0x1811fcf5e; FUN_1811fb900(); uVar2 = rdtsc(); uVar4 = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); *puVar9 = uVar4; *(uint *)-(((ulonglong)puVar8 ^ 0xffffffffffffffff) + 1) = (uVar4 * 0x10504 + 0x19030f71) * 0x208082 + 0x92e38490 >> 1; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); local_14c = local_14c ^ local_188; uVar13 = (ulonglong)local_14c; if (local_14c < 0x5b05b0) { do { puVar9 = &local_168; uStack_1c0 = 0x1811fd03a; FUN_1811fd478(); *puVar9 = 0xf087664a; uStack_1c0 = 0x1811fd05e; FUN_1811fd753(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (~local_168 << 0x16 | ~local_168 >> 10) ^ 0x3733a16f; uVar4 = ~((uVar4 >> 0x16 | uVar4 << 10) ^ 0x3a10cb83) + 0x3f16583; local_168 = (uVar4 * 0x10000000 | uVar4 >> 4) + 0x34abeef1; local_b0 = uVar15; local_ac = uVar5; local_a8 = uVar11; local_a4 = uVar3; do { local_148 = 0xcf11da5; uVar7 = 0; local_f0 = 0x1811fd0d3; uStack_1c0 = 0x1811fd0f2; FUN_1811ff1b9(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = (local_148 >> 0x12 | local_148 << 0xe) + 0x296894cd; uVar3 = ~(uVar3 * 0x40 | uVar3 >> 0x1a) ^ 0x22a1cadc; local_148 = uVar3 << 0x1a | uVar3 >> 6; uStack_1c0 = 0x1811fd13a; (*(code *)((int)local_148 + local_f0))(&local_b0,local_68); pauVar18 = (undefined1 (*) [16])(ulonglong)local_48; iVar10 = 7; do { uVar3 = ((uint)((ulonglong)pauVar18 >> 0xc) ^ (uint)pauVar18) >> 2 & 0xfff; uVar4 = (local_44 >> 5 ^ local_44) >> 8 & 1; uVar3 = (uVar3 << 0xc | uVar3) << 2 ^ (uint)pauVar18; uVar5 = (uVar3 >> 0x18 | uVar3 << 8) + 0x6e4157a7; uVar11 = (local_44 << 0x1c | ((uVar4 << 5 | uVar4) << 8 ^ local_44) >> 4) + 0x20a786ca; uVar3 = (uVar5 >> 0xb ^ uVar5) >> 9 & 0x3ff; uVar4 = uVar5 ^ (uVar3 << 0xb | uVar3) << 9; uVar3 = (uVar11 >> 0x11 ^ uVar11) >> 0xb & 3; uVar11 = uVar11 ^ (uVar3 << 0x11 | uVar3) << 0xb; uVar5 = (uVar4 >> 4 | uVar5 * 0x10000000) & 0x78787878; uVar3 = (uVar4 << 4 | uVar4 >> 0x1c) & 0x87878787 | uVar5; uVar4 = (uVar11 >> 0x10 | uVar11 << 0x10) & 0xa3635c9c | (uVar11 << 0x10 | uVar11 >> 0x10) & 0x5c9ca363; uVar4 = (uVar4 << 0x12 | uVar4 >> 0xe) + 0x607d5440; uVar11 = uVar4 ^ (uVar3 << 0x12 | uVar3 >> 0xe) + 0x270a0bab; uVar3 = uVar11 & 0x3c3c3c3c ^ uVar4; uVar4 = uVar11 & 0xc3c3c3c3 ^ uVar4 ^ uVar3; local_44 = uVar4 & 0x8cbe5e76 ^ uVar3; uVar3 = uVar4 & 0x7341a189 ^ uVar3; pauVar18 = (undefined1 (*) [16])(ulonglong)uVar3; iVar10 = iVar10 + -1; } while (-1 < iVar10); uVar3 = uVar3 + 0x98c757c6; uVar3 = (uVar3 >> 4 | uVar3 * 0x10000000) ^ 0xd005f22a; local_44 = (~(~(~(uVar3 >> 0x1e | uVar3 << 2) + 0xf0cf10f9) ^ 0x49546c3e) ^ local_168) + local_44; uVar13 = (ulonglong)local_44; if (local_44 != local_16c) { do { local_e8 = FUN_180bc28c0; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uStack_1c0 = 0x1811fd2ec; uStack_1c8 = (ulonglong)uVar5; FUN_180bc28c0(); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar13 = 0; } } uStack_1c0 = 0x1811fd345; FUN_1811fc74f(); uStack_1c8 = 0; uStack_1c0 = uVar7; /* WARNING: Call to offcut address within same function */ uVar7 = func_0x0001811fd36c(); if ((uVar7 & 0x400) != 0) { *(char *)(uVar13 - 0x39) = *(char *)(uVar13 - 0x39) - (char)uVar13; vpshufb_avx(unaff_XMM14,*pauVar18); } uVar14 = (ulonglong)((int)&uStack_1c8 - 0x38); lVar1 = *(longlong *)(uVar14 + 0x38); *(longlong *)(uVar14 + 0x38) = lVar1 + 0x165; *(longlong *)(uVar14 + 0x30) = lVar1 + 0x942; *(longlong *)(uVar14 + 0x28) = lVar1 + 0x74e; *(longlong *)(uVar14 + 0x20) = lVar1 + 0x74d; *(longlong *)(uVar14 + 0x18) = lVar1 + 0xde52; FUN_1811fd479(); return; } ############ FUN_ 18047bdf0 size=187 ############ void FUN_18047bdf0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; code *pcVar2; *param_1 = juce::JuceVST3Component::vftable; param_1[1] = juce::JuceVST3Component::vftable; param_1[2] = juce::JuceVST3Component::vftable; param_1[3] = juce::JuceVST3Component::vftable; param_1[4] = juce::JuceVST3Component::vftable; if (param_1[9] != 0) { LOCK(); *(undefined1 *)(param_1[9] + 0x621c) = 0; UNLOCK(); } if ((param_1[6] != 0) && (*(undefined8 **)(param_1[6] + 0x10) == param_1 + 4)) { plVar1 = (longlong *)param_1[6]; pcVar2 = *(code **)(*plVar1 + 0x130); if (pcVar2 == FUN_1812c11d0) { LOCK(); plVar1[2] = 0; UNLOCK(); } else { (*pcVar2)(plVar1,0,pcVar2,param_4,0xfffffffffffffffe); } } /* WARNING: Subroutine does not return */ free((void *)param_1[0x49]); } ############ FUN_ 1804de990 size=323 ############ void FUN_1804de990(longlong param_1,longlong *param_2) { code *pcVar1; ulonglong uVar2; ulonglong uVar3; uint uVar4; ulonglong uVar5; ulonglong uVar6; int local_138; int local_134; undefined8 local_130; longlong local_128; void *local_120; char local_18; pcVar1 = *(code **)(**(longlong **)(param_1 + 0x10) + 0x130); if (pcVar1 == FUN_1812c11d0) { LOCK(); (*(longlong **)(param_1 + 0x10))[2] = param_2[2]; UNLOCK(); } else { (*pcVar1)(); } uVar2 = 0; uVar3 = uVar2; uVar5 = uVar2; uVar6 = uVar2; if (0 < *(int *)(param_1 + 0x280)) { do { *(undefined8 *)(*(longlong *)(param_1 + 0x28) + uVar5) = *(undefined8 *)(*param_2 + (longlong)*(int *)(uVar6 + *(longlong *)(param_1 + 0x18)) * 8) ; uVar4 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar4; uVar5 = uVar5 + 8; uVar6 = uVar6 + 4; } while ((int)uVar4 < *(int *)(param_1 + 0x280)); } local_134 = (int)param_2[3]; local_138 = *(int *)(param_1 + 0x280); local_130 = 0; local_120 = (void *)0x0; local_18 = '\0'; FUN_180480d30(&local_138,*(undefined8 *)(param_1 + 0x28),0); if (*(char *)(*(longlong *)(param_1 + 0x10) + 0x40) == '\0') { FUN_1804df300(param_1,&local_138,(longlong)*(int *)(param_1 + 0x284) * 0x10 + param_2[1]); } else if (local_18 == '\0') { uVar3 = uVar2; if (0 < local_138) { do { memset(*(void **)(uVar3 + local_128),0,(longlong)local_134 << 3); uVar4 = (int)uVar2 + 1; uVar2 = (ulonglong)uVar4; uVar3 = uVar3 + 8; } while ((int)uVar4 < local_138); } LOCK(); local_18 = '\x01'; UNLOCK(); } /* WARNING: Subroutine does not return */ free(local_120); } ############ FUN_ 1804dec20 size=518 ############ void FUN_1804dec20(longlong param_1,longlong *param_2) { LPCRITICAL_SECTION lpCriticalSection; code *pcVar1; longlong lVar2; char cVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; uint uVar7; ulonglong uVar8; ulonglong uVar9; int local_148; int local_144; undefined8 local_140; longlong local_138; void *local_130; char local_28; pcVar1 = *(code **)(**(longlong **)(param_1 + 0x10) + 0x130); if (pcVar1 == FUN_1812c11d0) { LOCK(); (*(longlong **)(param_1 + 0x10))[2] = param_2[2]; UNLOCK(); } else { (*pcVar1)(); } uVar4 = 0; uVar6 = uVar4; uVar8 = uVar4; uVar9 = uVar4; if (0 < *(int *)(param_1 + 0x280)) { do { *(undefined8 *)(*(longlong *)(param_1 + 0x28) + uVar8) = *(undefined8 *)(*param_2 + (longlong)*(int *)(uVar9 + *(longlong *)(param_1 + 0x18)) * 8) ; uVar7 = (int)uVar6 + 1; uVar6 = (ulonglong)uVar7; uVar8 = uVar8 + 8; uVar9 = uVar9 + 4; } while ((int)uVar7 < *(int *)(param_1 + 0x280)); } local_144 = (int)param_2[3]; local_148 = *(int *)(param_1 + 0x280); local_140 = 0; local_130 = (void *)0x0; local_28 = '\0'; FUN_180480e00(&local_148,*(undefined8 *)(param_1 + 0x28),0); if (*(char *)(*(longlong *)(param_1 + 0x10) + 0x40) == '\0') { lVar5 = (longlong)*(int *)(param_1 + 0x284) * 0x10 + param_2[1]; if (*(int *)(*(longlong *)(param_1 + 0x10) + 0x44) == 1) { FUN_1804d5df0(param_1 + 0x158,&local_148); cVar3 = FUN_1812bd3a0(*(undefined8 *)(param_1 + 8)); if (cVar3 == '\0') { FUN_1804e03c0(*(undefined8 *)(param_1 + 8),param_1 + 0x158,lVar5); } else { FUN_1804e0350(); } FUN_1804d5df0(&local_148,param_1 + 0x158); } else { cVar3 = FUN_1812bd3a0(*(undefined8 *)(param_1 + 8)); lVar2 = *(longlong *)(param_1 + 8); lpCriticalSection = (LPCRITICAL_SECTION)(lVar2 + 0x52); if (cVar3 == '\0') { EnterCriticalSection(lpCriticalSection); (**(code **)(**(longlong **)(lVar2 + 0x28) + 0x38)) (*(longlong **)(lVar2 + 0x28),&local_148,lVar5); } else { EnterCriticalSection(lpCriticalSection); (**(code **)(**(longlong **)(lVar2 + 0x28) + 0x48)) (*(longlong **)(lVar2 + 0x28),&local_148,lVar5); } LeaveCriticalSection(lpCriticalSection); } } else if (local_28 == '\0') { uVar6 = uVar4; if (0 < local_148) { do { memset(*(void **)(uVar6 + local_138),0,(longlong)local_144 << 2); uVar7 = (int)uVar4 + 1; uVar4 = (ulonglong)uVar7; uVar6 = uVar6 + 8; } while ((int)uVar7 < local_148); } LOCK(); local_28 = '\x01'; UNLOCK(); } /* WARNING: Subroutine does not return */ free(local_130); } ############ FUN_ 180481590 size=47 ############ void FUN_180481590(longlong param_1) { code *pcVar1; pcVar1 = *(code **)(**(longlong **)(param_1 + 0x18) + 0x148); if (pcVar1 == FUN_1812bffa0) { return; } (*pcVar1)(*(longlong **)(param_1 + 0x18),param_1 + 8); return; } ############ FUN_ 180476110 size=528 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180476110(longlong param_1,longlong *param_2) { uint uVar1; longlong *plVar2; undefined1 *puVar3; int iVar4; DWORD DVar5; longlong lVar6; uint *puVar7; bool bVar8; undefined1 auStack_1e8 [40]; undefined1 *local_1c0; undefined4 local_1b8; undefined1 *local_1b0; undefined4 local_1a8 [4]; undefined8 local_198; undefined1 *local_190; undefined1 *local_188; undefined **local_170; undefined1 *local_168; undefined4 local_160; longlong *local_158; undefined ***local_138; undefined1 local_128 [256]; ulonglong local_28; local_198 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_1e8; if (((*(longlong *)(param_1 + 0x18) != 0) && (plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x18) + 0x28), plVar2 != (longlong *)0x0)) && (param_2 != (longlong *)0x0)) { local_1c0 = &DAT_1821dbf98; local_1b8 = 0; iVar4 = (**(code **)(*param_2 + 0x40))(param_2,"channel name",local_128,0x100); if (iVar4 == 0) { FUN_18049c800(&local_1b0,local_128); puVar3 = local_1c0; local_190 = local_1c0; local_1c0 = local_1b0; puVar7 = (uint *)(puVar3 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } iVar4 = (**(code **)(*param_2 + 0x20))(param_2,"channel color",local_1a8); if (iVar4 == 0) { local_1b8 = local_1a8[0]; } lVar6 = FUN_1812a7550(); DVar5 = GetCurrentThreadId(); if ((ulonglong)DVar5 == *(ulonglong *)(lVar6 + 0x10)) { if (*(code **)(*plVar2 + 0x148) != FUN_1812bffa0) { (**(code **)(*plVar2 + 0x148))(plVar2,&local_1c0); } } else { local_188 = local_1c0; if ((*(uint *)(local_1c0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1c0 + -0x10) = *(int *)(local_1c0 + -0x10) + 1; UNLOCK(); } local_170 = std::_Func_impl_no_alloc<,void>::vftable; local_168 = local_1c0; local_160 = local_1b8; local_138 = &local_170; local_158 = plVar2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar8 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar8) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } FUN_1812a7460(&local_170); } puVar7 = (uint *)(local_1c0 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } } ############ FUN_ 180538478 size=12 ############ void FUN_180538478(longlong param_1) { .?AV?$AudioProcessingModule@M$01@@::vtbl___AV__AudioProcessingModule_M_01__(param_1 + -0x3d0); return; } ############ FUN_ 18048c4c0 size=141 ############ ulonglong FUN_18048c4c0(ulonglong *param_1,longlong *param_2,int param_3) { uint *puVar1; uint uVar2; longlong lVar3; longlong *plVar4; ulonglong uVar5; int iVar6; iVar6 = *(int *)((longlong)param_1 + 0xc) + param_3; if ((int)param_1[1] < iVar6) { FUN_18048a300(param_1,iVar6 + 8 + iVar6 / 2 & 0xfffffff8); } uVar5 = *param_1; plVar4 = (longlong *)(uVar5 + (longlong)*(int *)((longlong)param_1 + 0xc) * 8); iVar6 = param_3; while (iVar6 = iVar6 + -1, -1 < iVar6) { lVar3 = *param_2; *plVar4 = lVar3; uVar2 = *(uint *)(lVar3 + -0x10); if ((uVar2 & 0x30000000) == 0) { LOCK(); puVar1 = (uint *)(lVar3 + -0x10); uVar2 = *puVar1; *puVar1 = *puVar1 + 1; UNLOCK(); } uVar5 = (ulonglong)uVar2; param_2 = param_2 + 1; plVar4 = plVar4 + 1; } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + param_3; return uVar5; } ############ FUN_ 181371350 size=300 ############ undefined8 FUN_181371350(longlong *param_1) { longlong *plVar1; int iVar2; if (param_1 != (longlong *)0x0) { FUN_181390bc0(param_1 + 0x53); FUN_18138ffc0(param_1 + 0x43); FUN_181392710(param_1 + 0x14); if ((param_1[0xd] != 0) && ((int)param_1[8] != 0)) { iVar2 = 0; if (0 < (int)param_1[8]) { do { FUN_181388250(param_1[0xd] + (longlong)iVar2 * 0x28); FUN_181388560((longlong)iVar2 * 0x20 + param_1[0xe]); iVar2 = iVar2 + 1; } while (iVar2 < (int)param_1[8]); } /* WARNING: Subroutine does not return */ free((void *)param_1[0xd]); } if ((void *)param_1[10] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[10]); } if ((void *)param_1[0xc] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0xc]); } if ((void *)param_1[0xb] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0xb]); } if ((void *)param_1[9] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[9]); } plVar1 = param_1 + 4; if (plVar1 != (longlong *)0x0) { if ((void *)*plVar1 != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)*plVar1); } *plVar1 = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; } if ((*param_1 != 0) && ((code *)param_1[0x67] != (code *)0x0)) { (*(code *)param_1[0x67])(); } memset(param_1,0,0x348); } return 0; } ############ FUN_ 1812b7ae0 size=876 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812b7ae0(longlong param_1,undefined8 *param_2,int param_3) { uint uVar1; undefined4 uVar2; undefined4 uVar3; undefined1 uVar4; int iVar5; undefined8 uVar6; uint *_Memory; undefined ***_Memory_00; bool bVar7; undefined1 auStack_368 [32]; undefined4 local_348; undefined ***local_340; undefined1 *local_338; undefined1 *local_330; longlong local_328; undefined8 local_320; int iStack_318; undefined4 uStack_314; undefined ***local_310; undefined **local_308; undefined4 local_300; undefined4 uStack_2fc; int iStack_2f8; undefined4 uStack_2f4; undefined ***local_2d0; undefined8 local_2c8; undefined8 *local_2c0; undefined **local_2b8; undefined4 local_2b0; undefined4 uStack_2ac; int iStack_2a8; undefined4 uStack_2a4; undefined ***local_280; undefined1 local_278 [136]; undefined1 local_1f0 [136]; undefined1 *local_168; undefined4 local_160; longlong local_158 [7]; longlong *local_120; undefined8 local_118; undefined8 uStack_110; undefined8 local_108; undefined8 uStack_100; undefined8 local_f8; undefined1 *local_f0; undefined4 local_e8; undefined4 local_e4; undefined1 *local_d8; undefined4 local_d0; undefined8 local_90; undefined8 local_88; undefined8 uStack_80; undefined8 local_78; undefined8 uStack_70; undefined8 local_68; undefined1 *local_60; undefined4 local_58; undefined4 local_54; ulonglong local_48; local_2c8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_368; *param_2 = 0; param_2[1] = 0; param_2[2] = 0; param_2[3] = 0; local_348 = 1; if (-1 < param_3) { local_2c0 = param_2; iVar5 = (**(code **)(**(longlong **)(param_1 + 0x3f0) + 8))(); if (param_3 < iVar5) { local_340 = &local_2b8; local_2b8 = std::_Func_impl_no_alloc<,void>::vftable; local_320._0_4_ = (undefined4)param_1; uVar2 = (undefined4)local_320; local_320._4_4_ = (undefined4)((ulonglong)param_1 >> 0x20); uVar3 = local_320._4_4_; local_2b0 = (undefined4)local_320; uStack_2ac = local_320._4_4_; uStack_2a4 = uStack_314; local_280 = &local_2b8; local_320 = param_1; iStack_318 = param_3; iStack_2a8 = param_3; FUN_18049c4e0(&local_328,"Remove plug-in from list"); FUN_1812344e0(&local_338,&local_328); local_348 = 3; _Memory = (uint *)(local_328 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_d8 = local_338; local_338 = &DAT_1821dbf98; local_d0 = 0xffffffff; local_90 = 0; local_88 = 0; uStack_80 = 0; local_78 = 0; uStack_70 = 0; local_68 = 0; local_60 = &DAT_1821dbf98; local_58 = 0; local_54 = 1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar7 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar7) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar6 = FUN_1813480d0(&local_d8,&local_2b8); uVar6 = FUN_181348200(local_278,uVar6); FUN_181348630(param_2,uVar6); FUN_1804d80a0(&local_d8); local_310 = &local_308; local_308 = std::_Func_impl_no_alloc<,void>::vftable; local_300 = uVar2; uStack_2fc = uVar3; uStack_2f4 = uStack_314; local_2d0 = &local_308; local_320 = param_1; iStack_318 = param_3; iStack_2f8 = param_3; FUN_18049c4e0(&local_340,"Show folder containing plug-in"); FUN_1812344e0(&local_330,&local_340); local_348 = 7; _Memory_00 = local_340 + -2; if (((ulonglong)*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)_Memory_00; *(uint *)_Memory_00 = *(uint *)_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } local_168 = local_330; local_330 = &DAT_1821dbf98; local_160 = 0xffffffff; local_120 = (longlong *)0x0; local_118 = 0; uStack_110 = 0; local_108 = 0; uStack_100 = 0; local_f8 = 0; local_f0 = &DAT_1821dbf98; local_e8 = 0; local_e4 = 1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar7 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar7) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar4 = FUN_1812b9060(*(undefined8 *)(param_1 + 200),param_3); local_e4 = CONCAT31(local_e4._1_3_,uVar4); if (local_120 != (longlong *)0x0) { (**(code **)(*local_120 + 0x20))(local_120,local_120 != local_158); local_120 = (longlong *)0x0; } FUN_180488560(local_158,&local_308); if (local_2d0 != (undefined ***)0x0) { (*(code *)(*local_2d0)[4])(local_2d0,local_2d0 != &local_308); local_2d0 = (undefined ***)0x0; } uVar6 = FUN_181348200(local_1f0,&local_168); FUN_181348630(param_2,uVar6); FUN_1804d80a0(&local_168); } } } ############ FUN_ 1812b7e70 size=1673 ############ /* WARNING: Removing unreachable block (ram,0x0001812b830c) */ void FUN_1812b7e70(longlong param_1,undefined8 *param_2) { int *piVar1; uint uVar2; ulonglong *puVar3; char cVar4; undefined8 uVar5; longlong lVar6; longlong *plVar7; uint *puVar8; int iVar9; int iVar10; longlong lVar11; void *_Dst; undefined8 *puVar13; ulonglong uVar14; ulonglong uVar15; undefined8 *puVar16; bool bVar17; undefined1 auStack_968 [32]; uint local_948; longlong *local_940; undefined ***local_938; longlong local_930; undefined8 *local_928; undefined8 local_920; undefined8 local_918; undefined8 uStack_910; undefined1 *local_908; undefined ***local_900; longlong local_8f8; longlong local_8f0 [9]; longlong local_8a8; longlong local_8a0; longlong local_898; void *local_880 [2]; undefined **local_870; undefined4 local_868; undefined4 uStack_864; undefined4 uStack_860; undefined4 uStack_85c; undefined ***local_838; undefined8 local_830; undefined8 *local_828; undefined **local_820; longlong local_818; undefined ***local_7e8; undefined1 local_658 [136]; undefined1 local_5d0 [552]; longlong local_3a8; undefined4 local_3a0; longlong local_398 [7]; longlong *local_360; undefined8 local_358; undefined8 *puStack_350; undefined8 *local_348; undefined8 *puStack_340; undefined8 local_338; undefined1 *local_330; undefined4 local_328; uint local_324; undefined1 *local_318; undefined4 local_310; undefined8 local_2d0; undefined8 local_2c8; undefined8 uStack_2c0; undefined8 local_2b8; undefined8 uStack_2b0; undefined8 local_2a8; undefined1 *local_2a0; undefined4 local_298; undefined4 local_294; ulonglong local_48; longlong lVar12; local_830 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_968; uVar14 = 0; *param_2 = 0; param_2[1] = 0; param_2[2] = 0; param_2[3] = 0; local_948 = 1; local_900 = &local_820; local_820 = std::_Func_impl_no_alloc<,void>::vftable; local_7e8 = &local_820; local_898 = param_1; local_828 = param_2; local_818 = param_1; FUN_18049c4e0(&local_8f8,"Clear list"); FUN_1812344e0(&local_908,&local_8f8); local_948 = 3; puVar8 = (uint *)(local_8f8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_318 = local_908; local_908 = &DAT_1821dbf98; local_310 = 0xffffffff; local_2d0 = 0; local_2c8 = 0; uStack_2c0 = 0; local_2b8 = 0; uStack_2b0 = 0; local_2a8 = 0; local_2a0 = &DAT_1821dbf98; local_298 = 0; local_294 = 1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar17 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar17) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar5 = FUN_1813480d0(&local_318,&local_820); uVar5 = FUN_181348200(local_658,uVar5); local_938 = (undefined ***)uVar5; if (param_2[2] == param_2[1]) { FUN_18051fa90(param_2,param_2[1],uVar5); } else { FUN_181348200(param_2[1],uVar5); param_2[1] = param_2[1] + 0x88; } FUN_1804d80a0(uVar5); FUN_1804d80a0(&local_318); FUN_181348300(param_2); puVar3 = *(ulonglong **)(param_1 + 0xc0); local_928 = (undefined8 *)0x0; local_920 = 0; FUN_18047e060(&local_928,*(undefined4 *)((longlong)puVar3 + 0xc)); puVar13 = (undefined8 *)*puVar3; uVar15 = (ulonglong) ((longlong)(puVar13 + *(int *)((longlong)puVar3 + 0xc)) + (7 - (longlong)puVar13)) >> 3; if (puVar13 + *(int *)((longlong)puVar3 + 0xc) < puVar13) { uVar15 = uVar14; } iVar10 = local_920._4_4_; iVar9 = local_920._4_4_; if (uVar15 != 0) { do { iVar10 = iVar9 + 1; local_928[iVar9] = *puVar13; puVar13 = puVar13 + 1; uVar14 = uVar14 + 1; iVar9 = iVar10; } while (uVar14 != uVar15); local_920 = CONCAT44(iVar10,(undefined4)local_920); } puVar13 = local_928 + iVar10; puVar16 = local_928; while( true ) { if (puVar16 == puVar13) { /* WARNING: Subroutine does not return */ free(local_928); } plVar7 = (longlong *)*puVar16; cVar4 = (**(code **)(*plVar7 + 0x40))(plVar7); if (cVar4 != '\0') break; puVar16 = puVar16 + 1; } local_938 = &local_870; local_870 = std::_Func_impl_no_alloc<,void>::vftable; local_918._0_4_ = (undefined4)param_1; local_918._4_4_ = (undefined4)((ulonglong)param_1 >> 0x20); uStack_910._0_4_ = SUB84(plVar7,0); uStack_910._4_4_ = (undefined4)((ulonglong)plVar7 >> 0x20); local_868 = (undefined4)local_918; uStack_864 = local_918._4_4_; uStack_860 = (undefined4)uStack_910; uStack_85c = uStack_910._4_4_; local_838 = &local_870; local_918 = param_1; uStack_910 = plVar7; lVar6 = FUN_1812bb3c0(*(undefined8 *)(param_1 + 200),local_880,plVar7); uVar5 = (**(code **)(*plVar7 + 0x10))(plVar7,&local_8a0); FUN_18049c4e0(local_8f0,"Remove all "); plVar7 = (longlong *)FUN_181232d30(local_8f0,uVar5); local_930 = *plVar7; if ((*(uint *)(local_930 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_930 + -0x10) = *(int *)(local_930 + -0x10) + 1; UNLOCK(); } local_948 = local_948 | 4; puVar8 = (uint *)(local_8f0[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_940 = &local_930; lVar11 = -1; do { lVar12 = lVar11; lVar11 = lVar12 + 1; } while (*(char *)(local_930 + lVar11) != '\0'); FUN_1812342b0(&local_930,lVar12 + 10); _Dst = (void *)((int)lVar11 + local_930); memcpy(_Dst," plug-ins",9); *(undefined1 *)((longlong)_Dst + 9) = 0; local_8a8 = local_930; if ((*(uint *)(local_930 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_930 + -0x10) = *(int *)(local_930 + -0x10) + 1; UNLOCK(); } local_948 = local_948 | 8; puVar8 = (uint *)(local_930 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } local_3a8 = local_930; local_3a0 = 0xffffffff; local_360 = (longlong *)0x0; local_358 = 0; puStack_350 = (undefined8 *)0x0; local_348 = (undefined8 *)0x0; puStack_340 = (undefined8 *)0x0; local_338 = 0; local_330 = &DAT_1821dbf98; local_328 = 0; local_324 = 1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar17 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar17) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_324 = (uint)(*(int *)(lVar6 + 0xc) != 0); local_328 = 0; local_330 = &DAT_1821dbf98; local_338 = 0; puStack_340 = (undefined8 *)0x0; local_348 = (undefined8 *)0x0; puStack_350 = (undefined8 *)0x0; local_358 = 0; local_3a0 = 0xffffffff; local_360 = (longlong *)0x0; FUN_180488560(local_398,&local_870); if (local_838 != (undefined ***)0x0) { (*(code *)(*local_838)[4])(local_838,local_838 != &local_870); local_838 = (undefined ***)0x0; } uVar5 = FUN_181348200(local_5d0,&local_3a8); local_940 = (longlong *)uVar5; if (param_2[2] == param_2[1]) { FUN_18051fa90(param_2,param_2[1],uVar5); } else { FUN_181348200(param_2[1],uVar5); param_2[1] = param_2[1] + 0x88; } FUN_1804d80a0(uVar5); puVar8 = (uint *)(local_330 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (puStack_340 != (undefined8 *)0x0) { piVar1 = (int *)(puStack_340 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puStack_340)(puStack_340,1); } } if (local_348 != (undefined8 *)0x0) { piVar1 = (int *)(local_348 + 0x17); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_348)(local_348,1); } } if (puStack_350 != (undefined8 *)0x0) { (**(code **)*puStack_350)(puStack_350,1); } FUN_1804db930(&local_358); if (local_360 != (longlong *)0x0) { (**(code **)(*local_360 + 0x20))(local_360,local_360 != local_398); local_360 = (longlong *)0x0; } puVar8 = (uint *)(local_3a8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_8a0 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_1804dca40(local_880); /* WARNING: Subroutine does not return */ free(local_880[0]); } ############ FUN_ 181318c60 size=1093 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000181318dda) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181318c60(longlong param_1) { int *piVar1; longlong *plVar2; uint uVar3; void *_Memory; undefined8 uVar4; undefined8 *puVar5; uint *puVar6; int iVar7; ulonglong uVar8; ulonglong uVar9; bool bVar10; undefined1 auStack_2e8 [40]; longlong local_2c0; undefined8 local_2b8; longlong lStack_2b0; longlong local_2a8; undefined8 *puStack_2a0; longlong local_298; int iStack_290; undefined4 uStack_28c; undefined **local_288; longlong local_280; undefined8 uStack_278; undefined ***local_250; undefined8 local_248; undefined8 local_240; undefined1 local_238 [8]; undefined8 local_230; undefined8 uStack_228; undefined8 local_220; undefined8 uStack_218; undefined8 local_210; undefined8 local_208; undefined8 uStack_200; undefined4 local_1f8; undefined1 local_1f4; undefined4 local_1f0; undefined1 local_1e8 [32]; undefined8 *local_1c8; undefined1 local_1a0 [32]; undefined8 *local_180; undefined1 local_158 [144]; longlong local_c8; undefined4 local_c0; longlong local_b8 [7]; longlong *local_80; void *local_78; undefined8 *puStack_70; undefined8 *local_68; undefined8 *puStack_60; undefined8 local_58; undefined1 *local_50; undefined4 local_48; undefined4 local_44; ulonglong local_38; local_248 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_2e8; local_2b8 = 0; lStack_2b0 = 0; local_2a8 = 0; puStack_2a0 = (undefined8 *)0x0; uVar8 = 0; uVar9 = uVar8; if (0 < *(int *)(param_1 + 0xf4)) { do { plVar2 = *(longlong **)(uVar9 + *(longlong *)(param_1 + 0xe8)); iVar7 = (int)uVar8; if ((*(byte *)(*plVar2 + 0xa8) >> 1 & 1) == 0) { local_288 = std::_Func_impl_no_alloc<,void>:: vftable; uStack_278 = CONCAT44(uStack_28c,iVar7); local_250 = &local_288; local_2c0 = plVar2[1]; if ((*(uint *)(local_2c0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_2c0 + -0x10) = *(int *)(local_2c0 + -0x10) + 1; UNLOCK(); } local_c0 = 0xffffffff; local_80 = (longlong *)0x0; local_78 = (void *)0x0; puStack_70 = (undefined8 *)0x0; local_68 = (undefined8 *)0x0; puStack_60 = (undefined8 *)0x0; local_58 = 0; local_50 = &DAT_1821dbf98; local_48 = 0; local_44 = 1; local_298 = param_1; iStack_290 = iVar7; local_280 = param_1; local_c8 = local_2c0; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_44 = (uint)CONCAT11(iVar7 == *(int *)(param_1 + 0x108),1); local_48 = 0; local_50 = &DAT_1821dbf98; local_58 = 0; puStack_60 = (undefined8 *)0x0; local_68 = (undefined8 *)0x0; puStack_70 = (undefined8 *)0x0; local_78 = (void *)0x0; local_c0 = 0xffffffff; local_288 = std::_Func_impl_no_alloc<,void>:: vftable; local_80 = (longlong *)0x0; FUN_180488560(local_b8,&local_288); if (local_250 != (undefined ***)0x0) { (*(code *)(*local_250)[4])(local_250,local_250 != &local_288); local_250 = (undefined ***)0x0; } uVar4 = FUN_181348200(local_158,&local_c8); local_240 = uVar4; if (local_2a8 == lStack_2b0) { FUN_18051fa90(&local_2b8,lStack_2b0,uVar4); } else { FUN_181348200(lStack_2b0,uVar4); lStack_2b0 = lStack_2b0 + 0x88; } FUN_1804d80a0(uVar4); puVar6 = (uint *)(local_50 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (puStack_60 != (undefined8 *)0x0) { piVar1 = (int *)(puStack_60 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puStack_60)(puStack_60,1); } } if (local_68 != (undefined8 *)0x0) { piVar1 = (int *)(local_68 + 0x17); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_68)(local_68,1); } } if (puStack_70 != (undefined8 *)0x0) { (**(code **)*puStack_70)(puStack_70,1); } _Memory = local_78; if (local_78 != (void *)0x0) { puVar5 = *(undefined8 **)((longlong)local_78 + 0x18); if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*puVar5)(puVar5,1); } } FUN_18051c930(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } if (local_80 != (longlong *)0x0) { (**(code **)(*local_80 + 0x20))(local_80,local_80 != local_b8); local_80 = (longlong *)0x0; } puVar6 = (uint *)(local_c8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } uVar8 = (ulonglong)(iVar7 + 1U); uVar9 = uVar9 + 8; } while ((int)(iVar7 + 1U) < *(int *)(param_1 + 0xf4)); } local_230 = 0; uStack_228 = 0; local_220 = 0; uStack_218 = 0; local_210 = 0; local_208 = _DAT_1824c47c0; uStack_200 = _UNK_1824c47c8; local_1f8 = 0; local_1f4 = 0; local_1f0 = 1; puVar5 = (undefined8 *)FUN_18133c1f0(local_238); local_230 = *puVar5; uVar4 = FUN_181347f60(&local_230,local_1a0,param_1); uVar4 = FUN_1812f0830(uVar4,local_1e8,*(undefined8 *)(param_1 + 0x118)); FUN_1812f0230(&local_2b8,uVar4,0); if (local_1c8 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_1c8 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_1c8)(local_1c8,1); } } if (local_180 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_180 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*local_180)(local_180,1); } } if (puStack_2a0 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puStack_2a0 + 1); iVar7 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar7 == 1) { (**(code **)*puStack_2a0)(puStack_2a0,1); } } FUN_18051c930(&local_2b8); } ############ FUN_ 181a20d00 size=95 ############ void Catch_All_181a20d00(undefined8 param_1,longlong param_2) { longlong lVar1; longlong lVar2; undefined8 uVar3; undefined8 *puVar4; lVar1 = *(longlong *)(param_2 + 0x78) + *(longlong *)(param_2 + 0x20) * 2; lVar2 = *(longlong *)(param_2 + 0x20) + *(longlong *)(param_2 + 0x78); uVar3 = *(undefined8 *)(param_2 + 0x70); FUN_1805d6950(uVar3,lVar2,lVar1); puVar4 = (undefined8 *).?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__(uVar3); FUN_1805d5c60(lVar1,*puVar4,lVar2); *puVar4 = *(undefined8 *)(param_2 + 0x80); /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } ############ FUN_ 181a20d87 size=70 ############ void Catch_All_181a20d87(undefined8 param_1,longlong param_2) { undefined8 *puVar1; puVar1 = (undefined8 *) .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__(*(undefined8 *)(param_2 + 0x70)); FUN_1805d6950(*(undefined8 *)(param_2 + 0x70),*(undefined8 *)(param_2 + 0x88),*puVar1, *(undefined8 *)(param_2 + 0x78)); *puVar1 = *(undefined8 *)(param_2 + 0x80); /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } ############ FUN_ 180590f70 size=409 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180590f70(undefined ***param_1) { undefined ***pppuVar1; undefined1 auStack_c8 [32]; undefined8 local_a8; undefined **local_98 [7]; undefined ***local_60; undefined **local_58 [7]; undefined ***local_20; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; local_98[0] = std:: _Func_impl_no_alloc<,bool,juce::Component*___ptr64> ::vftable; local_60 = local_98; local_20 = (undefined ***)0x0; if ((code *)PTR_FUN_1824bf9f0 == FUN_180586db0) { local_58[0] = std:: _Func_impl_no_alloc<,bool,juce::Component*___ptr64> ::vftable; local_20 = local_58; } else { local_20 = (undefined ***)(*(code *)PTR_FUN_1824bf9f0)(local_98,local_58); } FUN_180488cd0(local_98); pppuVar1 = (undefined ***)param_1[7]; if (pppuVar1 != (undefined ***)0x0) { if (pppuVar1 == param_1) { if ((code *)(*pppuVar1)[1] == FUN_180586db0) { local_98[0] = std:: _Func_impl_no_alloc<,bool,juce::Component*___ptr64> ::vftable; local_60 = local_98; FUN_180488cd0(param_1); } else { local_60 = (undefined ***)(*(code *)(*pppuVar1)[1])(pppuVar1,local_98); FUN_180488cd0(param_1); } } else { param_1[7] = (undefined **)0x0; local_60 = pppuVar1; } } FUN_18057bc30(param_1,local_58); if (local_20 != (undefined ***)0x0) { if ((code *)(*local_20)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_20 != local_58) { /* WARNING: Subroutine does not return */ free(local_20); } } else { (*(code *)(*local_20)[4])(); } } if (local_60 != (undefined ***)0x0) { if ((code *)(*local_60)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_60 != local_98) { /* WARNING: Subroutine does not return */ free(local_60); } } else { (*(code *)(*local_60)[4])(); } } } ############ FUN_ 181227380 size=506 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181227380(undefined8 *param_1,undefined8 *param_2) { longlong *plVar1; undefined ***pppuVar2; char cVar3; undefined8 uVar4; undefined ***pppuVar5; uint uVar6; undefined1 auStack_e8 [32]; uint local_c8; undefined8 local_c0; undefined8 *local_b8; undefined **local_a8; longlong local_a0; undefined ***local_70; undefined **local_68 [7]; undefined ***local_30; ulonglong local_28; local_c0 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_e8; local_c8 = 0; local_b8 = param_2; cVar3 = (**(code **)(*(longlong *)*param_1 + 0xa0))(); if ((cVar3 == '\0') || (param_1[1] == 0)) { local_30 = (undefined ***)0x0; pppuVar5 = local_68; uVar6 = 2; } else { local_70 = (undefined ***)0x0; plVar1 = *(longlong **)(param_1[1] + 0x38); if (plVar1 != (longlong *)0x0) { if ((undefined **)*plVar1 == std:: _Func_impl_no_alloc ::vftable) { local_a8 = std:: _Func_impl_no_alloc ::vftable; local_a0 = plVar1[1]; local_70 = &local_a8; } else { local_70 = (undefined ***)(**(code **)*plVar1)(plVar1,&local_a8); } } pppuVar5 = &local_a8; uVar6 = 1; } param_2[7] = 0; pppuVar2 = (undefined ***)pppuVar5[7]; local_c8 = uVar6; if (pppuVar2 != (undefined ***)0x0) { if (pppuVar2 == pppuVar5) { if (*pppuVar2 == std:: _Func_impl_no_alloc ::vftable) { *param_2 = std:: _Func_impl_no_alloc ::vftable; param_2[1] = pppuVar2[1]; param_2[7] = param_2; FUN_18049b770(pppuVar5); } else { uVar4 = (*(code *)(*pppuVar2)[1])(pppuVar2,param_2); param_2[7] = uVar4; FUN_18049b770(pppuVar5); } } else { param_2[7] = pppuVar2; pppuVar5[7] = (undefined **)0x0; } } if (((uVar6 & 2) != 0) && (uVar6 = uVar6 & 0xfffffffd, local_30 != (undefined ***)0x0)) { if (*local_30 == std:: _Func_impl_no_alloc ::vftable) { if (local_30 != local_68) { /* WARNING: Subroutine does not return */ free(local_30); } } else { (*(code *)(*local_30)[4])(local_30); } } if (((uVar6 & 1) != 0) && (local_70 != (undefined ***)0x0)) { if (*local_70 == std:: _Func_impl_no_alloc ::vftable) { if (local_70 != &local_a8) { /* WARNING: Subroutine does not return */ free(local_70); } } else { (*(code *)(*local_70)[4])(); } } } ############ FUN_ 180585290 size=310 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180585290(undefined ***param_1,undefined8 *param_2) { undefined ***pppuVar1; undefined1 auStack_c8 [32]; undefined8 local_a8; undefined **local_98; undefined8 local_90; undefined ***local_60; longlong local_58 [7]; longlong *local_20; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; local_90 = *param_2; local_98 = std::_Func_impl_no_alloc<,void>::vftable; local_60 = &local_98; local_20 = (longlong *)0x0; local_20 = (longlong *)(*(code *)PTR_FUN_1824b8f28)(&local_98,local_58); if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); local_60 = (undefined ***)0x0; } pppuVar1 = (undefined ***)param_1[7]; if (pppuVar1 != (undefined ***)0x0) { if (pppuVar1 == param_1) { local_60 = (undefined ***)(*(code *)(*pppuVar1)[1])(pppuVar1,&local_98); pppuVar1 = (undefined ***)param_1[7]; if (pppuVar1 == (undefined ***)0x0) goto LAB_180585360; (*(code *)(*pppuVar1)[4])(pppuVar1,pppuVar1 != param_1); pppuVar1 = local_60; } local_60 = pppuVar1; param_1[7] = (undefined **)0x0; } LAB_180585360: FUN_180488560(param_1,local_58); if (local_20 != (longlong *)0x0) { (**(code **)(*local_20 + 0x20))(local_20,local_20 != local_58); } if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); } } ############ FUN_ 180585400 size=310 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180585400(undefined ***param_1,undefined8 *param_2) { undefined ***pppuVar1; undefined1 auStack_c8 [32]; undefined8 local_a8; undefined **local_98; undefined8 local_90; undefined ***local_60; longlong local_58 [7]; longlong *local_20; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; local_90 = *param_2; local_98 = std::_Func_impl_no_alloc<,void>::vftable; local_60 = &local_98; local_20 = (longlong *)0x0; local_20 = (longlong *)(*(code *)PTR_FUN_1824ba760)(&local_98,local_58); if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); local_60 = (undefined ***)0x0; } pppuVar1 = (undefined ***)param_1[7]; if (pppuVar1 != (undefined ***)0x0) { if (pppuVar1 == param_1) { local_60 = (undefined ***)(*(code *)(*pppuVar1)[1])(pppuVar1,&local_98); pppuVar1 = (undefined ***)param_1[7]; if (pppuVar1 == (undefined ***)0x0) goto LAB_1805854d0; (*(code *)(*pppuVar1)[4])(pppuVar1,pppuVar1 != param_1); pppuVar1 = local_60; } local_60 = pppuVar1; param_1[7] = (undefined **)0x0; } LAB_1805854d0: FUN_180488560(param_1,local_58); if (local_20 != (longlong *)0x0) { (**(code **)(*local_20 + 0x20))(local_20,local_20 != local_58); } if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); } } ############ FUN_ 1813f4190 size=559 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813f4190(undefined8 *param_1) { undefined ***pppuVar1; undefined ***pppuVar2; undefined1 auStack_d8 [32]; undefined8 local_b8; undefined8 *local_b0; undefined **local_98; undefined8 *local_90; undefined ***local_60; longlong local_58 [7]; longlong *local_20; ulonglong local_18; local_b8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_d8; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = SpringAnimatedComponent::vftable; param_1[0x16] = 0; param_1[0x17] = 0; param_1[0x18] = 1; param_1[0x19] = 0; param_1[0x1a] = 0; *(undefined4 *)(param_1 + 0x1b) = 0; local_b0 = param_1; FUN_181408890(param_1 + 0x1c); FUN_181411b10(param_1 + 0x1c,"position",DAT_1824c3ea4); local_98 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_60 = &local_98; local_90 = param_1; FUN_181410000(param_1 + 0x1c,&local_98); pppuVar1 = (undefined ***)(param_1 + 0x1f); local_98 = std::_Func_impl_no_alloc<,void>::vftable; local_60 = &local_98; local_20 = (longlong *)0x0; local_90 = param_1; local_20 = (longlong *)(*(code *)PTR_FUN_1824b21c0)(&local_98,local_58); if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); local_60 = (undefined ***)0x0; } pppuVar2 = (undefined ***)param_1[0x26]; if (pppuVar2 != (undefined ***)0x0) { if (pppuVar2 == pppuVar1) { local_60 = (undefined ***)(*(code *)(*pppuVar2)[1])(pppuVar2,&local_98); pppuVar2 = (undefined ***)param_1[0x26]; if (pppuVar2 == (undefined ***)0x0) goto LAB_1813f435a; (*(code *)(*pppuVar2)[4])(pppuVar2,pppuVar2 != pppuVar1); pppuVar2 = local_60; } local_60 = pppuVar2; param_1[0x26] = 0; } LAB_1813f435a: FUN_180488560(pppuVar1,local_58); if (local_20 != (longlong *)0x0) { (**(code **)(*local_20 + 0x20))(local_20,local_20 != local_58); } if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); } } ############ FUN_ 1805842a0 size=471 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805842a0(undefined ***param_1,longlong param_2) { undefined8 *puVar1; undefined ***pppuVar2; undefined ***pppuVar3; undefined1 auStack_c8 [32]; undefined8 local_a8; undefined **local_98 [7]; undefined ***local_60; undefined **local_58 [7]; undefined ***local_20; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; local_60 = (undefined ***)0x0; puVar1 = *(undefined8 **)(param_2 + 0x38); if (puVar1 != (undefined8 *)0x0) { if (*(code **)*puVar1 == FUN_180586dd0) { local_98[0] = std:: _Func_impl_no_alloc<,void,juce::TextEditor&___ptr64> ::vftable; local_60 = local_98; } else { local_60 = (undefined ***)(**(code **)*puVar1)(puVar1,local_98); } } pppuVar3 = local_60; if ((local_60 == local_98) || (pppuVar2 = (undefined ***)param_1[7], pppuVar2 == param_1)) { local_20 = (undefined ***)0x0; if (local_60 != (undefined ***)0x0) { if (local_60 == local_98) { if ((code *)(*local_60)[1] == FUN_180586dd0) { local_58[0] = std:: _Func_impl_no_alloc<,void,juce::TextEditor&___ptr64> ::vftable; local_20 = local_58; FUN_180488cd0(local_98); } else { local_20 = (undefined ***)(*(code *)(*local_60)[1])(local_60,local_58); FUN_180488cd0(local_98); } } else { local_60 = (undefined ***)0x0; local_20 = pppuVar3; } } FUN_180584c20(local_98,param_1); FUN_180584c20(param_1,local_58); if (local_20 != (undefined ***)0x0) { if ((code *)(*local_20)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_20 != local_58) { /* WARNING: Subroutine does not return */ free(local_20); } } else { (*(code *)(*local_20)[4])(); } } } else { param_1[7] = (undefined **)local_60; local_60 = pppuVar2; } if (local_60 != (undefined ***)0x0) { if ((code *)(*local_60)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_60 != local_98) { /* WARNING: Subroutine does not return */ free(local_60); } } else { (*(code *)(*local_60)[4])(); } } } ############ FUN_ 18056bfe0 size=310 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18056bfe0(undefined ***param_1,undefined8 *param_2) { undefined ***pppuVar1; undefined1 auStack_c8 [32]; undefined8 local_a8; undefined **local_98; undefined8 local_90; undefined ***local_60; longlong local_58 [7]; longlong *local_20; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; local_90 = *param_2; local_98 = std:: _Func_impl_no_alloc<,void,juce::OpenGLShaderProgram*___ptr64> ::vftable; local_60 = &local_98; local_20 = (longlong *)0x0; local_20 = (longlong *)(*(code *)PTR_vtbl___AUSoothe2VertexData___1824b07f8)(&local_98,local_58); if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); local_60 = (undefined ***)0x0; } pppuVar1 = (undefined ***)param_1[7]; if (pppuVar1 != (undefined ***)0x0) { if (pppuVar1 == param_1) { local_60 = (undefined ***)(*(code *)(*pppuVar1)[1])(pppuVar1,&local_98); pppuVar1 = (undefined ***)param_1[7]; if (pppuVar1 == (undefined ***)0x0) goto LAB_18056c0b0; (*(code *)(*pppuVar1)[4])(pppuVar1,pppuVar1 != param_1); pppuVar1 = local_60; } local_60 = pppuVar1; param_1[7] = (undefined **)0x0; } LAB_18056c0b0: FUN_180488560(param_1,local_58); if (local_20 != (longlong *)0x0) { (**(code **)(*local_20 + 0x20))(local_20,local_20 != local_58); } if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); } } ############ FUN_ 18057a900 size=409 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18057a900(undefined ***param_1) { undefined ***pppuVar1; undefined1 auStack_c8 [32]; undefined8 local_a8; undefined **local_98 [7]; undefined ***local_60; undefined **local_58 [7]; undefined ***local_20; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; local_98[0] = std:: _Func_impl_no_alloc<,bool,juce::Component*___ptr64> ::vftable; local_60 = local_98; local_20 = (undefined ***)0x0; if ((code *)PTR_FUN_1824b5ad8 == FUN_180586db0) { local_58[0] = std:: _Func_impl_no_alloc<,bool,juce::Component*___ptr64> ::vftable; local_20 = local_58; } else { local_20 = (undefined ***)(*(code *)PTR_FUN_1824b5ad8)(local_98,local_58); } FUN_180488cd0(local_98); pppuVar1 = (undefined ***)param_1[7]; if (pppuVar1 != (undefined ***)0x0) { if (pppuVar1 == param_1) { if ((code *)(*pppuVar1)[1] == FUN_180586db0) { local_98[0] = std:: _Func_impl_no_alloc<,bool,juce::Component*___ptr64> ::vftable; local_60 = local_98; FUN_180488cd0(param_1); } else { local_60 = (undefined ***)(*(code *)(*pppuVar1)[1])(pppuVar1,local_98); FUN_180488cd0(param_1); } } else { param_1[7] = (undefined **)0x0; local_60 = pppuVar1; } } FUN_18057bc30(param_1,local_58); if (local_20 != (undefined ***)0x0) { if ((code *)(*local_20)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_20 != local_58) { /* WARNING: Subroutine does not return */ free(local_20); } } else { (*(code *)(*local_20)[4])(); } } if (local_60 != (undefined ***)0x0) { if ((code *)(*local_60)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_60 != local_98) { /* WARNING: Subroutine does not return */ free(local_60); } } else { (*(code *)(*local_60)[4])(); } } } ############ FUN_ 18057a740 size=417 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18057a740(undefined ***param_1,undefined8 *param_2) { undefined ***pppuVar1; undefined1 auStack_c8 [32]; undefined8 local_a8; undefined **local_98; undefined8 local_90; undefined ***local_60; undefined **local_58 [7]; undefined ***local_20; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; local_90 = *param_2; local_98 = std::_Func_impl_no_alloc<,void,juce::String>:: vftable; local_60 = &local_98; local_20 = (undefined ***)0x0; if ((code *)PTR_FUN_1824b3708 == FUN_18057c710) { local_58[0] = std:: _Func_impl_no_alloc<,void,juce::String>:: vftable; local_20 = local_58; } else { local_20 = (undefined ***)(*(code *)PTR_FUN_1824b3708)(&local_98,local_58); } FUN_180488cd0(&local_98); pppuVar1 = (undefined ***)param_1[7]; if (pppuVar1 != (undefined ***)0x0) { if (pppuVar1 == param_1) { if ((code *)(*pppuVar1)[1] == FUN_18057c710) { local_98 = std:: _Func_impl_no_alloc<,void,juce::String> ::vftable; local_60 = &local_98; FUN_180488cd0(param_1); } else { local_60 = (undefined ***)(*(code *)(*pppuVar1)[1])(pppuVar1,&local_98); FUN_180488cd0(param_1); } } else { param_1[7] = (undefined **)0x0; local_60 = pppuVar1; } } FUN_18057bba0(param_1,local_58); if (local_20 != (undefined ***)0x0) { if ((code *)(*local_20)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_20 != local_58) { /* WARNING: Subroutine does not return */ free(local_20); } } else { (*(code *)(*local_20)[4])(); } } if (local_60 != (undefined ***)0x0) { if ((code *)(*local_60)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_60 != &local_98) { /* WARNING: Subroutine does not return */ free(local_60); } } else { (*(code *)(*local_60)[4])(); } } } ############ FUN_ 1804d9ce0 size=485 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804d9ce0(undefined8 *param_1,undefined8 param_2) { undefined ***pppuVar1; undefined ***pppuVar2; undefined8 uVar3; longlong lVar4; undefined4 uVar5; undefined1 auStack_d8 [32]; undefined4 local_b8; undefined8 local_a8; undefined8 *local_a0; undefined **local_98; undefined8 *local_90; undefined ***local_60; longlong local_58 [7]; longlong *local_20; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_d8; *param_1 = juce::AudioProcessorValueTreeState::ParameterAdapter::vftable; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; param_1[4] = param_2; param_1[5] = 0; param_1[6] = 0; local_a0 = param_1; uVar3 = (**(code **)(*(longlong *)param_1[4] + 0x88))(); uVar5 = (**(code **)(*(longlong *)param_1[4] + 0x18))(); uVar5 = FUN_1804db050(uVar3,uVar5); *(undefined4 *)(param_1 + 7) = uVar5; *(undefined2 *)((longlong)param_1 + 0x3c) = 0x101; *(undefined1 *)((longlong)param_1 + 0x3e) = 0; FUN_1812c3e50(param_1[4],param_1); local_b8 = 0; lVar4 = __RTDynamicCast(param_1[4],0,&juce::RangedAudioParameter::RTTI_Type_Descriptor, &juce::AudioProcessorValueTreeState::Parameter::RTTI_Type_Descriptor); if (lVar4 == 0) { } pppuVar1 = (undefined ***)(lVar4 + 0x1e0); local_98 = std::_Func_impl_no_alloc<,void>::vftable; local_60 = &local_98; local_20 = (longlong *)0x0; local_90 = param_1; local_20 = (longlong *)(*(code *)PTR_FUN_18249b1d0)(&local_98,local_58); if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); local_60 = (undefined ***)0x0; } pppuVar2 = *(undefined ****)(lVar4 + 0x218); if (pppuVar2 != (undefined ***)0x0) { if (pppuVar2 == pppuVar1) { local_60 = (undefined ***)(*(code *)(*pppuVar2)[1])(pppuVar2,&local_98); pppuVar2 = *(undefined ****)(lVar4 + 0x218); if (pppuVar2 == (undefined ***)0x0) goto LAB_1804d9e4e; (*(code *)(*pppuVar2)[4])(pppuVar2,pppuVar2 != pppuVar1); pppuVar2 = local_60; } local_60 = pppuVar2; *(undefined8 *)(lVar4 + 0x218) = 0; } LAB_1804d9e4e: FUN_180488560(pppuVar1,local_58); if (local_20 != (longlong *)0x0) { (**(code **)(*local_20 + 0x20))(local_20,local_20 != local_58); } if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); } } ############ FUN_ 180488cd0 size=88 ############ void FUN_180488cd0(longlong *param_1) { longlong *_Memory; _Memory = (longlong *)param_1[7]; if (_Memory != (longlong *)0x0) { if (*(code **)(*_Memory + 0x20) != .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { (**(code **)(*_Memory + 0x20))(); param_1[7] = 0; return; } if (_Memory != param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } param_1[7] = 0; } return; } ############ FUN_ 1811afba0 size=437 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811afba0(undefined8 *param_1,undefined8 param_2,longlong *param_3) { undefined ***pppuVar1; undefined8 *puVar2; undefined ***pppuVar3; longlong *plVar4; undefined8 uVar5; undefined1 auStack_e8 [32]; undefined8 local_c8; undefined8 *local_c0; longlong *local_b8; undefined ***local_b0; undefined **local_a8 [7]; undefined ***local_70; longlong local_68 [7]; longlong *local_30; ulonglong local_28; local_c8 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_e8; *(undefined4 *)(param_1 + 1) = 0; *param_1 = SyncUpdater::vftable; param_1[2] = param_2; pppuVar1 = (undefined ***)(param_1 + 3); param_1[10] = 0; puVar2 = (undefined8 *)param_3[7]; local_c0 = param_1; local_b8 = param_3; local_b0 = pppuVar1; if (puVar2 != (undefined8 *)0x0) { uVar5 = (**(code **)*puVar2)(puVar2,pppuVar1); param_1[10] = uVar5; } *(undefined1 *)(param_1 + 0xb) = 1; if (param_1[10] != 0) goto LAB_1811afd28; local_a8[0] = std::_Func_impl_no_alloc<,void,float>:: vftable; local_70 = local_a8; local_30 = (longlong *)0x0; local_30 = (longlong *)(*(code *)PTR_FUN_1824952c0)(local_a8,local_68); if (local_70 != (undefined ***)0x0) { (*(code *)(*local_70)[4])(local_70,local_70 != local_a8); local_70 = (undefined ***)0x0; } pppuVar3 = (undefined ***)param_1[10]; if (pppuVar3 != (undefined ***)0x0) { if (pppuVar3 == pppuVar1) { local_70 = (undefined ***)(*(code *)(*pppuVar3)[1])(pppuVar3,local_a8); pppuVar3 = (undefined ***)param_1[10]; if (pppuVar3 == (undefined ***)0x0) goto LAB_1811afcc4; (*(code *)(*pppuVar3)[4])(pppuVar3,pppuVar3 != pppuVar1); pppuVar3 = local_70; } local_70 = pppuVar3; param_1[10] = 0; } LAB_1811afcc4: FUN_180488560(pppuVar1,local_68); if (local_30 != (longlong *)0x0) { (**(code **)(*local_30 + 0x20))(local_30,local_30 != local_68); } if (local_70 != (undefined ***)0x0) { (*(code *)(*local_70)[4])(local_70,local_70 != local_a8); } LAB_1811afd28: plVar4 = (longlong *)param_3[7]; if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x20))(plVar4,plVar4 != param_3); param_3[7] = 0; } } ############ FUN_ 18059f120 size=471 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18059f120(undefined ***param_1,longlong param_2) { undefined8 *puVar1; undefined ***pppuVar2; undefined ***pppuVar3; undefined1 auStack_c8 [32]; undefined8 local_a8; undefined **local_98 [7]; undefined ***local_60; undefined **local_58 [7]; undefined ***local_20; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; local_60 = (undefined ***)0x0; puVar1 = *(undefined8 **)(param_2 + 0x38); if (puVar1 != (undefined8 *)0x0) { if (*(code **)*puVar1 == FUN_180586d50) { local_98[0] = std:: _Func_impl_no_alloc<,juce::String,juce::String> ::vftable; local_60 = local_98; } else { local_60 = (undefined ***)(**(code **)*puVar1)(puVar1,local_98); } } pppuVar3 = local_60; if ((local_60 == local_98) || (pppuVar2 = (undefined ***)param_1[7], pppuVar2 == param_1)) { local_20 = (undefined ***)0x0; if (local_60 != (undefined ***)0x0) { if (local_60 == local_98) { if ((code *)(*local_60)[1] == FUN_180586d50) { local_58[0] = std:: _Func_impl_no_alloc<,juce::String,juce::String> ::vftable; local_20 = local_58; FUN_180488cd0(local_98); } else { local_20 = (undefined ***)(*(code *)(*local_60)[1])(local_60,local_58); FUN_180488cd0(local_98); } } else { local_60 = (undefined ***)0x0; local_20 = pppuVar3; } } FUN_18059f500(local_98,param_1); FUN_18059f500(param_1,local_58); if (local_20 != (undefined ***)0x0) { if ((code *)(*local_20)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_20 != local_58) { /* WARNING: Subroutine does not return */ free(local_20); } } else { (*(code *)(*local_20)[4])(); } } } else { param_1[7] = (undefined **)local_60; local_60 = pppuVar2; } if (local_60 != (undefined ***)0x0) { if ((code *)(*local_60)[4] == .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__) { if (local_60 != local_98) { /* WARNING: Subroutine does not return */ free(local_60); } } else { (*(code *)(*local_60)[4])(); } } } ############ FUN_ 1812ed680 size=385 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812ed680(longlong *param_1) { undefined ***pppuVar1; undefined ***pppuVar2; int iVar3; undefined1 auStack_c8 [40]; undefined8 local_a0; undefined **local_98; longlong *local_90; undefined ***local_60; longlong local_58 [7]; longlong *local_20; ulonglong local_18; local_a0 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; if ((char)param_1[0x4d] == '\0') { } if ((*(byte *)(param_1 + 0x30) >> 1 & 1) != 0) goto LAB_1812ed7d3; FUN_1812edc10(); pppuVar1 = (undefined ***)(param_1 + 0x36); local_98 = std::_Func_impl_no_alloc<,void>::vftable; local_60 = &local_98; local_20 = (longlong *)0x0; local_90 = param_1; local_20 = (longlong *)(*(code *)PTR_FUN_1824a1950)(&local_98,local_58); if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4])(local_60,local_60 != &local_98); local_60 = (undefined ***)0x0; } pppuVar2 = (undefined ***)param_1[0x3d]; if (pppuVar2 != (undefined ***)0x0) { if (pppuVar2 == pppuVar1) { local_60 = (undefined ***)(*(code *)(*pppuVar2)[1])(pppuVar2,&local_98); pppuVar2 = (undefined ***)param_1[0x3d]; if (pppuVar2 == (undefined ***)0x0) goto LAB_1812ed781; (*(code *)(*pppuVar2)[4])(pppuVar2,pppuVar2 != pppuVar1); pppuVar2 = local_60; } local_60 = pppuVar2; param_1[0x3d] = 0; } LAB_1812ed781: FUN_180488560(pppuVar1,local_58); if (local_20 != (longlong *)0x0) { (**(code **)(*local_20 + 0x20))(local_20,local_20 != local_58); } if (local_60 != (undefined ***)0x0) { (*(code *)(*local_60)[4]) (local_60,CONCAT71((int7)((ulonglong)&local_98 >> 8),local_60 != &local_98)); } LAB_1812ed7d3: iVar3 = (**(code **)(*param_1 + 0x168))(param_1); FUN_1812eba00(param_1 + 0x1b,iVar3 + 1,0); } ############ FUN_ 1812a5870 size=38 ############ void FUN_1812a5870(undefined8 *param_1) { *param_1 = juce::ChangeBroadcaster::vftable; *(undefined4 *)((longlong)param_1 + 0x2c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[4]); } ############ FUN_ 18053849c size=9 ############ void FUN_18053849c(longlong param_1) { .?AV?$IIRFilterExtended@M$01@@::vtbl___AV__IIRFilterExtended_M_01__(param_1 + -0x60); return; } ############ FUN_ 18052d0d0 size=277 ############ void FUN_18052d0d0(longlong param_1,float *param_2,int param_3) { longlong *plVar1; uint uVar2; longlong lVar3; double dVar4; uVar2 = 0; if (0 < *(int *)(param_1 + 0x240084)) { lVar3 = 0; do { if (uVar2 < *(uint *)(param_1 + 0x7c)) { plVar1 = *(longlong **)(lVar3 + *(longlong *)(param_1 + 0x70)); } else { plVar1 = (longlong *)0x0; } if (*(code **)(*plVar1 + 0x18) == .?AV?$IIRFilterExtended@M$01@@::vtbl___AV__IIRFilterExtended_M_01__) { dVar4 = (double)*param_2 * (double)plVar1[0x17] + (double)plVar1[(longlong)param_3 + 0x13]; plVar1[(longlong)param_3 + 0x13] = (longlong) (((double)*param_2 * (double)plVar1[0x18] - dVar4 * (double)plVar1[0x1a]) + (double)plVar1[(longlong)param_3 + 0x15]); plVar1[(longlong)param_3 + 0x15] = (longlong)((double)*param_2 * (double)plVar1[0x19] - dVar4 * (double)plVar1[0x1b]); *param_2 = (float)dVar4; } else { (**(code **)(*plVar1 + 0x18))(plVar1,param_2,param_3); } uVar2 = uVar2 + 1; lVar3 = lVar3 + 8; } while ((int)uVar2 < *(int *)(param_1 + 0x240084)); } return; } ############ FUN_ 18058eaec size=12 ############ void .?AVLines@?$FilterGraphGrid@M@@::vtbl___AVLines___FilterGraphGrid_M__(longlong param_1) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1 + -0x9c68); return; } ############ FUN_ 18058ea98 size=12 ############ void .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__(longlong param_1) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1 + -0xe0); return; } ############ FUN_ 18058eac8 size=12 ############ void FUN_18058eac8(longlong param_1) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1 + -200); return; } ############ FUN_ 18058ead4 size=12 ############ void .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__(longlong param_1) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1 + -0xe8); return; } ############ FUN_ 1812de350 size=70 ############ void FUN_1812de350(longlong param_1,undefined8 param_2,undefined8 param_3) { char cVar1; cVar1 = FUN_1813162d0(*(undefined8 *)(param_1 + 0x1c8)); if (cVar1 == '\0') { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_2,param_3); } return; } ############ FUN_ 1812e53a0 size=97 ############ void FUN_1812e53a0(longlong param_1,undefined8 param_2,undefined8 param_3) { char cVar1; if (((*(byte *)(param_1 + 0xa9) & 0x10) == 0) && (((*(longlong *)(param_1 + 0x18) == 0 || (cVar1 = FUN_18133eaa0(), cVar1 != '\0')) && (cVar1 = FUN_180504800(*(undefined8 *)(param_1 + 0x200)), cVar1 != '\0')))) { return; } .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_2,param_3); return; } ############ FUN_ 1812e74f0 size=178 ############ void FUN_1812e74f0(longlong param_1,undefined8 param_2,float *param_3) { longlong *plVar1; bool bVar2; bVar2 = false; if ((*param_3 != 0.0) && (plVar1 = *(longlong **)(*(longlong *)(param_1 + 200) + 200), (*(byte *)(plVar1 + 0x15) & 2) != 0)) { bVar2 = true; (**(code **)(*plVar1 + 0x40))(); } if ((param_3[1] == 0.0) || (plVar1 = *(longlong **)(*(longlong *)(param_1 + 200) + 0xc0), (*(byte *)(plVar1 + 0x15) & 2) == 0)) { if (!bVar2) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_2,param_3) ; } } else { (**(code **)(*plVar1 + 0x40))(plVar1,param_2,param_3); } return; } ############ FUN_ 181316480 size=63 ############ void FUN_181316480(undefined8 param_1,undefined8 param_2,undefined8 param_3) { char cVar1; cVar1 = FUN_1813162d0(); if (cVar1 == '\0') { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_2,param_3); } return; } ############ FUN_ 1813c0ce0 size=189 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813c0ce0(longlong param_1,undefined8 param_2,float *param_3) { undefined1 auStack_58 [32]; ulonglong local_38; float local_30; ulonglong local_28; local_28 = DAT_182615970 ^ (ulonglong)auStack_58; if ((((*(byte *)(param_1 + 0x200) & 2) == 0) || (param_3[1] == 0.0)) && (((*(byte *)(param_1 + 0x350) & 2) == 0 || (*param_3 == 0.0)))) { .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(); } else { local_30 = param_3[2]; local_38 = *(ulonglong *)param_3 & 0xffffffff00000000; (**(code **)(*(longlong *)(param_1 + 0x158) + 0x40))((longlong *)(param_1 + 0x158),0,&local_38); local_30 = param_3[2]; local_38 = *(ulonglong *)param_3 & 0xffffffff; (**(code **)(*(longlong *)(param_1 + 0x2a8) + 0x40)) ((longlong *)(param_1 + 0x2a8),param_2,&local_38); } } ############ FUN_ 181550d40 size=581 ############ void FUN_181550d40(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { byte bVar1; undefined4 uVar2; undefined1 auStack_1f8 [112]; undefined4 local_188; undefined8 *local_168; undefined8 local_138; undefined8 local_130; undefined8 local_128; undefined8 local_108; undefined8 *local_100; undefined8 local_f8; ulonglong local_40; local_108 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_1f8; local_188 = DAT_1824c3e28; local_168 = param_1; local_138 = param_3; local_130 = param_3; local_128 = param_2; local_100 = param_1; local_f8 = param_2; FUN_1805857c0(); param_1[0x109] = &DAT_1821dbf98; *param_1 = CloudyBoxSlider::vftable; param_1[0x16] = CloudyBoxSlider::vftable; param_1[0x19] = CloudyBoxSlider::vftable; param_1[0x108] = CloudyBoxSlider::vftable; param_1[0x10a] = CloudyBoxSlider::vftable; param_1[0x10b] = CloudyBoxSlider::vftable; param_1[0x10c] = CloudyBoxSlider::vftable; *(undefined4 *)(param_1 + 0x10d) = 0; *(undefined2 *)((longlong)param_1 + 0x86c) = 0; *(undefined1 *)((longlong)param_1 + 0x86e) = 0; uVar2 = .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_2); bVar1 = (byte)param_1; /* WARNING: Call to offcut address within same function */ func_0x000181550e84(uVar2,param_2); FUN_181550f96(bVar1 & (byte)((ulonglong)&stack0x00000000 >> 8)); return; } ############ FUN_ 181413ea0 size=282 ############ undefined8 * FUN_181413ea0(undefined8 *param_1,longlong *param_2,undefined4 param_3) { uint uVar1; uint *_Memory; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = CloudyContainer::vftable; param_1[0x16] = 0; param_1[0x17] = 0; *(undefined1 *)(param_1 + 0x18) = 0; param_1[0x19] = 0; param_1[0x1a] = 0; *(undefined4 *)(param_1 + 0x1b) = param_3; *(undefined8 *)((longlong)param_1 + 0xdc) = 0; *(undefined8 *)((longlong)param_1 + 0xe4) = 0; *(undefined8 *)((longlong)param_1 + 0xec) = 0; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 1815073e0 size=1599 ############ /* WARNING: Removing unreachable block (ram,0x000181507535) */ void FUN_1815073e0(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; uint *puVar2; ulonglong uVar3; uint uVar4; undefined4 *puVar5; ulonglong uVar6; longlong lVar7; longlong *plVar8; longlong lVar9; int unaff_retaddr; undefined1 auStack_1a8 [32]; ulonglong local_188; uint local_180 [2]; undefined *local_178; undefined8 local_160; uint local_158; int local_150; undefined1 *local_140; undefined4 local_138; undefined4 local_130; uint local_12c; undefined8 *local_128; undefined8 local_118; longlong local_110; undefined8 *local_108; undefined8 local_100; undefined4 local_f8; undefined4 local_f4; longlong local_f0; longlong local_e8; longlong local_e0; undefined8 local_b0; undefined8 *local_a8; ulonglong local_48; local_b0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1a8; local_108 = param_1; local_100 = param_3; local_a8 = param_1; FUN_18056b680(); param_1[0x1a] = &DAT_1821dbf98; *param_1 = CloudyBandModeButtonGroup::vftable; param_1[0x16] = CloudyBandModeButtonGroup::vftable; param_1[0x19] = CloudyBandModeButtonGroup::vftable; param_1[0x1b] = CloudyBandModeButtonGroup::vftable; param_1[0x1c] = CloudyBandModeButtonGroup::vftable; FUN_180585060(param_1 + 0x1d,0); param_1[0x25] = 0; param_1[0x26] = 0; param_1[0x27] = 0; param_1[0x28] = param_2; local_128 = param_1 + 0x29; FUN_1804877b0(local_128,param_2 + 0x2c8); param_1[0x2b] = param_4; *(undefined4 *)(param_1 + 0x2c) = 0x41880000; local_130 = 0xb80; if (((ulonglong)&stack0x00000000 & 0xe00) == 0) { uVar4 = 1; } else { uVar4 = 0x36ba44e8; } local_12c = ((int)(-uVar4 | uVar4) >> 0x1f) * -0xdc5c ^ 0xd09c; FUN_18049c4e0(&local_110," band mode group"); local_118 = *(undefined8 *)(param_1[0x28] + 0x68); FUN_1804951c0(); uVar1 = FUN_181232aa0(&local_f0,&local_118,&local_110); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,uVar1); FUN_1804951e0(local_f0 + -0x10); FUN_1804951e0(local_110 + -0x10); *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x18; local_188 = 0; local_160 = 0x22c; local_140 = &LAB_1814153f0; local_178 = &DAT_18141561c; do { plVar8 = &local_e8; puVar5 = &local_f8; puVar2 = local_180; FUN_1815092b9(); *puVar2 = 0x710d1111; *puVar5 = 0x22; *plVar8 = 0x181507727; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((local_180[0] << 2 | local_180[0] >> 0x1e) & 0x99999999 | (local_180[0] >> 2 | local_180[0] << 0x1e) & 0x66666666) ^ 0x7ef8cb85; uVar4 = (uVar4 << 0x18 | uVar4 >> 8) + 0xa38212da; uVar4 = (uVar4 >> 2 | uVar4 * 0x40000000) & 0x99999999 | (uVar4 * 4 | uVar4 >> 0x1e) & 0x66666666; uVar4 = (uVar4 >> 4 | uVar4 << 0x1c) & 0xe1e1e1e1 | (uVar4 << 4 | uVar4 >> 0x1c) & 0x1e1e1e1e; uVar4 = ((uVar4 << 0x10 | uVar4 >> 0x10) & 0xfde70218 | (uVar4 >> 0x10 | uVar4 << 0x10) & 0x218fde7) ^ 0xa89b571f; local_180[0] = uVar4 >> 0xf | uVar4 << 0x11; do { local_150 = -0x206bf078; local_f4 = 0x59; local_e0 = 0x1815077f7; FUN_1815066ce(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (local_150 << 1 | (uint)(local_150 < 0)) ^ 0x61a64fee; uVar4 = (uVar4 << 0x14 | uVar4 >> 0xc) + 0x8f92d705; lVar7 = (longlong)(int)local_180[0]; uVar4 = ((uVar4 >> 4 | uVar4 * 0x10000000) & 0xb4b4b4b4 | (uVar4 * 0x10 | uVar4 >> 0x1c) & 0x4b4b4b4b) ^ 0x6b63aa0b; uVar4 = (uVar4 >> 8 | uVar4 << 0x18) ^ 0xfe520ce4; lVar9 = (longlong)(int)(uVar4 << 0x16 | uVar4 >> 10); local_180[0] = 0; local_150 = 0; plVar8 = (longlong *)(lVar7 + 4 + local_e8); *plVar8 = *plVar8 + (ulonglong)((uint)(*(ulonglong *)(lVar9 + 4 + local_e0) >> 0x1e) & 0x4548); uVar3 = *(ulonglong *)(lVar7 + 4 + local_e8); uVar6 = (uVar3 >> 0x1e | uVar3 << 0x22) + 0x4f200b1a46f166c9; *(ulonglong *)(lVar7 + 4 + local_e8) = uVar6; uVar3 = uVar6 >> 0xb & 0xff ^ (ulonglong)*(byte *)(lVar7 + 0xb + local_e8); uVar3 = uVar6 ^ (uVar3 << 0x2d | uVar3) << 0xb; uVar6 = ~((uVar3 >> 4 | uVar6 << 0x3c) & 0xb4b4b4b4b4b4b4b4 | (uVar3 << 4 | uVar3 >> 0x3c) & 0x4b4b4b4b4b4b4b4b); uVar3 = (ulonglong)((uint)((uVar6 >> 0x10 ^ uVar6) >> 0x11) & 0x7fff); uVar3 = (uVar6 ^ (uVar3 << 0x10 | uVar3) << 0x11) + 0x3b98484f32e678ec; uVar3 = (uVar3 * 0x800000 | uVar3 >> 0x29) ^ 0xa84595ed564a5e96; *(ulonglong *)(lVar7 + 4 + local_e8) = uVar3; plVar8 = (longlong *)(lVar9 + 4 + local_e0); *plVar8 = *plVar8 + (ulonglong)((uint)(uVar3 >> 8) & 0x4048c); local_160 = CONCAT44(local_160._4_4_,(int)(*(ulonglong *)(lVar7 + 4 + local_e8) >> 0x17)) & 0xffffffff7fffffff; local_158 = (uint)(*(ulonglong *)(lVar7 + 4 + local_e8) >> 7) ^ 0xee8129c7; local_188 = *(ulonglong *)(lVar7 + 4 + local_e8) ^ 0xe23de60eb1ee877; do { local_138 = 0x301299a8; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); FUN_1815098bc(); FUN_181507a4d(); /* WARNING: Could not recover jumptable at 0x000181507b2a. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)&stack0x0004e39a)(); return; } ############ FUN_ 18158ea10 size=2405 ############ undefined8 * FUN_18158ea10(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; uint uVar2; longlong lVar3; longlong lVar4; uint *puVar5; undefined8 *puVar6; longlong local_res10; longlong *local_res20; param_1[1] = &DAT_1821dbf98; param_1[2] = &DAT_1821dbf98; lVar4 = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; *param_1 = XYSliderArea::vftable; param_1[0x16] = XYSliderArea::vftable; param_1[0x17] = XYSliderArea::vftable; param_1[0x18] = XYSliderArea::vftable; param_1[0x19] = XYSliderArea::vftable; param_1[0x1a] = 0; param_1[0x1b] = 0; lVar3 = __RTDynamicCast(*(undefined8 *)(param_2 + 0xb0),0, &juce::AudioProcessor::RTTI_Type_Descriptor, &WithAutoCue::RTTI_Type_Descriptor,0); if (lVar3 != 0) { lVar4 = lVar3 + 0x30; } param_1[0x1c] = lVar4; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1d)); param_1[0x23] = 0; param_1[0x24] = 0; param_1[0x25] = param_4; FUN_180580670(param_1 + 0x26); FUN_180580670(param_1 + 0x2f); param_1[0x2f] = SelectedNodes::vftable; plVar1 = param_1 + 0x38; param_1[0x39] = &DAT_1821dbf98; param_1[0x3a] = &DAT_1821dbf98; param_1[0x3b] = 0; param_1[0x3c] = 0; param_1[0x3d] = 0; param_1[0x3e] = 0; param_1[0x3f] = 0; param_1[0x40] = 0; param_1[0x41] = 0; param_1[0x42] = 0; param_1[0x43] = 0; param_1[0x44] = 0; param_1[0x45] = 0; param_1[0x46] = 0; param_1[0x47] = 0; param_1[0x48] = 0; param_1[0x49] = 0; param_1[0x4a] = 0; param_1[0x4b] = 0; param_1[0x4c] = 0; *(undefined4 *)(param_1 + 0x4d) = 0; *(undefined1 *)((longlong)param_1 + 0x26c) = 0; param_1[0x4e] = 0; param_1[0x4f] = 0; param_1[0x50] = 0; param_1[0x51] = 0; *plVar1 = (longlong)XYSliderArea::NodeLasso::vftable; local_res20 = plVar1; FUN_18049c4e0(&local_res10,"NodeLasso"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(plVar1,&local_res10); puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar6 = param_1 + 0x53; *puVar6 = 0; param_1[0x54] = 0; *(undefined4 *)(param_1 + 0x55) = 0; FUN_18047e060(puVar6,*(int *)((longlong)param_1 + 0x2a4) + 0x65); if (*(int *)((longlong)param_1 + 0x2a4) == 0) { puVar6 = (undefined8 *)*puVar6; } else { memmove((void *)((longlong)*puVar6 + 0x328),(void *)*puVar6, (longlong)*(int *)((longlong)param_1 + 0x2a4) << 3); puVar6 = (undefined8 *)*puVar6; } *puVar6 = 0; puVar6[1] = 0; puVar6[2] = 0; puVar6[3] = 0; puVar6[4] = 0; puVar6[5] = 0; puVar6[6] = 0; puVar6[7] = 0; puVar6[8] = 0; puVar6[9] = 0; puVar6[10] = 0; puVar6[0xb] = 0; puVar6[0xc] = 0; puVar6[0xd] = 0; puVar6[0xe] = 0; puVar6[0xf] = 0; puVar6[0x10] = 0; puVar6[0x11] = 0; puVar6[0x12] = 0; puVar6[0x13] = 0; puVar6[0x14] = 0; puVar6[0x15] = 0; puVar6[0x16] = 0; puVar6[0x17] = 0; puVar6[0x18] = 0; puVar6[0x19] = 0; puVar6[0x1a] = 0; puVar6[0x1b] = 0; puVar6[0x1c] = 0; puVar6[0x1d] = 0; puVar6[0x1e] = 0; puVar6[0x1f] = 0; puVar6[0x20] = 0; puVar6[0x21] = 0; puVar6[0x22] = 0; puVar6[0x23] = 0; puVar6[0x24] = 0; puVar6[0x25] = 0; puVar6[0x26] = 0; puVar6[0x27] = 0; puVar6[0x28] = 0; puVar6[0x29] = 0; puVar6[0x2a] = 0; puVar6[0x2b] = 0; puVar6[0x2c] = 0; puVar6[0x2d] = 0; puVar6[0x2e] = 0; puVar6[0x2f] = 0; puVar6[0x30] = 0; puVar6[0x31] = 0; puVar6[0x32] = 0; puVar6[0x33] = 0; puVar6[0x34] = 0; puVar6[0x35] = 0; puVar6[0x36] = 0; puVar6[0x37] = 0; puVar6[0x38] = 0; puVar6[0x39] = 0; puVar6[0x3a] = 0; puVar6[0x3b] = 0; puVar6[0x3c] = 0; puVar6[0x3d] = 0; puVar6[0x3e] = 0; puVar6[0x3f] = 0; puVar6[0x40] = 0; puVar6[0x41] = 0; puVar6[0x42] = 0; puVar6[0x43] = 0; puVar6[0x44] = 0; puVar6[0x45] = 0; puVar6[0x46] = 0; puVar6[0x47] = 0; puVar6[0x48] = 0; puVar6[0x49] = 0; puVar6[0x4a] = 0; puVar6[0x4b] = 0; puVar6[0x4c] = 0; puVar6[0x4d] = 0; puVar6[0x4e] = 0; puVar6[0x4f] = 0; puVar6[0x50] = 0; puVar6[0x51] = 0; puVar6[0x52] = 0; puVar6[0x53] = 0; puVar6[0x54] = 0; puVar6[0x55] = 0; puVar6[0x56] = 0; puVar6[0x57] = 0; puVar6[0x58] = 0; puVar6[0x59] = 0; puVar6[0x5a] = 0; puVar6[0x5b] = 0; puVar6[0x5c] = 0; puVar6[0x5d] = 0; puVar6[0x5e] = 0; puVar6[0x5f] = 0; puVar6[0x60] = 0; puVar6[0x61] = 0; puVar6[0x62] = 0; puVar6[99] = 0; puVar6[100] = 0; *(int *)((longlong)param_1 + 0x2a4) = *(int *)((longlong)param_1 + 0x2a4) + 0x65; puVar6 = param_1 + 0x57; *puVar6 = 0; param_1[0x58] = 0; *(undefined4 *)(param_1 + 0x59) = 0; FUN_18047e060(puVar6,*(int *)((longlong)param_1 + 0x2c4) + 0x65); if (*(int *)((longlong)param_1 + 0x2c4) == 0) { puVar6 = (undefined8 *)*puVar6; } else { memmove((void *)((longlong)*puVar6 + 0x328),(void *)*puVar6, (longlong)*(int *)((longlong)param_1 + 0x2c4) << 3); puVar6 = (undefined8 *)*puVar6; } *puVar6 = 0; puVar6[1] = 0; puVar6[2] = 0; puVar6[3] = 0; puVar6[4] = 0; puVar6[5] = 0; puVar6[6] = 0; puVar6[7] = 0; puVar6[8] = 0; puVar6[9] = 0; puVar6[10] = 0; puVar6[0xb] = 0; puVar6[0xc] = 0; puVar6[0xd] = 0; puVar6[0xe] = 0; puVar6[0xf] = 0; puVar6[0x10] = 0; puVar6[0x11] = 0; puVar6[0x12] = 0; puVar6[0x13] = 0; puVar6[0x14] = 0; puVar6[0x15] = 0; puVar6[0x16] = 0; puVar6[0x17] = 0; puVar6[0x18] = 0; puVar6[0x19] = 0; puVar6[0x1a] = 0; puVar6[0x1b] = 0; puVar6[0x1c] = 0; puVar6[0x1d] = 0; puVar6[0x1e] = 0; puVar6[0x1f] = 0; puVar6[0x20] = 0; puVar6[0x21] = 0; puVar6[0x22] = 0; puVar6[0x23] = 0; puVar6[0x24] = 0; puVar6[0x25] = 0; puVar6[0x26] = 0; puVar6[0x27] = 0; puVar6[0x28] = 0; puVar6[0x29] = 0; puVar6[0x2a] = 0; puVar6[0x2b] = 0; puVar6[0x2c] = 0; puVar6[0x2d] = 0; puVar6[0x2e] = 0; puVar6[0x2f] = 0; puVar6[0x30] = 0; puVar6[0x31] = 0; puVar6[0x32] = 0; puVar6[0x33] = 0; puVar6[0x34] = 0; puVar6[0x35] = 0; puVar6[0x36] = 0; puVar6[0x37] = 0; puVar6[0x38] = 0; puVar6[0x39] = 0; puVar6[0x3a] = 0; puVar6[0x3b] = 0; puVar6[0x3c] = 0; puVar6[0x3d] = 0; puVar6[0x3e] = 0; puVar6[0x3f] = 0; puVar6[0x40] = 0; puVar6[0x41] = 0; puVar6[0x42] = 0; puVar6[0x43] = 0; puVar6[0x44] = 0; puVar6[0x45] = 0; puVar6[0x46] = 0; puVar6[0x47] = 0; puVar6[0x48] = 0; puVar6[0x49] = 0; puVar6[0x4a] = 0; puVar6[0x4b] = 0; puVar6[0x4c] = 0; puVar6[0x4d] = 0; puVar6[0x4e] = 0; puVar6[0x4f] = 0; puVar6[0x50] = 0; puVar6[0x51] = 0; puVar6[0x52] = 0; puVar6[0x53] = 0; puVar6[0x54] = 0; puVar6[0x55] = 0; puVar6[0x56] = 0; puVar6[0x57] = 0; puVar6[0x58] = 0; puVar6[0x59] = 0; puVar6[0x5a] = 0; puVar6[0x5b] = 0; puVar6[0x5c] = 0; puVar6[0x5d] = 0; puVar6[0x5e] = 0; puVar6[0x5f] = 0; puVar6[0x60] = 0; puVar6[0x61] = 0; puVar6[0x62] = 0; puVar6[99] = 0; puVar6[100] = 0; *(int *)((longlong)param_1 + 0x2c4) = *(int *)((longlong)param_1 + 0x2c4) + 0x65; FUN_18057f0f0(param_1 + 0x5a,param_3); FUN_1811e4f60(param_1 + 0x5d,param_3); *(undefined2 *)(param_1 + 0x60) = 0; *(undefined1 *)((longlong)param_1 + 0x302) = 0; (**(code **)(*plVar1 + 0x58))(plVar1,1); FUN_181343cc0(param_1,plVar1,0xffffffff); FUN_1811be290(param_4,param_1 + 0x17); lVar3 = param_1[0x5e]; puVar5 = (uint *)(lVar3 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } FUN_1811f8160(param_3,lVar3,param_1 + 0x16); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_18134bd50(param_1,0); FUN_18049c4e0(&local_res20,"XYSliderArea"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,&local_res20); puVar5 = (uint *)(local_res20 + -2); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return param_1; } ############ FUN_ 1814d77e0 size=180 ############ undefined8 * FUN_1814d77e0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint *_Memory; longlong local_res20; FUN_1815ef340(param_1,param_2,0,param_4,0xfffffffffffffffe); *param_1 = TutorialsHintModal::vftable; param_1[0x16] = TutorialsHintModal::vftable; FUN_1815ef760(param_1 + 0x10f); FUN_18134a370(param_1 + 0xa7,param_1 + 0x10f,0); FUN_18049c4e0(&local_res20,"TutorialsHintModal"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,&local_res20); _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 1814c49f0 size=225 ############ undefined8 * FUN_1814c49f0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; uint uVar2; undefined8 uVar3; uint *_Memory; undefined8 *local_res20; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; FUN_1815ef340(); *param_1 = ShortcutModal::vftable; param_1[0x16] = ShortcutModal::vftable; puVar1 = param_1 + 0x10f; *puVar1 = 0; param_1[0x110] = 0; local_res20 = puVar1; uVar3 = FUN_18047e380(); *puVar1 = uVar3; param_1[0x111] = 0; param_1[0x112] = 0; *(undefined4 *)(param_1 + 0x113) = 0x41a00000; *(undefined4 *)((longlong)param_1 + 0x89c) = 0x41600000; *(undefined4 *)(param_1 + 0x114) = 0x40800000; FUN_18049c4e0(&local_res20,"ShortcutModal",param_3,param_4,uVar4); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,&local_res20); _Memory = (uint *)(local_res20 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 181618200 size=1582 ############ ulonglong FUN_181618200(undefined8 *param_1,int param_2,undefined8 param_3,undefined8 *param_4, undefined8 param_5,undefined8 param_6) { bool bVar1; bool bVar2; bool bVar3; undefined8 uVar4; longlong *plVar5; undefined8 *puVar6; undefined8 uVar7; longlong lVar8; ulonglong uVar9; undefined8 uVar10; bool bVar11; undefined4 uVar12; undefined1 local_368 [32]; undefined1 local_2f0 [8]; undefined1 local_2e8 [64]; undefined8 *local_2a8; undefined8 local_2a0; longlong local_298; longlong local_290; longlong local_288; longlong local_280; longlong local_278; longlong local_270; longlong local_268; undefined1 local_260 [16]; undefined1 local_250 [8]; longlong local_248; undefined1 local_240 [8]; undefined1 local_238 [8]; undefined1 local_230 [280]; undefined8 *local_118; undefined8 local_110; undefined8 local_108; undefined8 local_100; undefined1 local_f8 [64]; undefined8 local_b8; ulonglong local_40; plVar5 = &local_268; local_b8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)local_368; local_2a0 = param_6; local_2a8 = param_1; local_118 = param_1; FUN_1805718f0(); *param_1 = SliderAreaLayer::vftable; param_1[0x1f] = SliderAreaLayer::vftable; param_1[0x22] = SliderAreaLayer::vftable; param_1[0x23] = param_3; uVar4 = param_4[1]; param_1[0x24] = *param_4; param_1[0x25] = uVar4; param_1[0x26] = param_4[2]; *(int *)(param_1 + 0x27) = param_2; local_110 = 0; param_1[0x28] = 0; _eh_vector_constructor_iterator_(param_1 + 0x29,8,4,FUN_18051f800,FUN_18047c160); local_108 = 0; param_1[0x2d] = 0; local_100 = 0; param_1[0x2e] = 0; uVar10 = 0x790370; FUN_18049c4e0(&local_290,"SliderAreaLayer"); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,&local_290); FUN_1804951e0(local_290 + -0x10); FUN_181212060(&local_288,param_2); uVar4 = FUN_181246550(local_250,&DAT_1822e0594,&local_288); FUN_1812465e0(local_2f0,uVar4,&DAT_1822196b4); FUN_1804951e0(local_288 + -0x10); if (param_2 == 0) { FUN_18049c4e0(plVar5,"low cut"); bVar3 = true; bVar2 = false; bVar11 = false; bVar1 = false; } else { bVar11 = param_2 != 5; if (bVar11) { FUN_181212060(&local_278,param_2); plVar5 = (longlong *)FUN_181246550(&local_248,"band ",&local_278); } else { FUN_18049c4e0(&local_270,"high cut"); plVar5 = &local_270; } bVar2 = !bVar11; local_280 = *plVar5; *plVar5 = (longlong)&DAT_1821dbf98; plVar5 = &local_280; bVar3 = false; bVar1 = true; } local_298 = *plVar5; *plVar5 = (longlong)&DAT_1821dbf98; if (bVar1) { FUN_1804951e0(local_280 + -0x10); } if (bVar11) { FUN_1804951e0(local_248 + -0x10); FUN_1804951e0(local_278 + -0x10); } if (bVar2) { FUN_1804951e0(local_270 + -0x10); } if (bVar3) { FUN_1804951e0(local_268 + -0x10); } FUN_181212060(local_260,param_2); FUN_1812465e0(local_2e8,local_260,"-control"); uVar4 = FUN_18124a830(local_240,local_2f0); uVar4 = FUN_1812465e0(local_230,uVar4,&DAT_18221a1b4); puVar6 = (undefined8 *)FUN_181245ff0(local_f8,uVar4); uVar4 = FUN_18119aa60(param_3,*puVar6); uVar7 = FUN_18058f240(local_238,&local_298,uVar4); FUN_180485db0(param_1 + 0x28,uVar7); FUN_18047c160(local_238); FUN_18124a7e0(local_230); lVar8 = FUN_1804730e0(param_1 + 0x28); puVar6 = &DAT_182674550; (**(code **)(*(longlong *)(lVar8 + 200) + 0x10))((longlong *)(lVar8 + 200),&DAT_182674550); uVar12 = FUN_181617c91(); /* WARNING: Call to offcut address within same function */ uVar9 = func_0x0001816186b3(uVar12,puVar6,uVar4,uVar10); return uVar9 & 0xfffffffffffffff8; } ############ FUN_ 1816039d0 size=1148 ############ /* WARNING: Instruction at (ram,0x000181603dc4) overlaps instruction at (ram,0x000181603dc2) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000181603c2f) */ /* WARNING: Removing unreachable block (ram,0x000181603c46) */ void FUN_1816039d0(undefined8 *param_1,undefined8 *param_2,ulonglong param_3,undefined8 param_4, undefined4 param_5) { undefined8 uVar1; longlong lVar2; longlong lVar3; uint uVar4; ulonglong uVar5; ulonglong uVar6; uint uVar7; ulonglong uVar8; int unaff_retaddr; undefined1 auStack_218 [32]; undefined4 local_1f8; uint local_1b0; undefined4 local_1ac; undefined8 *local_198; ulonglong local_190; undefined8 local_188; undefined8 local_180 [2]; undefined8 *local_170; undefined1 local_150 [8]; undefined8 *local_148; ulonglong local_140; undefined8 local_138; undefined8 local_130; undefined8 *local_128; undefined8 *local_120; ulonglong local_118; undefined8 local_110; undefined8 local_108; undefined1 local_100 [72]; undefined8 local_b8; ulonglong local_58; local_130 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_218; local_170 = param_1; local_148 = param_2; local_140 = param_3; local_138 = param_4; local_128 = param_1; local_120 = param_2; local_118 = param_3; local_b8 = param_4; FUN_180579f00(param_1,param_3); local_188 = *param_2; FUN_1804951c0(); FUN_1815fb460(param_1 + 0x3c,&local_188); *param_1 = CloudyPopupMenuItem::vftable; param_1[0x16] = CloudyPopupMenuItem::vftable; param_1[0x39] = CloudyPopupMenuItem::vftable; param_1[0x3c] = CloudyPopupMenuItem::vftable; param_1[0x40] = CloudyPopupMenuItem::vftable; local_198 = param_1 + 0x41; param_1[0x48] = 0; FUN_1804885d0(local_198,param_4); *(undefined4 *)(param_1 + 0x49) = param_5; param_1[0x4a] = 0; param_1[0x4b] = 0; param_1[0x4c] = 0; local_110 = 0; param_1[0x4d] = 0; local_108 = 0; param_1[0x4e] = 0; *(undefined8 *)((longlong)param_1 + 0x284) = 0; *(undefined8 *)((longlong)param_1 + 0x28c) = 0; *(undefined4 *)((longlong)param_1 + 0x294) = 0x41800000; *(undefined4 *)(param_1 + 0x53) = 0x40000000; *(undefined4 *)((longlong)param_1 + 0x29c) = 0x41600000; local_1ac = 0xea0; uVar4 = (uint)&stack0x00000000 & 0x27f; uVar7 = (uint)&stack0x00000000 & 0x2ff; uVar7 = (uVar7 * uVar7 + 1) % 7; uVar8 = (ulonglong)uVar7; local_1b0 = (((uVar4 + 2) * (uVar4 + 1) * uVar4) % 3 & uVar7) + 0x4ad1 ^ 0x46d1; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_3); FUN_18049c4e0(&local_190, "\n\n\n" ); uVar1 = FUN_181248710(local_100,&local_190); FUN_181248430(uVar1,local_180,0); FUN_181248660(local_100); lVar2 = FUN_18132eac0(local_150,local_180[0]); FUN_180485db0(param_1 + 0x4e); FUN_18047c160(local_150); FUN_180487550(local_180); FUN_1804951e0(local_190 - 0x10); local_1f8 = 0; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } uVar5 = (ulonglong)uVar4; } while (uVar4 != 0); /* WARNING: Call to offcut address within same function */ lVar3 = func_0x000181603d77(); uVar6 = (lVar3 + lVar2) - ((lVar2 - (lVar3 + lVar2) ^ 0xffffffffffffffffU) + 1); if (uVar5 != 1 && uVar6 != 0) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } /* WARNING: Could not recover jumptable at 0x000181603e69. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(-0x6d3b - (~uVar8 + 1)))(param_3 & 0xffffffff,~(~uVar6 + 1) + 1); return; } ############ FUN_ 1815df5c0 size=446 ############ undefined8 * FUN_1815df5c0(undefined8 *param_1,undefined8 param_2,longlong *param_3) { undefined8 *puVar1; longlong *plVar2; undefined8 uVar3; undefined4 *puVar4; undefined8 *local_res10; longlong *local_res18; undefined1 *local_res20; undefined **local_e8; undefined8 *local_e0; undefined ***local_b0; undefined1 local_a8 [56]; undefined8 local_70; undefined8 local_68 [7]; undefined8 local_30; local_res18 = param_3; FUN_1815f84a0(); param_1[0x36] = 0; *(undefined1 *)(param_1 + 0x37) = 0; param_1[0x39] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x3a) = 0; *param_1 = Glow::vftable; param_1[0x16] = Glow::vftable; param_1[0x35] = Glow::vftable; param_1[0x38] = Glow::vftable; param_1[0x3b] = param_2; local_res10 = param_1 + 0x3c; param_1[0x43] = 0; puVar1 = (undefined8 *)param_3[7]; if (puVar1 != (undefined8 *)0x0) { uVar3 = (**(code **)*puVar1)(puVar1,local_res10); param_1[0x43] = uVar3; } param_1[0x44] = 3; *(undefined4 *)(param_1 + 0x45) = 0x3e99999a; *(undefined1 *)(param_1 + 0x34) = 1; local_res10 = local_68; local_res20 = local_a8; local_30 = 0; local_70 = 0; puVar1 = (undefined8 *)param_3[7]; if (puVar1 != (undefined8 *)0x0) { local_70 = (**(code **)*puVar1)(puVar1,local_a8); } local_e8 = std::_Func_impl_no_alloc<,int>::vftable; local_b0 = &local_e8; local_e0 = param_1; FUN_1815f8200(param_1,param_2,&local_e8,local_a8,local_68); puVar4 = (undefined4 *)FUN_1812a2a20(&DAT_18262bb6c,&local_res10,DAT_18262bb68,DAT_1824c3df0); *(undefined4 *)((longlong)param_1 + 0xd4) = *puVar4; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,0); plVar2 = (longlong *)param_3[7]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x20))(plVar2,plVar2 != param_3); param_3[7] = 0; } return param_1; } ############ FUN_ 1815bcd40 size=1154 ############ void FUN_1815bcd40(undefined8 param_1,undefined1 param_2) { uint uVar1; uint uVar2; int iVar3; int unaff_retaddr; undefined1 auStack_148 [32]; int local_128 [2]; undefined *local_120; undefined8 local_110; uint local_104; undefined4 *local_100; undefined8 local_e0; uint local_d8; undefined8 local_d0; ulonglong local_40; local_40 = DAT_182615970 ^ (ulonglong)auStack_148; uVar2 = (uint)&stack0x00000000; uVar1 = ((uVar2 & 0x7ff) * (uVar2 & 0x7ff) * 0x10 + 4) % 0x13; local_104 = ((int)((-uVar1 | uVar1) ^ 0xffffffff) >> 0x1f) + 0xa606U ^ 0xa376; if (((ulonglong)&stack0x00000000 & 0x6e0) == 0) { uVar1 = 1; } else { uVar1 = ((uVar2 & 0x2eff) * (uVar2 & 0x2eff) + 1) % 7; } uVar2 = uVar2 & 0x3ff; iVar3 = (uVar2 + 2) * (uVar2 + 1) * uVar2; local_d8 = (((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e | 0xb698U) ^ (((int)(-uVar1 | uVar1) >> 0x1f) * -0x17a0 | 0xb7e8U); local_d0 = param_1; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,param_2); local_e0 = 0x2431c1b15d163064; local_100 = &DAT_18152ef78; local_120 = &DAT_18152f078; local_110 = 0xea066f9; local_128[0] = ((uint)(DAT_18152efa0 * 0x5bd1e995) >> 0x18 ^ DAT_18152efa0 * 0x5bd1e995) * 0x5bd1e995; do { FUN_1815c61cc(); uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); local_128[0] = ((uint)(DAT_18152efac * 0x5bd1e995) >> 0x18 ^ DAT_18152efac * 0x5bd1e995) * 0x5bd1e995; FUN_1815bd224(0xd628,&DAT_18152efb0,0,local_128); return; } ############ FUN_ 180583800 size=75 ############ void FUN_180583800(longlong param_1) { *(undefined8 *)(param_1 + 0xc0) = 0; *(undefined4 *)(param_1 + 0xbc) = 0; if (*(int *)(param_1 + 0xb8) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0xb0)); } *(undefined4 *)(param_1 + 0xb8) = 0; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,0); return; } ############ FUN_ 18131d380 size=40 ############ void FUN_18131d380(longlong param_1,char param_2) { if (*(char *)(param_1 + 0x12f) != param_2) { *(char *)(param_1 + 0x12f) = param_2; FUN_18131d310(); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(); return; } return; } ############ FUN_ 1812cf8d0 size=177 ############ void FUN_1812cf8d0(longlong *param_1,char param_2) { undefined8 *puVar1; undefined4 uVar2; *(undefined4 *)(param_1 + 0x24) = 0x10000; *(undefined4 *)((longlong)param_1 + 0x124) = 0x10; *(undefined4 *)(param_1 + 0x25) = 0x18; *(undefined4 *)((longlong)param_1 + 300) = 0x10; *(undefined4 *)(param_1 + 0x1f) = 0x32; *(undefined4 *)((longlong)param_1 + 0xfc) = 0x32; *(undefined4 *)(param_1 + 0x20) = 0x100; *(undefined4 *)((longlong)param_1 + 0x104) = 0x100; if (param_2 != '\0') { puVar1 = (undefined8 *)param_1[0x17]; param_1[0x17] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } uVar2 = (**(code **)(*param_1 + 0x160))(param_1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,uVar2,0); FUN_1812cc270(param_1,(char)param_1[0x16]); return; } return; } ############ FUN_ 1812cc0f0 size=55 ############ void FUN_1812cc0f0(longlong *param_1,int param_2) { int iVar1; .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(); iVar1 = (**(code **)(*param_1 + 0x160))(param_1); if (param_2 != iVar1) { FUN_181341b10(param_1); } return; } ############ FUN_ 1812cc130 size=87 ############ void FUN_1812cc130(longlong *param_1) { undefined8 *puVar1; undefined4 uVar2; puVar1 = (undefined8 *)param_1[0x17]; param_1[0x17] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } uVar2 = (**(code **)(*param_1 + 0x160))(param_1); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,uVar2,0); FUN_1812cc270(param_1,(char)param_1[0x16]); return; } ############ FUN_ 1812cc190 size=61 ############ void FUN_1812cc190(longlong *param_1) { undefined4 uVar1; if ((*(byte *)(param_1 + 0x15) & 1) != 0) { uVar1 = (**(code **)(*param_1 + 0x160))(); .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(param_1,uVar1,0); FUN_181344f60(param_1,1); return; } return; } ############ FUN_ 181330d70 size=106 ############ ulonglong FUN_181330d70(longlong param_1,undefined4 param_2,undefined4 param_3) { ulonglong uVar1; undefined1 local_res20 [8]; uVar1 = .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(); if (((char)uVar1 != '\0') && (*(longlong *)(param_1 + 0xc0) != 0)) { uVar1 = FUN_1812903f0((longlong *)(param_1 + 0xc0),local_res20,param_2,param_3); if (0x7e < *(byte *)(uVar1 + 3)) { return 1; } } return uVar1 & 0xffffffffffffff00; } ############ FUN_ 181334090 size=405 ############ /* WARNING: Removing unreachable block (ram,0x0001813341bf) */ undefined1 FUN_181334090(longlong param_1,int param_2,int param_3) { longlong *plVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; char cVar5; undefined1 uVar6; undefined1 local_res20 [3]; byte local_res23; longlong *local_48; undefined8 local_40; undefined1 local_38 [20]; undefined4 local_24; undefined4 local_20; undefined8 *local_18; local_40 = 0xfffffffffffffffe; cVar5 = .?AV?$DigitalFilter@M$0BA@$01@@::vtbl___AV__DigitalFilter_M_0BA__01__(); if (cVar5 == '\0') { return 0; } if (*(char *)(param_1 + 0x1ca) == '\0') { return 1; } FUN_181334610(param_1,&local_48); plVar1 = local_48; if (local_48 == (longlong *)0x0) { LAB_1813341e4: uVar6 = 1; } else { if ((0 < *(int *)(param_1 + 0x1d4)) && (0 < *(int *)(param_1 + 0x1d8))) { uVar2 = (longlong)((int)local_48[3] * (param_3 - *(int *)(param_1 + 0x1d0))) / (longlong)*(int *)(param_1 + 0x1d8); uVar3 = (longlong) ((param_2 - *(int *)(param_1 + 0x1cc)) * *(int *)((longlong)local_48 + 0x14)) / (longlong)*(int *)(param_1 + 0x1d4); if (((uint)uVar3 < *(uint *)((longlong)local_48 + 0x14)) && ((uint)uVar2 < *(uint *)(local_48 + 3))) { local_24 = 1; local_20 = 1; local_18 = (undefined8 *)0x0; (**(code **)(*local_48 + 0x20))(local_48,local_38,uVar3 & 0xffffffff,uVar2 & 0xffffffff,0); FUN_181290670(local_38,local_res20,0,0); if (local_18 != (undefined8 *)0x0) { (**(code **)*local_18)(local_18,1); } } else { local_res23 = 0; } if (*(byte *)(param_1 + 0x1ca) < local_res23) goto LAB_1813341e4; } uVar6 = 0; } if (plVar1 != (longlong *)0x0) { LOCK(); plVar1 = plVar1 + 1; lVar4 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar4 == 1) { (**(code **)*local_48)(local_48,1); } } return uVar6; } ############ FUN_ 180002000 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182616408)[DAT_1826159a0])(); return; } ############ FUN_ 180001c40 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615f08)[DAT_1826159a0])(); return; } ############ FUN_ 181131c04 size=112 ############ /* Library Function - Single Match void __cdecl `eh vector constructor iterator'(void * __ptr64,unsigned __int64,unsigned __int64,void (__cdecl*)(void * __ptr64),void (__cdecl*)(void * __ptr64)) Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release */ void __cdecl _eh_vector_constructor_iterator_ (void *param_1,__uint64 param_2,__uint64 param_3,_func_void_void_ptr *param_4, _func_void_void_ptr *param_5) { __uint64 _Var1; for (_Var1 = 0; _Var1 != param_3; _Var1 = _Var1 + 1) { (*(code *)PTR__guard_dispatch_icall_181bab6b0)(param_1); param_1 = (void *)((longlong)param_1 + param_2); } return; } ############ FUN_ 18058c630 size=52 ############ void * FUN_18058c630(void *param_1,ulonglong param_2) { FUN_18058b860(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180c47d80 size=845 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180c47d80(int *param_1,uint *param_2) { uint uVar1; uint uVar2; uint uVar3; undefined8 uVar4; uint uVar5; uint uVar6; uint uVar7; int iVar8; uint uVar9; uint uVar10; uint *puVar11; longlong lVar12; bool bVar13; undefined1 local_158 [32]; undefined4 local_138; undefined *local_130; undefined *local_128; uint local_120; uint *local_118; undefined4 local_108 [4]; undefined1 local_f8 [144]; uint local_68; uint local_28 [6]; ulonglong local_10; local_10 = DAT_182615970 ^ (ulonglong)local_158; uVar1 = param_1[2] + 0x944e4307; uVar5 = param_1[3] ^ 0xaa7d1554U ^ uVar1; uVar9 = (param_1[1] ^ 0xea2cbcd1U) << 0x1f | (param_1[1] ^ 0xea2cbcd1U) >> 1; uVar2 = uVar1 ^ uVar5 & 0x7310039d; uVar5 = uVar5 & 0x8ceffc62 ^ uVar1 ^ uVar2; uVar1 = *param_1 + 0x439bf8f4U >> 3; uVar7 = (*param_1 + 0x439bf8f4U) * 0x20000000 | uVar1; uVar3 = uVar5 & 0xddffbe9c ^ uVar2; uVar3 = (uVar3 << 0x19 | uVar3 >> 7) ^ uVar9; uVar2 = uVar5 & 0x22004163 ^ uVar2; uVar6 = uVar2 << 10 | uVar2 >> 0x16; uVar1 = ((uVar1 << 4 | uVar7 >> 0x1c) & 0x96969696 | (uVar7 >> 4 | uVar1 << 0x1c) & 0x69696969) + 0x2938145e; uVar7 = (uVar1 >> 0xd | uVar1 * 0x80000) ^ 0x29b4851; uVar10 = uVar9 ^ uVar3 & 0xbbb9a4a9; uVar1 = uVar3 & 0x44465b56 ^ uVar9 ^ uVar10; uVar5 = uVar1 & 0x75a87b8a ^ uVar10; uVar3 = ~((uVar7 >> 0xb | uVar7 << 0x15) + 0xf84e1d81) ^ 0xbdd8dfd9; uVar10 = uVar10 ^ uVar1 & 0x8a578475; uVar1 = ((uVar10 << 8 | uVar10 >> 0x18) & 0x9a659a65 | (uVar10 >> 8 | uVar10 << 0x18) & 0x659a659a ) + 0xb12eb7e5; uVar5 = ((uVar5 << 0x10 | uVar5 >> 0x10) & 0xc73b38c4 | (uVar5 >> 0x10 | uVar5 << 0x10) & 0x38c4c73b) + 0x510855ec ^ uVar1; uVar3 = (uVar3 << 0x1b | uVar3 >> 5) + 0x9b28fac8; uVar4 = CONCAT44((uVar6 >> 2 & 0xcccccccc | (uVar2 >> 0x16) << 0x1e | (uVar6 & 0xccccccc) << 2 | (uVar2 & 0x3fffff) >> 0x14) + 0x8438c62d, uVar1 ^ uVar5 & 0x9a6c0686); LOCK(); bVar13 = DAT_182670784 == 0; if (bVar13) { DAT_182670784 = 1; } UNLOCK(); while (!bVar13) { LOCK(); bVar13 = DAT_182670784 == 0; if (bVar13) { DAT_182670784 = 1; } UNLOCK(); } do { uVar2 = FUN_180bd9af0(local_f8,3,uVar4,local_108); } while ((uVar2 & 0xfffffffd) == 0); if (uVar2 == 1) { local_118 = local_28; local_128 = &DAT_18260f320; local_130 = &DAT_18260f320; local_138 = local_108[0]; local_120 = uVar3 >> 0x1d | uVar3 * 8; FUN_180f3a8a0(local_f8,(&PTR_DAT_18260f198)[local_68],(&PTR_DAT_18260f1c8)[local_68],uVar4); } LOCK(); UNLOCK(); DAT_182670784 = 0; puVar11 = local_28; lVar12 = 5; do { iVar8 = 7; uVar2 = (*puVar11 << 0x1a | *puVar11 >> 6) ^ 0x84f2174f; uVar2 = (uVar2 >> 3 | uVar2 << 0x1d) ^ 0x2a035b35; uVar2 = ~((uVar2 << 0x1a | uVar2 >> 6) + 0x4aedba70) + 0x37567977; uVar3 = uVar2 >> 9 | uVar2 * 0x800000; *puVar11 = uVar3; uVar2 = uVar5 & 0x6593f979 ^ uVar1; do { uVar7 = uVar3 << 6 | uVar3 >> 0x1a; uVar6 = uVar2 >> 0x16 | uVar2 << 10; uVar3 = ((uVar3 & 0x3ffffff) >> 2 | uVar7 << 0x18) & 0xa857a857 | (uVar7 << 8 | (uVar3 & 0x3ffffff) >> 0x12) & 0x57a857a8; uVar2 = (uVar6 << 0x10 | (uVar2 & 0x3fffff) >> 6) & 0xd65429ab | ((uVar2 & 0x3fffff) >> 6 | uVar6 << 0x10) & 0x29abd654; uVar3 = (uVar3 << 0x17 | uVar3 >> 9) + 0x8f0959c0; uVar2 = (uVar2 >> 0x14 | uVar2 << 0xc) + 0xe6e2d9b0; uVar3 = (uVar3 * 8 | uVar3 >> 0x1d) ^ 0x2677a938; uVar2 = (uVar2 >> 0xf | uVar2 * 0x20000) + 0xfa0d9ebc; uVar3 = (uVar3 << 0xc | uVar3 >> 0x14) + 0x1209966e; uVar2 = (uVar2 * 0x20000000 | uVar2 >> 3) + 0x8fc2d11c; uVar3 = (uVar3 * 0x10 | uVar3 >> 0x1c) & 0xb4b4b4b4 | (uVar3 >> 4 | uVar3 * 0x10000000) & 0x4b4b4b4b; uVar2 = (uVar2 >> 8 | uVar2 * 0x1000000) & 0xfa05fa05 | (uVar2 * 0x100 | uVar2 >> 0x18) & 0x5fa05fa; iVar8 = iVar8 + -1; } while (-1 < iVar8); *param_2 = uVar3; puVar11 = puVar11 + 1; param_2[1] = uVar2; param_2 = param_2 + 2; lVar12 = lVar12 + -1; } while (lVar12 != 0); } ############ FUN_ 18058eae0 size=12 ############ void .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__(longlong param_1) { .?AV?$FilterGraphGrid@M@@::vtbl___AV__FilterGraphGrid_M__(param_1 + -0xb0); return; } ############ FUN_ 18052d8a0 size=93 ############ void FUN_18052d8a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_1,param_4,param_3); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_1,param_4,(double)(float)param_3,0); } ############ FUN_ 1804d56b0 size=428 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804d56b0(undefined1 (*param_1) [16],uint param_2) { undefined1 (*pauVar1) [16]; float *pfVar2; float *pfVar3; float *pfVar4; float fVar5; int iVar6; uint uVar7; longlong lVar8; float *pfVar9; ulonglong uVar10; longlong lVar11; float fVar12; float fVar13; undefined1 auVar14 [16]; float local_28; float fStack_1c; iVar6 = (int)(param_2 + ((int)param_2 >> 0x1f & 3U)) >> 2; if (iVar6 < 2) { if ((int)param_2 < 1) { } fVar12 = *(float *)*param_1; iVar6 = param_2 - 1; pfVar9 = (float *)(*param_1 + 4); if (3 < iVar6) { uVar7 = (param_2 - 5 >> 2) + 1; uVar10 = (ulonglong)uVar7; iVar6 = iVar6 + uVar7 * -4; do { pfVar2 = pfVar9 + 1; fVar13 = *pfVar9; if (*pfVar9 <= fVar12) { fVar13 = fVar12; } pfVar3 = pfVar9 + 2; pfVar4 = pfVar9 + 3; pfVar9 = pfVar9 + 4; fVar12 = *pfVar2; if (*pfVar2 <= fVar13) { fVar12 = fVar13; } fVar13 = *pfVar3; if (*pfVar3 <= fVar12) { fVar13 = fVar12; } fVar12 = *pfVar4; if (*pfVar4 <= fVar13) { fVar12 = fVar13; } uVar10 = uVar10 - 1; } while (uVar10 != 0); } for (; 0 < iVar6; iVar6 = iVar6 + -1) { fVar13 = *pfVar9; pfVar9 = pfVar9 + 1; if (fVar13 <= fVar12) { fVar13 = fVar12; } fVar12 = fVar13; } } else { iVar6 = iVar6 + -1; if (((ulonglong)param_1 & 0xf) == 0) { auVar14 = *param_1; for (; 0 < iVar6; iVar6 = iVar6 + -1) { auVar14 = maxps(auVar14,param_1[1]); param_1 = param_1 + 1; } } else { auVar14 = *param_1; while (0 < iVar6) { pauVar1 = param_1 + 1; param_1 = param_1 + 1; iVar6 = iVar6 + -1; auVar14 = maxps(auVar14,*pauVar1); } } fVar12 = auVar14._4_4_; fVar13 = auVar14._8_4_; fStack_1c = auVar14._12_4_; if (fVar13 <= fVar12) { if (fStack_1c <= fVar12) { fStack_1c = fVar12; } } else if (fStack_1c <= fVar13) { fStack_1c = fVar13; } local_28 = auVar14._0_4_; if (fStack_1c <= local_28) { fStack_1c = local_28; } lVar8 = 0; uVar10 = (ulonglong)(param_2 & 3); if (3 < uVar10) { pfVar9 = (float *)(param_1[1] + 8); lVar11 = (uVar10 - 4 >> 2) + 1; lVar8 = lVar11 * 4; do { pfVar2 = pfVar9 + -1; fVar12 = pfVar9[-2]; if (pfVar9[-2] <= fStack_1c) { fVar12 = fStack_1c; } fVar13 = *pfVar9; pfVar3 = pfVar9 + 1; pfVar9 = pfVar9 + 4; fVar5 = *pfVar2; if (*pfVar2 <= fVar12) { fVar5 = fVar12; } if (fVar13 <= fVar5) { fVar13 = fVar5; } fStack_1c = *pfVar3; if (*pfVar3 <= fVar13) { fStack_1c = fVar13; } lVar11 = lVar11 + -1; } while (lVar11 != 0); } if (lVar8 < (longlong)uVar10) { do { lVar11 = lVar8 * 4; lVar8 = lVar8 + 1; fVar12 = *(float *)(param_1[1] + lVar11); if (*(float *)(param_1[1] + lVar11) <= fStack_1c) { fVar12 = fStack_1c; } fStack_1c = fVar12; } while (lVar8 < (longlong)uVar10); } } } ############ FUN_ 1805355d0 size=97 ############ void FUN_1805355d0(undefined8 param_1,undefined8 param_2,undefined4 param_3) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_1,param_3); } ############ FUN_ 18052dae0 size=85 ############ void FUN_18052dae0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_3); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,(double)(float)param_3,param_1,param_4); } ############ FUN_ 180530080 size=97 ############ void FUN_180530080(undefined8 param_1,undefined8 param_2,undefined4 param_3) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_1,param_3); } ############ FUN_ 180530b60 size=462 ############ void FUN_180530b60(longlong param_1) { undefined4 uVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; fVar2 = powf(*(float *)(param_1 + 0x540878),DAT_1824c3df0); fVar3 = powf(*(float *)(param_1 + 0x54087c),DAT_1824c41e0); fVar7 = DAT_1824c45a8; if (*(char *)(param_1 + 0x5408b8) != '\0') { fVar7 = DAT_1824c4594; } fVar4 = logf(DAT_1824c4418); fVar5 = logf(fVar7); fVar5 = expf((fVar5 - fVar4) * fVar2 + fVar4); fVar4 = DAT_1824c43e4; *(float *)(param_1 + 0x540894) = fVar5; fVar4 = logf(fVar4); fVar6 = logf(DAT_1824c4518); fVar3 = expf((fVar6 - fVar4) * fVar3 + fVar4); *(float *)(param_1 + 0x540898) = fVar3; fVar4 = logf(DAT_1824c3c70); fVar3 = DAT_1824c3ea4; fVar6 = logf(DAT_1824c3ea4); fVar2 = expf((fVar6 - fVar4) * fVar2 + fVar4); uVar1 = DAT_1824c459c; fVar7 = fVar7 * DAT_1824c41e0; fVar3 = fVar3 - fVar2; FUN_180533340(param_1 + 0x2404e8,fVar5,DAT_1824c459c,*(undefined4 *)(param_1 + 0x24),fVar3,fVar7); FUN_180533340(param_1 + 0x340500,*(undefined4 *)(param_1 + 0x540894),uVar1, *(undefined4 *)(param_1 + 0x24),fVar3,fVar7); FUN_180533340(param_1 + 0x440518,*(undefined4 *)(param_1 + 0x540898),uVar1, *(undefined4 *)(param_1 + 0x24),fVar3,DAT_1824c4564); return; } ############ FUN_ 18052fa60 size=78 ############ void FUN_18052fa60(longlong *param_1) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805619f0 size=231 ############ void FUN_1805619f0(longlong param_1) { void *pvVar1; void *pvVar2; pvVar1 = *(void **)(param_1 + 0x50); if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (*(longlong *)(param_1 + 0x60) - (longlong)pvVar1 & 0xfffffffffffffff0U)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = *(void **)(param_1 + 0x38); if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (*(longlong *)(param_1 + 0x48) - (longlong)pvVar1 & 0xfffffffffffffff0U)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } FUN_18052fa60(param_1 + 0x20); pvVar1 = *(void **)(param_1 + 8); if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (*(longlong *)(param_1 + 0x18) - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180564570 size=1083 ############ void FUN_180564570(longlong param_1) { undefined4 *puVar1; float *pfVar2; float *pfVar3; longlong *plVar4; longlong lVar5; double dVar6; float fVar7; float _Y; float fVar8; float fVar9; float fVar10; int iVar11; float *pfVar12; longlong lVar13; longlong lVar14; float fVar15; float fVar16; float fVar17; uint uVar18; uint uVar19; float local_res8 [2]; float local_res10 [2]; float local_res18 [4]; undefined8 uVar20; fVar10 = DAT_1824c4680; fVar9 = DAT_1824c41e0; fVar8 = DAT_1824c3ea4; _Y = DAT_1824c3d8c; fVar7 = DAT_1824c3d3c; uVar20 = 0xfffffffffffffffe; iVar11 = 0; pfVar12 = *(float **)(param_1 + 0xa0); pfVar2 = *(float **)(param_1 + 0xa8); uVar18 = (uint)DAT_1824c4f10; uVar19 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); if (pfVar12 != pfVar2) { lVar13 = 0; lVar14 = 0; do { fVar15 = *pfVar12; pfVar3 = *(float **)(param_1 + 0x80); fVar17 = pfVar3[1]; fVar16 = fVar8; if (*(longlong *)(pfVar3 + 0x24) == 0) { fVar15 = (fVar15 - *pfVar3) / (fVar17 - *pfVar3); if (0.0 <= fVar15) { if (fVar15 <= fVar8) { fVar16 = fVar15; } } else { fVar16 = 0.0; } fVar15 = pfVar3[3]; if (fVar15 != fVar8) { if (*(char *)(pfVar3 + 4) == '\0') { fVar16 = powf(fVar16,fVar15); } else { fVar16 = fVar16 * fVar9 - fVar8; fVar17 = fVar8; if (fVar16 < 0.0) { fVar17 = fVar10; } dVar6 = (double)fVar16; fVar15 = powf((float)(double)CONCAT44((uint)((ulonglong)dVar6 >> 0x20) & uVar19, SUB84(dVar6,0) & uVar18),fVar15); fVar16 = (fVar17 * fVar15 + fVar8) * _Y; } } } else { local_res18[0] = *pfVar3; plVar4 = *(longlong **)(pfVar3 + 0x24); local_res8[0] = fVar15; local_res10[0] = fVar17; if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar15 = (float)(**(code **)(*plVar4 + 0x10)) (plVar4,local_res18,local_res10,local_res8,uVar20); if (0.0 <= fVar15) { if (fVar15 <= fVar8) { fVar16 = fVar15; } } else { fVar16 = 0.0; } } fVar15 = powf(*(float *)(param_1 + 0xbc) * _Y,_Y); fVar15 = fVar15 * fVar7; lVar5 = *(longlong *)(param_1 + 0x28); *(undefined4 *)(lVar5 + lVar14) = 0x40c00000; *(undefined4 *)(lVar5 + 4 + lVar14) = 0x40c00000; pfVar3 = (float *)(*(longlong *)(param_1 + 0x40) + lVar13); *pfVar3 = fVar16; pfVar3[1] = 0.0; pfVar3[2] = fVar15; pfVar3[3] = 0.0; pfVar3 = (float *)(*(longlong *)(param_1 + 0x40) + 0x10 + lVar13); *pfVar3 = fVar16; pfVar3[1] = 1.0; pfVar3[2] = fVar15; pfVar3[3] = 0.0; iVar11 = iVar11 + 2; lVar14 = lVar14 + 8; lVar13 = lVar13 + 0x20; pfVar12 = pfVar12 + 1; } while (pfVar12 != pfVar2); } pfVar12 = *(float **)(param_1 + 0x88); pfVar2 = *(float **)(param_1 + 0x90); if (pfVar12 != pfVar2) { lVar14 = (longlong)iVar11 << 4; lVar13 = (longlong)iVar11 * 4; do { fVar15 = *pfVar12; pfVar3 = *(float **)(param_1 + 0x78); fVar17 = pfVar3[1]; fVar16 = fVar8; if (*(longlong *)(pfVar3 + 0x24) == 0) { fVar15 = (fVar15 - *pfVar3) / (fVar17 - *pfVar3); if (0.0 <= fVar15) { if (fVar15 <= fVar8) { fVar16 = fVar15; } } else { fVar16 = 0.0; } fVar15 = pfVar3[3]; if (fVar15 != fVar8) { if (*(char *)(pfVar3 + 4) == '\0') { fVar16 = powf(fVar16,fVar15); } else { fVar16 = fVar16 * fVar9 - fVar8; fVar17 = fVar8; if (fVar16 < 0.0) { fVar17 = fVar10; } dVar6 = (double)fVar16; fVar15 = powf((float)(double)CONCAT44((uint)((ulonglong)dVar6 >> 0x20) & uVar19, SUB84(dVar6,0) & uVar18),fVar15); fVar16 = (fVar17 * fVar15 + fVar8) * _Y; } } } else { local_res18[0] = *pfVar3; plVar4 = *(longlong **)(pfVar3 + 0x24); local_res8[0] = fVar15; local_res10[0] = fVar17; if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } fVar15 = (float)(**(code **)(*plVar4 + 0x10))(plVar4,local_res18,local_res10,local_res8); if (0.0 <= fVar15) { if (fVar15 <= fVar8) { fVar16 = fVar15; } } else { fVar16 = 0.0; } } fVar15 = powf(*(float *)(param_1 + 0xbc) * _Y,_Y); fVar15 = fVar15 * fVar7; lVar5 = *(longlong *)(param_1 + 0x28); *(undefined4 *)(lVar5 + lVar13) = 0x40c00000; *(undefined4 *)(lVar5 + 4 + lVar13) = 0x40c00000; puVar1 = (undefined4 *)(*(longlong *)(param_1 + 0x40) + lVar14); *puVar1 = 0; puVar1[1] = fVar16; puVar1[2] = fVar15; puVar1[3] = 0; puVar1 = (undefined4 *)(*(longlong *)(param_1 + 0x40) + 0x10 + lVar14); *puVar1 = 0x3f800000; puVar1[1] = fVar16; puVar1[2] = fVar15; puVar1[3] = 0; lVar13 = lVar13 + 8; lVar14 = lVar14 + 0x20; pfVar12 = pfVar12 + 1; } while (pfVar12 != pfVar2); } return; } ############ FUN_ 18056d350 size=167 ############ void FUN_18056d350(longlong *param_1,void *param_2,longlong param_3) { void *_Dst; ulonglong uVar1; longlong lVar2; size_t _Size; _Size = param_3 - (longlong)param_2; uVar1 = (longlong)_Size >> 2; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar1 != 0) { if (0x3fffffffffffffff < uVar1) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } lVar2 = uVar1 * 4; if (0x3fffffffffffffff < uVar1) { lVar2 = -1; } lVar2 = FUN_180480500(lVar2); *param_1 = lVar2; param_1[1] = lVar2; param_1[2] = *param_1 + uVar1 * 4; _Dst = (void *)*param_1; memmove(_Dst,param_2,_Size); param_1[1] = _Size + (longlong)_Dst; } return; } ############ FUN_ 18056a760 size=349 ############ undefined8 * FUN_18056a760(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { char cVar1; longlong *plVar2; longlong *plVar3; longlong *plVar4; longlong lVar5; undefined1 local_res8 [8]; plVar2 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar2) && (param_4 == plVar2)) { FUN_18056b350(param_1,plVar2[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar2; *(longlong **)*param_1 = plVar2; *(longlong **)(*param_1 + 0x10) = plVar2; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar4 = (longlong *)param_3[1]; plVar2 = param_3; while ((plVar3 = plVar4, cVar1 == '\0' && (plVar2 == (longlong *)plVar3[2]))) { cVar1 = *(char *)(plVar3[1] + 0x19); plVar4 = (longlong *)plVar3[1]; plVar2 = plVar3; } } plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar2 = (longlong *)param_3[1]; while ((plVar4 = plVar2, cVar1 == '\0' && (param_3 == (longlong *)plVar4[2]))) { cVar1 = *(char *)(plVar4[1] + 0x19); plVar2 = (longlong *)plVar4[1]; param_3 = plVar4; } } lVar5 = FUN_18047db40(param_1); FUN_18056e1d0(lVar5 + 0x28,local_res8,**(undefined8 **)(lVar5 + 0x28), *(undefined8 **)(lVar5 + 0x28)); /* WARNING: Subroutine does not return */ free(*(void **)(lVar5 + 0x28)); } *param_2 = param_3; } return param_2; } ############ FUN_ 18055eb10 size=297 ############ void FUN_18055eb10(longlong param_1) { int *piVar1; int iVar2; longlong *plVar3; undefined8 *puVar4; plVar3 = *(longlong **)(param_1 + 0x38); if (plVar3 != (longlong *)0x0) { puVar4 = (undefined8 *)*plVar3; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } /* WARNING: Subroutine does not return */ free(plVar3); } plVar3 = *(longlong **)(param_1 + 0x30); if (plVar3 != (longlong *)0x0) { puVar4 = (undefined8 *)*plVar3; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } /* WARNING: Subroutine does not return */ free(plVar3); } plVar3 = *(longlong **)(param_1 + 0x28); if (plVar3 != (longlong *)0x0) { puVar4 = (undefined8 *)*plVar3; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } /* WARNING: Subroutine does not return */ free(plVar3); } plVar3 = *(longlong **)(param_1 + 0x20); if (plVar3 != (longlong *)0x0) { puVar4 = (undefined8 *)*plVar3; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } /* WARNING: Subroutine does not return */ free(plVar3); } plVar3 = *(longlong **)(param_1 + 0x18); if (plVar3 != (longlong *)0x0) { puVar4 = (undefined8 *)*plVar3; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } /* WARNING: Subroutine does not return */ free(plVar3); } return; } ############ FUN_ 18056a8e0 size=335 ############ undefined8 * FUN_18056a8e0(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { char cVar1; longlong *plVar2; longlong *plVar3; longlong *plVar4; void *_Memory; plVar2 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar2) && (param_4 == plVar2)) { FUN_18056b3e0(param_1,plVar2[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar2; *(longlong **)*param_1 = plVar2; *(longlong **)(*param_1 + 0x10) = plVar2; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar4 = (longlong *)param_3[1]; plVar2 = param_3; while ((plVar3 = plVar4, cVar1 == '\0' && (plVar2 == (longlong *)plVar3[2]))) { cVar1 = *(char *)(plVar3[1] + 0x19); plVar4 = (longlong *)plVar3[1]; plVar2 = plVar3; } } plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar2 = (longlong *)param_3[1]; while ((plVar4 = plVar2, cVar1 == '\0' && (param_3 == (longlong *)plVar4[2]))) { cVar1 = *(char *)(plVar4[1] + 0x19); plVar2 = (longlong *)plVar4[1]; param_3 = plVar4; } } _Memory = (void *)FUN_18047db40(param_1); FUN_18056d800((longlong)_Memory + 0x20); /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 181608b50 size=239 ############ void FUN_181608b50(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong *plVar2; uint *_Memory; longlong lVar3; int iVar4; longlong lVar5; undefined4 local_res8 [2]; longlong local_res10; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; iVar4 = 0; if (*(longlong *)(param_1 + 0x168) - *(longlong *)(param_1 + 0x160) >> 3 != 0) { lVar5 = 0; lVar3 = 0; do { local_res8[0] = *(undefined4 *)(lVar3 + *(longlong *)(param_1 + 0xe0)); plVar2 = *(longlong **)(param_1 + 0x138); if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar2 + 0x10))(plVar2,&local_res10,local_res8,param_4,uVar6); FUN_181349c50(*(undefined8 *)(lVar5 + *(longlong *)(param_1 + 0x160)),&local_res10,0); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar4 = iVar4 + 1; lVar3 = lVar3 + 4; lVar5 = lVar5 + 8; } while ((ulonglong)(longlong)iVar4 < (ulonglong)(*(longlong *)(param_1 + 0x168) - *(longlong *)(param_1 + 0x160) >> 3)); } return; } ############ FUN_ 180564cf0 size=52 ############ void * FUN_180564cf0(void *param_1,ulonglong param_2) { FUN_1813de690(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18124a7e0 size=37 ############ void FUN_18124a7e0(longlong *param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*param_1 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Could not recover jumptable at 0x0001811328ae. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } } return; } ############ FUN_ 1811de3f0 size=451 ############ /* WARNING: Instruction at (ram,0x0001811de5b6) overlaps instruction at (ram,0x0001811de5b5) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001811de4a0) */ /* WARNING: Removing unreachable block (ram,0x0001811dee16) */ /* WARNING: Removing unreachable block (ram,0x0001811de5b1) */ /* WARNING: Heritage AFTER dead removal. Example location: s0xfffffffffffffe60 : 0x0001811dee4e */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined8 FUN_1811de3f0(undefined8 param_1,undefined8 param_2) { int *piVar1; uint uVar2; uint uVar3; ulonglong uVar4; undefined8 uVar5; uint uVar6; ulonglong uVar7; ulonglong uVar8; longlong *plVar9; longlong in_R11; int *piVar10; longlong lVar11; int unaff_retaddr; undefined1 auStack_1a0 [8]; undefined1 auStack_198 [32]; uint uStack_178; undefined4 uStack_174; undefined *local_170; int *local_168; uint uStack_160; uint uStack_15c; uint uStack_154; undefined4 uStack_150; int *local_140; ulonglong uStack_138; undefined4 uStack_130; uint uStack_12c; longlong lStack_128; uint local_120; undefined4 local_11c; undefined8 local_110; undefined8 local_108; undefined8 local_f0; undefined4 uStack_e8; undefined *puStack_e0; undefined *puStack_d8; undefined4 uStack_c8; undefined8 local_a8; undefined1 local_98 [88]; ulonglong local_40; local_a8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_198; local_11c = 0x370; uVar2 = (uint)&stack0x00000000 & 0x18ff; uVar3 = (uint)&stack0x00000000 & 0x30ff; local_120 = 0x6b1d << ((char)((int)-((uVar2 + 1) * uVar2 + 0x5b7b & 0x80000001) >> 0x1f) - (char)((int)-(((uVar3 + 1) * uVar3 + 7) % 0x51) >> 0x1f) & 0x1fU) ^ 0x6f5d; local_168 = (int *)0x14f97a4; local_140 = &DAT_1814f97a4; local_170 = &DAT_1814f98a4; do { uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } local_110 = param_2; local_108 = param_1; local_f0 = param_1; } while (uVar2 != 0); do { uStack_160 = 0x35e485d4; uStack_c8 = 0x20; puStack_e0 = &UNK_1811de607; /* WARNING: Call to offcut address within same function */ func_0x0001811df299(); piVar1 = local_140; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar2 = (uStack_160 >> 4 ^ uStack_160) >> 0x10 & 7; uVar2 = ((uVar2 << 4 | uVar2) << 0x10 ^ uStack_160) >> 2; uVar3 = uVar2 | uStack_160 << 0x1e; uVar2 = ((uVar2 << 8 | uVar3 >> 0x18) & 0xd52ad52a | (uVar3 >> 8 | uVar2 << 0x18) & 0x2ad52ad5) + 0xc69a7789; uVar3 = ((uVar2 * 0x100 | uVar2 >> 0x18) & 0xa659a659 | (uVar2 >> 8 | uVar2 * 0x1000000) & 0x59a659a6) ^ 0xe73b74f5; uVar2 = (uVar3 >> 5 ^ uVar3) >> 0xd & 0x1f; uVar3 = ((uVar2 << 5 | uVar2) << 0xd ^ uVar3) >> 6 | uVar3 << 0x1a; uVar2 = (uVar3 >> 0xb ^ uVar3) >> 10 & 3; uVar3 = uVar3 ^ (uVar2 << 0xb | uVar2) << 10; do { uStack_e8 = 10; puStack_d8 = &UNK_1811de6e7; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uStack_160 = 0; uStack_150 = 0; *(ulonglong *)(puStack_e0 + (longlong)(int)uVar3 + 4) = *(longlong *)(puStack_e0 + (longlong)(int)uVar3 + 4) + (ulonglong)((uint)((ulonglong)dvs_0x263bf41b_mfort6317_ >> 4) & 0xa8454); do { uVar5 = rdtsc(); uStack_12c = (int)uVar5 + (int)((ulonglong)uVar5 >> 0x20); uVar7 = (ulonglong)uStack_12c * 0x401 + 0x38491015; uVar4 = (uVar7 >> 5 | uVar7 << 0x3b) + (((uVar7 >> 5) << 5 | uVar7 & 0x1f) - 0x73dfcba1); uVar7 = uVar4 >> 0x10; uVar7 = uVar7 ^ (uVar7 << 0xb | (uVar4 & 0xffff) >> 5); uVar2 = (int)uVar7 - (int)(uVar7 >> 0xd) & 0x74dd76c6; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); *(uint *)(puStack_e0 + (longlong)(int)uVar3 + 8) = *(int *)(puStack_e0 + (longlong)(int)uVar3 + 8) + (uVar2 ^ 0xd14d39b7); *(uint *)(puStack_e0 + (longlong)(int)uVar3 + 4) = *(int *)(puStack_e0 + (longlong)(int)uVar3 + 4) + (uVar2 ^ 0xbd831cc2); uVar7 = *(ulonglong *)(puStack_e0 + (longlong)(int)uVar3 + 4); uVar4 = ~((uVar7 << 8 | uVar7 >> 0x38) & 0x8b748b748b748b74 | (uVar7 >> 8 | uVar7 << 0x38) & 0x748b748b748b748b); uVar2 = (uint)((uVar4 >> 0x14 ^ uVar4) >> 3) & 0xfff; uVar7 = ((ulonglong)uVar2 << 0x14 | (ulonglong)uVar2) << 3 ^ uVar4; uVar7 = ((uVar7 >> 8 | uVar7 << 0x38) & 0x2ad52ad52ad52ad5 | (uVar7 << 8 | uVar4 >> 0x38) & 0xd52ad52ad52ad52a) + 0xe38d90b6e1611ac9; uVar2 = (uint)((uVar7 >> 0x17 ^ uVar7) >> 1) & 0x7f; uVar7 = (((ulonglong)uVar2 << 0x17 | (ulonglong)uVar2) * 2 ^ uVar7) + 0xe1ee0b0c2a0d84cc; uVar7 = (uVar7 >> 0x25 | uVar7 * 0x8000000) + 0x253f3128d3de704a; *(ulonglong *)(puStack_e0 + (longlong)(int)uVar3 + 4) = uVar7; dvs_0x263bf41b_mfort6317_ = (uint *)((longlong)dvs_0x263bf41b_mfort6317_ + (ulonglong)((uint)(uVar7 >> 0x11) & 0x504800a4)); uStack_15c = (uint)(*(ulonglong *)(puStack_e0 + (longlong)(int)uVar3 + 4) >> 0xe) & 0x7fffffff; uStack_154 = (uint)(*(ulonglong *)(puStack_e0 + (longlong)(int)uVar3 + 4) >> 4) ^ 0x2e490557; uStack_138 = *(ulonglong *)(puStack_e0 + (longlong)(int)uVar3 + 4) ^ 0x40d147be558e0912; local_168 = local_140; lStack_128 = (longlong)local_170 - (longlong)local_140; uStack_174 = 0xe3329757; lVar11 = 0x1b873593; FUN_1811e2090(); uVar2 = (*piVar1 * 0x16a88000 | (uint)(*piVar1 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0xb6e040bb; uVar2 = (piVar1[1] * 0x16a88000 | (uint)(piVar1[1] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[2] * 0x16a88000 | (uint)(piVar1[2] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[3] * 0x16a88000 | (uint)(piVar1[3] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[4] * 0x16a88000 | (uint)(piVar1[4] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[5] * 0x16a88000 | (uint)(piVar1[5] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; local_170 = (undefined *)0xb4812982ccdf948e; uVar2 = (piVar1[6] * 0x16a88000 | (uint)(piVar1[6] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[7] * 0x16a88000 | (uint)(piVar1[7] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[8] * 0x16a88000 | (uint)(piVar1[8] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[9] * 0x16a88000 | (uint)(piVar1[9] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[10] * 0x16a88000 | (uint)(piVar1[10] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[0xb] * 0x16a88000 | (uint)(piVar1[0xb] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[0xc] * 0x16a88000 | (uint)(piVar1[0xc] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[0xd] * 0x16a88000 | (uint)(piVar1[0xd] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[0xe] * 0x16a88000 | (uint)(piVar1[0xe] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[0xf] * 0x16a88000 | (uint)(piVar1[0xf] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (piVar1[0x10] * 0x16a88000 | (uint)(piVar1[0x10] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (piVar1[0x11] * 0x16a88000 | (uint)(piVar1[0x11] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uStack_178 = (piVar1[0x12] * 0x16a88000 | (uint)(piVar1[0x12] * -0x3361d2af) >> 0x11) * 0x1b873593 ; uStack_178 = uStack_178 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; piVar10 = (int *)register0x00000020; do { piVar10 = (int *)-(((ulonglong)piVar10 ^ 0xffffffffffffffff) + 1); uVar2 = (*piVar10 + 1) * *piVar10 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar2 = (piVar1[0x13] * 0x16a88000 | (uint)(piVar1[0x13] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uStack_178 << 0xd | uStack_178 >> 0x13) * 5 + 0xe6546b64; uVar2 = (local_168[0x14] * 0x16a88000 | (uint)(local_168[0x14] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (local_168[0x15] * 0x16a88000 | (uint)(local_168[0x15] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (local_168[0x16] * 0x16a88000 | (uint)(local_168[0x16] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; do { uStack_130 = 0x682779e; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uStack_174 = 0x49ea3452; uVar2 = (local_168[0x17] * 0x16a88000 | (uint)(local_168[0x17] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (local_168[0x18] * 0x16a88000 | (uint)(local_168[0x18] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (local_168[0x19] * 0x16a88000 | (uint)(local_168[0x19] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (local_168[0x1a] * 0x16a88000 | (uint)(local_168[0x1a] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (local_168[0x1b] * 0x16a88000 | (uint)(local_168[0x1b] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (local_168[0x1c] * 0x16a88000 | (uint)(local_168[0x1c] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (local_168[0x1d] * 0x16a88000 | (uint)(local_168[0x1d] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (local_168[0x1e] * 0x16a88000 | (uint)(local_168[0x1e] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar2 = (uVar2 << 0xd | uVar2 >> 0x13) * 5 + 0xe6546b64; uVar3 = (local_168[0x1f] * 0x16a88000 | (uint)(local_168[0x1f] * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar2; uStack_178 = (local_168[0x20] * 0x16a88000 | (uint)(local_168[0x20] * -0x3361d2af) >> 0x11) * 0x1b873593; func_0x0001811e10d3((uVar3 << 0xd | uVar3 >> 0x13) * 5 + -0x19ab949c,uVar2,0); /* WARNING: Call to offcut address within same function */ uVar5 = func_0x0001811df194(); uVar2 = (int)auStack_1a0 + -8 + (int)local_98; plVar9 = (longlong *)(ulonglong)uVar2; if ((POPCOUNT(uVar2 & 0xff) & 1U) != 0) { uVar8 = (ulonglong)(uVar2 - 0x10); lVar11 = *(longlong *)(uVar8 + 0x10); *(longlong *)(uVar8 + 0x10) = lVar11 + 0x188; in_R11 = lVar11 + 0x175378; plVar9 = (longlong *)(uVar8 - 8); } plVar9[2] = in_R11; plVar9[1] = lVar11 + 0xc19b; *plVar9 = lVar11 + 0x175378; plVar9[-1] = lVar11 + -0x3f0cb; plVar9[-2] = lVar11 + 0x30ef5; plVar9[-3] = lVar11 + -0x6581a; plVar9[-4] = lVar11 + 0x6ca8; plVar9[-5] = lVar11 + -0x77b08; return uVar5; } ############ FUN_ 1811ca880 size=445 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811ca880(undefined8 param_1,longlong *param_2) { uint uVar1; char cVar2; undefined8 *puVar3; longlong *plVar4; uint *puVar5; undefined8 *puVar6; undefined1 auStack_88 [32]; longlong local_68; undefined8 local_60; longlong *local_58; undefined1 local_50 [8]; undefined **local_48; longlong local_40; longlong *local_38; undefined1 local_30 [8]; ulonglong local_28; local_60 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_88; local_48 = (undefined **)param_2; puVar3 = (undefined8 *) .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (param_1,&local_38); (**(code **)(*(longlong *)*puVar3 + 0x20))((longlong *)*puVar3,&local_68,puVar3 + 1); FUN_181249700(&local_58,&local_68); puVar5 = (uint *)(local_68 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } (**(code **)(*local_38 + 0xb0))(local_38,local_30); cVar2 = (**(code **)(*local_58 + 0x90))(); if (cVar2 == '\0') { (**(code **)(*local_58 + 0xb0))(local_58,local_50); puVar5 = (uint *)(*param_2 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } else { local_48 = &PTR_vftable_18262b560; local_40 = *param_2; if ((*(uint *)(local_40 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_40 + -0x10) = *(int *)(local_40 + -0x10) + 1; UNLOCK(); } plVar4 = (longlong *)(**(code **)(*local_58 + 0x38))(local_58,local_50); puVar3 = (undefined8 *)*plVar4; puVar6 = puVar3 + (longlong)*(int *)((longlong)plVar4 + 0xc) * 2; while ((puVar3 != puVar6 && (cVar2 = (**(code **)(*local_48 + 0xc0))(local_48,&local_40,puVar3 + 1,*puVar3), cVar2 == '\0'))) { puVar3 = puVar3 + 2; } (**(code **)(*local_48 + 0xb0))(local_48,&local_40); (**(code **)(*local_58 + 0xb0))(local_58,local_50); puVar5 = (uint *)(*param_2 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } } ############ FUN_ 1811ca790 size=215 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1811ca790(undefined8 param_1) { uint uVar1; char cVar2; undefined8 *puVar3; uint *_Memory; undefined1 auStack_68 [32]; longlong local_48 [2]; longlong *local_38; undefined1 local_30 [8]; longlong *local_28; undefined1 local_20 [8]; ulonglong local_18; local_48[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; puVar3 = (undefined8 *) .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (param_1,&local_28); (**(code **)(*(longlong *)*puVar3 + 0x20))((longlong *)*puVar3,local_48,puVar3 + 1); FUN_181249700(&local_38,local_48); _Memory = (uint *)(local_48[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*local_28 + 0xb0))(local_28,local_20); cVar2 = (**(code **)(*local_38 + 0x90))(); if (cVar2 != '\0') { (**(code **)(*local_38 + 0x38))(local_38,local_30); } (**(code **)(*local_38 + 0xb0))(local_38,local_30); } ############ FUN_ 1811d0a50 size=693 ############ /* WARNING: Removing unreachable block (ram,0x0001811d0b43) */ /* WARNING: Removing unreachable block (ram,0x0001811d0b5d) */ ulonglong FUN_1811d0a50(void) { uint uVar1; uVar1 = (uint)&stack0x00000000 & 0x5ff; uVar1 = (uVar1 * uVar1 * 0x10 + 4) % 0x13; return (((ulonglong)(uint)(((int)(-uVar1 | uVar1) >> 0x1f) * -0xf390) ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1 & 0xfffffffffffffff8; } ############ FUN_ 180564300 size=52 ############ void * FUN_180564300(void *param_1,ulonglong param_2) { FUN_180562e20(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1813d59f0 size=815 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001813d5a78) */ /* WARNING: Removing unreachable block (ram,0x0001813d5ac0) */ /* WARNING: Removing unreachable block (ram,0x0001813d5b5f) */ void FUN_1813d59f0(undefined8 param_1) { int iVar1; uint uVar2; uint uVar3; undefined1 auStack_228 [40]; undefined *local_200; undefined *local_1f0; undefined8 local_1e8; undefined8 local_1c8; uint local_1b4; uint local_1b0; undefined8 local_198; undefined8 local_f0; ulonglong local_30; local_f0 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_228; uVar2 = (uint)&stack0x00000000; if ((((uVar2 & 0x44ff) * (uVar2 & 0x44ff) + 1) % 7 & 0x15) == 0) { uVar3 = 1; } else { iVar1 = (uVar2 & 0x57ff) * (uVar2 & 0x57ff) + 1; uVar3 = (iVar1 >> 4) + (iVar1 >> 1) + iVar1 * 0x24924924 >> 0x1d; uVar3 = (int)(uVar3 - 7) >> 0x1f & uVar3; } local_1b4 = ((int)(-uVar3 | uVar3) >> 0x1f) * -0xfa5b ^ 0xf2ab; uVar2 = uVar2 & 0x2bf; iVar1 = (uVar2 + 2) * (uVar2 + 1) * uVar2; local_1b0 = 0xe64dU - (((iVar1 >> 1) - (iVar1 >> 3)) + iVar1 * 0x55555555 >> 0x1e) ^ 0xed0d; local_1e8 = 0; local_1c8 = 0xc5c; local_1f0 = &DAT_180984420; local_200 = &DAT_18098507c; local_198 = param_1; FUN_1813d5d27(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 180568c40 size=52 ############ void * FUN_180568c40(void *param_1,ulonglong param_2) { FUN_180566770(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180564ca0 size=67 ############ void * .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (void *param_1,ulonglong param_2) { FUN_181349e00((longlong)param_1 + 200); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180562ab0 size=65 ############ void * FUN_180562ab0(void *param_1,ulonglong param_2) { FUN_18055fc30((longlong)param_1 + 0x78); FUN_1805619f0((longlong)param_1 + 8); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180561290 size=39 ############ void FUN_180561290(longlong param_1) { *(undefined4 *)(param_1 + 0x24011c) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x240110)); } ############ FUN_ 18056cd00 size=307 ############ void FUN_18056cd00(longlong *param_1,ulonglong param_2) { void *pvVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; ulonglong uVar5; ulonglong uVar6; pvVar2 = (void *)param_1[1]; lVar3 = *param_1; uVar6 = (longlong)pvVar2 - lVar3 >> 2; uVar4 = param_1[2] - lVar3 >> 2; if (param_2 <= uVar4) { if (param_2 <= uVar6) { if (param_2 != uVar6) { param_1[1] = lVar3 + param_2 * 4; } return; } pvVar1 = (void *)((longlong)pvVar2 + (param_2 - uVar6) * 4); memset(pvVar2,0,(longlong)pvVar1 - (longlong)pvVar2); param_1[1] = (longlong)pvVar1; return; } if (0x3fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar5 = param_2; if ((uVar4 <= 0x3fffffffffffffff - (uVar4 >> 1)) && (uVar5 = (uVar4 >> 1) + uVar4, uVar5 < param_2)) { uVar5 = param_2; } lVar3 = uVar5 * 4; if (0x3fffffffffffffff < uVar5) { lVar3 = -1; } pvVar2 = (void *)FUN_180480500(lVar3); memset((void *)((longlong)pvVar2 + uVar6 * 4),0,(param_2 - uVar6) * 4); memmove(pvVar2,(void *)*param_1,param_1[1] - *param_1); FUN_18056df20(param_1,pvVar2,param_2,uVar5); return; } ############ FUN_ 180530010 size=78 ############ void FUN_180530010(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_3,param_1,param_4); } ############ FUN_ 1805686c0 size=302 ############ void FUN_1805686c0(longlong *param_1,ulonglong param_2,undefined4 *param_3) { void *pvVar1; ulonglong uVar2; void *pvVar3; undefined4 *puVar4; longlong lVar5; ulonglong uVar6; pvVar1 = (void *)*param_1; uVar6 = param_1[1] - (longlong)pvVar1 >> 2; uVar2 = param_1[2] - (longlong)pvVar1 >> 2; if (uVar2 < param_2) { if (0x3fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar6 = param_2; if ((uVar2 <= 0x3fffffffffffffff - (uVar2 >> 1)) && (uVar6 = (uVar2 >> 1) + uVar2, uVar6 < param_2)) { uVar6 = param_2; } if (pvVar1 != (void *)0x0) { pvVar3 = pvVar1; if ((0xfff < uVar2 * 4) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } FUN_18052fac0(param_1,uVar6); puVar4 = (undefined4 *)*param_1; if (param_2 != 0) { do { *puVar4 = *param_3; puVar4 = puVar4 + 1; param_2 = param_2 - 1; } while (param_2 != 0); param_1[1] = (longlong)puVar4; return; } } else { if (param_2 <= uVar6) { pvVar3 = (void *)((longlong)pvVar1 + param_2 * 4); FUN_18056ce40(pvVar1,pvVar3); param_1[1] = (longlong)pvVar3; return; } FUN_18056ce40(); puVar4 = (undefined4 *)param_1[1]; for (lVar5 = param_2 - uVar6; lVar5 != 0; lVar5 = lVar5 + -1) { *puVar4 = *param_3; puVar4 = puVar4 + 1; } } param_1[1] = (longlong)puVar4; return; } ############ FUN_ 18058fc80 size=333 ############ void FUN_18058fc80(longlong *param_1,ulonglong param_2,longlong param_3) { undefined4 *puVar1; void *_Dst; ulonglong uVar2; longlong lVar3; undefined4 *puVar4; ulonglong uVar5; ulonglong uVar6; lVar3 = *param_1; puVar4 = (undefined4 *)param_1[1]; uVar6 = (longlong)puVar4 - lVar3 >> 2; uVar2 = param_1[2] - lVar3 >> 2; if (param_2 <= uVar2) { if (uVar6 < param_2) { puVar1 = *(undefined4 **)(param_3 + 8); for (lVar3 = param_2 - uVar6; lVar3 != 0; lVar3 = lVar3 + -1) { *puVar4 = *puVar1; puVar4 = puVar4 + 1; } param_1[1] = (longlong)puVar4; return; } if (param_2 != uVar6) { param_1[1] = lVar3 + param_2 * 4; } return; } if (param_2 < 0x4000000000000000) { uVar5 = param_2; if ((uVar2 <= 0x3fffffffffffffff - (uVar2 >> 1)) && (uVar5 = (uVar2 >> 1) + uVar2, uVar5 < param_2)) { uVar5 = param_2; } lVar3 = uVar5 * 4; if (0x3fffffffffffffff < uVar5) { lVar3 = -1; } _Dst = (void *)FUN_180480500(lVar3); puVar1 = *(undefined4 **)(param_3 + 8); puVar4 = (undefined4 *)((longlong)_Dst + uVar6 * 4); for (lVar3 = param_2 - uVar6; lVar3 != 0; lVar3 = lVar3 + -1) { *puVar4 = *puVar1; puVar4 = puVar4 + 1; } memmove(_Dst,(void *)*param_1,param_1[1] - *param_1); FUN_18056df20(param_1,_Dst,param_2,uVar5); return; } /* WARNING: Subroutine does not return */ FUN_18047cf10(); } ############ FUN_ 180001b20 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182615d88)[DAT_1826159a0])(); return; } ############ FUN_ 180001eb0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182616248)[DAT_1826159a0])(); return; } ############ FUN_ 18129eee0 size=129 ############ void FUN_18129eee0(undefined8 *param_1,float param_2,int param_3) { int *piVar1; int iVar2; int iVar3; int *piVar4; int *piVar5; float fVar6; fVar6 = floorf(param_2); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + param_3; param_2 = param_2 * DAT_1824c4550; *(int *)(param_1 + 1) = *(int *)(param_1 + 1) + (int)fVar6; iVar2 = *(int *)((longlong)param_1 + 0x14); piVar4 = (int *)*param_1; while (iVar2 = iVar2 + -1, -1 < iVar2) { piVar1 = piVar4 + *(int *)((longlong)param_1 + 0x1c); iVar3 = *piVar4; piVar5 = piVar4 + 1; while (iVar3 = iVar3 + -1, piVar4 = piVar1, -1 < iVar3) { *piVar5 = *piVar5 + (int)param_2; piVar5 = piVar5 + 2; } } return; } ############ FUN_ 18129f510 size=213 ############ void FUN_18129f510(undefined8 *param_1,float *param_2) { float fVar1; float fVar2; double dVar3; float fVar4; float fVar5; int local_res8; dVar3 = DAT_1824c4520; fVar1 = *param_2; fVar4 = param_2[1] * DAT_1824c4550; *param_1 = 0; fVar5 = floorf(fVar1); fVar1 = param_2[2]; fVar2 = param_2[3]; *(int *)(param_1 + 1) = (int)fVar5; local_res8 = SUB84((double)fVar4 + dVar3,0); *(int *)((longlong)param_1 + 0xc) = local_res8 >> 8; *(int *)(param_1 + 2) = (int)fVar1 + 2; *(int *)((longlong)param_1 + 0x14) = (int)fVar2 + 2; *(undefined4 *)(param_1 + 3) = 0x20; *(undefined4 *)((longlong)param_1 + 0x1c) = 0x41; *(undefined1 *)(param_1 + 4) = 1; /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 1804ae030 size=877 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ bool FUN_1804ae030(longlong *param_1,int *param_2) { int *piVar1; int iVar2; int iVar3; longlong *plVar4; longlong lVar5; float fVar6; float fVar7; float fVar8; float fVar9; undefined8 *local_res8; float local_a8; float fStack_a4; float fStack_a0; float fStack_9c; undefined8 local_98; undefined8 uStack_90; ulonglong local_88; void *local_78; ulonglong local_70; undefined8 local_68; undefined8 uStack_60; undefined1 local_58; plVar4 = (longlong *)*param_1; if (plVar4 != (longlong *)0x0) { if (1 < (int)plVar4[1]) { plVar4 = (longlong *)(**(code **)(*plVar4 + 8))(plVar4,&local_res8); lVar5 = *param_1; *param_1 = *plVar4; *plVar4 = lVar5; if (local_res8 != (undefined8 *)0x0) { piVar1 = (int *)(local_res8 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_res8)(local_res8,1); } } } if ((char)param_1[5] == '\0') { if (*(char *)((longlong)param_1 + 0x29) != '\0') { local_78 = (void *)0x0; local_70 = 0; local_68 = 0; uStack_60 = 0; local_58 = 1; FUN_18129d850(&local_78); FUN_18129b680(&local_78,param_1 + 1); lVar5 = (**(code **)(*(longlong *)*param_1 + 0x58))((longlong *)*param_1,&local_98); fVar6 = (float)*(int *)(lVar5 + 0xc); FUN_18129d850(&local_78); local_58 = 0; local_98 = _DAT_1824c4780; uStack_90 = _UNK_1824c4788; local_88 = (ulonglong)DAT_1824c3ea4; plVar4 = (longlong *) (**(code **)(*(longlong *)*param_1 + 0x30)) ((longlong *)*param_1,&local_res8,&local_78,&local_98,fVar6); lVar5 = *param_1; *param_1 = *plVar4; *plVar4 = lVar5; if (local_res8 != (undefined8 *)0x0) { piVar1 = (int *)(local_res8 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_res8)(local_res8,1); } } local_70 = local_70 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_78); } uStack_90._0_4_ = (float)param_2[2]; uStack_90._4_4_ = (float)param_2[3]; local_98 = CONCAT44((float)param_2[1],(float)*param_2); FUN_1804ab160(&local_98,&local_a8,param_1 + 1); fVar6 = local_a8; fVar8 = ceilf(local_a8); fVar7 = fStack_a4; fVar9 = ceilf(fStack_a4); local_98 = CONCAT44((int)fVar9,(int)fVar8); fVar6 = floorf(fStack_a0 + fVar6); uStack_90 = CONCAT44(uStack_90._4_4_,(int)fVar6 - (int)fVar8); fVar6 = floorf(fStack_9c + fVar7); uStack_90 = CONCAT44((int)fVar6 - (int)fVar9,(float)uStack_90); plVar4 = (longlong *) (**(code **)(*(longlong *)*param_1 + 0x28)) ((longlong *)*param_1,&local_res8,&local_98); lVar5 = *param_1; *param_1 = *plVar4; *plVar4 = lVar5; } else { iVar2 = param_2[2]; iVar3 = param_2[3]; fVar8 = (float)*param_2 + (float)(int)param_1[4]; fVar9 = (float)param_2[1] + (float)*(int *)((longlong)param_1 + 0x24); fVar6 = ceilf(fVar8); fVar7 = ceilf(fVar9); local_a8 = (float)(int)fVar6; fStack_a4 = (float)(int)fVar7; fVar8 = floorf(fVar8 + (float)iVar2); fStack_a0 = (float)((int)fVar8 - (int)fVar6); fVar6 = floorf(fVar9 + (float)iVar3); fStack_9c = (float)((int)fVar6 - (int)fVar7); local_98 = CONCAT44(fStack_a4,local_a8); uStack_90 = CONCAT44(fStack_9c,fStack_a0); plVar4 = (longlong *) (**(code **)(*(longlong *)*param_1 + 0x28)) ((longlong *)*param_1,&local_res8,&local_98); lVar5 = *param_1; *param_1 = *plVar4; *plVar4 = lVar5; } if (local_res8 != (undefined8 *)0x0) { piVar1 = (int *)(local_res8 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*local_res8)(local_res8,1); } } } return *param_1 != 0; } ############ FUN_ 18137af80 size=128 ############ int FUN_18137af80(uint *param_1) { uint uVar1; uint uVar2; int iVar3; int iVar4; int iVar5; ulonglong uVar6; int iVar7; float fVar8; uVar1 = *param_1; uVar2 = param_1[1]; fVar8 = powf((float)(int)uVar2,DAT_1824c3ea4 / (float)(int)uVar1); fVar8 = floorf(fVar8); iVar5 = (int)fVar8; iVar7 = iVar5 + 1; while( true ) { while( true ) { iVar4 = 1; iVar3 = 1; uVar6 = (ulonglong)uVar1; if (0 < (int)uVar1) { do { iVar4 = iVar4 * iVar5; iVar3 = iVar3 * iVar7; uVar6 = uVar6 - 1; } while (uVar6 != 0); } if (iVar4 <= (int)uVar2) break; iVar5 = iVar5 + -1; iVar7 = iVar7 + -1; } if ((int)uVar2 < iVar3) break; iVar5 = iVar5 + 1; iVar7 = iVar7 + 1; } return iVar5; } ############ FUN_ 181390660 size=1358 ############ undefined4 FUN_181390660(undefined4 *param_1,longlong param_2,int param_3) { int *piVar1; undefined4 *puVar2; float fVar3; uint uVar4; uint uVar5; undefined4 uVar6; int iVar7; void *pvVar8; void *pvVar9; undefined8 uVar10; uint uVar11; int *piVar13; undefined4 *_Dst; longlong *plVar14; ulonglong uVar15; longlong *plVar16; ulonglong uVar17; float fVar18; double dVar19; ulonglong uVar12; piVar1 = *(int **)(param_2 + 0x20); if (piVar1 == (int *)0x0) { return 1; } iVar7 = piVar1[0x59a]; memset(param_1,0,0x80); pvVar8 = calloc(1,0xd0); uVar15 = 0; *(longlong *)(param_1 + 2) = param_2; *(void **)(param_1 + 0x1e) = pvVar8; uVar11 = 0; if (piVar1[2] != 0) { uVar12 = uVar15; for (uVar4 = piVar1[2] - 1; uVar4 != 0; uVar4 = uVar4 >> 1) { uVar11 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar11; } } *(uint *)((longlong)pvVar8 + 0x50) = uVar11; pvVar9 = calloc(1,8); *(void **)((longlong)pvVar8 + 0x10) = pvVar9; pvVar9 = calloc(1,8); *(void **)((longlong)pvVar8 + 0x18) = pvVar9; pvVar9 = calloc(1,0x20); **(undefined8 **)((longlong)pvVar8 + 0x10) = pvVar9; pvVar9 = calloc(1,0x20); **(undefined8 **)((longlong)pvVar8 + 0x18) = pvVar9; FUN_181384180(**(undefined8 **)((longlong)pvVar8 + 0x10),*piVar1 >> ((byte)iVar7 & 0x1f)); FUN_181384180(**(undefined8 **)((longlong)pvVar8 + 0x18),piVar1[1] >> ((byte)iVar7 & 0x1f)); uVar4 = 0; uVar11 = uVar4; if (*piVar1 != 0) { uVar12 = uVar15; for (uVar5 = *piVar1 - 1; uVar5 != 0; uVar5 = uVar5 >> 1) { uVar11 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar11; } } *(uint *)((longlong)pvVar8 + 8) = uVar11 - 6; if (piVar1[1] != 0) { uVar12 = uVar15; for (uVar11 = piVar1[1] - 1; uVar11 != 0; uVar11 = uVar11 >> 1) { uVar4 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar4; } } *(uint *)((longlong)pvVar8 + 0xc) = uVar4 - 6; if (param_3 == 0) { if (*(longlong *)(piVar1 + 0x4c8) == 0) { pvVar9 = calloc((longlong)piVar1[6],0x58); *(void **)(piVar1 + 0x4c8) = pvVar9; if (0 < piVar1[6]) { plVar16 = (longlong *)(piVar1 + 0x2c8); uVar12 = uVar15; plVar14 = plVar16; do { if (*plVar14 == 0) { LAB_181390b7a: if (0 < piVar1[6]) { do { if (*plVar16 != 0) { FUN_18137ac80(); *plVar16 = 0; } uVar11 = (int)uVar15 + 1; uVar15 = (ulonglong)uVar11; plVar16 = plVar16 + 1; } while ((int)uVar11 < piVar1[6]); } FUN_18138ffc0(param_1); return 0xffffffff; } iVar7 = FUN_18137a400((longlong)(int)uVar12 * 0x58 + *(longlong *)(piVar1 + 0x4c8)); if (iVar7 != 0) goto LAB_181390b7a; FUN_18137ac80(*plVar14); *plVar14 = 0; uVar11 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar11; plVar14 = plVar14 + 1; } while ((int)uVar11 < piVar1[6]); } } } else { FUN_1813776a0((longlong)pvVar8 + 0x20,*piVar1); FUN_1813776a0((longlong)pvVar8 + 0x38,piVar1[1]); if (*(longlong *)(piVar1 + 0x4c8) == 0) { pvVar9 = calloc((longlong)piVar1[6],0x58); *(void **)(piVar1 + 0x4c8) = pvVar9; fVar3 = DAT_1824c3d8c; if (0 < piVar1[6]) { piVar13 = piVar1 + 0x2c8; uVar11 = (uint)DAT_1824c4f20; uVar4 = (uint)((ulonglong)DAT_1824c4f20 >> 0x20); uVar12 = uVar15; uVar17 = uVar15; do { puVar2 = *(undefined4 **)piVar13; _Dst = (undefined4 *)(*(longlong *)(piVar1 + 0x4c8) + uVar17); memset(_Dst,0,0x58); *(undefined4 **)(_Dst + 4) = puVar2; _Dst[1] = puVar2[1]; _Dst[2] = puVar2[1]; *_Dst = *puVar2; uVar10 = FUN_18137b010(*(undefined8 *)(puVar2 + 2),puVar2[1],0); *(undefined8 *)(_Dst + 8) = uVar10; uVar6 = FUN_18137af80(puVar2); _Dst[0x12] = uVar6; uVar5 = puVar2[5]; dVar19 = (double)(uVar5 & 0x1fffff); if ((int)uVar5 < 0) { dVar19 = (double)CONCAT44((uint)((ulonglong)dVar19 >> 0x20) ^ uVar4, SUB84(dVar19,0) ^ uVar11); } dVar19 = ldexp(dVar19,((int)uVar5 >> 0x15 & 0x3ffU) - 0x314); fVar18 = floorf((float)dVar19 + fVar3); _Dst[0x13] = (int)fVar18; uVar5 = puVar2[6]; dVar19 = (double)(uVar5 & 0x1fffff); if ((int)uVar5 < 0) { dVar19 = (double)CONCAT44((uint)((ulonglong)dVar19 >> 0x20) ^ uVar4, SUB84(dVar19,0) ^ uVar11); } dVar19 = ldexp(dVar19,((int)uVar5 >> 0x15 & 0x3ffU) - 0x314); fVar18 = floorf((float)dVar19 + fVar3); uVar5 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar5; piVar13 = piVar13 + 2; uVar17 = uVar17 + 0x58; _Dst[0x14] = (int)fVar18; } while ((int)uVar5 < piVar1[6]); } } pvVar9 = calloc((longlong)piVar1[7],0x50); *(void **)((longlong)pvVar8 + 0x68) = pvVar9; if (0 < piVar1[7]) { piVar13 = piVar1 + 0x4ca; uVar12 = uVar15; do { FUN_181380b80((longlong)(int)uVar12 * 0x50 + *(longlong *)((longlong)pvVar8 + 0x68), *(int **)piVar13,piVar1 + 0x4d2,piVar1[**(int **)piVar13] / 2, *(undefined4 *)(param_2 + 8)); uVar11 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar11; piVar13 = piVar13 + 2; } while ((int)uVar11 < piVar1[7]); } *param_1 = 1; } param_1[8] = piVar1[1]; pvVar9 = malloc((longlong)*(int *)(param_2 + 4) << 3); *(void **)(param_1 + 4) = pvVar9; pvVar9 = malloc((longlong)*(int *)(param_2 + 4) << 3); *(void **)(param_1 + 6) = pvVar9; uVar12 = uVar15; uVar17 = uVar15; if (0 < *(int *)(param_2 + 4)) { do { pvVar9 = calloc((longlong)(int)param_1[8],4); uVar11 = (int)uVar12 + 1; *(void **)(uVar17 + *(longlong *)(param_1 + 4)) = pvVar9; uVar12 = (ulonglong)uVar11; uVar17 = uVar17 + 8; } while ((int)uVar11 < *(int *)(param_2 + 4)); } *(undefined8 *)(param_1 + 0xd) = 0; iVar7 = piVar1[1]; param_1[0x10] = iVar7 / 2; param_1[9] = iVar7 / 2; pvVar9 = calloc((longlong)piVar1[4],8); *(void **)((longlong)pvVar8 + 0x58) = pvVar9; pvVar9 = calloc((longlong)piVar1[5],8); *(void **)((longlong)pvVar8 + 0x60) = pvVar9; if (0 < piVar1[4]) { piVar13 = piVar1 + 0x148; uVar12 = uVar15; uVar17 = uVar15; do { uVar10 = (**(code **)((&PTR_DAT_1822f5a90)[*piVar13] + 0x10)) (param_1,*(undefined8 *)((longlong)piVar1 + uVar12 + 0x620)); piVar13 = piVar13 + 1; uVar11 = (int)uVar17 + 1; uVar17 = (ulonglong)uVar11; *(undefined8 *)(uVar12 + *(longlong *)((longlong)pvVar8 + 0x58)) = uVar10; uVar12 = uVar12 + 8; } while ((int)uVar11 < piVar1[4]); } if (0 < piVar1[5]) { piVar13 = piVar1 + 0x208; uVar12 = uVar15; do { uVar10 = (**(code **)((&PTR_DAT_182280c20)[*piVar13] + 0x10)) (param_1,*(undefined8 *)((longlong)piVar1 + uVar12 + 0x920)); piVar13 = piVar13 + 1; uVar11 = (int)uVar15 + 1; uVar15 = (ulonglong)uVar11; *(undefined8 *)(uVar12 + *(longlong *)((longlong)pvVar8 + 0x60)) = uVar10; uVar12 = uVar12 + 8; } while ((int)uVar11 < piVar1[5]); } return 0; } ############ FUN_ 181380b80 size=2447 ############ void FUN_181380b80(int *param_1,longlong param_2,int *param_3,int param_4,int param_5) { size_t _Size; char cVar1; double dVar2; double dVar3; double dVar4; float fVar5; void *pvVar6; undefined8 uVar7; int iVar8; longlong lVar9; longlong lVar10; int iVar11; uint uVar12; ulonglong uVar13; ulonglong uVar14; int iVar15; int iVar16; ulonglong uVar17; int iVar18; int iVar19; int iVar20; longlong lVar21; float *pfVar22; float fVar23; float fVar24; float fVar25; float fVar26; float fVar27; float fVar28; double dVar29; double dVar30; double dVar31; double dVar32; float fVar33; float fVar34; double dVar35; undefined4 uVar36; undefined4 uVar37; undefined4 uVar38; undefined4 uVar39; undefined4 uVar40; undefined4 uVar41; double dVar42; int local_res18; longlong local_100; iVar18 = -99; lVar21 = (longlong)param_4; local_res18 = 1; iVar19 = local_res18; memset(param_1,0,0x50); param_1[0x10] = *param_3; fVar23 = logf((float)*param_3 * DAT_1824c43d8); fVar24 = logf(DAT_1824c41e0); fVar24 = floorf(fVar23 / fVar24 + DAT_1824c3d8c); dVar2 = DAT_1824c4050; fVar23 = DAT_1824c3d3c; fVar24 = fVar24 - DAT_1824c3ea4; fVar25 = (float)param_5 * DAT_1824c3d3c; param_1[0xf] = (int)fVar24; dVar42 = (double)param_4; dVar29 = log(((double)fVar25 * dVar2) / dVar42); dVar32 = DAT_1824c4238; dVar31 = DAT_1824c41b0; cVar1 = (char)(int)fVar24; uVar40 = SUB84(DAT_1824c41b0,0); uVar41 = (undefined4)((ulonglong)DAT_1824c41b0 >> 0x20); uVar38 = SUB84(DAT_1824c4238,0); uVar39 = (undefined4)((ulonglong)DAT_1824c4238 >> 0x20); iVar11 = (int)((dVar29 * DAT_1824c41b0 - DAT_1824c4238) * (double)(1 << (cVar1 + 1U & 0x1f)) - (double)*param_3); param_1[0xe] = iVar11; dVar29 = log(((double)(((float)param_4 + fVar23) * (float)param_5) * dVar2) / dVar42); _Size = lVar21 * 4; param_1[0x11] = ((int)((dVar29 * dVar31 - dVar32) * (double)(1 << (cVar1 + 1U & 0x1f)) + dVar2) - iVar11) + 1 ; pvVar6 = malloc(_Size); *(void **)(param_1 + 8) = pvVar6; pvVar6 = malloc(_Size); *(void **)(param_1 + 10) = pvVar6; pvVar6 = malloc(_Size); *(void **)(param_1 + 0xc) = pvVar6; uVar13 = 0; *(longlong *)(param_1 + 2) = param_2; *param_1 = param_4; param_1[0x12] = param_5; param_1[0x13] = 0x3f800000; if (param_5 < 26000) { param_1[0x13] = 0; } else if (param_5 < 38000) { param_1[0x13] = 0x3f70a3d7; } else if (46000 < param_5) { param_1[0x13] = 0x3fa33333; } dVar4 = DAT_1824c42f0; dVar3 = DAT_1824c41e8; dVar29 = DAT_1824c4098; dVar31 = DAT_1824c3f80; pfVar22 = (float *)&DAT_1822effc4; uVar36 = SUB84(DAT_1824c41e8,0); uVar37 = (undefined4)((ulonglong)DAT_1824c41e8 >> 0x20); iVar11 = 1; dVar35 = (double)param_5; uVar17 = uVar13; do { dVar30 = exp((((double)iVar11 * dVar31 - dVar3) + dVar32) * dVar29); dVar30 = floor((dVar30 * dVar3 * dVar42) / dVar35 + dVar2); fVar24 = pfVar22[-1]; iVar8 = (int)dVar30; if ((int)uVar17 < iVar8) { lVar10 = (longlong)iVar8; fVar25 = (*pfVar22 - fVar24) / (float)(iVar8 - (int)uVar17); if ((longlong)uVar13 < lVar10) { if (3 < (longlong)(lVar10 - uVar13)) { lVar9 = uVar13 + 2; do { if (lVar21 <= (longlong)uVar13) goto LAB_181380f6a; *(float *)(*(longlong *)(param_1 + 8) + uVar13 * 4) = (float)((double)fVar24 + dVar4); iVar8 = (int)uVar17; if (lVar21 <= lVar9 + -1) { uVar13 = uVar13 + 1; uVar17 = (ulonglong)(iVar8 + 1); goto LAB_181380f6a; } fVar33 = fVar24 + fVar25 + fVar25; *(float *)(*(longlong *)(param_1 + 8) + 4 + uVar13 * 4) = (float)((double)(fVar24 + fVar25) + dVar4); if (lVar21 <= lVar9) { uVar13 = uVar13 + 2; uVar17 = (ulonglong)(iVar8 + 2); goto LAB_181380f6a; } fVar34 = fVar33 + fVar25; *(float *)(*(longlong *)(param_1 + 8) + 8 + uVar13 * 4) = (float)((double)fVar33 + dVar4); if (lVar21 <= lVar9 + 1) { uVar13 = uVar13 + 3; uVar17 = (ulonglong)(iVar8 + 3); goto LAB_181380f6a; } uVar17 = (ulonglong)(iVar8 + 4); lVar9 = lVar9 + 4; fVar24 = fVar34 + fVar25; *(float *)(*(longlong *)(param_1 + 8) + 0xc + uVar13 * 4) = (float)((double)fVar34 + dVar4); uVar13 = uVar13 + 4; } while ((longlong)uVar13 < lVar10 + -3); } for (; ((longlong)uVar13 < lVar10 && ((longlong)uVar13 < lVar21)); uVar13 = uVar13 + 1) { dVar30 = (double)fVar24; uVar17 = (ulonglong)((int)uVar17 + 1); fVar24 = fVar24 + fVar25; *(float *)(*(longlong *)(param_1 + 8) + uVar13 * 4) = (float)(dVar30 + dVar4); } } } LAB_181380f6a: iVar11 = iVar11 + 1; pfVar22 = pfVar22 + 1; } while ((longlong)pfVar22 < 0x1822f0120); lVar10 = (longlong)(int)uVar17; if (lVar10 < lVar21) { if (3 < lVar21 - lVar10) { do { *(undefined4 *)(*(longlong *)(param_1 + 8) + lVar10 * 4) = *(undefined4 *)(*(longlong *)(param_1 + 8) + -4 + lVar10 * 4); *(undefined4 *)(*(longlong *)(param_1 + 8) + 4 + lVar10 * 4) = *(undefined4 *)(*(longlong *)(param_1 + 8) + lVar10 * 4); *(undefined4 *)(*(longlong *)(param_1 + 8) + 8 + lVar10 * 4) = *(undefined4 *)(*(longlong *)(param_1 + 8) + 4 + lVar10 * 4); *(undefined4 *)(*(longlong *)(param_1 + 8) + 0xc + lVar10 * 4) = *(undefined4 *)(*(longlong *)(param_1 + 8) + 8 + lVar10 * 4); lVar10 = lVar10 + 4; } while (lVar10 < lVar21 + -3); } for (; lVar10 < lVar21; lVar10 = lVar10 + 1) { *(undefined4 *)(*(longlong *)(param_1 + 8) + lVar10 * 4) = *(undefined4 *)(*(longlong *)(param_1 + 8) + -4 + lVar10 * 4); } } fVar5 = DAT_1824c4410; fVar34 = DAT_1824c4220; fVar33 = DAT_1824c3c4c; fVar25 = DAT_1824c3c44; fVar24 = DAT_1824c3c30; iVar11 = 0; if (0 < param_4) { iVar8 = param_5 / (param_4 * 2); local_100 = 0; local_res18 = 0; param_5 = 0; do { fVar23 = atanf((float)(iVar8 * iVar11) * fVar33); fVar26 = atanf((float)(param_5 * iVar11) * fVar24); iVar20 = *(int *)(param_2 + 0x78) + iVar18; fVar23 = fVar23 * fVar5 + fVar26 * fVar34 + (float)local_res18 * fVar25; if (iVar20 < iVar11) { fVar26 = *(float *)(param_2 + 0x70); iVar16 = iVar8 * iVar18; iVar15 = iVar8 * iVar8 * iVar18; do { fVar27 = atanf((float)(iVar15 * iVar18) * fVar24); fVar28 = atanf((float)(iVar8 * iVar18) * fVar33); if (fVar23 - fVar26 <= fVar27 * fVar34 + fVar28 * fVar5 + (float)iVar16 * fVar25) break; iVar18 = iVar18 + 1; iVar15 = iVar15 + iVar8 * iVar8; iVar16 = iVar16 + iVar8; iVar20 = iVar20 + 1; } while (iVar20 < iVar11); } if (iVar19 <= param_4) { iVar20 = *(int *)(param_2 + 0x7c); iVar15 = iVar8 * iVar19; do { if (iVar20 + iVar11 <= iVar19) { fVar26 = atanf((float)(iVar8 * iVar8 * iVar19 * iVar19) * fVar24); fVar27 = atanf((float)(iVar8 * iVar19) * fVar33); if (fVar23 + *(float *)(param_2 + 0x74) <= fVar26 * fVar34 + fVar27 * fVar5 + (float)iVar15 * fVar25) break; } iVar19 = iVar19 + 1; iVar15 = iVar15 + iVar8; } while (iVar19 <= param_4); } local_res18 = local_res18 + iVar8; iVar11 = iVar11 + 1; *(int *)(local_100 + *(longlong *)(param_1 + 0xc)) = iVar18 * 0x10000 + -0x10001 + iVar19; local_100 = local_100 + 4; param_5 = param_5 + iVar8 * iVar8; } while (iVar11 < param_4); uVar36 = SUB84(DAT_1824c41e8,0); uVar37 = (undefined4)((ulonglong)DAT_1824c41e8 >> 0x20); uVar38 = SUB84(DAT_1824c4238,0); uVar39 = (undefined4)((ulonglong)DAT_1824c4238 >> 0x20); uVar40 = SUB84(DAT_1824c41b0,0); uVar41 = (undefined4)((ulonglong)DAT_1824c41b0 >> 0x20); fVar23 = DAT_1824c3d3c; } uVar14 = 0; uVar13 = uVar14; uVar17 = uVar14; if (0 < param_4) { do { dVar31 = log(((double)((float)(int)uVar13 + fVar23) * dVar2 * dVar35) / dVar42); uVar12 = (int)uVar13 + 1; *(int *)(uVar17 + *(longlong *)(param_1 + 10)) = (int)((dVar31 * (double)CONCAT44(uVar41,uVar40) - (double)CONCAT44(uVar39,uVar38)) * (double)(1 << ((char)param_1[0xf] + 1U & 0x1f)) + dVar2); uVar13 = (ulonglong)uVar12; uVar17 = uVar17 + 4; } while ((int)uVar12 < param_4); } uVar7 = FUN_181381520(param_2 + 0x24,(float)((dVar35 * dVar2) / dVar42),param_4, *(undefined4 *)(param_2 + 0x18),*(undefined4 *)(param_2 + 0x1c)); *(undefined8 *)(param_1 + 4) = uVar7; pvVar6 = malloc(0x18); *(void **)(param_1 + 6) = pvVar6; uVar13 = uVar14; do { pvVar6 = malloc(_Size); *(void **)(uVar13 + *(longlong *)(param_1 + 6)) = pvVar6; fVar23 = DAT_1824c441c; dVar31 = DAT_1824c4140; uVar13 = uVar13 + 8; } while ((longlong)uVar13 < 0x18); if (0 < param_4) { uVar13 = uVar14; do { dVar32 = log((((double)(int)uVar13 + dVar2) * dVar35) / (dVar42 * (double)CONCAT44(uVar37,uVar36))); uVar12 = (int)uVar13 + 1; uVar13 = (ulonglong)uVar12; fVar25 = (float)((dVar32 * (double)CONCAT44(uVar41,uVar40) - (double)CONCAT44(uVar39,uVar38)) * (double)CONCAT44(uVar37,uVar36)); fVar24 = 0.0; if (0.0 <= fVar25) { fVar24 = fVar25; } fVar25 = fVar23; if (fVar24 <= fVar23) { fVar25 = fVar24; } lVar21 = (longlong)(int)fVar25; fVar25 = fVar25 - (float)(int)fVar25; dVar32 = dVar31 - (double)fVar25; *(float *)(uVar14 + **(longlong **)(param_1 + 6)) = (float)((double)*(float *)(*(longlong *)(param_1 + 2) + 0x84 + lVar21 * 4) * dVar32 + (double)(fVar25 * *(float *)(*(longlong *)(param_1 + 2) + 0x88 + lVar21 * 4))); *(float *)(uVar14 + *(longlong *)(*(longlong *)(param_1 + 6) + 8)) = (float)((double)*(float *)(*(longlong *)(param_1 + 2) + 200 + lVar21 * 4) * dVar32 + (double)(fVar25 * *(float *)(*(longlong *)(param_1 + 2) + 0xcc + lVar21 * 4))); *(float *)(uVar14 + *(longlong *)(*(longlong *)(param_1 + 6) + 0x10)) = (float)((double)*(float *)(*(longlong *)(param_1 + 2) + 0x10c + lVar21 * 4) * dVar32 + (double)(fVar25 * *(float *)(*(longlong *)(param_1 + 2) + 0x110 + lVar21 * 4))); uVar14 = uVar14 + 4; } while ((int)uVar12 < param_4); } return; } ############ FUN_ 181381520 size=4138 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181381520(float *param_1,float param_2,int param_3,float param_4,float param_5) { undefined8 *puVar1; undefined1 *puVar2; double dVar3; longlong lVar4; undefined8 uVar5; undefined8 uVar6; undefined8 uVar7; undefined8 uVar8; longlong lVar9; longlong lVar10; longlong lVar11; double dVar12; double dVar13; double dVar14; double dVar15; double dVar16; float fVar17; float fVar18; undefined4 *puVar19; int iVar20; ulonglong uVar21; float *pfVar22; undefined8 *puVar23; longlong *plVar24; float *pfVar25; uint uVar26; ulonglong uVar27; int iVar28; uint uVar29; int iVar30; longlong lVar31; longlong lVar32; undefined4 *puVar33; undefined4 *puVar34; undefined1 *puVar35; longlong lVar36; longlong lVar37; undefined1 *puVar38; int iVar39; longlong lVar40; undefined8 *puVar41; longlong lVar42; float *pfVar43; float fVar44; float fVar45; float fVar46; double dVar47; double dVar48; float fVar49; float fVar50; double dVar51; double dVar52; undefined8 auStack_8080 [5]; int local_8058 [2]; float *local_8050; longlong *local_8048; undefined8 *local_8040; float *local_8038; float *local_8030; undefined4 *local_8028; float *local_8020; longlong local_8018; void *local_8010; double local_8008; longlong local_8000; double local_7ff8; longlong local_7ff0; float *local_7fe8; longlong local_7fe0; float *local_7fd8; undefined8 local_7fc8; undefined8 uStack_7fc0; undefined8 local_7fb8; undefined8 uStack_7fb0; undefined8 local_7fa8; undefined8 uStack_7fa0; undefined8 local_7f98; undefined8 uStack_7f90; undefined8 local_7f88; undefined8 uStack_7f80; undefined8 local_7f78; undefined8 uStack_7f70; undefined8 local_7f68; undefined8 uStack_7f60; undefined8 local_7f58; undefined8 uStack_7f50; undefined8 local_7f48; undefined8 uStack_7f40; undefined8 local_7f38; undefined8 uStack_7f30; undefined8 local_7f28; undefined8 uStack_7f20; undefined8 local_7f18; undefined8 uStack_7f10; undefined8 local_7f08; undefined8 uStack_7f00; undefined8 local_7ef8; undefined8 uStack_7ef0; undefined1 local_7ee8 [224]; undefined1 local_7e08 [1568]; float local_77e8 [168]; undefined8 local_7548 [3724]; ulonglong local_e8; local_e8 = DAT_182615970 ^ (ulonglong)local_8058; uVar21 = (longlong)param_3 * 4 + 0xf; if (uVar21 <= (ulonglong)((longlong)param_3 * 4)) { uVar21 = 0xffffffffffffff0; } auStack_8080[0] = 0x1813815da; lVar4 = -(uVar21 & 0xfffffffffffffff0); local_8028 = (undefined4 *)((longlong)local_8058 + lVar4); local_8058[1] = param_3; local_8050 = param_1; *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x1813815f1; local_8010 = malloc(0x88); *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181381609; memset(local_77e8,0,0x7700); fVar18 = _UNK_1824c4ea4; fVar17 = _DAT_1824c4ea0; dVar51 = _UNK_1824c4e58; dVar47 = _DAT_1824c4e50; fVar46 = DAT_1824c4740; fVar45 = DAT_1824c4598; dVar52 = DAT_1824c42c8; dVar48 = DAT_1824c4270; pfVar43 = (float *)&DAT_1822effc4; pfVar25 = local_77e8; lVar31 = 0x700; local_8048 = (longlong *)&DAT_182332bd0; local_8038 = pfVar25; lVar37 = -0x700; local_8040 = (undefined8 *)&DAT_182332cb0; lVar40 = 0; puVar38 = &stack0xfffffffe7dd08074; local_8058[0] = 2; lVar42 = -0x7e0; puVar41 = local_7548; fVar50 = 0.0; do { lVar32 = 0x38; pfVar22 = pfVar43; iVar28 = local_8058[0]; do { fVar44 = fVar46; if ((iVar28 + -2 < 0x58) && (fVar44 = pfVar22[-1], fVar45 <= pfVar22[-1])) { fVar44 = fVar45; } fVar49 = fVar46; if (iVar28 + -1 < 0x58) { fVar49 = *pfVar22; } if (fVar44 <= fVar49) { fVar49 = fVar44; } fVar44 = fVar46; if (iVar28 < 0x58) { fVar44 = pfVar22[1]; } iVar28 = iVar28 + 1; if (fVar49 <= fVar44) { fVar44 = fVar49; } fVar49 = fVar46; if (iVar28 < 0x58) { fVar49 = pfVar22[2]; } if (fVar44 <= fVar49) { fVar49 = fVar44; } *(float *)((longlong)pfVar22 + (longlong)puVar38) = fVar49; pfVar22 = pfVar22 + 1; lVar32 = lVar32 + -1; } while (lVar32 != 0); uVar5 = local_8040[-0x1b]; uVar6 = local_8040[-0x1a]; uVar7 = local_8040[-0x19]; puVar41[-0x1c] = local_8040[-0x1c]; puVar41[-0x1b] = uVar5; uVar5 = local_8040[-0x18]; uVar8 = local_8040[-0x17]; puVar41[-0x1a] = uVar6; puVar41[-0x19] = uVar7; uVar6 = local_8040[-0x16]; uVar7 = local_8040[-0x15]; puVar41[-0x18] = uVar5; puVar41[-0x17] = uVar8; uVar5 = local_8040[-0x14]; uVar8 = local_8040[-0x13]; puVar41[-0x16] = uVar6; puVar41[-0x15] = uVar7; uVar6 = local_8040[-0x12]; uVar7 = local_8040[-0x11]; puVar41[-0x14] = uVar5; puVar41[-0x13] = uVar8; uVar5 = local_8040[-0x10]; uVar8 = local_8040[-0xf]; puVar41[-0x12] = uVar6; puVar41[-0x11] = uVar7; uVar6 = local_8040[-0xe]; uVar7 = local_8040[-0xd]; puVar41[-0x10] = uVar5; puVar41[-0xf] = uVar8; uVar5 = local_8040[-0xc]; uVar8 = local_8040[-0xb]; puVar41[-0xe] = uVar6; puVar41[-0xd] = uVar7; uVar6 = local_8040[-10]; uVar7 = local_8040[-9]; puVar41[-0xc] = uVar5; puVar41[-0xb] = uVar8; uVar5 = local_8040[-8]; uVar8 = local_8040[-7]; puVar41[-10] = uVar6; puVar41[-9] = uVar7; uVar6 = local_8040[-6]; uVar7 = local_8040[-5]; puVar41[-8] = uVar5; puVar41[-7] = uVar8; uVar5 = local_8040[-4]; uVar8 = local_8040[-3]; puVar41[-6] = uVar6; puVar41[-5] = uVar7; uVar6 = local_8040[-2]; uVar7 = local_8040[-1]; puVar41[-4] = uVar5; puVar41[-3] = uVar8; uVar5 = *local_8040; uVar8 = local_8040[1]; puVar41[-2] = uVar6; puVar41[-1] = uVar7; uVar6 = local_8040[2]; uVar7 = local_8040[3]; *puVar41 = uVar5; puVar41[1] = uVar8; uVar5 = local_8040[4]; uVar8 = local_8040[5]; puVar41[2] = uVar6; puVar41[3] = uVar7; uVar6 = local_8040[6]; uVar7 = local_8040[7]; puVar41[4] = uVar5; puVar41[5] = uVar8; uVar5 = local_8040[8]; uVar8 = local_8040[9]; puVar41[6] = uVar6; puVar41[7] = uVar7; uVar6 = local_8040[10]; uVar7 = local_8040[0xb]; puVar41[8] = uVar5; puVar41[9] = uVar8; uVar5 = local_8040[0xc]; uVar8 = local_8040[0xd]; puVar41[10] = uVar6; puVar41[0xb] = uVar7; uVar6 = local_8040[0xe]; uVar7 = local_8040[0xf]; puVar41[0xc] = uVar5; puVar41[0xd] = uVar8; uVar5 = local_8040[0x10]; uVar8 = local_8040[0x11]; puVar41[0xe] = uVar6; puVar41[0xf] = uVar7; uVar6 = local_8040[0x12]; uVar7 = local_8040[0x13]; puVar41[0x10] = uVar5; puVar41[0x11] = uVar8; uVar5 = local_8040[0x14]; uVar8 = local_8040[0x15]; puVar41[0x12] = uVar6; puVar41[0x13] = uVar7; uVar6 = local_8040[0x16]; uVar7 = local_8040[0x17]; puVar41[0x14] = uVar5; puVar41[0x15] = uVar8; uVar5 = local_8040[0x18]; uVar8 = local_8040[0x19]; puVar41[0x16] = uVar6; puVar41[0x17] = uVar7; uVar6 = local_8040[0x1a]; uVar7 = local_8040[0x1b]; puVar41[0x18] = uVar5; puVar41[0x19] = uVar8; uVar5 = local_8040[0x1c]; uVar8 = local_8040[0x1d]; puVar41[0x1a] = uVar6; puVar41[0x1b] = uVar7; uVar6 = local_8040[0x1e]; uVar7 = local_8040[0x1f]; puVar41[0x1c] = uVar5; puVar41[0x1d] = uVar8; uVar5 = local_8040[0x20]; uVar8 = local_8040[0x21]; puVar41[0x1e] = uVar6; puVar41[0x1f] = uVar7; uVar6 = local_8040[0x22]; uVar7 = local_8040[0x23]; puVar41[0x20] = uVar5; puVar41[0x21] = uVar8; uVar5 = local_8040[0x24]; uVar8 = local_8040[0x25]; puVar41[0x22] = uVar6; puVar41[0x23] = uVar7; uVar6 = local_8040[0x26]; uVar7 = local_8040[0x27]; puVar41[0x24] = uVar5; puVar41[0x25] = uVar8; uVar5 = local_8040[0x28]; uVar8 = local_8040[0x29]; puVar41[0x26] = uVar6; puVar41[0x27] = uVar7; uVar6 = local_8040[0x2a]; uVar7 = local_8040[0x2b]; puVar41[0x28] = uVar5; puVar41[0x29] = uVar8; puVar41[0x2a] = uVar6; puVar41[0x2b] = uVar7; uVar5 = local_8040[0x2d]; uVar6 = local_8040[0x2e]; uVar7 = local_8040[0x2f]; puVar41[0x2c] = local_8040[0x2c]; puVar41[0x2d] = uVar5; uVar5 = local_8040[0x30]; uVar8 = local_8040[0x31]; puVar41[0x2e] = uVar6; puVar41[0x2f] = uVar7; uVar6 = local_8040[0x32]; uVar7 = local_8040[0x33]; puVar41[0x30] = uVar5; puVar41[0x31] = uVar8; uVar5 = local_8040[0x34]; uVar8 = local_8040[0x35]; puVar41[0x32] = uVar6; puVar41[0x33] = uVar7; uVar6 = local_8040[0x36]; uVar7 = local_8040[0x37]; puVar41[0x34] = uVar5; puVar41[0x35] = uVar8; uVar5 = local_8040[0x38]; uVar8 = local_8040[0x39]; puVar41[0x36] = uVar6; puVar41[0x37] = uVar7; uVar6 = local_8040[0x3a]; uVar7 = local_8040[0x3b]; puVar41[0x38] = uVar5; puVar41[0x39] = uVar8; uVar5 = local_8040[0x3c]; uVar8 = local_8040[0x3d]; puVar41[0x3a] = uVar6; puVar41[0x3b] = uVar7; uVar6 = local_8040[0x3e]; uVar7 = local_8040[0x3f]; puVar41[0x3c] = uVar5; puVar41[0x3d] = uVar8; uVar5 = local_8040[0x40]; uVar8 = local_8040[0x41]; puVar41[0x3e] = uVar6; puVar41[0x3f] = uVar7; uVar6 = local_8040[0x42]; uVar7 = local_8040[0x43]; puVar41[0x40] = uVar5; puVar41[0x41] = uVar8; uVar5 = local_8040[0x44]; uVar8 = local_8040[0x45]; puVar41[0x42] = uVar6; puVar41[0x43] = uVar7; uVar6 = local_8040[0x46]; uVar7 = local_8040[0x47]; puVar41[0x44] = uVar5; puVar41[0x45] = uVar8; uVar5 = local_8040[0x48]; uVar8 = local_8040[0x49]; puVar41[0x46] = uVar6; puVar41[0x47] = uVar7; uVar6 = local_8040[0x4a]; uVar7 = local_8040[0x4b]; puVar41[0x48] = uVar5; puVar41[0x49] = uVar8; uVar5 = local_8040[0x4c]; uVar8 = local_8040[0x4d]; puVar41[0x4a] = uVar6; puVar41[0x4b] = uVar7; uVar6 = local_8040[0x4e]; uVar7 = local_8040[0x4f]; puVar41[0x4c] = uVar5; puVar41[0x4d] = uVar8; uVar5 = local_8040[0x50]; uVar8 = local_8040[0x51]; puVar41[0x4e] = uVar6; puVar41[0x4f] = uVar7; uVar6 = local_8040[0x52]; uVar7 = local_8040[0x53]; puVar41[0x50] = uVar5; puVar41[0x51] = uVar8; uVar5 = local_8040[0x54]; uVar8 = local_8040[0x55]; puVar41[0x52] = uVar6; puVar41[0x53] = uVar7; uVar6 = local_8040[0x56]; uVar7 = local_8040[0x57]; puVar41[0x54] = uVar5; puVar41[0x55] = uVar8; uVar5 = local_8040[0x58]; uVar8 = local_8040[0x59]; puVar41[0x56] = uVar6; puVar41[0x57] = uVar7; uVar6 = local_8040[0x5a]; uVar7 = local_8040[0x5b]; puVar41[0x58] = uVar5; puVar41[0x59] = uVar8; uVar5 = local_8040[0x5c]; uVar8 = local_8040[0x5d]; puVar41[0x5a] = uVar6; puVar41[0x5b] = uVar7; uVar6 = local_8040[0x5e]; uVar7 = local_8040[0x5f]; puVar41[0x5c] = uVar5; puVar41[0x5d] = uVar8; uVar5 = local_8040[0x60]; uVar8 = local_8040[0x61]; puVar41[0x5e] = uVar6; puVar41[0x5f] = uVar7; uVar6 = local_8040[0x62]; uVar7 = local_8040[99]; puVar41[0x60] = uVar5; puVar41[0x61] = uVar8; uVar5 = local_8040[100]; uVar8 = local_8040[0x65]; puVar41[0x62] = uVar6; puVar41[99] = uVar7; uVar6 = local_8040[0x66]; uVar7 = local_8040[0x67]; puVar41[100] = uVar5; puVar41[0x65] = uVar8; uVar5 = local_8040[0x68]; uVar8 = local_8040[0x69]; puVar41[0x66] = uVar6; puVar41[0x67] = uVar7; uVar6 = local_8040[0x6a]; uVar7 = local_8040[0x6b]; puVar41[0x68] = uVar5; puVar41[0x69] = uVar8; uVar5 = local_8040[0x6c]; uVar8 = local_8040[0x6d]; puVar41[0x6a] = uVar6; puVar41[0x6b] = uVar7; uVar6 = local_8040[0x6e]; uVar7 = local_8040[0x6f]; puVar41[0x6c] = uVar5; puVar41[0x6d] = uVar8; uVar5 = local_8040[0x70]; uVar8 = local_8040[0x71]; puVar41[0x6e] = uVar6; puVar41[0x6f] = uVar7; puVar41[0x70] = uVar5; puVar41[0x71] = uVar8; uVar5 = local_8040[0x73]; pfVar22 = pfVar25 + 1; uVar6 = local_8040[0x74]; uVar7 = local_8040[0x75]; puVar41[0x72] = local_8040[0x72]; puVar41[0x73] = uVar5; puVar41[0x74] = uVar6; puVar41[0x75] = uVar7; uVar5 = local_8040[0x77]; uVar6 = local_8040[0x78]; uVar7 = local_8040[0x79]; puVar41[0x76] = local_8040[0x76]; puVar41[0x77] = uVar5; puVar41[0x78] = uVar6; puVar41[0x79] = uVar7; uVar5 = local_8040[0x7b]; uVar6 = local_8040[0x7c]; uVar7 = local_8040[0x7d]; puVar41[0x7a] = local_8040[0x7a]; puVar41[0x7b] = uVar5; puVar41[0x7c] = uVar6; puVar41[0x7d] = uVar7; uVar5 = local_8040[0x7f]; uVar6 = local_8040[0x80]; uVar7 = local_8040[0x81]; puVar41[0x7e] = local_8040[0x7e]; puVar41[0x7f] = uVar5; puVar41[0x80] = uVar6; puVar41[0x81] = uVar7; uVar5 = local_8040[0x83]; uVar6 = local_8040[0x84]; uVar7 = local_8040[0x85]; puVar41[0x82] = local_8040[0x82]; puVar41[0x83] = uVar5; puVar41[0x84] = uVar6; puVar41[0x85] = uVar7; uVar5 = local_8040[0x87]; uVar6 = local_8040[0x88]; uVar7 = local_8040[0x89]; puVar41[0x86] = local_8040[0x86]; puVar41[0x87] = uVar5; puVar41[0x88] = uVar6; puVar41[0x89] = uVar7; uVar5 = local_8040[0x8b]; lVar32 = *local_8048; lVar9 = local_8048[1]; puVar41[0x8a] = local_8040[0x8a]; puVar41[0x8b] = uVar5; lVar10 = local_8048[2]; lVar11 = local_8048[3]; *(longlong *)pfVar25 = lVar32; *(longlong *)(pfVar25 + 2) = lVar9; lVar32 = local_8048[4]; lVar9 = local_8048[5]; *(longlong *)(pfVar25 + 4) = lVar10; *(longlong *)(pfVar25 + 6) = lVar11; lVar10 = local_8048[6]; lVar11 = local_8048[7]; *(longlong *)(pfVar25 + 8) = lVar32; *(longlong *)(pfVar25 + 10) = lVar9; lVar32 = local_8048[8]; lVar9 = local_8048[9]; *(longlong *)(pfVar25 + 0xc) = lVar10; *(longlong *)(pfVar25 + 0xe) = lVar11; lVar10 = local_8048[10]; lVar11 = local_8048[0xb]; *(longlong *)(pfVar25 + 0x10) = lVar32; *(longlong *)(pfVar25 + 0x12) = lVar9; lVar32 = local_8048[0xc]; lVar9 = local_8048[0xd]; *(longlong *)(pfVar25 + 0x14) = lVar10; *(longlong *)(pfVar25 + 0x16) = lVar11; lVar10 = local_8048[0xe]; lVar11 = local_8048[0xf]; *(longlong *)(pfVar25 + 0x18) = lVar32; *(longlong *)(pfVar25 + 0x1a) = lVar9; lVar32 = local_8048[0x10]; lVar9 = local_8048[0x11]; *(longlong *)(pfVar25 + 0x1c) = lVar10; *(longlong *)(pfVar25 + 0x1e) = lVar11; lVar10 = local_8048[0x12]; lVar11 = local_8048[0x13]; *(longlong *)(pfVar25 + 0x20) = lVar32; *(longlong *)(pfVar25 + 0x22) = lVar9; lVar32 = local_8048[0x14]; lVar9 = local_8048[0x15]; *(longlong *)(pfVar25 + 0x24) = lVar10; *(longlong *)(pfVar25 + 0x26) = lVar11; lVar10 = local_8048[0x16]; lVar11 = local_8048[0x17]; *(longlong *)(pfVar25 + 0x28) = lVar32; *(longlong *)(pfVar25 + 0x2a) = lVar9; lVar32 = local_8048[0x18]; lVar9 = local_8048[0x19]; *(longlong *)(pfVar25 + 0x2c) = lVar10; *(longlong *)(pfVar25 + 0x2e) = lVar11; lVar10 = local_8048[0x1a]; lVar11 = local_8048[0x1b]; *(longlong *)(pfVar25 + 0x30) = lVar32; *(longlong *)(pfVar25 + 0x32) = lVar9; lVar32 = *local_8048; lVar9 = local_8048[1]; *(longlong *)(pfVar25 + 0x34) = lVar10; *(longlong *)(pfVar25 + 0x36) = lVar11; lVar10 = local_8048[2]; lVar11 = local_8048[3]; *(longlong *)(pfVar25 + 0x38) = lVar32; *(longlong *)(pfVar25 + 0x3a) = lVar9; lVar32 = local_8048[4]; lVar9 = local_8048[5]; *(longlong *)(pfVar25 + 0x3c) = lVar10; *(longlong *)(pfVar25 + 0x3e) = lVar11; lVar10 = local_8048[6]; lVar11 = local_8048[7]; *(longlong *)(pfVar25 + 0x40) = lVar32; *(longlong *)(pfVar25 + 0x42) = lVar9; lVar32 = local_8048[8]; lVar9 = local_8048[9]; *(longlong *)(pfVar25 + 0x44) = lVar10; *(longlong *)(pfVar25 + 0x46) = lVar11; lVar10 = local_8048[10]; lVar11 = local_8048[0xb]; *(longlong *)(pfVar25 + 0x48) = lVar32; *(longlong *)(pfVar25 + 0x4a) = lVar9; lVar32 = local_8048[0xc]; lVar9 = local_8048[0xd]; *(longlong *)(pfVar25 + 0x4c) = lVar10; *(longlong *)(pfVar25 + 0x4e) = lVar11; lVar10 = local_8048[0xe]; lVar11 = local_8048[0xf]; *(longlong *)(pfVar25 + 0x50) = lVar32; *(longlong *)(pfVar25 + 0x52) = lVar9; lVar32 = local_8048[0x10]; lVar9 = local_8048[0x11]; *(longlong *)(pfVar25 + 0x54) = lVar10; *(longlong *)(pfVar25 + 0x56) = lVar11; *(longlong *)(pfVar25 + 0x58) = lVar32; *(longlong *)(pfVar25 + 0x5a) = lVar9; lVar32 = local_8048[0x13]; lVar36 = 8; lVar9 = local_8048[0x14]; lVar10 = local_8048[0x15]; *(longlong *)(pfVar25 + 0x5c) = local_8048[0x12]; *(longlong *)(pfVar25 + 0x5e) = lVar32; lVar32 = local_8048[0x16]; lVar11 = local_8048[0x17]; *(longlong *)(pfVar25 + 0x60) = lVar9; *(longlong *)(pfVar25 + 0x62) = lVar10; lVar9 = local_8048[0x18]; lVar10 = local_8048[0x19]; *(longlong *)(pfVar25 + 100) = lVar32; *(longlong *)(pfVar25 + 0x66) = lVar11; lVar32 = local_8048[0x1a]; lVar11 = local_8048[0x1b]; *(longlong *)(pfVar25 + 0x68) = lVar9; *(longlong *)(pfVar25 + 0x6a) = lVar10; *(longlong *)(pfVar25 + 0x6c) = lVar32; *(longlong *)(pfVar25 + 0x6e) = lVar11; do { uVar26 = 0xf; lVar32 = 0xe; do { uVar29 = (int)(uVar26 + 1) >> 0x1f; fVar44 = (float)(int)((uVar26 + 1 ^ uVar29) - uVar29) * param_5 + param_4; if (((fVar44 < fVar50) && (fVar50 < param_4)) || ((fVar50 < fVar44 && (param_4 < fVar50)))) { fVar44 = fVar50; } pfVar22[-1] = fVar44 + pfVar22[-1]; fVar44 = (float)(int)((uVar26 ^ (int)uVar26 >> 0x1f) - ((int)uVar26 >> 0x1f)) * param_5 + param_4; if (((fVar44 < fVar50) && (fVar50 < param_4)) || ((fVar50 < fVar44 && (param_4 < fVar50)))) { fVar44 = fVar50; } uVar29 = (int)(uVar26 - 1) >> 0x1f; *pfVar22 = fVar44 + *pfVar22; fVar44 = (float)(int)((uVar26 - 1 ^ uVar29) - uVar29) * param_5 + param_4; if (((fVar44 < fVar50) && (fVar50 < param_4)) || ((fVar50 < fVar44 && (param_4 < fVar50)))) { fVar44 = fVar50; } uVar29 = (int)(uVar26 - 2) >> 0x1f; pfVar22[1] = fVar44 + pfVar22[1]; fVar44 = (float)(int)((uVar26 - 2 ^ uVar29) - uVar29) * param_5 + param_4; if (((fVar44 < fVar50) && (fVar50 < param_4)) || ((fVar50 < fVar44 && (param_4 < fVar50)))) { fVar44 = fVar50; } uVar26 = uVar26 - 4; pfVar22[2] = fVar44 + pfVar22[2]; pfVar22 = pfVar22 + 4; lVar32 = lVar32 + -1; } while (lVar32 != 0); lVar36 = lVar36 + -1; } while (lVar36 != 0); dVar3 = (double)*local_8050 + DAT_1824c42f0; iVar28 = 0; local_8038 = pfVar25; do { uVar7 = uStack_7fb0; uVar6 = local_7fb8; uVar5 = uStack_7fc0; iVar30 = iVar28; if (iVar28 < 2) { iVar30 = 2; } lVar32 = 3; pfVar22 = pfVar25 + 8; fVar44 = (float)((dVar3 - (double)iVar30 * dVar48) - dVar52); do { pfVar22[-8] = fVar44 + pfVar22[-8]; pfVar22[-7] = fVar44 + pfVar22[-7]; pfVar22[-6] = fVar44 + pfVar22[-6]; pfVar22[-5] = fVar44 + pfVar22[-5]; pfVar22[-4] = fVar44 + pfVar22[-4]; pfVar22[-3] = fVar44 + pfVar22[-3]; pfVar22[-2] = fVar44 + pfVar22[-2]; pfVar22[-1] = fVar44 + pfVar22[-1]; *pfVar22 = fVar44 + *pfVar22; pfVar22[1] = fVar44 + pfVar22[1]; pfVar22[2] = fVar44 + pfVar22[2]; pfVar22[3] = fVar44 + pfVar22[3]; pfVar22[4] = fVar44 + pfVar22[4]; pfVar22[5] = fVar44 + pfVar22[5]; pfVar22[6] = fVar44 + pfVar22[6]; pfVar22[7] = fVar44 + pfVar22[7]; pfVar22 = pfVar22 + 0x10; lVar32 = lVar32 + -1; } while (lVar32 != 0); pfVar22 = pfVar25 + 0x32; lVar32 = 2; do { pfVar22[-2] = pfVar22[-2] + fVar44; pfVar22[-1] = pfVar22[-1] + fVar44; *pfVar22 = *pfVar22 + fVar44; pfVar22[1] = pfVar22[1] + fVar44; pfVar22 = pfVar22 + 4; lVar32 = lVar32 + -1; } while (lVar32 != 0); puVar1 = (undefined8 *)((longlong)pfVar25 + lVar37); *puVar1 = local_7fc8; puVar1[1] = uVar5; puVar1[2] = uVar6; puVar1[3] = uVar7; puVar1[4] = local_7fa8; puVar1[5] = uStack_7fa0; puVar1[6] = local_7f98; puVar1[7] = uStack_7f90; puVar1[8] = local_7f88; puVar1[9] = uStack_7f80; puVar1[10] = local_7f78; puVar1[0xb] = uStack_7f70; puVar1[0xc] = local_7f68; puVar1[0xd] = uStack_7f60; puVar1[0xe] = local_7f58; puVar1[0xf] = uStack_7f50; puVar1[0x10] = local_7f48; puVar1[0x11] = uStack_7f40; puVar1[0x12] = local_7f38; puVar1[0x13] = uStack_7f30; puVar1[0x14] = local_7f28; puVar1[0x15] = uStack_7f20; puVar1[0x16] = local_7f18; puVar1[0x17] = uStack_7f10; puVar1[0x18] = local_7f08; puVar1[0x19] = uStack_7f00; puVar23 = (undefined8 *)(lVar37 + 0x10 + (longlong)pfVar25); puVar1[0x1a] = local_7ef8; puVar1[0x1b] = uStack_7ef0; lVar32 = 7; fVar44 = (float)((dVar47 - (double)((float)iVar28 * fVar17)) - _DAT_1824c4e40); fVar49 = (float)((dVar51 - (double)((float)iVar28 * fVar18)) - _UNK_1824c4e48); do { puVar23[-2] = CONCAT44((float)((ulonglong)puVar23[-2] >> 0x20) + fVar49, (float)puVar23[-2] + fVar44); puVar23[-1] = CONCAT44(fVar49 + (float)((ulonglong)puVar23[-1] >> 0x20), fVar44 + (float)puVar23[-1]); *puVar23 = CONCAT44((float)((ulonglong)*puVar23 >> 0x20) + fVar49,(float)*puVar23 + fVar44); puVar23[1] = CONCAT44(fVar49 + (float)((ulonglong)puVar23[1] >> 0x20), fVar44 + (float)puVar23[1]); puVar23 = puVar23 + 4; lVar32 = lVar32 + -1; } while (lVar32 != 0); *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181381ebf; FUN_181382640(local_7ee8 + (longlong)iVar28 * 0xe0,local_77e8 + (lVar40 + iVar28) * 0x38); pfVar22 = local_8050; iVar28 = iVar28 + 1; pfVar25 = pfVar25 + 0x38; } while (iVar28 < 8); puVar35 = local_7e08; lVar32 = 7; do { puVar2 = puVar35 + lVar31; *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181381f00; FUN_181382840(puVar35,puVar2 + lVar42); *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181381f0b; FUN_181382840(puVar2,puVar35); puVar19 = local_8028; iVar28 = local_8058[1]; fVar44 = DAT_1824c4748; dVar16 = DAT_1824c4238; dVar15 = DAT_1824c41f0; dVar14 = DAT_1824c41d8; dVar13 = DAT_1824c4140; dVar12 = DAT_1824c4098; dVar3 = DAT_1824c3f80; puVar35 = puVar35 + 0xe0; lVar32 = lVar32 + -1; } while (lVar32 != 0); local_8058[0] = local_8058[0] + 4; local_8048 = local_8048 + 0xa8; pfVar25 = local_8038 + 0x1c0; lVar40 = lVar40 + 8; lVar42 = lVar42 + -0x700; local_8040 = local_8040 + 0xa8; lVar31 = lVar31 + 0x700; local_8050 = pfVar22 + 1; pfVar43 = pfVar43 + 4; local_8038 = pfVar25; puVar38 = puVar38 + -0x10; puVar41 = puVar41 + 0xe0; lVar37 = lVar37 + -0x700; } while (local_8058[0] < 0x46); uVar21 = (ulonglong)local_8058[1]; local_8008 = (double)param_2; local_8058[0] = 0; local_8040 = (undefined8 *)0x0; dVar48 = DAT_1824c4050; do { puVar41 = local_8040; iVar39 = local_8058[0]; *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181381ffb; plVar24 = malloc(0x40); *(longlong **)((longlong)local_8010 + (longlong)puVar41 * 8) = plVar24; dVar52 = (double)iVar39 * dVar48; local_8048 = plVar24; local_7ff8 = dVar52; *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x18138202d; dVar47 = exp((dVar52 + dVar16) * dVar12); dVar47 = dVar47 / local_8008; *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181382037; dVar47 = floor(dVar47); *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181382054; fVar45 = logf((float)(int)dVar47 * param_2 + DAT_1824c3ea4); *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181382071; fVar45 = ceilf((fVar45 * _DAT_1824c3f5c - _DAT_1824c4378) * DAT_1824c41e0); *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x18138208a; fVar46 = logf((float)((int)dVar47 + 1) * param_2); *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x1813820a7; fVar46 = floorf((fVar46 * _DAT_1824c3f5c - _DAT_1824c4378) * DAT_1824c41e0); local_8018 = 8; iVar20 = (int)fVar46; iVar30 = (int)fVar45; if (iVar39 < (int)fVar45) { iVar30 = iVar39; } local_8050 = (float *)0x0; if (iVar30 < 0) { iVar30 = 0; } local_8038 = (float *)CONCAT44(local_8038._4_4_,iVar30); local_7fd8 = (float *)(longlong)iVar30; if (0x10 < iVar20) { iVar20 = 0x10; } local_8028 = (undefined4 *)(longlong)iVar20; local_8000 = 0; local_7ff0 = 0; local_7fe0 = 0; do { pfVar43 = local_7fd8; puVar34 = local_8028; pfVar25 = local_8050; *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x18138211b; local_7fe8 = malloc(0xe8); *(float **)(local_8000 + (longlong)plVar24) = local_7fe8; if (0 < iVar28) { puVar33 = puVar19; for (uVar27 = uVar21 & 0x3fffffffffffffff; pfVar25 = local_8050, uVar27 != 0; uVar27 = uVar27 - 1) { *puVar33 = 0x4479c000; puVar33 = puVar33 + 1; } } local_8058[1] = (int)local_8038; local_8030 = pfVar43; if ((longlong)pfVar43 <= (longlong)puVar34) { local_8020 = local_77e8 + (longlong)pfVar43 * 0x1c0; do { iVar39 = 0; pfVar25 = (float *)((longlong)pfVar25 + (longlong)local_8020); dVar52 = (double)local_8058[1]; iVar30 = iVar39; do { dVar51 = (double)iVar39 * dVar3 + dVar52 * dVar48; *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x1813821b9; dVar47 = exp(((dVar51 - dVar15) + dVar16) * dVar12); iVar20 = (int)(dVar47 / (double)param_2); *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x1813821e0; dVar47 = exp(((dVar51 - dVar14) + dVar16) * dVar12); if (iVar20 < 0) { iVar20 = 0; } if (iVar28 < iVar20) { iVar20 = iVar28; } if (iVar20 < iVar30) { iVar30 = iVar20; } iVar20 = (int)(dVar47 / (double)param_2 + dVar13); if (iVar20 < 0) { iVar20 = 0; } if (iVar28 < iVar20) { iVar20 = iVar28; } if (iVar30 < iVar20) { lVar31 = (longlong)iVar30; do { if ((longlong)uVar21 <= lVar31) break; if (*pfVar25 < (float)puVar19[lVar31]) { puVar19[lVar31] = *pfVar25; } iVar30 = iVar30 + 1; lVar31 = lVar31 + 1; } while (lVar31 < iVar20); } iVar39 = iVar39 + 1; pfVar25 = pfVar25 + 1; } while (iVar39 < 0x38); lVar31 = (longlong)iVar30; if (lVar31 < (longlong)uVar21) { fVar45 = *(float *)((longlong)(local_8050 + 0x37) + (longlong)local_8020); do { if (fVar45 < (float)puVar19[lVar31]) { puVar19[lVar31] = fVar45; } lVar31 = lVar31 + 1; } while (lVar31 < (longlong)uVar21); } local_8058[1] = local_8058[1] + 1; local_8030 = (float *)((longlong)local_8030 + 1); local_8020 = local_8020 + 0x1c0; pfVar25 = local_8050; plVar24 = local_8048; dVar48 = DAT_1824c4050; dVar52 = local_7ff8; } while ((longlong)local_8030 <= (longlong)local_8028); } iVar30 = 0; if (local_8058[0] + 1 < 0x11) { pfVar25 = (float *)((longlong)local_77e8 + (longlong)(pfVar25 + ((longlong)local_8040 + 1) * 0x1c0)); local_8030 = pfVar25; iVar39 = iVar30; do { dVar47 = (double)iVar30 * dVar3 + dVar52; *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181382329; dVar48 = exp(((dVar47 - dVar15) + dVar16) * dVar12); iVar20 = (int)(dVar48 / (double)param_2); *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181382350; dVar48 = exp(((dVar47 - dVar14) + dVar16) * dVar12); if (iVar20 < 0) { iVar20 = 0; } if (iVar28 < iVar20) { iVar20 = iVar28; } if (iVar20 < iVar39) { iVar39 = iVar20; } iVar20 = (int)(dVar48 / (double)param_2 + dVar13); if (iVar20 < 0) { iVar20 = 0; } if (iVar28 < iVar20) { iVar20 = iVar28; } if (iVar39 < iVar20) { lVar31 = (longlong)iVar39; do { if ((longlong)uVar21 <= lVar31) break; if (*pfVar25 < (float)puVar19[lVar31]) { puVar19[lVar31] = *pfVar25; } iVar39 = iVar39 + 1; lVar31 = lVar31 + 1; } while (lVar31 < iVar20); } iVar30 = iVar30 + 1; pfVar25 = pfVar25 + 1; } while (iVar30 < 0x38); lVar31 = (longlong)iVar39; plVar24 = local_8048; if (lVar31 < (longlong)uVar21) { fVar45 = local_8030[0x37]; do { if (fVar45 < (float)puVar19[lVar31]) { puVar19[lVar31] = fVar45; } lVar31 = lVar31 + 1; } while (lVar31 < (longlong)uVar21); } } iVar30 = 0; puVar34 = (undefined4 *)(*plVar24 + 8); do { *(undefined8 *)((longlong)auStack_8080 + lVar4) = 0x181382437; dVar48 = exp(((((double)iVar30 * dVar3 + dVar52) - DAT_1824c41e8) + dVar16) * dVar12); iVar39 = (int)(dVar48 / (double)param_2); if (iVar39 < 0) { *puVar34 = 0xc479c000; } else if (iVar39 < iVar28) { *puVar34 = puVar19[iVar39]; } else { *puVar34 = 0xc479c000; } iVar30 = iVar30 + 1; puVar34 = puVar34 + 1; } while (iVar30 < 0x38); iVar30 = 0; lVar31 = 0; pfVar25 = (float *)(*(longlong *)(local_7ff0 + (longlong)plVar24) + 8); do { if (fVar44 < *pfVar25) break; iVar30 = iVar30 + 1; lVar31 = lVar31 + 1; pfVar25 = pfVar25 + 1; } while (lVar31 < 0x10); iVar39 = 0x37; lVar31 = 0x37; pfVar25 = (float *)(*(longlong *)(local_7fe0 + (longlong)plVar24) + 0xe4); *local_7fe8 = (float)iVar30; dVar48 = DAT_1824c4050; do { if (fVar44 < *pfVar25) break; iVar39 = iVar39 + -1; lVar31 = lVar31 + -1; pfVar25 = pfVar25 + -1; } while (0x11 < lVar31); plVar24 = plVar24 + 1; local_7fe8[1] = (float)iVar39; local_8050 = local_8050 + 0x38; local_8018 = local_8018 + -1; local_8048 = plVar24; } while (local_8018 != 0); local_8058[0] = local_8058[0] + 1; local_8040 = (undefined8 *)((longlong)local_8040 + 1); local_8018 = 0; if (0x10 < local_8058[0]) { *(undefined **)((longlong)auStack_8080 + lVar4) = &UNK_18138254a; } } while( true ); } ############ FUN_ 181384180 size=792 ############ void FUN_181384180(int *param_1,int param_2) { char cVar1; ulonglong uVar2; double dVar3; uint uVar4; uint uVar5; int *piVar6; void *pvVar7; uint uVar8; uint uVar9; uint uVar10; float *pfVar11; uint uVar12; int iVar13; ulonglong uVar14; longlong lVar15; int iVar16; float fVar17; float fVar18; double dVar19; double dVar20; double dVar21; double _X; uVar4 = (int)(param_2 + (param_2 >> 0x1f & 3U)) >> 2; uVar14 = (ulonglong)uVar4; piVar6 = malloc((longlong)(int)uVar4 << 2); pvVar7 = malloc((longlong)(int)(param_2 + uVar4) << 2); fVar17 = logf((float)param_2); fVar18 = logf(DAT_1824c41e0); fVar17 = floorf(fVar17 / fVar18 + DAT_1824c3d8c); dVar3 = DAT_1824c4218; *param_1 = param_2; *(void **)(param_1 + 2) = pvVar7; *(int **)(param_1 + 4) = piVar6; param_1[1] = (int)fVar17; if (0 < (int)uVar4) { iVar16 = 0; iVar13 = 1; lVar15 = (longlong)param_2 >> 1; uVar4 = (uint)DAT_1824c4f20; uVar2 = (ulonglong)DAT_1824c4f20 >> 0x20; pfVar11 = (float *)((longlong)pvVar7 + 4); do { dVar21 = (double)iVar16 * (dVar3 / (double)param_2); dVar19 = cos(dVar21); pfVar11[-1] = (float)dVar19; dVar19 = sin(dVar21); *pfVar11 = (float)(double)CONCAT44((uint)((ulonglong)dVar19 >> 0x20) ^ (uint)uVar2, SUB84(dVar19,0) ^ uVar4); dVar21 = (double)iVar13 * (dVar3 / (double)(param_2 * 2)); dVar19 = cos(dVar21); pfVar11[lVar15 + -1] = (float)dVar19; dVar19 = sin(dVar21); iVar16 = iVar16 + 4; iVar13 = iVar13 + 2; pfVar11[lVar15] = (float)dVar19; uVar14 = uVar14 - 1; pfVar11 = pfVar11 + 2; } while (uVar14 != 0); } dVar21 = DAT_1824c4698; dVar19 = DAT_1824c4050; uVar4 = (int)(param_2 + (param_2 >> 0x1f & 7U)) >> 3; if (0 < (int)uVar4) { iVar13 = 2; uVar14 = (ulonglong)uVar4; pfVar11 = (float *)((longlong)pvVar7 + (longlong)param_2 * 4); do { _X = (double)iVar13 * (dVar3 / (double)param_2); dVar20 = cos(_X); *pfVar11 = (float)(dVar20 * dVar19); dVar20 = sin(_X); iVar13 = iVar13 + 4; pfVar11[1] = (float)(dVar20 * dVar21); uVar14 = uVar14 - 1; pfVar11 = pfVar11 + 2; } while (uVar14 != 0); } cVar1 = (char)(int)fVar17; uVar12 = 0; uVar10 = 1 << (cVar1 - 2U & 0x1f); if (0 < (int)uVar4) { do { uVar9 = 0; uVar8 = 0; uVar5 = uVar10; while (uVar5 != 0) { if ((uVar12 & uVar5) != 0) { uVar9 = uVar9 | 1 << (uVar8 & 0x1f); } uVar8 = uVar8 + 1; uVar5 = (int)uVar10 >> ((byte)uVar8 & 0x1f); } piVar6[1] = uVar9; uVar12 = uVar12 + 1; *piVar6 = (~uVar9 & (1 << (cVar1 - 1U & 0x1f)) - 1U) - 1; piVar6 = piVar6 + 2; } while ((int)uVar12 < (int)uVar4); } param_1[6] = (int)(DAT_1824c4334 / (float)param_2); return; } ############ FUN_ 18137ab10 size=242 ############ undefined8 FUN_18137ab10(undefined4 *param_1,undefined4 *param_2) { uint uVar1; undefined4 uVar2; undefined8 uVar3; float fVar4; double dVar5; memset(param_1,0,0x58); *(undefined4 **)(param_1 + 4) = param_2; param_1[1] = param_2[1]; param_1[2] = param_2[1]; *param_1 = *param_2; uVar3 = FUN_18137b010(*(undefined8 *)(param_2 + 2),param_2[1],0); *(undefined8 *)(param_1 + 8) = uVar3; uVar2 = FUN_18137af80(param_2); param_1[0x12] = uVar2; uVar1 = param_2[5]; dVar5 = (double)(uVar1 & 0x1fffff); if ((int)uVar1 < 0) { dVar5 = (double)CONCAT44((uint)((ulonglong)dVar5 >> 0x20) ^ DAT_1824c4f20._4_4_, SUB84(dVar5,0) ^ (uint)DAT_1824c4f20); } dVar5 = ldexp(dVar5,((int)uVar1 >> 0x15 & 0x3ffU) - 0x314); fVar4 = floorf((float)dVar5 + DAT_1824c3d8c); param_1[0x13] = (int)fVar4; uVar1 = param_2[6]; dVar5 = (double)(uVar1 & 0x1fffff); if ((int)uVar1 < 0) { dVar5 = (double)CONCAT44((uint)((ulonglong)dVar5 >> 0x20) ^ DAT_1824c4f20._4_4_, SUB84(dVar5,0) ^ (uint)DAT_1824c4f20); } dVar5 = ldexp(dVar5,((int)uVar1 >> 0x15 & 0x3ffU) - 0x314); fVar4 = floorf((float)dVar5 + DAT_1824c3d8c); param_1[0x14] = (int)fVar4; return 0; } ############ FUN_ 18137e330 size=1320 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18137e330(longlong param_1,int param_2,longlong param_3,float *param_4,longlong param_5, longlong param_6,undefined8 param_7,int param_8,int param_9,longlong param_10) { longlong lVar1; float fVar2; uint uVar3; longlong lVar4; undefined8 *_Base; int iVar5; int iVar6; longlong lVar7; float *_NumOfElements; ulonglong uVar8; longlong lVar9; longlong *plVar10; float *pfVar11; int *piVar12; int iVar13; int iVar14; undefined8 *puVar15; longlong lVar16; longlong lVar17; float fVar18; float fVar19; float fVar20; undefined8 auStack_f0 [5]; int local_c8 [2]; longlong local_c0; longlong local_b8; longlong local_b0; int local_a8; longlong local_a0; float *local_98; longlong local_90; undefined8 *local_88; ulonglong local_80; uVar3 = DAT_1824c4f30; fVar2 = DAT_1824c3d8c; local_80 = DAT_182615970 ^ (ulonglong)local_c8; local_90 = *(longlong *)(param_1 + 8); uVar8 = (longlong)param_9 * 8 + 0xf; if (uVar8 <= (ulonglong)((longlong)param_9 * 8)) { uVar8 = 0xffffffffffffff0; } auStack_f0[0] = 0x18137e3c9; lVar1 = -(uVar8 & 0xfffffffffffffff0); local_c8[0] = 0; local_88 = (undefined8 *)((longlong)local_c8 + lVar1); iVar5 = param_9; if ((*(int *)(local_90 + 500) != 0) && (iVar5 = *(int *)(local_90 + 0x1f8) - param_8, param_9 < iVar5)) { iVar5 = param_9; } fVar20 = 0.0; lVar16 = (longlong)iVar5; local_a8 = param_2; local_a0 = param_3; local_98 = param_4; iVar14 = 0; if (0 < iVar5) { lVar7 = param_6 - (longlong)param_4; lVar9 = param_5 - (longlong)param_4; param_3 = param_3 - (longlong)param_4; pfVar11 = param_4; local_c0 = lVar7; local_b8 = lVar9; local_b0 = param_3; do { if ((param_6 == 0) || (*(int *)(lVar7 + (longlong)pfVar11) == 0)) { fVar18 = *pfVar11 / *(float *)(lVar9 + (longlong)pfVar11); if (0.0 < *(float *)(param_3 + (longlong)pfVar11) || *(float *)(param_3 + (longlong)pfVar11) == 0.0) { *(undefined8 *)((longlong)auStack_f0 + lVar1) = 0x18137e494; fVar18 = sqrtf(fVar18); *(undefined8 *)((longlong)auStack_f0 + lVar1) = 0x18137e49d; fVar18 = floorf(fVar18 + fVar2); } else { *(undefined8 *)((longlong)auStack_f0 + lVar1) = 0x18137e480; fVar18 = sqrtf(fVar18); *(undefined8 *)((longlong)auStack_f0 + lVar1) = 0x18137e489; fVar18 = floorf(fVar18 + fVar2); fVar18 = (float)((uint)fVar18 ^ uVar3); } *(int *)((longlong)pfVar11 + (param_10 - (longlong)param_4)) = (int)fVar18; lVar7 = local_c0; lVar9 = local_b8; param_3 = local_b0; } pfVar11 = pfVar11 + 1; lVar16 = lVar16 + -1; iVar14 = iVar5; } while (lVar16 != 0); } iVar5 = local_a8; fVar18 = DAT_1824c3d3c; if (iVar14 < param_9) { lVar16 = local_a0 - param_10; lVar7 = param_5 - param_10; lVar17 = param_6 - local_a0; lVar9 = (longlong)param_4 - param_10; piVar12 = (int *)(param_10 + (longlong)iVar14 * 4); param_4 = param_4 + iVar14; puVar15 = local_88; iVar13 = local_c8[0]; local_c0 = lVar16; local_b8 = lVar9; local_b0 = lVar7; do { if ((param_6 == 0) || (*(int *)(lVar16 + lVar17 + (longlong)piVar12) == 0)) { fVar19 = *(float *)(lVar9 + (longlong)piVar12) / *(float *)(lVar7 + (longlong)piVar12); if ((fVar18 <= fVar19) || ((param_6 != 0 && (iVar14 < iVar5 - param_8)))) { if (0.0 < *(float *)(lVar16 + (longlong)piVar12) || *(float *)(lVar16 + (longlong)piVar12) == 0.0) { *(undefined8 *)((longlong)auStack_f0 + lVar1) = 0x18137e588; fVar19 = sqrtf(fVar19); *(undefined8 *)((longlong)auStack_f0 + lVar1) = 0x18137e591; fVar19 = floorf(fVar19 + fVar2); } else { *(undefined8 *)((longlong)auStack_f0 + lVar1) = 0x18137e574; fVar19 = sqrtf(fVar19); *(undefined8 *)((longlong)auStack_f0 + lVar1) = 0x18137e57d; fVar19 = floorf(fVar19 + fVar2); fVar19 = (float)((uint)fVar19 ^ uVar3); } iVar6 = (int)fVar19; *piVar12 = iVar6; *(float *)(local_b8 + (longlong)piVar12) = (float)(iVar6 * iVar6) * *(float *)(local_b0 + (longlong)piVar12); lVar16 = local_c0; lVar7 = local_b0; lVar9 = local_b8; } else { iVar13 = iVar13 + 1; *puVar15 = param_4; puVar15 = puVar15 + 1; fVar20 = fVar20 + fVar19; } } _Base = local_88; lVar4 = local_90; pfVar11 = local_98; iVar14 = iVar14 + 1; param_4 = param_4 + 1; piVar12 = piVar12 + 1; } while (iVar14 < param_9); if (iVar13 != 0) { _NumOfElements = (float *)(longlong)iVar13; local_c8[0] = iVar13; local_98 = _NumOfElements; *(undefined8 *)((longlong)auStack_f0 + lVar1) = 0x18137e620; qsort(_Base,(size_t)_NumOfElements,8,(_PtFuncCompare *)&LAB_18137e930); fVar2 = DAT_1824c4680; lVar16 = 0; if (3 < (longlong)_NumOfElements) { plVar10 = _Base + 2; lVar7 = ((longlong)_NumOfElements - 4U >> 2) + 1; lVar16 = lVar7 * 4; do { iVar5 = (int)(plVar10[-2] - (longlong)pfVar11 >> 2); if ((double)fVar20 < *(double *)(lVar4 + 0x200)) { *(undefined4 *)(param_10 + (longlong)iVar5 * 4) = 0; pfVar11[iVar5] = 0.0; } else { lVar9 = (longlong)iVar5; fVar20 = fVar20 + fVar2; *(int *)(param_10 + lVar9 * 4) = (int)(float)(*(uint *)(local_a0 + lVar9 * 4) & 0xbf800000 | 0x3f800000); pfVar11[lVar9] = *(float *)(param_5 + lVar9 * 4); } iVar5 = (int)(plVar10[-1] - (longlong)pfVar11 >> 2); if ((double)fVar20 < *(double *)(lVar4 + 0x200)) { *(undefined4 *)(param_10 + (longlong)iVar5 * 4) = 0; pfVar11[iVar5] = 0.0; } else { lVar9 = (longlong)iVar5; fVar20 = fVar20 + fVar2; *(int *)(param_10 + lVar9 * 4) = (int)(float)(*(uint *)(local_a0 + lVar9 * 4) & 0xbf800000 | 0x3f800000); pfVar11[lVar9] = *(float *)(param_5 + lVar9 * 4); } iVar5 = (int)(*plVar10 - (longlong)pfVar11 >> 2); if ((double)fVar20 < *(double *)(lVar4 + 0x200)) { *(undefined4 *)(param_10 + (longlong)iVar5 * 4) = 0; pfVar11[iVar5] = 0.0; } else { lVar9 = (longlong)iVar5; fVar20 = fVar20 + fVar2; *(int *)(param_10 + lVar9 * 4) = (int)(float)(*(uint *)(local_a0 + lVar9 * 4) & 0xbf800000 | 0x3f800000); pfVar11[lVar9] = *(float *)(param_5 + lVar9 * 4); } iVar5 = (int)(plVar10[1] - (longlong)pfVar11 >> 2); if ((double)fVar20 < *(double *)(lVar4 + 0x200)) { *(undefined4 *)(param_10 + (longlong)iVar5 * 4) = 0; pfVar11[iVar5] = 0.0; } else { lVar9 = (longlong)iVar5; fVar20 = fVar20 + fVar2; *(int *)(param_10 + lVar9 * 4) = (int)(float)(*(uint *)(local_a0 + lVar9 * 4) & 0xbf800000 | 0x3f800000); pfVar11[lVar9] = *(float *)(param_5 + lVar9 * 4); } plVar10 = plVar10 + 4; lVar7 = lVar7 + -1; _NumOfElements = local_98; } while (lVar7 != 0); } for (; lVar16 < (longlong)_NumOfElements; lVar16 = lVar16 + 1) { iVar5 = (int)(_Base[lVar16] - (longlong)pfVar11 >> 2); if ((double)fVar20 < *(double *)(lVar4 + 0x200)) { *(undefined4 *)(param_10 + (longlong)iVar5 * 4) = 0; pfVar11[iVar5] = 0.0; } else { lVar7 = (longlong)iVar5; fVar20 = fVar20 + fVar2; *(int *)(param_10 + lVar7 * 4) = (int)(float)(*(uint *)(local_a0 + lVar7 * 4) & 0xbf800000 | 0x3f800000); pfVar11[lVar7] = *(float *)(param_5 + lVar7 * 4); } } } } *(undefined **)((longlong)auStack_f0 + lVar1) = &UNK_18137e858; } ############ FUN_ 18138bf10 size=794 ############ undefined8 FUN_18138bf10(longlong param_1,int *param_2,longlong param_3,void *param_4) { int iVar1; longlong lVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; float fVar8; int iVar9; void *pvVar10; longlong lVar11; int iVar12; ulonglong uVar13; uint uVar14; float fVar16; float fVar17; float fVar18; float fVar19; float fVar20; float fVar21; ulonglong uVar15; fVar6 = DAT_1824c3d8c; fVar3 = DAT_1824c3c30; lVar11 = (longlong)*(int *)(param_1 + 0x2c); lVar2 = *(longlong *)(param_2 + 6); if (*(longlong *)(*(longlong *)(param_2 + 2) + lVar11 * 8) == 0) { iVar1 = *param_2; iVar9 = *(int *)(*(longlong *)(*(longlong *)(*(longlong *)(param_1 + 0x50) + 8) + 0x20) + lVar11 * 4) / 2; fVar20 = (float)*(int *)(lVar2 + 4) * DAT_1824c3d8c; fVar16 = atanf(fVar20 * fVar20 * DAT_1824c3c30); fVar7 = DAT_1824c4220; fVar5 = DAT_1824c3c4c; fVar16 = fVar16 * DAT_1824c4220; fVar17 = atanf(fVar20 * DAT_1824c3c4c); fVar8 = DAT_1824c4410; fVar4 = DAT_1824c3c44; fVar17 = fVar17 * DAT_1824c4410; fVar20 = fVar20 * DAT_1824c3c44; pvVar10 = malloc((longlong)(iVar9 + 1) << 2); uVar13 = 0; uVar14 = 0; *(void **)(*(longlong *)(param_2 + 2) + lVar11 * 8) = pvVar10; if (0 < iVar9) { uVar15 = uVar13; do { fVar21 = (((float)*(int *)(lVar2 + 4) * fVar6) / (float)iVar9) * (float)(int)uVar15; fVar18 = atanf(fVar21 * fVar21 * fVar3); fVar19 = atanf(fVar21 * fVar5); fVar18 = floorf((fVar18 * fVar7 + fVar19 * fVar8 + fVar21 * fVar4) * ((float)iVar1 / (fVar16 + fVar17 + fVar20))); iVar12 = (int)fVar18; if (*param_2 <= iVar12) { iVar12 = *param_2 + -1; } uVar14 = (int)uVar15 + 1; uVar15 = (ulonglong)uVar14; *(int *)(uVar13 + *(longlong *)(*(longlong *)(param_2 + 2) + lVar11 * 8)) = iVar12; uVar13 = uVar13 + 4; } while ((int)uVar14 < iVar9); } *(undefined4 *) (*(longlong *)(*(longlong *)(param_2 + 2) + lVar11 * 8) + (longlong)(int)uVar14 * 4) = 0xffffffff; param_2[lVar11 + 4] = iVar9; } if (param_3 == 0) { memset(param_4,0,(longlong)param_2[(longlong)*(int *)(param_1 + 0x2c) + 4] << 2); return 0; } FUN_1813861b0(param_4,*(undefined8 *) (*(longlong *)(param_2 + 2) + (longlong)*(int *)(param_1 + 0x2c) * 8), param_2[(longlong)*(int *)(param_1 + 0x2c) + 4],*param_2,param_3,param_2[1], *(undefined4 *)(param_3 + (longlong)param_2[1] * 4),(float)*(int *)(lVar2 + 0x10)); return 1; } ############ FUN_ 18138c420 size=610 ############ void FUN_18138c420(longlong param_1,longlong param_2,int *param_3) { int iVar1; float fVar2; float fVar3; float fVar4; float fVar5; float fVar6; float fVar7; int iVar8; void *pvVar9; int iVar10; int iVar11; longlong lVar12; longlong lVar13; float fVar14; float fVar15; float fVar16; float fVar17; float fVar18; float fVar19; fVar5 = DAT_1824c3d8c; fVar2 = DAT_1824c3c30; lVar13 = (longlong)*(int *)(param_1 + 0x2c); if (*(longlong *)(*(longlong *)(param_3 + 2) + lVar13 * 8) == 0) { iVar1 = *param_3; iVar8 = *(int *)(*(longlong *)(*(longlong *)(*(longlong *)(param_1 + 0x50) + 8) + 0x20) + lVar13 * 4) / 2; fVar18 = (float)*(int *)(param_2 + 4) * DAT_1824c3d8c; fVar14 = atanf(fVar18 * fVar18 * DAT_1824c3c30); fVar6 = DAT_1824c4220; fVar4 = DAT_1824c3c4c; fVar14 = fVar14 * DAT_1824c4220; fVar15 = atanf(fVar18 * DAT_1824c3c4c); fVar7 = DAT_1824c4410; fVar3 = DAT_1824c3c44; fVar15 = fVar15 * DAT_1824c4410; fVar18 = fVar18 * DAT_1824c3c44; pvVar9 = malloc((longlong)(iVar8 + 1) << 2); iVar11 = 0; *(void **)(*(longlong *)(param_3 + 2) + lVar13 * 8) = pvVar9; if (0 < iVar8) { lVar12 = 0; do { fVar19 = (((float)*(int *)(param_2 + 4) * fVar5) / (float)iVar8) * (float)iVar11; fVar16 = atanf(fVar19 * fVar19 * fVar2); fVar17 = atanf(fVar19 * fVar4); fVar16 = floorf((fVar16 * fVar6 + fVar17 * fVar7 + fVar19 * fVar3) * ((float)iVar1 / (fVar14 + fVar15 + fVar18))); iVar10 = (int)fVar16; if (*param_3 <= iVar10) { iVar10 = *param_3 + -1; } iVar11 = iVar11 + 1; *(int *)(lVar12 + *(longlong *)(*(longlong *)(param_3 + 2) + lVar13 * 8)) = iVar10; lVar12 = lVar12 + 4; } while (iVar11 < iVar8); } *(undefined4 *)(*(longlong *)(*(longlong *)(param_3 + 2) + lVar13 * 8) + (longlong)iVar11 * 4) = 0xffffffff; param_3[lVar13 + 4] = iVar8; } return; } ############ FUN_ 180484e70 size=273 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ int FUN_180484e70(longlong *param_1) { float fVar1; int iVar2; int iVar3; int iVar4; bool bVar5; double dVar6; float fVar7; float fVar8; uint local_res8; iVar4 = 7; fVar1 = *(float *)(*param_1 + 0xb8); if (fVar1 != 0.0) { fVar7 = (float)(double)CONCAT44((uint)((ulonglong)(double)(fVar1 - (float)(int)fVar1) >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)(fVar1 - (float)(int)fVar1),0) & (uint)DAT_1824c4f10); fVar8 = 0.0; if (0.0 <= fVar7) { fVar8 = fVar7; } fVar7 = (float)(double)CONCAT44((uint)((ulonglong)(double)(fVar7 - 0.0) >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)(fVar7 - 0.0),0) & (uint)DAT_1824c4f10); if ((fVar7 <= fVar8 * _DAT_1824c3c34) || (fVar7 < DAT_1824c3c20)) { return 0; } dVar6 = pow(DAT_1824c4270,DAT_1824c4250); local_res8 = SUB84(dVar6 * (double)fVar1 + DAT_1824c4520,0); iVar2 = (local_res8 ^ (int)local_res8 >> 0x1f) - ((int)local_res8 >> 0x1f); iVar3 = iVar2 / 10; if (iVar2 == iVar3 * 10) { do { if (iVar4 < 1) { return iVar4; } iVar4 = iVar4 + -1; bVar5 = iVar3 == (iVar3 / 10) * 10; iVar3 = iVar3 / 10; } while (bVar5); } } return iVar4; } ############ FUN_ 180557920 size=512 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_180557920(undefined8 *param_1,float param_2,float param_3,float param_4,uint param_5) { double dVar1; int iVar2; uint uVar3; int iVar4; undefined8 *puVar5; float *pfVar6; double dVar7; double extraout_XMM0_Qb; iVar2 = _DAT_1824c4880; if (param_5 == 1) { *(undefined4 *)param_1 = 0x3f800000; } else { param_4 = param_4 - param_3; iVar4 = 0; dVar1 = DAT_1824c4140 / (double)(int)(param_5 - 1); if (0 < (int)param_5) { if (1 < param_5) { uVar3 = param_5 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } puVar5 = param_1; do { dVar7 = (double)thunk_FUN_181a12fb0((double)(iVar4 + iVar2) * dVar1); iVar4 = iVar4 + 2; *puVar5 = CONCAT44((float)(extraout_XMM0_Qb * (double)param_4 + (double)param_3), (float)(dVar7 * (double)param_4 + (double)param_3)); puVar5 = puVar5 + 1; } while (iVar4 < (int)(param_5 - uVar3)); } if (iVar4 < (int)param_5) { pfVar6 = (float *)((longlong)param_1 + (longlong)iVar4 * 4); do { dVar7 = pow((double)iVar4 * dVar1,(double)param_2); iVar4 = iVar4 + 1; *pfVar6 = (float)(dVar7 * (double)param_4 + (double)param_3); pfVar6 = pfVar6 + 1; } while (iVar4 < (int)param_5); } } } return; } ############ FUN_ 18126c590 size=274 ############ void FUN_18126c590(longlong param_1,undefined8 *param_2,int param_3) { double dVar1; double dVar2; undefined1 *puVar3; ulonglong uVar4; undefined1 uVar5; uint uVar6; double dVar7; double _Y; uVar6 = 0; if (param_1 == 0) { puVar3 = (undefined1 *)0x0; } else { puVar3 = malloc(0x100); if (puVar3 == (undefined1 *)0x0) { /* WARNING: Subroutine does not return */ FUN_18126c150(param_1); } } *param_2 = puVar3; dVar2 = DAT_1824c4318; dVar1 = DAT_1824c4050; if (param_3 - 95000U < 0x2711) { do { *puVar3 = (char)uVar6; puVar3 = puVar3 + 1; uVar6 = uVar6 + 1; } while (uVar6 < 0x100); } else { _Y = (double)param_3 * DAT_1824c3d78; do { if (uVar6 - 1 < 0xfe) { dVar7 = pow((double)(int)uVar6 / dVar2,_Y); dVar7 = floor(dVar7 * dVar2 + dVar1); uVar5 = (undefined1)(int)dVar7; } else { uVar5 = (undefined1)uVar6; } uVar4 = (ulonglong)uVar6; uVar6 = uVar6 + 1; puVar3[uVar4] = uVar5; } while (uVar6 < 0x100); } return; } ############ FUN_ 18126c6b0 size=528 ############ void FUN_18126c6b0(longlong param_1,longlong *param_2,byte param_3,int param_4) { ushort uVar1; double dVar2; double dVar3; longlong lVar4; ulonglong uVar5; byte bVar6; ulonglong uVar7; uint uVar8; void *pvVar9; uint uVar10; void *pvVar11; void *pvVar12; ulonglong uVar13; uint uVar14; double dVar15; double _Y; bVar6 = 8 - param_3; uVar14 = 1 << (bVar6 & 0x1f); lVar4 = FUN_18126b5d0(param_1,(ulonglong)uVar14 << 3); pvVar9 = (void *)0x0; *param_2 = lVar4; pvVar11 = pvVar9; if (uVar14 != 0) { do { pvVar12 = pvVar9; if ((param_1 != 0) && (pvVar12 = malloc(0x200), pvVar12 == (void *)0x0)) { /* WARNING: Subroutine does not return */ FUN_18126c150(param_1); } uVar8 = (int)pvVar11 + 1; *(void **)(lVar4 + (longlong)pvVar11 * 8) = pvVar12; pvVar11 = (void *)(ulonglong)uVar8; } while (uVar8 < uVar14); } dVar3 = DAT_1824c43c8; dVar2 = DAT_1824c4050; _Y = (double)param_4 * DAT_1824c3d78; pvVar11 = pvVar9; do { uVar1 = (short)pvVar9 * 0x101; uVar8 = uVar1 + 0x80; if (uVar1 + 0x7f < 0xfffe) { dVar15 = pow((double)uVar8 / dVar3,_Y); dVar15 = floor(dVar15 * dVar3 + dVar2); uVar8 = (uint)dVar15; } uVar8 = ((uVar8 & 0xffff) * ((1 << (0x10 - param_3 & 0x1f)) + -1) + 0x8000) / 0xffff + 1; uVar10 = (uint)pvVar11; pvVar12 = pvVar11; if (uVar10 < uVar8) { uVar8 = uVar8 - uVar10; uVar13 = (ulonglong)uVar8; pvVar12 = (void *)(ulonglong)(uVar10 + uVar8); do { uVar5 = (ulonglong)pvVar11 & (ulonglong)(0xff >> (param_3 & 0x3f)); uVar7 = (ulonglong)pvVar11 >> (bVar6 & 0x3f); pvVar11 = (void *)((longlong)pvVar11 + 1); *(ushort *)(*(longlong *)(lVar4 + uVar5 * 8) + uVar7 * 2) = uVar1; uVar13 = uVar13 - 1; } while (uVar13 != 0); } uVar8 = (int)pvVar9 + 1; pvVar9 = (void *)(ulonglong)uVar8; pvVar11 = pvVar12; } while (uVar8 < 0xff); if ((uint)pvVar12 < uVar14 * 0x100) { uVar13 = (ulonglong)(uVar14 * 0x100 - (uint)pvVar12); do { uVar5 = (ulonglong)pvVar12 & (ulonglong)(uint)(0xff >> (param_3 & 0x1f)); uVar7 = (ulonglong)pvVar12 >> (bVar6 & 0x3f); pvVar12 = (void *)((longlong)pvVar12 + 1); *(undefined2 *)(*(longlong *)(lVar4 + uVar5 * 8) + uVar7 * 2) = 0xffff; uVar13 = uVar13 - 1; } while (uVar13 != 0); } return; } ############ FUN_ 18126c8d0 size=486 ############ void FUN_18126c8d0(longlong param_1,longlong *param_2,int param_3,int param_4) { double dVar1; char cVar2; double dVar3; double dVar4; uint uVar5; longlong lVar6; undefined2 *puVar7; byte bVar8; uint uVar9; uint uVar10; int iVar11; ulonglong uVar12; int iVar13; double dVar14; double _Y; cVar2 = (char)param_3; bVar8 = 8 - cVar2; uVar9 = 1 << (bVar8 & 0x1f); iVar13 = 1 << (0x10U - cVar2 & 0x1f); dVar1 = DAT_1824c4140 / (double)(iVar13 + -1); lVar6 = FUN_18126b5d0(param_1,(ulonglong)uVar9 << 3); uVar12 = 0; *param_2 = lVar6; dVar4 = DAT_1824c43c8; dVar3 = DAT_1824c4050; if (uVar9 != 0) { _Y = (double)param_4 * DAT_1824c3d78; do { if (param_1 == 0) { puVar7 = (undefined2 *)0x0; } else { puVar7 = malloc(0x200); if (puVar7 == (undefined2 *)0x0) { /* WARNING: Subroutine does not return */ FUN_18126c150(param_1); } } *(undefined2 **)(lVar6 + uVar12 * 8) = puVar7; iVar11 = (int)uVar12; if (param_4 - 95000U < 0x2711) { uVar10 = 0; do { uVar5 = (uVar10 << (bVar8 & 0x1f)) + iVar11; if (param_3 != 0) { uVar5 = (uVar5 * 0xffff + (1 << (0xfU - cVar2 & 0x1f))) / (iVar13 - 1U); } *puVar7 = (short)uVar5; uVar10 = uVar10 + 1; puVar7 = puVar7 + 1; } while (uVar10 < 0x100); } else { uVar10 = 0; do { dVar14 = pow((double)((uVar10 << (bVar8 & 0x1f)) + iVar11) * dVar1,_Y); dVar14 = floor(dVar14 * dVar4 + dVar3); uVar10 = uVar10 + 1; *puVar7 = (short)(int)dVar14; puVar7 = puVar7 + 1; } while (uVar10 < 0x100); } uVar12 = (ulonglong)(iVar11 + 1U); } while (iVar11 + 1U < uVar9); } return; } ############ FUN_ 18126caf0 size=89 ############ uint FUN_18126caf0(uint param_1,int param_2) { double dVar1; if (param_1 - 1 < 0xfffe) { dVar1 = pow((double)(int)param_1 / DAT_1824c43c8,(double)param_2 * DAT_1824c3d78); dVar1 = floor(dVar1 * DAT_1824c43c8 + DAT_1824c4050); return (int)dVar1; } return param_1 & 0xffff; } ############ FUN_ 18126cb50 size=89 ############ uint FUN_18126cb50(uint param_1,int param_2) { double dVar1; if (param_1 - 1 < 0xfe) { dVar1 = pow((double)(int)param_1 / DAT_1824c4318,(double)param_2 * DAT_1824c3d78); dVar1 = floor(dVar1 * DAT_1824c4318 + DAT_1824c4050); return (int)dVar1; } return param_1 & 0xff; } ############ FUN_ 1812e59f0 size=296 ############ double FUN_1812e59f0(longlong param_1,double param_2) { longlong lVar1; longlong *plVar2; double dVar3; double dVar4; double dVar5; double dVar6; double local_res8 [2]; double local_res18; double local_res20; dVar3 = DAT_1824c4140; lVar1 = *(longlong *)(param_1 + 0x200); local_res18 = *(double *)(lVar1 + 0xa0); local_res20 = *(double *)(lVar1 + 0x98); if (*(longlong *)(lVar1 + 0x138) == 0) { dVar6 = (param_2 - local_res20) / (local_res18 - local_res20); if (0.0 <= dVar6) { dVar4 = DAT_1824c4140; if (dVar6 <= DAT_1824c4140) { dVar4 = dVar6; } } else { dVar4 = 0.0; } dVar6 = *(double *)(lVar1 + 0xb0); if (dVar6 != DAT_1824c4140) { if (*(char *)(lVar1 + 0xb8) == '\0') { dVar4 = pow(dVar4,dVar6); } else { dVar5 = dVar4 * DAT_1824c41e8 - DAT_1824c4140; dVar4 = DAT_1824c4140; if (dVar5 < 0.0) { dVar4 = DAT_1824c46a0; } dVar6 = pow((double)CONCAT44((uint)((ulonglong)dVar5 >> 0x20) & DAT_1824c4f10._4_4_, SUB84(dVar5,0) & (uint)DAT_1824c4f10),dVar6); dVar4 = (dVar6 * dVar4 + dVar3) * DAT_1824c4050; } } } else { plVar2 = *(longlong **)(lVar1 + 0x138); local_res8[0] = param_2; if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } dVar3 = (double)(**(code **)(*plVar2 + 0x10)) (plVar2,&local_res20,&local_res18,local_res8,0xfffffffffffffffe); dVar4 = 0.0; if ((0.0 <= dVar3) && (dVar4 = DAT_1824c4140, dVar3 <= DAT_1824c4140)) { dVar4 = dVar3; } } return dVar4; } ############ FUN_ 1813ada80 size=252 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1813ada80(longlong param_1,int param_2,undefined4 param_3,undefined8 param_4) { double dVar1; longlong lVar2; undefined4 *puVar3; double dVar4; lVar2 = __RTDynamicCast(param_4,0,&juce::SynthesiserSound::RTTI_Type_Descriptor, &juce::SamplerSound::RTTI_Type_Descriptor,0); if (lVar2 != 0) { dVar4 = pow(DAT_1824c41e8,(double)(param_2 - *(int *)(lVar2 + 0x54)) / _DAT_1824c4280); dVar1 = *(double *)(lVar2 + 0x20); puVar3 = (undefined4 *)(param_1 + 0x170); *(undefined8 *)(param_1 + 0x160) = 0; *(undefined4 *)(param_1 + 0x168) = param_3; *(undefined4 *)(param_1 + 0x16c) = param_3; *(double *)(param_1 + 0x158) = (dVar4 * dVar1) / *(double *)(param_1 + 8); *(undefined8 *)(param_1 + 0x188) = *(undefined8 *)(lVar2 + 0x20); FUN_1805384c0(puVar3,lVar2 + 0x58); if ((float)puVar3[10] <= 0.0) { if ((float)puVar3[0xb] <= 0.0) { *puVar3 = 3; } else { puVar3[8] = 0x3f800000; *puVar3 = 2; } } else { *puVar3 = 1; } } return; } ############ FUN_ 1813bbbf0 size=64 ############ double FUN_1813bbbf0(double param_1,double param_2) { double dVar1; if (param_2 != 0.0) { dVar1 = pow(param_2 + DAT_1824c4140,param_1); param_1 = (dVar1 - DAT_1824c4140) / param_2; } return param_1; } ############ FUN_ 1813bbf00 size=86 ############ void FUN_1813bbf00(double param_1,undefined8 param_2,double param_3) { double dVar1; dVar1 = (double)fmax(param_2,DAT_1824c3cf8); pow(param_1,DAT_1824c4140 / (dVar1 * param_3 * DAT_1824c3e30)); return; } ############ FUN_ 180533670 size=354 ############ undefined8 * FUN_180533670(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; *param_1 = 2; *(undefined4 *)(param_1 + 1) = 0xffffffff; *(undefined4 *)((longlong)param_1 + 0xc) = 0; *(undefined4 *)(param_1 + 2) = 1; *(undefined2 *)((longlong)param_1 + 0x14) = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; *(undefined4 *)(param_1 + 10) = 0; param_1[0xb] = 0; *(undefined4 *)(param_1 + 0xc) = 0; param_1[0xd] = 0; *(undefined4 *)(param_1 + 0xe) = 0; param_1[0xf] = 0; *(undefined4 *)(param_1 + 0x10) = 0; param_1[0x11] = 0; *(undefined4 *)(param_1 + 0x12) = 0; param_1[0x13] = 0; *(undefined4 *)(param_1 + 0x14) = 0; param_1[0x15] = 0; *(undefined4 *)(param_1 + 0x16) = 0; param_1[0x17] = 0; *(undefined4 *)(param_1 + 0x18) = 0; param_1[0x19] = 0; *(undefined4 *)(param_1 + 0x1a) = 0; param_1[0x1b] = 0; *(undefined4 *)(param_1 + 0x1c) = 0; param_1[0x1d] = 0; *(undefined4 *)(param_1 + 0x1e) = 0; param_1[0x1f] = 0; *(undefined4 *)(param_1 + 0x20) = 0; param_1[0x21] = 0; *(undefined4 *)(param_1 + 0x22) = 0; param_1[0x23] = 0; *(undefined4 *)(param_1 + 0x24) = 0; param_1[0x25] = 0; *(undefined4 *)(param_1 + 0x26) = 0; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8,param_3,param_4,0xfffffffffffffffe); if (iVar1 != 0) { __std_type_info_compare(0x182650db8,0x182650a88,param_3,param_4,uVar2); } FUN_1812459c0(&DAT_182673ea0,0xffffffff); if (DAT_182673714 == '\0') { DAT_182673714 = '\x01'; FUN_180001000(); } FUN_181245930(&DAT_182673ea0); return param_1; } ############ FUN_ 180534840 size=311 ############ void FUN_180534840(longlong *param_1,uint param_2) { void *pvVar1; int iVar2; ulonglong uVar3; undefined4 *puVar4; uint uVar5; uint uVar6; uint uVar7; uVar6 = *(uint *)((longlong)param_1 + 0xc); uVar7 = param_2 - uVar6; if ((int)uVar7 < 1) { if ((int)uVar7 < 0) { uVar7 = param_2 - uVar7; uVar5 = 0; if ((-1 < (int)uVar7) && (uVar5 = uVar7, (int)uVar6 < (int)uVar7)) { uVar5 = uVar6; } if ((int)param_2 < 0) { param_2 = 0; } else if ((int)uVar6 < (int)param_2) { param_2 = uVar6; } iVar2 = uVar5 - param_2; if (0 < iVar2) { pvVar1 = (void *)(*param_1 + (longlong)(int)param_2 * 4); memmove(pvVar1,(void *)((longlong)pvVar1 + (longlong)iVar2 * 4), (longlong)(int)((uVar6 - param_2) - iVar2) << 2); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) - iVar2; iVar2 = *(int *)((longlong)param_1 + 0xc); uVar6 = 0; if (0 < iVar2 * 2) { uVar6 = iVar2 * 2; } if ((int)uVar6 < (int)param_1[1]) { if (iVar2 < 0x10) { iVar2 = 0x10; } if (iVar2 < (int)param_1[1]) { FUN_1804af790(param_1); } } } } } else { iVar2 = uVar6 + uVar7; if ((int)param_1[1] < iVar2) { FUN_1804af790(param_1,iVar2 + 8 + iVar2 / 2 & 0xfffffff8); } uVar5 = *(uint *)((longlong)param_1 + 0xc); if (uVar6 < uVar5) { pvVar1 = (void *)(*param_1 + (longlong)(int)uVar6 * 4); memmove((void *)((longlong)pvVar1 + (longlong)(int)uVar7 * 4),pvVar1, (longlong)(int)(uVar5 - uVar6) << 2); puVar4 = (undefined4 *)(*param_1 + (longlong)(int)uVar6 * 4); } else { puVar4 = (undefined4 *)(*param_1 + (longlong)(int)uVar5 * 4); } if (0 < (int)uVar7) { uVar3 = (ulonglong)uVar7; do { *puVar4 = 0; uVar3 = uVar3 - 1; puVar4 = puVar4 + 1; } while (uVar3 != 0); } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + uVar7; } return; } ############ FUN_ 180bb3de0 size=2670 ############ /* WARNING: Instruction at (ram,0x000180bb41f3) overlaps instruction at (ram,0x000180bb41f2) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000180bb43c9) */ /* WARNING: Removing unreachable block (ram,0x000180bb4349) */ /* WARNING: Removing unreachable block (ram,0x000180bb41f1) */ /* WARNING: Removing unreachable block (ram,0x000180bb3ef3) */ /* WARNING: Removing unreachable block (ram,0x000180bb3f0a) */ /* WARNING: Removing unreachable block (ram,0x000180bb42cf) */ /* WARNING: Removing unreachable block (ram,0x000180bb436d) */ /* WARNING: Removing unreachable block (ram,0x000180bb4450) */ /* WARNING: Removing unreachable block (ram,0x000180bb484a) */ /* WARNING: Removing unreachable block (ram,0x000180bb3f57) */ void FUN_180bb3de0(undefined8 *param_1) { undefined1 *puVar1; longlong lVar2; longlong lVar3; undefined8 uVar4; uint uVar5; uint uVar6; ulonglong uVar7; longlong lVar8; IMAGE_DOS_HEADER *pIVar9; longlong *plVar10; uint *puVar11; IMAGE_DOS_HEADER *pIVar12; undefined1 *puVar13; undefined4 *puVar14; uint uVar15; int iVar16; uint uVar17; int *piVar18; ulonglong uVar19; undefined8 *puVar20; uint uVar21; bool bVar22; int unaff_retaddr; undefined1 auStack_158 [32]; undefined8 local_138; uint local_128; undefined8 local_120; undefined8 local_118; uint local_110 [2]; undefined8 local_108; ulonglong local_100; int local_f8; undefined8 local_f0; int local_e8; int local_e4; int local_e0; longlong local_d8; undefined8 *local_d0; undefined8 local_c8; undefined8 *local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; code *local_a0; longlong local_98; undefined **local_90; code *local_88; undefined ***local_58; undefined4 local_48; ulonglong local_38; local_b8 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_158; *param_1 = pace::dlc::DlcQueue::vftable; param_1[3] = 1; local_b0 = 1000000; local_a8 = 1000000; local_c8 = 1000000; local_a0 = FUN_180bbed40; local_90 = std::_Func_impl_no_alloc::vftable; local_88 = FUN_180bbed40; local_58 = &local_90; local_138 = DAT_182670268; local_d0 = param_1; local_c0 = param_1; FUN_180bc8cd0(param_1 + 4,&local_90,param_1); *(undefined4 *)(param_1 + 0x23) = 0; *(undefined2 *)((longlong)param_1 + 0x11c) = 0; FUN_180bd2460(param_1 + 0x3e,DAT_182670270); local_e4 = 0xd70; local_e0 = 0x610; LOCK(); bVar22 = DAT_182670278 == 0; if (bVar22) { DAT_182670278 = 1; } UNLOCK(); while (!bVar22) { LOCK(); bVar22 = DAT_182670278 == 0; if (bVar22) { DAT_182670278 = 1; } UNLOCK(); } lVar2 = _Query_perf_frequency(); lVar3 = _Query_perf_counter(); local_d8 = ((lVar3 % lVar2) * 1000000000) / lVar2 + (lVar3 / lVar2) * 1000000000; pIVar9 = &IMAGE_DOS_HEADER_180000000; local_f0 = 0; local_120 = 0x16ce904; local_108 = 0x1816ce904; local_118 = 0x18170e804; local_98 = local_d8; do { FUN_180bb5c35(0x6318); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { FUN_180bb4e19(0x6318); lVar2 = local_108; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_120 = 0xd3bf000a444ef9ff; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_110[0] = 0x10c51683; local_108 = CONCAT44(local_108._4_4_,0x13534) ^ 0xc6a592a7; uVar5 = (uint)lVar2 & 0x5ff; uVar5 = (uVar5 - 1) * uVar5 - 1 & 1; puVar14 = (undefined4 *) ((((ulonglong)((int)(-uVar5 | uVar5) >> 0x1f & 0x2ea1) ^ 0x2da1) - 0x304) + lVar2); local_100 = CONCAT44(local_100._4_4_,(int)puVar14); uVar6 = (uint)local_118; uVar5 = ((uVar6 & 0xff) + 1) * (uVar6 & 0xff) + 0x2e0b & 0x80000001; local_f8 = (int)(-uVar5 | uVar5) >> 0x1f; local_f0 = CONCAT44(local_f0._4_4_,((uVar6 & 0x18ff) - 1) * (uVar6 & 0x18ff)) & 0xffffffff00000001 ; uVar5 = ((uVar6 & 0xcff) * (uVar6 & 0xcff) * 0x10 + 4) % 0x13; uVar5 = ((int)(-uVar5 | uVar5) >> 0x1f) >> ((byte)local_118 & 0x1f); uVar21 = uVar6 & 0x6f; local_128 = ((uVar6 & 0x20ff) + 1) * (uVar6 & 0x20ff) & 0x80000001; uVar5 = (int)(-uVar5 | uVar5) >> 0x1f; local_118 = CONCAT44(local_118._4_4_,uVar5); local_d0 = (undefined8 *)(ulonglong)(uVar6 ^ 0x7b12); uVar19 = local_100; LAB_180bb4398: puVar20 = local_c0; if (((uint)uVar19 >> 8 & 1) == 0) { uVar6 = local_110[0] & 0x2f; uVar6 = 0x51e << ((byte)((int)(uVar6 * uVar6 * (uVar6 + 1) * (uVar6 + 1) & 0x80000003) >> ((byte)uVar19 & 0x1f)) & 0x1f); } else { uVar6 = 0x51e; } uVar17 = local_110[0] & 0x3f; uVar15 = (((local_110[0] & 0x1cff) + 1) * (local_110[0] & 0x1cff) + 7) % 0x51; puVar14 = (undefined4 *) ((longlong)puVar14 + (longlong)(int)((local_f8 - ((int)(-uVar15 | uVar15) >> 0x1f)) + 0x59eU ^ uVar6) + ((longlong) (int)((int)local_f0 + 0xdf10 + (uVar17 * uVar17 * (uVar17 + 1) * (uVar17 + 1) & 0x80000003)) ^ 0xffffffffffff2094U)); uVar15 = (uint)puVar14; uVar19 = (ulonglong)puVar14 & 0xffffffff; uVar6 = uVar15 & 0x2ff; iVar16 = (uVar6 + 2) * (uVar6 + 1) * uVar6; if ((int)local_d0 - ((uVar15 ^ 0x2812) & uVar5 & 0xa8ff | uVar15 ^ 0x7b12) == (((iVar16 >> 1) - (iVar16 >> 3)) + iVar16 * 0x55555555 >> 0x1e & local_128 | uVar21 * uVar21 * (uVar21 + 1) * (uVar21 + 1) & 0x80000003)) { lVar2 = (longlong)local_e4; do { puVar11 = local_110; uVar5 = FUN_180bb1b1d(&LAB_18113e030); *puVar11 = uVar5; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = (local_110[0] >> 0x10 ^ local_110[0]) >> 1 & 0x3fff; uVar5 = (uVar5 << 0x10 | uVar5) * 2 ^ local_110[0]; uVar6 = uVar5 >> 4 | uVar5 << 0x1c; uVar5 = (uVar6 >> 8 ^ uVar6) & 7; if (~(((uVar5 << 8 | uVar5) ^ uVar6) + 0x72ad52d4) != (uint)local_120) { lVar3 = FUN_180bb8910(); FUN_180bd8160(local_d8,lVar3,1,puVar20 + 1); thunk_FUN_1805a9280(lVar2,(longlong)thunk_FUN_1805a9280 - ((lVar3 - 0x180bc2890U ^ 0xffffffffffffffff) + 1), thunk_FUN_1805a9280); return; } uVar4 = FUN_180bb8910(); FUN_180bd8160(local_d8,uVar4,1,puVar20 + 1); lVar3 = (longlong)local_e0; puVar1 = auStack_158; do { puVar13 = puVar1; *(undefined8 *)(puVar13 + -8) = 0x180bb4728; lVar8 = lVar3; FUN_180bb51aa(); *(longlong *)(puVar13 + -8) = lVar2; *(undefined8 **)(puVar13 + -0x10) = puVar20; *(BADSPACEBASE **)(puVar13 + -0x18) = register0x00000020; lVar8 = -lVar8; register0x00000020 = *(BADSPACEBASE **)(puVar13 + lVar8 + 0x5f8); puVar20 = *(undefined8 **)(puVar13 + lVar8 + 0x600); lVar2 = *(longlong *)(puVar13 + lVar8 + 0x608); uVar5 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } puVar1 = puVar13 + lVar8 + 0x610; } while (uVar5 != 0); LOCK(); *(undefined4 *)(puVar13 + lVar8 + 0x610) = *(undefined4 *)(puVar13 + lVar8 + 0x610); UNLOCK(); DAT_182670278 = 0; *(undefined **)(puVar13 + lVar8 + 0x608) = &UNK_180bb490d; } if ((pIVar9 != (IMAGE_DOS_HEADER *)0x0) && (lVar2._0_1_ = pIVar9->e_magic[0], lVar2._1_1_ = pIVar9->e_magic[1], lVar2._2_2_ = pIVar9->e_cblp, lVar2._4_2_ = pIVar9->e_cp, lVar2._6_2_ = pIVar9->e_crlc, -1 < lVar2)) { local_100 = 0x2621fc0; pIVar12 = pIVar9; do { if (puVar14 < IMAGE_DOS_HEADER_180000000.e_magic + lVar2 + 8) { pIVar9 = pIVar12; if (-1 < lVar2) { plVar10 = (longlong *)(lVar2 + 0x180000000); if (plVar10 < puVar14 + 1) { local_48 = *puVar14; goto LAB_180bb4560; } } break; } pIVar9 = (IMAGE_DOS_HEADER *)&pIVar12->e_cparhdr; lVar2._0_2_ = pIVar12->e_cparhdr; lVar2._2_2_ = pIVar12->e_minalloc; lVar2._4_2_ = pIVar12->e_maxalloc; lVar2._6_2_ = pIVar12->e_ss; pIVar12 = pIVar9; } while (-1 < lVar2); } goto LAB_180bb4590; while (plVar10 = (longlong *)(lVar2 + 0x180000000), plVar10 < puVar14 + 1) { LAB_180bb4560: *(longlong *)(&stack0x00017fffffb8 + (lVar2 - (longlong)puVar14)) = *plVar10 + -0x180000000; pIVar12 = (IMAGE_DOS_HEADER *)&pIVar12->e_cparhdr; lVar2 = *(longlong *)pIVar12; if (lVar2 < 0) break; } LAB_180bb4590: do { piVar18 = &local_e8; uVar7 = 0; do { iVar16 = FUN_180bafbe4(); *piVar18 = iVar16; } while ((uVar7 & 0xc3) != 0); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_110[0] = (local_110[0] + local_e8) * (int)local_108; local_110[0] = local_110[0] ^ local_110[0] >> 0x10; uVar5 = (uint)local_118; goto LAB_180bb4398; } ############ FUN_ 180bb7220 size=1604 ############ /* WARNING: Instruction at (ram,0x000180bb74c5) overlaps instruction at (ram,0x000180bb74c2) */ /* WARNING: Removing unreachable block (ram,0x000180bb74c2) */ /* WARNING: Removing unreachable block (ram,0x000180bb725a) */ /* WARNING: Removing unreachable block (ram,0x000180bb7289) */ /* WARNING: Removing unreachable block (ram,0x000180bb78bc) */ undefined1 * FUN_180bb7220(undefined8 param_1,int param_2,longlong param_3) { longlong lVar1; undefined1 *puVar2; uint uVar3; uint uVar4; int iVar5; undefined1 *puVar6; longlong lVar7; undefined1 *puVar8; uint uVar9; ulonglong uVar10; undefined8 in_R11; int unaff_retaddr; undefined1 auStack_78 [32]; undefined4 *local_58; uVar3 = (uint)&stack0x00000000 & 0x13f; uVar9 = ((uVar3 + 2) * (uVar3 + 1) * uVar3) % 3; uVar10 = (ulonglong)uVar9; uVar9 = uVar9 ^ 0x592e; uVar3 = (uint)&stack0x00000000 & 0x12ff; uVar3 = uVar3 * uVar3 * 0x10 + 4; local_58 = &DAT_1815dcd28; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((DAT_1815dce20 ^ (((((((((((((((((((((((((((((((((((((((((((((((((((DAT_1815dcd54 ^ (DAT_1815dcd50 ^ (DAT_1815dcd4c ^ (DAT_1815dcd48 ^ (DAT_1815dcd44 ^ (DAT_1815dcd40 ^ (DAT_1815dcd3c ^ (DAT_1815dcd38 ^ (DAT_1815dcd34 ^ (DAT_1815dcd30 ^ (DAT_1815dcd2c ^ (DAT_1815dcd28 ^ 0x811c9e07) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7 ^ DAT_1815dcd58) * 0x10001a7 ^ DAT_1815dcd5c) * 0x10001a7 ^ DAT_1815dcd60) * 0x10001a7 ^ DAT_1815dcd64 ) * 0x10001a7 ^ DAT_1815dcd68) * 0x10001a7 ^ DAT_1815dcd6c) * 0x10001a7 ^ DAT_1815dcd70) * 0x10001a7 ^ DAT_1815dcd74) * 0x10001a7 ^ DAT_1815dcd78) * 0x10001a7 ^ DAT_1815dcd7c) * 0x10001a7 ^ DAT_1815dcd80) * 0x10001a7 ^ DAT_1815dcd84) * 0x10001a7 ^ DAT_1815dcd88) * 0x10001a7 ^ DAT_1815dcd8c) * 0x10001a7 ^ DAT_1815dcd90) * 0x10001a7 ^ DAT_1815dcd94) * 0x10001a7 ^ DAT_1815dcd98) * 0x10001a7 ^ DAT_1815dcd9c) * 0x10001a7 ^ DAT_1815dcda0) * 0x10001a7 ^ DAT_1815dcda4) * 0x10001a7 ^ DAT_1815dcda8) * 0x10001a7 ^ DAT_1815dcdac) * 0x10001a7 ^ DAT_1815dcdb0) * 0x10001a7 ^ DAT_1815dcdb4) * 0x10001a7 ^ DAT_1815dcdb8) * 0x10001a7 ^ DAT_1815dcdbc) * 0x10001a7 ^ DAT_1815dcdc0) * 0x10001a7 ^ DAT_1815dcdc4) * 0x10001a7 ^ DAT_1815dcdc8) * 0x10001a7 ^ DAT_1815dcdcc) * 0x10001a7 ^ DAT_1815dcdd0) * 0x10001a7 ^ DAT_1815dcdd4) * 0x10001a7 ^ DAT_1815dcdd8) * 0x10001a7 ^ DAT_1815dcddc) * 0x10001a7 ^ DAT_1815dcde0) * 0x10001a7 ^ DAT_1815dcde4) * 0x10001a7 ^ DAT_1815dcde8) * 0x10001a7 ^ DAT_1815dcdec) * 0x10001a7 ^ DAT_1815dcdf0) * 0x10001a7 ^ DAT_1815dcdf4) * 0x10001a7 ^ DAT_1815dcdf8) * 0x10001a7 ^ DAT_1815dcdfc) * 0x10001a7 ^ DAT_1815dce00) * 0x10001a7 ^ DAT_1815dce04) * 0x10001a7 ^ DAT_1815dce08) * 0x10001a7 ^ DAT_1815dce0c) * 0x10001a7 ^ DAT_1815dce10) * 0x10001a7 ^ DAT_1815dce14) * 0x10001a7 ^ DAT_1815dce18) * 0x10001a7 ^ DAT_1815dce1c) * 0x10001a7) * 0x10001a7 ^ DAT_1815dce24) * 0x10001a7 ^ 0xe1b52eae; uVar4 = (uVar4 >> 0xb | uVar4 << 0x15) + 0xba4abab4; uVar4 = uVar4 * 0x40000 | uVar4 >> 0xe; uVar4 = ~uVar4 & 0x14dd2923 | uVar4 & 0xeb22d6dc; if ((uVar4 & 0x7ffffff) != 0 || uVar4 != 0) { puVar2 = (undefined1 *)FUN_180bb78cb(0xb10,thunk_FUN_1805a9280,uVar10,uVar9); return puVar2; } lVar7 = (longlong) (int)((0 >> ((char)uVar3 + (char)(uVar3 / 0x13) * -0x13 & 0x1fU)) + 0x57beU ^ uVar9); puVar2 = auStack_78; do { puVar6 = puVar2; *(undefined8 *)(puVar6 + -8) = in_R11; *(ulonglong *)(puVar6 + -0x10) = uVar10; *(longlong *)(puVar6 + -0x18) = lVar7; iVar5 = param_2 + uVar4; param_2 = (uVar4 - iVar5 ^ 0xffffffff) + 1; lVar1 = -lVar7; uVar4 = (~(iVar5 - param_2) + 1U ^ 0xffffffff) + 1; lVar7 = *(longlong *)(puVar6 + lVar1 + 0xe78); uVar10 = *(ulonglong *)(puVar6 + lVar1 + 0xe80); in_R11 = *(undefined8 *)(puVar6 + lVar1 + 0xe88); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } puVar2 = puVar6 + lVar1 + 0xe90; } while (uVar3 != 0); puVar2 = *(undefined1 **)(puVar6 + lVar1 + 0xf10); if (param_3 != 0) { puVar8 = puVar2; for (; param_3 != 0; param_3 = param_3 + -1) { *puVar8 = (char)param_2; puVar8 = puVar8 + 1; } } return puVar2; } ############ FUN_ 180809b20 size=3073 ############ /* WARNING: Instruction at (ram,0x00018080a4cf) overlaps instruction at (ram,0x00018080a4cb) */ /* WARNING: Removing unreachable block (ram,0x00018080a23c) */ /* WARNING: Removing unreachable block (ram,0x000180809e28) */ /* WARNING: Removing unreachable block (ram,0x000180809e3a) */ /* WARNING: Removing unreachable block (ram,0x000180809e38) */ /* WARNING: Removing unreachable block (ram,0x000180809e40) */ /* WARNING: Removing unreachable block (ram,0x000180809b6a) */ /* WARNING: Removing unreachable block (ram,0x00018080a0c4) */ /* WARNING: Removing unreachable block (ram,0x00018080a73a) */ /* WARNING: Removing unreachable block (ram,0x00018080a185) */ /* WARNING: Removing unreachable block (ram,0x00018080a207) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ ulonglong FUN_180809b20(longlong param_1,longlong param_2) { uint uVar1; ulonglong uVar2; int iVar3; ulonglong uVar4; longlong lVar5; longlong lVar6; undefined1 *puVar7; longlong lVar8; uint uVar9; uint uVar10; ulonglong uVar12; longlong lVar13; ulonglong uVar14; uint uVar15; int *piVar16; int unaff_retaddr; undefined1 auStack_c8 [32]; undefined4 *local_a8; longlong local_a0; longlong local_98; undefined **local_90; int local_88; longlong local_80; undefined2 local_78; undefined **local_70; int local_68; longlong local_60; undefined2 local_58; ulonglong uVar11; puVar7 = auStack_c8; local_98 = *(longlong *)(param_1 + 0xce8); uVar1 = (uint)&stack0x00000000 & 0x3ff; uVar9 = (uint)&stack0x00000000 & 0x4aff; iVar3 = (uVar1 + 2) * (uVar1 + 1) * uVar1; uVar1 = ((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e ^ (uVar9 * uVar9 + 1) % 7; local_88 = *(int *)(param_2 + 8); local_70 = license_services::LsRelation::vftable; local_80 = *(longlong *)(param_2 + 0x10); uVar12 = (ulonglong)(((int)(-uVar1 | uVar1) >> 0x1f) * -0x9da7 ^ 0x9037); local_78 = *(undefined2 *)(param_2 + 0x18); local_a0 = *(longlong *)(param_1 + 0xcf0); for (lVar8 = local_98; (lVar8 != local_a0 && ((*(int *)(lVar8 + 8) != local_88 || (*(longlong *)(lVar8 + 0x10) != local_80)))); lVar8 = lVar8 + 0x20) { } local_90 = license_services::LsRelation::vftable; local_a8 = &DAT_1813ee12c; uVar1 = DAT_1813ee130 ^ DAT_1813ee12c >> 0x1c ^ (DAT_1813ee12c ^ 0xb50) << 4; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar1 = DAT_1813ee134 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee138 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee13c ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee140 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee144 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee148 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee14c ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee150 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee154 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee158 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee15c ^ uVar1 >> 0x1c ^ uVar1 << 4; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar1 = DAT_1813ee160 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee164 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee168 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee16c ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee170 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee174 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee178 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee17c ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee180 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee184 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee188 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee18c ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee190 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = DAT_1813ee194 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = _DAT_1813ee198 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = _DAT_1813ee19c ^ uVar1 >> 0x1c ^ uVar1 << 4; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar1 = _DAT_1813ee1a0 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = _DAT_1813ee1a4 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar15 = _LAB_1813ee1a8 ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = uVar15 & 0x4f; uVar10 = (uVar1 + 1) * (uVar1 + 1) * uVar1 * uVar1 & 0x80000003; uVar11 = (ulonglong)uVar10; uVar1 = uVar15 & 0x7f | 0x51; uVar9 = uVar15 & 0x3bf; iVar3 = (uVar9 + 2) * (uVar9 + 1) * uVar9; lVar6 = ((longlong)(int)uVar10 ^ 0xffffffffffffffb4U) + 0x7c + ((longlong)(0xa26c << (uVar1 * uVar1 * 0xc005 == 0x3ad66bb)) ^ ((longlong) (iVar3 + (iVar3 / 3 + (iVar3 >> 0x1f) + (int)(((longlong)iVar3 / 3 + ((longlong)iVar3 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3 << ((byte)uVar15 & 0x1f)) | 0xa23cU)); uVar1 = *(uint *)(lVar6 + 0x1813ee12c) ^ uVar15 >> 0x1c ^ uVar15 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee130) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee134) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee138) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee13c) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee140) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee144) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee148) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee14c) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee150) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee154) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee158) ^ uVar1 >> 0x1c ^ uVar1 << 4; local_68 = local_88; local_60 = local_80; local_58 = local_78; do { FUN_180809ac5(0x582c); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar1 = *(uint *)(lVar6 + 0x1813ee15c) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee160) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee164) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee168) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee16c) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee170) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee174) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee178) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee17c) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee180) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee184) ^ uVar1 >> 0x1c ^ uVar1 << 4; do { uVar2 = 0; *(undefined8 *)(puVar7 + -8) = 0x18080a4c0; FUN_180809978(); uVar12 = -uVar12; if ((uVar2 & 0xc2) == 0) { uVar12 = uVar12 ^ 0xffffffffffffffff; } else { *(undefined8 *)(puVar7 + -8) = 0x18080a4d0; func_0x0001c9fd16f0(); puVar7 = (undefined1 *)(ulonglong)((uint)puVar7 ^ 0xffffffff); } uVar12 = uVar12 + 1; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); lVar5 = *(longlong *)(puVar7 + 0xd0); uVar1 = *(uint *)(lVar6 + 0x1813ee188) ^ uVar1 >> 0x1c ^ uVar1 << 4; piVar16 = (int *)(puVar7 + 200); do { uVar9 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = uVar1 << 4; uVar2 = (ulonglong)uVar9; uVar9 = *(uint *)(lVar6 + 0x1813ee18c) ^ uVar1 >> 0x1c ^ uVar9; uVar1 = *(uint *)(lVar6 + 0x1813ee190) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar1 = *(uint *)(lVar6 + 0x1813ee194) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = *(uint *)(&DAT_1813ee198 + lVar6) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar9 = *(uint *)(&DAT_1813ee19c + lVar6) ^ uVar1 >> 0x1c ^ uVar1 << 4; uVar1 = uVar9 << 4; uVar4 = (ulonglong)uVar1; uVar1 = *(uint *)(&DAT_1813ee1a0 + lVar6) ^ uVar9 >> 0x1c ^ uVar1; uVar1 = uVar1 >> 0x1c ^ uVar1 << 4 ^ *(uint *)(&DAT_1813ee1a4 + lVar6); uVar9 = uVar1 << 4; uVar14 = (ulonglong)uVar9; uVar9 = (*(uint *)(&LAB_1813ee1a8 + lVar6) ^ uVar1 >> 0x1c ^ uVar9) + 0x7a23cb7b; uVar1 = uVar9 >> 9; uVar9 = uVar9 * 0x800000 | uVar1; uVar1 = *(uint *)(puVar7 + 0xe0) ^ ((uVar1 << 0x10 | uVar9 >> 0x10) & 0xdab0254f | (uVar9 >> 0x10 | uVar1 << 0x10) & 0x254fdab0) + 0xb19d0a6b; if (uVar1 != uVar1 >> 4) { *(undefined8 *)(puVar7 + -8) = 0x18080a718; FUN_18080c3d9(0xda0); *(ulonglong *)(puVar7 + -8) = uVar4; *(ulonglong *)(puVar7 + -0x10) = uVar14; *(ulonglong *)(puVar7 + -0x18) = uVar12; uVar12 = FUN_18080a77c(); return uVar12; } do { *(undefined8 *)(puVar7 + -8) = 0x18080a63b; lVar6 = (longlong)(int)uVar12; FUN_180808b48(); *(ulonglong *)(puVar7 + -8) = uVar11; *(int **)(puVar7 + -0x10) = piVar16; *(ulonglong *)(puVar7 + -0x18) = uVar2; lVar13 = lVar5 + uVar14; uVar4 = ~(uVar14 - lVar13); lVar5 = uVar4 + 1; uVar14 = lVar13 - lVar5; lVar6 = -lVar6; uVar2 = *(ulonglong *)(puVar7 + lVar6 + 0xd78); piVar16 = *(int **)(puVar7 + lVar6 + 0xd80); uVar11 = *(ulonglong *)(puVar7 + lVar6 + 0xd88); puVar7 = puVar7 + lVar6 + 0xd90; iVar3 = *piVar16; uVar1 = (iVar3 + 1) * iVar3 & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); return (ulonglong)CONCAT31((int3)((uint)iVar3 >> 8),lVar8 != *(longlong *)(uVar4 + 0xcf1)); } ############ FUN_ 18093db89 size=1163 ############ /* WARNING: Instruction at (ram,0x00018093ddc3) overlaps instruction at (ram,0x00018093ddbe) */ /* WARNING: Removing unreachable block (ram,0x00018093dbfe) */ void FUN_18093db89(void) { longlong lVar1; undefined4 in_EAX; undefined4 uVar2; int iVar3; void *_Memory; uint uVar4; int iVar5; ulonglong uVar6; undefined1 *puVar7; longlong unaff_RBX; undefined1 *puVar8; longlong unaff_RBP; longlong lVar9; int *unaff_RDI; int *piVar10; undefined4 *puVar11; undefined4 *in_R9; longlong in_R10; undefined8 in_R11; undefined1 *puVar12; undefined1 *puVar13; int unaff_R13D; undefined1 *unaff_R14; longlong lVar14; LPCWSTR unaff_R15; int unaff_retaddr; undefined1 local_res8 [32]; *in_R9 = in_EAX; puVar7 = local_res8; uVar4 = (*unaff_RDI + 1) * *unaff_RDI & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } if (uVar4 != 0) { FUN_18093db89(0xef0c,unaff_RBX + 0xa4,0); return; } *(uint *)(unaff_RBP + 0x58) = (*(uint *)(unaff_RBX + 0xb0) ^ (*(uint *)(unaff_RBX + 0xac) ^ (*(int *)(unaff_RBP + 0x58) * 0x1000181 ^ *(uint *)(unaff_RBX + 0xa8)) * 0x1000181) * 0x1000181) * 0x1000181; *(undefined8 *)(unaff_RBP + -0x20) = 0x430a33282f8c7d72; *(int *)(unaff_RBP + -0x28) = (int)*(undefined8 *)(unaff_RBP + -0x20); do { *(uint *)(unaff_RBP + 0x58) = *(uint *)(unaff_RBP + 0x58) ^ *(uint *)(unaff_RBX + 0xb4); uVar4 = (*(int *)(unaff_RBP + 0x38) + 1) * *(int *)(unaff_RBP + 0x38) & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); *(int *)(unaff_RBP + 0x58) = *(int *)(unaff_RBP + 0x58) * 0x1000181; puVar13 = *(undefined1 **)(unaff_RBP + 0x40); piVar10 = (int *)(unaff_RBP + 0x38); do { FUN_18093e29a(0xef0c); puVar12 = puVar13 + in_R10; in_R10 = ~((longlong)puVar13 - (longlong)puVar12) + 1; puVar13 = puVar12 + -in_R10; uVar4 = (*piVar10 + 1) * *piVar10 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); *(uint *)(unaff_RBP + 0x58) = (*(uint *)(unaff_RBX + 0xe0) ^ (*(uint *)(unaff_RBX + 0xdc) ^ (*(uint *)(unaff_RBX + 0xd8) ^ (*(uint *)(unaff_RBX + 0xd4) ^ (*(uint *)(unaff_RBX + 0xd0) ^ (*(uint *)(unaff_RBX + 0xcc) ^ (*(uint *)(unaff_RBX + 200) ^ (*(uint *)(unaff_RBX + 0xc4) ^ (*(uint *)(unaff_RBX + 0xc0) ^ (*(uint *)(unaff_RBX + 0xbc) ^ (*(uint *)(unaff_RBX + 0xb8) ^ *(uint *)(unaff_RBP + 0x58)) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; do { uVar6 = 0xef0c; *(undefined8 *)(puVar7 + -8) = 0x18093ddaa; FUN_18093db88(); puVar12 = puVar13 + (longlong)unaff_R14; puVar13 = (undefined1 *)-((longlong)unaff_R14 - (longlong)puVar12); if ((uVar6 & 0xc300) == 0) { puVar7 = (undefined1 *)(ulonglong)(uint)((int)puVar7 - unaff_retaddr); } else { puVar12 = puVar12 + ((longlong)unaff_R14 - (longlong)puVar12); } uVar4 = (*piVar10 + 1) * *piVar10 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } unaff_R14 = puVar12; } while (uVar4 != 0); iVar5 = (*(uint *)(unaff_RBX + 0xfc) ^ (*(uint *)(unaff_RBX + 0xf8) ^ (*(uint *)(unaff_RBX + 0xf4) ^ (*(uint *)(unaff_RBX + 0xf0) ^ (*(uint *)(unaff_RBX + 0xec) ^ (*(uint *)(unaff_RBX + 0xe8) ^ (*(uint *)(unaff_RBX + 0xe4) ^ *(uint *)(unaff_RBP + 0x58)) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; *(int *)(unaff_RBP + 0x58) = iVar5; *(int *)(unaff_RBP + -0x30) = iVar5; do { puVar11 = (undefined4 *)(unaff_RBP + -0x30); *(undefined8 *)(puVar7 + -8) = 0x18093de71; uVar2 = FUN_1809826c7(&LAB_18113e030,&LAB_18113e030); *puVar11 = uVar2; uVar4 = (*piVar10 + 1) * *piVar10 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = *(int *)(unaff_RBP + -0x30) + 0x2e885f95; uVar4 = ~(uVar4 * 0x1000 | uVar4 >> 0x14) + 0xb443fe60; *(uint *)(unaff_RBP + 0x58) = (uVar4 >> 0xb | uVar4 * 0x200000) + 0x5a9ffed2; uVar4 = ~(*(uint *)(unaff_RBP + -0x28) & *(uint *)(unaff_RBP + 0x58)); uVar4 = ~(~(uVar4 & *(uint *)(unaff_RBP + -0x28)) & ~(uVar4 & *(uint *)(unaff_RBP + 0x58))); uVar6 = (ulonglong)uVar4; if (uVar4 != 0) { *(undefined8 *)(puVar7 + -8) = 0x18093df08; FUN_18093df88(); *(ulonglong *)(puVar7 + -8) = uVar6; *(undefined4 **)(puVar7 + -0x10) = in_R9; *(int **)(puVar7 + -0x18) = piVar10; FUN_18093df89(); return; } lVar9 = 0; do { puVar8 = puVar7; *(LPCWSTR *)(puVar8 + -8) = unaff_R15; *(undefined8 *)(puVar8 + -0x10) = in_R11; *(int **)(puVar8 + -0x18) = piVar10; puVar7 = puVar12 + lVar9; puVar12 = (undefined1 *)((lVar9 - (longlong)puVar7 ^ 0xffffffffffffffffU) + 1); iVar5 = (int)puVar12; lVar9 = ~(~((longlong)puVar7 - (longlong)puVar12) + 1U) + 1; lVar1 = -(longlong)unaff_R13D; piVar10 = *(int **)(puVar8 + lVar1 + 0x208); in_R11 = *(undefined8 *)(puVar8 + lVar1 + 0x210); unaff_R15 = *(LPCWSTR *)(puVar8 + lVar1 + 0x218); uVar4 = (*piVar10 + 1) * *piVar10 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } puVar7 = puVar8 + lVar1 + 0x220; } while (uVar4 != 0); lVar9 = -1; if (iVar5 == 0) { lVar14 = -1; do { lVar14 = lVar14 + 1; } while (unaff_R15[lVar14] != L'\0'); iVar5 = (int)lVar14 + 1; } *(undefined8 *)(puVar8 + lVar1 + 600) = 0; *(undefined8 *)(puVar8 + lVar1 + 0x250) = 0; *(undefined4 *)(puVar8 + lVar1 + 0x248) = 0; *(undefined8 *)(puVar8 + lVar1 + 0x240) = 0; *(undefined8 *)(puVar8 + lVar1 + 0x218) = 0x18093e208; iVar3 = WideCharToMultiByte(0xfde9,0,unaff_R15,iVar5,*(LPSTR *)(puVar8 + lVar1 + 0x240), *(int *)(puVar8 + lVar1 + 0x248),*(LPCSTR *)(puVar8 + lVar1 + 0x250), *(LPBOOL *)(puVar8 + lVar1 + 600)); *(undefined8 *)(puVar8 + lVar1 + 0x218) = 0x18093e215; _Memory = (void *)thunk_FUN_1811316e0((longlong)(iVar3 + 2)); *(void **)(unaff_RBP + -8) = _Memory; *(undefined8 *)(puVar8 + lVar1 + 600) = 0; *(undefined8 *)(puVar8 + lVar1 + 0x250) = 0; *(int *)(puVar8 + lVar1 + 0x248) = iVar3; *(void **)(puVar8 + lVar1 + 0x240) = _Memory; *(undefined8 *)(puVar8 + lVar1 + 0x218) = 0x18093e242; iVar5 = WideCharToMultiByte(0xfde9,0,unaff_R15,iVar5,*(LPSTR *)(puVar8 + lVar1 + 0x240), *(int *)(puVar8 + lVar1 + 0x248),*(LPCSTR *)(puVar8 + lVar1 + 0x250), *(LPBOOL *)(puVar8 + lVar1 + 600)); *(undefined1 *)((longlong)iVar5 + (longlong)_Memory) = 0; *(undefined8 *)(puVar13 + 0x10) = 0; *(undefined8 *)(puVar13 + 0x18) = 0xf; *puVar13 = 0; do { lVar9 = lVar9 + 1; } while (*(char *)((longlong)_Memory + lVar9) != '\0'); *(undefined8 *)(puVar8 + lVar1 + 0x218) = 0x18093e277; FUN_1805a6cb0(puVar13,_Memory,lVar9); /* WARNING: Subroutine does not return */ *(undefined **)(puVar8 + lVar1 + 0x218) = &UNK_18093e280; free(_Memory); } ############ FUN_ 180603ca0 size=2789 ############ /* WARNING: Removing unreachable block (ram,0x000180603d7e) */ /* WARNING: Removing unreachable block (ram,0x000180604611) */ void FUN_180603ca0(void) { undefined8 uVar1; undefined1 *puVar2; ulonglong uVar3; undefined8 uVar4; uint uVar5; int iVar6; uint *puVar7; uint uVar8; uint uVar9; ulonglong uVar10; ulonglong uVar11; longlong lVar12; undefined1 *puVar13; undefined1 *puVar14; uint uVar15; uint uVar16; longlong lVar17; ulonglong uVar18; int unaff_retaddr; undefined4 unaff_retaddr_00; uint local_res8 [2]; undefined8 local_res10; undefined8 local_res18; code *local_res20; undefined1 auStack_68 [32]; undefined8 local_48; puVar13 = auStack_68; if (((ulonglong)&stack0x00000000 & 0xec0) == 0) { uVar5 = (uint)&stack0x00000000 & 0x1ff; iVar6 = (uVar5 + 2) * (uVar5 + 1) * uVar5; uVar5 = 0xb377 - (((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e); } else { uVar5 = 0xb377; } uVar18 = (ulonglong)(uVar5 ^ 0xba17); uVar4 = 0x300; local_res18 = 0x100; local_48 = 0x18146c460; local_res10 = 0x18146c560; uVar8 = uRam000000018146c464 ^ uRam000000018146c460 >> 0x1c ^ (uRam000000018146c460 ^ 0xc10) << 4; uVar8 = uRam000000018146c468 ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = uRam000000018146c46c ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = uRam000000018146c470 ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = uRam000000018146c474 ^ uVar8 >> 0x1c ^ uVar8 << 4; iVar6 = (uVar8 & 0x42ff) * (uVar8 & 0x42ff) + 1; iVar6 = (iVar6 >> 4) + (iVar6 >> 1) + iVar6 * 0x24924924; uVar11 = (0L >> ((byte)((iVar6 >> 0x1d) + -7 >> 0x1f) & (byte)(iVar6 >> 0x1d) & 0x1f) | 0x48feU) ^ 0x48de; uVar8 = *(uint *)(uVar11 + 0x18146c458) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(uVar11 + 0x18146c45c) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(uVar11 + 0x18146c460) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(uVar11 + 0x18146c464) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(uVar11 + 0x18146c468) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar9 = *(uint *)(uVar11 + 0x18146c46c) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = (int)uVar11 + 0x10U & 0x1f | 0x14; uVar16 = *(uint *)(uVar11 + 0x18146c470) ^ uVar9 >> 0x1c ^ uVar9 << 4; uVar15 = uVar8 * uVar8 * 0xfbb7 ^ 0x19b52e87; uVar8 = (int)uVar11 + 0x10U & 0x2cff; uVar9 = -1 >> ((byte)uVar16 & 0x1f); lVar12 = (uVar11 - 0x16c) + (0x11faL >> ((char)((byte)(-(((uVar8 + 1) * uVar8 + 7) % 0x51) >> 0x18) ^ ((byte)(-uVar15 >> 0x18) | (byte)(uVar15 >> 0x18))) >> 7 & 0x3fU) ^ ((longlong)(((int)(-uVar9 | uVar9) >> 0x1f) * -0x1078) | 0x107aU)); uVar8 = *(uint *)(lVar12 + 0x18146c460) ^ uVar16 >> 0x1c ^ uVar16 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c464) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c468) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c46c) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c470) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c474) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c478) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c47c) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c480) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c484) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c488) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c48c) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c490) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c494) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c498) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c49c) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4a0) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4a4) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(FUN_18146c4a8 + lVar12) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4ac) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar15 = *(uint *)(lVar12 + 0x18146c4b0) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar9 = uVar15 & 0x37f; uVar8 = uVar15 & 0x3f | 0xc; iVar6 = (uVar9 + 2) * (uVar9 + 1) * uVar9; uVar11 = (ulonglong)(uVar15 << 4); lVar12 = lVar12 + -0x3ac + (0x7ca7L >> ((char)iVar6 + ((char)(iVar6 / 3) + (char)(iVar6 >> 0x1f) + (char)(((longlong)iVar6 / 3 + ((longlong)iVar6 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3 + (uVar8 * uVar8 * 0xc7bd == 0x25cde70) & 0x3fU) ^ 0x78a7U); uVar8 = *(uint *)(lVar12 + 0x18146c460) ^ uVar15 >> 0x1c ^ uVar15 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c464) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c468) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c46c) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c470) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c474) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c478) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c47c) ^ uVar8 >> 0x1c ^ uVar8 << 4; FUN_1806048c0(); do { puVar7 = local_res8; /* WARNING: Call to offcut address within same function */ func_0x0001806042ba(puVar7,local_res8); uVar1 = rdtsc(); *puVar7 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_res8[0] = (local_res8[0] * -0x51ca4602 >> 0x18 ^ local_res8[0] * -0x51ca4602) * 0x5bd1ae35; if (local_res8[0] < 0x329161f) { do { local_res20 = FUN_18141db20; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar3 = FUN_18141db20(0,0xeb55); if (1 < uVar3) { lVar17 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar17 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar17 = *(longlong *)register0x00000020; } } } uVar8 = *(uint *)(lVar12 + 0x18146c480) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c484) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c488) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c48c) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c490) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c494) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c498) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c49c) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4a0) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4a4) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(FUN_18146c4a8 + lVar12) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4ac) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4b0) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4b4) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4b8) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4bc) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4c0) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = *(uint *)(lVar12 + 0x18146c4c4) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar9 = *(uint *)(&DAT_18146c4c8 + lVar12) ^ uVar8 >> 0x1c ^ uVar8 << 4; uVar8 = uVar9 << 4; uVar3 = (ulonglong)uVar8; uVar8 = *(uint *)(lVar12 + 0x18146c4cc) ^ uVar9 >> 0x1c ^ uVar8; uVar8 = uVar8 >> 0x1c ^ uVar8 << 4 ^ *(uint *)(lVar12 + 0x18146c4d0); uVar9 = uVar8 << 4; uVar10 = (ulonglong)uVar9; local_res10 = 0x377191fb6dfd8760; local_res8[0] = 0x6dfd8760; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar8 = ~((*(uint *)(lVar12 + 0x18146c4d4) ^ uVar8 >> 0x1c ^ uVar9) + 0xb0551763); uVar8 = ((uVar8 ^ 0xd1b50b04) >> 2 | uVar8 << 0x1e) + 0x931bf06f; do { lVar12 = uVar11 + uVar10; lVar17 = uVar10 - lVar12; uVar11 = -lVar17; uVar10 = lVar12 + lVar17; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); if ((uVar8 >> 0x1c | uVar8 * 0x10) == 0x6dfd8760) { puVar2 = puVar13; do { puVar14 = puVar2; *(undefined8 *)(puVar14 + -8) = 0x18060479f; lVar12 = 0x300; func_0x000180604e12(); *(undefined8 *)(puVar14 + -8) = uVar4; *(ulonglong *)(puVar14 + -0x10) = uVar3; *(ulonglong *)(puVar14 + -0x18) = uVar18; lVar12 = -lVar12; uVar18 = *(ulonglong *)(puVar14 + lVar12 + 0x2e8); uVar3 = *(ulonglong *)(puVar14 + lVar12 + 0x2f0); uVar4 = *(undefined8 *)(puVar14 + lVar12 + 0x2f8); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } puVar2 = puVar14 + lVar12 + 0x300; } while (uVar5 != 0); *(undefined8 *)(puVar14 + lVar12 + 0x2f8) = 0x18060485b; uVar4 = FUN_180609880(); FUN_180603bc0(uVar4); return; } thunk_FUN_1805a9280((longlong)(int)(uVar5 ^ 0xba17),uVar10); return; } ############ FUN_ 181483f8b size=3309 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000181484a3e) */ /* WARNING: Removing unreachable block (ram,0x000181484cfa) */ void FUN_181483f8b(uint *param_1,uint param_2) { int *piVar1; undefined8 uVar2; undefined1 *puVar3; uint in_EAX; undefined4 uVar4; ulonglong uVar5; uint uVar6; ulonglong uVar7; undefined8 *puVar8; undefined8 *puVar9; longlong lVar10; int iVar11; longlong *plVar12; int unaff_EBX; uint uVar13; undefined4 *puVar14; undefined4 *puVar15; longlong lVar16; undefined1 *puVar17; undefined4 *unaff_RBP; longlong *plVar18; uint uVar19; longlong lVar20; uint uVar21; uint uVar22; longlong *plVar23; uint uVar24; int iVar25; int *unaff_R12; longlong unaff_R14; uint uVar26; ulonglong unaff_R15; undefined4 *puVar27; undefined1 auStackX_8 [32]; uint in_stack_00000030; int iStack0000000000000038; undefined4 uStack000000000000003c; undefined4 in_stack_00000040; uint uStack0000000000000044; int in_stack_00000048; uint uStack0000000000000054; uint uStack0000000000000058; uint uStack000000000000005c; uint in_stack_00000060; int in_stack_00000068; undefined8 in_stack_00000070; uint uStack000000000000007c; int in_stack_00000080; *param_1 = (in_EAX ^ param_2) & 0x59127ed; uVar6 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } if (uVar6 != 0) { uVar2 = rdtsc(); uStack000000000000007c = (int)uVar2 + (int)((ulonglong)uVar2 >> 0x20); uVar5 = (ulonglong)uStack000000000000007c + (ulonglong)(uStack000000000000007c >> 0xb) + 0x317a5f11; uVar5 = uVar5 >> 0xb | uVar5 << 0x35; uVar5 = uVar5 + (uVar5 * 0x600 | uVar5 * 3 >> 0x37) + 0x59afbb15; uVar5 = ((uVar5 * 0x2000 | uVar5 >> 0x33) - 0x4120587c) + uVar5 * 2; FUN_181483f8b(-(((ulonglong)&stack0x00000030 ^ 0xffffffffffffffff) + 1), (uVar5 + (uVar5 * 0x1000 | uVar5 >> 0x34) >> 10) - 0x34dbd3d2); return; } *(int *)(unaff_R14 + 8) = *(int *)(unaff_R14 + 8) + (in_stack_00000030 ^ 0x9710f7a); *(int *)(unaff_R14 + 4) = *(int *)(unaff_R14 + 4) + (in_stack_00000030 ^ 0xe1066603); uVar5 = (ulonglong) ((uint)((*(ulonglong *)(unaff_R14 + 4) >> 0x15 ^ *(ulonglong *)(unaff_R14 + 4)) >> 1) & 0x1fffff); uVar5 = (uVar5 << 0x15 | uVar5) * 2 ^ *(ulonglong *)(unaff_R14 + 4); uVar5 = (uVar5 << 0x10 | *(ulonglong *)(unaff_R14 + 4) >> 0x30) & 0xa963569ca963569c | (uVar5 >> 0x10 | uVar5 << 0x30) & 0x569ca963569ca963; uVar7 = uVar5 >> 0x3b | uVar5 << 5; uVar5 = ((uVar7 << 8 | (uVar5 & 0x7ffffffffffffff) >> 0x33) & 0x8679867986798679 | ((uVar5 & 0x7ffffffffffffff) >> 3 | uVar7 << 0x38) & 0x7986798679867986) ^ 0xf6bc17d56baeb45c; uVar5 = uVar5 << 0xb | uVar5 >> 0x35; uVar5 = (uVar5 >> 2 & 0x3333333333333333 | (uVar5 & 0x3333333333333333) << 2) + 0x7897527d138bafc9 ; uVar6 = (uint)((uVar5 >> 0x14 ^ uVar5) >> 0x19) & 0xfff; uVar5 = ((ulonglong)uVar6 << 0x14 | (ulonglong)uVar6) << 0x19 ^ uVar5; *(ulonglong *)(unaff_R14 + 4) = uVar5; plVar18 = (longlong *)((unaff_R15 ^ 0x55d986ec) + 4); *plVar18 = *plVar18 + (uVar5 >> 1 & 0xa066a801); in_stack_00000030 = (uint)(*(ulonglong *)(unaff_R14 + 4) >> 0x15) & 0x7fffffff; uStack0000000000000044 = (uint)((ulonglong)*(undefined8 *)(unaff_R14 + 4) >> 0x10) ^ 0x72f7b528; uVar5 = *(ulonglong *)(unaff_R14 + 4) ^ 0x27fa0ced34425d9a; unaff_RBP[-0x19] = uStack0000000000000044; unaff_RBP[-0x18] = (int)uVar5; unaff_RBP[-0x16] = 0xd6ce4703; unaff_RBP[-0x15] = 0xa54145; iVar11 = (int)(uVar5 >> 0x20); uVar6 = iVar11 + 0xfa8073e1; uVar21 = uVar6 ^ unaff_EBX + 0x62bfbbdU; uVar19 = ~(unaff_RBP[-0x18] + 0x7e45d4e7); uVar5 = (ulonglong)uVar19; uVar22 = ~(uVar21 & 0x74363136 ^ uVar6); uVar24 = ~(uVar21 & 0x8bc9cec9 ^ uVar6); uVar13 = ~(unaff_RBP[-0x19] ^ 0x860084d7); uVar21 = (uVar22 >> 0x10 ^ uVar22) >> 1 & 0x7fff; uVar6 = (uVar19 >> 8 ^ uVar19) >> 6 & 7; uVar26 = ((uVar21 << 0x10 | uVar21) * 2 ^ uVar22) + 0xd72ec56e; uVar21 = (uVar24 >> 0xe ^ uVar24) >> 2 & 0x1fff; uVar22 = (uVar13 >> 0x13 ^ uVar13) >> 4 & 3; uVar6 = (uVar6 << 8 | uVar6) << 6 ^ uVar19 ^ 0xa4daaba5; uVar19 = uVar6 >> 0x13 | uVar6 << 0xd; uVar6 = ((uVar21 << 0xe | uVar21) << 2 ^ uVar24) + 0xb13e8770; uVar21 = (uVar22 << 0x13 | uVar22) << 4 ^ uVar13 ^ 0xd8b18c67; iVar25 = (uVar21 >> 10 | uVar21 << 0x16) + 0xd9158d31; unaff_RBP[-0x19] = iVar25; uVar21 = (uVar26 >> 0x14 | uVar26 * 0x1000) ^ uVar19; uVar13 = (uVar6 >> 0x10 | uVar6 * 0x10000) ^ 0xf6ce2a6f; unaff_RBP[-0x1a] = uVar13; uVar6 = uVar21 & 0xfbebf0ee ^ uVar19 ^ 0x38262af0; in_stack_00000048 = (uVar21 & 0x4140f11 ^ uVar19) + 0xa2ddb101; unaff_RBP[-0x17] = in_stack_00000048; unaff_RBP[-0x18] = uVar6; uVar21 = 0x8f7d1b57; lVar16 = *(longlong *)(unaff_RBP + -0x20); in_stack_00000068 = 0x1b873593; _iStack0000000000000038 = CONCAT44(iVar11,0x1af3eb21) ^ 0xd66dc670; *(undefined8 *)(unaff_RBP + -0x1c) = in_stack_00000070; do { uVar19 = (unaff_RBP[0x1a] + 1) * unaff_RBP[0x1a] & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); plVar18 = *(longlong **)(unaff_RBP + -0x1e); do { uVar2 = rdtsc(); uStack000000000000007c = (uint)uVar2 ^ (uint)((ulonglong)uVar2 >> 0x20); uVar7 = (ulonglong)uStack000000000000007c ^ (ulonglong)(uStack000000000000007c >> 6) + 0x72c155e8; lVar10 = (uVar7 >> 0xf) + 0x6232fffd + uVar7 * 4; uVar7 = lVar10 * -0x7ffc000 | (ulonglong)(lVar10 * -0x1fff) >> 0x32; uVar7 = uVar7 ^ uVar7 >> 5; uVar19 = (unaff_RBP[0x1a] + 1) * unaff_RBP[0x1a] & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); iVar11 = -0x53166325; uStack0000000000000054 = ((uint)(uVar7 << 6) | (uint)(uVar7 >> 0x3a)) >> 1 ^ in_stack_00000030; if (uStack0000000000000054 < 0x28f5c2b) { unaff_RBP[-8] = uVar13; piVar1 = unaff_RBP + 0x1a; unaff_RBP[-5] = in_stack_00000048; unaff_RBP[-7] = iVar25; unaff_RBP[-6] = uVar6; do { puVar9 = (undefined8 *)(unaff_RBP + -0xe); puVar8 = (undefined8 *)&stack0x00000058; /* WARNING: Call to offcut address within same function */ func_0x000181484306(); *(undefined4 *)puVar8 = 0xa18ec06e; *puVar9 = 0x1814844b3; FUN_181485ca6(); uVar19 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); uVar19 = (~uStack0000000000000058 << 0x1d | ~uStack0000000000000058 >> 3) + 0x429a40af; uVar19 = (uVar19 >> 0x1a | uVar19 * 0x40) + 0xd5e1b92d; uStack0000000000000058 = uVar19 >> 0x1b | uVar19 * 0x20; (*(code *)((longlong)(int)uStack0000000000000058 + *(longlong *)(unaff_RBP + -0xe))) (unaff_RBP + -8,unaff_RBP + 4); do { uVar19 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); iVar25 = 7; uVar19 = unaff_RBP[0xc]; uVar13 = unaff_RBP[0xd]; in_stack_00000040 = 0x1f7b9964; do { uVar24 = (uVar13 ^ uVar19) & 0x4a24b48 ^ uVar13; uVar13 = (uVar13 ^ uVar19) & 0xfb5db4b7 ^ uVar13; uVar19 = (uVar24 >> 4 ^ uVar24) >> 0x12 & 7; uVar22 = (uVar13 >> 0xb ^ uVar13) >> 5 & 0x7ff; uVar13 = (uVar22 << 0xb | uVar22) << 5 ^ uVar13; uVar19 = uVar13 ^ (uVar19 << 4 | uVar19) << 0x12 ^ uVar24; uVar22 = (uVar13 ^ uVar19 & 0x10492ef4) + 0x47bf4e2c; uVar24 = (uVar19 & 0xefb6d10b ^ uVar13) + 0xb1b2ab94; uVar13 = uVar22 * 0x4000 | uVar22 >> 0x12; uVar26 = uVar24 >> 0xe | uVar24 * 0x40000; uVar19 = (uVar13 >> 7 ^ uVar13) >> 10 & 0x7f; uVar13 = uVar13 ^ (uVar19 << 7 | uVar19) << 10; uVar19 = (uVar26 >> 0x10 ^ uVar26) >> 3 & 0x1ff; uVar26 = uVar26 ^ (uVar19 << 0x10 | uVar19) << 3; uVar19 = (uVar13 << 4 | (uVar22 & 0x3ffff) >> 0xe) & 0xe1e1e1e1 | (uVar13 >> 4 | (uVar22 >> 0x12) << 0x1c) & 0x1e1e1e1e; uVar13 = (uVar19 >> 10 ^ uVar19) >> 0xb & 0x1ff; uVar22 = (uVar26 << 4 | (uVar24 & 0x3fff) >> 10) & 0xb4b4b4b4 | (uVar26 >> 4 | uVar26 << 0x1c) & 0x4b4b4b4b; uVar19 = uVar19 ^ (uVar13 << 10 | uVar13) << 0xb; uVar13 = (uVar22 >> 0xf ^ uVar22) & 0x7fff; uVar22 = uVar22 ^ (uVar13 << 0xf | uVar13) ^ uVar19; uVar13 = uVar22 & 0x360fa154 ^ uVar19; uVar19 = uVar22 & 0xc9f05eab ^ uVar19; iVar25 = iVar25 + -1; } while (-1 < iVar25); uVar5 = (ulonglong)~uVar19; uVar19 = ~(~uVar19 + 0x59d0a5f4); uVar19 = ~((uVar19 >> 0x16 | uVar19 << 10) + 0xdf67aac3); uVar19 = (uVar19 << 0x18 | uVar19 >> 8) ^ 0x694b0da8; if (((uVar19 >> 8 | uVar19 << 0x18) ^ 0x1f7b9964) + uVar13 != uStack0000000000000044) { do { puVar9 = (undefined8 *)(unaff_RBP + -0xc); FUN_1814852fd(); *puVar9 = FUN_180bc2900; uVar19 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); (**(code **)(unaff_RBP + -0xc))(); do { FUN_181483342(); uVar19 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); } } puVar27 = unaff_RBP + 0x1a; lVar10 = *(longlong *)(unaff_RBP + -0x1c); *(undefined8 *)(unaff_RBP + -0x1e) = 0xc6a3a51663e5f856; puVar14 = (undefined4 *)(lVar16 + -4); in_stack_00000048 = (int)*(undefined8 *)(unaff_RBP + -0x1e); uVar19 = 0x8f7d1b57; if ((undefined4 *)(lVar10 + -4) == puVar14) { LAB_181484ac0: in_stack_00000060 = uVar19; uVar7 = (ulonglong)uVar6; _iStack0000000000000038 = CONCAT44(uStack000000000000003c,iVar11); piVar1 = unaff_RBP + 0x1a; do { puVar14 = &stack0x00000060; uVar4 = FUN_18141e8b8(); *puVar14 = uVar4; uVar6 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar21 = in_stack_00000060 + 0x4f57cf6a; uVar6 = (uVar21 >> 7 ^ uVar21) >> 4 & 7; uVar21 = ~((uVar6 << 7 | uVar6) << 4 ^ uVar21); uVar6 = (uVar21 >> 9 ^ uVar21) >> 0xc & 0x1f; do { FUN_181482cf6(0xe908); uVar19 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); if (((uVar6 << 9 | uVar6) << 0xc ^ uVar21) + 0x9ffb974c != in_stack_00000048) { lVar16 = (longlong)in_stack_00000080; puVar3 = auStackX_8; do { puVar17 = puVar3; *(undefined8 *)(puVar17 + -8) = 0x181484be8; lVar10 = lVar16; FUN_181486353(); *(ulonglong *)(puVar17 + -8) = uVar5; *(ulonglong *)(puVar17 + -0x10) = uVar7; *(undefined4 **)(puVar17 + -0x18) = puVar27; lVar10 = -lVar10; puVar27 = *(undefined4 **)(puVar17 + lVar10 + 0x1f8); uVar7 = *(ulonglong *)(puVar17 + lVar10 + 0x200); uVar5 = *(ulonglong *)(puVar17 + lVar10 + 0x208); uVar6 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } puVar3 = puVar17 + lVar10 + 0x210; } while (uVar6 != 0); *(undefined1 *)(*(longlong *)(unaff_RBP + -10) + 0xd8) = 1; *(undefined **)(puVar17 + lVar10 + 0x208) = &UNK_181484dee; } thunk_FUN_1805a9280(); return; } LAB_181484804: puVar15 = puVar14 + 1; do { FUN_1814855a7(); FUN_181483396(); FUN_181483f8a(); uVar6 = (unaff_RBP[0x1a] + 1) * unaff_RBP[0x1a] & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); puVar27 = puVar15; if ((plVar18 != (longlong *)0x0) && (lVar16 = *plVar18, -1 < lVar16)) { *(undefined8 *)(unaff_RBP + -0x1c) = 0x2621fc0; lVar20 = (longlong)&DAT_182621fc0 + -*(longlong *)(unaff_RBP + -0x1c); do { if (puVar15 < (undefined4 *)(-*(longlong *)(unaff_RBP + -0x1c) + 0x182621fc8 + lVar16)) { if (-1 < lVar16) { plVar12 = (longlong *)(lVar20 + lVar16); if (plVar12 < puVar14 + 2) { *unaff_RBP = *puVar15; plVar23 = plVar18; goto LAB_1814848d0; } } break; } lVar16 = plVar18[1]; plVar18 = plVar18 + 1; } while (-1 < lVar16); } goto LAB_1814848ef; while (plVar12 = (longlong *)(lVar20 + lVar16), plVar12 < puVar14 + 2) { LAB_1814848d0: plVar23 = plVar23 + 1; *(longlong *)((longlong)unaff_RBP + lVar16 + (lVar20 - (longlong)puVar15)) = *plVar12 - lVar20; lVar16 = *plVar23; puVar27 = unaff_RBP; if (lVar16 < 0) break; } LAB_1814848ef: uVar6 = iVar11 + uVar21; do { puVar14 = (undefined4 *)((longlong)&stack0x00000058 + 4); uVar4 = FUN_181486199(0xe908); *puVar14 = uVar4; uVar19 = (unaff_RBP[0x1a] + 1) * unaff_RBP[0x1a] & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); uVar19 = uVar21 & 0x1ff; iVar11 = (uVar19 + 2) * (uVar19 + 1) * uVar19; puVar14 = puVar15; if ((((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 & 0xc0000000U) != 0) { iVar11 = (uVar19 + 2) * (uVar19 + 1) * uVar19; do { puVar14 = puVar14 + 1; uVar6 = uVar6 * (uVar6 >> 3); } while (((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e != 0); } while( true ) { if ((uVar21 & 0x200) == 0) { uVar19 = (uint)puVar14 & 0x37f; iVar11 = (uVar19 + 2) * (uVar19 + 1) * uVar19; uVar19 = iVar11 + (iVar11 / 3 + (iVar11 >> 0x1f) + (int)(((longlong)iVar11 / 3 + ((longlong)iVar11 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3; } else { uVar19 = (uint)puVar14 & 0x4f; uVar19 = (uVar19 + 1) * (uVar19 + 1) * uVar19 * uVar19 & 0x80000003; } if ((uVar21 & uVar19) == 0) break; uVar6 = uVar6 * uVar6 * 0x800; puVar14 = puVar14 + 1; } uStack000000000000005c = (uStack000000000000005c * iStack0000000000000038 * 0x8000 | uStack000000000000005c * iStack0000000000000038 >> 0x11) * in_stack_00000068; uVar5 = (ulonglong)uStack000000000000005c; uVar21 = (uVar21 ^ uStack000000000000005c) << 0xd | (uVar21 ^ uStack000000000000005c) >> 0x13; if ((uVar6 & 7) != 0) { uVar6 = uVar6 ^ uVar6 >> 3; } iVar11 = uVar6 * uVar21; uVar21 = uVar21 * 5 + 0xe6546b64; uVar19 = uVar21; uVar6 = 0xe6546b64; if ((undefined4 *)(lVar10 + -4) == puVar14) goto LAB_181484ac0; goto LAB_181484804; } ############ FUN_ 1807731c7 size=2165 ############ /* WARNING: Instruction at (ram,0x000180773898) overlaps instruction at (ram,0x000180773896) */ /* WARNING: Removing unreachable block (ram,0x0001807738ab) */ /* WARNING: Removing unreachable block (ram,0x0001807736b5) */ /* WARNING: Removing unreachable block (ram,0x0001807735be) */ /* WARNING: Removing unreachable block (ram,0x000180773893) */ /* WARNING: Removing unreachable block (ram,0x0001807739b5) */ /* WARNING: Removing unreachable block (ram,0x000180773a63) */ void FUN_1807731c7(void) { uint uVar1; uint uVar2; longlong lVar3; int unaff_EBX; int iVar4; uint unaff_EBP; int unaff_ESI; longlong unaff_RDI; longlong lVar5; uint uVar6; ulonglong uVar7; int *unaff_R12; uint uVar8; ulonglong uVar9; longlong *unaff_R14; longlong unaff_R15; bool bVar10; uint in_stack_00000028; int in_stack_00000088; int in_stack_00000090; longlong *in_stack_000000a8; FUN_1807714fc(); uVar1 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } if (uVar1 != 0) { FUN_1807731c7(0x442c); return; } *(undefined4 *)((longlong)unaff_R14 + 0x3dc) = 0xffffffff; uVar1 = (*(int *)(unaff_R15 + 8 + unaff_RDI) + unaff_EBX) * unaff_ESI; iVar4 = *(int *)(unaff_R15 + 0xc + unaff_RDI); *(undefined1 *)((longlong)unaff_R14 + 999) = 0; *(undefined2 *)((longlong)unaff_R14 + 0x3e5) = 1; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + iVar4) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x10 + unaff_RDI)) * unaff_ESI; *(undefined1 *)(unaff_R14 + 0x7d) = 0; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x14 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x18 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x1c + unaff_RDI)) * unaff_ESI; do { uVar2 = (in_stack_00000088 + 1) * in_stack_00000088 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); *(undefined1 *)(unaff_R14 + 0x7e) = 0; uVar1 = (*(int *)(unaff_R15 + 0x20 + unaff_RDI) + (uVar1 ^ uVar1 >> 0x10)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x24 + unaff_RDI)) * unaff_ESI; *(undefined1 *)((longlong)unaff_R14 + 0x3f1) = 0; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x28 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x2c + unaff_RDI)) * unaff_ESI; if (unaff_EBP == 0) { *(undefined4 *)((longlong)unaff_R14 + 0x3c4) = 0x2a9f3eff; } else { *(uint *)((longlong)unaff_R14 + 0x3c4) = unaff_EBP | 0xf; } if ((in_stack_000000a8 == (longlong *)0x0) || (in_stack_000000a8[1] == *in_stack_000000a8)) { FUN_18077e390(*(undefined4 *)((longlong)unaff_R14 + 0x3c4),unaff_R14 + 0x7f); } else if (unaff_R14 + 0x7f != in_stack_000000a8) { FUN_1805e1990(unaff_R14 + 0x7f); } if (unaff_R14 + 0x82 != unaff_R14 + 0x7f) { FUN_1805e1990(unaff_R14 + 0x82,unaff_R14[0x7f]); } uVar1 = (*(int *)(unaff_R15 + 0x30 + unaff_RDI) + (uVar1 ^ uVar1 >> 0x10)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x34 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x38 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x3c + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x40 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x44 + unaff_RDI)) * unaff_ESI; FUN_18077ae60(unaff_R14 + 3); uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x48 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x4c + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x50 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x54 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x58 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x5c + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x60 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 100 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x68 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x6c + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x70 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x74 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x78 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x7c + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x80 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x84 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x88 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x8c + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x90 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x94 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x98 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x9c + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0xa0 + unaff_RDI)) * unaff_ESI; do { uVar2 = (in_stack_00000088 + 1) * in_stack_00000088 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = (*(int *)(unaff_R15 + 0xa4 + unaff_RDI) + (uVar1 ^ uVar1 >> 0x10)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0xa8 + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0xac + unaff_RDI)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0xb0 + unaff_RDI)) * unaff_ESI; lVar5 = unaff_RDI + 0xb8; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0xb4 + unaff_RDI)) * unaff_ESI; uVar2 = (uint)lVar5 & 0x3f; uVar6 = (uint)lVar5 & 0x2fff; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + lVar5)) * unaff_ESI; uVar8 = in_stack_00000028 & 0x3f | 0x66; uVar8 = uVar8 * uVar8; uVar9 = (ulonglong)uVar8; lVar5 = lVar5 + (0xc4 - ((longlong) (int)((((uVar2 + 2) * (uVar2 + 1) * uVar2) % 3 ^ (uVar6 + 1) * uVar6 & 0x80000001) + 0xef14) ^ 0xefd4U)); uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 4 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 8 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0xc + lVar5)) * unaff_ESI; uVar2 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + lVar5 + 0x10)) * unaff_ESI; uVar2 = uVar2 ^ uVar2 >> 0x10; uVar1 = uVar2 & 0xf | 0x28; bVar10 = uVar8 * 0x1ea1 == uVar1 * uVar1 * 0xccd1; uVar7 = (ulonglong)bVar10; uVar1 = (((uVar2 & 0x28ff) + 1) * (uVar2 & 0x28ff) + 7) % 0x51 - (uint)bVar10; lVar5 = (((longlong)(((int)(-uVar1 | uVar1) >> 0x1f) * -0x90a) ^ 0x88aU) - 0x17c) + lVar5 + 0x10; uVar1 = (*(int *)(unaff_R15 + lVar5) + uVar2) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 4 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 8 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0xc + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x10 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x14 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x18 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x1c + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x20 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x24 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x28 + lVar5)) * unaff_ESI; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + *(int *)(unaff_R15 + 0x2c + lVar5)) * unaff_ESI; do { uVar7 = -((uVar7 ^ 0xffffffffffffffff) + 1); uVar2 = (in_stack_00000088 + 1) * in_stack_00000088 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); iVar4 = (uVar1 ^ uVar1 >> 0x10) + 0x1f967835; do { func_0x000180772f6d(0x442c); uVar1 = (in_stack_00000088 + 1) * in_stack_00000088 & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); uVar1 = (iVar4 * 2 | (uint)(iVar4 < 0)) ^ 0x13841dd0; if (uVar1 != uVar1 >> 1) { (**(code **)(*unaff_R14 + 0x220))(unaff_R14); FUN_1807731c6(); thunk_FUN_1805a9280(); return; } (**(code **)(*unaff_R14 + 0x220))(); do { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x18077395b; lVar3 = (longlong)in_stack_00000090; FUN_180775908(); *(ulonglong *)((longlong)register0x00000020 + -8) = uVar9; *(ulonglong *)((longlong)register0x00000020 + -0x10) = uVar7; *(longlong *)((longlong)register0x00000020 + -0x18) = lVar5; lVar3 = -lVar3; lVar5 = *(longlong *)((longlong)register0x00000020 + lVar3 + 0xb28); uVar7 = *(ulonglong *)((longlong)register0x00000020 + lVar3 + 0xb30); uVar9 = *(ulonglong *)((longlong)register0x00000020 + lVar3 + 0xb38); register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + lVar3 + 0xb40); uVar1 = (in_stack_00000088 + 1) * in_stack_00000088 & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); return; } ############ FUN_ 1813f30d0 size=3262 ############ /* WARNING: Instruction at (ram,0x0001813f3bf2) overlaps instruction at (ram,0x0001813f3bf0) */ /* WARNING: Removing unreachable block (ram,0x0001813f3a33) */ /* WARNING: Removing unreachable block (ram,0x0001813f3a1b) */ /* WARNING: Removing unreachable block (ram,0x0001813f3a27) */ /* WARNING: Removing unreachable block (ram,0x0001813f3a23) */ /* WARNING: Removing unreachable block (ram,0x0001813f3a2a) */ /* WARNING: Removing unreachable block (ram,0x0001813f340c) */ /* WARNING: Removing unreachable block (ram,0x0001813f318c) */ /* WARNING: Removing unreachable block (ram,0x0001813f3395) */ /* WARNING: Removing unreachable block (ram,0x0001813f3507) */ /* WARNING: Removing unreachable block (ram,0x0001813f3cc2) */ /* WARNING: Removing unreachable block (ram,0x0001813f336d) */ /* WARNING: Removing unreachable block (ram,0x0001813f3a19) */ longlong * FUN_1813f30d0(undefined8 param_1,longlong *param_2,undefined4 param_3) { char cVar1; undefined1 *puVar2; undefined4 *puVar3; longlong *plVar4; uint uVar5; int iVar6; longlong lVar7; ulonglong uVar8; undefined1 *puVar9; undefined1 *puVar10; uint uVar11; longlong lVar12; uint uVar13; undefined8 uVar14; uint uVar15; undefined8 uVar16; longlong lVar17; int unaff_retaddr; undefined1 auStack_98 [32]; undefined4 local_78; undefined4 *local_70; undefined8 local_68; longlong *local_60; undefined8 local_58; puVar9 = auStack_98; local_58 = 0xfffffffffffffffe; local_78 = 0; uVar11 = (uint)&stack0x00000000 & 0x37f; uVar16 = 0xe50; local_68 = 0x100; puVar3 = &DAT_181604578; uVar5 = (DAT_181604578 + 0x3e803b4d) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + DAT_18160457c) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + DAT_181604580) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + DAT_181604584) * 0x401; uVar5 = uVar5 ^ uVar5 >> 6; if ((uVar5 & 0x3000) == 0) { uVar15 = ((uVar5 & 0x1aff) * (uVar5 & 0x1aff) + 1) % 7; } else { uVar15 = 1; } uVar13 = ((uVar5 & 0x19ff) * (uVar5 & 0x19ff) * 0x10 + 4) % 0x13; lVar7 = (longlong)(int)(((int)(-uVar15 | uVar15) >> 0x1f) * -0xc52d ^ 0xc5ed) + 0xc + ((ulonglong)((int)(-uVar13 | uVar13) >> 0x1f & 0xd511) ^ 0xffffffffffff2a55); uVar5 = (*(int *)(lVar7 + 0x181604578) + uVar5) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x18160457c)) * 0x401; uVar8 = lVar7 + 8; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604580)) * 0x401; if ((uVar8 & 0xa8) == 0) { cVar1 = '\0'; } else { cVar1 = (char)uVar8; } lVar7 = uVar8 + (0xc - (0xb533L >> ((cVar1 + '\x01') * cVar1 & 1U) ^ 0xb53bU)); uVar5 = (*(int *)(lVar7 + 0x181604578) + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x18160457c)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604580)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604584)) * 0x401; uVar15 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604588)) * 0x401; uVar15 = uVar15 ^ uVar15 >> 6; uVar5 = uVar15 & 0x7f | 0x7e; lVar12 = 0; lVar7 = lVar7 + (((longlong)(0x951f << (uVar5 * uVar5 * 0x4333 == 0x148e670)) ^ 0x971fU) - 0x1ec); uVar5 = (*(int *)(lVar7 + 0x181604578) + uVar15) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x18160457c)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604580)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604584)) * 0x401; local_70 = puVar3; local_60 = param_2; do { /* WARNING: Call to offcut address within same function */ func_0x0001813f3bc8(0xcc38); plVar4 = local_60; lVar17 = (longlong)register0x00000020 + lVar12; lVar12 = ~(((lVar12 - lVar17 ^ 0xffffffffffffffffU) + 1) - lVar17) + 1; register0x00000020 = (BADSPACEBASE *)(lVar17 - lVar12); uVar15 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar5 = (*(int *)(lVar7 + 0x181604588) + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x18160458c)) * 0x401; uVar13 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604590)) * 0x401; uVar13 = uVar13 ^ uVar13 >> 6; uVar5 = (uint)(lVar7 + 0x18) & 0x11ff; uVar15 = (uVar5 * uVar5 * 0x10 + 4) % 0x13; uVar5 = uVar13 & 0x7f | 0xd; uVar5 = uVar5 * uVar5 * 0x3e11 ^ 0x3158ab4; lVar7 = lVar7 + 0x18 + (((longlong)(int)((-uVar5 | uVar5) ^ (-uVar15 | uVar15)) >> 0x1f | 0x3edbU) ^ 0x3e5b); uVar5 = (*(int *)(&DAT_1816044fc + lVar7) + uVar13) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_181604500 + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_181604504 + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_181604508 + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_18160450c + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_181604510 + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_181604514 + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_181604518 + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_18160451c + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_181604520 + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_181604524 + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_181604528 + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_18160452c + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&DAT_181604530 + lVar7)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(&LAB_181604534 + lVar7)) * 0x401; uVar15 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604538)) * 0x401; uVar15 = uVar15 ^ uVar15 >> 6; uVar5 = uVar15 & 0xff; iVar6 = (uVar5 + 2) * (uVar5 + 1) * uVar5; uVar14 = 0; lVar7 = lVar7 + (0x104 - (0xfe7dL >> ((byte)(((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e) & 0x3f) ^ 0xff3dU)); uVar5 = (*(int *)(lVar7 + 0x181604578) + uVar15) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x18160457c)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604580)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604584)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604588)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x18160458c)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604590)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604594)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x181604598)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x18160459c)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045a0)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045a4)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045a8)) * 0x401; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar5 = (*(int *)(lVar7 + 0x1816045ac) + (uVar5 ^ uVar5 >> 6)) * 0x401; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar5 = (*(int *)(lVar7 + 0x1816045b0) + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045b4)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045b8)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045bc)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045c0)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045c4)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045c8)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045cc)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045d0)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045d4)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045d8)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045dc)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045e0)) * 0x401; uVar5 = ((uVar5 >> 6 ^ uVar5) + *(int *)(lVar7 + 0x1816045e4)) * 0x401; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar5 = (*(int *)(lVar7 + 0x1816045e8) + (uVar5 ^ uVar5 >> 6)) * 0x401; uVar5 = uVar5 >> 6 ^ uVar5; uVar15 = (uVar5 >> 0x11 ^ uVar5) >> 5 & 0x3ff; uVar5 = uVar5 ^ (uVar15 << 0x11 | uVar15) << 5; uVar15 = (uVar5 >> 0x10 | uVar5 << 0x10) & 0xd10f2ef0 | (uVar5 << 0x10 | uVar5 >> 0x10) & 0x2ef0d10f; uVar5 = ~(~(uVar15 & 0x7574d551) & uVar15); if ((char)(((~(~(uVar15 & 0x7574d551) & 0x7574d551) & uVar5) == 0xffffffff) * ':') == '\0') { plVar4 = (longlong *) thunk_FUN_1805a9280((longlong) (int)(0x6dda >> ((char)((ulonglong) ((longlong) (int)((uVar11 + 2) * (uVar11 + 1) * uVar11 ) * 0x55555556) >> 0x20) * -3 & 0x1fU ) ^ 0x61ba),uVar5,uVar15); return plVar4; } puVar2 = puVar9; do { puVar10 = puVar2; *(undefined8 *)(puVar10 + -8) = 0x1813f3dd0; lVar7 = 0xe50; FUN_1813f417d(); *(undefined4 **)(puVar10 + -8) = puVar3; *(undefined8 *)(puVar10 + -0x10) = uVar14; *(undefined8 *)(puVar10 + -0x18) = uVar16; lVar7 = -lVar7; uVar16 = *(undefined8 *)(puVar10 + lVar7 + 0xe38); uVar14 = *(undefined8 *)(puVar10 + lVar7 + 0xe40); puVar3 = *(undefined4 **)(puVar10 + lVar7 + 0xe48); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } puVar2 = puVar10 + lVar7 + 0xe50; } while (uVar5 != 0); lVar12 = **(longlong **)(*(longlong *)(puVar10 + lVar7 + 0xef0) + 0x18); *plVar4 = lVar12; if (lVar12 != 0) { LOCK(); *(int *)(lVar12 + 8) = *(int *)(lVar12 + 8) + 1; UNLOCK(); } *(undefined4 *)(puVar10 + lVar7 + 0xe70) = 4; *(undefined8 *)(puVar10 + lVar7 + 0xe48) = 0x1813f3ed6; FUN_1812520a0(plVar4,param_3); return plVar4; } ############ FUN_ 180752200 size=3295 ############ /* WARNING: Instruction at (ram,0x000180752a8f) overlaps instruction at (ram,0x000180752a8c) */ /* WARNING: Removing unreachable block (ram,0x000180752333) */ /* WARNING: Removing unreachable block (ram,0x00018075226f) */ /* WARNING: Removing unreachable block (ram,0x0001807522e4) */ /* WARNING: Removing unreachable block (ram,0x000180752d3a) */ /* WARNING: Removing unreachable block (ram,0x000180752d3f) */ /* WARNING: Removing unreachable block (ram,0x000180752342) */ /* WARNING: Heritage AFTER dead removal. Example location: s0xffffffffffffff80 : 0x000180752fbe */ /* WARNING: Switch with 1 destination removed at 0x000180752fa8 */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_180752200(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4) { longlong *plVar1; undefined8 uVar2; uint uVar3; ulonglong uVar4; uint uVar5; uint *puVar6; uint *puVar7; longlong lVar8; longlong in_R10; longlong lVar9; ulonglong uVar10; int unaff_retaddr; undefined4 unaff_retaddr_00; uint local_res10 [2]; undefined *local_res18; undefined8 local_res20; uVar10 = 0; local_res20 = 0x100; local_res18 = &DAT_181604678; uVar3 = (((uint)(DAT_181604578 * 0x401) >> 6 ^ DAT_181604578 * 0x401) + DAT_18160457c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604580) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604584) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604588) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18160458c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604590) * 0x401; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (DAT_181604594 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604598) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18160459c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045a0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045a4) * 0x401; do { /* WARNING: Call to offcut address within same function */ func_0x000180752c5a(0x7504); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (DAT_1816045a8 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045ac) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045b0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045b4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045b8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045bc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045c0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045c4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045c8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045cc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045d0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045d4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045d8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045dc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045e0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045e4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045e8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045ec) * 0x401; local_res18 = (undefined *)0xdba7b4d8ec467e5d; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045f0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045f4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045f8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1816045fc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604600) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604604) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604608) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18160460c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604610) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604614) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604618) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18160461c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604620) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604624) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604628) * 0x401; do { lVar9 = in_R10 + uVar10; in_R10 = ~(uVar10 - lVar9) + 1; uVar10 = lVar9 - in_R10; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (DAT_18160462c + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604630) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604634) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604638) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18160463c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604640) * 0x401; do { puVar7 = local_res10; puVar6 = local_res10; FUN_180750ec0(puVar6,puVar7); uVar2 = rdtsc(); uVar5 = (uint)((ulonglong)uVar2 >> 0x20); lVar9 = CONCAT44((int)((ulonglong)puVar7 >> 0x20),uVar5); *puVar6 = (uint)uVar2 ^ uVar5; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); local_res10[0] = (local_res10[0] * -0xae4602 >> 0x18 ^ local_res10[0] * -0xae4602) * -0x3b31e57b; if (local_res10[0] < 0x190d4f1) { do { lVar9 = 0xb18b; FUN_180754590(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = FUN_18141db20(); if (1 < uVar4) { uVar4 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (uVar4 != 0xcccccccccccccccc) { *(ulonglong *)register0x00000020 = uVar10; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); uVar4 = *(ulonglong *)register0x00000020; } } } uVar3 = (DAT_181604644 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604648) * 0x401; do { uVar4 = 0; FUN_1807510d4(); if ((uVar4 & 0xc2) != 0) { param_4 = lVar9; } uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (DAT_18160464c + (uVar3 ^ uVar3 >> 6)) * 0x401; do { FUN_180754926(0x7504); lVar9 = (uVar10 ^ 0xffffffffffffffff) + 1; if (lVar9 == 0 || (longlong)(uVar10 ^ 0xffffffffffffffff) < -1) { lVar8 = param_4 + lVar9; lVar9 = lVar9 - lVar8; param_4 = -lVar9; lVar9 = lVar8 + lVar9; } uVar10 = -lVar9; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (DAT_181604650 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604654) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604658) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18160465c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604660) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604664) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604668) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18160466c) * 0x401; do { FUN_180753de0(0x7504); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (DAT_181604670 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181604674) * 0x401; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { /* WARNING: Call to offcut address within same function */ func_0x000180752c5a(0x7504); FUN_180754590(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar3 = (uVar3 ^ uVar3 >> 6) + 0x6dc13912; uVar5 = (uVar3 >> 1 ^ uVar3) >> 1 & 1; uVar5 = (uVar5 * 2 | uVar5) * 2 ^ uVar3 ^ 0x16c79e7b; uVar3 = (uVar5 >> 0x10 ^ uVar5) & 0x1fff; if ((((uVar3 << 0x10 | uVar3) ^ uVar5 ^ 0x81e4b2) - (int)local_res18 & 0x3ffffff) == 0) { if (*(ulonglong *)(param_1 + 0x10) == uVar10) { thunk_FUN_1805a9280(); return; } plVar1 = (longlong *)**(undefined8 **)(param_1 + 8); *(longlong *)plVar1[1] = *plVar1; *(longlong *)(*plVar1 + 8) = plVar1[1]; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + -1; /* WARNING: Subroutine does not return */ free(plVar1); } if (*(ulonglong *)(param_1 + 0x10) == uVar10) { do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); return; } plVar1 = (longlong *)**(undefined8 **)(param_1 + 8); *(longlong *)plVar1[1] = *plVar1; *(longlong *)(*plVar1 + 8) = plVar1[1]; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + -1; /* WARNING: Subroutine does not return */ free(plVar1); } ############ FUN_ 1813f2500 size=2600 ############ /* WARNING: Instruction at (ram,0x0001813f2b35) overlaps instruction at (ram,0x0001813f2b34) */ /* WARNING: Removing unreachable block (ram,0x0001813f2bb7) */ /* WARNING: Removing unreachable block (ram,0x0001813f2b24) */ /* WARNING: Removing unreachable block (ram,0x0001813f2768) */ /* WARNING: Removing unreachable block (ram,0x0001813f26b1) */ /* WARNING: Removing unreachable block (ram,0x0001813f2a2c) */ /* WARNING: Removing unreachable block (ram,0x0001813f2b2f) */ /* WARNING: Removing unreachable block (ram,0x0001813f2fb5) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined8 FUN_1813f2500(longlong param_1,undefined8 param_2,undefined4 param_3) { uint uVar1; uint uVar2; uint uVar3; uint uVar4; longlong lVar5; undefined8 uVar6; uint uVar7; int iVar8; uint uVar9; longlong lVar10; uint *puVar11; uint uVar12; uint *puVar13; uint *puVar14; int iVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; int unaff_retaddr; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar20 = (uRam0000000181197508 ^ (_DAT_181197504 ^ (uRam0000000181197500 ^ (uRam00000001811974fc ^ (uRam00000001811974f8 ^ (uRam00000001811974f4 ^ (uRam00000001811974f0 ^ 0x811c9dc5) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; uVar18 = ((uVar20 & 0x15ff) - 1) * (uVar20 & 0x15ff) - 1 & 1; uVar7 = uVar20 & 0x1f | 0x4f; lVar10 = ((longlong)(int)(uint)(uVar7 * uVar7 * 0x24df == 0x1a043a5c) ^ 0x14U) - ((longlong)(((int)(-uVar18 | uVar18) >> 0x1f) * -0x7b79) ^ 0x7b69U); puVar13 = (uint *)(lVar10 + 0x181197520); uVar12 = (uint)puVar13; uVar7 = uVar12 & 0x17f; iVar15 = (uVar7 + 2) * (uVar7 + 1) * uVar7; iVar8 = (uVar12 & 0xaff) * (uVar12 & 0xaff) + 1; uVar18 = uVar12 & 0x1f | 0xc; uVar7 = (iVar8 >> 4) + (iVar8 >> 1) + iVar8 * 0x24924924 >> 0x1d; uVar19 = (((iVar15 >> 1) - (iVar15 >> 3)) + iVar15 * 0x55555555 >> 0x1e) - ((int)(uVar7 - 7) >> 0x1f & uVar7); uVar7 = uVar12 & 0x7f | 0x59; lVar5 = (ulonglong)(~((int)(-uVar19 | uVar19) >> 0x1f & 0xffffffbfU) & 0x7f60) - ((longlong)(0xb1d2 - (0 >> (uVar7 * uVar7 * 0x139 == uVar18 * uVar18 * 0x5d6d))) ^ 0xb192U ); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = (*(uint *)((longlong)puVar13 + lVar5 + 0x2c) ^ (*(uint *)((longlong)puVar13 + lVar5 + 0x28) ^ (*(uint *)((longlong)puVar13 + lVar5 + 0x24) ^ (*(uint *)((longlong)puVar13 + lVar5 + 0x20) ^ (*(uint *)((longlong)puVar13 + lVar5 + 0x1c) ^ (*(uint *)((longlong)puVar13 + lVar5 + 0x18) ^ (*(uint *)((longlong)puVar13 + lVar5 + 0x14) ^ (*(uint *)((longlong)puVar13 + lVar5 + 0x10) ^ (*(uint *)((longlong)puVar13 + lVar5 + 0xc) ^ (*(uint *)((longlong)puVar13 + lVar5 + 8) ^ (*(uint *)((longlong)puVar13 + lVar5 + 4) ^ (*puVar13 ^ (*(uint *)(lVar10 + 0x18119751c) ^ (*(uint *)(lVar10 + 0x181197518) ^ (*(uint *)(lVar10 + 0x181197514) ^ (*(uint *)(lVar10 + 0x181197510) ^ (*(uint *)(lVar10 + 0x18119750c) ^ (*(uint *)((longlong)&uRam0000000181197508 + lVar10) ^ uVar20) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; puVar13 = (uint *)((longlong)puVar13 + lVar5 + 0x30); do { uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); lVar5 = 0xd; do { uVar18 = *puVar13; puVar13 = puVar13 + 1; uVar7 = (uVar18 ^ uVar7) * 0x1000181; lVar5 = lVar5 + -1; } while (lVar5 != 0); do { uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); uVar17 = (*puVar13 ^ uVar7) * 0x1000181; uVar7 = uVar17 & 0x7f | 0x43; puVar13 = (uint *)((longlong)puVar13 + (0xc - ((0L >> (uVar7 * uVar7 * 0xe831 == 0x3d3d817) | 0xbe3cU) ^ 0xbe34))); uVar7 = *puVar13; uVar18 = puVar13[1]; uVar12 = puVar13[2]; uVar19 = puVar13[3]; uVar20 = puVar13[4]; uVar1 = puVar13[5]; uVar2 = puVar13[6]; uVar3 = puVar13[7]; uVar4 = puVar13[8]; do { FUN_1813f2179(0xd11c); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); puVar14 = puVar13 + 0x11; uVar16 = (uint)puVar14 & 0x9ff; uVar9 = (uint)puVar14 & 0x52ff; iVar8 = uVar9 * uVar9 + 1; uVar16 = (uVar16 * uVar16 * 0x10 + 4) % 0x13; uVar9 = (iVar8 >> 4) + (iVar8 >> 1) + iVar8 * 0x24924924 >> 0x1d; uVar9 = (int)(uVar9 - 7) >> 0x1f & uVar9; puVar11 = (uint *)((((longlong) ((((int)(-uVar9 | uVar9) >> 0x1f) - ((int)(-uVar16 | uVar16) >> 0x1f)) + 0x21f) | 0x9bbfU) ^ 0x9ba7) + (longlong)puVar14); uVar18 = ((*puVar11 ^ (puVar11[-1] ^ (puVar11[-2] ^ (puVar11[-3] ^ (puVar11[-4] ^ (puVar11[-5] ^ (*puVar14 ^ (puVar13[0x10] ^ (puVar13[0xf] ^ (puVar13[0xe] ^ (puVar13[0xd] ^ (puVar13[0xc] ^ (puVar13[0xb] ^ (puVar13[10] ^ (puVar13[9] ^ (uVar4 ^ (uVar3 ^ (uVar2 ^ (uVar1 ^ (uVar20 ^ (uVar19 ^ (uVar12 ^ (uVar18 ^ (uVar7 ^ uVar17) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ^ puVar11[1]) * 0x1000181; uVar7 = (uVar18 >> 1 ^ uVar18) >> 0xb & 1; uVar18 = (uVar7 * 2 | uVar7) << 0xb ^ uVar18 ^ 0x86fbd7ee; uVar7 = ~(uVar18 & 0x593ee41d); if ((~(uVar7 & 0x593ee41d) & ~(uVar7 & uVar18)) != 0xffffffff) { FUN_1813f4ab8(); uVar6 = thunk_FUN_1805a9280(); return uVar6; } do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); FUN_1813f30d0(param_1 + 0x48,param_2,param_3); return param_2; } ############ FUN_ 180611922 size=890 ############ /* WARNING: Instruction at (ram,0x000180611916) overlaps instruction at (ram,0x000180611915) */ /* WARNING: Removing unreachable block (ram,0x000180611903) */ /* WARNING: Removing unreachable block (ram,0x000180611aa1) */ /* WARNING: Removing unreachable block (ram,0x000180611910) */ longlong FUN_180611922(undefined8 param_1,longlong param_2,longlong param_3) { uint uVar1; uint uVar2; longlong lVar3; longlong unaff_RBX; int unaff_EBP; undefined8 unaff_RSI; ulonglong uVar4; longlong unaff_RDI; undefined8 in_R11; int iVar5; longlong unaff_R12; longlong unaff_R13; int *piVar6; int unaff_R15D; uint in_stack_00000060; piVar6 = (int *)(unaff_R13 - param_3); uVar1 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } if (uVar1 != 0) { lVar3 = FUN_180611922(0x6530,param_2,param_3); return lVar3; } uVar1 = (*(int *)(unaff_RBX + 0xcc) + unaff_EBP) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RBX + 0xd0)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RBX + 0xd4)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RBX + 0xd8)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RBX + 0xdc)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RBX + 0xe0)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RBX + 0xe4)) * 0x401; do { lVar3 = param_2 + unaff_R12; param_2 = (unaff_R12 - lVar3 ^ 0xffffffffffffffffU) + 1; unaff_R12 = lVar3 - param_2; uVar2 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = (*(int *)(unaff_RBX + 0xe8) + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RBX + 0xec)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RBX + 0xf0)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RBX + 0xf4)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RBX + 0xf8)) * 0x401; do { FUN_18061074e(); uVar2 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = (*(int *)(unaff_RBX + 0xfc) + (uVar1 ^ uVar1 >> 6)) * 0x401; do { lVar3 = unaff_R12 + (longlong)piVar6; unaff_R12 = ~((longlong)piVar6 - lVar3) + 1; piVar6 = (int *)(lVar3 - unaff_R12); uVar2 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = uVar1 ^ uVar1 >> 6 ^ 0x1057fb46; uVar2 = (uVar1 << 0x17 | uVar1 >> 9) + 0xb861d458; *(undefined1 *)(unaff_RDI + 0x170) = 0; uVar1 = ~(in_stack_00000060 & uVar2); uVar4 = CONCAT71((int7)((ulonglong)unaff_RSI >> 8), (~(uVar1 & in_stack_00000060) & ~(uVar1 & uVar2)) == 0xffffffff); if ((uVar4 & 0x3fffff) == 0 && (int)uVar4 == 0) { lVar3 = thunk_FUN_1805a9280((longlong)unaff_R15D,thunk_FUN_1805a9280); return lVar3; } iVar5 = (int)unaff_R12; do { *(undefined8 *)((longlong)register0x00000020 + -8) = in_R11; *(longlong *)((longlong)register0x00000020 + -0x10) = unaff_RDI; *(longlong *)((longlong)register0x00000020 + -0x18) = unaff_R12; lVar3 = -(longlong)iVar5; unaff_R12 = *(longlong *)((longlong)register0x00000020 + lVar3 + 0x88); unaff_RDI = *(longlong *)((longlong)register0x00000020 + lVar3 + 0x90); in_R11 = *(undefined8 *)((longlong)register0x00000020 + lVar3 + 0x98); register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + lVar3 + 0xa0); uVar1 = (*piVar6 + 1) * *piVar6 & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); return unaff_RDI; } ############ FUN_ 1807110f5 size=983 ############ /* WARNING: Instruction at (ram,0x00018071111d) overlaps instruction at (ram,0x00018071111b) */ /* WARNING: Removing unreachable block (ram,0x000180711471) */ /* WARNING: Removing unreachable block (ram,0x00018071111b) */ undefined8 FUN_1807110f5(void) { undefined8 uVar1; uint uVar2; uint uVar3; longlong unaff_RBX; uint unaff_EBP; int *unaff_R15; while( true ) { uVar2 = (*unaff_R15 + 1) * *unaff_R15 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } if (uVar2 == 0) break; if (-1 < (int)uVar2) { uVar1 = FUN_1807110f5(); return uVar1; } } do { uVar2 = (*unaff_R15 + 1) * *unaff_R15 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar2 = (*(uint *)(unaff_RBX + 0xe8) ^ (*(uint *)(unaff_RBX + 0xe4) ^ (*(uint *)(unaff_RBX + 0xe0) ^ (*(uint *)(unaff_RBX + 0xdc) ^ (*(uint *)(unaff_RBX + 0xd8) ^ (*(uint *)(unaff_RBX + 0xd4) ^ (*(uint *)(unaff_RBX + 0xd0) ^ (*(uint *)(unaff_RBX + 0xcc) ^ (*(uint *)(unaff_RBX + 200) ^ (*(uint *)(unaff_RBX + 0xc4) ^ (*(uint *)(unaff_RBX + 0xc0) ^ (*(uint *)(unaff_RBX + 0xbc) ^ (*(uint *)(unaff_RBX + 0xb8) ^ (*(uint *)(unaff_RBX + 0xb4) ^ (*(uint *)(unaff_RBX + 0xb0) ^ (*(uint *)(unaff_RBX + 0xac) ^ (*(uint *)(unaff_RBX + 0xa8) ^ (*(uint *)(unaff_RBX + 0xa4) ^ (*(uint *)(unaff_RBX + 0xa0) ^ (*(uint *)(unaff_RBX + 0x9c) ^ (*(uint *)(unaff_RBX + 0x98) ^ (*(uint *)(unaff_RBX + 0x94) ^ (*(uint *)(unaff_RBX + 0x90) ^ (*(uint *)(unaff_RBX + 0x8c) ^ (*(uint *)(unaff_RBX + 0x88) ^ (*(uint *)(unaff_RBX + 0x84) ^ (*(uint *)(unaff_RBX + 0x80) ^ (*(uint *)(unaff_RBX + 0x7c) ^ (*(uint *)(unaff_RBX + 0x78) ^ (*(uint *)(unaff_RBX + 0x74) ^ (*(uint *)(unaff_RBX + 0x70) ^ (*(uint *)(unaff_RBX + 0x6c) ^ (*(uint *)(unaff_RBX + 0x68) ^ (*(uint *)(unaff_RBX + 100) ^ (*(uint *)(unaff_RBX + 0x60) ^ (*(uint *)(unaff_RBX + 0x5c) ^ (*(uint *)(unaff_RBX + 0x58) ^ (*(uint *)(unaff_RBX + 0x54) ^ (*(uint *)(unaff_RBX + 0x50) ^ (*(uint *)(unaff_RBX + 0x4c) ^ unaff_EBP) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1 ^ *(uint *)(unaff_RBX + 0xec); uVar2 = (uVar2 * 0x4000744 | uVar2 * 0x10001d1 >> 0x1e) & 0x99999999 | (uVar2 * 0x10001d1 >> 2 | uVar2 * 0x40000000) & 0x66666666; uVar3 = uVar2 << 0xb | uVar2 >> 0x15; uVar2 = ((uVar2 & 0x1fffff) >> 5 ^ uVar3) & 0xfff; uVar2 = (uVar2 << 0x10 | uVar2) ^ uVar3 ^ 0x7707253; if (uVar2 == uVar2 >> 3) { uVar1 = FUN_180711488(); return uVar1; } FUN_18071275d(); uVar1 = thunk_FUN_1805a9280(); return uVar1; } ############ FUN_ 1808517d0 size=1649 ############ /* WARNING: Instruction at (ram,0x000180851901) overlaps instruction at (ram,0x0001808518fd) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001808518b6) */ /* WARNING: Removing unreachable block (ram,0x000180851857) */ /* WARNING: Removing unreachable block (ram,0x0001808518fd) */ void FUN_1808517d0(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined4 *param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7) { char cVar1; undefined4 uVar2; char *pcVar3; undefined8 uVar4; uint uVar5; uint uVar6; ulonglong uVar7; uint *puVar8; IMAGE_DOS_HEADER *pIVar9; char *pcVar10; undefined1 *puVar11; undefined1 *puVar12; longlong *plVar13; longlong *plVar14; longlong *plVar15; undefined1 *puVar16; char *pcVar17; uint uVar18; longlong *plVar19; longlong lVar20; undefined4 *puVar21; IMAGE_DOS_HEADER *pIVar22; char *pcVar23; undefined4 *puVar24; undefined1 uVar25; int unaff_retaddr; longlong alStack_120 [3]; undefined1 auStack_108 [56]; uint auStack_d0 [4]; undefined4 local_c0; uint local_bc; undefined8 local_b8; char *local_b0; undefined8 local_a8; char *local_a0; uint local_98; undefined4 uStack_88; undefined4 uStack_84; undefined8 local_80; undefined8 local_78; undefined4 *local_70; undefined4 local_60 [4]; ulonglong local_50; plVar14 = (longlong *)auStack_108; local_50 = DAT_182615970 ^ (ulonglong)auStack_108; local_80 = param_1; local_c0 = param_2; uVar5 = (uint)&stack0x00000000 & 0x1ff; local_78 = param_3; local_70 = param_4; pcVar17 = (char *)0xe3e902dd; uVar18 = (uint)&stack0x00000000 & 0x3ff; local_bc = ((uVar5 + 2) * (uVar5 + 1) * uVar5) % 3 + 0xb871 ^ 0xbff1; uVar5 = ((uVar18 + 1) * uVar18 + 0x6c21 & 0x80000001) << ((char)((ulonglong)((longlong)(int)((uVar18 + 2) * (uVar18 + 1) * uVar18) * 0x55555556) >> 0x20) * -3 & 0x1fU); local_98 = (int)(-uVar5 | uVar5) >> 0x1f & 0x9bfbU ^ 0x976b; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); pIVar22 = &IMAGE_DOS_HEADER_180000000; pcVar3 = "l"; local_a0 = "l"; local_b0 = "gCheck"; local_a8 = 0x1300d498339230d4; plVar13 = &DAT_186f06fe0; local_b8 = 0x339230d4; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); auStack_d0[3] = 0xb5; auStack_d0[2] = 0xb5; LAB_180851a74: pcVar23 = pcVar3; if ((plVar13 != (longlong *)0x0) && (lVar20 = *plVar13, -1 < lVar20)) { local_a8 = 0x2621fc0; do { if (pcVar3 < IMAGE_DOS_HEADER_180000000.e_magic + lVar20 + 8) { if (-1 < lVar20) { pIVar9 = (IMAGE_DOS_HEADER *)(lVar20 + 0x180000000); pIVar22 = (IMAGE_DOS_HEADER *)(pcVar3 + 4); if (pIVar9 < pIVar22) { local_60[0] = *(undefined4 *)pcVar3; plVar19 = plVar13; goto LAB_180851af0; } } break; } lVar20 = plVar13[1]; plVar13 = plVar13 + 1; } while (-1 < lVar20); goto LAB_180851b0f; } goto LAB_180851b13; while (pIVar9 = (IMAGE_DOS_HEADER *)(lVar20 + 0x180000000), pIVar9 < pIVar22) { LAB_180851af0: plVar19 = plVar19 + 1; *(longlong *)(&stack0x00017fffffa0 + (lVar20 - (longlong)pcVar3)) = *(longlong *)pIVar9 + -0x180000000; lVar20 = *plVar19; pcVar23 = (char *)local_60; if (lVar20 < 0) break; } LAB_180851b0f: auStack_d0[3] = *(uint *)((longlong)plVar14 + 0x40); LAB_180851b13: uVar5 = (int)pcVar17 * auStack_d0[3] * 0x32c79bc3; if (uVar5 - auStack_d0[3] < 0x15) { uVar5 = uVar5 * (uVar5 >> 8); } if ((char)uVar5 != '\0') { uVar5 = uVar5 ^ uVar5 * 8; } pcVar17 = (char *)(ulonglong)uVar5; *(uint *)((longlong)plVar14 + 0x40) = auStack_d0[3] >> 0x1c ^ auStack_d0[3] << 4; plVar19 = plVar14; do { plVar15 = plVar19; puVar21 = (undefined4 *)((longlong)plVar15 + 0x40); uVar25 = 1; uVar7 = 0x4e28; *(undefined8 *)((longlong)plVar15 + -8) = 0x180851b65; pcVar10 = pcVar23; FUN_180851785(); LAB_180851b6e: do { if (!(bool)uVar25) { uVar25 = true; if ((uVar7 & 0xc300) == 0) goto LAB_180851b6e; } uVar25 = (uVar7 & 0xc3) == 0; } while (!(bool)uVar25); if ((uVar7 & 0xc3) == 0) goto LAB_180851bca; while ((uVar7 & 0xc3) != 0) { LAB_180851bca: if ((uVar7 & 0xc300) == 0) break; pcVar23 = (char *)((~(ulonglong)pcVar23 + 1 ^ 0xffffffffffffffff) + 1); *(char **)((longlong)plVar15 + -8) = pcVar17; plVar15 = (longlong *)((longlong)plVar15 + -8); pcVar17 = pcVar10; } plVar15[-1] = 0x180851bd5; uVar2 = FUN_18084f8a9(); *puVar21 = uVar2; puVar24 = local_70; uVar5 = local_98; pcVar17 = (char *)*plVar15; plVar14 = plVar15 + 1; do { } while ((uVar7 & 0xc3) != 0); uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } plVar19 = plVar15 + 1; } while (uVar18 != 0); auStack_d0[3] = *(uint *)(plVar15 + 9); pcVar3 = pcVar3 + 4; if (pcVar3 == "gCheck") { uVar7 = (ulonglong)local_bc; local_bc = (uint)pcVar17; do { puVar8 = auStack_d0 + 3; *plVar15 = 0x180851c41; uVar18 = FUN_1807e3a2c(); *puVar8 = uVar18; *plVar15 = 0x180851c5d; FUN_18085282e(); uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); uVar6 = (auStack_d0[3] >> 0xf | auStack_d0[3] << 0x11) + 0x451f4f5f; uVar18 = (uVar6 >> 0x12 ^ uVar6) & 0x3ff; uVar6 = ((uVar18 << 0x12 | uVar18) ^ uVar6) + 0x382f3935; uVar18 = (uVar6 >> 0xf ^ uVar6) & 0x1fff; uVar18 = uVar6 ^ (uVar18 << 0xf | uVar18); uVar6 = (uVar18 << 4 | uVar6 >> 0x1c) & 0x5a5a5a5a; puVar12 = (undefined1 *)(ulonglong)uVar6; *(uint *)(plVar15 + 9) = (uVar18 >> 4 | uVar18 << 0x1c) & 0xa5a5a5a5 | uVar6; do { puVar11 = (undefined1 *)((longlong)puVar21 + (longlong)puVar12); lVar20 = (longlong)puVar12 - (longlong)puVar11; puVar21 = (undefined4 *)-lVar20; puVar12 = puVar11 + lVar20; uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); do { *plVar15 = 0x180851d3a; FUN_18085255d(0x4e28); uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); if ((char)(((int)plVar15[9] == (int)local_b8) * '\x0f') == '\0') { *plVar15 = (longlong)puVar24; plVar15[-1] = (longlong)puVar21; plVar15[-2] = uVar7; thunk_FUN_1805a9280(); return; } plVar13 = plVar15 + 1; do { puVar16 = (undefined1 *)plVar13; *(undefined4 **)(puVar16 + -8) = puVar24; *(undefined4 **)(puVar16 + -0x10) = puVar21; *(IMAGE_DOS_HEADER **)(puVar16 + -0x18) = pIVar22; uVar2 = local_c0; lVar20 = -(longlong)(int)uVar5; pIVar22 = *(IMAGE_DOS_HEADER **)(puVar16 + lVar20 + 0xc78); puVar21 = *(undefined4 **)(puVar16 + lVar20 + 0xc80); puVar24 = *(undefined4 **)(puVar16 + lVar20 + 0xc88); uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } plVar13 = (longlong *)(puVar16 + lVar20 + 0xc90); } while (uVar18 != 0); uStack_88 = 1; uStack_84 = 0xffffffff; *(undefined **)(puVar16 + lVar20 + 0xc88) = &UNK_180851fff; cVar1 = FUN_18080c610(&uStack_88,local_c0); if (cVar1 == '\0') { *puVar24 = 0xffffffff; } else { *(undefined4 *)(puVar16 + lVar20 + 0xcb0) = 0; *(undefined **)(puVar16 + lVar20 + 0xc88) = &UNK_180851eb8; uVar4 = __RTDynamicCast(local_80,0,&license_services::LsProxySimpleBase::RTTI_Type_Descriptor, &license_services::LsDatabaseInfo::RTTI_Type_Descriptor); *(undefined8 *)(puVar16 + lVar20 + 0xcc0) = param_7; *(undefined8 *)(puVar16 + lVar20 + 0xcb8) = param_6; *(undefined8 *)(puVar16 + lVar20 + 0xcb0) = param_5; *(undefined **)(puVar16 + lVar20 + 0xc88) = &UNK_180851ee4; FUN_180859c50(uVar4,uVar2,local_78,puVar24); } *(undefined **)(puVar16 + lVar20 + 0xc88) = &UNK_18085201c; } goto LAB_180851a74; } ############ FUN_ 180ba0b10 size=2118 ############ /* WARNING: Removing unreachable block (ram,0x000180ba0bb6) */ /* WARNING: Removing unreachable block (ram,0x000180ba0c05) */ /* WARNING: Heritage AFTER dead removal. Example location: s0x00000000 : 0x000180ba1318 */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ ulonglong FUN_180ba0b10(longlong param_1,uint *param_2) { uint uVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint uVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; int iVar21; ulonglong uVar22; uint uVar23; longlong lVar24; longlong lVar25; longlong lVar26; uint uVar27; uint uVar28; ulonglong uVar29; ulonglong uVar30; int unaff_retaddr; uVar27 = (uint)&stack0x00000000 & 0x3ff; lVar26 = 0; uVar28 = (uVar27 * uVar27 * 0x10 + 4) % 0x13; uVar27 = ((uint)(DAT_1813cfa04 * 0x5bd1e995) >> 0x18 ^ DAT_1813cfa04 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cfa00 * 0x5bd1e995) >> 0x18 ^ DAT_1813cfa00 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9fc * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9fc * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9f8 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9f8 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9f4 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9f4 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9f0 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9f0 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9ec * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9ec * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9e8 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9e8 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9e4 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9e4 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9e0 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9e0 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9dc * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9dc * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9d8 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9d8 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9d4 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9d4 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9d0 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9d0 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9cc * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9cc * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9c8 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9c8 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9c4 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9c4 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9c0 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9c0 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9bc * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9bc * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1813cf9b8 * 0x5bd1e995) >> 0x18 ^ DAT_1813cf9b8 * 0x5bd1e995) * 0x5bd1e995 ^ 0x854870b4) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; do { lVar25 = param_1 + lVar26; param_1 = ~(lVar26 - lVar25) + 1; lVar26 = lVar25 - param_1; uVar23 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar23 < 0) { uVar23 = (uVar23 - 1 | 0xfffffffe) + 1; } } while (uVar23 != 0); lVar25 = 2; lVar26 = 0x50; do { lVar24 = lVar26; uVar23 = *(int *)((longlong)&DAT_1813cf9b8 + lVar24) * 0x5bd1e995; uVar1 = *(int *)((longlong)&DAT_1813cf9bc + lVar24) * 0x5bd1e995; uVar2 = *(int *)((longlong)&DAT_1813cf9c0 + lVar24) * 0x5bd1e995; uVar3 = *(int *)((longlong)&DAT_1813cf9c4 + lVar24) * 0x5bd1e995; uVar4 = *(int *)((longlong)&DAT_1813cf9c8 + lVar24) * 0x5bd1e995; uVar5 = *(int *)((longlong)&DAT_1813cf9cc + lVar24) * 0x5bd1e995; uVar6 = *(int *)((longlong)&DAT_1813cf9d0 + lVar24) * 0x5bd1e995; uVar7 = *(int *)((longlong)&DAT_1813cf9d4 + lVar24) * 0x5bd1e995; uVar8 = *(int *)((longlong)&DAT_1813cf9d8 + lVar24) * 0x5bd1e995; uVar9 = *(int *)((longlong)&DAT_1813cf9dc + lVar24) * 0x5bd1e995; uVar10 = *(int *)((longlong)&DAT_1813cf9e0 + lVar24) * 0x5bd1e995; uVar11 = *(int *)((longlong)&DAT_1813cf9e4 + lVar24) * 0x5bd1e995; uVar12 = *(int *)((longlong)&DAT_1813cf9e8 + lVar24) * 0x5bd1e995; uVar13 = *(int *)((longlong)&DAT_1813cf9ec + lVar24) * 0x5bd1e995; uVar14 = *(int *)((longlong)&DAT_1813cf9f0 + lVar24) * 0x5bd1e995; uVar15 = *(int *)((longlong)&DAT_1813cf9f4 + lVar24) * 0x5bd1e995; uVar16 = *(int *)((longlong)&DAT_1813cf9f8 + lVar24) * 0x5bd1e995; uVar17 = *(int *)((longlong)&DAT_1813cf9fc + lVar24) * 0x5bd1e995; uVar18 = *(int *)((longlong)&DAT_1813cfa00 + lVar24) * 0x5bd1e995; uVar19 = *(int *)((longlong)&DAT_1813cfa04 + lVar24) * 0x5bd1e995; uVar20 = *(int *)((longlong)&DAT_1813cfa08 + lVar24) * 0x5bd1e995; uVar27 = ((uVar19 >> 0x18 ^ uVar19) * 0x5bd1e995 ^ ((uVar18 >> 0x18 ^ uVar18) * 0x5bd1e995 ^ ((uVar17 >> 0x18 ^ uVar17) * 0x5bd1e995 ^ ((uVar16 >> 0x18 ^ uVar16) * 0x5bd1e995 ^ ((uVar15 >> 0x18 ^ uVar15) * 0x5bd1e995 ^ ((uVar14 >> 0x18 ^ uVar14) * 0x5bd1e995 ^ ((uVar13 >> 0x18 ^ uVar13) * 0x5bd1e995 ^ ((uVar12 >> 0x18 ^ uVar12) * 0x5bd1e995 ^ ((uVar11 >> 0x18 ^ uVar11) * 0x5bd1e995 ^ ((uVar10 >> 0x18 ^ uVar10) * 0x5bd1e995 ^ ((uVar9 >> 0x18 ^ uVar9) * 0x5bd1e995 ^ ((uVar8 >> 0x18 ^ uVar8) * 0x5bd1e995 ^ ((uVar7 >> 0x18 ^ uVar7) * 0x5bd1e995 ^ ((uVar6 >> 0x18 ^ uVar6) * 0x5bd1e995 ^ ((uVar5 >> 0x18 ^ uVar5) * 0x5bd1e995 ^ ((uVar4 >> 0x18 ^ uVar4) * 0x5bd1e995 ^ ((uVar3 >> 0x18 ^ uVar3) * 0x5bd1e995 ^ ((uVar2 >> 0x18 ^ uVar2) * 0x5bd1e995 ^ ((uVar1 >> 0x18 ^ uVar1) * 0x5bd1e995 ^ ((uVar23 >> 0x18 ^ uVar23) * 0x5bd1e995 ^ uVar27 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; uVar22 = (ulonglong)uVar27; uVar27 = (uVar20 >> 0x18 ^ uVar20) * 0x5bd1e995 ^ uVar27; lVar25 = lVar25 + -1; lVar26 = lVar24 + 0x54; } while (lVar25 != 0); uVar23 = *(int *)((longlong)&DAT_1813cfa0c + lVar24) * 0x5bd1e995; uVar1 = *(int *)((longlong)&DAT_1813cfa10 + lVar24) * 0x5bd1e995; uVar27 = (uVar1 >> 0x18 ^ uVar1) * 0x5bd1e995 ^ ((uVar23 >> 0x18 ^ uVar23) * 0x5bd1e995 ^ uVar27 * 0x5bd1e995) * 0x5bd1e995; lVar26 = 0; do { func_0x000180ba2c12(0x551c); uVar23 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar23 < 0) { uVar23 = (uVar23 - 1 | 0xfffffffe) + 1; } } while (uVar23 != 0); uVar27 = (uVar27 << 1 | (uint)((int)uVar27 < 0)) + 0xac0ff439; uVar27 = (uVar27 >> 0xf | uVar27 * 0x20000) + 0x57395982; uVar27 = uVar27 * 0x800 | uVar27 >> 0x15; if (((uVar27 & 0x1eff874d | ~uVar27 & 0xe10078b2) * 5 & 0x7fffffff) != 0) { lVar25 = ~(uVar22 - (lVar26 + uVar22)) + 1; uVar22 = thunk_FUN_1805a9280(((int)(-uVar28 | uVar28) >> 0x1f) * 0x1ac4 & 0x2538U ^ 0x2398, (lVar26 + uVar22) - lVar25,lVar25); return uVar22; } do { lVar25 = (longlong)param_2 + param_1; uVar29 = param_1 - lVar25 ^ 0xffffffffffffffff; param_2 = (uint *)(uVar29 + 1); uVar30 = ~((lVar25 - (longlong)param_2 ^ 0xffffffffffffffffU) + 1); param_1 = uVar30 + 1; uVar27 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar27 < 0) { uVar27 = (uVar27 - 1 | 0xfffffffe) + 1; } } while (uVar27 != 0); if ((*(int *)(uVar30 + 0x169) == 0) && (iVar21 = FUN_18096e580(param_2,uVar22,lVar26), iVar21 != 0)) { iVar21 = (*param_2 & 0x7fffffff) - 1; uVar28 = *(int *)(uVar30 + 9) * iVar21; for (uVar27 = *(uint *)(*(longlong *)(uVar29 + 9) + (longlong)iVar21 * 4); uVar27 != 0; uVar27 = uVar27 >> 1) { uVar28 = uVar28 + 1; } uVar22 = (ulonglong)uVar28; } else { uVar22 = 0; } return uVar22; } ############ FUN_ 180660c00 size=2354 ############ /* WARNING: Instruction at (ram,0x0001806613f1) overlaps instruction at (ram,0x0001806613f0) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001806613ec) */ /* WARNING: Removing unreachable block (ram,0x0001806611b7) */ /* WARNING: Removing unreachable block (ram,0x000180660cdc) */ /* WARNING: Removing unreachable block (ram,0x00018066133e) */ /* WARNING: Removing unreachable block (ram,0x000180660f41) */ /* WARNING: Removing unreachable block (ram,0x000180660c86) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_180660c00(undefined8 *param_1,longlong param_2,undefined1 param_3) { code *pcVar1; longlong lVar2; undefined8 *puVar3; longlong lVar4; undefined8 uVar5; longlong *plVar6; undefined8 *puVar7; undefined8 uVar8; int iVar9; uint uVar10; uint uVar11; uint uVar12; undefined1 *puVar13; undefined1 *puVar14; longlong lVar15; ulonglong uVar16; uint uVar17; ulonglong uVar19; longlong lVar20; ulonglong uVar21; int unaff_retaddr; undefined1 auStack_3d8 [32]; undefined1 local_3b8; undefined *local_3b0; undefined4 local_3a8; uint *local_3a0; uint local_388; undefined8 *local_378; longlong local_368; undefined8 uStack_358; undefined1 auStack_350 [8]; undefined8 local_348; undefined1 auStack_340 [24]; locale alStack_328 [8]; longlong *plStack_320; undefined1 auStack_318 [8]; longlong *plStack_310; longlong *plStack_300; undefined1 auStack_2f8 [80]; longlong alStack_2a8 [3]; undefined1 auStack_290 [112]; undefined4 uStack_220; undefined8 uStack_a8; char cStack_a0; undefined1 uStack_98; undefined7 uStack_97; undefined8 uStack_88; ulonglong uStack_80; ulonglong local_48; ulonglong uVar18; local_348 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_3d8; uVar10 = (uint)&stack0x00000000; uVar21 = 0xee0; iVar9 = (uVar10 & 0x68ff) * (uVar10 & 0x68ff) + 1; uVar12 = (iVar9 >> 4) + (iVar9 >> 1) + iVar9 * 0x24924924 >> 0x1d; if (((int)(uVar12 - 7) >> 0x1f & uVar12 & 0xc0) == 0) { uVar12 = uVar10 & 0x33f; uVar12 = ((uVar12 + 2) * (uVar12 + 1) * uVar12) % 3; } else { uVar12 = uVar10 & 0x23f; iVar9 = (uVar12 + 2) * (uVar12 + 1) * uVar12; uVar12 = ((iVar9 >> 1) - (iVar9 >> 3)) + iVar9 * 0x55555555 >> 0x1e; } uVar16 = (ulonglong)uVar12; uVar10 = ((uVar10 & 0x38ff) * (uVar10 & 0x38ff) + 1) % 7 | uVar10; local_388 = ((int)(-uVar10 | uVar10) >> 0x1f) * -0x8209 ^ uVar12 - 0x1801 & 0x82b9; local_3a0 = &DAT_181522960; local_3b0 = &DAT_181522a60; uVar10 = ((((((((((((((DAT_181522964 ^ (DAT_181522960 ^ 0x811c9e07) * 0x10001a7) * 0x10001a7 ^ DAT_181522968) * 0x10001a7 ^ DAT_18152296c) * 0x10001a7 ^ DAT_181522970) * 0x10001a7 ^ DAT_181522974) * 0x10001a7 ^ DAT_181522978) * 0x10001a7 ^ DAT_18152297c) * 0x10001a7 ^ DAT_181522980) * 0x10001a7 ^ DAT_181522984) * 0x10001a7 ^ DAT_181522988) * 0x10001a7 ^ DAT_18152298c) * 0x10001a7 ^ DAT_181522990) * 0x10001a7 ^ DAT_181522994) * 0x10001a7 ^ DAT_181522998) * 0x10001a7 ^ DAT_18152299c; local_3b8 = param_3; local_378 = param_1; local_368 = param_2; do { FUN_180660567(); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar10 = DAT_1815229a0 ^ uVar10 * 0x10001a7; do { FUN_180662b72(0x4824); lVar4 = local_368; puVar3 = local_378; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); local_3b0 = (undefined *)0xf91ade4c15f3e8a7; local_3a8 = 0x15f3e8a7; do { lVar15 = uVar21 + uVar16; lVar20 = uVar16 - lVar15; uVar21 = -lVar20; uVar16 = lVar15 + lVar20; uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = (DAT_181522a3c ^ (DAT_181522a38 ^ (DAT_181522a34 ^ (DAT_181522a30 ^ (((((((((((((((((((((((((((((((DAT_1815229b4 ^ (DAT_1815229b0 ^ (DAT_1815229ac ^ (DAT_1815229a8 ^ (DAT_1815229a4 ^ uVar10 * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7 ^ DAT_1815229b8) * 0x10001a7 ^ DAT_1815229bc) * 0x10001a7 ^ DAT_1815229c0) * 0x10001a7 ^ DAT_1815229c4) * 0x10001a7 ^ DAT_1815229c8) * 0x10001a7 ^ DAT_1815229cc) * 0x10001a7 ^ DAT_1815229d0) * 0x10001a7 ^ DAT_1815229d4) * 0x10001a7 ^ DAT_1815229d8) * 0x10001a7 ^ DAT_1815229dc) * 0x10001a7 ^ DAT_1815229e0) * 0x10001a7 ^ DAT_1815229e4) * 0x10001a7 ^ DAT_1815229e8) * 0x10001a7 ^ DAT_1815229ec) * 0x10001a7 ^ DAT_1815229f0) * 0x10001a7 ^ DAT_1815229f4) * 0x10001a7 ^ DAT_1815229f8) * 0x10001a7 ^ DAT_1815229fc) * 0x10001a7 ^ DAT_181522a00) * 0x10001a7 ^ DAT_181522a04) * 0x10001a7 ^ DAT_181522a08) * 0x10001a7 ^ DAT_181522a0c) * 0x10001a7 ^ DAT_181522a10) * 0x10001a7 ^ DAT_181522a14) * 0x10001a7 ^ DAT_181522a18) * 0x10001a7 ^ DAT_181522a1c) * 0x10001a7 ^ DAT_181522a20) * 0x10001a7 ^ DAT_181522a24) * 0x10001a7 ^ DAT_181522a28) * 0x10001a7 ^ DAT_181522a2c) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7; uVar10 = uVar12 & 0x2aff; uVar10 = ((uVar10 + 1) * uVar10 + 7) % 0x51; uVar16 = (longlong)(((int)(-uVar10 | uVar10) >> 0x1f) * -0xe4e5) ^ 0xe4e1; uVar17 = (*(uint *)(&UNK_181522a54 + uVar16) ^ (*(uint *)(&UNK_181522a50 + uVar16) ^ (*(uint *)(&UNK_181522a4c + uVar16) ^ (*(uint *)(&UNK_181522a48 + uVar16) ^ (*(uint *)(&UNK_181522a44 + uVar16) ^ (*(uint *)(&UNK_181522a40 + uVar16) ^ (*(uint *)((longlong)&DAT_181522a3c + uVar16) ^ uVar12) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7; uVar18 = (ulonglong)uVar17; uVar19 = 0; lVar15 = 0; uVar12 = ((*(uint *)(&UNK_181522a58 + uVar16) ^ uVar17) * 0xd3800 | (*(uint *)(&UNK_181522a58 + uVar16) ^ uVar17) * 0x10001a7 >> 0x15) + 0x8b7c351d; uVar16 = (ulonglong)uVar12; uVar10 = (uVar12 >> 0xb ^ uVar12) >> 1 & 0x7ff; uVar10 = ((uVar10 << 0xb | uVar10) * 2 ^ uVar12) + 0x59129b7a; uVar12 = uVar10 * 0x100000 | uVar10 >> 0xc; uVar10 = (uVar10 & 0xfff ^ uVar12) >> 7 & 1; do { uVar19 = -(~uVar19 + 1); uVar21 = (~uVar21 + 1 ^ 0xffffffffffffffff) + 1; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); if ((((uVar10 << 0x14 | uVar10) << 7 ^ uVar12) + 0xea0c1759) * 0x29 != 0) { thunk_FUN_1805a9280((longlong)(int)uVar21, ((ulonglong)uVar17 - (uVar16 + uVar17) ^ 0xffffffffffffffff) + 1,0x180661818 ); return; } lVar20 = (longlong)(int)local_388; puVar13 = auStack_3d8; do { puVar14 = puVar13; *(ulonglong *)(puVar14 + -8) = uVar19; *(ulonglong *)(puVar14 + -0x10) = uVar18; *(ulonglong *)(puVar14 + -0x18) = uVar16; lVar15 = (-lVar15 ^ 0xffffffffffffffffU) + 1; lVar2 = -lVar20; uVar16 = *(ulonglong *)(puVar14 + lVar2 + 0x98); uVar18 = *(ulonglong *)(puVar14 + lVar2 + 0xa0); uVar19 = *(ulonglong *)(puVar14 + lVar2 + 0xa8); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } puVar13 = puVar14 + lVar2 + 0xb0; } while (uVar10 != 0); if (*(longlong *)(lVar4 + 0x10) == 0) { *(undefined8 *)(puVar14 + lVar2 + 0x128) = 0x7ffffffffffffffe; *(undefined4 *)(puVar14 + lVar2 + 0xe0) = 0xfffffffe; *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x180661564; FUN_1805b41e0(puVar3,puVar14 + lVar2 + 0xe0,puVar14 + lVar2 + 0x128); } else { plVar6 = (longlong *)0x0; uStack_a8 = 0; uStack_88 = 0; uStack_80 = 0xf; uStack_98 = 0; *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x180661599; FUN_1806651b0(lVar4,&uStack_a8,0,lVar15); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x18066159e; uVar5 = FUN_180669160(); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806615aa; FUN_18065ab80(auStack_2f8,uVar5); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806615bb; FUN_180658820(alStack_2a8,3,1); if (DAT_18265f610 == (longlong *)0x0) { *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806615d2; lVar15 = FUN_1811316e0(0x180); *(longlong *)(puVar14 + lVar2 + 0x118) = lVar15; if (lVar15 != 0) { *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806615e7; plVar6 = (longlong *)FUN_18065a970(lVar15,1); } *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x180661600; DAT_18265f610 = plVar6; FUN_1805ccdd0(FUN_18065c9b0,plVar6); } pcVar1 = *(code **)(*DAT_18265f610 + 0x20); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x18066160d; (*pcVar1)(); iVar9 = *(int *)(alStack_2a8[0] + 4); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x180661626; uVar5 = std::ios_base::getloc((ios_base *)((longlong)alStack_2a8 + (longlong)iVar9)); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x18066163a; FUN_180652c10(auStack_318,uVar5,DAT_18265f610); iVar9 = *(int *)(alStack_2a8[0] + 4); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x180661657; std::basic_ios_>::imbue ((basic_ios_> *)((longlong)alStack_2a8 + (longlong)iVar9), alStack_328); if (plStack_320 != (longlong *)0x0) { pcVar1 = *(code **)(*plStack_320 + 0x10); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x180661667; puVar7 = (undefined8 *)(*pcVar1)(); if (puVar7 != (undefined8 *)0x0) { pcVar1 = *(code **)*puVar7; *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x18066167a; (*pcVar1)(puVar7,1); } } if (plStack_310 != (longlong *)0x0) { pcVar1 = *(code **)(*plStack_310 + 0x10); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x18066168a; puVar7 = (undefined8 *)(*pcVar1)(); if (puVar7 != (undefined8 *)0x0) { pcVar1 = *(code **)*puVar7; *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x18066169d; (*pcVar1)(puVar7,1); } } if (plStack_300 != (longlong *)0x0) { pcVar1 = *(code **)(*plStack_300 + 0x10); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806616ad; puVar7 = (undefined8 *)(*pcVar1)(); if (puVar7 != (undefined8 *)0x0) { pcVar1 = *(code **)*puVar7; *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806616c0; (*pcVar1)(puVar7,1); } } *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806616ca; FUN_18060cb50(auStack_290); uVar5 = uStack_88; puVar13 = &uStack_98; if (0xf < uStack_80) { puVar13 = (undefined1 *)CONCAT71(uStack_97,uStack_98); } *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806616f8; FUN_18065d910(auStack_290,puVar13,uVar5,uStack_220); uStack_358 = 0x7ffffffffffffffe; *(undefined4 *)(puVar14 + lVar2 + 0x104) = 0xfffffffe; *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x180661721; FUN_1805b41e0(puVar14 + lVar2 + 0xf0,puVar14 + lVar2 + 0x104,&uStack_358); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x18066172f; FUN_180652c80(alStack_2a8,puVar14 + lVar2 + 0xf0); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x180661744; puVar7 = (undefined8 *)FUN_18065bc00(puVar14 + lVar2 + 0xf0,auStack_340,&uStack_a8); uVar5 = *puVar7; *(undefined8 *)(puVar14 + lVar2 + 0xf0) = uVar5; if (puVar14[lVar2 + 0xd0] != '\0') { if (cStack_a0 != '\0') { *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x180661768; lVar15 = FUN_1805c0220( "The time string \"%s\" contains offset information, but you also passed inLocal as true. These are inconsistent." ); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x180661770; uVar8 = FUN_1805c0260(); uVar5 = *(undefined8 *)(lVar15 + 8); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x18066177f; FUN_1805b2240(uVar5,lVar4); uVar5 = *(undefined8 *)(lVar15 + 8); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x18066178d; FUN_1806548b0(uVar5,puVar14 + lVar2 + 0xd0); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806617a2; FUN_1805bc880(uVar8, "d:\\jenkins\\full\\eden\\client\\pace\\libraries\\src\\libpaceutil\\timeutils.cpp" ,0x10d); *(undefined1 **)(puVar14 + lVar2 + 0xa8) = &LAB_1806617b2; FUN_180703180(0x42,lVar15,uVar8); } *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806617c0; puVar7 = (undefined8 *)FUN_180662c90(auStack_350,puVar14 + lVar2 + 0xf0); uVar5 = *puVar7; } *puVar3 = uVar5; *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806617cf; FUN_18060c820(alStack_2a8); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806617d9; FUN_1805a5410(auStack_2f8); *(undefined8 *)(puVar14 + lVar2 + 0xa8) = 0x1806617e6; FUN_18065baf0(&uStack_a8); } *(undefined **)(puVar14 + lVar2 + 0xa8) = &UNK_180661b7c; } ############ FUN_ 1809f0490 size=2160 ############ /* WARNING: Instruction at (ram,0x0001809f0af7) overlaps instruction at (ram,0x0001809f0af2) */ /* WARNING: Removing unreachable block (ram,0x0001809f05f8) */ /* WARNING: Removing unreachable block (ram,0x0001809f04f1) */ /* WARNING: Removing unreachable block (ram,0x0001809f050d) */ /* WARNING: Removing unreachable block (ram,0x0001809f0736) */ /* WARNING: Removing unreachable block (ram,0x0001809f05d8) */ void FUN_1809f0490(longlong param_1,longlong *param_2) { undefined8 *puVar1; int iVar2; undefined4 *puVar3; longlong *plVar4; uint uVar5; int iVar6; IMAGE_DOS_HEADER *pIVar7; longlong lVar8; uint *puVar9; uint uVar10; undefined8 *puVar11; ulonglong uVar12; IMAGE_DOS_HEADER *pIVar13; int iVar14; uint uVar15; uint uVar16; undefined4 *puVar17; int unaff_retaddr; undefined1 local_e8 [32]; uint local_c8; short local_c4 [2]; undefined8 local_c0; undefined8 local_b8; uint local_b0; int local_ac; uint local_a8 [2]; undefined8 local_a0; int local_98; uint local_94; uint local_90; uint local_8c; undefined8 local_88; undefined1 local_80 [16]; undefined8 local_70; undefined8 local_68; undefined4 local_58 [4]; ulonglong local_48; local_88 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)local_e8; uVar16 = 0x57971745; uVar10 = (uint)&stack0x00000000; uVar5 = ((uVar10 & 0xeff) + 1) * (uVar10 & 0xeff) + 0x309d & 0x80000001; uVar15 = (int)(-uVar5 | uVar5) >> 0x1f; uVar5 = uVar10 & 0x2bf; iVar14 = (uVar5 + 2) * (uVar5 + 1) * uVar5; uVar5 = uVar10 & 0x23f; iVar6 = (uVar5 + 2) * (uVar5 + 1) * uVar5; local_90 = (((iVar14 >> 1) - (iVar14 >> 3)) + iVar14 * 0x55555555 >> 0x1e) >> ((byte)(((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e) & 0x1f) ^ (((int)(-uVar15 | uVar15) >> 0x1f) * -0x24 | 0x926U) ^ 0xb46; iVar6 = (uVar10 & 0x1dff) * (uVar10 & 0x1dff) + 1; uVar15 = (iVar6 >> 4) + (iVar6 >> 1) + iVar6 * 0x24924924 >> 0x1d; uVar15 = (int)(uVar15 - 7) >> 0x1f & uVar15; iVar6 = (uVar10 & 0x32ff) * (uVar10 & 0x32ff) + 1; uVar5 = (iVar6 >> 4) + (iVar6 >> 1) + iVar6 * 0x24924924 >> 0x1d; uVar5 = (int)(uVar5 - 7) >> 0x1f & uVar5; local_94 = 0xb5f7 << (((char)((byte)(-uVar15 >> 0x18) | (byte)(uVar15 >> 0x18)) >> 7) - ((char)((byte)(-uVar5 >> 0x18) | (byte)(uVar5 >> 0x18)) >> 7) & 0x1fU) & 0x31a7U ^ 0x34f7; local_70 = 0; local_68 = 0xf; local_80[0] = 0; do { /* WARNING: Call to offcut address within same function */ func_0x0001809f082c(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); iVar6 = (**(code **)(*param_2 + 0xc0))(param_2,local_80); do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); iVar14 = (**(code **)(*param_2 + 0xd0))(param_2,local_80,&local_ac,local_c4); iVar6 = iVar6 + iVar14; while (local_ac != 0) { if (local_c4[0] == 1) { if (local_ac != 0xc) goto LAB_1809f08b8; iVar14 = FUN_1809f5270(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x58) = 1; LAB_1809f08c2: iVar6 = iVar6 + iVar14; } else { if ((local_c4[0] != 2) || (local_ac != 0xf)) { LAB_1809f08b8: iVar14 = FUN_1806d8eb0(param_2,local_ac); goto LAB_1809f08c2; } puVar1 = *(undefined8 **)(param_1 + 0x48); for (puVar11 = *(undefined8 **)(param_1 + 0x40); puVar11 != puVar1; puVar11 = puVar11 + 0x18) { (**(code **)*puVar11)(puVar11,0); } *(undefined8 *)(param_1 + 0x48) = *(undefined8 *)(param_1 + 0x40); (**(code **)(*param_2 + 0xf0))(param_2,&local_8c,&local_b0); FUN_1809ce560(param_1 + 0x40,local_b0,param_1 + 0x40); uVar12 = 0; if (local_b0 != 0) { do { iVar14 = FUN_180b1cee0(uVar12 * 0xc0 + *(longlong *)(param_1 + 0x40),param_2); iVar6 = iVar6 + iVar14; uVar5 = (int)uVar12 + 1; uVar12 = (ulonglong)uVar5; } while (uVar5 < local_b0); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x59) = 1; } iVar14 = (**(code **)(*param_2 + 0xd8))(param_2); iVar2 = (**(code **)(*param_2 + 0xd0))(param_2,local_80,&local_ac,local_c4); iVar6 = iVar6 + iVar14 + iVar2; } local_98 = (**(code **)(*param_2 + 200))(param_2); local_98 = iVar6 + local_98; local_c8 = 0x811c9e53; pIVar7 = &IMAGE_DOS_HEADER_180000000; puVar3 = (undefined4 *)0x1809f09b4; local_b8 = 0x1809f2ed0; local_a0 = 0x21f1c20ce072a0cb; local_c0 = 0x1e072a0cb; LAB_1809f09e4: puVar17 = puVar3; if ((pIVar7 != (IMAGE_DOS_HEADER *)0x0) && (lVar8._0_1_ = pIVar7->e_magic[0], lVar8._1_1_ = pIVar7->e_magic[1], lVar8._2_2_ = pIVar7->e_cblp, lVar8._4_2_ = pIVar7->e_cp, lVar8._6_2_ = pIVar7->e_crlc, -1 < lVar8)) { local_a0 = 0x2621fc0; pIVar13 = pIVar7; do { if (puVar3 < IMAGE_DOS_HEADER_180000000.e_magic + lVar8 + 8) { pIVar7 = pIVar13; if (-1 < lVar8) { plVar4 = (longlong *)(lVar8 + 0x180000000); if (plVar4 < puVar3 + 1) { local_58[0] = *puVar3; goto LAB_1809f0a50; } } break; } pIVar7 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; lVar8._0_2_ = pIVar13->e_cparhdr; lVar8._2_2_ = pIVar13->e_minalloc; lVar8._4_2_ = pIVar13->e_maxalloc; lVar8._6_2_ = pIVar13->e_ss; pIVar13 = pIVar7; } while (-1 < lVar8); } goto LAB_1809f0a80; while (plVar4 = (longlong *)(lVar8 + 0x180000000), plVar4 < puVar3 + 1) { LAB_1809f0a50: *(longlong *)(&stack0x00017fffffa8 + (lVar8 - (longlong)puVar3)) = *plVar4 + -0x180000000; pIVar13 = (IMAGE_DOS_HEADER *)&pIVar13->e_cparhdr; lVar8 = *(longlong *)pIVar13; puVar17 = local_58; if (lVar8 < 0) break; } LAB_1809f0a80: do { puVar9 = &local_c8; FUN_1809ef0f5(&DAT_0000df08,puVar17,0); uVar5 = FUN_1809f0fe3(); *puVar9 = uVar5; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar16 = uVar16 * local_c8 + (uVar16 * local_c8 >> 0xc); local_c8 = local_c8 * 0x10001d1; if ((uVar16 & 0x1c) != 0) { uVar16 = uVar16 * (uVar16 >> 0x12); } if ((uVar16 & 0x1f80) != 0) { uVar16 = uVar16 ^ uVar16 >> 5; } uVar16 = uVar16 ^ uVar16 >> 0xc; puVar3 = puVar3 + 1; if (puVar3 == (undefined4 *)0x1809f2ed0) { do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } local_a8[0] = local_c8; local_8c = uVar16; } while (uVar5 != 0); do { puVar9 = local_a8; uVar5 = FUN_180a0ab69(&LAB_18113e030); *puVar9 = uVar5; FUN_1809ef6d8(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = local_a8[0] >> 0xd | local_a8[0] << 0x13; local_c8 = ~uVar5; uVar5 = (uint)local_c0 & uVar5; uVar15 = ~(uint)local_c0 & local_c8 | uVar5; if (uVar15 == uVar15 >> 5) { FUN_1809f0ce5((longlong)(int)local_94,~-(ulonglong)uVar5 + 1); return; } FUN_1809f184c(); thunk_FUN_1805a9280(); return; } goto LAB_1809f09e4; } ############ FUN_ 180710410 size=1702 ############ /* WARNING: Instruction at (ram,0x0001807108b2) overlaps instruction at (ram,0x0001807108b0) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000180710ba2) */ /* WARNING: Removing unreachable block (ram,0x00018071085d) */ /* WARNING: Removing unreachable block (ram,0x0001807108b2) */ /* WARNING: Removing unreachable block (ram,0x000180710865) */ /* WARNING: Removing unreachable block (ram,0x000180710652) */ /* WARNING: Removing unreachable block (ram,0x000180710524) */ /* WARNING: Removing unreachable block (ram,0x00018071053e) */ /* WARNING: Removing unreachable block (ram,0x000180710543) */ /* WARNING: Removing unreachable block (ram,0x0001807106be) */ /* WARNING: Removing unreachable block (ram,0x0001807109cc) */ /* WARNING: Removing unreachable block (ram,0x000180710877) */ undefined8 FUN_180710410(longlong param_1,undefined4 param_2,longlong param_3,ulonglong param_4) { longlong lVar1; undefined1 *puVar2; ulonglong uVar3; undefined8 uVar4; code **ppcVar5; longlong lVar6; int *piVar7; int *piVar8; int *piVar9; undefined1 *puVar10; undefined1 *puVar11; int iVar12; uint uVar13; undefined1 *puVar14; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 local_b8 [32]; undefined4 local_98; uint local_94; undefined8 local_90; undefined8 local_88; uint local_80; code *local_78 [5]; ulonglong local_50; puVar10 = local_b8; local_50 = DAT_182615970 ^ (ulonglong)local_b8; uVar13 = (uint)&stack0x00000000 & 0x3ff; if ((((uVar13 + 2) * (uVar13 + 1) * uVar13) % 3 & 0x22) == 0) { uVar13 = (uint)&stack0x00000000 & 0x30ff; uVar13 = (uVar13 * uVar13 + 1) % 7; } else { uVar13 = 1; } local_80 = ((int)(-uVar13 | uVar13) >> 0x1f) * -0x1581 ^ 0x1141; local_88 = 0x1815361a4; local_90 = 0x1815362a4; do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); iVar12 = (((((((((((iRam00000001815361a4 * 0x6b + iRam00000001815361a8) * 0x6b + iRam00000001815361ac) * 0x6b + iRam00000001815361b0) * 0x6b + iRam00000001815361b4) * 0x6b + iRam00000001815361b8) * 0x6b + iRam00000001815361bc ) * 0x6b + iRam00000001815361c0) * 0x6b + iRam00000001815361c4) * 0x6b + iRam00000001815361c8) * 0x6b + iRam00000001815361cc) * 0x6b + iRam00000001815361d0) * 0x6b + iRam00000001815361d4; piVar7 = (int *)0x1815361d8; puVar14 = (undefined1 *)register0x00000020; local_98 = param_2; do { uVar4 = rdtsc(); local_94 = (uint)uVar4 ^ (uint)((ulonglong)uVar4 >> 0x20); FUN_1807110f4(); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); local_94 = (local_94 * -0x4601e57b >> 0x18 ^ local_94 * -0x4601e57b) * -0x166a13ad; if (local_94 < 0xf00f00) { local_78[0] = (code *)0x0; do { ppcVar5 = local_78; func_0x00018071006c(ppcVar5,local_78); *ppcVar5 = FUN_18141db20; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar3 = (*local_78[0])(); if (1 < uVar3) { lVar6 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar6 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar6 = *(longlong *)register0x00000020; } } } lVar6 = 4; do { iVar12 = (((iVar12 * 0x6b + *piVar7) * 0x6b + piVar7[1]) * 0x6b + piVar7[2]) * 0x6b + piVar7[3]; piVar7 = piVar7 + 4; lVar6 = lVar6 + -1; } while (lVar6 != 0); do { param_3 = param_3 + param_1; lVar6 = ((param_1 - param_3 ^ 0xffffffffffffffffU) + 1) - param_3; param_1 = -lVar6; param_3 = param_3 + lVar6; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); lVar6 = 3; do { piVar8 = piVar7; iVar12 = (((((iVar12 * 0x6b + *piVar8) * 0x6b + piVar8[1]) * 0x6b + piVar8[2]) * 0x6b + piVar8[3]) * 0x6b + piVar8[4]) * 0x6b + piVar8[5]; lVar6 = lVar6 + -1; piVar7 = piVar8 + 6; } while (lVar6 != 0); do { FUN_18070f174(0x6c2c); param_4 = ~((param_4 ^ 0xffffffffffffffff) + 1) + 1; uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); local_90 = 0x8067a5a24ac3a7f9; local_94 = 0x4ac3a7f9; piVar7 = piVar8 + 0xd; if (((ulonglong)piVar7 & 0xe0) == 0) { uVar13 = 1; } else { uVar13 = 0x1b; } piVar9 = (int *)((longlong)piVar7 + ((longlong)(((int)(-uVar13 | uVar13) >> 0x1f) * -0x68b8) ^ 0x68bcU)); uVar13 = ((((((((((((((((iVar12 * 0x6b + piVar8[6]) * 0x6b + piVar8[7]) * 0x6b + piVar8[8]) * 0x6b + piVar8[9]) * 0x6b + piVar8[10]) * 0x6b + piVar8[0xb]) * 0x6b + piVar8[0xc]) * 0x6b + *piVar7) * 0x6b + *piVar9) * 0x6b + piVar9[1]) * 0x6b + piVar9[2]) * 0x6b + piVar9[3]) * 0x6b + piVar9[4]) * 0x6b + piVar9[5]) * 0x6b + piVar9[6]) * 0x6b + piVar9[7]) * 0x6b + piVar9[8]; uVar13 = (uVar13 * 0x8000 | uVar13 >> 0x11) + 0x5c83688d ^ 0x4ac3a7f9; if ((uVar13 & 0x7ffffff) != 0 || uVar13 != 0) { FUN_180710ca2(); uVar4 = thunk_FUN_1805a9280(); return uVar4; } lVar6 = (longlong)(int)local_80; puVar2 = puVar10; do { puVar11 = puVar2; *(ulonglong *)(puVar11 + -8) = param_4; *(undefined1 **)(puVar11 + -0x10) = puVar14; *(longlong *)(puVar11 + -0x18) = param_1; lVar1 = -lVar6; param_1 = *(longlong *)(puVar11 + lVar1 + 0x4a8); puVar14 = *(undefined1 **)(puVar11 + lVar1 + 0x4b0); param_4 = *(ulonglong *)(puVar11 + lVar1 + 0x4b8); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } puVar2 = puVar11 + lVar1 + 0x4c0; } while (uVar13 != 0); if ((param_1 != 0) && ((param_3 != 0 || (param_4 != 0)))) { uVar13 = *(uint *)(puVar11 + lVar1 + 0x4e0); if (0x20 < *(uint *)(puVar11 + lVar1 + 0x4e0)) { uVar13 = 0x20; } *(undefined8 *)(puVar11 + lVar1 + 0x4b8) = 0x180710b0e; FUN_18096f860(param_1,puVar11 + lVar1 + 0x508); if (param_4 != 0) { *(undefined1 **)(puVar11 + lVar1 + 0x4b8) = &LAB_180710b23; FUN_1806213f0(param_4,puVar11 + lVar1 + 0x508,0x20); } if ((param_3 != 0) && (uVar13 != 0)) { *(undefined8 *)(puVar11 + lVar1 + 0x4b8) = 0x180710b3f; FUN_180707db0(uVar13,puVar11 + lVar1 + 0x508,param_3); } } *(undefined **)(puVar11 + lVar1 + 0x4b8) = &UNK_180710c92; } ############ FUN_ 180970450 size=2220 ############ /* WARNING: Instruction at (ram,0x000180970bcf) overlaps instruction at (ram,0x000180970bce) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180970c42) */ /* WARNING: Removing unreachable block (ram,0x000180970786) */ /* WARNING: Removing unreachable block (ram,0x0001809704ca) */ /* WARNING: Removing unreachable block (ram,0x0001809704ab) */ /* WARNING: Removing unreachable block (ram,0x0001809706b3) */ /* WARNING: Removing unreachable block (ram,0x000180970bcc) */ /* WARNING: Removing unreachable block (ram,0x000180970899) */ void FUN_180970450(undefined4 *param_1) { uint uVar1; uint uVar2; int iVar3; ulonglong uVar4; undefined1 *puVar5; uint uVar6; uint uVar8; longlong lVar9; ulonglong uVar10; longlong lVar11; longlong unaff_R13; longlong lVar12; int unaff_retaddr; undefined1 auStack_58 [32]; ulonglong uVar7; puVar5 = auStack_58; uVar8 = (uint)&stack0x00000000; uVar1 = uVar8 & 0x1ff; uVar6 = uVar8 & 0x3dff; uVar7 = (ulonglong)uVar6; uVar6 = (uVar6 + 1) * uVar6 + 7; uVar8 = (((uVar8 & 0x6ff) + 1) * (uVar8 & 0x6ff) + 7) % 0x51 | uVar8; uVar10 = (ulonglong)uVar8; iVar3 = (uVar1 + 2) * (uVar1 + 1) * uVar1; param_1[0x22] = DAT_18260c2d0; do { uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); uVar1 = (((((((DAT_181606458 ^ (DAT_181606454 ^ (DAT_181606450 ^ (DAT_18160644c ^ (DAT_181606448 ^ (DAT_181606444 ^ (DAT_181606440 ^ 0x811c9ddb) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193 ^ DAT_18160645c) * 0x1000193 ^ DAT_181606460) * 0x1000193 ^ DAT_181606464) * 0x1000193 ^ DAT_181606468) * 0x1000193 ^ DAT_18160646c) * 0x1000193 ^ DAT_181606470) * 0x1000193 ^ DAT_181606474; param_1[0x23] = DAT_18260c2d4; uVar1 = uVar1 * 0x1000193; uVar4 = (ulonglong)uVar1; param_1[0x24] = DAT_18260c2d8; do { uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = DAT_18160648c ^ (DAT_181606488 ^ (DAT_181606484 ^ (DAT_181606480 ^ (DAT_18160647c ^ (DAT_181606478 ^ uVar1) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193; param_1[0x25] = DAT_18260c2dc; uVar1 = DAT_181606490 ^ uVar1 * 0x1000193; param_1[0x26] = DAT_18260c2e0; uVar1 = DAT_1816064ac ^ (DAT_1816064a8 ^ (DAT_1816064a4 ^ (DAT_1816064a0 ^ (DAT_18160649c ^ (DAT_181606498 ^ (DAT_181606494 ^ uVar1 * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193 ) * 0x1000193) * 0x1000193) * 0x1000193; do { if (uVar7 == 0x4ad875dc) { register0x00000020 = (BADSPACEBASE *)((~(ulonglong)register0x00000020 + 1 ^ 0xffffffffffffffff) + 1); } uVar2 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); do { /* WARNING: Call to offcut address within same function */ func_0x000180970b7c(0x4c04); uVar2 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = DAT_1816064cc ^ (DAT_1816064c8 ^ (DAT_1816064c4 ^ (DAT_1816064c0 ^ (DAT_1816064bc ^ (DAT_1816064b8 ^ (DAT_1816064b4 ^ (DAT_1816064b0 ^ uVar1 * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193 ) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193; param_1[0x27] = DAT_18260c2e4; uVar1 = DAT_1816064e8 ^ (DAT_1816064e4 ^ (DAT_1816064e0 ^ (DAT_1816064dc ^ (DAT_1816064d8 ^ (DAT_1816064d4 ^ (DAT_1816064d0 ^ uVar1 * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193 ) * 0x1000193) * 0x1000193) * 0x1000193; param_1[0x28] = DAT_18260c2e8; uVar2 = DAT_1816064ec ^ uVar1 * 0x1000193; param_1[0x29] = DAT_18260c2ec; uVar1 = DAT_181606538; uVar2 = DAT_181606534 ^ (DAT_181606530 ^ (DAT_18160652c ^ (DAT_181606528 ^ (DAT_181606524 ^ (DAT_181606520 ^ (DAT_18160651c ^ (DAT_181606518 ^ (DAT_181606514 ^ (DAT_181606510 ^ (DAT_18160650c ^ (DAT_181606508 ^ (DAT_181606504 ^ (DAT_181606500 ^ (DAT_1816064fc ^ (DAT_1816064f8 ^ (DAT_1816064f4 ^ (DAT_1816064f0 ^ uVar2 * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193 ) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193; param_1[1] = 0; uVar1 = (DAT_18160653c ^ (uVar1 ^ uVar2 * 0x1000193) * 0x1000193) * 0x1000193 ^ 0x690c978f; uVar1 = (uVar1 << 0xc | uVar1 >> 0x14) ^ 0xb3e0165c; do { lVar9 = uVar4 + uVar10; lVar11 = (longlong)register0x00000020 + unaff_R13; lVar12 = unaff_R13 - lVar11; register0x00000020 = (BADSPACEBASE *)-lVar12; unaff_R13 = lVar11 + lVar12; uVar4 = (uVar10 - lVar9 ^ 0xffffffffffffffff) + 1; uVar10 = lVar9 - uVar4; uVar2 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); *param_1 = 0; if ((uVar1 >> 0x11 | uVar1 << 0xf) != 0xfecce9fe) { thunk_FUN_1805a9280(); return; } do { *(ulonglong *)(puVar5 + -8) = uVar4; *(undefined4 **)(puVar5 + -0x10) = param_1; *(ulonglong *)(puVar5 + -0x18) = uVar7; lVar9 = -(longlong) (int)(0x261a << ((byte)(iVar3 * 0x55555555 + ((iVar3 >> 1) - (iVar3 >> 3)) >> 0x1e) & (char)uVar6 + (char)(uVar6 / 0x51) * -0x51 & 0x1f) ^ (int)(-uVar8 | uVar8) >> 0x1f & 0x25faU); uVar7 = *(ulonglong *)(puVar5 + lVar9 + 0x3c8); param_1 = *(undefined4 **)(puVar5 + lVar9 + 0x3d0); uVar4 = *(ulonglong *)(puVar5 + lVar9 + 0x3d8); puVar5 = puVar5 + lVar9 + 0x3e0; uVar1 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); return; } ############ FUN_ 181357a40 size=3724 ############ /* WARNING: Instruction at (ram,0x0001813582cc) overlaps instruction at (ram,0x0001813582c8) */ /* WARNING: Removing unreachable block (ram,0x000181358cf0) */ /* WARNING: Removing unreachable block (ram,0x000181358b1d) */ /* WARNING: Removing unreachable block (ram,0x000181358863) */ /* WARNING: Removing unreachable block (ram,0x00018135866f) */ /* WARNING: Removing unreachable block (ram,0x00018135847d) */ /* WARNING: Removing unreachable block (ram,0x000181357b12) */ /* WARNING: Removing unreachable block (ram,0x000181357ac5) */ /* WARNING: Removing unreachable block (ram,0x000181358091) */ /* WARNING: Removing unreachable block (ram,0x000181358504) */ /* WARNING: Removing unreachable block (ram,0x000181358a38) */ /* WARNING: Removing unreachable block (ram,0x000181358ccf) */ /* WARNING: Removing unreachable block (ram,0x000181358cdc) */ /* WARNING: Removing unreachable block (ram,0x000181358ce0) */ /* WARNING: Removing unreachable block (ram,0x000181358761) */ /* WARNING: Removing unreachable block (ram,0x0001813582c8) */ /* WARNING: Removing unreachable block (ram,0x000181358b00) */ /* WARNING: Removing unreachable block (ram,0x000181357b65) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ ulonglong FUN_181357a40(undefined8 *param_1) { int *piVar1; undefined1 uVar2; ulonglong uVar3; uint uVar4; undefined8 uVar5; ulonglong uVar6; undefined1 *puVar7; undefined1 *puVar8; undefined1 *puVar9; uint uVar10; int iVar11; uint uVar12; int iVar13; ulonglong uVar14; uint uVar15; ulonglong uVar16; undefined8 unaff_R14; longlong lVar17; ulonglong uVar18; int *piVar19; ulonglong uVar20; bool bVar21; char cVar22; char cVar23; int unaff_retaddr; undefined1 auStack_88 [32]; undefined4 *local_68; undefined4 *local_60; undefined *local_58; puVar9 = auStack_88; puVar7 = auStack_88; uVar12 = (uint)&stack0x00000000; uVar4 = uVar12 & 0x3bf; uVar15 = uVar12 & 0x13f; uVar3 = (ulonglong)uVar15; iVar11 = (uVar4 + 2) * (uVar4 + 1) * uVar4; uVar4 = (uVar12 & 0xfff) * (uVar12 & 0xfff) * 0x10 + 4; uVar10 = ((uVar12 & 0x11ff) * (uVar12 & 0x11ff) + 1) % 7; uVar4 = ((int)(-uVar10 | uVar10) >> 0x1f) >> ((char)uVar4 + (char)(uVar4 / 0x13) * -0x13 & 0x1fU); uVar12 = uVar12 & 0x2bf; uVar12 = 0xf3c0 - ((uVar12 + 2) * (uVar12 + 1) * uVar12) % 3 ^ (int)(-uVar4 | uVar4) >> 0x1f & 0xf6c0U; uVar18 = CONCAT71((int7)((ulonglong)unaff_R14 >> 8),*(char *)((longlong)param_1 + 0xc) == '\0'); local_68 = &DAT_18136c310; local_58 = &DAT_18136c410; uVar5 = 0xe530d593; uVar4 = (DAT_18136c310 + 0x153e9ef4) * -0x395b586d; uVar10 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c314) * -0x395b586d; uVar10 = uVar10 ^ uVar10 >> 0x10; bVar21 = uVar10 == 0; piVar19 = (int *)register0x00000020; uVar4 = uVar10; do { cVar23 = '\0'; cVar22 = (int)uVar4 < 0; FUN_1813582ac(0x6e00); if (bVar21 || cVar23 != cVar22) { piVar19 = (int *)((~(ulonglong)piVar19 + 1 ^ 0xffffffffffffffff) + 1); } uVar4 = (*piVar19 + 1) * *piVar19 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } bVar21 = uVar4 == 0; } while (!bVar21); *(undefined1 *)((longlong)param_1 + 0xc) = 1; uVar4 = (DAT_18136c318 + uVar10) * -0x395b586d; do { uVar10 = (*piVar19 + 1) * *piVar19 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar4 = (DAT_18136c31c + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c320) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c324) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c328) * -0x395b586d; uVar20 = (ulonglong)(uVar4 ^ uVar4 >> 0x10); cVar22 = FUN_180528bd0(*param_1,uVar5); if (cVar22 == *(char *)(param_1 + 1)) { uVar14 = (ulonglong)uVar12; } else { uVar14 = 0x100; local_60 = &DAT_18120faec; local_68 = (undefined4 *)&LAB_18120fbec; uVar4 = (DAT_18120faec + -0x5dbcd0be) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120faf0) * -0x395b586d; do { uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar2 = FUN_180528bd0(*param_1); *(undefined1 *)(param_1 + 1) = uVar2; uVar4 = (DAT_18120faf4 + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120faf8) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fafc) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb00) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb04) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb08) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb0c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb10) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb14) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb18) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb1c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb20) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb24) * -0x395b586d; uVar18 = (ulonglong)(uVar4 ^ uVar4 >> 0x10); do { lVar17 = (longlong)register0x00000020 + uVar18; register0x00000020 = (BADSPACEBASE *)(~(uVar18 - lVar17) + 1); uVar18 = lVar17 - (longlong)register0x00000020; uVar4 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (DAT_18120fb28 + (int)uVar18) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb2c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb30) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb34) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb38) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb3c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb40) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb44) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb48) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18120fb4c) * -0x395b586d; do { uVar14 = (~uVar14 + 1 ^ 0xffffffffffffffff) + 1; uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar4 = (_UNK_18120fb50 + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb54) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb58) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb5c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb60) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb64) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb68) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb6c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb70) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb74) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb78) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb7c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb80) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb84) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb88) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb8c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb90) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb94) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb98) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fb9c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fba0) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fba4) * -0x395b586d; do { uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar4 = (_UNK_18120fba8 + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbac) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbb0) * -0x395b586d; do { uVar14 = (-uVar14 ^ 0xffffffffffffffff) + 1; uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar4 = (_UNK_18120fbb4 + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbb8) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbbc) * -0x395b586d; do { /* WARNING: Call to offcut address within same function */ func_0x00018135883f(0xfc2c); uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar4 = (_UNK_18120fbc0 + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbc4) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbc8) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbcc) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbd0) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbd4) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbd8) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbdc) * -0x395b586d; uVar4 = uVar4 ^ uVar4 >> 0x10; do { func_0x000181358f1d(); uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar18 = CONCAT71((uint7)(uint3)(uVar4 >> 8),1); uVar4 = (_UNK_18120fbe0 + uVar4) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbe4) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + _UNK_18120fbe8) * -0x395b586d; uVar4 = (uVar4 >> 0x10 ^ uVar4) + 0xb079a1d2; uVar4 = ((uVar4 >> 0x10 | uVar4 * 0x10000) & 0xb8f0470f | (uVar4 * 0x10000 | uVar4 >> 0x10) & 0x470fb8f0) + 0x72246ee; uVar4 = (uVar4 * 0x200000 | uVar4 >> 0xb) + 0xcf1faa7a; uVar6 = (ulonglong)uVar4; if ((char)((uVar4 == 0xc60d242f) * '\x1d') == '\0') { uVar3 = thunk_FUN_1805a9280((longlong) (int)(0x1c10 << ((byte)(((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e) & 0x1f) ^ (0x10b0 >> ((char)((ulonglong) ((longlong) (int)((uVar15 + 2) * (uVar15 + 1) * uVar15) * 0x55555556) >> 0x20) * -3 & 0x1fU) | 0x13f0U)),uVar6, ((uVar14 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1); return uVar3; } puVar8 = puVar7; uVar16 = (longlong)(int)uVar12; do { *(ulonglong *)(puVar8 + -8) = uVar3; *(ulonglong *)(puVar8 + -0x10) = uVar20; *(ulonglong *)(puVar8 + -0x18) = uVar6; uVar14 = -(~uVar16 + 1); lVar17 = -uVar16; uVar6 = *(ulonglong *)(puVar8 + lVar17 + 0x4e8); uVar20 = *(ulonglong *)(puVar8 + lVar17 + 0x4f0); uVar3 = *(ulonglong *)(puVar8 + lVar17 + 0x4f8); puVar9 = puVar8 + lVar17 + 0x500; uVar4 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } puVar8 = puVar8 + lVar17 + 0x500; uVar16 = uVar14; } while (uVar4 != 0); } uVar4 = (DAT_18136c32c + (int)uVar20) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c330) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c334) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c338) * -0x395b586d; do { uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar4 = (DAT_18136c33c + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c340) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c344) * -0x395b586d; do { *(undefined8 *)(puVar9 + -8) = 0x18135899e; FUN_18135919c(0x6e00); uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar4 = (DAT_18136c348 + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c34c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c350) * -0x395b586d; do { uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar4 = (DAT_18136c354 + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c358) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c35c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c360) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c364) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c368) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c36c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c370) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_18136c374) * -0x395b586d; piVar19 = &DAT_18136c378; do { uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); lVar17 = 7; uVar4 = (DAT_18136c378 + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; do { uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[1]) * -0x395b586d; piVar1 = piVar19 + 2; piVar19 = piVar19 + 3; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *piVar1) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + *piVar19) * -0x395b586d; lVar17 = lVar17 + -1; } while (lVar17 != 0); uVar4 = uVar4 ^ uVar4 >> 0x10; uVar3 = (ulonglong)uVar4; uVar10 = (uint)piVar19; if ((*(ulonglong *)(puVar9 + 0x30) & 0x34) == 0) { uVar12 = uVar10 & 0x7f | 0x30; uVar15 = uVar10 & 0x1f | 0x1b; uVar12 = uVar12 * uVar12 * 0xd973 ^ uVar15 * uVar15 * 0xfcb5; } else { uVar12 = (((uVar4 & 0x3ff) + 1) * (uVar4 & 0x3ff) + 7) % 0x51; } uVar15 = (uint)*(ulonglong *)(puVar9 + 0x30) & 0x37f; uVar10 = uVar10 & 0x7f; iVar11 = (uVar10 + 2) * (uVar10 + 1) * uVar10; iVar13 = (uVar15 + 2) * (uVar15 + 1) * uVar15; piVar19 = (int *)((longlong)piVar19 + (0x358aL >> ((char)iVar13 + ((char)(iVar13 / 3) + (char)(iVar13 >> 0x1f) + (char)(((longlong)iVar13 / 3 + ((longlong)iVar13 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3 + (char)(((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e) & 0x3fU) ^ 0xffffffffffffca3eU) + (ulonglong)(~((int)(-uVar12 | uVar12) >> 0x1f & 0xffffffafU) & 0xa47a)); uVar4 = (*piVar19 + uVar4) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[1]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[2]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[3]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[4]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[5]) * -0x395b586d; do { uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar4 = (piVar19[6] + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[7]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[8]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[9]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[10]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[0xb]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[0xc]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[0xd]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[0xe]) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + piVar19[0xf]) * -0x395b586d; uVar4 = (uVar4 >> 0x10 ^ uVar4) + 0xb079a1d2; uVar4 = ((uVar4 >> 0x10 | uVar4 * 0x10000) & 0xb8f0470f | (uVar4 * 0x10000 | uVar4 >> 0x10) & 0x470fb8f0) + 0x72246ee; if (*(int *)(puVar9 + 0xa8) == (uVar4 * 0x200000 | uVar4 >> 0xb) + 0xcf1faa7a) { piVar19 = (int *)(puVar9 + 0x88); do { *(ulonglong *)(puVar9 + -8) = uVar3; *(ulonglong *)(puVar9 + -0x10) = uVar18; *(ulonglong *)(puVar9 + -0x18) = uVar20; lVar17 = -(longlong)(int)uVar14; uVar20 = *(ulonglong *)(puVar9 + lVar17 + 0x4e8); uVar18 = *(ulonglong *)(puVar9 + lVar17 + 0x4f0); uVar3 = *(ulonglong *)(puVar9 + lVar17 + 0x4f8); puVar9 = puVar9 + lVar17 + 0x500; uVar4 = (*piVar19 + 1) * *piVar19 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); return uVar18 & 0xff; } *(ulonglong *)(puVar9 + -8) = (ulonglong)uVar12; *(ulonglong *)(puVar9 + -0x10) = uVar3; *(undefined8 *)(puVar9 + -0x18) = 0; uVar3 = thunk_FUN_1805a9280(); return uVar3; } ############ FUN_ 180707e90 size=2870 ############ /* WARNING: Instruction at (ram,0x000180708238) overlaps instruction at (ram,0x000180708237) */ /* WARNING: Removing unreachable block (ram,0x000180708237) */ /* WARNING: Removing unreachable block (ram,0x000180708003) */ /* WARNING: Removing unreachable block (ram,0x000180708402) */ /* WARNING: Removing unreachable block (ram,0x000180707fea) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined8 FUN_180707e90(longlong param_1,longlong param_2,undefined1 *param_3) { undefined1 uVar1; undefined8 uVar2; uint uVar3; uint uVar4; int iVar5; ulonglong uVar6; int *piVar7; int *piVar8; uint uVar9; ulonglong uVar10; uint uVar11; longlong lVar12; uint uVar13; uint uVar14; longlong lVar15; int unaff_retaddr; lVar15 = 0x3490; uVar3 = (iRam00000001811974f0 + -0x758f68fe) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + iRam00000001811974f4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + iRam00000001811974f8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + iRam00000001811974fc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + iRam0000000181197500) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + _DAT_181197504) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + iRam0000000181197508) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + iRam000000018119750c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + iRam0000000181197510) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + iRam0000000181197514) * 0x401; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { lVar12 = (longlong)register0x00000020 + lVar15; lVar15 = lVar15 - lVar12; register0x00000020 = (BADSPACEBASE *)-lVar15; lVar15 = lVar12 + lVar15; uVar4 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); lVar15 = 3; uVar3 = (iRam0000000181197518 + (uVar3 ^ uVar3 >> 6)) * 0x401; piVar7 = &iRam0000000181197518; do { piVar8 = piVar7; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[1]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[2]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[3]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[4]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[5]) * 0x401; lVar15 = lVar15 + -1; piVar7 = piVar8 + 5; } while (lVar15 != 0); do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (piVar8[6] + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[7]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[8]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[9]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[10]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0xb]) * 0x401; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (piVar8[0xc] + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0xd]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0xe]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0xf]) * 0x401; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (piVar8[0x10] + (uVar3 ^ uVar3 >> 6)) * 0x401; piVar7 = piVar8 + 0x12; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0x11]) * 0x401; uVar4 = (uint)piVar7 & 0x59ff; uVar11 = ((uVar3 >> 6 ^ uVar3) + *piVar7) * 0x401; uVar11 = uVar11 ^ uVar11 >> 6; uVar3 = uVar11 & 7 | 0x3e; uVar3 = uVar3 * uVar3 * 0x871d ^ 0xa3b565d; piVar7 = (int *)((longlong)piVar7 + ((longlong) (0x3746 << ((char)((int)-((uVar4 * uVar4 + 1) % 7) >> 0x1f) - ((char)((byte)(-uVar3 >> 0x18) | (byte)(uVar3 >> 0x18)) >> 7) & 0x1fU)) ^ 0x3742U)); uVar3 = (*piVar7 + uVar11) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar7[1]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar7[2]) * 0x401; piVar8 = piVar7 + 4; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar7[3]) * 0x401; uVar11 = ((uVar3 >> 6 ^ uVar3) + *piVar8) * 0x401; uVar11 = uVar11 ^ uVar11 >> 6; uVar3 = (uint)piVar8 & 0x75ff; uVar13 = (uint)piVar8 & 0x17f; uVar14 = uVar11 & 0x1f; uVar9 = (uVar3 * uVar3 + 1) % 7; uVar4 = (uVar14 | 0xc) * (uVar14 | 0xc) * 0xd211 ^ 0x19433c0; uVar3 = uVar14 + 1; uVar10 = (ulonglong)uVar3; uVar4 = (int)((-uVar4 | uVar4) & (-uVar9 | uVar9)) >> 0x1f; iVar5 = (uVar13 + 2) * (uVar13 + 1) * uVar13; uVar6 = ((longlong) (int)((uVar14 * uVar14 * uVar3 * uVar3 & 2) << ((char)iVar5 + (char)((ulonglong)((longlong)iVar5 * 0x55555556) >> 0x20) * -3 & 0x1fU)) | 0x6b7eU) ^ 0xffffffffffff94a2; piVar8 = (int *)((longlong)piVar8 + uVar6 + ((longlong)(((int)(-uVar4 | uVar4) >> 0x1f) * -0xad23) ^ 0xad0bU)); uVar3 = (*piVar8 + uVar11) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[1]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[2]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[3]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[4]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[5]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[6]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[7]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[8]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[9]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[10]) * 0x401; do { lVar15 = uVar6 + uVar10; uVar6 = ~(uVar10 - lVar15) + 1; uVar10 = lVar15 - uVar6; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (piVar8[0xb] + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0xc]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0xd]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0xe]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0xf]) * 0x401; do { FUN_18070749d(0xd014,uVar6); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (piVar8[0x10] + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0x11]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0x12]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar8[0x13]) * 0x401; uVar3 = uVar3 >> 6 ^ uVar3; if ((uVar3 >> 8 | uVar3 << 0x18) != 0x2c2f337b) { do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); if (((param_1 == 0) || (param_2 == 0)) || (param_3 == (undefined1 *)0x0)) { uVar2 = 99; } else { uVar1 = FUN_18096b400(param_1,param_2); *param_3 = uVar1; uVar2 = 0; } return uVar2; } FUN_1807077c2(); uVar2 = thunk_FUN_1805a9280(); return uVar2; } ############ FUN_ 180bd7239 size=1264 ############ /* WARNING: Removing unreachable block (ram,0x000180bd7521) */ /* WARNING: Removing unreachable block (ram,0x000180bd7523) */ void FUN_180bd7239(void) { ulonglong uVar1; uint uVar2; uint uVar3; ulonglong uVar4; longlong unaff_RBX; undefined1 *puVar5; ulonglong unaff_RBP; longlong unaff_RSI; ulonglong unaff_RDI; longlong in_R9; undefined8 in_R11; longlong unaff_R12; longlong lVar6; int *unaff_R15; int local_res20; int in_stack_00000078; longlong in_stack_00000080; ulonglong in_stack_00000088; uint in_stack_00000098; while( true ) { lVar6 = unaff_R12 + in_R9; uVar2 = (*unaff_R15 + 1) * *unaff_R15 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } if (uVar2 == 0) break; FUN_180bd7238(0x7e0c); unaff_R12 = lVar6 - in_R9; if (in_R9 <= lVar6) { FUN_180bd7239(); return; } } do { uVar2 = (in_stack_00000078 + 1) * in_stack_00000078 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); do { in_stack_00000088 = ((in_stack_00000088 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; uVar2 = (in_stack_00000078 + 1) * in_stack_00000078 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar2 = *(uint *)(unaff_RSI + 0xfc + unaff_RBX) ^ ((((*(uint *)(unaff_RSI + 0xec + unaff_RBX) ^ (((((((((((((((((((((((((((((((((((((((((((*(uint *)(unaff_RSI + 0x40 + unaff_RBX) ^ (uint)lVar6) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x44 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x48 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x4c + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x50 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x54 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x58 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x5c + unaff_RBX) ) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x60 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 100 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x68 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x6c + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x70 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x74 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x78 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x7c + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x80 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x84 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x88 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x8c + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x90 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x94 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x98 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0x9c + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xa0 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xa4 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xa8 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xac + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xb0 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xb4 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xb8 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xbc + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xc0 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xc4 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 200 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xcc + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xd0 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xd4 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xd8 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xdc + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xe0 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xe4 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xe8 + unaff_RBX)) * 0x10001d1) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xf0 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xf4 + unaff_RBX)) * 0x10001d1 ^ *(uint *)(unaff_RSI + 0xf8 + unaff_RBX)) * 0x10001d1; uVar3 = (uVar2 * 0x40000000 | uVar2 * 0x10001d1 >> 2) ^ 0xdf3fb1c5; uVar2 = (uVar3 >> 3 ^ uVar3) >> 4 & 1; uVar3 = (uVar2 * 8 | uVar2) << 4 ^ uVar3; uVar4 = (ulonglong)uVar3; uVar1 = CONCAT71((int7)(unaff_RDI >> 8),uVar3 != in_stack_00000098); if ((uVar1 & 0x1ffff) == 0 && (int)uVar1 == 0) { if (unaff_RBP != 0) { do { uVar4 = unaff_RDI >> 3; *(char *)(unaff_RDI + in_stack_00000080) = (char)(*(ulonglong *)(in_stack_00000088 + uVar4 * 8) >> (((byte)unaff_RDI & 7) << 3)); unaff_RDI = unaff_RDI + 1; } while (unaff_RDI < unaff_RBP); } puVar5 = (undefined1 *)register0x00000020; do { *(undefined8 *)(puVar5 + -8) = 0x180bd75e8; lVar6 = (longlong)local_res20; func_0x000180bd60ed(); *(ulonglong *)(puVar5 + -8) = uVar4; *(undefined8 *)(puVar5 + -0x10) = in_R11; *(ulonglong *)(puVar5 + -0x18) = unaff_RDI; lVar6 = -lVar6; unaff_RDI = *(ulonglong *)(puVar5 + lVar6 + 0xc48); in_R11 = *(undefined8 *)(puVar5 + lVar6 + 0xc50); uVar4 = *(ulonglong *)(puVar5 + lVar6 + 0xc58); uVar2 = (*(int *)(puVar5 + lVar6 + 0xcd8) + 1) * *(int *)(puVar5 + lVar6 + 0xcd8) & 0x80000001 ; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } puVar5 = puVar5 + lVar6 + 0xc60; } while (uVar2 != 0); return; } if (unaff_RBP != 0) { do { *(char *)(unaff_RDI + in_stack_00000080) = (char)(*(ulonglong *)(in_stack_00000088 + (unaff_RDI & 0xfffffffffffffff8)) >> (((byte)unaff_RDI & 7) << 3)); unaff_RDI = unaff_RDI + 1; } while (unaff_RDI < unaff_RBP); } thunk_FUN_1805a9280(); return; } ############ FUN_ 180b06c70 size=1864 ############ /* WARNING: Removing unreachable block (ram,0x000180b06ca8) */ /* WARNING: Removing unreachable block (ram,0x000180b06d34) */ /* WARNING: Switch with 1 destination removed at 0x000180b074ed */ void FUN_180b06c70(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined1 *puVar1; uint uVar2; int iVar3; uint uVar4; int iVar5; longlong lVar6; undefined8 uVar7; undefined1 *puVar8; longlong lVar9; undefined8 uVar10; undefined8 uVar11; int unaff_retaddr; undefined1 auStack_68 [32]; ulonglong local_48; undefined8 local_40; uint local_38; undefined8 local_30; uVar11 = 0x7b0; if (((ulonglong)&stack0x00000000 & 0x4c0) == 0) { uVar4 = (uint)&stack0x00000000 & 0xaff; uVar2 = (uint)&stack0x00000000 & 0x7ff; uVar4 = (uVar4 * uVar4 + 1) % 7; uVar2 = (uVar2 * uVar2 + 1) % 7; uVar2 = (int)((-uVar2 | uVar2) & (-uVar4 | uVar4)) >> 0x1f; local_38 = ((int)(-uVar2 | uVar2) >> 0x1f) * -0xa08b; } else { local_38 = 0xa08b; } local_38 = local_38 ^ 0xa84b; uVar10 = 0xa5ae63a1; lVar9 = 0x714; local_30 = 0x41675d515a8432a3; local_40 = 0x15a8432a3; uVar2 = (((((((((((((((((((((((DAT_181459ab8 ^ (DAT_181459ab4 ^ 0x811c9dc5) * 0x1000181) * 0x1000181 ^ DAT_181459abc) * 0x1000181 ^ DAT_181459ac0) * 0x1000181 ^ DAT_181459ac4) * 0x1000181 ^ DAT_181459ac8) * 0x1000181 ^ DAT_181459acc) * 0x1000181 ^ DAT_181459ad0) * 0x1000181 ^ DAT_181459ad4) * 0x1000181 ^ DAT_181459ad8) * 0x1000181 ^ DAT_181459adc) * 0x1000181 ^ DAT_181459ae0) * 0x1000181 ^ DAT_181459ae4) * 0x1000181 ^ DAT_181459ae8) * 0x1000181 ^ DAT_181459aec) * 0x1000181 ^ DAT_181459af0) * 0x1000181 ^ DAT_181459af4) * 0x1000181 ^ DAT_181459af8) * 0x1000181 ^ DAT_181459afc) * 0x1000181 ^ DAT_181459b00) * 0x1000181 ^ DAT_181459b04) * 0x1000181 ^ DAT_181459b08) * 0x1000181 ^ DAT_181459b0c) * 0x1000181 ^ DAT_181459b10) * 0x1000181; local_48 = (ulonglong)uVar2; do { lVar9 = ~-lVar9 + 1; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = ((DAT_181459bac ^ ((((((((((((((((((((((((((((((((((((((DAT_181459b14 ^ uVar2) * 0x1000181 ^ DAT_181459b18) * 0x1000181 ^ DAT_181459b1c) * 0x1000181 ^ DAT_181459b20) * 0x1000181 ^ DAT_181459b24) * 0x1000181 ^ DAT_181459b28) * 0x1000181 ^ DAT_181459b2c) * 0x1000181 ^ DAT_181459b30) * 0x1000181 ^ DAT_181459b34) * 0x1000181 ^ DAT_181459b38) * 0x1000181 ^ DAT_181459b3c) * 0x1000181 ^ DAT_181459b40) * 0x1000181 ^ DAT_181459b44) * 0x1000181 ^ DAT_181459b48) * 0x1000181 ^ DAT_181459b4c) * 0x1000181 ^ DAT_181459b50) * 0x1000181 ^ DAT_181459b54) * 0x1000181 ^ DAT_181459b58) * 0x1000181 ^ DAT_181459b5c) * 0x1000181 ^ DAT_181459b60) * 0x1000181 ^ DAT_181459b64) * 0x1000181 ^ DAT_181459b68 ) * 0x1000181 ^ DAT_181459b6c) * 0x1000181 ^ DAT_181459b70) * 0x1000181 ^ DAT_181459b74) * 0x1000181 ^ DAT_181459b78) * 0x1000181 ^ DAT_181459b7c) * 0x1000181 ^ DAT_181459b80) * 0x1000181 ^ DAT_181459b84) * 0x1000181 ^ DAT_181459b88) * 0x1000181 ^ DAT_181459b8c) * 0x1000181 ^ DAT_181459b90) * 0x1000181 ^ DAT_181459b94) * 0x1000181 ^ DAT_181459b98) * 0x1000181 ^ DAT_181459b9c ) * 0x1000181 ^ DAT_181459ba0) * 0x1000181 ^ DAT_181459ba4) * 0x1000181 ^ DAT_181459ba8) * 0x1000181) * 0x1000181 ^ DAT_181459bb0) * 0x1000181 + 0x8d4c92ac; uVar2 = uVar2 * 8 | uVar2 >> 0x1d; if (uVar2 != 0x5a8432a3) { thunk_FUN_1805a9280(0x7b0,uVar2,lVar9); return; } lVar9 = (longlong)(int)local_38; uVar7 = 0x5a8432a3; puVar1 = auStack_68; do { puVar8 = puVar1; *(undefined8 *)(puVar8 + -8) = 0x180b07448; lVar6 = lVar9; FUN_180b081c5(); *(undefined8 *)(puVar8 + -8) = uVar7; *(undefined8 *)(puVar8 + -0x10) = uVar11; *(undefined8 *)(puVar8 + -0x18) = uVar10; register0x00000020 = (BADSPACEBASE *)((-(longlong)register0x00000020 ^ 0xffffffffffffffffU) + 1) ; lVar6 = -lVar6; uVar10 = *(undefined8 *)(puVar8 + lVar6 + 0x8a8); uVar11 = *(undefined8 *)(puVar8 + lVar6 + 0x8b0); uVar7 = *(undefined8 *)(puVar8 + lVar6 + 0x8b8); uVar2 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } puVar1 = puVar8 + lVar6 + 0x8c0; } while (uVar2 != 0); if (*(int *)(param_1 + 0x168) != 0) { return; } *(undefined8 *)(puVar8 + lVar6 + 0x8b8) = 0x180b07555; FUN_180ba1a60(param_1,param_4); *(undefined8 *)(puVar8 + lVar6 + 0x8b8) = 0x180b0755d; iVar3 = FUN_18096e580(param_2); *(int *)(param_1 + 0xd0) = iVar3; iVar5 = iVar3; if (iVar3 < 0) { iVar5 = -iVar3; } if (iVar5 == 0x40000000) { if (-1 < iVar3) { uVar11 = *(undefined8 *)(param_1 + 0xe0); *(undefined8 *)(puVar8 + lVar6 + 0x8b8) = 0x180b07586; FUN_180969000(param_2,uVar11); uVar11 = *(undefined8 *)(param_1 + 0xe0); *(undefined8 *)(puVar8 + lVar6 + 0x8b8) = 0x180b0759b; FUN_180b048d0(param_1,uVar11,param_4,param_4); uVar11 = *(undefined8 *)(param_1 + 0xe0); *(undefined8 *)(puVar8 + lVar6 + 0x8b8) = 0x180b075b0; FUN_180b999e0(param_1,param_4,uVar11,uVar11); uVar11 = *(undefined8 *)(param_1 + 0xe0); *(undefined8 *)(puVar8 + lVar6 + 0x8b8) = 0x180b075bc; iVar5 = FUN_18096e580(uVar11); if (iVar5 < 0x40000000) { *(int *)(param_1 + 0xd0) = -iVar5; goto LAB_180b075df; } } uVar11 = *(undefined8 *)(param_1 + 0x158); *(undefined1 **)(puVar8 + lVar6 + 0x8b8) = &LAB_180b075df; FUN_180ba14c0(param_1,param_2,uVar11); } LAB_180b075df: *(undefined8 *)(puVar8 + lVar6 + 0x8b8) = 0x180b075e7; iVar5 = FUN_18096e580(param_3); *(int *)(param_1 + 0xd4) = iVar5; if (iVar5 < 0) { iVar5 = -iVar5; } if (iVar5 == 0x40000000) { uVar11 = *(undefined8 *)(param_1 + 0x160); *(undefined1 **)(puVar8 + lVar6 + 0x8b8) = &LAB_180b0760c; FUN_180ba14c0(param_1,param_3,uVar11); } iVar5 = *(int *)(puVar8 + lVar6 + 0x950); if (iVar5 == 2) { iVar5 = 0; } *(int *)(param_1 + 0xcc) = iVar5; return; } ############ FUN_ 1807d6d50 size=3366 ############ /* WARNING: Instruction at (ram,0x0001807d75a7) overlaps instruction at (ram,0x0001807d75a4) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001807d6ec8) */ /* WARNING: Removing unreachable block (ram,0x0001807d6de8) */ /* WARNING: Removing unreachable block (ram,0x0001807d6dc2) */ /* WARNING: Removing unreachable block (ram,0x0001807d6e9b) */ /* WARNING: Removing unreachable block (ram,0x0001807d787c) */ /* WARNING: Removing unreachable block (ram,0x0001807d7889) */ /* WARNING: Removing unreachable block (ram,0x0001807d787e) */ /* WARNING: Removing unreachable block (ram,0x0001807d7893) */ /* WARNING: Removing unreachable block (ram,0x0001807d6ed7) */ /* WARNING: Removing unreachable block (ram,0x0001807d6dd1) */ /* WARNING: Removing unreachable block (ram,0x0001807d6eaa) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1807d6d50(longlong param_1,longlong param_2,undefined4 param_3) { int *piVar1; longlong *plVar2; undefined8 uVar3; void *pvVar4; longlong *plVar5; undefined1 *puVar6; ulonglong uVar7; uint uVar8; uint uVar9; uint uVar10; void *_Memory; longlong lVar11; int iVar12; ulonglong uVar13; undefined1 *puVar14; ulonglong uVar15; int iVar16; longlong in_R11; longlong lVar17; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_108 [32]; undefined8 local_e8; int *local_e0; uint local_d8; undefined4 local_d0 [2]; uint local_c8; uint local_c4; code *local_c0; longlong *local_b8; longlong *local_b0; longlong *local_a8; longlong *local_a0; longlong *local_98; longlong *local_90; undefined **local_88; longlong local_80; undefined4 *local_78; undefined8 local_70; undefined1 local_68; undefined7 uStack_67; undefined8 local_58; ulonglong local_50; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_108; uVar10 = (uint)&stack0x00000000; uVar8 = uVar10 & 0x3bf; iVar12 = (uVar8 + 2) * (uVar8 + 1) * uVar8; uVar8 = (((iVar12 >> 1) - (iVar12 >> 3)) + iVar12 * 0x55555555 >> 0x1e) - 1; local_c8 = ((int)(-uVar8 | uVar8) >> 0x1f) * -0x47f3 ^ 0x4af3; uVar8 = ((uVar10 & 0x6aff) * (uVar10 & 0x6aff) + 1) % 7; uVar9 = uVar10 & 0x27f; iVar16 = (uVar9 + 2) * (uVar9 + 1) * uVar9; uVar10 = uVar10 & 0x1bf; iVar12 = (uVar10 + 2) * (uVar10 + 1) * uVar10; local_c4 = (iVar16 * 0x55555555 + ((iVar16 >> 1) - (iVar16 >> 3)) >> 0x1e) + 0xda7 + (((iVar12 >> 1) - (iVar12 >> 3)) + iVar12 * 0x55555555 >> 0x1e) ^ (int)(-uVar8 | uVar8) >> 0x1f & 0xa67U; local_e0 = &iRam000000018119937c; local_e8 = 0x18119947c; do { uVar3 = rdtsc(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = ((uint)uVar3 ^ (uint)((ulonglong)uVar3 >> 0x20)) * -0x166a166b; local_d8 = (uVar8 >> 0x18 ^ uVar8) * -0xaea42f; local_d0[0] = param_3; if (local_d8 < 0x6aa638) { do { local_c0 = FUN_18141db20; FUN_1807d6400(&local_c0,0x18c9); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar7 = (*local_c0)(); if (1 < uVar7) { lVar17 = CONCAT44(unaff_retaddr_00,unaff_retaddr); plVar2 = (longlong *)register0x00000020; while (lVar17 != -0x3333333333333334) { *plVar2 = 0; plVar2 = plVar2 + 8; lVar17 = *plVar2; } } } uVar8 = (((uint)(iRam000000018119937c * 0x401) >> 6 ^ iRam000000018119937c * 0x401) + iRam0000000181199380) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199384) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199388) * 0x401; local_e8 = 0xeeac3be06851671e; local_e0 = (int *)CONCAT44(local_e0._4_4_,0x6851671e); do { lVar17 = in_R11 + param_2; in_R11 = ~(param_2 - lVar17) + 1; param_2 = lVar17 - in_R11; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (iRam000000018119938c + (uVar8 ^ uVar8 >> 6)) * 0x401; local_58 = 0; local_50 = 0xf; local_68 = 0; FUN_1805a6cb0(&local_68,"sendEncryptedCommand",0x14); (**(code **)(**(longlong **)(param_1 + 0x30) + 8))(*(longlong **)(param_1 + 0x30),&local_68,1); if (local_50 < 0x10) { uVar8 = (iRam0000000181199390 + (uVar8 ^ uVar8 >> 6)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199394) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199398) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam000000018119939c) * 0x401; local_88 = pace::eden::thrift::authorize::AuthorizationFull_sendEncryptedCommand_pargs::vftable; uVar8 = (iRam00000001811993a0 + (uVar8 ^ uVar8 >> 6)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993a4) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993a8) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993ac) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993b0) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993b4) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993b8) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993bc) * 0x401; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (_DAT_1811993c0 + (uVar8 ^ uVar8 >> 6)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993c4) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993c8) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993cc) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993d0) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993d4) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993d8) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993dc) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993e0) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993e4) * 0x401; local_78 = local_d0; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993e8) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993ec) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + FUN_1811993ef) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993f4) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993f8) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam00000001811993fc) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + _DAT_181199400) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199404) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199408) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam000000018119940c) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199410) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199414) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199418) * 0x401; local_80 = param_2; FUN_1807d94d0(&local_88,*(undefined8 *)(param_1 + 0x30)); uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam000000018119941c) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199420) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199424) * 0x401; do { FUN_1807d5870(); /* WARNING: Call to offcut address within same function */ func_0x0001807d7860(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (iRam0000000181199428 + (uVar8 ^ uVar8 >> 6)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam000000018119942c) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199430) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199434) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199438) * 0x401; (**(code **)(**(longlong **)(param_1 + 0x30) + 0x10))(); uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam000000018119943c) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199440) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199444) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199448) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam000000018119944c) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199450) * 0x401; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (iRam0000000181199454 + (uVar8 ^ uVar8 >> 6)) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199458) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam000000018119945c) * 0x401; uVar8 = uVar8 ^ uVar8 >> 6; uVar7 = (ulonglong)uVar8; local_b8 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar2 != (longlong *)0x0) { LOCK(); *(int *)(plVar2 + 1) = (int)plVar2[1] + 1; UNLOCK(); } local_b0 = plVar2; (**(code **)(*local_b8 + 0x50))(); plVar5 = local_b0; if (plVar2 != (longlong *)0x0) { LOCK(); plVar2 = plVar2 + 1; lVar17 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar17 == 1) { (**(code **)(*local_b0 + 8))(local_b0); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar12 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar12 == 1) { (**(code **)(*local_b0 + 0x10))(); } } } uVar8 = (iRam0000000181199460 + uVar8) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199464) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199468) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam000000018119946c) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199470) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199474) * 0x401; uVar8 = ((uVar8 >> 6 ^ uVar8) + iRam0000000181199478) * 0x401; do { uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (uVar8 ^ uVar8 >> 6) + 0x27bb267f; uVar8 = (uVar8 >> 0x10 | uVar8 * 0x10000) + 0x1d29601; uVar8 = (uVar8 * 0x10000000 | uVar8 >> 4) ^ 0x4dfdf083; uVar9 = uVar8 >> 2 | uVar8 << 0x1e; uVar15 = (ulonglong)uVar9; uVar8 = ~(~((uint)local_e0 & uVar9) & uVar9); uVar13 = (ulonglong)uVar8; local_a8 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar2 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if ((~(~((uint)local_e0 & uVar9) & (uint)local_e0) & uVar8) != 0xffffffff) { if (plVar2 != (longlong *)0x0) { LOCK(); *(int *)(plVar2 + 1) = (int)plVar2[1] + 1; UNLOCK(); } local_a0 = plVar2; (**(code **)(*local_a8 + 0x48))(); plVar5 = local_a0; if (plVar2 != (longlong *)0x0) { LOCK(); plVar2 = plVar2 + 1; lVar17 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar17 == 1) { (**(code **)(*local_a0 + 8))(local_a0); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar12 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar12 == 1) { (**(code **)(*local_a0 + 0x10))(); } } } thunk_FUN_1805a9280((longlong)(int)local_c8,0x1807d79bd); return; } if (plVar2 != (longlong *)0x0) { LOCK(); *(int *)(plVar2 + 1) = (int)plVar2[1] + 1; UNLOCK(); } local_98 = local_a8; local_90 = plVar2; (**(code **)(*local_a8 + 0x48))(); plVar5 = local_90; if (plVar2 != (longlong *)0x0) { LOCK(); plVar2 = plVar2 + 1; lVar17 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar17 == 1) { (**(code **)(*local_90 + 8))(local_90); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar12 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar12 == 1) { (**(code **)(*local_90 + 0x10))(); } } } lVar17 = (longlong)(int)local_c4; puVar6 = auStack_108; do { puVar14 = puVar6; *(undefined8 *)(puVar14 + -8) = 0x1807d7a9a; lVar11 = lVar17; FUN_1807d8900(); *(ulonglong *)(puVar14 + -8) = uVar15; *(ulonglong *)(puVar14 + -0x10) = uVar13; *(ulonglong *)(puVar14 + -0x18) = uVar7; lVar11 = -lVar11; uVar7 = *(ulonglong *)(puVar14 + lVar11 + 0x7a8); uVar13 = *(ulonglong *)(puVar14 + lVar11 + 0x7b0); uVar15 = *(ulonglong *)(puVar14 + lVar11 + 0x7b8); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar6 = puVar14 + lVar11 + 0x7c0; } while (uVar8 != 0); *(undefined **)(puVar14 + lVar11 + 0x7b8) = &UNK_1807d7b10; } pvVar4 = (void *)CONCAT71(uStack_67,local_68); _Memory = pvVar4; if ((0xfff < local_50 + 1) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181356300 size=4580 ############ /* WARNING: Instruction at (ram,0x000181356eb2) overlaps instruction at (ram,0x000181356eb1) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018135795e) */ /* WARNING: Removing unreachable block (ram,0x000181356ead) */ /* WARNING: Removing unreachable block (ram,0x000181356e29) */ /* WARNING: Removing unreachable block (ram,0x000181356b12) */ /* WARNING: Removing unreachable block (ram,0x00018135633b) */ /* WARNING: Removing unreachable block (ram,0x0001813566e9) */ /* WARNING: Removing unreachable block (ram,0x000181356da3) */ /* WARNING: Removing unreachable block (ram,0x000181356e4a) */ /* WARNING: Removing unreachable block (ram,0x000181356e4f) */ /* WARNING: Removing unreachable block (ram,0x000181357647) */ /* WARNING: Removing unreachable block (ram,0x0001813575b5) */ /* WARNING: Removing unreachable block (ram,0x0001813567f7) */ /* WARNING: Removing unreachable block (ram,0x000181356347) */ /* WARNING: Removing unreachable block (ram,0x000181356db2) */ /* WARNING: Removing unreachable block (ram,0x000181356e13) */ ulonglong FUN_181356300(undefined8 *param_1) { char cVar1; undefined1 uVar2; uint uVar3; ulonglong uVar4; ulonglong uVar5; uint uVar6; int iVar7; undefined *puVar8; ulonglong uVar9; ulonglong uVar10; ulonglong uVar11; byte bVar12; longlong lVar13; int *piVar14; undefined1 *puVar15; undefined1 *puVar16; undefined1 *puVar17; uint uVar18; undefined8 unaff_RDI; uint uVar19; longlong lVar20; undefined8 uVar21; int *piVar22; uint uVar23; undefined *puVar24; undefined *puVar25; int unaff_retaddr; undefined1 auStack_88 [32]; undefined4 local_68; undefined *local_60; undefined *local_58; puVar17 = auStack_88; puVar15 = auStack_88; puVar24 = &DAT_182621fc0; uVar19 = (uint)&stack0x00000000 & 0x6aff; uVar19 = (uVar19 * uVar19 + 1) % 7; uVar19 = ((int)(-uVar19 | uVar19) >> 0x1f) * -0xc44a ^ 0xc58a; uVar5 = CONCAT71((int7)((ulonglong)unaff_RDI >> 8),*(char *)((longlong)param_1 + 0xd) == '\0'); lVar20 = 0x800; puVar8 = &DAT_181191854; uVar3 = (((uint)(DAT_181191754 * 0x401) >> 6 ^ DAT_181191754 * 0x401) + DAT_181191758) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18119175c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181191760) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181191764) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181191768) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18119176c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181191770) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181191774) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181191778) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18119177c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181191780) * 0x401; piVar22 = (int *)register0x00000020; do { uVar9 = 0x7314; FUN_1813582ac(); lVar13 = lVar20; if ((uVar9 & 0xeb00) != 0) { lVar13 = lVar20 + (longlong)piVar22; } func_0x00016238b388(); lVar20 = ((longlong)piVar22 - lVar13 ^ 0xffffffffffffffffU) + 1; piVar22 = (int *)(lVar13 - lVar20); uVar6 = (*piVar22 + 1) * *piVar22 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = (DAT_181191784 + (uVar3 ^ uVar3 >> 6)) * 0x401; do { puVar25 = (undefined *)((longlong)param_1 + (longlong)puVar24); lVar20 = (longlong)puVar24 - (longlong)puVar25; param_1 = (undefined8 *)-lVar20; puVar24 = puVar25 + lVar20; uVar6 = (*piVar22 + 1) * *piVar22 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = (DAT_181191788 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18119178c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181191790) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181191794) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_181191798) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_18119179c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811917a0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811917a4) * 0x401; *(undefined1 *)((longlong)param_1 + 0xd) = 1; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811917a8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811917ac) * 0x401; uVar3 = (uVar3 ^ uVar3 >> 6) & 0x5bff; iVar7 = uVar3 * uVar3 + 1; uVar3 = (iVar7 >> 4) + (iVar7 >> 1) + iVar7 * 0x24924924 >> 0x1d; uVar3 = (int)(uVar3 - 7) >> 0x1f & uVar3; uVar3 = (int)(-uVar3 | uVar3) >> 0x1f; local_68 = 0x24e125df; local_58 = puVar8; do { FUN_181356169(0x7314); uVar6 = (*piVar22 + 1) * *piVar22 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); lVar20 = (longlong)&DAT_1811917b4 + ((ulonglong)((int)(-uVar3 | uVar3) >> 0x1f & 0x4af6) ^ 0x4aea) ; do { puVar8 = (undefined *)((~(ulonglong)puVar8 + 1 ^ 0xffffffffffffffff) + 1); uVar3 = (*piVar22 + 1) * *piVar22 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar6 = (uint)lVar20; uVar3 = uVar6 & 0x2bf; uVar6 = uVar6 & 0x5f; iVar7 = (uVar3 + 2) * (uVar3 + 1) * uVar3; uVar9 = (longlong)(((iVar7 >> 1) - (iVar7 >> 3)) + iVar7 * 0x55555555) >> 0x1e ^ 4; lVar20 = lVar20 + uVar9; do { uVar3 = (*piVar22 + 1) * *piVar22 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); cVar1 = FUN_180528ca0(*param_1,uVar9,uVar6 + 1,uVar6 * uVar6 * (uVar6 + 1)); puVar25 = local_58; uVar9 = 0; if (cVar1 == *(char *)((longlong)param_1 + 9)) { uVar4 = (ulonglong)uVar19; puVar25 = puVar8; } else { uVar21 = 0xc58161a4; local_60 = puVar24 + -0x1e9e264; piVar22 = (int *)(puVar24 + -0x1e9e360); uVar23 = (((uint)(*(int *)(puVar24 + -0x1e9e364) * 0x401) >> 6 ^ *(int *)(puVar24 + -0x1e9e364) * 0x401) + *piVar22) * 0x401; uVar23 = uVar23 ^ uVar23 >> 6; uVar6 = (((uVar23 & 0x24ff) + 1) * (uVar23 & 0x24ff) + 7) % 0x51; uVar3 = uVar23 & 0x2f; lVar13 = ((ulonglong)((int)(-uVar6 | uVar6) >> 0x1f & 0x33cf) ^ 0x35cf) - ((longlong)(int)((uVar3 * uVar3 * (uVar3 + 1) * (uVar3 + 1) & 0x80000003) + 0xb026) ^ 0xb626U); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = (*(int *)((longlong)piVar22 + lVar13 + 4) + uVar23) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + *(int *)((longlong)piVar22 + lVar13 + 8)) * 0x401; piVar14 = (int *)((longlong)piVar22 + lVar13 + 0x10); uVar3 = ((uVar3 >> 6 ^ uVar3) + *(int *)((longlong)piVar22 + lVar13 + 0xc)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + *piVar14) * 0x401; uVar3 = uVar3 ^ uVar3 >> 6; if (((ulonglong)local_60 & 0x7e0) == 0) { uVar6 = uVar3 & 0x27f; iVar7 = (uVar6 + 2) * (uVar6 + 1) * uVar6; uVar6 = iVar7 + (iVar7 / 3 + (iVar7 >> 0x1f) + (int)(((longlong)iVar7 / 3 + ((longlong)iVar7 >> 0x3f) & 0xffffffffU) >> 0x1f) ) * -3; } else { uVar6 = (uint)piVar14 & 0x5f; uVar6 = uVar6 * uVar6 * (uVar6 + 1) * (uVar6 + 1) & 1; } uVar18 = (uint)local_60 & 0x7f | 0xe; uVar23 = uVar3 & 0x1f | 0x44; piVar14 = (int *)((longlong)piVar14 + (0x84 - (longlong) (int)(0xea92 << (uVar18 * uVar18 * 0x15f7 == uVar23 * uVar23 * 0x1a4d) ^ 0xea12 - uVar6))); uVar3 = (*piVar14 + uVar3) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar14[1]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar14[2]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar14[3]) * 0x401; piVar22 = piVar14 + 5; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar14[4]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + *piVar22) * 0x401; if (((ulonglong)piVar22 & 0x60) == 0) { uVar6 = (uint)piVar22 & 0x1f; uVar6 = uVar6 * uVar6 * (uVar6 + 1) * (uVar6 + 1) & 1; } else { uVar6 = (uint)piVar22 & 0x7f; uVar6 = ((uVar6 + 2) * (uVar6 + 1) * uVar6) % 3; } piVar22 = (int *)((longlong)piVar22 + (((longlong)(int)uVar6 | 0x10feU) ^ 0x10fa)); uVar3 = (*piVar22 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[1]) * 0x401; do { uVar5 = 0; /* WARNING: Call to offcut address within same function */ uVar4 = func_0x000181356959(); uVar9 = uVar9 ^ uVar4; if ((uVar5 & 0x43) != 0) { uVar4 = CONCAT71((int7)(uVar4 >> 8),(char)uVar4 + -0x44); } uVar9 = uVar9 ^ uVar4; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar3 = (piVar22[2] + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[3]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[4]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[5]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[6]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[7]) * 0x401; uVar6 = ((uVar3 >> 6 ^ uVar3) + piVar22[8]) * 0x401; uVar6 = uVar6 ^ uVar6 >> 6; uVar2 = FUN_180528ca0(*param_1); lVar13 = 7; *(undefined1 *)((longlong)param_1 + 9) = uVar2; uVar3 = (piVar22[9] + uVar6) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[10]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[0xb]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[0xc]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[0xd]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar22[0xe]) * 0x401; piVar22 = piVar22 + 0xf; do { piVar14 = piVar22; uVar3 = ((uVar3 >> 6 ^ uVar3) + *piVar14) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar14[1]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar14[2]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar14[3]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar14[4]) * 0x401; lVar13 = lVar13 + -1; piVar22 = piVar14 + 5; } while (lVar13 != 0); uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar14[5]) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + piVar14[6]) * 0x401; do { uVar23 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar23 < 0) { uVar23 = (uVar23 - 1 | 0xfffffffe) + 1; } } while (uVar23 != 0); do { lVar13 = uVar9 + (longlong)register0x00000020; uVar9 = ~((longlong)register0x00000020 - lVar13) + 1; register0x00000020 = (BADSPACEBASE *)(lVar13 - uVar9); uVar23 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar23 < 0) { uVar23 = (uVar23 - 1 | 0xfffffffe) + 1; } } while (uVar23 != 0); uVar3 = ~(uVar3 ^ uVar3 >> 6); uVar5 = CONCAT71((uint7)(uint3)(uVar6 >> 8),1); uVar6 = ((uVar3 << 8 | uVar3 >> 0x18) & 0xa758a758 | (uVar3 >> 8 | uVar3 << 0x18) & 0x58a758a7) + 0x7821b95d; uVar3 = (uVar6 >> 3 ^ uVar6) >> 7 & 7; uVar3 = uVar6 ^ (uVar3 * 8 | uVar3) << 7; uVar3 = (uVar3 << 4 | uVar6 >> 0x1c) & 0xa5a5a5a5 | (uVar3 >> 4 | uVar6 * 0x10000000) & 0x5a5a5a5a; uVar11 = (ulonglong)uVar3; uVar4 = CONCAT71((int7)(uVar9 >> 8),uVar3 == 0xcbb532e3); if ((uVar4 & 0x7ffffff) == 0 && (int)uVar4 == 0) { uVar5 = thunk_FUN_1805a9280(); return uVar5; } uVar4 = (ulonglong)(int)uVar19; puVar16 = puVar15; do { *(undefined8 *)(puVar16 + -8) = 0x1813574af; uVar10 = uVar4; FUN_1813578a0(); *(undefined8 *)(puVar16 + -8) = uVar21; *(ulonglong *)(puVar16 + -0x10) = uVar11; *(ulonglong *)(puVar16 + -0x18) = uVar4; lVar13 = -uVar10; uVar4 = *(ulonglong *)(puVar16 + lVar13 + 0x1a8); uVar11 = *(ulonglong *)(puVar16 + lVar13 + 0x1b0); uVar21 = *(undefined8 *)(puVar16 + lVar13 + 0x1b8); puVar17 = puVar16 + lVar13 + 0x1c0; uVar19 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } puVar16 = puVar16 + lVar13 + 0x1c0; } while (uVar19 != 0); } uVar19 = (*(int *)(lVar20 + 0x44) + *(int *)(puVar17 + 0xa8)) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + *(int *)(lVar20 + 0x48)) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + *(int *)(lVar20 + 0x4c)) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + *(int *)(lVar20 + 0x50)) * 0x401; do { uVar3 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); piVar22 = (int *)(lVar20 + 0x58); uVar19 = (*(int *)(lVar20 + 0x54) + (uVar19 ^ uVar19 >> 6)) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + *piVar22) * 0x401; uVar19 = uVar19 ^ uVar19 >> 6; bVar12 = (byte)puVar25; if ((uVar19 & 0x40) == 0) { bVar12 = bVar12 & 0x5f; bVar12 = (bVar12 + 1) * (bVar12 + 1) * bVar12 * bVar12 & 3; } else { bVar12 = (bVar12 - 1) * bVar12 & 1; } uVar23 = (uint)puVar25 & 0x33f; uVar6 = (uint)piVar22 & 0x6f; uVar3 = uVar6 + 1; uVar11 = (ulonglong)uVar3; iVar7 = (uVar23 + 2) * (uVar23 + 1) * uVar23; lVar20 = (0xc495L >> ((byte)(((iVar7 >> 1) - (iVar7 >> 3)) + iVar7 * 0x55555555 >> 0x1e) & (byte)piVar22 & 0x3f) ^ 0xc4f1U) - ((longlong)(int)((uVar6 * uVar6 * uVar3 * uVar3 & 3) + 0xb176) ^ 0xb116L >> bVar12); piVar22 = (int *)((longlong)piVar22 + lVar20); uVar19 = (*piVar22 + uVar19) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + piVar22[1]) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + piVar22[2]) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + piVar22[3]) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + piVar22[4]) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + piVar22[5]) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + piVar22[6]) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + piVar22[7]) * 0x401; uVar19 = ((uVar19 >> 6 ^ uVar19) + piVar22[8]) * 0x401; do { *(undefined **)(puVar17 + -8) = &UNK_18135776a; func_0x000181358fd3(0x7314); uVar3 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar3 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar19 = ~(uVar19 ^ uVar19 >> 6); uVar3 = ((uVar19 << 8 | uVar19 >> 0x18) & 0xa758a758 | (uVar19 >> 8 | uVar19 << 0x18) & 0x58a758a7 ) + 0x7821b95d; uVar19 = (uVar3 >> 3 ^ uVar3) >> 7 & 7; uVar19 = uVar3 ^ (uVar19 * 8 | uVar19) << 7; uVar6 = (uVar19 >> 4 | uVar3 * 0x10000000) & 0x5a5a5a5a; uVar9 = CONCAT71((int7)(uVar9 >> 8), ((uVar19 << 4 | uVar3 >> 0x1c) & 0xa5a5a5a5 | uVar6) == *(uint *)(puVar17 + 0x20) ); if ((uVar9 & 0x1ffffff) == 0 && (int)uVar9 == 0) { *(longlong *)(puVar17 + -8) = lVar20; *(ulonglong *)(puVar17 + -0x10) = uVar9; *(BADSPACEBASE **)(puVar17 + -0x18) = register0x00000020; uVar5 = thunk_FUN_1805a9280(0x560,uVar6,thunk_FUN_1805a9280,uVar11); return uVar5; } iVar7 = (int)uVar4; do { *(ulonglong *)(puVar17 + -8) = uVar4; *(ulonglong *)(puVar17 + -0x10) = uVar5; *(BADSPACEBASE **)(puVar17 + -0x18) = register0x00000020; lVar20 = -(longlong)iVar7; register0x00000020 = *(BADSPACEBASE **)(puVar17 + lVar20 + 0x1a8); uVar5 = *(ulonglong *)(puVar17 + lVar20 + 0x1b0); uVar4 = *(ulonglong *)(puVar17 + lVar20 + 0x1b8); puVar17 = puVar17 + lVar20 + 0x1c0; uVar19 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); return uVar5 & 0xff; } ############ FUN_ 1807b6230 size=4512 ############ /* WARNING: Removing unreachable block (ram,0x0001807b68c3) */ /* WARNING: Removing unreachable block (ram,0x0001807b687e) */ /* WARNING: Removing unreachable block (ram,0x0001807b6265) */ /* WARNING: Removing unreachable block (ram,0x0001807b6306) */ /* WARNING: Removing unreachable block (ram,0x0001807b6897) */ /* WARNING: Removing unreachable block (ram,0x0001807b69a9) */ /* WARNING: Removing unreachable block (ram,0x0001807b6271) */ ulonglong FUN_1807b6230(longlong param_1,longlong *param_2) { byte bVar1; byte bVar2; uint uVar3; int iVar4; longlong lVar5; undefined1 *puVar6; longlong lVar7; undefined1 *puVar8; uint uVar9; undefined8 uVar10; ulonglong uVar11; ulonglong uVar12; ulonglong uVar13; int iVar14; ulonglong uVar15; int unaff_retaddr; undefined1 auStack_88 [32]; uint local_68; undefined1 *local_60; undefined1 *local_58; uVar3 = (uint)&stack0x00000000 & 0x31ff; uVar3 = (uVar3 * uVar3 + 1) % 7; uVar9 = (int)(-uVar3 | uVar3) >> 0x1f; uVar3 = (uint)&stack0x00000000 & 0x4aff; iVar4 = uVar3 * uVar3 + 1; uVar3 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar3 = (int)(uVar3 - 7) >> 0x1f & uVar3; local_68 = (((int)(-uVar9 | uVar9) >> 0x1f) * -0xc901 | 0xe901U) ^ ((int)(-uVar3 | uVar3) >> 0x1f) * -0xe381; (**(code **)(*param_2 + 0x18))(param_2,"SendEncryptedCommandInput"); (**(code **)(*param_2 + 0x28))(param_2,"channelId",8); (**(code **)(*param_2 + 0x88))(param_2,*(undefined4 *)(param_1 + 8)); (**(code **)(*param_2 + 0x30))(param_2); (**(code **)(*param_2 + 0x28))(param_2,"encryptedCommand",0xf); (**(code **)(*param_2 + 0x50)) (param_2,3,*(longlong *)(param_1 + 0x18) - *(longlong *)(param_1 + 0x10)); puVar6 = *(undefined1 **)(param_1 + 0x10); uVar12 = 0xcc9e2d51; local_60 = *(undefined1 **)(param_1 + 0x18); local_58 = puVar6; if (puVar6 != local_60) { do { (**(code **)(*param_2 + 0x78))(param_2,*puVar6); puVar6 = puVar6 + 1; local_60 = *(undefined1 **)(param_1 + 0x18); } while (puVar6 != local_60); } (**(code **)(*param_2 + 0x58))(param_2); (**(code **)(*param_2 + 0x30))(param_2); uVar11 = 0x1b873593; uVar3 = (DAT_18136c310 * 0x16a88000 | (uint)(DAT_18136c310 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ 0x4d789476; uVar3 = (DAT_18136c314 * 0x16a88000 | (uint)(DAT_18136c314 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x28))(param_2,"commandSize",8); (**(code **)(*param_2 + 0x88))(param_2,*(undefined4 *)(param_1 + 0x28)); uVar3 = (DAT_18136c318 * 0x16a88000 | (uint)(DAT_18136c318 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (DAT_18136c31c * 0x16a88000 | (uint)(DAT_18136c31c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x30))(param_2); (**(code **)(*param_2 + 0x28))(param_2,"randomInitializationVector",0xf); uVar3 = (DAT_18136c320 * 0x16a88000 | (uint)(DAT_18136c320 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (DAT_18136c324 * 0x16a88000 | (uint)(DAT_18136c324 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; do { FUN_1807b8687(0xe62c); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar3 = (DAT_18136c328 * 0x16a88000 | (uint)(DAT_18136c328 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (DAT_18136c32c * 0x16a88000 | (uint)(DAT_18136c32c * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (DAT_18136c330 * 0x16a88000 | (uint)(DAT_18136c330 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (DAT_18136c334 * 0x16a88000 | (uint)(DAT_18136c334 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (DAT_18136c338 * 0x16a88000 | (uint)(DAT_18136c338 * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar15 = 0x19; bVar2 = (byte)uVar3; bVar1 = bVar2 & 0x7f; lVar7 = -((0x2200L >> ((bVar2 + 1) * bVar2 & 1 | bVar1 * bVar1 * (bVar1 + 1) * (bVar1 + 1) & 3) | 0xfa56U) ^ 0xfbd6); uVar3 = (*(int *)(&UNK_18136c4bc + lVar7) * 0x16a88000 | (uint)(*(int *)(&UNK_18136c4bc + lVar7) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ uVar3; uVar3 = (*(int *)(&UNK_18136c4c0 + lVar7) * 0x16a88000 | (uint)(*(int *)(&UNK_18136c4c0 + lVar7) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c4c4 + lVar7) * 0x16a88000 | (uint)(*(int *)(&UNK_18136c4c4 + lVar7) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c4c8 + lVar7) * 0x16a88000 | (uint)(*(int *)(&UNK_18136c4c8 + lVar7) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c4cc + lVar7) * 0x16a88000 | (uint)(*(int *)(&UNK_18136c4cc + lVar7) * -0x3361d2af) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; do { uVar12 = -(~uVar12 + 1); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); iVar4 = (int)uVar12; uVar3 = (*(int *)(&UNK_18136c4d0 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4d0 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c4d4 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4d4 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c4d8 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4d8 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x50)) (param_2,3,*(longlong *)(param_1 + 0x38) - *(longlong *)(param_1 + 0x30)); uVar3 = (*(int *)(&UNK_18136c4dc + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4dc + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; puVar6 = *(undefined1 **)(param_1 + 0x30); uVar3 = (*(int *)(&UNK_18136c4e0 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4e0 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; if (puVar6 != *(undefined1 **)(param_1 + 0x38)) { do { (**(code **)(*param_2 + 0x78))(param_2,*puVar6); puVar6 = puVar6 + 1; } while (puVar6 != *(undefined1 **)(param_1 + 0x38)); } uVar3 = (*(int *)(&UNK_18136c4e4 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4e4 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x58))(param_2); uVar3 = (*(int *)(&UNK_18136c4e8 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4e8 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x30))(param_2); uVar3 = (*(int *)(&UNK_18136c4ec + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4ec + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c4f0 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4f0 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c4f4 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4f4 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c4f8 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4f8 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c4fc + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c4fc + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c500 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c500 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c504 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c504 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c508 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c508 + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c50c + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c50c + lVar7) * iVar4) >> 0x11) * 0x1b873593 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; do { FUN_1807b5568(0xe62c); uVar11 = uVar15 ^ uVar11; uVar15 = -(~uVar15 + 1); uVar11 = uVar11 ^ uVar15; uVar13 = -param_1 ^ 0xffffffffffffffff; param_1 = uVar13 + 1; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); iVar14 = (int)uVar11; uVar3 = (*(int *)(&UNK_18136c510 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c510 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x28))(param_2,"checksum",8,5); uVar3 = (*(int *)(&UNK_18136c514 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c514 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c518 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c518 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c51c + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c51c + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c520 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c520 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c524 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c524 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c528 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c528 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c52c + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c52c + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c530 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c530 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c534 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c534 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x88))(param_2,*(undefined4 *)(uVar13 + 0x49)); uVar3 = (*(int *)(&UNK_18136c538 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c538 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c53c + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c53c + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x30))(param_2); uVar3 = (*(int *)(&UNK_18136c540 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c540 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; if (*(char *)(uVar13 + 0xaa) != '\0') { (**(code **)(*param_2 + 0x28))(param_2,"auxChannelId",10); (**(code **)(*param_2 + 0x90))(param_2,*(undefined8 *)(uVar13 + 0x51)); (**(code **)(*param_2 + 0x30))(param_2); } if (*(char *)(uVar13 + 0xab) != '\0') { (**(code **)(*param_2 + 0x28))(param_2,"computerId",10); (**(code **)(*param_2 + 0x90))(param_2,*(undefined8 *)(uVar13 + 0x59)); (**(code **)(*param_2 + 0x30))(param_2); } uVar3 = (*(int *)(&UNK_18136c544 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c544 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; do { FUN_1807b51e0(0xe62c); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); if (*(char *)(uVar13 + 0xac) != '\0') { (**(code **)(*param_2 + 0x28))(param_2,"channelEstablishedTime",0xb,0xc); (**(code **)(*param_2 + 0xa0))(param_2,uVar13 + 0x61); (**(code **)(*param_2 + 0x30))(param_2); } uVar3 = (*(int *)(&UNK_18136c548 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c548 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; if (*(char *)(uVar13 + 0xad) != '\0') { (**(code **)(*param_2 + 0x28))(param_2,"minimizeLogging",2); (**(code **)(*param_2 + 0x70))(param_2,*(undefined1 *)(uVar13 + 0x81)); (**(code **)(*param_2 + 0x30))(param_2); } if (*(char *)(uVar13 + 0xae) != '\0') { (**(code **)(*param_2 + 0x28))(param_2,"randomData",0xf); (**(code **)(*param_2 + 0x50)) (param_2,3,*(longlong *)(uVar13 + 0x91) - *(longlong *)(uVar13 + 0x89)); puVar6 = *(undefined1 **)(uVar13 + 0x89); if (puVar6 != *(undefined1 **)(uVar13 + 0x91)) { do { (**(code **)(*param_2 + 0x78))(param_2,*puVar6); puVar6 = puVar6 + 1; } while (puVar6 != *(undefined1 **)(uVar13 + 0x91)); } (**(code **)(*param_2 + 0x58))(param_2); (**(code **)(*param_2 + 0x30))(param_2); } uVar10 = 10000; uVar3 = (*(int *)(&UNK_18136c54c + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c54c + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x28))(param_2,"callingLicenseDVersion",8); uVar3 = (*(int *)(&UNK_18136c550 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c550 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c554 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c554 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x88))(param_2,*(undefined4 *)(uVar13 + 0xa1)); uVar3 = (*(int *)(&UNK_18136c558 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c558 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar11 = (ulonglong)uVar3; (**(code **)(*param_2 + 0x30))(param_2); (**(code **)(*param_2 + 0x38))(param_2); uVar3 = (*(int *)(&UNK_18136c55c + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c55c + lVar7) * iVar4) >> 0x11) * iVar14 ^ uVar3; uVar3 = (*(int *)(&UNK_18136c560 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c560 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; (**(code **)(*param_2 + 0x20))(param_2); uVar3 = (*(int *)(&UNK_18136c564 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c564 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c568 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c568 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c56c + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c56c + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c570 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c570 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c574 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c574 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c578 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c578 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c57c + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c57c + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c580 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c580 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c584 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c584 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (*(int *)(&UNK_18136c588 + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c588 + lVar7) * iVar4) >> 0x11) * iVar14 ^ (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64; uVar3 = (uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64 ^ (*(int *)(&UNK_18136c58c + lVar7) * iVar4 * 0x8000 | (uint)(*(int *)(&UNK_18136c58c + lVar7) * iVar4) >> 0x11) * iVar14; uVar9 = ~((uVar3 << 0xd | uVar3 >> 0x13) * 5 + 0xe6546b64 ^ 0xc9a00ceb) ^ 0xac0b7c28; uVar3 = (uVar9 >> 2 ^ uVar9) >> 9 & 3; if ((((uVar3 * 4 | uVar3) << 9 ^ uVar9) + 0x469122b6) * 0x11 != 0) { lVar7 = (longlong)(int)local_68; puVar6 = auStack_88; do { puVar8 = puVar6; *(undefined8 *)(puVar8 + -8) = 0x1807b73eb; lVar5 = lVar7; FUN_1807b9125(); *(ulonglong *)(puVar8 + -8) = uVar12; *(ulonglong *)(puVar8 + -0x10) = uVar11; *(undefined8 *)(puVar8 + -0x18) = uVar10; lVar5 = -lVar5; uVar10 = *(undefined8 *)(puVar8 + lVar5 + 0xa68); uVar11 = *(ulonglong *)(puVar8 + lVar5 + 0xa70); uVar12 = *(ulonglong *)(puVar8 + lVar5 + 0xa78); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } puVar6 = puVar8 + lVar5 + 0xa80; } while (uVar3 != 0); return (ulonglong)*(uint *)(puVar8 + lVar5 + 0xb10); } uVar12 = thunk_FUN_1805a9280(); return uVar12; } ############ FUN_ 1809966a4 size=608 ############ /* WARNING: Instruction at (ram,0x000180996751) overlaps instruction at (ram,0x00018099674f) */ /* WARNING: Removing unreachable block (ram,0x0001809968ed) */ ulonglong FUN_1809966a4(undefined8 param_1,undefined8 param_2,uint *param_3) { longlong lVar1; ulonglong uVar2; uint uVar3; char cVar5; longlong lVar4; uint unaff_EBX; undefined8 unaff_RSI; undefined8 uVar6; undefined8 in_R10; undefined8 in_R11; int unaff_R12D; int *unaff_R13; uint *unaff_R14; int unaff_R15D; int iVar8; uint in_stack_00000080; uint7 uVar7; uVar3 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } if (uVar3 != 0) { FUN_180996e05(0xd730); uVar2 = FUN_1809966a4(); return uVar2; } do { iVar8 = unaff_R15D + unaff_R12D; unaff_R15D = ~(unaff_R12D - iVar8) + 1; unaff_R12D = iVar8 - unaff_R15D; uVar3 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { cVar5 = -0x29; FUN_18099804b(); if (cVar5 == '\0') { func_0x0001cca052a0(); unaff_R14 = param_3; } uVar3 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = ~(~(in_stack_00000080 & unaff_EBX) & unaff_EBX); uVar2 = (ulonglong)uVar3; uVar7 = (uint7)((ulonglong)unaff_RSI >> 8); uVar6 = CONCAT71(uVar7,(~(~(in_stack_00000080 & unaff_EBX) & in_stack_00000080) & uVar3) == 0xffffffff); if ((int)uVar6 == (int)(((ulonglong)uVar7 & 0xffffff) << 3)) { do { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1809967c8; lVar4 = (longlong)unaff_R12D; lVar1 = func_0x000180995236((longlong)unaff_R12D,uVar2); *(undefined8 *)((longlong)register0x00000020 + -8) = uVar6; *(undefined8 *)((longlong)register0x00000020 + -0x10) = in_R10; *(undefined8 *)((longlong)register0x00000020 + -0x18) = in_R11; lVar4 = -lVar4; lVar1 = (~((lVar1 + (longlong)param_3) - (~((longlong)param_3 - (lVar1 + (longlong)param_3)) + 1U)) + 1 ^ 0xffffffffffffffff) + 1; param_3 = (uint *)(~-lVar1 + 1); uVar2 = (uVar2 + lVar1) - (longlong)param_3; in_R11 = *(undefined8 *)((longlong)register0x00000020 + lVar4 + 0xfd8); in_R10 = *(undefined8 *)((longlong)register0x00000020 + lVar4 + 0xfe0); uVar6 = *(undefined8 *)((longlong)register0x00000020 + lVar4 + 0xfe8); register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + lVar4 + 0xff0); uVar3 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); if (unaff_R14 == (uint *)0x0) { uVar2 = 0xffffffff; } else { uVar2 = (ulonglong)*unaff_R14; } return uVar2; } func_0x000180995236(); uVar2 = thunk_FUN_1805a9280(); return uVar2; } ############ FUN_ 181205850 size=2873 ############ /* WARNING: Instruction at (ram,0x000181206218) overlaps instruction at (ram,0x000181206217) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001812063cb) */ /* WARNING: Removing unreachable block (ram,0x00018120655f) */ /* WARNING: Removing unreachable block (ram,0x000181206bb5) */ /* WARNING: Removing unreachable block (ram,0x000181206ec1) */ /* WARNING: Removing unreachable block (ram,0x00018120689e) */ /* WARNING: Removing unreachable block (ram,0x000181205f65) */ /* WARNING: Removing unreachable block (ram,0x000181206013) */ /* WARNING: Removing unreachable block (ram,0x00018120601a) */ /* WARNING: Removing unreachable block (ram,0x000181206038) */ /* WARNING: Removing unreachable block (ram,0x000181206035) */ /* WARNING: Removing unreachable block (ram,0x000181206018) */ /* WARNING: Removing unreachable block (ram,0x00018120603e) */ /* WARNING: Removing unreachable block (ram,0x0001812062b4) */ /* WARNING: Removing unreachable block (ram,0x000181206b40) */ /* WARNING: Removing unreachable block (ram,0x000181206d37) */ /* WARNING: Removing unreachable block (ram,0x000181206602) */ /* WARNING: Removing unreachable block (ram,0x000181206216) */ /* WARNING: Removing unreachable block (ram,0x000181206d91) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ uint FUN_181205850(longlong param_1) { longlong lVar1; char cVar2; undefined8 uVar3; uint uVar4; int iVar5; uint uVar6; longlong lVar7; undefined1 *puVar8; undefined1 *puVar9; undefined1 *puVar10; longlong lVar11; longlong lVar12; uint uVar13; ulonglong uVar14; uint uVar15; ulonglong uVar16; undefined *puVar17; int *piVar18; int unaff_retaddr; undefined1 auStack_b8 [32]; undefined8 local_98; int *local_90; undefined8 local_88; undefined *local_70; undefined1 local_68; local_88 = 0xfffffffffffffffe; puVar17 = &DAT_182621fc0; local_98 = 0x100; local_90 = &DAT_1814c053c; uVar6 = DAT_1814c053c * 0x401 ^ (uint)(DAT_1814c053c * 0x401) >> 6; uVar4 = uVar6 & 7 | 0x23; uVar4 = uVar4 * uVar4 * 0xa86d ^ 0xb3a0297; uVar3 = 0; lVar11 = -((longlong) (0x90d6 << ((char)(((byte)(-uVar4 >> 0x18) | (byte)(uVar4 >> 0x18)) ^ 0xff) >> 7 & 0x1fU)) ^ 0x92d6U); uVar4 = (*(int *)(lVar11 + 0x1814c0740) + uVar6) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c0744)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c0748)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c074c)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c0750)) * 0x401; do { FUN_181206567(0xf41c); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar4 = (*(int *)(lVar11 + 0x1814c0754) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c0758)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c075c)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c0760)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c0764)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c0768)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c076c)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c0770)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c0774)) * 0x401; uVar6 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar11 + 0x1814c0778)) * 0x401; uVar6 = uVar6 ^ uVar6 >> 6; uVar4 = uVar6 & 0x7f | 0x1f; lVar11 = lVar11 + 0x23c + (((longlong)(int)(uint)(uVar4 * uVar4 * 0x6d73 == 0xdc17514) | 0xf17cU) ^ 0xf178); uVar4 = (*(int *)(lVar11 + 0x1814c053c) + uVar6) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0540 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0544 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0548 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c054c + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0550 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0554 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0558 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c055c + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0560 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0564 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0568 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c056c + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0570 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0574 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0578 + lVar11)) * 0x401; local_70 = &DAT_182673860; local_68 = 0; uVar4 = (*(int *)(&DAT_1814c057c + lVar11) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0580 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0584 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0588 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c058c + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0590 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0594 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0598 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c059c + lVar11)) * 0x401; uVar15 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&UNK_1814c05a0 + lVar11)) * 0x401; uVar16 = (ulonglong)uVar15; uVar14 = 1; uVar4 = (uint)(lVar11 + 100) & 0x11ff; uVar4 = (uVar4 - 1) * uVar4 - 1 & 1; uVar6 = (int)(-uVar4 | uVar4) >> 0x1f; lVar11 = ((longlong)(((int)(-uVar6 | uVar6) >> 0x1f) * -0xff4a) ^ 0xffcaU) + lVar11 + 100; uVar4 = ((uVar15 >> 6 ^ uVar15) + *(int *)(&DAT_1814c04c0 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04c4 + lVar11)) * 0x401; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar4 = (*(int *)(&DAT_1814c04c8 + lVar11) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04cc + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04d0 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04d4 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04d8 + lVar11)) * 0x401; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar4 = (*(int *)(&DAT_1814c04dc + lVar11) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04e0 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04e4 + lVar11)) * 0x401; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar4 = (*(int *)(&DAT_1814c04e8 + lVar11) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04ec + lVar11)) * 0x401; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar4 = (*(int *)(&DAT_1814c04f0 + lVar11) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04f4 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04f8 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c04fc + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0500 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0504 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0508 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c050c + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0510 + lVar11)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(&DAT_1814c0514 + lVar11)) * 0x401; do { uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar4 = ~(uVar4 ^ uVar4 >> 6) + 0x925014ad; if ((((uVar4 * 0x800 | uVar4 >> 0x15) ^ 0x1f994175) << 2 | (uVar4 & 0x1fffff) >> 0x13) != 0xf6777f3c) { FUN_181205014(); uVar4 = thunk_FUN_1805a9280(); return uVar4; } lVar11 = 0x550; puVar9 = auStack_b8; do { puVar8 = puVar9; *(longlong *)(puVar8 + -8) = lVar11; *(undefined **)(puVar8 + -0x10) = puVar17; *(undefined8 *)(puVar8 + -0x18) = uVar3; uVar16 = ~-uVar16 + 1; lVar1 = -lVar11; puVar10 = puVar8 + lVar1 + -0x18; uVar14 = uVar14 ^ (ulonglong)register0x00000020; register0x00000020 = (BADSPACEBASE *) ((((ulonglong)register0x00000020 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1); uVar14 = uVar14 ^ (ulonglong)register0x00000020; uVar3 = *(undefined8 *)(puVar8 + lVar1 + 0x538); puVar17 = *(undefined **)(puVar8 + lVar1 + 0x540); lVar11 = *(longlong *)(puVar8 + lVar1 + 0x548); uVar4 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } puVar9 = puVar8 + lVar1 + 0x550; } while (uVar4 != 0); *(undefined8 *)(puVar8 + lVar1 + 0x548) = 0x18120645a; cVar2 = FUN_180487810(puVar8 + lVar1 + 0x598,uVar6,uVar14,uVar16); if (cVar2 == '\0') { *(undefined8 *)(puVar8 + lVar1 + 0x618) = 0x2621fc0; lVar12 = *(longlong *)(puVar8 + lVar1 + 0x618); *(undefined8 *)(puVar8 + lVar1 + 0x618) = 0xea56a473; *(undefined8 *)(puVar8 + lVar1 + 0x620) = 0xa2740b31; uVar6 = ~((*(uint *)(puVar8 + lVar1 + 0x618) >> 2 | *(uint *)(puVar8 + lVar1 + 0x618) << 0x1e) + 0x1d144dc6) ^ 0xec80fb3d; uVar4 = ~((*(uint *)(puVar8 + lVar1 + 0x620) >> 0xf | *(uint *)(puVar8 + lVar1 + 0x620) << 0x11) + 0xa4ba1fdf) ^ 0x44e39b38; *(uint *)(puVar8 + lVar1 + 0x618) = uVar6 >> 2 | uVar6 << 0x1e; *(uint *)(puVar8 + lVar1 + 0x620) = uVar4 << 0x18 | uVar4 >> 8; *(undefined **)(puVar8 + lVar1 + 0x628) = puVar17 + (*(longlong *)(puVar8 + lVar1 + 0x618) - lVar12); *(longlong *)(puVar8 + lVar1 + 0x618) = *(longlong *)(puVar8 + lVar1 + 0x628) + *(longlong *)(puVar8 + lVar1 + 0x620); lVar7 = *(longlong *)(puVar8 + lVar1 + 0x618) - *(longlong *)(puVar8 + lVar1 + 0x618); lVar12 = *(longlong *)(puVar8 + lVar1 + 0x628); uVar14 = *(longlong *)(puVar8 + lVar1 + 0x618) - lVar12; uVar4 = *(int *)(lVar12 + lVar7) * 0x401; piVar18 = (int *)(puVar8 + lVar1 + 0x608); do { uVar6 = (*piVar18 + 1) * *piVar18 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar4 = (*(int *)(lVar12 + 4 + lVar7) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 8 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0xc + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x10 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x14 + lVar7)) * 0x401; do { *(undefined **)(puVar8 + lVar1 + 0x548) = &UNK_18120661f; func_0x000181204a85(); uVar6 = (*piVar18 + 1) * *piVar18 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar4 = (*(int *)(lVar12 + 0x18 + lVar7) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x1c + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x20 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x24 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x28 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x2c + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x30 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x34 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x38 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x3c + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x40 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x44 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x48 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x4c + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x50 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x54 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x58 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x5c + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x60 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 100 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x68 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x6c + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x70 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x74 + lVar7)) * 0x401; do { uVar16 = 0; *(undefined **)(puVar8 + lVar1 + 0x548) = &UNK_1812067df; func_0x000181207eb6(); if ((uVar16 & 0xc3) != 0) { *(undefined **)(puVar8 + lVar1 + 0x548) = &UNK_1812067e9; uVar3 = func_0x0001860c0e4d(); return (uint)CONCAT11((byte)((ulonglong)uVar3 >> 8) ^ puVar8[lVar1 + 0x550],(char)uVar3); } uVar6 = (*piVar18 + 1) * *piVar18 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar4 = (*(int *)(lVar12 + 0x78 + lVar7) + (uVar4 ^ uVar4 >> 6)) * 0x401; lVar7 = lVar7 + 0x7c; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + lVar7)) * 0x401; uVar4 = uVar4 ^ uVar4 >> 6; if ((uVar14 & 0x22) == 0) { uVar6 = (uint)uVar14 & 0x12ff; uVar6 = (uVar6 + 1) * uVar6 + 0xe4b & 0x80000001; } else { uVar6 = (uint)lVar7 & 0x6bff; iVar5 = uVar6 * uVar6 + 1; uVar6 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar6 = (int)(uVar6 - 7) >> 0x1f & uVar6; } uVar15 = (uint)uVar14 & 0xff; uVar13 = uVar4 & 0x42ff; uVar15 = (uVar13 * uVar13 + 1) % 7 ^ (uVar15 - 1) * uVar15 & 1; lVar7 = lVar7 + (((longlong)(((int)(-uVar15 | uVar15) >> 0x1f) * -0x7c3b) ^ 0x7c7bU) - ((longlong)(((int)(-uVar6 | uVar6) >> 0x1f) * -0xca0b) ^ 0xca4bU)); uVar4 = (*(int *)(lVar12 + 4 + lVar7) + uVar4) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 8 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0xc + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x10 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x14 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x18 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x1c + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x20 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x24 + lVar7)) * 0x401; uVar4 = uVar4 ^ uVar4 >> 6; lVar7 = lVar7 + 0x28; do { uVar16 = 0xc41c; *(undefined **)(puVar8 + lVar1 + 0x548) = &UNK_1812069ca; uVar6 = func_0x000181207f1c(); if ((uVar16 & 0xf300) == 0) { iVar5 = (uVar6 ^ 0xffffffff) + 1 + *(int *)((ulonglong)uVar4 - 0x1467373f); return CONCAT31((int3)((uint)iVar5 >> 8),(char)iVar5 + 'V'); } uVar6 = (*piVar18 + 1) * *piVar18 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar15 = (*(int *)(lVar12 + lVar7) + uVar4) * 0x401; uVar4 = (uint)lVar7 & 0x41ff; iVar5 = uVar4 * uVar4 + 1; uVar6 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar6 = (int)(uVar6 - 7) >> 0x1f & uVar6; uVar4 = (uint)lVar7 & 0x16ff; uVar4 = (uVar4 - 1) * uVar4 - 1 & 1; lVar7 = lVar7 + (((longlong)(int)((-uVar4 | uVar4) ^ (-uVar6 | uVar6)) >> 0x1f | 0x9b6eU) ^ 0x9b6a); uVar4 = ((uVar15 >> 6 ^ uVar15) + *(int *)(lVar12 + lVar7)) * 0x401; *(undefined8 *)(puVar8 + lVar1 + 0x618) = 0x97dda20f8dde6a78; *(int *)(puVar8 + lVar1 + 0x618) = (int)*(undefined8 *)(puVar8 + lVar1 + 0x618); uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 4 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 8 + lVar7)) * 0x401; lVar7 = lVar7 + 0xc; uVar6 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + lVar7)) * 0x401; uVar6 = uVar6 ^ uVar6 >> 6; uVar4 = (uint)lVar7 & 0x4f; cVar2 = (char)uVar6; lVar7 = lVar7 + ((longlong) (0xd49b << ((byte)((int)(uVar4 * uVar4 * (uVar4 + 1) * (uVar4 + 1) & 2) >> ((cVar2 + '\x01') * cVar2 + 0x41U & 1)) & 0x1f)) ^ 0xd49fU); uVar4 = (*(int *)(lVar12 + lVar7) + uVar6) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 4 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 8 + lVar7)) * 0x401; do { uVar6 = (*piVar18 + 1) * *piVar18 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar4 = (*(int *)(lVar12 + 0xc + lVar7) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x10 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x14 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x18 + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x1c + lVar7)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *(int *)(lVar12 + 0x20 + lVar7)) * 0x401; lVar7 = lVar7 + 0x24; do { uVar6 = (*piVar18 + 1) * *piVar18 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = (*(int *)(lVar12 + lVar7) + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar6 = uVar6 ^ uVar6 >> 6; uVar15 = uVar6 & 0x5f; uVar4 = (uint)lVar7 & 0x2ff; iVar5 = (uVar4 + 2) * (uVar4 + 1) * uVar4; uVar4 = ((uVar6 & 0x66ff) * (uVar6 & 0x66ff) + 1) % 7; uVar13 = (iVar5 + (iVar5 / 3 + (iVar5 >> 0x1f) + (int)(((longlong)iVar5 / 3 + ((longlong)iVar5 >> 0x3f) & 0xffffffffU) >> 0x1f) ) * -3) - uVar4; uVar14 = ((longlong)(int)(uVar15 * uVar15 * (uVar15 + 1) * (uVar15 + 1) & 0x80000003) >> ((byte)uVar14 & 0x1f) | 0xa3c1U) ^ 0xffffffffffff5c45; lVar7 = lVar7 + ((longlong)(((int)(-uVar13 | uVar13) >> 0x1f) * -0xbb49) ^ 0xbbc9U) + uVar14; do { uVar15 = (*piVar18 + 1) * *piVar18 & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar6 = (*(int *)(lVar12 + lVar7) + uVar6) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + *(int *)(lVar12 + 4 + lVar7)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + *(int *)(lVar12 + 8 + lVar7)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + *(int *)(lVar12 + 0xc + lVar7)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + *(int *)(lVar12 + 0x10 + lVar7)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + *(int *)(lVar12 + 0x14 + lVar7)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + *(int *)(lVar12 + 0x18 + lVar7)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + *(int *)(lVar12 + 0x1c + lVar7)) * 0x401; do { uVar15 = (*piVar18 + 1) * *piVar18 & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); do { uVar15 = (*piVar18 + 1) * *piVar18 & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar6 = ~(uVar6 ^ uVar6 >> 6) + 0x925014ad; if ((CONCAT71((int7)((ulonglong)uVar3 >> 8), (((uVar6 * 0x800 | uVar6 >> 0x15) ^ 0x1f994175) << 2 | (uVar6 & 0x1fffff) >> 0x13) != *(uint *)(puVar8 + lVar1 + 0x618)) & 0x3ffffff) != 0) { *(longlong *)(puVar8 + lVar1 + 0x548) = lVar11; *(ulonglong *)(puVar8 + lVar1 + 0x540) = (ulonglong)uVar4; *(ulonglong *)(puVar8 + lVar1 + 0x538) = (ulonglong)uVar13; uVar4 = thunk_FUN_1805a9280(); return uVar4; } puVar9 = puVar8 + lVar1 + -0x18; do { *(ulonglong *)(puVar9 + 0x560) = uVar14; *(longlong *)(puVar9 + 0x558) = lVar12; *(int **)(puVar9 + 0x550) = piVar18; lVar1 = -(longlong)(int)lVar11; puVar10 = puVar9 + lVar1 + 0x550; piVar18 = *(int **)(puVar9 + lVar1 + 0xaa0); lVar12 = *(longlong *)(puVar9 + lVar1 + 0xaa8); uVar14 = *(ulonglong *)(puVar9 + lVar1 + 0xab0); uVar4 = (*piVar18 + 1) * *piVar18 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } puVar9 = puVar9 + lVar1 + 0x550; } while (uVar4 != 0); } else { *(undefined **)(puVar8 + lVar1 + 0x588) = &DAT_182673810; puVar8[lVar1 + 0x590] = 0; *(undefined8 *)(puVar8 + lVar1 + 0x548) = 0x1812070d4; cVar2 = FUN_180487810(puVar8 + lVar1 + 0x588); while ((cVar2 != '\0' && (DAT_182673940 != 0))) { *(undefined8 *)(puVar8 + lVar1 + 0x548) = 0x181207100; uVar3 = FUN_1804870c0(&DAT_182673920,puVar8 + lVar1 + 0x5a8); *(undefined8 *)(puVar8 + lVar1 + 0x548) = 0x181207109; lVar11 = FUN_180489600(uVar3); *(undefined8 *)(puVar8 + lVar1 + 0x548) = 0x181207117; FUN_18048a610(param_1 + 0x20,lVar11 + 8); *(undefined8 *)(puVar8 + lVar1 + 0x548) = 0x181207123; FUN_180487040(&DAT_182673920); *(undefined8 *)(puVar8 + lVar1 + 0x548) = 0x18120712e; FUN_1804878d0(puVar8 + lVar1 + 0x588); *(undefined8 *)(puVar8 + lVar1 + 0x548) = 0x181207137; FUN_18048a500(param_1 + 0x20); *(undefined **)(puVar8 + lVar1 + 0x588) = &DAT_182673810; puVar8[lVar1 + 0x590] = 0; *(undefined8 *)(puVar8 + lVar1 + 0x548) = 0x18120714b; cVar2 = FUN_180487810(puVar8 + lVar1 + 0x588); } *(undefined8 *)(puVar8 + lVar1 + 0x548) = 0x181207159; FUN_1804878d0(puVar8 + lVar1 + 0x588); } *(undefined8 *)(puVar10 + 0x560) = 0x181207164; uVar4 = FUN_1804878d0(puVar10 + 0x5b0); return uVar4; } ############ FUN_ 180995c84 size=378 ############ ulonglong FUN_180995c84(void) { longlong lVar1; ulonglong uVar2; uint uVar3; int unaff_EBX; undefined8 unaff_RBP; undefined8 unaff_RDI; undefined8 in_R9; int *unaff_R12; longlong unaff_R14; int unaff_R15D; uVar3 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } if (uVar3 != 0) { func_0x00018099623a(0x5414); uVar2 = FUN_180995c84(); return uVar2; } uVar2 = CONCAT71((int7)((ulonglong)unaff_RBP >> 8), ((unaff_EBX + 0x3d7c6baaU) * 0x10000 | unaff_EBX + 0x3d7c6baaU >> 0x10) == 0x18e747e1); if ((uVar2 & 0x7ffffff) != 0 || (int)uVar2 != 0) { do { *(undefined8 *)((longlong)register0x00000020 + -8) = in_R9; *(int **)((longlong)register0x00000020 + -0x10) = unaff_R12; *(undefined8 *)((longlong)register0x00000020 + -0x18) = unaff_RDI; lVar1 = -(longlong)unaff_R15D; unaff_RDI = *(undefined8 *)((longlong)register0x00000020 + lVar1 + 0x248); unaff_R12 = *(int **)((longlong)register0x00000020 + lVar1 + 0x250); in_R9 = *(undefined8 *)((longlong)register0x00000020 + lVar1 + 600); register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + lVar1 + 0x260); uVar3 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); if (unaff_R14 == 0) { uVar2 = 0; } else { uVar2 = (ulonglong)*(uint *)(unaff_R14 + 8); } return uVar2; } uVar2 = thunk_FUN_1805a9280(); return uVar2; } ############ FUN_ 181205015 size=1412 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181205015(uint *param_1,undefined8 param_2,undefined8 param_3,ulonglong param_4, undefined4 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8, int param_9,undefined8 param_10,undefined4 param_11,undefined8 param_12, undefined8 param_13,undefined4 param_14,undefined8 param_15,undefined8 param_16) { longlong lVar1; undefined1 *puVar2; uint in_EAX; uint uVar3; ulonglong uVar4; undefined8 uVar5; uint uVar6; uint uVar7; undefined8 *puVar8; undefined4 *puVar9; uint *puVar10; undefined8 *puVar11; uint unaff_EBX; undefined1 *puVar12; undefined8 *unaff_RBP; longlong unaff_RDI; uint uVar13; longlong lVar14; int iVar15; longlong unaff_R13; longlong unaff_R15; int *piVar16; undefined1 auStackX_8 [32]; while( true ) { piVar16 = (int *)(unaff_R15 + -0x7a623905); *param_1 = in_EAX >> 1; uVar6 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } if (uVar6 == 0) break; puVar10 = (uint *)(unaff_RBP + 2); param_1 = (uint *)((longlong)¶m_12 + 4); FUN_181203e50(); uVar5 = rdtsc(); uVar6 = (int)uVar5 + (int)((ulonglong)uVar5 >> 0x20); *puVar10 = uVar6; uVar4 = (ulonglong)uVar6 * -0x1ff - 0x5b3ef5a3; uVar4 = ((uVar4 >> 9) - 0x300c9bb8) + uVar4 * 4; uVar4 = (uVar4 * 0x400 | uVar4 >> 0x36) * 0x1001 >> 5; uVar4 = uVar4 ^ uVar4 * 0x8000 - 0x48481e2b; uVar4 = (uVar4 ^ uVar4 * 3 >> 7) * -0x7ff - 0x2bb2843b; in_EAX = ((int)uVar4 + (int)(uVar4 >> 5)) * 2; if ((int *)0xffffffff859dc6fa < piVar16 || unaff_R15 == 0) { FUN_181205015(); return; } } param_12._4_4_ = param_12._4_4_ ^ (uint)param_16; if (param_12._4_4_ < 0x4444447) { *(undefined4 *)(unaff_RBP + 0xf) = param_16._4_4_; *(undefined4 *)((longlong)unaff_RBP + 0x7c) = param_14; *(undefined4 *)(unaff_RBP + 0x10) = param_11; *(undefined4 *)((longlong)unaff_RBP + 0x84) = param_5; do { puVar11 = unaff_RBP + -1; puVar8 = ¶m_13; func_0x000181204a85(); *(undefined4 *)puVar8 = 0x6ecd5091; *puVar11 = 0x1812050a3; uVar6 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = ((uint)param_13 << 4 | (uint)param_13 >> 0x1c) + 0x914f558b; uVar6 = (uVar6 >> 0x1f | uVar6 * 2) + 0x54b8b08f; param_13._0_4_ = (uVar6 >> 6 | uVar6 * 0x4000000) + 0xba601b56; (*(code *)((longlong)(int)(uint)param_13 + unaff_RBP[-1]))(unaff_RBP + 0xf,unaff_RBP + 0x15); do { puVar9 = (undefined4 *)((longlong)¶m_8 + 4); func_0x000181204236(); *puVar9 = 0xc2c879bf; uVar6 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = (param_8._4_4_ + 0x6b6aa9 >> 0x12 | (param_8._4_4_ + 0x6b6aa9) * 0x4000) ^ 0x42bee0a9; uVar6 = (uVar6 << 0x1c | uVar6 >> 4) + 0x2ffa1d7f; uVar6 = (uVar6 >> 0x14 | uVar6 * 0x1000) ^ 0xd8e961ca; param_8._4_4_ = (uVar6 >> 0x13 | uVar6 << 0xd) + 0x42302c84; uVar6 = *(uint *)(unaff_RBP + 0x16); param_4 = (ulonglong)*(uint *)((longlong)unaff_RBP + 0xb4); iVar15 = 7; do { uVar3 = (uVar6 >> 0xc ^ uVar6) >> 2 & 0xfff; uVar13 = (uint)param_4; uVar7 = ((uint)(param_4 >> 5) ^ uVar13) >> 8 & 1; uVar6 = (uVar3 << 0xc | uVar3) << 2 ^ uVar6; uVar3 = (uVar6 >> 0x18 | uVar6 << 8) + 0x6e4157a7; uVar13 = (uVar13 << 0x1c | ((uVar7 << 5 | uVar7) << 8 ^ uVar13) >> 4) + 0x20a786ca; uVar6 = (uVar3 >> 0xb ^ uVar3) >> 9 & 0x3ff; uVar7 = uVar3 ^ (uVar6 << 0xb | uVar6) << 9; uVar6 = (uVar13 >> 0x11 ^ uVar13) >> 0xb & 3; uVar13 = uVar13 ^ (uVar6 << 0x11 | uVar6) << 0xb; uVar6 = (uVar7 << 4 | uVar7 >> 0x1c) & 0x87878787 | (uVar7 >> 4 | uVar3 * 0x10000000) & 0x78787878; uVar3 = (uVar13 >> 0x10 | uVar13 << 0x10) & 0xa3635c9c | (uVar13 << 0x10 | uVar13 >> 0x10) & 0x5c9ca363; uVar3 = (uVar3 << 0x12 | uVar3 >> 0xe) + 0x607d5440; uVar7 = uVar3 ^ (uVar6 << 0x12 | uVar6 >> 0xe) + 0x270a0bab; uVar6 = uVar7 & 0x3c3c3c3c ^ uVar3; uVar3 = uVar7 & 0xc3c3c3c3 ^ uVar3 ^ uVar6; uVar7 = uVar3 & 0x8cbe5e76 ^ uVar6; param_4 = (ulonglong)uVar7; uVar6 = uVar3 & 0x7341a189 ^ uVar6; iVar15 = iVar15 + -1; } while (-1 < iVar15); iVar15 = (uVar6 + 0xfacf38d9 >> 0x15 | (uVar6 + 0xfacf38d9) * 0x800) + 0x58b3008b; uVar6 = (iVar15 * 2 | (uint)(iVar15 < 0)) ^ 0xd75fe617; uVar6 = ~(uVar6 << 0x1a | uVar6 >> 6) + 0x1325155; if (((uVar6 * 0x400 | uVar6 >> 0x16) ^ param_8._4_4_) + uVar7 != param_9) { do { *unaff_RBP = FUN_180bc28a0; uVar6 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); (*(code *)*unaff_RBP)(); do { FUN_181203ea5(); FUN_181207388(); uVar6 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); } } uVar6 = ~unaff_EBX & param_13._4_4_ | ~param_13._4_4_ & unaff_EBX; if (uVar6 == uVar6 >> 7) { if (*(longlong *)(unaff_R13 + 0x70) != 0) { unaff_RDI = *(longlong *)(unaff_R13 + 0x70) + 8; } uVar5 = FUN_1804730e0(unaff_R13 + 0xa0); uVar5 = .?AVSoothe2Header@@::vtbl___AVSoothe2Header__(uVar5,unaff_RBP + 1); FUN_181245ff0(unaff_RBP + 0xc,uVar5); lVar14 = unaff_RDI; FUN_1811f8160(); FUN_18124a7e0(unaff_RBP + 1); iVar15 = *(int *)(unaff_RBP + -0x10); puVar2 = auStackX_8; do { puVar12 = puVar2; *(longlong *)(puVar12 + -8) = unaff_RDI; *(longlong *)(puVar12 + -0x10) = unaff_R13; *(longlong *)(puVar12 + -0x18) = lVar14; lVar1 = -(longlong)iVar15; lVar14 = *(longlong *)(puVar12 + lVar1 + 0xac8); unaff_R13 = *(longlong *)(puVar12 + lVar1 + 0xad0); unaff_RDI = *(longlong *)(puVar12 + lVar1 + 0xad8); uVar6 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } puVar2 = puVar12 + lVar1 + 0xae0; } while (uVar6 != 0); *(undefined **)(puVar12 + lVar1 + 0xad8) = &UNK_181205618; } uVar5 = FUN_1804730e0(unaff_R13 + 0xa0); uVar5 = .?AVSoothe2Header@@::vtbl___AVSoothe2Header__(uVar5,unaff_RBP + -0xb); FUN_181245ff0(unaff_RBP + 0xd,uVar5); FUN_1811f8160(); FUN_18124a7e0(unaff_RBP + -0xb); thunk_FUN_1805a9280((longlong)*(int *)((longlong)unaff_RBP + -0x7c),thunk_FUN_1805a9280, 0x181205577,~(~param_4 + 1) + 1); return; } ############ FUN_ 180a05690 size=2000 ############ /* WARNING: Instruction at (ram,0x000180a05b00) overlaps instruction at (ram,0x000180a05afc) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000180a05b93) */ /* WARNING: Removing unreachable block (ram,0x000180a05797) */ /* WARNING: Removing unreachable block (ram,0x000180a056fd) */ /* WARNING: Removing unreachable block (ram,0x000180a056e6) */ /* WARNING: Removing unreachable block (ram,0x000180a05722) */ /* WARNING: Removing unreachable block (ram,0x000180a05afc) */ /* WARNING: Removing unreachable block (ram,0x000180a05b2a) */ /* WARNING: Removing unreachable block (ram,0x000180a0577e) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_180a05690(longlong param_1,char *param_2,uint param_3) { byte bVar1; byte *pbVar2; undefined1 *puVar3; char cVar4; int iVar5; undefined8 uVar6; uint uVar7; undefined1 *puVar8; ulonglong uVar9; char *pcVar10; char *pcVar11; longlong lVar12; uint uVar13; uint uVar14; longlong lVar15; ulonglong uVar16; bool bVar17; bool bVar18; int unaff_retaddr; undefined1 auStack_98 [32]; undefined4 local_78; undefined4 local_74; undefined8 local_70; undefined8 local_68; undefined4 local_60; uint local_58; uint local_50; uVar16 = (ulonglong)param_3; uVar14 = (uint)&stack0x00000000; uVar13 = ((uVar14 & 0x19ff) + 1) * (uVar14 & 0x19ff) + 0x2cef & 0x80000001; uVar7 = ((uVar14 & 0x12ff) + 1) * (uVar14 & 0x12ff) + 0x2c51 & 0x80000001; local_50 = ((int)(-uVar7 | uVar7) >> 0x1f) * -0x4f93 ^ ((int)(-uVar13 | uVar13) >> 0x1f) * -0x4603 ; uVar7 = (((uVar14 & 0x37ff) + 1) * (uVar14 & 0x37ff) + 7) % 0x51; local_78 = 0xffffffff; uVar7 = ((int)(-uVar7 | uVar7) >> 0x1f) * -0x2dbc ^ 0x2d8c; local_58 = uVar7; local_74 = 0xffff0000; local_60 = 0xffff0000; lVar12 = 0x180000000; uVar6 = 0x181204464; local_70 = 0xd556ac27545129f; local_68 = 0x17545129f; uVar14 = (((iRam0000000181204468 + iRam0000000181204464 * 0x25) * 0x25 + iRam000000018120446c) * 0x25 + iRam0000000181204470) * 0x25; bVar17 = CARRY4(uVar14,uRam0000000181204474); uVar14 = uVar14 + uRam0000000181204474; bVar18 = uVar14 == 0; do { if (!bVar17 && !bVar18) { uVar14 = ((uVar14 ^ 0xffffffff) + 1 ^ 0xffffffff) + 1; } uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } bVar17 = false; bVar18 = uVar13 == 0; } while (!bVar18); do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar14 = ((((((((iRam00000001812044d0 * 0x25 + iRam00000001812044d4) * 0x25 + iRam00000001812044d8 ) * 0x25 + iRam00000001812044dc) * 0x25 + iRam00000001812044e0) * 0x25 + iRam00000001812044e4) * 0x25 + (DAT_1812044a4 * 0x25 + DAT_1812044a8) * 0x5d269c1 + DAT_1812044ac * -0x295b2d93 + iRam0000000181204478 * -0x63c28c6f + iRam00000001812044b8 * -0x5675a22f + DAT_181204498 * -0x503d94f + iRam000000018120447c * -0x7f3c9c03 + iRam0000000181204480 * -0x644dbf07 + iRam00000001812044c8 * -0x2fe8ed1f + iRam00000001812044c0 * -0x349c0ac7 + _DAT_18120448c * -0x4a8c6433 + DAT_18120449c * -0xdf92f63 + _DAT_1812044b0 * -0x5b104d57 + iRam00000001812044b4 * -0x7f0070cb + iRam0000000181204484 * 0x573c2b45 + iRam00000001812044cc * 0x1a617d0d + iRam0000000181204494 * 0x46719795 + iRam0000000181204490 * 0x2e6ae889 + iRam0000000181204488 * 0x39b584a1 + DAT_1812044a0 * 0x22378919 + iRam00000001812044c4 * 0x1355ba85 + iRam00000001812044bc * 0x6572713d + uVar14 * -0x6b1e4c0b + iRam00000001812044e8) * 0x25 + iRam00000001812044ec) * 0x25 + iRam00000001812044f0) * 0x25 + iRam00000001812044f4; uVar9 = (ulonglong)uVar14; do { uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar14 = (((((((iRam0000000181204540 * 0x25 + iRam0000000181204544) * 0x25 + iRam0000000181204548) * 0x25 + iRam000000018120454c) * 0x25 + iRam0000000181204550) * 0x25 + iRam0000000181204554) * 0x25 + (iRam0000000181204514 * 0x25 + iRam0000000181204518) * 0x5d269c1 + iRam0000000181204524 * -0x7f0070cb + _DAT_18120451c * -0x295b2d93 + iRam0000000181204528 * -0x5675a22f + iRam0000000181204508 * -0x503d94f + iRam0000000181204530 * -0x349c0ac7 + iRam0000000181204538 * -0x2fe8ed1f + iRam000000018120450c * -0xdf92f63 + iRam00000001812044fc * -0x4a8c6433 + iRam0000000181204520 * -0x5b104d57 + iRam000000018120453c * 0x1a617d0d + iRam00000001812044f8 * 0x39b584a1 + iRam0000000181204504 * 0x46719795 + iRam0000000181204500 * 0x2e6ae889 + iRam0000000181204534 * 0x1355ba85 + iRam0000000181204510 * 0x22378919 + iRam000000018120452c * 0x6572713d + iRam0000000181204558 + uVar14 * 0x573c2b45) * 0x25 + iRam000000018120455c) * 0x25 + iRam0000000181204560; uVar14 = (uVar14 * 4 | uVar14 >> 0x1e) & 0x99999999 | (uVar14 >> 2 | uVar14 * 0x40000000) & 0x66666666; uVar14 = (uVar14 << 0x1c | uVar14 >> 4) + 0x2e5c7dc2; uVar14 = (uVar14 >> 0x15 | uVar14 * 0x800) + 0x8abaed61; if (uVar14 != uVar14 >> 1) { lVar12 = (ulonglong)(uVar14 >> 1) + (ulonglong)uVar14; uVar6 = thunk_FUN_1805a9280((longlong)(int)local_50, -((((ulonglong)uVar14 - lVar12 ^ 0xffffffffffffffff) + 1) - lVar12)) ; return uVar6; } puVar3 = auStack_98; do { puVar8 = puVar3; *(BADSPACEBASE **)(puVar8 + -8) = register0x00000020; *(ulonglong *)(puVar8 + -0x10) = uVar9; *(undefined8 *)(puVar8 + -0x18) = uVar6; lVar15 = lVar12 + param_1; lVar12 = ~(param_1 - lVar15) + 1; param_1 = lVar15 - lVar12; lVar15 = -(longlong)(int)uVar7; uVar16 = -(~uVar16 + 1); uVar6 = *(undefined8 *)(puVar8 + lVar15 + 0x18); uVar9 = *(ulonglong *)(puVar8 + lVar15 + 0x20); register0x00000020 = *(BADSPACEBASE **)(puVar8 + lVar15 + 0x28); uVar14 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } puVar3 = puVar8 + lVar15 + 0x30; } while (uVar14 != 0); if (((param_1 == 0) || (param_2 == (char *)0x0)) || (0x500 < (uint)uVar16)) { return 99; } if ((uint)uVar16 != 0) { pcVar11 = param_2 + uVar16; *(char **)(puVar8 + lVar15 + 0x58) = pcVar11; for (pcVar10 = param_2; pcVar10 < pcVar11; pcVar10 = pcVar10 + (*(uint *)(puVar8 + lVar15 + 0x6c) + uVar7)) { *(undefined8 *)(puVar8 + lVar15 + 0x28) = 0x180a05e90; uVar7 = FUN_180a00950(param_1,pcVar10,puVar8 + lVar15 + 0x6c); if ((0x500 < uVar7) || (pcVar11 < pcVar10 + (ulonglong)uVar7 + (ulonglong)*(uint *)(puVar8 + lVar15 + 0x6c))) break; if (*pcVar10 == '\x06') { if (pcVar10 != (char *)0x0) { uVar14 = 0; if (pcVar10 == (char *)0xffffffffffffffff) { uVar14 = *(uint *)(puVar8 + lVar15 + 0x54); goto LAB_180a05fad; } lVar12 = 0; uVar13 = uVar14; goto LAB_180a05f10; } break; } } } uVar13 = *(uint *)(puVar8 + lVar15 + 0x54); goto LAB_180a05ebf; LAB_180a05f10: do { pbVar2 = *(byte **)((longlong)&DAT_181c09d70 + lVar12); if (pbVar2 != (byte *)0x0) { bVar1 = *pbVar2; *(undefined8 *)(puVar8 + lVar15 + 0x28) = 0x180a05f2c; cVar4 = FUN_1806213b0(pcVar10 + 1,pbVar2,bVar1 + 1); if (cVar4 != '\0') goto LAB_180a05f34; LAB_180a05f6c: *(uint *)(puVar8 + lVar15 + 0x50) = uVar13; if (uVar13 != 0xffffffff) goto LAB_180a05fc7; goto LAB_180a05fb6; } LAB_180a05f34: pbVar2 = *(byte **)((longlong)&PTR_DAT_181c09dd0 + lVar12); if (pbVar2 != (byte *)0x0) { bVar1 = *pbVar2; *(undefined8 *)(puVar8 + lVar15 + 0x28) = 0x180a05f50; cVar4 = FUN_1806213b0(pcVar10 + 1,pbVar2,bVar1 + 1); if (cVar4 == '\0') { uVar14 = 0xffff0000; goto LAB_180a05f6c; } } uVar13 = uVar13 + 1; lVar12 = lVar12 + 8; } while (uVar13 < 0xc); *(undefined8 *)(puVar8 + lVar15 + 0x28) = 0x180a05f94; cVar4 = FUN_1806213b0(pcVar10 + 1,&DAT_181c09ad0,8); uVar14 = *(uint *)(puVar8 + lVar15 + 0x54); if (cVar4 == '\0') { uVar14 = 0; } LAB_180a05fad: *(undefined4 *)(puVar8 + lVar15 + 0x50) = 0xffffffff; LAB_180a05fb6: iVar5 = -1; if (uVar14 == 0xffff0000) goto LAB_180a05ec3; LAB_180a05fc7: uVar16 = 0; iVar5 = *(int *)(puVar8 + lVar15 + 0x50); pcVar10 = pcVar10 + (*(int *)(puVar8 + lVar15 + 0x6c) + uVar7); if (((*(char **)(puVar8 + lVar15 + 0x58) <= pcVar10) || ((iVar5 != -1 && (uVar14 != 0xffff0000)))) || (uVar7 = ((int)param_2 - (int)pcVar10) + *(int *)(puVar8 + lVar15 + 0xe0), pcVar10 == (char *)0x0)) goto LAB_180a05ec3; uVar13 = uVar14; if (uVar7 - 1 < 0x1400) { pcVar11 = pcVar10 + uVar7; for (; pcVar10 < pcVar11; pcVar10 = pcVar10 + (*(uint *)(puVar8 + lVar15 + 0x74) + uVar7)) { *(undefined8 *)(puVar8 + lVar15 + 0x28) = 0x180a06040; uVar7 = FUN_180a00950(param_1,pcVar10,puVar8 + lVar15 + 0x74); if ((0x500 < uVar7) || (pcVar11 < pcVar10 + (ulonglong)uVar7 + (ulonglong)*(uint *)(puVar8 + lVar15 + 0x74))) break; if (*pcVar10 == '\x06') { if (pcVar10 != (char *)0x0) { iVar5 = *(int *)(puVar8 + lVar15 + 0x50); if (iVar5 == -1) { *(undefined8 *)(puVar8 + lVar15 + 0x28) = 0x180a06095; iVar5 = FUN_180a00490(pcVar10 + 1,0); goto LAB_180a05ec3; } pcVar10 = pcVar10 + 1; if (pcVar10 == (char *)0x0) goto LAB_180a05ec3; uVar9 = uVar16; goto LAB_180a060b0; } break; } } } goto LAB_180a05ebf; while( true ) { uVar7 = (int)uVar9 + 1; uVar9 = (ulonglong)uVar7; uVar16 = uVar16 + 8; if (0xb < uVar7) break; LAB_180a060b0: pbVar2 = *(byte **)((longlong)&DAT_181c09d70 + uVar16); if (pbVar2 != (byte *)0x0) { bVar1 = *pbVar2; *(undefined8 *)(puVar8 + lVar15 + 0x28) = 0x180a060cc; cVar4 = FUN_1806213b0(pcVar10,pbVar2,bVar1 + 1); uVar13 = 0; if (cVar4 == '\0') goto LAB_180a05ebf; } pbVar2 = *(byte **)((longlong)&PTR_DAT_181c09dd0 + uVar16); if (pbVar2 != (byte *)0x0) { bVar1 = *pbVar2; *(undefined8 *)(puVar8 + lVar15 + 0x28) = 0x180a060ec; cVar4 = FUN_1806213b0(pcVar10,pbVar2,bVar1 + 1); if (cVar4 == '\0') { uVar13 = 0xffff0000; goto LAB_180a05ebf; } } } *(undefined8 *)(puVar8 + lVar15 + 0x28) = 0x180a06110; cVar4 = FUN_1806213b0(pcVar10,&DAT_181c09ad0,8); uVar13 = uVar14; if (cVar4 == '\0') { uVar13 = 0; } LAB_180a05ebf: iVar5 = *(int *)(puVar8 + lVar15 + 0x50); uVar14 = uVar13; LAB_180a05ec3: if (*(int **)(puVar8 + lVar15 + 0xe8) != (int *)0x0) { **(int **)(puVar8 + lVar15 + 0xe8) = iVar5; } if (*(uint **)(puVar8 + lVar15 + 0xf0) != (uint *)0x0) { **(uint **)(puVar8 + lVar15 + 0xf0) = uVar14; } return 0; } ############ FUN_ 181354d20 size=3412 ############ /* WARNING: Instruction at (ram,0x000181355965) overlaps instruction at (ram,0x000181355961) */ /* WARNING: Removing unreachable block (ram,0x00018135614c) */ /* WARNING: Removing unreachable block (ram,0x000181355961) */ /* WARNING: Removing unreachable block (ram,0x00018135561e) */ /* WARNING: Removing unreachable block (ram,0x000181355313) */ /* WARNING: Removing unreachable block (ram,0x000181354e58) */ /* WARNING: Removing unreachable block (ram,0x0001813553ba) */ /* WARNING: Removing unreachable block (ram,0x0001813557dd) */ /* WARNING: Removing unreachable block (ram,0x000181355d8b) */ /* WARNING: Removing unreachable block (ram,0x0001813559d0) */ /* WARNING: Removing unreachable block (ram,0x000181354d96) */ ulonglong FUN_181354d20(longlong param_1) { longlong lVar1; undefined1 *puVar2; char cVar3; uint uVar4; int iVar5; uint uVar6; uint uVar7; longlong lVar8; ulonglong uVar9; int *piVar10; int *piVar11; undefined1 *puVar12; undefined1 *puVar13; longlong lVar14; uint uVar15; uint uVar16; longlong lVar17; ulonglong uVar18; longlong lVar19; ulonglong uVar20; uint uVar21; ulonglong uVar22; uint uVar23; bool bVar24; int unaff_retaddr; undefined1 auStack_68 [40]; uVar6 = (uint)&stack0x00000000; iVar5 = (uVar6 & 0x68ff) * (uVar6 & 0x68ff) + 1; uVar23 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar23 = (int)(uVar23 - 7) >> 0x1f & uVar23; uVar23 = (((int)(-uVar23 | uVar23) >> 0x1f) * 0x4841 ^ 0xfffffeffU) & 0x973e; if (((ulonglong)&stack0x00000000 & 0x160) == 0) { uVar6 = ((uVar6 & 0x1eff) + 1) * (uVar6 & 0x1eff) + 0x1fc7 & 0x80000001; } else { uVar6 = (((uVar6 & 0x9ff) + 1) * (uVar6 & 0x9ff) + 7) % 0x51; } uVar4 = (((uint)(iRam0000000180c4c6b8 * 0x401) >> 6 ^ iRam0000000180c4c6b8 * 0x401) + iRam0000000180c4c6bc) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000180c4c6c0) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000180c4c6c4) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000180c4c6c8) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000180c4c6cc) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000180c4c6d0) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + iRam0000000180c4c6d4) * 0x401; uVar15 = ((uVar4 >> 6 ^ uVar4) + iRam0000000180c4c6d8) * 0x401; uVar15 = uVar15 ^ uVar15 >> 6; uVar4 = uVar15 & 7 | 0x12; uVar7 = uVar15 & 0x1f | 0x33; uVar21 = uVar15 & 7 | 0x62; uVar4 = uVar7 * uVar7 * 0x6253 ^ uVar4 * uVar4 * 0x1b3b; uVar7 = uVar15 & 0x3f | 0x76; piVar10 = (int *)((longlong) (int)((uVar7 * uVar7 * 0xdbcd == uVar21 * uVar21 * 0xd6a5) + 0xeaa3 ^ ((int)(-uVar4 | uVar4) >> 0x1f) + 0xebe4U) + 0x180c4c59c); lVar14 = 2; lVar8 = 2; uVar4 = (*piVar10 + uVar15) * 0x401; do { uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[1]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[2]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[3]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[4]) * 0x401; piVar11 = piVar10 + 5; piVar10 = piVar10 + 6; uVar4 = ((uVar4 >> 6 ^ uVar4) + *piVar11) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *piVar10) * 0x401; lVar8 = lVar8 + -1; } while (lVar8 != 0); uVar7 = (uint)piVar10 & 0xeff; uVar15 = (uint)piVar10 & 0x6aff; piVar10 = (int *)((longlong)piVar10 + ((longlong)(int)(((uVar15 - 1) * uVar15 & (uVar7 - 1) * uVar7 - 1 & 1) + 0xc642) ^ 0xc646U)); uVar4 = ((uVar4 >> 6 ^ uVar4) + *piVar10) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[1]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[2]) * 0x401; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = (piVar10[3] + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[4]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[5]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[6]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[7]) * 0x401; uVar4 = uVar4 ^ uVar4 >> 6; if ((uVar4 & 0x3e) == 0) { uVar7 = ((uVar4 & 0x1eff) + 1) * (uVar4 & 0x1eff) + 0x480d & 0x80000001; } else { uVar7 = 0x31; } piVar10 = (int *)((longlong)(piVar10 + 7) + (0x144 - ((longlong)(((int)(-uVar7 | uVar7) >> 0x1f) * -0x71f6) ^ 0x70b6U))); uVar4 = (*piVar10 + uVar4) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[1]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[2]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[3]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[4]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[5]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[6]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[7]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[8]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[9]) * 0x401; piVar10 = piVar10 + 10; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = (*piVar10 + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar7 = uVar7 ^ uVar7 >> 6; uVar4 = (uint)piVar10; if (((ulonglong)piVar10 & 0xc0) == 0) { uVar15 = uVar7 & 7 | 0x60; uVar21 = uVar7 & 0x3f | 0x34; if (((uVar15 * uVar15 * -0x11 ^ uVar21 * uVar21 * -0x33) & 0x44) == 0) { uVar15 = (uVar4 & 0x73ff) * (uVar4 & 0x73ff) + 1; iVar5 = (uVar15 / 7) * 7; } else { uVar15 = (uVar4 & 0xcff) * (uVar4 & 0xcff) * 0x10 + 4; iVar5 = (uVar15 / 0x13) * 0x13; } uVar15 = ((int)(-(uVar15 - iVar5) | uVar15 - iVar5) >> 0x1f) * -0xb572; } else { uVar15 = 0xb572; } uVar21 = uVar7 & 0x1f | 0x7e; uVar16 = uVar7 & 0x3f | 0x13; uVar4 = uVar4 & 0x4f; uVar21 = ((uVar7 & 0x16ff) * (uVar7 & 0x16ff) * 0x10 + 4) % 0x13 - (uint)(uVar21 * uVar21 * 0x9d2d == uVar16 * uVar16 * 0x568f); uVar20 = (ulonglong)uVar21; uVar4 = uVar4 * uVar4 * (uVar4 + 1) * (uVar4 + 1) & 0x80000003; uVar18 = (ulonglong)uVar4; lVar8 = 0; piVar10 = (int *)((longlong)piVar10 + ((0xd6bL >> (sbyte)uVar4 ^ 0xf6fU) - (longlong)(int)(((int)(-uVar21 | uVar21) >> 0x1f) * -0xb772 ^ uVar15))); uVar4 = (*piVar10 + uVar7) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[1]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[2]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[3]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[4]) * 0x401; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = (piVar10[5] + (uVar4 ^ uVar4 >> 6)) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[6]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[7]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[8]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[9]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[10]) * 0x401; piVar11 = piVar10 + 0xc; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar10[0xb]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + *piVar11) * 0x401; uVar4 = uVar4 ^ uVar4 >> 6; uVar22 = (ulonglong)uVar4; if (((ulonglong)piVar11 & 0x7a0) == 0) { uVar7 = 1; } else { uVar7 = (uint)piVar11 & 0xf | 0x45; uVar15 = (uint)piVar11 & 0x7f | 3; uVar7 = uVar7 * uVar7 * 0xca7f ^ uVar15 * uVar15 * 0xf0f1; } uVar9 = (ulonglong)uVar7; piVar11 = (int *)((longlong)piVar11 + ((longlong)(((int)(-uVar7 | uVar7) >> 0x1f) * -0xcb81) ^ 0xcb85U)); uVar4 = (*piVar11 + uVar4) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar11[1]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar11[2]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar11[3]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar11[4]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar11[5]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar11[6]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar11[7]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar11[8]) * 0x401; uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar11[9]) * 0x401; do { lVar19 = uVar9 + uVar20; uVar9 = (uVar20 - lVar19 ^ 0xffffffffffffffff) + 1; uVar20 = lVar19 - uVar9; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = (uVar4 ^ uVar4 >> 6) + 0xa8405bfe; *(undefined1 *)(param_1 + 0xf) = 1; uVar7 = (uVar4 >> 9 ^ uVar4) >> 0xb & 0x7f; uVar4 = ((uVar7 << 9 | uVar7) << 0xb ^ uVar4) + 0x409d9cf5; uVar4 = (uVar4 * 0x100 | uVar4 >> 0x18) + 0x22a092a7; do { uVar18 = (~uVar18 + 1 ^ 0xffffffffffffffff) + 1; uVar20 = -(~uVar20 + 1); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = (uVar4 >> 0x1e | uVar4 * 4) + 0xaa5d0dd6; if (uVar4 == 0 && (uVar4 & 0x7fffff) == 0) { uVar20 = thunk_FUN_1805a9280(); return uVar20; } puVar2 = auStack_68; lVar19 = (longlong)(int)(((int)(-uVar6 | uVar6) >> 0x1f) * -0xad4b ^ 0xaeab); do { puVar12 = puVar2; *(ulonglong *)(puVar12 + -8) = uVar20; *(ulonglong *)(puVar12 + -0x10) = uVar9; *(longlong *)(puVar12 + -0x18) = param_1; lVar17 = uVar22 + lVar8; uVar22 = ~(lVar8 - lVar17) + 1; lVar8 = lVar17 - uVar22; lVar17 = (-lVar19 ^ 0xffffffffffffffffU) + 1; lVar1 = -lVar19; param_1 = *(longlong *)(puVar12 + lVar1 + 0x3c8); uVar9 = *(ulonglong *)(puVar12 + lVar1 + 0x3d0); uVar20 = *(ulonglong *)(puVar12 + lVar1 + 0x3d8); puVar13 = puVar12 + lVar1 + 0x3e0; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } puVar2 = puVar12 + lVar1 + 0x3e0; lVar19 = lVar17; } while (uVar6 != 0); *(undefined8 *)(puVar12 + lVar1 + 0x3d8) = 0x181355b5e; cVar3 = FUN_180528ef0(param_1,uVar9,uVar22,uVar18); if (cVar3 == *(char *)(param_1 + 0xb)) { uVar20 = (ulonglong)(byte)puVar12[lVar1 + 0x458]; } else { *(undefined8 *)(puVar12 + lVar1 + 0x450) = 0x2621fc0; lVar8 = *(longlong *)(puVar12 + lVar1 + 0x450); *(undefined8 *)(puVar12 + lVar1 + 0x450) = 0xa4408acf; *(undefined8 *)(puVar12 + lVar1 + 0x460) = 0x406dcce; uVar4 = (*(uint *)(puVar12 + lVar1 + 0x450) >> 2 | *(uint *)(puVar12 + lVar1 + 0x450) << 0x1e) + 0x170415ba; uVar6 = (*(uint *)(puVar12 + lVar1 + 0x460) << 0x19 | *(uint *)(puVar12 + lVar1 + 0x460) >> 7) + 0x65f7f247; *(uint *)(puVar12 + lVar1 + 0x450) = uVar4 * 0x10 | uVar4 >> 0x1c; *(uint *)(puVar12 + lVar1 + 0x460) = uVar6 >> 0x11 | uVar6 * 0x8000; *(undefined **)(puVar12 + lVar1 + 0x450) = &DAT_182621fc0 + (*(longlong *)(puVar12 + lVar1 + 0x450) - lVar8); *(longlong *)(puVar12 + lVar1 + 0x460) = *(longlong *)(puVar12 + lVar1 + 0x450) + *(longlong *)(puVar12 + lVar1 + 0x460); piVar10 = *(int **)(puVar12 + lVar1 + 0x450); uVar6 = (((uint)(*piVar10 * 0x401) >> 6 ^ *piVar10 * 0x401) + piVar10[1]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar10[2]) * 0x401; piVar11 = piVar10 + 4; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar10[3]) * 0x401; uVar4 = (uint)piVar11 & 0x17f; uVar15 = ((uVar6 >> 6 ^ uVar6) + *piVar11) * 0x401; uVar15 = uVar15 ^ uVar15 >> 6; uVar7 = uVar15 & 0x4f; uVar6 = ((uVar4 + 2) * (uVar4 + 1) * uVar4) % 3; uVar18 = (ulonglong)uVar6; uVar20 = (ulonglong)(uVar7 * uVar7 * (uVar7 + 1) * (uVar7 + 1)) & 0xffffffffffffff03; piVar11 = (int *)((longlong)piVar11 + (0x578bL >> ((byte)uVar6 | (byte)uVar20) ^ 0x578fU)); uVar6 = (*piVar11 + uVar15) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[1]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[2]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[3]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[4]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[5]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[6]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[7]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[8]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[9]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[10]) * 0x401; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar6 = (piVar11[0xb] + (uVar6 ^ uVar6 >> 6)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[0xc]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[0xd]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[0xe]) * 0x401; do { lVar8 = lVar17 + (longlong)register0x00000020; lVar17 = ((longlong)register0x00000020 - lVar8 ^ 0xffffffffffffffffU) + 1; register0x00000020 = (BADSPACEBASE *)(lVar8 - lVar17); uVar4 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar6 = (piVar11[0xf] + (uVar6 ^ uVar6 >> 6)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[0x10]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[0x11]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[0x12]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[0x13]) * 0x401; iVar5 = piVar11[0x14]; *(undefined8 *)(puVar12 + lVar1 + 0x450) = 0x170d3a39e1b0da87; uVar6 = ((uVar6 >> 6 ^ uVar6) + iVar5) * 0x401; *(int *)(puVar12 + lVar1 + 0x458) = (int)*(undefined8 *)(puVar12 + lVar1 + 0x450); piVar10 = piVar11 + 0x15; do { piVar11 = piVar10; uVar6 = ((uVar6 >> 6 ^ uVar6) + *piVar11) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[1]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[2]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[3]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[4]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[5]) * 0x401; lVar14 = lVar14 + -1; piVar10 = piVar11 + 6; } while (lVar14 != 0); uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar11[6]) * 0x401; uVar6 = uVar6 ^ uVar6 >> 6; do { *(undefined8 *)(puVar12 + lVar1 + 0x3d8) = 0x181355f5d; func_0x000181356651(0x5a08); uVar4 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (piVar11[7] + uVar6) * 0x401; lVar8 = 0x17; piVar10 = piVar11 + 7; do { piVar11 = piVar10; piVar10 = piVar11 + 1; uVar4 = ((uVar4 >> 6 ^ uVar4) + *piVar10) * 0x401; lVar8 = lVar8 + -1; } while (lVar8 != 0); uVar4 = ((uVar4 >> 6 ^ uVar4) + piVar11[2]) * 0x401; do { uVar7 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } bVar24 = uVar7 == 0; } while (!bVar24); do { *(undefined8 *)(puVar12 + lVar1 + 0x3d8) = 0x18135603a; func_0x000181356af5(0x5a08); if (!bVar24) { lVar8 = uVar20 + (longlong)register0x00000020; lVar14 = (longlong)register0x00000020 - lVar8; uVar20 = -lVar14; register0x00000020 = (BADSPACEBASE *)(lVar8 + lVar14); } uVar7 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } bVar24 = uVar7 == 0; } while (!bVar24); uVar4 = (uVar4 ^ uVar4 >> 6) + 0xa8405bfe; uVar22 = (ulonglong)uVar4; *(char *)(param_1 + 0xb) = cVar3; uVar7 = (uVar4 >> 9 ^ uVar4) >> 0xb & 0x7f; uVar4 = ((uVar7 << 9 | uVar7) << 0xb ^ uVar4) + 0x409d9cf5; uVar4 = (uVar4 * 0x100 | uVar4 >> 0x18) + 0x22a092a7; do { *(undefined8 *)(puVar12 + lVar1 + 0x3d8) = 0x1813560ca; func_0x000181356959(0x5a08); uVar7 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = (uVar4 >> 0x1e | uVar4 * 4) - *(int *)(puVar12 + lVar1 + 0x458); uVar4 = uVar4 * 0x8000 | uVar4; if (uVar4 == 0) { *(ulonglong *)(puVar12 + lVar1 + 0x3d8) = (ulonglong)uVar23; *(ulonglong *)(puVar12 + lVar1 + 0x3d0) = (ulonglong)uVar6; *(undefined8 *)(puVar12 + lVar1 + 0x3c8) = 0; uVar20 = thunk_FUN_1805a9280(uVar23,uVar22); return uVar20; } do { *(longlong *)(puVar13 + -8) = param_1; *(ulonglong *)(puVar13 + -0x10) = uVar18; *(ulonglong *)(puVar13 + -0x18) = uVar20; lVar8 = -(longlong)(int)lVar17; uVar20 = *(ulonglong *)(puVar13 + lVar8 + 0x3c8); uVar18 = *(ulonglong *)(puVar13 + lVar8 + 0x3d0); param_1 = *(longlong *)(puVar13 + lVar8 + 0x3d8); puVar13 = puVar13 + lVar8 + 0x3e0; uVar23 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar23 < 0) { uVar23 = (uVar23 - 1 | 0xfffffffe) + 1; } } while (uVar23 != 0); uVar20 = CONCAT71((uint7)(uint3)(uVar4 >> 8),1); } return uVar20; } ############ FUN_ 180684d80 size=151 ############ void FUN_180684d80(void) { undefined8 unaff_RBX; longlong unaff_RBP; *(undefined8 *)(unaff_RBP + 0x18) = unaff_RBX; FUN_1806804d0(unaff_RBP + 0x28); thunk_FUN_1805a9280(); return; } ############ FUN_ 1809c43e8 size=1022 ############ /* WARNING: Instruction at (ram,0x0001809c4563) overlaps instruction at (ram,0x0001809c4562) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001809c4561) */ ulonglong FUN_1809c43e8(ulonglong param_1,undefined8 param_2,int *param_3) { char in_AL; ulonglong uVar1; uint uVar2; uint uVar3; longlong lVar4; longlong unaff_RBX; int unaff_EBP; uint unaff_ESI; int unaff_EDI; undefined8 in_R11; int unaff_R13D; int unaff_R14D; int iVar5; undefined8 unaff_R15; iVar5 = unaff_R14D - unaff_R13D; if ((param_1 & 0xd700) == 0) { if (in_AL < -8) { func_0x0001845d775f(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } unaff_ESI = unaff_ESI + unaff_EBP; } else { iVar5 = iVar5 + unaff_R13D; } while( true ) { uVar2 = (*param_3 + 1) * *param_3 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } if (uVar2 == 0) break; if ((POPCOUNT(uVar2 & 0xff) & 1U) == 0) { uVar1 = FUN_1809c43e8(0xe734,param_2,param_3); return uVar1; } } uVar2 = (*(int *)(unaff_RBX + 0x2c) + iVar5) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x30)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x34)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x38)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x3c)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x40)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x44)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x48)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x4c)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x50)) * unaff_EDI; do { func_0x0001809c6bb3(); uVar3 = (*param_3 + 1) * *param_3 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*(int *)(unaff_RBX + 0x54) + (uVar2 ^ uVar2 >> 0x10)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x58)) * unaff_EDI; do { FUN_1809c5d7a(); uVar3 = (*param_3 + 1) * *param_3 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*(int *)(unaff_RBX + 0x5c) + (uVar2 ^ uVar2 >> 0x10)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x60)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 100)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x68)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x6c)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x70)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x74)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x78)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x7c)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x80)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x84)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x88)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x8c)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x90)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x94)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x98)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0x9c)) * unaff_EDI; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)(unaff_RBX + 0xa0)) * unaff_EDI; uVar2 = uVar2 >> 0x10 ^ uVar2; uVar3 = uVar2 >> 5 | uVar2 << 0x1b; uVar1 = (ulonglong)uVar3; uVar2 = (uVar3 >> 0xb ^ uVar3) >> 6 & 0x3ff; uVar2 = ((uVar2 << 0xb | uVar2) << 6 ^ uVar3) + 0x40ed080b; if (uVar2 == uVar2 >> 2) { uVar1 = thunk_FUN_1805a9280((longlong)unaff_EBP,~-uVar1 + 1); return uVar1; } iVar5 = (int)unaff_R15; do { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1809c47dc; lVar4 = (longlong)iVar5; FUN_1809c29ad(); *(ulonglong *)((longlong)register0x00000020 + -8) = uVar1; *(undefined8 *)((longlong)register0x00000020 + -0x10) = in_R11; *(undefined8 *)((longlong)register0x00000020 + -0x18) = unaff_R15; lVar4 = -lVar4; unaff_R15 = *(undefined8 *)((longlong)register0x00000020 + lVar4 + 0xc88); in_R11 = *(undefined8 *)((longlong)register0x00000020 + lVar4 + 0xc90); uVar1 = *(ulonglong *)((longlong)register0x00000020 + lVar4 + 0xc98); register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + lVar4 + 0xca0); uVar2 = (*param_3 + 1) * *param_3 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); return (ulonglong)unaff_ESI; } ############ FUN_ 18119465b size=536 ############ /* WARNING: Removing unreachable block (ram,0x0001811947d7) */ ulonglong FUN_18119465b(undefined8 param_1,longlong param_2,longlong param_3) { longlong lVar1; ulonglong uVar2; uint uVar3; longlong unaff_RBX; byte unaff_BPL; uint unaff_ESI; longlong unaff_RDI; uint uVar4; undefined8 in_R10; int iVar5; undefined8 unaff_R12; int *unaff_R13; undefined8 unaff_R14; ulonglong uVar6; uVar3 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } if (uVar3 == 0) { uVar3 = *(uint *)(unaff_RDI + 0xe0 + unaff_RBX) ^ unaff_ESI >> 0x1c ^ unaff_ESI << 4; uVar3 = *(uint *)(unaff_RDI + 0xe4 + unaff_RBX) ^ uVar3 >> 0x1c ^ uVar3 << 4; uVar3 = *(uint *)(unaff_RDI + 0xe8 + unaff_RBX) ^ uVar3 >> 0x1c ^ uVar3 << 4; uVar3 = *(uint *)(unaff_RDI + 0xec + unaff_RBX) ^ uVar3 >> 0x1c ^ uVar3 << 4; uVar4 = *(uint *)(unaff_RDI + 0xf0 + unaff_RBX) ^ uVar3 >> 0x1c ^ uVar3 << 4; uVar3 = uVar4 << 4; uVar2 = (ulonglong)uVar3; uVar3 = *(uint *)(unaff_RDI + 0xf4 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar3; uVar3 = uVar3 >> 0x1c ^ uVar3 << 4 ^ *(uint *)(unaff_RDI + 0xf8 + unaff_RBX); uVar3 = (*(uint *)(unaff_RDI + 0xfc + unaff_RBX) ^ uVar3 >> 0x1c ^ uVar3 << 4) + 0xa17291c9; uVar3 = (uVar3 * 0x800 | uVar3 >> 0x15) + 0xd54b64c7; uVar6 = CONCAT71((int7)((ulonglong)unaff_R14 >> 8),(uVar3 >> 0x1c | uVar3 * 0x10) == 0xed06a5f3) ; if ((uVar6 & 0x1ffffff) == 0 && (int)uVar6 == 0) { uVar2 = thunk_FUN_1805a9280(); return uVar2; } iVar5 = (int)unaff_R12; do { *(undefined8 *)((longlong)register0x00000020 + -8) = unaff_R12; *(undefined8 *)((longlong)register0x00000020 + -0x10) = in_R10; *(ulonglong *)((longlong)register0x00000020 + -0x18) = uVar2; lVar1 = -(longlong)iVar5; uVar2 = *(ulonglong *)((longlong)register0x00000020 + lVar1 + 0x748); in_R10 = *(undefined8 *)((longlong)register0x00000020 + lVar1 + 0x750); unaff_R12 = *(undefined8 *)((longlong)register0x00000020 + lVar1 + 0x758); register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + lVar1 + 0x760); uVar3 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); return (ulonglong)unaff_BPL; } uVar2 = FUN_18119465b(0x6e08,((((param_2 - 0x78b9dabaU ^ 0xffffffffffffffff) + 1) - param_3 ^ 0xffffffffffffffff) - param_3) + 0x78b9dabb); return uVar2; } ############ FUN_ 180a04740 size=2907 ############ /* WARNING: Instruction at (ram,0x000180a04e3b) overlaps instruction at (ram,0x000180a04e38) */ /* WARNING: Removing unreachable block (ram,0x000180a04eae) */ /* WARNING: Removing unreachable block (ram,0x000180a04b84) */ /* WARNING: Removing unreachable block (ram,0x000180a0478e) */ /* WARNING: Removing unreachable block (ram,0x000180a047b8) */ /* WARNING: Removing unreachable block (ram,0x000180a04cf3) */ /* WARNING: Removing unreachable block (ram,0x000180a04dd7) */ /* WARNING: Removing unreachable block (ram,0x000180a04fe3) */ /* WARNING: Removing unreachable block (ram,0x000180a04d15) */ undefined8 FUN_180a04740(longlong param_1,char *param_2,uint param_3) { char *pcVar1; byte bVar2; undefined4 *puVar3; longlong lVar4; undefined1 *puVar5; ulonglong uVar6; undefined8 uVar7; int iVar8; int iVar9; undefined *puVar10; longlong lVar11; byte *pbVar12; uint uVar13; undefined1 *puVar14; uint *puVar15; uint *puVar16; uint *puVar17; uint *puVar18; uint uVar19; uint uVar20; undefined *puVar21; ulonglong uVar22; int iVar23; uint uVar24; int unaff_retaddr; undefined1 auStack_98 [32]; undefined8 local_78; undefined4 local_70; ulonglong local_68; uint local_60; uint local_54; uVar19 = (uint)&stack0x00000000; uVar13 = 0; local_70 = 0; local_54 = 0x6bec >> ((char)((byte)(-(((uVar19 & 0x16ff) + 1) * (uVar19 & 0x16ff) + 0x1589 & 0x80000001) >> 0x18) ^ (byte)(-(((uVar19 & 0x1bff) + 1) * (uVar19 & 0x1bff) + 0x3805 & 0x80000001) >> 0x18)) >> 7 & 0x1fU) ^ 0x625c; uVar19 = ((uVar19 & 0x59ff) * (uVar19 & 0x59ff) + 1) % 7; local_60 = ((int)(-uVar19 | uVar19) >> 0x1f ^ 0xfffff38fU) & 0xec7f; puVar10 = &DAT_1813666b8; uVar24 = (DAT_1813665c8 ^ (DAT_1813665c4 ^ (DAT_1813665c0 ^ (DAT_1813665bc ^ (DAT_1813665b8 ^ 0x811c9dc5) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; uVar19 = uVar24 & 0xfff; uVar19 = (uVar19 * uVar19 * 0x10 + 4) % 0x13; uVar22 = (ulonglong)uVar19; uVar6 = ((longlong)(-1 - ((int)(-uVar19 | uVar19) >> 0x1f)) | 0xfdc3U) ^ 0xfdc7; do { puVar21 = puVar10 + uVar22; puVar10 = (undefined *) (~((~((longlong)puVar10 - (longlong)puVar21) + 1U) - (longlong)puVar21) + 1); uVar22 = (longlong)puVar21 - (longlong)puVar10; uVar19 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); puVar15 = (uint *)((longlong)&DAT_1813665dc + uVar6); uVar24 = (*puVar15 ^ (*(uint *)((longlong)&DAT_1813665d8 + uVar6) ^ (*(uint *)((longlong)&DAT_1813665d4 + uVar6) ^ (*(uint *)((longlong)&DAT_1813665d0 + uVar6) ^ (*(uint *)((longlong)&DAT_1813665cc + uVar6) ^ (*(uint *)((longlong)&DAT_1813665c8 + uVar6) ^ uVar24) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; uVar19 = (uint)puVar15 & 0x4dff; iVar8 = uVar19 * uVar19 + 1; uVar19 = (iVar8 >> 4) + (iVar8 >> 1) + iVar8 * 0x24924924 >> 0x1d; if (((int)(uVar19 - 7) >> 0x1f & uVar19 & 0x2900) == 0) { uVar19 = (uint)puVar15 & 0x43ff; uVar19 = (uVar19 + 1) * uVar19 & 0x80000001; } else { uVar19 = (uint)puVar10 & 0xff; iVar8 = (uVar19 + 2) * (uVar19 + 1) * uVar19; uVar19 = ((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 >> 0x1e; } lVar11 = 4; puVar15 = (uint *)((((longlong)(int)(0x94d9 - uVar19) ^ 0x94c5U) - 0x18) + (longlong)puVar15); do { uVar19 = *puVar15; puVar16 = puVar15 + 1; puVar17 = puVar15 + 2; puVar18 = puVar15 + 3; puVar15 = puVar15 + 4; uVar24 = (*puVar18 ^ (*puVar17 ^ (*puVar16 ^ (uVar19 ^ uVar24) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; lVar11 = lVar11 + -1; } while (lVar11 != 0); uVar20 = (*puVar15 ^ uVar24) * 0x1000181; uVar24 = (uint)puVar15 & 0x7f | 0x42; uVar19 = uVar20 & 0x3f | 0x39; uVar19 = uVar19 * uVar19 * 0x38b7 ^ uVar24 * uVar24 * 0xb1b; uVar19 = ((int)(-uVar19 | uVar19) >> 0x1f) >> ((byte)puVar10 & 0x1f); uVar24 = (uint)puVar10 & 0x1bf; puVar15 = (uint *)((longlong)puVar15 + ((longlong)(((int)(-uVar19 | uVar19) >> 0x1f) * -0xb8a2) ^ 0xb8a6U)); uVar19 = (*puVar15 ^ uVar20) * 0x1000181; local_68 = CONCAT44(1,(uint)puVar15) & 0xffffffff0000002f; iVar8 = ((uint)puVar15 & 0x2f) + 1; uVar20 = uVar19 & 0x2f; iVar23 = (uVar24 + 2) * (uVar24 + 1) * uVar24; iVar9 = (uVar24 + 2) * (uVar24 + 1) * uVar24; puVar16 = (uint *)((longlong)puVar15 + ((longlong) (0xd54b << ((char)((byte)((uint)(iVar9 * 0x55555555 + ((iVar9 >> 1) - (iVar9 >> 3))) >> 0x18) ^ (byte)((uint)(((iVar23 >> 1) - (iVar23 >> 3)) + iVar23 * 0x55555555) >> 0x18)) >> 6 & 0x1fU)) ^ 0xffffffffffff284fU) + ((longlong) (int)(iVar8 * iVar8 * (int)local_68 * (int)local_68 & 0x80000003U & (uVar20 + 1) * (uVar20 + 1) * uVar20 * uVar20 & 0x80000003) ^ 0x300U)); do { puVar21 = puVar10 + (longlong)puVar15; puVar10 = (undefined *)(((longlong)puVar15 - (longlong)puVar21 ^ 0xffffffffffffffffU) + 1); puVar15 = (uint *)(puVar21 + -(longlong)puVar10); uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); do { uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); do { uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); uVar24 = (uint)puVar10 & 0x6f; puVar15 = puVar16 + 4; puVar17 = (uint *)((longlong)puVar15 + (0xc9a8L >> ((byte)((longlong) (int)((uVar24 + 1) * (uVar24 + 1) * uVar24 * uVar24 & 0x80000003) >> ((byte)puVar15 & 0x1f)) & 0x3f) ^ 0xc9acU)); do { uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); puVar18 = puVar17 + 9; uVar24 = (uint)puVar18 & 0x38ff; uVar20 = (*puVar18 ^ (puVar17[8] ^ (puVar17[7] ^ (puVar17[6] ^ (puVar17[5] ^ (puVar17[4] ^ (puVar17[3] ^ (puVar17[2] ^ (puVar17[1] ^ (*puVar17 ^ (*puVar15 ^ (puVar16[3] ^ (puVar16[2] ^ (puVar16[1] ^ (*puVar16 ^ uVar19) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; uVar19 = uVar20 & 0x3cff; uVar19 = (uVar19 + 1) * uVar19 + 7; puVar18 = (uint *)((longlong)puVar18 + (0x84 - ((longlong) (0x3095 << ((byte)((int)((uVar24 + 1) * uVar24 & 0x80000001) >> ((char)uVar19 + (char)(uVar19 / 0x51) * -0x51 & 0x1fU)) & 0x1f)) ^ 0x3015U))); local_78 = 0x51d6bd8e4cb2f83a; puVar15 = puVar18 + 9; uVar20 = (*puVar15 ^ (puVar18[8] ^ (puVar18[7] ^ (puVar18[6] ^ (puVar18[5] ^ (puVar18[4] ^ (puVar18[3] ^ (puVar18[2] ^ (puVar18[1] ^ (*puVar18 ^ uVar20) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; uVar19 = uVar20 & 0x27f; uVar19 = (uVar19 + 2) * (uVar19 + 1) * uVar19; uVar6 = (ulonglong)uVar19; uVar24 = (uint)puVar15 & 0x27f; iVar8 = (uVar24 + 2) * (uVar24 + 1) * uVar24; uVar22 = (longlong) (((int)(((iVar8 >> 1) - (iVar8 >> 3)) + iVar8 * 0x55555555 & (((int)uVar19 >> 1) - ((int)uVar19 >> 3)) + uVar19 * 0x55555555) >> 0x1e) + 0x27b8 ) ^ 0x2738; uVar19 = (*(uint *)((longlong)puVar15 + (uVar22 - 0x5c)) ^ (*(uint *)((longlong)puVar15 + (uVar22 - 0x60)) ^ (*(uint *)((longlong)puVar15 + (uVar22 - 100)) ^ (*(uint *)((longlong)puVar15 + (uVar22 - 0x68)) ^ (*(uint *)((longlong)puVar15 + (uVar22 - 0x6c)) ^ (*(uint *)((longlong)puVar15 + (uVar22 - 0x70)) ^ (*(uint *)((longlong)puVar15 + (uVar22 - 0x74)) ^ (*(uint *)((longlong)puVar15 + (uVar22 - 0x78)) ^ (*(uint *)((longlong)puVar15 + (uVar22 - 0x7c)) ^ uVar20) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ^ *(uint *)((longlong)puVar15 + (uVar22 - 0x58)); uVar24 = (uVar19 * 0x1000181 >> 0x19 | uVar19 * -0x7fff3f80) + 0xf814992a; uVar19 = (uVar24 >> 3 ^ uVar24) & 3; uVar19 = ((uVar19 * 8 | uVar19) ^ uVar24) + 0xfc7a0f55; uVar24 = uVar19 * 4 & 0x33333333 | uVar19 >> 0x1e; uVar22 = (ulonglong)uVar24; if ((char)(((uVar19 >> 2 & 0xcccccccc | uVar19 * 0x40000000 | uVar24) == 0x4cb2f83a) * '\x05') != '\0') { uVar7 = thunk_FUN_1805a9280((longlong)(int)local_54,thunk_FUN_1805a9280,~-uVar22 + 1); return uVar7; } lVar11 = (longlong)(int)local_60; puVar5 = auStack_98; do { puVar14 = puVar5; *(ulonglong *)(puVar14 + -8) = uVar22; *(ulonglong *)(puVar14 + -0x10) = uVar6; *(char **)(puVar14 + -0x18) = param_2; lVar4 = -lVar11; param_2 = *(char **)(puVar14 + lVar4 + 0xc58); uVar6 = *(ulonglong *)(puVar14 + lVar4 + 0xc60); uVar22 = *(ulonglong *)(puVar14 + lVar4 + 0xc68); uVar19 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } puVar5 = puVar14 + lVar4 + 0xc70; } while (uVar19 != 0); if ((((param_1 == 0) || (param_2 == (char *)0x0)) || (puVar3 = *(undefined4 **)(puVar14 + lVar4 + 0xd28), puVar3 == (undefined4 *)0x0)) || (0x500 < param_3)) { return 99; } if ((param_3 != 0) && (pcVar1 = param_2 + param_3, param_2 < pcVar1)) { while( true ) { *(undefined8 *)(puVar14 + lVar4 + 0xc68) = 0x180a052f0; uVar19 = FUN_180a00950(param_1,param_2,puVar14 + lVar4 + 0xcac); if (0x500 < uVar19) break; uVar24 = *(uint *)(puVar14 + lVar4 + 0xcac); if (pcVar1 < param_2 + (ulonglong)uVar19 + (ulonglong)uVar24) break; if (*param_2 == '\x04') { param_2 = param_2 + uVar24; if (((param_2 == (char *)0x0) || (0x13ff < uVar19 - 1)) || (pcVar1 = param_2 + uVar19, pcVar1 <= param_2)) break; goto LAB_180a05360; } param_2 = param_2 + (uVar19 + uVar24); if (pcVar1 <= param_2) { *puVar3 = *(undefined4 *)(puVar14 + lVar4 + 0xc98); return 0; } } } LAB_180a05402: *puVar3 = *(undefined4 *)(puVar14 + lVar4 + 0xc98); return 0; LAB_180a05360: *(undefined8 *)(puVar14 + lVar4 + 0xc68) = 0x180a05370; uVar19 = FUN_180a00950(param_1,param_2,puVar14 + lVar4 + 0xcb0); if (0x500 < uVar19) goto LAB_180a05402; uVar24 = *(uint *)(puVar14 + lVar4 + 0xcb0); if (pcVar1 < param_2 + (ulonglong)uVar19 + (ulonglong)uVar24) goto LAB_180a05402; if (*param_2 == '\x03') { if (1 < uVar19) { uVar19 = uVar19 - 1; pbVar12 = (byte *)(param_2 + (ulonglong)uVar24 + 1); if (pbVar12 == (byte *)0x0) { return 99; } uVar24 = uVar19; if (4 < uVar19) { return 0x159; } for (; uVar24 != 0; uVar24 = uVar24 - 1) { bVar2 = *pbVar12; pbVar12 = pbVar12 + 1; uVar13 = uVar13 << 8 | (uint)bVar2; } *(uint *)(puVar14 + lVar4 + 0xc98) = uVar13 << (('\x04' - (char)uVar19) * '\b' & 0x1fU); } goto LAB_180a05402; } param_2 = param_2 + (uVar24 + uVar19); if (pcVar1 <= param_2) { *puVar3 = *(undefined4 *)(puVar14 + lVar4 + 0xc98); return 0; } goto LAB_180a05360; } ############ FUN_ 1809fbbc0 size=3050 ############ /* WARNING: Instruction at (ram,0x0001809fc270) overlaps instruction at (ram,0x0001809fc26f) */ /* WARNING: Removing unreachable block (ram,0x0001809fc26a) */ /* WARNING: Removing unreachable block (ram,0x0001809fbcb1) */ /* WARNING: Removing unreachable block (ram,0x0001809fbc09) */ /* WARNING: Removing unreachable block (ram,0x0001809fbc38) */ /* WARNING: Removing unreachable block (ram,0x0001809fbccb) */ /* WARNING: Removing unreachable block (ram,0x0001809fc746) */ undefined8 FUN_1809fbbc0(void) { longlong lVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint uVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; uint uVar21; uint uVar22; uint uVar23; uint uVar24; uint uVar25; uint uVar26; uint uVar27; uint uVar28; uint uVar29; uint uVar30; uint uVar31; uint uVar32; uint uVar33; uint uVar34; uint uVar35; uint uVar36; uint uVar37; uint uVar38; uint uVar39; uint uVar40; uint uVar41; uint uVar42; uint uVar43; uint uVar44; uint uVar45; uint uVar46; uint uVar47; uint uVar48; uint uVar49; uint uVar50; uint uVar51; uint uVar52; uint uVar53; uint uVar54; ulonglong uVar55; undefined8 uVar56; int iVar57; uint uVar58; uint uVar59; uint uVar60; uint uVar61; uint uVar62; ulonglong uVar63; uint *puVar64; undefined1 *puVar65; ulonglong uVar66; undefined8 unaff_R12; uint uVar67; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_68 [32]; uint local_48 [2]; undefined8 local_40; undefined *local_38; undefined8 local_30; code *local_28; puVar65 = auStack_68; uVar2 = (uint)&stack0x00000000 & 0x6cff; iVar57 = uVar2 * uVar2 + 1; uVar2 = iVar57 * 0x24924924 + (iVar57 >> 4) + (iVar57 >> 1) >> 0x1d; uVar2 = (int)(uVar2 - 7) >> 0x1f & uVar2; uVar3 = (int)(-uVar2 | uVar2) >> 0x1f; uVar2 = (uint)&stack0x00000000 & 0x17ff; uVar2 = (uVar2 + 1) * uVar2 + 0x14e9 & 0x80000001; uVar67 = ((int)(-uVar2 | uVar2) >> 0x1f) * -0x8b10 ^ (int)(-uVar3 | uVar3) >> 0x1f & 0x8ad0U; uVar66 = 0x98fe50; local_38 = &UNK_18158c640; uVar2 = DAT_18158c540 * 0x5bd1e995; uVar3 = DAT_18158c544 * 0x5bd1e995; local_30 = 0xfefdb886555b2351; local_40 = 0x555b2351; uVar4 = DAT_18158c548 * 0x5bd1e995; uVar5 = DAT_18158c54c * 0x5bd1e995; uVar6 = DAT_18158c550 * 0x5bd1e995; do { uVar58 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar58 < 0) { uVar58 = (uVar58 - 1 | 0xfffffffe) + 1; } } while (uVar58 != 0); uVar58 = DAT_18158c554 * 0x5bd1e995; uVar7 = DAT_18158c558 * 0x5bd1e995; uVar8 = DAT_18158c55c * 0x5bd1e995; uVar9 = DAT_18158c560 * 0x5bd1e995; uVar10 = DAT_18158c564 * 0x5bd1e995; uVar11 = DAT_18158c568 * 0x5bd1e995; uVar12 = DAT_18158c56c * 0x5bd1e995; do { uVar63 = 0xd408; func_0x0001809faa10(); uVar66 = -uVar66; if ((uVar63 & 0xef00) != 0) { uVar66 = ~uVar66; } uVar66 = ~uVar66 + 1; uVar59 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar59 < 0) { uVar59 = (uVar59 - 1 | 0xfffffffe) + 1; } } while (uVar59 != 0); uVar59 = DAT_18158c570 * 0x5bd1e995; uVar13 = DAT_18158c574 * 0x5bd1e995; uVar14 = DAT_18158c578 * 0x5bd1e995; uVar15 = DAT_18158c57c * 0x5bd1e995; uVar16 = DAT_18158c580 * 0x5bd1e995; uVar17 = DAT_18158c584 * 0x5bd1e995; uVar18 = DAT_18158c588 * 0x5bd1e995; uVar19 = DAT_18158c58c * 0x5bd1e995; uVar20 = DAT_18158c590 * 0x5bd1e995; uVar21 = DAT_18158c594 * 0x5bd1e995; uVar22 = DAT_18158c598 * 0x5bd1e995; uVar23 = DAT_18158c59c * 0x5bd1e995; uVar24 = DAT_18158c5a0 * 0x5bd1e995; uVar25 = DAT_18158c5a4 * 0x5bd1e995; uVar26 = DAT_18158c5a8 * 0x5bd1e995; uVar27 = DAT_18158c5ac * 0x5bd1e995; uVar28 = DAT_18158c5b0 * 0x5bd1e995; uVar29 = DAT_18158c5b4 * 0x5bd1e995; uVar30 = DAT_18158c5b8 * 0x5bd1e995; uVar31 = DAT_18158c5bc * 0x5bd1e995; uVar32 = DAT_18158c5c0 * 0x5bd1e995; uVar33 = DAT_18158c5c4 * 0x5bd1e995; uVar34 = DAT_18158c5c8 * 0x5bd1e995; uVar35 = DAT_18158c5cc * 0x5bd1e995; uVar36 = DAT_18158c5d0 * 0x5bd1e995; uVar37 = DAT_18158c5d4 * 0x5bd1e995; uVar38 = DAT_18158c5d8 * 0x5bd1e995; uVar39 = DAT_18158c5dc * 0x5bd1e995; do { uVar60 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar60 < 0) { uVar60 = (uVar60 - 1 | 0xfffffffe) + 1; } } while (uVar60 != 0); uVar60 = DAT_18158c5e0 * 0x5bd1e995; uVar40 = DAT_18158c5e4 * 0x5bd1e995; do { uVar67 = ~(~uVar67 + 1) + 1; uVar61 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar61 < 0) { uVar61 = (uVar61 - 1 | 0xfffffffe) + 1; } } while (uVar61 != 0); uVar61 = DAT_18158c5e8 * 0x5bd1e995; uVar41 = DAT_18158c5ec * 0x5bd1e995; uVar42 = DAT_18158c5f0 * 0x5bd1e995; uVar43 = DAT_18158c5f4 * 0x5bd1e995; uVar44 = DAT_18158c5f8 * 0x5bd1e995; uVar45 = DAT_18158c5fc * 0x5bd1e995; uVar46 = DAT_18158c600 * 0x5bd1e995; uVar47 = DAT_18158c604 * 0x5bd1e995; uVar48 = DAT_18158c608 * 0x5bd1e995; uVar49 = DAT_18158c60c * 0x5bd1e995; uVar50 = DAT_18158c610 * 0x5bd1e995; uVar51 = DAT_18158c614 * 0x5bd1e995; uVar52 = DAT_18158c618 * 0x5bd1e995; uVar53 = DAT_18158c61c * 0x5bd1e995; uVar54 = DAT_18158c620 * 0x5bd1e995; do { FUN_1809fc89f(0xd408); uVar66 = ((uVar66 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; uVar62 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar62 < 0) { uVar62 = (uVar62 - 1 | 0xfffffffe) + 1; } } while (uVar62 != 0); uVar2 = ((uint)(DAT_18158c634 * 0x5bd1e995) >> 0x18 ^ DAT_18158c634 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18158c630 * 0x5bd1e995) >> 0x18 ^ DAT_18158c630 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18158c62c * 0x5bd1e995) >> 0x18 ^ DAT_18158c62c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18158c628 * 0x5bd1e995) >> 0x18 ^ DAT_18158c628 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18158c624 * 0x5bd1e995) >> 0x18 ^ DAT_18158c624 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar54 >> 0x18 ^ uVar54) * 0x5bd1e995 ^ ((uVar53 >> 0x18 ^ uVar53) * 0x5bd1e995 ^ ((uVar52 >> 0x18 ^ uVar52) * 0x5bd1e995 ^ ((uVar51 >> 0x18 ^ uVar51) * 0x5bd1e995 ^ ((uVar50 >> 0x18 ^ uVar50) * 0x5bd1e995 ^ ((uVar49 >> 0x18 ^ uVar49) * 0x5bd1e995 ^ ((uVar48 >> 0x18 ^ uVar48) * 0x5bd1e995 ^ ((uVar47 >> 0x18 ^ uVar47) * 0x5bd1e995 ^ ((uVar46 >> 0x18 ^ uVar46) * 0x5bd1e995 ^ ((uVar45 >> 0x18 ^ uVar45) * 0x5bd1e995 ^ ((uVar44 >> 0x18 ^ uVar44) * 0x5bd1e995 ^ ((uVar43 >> 0x18 ^ uVar43) * 0x5bd1e995 ^ ((uVar42 >> 0x18 ^ uVar42) * 0x5bd1e995 ^ ((uVar41 >> 0x18 ^ uVar41) * 0x5bd1e995 ^ ((uVar61 >> 0x18 ^ uVar61) * 0x5bd1e995 ^ ((uVar40 >> 0x18 ^ uVar40) * 0x5bd1e995 ^ ((uVar60 >> 0x18 ^ uVar60) * 0x5bd1e995 ^ ((uVar39 >> 0x18 ^ uVar39) * 0x5bd1e995 ^ ((uVar38 >> 0x18 ^ uVar38) * 0x5bd1e995 ^ ((uVar37 >> 0x18 ^ uVar37) * 0x5bd1e995 ^ ((uVar36 >> 0x18 ^ uVar36) * 0x5bd1e995 ^ ((uVar35 >> 0x18 ^ uVar35) * 0x5bd1e995 ^ ((uVar34 >> 0x18 ^ uVar34) * 0x5bd1e995 ^ ((uVar33 >> 0x18 ^ uVar33) * 0x5bd1e995 ^ ((uVar32 >> 0x18 ^ uVar32) * 0x5bd1e995 ^ ((uVar31 >> 0x18 ^ uVar31) * 0x5bd1e995 ^ ((uVar30 >> 0x18 ^ uVar30) * 0x5bd1e995 ^ ((uVar29 >> 0x18 ^ uVar29) * 0x5bd1e995 ^ ((uVar28 >> 0x18 ^ uVar28) * 0x5bd1e995 ^ ((uVar27 >> 0x18 ^ uVar27) * 0x5bd1e995 ^ ((uVar26 >> 0x18 ^ uVar26) * 0x5bd1e995 ^ ((uVar25 >> 0x18 ^ uVar25) * 0x5bd1e995 ^ ((uVar24 >> 0x18 ^ uVar24) * 0x5bd1e995 ^ ((uVar23 >> 0x18 ^ uVar23) * 0x5bd1e995 ^ ((uVar22 >> 0x18 ^ uVar22) * 0x5bd1e995 ^ ((uVar21 >> 0x18 ^ uVar21) * 0x5bd1e995 ^ ((uVar20 >> 0x18 ^ uVar20) * 0x5bd1e995 ^ ((uVar19 >> 0x18 ^ uVar19) * 0x5bd1e995 ^ ((uVar18 >> 0x18 ^ uVar18) * 0x5bd1e995 ^ ((uVar17 >> 0x18 ^ uVar17) * 0x5bd1e995 ^ ((uVar16 >> 0x18 ^ uVar16) * 0x5bd1e995 ^ ((uVar15 >> 0x18 ^ uVar15) * 0x5bd1e995 ^ ((uVar14 >> 0x18 ^ uVar14) * 0x5bd1e995 ^ ((uVar13 >> 0x18 ^ uVar13) * 0x5bd1e995 ^ ((uVar59 >> 0x18 ^ uVar59) * 0x5bd1e995 ^ ((uVar12 >> 0x18 ^ uVar12) * 0x5bd1e995 ^ ((uVar11 >> 0x18 ^ uVar11) * 0x5bd1e995 ^ ((uVar10 >> 0x18 ^ uVar10) * 0x5bd1e995 ^ ((uVar9 >> 0x18 ^ uVar9) * 0x5bd1e995 ^ ((uVar8 >> 0x18 ^ uVar8) * 0x5bd1e995 ^ ((uVar7 >> 0x18 ^ uVar7) * 0x5bd1e995 ^ ((uVar58 >> 0x18 ^ uVar58) * 0x5bd1e995 ^ ((uVar6 >> 0x18 ^ uVar6) * 0x5bd1e995 ^ ((uVar5 >> 0x18 ^ uVar5) * 0x5bd1e995 ^ ((uVar4 >> 0x18 ^ uVar4) * 0x5bd1e995 ^ ((uVar3 >> 0x18 ^ uVar3) * 0x5bd1e995 ^ ((uVar2 >> 0x18 ^ uVar2) * 0x5bd1e995 ^ 0x2db321ba) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; uVar63 = (ulonglong)uVar2; uVar3 = (((uint)(DAT_18158c63c * 0x5bd1e995) >> 0x18 ^ DAT_18158c63c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18158c638 * 0x5bd1e995) >> 0x18 ^ DAT_18158c638 * 0x5bd1e995) * 0x5bd1e995 ^ uVar2 * 0x5bd1e995) * 0x5bd1e995) + 0x6b10374; uVar2 = (uVar3 >> 6 ^ uVar3) >> 2 & 1; uVar2 = ((uVar2 << 6 | uVar2) << 2 ^ uVar3) + 0x53b159ab; do { puVar64 = local_48; /* WARNING: Call to offcut address within same function */ func_0x0001809fc6f3(puVar64,local_48); uVar56 = rdtsc(); *puVar64 = (uint)uVar56 ^ (uint)((ulonglong)uVar56 >> 0x20); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_48[0] = (local_48[0] * -0x73327333 >> 0x18 ^ local_48[0] * -0x73327333) * -0x12aa13ad; if (local_48[0] < 0x15e75bb) { do { local_28 = FUN_181194940; FUN_1809fb1d9(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar55 = (*local_28)(); if (1 < uVar55) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } if (((uVar2 >> 0xb | uVar2 * 0x200000) - (int)local_40) * 0x37 != 0) { uVar56 = thunk_FUN_1805a9280(); return uVar56; } do { *(undefined8 *)(puVar65 + -8) = unaff_R12; *(ulonglong *)(puVar65 + -0x10) = uVar63; *(ulonglong *)(puVar65 + -0x18) = uVar66; lVar1 = -(longlong)(int)uVar67; uVar66 = *(ulonglong *)(puVar65 + lVar1 + 0x1a8); uVar63 = *(ulonglong *)(puVar65 + lVar1 + 0x1b0); unaff_R12 = *(undefined8 *)(puVar65 + lVar1 + 0x1b8); puVar65 = puVar65 + lVar1 + 0x1c0; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); return 0; } ############ FUN_ 1808db3b9 size=849 ############ /* WARNING: Instruction at (ram,0x0001808db5d9) overlaps instruction at (ram,0x0001808db5d8) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001808db507) */ /* WARNING: Removing unreachable block (ram,0x73c0f749) */ /* WARNING: Removing unreachable block (ram,0x0001808db532) */ /* WARNING: Removing unreachable block (ram,0x0001808db53c) */ /* WARNING: Removing unreachable block (ram,0x0001808db5bc) */ /* WARNING: Removing unreachable block (ram,0x0001808db4fc) */ /* WARNING: Removing unreachable block (ram,0x0001808db565) */ /* WARNING: Removing unreachable block (ram,0x0001808db6da) */ /* WARNING: Removing unreachable block (ram,0x0001808db520) */ /* WARNING: Removing unreachable block (ram,0x0001808db572) */ void FUN_1808db3b9(void) { int iVar1; undefined4 uVar2; undefined8 uVar3; uint uVar4; longlong lVar5; ulonglong uVar6; longlong *plVar7; longlong *unaff_RBX; undefined8 *puVar8; uint uVar9; undefined8 *unaff_RBP; undefined4 *puVar10; ulonglong unaff_RDI; uint uVar11; longlong lVar12; longlong *plVar13; uint *puVar14; ulonglong in_R10; longlong *plVar15; undefined1 *in_R11; ulonglong unaff_R12; int *unaff_R13; ulonglong unaff_R14; int *piVar16; longlong in_stack_00000030; longlong in_stack_00000058; longlong in_stack_00000068; piVar16 = (int *)(unaff_R14 ^ unaff_R12); plVar15 = (longlong *)(~in_R10 + 1); uVar4 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } if (uVar4 != 0) { FUN_1808db3b9(0xf720); return; } if (in_stack_00000030 != in_stack_00000068) { puVar10 = (undefined4 *)(in_stack_00000058 + in_stack_00000068); LAB_1808db410: if ((unaff_RBX != (longlong *)0x0) && (lVar5 = *unaff_RBX, -1 < lVar5)) { *(undefined8 *)((longlong)register0x00000020 + 0x58) = 0x2621fc0; lVar12 = (longlong)&DAT_182621fc0 + -*(longlong *)((longlong)register0x00000020 + 0x58); do { if (puVar10 < (undefined4 *) (-*(longlong *)((longlong)register0x00000020 + 0x58) + 0x182621fc8 + lVar5)) { if (-1 < lVar5) { plVar7 = (longlong *)(lVar12 + lVar5); plVar15 = (longlong *)(puVar10 + 1); if (plVar7 < plVar15) { *(undefined4 *)((longlong)register0x00000020 + 0x78) = *puVar10; in_R11 = (undefined1 *) ((longlong)register0x00000020 + (lVar12 - (longlong)puVar10) + 0x78); plVar13 = unaff_RBX; goto LAB_1808db4a0; } } break; } lVar5 = unaff_RBX[1]; unaff_RBX = unaff_RBX + 1; } while (-1 < lVar5); } goto LAB_1808db4bf; } LAB_1808db5f6: *(int *)((longlong)register0x00000020 + 0x28) = (int)unaff_RDI; *(int *)((longlong)register0x00000020 + 0x3c) = (int)unaff_RBP; do { puVar10 = (undefined4 *)((longlong)register0x00000020 + 0x3c); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1808db61f; FUN_1808dd6a8(&LAB_18113e030,&LAB_18113e030,&LAB_18113e030); *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1808db62a; uVar2 = func_0x00018088aca3(); *puVar10 = uVar2; uVar4 = (*piVar16 + 1) * *piVar16 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar11 = (~(*(int *)((longlong)register0x00000020 + 0x3c) + 0xe57bc5f5U) + 0x2d8ca1d5 >> 0x14 | (~(*(int *)((longlong)register0x00000020 + 0x3c) + 0xe57bc5f5U) + 0x2d8ca1d5) * 0x1000) + 0x6b72b7e4; uVar4 = ~(*(uint *)((longlong)register0x00000020 + 0x40) & uVar11); if ((~(uVar4 & *(uint *)((longlong)register0x00000020 + 0x40)) & ~(uVar4 & uVar11)) != 0xffffffff) { *(undefined1 **)((longlong)register0x00000020 + -8) = in_R11; *(int **)((longlong)register0x00000020 + -0x10) = unaff_R13; *(ulonglong *)((longlong)register0x00000020 + -0x18) = unaff_RDI; thunk_FUN_1805a9280(); return; } *(undefined8 *)((longlong)register0x00000020 + -8) = 0x1808db768; FUN_1808db7a6((longlong)*(int *)((longlong)register0x00000020 + 0x4c)); *(ulonglong *)((longlong)register0x00000020 + -8) = unaff_R12; *(longlong **)((longlong)register0x00000020 + -0x10) = plVar15; *(int **)((longlong)register0x00000020 + -0x18) = unaff_R13; FUN_1808db7a7(); return; while (plVar7 = (longlong *)(lVar12 + lVar5), plVar7 < plVar15) { LAB_1808db4a0: plVar13 = plVar13 + 1; *(longlong *)(in_R11 + lVar5) = *plVar7 - lVar12; lVar5 = *plVar13; if (lVar5 < 0) break; } LAB_1808db4bf: uVar4 = (uint)unaff_RDI ^ (uint)unaff_RBP; if ((uVar4 & 0x3ff) != 0) { uVar4 = uVar4 + (uVar4 >> 0x11); } unaff_RDI = (ulonglong)uVar4; unaff_R13 = (int *)((longlong)register0x00000020 + 200); do { puVar14 = (uint *)((longlong)register0x00000020 + 0x38); uVar6 = 0xf720; *(undefined4 **)((longlong)register0x00000020 + -8) = puVar10; puVar8 = (undefined8 *)((longlong)register0x00000020 + -8); while( true ) { puVar8[-1] = 0x1808db55e; uVar3 = FUN_1808dc674(); uVar11 = (uint)uVar3; *puVar14 = uVar11; puVar10 = (undefined4 *)*puVar8; register0x00000020 = (BADSPACEBASE *)(puVar8 + 1); /* WARNING: Bad instruction - Truncating control flow here */ if ((uVar6 & 0xc300) != 0) break; puVar8 = puVar8 + 1; if ((char)(uVar6 >> 8) < '\0') { iVar1 = (int)CONCAT71((int7)((ulonglong)uVar3 >> 8),(char)uVar3 + '5'); goto code_r0x0001808db5dc; } } if ((uVar6 & 0xc3) == 0) { uVar11 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; register0x00000020 = (BADSPACEBASE *)(puVar8 + 1); if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; register0x00000020 = (BADSPACEBASE *)(puVar8 + 1); } } else { *puVar8 = unaff_RBP; register0x00000020 = (BADSPACEBASE *)((longlong)puVar8 + -0xfffe); unaff_RBP = puVar8; } } while (uVar11 != 0); uVar9 = (uint)unaff_RBP; uVar11 = (*(int *)((longlong)register0x00000020 + 0x38) * *(int *)((longlong)register0x00000020 + 0x20) * 0x8000 | (uint)(*(int *)((longlong)register0x00000020 + 0x38) * *(int *)((longlong)register0x00000020 + 0x20)) >> 0x11) * (int)unaff_R12; *(uint *)((longlong)register0x00000020 + 0x38) = uVar11; if (uVar4 - uVar9 < 0xc) { unaff_RDI = (ulonglong)(uVar4 * 0x41); } uVar4 = (uint)unaff_RDI; if (uVar4 - uVar9 < 0x30) { unaff_RDI = (ulonglong)(uVar4 ^ uVar4 * 8); } uVar9 = uVar9 ^ uVar11; uVar4 = uVar9 << 0xd | uVar9 >> 0x13; unaff_RBP = (undefined8 *)(ulonglong)uVar4; in_stack_00000068 = in_stack_00000068 + 4; puVar10 = puVar10 + 1; iVar1 = *(int *)((longlong)register0x00000020 + 0x28) + uVar4 * 4; code_r0x0001808db5dc: unaff_RBP = (undefined8 *)(ulonglong)(uint)((int)unaff_RBP + iVar1); if (*(longlong *)((longlong)register0x00000020 + 0x30) == in_stack_00000068) goto code_r0x0001808db5e9; goto LAB_1808db410; code_r0x0001808db5e9: piVar16 = (int *)((longlong)register0x00000020 + 200); goto LAB_1808db5f6; } ############ FUN_ 1806ab5b0 size=2456 ############ /* WARNING: Instruction at (ram,0x0001806abab3) overlaps instruction at (ram,0x0001806abab2) */ /* WARNING: Removing unreachable block (ram,0x0001806abab0) */ /* WARNING: Removing unreachable block (ram,0x0001806ab663) */ /* WARNING: Removing unreachable block (ram,0x0001806abea7) */ longlong FUN_1806ab5b0(void) { longlong lVar1; uint uVar2; uint uVar3; int iVar4; longlong lVar5; undefined1 *puVar6; longlong lVar7; undefined8 uVar8; uint uVar9; undefined8 uVar10; longlong lVar11; bool bVar12; int unaff_retaddr; undefined1 local_78 [32]; undefined8 local_58; puVar6 = local_78; local_58 = 0xfffffffffffffffe; uVar10 = 0x10; uVar2 = (uint)&stack0x00000000 & 0x13f; iVar4 = (uVar2 + 2) * (uVar2 + 1) * uVar2; uVar9 = 0xb35U - (((iVar4 >> 1) - (iVar4 >> 3)) + iVar4 * 0x55555555 >> 0x1e) ^ 0x775; lVar11 = (longlong)&DAT_18265f6a8 + (SUB168(ZEXT816(0xc7ce0c7ce0c7ce0d) * ZEXT816(0x18265f6a8),8) >> 5) * -0x29; uVar2 = 0; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); lVar1 = DAT_18265f6a8; while (DAT_18265f6a8 = lVar1, iVar4 != 0) { if ((3 < uVar2) && (0xf < uVar2)) { Sleep((uint)(0x1f < uVar2)); } uVar2 = uVar2 + 1; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); lVar1 = DAT_18265f6a8; } *(undefined4 *)(&DAT_18265dbd0 + lVar11 * 4) = 0; lVar7 = 0xaeb8e887; uVar8 = 0x63c7455d; lVar5 = 4; do { uVar9 = ~-uVar9 + 1; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); do { uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar2 = DAT_18114f8b4 ^ (((((((((((((((((((((((((((((((((((DAT_18114f828 ^ (DAT_18114f824 ^ 0x811c9e07) * 0x10001a7) * 0x10001a7 ^ DAT_18114f82c) * 0x10001a7 ^ DAT_18114f830) * 0x10001a7 ^ DAT_18114f834) * 0x10001a7 ^ DAT_18114f838) * 0x10001a7 ^ DAT_18114f83c) * 0x10001a7 ^ DAT_18114f840) * 0x10001a7 ^ DAT_18114f844) * 0x10001a7 ^ DAT_18114f848) * 0x10001a7 ^ DAT_18114f84c) * 0x10001a7 ^ DAT_18114f850) * 0x10001a7 ^ DAT_18114f854) * 0x10001a7 ^ DAT_18114f858) * 0x10001a7 ^ DAT_18114f85c) * 0x10001a7 ^ DAT_18114f860) * 0x10001a7 ^ DAT_18114f864) * 0x10001a7 ^ DAT_18114f868) * 0x10001a7 ^ DAT_18114f86c ) * 0x10001a7 ^ DAT_18114f870) * 0x10001a7 ^ DAT_18114f874) * 0x10001a7 ^ DAT_18114f878) * 0x10001a7 ^ DAT_18114f87c) * 0x10001a7 ^ DAT_18114f880) * 0x10001a7 ^ DAT_18114f884) * 0x10001a7 ^ DAT_18114f888) * 0x10001a7 ^ DAT_18114f88c) * 0x10001a7 ^ DAT_18114f890) * 0x10001a7 ^ DAT_18114f894) * 0x10001a7 ^ DAT_18114f898) * 0x10001a7 ^ DAT_18114f89c) * 0x10001a7 ^ DAT_18114f8a0 ) * 0x10001a7 ^ DAT_18114f8a4) * 0x10001a7 ^ DAT_18114f8a8) * 0x10001a7 ^ DAT_18114f8ac) * 0x10001a7 ^ DAT_18114f8b0) * 0x10001a7; do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); if (lVar1 == 0) { LOCK(); bVar12 = DAT_18265f6b0 == 0; if (bVar12) { DAT_18265f6b0 = 1; } UNLOCK(); while (!bVar12) { LOCK(); bVar12 = DAT_18265f6b0 == 0; if (bVar12) { DAT_18265f6b0 = 1; } UNLOCK(); } uVar3 = 0; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); lVar1 = DAT_18265f6a8; while (DAT_18265f6a8 = lVar1, iVar4 != 0) { if ((3 < uVar3) && (0xf < uVar3)) { Sleep((uint)(0x1f < uVar3)); } uVar3 = uVar3 + 1; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); lVar1 = DAT_18265f6a8; } uVar3 = 0; *(undefined4 *)(&DAT_18265dbd0 + lVar11 * 4) = 0; if (lVar1 == 0) { lVar1 = FUN_1806acfc0(); lVar5 = lVar1; FUN_1805ccdd0(FUN_1806ac040); LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); while (iVar4 != 0) { if ((3 < uVar3) && (0xf < uVar3)) { Sleep((uint)(0x1f < uVar3)); } uVar3 = uVar3 + 1; LOCK(); iVar4 = *(int *)(&DAT_18265dbd0 + lVar11 * 4); *(int *)(&DAT_18265dbd0 + lVar11 * 4) = 1; UNLOCK(); } DAT_18265f6a8 = lVar1; *(undefined4 *)(&DAT_18265dbd0 + lVar11 * 4) = 0; } LOCK(); UNLOCK(); DAT_18265f6b0 = 0; } uVar2 = (((((((((((((DAT_18114f8b8 ^ uVar2 * 0x10001a7) * 0x10001a7 ^ DAT_18114f8bc) * 0x10001a7 ^ DAT_18114f8c0) * 0x10001a7 ^ DAT_18114f8c4) * 0x10001a7 ^ DAT_18114f8c8) * 0x10001a7 ^ DAT_18114f8cc) * 0x10001a7 ^ DAT_18114f8d0) * 0x10001a7 ^ DAT_18114f8d4) * 0x10001a7 ^ DAT_18114f8d8) * 0x10001a7 ^ DAT_18114f8dc) * 0x10001a7 ^ DAT_18114f8e0) * 0x10001a7 ^ DAT_18114f8e4) * 0x10001a7 ^ DAT_18114f8e8) * 0x10001a7 ^ DAT_18114f8ec; do { FUN_1806ab0d1(0xdf10); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (DAT_18114f91c ^ (DAT_18114f918 ^ (DAT_18114f914 ^ (DAT_18114f910 ^ (DAT_18114f90c ^ (DAT_18114f908 ^ (DAT_18114f904 ^ (DAT_18114f900 ^ (DAT_18114f8fc ^ (DAT_18114f8f8 ^ (DAT_18114f8f4 ^ (DAT_18114f8f0 ^ uVar2 * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7 ) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7 ^ DAT_18114f920; uVar2 = (uVar2 * 0x10001a7 >> 0x10 | uVar2 * 0x1a70000) & 0x9661699e | (uVar2 * 0x1a70000 | uVar2 * 0x10001a7 >> 0x10) & 0x699e9661; do { lVar11 = lVar5 + lVar7; lVar5 = (lVar7 - lVar11 ^ 0xffffffffffffffffU) + 1; lVar7 = lVar11 - lVar5; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = ((uVar2 << 4 | uVar2 >> 0x1c) & 0x87878787 | (uVar2 >> 4 | uVar2 << 0x1c) & 0x78787878) + 0x73d13162 ^ 0x867eff55; if (uVar2 != uVar2 >> 3) { lVar1 = thunk_FUN_1805a9280(0x10,(-(~-lVar5 + 1U) ^ 0xffffffffffffffff) + 1,thunk_FUN_1805a9280) ; return lVar1; } do { *(undefined8 *)(puVar6 + -8) = uVar8; *(undefined8 *)(puVar6 + -0x10) = uVar10; *(BADSPACEBASE **)(puVar6 + -0x18) = register0x00000020; lVar11 = -(longlong)(int)uVar9; register0x00000020 = *(BADSPACEBASE **)(puVar6 + lVar11 + 0xc28); uVar10 = *(undefined8 *)(puVar6 + lVar11 + 0xc30); uVar8 = *(undefined8 *)(puVar6 + lVar11 + 0xc38); puVar6 = puVar6 + lVar11 + 0xc40; uVar2 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); return lVar1; } ############ FUN_ 180a0b6e0 size=1974 ############ /* WARNING: Instruction at (ram,0x000180a0bdbb) overlaps instruction at (ram,0x000180a0bdba) */ /* WARNING: Removing unreachable block (ram,0x000180a0bdb5) */ /* WARNING: Removing unreachable block (ram,0x000180a0b7f4) */ /* WARNING: Removing unreachable block (ram,0x000180a0b77e) */ /* WARNING: Removing unreachable block (ram,0x000180a0bc88) */ /* WARNING: Removing unreachable block (ram,0x000180a0be79) */ /* WARNING: Removing unreachable block (ram,0x000180a0b806) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_180a0b6e0(longlong param_1,char *param_2) { uint uVar1; byte *pbVar2; byte bVar3; longlong lVar4; undefined1 *puVar5; byte bVar6; undefined8 uVar7; uint uVar8; int iVar9; uint uVar10; uint uVar11; ulonglong uVar12; char *pcVar13; undefined1 *puVar14; undefined1 *puVar15; byte bVar16; byte *pbVar17; uint *puVar18; ulonglong in_R11; ulonglong uVar19; int unaff_retaddr; undefined1 auStack_98 [96]; puVar14 = auStack_98; uVar8 = (uint)&stack0x00000000 & 0x54ff; iVar9 = uVar8 * uVar8 + 1; uVar8 = (iVar9 >> 4) + (iVar9 >> 1) + iVar9 * 0x24924924 >> 0x1d; uVar8 = (int)(uVar8 - 7) >> 0x1f & uVar8; uVar7 = 0x15971c8; do { uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = _UNK_181597234 ^ (_UNK_181597230 ^ (_UNK_18159722c ^ (_UNK_181597228 ^ (_UNK_181597224 ^ (_UNK_181597220 ^ (_UNK_18159721c ^ (_UNK_181597218 ^ (_UNK_181597214 ^ (_UNK_181597210 ^ (_UNK_18159720c ^ (_UNK_181597208 ^ (_UNK_181597204 ^ (_UNK_181597200 ^ (_UNK_1815971fc ^ (_UNK_1815971f8 ^ (_UNK_1815971f4 ^ (_UNK_1815971f0 ^ (_UNK_1815971ec ^ (_UNK_1815971e8 ^ (_UNK_1815971e4 ^ (_UNK_1815971e0 ^ (_UNK_1815971dc ^ (_UNK_1815971d8 ^ (_UNK_1815971d4 ^ (_UNK_1815971d0 ^ (_UNK_1815971cc ^ (_UNK_1815971c8 ^ 0x811c9dc5) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; do { FUN_180a0cfe1(0xea34); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); do { uVar19 = (ulonglong)register0x00000020 ^ in_R11; in_R11 = (in_R11 - uVar19) + uVar19; register0x00000020 = (BADSPACEBASE *)(in_R11 ^ uVar19); uVar11 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar10 = _UNK_18159729c ^ (_UNK_181597298 ^ (_UNK_181597294 ^ (_UNK_181597290 ^ (_UNK_18159728c ^ (_UNK_181597288 ^ (_UNK_181597284 ^ (_UNK_181597280 ^ (_UNK_18159727c ^ (_UNK_181597278 ^ (_UNK_181597274 ^ (_UNK_181597270 ^ (_UNK_18159726c ^ (_UNK_181597268 ^ (_UNK_181597264 ^ (_UNK_181597260 ^ (_UNK_18159725c ^ (_UNK_181597258 ^ (_UNK_181597254 ^ (_UNK_181597250 ^ (_UNK_18159724c ^ (_UNK_181597248 ^ (_UNK_181597244 ^ (_UNK_181597240 ^ (_UNK_18159723c ^ (_UNK_181597238 ^ uVar10 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; do { FUN_180a0cd07(0xea34); uVar11 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar10 = (_UNK_1815972bc ^ (_UNK_1815972b8 ^ (_UNK_1815972b4 ^ (_UNK_1815972b0 ^ (_UNK_1815972ac ^ (_UNK_1815972a8 ^ (_UNK_1815972a4 ^ (_UNK_1815972a0 ^ uVar10 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; uVar19 = (ulonglong)uVar10; do { FUN_180a0b2bb(); uVar11 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar10 = (_UNK_1815972c0 ^ uVar10) * 0x1000181 ^ _UNK_1815972c4; uVar11 = uVar10 * 0x20000000 | uVar10 * 0x1000181 >> 3; uVar12 = (ulonglong)uVar11; uVar10 = (uVar11 >> 10 ^ uVar11) >> 2 & 0x7f; if (((uVar10 << 10 | uVar10) << 2 ^ uVar11) == 0x3537f805) { puVar5 = puVar14; do { puVar15 = puVar5; *(ulonglong *)(puVar15 + -8) = uVar12; *(undefined8 *)(puVar15 + -0x10) = uVar7; *(ulonglong *)(puVar15 + -0x18) = uVar19; lVar4 = -(longlong)(int)(((int)(-uVar8 | uVar8) >> 0x1f) * -0x6060 ^ 0x6340); uVar19 = *(ulonglong *)(puVar15 + lVar4 + 0x308); uVar7 = *(undefined8 *)(puVar15 + lVar4 + 0x310); uVar12 = *(ulonglong *)(puVar15 + lVar4 + 0x318); uVar10 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } puVar5 = puVar15 + lVar4 + 800; } while (uVar10 != 0); if ((param_1 == 0) || (param_2 == (char *)0x0)) { uVar7 = 99; } else { pbVar2 = (byte *)(param_2 + 3); uVar8 = *(uint *)(param_2 + 4); pbVar17 = (byte *)(param_1 + 0x49); uVar10 = *(uint *)(param_2 + 8); puVar18 = (uint *)(param_1 + 0x24); bVar6 = *param_2 - 1; *(char **)(puVar15 + lVar4 + 0x348) = param_2 + (0x2c - param_1); pcVar13 = param_2 + (8 - param_1); *(char **)(puVar15 + lVar4 + 0x3c0) = pcVar13; *(char **)(puVar15 + lVar4 + 0x3d0) = param_2 + (0x28 - param_1); *(char **)(puVar15 + lVar4 + 0x350) = param_2 + (0x24 - param_1); *(char **)(puVar15 + lVar4 + 0x358) = param_2 + (0x2d - param_1); *(char **)(puVar15 + lVar4 + 0x360) = param_2 + (0x25 - param_1); *(char **)(puVar15 + lVar4 + 0x368) = param_2 + (0x2e - param_1); *(char **)(puVar15 + lVar4 + 0x370) = param_2 + (0x26 - param_1); *(char **)(puVar15 + lVar4 + 0x3d8) = param_2 + (0x2b - param_1); *(char **)(puVar15 + lVar4 + 0x340) = param_2 + (0x23 - param_1); uVar11 = 2; do { bVar16 = 1; if (uVar11 - 2 < 7) { bVar3 = *pbVar17; uVar8 = uVar8 & puVar18[-8]; uVar10 = uVar10 & *puVar18; if (bVar3 < bVar6) { bVar6 = bVar3; } pcVar13 = *(char **)(puVar15 + lVar4 + 0x3c0); if (1 < bVar3) { bVar16 = pbVar17[-8]; } } if (uVar11 - 2 < (uint)*pbVar2) { uVar8 = uVar8 & *(uint *)(pcVar13 + (longlong)puVar18); uVar10 = uVar10 & *(uint *)(*(longlong *)(puVar15 + lVar4 + 0x3d0) + (longlong)puVar18); if (pbVar17[*(longlong *)(puVar15 + lVar4 + 0x3d8)] < bVar6) { bVar6 = pbVar17[*(longlong *)(puVar15 + lVar4 + 0x3d8)]; } if (bVar16 < pbVar17[*(longlong *)(puVar15 + lVar4 + 0x340)]) { bVar16 = pbVar17[*(longlong *)(puVar15 + lVar4 + 0x340)]; } } puVar18[-9] = uVar8; puVar18[-1] = uVar10; pbVar17[-1] = bVar6; pbVar17[-9] = bVar16; if (bVar6 != 0) { bVar6 = bVar6 - 1; } bVar16 = 1; if (uVar11 - 1 < 7) { bVar3 = pbVar17[1]; uVar8 = uVar8 & puVar18[-7]; uVar10 = uVar10 & puVar18[1]; if (bVar3 < bVar6) { bVar6 = bVar3; } if (1 < bVar3) { bVar16 = pbVar17[-7]; } } if (uVar11 - 1 < (uint)*pbVar2) { uVar8 = uVar8 & *(uint *)(*(longlong *)(puVar15 + lVar4 + 0x348) + -0x20 + (longlong)puVar18); uVar10 = uVar10 & *(uint *)(*(longlong *)(puVar15 + lVar4 + 0x348) + (longlong)puVar18); if (pbVar17[*(longlong *)(puVar15 + lVar4 + 0x350) + 8] < bVar6) { bVar6 = pbVar17[*(longlong *)(puVar15 + lVar4 + 0x350) + 8]; } if (bVar16 < pbVar17[*(longlong *)(puVar15 + lVar4 + 0x350)]) { bVar16 = pbVar17[*(longlong *)(puVar15 + lVar4 + 0x350)]; } } puVar18[-8] = uVar8; *puVar18 = uVar10; *pbVar17 = bVar6; pbVar17[-8] = bVar16; if (bVar6 != 0) { bVar6 = bVar6 - 1; } bVar16 = 1; if (uVar11 < 7) { bVar3 = pbVar17[2]; uVar8 = uVar8 & puVar18[-6]; uVar10 = uVar10 & puVar18[2]; if (bVar3 < bVar6) { bVar6 = bVar3; } if (1 < bVar3) { bVar16 = pbVar17[-6]; } } if (uVar11 < *pbVar2) { uVar8 = uVar8 & *(uint *)(param_2 + (0x10 - param_1) + (longlong)puVar18); uVar10 = uVar10 & *(uint *)(param_2 + (0x30 - param_1) + (longlong)puVar18); if (pbVar17[*(longlong *)(puVar15 + lVar4 + 0x358)] < bVar6) { bVar6 = pbVar17[*(longlong *)(puVar15 + lVar4 + 0x358)]; } if (bVar16 < pbVar17[*(longlong *)(puVar15 + lVar4 + 0x360)]) { bVar16 = pbVar17[*(longlong *)(puVar15 + lVar4 + 0x360)]; } } puVar18[-7] = uVar8; puVar18[1] = uVar10; pbVar17[1] = bVar6; pbVar17[-7] = bVar16; if (bVar6 != 0) { bVar6 = bVar6 - 1; } bVar16 = 1; if (uVar11 + 1 < 7) { bVar3 = pbVar17[3]; uVar8 = uVar8 & puVar18[-5]; uVar10 = uVar10 & puVar18[3]; if (bVar3 < bVar6) { bVar6 = bVar3; } if (1 < bVar3) { bVar16 = pbVar17[-5]; } } if (uVar11 + 1 < (uint)*pbVar2) { uVar8 = uVar8 & *(uint *)(param_2 + (0x14 - param_1) + (longlong)puVar18); uVar10 = uVar10 & *(uint *)((longlong)puVar18 + (longlong)(param_2 + (0x34 - param_1))); if (pbVar17[*(longlong *)(puVar15 + lVar4 + 0x368)] < bVar6) { bVar6 = pbVar17[*(longlong *)(puVar15 + lVar4 + 0x368)]; } if (bVar16 < pbVar17[*(longlong *)(puVar15 + lVar4 + 0x370)]) { bVar16 = pbVar17[*(longlong *)(puVar15 + lVar4 + 0x370)]; } } puVar18[-6] = uVar8; puVar18[2] = uVar10; pbVar17[2] = bVar6; pbVar17[-6] = bVar16; if (bVar6 != 0) { bVar6 = bVar6 - 1; } pcVar13 = *(char **)(puVar15 + lVar4 + 0x3c0); puVar18 = puVar18 + 4; pbVar17 = pbVar17 + 4; uVar1 = uVar11 + 2; uVar11 = uVar11 + 4; } while (uVar1 < 8); uVar7 = 0; } return uVar7; } uVar7 = thunk_FUN_1805a9280(0x1c0,0x180a0be9c); return uVar7; } ############ FUN_ 180bbba90 size=786 ############ /* WARNING: Instruction at (ram,0x000180bbbbc1) overlaps instruction at (ram,0x000180bbbbbe) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000180bbbda5) */ /* WARNING: Removing unreachable block (ram,0x000180bbbae9) */ /* WARNING: Removing unreachable block (ram,0x000180bbbbbe) */ undefined8 FUN_180bbba90(void) { longlong lVar1; undefined1 *puVar2; undefined8 uVar3; uint uVar4; uint uVar5; ulonglong uVar6; longlong unaff_RBX; undefined1 *puVar7; undefined8 unaff_RSI; undefined4 unaff_EDI; undefined8 in_R11; int *unaff_R12; uint unaff_R14D; uint unaff_R15D; uint in_stack_00000038; uVar4 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } if (uVar4 != 0) { FUN_180bbc392(0xc524); uVar3 = FUN_180bbba90(); return uVar3; } do { uVar4 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar4 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (*(uint *)(unaff_RBX + 0xf8) ^ (*(uint *)(unaff_RBX + 0xf4) ^ (*(uint *)(unaff_RBX + 0xf0) ^ (*(uint *)(unaff_RBX + 0xec) ^ unaff_R14D) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7 ^ *(uint *)(unaff_RBX + 0xfc); do { uVar5 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = uVar4 * 0x10001a7 >> 2 & 0xcccccccc | uVar4 * -0x40000000 | uVar4 * 0x400069c & 0x33333333 | uVar4 * 0x10001a7 >> 0x1e; uVar4 = (uVar5 >> 7 ^ uVar5) & 0x1f; uVar5 = ~((uVar4 << 7 | uVar4) ^ uVar5) + 0x559aabc4; uVar4 = ~(in_stack_00000038 & uVar5); uVar5 = ~(uVar4 & uVar5); uVar6 = (ulonglong)uVar5; uVar4 = CONCAT31((int3)((uint)unaff_EDI >> 8),(~(uVar4 & in_stack_00000038) & uVar5) == 0xffffffff ); if (uVar4 == uVar4 >> 1) { FUN_180bbdb28(); uVar3 = thunk_FUN_1805a9280(); return uVar3; } puVar2 = (undefined1 *)register0x00000020; do { puVar7 = puVar2; *(undefined8 *)(puVar7 + -8) = unaff_RSI; *(undefined8 *)(puVar7 + -0x10) = in_R11; *(ulonglong *)(puVar7 + -0x18) = uVar6; lVar1 = -(longlong)(int)((unaff_R15D ^ 0xffffffff) + 1); uVar6 = *(ulonglong *)(puVar7 + lVar1 + 0x98); in_R11 = *(undefined8 *)(puVar7 + lVar1 + 0xa0); unaff_RSI = *(undefined8 *)(puVar7 + lVar1 + 0xa8); uVar4 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } puVar2 = puVar7 + lVar1 + 0xb0; } while (uVar4 != 0); *(undefined **)(puVar7 + lVar1 + 0xa8) = &UNK_180bbbe33; } ############ FUN_ 180a5a5ba size=2190 ############ /* WARNING: Removing unreachable block (ram,0x000180a5a9d5) */ /* WARNING: Removing unreachable block (ram,0x000180a5a76e) */ /* WARNING: Removing unreachable block (ram,0x000180a5a9c1) */ /* WARNING: Removing unreachable block (ram,0x000180a5ad90) */ /* WARNING: Removing unreachable block (ram,0x000180a5a8b6) */ undefined8 * FUN_180a5a5ba(undefined8 param_1,undefined8 param_2,longlong param_3,ulonglong param_4, undefined8 param_5,uint param_6,undefined8 param_7,undefined8 param_8, undefined8 param_9) { char cVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; byte bVar5; undefined1 *puVar6; int iVar7; undefined8 *puVar8; uint uVar9; undefined8 *puVar10; uint uVar11; int iVar12; undefined8 *puVar13; undefined8 *puVar14; longlong *plVar15; longlong lVar16; longlong unaff_RBX; int *piVar17; undefined1 *puVar18; int unaff_EBP; int unaff_ESI; int iVar19; undefined8 unaff_RDI; uint uVar20; uint uVar21; uint uVar22; int *unaff_R12; undefined8 unaff_R13; uint unaff_R14D; ulonglong uVar23; int *piVar24; longlong *unaff_R15; int in_stack_000000a8; longlong in_stack_000000c0; FUN_180a5c163(param_1,param_2,-param_3,param_4 ^ (ulonglong)unaff_R12); uVar9 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } if (uVar9 == 0) { uVar9 = *(int *)(unaff_RBX + 0x68) * unaff_EBP; uVar11 = *(int *)(unaff_RBX + 0x6c) * unaff_EBP; uVar21 = *(int *)(unaff_RBX + 0x78) * unaff_EBP; iVar19 = (int)unaff_RDI; uVar9 = (uVar9 * 0x8000 | uVar9 >> 0x11) * iVar19 ^ unaff_R14D; uVar11 = (uVar11 * 0x8000 | uVar11 >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = *(int *)(unaff_RBX + 0x70) * unaff_EBP; uVar9 = (uVar9 * 0x8000 | uVar9 >> 0x11) * iVar19 ^ unaff_ESI + (uVar11 << 0xd | uVar11 >> 0x13) * 5; uVar11 = *(int *)(unaff_RBX + 0x74) * unaff_EBP; uVar20 = (uint)(unaff_RBX + 0x78) & 0x74ff; uVar9 = (uVar11 * 0x8000 | uVar11 >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (uVar21 * 0x8000 | uVar21 >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; bVar5 = (byte)uVar9 & 0x4f; uVar11 = (uVar20 * uVar20 + 1) % 7; uVar11 = ((int)(-uVar11 | uVar11) >> 0x1f) >> (bVar5 * bVar5 * (bVar5 + 1) * (bVar5 + 1) & 1); piVar17 = (int *)(unaff_RBX + 0x78 + (0x104 - ((longlong)(((int)(-uVar11 | uVar11) >> 0x1f) * -0x189a) ^ 0x199aU))); uVar9 = (*piVar17 * unaff_EBP * 0x8000 | (uint)(*piVar17 * unaff_EBP) >> 0x11) * iVar19 ^ uVar9; uVar9 = (piVar17[1] * unaff_EBP * 0x8000 | (uint)(piVar17[1] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[2] * unaff_EBP * 0x8000 | (uint)(piVar17[2] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[3] * unaff_EBP * 0x8000 | (uint)(piVar17[3] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[4] * unaff_EBP * 0x8000 | (uint)(piVar17[4] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; if ((uVar9 & 0xc) == 0) { uVar11 = ((param_6 & 0x50ff) - 1) * (param_6 & 0x50ff) & 1; } else { uVar11 = ((uVar9 & 0x4eff) + 1) * (uVar9 & 0x4eff) & 0x80000001; } piVar17 = (int *)((longlong)piVar17 + ((longlong)(int)uVar11 ^ 4U) + 0x10); uVar9 = (*piVar17 * unaff_EBP * 0x8000 | (uint)(*piVar17 * unaff_EBP) >> 0x11) * iVar19 ^ uVar9; uVar9 = (piVar17[1] * unaff_EBP * 0x8000 | (uint)(piVar17[1] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[2] * unaff_EBP * 0x8000 | (uint)(piVar17[2] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; piVar24 = piVar17 + 5; uVar9 = (piVar17[3] * unaff_EBP * 0x8000 | (uint)(piVar17[3] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[4] * unaff_EBP * 0x8000 | (uint)(piVar17[4] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; iVar12 = *(int *)(in_stack_000000c0 + 8); iVar7 = (**(code **)(*unaff_R15 + 0x48))(); if (iVar12 != iVar7) { (**(code **)(*unaff_R15 + 0x48))(); FUN_180a3df30(); } uVar20 = (*piVar24 * unaff_EBP * 0x8000 | (uint)(*piVar24 * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (uint)piVar24 & 0xff; iVar12 = (uVar9 + 2) * (uVar9 + 1) * uVar9; uVar23 = (longlong)((((iVar12 >> 1) - (iVar12 >> 3)) + iVar12 * 0x55555555 >> 0x1e) + 0x32d1) ^ 0x3351; uVar9 = *(int *)((longlong)piVar24 + (uVar23 - 0x17c)) * unaff_EBP; uVar11 = *(int *)((longlong)piVar24 + (uVar23 - 0x178)) * unaff_EBP; uVar9 = (uVar9 * 0x8000 | uVar9 >> 0x11) * iVar19 ^ unaff_ESI + (uVar20 << 0xd | uVar20 >> 0x13) * 5; uVar11 = (uVar11 * 0x8000 | uVar11 >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = *(int *)((longlong)piVar24 + (uVar23 - 0x174)) * unaff_EBP; uVar9 = (uVar9 * 0x8000 | uVar9 >> 0x11) * iVar19 ^ unaff_ESI + (uVar11 << 0xd | uVar11 >> 0x13) * 5; uVar11 = *(int *)((longlong)piVar24 + (uVar23 - 0x170)) * unaff_EBP; piVar24 = (int *)((longlong)piVar24 + (uVar23 - 0x16c)); uVar9 = (uVar11 * 0x8000 | uVar11 >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (*piVar24 * unaff_EBP * 0x8000 | (uint)(*piVar24 * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; if ((uVar9 & 0x1500) == 0) { uVar11 = uVar9 & 0x7f; uVar11 = (uVar11 * uVar11 * (uVar11 + 1) * (uVar11 + 1) & 0x80000003 | ((uVar9 & 0x55ff) + 1) * (uVar9 & 0x55ff) & 0x80000001) + 0x88fa; } else { uVar11 = 0x88fa; } if ((uVar9 & 0x1c0) == 0) { uVar20 = uVar9 & 0x27f; } else { uVar20 = uVar9 & 0x23f; } uVar22 = uVar9 & 0x1ff; iVar12 = (uVar20 + 2) * (uVar20 + 1) * uVar20; uVar21 = param_6 & 0x3f | 0x30; uVar20 = uVar9 & 0x1f | 0x55; iVar7 = (uVar22 + 2) * (uVar22 + 1) * uVar22; piVar17 = (int *)((longlong)piVar24 + (0x6c9bL >> ((uVar20 * uVar20 * 0x685d == uVar21 * uVar21 * 0x1a87) - ((char)iVar7 + (char)((ulonglong)((longlong)iVar7 * 0x55555556) >> 0x20) * -3 ) & 0x3fU) ^ 0xffffffffffff9377U) + (longlong) (int)(0x88e2 << ((byte)(((iVar12 >> 1) - (iVar12 >> 3)) + iVar12 * 0x55555555 >> 0x1e) & 0x1f) ^ uVar11)); uVar9 = (*piVar17 * unaff_EBP * 0x8000 | (uint)(*piVar17 * unaff_EBP) >> 0x11) * iVar19 ^ uVar9; uVar9 = (piVar17[1] * unaff_EBP * 0x8000 | (uint)(piVar17[1] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[2] * unaff_EBP * 0x8000 | (uint)(piVar17[2] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[3] * unaff_EBP * 0x8000 | (uint)(piVar17[3] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[4] * unaff_EBP * 0x8000 | (uint)(piVar17[4] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[5] * unaff_EBP * 0x8000 | (uint)(piVar17[5] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[6] * unaff_EBP * 0x8000 | (uint)(piVar17[6] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[7] * unaff_EBP * 0x8000 | (uint)(piVar17[7] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[8] * unaff_EBP * 0x8000 | (uint)(piVar17[8] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[9] * unaff_EBP * 0x8000 | (uint)(piVar17[9] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[10] * unaff_EBP * 0x8000 | (uint)(piVar17[10] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[0xb] * unaff_EBP * 0x8000 | (uint)(piVar17[0xb] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[0xc] * unaff_EBP * 0x8000 | (uint)(piVar17[0xc] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[0xd] * unaff_EBP * 0x8000 | (uint)(piVar17[0xd] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[0xe] * unaff_EBP * 0x8000 | (uint)(piVar17[0xe] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (piVar17[0xf] * unaff_EBP * 0x8000 | (uint)(piVar17[0xf] * unaff_EBP) >> 0x11) * iVar19 ^ unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; param_6 = param_6 & 0x17f; uVar9 = unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar11 = uVar9 & 0x8ff; iVar12 = (param_6 + 2) * (param_6 + 1) * param_6; uVar11 = ((iVar12 >> 1) - (iVar12 >> 3)) + iVar12 * 0x55555555 >> 0x1e ^ ((uVar11 + 1) * uVar11 + 7) % 0x51; uVar11 = *(int *)((ulonglong)(((int)(-uVar11 | uVar11) >> 0x1f ^ 0xfffffffbU) & 0x1cdf) + 0x3c + (longlong)piVar17) * unaff_EBP; uVar9 = (uVar11 * 0x8000 | uVar11 >> 0x11) * iVar19 ^ uVar9; uVar11 = unaff_ESI + (uVar9 << 0xd | uVar9 >> 0x13) * 5; uVar9 = (uVar11 >> 0x17 ^ uVar11) & 0x1f; uVar11 = (uVar9 << 0x17 | uVar9) ^ uVar11; uVar9 = uVar11 >> 0xe; uVar11 = uVar11 << 0x12 | uVar9; uVar9 = (uVar11 >> 0x10 | uVar9 << 0x10) & 0xee9e1161 | (uVar9 << 0x10 | uVar11 >> 0x10) & 0x1161ee9e; uVar9 = uVar9 & 0x326bf875 | ~uVar9 & 0xcd94078a; if (uVar9 == uVar9 >> 7) { puVar6 = (undefined1 *)register0x00000020; do { puVar18 = puVar6; *(int **)(puVar18 + -8) = piVar24; *(undefined8 *)(puVar18 + -0x10) = unaff_R13; *(undefined8 *)(puVar18 + -0x18) = unaff_RDI; lVar16 = -(longlong)param_9._4_4_; unaff_RDI = *(undefined8 *)(puVar18 + lVar16 + 0x988); unaff_R13 = *(undefined8 *)(puVar18 + lVar16 + 0x990); piVar24 = *(int **)(puVar18 + lVar16 + 0x998); uVar9 = (in_stack_000000a8 + 1) * in_stack_000000a8 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } puVar6 = puVar18 + lVar16 + 0x9a0; } while (uVar9 != 0); lVar2 = unaff_R15[1]; puVar8 = *(undefined8 **)(puVar18 + lVar16 + 0xa58); lVar3 = *(longlong *)(*(longlong *)(puVar18 + lVar16 + 0xa60) + 0x10); puVar4 = *(undefined8 **)(lVar2 + 0x20); cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar14 = puVar4; puVar13 = (undefined8 *)puVar4[1]; while (cVar1 == '\0') { if ((longlong)puVar13[4] < lVar3) { puVar10 = (undefined8 *)puVar13[2]; puVar13 = puVar14; } else { puVar10 = (undefined8 *)*puVar13; } puVar14 = puVar13; puVar13 = puVar10; cVar1 = *(char *)((longlong)puVar10 + 0x19); } if ((puVar14 == puVar4) || (lVar3 < (longlong)puVar14[4])) { puVar14 = puVar4; } if (puVar14 == puVar4) { *(undefined8 *)(puVar18 + lVar16 + 0x998) = 0x180a5aea3; FUN_180a3dd40(); *puVar8 = 0; } else { for (plVar15 = *(longlong **)(lVar2 + 8); (plVar15 != *(longlong **)(lVar2 + 0x10) && (*plVar15 != lVar3)); plVar15 = plVar15 + 1) { } if (plVar15 == *(longlong **)(lVar2 + 0x10)) { lVar16 = -1; } else { lVar16 = (longlong)plVar15 - (longlong)*(longlong **)(lVar2 + 8) >> 3; } *puVar8 = *(undefined8 *)(unaff_R15[4] + lVar16 * 8); } return puVar8; } puVar8 = (undefined8 *)thunk_FUN_1805a9280(); return puVar8; } puVar8 = (undefined8 *)FUN_180a5a5ba(0x5410); return puVar8; } ############ FUN_ 1806ba570 size=1697 ############ /* WARNING: Instruction at (ram,0x0001806baa33) overlaps instruction at (ram,0x0001806baa30) */ /* WARNING: Removing unreachable block (ram,0x0001806baa30) */ /* WARNING: Removing unreachable block (ram,0x0001806ba943) */ /* WARNING: Removing unreachable block (ram,0x0001806ba5f1) */ /* WARNING: Removing unreachable block (ram,0x0001806ba5a8) */ /* WARNING: Removing unreachable block (ram,0x0001806ba607) */ /* WARNING: Removing unreachable block (ram,0x0001806ba9d8) */ /* WARNING: Removing unreachable block (ram,0x0001806bac5f) */ void FUN_1806ba570(longlong param_1,uint param_2) { uint uVar1; uint uVar2; longlong lVar3; ulonglong uVar4; int *piVar5; int *piVar6; undefined1 *puVar7; ulonglong uVar8; uint uVar9; uint uVar10; int unaff_retaddr; undefined1 auStack_58 [32]; puVar7 = auStack_58; uVar9 = (uint)&stack0x00000000 & 0x4ff; uVar9 = ((uVar9 + 1) * uVar9 + 7) % 0x51; uVar9 = (int)(-uVar9 | uVar9) >> 0x1f & 0x9a3bU ^ 0x935b; uVar1 = (((uint)(DAT_181420ec0 * 0x401) >> 6 ^ DAT_181420ec0 * 0x401) + DAT_181420ec4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_181420ec8) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_181420ecc) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_181420ed0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_181420ed4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_181420ed8) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_181420edc) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_181420ee0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_181420ee4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_181420ee8) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_181420eec) * 0x401; piVar5 = &DAT_181420ef0; do { uVar9 = ~((uVar9 ^ 0xffffffff) + 1) + 1; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); lVar3 = 0xb; uVar1 = (DAT_181420ef0 + (uVar1 ^ uVar1 >> 6)) * 0x401; do { uVar1 = ((uVar1 >> 6 ^ uVar1) + piVar5[1]) * 0x401; piVar6 = piVar5 + 2; piVar5 = piVar5 + 3; uVar1 = ((uVar1 >> 6 ^ uVar1) + *piVar6) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *piVar5) * 0x401; lVar3 = lVar3 + -1; } while (lVar3 != 0); uVar1 = uVar1 ^ uVar1 >> 6; uVar2 = uVar1 & 0x3f; uVar10 = ((uVar2 + 2) * (uVar2 + 1) * uVar2) % 3 - ((uVar1 & 0x16ff) * (uVar1 & 0x16ff) * 0x10 + 4) % 0x13; uVar2 = (uint)piVar5 & 0x16ff; uVar2 = (uVar2 * uVar2 * 0x10 + 4) % 0x13; lVar3 = ((longlong)(((int)(-uVar2 | uVar2) >> 0x1f) * -0xa2dd) ^ 0xa3ddU) - ((longlong)(((int)(-uVar10 | uVar10) >> 0x1f) * -0x5d9a) ^ 0x5c9aU); uVar1 = (*(int *)((longlong)piVar5 + lVar3 + 4) + uVar1) * 0x401; do { uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = (*(int *)((longlong)piVar5 + lVar3 + 8) + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = uVar1 ^ uVar1 >> 6; uVar8 = (ulonglong)uVar1; piVar5 = (int *)((longlong)piVar5 + lVar3 + 0xc); do { FUN_1806bc6f0(); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); lVar3 = 7; uVar1 = (*piVar5 + uVar1) * 0x401; do { piVar6 = piVar5; uVar1 = ((uVar1 >> 6 ^ uVar1) + piVar6[1]) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + piVar6[2]) * 0x401; lVar3 = lVar3 + -1; piVar5 = piVar6 + 2; } while (lVar3 != 0); uVar1 = ((uVar1 >> 6 ^ uVar1) + piVar6[3]) * 0x401; do { uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = (uVar1 ^ uVar1 >> 6) + 0x3a16ca2a; uVar1 = (uVar1 >> 3 | uVar1 * 0x20000000) + 0x10e0bea2; uVar4 = (ulonglong)uVar1; if ((uVar1 & 0xbf3a5f2c | ~uVar1 & 0x40c5a0d3) * 9 == 0) { if (param_2 < 4) { *(uint *)(param_1 + 0x194) = param_2; } do { *(ulonglong *)(puVar7 + -8) = uVar8; *(longlong *)(puVar7 + -0x10) = param_1; *(ulonglong *)(puVar7 + -0x18) = uVar4; lVar3 = -(longlong)(int)uVar9; uVar4 = *(ulonglong *)(puVar7 + lVar3 + 0x948); param_1 = *(longlong *)(puVar7 + lVar3 + 0x950); uVar8 = *(ulonglong *)(puVar7 + lVar3 + 0x958); puVar7 = puVar7 + lVar3 + 0x960; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); return; } if (3 < param_2) { *(uint *)(param_1 + 0x194) = param_2; } FUN_1806bb573(); thunk_FUN_1805a9280(); return; } ############ FUN_ 18080a7f0 size=2240 ############ /* WARNING: Instruction at (ram,0x00018080ae70) overlaps instruction at (ram,0x00018080ae6f) */ /* WARNING: Removing unreachable block (ram,0x00018080afdd) */ /* WARNING: Removing unreachable block (ram,0x00018080aec2) */ /* WARNING: Removing unreachable block (ram,0x00018080a88c) */ /* WARNING: Removing unreachable block (ram,0x00018080aed9) */ /* WARNING: Removing unreachable block (ram,0x00018080ae70) */ /* WARNING: Removing unreachable block (ram,0x00018080aa64) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined8 FUN_18080a7f0(ulonglong param_1) { ulonglong uVar1; undefined8 uVar2; uint uVar3; uint uVar4; longlong lVar5; undefined1 *puVar6; ulonglong uVar7; longlong unaff_R13; longlong lVar8; uint uVar9; int unaff_retaddr; undefined1 auStack_58 [32]; puVar6 = auStack_58; uVar7 = 0x4626107; uVar9 = 0x370; uVar2 = 0; lVar5 = 0x180000000; do { lVar8 = unaff_R13 + lVar5; unaff_R13 = (lVar5 - lVar8 ^ 0xffffffffffffffffU) + 1; lVar5 = lVar8 - unaff_R13; uVar7 = ~((uVar7 ^ 0xffffffffffffffff) + 1) + 1; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = (((uint)(DAT_1811c4ce8 * 0x401) >> 6 ^ DAT_1811c4ce8 * 0x401) + DAT_1811c4cec) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4cf0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4cf4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4cf8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4cfc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d00) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d04) * 0x401; do { register0x00000020 = (BADSPACEBASE *)((~(ulonglong)register0x00000020 + 1 ^ 0xffffffffffffffff) + 1); uVar4 = (*(uint *)register0x00000020 + 1) * *(uint *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (DAT_1811c4d08 + (uVar3 ^ uVar3 >> 6)) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d0c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d10) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d14) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d18) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d1c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d20) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d24) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d28) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d2c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d30) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d34) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d38) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d3c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d40) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d44) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d48) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d4c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d50) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d54) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d58) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d5c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d60) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d64) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d68) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d6c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d70) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d74) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d78) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d7c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d80) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d84) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d88) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d8c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d90) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d94) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d98) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4d9c) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4da0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4da4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4da8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4dac) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4db0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4db4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4db8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4dbc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4dc0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4dc4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4dc8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4dcc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4dd0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4dd4) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4dd8) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4ddc) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4de0) * 0x401; uVar3 = ((uVar3 >> 6 ^ uVar3) + DAT_1811c4de4) * 0x401; uVar3 = uVar3 ^ uVar3 >> 6; do { uVar4 = (*(uint *)register0x00000020 + 1) * *(uint *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar1 = 0x994dc2f50d65aedf; /* WARNING: Ignoring partial resolution of indirect */ do { lVar5 = (uVar1 + lVar5) - (~(lVar5 - (uVar1 + lVar5)) + 1); register0x00000020 = (BADSPACEBASE *)(~-(longlong)register0x00000020 + 1); uVar9 = -((uVar9 ^ 0xffffffff) + 1); uVar4 = *(uint *)register0x00000020; uVar1 = (ulonglong)uVar4; uVar4 = (uVar4 + 1) * uVar4 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = ~(~((uVar3 << 0x1f | uVar3 >> 1) ^ 0x3638c3d8) ^ 0x5e51c7ab) + 0xf6ca5e9f ^ 0xd65aedf; if ((uVar3 & 0x1ffffff) == 0 && uVar3 == 0) { do { *(undefined8 *)(puVar6 + -8) = 0x18080afb8; lVar5 = 0x990; FUN_18080c628(); *(undefined8 *)(puVar6 + -8) = uVar2; *(BADSPACEBASE **)(puVar6 + -0x10) = register0x00000020; *(ulonglong *)(puVar6 + -0x18) = uVar7; lVar5 = -lVar5; uVar7 = *(ulonglong *)(puVar6 + lVar5 + 0x978); register0x00000020 = *(BADSPACEBASE **)(puVar6 + lVar5 + 0x980); uVar2 = *(undefined8 *)(puVar6 + lVar5 + 0x988); puVar6 = puVar6 + lVar5 + 0x990; uVar9 = (*(uint *)register0x00000020 + 1) * *(uint *)register0x00000020 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); if ((0x7fffffff00000000 < (longlong)param_1) && (param_1 < 0x8000000000000000)) { return 1; } return 0; } uVar2 = thunk_FUN_1805a9280((longlong)(int)uVar9,lVar5,uVar7,0); return uVar2; } ############ FUN_ 180a09810 size=2328 ############ /* WARNING: Removing unreachable block (ram,0x000180a09bbe) */ /* WARNING: Removing unreachable block (ram,0x000180a098c8) */ /* WARNING: Removing unreachable block (ram,0x000180a09b91) */ /* WARNING: Removing unreachable block (ram,0x000180a0a0ae) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_180a09810(ulonglong param_1,uint param_2,undefined4 *param_3,longlong param_4) { undefined1 *puVar1; uint uVar2; undefined8 uVar3; uint uVar4; longlong lVar5; undefined1 *puVar6; uint uVar7; uint uVar8; ulonglong uVar9; longlong lVar10; ulonglong uVar11; int unaff_retaddr; undefined1 auStack_78 [32]; uint local_58; undefined4 uStack_54; undefined *local_50; undefined *local_48; undefined8 local_40; uVar4 = (uint)&stack0x00000000 & 0x47ff; uVar3 = 0xc00; if (((uVar4 * uVar4 + 1) % 7 & 0x15) == 0) { uVar4 = (uint)&stack0x00000000 & 0x23f; uVar4 = ((uVar4 + 2) * (uVar4 + 1) * uVar4) % 3; } else { uVar4 = 0; } local_48 = &UNK_1815c9ac0; local_50 = &UNK_1815c9bc0; local_40 = 0x100; uVar7 = (_UNK_1815c9adc ^ (_UNK_1815c9ad8 ^ (_UNK_1815c9ad4 ^ (_UNK_1815c9ad0 ^ (_UNK_1815c9acc ^ (_UNK_1815c9ac8 ^ (_UNK_1815c9ac4 ^ (_UNK_1815c9ac0 ^ 0x811c9e53) * 0x10001d1) * 0x10001d1 ) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1; uVar2 = uVar7 & 0x22ff; uVar2 = ((uVar2 + 1) * uVar2 + 7) % 0x51 | 1; lVar5 = -((longlong)(((int)(-uVar2 | uVar2) >> 0x1f) * -0xf684) ^ 0xf6a4U); lVar10 = lVar5 + 0x5c; uVar11 = (ulonglong)((uint)lVar10 & 0x3bff); uVar2 = (*(uint *)(&UNK_1815c9b1c + lVar5) ^ (*(uint *)(&UNK_1815c9b18 + lVar5) ^ (*(uint *)(&UNK_1815c9b14 + lVar5) ^ (*(uint *)(&UNK_1815c9b10 + lVar5) ^ (*(uint *)(&UNK_1815c9b0c + lVar5) ^ (*(uint *)(&UNK_1815c9b08 + lVar5) ^ (*(uint *)(&UNK_1815c9b04 + lVar5) ^ (*(uint *)(&UNK_1815c9b00 + lVar5) ^ uVar7) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1; uVar7 = uVar2 & 0x30ff; lVar5 = (0x18 - ((longlong)(int)(0x7953 - ((uVar7 + 1) * uVar7 & 0x80000001)) ^ 0x794bU)) + lVar10 ; do { param_1 = -((param_1 ^ 0xffffffffffffffff) + 1); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_58 = (*(uint *)(&UNK_1815c9ae0 + lVar5) ^ (*(uint *)(&UNK_1815c9adc + lVar5) ^ (*(uint *)(&UNK_1815c9ad8 + lVar5) ^ (*(uint *)(&UNK_1815c9ad4 + lVar5) ^ (*(uint *)(&UNK_1815c9ad0 + lVar5) ^ (*(uint *)(&UNK_1815c9acc + lVar5) ^ (*(uint *)(&UNK_1815c9ac8 + lVar5) ^ (*(uint *)(&UNK_1815c9ac4 + lVar5) ^ uVar2) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1; uStack_54 = 0; do { func_0x000180a08dde(0xc314); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); local_48 = (undefined *)0x4209bd110f0ab215; local_50 = (undefined *)CONCAT44(local_50._4_4_,0xf0ab215); uVar2 = (*(uint *)(&UNK_1815c9b5c + lVar5) ^ (*(uint *)(&UNK_1815c9b58 + lVar5) ^ (*(uint *)(&UNK_1815c9b54 + lVar5) ^ (*(uint *)(&UNK_1815c9b50 + lVar5) ^ (*(uint *)(&UNK_1815c9b4c + lVar5) ^ (*(uint *)(&UNK_1815c9b48 + lVar5) ^ (*(uint *)(&UNK_1815c9b44 + lVar5) ^ (*(uint *)(&UNK_1815c9b40 + lVar5) ^ (*(uint *)(&UNK_1815c9b3c + lVar5) ^ (*(uint *)(&UNK_1815c9b38 + lVar5) ^ (*(uint *)(&UNK_1815c9b34 + lVar5) ^ (*(uint *)(&UNK_1815c9b30 + lVar5) ^ (*(uint *)(&UNK_1815c9b2c + lVar5) ^ (*(uint *)(&UNK_1815c9b28 + lVar5) ^ (*(uint *)(&UNK_1815c9b24 + lVar5) ^ (*(uint *)(&UNK_1815c9b20 + lVar5) ^ (*(uint *)(&UNK_1815c9b1c + lVar5) ^ (*(uint *)(&UNK_1815c9b18 + lVar5) ^ (*(uint *)(&UNK_1815c9b14 + lVar5) ^ (*(uint *)(&UNK_1815c9b10 + lVar5) ^ (*(uint *)(&UNK_1815c9b0c + lVar5) ^ (*(uint *)(&UNK_1815c9b08 + lVar5) ^ (*(uint *)(&UNK_1815c9b04 + lVar5) ^ (*(uint *)(&UNK_1815c9b00 + lVar5) ^ (*(uint *)(&UNK_1815c9afc + lVar5) ^ (*(uint *)(&UNK_1815c9af8 + lVar5) ^ (*(uint *)(&UNK_1815c9af4 + lVar5) ^ (*(uint *)(&UNK_1815c9af0 + lVar5) ^ (*(uint *)(&UNK_1815c9aec + lVar5) ^ (*(uint *)(&UNK_1815c9ae8 + lVar5) ^ (*(uint *)(&UNK_1815c9ae4 + lVar5) ^ local_58) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1; _local_58 = CONCAT44(uStack_54,uVar2); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = (uint)local_40 & 0x11ff; uVar8 = (*(uint *)(&UNK_1815c9b60 + lVar5) ^ uVar2) * 0x10001d1; uVar9 = (ulonglong)uVar8; uVar7 = (uVar7 * uVar7 * 0x10 + 4) % 0x13 | (uint)local_40; uVar2 = (uint)(lVar5 + 0xa0) & 0x6f; lVar5 = (((longlong)(ulonglong)(uVar2 * uVar2 * (uVar2 + 1) * (uVar2 + 1) & 2) >> ((byte)uVar8 & 0x1f) | 0x4d5dU) ^ 0x4ddd) + ((ulonglong)((int)(-uVar7 | uVar7) >> 0x1f & 0xc0bd) ^ 0xffffffffffff3f39) + lVar5 + 0xa0; do { uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar2 = (((*(uint *)(&UNK_1815c9ad4 + lVar5) ^ (*(uint *)(&UNK_1815c9ad0 + lVar5) ^ (*(uint *)(&UNK_1815c9acc + lVar5) ^ (*(uint *)(&UNK_1815c9ac8 + lVar5) ^ (*(uint *)(&UNK_1815c9ac4 + lVar5) ^ (*(uint *)(&UNK_1815c9ac0 + lVar5) ^ uVar8) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1) * 0x10001d1 ^ *(uint *)(&UNK_1815c9ad8 + lVar5)) * 0x10001d1 ^ *(uint *)(&UNK_1815c9adc + lVar5)) * 0x10001d1 + 0x4a95a02a; if ((char)(((uVar2 * 0x4000000 | uVar2 >> 6) == 0xf0f54dea) * ';') != '\0') { puVar1 = auStack_78; do { puVar6 = puVar1; *(longlong *)(puVar6 + -8) = lVar10; *(ulonglong *)(puVar6 + -0x10) = uVar11; *(undefined8 *)(puVar6 + -0x18) = uVar3; uVar9 = -((uVar9 ^ 0xffffffffffffffff) + 1); lVar5 = -(longlong)(int)((uVar4 | 0xf1fc) ^ 0xf78c); uVar3 = *(undefined8 *)(puVar6 + lVar5 + 0x658); uVar11 = *(ulonglong *)(puVar6 + lVar5 + 0x660); lVar10 = *(longlong *)(puVar6 + lVar5 + 0x668); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } puVar1 = puVar6 + lVar5 + 0x670; } while (uVar2 != 0); if (((param_1 == 0) || (param_3 == (undefined4 *)0x0)) || (param_4 == 0)) { uVar3 = 99; } else if (param_2 < 0x11) { if (param_2 < 9) { *(undefined8 *)(puVar6 + lVar5 + 0x668) = 0x180a0a267; uVar3 = FUN_180a08b60(param_1,param_2,param_4,uVar9); if ((int)uVar3 == 0) { *param_3 = 0; } } else { *(undefined8 *)(puVar6 + lVar5 + 0x668) = 0x180a0a282; uVar3 = FUN_180a08b60((param_2 - 8) + param_1,8,param_4,uVar9); if ((int)uVar3 == 0) { *(undefined8 *)(puVar6 + lVar5 + 0x668) = 0x180a0a293; uVar3 = FUN_180a08b60(param_1,param_2 - 8,param_3); } } } else { uVar3 = 0x157; } return uVar3; } func_0x000180a0aa00(); uVar3 = thunk_FUN_1805a9280(); return uVar3; } ############ FUN_ 180679d10 size=3586 ############ /* WARNING: Instruction at (ram,0x00018067a6ce) overlaps instruction at (ram,0x00018067a6ca) */ /* WARNING: Removing unreachable block (ram,0x00018067a7ca) */ /* WARNING: Removing unreachable block (ram,0x00018067a11d) */ /* WARNING: Removing unreachable block (ram,0x000180679d81) */ /* WARNING: Removing unreachable block (ram,0x000180679e6e) */ /* WARNING: Removing unreachable block (ram,0x00018067a77a) */ /* WARNING: Removing unreachable block (ram,0x00018067aa71) */ /* WARNING: Removing unreachable block (ram,0x00018067a789) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_180679d10(undefined8 *param_1) { longlong *plVar1; int *piVar2; int iVar3; HANDLE hObject; uint uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint uVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; uint uVar21; uint uVar22; uint uVar23; uint uVar24; longlong *plVar25; code *pcVar26; char cVar27; uint uVar28; uint uVar29; uint uVar30; uint uVar31; uint uVar32; uint uVar33; uint uVar34; uint uVar35; char *pcVar36; byte bVar37; uint uVar38; uint uVar39; uint uVar40; uint uVar41; ulonglong uVar42; ulonglong uVar43; undefined1 *puVar44; ulonglong *puVar45; undefined1 *puVar46; longlong lVar47; longlong lVar48; uint *puVar49; uint *puVar50; uint uVar51; uint uVar52; uint uVar53; uint uVar54; undefined1 *puVar55; undefined1 *puVar56; ulonglong uVar57; int unaff_retaddr; undefined1 auStack_78 [32]; undefined8 local_58; puVar44 = auStack_78; local_58 = 0xfffffffffffffffe; *param_1 = pace::AuthorizationVerifier::vftable; uVar53 = (uint)&stack0x00000000 & 0x71ff; uVar53 = (uVar53 * uVar53 + 1) % 7; if (((ulonglong)&stack0x00000000 & 0x140) == 0) { uVar51 = (uint)&stack0x00000000 & 0x1ff; uVar51 = (uVar51 * uVar51 + 1) % 7; uVar51 = ((int)(-uVar51 | uVar51) >> 0x1f) * -0xba3c; } else { uVar51 = 0xba3c; } uVar57 = (ulonglong)(uVar51 ^ 0xb2dc); uVar54 = ((uint)(DAT_18144e7ec * 0x5bd1e995) >> 0x18 ^ DAT_18144e7ec * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18144e7e8 * 0x5bd1e995) >> 0x18 ^ DAT_18144e7e8 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18144e7e4 * 0x5bd1e995) >> 0x18 ^ DAT_18144e7e4 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18144e7e0 * 0x5bd1e995) >> 0x18 ^ DAT_18144e7e0 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18144e7dc * 0x5bd1e995) >> 0x18 ^ DAT_18144e7dc * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18144e7d8 * 0x5bd1e995) >> 0x18 ^ DAT_18144e7d8 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18144e7d4 * 0x5bd1e995) >> 0x18 ^ DAT_18144e7d4 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18144e7d0 * 0x5bd1e995) >> 0x18 ^ DAT_18144e7d0 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18144e7cc * 0x5bd1e995) >> 0x18 ^ DAT_18144e7cc * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_18144e7c8 * 0x5bd1e995) >> 0x18 ^ DAT_18144e7c8 * 0x5bd1e995) * 0x5bd1e995 ^ 0xb69f0f5d) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; uVar28 = uVar54 & 0x3f; lVar47 = (longlong) (int)(((int)((uVar28 + 1) * (uVar28 + 1) * uVar28 * uVar28 & 0x80000003) >> ((byte)uVar54 & 0x1f)) + 0x8720U ^ 0x87e0); lVar48 = lVar47 + -0x98; uVar28 = ((uint)(*(int *)(&UNK_18144e730 + lVar47) * 0x5bd1e995) >> 0x18 ^ *(int *)(&UNK_18144e730 + lVar47) * 0x5bd1e995) * 0x5bd1e995 ^ uVar54 * 0x5bd1e995; if ((((uVar28 & 0x4ff) * (uVar28 & 0x4ff) * 0x10 + 4) % 0x13 & 0xbc) == 0) { bVar37 = ((char)uVar28 + -1) * (char)uVar28 & 1; } else { bVar37 = (byte)lVar48 & 0x6f; bVar37 = (bVar37 + 1) * (bVar37 + 1) * bVar37 * bVar37 & 2; } puVar49 = (uint *)(lVar48 + ((longlong)(0x21c6 << bVar37) ^ 0x21c2U)); uVar54 = puVar49[0x605139f2]; puVar55 = (undefined1 *)register0x00000020; do { uVar42 = 0xc33c; /* WARNING: Call to offcut address within same function */ lVar47 = func_0x00018067a32b(); uVar38 = (uint)uVar42; if ((lVar47 < 0x647f058f) || ((uVar42 & 0xdf00) != 0)) { func_0x00018067b2ce(); uVar38 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar38 < 0) goto code_r0x00018067a230; } else { uVar29 = (int)lVar47 + 0xe890fb92; pcVar36 = (char *)(ulonglong)uVar29; *pcVar36 = *pcVar36 + (char)uVar29 + (uVar29 < *puVar49); DAT_a45ee9da = DAT_a45ee9da + (char)uVar42; puVar49[1] = puVar49[1] + uVar38; puVar49 = puVar49 + 2; *pcVar36 = *pcVar36 + (char)uVar29; code_r0x00018067a230: uVar38 = (uVar38 - 1 | 0xfffffffe) + 1; } if (uVar38 == 0) { uVar38 = puVar49[0x605139f3]; *(undefined1 *)((longlong)param_1 + 0x59) = 1; uVar29 = puVar49[0x605139f4]; uVar30 = puVar49[0x605139f5]; uVar31 = puVar49[0x605139f6]; uVar32 = puVar49[0x605139f7]; uVar33 = puVar49[0x605139f8]; uVar34 = puVar49[0x605139f9]; uVar35 = puVar49[0x605139fa]; uVar52 = puVar49[0x605139fb]; uVar4 = puVar49[0x605139fc]; uVar5 = puVar49[0x605139fd]; uVar6 = puVar49[0x605139fe]; puVar50 = puVar49 + 0xd; uVar7 = puVar49[0x605139ff]; uVar8 = puVar49[0x60513a00]; do { puVar56 = puVar55 + (longlong)param_1; puVar55 = (undefined1 *)(~((longlong)param_1 - (longlong)puVar56) + 1); param_1 = (undefined8 *)(puVar56 + -(longlong)puVar55); uVar39 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar39 < 0) { uVar39 = (uVar39 - 1 | 0xfffffffe) + 1; } } while (uVar39 != 0); uVar39 = puVar49[0x60513a01]; uVar9 = puVar49[0x60513a02]; uVar10 = puVar49[0x60513a03]; uVar11 = puVar49[0x60513a04]; uVar12 = puVar49[0x60513a05]; uVar13 = puVar49[0x60513a06]; do { uVar40 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar40 < 0) { uVar40 = (uVar40 - 1 | 0xfffffffe) + 1; } } while (uVar40 != 0); uVar40 = puVar49[0x60513a07]; uVar14 = puVar49[0x60513a08]; uVar15 = puVar49[0x60513a09]; uVar16 = puVar49[0x60513a0a]; uVar17 = puVar49[0x60513a0b]; uVar18 = puVar49[0x60513a0c]; uVar19 = puVar49[0x60513a0d]; uVar20 = puVar49[0x60513a0e]; uVar21 = puVar49[0x60513a0f]; uVar22 = puVar49[0x60513a10]; uVar23 = puVar49[0x60513a11]; uVar24 = puVar49[0x60513a12]; do { uVar42 = 0xc33c; *(undefined8 *)(puVar44 + -8) = 0x18067a6ba; cVar27 = FUN_18067ba63(); if ((uVar42 & 0xc1) != 0) { *(char *)puVar50 = cVar27 + -0x48; puVar50 = (uint *)((longlong)puVar50 + 2); puVar45 = (ulonglong *)(puVar44 + -8); puVar44 = puVar44 + -8; *puVar45 = uVar42; } *(undefined8 *)(puVar44 + -8) = 0x18067a6df; FUN_18067aaba(); uVar41 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar41 < 0) { uVar41 = (uVar41 - 1 | 0xfffffffe) + 1; } } while (uVar41 != 0); uVar52 = (puVar50[0x60513a09] * 0x5bd1e995 >> 0x18 ^ puVar50[0x60513a09] * 0x5bd1e995) * 0x5bd1e995 ^ ((puVar50[0x60513a08] * 0x5bd1e995 >> 0x18 ^ puVar50[0x60513a08] * 0x5bd1e995) * 0x5bd1e995 ^ ((puVar50[0x60513a07] * 0x5bd1e995 >> 0x18 ^ puVar50[0x60513a07] * 0x5bd1e995) * 0x5bd1e995 ^ ((puVar50[0x60513a06] * 0x5bd1e995 >> 0x18 ^ puVar50[0x60513a06] * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar24 * 0x5bd1e995 >> 0x18 ^ uVar24 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar23 * 0x5bd1e995 >> 0x18 ^ uVar23 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar22 * 0x5bd1e995 >> 0x18 ^ uVar22 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar21 * 0x5bd1e995 >> 0x18 ^ uVar21 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar20 * 0x5bd1e995 >> 0x18 ^ uVar20 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar19 * 0x5bd1e995 >> 0x18 ^ uVar19 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar18 * 0x5bd1e995 >> 0x18 ^ uVar18 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar17 * 0x5bd1e995 >> 0x18 ^ uVar17 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar16 * 0x5bd1e995 >> 0x18 ^ uVar16 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar15 * 0x5bd1e995 >> 0x18 ^ uVar15 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar14 * 0x5bd1e995 >> 0x18 ^ uVar14 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar40 * 0x5bd1e995 >> 0x18 ^ uVar40 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar13 * 0x5bd1e995 >> 0x18 ^ uVar13 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar12 * 0x5bd1e995 >> 0x18 ^ uVar12 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar11 * 0x5bd1e995 >> 0x18 ^ uVar11 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar10 * 0x5bd1e995 >> 0x18 ^ uVar10 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar9 * 0x5bd1e995 >> 0x18 ^ uVar9 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar39 * 0x5bd1e995 >> 0x18 ^ uVar39 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar8 * 0x5bd1e995 >> 0x18 ^ uVar8 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar7 * 0x5bd1e995 >> 0x18 ^ uVar7 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar6 * 0x5bd1e995 >> 0x18 ^ uVar6 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar5 * 0x5bd1e995 >> 0x18 ^ uVar5 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar4 * 0x5bd1e995 >> 0x18 ^ uVar4 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar52 * 0x5bd1e995 >> 0x18 ^ uVar52 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar35 * 0x5bd1e995 >> 0x18 ^ uVar35 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar34 * 0x5bd1e995 >> 0x18 ^ uVar34 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar33 * 0x5bd1e995 >> 0x18 ^ uVar33 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar32 * 0x5bd1e995 >> 0x18 ^ uVar32 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar31 * 0x5bd1e995 >> 0x18 ^ uVar31 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar30 * 0x5bd1e995 >> 0x18 ^ uVar30 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar29 * 0x5bd1e995 >> 0x18 ^ uVar29 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar38 * 0x5bd1e995 >> 0x18 ^ uVar38 * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar54 * 0x5bd1e995 >> 0x18 ^ uVar54 * 0x5bd1e995) * 0x5bd1e995 ^ uVar28 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; uVar42 = (ulonglong)uVar52; uVar28 = (int)puVar50 + 0x5cU & 0x38ff; lVar47 = (longlong)puVar50 + (((longlong)(int)(((uVar28 + 1) * uVar28 & 0x80000001) + 0x634b) ^ 0x624bU) - 0xa0); uVar28 = *(int *)(lVar47 + 0x18144e7c8) * 0x5bd1e995; uVar54 = *(int *)(lVar47 + 0x18144e7cc) * 0x5bd1e995; uVar38 = *(int *)(lVar47 + 0x18144e7d0) * 0x5bd1e995; uVar29 = *(int *)(lVar47 + 0x18144e7d4) * 0x5bd1e995; uVar30 = *(int *)(lVar47 + 0x18144e7d8) * 0x5bd1e995; uVar31 = *(int *)(lVar47 + 0x18144e7dc) * 0x5bd1e995; *(undefined8 *)(puVar44 + 0x80) = 0x670e8a3d65a057ed; *(int *)(puVar44 + 0x80) = (int)*(undefined8 *)(puVar44 + 0x80); uVar32 = *(int *)(lVar47 + 0x18144e7e0) * 0x5bd1e995; uVar33 = *(int *)(lVar47 + 0x18144e7e4) * 0x5bd1e995; uVar34 = *(int *)(lVar47 + 0x18144e7e8) * 0x5bd1e995; uVar35 = *(int *)(lVar47 + 0x18144e7ec) * 0x5bd1e995; uVar28 = ((uint)(*(int *)(&DAT_18144e7f8 + lVar47) * 0x5bd1e995) >> 0x18 ^ *(int *)(&DAT_18144e7f8 + lVar47) * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(*(int *)(&DAT_18144e7f4 + lVar47) * 0x5bd1e995) >> 0x18 ^ *(int *)(&DAT_18144e7f4 + lVar47) * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(*(int *)(&DAT_18144e7f0 + lVar47) * 0x5bd1e995) >> 0x18 ^ *(int *)(&DAT_18144e7f0 + lVar47) * 0x5bd1e995) * 0x5bd1e995 ^ ((uVar35 >> 0x18 ^ uVar35) * 0x5bd1e995 ^ ((uVar34 >> 0x18 ^ uVar34) * 0x5bd1e995 ^ ((uVar33 >> 0x18 ^ uVar33) * 0x5bd1e995 ^ ((uVar32 >> 0x18 ^ uVar32) * 0x5bd1e995 ^ ((uVar31 >> 0x18 ^ uVar31) * 0x5bd1e995 ^ ((uVar30 >> 0x18 ^ uVar30) * 0x5bd1e995 ^ ((uVar29 >> 0x18 ^ uVar29) * 0x5bd1e995 ^ ((uVar38 >> 0x18 ^ uVar38) * 0x5bd1e995 ^ ((uVar54 >> 0x18 ^ uVar54) * 0x5bd1e995 ^ ((uVar28 >> 0x18 ^ uVar28) * 0x5bd1e995 ^ uVar52 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; do { register0x00000020 = (BADSPACEBASE *)-(((ulonglong)register0x00000020 ^ 0xffffffffffffffff) + 1); uVar54 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar54 < 0) { uVar54 = (uVar54 - 1 | 0xfffffffe) + 1; } } while (uVar54 != 0); uVar54 = ((uint)(*(int *)(&DAT_18144e800 + lVar47) * 0x5bd1e995) >> 0x18 ^ *(int *)(&DAT_18144e800 + lVar47) * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(*(int *)(&DAT_18144e7fc + lVar47) * 0x5bd1e995) >> 0x18 ^ *(int *)(&DAT_18144e7fc + lVar47) * 0x5bd1e995) * 0x5bd1e995 ^ uVar28 * 0x5bd1e995) * 0x5bd1e995; uVar43 = (ulonglong)uVar54; uVar54 = uVar54 * 0x5bd1e995 ^ ((uint)(*(int *)(&DAT_18144e804 + lVar47) * 0x5bd1e995) >> 0x18 ^ *(int *)(&DAT_18144e804 + lVar47) * 0x5bd1e995) * 0x5bd1e995; uVar38 = uVar54 >> 6 | uVar54 << 0x1a; uVar54 = (uVar38 >> 8 ^ uVar38) & 0x1f; uVar38 = uVar38 ^ (uVar54 << 8 | uVar54); if ((char)(((uVar38 << 0x18 | uVar38 >> 8) == *(uint *)(puVar44 + 0x80)) * '\x15') != '\0') { if (*(char *)(param_1 + 0xb) == '\0') { *(undefined8 *)(puVar44 + -8) = 0x18067ab22; FUN_1806863a0(param_1); } puVar55 = puVar44; do { puVar46 = puVar55; *(undefined8 *)(puVar46 + -8) = 0x18067ab2e; lVar48 = (longlong)(int)(uVar51 ^ 0xb2dc); func_0x00018067963e(); *(BADSPACEBASE **)(puVar46 + -8) = register0x00000020; *(ulonglong *)(puVar46 + -0x10) = uVar57; *(longlong *)(puVar46 + -0x18) = lVar47; lVar48 = -lVar48; lVar47 = *(longlong *)(puVar46 + lVar48 + 0x8c8); uVar57 = *(ulonglong *)(puVar46 + lVar48 + 0x8d0); register0x00000020 = *(BADSPACEBASE **)(puVar46 + lVar48 + 0x8d8); uVar53 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar53 < 0) { uVar53 = (uVar53 - 1 | 0xfffffffe) + 1; } puVar55 = puVar46 + lVar48 + 0x8e0; } while (uVar53 != 0); *(undefined8 *)(puVar46 + lVar48 + 0x8d8) = 0x18067ac25; FUN_18067b6e0(param_1 + 0xc); plVar25 = (longlong *)param_1[10]; if (plVar25 != (longlong *)0x0) { LOCK(); plVar1 = plVar25 + 1; lVar47 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar47 == 1) { pcVar26 = *(code **)(*plVar25 + 8); *(undefined8 *)(puVar46 + lVar48 + 0x8d8) = 0x18067ac49; (*pcVar26)(plVar25); LOCK(); piVar2 = (int *)((longlong)plVar25 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { pcVar26 = *(code **)(*plVar25 + 0x10); *(undefined8 *)(puVar46 + lVar48 + 0x8d8) = 0x18067ac5f; (*pcVar26)(plVar25); } } } LOCK(); hObject = (HANDLE)param_1[5]; param_1[5] = 0; UNLOCK(); if (hObject != (HANDLE)0x0) { *(undefined8 *)(puVar46 + lVar48 + 0x8d8) = 0x18067ac72; CloseHandle(hObject); } plVar25 = (longlong *)param_1[2]; if (plVar25 != (longlong *)0x0) { LOCK(); plVar1 = plVar25 + 1; lVar47 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar47 == 1) { pcVar26 = *(code **)(*plVar25 + 8); *(undefined8 *)(puVar46 + lVar48 + 0x8d8) = 0x18067ac91; (*pcVar26)(plVar25); LOCK(); piVar2 = (int *)((longlong)plVar25 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { pcVar26 = *(code **)(*plVar25 + 0x10); *(undefined8 *)(puVar46 + lVar48 + 0x8d8) = 0x18067aca5; (*pcVar26)(plVar25); } } } return; } if (*(char *)(param_1 + 0xb) != '\0') { *(undefined8 *)(puVar44 + -8) = 0x18067aa25; FUN_1806863a0(param_1); } *(ulonglong *)(puVar44 + -8) = uVar43; *(BADSPACEBASE **)(puVar44 + -0x10) = register0x00000020; *(ulonglong *)(puVar44 + -0x18) = (ulonglong)uVar28; thunk_FUN_1805a9280((int)(-uVar53 | uVar53) >> 0x1f & 0xc6edU ^ 0xc52d,thunk_FUN_1805a9280, uVar42); return; } } while( true ); } ############ FUN_ 180a39dc0 size=2657 ############ /* WARNING: Instruction at (ram,0x000180a3a423) overlaps instruction at (ram,0x000180a3a421) */ /* WARNING: Removing unreachable block (ram,0x000180a3a7ee) */ /* WARNING: Removing unreachable block (ram,0x000180a3a41e) */ /* WARNING: Removing unreachable block (ram,0x000180a39ea5) */ /* WARNING: Removing unreachable block (ram,0x000180a39e6b) */ /* WARNING: Removing unreachable block (ram,0x000180a3a02a) */ /* WARNING: Removing unreachable block (ram,0x000180a3a762) */ /* WARNING: Removing unreachable block (ram,0x000180a3a3ad) */ /* WARNING: Removing unreachable block (ram,0x000180a39e24) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_180a39dc0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,ulonglong param_4) { int *piVar1; int iVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; int iVar9; uint uVar10; undefined4 *puVar11; undefined8 *puVar12; undefined4 *puVar13; ulonglong uVar14; undefined1 *puVar15; undefined1 *puVar17; undefined4 *puVar18; undefined8 uVar19; int unaff_retaddr; undefined1 auStack_68 [40]; undefined1 *puVar16; puVar15 = auStack_68; param_1[1] = param_3; *param_1 = license_services::LsObjectRelationVectorBase::vftable; param_1[3] = param_2; uVar10 = (uint)&stack0x00000000 & 0x34ff; *(char *)(param_1 + 2) = (char)param_4; puVar18 = (undefined4 *)(ulonglong)(((uVar10 + 1) * uVar10 + 7) % 0x51); uVar19 = 0x20; puVar11 = &DAT_1811cb71c; do { uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = (((uint)(_UNK_1811cb778 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb778 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb774 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb774 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb770 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb770 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb76c * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb76c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb768 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb768 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb764 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb764 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb760 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb760 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb75c * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb75c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb758 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb758 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb754 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb754 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb750 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb750 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb74c * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb74c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb748 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb748 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb744 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb744 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb740 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb740 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb73c * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb73c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb738 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb738 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb734 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb734 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1811cb730 * 0x5bd1e995) >> 0x18 ^ DAT_1811cb730 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1811cb72c * 0x5bd1e995) >> 0x18 ^ DAT_1811cb72c * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1811cb728 * 0x5bd1e995) >> 0x18 ^ DAT_1811cb728 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1811cb724 * 0x5bd1e995) >> 0x18 ^ DAT_1811cb724 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1811cb720 * 0x5bd1e995) >> 0x18 ^ DAT_1811cb720 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(DAT_1811cb71c * 0x5bd1e995) >> 0x18 ^ DAT_1811cb71c * 0x5bd1e995) * 0x5bd1e995 ^ 0x374329a5) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; uVar14 = (ulonglong)uVar10; puVar17 = (undefined1 *) (ulonglong) (((uint)(_UNK_1811cb780 * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb780 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(_UNK_1811cb77c * 0x5bd1e995) >> 0x18 ^ _UNK_1811cb77c * 0x5bd1e995) * 0x5bd1e995 ^ uVar10) * 0x5bd1e995); do { puVar13 = (undefined4 *)0xde0c; /* WARNING: Call to offcut address within same function */ *(undefined8 *)(puVar15 + -8) = 0x180a3a23a; func_0x000180a39f62(); if (((ulonglong)puVar13 & 0xc2) != 0) { puVar16 = puVar15 + -8; *(undefined1 **)(puVar15 + -8) = puVar17; puVar15 = puVar15 + -0x8550; puVar17 = puVar16; puVar18 = puVar13; param_4 = uVar14; puVar11 = puVar13; } uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); iVar2 = puVar11[0x1a]; iVar3 = puVar11[0x1b]; iVar4 = puVar11[0x1c]; iVar5 = puVar11[0x1d]; iVar6 = puVar11[0x1e]; iVar7 = puVar11[0x1f]; iVar8 = puVar11[0x20]; iVar9 = puVar11[0x21]; *(undefined8 *)(puVar15 + 0x70) = 0xb85c414c216e5318; *(int *)(puVar15 + 0x88) = (int)*(undefined8 *)(puVar15 + 0x70); do { uVar10 = (*(int *)(puVar15 + 0x68) + 1) * *(int *)(puVar15 + 0x68) & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); piVar1 = (int *)(puVar15 + 0x68); do { uVar10 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = (((uint)(puVar11[0x3e] * 0x5bd1e995) >> 0x18 ^ puVar11[0x3e] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x3d] * 0x5bd1e995) >> 0x18 ^ puVar11[0x3d] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x3c] * 0x5bd1e995) >> 0x18 ^ puVar11[0x3c] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x3b] * 0x5bd1e995) >> 0x18 ^ puVar11[0x3b] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x3a] * 0x5bd1e995) >> 0x18 ^ puVar11[0x3a] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x39] * 0x5bd1e995) >> 0x18 ^ puVar11[0x39] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x38] * 0x5bd1e995) >> 0x18 ^ puVar11[0x38] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x37] * 0x5bd1e995) >> 0x18 ^ puVar11[0x37] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x36] * 0x5bd1e995) >> 0x18 ^ puVar11[0x36] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x35] * 0x5bd1e995) >> 0x18 ^ puVar11[0x35] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x34] * 0x5bd1e995) >> 0x18 ^ puVar11[0x34] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x33] * 0x5bd1e995) >> 0x18 ^ puVar11[0x33] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x32] * 0x5bd1e995) >> 0x18 ^ puVar11[0x32] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x31] * 0x5bd1e995) >> 0x18 ^ puVar11[0x31] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x30] * 0x5bd1e995) >> 0x18 ^ puVar11[0x30] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x2f] * 0x5bd1e995) >> 0x18 ^ puVar11[0x2f] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x2e] * 0x5bd1e995) >> 0x18 ^ puVar11[0x2e] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x2d] * 0x5bd1e995) >> 0x18 ^ puVar11[0x2d] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x2c] * 0x5bd1e995) >> 0x18 ^ puVar11[0x2c] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x2b] * 0x5bd1e995) >> 0x18 ^ puVar11[0x2b] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x2a] * 0x5bd1e995) >> 0x18 ^ puVar11[0x2a] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x29] * 0x5bd1e995) >> 0x18 ^ puVar11[0x29] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x28] * 0x5bd1e995) >> 0x18 ^ puVar11[0x28] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x27] * 0x5bd1e995) >> 0x18 ^ puVar11[0x27] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x26] * 0x5bd1e995) >> 0x18 ^ puVar11[0x26] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x25] * 0x5bd1e995) >> 0x18 ^ puVar11[0x25] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x24] * 0x5bd1e995) >> 0x18 ^ puVar11[0x24] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x23] * 0x5bd1e995) >> 0x18 ^ puVar11[0x23] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(puVar11[0x22] * 0x5bd1e995) >> 0x18 ^ puVar11[0x22] * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar9 * 0x5bd1e995) >> 0x18 ^ iVar9 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar8 * 0x5bd1e995) >> 0x18 ^ iVar8 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar7 * 0x5bd1e995) >> 0x18 ^ iVar7 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar6 * 0x5bd1e995) >> 0x18 ^ iVar6 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar5 * 0x5bd1e995) >> 0x18 ^ iVar5 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar4 * 0x5bd1e995) >> 0x18 ^ iVar4 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar3 * 0x5bd1e995) >> 0x18 ^ iVar3 * 0x5bd1e995) * 0x5bd1e995 ^ (((uint)(iVar2 * 0x5bd1e995) >> 0x18 ^ iVar2 * 0x5bd1e995) * 0x5bd1e995 ^ (int)puVar17 * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995) * 0x5bd1e995; if (((((((uint)(puVar11[0x3f] * 0x5bd1e995) >> 0x18 ^ puVar11[0x3f] * 0x5bd1e995) * 0x5bd1e995 ^ uVar10 ^ 0x1596ff29) >> 1) + 0xcd1ecc40) - *(int *)(puVar15 + 0x88)) * 0x2a != 0) { *(int **)(puVar15 + -8) = piVar1; *(undefined4 **)(puVar15 + -0x10) = puVar11; *(ulonglong *)(puVar15 + -0x18) = param_4; puVar12 = (undefined8 *)thunk_FUN_1805a9280(0x20,uVar10,puVar18); return puVar12; } do { *(undefined4 **)(puVar15 + -8) = puVar18; *(undefined4 **)(puVar15 + -0x10) = puVar11; *(undefined8 *)(puVar15 + -0x18) = uVar19; uVar19 = *(undefined8 *)(puVar15 + -0x18); puVar11 = *(undefined4 **)(puVar15 + -0x10); puVar18 = *(undefined4 **)(puVar15 + -8); uVar10 = (*piVar1 + 1) * *piVar1 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); return param_1; } ############ FUN_ 180969f30 size=1845 ############ /* WARNING: Instruction at (ram,0x00018096a532) overlaps instruction at (ram,0x00018096a530) */ /* WARNING: Removing unreachable block (ram,0x00018096a52d) */ /* WARNING: Removing unreachable block (ram,0x00018096a2b5) */ /* WARNING: Removing unreachable block (ram,0x00018096a1b4) */ /* WARNING: Removing unreachable block (ram,0x00018096a2e6) */ /* WARNING: Removing unreachable block (ram,0x00018096a6ce) */ /* WARNING: Removing unreachable block (ram,0x00018096a28f) */ ulonglong FUN_180969f30(undefined8 param_1,undefined4 param_2) { int iVar1; int iVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; int iVar9; int iVar10; int iVar11; int iVar12; int iVar13; int iVar14; int iVar15; int iVar16; int iVar17; int iVar18; int iVar19; int iVar20; int iVar21; int iVar22; int iVar23; int iVar24; int iVar25; int iVar26; int iVar27; int iVar28; int iVar29; int iVar30; int iVar31; int iVar32; undefined1 *puVar33; int iVar34; ulonglong uVar35; longlong lVar36; ulonglong uVar37; int *piVar38; undefined1 *puVar39; int *piVar40; int iVar41; ulonglong uVar42; uint uVar43; uint uVar44; uint uVar45; ulonglong uVar47; int unaff_retaddr; uint local_res10 [2]; undefined8 local_res18 [2]; ulonglong auStack_88 [4]; undefined1 auStack_68 [32]; undefined *local_48; ulonglong uVar46; iVar41 = DAT_1805fa89c; uVar43 = (uint)&stack0x00000000 & 0x1ff; uVar44 = (uint)&stack0x00000000 & 0x16ff; uVar35 = (ulonglong) (((uVar43 + 2) * (uVar43 + 1) * uVar43) % 3 | ((uVar44 + 1) * uVar44 + 7) % 0x51); local_48 = &DAT_1805fa99c; do { FUN_18096b3e2(); FUN_18096a705(); uVar43 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar43 < 0) { uVar43 = (uVar43 - 1 | 0xfffffffe) + 1; } } while (uVar43 != 0); do { uVar43 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar43 < 0) { uVar43 = (uVar43 - 1 | 0xfffffffe) + 1; } } while (uVar43 != 0); iVar41 = (((((iVar41 * 0x97 + DAT_1805fa8a0) * 0x97 + DAT_1805fa8a4) * 0x97 + DAT_1805fa8a8) * 0x97 + DAT_1805fa8ac) * 0x97 + DAT_1805fa8b0) * 0x97 + DAT_1805fa8b4; piVar38 = &DAT_1805fa8b8; puVar33 = auStack_68; do { puVar39 = puVar33; *(undefined4 **)(puVar39 + -8) = &DAT_1805fa8b8; uVar43 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar43 < 0) { uVar43 = (uVar43 - 1 | 0xfffffffe) + 1; } puVar33 = puVar39 + -8; } while (uVar43 != 0); lVar36 = 0xb; do { iVar41 = (iVar41 * 0x97 + *piVar38) * 0x97 + piVar38[1]; piVar38 = piVar38 + 2; lVar36 = lVar36 + -1; } while (lVar36 != 0); do { uVar43 = (*(int *)(puVar39 + 0x60) + 1) * *(int *)(puVar39 + 0x60) & 0x80000001; if ((int)uVar43 < 0) { uVar43 = (uVar43 - 1 | 0xfffffffe) + 1; } } while (uVar43 != 0); uVar45 = iVar41 * 0x97 + *piVar38; uVar46 = (ulonglong)uVar45; uVar43 = uVar45 & 0x6f; uVar44 = (uVar43 + 1) * (uVar43 + 1) * uVar43 * uVar43 & 0x80000003; uVar42 = (ulonglong)uVar44; uVar47 = (ulonglong)*(uint *)(puVar39 + 0x78); uVar43 = (uint)piVar38 & 0x1aff; piVar40 = (int *)(puVar39 + 0x60); piVar38 = (int *)((longlong)piVar38 + (((longlong)(int)(0x3ba6 - uVar44) ^ 0x3b62U) - (0xeeacL >> ((char)((byte)(-((uVar43 + 1) * uVar43 + 0x2255 & 0x80000001) >> 0x18) ^ 0xff) >> 7 & 0x3fU) ^ 0xee6cU))); iVar41 = *piVar38; iVar1 = piVar38[1]; do { uVar37 = 0; *(undefined8 *)(puVar39 + -0x10) = 0x18096a36b; iVar34 = FUN_18096b374(); lVar36 = (uVar42 ^ 0xffffffffffffffff) + 1; if ((lVar36 == 0) && ((uVar37 & 0x42) != 0)) { return (ulonglong) CONCAT31((int3)((uint)(iVar34 + *(int *)(puVar39 + 0x3204eb64)) >> 8), (char)(iVar34 + *(int *)(puVar39 + 0x3204eb64)) + '$'); } uVar42 = -lVar36; uVar43 = (*piVar40 + 1) * *piVar40 & 0x80000001; if ((int)uVar43 < 0) { uVar43 = (uVar43 - 1 | 0xfffffffe) + 1; } } while (uVar43 != 0); iVar34 = piVar38[2]; iVar2 = piVar38[3]; iVar3 = piVar38[4]; iVar4 = piVar38[5]; iVar5 = piVar38[6]; iVar6 = piVar38[7]; iVar7 = piVar38[8]; iVar8 = piVar38[9]; iVar9 = piVar38[10]; iVar10 = piVar38[0xb]; iVar11 = piVar38[0xc]; iVar12 = piVar38[0xd]; iVar13 = piVar38[0xe]; iVar14 = piVar38[0xf]; iVar15 = piVar38[0x10]; iVar16 = piVar38[0x11]; iVar17 = piVar38[0x12]; iVar18 = piVar38[0x13]; iVar19 = piVar38[0x14]; iVar20 = piVar38[0x15]; iVar21 = piVar38[0x16]; iVar22 = piVar38[0x17]; iVar23 = piVar38[0x18]; iVar24 = piVar38[0x19]; iVar25 = piVar38[0x1a]; iVar26 = piVar38[0x1b]; iVar27 = piVar38[0x1c]; iVar28 = piVar38[0x1d]; iVar29 = piVar38[0x1e]; iVar30 = piVar38[0x1f]; iVar31 = piVar38[0x20]; iVar32 = piVar38[0x21]; *(undefined8 *)(puVar39 + 0x80) = 0x66ec9dfee408c508; *(int *)(puVar39 + 0x80) = (int)*(undefined8 *)(puVar39 + 0x80); do { uVar43 = (*piVar40 + 1) * *piVar40 & 0x80000001; if ((int)uVar43 < 0) { uVar43 = (uVar43 - 1 | 0xfffffffe) + 1; } } while (uVar43 != 0); uVar43 = (((((((((((((((((((((((((((((((((uVar45 * 0x97 + iVar41) * 0x97 + iVar1) * 0x97 + iVar34) * 0x97 + iVar2) * 0x97 + iVar3) * 0x97 + iVar4) * 0x97 + iVar5) * 0x97 + iVar6) * 0x97 + iVar7) * 0x97 + iVar8) * 0x97 + iVar9) * 0x97 + iVar10) * 0x97 + iVar11) * 0x97 + iVar12) * 0x97 + iVar13) * 0x97 + iVar14) * 0x97 + iVar15) * 0x97 + iVar16) * 0x97 + iVar17) * 0x97 + iVar18) * 0x97 + iVar19) * 0x97 + iVar20) * 0x97 + iVar21) * 0x97 + iVar22) * 0x97 + iVar23) * 0x97 + iVar24) * 0x97 + iVar25) * 0x97 + iVar26) * 0x97 + iVar27) * 0x97 + iVar28) * 0x97 + iVar29) * 0x97 + iVar30) * 0x97 + iVar31) * 0x97 + iVar32 ^ 0xe7631510; uVar44 = (uVar43 >> 6 | uVar43 << 0x1a) ^ 0x1d066f92; uVar43 = ~(*(uint *)(puVar39 + 0x80) & uVar44); if ((~(uVar43 & *(uint *)(puVar39 + 0x80)) & ~(uVar43 & uVar44)) == 0xffffffff) { do { *(ulonglong *)(puVar39 + -0x10) = uVar46; *(int **)(puVar39 + -0x18) = piVar40; *(ulonglong *)(puVar39 + -0x20) = uVar35; uVar47 = ~((uVar47 ^ 0xffffffffffffffff) + 1) + 1; uVar35 = *(ulonglong *)(puVar39 + -0x20); piVar40 = *(int **)(puVar39 + -0x18); uVar46 = *(ulonglong *)(puVar39 + -0x10); uVar43 = (*piVar40 + 1) * *piVar40 & 0x80000001; if ((int)uVar43 < 0) { uVar43 = (uVar43 - 1 | 0xfffffffe) + 1; } } while (uVar43 != 0); uVar35 = FUN_18096a760(param_1,param_2,uVar47 & 0xffffffff); return uVar35; } *(undefined8 *)(puVar39 + -0x10) = 0x18096a599; FUN_18096b374(); *(ulonglong *)(puVar39 + -0x10) = uVar46; *(ulonglong *)(puVar39 + -0x18) = uVar47; *(undefined8 *)(puVar39 + -0x20) = param_1; uVar35 = thunk_FUN_1805a9280(); return uVar35; } ############ FUN_ 180a59120 size=2464 ############ /* WARNING: Removing unreachable block (ram,0x000180a597a0) */ /* WARNING: Removing unreachable block (ram,0x000180a59233) */ /* WARNING: Removing unreachable block (ram,0x000180a59a2e) */ /* WARNING: Removing unreachable block (ram,0x000180a59ad1) */ undefined8 FUN_180a59120(void) { undefined8 uVar1; uint uVar2; int iVar3; uint uVar4; longlong lVar5; longlong lVar6; undefined1 *puVar7; uint uVar8; ulonglong uVar9; uint uVar10; uint uVar11; ulonglong uVar12; uint uVar13; int *piVar14; ulonglong uVar15; int *piVar16; int unaff_retaddr; undefined1 auStack_58 [32]; puVar7 = auStack_58; uVar2 = (uint)&stack0x00000000 & 0x64ff; iVar3 = uVar2 * uVar2 + 1; uVar2 = (uint)&stack0x00000000 & 0x4ff; uVar4 = (iVar3 >> 4) + (iVar3 >> 1) + iVar3 * 0x24924924 >> 0x1d; uVar2 = (uVar2 + 1) * uVar2 + 0x5117 & 0x80000001 | (int)(uVar4 - 7) >> 0x1f & uVar4; uVar15 = (ulonglong)(~((int)(-uVar2 | uVar2) >> 0x1f & 0xffffefffU) & 0x9889); lVar6 = 7; uVar2 = (DAT_181180668 + 0x21ed87a6) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_18118066c) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_181180670) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_181180674) * -0x395b586d; do { FUN_180a576b5(0x5020); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = (DAT_181180678 + (uVar2 ^ uVar2 >> 0x10)) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_18118067c) * -0x395b586d; do { lVar5 = uVar15 + lVar6; uVar15 = (lVar6 - lVar5 ^ 0xffffffffffffffffU) + 1; lVar6 = lVar5 - uVar15; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); lVar6 = 0x11; uVar2 = (DAT_181180680 + (uVar2 ^ uVar2 >> 0x10)) * -0x395b586d; piVar14 = &DAT_181180680; do { piVar16 = piVar14; piVar14 = piVar16 + 1; uVar2 = ((uVar2 ^ uVar2 >> 0x10) + *piVar14) * -0x395b586d; lVar6 = lVar6 + -1; } while (lVar6 != 0); piVar16 = piVar16 + 2; do { FUN_180a5a5b9(0x5020); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (*piVar16 + (uVar2 ^ uVar2 >> 0x10)) * -0x395b586d; uVar4 = uVar4 ^ uVar4 >> 0x10; uVar2 = uVar4 & 0x8ff; uVar2 = (uVar2 * uVar2 * 0x10 + 4) % 0x13; lVar6 = 7; piVar16 = (int *)((longlong)piVar16 + (0x44 - (ulonglong)(((int)(-uVar2 | uVar2) >> 0x1f ^ 0xffffffbfU) & 0x1355))); uVar2 = (*piVar16 + uVar4) * -0x395b586d; do { piVar14 = piVar16 + 1; piVar16 = piVar16 + 2; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *piVar14) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *piVar16) * -0x395b586d; lVar6 = lVar6 + -1; } while (lVar6 != 0); uVar2 = uVar2 ^ uVar2 >> 0x10; uVar8 = (uint)piVar16 & 0x1f; uVar4 = uVar8 | 2; uVar11 = uVar2 & 0x17f; uVar8 = uVar8 | 0x2b; uVar10 = (uint)piVar16 & 0x7f | 0x28; uVar4 = (uVar4 * uVar4 * 0xa10b == 0x17dda17) + 1; uVar13 = (((uVar2 & 0x32ff) + 1) * (uVar2 & 0x32ff) + 7) % 0x51; piVar16 = (int *)((longlong)piVar16 + ((longlong) (int)(((uint)(uVar8 * uVar8 * 0xeaf5 == uVar10 * uVar10 * 0x6d2b) - ((uVar11 + 2) * (uVar11 + 1) * uVar11) % 3) + 0xdded) ^ 0xffffffffffff22e9U) + ((ulonglong)((int)(-uVar13 | uVar13) >> 0x1f & 0xd766) ^ (longlong)(((int)(-uVar4 | uVar4) >> 0x1f) * -0xd666))); uVar2 = (*piVar16 + uVar2) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + piVar16[1]) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + piVar16[2]) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + piVar16[3]) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + piVar16[4]) * -0x395b586d; uVar2 = uVar2 ^ uVar2 >> 0x10; if ((uVar2 & 0x660) == 0) { uVar4 = uVar2 & 0x3f; iVar3 = (uVar4 + 2) * (uVar4 + 1) * uVar4; uVar4 = ((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e; } else { uVar4 = ((uVar2 & 0x63ff) + 1) * (uVar2 & 0x63ff) & 0x80000001; } lVar6 = 0xd; piVar14 = (int *)((((longlong)(int)uVar4 ^ 100U) - 0x60) + (longlong)(piVar16 + 4)); uVar2 = (*piVar14 + uVar2) * -0x395b586d; do { piVar14 = piVar14 + 1; uVar2 = ((uVar2 ^ uVar2 >> 0x10) + *piVar14) * -0x395b586d; lVar6 = lVar6 + -1; } while (lVar6 != 0); uVar2 = uVar2 ^ uVar2 >> 0x10; if ((uVar2 & 0x27) == 0) { uVar4 = (((uVar2 & 0x12ff) + 1) * (uVar2 & 0x12ff) + 7) % 0x51; } else { uVar4 = 1; } uVar12 = (ulonglong)uVar4; uVar9 = (longlong)(((int)(-uVar4 | uVar4) >> 0x1f) * -0x8a97) ^ 0x8aa7; piVar16 = (int *)((longlong)piVar14 + (uVar9 - 0x2c)); uVar2 = (*piVar16 + uVar2) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)((longlong)piVar14 + (uVar9 - 0x28))) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)((longlong)piVar14 + (uVar9 - 0x24))) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)((longlong)piVar14 + (uVar9 - 0x20))) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + *(int *)((longlong)piVar14 + (uVar9 - 0x1c))) * -0x395b586d; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = (uVar2 ^ uVar2 >> 0x10) + 0x7920d467; uVar4 = (uVar2 >> 8 ^ uVar2) >> 2 & 0x1f; uVar2 = ((uVar4 << 8 | uVar4) << 2 ^ uVar2) + 0x3c2e4e47; uVar4 = uVar2 * 0x400000 | uVar2 >> 10; uVar9 = (ulonglong)uVar4; uVar2 = (uVar2 & 0x3ff ^ uVar4) & 0x1f; if ((((uVar2 << 0x16 | uVar2) ^ uVar4) + 0x52566ea2) * 0x3c != 0) { uVar1 = thunk_FUN_1805a9280(); return uVar1; } do { *(undefined8 *)(puVar7 + -8) = 0x180a599d8; lVar6 = (longlong)(int)uVar15; FUN_180a581da(); *(ulonglong *)(puVar7 + -8) = uVar12; *(ulonglong *)(puVar7 + -0x10) = uVar9; *(int **)(puVar7 + -0x18) = piVar16; lVar6 = -lVar6; piVar16 = *(int **)(puVar7 + lVar6 + 0xfe8); uVar9 = *(ulonglong *)(puVar7 + lVar6 + 0xff0); uVar12 = *(ulonglong *)(puVar7 + lVar6 + 0xff8); puVar7 = puVar7 + lVar6 + 0x1000; uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); return 0x76; } ############ FUN_ 1807d94d0 size=2377 ############ /* WARNING: Instruction at (ram,0x0001807d9ca0) overlaps instruction at (ram,0x0001807d9c9f) */ /* WARNING: Removing unreachable block (ram,0x0001807d9c26) */ /* WARNING: Removing unreachable block (ram,0x0001807d97d5) */ /* WARNING: Removing unreachable block (ram,0x0001807d9563) */ /* WARNING: Removing unreachable block (ram,0x0001807d9644) */ /* WARNING: Removing unreachable block (ram,0x0001807d9a54) */ /* WARNING: Removing unreachable block (ram,0x0001807d9e8a) */ /* WARNING: Removing unreachable block (ram,0x0001807d95ea) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ ulonglong FUN_1807d94d0(longlong param_1,longlong *param_2) { longlong lVar1; int *piVar2; ulonglong uVar3; int iVar4; int iVar5; uint uVar6; uint uVar7; int iVar8; int iVar9; int iVar10; int iVar11; int iVar12; int iVar13; int iVar14; uint uVar15; ulonglong uVar16; uint uVar17; uint uVar18; undefined1 *puVar19; uint uVar20; ulonglong uVar21; longlong lVar22; undefined1 *puVar23; longlong lVar24; ulonglong uVar25; ulonglong uVar26; bool bVar27; char cVar28; char cVar29; uint unaff_retaddr; undefined1 auStack_78 [32]; undefined8 local_58; int *local_50; puVar19 = auStack_78; uVar17 = (uint)&stack0x00000000; uVar20 = uVar17 & 0x13f; lVar22 = 0; if (((ulonglong)&stack0x00000000 & 0x180) == 0) { uVar17 = ((uVar17 & 0x1fff) + 1) * (uVar17 & 0x1fff) + 0x4dff & 0x80000001; } else { iVar4 = (uVar17 & 0x21ff) * (uVar17 & 0x21ff) + 1; uVar17 = (iVar4 >> 4) + (iVar4 >> 1) + iVar4 * 0x24924924 >> 0x1d; uVar17 = (int)(uVar17 - 7) >> 0x1f & uVar17; } iVar4 = (**(code **)(*param_2 + 0x18))(param_2,"AuthorizationFull_sendEncryptedCommand_pargs"); local_50 = (int *)0x181592718; local_58 = 0x181592818; iVar5 = (**(code **)(*param_2 + 0x28))(param_2,"_input",0xc); piVar2 = local_50; uVar6 = (*local_50 + -0x422ec6f7) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[1]) * -0x395b586d; uVar18 = ((uVar6 >> 0x10 ^ uVar6) + local_50[2]) * -0x395b586d; uVar7 = uVar18 >> 0x10; uVar6 = uVar7; do { if (uVar6 < 0x6639) { register0x00000020 = (BADSPACEBASE *)(~(~(ulonglong)register0x00000020 + 1) + 1); } uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } uVar6 = unaff_retaddr; } while (uVar15 != 0); uVar6 = (local_50[3] + (uVar18 ^ uVar7)) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[4]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[5]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[6]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[7]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[8]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[9]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[10]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0xb]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0xc]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0xd]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0xe]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0xf]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x10]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x11]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x12]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x13]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x14]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x15]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x16]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x17]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x18]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x19]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x1a]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x1b]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x1c]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x1d]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x1e]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x1f]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x20]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x21]) * -0x395b586d; uVar6 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x22]) * -0x395b586d; lVar24 = (longlong)(int)(-(((uVar20 + 2) * (uVar20 + 1) * uVar20) % 3) ^ 0x6d0); uVar20 = ((uVar6 >> 0x10 ^ uVar6) + local_50[0x23]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + local_50[0x24]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + local_50[0x25]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + local_50[0x26]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + local_50[0x27]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + local_50[0x28]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + local_50[0x29]) * -0x395b586d; do { puVar23 = (undefined1 *)((longlong)register0x00000020 + lVar22); lVar22 = ~((longlong)register0x00000020 - (longlong)puVar23) + 1; register0x00000020 = (BADSPACEBASE *)(puVar23 + -lVar22); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar20 = (local_50[0x2a] + (uVar20 ^ uVar20 >> 0x10)) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + local_50[0x2b]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + local_50[0x2c]) * -0x395b586d; iVar8 = FUN_1807b6230(*(undefined8 *)(param_1 + 8),param_2); iVar9 = (**(code **)(*param_2 + 0x30))(param_2); uVar21 = 10000; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x2d]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x2e]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x2f]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x30]) * -0x395b586d; iVar10 = (**(code **)(*param_2 + 0x28))(param_2,"inClientBuiltVersion",8); uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x31]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x32]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x33]) * -0x395b586d; iVar11 = (**(code **)(*param_2 + 0x88))(param_2,**(undefined4 **)(param_1 + 0x10)); iVar12 = (**(code **)(*param_2 + 0x30))(param_2); uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x34]) * -0x395b586d; iVar13 = (**(code **)(*param_2 + 0x38))(param_2); uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x35]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x36]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x37]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x38]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x39]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x3a]) * -0x395b586d; iVar14 = (**(code **)(*param_2 + 0x20))(param_2); uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x3b]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x3c]) * -0x395b586d; do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar20 = (piVar2[0x3d] + (uVar20 ^ uVar20 >> 0x10)) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x3e]) * -0x395b586d; uVar20 = ((uVar20 >> 0x10 ^ uVar20) + piVar2[0x3f]) * -0x395b586d; uVar20 = uVar20 ^ uVar20 >> 0x10; bVar27 = uVar20 == 0; uVar25 = (ulonglong) (uint)(iVar4 + iVar5 + iVar8 + iVar9 + iVar10 + iVar11 + iVar12 + iVar13 + iVar14); uVar6 = uVar20; do { cVar29 = '\0'; cVar28 = (int)uVar6 < 0; uVar16 = 0; /* WARNING: Call to offcut address within same function */ uVar6 = func_0x0001807d9c7e(); uVar3 = uVar25; uVar26 = uVar21; if (bVar27 || cVar29 != cVar28) { if ((uVar16 & 0x41) == 0) goto LAB_1807d9ca4_3; } else if (((uVar16 & 0xc2) == 0) || ((uVar6 & 0xc1f60aeb) == 0)) { LAB_1807d9ca4_3: uVar3 = uVar21; uVar26 = uVar25; } uVar21 = uVar3; FUN_1807dbb3f(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } bVar27 = false; uVar25 = uVar26; if (uVar6 == 0) { uVar20 = uVar20 + 0x4abee987; uVar6 = (uVar20 >> 9 ^ uVar20) & 0xff; if (((uVar6 << 9 | uVar6) ^ uVar20) != 0x6934f496) { FUN_1807da36c(); uVar21 = thunk_FUN_1805a9280(); return uVar21; } do { *(longlong *)(puVar19 + -8) = lVar24; *(longlong *)(puVar19 + -0x10) = lVar22; *(BADSPACEBASE **)(puVar19 + -0x18) = register0x00000020; lVar1 = -(longlong)(int)(((int)(-uVar17 | uVar17) >> 0x1f) * -0xdeec ^ 0xd97c); register0x00000020 = *(BADSPACEBASE **)(puVar19 + lVar1 + 0x778); lVar22 = *(longlong *)(puVar19 + lVar1 + 0x780); lVar24 = *(longlong *)(puVar19 + lVar1 + 0x788); puVar19 = puVar19 + lVar1 + 0x790; uVar20 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar20 < 0) { uVar20 = (uVar20 - 1 | 0xfffffffe) + 1; } } while (uVar20 != 0); return uVar26 & 0xffffffff; } } while( true ); } ############ FUN_ 1807e88a0 size=2694 ############ /* WARNING: Removing unreachable block (ram,0x0001807e8926) */ /* WARNING: Removing unreachable block (ram,0x0001807e88df) */ /* WARNING: Removing unreachable block (ram,0x0001807e8cfd) */ void FUN_1807e88a0(longlong param_1) { longlong *plVar1; int *piVar2; longlong *plVar3; uint uVar4; uint uVar5; uint uVar6; undefined1 *puVar7; longlong lVar8; uint uVar9; undefined1 *puVar10; undefined8 uVar11; ulonglong uVar12; undefined8 uVar13; undefined8 uVar14; uint uVar15; int iVar16; undefined1 *puVar17; uint unaff_retaddr; undefined1 auStack_88 [32]; undefined8 local_68; undefined8 local_60; longlong *local_58; puVar10 = auStack_88; local_68 = 0xfffffffffffffffe; uVar11 = 0x4e0; uVar15 = 0x300; *(undefined1 *)(param_1 + 8) = 0; local_60 = *(undefined8 *)(param_1 + 0x1c8); *(undefined8 *)(param_1 + 0x1c8) = 0; plVar3 = *(longlong **)(param_1 + 0x1d0); *(undefined8 *)(param_1 + 0x1d0) = 0; local_58 = plVar3; if (plVar3 != (longlong *)0x0) { LOCK(); plVar1 = plVar3 + 1; lVar8 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar8 == 1) { (**(code **)(*plVar3 + 8))(plVar3); LOCK(); piVar2 = (int *)((longlong)plVar3 + 0xc); iVar16 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar16 == 1) { (**(code **)(*plVar3 + 0x10))(plVar3); } } } puVar17 = &DAT_c6a4a793; uVar4 = (DAT_1811a9700 + -0x50d7cc65) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9704) * -0x395b586d; uVar14 = 0; *(undefined4 *)(param_1 + 0x28) = 0; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9708) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a970c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9710) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9714) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9718) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a971c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9720) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9724) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9728) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a972c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9730) * -0x395b586d; *(undefined4 *)(param_1 + 0x2c) = 0; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9734) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9738) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a973c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9740) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9744) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9748) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a974c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9750) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9754) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9758) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a975c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9760) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9764) * -0x395b586d; do { FUN_1807e7ecb(); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = (DAT_1811a9768 + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a976c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9770) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9774) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9778) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a977c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9780) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9784) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9788) * -0x395b586d; lVar8 = 0; uVar13 = 0x80; memset((void *)(param_1 + 0x30),0,0x80); uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a978c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9790) * -0x395b586d; uVar9 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a9794) * -0x395b586d; uVar5 = uVar9 >> 0x10; uVar4 = uVar5; do { if (uVar4 != 0x4230) { uVar15 = -(~uVar15 + 1); } uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } uVar4 = unaff_retaddr; } while (uVar6 != 0); uVar4 = (DAT_1811a9798 + (uVar9 ^ uVar5)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a979c) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97a0) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97a4) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97a8) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97ac) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97b0) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97b4) * -0x395b586d; do { /* WARNING: Call to offcut address within same function */ func_0x0001807e8cdc(0x4230); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = (DAT_1811a97b8 + (uVar4 ^ uVar4 >> 0x10)) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97bc) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97c0) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97c4) * -0x395b586d; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97c8) * -0x395b586d; do { puVar7 = puVar17 + lVar8; puVar17 = (undefined1 *)(~(lVar8 - (longlong)puVar7) + 1); lVar8 = (longlong)puVar7 - (longlong)puVar17; uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); iVar16 = (int)puVar17; uVar4 = (DAT_1811a97cc + (uVar4 ^ uVar4 >> 0x10)) * iVar16; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97d0) * iVar16; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97d4) * iVar16; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97d8) * iVar16; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97dc) * iVar16; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97e0) * iVar16; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97e4) * iVar16; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97e8) * iVar16; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97ec) * iVar16; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97f0) * iVar16; uVar5 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97f4) * iVar16; uVar4 = ((uVar5 >> 0x10 ^ uVar5) + DAT_1811a97f8) * iVar16; uVar4 = ((uVar4 >> 0x10 ^ uVar4) + DAT_1811a97fc) * iVar16; uVar4 = uVar4 >> 0x10 ^ uVar4; uVar12 = (ulonglong)uVar4; uVar9 = (uVar4 >> 0xd ^ uVar4) & 0xfff; *(undefined8 *)(param_1 + 0xb0) = 0; *(undefined8 *)(param_1 + 0xb8) = 0; FUN_18070ac10(param_1 + 0xc0,uVar5,uVar13); do { FUN_1807e888e(0x4230); uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); *(undefined4 *)(param_1 + 0x130) = 0xffffffff; *(undefined8 *)(param_1 + 0x138) = 0; if ((((uVar9 << 0xd | uVar9) ^ uVar4 ^ 0x5e220846) + 0x93b9eb25) * 0x33 == 0) { *(undefined4 *)(param_1 + 0x134) = 0xffffffff; memset((void *)(param_1 + 0x140),0,0x60); *(undefined8 *)(param_1 + 0x1a0) = 0; *(undefined8 *)(param_1 + 0x1a8) = 0; *(undefined8 *)(param_1 + 0x1b0) = 0; *(undefined8 *)(param_1 + 0x1b8) = 0; *(undefined8 *)(param_1 + 0x1c0) = 0; do { *(undefined8 *)(puVar10 + -8) = 0x1807e91fc; lVar8 = (longlong)(int)uVar15; FUN_1807e9f44(); *(undefined8 *)(puVar10 + -8) = uVar14; *(undefined8 *)(puVar10 + -0x10) = uVar11; *(ulonglong *)(puVar10 + -0x18) = uVar12; lVar8 = -lVar8; uVar12 = *(ulonglong *)(puVar10 + lVar8 + 0x2e8); uVar11 = *(undefined8 *)(puVar10 + lVar8 + 0x2f0); uVar14 = *(undefined8 *)(puVar10 + lVar8 + 0x2f8); puVar10 = puVar10 + lVar8 + 0x300; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); return; } *(undefined4 *)(param_1 + 0x134) = 0xc37df8e6; memset((void *)(param_1 + 0x140),0,0x60); *(undefined8 *)(param_1 + 0x1a0) = 0; *(undefined8 *)(param_1 + 0x1a8) = 0; *(undefined8 *)(param_1 + 0x1b0) = 0; *(undefined8 *)(param_1 + 0x1b8) = 0; *(undefined8 *)(param_1 + 0x1c0) = 0; thunk_FUN_1805a9280(); return; } ############ FUN_ 1807a88ac size=1578 ############ /* WARNING: Instruction at (ram,0x0001807a8cc1) overlaps instruction at (ram,0x0001807a8cbf) */ /* WARNING: Removing unreachable block (ram,0x0001807a8cbf) */ /* WARNING: Removing unreachable block (ram,0x0001807a8ae2) */ /* WARNING: Removing unreachable block (ram,0x0001807a8f8a) */ ulonglong FUN_1807a88ac(uint param_1,ulonglong param_2,undefined8 param_3,longlong param_4) { undefined1 uVar1; code *pcVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; int iVar9; ulonglong uVar10; uint uVar11; uint uVar12; longlong unaff_RBX; undefined1 *puVar13; undefined1 *puVar14; int unaff_EBP; longlong *unaff_RSI; int unaff_EDI; undefined8 uVar15; ulonglong in_R10; longlong lVar16; undefined8 uVar17; longlong lVar18; longlong unaff_R14; int *unaff_R15; longlong lVar19; int *piVar20; int in_stack_00000078; int in_stack_00000080; int in_stack_00000088; int in_stack_00000090; lVar16 = (in_R10 ^ 0xffffffffffffffff) + 1; param_4 = param_4 - lVar16; if ((param_1 & 0x40) == 0) { param_4 = param_4 + lVar16; } else { param_2 = (ulonglong)((int)param_2 - param_1); } uVar11 = (*unaff_R15 + 1) * *unaff_R15 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } if (uVar11 != 0) { uVar10 = FUN_1807a88ac(0xf730,param_2,param_3,param_4); return uVar10; } iVar3 = (**(code **)(*unaff_RSI + 0x30))(); uVar11 = (*(int *)(unaff_RBX + 0x44) + unaff_EDI) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x48)) * 0x401; iVar4 = (**(code **)(*unaff_RSI + 0x28))(); uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x4c)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x50)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x54)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x58)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x5c)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x60)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 100)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x68)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x6c)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x70)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x74)) * 0x401; iVar5 = FUN_1809c7650(unaff_R14 + 0x28); uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x78)) * 0x401; iVar6 = (**(code **)(*unaff_RSI + 0x30))(); uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x7c)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x80)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x84)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x88)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x8c)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x90)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x94)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x98)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0x9c)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xa0)) * 0x401; do { uVar12 = (in_stack_00000078 + 1) * in_stack_00000078 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); lVar16 = 3; uVar11 = (*(int *)(unaff_RBX + 0xa4) + (uVar11 ^ uVar11 >> 6)) * 0x401; uVar15 = 10; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xa8)) * 0x401; iVar7 = (**(code **)(*unaff_RSI + 0x28))(); lVar18 = (longlong)in_stack_00000088; piVar20 = &stack0x00000078; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xac)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xb0)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xb4)) * 0x401; do { FUN_1807a88ab(); lVar19 = lVar16 + (longlong)piVar20; lVar16 = ((longlong)piVar20 - lVar19 ^ 0xffffffffffffffffU) + 1; piVar20 = (int *)(lVar19 - lVar16); uVar12 = (*piVar20 + 1) * *piVar20 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar11 = (*(int *)(unaff_RBX + 0xb8) + (uVar11 ^ uVar11 >> 6)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xbc)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xc0)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xc4)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 200)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xcc)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xd0)) * 0x401; do { uVar12 = (in_stack_00000078 + 1) * in_stack_00000078 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar11 = (*(int *)(unaff_RBX + 0xd4) + (uVar11 ^ uVar11 >> 6)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xd8)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xdc)) * 0x401; uVar11 = ((uVar11 >> 6 ^ uVar11) + *(int *)(unaff_RBX + 0xe0)) * 0x401; iVar8 = (**(code **)(*unaff_RSI + 0x90))(unaff_RSI,*(undefined8 *)(unaff_R14 + 0xc0)); uVar11 = uVar11 >> 6 ^ uVar11; uVar10 = (ulonglong)uVar11; uVar12 = (uVar11 >> 4 ^ uVar11) & 3; iVar9 = (**(code **)(*unaff_RSI + 0x30))(unaff_RSI); in_stack_00000080 = unaff_EBP + iVar3 + iVar4 + iVar5 + iVar6 + iVar7 + iVar8 + iVar9; uVar11 = ((uVar12 << 4 | uVar12) ^ uVar11) + 0x5eedc79b; uVar17 = 1; puVar13 = (undefined1 *)register0x00000020; if (in_stack_00000090 != ((uVar11 >> 2 | uVar11 * 0x40000000) & 0x99999999 | (uVar11 * 4 | uVar11 >> 0x1e) & 0x66666666 ) + 0xfe76f83) { func_0x0001807a7842(); uVar10 = thunk_FUN_1805a9280(); return uVar10; } do { puVar14 = puVar13; *(undefined8 *)(puVar14 + -8) = uVar17; *(ulonglong *)(puVar14 + -0x10) = uVar10; *(undefined8 *)(puVar14 + -0x18) = uVar15; lVar16 = -lVar18; uVar15 = *(undefined8 *)(puVar14 + lVar16 + 0xba8); uVar10 = *(ulonglong *)(puVar14 + lVar16 + 0xbb0); uVar17 = *(undefined8 *)(puVar14 + lVar16 + 3000); uVar11 = (in_stack_00000078 + 1) * in_stack_00000078 & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } puVar13 = puVar14 + lVar16 + 0xbc0; } while (uVar11 != 0); iVar3 = *(int *)(puVar14 + lVar16 + 0xc40); if (*(char *)(unaff_R14 + 0x3d3) != '\0') { pcVar2 = *(code **)(*unaff_RSI + 0x28); *(undefined8 *)(puVar14 + lVar16 + 3000) = 0x1807a9051; iVar4 = (*pcVar2)(unaff_RSI,"authChain",0xc,0xc44); *(undefined8 *)(puVar14 + lVar16 + 3000) = 0x1807a9062; iVar5 = FUN_180953cf0(unaff_R14 + 200,unaff_RSI); pcVar2 = *(code **)(*unaff_RSI + 0x30); *(undefined8 *)(puVar14 + lVar16 + 3000) = 0x1807a906d; iVar6 = (*pcVar2)(unaff_RSI); iVar3 = iVar3 + iVar4 + iVar5 + iVar6; } if (*(char *)(unaff_R14 + 0x3d4) != '\0') { pcVar2 = *(code **)(*unaff_RSI + 0x28); *(undefined8 *)(puVar14 + lVar16 + 3000) = 0x1807a9099; iVar4 = (*pcVar2)(unaff_RSI,"clientPasswordDigest",0xf,0xc45); lVar18 = *(longlong *)(unaff_R14 + 0x3c0); lVar19 = *(longlong *)(unaff_R14 + 0x3b8); pcVar2 = *(code **)(*unaff_RSI + 0x50); *(undefined8 *)(puVar14 + lVar16 + 3000) = 0x1807a90b8; iVar5 = (*pcVar2)(unaff_RSI,3,lVar18 - lVar19); puVar13 = *(undefined1 **)(unaff_R14 + 0x3b8); iVar5 = iVar3 + iVar4 + iVar5; if (puVar13 != *(undefined1 **)(unaff_R14 + 0x3c0)) { do { uVar1 = *puVar13; pcVar2 = *(code **)(*unaff_RSI + 0x78); *(undefined8 *)(puVar14 + lVar16 + 3000) = 0x1807a90dc; iVar3 = (*pcVar2)(unaff_RSI,uVar1); iVar5 = iVar5 + iVar3; puVar13 = puVar13 + 1; } while (puVar13 != *(undefined1 **)(unaff_R14 + 0x3c0)); } pcVar2 = *(code **)(*unaff_RSI + 0x58); *(undefined8 *)(puVar14 + lVar16 + 3000) = 0x1807a90f3; iVar4 = (*pcVar2)(unaff_RSI); pcVar2 = *(code **)(*unaff_RSI + 0x30); *(undefined8 *)(puVar14 + lVar16 + 3000) = 0x1807a90fe; iVar3 = (*pcVar2)(unaff_RSI); iVar3 = iVar5 + iVar4 + iVar3; } pcVar2 = *(code **)(*unaff_RSI + 0x38); *(undefined8 *)(puVar14 + lVar16 + 3000) = 0x1807a9109; iVar4 = (*pcVar2)(unaff_RSI); pcVar2 = *(code **)(*unaff_RSI + 0x20); *(undefined8 *)(puVar14 + lVar16 + 3000) = 0x1807a9114; iVar5 = (*pcVar2)(unaff_RSI); return (ulonglong)(uint)(iVar5 + iVar3 + iVar4); } ############ FUN_ 180888f70 size=2273 ############ /* WARNING: Instruction at (ram,0x000180889453) overlaps instruction at (ram,0x000180889452) */ /* WARNING: Removing unreachable block (ram,0x000180889198) */ /* WARNING: Removing unreachable block (ram,0x000180889452) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_180888f70(longlong *param_1) { int *piVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; int iVar6; longlong lVar7; longlong lVar8; longlong lVar9; ulonglong uVar10; longlong lVar11; uVar4 = (uint)&stack0x00000000 & 0x33f; iVar6 = (uVar4 + 2) * (uVar4 + 1) * uVar4; if ((((iVar6 >> 1) - (iVar6 >> 3)) + iVar6 * 0x55555555 >> 0x1e & 0xfU) == 0) { uVar4 = (uint)&stack0x00000000 & 0x34ff; iVar6 = uVar4 * uVar4 + 1; uVar4 = (iVar6 >> 4) + (iVar6 >> 1) + iVar6 * 0x24924924 >> 0x1d; uVar4 = (int)(uVar4 - 7) >> 0x1f & uVar4; } else { uVar4 = 1; } lVar9 = 0x180000000; lVar8 = 0xad920b80; lVar7 = 0x40; piVar1 = &DAT_1815b1724; do { lVar7 = lVar7 - (longlong)register0x00000020; lVar8 = lVar8 + (longlong)register0x00000020; lVar11 = (~((longlong)register0x00000020 - lVar8) + 1U) - lVar8; register0x00000020 = (BADSPACEBASE *)-lVar11; lVar8 = lVar8 + lVar11; lVar7 = lVar7 + (longlong)register0x00000020; uVar2 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar2 = (DAT_1815b1724 + 0x5ccb5de8) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1728) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b172c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1730) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1734) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1738) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b173c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1740) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1744) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1748) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b174c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1750) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1754) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1758) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b175c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1760) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1764) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1768) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b176c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1770) * 0x401; uVar5 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1774) * 0x401; uVar2 = ((uVar5 >> 6 ^ uVar5) + DAT_1815b1778) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b177c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1780) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1784) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1788) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b178c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1790) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1794) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b1798) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b179c) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + DAT_1815b17a0) * 0x401; do { lVar8 = (longlong)piVar1 + lVar9; uVar10 = lVar9 - lVar8 ^ 0xffffffffffffffff; piVar1 = (int *)(uVar10 + 1); lVar9 = lVar8 - (longlong)piVar1; uVar3 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar2 = (*(int *)(uVar10 + 0x81) + (uVar2 ^ uVar2 >> 6)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0x85)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0x89)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0x8d)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0x91)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0x95)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0x99)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0x9d)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xa1)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xa5)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xa9)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xad)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xb1)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xb5)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xb9)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xbd)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xc1)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xc5)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xc9)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xcd)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xd1)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xd5)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xd9)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xdd)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xe1)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xe5)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xe9)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xed)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xf1)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xf5)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xf9)) * 0x401; uVar2 = ((uVar2 >> 6 ^ uVar2) + *(int *)(uVar10 + 0xfd)) * 0x401; uVar2 = uVar2 >> 6 ^ uVar2; uVar2 = (uVar2 << 0xb | uVar2 >> 0x15) ^ 0x2189c443; if ((uVar2 >> 0xe | uVar2 << 0x12) != 0x325a3877) { thunk_FUN_1805a9280(((int)(-uVar4 | uVar4) >> 0x1f) * 0x10a4 & 0x4c48U ^ 0x4228,uVar5); return; } do { uVar4 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); if (param_1[3] == 0) { (**(code **)(*param_1 + 0x48))(param_1,uVar5,lVar7); } return; } ############ FUN_ 1806d8120 size=3121 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001806d8683) */ /* WARNING: Removing unreachable block (ram,0x0001806d83af) */ /* WARNING: Removing unreachable block (ram,0x0001806d81ac) */ /* WARNING: Removing unreachable block (ram,0x0001806d83c5) */ /* WARNING: Removing unreachable block (ram,0x0001806d898e) */ void FUN_1806d8120(longlong param_1,longlong *param_2) { ulonglong *puVar1; uint uVar2; uint uVar3; uint uVar4; void *pvVar5; undefined1 *puVar6; int *piVar7; uint uVar8; uint uVar9; uint uVar10; uint *puVar11; void *_Memory; int iVar12; undefined1 *puVar13; longlong lVar14; uint uVar15; uint uVar16; undefined2 *puVar17; ulonglong uVar18; uint uVar19; longlong lVar20; ulonglong uVar21; ulonglong uVar22; undefined8 uVar23; undefined *puVar24; uint *puVar25; bool bVar26; bool bVar27; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_e8 [32]; undefined2 local_c8 [4]; uint *local_c0; undefined *local_b8; uint local_b0; uint local_ac; int local_a8; uint local_a4; undefined8 local_a0; undefined4 local_98; undefined4 local_94; undefined4 local_90; undefined4 local_8c; uint local_88; uint local_84; code *local_80; undefined1 local_78 [4]; undefined1 local_74 [4]; undefined8 local_70; undefined1 local_68; undefined7 uStack_67; undefined8 local_58; ulonglong local_50; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; uVar8 = (uint)&stack0x00000000; uVar16 = ((uVar8 & 0x32ff) * (uVar8 & 0x32ff) + 1) % 7; uVar15 = ((uVar8 & 0x1fff) + 1) * (uVar8 & 0x1fff) + 0x8d1 & 0x80000001; local_88 = (((int)(-uVar16 | uVar16) >> 0x1f) - ((int)(-uVar15 | uVar15) >> 0x1f)) + 0x8fb4U ^ 0x8a54; uVar8 = uVar8 & 0x3ff; iVar12 = (uVar8 + 2) * (uVar8 + 1) * uVar8; local_84 = ((iVar12 >> 1) - (iVar12 >> 3)) + iVar12 * 0x55555555 >> 0x1e ^ 0x7b0; uVar21 = 0; local_58 = 0; local_50 = 0xf; local_68 = 0; local_a0 = 0x115defc; local_c0 = &DAT_18115defc; local_b8 = &DAT_18115dffc; uVar19 = (DAT_18115df0c ^ ((((DAT_18115defc ^ 0x811c9dc5) * 0x1000181 ^ DAT_18115df00) * 0x1000181 ^ DAT_18115df04) * 0x1000181 ^ DAT_18115df08) * 0x1000181) * 0x1000181; uVar22 = (ulonglong)uVar19; uVar15 = uVar19 & 0x4f; iVar12 = (uVar19 & 0x63ff) * (uVar19 & 0x63ff) + 1; uVar8 = (iVar12 >> 4) + (iVar12 >> 1) + iVar12 * 0x24924924 >> 0x1d; uVar8 = (int)(uVar8 - 7) >> 0x1f & uVar8; uVar18 = (ulonglong)uVar8; lVar14 = -(((longlong) (int)(((uVar15 + 1) * (uVar15 + 1) * uVar15 * uVar15 & 0x80000003) - (((uVar19 & 0x5dff) + 1) * (uVar19 & 0x5dff) & 0x80000001)) | 0xb82aU) ^ (ulonglong)((int)(-uVar8 | uVar8) >> 0x1f & 0xb92a)); uVar8 = *(uint *)(&UNK_18115e010 + lVar14); uVar15 = *(uint *)(&UNK_18115e014 + lVar14); uVar16 = *(uint *)(&UNK_18115e018 + lVar14); uVar2 = *(uint *)(&UNK_18115e01c + lVar14); (**(code **)(*param_2 + 0xc0))(param_2); uVar3 = *(uint *)(&UNK_18115e020 + lVar14); uVar4 = *(uint *)(&UNK_18115e024 + lVar14); uVar10 = *(uint *)(&UNK_18115e028 + lVar14); do { FUN_1806d654c(0x7d24); puVar25 = local_c0; lVar20 = uVar22 + uVar21; uVar22 = ~(uVar21 - lVar20) + 1; uVar21 = lVar20 - uVar22; uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); piVar7 = (int *)register0x00000020; do { lVar20 = uVar21 + uVar18; uVar21 = ~(uVar18 - lVar20) + 1; piVar7 = (int *)((-(longlong)piVar7 ^ 0xffffffffffffffffU) + 1); uVar18 = lVar20 - uVar21; uVar9 = (*piVar7 + 1) * *piVar7 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); local_a0 = CONCAT44(local_a0._4_4_, (*(uint *)((longlong)local_c0 + lVar14 + 0x1a8) ^ ((((((((((((((((((((((((((((((*(uint *)((longlong)local_c0 + lVar14 + 0x130) ^ (uVar10 ^ (uVar4 ^ (uVar3 ^ ((((uVar8 ^ uVar19) * 0x1000181 ^ uVar15 ) * 0x1000181 ^ uVar16) * 0x1000181 ^ uVar2) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x134)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x138)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x13c)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x140)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x144)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x148)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x14c)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x150)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x154)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x158) ) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x15c)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x160)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x164)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x168)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x16c)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x170)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x174)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x178)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x17c)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x180)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x184)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x188)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x18c)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 400)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x194)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x198)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x19c)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x1a0)) * 0x1000181 ^ *(uint *)((longlong)local_c0 + lVar14 + 0x1a4)) * 0x1000181) * 0x1000181); puVar17 = local_c8; local_b8 = (undefined *)(lVar14 + 0x1ac); (**(code **)(*param_2 + 0xd0))(param_2,&local_68,&local_a8,puVar17); puVar24 = (undefined *)(lVar14 + 0x1ac); if (local_a8 != 0) { do { switch(local_c8[0]) { case 1: if (local_a8 != 8) break; (**(code **)(*param_2 + 0x128))(param_2,&local_98); *(undefined4 *)(param_1 + 8) = local_98; *(undefined1 *)(param_1 + 0x48) = 1; goto LAB_1806d88c8; default: break; case 0xb: if (local_a8 == 8) { (**(code **)(*param_2 + 0x128))(param_2,&local_94); *(undefined4 *)(param_1 + 0xc) = local_94; *(undefined1 *)(param_1 + 0x49) = 1; goto LAB_1806d88c8; } break; case 0xc: if (local_a8 == 8) { (**(code **)(*param_2 + 0x128))(param_2,&local_90); *(undefined4 *)(param_1 + 0x10) = local_90; *(undefined1 *)(param_1 + 0x4a) = 1; goto LAB_1806d88c8; } break; case 0xd: if (local_a8 == 8) { (**(code **)(*param_2 + 0x128))(param_2,&local_8c); *(undefined4 *)(param_1 + 0x14) = local_8c; *(undefined1 *)(param_1 + 0x4b) = 1; goto LAB_1806d88c8; } break; case 0x15: if (local_a8 == 0xf) { *(undefined8 *)(param_1 + 0x20) = *(undefined8 *)(param_1 + 0x18); (**(code **)(*param_2 + 0xf0))(param_2,local_78,&local_b0); FUN_1805b1330(param_1 + 0x18,local_b0,param_1 + 0x18); uVar21 = 0; if (local_b0 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar21 + *(longlong *)(param_1 + 0x18)); uVar8 = (int)uVar21 + 1; uVar21 = (ulonglong)uVar8; } while (uVar8 < local_b0); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x4c) = 1; goto LAB_1806d88c8; } break; case 0x16: if (local_a8 == 0xf) { *(undefined8 *)(param_1 + 0x38) = *(undefined8 *)(param_1 + 0x30); (**(code **)(*param_2 + 0xf0))(param_2,local_74,&local_ac); FUN_1805b1330(param_1 + 0x30,local_ac,param_1 + 0x30); uVar21 = 0; if (local_ac != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar21 + *(longlong *)(param_1 + 0x30)); uVar8 = (int)uVar21 + 1; uVar21 = (ulonglong)uVar8; } while (uVar8 < local_ac); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x4d) = 1; goto LAB_1806d88c8; } } FUN_1806d8eb0(param_2); LAB_1806d88c8: (**(code **)(*param_2 + 0xd8))(param_2); puVar17 = local_c8; (**(code **)(*param_2 + 0xd0))(param_2,&local_68,&local_a8,puVar17); } while (local_a8 != 0); uVar21 = 0; puVar24 = local_b8; puVar25 = local_c0; } uVar8 = *(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x14) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x10) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0xc) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 8) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 4) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24) ^ (uint)local_a0) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; bVar27 = uVar8 == 0; uVar15 = (uint)((longlong)(int)uVar8 * 0x1000181); bVar26 = (longlong)(int)uVar15 != (longlong)(int)uVar8 * 0x1000181; do { if (!bVar27 && bVar26 == (int)uVar8 < 0) { uVar21 = (~uVar21 + 1 ^ 0xffffffffffffffff) + 1; } uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } bVar26 = false; bVar27 = false; } while (uVar8 != 0); uVar8 = *(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x18); uVar16 = *(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x1c); uVar2 = *(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x20); (**(code **)(*param_2 + 200))(param_2); uVar3 = *(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x24); uVar4 = *(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x28); do { uVar21 = (~uVar21 + 1 ^ 0xffffffffffffffff) + 1; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar10 = *(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x2c); do { puVar11 = &local_a4; FUN_1806d7b31(puVar11,&local_a4); uVar23 = rdtsc(); *puVar11 = (uint)uVar23 ^ (uint)((ulonglong)uVar23 >> 0x20); uVar19 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); local_a4 = (local_a4 * -0x3d4d7333 >> 0x18 ^ local_a4 * -0x3d4d7333) * -0x166ae57b; if (local_a4 < 0x277ac1b) { do { local_80 = FUN_181194940; uVar19 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } } while (uVar19 != 0); uVar18 = FUN_181194940(0,0xe919); if (1 < uVar18) { uVar18 = CONCAT44(unaff_retaddr_00,unaff_retaddr); puVar1 = (ulonglong *)register0x00000020; while (uVar18 != 0xcccccccccccccccc) { *puVar1 = uVar21; puVar1 = puVar1 + 8; uVar18 = *puVar1; } } } local_c0 = (uint *)0x495b85555924fcb2; local_a0 = CONCAT44(local_a0._4_4_,0x5924fcb2); uVar15 = (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x50) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x4c) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x48) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x44) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x40) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x3c) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x38) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x34) ^ (*(uint *)((longlong)puVar25 + (longlong)puVar24 + 0x30) ^ (uVar10 ^ (uVar4 ^ (uVar3 ^ (uVar2 ^ (uVar16 ^ (uVar8 ^ uVar15) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; uVar8 = (uVar15 >> 0xf ^ uVar15) >> 3 & 0x7ff; uVar15 = (uVar8 << 0xf | uVar8) << 3 ^ uVar15; uVar8 = (uVar15 << 10 | uVar15 >> 0x16) ^ 0xac97c3dc; uVar15 = ~(uVar8 >> 0x12 | uVar8 << 0xe); uVar8 = (uVar15 >> 0xf ^ uVar15) >> 1 & 0x3fff; uVar15 = (uVar8 << 0xf | uVar8) * 2 ^ uVar15; uVar21 = (ulonglong)uVar15; uVar8 = ~(~(uVar15 & 0x5924fcb2) & uVar15); if ((~(~(uVar15 & 0x5924fcb2) & 0x5924fcb2) & uVar8) == 0xffffffff) { lVar14 = (longlong)(int)local_84; uVar23 = 1; puVar6 = auStack_e8; do { puVar13 = puVar6; /* WARNING: Call to offcut address within same function */ *(undefined8 *)(puVar13 + -8) = 0x1806d8d68; lVar20 = lVar14; func_0x0001806d8217(); *(ulonglong *)(puVar13 + -8) = uVar21; *(uint **)(puVar13 + -0x10) = puVar25; *(undefined8 *)(puVar13 + -0x18) = uVar23; lVar20 = -lVar20; register0x00000020 = (BADSPACEBASE *) (((~-(longlong)register0x00000020 + 1U ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1); uVar23 = *(undefined8 *)(puVar13 + lVar20 + 0x798); puVar25 = *(uint **)(puVar13 + lVar20 + 0x7a0); uVar21 = *(ulonglong *)(puVar13 + lVar20 + 0x7a8); uVar8 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar6 = puVar13 + lVar20 + 0x7b0; } while (uVar8 != 0); if (local_50 < 0x10) { *(undefined **)(puVar13 + lVar20 + 0x7a8) = &UNK_1806d8e50; } pvVar5 = (void *)CONCAT71(uStack_67,local_68); _Memory = pvVar5; if ((0xfff < local_50 + 1) && (_Memory = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ *(undefined **)(puVar13 + lVar20 + 0x7a8) = &UNK_1806d8e71; _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ *(undefined1 **)(puVar13 + lVar20 + 0x7a8) = &LAB_1806d8e42; free(_Memory); } thunk_FUN_1805a9280((longlong)(int)local_88,uVar8,uVar21,puVar17); return; } ############ FUN_ 1809c83d0 size=2531 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001809c8ca6) */ /* WARNING: Removing unreachable block (ram,0x0001809c8511) */ /* WARNING: Removing unreachable block (ram,0x0001809c840f) */ /* WARNING: Removing unreachable block (ram,0x0001809c8525) */ /* WARNING: Removing unreachable block (ram,0x0001809c8df7) */ /* WARNING: Removing unreachable block (ram,0x0001809c8422) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ ulonglong FUN_1809c83d0(ulonglong param_1,longlong *param_2) { uint uVar1; int iVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; int iVar9; int iVar10; int iVar11; int iVar12; int iVar13; int iVar14; int iVar15; int iVar16; int iVar17; int iVar18; int iVar19; int iVar20; int iVar21; int iVar22; uint uVar23; uint uVar24; ulonglong uVar25; longlong lVar26; undefined1 *puVar27; undefined8 uVar28; undefined8 in_R11; int unaff_retaddr; undefined1 auStack_58 [32]; puVar27 = auStack_58; uVar1 = (uint)&stack0x00000000 & 0x18ff; uVar23 = (uVar1 + 1) * uVar1 + 0x5267 & 0x80000001; uVar1 = (((uint)(iRam00000001815c8188 * 0x401) >> 6 ^ iRam00000001815c8188 * 0x401) + iRam00000001815c818c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8190) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8194) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8198) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c819c) * 0x401; iVar2 = (**(code **)(*param_2 + 0x18))(param_2,"CommandTarget"); iVar3 = (**(code **)(*param_2 + 0x28))(param_2,"serialNumber",10); iVar4 = (**(code **)(*param_2 + 0x90))(param_2,*(undefined8 *)(param_1 + 8)); iVar5 = (**(code **)(*param_2 + 0x30))(param_2); uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81a0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81a4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81a8) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81ac) * 0x401; iVar6 = (**(code **)(*param_2 + 0x28))(param_2,"connectionID",8); iVar7 = (**(code **)(*param_2 + 0x88))(param_2,*(undefined4 *)(param_1 + 0x10)); iVar8 = (**(code **)(*param_2 + 0x30))(param_2); uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81b0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_1815c81b4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_1815c81b8) * 0x401; do { uVar25 = 0x4b1c; func_0x0001809c79ed(); if ((uVar25 & 0xdb00) == 0) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } FUN_1809c7f0e(); uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); iVar9 = (**(code **)(*param_2 + 0x28))(param_2,"sequenceNumber",8,3); uVar1 = (DAT_1815c81bc + (uVar1 ^ uVar1 >> 6)) * 0x401; iVar10 = (**(code **)(*param_2 + 0x88))(param_2,*(undefined4 *)(param_1 + 0x14)); uVar1 = ((uVar1 >> 6 ^ uVar1) + _DAT_1815c81c0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81c4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81c8) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81cc) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81d0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81d4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81d8) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81dc) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81e0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81e4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81e8) * 0x401; iVar11 = (**(code **)(*param_2 + 0x30))(param_2); iVar12 = (**(code **)(*param_2 + 0x28))(param_2,"iLokVersionInterface"); uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81ec) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81f0) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81f4) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81f8) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c81fc) * 0x401; iVar13 = (**(code **)(*param_2 + 0x88))(param_2,*(undefined4 *)(param_1 + 0x18)); uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8200) * 0x401; do { uVar25 = ~(~param_1 + 1); param_1 = uVar25 + 1; uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); uVar1 = (iRam00000001815c8204 + (uVar1 ^ uVar1 >> 6)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8208) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c820c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8210) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8214) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8218) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c821c) * 0x401; iVar14 = (**(code **)(*param_2 + 0x30))(param_2); iVar15 = (**(code **)(*param_2 + 0x28))(param_2,"usbChunkSize",8); uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8220) * 0x401; iVar16 = (**(code **)(*param_2 + 0x88))(param_2,*(undefined4 *)(uVar25 + 0x1d)); uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8224) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8228) * 0x401; iVar17 = (**(code **)(*param_2 + 0x30))(param_2); uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c822c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8230) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8234) * 0x401; uVar28 = 6; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_1815c8238) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_1815c823c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + DAT_1815c8240) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + _DAT_1815c8244) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8248) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c824c) * 0x401; iVar18 = (**(code **)(*param_2 + 0x28))(param_2,"readExtraResultDataFlag"); uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8250) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8254) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8258) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c825c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8260) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8264) * 0x401; iVar19 = (**(code **)(*param_2 + 0x70))(param_2,*(undefined1 *)(uVar25 + 0x21)); uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8268) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c826c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8270) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8274) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8278) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c827c) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8280) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + iRam00000001815c8284) * 0x401; iVar20 = (**(code **)(*param_2 + 0x30))(param_2); iVar21 = (**(code **)(*param_2 + 0x38))(param_2); iVar22 = (**(code **)(*param_2 + 0x20))(param_2); uVar1 = (uVar1 >> 6 ^ uVar1) + 0x96547536; do { func_0x0001809c9139(); uVar24 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar24 < 0) { uVar24 = (uVar24 - 1 | 0xfffffffe) + 1; } } while (uVar24 != 0); if ((char)(((uVar1 >> 7 | uVar1 * 0x2000000) != 0x4d1f4ab6) * '\"') != '\0') { /* WARNING: Call to offcut address within same function */ func_0x0001809c8b44(); uVar25 = thunk_FUN_1805a9280(); return uVar25; } do { *(undefined8 *)(puVar27 + -8) = 0x1809c8cfa; lVar26 = (longlong)(int)(((int)(uVar23 | -uVar23) >> 0x1f ^ 0xfffffebfU) & 0xed5b); func_0x0001809c9139(); *(longlong **)(puVar27 + -8) = param_2; *(undefined8 *)(puVar27 + -0x10) = uVar28; *(undefined8 *)(puVar27 + -0x18) = in_R11; lVar26 = -lVar26; in_R11 = *(undefined8 *)(puVar27 + lVar26 + 0x128); uVar28 = *(undefined8 *)(puVar27 + lVar26 + 0x130); param_2 = *(longlong **)(puVar27 + lVar26 + 0x138); puVar27 = puVar27 + lVar26 + 0x140; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); return (ulonglong) (uint)(iVar2 + iVar3 + iVar4 + iVar5 + iVar6 + iVar7 + iVar8 + iVar9 + iVar10 + iVar11 + iVar12 + iVar13 + iVar14 + iVar15 + iVar16 + iVar17 + iVar18 + iVar19 + iVar20 + iVar21 + iVar22); } ############ FUN_ 1815986c0 size=4334 ############ /* WARNING: Instruction at (ram,0x000181598c18) overlaps instruction at (ram,0x000181598c16) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000181599859) */ /* WARNING: Removing unreachable block (ram,0x000181598bab) */ /* WARNING: Removing unreachable block (ram,0x000181598a2a) */ /* WARNING: Removing unreachable block (ram,0x0001815987be) */ /* WARNING: Removing unreachable block (ram,0x0001815987d9) */ /* WARNING: Removing unreachable block (ram,0x000181598a96) */ /* WARNING: Removing unreachable block (ram,0x000181598c12) */ /* WARNING: Removing unreachable block (ram,0x000181598936) */ /* WARNING: Removing unreachable block (ram,0x00018159872c) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_1815986c0(undefined8 param_1) { int iVar1; undefined1 *puVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; uint uVar7; uint uVar8; undefined4 uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint uVar15; longlong lVar16; undefined1 *puVar17; uint uVar18; uint uVar19; uint uVar20; int iVar21; ulonglong uVar22; undefined8 uVar23; int unaff_retaddr; undefined1 auStack_118 [32]; undefined8 local_f8; undefined8 local_f0; uint local_e8; uint local_e4; uint local_e0; uint local_dc; undefined4 local_d8; uint local_d4; int local_d0; undefined4 local_cc; undefined4 local_c8; int local_c4; uint local_c0; undefined8 local_b8; undefined4 local_b0; undefined4 local_ac; longlong local_a8; undefined8 local_a0; undefined8 local_98; code *local_90; uint local_84; int local_80; int local_70; int local_6c; uint local_68; int local_64; uint local_58; uint local_54; ulonglong local_30; uint7 uVar24; local_30 = DAT_182615970 ^ (ulonglong)auStack_118; local_b8 = param_1; local_d0 = 0x240; local_c4 = 0xb40; local_f0 = 0x181467b1c; do { local_c8 = 0x2cbde26; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); local_f8 = 0x327e1224fe6bcd28; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = ~(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((iRam0000000181467a1c * 0x6b + iRam0000000181467a20) * 0x6b + iRam0000000181467a24) * 0x6b + iRam0000000181467a28) * 0x6b + iRam0000000181467a2c) * 0x6b + iRam0000000181467a30) * 0x6b + iRam0000000181467a34) * 0x6b + iRam0000000181467a38) * 0x6b + iRam0000000181467a3c) * 0x6b + iRam0000000181467a40) * 0x6b + iRam0000000181467a44) * 0x6b + iRam0000000181467a48) * 0x6b + iRam0000000181467a4c) * 0x6b + iRam0000000181467a50) * 0x6b + iRam0000000181467a54) * 0x6b + iRam0000000181467a58) * 0x6b + DAT_181467a5c) * 0x6b + iRam0000000181467a60) * 0x6b + iRam0000000181467a64) * 0x6b + iRam0000000181467a68) * 0x6b + iRam0000000181467a6c) * 0x6b + iRam0000000181467a70) * 0x6b + iRam0000000181467a74) * 0x6b + iRam0000000181467a78) * 0x6b + iRam0000000181467a7c) * 0x6b + iRam0000000181467a80) * 0x6b + iRam0000000181467a84 ) * 0x6b + iRam0000000181467a88) * 0x6b + iRam0000000181467a8c) * 0x6b + iRam0000000181467a90) * 0x6b + iRam0000000181467a94) * 0x6b + iRam0000000181467a98) * 0x6b + iRam0000000181467a9c) * 0x6b + iRam0000000181467aa0) * 0x6b + iRam0000000181467aa4 ) * 0x6b + iRam0000000181467aa8) * 0x6b + iRam0000000181467aac) * 0x6b + iRam0000000181467ab0) * 0x6b + iRam0000000181467ab4) * 0x6b + iRam0000000181467ab8) * 0x6b + iRam0000000181467abc) * 0x6b + iRam0000000181467ac0) * 0x6b + iRam0000000181467ac4) * 0x6b + iRam0000000181467ac8) * 0x6b + iRam0000000181467acc) * 0x6b + iRam0000000181467ad0) * 0x6b + iRam0000000181467ad4) * 0x6b + iRam0000000181467ad8) * 0x6b + iRam0000000181467adc) * 0x6b + iRam0000000181467ae0) * 0x6b + iRam0000000181467ae4) * 0x6b + iRam0000000181467ae8) * 0x6b + iRam0000000181467aec) * 0x6b + iRam0000000181467af0) * 0x6b + iRam0000000181467af4) * 0x6b + iRam0000000181467af8) * 0x6b + iRam0000000181467afc) * 0x6b + iRam0000000181467b00) * 0x6b + iRam0000000181467b04 ) * 0x6b + iRam0000000181467b08) * 0x6b + iRam0000000181467b0c) * 0x6b + iRam0000000181467b10) * 0x6b + iRam0000000181467b14) * 0x6b + iRam0000000181467b18); uVar10 = uVar7 >> 0x12 | uVar7 << 0xe; uVar7 = (uVar10 >> 6 ^ uVar10) >> 6 & 0x1f; do { FUN_18159a84c(0xfd08); /* WARNING: Call to offcut address within same function */ func_0x0001815991b8(); uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { local_e8 = 0x73120fbf; local_b0 = 0x56; local_a8 = 0x181598d07; FUN_1815975c3(); iVar1 = local_d0; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar11 = (local_e8 << 4 | local_e8 >> 0x1c) & 0xa5a5a5a5 | (local_e8 >> 4 | local_e8 << 0x1c) & 0x5a5a5a5a; uVar8 = (uVar11 >> 4 ^ uVar11) >> 4 & 7; uVar8 = (uVar11 << 0x1d | ((uVar8 << 4 | uVar8) << 4 ^ uVar11) >> 3) ^ 0xaa516df; uVar8 = uVar8 >> 2 & 0xcccccccc | uVar8 << 0x1e | (uVar8 & 0xccccccc) << 2 | (uVar11 & 7) >> 1; uVar11 = (uVar8 << 5 | uVar8 >> 0x1b) + 0x1c46f08e; uVar8 = (uVar11 >> 0x13 ^ uVar11) >> 2 & 0xff; local_e8 = ((uVar8 << 0x13 | uVar8) << 2 ^ uVar11) + 0x816a18c4; do { local_d8 = 0x2f4b1db9; local_ac = 0x3d; local_a0 = 0x181598dd6; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar22 = 0; lVar16 = (int)local_e8 + local_a8; local_e8 = 0; local_d8 = 0; *(longlong *)(lVar16 + 4) = *(longlong *)(lVar16 + 4) + ((ulonglong)dvs_0xad0fb2df_mfort6317_ >> 0x1d & 0x89020012); do { uVar23 = rdtsc(); uVar8 = (int)uVar23 + (int)((ulonglong)uVar23 >> 0x20); lVar4 = (ulonglong)(uVar8 >> 8) + 0x39084f2f + (ulonglong)uVar8 * 4; uVar3 = lVar4 * 0x100 ^ lVar4 * 0x20000 - 0x20e32347U; uVar3 = ((uVar3 >> 0x10) - 0x7c8e5ec7) + uVar3 * 2; uVar3 = uVar3 ^ (uVar3 >> 0xc | uVar3 << 0x34) + 0x5817e692; uVar3 = uVar3 >> 0xb | uVar3 << 0x35; uVar3 = uVar3 + (uVar3 >> 5); uVar3 = uVar3 - ((uVar3 * 0x80 | uVar3 >> 0x39) - 0xb6ae0fd); lVar4 = uVar3 - (uVar3 >> 5 | uVar3 << 0x3b); uVar8 = ((int)lVar4 * 0x400 | (uint)((ulonglong)lVar4 >> 0x36)) & 0x56b761ec; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); *(int *)(lVar16 + 8) = *(int *)(lVar16 + 8) + (uVar8 ^ 0xd9c2f4e1); *(int *)(lVar16 + 4) = *(int *)(lVar16 + 4) + (uVar8 ^ 0x849a9230); uVar3 = *(ulonglong *)(lVar16 + 4); uVar5 = uVar3 << 0x11 | uVar3 >> 0x2f; uVar3 = ~(uVar5 >> 2 & 0xcccccccccccccccc | (uVar3 >> 0x2f) << 0x3e | (uVar5 & 0xccccccccccccccc) << 2 | (uVar3 & 0x7fffffffffff) >> 0x2d); uVar9 = (undefined4)((uVar3 >> 0x20 ^ uVar3) >> 2); uVar3 = ((CONCAT44(uVar9,uVar9) & 0xffffffff3fffffff) << 2 ^ uVar3) + 0xdc843f56b6df640a; uVar3 = (uVar3 * 0x10000 | uVar3 >> 0x30) & 0x86cc793386cc7933 | (uVar3 >> 0x10 | uVar3 << 0x30) & 0x793386cc793386cc; uVar3 = ((uVar3 << 0x10 | uVar3 >> 0x30) & 0xe8c91736e8c91736 | (uVar3 >> 0x10 | uVar3 << 0x30) & 0x1736e8c91736e8c9) ^ 0xc907526fc8cd6cac; uVar3 = (uVar3 >> 8 | uVar3 << 0x38) & 0x8f708f708f708f70 | (uVar3 << 8 | uVar3 >> 0x38) & 0x708f708f708f708f; *(ulonglong *)(lVar16 + 4) = uVar3; dvs_0xad0fb2df_mfort6317_ = (uint *)((longlong)dvs_0xad0fb2df_mfort6317_ + (ulonglong)((uint)(uVar3 >> 0x16) & 0xa405095) ); local_e4 = (uint)(*(ulonglong *)(lVar16 + 4) >> 0x1d) & 0x7fffffff; uVar11 = (uint)(*(ulonglong *)(lVar16 + 4) >> 1); local_dc = uVar11 ^ 0x3d230467; uVar3 = *(ulonglong *)(lVar16 + 4) ^ 0x7cd6dc159a74d122; local_84 = local_dc; local_80 = (int)uVar3; uVar12 = (uint)(uVar3 >> 0x20); uVar8 = local_80 + 0xf1e309f9; uVar13 = uVar12 ^ 0x4a5a460c ^ uVar8; uVar14 = uVar13 & 0xbfbc7e44 ^ uVar8 ^ 0xe070a390; uVar8 = (uVar13 & 0x404381bb ^ uVar8) + 0xf864faf4; uVar11 = uVar11 ^ 0x652df480; uVar13 = (uVar14 >> 9 ^ uVar14) >> 4 & 0xff; uVar14 = (uVar13 << 9 | uVar13) << 4 ^ uVar14; uVar13 = uVar14 ^ 0x17d56d53; uVar19 = (uVar11 >> 0xe ^ uVar11) >> 2 & 0x3fff; uVar14 = uVar14 ^ 0x85458c17; uVar20 = (uVar8 >> 10 ^ uVar8) >> 0xb & 3; uVar15 = uVar14 & 0x61fa746d ^ uVar13 ^ 0x4742c5fd; uVar18 = (uVar14 & 0x9e058b92 ^ uVar13) + 0xf3638a6a; uVar11 = uVar11 ^ ((uVar19 << 0xe | uVar19) ^ 0xe46c1535) << 2; uVar20 = ((uVar20 << 10 | uVar20) << 0xb ^ uVar8 ^ 0x3e728703) + 0xea956873; uVar5 = (ulonglong)uVar20; uVar13 = (uVar20 >> 10 ^ uVar20) >> 10 & 0x7f; uVar8 = (uVar15 >> 7 ^ uVar15) & 3; uVar14 = (uVar11 >> 0xf ^ uVar11) >> 2 & 0x7fff; lVar16 = (longlong)local_c4; uVar19 = (uVar18 >> 5 ^ uVar18) >> 2 & 0x1f; uVar3 = (ulonglong)uVar19; iVar21 = ((uVar8 << 7 | uVar8) ^ uVar15) + 0x933d3959; local_f0 = CONCAT44(uVar12,iVar21); do { uVar23 = rdtsc(); local_c0 = (int)uVar23 + (int)((ulonglong)uVar23 >> 0x20) * 2; uVar6 = ((ulonglong)(local_c0 >> 6) | (ulonglong)local_c0 << 0x3a) + (ulonglong)local_c0 * 8; lVar4 = uVar6 + (uVar6 >> 5 | uVar6 << 0x3b) + 0x51605da2; uVar6 = lVar4 - (lVar4 * 0x90000 | (ulonglong)(lVar4 * 9) >> 0x30); uVar3 = ~-uVar3 + 1; uVar6 = (uVar6 ^ (uVar6 >> 0xf | uVar6 << 0x31)) >> 5; uVar6 = uVar6 - (uVar6 * 5 >> 0xc); uVar6 = uVar6 ^ uVar6 >> 10; if ((short)((ushort)uVar6 & 0xfffe) < 1) { uVar22 = -((uVar22 ^ 0xffffffffffffffff) + 1); } uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_d4 = (uint)uVar6 >> 1 ^ local_e4; if (local_d4 < 0xa73c) { do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_e0 = 0xd5bd9a94; do { local_98 = 0x181599533; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); local_cc = 0xff6aebbd; local_70 = iVar21; local_6c = ((uVar14 << 0xf | uVar14) << 2 ^ uVar11) + 0x49b8f865; local_68 = (uVar13 << 10 | uVar13) << 10 ^ uVar20 ^ 0x5468063c; local_64 = ((uVar19 << 5 | uVar19) << 2 ^ uVar18) + 0xf6b09850; FUN_180c480f0(&local_70,&local_58); uVar5 = 7; do { uVar8 = (local_58 >> 0x1c ^ local_58) >> 2 & 1; uVar11 = (local_54 >> 0xc ^ local_54) & 0x3ff; uVar14 = (uVar8 << 0x1c | uVar8) << 2 ^ local_58 ^ 0xa0a9bf0b; uVar8 = ((uVar11 << 0xc | uVar11) ^ local_54) + 0xc12e6b24 ^ uVar14; uVar11 = (uVar8 & 0x7fbcc1e5 ^ uVar14) + 0x240e52d0 ^ 0x1e08654e; uVar8 = uVar8 & 0x80433e1a ^ uVar14 ^ 0xf83d4d4c ^ uVar11; local_54 = (uVar8 & 0x22ae79d2 ^ uVar11) + 0xe4ebf231; uVar8 = (uVar8 & 0xdd51862d ^ uVar11) + 0x916c9021; uVar11 = (uVar8 >> 0xd ^ uVar8) >> 8 & 0x3ff; local_58 = uVar8 ^ (uVar11 << 0xd | uVar11) << 8; uVar11 = (local_54 >> 0x11 ^ local_54) >> 5 & 0x1f; local_54 = local_54 ^ (uVar11 << 0x11 | uVar11) << 5; uVar11 = (int)uVar5 - 1; uVar5 = (ulonglong)uVar11; } while (-1 < (int)uVar11); uVar8 = uVar8 * 0x4000000 | local_58 >> 6; uVar3 = (ulonglong)uVar8; uVar8 = uVar8 + 0xa2e83222; uVar8 = (uVar8 * 0x400000 | uVar8 >> 10) ^ 0xd1d5f6eb; uVar8 = (uVar8 << 0x13 | uVar8 >> 0xd) + 0x3709fa40; if ((~(uVar8 * 0x80 | uVar8 >> 0x19) + 0x77094f1f ^ local_e0) + local_54 != local_dc) { do { local_90 = FUN_180bc2920; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); FUN_180bc2920(); do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); } } uVar24 = (uint7)(uVar22 >> 8); uVar23 = CONCAT71(uVar24,((uVar7 << 6 | uVar7) << 6 ^ uVar10) + 0x870e40af == (int)local_f8); puVar2 = auStack_118; if ((int)uVar23 != (int)(((ulonglong)uVar24 & 0xffffff) << 6)) { do { puVar17 = puVar2; *(ulonglong *)(puVar17 + -8) = uVar5; *(ulonglong *)(puVar17 + -0x10) = uVar3; *(undefined8 *)(puVar17 + -0x18) = uVar23; lVar4 = -lVar16; uVar23 = *(undefined8 *)(puVar17 + lVar4 + 0xb28); uVar3 = *(ulonglong *)(puVar17 + lVar4 + 0xb30); uVar5 = *(ulonglong *)(puVar17 + lVar4 + 0xb38); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } puVar2 = puVar17 + lVar4 + 0xb40; } while (uVar7 != 0); *(undefined **)(puVar17 + lVar4 + 0xb38) = &UNK_181599910; } thunk_FUN_1805a9280((longlong)iVar1,0x1815997ac); return; } ############ FUN_ 1809ff850 size=2312 ############ /* WARNING: Instruction at (ram,0x0001809ffd19) overlaps instruction at (ram,0x0001809ffd18) */ /* WARNING: Removing unreachable block (ram,0x0001809ff964) */ /* WARNING: Removing unreachable block (ram,0x0001809ff8f5) */ /* WARNING: Removing unreachable block (ram,0x0001809ff8d2) */ /* WARNING: Removing unreachable block (ram,0x0001809ff913) */ /* WARNING: Removing unreachable block (ram,0x0001809ff918) */ /* WARNING: Removing unreachable block (ram,0x0001809ffc72) */ /* WARNING: Removing unreachable block (ram,0x0001809ff8e2) */ ulonglong FUN_1809ff850(ulonglong param_1,byte *param_2,uint param_3,IMAGE_DOS_HEADER *param_4) { undefined1 *puVar1; IMAGE_DOS_HEADER *pIVar2; int iVar3; ulonglong uVar4; byte *pbVar5; uint uVar6; uint uVar7; IMAGE_DOS_HEADER *pIVar8; longlong lVar9; byte *pbVar10; char cVar11; byte *pbVar12; undefined1 *puVar13; ulonglong *puVar14; undefined1 *puVar15; ulonglong uVar16; IMAGE_DOS_HEADER *pIVar17; ulonglong uVar18; uint uVar19; bool bVar20; int unaff_retaddr; ulonglong uStack_80; undefined1 auStack_78 [32]; undefined4 local_58; undefined *local_48; puVar13 = auStack_78; local_58 = 0xe90; pIVar17 = &IMAGE_DOS_HEADER_180000000; local_48 = &DAT_1815d2448; do { param_4 = (IMAGE_DOS_HEADER *)((-(longlong)param_4 ^ 0xffffffffffffffffU) + 1); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = DAT_1815d2380 ^ (DAT_1815d237c ^ (DAT_1815d2378 ^ (DAT_1815d2374 ^ (DAT_1815d2370 ^ (DAT_1815d236c ^ (DAT_1815d2368 ^ (DAT_1815d2364 ^ (DAT_1815d2360 ^ (DAT_1815d235c ^ (DAT_1815d2358 ^ (DAT_1815d2354 ^ (DAT_1815d2350 ^ (DAT_1815d234c ^ (DAT_1815d2348 ^ 0x811c9dc5) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; bVar20 = uVar6 == 0; uVar6 = uVar6 * 0x1000181; do { uVar4 = 0; FUN_1809fe548(); if ((bVar20) && ((uVar4 & 0xc2) != 0)) { param_1 = (ulonglong)(((uint)param_1 | 0x49) ^ uVar6); } uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } bVar20 = uVar7 == 0; } while (!bVar20); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = (DAT_1815d23c8 ^ (DAT_1815d23c4 ^ (DAT_1815d23c0 ^ (DAT_1815d23bc ^ (DAT_1815d23b8 ^ (DAT_1815d23b4 ^ (DAT_1815d23b0 ^ (DAT_1815d23ac ^ (DAT_1815d23a8 ^ (DAT_1815d23a4 ^ (DAT_1815d23a0 ^ (DAT_1815d239c ^ (DAT_1815d2398 ^ (DAT_1815d2394 ^ (DAT_1815d2390 ^ (DAT_1815d238c ^ (DAT_1815d2388 ^ (DAT_1815d2384 ^ uVar6) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; do { pIVar8 = (IMAGE_DOS_HEADER *)0x7528; *(undefined8 *)(puVar13 + -8) = 0x1809ffd10; FUN_1809fded1(); pIVar2 = pIVar17; if (((ulonglong)pIVar8 & 0xdf00) == 0) { puVar14 = (ulonglong *)(puVar13 + -8); puVar13 = puVar13 + -8; *puVar14 = (ulonglong)uVar6; pIVar2 = pIVar8; param_4 = pIVar17; } pIVar17 = pIVar2; /* WARNING: Call to offcut address within same function */ *(undefined8 *)(puVar13 + -8) = 0x1809ffd34; func_0x0001809ffc63(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = DAT_1815d23d0 ^ (DAT_1815d23cc ^ uVar6) * 0x1000181; do { *(undefined8 *)(puVar13 + -8) = 0x1809ffd9e; FUN_180a0094f(0x7528); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = DAT_1815d2410 ^ (DAT_1815d240c ^ (DAT_1815d2408 ^ (DAT_1815d2404 ^ (DAT_1815d2400 ^ (DAT_1815d23fc ^ (DAT_1815d23f8 ^ (DAT_1815d23f4 ^ (DAT_1815d23f0 ^ (DAT_1815d23ec ^ (DAT_1815d23e8 ^ (DAT_1815d23e4 ^ (DAT_1815d23e0 ^ (DAT_1815d23dc ^ (DAT_1815d23d8 ^ (DAT_1815d23d4 ^ uVar6 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; bVar20 = uVar6 == 0; do { uVar4 = 0; *(undefined8 *)(puVar13 + -8) = 0x1809ffeaa; iVar3 = FUN_1809fe40a(); if ((bVar20) && ((uVar4 & 0xc1) != 0)) { return (ulonglong) CONCAT31((int3)((uint)(iVar3 + 0x2a04eb01) >> 8),(char)(iVar3 + 0x2a04eb01) + '$'); } uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } bVar20 = uVar7 == 0; } while (!bVar20); do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar4 = 0; *(undefined8 *)(puVar13 + 0x80) = 0xe0a0c7bba5386ee8; *(int *)(puVar13 + 0x80) = (int)*(undefined8 *)(puVar13 + 0x80); uVar6 = ((DAT_1815d2440 ^ (DAT_1815d243c ^ (DAT_1815d2438 ^ (DAT_1815d2434 ^ (DAT_1815d2430 ^ (DAT_1815d242c ^ (DAT_1815d2428 ^ (DAT_1815d2424 ^ (DAT_1815d2420 ^ (DAT_1815d241c ^ (DAT_1815d2418 ^ (DAT_1815d2414 ^ uVar6 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ^ DAT_1815d2444) * 0x1000181 ^ 0x3eca6bdc; uVar7 = uVar6 << 0x17 | uVar6 >> 9; uVar7 = (uVar7 << 4 | (uVar6 & 0x1ff) >> 5) & 0xa5a5a5a5 | (uVar7 >> 4 | (uVar6 >> 9) << 0x1c) & 0x5a5a5a5a; uVar6 = (uVar7 >> 0xf ^ uVar7) >> 1 & 0x3fff; uVar7 = uVar7 ^ (uVar6 << 0xf | uVar6) * 2; uVar19 = (uVar7 >> 8 | uVar7 << 0x18) & 0x44bb44bb; uVar7 = ((uVar7 << 8 | uVar7 >> 0x18) & 0xbb44bb44 | uVar19) + 0x9a3aa2a1; uVar16 = (ulonglong)uVar7; uVar6 = ~(*(uint *)(puVar13 + 0x80) & uVar7); if ((~(uVar6 & *(uint *)(puVar13 + 0x80)) & ~(uVar6 & uVar7)) != 0xffffffff) { *(undefined1 **)(puVar13 + -8) = puVar13 + 0x78; *(ulonglong *)(puVar13 + -0x10) = (ulonglong)uVar19; *(ulonglong *)(puVar13 + -0x18) = param_1; uVar4 = thunk_FUN_1805a9280(); return uVar4; } iVar3 = *(int *)(puVar13 + 0x20); puVar1 = puVar13; do { puVar15 = puVar1; *(undefined8 *)(puVar15 + -8) = 0x180a001ac; lVar9 = (longlong)iVar3; FUN_180a01a12(); *(ulonglong *)(puVar15 + -8) = uVar16; *(ulonglong *)(puVar15 + -0x10) = uVar4; *(ulonglong *)(puVar15 + -0x18) = param_1; lVar9 = -lVar9; param_1 = *(ulonglong *)(puVar15 + lVar9 + 0xe78); uVar4 = *(ulonglong *)(puVar15 + lVar9 + 0xe80); uVar16 = *(ulonglong *)(puVar15 + lVar9 + 0xe88); uVar6 = (*(int *)(puVar13 + 0x78) + 1) * *(int *)(puVar13 + 0x78) & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } puVar1 = puVar15 + lVar9 + 0xe90; } while (uVar6 != 0); if ((((param_1 == 0) || (param_2 == (byte *)0x0)) || (param_4 == (IMAGE_DOS_HEADER *)0x0)) || (0x500 < param_3)) { return 99; } *(undefined8 *)(puVar15 + lVar9 + 0xe88) = 0x180a00271; FUN_1806214e0(param_4,0,0x10); if (param_3 != 0) { cVar11 = '\0'; pbVar12 = param_2 + param_3; for (; param_2 < pbVar12; param_2 = param_2 + (uVar6 + uVar7)) { *(undefined8 *)(puVar15 + lVar9 + 0xe88) = 0x180a002a0; uVar6 = FUN_180a00950(param_1,param_2,puVar15 + lVar9 + 0xeb4); uVar16 = (ulonglong)uVar6; if (0x500 < uVar6) { return 0x133; } uVar7 = *(uint *)(puVar15 + lVar9 + 0xeb4); if (pbVar12 < param_2 + uVar16 + uVar7) { return 0x133; } if ((*param_2 & 0xc0) != 0x80) { if (cVar11 == '\x03') { if (*param_2 != 0x30) { return 0x133; } pbVar12 = param_2 + uVar7; do { if (pbVar12 == (byte *)0x0) { return 0x133; } if (0x13ff < (int)uVar16 - 1U) { return 0x133; } if (pbVar12 + uVar16 <= pbVar12) { return 0x133; } *(undefined8 *)(puVar15 + lVar9 + 0xe88) = 0x180a0031c; uVar6 = FUN_180a00950(param_1,pbVar12,puVar15 + lVar9 + 0xeb8); if (0x500 < uVar6) { return 0x133; } uVar18 = (ulonglong)*(uint *)(puVar15 + lVar9 + 0xeb8); pbVar5 = pbVar12 + uVar18 + uVar6; if (pbVar12 + uVar16 < pbVar5) { return 0x133; } if (1 < (byte)(*pbVar12 - 0x17)) { return 0x133; } uVar16 = (ulonglong)(uint)((int)uVar16 + ((int)(param_2 + uVar7) - (int)pbVar5)); if (param_4 != (IMAGE_DOS_HEADER *)0x0) { if (*pbVar12 == 0x17) { if (uVar6 != 0xd) { return 0x14b; } pbVar10 = pbVar12 + uVar18; uVar6 = 0x20; if (0x34 < pbVar12[uVar18]) { uVar6 = 0x19; } } else { if (uVar6 != 0xf) { return 0x14b; } pbVar10 = pbVar12 + uVar18 + 2; uVar6 = pbVar12[uVar18 + 1] - 0x30 | (pbVar12[uVar18] - 0x30) * 0x10; } uVar6 = (((((*pbVar10 - 0x30 | uVar6 << 4) << 4 | pbVar10[1] - 0x30) << 4 | pbVar10[2] - 0x30) << 4 | pbVar10[3] - 0x30) << 4 | pbVar10[4] - 0x30) << 4 | pbVar10[5] - 0x30; param_4->e_magic[0] = (char)uVar6; param_4->e_magic[1] = (char)(uVar6 >> 8); param_4->e_cblp = (short)(uVar6 >> 0x10); iVar3 = (((((pbVar10[7] - 0x30 | (pbVar10[6] - 0x30) * 0x10) << 4 | pbVar10[8] - 0x30) << 4 | pbVar10[9] - 0x30) << 4 | pbVar10[10] - 0x30) << 4 | pbVar10[0xb] - 0x30) << 8; param_4->e_cp = (short)iVar3; param_4->e_crlc = (short)((uint)iVar3 >> 0x10); } uVar6 = (int)uVar4 + 1; uVar4 = (ulonglong)uVar6; param_4 = (IMAGE_DOS_HEADER *)(*(longlong *)(puVar15 + lVar9 + 0xf28) + 8); pbVar12 = pbVar5; } while (uVar6 < 2); return 0; } cVar11 = cVar11 + '\x01'; } } } return 0x133; } ############ FUN_ 18096f860 size=2850 ############ /* WARNING: Instruction at (ram,0x00018096fbc3) overlaps instruction at (ram,0x00018096fbc2) */ /* WARNING: Removing unreachable block (ram,0x00018097010a) */ /* WARNING: Removing unreachable block (ram,0x00018096fbbe) */ /* WARNING: Removing unreachable block (ram,0x00018096f885) */ /* WARNING: Removing unreachable block (ram,0x00018096fbad) */ /* WARNING: Removing unreachable block (ram,0x0001809703e7) */ /* WARNING: Removing unreachable block (ram,0x0001809700de) */ /* WARNING: Switch with 1 destination removed at 0x00018097030e */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_18096f860(int *param_1,undefined1 *param_2) { uint uVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; longlong lVar11; byte bVar12; uint uVar13; uint uVar14; uint uVar15; ulonglong uVar16; undefined1 *puVar17; int iVar18; uint *puVar19; uint uVar20; uint uVar21; uint uVar22; ulonglong uVar23; ulonglong uVar24; int iVar25; uint uVar26; int unaff_retaddr; undefined1 auStack_68 [40]; puVar17 = auStack_68; uVar21 = (uint)&stack0x00000000 & 0x17ff; uVar20 = (uVar21 * uVar21 * 0x10 + 4) % 0x13; uVar21 = (uint)&stack0x00000000 & 0x12ff; uVar21 = (uVar21 * uVar21 * 0x10 + 4) % 0x13; uVar14 = (int)(-uVar21 | uVar21) >> 0x1f; uVar15 = 0x811a1524; uVar21 = param_1[1]; iVar25 = (0x37 < ((byte)uVar21 & 0x3f)) + 1; uVar26 = iVar25 * 0x40; iVar18 = (*param_1 + uVar21) * 8; uVar13 = DAT_1811a1438 ^ (DAT_1811a1434 ^ (DAT_1811a1430 ^ (DAT_1811a142c ^ (DAT_1811a1428 ^ (DAT_1811a1424 ^ 0x811c9dc5) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; memset((void *)((longlong)param_1 + (ulonglong)uVar21 + 8),0,(ulonglong)(uVar26 - uVar21)); *(undefined1 *)((ulonglong)(uint)param_1[1] + 8 + (longlong)param_1) = 0x80; do { uVar21 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); uVar21 = DAT_1811a144c ^ (DAT_1811a1448 ^ (DAT_1811a1444 ^ (DAT_1811a1440 ^ (DAT_1811a143c ^ uVar13 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; *(char *)((longlong)param_1 + (ulonglong)uVar26 + 7) = (char)iVar18; uVar21 = DAT_1811a1450 ^ uVar21 * 0x1000181; *(char *)((longlong)param_1 + (ulonglong)uVar26 + 6) = (char)((uint)iVar18 >> 8); uVar21 = DAT_1811a1458 ^ (DAT_1811a1454 ^ uVar21 * 0x1000181) * 0x1000181; *(char *)((longlong)param_1 + (ulonglong)uVar26 + 5) = (char)((uint)iVar18 >> 0x10); *(char *)((longlong)param_1 + (ulonglong)uVar26 + 4) = (char)((uint)iVar18 >> 0x18); do { register0x00000020 = (BADSPACEBASE *)(~(~(ulonglong)register0x00000020 + 1) + 1); uVar13 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); do { uVar13 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar21 = _UNK_1811a1468 ^ (_UNK_1811a1464 ^ (_UNK_1811a1460 ^ (DAT_1811a145c ^ uVar21 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; FUN_180970dd0(param_1,param_1 + 2,iVar25); uVar21 = _UNK_1811a1470 ^ (_UNK_1811a146c ^ uVar21 * 0x1000181) * 0x1000181; param_2[3] = (char)param_1[0x22]; do { uVar15 = -(~uVar15 + 1); uVar13 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar21 = _UNK_1811a147c ^ (_UNK_1811a1478 ^ (_UNK_1811a1474 ^ uVar21 * 0x1000181) * 0x1000181) * 0x1000181; param_2[2] = (char)((uint)param_1[0x22] >> 8); param_2[1] = *(undefined1 *)((longlong)param_1 + 0x8a); *param_2 = *(undefined1 *)((longlong)param_1 + 0x8b); uVar21 = _UNK_1811a148c ^ (_UNK_1811a1488 ^ (_UNK_1811a1484 ^ (_UNK_1811a1480 ^ uVar21 * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; param_2[7] = (char)param_1[0x23]; uVar21 = _UNK_1811a1490 ^ uVar21 * 0x1000181; param_2[6] = (char)((uint)param_1[0x23] >> 8); param_2[5] = *(undefined1 *)((longlong)param_1 + 0x8e); param_2[4] = *(undefined1 *)((longlong)param_1 + 0x8f); uVar21 = _UNK_1811a149c ^ (_UNK_1811a1498 ^ (_UNK_1811a1494 ^ uVar21 * 0x1000181) * 0x1000181) * 0x1000181; param_2[0xb] = (char)param_1[0x24]; uVar21 = _UNK_1811a14a0 ^ uVar21 * 0x1000181; param_2[10] = (char)((uint)param_1[0x24] >> 8); param_2[9] = *(undefined1 *)((longlong)param_1 + 0x92); param_2[8] = *(undefined1 *)((longlong)param_1 + 0x93); uVar21 = _UNK_1811a14a4 ^ uVar21 * 0x1000181; param_2[0xf] = (char)param_1[0x25]; param_2[0xe] = (char)((uint)param_1[0x25] >> 8); param_2[0xd] = *(undefined1 *)((longlong)param_1 + 0x96); uVar21 = _UNK_1811a14a8 ^ uVar21 * 0x1000181; param_2[0xc] = *(undefined1 *)((longlong)param_1 + 0x97); uVar21 = _UNK_1811a14ac ^ uVar21 * 0x1000181; param_2[0x13] = (char)param_1[0x26]; param_2[0x12] = (char)((uint)param_1[0x26] >> 8); uVar21 = _UNK_1811a14b8 ^ (_UNK_1811a14b4 ^ (_UNK_1811a14b0 ^ uVar21 * 0x1000181) * 0x1000181) * 0x1000181; param_2[0x11] = *(undefined1 *)((longlong)param_1 + 0x9a); uVar21 = _UNK_1811a14c4 ^ (_UNK_1811a14c0 ^ (_UNK_1811a14bc ^ uVar21 * 0x1000181) * 0x1000181) * 0x1000181; param_2[0x10] = *(undefined1 *)((longlong)param_1 + 0x9b); uVar21 = _UNK_1811a14c8 ^ uVar21 * 0x1000181; param_2[0x17] = (char)param_1[0x27]; uVar13 = (_UNK_1811a14cc ^ uVar21 * 0x1000181) * 0x1000181; uVar24 = (ulonglong)uVar13; uVar21 = uVar13 & 0x1f | 0x2a; if (((uVar21 * uVar21 * 5 ^ 0x415b) & 0x14) == 0) { uVar21 = 0x10cc; } else { uVar21 = uVar15 & 0x9ff; } uVar26 = uVar15 & 0xbf; uVar21 = (uVar21 * uVar21 * 0x10 + 4) % 0x13; iVar18 = (uVar26 + 2) * (uVar26 + 1) * uVar26; puVar19 = (uint *)(0x1811a15d0 - ((longlong) ((((iVar18 >> 1) - (iVar18 >> 3)) + iVar18 * 0x55555555 >> 0x1e) + 0x99d0) ^ ((longlong)(((int)(-uVar21 | uVar21) >> 0x1f) * -0x18c0) | 0x98d0U))); uVar26 = (uint)puVar19 & 0x3bf; uVar21 = *puVar19; iVar18 = (uVar26 + 2) * (uVar26 + 1) * uVar26; lVar11 = (longlong)iVar18; uVar15 = (((uVar15 & 0xeff) - 1) * (uVar15 & 0xeff) - 1 & 1) << ((char)iVar18 + ((char)((ulonglong)(lVar11 * 0x55555556) >> 0x20) + (char)((lVar11 / 3 + (lVar11 >> 0x3f) & 0xffffffffU) >> 0x1f)) * -3 & 0x1fU); puVar19 = (uint *)((longlong)puVar19 + (0xc4 - ((longlong)(((int)(-uVar15 | uVar15) >> 0x1f) * -0x40dd) ^ 0x401dU))); uVar15 = *puVar19; param_2[0x16] = (char)((uint)param_1[0x27] >> 8); uVar26 = puVar19[1]; param_2[0x15] = *(undefined1 *)((longlong)param_1 + 0x9e); param_2[0x14] = *(undefined1 *)((longlong)param_1 + 0x9f); uVar1 = puVar19[2]; uVar2 = puVar19[3]; param_2[0x1b] = (char)param_1[0x28]; uVar22 = (puVar19[5] ^ (puVar19[4] ^ (uVar2 ^ (uVar1 ^ (uVar26 ^ (uVar15 ^ (uVar21 ^ uVar13) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181; bVar12 = (byte)uVar22 & 0x2f; puVar19 = (uint *)(((longlong)(0xfa8c << ((bVar12 + 1) * (bVar12 + 1) * bVar12 * bVar12 & 3)) ^ 0xfa9cU) + (longlong)(puVar19 + 5)); uVar21 = puVar19[-3]; param_2[0x1a] = (char)((uint)param_1[0x28] >> 8); param_2[0x19] = *(undefined1 *)((longlong)param_1 + 0xa2); uVar13 = puVar19[-2]; uVar15 = puVar19[-1]; uVar26 = *puVar19; uVar1 = puVar19[1]; uVar2 = puVar19[2]; uVar3 = puVar19[3]; param_2[0x18] = *(undefined1 *)((longlong)param_1 + 0xa3); uVar4 = puVar19[4]; uVar5 = puVar19[5]; uVar6 = puVar19[6]; param_2[0x1f] = (char)param_1[0x29]; uVar7 = puVar19[7]; uVar8 = puVar19[8]; uVar9 = puVar19[9]; param_2[0x1e] = (char)((uint)param_1[0x29] >> 8); param_2[0x1d] = *(undefined1 *)((longlong)param_1 + 0xa6); uVar10 = puVar19[10]; param_2[0x1c] = *(undefined1 *)((longlong)param_1 + 0xa7); uVar13 = ~(~((uVar10 ^ (uVar9 ^ (uVar8 ^ (uVar7 ^ (uVar6 ^ (uVar5 ^ (uVar4 ^ (uVar3 ^ (uVar2 ^ ( uVar1 ^ (uVar26 ^ (uVar15 ^ (uVar13 ^ (uVar21 ^ uVar22) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181) * 0x1000181 ) * 0x1000181) * 0x1000181) * 0x1000181) + 0x3105c61c); uVar23 = (ulonglong)uVar13; uVar21 = (uVar13 >> 0x10 ^ uVar13) >> 0xb & 1; uVar21 = ((uVar21 << 0x10 | uVar21) << 0xb ^ uVar13) + 0x326efe4a; uVar16 = (ulonglong)uVar21; if ((char)((uVar21 != 0x6f64361c) * '2') != '\0') { thunk_FUN_1805a9280((int)(-uVar20 | uVar20) >> 0x1f & 0x6b02U ^ 0x6ed2,uVar21); return; } do { *(ulonglong *)(puVar17 + -8) = uVar23; *(ulonglong *)(puVar17 + -0x10) = uVar16; *(ulonglong *)(puVar17 + -0x18) = uVar24; lVar11 = -(longlong)(int)(((int)(-uVar14 | uVar14) >> 0x1f) * -42999 ^ 0xa2f7); register0x00000020 = (BADSPACEBASE *)((-(longlong)register0x00000020 ^ 0xffffffffffffffffU) + 1) ; uVar24 = *(ulonglong *)(puVar17 + lVar11 + 0x4e8); uVar16 = *(ulonglong *)(puVar17 + lVar11 + 0x4f0); uVar23 = *(ulonglong *)(puVar17 + lVar11 + 0x4f8); puVar17 = puVar17 + lVar11 + 0x500; uVar21 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar21 < 0) { uVar21 = (uVar21 - 1 | 0xfffffffe) + 1; } } while (uVar21 != 0); return; } ############ FUN_ 18070fdd3 size=1294 ############ /* WARNING: Instruction at (ram,0x0001807101b5) overlaps instruction at (ram,0x0001807101b4) */ /* WARNING: Removing unreachable block (ram,0x0001807101b4) */ ulonglong FUN_18070fdd3(undefined8 param_1,undefined8 param_2,undefined8 param_3,int param_4) { longlong lVar1; undefined1 *puVar2; int iVar3; uint uVar4; uint uVar5; uint uVar6; ulonglong uVar7; longlong unaff_RBX; undefined1 *puVar8; int *unaff_RBP; uint unaff_ESI; int *unaff_RDI; longlong in_R11; undefined8 unaff_R12; undefined8 unaff_R13; ulonglong unaff_R14; ulonglong uVar9; longlong unaff_R15; int in_stack_00000068; uint in_stack_00000088; uVar5 = (*unaff_RBP + 1) * *unaff_RBP & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } if (uVar5 != 0) { FUN_18070f1f6(0x682c,param_2,param_3,unaff_R13); uVar9 = FUN_18070fdd3(); return uVar9; } uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0x80) ^ unaff_ESI >> 0x1c ^ unaff_ESI << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0x84) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0x88) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0x8c) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0x90) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0x94) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0x98) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0x9c) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xa0) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xa4) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xa8) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xac) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xb0) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xb4) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xb8) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xbc) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xc0) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xc4) ^ uVar5 >> 0x1c ^ uVar5 << 4; do { uVar7 = 0x682c; iVar3 = FUN_18070eaa8(); uVar6 = (uint)uVar7; uVar9 = unaff_R14 ^ 0xa52b236; if ((uVar7 & 0x41) == 0) { func_0x00018070e723(); uVar6 = (*unaff_RBP + 1) * *unaff_RBP & 0x80000001; uVar9 = unaff_R14; if ((int)uVar6 < 0) goto code_r0x00018070ff9f; } else { uVar4 = iVar3 + *(int *)((ulonglong)uVar5 + 0x36f68149); *(int *)(unaff_RBX + 0x488d0045) = *(int *)(unaff_RBX + 0x488d0045) + -1; *unaff_RDI = *unaff_RDI + uVar6; unaff_RDI = unaff_RDI + 1; *(char *)(ulonglong)uVar4 = *(char *)(ulonglong)uVar4 + (char)uVar4; code_r0x00018070ff9f: uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } unaff_R14 = uVar9; if (uVar6 == 0) { uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 200) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xcc) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xd0) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xd4) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xd8) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xe0) ^ (*(uint *)((longlong)unaff_RDI + unaff_RBX + 0xdc) ^ uVar5 >> 0x1c ^ uVar5 << 4) << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xe4) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xe8) ^ uVar5 >> 0x1c ^ uVar5 << 4; do { uVar7 = 0x682c; uVar6 = FUN_180710ca2(); if ((in_R11 < -0x44af8642) && ((uVar7 & 0xf700) == 0)) { return (ulonglong) CONCAT31((int3)((uVar6 | 0xebe86535) >> 8),(char)(uVar6 | 0xebe86535) + '\x02') & 0xffffffffffffff24; } uVar6 = (in_stack_00000068 + 1) * in_stack_00000068 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xec) ^ uVar5 >> 0x1c ^ uVar5 << 4; do { uVar6 = (in_stack_00000068 + 1) * in_stack_00000068 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xf0) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xf4) ^ uVar5 >> 0x1c ^ uVar5 << 4; uVar5 = uVar5 >> 0x1c ^ uVar5 << 4 ^ *(uint *)((longlong)unaff_RDI + unaff_RBX + 0xf8); do { uVar6 = (in_stack_00000068 + 1) * in_stack_00000068 & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); if (((in_stack_00000088 ^ ~(~(*(uint *)((longlong)unaff_RDI + unaff_RBX + 0xfc) ^ uVar5 >> 0x1c ^ uVar5 << 4 ^ 0x9d434a7e) + 0x15fa135)) & 0x7ffffff) == 0) { puVar2 = (undefined1 *)register0x00000020; do { puVar8 = puVar2; *(longlong *)(puVar8 + -8) = unaff_R15; *(undefined8 *)(puVar8 + -0x10) = param_3; *(undefined8 *)(puVar8 + -0x18) = unaff_R12; lVar1 = -(longlong)param_4; unaff_R12 = *(undefined8 *)(puVar8 + lVar1 + 0x7d8); param_3 = *(undefined8 *)(puVar8 + lVar1 + 0x7e0); unaff_R15 = *(longlong *)(puVar8 + lVar1 + 0x7e8); uVar5 = (in_stack_00000068 + 1) * in_stack_00000068 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } puVar2 = puVar8 + lVar1 + 0x7f0; } while (uVar5 != 0); if ((unaff_R15 == 0) || (uVar9 == 0)) { uVar9 = 99; } else { if ((int)unaff_R12 != 0) { *(undefined1 **)(puVar8 + lVar1 + 0x7e8) = &LAB_1807103eb; FUN_18072ae40(unaff_R15,uVar9,unaff_R12); } uVar9 = 0; } return uVar9; } uVar9 = thunk_FUN_1805a9280(); return uVar9; } } while( true ); } ############ FUN_ 18074feb0 size=2105 ############ /* WARNING: Removing unreachable block (ram,0x000180750704) */ /* WARNING: Removing unreachable block (ram,0x000180750041) */ /* WARNING: Removing unreachable block (ram,0x0001807502b9) */ /* WARNING: Removing unreachable block (ram,0x00018075061e) */ /* WARNING: Heritage AFTER dead removal. Example location: s0xffffffffffffff40 : 0x000180750661 */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined8 * FUN_18074feb0(undefined8 *param_1,undefined8 *param_2) { int *piVar1; longlong *plVar2; int iVar3; longlong *plVar4; undefined8 uVar5; undefined8 *puVar6; uint uVar7; ulonglong uVar8; longlong lVar9; uint *puVar10; uint *puVar11; uint *puVar12; longlong lVar13; uint uVar14; ulonglong uVar15; uint unaff_retaddr; undefined8 local_60; longlong local_58; *param_1 = pace::ILok2Commander::vftable; puVar6 = param_1 + 1; *puVar6 = 0; param_1[2] = 0; uVar5 = FUN_18077ac70(puVar6,0,0); *puVar6 = uVar5; puVar6 = param_1 + 3; *puVar6 = 0; param_1[4] = 0; uVar5 = FUN_18077ac30(puVar6); *puVar6 = uVar5; param_1[5] = 0; param_1[6] = 0; param_1[7] = pace::eden::thrift::ilok::CommandPacket::vftable; param_1[8] = pace::eden::thrift::ilok::CommandTarget::vftable; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; *(undefined4 *)(param_1 + 0xc) = 0; *(undefined2 *)((longlong)param_1 + 100) = 0; *(undefined1 *)((longlong)param_1 + 0x66) = 0; param_1[0xd] = pace::eden::thrift::ilok::CommandTarget::vftable; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; *(undefined4 *)(param_1 + 0x11) = 0; *(undefined2 *)((longlong)param_1 + 0x8c) = 0; *(undefined1 *)((longlong)param_1 + 0x8e) = 0; *(undefined4 *)(param_1 + 0x12) = 0; param_1[0x13] = 0; param_1[0x14] = 0; param_1[0x15] = 0; param_1[0x16] = 0; param_1[0x17] = 0; param_1[0x18] = 0; *(undefined4 *)(param_1 + 0x19) = 0; *(undefined1 *)((longlong)param_1 + 0xcc) = 0; FUN_180750800(param_1 + 0x1a); FUN_1806112a0(param_1 + 0x46); param_1[0x7f] = 0; param_1[0x80] = 0; param_1[0x81] = 0; param_1[0x82] = 0; param_1[0x83] = 0; param_1[0x84] = 0; uVar14 = 0x811c9e29; lVar13 = 4; lVar9 = 4; puVar10 = (uint *)0x181147004; do { puVar12 = puVar10; uVar14 = (puVar12[3] ^ (puVar12[2] ^ (puVar12[1] ^ (*puVar12 ^ uVar14) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab; lVar9 = lVar9 + -1; puVar10 = puVar12 + 4; } while (lVar9 != 0); do { FUN_18074e4b2(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); puVar10 = puVar12 + 5; uVar7 = (uint)puVar10 & 0x8ff; uVar7 = ((uVar7 + 1) * uVar7 + 7) % 0x51; puVar11 = (uint *)((longlong)puVar10 + (0x10 - ((longlong)(((int)(-uVar7 | uVar7) >> 0x1f) * -0x9c41) ^ 0x9c4dU))); uVar14 = (puVar11[0xb] ^ (puVar11[10] ^ (puVar11[9] ^ (puVar11[8] ^ (puVar11[7] ^ (puVar11[6] ^ (puVar11[5] ^ (puVar11[4] ^ (puVar11[3] ^ (puVar11[2] ^ (puVar11[1] ^ (*puVar11 ^ (*puVar10 ^ (puVar12[4] ^ uVar14) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab; *(undefined4 *)(param_1 + 0x78) = 0; puVar10 = puVar11 + 0xc; do { puVar12 = puVar10; uVar14 = (puVar12[5] ^ (puVar12[4] ^ (puVar12[3] ^ (puVar12[2] ^ (puVar12[1] ^ (*puVar12 ^ uVar14) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab; lVar13 = lVar13 + -1; puVar10 = puVar12 + 6; } while (lVar13 != 0); uVar15 = 0x2a9f3eff; FUN_180772f20(param_1,0,0x2a9f3eff,0); uVar14 = puVar12[0xf] ^ (puVar12[0xe] ^ (puVar12[0xd] ^ (puVar12[0xc] ^ (puVar12[0xb] ^ (puVar12[10] ^ (puVar12[9] ^ (puVar12[8] ^ (puVar12[7] ^ (puVar12[6] ^ uVar14) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab) * 0x10001ab; do { uVar8 = 0x7104; /* WARNING: Call to offcut address within same function */ func_0x0001807505e1(); if ((uVar8 & 0xcb00) != 0) { uVar8 = uVar15; } uVar15 = uVar8; FUN_180750de4(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); do { lVar9 = ~(uVar15 + unaff_retaddr) + 1 + (longlong)param_2; lVar13 = (longlong)param_2 - lVar9; param_2 = (undefined8 *)(lVar9 + lVar13); uVar15 = (~-lVar13 + 1U) - (ulonglong)unaff_retaddr; uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar7 = (uVar14 * 0x10001ab >> 8 | uVar14 * -0x55000000) & 0xfd02fd02 | (uVar14 * 0x1ab00 | uVar14 * 0x10001ab >> 0x18) & 0x2fd02fd; uVar14 = (uVar7 >> 0x17 ^ uVar7) & 0x7f; uVar14 = uVar7 ^ (uVar14 << 0x17 | uVar14) ^ 0xa265487b; uVar14 = uVar14 & 0xfb08214c | ~uVar14 & 0x4f7deb3; local_60 = *param_2; if (uVar14 == 0 && (uVar14 & 0x3ffff) == 0) { if (param_2[1] != 0) { LOCK(); piVar1 = (int *)(param_2[1] + 8); *piVar1 = *piVar1 + 1; UNLOCK(); } FUN_180775440(param_1); do { uVar15 = ~(((ulonglong)param_2 ^ 0xffffffffffffffff) + 1); param_2 = (undefined8 *)(uVar15 + 1); uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); plVar4 = *(longlong **)(uVar15 + 9); if (plVar4 != (longlong *)0x0) { LOCK(); plVar2 = plVar4 + 1; lVar9 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar9 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } return param_1; } local_58 = param_2[1]; if (local_58 != 0) { LOCK(); *(int *)(local_58 + 8) = *(int *)(local_58 + 8) + 1; UNLOCK(); } FUN_180775440(param_1,&local_60); puVar6 = (undefined8 *)thunk_FUN_1805a9280(); return puVar6; } ############ FUN_ 180a1f19e size=957 ############ /* WARNING: Instruction at (ram,0x000180a1f2eb) overlaps instruction at (ram,0x000180a1f2ea) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000180a1f502) */ void FUN_180a1f19e(undefined8 param_1,longlong param_2,undefined8 param_3,longlong *param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8, int param_9,undefined8 param_10,undefined8 param_11,undefined4 param_12) { undefined1 *puVar1; undefined4 uVar2; uint uVar3; uint uVar4; ulonglong uVar5; longlong *plVar6; uint unaff_EBX; undefined1 *puVar7; int unaff_EBP; undefined4 *unaff_RSI; longlong *unaff_RDI; uint *puVar8; undefined8 *puVar9; ulonglong in_R10; longlong lVar10; int *unaff_R12; int unaff_R13D; longlong unaff_R14; longlong unaff_R15; longlong *plVar11; bool bVar12; uint local_res20 [2]; int in_stack_000000a8; param_2 = unaff_R15 - param_2; plVar11 = (longlong *)(~in_R10 + 1); FUN_180a1db12(); uVar3 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } if (uVar3 != 0) { func_0x000180a20585(0x6018); FUN_180a1f19e(); return; } param_8 = 0x3f67a1ad3cc6e1bd; if (param_2 == unaff_R14) { LAB_180a1f3e5: param_7._0_4_ = local_res20[0]; param_7._4_4_ = unaff_EBX; do { puVar9 = ¶m_7; uVar2 = FUN_1809d898e(&LAB_18113e030,&LAB_18113e030); *(undefined4 *)puVar9 = uVar2; func_0x000180a206e2(); uVar3 = (in_stack_000000a8 + 1) * in_stack_000000a8 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = (uint)param_7 + 0xc3f67c0a; uVar5 = (ulonglong)uVar3; uVar4 = (uVar3 >> 10 ^ uVar3) >> 2 & 0x3f; uVar3 = (uVar4 << 10 | uVar4) << 2 ^ uVar3; local_res20[0] = uVar3 + 0xc32c6979; do { lVar10 = (longlong)plVar11 + param_2; plVar11 = (longlong *)(~(param_2 - lVar10) + 1); param_2 = lVar10 - (longlong)plVar11; uVar4 = (in_stack_000000a8 + 1) * in_stack_000000a8 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar5 = ((uVar5 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; uVar4 = (in_stack_000000a8 + 1) * in_stack_000000a8 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = uVar3 + 0x866587bc; if (uVar3 == uVar3 >> 4) { thunk_FUN_1805a9280((longlong)unaff_R13D,uVar5); return; } puVar1 = (undefined1 *)register0x00000020; do { puVar7 = puVar1; *(longlong **)(puVar7 + -8) = param_4; *(longlong *)(puVar7 + -0x10) = param_2; *(undefined4 **)(puVar7 + -0x18) = unaff_RSI; lVar10 = -(longlong)unaff_EBP; unaff_RSI = *(undefined4 **)(puVar7 + lVar10 + 0xab8); param_2 = *(longlong *)(puVar7 + lVar10 + 0xac0); param_4 = *(longlong **)(puVar7 + lVar10 + 0xac8); uVar3 = (in_stack_000000a8 + 1) * in_stack_000000a8 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } puVar1 = puVar7 + lVar10 + 0xad0; } while (uVar3 != 0); *(undefined **)(puVar7 + lVar10 + 0xac8) = &UNK_180a1f6b8; } unaff_RSI = (undefined4 *)((longlong)unaff_RSI + unaff_R14); code_r0x000180a1f210: bVar12 = unaff_RDI == (longlong *)0x0; if (!bVar12) { lVar10 = *unaff_RDI; bVar12 = lVar10 == 0; if (-1 < lVar10) { param_8 = 0x2621fc0; do { if (unaff_RSI < IMAGE_DOS_HEADER_180000000.e_magic + lVar10 + 8) { bVar12 = lVar10 == 0; if (-1 < lVar10) { plVar6 = (longlong *)(lVar10 + 0x180000000); plVar11 = (longlong *)(unaff_RSI + 1); bVar12 = plVar6 == plVar11; if (plVar6 < plVar11) { param_12 = *unaff_RSI; param_4 = unaff_RDI; goto LAB_180a1f290; } } break; } lVar10 = unaff_RDI[1]; unaff_RDI = unaff_RDI + 1; bVar12 = lVar10 == 0; } while (-1 < lVar10); } } goto LAB_180a1f2af; while( true ) { plVar6 = (longlong *)(lVar10 + 0x180000000); bVar12 = plVar6 == plVar11; if (plVar11 <= plVar6) break; LAB_180a1f290: param_4 = param_4 + 1; *(longlong *)(&stack0x000180000060 + (lVar10 - (longlong)unaff_RSI)) = *plVar6 + -0x180000000; lVar10 = *param_4; bVar12 = lVar10 == 0; if (lVar10 < 0) break; } LAB_180a1f2af: local_res20[0] = local_res20[0] * 0x3d; unaff_EBX = unaff_EBX * local_res20[0]; do { puVar8 = local_res20; uVar5 = 0x6018; FUN_180a1fdc1(); if ((!bVar12) && ((uVar5 & 0xc300) == 0)) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } uVar3 = FUN_180a1f19a(); *puVar8 = uVar3; uVar3 = (in_stack_000000a8 + 1) * in_stack_000000a8 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } bVar12 = uVar3 == 0; } while (!bVar12); if ((unaff_EBX & 0x7f) != 0) { unaff_EBX = unaff_EBX + (unaff_EBX >> 0xc); } if ((unaff_EBX & 0x3ff) != 0) { unaff_EBX = unaff_EBX ^ unaff_EBX << 0x12; } if ((unaff_EBX & 0x700) != 0) { unaff_EBX = unaff_EBX | local_res20[0]; } if (0x26 < unaff_EBX - local_res20[0]) { unaff_EBX = unaff_EBX + local_res20[0]; } unaff_R14 = unaff_R14 + 4; unaff_RSI = unaff_RSI + 1; unaff_R13D = param_9; unaff_EBP = param_7._4_4_; if (param_2 == unaff_R14) goto LAB_180a1f3e5; goto code_r0x000180a1f210; } ############ FUN_ 18077f5b0 size=2691 ############ /* WARNING: Instruction at (ram,0x00018077f6f8) overlaps instruction at (ram,0x00018077f6f6) */ /* WARNING: Removing unreachable block (ram,0x00018077f6f6) */ /* WARNING: Removing unreachable block (ram,0x00018077f668) */ /* WARNING: Removing unreachable block (ram,0x00018077f615) */ /* WARNING: Removing unreachable block (ram,0x00018077f6c4) */ /* WARNING: Removing unreachable block (ram,0x00018077f9d3) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_18077f5b0(longlong param_1,undefined8 param_2) { longlong lVar1; int *piVar2; uint uVar3; uint uVar4; code **ppcVar5; undefined1 *puVar6; undefined8 uVar7; uint uVar8; ulonglong uVar9; undefined8 in_R10; ulonglong uVar10; int iVar11; int iVar12; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_88 [32]; undefined *local_68; int *local_60; code *local_58 [3]; puVar6 = auStack_88; uVar8 = (uint)&stack0x00000000 & 0x1ff; uVar8 = (uVar8 * uVar8 * 0x10 + 4) % 0x13; uVar8 = (int)(-uVar8 | uVar8) >> 0x1f; uVar8 = ((int)(-uVar8 | uVar8) >> 0x1f) * -0x359e ^ 0x33ce; uVar9 = (ulonglong)((uint)&stack0x00000000 & 0x2ff); iVar11 = 0x90; do { FUN_180781305(); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); piVar2 = &DAT_18119d118; local_68 = &DAT_18119d218; uVar3 = (DAT_18119d118 + 0x5d59a201) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d11c) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d120) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d124) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d128) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d12c) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d130) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d134) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d138) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d13c) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d140) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d144) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d148) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d14c) * -0x395b586d; local_60 = piVar2; do { FUN_18077e318(0xd504); iVar12 = iVar11 + uVar8; iVar11 = (uVar8 - iVar12 ^ 0xffffffff) + 1; uVar8 = iVar12 - iVar11; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (DAT_18119d150 + (uVar3 ^ uVar3 >> 0x10)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d154) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d158) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + DAT_18119d15c) * -0x395b586d; do { uVar10 = ((ulonglong)piVar2 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff; piVar2 = (int *)(uVar10 + 1); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (*(int *)(uVar10 + 0x49) + (uVar3 ^ uVar3 >> 0x10)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x4d)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x51)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x55)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x59)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x5d)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x61)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x65)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x69)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x6d)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x71)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x75)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x79)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x7d)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x81)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x85)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x89)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x8d)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x91)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x95)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x99)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0x9d)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xa1)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xa5)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xa9)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xad)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xb1)) * -0x395b586d; do { FUN_180780a2f(0xd504); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar3 = (*(int *)(uVar10 + 0xb5) + (uVar3 ^ uVar3 >> 0x10)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xb9)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xbd)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xc1)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xc5)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xc9)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xcd)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xd1)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xd5)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xd9)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xdd)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xe1)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xe5)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xe9)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xed)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xf1)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xf5)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xf9)) * -0x395b586d; uVar3 = ((uVar3 >> 0x10 ^ uVar3) + *(int *)(uVar10 + 0xfd)) * -0x395b586d; uVar3 = (uVar3 >> 0x10 ^ uVar3) + 0x23a4573e; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); do { uVar7 = rdtsc(); FUN_1807809c2(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = ((uint)uVar7 ^ (uint)((ulonglong)uVar7 >> 0x20)) * 0x1a855bd1; uVar7 = 0; if ((uVar4 >> 0x18 ^ uVar4) * -0x733212ab < 0x487eddf) { local_58[0] = (code *)0x0; do { ppcVar5 = local_58; FUN_18077e11f(ppcVar5,local_58); *ppcVar5 = FUN_181194940; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar10 = (*local_58[0])(); if (1 < uVar10) { lVar1 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar1 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar1 = *(longlong *)register0x00000020; } } } if ((uVar3 * 0x8000000 | uVar3 >> 5) == 0xcb1de87) { if (*(int *)(param_1 + 0x3bc) == 2) { *(undefined4 *)(param_1 + 0x3bc) = 0; uVar9 = 0x20; (**(code **)(*(longlong *)(param_1 + 0x230) + 0x20))((longlong *)(param_1 + 0x230),param_2); *(undefined4 *)(param_1 + 0x3bc) = 2; } do { *(undefined8 *)(puVar6 + -8) = uVar7; *(ulonglong *)(puVar6 + -0x10) = uVar9; *(undefined8 *)(puVar6 + -0x18) = in_R10; lVar1 = -(longlong)iVar11; in_R10 = *(undefined8 *)(puVar6 + lVar1 + 0x78); uVar9 = *(ulonglong *)(puVar6 + lVar1 + 0x80); uVar7 = *(undefined8 *)(puVar6 + lVar1 + 0x88); puVar6 = puVar6 + lVar1 + 0x90; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); return; } if (*(int *)(param_1 + 0x3bc) != 3) { *(undefined4 *)(param_1 + 0x3bc) = 0; uVar9 = 0x20; (**(code **)(*(longlong *)(param_1 + 0x230) + 0x20))((longlong *)(param_1 + 0x230),param_2,0x20) ; *(undefined4 *)(param_1 + 0x3bc) = 2; } thunk_FUN_1805a9280((longlong)(int)uVar8,thunk_FUN_1805a9280, ~(~(~((uVar9 ^ 0xffffffffffffffff) + 1) + 1) + 1) + 1); return; } ############ FUN_ 1809fecd0 size=2284 ############ /* WARNING: Instruction at (ram,0x0001809ff103) overlaps instruction at (ram,0x0001809ff100) */ /* WARNING: Removing unreachable block (ram,0x0001809ff4e8) */ /* WARNING: Removing unreachable block (ram,0x0001809fed1c) */ /* WARNING: Removing unreachable block (ram,0x0001809feee8) */ /* WARNING: Removing unreachable block (ram,0x0001809fef96) */ /* WARNING: Removing unreachable block (ram,0x0001809fee94) */ undefined8 FUN_1809fecd0(longlong param_1,ulonglong param_2) { byte *pbVar1; char *pcVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; int iVar9; int iVar10; int iVar11; int iVar12; int iVar13; int iVar14; int iVar15; int iVar16; int iVar17; int iVar18; int iVar19; int iVar20; int iVar21; int iVar22; int iVar23; int iVar24; int iVar25; int iVar26; int iVar27; int iVar28; int iVar29; int iVar30; int iVar31; int iVar32; int iVar33; int iVar34; int iVar35; int iVar36; int iVar37; int iVar38; int iVar39; int iVar40; int iVar41; int iVar42; int iVar43; longlong lVar44; char unaff_00089100; undefined8 *unaff_0008f000; char cVar45; longlong lVar46; byte bVar47; undefined1 *puVar48; uint uVar49; longlong lVar50; undefined8 uVar51; uint uVar52; int iVar53; ulonglong uVar54; char *pcVar55; undefined1 *puVar56; undefined1 *puVar57; undefined1 *puVar59; undefined8 *puVar60; ulonglong uVar61; ulonglong uVar62; uint uVar63; uint uVar65; int unaff_retaddr; undefined1 local_98 [56]; undefined4 *local_60; undefined4 local_58; undefined *local_48; undefined8 *puVar58; ulonglong uVar64; puVar56 = local_98; uVar49 = (uint)&stack0x00000000 & 0x15ff; uVar52 = (uint)&stack0x00000000 & 0x1ff; iVar53 = uVar52 * uVar52 + 1; uVar52 = (iVar53 >> 4) + (iVar53 >> 1) + iVar53 * 0x24924924 >> 0x1d; uVar52 = (int)(uVar52 - 7) >> 0x1f & uVar52; uVar65 = 0x3650 << ((char)(((byte)(-uVar52 >> 0x18) | (byte)(uVar52 >> 0x18)) ^ (byte)(-((uVar49 + 1) * uVar49 + 0x6fa7 & 0x80000001) >> 0x18)) >> 7 & 0x1fU) ^ 0x3220; local_58 = 0x520; local_60 = &DAT_1814029f0; local_48 = &DAT_181402af0; uVar63 = (DAT_1814029f0 * 0xc1 + DAT_1814029f4) * 0xc1 + DAT_1814029f8; uVar64 = (ulonglong)uVar63; bVar47 = (byte)uVar63 & 0x2f; uVar52 = 0x47b5 >> ((bVar47 + 1) * (bVar47 + 1) * bVar47 * bVar47 & 3); uVar62 = (ulonglong)uVar52; uVar49 = uVar63 & 0x17f; uVar61 = (ulonglong)(uVar63 & 0x61ff); iVar53 = (uVar49 + 2) * (uVar49 + 1) * uVar49; cVar45 = (char)(uVar63 & 0x61ff); uVar54 = 0x47d5L >> (((cVar45 + -1) * cVar45 & 1U) - (char)(((iVar53 >> 1) - (iVar53 >> 3)) + iVar53 * 0x55555555 >> 0x1e) & 0x3f) ^ (longlong)(int)uVar52; lVar46 = -uVar54; iVar53 = *(int *)(&DAT_181402a5c + lVar46); do { uVar49 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar49 < 0) { uVar49 = (uVar49 - 1 | 0xfffffffe) + 1; } } while (uVar49 != 0); iVar3 = *(int *)(&DAT_181402a60 + lVar46); iVar4 = *(int *)(&DAT_181402a64 + lVar46); do { FUN_1809fd5d8(0x530c,uVar54); uVar49 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar49 < 0) { uVar49 = (uVar49 - 1 | 0xfffffffe) + 1; } } while (uVar49 != 0); puVar60 = (undefined8 *) (ulonglong) (((((((((((((((((((uVar63 * 0xc1 + iVar53) * 0xc1 + iVar3) * 0xc1 + iVar4) * 0xc1 + *(int *)(&DAT_181402a68 + lVar46)) * 0xc1 + *(int *)(&DAT_181402a6c + lVar46)) * 0xc1 + *(int *)(&DAT_181402a70 + lVar46)) * 0xc1 + *(int *)(&DAT_181402a74 + lVar46)) * 0xc1 + *(int *)(&DAT_181402a78 + lVar46)) * 0xc1 + *(int *)(&DAT_181402a7c + lVar46) ) * 0xc1 + *(int *)(&DAT_181402a80 + lVar46)) * 0xc1 + *(int *)(&DAT_181402a84 + lVar46)) * 0xc1 + *(int *)(&DAT_181402a88 + lVar46)) * 0xc1 + *(int *)(&DAT_181402a8c + lVar46)) * 0xc1 + *(int *)(&DAT_181402a90 + lVar46)) * 0xc1 + *(int *)(&DAT_181402a94 + lVar46)) * 0xc1 + *(int *)(&DAT_181402a98 + lVar46)) * 0xc1 + *(int *)(&DAT_181402a9c + lVar46) ) * 0xc1 + *(int *)(&DAT_181402aa0 + lVar46)) * 0xc1 + *(int *)(&DAT_181402aa4 + lVar46)); do { uVar54 = 0x530c; *(undefined8 *)(puVar56 + -8) = 0x1809ff0ea; FUN_180a00ddf(); uVar61 = (uVar61 ^ 0xffffffffffffffff) + 1; if ((uVar54 & 0xef00) == 0) { pbVar1 = (byte *)(uVar54 - 0x7d); *pbVar1 = *pbVar1 >> 1 | *pbVar1 << 7; *(undefined8 *)(puVar56 + -8) = 0x1809ff10d; iVar53 = func_0x0001b9e8820c(); unaff_00089100 = '\a'; unaff_0008f000 = (undefined8 *)(puVar56 + -8); puVar58 = (undefined8 *)(puVar56 + -8); *(undefined8 **)(puVar56 + -8) = puVar60; cVar45 = '\x06'; do { puVar60 = puVar60 + -1; puVar58 = puVar58 + -1; *puVar58 = *puVar60; cVar45 = cVar45 + -1; puVar57 = puVar56 + -8; } while ('\0' < cVar45); } else { uVar61 = ~uVar61 + 1; puVar57 = puVar56; iVar53 = unaff_retaddr; } lVar50 = (ulonglong)(byte)(unaff_00089100 - 1) * -8; *(undefined8 **)(puVar57 + lVar50 + -8) = unaff_0008f000; puVar56 = puVar57 + lVar50 + -0x8b49; uVar49 = (iVar53 + 1) * iVar53 & 0x80000001; if ((int)uVar49 < 0) { uVar49 = (uVar49 - 1 | 0xfffffffe) + 1; } puVar60 = unaff_0008f000; } while (uVar49 != 0); iVar53 = *(int *)(&DAT_181402aa8 + lVar46); iVar3 = *(int *)(&DAT_181402aac + lVar46); iVar4 = *(int *)(&DAT_181402ab0 + lVar46); iVar5 = *(int *)(&DAT_181402ab4 + lVar46); iVar6 = *(int *)(&DAT_181402ab8 + lVar46); iVar7 = *(int *)(&DAT_181402abc + lVar46); iVar8 = *(int *)(&DAT_181402ac0 + lVar46); iVar9 = *(int *)(&DAT_181402ac4 + lVar46); iVar10 = *(int *)(&DAT_181402ac8 + lVar46); iVar11 = *(int *)(&DAT_181402acc + lVar46); iVar12 = *(int *)(&DAT_181402ad0 + lVar46); iVar13 = *(int *)(&DAT_181402ad4 + lVar46); do { uVar65 = ((uVar65 ^ 0xffffffff) + 1 ^ 0xffffffff) + 1; uVar49 = (*(int *)(puVar57 + lVar50 + -0x8ab1) + 1) * *(int *)(puVar57 + lVar50 + -0x8ab1) & 0x80000001; if ((int)uVar49 < 0) { uVar49 = (uVar49 - 1 | 0xfffffffe) + 1; } } while (uVar49 != 0); iVar14 = *(int *)(&DAT_181402ad8 + lVar46); iVar15 = *(int *)(&DAT_181402adc + lVar46); iVar16 = *(int *)(&DAT_181402ae0 + lVar46); iVar17 = *(int *)(&UNK_181402ae4 + lVar46); iVar18 = *(int *)(&UNK_181402ae8 + lVar46); do { *(undefined8 *)(puVar57 + lVar50 + -0x8b51) = 0x1809ff26d; FUN_180a0094f(); uVar65 = ~-uVar65 + 1; uVar49 = (*(int *)(puVar57 + lVar50 + -0x8ab1) + 1) * *(int *)(puVar57 + lVar50 + -0x8ab1) & 0x80000001; if ((int)uVar49 < 0) { uVar49 = (uVar49 - 1 | 0xfffffffe) + 1; } } while (uVar49 != 0); lVar44 = *(longlong *)(puVar57 + lVar50 + -0x8a91); iVar19 = *(int *)(&UNK_181402aec + lVar46); iVar20 = *(int *)(&DAT_181402af0 + lVar46); iVar21 = *(int *)(&UNK_181402af4 + lVar46); iVar22 = *(int *)(&UNK_181402af8 + lVar46); iVar23 = *(int *)(&UNK_181402afc + lVar46); iVar24 = *(int *)(&UNK_181402b00 + lVar46); iVar25 = *(int *)(&UNK_181402b04 + lVar46); do { uVar62 = ~((uVar62 ^ 0xffffffffffffffff) + 1) + 1; uVar49 = (*(int *)(puVar57 + lVar50 + -0x8ab1) + 1) * *(int *)(puVar57 + lVar50 + -0x8ab1) & 0x80000001; if ((int)uVar49 < 0) { uVar49 = (uVar49 - 1 | 0xfffffffe) + 1; } } while (uVar49 != 0); iVar26 = *(int *)(&UNK_181402b08 + lVar46); iVar27 = *(int *)(&UNK_181402b0c + lVar46); iVar28 = *(int *)(&UNK_181402b10 + lVar46); iVar29 = *(int *)(&UNK_181402b14 + lVar46); iVar30 = *(int *)(&UNK_181402b18 + lVar46); iVar31 = *(int *)(&UNK_181402b1c + lVar46); iVar32 = *(int *)(&UNK_181402b20 + lVar46); iVar33 = *(int *)(&UNK_181402b24 + lVar46); iVar34 = *(int *)(&UNK_181402b28 + lVar46); iVar35 = *(int *)(&UNK_181402b2c + lVar46); iVar36 = *(int *)(&UNK_181402b30 + lVar46); iVar37 = *(int *)(&UNK_181402b34 + lVar46); iVar38 = *(int *)(&UNK_181402b38 + lVar46); iVar39 = *(int *)(&UNK_181402b3c + lVar46); iVar40 = *(int *)(&UNK_181402b40 + lVar46); iVar41 = *(int *)(&UNK_181402b44 + lVar46); iVar42 = *(int *)(&UNK_181402b48 + lVar46); iVar43 = *(int *)(&UNK_181402b4c + lVar46); *(undefined8 *)(puVar57 + lVar50 + -0x8af9) = 0xbcbe168106d2b6cb; uVar49 = ((((((((((((((((((((((((((((((((((((((((((int)unaff_0008f000 * 0xc1 + iVar53) * 0xc1 + iVar3) * 0xc1 + iVar4) * 0xc1 + iVar5) * 0xc1 + iVar6) * 0xc1 + iVar7) * 0xc1 + iVar8) * 0xc1 + iVar9 ) * 0xc1 + iVar10) * 0xc1 + iVar11) * 0xc1 + iVar12) * 0xc1 + iVar13) * 0xc1 + iVar14) * 0xc1 + iVar15) * 0xc1 + iVar16) * 0xc1 + iVar17) * 0xc1 + iVar18) * 0xc1 + iVar19) * 0xc1 + iVar20) * 0xc1 + iVar21) * 0xc1 + iVar22) * 0xc1 + iVar23) * 0xc1 + iVar24) * 0xc1 + iVar25) * 0xc1 + iVar26) * 0xc1 + iVar27) * 0xc1 + iVar28) * 0xc1 + iVar29) * 0xc1 + iVar30) * 0xc1 + iVar31) * 0xc1 + iVar32) * 0xc1 + iVar33) * 0xc1 + iVar34) * 0xc1 + iVar35) * 0xc1 + iVar36) * 0xc1 + iVar37) * 0xc1 + iVar38) * 0xc1 + iVar39) * 0xc1 + iVar40) * 0xc1 + iVar41) * 0xc1 + iVar42) * 0xc1 + iVar43 + 0x876ed571; *(int *)(puVar57 + lVar50 + -0x8b11) = (int)*(undefined8 *)(puVar57 + lVar50 + -0x8af9); uVar52 = (uVar49 * 0x8000 | uVar49 >> 0x11) ^ 0x7c55d10f; uVar49 = (uVar52 >> 0xd ^ uVar52) >> 2 & 0x7ff; uVar49 = ((uVar49 << 0xd | uVar49) << 2 ^ uVar52) - *(int *)(puVar57 + lVar50 + -0x8b11); if (uVar49 != uVar49 >> 1) { *(ulonglong *)(puVar57 + lVar50 + -0x8b51) = uVar61; *(ulonglong *)(puVar57 + lVar50 + -0x8b59) = param_2; *(ulonglong *)(puVar57 + lVar50 + -0x8b61) = uVar64; uVar51 = thunk_FUN_1805a9280((longlong)(int)uVar65,uVar52,thunk_FUN_1805a9280,uVar62); return uVar51; } iVar53 = *(int *)(puVar57 + lVar50 + -0x8b09); puVar48 = puVar57 + lVar50 + -0x8b49; do { puVar59 = puVar48; *(longlong *)(puVar59 + -8) = param_1; *(ulonglong *)(puVar59 + -0x10) = uVar61; *(ulonglong *)(puVar59 + -0x18) = uVar64; param_2 = ((param_2 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; lVar46 = -(longlong)iVar53; uVar64 = *(ulonglong *)(puVar59 + lVar46 + 0x508); uVar61 = *(ulonglong *)(puVar59 + lVar46 + 0x510); param_1 = *(longlong *)(puVar59 + lVar46 + 0x518); uVar49 = (*(int *)(puVar57 + lVar50 + -0x8ab1) + 1) * *(int *)(puVar57 + lVar50 + -0x8ab1) & 0x80000001; if ((int)uVar49 < 0) { uVar49 = (uVar49 - 1 | 0xfffffffe) + 1; } puVar48 = puVar59 + lVar46 + 0x520; } while (uVar49 != 0); uVar49 = *(uint *)(puVar59 + lVar46 + 0x5d0); if ((((param_1 == 0) || (param_2 == 0)) || (lVar44 == 0)) || (0x500 < uVar49)) { uVar51 = 99; } else { if (uVar49 != 0) { *(undefined1 **)(puVar59 + lVar46 + 0x548) = puVar59 + lVar46 + 0x554; *(undefined1 **)(puVar59 + lVar46 + 0x540) = puVar59 + lVar46 + 0x550; *(undefined8 *)(puVar59 + lVar46 + 0x518) = 0x1809ff612; lVar50 = FUN_180a00570(param_1,param_2,uVar49,CONCAT71((int7)(uVar62 >> 8),0xa0)); if (((lVar50 != 0) && (pcVar55 = (char *)((ulonglong)*(uint *)(puVar59 + lVar46 + 0x550) + lVar50), pcVar55 != (char *)0x0)) && (*(uint *)(puVar59 + lVar46 + 0x554) - 1 < 0x1400)) { pcVar2 = pcVar55 + *(uint *)(puVar59 + lVar46 + 0x554); for (; pcVar55 < pcVar2; pcVar55 = pcVar55 + (uVar52 + uVar49)) { *(undefined8 *)(puVar59 + lVar46 + 0x518) = 0x1809ff650; uVar49 = FUN_180a00950(param_1,pcVar55,puVar59 + lVar46 + 0x564); if (0x500 < uVar49) break; uVar52 = *(uint *)(puVar59 + lVar46 + 0x564); if (pcVar2 < pcVar55 + (ulonglong)uVar49 + (ulonglong)uVar52) break; if (*pcVar55 == '\x02') { *(undefined8 *)(puVar59 + lVar46 + 0x518) = 0x1809ff693; uVar51 = FUN_180a0a2c0(pcVar55 + uVar52,uVar49,lVar44); return uVar51; } } } } uVar51 = 0x12f; } return uVar51; } ############ FUN_ 18095ec40 size=2103 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00018095f40a) */ /* WARNING: Removing unreachable block (ram,0x00018095ec71) */ /* WARNING: Removing unreachable block (ram,0x00018095ed68) */ /* WARNING: Removing unreachable block (ram,0x00018095f337) */ ulonglong FUN_18095ec40(uint param_1) { byte bVar1; byte bVar2; uint uVar3; uint uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; undefined1 *puVar10; ulonglong uVar11; uint uVar12; uint uVar13; uint uVar14; ulonglong uVar15; undefined1 *puVar16; uint uVar17; uint uVar18; longlong lVar19; ulonglong uVar20; longlong lVar21; ulonglong uVar22; uint uVar23; int unaff_retaddr; undefined1 auStack_68 [40]; uVar22 = (ulonglong)param_1; lVar21 = 0; uVar17 = (uint)&stack0x00000000 & 0x42ff; uVar17 = (uVar17 * uVar17 + 1) % 7; uVar23 = (((int)(-uVar17 | uVar17) >> 0x1f) * -0x1a30 | 0x3fbcU) ^ 0x3c2c; uVar11 = (ulonglong)uVar23; bVar1 = (&DAT_181be88f0)[param_1 >> 8 & 0xff]; uVar18 = (DAT_181442268 ^ (DAT_181442264 ^ (DAT_181442260 ^ (DAT_18144225c ^ (DAT_181442258 ^ (DAT_181442254 ^ (DAT_181442250 ^ (DAT_18144224c ^ (DAT_181442248 ^ (DAT_181442244 ^ (DAT_181442240 ^ (DAT_18144223c ^ (DAT_181442238 ^ (DAT_181442234 ^ (DAT_181442230 ^ (DAT_18144222c ^ (DAT_181442228 ^ (DAT_181442224 ^ (DAT_181442220 ^ (DAT_18144221c ^ (DAT_181442218 ^ (DAT_181442214 ^ (DAT_181442210 ^ (DAT_18144220c ^ (DAT_181442208 ^ (DAT_181442204 ^ (DAT_181442200 ^ (DAT_1814421fc ^ (DAT_1814421f8 ^ (DAT_1814421f4 ^ (DAT_1814421f0 ^ (DAT_1814421ec ^ (DAT_1814421e8 ^ (DAT_1814421e4 ^ (DAT_1814421e0 ^ (DAT_1814421dc ^ (DAT_1814421d8 ^ (DAT_1814421d4 ^ (DAT_1814421d0 ^ (DAT_1814421cc ^ (DAT_1814421c8 ^ (DAT_1814421c4 ^ (DAT_1814421c0 ^ (DAT_1814421bc ^ 0x811c9e07) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7 ) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7 ) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7; uVar20 = (ulonglong)uVar18; uVar17 = uVar18 & 0x1f; uVar15 = (longlong)(ulonglong)(uVar17 * uVar17 * (uVar17 + 1) * (uVar17 + 1) & 1) >> ((byte)uVar18 & 0x1f) ^ 4; uVar17 = *(uint *)((longlong)&DAT_181442268 + uVar15); do { FUN_18095d945(0x5604); uVar12 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); uVar12 = *(uint *)((longlong)&DAT_18144226c + uVar15); uVar3 = *(uint *)((longlong)&DAT_181442270 + uVar15); uVar4 = *(uint *)((longlong)&DAT_181442274 + uVar15); do { FUN_180960c17(0x5604); uVar13 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); bVar2 = (&DAT_181be88f0)[(ulonglong)(param_1 >> 0x10) & 0xff]; uVar13 = *(uint *)((longlong)&DAT_181442278 + uVar15); uVar5 = *(uint *)((longlong)&DAT_18144227c + uVar15); uVar6 = *(uint *)((longlong)&DAT_181442280 + uVar15); uVar7 = *(uint *)((longlong)&DAT_181442284 + uVar15); uVar8 = *(uint *)((longlong)&DAT_181442288 + uVar15); uVar9 = *(uint *)((longlong)&DAT_18144228c + uVar15); do { FUN_18095e1a9(0x5604); lVar19 = lVar21 + uVar20; lVar21 = ~(uVar20 - lVar19) + 1; uVar20 = lVar19 - lVar21; uVar14 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar17 = (*(uint *)((longlong)&DAT_1814422b0 + uVar15) ^ (*(uint *)((longlong)&DAT_1814422ac + uVar15) ^ (*(uint *)((longlong)&DAT_1814422a8 + uVar15) ^ (*(uint *)((longlong)&DAT_1814422a4 + uVar15) ^ (*(uint *)((longlong)&DAT_1814422a0 + uVar15) ^ (*(uint *)((longlong)&DAT_18144229c + uVar15) ^ (*(uint *)((longlong)&DAT_181442298 + uVar15) ^ (*(uint *)((longlong)&DAT_181442294 + uVar15) ^ (*(uint *)((longlong)&DAT_181442290 + uVar15) ^ (uVar9 ^ (uVar8 ^ (uVar7 ^ (uVar6 ^ (uVar5 ^ (uVar13 ^ (uVar4 ^ (uVar3 ^ (uVar12 ^ ( uVar17 ^ uVar18) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7) * 0x10001a7 ^ *(uint *)((longlong)&DAT_1814422b4 + uVar15); uVar17 = (uVar17 * 0x70000000 | uVar17 * 0x10001a7 >> 4) ^ 0x6a57305f; uVar15 = (ulonglong)(byte)(&DAT_181be88f0)[param_1 >> 0x18]; do { lVar19 = uVar22 + lVar21; lVar21 = lVar21 - lVar19; uVar22 = -lVar21; lVar21 = lVar19 + lVar21; uVar18 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); if ((uVar17 << 0x15 | uVar17 >> 0xb) != 0xd43b7331) { FUN_18096111f(); uVar11 = thunk_FUN_1805a9280(); return uVar11; } puVar10 = auStack_68; do { puVar16 = puVar10; *(undefined8 *)(puVar16 + -8) = 0x18095f46f; lVar19 = (longlong)(int)uVar23; func_0x00018095e990(); *(longlong *)(puVar16 + -8) = lVar21; *(ulonglong *)(puVar16 + -0x10) = uVar15; *(ulonglong *)(puVar16 + -0x18) = uVar11; lVar19 = -lVar19; uVar11 = *(ulonglong *)(puVar16 + lVar19 + 0x378); uVar15 = *(ulonglong *)(puVar16 + lVar19 + 0x380); lVar21 = *(longlong *)(puVar16 + lVar19 + 0x388); uVar17 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar17 < 0) { uVar17 = (uVar17 - 1 | 0xfffffffe) + 1; } puVar10 = puVar16 + lVar19 + 0x390; } while (uVar17 != 0); return (ulonglong) (((((uint)uVar15 & 0xff) << 8 | (uint)bVar2) << 8 | (uint)bVar1) << 8 | (uint)(byte)puVar16[lVar19 + 0x400]); } ############ FUN_ 18117e4fb size=1284 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ ulonglong FUN_18117e4fb(uint *param_1,longlong param_2,undefined8 param_3,undefined8 param_4, int param_5) { int iVar1; longlong lVar2; undefined8 uVar3; ulonglong uVar4; longlong lVar5; undefined1 *puVar6; char cVar7; uint uVar8; longlong in_RAX; uint uVar9; uint uVar10; undefined4 *puVar11; uint uVar12; int *piVar13; ulonglong uVar14; undefined8 *puVar15; undefined4 unaff_EBX; undefined1 *puVar16; longlong unaff_RBP; undefined4 unaff_ESI; undefined4 unaff_EDI; undefined8 in_R11; longlong unaff_R12; int *unaff_R13; undefined4 unaff_R14D; uint *puVar17; int unaff_R15D; ulonglong unaff_retaddr; undefined1 auStackX_8 [32]; int in_stack_00000058; undefined8 in_stack_00000060; undefined8 in_stack_00000068; uint in_stack_00000070; undefined4 in_stack_00000078; uVar4 = ((in_RAX - unaff_R12) + param_2 * 0x100) * -0x3f + 0x6b96dddfU >> 5; uVar14 = uVar4 * 0x8000 + 0x2b1fcad0; *param_1 = ((uint)uVar4 ^ (uint)uVar14) & 0x7fffffff; uVar9 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } if (uVar9 != 0) { piVar13 = (int *)(unaff_RBP + -0x4c); FUN_18117ce26((longlong)&stack0x00000068 + 4); uVar3 = rdtsc(); *piVar13 = (int)uVar3 + (int)((ulonglong)uVar3 >> 0x20) * 8; uVar14 = FUN_18117e4fb(); return uVar14; } in_stack_00000068._4_4_ = in_stack_00000068._4_4_ ^ *(uint *)(unaff_RBP + -0x7c); if (in_stack_00000068._4_4_ < 0x588fe9) { do { uVar9 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); *(undefined4 *)(unaff_RBP + 0x90) = unaff_ESI; *(undefined4 *)(unaff_RBP + 0x94) = unaff_EDI; *(undefined4 *)(unaff_RBP + 0x98) = unaff_R14D; *(undefined4 *)(unaff_RBP + 0x9c) = unaff_EBX; do { puVar15 = (undefined8 *)(unaff_RBP + -0x30); puVar11 = &stack0x00000070; /* WARNING: Call to offcut address within same function */ func_0x00018117ea25(); *puVar11 = 0xfac8fa44; in_R11 = 0; *puVar15 = 0x18117e653; FUN_18117f001(); uVar9 = (*(int *)(unaff_RBP + 0x138) + 1) * *(int *)(unaff_RBP + 0x138) & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = ~(~(in_stack_00000070 << 0x16 | in_stack_00000070 >> 10) + 0xc5bb9345); in_stack_00000070 = (uVar9 >> 9 | uVar9 << 0x17) ^ 0x83494ad2; (*(code *)((longlong)(int)in_stack_00000070 + *(longlong *)(unaff_RBP + -0x30))) (unaff_RBP + 0x90,unaff_RBP + 0xd8); uVar9 = *(uint *)(unaff_RBP + 0xd8); uVar12 = *(uint *)(unaff_RBP + 0xdc); unaff_retaddr = 7; do { uVar8 = (uVar9 >> 0xc ^ uVar9) >> 2 & 0xfff; uVar10 = (uVar12 >> 5 ^ uVar12) >> 8 & 1; uVar9 = (uVar8 << 0xc | uVar8) << 2 ^ uVar9; uVar8 = (uVar9 >> 0x18 | uVar9 << 8) + 0x6e4157a7; uVar10 = (uVar12 << 0x1c | ((uVar10 << 5 | uVar10) << 8 ^ uVar12) >> 4) + 0x20a786ca; uVar9 = (uVar8 >> 0xb ^ uVar8) >> 9 & 0x3ff; uVar12 = uVar8 ^ (uVar9 << 0xb | uVar9) << 9; uVar9 = (uVar10 >> 0x11 ^ uVar10) >> 0xb & 3; uVar10 = uVar10 ^ (uVar9 << 0x11 | uVar9) << 0xb; uVar9 = (uVar12 >> 4 | uVar8 * 0x10000000) & 0x78787878; uVar14 = (ulonglong)uVar9; uVar9 = (uVar12 << 4 | uVar12 >> 0x1c) & 0x87878787 | uVar9; uVar12 = (uVar10 >> 0x10 | uVar10 << 0x10) & 0xa3635c9c | (uVar10 << 0x10 | uVar10 >> 0x10) & 0x5c9ca363; uVar12 = (uVar12 << 0x12 | uVar12 >> 0xe) + 0x607d5440; uVar8 = uVar12 ^ (uVar9 << 0x12 | uVar9 >> 0xe) + 0x270a0bab; uVar9 = uVar8 & 0x3c3c3c3c ^ uVar12; uVar8 = uVar8 & 0xc3c3c3c3 ^ uVar12 ^ uVar9; uVar12 = uVar8 & 0x8cbe5e76 ^ uVar9; uVar9 = uVar8 & 0x7341a189 ^ uVar9; uVar8 = (int)unaff_retaddr - 1; unaff_retaddr = (ulonglong)uVar8; } while (-1 < (int)uVar8); uVar9 = ((~uVar9 ^ 0x3baf7562) >> 0x11 | (~uVar9 ^ 0x3baf7562) << 0xf) ^ 0xc55b1aa5; uVar9 = (uVar9 >> 5 | uVar9 << 0x1b) + 0xb21e6551; uVar9 = (uVar9 >> 5 | uVar9 * 0x8000000) + 0x615aefaf; if (((uVar9 * 0x8000 | uVar9 >> 0x11) ^ 0x2208683e) + uVar12 != in_stack_00000060._4_4_) { do { *(code **)(unaff_RBP + -0x28) = FUN_180bc2900; iVar1 = *(int *)(unaff_RBP + 0x138); uVar9 = (iVar1 + 1) * iVar1 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); (**(code **)(unaff_RBP + -0x28))(); do { iVar1 = *(int *)(unaff_RBP + 0x138); uVar9 = (iVar1 + 1) * iVar1 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); } } puVar17 = (uint *)(unaff_RBP + 0x138); if (((int)CONCAT71((int7)((ulonglong)unaff_R12 >> 8),param_5 == in_stack_00000058) * 5 & 0x3fffffffU) != 0) { puVar6 = auStackX_8; do { puVar16 = puVar6; *(ulonglong *)(puVar16 + -8) = unaff_retaddr; *(undefined8 *)(puVar16 + -0x10) = in_R11; *(ulonglong *)(puVar16 + -0x18) = uVar14; puVar17 = (uint *)(~-(longlong)puVar17 + 1); lVar5 = -(longlong)unaff_R15D; uVar14 = *(ulonglong *)(puVar16 + lVar5 + 0x728); in_R11 = *(undefined8 *)(puVar16 + lVar5 + 0x730); unaff_retaddr = *(ulonglong *)(puVar16 + lVar5 + 0x738); uVar9 = (*puVar17 + 1) * *puVar17 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } puVar6 = puVar16 + lVar5 + 0x740; } while (uVar9 != 0); lVar2 = *(longlong *)(unaff_RBP + -0x60); *(undefined8 *)(puVar16 + lVar5 + 0x738) = 0x18117eb12; cVar7 = FUN_1812457c0(lVar2 + 0x20); if (cVar7 == '\0') { *(undefined **)(puVar16 + lVar5 + 0x738) = &UNK_18117f7e1; } *(undefined8 *)(puVar16 + lVar5 + 0x738) = 0x18117eb2d; FUN_181244920(lVar2 + 0x20,puVar16 + lVar5 + 0x7b8); *(undefined8 *)(puVar16 + lVar5 + 0x738) = 0x18117eb3c; FUN_181248710(unaff_RBP + 0x40,puVar16 + lVar5 + 0x7b8); do { uVar9 = *puVar17; uVar12 = (uVar9 + 1) * uVar9 & 0x80000001; if ((int)uVar12 < 0) { uVar12 = (uVar12 - 1 | 0xfffffffe) + 1; } } while (uVar12 != 0); *(int *)(puVar16 + lVar5 + 0x770) = (int)unaff_R12; *(undefined8 *)(puVar16 + lVar5 + 0x738) = 0xb1af927; *(longlong *)(puVar16 + lVar5 + 0x730) = lVar2; *(undefined **)(puVar16 + lVar5 + 0x728) = &DAT_18117eca7; *(undefined **)(puVar16 + lVar5 + 0x720) = &DAT_18117d21e; *(undefined1 **)(puVar16 + lVar5 + 0x718) = &LAB_181183e5a; *(undefined1 **)(puVar16 + lVar5 + 0x710) = &LAB_1811786e1; *(undefined **)(puVar16 + lVar5 + 0x708) = &DAT_18117ee5e; *(undefined1 **)(puVar16 + lVar5 + 0x700) = &LAB_181185ddb_1; *(undefined1 **)(puVar16 + lVar5 + 0x6f8) = &LAB_18117ef29; return (ulonglong)uVar9 & 0xfffffffffffffff8; } FUN_1811801df(); uVar14 = thunk_FUN_1805a9280(); return uVar14; } ############ FUN_ 18096dba0 size=1844 ############ /* WARNING: Removing unreachable block (ram,0x00018096e0f1) */ /* WARNING: Removing unreachable block (ram,0x00018096df41) */ /* WARNING: Removing unreachable block (ram,0x00018096de6e) */ /* WARNING: Removing unreachable block (ram,0x00018096e0ad) */ /* WARNING: Removing unreachable block (ram,0x00018096e20f) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ ulonglong FUN_18096dba0(longlong param_1,longlong param_2,uint param_3) { char cVar1; char cVar2; ulonglong uVar3; ulonglong uVar4; ulonglong uVar5; longlong lVar6; undefined1 *puVar7; ulonglong uVar8; int iVar9; uint uVar10; uint uVar11; undefined8 uVar12; uint uVar13; longlong lVar14; longlong lVar15; int unaff_retaddr; undefined1 auStack_78 [32]; uint local_58; uint local_54; undefined8 local_50; int *local_48; puVar7 = auStack_78; uVar4 = (ulonglong)param_3; uVar13 = (uint)&stack0x00000000; iVar9 = (uVar13 & 0x41ff) * (uVar13 & 0x41ff) + 1; uVar11 = (iVar9 >> 4) + (iVar9 >> 1) + iVar9 * 0x24924924 >> 0x1d; uVar11 = (int)(uVar11 - 7) >> 0x1f & uVar11; uVar11 = (int)(-uVar11 | uVar11) >> 0x1f; local_54 = (int)(-uVar11 | uVar11) >> 0x1f & 0x4e86U ^ 0x4f16; uVar10 = ((uVar13 & 0xeff) * (uVar13 & 0xeff) * 0x10 + 4) % 0x13; uVar11 = ((uVar13 & 0x19ff) * (uVar13 & 0x19ff) * 0x10 + 4) % 0x13; uVar11 = (int)((-uVar11 | uVar11) & (-uVar10 | uVar10)) >> 0x1f; local_58 = ((int)(-uVar11 | uVar11) >> 0x1f) * -0xb759 ^ 0xb729; local_50 = 0x100; local_48 = &DAT_181201790; uVar12 = 0; iVar9 = ((((((((((DAT_181201790 * 0x6b + _DAT_181201794) * 0x6b + _DAT_181201798) * 0x6b + _DAT_18120179c) * 0x6b + _DAT_1812017a0) * 0x6b + _DAT_1812017a4) * 0x6b + _DAT_1812017a8) * 0x6b + _DAT_1812017ac) * 0x6b + _DAT_1812017b0) * 0x6b + _DAT_1812017b4) * 0x6b + _DAT_1812017b8) * 0x6b + _DAT_1812017bc; do { FUN_18096d3fc(); uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar11 = (((((((((((((((((iVar9 * 0x6b + _DAT_1812017c0) * 0x6b + _LAB_1812017c4) * 0x6b + _DAT_1812017c8) * 0x6b + _DAT_1812017cc) * 0x6b + _DAT_1812017d0) * 0x6b + _DAT_1812017d4) * 0x6b + _DAT_1812017d8) * 0x6b + _DAT_1812017dc) * 0x6b + _DAT_1812017e0) * 0x6b + _DAT_1812017e4) * 0x6b + _DAT_1812017e8) * 0x6b + _DAT_1812017ec) * 0x6b + _DAT_1812017f0) * 0x6b + _DAT_1812017f4) * 0x6b + _DAT_1812017f8) * 0x6b + _DAT_1812017fc) * 0x6b + _UNK_181201800) * 0x6b + _UNK_181201804; if ((uVar11 & 0x280) == 0) { uVar10 = uVar11 & 7 | 0x4d; uVar10 = (uint)(uVar10 * uVar10 * 0x19a3 == 0xe1024); } else { uVar10 = uVar11 & 0xf; uVar10 = uVar10 * uVar10 * (uVar10 + 1) * (uVar10 + 1) & 0x80000003; } uVar3 = (longlong)(int)uVar10 ^ 8; cVar2 = (char)(uVar3 + 0x9c); uVar11 = (((((((((((uVar11 * 0x6b + *(int *)(&UNK_181201800 + uVar3)) * 0x6b + *(int *)(&UNK_181201804 + uVar3)) * 0x6b + *(int *)(&UNK_181201808 + uVar3)) * 0x6b + *(int *)(&UNK_18120180c + uVar3)) * 0x6b + *(int *)(&UNK_181201810 + uVar3)) * 0x6b + *(int *)(&UNK_181201814 + uVar3)) * 0x6b + *(int *)(&UNK_181201818 + uVar3)) * 0x6b + *(int *)(&UNK_18120181c + uVar3)) * 0x6b + *(int *)(&UNK_181201820 + uVar3)) * 0x6b + *(int *)(&UNK_181201824 + uVar3)) * 0x6b + *(int *)(&UNK_181201828 + uVar3)) * 0x6b + *(int *)(&UNK_18120182c + uVar3); uVar8 = (ulonglong)uVar11; uVar5 = (ulonglong)(uVar11 & 0x68ff); cVar1 = (char)(uVar11 & 0x68ff); lVar6 = uVar3 + 0x9c + (0x18 - ((longlong)(0xd715 << (((cVar2 + -1) * cVar2 ^ (cVar1 + -1) * cVar1) & 1U)) ^ 0xd701U)); do { param_1 = param_1 + uVar5; uVar5 = ~((~(uVar5 - param_1) + 1) - param_1) + 1; param_1 = param_1 - uVar5; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar11 = (((((((((uVar11 * 0x6b + *(int *)(lVar6 + 0x181201790)) * 0x6b + *(int *)(&DAT_181201794 + lVar6)) * 0x6b + *(int *)(&DAT_181201798 + lVar6)) * 0x6b + *(int *)(&DAT_18120179c + lVar6)) * 0x6b + *(int *)(&DAT_1812017a0 + lVar6)) * 0x6b + *(int *)(&DAT_1812017a4 + lVar6)) * 0x6b + *(int *)(&DAT_1812017a8 + lVar6)) * 0x6b + *(int *)(&DAT_1812017ac + lVar6)) * 0x6b + *(int *)(&DAT_1812017b0 + lVar6)) * 0x6b + *(int *)(&DAT_1812017b4 + lVar6); uVar3 = (ulonglong)uVar11; do { /* WARNING: Call to offcut address within same function */ func_0x00018096dc35(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); uVar11 = (((((((((((uVar11 * 0x6b + *(int *)(&DAT_1812017b8 + lVar6)) * 0x6b + *(int *)(&DAT_1812017bc + lVar6)) * 0x6b + *(int *)(&DAT_1812017c0 + lVar6)) * 0x6b + *(int *)(&LAB_1812017c4 + lVar6)) * 0x6b + *(int *)(&DAT_1812017c8 + lVar6)) * 0x6b + *(int *)(&DAT_1812017cc + lVar6)) * 0x6b + *(int *)(&DAT_1812017d0 + lVar6)) * 0x6b + *(int *)(&DAT_1812017d4 + lVar6)) * 0x6b + *(int *)(&DAT_1812017d8 + lVar6)) * 0x6b + *(int *)(&DAT_1812017dc + lVar6)) * 0x6b + *(int *)(&DAT_1812017e0 + lVar6)) * 0x6b + *(int *)(&DAT_1812017e4 + lVar6) ^ 0xa1d124a6; uVar11 = (uVar11 << 0xf | uVar11 >> 0x11) ^ 0x79ec1d9e; if ((char)((uVar11 != 0x98d5fc0e) * '\x0e') == '\0') { do { *(ulonglong *)(puVar7 + -8) = uVar3; *(ulonglong *)(puVar7 + -0x10) = uVar8; *(undefined8 *)(puVar7 + -0x18) = uVar12; lVar6 = -(longlong)(int)local_58; lVar14 = param_1 + (uVar4 - 0x405cd786); lVar15 = (uVar4 - 0x405cd786) - lVar14; param_1 = -lVar15; uVar4 = lVar14 + lVar15 + 0x405cd786; uVar12 = *(undefined8 *)(puVar7 + lVar6 + 0x58); uVar8 = *(ulonglong *)(puVar7 + lVar6 + 0x60); uVar3 = *(ulonglong *)(puVar7 + lVar6 + 0x68); puVar7 = puVar7 + lVar6 + 0x70; uVar11 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar11 < 0) { uVar11 = (uVar11 - 1 | 0xfffffffe) + 1; } } while (uVar11 != 0); uVar4 = (ulonglong)(uint)((int)uVar4 >> 0x1f) << 0x20 | uVar4 & 0xffffffff; return (ulonglong) ((*(uint *)(*(longlong *)(param_2 + 8) + (longlong)(int)((longlong)uVar4 / (longlong)*(int *)(param_1 + 8)) * 4) & 1 << ((byte)((longlong)uVar4 % (longlong)*(int *)(param_1 + 8)) & 0x1f)) != 0); } uVar4 = thunk_FUN_1805a9280((longlong)(int)local_54,uVar11,0x18096e313); return uVar4; } ############ FUN_ 180a5ddf2 size=618 ############ /* WARNING: Instruction at (ram,0x000180a5de91) overlaps instruction at (ram,0x000180a5de8e) */ /* WARNING: Removing unreachable block (ram,0x000180a5dddc) */ /* WARNING: Removing unreachable block (ram,0x000180a5de8b) */ /* WARNING: Removing unreachable block (ram,0x000180a5de84) */ /* WARNING: Removing unreachable block (ram,0x000180a5de89) */ /* WARNING: Removing unreachable block (ram,0x000180a5df9e) */ /* WARNING: Removing unreachable block (ram,0x000180a5dde4) */ /* WARNING: Removing unreachable block (ram,0x000180a5dde6) */ void FUN_180a5ddf2(void) { uint uVar1; uint uVar2; longlong unaff_RBX; int unaff_EBP; int unaff_ESI; longlong unaff_RDI; undefined8 in_R9; undefined8 in_R10; longlong in_R11; longlong lVar3; longlong lVar4; longlong unaff_R14; longlong lVar5; int *unaff_R15; lVar5 = -unaff_R14; lVar3 = in_R11 + unaff_R14; do { uVar1 = (*unaff_R15 + 1) * *unaff_R15 & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); uVar1 = (*(int *)(unaff_RDI + 0x38 + unaff_RBX) + unaff_ESI) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RDI + 0x3c + unaff_RBX)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RDI + 0x40 + unaff_RBX)) * 0x401; uVar1 = ((uVar1 >> 6 ^ uVar1) + *(int *)(unaff_RDI + 0x44 + unaff_RBX)) * 0x401; uVar1 = uVar1 ^ uVar1 >> 6; do { func_0x000180a5f21b(); uVar2 = (*unaff_R15 + 1) * *unaff_R15 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = (uVar1 >> 8 | uVar1 << 0x18) & 0x857a857a | (uVar1 << 8 | uVar1 >> 0x18) & 0x7a857a85; do { lVar4 = lVar3 + lVar5; lVar3 = ~(lVar5 - lVar4) + 1; lVar5 = lVar4 - lVar3; uVar2 = (*unaff_R15 + 1) * *unaff_R15 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = ((uVar1 >> 0x10 | uVar1 << 0x10) & 0x815d7ea2 | (uVar1 << 0x10 | uVar1 >> 0x10) & 0x7ea2815d) ^ 0xb2b9965; if ((uVar1 & 0x7fffffff) == 0 && uVar1 == 0) { do { *(undefined8 *)((longlong)register0x00000020 + -8) = 0x180a5df79; lVar3 = (longlong)unaff_EBP; FUN_180a5ed6d(); *(longlong *)((longlong)register0x00000020 + -8) = lVar5; *(undefined8 *)((longlong)register0x00000020 + -0x10) = in_R10; *(undefined8 *)((longlong)register0x00000020 + -0x18) = in_R9; lVar3 = -lVar3; in_R9 = *(undefined8 *)((longlong)register0x00000020 + lVar3 + 0x108); in_R10 = *(undefined8 *)((longlong)register0x00000020 + lVar3 + 0x110); lVar5 = *(longlong *)((longlong)register0x00000020 + lVar3 + 0x118); register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + lVar3 + 0x120); uVar1 = (*unaff_R15 + 1) * *unaff_R15 & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); FUN_180a59120(); return; } FUN_180a5fc99(); thunk_FUN_1805a9280(); return; } ############ FUN_ 18092d1f0 size=2611 ############ /* WARNING: Instruction at (ram,0x00018092d712) overlaps instruction at (ram,0x00018092d711) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018092d688) */ /* WARNING: Removing unreachable block (ram,0x00018092d3bf) */ /* WARNING: Removing unreachable block (ram,0x00018092d2fc) */ /* WARNING: Removing unreachable block (ram,0x00018092d352) */ /* WARNING: Removing unreachable block (ram,0x00018092d607) */ /* WARNING: Removing unreachable block (ram,0x00018092d60b) */ /* WARNING: Removing unreachable block (ram,0x00018092d70e) */ void FUN_18092d1f0(undefined8 *param_1,undefined8 *param_2,ulonglong param_3,undefined4 param_4, undefined8 *param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8, undefined8 param_9) { longlong *plVar1; longlong *plVar2; code *pcVar3; undefined8 *puVar4; undefined1 *puVar5; uint uVar6; uint uVar7; uint uVar8; longlong lVar9; void *pvVar10; int iVar11; int *piVar12; undefined1 *puVar13; undefined8 *puVar14; longlong lVar15; ulonglong uVar16; longlong lVar17; undefined8 in_R10; uint uVar18; ulonglong uVar19; longlong lVar20; ulonglong uVar21; uint unaff_retaddr; undefined1 auStack_188 [32]; undefined4 local_168; undefined8 *local_160; undefined8 local_158; undefined8 local_150; undefined8 local_148; undefined8 local_140; undefined8 local_138; undefined8 local_130; undefined8 *local_128; undefined4 local_120; undefined8 *local_118; uint local_110; undefined8 local_108; undefined8 local_100; undefined8 local_f8; ulonglong local_f0; undefined8 local_e8; longlong local_e0; undefined8 local_d8; longlong local_d0; undefined8 local_c8; longlong local_c0; undefined8 local_b8; longlong local_b0; undefined8 local_a8; undefined8 *local_a0; undefined8 *local_98; undefined8 *local_90; void *local_88 [3]; ulonglong local_70; void *local_68 [3]; ulonglong local_50; ulonglong local_48; local_a8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_188; local_90 = param_5; local_f8 = param_7; local_100 = param_8; local_108 = param_9; *param_1 = pace::ClientConnectionOpener::vftable; param_1[1] = 0; param_1[2] = 0; param_1[5] = 0; param_1[6] = 0xf; *(undefined1 *)(param_1 + 3) = 0; param_1[7] = 0; param_1[8] = 0; *(undefined1 *)(param_1 + 9) = 0; param_1[10] = 0; param_1[0xb] = 0; local_128 = param_2; local_120 = param_4; local_118 = param_1; local_f0 = param_3; local_a0 = param_1; local_98 = param_2; FUN_180575180(param_1 + 0xc); puVar4 = local_128; param_1[0x6b] = 0; param_1[0x6c] = 0; param_1[0x6d] = 0; if (((ulonglong)&stack0x00000000 & 0x180) == 0) { uVar6 = 0x6814ef5; } else { uVar6 = (uint)&stack0x00000000 & 0xeff; uVar6 = (uVar6 + 1) * uVar6 + 0x11e1 & 0x80000001; } uVar19 = (ulonglong)(((int)(-uVar6 | uVar6) >> 0x1f) * 0x1a & 0xde06U ^ 0xd0f6); uVar6 = (uint)&stack0x00000000 & 0x27f; iVar11 = (uVar6 + 2) * (uVar6 + 1) * uVar6; local_110 = 0xa97c >> ((byte)(((iVar11 >> 1) - (iVar11 >> 3)) + iVar11 * 0x55555555 >> 0x1e) & 0x1f) ^ 0xa47c; local_130 = 0x1813ecee4; uVar6 = (iRam00000001813ecde4 + -0x1c8676a7) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + iRam00000001813ecde8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + iRam00000001813ecdec) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + iRam00000001813ecdf0) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + iRam00000001813ecdf4) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + iRam00000001813ecdf8) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + iRam00000001813ecdfc) * 0x401; do { uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar6 = (iRam00000001813ece00 + (uVar6 ^ uVar6 >> 6)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + iRam00000001813ece04) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + iRam00000001813ece08) * 0x401; uVar21 = (ulonglong)(uVar6 ^ uVar6 >> 6); piVar12 = &iRam00000001813ece0c; do { lVar20 = uVar19 + uVar21; uVar19 = ~(uVar21 - lVar20) + 1; uVar21 = lVar20 - uVar19; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = (iRam00000001813ece0c + (int)uVar21) * 0x401; lVar20 = 0x11; do { piVar12 = piVar12 + 1; uVar6 = ((uVar6 >> 6 ^ uVar6) + *piVar12) * 0x401; lVar20 = lVar20 + -1; } while (lVar20 != 0); uVar6 = uVar6 ^ uVar6 >> 6; uVar7 = uVar6 & 0x30ff; piVar12 = (int *)((longlong)piVar12 + ((longlong) (0x98f4 << ((byte)(((uVar7 + 1) * uVar7 & 0x80000001) << ((byte)piVar12 & 0x1f)) & 0x1f)) ^ 0x98f0U)); uVar6 = (*piVar12 + uVar6) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[1]) * 0x401; uVar18 = ((uVar6 >> 6 ^ uVar6) + piVar12[2]) * 0x401; uVar7 = uVar18 >> 6; uVar6 = uVar7; do { uVar21 = 0xec24; do { uVar16 = uVar21; if ((uVar16 & 0xc3) == 0) goto code_r0x00018092d71b; uVar6 = uVar6 - iRamffffffff854c03eb; uVar21 = uVar16 - 1; } while (uVar16 - 1 != 0); *(byte *)(uVar16 + 0x57) = *(byte *)(uVar16 + 0x57) | (byte)uVar6; code_r0x00018092d71b: uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } uVar6 = unaff_retaddr; if (uVar8 == 0) { uVar6 = (piVar12[3] + (uVar18 ^ uVar7)) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[4]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[5]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[6]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[7]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[8]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[9]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[10]) * 0x401; piVar12 = piVar12 + 0xb; local_128 = (undefined8 *)0x9ff98bc38809885d; local_138 = 0x18809885d; lVar20 = 4; do { uVar6 = ((uVar6 >> 6 ^ uVar6) + *piVar12) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[1]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[2]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[3]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[4]) * 0x401; uVar6 = ((uVar6 >> 6 ^ uVar6) + piVar12[5]) * 0x401; piVar12 = piVar12 + 6; lVar20 = lVar20 + -1; } while (lVar20 != 0); uVar6 = ((uVar6 >> 6 ^ uVar6) + *piVar12) * 0x401; uVar6 = (uVar6 >> 6 ^ uVar6) + 0xa8fdd68; local_e8 = *param_5; if ((uVar6 * 0x80000 | uVar6 >> 0xd) != 0x8809885d) { local_c0 = param_5[1]; if (local_c0 != 0) { LOCK(); *(int *)(local_c0 + 8) = *(int *)(local_c0 + 8) + 1; UNLOCK(); } local_b8 = *puVar4; local_b0 = puVar4[1]; if (local_b0 != 0) { LOCK(); *(int *)(local_b0 + 8) = *(int *)(local_b0 + 8) + 1; UNLOCK(); } local_140 = local_108; local_148 = local_100; local_150 = local_f8; local_158 = param_6; local_160 = &local_c8; local_168 = local_120; local_c8 = local_e8; FUN_180930610(local_118,local_68,&local_b8,local_f0); if (0xf < local_50) { pvVar10 = local_68[0]; if ((0xfff < local_50 + 1) && (pvVar10 = *(void **)((longlong)local_68[0] + -8), 0x1f < (ulonglong)((longlong)local_68[0] + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } FUN_18092ec13(); thunk_FUN_1805a9280(); return; } local_e0 = param_5[1]; if (local_e0 != 0) { LOCK(); *(int *)(local_e0 + 8) = *(int *)(local_e0 + 8) + 1; UNLOCK(); } local_d8 = *puVar4; local_d0 = puVar4[1]; if (local_d0 != 0) { LOCK(); *(int *)(local_d0 + 8) = *(int *)(local_d0 + 8) + 1; UNLOCK(); } local_140 = local_108; local_148 = local_100; local_150 = local_f8; local_158 = param_6; local_160 = &local_e8; local_168 = local_120; puVar14 = &local_d8; uVar21 = local_f0; FUN_180930610(local_118,local_88,puVar14,local_f0); if (0xf < local_70) { pvVar10 = local_88[0]; if ((0xfff < local_70 + 1) && (pvVar10 = *(void **)((longlong)local_88[0] + -8), 0x1f < (ulonglong)((longlong)local_88[0] + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } lVar20 = (longlong)(int)local_110; uVar16 = local_70; puVar5 = auStack_188; do { puVar13 = puVar5; *(undefined8 *)(puVar13 + -8) = 0x18092d94b; lVar9 = lVar20; FUN_18092d0c2(lVar20,uVar16); *(undefined8 *)(puVar13 + -8) = in_R10; *(ulonglong *)(puVar13 + -0x10) = uVar19; *(undefined8 **)(puVar13 + -0x18) = param_5; lVar15 = (longlong)puVar14 + ~uVar21 + 1; lVar17 = ~((~((~uVar21 + 1) - lVar15) + 1) - lVar15) + 1; lVar15 = (lVar15 - lVar17) + uVar16; puVar14 = (undefined8 *)(~(uVar16 - lVar15) + 1); uVar16 = lVar15 - (longlong)puVar14; uVar21 = ~((-lVar17 ^ 0xffffffffffffffffU) + 1) + 1; lVar9 = -lVar9; param_5 = *(undefined8 **)(puVar13 + lVar9 + 0xce8); uVar19 = *(ulonglong *)(puVar13 + lVar9 + 0xcf0); in_R10 = *(undefined8 *)(puVar13 + lVar9 + 0xcf8); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } puVar5 = puVar13 + lVar9 + 0xd00; } while (uVar6 != 0); plVar2 = (longlong *)puVar4[1]; if (plVar2 != (longlong *)0x0) { LOCK(); plVar1 = plVar2 + 1; lVar20 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar20 == 1) { pcVar3 = *(code **)(*plVar2 + 8); *(undefined8 *)(puVar13 + lVar9 + 0xcf8) = 0x18092dc2c; (*pcVar3)(plVar2); LOCK(); piVar12 = (int *)((longlong)plVar2 + 0xc); iVar11 = *piVar12; *piVar12 = *piVar12 + -1; UNLOCK(); if (iVar11 == 1) { pcVar3 = *(code **)(*plVar2 + 0x10); *(undefined8 *)(puVar13 + lVar9 + 0xcf8) = 0x18092dc41; (*pcVar3)(plVar2); } } } plVar2 = (longlong *)param_5[1]; if (plVar2 != (longlong *)0x0) { LOCK(); plVar1 = plVar2 + 1; lVar20 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar20 == 1) { pcVar3 = *(code **)(*plVar2 + 8); *(undefined8 *)(puVar13 + lVar9 + 0xcf8) = 0x18092dc60; (*pcVar3)(plVar2); LOCK(); piVar12 = (int *)((longlong)plVar2 + 0xc); iVar11 = *piVar12; *piVar12 = *piVar12 + -1; UNLOCK(); if (iVar11 == 1) { pcVar3 = *(code **)(*plVar2 + 0x10); *(undefined8 *)(puVar13 + lVar9 + 0xcf8) = 0x18092dc73; (*pcVar3)(plVar2); } } } *(undefined **)(puVar13 + lVar9 + 0xcf8) = &UNK_18092dc83; } } while( true ); } ############ FUN_ 18096d509 size=1480 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x00018096d5eb) overlaps instruction at (ram,0x00018096d5e8) */ /* WARNING: Removing unreachable block (ram,0x00018096d5cc) */ /* WARNING: Removing unreachable block (ram,0x00018096d5e8) */ /* WARNING: Removing unreachable block (ram,0x00018096d5eb) */ ulonglong FUN_18096d509(undefined8 param_1,undefined8 param_2,undefined8 param_3) { byte *pbVar1; longlong lVar2; byte bVar3; int extraout_var; uint uVar4; uint uVar5; uint uVar6; uint uVar7; ulonglong uVar8; ulonglong uVar9; longlong unaff_RBX; ulonglong unaff_RBP; longlong unaff_RDI; uint uVar10; ulonglong in_R11; ulonglong uVar11; ulonglong unaff_R12; ulonglong uVar12; int *unaff_R13; uint unaff_R14D; int iVar13; ulonglong unaff_R15; ulonglong uVar14; int in_stack_00000080; uVar14 = unaff_R15 ^ unaff_R12; uVar4 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } if (uVar4 != 0) { uVar14 = FUN_18096d509(0xc420); return uVar14; } uVar4 = *(uint *)(unaff_RDI + 0x38 + unaff_RBX) ^ unaff_R14D >> 0x1c ^ unaff_R14D << 4; uVar4 = *(uint *)(unaff_RDI + 0x3c + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x40 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x44 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x48 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x4c + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x50 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; do { uVar5 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar4 = *(uint *)(unaff_RDI + 0x54 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x58 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x5c + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x60 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 100 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x68 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x6c + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x70 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x74 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x78 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x7c + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x80 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x84 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x88 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x8c + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x90 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x94 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x98 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0x9c + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xa0 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xa4 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xa8 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xac + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xb0 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xb4 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xb8 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xbc + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xc0 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xc4 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 200 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar5 = uVar4 << 4; uVar9 = (ulonglong)uVar5; uVar5 = *(uint *)(unaff_RDI + 0xcc + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar5; do { uVar8 = 0; FUN_18096d508(); uVar10 = (uint)param_3; uVar4 = (uint)(uVar9 - in_R11); uVar11 = in_R11 + unaff_R12; uVar12 = (unaff_R12 - uVar11 ^ 0xffffffffffffffff) + 1; iVar13 = (int)uVar12; if ((uVar8 & 0xc0) == 0) { unaff_R12 = uVar11 - uVar12; uVar9 = (uVar9 - in_R11) + uVar12; in_R11 = uVar12; } else { uVar6 = extraout_var << 8; pbVar1 = (byte *)(unaff_RBP + 0x2b); *pbVar1 = *pbVar1 >> 1 | *pbVar1 << 7; uVar7 = 0; if (*(int *)(unaff_RBP + 0x33) == 0) goto LAB_18096d8d2; uVar9 = (ulonglong)(uVar4 + (int)unaff_RBX); in_R11 = uVar11; unaff_R12 = uVar12; } iVar13 = (int)unaff_R12; uVar4 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = *(uint *)(unaff_RDI + 0xd4 + unaff_RBX); uVar10 = *(uint *)(unaff_RDI + 0xf0 + unaff_RBX); uVar7 = uVar5 >> 0x1c; uVar5 = uVar5 << 4; uVar6 = *(uint *)(unaff_RDI + 0xd0 + unaff_RBX) ^ uVar7 ^ uVar5; uVar7 = uVar6 << 4; LAB_18096d8d2: uVar8 = (ulonglong)uVar5; uVar7 = uVar4 ^ uVar6 >> 0x1c ^ uVar7; uVar4 = *(uint *)(unaff_RDI + 0xd8 + unaff_RBX) ^ uVar7 >> 0x1c ^ uVar7 << 4; uVar4 = *(uint *)(unaff_RDI + 0xdc + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xe0 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xe4 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xe8 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xec + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = uVar10 ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = *(uint *)(unaff_RDI + 0xf4 + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = uVar4 >> 0x1c ^ uVar4 << 4 ^ *(uint *)(unaff_RDI + 0xf8 + unaff_RBX); uVar4 = *(uint *)(unaff_RDI + 0xfc + unaff_RBX) ^ uVar4 >> 0x1c ^ uVar4 << 4; uVar4 = (uVar4 << 0x10 | uVar4 >> 0x10) & 0xa3b95c46 | (uVar4 >> 0x10 | uVar4 << 0x10) & 0x5c46a3b9; uVar4 = (uVar4 << 2 | uVar4 >> 0x1e) & 0x99999999 | (uVar4 >> 2 | uVar4 << 0x1e) & 0x66666666; uVar5 = (uVar4 >> 0x10 | uVar4 << 0x10) & 0x6da4925b; uVar9 = (ulonglong)uVar5; uVar4 = ((uVar4 << 0x10 | uVar4 >> 0x10) & 0x925b6da4 | uVar5) - in_stack_00000080; if ((uVar4 & 0xfffff) == 0 && uVar4 == 0) { do { *(ulonglong *)((longlong)register0x00000020 + -8) = uVar8; *(int **)((longlong)register0x00000020 + -0x10) = unaff_R13; *(ulonglong *)((longlong)register0x00000020 + -0x18) = uVar9; lVar2 = -(longlong)iVar13; uVar9 = *(ulonglong *)((longlong)register0x00000020 + lVar2 + 0xfc8); unaff_R13 = *(int **)((longlong)register0x00000020 + lVar2 + 0xfd0); uVar8 = *(ulonglong *)((longlong)register0x00000020 + lVar2 + 0xfd8); register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + lVar2 + 0xfe0); uVar4 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); iVar13 = (int)uVar14; if (iVar13 != 0) { bVar3 = (byte)uVar14; if (iVar13 < 1) { unaff_RBP = (ulonglong)((uint)unaff_RBP >> (bVar3 & 0x1f)); } else { unaff_RBP = (ulonglong)((uint)unaff_RBP << (bVar3 & 0x1f)); } } return unaff_RBP & 0xffffffff; } FUN_18096e426(); uVar14 = thunk_FUN_1805a9280(); return uVar14; } ############ FUN_ 180a3c8a0 size=2097 ############ void FUN_180a3c8a0(undefined8 *param_1) { uint uVar1; uint uVar2; uint uVar3; longlong lVar4; ulonglong uVar5; undefined1 *puVar6; undefined1 *puVar7; undefined8 uVar8; int unaff_retaddr; undefined1 auStack_58 [32]; puVar6 = auStack_58; *param_1 = license_services::LsCachedObjectVectorBase::vftable; uVar8 = 0; puVar7 = &DAT_c6a4a793; uVar1 = (DAT_1814b6160 + -0x5c349d44) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6164) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6168) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b616c) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6170) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6174) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6178) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b617c) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6180) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6184) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6188) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b618c) * -0x395b586d; do { FUN_180a3b44c(0xcd38); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = (DAT_1814b6190 + (uVar1 ^ uVar1 >> 0x10)) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6194) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6198) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b619c) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61a0) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61a4) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61a8) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61ac) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61b0) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61b4) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61b8) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61bc) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61c0) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61c4) * -0x395b586d; do { uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); uVar1 = (DAT_1814b61c8 + (uVar1 ^ uVar1 >> 0x10)) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61cc) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61d0) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61d4) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61d8) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61dc) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61e0) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61e4) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61e8) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61ec) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61f0) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61f4) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61f8) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b61fc) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6200) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6204) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6208) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b620c) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6210) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6214) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6218) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b621c) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6220) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6224) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6228) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b622c) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6230) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6234) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6238) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b623c) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6240) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6244) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6248) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b624c) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6250) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6254) * -0x395b586d; uVar1 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b6258) * -0x395b586d; uVar2 = ((uVar1 >> 0x10 ^ uVar1) + DAT_1814b625c) * -0x395b586d; uVar1 = uVar2 >> 0x10 ^ uVar2; uVar2 = (uVar1 >> 2 | uVar1 << 0x1e) & 0x99999999 | (uVar1 << 2 | uVar2 >> 0x1e) & 0x66666666; uVar3 = uVar2 + 0x32fe2b2c; uVar1 = (uVar3 >> 5 ^ uVar3) >> 2 & 0x1f; uVar1 = ((uVar1 << 5 | uVar1) << 2 ^ uVar3) + 0x8297d41c; uVar3 = (uVar1 * 4 | uVar1 >> 0x1e) & 0x66666666; uVar5 = (ulonglong)uVar3; if ((((uVar1 >> 2 | uVar2 * 0x40000000) & 0x99999999 | uVar3) ^ 0x3a792d84) * 0xd != 0) { FUN_180a3dd27(); thunk_FUN_1805a9280(); return; } do { *(undefined8 *)(puVar6 + -8) = 0x180a3d038; lVar4 = 0xba0; FUN_180a3c759(); *(ulonglong *)(puVar6 + -8) = uVar5; *(undefined1 **)(puVar6 + -0x10) = puVar7; *(undefined8 *)(puVar6 + -0x18) = uVar8; lVar4 = -lVar4; uVar8 = *(undefined8 *)(puVar6 + lVar4 + 0xb88); puVar7 = *(undefined1 **)(puVar6 + lVar4 + 0xb90); uVar5 = *(ulonglong *)(puVar6 + lVar4 + 0xb98); puVar6 = puVar6 + lVar4 + 0xba0; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); return; } ############ FUN_ 180b6ce70 size=2080 ############ /* WARNING: Instruction at (ram,0x000180b6d59b) overlaps instruction at (ram,0x000180b6d599) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000180b6d599) */ /* WARNING: Removing unreachable block (ram,0x000180b6cf3e) */ /* WARNING: Removing unreachable block (ram,0x000180b6cf07) */ /* WARNING: Removing unreachable block (ram,0x000180b6cfab) */ /* WARNING: Removing unreachable block (ram,0x000180b6d1c2) */ /* WARNING: Removing unreachable block (ram,0x000180b6d726) */ /* WARNING: Removing unreachable block (ram,0x000180b6d759) */ /* WARNING: Removing unreachable block (ram,0x000180b6d7a6) */ /* WARNING: Removing unreachable block (ram,0x000180b6d7ad) */ /* WARNING: Removing unreachable block (ram,0x000180b6d7b5) */ /* WARNING: Removing unreachable block (ram,0x000180b6cef0) */ void FUN_180b6ce70(undefined8 *param_1) { undefined4 uVar1; undefined4 *puVar2; uint uVar3; int iVar4; uint uVar5; longlong lVar6; ulonglong uVar7; ulonglong *puVar8; longlong *plVar9; ulonglong uVar10; ulonglong *puVar11; ulonglong *puVar12; ulonglong *puVar13; uint uVar14; uint uVar15; IMAGE_DOS_HEADER *pIVar16; longlong lVar17; uint *puVar18; uint uVar19; IMAGE_DOS_HEADER *pIVar20; uint uVar21; int unaff_retaddr; ulonglong auStack_b8 [2]; undefined1 auStack_a8 [32]; uint local_88 [2]; undefined4 *local_80; IMAGE_DIRECTORY_ENTRY_EXPORT *local_78; undefined4 local_6c; longlong local_68; undefined4 local_60; undefined8 *local_58; undefined4 local_48 [4]; ulonglong local_38; ulonglong uVar22; puVar11 = (ulonglong *)auStack_a8; local_38 = DAT_182615970 ^ (ulonglong)auStack_a8; *param_1 = license_services::LsObjectRelationVectorAssociativeArray::vftable; uVar15 = 0x7bfff202; local_60 = 0x210; local_6c = 0x270; pIVar16 = &IMAGE_DOS_HEADER_180000000; local_68 = 0; puVar2 = (undefined4 *)((longlong)&UNWIND_INFO_1825fce54 + 4); local_78 = &IMAGE_DIRECTORY_ENTRY_EXPORT_1825feee0; local_80 = puVar2; local_58 = param_1; do { FUN_180b6ef17(0xe01c); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); do { uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_68 = 0x6c65bd54c0cd462d; local_80 = (undefined4 *)CONCAT44(local_80._4_4_,0xc0cd462d); do { FUN_180b6e84e(0xe01c); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar7 = 0; local_88[0] = 0; LAB_180b6d230: iVar4 = (int)uVar7; if ((pIVar16 != (IMAGE_DOS_HEADER *)0x0) && (lVar6._0_1_ = pIVar16->e_magic[0], lVar6._1_1_ = pIVar16->e_magic[1], lVar6._2_2_ = pIVar16->e_cblp, lVar6._4_2_ = pIVar16->e_cp, lVar6._6_2_ = pIVar16->e_crlc, -1 < lVar6)) { *(undefined8 *)((longlong)puVar11 + 0x40) = 0x2621fc0; lVar17 = (longlong)&DAT_182621fc0 + -*(longlong *)((longlong)puVar11 + 0x40); do { if (puVar2 < (undefined4 *)(-*(longlong *)((longlong)puVar11 + 0x40) + 0x182621fc8 + lVar6)) { if (-1 < lVar6) { plVar9 = (longlong *)(lVar17 + lVar6); if (plVar9 < puVar2 + 1) { *(undefined4 *)((longlong)puVar11 + 0x60) = *puVar2; pIVar20 = pIVar16; goto LAB_180b6d2b0; } } break; } lVar6._0_2_ = pIVar16->e_cparhdr; lVar6._2_2_ = pIVar16->e_minalloc; lVar6._4_2_ = pIVar16->e_maxalloc; lVar6._6_2_ = pIVar16->e_ss; pIVar16 = (IMAGE_DOS_HEADER *)&pIVar16->e_cparhdr; } while (-1 < lVar6); goto LAB_180b6d2cf; } goto LAB_180b6d2d4; while (plVar9 = (longlong *)(lVar17 + lVar6), plVar9 < puVar2 + 1) { LAB_180b6d2b0: pIVar20 = (IMAGE_DOS_HEADER *)&pIVar20->e_cparhdr; *(longlong *)((longlong)puVar11 + lVar6 + (lVar17 - (longlong)puVar2) + 0x60) = *plVar9 - lVar17 ; lVar6 = *(longlong *)pIVar20; if (lVar6 < 0) break; } LAB_180b6d2cf: iVar4 = *(int *)((longlong)puVar11 + 0x20); LAB_180b6d2d4: *(int *)((longlong)puVar11 + 0x20) = iVar4 * 0x6b; uVar15 = uVar15 * iVar4 * iVar4 * 0x6b; uVar15 = uVar15 ^ uVar15 * 0x10000; puVar12 = puVar11; if ((uVar15 & 0x7c0) != 0) { uVar15 = uVar15 * 0x11; } do { puVar18 = (uint *)((longlong)puVar12 + 0x20); uVar7 = 0xe01c; *(IMAGE_DOS_HEADER **)((longlong)puVar12 + -8) = pIVar16; puVar8 = (ulonglong *)((longlong)puVar12 + -8); if ((*puVar18 & 0xc3) != 0) { puVar8 = (ulonglong *)((longlong)puVar12 + -8); } do { do { puVar13 = puVar8; puVar13[-1] = 0x180b6d323; uVar3 = FUN_180b6d720(); *puVar18 = uVar3; pIVar16 = (IMAGE_DOS_HEADER *)*puVar13; puVar12 = puVar13 + 1; puVar11 = puVar13 + 1; puVar8 = puVar13 + 1; } while ((uVar7 & 0xc300) == 0); puVar8 = puVar13 + 1; } while (((uVar7 & 0xc300) == 0) || (puVar8 = puVar13 + 1, (uVar7 & 0xc3) != 0)); uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); uVar3 = (uint)puVar13[5]; uVar7 = (ulonglong)uVar3; uVar14 = uVar3 & 0x7f; uVar21 = uVar3 & 0x3f; iVar4 = (uVar14 + 2) * (uVar14 + 1) * uVar14; uVar19 = 1 << ((char)iVar4 + (char)((ulonglong)((longlong)iVar4 * 0x55555556) >> 0x20) * -3 & 0x1fU); uVar5 = (uint)puVar2 & 0x1f | 0x32; uVar5 = uVar5 * uVar5 * 0x455 ^ (uVar21 | 0x12) * (uVar21 | 0x12) * 0x751f; if ((int)(-uVar19 | uVar19) >> 0x1f != (int)(-uVar5 | uVar5) >> 0x1f) { uVar21 = (uVar21 | 0x12) * (uVar21 | 0x12); uVar14 = (uVar14 + 2) * (uVar14 + 1) * uVar14; do { puVar2 = puVar2 + 1; uVar15 = uVar15 * uVar3; uVar5 = (uint)puVar2 & 0x1f | 0x32; uVar19 = 1 << ((char)uVar14 + (char)(uVar14 / 3) * -3 & 0x1fU); uVar5 = uVar5 * uVar5 * 0x455 ^ uVar21 * 0x751f; } while ((int)(-uVar19 | uVar19) >> 0x1f != (int)(-uVar5 | uVar5) >> 0x1f); } uVar22 = (ulonglong)uVar21; if ((uVar15 & 0x3ff) != 0) { uVar15 = uVar15 + (uVar15 >> 10); } puVar2 = puVar2 + 1; if ((IMAGE_DIRECTORY_ENTRY_EXPORT *)puVar2 == &IMAGE_DIRECTORY_ENTRY_EXPORT_1825feee0) { *(uint *)((longlong)puVar13 + 0x44) = uVar15; puVar12 = puVar13 + 0x16; *(uint *)(puVar13 + 8) = uVar3; do { puVar8 = puVar13 + 8; /* WARNING: Call to offcut address within same function */ *puVar13 = 0x180b6d4ce; func_0x000180b6d1ce(); *puVar13 = 0x180b6d4d5; uVar1 = FUN_180b93ff6(); *(undefined4 *)puVar8 = uVar1; uVar15 = ((int)*puVar12 + 1) * (int)*puVar12 & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); uVar3 = (uint)puVar13[8] ^ 0xeeb9341c; uVar15 = (uVar3 >> 8 ^ uVar3) >> 0x14 & 3; uVar3 = ((uVar15 << 8 | uVar15) << 0x14 ^ uVar3) + 0xdcccfffd; uVar15 = (uVar3 >> 0x10 | uVar3 * 0x10000) & 0x23b1dc4e; uVar10 = (ulonglong)uVar15; uVar15 = (uVar3 * 0x10000 | uVar3 >> 0x10) & 0xdc4e23b1 | uVar15; uVar15 = (uVar15 & 0x33333333) << 2 | uVar15 >> 2 & 0x33333333; *(uint *)(puVar13 + 5) = (uVar15 >> 0x10 | uVar15 << 0x10) & 0x83d57c2a | (uVar15 << 0x10 | uVar15 >> 0x10) & 0x7c2a83d5; do { uVar15 = ((int)*puVar12 + 1) * (int)*puVar12 & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); if ((char)(((int)puVar13[5] == (int)puVar13[6]) * ')') == '\0') { *puVar13 = (ulonglong)((int)puVar13[5] == (int)puVar13[6]); puVar13[-1] = (ulonglong)puVar12; puVar13[-2] = uVar10; thunk_FUN_1805a9280(); return; } *puVar13 = 0x180b6d6c8; FUN_180b6e22e(); *puVar13 = uVar10; puVar13[-1] = uVar22; puVar13[-2] = uVar7; thunk_FUN_180b6d737(); return; } goto LAB_180b6d230; } ############ FUN_ 18134ce40 size=2353 ############ /* WARNING: Instruction at (ram,0x00018134d5d5) overlaps instruction at (ram,0x00018134d5d3) */ /* WARNING: Removing unreachable block (ram,0x00018134d5cf) */ /* WARNING: Removing unreachable block (ram,0x00018134d7be) */ undefined8 FUN_18134ce40(void) { undefined1 *puVar1; uint uVar2; int *piVar3; uint uVar4; undefined8 uVar5; undefined1 *puVar6; undefined1 *puVar7; undefined1 *puVar8; uint uVar9; longlong lVar10; ulonglong uVar11; ulonglong uVar12; ulonglong unaff_R13; int unaff_retaddr; undefined1 auStack_58 [32]; puVar6 = auStack_58; uVar2 = (uint)&stack0x00000000; uVar11 = (ulonglong)(((uVar2 & 0x2cff) * (uVar2 & 0x2cff) + 1) % 7); uVar9 = ((uVar2 & 0x1eff) * (uVar2 & 0x1eff) + 1) % 7; uVar12 = (ulonglong)uVar9; uVar9 = (((uVar2 & 0x11ff) + 1) * (uVar2 & 0x11ff) + 7) % 0x51 | uVar9; uVar5 = 0x180000000; puVar8 = &DAT_c6a4a793; uVar2 = (DAT_1815fbb4c + 0x7cd64ed3) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb50) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb54) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb58) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb5c) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb60) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb64) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb68) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb6c) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb70) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb74) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb78) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb7c) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb80) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb84) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb88) * -0x395b586d; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = (DAT_1815fbb8c + (uVar2 ^ uVar2 >> 0x10)) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb90) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb94) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb98) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbb9c) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbba0) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbba4) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbba8) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbac) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbb0) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbb4) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbb8) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbbc) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbc0) * -0x395b586d; do { uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = (DAT_1815fbbc4 + (uVar2 ^ uVar2 >> 0x10)) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbc8) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbcc) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbd0) * -0x395b586d; do { FUN_18134e24b(0x501c); lVar10 = uVar12 + (longlong)register0x00000020; uVar12 = ~((longlong)register0x00000020 - lVar10) + 1; register0x00000020 = (BADSPACEBASE *)(lVar10 - uVar12); unaff_R13 = ~(~unaff_R13 + 1) + 1; uVar4 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = (DAT_1815fbbd4 + (uVar2 ^ uVar2 >> 0x10)) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbd8) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbdc) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbe0) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbe4) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbe8) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbec) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbf0) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbf4) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbf8) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbbfc) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc00) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc04) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc08) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc0c) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc10) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc14) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc18) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc1c) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc20) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc24) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc28) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc2c) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc30) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc34) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc38) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc3c) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc40) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc44) * -0x395b586d; uVar2 = ((uVar2 >> 0x10 ^ uVar2) + DAT_1815fbc48) * -0x395b586d; do { uVar4 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar2 = ~(uVar2 ^ uVar2 >> 0x10) ^ 0xdc6858e; uVar2 = (uVar2 >> 9 | uVar2 << 0x17) ^ 0x3951ae4e; uVar2 = (uVar2 >> 5 | uVar2 << 0x1b) + 0x7b5015d3; if ((uVar2 & 0x3fffff) != 0 || uVar2 != 0) { uVar5 = thunk_FUN_1805a9280(); return uVar5; } puVar1 = puVar6; do { puVar7 = puVar1; *(ulonglong *)(puVar7 + -8) = unaff_R13; *(ulonglong *)(puVar7 + -0x10) = uVar11; *(undefined1 **)(puVar7 + -0x18) = puVar8; lVar10 = -(longlong)(int)(((int)(-uVar9 | uVar9) >> 0x1f) * -0x3e61 ^ 0x37e1); puVar8 = *(undefined1 **)(puVar7 + lVar10 + 0x968); uVar11 = *(ulonglong *)(puVar7 + lVar10 + 0x970); unaff_R13 = *(ulonglong *)(puVar7 + lVar10 + 0x978); uVar2 = (*(int *)register0x00000020 + 1) * *(int *)register0x00000020 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } puVar1 = puVar7 + lVar10 + 0x980; } while (uVar2 != 0); if (DAT_182673710 == 1) { *(undefined8 *)(puVar7 + lVar10 + 0x978) = 0x18134d84a; piVar3 = (int *)FUN_180473b00(0,uVar5); if (*piVar3 == 5) { return 1; } } return 0; } ############ FUN_ 18069c113 size=3117 ############ /* WARNING: Instruction at (ram,0x00018069c2c3) overlaps instruction at (ram,0x00018069c2c1) */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18069c113(undefined8 param_1,undefined8 param_2,ulonglong param_3) { int iVar1; void *pvVar2; int *piVar3; undefined1 auVar4 [16]; undefined1 *puVar5; undefined8 uVar6; HANDLE pvVar7; uint uVar8; uint uVar9; ulonglong uVar10; undefined8 *puVar11; longlong lVar12; uint *puVar13; void *pvVar14; longlong *plVar15; longlong unaff_RBX; undefined1 *puVar16; undefined8 *unaff_RBP; longlong unaff_RSI; int unaff_EDI; undefined8 in_R11; int *unaff_R12; ulonglong unaff_R13; undefined8 *puVar17; int unaff_R14D; undefined8 *puVar18; undefined8 *puVar19; undefined8 unaff_R15; undefined4 extraout_XMM0_Da; undefined4 extraout_XMM0_Db; undefined4 extraout_XMM0_Dc; undefined4 extraout_XMM0_Dd; undefined1 unaff_XMM8 [16]; undefined1 local_res20; longlong *in_stack_00000048; int in_stack_00000050; undefined8 *in_stack_00000060; undefined8 in_stack_00000068; longlong in_stack_00000070; undefined8 *in_stack_00000078; puVar17 = (undefined8 *)(unaff_R13 ^ param_3); uVar8 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } if (uVar8 != 0) { FUN_18069c113(0xf53c,param_2,param_3); return; } uVar8 = (*(int *)(unaff_RSI + 0x30 + unaff_RBX) + unaff_R14D) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x34 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x38 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x3c + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x40 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x44 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x48 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x4c + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x50 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x54 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x58 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x5c + unaff_RBX)) * unaff_EDI; do { uVar9 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (*(int *)(unaff_RSI + 0x60 + unaff_RBX) + (uVar8 ^ uVar8 >> 0x10)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 100 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x68 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x6c + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x70 + unaff_RBX)) * unaff_EDI; do { uVar10 = 0; /* WARNING: Call to offcut address within same function */ func_0x00018069c3dc(); if ((uVar10 & 0xc0) != 0) { auVar4._4_4_ = extraout_XMM0_Db; auVar4._0_4_ = extraout_XMM0_Da; auVar4._8_4_ = extraout_XMM0_Dc; auVar4._12_4_ = extraout_XMM0_Dd; vmaskmovdqu_avx(unaff_XMM8,auVar4); } uVar9 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (*(int *)(unaff_RSI + 0x74 + unaff_RBX) + (uVar8 ^ uVar8 >> 0x10)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x78 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x7c + unaff_RBX)) * unaff_EDI; puVar18 = (undefined8 *)(ulonglong)(uVar8 ^ uVar8 >> 0x10); do { puVar11 = (undefined8 *)0xf53c; FUN_18069dcfe(); puVar19 = puVar11; if (((ulonglong)puVar11 & 0x40) == 0) { puVar11 = puVar17; puVar19 = puVar18; } uVar8 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar17 = puVar11; puVar18 = puVar19; } while (uVar8 != 0); uVar8 = (*(int *)(unaff_RSI + 0x80 + unaff_RBX) + (int)puVar19) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x84 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x88 + unaff_RBX)) * unaff_EDI; do { FUN_18069c112(0xf53c); uVar9 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (*(int *)(unaff_RSI + 0x8c + unaff_RBX) + (uVar8 ^ uVar8 >> 0x10)) * unaff_EDI; do { uVar9 = (*(int *)(unaff_RBP + 0x55) + 1) * *(int *)(unaff_RBP + 0x55) & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (*(int *)(unaff_RSI + 0x90 + unaff_RBX) + (uVar8 ^ uVar8 >> 0x10)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x94 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x98 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0x9c + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xa0 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xa4 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xa8 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xac + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xb0 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xb4 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xb8 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xbc + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xc0 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xc4 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 200 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xcc + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xd0 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xd4 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xd8 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xdc + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xe0 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xe4 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xe8 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xec + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xf0 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xf4 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xf8 + unaff_RBX)) * unaff_EDI; uVar8 = ((uVar8 >> 0x10 ^ uVar8) + *(int *)(unaff_RSI + 0xfc + unaff_RBX)) * unaff_EDI; do { FUN_18069ddcb(0xf53c); iVar1 = *(int *)(unaff_RBP + 0x55); uVar9 = (iVar1 + 1) * iVar1 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); do { FUN_18069d385(0xf53c); iVar1 = *(int *)(unaff_RBP + 0x55); uVar9 = (iVar1 + 1) * iVar1 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar8 = (uVar8 ^ uVar8 >> 0x10) + 0xf3e389d3; uVar10 = CONCAT71((int7)((ulonglong)unaff_R15 >> 8),(uVar8 * 4 | uVar8 >> 0x1e) == 0x822a8d6d); if ((int)uVar10 != 0 || (uVar10 & 0x7ffff) != 0) { lVar12 = in_stack_00000048[1] - *in_stack_00000048; lVar12 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(lVar12),8) + lVar12; if (lVar12 >> 7 != lVar12 >> 0x3f) { FUN_180677320(unaff_RBP + 0x30); unaff_RBP[-10] = pace::eden::thrift::authorize::FindAuthChainsReturn::vftable; unaff_RBP[-9] = unaff_R15; unaff_RBP[-8] = 0; unaff_RBP[-7] = 0; unaff_RBP[-6] = 0; unaff_RBP[-5] = 0; unaff_RBP[-4] = unaff_R15; *(undefined1 *)(unaff_RBP + -3) = 0; *(undefined8 *)((longlong)unaff_RBP + -0x14) = 4; if (unaff_RBP + 0x31 != in_stack_00000048) { FUN_18066bb80(unaff_RBP + 0x31,*in_stack_00000048,in_stack_00000048[1],local_res20); } FUN_18067dd60(unaff_RBP + 0x34,in_stack_00000068); uVar6 = FUN_1806d2560(); unaff_RBP[0x42] = uVar6; FUN_1805b45f0(unaff_RBP + 0xc,in_stack_00000070 + 0x18); if (*(longlong *)(in_stack_00000070 + 0x48) == 0) { plVar15 = (longlong *) ((longlong)*(int *)(**(longlong **)(in_stack_00000070 + 8) + 8) + (longlong)*(longlong **)(in_stack_00000070 + 8)); puVar11 = unaff_RBP + 0x30; (**(code **)(*plVar15 + 0x68))(plVar15,unaff_RBP + -10,puVar11,4); } else { unaff_RBP[0x11] = 0; unaff_RBP[0x12] = 0; unaff_RBP[0x13] = unaff_R15; unaff_RBP[-0xd] = 0; unaff_RBP[-0xc] = 0; unaff_RBP[-0xb] = unaff_R15; FUN_180673570(unaff_RBP + 0x30,unaff_RBP + 0x11,1); FUN_1806b86d0(in_stack_00000070,0xe,unaff_RBP + 0x11,unaff_RBP + -0xd); puVar11 = unaff_RBP + -10; FUN_1806713a0(unaff_RBP[-0xd],unaff_RBP[-0xc] - unaff_RBP[-0xd]); pvVar2 = (void *)unaff_RBP[-0xd]; if (pvVar2 != (void *)0x0) { pvVar14 = pvVar2; if ((0xfff < (ulonglong)(unaff_RBP[-0xb] - (longlong)pvVar2)) && (pvVar14 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar14)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar14); } pvVar2 = (void *)unaff_RBP[0x11]; if (pvVar2 != (void *)0x0) { pvVar14 = pvVar2; if ((0xfff < (ulonglong)(unaff_RBP[0x13] - (longlong)pvVar2)) && (pvVar14 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar14)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar14); } } if (in_stack_00000078 != unaff_RBP + -9) { puVar11 = (undefined8 *)unaff_RBP[-8]; FUN_18060abf0(in_stack_00000078,unaff_RBP[-9],puVar11,local_res20); } if ((in_stack_00000060 != (undefined8 *)0x0) && (in_stack_00000060 != unaff_RBP + -6)) { puVar11 = (undefined8 *)unaff_RBP[-5]; FUN_18066bdc0(in_stack_00000060,unaff_RBP[-6],puVar11,local_res20); } if (*(char *)(unaff_RBP + 0xd) != '\0') { piVar3 = (int *)unaff_RBP[0xc]; *piVar3 = *piVar3 + -1; if (*piVar3 == 0) { LOCK(); piVar3[1] = (int)unaff_R15; UNLOCK(); puVar13 = (uint *)(unaff_RBP[0xc] + 8); LOCK(); uVar8 = *puVar13; *puVar13 = *puVar13 + 0x80000000; UNLOCK(); if (((uVar8 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar8)) { LOCK(); uVar8 = *puVar13; *puVar13 = *puVar13 | 0x40000000; UNLOCK(); if ((uVar8 >> 0x1e & 1) == 0) { pvVar7 = (HANDLE)FUN_1805a9100(); SetEvent(pvVar7); } } } } unaff_RBP[-10] = pace::eden::thrift::authorize::FindAuthChainsReturn::vftable; FUN_180575f30(unaff_RBP + -6); FUN_1805bc0b0(unaff_RBP + -9); FUN_18067b450(unaff_RBP + 0x30); } puVar5 = (undefined1 *)register0x00000020; do { puVar16 = puVar5; *(undefined8 *)(puVar16 + -8) = 0x18069cd38; lVar12 = (longlong)in_stack_00000050; FUN_18069ada1(); *(undefined8 **)(puVar16 + -8) = puVar11; *(longlong *)(puVar16 + -0x10) = unaff_RSI; *(undefined8 *)(puVar16 + -0x18) = in_R11; lVar12 = -lVar12; in_R11 = *(undefined8 *)(puVar16 + lVar12 + 0xb38); unaff_RSI = *(longlong *)(puVar16 + lVar12 + 0xb40); puVar11 = *(undefined8 **)(puVar16 + lVar12 + 0xb48); uVar8 = (*(int *)(unaff_RBP + 0x55) + 1) * *(int *)(unaff_RBP + 0x55) & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } puVar5 = puVar16 + lVar12 + 0xb50; } while (uVar8 != 0); *(undefined **)(puVar16 + lVar12 + 0xb48) = &UNK_18069cdde; } lVar12 = in_stack_00000048[1] - *in_stack_00000048; lVar12 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(lVar12),8) + lVar12; if (lVar12 >> 7 == lVar12 >> 0x3f) { FUN_180677320(unaff_RBP + 0x16); *unaff_RBP = pace::eden::thrift::authorize::FindAuthChainsReturn::vftable; unaff_RBP[1] = unaff_R15; unaff_RBP[2] = 0; unaff_RBP[3] = 0; unaff_RBP[4] = 0; unaff_RBP[5] = 0; unaff_RBP[6] = unaff_R15; *(undefined1 *)(unaff_RBP + 7) = 0; *(undefined8 *)((longlong)unaff_RBP + 0x3c) = 4; if (unaff_RBP + 0x17 != in_stack_00000048) { FUN_18066bb80(unaff_RBP + 0x17,*in_stack_00000048,in_stack_00000048[1],local_res20); } FUN_18067dd60(unaff_RBP + 0x1a,in_stack_00000068); uVar6 = FUN_1806d2560(); unaff_RBP[0x28] = uVar6; FUN_1805b45f0(unaff_RBP + 10,in_stack_00000070 + 0x18); if (*(longlong *)(in_stack_00000070 + 0x48) == 0) { unaff_RBP[0xe] = 0; unaff_RBP[0xf] = 0; unaff_RBP[0x10] = unaff_R15; unaff_RBP[-0x10] = 0; unaff_RBP[-0xf] = 0; unaff_RBP[-0xe] = unaff_R15; FUN_180673570(unaff_RBP + 0x16,unaff_RBP + 0xe,1); FUN_1806b86d0(in_stack_00000070,0xe,unaff_RBP + 0xe,unaff_RBP + -0x10); FUN_1806713a0(unaff_RBP[-0x10],unaff_RBP[-0xf] - unaff_RBP[-0x10]); pvVar2 = (void *)unaff_RBP[-0x10]; if (pvVar2 != (void *)0x0) { pvVar14 = pvVar2; if ((0xfff < (ulonglong)(unaff_RBP[-0xe] - (longlong)pvVar2)) && (pvVar14 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar14)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar14); } pvVar2 = (void *)unaff_RBP[0xe]; if (pvVar2 != (void *)0x0) { pvVar14 = pvVar2; if ((0xfff < (ulonglong)(unaff_RBP[0x10] - (longlong)pvVar2)) && (pvVar14 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar14)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar14); } } else { (**(code **)(*(longlong *) ((longlong)*(int *)(**(longlong **)(in_stack_00000070 + 8) + 8) + (longlong)*(longlong **)(in_stack_00000070 + 8)) + 0x68))(); } if (in_stack_00000078 != unaff_RBP + 1) { FUN_18060abf0(in_stack_00000078,unaff_RBP[1],unaff_RBP[2],local_res20); } if (in_stack_00000060 == (undefined8 *)0x0) { FUN_18066bdc0(0,unaff_RBP[4],unaff_RBP[5],local_res20); } if (*(char *)(unaff_RBP + 0xb) != '\0') { piVar3 = (int *)unaff_RBP[10]; *piVar3 = *piVar3 + -1; if (*piVar3 == 0) { LOCK(); piVar3[1] = (int)unaff_R15; UNLOCK(); puVar13 = (uint *)(unaff_RBP[10] + 8); LOCK(); uVar8 = *puVar13; *puVar13 = *puVar13 + 0x80000000; UNLOCK(); if (((uVar8 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar8)) { LOCK(); uVar8 = *puVar13; *puVar13 = *puVar13 | 0x40000000; UNLOCK(); if ((uVar8 >> 0x1e & 1) == 0) { pvVar7 = (HANDLE)FUN_1805a9100(); SetEvent(pvVar7); } } } } *unaff_RBP = pace::eden::thrift::authorize::FindAuthChainsReturn::vftable; FUN_180575f30(unaff_RBP + 4); FUN_1805bc0b0(unaff_RBP + 1); FUN_18067b450(unaff_RBP + 0x16); } thunk_FUN_1805a9280(); return; } ############ FUN_ 18096c600 size=2094 ############ /* WARNING: Instruction at (ram,0x00018096ca4a) overlaps instruction at (ram,0x00018096ca49) */ /* WARNING: Removing unreachable block (ram,0x00018096ca48) */ /* WARNING: Removing unreachable block (ram,0x00018096c6ac) */ /* WARNING: Removing unreachable block (ram,0x00018096c971) */ /* WARNING: Removing unreachable block (ram,0x00018096c991) */ /* WARNING: Removing unreachable block (ram,0x00018096c98e) */ /* WARNING: Removing unreachable block (ram,0x00018096cd9d) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ undefined8 FUN_18096c600(uint *param_1,uint param_2) { ulonglong uVar1; bool bVar2; uint uVar3; undefined8 uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; int unaff_retaddr; do { uVar5 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = 0x20; bVar2 = false; do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = 1; while( true ) { uVar5 = (int)uVar5 / 2; uVar3 = 1 << ((byte)uVar5 & 0x1f); if (uVar3 == param_2) break; if (uVar3 < param_2) goto LAB_18096ca19; uVar3 = uVar5 & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } if ((uVar3 != 0) || ((int)uVar5 < 2)) goto LAB_18096ca19; } bVar2 = true; LAB_18096ca19: uVar3 = DAT_1811e90c0 ^ (DAT_1811e90bc ^ (DAT_1811e90b8 ^ (DAT_1811e90b4 ^ (DAT_1811e90b0 ^ (DAT_1811e90ac ^ (DAT_1811e90a8 ^ (DAT_1811e90a4 ^ (DAT_1811e90a0 ^ (DAT_1811e909c ^ (DAT_1811e9098 ^ (DAT_1811e9094 ^ (DAT_1811e9090 ^ (DAT_1811e908c ^ (DAT_1811e9088 ^ (DAT_1811e9084 ^ (DAT_1811e9080 ^ (DAT_1811e907c ^ (DAT_1811e9078 ^ (DAT_1811e9074 ^ (DAT_1811e9070 ^ (DAT_1811e906c ^ 0x811c9ddb) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193; do { /* WARNING: Call to offcut address within same function */ func_0x00018096c996(); uVar7 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar7 < 0) { uVar7 = (uVar7 - 1 | 0xfffffffe) + 1; } } while (uVar7 != 0); uVar8 = 0; uVar7 = ((DAT_1811e9164 ^ (DAT_1811e9160 ^ (DAT_1811e915c ^ (DAT_1811e9158 ^ (DAT_1811e9154 ^ (DAT_1811e9150 ^ (DAT_1811e914c ^ (DAT_1811e9148 ^ (DAT_1811e9144 ^ (DAT_1811e9140 ^ (DAT_1811e913c ^ (DAT_1811e9138 ^ (DAT_1811e9134 ^ (DAT_1811e9130 ^ (DAT_1811e912c ^ (DAT_1811e9128 ^ (DAT_1811e9124 ^ (DAT_1811e9120 ^ (DAT_1811e911c ^ (DAT_1811e9118 ^ (DAT_1811e9114 ^ (DAT_1811e9110 ^ (DAT_1811e910c ^ (DAT_1811e9108 ^ (DAT_1811e9104 ^ (DAT_1811e9100 ^ (DAT_1811e90fc ^ (DAT_1811e90f8 ^ (DAT_1811e90f4 ^ (DAT_1811e90f0 ^ (DAT_1811e90ec ^ (DAT_1811e90e8 ^ (DAT_1811e90e4 ^ (DAT_1811e90e0 ^ (DAT_1811e90dc ^ (DAT_1811e90d8 ^ (DAT_1811e90d4 ^ (DAT_1811e90d0 ^ (DAT_1811e90cc ^ (DAT_1811e90c8 ^ (DAT_1811e90c4 ^ uVar3 * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193 ) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193 ) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193) * 0x1000193 ^ DAT_1811e9168) * 0x1000193; uVar3 = (uVar7 >> 0x10 ^ uVar7) & 0x7fff; uVar3 = ~((uVar3 << 0x10 | uVar3) ^ uVar7) ^ 0x729fdad2; uVar3 = ((uVar3 >> 2 | uVar3 << 0x1e) & 0x99999999 | (uVar3 << 2 | uVar3 >> 0x1e) & 0x66666666) ^ 0xbc27c77; uVar3 = uVar3 << 0x1c | uVar3 >> 4; if (uVar3 != 0xffbc18e) { uVar4 = thunk_FUN_1805a9280(0xbe0,(-(ulonglong)uVar3 ^ 0xffffffffffffffff) + 1); return uVar4; } do { uVar8 = ~-uVar8 + 1; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); if (bVar2) { *param_1 = uVar8; param_1[1] = (uint)(0x20 / (longlong)(int)uVar5); } else { param_1[1] = 1; *param_1 = param_2; if ((param_2 != 0) && (uVar1 = 0x80000000 / (ulonglong)param_2, param_2 <= (uint)uVar1)) { do { uVar1 = uVar1 / param_2; uVar6 = uVar6 + 1; *param_1 = *param_1 * param_2; } while (param_2 <= (uint)uVar1); param_1[1] = uVar6; } } return 0; } ############ FUN_ 1813e6ab8 size=1855 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813e6ab8(void) { undefined4 uVar1; undefined4 uVar2; undefined8 uVar3; undefined8 uVar4; undefined1 *puVar5; undefined1 uVar6; undefined4 uVar7; ulonglong uVar8; ulonglong uVar9; undefined8 uVar10; undefined8 uVar11; undefined8 *puVar12; uint uVar13; uint uVar14; undefined4 *puVar15; uint uVar16; longlong lVar17; uint uVar18; uint uVar19; undefined1 *puVar20; longlong unaff_RBP; uint unaff_ESI; uint uVar21; ulonglong uVar22; int iVar23; uint uVar24; uint uVar25; int *unaff_R13; ulonglong uVar26; undefined8 *unaff_R15; undefined8 extraout_XMM0_Qa; while( true ) { uVar13 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } if (uVar13 == 0) break; FUN_1813e6353(0x4528); } uVar13 = *(uint *)(unaff_RBP + -0x7c); uVar24 = (uint)*(ulonglong *)(unaff_RBP + -0x68); uVar25 = (uint)((ulonglong)*(undefined8 *)(unaff_RBP + -0x68) >> 0x20); uVar18 = *(uint *)(unaff_RBP + -0x5c) ^ uVar25; uVar14 = (uVar13 >> 0x11 ^ uVar13) & 0x3fff; uVar16 = ((uint)(*(ulonglong *)(unaff_RBP + -0x68) >> 0xc) & 0xfffff ^ uVar24) >> 9 & 0x7f; uVar19 = uVar18 & 0x99999999 ^ uVar25; uVar25 = uVar18 & 0x66666666 ^ uVar25; uVar18 = (uVar19 >> 2 ^ uVar19) >> 4 & 1; uVar21 = (uVar25 >> 0xb ^ uVar25) & 3; uVar13 = ~((uVar14 << 0x11 | uVar14) ^ uVar13); uVar19 = ~((uVar18 * 4 | uVar18) << 4 ^ uVar19); uVar18 = ~((uVar16 << 0xc | uVar16) << 9 ^ uVar24) ^ uVar13; uVar16 = ~((uVar21 << 0xb | uVar21) ^ uVar25); uVar14 = uVar18 & 0x1f8b2e7f ^ uVar13; uVar13 = uVar18 & 0xe074d180 ^ uVar13; uVar18 = (uVar19 >> 0x11 ^ uVar19) & 0xff; uVar21 = (uVar13 >> 6 ^ uVar13) >> 0x11 & 0xf; uVar22 = (ulonglong)uVar21; uVar25 = (uVar14 >> 6 ^ uVar14) & 0xf; uVar14 = (uVar25 << 6 | uVar25) ^ uVar14; uVar25 = (uVar16 >> 0x11 ^ uVar16) & 0x1ff; uVar25 = uVar16 ^ (uVar25 << 0x11 | uVar25) ^ uVar14; uVar16 = uVar25 & 0x5b705ebb ^ uVar14; uVar18 = uVar16 ^ uVar19 ^ (uVar18 << 0x11 | uVar18); uVar25 = ~(uVar25 & 0xa48fa144 ^ uVar14); uVar19 = ~(uVar18 & 0xaaaaaaaa ^ uVar16); uVar26 = (ulonglong)uVar19; uVar18 = ~(uVar18 & 0x55555555 ^ uVar16) ^ uVar25; uVar14 = uVar18 & 0x7f807f80 ^ uVar25; do { uVar11 = rdtsc(); uVar16 = (uint)uVar11 ^ (uint)((ulonglong)uVar11 >> 0x20); *(uint *)(unaff_RBP + -0xc) = uVar16; uVar14 = ~((uVar14 ^ 0xffffffff) + 1) + 1; uVar8 = (ulonglong)uVar16 ^ (ulonglong)(uVar16 >> 0xe) + 0x4a234987; uVar8 = uVar8 + ((uVar8 >> 9) - 0x36a02d42); lVar17 = (uVar8 * 0x100 | uVar8 >> 0x38) * 0x10001 + -0xdd527ea; unaff_R15 = (undefined8 *)((-(longlong)unaff_R15 ^ 0xffffffffffffffffU) + 1); uVar8 = lVar17 * -0x3f ^ ((ulonglong)(lVar17 * -0x13b) >> 5) - 0x7832799; uVar9 = uVar8 >> 0xd | uVar8 << 0x33; uVar8 = uVar9 * 3; uVar8 = (uVar8 >> 6 | uVar8 << 0x3a) + 0x1a1343dc; lVar17 = uVar9 - uVar8; *(uint *)(unaff_RBP + -0x24) = ((int)lVar17 * 0x10000 | (uint)(ushort)((ulonglong)lVar17 >> 0x30)) >> 1; uVar16 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); uVar16 = *(uint *)(unaff_RBP + -0x24) ^ *(uint *)(unaff_RBP + -0x54); *(uint *)(unaff_RBP + -0x24) = uVar16; if (uVar16 < 0x17edd) { *(uint *)(unaff_RBP + 0x68) = uVar19; *(uint *)(unaff_RBP + 0x6c) = ~((uVar21 << 6 | uVar21) << 0x11 ^ uVar13); *(uint *)(unaff_RBP + 0x70) = uVar14; *(uint *)(unaff_RBP + 0x74) = uVar18 & 0x807f807f ^ uVar25; do { *(undefined4 *)(unaff_RBP + -0x20) = 0x88449a02; *(undefined8 *)(unaff_RBP + 0x28) = 0x1813e6df2; func_0x0001813e76a6(); uVar13 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); uVar13 = ~(*(uint *)(unaff_RBP + -0x20) ^ 0x991f57ad); uVar13 = ~((uVar13 >> 0x15 | uVar13 << 0xb) ^ 0x12267c2f) ^ 0x33cd071b; *(uint *)(unaff_RBP + -0x20) = uVar13; (*(code *)((longlong)(int)uVar13 + *(longlong *)(unaff_RBP + 0x28))) (unaff_RBP + 0x68,unaff_RBP + 0x80); uVar13 = *(uint *)(unaff_RBP + 0x80); iVar23 = 7; uVar25 = *(uint *)(unaff_RBP + 0x84); do { uVar18 = (uVar13 >> 0xc ^ uVar13) >> 2 & 0xfff; uVar14 = (uVar25 >> 5 ^ uVar25) >> 8 & 1; uVar13 = (uVar18 << 0xc | uVar18) << 2 ^ uVar13; uVar18 = (uVar13 >> 0x18 | uVar13 << 8) + 0x6e4157a7; uVar16 = (uVar25 << 0x1c | ((uVar14 << 5 | uVar14) << 8 ^ uVar25) >> 4) + 0x20a786ca; uVar13 = (uVar18 >> 0xb ^ uVar18) >> 9 & 0x3ff; uVar14 = uVar18 ^ (uVar13 << 0xb | uVar13) << 9; uVar13 = (uVar16 >> 0x11 ^ uVar16) >> 0xb & 3; uVar16 = uVar16 ^ (uVar13 << 0x11 | uVar13) << 0xb; uVar25 = (uVar16 << 0x10 | uVar16 >> 0x10) & 0x5c9ca363; uVar22 = (ulonglong)uVar25; uVar25 = (uVar16 >> 0x10 | uVar16 << 0x10) & 0xa3635c9c | uVar25; uVar13 = (uVar14 >> 4 | uVar18 * 0x10000000) & 0x78787878; uVar8 = (ulonglong)uVar13; uVar13 = (uVar14 << 4 | uVar14 >> 0x1c) & 0x87878787 | uVar13; uVar18 = (uVar25 << 0x12 | uVar25 >> 0xe) + 0x607d5440; uVar13 = uVar18 ^ (uVar13 << 0x12 | uVar13 >> 0xe) + 0x270a0bab; uVar25 = uVar13 & 0x3c3c3c3c ^ uVar18; uVar18 = uVar13 & 0xc3c3c3c3 ^ uVar18 ^ uVar25; uVar13 = uVar18 & 0x7341a189 ^ uVar25; uVar25 = uVar18 & 0x8cbe5e76 ^ uVar25; iVar23 = iVar23 + -1; } while (-1 < iVar23); do { puVar15 = (undefined4 *)(unaff_RBP + -0x40); FUN_1813e6ab7(); *puVar15 = 0xbd4f5f69; FUN_1813e8592(); uVar18 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar18 < 0) { uVar18 = (uVar18 - 1 | 0xfffffffe) + 1; } } while (uVar18 != 0); uVar18 = *(int *)(unaff_RBP + -0x40) + 0x2dfa3eee; uVar14 = ((uVar13 + 0xb4839884) * 0x10 | uVar13 + 0xb4839884 >> 0x1c) ^ 0x5244efa5; uVar13 = (uVar18 * 0x200000 | uVar18 >> 0xb) ^ 0xabf3e2cd; uVar18 = (uVar14 << 0x14 | uVar14 >> 0xc) + 0xa783f037; uVar13 = (uVar13 >> 0x16 | uVar13 << 10) + 0xc42b144c; uVar18 = (uVar18 >> 0xb | uVar18 * 0x200000) + 0xd53506e; uVar13 = (uVar13 >> 0xb | uVar13 * 0x200000) + 0x2981305f; *(uint *)(unaff_RBP + -0x40) = (uVar13 >> 0x1e | uVar13 * 4) ^ 0xc194d714; if (((uVar18 >> 0x1f | uVar18 * 2) + 0x55160d51 ^ *(uint *)(unaff_RBP + -0x40)) + uVar25 != *(int *)(unaff_RBP + -0x7c)) { do { puVar12 = (undefined8 *)(unaff_RBP + 0x30); FUN_1813e73e7(); *puVar12 = FUN_180bc2920; uVar13 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); (**(code **)(unaff_RBP + 0x30))(); do { FUN_1813e5bc4(); uVar13 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } } while (uVar13 != 0); } } uVar13 = *(uint *)(unaff_RBP + -0x74) ^ unaff_ESI; if (uVar13 != uVar13 >> 2) { lVar17 = FUN_1813e6532(); thunk_FUN_1805a9280(extraout_XMM0_Qa,(lVar17 + uVar8) - (~(uVar8 - (lVar17 + uVar8)) + 1)); return; } iVar23 = *(int *)(unaff_RBP + -0x1c); puVar5 = (undefined1 *)register0x00000020; do { puVar20 = puVar5; *(undefined8 *)(puVar20 + -8) = 0x1813e70e8; lVar17 = (longlong)iVar23; FUN_1813e57ba(); *(undefined8 **)(puVar20 + -8) = unaff_R15; *(ulonglong *)(puVar20 + -0x10) = uVar8; *(ulonglong *)(puVar20 + -0x18) = uVar26; unaff_R13 = (int *)-(~(ulonglong)unaff_R13 + 1); lVar17 = -lVar17; uVar26 = *(ulonglong *)(puVar20 + lVar17 + 0xbc8); uVar8 = *(ulonglong *)(puVar20 + lVar17 + 0xbd0); unaff_R15 = *(undefined8 **)(puVar20 + lVar17 + 0xbd8); uVar13 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar13 < 0) { uVar13 = (uVar13 - 1 | 0xfffffffe) + 1; } puVar5 = puVar20 + lVar17 + 0xbe0; } while (uVar13 != 0); *(undefined8 *)(puVar20 + lVar17 + 0xbd8) = 0x1813e71ca; uVar10 = FUN_18133e170(unaff_RBP + 0x38,unaff_R15 + 10,uVar22); *(undefined8 *)(puVar20 + lVar17 + 0xbd8) = 0x1813e71d9; uVar11 = FUN_181339630(unaff_R15,unaff_RBP + 0x44); *(undefined8 *)(puVar20 + lVar17 + 0xbd8) = 0x1813e71e5; puVar12 = (undefined8 *)FUN_1804ab870(uVar11,unaff_RBP + 0x4c); *(undefined8 *)(puVar20 + lVar17 + 0xbd8) = 0x1813e71f0; uVar6 = FUN_181339710(unaff_R15); *(undefined8 *)(puVar20 + lVar17 + 0xbd8) = 0x1813e71fb; uVar7 = FUN_1804e48d0(unaff_R15); puVar20[lVar17 + 0xc58] = uVar6; *(undefined4 *)(puVar20 + lVar17 + 0xc50) = uVar7; *(undefined8 *)(puVar20 + lVar17 + 0xc48) = unaff_R15[9]; uVar11 = unaff_R15[8]; uVar7 = *(undefined4 *)(unaff_R15 + 4); uVar2 = *(undefined4 *)(unaff_RBP + -0x14); uVar3 = *unaff_R15; uVar4 = *(undefined8 *)(unaff_RBP + -8); *(undefined8 *)(puVar20 + lVar17 + 0xc40) = *puVar12; uVar1 = *(undefined4 *)((longlong)unaff_R15 + 0x24); *(undefined8 *)(puVar20 + lVar17 + 0xc38) = uVar11; *(undefined8 *)(puVar20 + lVar17 + 0xc30) = unaff_R15[7]; *(undefined8 *)(puVar20 + lVar17 + 0xc28) = unaff_R15[6]; *(undefined4 *)(puVar20 + lVar17 + 0xc20) = uVar1; uVar1 = *(undefined4 *)((longlong)unaff_R15 + 0x1c); *(undefined4 *)(puVar20 + lVar17 + 0xc18) = uVar7; uVar7 = *(undefined4 *)(unaff_R15 + 3); *(undefined4 *)(puVar20 + lVar17 + 0xc10) = uVar1; uVar1 = *(undefined4 *)((longlong)unaff_R15 + 0x14); *(undefined4 *)(puVar20 + lVar17 + 0xc08) = uVar7; *(undefined4 *)(puVar20 + lVar17 + 0xc00) = uVar1; *(undefined8 *)(puVar20 + lVar17 + 0xbd8) = 0x1813e73ba; FUN_1813399c0(uVar4,uVar10,uVar3,uVar2); *(undefined **)(puVar20 + lVar17 + 0xbd8) = &UNK_1813e73cd; } ############ FUN_ 1815242fd size=1312 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1815242fd(uint *param_1,ulonglong param_2,undefined8 param_3,longlong param_4, undefined8 param_5,undefined8 param_6,int param_7,undefined8 param_8, undefined4 param_9,undefined8 param_10,int param_11,undefined4 param_12, undefined8 param_13,uint param_14,undefined8 param_15,undefined8 param_16) { longlong lVar1; undefined4 uVar2; longlong lVar3; undefined8 uVar4; undefined1 *puVar5; char cVar6; ulonglong in_RAX; ulonglong uVar7; ulonglong uVar8; uint uVar9; uint uVar10; undefined8 *puVar11; undefined4 unaff_EBX; uint uVar12; uint uVar13; undefined1 *puVar14; longlong unaff_RBP; int unaff_EDI; int iVar15; undefined4 unaff_R13D; int *unaff_R14; undefined8 unaff_R15; undefined1 auStackX_8 [32]; while( true ) { uVar7 = in_RAX ^ (param_2 >> 0xb | param_2 << 0x35) + 0x2a7a2829; uVar8 = uVar7 >> 0xb | uVar7 << 0x35; uVar8 = uVar8 + ((uVar8 << 8 | (uVar7 & 0x7ff) >> 3) - 0x6faa1809); uVar7 = uVar8 * 0x2000 | uVar8 >> 0x33; uVar8 = uVar7 * 3 >> 0xe; lVar1 = uVar8 + uVar7 * 2; uVar7 = ((uVar8 ^ 0xffffffffffffffff) + 1 ^ 0xffffffffffffffff) + 1; *param_1 = ((int)lVar1 * 0x1000 | (uint)((ulonglong)lVar1 >> 0x34)) >> 1; uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } if (uVar9 == 0) break; param_1 = (uint *)((longlong)¶m_13 + 4); uVar4 = rdtsc(); uVar9 = (int)uVar4 + (int)((ulonglong)uVar4 >> 0x20) * 8; *(uint *)(unaff_RBP + -0x60) = uVar9; in_RAX = (ulonglong)uVar9 * -0x1fff; param_2 = (ulonglong)uVar9 * -0x9ffb; } param_13._4_4_ = param_13._4_4_ ^ param_16._4_4_; if (param_13._4_4_ < 0x28f5c2b) { *(undefined4 *)(unaff_RBP + -0x18) = param_12; *(undefined4 *)(unaff_RBP + -0xc) = param_9; *(undefined4 *)(unaff_RBP + -0x14) = unaff_R13D; *(undefined4 *)(unaff_RBP + -0x10) = unaff_EBX; do { param_14 = 0x6b26fdcf; *(undefined8 *)(unaff_RBP + -0x40) = 0x181524423; FUN_181524d70(); uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = (param_14 + 0x5d0c1c55 >> 3 | (param_14 + 0x5d0c1c55) * 0x20000000) ^ 0x87033239; uVar9 = (uVar9 >> 0xe | uVar9 << 0x12) + 0xf60a6c56; param_14 = uVar9 >> 0x19 | uVar9 * 0x80; (*(code *)((longlong)(int)param_14 + *(longlong *)(unaff_RBP + -0x40))) (unaff_RBP + -0x18,unaff_RBP + 0x18); uVar9 = *(uint *)(unaff_RBP + 0x28); iVar15 = 7; uVar12 = *(uint *)(unaff_RBP + 0x2c); do { uVar10 = (uVar12 ^ uVar9) & 0x4efd1df ^ uVar9; uVar12 = (uVar12 ^ uVar9) & 0xfb102e20 ^ uVar9 ^ uVar10; uVar9 = ~(uVar12 & 0x54d3484b ^ uVar10); uVar12 = uVar9 ^ ~(uVar12 & 0xab2cb7b4 ^ uVar10); uVar10 = uVar12 & 0x848b99fe ^ uVar9; uVar9 = uVar12 & 0x7b746601 ^ uVar9; uVar12 = ((uVar10 << 4 | uVar10 >> 0x1c) & 0xc3c3c3c3 | (uVar10 >> 4 | uVar10 << 0x1c) & 0x3c3c3c3c) + 0x36fae1ff; uVar7 = (ulonglong)uVar12; uVar9 = ((uVar9 << 0x10 | uVar9 >> 0x10) & 0x96b5694a | (uVar9 >> 0x10 | uVar9 << 0x10) & 0x694a96b5) + 0xf365dac8 ^ uVar12; uVar13 = uVar9 & 0x58f8e34b ^ uVar12; uVar12 = uVar9 & 0xa7071cb4 ^ uVar12; uVar10 = uVar12 << 0x18 | uVar12 >> 8; uVar12 = (uVar13 >> 6 | uVar13 << 0x1a) ^ 0x3825b93f; uVar9 = uVar10 + 0xc3118cdd; iVar15 = iVar15 + -1; } while (-1 < iVar15); uVar10 = uVar10 + 0xa8f2eaf; uVar9 = (uVar10 * 0x2000 | uVar10 >> 0x13) ^ 0xcc4c7c7d; uVar9 = (uVar9 >> 0x10 | uVar9 << 0x10) + 0x54b5ddf; do { FUN_181525e7a(); uVar10 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); if ((~((uVar9 * 0x10000 | uVar9 >> 0x10) + 0xea972987) + 0xbb1f54ad ^ 0xa4cedbfb) + uVar12 != param_11) { do { puVar11 = (undefined8 *)(unaff_RBP + -0x38); func_0x000181523639(); *puVar11 = FUN_180bc28c0; uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); (**(code **)(unaff_RBP + -0x38))(); do { func_0x000181524b72(); uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); } } if (unaff_EDI != param_7) { thunk_FUN_1805a9280((longlong)*(int *)(unaff_RBP + -0x7c), (param_4 + uVar7) - ((uVar7 - (param_4 + uVar7) ^ 0xffffffffffffffff) + 1)); return; } iVar15 = *(int *)(unaff_RBP + -0x80); puVar5 = auStackX_8; do { puVar14 = puVar5; *(longlong *)(puVar14 + -8) = param_4; *(undefined8 *)(puVar14 + -0x10) = unaff_R15; *(int **)(puVar14 + -0x18) = unaff_R14; lVar1 = -(longlong)iVar15; unaff_R14 = *(int **)(puVar14 + lVar1 + 0x3a8); unaff_R15 = *(undefined8 *)(puVar14 + lVar1 + 0x3b0); param_4 = *(longlong *)(puVar14 + lVar1 + 0x3b8); uVar9 = (*unaff_R14 + 1) * *unaff_R14 & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } puVar5 = puVar14 + lVar1 + 0x3c0; } while (uVar9 != 0); lVar3 = *(longlong *)(unaff_RBP + -0x70); *(undefined8 *)(puVar14 + lVar1 + 0x3b8) = 0x181524789; cVar6 = FUN_1815fb4e0(lVar3 + 0x8e0); if (cVar6 == '\0') { uVar2 = *(undefined4 *)(lVar3 + 0x338); *(undefined4 *)(puVar14 + lVar1 + 0x3e0) = 0; *(undefined8 *)(puVar14 + lVar1 + 0x3b8) = 0x1815247b4; FUN_1815fe690(lVar3 + 0x8e0,2,uVar2); } else { *(undefined1 **)(puVar14 + lVar1 + 0x3b8) = &LAB_1815248dc; FUN_1815fceb0(lVar3 + 0x8e0); } *(undefined **)(puVar14 + lVar1 + 0x3b8) = &UNK_1815248e8; } ############ FUN_ 18120d9b4 size=1282 ############ void FUN_18120d9b4(uint *param_1,ulonglong param_2,ulonglong param_3,undefined8 param_4,int param_5, int param_6,undefined8 param_7,undefined8 param_8,undefined8 param_9, undefined8 param_10,undefined4 param_11) { ulonglong uVar1; uint uVar2; uint uVar3; ulonglong in_RAX; uint uVar4; undefined4 unaff_EBX; longlong unaff_RBP; undefined4 unaff_ESI; undefined4 unaff_EDI; uint uVar5; int iVar6; uint *in_R10; int *unaff_R12; int unaff_R13D; undefined4 unaff_R14D; int unaff_R15D; undefined8 in_stack_00000078; while( true ) { uVar2 = (uint)in_RAX ^ (uint)param_2; *in_R10 = uVar2; uVar1 = ((ulonglong)(uVar2 >> 10) | (ulonglong)uVar2 << 0x36) + (ulonglong)uVar2 * 8; unaff_R12 = (int *)-(((ulonglong)unaff_R12 ^ 0xffffffffffffffff) + 1); *param_1 = (uint)((uVar1 - (uVar1 >> 0xf)) * 0x901 >> 0xc) >> 1; uVar2 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } if (uVar2 == 0) break; in_R10 = (uint *)&stack0x00000078; param_1 = (uint *)((longlong)¶m_10 + 4); uVar1 = rdtsc(); param_2 = uVar1 >> 0x20; in_RAX = uVar1 & 0xffffffff; } param_10._4_4_ = param_10._4_4_ ^ param_7._4_4_; if (param_10._4_4_ < 0x4444447) { do { FUN_18120c62b(); uVar2 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); *(undefined4 *)(unaff_RBP + -0x30) = unaff_ESI; *(undefined4 *)(unaff_RBP + -0x2c) = unaff_EDI; *(undefined4 *)(unaff_RBP + -0x28) = unaff_R14D; *(undefined4 *)(unaff_RBP + -0x24) = unaff_EBX; do { *(undefined8 *)(unaff_RBP + -0x68) = 0x18120db33; uVar2 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); param_11 = 0xffa3967d; (*(code *)(*(longlong *)(unaff_RBP + -0x68) + -0x5c6983))(unaff_RBP + -0x30); param_3 = (ulonglong)*(uint *)(unaff_RBP + 0x18); uVar2 = *(uint *)(unaff_RBP + 0x1c); iVar6 = 7; do { uVar3 = ((uint)(param_3 >> 0xc) ^ (uint)param_3) >> 2 & 0xfff; uVar4 = (uVar2 >> 5 ^ uVar2) >> 8 & 1; uVar3 = (uVar3 << 0xc | uVar3) << 2 ^ (uint)param_3; uVar3 = (uVar3 >> 0x18 | uVar3 << 8) + 0x6e4157a7; uVar5 = (uVar2 << 0x1c | ((uVar4 << 5 | uVar4) << 8 ^ uVar2) >> 4) + 0x20a786ca; uVar2 = (uVar3 >> 0xb ^ uVar3) >> 9 & 0x3ff; uVar4 = uVar3 ^ (uVar2 << 0xb | uVar2) << 9; uVar2 = (uVar5 >> 0x11 ^ uVar5) >> 0xb & 3; uVar5 = uVar5 ^ (uVar2 << 0x11 | uVar2) << 0xb; uVar2 = (uVar4 << 4 | uVar4 >> 0x1c) & 0x87878787 | (uVar4 >> 4 | uVar3 * 0x10000000) & 0x78787878; uVar3 = (uVar5 >> 0x10 | uVar5 << 0x10) & 0xa3635c9c | (uVar5 << 0x10 | uVar5 >> 0x10) & 0x5c9ca363; uVar4 = (uVar3 << 0x12 | uVar3 >> 0xe) + 0x607d5440; uVar2 = uVar4 ^ (uVar2 << 0x12 | uVar2 >> 0xe) + 0x270a0bab; uVar3 = uVar2 & 0x3c3c3c3c ^ uVar4; uVar4 = uVar2 & 0xc3c3c3c3 ^ uVar4 ^ uVar3; uVar2 = uVar4 & 0x8cbe5e76 ^ uVar3; uVar3 = uVar4 & 0x7341a189 ^ uVar3; param_3 = (ulonglong)uVar3; iVar6 = iVar6 + -1; } while (-1 < iVar6); uVar3 = uVar3 + 0x546b5778; uVar3 = (uVar3 * 0x4000000 | uVar3 >> 6) + 0x3d3ac0d2; uVar3 = (uVar3 >> 0x1a | uVar3 * 0x40) + 0x25f9c5e; uVar3 = (uVar3 >> 0x1d | uVar3 * 8) + 0x4b52249f; if (((uVar3 >> 8 | uVar3 * 0x1000000) + 0x8ac94a7a ^ 0x3318f9b9) + uVar2 != param_5) { do { *(code **)(unaff_RBP + -0x60) = FUN_180bc28c0; uVar2 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); (**(code **)(unaff_RBP + -0x60))(); do { uVar2 = (*unaff_R12 + 1) * *unaff_R12 & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } } while (uVar2 != 0); } } if (unaff_R15D == param_6) { if (0 < DAT_1826736a4) { DAT_1826736a4 = DAT_1826736a4 + -1; } FUN_18120a2a0(); FUN_18120d9b3((longlong)in_stack_00000078._4_4_); FUN_18120df13(); return; } if (DAT_1826736a4 < 1) { DAT_1826736a4 = DAT_1826736a4 + -1; } FUN_18120a2a0(); thunk_FUN_1805a9280((longlong)unaff_R13D,0x18120de1c,param_3); return; } ############ FUN_ 1814338d9 size=2094 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1814338d9(uint *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4, uint param_5,uint param_6,undefined8 param_7,undefined8 param_8,ulonglong param_9, undefined8 param_10,undefined8 param_11,undefined8 param_12,undefined8 param_13, undefined8 param_14,undefined8 param_15) { undefined8 uVar1; longlong lVar2; undefined1 *puVar3; ulonglong in_RAX; ulonglong uVar4; uint uVar5; ulonglong uVar6; undefined4 *puVar7; uint *puVar8; ulonglong uVar9; uint uVar10; longlong unaff_RBX; longlong lVar11; undefined1 *puVar12; uint *unaff_RBP; uint uVar13; uint uVar14; longlong unaff_RDI; uint uVar15; uint uVar16; int iVar17; uint uVar18; longlong in_R10; uint uVar19; int *unaff_R13; int unaff_R14D; longlong unaff_R15; longlong lVar20; undefined1 auStackX_8 [32]; uint uStack000000000000002c; lVar20 = ~((unaff_R15 + in_R10 ^ 0xffffffffffffffffU) + 1) + 1; *param_1 = (int)(in_RAX ^ param_2) + (int)((in_RAX ^ param_2) >> 6) + 0x72efda01 & 0xd61a39a; uVar5 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } if (uVar5 != 0) { puVar8 = (uint *)((longlong)register0x00000020 + 0x74); FUN_181432fe9((longlong)¶m_7 + 4); uVar1 = rdtsc(); *puVar8 = (uint)uVar1 ^ (uint)((ulonglong)uVar1 >> 0x20); FUN_181433827(); return; } *(int *)(unaff_RBX + 8) = *(int *)(unaff_RBX + 8) + (param_7._4_4_ ^ 0x272f46d); *(int *)(unaff_RBX + 4) = *(int *)(unaff_RBX + 4) + (param_7._4_4_ ^ 0x8a4e7e86); uVar6 = *(ulonglong *)(unaff_RBX + 4); uVar5 = (uint)((uVar6 >> 0x1f ^ uVar6) >> 1) & 0x7fffffff; uVar9 = ~(((ulonglong)uVar5 << 0x1f | (ulonglong)uVar5) * 2 ^ uVar6); uVar6 = (ulonglong)((uint)((uVar9 >> 0x19 ^ uVar9) >> 0x13) & 0x3fff); uVar6 = ((uVar6 << 0x19 | uVar6) << 0x13 ^ uVar9) + 0x4886b0bd5fbaff3; uVar5 = (uint)((uVar6 >> 0x19 ^ uVar6) >> 7) & 0x1ffffff; uVar6 = ((ulonglong)uVar5 << 0x19 | (ulonglong)uVar5) << 7 ^ uVar6; uVar6 = ((uVar6 << 8 | uVar6 >> 0x38) & 0xed12ed12ed12ed12 | (uVar6 >> 8 | uVar6 << 0x38) & 0x12ed12ed12ed12ed) + 0xb8c1196ebfb2e929; uVar6 = (uVar6 >> 2 & 0xcccccccccccccccc | uVar6 << 0x3e | uVar6 * 4 & 0x3333333333333333 | uVar6 >> 0x3e) + 0x933b7ec71fa15cd5; *(ulonglong *)(unaff_RBX + 4) = uVar6; *(longlong *)(unaff_RDI + 4) = *(longlong *)(unaff_RDI + 4) + (ulonglong)((uint)(uVar6 >> 0xc) & 0x28304b0); param_7._4_4_ = (uint)(*(ulonglong *)(unaff_RBX + 4) >> 4) & 0x7fffffff; uStack000000000000002c = (uint)(*(ulonglong *)(unaff_RBX + 4) >> 0x1b) ^ 0x4d4be8c9; param_9 = *(ulonglong *)(unaff_RBX + 4) ^ 0xae5e6e8103202de3; unaff_RBP[-9] = uStack000000000000002c; unaff_RBP[-8] = (uint)param_9; uVar5 = unaff_RBP[-8] + 0xf1e309f9; uVar10 = (uint)(param_9 >> 0x20) ^ 0x4a5a460c ^ uVar5; uVar16 = unaff_R14D + 0xf56b0f05; uVar13 = unaff_RBP[-9] ^ 0x580ef0e7; uVar14 = (uVar10 & 0x404381bb ^ uVar5) + 0xf864faf4; uVar10 = uVar10 & 0xbfbc7e44 ^ uVar5 ^ 0xe070a390; uVar15 = (uVar16 >> 0xf ^ uVar16) >> 2 & 0x7fff; uVar18 = (uVar13 >> 0xe ^ uVar13) >> 2 & 0x3fff; uVar19 = (uVar14 >> 10 ^ uVar14) >> 0xb & 3; uVar5 = (uVar10 >> 9 ^ uVar10) >> 4 & 0xff; uVar5 = (uVar5 << 9 | uVar5) << 4 ^ uVar10 ^ 0x17d56d53; uVar10 = uVar5 ^ ((uVar15 << 0xf | uVar15) << 2 ^ uVar16) + 0x193437c3; uVar15 = uVar10 & 0x61fa746d ^ uVar5 ^ 0x4742c5fd; uVar13 = uVar13 ^ ((uVar18 << 0xe | uVar18) ^ 0xe46c1535) << 2; uVar19 = ((uVar19 << 10 | uVar19) << 0xb ^ uVar14 ^ 0x3e728703) + 0xea956873; uVar18 = (uVar10 & 0x9e058b92 ^ uVar5) + 0xf3638a6a; uVar5 = (uVar15 >> 7 ^ uVar15) & 3; uVar10 = (uVar13 >> 0xf ^ uVar13) >> 2 & 0x7fff; uVar14 = (uVar19 >> 10 ^ uVar19) >> 10 & 0x7f; uVar16 = (uVar18 >> 5 ^ uVar18) >> 2 & 0x1f; uVar15 = ((uVar5 << 7 | uVar5) ^ uVar15) + 0x933d3959; uVar5 = ((uVar16 << 5 | uVar16) << 2 ^ uVar18) + 0xf6b09850; uVar6 = (ulonglong)uVar5; do { uVar1 = rdtsc(); param_14._4_4_ = (int)uVar1 + (int)((ulonglong)uVar1 >> 0x20); uVar9 = (ulonglong)param_14._4_4_ * 0x41 - 0x4820b647; uVar9 = (uVar9 >> 0xb) + 0xf3cb793 + uVar9 * 2; uVar4 = uVar9 * 0x80 | uVar9 >> 0x39; uVar9 = (uVar4 << 6 | (uVar9 & 0x1ffffffffffffff) >> 0x33) + 0x7a387c56 + uVar4 * 2; uVar9 = uVar9 * 0x400 | uVar9 >> 0x36; uVar4 = uVar9 << 10; uVar15 = -(~uVar15 + 1); uVar16 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar16 < 0) { uVar16 = (uVar16 - 1 | 0xfffffffe) + 1; } } while (uVar16 != 0); param_12._0_4_ = (int)uVar9 + (int)uVar4 & 0x7fffffffU ^ param_7._4_4_; if ((uint)param_12 < 0xccccccf) { unaff_RBP[-2] = uVar15; unaff_RBP[-1] = ((uVar10 << 0xf | uVar10) << 2 ^ uVar13) + 0x49b8f865; *unaff_RBP = (uVar14 << 10 | uVar14) << 10 ^ uVar19 ^ 0x5468063c; unaff_RBP[1] = uVar5; do { puVar8 = unaff_RBP + -0xe; puVar7 = (undefined4 *)((longlong)¶m_12 + 4); func_0x000181432685(); *puVar7 = 0xdb2f27af; puVar8[0] = 0x81433d73; puVar8[1] = 1; uVar5 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); uVar5 = ~((param_12._4_4_ << 9 | param_12._4_4_ >> 0x17) + 0xd1f4edd) + 0x4e46296d; param_12._4_4_ = (uVar5 * 0x200 | uVar5 >> 0x17) ^ 0x5174f0b8; (*(code *)((longlong)(int)param_12._4_4_ + *(longlong *)(unaff_RBP + -0xe))) (unaff_RBP + -2,unaff_RBP + 10); uVar10 = unaff_RBP[10]; uVar5 = unaff_RBP[0xb]; iVar17 = 7; do { uVar14 = (uVar10 >> 0x1c ^ uVar10) >> 2 & 1; uVar15 = (uVar5 >> 0xc ^ uVar5) & 0x3ff; uVar10 = (uVar14 << 0x1c | uVar14) << 2 ^ uVar10 ^ 0xa0a9bf0b; uVar4 = (ulonglong)uVar10; uVar5 = ((uVar15 << 0xc | uVar15) ^ uVar5) + 0xc12e6b24 ^ uVar10; uVar14 = (uVar5 & 0x7fbcc1e5 ^ uVar10) + 0x240e52d0 ^ 0x1e08654e; uVar5 = uVar5 & 0x80433e1a ^ uVar10 ^ 0xf83d4d4c ^ uVar14; uVar10 = (uVar5 & 0xdd51862d ^ uVar14) + 0x916c9021; uVar5 = (uVar5 & 0x22ae79d2 ^ uVar14) + 0xe4ebf231; uVar14 = (uVar10 >> 0xd ^ uVar10) >> 8 & 0x3ff; uVar10 = uVar10 ^ (uVar14 << 0xd | uVar14) << 8; uVar14 = (uVar5 >> 0x11 ^ uVar5) >> 5 & 0x1f; uVar5 = uVar5 ^ (uVar14 << 0x11 | uVar14) << 5; iVar17 = iVar17 + -1; } while (-1 < iVar17); do { puVar7 = (undefined4 *)((longlong)¶m_8 + 4); FUN_181432a53(); *puVar7 = 0x53be3c45; FUN_1814338d8(); uVar14 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar14 < 0) { uVar14 = (uVar14 - 1 | 0xfffffffe) + 1; } } while (uVar14 != 0); uVar14 = ~(~((param_8._4_4_ >> 0x14 | param_8._4_4_ << 0xc) + 0xf9efbfc3) ^ 0x53842bbd); param_8._4_4_ = ~((uVar14 << 0x19 | uVar14 >> 7) ^ 0x4a165f2f) + 0x15cfe083; uVar10 = (uVar10 >> 0x17 | uVar10 << 9) + 0x943148a6; uVar10 = (uVar10 >> 2 | uVar10 * 0x40000000) + 0x117a06ca; uVar10 = (uVar10 >> 8 | uVar10 * 0x1000000) + 0x8d79b681; uVar10 = (uVar10 >> 0x19 | uVar10 * 0x80) + 0x7a344922; if (((uVar10 * 0x20000 | uVar10 >> 0xf) ^ param_8._4_4_) + uVar5 != uStack000000000000002c) { do { *(code **)(unaff_RBP + -0x16) = FUN_180bc28c0; uVar5 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); (**(code **)(unaff_RBP + -0x16))(); do { func_0x000181434419(); uVar5 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } } while (uVar5 != 0); } } if (((param_6 ^ param_5) * 3 & 0x3fffffff) != 0) { FUN_18115fa70(param_10); thunk_FUN_1805a9280((longlong)param_15._4_4_,uVar4); return; } FUN_18115fa70(param_10); lVar11 = (longlong)(int)param_15; puVar3 = auStackX_8; do { puVar12 = puVar3; *(longlong *)(puVar12 + -8) = lVar20; *(int **)(puVar12 + -0x10) = unaff_R13; *(ulonglong *)(puVar12 + -0x18) = uVar6; lVar2 = -lVar11; uVar6 = *(ulonglong *)(puVar12 + lVar2 + 0xcb8); unaff_R13 = *(int **)(puVar12 + lVar2 + 0xcc0); lVar20 = *(longlong *)(puVar12 + lVar2 + 0xcc8); uVar5 = (*unaff_R13 + 1) * *unaff_R13 & 0x80000001; if ((int)uVar5 < 0) { uVar5 = (uVar5 - 1 | 0xfffffffe) + 1; } puVar3 = puVar12 + lVar2 + 0xcd0; } while (uVar5 != 0); *(undefined8 *)(puVar12 + lVar2 + 0xcc8) = 0x1814341fa; FUN_180487550(unaff_RBP + -0x1a,uVar4); *(undefined **)(puVar12 + lVar2 + 0xcc8) = &UNK_181434206; } ############ FUN_ 180530850 size=584 ############ void FUN_180530850(longlong param_1) { int iVar1; int iVar2; undefined8 uVar3; float fVar4; longlong lVar5; int iVar6; longlong lVar7; int iVar8; float fVar9; double dVar10; float fVar11; uint uVar12; uint uVar13; float fVar14; undefined1 auStack_e8 [176]; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_e8; iVar1 = *(int *)(param_1 + 100) / 2 + 1; fVar14 = (DAT_1824c45b4 / (*(float *)(param_1 + 0x24) * DAT_1824c3d8c)) * (float)iVar1; fVar9 = expf(DAT_1824c4208); fVar4 = DAT_1824c3ea4; iVar6 = 1; lVar7 = (longlong)iVar1; lVar5 = 1; if (1 < lVar7) { uVar12 = (uint)DAT_1824c4f10; uVar13 = (uint)((ulonglong)DAT_1824c4f10 >> 0x20); if (3 < lVar7 + -1) { iVar8 = 3; do { fVar11 = (float)iVar6; iVar6 = iVar6 + 4; dVar10 = (double)(fVar4 / ((fVar11 / fVar14) / fVar9 + fVar4)); *(float *)(*(longlong *)(param_1 + 0x5406a8) + lVar5 * 4) = (float)(double)CONCAT44((uint)((ulonglong)dVar10 >> 0x20) & uVar13, SUB84(dVar10,0) & uVar12) * (fVar11 / fVar14); fVar11 = (float)(iVar8 + -1) / fVar14; dVar10 = (double)(fVar4 / (fVar11 / fVar9 + fVar4)); *(float *)(*(longlong *)(param_1 + 0x5406a8) + 4 + lVar5 * 4) = (float)(double)CONCAT44((uint)((ulonglong)dVar10 >> 0x20) & uVar13, SUB84(dVar10,0) & uVar12) * fVar11; dVar10 = (double)(fVar4 / (((float)iVar8 / fVar14) / fVar9 + fVar4)); *(float *)(*(longlong *)(param_1 + 0x5406a8) + 8 + lVar5 * 4) = (float)(double)CONCAT44((uint)((ulonglong)dVar10 >> 0x20) & uVar13, SUB84(dVar10,0) & uVar12) * ((float)iVar8 / fVar14); iVar2 = iVar8 + 1; iVar8 = iVar8 + 4; fVar11 = (float)iVar2 / fVar14; dVar10 = (double)(fVar4 / (fVar11 / fVar9 + fVar4)); *(float *)(*(longlong *)(param_1 + 0x5406a8) + 0xc + lVar5 * 4) = (float)(double)CONCAT44((uint)((ulonglong)dVar10 >> 0x20) & uVar13, SUB84(dVar10,0) & uVar12) * fVar11; lVar5 = lVar5 + 4; } while (lVar5 < lVar7 + -3); } for (; lVar5 < lVar7; lVar5 = lVar5 + 1) { fVar11 = (float)iVar6; iVar6 = iVar6 + 1; dVar10 = (double)(fVar4 / ((fVar11 / fVar14) / fVar9 + fVar4)); *(float *)(*(longlong *)(param_1 + 0x5406a8) + lVar5 * 4) = (float)(double)CONCAT44((uint)((ulonglong)dVar10 >> 0x20) & uVar13, SUB84(dVar10,0) & uVar12) * (fVar11 / fVar14); } } uVar3 = *(undefined8 *)(param_1 + 0x5406a8); iVar6 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar6 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(uVar3,DAT_1824c3e50); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(uVar3,DAT_1824c4110,uVar3,iVar1); } ############ FUN_ 18052d830 size=85 ############ void FUN_18052d830(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4) { int iVar1; iVar1 = __std_type_info_compare(0x182650db8,0x182650db8); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,param_3); } /* WARNING: Subroutine does not return */ thunk_FUN_181ba94b0(param_2,(double)(float)param_3,param_1,param_4); } ############ FUN_ 18113171c size=107 ############ /* Library Function - Single Match void __cdecl `eh vector destructor iterator'(void * __ptr64,unsigned __int64,unsigned __int64,void (__cdecl*)(void * __ptr64)) Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release */ void __cdecl _eh_vector_destructor_iterator_ (void *param_1,__uint64 param_2,__uint64 param_3,_func_void_void_ptr *param_4) { void *pvVar1; pvVar1 = (void *)(param_2 * param_3 + (longlong)param_1); while( true ) { if (param_3 == 0) break; pvVar1 = (void *)((longlong)pvVar1 - param_2); (*(code *)PTR__guard_dispatch_icall_181bab6b0)(pvVar1); param_3 = param_3 - 1; } return; } ############ FUN_ 181a19410 size=19 ############ void Unwind_181a19410(undefined8 param_1,longlong param_2) { FUN_18052dd30(*(longlong *)(param_2 + 0x50) + 0x540530); return; } ############ FUN_ 181a19100 size=16 ############ void Unwind_181a19100(undefined8 param_1,longlong param_2) { FUN_18052dd30(*(longlong *)(param_2 + 0x60) + 0x60); return; } ############ FUN_ 181a19430 size=19 ############ void Unwind_181a19430(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x540668); return; } ############ FUN_ 181a19490 size=19 ############ void Unwind_181a19490(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x540698); return; } ############ FUN_ 181a194b0 size=19 ############ void Unwind_181a194b0(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x5406a8); return; } ############ FUN_ 181a194d0 size=19 ############ void Unwind_181a194d0(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x5406b8); return; } ############ FUN_ 181a194f0 size=19 ############ void Unwind_181a194f0(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x5406c8); return; } ############ FUN_ 181a19510 size=19 ############ void Unwind_181a19510(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x5406d8); return; } ############ FUN_ 181a19530 size=19 ############ void Unwind_181a19530(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x5406e8); return; } ############ FUN_ 181a19550 size=19 ############ void Unwind_181a19550(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x5406f8); return; } ############ FUN_ 181a19570 size=19 ############ void Unwind_181a19570(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x540708); return; } ############ FUN_ 181a19590 size=19 ############ void Unwind_181a19590(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x540718); return; } ############ FUN_ 181a195f0 size=19 ############ void Unwind_181a195f0(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x540748); return; } ############ FUN_ 181a19610 size=19 ############ void Unwind_181a19610(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x540758); return; } ############ FUN_ 181a19670 size=19 ############ void Unwind_181a19670(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x540788); return; } ############ FUN_ 181a19690 size=19 ############ void Unwind_181a19690(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x50) + 0x540798); return; } ############ FUN_ 181a19210 size=16 ############ void Unwind_181a19210(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0x48); return; } ############ FUN_ 181a19220 size=16 ############ void Unwind_181a19220(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0x58); return; } ############ FUN_ 181a19230 size=16 ############ void Unwind_181a19230(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0x68); return; } ############ FUN_ 181a19240 size=16 ############ void Unwind_181a19240(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0x78); return; } ############ FUN_ 181a19250 size=19 ############ void Unwind_181a19250(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0x88); return; } ############ FUN_ 181a19270 size=19 ############ void Unwind_181a19270(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0x98); return; } ############ FUN_ 181a19290 size=19 ############ void Unwind_181a19290(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0xa8); return; } ############ FUN_ 181a192b0 size=19 ############ void Unwind_181a192b0(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0xb8); return; } ############ FUN_ 181a192d0 size=19 ############ void Unwind_181a192d0(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 200); return; } ############ FUN_ 181a192f0 size=19 ############ void Unwind_181a192f0(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0xd8); return; } ############ FUN_ 181a19310 size=19 ############ void Unwind_181a19310(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0xe8); return; } ############ FUN_ 181a19330 size=19 ############ void Unwind_181a19330(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0xf8); return; } ############ FUN_ 181a19350 size=19 ############ void Unwind_181a19350(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0x108); return; } ############ FUN_ 181a19370 size=19 ############ void Unwind_181a19370(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0x118); return; } ############ FUN_ 181a19390 size=19 ############ void Unwind_181a19390(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x40) + 0x128); return; } ############ FUN_ 181a191d0 size=19 ############ void Unwind_181a191d0(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x60) + 0x340); return; } ############ FUN_ 181a191f0 size=19 ############ void Unwind_181a191f0(undefined8 param_1,longlong param_2) { FUN_18052e220(*(longlong *)(param_2 + 0x60) + 0x350); return; } ############ FUN_ 180535ae0 size=706 ############ undefined8 * FUN_180535ae0(undefined8 *param_1,undefined8 param_2) { FUN_18052f920(); *param_1 = Soothe2Module::vftable; param_1[0x7a] = Soothe2Module::vftable; param_1[0x4809b] = 0; LOCK(); *(undefined4 *)((longlong)param_1 + 0x2404dc) = 0; UNLOCK(); *(undefined4 *)(param_1 + 0x4809c) = 0; FUN_180536250(param_1 + 0x4809d); FUN_180536250(param_1 + 0x680a0); FUN_180536250(param_1 + 0x880a3); FUN_180533670(param_1 + 0xa80a6); param_1[0xa80cd] = 0; *(undefined4 *)(param_1 + 0xa80ce) = 0; _eh_vector_constructor_iterator_ (param_1 + 0xa80cf,0x10,2,(_func_void_void_ptr *)&LAB_180533330,FUN_18052e220); param_1[0xa80d3] = 0; *(undefined4 *)(param_1 + 0xa80d4) = 0; param_1[0xa80d5] = 0; *(undefined4 *)(param_1 + 0xa80d6) = 0; param_1[0xa80d7] = 0; *(undefined4 *)(param_1 + 0xa80d8) = 0; param_1[0xa80d9] = 0; *(undefined4 *)(param_1 + 0xa80da) = 0; param_1[0xa80db] = 0; *(undefined4 *)(param_1 + 0xa80dc) = 0; param_1[0xa80dd] = 0; *(undefined4 *)(param_1 + 0xa80de) = 0; param_1[0xa80df] = 0; *(undefined4 *)(param_1 + 0xa80e0) = 0; param_1[0xa80e1] = 0; *(undefined4 *)(param_1 + 0xa80e2) = 0; param_1[0xa80e3] = 0; *(undefined4 *)(param_1 + 0xa80e4) = 0; _eh_vector_constructor_iterator_ (param_1 + 0xa80e5,0x10,2,(_func_void_void_ptr *)&LAB_180533330,FUN_18052e220); param_1[0xa80e9] = 0; *(undefined4 *)(param_1 + 0xa80ea) = 0; param_1[0xa80eb] = 0; *(undefined4 *)(param_1 + 0xa80ec) = 0; _eh_vector_constructor_iterator_ (param_1 + 0xa80ed,0x10,2,(_func_void_void_ptr *)&LAB_180533330,FUN_18052e220); param_1[0xa80f1] = 0; *(undefined4 *)(param_1 + 0xa80f2) = 0; param_1[0xa80f3] = 0; *(undefined4 *)(param_1 + 0xa80f4) = 0; _eh_vector_constructor_iterator_ (param_1 + 0xa80f5,0x10,2,(_func_void_void_ptr *)&LAB_180533330,FUN_18052e220); _eh_vector_constructor_iterator_ (param_1 + 0xa80f9,0x10,2,(_func_void_void_ptr *)&LAB_180533330,FUN_18052e220); _eh_vector_constructor_iterator_ (param_1 + 0xa80fd,0x10,8,(_func_void_void_ptr *)&LAB_180533330,FUN_18052e220); param_1[0xa810d] = 0; *(undefined4 *)(param_1 + 0xa810e) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x540874) = 0x3f800000; *(undefined4 *)(param_1 + 0xa810f) = 0x3f000000; *(undefined4 *)((longlong)param_1 + 0x54087c) = 0x3f000000; *(undefined4 *)(param_1 + 0xa8110) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x540884) = 0x3f800000; *(undefined4 *)(param_1 + 0xa8111) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0x54088c) = 0x3f800000; *(undefined2 *)(param_1 + 0xa8112) = 0; *(undefined4 *)((longlong)param_1 + 0x540894) = 0x3f800000; param_1[0xa8113] = 0x3f800000; *(undefined1 *)(param_1 + 0xa8114) = 0; *(undefined8 *)((longlong)param_1 + 0x5408a4) = 0; *(undefined4 *)((longlong)param_1 + 0x5408ac) = 0x1000000; param_1[0xa8116] = param_2; *(undefined1 *)(param_1 + 0xa8117) = 1; *(undefined4 *)((longlong)param_1 + 0x24) = 0x472c4400; return param_1; } ############ FUN_ 181a195b0 size=49 ############ void Unwind_181a195b0(undefined8 param_1,longlong param_2) { _eh_vector_destructor_iterator_ ((void *)(*(longlong *)(param_2 + 0x50) + 0x540728),0x10,2,FUN_18052e220); return; } ############ FUN_ 181a19450 size=49 ############ void Unwind_181a19450(undefined8 param_1,longlong param_2) { _eh_vector_destructor_iterator_ ((void *)(*(longlong *)(param_2 + 0x50) + 0x540678),0x10,2,FUN_18052e220); return; } ############ FUN_ 181a196b0 size=49 ############ void Unwind_181a196b0(undefined8 param_1,longlong param_2) { _eh_vector_destructor_iterator_ ((void *)(*(longlong *)(param_2 + 0x50) + 0x5407a8),0x10,2,FUN_18052e220); return; } ############ FUN_ 181a196f0 size=49 ############ void Unwind_181a196f0(undefined8 param_1,longlong param_2) { _eh_vector_destructor_iterator_ ((void *)(*(longlong *)(param_2 + 0x50) + 0x5407c8),0x10,2,FUN_18052e220); return; } ############ FUN_ 181a19630 size=49 ############ void Unwind_181a19630(undefined8 param_1,longlong param_2) { _eh_vector_destructor_iterator_ ((void *)(*(longlong *)(param_2 + 0x50) + 0x540768),0x10,2,FUN_18052e220); return; } ############ FUN_ 181a19190 size=49 ############ void Unwind_181a19190(undefined8 param_1,longlong param_2) { _eh_vector_destructor_iterator_ ((void *)(*(longlong *)(param_2 + 0x60) + 0x2c0),0x40,2,FUN_18052bcb0); return; } ############ FUN_ 181a19110 size=49 ############ void Unwind_181a19110(undefined8 param_1,longlong param_2) { _eh_vector_destructor_iterator_ ((void *)(*(longlong *)(param_2 + 0x60) + 0x1c0),0x40,2,FUN_18052bcb0); return; } ############ FUN_ 181a19150 size=49 ############ void Unwind_181a19150(undefined8 param_1,longlong param_2) { _eh_vector_destructor_iterator_ ((void *)(*(longlong *)(param_2 + 0x60) + 0x240),0x40,2,FUN_18052bcb0); return; } ############ FUN_ 181a3fb6d size=52 ############ void Unwind_181a3fb6d(undefined8 param_1,longlong param_2) { _eh_vector_destructor_iterator_ ((void *)(*(longlong *)(param_2 + 0x240) + 0x8e8),0x28,2,FUN_18052bcb0); return; } ############ FUN_ 180001ee0 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_182616288)[DAT_1826159a0])(); return; } ############ FUN_ 180001d90 size=18 ############ void thunk_FUN_181ba94b0(void) { (*(code *)(&PTR_FUN_1826160c8)[DAT_1826159a0])(); return; } ############ FUN_ 18122dc00 size=140 ############ void FUN_18122dc00(longlong *param_1,undefined8 *param_2) { uint uVar1; int iVar2; bool bVar3; iVar2 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar2) { FUN_18048a300(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar2 / 2 & 0xfffffff8); } iVar2 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar2 + 1; *(undefined8 *)(*param_1 + (longlong)iVar2 * 8) = *param_2; *param_2 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar3 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar3) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return; } ############ FUN_ 180489070 size=270 ############ uint FUN_180489070(longlong *param_1,uint param_2,longlong *param_3) { undefined8 *puVar1; uint *puVar2; uint uVar3; longlong lVar4; int iVar5; longlong *plVar6; ulonglong uVar7; undefined8 *puVar8; undefined8 *puVar9; bool bVar10; iVar5 = *(int *)((longlong)param_1 + 0xc) + 1; if ((int)param_1[1] < iVar5) { FUN_18048a300(param_1,*(int *)((longlong)param_1 + 0xc) + 9 + iVar5 / 2 & 0xfffffff8); } uVar3 = *(uint *)((longlong)param_1 + 0xc); if (param_2 < uVar3) { puVar8 = (undefined8 *)(*param_1 + (longlong)(int)uVar3 * 8); puVar9 = puVar8 + 1; if (0 < (int)(uVar3 - param_2)) { uVar7 = (ulonglong)(uVar3 - param_2); do { puVar1 = puVar8 + -1; puVar8 = puVar8 + -1; puVar9[-1] = *puVar1; puVar9 = puVar9 + -1; *puVar8 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar7 = uVar7 - 1; } while (uVar7 != 0); } plVar6 = (longlong *)(*param_1 + (longlong)(int)param_2 * 8); } else { plVar6 = (longlong *)(*param_1 + (longlong)(int)uVar3 * 8); } lVar4 = *param_3; *plVar6 = lVar4; uVar3 = *(uint *)(lVar4 + -0x10); if ((uVar3 & 0x30000000) == 0) { LOCK(); puVar2 = (uint *)(lVar4 + -0x10); uVar3 = *puVar2; *puVar2 = *puVar2 + 1; UNLOCK(); } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + 1; return uVar3; } ############ FUN_ 18122bfb0 size=373 ############ void FUN_18122bfb0(longlong *param_1) { int iVar1; longlong lVar2; int iVar3; longlong *plVar4; uint *_Memory; uint uVar5; longlong lVar6; uint uVar7; longlong *plVar8; ulonglong uVar9; longlong lVar10; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); uVar7 = *(int *)((longlong)param_1 + 0xc) - 1; if (-1 < (int)uVar7) { lVar6 = (longlong)(int)uVar7 * 8; lVar10 = lVar6; do { if ((*(int *)(*(longlong *)(*param_1 + lVar6) + -0x10) == 0) && (uVar7 < *(uint *)((longlong)param_1 + 0xc))) { plVar4 = (longlong *)(*param_1 + lVar10); uVar5 = (*(uint *)((longlong)param_1 + 0xc) - uVar7) - 1; if (0 < (int)uVar5) { uVar9 = (ulonglong)uVar5; plVar8 = plVar4; do { plVar8 = plVar8 + 1; lVar2 = *plVar4; *plVar4 = *plVar8; plVar4 = plVar4 + 1; *plVar8 = lVar2; uVar9 = uVar9 - 1; } while (uVar9 != 0); } _Memory = (uint *)(*plVar4 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar5 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar1 = *(int *)((longlong)param_1 + 0xc); iVar3 = 0; if (0 < iVar1 * 2) { iVar3 = iVar1 * 2; } if (iVar3 < (int)param_1[1]) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < (int)param_1[1]) { FUN_18048a300(param_1); } } } lVar10 = lVar10 + -8; lVar6 = lVar6 + -8; uVar7 = uVar7 - 1; } while (-1 < (int)uVar7); } uVar7 = DAT_1826737fc; if (DAT_1826737fc == 0) { uVar7 = timeGetTime(); if (uVar7 < DAT_1826737fc) { if (uVar7 < DAT_1826737fc - 1000) { LOCK(); UNLOCK(); DAT_1826737fc = uVar7; } } else { LOCK(); UNLOCK(); DAT_1826737fc = uVar7; } } *(uint *)((longlong)param_1 + 0x3c) = uVar7; /* WARNING: Could not recover jumptable at 0x00018122c11e. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); return; } ############ FUN_ 18122d110 size=536 ############ int FUN_18122d110(longlong *param_1,byte *param_2,undefined8 param_3,undefined8 param_4) { byte *pbVar1; byte bVar2; byte bVar3; int iVar4; byte bVar5; uint uVar6; undefined4 *puVar7; uint uVar8; int iVar9; byte *pbVar10; int iVar11; uint uVar12; size_t _Size; bool bVar13; iVar11 = 0; if (*param_2 == 0) { return 0; } LAB_18122d150: uVar12 = 0; pbVar10 = param_2; if (*param_2 != 0) { do { iVar9 = 0; bVar2 = *pbVar10; pbVar10 = pbVar10 + 1; uVar8 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar6 = 0x40; uVar8 = 0x7f; iVar4 = 0; if ((bVar2 & 0x40) != 0) { do { iVar9 = iVar4; if (uVar6 < 9) break; uVar8 = uVar8 >> 1; iVar9 = iVar9 + 1; uVar6 = uVar6 >> 1; iVar4 = iVar9; } while ((bVar2 & uVar6) != 0); } uVar8 = bVar2 & uVar8; for (; (iVar9 = iVar9 + -1, -1 < iVar9 && ((*pbVar10 & 0xc0) == 0x80)); pbVar10 = pbVar10 + 1) { uVar8 = *pbVar10 & 0x3f | uVar8 << 6; } } if ((uVar12 == 0) && (iVar9 = FUN_18049bc80(param_3,uVar8), -1 < iVar9)) { iVar9 = 0; goto LAB_18122d210; } iVar9 = FUN_18049bc80(param_4); uVar6 = uVar12; if (((-1 < iVar9) && (uVar6 = uVar8, uVar12 != 0)) && (uVar6 = uVar12, uVar12 == uVar8)) { uVar6 = 0; } uVar12 = uVar6; } while (*pbVar10 != 0); goto LAB_18122d224; } puVar7 = (undefined4 *)&DAT_1821dbf98; goto LAB_18122d263; while (iVar9 = iVar9 + 1, iVar9 < 4) { LAB_18122d210: pbVar1 = pbVar10 + -1; pbVar10 = pbVar10 + -1; if ((*pbVar1 & 0xc0) != 0x80) break; } LAB_18122d224: _Size = (longlong)pbVar10 - (longlong)param_2; puVar7 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar7 = 0; UNLOCK(); *(size_t *)(puVar7 + 2) = _Size + 4 & 0xfffffffffffffffc; puVar7 = puVar7 + 4; memcpy(puVar7,param_2,_Size); *(undefined1 *)((longlong)puVar7 + _Size) = 0; param_2 = pbVar10; LAB_18122d263: if ((int)param_1[1] < *(int *)((longlong)param_1 + 0xc) + 1) { FUN_18048a300(param_1); } iVar9 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar9 + 1; *(undefined4 **)(*param_1 + (longlong)iVar9 * 8) = puVar7; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar12 = DAT_1821dbf88 - 1; UNLOCK(); bVar13 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar12; if (bVar13) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } bVar2 = *param_2; iVar11 = iVar11 + 1; if (bVar2 == 0) { return iVar11; } param_2 = param_2 + 1; if ((char)bVar2 < '\0') { bVar5 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar5))) { param_2 = param_2 + 1; bVar5 = bVar5 >> 1; bVar3 = bVar2 & bVar5; } } goto LAB_18122d150; } ############ FUN_ 181240a50 size=311 ############ int FUN_181240a50(undefined8 param_1,longlong *param_2,undefined4 param_3,undefined8 param_4, undefined8 param_5) { int iVar1; longlong lVar2; char cVar3; int iVar4; longlong *plVar5; int iVar6; undefined1 local_58 [56]; longlong local_20; longlong local_18 [2]; iVar6 = 0; FUN_181242e90(local_58,param_1,0,param_5,param_3); cVar3 = FUN_1812425c0(local_58,0,0,0,0,0,0); while (cVar3 != '\0') { if ((local_20 == 0) || (*(char *)(local_20 + 0x35) == '\0')) { plVar5 = local_18; } else { plVar5 = (longlong *)FUN_181242590(); } iVar1 = *(int *)((longlong)param_2 + 0xc); iVar4 = iVar1 + 1; if ((int)param_2[1] < iVar4) { if (iVar4 < 0) { iVar4 = iVar1 + 2; } FUN_18048a300(param_2,iVar1 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar4 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar4 + 1; lVar2 = *plVar5; *(longlong *)(*param_2 + (longlong)iVar4 * 8) = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } iVar6 = iVar6 + 1; cVar3 = FUN_1812425c0(local_58,0,0,0,0,0,0); } FUN_181242dc0(local_58); return iVar6; } ############ FUN_ 18122d5d0 size=328 ############ void FUN_18122d5d0(longlong *param_1) { byte bVar1; int iVar2; longlong lVar3; byte bVar4; uint uVar5; int iVar6; byte *pbVar7; byte bVar8; uint *_Memory; longlong *plVar9; uint uVar10; longlong lVar11; longlong lVar12; longlong *plVar13; ulonglong uVar14; uVar10 = *(int *)((longlong)param_1 + 0xc) - 1; if (-1 < (int)uVar10) { lVar11 = (longlong)(int)uVar10 * 8; lVar12 = lVar11; do { pbVar7 = *(byte **)(*param_1 + lVar12); bVar1 = *pbVar7; while (bVar1 != 0) { if ((bVar1 != 0x20) && (4 < (byte)(bVar1 - 9))) goto LAB_18122d6f2; pbVar7 = pbVar7 + 1; if ((char)bVar1 < '\0') { bVar8 = 0x40; bVar4 = bVar1 & 0x40; while ((bVar4 != 0 && (8 < bVar8))) { pbVar7 = pbVar7 + 1; bVar8 = bVar8 >> 1; bVar4 = bVar1 & bVar8; } } bVar1 = *pbVar7; } if (uVar10 < *(uint *)((longlong)param_1 + 0xc)) { plVar9 = (longlong *)(*param_1 + lVar11); uVar5 = (*(uint *)((longlong)param_1 + 0xc) - uVar10) - 1; if (0 < (int)uVar5) { uVar14 = (ulonglong)uVar5; plVar13 = plVar9; do { plVar13 = plVar13 + 1; lVar3 = *plVar9; *plVar9 = *plVar13; plVar9 = plVar9 + 1; *plVar13 = lVar3; uVar14 = uVar14 - 1; } while (uVar14 != 0); } _Memory = (uint *)(*plVar9 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar5 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar2 = *(int *)((longlong)param_1 + 0xc); iVar6 = 0; if (0 < iVar2 * 2) { iVar6 = iVar2 * 2; } if (iVar6 < (int)param_1[1]) { if (iVar2 < 8) { iVar2 = 8; } if (iVar2 < (int)param_1[1]) { FUN_18048a300(param_1); } } } LAB_18122d6f2: lVar11 = lVar11 + -8; lVar12 = lVar12 + -8; uVar10 = uVar10 - 1; } while (-1 < (int)uVar10); } return; } ############ FUN_ 18122cec0 size=571 ############ int FUN_18122cec0(longlong *param_1,byte *param_2) { byte bVar1; int iVar2; byte bVar3; byte bVar4; undefined4 *puVar5; uint uVar6; uint uVar7; byte *pbVar8; byte *pbVar9; ulonglong uVar10; int iVar11; longlong lVar12; int iVar13; size_t _Size; bool bVar14; bool bVar15; iVar13 = 0; bVar14 = *param_2 == 0; do { pbVar9 = param_2; if (bVar14) { return iVar13; } do { pbVar8 = pbVar9; bVar1 = *pbVar8; pbVar9 = pbVar8 + 1; uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar6 = 0x40; iVar11 = 0; uVar7 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar7 = uVar7 >> 1; iVar11 = iVar11 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } uVar7 = bVar1 & uVar7; for (; (iVar11 = iVar11 + -1, -1 < iVar11 && ((*pbVar9 & 0xc0) == 0x80)); pbVar9 = pbVar9 + 1) { uVar7 = *pbVar9 & 0x3f | uVar7 << 6; } } if (uVar7 == 0) { bVar14 = true; goto LAB_18122d018; } if (uVar7 == 10) goto LAB_18122d018; } while (uVar7 != 0xd); bVar1 = *pbVar9; uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar7 = 0x7f; uVar10 = 0x7f; iVar11 = 0; uVar6 = 0x40; if ((bVar1 & 0x40) != 0) { do { uVar7 = (uint)uVar10; if (uVar6 < 9) break; uVar10 = uVar10 >> 1; uVar7 = (uint)uVar10; iVar11 = iVar11 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } uVar7 = bVar1 & uVar7; lVar12 = 1; if (0 < (longlong)iVar11) { do { if ((pbVar9[lVar12] & 0xc0) != 0x80) break; uVar7 = pbVar9[lVar12] & 0x3f | uVar7 << 6; lVar12 = lVar12 + 1; } while (lVar12 <= iVar11); } } if ((uVar7 == 10) && (pbVar9 = pbVar9 + 1, (char)bVar1 < '\0')) { bVar4 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar9 = pbVar9 + 1; bVar4 = bVar4 >> 1; bVar3 = bVar1 & bVar4; } } LAB_18122d018: if ((param_2 == (byte *)0x0) || (*param_2 == 0)) { puVar5 = (undefined4 *)&DAT_1821dbf98; } else { _Size = (longlong)pbVar8 - (longlong)param_2; uVar10 = _Size + 4 & 0xfffffffffffffffc; puVar5 = (undefined4 *)thunk_FUN_1811316e0(uVar10 + 0x17); LOCK(); *puVar5 = 0; UNLOCK(); *(ulonglong *)(puVar5 + 2) = uVar10; puVar5 = puVar5 + 4; memcpy(puVar5,param_2,_Size); *(undefined1 *)((longlong)puVar5 + _Size) = 0; } iVar2 = *(int *)((longlong)param_1 + 0xc); iVar11 = iVar2 + 1; if ((int)param_1[1] < iVar11) { if (iVar11 < 0) { iVar11 = iVar2 + 2; } FUN_18048a300(param_1,iVar2 + 9 + (iVar11 >> 1) & 0xfffffff8); } iVar11 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar11 + 1; *(undefined4 **)(*param_1 + (longlong)iVar11 * 8) = puVar5; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar15 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar15) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } iVar13 = iVar13 + 1; param_2 = pbVar9; } while( true ); } ############ FUN_ 18049d400 size=167 ############ void FUN_18049d400(longlong *param_1,undefined8 param_2,int param_3) { longlong lVar1; int iVar2; undefined **ppuVar3; if (0 < param_3) { iVar2 = *(int *)((longlong)param_1 + 0xc) + param_3; if ((int)param_1[1] < iVar2) { FUN_18048a300(param_1,iVar2 + 8 + iVar2 / 2 & 0xfffffff8); } ppuVar3 = &PTR_DAT_18235baa0; lVar1 = *param_1 + (longlong)*(int *)((longlong)param_1 + 0xc) * 8; iVar2 = param_3; while (iVar2 = iVar2 + -1, -1 < iVar2) { FUN_18049c4e0(lVar1,*ppuVar3); ppuVar3 = ppuVar3 + 1; lVar1 = lVar1 + 8; } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + param_3; } return; } ############ FUN_ 180511cb0 size=137 ############ longlong * FUN_180511cb0(undefined8 param_1,longlong *param_2) { uint *_Memory; uint uVar1; int iVar2; longlong *local_res10 [3]; local_res10[0] = param_2; FUN_18049c4e0(local_res10,"Software Renderer"); *param_2 = 0; param_2[1] = 0; FUN_18048a300(param_2,8); iVar2 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar2 + 1; *(longlong **)(*param_2 + (longlong)iVar2 * 8) = local_res10[0]; _Memory = (uint *)(local_res10[0] + -2); if ((*(uint *)(local_res10[0] + -2) & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_2; } ############ FUN_ 1812b22b0 size=330 ############ void FUN_1812b22b0(undefined8 param_1,char *param_2) { uint *_Memory; undefined4 *puVar1; uint uVar2; longlong lVar3; int iVar4; undefined4 *puVar5; bool bVar6; char *local_res10 [3]; longlong local_40; undefined8 local_38; undefined4 *local_30; int local_24; local_40 = 0; local_38 = 0; local_res10[0] = param_2; FUN_1812b44e0(param_1,&local_30); puVar1 = local_30 + local_24; puVar5 = local_30; do { if (puVar5 == puVar1) { /* WARNING: Subroutine does not return */ free(local_30); } FUN_1812b2440(local_res10,*puVar5); if (*local_res10[0] != '\0') { if ((*(uint *)(local_res10[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10[0] + -0x10) = *(int *)(local_res10[0] + -0x10) + 1; UNLOCK(); } iVar4 = local_38._4_4_ + 1; if ((int)local_38 < iVar4) { if (iVar4 < 0) { iVar4 = local_38._4_4_ + 2; } FUN_18048a300(&local_40,local_38._4_4_ + 9 + (iVar4 >> 1) & 0xfffffff8); } lVar3 = (longlong)local_38._4_4_; local_38 = CONCAT44(local_38._4_4_ + 1,(int)local_38); *(char **)(local_40 + lVar3 * 8) = local_res10[0]; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar6 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar6) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } _Memory = (uint *)(local_res10[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar5 = puVar5 + 1; } while( true ); } ############ FUN_ 180554470 size=1593 ############ void FUN_180554470(longlong *param_1) { longlong *plVar1; int iVar2; MMRESULT MVar3; undefined8 *puVar4; undefined1 **ppuVar5; int iVar6; longlong lVar7; uint *_Memory; undefined1 **ppuVar8; longlong *plVar9; HMIDIOUT pHVar10; undefined1 **ppuVar11; uint uVar12; HMIDIOUT hmo; HMIDIOUT pHVar13; ulonglong uVar14; undefined8 *puVar15; uint uVar16; HMIDIOUT pHVar17; bool bVar18; undefined1 auStack_608 [32]; undefined1 *local_5e8; undefined1 **local_5d8; undefined8 local_5d0; longlong local_5c8; uint local_5c0; uint local_5bc; uint local_5b8 [2]; char *local_5b0; undefined1 *local_5a8; longlong *local_5a0; undefined8 *local_590; uint local_584; longlong *local_580; undefined1 *local_578; undefined1 *local_570; undefined8 local_568; undefined8 local_558; undefined8 uStack_550; undefined8 local_548; undefined8 uStack_540; undefined8 local_538; undefined8 uStack_530; undefined8 local_528; undefined8 uStack_520; undefined8 local_518; undefined8 uStack_510; undefined4 local_508; undefined8 local_4f8; undefined8 uStack_4f0; undefined8 local_4e8; undefined8 uStack_4e0; undefined8 local_4d8; undefined8 uStack_4d0; undefined4 local_4c8; undefined4 uStack_4c4; undefined4 uStack_4c0; undefined4 uStack_4bc; undefined4 local_4b8; undefined4 uStack_4b4; undefined4 uStack_4b0; undefined4 uStack_4ac; undefined4 local_4a8; undefined8 local_498 [12]; undefined1 local_438 [1024]; ulonglong local_38; local_568 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_608; pHVar17 = (HMIDIOUT)0x0; local_5c8 = 0; local_5c0 = 0; local_5bc = 0; local_5d8 = (undefined1 **)0x0; local_5d0 = 0; local_5a0 = param_1; local_580 = param_1; FUN_180553c40(&local_590); uVar14 = (ulonglong)_tls_index; if (0 < (int)local_584) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + uVar14 * 8); pHVar10 = pHVar17; hmo = pHVar17; pHVar13 = pHVar17; puVar15 = local_590; while( true ) { uVar16 = (uint)pHVar10; uVar12 = (uint)hmo; if (uVar12 < local_584) { local_558 = *puVar15; uStack_550 = puVar15[1]; local_548 = puVar15[2]; uStack_540 = puVar15[3]; local_538 = puVar15[4]; uStack_530 = puVar15[5]; local_528 = puVar15[6]; uStack_520 = puVar15[7]; local_518 = puVar15[8]; uStack_510 = puVar15[9]; local_508 = *(undefined4 *)(puVar15 + 10); puVar4 = &local_558; } else { memset(local_498,0,0x54); puVar4 = local_498; } local_4f8 = *puVar4; uStack_4f0 = puVar4[1]; local_4e8 = puVar4[2]; uStack_4e0 = puVar4[3]; local_4d8 = puVar4[4]; uStack_4d0 = puVar4[5]; local_4c8 = *(undefined4 *)(puVar4 + 6); uStack_4c4 = *(undefined4 *)((longlong)puVar4 + 0x34); uStack_4c0 = *(undefined4 *)(puVar4 + 7); uStack_4bc = *(undefined4 *)((longlong)puVar4 + 0x3c); local_4b8 = *(undefined4 *)(puVar4 + 8); uStack_4b4 = *(undefined4 *)((longlong)puVar4 + 0x44); uStack_4b0 = *(undefined4 *)(puVar4 + 9); uStack_4ac = *(undefined4 *)((longlong)puVar4 + 0x4c); local_4a8 = *(undefined4 *)(puVar4 + 10); FUN_18049c800(&local_5a8,&uStack_4f0); iVar6 = uVar16 + 1; if ((int)pHVar13 < iVar6) { if (iVar6 < 0) { iVar6 = uVar16 + 2; } FUN_18048a300(&local_5c8,uVar16 + 9 + (iVar6 >> 1) & 0xfffffff8); uVar16 = local_5bc; } local_5bc = uVar16 + 1; *(undefined1 **)(local_5c8 + (longlong)(int)uVar16 * 8) = local_5a8; local_5a8 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar16 = DAT_1821dbf88 - 1; UNLOCK(); bVar18 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar16; if (bVar18) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_5b8[0] = 0; MVar3 = midiOutMessage(hmo,0x80d,(DWORD_PTR)local_5b8,0); if (((MVar3 == 0) && (memset(local_438,0,0x400), local_5b8[0] < 0x400)) && (MVar3 = midiOutMessage(hmo,0x80c,(DWORD_PTR)local_438,0x400), MVar3 == 0)) { FUN_18049c800(&local_5b0,local_438); } else { local_5b0 = ""; } if (*local_5b0 == '\0') { if (uVar12 < local_5bc) { ppuVar5 = (undefined1 **)(local_5c8 + (longlong)(int)uVar12 * 8); } else { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar5 = &DAT_18267af68; } local_5a0 = (longlong *)*ppuVar5; if ((*(uint *)(local_5a0 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_5a0 + -2) = (int)local_5a0[-2] + 1; UNLOCK(); } iVar6 = local_5d0._4_4_ + 1; if ((int)local_5d0 < iVar6) { if (iVar6 < 0) { iVar6 = local_5d0._4_4_ + 2; } FUN_18048a300(&local_5d8,local_5d0._4_4_ + 9 + (iVar6 >> 1) & 0xfffffff8); } lVar7 = (longlong)(int)local_5d0._4_4_; local_5d0 = CONCAT44(local_5d0._4_4_ + 1,(int)local_5d0); local_5d8[lVar7] = (undefined1 *)local_5a0; } else { if ((*(uint *)(local_5b0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_5b0 + -0x10) = *(int *)(local_5b0 + -0x10) + 1; UNLOCK(); } iVar6 = local_5d0._4_4_ + 1; if ((int)local_5d0 < iVar6) { if (iVar6 < 0) { iVar6 = local_5d0._4_4_ + 2; } FUN_18048a300(&local_5d8,local_5d0._4_4_ + 9 + (iVar6 >> 1) & 0xfffffff8); } lVar7 = (longlong)(int)local_5d0._4_4_; local_5d0 = CONCAT44(local_5d0._4_4_ + 1,(int)local_5d0); local_5d8[lVar7] = local_5b0; } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar16 = DAT_1821dbf88 - 1; UNLOCK(); bVar18 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar16; if (bVar18) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } _Memory = (uint *)(local_5b0 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar16 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar16 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } hmo = (HMIDIOUT)(ulonglong)(uVar12 + 1); puVar15 = (undefined8 *)((longlong)puVar15 + 0x54); if ((int)local_584 <= (int)(uVar12 + 1)) break; pHVar10 = (HMIDIOUT)(ulonglong)local_5bc; pHVar13 = (HMIDIOUT)(ulonglong)local_5c0; } uVar14 = (ulonglong)_tls_index; param_1 = local_580; } local_5e8 = &DAT_18249336a; FUN_18122cad0(&local_5c8); local_5e8 = &DAT_18249336a; FUN_18122cad0(&local_5d8); *param_1 = 0; param_1[1] = 0; if (0 < (int)local_5bc) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + uVar14 * 8); lVar7 = local_5c8 - (longlong)local_5d8; bVar18 = local_5bc != 0; ppuVar5 = local_5d8; do { if (bVar18) { ppuVar11 = (undefined1 **)(lVar7 + (longlong)ppuVar5); } else { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar11 = &DAT_18267af68; } ppuVar8 = ppuVar5; if (local_5d0._4_4_ <= (uint)pHVar17) { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar8 = &DAT_18267af68; } local_578 = *ppuVar11; if ((*(uint *)(local_578 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_578 + -0x10) = *(int *)(local_578 + -0x10) + 1; UNLOCK(); } local_570 = *ppuVar8; if ((*(uint *)(local_570 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_570 + -0x10) = *(int *)(local_570 + -0x10) + 1; UNLOCK(); } iVar2 = *(int *)((longlong)param_1 + 0xc); iVar6 = iVar2 + 1; if ((int)param_1[1] < iVar6) { if (iVar6 < 0) { iVar6 = iVar2 + 2; } FUN_180555cf0(param_1,iVar2 + 9 + (iVar6 >> 1) & 0xfffffff8); } iVar6 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar6 + 1; plVar9 = (longlong *)((longlong)iVar6 * 0x10 + *param_1); *plVar9 = (longlong)local_578; plVar9[1] = (longlong)local_570; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar16 = DAT_1821dbf88 - 1; UNLOCK(); bVar18 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar16; if (bVar18) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar16 = DAT_1821dbf88 - 1; UNLOCK(); bVar18 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar16; if (bVar18) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar16 = (uint)pHVar17 + 1; pHVar17 = (HMIDIOUT)(ulonglong)uVar16; ppuVar5 = ppuVar5 + 1; bVar18 = uVar16 < local_5bc; } while ((int)uVar16 < (int)local_5bc); } /* WARNING: Subroutine does not return */ free(local_590); } ############ FUN_ 180554b70 size=1931 ############ void FUN_180554b70(longlong *param_1) { longlong *plVar1; longlong *plVar2; UINT UVar3; MMRESULT MVar4; uint uVar5; int iVar6; undefined8 *_Memory; undefined8 *puVar7; undefined1 **ppuVar8; int iVar9; undefined8 *puVar10; longlong lVar11; uint *_Memory_00; undefined1 **ppuVar12; longlong *plVar13; undefined1 **ppuVar14; uint uVar15; HMIDIIN pHVar16; undefined8 *puVar17; undefined8 *puVar18; HMIDIIN hmi; bool bVar19; undefined1 auStack_628 [32]; undefined1 *local_608; undefined1 **local_5f8; undefined8 local_5f0; longlong local_5e8; undefined8 local_5e0; uint local_5d8 [2]; char *local_5d0; undefined8 *local_5c8; undefined8 local_5c0; undefined1 *local_5b8; longlong *local_5b0; longlong *local_5a0; undefined1 *local_598; undefined1 *local_590; undefined8 local_588; tagMIDIINCAPSW local_578; undefined8 local_528; undefined8 local_520; undefined8 local_518; undefined8 local_510; undefined8 local_508; undefined8 local_500; undefined8 local_4f8; undefined8 local_4f0; undefined8 local_4e8; undefined4 local_4e0; undefined8 local_4d8; undefined8 uStack_4d0; undefined8 local_4c8; undefined8 uStack_4c0; undefined8 local_4b8; undefined8 uStack_4b0; undefined8 local_4a8; undefined8 uStack_4a0; undefined8 local_498; undefined4 local_490; undefined8 local_488; undefined8 uStack_480; undefined8 local_478; undefined8 uStack_470; undefined8 local_468; undefined8 uStack_460; undefined4 local_458; undefined4 uStack_454; undefined4 uStack_450; undefined4 uStack_44c; undefined8 local_448; undefined4 local_440; undefined1 local_438 [1024]; ulonglong local_38; local_588 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_628; _Memory = (undefined8 *)0x0; local_5e8 = 0; local_5e0 = 0; local_5f8 = (undefined1 **)0x0; local_5f0 = 0; local_5c8 = (undefined8 *)0x0; local_5c0 = 0; local_5b0 = param_1; local_5a0 = param_1; UVar3 = midiInGetNumDevs(); puVar17 = _Memory; puVar7 = _Memory; puVar18 = _Memory; if (UVar3 != 0) { do { local_578.wMid = 0; local_578.wPid = 0; local_578.vDriverVersion = 0; local_578.szPname[0] = L'\0'; local_578.szPname[1] = L'\0'; local_578.szPname[2] = L'\0'; local_578.szPname[3] = L'\0'; local_578.szPname[4] = L'\0'; local_578.szPname[5] = L'\0'; local_578.szPname[6] = L'\0'; local_578.szPname[7] = L'\0'; local_578.szPname[8] = L'\0'; local_578.szPname[9] = L'\0'; local_578.szPname[10] = L'\0'; local_578.szPname[0xb] = L'\0'; local_578.szPname[0xc] = L'\0'; local_578.szPname[0xd] = L'\0'; local_578.szPname[0xe] = L'\0'; local_578.szPname[0xf] = L'\0'; local_578.szPname[0x10] = L'\0'; local_578.szPname[0x11] = L'\0'; local_578.szPname[0x12] = L'\0'; local_578.szPname[0x13] = L'\0'; local_578.szPname[0x14] = L'\0'; local_578.szPname[0x15] = L'\0'; local_578.szPname[0x16] = L'\0'; local_578.szPname[0x17] = L'\0'; local_578.szPname[0x18] = L'\0'; local_578.szPname[0x19] = L'\0'; local_578.szPname[0x1a] = L'\0'; local_578.szPname[0x1b] = L'\0'; local_578.szPname[0x1c] = L'\0'; local_578.szPname[0x1d] = L'\0'; local_578.szPname[0x1e] = L'\0'; local_578.szPname[0x1f] = L'\0'; local_578.dwSupport = 0; MVar4 = midiInGetDevCapsW((UINT_PTR)puVar7,&local_578,0x4c); if (MVar4 == 0) { iVar6 = (int)puVar18; uVar15 = iVar6 + 1; if ((int)(uint)puVar17 < (int)uVar15) { uVar5 = uVar15; if ((int)uVar15 < 0) { uVar5 = iVar6 + 2; } uVar5 = iVar6 + 9 + ((int)uVar5 >> 1) & 0xfffffff8; if ((uint)puVar17 != uVar5) { if ((int)uVar5 < 1) { /* WARNING: Subroutine does not return */ free(_Memory); } if (_Memory == (undefined8 *)0x0) { _Memory = malloc((longlong)(int)uVar5 * 0x4c); local_5c8 = _Memory; } else { _Memory = realloc(_Memory,(longlong)(int)uVar5 * 0x4c); local_5c8 = _Memory; } } puVar17 = (undefined8 *)(ulonglong)uVar5; } puVar18 = (undefined8 *)(ulonglong)uVar15; puVar10 = (undefined8 *)((longlong)iVar6 * 0x4c + (longlong)_Memory); *puVar10 = local_578._0_8_; puVar10[1] = local_578.szPname._0_8_; puVar10[2] = local_578.szPname._8_8_; puVar10[3] = local_578.szPname._16_8_; puVar10[4] = local_578.szPname._24_8_; puVar10[5] = local_578.szPname._32_8_; puVar10[6] = local_578.szPname._40_8_; puVar10[7] = local_578.szPname._48_8_; puVar10[8] = local_578.szPname._56_8_; *(DWORD *)(puVar10 + 9) = local_578.dwSupport; } uVar15 = (int)puVar7 + 1; UVar3 = midiInGetNumDevs(); puVar7 = (undefined8 *)(ulonglong)uVar15; } while (uVar15 < UVar3); local_5c0._4_4_ = (uint)puVar18; local_5c0 = CONCAT44(local_5c0._4_4_,(int)puVar17); puVar7 = (undefined8 *)(local_5e0 >> 0x20); puVar17 = (undefined8 *)(local_5e0 & 0xffffffff); } pHVar16 = (HMIDIIN)0x0; if (0 < (int)puVar18) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); puVar10 = _Memory; hmi = pHVar16; while( true ) { iVar6 = (int)puVar7; uVar15 = (uint)hmi; if (uVar15 < (uint)puVar18) { local_4d8 = *puVar10; uStack_4d0 = puVar10[1]; local_4c8 = puVar10[2]; uStack_4c0 = puVar10[3]; local_4b8 = puVar10[4]; uStack_4b0 = puVar10[5]; local_4a8 = puVar10[6]; uStack_4a0 = puVar10[7]; local_498 = puVar10[8]; local_490 = *(undefined4 *)(puVar10 + 9); puVar7 = &local_4d8; } else { local_528 = 0; local_520 = 0; local_518 = 0; local_510 = 0; local_508 = 0; local_500 = 0; local_4f8 = 0; local_4f0 = 0; local_4e8 = 0; local_4e0 = 0; puVar7 = &local_528; } local_488 = *puVar7; uStack_480 = puVar7[1]; local_478 = puVar7[2]; uStack_470 = puVar7[3]; local_468 = puVar7[4]; uStack_460 = puVar7[5]; local_458 = *(undefined4 *)(puVar7 + 6); uStack_454 = *(undefined4 *)((longlong)puVar7 + 0x34); uStack_450 = *(undefined4 *)(puVar7 + 7); uStack_44c = *(undefined4 *)((longlong)puVar7 + 0x3c); local_448 = puVar7[8]; local_440 = *(undefined4 *)(puVar7 + 9); FUN_18049c800(&local_5b8,&uStack_480); iVar9 = iVar6 + 1; if ((int)puVar17 < iVar9) { if (iVar9 < 0) { iVar9 = iVar6 + 2; } FUN_18048a300(&local_5e8,iVar6 + 9 + (iVar9 >> 1) & 0xfffffff8); iVar6 = local_5e0._4_4_; } local_5e0 = CONCAT44(iVar6 + 1,(undefined4)local_5e0); *(undefined1 **)(local_5e8 + (longlong)iVar6 * 8) = local_5b8; local_5b8 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar5 = DAT_1821dbf88 - 1; UNLOCK(); bVar19 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar5; if (bVar19) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_5d8[0] = 0; MVar4 = midiInMessage(hmi,0x80d,(DWORD_PTR)local_5d8,0); if (((MVar4 == 0) && (memset(local_438,0,0x400), local_5d8[0] < 0x400)) && (MVar4 = midiInMessage(hmi,0x80c,(DWORD_PTR)local_438,0x400), MVar4 == 0)) { FUN_18049c800(&local_5d0,local_438); } else { local_5d0 = ""; } if (*local_5d0 == '\0') { if (uVar15 < local_5e0._4_4_) { ppuVar8 = (undefined1 **)(local_5e8 + (longlong)(int)uVar15 * 8); } else { if ((*(int *)(*plVar1 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar8 = &DAT_18267af68; } local_5b0 = (longlong *)*ppuVar8; if ((*(uint *)(local_5b0 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_5b0 + -2) = (int)local_5b0[-2] + 1; UNLOCK(); } iVar6 = local_5f0._4_4_ + 1; if ((int)local_5f0 < iVar6) { if (iVar6 < 0) { iVar6 = local_5f0._4_4_ + 2; } FUN_18048a300(&local_5f8,local_5f0._4_4_ + 9 + (iVar6 >> 1) & 0xfffffff8); } lVar11 = (longlong)(int)local_5f0._4_4_; local_5f0 = CONCAT44(local_5f0._4_4_ + 1,(int)local_5f0); local_5f8[lVar11] = (undefined1 *)local_5b0; } else { if ((*(uint *)(local_5d0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_5d0 + -0x10) = *(int *)(local_5d0 + -0x10) + 1; UNLOCK(); } iVar6 = local_5f0._4_4_ + 1; if ((int)local_5f0 < iVar6) { if (iVar6 < 0) { iVar6 = local_5f0._4_4_ + 2; } FUN_18048a300(&local_5f8,local_5f0._4_4_ + 9 + (iVar6 >> 1) & 0xfffffff8); } lVar11 = (longlong)(int)local_5f0._4_4_; local_5f0 = CONCAT44(local_5f0._4_4_ + 1,(int)local_5f0); local_5f8[lVar11] = local_5d0; } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar5 = DAT_1821dbf88 - 1; UNLOCK(); bVar19 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar5; if (bVar19) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } _Memory_00 = (uint *)(local_5d0 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar5 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } hmi = (HMIDIIN)(ulonglong)(uVar15 + 1); puVar10 = (undefined8 *)((longlong)puVar10 + 0x4c); puVar18 = (undefined8 *)(ulonglong)local_5c0._4_4_; _Memory = local_5c8; if ((int)local_5c0._4_4_ <= (int)(uVar15 + 1)) break; puVar7 = (undefined8 *)(local_5e0 >> 0x20); puVar17 = (undefined8 *)(local_5e0 & 0xffffffff); } } local_608 = &DAT_18249336a; FUN_18122cad0(&local_5e8); local_608 = &DAT_18249336a; FUN_18122cad0(&local_5f8); plVar1 = local_5a0; *local_5a0 = 0; local_5a0[1] = 0; if (0 < (int)local_5e0._4_4_) { plVar2 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); lVar11 = local_5e8 - (longlong)local_5f8; bVar19 = local_5e0._4_4_ != 0; ppuVar8 = local_5f8; do { if (bVar19) { ppuVar14 = (undefined1 **)(lVar11 + (longlong)ppuVar8); } else { if ((*(int *)(*plVar2 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar14 = &DAT_18267af68; } ppuVar12 = ppuVar8; if (local_5f0._4_4_ <= (uint)pHVar16) { if ((*(int *)(*plVar2 + 0xc) < DAT_18267af70) && (_Init_thread_header(&DAT_18267af70), DAT_18267af70 == -1)) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } ppuVar12 = &DAT_18267af68; } local_598 = *ppuVar14; if ((*(uint *)(local_598 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_598 + -0x10) = *(int *)(local_598 + -0x10) + 1; UNLOCK(); } local_590 = *ppuVar12; if ((*(uint *)(local_590 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_590 + -0x10) = *(int *)(local_590 + -0x10) + 1; UNLOCK(); } iVar9 = *(int *)((longlong)plVar1 + 0xc); iVar6 = iVar9 + 1; if ((int)plVar1[1] < iVar6) { if (iVar6 < 0) { iVar6 = iVar9 + 2; } FUN_180555cf0(plVar1,iVar9 + 9 + (iVar6 >> 1) & 0xfffffff8); } iVar6 = *(int *)((longlong)plVar1 + 0xc); *(int *)((longlong)plVar1 + 0xc) = iVar6 + 1; plVar13 = (longlong *)((longlong)iVar6 * 0x10 + *plVar1); *plVar13 = (longlong)local_598; plVar13[1] = (longlong)local_590; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar15 = DAT_1821dbf88 - 1; UNLOCK(); bVar19 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar15; if (bVar19) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar15 = DAT_1821dbf88 - 1; UNLOCK(); bVar19 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar15; if (bVar19) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } uVar15 = (uint)pHVar16 + 1; pHVar16 = (HMIDIIN)(ulonglong)uVar15; ppuVar8 = ppuVar8 + 1; bVar19 = uVar15 < local_5e0._4_4_; _Memory = local_5c8; } while ((int)uVar15 < (int)local_5e0._4_4_); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18122d720 size=116 ############ void FUN_18122d720(longlong param_1,int param_2) { int iVar1; int iVar2; int iVar3; int iVar4; iVar1 = *(int *)(param_1 + 0xc); iVar3 = param_2 + 2; iVar2 = 0; iVar4 = 0; if ((-1 < iVar3) && (iVar4 = iVar3, iVar1 < iVar3)) { iVar4 = iVar1; } if ((-1 < param_2) && (iVar2 = param_2, iVar1 < param_2)) { iVar2 = iVar1; } if (0 < iVar4 - iVar2) { FUN_180489b40(); iVar1 = *(int *)(param_1 + 0xc); iVar4 = 0; if (0 < iVar1 * 2) { iVar4 = iVar1 * 2; } if (iVar4 < *(int *)(param_1 + 8)) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < *(int *)(param_1 + 8)) { FUN_18048a300(param_1); } } } return; } ############ FUN_ 18122de30 size=187 ############ longlong * FUN_18122de30(longlong *param_1,ulonglong *param_2,undefined8 param_3,undefined8 param_4) { int iVar1; ulonglong uVar2; undefined8 *puVar3; ulonglong uVar4; uVar4 = 0; *param_1 = 0; param_1[1] = 0; iVar1 = (int)((longlong)(param_2[1] - *param_2) >> 3); if (0 < iVar1) { FUN_18048a300(param_1,iVar1 + 8 + iVar1 / 2 & 0xfffffff8,param_3,param_4,0xfffffffffffffffe); } puVar3 = (undefined8 *)*param_2; uVar2 = (param_2[1] - (longlong)puVar3) + 7 >> 3; if ((undefined8 *)param_2[1] < puVar3) { uVar2 = uVar4; } if (uVar2 != 0) { do { iVar1 = *(int *)((longlong)param_1 + 0xc); *(int *)((longlong)param_1 + 0xc) = iVar1 + 1; FUN_18049c4e0(*param_1 + (longlong)iVar1 * 8,*puVar3); puVar3 = puVar3 + 1; uVar4 = uVar4 + 1; } while (uVar4 != uVar2); } return param_1; } ############ FUN_ 180488fc0 size=176 ############ void FUN_180488fc0(longlong *param_1,uint param_2) { int iVar1; longlong lVar2; int iVar3; uint uVar4; uint *_Memory; longlong *plVar5; longlong *plVar6; ulonglong uVar7; if (param_2 < *(uint *)((longlong)param_1 + 0xc)) { uVar4 = (*(uint *)((longlong)param_1 + 0xc) - param_2) - 1; plVar6 = (longlong *)(*param_1 + (longlong)(int)param_2 * 8); if (0 < (int)uVar4) { uVar7 = (ulonglong)uVar4; plVar5 = plVar6; do { plVar5 = plVar5 + 1; lVar2 = *plVar6; *plVar6 = *plVar5; plVar6 = plVar6 + 1; *plVar5 = lVar2; uVar7 = uVar7 - 1; } while (uVar7 != 0); } _Memory = (uint *)(*plVar6 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar1 = *(int *)((longlong)param_1 + 0xc); iVar3 = 0; if (0 < iVar1 * 2) { iVar3 = iVar1 * 2; } if (iVar3 < (int)param_1[1]) { if (iVar1 < 8) { iVar1 = 8; } if (iVar1 < (int)param_1[1]) { FUN_18048a300(param_1); return; } } } return; } ############ FUN_ 181249460 size=82 ############ longlong * FUN_181249460(longlong *param_1,longlong *param_2) { int iVar1; longlong lVar2; int *piVar3; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(*param_2 + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = *param_1; *param_1 = *param_2; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } return param_1; } ############ FUN_ 18122c880 size=183 ############ void FUN_18122c880(longlong param_1,longlong *param_2,longlong *param_3) { int iVar1; longlong local_res8; longlong local_res10 [2]; longlong local_res20; iVar1 = FUN_1812498b0(param_1,*param_2,*(undefined1 *)(param_1 + 0x20),0,*param_2); if (-1 < iVar1) { local_res8 = *param_3; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } FUN_18122dad0(param_1 + 0x10,iVar1,&local_res8); return; } local_res10[0] = *param_2; if ((*(uint *)(local_res10[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10[0] + -0x10) = *(int *)(local_res10[0] + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_1,local_res10); local_res20 = *param_3; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_1 + 0x10,&local_res20); return; } ############ FUN_ 1805397a0 size=867 ############ void FUN_1805397a0(longlong param_1,longlong param_2) { uint uVar1; short sVar2; longlong lVar3; int iVar4; uint *puVar5; uint *_Memory; char *pcVar6; longlong local_res8 [2]; longlong local_res18; longlong local_res20; longlong local_88; longlong local_80; longlong local_78; longlong local_70; longlong local_68; longlong local_60; longlong local_58; longlong local_50; longlong local_48; longlong local_40 [3]; local_40[1] = 0xfffffffffffffffe; sVar2 = *(short *)(param_1 + 8); FUN_180539b10(param_1,param_2,"apple one shot",*(short *)(param_1 + 0x10) == 2); FUN_180539b10(); if (sVar2 != 0) { FUN_18049c4e0(&local_res18,"apple root note"); FUN_181211fd0(local_res8,*(undefined2 *)(param_1 + 8)); FUN_18122c880(param_2,&local_res18,local_res8); puVar5 = (uint *)(local_res8[0] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } FUN_18049c4e0(&local_88,"apple beats"); FUN_181211fd0(&local_res20,*(undefined4 *)(param_1 + 4)); FUN_18122c880(param_2,&local_88,&local_res20); puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_88 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_18049c4e0(&local_78,"apple denominator"); FUN_181211fd0(&local_80,*(undefined2 *)(param_1 + 0xe)); FUN_18122c880(param_2,&local_78,&local_80); puVar5 = (uint *)(local_80 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_78 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_18049c4e0(&local_68,"apple numerator"); FUN_181211fd0(&local_70,*(undefined2 *)(param_1 + 0xc)); FUN_18122c880(param_2,&local_68,&local_70); puVar5 = (uint *)(local_70 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_68 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } sVar2 = *(short *)(param_1 + 10); if (sVar2 == 1) { pcVar6 = "minor"; } else if (sVar2 == 2) { pcVar6 = "major"; } else if (sVar2 == 3) { pcVar6 = "neither"; } else { if (sVar2 != 4) { return; } pcVar6 = "both"; } FUN_18049c4e0(&local_60,pcVar6); FUN_18049c4e0(&local_58,"apple key"); lVar3 = local_58; iVar4 = FUN_1812498b0(param_2,local_58,*(undefined1 *)(param_2 + 0x20),0); if (iVar4 < 0) { local_48 = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_2,&local_48); local_40[0] = local_60; puVar5 = (uint *)(local_60 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } FUN_18122dc00(param_2 + 0x10,local_40); } else { local_50 = local_60; puVar5 = (uint *)(local_60 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } FUN_18122dad0(param_2 + 0x10,iVar4,&local_50); } _Memory = (uint *)(local_58 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return; } ############ FUN_ 180539b10 size=309 ############ void FUN_180539b10(longlong param_1,longlong param_2,undefined8 param_3,char param_4) { uint uVar1; longlong lVar2; int iVar3; uint *_Memory; undefined *puVar4; uint *_Memory_00; longlong local_res8; longlong local_res10; longlong local_res18 [2]; longlong local_38; longlong local_30 [3]; local_30[1] = 0xfffffffffffffffe; puVar4 = &DAT_1824acbf4; if (param_4 != '\0') { puVar4 = &DAT_18249f074; } local_res8 = param_1; FUN_18049c4e0(&local_res8,puVar4); FUN_18049c4e0(&local_res10,param_3); lVar2 = local_res10; iVar3 = FUN_1812498b0(param_2,local_res10,*(undefined1 *)(param_2 + 0x20),0); if (iVar3 < 0) { local_38 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_2,&local_38); local_30[0] = local_res8; _Memory_00 = (uint *)(local_res8 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); *_Memory_00 = *_Memory_00 + 1; UNLOCK(); } FUN_18122dc00(param_2 + 0x10,local_30); } else { local_res18[0] = local_res8; _Memory_00 = (uint *)(local_res8 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); *_Memory_00 = *_Memory_00 + 1; UNLOCK(); } FUN_18122dad0(param_2 + 0x10,iVar3,local_res18); } _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } return; } ############ FUN_ 18053da50 size=328 ############ void FUN_18053da50(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; int iVar2; longlong lVar3; uint *_Memory; uint *_Memory_00; longlong local_38; longlong local_30; longlong local_28; longlong local_20; longlong local_18 [2]; local_18[1] = 0xfffffffffffffffe; lVar3 = FUN_181388600(param_2,param_3); if (lVar3 != 0) { FUN_18049c4e0(&local_38,lVar3); FUN_18049c4e0(&local_30,param_4); lVar3 = local_30; iVar2 = FUN_1812498b0(param_1 + 0x28,local_30,*(undefined1 *)(param_1 + 0x48),0); if (iVar2 < 0) { local_20 = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_1 + 0x28,&local_20); local_18[0] = local_38; _Memory_00 = (uint *)(local_38 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); *_Memory_00 = *_Memory_00 + 1; UNLOCK(); } FUN_18122dc00(param_1 + 0x38,local_18); } else { local_28 = local_38; _Memory_00 = (uint *)(local_38 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); *_Memory_00 = *_Memory_00 + 1; UNLOCK(); } FUN_18122dad0(param_1 + 0x38,iVar2,&local_28); } _Memory = (uint *)(local_30 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } } return; } ############ FUN_ 180541c60 size=305 ############ void FUN_180541c60(uint *param_1,longlong param_2,undefined8 param_3,uint param_4) { uint uVar1; longlong lVar2; int iVar3; uint *_Memory; undefined *puVar4; uint *_Memory_00; longlong local_res8; longlong local_res10; longlong local_res18 [2]; longlong local_38; longlong local_30 [3]; local_30[1] = 0xfffffffffffffffe; puVar4 = &DAT_1824acbf4; if ((*param_1 & param_4) != 0) { puVar4 = &DAT_18249f074; } FUN_18049c4e0(&local_res8,puVar4); FUN_18049c4e0(&local_res10,param_3); lVar2 = local_res10; iVar3 = FUN_1812498b0(param_2,local_res10,*(undefined1 *)(param_2 + 0x20),0); if (iVar3 < 0) { local_38 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(param_2,&local_38); local_30[0] = local_res8; _Memory_00 = (uint *)(local_res8 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); *_Memory_00 = *_Memory_00 + 1; UNLOCK(); } FUN_18122dc00(param_2 + 0x10,local_30); } else { local_res18[0] = local_res8; _Memory_00 = (uint *)(local_res8 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); *_Memory_00 = *_Memory_00 + 1; UNLOCK(); } FUN_18122dad0(param_2 + 0x10,iVar3,local_res18); } _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } return; } ############ FUN_ 18049bb30 size=323 ############ void FUN_18049bb30(byte *param_1,byte *param_2) { byte bVar1; wint_t wVar2; wint_t wVar3; uint uVar4; uint uVar5; uint uVar6; int iVar7; ulonglong uVar8; do { bVar1 = *param_1; param_1 = param_1 + 1; uVar6 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar7 = 0; uVar6 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; uVar6 = uVar6 >> 1; iVar7 = iVar7 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar6 = bVar1 & uVar6; for (; (iVar7 = iVar7 + -1, -1 < iVar7 && ((*param_1 & 0xc0) == 0x80)); param_1 = param_1 + 1) { uVar6 = *param_1 & 0x3f | uVar6 << 6; } } bVar1 = *param_2; param_2 = param_2 + 1; uVar4 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar5 = 0x40; iVar7 = 0; uVar8 = 0x7f; uVar4 = 0x7f; if ((bVar1 & 0x40) != 0) { do { uVar4 = (uint)uVar8; if (uVar5 < 9) break; uVar8 = uVar8 >> 1; uVar4 = (uint)uVar8; iVar7 = iVar7 + 1; uVar5 = uVar5 >> 1; } while ((bVar1 & uVar5) != 0); } uVar4 = bVar1 & uVar4; for (; (iVar7 = iVar7 + -1, -1 < iVar7 && ((*param_2 & 0xc0) == 0x80)); param_2 = param_2 + 1) { uVar4 = *param_2 & 0x3f | uVar4 << 6; } } if (uVar6 == uVar4) { LAB_18049bc4a: iVar7 = 0; } else { wVar2 = towupper((wint_t)uVar4); wVar3 = towupper((wint_t)uVar6); if ((uint)wVar3 == (uint)wVar2) goto LAB_18049bc4a; iVar7 = 1; if ((int)((uint)wVar3 - (uint)wVar2) < 0) { iVar7 = -1; } } if ((iVar7 != 0) || (uVar6 == 0)) { return; } } while( true ); } ############ FUN_ 18134bf20 size=70 ############ void FUN_18134bf20(undefined8 param_1,longlong *param_2,undefined4 param_3) { if (param_2 != (longlong *)0x0) { (**(code **)(*param_2 + 0x58))(param_2,1); FUN_181343cc0(param_1,param_2,param_3); } return; } ############ FUN_ 180488560 size=106 ############ void FUN_180488560(longlong param_1,longlong *param_2) { longlong *plVar1; undefined8 uVar2; plVar1 = (longlong *)param_2[7]; if (plVar1 != (longlong *)0x0) { if (plVar1 == param_2) { uVar2 = (**(code **)(*plVar1 + 8))(plVar1,param_1); *(undefined8 *)(param_1 + 0x38) = uVar2; plVar1 = (longlong *)param_2[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_2); param_2[7] = 0; return; } } else { *(longlong **)(param_1 + 0x38) = plVar1; param_2[7] = 0; } } return; } ############ FUN_ 181245860 size=82 ############ longlong * FUN_181245860(longlong *param_1,longlong *param_2) { int iVar1; longlong lVar2; int *piVar3; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(*param_2 + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = *param_1; *param_1 = *param_2; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } return param_1; } ############ FUN_ 18122b2c0 size=126 ############ void FUN_18122b2c0(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; uVar1 = 0xfffffffffffffffe; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x20)); if (*(longlong *)(param_1 + 0x10) == 0) { if (param_2 == -1) { param_2 = 9; } *(int *)(param_1 + 0x1a0) = param_2; FUN_18122b350(param_1); } else { FUN_18122ae90(param_1,param_2,param_3,param_4,uVar1); } /* WARNING: Could not recover jumptable at 0x00018122b337. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x20)); return; } ############ FUN_ 18134aef0 size=64 ############ void FUN_18134aef0(undefined8 param_1,longlong *param_2,undefined4 param_3) { (**(code **)(*param_2 + 0x58))(param_2,1); FUN_181343cc0(param_1,param_2,param_3); return; } ############ FUN_ 18122b770 size=237 ############ undefined8 * FUN_18122b770(undefined8 *param_1,longlong *param_2) { longlong lVar1; *param_1 = juce::Thread::vftable; lVar1 = *param_2; param_1[1] = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } param_1[2] = 0; param_1[3] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); *(undefined1 *)(param_1 + 10) = 0; _Mtx_init_in_situ(param_1 + 0xb,2); _Cnd_init_in_situ(param_1 + 0x15); *(undefined1 *)(param_1 + 0x1e) = 0; *(undefined1 *)(param_1 + 0x1f) = 0; _Mtx_init_in_situ(param_1 + 0x20,2); _Cnd_init_in_situ(param_1 + 0x2a); *(undefined1 *)(param_1 + 0x33) = 0; *(undefined4 *)(param_1 + 0x34) = 5; param_1[0x35] = 0; *(undefined4 *)(param_1 + 0x36) = 0; *(undefined1 *)((longlong)param_1 + 0x1b4) = 0; *(undefined4 *)(param_1 + 0x37) = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x38)); param_1[0x3e] = 0; param_1[0x3f] = 0; return param_1; } ############ FUN_ 1812d8d00 size=144 ############ void FUN_1812d8d00(longlong param_1) { longlong lVar1; uint uVar2; *(undefined1 *)(param_1 + 0x126) = 0; lVar1 = *(longlong *)(param_1 + 0x108); if (lVar1 == 0) goto LAB_1812d8d83; uVar2 = *(uint *)(lVar1 + 0x44) & 3; if (uVar2 == 0) { if ((*(longlong *)(lVar1 + 8) != 0) && (*(char *)(*(longlong *)(lVar1 + 8) + 0x124) != '\0')) { LAB_1812d8d42: FUN_1812d6e80(lVar1,1); } } else if (uVar2 == 2) goto LAB_1812d8d42; lVar1 = *(longlong *)(param_1 + 0x108); uVar2 = *(uint *)(lVar1 + 0x44) & 3; if (uVar2 == 0) { if ((*(longlong *)(lVar1 + 8) != 0) && (*(char *)(*(longlong *)(lVar1 + 8) + 0x124) != '\0')) goto LAB_1812d8d83; } else if (uVar2 == 2) goto LAB_1812d8d83; FUN_1812d6e80(lVar1,2); LAB_1812d8d83: FUN_1812d7f20(param_1); return; } ############ FUN_ 1812e1df0 size=227 ############ void FUN_1812e1df0(longlong *param_1,char param_2,char param_3) { longlong lVar1; char cVar2; undefined1 uVar3; char cVar4; uVar3 = 1; if (*(char *)((longlong)param_1 + 0x1ee) == param_2) { if ((param_3 == '\0') || (param_2 == '\0')) { cVar4 = '\0'; } else { cVar4 = '\x01'; } if (*(char *)((longlong)param_1 + 0x1ef) == cVar4) { return; } } *(char *)((longlong)param_1 + 0x1ee) = param_2; if ((param_3 == '\0') || (param_2 == '\0')) { uVar3 = 0; } *(undefined1 *)((longlong)param_1 + 0x1ef) = uVar3; if ((*(char *)((longlong)param_1 + 499) == '\0') || (param_2 == '\0')) { cVar4 = '\0'; } else { cVar4 = '\x01'; } if ((*(char *)((longlong)param_1 + 499) == '\0') || (param_2 == '\0')) { cVar2 = '\0'; } else { cVar2 = '\x01'; } lVar1 = param_1[0x39]; *(undefined2 *)(lVar1 + 0x1a8) = 0; if ((*(char *)(lVar1 + 0x1a5) != cVar2) || (*(char *)(lVar1 + 0x1a4) != cVar4)) { *(char *)(lVar1 + 0x1a5) = cVar2; *(char *)(lVar1 + 0x1a4) = cVar4; FUN_1813165e0(); } FUN_181317310(param_1[0x39],0); (**(code **)(*param_1 + 0x108))(param_1); FUN_1812e0240(param_1); return; } ############ FUN_ 181324a70 size=96 ############ void FUN_181324a70(longlong param_1,undefined8 param_2) { char cVar1; longlong lVar2; lVar2 = __RTDynamicCast(*(undefined8 *)(param_1 + -0x28),0, &juce::TreeViewItem::RTTI_Type_Descriptor, &juce::FileListTreeItem::RTTI_Type_Descriptor,0); if (lVar2 != 0) { cVar1 = FUN_1804f5bb0(lVar2,param_2); if ((cVar1 == '\0') && (*(longlong *)(param_1 + -0x28) != 0)) { FUN_1812d6cb0(*(longlong *)(param_1 + -0x28),0); } } return; } ############ FUN_ 181217460 size=156 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181217460(longlong param_1) { uint uVar1; uint *_Memory; undefined1 auStack_458 [32]; longlong local_438 [2]; WCHAR local_428 [520]; ulonglong local_18; local_438[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_458; local_428[0] = L'\0'; local_438[0] = param_1; GetCurrentDirectoryW(0x204,local_428); FUN_18049c800(local_438,local_428); FUN_181241890(param_1,local_438); _Memory = (uint *)(local_438[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 18132e3a0 size=380 ############ void FUN_18132e3a0(longlong param_1,longlong *param_2,char param_3,char param_4) { longlong lVar1; uint uVar2; char cVar3; int iVar4; uint uVar5; int *piVar6; bool bVar7; if ((*param_2 != *(longlong *)(param_1 + 0x48)) && (iVar4 = FUN_18049bb30(*param_2), iVar4 != 0)) { FUN_18132e310(param_1); if (0 < *(int *)(param_1 + 0x9c)) { FUN_18051c700(param_1 + 0x90); if (*(int *)(param_1 + 0x98) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x90)); } *(undefined4 *)(param_1 + 0x98) = 0; if (*(char *)(param_1 + 0x30) != '\0') { piVar6 = (int *)(*(longlong *)(param_1 + 0x10) + 0x18); LOCK(); bVar7 = *piVar6 == 0; if (bVar7) { *piVar6 = 1; } UNLOCK(); if ((bVar7) && (cVar3 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x10)), cVar3 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x18) = 0; UNLOCK(); } } } if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar6 = (int *)(*param_2 + -0x10); *piVar6 = *piVar6 + 1; UNLOCK(); } LOCK(); lVar1 = *(longlong *)(param_1 + 0x48); *(longlong *)(param_1 + 0x48) = *param_2; UNLOCK(); piVar6 = (int *)(lVar1 + -0x10); if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); iVar4 = *piVar6; *piVar6 = *piVar6 + -1; UNLOCK(); if (iVar4 == 0) { /* WARNING: Subroutine does not return */ free(piVar6); } } if (*(char *)(param_1 + 0x30) != '\0') { piVar6 = (int *)(*(longlong *)(param_1 + 0x10) + 0x18); LOCK(); bVar7 = *piVar6 == 0; if (bVar7) { *piVar6 = 1; } UNLOCK(); if ((bVar7) && (cVar3 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x10)), cVar3 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x18) = 0; UNLOCK(); } } *(uint *)(param_1 + 0x60) = *(uint *)(param_1 + 0x60) & 0xfffffffc; } uVar2 = *(uint *)(param_1 + 0x60); if (param_3 == '\0') { uVar5 = uVar2 & 0xfffffffe; } else { uVar5 = uVar2 | 1; } if (param_4 == '\0') { uVar5 = uVar5 & 0xfffffffd; } else { uVar5 = uVar5 | 2; } if (uVar2 == uVar5) { return; } *(uint *)(param_1 + 0x60) = uVar5; FUN_18132e120(param_1); return; } ############ FUN_ 181249dc0 size=95 ############ longlong FUN_181249dc0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint *_Memory; longlong local_res8 [4]; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; local_res8[0] = param_1; FUN_18049c4e0(local_res8); FUN_1812344e0(param_1,local_res8,param_3,param_4,uVar2); _Memory = (uint *)(local_res8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 1804f36a0 size=645 ############ undefined8 * FUN_1804f36a0(undefined8 *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; undefined1 *puVar3; undefined4 *puVar4; uint *puVar5; undefined1 **ppuVar6; uint uVar7; undefined1 **ppuVar8; bool bVar9; undefined1 *local_res10; uint local_res18; undefined8 local_res20; undefined1 *local_68; undefined1 *local_60; undefined1 *local_58; undefined1 *local_50; undefined1 *local_48; undefined8 local_40; local_40 = 0xfffffffffffffffe; local_res18 = 0; *param_1 = juce::FileChooser::NonNative::vftable; param_1[1] = param_2; *(byte *)(param_1 + 2) = (byte)(param_3 >> 3) & 1; *(byte *)((longlong)param_1 + 0x11) = (byte)(param_3 >> 2) & 1; *(byte *)((longlong)param_1 + 0x12) = (byte)(param_3 >> 7) & 1; local_48 = &DAT_1821dbf98; local_res20 = param_4; if ((param_3 >> 3 & 1) == 0) { local_60 = &DAT_1821dbf98; ppuVar8 = &local_60; uVar7 = 2; local_res18 = 2; } else { FUN_18049c4e0(&local_58,&DAT_182496870); ppuVar8 = &local_58; uVar7 = 1; local_res18 = 1; } if (*(char *)((longlong)param_1 + 0x11) == '\0') { local_res10 = &DAT_1821dbf98; ppuVar6 = &local_res10; uVar7 = uVar7 | 8; } else { local_68 = *(undefined1 **)(param_1[1] + 8); if ((*(uint *)(local_68 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_68 + -0x10) = *(int *)(local_68 + -0x10) + 1; UNLOCK(); } ppuVar6 = &local_68; uVar7 = local_res18 | 4; } puVar3 = local_res10; local_res18 = uVar7; FUN_181218730(param_1 + 3,ppuVar6,ppuVar8,&local_48); if ((uVar7 & 8) != 0) { uVar7 = uVar7 & 0xfffffff7; puVar5 = (uint *)(puVar3 + -0x10); local_res18 = uVar7; if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } if ((uVar7 & 4) != 0) { uVar7 = uVar7 & 0xfffffffb; puVar5 = (uint *)(local_68 + -0x10); local_res18 = uVar7; if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } if ((uVar7 & 2) != 0) { uVar7 = uVar7 & 0xfffffffd; puVar5 = (uint *)(local_60 + -0x10); local_res18 = uVar7; if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } if (((uVar7 & 1) != 0) && (puVar5 = (uint *)(local_58 + -0x10), (*puVar5 & 0x30000000) == 0)) { LOCK(); uVar7 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } FUN_18132c9a0(param_1 + 9,param_3 & 0xffffffff,param_1[1] + 0x10,param_1 + 3); local_50 = &DAT_1821dbf98; uVar2 = *(undefined8 *)(param_1[1] + 0x18); puVar4 = (undefined4 *)FUN_18134a8d0(param_1 + 9,&local_res20,0x1001800,0); FUN_181329360(param_1 + 0x156,param_1[1],&local_50,param_1 + 9, *(undefined1 *)((longlong)param_1 + 0x12),*puVar4,uVar2); puVar5 = (uint *)(local_50 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return param_1; } ############ FUN_ 1811312b4 size=96 ############ /* Library Function - Single Match _Init_thread_footer Library: Visual Studio 2017 Release */ void _Init_thread_footer(int *param_1) { ulonglong uVar1; EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182672a00); uVar1 = (ulonglong)_tls_index; DAT_182615960 = DAT_182615960 + 1; *param_1 = DAT_182615960; *(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + uVar1 * 8) + 0xc) = DAT_182615960; LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182672a00); _Init_thread_notify(); return; } ############ FUN_ 181131314 size=103 ############ /* Library Function - Single Match _Init_thread_header Library: Visual Studio 2017 Release */ void _Init_thread_header(int *param_1) { EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182672a00); do { if (*param_1 == 0) { *param_1 = -1; LAB_181131368: /* WARNING: Could not recover jumptable at 0x000181131374. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182672a00); return; } if (*param_1 != -1) { *(undefined4 *) (*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) = DAT_182615960; goto LAB_181131368; } _Init_thread_wait(100); } while( true ); } ############ FUN_ 181131bb8 size=23 ############ /* Library Function - Single Match atexit Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release */ int __cdecl atexit(_func_5014 *param_1) { _onexit_t p_Var1; p_Var1 = _onexit((_onexit_t)param_1); return (p_Var1 != (_onexit_t)0x0) - 1; } ############ FUN_ 181249270 size=278 ############ int FUN_181249270(undefined8 *param_1,byte *param_2) { byte *pbVar1; byte bVar2; int iVar3; uint uVar4; byte *pbVar5; uint uVar6; byte *pbVar7; int iVar8; if (*param_2 == 0) { return 0; } pbVar7 = (byte *)*param_1; iVar8 = 0; pbVar5 = param_2; do { while( true ) { bVar2 = *pbVar5; pbVar5 = pbVar5 + 1; if (-1 < (char)bVar2) break; bVar2 = *pbVar5; while ((bVar2 & 0xc0) == 0x80) { pbVar1 = pbVar5 + 1; pbVar5 = pbVar5 + 1; bVar2 = *pbVar1; } } } while (bVar2 != 0); iVar3 = FUN_18049da40(pbVar7); do { if (iVar3 == 0) { return iVar8; } bVar2 = *pbVar7; pbVar7 = pbVar7 + 1; uVar6 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar4 = 0x40; iVar3 = 0; uVar6 = 0x7f; if ((bVar2 & 0x40) != 0) { do { if (uVar4 < 9) break; uVar6 = uVar6 >> 1; iVar3 = iVar3 + 1; uVar4 = uVar4 >> 1; } while ((bVar2 & uVar4) != 0); } uVar6 = bVar2 & uVar6; for (; (iVar3 = iVar3 + -1, -1 < iVar3 && ((*pbVar7 & 0xc0) == 0x80)); pbVar7 = pbVar7 + 1) { uVar6 = *pbVar7 & 0x3f | uVar6 << 6; } } if (uVar6 == 0) { return -1; } iVar8 = iVar8 + 1; iVar3 = FUN_18049da40(pbVar7,param_2); } while( true ); } ############ FUN_ 18123a0b0 size=239 ############ longlong * FUN_18123a0b0(longlong *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; char *pcVar2; bool bVar3; bool bVar4; char **ppcVar5; uint *puVar6; char *local_res8; char *local_res10; local_res8 = (char *)((ulonglong)local_res8 & 0xffffffff00000000); pcVar2 = (char *)*param_2; if (*pcVar2 == '\0') { bVar4 = true; bVar3 = false; FUN_18049c4e0(&local_res10,"Unknown Error",param_3,param_4,0xfffffffffffffffe); ppcVar5 = &local_res10; } else { bVar4 = false; bVar3 = true; local_res8 = pcVar2; if ((*(uint *)(pcVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar2 + -0x10) = *(int *)(pcVar2 + -0x10) + 1; UNLOCK(); } ppcVar5 = &local_res8; } pcVar2 = *ppcVar5; *param_1 = (longlong)pcVar2; if ((*(uint *)(pcVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar2 + -0x10) = *(int *)(pcVar2 + -0x10) + 1; UNLOCK(); } if (bVar3) { puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } if ((bVar4) && (puVar6 = (uint *)(local_res10 + -0x10), (*puVar6 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return param_1; } ############ FUN_ 18122afa0 size=269 ############ undefined8 FUN_18122afa0(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint *_Memory; longlong local_res8; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x20)); if (*(longlong *)(param_1 + 0x10) != 0) { FUN_18122b1d0(param_1); FUN_181215c10(param_1 + 0xf8); if (param_2 != 0) { FUN_18122b0c0(param_1,param_2,param_3,param_4,uVar2); } if (*(longlong *)(param_1 + 0x10) != 0) { FUN_18049c4e0(&local_res8,"!! killing thread by force !!"); if (DAT_1826736b8 == (longlong *)0x0) { FUN_1812165e0(&local_res8); } else { (**(code **)(*DAT_1826736b8 + 8))(DAT_1826736b8,&local_res8); } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (*(longlong *)(param_1 + 0x10) != 0) { TerminateThread(*(HANDLE *)(param_1 + 0x10),0); } LOCK(); *(undefined8 *)(param_1 + 0x10) = 0; UNLOCK(); LOCK(); *(undefined8 *)(param_1 + 0x18) = 0; UNLOCK(); uVar2 = 0; goto LAB_18122b091; } } uVar2 = 1; LAB_18122b091: LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x20)); return uVar2; } ############ FUN_ 181252610 size=201 ############ undefined8 * FUN_181252610(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; uVar1 = 0xfffffffffffffffe; if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267b084) { _Init_thread_header(&DAT_18267b084); if (DAT_18267b084 == -1) { FUN_18049c4e0(&DAT_18267b020,"",param_3,param_4,uVar1); FUN_18049c4e0(&DAT_18267b028,""); FUN_18049c4e0(&DAT_18267b030,""); FUN_18049c4e0(&DAT_18267b038,""); atexit(FUN_181a4ab20); _Init_thread_footer(&DAT_18267b084); return &DAT_18267b020; } } return &DAT_18267b020; } ############ FUN_ 1804621b0 size=39 ############ void FUN_1804621b0(void) { FUN_18049c4e0(&DAT_1826737c8,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4a300); return; } ############ FUN_ 180462290 size=39 ############ void FUN_180462290(void) { FUN_18049c4e0(&DAT_182673950,"processorStateData"); atexit((_func_5014 *)&LAB_181a4a3a0); return; } ############ FUN_ 1804622c0 size=39 ############ void FUN_1804622c0(void) { FUN_18049c4e0(&DAT_182673800,"CONFIG"); atexit((_func_5014 *)&LAB_181a4a3d0); return; } ############ FUN_ 1804624f0 size=39 ############ void FUN_1804624f0(void) { FUN_18049c4e0(&DAT_1826738c8,"small"); atexit((_func_5014 *)&LAB_181a4a540); return; } ############ FUN_ 180462520 size=39 ############ void FUN_180462520(void) { FUN_18049c4e0(&DAT_182673918,"medium"); atexit((_func_5014 *)&LAB_181a4a570); return; } ############ FUN_ 180462550 size=39 ############ void FUN_180462550(void) { FUN_18049c4e0(&DAT_1826737c0,"large"); atexit((_func_5014 *)&LAB_181a4a5a0); return; } ############ FUN_ 180462580 size=39 ############ void FUN_180462580(void) { FUN_18049c4e0(&DAT_182673808,&DAT_1821da5d8); atexit((_func_5014 *)&LAB_181a4a5d0); return; } ############ FUN_ 180462660 size=39 ############ void FUN_180462660(void) { FUN_18049c4e0(&DAT_182673990,"https://tracker2.oeksound-testing.com"); atexit((_func_5014 *)&LAB_181a4a680); return; } ############ FUN_ 1804627e0 size=39 ############ void FUN_1804627e0(void) { FUN_18049c4e0(&DAT_1826739f0,&DAT_1821db51c); atexit((_func_5014 *)&LAB_181a4a980); return; } ############ FUN_ 180462d50 size=39 ############ void FUN_180462d50(void) { FUN_18049c4e0(&DAT_182673c10,"parent"); atexit((_func_5014 *)&LAB_181a4ae80); return; } ############ FUN_ 180462d80 size=39 ############ void FUN_180462d80(void) { FUN_18049c4e0(&DAT_182673b58,&DAT_1821e4834); atexit((_func_5014 *)&LAB_181a4aeb0); return; } ############ FUN_ 180462db0 size=39 ############ void FUN_180462db0(void) { FUN_18049c4e0(&DAT_182673bf0,"right"); atexit((_func_5014 *)&LAB_181a4aee0); return; } ############ FUN_ 180462de0 size=39 ############ void FUN_180462de0(void) { FUN_18049c4e0(&DAT_182673c18,&DAT_1821e2e6c); atexit((_func_5014 *)&LAB_181a4af10); return; } ############ FUN_ 180462e10 size=39 ############ void FUN_180462e10(void) { FUN_18049c4e0(&DAT_182673be8,"bottom"); atexit((_func_5014 *)&LAB_181a4af40); return; } ############ FUN_ 180462e40 size=39 ############ void FUN_180462e40(void) { FUN_18049c4e0(&DAT_182673c00,&DAT_1821e2ecc); atexit((_func_5014 *)&LAB_181a4af70); return; } ############ FUN_ 180462e70 size=39 ############ void FUN_180462e70(void) { FUN_18049c4e0(&DAT_182673be0,&DAT_1821e2ebc); atexit((_func_5014 *)&LAB_181a4afa0); return; } ############ FUN_ 180462ea0 size=39 ############ void FUN_180462ea0(void) { FUN_18049c4e0(&DAT_182673bd0,"width"); atexit((_func_5014 *)&LAB_181a4afd0); return; } ############ FUN_ 180462ed0 size=39 ############ void FUN_180462ed0(void) { FUN_18049c4e0(&DAT_182673bf8,"height"); atexit((_func_5014 *)&LAB_181a4b000); return; } ############ FUN_ 180462f90 size=39 ############ void FUN_180462f90(void) { FUN_18049c4e0(&DAT_182673c80,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4b240); return; } ############ FUN_ 180462fc0 size=39 ############ void FUN_180462fc0(void) { FUN_18049c4e0(&DAT_182673c88, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4b270); return; } ############ FUN_ 180462ff0 size=39 ############ void FUN_180462ff0(void) { FUN_18049c4e0(&DAT_182673ca0, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4b2a0); return; } ############ FUN_ 180463020 size=39 ############ void FUN_180463020(void) { FUN_18049c4e0(&DAT_182673ca8,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4b2d0); return; } ############ FUN_ 180463050 size=39 ############ void FUN_180463050(void) { FUN_18049c4e0(&DAT_182673c90, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4b300); return; } ############ FUN_ 180463080 size=39 ############ void FUN_180463080(void) { FUN_18049c4e0(&DAT_182673c98,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4b330); return; } ############ FUN_ 1804630b0 size=39 ############ void FUN_1804630b0(void) { FUN_18049c4e0(&DAT_182673cb0,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4b360); return; } ############ FUN_ 1804630e0 size=39 ############ void FUN_1804630e0(void) { FUN_18049c4e0(&DAT_182673cb8, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4b390); return; } ############ FUN_ 180463110 size=39 ############ void FUN_180463110(void) { FUN_18049c4e0(&DAT_182673cd0, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4b3c0); return; } ############ FUN_ 180463140 size=39 ############ void FUN_180463140(void) { FUN_18049c4e0(&DAT_182673de8,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4b3f0); return; } ############ FUN_ 180463170 size=39 ############ void FUN_180463170(void) { FUN_18049c4e0(&DAT_182673cc0, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4b420); return; } ############ FUN_ 1804631a0 size=39 ############ void FUN_1804631a0(void) { FUN_18049c4e0(&DAT_182673cc8,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4b450); return; } ############ FUN_ 1804631d0 size=39 ############ void FUN_1804631d0(void) { FUN_18049c4e0(&DAT_182673dd8, "change between *soft* and *hard* detection algorithms.\n\n*soft* mode is more transparent, easier to adjust, and more suited to dynamic material\n\n*hard* mode is more adjustable, can be pushed harder, and reacts more to the level of the material." ); atexit((_func_5014 *)&LAB_181a4b480); return; } ############ FUN_ 180463200 size=39 ############ void FUN_180463200(void) { FUN_18049c4e0(&DAT_182673cd8, "change *how much* processing is applied.\n\nhigher values result in bigger cuts."); atexit((_func_5014 *)&LAB_181a4b4b0); return; } ############ FUN_ 180463230 size=39 ############ void FUN_180463230(void) { FUN_18049c4e0(&DAT_182673d40, "adjust *how sharp* the individual notches are. similar to the q on a typical eq.\n\nhigher values make the notches narrower, but may introduce more artefacts" ); atexit((_func_5014 *)&LAB_181a4b4e0); return; } ############ FUN_ 180463260 size=39 ############ void FUN_180463260(void) { FUN_18049c4e0(&DAT_182673dc0, "adjust *how selective* the process is.\n\n*less selectivity* results in more overall tone-shaping, more effective on noisy sibilance, for example.\n\n*more selectivity* focuses the processing on the narrower peaks." ); atexit((_func_5014 *)&LAB_181a4b510); return; } ############ FUN_ 180463290 size=39 ############ void FUN_180463290(void) { FUN_18049c4e0(&DAT_182673db8,"adjust *how quickly* the processor *starts to react* to resonances") ; atexit((_func_5014 *)&LAB_181a4b540); return; } ############ FUN_ 1804632c0 size=39 ############ void FUN_1804632c0(void) { FUN_18049c4e0(&DAT_182673cf0,"adjust *how quickly the notches disappear*"); atexit((_func_5014 *)&LAB_181a4b570); return; } ############ FUN_ 1804632f0 size=39 ############ void FUN_1804632f0(void) { FUN_18049c4e0(&DAT_182673df8,"switch between the stereo modes, *left | right* & *mid | side*."); atexit((_func_5014 *)&LAB_181a4b5a0); return; } ############ FUN_ 180463320 size=39 ############ void FUN_180463320(void) { FUN_18049c4e0(&DAT_182673d10, "adjust *how much cross-feed* the resonance detection has between channels\n\nat *100% the sum of both channels* is used to detect the resonances and identical processing is applied to both channels, so the stereo image is not altered. \n\nat *0% the resonances are detected independently* for both channels, often resulting in bigger changes in stereo imaging." ); atexit((_func_5014 *)&LAB_181a4b5d0); return; } ############ FUN_ 180463350 size=39 ############ void FUN_180463350(void) { FUN_18049c4e0(&DAT_182673d00, "adjust the master balance of the processing. this changes *how much processing is applied to each channel*.\n\nfor example, on *100% | 50%* the processing is applied as if left (or mid) channel had wet/dry mix of 100% and the right (or side) channel had wet/dry mix of 50%." ); atexit((_func_5014 *)&LAB_181a4b600); return; } ############ FUN_ 180463380 size=39 ############ void FUN_180463380(void) { FUN_18049c4e0(&DAT_182673d70,&DAT_1821d8fbd); atexit((_func_5014 *)&LAB_181a4b630); return; } ############ FUN_ 1804633b0 size=39 ############ void FUN_1804633b0(void) { FUN_18049c4e0(&DAT_182673e10, "set the *time resolution* of the processing.\n\nthis adjusts the refresh rate of the internal processing.higher settings update the internal filters more frequently, but are more demanding on the cpu." ); atexit((_func_5014 *)&LAB_181a4b660); return; } ############ FUN_ 1804633e0 size=39 ############ void FUN_1804633e0(void) { FUN_18049c4e0(&DAT_182673ce0, "use this to apply different resolution setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session" ); atexit((_func_5014 *)&LAB_181a4b690); return; } ############ FUN_ 180463410 size=39 ############ void FUN_180463410(void) { FUN_18049c4e0(&DAT_182673d78, "adjust the level of *spectral oversampling*.*higher values* result in a *smoother frequency response* and better accuracy especially at lower frequencies but are more demanding on the cpu" ); atexit((_func_5014 *)&LAB_181a4b6c0); return; } ############ FUN_ 180463440 size=39 ############ void FUN_180463440(void) { FUN_18049c4e0(&DAT_182673ce8, "use this to apply different oversampling setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session\n\n*eco* mode is a tradeoff when there is very limited performance available" ); atexit((_func_5014 *)&LAB_181a4b6f0); return; } ############ FUN_ 180463470 size=39 ############ void FUN_180463470(void) { FUN_18049c4e0(&DAT_182673d98,"use *external sidechain input* for the resonance detection"); atexit((_func_5014 *)&LAB_181a4b720); return; } ############ FUN_ 1804634a0 size=39 ############ void FUN_1804634a0(void) { FUN_18049c4e0(&DAT_182673d20,"*listen* to the external *sidechain input*"); atexit((_func_5014 *)&LAB_181a4b750); return; } ############ FUN_ 1804634d0 size=39 ############ void FUN_1804634d0(void) { FUN_18049c4e0(&DAT_182673da8, "change the *balance* between the *dry* and the *processed* signal.\n\n100% is processed only.\n0% is dry only\nthe reduction graph will reflect changes to the wet/dry mix." ); atexit((_func_5014 *)&LAB_181a4b780); return; } ############ FUN_ 180463500 size=39 ############ void FUN_180463500(void) { FUN_18049c4e0(&DAT_182673d38, "add *trim* (or gain) to the wet signal. \ncan be used to bring the *wet signal back to unity gain* when doing a/b comparison, and to *match wet and dry levels*." ); atexit((_func_5014 *)&LAB_181a4b7b0); return; } ############ FUN_ 180463530 size=39 ############ void FUN_180463530(void) { FUN_18049c4e0(&DAT_182673d48, "monitor *the difference between wet and dry signals*, i.e. what has changed. when delta is enabled, the mix setting is ignored." ); atexit((_func_5014 *)&LAB_181a4b7e0); return; } ############ FUN_ 180463560 size=39 ############ void FUN_180463560(void) { FUN_18049c4e0(&DAT_182673d68, "latency-compensated and click-free bypass. \n \n*does not bypass the processing in the background*, so the cpu load will remain the same!" ); atexit((_func_5014 *)&LAB_181a4b810); return; } ############ FUN_ 180463590 size=39 ############ void FUN_180463590(void) { FUN_18049c4e0(&DAT_182673d90,"center *frequency* of the selected band."); atexit((_func_5014 *)&LAB_181a4b840); return; } ############ FUN_ 1804635c0 size=39 ############ void FUN_1804635c0(void) { FUN_18049c4e0(&DAT_182673db0, "*relative amount of processing* applied to the selected frequency band.\n\nhigher values mean more gain reduction or boost (depending on the processing mode, naturally)" ); atexit((_func_5014 *)&LAB_181a4b870); return; } ############ FUN_ 1804635f0 size=39 ############ void FUN_1804635f0(void) { FUN_18049c4e0(&DAT_182673df0,"sets the *q value* of the selected band."); atexit((_func_5014 *)&LAB_181a4b8a0); return; } ############ FUN_ 180463620 size=39 ############ void FUN_180463620(void) { FUN_18049c4e0(&DAT_182673de0,"adjusts the relative amount each channel is affected by this band.") ; atexit((_func_5014 *)&LAB_181a4b8d0); return; } ############ FUN_ 180463650 size=39 ############ void FUN_180463650(void) { FUN_18049c4e0(&DAT_182673d58, "*listen button* allows you to monitor delta on a specific frequency band. \n \ndragging the button horizontally changes the center frequency and dragging the button vertically with the modifier key pressed (*cmd* on mac, *ctrl* on windows) changes the bandwidth. \n \ndragging the listen button enables listen mode only for the duration of the drag. listen mode can also be latched and unlatched by clicking this button." ); atexit((_func_5014 *)&LAB_181a4b900); return; } ############ FUN_ 180463680 size=39 ############ void FUN_180463680(void) { FUN_18049c4e0(&DAT_182673d30, "toggles the selected band on and off from the overall sensitivity curve."); atexit((_func_5014 *)&LAB_181a4b930); return; } ############ FUN_ 1804636b0 size=39 ############ void FUN_1804636b0(void) { FUN_18049c4e0(&DAT_182673cf8, "*listen* to the frequency area that the currently selected band affects. \n \ntemporarily enable listen mode by holding *alt while dragging* a band." ); atexit((_func_5014 *)&LAB_181a4b960); return; } ############ FUN_ 1804636e0 size=39 ############ void FUN_1804636e0(void) { FUN_18049c4e0(&DAT_182673d80, "whether or not to use external audio as the source for detecting resonances"); atexit((_func_5014 *)&LAB_181a4b990); return; } ############ FUN_ 180463710 size=39 ############ void FUN_180463710(void) { FUN_18049c4e0(&DAT_182673e00, "enable the sidechain. when enabled the sidechain signal is used as the source of the analysis" ); atexit((_func_5014 *)&LAB_181a4b9c0); return; } ############ FUN_ 180463740 size=39 ############ void FUN_180463740(void) { FUN_18049c4e0(&DAT_182673d18,"listen to the sidechain input"); atexit((_func_5014 *)&LAB_181a4b9f0); return; } ############ FUN_ 180463770 size=39 ############ void FUN_180463770(void) { FUN_18049c4e0(&DAT_182673e08,"6dB / oct"); atexit((_func_5014 *)&LAB_181a4ba20); return; } ############ FUN_ 1804637a0 size=39 ############ void FUN_1804637a0(void) { FUN_18049c4e0(&DAT_182673d50,"12dB / oct"); atexit((_func_5014 *)&LAB_181a4ba50); return; } ############ FUN_ 1804637d0 size=39 ############ void FUN_1804637d0(void) { FUN_18049c4e0(&DAT_182673d28,"24dB / oct"); atexit((_func_5014 *)&LAB_181a4ba80); return; } ############ FUN_ 180463800 size=39 ############ void FUN_180463800(void) { FUN_18049c4e0(&DAT_182673dc8,"48dB / oct"); atexit((_func_5014 *)&LAB_181a4bab0); return; } ############ FUN_ 180463830 size=39 ############ void FUN_180463830(void) { FUN_18049c4e0(&DAT_182673d60,"low shelf"); atexit((_func_5014 *)&LAB_181a4bae0); return; } ############ FUN_ 180463860 size=39 ############ void FUN_180463860(void) { FUN_18049c4e0(&DAT_182673da0,"high shelf"); atexit((_func_5014 *)&LAB_181a4bb10); return; } ############ FUN_ 180463890 size=39 ############ void FUN_180463890(void) { FUN_18049c4e0(&DAT_182673d88,"tilt shelf"); atexit((_func_5014 *)&LAB_181a4bb40); return; } ############ FUN_ 1804638c0 size=39 ############ void FUN_1804638c0(void) { FUN_18049c4e0(&DAT_182673d08,&DAT_1821e7858); atexit((_func_5014 *)&LAB_181a4bb70); return; } ############ FUN_ 1804639b0 size=133 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804639b0(void) { uint uVar1; uint *_Memory; longlong local_res8 [4]; FUN_18049c4e0(local_res8,"IppInterprocessLock"); _DAT_182673ea0 = 0; InitializeCriticalSection((LPCRITICAL_SECTION)&DAT_182673ea8); _DAT_182673ed8 = local_res8[0]; if ((*(uint *)(local_res8[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8[0] + -0x10) = *(int *)(local_res8[0] + -0x10) + 1; UNLOCK(); } _Memory = (uint *)(local_res8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } atexit((_func_5014 *)&LAB_181a4bc20); return; } ############ FUN_ 180463a80 size=39 ############ void FUN_180463a80(void) { FUN_18049c4e0(&DAT_182673f18,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4bc80); return; } ############ FUN_ 180463ab0 size=39 ############ void FUN_180463ab0(void) { FUN_18049c4e0(&DAT_182673f30, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4bcb0); return; } ############ FUN_ 180463ae0 size=39 ############ void FUN_180463ae0(void) { FUN_18049c4e0(&DAT_182673f48, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4bce0); return; } ############ FUN_ 180463b10 size=39 ############ void FUN_180463b10(void) { FUN_18049c4e0(&DAT_182673f88,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4bd10); return; } ############ FUN_ 180463b40 size=39 ############ void FUN_180463b40(void) { FUN_18049c4e0(&DAT_182673f38, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4bd40); return; } ############ FUN_ 180463b70 size=39 ############ void FUN_180463b70(void) { FUN_18049c4e0(&DAT_182673f40,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4bd70); return; } ############ FUN_ 180463cd0 size=39 ############ void FUN_180463cd0(void) { FUN_18049c4e0(&DAT_182673fa8,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4bef0); return; } ############ FUN_ 180463d00 size=39 ############ void FUN_180463d00(void) { FUN_18049c4e0(&DAT_182673fb0, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4bf20); return; } ############ FUN_ 180463d30 size=39 ############ void FUN_180463d30(void) { FUN_18049c4e0(&DAT_182673fc8, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4bf50); return; } ############ FUN_ 180463d60 size=39 ############ void FUN_180463d60(void) { FUN_18049c4e0(&DAT_1826740d8,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4bf80); return; } ############ FUN_ 180463d90 size=39 ############ void FUN_180463d90(void) { FUN_18049c4e0(&DAT_182673fb8, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4bfb0); return; } ############ FUN_ 180463dc0 size=39 ############ void FUN_180463dc0(void) { FUN_18049c4e0(&DAT_182673fc0,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4bfe0); return; } ############ FUN_ 180463df0 size=39 ############ void FUN_180463df0(void) { FUN_18049c4e0(&DAT_1826740c8, "change between *soft* and *hard* detection algorithms.\n\n*soft* mode is more transparent, easier to adjust, and more suited to dynamic material\n\n*hard* mode is more adjustable, can be pushed harder, and reacts more to the level of the material." ); atexit((_func_5014 *)&LAB_181a4c010); return; } ############ FUN_ 180463e20 size=39 ############ void FUN_180463e20(void) { FUN_18049c4e0(&DAT_182673fd0, "change *how much* processing is applied.\n\nhigher values result in bigger cuts."); atexit((_func_5014 *)&LAB_181a4c040); return; } ############ FUN_ 180463e50 size=39 ############ void FUN_180463e50(void) { FUN_18049c4e0(&DAT_182674038, "adjust *how sharp* the individual notches are. similar to the q on a typical eq.\n\nhigher values make the notches narrower, but may introduce more artefacts" ); atexit((_func_5014 *)&LAB_181a4c070); return; } ############ FUN_ 180463e80 size=39 ############ void FUN_180463e80(void) { FUN_18049c4e0(&DAT_1826740b8, "adjust *how selective* the process is.\n\n*less selectivity* results in more overall tone-shaping, more effective on noisy sibilance, for example.\n\n*more selectivity* focuses the processing on the narrower peaks." ); atexit((_func_5014 *)&LAB_181a4c0a0); return; } ############ FUN_ 180463eb0 size=39 ############ void FUN_180463eb0(void) { FUN_18049c4e0(&DAT_1826740b0,"adjust *how quickly* the processor *starts to react* to resonances") ; atexit((_func_5014 *)&LAB_181a4c0d0); return; } ############ FUN_ 180463ee0 size=39 ############ void FUN_180463ee0(void) { FUN_18049c4e0(&DAT_182673fe8,"adjust *how quickly the notches disappear*"); atexit((_func_5014 *)&LAB_181a4c100); return; } ############ FUN_ 180463f10 size=39 ############ void FUN_180463f10(void) { FUN_18049c4e0(&DAT_1826740e8,"switch between the stereo modes, *left | right* & *mid | side*."); atexit((_func_5014 *)&LAB_181a4c130); return; } ############ FUN_ 180463f40 size=39 ############ void FUN_180463f40(void) { FUN_18049c4e0(&DAT_182674008, "adjust *how much cross-feed* the resonance detection has between channels\n\nat *100% the sum of both channels* is used to detect the resonances and identical processing is applied to both channels, so the stereo image is not altered. \n\nat *0% the resonances are detected independently* for both channels, often resulting in bigger changes in stereo imaging." ); atexit((_func_5014 *)&LAB_181a4c160); return; } ############ FUN_ 180463f70 size=39 ############ void FUN_180463f70(void) { FUN_18049c4e0(&DAT_182673ff8, "adjust the master balance of the processing. this changes *how much processing is applied to each channel*.\n\nfor example, on *100% | 50%* the processing is applied as if left (or mid) channel had wet/dry mix of 100% and the right (or side) channel had wet/dry mix of 50%." ); atexit((_func_5014 *)&LAB_181a4c190); return; } ############ FUN_ 180463fa0 size=39 ############ void FUN_180463fa0(void) { FUN_18049c4e0(&DAT_182674068,&DAT_1821d9065); atexit((_func_5014 *)&LAB_181a4c1c0); return; } ############ FUN_ 180463fd0 size=39 ############ void FUN_180463fd0(void) { FUN_18049c4e0(&DAT_182674100, "set the *time resolution* of the processing.\n\nthis adjusts the refresh rate of the internal processing.higher settings update the internal filters more frequently, but are more demanding on the cpu." ); atexit((_func_5014 *)&LAB_181a4c1f0); return; } ############ FUN_ 180464000 size=39 ############ void FUN_180464000(void) { FUN_18049c4e0(&DAT_182673fd8, "use this to apply different resolution setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session" ); atexit((_func_5014 *)&LAB_181a4c220); return; } ############ FUN_ 180464030 size=39 ############ void FUN_180464030(void) { FUN_18049c4e0(&DAT_182674070, "adjust the level of *spectral oversampling*.*higher values* result in a *smoother frequency response* and better accuracy especially at lower frequencies but are more demanding on the cpu" ); atexit((_func_5014 *)&LAB_181a4c250); return; } ############ FUN_ 180464060 size=39 ############ void FUN_180464060(void) { FUN_18049c4e0(&DAT_182673fe0, "use this to apply different oversampling setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session\n\n*eco* mode is a tradeoff when there is very limited performance available" ); atexit((_func_5014 *)&LAB_181a4c280); return; } ############ FUN_ 180464090 size=39 ############ void FUN_180464090(void) { FUN_18049c4e0(&DAT_182674090,"use *external sidechain input* for the resonance detection"); atexit((_func_5014 *)&LAB_181a4c2b0); return; } ############ FUN_ 1804640c0 size=39 ############ void FUN_1804640c0(void) { FUN_18049c4e0(&DAT_182674018,"*listen* to the external *sidechain input*"); atexit((_func_5014 *)&LAB_181a4c2e0); return; } ############ FUN_ 1804640f0 size=39 ############ void FUN_1804640f0(void) { FUN_18049c4e0(&DAT_1826740a0, "change the *balance* between the *dry* and the *processed* signal.\n\n100% is processed only.\n0% is dry only\nthe reduction graph will reflect changes to the wet/dry mix." ); atexit((_func_5014 *)&LAB_181a4c310); return; } ############ FUN_ 180464120 size=39 ############ void FUN_180464120(void) { FUN_18049c4e0(&DAT_182674030, "add *trim* (or gain) to the wet signal. \ncan be used to bring the *wet signal back to unity gain* when doing a/b comparison, and to *match wet and dry levels*." ); atexit((_func_5014 *)&LAB_181a4c340); return; } ############ FUN_ 180464150 size=39 ############ void FUN_180464150(void) { FUN_18049c4e0(&DAT_182674040, "monitor *the difference between wet and dry signals*, i.e. what has changed. when delta is enabled, the mix setting is ignored." ); atexit((_func_5014 *)&LAB_181a4c370); return; } ############ FUN_ 180464180 size=39 ############ void FUN_180464180(void) { FUN_18049c4e0(&DAT_182674060, "latency-compensated and click-free bypass. \n \n*does not bypass the processing in the background*, so the cpu load will remain the same!" ); atexit((_func_5014 *)&LAB_181a4c3a0); return; } ############ FUN_ 1804641b0 size=39 ############ void FUN_1804641b0(void) { FUN_18049c4e0(&DAT_182674088,"center *frequency* of the selected band."); atexit((_func_5014 *)&LAB_181a4c3d0); return; } ############ FUN_ 1804641e0 size=39 ############ void FUN_1804641e0(void) { FUN_18049c4e0(&DAT_1826740a8, "*relative amount of processing* applied to the selected frequency band.\n\nhigher values mean more gain reduction or boost (depending on the processing mode, naturally)" ); atexit((_func_5014 *)&LAB_181a4c400); return; } ############ FUN_ 180464210 size=39 ############ void FUN_180464210(void) { FUN_18049c4e0(&DAT_1826740e0,"sets the *q value* of the selected band."); atexit((_func_5014 *)&LAB_181a4c430); return; } ############ FUN_ 180464240 size=39 ############ void FUN_180464240(void) { FUN_18049c4e0(&DAT_1826740d0,"adjusts the relative amount each channel is affected by this band.") ; atexit((_func_5014 *)&LAB_181a4c460); return; } ############ FUN_ 180464270 size=39 ############ void FUN_180464270(void) { FUN_18049c4e0(&DAT_182674050, "*listen button* allows you to monitor delta on a specific frequency band. \n \ndragging the button horizontally changes the center frequency and dragging the button vertically with the modifier key pressed (*cmd* on mac, *ctrl* on windows) changes the bandwidth. \n \ndragging the listen button enables listen mode only for the duration of the drag. listen mode can also be latched and unlatched by clicking this button." ); atexit((_func_5014 *)&LAB_181a4c490); return; } ############ FUN_ 1804642a0 size=39 ############ void FUN_1804642a0(void) { FUN_18049c4e0(&DAT_182674028, "toggles the selected band on and off from the overall sensitivity curve."); atexit((_func_5014 *)&LAB_181a4c4c0); return; } ############ FUN_ 1804642d0 size=39 ############ void FUN_1804642d0(void) { FUN_18049c4e0(&DAT_182673ff0, "*listen* to the frequency area that the currently selected band affects. \n \ntemporarily enable listen mode by holding *alt while dragging* a band." ); atexit((_func_5014 *)&LAB_181a4c4f0); return; } ############ FUN_ 180464300 size=39 ############ void FUN_180464300(void) { FUN_18049c4e0(&DAT_182674078, "whether or not to use external audio as the source for detecting resonances"); atexit((_func_5014 *)&LAB_181a4c520); return; } ############ FUN_ 180464330 size=39 ############ void FUN_180464330(void) { FUN_18049c4e0(&DAT_1826740f0, "enable the sidechain. when enabled the sidechain signal is used as the source of the analysis" ); atexit((_func_5014 *)&LAB_181a4c550); return; } ############ FUN_ 180464360 size=39 ############ void FUN_180464360(void) { FUN_18049c4e0(&DAT_182674010,"listen to the sidechain input"); atexit((_func_5014 *)&LAB_181a4c580); return; } ############ FUN_ 180464390 size=39 ############ void FUN_180464390(void) { FUN_18049c4e0(&DAT_1826740f8,"6dB / oct"); atexit((_func_5014 *)&LAB_181a4c5b0); return; } ############ FUN_ 1804643c0 size=39 ############ void FUN_1804643c0(void) { FUN_18049c4e0(&DAT_182674048,"12dB / oct"); atexit((_func_5014 *)&LAB_181a4c5e0); return; } ############ FUN_ 1804643f0 size=39 ############ void FUN_1804643f0(void) { FUN_18049c4e0(&DAT_182674020,"24dB / oct"); atexit((_func_5014 *)&LAB_181a4c610); return; } ############ FUN_ 180464420 size=39 ############ void FUN_180464420(void) { FUN_18049c4e0(&DAT_1826740c0,"48dB / oct"); atexit((_func_5014 *)&LAB_181a4c640); return; } ############ FUN_ 180464450 size=39 ############ void FUN_180464450(void) { FUN_18049c4e0(&DAT_182674058,"low shelf"); atexit((_func_5014 *)&LAB_181a4c670); return; } ############ FUN_ 180464480 size=39 ############ void FUN_180464480(void) { FUN_18049c4e0(&DAT_182674098,"high shelf"); atexit((_func_5014 *)&LAB_181a4c6a0); return; } ############ FUN_ 1804644b0 size=39 ############ void FUN_1804644b0(void) { FUN_18049c4e0(&DAT_182674080,"tilt shelf"); atexit((_func_5014 *)&LAB_181a4c6d0); return; } ############ FUN_ 1804644e0 size=39 ############ void FUN_1804644e0(void) { FUN_18049c4e0(&DAT_182674000,&DAT_18226efd4); atexit((_func_5014 *)&LAB_181a4c700); return; } ############ FUN_ 180464510 size=39 ############ void FUN_180464510(void) { FUN_18049c4e0(&DAT_182674108,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4c730); return; } ############ FUN_ 180464540 size=39 ############ void FUN_180464540(void) { FUN_18049c4e0(&DAT_182674110, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4c760); return; } ############ FUN_ 180464570 size=39 ############ void FUN_180464570(void) { FUN_18049c4e0(&DAT_182674128, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4c790); return; } ############ FUN_ 1804645a0 size=39 ############ void FUN_1804645a0(void) { FUN_18049c4e0(&DAT_182674138,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4c7c0); return; } ############ FUN_ 1804645d0 size=39 ############ void FUN_1804645d0(void) { FUN_18049c4e0(&DAT_182674118, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4c7f0); return; } ############ FUN_ 180464600 size=39 ############ void FUN_180464600(void) { FUN_18049c4e0(&DAT_182674120,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4c820); return; } ############ FUN_ 180464630 size=39 ############ void FUN_180464630(void) { FUN_18049c4e0(&DAT_182674170,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4c850); return; } ############ FUN_ 180465870 size=39 ############ void FUN_180465870(void) { FUN_18049c4e0(&DAT_1826742c0,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4c900); return; } ############ FUN_ 1804658a0 size=39 ############ void FUN_1804658a0(void) { FUN_18049c4e0(&DAT_1826742c8, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4c930); return; } ############ FUN_ 1804658d0 size=39 ############ void FUN_1804658d0(void) { FUN_18049c4e0(&DAT_1826742e0, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4c960); return; } ############ FUN_ 180465900 size=39 ############ void FUN_180465900(void) { FUN_18049c4e0(&DAT_1826742f0,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4c990); return; } ############ FUN_ 180465930 size=39 ############ void FUN_180465930(void) { FUN_18049c4e0(&DAT_1826742d0, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4c9c0); return; } ############ FUN_ 180465960 size=39 ############ void FUN_180465960(void) { FUN_18049c4e0(&DAT_1826742d8,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4c9f0); return; } ############ FUN_ 180465990 size=39 ############ void FUN_180465990(void) { FUN_18049c4e0(&DAT_1826742f8,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4ca20); return; } ############ FUN_ 1804659c0 size=39 ############ void FUN_1804659c0(void) { FUN_18049c4e0(&DAT_182674308, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4ca50); return; } ############ FUN_ 1804659f0 size=39 ############ void FUN_1804659f0(void) { FUN_18049c4e0(&DAT_182674320, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4ca80); return; } ############ FUN_ 180465a20 size=39 ############ void FUN_180465a20(void) { FUN_18049c4e0(&DAT_182674328,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4cab0); return; } ############ FUN_ 180465a50 size=39 ############ void FUN_180465a50(void) { FUN_18049c4e0(&DAT_182674310, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4cae0); return; } ############ FUN_ 180465a80 size=39 ############ void FUN_180465a80(void) { FUN_18049c4e0(&DAT_182674318,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4cb10); return; } ############ FUN_ 180465b10 size=39 ############ void FUN_180465b10(void) { FUN_18049c4e0(&DAT_182674330,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4cb70); return; } ############ FUN_ 180465b40 size=39 ############ void FUN_180465b40(void) { FUN_18049c4e0(&DAT_182674338, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4cba0); return; } ############ FUN_ 180465b70 size=39 ############ void FUN_180465b70(void) { FUN_18049c4e0(&DAT_182674350, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4cbd0); return; } ############ FUN_ 180465ba0 size=39 ############ void FUN_180465ba0(void) { FUN_18049c4e0(&DAT_182674360,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4cc00); return; } ############ FUN_ 180465bd0 size=39 ############ void FUN_180465bd0(void) { FUN_18049c4e0(&DAT_182674340, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4cc30); return; } ############ FUN_ 180465c00 size=39 ############ void FUN_180465c00(void) { FUN_18049c4e0(&DAT_182674348,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4cc60); return; } ############ FUN_ 180465c30 size=39 ############ void FUN_180465c30(void) { FUN_18049c4e0(&DAT_182674368,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4cc90); return; } ############ FUN_ 180465c60 size=39 ############ void FUN_180465c60(void) { FUN_18049c4e0(&DAT_182674370, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4ccc0); return; } ############ FUN_ 180465c90 size=39 ############ void FUN_180465c90(void) { FUN_18049c4e0(&DAT_182674388, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4ccf0); return; } ############ FUN_ 180465cc0 size=39 ############ void FUN_180465cc0(void) { FUN_18049c4e0(&DAT_1826744a0,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4cd20); return; } ############ FUN_ 180465cf0 size=39 ############ void FUN_180465cf0(void) { FUN_18049c4e0(&DAT_182674378, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4cd50); return; } ############ FUN_ 180465d20 size=39 ############ void FUN_180465d20(void) { FUN_18049c4e0(&DAT_182674380,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4cd80); return; } ############ FUN_ 180465d50 size=39 ############ void FUN_180465d50(void) { FUN_18049c4e0(&DAT_182674490, "change between *soft* and *hard* detection algorithms.\n\n*soft* mode is more transparent, easier to adjust, and more suited to dynamic material\n\n*hard* mode is more adjustable, can be pushed harder, and reacts more to the level of the material." ); atexit((_func_5014 *)&LAB_181a4cdb0); return; } ############ FUN_ 180465d80 size=39 ############ void FUN_180465d80(void) { FUN_18049c4e0(&DAT_182674390, "change *how much* processing is applied.\n\nhigher values result in bigger cuts."); atexit((_func_5014 *)&LAB_181a4cde0); return; } ############ FUN_ 180465db0 size=39 ############ void FUN_180465db0(void) { FUN_18049c4e0(&DAT_1826743f8, "adjust *how sharp* the individual notches are. similar to the q on a typical eq.\n\nhigher values make the notches narrower, but may introduce more artefacts" ); atexit((_func_5014 *)&LAB_181a4ce10); return; } ############ FUN_ 180465de0 size=39 ############ void FUN_180465de0(void) { FUN_18049c4e0(&DAT_182674478, "adjust *how selective* the process is.\n\n*less selectivity* results in more overall tone-shaping, more effective on noisy sibilance, for example.\n\n*more selectivity* focuses the processing on the narrower peaks." ); atexit((_func_5014 *)&LAB_181a4ce40); return; } ############ FUN_ 180465e10 size=39 ############ void FUN_180465e10(void) { FUN_18049c4e0(&DAT_182674470,"adjust *how quickly* the processor *starts to react* to resonances") ; atexit((_func_5014 *)&LAB_181a4ce70); return; } ############ FUN_ 180465e40 size=39 ############ void FUN_180465e40(void) { FUN_18049c4e0(&DAT_1826743a8,"adjust *how quickly the notches disappear*"); atexit((_func_5014 *)&LAB_181a4cea0); return; } ############ FUN_ 180465e70 size=39 ############ void FUN_180465e70(void) { FUN_18049c4e0(&DAT_1826744b0,"switch between the stereo modes, *left | right* & *mid | side*."); atexit((_func_5014 *)&LAB_181a4ced0); return; } ############ FUN_ 180465ea0 size=39 ############ void FUN_180465ea0(void) { FUN_18049c4e0(&DAT_1826743c8, "adjust *how much cross-feed* the resonance detection has between channels\n\nat *100% the sum of both channels* is used to detect the resonances and identical processing is applied to both channels, so the stereo image is not altered. \n\nat *0% the resonances are detected independently* for both channels, often resulting in bigger changes in stereo imaging." ); atexit((_func_5014 *)&LAB_181a4cf00); return; } ############ FUN_ 180465ed0 size=39 ############ void FUN_180465ed0(void) { FUN_18049c4e0(&DAT_1826743b8, "adjust the master balance of the processing. this changes *how much processing is applied to each channel*.\n\nfor example, on *100% | 50%* the processing is applied as if left (or mid) channel had wet/dry mix of 100% and the right (or side) channel had wet/dry mix of 50%." ); atexit((_func_5014 *)&LAB_181a4cf30); return; } ############ FUN_ 180465f00 size=39 ############ void FUN_180465f00(void) { FUN_18049c4e0(&DAT_182674428,""); atexit((_func_5014 *)&LAB_181a4cf60); return; } ############ FUN_ 180465f30 size=39 ############ void FUN_180465f30(void) { FUN_18049c4e0(&DAT_1826744c8, "set the *time resolution* of the processing.\n\nthis adjusts the refresh rate of the internal processing.higher settings update the internal filters more frequently, but are more demanding on the cpu." ); atexit((_func_5014 *)&LAB_181a4cf90); return; } ############ FUN_ 180465f60 size=39 ############ void FUN_180465f60(void) { FUN_18049c4e0(&DAT_182674398, "use this to apply different resolution setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session" ); atexit((_func_5014 *)&LAB_181a4cfc0); return; } ############ FUN_ 180465f90 size=39 ############ void FUN_180465f90(void) { FUN_18049c4e0(&DAT_182674430, "adjust the level of *spectral oversampling*.*higher values* result in a *smoother frequency response* and better accuracy especially at lower frequencies but are more demanding on the cpu" ); atexit((_func_5014 *)&LAB_181a4cff0); return; } ############ FUN_ 180465fc0 size=39 ############ void FUN_180465fc0(void) { FUN_18049c4e0(&DAT_1826743a0, "use this to apply different oversampling setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session\n\n*eco* mode is a tradeoff when there is very limited performance available" ); atexit((_func_5014 *)&LAB_181a4d020); return; } ############ FUN_ 180465ff0 size=39 ############ void FUN_180465ff0(void) { FUN_18049c4e0(&DAT_182674450,"use *external sidechain input* for the resonance detection"); atexit((_func_5014 *)&LAB_181a4d050); return; } ############ FUN_ 180466020 size=39 ############ void FUN_180466020(void) { FUN_18049c4e0(&DAT_1826743d8,"*listen* to the external *sidechain input*"); atexit((_func_5014 *)&LAB_181a4d080); return; } ############ FUN_ 180466050 size=39 ############ void FUN_180466050(void) { FUN_18049c4e0(&DAT_182674460, "change the *balance* between the *dry* and the *processed* signal.\n\n100% is processed only.\n0% is dry only\nthe reduction graph will reflect changes to the wet/dry mix." ); atexit((_func_5014 *)&LAB_181a4d0b0); return; } ############ FUN_ 180466080 size=39 ############ void FUN_180466080(void) { FUN_18049c4e0(&DAT_1826743f0, "add *trim* (or gain) to the wet signal. \ncan be used to bring the *wet signal back to unity gain* when doing a/b comparison, and to *match wet and dry levels*." ); atexit((_func_5014 *)&LAB_181a4d0e0); return; } ############ FUN_ 1804660b0 size=39 ############ void FUN_1804660b0(void) { FUN_18049c4e0(&DAT_182674400, "monitor *the difference between wet and dry signals*, i.e. what has changed. when delta is enabled, the mix setting is ignored." ); atexit((_func_5014 *)&LAB_181a4d110); return; } ############ FUN_ 1804660e0 size=39 ############ void FUN_1804660e0(void) { FUN_18049c4e0(&DAT_182674420, "latency-compensated and click-free bypass. \n \n*does not bypass the processing in the background*, so the cpu load will remain the same!" ); atexit((_func_5014 *)&LAB_181a4d140); return; } ############ FUN_ 180466110 size=39 ############ void FUN_180466110(void) { FUN_18049c4e0(&DAT_182674448,"center *frequency* of the selected band."); atexit((_func_5014 *)&LAB_181a4d170); return; } ############ FUN_ 180466140 size=39 ############ void FUN_180466140(void) { FUN_18049c4e0(&DAT_182674468, "*relative amount of processing* applied to the selected frequency band.\n\nhigher values mean more gain reduction or boost (depending on the processing mode, naturally)" ); atexit((_func_5014 *)&LAB_181a4d1a0); return; } ############ FUN_ 180466170 size=39 ############ void FUN_180466170(void) { FUN_18049c4e0(&DAT_1826744a8,"sets the *q value* of the selected band."); atexit((_func_5014 *)&LAB_181a4d1d0); return; } ############ FUN_ 1804661a0 size=39 ############ void FUN_1804661a0(void) { FUN_18049c4e0(&DAT_182674498,"adjusts the relative amount each channel is affected by this band.") ; atexit((_func_5014 *)&LAB_181a4d200); return; } ############ FUN_ 1804661d0 size=39 ############ void FUN_1804661d0(void) { FUN_18049c4e0(&DAT_182674410, "*listen button* allows you to monitor delta on a specific frequency band. \n \ndragging the button horizontally changes the center frequency and dragging the button vertically with the modifier key pressed (*cmd* on mac, *ctrl* on windows) changes the bandwidth. \n \ndragging the listen button enables listen mode only for the duration of the drag. listen mode can also be latched and unlatched by clicking this button." ); atexit((_func_5014 *)&LAB_181a4d230); return; } ############ FUN_ 180466200 size=39 ############ void FUN_180466200(void) { FUN_18049c4e0(&DAT_1826743e8, "toggles the selected band on and off from the overall sensitivity curve."); atexit((_func_5014 *)&LAB_181a4d260); return; } ############ FUN_ 180466230 size=39 ############ void FUN_180466230(void) { FUN_18049c4e0(&DAT_1826743b0, "*listen* to the frequency area that the currently selected band affects. \n \ntemporarily enable listen mode by holding *alt while dragging* a band." ); atexit((_func_5014 *)&LAB_181a4d290); return; } ############ FUN_ 180466260 size=39 ############ void FUN_180466260(void) { FUN_18049c4e0(&DAT_182674438, "whether or not to use external audio as the source for detecting resonances"); atexit((_func_5014 *)&LAB_181a4d2c0); return; } ############ FUN_ 180466290 size=39 ############ void FUN_180466290(void) { FUN_18049c4e0(&DAT_1826744b8, "enable the sidechain. when enabled the sidechain signal is used as the source of the analysis" ); atexit((_func_5014 *)&LAB_181a4d2f0); return; } ############ FUN_ 1804662c0 size=39 ############ void FUN_1804662c0(void) { FUN_18049c4e0(&DAT_1826743d0,"listen to the sidechain input"); atexit((_func_5014 *)&LAB_181a4d320); return; } ############ FUN_ 1804662f0 size=39 ############ void FUN_1804662f0(void) { FUN_18049c4e0(&DAT_1826744c0,"6dB / oct"); atexit((_func_5014 *)&LAB_181a4d350); return; } ############ FUN_ 180466320 size=39 ############ void FUN_180466320(void) { FUN_18049c4e0(&DAT_182674408,"12dB / oct"); atexit((_func_5014 *)&LAB_181a4d380); return; } ############ FUN_ 180466350 size=39 ############ void FUN_180466350(void) { FUN_18049c4e0(&DAT_1826743e0,"24dB / oct"); atexit((_func_5014 *)&LAB_181a4d3b0); return; } ############ FUN_ 180466380 size=39 ############ void FUN_180466380(void) { FUN_18049c4e0(&DAT_182674480,"48dB / oct"); atexit((_func_5014 *)&LAB_181a4d3e0); return; } ############ FUN_ 1804663b0 size=39 ############ void FUN_1804663b0(void) { FUN_18049c4e0(&DAT_182674418,"low shelf"); atexit((_func_5014 *)&LAB_181a4d410); return; } ############ FUN_ 1804663e0 size=39 ############ void FUN_1804663e0(void) { FUN_18049c4e0(&DAT_182674458,"high shelf"); atexit((_func_5014 *)&LAB_181a4d440); return; } ############ FUN_ 180466410 size=39 ############ void FUN_180466410(void) { FUN_18049c4e0(&DAT_182674440,"tilt shelf"); atexit((_func_5014 *)&LAB_181a4d470); return; } ############ FUN_ 180466440 size=39 ############ void FUN_180466440(void) { FUN_18049c4e0(&DAT_1826743c0,&DAT_1822cb184); atexit((_func_5014 *)&LAB_181a4d4a0); return; } ############ FUN_ 180466470 size=39 ############ void FUN_180466470(void) { FUN_18049c4e0(&DAT_1826744d0,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4d4d0); return; } ############ FUN_ 1804664a0 size=39 ############ void FUN_1804664a0(void) { FUN_18049c4e0(&DAT_1826744d8, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4d500); return; } ############ FUN_ 1804664d0 size=39 ############ void FUN_1804664d0(void) { FUN_18049c4e0(&DAT_1826744f0, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4d530); return; } ############ FUN_ 180466500 size=39 ############ void FUN_180466500(void) { FUN_18049c4e0(&DAT_182674600,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4d560); return; } ############ FUN_ 180466530 size=39 ############ void FUN_180466530(void) { FUN_18049c4e0(&DAT_1826744e0, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4d590); return; } ############ FUN_ 180466560 size=39 ############ void FUN_180466560(void) { FUN_18049c4e0(&DAT_1826744e8,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4d5c0); return; } ############ FUN_ 180466590 size=39 ############ void FUN_180466590(void) { FUN_18049c4e0(&DAT_1826745f0, "change between *soft* and *hard* detection algorithms.\n\n*soft* mode is more transparent, easier to adjust, and more suited to dynamic material\n\n*hard* mode is more adjustable, can be pushed harder, and reacts more to the level of the material." ); atexit((_func_5014 *)&LAB_181a4d5f0); return; } ############ FUN_ 1804665c0 size=39 ############ void FUN_1804665c0(void) { FUN_18049c4e0(&DAT_1826744f8, "change *how much* processing is applied.\n\nhigher values result in bigger cuts."); atexit((_func_5014 *)&LAB_181a4d620); return; } ############ FUN_ 1804665f0 size=39 ############ void FUN_1804665f0(void) { FUN_18049c4e0(&DAT_182674560, "adjust *how sharp* the individual notches are. similar to the q on a typical eq.\n\nhigher values make the notches narrower, but may introduce more artefacts" ); atexit((_func_5014 *)&LAB_181a4d650); return; } ############ FUN_ 180466620 size=39 ############ void FUN_180466620(void) { FUN_18049c4e0(&DAT_1826745e0, "adjust *how selective* the process is.\n\n*less selectivity* results in more overall tone-shaping, more effective on noisy sibilance, for example.\n\n*more selectivity* focuses the processing on the narrower peaks." ); atexit((_func_5014 *)&LAB_181a4d680); return; } ############ FUN_ 180466650 size=39 ############ void FUN_180466650(void) { FUN_18049c4e0(&DAT_1826745d8,"adjust *how quickly* the processor *starts to react* to resonances") ; atexit((_func_5014 *)&LAB_181a4d6b0); return; } ############ FUN_ 180466680 size=39 ############ void FUN_180466680(void) { FUN_18049c4e0(&DAT_182674510,"adjust *how quickly the notches disappear*"); atexit((_func_5014 *)&LAB_181a4d6e0); return; } ############ FUN_ 1804666b0 size=39 ############ void FUN_1804666b0(void) { FUN_18049c4e0(&DAT_182674610,"switch between the stereo modes, *left | right* & *mid | side*."); atexit((_func_5014 *)&LAB_181a4d710); return; } ############ FUN_ 1804666e0 size=39 ############ void FUN_1804666e0(void) { FUN_18049c4e0(&DAT_182674530, "adjust *how much cross-feed* the resonance detection has between channels\n\nat *100% the sum of both channels* is used to detect the resonances and identical processing is applied to both channels, so the stereo image is not altered. \n\nat *0% the resonances are detected independently* for both channels, often resulting in bigger changes in stereo imaging." ); atexit((_func_5014 *)&LAB_181a4d740); return; } ############ FUN_ 180466710 size=39 ############ void FUN_180466710(void) { FUN_18049c4e0(&DAT_182674520, "adjust the master balance of the processing. this changes *how much processing is applied to each channel*.\n\nfor example, on *100% | 50%* the processing is applied as if left (or mid) channel had wet/dry mix of 100% and the right (or side) channel had wet/dry mix of 50%." ); atexit((_func_5014 *)&LAB_181a4d770); return; } ############ FUN_ 180466740 size=39 ############ void FUN_180466740(void) { FUN_18049c4e0(&DAT_182674590,&DAT_1821d9206); atexit((_func_5014 *)&LAB_181a4d7a0); return; } ############ FUN_ 180466770 size=39 ############ void FUN_180466770(void) { FUN_18049c4e0(&DAT_182674628, "set the *time resolution* of the processing.\n\nthis adjusts the refresh rate of the internal processing.higher settings update the internal filters more frequently, but are more demanding on the cpu." ); atexit((_func_5014 *)&LAB_181a4d7d0); return; } ############ FUN_ 1804667a0 size=39 ############ void FUN_1804667a0(void) { FUN_18049c4e0(&DAT_182674500, "use this to apply different resolution setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session" ); atexit((_func_5014 *)&LAB_181a4d800); return; } ############ FUN_ 1804667d0 size=39 ############ void FUN_1804667d0(void) { FUN_18049c4e0(&DAT_182674598, "adjust the level of *spectral oversampling*.*higher values* result in a *smoother frequency response* and better accuracy especially at lower frequencies but are more demanding on the cpu" ); atexit((_func_5014 *)&LAB_181a4d830); return; } ############ FUN_ 180466800 size=39 ############ void FUN_180466800(void) { FUN_18049c4e0(&DAT_182674508, "use this to apply different oversampling setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session\n\n*eco* mode is a tradeoff when there is very limited performance available" ); atexit((_func_5014 *)&LAB_181a4d860); return; } ############ FUN_ 180466830 size=39 ############ void FUN_180466830(void) { FUN_18049c4e0(&DAT_1826745b8,"use *external sidechain input* for the resonance detection"); atexit((_func_5014 *)&LAB_181a4d890); return; } ############ FUN_ 180466860 size=39 ############ void FUN_180466860(void) { FUN_18049c4e0(&DAT_182674540,"*listen* to the external *sidechain input*"); atexit((_func_5014 *)&LAB_181a4d8c0); return; } ############ FUN_ 180466890 size=39 ############ void FUN_180466890(void) { FUN_18049c4e0(&DAT_1826745c8, "change the *balance* between the *dry* and the *processed* signal.\n\n100% is processed only.\n0% is dry only\nthe reduction graph will reflect changes to the wet/dry mix." ); atexit((_func_5014 *)&LAB_181a4d8f0); return; } ############ FUN_ 1804668c0 size=39 ############ void FUN_1804668c0(void) { FUN_18049c4e0(&DAT_182674558, "add *trim* (or gain) to the wet signal. \ncan be used to bring the *wet signal back to unity gain* when doing a/b comparison, and to *match wet and dry levels*." ); atexit((_func_5014 *)&LAB_181a4d920); return; } ############ FUN_ 1804668f0 size=39 ############ void FUN_1804668f0(void) { FUN_18049c4e0(&DAT_182674568, "monitor *the difference between wet and dry signals*, i.e. what has changed. when delta is enabled, the mix setting is ignored." ); atexit((_func_5014 *)&LAB_181a4d950); return; } ############ FUN_ 180466920 size=39 ############ void FUN_180466920(void) { FUN_18049c4e0(&DAT_182674588, "latency-compensated and click-free bypass. \n \n*does not bypass the processing in the background*, so the cpu load will remain the same!" ); atexit((_func_5014 *)&LAB_181a4d980); return; } ############ FUN_ 180466950 size=39 ############ void FUN_180466950(void) { FUN_18049c4e0(&DAT_1826745b0,"center *frequency* of the selected band."); atexit((_func_5014 *)&LAB_181a4d9b0); return; } ############ FUN_ 180466980 size=39 ############ void FUN_180466980(void) { FUN_18049c4e0(&DAT_1826745d0, "*relative amount of processing* applied to the selected frequency band.\n\nhigher values mean more gain reduction or boost (depending on the processing mode, naturally)" ); atexit((_func_5014 *)&LAB_181a4d9e0); return; } ############ FUN_ 1804669b0 size=39 ############ void FUN_1804669b0(void) { FUN_18049c4e0(&DAT_182674608,"sets the *q value* of the selected band."); atexit((_func_5014 *)&LAB_181a4da10); return; } ############ FUN_ 1804669e0 size=39 ############ void FUN_1804669e0(void) { FUN_18049c4e0(&DAT_1826745f8,"adjusts the relative amount each channel is affected by this band.") ; atexit((_func_5014 *)&LAB_181a4da40); return; } ############ FUN_ 180466a10 size=39 ############ void FUN_180466a10(void) { FUN_18049c4e0(&DAT_182674578, "*listen button* allows you to monitor delta on a specific frequency band. \n \ndragging the button horizontally changes the center frequency and dragging the button vertically with the modifier key pressed (*cmd* on mac, *ctrl* on windows) changes the bandwidth. \n \ndragging the listen button enables listen mode only for the duration of the drag. listen mode can also be latched and unlatched by clicking this button." ); atexit((_func_5014 *)&LAB_181a4da70); return; } ############ FUN_ 180466a40 size=39 ############ void FUN_180466a40(void) { FUN_18049c4e0(&DAT_182674550, "toggles the selected band on and off from the overall sensitivity curve."); atexit((_func_5014 *)&LAB_181a4daa0); return; } ############ FUN_ 180466a70 size=39 ############ void FUN_180466a70(void) { FUN_18049c4e0(&DAT_182674518, "*listen* to the frequency area that the currently selected band affects. \n \ntemporarily enable listen mode by holding *alt while dragging* a band." ); atexit((_func_5014 *)&LAB_181a4dad0); return; } ############ FUN_ 180466aa0 size=39 ############ void FUN_180466aa0(void) { FUN_18049c4e0(&DAT_1826745a0, "whether or not to use external audio as the source for detecting resonances"); atexit((_func_5014 *)&LAB_181a4db00); return; } ############ FUN_ 180466ad0 size=39 ############ void FUN_180466ad0(void) { FUN_18049c4e0(&DAT_182674618, "enable the sidechain. when enabled the sidechain signal is used as the source of the analysis" ); atexit((_func_5014 *)&LAB_181a4db30); return; } ############ FUN_ 180466b00 size=39 ############ void FUN_180466b00(void) { FUN_18049c4e0(&DAT_182674538,"listen to the sidechain input"); atexit((_func_5014 *)&LAB_181a4db60); return; } ############ FUN_ 180466b30 size=39 ############ void FUN_180466b30(void) { FUN_18049c4e0(&DAT_182674620,"6dB / oct"); atexit((_func_5014 *)&LAB_181a4db90); return; } ############ FUN_ 180466b60 size=39 ############ void FUN_180466b60(void) { FUN_18049c4e0(&DAT_182674570,"12dB / oct"); atexit((_func_5014 *)&LAB_181a4dbc0); return; } ############ FUN_ 180466b90 size=39 ############ void FUN_180466b90(void) { FUN_18049c4e0(&DAT_182674548,"24dB / oct"); atexit((_func_5014 *)&LAB_181a4dbf0); return; } ############ FUN_ 180466bc0 size=39 ############ void FUN_180466bc0(void) { FUN_18049c4e0(&DAT_1826745e8,"48dB / oct"); atexit((_func_5014 *)&LAB_181a4dc20); return; } ############ FUN_ 180466bf0 size=39 ############ void FUN_180466bf0(void) { FUN_18049c4e0(&DAT_182674580,"low shelf"); atexit((_func_5014 *)&LAB_181a4dc50); return; } ############ FUN_ 180466c20 size=39 ############ void FUN_180466c20(void) { FUN_18049c4e0(&DAT_1826745c0,"high shelf"); atexit((_func_5014 *)&LAB_181a4dc80); return; } ############ FUN_ 180466c50 size=39 ############ void FUN_180466c50(void) { FUN_18049c4e0(&DAT_1826745a8,"tilt shelf"); atexit((_func_5014 *)&LAB_181a4dcb0); return; } ############ FUN_ 180466c80 size=39 ############ void FUN_180466c80(void) { FUN_18049c4e0(&DAT_182674528,&DAT_1822e1654); atexit((_func_5014 *)&LAB_181a4dce0); return; } ############ FUN_ 180466cb0 size=39 ############ void FUN_180466cb0(void) { FUN_18049c4e0(&DAT_182674630,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4dd10); return; } ############ FUN_ 180466ce0 size=39 ############ void FUN_180466ce0(void) { FUN_18049c4e0(&DAT_182674638, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4dd40); return; } ############ FUN_ 180466d10 size=39 ############ void FUN_180466d10(void) { FUN_18049c4e0(&DAT_182674650, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4dd70); return; } ############ FUN_ 180466d40 size=39 ############ void FUN_180466d40(void) { FUN_18049c4e0(&DAT_182674660,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4dda0); return; } ############ FUN_ 180466d70 size=39 ############ void FUN_180466d70(void) { FUN_18049c4e0(&DAT_182674640, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4ddd0); return; } ############ FUN_ 180466da0 size=39 ############ void FUN_180466da0(void) { FUN_18049c4e0(&DAT_182674648,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4de00); return; } ############ FUN_ 180466dd0 size=39 ############ void FUN_180466dd0(void) { FUN_18049c4e0(&DAT_182674668,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4de30); return; } ############ FUN_ 180466e00 size=39 ############ void FUN_180466e00(void) { FUN_18049c4e0(&DAT_182674670, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4de60); return; } ############ FUN_ 180466e30 size=39 ############ void FUN_180466e30(void) { FUN_18049c4e0(&DAT_182674688, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4de90); return; } ############ FUN_ 180466e60 size=39 ############ void FUN_180466e60(void) { FUN_18049c4e0(&DAT_1826747a0,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4dec0); return; } ############ FUN_ 180466e90 size=39 ############ void FUN_180466e90(void) { FUN_18049c4e0(&DAT_182674678, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4def0); return; } ############ FUN_ 180466ec0 size=39 ############ void FUN_180466ec0(void) { FUN_18049c4e0(&DAT_182674680,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4df20); return; } ############ FUN_ 180466ef0 size=39 ############ void FUN_180466ef0(void) { FUN_18049c4e0(&DAT_182674790, "change between *soft* and *hard* detection algorithms.\n\n*soft* mode is more transparent, easier to adjust, and more suited to dynamic material\n\n*hard* mode is more adjustable, can be pushed harder, and reacts more to the level of the material." ); atexit((_func_5014 *)&LAB_181a4df50); return; } ############ FUN_ 180466f20 size=39 ############ void FUN_180466f20(void) { FUN_18049c4e0(&DAT_182674690, "change *how much* processing is applied.\n\nhigher values result in bigger cuts."); atexit((_func_5014 *)&LAB_181a4df80); return; } ############ FUN_ 180466f50 size=39 ############ void FUN_180466f50(void) { FUN_18049c4e0(&DAT_1826746f8, "adjust *how sharp* the individual notches are. similar to the q on a typical eq.\n\nhigher values make the notches narrower, but may introduce more artefacts" ); atexit((_func_5014 *)&LAB_181a4dfb0); return; } ############ FUN_ 180466f80 size=39 ############ void FUN_180466f80(void) { FUN_18049c4e0(&DAT_182674778, "adjust *how selective* the process is.\n\n*less selectivity* results in more overall tone-shaping, more effective on noisy sibilance, for example.\n\n*more selectivity* focuses the processing on the narrower peaks." ); atexit((_func_5014 *)&LAB_181a4dfe0); return; } ############ FUN_ 180466fb0 size=39 ############ void FUN_180466fb0(void) { FUN_18049c4e0(&DAT_182674770,"adjust *how quickly* the processor *starts to react* to resonances") ; atexit((_func_5014 *)&LAB_181a4e010); return; } ############ FUN_ 180466fe0 size=39 ############ void FUN_180466fe0(void) { FUN_18049c4e0(&DAT_1826746a8,"adjust *how quickly the notches disappear*"); atexit((_func_5014 *)&LAB_181a4e040); return; } ############ FUN_ 180467010 size=39 ############ void FUN_180467010(void) { FUN_18049c4e0(&DAT_1826747b0,"switch between the stereo modes, *left | right* & *mid | side*."); atexit((_func_5014 *)&LAB_181a4e070); return; } ############ FUN_ 180467040 size=39 ############ void FUN_180467040(void) { FUN_18049c4e0(&DAT_1826746c8, "adjust *how much cross-feed* the resonance detection has between channels\n\nat *100% the sum of both channels* is used to detect the resonances and identical processing is applied to both channels, so the stereo image is not altered. \n\nat *0% the resonances are detected independently* for both channels, often resulting in bigger changes in stereo imaging." ); atexit((_func_5014 *)&LAB_181a4e0a0); return; } ############ FUN_ 180467070 size=39 ############ void FUN_180467070(void) { FUN_18049c4e0(&DAT_1826746b8, "adjust the master balance of the processing. this changes *how much processing is applied to each channel*.\n\nfor example, on *100% | 50%* the processing is applied as if left (or mid) channel had wet/dry mix of 100% and the right (or side) channel had wet/dry mix of 50%." ); atexit((_func_5014 *)&LAB_181a4e0d0); return; } ############ FUN_ 1804670a0 size=39 ############ void FUN_1804670a0(void) { FUN_18049c4e0(&DAT_182674728,""); atexit((_func_5014 *)&LAB_181a4e100); return; } ############ FUN_ 1804670d0 size=39 ############ void FUN_1804670d0(void) { FUN_18049c4e0(&DAT_1826747c8, "set the *time resolution* of the processing.\n\nthis adjusts the refresh rate of the internal processing.higher settings update the internal filters more frequently, but are more demanding on the cpu." ); atexit((_func_5014 *)&LAB_181a4e130); return; } ############ FUN_ 180467100 size=39 ############ void FUN_180467100(void) { FUN_18049c4e0(&DAT_182674698, "use this to apply different resolution setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session" ); atexit((_func_5014 *)&LAB_181a4e160); return; } ############ FUN_ 180467130 size=39 ############ void FUN_180467130(void) { FUN_18049c4e0(&DAT_182674730, "adjust the level of *spectral oversampling*.*higher values* result in a *smoother frequency response* and better accuracy especially at lower frequencies but are more demanding on the cpu" ); atexit((_func_5014 *)&LAB_181a4e190); return; } ############ FUN_ 180467160 size=39 ############ void FUN_180467160(void) { FUN_18049c4e0(&DAT_1826746a0, "use this to apply different oversampling setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session\n\n*eco* mode is a tradeoff when there is very limited performance available" ); atexit((_func_5014 *)&LAB_181a4e1c0); return; } ############ FUN_ 180467190 size=39 ############ void FUN_180467190(void) { FUN_18049c4e0(&DAT_182674750,"use *external sidechain input* for the resonance detection"); atexit((_func_5014 *)&LAB_181a4e1f0); return; } ############ FUN_ 1804671c0 size=39 ############ void FUN_1804671c0(void) { FUN_18049c4e0(&DAT_1826746d8,"*listen* to the external *sidechain input*"); atexit((_func_5014 *)&LAB_181a4e220); return; } ############ FUN_ 1804671f0 size=39 ############ void FUN_1804671f0(void) { FUN_18049c4e0(&DAT_182674760, "change the *balance* between the *dry* and the *processed* signal.\n\n100% is processed only.\n0% is dry only\nthe reduction graph will reflect changes to the wet/dry mix." ); atexit((_func_5014 *)&LAB_181a4e250); return; } ############ FUN_ 180467220 size=39 ############ void FUN_180467220(void) { FUN_18049c4e0(&DAT_1826746f0, "add *trim* (or gain) to the wet signal. \ncan be used to bring the *wet signal back to unity gain* when doing a/b comparison, and to *match wet and dry levels*." ); atexit((_func_5014 *)&LAB_181a4e280); return; } ############ FUN_ 180467250 size=39 ############ void FUN_180467250(void) { FUN_18049c4e0(&DAT_182674700, "monitor *the difference between wet and dry signals*, i.e. what has changed. when delta is enabled, the mix setting is ignored." ); atexit((_func_5014 *)&LAB_181a4e2b0); return; } ############ FUN_ 180467280 size=39 ############ void FUN_180467280(void) { FUN_18049c4e0(&DAT_182674720, "latency-compensated and click-free bypass. \n \n*does not bypass the processing in the background*, so the cpu load will remain the same!" ); atexit((_func_5014 *)&LAB_181a4e2e0); return; } ############ FUN_ 1804672b0 size=39 ############ void FUN_1804672b0(void) { FUN_18049c4e0(&DAT_182674748,"center *frequency* of the selected band."); atexit((_func_5014 *)&LAB_181a4e310); return; } ############ FUN_ 1804672e0 size=39 ############ void FUN_1804672e0(void) { FUN_18049c4e0(&DAT_182674768, "*relative amount of processing* applied to the selected frequency band.\n\nhigher values mean more gain reduction or boost (depending on the processing mode, naturally)" ); atexit((_func_5014 *)&LAB_181a4e340); return; } ############ FUN_ 180467310 size=39 ############ void FUN_180467310(void) { FUN_18049c4e0(&DAT_1826747a8,"sets the *q value* of the selected band."); atexit((_func_5014 *)&LAB_181a4e370); return; } ############ FUN_ 180467340 size=39 ############ void FUN_180467340(void) { FUN_18049c4e0(&DAT_182674798,"adjusts the relative amount each channel is affected by this band.") ; atexit((_func_5014 *)&LAB_181a4e3a0); return; } ############ FUN_ 180467370 size=39 ############ void FUN_180467370(void) { FUN_18049c4e0(&DAT_182674710, "*listen button* allows you to monitor delta on a specific frequency band. \n \ndragging the button horizontally changes the center frequency and dragging the button vertically with the modifier key pressed (*cmd* on mac, *ctrl* on windows) changes the bandwidth. \n \ndragging the listen button enables listen mode only for the duration of the drag. listen mode can also be latched and unlatched by clicking this button." ); atexit((_func_5014 *)&LAB_181a4e3d0); return; } ############ FUN_ 1804673a0 size=39 ############ void FUN_1804673a0(void) { FUN_18049c4e0(&DAT_1826746e8, "toggles the selected band on and off from the overall sensitivity curve."); atexit((_func_5014 *)&LAB_181a4e400); return; } ############ FUN_ 1804673d0 size=39 ############ void FUN_1804673d0(void) { FUN_18049c4e0(&DAT_1826746b0, "*listen* to the frequency area that the currently selected band affects. \n \ntemporarily enable listen mode by holding *alt while dragging* a band." ); atexit((_func_5014 *)&LAB_181a4e430); return; } ############ FUN_ 180467400 size=39 ############ void FUN_180467400(void) { FUN_18049c4e0(&DAT_182674738, "whether or not to use external audio as the source for detecting resonances"); atexit((_func_5014 *)&LAB_181a4e460); return; } ############ FUN_ 180467430 size=39 ############ void FUN_180467430(void) { FUN_18049c4e0(&DAT_1826747b8, "enable the sidechain. when enabled the sidechain signal is used as the source of the analysis" ); atexit((_func_5014 *)&LAB_181a4e490); return; } ############ FUN_ 180467460 size=39 ############ void FUN_180467460(void) { FUN_18049c4e0(&DAT_1826746d0,"listen to the sidechain input"); atexit((_func_5014 *)&LAB_181a4e4c0); return; } ############ FUN_ 180467490 size=39 ############ void FUN_180467490(void) { FUN_18049c4e0(&DAT_1826747c0,"6dB / oct"); atexit((_func_5014 *)&LAB_181a4e4f0); return; } ############ FUN_ 1804674c0 size=39 ############ void FUN_1804674c0(void) { FUN_18049c4e0(&DAT_182674708,"12dB / oct"); atexit((_func_5014 *)&LAB_181a4e520); return; } ############ FUN_ 1804674f0 size=39 ############ void FUN_1804674f0(void) { FUN_18049c4e0(&DAT_1826746e0,"24dB / oct"); atexit((_func_5014 *)&LAB_181a4e550); return; } ############ FUN_ 180467520 size=39 ############ void FUN_180467520(void) { FUN_18049c4e0(&DAT_182674780,"48dB / oct"); atexit((_func_5014 *)&LAB_181a4e580); return; } ############ FUN_ 180467550 size=39 ############ void FUN_180467550(void) { FUN_18049c4e0(&DAT_182674718,"low shelf"); atexit((_func_5014 *)&LAB_181a4e5b0); return; } ############ FUN_ 180467580 size=39 ############ void FUN_180467580(void) { FUN_18049c4e0(&DAT_182674758,"high shelf"); atexit((_func_5014 *)&LAB_181a4e5e0); return; } ############ FUN_ 1804675b0 size=39 ############ void FUN_1804675b0(void) { FUN_18049c4e0(&DAT_182674740,"tilt shelf"); atexit((_func_5014 *)&LAB_181a4e610); return; } ############ FUN_ 1804675e0 size=39 ############ void FUN_1804675e0(void) { FUN_18049c4e0(&DAT_1826746c0,&DAT_1822ed424); atexit((_func_5014 *)&LAB_181a4e640); return; } ############ FUN_ 1804677e0 size=39 ############ void FUN_1804677e0(void) { FUN_18049c4e0(&DAT_1826747d0,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4e670); return; } ############ FUN_ 180467810 size=39 ############ void FUN_180467810(void) { FUN_18049c4e0(&DAT_1826747d8, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4e6a0); return; } ############ FUN_ 180467840 size=39 ############ void FUN_180467840(void) { FUN_18049c4e0(&DAT_1826747f0, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4e6d0); return; } ############ FUN_ 180467870 size=39 ############ void FUN_180467870(void) { FUN_18049c4e0(&DAT_182674800,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4e700); return; } ############ FUN_ 1804678a0 size=39 ############ void FUN_1804678a0(void) { FUN_18049c4e0(&DAT_1826747e0, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4e730); return; } ############ FUN_ 1804678d0 size=39 ############ void FUN_1804678d0(void) { FUN_18049c4e0(&DAT_1826747e8,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4e760); return; } ############ FUN_ 180467910 size=39 ############ void FUN_180467910(void) { FUN_18049c4e0(&DAT_182674810,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4e7d0); return; } ############ FUN_ 180467940 size=39 ############ void FUN_180467940(void) { FUN_18049c4e0(&DAT_182674818, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4e800); return; } ############ FUN_ 180467970 size=39 ############ void FUN_180467970(void) { FUN_18049c4e0(&DAT_182674830, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4e830); return; } ############ FUN_ 1804679a0 size=39 ############ void FUN_1804679a0(void) { FUN_18049c4e0(&DAT_182674948,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4e860); return; } ############ FUN_ 1804679d0 size=39 ############ void FUN_1804679d0(void) { FUN_18049c4e0(&DAT_182674820, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4e890); return; } ############ FUN_ 180467a00 size=39 ############ void FUN_180467a00(void) { FUN_18049c4e0(&DAT_182674828,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4e8c0); return; } ############ FUN_ 180467a30 size=39 ############ void FUN_180467a30(void) { FUN_18049c4e0(&DAT_182674938, "change between *soft* and *hard* detection algorithms.\n\n*soft* mode is more transparent, easier to adjust, and more suited to dynamic material\n\n*hard* mode is more adjustable, can be pushed harder, and reacts more to the level of the material." ); atexit((_func_5014 *)&LAB_181a4e8f0); return; } ############ FUN_ 180467a60 size=39 ############ void FUN_180467a60(void) { FUN_18049c4e0(&DAT_182674838, "change *how much* processing is applied.\n\nhigher values result in bigger cuts."); atexit((_func_5014 *)&LAB_181a4e920); return; } ############ FUN_ 180467a90 size=39 ############ void FUN_180467a90(void) { FUN_18049c4e0(&DAT_1826748a0, "adjust *how sharp* the individual notches are. similar to the q on a typical eq.\n\nhigher values make the notches narrower, but may introduce more artefacts" ); atexit((_func_5014 *)&LAB_181a4e950); return; } ############ FUN_ 180467ac0 size=39 ############ void FUN_180467ac0(void) { FUN_18049c4e0(&DAT_182674920, "adjust *how selective* the process is.\n\n*less selectivity* results in more overall tone-shaping, more effective on noisy sibilance, for example.\n\n*more selectivity* focuses the processing on the narrower peaks." ); atexit((_func_5014 *)&LAB_181a4e980); return; } ############ FUN_ 180467af0 size=39 ############ void FUN_180467af0(void) { FUN_18049c4e0(&DAT_182674918,"adjust *how quickly* the processor *starts to react* to resonances") ; atexit((_func_5014 *)&LAB_181a4e9b0); return; } ############ FUN_ 180467b20 size=39 ############ void FUN_180467b20(void) { FUN_18049c4e0(&DAT_182674850,"adjust *how quickly the notches disappear*"); atexit((_func_5014 *)&LAB_181a4e9e0); return; } ############ FUN_ 180467b50 size=39 ############ void FUN_180467b50(void) { FUN_18049c4e0(&DAT_182674958,"switch between the stereo modes, *left | right* & *mid | side*."); atexit((_func_5014 *)&LAB_181a4ea10); return; } ############ FUN_ 180467b80 size=39 ############ void FUN_180467b80(void) { FUN_18049c4e0(&DAT_182674870, "adjust *how much cross-feed* the resonance detection has between channels\n\nat *100% the sum of both channels* is used to detect the resonances and identical processing is applied to both channels, so the stereo image is not altered. \n\nat *0% the resonances are detected independently* for both channels, often resulting in bigger changes in stereo imaging." ); atexit((_func_5014 *)&LAB_181a4ea40); return; } ############ FUN_ 180467bb0 size=39 ############ void FUN_180467bb0(void) { FUN_18049c4e0(&DAT_182674860, "adjust the master balance of the processing. this changes *how much processing is applied to each channel*.\n\nfor example, on *100% | 50%* the processing is applied as if left (or mid) channel had wet/dry mix of 100% and the right (or side) channel had wet/dry mix of 50%." ); atexit((_func_5014 *)&LAB_181a4ea70); return; } ############ FUN_ 180467be0 size=39 ############ void FUN_180467be0(void) { FUN_18049c4e0(&DAT_1826748d0,""); atexit((_func_5014 *)&LAB_181a4eaa0); return; } ############ FUN_ 180467c10 size=39 ############ void FUN_180467c10(void) { FUN_18049c4e0(&DAT_182674970, "set the *time resolution* of the processing.\n\nthis adjusts the refresh rate of the internal processing.higher settings update the internal filters more frequently, but are more demanding on the cpu." ); atexit((_func_5014 *)&LAB_181a4ead0); return; } ############ FUN_ 180467c40 size=39 ############ void FUN_180467c40(void) { FUN_18049c4e0(&DAT_182674840, "use this to apply different resolution setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session" ); atexit((_func_5014 *)&LAB_181a4eb00); return; } ############ FUN_ 180467c70 size=39 ############ void FUN_180467c70(void) { FUN_18049c4e0(&DAT_1826748d8, "adjust the level of *spectral oversampling*.*higher values* result in a *smoother frequency response* and better accuracy especially at lower frequencies but are more demanding on the cpu" ); atexit((_func_5014 *)&LAB_181a4eb30); return; } ############ FUN_ 180467ca0 size=39 ############ void FUN_180467ca0(void) { FUN_18049c4e0(&DAT_182674848, "use this to apply different oversampling setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session\n\n*eco* mode is a tradeoff when there is very limited performance available" ); atexit((_func_5014 *)&LAB_181a4eb60); return; } ############ FUN_ 180467cd0 size=39 ############ void FUN_180467cd0(void) { FUN_18049c4e0(&DAT_1826748f8,"use *external sidechain input* for the resonance detection"); atexit((_func_5014 *)&LAB_181a4eb90); return; } ############ FUN_ 180467d00 size=39 ############ void FUN_180467d00(void) { FUN_18049c4e0(&DAT_182674880,"*listen* to the external *sidechain input*"); atexit((_func_5014 *)&LAB_181a4ebc0); return; } ############ FUN_ 180467d30 size=39 ############ void FUN_180467d30(void) { FUN_18049c4e0(&DAT_182674908, "change the *balance* between the *dry* and the *processed* signal.\n\n100% is processed only.\n0% is dry only\nthe reduction graph will reflect changes to the wet/dry mix." ); atexit((_func_5014 *)&LAB_181a4ebf0); return; } ############ FUN_ 180467d60 size=39 ############ void FUN_180467d60(void) { FUN_18049c4e0(&DAT_182674898, "add *trim* (or gain) to the wet signal. \ncan be used to bring the *wet signal back to unity gain* when doing a/b comparison, and to *match wet and dry levels*." ); atexit((_func_5014 *)&LAB_181a4ec20); return; } ############ FUN_ 180467d90 size=39 ############ void FUN_180467d90(void) { FUN_18049c4e0(&DAT_1826748a8, "monitor *the difference between wet and dry signals*, i.e. what has changed. when delta is enabled, the mix setting is ignored." ); atexit((_func_5014 *)&LAB_181a4ec50); return; } ############ FUN_ 180467dc0 size=39 ############ void FUN_180467dc0(void) { FUN_18049c4e0(&DAT_1826748c8, "latency-compensated and click-free bypass. \n \n*does not bypass the processing in the background*, so the cpu load will remain the same!" ); atexit((_func_5014 *)&LAB_181a4ec80); return; } ############ FUN_ 180467df0 size=39 ############ void FUN_180467df0(void) { FUN_18049c4e0(&DAT_1826748f0,"center *frequency* of the selected band."); atexit((_func_5014 *)&LAB_181a4ecb0); return; } ############ FUN_ 180467e20 size=39 ############ void FUN_180467e20(void) { FUN_18049c4e0(&DAT_182674910, "*relative amount of processing* applied to the selected frequency band.\n\nhigher values mean more gain reduction or boost (depending on the processing mode, naturally)" ); atexit((_func_5014 *)&LAB_181a4ece0); return; } ############ FUN_ 180467e50 size=39 ############ void FUN_180467e50(void) { FUN_18049c4e0(&DAT_182674950,"sets the *q value* of the selected band."); atexit((_func_5014 *)&LAB_181a4ed10); return; } ############ FUN_ 180467e80 size=39 ############ void FUN_180467e80(void) { FUN_18049c4e0(&DAT_182674940,"adjusts the relative amount each channel is affected by this band.") ; atexit((_func_5014 *)&LAB_181a4ed40); return; } ############ FUN_ 180467eb0 size=39 ############ void FUN_180467eb0(void) { FUN_18049c4e0(&DAT_1826748b8, "*listen button* allows you to monitor delta on a specific frequency band. \n \ndragging the button horizontally changes the center frequency and dragging the button vertically with the modifier key pressed (*cmd* on mac, *ctrl* on windows) changes the bandwidth. \n \ndragging the listen button enables listen mode only for the duration of the drag. listen mode can also be latched and unlatched by clicking this button." ); atexit((_func_5014 *)&LAB_181a4ed70); return; } ############ FUN_ 180467ee0 size=39 ############ void FUN_180467ee0(void) { FUN_18049c4e0(&DAT_182674890, "toggles the selected band on and off from the overall sensitivity curve."); atexit((_func_5014 *)&LAB_181a4eda0); return; } ############ FUN_ 180467f10 size=39 ############ void FUN_180467f10(void) { FUN_18049c4e0(&DAT_182674858, "*listen* to the frequency area that the currently selected band affects. \n \ntemporarily enable listen mode by holding *alt while dragging* a band." ); atexit((_func_5014 *)&LAB_181a4edd0); return; } ############ FUN_ 180467f40 size=39 ############ void FUN_180467f40(void) { FUN_18049c4e0(&DAT_1826748e0, "whether or not to use external audio as the source for detecting resonances"); atexit((_func_5014 *)&LAB_181a4ee00); return; } ############ FUN_ 180467f70 size=39 ############ void FUN_180467f70(void) { FUN_18049c4e0(&DAT_182674960, "enable the sidechain. when enabled the sidechain signal is used as the source of the analysis" ); atexit((_func_5014 *)&LAB_181a4ee30); return; } ############ FUN_ 180467fa0 size=39 ############ void FUN_180467fa0(void) { FUN_18049c4e0(&DAT_182674878,"listen to the sidechain input"); atexit((_func_5014 *)&LAB_181a4ee60); return; } ############ FUN_ 180467fd0 size=39 ############ void FUN_180467fd0(void) { FUN_18049c4e0(&DAT_182674968,"6dB / oct"); atexit((_func_5014 *)&LAB_181a4ee90); return; } ############ FUN_ 180468000 size=39 ############ void FUN_180468000(void) { FUN_18049c4e0(&DAT_1826748b0,"12dB / oct"); atexit((_func_5014 *)&LAB_181a4eec0); return; } ############ FUN_ 180468030 size=39 ############ void FUN_180468030(void) { FUN_18049c4e0(&DAT_182674888,"24dB / oct"); atexit((_func_5014 *)&LAB_181a4eef0); return; } ############ FUN_ 180468060 size=39 ############ void FUN_180468060(void) { FUN_18049c4e0(&DAT_182674928,"48dB / oct"); atexit((_func_5014 *)&LAB_181a4ef20); return; } ############ FUN_ 180468090 size=39 ############ void FUN_180468090(void) { FUN_18049c4e0(&DAT_1826748c0,"low shelf"); atexit((_func_5014 *)&LAB_181a4ef50); return; } ############ FUN_ 1804680c0 size=39 ############ void FUN_1804680c0(void) { FUN_18049c4e0(&DAT_182674900,"high shelf"); atexit((_func_5014 *)&LAB_181a4ef80); return; } ############ FUN_ 1804680f0 size=39 ############ void FUN_1804680f0(void) { FUN_18049c4e0(&DAT_1826748e8,"tilt shelf"); atexit((_func_5014 *)&LAB_181a4efb0); return; } ############ FUN_ 180468120 size=39 ############ void FUN_180468120(void) { FUN_18049c4e0(&DAT_182674868,&DAT_1822fc154); atexit((_func_5014 *)&LAB_181a4efe0); return; } ############ FUN_ 180468150 size=39 ############ void FUN_180468150(void) { FUN_18049c4e0(&DAT_182674980,&DAT_18221eaac); atexit((_func_5014 *)&LAB_181a4f010); return; } ############ FUN_ 180468180 size=39 ############ void FUN_180468180(void) { FUN_18049c4e0(&DAT_182674978,"0482024663950281"); atexit((_func_5014 *)&LAB_181a4f040); return; } ############ FUN_ 1804681d0 size=39 ############ void FUN_1804681d0(void) { FUN_18049c4e0(&DAT_182674988,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4f080); return; } ############ FUN_ 180468200 size=39 ############ void FUN_180468200(void) { FUN_18049c4e0(&DAT_182674990, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4f0b0); return; } ############ FUN_ 180468230 size=39 ############ void FUN_180468230(void) { FUN_18049c4e0(&DAT_1826749a8, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4f0e0); return; } ############ FUN_ 180468260 size=39 ############ void FUN_180468260(void) { FUN_18049c4e0(&DAT_182674ac0,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4f110); return; } ############ FUN_ 180468290 size=39 ############ void FUN_180468290(void) { FUN_18049c4e0(&DAT_182674998, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4f140); return; } ############ FUN_ 1804682c0 size=39 ############ void FUN_1804682c0(void) { FUN_18049c4e0(&DAT_1826749a0,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4f170); return; } ############ FUN_ 1804682f0 size=39 ############ void FUN_1804682f0(void) { FUN_18049c4e0(&DAT_182674ab0, "change between *soft* and *hard* detection algorithms.\n\n*soft* mode is more transparent, easier to adjust, and more suited to dynamic material\n\n*hard* mode is more adjustable, can be pushed harder, and reacts more to the level of the material." ); atexit((_func_5014 *)&LAB_181a4f1a0); return; } ############ FUN_ 180468320 size=39 ############ void FUN_180468320(void) { FUN_18049c4e0(&DAT_1826749b0, "change *how much* processing is applied.\n\nhigher values result in bigger cuts."); atexit((_func_5014 *)&LAB_181a4f1d0); return; } ############ FUN_ 180468350 size=39 ############ void FUN_180468350(void) { FUN_18049c4e0(&DAT_182674a18, "adjust *how sharp* the individual notches are. similar to the q on a typical eq.\n\nhigher values make the notches narrower, but may introduce more artefacts" ); atexit((_func_5014 *)&LAB_181a4f200); return; } ############ FUN_ 180468380 size=39 ############ void FUN_180468380(void) { FUN_18049c4e0(&DAT_182674a98, "adjust *how selective* the process is.\n\n*less selectivity* results in more overall tone-shaping, more effective on noisy sibilance, for example.\n\n*more selectivity* focuses the processing on the narrower peaks." ); atexit((_func_5014 *)&LAB_181a4f230); return; } ############ FUN_ 1804683b0 size=39 ############ void FUN_1804683b0(void) { FUN_18049c4e0(&DAT_182674a90,"adjust *how quickly* the processor *starts to react* to resonances") ; atexit((_func_5014 *)&LAB_181a4f260); return; } ############ FUN_ 1804683e0 size=39 ############ void FUN_1804683e0(void) { FUN_18049c4e0(&DAT_1826749c8,"adjust *how quickly the notches disappear*"); atexit((_func_5014 *)&LAB_181a4f290); return; } ############ FUN_ 180468410 size=39 ############ void FUN_180468410(void) { FUN_18049c4e0(&DAT_182674ad0,"switch between the stereo modes, *left | right* & *mid | side*."); atexit((_func_5014 *)&LAB_181a4f2c0); return; } ############ FUN_ 180468440 size=39 ############ void FUN_180468440(void) { FUN_18049c4e0(&DAT_1826749e8, "adjust *how much cross-feed* the resonance detection has between channels\n\nat *100% the sum of both channels* is used to detect the resonances and identical processing is applied to both channels, so the stereo image is not altered. \n\nat *0% the resonances are detected independently* for both channels, often resulting in bigger changes in stereo imaging." ); atexit((_func_5014 *)&LAB_181a4f2f0); return; } ############ FUN_ 180468470 size=39 ############ void FUN_180468470(void) { FUN_18049c4e0(&DAT_1826749d8, "adjust the master balance of the processing. this changes *how much processing is applied to each channel*.\n\nfor example, on *100% | 50%* the processing is applied as if left (or mid) channel had wet/dry mix of 100% and the right (or side) channel had wet/dry mix of 50%." ); atexit((_func_5014 *)&LAB_181a4f320); return; } ############ FUN_ 1804684a0 size=39 ############ void FUN_1804684a0(void) { FUN_18049c4e0(&DAT_182674a48,&DAT_1821d9236); atexit((_func_5014 *)&LAB_181a4f350); return; } ############ FUN_ 1804684d0 size=39 ############ void FUN_1804684d0(void) { FUN_18049c4e0(&DAT_182674ae8, "set the *time resolution* of the processing.\n\nthis adjusts the refresh rate of the internal processing.higher settings update the internal filters more frequently, but are more demanding on the cpu." ); atexit((_func_5014 *)&LAB_181a4f380); return; } ############ FUN_ 180468500 size=39 ############ void FUN_180468500(void) { FUN_18049c4e0(&DAT_1826749b8, "use this to apply different resolution setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session" ); atexit((_func_5014 *)&LAB_181a4f3b0); return; } ############ FUN_ 180468530 size=39 ############ void FUN_180468530(void) { FUN_18049c4e0(&DAT_182674a50, "adjust the level of *spectral oversampling*.*higher values* result in a *smoother frequency response* and better accuracy especially at lower frequencies but are more demanding on the cpu" ); atexit((_func_5014 *)&LAB_181a4f3e0); return; } ############ FUN_ 180468560 size=39 ############ void FUN_180468560(void) { FUN_18049c4e0(&DAT_1826749c0, "use this to apply different oversampling setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session\n\n*eco* mode is a tradeoff when there is very limited performance available" ); atexit((_func_5014 *)&LAB_181a4f410); return; } ############ FUN_ 180468590 size=39 ############ void FUN_180468590(void) { FUN_18049c4e0(&DAT_182674a70,"use *external sidechain input* for the resonance detection"); atexit((_func_5014 *)&LAB_181a4f440); return; } ############ FUN_ 1804685c0 size=39 ############ void FUN_1804685c0(void) { FUN_18049c4e0(&DAT_1826749f8,"*listen* to the external *sidechain input*"); atexit((_func_5014 *)&LAB_181a4f470); return; } ############ FUN_ 1804685f0 size=39 ############ void FUN_1804685f0(void) { FUN_18049c4e0(&DAT_182674a80, "change the *balance* between the *dry* and the *processed* signal.\n\n100% is processed only.\n0% is dry only\nthe reduction graph will reflect changes to the wet/dry mix." ); atexit((_func_5014 *)&LAB_181a4f4a0); return; } ############ FUN_ 180468620 size=39 ############ void FUN_180468620(void) { FUN_18049c4e0(&DAT_182674a10, "add *trim* (or gain) to the wet signal. \ncan be used to bring the *wet signal back to unity gain* when doing a/b comparison, and to *match wet and dry levels*." ); atexit((_func_5014 *)&LAB_181a4f4d0); return; } ############ FUN_ 180468650 size=39 ############ void FUN_180468650(void) { FUN_18049c4e0(&DAT_182674a20, "monitor *the difference between wet and dry signals*, i.e. what has changed. when delta is enabled, the mix setting is ignored." ); atexit((_func_5014 *)&LAB_181a4f500); return; } ############ FUN_ 180468680 size=39 ############ void FUN_180468680(void) { FUN_18049c4e0(&DAT_182674a40, "latency-compensated and click-free bypass. \n \n*does not bypass the processing in the background*, so the cpu load will remain the same!" ); atexit((_func_5014 *)&LAB_181a4f530); return; } ############ FUN_ 1804686b0 size=39 ############ void FUN_1804686b0(void) { FUN_18049c4e0(&DAT_182674a68,"center *frequency* of the selected band."); atexit((_func_5014 *)&LAB_181a4f560); return; } ############ FUN_ 1804686e0 size=39 ############ void FUN_1804686e0(void) { FUN_18049c4e0(&DAT_182674a88, "*relative amount of processing* applied to the selected frequency band.\n\nhigher values mean more gain reduction or boost (depending on the processing mode, naturally)" ); atexit((_func_5014 *)&LAB_181a4f590); return; } ############ FUN_ 180468710 size=39 ############ void FUN_180468710(void) { FUN_18049c4e0(&DAT_182674ac8,"sets the *q value* of the selected band."); atexit((_func_5014 *)&LAB_181a4f5c0); return; } ############ FUN_ 180468740 size=39 ############ void FUN_180468740(void) { FUN_18049c4e0(&DAT_182674ab8,"adjusts the relative amount each channel is affected by this band.") ; atexit((_func_5014 *)&LAB_181a4f5f0); return; } ############ FUN_ 180468770 size=39 ############ void FUN_180468770(void) { FUN_18049c4e0(&DAT_182674a30, "*listen button* allows you to monitor delta on a specific frequency band. \n \ndragging the button horizontally changes the center frequency and dragging the button vertically with the modifier key pressed (*cmd* on mac, *ctrl* on windows) changes the bandwidth. \n \ndragging the listen button enables listen mode only for the duration of the drag. listen mode can also be latched and unlatched by clicking this button." ); atexit((_func_5014 *)&LAB_181a4f620); return; } ############ FUN_ 1804687a0 size=39 ############ void FUN_1804687a0(void) { FUN_18049c4e0(&DAT_182674a08, "toggles the selected band on and off from the overall sensitivity curve."); atexit((_func_5014 *)&LAB_181a4f650); return; } ############ FUN_ 1804687d0 size=39 ############ void FUN_1804687d0(void) { FUN_18049c4e0(&DAT_1826749d0, "*listen* to the frequency area that the currently selected band affects. \n \ntemporarily enable listen mode by holding *alt while dragging* a band." ); atexit((_func_5014 *)&LAB_181a4f680); return; } ############ FUN_ 180468800 size=39 ############ void FUN_180468800(void) { FUN_18049c4e0(&DAT_182674a58, "whether or not to use external audio as the source for detecting resonances"); atexit((_func_5014 *)&LAB_181a4f6b0); return; } ############ FUN_ 180468830 size=39 ############ void FUN_180468830(void) { FUN_18049c4e0(&DAT_182674ad8, "enable the sidechain. when enabled the sidechain signal is used as the source of the analysis" ); atexit((_func_5014 *)&LAB_181a4f6e0); return; } ############ FUN_ 180468860 size=39 ############ void FUN_180468860(void) { FUN_18049c4e0(&DAT_1826749f0,"listen to the sidechain input"); atexit((_func_5014 *)&LAB_181a4f710); return; } ############ FUN_ 180468890 size=39 ############ void FUN_180468890(void) { FUN_18049c4e0(&DAT_182674ae0,"6dB / oct"); atexit((_func_5014 *)&LAB_181a4f740); return; } ############ FUN_ 1804688c0 size=39 ############ void FUN_1804688c0(void) { FUN_18049c4e0(&DAT_182674a28,"12dB / oct"); atexit((_func_5014 *)&LAB_181a4f770); return; } ############ FUN_ 1804688f0 size=39 ############ void FUN_1804688f0(void) { FUN_18049c4e0(&DAT_182674a00,"24dB / oct"); atexit((_func_5014 *)&LAB_181a4f7a0); return; } ############ FUN_ 180468920 size=39 ############ void FUN_180468920(void) { FUN_18049c4e0(&DAT_182674aa0,"48dB / oct"); atexit((_func_5014 *)&LAB_181a4f7d0); return; } ############ FUN_ 180468950 size=39 ############ void FUN_180468950(void) { FUN_18049c4e0(&DAT_182674a38,"low shelf"); atexit((_func_5014 *)&LAB_181a4f800); return; } ############ FUN_ 180468980 size=39 ############ void FUN_180468980(void) { FUN_18049c4e0(&DAT_182674a78,"high shelf"); atexit((_func_5014 *)&LAB_181a4f830); return; } ############ FUN_ 1804689b0 size=39 ############ void FUN_1804689b0(void) { FUN_18049c4e0(&DAT_182674a60,"tilt shelf"); atexit((_func_5014 *)&LAB_181a4f860); return; } ############ FUN_ 1804689e0 size=39 ############ void FUN_1804689e0(void) { FUN_18049c4e0(&DAT_1826749e0,&DAT_1822fe4f4); atexit((_func_5014 *)&LAB_181a4f890); return; } ############ FUN_ 180468a10 size=39 ############ void FUN_180468a10(void) { FUN_18049c4e0(&DAT_182674af0,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4f8c0); return; } ############ FUN_ 180468a40 size=39 ############ void FUN_180468a40(void) { FUN_18049c4e0(&DAT_182674af8, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4f8f0); return; } ############ FUN_ 180468a70 size=39 ############ void FUN_180468a70(void) { FUN_18049c4e0(&DAT_182674b10, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4f920); return; } ############ FUN_ 180468aa0 size=39 ############ void FUN_180468aa0(void) { FUN_18049c4e0(&DAT_182674b20,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4f950); return; } ############ FUN_ 180468ad0 size=39 ############ void FUN_180468ad0(void) { FUN_18049c4e0(&DAT_182674b00, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4f980); return; } ############ FUN_ 180468b00 size=39 ############ void FUN_180468b00(void) { FUN_18049c4e0(&DAT_182674b08,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4f9b0); return; } ############ FUN_ 180468b30 size=39 ############ void FUN_180468b30(void) { FUN_18049c4e0(&DAT_182674b28,"pluginVersion"); atexit((_func_5014 *)&LAB_181a4f9e0); return; } ############ FUN_ 180468b60 size=39 ############ void FUN_180468b60(void) { FUN_18049c4e0(&DAT_182674b30, "*switches between two different states*, i.e. all the parameter values. useful for comparing and deciding between two similar settings." ); atexit((_func_5014 *)&LAB_181a4fa10); return; } ############ FUN_ 180468b90 size=39 ############ void FUN_180468b90(void) { FUN_18049c4e0(&DAT_182674b48, "*copies the currently active settings* (a or b) parameter states to the other setting, overwriting what was already there." ); atexit((_func_5014 *)&LAB_181a4fa40); return; } ############ FUN_ 180468bc0 size=39 ############ void FUN_180468bc0(void) { FUN_18049c4e0(&DAT_182674c58,"opens the global configuration options."); atexit((_func_5014 *)&LAB_181a4fa70); return; } ############ FUN_ 180468bf0 size=39 ############ void FUN_180468bf0(void) { FUN_18049c4e0(&DAT_182674b38, "*changes the size of the gui*.\nif a particular larger size would be too large for the screen, the size won\'t be changed." ); atexit((_func_5014 *)&LAB_181a4faa0); return; } ############ FUN_ 180468c20 size=39 ############ void FUN_180468c20(void) { FUN_18049c4e0(&DAT_182674b40,"toggle to *always hide* the selected band controls."); atexit((_func_5014 *)&LAB_181a4fad0); return; } ############ FUN_ 180468c50 size=39 ############ void FUN_180468c50(void) { FUN_18049c4e0(&DAT_182674c48, "change between *soft* and *hard* detection algorithms.\n\n*soft* mode is more transparent, easier to adjust, and more suited to dynamic material\n\n*hard* mode is more adjustable, can be pushed harder, and reacts more to the level of the material." ); atexit((_func_5014 *)&LAB_181a4fb00); return; } ############ FUN_ 180468c80 size=39 ############ void FUN_180468c80(void) { FUN_18049c4e0(&DAT_182674b50, "change *how much* processing is applied.\n\nhigher values result in bigger cuts."); atexit((_func_5014 *)&LAB_181a4fb30); return; } ############ FUN_ 180468cb0 size=39 ############ void FUN_180468cb0(void) { FUN_18049c4e0(&DAT_182674bb8, "adjust *how sharp* the individual notches are. similar to the q on a typical eq.\n\nhigher values make the notches narrower, but may introduce more artefacts" ); atexit((_func_5014 *)&LAB_181a4fb60); return; } ############ FUN_ 180468ce0 size=39 ############ void FUN_180468ce0(void) { FUN_18049c4e0(&DAT_182674c38, "adjust *how selective* the process is.\n\n*less selectivity* results in more overall tone-shaping, more effective on noisy sibilance, for example.\n\n*more selectivity* focuses the processing on the narrower peaks." ); atexit((_func_5014 *)&LAB_181a4fb90); return; } ############ FUN_ 180468d10 size=39 ############ void FUN_180468d10(void) { FUN_18049c4e0(&DAT_182674c30,"adjust *how quickly* the processor *starts to react* to resonances") ; atexit((_func_5014 *)&LAB_181a4fbc0); return; } ############ FUN_ 180468d40 size=39 ############ void FUN_180468d40(void) { FUN_18049c4e0(&DAT_182674b68,"adjust *how quickly the notches disappear*"); atexit((_func_5014 *)&LAB_181a4fbf0); return; } ############ FUN_ 180468d70 size=39 ############ void FUN_180468d70(void) { FUN_18049c4e0(&DAT_182674c68,"switch between the stereo modes, *left | right* & *mid | side*."); atexit((_func_5014 *)&LAB_181a4fc20); return; } ############ FUN_ 180468da0 size=39 ############ void FUN_180468da0(void) { FUN_18049c4e0(&DAT_182674b88, "adjust *how much cross-feed* the resonance detection has between channels\n\nat *100% the sum of both channels* is used to detect the resonances and identical processing is applied to both channels, so the stereo image is not altered. \n\nat *0% the resonances are detected independently* for both channels, often resulting in bigger changes in stereo imaging." ); atexit((_func_5014 *)&LAB_181a4fc50); return; } ############ FUN_ 180468dd0 size=39 ############ void FUN_180468dd0(void) { FUN_18049c4e0(&DAT_182674b78, "adjust the master balance of the processing. this changes *how much processing is applied to each channel*.\n\nfor example, on *100% | 50%* the processing is applied as if left (or mid) channel had wet/dry mix of 100% and the right (or side) channel had wet/dry mix of 50%." ); atexit((_func_5014 *)&LAB_181a4fc80); return; } ############ FUN_ 180468e00 size=39 ############ void FUN_180468e00(void) { FUN_18049c4e0(&DAT_182674be8,&DAT_1821d9246); atexit((_func_5014 *)&LAB_181a4fcb0); return; } ############ FUN_ 180468e30 size=39 ############ void FUN_180468e30(void) { FUN_18049c4e0(&DAT_182674c80, "set the *time resolution* of the processing.\n\nthis adjusts the refresh rate of the internal processing.higher settings update the internal filters more frequently, but are more demanding on the cpu." ); atexit((_func_5014 *)&LAB_181a4fce0); return; } ############ FUN_ 180468e60 size=39 ############ void FUN_180468e60(void) { FUN_18049c4e0(&DAT_182674b58, "use this to apply different resolution setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session" ); atexit((_func_5014 *)&LAB_181a4fd10); return; } ############ FUN_ 180468e90 size=39 ############ void FUN_180468e90(void) { FUN_18049c4e0(&DAT_182674bf0, "adjust the level of *spectral oversampling*.*higher values* result in a *smoother frequency response* and better accuracy especially at lower frequencies but are more demanding on the cpu" ); atexit((_func_5014 *)&LAB_181a4fd40); return; } ############ FUN_ 180468ec0 size=39 ############ void FUN_180468ec0(void) { FUN_18049c4e0(&DAT_182674b60, "use this to apply different oversampling setting for the offline renders and bounces.\n\nwith this, you can run the real-time audio with lower settings for reference, while still doing the final renders with higher settings.\n\nuse \"copy to all plug-in instances\" to copy the currently selected setting to instances in the current session\n\n*eco* mode is a tradeoff when there is very limited performance available" ); atexit((_func_5014 *)&LAB_181a4fd70); return; } ############ FUN_ 180468ef0 size=39 ############ void FUN_180468ef0(void) { FUN_18049c4e0(&DAT_182674c10,"use *external sidechain input* for the resonance detection"); atexit((_func_5014 *)&LAB_181a4fda0); return; } ############ FUN_ 180468f20 size=39 ############ void FUN_180468f20(void) { FUN_18049c4e0(&DAT_182674b98,"*listen* to the external *sidechain input*"); atexit((_func_5014 *)&LAB_181a4fdd0); return; } ############ FUN_ 180468f50 size=39 ############ void FUN_180468f50(void) { FUN_18049c4e0(&DAT_182674c20, "change the *balance* between the *dry* and the *processed* signal.\n\n100% is processed only.\n0% is dry only\nthe reduction graph will reflect changes to the wet/dry mix." ); atexit((_func_5014 *)&LAB_181a4fe00); return; } ############ FUN_ 180468f80 size=39 ############ void FUN_180468f80(void) { FUN_18049c4e0(&DAT_182674bb0, "add *trim* (or gain) to the wet signal. \ncan be used to bring the *wet signal back to unity gain* when doing a/b comparison, and to *match wet and dry levels*." ); atexit((_func_5014 *)&LAB_181a4fe30); return; } ############ FUN_ 180468fb0 size=39 ############ void FUN_180468fb0(void) { FUN_18049c4e0(&DAT_182674bc0, "monitor *the difference between wet and dry signals*, i.e. what has changed. when delta is enabled, the mix setting is ignored." ); atexit((_func_5014 *)&LAB_181a4fe60); return; } ############ FUN_ 180468fe0 size=39 ############ void FUN_180468fe0(void) { FUN_18049c4e0(&DAT_182674be0, "latency-compensated and click-free bypass. \n \n*does not bypass the processing in the background*, so the cpu load will remain the same!" ); atexit((_func_5014 *)&LAB_181a4fe90); return; } ############ FUN_ 180469010 size=39 ############ void FUN_180469010(void) { FUN_18049c4e0(&DAT_182674c08,"center *frequency* of the selected band."); atexit((_func_5014 *)&LAB_181a4fec0); return; } ############ FUN_ 180469040 size=39 ############ void FUN_180469040(void) { FUN_18049c4e0(&DAT_182674c28, "*relative amount of processing* applied to the selected frequency band.\n\nhigher values mean more gain reduction or boost (depending on the processing mode, naturally)" ); atexit((_func_5014 *)&LAB_181a4fef0); return; } ############ FUN_ 180469070 size=39 ############ void FUN_180469070(void) { FUN_18049c4e0(&DAT_182674c60,"sets the *q value* of the selected band."); atexit((_func_5014 *)&LAB_181a4ff20); return; } ############ FUN_ 1804690a0 size=39 ############ void FUN_1804690a0(void) { FUN_18049c4e0(&DAT_182674c50,"adjusts the relative amount each channel is affected by this band.") ; atexit((_func_5014 *)&LAB_181a4ff50); return; } ############ FUN_ 1804690d0 size=39 ############ void FUN_1804690d0(void) { FUN_18049c4e0(&DAT_182674bd0, "*listen button* allows you to monitor delta on a specific frequency band. \n \ndragging the button horizontally changes the center frequency and dragging the button vertically with the modifier key pressed (*cmd* on mac, *ctrl* on windows) changes the bandwidth. \n \ndragging the listen button enables listen mode only for the duration of the drag. listen mode can also be latched and unlatched by clicking this button." ); atexit((_func_5014 *)&LAB_181a4ff80); return; } ############ FUN_ 180469100 size=39 ############ void FUN_180469100(void) { FUN_18049c4e0(&DAT_182674ba8, "toggles the selected band on and off from the overall sensitivity curve."); atexit((_func_5014 *)&LAB_181a4ffb0); return; } ############ FUN_ 180469130 size=39 ############ void FUN_180469130(void) { FUN_18049c4e0(&DAT_182674b70, "*listen* to the frequency area that the currently selected band affects. \n \ntemporarily enable listen mode by holding *alt while dragging* a band." ); atexit((_func_5014 *)&LAB_181a4ffe0); return; } ############ FUN_ 180469160 size=39 ############ void FUN_180469160(void) { FUN_18049c4e0(&DAT_182674bf8, "whether or not to use external audio as the source for detecting resonances"); atexit((_func_5014 *)&LAB_181a50010); return; } ############ FUN_ 180469190 size=39 ############ void FUN_180469190(void) { FUN_18049c4e0(&DAT_182674c70, "enable the sidechain. when enabled the sidechain signal is used as the source of the analysis" ); atexit((_func_5014 *)&LAB_181a50040); return; } ############ FUN_ 1804691c0 size=39 ############ void FUN_1804691c0(void) { FUN_18049c4e0(&DAT_182674b90,"listen to the sidechain input"); atexit((_func_5014 *)&LAB_181a50070); return; } ############ FUN_ 1804691f0 size=39 ############ void FUN_1804691f0(void) { FUN_18049c4e0(&DAT_182674c78,"6dB / oct"); atexit((_func_5014 *)&LAB_181a500a0); return; } ############ FUN_ 180469220 size=39 ############ void FUN_180469220(void) { FUN_18049c4e0(&DAT_182674bc8,"12dB / oct"); atexit((_func_5014 *)&LAB_181a500d0); return; } ############ FUN_ 180469250 size=39 ############ void FUN_180469250(void) { FUN_18049c4e0(&DAT_182674ba0,"24dB / oct"); atexit((_func_5014 *)&LAB_181a50100); return; } ############ FUN_ 180469280 size=39 ############ void FUN_180469280(void) { FUN_18049c4e0(&DAT_182674c40,"48dB / oct"); atexit((_func_5014 *)&LAB_181a50130); return; } ############ FUN_ 1804692b0 size=39 ############ void FUN_1804692b0(void) { FUN_18049c4e0(&DAT_182674bd8,"low shelf"); atexit((_func_5014 *)&LAB_181a50160); return; } ############ FUN_ 1804692e0 size=39 ############ void FUN_1804692e0(void) { FUN_18049c4e0(&DAT_182674c18,"high shelf"); atexit((_func_5014 *)&LAB_181a50190); return; } ############ FUN_ 180469310 size=39 ############ void FUN_180469310(void) { FUN_18049c4e0(&DAT_182674c00,"tilt shelf"); atexit((_func_5014 *)&LAB_181a501c0); return; } ############ FUN_ 180469340 size=39 ############ void FUN_180469340(void) { FUN_18049c4e0(&DAT_182674b80,&DAT_182300284); atexit((_func_5014 *)&LAB_181a501f0); return; } ############ FUN_ 180474610 size=547 ############ undefined8 FUN_180474610(longlong param_1,int param_2,undefined4 *param_3) { longlong lVar1; int iVar2; undefined4 uVar3; longlong *plVar4; uint uVar5; uint *puVar6; longlong local_res20; longlong local_28; longlong local_20 [2]; undefined4 *local_10; local_20[1] = 0xfffffffffffffffe; if (param_2 != 0) { if ((*(uint *)(param_1 + 0x8c) <= param_2 - 1U) || (lVar1 = *(longlong *)(*(longlong *)(param_1 + 0x80) + (longlong)(int)(param_2 - 1U) * 8), lVar1 == 0)) { return 1; } uVar3 = FUN_180474b90(lVar1); *param_3 = uVar3; uVar3 = FUN_180474b90(*(undefined8 *)(lVar1 + 0x28)); param_3[1] = uVar3; param_3[0x42] = 0xffffffff; local_20[0] = *(longlong *)(lVar1 + 8); puVar6 = (uint *)(local_20[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); *puVar6 = *puVar6 + 1; UNLOCK(); } FUN_1804741b0(param_3 + 2,local_20); if ((*puVar6 & 0x30000000) != 0) { return 0; } LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 != 0) { return 0; } /* WARNING: Subroutine does not return */ free(puVar6); } *param_3 = 0; param_3[1] = 0xffffffff; param_3[0x42] = 0xffffffff; FUN_18049c4e0(&local_res20,"Root Unit"); lVar1 = DAT_1826739f8; local_10 = &DAT_182673984; do { LOCK(); uVar5 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar5 != 0); if (DAT_1826739f8 == 0) { local_28 = local_res20; uVar5 = *(uint *)(local_res20 + -0x10); } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) != 0) && (iVar2 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res20,*(undefined1 *)(DAT_1826739f8 + 0x38) ,0), iVar2 < 0)) { FUN_181234570(*(undefined8 *)(lVar1 + 0x40),&local_28,&local_res20,&local_res20); goto LAB_18047471e; } iVar2 = FUN_1812498b0(lVar1 + 0x18,local_res20,*(undefined1 *)(lVar1 + 0x38),0); if (iVar2 < 0) { local_28 = local_res20; uVar5 = *(uint *)(local_res20 + -0x10); } else { plVar4 = (longlong *)FUN_181249970(lVar1 + 0x28,iVar2); local_28 = *plVar4; uVar5 = *(uint *)(local_28 + -0x10); } } if ((uVar5 & 0x30000000) == 0) { LOCK(); *(int *)(local_28 + -0x10) = *(int *)(local_28 + -0x10) + 1; UNLOCK(); } LAB_18047471e: LOCK(); DAT_182673984 = 0; UNLOCK(); puVar6 = (uint *)(local_res20 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } FUN_1804741b0(param_3 + 2,&local_28); puVar6 = (uint *)(local_28 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return 0; } ############ FUN_ 180476770 size=435 ############ undefined8 FUN_180476770(longlong param_1,int param_2,undefined4 *param_3,undefined8 param_4) { longlong lVar1; int iVar2; longlong *plVar3; uint uVar4; uint *puVar5; longlong local_res8; longlong local_res20; undefined8 uVar6; undefined4 *puVar7; uVar6 = 0xfffffffffffffffe; if (*(longlong **)(param_1 + 0x20) != (longlong *)0x0) { /* WARNING: Could not recover jumptable at 0x0001804767a8. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar6 = (**(code **)(**(longlong **)(param_1 + 0x20) + 0x20))(); return uVar6; } if (param_2 != 0) { memset(param_3,0,0x10c); return 1; } *param_3 = 0; param_3[1] = 0xffffffff; param_3[0x42] = 0xffffffff; FUN_18049c4e0(&local_res8,"Root Unit",param_3,param_4,0xfffffffffffffffe); lVar1 = DAT_1826739f8; puVar7 = &DAT_182673984; do { LOCK(); uVar4 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar4 != 0); if (DAT_1826739f8 == 0) { local_res20 = local_res8; uVar4 = *(uint *)(local_res8 + -0x10); } else { if (*(longlong *)(DAT_1826739f8 + 0x40) != 0) { iVar2 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res8,*(undefined1 *)(DAT_1826739f8 + 0x38),0, uVar6,&DAT_182673984); if (iVar2 < 0) { FUN_181234570(*(undefined8 *)(lVar1 + 0x40),&local_res20,&local_res8,&local_res8); goto LAB_180476895; } } iVar2 = FUN_1812498b0(lVar1 + 0x18,local_res8,*(undefined1 *)(lVar1 + 0x38),0,uVar6,puVar7); if (iVar2 < 0) { local_res20 = local_res8; uVar4 = *(uint *)(local_res8 + -0x10); } else { plVar3 = (longlong *)FUN_181249970(lVar1 + 0x28,iVar2); local_res20 = *plVar3; uVar4 = *(uint *)(local_res20 + -0x10); } } if ((uVar4 & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } LAB_180476895: LOCK(); DAT_182673984 = 0; UNLOCK(); puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_1804741b0(param_3 + 2,&local_res20); puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return 0; } ############ FUN_ 18124a4b0 size=236 ############ undefined8 * FUN_18124a4b0(undefined8 *param_1,size_t param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; void *pvVar2; undefined1 local_20 [24]; *param_1 = juce::OutputStream::vftable; FUN_18049c4e0(param_1 + 1,&DAT_182496878,param_3,param_4,0xfffffffffffffffe); *param_1 = juce::MemoryOutputStream::vftable; puVar1 = param_1 + 3; param_1[2] = puVar1; *puVar1 = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; if (param_1[4] != param_2) { pvVar2 = (void *)*puVar1; if (param_2 == 0) { /* WARNING: Subroutine does not return */ free(pvVar2); } if (pvVar2 == (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)0x0); } if (pvVar2 == (void *)0x0) { pvVar2 = malloc(param_2); } else { pvVar2 = realloc(pvVar2,param_2); } *puVar1 = pvVar2; if (pvVar2 == (void *)0x0) { FUN_1804719e0(local_20); /* WARNING: Subroutine does not return */ _CxxThrowException(local_20,(ThrowInfo *)&DAT_1825fec68); } param_1[4] = param_2; } return param_1; } ############ FUN_ 180484030 size=130 ############ undefined8 * FUN_180484030(undefined8 *param_1,undefined8 param_2) { uint uVar1; bool bVar2; undefined8 *local_res8; local_res8 = param_1; FUN_18049c4e0(&local_res8,"TutorialOption"); *param_1 = ProcessorStateOption::vftable; param_1[1] = local_res8; param_1[2] = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = TutorialOption::vftable; return param_1; } ############ FUN_ 1804843b0 size=33 ############ undefined8 FUN_1804843b0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"UserDefaultPresetOption"); return param_2; } ############ FUN_ 180484970 size=401 ############ longlong * FUN_180484970(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; uint *puVar3; char *pcVar4; longlong *plVar5; int iVar6; longlong local_res8; longlong *local_res10; longlong local_res18; longlong *local_res20; iVar6 = *(int *)(param_1 + 1); local_res10 = param_2; if (iVar6 == 0) { pcVar4 = "down"; iVar6 = 0; } else if (iVar6 == 1) { pcVar4 = "up"; iVar6 = 0; } else if (iVar6 == 2) { pcVar4 = "move"; iVar6 = 0; } else { iVar6 = iVar6 + -3; if (iVar6 == 0) { pcVar4 = "drag"; } else { plVar5 = param_2; if (iVar6 != 1) goto LAB_1804849f9; pcVar4 = "double_click"; } } FUN_18049c4e0(&local_res8,pcVar4,iVar6,param_4,0,0xfffffffffffffffe); plVar5 = &local_res8; LAB_1804849f9: FUN_18049c4e0(&local_res18,&DAT_182495df0); local_res20 = &local_res18; *param_2 = (longlong)&DAT_1821dbf98; uVar2 = FUN_181245ee0(param_2,*param_1); uVar2 = FUN_181232d30(uVar2,&local_res18); uVar2 = FUN_181232d30(uVar2,plVar5); uVar2 = FUN_181232d30(uVar2,&local_res18); uVar2 = FUN_181245f80(uVar2,*(undefined4 *)((longlong)param_1 + 0xc)); uVar2 = FUN_181232d30(uVar2,&local_res18); uVar2 = FUN_181245f80(uVar2,*(undefined4 *)(param_1 + 2)); uVar2 = FUN_181232d30(uVar2,&local_res18); uVar2 = FUN_181245f80(uVar2,*(undefined4 *)((longlong)param_1 + 0x14)); uVar2 = FUN_181232d30(uVar2,&local_res18); FUN_181232d30(uVar2,param_1 + 3); puVar3 = (uint *)(local_res18 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(local_res8 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } return param_2; } ############ FUN_ 1811e4400 size=182 ############ undefined8 * FUN_1811e4400(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; bool bVar2; undefined8 local_res10; longlong local_res18; FUN_18049c4e0(&local_res10,"AorBStateOption",param_3,param_4,0xfffffffffffffffe); *param_1 = ProcessorStateOption::vftable; param_1[1] = local_res10; param_1[2] = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = AorBStateOption::vftable; local_res18 = param_1[1]; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } FUN_1811efc90(param_2,&local_res18); return param_1; } ############ FUN_ 1811e4590 size=182 ############ undefined8 * FUN_1811e4590(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; bool bVar2; undefined8 local_res10; longlong local_res18; FUN_18049c4e0(&local_res10,"PresetNameOption",param_3,param_4,0xfffffffffffffffe); *param_1 = ProcessorStateOption::vftable; param_1[1] = local_res10; param_1[2] = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = PresetNameOption::vftable; local_res18 = param_1[1]; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } FUN_1811efc90(param_2,&local_res18); return param_1; } ############ FUN_ 18048b760 size=208 ############ undefined8 * FUN_18048b760(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; uint *_Memory; longlong local_res10; longlong *local_res18; FUN_18049c4e0(&local_res10,&DAT_1821d9564,param_3,param_4,0,0xfffffffffffffffe); local_res18 = &local_res10; *param_1 = &DAT_1821dbf98; uVar2 = FUN_181232d30(param_1,param_2); uVar2 = FUN_181232d30(uVar2,&local_res10); uVar2 = FUN_181232d30(uVar2,param_3); uVar2 = FUN_181232d30(uVar2,&local_res10); FUN_181232d30(uVar2,param_4); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 181184390 size=186 ############ undefined8 * FUN_181184390(undefined8 *param_1,longlong *param_2,undefined1 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; uint *_Memory; *param_1 = Preset::vftable; param_1[1] = 0; param_1[2] = &DAT_1821dbf98; FUN_18049c4e0(param_1 + 3,&DAT_1821d8e3f,param_3,param_4,0xfffffffffffffffe); lVar2 = *param_2; param_1[4] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } *(undefined1 *)(param_1 + 5) = param_3; param_1[6] = 0; param_1[7] = 0; FUN_18117f810(param_1); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 18116af90 size=1253 ############ /* WARNING: Removing unreachable block (ram,0x00018116b0cd) */ /* WARNING: Removing unreachable block (ram,0x00018116b00f) */ /* WARNING: Removing unreachable block (ram,0x00018116b028) */ /* WARNING: Removing unreachable block (ram,0x00018116b0ec) */ void FUN_18116af90(longlong param_1) { uint uVar1; uint *puVar2; undefined8 in_R11; int unaff_retaddr; undefined1 auStack_1e8 [32]; longlong *local_1c8; undefined *local_1b8; undefined8 local_1b0; undefined4 local_1a4; undefined *local_198; undefined4 local_188; undefined8 local_160; undefined8 local_158; uint local_148 [6]; undefined4 local_130; longlong local_128 [11]; longlong local_d0; undefined8 local_98; ulonglong local_38; local_98 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_1e8; local_1a4 = 0; local_188 = 4000; local_130 = 0xf80; local_d0 = param_1; FUN_18049c4e0(local_128,&DAT_1821d9534); local_160 = 0; local_158 = 0; local_1a4 = 2; local_1c8 = local_128; FUN_181240a50(param_1 + 0x30,&local_160,7); FUN_1804951e0(local_128[0] + -0x10); do { puVar2 = local_148; FUN_18116adbd(); *puVar2 = 0xcad78885; uVar1 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar1 < 0) { uVar1 = (uVar1 - 1 | 0xfffffffe) + 1; } } while (uVar1 != 0); uVar1 = ~(~local_148[0] ^ 0x3b523cc0) + 0x4993ffcb; uVar1 = (uVar1 >> 0x1e | uVar1 * 4) ^ 0xb816fa25; uVar1 = (uVar1 << 0x1c | uVar1 >> 4) ^ 0xd4ddf9a; local_1b0 = 0; local_1b8 = &DAT_180a8261c; local_198 = &DAT_180a847f4; FUN_18116d2ce(&DAT_180a847f4,4,0xb944f138,0xd7125edc,&LAB_18116c2b9,&LAB_18116c438,&LAB_181164e85, &DAT_18116b4cd,0x180000000,in_R11,uVar1 << 0x1d | uVar1 >> 3); return; } ############ FUN_ 1812258f0 size=501 ############ undefined8 * FUN_1812258f0(longlong param_1,undefined8 *param_2,char *param_3) { int *_Memory; byte bVar1; byte bVar2; byte bVar3; char cVar4; int iVar5; longlong lVar6; void *_Memory_00; byte *pbVar7; undefined8 local_res8; undefined8 local_38; undefined8 local_30; longlong local_28; longlong local_20; longlong local_18; *(char **)(param_1 + 8) = param_3; *(undefined2 *)(param_1 + 0x10) = 0; *(undefined1 *)(param_1 + 0x38) = 1; if (*param_3 == '\0') { FUN_18049c4e0(&local_res8,"not enough input"); lVar6 = *(longlong *)(param_1 + 0x18); local_28 = lVar6; } else { FUN_181224ea0(); iVar5 = FUN_18049d4b0(*(undefined8 *)(param_1 + 8),"> 1; bVar2 = bVar1 & bVar3; } } iVar5 = FUN_18049d4b0(pbVar7,&DAT_1821db26c,2); } if (*pbVar7 == 0) { LAB_181225a60: FUN_18049c4e0(&local_38,"malformed header"); lVar6 = *(longlong *)(param_1 + 0x18); local_res8 = local_38; local_20 = lVar6; goto LAB_181225a33; } iVar5 = 1; do { bVar1 = *pbVar7; pbVar7 = pbVar7 + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar7 = pbVar7 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } iVar5 = iVar5 + -1; } while (-1 < iVar5); *(byte **)(param_1 + 8) = pbVar7; FUN_181224ea0(param_1); } cVar4 = FUN_1812254c0(param_1); if (cVar4 != '\0') { FUN_181234400(param_1 + 0x18); _Memory_00 = (void *)FUN_181224610(param_1,1); if (*(char *)(param_1 + 0x11) == '\0') { *param_2 = _Memory_00; return param_2; } if (_Memory_00 != (void *)0x0) { FUN_1812472e0(_Memory_00); /* WARNING: Subroutine does not return */ free(_Memory_00); } goto LAB_181225acd; } FUN_18049c4e0(&local_30,"malformed DTD"); lVar6 = *(longlong *)(param_1 + 0x18); local_res8 = local_30; local_18 = lVar6; } LAB_181225a33: *(undefined8 *)(param_1 + 0x18) = local_res8; _Memory = (int *)(lVar6 + -0x10); if ((*(uint *)(lVar6 + -0x10) & 0x30000000) == 0) { LOCK(); iVar5 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar5 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } LAB_181225acd: *param_2 = 0; return param_2; } ############ FUN_ 1812237a0 size=3670 ############ void FUN_1812237a0(longlong param_1,longlong param_2) { int *piVar1; byte bVar2; undefined1 uVar3; longlong *plVar4; byte bVar5; uint uVar6; int iVar7; byte *pbVar8; undefined8 uVar9; longlong *plVar10; uint *puVar11; byte *pbVar12; byte bVar13; int iVar14; longlong lVar15; longlong *plVar16; uint uVar17; ulonglong uVar18; ulonglong uVar19; bool bVar20; byte *local_res10; longlong local_res18; byte *local_res20; longlong local_e8; longlong local_e0; longlong local_d8; longlong local_d0; longlong local_c8; byte *local_c0; longlong local_b8 [2]; longlong local_a8 [2]; longlong *local_98; longlong local_80; ulonglong local_70; undefined8 local_58; local_58 = 0xfffffffffffffffe; pbVar8 = *(byte **)(param_1 + 8); FUN_181224ea0(); uVar19 = 1; plVar16 = (longlong *)(param_2 + 8); LAB_1812237e1: do { if (*(char *)(param_1 + 0x10) != '\0') { FUN_18049c4e0(&local_c8,"unmatched tags"); if ((*(uint *)(local_c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_c8 + -0x10) = *(int *)(local_c8 + -0x10) + 1; UNLOCK(); } LOCK(); lVar15 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_c8; UNLOCK(); puVar11 = (uint *)(lVar15 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } *(undefined1 *)(param_1 + 0x11) = 1; if ((*(uint *)(local_c8 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_c8 + -0x10); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_c8 + -0x10)); } } return; } bVar2 = **(byte **)(param_1 + 8); uVar17 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar6 = 0x40; iVar14 = 0; uVar17 = 0x7f; if ((bVar2 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar17 = uVar17 >> 1; iVar14 = iVar14 + 1; uVar6 = uVar6 >> 1; } while ((bVar2 & uVar6) != 0); } uVar17 = bVar2 & uVar17; if (0 < iVar14) { uVar18 = uVar19; do { bVar2 = (*(byte **)(param_1 + 8))[uVar18]; if ((bVar2 & 0xc0) != 0x80) break; uVar17 = bVar2 & 0x3f | uVar17 << 6; uVar18 = uVar18 + 1; } while ((longlong)uVar18 <= (longlong)iVar14); } } if (uVar17 != 0x3c) { *(byte **)(param_1 + 8) = pbVar8; FUN_18124a4b0(local_a8); bVar20 = *(char *)(param_1 + 0x39) == '\0'; LAB_181223d70: bVar2 = **(byte **)(param_1 + 8); uVar17 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar6 = 0x40; iVar14 = 0; uVar17 = 0x7f; if ((bVar2 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar17 = uVar17 >> 1; iVar14 = iVar14 + 1; uVar6 = uVar6 >> 1; } while ((bVar2 & uVar6) != 0); } uVar17 = bVar2 & uVar17; if (0 < iVar14) { uVar18 = uVar19; do { bVar2 = (*(byte **)(param_1 + 8))[uVar18]; if ((bVar2 & 0xc0) != 0x80) break; uVar17 = bVar2 & 0x3f | uVar17 << 6; uVar18 = uVar18 + 1; } while ((longlong)uVar18 <= (longlong)iVar14); } } if (uVar17 != 0x3c) { if (uVar17 == 0) { FUN_18049c4e0(&local_d0,"unmatched tags"); if ((*(uint *)(local_d0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d0 + -0x10) = *(int *)(local_d0 + -0x10) + 1; UNLOCK(); } LOCK(); lVar15 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_d0; UNLOCK(); puVar11 = (uint *)(lVar15 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } *(undefined1 *)(param_1 + 0x11) = 1; uVar17 = *(uint *)(local_d0 + -0x10); local_e0 = local_d0; LAB_18122454c: if ((uVar17 & 0x30000000) != 0) goto LAB_181224569; LOCK(); piVar1 = (int *)(local_e0 + -0x10); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); goto LAB_18122455b; } if (uVar17 != 0x26) { do { bVar2 = **(byte **)(param_1 + 8); uVar17 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar17 = 0x7f; uVar6 = 0x40; iVar14 = 0; if ((bVar2 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar17 = uVar17 >> 1; iVar14 = iVar14 + 1; uVar6 = uVar6 >> 1; } while ((bVar2 & uVar6) != 0); } uVar17 = bVar2 & uVar17; if (0 < iVar14) { uVar18 = uVar19; do { bVar2 = (*(byte **)(param_1 + 8))[uVar18]; if ((bVar2 & 0xc0) != 0x80) break; uVar17 = bVar2 & 0x3f | uVar17 << 6; uVar18 = uVar18 + 1; } while ((longlong)uVar18 <= (longlong)iVar14); } } if (uVar17 == 0xd) { uVar17 = 10; bVar2 = **(byte **)(param_1 + 8); local_res20 = *(byte **)(param_1 + 8) + 1; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { local_res20 = local_res20 + 1; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } iVar14 = FUN_180492f10(&local_res20); if (iVar14 != 10) goto LAB_18122431e; } else { if ((uVar17 == 0x3c) || (uVar17 == 0x26)) goto LAB_181223d70; if (uVar17 == 0) { FUN_18049c4e0(&local_d8,"unmatched tags"); if ((*(uint *)(local_d8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d8 + -0x10) = *(int *)(local_d8 + -0x10) + 1; UNLOCK(); } LOCK(); lVar15 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_d8; UNLOCK(); puVar11 = (uint *)(lVar15 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } *(undefined1 *)(param_1 + 0x11) = 1; uVar17 = *(uint *)(local_d8 + -0x10); local_e0 = local_d8; goto LAB_18122454c; } LAB_18122431e: FUN_181234d10(local_a8,uVar17); if ((bVar20) || (iVar14 = iswspace((wint_t)uVar17), iVar14 == 0)) { bVar20 = true; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } } while( true ); } local_res10 = &DAT_1821dbf98; FUN_181222c20(param_1,&local_res10); iVar14 = FUN_180492f10(&local_res10); if ((iVar14 == 0x3c) && (iVar14 = FUN_180493050(&local_res10,1), iVar14 != 0)) { uVar9 = *(undefined8 *)(param_1 + 8); uVar3 = *(undefined1 *)(param_1 + 0x10); *(byte **)(param_1 + 8) = local_res10; *(undefined1 *)(param_1 + 0x10) = 0; plVar10 = (longlong *)FUN_181224610(param_1); while (plVar4 = plVar10, plVar4 != (longlong *)0x0) { *plVar16 = (longlong)plVar4; plVar10 = (longlong *)FUN_181224610(param_1); plVar16 = plVar4; } *(undefined8 *)(param_1 + 8) = uVar9; *(undefined1 *)(param_1 + 0x10) = uVar3; } else { uVar9 = FUN_18049d240(local_res10); (**(code **)(local_a8[0] + 0x20))(local_a8,local_res10,uVar9); if (bVar20) { LAB_181224230: bVar20 = true; } else { bVar2 = *local_res10; pbVar8 = local_res10; while (bVar2 != 0) { bVar2 = *pbVar8; if ((bVar2 != 0x20) && (4 < (byte)(bVar2 - 9))) goto LAB_181224230; pbVar8 = pbVar8 + 1; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = *pbVar8; } bVar20 = false; } } puVar11 = (uint *)(local_res10 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } goto LAB_181223d70; } pbVar12 = *(byte **)(param_1 + 8); bVar2 = *pbVar12; pbVar8 = pbVar12 + 1; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = *pbVar8; uVar17 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar6 = 0x40; uVar17 = 0x7f; iVar14 = 0; if ((bVar2 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar17 = uVar17 >> 1; iVar14 = iVar14 + 1; uVar6 = uVar6 >> 1; } while ((bVar2 & uVar6) != 0); } uVar17 = bVar2 & uVar17; uVar18 = uVar19; if (0 < (longlong)iVar14) { do { if ((pbVar8[uVar18] & 0xc0) != 0x80) break; uVar17 = pbVar8[uVar18] & 0x3f | uVar17 << 6; uVar18 = uVar18 + 1; } while ((longlong)uVar18 <= (longlong)iVar14); } } pbVar8 = pbVar12; uVar18 = uVar19; if (uVar17 == 0x21) { do { bVar2 = *pbVar8; pbVar8 = pbVar8 + 1; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } uVar17 = (int)uVar18 - 1; uVar18 = (ulonglong)uVar17; } while (-1 < (int)uVar17); bVar2 = *pbVar8; uVar17 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar6 = 0x40; uVar17 = 0x7f; iVar14 = 0; if ((bVar2 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar17 = uVar17 >> 1; iVar14 = iVar14 + 1; uVar6 = uVar6 >> 1; } while ((bVar2 & uVar6) != 0); } uVar17 = bVar2 & uVar17; uVar18 = uVar19; if (0 < (longlong)iVar14) { do { if ((pbVar8[uVar18] & 0xc0) != 0x80) break; uVar17 = pbVar8[uVar18] & 0x3f | uVar17 << 6; uVar18 = uVar18 + 1; } while ((longlong)uVar18 <= (longlong)iVar14); } } if (uVar17 != 0x2d) goto LAB_18122437a; iVar14 = 2; do { bVar2 = *pbVar12; pbVar12 = pbVar12 + 1; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar12 = pbVar12 + 1; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } iVar14 = iVar14 + -1; } while (-1 < iVar14); bVar2 = *pbVar12; uVar17 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar6 = 0x40; uVar17 = 0x7f; iVar14 = 0; if ((bVar2 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar17 = uVar17 >> 1; iVar14 = iVar14 + 1; uVar6 = uVar6 >> 1; } while ((bVar2 & uVar6) != 0); } uVar17 = bVar2 & uVar17; uVar18 = uVar19; if (0 < (longlong)iVar14) { do { if ((pbVar12[uVar18] & 0xc0) != 0x80) break; uVar17 = pbVar12[uVar18] & 0x3f | uVar17 << 6; uVar18 = uVar18 + 1; } while ((longlong)uVar18 <= (longlong)iVar14); } } if (uVar17 != 0x2d) goto LAB_18122437a; bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); *(byte **)(param_1 + 8) = *(byte **)(param_1 + 8) + 1; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + 1; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } pbVar8 = *(byte **)(param_1 + 8); iVar14 = 0; iVar7 = FUN_18049d4b0(pbVar8,&DAT_1821db334); while (iVar7 != 0) { bVar2 = *pbVar8; pbVar8 = pbVar8 + 1; uVar17 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar17 = 0x7f; uVar6 = 0x40; iVar7 = 0; if ((bVar2 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar17 = uVar17 >> 1; iVar7 = iVar7 + 1; uVar6 = uVar6 >> 1; } while ((bVar2 & uVar6) != 0); } uVar17 = bVar2 & uVar17; for (; (iVar7 = iVar7 + -1, -1 < iVar7 && ((*pbVar8 & 0xc0) == 0x80)); pbVar8 = pbVar8 + 1) { uVar17 = *pbVar8 & 0x3f | uVar17 << 6; } } if (uVar17 == 0) goto LAB_181224432; iVar14 = iVar14 + 1; iVar7 = FUN_18049d4b0(pbVar8,&DAT_1821db334); } if (iVar14 < 0) { LAB_181224432: FUN_18049c4e0(&local_e0,"unterminated comment"); if ((*(uint *)(local_e0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e0 + -0x10) = *(int *)(local_e0 + -0x10) + 1; UNLOCK(); } LOCK(); lVar15 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_e0; UNLOCK(); puVar11 = (uint *)(lVar15 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } *(undefined1 *)(param_1 + 0x11) = 1; if ((*(uint *)(local_e0 + -0x10) & 0x30000000) != 0) goto LAB_181224569; LOCK(); piVar1 = (int *)(local_e0 + -0x10); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); LAB_18122455b: if (iVar14 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_e0 + -0x10)); } LAB_181224569: *(undefined1 *)(param_1 + 0x10) = 1; FUN_18124a420(local_a8); return; } FUN_180492fc0(param_1 + 8); goto LAB_181223d70; } LAB_18122437a: plVar10 = plVar16; if (bVar20) { lVar15 = local_80; if (local_98 != (longlong *)0x0) { if (local_70 < (ulonglong)local_98[1]) { *(undefined1 *)(local_70 + *local_98) = 0; } lVar15 = *local_98; } FUN_18124a8a0(&local_e8,lVar15,local_70 + lVar15); plVar10 = (longlong *)FUN_1812207e0(&local_e8); *plVar16 = (longlong)plVar10; puVar11 = (uint *)(local_e8 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } } FUN_18124a420(local_a8); goto LAB_1812243fa; } pbVar12 = *(byte **)(param_1 + 8); bVar2 = *pbVar12; pbVar8 = pbVar12 + 1; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = *pbVar8; uVar17 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar6 = 0x40; uVar17 = 0x7f; iVar14 = 0; if ((bVar2 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar17 = uVar17 >> 1; iVar14 = iVar14 + 1; uVar6 = uVar6 >> 1; } while ((bVar2 & uVar6) != 0); } uVar17 = bVar2 & uVar17; uVar18 = uVar19; if (0 < (longlong)iVar14) { do { if ((pbVar8[uVar18] & 0xc0) != 0x80) break; uVar17 = pbVar8[uVar18] & 0x3f | uVar17 << 6; uVar18 = uVar18 + 1; } while ((longlong)uVar18 <= (longlong)iVar14); } } if (uVar17 == 0x2f) { iVar14 = FUN_18049bc80(*(undefined8 *)(param_1 + 8),0x3e); if (iVar14 < 0) { return; } FUN_180492fc0(param_1 + 8,iVar14 + 1); return; } uVar18 = uVar19; if (uVar17 == 0x21) { do { bVar2 = *pbVar12; local_c0 = pbVar12 + 1; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { local_c0 = local_c0 + 1; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } uVar17 = (int)uVar18 - 1; pbVar12 = local_c0; uVar18 = (ulonglong)uVar17; } while (-1 < (int)uVar17); iVar14 = FUN_18049d4b0(local_c0,"[CDATA[",7); if (iVar14 != 0) goto LAB_181223d1e; bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); *(byte **)(param_1 + 8) = *(byte **)(param_1 + 8) + 1; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + 1; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } uVar9 = *(undefined8 *)(param_1 + 8); LAB_181223af0: bVar2 = **(byte **)(param_1 + 8); uVar17 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar6 = 0x40; iVar14 = 0; uVar17 = 0x7f; if ((bVar2 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar17 = uVar17 >> 1; iVar14 = iVar14 + 1; uVar6 = uVar6 >> 1; } while ((bVar2 & uVar6) != 0); } uVar17 = bVar2 & uVar17; if (0 < iVar14) { uVar18 = uVar19; do { bVar2 = (*(byte **)(param_1 + 8))[uVar18]; if ((bVar2 & 0xc0) != 0x80) break; uVar17 = bVar2 & 0x3f | uVar17 << 6; uVar18 = uVar18 + 1; } while ((longlong)uVar18 <= (longlong)iVar14); } } if (uVar17 == 0) { FUN_18049c4e0(&local_res18); if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } LOCK(); lVar15 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_res18; UNLOCK(); puVar11 = (uint *)(lVar15 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } *(undefined1 *)(param_1 + 0x11) = 1; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(local_res18 + -0x10); iVar14 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar14 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_res18 + -0x10)); } } *(undefined1 *)(param_1 + 0x10) = 1; pbVar8 = *(byte **)(param_1 + 8); FUN_181224ea0(param_1); goto LAB_1812237e1; } if (((uVar17 != 0x5d) || (iVar14 = FUN_180493050(param_1 + 8,1), iVar14 != 0x5d)) || (iVar14 = FUN_180493050(param_1 + 8,2), iVar14 != 0x3e)) { bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } goto LAB_181223af0; } uVar9 = FUN_18124a8a0(local_b8,uVar9,*(undefined8 *)(param_1 + 8)); plVar10 = (longlong *)FUN_1812207e0(uVar9); *plVar16 = (longlong)plVar10; puVar11 = (uint *)(local_b8[0] + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar17 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar17 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); *(byte **)(param_1 + 8) = *(byte **)(param_1 + 8) + 1; if ((char)bVar2 < '\0') { bVar13 = 0x40; bVar5 = bVar2 & 0x40; while ((bVar5 != 0 && (8 < bVar13))) { *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + 1; bVar13 = bVar13 >> 1; bVar5 = bVar2 & bVar13; } } bVar2 = **(byte **)(param_1 + 8); pbVar8 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar8; if (((char)bVar2 < '\0') && (bVar5 = 0x40, (bVar2 & 0x40) != 0)) { do { if (bVar5 < 9) goto LAB_1812243fa; pbVar8 = pbVar8 + 1; *(byte **)(param_1 + 8) = pbVar8; bVar5 = bVar5 >> 1; } while ((bVar2 & bVar5) != 0); FUN_181224ea0(param_1); plVar16 = plVar10; } else { LAB_1812243fa: pbVar8 = *(byte **)(param_1 + 8); FUN_181224ea0(param_1); plVar16 = plVar10; } } else { LAB_181223d1e: plVar10 = (longlong *)FUN_181224610(param_1); if (plVar10 == (longlong *)0x0) { return; } *plVar16 = (longlong)plVar10; pbVar8 = *(byte **)(param_1 + 8); FUN_181224ea0(param_1); plVar16 = plVar10; } } while( true ); } ############ FUN_ 181222c20 size=2935 ############ void FUN_181222c20(longlong param_1,undefined8 param_2) { longlong *plVar1; int *piVar2; longlong lVar3; byte bVar4; byte bVar5; byte bVar6; wint_t wVar7; wint_t wVar8; uint uVar9; uint uVar10; undefined8 uVar11; uint uVar12; uint *puVar13; uint uVar14; uint uVar15; byte *pbVar17; byte *pbVar18; longlong lVar19; int iVar20; ulonglong uVar21; int iVar22; undefined4 local_res18; char local_res20 [8]; longlong local_78; longlong local_70; longlong local_68; longlong local_60; longlong local_58; undefined8 local_50; ulonglong uVar16; local_50 = 0xfffffffffffffffe; plVar1 = (longlong *)(param_1 + 8); bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } pbVar17 = &DAT_1821db398; pbVar18 = (byte *)*plVar1; iVar22 = 3; uVar21 = 0; do { bVar4 = *pbVar18; pbVar18 = pbVar18 + 1; uVar12 = (uint)bVar4; uVar14 = 0; if ((char)bVar4 < '\0') { uVar12 = 0x7f; uVar9 = 0x40; uVar16 = uVar21; uVar15 = uVar14; if ((bVar4 & 0x40) != 0) { do { uVar15 = (uint)uVar16; if (uVar9 < 9) break; uVar12 = uVar12 >> 1; uVar15 = uVar15 + 1; uVar16 = (ulonglong)uVar15; uVar9 = uVar9 >> 1; } while ((bVar4 & uVar9) != 0); } uVar12 = bVar4 & uVar12; for (; (uVar15 = uVar15 - 1, -1 < (int)uVar15 && ((*pbVar18 & 0xc0) == 0x80)); pbVar18 = pbVar18 + 1) { uVar12 = *pbVar18 & 0x3f | uVar12 << 6; } } bVar4 = *pbVar17; pbVar17 = pbVar17 + 1; uVar9 = 0xffffffff; uVar15 = uVar14; if (uVar12 != bVar4) { wVar7 = towupper((ushort)bVar4); wVar8 = towupper((wint_t)uVar12); if (((uint)wVar8 != (uint)wVar7) && (uVar15 = 1, (int)((uint)wVar8 - (uint)wVar7) < 0)) { uVar15 = uVar9; } } if (uVar15 != 0) { pbVar17 = &DAT_1821db3b8; pbVar18 = (byte *)*plVar1; iVar22 = 4; local_res18 = 4; break; } if ((uVar12 == 0) || (iVar22 = iVar22 + -1, iVar22 < 0)) { bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; *plVar1 = (longlong)((byte *)*plVar1 + 1); if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { *plVar1 = *plVar1 + 1; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } local_res18 = CONCAT22(local_res18._2_2_,0x26); lVar3 = -1; do { lVar19 = lVar3; lVar3 = lVar19 + 1; } while (*(char *)((longlong)&local_res18 + lVar19 + 1) != '\0'); FUN_181232e20(param_2,&local_res18,(longlong)&local_res18 + lVar19 + 1); return; } } while( true ); LAB_181222e40: bVar4 = *pbVar18; pbVar18 = pbVar18 + 1; uVar12 = (uint)bVar4; if ((char)bVar4 < '\0') { uVar12 = 0x7f; uVar10 = 0x40; uVar16 = uVar21; uVar15 = uVar14; if ((bVar4 & 0x40) != 0) { do { uVar15 = (uint)uVar16; if (uVar10 < 9) break; uVar12 = uVar12 >> 1; uVar15 = uVar15 + 1; uVar16 = (ulonglong)uVar15; uVar10 = uVar10 >> 1; } while ((bVar4 & uVar10) != 0); } uVar12 = bVar4 & uVar12; for (; (uVar15 = uVar15 - 1, -1 < (int)uVar15 && ((*pbVar18 & 0xc0) == 0x80)); pbVar18 = pbVar18 + 1) { uVar12 = *pbVar18 & 0x3f | uVar12 << 6; } } bVar4 = *pbVar17; pbVar17 = pbVar17 + 1; uVar15 = uVar14; if (uVar12 != bVar4) { wVar7 = towupper((ushort)bVar4); wVar8 = towupper((wint_t)uVar12); if (((uint)wVar8 != (uint)wVar7) && (uVar15 = 1, (int)((uint)wVar8 - (uint)wVar7) < 0)) { uVar15 = uVar9; } } if (uVar15 != 0) { pbVar17 = &DAT_1821db3b0; pbVar18 = (byte *)*plVar1; goto LAB_181223010; } if ((uVar12 == 0) || (iVar22 = iVar22 + -1, iVar22 < 0)) { bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; *plVar1 = (longlong)((byte *)*plVar1 + 1); if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { *plVar1 = *plVar1 + 1; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } local_res20[0] = '\"'; local_res20[1] = '\0'; lVar3 = -1; do { lVar19 = lVar3; lVar3 = lVar19 + 1; } while (local_res20[lVar19 + 1] != '\0'); FUN_181232e20(param_2,local_res20,local_res20 + lVar19 + 1); return; } goto LAB_181222e40; LAB_181223010: bVar4 = *pbVar18; pbVar18 = pbVar18 + 1; uVar12 = (uint)bVar4; if ((char)bVar4 < '\0') { uVar12 = 0x7f; uVar10 = 0x40; uVar16 = uVar21; uVar15 = uVar14; if ((bVar4 & 0x40) != 0) { do { uVar15 = (uint)uVar16; if (uVar10 < 9) break; uVar12 = uVar12 >> 1; uVar15 = uVar15 + 1; uVar16 = (ulonglong)uVar15; uVar10 = uVar10 >> 1; } while ((bVar4 & uVar10) != 0); } uVar12 = bVar4 & uVar12; for (; (uVar15 = uVar15 - 1, -1 < (int)uVar15 && ((*pbVar18 & 0xc0) == 0x80)); pbVar18 = pbVar18 + 1) { uVar12 = *pbVar18 & 0x3f | uVar12 << 6; } } bVar4 = *pbVar17; pbVar17 = pbVar17 + 1; uVar15 = uVar14; if (uVar12 != bVar4) { wVar7 = towupper((ushort)bVar4); wVar8 = towupper((wint_t)uVar12); if (((uint)wVar8 != (uint)wVar7) && (uVar15 = 1, (int)((uint)wVar8 - (uint)wVar7) < 0)) { uVar15 = uVar9; } } if (uVar15 != 0) { pbVar17 = &DAT_1821db3c0; pbVar18 = (byte *)*plVar1; iVar22 = 2; local_res18 = 2; goto LAB_1812231b3; } if ((uVar12 == 0) || (local_res18 = local_res18 + -1, local_res18 < 0)) { bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; *plVar1 = (longlong)((byte *)*plVar1 + 1); if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { *plVar1 = *plVar1 + 1; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } FUN_181232ce0(param_2,0x27); return; } goto LAB_181223010; LAB_1812231b3: bVar4 = *pbVar18; pbVar18 = pbVar18 + 1; uVar12 = (uint)bVar4; if ((char)bVar4 < '\0') { uVar12 = 0x7f; uVar10 = 0x40; uVar16 = uVar21; uVar15 = uVar14; if ((bVar4 & 0x40) != 0) { do { uVar15 = (uint)uVar16; if (uVar10 < 9) break; uVar12 = uVar12 >> 1; uVar15 = uVar15 + 1; uVar16 = (ulonglong)uVar15; uVar10 = uVar10 >> 1; } while ((bVar4 & uVar10) != 0); } uVar12 = bVar4 & uVar12; for (; (uVar15 = uVar15 - 1, -1 < (int)uVar15 && ((*pbVar18 & 0xc0) == 0x80)); pbVar18 = pbVar18 + 1) { uVar12 = *pbVar18 & 0x3f | uVar12 << 6; } } bVar4 = *pbVar17; pbVar17 = pbVar17 + 1; uVar15 = uVar14; if (uVar12 != bVar4) { wVar7 = towupper((ushort)bVar4); wVar8 = towupper((wint_t)uVar12); if (((uint)wVar8 != (uint)wVar7) && (uVar15 = 1, (int)((uint)wVar8 - (uint)wVar7) < 0)) { uVar15 = uVar9; } } if (uVar15 != 0) { pbVar17 = &DAT_1821db36c; pbVar18 = (byte *)*plVar1; goto LAB_1812232f2; } if ((uVar12 == 0) || (iVar22 = iVar22 + -1, iVar22 < 0)) { bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; *plVar1 = (longlong)((byte *)*plVar1 + 1); if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { *plVar1 = *plVar1 + 1; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } FUN_181232ce0(param_2,0x3c); return; } goto LAB_1812231b3; LAB_1812232f2: bVar4 = *pbVar18; pbVar18 = pbVar18 + 1; uVar12 = (uint)bVar4; if ((char)bVar4 < '\0') { uVar12 = 0x7f; uVar9 = 0x40; uVar16 = uVar21; uVar15 = uVar14; if ((bVar4 & 0x40) != 0) { do { uVar15 = (uint)uVar16; if (uVar9 < 9) break; uVar12 = uVar12 >> 1; uVar15 = uVar15 + 1; uVar16 = (ulonglong)uVar15; uVar9 = uVar9 >> 1; } while ((bVar4 & uVar9) != 0); } uVar12 = bVar4 & uVar12; for (; (uVar15 = uVar15 - 1, -1 < (int)uVar15 && ((*pbVar18 & 0xc0) == 0x80)); pbVar18 = pbVar18 + 1) { uVar12 = *pbVar18 & 0x3f | uVar12 << 6; } } bVar4 = *pbVar17; pbVar17 = pbVar17 + 1; uVar15 = uVar14; if (uVar12 != bVar4) { wVar7 = towupper((ushort)bVar4); wVar8 = towupper((wint_t)uVar12); if (((uint)wVar8 != (uint)wVar7) && (uVar15 = 1, (int)((uint)wVar8 - (uint)wVar7) < 0)) { uVar15 = 0xffffffff; } } if (uVar15 != 0) { iVar22 = FUN_180492f10(plVar1); if (iVar22 != 0x23) { lVar3 = *plVar1; iVar22 = FUN_18049bc80(lVar3,0x3b); lVar19 = (longlong)iVar22; if (iVar22 < 0) { *(undefined1 *)(param_1 + 0x10) = 1; FUN_181232ce0(param_2,0x26); return; } FUN_180492fc0(plVar1,iVar22 + 1); uVar11 = FUN_1812340b0(&local_58,lVar3,lVar19); uVar11 = FUN_181221ef0(param_1,&local_60,uVar11); FUN_181232d30(param_2,uVar11); puVar13 = (uint *)(local_60 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } puVar13 = (uint *)(local_58 + -0x10); if ((*puVar13 & 0x30000000) != 0) { return; } LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 != 0) { return; } /* WARNING: Subroutine does not return */ free(puVar13); } FUN_180492f80(plVar1); iVar22 = FUN_180492f10(); uVar16 = uVar21; if ((iVar22 == 0x78) || (iVar22 = FUN_180492f10(plVar1), iVar22 == 0x58)) { FUN_180492f80(plVar1); goto LAB_1812235d5; } uVar12 = FUN_180493050(plVar1,0); if ((uVar12 < 0x30) || (uVar12 = FUN_180493050(plVar1,0), 0x39 < uVar12)) { FUN_18049c4e0(&local_70,"illegal escape sequence"); if ((*(uint *)(local_70 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_70 + -0x10) = *(int *)(local_70 + -0x10) + 1; UNLOCK(); } LOCK(); lVar3 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_70; UNLOCK(); puVar13 = (uint *)(lVar3 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } *(undefined1 *)(param_1 + 0x11) = 0; if ((*(uint *)(local_70 + -0x10) & 0x30000000) == 0) { LOCK(); piVar2 = (int *)(local_70 + -0x10); iVar22 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar22 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_70 + -0x10)); } } FUN_181232ce0(param_2,0x26); return; } iVar22 = FUN_180493050(plVar1,0); goto joined_r0x000181223496; } if ((uVar12 == 0) || (local_res18 = local_res18 + -1, local_res18 < 0)) { bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; *plVar1 = (longlong)((byte *)*plVar1 + 1); if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { *plVar1 = *plVar1 + 1; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } bVar4 = *(byte *)*plVar1; pbVar18 = (byte *)*plVar1 + 1; *plVar1 = (longlong)pbVar18; if ((char)bVar4 < '\0') { bVar6 = 0x40; bVar5 = bVar4 & 0x40; while ((bVar5 != 0 && (8 < bVar6))) { pbVar18 = pbVar18 + 1; *plVar1 = (longlong)pbVar18; bVar6 = bVar6 >> 1; bVar5 = bVar4 & bVar6; } } FUN_181232ce0(param_2,0x3e); return; } goto LAB_1812232f2; LAB_1812235d5: iVar20 = (int)uVar21; iVar22 = FUN_180493050(); if (iVar22 == 0x3b) goto LAB_1812236a4; iVar22 = FUN_180493050(plVar1,0); uVar12 = iVar22 - 0x30; if (9 < uVar12) { uVar12 = iVar22 - 0x61; if ((uVar12 < 6) || (uVar12 = iVar22 - 0x41, uVar12 < 6)) { uVar12 = uVar12 + 10; goto LAB_18122360a; } LAB_181223628: FUN_18049c4e0(&local_68,"illegal escape sequence"); if ((*(uint *)(local_68 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_68 + -0x10) = *(int *)(local_68 + -0x10) + 1; UNLOCK(); } LOCK(); lVar3 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_68; UNLOCK(); puVar13 = (uint *)(lVar3 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } *(undefined1 *)(param_1 + 0x11) = 0; uVar12 = *(uint *)(local_68 + -0x10); local_78 = local_68; goto LAB_181223685; } LAB_18122360a: if (((int)uVar12 < 0) || (uVar21 = (ulonglong)(iVar20 + 1U), 8 < (int)(iVar20 + 1U))) goto LAB_181223628; uVar16 = (ulonglong)((int)uVar16 << 4 | uVar12); FUN_180492f80(plVar1); goto LAB_1812235d5; joined_r0x000181223496: if (iVar22 == 0x3b) goto LAB_1812236a4; uVar12 = (int)uVar21 + 1; uVar21 = (ulonglong)uVar12; if (0xc < (int)uVar12) { FUN_18049c4e0(&local_78,"illegal escape sequence"); if ((*(uint *)(local_78 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } LOCK(); lVar3 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_78; UNLOCK(); puVar13 = (uint *)(lVar3 + -0x10); if ((*puVar13 & 0x30000000) == 0) { LOCK(); uVar12 = *puVar13; *puVar13 = *puVar13 - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(puVar13); } } *(undefined1 *)(param_1 + 0x11) = 0; uVar12 = *(uint *)(local_78 + -0x10); LAB_181223685: if ((uVar12 & 0x30000000) == 0) { LOCK(); piVar2 = (int *)(local_78 + -0x10); iVar22 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar22 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_78 + -0x10)); } } LAB_1812236a4: FUN_180492f80(plVar1); FUN_181232b70(param_2,uVar16); return; } iVar22 = FUN_180493050(plVar1,0); uVar16 = (ulonglong)(uint)(iVar22 + (int)uVar16 * 10 + -0x30); FUN_180492f80(plVar1); iVar22 = FUN_180493050(); goto joined_r0x000181223496; } ############ FUN_ 181224b70 size=801 ############ void FUN_181224b70(longlong param_1,longlong *param_2) { byte bVar1; byte bVar2; byte bVar3; uint uVar4; uint uVar5; uint uVar6; byte *pbVar7; int *piVar8; byte *pbVar9; size_t sVar10; void *pvVar11; int iVar12; longlong lVar13; longlong lVar14; longlong local_res8; uVar4 = FUN_180483820(param_1 + 8); if (uVar4 == 0) { *(undefined1 *)(param_1 + 0x10) = 1; iVar12 = 0; do { *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + -1; if ((**(byte **)(param_1 + 8) & 0xc0) != 0x80) break; iVar12 = iVar12 + 1; } while (iVar12 < 4); } if (*(char *)(param_1 + 0x10) == '\0') { lVar14 = -1; do { uVar5 = FUN_180483820(param_1 + 8); if (uVar5 == 0) { *(undefined1 *)(param_1 + 0x10) = 1; iVar12 = 0; do { *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + -1; if ((**(byte **)(param_1 + 8) & 0xc0) != 0x80) break; iVar12 = iVar12 + 1; } while (iVar12 < 4); } if (uVar5 == uVar4) { return; } iVar12 = 0; do { *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + -1; pbVar9 = *(byte **)(param_1 + 8); if ((*pbVar9 & 0xc0) != 0x80) break; iVar12 = iVar12 + 1; } while (iVar12 < 4); if (uVar5 == 0x26) { FUN_181222c20(param_1); } else { LAB_181224c70: pbVar7 = *(byte **)(param_1 + 8); bVar1 = *pbVar7; uVar5 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar6 = 0x40; iVar12 = 0; uVar5 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar6 < 9) break; uVar5 = uVar5 >> 1; iVar12 = iVar12 + 1; uVar6 = uVar6 >> 1; } while ((bVar1 & uVar6) != 0); } uVar5 = bVar1 & uVar5; lVar13 = 1; if (0 < iVar12) { do { if ((pbVar7[lVar13] & 0xc0) != 0x80) break; uVar5 = pbVar7[lVar13] & 0x3f | uVar5 << 6; lVar13 = lVar13 + 1; } while (lVar13 <= iVar12); } } if (uVar5 == uVar4) { iVar12 = (int)pbVar7 - (int)pbVar9; if (0 < iVar12) { do { lVar14 = lVar14 + 1; } while (*(char *)(*param_2 + lVar14) != '\0'); sVar10 = (size_t)iVar12; FUN_1812342b0(param_2,sVar10 + lVar14); pvVar11 = (void *)((longlong)(int)lVar14 + *param_2); memcpy(pvVar11,pbVar9,sVar10); *(undefined1 *)(sVar10 + (longlong)pvVar11) = 0; } bVar1 = **(byte **)(param_1 + 8); pbVar9 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar9; if (-1 < (char)bVar1) { return; } bVar3 = 0x40; if ((bVar1 & 0x40) == 0) { return; } do { if (bVar3 < 9) { return; } pbVar9 = pbVar9 + 1; bVar3 = bVar3 >> 1; *(byte **)(param_1 + 8) = pbVar9; } while ((bVar3 & bVar1) != 0); return; } if (uVar5 == 0x26) { iVar12 = (int)pbVar7 - (int)pbVar9; if (0 < iVar12) { lVar13 = -1; do { lVar13 = lVar13 + 1; } while (*(char *)(*param_2 + lVar13) != '\0'); sVar10 = (size_t)iVar12; FUN_1812342b0(param_2,sVar10 + lVar13); pvVar11 = (void *)((longlong)(int)lVar13 + *param_2); memcpy(pvVar11,pbVar9,sVar10); *(undefined1 *)(sVar10 + (longlong)pvVar11) = 0; } goto LAB_181224dfc; } if (uVar5 != 0) { bVar1 = *pbVar7; pbVar7 = pbVar7 + 1; *(byte **)(param_1 + 8) = pbVar7; if ((char)bVar1 < '\0') { bVar2 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar2))) { pbVar7 = pbVar7 + 1; bVar2 = bVar2 >> 1; *(byte **)(param_1 + 8) = pbVar7; bVar3 = bVar1 & bVar2; } } goto LAB_181224c70; } FUN_18049c4e0(&local_res8); if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } LOCK(); lVar13 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = local_res8; UNLOCK(); piVar8 = (int *)(lVar13 + -0x10); if ((*(uint *)(lVar13 + -0x10) & 0x30000000) == 0) { LOCK(); iVar12 = *piVar8; *piVar8 = *piVar8 + -1; UNLOCK(); if (iVar12 == 0) { /* WARNING: Subroutine does not return */ free(piVar8); } } *(undefined1 *)(param_1 + 0x11) = 1; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); piVar8 = (int *)(local_res8 + -0x10); iVar12 = *piVar8; *piVar8 = *piVar8 + -1; UNLOCK(); if (iVar12 == 0) { /* WARNING: Subroutine does not return */ free((void *)(local_res8 + -0x10)); } } *(undefined1 *)(param_1 + 0x10) = 1; } LAB_181224dfc: } while (*(char *)(param_1 + 0x10) == '\0'); } return; } ############ FUN_ 181246550 size=133 ############ longlong * FUN_181246550(longlong *param_1,undefined8 param_2,undefined8 param_3) { uint uVar1; longlong lVar2; longlong *plVar3; uint *_Memory; longlong *local_res8; local_res8 = param_1; FUN_18049c4e0(&local_res8); plVar3 = (longlong *)FUN_181232d30(&local_res8,param_3); lVar2 = *plVar3; *param_1 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } _Memory = (uint *)(local_res8 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 181243430 size=506 ############ void FUN_181243430(longlong *param_1,undefined8 param_2) { undefined8 *puVar1; int iVar2; undefined8 *puVar3; uint uVar4; longlong lVar5; longlong *plVar6; undefined8 uVar7; uint *puVar8; undefined8 *puVar9; longlong local_res8 [2]; longlong local_res18; longlong local_res20; longlong local_48; longlong local_40; longlong local_38 [2]; local_38[1] = 0xfffffffffffffffe; puVar3 = (undefined8 *)*param_1; iVar2 = *(int *)((longlong)param_1 + 0xc); if (puVar3 != puVar3 + (longlong)iVar2 * 3) { puVar9 = puVar3 + 1; do { lVar5 = (**(code **)(*(longlong *)*puVar9 + 0x40))((longlong *)*puVar9,puVar9 + 1); if (lVar5 == 0) { uVar7 = FUN_18122bf10(); FUN_18122c1b0(uVar7,&local_40,puVar9 + -1); (**(code **)(*(longlong *)*puVar9 + 0x20))((longlong *)*puVar9,&local_48,puVar9 + 1); FUN_181246b70(param_2,&local_40,&local_48); puVar8 = (uint *)(local_48 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_40 + -0x10); uVar4 = *puVar8; } else { FUN_18049c4e0(local_res8,"base64:"); plVar6 = (longlong *)FUN_181232d30(local_res8,puVar9 + -1); local_res20 = *plVar6; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } puVar8 = (uint *)(local_res8[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } uVar7 = FUN_18122bf10(); FUN_18122c1b0(uVar7,&local_res18,&local_res20); uVar7 = FUN_18123a2a0(lVar5,local_38); FUN_181246b70(param_2,&local_res18,uVar7); puVar8 = (uint *)(local_38[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_res18 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_res20 + -0x10); uVar4 = *puVar8; } if ((uVar4 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar1 = puVar9 + 2; puVar9 = puVar9 + 3; } while (puVar1 != puVar3 + (longlong)iVar2 * 3); } return; } ############ FUN_ 1812c29a0 size=644 ############ void FUN_1812c29a0(undefined8 param_1,void **param_2) { uint uVar1; bool bVar2; undefined1 local_res10 [8]; undefined4 local_res18 [2]; undefined4 local_res20 [2]; undefined **local_d8; undefined1 local_d0 [8]; void **local_c8; void *local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; undefined8 local_98; undefined1 *local_88; undefined1 *local_80; undefined1 *local_78; undefined1 local_70; undefined4 local_6c; undefined8 local_68; undefined1 *local_60; undefined1 *local_58; undefined1 *local_50; undefined1 local_48; undefined4 local_44; undefined *local_40; undefined8 local_38; local_38 = 0xfffffffffffffffe; local_d8 = juce::OutputStream::vftable; FUN_18049c4e0(local_d0,&DAT_182496878); local_d8 = juce::MemoryOutputStream::vftable; local_c0 = (void *)0x0; local_b8 = 0; local_b0 = 0; local_a8 = 0; local_a0 = 0; local_98 = 0; local_res18[0] = 0x21324356; local_c8 = param_2; (*(code *)PTR_FUN_182496b98)(&local_d8,local_res18,4); local_res20[0] = 0; (*(code *)local_d8[4])(&local_d8,local_res20,4); local_60 = &DAT_1821dbf98; local_58 = &DAT_1821dbf98; local_50 = &DAT_1821dbf98; local_48 = 1; local_44 = 0x3c; local_40 = &DAT_1821db4e4; local_88 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } local_80 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } local_78 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } local_70 = 1; local_6c = 0x3c; local_68 = 0; FUN_181246e90(param_1,&local_d8,&local_88); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_res10[0] = 0; (*(code *)local_d8[4])(&local_d8,local_res10,1); local_d8 = juce::MemoryOutputStream::vftable; if ((local_c8 != &local_c0) && (local_c8 != (void **)0x0)) { FUN_18124a200(local_c8,local_a0,0); } /* WARNING: Subroutine does not return */ free(local_c0); } ############ FUN_ 180493c80 size=225 ############ longlong * FUN_180493c80(longlong param_1,longlong *param_2) { uint uVar1; uint *puVar2; longlong local_res8; longlong *local_res10; longlong local_res18; local_res10 = param_2; FUN_1812339a0(param_2,*(undefined8 *)(param_1 + 0x10),0,0,0,0xfffffffffffffffe); if (*(char *)(param_1 + 0x18) != '\0') { FUN_18049c4e0(&local_res8,&DAT_18249687c); local_res10 = (longlong *)FUN_181232d30(&local_res8,param_2); local_res10 = (longlong *)*local_res10; if ((*(uint *)((longlong)local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)((longlong)local_res10 + -0x10) = *(int *)((longlong)local_res10 + -0x10) + 1; UNLOCK(); } puVar2 = (uint *)(local_res8 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } local_res18 = *param_2; *param_2 = (longlong)local_res10; puVar2 = (uint *)(local_res18 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } } return param_2; } ############ FUN_ 1804943d0 size=33 ############ undefined8 FUN_1804943d0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,&DAT_18249688c); return param_2; } ############ FUN_ 1804947f0 size=33 ############ undefined8 FUN_1804947f0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,&DAT_182496898); return param_2; } ############ FUN_ 1804957e0 size=33 ############ undefined8 FUN_1804957e0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"undefined"); return param_2; } ############ FUN_ 1804963c0 size=33 ############ undefined8 FUN_1804963c0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"[Array]"); return param_2; } ############ FUN_ 180496bb0 size=33 ############ undefined8 FUN_180496bb0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"Method"); return param_2; } ############ FUN_ 18124a880 size=23 ############ undefined8 FUN_18124a880(undefined8 param_1) { FUN_18049c4e0(); return param_1; } ############ FUN_ 1812147b0 size=205 ############ longlong * FUN_1812147b0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; undefined8 uVar3; longlong *plVar4; uint *puVar5; longlong local_res8; longlong local_res18 [2]; if (*(int *)(param_1 + 0x24) < 1) { *param_2 = (longlong)&DAT_1821dbf98; } else { uVar3 = FUN_181214eb0(local_res18,param_1,param_3,param_4,0xfffffffffffffffe); FUN_18049c4e0(&local_res8,&DAT_1821dba9c); plVar4 = (longlong *)FUN_181232d30(&local_res8,uVar3); lVar2 = *plVar4; *param_2 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res18[0] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } return param_2; } ############ FUN_ 1804a5890 size=577 ############ longlong * FUN_1804a5890(longlong *param_1) { bool bVar1; uint uVar2; HMODULE hModule; FARPROC pFVar3; uint *puVar4; longlong local_res10; longlong local_res18; longlong local_res20; longlong local_78; longlong local_70; longlong local_68; longlong local_60 [3]; longlong local_48; longlong local_40; longlong local_38; longlong local_30; longlong local_28; longlong local_20; local_60[1] = 0xfffffffffffffffe; *param_1 = (longlong)&DAT_1821dbf98; param_1[1] = (longlong)&DAT_1821dbf98; param_1[2] = (longlong)&DAT_1821dbf98; param_1[3] = (longlong)&DAT_1821dbf98; hModule = GetModuleHandleA("ntdll"); if (hModule != (HMODULE)0x0) { pFVar3 = GetProcAddress(hModule,"wine_get_version"); if (pFVar3 != (FARPROC)0x0) { bVar1 = true; goto LAB_1804a58f0; } } bVar1 = false; LAB_1804a58f0: if (bVar1) { FUN_18049c4e0(&local_res10,"Bitstream Vera Sans"); local_60[2] = *param_1; *param_1 = local_res10; puVar4 = (uint *)(local_60[2] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_18049c4e0(&local_res18,"Bitstream Vera Serif"); local_48 = param_1[1]; param_1[1] = local_res18; puVar4 = (uint *)(local_48 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_18049c4e0(&local_res20,"Bitstream Vera Sans Mono"); local_40 = param_1[2]; param_1[2] = local_res20; puVar4 = (uint *)(local_40 + -0x10); uVar2 = *puVar4; } else { FUN_18049c4e0(&local_78,"Verdana"); local_38 = *param_1; *param_1 = local_78; puVar4 = (uint *)(local_38 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_18049c4e0(&local_70,"Times New Roman"); local_30 = param_1[1]; param_1[1] = local_70; puVar4 = (uint *)(local_30 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_18049c4e0(&local_68,"Lucida Console"); local_28 = param_1[2]; param_1[2] = local_68; puVar4 = (uint *)(local_28 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_18049c4e0(local_60,"Tahoma"); local_20 = param_1[3]; param_1[3] = local_60[0]; puVar4 = (uint *)(local_20 + -0x10); uVar2 = *puVar4; } if ((uVar2 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return param_1; } ############ FUN_ 1804a1ef0 size=714 ############ /* WARNING: Removing unreachable block (ram,0x0001804a2149) */ /* WARNING: Removing unreachable block (ram,0x0001804a20ad) */ /* WARNING: Removing unreachable block (ram,0x0001804a2123) */ /* WARNING: Removing unreachable block (ram,0x0001804a2155) */ /* WARNING: Removing unreachable block (ram,0x0001804a2170) */ /* WARNING: Removing unreachable block (ram,0x0001804a218e) */ /* WARNING: Removing unreachable block (ram,0x0001804a2194) */ /* WARNING: Removing unreachable block (ram,0x0001804a21a0) */ /* WARNING: Removing unreachable block (ram,0x0001804a21a5) */ void FUN_1804a1ef0(undefined8 param_1,undefined8 param_2,char param_3) { uint uVar1; float fVar2; float fVar3; float fVar4; float fVar5; float *_Memory; longlong lVar6; uint *_Memory_00; float *pfVar7; float *pfVar8; bool bVar9; float fVar10; undefined1 local_res10; undefined7 uStackX_11; char local_res18; longlong local_e0; undefined8 local_d8; int iStack_d4; longlong local_d0; undefined4 local_c8; int iStack_c4; float *local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 uStack_a8; undefined1 local_a0; local_e0 = 0; local_d8 = 0; local_res18 = param_3; FUN_1804aebd0(&local_e0,200); FUN_18049c4e0(&local_res10,param_2); FUN_1812510e0(&local_e0,param_1,&local_res10,0,0,DAT_1824c4620,0); _Memory_00 = (uint *)(CONCAT71(uStackX_11,local_res10) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } fVar5 = DAT_1824c4608; fVar4 = DAT_1824c4604; fVar3 = DAT_1824c4600; fVar10 = DAT_1824c45fc; local_d0 = 0; _local_c8 = 0; if (local_e0 == (longlong)iStack_d4 * 0x20 + local_e0) { FUN_1804b4a30(0,0,0,local_res10); /* WARNING: Subroutine does not return */ free((void *)0x0); } local_c0 = (float *)0x0; local_b8 = 0; local_b0 = 0; uStack_a8 = 0; local_a0 = 1; FUN_1812514e0(local_e0,&local_c0); _Memory = local_c0; pfVar8 = local_c0 + local_b8._4_4_; bVar9 = local_c0 == pfVar8; pfVar7 = local_c0; LAB_1804a2056: do { if (bVar9) { LAB_1804a20dc: /* WARNING: Subroutine does not return */ free(_Memory); } fVar2 = *pfVar7; if (fVar2 != fVar3) { if (((fVar2 == fVar10) || (fVar2 == fVar4)) || (fVar2 == fVar5)) { fVar10 = (float)uStack_a8; if (local_res18 == '\0') { fVar10 = (float)uStack_a8 + (uStack_a8._4_4_ - (float)uStack_a8); } FUN_1804af790(&local_d0,8); lVar6 = (longlong)iStack_c4; _local_c8 = CONCAT44(iStack_c4 + 1,local_c8); *(float *)(local_d0 + lVar6 * 4) = fVar10; goto LAB_1804a20dc; } pfVar7 = pfVar7 + 1; bVar9 = pfVar7 == pfVar8; goto LAB_1804a2056; } pfVar7 = pfVar7 + 3; bVar9 = pfVar7 == pfVar8; } while( true ); } ############ FUN_ 181250d90 size=822 ############ undefined8 FUN_181250d90(longlong *param_1,longlong *param_2,float param_3,int param_4,int param_5) { longlong *plVar1; int *piVar2; int iVar3; int iVar4; uint *_Memory; longlong lVar5; undefined8 *puVar6; longlong *plVar7; longlong *plVar8; undefined8 *puVar9; undefined8 *puVar10; undefined4 uVar11; uint uVar12; uint uVar13; ulonglong uVar14; float fVar15; float fVar16; float fVar17; undefined4 uVar18; int local_res8; longlong local_d8 [2]; void *local_c8; undefined8 local_c0; undefined4 *local_b8; undefined8 local_b0; undefined8 *local_a8; local_d8[1] = 0xfffffffffffffffe; if (*(int *)((longlong)param_1 + 0xc) == 0) { return 0; } local_b8 = (undefined4 *)0x0; local_b0 = 0; local_c8 = (void *)0x0; local_c0 = 0; FUN_18049c4e0(local_d8,&DAT_1821df16c); FUN_181251660(param_2,local_d8,&local_b8,&local_c8); _Memory = (uint *)(local_d8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar12 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar12 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } fVar16 = 0.0; if (local_c0._4_4_ < 2) { fVar17 = 0.0; } else { fVar17 = *(float *)((longlong)local_c8 + 4); } uVar18 = 0; local_res8 = 2; uVar14 = (ulonglong)param_5; if (param_4 < param_5) { fVar15 = fVar17 * DAT_1824c42d0; lVar5 = uVar14 << 5; do { uVar12 = (int)uVar14 - 1; uVar14 = (ulonglong)uVar12; fVar16 = *(float *)(lVar5 + -0x10 + *param_1); uVar18 = *(undefined4 *)(lVar5 + -0xc + *param_1); if (uVar12 < *(uint *)((longlong)param_1 + 0xc)) { FUN_1804b0ee0(param_1,uVar12,1); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar3 = *(int *)((longlong)param_1 + 0xc); iVar4 = 0; if (0 < iVar3 * 2) { iVar4 = iVar3 * 2; } if (iVar4 < (int)param_1[1]) { if (iVar3 < 2) { iVar3 = 2; } if (iVar3 < (int)param_1[1]) { FUN_1804aebd0(param_1); } } } } while ((param_3 < fVar15 + fVar16) && (lVar5 = lVar5 + -0x20, param_4 < (int)uVar12)); } do { uVar11 = 0; if (0 < local_b0._4_4_) { uVar11 = *local_b8; } puVar9 = (undefined8 *)*param_2; if (puVar9 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar9 + 1) = *(int *)(puVar9 + 1) + 1; UNLOCK(); } iVar4 = *(int *)((longlong)param_1 + 0xc); iVar3 = iVar4 + 1; local_a8 = puVar9; if ((int)param_1[1] < iVar3) { if (iVar3 < 0) { iVar3 = iVar4 + 2; } FUN_1804aebd0(param_1,iVar4 + 9 + (iVar3 >> 1) & 0xfffffff8); } uVar12 = *(uint *)((longlong)param_1 + 0xc); lVar5 = (longlong)(int)uVar12; uVar13 = (uint)uVar14; if (uVar13 < uVar12) { plVar7 = (longlong *)(lVar5 * 0x20 + *param_1); if (0 < (int)(uVar12 - uVar13)) { uVar14 = (ulonglong)(uVar12 - uVar13); plVar8 = plVar7 + 4; do { plVar1 = plVar7 + -4; plVar8[-4] = *plVar1; *plVar1 = 0; *(int *)(plVar8 + -3) = (int)plVar7[-3]; *(undefined4 *)((longlong)plVar8 + -0x14) = *(undefined4 *)((longlong)plVar7 + -0x14); *(int *)(plVar8 + -2) = (int)plVar7[-2]; *(undefined4 *)((longlong)plVar8 + -0xc) = *(undefined4 *)((longlong)plVar7 + -0xc); *(int *)(plVar8 + -1) = (int)plVar7[-1]; *(undefined1 *)((longlong)plVar8 + -4) = *(undefined1 *)((longlong)plVar7 + -4); puVar9 = (undefined8 *)*plVar1; if (puVar9 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(puVar9 + 1); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar9)(puVar9,1); } } uVar14 = uVar14 - 1; plVar7 = plVar1; plVar8 = plVar8 + -4; puVar9 = local_a8; } while (uVar14 != 0); } lVar5 = (longlong)(int)uVar13; } puVar6 = (undefined8 *)(lVar5 * 0x20 + *param_1); *puVar6 = puVar9; puVar10 = (undefined8 *)0x0; if (puVar9 != (undefined8 *)0x0) { LOCK(); *(int *)(puVar9 + 1) = *(int *)(puVar9 + 1) + 1; UNLOCK(); puVar10 = local_a8; } *(undefined4 *)(puVar6 + 1) = 0x2e; *(undefined4 *)((longlong)puVar6 + 0xc) = uVar11; *(float *)(puVar6 + 2) = fVar16; *(undefined4 *)((longlong)puVar6 + 0x14) = uVar18; *(float *)(puVar6 + 3) = fVar17; *(undefined1 *)((longlong)puVar6 + 0x1c) = 0; *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + 1; uVar14 = (ulonglong)(uVar13 + 1); if (puVar10 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(puVar10 + 1); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*local_a8)(local_a8,1); } } fVar16 = fVar16 + fVar17; } while ((fVar16 <= param_3) && (local_res8 = local_res8 + -1, -1 < local_res8)); local_c0 = local_c0 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_c8); } ############ FUN_ 181337230 size=1114 ############ void FUN_181337230(longlong param_1,longlong param_2) { byte bVar1; int iVar2; byte *pbVar3; int iVar4; longlong *plVar5; undefined8 uVar6; uint uVar7; uint *puVar9; void *pvVar10; longlong lVar11; byte *pbVar12; byte *pbVar13; undefined8 *puVar14; void *pvVar15; byte *local_res18; longlong local_res20; byte *local_88; void *local_80; undefined8 local_78; longlong local_70; void *local_68; undefined8 local_60; undefined *local_58; byte *local_50; uint *local_48; byte *local_40; void *pvVar8; local_60 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0x180) == 0) { return; } puVar14 = (undefined8 *)(param_2 + 0x10); if (*(char *)*puVar14 == '\0') { puVar14 = (undefined8 *)(param_2 + 8); } local_res18 = (byte *)*puVar14; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } lVar11 = *(longlong *)(*(longlong *)(param_1 + 0x180) + 0x38); pvVar15 = (void *)0x0; iVar4 = 0; if (0 < *(int *)(lVar11 + 0x5c)) { pvVar8 = pvVar15; pvVar10 = pvVar15; do { if (**(int **)((longlong)pvVar10 + *(longlong *)(lVar11 + 0x50)) == *(int *)(param_1 + 0x19c)) { lVar11 = *(longlong *)(*(longlong *)(lVar11 + 0x50) + (longlong)(int)pvVar8 * 8); local_80 = (void *)0x0; local_78 = 0; iVar2 = *(int *)(lVar11 + 0x14); pvVar8 = *(void **)(lVar11 + 8); iVar4 = 0; if (0 < iVar2) { FUN_18051ce20(&local_80,iVar2 / 2 + 8 + iVar2 & 0xfffffff8); iVar4 = local_78._4_4_; } pvVar15 = local_80; memcpy((void *)((longlong)local_80 + (longlong)iVar4 * 0xc),pvVar8,(longlong)iVar2 * 0xc); iVar4 = iVar4 + iVar2; goto LAB_1813372ef; } uVar7 = (int)pvVar8 + 1; pvVar8 = (void *)(ulonglong)uVar7; pvVar10 = (void *)((longlong)pvVar10 + 8); } while ((int)uVar7 < *(int *)(lVar11 + 0x5c)); } local_80 = (void *)0x0; local_78 = 0; LAB_1813372ef: local_78 = CONCAT44(iVar4,(undefined4)local_78); local_68 = (void *)((longlong)pvVar15 + (longlong)iVar4 * 0xc); pvVar8 = pvVar15; if (pvVar15 == local_68) { LAB_18133766a: /* WARNING: Subroutine does not return */ free(pvVar8); } local_58 = &DAT_1821e2aae; LAB_181337330: FUN_181337fe0(pvVar15); lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_res18[lVar11] != 0); local_50 = local_res18 + lVar11; lVar11 = (longlong)local_50 - (longlong)local_res18; FUN_1812342b0(&local_res18,lVar11 + 2); pbVar12 = local_res18 + (int)lVar11; memcpy(pbVar12,&DAT_1821e2aac,2); pvVar10 = local_68; pbVar13 = local_88; pbVar3 = local_res18; pbVar12[2] = 0; iVar4 = 0; pbVar12 = local_88; LAB_1813373a0: do { bVar1 = *pbVar12; pbVar12 = pbVar12 + 1; if ((char)bVar1 < '\0') { if ((*pbVar12 & 0xc0) == 0x80) { do { pbVar12 = pbVar12 + 1; } while ((*pbVar12 & 0xc0) == 0x80); iVar4 = iVar4 + 1; goto LAB_1813373a0; } } else if (bVar1 == 0) break; iVar4 = iVar4 + 1; } while( true ); if (iVar4 != 1) { if (*local_res18 == 0) { if ((*(uint *)(local_88 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_88 + -0x10) = *(int *)(local_88 + -0x10) + 1; UNLOCK(); } LOCK(); local_res18 = local_88; UNLOCK(); puVar9 = (uint *)(pbVar3 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } else { lVar11 = -1; do { lVar11 = lVar11 + 1; } while (local_88[lVar11] != 0); local_40 = local_88 + lVar11; FUN_181232e20(&local_res18,local_88); } FUN_181232ce0(&local_res18,0x5d); goto LAB_181337639; } FUN_18049c4e0(&local_res20,"shortcut"); lVar11 = DAT_1826739f8; local_48 = &DAT_182673984; do { LOCK(); uVar7 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar7 != 0); if (DAT_1826739f8 == 0) { local_70 = local_res20; uVar7 = *(uint *)(local_res20 + -0x10); LAB_181337502: if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(local_70 + -0x10) = *(int *)(local_70 + -0x10) + 1; UNLOCK(); } } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res20,*(undefined1 *)(DAT_1826739f8 + 0x38) ,0), -1 < iVar4)) { iVar4 = FUN_1812498b0(lVar11 + 0x18,local_res20,*(undefined1 *)(lVar11 + 0x38),0); if (iVar4 < 0) { local_70 = local_res20; uVar7 = *(uint *)(local_res20 + -0x10); } else { plVar5 = (longlong *)FUN_181249970(lVar11 + 0x28,iVar4); local_70 = *plVar5; uVar7 = *(uint *)(local_70 + -0x10); } goto LAB_181337502; } FUN_181234570(*(undefined8 *)(lVar11 + 0x40),&local_70,&local_res20); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } uVar6 = FUN_181232d30(&local_res18,&local_70); FUN_181232e20(uVar6,&DAT_1821e2a54,&DAT_1821e2a57); uVar6 = FUN_181232d30(uVar6,&local_88); FUN_181232e20(uVar6,&DAT_1821e2a7c,&DAT_1821e2a7e); puVar9 = (uint *)(local_70 + -0x10); pbVar13 = local_88; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } LAB_181337639: puVar9 = (uint *)(pbVar13 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } pvVar15 = (void *)((longlong)pvVar15 + 0xc); pvVar8 = local_80; if (pvVar15 == pvVar10) goto LAB_18133766a; goto LAB_181337330; } ############ FUN_ 18123e260 size=301 ############ longlong FUN_18123e260(longlong param_1,undefined8 param_2,longlong *param_3,undefined8 param_4, uint param_5) { uint uVar1; longlong lVar2; longlong lVar3; longlong *plVar4; uint *puVar5; longlong local_res8; local_res8 = param_1; if ((param_5 & 1) != 0) { FUN_18049c4e0(&local_res8,&DAT_1821d9bb4); plVar4 = (longlong *)FUN_181232d30(&local_res8,param_3); lVar2 = *plVar4; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } lVar3 = *param_3; *param_3 = lVar2; puVar5 = (uint *)(lVar3 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } FUN_181240380(param_2,param_1,param_3,param_4,(byte)(param_5 >> 1) & 1); puVar5 = (uint *)(*param_3 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return param_1; } ############ FUN_ 1804d9870 size=782 ############ undefined8 * FUN_1804d9870(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { bool bVar1; bool bVar2; longlong lVar3; int iVar4; longlong *plVar5; uint uVar6; uint *puVar7; undefined8 **ppuVar8; undefined8 *local_res8; undefined8 *local_res10; undefined8 *local_40; undefined8 *local_38; undefined8 local_30; undefined4 *local_28; undefined4 *local_20; local_30 = 0xfffffffffffffffe; local_res8 = param_1; local_res10 = param_2; if ((char)param_3 == '\0') { FUN_18049c4e0(&local_res8,&DAT_18249b9c4,param_3,param_4,0); lVar3 = DAT_1826739f8; local_20 = &DAT_182673984; do { LOCK(); uVar6 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar6 != 0); if (DAT_1826739f8 == 0) { local_40 = local_res8; if ((*(uint *)(local_res8 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -2) = *(int *)(local_res8 + -2) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res8, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar4)) { iVar4 = FUN_1812498b0(lVar3 + 0x18,local_res8,*(undefined1 *)(lVar3 + 0x38),0); if (iVar4 < 0) { local_40 = local_res8; uVar6 = *(uint *)(local_res8 + -2); } else { plVar5 = (longlong *)FUN_181249970(lVar3 + 0x28,iVar4); local_40 = (undefined8 *)*plVar5; uVar6 = *(uint *)(local_40 + -2); } if ((uVar6 & 0x30000000) == 0) { LOCK(); *(int *)(local_40 + -2) = *(int *)(local_40 + -2) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar3 + 0x40),&local_40,&local_res8,&local_res8); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar7 = (uint *)(local_res8 + -2); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } ppuVar8 = &local_40; bVar2 = false; bVar1 = true; } else { FUN_18049c4e0(&local_res10,&DAT_18249b9c8,param_3,param_4,0); lVar3 = DAT_1826739f8; local_28 = &DAT_182673984; do { LOCK(); uVar6 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar6 != 0); if (DAT_1826739f8 == 0) { local_38 = local_res10; if ((*(uint *)(local_res10 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = *(int *)(local_res10 + -2) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res10, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar4)) { iVar4 = FUN_1812498b0(lVar3 + 0x18,local_res10,*(undefined1 *)(lVar3 + 0x38),0); if (iVar4 < 0) { local_38 = local_res10; uVar6 = *(uint *)(local_res10 + -2); } else { plVar5 = (longlong *)FUN_181249970(lVar3 + 0x28,iVar4); local_38 = (undefined8 *)*plVar5; uVar6 = *(uint *)(local_38 + -2); } if ((uVar6 & 0x30000000) == 0) { LOCK(); *(int *)(local_38 + -2) = *(int *)(local_38 + -2) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar3 + 0x40),&local_38,&local_res10,&local_res10); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar7 = (uint *)(local_res10 + -2); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } ppuVar8 = &local_38; bVar2 = true; bVar1 = false; } *param_2 = *ppuVar8; *ppuVar8 = (undefined8 *)&DAT_1821dbf98; if ((bVar1) && (puVar7 = (uint *)(local_40 + -2), (*puVar7 & 0x30000000) == 0)) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if ((bVar2) && (puVar7 = (uint *)(local_38 + -2), (*puVar7 & 0x30000000) == 0)) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } return param_2; } ############ FUN_ 1804eef10 size=630 ############ float * FUN_1804eef10(longlong param_1,float *param_2,undefined8 param_3) { uint uVar1; int iVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 uVar5; uint *puVar6; float fVar7; float fVar8; float fVar9; double dVar10; float fVar11; undefined1 *local_res8; undefined1 *local_res10; longlong local_res20; longlong local_58; longlong local_50; longlong local_48 [4]; local_48[1] = 0xfffffffffffffffe; FUN_18049c4e0(&local_res20,&DAT_18249f074); local_res10 = &DAT_1821dbf98; puVar3 = (undefined8 *)FUN_1804f1300(param_1,local_48,param_3,"stroke-linecap",&local_res10); local_res8 = &DAT_1821dbf98; puVar4 = (undefined8 *)FUN_1804f1300(param_1,&local_50,param_3,"stroke-linejoin",&local_res8); uVar5 = FUN_1804f1300(param_1,&local_58,param_3,"stroke-width",&local_res20); iVar2 = FUN_18049bb30(*puVar3,"round"); if (iVar2 == 0) { fVar8 = 2.8026e-45; } else { iVar2 = FUN_18049bb30(*puVar3,"square"); fVar8 = (float)(uint)(iVar2 == 0); } iVar2 = FUN_18049bb30(*puVar4,"round"); if (iVar2 == 0) { fVar7 = 1.4013e-45; } else { iVar2 = FUN_18049bb30(*puVar4,"bevel"); fVar7 = (float)(-(uint)(iVar2 == 0) & 2); } dVar10 = (double)CONCAT44((uint)((ulonglong)(double)*(float *)(param_1 + 0x38) >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)*(float *)(param_1 + 0x38),0) & (uint)DAT_1824c4f10); fVar11 = ((float)dVar10 + (float)(double)CONCAT44((uint)((ulonglong)(double)*(float *)(param_1 + 0x28) >> 0x20) & DAT_1824c4f10._4_4_, SUB84((double)*(float *)(param_1 + 0x28),0) & (uint)DAT_1824c4f10 )) * DAT_1824c3d8c; fVar9 = (float)FUN_1804f0b80(dVar10,uVar5,*(undefined4 *)(param_1 + 0x20)); *param_2 = fVar9 * fVar11; param_2[1] = fVar7; param_2[2] = fVar8; puVar6 = (uint *)(local_58 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_50 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_48[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_res10 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_res20 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return param_2; } ############ FUN_ 181251ed0 size=229 ############ void FUN_181251ed0(longlong *param_1,ulonglong param_2) { int *piVar1; undefined8 *puVar2; int iVar3; char *pcVar4; char *pcVar5; undefined8 local_res18; longlong local_res20; iVar3 = FUN_181252020(); if (iVar3 != (int)param_2) { FUN_181252760(param_1); puVar2 = *(undefined8 **)(*param_1 + 0x10); *(undefined8 *)(*param_1 + 0x10) = 0; if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar2)(puVar2,1); } } if ((param_2 & 1) == 0) { pcVar5 = "Italic"; pcVar4 = "Regular"; } else { pcVar5 = "Bold Italic"; pcVar4 = "Bold"; } if ((param_2 >> 1 & 1) == 0) { pcVar5 = pcVar4; } FUN_18049c4e0(&local_res18,pcVar5); local_res20 = *(longlong *)(*param_1 + 0x20); *(undefined8 *)(*param_1 + 0x20) = local_res18; piVar1 = (int *)(local_res20 + -0x10); if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(piVar1); } } *(byte *)(*param_1 + 0x38) = (byte)(param_2 >> 2) & 1; *(undefined4 *)(*param_1 + 0x34) = 0; } return; } ############ FUN_ 1804f3d50 size=1064 ############ /* WARNING: Type propagation algorithm not settling */ undefined8 * FUN_1804f3d50(undefined8 *param_1,undefined8 param_2,longlong *param_3,longlong *param_4) { longlong *plVar1; longlong *plVar2; longlong lVar3; int iVar4; undefined8 uVar5; longlong *plVar6; uint uVar7; undefined8 *puVar8; uint *puVar9; longlong *local_res18; longlong local_res20; longlong *local_88; longlong local_80 [2]; undefined4 local_70; undefined8 local_6c; undefined4 local_64; longlong local_60; longlong *local_58; undefined8 local_50; undefined4 *local_48; undefined4 *local_40; local_50 = 0xfffffffffffffffe; puVar8 = param_1; FUN_1813453e0(); *puVar8 = juce::FileChooserDialogBox::ContentComponent::vftable; puVar8[0x16] = param_4; uVar5 = (**(code **)(*param_4 + 0x158))(param_4,&local_60); plVar1 = param_1 + 0x17; local_res18 = plVar1; FUN_1813379d0(plVar1,uVar5); *plVar1 = (longlong)juce::TextButton::vftable; param_1[0x2d] = juce::TextButton::vftable; puVar9 = (uint *)(local_60 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_18049c4e0(&local_res18,"Cancel"); lVar3 = DAT_1826739f8; local_48 = &DAT_182673984; do { LOCK(); uVar7 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar7 != 0); if (DAT_1826739f8 == 0) { local_88 = local_res18; uVar7 = *(uint *)(local_res18 + -2); LAB_1804f3eae: if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(local_88 + -2) = (int)local_88[-2] + 1; UNLOCK(); } } else { if (*(longlong *)(DAT_1826739f8 + 0x40) == 0) { LAB_1804f3e66: iVar4 = FUN_1812498b0(lVar3 + 0x18,local_res18,*(undefined1 *)(lVar3 + 0x38),0); if (iVar4 < 0) { local_88 = local_res18; uVar7 = *(uint *)(local_res18 + -2); } else { local_88 = (longlong *)FUN_181249970(lVar3 + 0x28,iVar4); local_88 = (longlong *)*local_88; uVar7 = *(uint *)(local_88 + -2); } goto LAB_1804f3eae; } iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res18,*(undefined1 *)(DAT_1826739f8 + 0x38),0); if (-1 < iVar4) goto LAB_1804f3e66; FUN_181234570(*(undefined8 *)(lVar3 + 0x40),&local_88,&local_res18,&local_res18); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar9 = (uint *)(local_res18 + -2); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } plVar2 = param_1 + 0x50; local_58 = plVar2; FUN_1813379d0(plVar2,&local_88); *plVar2 = (longlong)juce::TextButton::vftable; param_1[0x66] = juce::TextButton::vftable; puVar9 = (uint *)(local_88 + -2); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } FUN_18049c4e0(&local_res20,"New Folder"); lVar3 = DAT_1826739f8; local_40 = &DAT_182673984; do { LOCK(); uVar7 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar7 != 0); if (DAT_1826739f8 == 0) { local_80[0] = local_res20; uVar7 = *(uint *)(local_res20 + -0x10); } else { if (*(longlong *)(DAT_1826739f8 + 0x40) != 0) { iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res20,*(undefined1 *)(DAT_1826739f8 + 0x38),0 ); if (iVar4 < 0) { FUN_181234570(*(undefined8 *)(lVar3 + 0x40),local_80,&local_res20,&local_res20); goto LAB_1804f3ff9; } } iVar4 = FUN_1812498b0(lVar3 + 0x18,local_res20,*(undefined1 *)(lVar3 + 0x38),0); if (iVar4 < 0) { local_80[0] = local_res20; uVar7 = *(uint *)(local_res20 + -0x10); } else { plVar6 = (longlong *)FUN_181249970(lVar3 + 0x28,iVar4); local_80[0] = *plVar6; uVar7 = *(uint *)(local_80[0] + -0x10); } } if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(local_80[0] + -0x10) = *(int *)(local_80[0] + -0x10) + 1; UNLOCK(); } LAB_1804f3ff9: LOCK(); DAT_182673984 = 0; UNLOCK(); puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar8 = param_1 + 0x89; local_58 = puVar8; FUN_1813379d0(puVar8,local_80); *puVar8 = juce::TextButton::vftable; param_1[0x9f] = juce::TextButton::vftable; puVar9 = (uint *)(local_80[0] + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } lVar3 = *param_3; param_1[0xc2] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } param_1[0xc3] = 0; param_1[0xc4] = 0; param_1[0xc5] = 0; *(undefined4 *)(param_1 + 0xc6) = 9; FUN_18134aef0(param_1,param_1[0x16],0xffffffff); FUN_18134aef0(param_1,plVar1,0xffffffff); local_80[1] = 0xd; local_70 = 0; FUN_18051b4d0(param_1 + 0x3f,local_80 + 1); (**(code **)(*plVar1 + 0x88))(plVar1); FUN_18134aef0(param_1,plVar2,0xffffffff); local_6c = 0x1b; local_64 = 0; FUN_18051b4d0(param_1 + 0x78,&local_6c); (**(code **)(*plVar2 + 0x88))(plVar2); FUN_181343cc0(param_1,puVar8,0xffffffff); *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x18; return param_1; } ############ FUN_ 1805094a0 size=249 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805094a0(longlong param_1,longlong param_2) { longlong lVar1; longlong *plVar2; undefined1 auStack_78 [32]; undefined1 local_58; undefined8 local_50; longlong local_48; undefined8 local_38; undefined8 local_30; undefined **local_28; undefined1 local_20 [8]; ulonglong local_18; local_30 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_78; if ((*(char *)(param_2 + 0x59) != '\0') && (*(char *)(param_1 + 0xb0) == '\0')) { *(undefined1 *)(param_1 + 0xb0) = 1; lVar1 = FUN_18133a120(); if (lVar1 != 0) { local_28 = &PTR_vftable_18262b560; FUN_18049c4e0(local_20,"_toolbarItem_"); local_38 = 0; local_48 = param_2 + 0x50; local_50 = 0; local_58 = 1; FUN_18133a190(lVar1,&local_28,*(undefined8 *)(param_1 + 0x18),&local_38); (**(code **)(*local_28 + 0xb0))(local_28,local_20); plVar2 = (longlong *)FUN_1805096c0(param_1); if ((plVar2 != (longlong *)0x0) && (*(undefined1 *)((longlong)plVar2 + 0x1e9) = 1, *(int *)((longlong)plVar2 + 0x1cc) == 1)) { (**(code **)(*plVar2 + 0x58))(plVar2,0); } } } } ############ FUN_ 180516d60 size=287 ############ undefined8 * FUN_180516d60(undefined8 *param_1,undefined8 *param_2,undefined4 *param_3,undefined4 param_4, undefined8 param_5) { uint *_Memory; uint uVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; undefined8 uVar5; undefined8 *local_res10; FUN_18049c4e0(&local_res10,"DragAndDrop",param_3,param_4,0xfffffffffffffffe); *param_1 = juce::ThreadPoolJob::vftable; param_1[1] = local_res10; _Memory = (uint *)(local_res10 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } param_1[2] = 0; *(undefined2 *)(param_1 + 3) = 0; *(undefined1 *)((longlong)param_1 + 0x1a) = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 4)); param_1[10] = 0; param_1[0xb] = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::DragAndDropHelpers::DragAndDropJob::vftable; uVar5 = param_2[1]; param_1[0xc] = *param_2; param_1[0xd] = uVar5; uVar5 = param_2[3]; param_1[0xe] = param_2[2]; param_1[0xf] = uVar5; uVar2 = param_3[1]; uVar3 = param_3[2]; uVar4 = param_3[3]; *(undefined4 *)(param_1 + 0x10) = *param_3; *(undefined4 *)((longlong)param_1 + 0x84) = uVar2; *(undefined4 *)(param_1 + 0x11) = uVar3; *(undefined4 *)((longlong)param_1 + 0x8c) = uVar4; param_1[0x12] = *(undefined8 *)(param_3 + 4); *(undefined4 *)(param_1 + 0x13) = param_4; local_res10 = param_1 + 0x14; param_1[0x1b] = 0; FUN_180488560(local_res10,param_5); return param_1; } ############ FUN_ 181329f30 size=261 ############ longlong * FUN_181329f30(longlong *param_1,longlong *param_2,longlong *param_3,longlong *param_4) { uint *_Memory; uint uVar1; byte bVar2; longlong lVar3; byte bVar4; byte *pbVar5; byte bVar6; longlong local_res10; longlong local_res18; lVar3 = *param_2; *param_1 = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } lVar3 = *param_4; param_1[1] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } lVar3 = *param_3; param_1[2] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; *(undefined2 *)(param_1 + 6) = 1; param_1[0xe] = 0; param_1[0xf] = 0; pbVar5 = (byte *)*param_4; while( true ) { bVar2 = *pbVar5; if (bVar2 == 0) { FUN_18049c4e0(&local_res10,&DAT_1821e2c3c,param_3,param_4,0xfffffffffffffffe); local_res18 = param_1[1]; param_1[1] = local_res10; _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } if ((bVar2 != 0x20) && (4 < (byte)(bVar2 - 9))) break; pbVar5 = pbVar5 + 1; if ((char)bVar2 < '\0') { bVar6 = 0x40; bVar4 = bVar2 & 0x40; while ((bVar4 != 0 && (8 < bVar6))) { pbVar5 = pbVar5 + 1; bVar6 = bVar6 >> 1; bVar4 = bVar2 & bVar6; } } } return param_1; } ############ FUN_ 180528e20 size=203 ############ bool FUN_180528e20(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; longlong lVar2; int iVar3; longlong *plVar4; int iVar5; float fVar6; longlong local_res10; FUN_18049c4e0(&local_res10,"offline oversample",param_3,param_4,0xfffffffffffffffe); lVar2 = local_res10; plVar4 = (longlong *)FUN_18119aa60(param_1 + 0x178,local_res10); if (*(float *)(plVar4 + 0x17) == 0.0) { iVar5 = -1; local_res10 = lVar2; } else { fVar6 = (float)FUN_180487220(plVar4 + 0x16,(int)plVar4[0x31]); iVar5 = (int)(fVar6 / *(float *)(plVar4 + 0x17)); } iVar3 = (**(code **)(*plVar4 + 0x30))(plVar4); _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return iVar5 != iVar3 + -1; } ############ FUN_ 1805372c0 size=125 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_1805372c0(undefined8 param_1,undefined8 param_2,float *param_3) { undefined8 uVar1; undefined *puVar2; double dVar3; if (DAT_1824c3f68 <= (double)*param_3) { dVar3 = (double)*param_3; if (dVar3 <= _DAT_1824c4268) { FUN_1812339a0(param_2,dVar3,1); return param_2; } puVar2 = &DAT_1824ab614; uVar1 = 0x912410d3; } else { puVar2 = &DAT_1824aae44; uVar1 = 0x4ace37cc; } uVar1 = FUN_18113e800(DAT_1824c3f68,uVar1,puVar2,4); FUN_18049c4e0(param_2,uVar1); return param_2; } ############ FUN_ 180537340 size=125 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_180537340(undefined8 param_1,undefined8 param_2,float *param_3) { undefined8 uVar1; undefined *puVar2; double dVar3; if (DAT_1824c3f68 <= (double)*param_3) { dVar3 = (double)*param_3; if (dVar3 <= _DAT_1824c4268) { FUN_1812339a0(param_2,dVar3,1); return param_2; } puVar2 = &DAT_1824ac4d8; uVar1 = 0x12929f56; } else { puVar2 = &DAT_1824ac06c; uVar1 = 0xe6fdb5b2; } uVar1 = FUN_18113e800(DAT_1824c3f68,uVar1,puVar2,4); FUN_18049c4e0(param_2,uVar1); return param_2; } ############ FUN_ 1805390f0 size=233 ############ ushort FUN_1805390f0(longlong param_1,undefined8 param_2) { char *_Str; int iVar1; uint uVar2; longlong *plVar3; uint *puVar4; char *local_res8; FUN_18049c4e0(&local_res8,&DAT_1824acbf4); iVar1 = FUN_1812498b0(param_1,param_2,*(undefined1 *)(param_1 + 0x20),0); if (iVar1 < 0) { uVar2 = *(uint *)(local_res8 + -0x10); _Str = local_res8; } else { plVar3 = (longlong *)FUN_181249970(param_1 + 0x10,iVar1); uVar2 = *(uint *)((char *)*plVar3 + -0x10); _Str = (char *)*plVar3; } puVar4 = (uint *)(_Str + -0x10); if ((uVar2 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } iVar1 = atoi(_Str); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_res8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return (ushort)iVar1 << 8 | (ushort)iVar1 >> 8; } ############ FUN_ 1805391e0 size=221 ############ uint FUN_1805391e0(longlong param_1,undefined8 param_2,undefined8 param_3) { uint uVar1; char *_Str; int iVar2; uint uVar3; longlong *plVar4; uint *puVar5; char *local_res10; FUN_18049c4e0(&local_res10,param_3); iVar2 = FUN_1812498b0(param_1,param_2,*(undefined1 *)(param_1 + 0x20),0); if (iVar2 < 0) { uVar3 = *(uint *)(local_res10 + -0x10); _Str = local_res10; } else { plVar4 = (longlong *)FUN_181249970(param_1 + 0x10,iVar2); uVar3 = *(uint *)((char *)*plVar4 + -0x10); _Str = (char *)*plVar4; } puVar5 = (uint *)(_Str + -0x10); if ((uVar3 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } uVar3 = atoi(_Str); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return uVar3 & 0xff; } ############ FUN_ 18053d130 size=432 ############ undefined8 * FUN_18053d130(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4, undefined4 param_5,int param_6) { uint *_Memory; uint uVar1; int iVar2; longlong lVar3; undefined8 uVar4; longlong local_res10; FUN_18049c4e0(&local_res10,"FLAC file"); *param_1 = juce::AudioFormatWriter::vftable; param_1[1] = param_3; *(undefined4 *)(param_1 + 2) = param_4; *(undefined4 *)((longlong)param_1 + 0x14) = param_5; *(undefined1 *)(param_1 + 3) = 0; FUN_1812b1fe0(param_1 + 4,param_4); param_1[9] = param_2; param_1[10] = local_res10; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::FlacWriter::vftable; *(undefined1 *)(param_1 + 0xb) = 0; if ((longlong *)param_1[9] == (longlong *)0x0) { lVar3 = 0; } else { lVar3 = (**(code **)(*(longlong *)param_1[9] + 0x18))(); if (lVar3 < 0) { lVar3 = 0; } } param_1[0xd] = lVar3; uVar4 = FUN_18139d3c0(); param_1[0xc] = uVar4; if (0 < param_6) { iVar2 = 8; if (param_6 < 8) { iVar2 = param_6; } FUN_18139bf00(uVar4,iVar2); } if (**(int **)param_1[0xc] == 1) { (*(int **)param_1[0xc])[4] = (uint)(*(int *)(param_1 + 2) == 2); } if (**(int **)param_1[0xc] == 1) { (*(int **)param_1[0xc])[5] = (uint)(*(int *)(param_1 + 2) == 2); } if (**(int **)param_1[0xc] == 1) { (*(int **)param_1[0xc])[6] = *(int *)(param_1 + 2); } if (**(int **)param_1[0xc] == 1) { uVar1 = 0x18; if (*(uint *)((longlong)param_1 + 0x14) < 0x18) { uVar1 = *(uint *)((longlong)param_1 + 0x14); } (*(int **)param_1[0xc])[7] = uVar1; } if (**(int **)param_1[0xc] == 1) { (*(int **)param_1[0xc])[8] = (int)(longlong)(double)param_1[1]; } if (**(int **)param_1[0xc] == 1) { (*(int **)param_1[0xc])[9] = 0; } iVar2 = FUN_18139c260(param_1[0xc]); *(bool *)(param_1 + 0xb) = iVar2 == 0; return param_1; } ############ FUN_ 18053e070 size=1805 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_18053e070(undefined8 *param_1,undefined8 param_2,double param_3,undefined4 param_4, undefined4 param_5,int param_6,longlong param_7) { uint *puVar1; undefined8 *puVar2; undefined8 *puVar3; uint uVar4; int iVar5; char *pcVar6; int *piVar7; int iVar8; undefined4 uVar9; void *pvVar10; longlong lVar11; longlong lVar12; undefined8 *puVar13; undefined4 *puVar14; ulonglong *puVar15; ulonglong uVar16; float fVar17; double dVar18; double dVar19; float fVar20; double dVar21; double dVar22; longlong local_res10; char *local_res18; undefined1 local_e8 [40]; undefined1 local_c0 [40]; undefined1 local_98 [96]; FUN_18049c4e0(&local_res10,"Ogg-Vorbis file"); *param_1 = juce::AudioFormatWriter::vftable; param_1[1] = param_3; *(undefined4 *)(param_1 + 2) = param_4; *(undefined4 *)((longlong)param_1 + 0x14) = param_5; *(undefined1 *)(param_1 + 3) = 0; FUN_1812b1fe0(param_1 + 4,param_4); param_1[9] = param_2; param_1[10] = local_res10; puVar1 = (uint *)(local_res10 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } *param_1 = juce::OggWriter::vftable; *(undefined1 *)(param_1 + 0xb) = 0; puVar2 = param_1 + 0x44; *puVar2 = 0; param_1[0x45] = 0; param_1[0x46] = 0; param_1[0x47] = 0; param_1[0x48] = 0; pvVar10 = calloc(1,0x1670); param_1[0x48] = pvVar10; fVar20 = (float)param_6 * DAT_1824c3cb8; fVar17 = 0.0; if ((0.0 <= fVar20) && (fVar17 = DAT_1824c3ea4, fVar20 <= DAT_1824c3ea4)) { fVar17 = fVar20; } fVar20 = (float)((double)fVar17 + _DAT_1824c3d30); if (DAT_1824c3ea4 <= (float)((double)fVar17 + _DAT_1824c3d30)) { fVar20 = DAT_1824c3e9c; } *(float *)((longlong)pvVar10 + 0x1578) = fVar20; lVar11 = (longlong)pvVar10 + 0x1568; lVar12 = FUN_181374210(param_4,(int)param_3,(double)fVar20); *(longlong *)((longlong)pvVar10 + 0x1560) = lVar12; if (lVar12 != 0) { FUN_181373450(puVar2,param_4,(int)param_3); *(undefined4 *)((longlong)pvVar10 + 0x157c) = 0; *(undefined4 *)((longlong)pvVar10 + 0x15a8) = 1; iVar8 = FUN_181373610(puVar2); if (iVar8 == 0) { puVar3 = param_1 + 0x49; *puVar3 = 0; param_1[0x4a] = 0; param_1[0x4b] = 0; param_1[0x4c] = 0; uVar9 = FUN_1812498b0(param_7,"encoder",*(undefined1 *)(param_7 + 0x20),0,lVar11); puVar13 = (undefined8 *)FUN_181249970(param_7 + 0x10,uVar9); local_res18 = (char *)*puVar13; puVar1 = (uint *)(local_res18 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } if (*local_res18 != '\0') { FUN_181388810(puVar3,"ENCODER"); } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } uVar9 = FUN_1812498b0(param_7,"id3title",*(undefined1 *)(param_7 + 0x20),0); puVar13 = (undefined8 *)FUN_181249970(param_7 + 0x10,uVar9); pcVar6 = (char *)*puVar13; puVar1 = (uint *)(pcVar6 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } if (*pcVar6 != '\0') { FUN_181388810(puVar3,"TITLE"); } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } uVar9 = FUN_1812498b0(param_7,"id3artist",*(undefined1 *)(param_7 + 0x20),0); puVar13 = (undefined8 *)FUN_181249970(param_7 + 0x10,uVar9); pcVar6 = (char *)*puVar13; puVar1 = (uint *)(pcVar6 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } if (*pcVar6 != '\0') { FUN_181388810(puVar3,"ARTIST"); } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } uVar9 = FUN_1812498b0(param_7,"id3album",*(undefined1 *)(param_7 + 0x20),0); puVar13 = (undefined8 *)FUN_181249970(param_7 + 0x10,uVar9); pcVar6 = (char *)*puVar13; puVar1 = (uint *)(pcVar6 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } if (*pcVar6 != '\0') { FUN_181388810(puVar3,"ALBUM"); } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } FUN_18053ebe0(param_1,param_7,"id3comment","COMMENT"); FUN_18053ebe0(param_1,param_7,"id3date",&DAT_1824ace18); FUN_18053ebe0(param_1,param_7,"id3genre","GENRE"); FUN_18053ebe0(param_1,param_7,"id3trackNumber","TRACKNUMBER"); iVar8 = FUN_181390660(param_1 + 0x4d,puVar2,1); if (iVar8 == 0) { puVar13 = (undefined8 *)param_1[0x5c]; lVar11 = param_1[0x48]; puVar14 = calloc(1,0x28); puVar14[1] = *(undefined4 *)((longlong)param_1 + 0x224); *puVar14 = 0xc61c3c00; *(longlong *)(puVar14 + 2) = lVar11 + 0x1348; puVar13[0xe] = puVar14; pvVar10 = calloc(1,0x108); *puVar13 = pvVar10; FUN_18138d540(pvVar10,puVar2); piVar7 = (int *)param_1[0x48]; puVar13[0x12] = 0; puVar13[0x13] = 0; puVar13[0x14] = 0; puVar13[0x15] = 0; puVar13[0x16] = 0; puVar13[0x17] = 0; puVar13[0x18] = 0; if ((piVar7 + 0x54e != (int *)0x0) && (0 < piVar7[0x551])) { iVar8 = *(int *)(param_1 + 0x45); iVar5 = *piVar7; *(int *)(puVar13 + 0x15) = piVar7[1] / iVar5; *(undefined4 *)(puVar13 + 0x12) = 1; dVar19 = DAT_1824c4050; dVar21 = (double)(iVar5 >> 1); dVar22 = (double)iVar8; dVar18 = floor(((double)piVar7[0x54e] * dVar21) / dVar22 + DAT_1824c4050); *(int *)((longlong)puVar13 + 0x9c) = (int)dVar18; dVar18 = floor(((double)piVar7[0x54f] * dVar21) / dVar22 + dVar19); *(int *)(puVar13 + 0x14) = (int)dVar18; dVar19 = floor(((double)piVar7[0x550] * dVar21) / dVar22 + dVar19); *(int *)((longlong)puVar13 + 0xa4) = (int)dVar19; puVar13[0x16] = 0x401c000000000000; iVar8 = piVar7[0x551]; dVar19 = *(double *)(piVar7 + 0x552); *(int *)(puVar13 + 0x13) = (int)((double)iVar8 * dVar19); *(int *)((longlong)puVar13 + 0x94) = (int)((double)iVar8 * dVar19); } param_1[0x57] = 3; } FUN_181390da0(param_1 + 0x4d,param_1 + 0x5d); puVar15 = (ulonglong *)FUN_18123aca0(); uVar16 = *puVar15 * 0x5deece66d + 0xb & 0xffffffffffff; *puVar15 = uVar16; FUN_181392770(param_1 + 0xc,(longlong)uVar16 >> 0x10); FUN_181386ec0(param_1 + 0x4d,puVar3,local_e8,local_c0,local_98); FUN_1813922d0(param_1 + 0xc,local_e8); FUN_1813922d0(param_1 + 0xc,local_c0); FUN_1813922d0(param_1 + 0xc,local_98); iVar8 = FUN_181392030(param_1 + 0xc,param_1 + 0x3b); while (iVar8 != 0) { (**(code **)(*(longlong *)param_1[9] + 0x20)) ((longlong *)param_1[9],param_1[0x3b],(longlong)*(int *)(param_1 + 0x3c)); (**(code **)(*(longlong *)param_1[9] + 0x20)) ((longlong *)param_1[9],param_1[0x3d],(longlong)*(int *)(param_1 + 0x3e)); iVar8 = FUN_181392030(param_1 + 0xc,param_1 + 0x3b); } *(undefined1 *)(param_1 + 0xb) = 1; return param_1; } } FUN_181388250(puVar2); return param_1; } ############ FUN_ 180547020 size=153 ############ void FUN_180547020(undefined8 param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4) { uint uVar1; uint *puVar2; longlong local_res10 [2]; longlong local_res20; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; FUN_18049c4e0(&local_res20); FUN_181211fd0(local_res10,param_3); FUN_18122c880(param_1,&local_res20,local_res10,param_4,uVar3); puVar2 = (uint *)(local_res10[0] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(local_res20 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 1805470c0 size=274 ############ int FUN_1805470c0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int iVar1; uint uVar2; longlong *plVar3; uint *puVar4; char *local_res8; longlong *local_res10; char *local_res18; local_res10 = param_2; local_res18 = (char *)param_3; FUN_18049c4e0(&local_res8,&DAT_1824acbf4,param_3,param_4,0xfffffffffffffffe); local_res10 = (longlong *)*param_2; iVar1 = FUN_1812498b0(param_1,local_res10,*(undefined1 *)(param_1 + 0x20),0); if (iVar1 < 0) { local_res18 = local_res8; puVar4 = (uint *)(local_res8 + -0x10); uVar2 = *puVar4; } else { plVar3 = (longlong *)FUN_181249970(param_1 + 0x10,iVar1); local_res18 = (char *)*plVar3; puVar4 = (uint *)(local_res18 + -0x10); uVar2 = *puVar4; } if ((uVar2 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } iVar1 = atoi(local_res18); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_res8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(*param_2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return iVar1; } ############ FUN_ 1805471e0 size=219 ############ int FUN_1805471e0(longlong param_1,undefined8 param_2,undefined8 param_3) { char *_Str; int iVar1; uint uVar2; longlong *plVar3; uint *puVar4; char *local_res10; FUN_18049c4e0(&local_res10,param_3); iVar1 = FUN_1812498b0(param_1,param_2,*(undefined1 *)(param_1 + 0x20),0); if (iVar1 < 0) { uVar2 = *(uint *)(local_res10 + -0x10); _Str = local_res10; } else { plVar3 = (longlong *)FUN_181249970(param_1 + 0x10,iVar1); uVar2 = *(uint *)((char *)*plVar3 + -0x10); _Str = (char *)*plVar3; } puVar4 = (uint *)(_Str + -0x10); if ((uVar2 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } iVar1 = atoi(_Str); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_res10 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return iVar1; } ############ FUN_ 180541960 size=760 ############ void FUN_180541960(byte *param_1,undefined8 param_2) { uint uVar1; uint *puVar2; longlong local_res8; longlong local_res18; longlong local_res20; longlong local_58; longlong local_50; longlong local_48; longlong local_40; longlong local_38; longlong local_30; longlong local_28 [2]; local_28[1] = 0xfffffffffffffffe; FUN_180541c60(param_1,param_2,"acid one shot",1); FUN_180541c60(param_1,param_2,"acid root set",2); FUN_180541c60(param_1,param_2,"acid stretch",4); FUN_180541c60(param_1,param_2,"acid disk based",8); FUN_180541c60(param_1,param_2,"acidizer flag",0x10); if ((*param_1 & 2) != 0) { FUN_18049c4e0(&local_res18,"acid root note"); FUN_181211fd0(&local_res8,*(undefined2 *)(param_1 + 4)); FUN_18122c880(param_2,&local_res18,&local_res8); puVar2 = (uint *)(local_res8 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(local_res18 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } } FUN_18049c4e0(&local_58,"acid beats"); FUN_181211fd0(&local_res20,*(undefined4 *)(param_1 + 0xc)); FUN_18122c880(param_2,&local_58,&local_res20); puVar2 = (uint *)(local_res20 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(local_58 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } FUN_18049c4e0(&local_48,"acid denominator"); FUN_181211fd0(&local_50,*(undefined2 *)(param_1 + 0x10)); FUN_18122c880(param_2,&local_48,&local_50); puVar2 = (uint *)(local_50 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(local_48 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } FUN_18049c4e0(&local_38,"acid numerator"); FUN_181211fd0(&local_40,*(undefined2 *)(param_1 + 0x12)); FUN_18122c880(param_2,&local_38,&local_40); puVar2 = (uint *)(local_40 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(local_38 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } FUN_18049c4e0(local_28,"acid tempo"); FUN_1812339a0(&local_30,(double)*(float *)(param_1 + 0x14),0,0); FUN_18122c880(param_2,local_28,&local_30); puVar2 = (uint *)(local_30 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(local_28[0] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 18136e1e0 size=662 ############ void FUN_18136e1e0(undefined8 param_1,longlong *param_2,longlong param_3) { uint uVar1; code *pcVar2; wint_t wVar3; int iVar4; int iVar5; int iVar6; longlong lVar7; undefined8 uVar8; uint *puVar9; char *pcVar10; undefined **ppuVar11; int local_res10 [2]; int local_res18 [2]; longlong local_res20; longlong local_58; undefined8 local_50; void *local_48; ulonglong local_40; local_50 = 0xfffffffffffffffe; lVar7 = (**(code **)(*param_2 + 0xa8))(param_2); do { if (param_3 <= lVar7) { return; } pcVar2 = *(code **)(*param_2 + 0x40); if (pcVar2 == FUN_181235d70) { iVar4 = (**(code **)(*param_2 + 0x18))(param_2,local_res10,4); iVar6 = local_res10[0]; if (iVar4 != 4) { iVar6 = 0; } } else { iVar6 = (*pcVar2)(param_2); } lVar7 = (**(code **)(*param_2 + 0xa8))(param_2); lVar7 = param_3 - lVar7; if (0 < lVar7) { pcVar2 = *(code **)(*param_2 + 0x40); if (pcVar2 == FUN_181235d70) { iVar5 = (**(code **)(*param_2 + 0x18))(param_2,local_res18,4); iVar4 = local_res18[0]; if (iVar5 != 4) { iVar4 = 0; } } else { iVar4 = (*pcVar2)(); } if (iVar4 < lVar7) { lVar7 = (longlong)iVar4; } if (lVar7 < 1) { return; } ppuVar11 = &PTR_DAT_18262b710; do { pcVar10 = *ppuVar11; iVar4 = 0; while (wVar3 = towupper((ushort)(iVar6 >> ((char)iVar4 * '\b' & 0x1fU)) & 0xff), (int)*pcVar10 == (uint)wVar3) { iVar4 = iVar4 + 1; pcVar10 = pcVar10 + 1; if (3 < iVar4) { local_48 = (void *)0x0; local_40 = 0; (**(code **)(*param_2 + 0xa0))(param_2,&local_48,lVar7); FUN_18049c4e0(&local_res20,*ppuVar11); uVar8 = FUN_18122f8f0(&local_58,local_48,local_40 & 0xffffffff); FUN_18122c880(param_1,&local_res20,uVar8); puVar9 = (uint *)(local_58 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } /* WARNING: Subroutine does not return */ free(local_48); } } ppuVar11 = ppuVar11 + 1; } while (ppuVar11 != (undefined **)&DAT_18262b998); } lVar7 = (**(code **)(*param_2 + 0xa8))(param_2); } while( true ); } ############ FUN_ 18136f150 size=213 ############ int FUN_18136f150(longlong param_1,undefined8 *param_2) { char *_Str; int iVar1; uint uVar2; longlong *plVar3; uint *puVar4; char *local_res10; undefined8 local_res18; FUN_18049c4e0(&local_res10,&DAT_1821e42b4); local_res18 = *param_2; iVar1 = FUN_1812498b0(param_1,local_res18,*(undefined1 *)(param_1 + 0x20),0); if (iVar1 < 0) { uVar2 = *(uint *)(local_res10 + -0x10); _Str = local_res10; } else { plVar3 = (longlong *)FUN_181249970(param_1 + 0x10,iVar1); uVar2 = *(uint *)((char *)*plVar3 + -0x10); _Str = (char *)*plVar3; } puVar4 = (uint *)(_Str + -0x10); if ((uVar2 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } iVar1 = atoi(_Str); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_res10 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return iVar1; } ############ FUN_ 1805509c0 size=1024 ############ undefined8 * FUN_1805509c0(undefined8 *param_1,longlong *param_2,int param_3,int param_4) { uint uVar1; longlong lVar2; uint *puVar3; longlong local_res10; longlong local_90; undefined1 local_88 [8]; longlong local_80; undefined1 local_78 [8]; longlong local_70; undefined1 local_68 [8]; longlong local_60; undefined1 local_58 [8]; longlong local_50 [3]; local_50[1] = 0xfffffffffffffffe; FUN_18049c4e0(local_50,"DirectSound"); *param_1 = juce::AudioIODevice::vftable; lVar2 = *param_2; param_1[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[2] = local_50[0]; puVar3 = (uint *)(local_50[0] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); *puVar3 = *puVar3 + 1; UNLOCK(); } if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_18049c4e0(&local_res10,"JUCE DSound"); FUN_18122b770(param_1 + 3,&local_res10); puVar3 = (uint *)(local_res10 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } *param_1 = juce::DSoundAudioIODevice::vftable; param_1[3] = juce::DSoundAudioIODevice::vftable; param_1[0x43] = 0; param_1[0x44] = 0; param_1[0x45] = 0; param_1[0x46] = 0; *(int *)(param_1 + 0x47) = param_3; *(int *)((longlong)param_1 + 0x23c) = param_4; *(undefined2 *)(param_1 + 0x48) = 0; param_1[0x49] = &DAT_1821dbf98; param_1[0x4a] = 0; param_1[0x4b] = 0; param_1[0x4c] = 0; param_1[0x4d] = 0; *(undefined1 *)(param_1 + 0x4e) = 0; _Mtx_init_in_situ(param_1 + 0x4f,2); _Cnd_init_in_situ(param_1 + 0x59); *(undefined1 *)(param_1 + 0x62) = 0; *(undefined4 *)(param_1 + 99) = 0; param_1[100] = 0; param_1[0x65] = 0; param_1[0x68] = 4; *(undefined4 *)(param_1 + 0x69) = 0xffffffff; *(undefined1 *)((longlong)param_1 + 0x34c) = 0; *(undefined4 *)(param_1 + 0x66) = 0; *(undefined4 *)((longlong)param_1 + 0x334) = 0; *(undefined4 *)(param_1 + 0x67) = 0; *(undefined4 *)((longlong)param_1 + 0x33c) = 0; param_1[0x6a] = 0; param_1[0x6d] = 4; *(undefined4 *)(param_1 + 0x6e) = 0xffffffff; *(undefined1 *)((longlong)param_1 + 0x374) = 0; *(undefined4 *)(param_1 + 0x6b) = 0; *(undefined4 *)((longlong)param_1 + 0x35c) = 0; *(undefined4 *)(param_1 + 0x6c) = 0; *(undefined4 *)((longlong)param_1 + 0x364) = 0; param_1[0x6f] = 0; param_1[0x70] = 0; param_1[0x71] = param_1 + 0x73; param_1[0x72] = 0; *(undefined1 *)(param_1 + 0x93) = 0; param_1[0x94] = 0; param_1[0x95] = 0; param_1[0x96] = param_1 + 0x98; param_1[0x97] = 0; *(undefined1 *)(param_1 + 0xb8) = 0; param_1[0xb9] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xba)); if (-1 < param_3) { FUN_18049c4e0(&local_90,&DAT_1824ad9c0); FUN_1812344e0(local_88,&local_90); puVar3 = (uint *)(local_90 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_18122dc00(param_1 + 0x45,local_88); FUN_18049c4e0(&local_80,"Right"); FUN_1812344e0(local_78,&local_80); puVar3 = (uint *)(local_80 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_18122dc00(param_1 + 0x45,local_78); } if (-1 < param_4) { FUN_18049c4e0(&local_70,&DAT_1824ad9c0); FUN_1812344e0(local_68,&local_70); puVar3 = (uint *)(local_70 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_18122dc00(param_1 + 0x43,local_68); FUN_18049c4e0(&local_60,"Right"); FUN_1812344e0(local_58,&local_60); puVar3 = (uint *)(local_60 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_18122dc00(param_1 + 0x43,local_58); } return param_1; } ############ FUN_ 180552040 size=401 ############ undefined8 * FUN_180552040(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; undefined8 *dwNewLong; uint uVar1; HMODULE hModule; undefined8 *local_res10; FUN_18049c4e0(&local_res10,"DirectSound",param_3,param_4,0xfffffffffffffffe); *param_1 = juce::AudioIODeviceType::vftable; param_1[1] = local_res10; _Memory = (uint *)(local_res10 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } param_1[2] = 0; param_1[3] = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } dwNewLong = param_1 + 4; param_1[5] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 6) = 0; *dwNewLong = juce::DeviceChangeDetector::vftable; local_res10 = dwNewLong; FUN_1804cf280(param_1 + 7,L"DirectSound",FUN_1804cf5b0); SetWindowLongPtrW((HWND)param_1[8],-0x15,(LONG_PTR)dwNewLong); *param_1 = juce::DSoundAudioIODeviceType::vftable; *dwNewLong = juce::DSoundAudioIODeviceType::vftable; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; *(undefined1 *)(param_1 + 0x11) = 0; if (DAT_182678f30 == (FARPROC)0x0) { hModule = LoadLibraryA("dsound.dll"); DAT_182678f30 = GetProcAddress(hModule,"DirectSoundCreate"); DAT_182678f40 = GetProcAddress(hModule,"DirectSoundCaptureCreate"); DAT_182678f38 = GetProcAddress(hModule,"DirectSoundEnumerateW"); DAT_182678f48 = GetProcAddress(hModule,"DirectSoundCaptureEnumerateW"); } return param_1; } ############ FUN_ 18055de20 size=328 ############ undefined8 FUN_18055de20(undefined8 param_1,undefined4 param_2) { switch(param_2) { case 0: case 4: FUN_18049c4e0(param_1,"6 dB/oct"); return param_1; case 1: case 5: FUN_18049c4e0(param_1,"12 dB/oct"); return param_1; case 2: case 6: FUN_18049c4e0(param_1,"24 dB/oct"); return param_1; case 3: case 7: FUN_18049c4e0(param_1,"48 dB/oct"); return param_1; case 8: FUN_18049c4e0(param_1,&DAT_1824b0314); return param_1; case 9: FUN_18049c4e0(param_1,"high shelf"); return param_1; case 10: FUN_18049c4e0(param_1,"low shelf"); return param_1; case 0xb: FUN_18049c4e0(param_1,&DAT_1824b02ac); return param_1; case 0xc: FUN_18049c4e0(param_1,"band pass"); return param_1; case 0xd: FUN_18049c4e0(param_1,"band shelf"); return param_1; case 0xe: FUN_18049c4e0(param_1,"band reject"); return param_1; default: FUN_18049c4e0(param_1,&DAT_18249336a); return param_1; } } ############ FUN_ 18055e1c0 size=33 ############ undefined8 .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"NoOpenGLOption"); return param_2; } ############ FUN_ 18055e4e0 size=33 ############ undefined8 FUN_18055e4e0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"HelpOpenedOption"); return param_2; } ############ FUN_ 1811e50d0 size=130 ############ undefined8 * FUN_1811e50d0(undefined8 *param_1,undefined8 param_2) { uint uVar1; bool bVar2; undefined8 *local_res8; local_res8 = param_1; FUN_18049c4e0(&local_res8,"CWEnabledOption"); *param_1 = ProcessorStateOption::vftable; param_1[1] = local_res8; param_1[2] = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = CueFreqDisplayEnabledOption::vftable; return param_1; } ############ FUN_ 181253f80 size=150 ############ void FUN_181253f80(longlong param_1) { int *_Memory; int iVar1; undefined8 local_res8; longlong local_res10; *(undefined4 *)(param_1 + 0x5c) = 0x3f800000; *(undefined4 *)(param_1 + 0x58) = 0; FUN_18049c4e0(&local_res8,"Regular"); local_res10 = *(longlong *)(param_1 + 0x18); *(undefined8 *)(param_1 + 0x18) = local_res8; _Memory = (int *)(local_res10 + -0x10); if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } memset((void *)(param_1 + 0x70),0,0x100); FUN_1804ae910(param_1 + 0x60); if (*(int *)(param_1 + 0x68) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x60)); } *(undefined4 *)(param_1 + 0x68) = 0; return; } ############ FUN_ 180579c10 size=265 ############ undefined8 * FUN_180579c10(undefined8 *param_1) { uint *_Memory; uint uVar1; undefined8 *local_res8; local_res8 = param_1; FUN_18049c4e0(&local_res8); *param_1 = juce::Component::vftable; param_1[1] = local_res8; _Memory = (uint *)(local_res8 + -2); if ((*(uint *)(local_res8 + -2) & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x17] = 0; *param_1 = Styled::vftable; param_1[0x16] = Styled::vftable; *(undefined1 *)(param_1 + 0x18) = 0; return param_1; } ############ FUN_ 18057a680 size=181 ############ undefined8 * FUN_18057a680(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint *_Memory; longlong local_res10 [3]; local_res10[0] = param_2; FUN_18049c4e0(local_res10,"resize",param_3,param_4,0xfffffffffffffffe); FUN_1813379d0(param_1,local_res10); *param_1 = juce::TextButton::vftable; param_1[0x16] = juce::TextButton::vftable; _Memory = (uint *)(local_res10[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x3a] = 0; *param_1 = Styled::vftable; param_1[0x16] = Styled::vftable; param_1[0x39] = Styled::vftable; *(undefined1 *)(param_1 + 0x3b) = 0; return param_1; } ############ FUN_ 1814c9b60 size=821 ############ void FUN_1814c9b60(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6) { uint *_Memory; uint uVar1; undefined8 uVar2; undefined8 *puVar3; undefined **ppuVar4; undefined1 auStack_638 [40]; undefined8 *local_610; undefined4 local_608; undefined1 local_600 [136]; undefined8 local_578; longlong local_560 [5]; undefined8 local_538; undefined8 *local_530; void *local_4a0; undefined4 local_494; ulonglong local_38; local_538 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_638; local_578 = param_6; local_608 = 0; local_610 = (undefined8 *)param_2; local_530 = param_1; FUN_18049c4e0(local_560,"PluginTutorialComponent"); *param_1 = juce::Component::vftable; param_1[1] = local_560[0]; _Memory = (uint *)(local_560[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x17] = 0; *(undefined1 *)(param_1 + 0x18) = 0; *param_1 = CloudyTutorialEngine::vftable; param_1[0x16] = CloudyTutorialEngine::vftable; param_1[0x19] = CloudyTutorialEngine::vftable; param_1[0x1a] = CloudyTutorialEngine::vftable; param_1[0x1b] = 0; *(undefined4 *)(param_1 + 0x1c) = 0; param_1[0x1d] = 0; param_1[0x1e] = 0; param_1[0x1f] = 0; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = 0; param_1[0x24] = param_4; param_1[0x25] = param_5; param_1[0x26] = local_610; param_1[0x27] = param_3; param_1[0x28] = 0; param_1[0x29] = local_578; FUN_1814cd550(param_1 + 0x2a); FUN_1815ef760(param_1 + 0x52); FUN_181330640(param_1 + 0x72); ppuVar4 = juce::DrawablePath::vftable; param_1[0x72] = juce::DrawablePath::vftable; puVar3 = param_1 + 0xa4; FUN_181330640(); *puVar3 = ppuVar4; puVar3 = param_1 + 0xd6; FUN_181330640(); *puVar3 = ppuVar4; puVar3 = param_1 + 0x108; FUN_181330640(); *puVar3 = ppuVar4; puVar3 = param_1 + 0x13a; FUN_181330640(); *puVar3 = ppuVar4; puVar3 = param_1 + 0x16c; FUN_181330640(); *puVar3 = ppuVar4; param_1[0x19e] = 0; param_1[0x19f] = 0; param_1[0x1a0] = 0; puVar3 = param_1 + 0x1a1; *puVar3 = 0; param_1[0x1a2] = 0; local_610 = puVar3; uVar2 = FUN_18047e380(); *puVar3 = uVar2; param_1[0x1a3] = 0; param_1[0x1a4] = 0; param_1[0x1a5] = 0; param_1[0x1a6] = 0; param_1[0x1a7] = std::_Func_impl_no_alloc<,void>::vftable ; param_1[0x1ae] = param_1 + 0x1a7; param_1[0x1af] = std::_Func_impl_no_alloc<,void>::vftable ; param_1[0x1b6] = param_1 + 0x1af; FUN_18049c4e0(local_600,&DAT_1823a39b0); uVar2 = FUN_180576a30(&local_4a0,local_600); FUN_181330ae0(param_1 + 0x72,uVar2); local_494 = 0; /* WARNING: Subroutine does not return */ free(local_4a0); } ############ FUN_ 1814cfbf0 size=524 ############ undefined8 * FUN_1814cfbf0(undefined8 *param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; longlong local_res10; undefined8 local_68; undefined4 local_60; undefined4 local_50; undefined **local_48; undefined8 *local_40; undefined ***local_10; FUN_18049c4e0(&local_res10,"Tutorial beacon",param_3,param_4,0xfffffffffffffffe); *param_1 = juce::Component::vftable; param_1[1] = local_res10; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x17] = 0; *(undefined1 *)(param_1 + 0x18) = 0; param_1[0x1a] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x1b) = 0; *param_1 = CloudyTutorialBeacon::vftable; param_1[0x16] = CloudyTutorialBeacon::vftable; param_1[0x19] = CloudyTutorialBeacon::vftable; local_50 = DAT_1824c3e28; local_68 = CONCAT44(DAT_1824c44cc,DAT_1824c442c); local_60 = DAT_1824c3e28; FUN_181408750(param_1 + 0x1c,&local_68); *(undefined4 *)(param_1 + 0x50) = 0x3f800000; param_1[0x52] = 0; param_1[0x53] = 0; *(undefined4 *)(param_1 + 0x54) = 0; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xef | 8; *(byte *)((longlong)param_1 + 0xa9) = *(byte *)((longlong)param_1 + 0xa9) & 0xf7; FUN_181411b10(param_1 + 0x1c,&DAT_182280c14,DAT_1824c3ea4); local_48 = std:: _Func_impl_no_alloc<,void,juce::StringRef,float> ::vftable; local_10 = &local_48; local_40 = param_1; FUN_181410000(param_1 + 0x1c,&local_48); return param_1; } ############ FUN_ 1814d1530 size=407 ############ void FUN_1814d1530(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4, longlong *param_5) { int *piVar1; undefined8 *puVar2; longlong lVar3; undefined8 uVar4; undefined8 *puVar5; int iVar6; undefined1 local_a0 [16]; undefined8 local_90; undefined4 local_88; undefined4 local_84; undefined8 local_80; void *local_78; void *local_70; undefined4 local_64; local_80 = 0xfffffffffffffffe; FUN_1813379d0(param_1,param_3); param_1[0x3a] = 0; *(undefined1 *)(param_1 + 0x3b) = 0; *param_1 = CloudyTutorialButton::vftable; param_1[0x16] = CloudyTutorialButton::vftable; param_1[0x39] = CloudyTutorialButton::vftable; lVar3 = *param_2; param_1[0x3c] = lVar3; iVar6 = 1; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } lVar3 = *param_5; param_1[0x3d] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(lVar3 + -0x10); iVar6 = *piVar1; *piVar1 = *piVar1 + 1; UNLOCK(); } puVar2 = param_1 + 0x3e; *puVar2 = 0; param_1[0x3f] = 0; param_1[0x40] = 0; param_1[0x41] = 0; *(undefined1 *)(param_1 + 0x42) = 1; *(undefined1 *)(param_1 + 0x43) = 0; *(undefined8 *)((longlong)param_1 + 0x21c) = 0; *(undefined8 *)((longlong)param_1 + 0x224) = 0; *(undefined8 *)((longlong)param_1 + 0x22c) = 0; *(undefined8 *)((longlong)param_1 + 0x234) = 0; FUN_1815ef760(param_1 + 0x48,iVar6); *(undefined4 *)(param_1 + 0x68) = 0x41000000; FUN_18049c4e0(local_a0, "\n\n\n" ); puVar5 = (undefined8 *)FUN_180576a30(&local_70,local_a0); if (puVar2 != puVar5) { local_90 = *puVar5; *puVar5 = 0; local_88 = *(undefined4 *)(puVar5 + 1); local_84 = *(undefined4 *)((longlong)puVar5 + 0xc); puVar5[1] = 0; local_78 = (void *)*puVar2; *puVar2 = local_90; *(undefined4 *)(param_1 + 0x3f) = local_88; *(undefined4 *)((longlong)param_1 + 0x1fc) = local_84; /* WARNING: Subroutine does not return */ free(local_78); } uVar4 = puVar5[3]; param_1[0x40] = puVar5[2]; param_1[0x41] = uVar4; *(undefined1 *)(param_1 + 0x42) = *(undefined1 *)(puVar5 + 4); local_64 = 0; /* WARNING: Subroutine does not return */ free(local_70); } ############ FUN_ 1815ef340 size=110 ############ undefined8 * FUN_1815ef340(undefined8 *param_1,undefined8 param_2,undefined1 param_3) { undefined8 *local_res8; local_res8 = param_1; FUN_18049c4e0(&local_res8,&DAT_1821d91d6); FUN_1814dbc30(param_1,param_2,&local_res8,param_3); *param_1 = CloudyModal::vftable; param_1[0x16] = CloudyModal::vftable; return param_1; } ############ FUN_ 1816054b0 size=119 ############ undefined8 * FUN_1816054b0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined1 local_res10 [8]; undefined8 uVar1; uVar1 = 0xfffffffffffffffe; FUN_18056b680(); FUN_18049c4e0(local_res10,"separator",param_3,param_4,uVar1); FUN_1815fb460(param_1 + 0x19,local_res10); *param_1 = CloudyPopupMenuSeparator::vftable; param_1[0x16] = CloudyPopupMenuSeparator::vftable; param_1[0x19] = CloudyPopupMenuSeparator::vftable; return param_1; } ############ FUN_ 180567b90 size=1641 ############ void FUN_180567b90(longlong param_1) { uint uVar1; undefined8 uVar2; longlong lVar3; void *_Memory; longlong *plVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 uVar8; undefined8 uVar9; float fVar10; undefined8 uVar11; BOOL BVar12; undefined4 uVar13; int iVar14; HGLRC pHVar15; uint *_Memory_00; undefined8 *puVar16; LPCRITICAL_SECTION lpCriticalSection; ulonglong uVar17; int *piVar18; ulonglong uVar19; float fVar20; longlong local_res18; double local_res20; undefined8 local_148; LPCRITICAL_SECTION local_140; undefined **local_138; undefined4 local_130; LPCRITICAL_SECTION local_128; char local_120; undefined4 local_118; undefined4 uStack_114; undefined8 uStack_110; undefined8 uStack_108; undefined8 uStack_100; undefined8 local_f8; undefined8 local_e8; undefined8 uStack_e0; undefined8 local_d8; float local_c8; float local_b8; local_f8 = 0xfffffffffffffffe; FUN_18163b8b0(0xfff4fcff); if (*(longlong *)(param_1 + 0x270) == 0) { return; } lVar3 = *(longlong *)(param_1 + 0x270); if (lVar3 == 0) { return; } pHVar15 = wglGetCurrentContext(); if (pHVar15 != *(HGLRC *)(lVar3 + 0x28)) { return; } uVar19 = 0; if (DAT_18267369c == 0) { if ((*(longlong *)(param_1 + 0xe8) != 0) && (*(longlong *)(param_1 + 0x128) != 0)) { DAT_18267369c = 2; goto LAB_180567caa; } DAT_18267369c = 1; local_138 = &PTR_vftable_18262b570; local_130 = 1; (**(code **)(*(longlong *)(param_1 + 0x20) + 0x28))((longlong *)(param_1 + 0x20),&local_138); _Memory = *(void **)(param_1 + 0x78); *(undefined8 *)(param_1 + 0x78) = 0; if (_Memory != (void *)0x0) { FUN_18056afc0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } } if (DAT_18267369c == 1) { return; } LAB_180567caa: if ((*(byte *)(*(longlong *)(param_1 + 0xe0) + 0xa8) >> 1 & 1) != 0) { lpCriticalSection = (LPCRITICAL_SECTION)(param_1 + 0xb4); local_140 = lpCriticalSection; local_128 = lpCriticalSection; BVar12 = TryEnterCriticalSection(lpCriticalSection); local_120 = BVar12 != 0; if (((((bool)local_120) && (*(char *)(param_1 + 0x81) == '\0')) && (*(longlong *)(param_1 + 0x78) != 0)) && (*(longlong *)(param_1 + 0x2e0) != 0)) { fVar20 = (float)*(double *)(param_1 + 0x280); glEnable(0xbe2); glBlendFunc(0x302); local_res20 = (double)((float)*(int *)(*(longlong *)(param_1 + 0xe0) + 0x2c) * fVar20) + DAT_1824c4520; glViewport(0,0,(ulonglong) ((double)((float)*(int *)(*(longlong *)(param_1 + 0xe0) + 0x28) * fVar20) + DAT_1824c4520) & 0xffffffff,(ulonglong)local_res20 & 0xffffffff); if (*(longlong *)(param_1 + 0x68) == 0) { FUN_180569930(param_1); } (**(code **)(**(longlong **)(param_1 + 0x68) + 0x70)) ((int)(*(longlong **)(param_1 + 0x68))[1]); fVar10 = DAT_1824c3ea4; local_c8 = (float)*(int *)(param_1 + 0x84); local_b8 = local_c8 / (float)*(int *)(*(longlong *)(param_1 + 0xe0) + 0x28); plVar4 = *(longlong **)(param_1 + 0x68); uVar13 = (**(code **)(*plVar4 + 0x98))((int)plVar4[1],"translation"); (**(code **)(*plVar4 + 0xd0))(uVar13); plVar4 = *(longlong **)(param_1 + 0x68); uVar13 = (**(code **)(*plVar4 + 0x98))((int)plVar4[1],"scale"); (**(code **)(*plVar4 + 0xd0))(uVar13); plVar4 = *(longlong **)(param_1 + 0x68); uVar13 = (**(code **)(*plVar4 + 0x98))((int)plVar4[1],"resolution"); (**(code **)(*plVar4 + 0xd0))(uVar13); plVar4 = *(longlong **)(param_1 + 0x68); uVar13 = (**(code **)(*plVar4 + 0x98))((int)plVar4[1],"pixel"); (**(code **)(*plVar4 + 0xd0))(uVar13); plVar4 = *(longlong **)(param_1 + 0x68); uVar13 = (**(code **)(*plVar4 + 0x98))((int)plVar4[1],&DAT_1824b0634); (**(code **)(*plVar4 + 200))(uVar13,0); plVar4 = *(longlong **)(param_1 + 0x68); uVar13 = (**(code **)(*plVar4 + 0x98))((int)plVar4[1],"isHighDPIDisplay"); (**(code **)(*plVar4 + 200))(uVar13,fVar10 < fVar20); if (*(longlong *)(param_1 + 0x60) != 0) { local_148 = *(undefined8 *)(param_1 + 0x68); plVar4 = *(longlong **)(param_1 + 0x60); if (plVar4 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar4 + 0x10))(plVar4,&local_148); } if (*(char *)(param_1 + 0x80) == '\0') { plVar4 = *(longlong **)(param_1 + 0x68); puVar5 = *(undefined8 **)(param_1 + 0x78); puVar6 = (undefined8 *)puVar5[1]; for (puVar16 = (undefined8 *)*puVar5; puVar16 != puVar6; puVar16 = puVar16 + 3) { uVar8 = *puVar16; uVar9 = puVar16[1]; uVar2 = puVar16[2]; local_e8 = uVar8; uStack_e0 = uVar9; local_d8 = uVar2; if ((int)plVar4[1] == 0) { uVar13 = (**(code **)(*plVar4 + 0x30))(); *(undefined4 *)(plVar4 + 1) = uVar13; } uVar11 = local_d8; iVar14 = (**(code **)(param_1 + 0x188))((int)plVar4[1],local_d8); if (-1 < iVar14) { if ((int)plVar4[1] == 0) { uVar13 = (**(code **)(*plVar4 + 0x30))(); *(undefined4 *)(plVar4 + 1) = uVar13; } local_118 = (**(code **)(param_1 + 0x188))((int)plVar4[1],uVar11); puVar7 = (undefined8 *)puVar5[6]; uStack_110 = uVar8; uStack_108 = uVar9; uStack_100 = uVar2; if ((undefined8 *)puVar5[7] == puVar7) { FUN_18056d470(puVar5 + 5,puVar7,&local_118); } else { *puVar7 = CONCAT44(uStack_114,local_118); puVar7[1] = uVar8; puVar7[2] = uVar9; puVar7[3] = uVar2; puVar5[6] = puVar5[6] + 0x20; } } } FUN_18056a400(puVar5,param_1 + 0xe8); puVar16 = (undefined8 *)puVar5[8]; uVar17 = (ulonglong) ((longlong)(puVar16 + *(int *)((longlong)puVar5 + 0x4c)) + (7 - (longlong)puVar16)) >> 3; if (puVar16 + *(int *)((longlong)puVar5 + 0x4c) < puVar16) { uVar17 = uVar19; } if (uVar17 != 0) { do { (**(code **)(*(longlong *)*puVar16 + 0x10))(); puVar16 = puVar16 + 1; uVar19 = uVar19 + 1; } while (uVar19 != uVar17); } LOCK(); *(undefined1 *)(param_1 + 0x80) = 1; UNLOCK(); } piVar18 = (int *)(param_1 + 0x84); if (((*piVar18 != (int)*(undefined8 *)(param_1 + 0x94)) || (*(int *)(param_1 + 0x88) != (int)((ulonglong)*(undefined8 *)(param_1 + 0x94) >> 0x20))) || ((*(int *)(param_1 + 0x8c) != *(int *)(param_1 + 0x9c) || (*(int *)(param_1 + 0x90) != *(int *)(param_1 + 0xa0))))) { *(undefined8 *)(param_1 + 0x94) = *(undefined8 *)piVar18; *(undefined8 *)(param_1 + 0x9c) = *(undefined8 *)(param_1 + 0x8c); FUN_1805696e0(*(undefined8 *)(param_1 + 0x78),piVar18); } FUN_1805693e0(*(undefined8 *)(param_1 + 0x78)); FUN_18049c4e0(&local_res18,"render"); _Memory_00 = (uint *)(local_res18 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } (**(code **)(**(longlong **)(param_1 + 0x2e0) + 0x28))(); LOCK(); *(undefined1 *)(param_1 + 0x83) = 1; UNLOCK(); lpCriticalSection = local_140; } if (local_120 != '\0') { LeaveCriticalSection(lpCriticalSection); } } return; } ############ FUN_ 1811e4250 size=130 ############ undefined8 * FUN_1811e4250(undefined8 *param_1,undefined8 param_2) { uint uVar1; bool bVar2; undefined8 *local_res8; local_res8 = param_1; FUN_18049c4e0(&local_res8,"AutoCueOverrideOption"); *param_1 = ProcessorStateOption::vftable; param_1[1] = local_res8; param_1[2] = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = AutoCueOverrideOption::vftable; return param_1; } ############ FUN_ 1811e4f60 size=181 ############ undefined8 * FUN_1811e4f60(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; bool bVar2; undefined8 local_res10; longlong local_res18; FUN_18049c4e0(&local_res10,"MultiSelectedNodesOption",param_3,param_4,0xfffffffffffffffe); *param_1 = ProcessorStateOption::vftable; param_1[1] = local_res10; param_1[2] = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = MultiSelectedNodesOption::vftable; local_res18 = param_1[1]; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } FUN_1811efc90(param_2,&local_res18); return param_1; } ############ FUN_ 18057f0f0 size=130 ############ undefined8 * FUN_18057f0f0(undefined8 *param_1,undefined8 param_2) { uint uVar1; bool bVar2; undefined8 *local_res8; local_res8 = param_1; FUN_18049c4e0(&local_res8,"draggedNodeOption"); *param_1 = ProcessorStateOption::vftable; param_1[1] = local_res8; param_1[2] = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = DraggedNodeOption::vftable; return param_1; } ############ FUN_ 18057f1a0 size=130 ############ undefined8 * FUN_18057f1a0(undefined8 *param_1,undefined8 param_2) { uint uVar1; bool bVar2; undefined8 *local_res8; local_res8 = param_1; FUN_18049c4e0(&local_res8,"SliderAreaDisabled"); *param_1 = ProcessorStateOption::vftable; param_1[1] = local_res8; param_1[2] = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = SliderAreaDisabledOption::vftable; return param_1; } ############ FUN_ 1816075b0 size=3281 ############ /* WARNING: Instruction at (ram,0x000181607f90) overlaps instruction at (ram,0x000181607f8f) */ /* WARNING: Removing unreachable block (ram,0x000181607d51) */ /* WARNING: Removing unreachable block (ram,0x000181607b04) */ /* WARNING: Removing unreachable block (ram,0x00018160774c) */ /* WARNING: Removing unreachable block (ram,0x000181607779) */ /* WARNING: Removing unreachable block (ram,0x000181607b5f) */ /* WARNING: Removing unreachable block (ram,0x000181607fe1) */ /* WARNING: Removing unreachable block (ram,0x000181607d2f) */ void FUN_1816075b0(undefined8 *param_1,undefined8 param_2) { char cVar1; ulonglong uVar2; ulonglong uVar3; undefined8 *puVar4; int iVar5; uint uVar6; longlong lVar7; char *pcVar8; word *pwVar9; longlong *plVar10; undefined8 *puVar12; undefined8 *puVar13; IMAGE_DOS_HEADER *pIVar14; uint uVar15; longlong lVar16; IMAGE_DOS_HEADER *pIVar17; IMAGE_DOS_HEADER *pIVar18; uint uVar19; longlong *plVar20; longlong in_R11; uint uVar21; bool bVar22; uint unaff_retaddr; undefined1 auStack_178 [32]; undefined8 uStack_158; undefined8 local_150; uint local_148; uint local_140; undefined8 uStack_138; uint local_130; undefined1 auStack_12c [44]; undefined1 local_100 [8]; ulonglong local_f8; undefined8 *local_f0; byte local_e8 [8]; longlong local_e0; longlong local_d8; byte local_d0 [16]; byte local_c0 [8]; byte local_b8 [8]; undefined8 *local_b0; longlong local_a8; longlong local_a0; undefined4 local_78 [14]; ulonglong local_40; undefined8 *puVar11; puVar12 = (undefined8 *)local_78; plVar10 = (longlong *)auStack_178; local_b8[0] = 0xfe; local_b8[1] = 0xff; local_b8[2] = 0xff; local_b8[3] = 0xff; local_b8[4] = 0xff; local_b8[5] = 0xff; local_b8[6] = 0xff; local_b8[7] = 0xff; local_40 = DAT_182615970 ^ (ulonglong)auStack_178; local_f0 = param_1; local_b0 = param_1; FUN_180585a80(param_1,"sliderAreaShowHideButton"); *param_1 = CloudySliderAreaShowHideButton::vftable; param_1[0x16] = CloudySliderAreaShowHideButton::vftable; param_1[0x39] = CloudySliderAreaShowHideButton::vftable; param_1[0x3c] = CloudySliderAreaShowHideButton::vftable; puVar4 = param_1 + 0x3d; auStack_12c._36_8_ = puVar4; FUN_18049c4e0(local_100,"SliderAreaDisabled"); FUN_1811efc20(puVar4,local_100,param_2); *puVar4 = SliderAreaDisabledOption::vftable; uVar21 = (uint)&stack0x00000000; iVar5 = (uVar21 & 0x60ff) * (uVar21 & 0x60ff) + 1; uVar6 = (iVar5 >> 4) + (iVar5 >> 1) + iVar5 * 0x24924924 >> 0x1d; uVar6 = (int)(uVar6 - 7) >> 0x1f & uVar6; uVar15 = ((uVar21 & 0x1cff) * (uVar21 & 0x1cff) + 1) % 7; uVar6 = (int)((-uVar6 | uVar6) & (-uVar15 | uVar15)) >> 0x1f; auStack_12c._28_4_ = ((int)(-uVar6 | uVar6) >> 0x1f) * -0x2fad ^ 0x217d; uVar19 = ((uVar21 & 0x1aff) + 1) * (uVar21 & 0x1aff) + 0x7287 & 0x80000001; uVar15 = ((uVar21 & 0x15ff) + 1) * (uVar21 & 0x15ff) + 0x28b7 & 0x80000001; uVar6 = (((uVar21 & 0x1ff) + 1) * (uVar21 & 0x1ff) + 7) % 0x51; auStack_12c._24_4_ = 0x14e9U - ((int)((-uVar6 | uVar6) ^ (-uVar15 | uVar15)) >> 0x1f) ^ ((int)(-uVar19 | uVar19) >> 0x1f) * 0xf03 & 0x10f9U; do { local_148 = 0xad0191b8; local_c0[0] = 0x31; local_c0[1] = 0; local_c0[2] = 0; local_c0[3] = 0; local_e0 = 0x181607807; /* WARNING: Call to offcut address within same function */ func_0x000181607dae(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = (local_148 >> 4 | local_148 << 0x1c) & 0xc3c3c3c3 | (local_148 << 4 | local_148 >> 0x1c) & 0x3c3c3c3c; uVar15 = (uVar6 << 0x10 | uVar6 >> 0x10) + 0x30ac53f1; uVar6 = (uVar15 >> 8 ^ uVar15) >> 1 & 0x1f; uVar15 = (uVar6 << 8 | uVar6) * 2 ^ uVar15; uVar6 = uVar15 >> 2; uVar6 = ((uVar6 & 0x33333333) << 2 | (uVar15 << 0x1e | uVar6 & 0xcccccccc) >> 2) ^ 0xcd3d7a5f; local_148 = ((uVar6 >> 8 | uVar6 << 0x18) & 0x99669966 | (uVar6 << 8 | uVar6 >> 0x18) & 0x66996699 ) + 0x455da7e2; do { local_130 = 0x1d227508; local_e8[0] = 0x53; local_e8[1] = 0; local_e8[2] = 0; local_e8[3] = 0; local_d8 = 0x1816078d7; /* WARNING: Call to offcut address within same function */ func_0x00018160784d(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = ((local_130 << 4 | local_130 >> 0x1c) & 0xa5a5a5a5 | (local_130 >> 4 | local_130 << 0x1c) & 0x5a5a5a5a) ^ 0xa3a6aa47; uVar6 = (uVar6 >> 10 | uVar6 << 0x16) + 0x96057813; uVar15 = ((uVar6 >> 8 | uVar6 * 0x1000000) & 0x97689768 | (uVar6 * 0x100 | uVar6 >> 0x18) & 0x68976897) + 0x68151435; uVar19 = uVar15 * 4 | uVar15 >> 0x1e; uVar6 = ((uVar15 & 0x3fffffff) >> 8 ^ uVar19) >> 8 & 0x1ff; uVar6 = uVar19 ^ (uVar6 << 10 | uVar6) << 8; lVar16 = (int)local_148 + local_e0; lVar7 = ((ulonglong)((uVar6 >> 4 | uVar19 << 0x1c) & 0x1e1e1e1e) | (longlong)(int)(uVar6 << 4 | (uVar15 & 0x3fffffff) >> 0x1a) & 0xffffffffe1e1e1e1U) + local_d8; local_148 = 0; local_130 = 0; uVar2 = (ulonglong)((uint)(*(ulonglong *)(lVar7 + 4) >> 0xe) & 0x60054808) + *(longlong *)(lVar16 + 4); uVar2 = (uVar2 * 0x1000000 | uVar2 >> 0x28) ^ 0xfdef5956ee9f7918; uVar3 = uVar2 >> 0x32 | uVar2 << 0xe; uVar2 = (uVar3 >> 4 | (uVar2 >> 0x32) << 0x3c) & 0x9696969696969696 | (uVar3 << 4 | (uVar2 & 0x3ffffffffffff) >> 0x2e) & 0x6969696969696969; uVar2 = (uVar2 >> 2 | uVar2 << 0x3e) ^ 0xacc89d75c2207ee5; uVar2 = ~((uVar2 << 0x2c | uVar2 >> 0x14) + 0x615ad6969cec7ffd); *(ulonglong *)(lVar16 + 4) = uVar2; plVar20 = (longlong *)(lVar7 + 4); *plVar20 = *plVar20 + (uVar2 >> 0x14 & 0x86812006); auStack_12c._20_4_ = (uint)((ulonglong)*(undefined8 *)(lVar16 + 4) >> 0x20) & 0x7fffffff; local_140 = (uint)(*(ulonglong *)(lVar16 + 4) >> 0x1a) ^ 0xb7521656; local_f8 = *(ulonglong *)(lVar16 + 4) ^ 0x14f7f75a5a21fc77; *(undefined1 *)((longlong)param_1 + 0x1c1) = 1; lVar7 = param_1[0x3e]; local_a8 = lVar7; FUN_1804951c0(lVar7); local_a0 = lVar7; FUN_1811f8160(param_2,lVar7,param_1 + 0x3c); FUN_1804951e0(lVar7 + -0x10); FUN_181534680(param_1); do { /* WARNING: Call to offcut address within same function */ func_0x00018160803b(0xe200); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); do { FUN_1816065cf(0xe200); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); pIVar17 = &IMAGE_DOS_HEADER_180000000; puVar4 = (undefined8 *)0x180018fd0; uStack_138 = 0xde3798a50bbffb9b; uVar6 = 0xdb2046e7; uStack_158 = 0x107c449ec; local_150._0_4_ = 0x8001ebdf; local_150 = 0x18001ebdf; pIVar18 = pIVar17; LAB_181607d00: plVar20 = (longlong *)0x2621fc0; uVar15 = (uint)puVar4; if ((uint)local_150 == (uVar15 ^ 0x4413)) { do { uVar2 = 0; /* WARNING: Call to offcut address within same function */ *(undefined8 *)((longlong)plVar10 + -8) = 0x181607f8a; func_0x000181607dae(); if ((uVar2 & 0x41) != 0) { puVar13 = (undefined8 *)((longlong)plVar10 + -8); puVar11 = (undefined8 *)((longlong)plVar10 + -8); *(undefined8 **)((longlong)plVar10 + -8) = puVar12; cVar1 = '\x0f'; do { puVar12 = puVar12 + -1; puVar13 = puVar13 + -1; *puVar13 = *puVar12; cVar1 = cVar1 + -1; } while ('\0' < cVar1); *(undefined1 **)((longlong)plVar10 + -0x88) = (undefined1 *)((longlong)plVar10 + -8); plVar10 = (longlong *)((longlong)plVar10 + -0x8bd5); puVar12 = puVar11; } plVar10[-1] = 0x181607fae; FUN_1816084a1(); uVar15 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar15 < 0) { uVar15 = (uVar15 - 1 | 0xfffffffe) + 1; } } while (uVar15 != 0); *(uint *)(plVar10 + 10) = uVar6; plVar10[-1] = (longlong)puVar4; plVar10[-2] = in_R11; /* WARNING: Call to offcut address within same function */ plVar10[-3] = 0x181607ffb; func_0x000181608019(); lVar7 = plVar10[4]; plVar10[4] = lVar7 + 0x2ea; plVar10[3] = lVar7 + 0x3fc735; plVar10[2] = lVar7 + 0x3fd126; plVar10[1] = lVar7 + 0x3fd126; *plVar10 = lVar7 + 0x3fd126; plVar10[-1] = lVar7 + 0x3fd126; plVar10[-2] = lVar7 + -0x3c360; plVar10[-3] = lVar7 + 0x3fd126; plVar10[-4] = lVar7 + -0x260af; plVar10[-5] = lVar7 + -0x41e30; plVar10[-6] = lVar7 + -0x4e152; plVar10[-7] = lVar7 + 0x3fc735; plVar10[-8] = lVar7 + -0x77ebf; plVar10[-9] = lVar7 + -0x560e0; plVar10[-10] = lVar7 + -0xaf5b; plVar10[-0xb] = lVar7 + -0x67c77; /* WARNING: Could not recover jumptable at 0x0001816082c9. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(lVar7 + 0xe041))(); return; } puVar13 = puVar4; if ((pIVar17 != (IMAGE_DOS_HEADER *)0x0) && (uVar2._0_1_ = pIVar17->e_magic[0], uVar2._1_1_ = pIVar17->e_magic[1], uVar2._2_2_ = pIVar17->e_cblp, uVar2._4_2_ = pIVar17->e_cp, uVar2._6_2_ = pIVar17->e_crlc, -1 < (longlong)uVar2)) { local_d0[0] = 0xc0; local_d0[1] = 0x1f; local_d0[2] = 0x62; local_d0[3] = 2; local_d0[4] = 0; local_d0[5] = 0; local_d0[6] = 0; local_d0[7] = 0; pIVar14 = &IMAGE_DOS_HEADER_180000000; do { if (puVar4 < IMAGE_DOS_HEADER_180000000.e_magic + uVar2 + 8) { if (-1 < (longlong)uVar2) { pcVar8 = (char *)(uVar2 + 0x180000000); plVar20 = (longlong *)((longlong)puVar4 + 4); if (pcVar8 < plVar20) { local_78[0] = *(undefined4 *)puVar4; in_R11 = (longlong)puVar12 + (0x180000000 - (longlong)puVar4); puVar13 = puVar12; pIVar18 = pIVar17; goto LAB_181607df0; } } break; } pwVar9 = &pIVar17->e_cparhdr; uVar2._0_2_ = pIVar17->e_cparhdr; uVar2._2_2_ = pIVar17->e_minalloc; uVar2._4_2_ = pIVar17->e_maxalloc; uVar2._6_2_ = pIVar17->e_ss; pIVar17 = (IMAGE_DOS_HEADER *)pwVar9; } while (-1 < (longlong)uVar2); } LAB_181607e13: pIVar14 = (IMAGE_DOS_HEADER *)auStack_12c; pcVar8 = (char *)((longlong)puVar13 + 0x3c3c67cc); uVar2 = 0xe200; iVar5 = FUN_181606013(); do { if ((uVar2 & 0xc300) == 0) break; } while ((uVar2 & 0xc300) == 0); do { if ((uVar2 & 0xc3) == 0) { if ((uVar2 & 0xc3) == 0) goto LAB_181607e57; goto LAB_181607e4d; } if (-1 < (char)uVar2) break; do { iVar5 = *(int *)(pcVar8 + -0x3c3c67cc); if ((uVar2 & 0xc300) == 0) { return; } do { if ((uVar2 & 0xc3) != 0) goto LAB_181607e7b; } while ((uVar2 & 0xc3) != 0); LAB_181607e4d: pIVar14->e_magic[0] = (char)iVar5; pIVar14->e_magic[1] = (char)((uint)iVar5 >> 8); pIVar14->e_cblp = (short)((uint)iVar5 >> 0x10); bVar22 = (uVar2 & 0xc300) == 0; if (!bVar22) { LAB_181607e7b: uVar2 = (ulonglong)unaff_retaddr; goto LAB_181607e7f; } if (bVar22) goto LAB_181607e82; LAB_181607e57: } while ((uVar2 & 0xc3) == 0); if ((char)uVar2 < '\0') goto LAB_181607e7f; } while( true ); while (pcVar8 = pIVar14->e_magic + uVar2, pcVar8 < plVar20) { LAB_181607df0: *(longlong *)(in_R11 + uVar2) = *(longlong *)pcVar8 - (longlong)pIVar14; pIVar18 = (IMAGE_DOS_HEADER *)&pIVar18->e_cparhdr; uVar2 = *(ulonglong *)pIVar18; if ((longlong)uVar2 < 0) break; } goto LAB_181607e13; LAB_181607e7f: iVar5 = (int)uVar2 + 1; LAB_181607e82: uVar19 = iVar5 * (int)uVar2 & 0x80000001; if ((int)uVar19 < 0) { uVar19 = (uVar19 - 1 | 0xfffffffe) + 1; } if (uVar19 == 0) goto code_r0x000181607e9b; goto LAB_181607e13; code_r0x000181607e9b: auStack_12c._0_4_ = ((uint)(auStack_12c._0_4_ * 0x5bd1e995) >> 0x18 ^ auStack_12c._0_4_ * 0x5bd1e995) * 0x5bd1e995; uVar6 = uVar6 * 0x5bd1e995 ^ auStack_12c._0_4_; uVar19 = uVar15 & 0xff; iVar5 = (uVar19 + 2) * (uVar19 + 1) * uVar19; if ((((iVar5 >> 1) - (iVar5 >> 3)) + iVar5 * 0x55555555 >> 0x1e & 0xbU) == 0) { uVar19 = uVar6 & 0x3f | 0x18; uVar15 = uVar15 & 0xf | 6; uVar15 = uVar19 * uVar19 * 0x7439 ^ uVar15 * uVar15 * 0x31ff; } else { uVar15 = 9; } puVar4 = (undefined8 *) ((longlong)puVar4 + (0x1c - ((longlong)(((int)(-uVar15 | uVar15) >> 0x1f) * -0x313d) ^ 0x3125U))); goto LAB_181607d00; } ############ FUN_ 180585a80 size=158 ############ undefined8 * FUN_180585a80(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint *_Memory; longlong local_res10 [3]; local_res10[0] = param_2; FUN_18049c4e0(local_res10,"sliderAreaShowHideButton",param_3,param_4,0xfffffffffffffffe); FUN_1813379d0(param_1,local_res10); _Memory = (uint *)(local_res10[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x3a] = 0; *param_1 = Styled::vftable; param_1[0x16] = Styled::vftable; param_1[0x39] = Styled::vftable; *(undefined1 *)(param_1 + 0x3b) = 0; return param_1; } ############ FUN_ 181182b70 size=1891 ############ /* WARNING: Instruction at (ram,0x000181182eab) overlaps instruction at (ram,0x000181182ea8) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x000181182c3e) */ /* WARNING: Removing unreachable block (ram,0x000181182c4d) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ int FUN_181182b70(undefined8 *param_1,undefined8 param_2,undefined8 *param_3) { int iVar1; uint *puVar2; ulonglong uVar3; uint uVar4; undefined4 *puVar5; ulonglong uVar6; ulonglong uVar7; longlong *plVar8; uint uVar9; longlong lVar10; uint uVar11; uint uVar12; bool bVar13; int unaff_retaddr; undefined1 auStack_1a8 [32]; undefined4 local_188; undefined *local_180; uint local_178 [2]; ulonglong local_170; uint local_164; undefined8 local_160; uint local_158; undefined4 local_148; uint local_144; undefined8 local_140; uint local_138; uint local_134; undefined *local_130; undefined8 *local_128; undefined4 local_120; undefined4 local_11c; longlong local_110; longlong local_108; undefined8 local_e8; undefined8 *local_e0; undefined8 local_c0; undefined8 *local_b8; undefined8 local_b0; undefined8 *local_a8; ulonglong local_48; local_c0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_1a8; *param_1 = Preset::vftable; local_128 = param_1; local_e8 = param_2; local_e0 = param_3; local_b8 = param_1; local_b0 = param_2; local_a8 = param_3; FUN_1804875e0(param_1 + 1); param_1[2] = *param_3; FUN_1804951c0(); FUN_18049c4e0(param_1 + 3,&DAT_1821d8e43); param_1[4] = &DAT_1821dbf98; param_1[6] = 0; param_1[7] = 0; uVar9 = (uint)&stack0x00000000; uVar12 = (((uVar9 & 0x35ff) + 1) * (uVar9 & 0x35ff) + 7) % 0x51; uVar4 = ((uVar9 & 0x1cff) * (uVar9 & 0x1cff) * 0x10 + 4) % 0x13; uVar11 = (((uVar9 & 0x33ff) + 1) * (uVar9 & 0x33ff) + 7) % 0x51; local_138 = ((int)(-uVar11 | uVar11) >> 0x1f) * -0x1d2f ^ (((int)(-uVar12 | uVar12) >> 0x1f) - ((int)(-uVar4 | uVar4) >> 0x1f) | 0x11dfU); uVar12 = ((uVar9 & 0x11ff) * (uVar9 & 0x11ff) * 0x10 + 4) % 0x13; iVar1 = (uVar9 & 0x28ff) * (uVar9 & 0x28ff) + 1; uVar4 = (iVar1 >> 4) + (iVar1 >> 1) + iVar1 * 0x24924924 >> 0x1d; uVar4 = (int)(uVar4 - 7) >> 0x1f & uVar4; uVar9 = ((uVar9 & 0x4ff) * (uVar9 & 0x4ff) * 0x10 + 4) % 0x13; local_134 = 0xf9c6U - ((int)((-uVar4 | uVar4) ^ (-uVar12 | uVar12)) >> 0x1f) ^ (int)(-uVar9 | uVar9) >> 0x1f & 0xf1d6U; local_140 = 0; local_160 = 0x1e2dfd8; local_170 = 0x7ff0; local_180 = &DAT_181e2dfd8; local_130 = &DAT_181e35fc8; bVar13 = false; do { uVar3 = 0; uVar4 = FUN_181181c95(); if ((bVar13) && ((uVar3 & 0x40) != 0)) { return CONCAT31((int3)((uVar4 | _DAT_d04951f0) >> 8),(char)(uVar4 | _DAT_d04951f0) + '$') + -0x7ee7d162; } uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } bVar13 = uVar4 == 0; } while (!bVar13); local_160 = 0x6b819cc55714b957; do { plVar8 = &local_110; puVar5 = &local_120; puVar2 = local_178; FUN_181181993(); *puVar2 = 0x635c49cb; *puVar5 = 0x16; *plVar8 = 0x181182f27; FUN_181184487(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (local_178[0] << 0x10 | local_178[0] >> 0x10) & 0xc63039cf | (local_178[0] >> 0x10 | local_178[0] << 0x10) & 0x39cfc630; uVar9 = uVar4 >> 0x1b | uVar4 << 5; uVar4 = ((uVar4 & 0x7ffffff) >> 0xb | uVar9 << 0x10) & 0xfe63019c | (uVar9 << 0x10 | (uVar4 & 0x7ffffff) >> 0xb) & 0x19cfe63; uVar9 = (uVar4 >> 0x10 | uVar4 << 0x10) & 0xee871178 | (uVar4 << 0x10 | uVar4 >> 0x10) & 0x1178ee87; uVar4 = (uVar9 >> 10 ^ uVar9) >> 1 & 0x1ff; uVar9 = uVar9 ^ ((uVar4 << 10 | uVar4) ^ 0x32f1eb42) * 2; uVar9 = (uVar9 << 0x10 | uVar9 >> 0x10) & 0xb3b84c47 | (uVar9 >> 0x10 | uVar9 << 0x10) & 0x4c47b3b8; uVar4 = (uVar9 >> 0xc ^ uVar9) >> 0xb & 7; local_178[0] = ((uVar4 << 0xc | uVar4) << 0xb ^ uVar9) + 0xbaa9660; do { local_158 = 0x7e99844b; local_11c = 0x22; local_108 = 0x181183027; FUN_1811816a1(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); uVar4 = (local_158 >> 10 ^ local_158) >> 0xb & 0x3ff; local_158 = (uVar4 << 10 | uVar4) << 0xb ^ local_158; uVar4 = (local_158 >> 0x10 | local_158 << 0x10) + 0x8eac8a49; uVar4 = ((uVar4 * 4 | uVar4 >> 0x1e) & 0x99999999 | (uVar4 >> 2 | uVar4 * 0x40000000) & 0x66666666 ) ^ 0xea2cf9ab; uVar4 = (uVar4 << 4 | uVar4 >> 0x1c) & 0xc3c3c3c3 | (uVar4 >> 4 | uVar4 << 0x1c) & 0x3c3c3c3c; uVar9 = uVar4 << 6 | uVar4 >> 0x1a; local_110 = (int)local_178[0] + local_110; lVar10 = (((longlong)(int)(uVar9 >> 2 | (uVar4 >> 0x1a) << 0x1e) & 0xffffffffccccccccU | (ulonglong)((uVar9 & 0xccccccc) << 2 | (uVar4 & 0x3ffffff) >> 0x18)) ^ 0x70d47d90) + local_108; local_178[0] = 0; local_158 = 0; *(longlong *)(local_110 + 4) = *(longlong *)(local_110 + 4) + (ulonglong)((uint)(*(ulonglong *)(lVar10 + 4) >> 3) & 0x3c80b01); uVar3 = *(ulonglong *)(local_110 + 4); uVar3 = (uVar3 >> 0x10 | uVar3 << 0x30) & 0xa3de5c21a3de5c21 | (uVar3 << 0x10 | uVar3 >> 0x30) & 0x5c21a3de5c21a3de; uVar6 = (uVar3 << 4 | uVar3 >> 0x3c) & 0xb4b4b4b4b4b4b4b4 | (uVar3 >> 4 | uVar3 << 0x3c) & 0x4b4b4b4b4b4b4b4b; uVar7 = uVar6 << 0x29 | uVar6 >> 0x17; uVar3 = (ulonglong)(((uint)((uVar7 >> 9) >> 0x10) ^ (uint)(uVar7 >> 0x10)) & 1); uVar7 = uVar7 ^ (uVar3 << 9 | uVar3) << 0x10; uVar6 = ~((uVar7 << 8 | (uVar6 & 0x7fffff) >> 0xf) & 0xf807f807f807f807 | (uVar7 >> 8 | (uVar6 >> 0x17) << 0x38) & 0x7f807f807f807f8); uVar3 = (ulonglong)((uint)((uVar6 >> 0xc ^ uVar6) >> 0xf) & 0x1f); uVar3 = uVar6 ^ (uVar3 << 0xc | uVar3) << 0xf; uVar3 = (uVar3 >> 4 | uVar6 << 0x3c) & 0x9696969696969696 | (uVar3 << 4 | uVar6 >> 0x3c) & 0x6969696969696969; uVar3 = uVar3 >> 0x2c | uVar3 << 0x14; *(ulonglong *)(local_110 + 4) = uVar3; plVar8 = (longlong *)(lVar10 + 4); *plVar8 = *plVar8 + (ulonglong)((uint)(uVar3 >> 2) & 0x21020402); local_144 = (uint)(*(ulonglong *)(local_110 + 4) >> 0x1a) & 0x7fffffff; local_164 = (uint)(*(ulonglong *)(local_110 + 4) >> 0x1c) ^ 0x6453b946; local_170 = *(ulonglong *)(local_110 + 4) ^ 0x4440315d6977f5f8; local_188 = 0; do { local_148 = 0x1585056d; uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); /* WARNING: Call to offcut address within same function */ func_0x0001811832f5(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } ############ FUN_ 181601800 size=527 ############ undefined8 * FUN_181601800(undefined8 *param_1,char param_2) { uint uVar1; bool bVar2; undefined3 local_res18; undefined3 local_res20; undefined4 local_38; undefined4 local_34; undefined3 local_30; undefined1 *local_28; undefined8 local_20; local_20 = 0xfffffffffffffffe; local_28 = &DAT_1821dbf98; FUN_1812e2370(param_1,&local_28,0); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } param_1[0x65] = 0; *(undefined1 *)(param_1 + 0x66) = 0; *param_1 = CloudyTextEditor::vftable; param_1[0x16] = CloudyTextEditor::vftable; param_1[0x17] = CloudyTextEditor::vftable; param_1[100] = CloudyTextEditor::vftable; FUN_18049c4e0(param_1 + 0x67,""); *(undefined1 *)(param_1 + 0x68) = 1; FUN_18134a800(param_1,0x1000200,DAT_1826742ec); FUN_18134a800(param_1,0x1000205,DAT_1826742ec); if (param_2 == '\0') { local_res20 = (undefined3)DAT_18262bb68; local_res18 = local_res20; } else { local_res18 = (undefined3)DAT_18262bb70; } FUN_18134a800(param_1,0x1000201,CONCAT13(0xe6,local_res18)); if (param_2 == '\0') { local_34 = CONCAT13(0x4c,(int3)DAT_18262bb68); local_38 = local_34; } else { local_38 = CONCAT13(0x33,(int3)DAT_18262bb70); } FUN_18134a800(param_1,0x1000202,local_38); FUN_18134a800(param_1,0x1000206,DAT_1826742ec); if (param_2 == '\0') { local_30 = CONCAT12((char)(int)((float)(DAT_18262bb68 >> 0x10 & 0xff) * DAT_1824c3e08), CONCAT11((char)(int)((float)(DAT_18262bb68 >> 8 & 0xff) * DAT_1824c3e08), (char)(int)((float)(DAT_18262bb68 & 0xff) * DAT_1824c3e08))); } else { local_30 = (undefined3)DAT_18262bb70; } FUN_18134a800(param_1,0x1000204,local_30); return param_1; } ############ FUN_ 1805765c0 size=33 ############ undefined8 FUN_1805765c0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"NoTooltipOption"); return param_2; } ############ FUN_ 1814ceea0 size=393 ############ void FUN_1814ceea0(undefined8 *param_1,longlong param_2) { undefined8 uVar1; undefined8 *puVar2; undefined8 *puVar3; undefined1 local_res10 [8]; void *local_res18; undefined8 local_b8; undefined4 local_b0; undefined8 local_a8; undefined4 local_a0; undefined4 local_9c; undefined8 local_98; void *local_50; undefined4 local_44; local_98 = 0xfffffffffffffffe; puVar3 = param_1; FUN_18056b680(); *puVar3 = CloudyTutorialRequirement::vftable; puVar3[0x16] = CloudyTutorialRequirement::vftable; puVar3[0x19] = param_2; local_b8 = DAT_18235df78; local_b0 = DAT_18235df80; FUN_181408750(puVar3 + 0x1a,&local_b8); FUN_1814cd550(param_1 + 0x4e); param_1[0x76] = 0; param_1[0x77] = 0; puVar3 = param_1 + 0x78; *puVar3 = 0; param_1[0x79] = 0; param_1[0x7a] = 0; param_1[0x7b] = 0; *(undefined1 *)(param_1 + 0x7c) = 1; FUN_1814cdcf0(param_1 + 0x4e,param_2 + 0x18); *(undefined4 *)(param_1 + 0x6d) = DAT_18262bb5c; (**(code **)(param_1[0x4e] + 0x58))(param_1 + 0x4e,1); FUN_181343cc0(param_1,param_1 + 0x4e,0xffffffff); FUN_18049c4e0(local_res10, "\n\n\n" ); puVar2 = (undefined8 *)FUN_180576a30(&local_50,local_res10); if (puVar3 != puVar2) { local_a8 = *puVar2; *puVar2 = 0; local_a0 = *(undefined4 *)(puVar2 + 1); local_9c = *(undefined4 *)((longlong)puVar2 + 0xc); puVar2[1] = 0; local_res18 = (void *)*puVar3; *puVar3 = local_a8; *(undefined4 *)(param_1 + 0x79) = local_a0; *(undefined4 *)((longlong)param_1 + 0x3cc) = local_9c; /* WARNING: Subroutine does not return */ free(local_res18); } uVar1 = puVar2[3]; param_1[0x7a] = puVar2[2]; param_1[0x7b] = uVar1; *(undefined1 *)(param_1 + 0x7c) = *(undefined1 *)(puVar2 + 4); local_44 = 0; /* WARNING: Subroutine does not return */ free(local_50); } ############ FUN_ 180590790 size=559 ############ void FUN_180590790(longlong *param_1,float param_2) { uint uVar1; longlong lVar2; undefined8 uVar3; longlong lVar4; uint *puVar5; undefined1 *_Dst; float fVar6; longlong local_res8; undefined4 local_res10; longlong *local_res18; longlong local_res20; longlong *local_58; undefined8 local_50; local_50 = 0xfffffffffffffffe; local_res10 = 0; param_2 = param_2 / DAT_1824c44dc; fVar6 = expf(DAT_1824c4704); fVar6 = logf(fVar6 * param_2 + (DAT_1824c3ea4 - param_2)); fVar6 = (float)((uint)(fVar6 * DAT_1824c43e0) ^ DAT_1824c4f30); if (fVar6 < DAT_1824c3cb8) { fVar6 = 0.0; } FUN_1812339a0(&local_res20,(double)fVar6,1,0); FUN_18049c4e0(&local_res8,&DAT_18221db84); local_58 = &local_res8; local_res18 = (longlong *)&DAT_1821dbf98; local_res10 = 2; lVar2 = -1; do { lVar4 = lVar2; lVar2 = lVar4 + 1; } while ((&DAT_1821dbf99)[lVar4] != '\0'); FUN_1812342b0(&local_res18,lVar4 + 0xe); _Dst = (undefined1 *)((longlong)(int)(lVar4 + 1) + (longlong)local_res18); memcpy(_Dst,"max reduction",0xd); _Dst[0xd] = 0; uVar3 = FUN_181232d30(&local_res18,&local_res8); uVar3 = FUN_181232d30(uVar3,&local_res20); uVar3 = FUN_181232d30(uVar3,&local_res8); FUN_181232e20(uVar3,&DAT_1824bfeb8,&DAT_1824bfeba); puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_58 = local_res18; if ((*(uint *)(local_res18 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -2) = (int)local_res18[-2] + 1; UNLOCK(); } FUN_1815d8480(*(undefined8 *)(*param_1 + 0x140),&local_58); puVar5 = (uint *)(local_res18 + -2); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return; } ############ FUN_ 181a0ef80 size=977 ############ /* WARNING: Removing unreachable block (ram,0x000181a0f11e) */ /* WARNING: Removing unreachable block (ram,0x000181a0f1b8) */ void FUN_181a0ef80(undefined8 *param_1,undefined8 param_2,undefined8 param_3) { uint uVar1; int iVar2; undefined1 auStack_3a8 [48]; undefined1 local_378 [4]; undefined4 local_374; undefined8 local_350; undefined1 local_348 [16]; undefined8 local_338; undefined8 *local_318; undefined4 local_2fc; uint local_2f8; undefined1 local_2e8 [8]; undefined1 local_2e0 [128]; undefined8 *local_260; undefined1 *local_240; undefined8 local_1d0; undefined8 uStack_1c8; undefined8 local_1c0; undefined8 local_1b8; undefined8 *local_1b0; ulonglong local_50; local_1b8 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_3a8; local_318 = &local_1d0; local_240 = local_2e8; local_1d0 = 0; uStack_1c8 = 0; local_1c0 = 0; local_350 = param_2; local_338 = param_3; local_260 = param_1; local_1b0 = param_1; FUN_18049c4e0(local_2e8,"qualityGrid"); FUN_18049c4e0(local_2e0,"qualityGrid"); FUN_181601a20(param_1,local_2e0,local_2e8,&local_1d0); *param_1 = QualityGrid::vftable; param_1[0x16] = QualityGrid::vftable; param_1[0x39] = QualityGrid::vftable; param_1[0x3c] = QualityGrid::vftable; param_1[0x40] = QualityGrid::vftable; param_1[0x54] = QualityGrid::vftable; *(undefined4 *)(param_1 + 0x55) = 0x1010101; param_1[0x56] = param_2; local_318 = param_1 + 0x57; FUN_180489700(local_318,local_348); local_318 = param_1 + 0x59; FUN_1804898a0(local_318,local_378); local_2fc = 0xec0; uVar1 = (uint)&stack0x00000000 & 0x5eff; iVar2 = uVar1 * uVar1 + 1; uVar1 = (iVar2 >> 4) + (iVar2 >> 1) + iVar2 * 0x24924924 >> 0x1d; uVar1 = (int)(uVar1 - 7) >> 0x1f & uVar1; local_2f8 = ((int)(-uVar1 | uVar1) >> 0x1f) * -0x6a39 ^ 0x6ed9; local_374 = 0x811c9e29; FUN_181a101b5(); return; } ############ FUN_ 180592d90 size=534 ############ undefined8 * FUN_180592d90(undefined8 *param_1,undefined8 param_2,undefined8 param_3,char *param_4) { int *piVar1; uint uVar2; longlong lVar3; bool bVar4; bool bVar5; bool bVar6; char cVar7; uint *puVar8; uint *puVar9; char *pcVar10; longlong local_res20; longlong local_48; longlong local_40; longlong local_38 [2]; local_38[1] = 0xfffffffffffffffe; *param_1 = param_2; *(undefined4 *)(param_1 + 1) = 0; param_1[2] = &DAT_1821dbf98; param_1[3] = &DAT_1821dbf98; pcVar10 = "attribute vec2 position;attribute vec4 colour;uniform vec4 screenBounds;varying vec4 frontColour;varying vec2 pixelPos;void main(){frontColour = colour;vec2 adjustedPos = position - screenBounds.xy;pixelPos = adjustedPos;vec2 scaledPos = adjustedPos / screenBounds.zw;gl_Position = vec4 (scaledPos.x - 1.0, 1.0 - scaledPos.y, 0, 1.0);}" ; if (param_4 != (char *)0x0) { pcVar10 = param_4; } FUN_18049c4e0(&local_40,pcVar10); local_38[0] = local_40; puVar9 = (uint *)(local_40 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); *puVar9 = *puVar9 + 1; UNLOCK(); } bVar6 = false; bVar5 = false; cVar7 = FUN_18163a160(param_1,local_38,0x8b31); if (cVar7 != '\0') { FUN_18049c4e0(&local_48,param_3); local_res20 = local_48; if ((*(uint *)(local_48 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_48 + -0x10) = *(int *)(local_48 + -0x10) + 1; UNLOCK(); } bVar6 = true; bVar5 = true; cVar7 = FUN_18163a160(param_1,&local_res20,0x8b30); if ((cVar7 != '\0') && (cVar7 = FUN_18163bb70(param_1), cVar7 != '\0')) { bVar4 = true; goto LAB_180592e90; } } bVar4 = false; LAB_180592e90: if ((bVar5) && (puVar8 = (uint *)(local_res20 + -0x10), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((bVar6) && (puVar8 = (uint *)(local_48 + -0x10), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar2 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (!bVar4) { if ((*(uint *)(param_1[2] + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(param_1[2] + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar3 = param_1[3]; param_1[3] = param_1[2]; UNLOCK(); puVar9 = (uint *)(lVar3 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } return param_1; } ############ FUN_ 180598770 size=308 ############ undefined8 FUN_180598770(undefined8 param_1,undefined8 param_2) { uint *puVar1; uint uVar2; longlong local_res8 [2]; longlong local_res18; longlong local_res20; longlong local_38 [2]; local_38[1] = 0xfffffffffffffffe; FUN_18049c4e0(local_res8, "attribute vec2 position;uniform vec2 screenSize;uniform float textureBounds[4];uniform vec2 vOffsetAndScale;varying vec2 texturePos;void main(){ vec2 scaled = position / (0.5 * screenSize.xy);gl_Position = vec4 (scaled.x - 1.0, 1.0 - scaled.y, 0, 1.0);texturePos = (position - vec2 (textureBounds[0], textureBounds[1])) / vec2 (textureBounds[2], textureBounds[3]);texturePos = vec2 (texturePos.x, vOffsetAndScale.x + vOffsetAndScale.y * texturePos.y);}" ); local_res18 = local_res8[0]; puVar1 = (uint *)(local_res8[0] + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } FUN_18163a160(param_2,&local_res18,0x8b31); if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } FUN_18049c4e0(&local_res20, "uniform sampler2D imageTexture;varying vec2 texturePos;void main(){gl_FragColor = texture2D (imageTexture, texturePos);}" ); local_38[0] = local_res20; puVar1 = (uint *)(local_res20 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } FUN_18163a160(param_2,local_38,0x8b30); if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } FUN_18163bb70(param_2); return param_1; } ############ FUN_ 18114c790 size=183 ############ undefined8 * FUN_18114c790(longlong param_1,undefined8 *param_2,undefined4 param_3) { uint uVar1; uint *_Memory; undefined4 local_res8 [2]; undefined8 *local_res10; longlong local_res18; undefined *local_res20; undefined8 local_20; undefined8 local_18; longlong *local_10; local_18 = 0xfffffffffffffffe; local_res20 = &DAT_1821d9554; local_20 = *(undefined8 *)(param_1 + 0x10); local_res8[0] = param_3; local_res10 = param_2; FUN_18049c4e0(&local_res18,&DAT_1821d8e8f); local_10 = &local_res18; *param_2 = &DAT_1821dbf98; FUN_18048eab0(param_2,&local_res18,&local_20,&local_res20,local_res8); _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_2; } ############ FUN_ 18114e8b0 size=616 ############ /* WARNING: Type propagation algorithm not settling */ void FUN_18114e8b0(longlong *param_1,longlong *param_2) { uint *puVar1; uint uVar2; undefined1 auStack_298 [176]; longlong local_1e8 [2]; longlong local_1d8; undefined1 local_1d0 [16]; undefined8 local_1c0; undefined8 local_1b8; undefined8 local_1b0; undefined8 local_1a8; undefined1 local_1a0 [24]; longlong local_188 [4]; undefined8 local_168; undefined4 uStack_164; undefined8 local_160; undefined8 local_158; undefined8 local_150; undefined8 local_148; longlong local_110; longlong local_108; longlong local_100; longlong local_f8; longlong local_f0; longlong local_e8 [2]; undefined1 local_d8 [24]; undefined1 local_c0 [16]; undefined1 local_b0 [16]; void *local_a0; undefined4 local_94; undefined8 local_90; ulonglong local_38; local_90 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_298; FUN_18049c4e0(&local_110,"https://oeksound.com/version-check"); local_188[0] = local_110; puVar1 = (uint *)(local_110 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } local_188[1] = 0; local_188[2] = 0; local_188[3] = 0; local_168 = 0; local_160 = 0; local_158 = 0; local_150 = 0; local_148 = 0; FUN_181215140(local_188); if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } FUN_18049c4e0(&local_f0,"version"); FUN_18049c4e0(&local_108,"plugin"); local_1d8 = local_188[0]; if ((*(uint *)(local_188[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_188[0] + -0x10) = *(int *)(local_188[0] + -0x10) + 1; UNLOCK(); } FUN_18123aa50(local_1d0,local_188 + 1); local_1c0 = 0; local_1b8 = 0; FUN_18048c4c0(&local_1c0,local_188[3],uStack_164); local_1b0 = 0; local_1a8 = 0; FUN_18048c4c0(&local_1b0,local_160,local_158._4_4_); FUN_18049ad40(local_1a0,&local_150); local_100 = local_108; puVar1 = (uint *)(local_108 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } FUN_18122dc00(&local_1c0,&local_100); local_f8 = *param_1; if ((*(uint *)(local_f8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_f8 + -0x10) = *(int *)(local_f8 + -0x10) + 1; UNLOCK(); } FUN_18122dc00(&local_1b0,&local_f8); FUN_18049a120(local_d8,&local_1d8); local_e8[0] = local_f0; puVar1 = (uint *)(local_f0 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } FUN_18122dc00(local_c0,local_e8); local_1e8[0] = *param_2; if ((*(uint *)(local_1e8[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_1e8[0] + -0x10) = *(int *)(local_1e8[0] + -0x10) + 1; UNLOCK(); } FUN_18122dc00(local_b0,local_1e8); FUN_180485930(local_188,local_d8); FUN_180488f10(&local_a0); local_94 = 0; /* WARNING: Subroutine does not return */ free(local_a0); } ############ FUN_ 181174990 size=136 ############ undefined8 * FUN_181174990(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; longlong lVar2; undefined1 *local_res10; undefined8 local_res18 [2]; local_res10 = &DAT_1821dbf98; FUN_181184390(param_1,&local_res10,1,param_4,0xfffffffffffffffe); *param_1 = FactoryDefaultPreset::vftable; FUN_18049c4e0(local_res18,"Factory default preset"); lVar2 = param_1[2]; param_1[2] = local_res18[0]; _Memory = (uint *)(lVar2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 181196d60 size=711 ############ undefined8 * FUN_181196d60(longlong param_1,undefined8 *param_2,char param_3) { uint uVar1; char cVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 uVar7; undefined8 uVar8; undefined8 uVar9; uint *puVar10; uint *puVar11; float fVar12; char *local_res8; longlong local_res10; char local_res18; longlong local_res20; longlong local_88; longlong local_80; longlong local_78; undefined8 local_70; undefined8 local_68; local_70 = 0xfffffffffffffffe; local_res18 = param_3; FUN_18048ba90(param_2,param_1 + 0x180); FUN_18049c4e0(&local_res8,"Factory default preset"); if (*local_res8 != '\0') { uVar9 = *(undefined8 *)(param_1 + 0x68); uVar7 = FUN_18122bf10(); FUN_18122c480(uVar7,&local_res10,uVar9); FUN_181246b70(*param_2,&local_res10,&local_res8); puVar10 = (uint *)(local_res10 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } puVar3 = *(undefined8 **)(param_1 + 0x38); puVar4 = (undefined8 *)*puVar3; while (puVar4 != puVar3) { local_80 = puVar4[4]; puVar10 = (uint *)(local_80 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); *puVar10 = *puVar10 + 1; UNLOCK(); } if (param_3 == '\0') { fVar12 = (float)FUN_1811b8610(puVar4[5]); } else { fVar12 = (float)FUN_1811b6ab0(); } local_68 = *(undefined8 *)(param_1 + 0x50); uVar7 = FUN_1812469a0(*param_2); uVar9 = *(undefined8 *)(param_1 + 0x58); uVar8 = FUN_18122bf10(); FUN_18122c480(uVar8,&local_res20,uVar9); FUN_181246b70(uVar7,&local_res20,&local_80); puVar11 = (uint *)(local_res20 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } uVar9 = *(undefined8 *)(param_1 + 0x60); uVar8 = FUN_18122bf10(); FUN_18122c480(uVar8,&local_88,uVar9); uVar9 = FUN_18122eaa0(&local_78,(double)fVar12); FUN_181246b70(uVar7,&local_88,uVar9); puVar11 = (uint *)(local_78 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = (uint *)(local_88 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar5 = (undefined8 *)puVar4[2]; param_3 = local_res18; if (*(char *)((longlong)puVar5 + 0x19) == '\0') { cVar2 = *(char *)((longlong)*puVar5 + 0x19); puVar4 = puVar5; puVar5 = (undefined8 *)*puVar5; while (cVar2 == '\0') { cVar2 = *(char *)((longlong)*puVar5 + 0x19); puVar4 = puVar5; puVar5 = (undefined8 *)*puVar5; } } else { cVar2 = *(char *)((longlong)puVar4[1] + 0x19); puVar6 = (undefined8 *)puVar4[1]; puVar5 = puVar4; while ((puVar4 = puVar6, cVar2 == '\0' && (puVar5 == (undefined8 *)puVar4[2]))) { cVar2 = *(char *)((longlong)puVar4[1] + 0x19); puVar6 = (undefined8 *)puVar4[1]; puVar5 = puVar4; } } } puVar10 = (uint *)(local_res8 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } return param_2; } ############ FUN_ 1811c9e10 size=33 ############ undefined8 .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@::vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____ (undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"LastShownTutorialHintOption"); return param_2; } ############ FUN_ 1811c9e40 size=103 ############ undefined8 * .?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@::vtbl___AV__CloudyOpenGLLayer_USoothe2VertexData____ (undefined8 param_1,undefined8 *param_2) { uint uVar1; bool bVar2; undefined8 *local_res10 [3]; local_res10[0] = param_2; FUN_18049c4e0(local_res10,"0000 0 0"); *param_2 = &PTR_vftable_18262b560; param_2[1] = local_res10[0]; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return param_2; } ############ FUN_ 1811ca6e0 size=33 ############ undefined8 FUN_1811ca6e0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"LastUsedPresetFolderOption"); return param_2; } ############ FUN_ 1811cae80 size=33 ############ undefined8 FUN_1811cae80(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"CompletedTutorialsOption"); return param_2; } ############ FUN_ 1811caeb0 size=44 ############ undefined8 * FUN_1811caeb0(undefined8 param_1,undefined8 *param_2) { *param_2 = &PTR_vftable_18262b560; FUN_18049c4e0(param_2 + 1,&DAT_1821d930c); return param_2; } ############ FUN_ 1811caef0 size=33 ############ undefined8 FUN_1811caef0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"BypassOnSoloOption"); return param_2; } ############ FUN_ 1811caf40 size=33 ############ undefined8 FUN_1811caf40(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"AutoBandSoloOption"); return param_2; } ############ FUN_ 1811caf90 size=33 ############ undefined8 FUN_1811caf90(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"LastSeenUpdateOption"); return param_2; } ############ FUN_ 1811cafc0 size=44 ############ undefined8 * FUN_1811cafc0(undefined8 param_1,undefined8 *param_2) { *param_2 = &PTR_vftable_18262b560; FUN_18049c4e0(param_2 + 1,"1.1.2"); return param_2; } ############ FUN_ 1811e4300 size=182 ############ undefined8 * FUN_1811e4300(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; bool bVar2; undefined8 local_res10; longlong local_res18; FUN_18049c4e0(&local_res10,"AlternativeStateOption",param_3,param_4,0xfffffffffffffffe); *param_1 = ProcessorStateOption::vftable; param_1[1] = local_res10; param_1[2] = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = AlternativeStateOption::vftable; local_res18 = param_1[1]; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } FUN_1811efc90(param_2,&local_res18); return param_1; } ############ FUN_ 1811e43c0 size=44 ############ undefined8 * FUN_1811e43c0(undefined8 param_1,undefined8 *param_2) { *param_2 = &PTR_vftable_18262b560; FUN_18049c4e0(param_2 + 1,&DAT_1821d92c4); return param_2; } ############ FUN_ 1811e44c0 size=44 ############ undefined8 * FUN_1811e44c0(undefined8 param_1,undefined8 *param_2) { *param_2 = &PTR_vftable_18262b560; FUN_18049c4e0(param_2 + 1,"factory default preset"); return param_2; } ############ FUN_ 181226990 size=292 ############ undefined8 * FUN_181226990(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 param_4) { uint uVar1; int iVar2; undefined8 *puVar3; uint *puVar4; longlong local_res10 [2]; longlong local_res20; undefined8 uVar5; undefined8 local_38; undefined8 local_30; uVar5 = 0xfffffffffffffffe; local_38 = *param_2; local_30 = local_38; iVar2 = FUN_180483820(&local_30); if ((iVar2 != 0x22) && (iVar2 != 0x27)) { FUN_18049c4e0(local_res10,"Not a quoted string!"); FUN_18123a0b0(param_1,local_res10); puVar4 = (uint *)(local_res10[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return param_1; } puVar3 = (undefined8 *)FUN_1804970d0(&local_38,&local_res20,iVar2,param_4,uVar5); (**(code **)(*(longlong *)*param_3 + 0xb0))((longlong *)*param_3,param_3 + 1); *param_3 = &PTR_vftable_18262b560; param_3[1] = *puVar3; *puVar3 = &DAT_1821dbf98; puVar4 = (uint *)(local_res20 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } *param_2 = local_30; *param_1 = &DAT_1821dbf98; return param_1; } ############ FUN_ 18122ea60 size=44 ############ undefined8 * FUN_18122ea60(undefined8 *param_1) { *param_1 = juce::OutputStream::vftable; FUN_18049c4e0(param_1 + 1,&DAT_182496878); return param_1; } ############ FUN_ 1812353d0 size=265 ############ void FUN_1812353d0(longlong *param_1,void **param_2,longlong param_3,undefined8 param_4) { longlong lVar1; longlong lVar2; undefined **local_58; undefined1 local_50 [8]; void **local_48; void *local_40; undefined8 local_38; undefined8 local_30; void *local_28; void *local_20; undefined8 local_18; local_58 = juce::OutputStream::vftable; FUN_18049c4e0(local_50,&DAT_182496878,param_3,param_4,0xfffffffffffffffe); local_58 = juce::MemoryOutputStream::vftable; local_40 = (void *)0x0; local_38 = 0; local_30 = 0; local_18 = 0; local_28 = param_2[1]; local_48 = param_2; local_20 = local_28; lVar1 = (**(code **)(*param_1 + 0xa8))(param_1); lVar2 = (**(code **)(*param_1 + 8))(param_1); lVar2 = lVar2 - lVar1; if (0 < lVar2) { if ((lVar2 < param_3) || (param_3 < 0)) { param_3 = lVar2; } if (local_48 != (void **)0x0) { FUN_181234f80(&local_58,(longlong)local_48[1] + param_3); } } FUN_18122e270(&local_58,param_1,param_3); local_58 = juce::MemoryOutputStream::vftable; if ((local_48 != &local_40) && (local_48 != (void **)0x0)) { FUN_18124a200(local_48,local_20,0); } /* WARNING: Subroutine does not return */ free(local_40); } ############ FUN_ 181239460 size=464 ############ char * FUN_181239460(char *param_1,undefined8 param_2,longlong param_3) { uint uVar1; char *pcVar2; undefined8 uVar3; uint *puVar4; longlong lVar5; char *local_res8; char *local_res10; char *local_res18; char *local_res20; longlong local_48 [2]; char **local_38; char *local_30; local_48[1] = 0xfffffffffffffffe; local_res8 = param_1; uVar3 = FUN_181230da0(param_2,local_48,&DAT_1821d9d7c); FUN_181230da0(uVar3,&local_res18,&DAT_1821d9dac); puVar4 = (uint *)(local_48[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_18049c4e0(&local_res8,&DAT_1821d9e0c); pcVar2 = local_res8; if (*local_res8 == '\0') { if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } LOCK(); local_res8 = local_res18; UNLOCK(); puVar4 = (uint *)(pcVar2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } else { lVar5 = -1; do { lVar5 = lVar5 + 1; } while (local_res18[lVar5] != '\0'); local_30 = local_res18 + lVar5; FUN_181232e20(&local_res8); } local_res10 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(local_res8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } local_38 = &local_res10; FUN_181232e20(&local_res10,&DAT_1821d9d94,&DAT_1821d9d95); local_res20 = local_res10; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } puVar4 = (uint *)(local_res10 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_181232aa0(param_1,&local_res20,param_3 + 8); puVar4 = (uint *)(local_res18 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return param_1; } ############ FUN_ 18123bd40 size=942 ############ void FUN_18123bd40(longlong *param_1,undefined8 *param_2) { uint uVar1; char *pcVar2; bool bVar3; bool bVar4; int iVar5; longlong *plVar6; undefined8 *puVar7; int iVar8; ulonglong uVar9; uint *puVar10; ulonglong uVar11; ulonglong uVar12; char **ppcVar13; int iVar14; longlong lVar15; undefined1 auStack_f8 [32]; char *local_d8; char *local_d0; longlong *local_c8; char *local_c0; char *local_b8; undefined8 *local_b0; undefined4 local_a8; int local_a4; int local_a0; undefined1 local_98 [8]; undefined8 local_90; char *local_88; char *local_80; char *local_78; uint *local_70; uint local_68 [6]; int local_50; ulonglong local_48; local_90 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_f8; local_a8 = 0; local_d8 = ""; local_b0 = param_2; FUN_18123db10(&local_70,param_1); lVar15 = -1; do { iVar8 = 1; if (local_50 + 1 < 1) { iVar8 = local_50 + 1; } if (iVar8 < 1) { uVar12 = 0; } else { puVar10 = local_68; if (local_70 != (uint *)0x0) { puVar10 = local_70; } uVar12 = (ulonglong)(0xffffffffU >> (0x20U - (char)iVar8 & 0x1f) & *puVar10); } if (-1 < local_50) { FUN_18123c170(&local_70,1); } iVar8 = -1; if ((int)uVar12 == 0) { puVar10 = local_68; if (local_70 != (uint *)0x0) { puVar10 = local_70; } iVar14 = local_50 >> 5; uVar9 = (ulonglong)iVar14; uVar11 = uVar9; iVar5 = iVar8; if (-1 < iVar14) { LAB_18123be30: uVar1 = puVar10[uVar9]; if (uVar1 == 0) break; local_a4 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> local_a4 == 0; local_a4 = local_a4 + -1) { } } iVar5 = (int)uVar11 * 0x20 + local_a4; } LAB_18123be46: if (iVar5 < 0) { puVar7 = (undefined8 *)FUN_181231e80(&local_d8,&local_b0,iVar14,1); local_80 = local_d8; pcVar2 = (char *)*puVar7; *puVar7 = local_d8; puVar10 = (uint *)(local_b0 + -2); local_d8 = pcVar2; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if (*(char *)((longlong)param_1 + 0x24) == '\0') goto LAB_18123c062; plVar6 = (longlong *)*param_1; if (plVar6 == (longlong *)0x0) { plVar6 = param_1 + 1; } iVar5 = (int)param_1[4] >> 5; uVar11 = (ulonglong)iVar5; uVar12 = uVar11; if (iVar5 < 0) goto LAB_18123bf82; goto LAB_18123bf70; } } plVar6 = (longlong *)FUN_181233f40(local_98,"0123456789abcdef"[uVar12]); local_c8 = plVar6; puVar7 = (undefined8 *)FUN_181232d30(plVar6,&local_d8); local_c8 = (longlong *)*puVar7; if ((*(uint *)((longlong)local_c8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)((longlong)local_c8 + -0x10) = *(int *)((longlong)local_c8 + -0x10) + 1; UNLOCK(); } puVar10 = (uint *)(*plVar6 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } local_88 = local_d8; puVar10 = (uint *)(local_d8 + -0x10); local_d8 = (char *)local_c8; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } while( true ); uVar11 = (ulonglong)((int)uVar11 - 1); uVar9 = uVar9 - 1; if ((longlong)uVar9 < 0) goto LAB_18123be46; goto LAB_18123be30; LAB_18123bf70: uVar1 = *(uint *)((longlong)plVar6 + uVar11 * 4); if (uVar1 != 0) { local_a0 = 0x1f; if (uVar1 != 0) { for (; uVar1 >> local_a0 == 0; local_a0 = local_a0 + -1) { } } iVar8 = (int)uVar12 * 0x20 + local_a0; LAB_18123bf82: if (iVar8 < 0) { LAB_18123c062: local_c0 = pcVar2; if ((*(uint *)(pcVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar2 + -0x10) = *(int *)(pcVar2 + -0x10) + 1; UNLOCK(); } ppcVar13 = &local_c0; bVar4 = false; bVar3 = true; } else { FUN_18049c4e0(&local_d0,&DAT_1821d9bec); pcVar2 = local_d0; if (*local_d0 == '\0') { if ((*(uint *)(local_d8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d8 + -0x10) = *(int *)(local_d8 + -0x10) + 1; UNLOCK(); } LOCK(); local_d0 = local_d8; UNLOCK(); puVar10 = (uint *)(pcVar2 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } else { do { lVar15 = lVar15 + 1; } while (local_d8[lVar15] != '\0'); local_78 = local_d8 + lVar15; FUN_181232e20(&local_d0); } local_b8 = local_d0; if ((*(uint *)(local_d0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d0 + -0x10) = *(int *)(local_d0 + -0x10) + 1; UNLOCK(); } puVar10 = (uint *)(local_d0 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } ppcVar13 = &local_b8; bVar4 = true; bVar3 = false; } *param_2 = *ppcVar13; *ppcVar13 = ""; if ((bVar3) && (puVar10 = (uint *)(local_c0 + -0x10), (*puVar10 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } if ((bVar4) && (puVar10 = (uint *)(local_b8 + -0x10), (*puVar10 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } /* WARNING: Subroutine does not return */ free(local_70); } uVar12 = (ulonglong)((int)uVar12 - 1); uVar11 = uVar11 - 1; if ((longlong)uVar11 < 0) goto LAB_18123bf82; goto LAB_18123bf70; } ############ FUN_ 1812445e0 size=492 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812445e0(longlong param_1,undefined8 param_2) { char cVar1; ulonglong *puVar2; undefined4 *puVar3; longlong *plVar4; undefined8 uVar5; uint uVar6; ulonglong uVar7; uint *puVar8; char *_Src; undefined1 auStack_b8 [32]; undefined4 local_98; undefined4 *local_88; longlong local_80; longlong local_78; longlong local_70 [2]; longlong *local_60; char local_3a [2]; undefined8 local_38; char cStack_29; local_70[1] = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; local_60 = &local_78; local_70[0] = param_1; puVar2 = (ulonglong *)FUN_18123aca0(); uVar7 = *puVar2 * 0x5deece66d + 0xb & 0xffffffffffff; *puVar2 = uVar7; uVar7 = (longlong)uVar7 >> 0x10; _Src = local_3a + 1; local_3a[1] = 0; do { _Src = _Src + -1; cVar1 = "0123456789abcdef"[(uint)uVar7 & 0xf]; *_Src = cVar1; uVar6 = (uint)uVar7 >> 4; uVar7 = (ulonglong)uVar6; } while (uVar6 != 0); if (cVar1 == '\0') { local_88 = (undefined4 *)&DAT_1821dbf98; } else { uVar7 = (longlong)&local_38 + -(longlong)_Src + 3 & 0xfffffffffffffffc; puVar3 = (undefined4 *)thunk_FUN_1811316e0(uVar7 + 0x17); LOCK(); *puVar3 = 0; UNLOCK(); *(ulonglong *)(puVar3 + 2) = uVar7; puVar3 = puVar3 + 4; memcpy(puVar3,_Src,(size_t)(local_3a + -(longlong)_Src + 1)); *(char *)((longlong)puVar3 + (longlong)(local_3a + -(longlong)_Src + 1)) = '\0'; local_88 = puVar3; } FUN_18049c4e0(&local_80,"temp_"); plVar4 = (longlong *)FUN_181232d30(&local_80,&local_88); local_78 = *plVar4; if ((*(uint *)(local_78 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } puVar8 = (uint *)(local_80 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } uVar5 = FUN_181249b30(local_70,9); local_98 = 0; FUN_18123e260(param_1,uVar5,&local_78,param_2); puVar8 = (uint *)(local_70[0] + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = local_88 + -4; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } *(undefined1 **)(param_1 + 8) = &DAT_1821dbf98; } ############ FUN_ 181246360 size=37 ############ undefined8 * FUN_181246360(undefined8 *param_1) { *param_1 = &PTR_vftable_18262b560; FUN_18049c4e0(param_1 + 1); return param_1; } ############ FUN_ 1812478a0 size=126 ############ undefined8 * FUN_1812478a0(undefined8 *param_1,longlong param_2,char param_3) { undefined8 uVar1; *param_1 = juce::OutputStream::vftable; FUN_18049c4e0(param_1 + 1,&DAT_182496878); param_1[2] = param_2; *param_1 = juce::MemoryOutputStream::vftable; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; if (param_3 != '\0') { uVar1 = *(undefined8 *)(param_2 + 8); param_1[7] = uVar1; param_1[6] = uVar1; } return param_1; } ############ FUN_ 181253eb0 size=192 ############ void FUN_181253eb0(longlong param_1,longlong *param_2,undefined4 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; longlong lVar3; uint *puVar4; undefined8 local_res8; longlong local_res10; lVar3 = *param_2; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0x10); *(longlong *)(param_1 + 0x10) = *param_2; UNLOCK(); puVar4 = (uint *)(lVar2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } *(undefined4 *)(param_1 + 0x58) = 1; *(undefined4 *)(param_1 + 0x5c) = param_3; FUN_18049c4e0(&local_res8,"Regular",lVar3,param_4,0xfffffffffffffffe); local_res10 = *(longlong *)(param_1 + 0x18); *(undefined8 *)(param_1 + 0x18) = local_res8; puVar4 = (uint *)(local_res10 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return; } ############ FUN_ 1812562d0 size=33 ############ undefined8 FUN_1812562d0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,&DAT_1821df0f4); return param_2; } ############ FUN_ 1812710c0 size=33 ############ undefined8 FUN_1812710c0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,&DAT_1821defd0); return param_2; } ############ FUN_ 18128e530 size=33 ############ undefined8 FUN_18128e530(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,&DAT_1821def24); return param_2; } ############ FUN_ 1812a6a90 size=129 ############ undefined8 * FUN_1812a6a90(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; DWORD DVar2; uint *_Memory; longlong local_res8; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; *param_1 = 0; param_1[1] = 0; DVar2 = GetCurrentThreadId(); param_1[2] = (ulonglong)DVar2; param_1[3] = 0; if (DAT_1826736d8 != 0) { FUN_18049c4e0(&local_res8,"JUCE Message Thread",param_3,param_4,uVar3); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return param_1; } ############ FUN_ 1812bbb00 size=629 ############ void FUN_1812bbb00(longlong *param_1,longlong *param_2) { longlong lVar1; byte bVar2; longlong *plVar3; byte *pbVar4; uint uVar5; int *piVar6; uint *_Memory; uint uVar7; int iVar8; int iVar9; longlong local_res8; longlong local_res10; longlong local_res18; longlong local_res20; longlong local_48; longlong local_40; longlong local_38; longlong local_30; longlong local_28; plVar3 = (longlong *)(**(code **)(*param_1 + 8))(param_1,&local_res8); if ((*(uint *)(*plVar3 + -0x10) & 0x30000000) == 0) { LOCK(); piVar6 = (int *)(*plVar3 + -0x10); *piVar6 = *piVar6 + 1; UNLOCK(); } LOCK(); lVar1 = *param_2; *param_2 = *plVar3; UNLOCK(); piVar6 = (int *)(lVar1 + -0x10); if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); iVar9 = *piVar6; *piVar6 = *piVar6 + -1; UNLOCK(); if (iVar9 == 0) { /* WARNING: Subroutine does not return */ free(piVar6); } } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar7 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } pbVar4 = (byte *)*param_2; iVar9 = 0; bVar2 = *pbVar4; do { if (bVar2 == 0) { *(int *)(param_2 + 9) = iVar9; FUN_18049c4e0(&local_res10,"I/O devices"); local_40 = param_2[3]; param_2[3] = local_res10; piVar6 = (int *)(local_40 + -0x10); if ((*(uint *)(local_40 + -0x10) & 0x30000000) == 0) { LOCK(); iVar9 = *piVar6; *piVar6 = *piVar6 + -1; UNLOCK(); if (iVar9 == 0) { /* WARNING: Subroutine does not return */ free(piVar6); } } FUN_18049c4e0(&local_res18,"Internal"); local_38 = param_2[2]; param_2[2] = local_res18; piVar6 = (int *)(local_38 + -0x10); if ((*(uint *)(local_38 + -0x10) & 0x30000000) == 0) { LOCK(); iVar9 = *piVar6; *piVar6 = *piVar6 + -1; UNLOCK(); if (iVar9 == 0) { /* WARNING: Subroutine does not return */ free(piVar6); } } FUN_18049c4e0(&local_res20,&DAT_1821e391c); local_30 = param_2[4]; param_2[4] = local_res20; piVar6 = (int *)(local_30 + -0x10); if ((*(uint *)(local_30 + -0x10) & 0x30000000) == 0) { LOCK(); iVar9 = *piVar6; *piVar6 = *piVar6 + -1; UNLOCK(); if (iVar9 == 0) { /* WARNING: Subroutine does not return */ free(piVar6); } } FUN_18049c4e0(&local_48,&DAT_1821e254c); local_28 = param_2[5]; param_2[5] = local_48; piVar6 = (int *)(local_28 + -0x10); if ((*(uint *)(local_28 + -0x10) & 0x30000000) == 0) { LOCK(); iVar9 = *piVar6; *piVar6 = *piVar6 + -1; UNLOCK(); if (iVar9 == 0) { /* WARNING: Subroutine does not return */ free(piVar6); } } *(undefined1 *)((longlong)param_2 + 0x4c) = 0; *(int *)(param_2 + 10) = (int)param_1[0x20]; if (((int)param_1[0x29] == 1) && (param_1[0x2a] != 0)) { *(undefined4 *)(param_2 + 10) = *(undefined4 *)(param_1[0x2a] + 0x100); } *(undefined4 *)((longlong)param_2 + 0x54) = *(undefined4 *)((longlong)param_1 + 0x104); if (((int)param_1[0x29] == 0) && (param_1[0x2a] != 0)) { *(undefined4 *)((longlong)param_2 + 0x54) = *(undefined4 *)(param_1[0x2a] + 0x104); } return; } pbVar4 = pbVar4 + 1; uVar7 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar5 = 0x40; iVar8 = 0; uVar7 = 0x7f; if ((bVar2 & 0x40) != 0) { do { if (uVar5 < 9) break; uVar7 = uVar7 >> 1; iVar8 = iVar8 + 1; uVar5 = uVar5 >> 1; } while ((bVar2 & uVar5) != 0); } uVar7 = bVar2 & uVar7; for (; (iVar8 = iVar8 + -1, -1 < iVar8 && ((*pbVar4 & 0xc0) == 0x80)); pbVar4 = pbVar4 + 1) { uVar7 = *pbVar4 & 0x3f | uVar7 << 6; } } bVar2 = *pbVar4; iVar9 = iVar9 * 0x1f + uVar7; } while( true ); } ############ FUN_ 1812bbd80 size=149 ############ undefined8 * FUN_1812bbd80(longlong param_1,undefined8 *param_2) { int iVar1; iVar1 = *(int *)(param_1 + 0x148); if (iVar1 == 0) { FUN_18049c4e0(param_2,"Audio Input"); return param_2; } if (iVar1 == 1) { FUN_18049c4e0(param_2,"Audio Output"); return param_2; } if (iVar1 == 2) { FUN_18049c4e0(param_2,"Midi Input"); return param_2; } if (iVar1 != 3) { *param_2 = &DAT_1821dbf98; return param_2; } FUN_18049c4e0(param_2,"Midi Output"); return param_2; } ############ FUN_ 1812bd1e0 size=33 ############ undefined8 FUN_1812bd1e0(undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2,"Audio Graph"); return param_2; } ############ FUN_ 1812bddf0 size=897 ############ longlong * FUN_1812bddf0(longlong *param_1,longlong *param_2,float param_3,ulonglong param_4) { bool bVar1; longlong lVar2; char cVar3; int iVar4; longlong *plVar5; bool bVar6; uint uVar7; uint *puVar8; undefined8 in_R8; longlong local_res8; longlong local_50; longlong local_48; longlong local_40; longlong local_38 [2]; undefined4 *local_28; undefined4 *local_20; local_38[1] = 0xfffffffffffffffe; cVar3 = (**(code **)(*param_1 + 0x40))(param_1,param_2,in_R8,param_4,0); if (cVar3 == '\0') { FUN_1812339a0(local_38,(double)param_3,0,0); FUN_1812490c0(local_38,param_2,0,param_4 & 0xffffffff); puVar8 = (uint *)(local_38[0] + -0x10); if ((*puVar8 & 0x30000000) != 0) { return param_2; } LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); } else { if (DAT_1824c3d8c <= param_3) { FUN_18049c4e0(&local_50,&DAT_1821e253c); lVar2 = DAT_1826739f8; local_20 = &DAT_182673984; do { LOCK(); uVar7 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar7 != 0); if (DAT_1826739f8 == 0) { local_48 = local_50; if ((*(uint *)(local_50 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_50 + -0x10) = *(int *)(local_50 + -0x10) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_50, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar4)) { iVar4 = FUN_1812498b0(lVar2 + 0x18,local_50,*(undefined1 *)(lVar2 + 0x38),0); if (iVar4 < 0) { local_48 = local_50; uVar7 = *(uint *)(local_50 + -0x10); } else { plVar5 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar4); local_48 = *plVar5; uVar7 = *(uint *)(local_48 + -0x10); } if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(local_48 + -0x10) = *(int *)(local_48 + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar2 + 0x40),&local_48,&local_50,&local_50); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar8 = (uint *)(local_50 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } plVar5 = &local_48; bVar6 = false; bVar1 = true; } else { FUN_18049c4e0(&local_res8,&DAT_1821e24c4); lVar2 = DAT_1826739f8; local_28 = &DAT_182673984; do { LOCK(); uVar7 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar7 != 0); if (DAT_1826739f8 == 0) { local_40 = local_res8; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res8, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar4)) { iVar4 = FUN_1812498b0(lVar2 + 0x18,local_res8,*(undefined1 *)(lVar2 + 0x38),0); if (iVar4 < 0) { local_40 = local_res8; uVar7 = *(uint *)(local_res8 + -0x10); } else { plVar5 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar4); local_40 = *plVar5; uVar7 = *(uint *)(local_40 + -0x10); } if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(local_40 + -0x10) = *(int *)(local_40 + -0x10) + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar2 + 0x40),&local_40,&local_res8,&local_res8); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar8 = (uint *)(local_res8 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } plVar5 = &local_40; bVar6 = true; bVar1 = false; } *param_2 = *plVar5; *plVar5 = (longlong)&DAT_1821dbf98; if ((bVar1) && (puVar8 = (uint *)(local_48 + -0x10), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (!bVar6) { return param_2; } puVar8 = (uint *)(local_40 + -0x10); if ((*puVar8 & 0x30000000) != 0) { return param_2; } LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); } if (uVar7 != 0) { return param_2; } /* WARNING: Subroutine does not return */ free(puVar8); } ############ FUN_ 1812c7980 size=189 ############ void FUN_1812c7980(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; longlong local_res18; longlong local_58 [7]; void *local_20; ulonglong local_18; FUN_18049c4e0(&local_res18,"https://juce.com",param_3,param_4,0xfffffffffffffffe); local_58[0] = local_res18; _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_58[1] = 0; local_58[2] = 0; local_58[3] = 0; local_58[4] = 0; local_58[5] = 0; local_58[6] = 0; local_20 = (void *)0x0; local_18 = 0; FUN_181215140(local_58); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_181212f00(local_58); FUN_180488f10(&local_20); local_18 = local_18 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_20); } ############ FUN_ 1812c92a0 size=719 ############ void FUN_1812c92a0(undefined8 param_1,int param_2,longlong param_3) { longlong lVar1; int iVar2; longlong *plVar3; uint uVar4; uint *puVar5; longlong local_res20; longlong local_68; longlong local_60; longlong local_58; longlong local_50 [2]; undefined4 *local_40; undefined4 *local_38; undefined4 local_30; undefined8 local_2c; if (param_2 != 0x1001) { return; } local_50[1] = 0xfffffffffffffffe; FUN_18049c4e0(local_50,"Application"); FUN_18049c4e0(&local_res20,"Quits the application"); lVar1 = DAT_1826739f8; local_40 = &DAT_182673984; do { LOCK(); uVar4 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar4 != 0); if (DAT_1826739f8 == 0) { local_58 = local_res20; uVar4 = *(uint *)(local_res20 + -0x10); LAB_1812c939a: if ((uVar4 & 0x30000000) == 0) { LOCK(); *(int *)(local_58 + -0x10) = *(int *)(local_58 + -0x10) + 1; UNLOCK(); } } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar2 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res20,*(undefined1 *)(DAT_1826739f8 + 0x38) ,0), -1 < iVar2)) { iVar2 = FUN_1812498b0(lVar1 + 0x18,local_res20,*(undefined1 *)(lVar1 + 0x38),0); if (iVar2 < 0) { local_58 = local_res20; uVar4 = *(uint *)(local_res20 + -0x10); } else { plVar3 = (longlong *)FUN_181249970(lVar1 + 0x28,iVar2); local_58 = *plVar3; uVar4 = *(uint *)(local_58 + -0x10); } goto LAB_1812c939a; } FUN_181234570(*(undefined8 *)(lVar1 + 0x40),&local_58,&local_res20,&local_res20); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_18049c4e0(&local_68,&DAT_1821e4b9c); lVar1 = DAT_1826739f8; local_38 = &DAT_182673984; do { LOCK(); uVar4 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar4 != 0); if (DAT_1826739f8 == 0) { local_60 = local_68; uVar4 = *(uint *)(local_68 + -0x10); } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) != 0) && (iVar2 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_68,*(undefined1 *)(DAT_1826739f8 + 0x38),0) , iVar2 < 0)) { FUN_181234570(*(undefined8 *)(lVar1 + 0x40),&local_60,&local_68,&local_68); goto LAB_1812c9490; } iVar2 = FUN_1812498b0(lVar1 + 0x18,local_68,*(undefined1 *)(lVar1 + 0x38),0); if (iVar2 < 0) { local_60 = local_68; uVar4 = *(uint *)(local_68 + -0x10); } else { plVar3 = (longlong *)FUN_181249970(lVar1 + 0x28,iVar2); local_60 = *plVar3; uVar4 = *(uint *)(local_60 + -0x10); } } if ((uVar4 & 0x30000000) == 0) { LOCK(); *(int *)(local_60 + -0x10) = *(int *)(local_60 + -0x10) + 1; UNLOCK(); } LAB_1812c9490: LOCK(); DAT_182673984 = 0; UNLOCK(); puVar5 = (uint *)(local_68 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_1812cba20(param_3,&local_60,&local_58,local_50); puVar5 = (uint *)(local_60 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_58 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_50[0] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_30 = 0x71; local_2c = 2; FUN_18051b4d0(param_3 + 0x20,&local_30); return; } ############ FUN_ 1812dd810 size=679 ############ undefined1 FUN_1812dd810(longlong *param_1,int *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; int iVar2; char cVar3; bool bVar4; wint_t wVar5; wint_t wVar6; undefined4 uVar7; undefined8 uVar8; uint *puVar9; int *piVar10; code *pcVar11; longlong local_res8 [2]; undefined4 local_res18; undefined4 uStackX_1c; longlong local_res20; undefined8 uVar12; uVar12 = 0xfffffffffffffffe; piVar10 = param_2; if (((*(char *)((longlong)param_1 + 0x1ec) != '\0') || ((*(byte *)((longlong)param_1 + 0xa9) & 0x10) != 0)) || ((param_1[3] != 0 && (cVar3 = FUN_18133eaa0(), cVar3 == '\0')))) { if (piVar10[1] == 2) { iVar2 = *piVar10; if (iVar2 != 99) { if (iVar2 < 0x100) { wVar5 = towlower((wint_t)iVar2); wVar6 = towlower(99); if (wVar5 == wVar6) goto LAB_1812dd885; } goto LAB_1812dd889; } LAB_1812dd885: bVar4 = true; } else { LAB_1812dd889: bVar4 = false; } if (!bVar4) { if (param_2[1] == 2) { iVar2 = *param_2; if (iVar2 != 0x61) { if (iVar2 < 0x100) { wVar5 = towlower((wint_t)iVar2); wVar6 = towlower(0x61); if (wVar5 == wVar6) goto LAB_1812dd8c1; } goto LAB_1812dd8c5; } LAB_1812dd8c1: bVar4 = true; } else { LAB_1812dd8c5: bVar4 = false; } if (!bVar4) { return 0; } } } cVar3 = FUN_180519e50(param_1,param_2); if (cVar3 == '\0') { if ((*param_2 == 0xd) && ((*(byte *)(param_2 + 1) & 7) == 0)) { FUN_1812e1fc0(param_1); if ((char)param_1[0x3e] == '\0') { pcVar11 = *(code **)(*param_1 + 0x168); if (pcVar11 == FUN_1812e0e50) { FUN_1813416b0(param_1,0x10003002); return *(undefined1 *)((longlong)param_1 + 0x1f9); } LAB_1812ddabf: (*pcVar11)(param_1); return *(undefined1 *)((longlong)param_1 + 0x1f9); } FUN_18049c4e0(local_res8,&DAT_1821e30ec); (**(code **)(param_1[0x16] + 0x30))(param_1 + 0x16,local_res8); puVar9 = (uint *)(local_res8[0] + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } else { if (*param_2 == 0x1b) { FUN_1812e1fc0(param_1); uVar7 = *(undefined4 *)((longlong)param_1 + 0x2a4); *(undefined4 *)(param_1 + 0x5f) = 0; FUN_1812e0940(param_1,param_1[0x50]); FUN_1812e08d0(param_1,uVar7); local_res18 = *(undefined4 *)((longlong)param_1 + 0x2a4); param_1[0x50] = CONCAT44(local_res18,local_res18); pcVar11 = *(code **)(*param_1 + 0x170); uStackX_1c = local_res18; if (pcVar11 == FUN_1812e0e40) { FUN_1813416b0(param_1,0x10003003); return *(undefined1 *)((longlong)param_1 + 0x1f9); } goto LAB_1812ddabf; } if (((uint)param_2[2] < 0x20) && ((*(char *)((longlong)param_1 + 0x1f6) == '\0' || (param_2[2] != 9)))) { return 0; } uVar8 = FUN_181233f40(&local_res20); pcVar11 = *(code **)(param_1[0x16] + 0x30); (*pcVar11)(param_1 + 0x16,uVar8,pcVar11,param_4,uVar12); puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } uVar7 = FUN_181228de0(); *(undefined4 *)(param_1 + 0x52) = uVar7; } } return 1; } ############ FUN_ 1812deb40 size=890 ############ void FUN_1812deb40(longlong param_1,undefined8 param_2) { bool bVar1; char cVar2; uint uVar3; uint *puVar4; longlong lVar5; longlong lVar6; longlong local_res8; undefined1 local_res20 [8]; longlong local_80; undefined1 local_78 [8]; longlong local_70; undefined1 local_68 [8]; longlong local_60; undefined1 local_58 [8]; longlong local_50; undefined1 local_48 [8]; longlong local_40; undefined1 local_38 [8]; longlong local_30; undefined1 local_28 [8]; undefined8 local_20; local_20 = 0xfffffffffffffffe; if (((*(char *)(param_1 + 0x1ec) == '\0') && ((*(byte *)(param_1 + 0xa9) & 0x10) == 0)) && ((*(longlong *)(param_1 + 0x18) == 0 || (cVar2 = FUN_18133eaa0(), cVar2 != '\0')))) { bVar1 = false; } else { bVar1 = true; } bVar1 = !bVar1; if (*(int *)(param_1 + 0x2c4) == 0) { FUN_18049c4e0(&local_res8,&DAT_1821e30c4); FUN_1812344e0(local_res20,&local_res8); puVar4 = (uint *)(local_res8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_1813486a0(param_2,0x1003,local_res20,bVar1,0); FUN_18049c4e0(&local_80,&DAT_1821e49c0); FUN_1812344e0(local_78,&local_80); puVar4 = (uint *)(local_80 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_1813486a0(param_2,0x1004,local_78,*(int *)(param_1 + 0x280) != *(int *)(param_1 + 0x284),0); } FUN_18049c4e0(&local_70,"Paste"); FUN_1812344e0(local_68,&local_70); puVar4 = (uint *)(local_70 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_1813486a0(param_2,0x1005,local_68,bVar1,0); FUN_18049c4e0(&local_60,"Delete"); FUN_1812344e0(local_58,&local_60); puVar4 = (uint *)(local_60 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_1813486a0(param_2,0x1002,local_58,bVar1,0); FUN_181348300(param_2); FUN_18049c4e0(&local_50,"Select All"); FUN_1812344e0(local_48,&local_50); puVar4 = (uint *)(local_50 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_1813486a0(param_2,0x1006,local_48,1,0); FUN_181348300(param_2); if ((*(char *)(param_1 + 0x1ec) == '\0') && (param_1 != -0x200)) { FUN_18049c4e0(&local_40,&DAT_1821e49d0); FUN_1812344e0(local_38,&local_40); puVar4 = (uint *)(local_40 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } uVar3 = *(int *)(param_1 + 0x26c) - 1; lVar6 = 0; lVar5 = lVar6; if (uVar3 < *(uint *)(param_1 + 0x244)) { lVar5 = *(longlong *)(*(longlong *)(param_1 + 0x238) + (longlong)(int)uVar3 * 8); } FUN_1813486a0(param_2,0x1008,local_38,lVar5 != 0,0); FUN_18049c4e0(&local_30,&DAT_1821e49c8); FUN_1812344e0(local_28,&local_30); puVar4 = (uint *)(local_30 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (*(uint *)(param_1 + 0x26c) < *(uint *)(param_1 + 0x244)) { lVar6 = *(longlong *) (*(longlong *)(param_1 + 0x238) + (longlong)(int)*(uint *)(param_1 + 0x26c) * 8); } FUN_1813486a0(param_2,0x1009,local_28,lVar6 != 0,0); } return; } ############ FUN_ 181306d50 size=249 ############ longlong FUN_181306d50(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; void *local_res10; undefined8 uVar2; longlong local_50 [2]; undefined2 local_40; undefined1 *local_38; undefined1 *local_30; undefined8 local_28; undefined8 local_20; undefined2 local_18; undefined8 local_10; uVar2 = 0xfffffffffffffffe; FUN_18049c4e0(); _Memory = (uint *)(param_1 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_50[1] = 0; local_40 = 0; local_38 = &DAT_1821dbf98; local_30 = &DAT_1821dbf98; local_28 = 0; local_20 = 0; local_18 = 0x100; local_10 = 0; local_50[0] = param_1; FUN_181248430(local_50,&local_res10,param_3,param_4,uVar2); FUN_181248660(local_50); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18132eac0(param_1,local_res10); if (local_res10 != (void *)0x0) { FUN_1812472e0(local_res10); /* WARNING: Subroutine does not return */ free(local_res10); } return param_1; } ############ FUN_ 181325040 size=931 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181325040(longlong param_1) { undefined1 *puVar1; longlong lVar2; char cVar3; int iVar4; undefined4 uVar5; undefined8 uVar6; undefined8 *puVar7; longlong *plVar8; uint uVar9; uint *puVar10; bool bVar11; undefined1 auStack_158 [64]; undefined1 *local_118; longlong local_110; longlong local_108; longlong local_100; undefined1 *local_f8; longlong local_f0; longlong local_e8 [2]; undefined1 *local_d8; undefined1 *local_d0; undefined4 *local_c8; undefined1 local_b8 [128]; ulonglong local_38; local_e8[1] = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_158; local_118 = *(undefined1 **)(param_1 + 0xe0); if ((*(uint *)(local_118 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_118 + -0x10) = *(int *)(local_118 + -0x10) + 1; UNLOCK(); } if (local_118 == &DAT_1821dbf98) { iVar4 = 0; } else { iVar4 = FUN_18049bb30(local_118,&DAT_1821dbf98); } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar9 = DAT_1821dbf88 - 1; UNLOCK(); bVar11 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar9; if (bVar11) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if (iVar4 == 0) { uVar6 = FUN_181249970(param_1 + 0xd0,0); FUN_181241890(&local_f8,uVar6); puVar1 = local_118; local_d8 = local_118; local_118 = local_f8; puVar10 = (uint *)(puVar1 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } if (local_118 == &DAT_1821dbf98) { iVar4 = 0; } else { iVar4 = FUN_18049bb30(local_118,&DAT_1821dbf98); } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar9 = DAT_1821dbf88 - 1; UNLOCK(); bVar11 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar9; if (bVar11) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if (iVar4 == 0) { puVar7 = (undefined8 *)FUN_181217460(&local_f0); local_d0 = local_118; puVar1 = (undefined1 *)*puVar7; *puVar7 = local_118; puVar10 = (uint *)(local_f0 + -0x10); local_118 = puVar1; if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } FUN_18049c4e0(&local_100,&DAT_1821e2cac); FUN_18049c4e0(&local_110,"Add a folder..."); lVar2 = DAT_1826739f8; local_c8 = &DAT_182673984; do { LOCK(); uVar9 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar9 != 0); if (DAT_1826739f8 == 0) { local_108 = local_110; uVar9 = *(uint *)(local_110 + -0x10); } else { if (*(longlong *)(DAT_1826739f8 + 0x40) != 0) { iVar4 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_110,*(undefined1 *)(DAT_1826739f8 + 0x38),0); if (iVar4 < 0) { FUN_181234570(*(undefined8 *)(lVar2 + 0x40),&local_108,&local_110,&local_110); goto LAB_1813252ae; } } iVar4 = FUN_1812498b0(lVar2 + 0x18,local_110,*(undefined1 *)(lVar2 + 0x38),0); if (iVar4 < 0) { local_108 = local_110; uVar9 = *(uint *)(local_110 + -0x10); } else { plVar8 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar4); local_108 = *plVar8; uVar9 = *(uint *)(local_108 + -0x10); } } if ((uVar9 & 0x30000000) == 0) { LOCK(); *(int *)(local_108 + -0x10) = *(int *)(local_108 + -0x10) + 1; UNLOCK(); } LAB_1813252ae: LOCK(); DAT_182673984 = 0; UNLOCK(); puVar10 = (uint *)(local_110 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } FUN_181329f30(local_b8,&local_108,&local_118,&local_100); puVar10 = (uint *)(local_108 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } puVar10 = (uint *)(local_100 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } cVar3 = FUN_181329d80(local_b8,9); if (cVar3 != '\0') { uVar6 = FUN_181329930(local_b8,local_e8); uVar5 = FUN_181348e10(param_1 + 0xe8,0); FUN_18123e5f0(param_1 + 0xd0,uVar6,uVar5); puVar10 = (uint *)(local_e8[0] + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } FUN_181325e40(param_1); FUN_181329e40(local_b8); puVar10 = (uint *)(local_118 + -0x10); if ((*puVar10 & 0x30000000) == 0) { LOCK(); uVar9 = *puVar10; *puVar10 = *puVar10 - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(puVar10); } } } ############ FUN_ 1813268d0 size=971 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813268d0(longlong *param_1) { longlong lVar1; char cVar2; int iVar3; longlong *plVar4; undefined8 uVar5; uint uVar6; uint *puVar7; undefined1 auStack_128 [64]; uint local_e8; longlong local_e0; longlong local_d8; longlong local_d0; longlong local_c8; longlong local_c0; undefined1 local_b8 [8]; undefined4 *local_b0; undefined8 local_a8; undefined4 *local_a0; undefined1 local_98 [128]; ulonglong local_18; local_a8 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_128; local_e8 = 0; if (*(char *)((longlong)param_1 + 0x27c) == '\0') { FUN_18049c4e0(&local_d8,"Choose a new file"); lVar1 = DAT_1826739f8; local_b0 = &DAT_182673984; do { LOCK(); uVar6 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar6 != 0); if (DAT_1826739f8 == 0) { local_d0 = local_d8; if ((*(uint *)(local_d8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_d8 + -0x10) = *(int *)(local_d8 + -0x10) + 1; UNLOCK(); } local_e8 = 0x100; } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar3 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_d8, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar3)) { iVar3 = FUN_1812498b0(lVar1 + 0x18,local_d8,*(undefined1 *)(lVar1 + 0x38),0); if (iVar3 < 0) { uVar6 = *(uint *)(local_d8 + -0x10); local_d0 = local_d8; } else { plVar4 = (longlong *)FUN_181249970(lVar1 + 0x28,iVar3); uVar6 = *(uint *)(*plVar4 + -0x10); local_d0 = *plVar4; } if ((uVar6 & 0x30000000) == 0) { LOCK(); *(int *)(local_d0 + -0x10) = *(int *)(local_d0 + -0x10) + 1; UNLOCK(); } local_e8 = 0x300; } else { FUN_181234570(*(undefined8 *)(lVar1 + 0x40),&local_d0,&local_d8,&local_d8); local_e8 = 0x300; } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar7 = (uint *)(local_d8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { local_e8 = local_e8 | 0xc0; /* WARNING: Subroutine does not return */ free(puVar7); } } plVar4 = &local_d0; local_e8 = local_e8 | 0xc2; } else { FUN_18049c4e0(&local_e0,"Choose a new directory"); lVar1 = DAT_1826739f8; local_a0 = &DAT_182673984; do { LOCK(); uVar6 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar6 != 0); if (DAT_1826739f8 == 0) { local_c8 = local_e0; if ((*(uint *)(local_e0 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_e0 + -0x10) = *(int *)(local_e0 + -0x10) + 1; UNLOCK(); } local_e8 = 0x10; } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar3 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_e0, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar3)) { iVar3 = FUN_1812498b0(lVar1 + 0x18,local_e0,*(undefined1 *)(lVar1 + 0x38),0); if (iVar3 < 0) { uVar6 = *(uint *)(local_e0 + -0x10); local_c8 = local_e0; } else { plVar4 = (longlong *)FUN_181249970(lVar1 + 0x28,iVar3); uVar6 = *(uint *)(*plVar4 + -0x10); local_c8 = *plVar4; } if ((uVar6 & 0x30000000) == 0) { LOCK(); *(int *)(local_c8 + -0x10) = *(int *)(local_c8 + -0x10) + 1; UNLOCK(); } local_e8 = 0x30; } else { FUN_181234570(*(undefined8 *)(lVar1 + 0x40),&local_c8,&local_e0,&local_e0); local_e8 = 0x30; } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar7 = (uint *)(local_e0 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { local_e8 = local_e8 | 0xc; /* WARNING: Subroutine does not return */ free(puVar7); } } plVar4 = &local_c8; local_e8 = local_e8 | 0xd; } uVar5 = (**(code **)(*param_1 + 0x158))(param_1,&local_c0); FUN_181329f30(local_98,plVar4,uVar5,param_1 + 0x50); puVar7 = (uint *)(local_c0 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if ((local_e8 & 2) != 0) { local_e8 = local_e8 & 0xfffffffd; puVar7 = (uint *)(local_d0 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } if (((local_e8 & 1) != 0) && (puVar7 = (uint *)(local_c8 + -0x10), (*puVar7 & 0x30000000) == 0)) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (*(char *)((longlong)param_1 + 0x27c) == '\0') { uVar5 = 6; if (*(char *)((longlong)param_1 + 0x27d) == '\0') { uVar5 = 5; } } else { uVar5 = 9; } cVar2 = FUN_181329d80(local_98,uVar5); if (cVar2 != '\0') { uVar5 = FUN_181329930(local_98,local_b8); FUN_181326360(param_1,uVar5); } FUN_181329e40(local_98); } ############ FUN_ 181327e20 size=965 ############ void FUN_181327e20(longlong param_1) { char cVar1; longlong lVar2; int iVar3; undefined8 uVar4; undefined8 *puVar5; longlong *plVar6; uint uVar7; uint *puVar8; bool bVar9; longlong local_res18; longlong local_res20; longlong local_78; longlong local_70; char *local_68; longlong local_60; longlong local_58; longlong local_50; undefined1 *local_48; undefined8 local_40; undefined4 *local_38; undefined4 *local_30; local_40 = 0xfffffffffffffffe; FUN_18123f7e0(&local_68); if (*local_68 == '\0') goto LAB_1813281b2; local_60 = *(longlong *)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0xb0) + 0xf8); if ((*(uint *)(local_60 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_60 + -0x10) = *(int *)(local_60 + -0x10) + 1; UNLOCK(); } uVar4 = FUN_181245100(&local_60,&local_50,local_68); puVar5 = (undefined8 *)FUN_181244be0(uVar4,&local_58); cVar1 = *(char *)*puVar5; puVar8 = (uint *)(local_58 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_50 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (cVar1 != '\0') { local_48 = &DAT_1821dbf98; FUN_18049c4e0(&local_res18,"Couldn\'t create the folder!"); lVar2 = DAT_1826739f8; local_38 = &DAT_182673984; do { LOCK(); uVar7 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar7 != 0); if (DAT_1826739f8 == 0) { local_70 = local_res18; uVar7 = *(uint *)(local_res18 + -0x10); LAB_181327fca: if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(local_70 + -0x10) = *(int *)(local_70 + -0x10) + 1; UNLOCK(); } } else { if (*(longlong *)(DAT_1826739f8 + 0x40) == 0) { LAB_181327f82: iVar3 = FUN_1812498b0(lVar2 + 0x18,local_res18,*(undefined1 *)(lVar2 + 0x38),0); if (iVar3 < 0) { local_70 = local_res18; uVar7 = *(uint *)(local_res18 + -0x10); } else { plVar6 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar3); local_70 = *plVar6; uVar7 = *(uint *)(local_70 + -0x10); } goto LAB_181327fca; } iVar3 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res18,*(undefined1 *)(DAT_1826739f8 + 0x38),0 ); if (-1 < iVar3) goto LAB_181327f82; FUN_181234570(*(undefined8 *)(lVar2 + 0x40),&local_70,&local_res18,&local_res18); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar8 = (uint *)(local_res18 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_18049c4e0(&local_res20,"New Folder"); lVar2 = DAT_1826739f8; local_30 = &DAT_182673984; do { LOCK(); uVar7 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar7 != 0); if (DAT_1826739f8 == 0) { local_78 = local_res20; uVar7 = *(uint *)(local_res20 + -0x10); LAB_1813280b3: if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } } else { if (*(longlong *)(DAT_1826739f8 + 0x40) == 0) { LAB_18132806b: iVar3 = FUN_1812498b0(lVar2 + 0x18,local_res20,*(undefined1 *)(lVar2 + 0x38),0); if (iVar3 < 0) { local_78 = local_res20; uVar7 = *(uint *)(local_res20 + -0x10); } else { plVar6 = (longlong *)FUN_181249970(lVar2 + 0x28,iVar3); local_78 = *plVar6; uVar7 = *(uint *)(local_78 + -0x10); } goto LAB_1813280b3; } iVar3 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res20,*(undefined1 *)(DAT_1826739f8 + 0x38),0 ); if (-1 < iVar3) goto LAB_18132806b; FUN_181234570(*(undefined8 *)(lVar2 + 0x40),&local_78,&local_res20,&local_res20); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar8 = (uint *)(local_res20 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } FUN_1813469b0(2,&local_78,&local_70,&local_48); puVar8 = (uint *)(local_78 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_70 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } FUN_18132e120(*(undefined8 *)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0xb0) + 0xe0)); puVar8 = (uint *)(local_60 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } LAB_1813281b2: puVar8 = (uint *)(local_68 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return; } ############ FUN_ 18132b650 size=982 ############ longlong * FUN_18132b650(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { bool bVar1; bool bVar2; bool bVar3; bool bVar4; longlong lVar5; int iVar6; uint uVar7; uint *puVar8; longlong **pplVar9; longlong *local_res8; longlong *local_res10; longlong *local_res18; longlong *local_res20; longlong local_60; longlong *local_58; longlong *local_50; undefined8 local_48; undefined4 *local_40; undefined4 *local_38; local_48 = 0xfffffffffffffffe; uVar7 = *(uint *)(param_1 + 0xf0); local_res10 = param_2; if ((uVar7 >> 1 & 1) == 0) { FUN_18049c4e0(&local_60,&DAT_1821e3e9c,uVar7,param_4,0); FUN_1812344e0(&local_58,&local_60); puVar8 = (uint *)(local_60 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } pplVar9 = &local_58; bVar4 = false; bVar3 = false; bVar2 = false; bVar1 = true; } else { if ((uVar7 & 8) == 0) { FUN_18049c4e0(&local_res8,&DAT_1821e3ea4,uVar7,param_4,0); lVar5 = DAT_1826739f8; local_38 = &DAT_182673984; do { LOCK(); uVar7 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar7 != 0); if (DAT_1826739f8 == 0) { local_res18 = local_res8; if ((*(uint *)(local_res8 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -2) = (int)local_res8[-2] + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar6 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res8, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar6)) { iVar6 = FUN_1812498b0(lVar5 + 0x18,local_res8,*(undefined1 *)(lVar5 + 0x38),0); if (iVar6 < 0) { local_res18 = local_res8; uVar7 = *(uint *)(local_res8 + -2); } else { local_res18 = (longlong *)FUN_181249970(lVar5 + 0x28,iVar6); local_res18 = (longlong *)*local_res18; uVar7 = *(uint *)(local_res18 + -2); } if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -2) = (int)local_res18[-2] + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar5 + 0x40),&local_res18,&local_res8,&local_res8); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar8 = (uint *)(local_res8 + -2); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } pplVar9 = &local_res18; bVar4 = true; bVar2 = false; } else { FUN_18049c4e0(&local_res10,"Choose",uVar7,param_4,0); lVar5 = DAT_1826739f8; local_40 = &DAT_182673984; do { LOCK(); uVar7 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar7 != 0); if (DAT_1826739f8 == 0) { local_res20 = local_res10; if ((*(uint *)(local_res10 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = (int)local_res10[-2] + 1; UNLOCK(); } } else if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar6 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res10, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar6)) { iVar6 = FUN_1812498b0(lVar5 + 0x18,local_res10,*(undefined1 *)(lVar5 + 0x38),0); if (iVar6 < 0) { local_res20 = local_res10; uVar7 = *(uint *)(local_res10 + -2); } else { local_res20 = (longlong *)FUN_181249970(lVar5 + 0x28,iVar6); local_res20 = (longlong *)*local_res20; uVar7 = *(uint *)(local_res20 + -2); } if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -2) = (int)local_res20[-2] + 1; UNLOCK(); } } else { FUN_181234570(*(undefined8 *)(lVar5 + 0x40),&local_res20,&local_res10,&local_res10); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar8 = (uint *)(local_res10 + -2); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } pplVar9 = &local_res20; bVar4 = false; bVar2 = true; } local_50 = *pplVar9; *pplVar9 = (longlong *)&DAT_1821dbf98; pplVar9 = &local_50; bVar3 = true; bVar1 = false; } *param_2 = (longlong)*pplVar9; *pplVar9 = (longlong *)&DAT_1821dbf98; if ((bVar1) && (puVar8 = (uint *)(local_58 + -2), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((bVar3) && (puVar8 = (uint *)(local_50 + -2), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((bVar4) && (puVar8 = (uint *)(local_res18 + -2), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((bVar2) && (puVar8 = (uint *)(local_res20 + -2), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return param_2; } ############ FUN_ 1813ad020 size=691 ############ undefined8 FUN_1813ad020(longlong *param_1) { undefined8 *puVar1; byte bVar2; int iVar3; uint uVar4; longlong *plVar5; byte *pbVar6; uint *puVar7; byte *pbVar8; undefined8 uVar9; undefined8 *puVar10; byte *pbVar11; byte *local_res8; byte *local_res10; char *local_res18; char *local_res20; longlong local_58; undefined8 local_50; undefined8 local_48; local_50 = 0xfffffffffffffffe; FUN_18049c4e0(&local_res10,&DAT_1821e3d9c); FUN_18049c4e0(&local_res8,"CueNote"); FUN_18049c4e0(&local_58,"Identifier"); puVar10 = (undefined8 *)*param_1; puVar1 = puVar10 + *(int *)((longlong)param_1 + 0xc); pbVar11 = local_res8; pbVar8 = local_res10; joined_r0x0001813ad088: if (puVar10 != puVar1) { iVar3 = 0; pbVar6 = pbVar11; LAB_1813ad0a5: do { bVar2 = *pbVar6; pbVar6 = pbVar6 + 1; if ((char)bVar2 < '\0') { if ((*pbVar6 & 0xc0) == 0x80) { do { pbVar6 = pbVar6 + 1; } while ((*pbVar6 & 0xc0) == 0x80); iVar3 = iVar3 + 1; goto LAB_1813ad0a5; } } else if (bVar2 == 0) goto LAB_1813ad0da; iVar3 = iVar3 + 1; } while( true ); } uVar9 = 0; LAB_1813ad24a: puVar7 = (uint *)(local_58 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_res8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_res10 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } return uVar9; LAB_1813ad0da: iVar3 = FUN_18049da40(*puVar10,pbVar11,iVar3); if (iVar3 != 0) { iVar3 = 0; pbVar6 = pbVar8; LAB_1813ad0f5: do { bVar2 = *pbVar6; pbVar6 = pbVar6 + 1; if ((char)bVar2 < '\0') { if ((*pbVar6 & 0xc0) == 0x80) { do { pbVar6 = pbVar6 + 1; } while ((*pbVar6 & 0xc0) == 0x80); iVar3 = iVar3 + 1; goto LAB_1813ad0f5; } } else if (bVar2 == 0) goto LAB_1813ad12c; iVar3 = iVar3 + 1; } while( true ); } goto LAB_1813ad23b; LAB_1813ad12c: iVar3 = FUN_18049da40(*puVar10,pbVar8,iVar3); if ((iVar3 == 0) && (iVar3 = FUN_181249270(puVar10), -1 < iVar3)) { FUN_18049c4e0(&local_res20,&DAT_1821e3e54); local_48 = *puVar10; iVar3 = FUN_1812498b0(param_1,local_48,(char)param_1[4],0); if (iVar3 < 0) { local_res18 = local_res20; puVar7 = (uint *)(local_res20 + -0x10); uVar4 = *puVar7; } else { plVar5 = (longlong *)FUN_181249970(param_1 + 2); local_res18 = (char *)*plVar5; puVar7 = (uint *)(local_res18 + -0x10); uVar4 = *puVar7; } if ((uVar4 & 0x30000000) == 0) { LOCK(); *puVar7 = *puVar7 + 1; UNLOCK(); } iVar3 = atoi(local_res18); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } pbVar8 = local_res10; pbVar11 = local_res8; if (iVar3 == 0) { uVar9 = 1; goto LAB_1813ad24a; } } LAB_1813ad23b: puVar10 = puVar10 + 1; goto joined_r0x0001813ad088; } ############ FUN_ 1813b5af0 size=213 ############ undefined8 * FUN_1813b5af0(undefined8 *param_1,longlong *param_2,longlong *param_3) { uint uVar1; longlong lVar2; uint *_Memory; undefined8 *local_res8; local_res8 = param_1; FUN_18049c4e0(&local_res8,"midi out"); FUN_18122b770(param_1,&local_res8); _Memory = (uint *)(local_res8 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::MidiOutput::vftable; lVar2 = *param_2; param_1[0x40] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } lVar2 = *param_3; param_1[0x41] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } param_1[0x42] = 0; InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x43)); param_1[0x49] = 0; return param_1; } ############ FUN_ 1813bfba0 size=475 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_1813bfba0(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { undefined *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; puVar1 = &DAT_18267b1b0; if (*(int *)(*(longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8) + 0xc) < DAT_18267b1a8) { _Init_thread_header(&DAT_18267b1a8); if (DAT_18267b1a8 == -1) { FUN_18049c4e0(&DAT_18267b1b0,"Error"); DAT_18267b1b8 = 0xffcc0000; FUN_18049c4e0(&DAT_18267b1c0,"Comment"); DAT_18267b1c8 = 0xff3c3c3c; FUN_18049c4e0(&DAT_18267b1d0,"Keyword"); _DAT_18267b1d8 = 0xff0000cc; FUN_18049c4e0(&DAT_18267b1e0,"Operator"); _DAT_18267b1e8 = 0xff225500; FUN_18049c4e0(&DAT_18267b1f0,"Identifier"); _DAT_18267b1f8 = 0xff000000; FUN_18049c4e0(&DAT_18267b200,"Integer"); _DAT_18267b208 = 0xff880000; FUN_18049c4e0(&DAT_18267b210,"Float"); _DAT_18267b218 = 0xff885500; FUN_18049c4e0(&DAT_18267b220,"String"); _DAT_18267b228 = 0xff990099; FUN_18049c4e0(&DAT_18267b230,"Bracket"); _DAT_18267b238 = 0xff000055; FUN_18049c4e0(&DAT_18267b240,"Punctuation"); _DAT_18267b248 = 0xff004400; atexit((_func_5014 *)&LAB_181a4bc30); _Init_thread_footer(&DAT_18267b1a8); } } *param_2 = 0; param_2[1] = 0; do { FUN_1813c0890(param_2,puVar1,*(undefined4 *)(puVar1 + 8),param_4,uVar2); puVar1 = puVar1 + 0x10; } while (puVar1 != &DAT_18267b250); return param_2; } ############ FUN_ 1813c0020 size=362 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813c0020(undefined8 param_1,undefined8 *param_2) { uint uVar1; uint *_Memory; char **ppcVar2; undefined1 auStack_e8 [32]; undefined4 local_c8; undefined4 local_c4; longlong local_c0 [2]; undefined8 *local_b0; char *local_a8; undefined4 local_a0 [2]; char *local_98; undefined4 local_90; char *local_88; undefined4 local_80; char *local_78; undefined4 local_70; char *local_68; undefined4 local_60; char *local_58; undefined4 local_50; char *local_48; undefined4 local_40; char *local_38; undefined4 local_30; char *local_28; undefined4 local_20; char *local_18 [2]; local_c0[1] = 0xfffffffffffffffe; local_18[0] = (char *)(DAT_182615970 ^ (ulonglong)auStack_e8); local_a8 = "Error"; local_a0[0] = 0xffcc0000; local_98 = "Comment"; local_90 = 0xff00aa00; local_88 = "Keyword"; local_80 = 0xff0000cc; local_78 = "Operator"; local_70 = 0xff225500; local_68 = "Identifier"; local_60 = 0xff000000; local_58 = "String"; local_50 = 0xff990099; local_48 = "Bracket"; local_40 = 0xff000055; local_38 = "Punctuation"; local_30 = 0xff004400; local_28 = "Preprocessor Text"; local_20 = 0xff660000; *param_2 = 0; param_2[1] = 0; local_c4 = 1; ppcVar2 = &local_a8; local_b0 = param_2; do { FUN_18049c4e0(local_c0,*ppcVar2); local_c8 = *(undefined4 *)(ppcVar2 + 1); FUN_1813c0890(param_2,local_c0,local_c8); _Memory = (uint *)(local_c0[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } ppcVar2 = ppcVar2 + 2; } while (ppcVar2 != local_18); } ############ FUN_ 1813c01d0 size=405 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1813c01d0(undefined8 param_1,undefined8 *param_2) { uint uVar1; uint *_Memory; char **ppcVar2; undefined1 auStack_108 [32]; undefined4 local_e8; undefined4 local_e4; longlong local_e0 [2]; undefined8 *local_d0; char *local_c8; undefined4 local_c0 [2]; char *local_b8; undefined4 local_b0; char *local_a8; undefined4 local_a0; char *local_98; undefined4 local_90; char *local_88; undefined4 local_80; char *local_78; undefined4 local_70; char *local_68; undefined4 local_60; char *local_58; undefined4 local_50; char *local_48; undefined4 local_40; char *local_38; undefined4 local_30; char *local_28; undefined4 local_20; char *local_18 [2]; local_e0[1] = 0xfffffffffffffffe; local_18[0] = (char *)(DAT_182615970 ^ (ulonglong)auStack_108); local_c8 = "Error"; local_c0[0] = 0xffcc0000; local_b8 = "Comment"; local_b0 = 0xff00aa00; local_a8 = "Keyword"; local_a0 = 0xff0000cc; local_98 = "Operator"; local_90 = 0xff225500; local_88 = "Identifier"; local_80 = 0xff000000; local_78 = "Integer"; local_70 = 0xff880000; local_68 = "Float"; local_60 = 0xff885500; local_58 = "String"; local_50 = 0xff990099; local_48 = "Bracket"; local_40 = 0xff000055; local_38 = "Punctuation"; local_30 = 0xff004400; local_28 = "Preprocessor Text"; local_20 = 0xff660000; *param_2 = 0; param_2[1] = 0; local_e4 = 1; ppcVar2 = &local_c8; local_d0 = param_2; do { FUN_18049c4e0(local_e0,*ppcVar2); local_e8 = *(undefined4 *)(ppcVar2 + 1); FUN_1813c0890(param_2,local_e0,local_e8); _Memory = (uint *)(local_e0[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } ppcVar2 = ppcVar2 + 2; } while (ppcVar2 != local_18); } ############ FUN_ 1813c1400 size=936 ############ void FUN_1813c1400(longlong param_1,undefined8 param_2) { longlong lVar1; bool bVar2; int *piVar3; uint uVar4; uint *puVar5; longlong lVar6; undefined8 uVar7; longlong lVar8; longlong local_res8; undefined1 local_res20 [8]; longlong local_90; undefined1 local_88 [8]; longlong local_80; undefined1 local_78 [8]; longlong local_70; undefined1 local_68 [8]; longlong local_60; undefined1 local_58 [8]; longlong local_50; undefined1 local_48 [8]; longlong local_40; undefined1 local_38 [8]; undefined8 local_30; undefined1 local_28 [16]; local_30 = 0xfffffffffffffffe; if ((((*(int *)(param_1 + 0x128) == *(int *)(param_1 + 0x140)) && (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x144))) && (*(int *)(param_1 + 0x130) == *(int *)(param_1 + 0x148))) && (*(longlong *)(param_1 + 0x120) == *(longlong *)(param_1 + 0x138))) { bVar2 = true; } else { bVar2 = false; } if ((bVar2) || (*(char *)(param_1 + 0xf8) != '\0')) { uVar7 = 0; } else { uVar7 = 1; } FUN_18049c4e0(&local_res8,&DAT_1821e4a24); FUN_1812344e0(local_res20,&local_res8); puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_1813486a0(param_2,0x1003,local_res20,uVar7,0); FUN_18049c4e0(&local_90,&DAT_1822635f4); FUN_1812344e0(local_88,&local_90); puVar5 = (uint *)(local_90 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } piVar3 = (int *)(**(code **)(*(longlong *)(param_1 + 0xc0) + 0x10)) ((longlong *)(param_1 + 0xc0),local_28); FUN_1813486a0(param_2,0x1004,local_88,*piVar3 != piVar3[1],0); FUN_18049c4e0(&local_80,"Paste"); FUN_1812344e0(local_78,&local_80); puVar5 = (uint *)(local_80 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_1813486a0(param_2,0x1005,local_78,*(char *)(param_1 + 0xf8) == '\0',0); FUN_18049c4e0(&local_70,"Delete"); FUN_1812344e0(local_68,&local_70); puVar5 = (uint *)(local_70 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_1813486a0(param_2,0x1002,local_68,*(char *)(param_1 + 0xf8) == '\0',0); FUN_181348300(param_2); FUN_18049c4e0(&local_60,"Select All"); FUN_1812344e0(local_58,&local_60); puVar5 = (uint *)(local_60 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_1813486a0(param_2,0x1006,local_58,1,0); FUN_181348300(param_2); FUN_18049c4e0(&local_50,&DAT_1822676a4); FUN_1812344e0(local_48,&local_50); puVar5 = (uint *)(local_50 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } lVar1 = *(longlong *)(param_1 + 200); uVar4 = *(int *)(lVar1 + 0x8c) - 1; lVar8 = 0; lVar6 = lVar8; if (uVar4 < *(uint *)(lVar1 + 100)) { lVar6 = *(longlong *)(*(longlong *)(lVar1 + 0x58) + (longlong)(int)uVar4 * 8); } FUN_1813486a0(param_2,0x1008,local_48,lVar6 != 0,0); FUN_18049c4e0(&local_40,&DAT_182267644); FUN_1812344e0(local_38,&local_40); puVar5 = (uint *)(local_40 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } lVar1 = *(longlong *)(param_1 + 200); if (*(uint *)(lVar1 + 0x8c) < *(uint *)(lVar1 + 100)) { lVar8 = *(longlong *)(*(longlong *)(lVar1 + 0x58) + (longlong)(int)*(uint *)(lVar1 + 0x8c) * 8); } FUN_1813486a0(param_2,0x1009,local_38,lVar8 != 0,0); return; } ############ FUN_ 1813c4800 size=666 ############ void FUN_1813c4800(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; bool bVar3; wint_t _C; int iVar4; int iVar5; int iVar6; uint uVar7; undefined8 uVar8; uint *_Memory; int iVar9; longlong lVar10; int iVar11; undefined4 local_res8; undefined4 uStackX_c; longlong local_res10; longlong *local_60; int local_58; undefined8 local_54; char local_4c; undefined1 local_48 [20]; char local_34; iVar9 = 0; iVar6 = 0; local_res8 = 0; if (*(char *)(param_1 + 0xf8) != '\0') { return; } plVar1 = *(longlong **)(param_1 + 0x108); if ((*(uint *)(param_1 + 0x114) < *(uint *)((longlong)plVar1 + 0xc)) && (lVar10 = *(longlong *)(*plVar1 + (longlong)(int)*(uint *)(param_1 + 0x114) * 8), lVar10 != 0)) { _C = FUN_180493050(lVar10,*(undefined4 *)(param_1 + 0x118),param_3,param_4,0xfffffffffffffffe); } else { _C = 0; } iVar4 = iswspace(_C); if (iVar4 != 0) { local_60 = *(longlong **)(param_1 + 0x108); local_58 = *(int *)(param_1 + 0x110); local_54._0_4_ = *(int *)(param_1 + 0x114); local_54._4_4_ = *(int *)(param_1 + 0x118); local_4c = '\0'; FUN_1813c8260(&local_60); iVar4 = 1; if ((int)local_54 < *(int *)((longlong)local_60 + 0xc)) { lVar10 = *(longlong *)(*local_60 + (longlong)(int)local_54 * 8); if (local_54._4_4_ + 1 < *(int *)(lVar10 + 0xc)) { iVar4 = 1; if (*(int *)(lVar10 + 0x10) + 1 <= local_54._4_4_ + 1) { iVar4 = 2; } } } iVar4 = local_58 + iVar4; local_54 = 0; local_58 = 0; if (0 < iVar4) { iVar11 = *(int *)((longlong)local_60 + 0xc); if (3 < iVar11) { do { iVar5 = (iVar9 + 1 + iVar11) / 2; iVar6 = iVar5; if (*(int *)(*(longlong *)(*local_60 + (longlong)iVar5 * 8) + 8) <= iVar4) { iVar6 = iVar11; iVar9 = iVar5; } iVar11 = iVar6; } while (3 < iVar11 - iVar9); } iVar6 = 0; for (lVar10 = (longlong)iVar9; lVar10 < iVar11; lVar10 = lVar10 + 1) { lVar2 = *(longlong *)(*local_60 + lVar10 * 8); iVar5 = iVar4 - *(int *)(lVar2 + 8); if ((-1 < iVar5) && ((iVar5 < *(int *)(lVar2 + 0xc) || (iVar9 == iVar11 + -1)))) { local_58 = *(int *)(lVar2 + 0x10); if (iVar5 < *(int *)(lVar2 + 0x10)) { local_58 = iVar5; } local_54 = CONCAT44(local_58,iVar9); local_58 = local_58 + *(int *)(lVar2 + 8); iVar6 = iVar9; } iVar9 = iVar9 + 1; } } iVar9 = 1; if (*(int *)(param_1 + 0x114) == iVar6) { bVar3 = true; goto LAB_1813c4995; } } bVar3 = false; LAB_1813c4995: if ((iVar9 != 0) && (local_4c != '\0')) { FUN_1813c8030(&local_60,0); } if (bVar3) { uVar8 = FUN_1813c77b0(); FUN_1813c51c0(param_1,uVar8,0); if (local_34 != '\0') { FUN_1813c8030(local_48,0); } } if (*(char *)(param_1 + 0xf9) == '\0') { FUN_18049c4e0(&local_res8,&DAT_1821e49ac); (**(code **)(*(longlong *)(param_1 + 0xc0) + 0x30))((longlong *)(param_1 + 0xc0),&local_res8); _Memory = (uint *)(CONCAT44(uStackX_c,local_res8) + -0x10); uVar7 = *_Memory; } else { iVar6 = FUN_1813c0b30(param_1,*(undefined4 *)(param_1 + 0x114),*(undefined4 *)(param_1 + 0x118)) ; uVar8 = FUN_181231fc0(&local_res10,&DAT_1821e4994, *(int *)(param_1 + 0xdc) - iVar6 % *(int *)(param_1 + 0xdc)); (**(code **)(*(longlong *)(param_1 + 0xc0) + 0x30))((longlong *)(param_1 + 0xc0),uVar8); _Memory = (uint *)(local_res10 + -0x10); uVar7 = *_Memory; } if ((uVar7 & 0x30000000) == 0) { LOCK(); uVar7 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1814d51f0 size=360 ############ undefined8 * FUN_1814d51f0(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4) { uint *_Memory; uint uVar1; longlong lVar2; longlong local_res18; FUN_18049c4e0(&local_res18,"shortcut",param_3,param_4,0xfffffffffffffffe); *param_1 = juce::Component::vftable; param_1[1] = local_res18; _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } param_1[2] = &DAT_1821dbf98; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; param_1[6] = 0; param_1[7] = 0; param_1[8] = 0; param_1[9] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xd] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x11] = 0; param_1[0x12] = 0; param_1[0x13] = 0; param_1[0x14] = 0; *(undefined4 *)(param_1 + 0x15) = 0; *(undefined1 *)((longlong)param_1 + 0xac) = 0; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x17] = 0; *(undefined1 *)(param_1 + 0x18) = 0; *param_1 = Shortcut::vftable; param_1[0x16] = Shortcut::vftable; FUN_180579620(param_1 + 0x19,param_2); lVar2 = *param_3; param_1[0x1c] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } FUN_181252d20(param_1 + 0x1d); return param_1; } ############ FUN_ 1813e2a60 size=33 ############ undefined8 .?AVSoothe2ModuleDecryptor@@::vtbl___AVSoothe2ModuleDecryptor__ (undefined8 param_1,undefined8 param_2) { FUN_18049c4e0(param_2, "lBnBKPSzl9hjqL9t6KtsEn5XFT0HQWftYA4e32/dbJSqTszNkf71S7wl8xnrBCTvwaU9YAhT8oxpw3tNwx+UoUBhEj2EuucDWJ/lfs5lip3iNTdOEArLWy3vEz1S9qkJ/Z9kMksfxEt3sOhyCX/j+qbkcqKsscs9aq+/7xGcX9Hk/DunFHeRV5vgJLakKAKm3yA+b2dKqNvCw2DTtnVSHRYJ/48vDmpp9flpJGZtIMZ0HxvdWac9o7bxN2476ZJcHUjsTWyB5WOWbxGkGSSvDmHyzVd/q5ecwBfkUEn3Ev1pfL25plhN9ciUXX0cLRSoFqHefaAOH9QbfMjzww0DAensSgvMmqA5B6BYP+Pri/nTu7rAMwTRn5pVcTD1zTs40GfCO51gf/0u//L5kPSffrFxyiyAwgt3ZtAPLh+lLG9BIj1x+NyYh3HKTtq6cMKIqOYZtiAiuqeeMoj13UeIowN0fCqRLZ1AW6PB5RCaCtZ3KcD9QAWMmdByMXZ0pUldRCoB+L8XOXBNzc2jG46SzeLS+QKTaPnzgPBKaxJYGX2ww46+Pm27mJnMJq5WCvzicIufjnZGhY2myql3QG49M/rCQ0YQjIOjx5eFyAk1h2X2dDT4xveIxK+CU8mLVu1N6smldr3RQN7oOOFJ8QVvcJSn0MfdLldhG4k/8psbP1D0cRm8xiZYDoVWXzpNdixn" ); return param_2; } ############ FUN_ 181489570 size=813 ############ /* WARNING: Removing unreachable block (ram,0x000181489747) */ /* WARNING: Removing unreachable block (ram,0x00018148976f) */ /* WARNING: Removing unreachable block (ram,0x0001814896ef) */ /* WARNING: Removing unreachable block (ram,0x00018148965f) */ /* WARNING: Removing unreachable block (ram,0x0001814896fd) */ /* WARNING: Removing unreachable block (ram,0x000181489783) */ /* WARNING: Removing unreachable block (ram,0x0001814897b2) */ void FUN_181489570(undefined8 *param_1,undefined8 param_2) { undefined1 auStack_158 [92]; undefined4 local_fc; undefined4 local_f4; undefined8 *local_b8; undefined8 local_a0; undefined8 *local_98; ulonglong local_38; local_a0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_158; local_b8 = param_1; local_98 = param_1; FUN_18056b680(); *param_1 = PresetPanelComponent::vftable; param_1[0x16] = PresetPanelComponent::vftable; param_1[0x19] = param_2; FUN_18049c4e0(param_1 + 0x1a,""); *(undefined2 *)(param_1 + 0x1b) = 0; local_fc = 0x140; local_f4 = 0x700; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) | 0x20; (*(code *)&LAB_1814e4d88) (0x700,(uint)&stack0x00000000 & 0x12ff,&LAB_1814e4d88,0,&DAT_1814898b1,&stack0x00000000) ; return; } ############ FUN_ 18146fc30 size=106 ############ void FUN_18146fc30(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint *_Memory; longlong local_res8 [4]; FUN_18049c4e0(local_res8,"delete preset",param_3,param_4,0xfffffffffffffffe); FUN_181347ea0(*(undefined8 *)(param_1 + 0x388),local_res8); _Memory = (uint *)(local_res8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(undefined1 *)(param_1 + 0x390) = 0; return; } ############ FUN_ 1814700d0 size=264 ############ void FUN_1814700d0(longlong param_1,longlong param_2) { uint uVar1; code *pcVar2; char cVar3; uint *_Memory; longlong local_res8; FUN_18049c4e0(&local_res8,"delete preset"); FUN_181347ea0(*(undefined8 *)(param_1 + 0x478),&local_res8); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(undefined1 *)(param_1 + 0x480) = 0; uVar1 = *(uint *)(param_2 + 0x10); cVar3 = FUN_1815fb4e0(param_1 + 0x108); if (cVar3 == '\0') { if ((uVar1 >> 5 & 1) != 0) { pcVar2 = *(code **)(**(longlong **)(param_1 + 0x448) + 0x48); if (pcVar2 == FUN_1811765f0) { cVar3 = (char)(*(longlong **)(param_1 + 0x448))[5]; } else { cVar3 = (*pcVar2)(); } if (cVar3 == '\0') { FUN_1815fe690(param_1 + 0x108,1,0,0,0); return; } } FUN_181483910(param_1,param_2); } else { FUN_1815fceb0(param_1 + 0x108); } return; } ############ FUN_ 1815fe690 size=362 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1815fe690(longlong *param_1,undefined4 param_2,undefined4 param_3,undefined8 param_4, uint param_5) { longlong lVar1; undefined8 uVar2; int iVar3; undefined1 auStack_88 [32]; uint local_68; undefined8 local_60; undefined8 local_58; longlong local_48 [2]; longlong *local_38; undefined **local_30; undefined1 local_28 [8]; ulonglong local_20; local_48[1] = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_88; iVar3 = *(int *)((longlong)param_1 + 0x33c); while (0 < iVar3) { iVar3 = iVar3 + -1; if ((*(int *)((longlong)param_1 + 0x33c) <= iVar3) && (iVar3 = *(int *)((longlong)param_1 + 0x33c) + -1, iVar3 < 0)) break; FUN_180526060(*(undefined8 *)(param_1[0x66] + (longlong)iVar3 * 8),param_1); } lVar1 = param_1[0x1a]; (**(code **)(*param_1 + 0x58))(param_1,1); FUN_181343cc0(lVar1,param_1,0xffffffff); local_68 = param_5; FUN_1815b64a0(param_1,param_2,param_3,param_4); *(undefined2 *)(param_1 + 0x65) = 0x101; FUN_181341570(param_1[0x1a],param_1,1); if (*(char *)((longlong)param_1 + 0x32a) != '\0') { local_38 = local_48; local_30 = &PTR_vftable_18262b560; FUN_18049c4e0(local_28,"CloudyPopupMenu"); local_48[0] = DAT_182674300; if (DAT_182674300 != 0) { LOCK(); *(int *)(DAT_182674300 + 8) = *(int *)(DAT_182674300 + 8) + 1; UNLOCK(); } uVar2 = FUN_18133a120(param_1); local_58 = 0; local_60 = 0; local_68 = local_68 & 0xffffff00; FUN_18133a190(uVar2,&local_30,param_1,local_48); (**(code **)(*local_30 + 0xb0))(local_30,local_28); } } ############ FUN_ 18148b650 size=350 ############ undefined8 FUN_18148b650(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; byte bVar1; uint uVar2; longlong *plVar3; undefined8 *puVar4; byte *pbVar5; undefined8 uVar6; uint *puVar7; int iVar8; undefined1 local_28 [8]; byte *local_20; longlong *local_18; undefined8 local_10; local_10 = 0xfffffffffffffffe; plVar3 = (longlong *)FUN_1812dc020(param_3,local_28); local_18 = plVar3; puVar4 = (undefined8 *)FUN_181232d30(plVar3); local_20 = (byte *)*puVar4; _Memory = (uint *)(local_20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar7 = (uint *)(*plVar3 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } iVar8 = 0; pbVar5 = local_20; do { while( true ) { bVar1 = *pbVar5; pbVar5 = pbVar5 + 1; if ((char)bVar1 < '\0') break; if (bVar1 == 0) { if (iVar8 < 0x14) { uVar6 = FUN_181248c30(param_4,&local_18); FUN_1812489f0(uVar6,param_2,&DAT_182360f70); puVar7 = (uint *)(local_18 + -2); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } uVar2 = *_Memory; } else { FUN_18049c4e0(param_2,&DAT_1821d918f); uVar2 = *_Memory; } if ((uVar2 & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_2; } LAB_18148b717: iVar8 = iVar8 + 1; } if ((*pbVar5 & 0xc0) != 0x80) goto LAB_18148b717; do { pbVar5 = pbVar5 + 1; } while ((*pbVar5 & 0xc0) == 0x80); iVar8 = iVar8 + 1; } while( true ); } ############ FUN_ 1814a3e70 size=761 ############ /* WARNING: Instruction at (ram,0x0001814a4174) overlaps instruction at (ram,0x0001814a416f) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x0001814a3f59) */ /* WARNING: Removing unreachable block (ram,0x0001814a3ee3) */ /* WARNING: Removing unreachable block (ram,0x0001814a416f) */ /* WARNING: Removing unreachable block (ram,0x0001814a4163) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ uint FUN_1814a3e70(longlong param_1) { longlong lVar1; longlong lVar2; undefined1 *puVar3; int iVar4; int iVar5; uint uVar6; undefined4 uVar7; undefined8 uVar8; ulonglong uVar9; uint uVar10; uint uVar11; uint *puVar12; longlong *plVar13; uint uVar14; undefined *puVar15; undefined4 *puVar16; longlong lVar17; longlong lVar18; uint uVar19; IMAGE_DOS_HEADER *pIVar20; ulonglong *puVar21; ulonglong *puVar22; ulonglong *puVar23; IMAGE_DOS_HEADER *pIVar24; uint uVar25; longlong lVar26; uint uVar27; int iVar28; IMAGE_DOS_HEADER *pIVar29; IMAGE_DOS_HEADER *pIVar30; uint uVar31; ulonglong in_R11; word *pwVar32; ulonglong uVar33; undefined1 uVar34; int unaff_retaddr; ulonglong auStack_258 [2]; undefined1 auStack_248 [80]; undefined8 local_1f8; undefined *local_1f0; uint local_1e4; ulonglong local_1e0; longlong lStack_1d8; uint uStack_1d0; uint uStack_1cc; uint uStack_1c8; uint uStack_1c4; undefined8 local_1b8; undefined8 local_1b0; uint uStack_1a8; uint uStack_1a4; int iStack_1a0; undefined4 local_19c; uint local_198; longlong local_190; undefined4 uStack_188; uint uStack_184; undefined1 local_180 [8]; ulonglong local_178 [3]; undefined4 auStack_160 [2]; undefined *puStack_158; longlong lStack_150; undefined *local_148; code *pcStack_140; undefined4 uStack_138; longlong local_120; int iStack_118; int iStack_114; int iStack_110; uint uStack_10c; undefined4 uStack_108; undefined4 uStack_104; undefined8 local_100; undefined8 local_f8; undefined8 local_f0; undefined1 local_e8 [72]; int iStack_a0; int iStack_9c; int iStack_98; uint uStack_94; char cStack_80; char cStack_7f; word wStack_7e; uint uStack_58; uint uStack_54; ulonglong local_30; puVar23 = (ulonglong *)auStack_248; local_f0 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_248; uVar6 = (uint)&stack0x00000000 & 0x7ff; uVar25 = (uint)&stack0x00000000 & 0xfff; uVar6 = (uVar6 + 1) * uVar6 + 0x5ea1 & 0x80000001 | (uVar25 * uVar25 * 0x10 + 4) % 0x13; local_198 = ((int)(-uVar6 | uVar6) >> 0x1f) * -0x32e1 ^ 0x3df1; uVar33 = 0; local_19c = 0xcc0; puVar15 = &DAT_1823a44d0; if (*(char *)(param_1 + 0x118) != '\0') { puVar15 = &DAT_18239afc0; } local_120 = param_1; FUN_18049c4e0(local_178,puVar15); uVar8 = FUN_181248710(local_e8,local_178); FUN_181248430(uVar8,local_180,0); FUN_181248660(local_e8); uVar34 = 0xf < local_178[0]; FUN_1804951e0(local_178[0] - 0x10); local_100 = 0; local_1b8 = 0; local_f8 = 0; local_1b0 = 0; local_1e4 = 0x811c9e07; do { uVar9 = 0; FUN_1814a436a(); if ((bool)uVar34) { if ((uVar9 & 0x43) == 0) { uVar33 = uVar33 ^ in_R11; } uVar33 = in_R11 ^ uVar33; } uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } uVar34 = 0; } while (uVar6 != 0); pIVar30 = &IMAGE_DOS_HEADER_180000000; local_1e0 = 0; local_1f8 = 0xa1b444; local_190 = 0x180a1b444; local_1f0 = &DAT_180a1cf18; do { /* WARNING: Bad instruction - Truncating control flow here */ uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); do { uStack_1d0 = 0xff92177; uStack_138 = 0x2b; puStack_158 = &UNK_1814a41b7; /* WARNING: Call to offcut address within same function */ func_0x0001814a4147(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = (uStack_1d0 >> 0xf ^ uStack_1d0) >> 1 & 0x7fff; uVar6 = ((uVar6 << 0xf | uVar6) * 2 ^ uStack_1d0) + 0xbe2178c4; uVar6 = uVar6 >> 7 | uVar6 * 0x2000000; uVar25 = ~((uVar6 & 0x33333333) << 2 | uVar6 >> 2 & 0x33333333); uVar6 = (uVar25 >> 0xc ^ uVar25) >> 7 & 0x7ff; uVar25 = ((uVar6 << 0xc | uVar6) << 7 ^ uVar25) + 0x5ba18147; uVar6 = (uVar25 >> 10 ^ uVar25) & 1; uStack_1d0 = ((uVar6 << 10 | uVar6) ^ uVar25) + 0x63e4db8b; do { plVar13 = &lStack_150; puVar16 = auStack_160; puVar12 = &uStack_1a8; func_0x0001814a61f3(); *puVar12 = 0xc2cb117a; *puVar16 = 0x30; *plVar13 = (longlong)&UNK_1814a4286; func_0x0001814a3c9a(); uVar6 = uStack_1d0; uVar25 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar25 < 0) { uVar25 = (uVar25 - 1 | 0xfffffffe) + 1; } } while (uVar25 != 0); uVar25 = (uStack_1a8 >> 0xc ^ uStack_1a8) >> 9 & 0x7ff; uVar25 = uStack_1a8 ^ (uVar25 << 0xc | uVar25) << 9; uVar25 = uVar25 >> 2 & 0xcccccccc | uStack_1a8 << 0x1e | (uVar25 & 0xccccccc) << 2 | uVar25 >> 0x1e; uVar10 = uVar25 << 0x1b | uVar25 >> 5; uVar25 = (uVar10 >> 4 | (uVar25 >> 5) << 0x1c) & 0x87878787 | (uVar10 << 4 | (uVar25 & 0x1f) >> 1) & 0x78787878; uVar25 = (uVar25 << 0x10 | uVar25 >> 0x10) & 0xce0531fa | (uVar25 >> 0x10 | uVar25 << 0x10) & 0x31face05; uVar10 = ((uVar25 >> 8 | uVar25 << 0x18) & 0xb44bb44b | (uVar25 << 8 | uVar25 >> 0x18) & 0x4bb44bb4) + 0x1bb831da; uVar25 = (uVar10 >> 0xd ^ uVar10) & 0xfff; uVar25 = uVar10 ^ (uVar25 << 0xd | uVar25); lStack_150 = ((longlong)(int)(uVar25 >> 4 | uVar25 << 0x1c) & 0xffffffffc3c3c3c3U | (ulonglong)((uVar25 << 4 | uVar10 >> 0x1c) & 0x3c3c3c3c)) + lStack_150; uStack_1d0 = (uint)uVar33; uStack_1a8 = (uint)uVar33; *(ulonglong *)(puStack_158 + (longlong)(int)uVar6 + 4) = *(longlong *)(puStack_158 + (longlong)(int)uVar6 + 4) + (ulonglong)((uint)(*(ulonglong *)(lStack_150 + 4) >> 4) & 0x48c21124); do { uVar8 = rdtsc(); uVar25 = (int)uVar8 + (int)((ulonglong)uVar8 >> 0x20) * 8; lVar17 = ((ulonglong)uVar25 - (((ulonglong)(uVar25 >> 5) | (ulonglong)uVar25 << 0x3b) - 0x29d2c5ca)) * 0x81 + 0x1ef7db62; uVar33 = lVar17 - ((lVar17 * 0x28000 | (ulonglong)(lVar17 * 5) >> 0x31) - 0x576c2e7b); uVar9 = uVar33 * 0x8000 | uVar33 >> 0x31; uVar9 = uVar9 - (~-((uVar9 << 0x10 | (uVar33 & 0x1ffffffffffff) >> 0x21) + 0x3f5ce3e5) + 1); uVar33 = uVar9 * 0x40 | uVar9 >> 0x3a; uVar25 = (int)(uVar33 * 9 >> 9) + (int)uVar33 * 8 & 0x49bc7e26; uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } } while (uVar10 != 0); *(uint *)(puStack_158 + (longlong)(int)uVar6 + 8) = *(int *)(puStack_158 + (longlong)(int)uVar6 + 8) + (uVar25 ^ 0xa42305f9); *(uint *)(puStack_158 + (longlong)(int)uVar6 + 4) = *(int *)(puStack_158 + (longlong)(int)uVar6 + 4) + (uVar25 ^ 0x65204a3a); uVar33 = *(ulonglong *)(puStack_158 + (longlong)(int)uVar6 + 4); uVar33 = (uVar33 << 0x10 | uVar33 >> 0x30) & 0xfe970168fe970168 | (uVar33 >> 0x10 | uVar33 << 0x30) & 0x168fe970168fe97; uVar33 = (uVar33 << 1 | (ulonglong)((longlong)uVar33 < 0)) + 0x4980a9f73c8cebe; uVar33 = (uVar33 * 0x100 | uVar33 >> 0x38) & 0xf00ff00ff00ff00f | (uVar33 >> 8 | uVar33 << 0x38) & 0xff00ff00ff00ff0; uVar9 = uVar33 << 0x17 | uVar33 >> 0x29; uVar33 = (uVar9 << 8 | (uVar33 & 0x1ffffffffff) >> 0x21) & 0xd728d728d728d728 | (uVar9 >> 8 | (uVar33 >> 0x29) << 0x38) & 0x28d728d728d728d7; uVar33 = ((uVar33 >> 4 | uVar33 << 0x3c) & 0xe1e1e1e1e1e1e1e1 | (uVar33 << 4 | uVar33 >> 0x3c) & 0x1e1e1e1e1e1e1e1e) + 0x2ee7aa0847e7e545; uVar33 = uVar33 * 0x2000000 | uVar33 >> 0x27; *(ulonglong *)(puStack_158 + (longlong)(int)uVar6 + 4) = uVar33; plVar13 = (longlong *)(lStack_150 + 4); *plVar13 = *plVar13 + (uVar33 >> 3 & 0xb0122220); uStack_1cc = (uint)(*(ulonglong *)(puStack_158 + (longlong)(int)uVar6 + 4) >> 10) & 0x7fffffff; local_1f8 = CONCAT44(local_1f8._4_4_, (int)((ulonglong)*(undefined8 *)(puStack_158 + (longlong)(int)uVar6 + 4) >> 0x10)) ^ 0x182530fe; local_1e0 = *(ulonglong *)(puStack_158 + (longlong)(int)uVar6 + 4) ^ 0x2b14b2fedc3fc8a2; lVar17 = 0; lStack_1d8 = local_190; local_190 = (longlong)local_1f0 - local_190; do { uStack_188 = 0x872e9273; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); do { uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uStack_108 = 0xc852d023; uStack_104 = 0xf975c1b5; uVar6 = (uint)local_1e0 ^ (uint)local_1f8; uVar10 = uVar6 & 0x2bfd4af1 ^ (uint)local_1f8; uVar6 = uVar6 & 0xd402b50e ^ (uint)local_1f8 ^ uVar10; uVar14 = uVar6 & 0xf0f0f0f0 ^ uVar10; uVar10 = uVar6 & 0xf0f0f0f ^ uVar10; puVar15 = (undefined *)(ulonglong)uVar10; uVar6 = (uVar14 >> 6 ^ uVar14) >> 2 & 3; uVar25 = (uVar10 >> 0x16 ^ uVar10) >> 5 & 3; uVar19 = (uint)(local_1e0 >> 0x20); uVar11 = (uVar19 >> 0x14 ^ uVar19) >> 3 & 0x1ff; uVar6 = (uVar6 << 6 | uVar6) << 2 ^ uVar14 ^ 0x25a378fb; uVar14 = ~(uVar6 & 0x74575030 ^ 0x25a378fb); uVar31 = ~(uVar6 & 0x8ba8afcf ^ 0x25a378fb); uVar27 = ~((uVar25 << 0x16 | uVar25) << 5 ^ uVar10); uVar6 = ~((uVar11 << 0x14 | uVar11) << 3 ^ uVar19); uVar10 = (uVar14 << 2 | uVar14 >> 0x1e) & 0x99999999 | (uVar14 >> 2 | uVar14 << 0x1e) & 0x66666666 ; uVar6 = (uVar6 >> 2 | uVar6 << 0x1e) & 0x99999999 | (uVar6 << 2 | uVar6 >> 0x1e) & 0x66666666; uVar25 = uVar6 << 5 | uVar6 >> 0x1b; uVar6 = uVar25 ^ (uVar10 << 0x15 | uVar10 >> 0xb); iStack_118 = (uVar6 & 0x55555555 ^ uVar25) + 0x26edbe0b; uVar10 = (uVar31 & 0xf0f0f0) << 4 | uVar31 >> 0x1c; pwVar32 = (word *)(ulonglong)uVar10; iStack_114 = ((uVar31 >> 4 & 0xf0f0f0f0 | uVar31 << 0x1c | uVar10) >> 2 | (uVar31 >> 0x1c) << 0x1e ) + 0xd1b1c41; iStack_110 = (((uVar27 >> 8 | uVar27 << 0x18) & 0xdd22dd22 | (uVar27 << 8 | uVar27 >> 0x18) & 0x22dd22dd) << 2 | (uVar27 & 0xff) >> 6) + 0xd1de1f70; uVar6 = uVar6 & 0xaaaaaaaa ^ uVar25 ^ 0x724d0b9e; uStack_10c = uVar6; do { uVar8 = rdtsc(); uStack_184 = (int)uVar8 + (int)((ulonglong)uVar8 >> 0x20) * 8; uVar33 = (((ulonglong)(uStack_184 >> 0xc) - 0x2cd96c51) + (ulonglong)uStack_184 * 4) * 0x50002 + 0x78c8bdbf; uVar9 = (uVar33 >> 0xb | uVar33 << 0x35) * 0x5001 + 0x4c9b0de9; uVar33 = uVar9 >> 6; uVar9 = uVar33 | uVar9 << 0x3a; uVar9 = uVar9 ^ (uVar33 * 0x3000 | uVar9 * 3 >> 0x34) - 0xfab2139; uVar9 = uVar9 + ((uVar9 * 0x300 | uVar9 * 3 >> 0x38) - 0x7366c1dc); uVar6 = ~((uVar6 ^ 0xffffffff) + 1) + 1; pwVar32 = (word *)((-(longlong)pwVar32 ^ 0xffffffffffffffffU) + 1); uVar25 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar25 < 0) { uVar25 = (uVar25 - 1 | 0xfffffffe) + 1; } } while (uVar25 != 0); uStack_1a4 = (uint)(uVar9 - ((uVar9 >> 8) - 0x5ce35e21) >> 0x10) >> 1 ^ uStack_1cc; uVar25 = 0xd5d1124f; iVar28 = iStack_118; iVar4 = iStack_114; iVar5 = iStack_110; if (uStack_1a4 < 0x404040) { do { uStack_94 = uVar6; iStack_98 = iVar5; iStack_9c = iVar4; iStack_a0 = iVar28; puVar15 = &UNK_1814a4a32; iStack_1a0 = -0x368dffb7; pwVar32 = (word *)0x0; local_148 = &UNK_1814a4a32; func_0x0001814a36cd(); uVar10 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar10 < 0) { uVar10 = (uVar10 - 1 | 0xfffffffe) + 1; } iVar28 = iStack_a0; iVar4 = iStack_9c; iVar5 = iStack_98; uVar6 = uStack_94; } while (uVar10 != 0); uVar6 = ~((iStack_1a0 << 1 | (uint)(iStack_1a0 < 0)) ^ 0x9909d54d) + 0xfaa3a4c; iStack_1a0 = (uVar6 >> 0xb | uVar6 * 0x200000) + 0x71d9b802; (*(code *)(local_148 + iStack_1a0))(&iStack_a0,&uStack_58); do { puVar12 = &uStack_1c8; /* WARNING: Call to offcut address within same function */ func_0x0001814a4468(); *puVar12 = 0x75135662; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = ~(((uStack_1c8 ^ 0xa0ee6c22) >> 5 | (uStack_1c8 ^ 0xa0ee6c22) << 0x1b) ^ 0x657fe44b); uVar6 = (uVar6 << 0x1c | uVar6 >> 4) + 0xa00cc36f; uVar6 = (uVar6 >> 0x17 | uVar6 * 0x200) + 0x48c06972; uStack_1c8 = uVar6 * 0x80000 | uVar6 >> 0xd; iVar28 = 7; do { uVar6 = (uStack_54 ^ uStack_58) & 0x4efd1df ^ uStack_58; uVar10 = (uStack_54 ^ uStack_58) & 0xfb102e20 ^ uStack_58 ^ uVar6; uVar11 = ~(uVar10 & 0x54d3484b ^ uVar6); uVar10 = uVar11 ^ ~(uVar10 & 0xab2cb7b4 ^ uVar6); uVar6 = uVar10 & 0x7b746601 ^ uVar11; uVar11 = uVar10 & 0x848b99fe ^ uVar11; uVar10 = ((uVar11 << 4 | uVar11 >> 0x1c) & 0xc3c3c3c3 | (uVar11 >> 4 | uVar11 << 0x1c) & 0x3c3c3c3c) + 0x36fae1ff; uVar11 = ((uVar6 << 0x10 | uVar6 >> 0x10) & 0x96b5694a | (uVar6 >> 0x10 | uVar6 << 0x10) & 0x694a96b5) + 0xf365dac8 ^ uVar10; uVar6 = uVar11 & 0xa7071cb4 ^ uVar10; uVar10 = uVar11 & 0x58f8e34b ^ uVar10; uVar6 = uVar6 << 0x18 | uVar6 >> 8; uStack_58 = uVar6 + 0xc3118cdd; uStack_54 = (uVar10 >> 6 | uVar10 << 0x1a) ^ 0x3825b93f; iVar28 = iVar28 + -1; } while (-1 < iVar28); uVar6 = uVar6 + 0xe8a3b636; uVar6 = (uVar6 >> 0xf | uVar6 * 0x20000) + 0xd03b345e; uVar6 = ~((uVar6 * 0x20000000 | uVar6 >> 3) + 0xca08bcaf) + 0xd8cc0298; if (((uVar6 * 0x400 | uVar6 >> 0x16) ^ 0xec624d7c ^ uStack_1c8) + uStack_54 != (uint)local_1f8) { do { pcStack_140 = FUN_180bc28a0; uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); FUN_180bc28a0(); do { func_0x0001814a3c9a(); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); } } lVar2 = local_190; lVar1 = lStack_1d8; local_1e0 = 0x8170e655881a51ac; local_1f8 = CONCAT44(local_1f8._4_4_,0x881a51ac); puVar3 = auStack_248; uStack_1c4 = local_1e4; if (local_190 == 0) { code_r0x0001814a4f93: *(undefined **)((longlong)puVar23 + -8) = puVar15; *(word **)((longlong)puVar23 + -0x10) = pwVar32; *(undefined **)((longlong)puVar23 + -0x18) = &UNK_1814a5130; *(undefined **)((longlong)puVar23 + -0x20) = &UNK_18146efd2; *(undefined **)((longlong)puVar23 + -0x28) = &UNK_1814980ea; *(undefined **)((longlong)puVar23 + -0x30) = &UNK_1814eccbf; *(undefined **)((longlong)puVar23 + -0x38) = &UNK_1815087d7; *(undefined **)((longlong)puVar23 + -0x40) = &UNK_18151017e; *(code **)((longlong)puVar23 + -0x48) = FUN_1814d65bc; *(undefined1 **)((longlong)puVar23 + -0x50) = &LAB_18143ac3f; *(undefined **)((longlong)puVar23 + -0x58) = &UNK_18145e300; *(code **)((longlong)puVar23 + -0x60) = FUN_1814d65bc; return uStack_1c4; } code_r0x0001814a4d10: puVar23 = (ulonglong *)puVar3; pIVar20 = (IMAGE_DOS_HEADER *)(lVar17 + lVar1); if ((pIVar30 != (IMAGE_DOS_HEADER *)0x0) && (lVar18._0_1_ = pIVar30->e_magic[0], lVar18._1_1_ = pIVar30->e_magic[1], lVar18._2_2_ = pIVar30->e_cblp, lVar18._4_2_ = pIVar30->e_cp, lVar18._6_2_ = pIVar30->e_crlc, -1 < lVar18)) { *(undefined8 *)((longlong)puVar23 + 0x70) = 0x2621fc0; lVar26 = (longlong)&DAT_182621fc0 + -*(longlong *)((longlong)puVar23 + 0x70); pIVar24 = pIVar30; do { if (pIVar20 < (IMAGE_DOS_HEADER *) (-*(longlong *)((longlong)puVar23 + 0x70) + 0x182621fc8 + lVar18)) { pIVar30 = pIVar24; if (-1 < lVar18) { plVar13 = (longlong *)(lVar26 + lVar18); pwVar32 = &pIVar20->e_cp; if (plVar13 < pwVar32) { cStack_80 = pIVar20->e_magic[0]; cStack_7f = pIVar20->e_magic[1]; wStack_7e = pIVar20->e_cblp; puVar15 = (undefined *)(lVar26 - (longlong)pIVar20); pIVar29 = pIVar24; goto code_r0x0001814a4d95; } } break; } pIVar30 = (IMAGE_DOS_HEADER *)&pIVar24->e_cparhdr; lVar18._0_2_ = pIVar24->e_cparhdr; lVar18._2_2_ = pIVar24->e_minalloc; lVar18._4_2_ = pIVar24->e_maxalloc; lVar18._6_2_ = pIVar24->e_ss; pIVar24 = pIVar30; } while (-1 < lVar18); } goto code_r0x0001814a4dd0; while (plVar13 = (longlong *)(lVar26 + lVar18), plVar13 < pwVar32) { code_r0x0001814a4d95: *(longlong *)(&stack0xffffffffffffff80 + (longlong)(puVar15 + lVar18)) = *plVar13 - lVar26; pIVar29 = (IMAGE_DOS_HEADER *)&pIVar29->e_cparhdr; lVar18 = *(longlong *)pIVar29; pIVar20 = (IMAGE_DOS_HEADER *)&stack0xffffffffffffff80; if (lVar18 < 0) break; } code_r0x0001814a4dd0: do { puVar16 = (undefined4 *)((longlong)puVar23 + 100); uVar33 = 0xc33c; *(IMAGE_DOS_HEADER **)((longlong)puVar23 + -8) = pIVar30; puVar21 = (ulonglong *)((longlong)puVar23 + -8); pIVar30 = pIVar20; code_r0x0001814a4e52: do { if ((uVar33 & 0xc3) == 0) { if ((uVar33 & 0xc3) != 0) goto code_r0x0001814a4e52; puVar23 = puVar21; if ((uVar33 & 0xc3) != 0) break; } puVar21[-1] = (ulonglong)&UNK_1814a4e64; uVar7 = func_0x0001814a99fb(); *puVar16 = uVar7; if ((char)(uVar33 >> 8) == '\0') { uVar33 = (ulonglong)((int)uVar33 + uVar25); } pIVar30 = (IMAGE_DOS_HEADER *)*puVar21; puVar22 = puVar21 + 1; puVar23 = puVar21 + 1; puVar21 = puVar21 + 1; } while (((uVar33 & 0xc3) != 0) || (puVar21 = puVar22, (uVar33 & 0xc3) != 0)); uVar6 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar6 < 0) { uVar6 = (uVar6 - 1 | 0xfffffffe) + 1; } } while (uVar6 != 0); uVar6 = *(uint *)((longlong)puVar23 + 100); uVar25 = uVar25 ^ uVar6; if (uVar25 - uVar6 < 7) { uVar25 = uVar25 * uVar6; } if (5 < uVar25 - uVar6) { uVar25 = uVar25 * 0x801; } uVar6 = uVar6 * 0x10001a7; *(uint *)((longlong)puVar23 + 100) = uVar6; uVar11 = uVar6 & 0x7f; uVar10 = (uVar11 + 2) * (uVar11 + 1) * uVar11; if (uVar10 != (uVar10 / 3) * 3) { do { uVar25 = uVar25 * uVar25 * 0x8000; lVar17 = lVar17 + 4; } while (((uVar11 + 2) * (uVar11 + 1) * uVar11) % 3 != 0); } if ((uVar25 & 0x78) != 0) { uVar25 = uVar25 + 0xaa99bb13; } lVar17 = lVar17 + 4; puVar3 = (undefined1 *)puVar23; uStack_1c4 = uVar6; if (lVar2 == lVar17) goto code_r0x0001814a4f93; goto code_r0x0001814a4d10; } ############ FUN_ 1814c22a0 size=154 ############ undefined8 * FUN_1814c22a0(longlong param_1,undefined8 *param_2) { int iVar1; iVar1 = *(int *)(*(longlong *)(param_1 + 0x878) + 8); if (iVar1 == 6) { FUN_18049c4e0(param_2,&DAT_1821eeb64); return param_2; } if (iVar1 == 1) { FUN_18049c4e0(param_2,&DAT_1822af074); return param_2; } if (iVar1 == 2) { FUN_18049c4e0(param_2,&DAT_1822af1a4); return param_2; } if (iVar1 == 3) { FUN_18049c4e0(param_2,"AudioUnit"); return param_2; } *param_2 = &DAT_1821dbf98; return param_2; } ############ FUN_ 1814c3020 size=170 ############ void FUN_1814c3020(longlong param_1) { undefined8 *puVar1; undefined8 uVar2; undefined8 *puVar3; undefined1 local_268 [96]; undefined8 local_208; undefined4 local_200; undefined4 local_1fc; undefined8 local_170; void *local_168; void *local_130; undefined4 local_124; local_170 = 0xfffffffffffffffe; FUN_18049c4e0(local_268,&DAT_18242bf10); puVar3 = (undefined8 *)FUN_180576a30(&local_130,local_268); puVar1 = (undefined8 *)(param_1 + 0x1f8); if (puVar1 != puVar3) { local_208 = *puVar3; *puVar3 = 0; local_200 = *(undefined4 *)(puVar3 + 1); local_1fc = *(undefined4 *)((longlong)puVar3 + 0xc); puVar3[1] = 0; local_168 = (void *)*puVar1; *puVar1 = local_208; *(undefined4 *)(param_1 + 0x200) = local_200; *(undefined4 *)(param_1 + 0x204) = local_1fc; /* WARNING: Subroutine does not return */ free(local_168); } uVar2 = puVar3[3]; *(undefined8 *)(param_1 + 0x208) = puVar3[2]; *(undefined8 *)(param_1 + 0x210) = uVar2; *(undefined1 *)(param_1 + 0x218) = *(undefined1 *)(puVar3 + 4); local_124 = 0; /* WARNING: Subroutine does not return */ free(local_130); } ############ FUN_ 181a09840 size=528 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_181a09840(longlong param_1,longlong param_2) { uint uVar1; undefined8 *puVar2; undefined8 uVar3; uint *_Memory; undefined1 auStack_c8 [32]; longlong local_a8; longlong local_a0; char *local_98; undefined8 local_90; undefined8 uStack_88; undefined8 local_80; undefined8 local_78; undefined8 uStack_70; undefined8 local_68; undefined8 local_60; char *local_58; char *local_50 [2]; undefined8 local_40; undefined8 local_38; char *local_30 [2]; undefined8 local_20; undefined8 local_18; ulonglong local_10; local_60 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_c8; if (param_2 == *(longlong *)(param_1 + 0x38)) { local_40 = 0; local_38 = 0xf; local_50[0] = (char *)((ulonglong)local_50[0] & 0xffffffffffffff00); local_98 = (char *)FUN_180480500(0x20); uVar3 = s_offline_oversample_18247c0d8._8_8_; local_40 = 0x12; local_38 = 0x1f; *(undefined8 *)local_98 = s_offline_oversample_18247c0d8._0_8_; *(undefined8 *)(local_98 + 8) = uVar3; *(undefined2 *)(local_98 + 0x10) = s_offline_oversample_18247c0d8._16_2_; local_98[0x12] = '\0'; local_90 = 0; uStack_88 = 0; local_80 = 0; local_50[0] = local_98; FUN_18059f720(&local_90,local_50,local_30); FUN_181185220(*(undefined8 *)(param_1 + 0x10),&local_90); _eh_vector_destructor_iterator_(local_50,0x20,1,FUN_180485450); FUN_18049c4e0(&local_a0,"offline oversample"); puVar2 = (undefined8 *)FUN_18059f060(param_1 + 0x18,&local_a0); uVar3 = FUN_18151a4e0(*puVar2); FUN_1815fceb0(uVar3); _Memory = (uint *)(local_a0 + -0x10); uVar1 = *_Memory; } else { if (param_2 != *(longlong *)(param_1 + 0x40)) { } local_20 = 0; local_18 = 0xf; local_30[0] = (char *)((ulonglong)local_30[0] & 0xffffffffffffff00); local_58 = (char *)FUN_180480500(0x20); uVar3 = s_offline_resolution_18247bea8._8_8_; local_20 = 0x12; local_18 = 0x1f; *(undefined8 *)local_58 = s_offline_resolution_18247bea8._0_8_; *(undefined8 *)(local_58 + 8) = uVar3; *(undefined2 *)(local_58 + 0x10) = s_offline_resolution_18247bea8._16_2_; local_58[0x12] = '\0'; local_78 = 0; uStack_70 = 0; local_68 = 0; local_30[0] = local_58; FUN_18059f720(&local_78,local_30,&local_10); FUN_181185220(*(undefined8 *)(param_1 + 0x10),&local_78); _eh_vector_destructor_iterator_(local_30,0x20,1,FUN_180485450); FUN_18049c4e0(&local_a8,"offline resolution"); puVar2 = (undefined8 *)FUN_18059f060(param_1 + 0x18,&local_a8); uVar3 = FUN_18151a4e0(*puVar2); FUN_1815fceb0(uVar3); _Memory = (uint *)(local_a8 + -0x10); uVar1 = *_Memory; } if ((uVar1 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 1813c1890 size=2357 ############ void FUN_1813c1890(longlong param_1,undefined4 param_2,longlong param_3) { int iVar1; longlong *plVar2; undefined8 uVar3; undefined8 uVar4; longlong lVar5; uint uVar6; uint *puVar7; bool bVar8; longlong local_res8; longlong local_res20; longlong local_138; longlong local_130; longlong local_128; longlong local_120; longlong local_118; longlong local_110; longlong local_108; longlong local_100; longlong local_f8; longlong local_f0; longlong local_e8; undefined4 local_e0; undefined8 local_dc; undefined4 local_d4; undefined8 local_d0; undefined4 local_c8; undefined8 local_c4; undefined4 local_bc; undefined8 local_b8; undefined4 local_b0; undefined8 local_ac; undefined4 local_a4; undefined8 local_a0; longlong local_98; longlong local_90; longlong local_88; longlong local_80; longlong local_78; longlong local_70; longlong local_68; longlong local_60; longlong local_58; longlong local_50; longlong local_48 [2]; undefined4 *local_38; undefined4 *local_30; local_48[1] = 0xfffffffffffffffe; if ((((*(int *)(param_1 + 0x78) == *(int *)(param_1 + 0x90)) && (*(int *)(param_1 + 0x7c) == *(int *)(param_1 + 0x94))) && (*(int *)(param_1 + 0x80) == *(int *)(param_1 + 0x98))) && (*(longlong *)(param_1 + 0x70) == *(longlong *)(param_1 + 0x88))) { bVar8 = true; } else { bVar8 = false; } switch(param_2) { case 0x1002: FUN_18049c4e0(&local_100,"Editing"); uVar3 = FUN_181249dc0(&local_78,"Deletes any selected text."); uVar4 = FUN_181249dc0(&local_80,"Delete"); FUN_1812cba20(param_3,uVar4,uVar3,&local_100); puVar7 = (uint *)(local_80 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_78 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_100 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } LAB_1813c21a7: if ((!bVar8) && (*(char *)(param_1 + 0x48) == '\0')) { *(uint *)(param_3 + 0x30) = *(uint *)(param_3 + 0x30) & 0xfffffffe; return; } goto LAB_1813c21b5; case 0x1003: FUN_18049c4e0(&local_128,"Editing"); FUN_18049c4e0(&local_res8,"Copies the currently selected text to the clipboard and deletes it.") ; lVar5 = DAT_1826739f8; local_38 = &DAT_182673984; do { LOCK(); uVar6 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar6 != 0); if (DAT_1826739f8 == 0) { local_130 = local_res8; uVar6 = *(uint *)(local_res8 + -0x10); LAB_1813c1a0f: if ((uVar6 & 0x30000000) == 0) { LOCK(); *(int *)(local_130 + -0x10) = *(int *)(local_130 + -0x10) + 1; UNLOCK(); } } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar1 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res8, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar1)) { iVar1 = FUN_1812498b0(lVar5 + 0x18,local_res8,*(undefined1 *)(lVar5 + 0x38),0); if (iVar1 < 0) { local_130 = local_res8; uVar6 = *(uint *)(local_res8 + -0x10); } else { plVar2 = (longlong *)FUN_181249970(lVar5 + 0x28,iVar1); local_130 = *plVar2; uVar6 = *(uint *)(local_130 + -0x10); } goto LAB_1813c1a0f; } FUN_181234570(*(undefined8 *)(lVar5 + 0x40),&local_130,&local_res8,&local_res8); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar7 = (uint *)(local_res8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_18049c4e0(&local_res20,&DAT_1821e4a0c); lVar5 = DAT_1826739f8; local_30 = &DAT_182673984; do { LOCK(); uVar6 = DAT_182673984 & 1; DAT_182673984 = DAT_182673984 | 1; UNLOCK(); } while (uVar6 != 0); if (DAT_1826739f8 == 0) { local_138 = local_res20; uVar6 = *(uint *)(local_res20 + -0x10); LAB_1813c1b3b: if ((uVar6 & 0x30000000) == 0) { LOCK(); *(int *)(local_138 + -0x10) = *(int *)(local_138 + -0x10) + 1; UNLOCK(); } } else { if ((*(longlong *)(DAT_1826739f8 + 0x40) == 0) || (iVar1 = FUN_1812498b0(DAT_1826739f8 + 0x18,local_res20, *(undefined1 *)(DAT_1826739f8 + 0x38),0), -1 < iVar1)) { iVar1 = FUN_1812498b0(lVar5 + 0x18,local_res20,*(undefined1 *)(lVar5 + 0x38),0); if (iVar1 < 0) { local_138 = local_res20; uVar6 = *(uint *)(local_res20 + -0x10); } else { plVar2 = (longlong *)FUN_181249970(lVar5 + 0x28,iVar1); local_138 = *plVar2; uVar6 = *(uint *)(local_138 + -0x10); } goto LAB_1813c1b3b; } FUN_181234570(*(undefined8 *)(lVar5 + 0x40),&local_138,&local_res20,&local_res20); } LOCK(); DAT_182673984 = 0; UNLOCK(); puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } FUN_1812cba20(param_3,&local_138,&local_130,&local_128); puVar7 = (uint *)(local_138 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_130 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_128 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if ((bVar8) || (*(char *)(param_1 + 0x48) != '\0')) { *(uint *)(param_3 + 0x30) = *(uint *)(param_3 + 0x30) | 1; } else { *(uint *)(param_3 + 0x30) = *(uint *)(param_3 + 0x30) & 0xfffffffe; } local_e0 = 0x78; local_dc = 2; FUN_18051b4d0(param_3 + 0x20,&local_e0); break; case 0x1004: FUN_18049c4e0(&local_110,"Editing"); FUN_18049c4e0(&local_120,"Copies the currently selected text to the clipboard."); FUN_1812344e0(&local_118,&local_120); puVar7 = (uint *)(local_120 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } uVar3 = FUN_181249dc0(&local_98,&DAT_182262fd4); FUN_1812cba20(param_3,uVar3,&local_118,&local_110); puVar7 = (uint *)(local_98 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_118 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_110 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (bVar8) { *(uint *)(param_3 + 0x30) = *(uint *)(param_3 + 0x30) | 1; } else { *(uint *)(param_3 + 0x30) = *(uint *)(param_3 + 0x30) & 0xfffffffe; } local_d4 = 99; local_d0 = 2; FUN_18051b4d0(param_3 + 0x20,&local_d4); break; case 0x1005: FUN_18049c4e0(&local_108,"Editing"); uVar3 = FUN_181249dc0(&local_88,"Inserts text from the clipboard."); uVar4 = FUN_181249dc0(&local_90,"Paste"); FUN_1812cba20(param_3,uVar4,uVar3,&local_108); puVar7 = (uint *)(local_90 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_88 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_108 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (*(char *)(param_1 + 0x48) == '\0') { *(uint *)(param_3 + 0x30) = *(uint *)(param_3 + 0x30) & 0xfffffffe; } else { *(uint *)(param_3 + 0x30) = *(uint *)(param_3 + 0x30) | 1; } local_c8 = 0x76; local_c4 = 2; FUN_18051b4d0(param_3 + 0x20,&local_c8); break; case 0x1006: FUN_18049c4e0(&local_f8,"Editing"); uVar3 = FUN_181249dc0(&local_68,"Selects all the text in the editor."); uVar4 = FUN_181249dc0(&local_70,"Select All"); FUN_1812cba20(param_3,uVar4,uVar3,&local_f8); puVar7 = (uint *)(local_70 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_68 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_f8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_bc = 0x61; local_b8 = 2; FUN_18051b4d0(param_3 + 0x20,&local_bc); break; case 0x1008: FUN_18049c4e0(&local_f0,"Editing"); uVar3 = FUN_181249dc0(&local_58,&DAT_182263124); uVar4 = FUN_181249dc0(&local_60,&DAT_1822669f4); FUN_1812cba20(param_3,uVar4,uVar3,&local_f0); puVar7 = (uint *)(local_60 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_58 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_f0 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_b0 = 0x7a; local_ac = 2; FUN_18051b4d0(param_3 + 0x20,&local_b0); lVar5 = *(longlong *)(param_1 + 0x18); uVar6 = *(int *)(lVar5 + 0x8c) - 1; if (uVar6 < *(uint *)(lVar5 + 100)) { LAB_1813c219e: bVar8 = *(longlong *)(*(longlong *)(lVar5 + 0x58) + (longlong)(int)uVar6 * 8) == 0; goto LAB_1813c21a7; } goto LAB_1813c21b5; case 0x1009: FUN_18049c4e0(&local_e8,"Editing"); uVar3 = FUN_181249dc0(local_48,&DAT_182266874); uVar4 = FUN_181249dc0(&local_50,&DAT_1822668e4); FUN_1812cba20(param_3,uVar4,uVar3,&local_e8); puVar7 = (uint *)(local_50 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_48[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_e8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_a4 = 0x7a; local_a0 = 3; FUN_18051b4d0(param_3 + 0x20,&local_a4); lVar5 = *(longlong *)(param_1 + 0x18); uVar6 = *(uint *)(lVar5 + 0x8c); if (uVar6 < *(uint *)(lVar5 + 100)) goto LAB_1813c219e; LAB_1813c21b5: *(uint *)(param_3 + 0x30) = *(uint *)(param_3 + 0x30) | 1; } return; } ############ FUN_ 1804719e0 size=31 ############ undefined8 * FUN_1804719e0(undefined8 *param_1) { param_1[2] = 0; param_1[1] = "bad allocation"; *param_1 = std::bad_alloc::vftable; return param_1; } ############ FUN_ 180481140 size=34 ############ void FUN_180481140(undefined8 *param_1) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 18124a420 size=73 ############ void FUN_18124a420(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; *param_1 = juce::MemoryOutputStream::vftable; puVar1 = (undefined8 *)param_1[2]; if ((puVar1 != param_1 + 3) && (puVar1 != (undefined8 *)0x0)) { FUN_18124a200(puVar1,param_1[7],0,param_4,0xfffffffffffffffe); } /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } ############ FUN_ 181246700 size=416 ############ longlong * FUN_181246700(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; undefined8 *puVar3; undefined8 uVar4; longlong *plVar5; longlong *plVar6; undefined8 *puVar7; undefined8 uVar8; uint *_Memory; int iVar9; longlong local_res8; undefined **local_58 [2]; void **local_48; void *local_40 [2]; void *local_30; void *local_20; if (**(char **)(param_1 + 0x18) == '\0') { plVar5 = (longlong *)FUN_181220890(); lVar2 = *plVar5; *param_2 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } return param_2; } iVar9 = 0; plVar5 = *(longlong **)(param_1 + 8); plVar6 = plVar5; if (plVar5 != (longlong *)0x0) { do { iVar9 = iVar9 + 1; plVar6 = (longlong *)*plVar6; } while (plVar6 != (longlong *)0x0); if (iVar9 == 1) { FUN_181246700(plVar5,param_2); return param_2; } } FUN_18124a4b0(local_58,0x400,param_3,param_4,0xfffffffffffffffe); puVar3 = *(undefined8 **)(param_1 + 8); do { if (puVar3 == (undefined8 *)0x0) { if (local_48 != (void **)0x0) { if (local_20 < local_48[1]) { *(undefined1 *)((longlong)local_20 + (longlong)*local_48) = 0; } local_30 = *local_48; } FUN_18124a8a0(param_2,local_30,(longlong)local_20 + (longlong)local_30); local_58[0] = juce::MemoryOutputStream::vftable; if ((local_48 != local_40) && (local_48 != (void **)0x0)) { FUN_18124a200(local_48,local_20,0); } /* WARNING: Subroutine does not return */ free(local_40[0]); } puVar7 = (undefined8 *)FUN_181246700(puVar3,&local_res8); uVar4 = *puVar7; uVar8 = FUN_18049d240(uVar4); (*(code *)local_58[0][4])(local_58,uVar4,uVar8); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar3 = (undefined8 *)*puVar3; } while( true ); } ############ FUN_ 181220ef0 size=184 ############ void FUN_181220ef0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined **local_58 [2]; void **local_48; void *local_40 [2]; void *local_30; void *local_20; FUN_18124a4b0(local_58,0x800,param_3,param_4,0xfffffffffffffffe); FUN_181246e90(param_1,local_58,param_3); if (local_48 != (void **)0x0) { if (local_20 < local_48[1]) { *(undefined1 *)((longlong)local_20 + (longlong)*local_48) = 0; } local_30 = *local_48; } FUN_18124a8a0(param_2,local_30,(longlong)local_20 + (longlong)local_30); local_58[0] = juce::MemoryOutputStream::vftable; if ((local_48 != local_40) && (local_48 != (void **)0x0)) { FUN_18124a200(local_48,local_20,0); } /* WARNING: Subroutine does not return */ free(local_40[0]); } ############ FUN_ 181247930 size=201 ############ void FUN_181247930(undefined8 param_1,undefined8 param_2,longlong param_3) { undefined **local_58 [2]; void **local_48; void *local_40 [2]; void *local_30; void *local_20; FUN_18124a4b0(local_58,(ulonglong)(param_3 * 4) / 3 + 3,param_3,param_3 * 4,0xfffffffffffffffe); FUN_18122bde0(local_58,param_2,param_3); if (local_48 != (void **)0x0) { if (local_20 < local_48[1]) { *(undefined1 *)((longlong)*local_48 + (longlong)local_20) = 0; } local_30 = *local_48; } FUN_18122f8f0(param_1,local_30,(ulonglong)local_20 & 0xffffffff); local_58[0] = juce::MemoryOutputStream::vftable; if ((local_48 != local_40) && (local_48 != (void **)0x0)) { FUN_18124a200(local_48,local_20,0); } /* WARNING: Subroutine does not return */ free(local_40[0]); } ############ FUN_ 181247530 size=534 ############ ulonglong FUN_181247530(longlong *param_1,char *param_2) { int *_Memory; int iVar1; byte bVar2; byte bVar3; int iVar4; ulonglong uVar5; undefined4 *puVar6; byte bVar7; sbyte sVar8; char cVar9; uint uVar10; char *_Str; size_t _Size; ulonglong uVar11; uint uVar12; ulonglong uVar13; ulonglong uVar14; uint uVar15; byte *local_res18; char *local_res20; uVar5 = FUN_18049c2c0(&local_res18,param_2,0x2e); if (*local_res18 == 0) { return uVar5 & 0xffffffffffffff00; } if ((param_2 == (char *)0x0) || (*param_2 == '\0')) { _Str = ""; } else { _Size = (longlong)local_res18 - (longlong)param_2; puVar6 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar6 = 0; UNLOCK(); *(size_t *)(puVar6 + 2) = _Size + 4 & 0xfffffffffffffffc; _Str = (char *)(puVar6 + 4); memcpy(_Str,param_2,_Size); _Str[_Size] = '\0'; } local_res20 = _Str; iVar4 = atoi(_Str); _Memory = (int *)(_Str + -0x10); if ((*(uint *)(_Str + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18124a200(param_1,(longlong)iVar4,1); bVar2 = *local_res18; local_res18 = local_res18 + 1; if ((char)bVar2 < '\0') { bVar7 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar7))) { local_res18 = local_res18 + 1; bVar7 = bVar7 >> 1; bVar3 = bVar2 & bVar7; } } uVar15 = 0; do { do { bVar2 = *local_res18; local_res18 = local_res18 + 1; uVar12 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar10 = 0x40; iVar4 = 0; uVar12 = 0x7f; if ((bVar2 & 0x40) != 0) { do { if (uVar10 < 9) break; uVar12 = uVar12 >> 1; iVar4 = iVar4 + 1; uVar10 = uVar10 >> 1; } while ((bVar2 & uVar10) != 0); } uVar12 = bVar2 & uVar12; for (; (iVar4 = iVar4 + -1, -1 < iVar4 && ((*local_res18 & 0xc0) == 0x80)); local_res18 = local_res18 + 1) { uVar12 = *local_res18 & 0x3f | uVar12 << 6; } } if (uVar12 == 0) { return CONCAT71((int7)((ulonglong)local_res18 >> 8),1); } } while (0x4f < uVar12 - 0x2b); uVar11 = 6; uVar14 = (ulonglong)(longlong)(int)uVar15 >> 3; uVar10 = 0xffffffc0; uVar5 = (ulonglong)(uVar15 & 7); iVar4 = (int)(char)(&DAT_1821debd0)[(int)(uVar12 - 0x2b)]; do { if ((ulonglong)param_1[1] <= uVar14) break; uVar13 = uVar11; if (8 - uVar5 < uVar11) { uVar13 = 8 - uVar5; } sVar8 = (sbyte)uVar5; uVar5 = 0; cVar9 = (char)iVar4; iVar4 = iVar4 >> ((byte)uVar13 & 0x1f); *(byte *)(*param_1 + uVar14) = (~((char)(0xffffffff >> sVar8) << sVar8) | (char)uVar10 << sVar8) & *(byte *)(*param_1 + uVar14) | cVar9 << sVar8; uVar14 = uVar14 + 1; uVar10 = uVar10 >> ((byte)uVar13 & 0x1f); uVar11 = uVar11 - uVar13; } while (uVar11 != 0); uVar15 = uVar15 + 6; } while( true ); } ############ FUN_ 1812352c0 size=188 ############ void FUN_1812352c0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined **local_58 [2]; void **local_48; void *local_40 [2]; void *local_30; void *local_20; FUN_18124a4b0(local_58,0x100,param_3,param_4,0xfffffffffffffffe); (*(code *)local_58[0][0x15])(local_58,param_1,0xffffffffffffffff); if (local_48 != (void **)0x0) { if (local_20 < local_48[1]) { *(undefined1 *)((longlong)*local_48 + (longlong)local_20) = 0; } local_30 = *local_48; } FUN_18122f8f0(param_2,local_30,(ulonglong)local_20 & 0xffffffff); local_58[0] = juce::MemoryOutputStream::vftable; if ((local_48 != local_40) && (local_48 != (void **)0x0)) { FUN_18124a200(local_48,local_20,0); } /* WARNING: Subroutine does not return */ free(local_40[0]); } ############ FUN_ 180541da0 size=311 ############ void FUN_180541da0(ulonglong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; char *pcVar2; undefined4 uVar3; undefined8 *puVar4; longlong lVar5; ulonglong local_res8; char *local_res10; undefined **local_58 [2]; void **local_48; void *local_40 [4]; byte local_20; undefined7 uStack_1f; local_res8 = param_1; FUN_18124a4b0(local_58,0x100,param_3,param_4,0xfffffffffffffffe); uVar3 = FUN_1812498b0(param_2,"tracktion loop info",*(undefined1 *)(param_2 + 0x20),0); puVar4 = (undefined8 *)FUN_181249970(param_2 + 0x10,uVar3); pcVar2 = (char *)*puVar4; _Memory = (uint *)(pcVar2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } local_res10 = pcVar2; if (*pcVar2 != '\0') { lVar5 = FUN_18049d240(pcVar2); (*(code *)local_58[0][4])(local_58,pcVar2,lVar5 + 1); if ((local_20 & 1) != 0) { local_res8 = local_res8 & 0xffffffffffffff00; (*(code *)local_58[0][4])(local_58,&local_res8,1); } } FUN_181234c50(local_58,param_1); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } local_58[0] = juce::MemoryOutputStream::vftable; if ((local_48 != local_40) && (local_48 != (void **)0x0)) { FUN_18124a200(local_48,CONCAT71(uStack_1f,local_20),0); } /* WARNING: Subroutine does not return */ free(local_40[0]); } ############ FUN_ 18136d890 size=420 ############ void FUN_18136d890(undefined8 param_1,longlong param_2) { uint uVar1; size_t _Size; int iVar2; undefined8 *puVar3; undefined8 uVar4; void *_Dst; bool bVar5; char *local_res8; undefined **local_58 [2]; void **local_48; void *local_40 [4]; size_t local_20; iVar2 = FUN_1812498b0(param_2,&DAT_1822467e4,*(undefined1 *)(param_2 + 0x20),0,0xfffffffffffffffe) ; if (iVar2 < 0) { local_res8 = ""; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } } else { puVar3 = (undefined8 *)FUN_181249970(param_2 + 0x10,iVar2); local_res8 = (char *)*puVar3; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar5 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar5) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } FUN_18124a4b0(local_58,0x100); if (*local_res8 != '\0') { (*(code *)local_58[0][4]) (local_58, "ISRC:" ,0x18a); uVar4 = FUN_18049d240(local_res8); (*(code *)local_58[0][4])(local_58,local_res8,uVar4); (*(code *)local_58[0][4]) (local_58, "", 0x52); _Size = local_20; if (local_20 != 0) { _Dst = (void *)FUN_181234e40(local_58); if (_Dst != (void *)0x0) { memset(_Dst,0,_Size); } } } FUN_181234c50(local_58,param_1); local_58[0] = juce::MemoryOutputStream::vftable; if ((local_48 != local_40) && (local_48 != (void **)0x0)) { FUN_18124a200(local_48,local_20,0); } /* WARNING: Subroutine does not return */ free(local_40[0]); } ############ FUN_ 1813c7d80 size=629 ############ undefined8 * FUN_1813c7d80(longlong *param_1,undefined8 *param_2,longlong param_3,longlong param_4) { uint uVar1; undefined8 uVar2; longlong lVar3; uint uVar4; undefined8 *puVar5; undefined8 uVar6; uint uVar7; uint *puVar8; longlong lVar9; longlong lVar10; longlong lVar11; longlong local_res18; longlong local_res20; undefined8 uVar12; undefined **local_88 [2]; void **local_78; void *local_70 [2]; void *local_60; void *local_50; uVar12 = 0xfffffffffffffffe; if (*(int *)(param_3 + 8) < *(int *)(param_4 + 8)) { uVar1 = *(uint *)(param_3 + 0xc); lVar9 = (longlong)(int)uVar1; uVar4 = *(uint *)(param_4 + 0xc); lVar11 = (longlong)(int)uVar4; local_res18 = param_3; if (uVar1 != uVar4) { FUN_18124a4b0(local_88,0x100); if (local_78 != (void **)0x0) { FUN_181234f80(local_88,(longlong)((*(int *)(param_4 + 8) - *(int *)(param_3 + 8)) + 4)); } lVar3 = local_res18; uVar7 = *(int *)((longlong)param_1 + 0xc) - 1; if ((int)uVar4 < (int)uVar7) { uVar7 = uVar4; } uVar4 = 0; if (0 < (int)uVar1) { uVar4 = uVar1; } lVar10 = (longlong)(int)uVar4; do { if ((int)uVar7 < lVar10) { if (local_78 != (void **)0x0) { if (local_50 < local_78[1]) { *(undefined1 *)((longlong)local_50 + (longlong)*local_78) = 0; } local_60 = *local_78; } FUN_18124a8a0(param_2,local_60,(longlong)local_50 + (longlong)local_60); local_88[0] = juce::MemoryOutputStream::vftable; if ((local_78 != local_70) && (local_78 != (void **)0x0)) { FUN_18124a200(local_78,local_50,0); } /* WARNING: Subroutine does not return */ free(local_70[0]); } puVar5 = *(undefined8 **)(*param_1 + lVar10 * 8); if (lVar10 == lVar9) { puVar5 = (undefined8 *) FUN_1812490c0(puVar5,&local_res18,*(undefined4 *)(lVar3 + 0x10), *(undefined4 *)((longlong)puVar5 + 0xc),lVar11,lVar9,uVar12); uVar2 = *puVar5; FUN_18049d240(uVar2); (*(code *)local_88[0][4])(local_88,uVar2); puVar8 = (uint *)(local_res18 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } else if (lVar10 == lVar11) { puVar5 = (undefined8 *) FUN_1812490c0(puVar5,&local_res20,0,*(undefined4 *)(param_4 + 0x10),lVar11,lVar9, uVar12); uVar2 = *puVar5; FUN_18049d240(uVar2); (*(code *)local_88[0][4])(local_88,uVar2); puVar8 = (uint *)(local_res20 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } else { uVar2 = *puVar5; uVar6 = FUN_18049d240(uVar2); (*(code *)local_88[0][4])(local_88,uVar2,uVar6); } lVar10 = lVar10 + 1; } while( true ); } if ((uVar1 < *(uint *)((longlong)param_1 + 0xc)) && (lVar9 = *(longlong *)(*param_1 + lVar9 * 8), lVar9 != 0)) { FUN_1812490c0(lVar9,param_2,*(undefined4 *)(param_3 + 0x10),*(undefined4 *)(param_4 + 0x10)); return param_2; } } *param_2 = &DAT_1821dbf98; return param_2; } ############ FUN_ 1812495e0 size=197 ############ void FUN_1812495e0(undefined8 param_1,undefined8 param_2,undefined1 param_3) { undefined **local_58 [2]; void **local_48; void *local_40 [2]; void *local_30; void *local_20; FUN_18124a4b0(local_58,0x400); FUN_180497ea0(local_58,param_2,0,param_3,0xf); if (local_48 != (void **)0x0) { if (local_20 < local_48[1]) { *(undefined1 *)((longlong)local_20 + (longlong)*local_48) = 0; } local_30 = *local_48; } FUN_18124a8a0(param_1,local_30,(longlong)local_20 + (longlong)local_30); local_58[0] = juce::MemoryOutputStream::vftable; if ((local_48 != local_40) && (local_48 != (void **)0x0)) { FUN_18124a200(local_48,local_20,0); } /* WARNING: Subroutine does not return */ free(local_40[0]); } ############ FUN_ 18134fe40 size=362 ############ void FUN_18134fe40(longlong *param_1,longlong *param_2,uint param_3,uint param_4) { uint uVar1; int iVar2; int iVar3; undefined1 auStack_c8 [32]; longlong local_a8 [4]; undefined **local_88 [2]; void **local_78; void *local_70 [2]; void *local_60; void *local_50; undefined8 local_38; byte local_30 [8]; byte local_28 [8]; ulonglong local_20; local_38 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_c8; FUN_18124a4b0(local_88,0x100); local_a8[0] = *param_2; if (local_a8[0] != 0) { LOCK(); *(int *)(local_a8[0] + 8) = *(int *)(local_a8[0] + 8) + 1; UNLOCK(); } local_a8[1] = 0; local_a8[2] = 0; iVar3 = 0; FUN_1813505c0(param_1,local_88,5,local_a8); iVar2 = 0; for (uVar1 = (param_3 ^ (int)param_3 >> 0x1f) - ((int)param_3 >> 0x1f); uVar1 != 0; uVar1 = uVar1 >> 8) { iVar2 = iVar2 + 1; local_30[iVar2] = (byte)uVar1; } local_30[0] = (byte)iVar2; if ((int)param_3 < 0) { local_30[0] = local_30[0] | 0x80; } (*(code *)local_88[0][4])(local_88,local_30,(longlong)iVar2 + 1); for (uVar1 = (param_4 ^ (int)param_4 >> 0x1f) - ((int)param_4 >> 0x1f); uVar1 != 0; uVar1 = uVar1 >> 8) { iVar3 = iVar3 + 1; local_28[iVar3] = (byte)uVar1; } local_28[0] = (byte)iVar3; if ((int)param_4 < 0) { local_28[0] = local_28[0] | 0x80; } (*(code *)local_88[0][4])(local_88,local_28,(longlong)iVar3 + 1); if (local_78 != (void **)0x0) { if (local_50 < local_78[1]) { *(undefined1 *)((longlong)local_50 + (longlong)*local_78) = 0; } local_60 = *local_78; } (**(code **)(*param_1 + 0x38))(param_1,local_60); local_88[0] = juce::MemoryOutputStream::vftable; if ((local_78 != local_70) && (local_78 != (void **)0x0)) { FUN_18124a200(local_78,local_50,0); } /* WARNING: Subroutine does not return */ free(local_70[0]); } ############ FUN_ 181350010 size=297 ############ void FUN_181350010(longlong *param_1,longlong *param_2,undefined8 param_3,uint param_4) { uint uVar1; int iVar2; undefined1 auStack_b8 [32]; longlong local_98 [4]; undefined **local_78 [2]; void **local_68; void *local_60 [2]; void *local_50; void *local_40; undefined8 local_28; byte local_20 [8]; ulonglong local_18; local_28 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_b8; FUN_18124a4b0(local_78,0x100); local_98[0] = *param_2; if (local_98[0] != 0) { LOCK(); *(int *)(local_98[0] + 8) = *(int *)(local_98[0] + 8) + 1; UNLOCK(); } local_98[1] = 0; local_98[2] = 0; iVar2 = 0; FUN_1813505c0(param_1,local_78,4,local_98); for (uVar1 = (param_4 ^ (int)param_4 >> 0x1f) - ((int)param_4 >> 0x1f); uVar1 != 0; uVar1 = uVar1 >> 8) { iVar2 = iVar2 + 1; local_20[iVar2] = (byte)uVar1; } local_20[0] = (byte)iVar2; if ((int)param_4 < 0) { local_20[0] = local_20[0] | 0x80; } (*(code *)local_78[0][4])(local_78,local_20,(longlong)iVar2 + 1); if (local_68 != (void **)0x0) { if (local_40 < local_68[1]) { *(undefined1 *)((longlong)local_40 + (longlong)*local_68) = 0; } local_50 = *local_68; } (**(code **)(*param_1 + 0x38))(param_1,local_50); local_78[0] = juce::MemoryOutputStream::vftable; if ((local_68 != local_60) && (local_68 != (void **)0x0)) { FUN_18124a200(local_68,local_40,0); } /* WARNING: Subroutine does not return */ free(local_60[0]); } ############ FUN_ 1813501a0 size=386 ############ void FUN_1813501a0(longlong *param_1,longlong *param_2,longlong *param_3) { longlong lVar1; longlong *plVar2; uint uVar3; uint uVar4; longlong *plVar5; int iVar6; undefined1 auStack_d8 [32]; longlong local_b8 [4]; undefined **local_98 [2]; void **local_88; void *local_80 [2]; void *local_70; void *local_60; undefined8 local_48; byte local_40 [8]; ulonglong local_38; local_48 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_d8; lVar1 = *param_2; if (lVar1 != 0) { plVar2 = *(longlong **)(lVar1 + 0x28); for (plVar5 = plVar2; plVar5 != plVar2 + *(int *)(lVar1 + 0x34); plVar5 = plVar5 + 1) { if (*param_3 == *plVar5) { uVar4 = (uint)((longlong)plVar5 - (longlong)plVar2 >> 3); goto LAB_181350218; } } } uVar4 = 0xffffffff; LAB_181350218: FUN_18124a4b0(local_98,0x100); local_b8[0] = *param_2; if (local_b8[0] != 0) { LOCK(); *(int *)(local_b8[0] + 8) = *(int *)(local_b8[0] + 8) + 1; UNLOCK(); } local_b8[1] = 0; local_b8[2] = 0; iVar6 = 0; FUN_1813505c0(param_1,local_98,3,local_b8); for (uVar3 = (uVar4 ^ (int)uVar4 >> 0x1f) - ((int)uVar4 >> 0x1f); uVar3 != 0; uVar3 = uVar3 >> 8) { iVar6 = iVar6 + 1; local_40[iVar6] = (byte)uVar3; } local_40[0] = (byte)iVar6; if ((int)uVar4 < 0) { local_40[0] = local_40[0] | 0x80; } (*(code *)local_98[0][4])(local_98,local_40,(longlong)iVar6 + 1); FUN_180527630(local_98,*param_3); if (local_88 != (void **)0x0) { if (local_60 < local_88[1]) { *(undefined1 *)((longlong)local_60 + (longlong)*local_88) = 0; } local_70 = *local_88; } (**(code **)(*param_1 + 0x38))(param_1,local_70); local_98[0] = juce::MemoryOutputStream::vftable; if ((local_88 != local_80) && (local_88 != (void **)0x0)) { FUN_18124a200(local_88,local_60,0); } /* WARNING: Subroutine does not return */ free(local_80[0]); } ############ FUN_ 181350380 size=426 ############ void FUN_181350380(longlong *param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; longlong lVar2; longlong *plVar3; longlong *plVar4; undefined **local_a8 [2]; void **local_98; void *local_90 [2]; void *local_80; void *local_70; longlong local_58 [4]; undefined8 local_38; undefined8 local_30; undefined8 local_28; local_28 = 0xfffffffffffffffe; FUN_18124a4b0(local_a8,0x100); lVar2 = *param_2; plVar4 = (longlong *)0x0; if (lVar2 != 0) { plVar3 = *(longlong **)(lVar2 + 0x18); plVar1 = plVar3 + (longlong)*(int *)(lVar2 + 0x24) * 3; if (plVar3 != plVar1) { do { if (*plVar3 == *param_3) { plVar4 = plVar3 + 1; break; } plVar3 = plVar3 + 3; } while (plVar3 != plVar1); } } if (plVar4 == (longlong *)0x0) { if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } local_38 = 0; local_30 = 0; local_58[3] = lVar2; FUN_1813505c0(param_1,local_a8,6,local_58 + 3); lVar2 = FUN_18049d240(*param_3); (*(code *)local_a8[0][4])(local_a8,*param_3,lVar2 + 1); } else { if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } local_58[1] = 0; local_58[2] = 0; local_58[0] = lVar2; FUN_1813505c0(param_1,local_a8,1,local_58); lVar2 = FUN_18049d240(*param_3); (*(code *)local_a8[0][4])(local_a8,*param_3,lVar2 + 1); (**(code **)(*(longlong *)*plVar4 + 200))((longlong *)*plVar4,plVar4 + 1,local_a8); } if (local_98 != (void **)0x0) { if (local_70 < local_98[1]) { *(undefined1 *)((longlong)local_70 + (longlong)*local_98) = 0; } local_80 = *local_98; } (**(code **)(*param_1 + 0x38))(param_1,local_80); local_a8[0] = juce::MemoryOutputStream::vftable; if ((local_98 != local_90) && (local_98 != (void **)0x0)) { FUN_18124a200(local_98,local_70,0); } /* WARNING: Subroutine does not return */ free(local_90[0]); } ############ FUN_ 181235070 size=34 ############ void FUN_181235070(longlong param_1) { longlong lVar1; lVar1 = *(longlong *)(param_1 + 0x10); if ((lVar1 != param_1 + 0x18) && (lVar1 != 0)) { FUN_18124a200(lVar1,*(undefined8 *)(param_1 + 0x38),0); return; } return; } ############ FUN_ 1817b4990 size=7865 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001817b5087) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1817b4990(byte *param_1,undefined8 param_2,undefined8 param_3) { uint uVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint uVar15; uint uVar16; int iVar17; uint uVar18; uint uVar19; uint uVar20; uint uVar21; uint uVar22; uint uVar23; ulonglong uVar24; uint uVar25; uint uVar26; uint uVar27; uint uVar28; uint uVar29; uint uVar30; ulonglong uVar31; uint uVar32; uint uVar33; uint uVar34; bool bVar35; undefined1 auStack_4608 [32]; uint local_45e8; uint local_45e4; uint local_45e0; uint local_45dc; uint local_45d8; uint local_45d4; uint local_45d0; uint local_45cc; uint local_45c8; uint local_45c4; uint local_45c0; uint local_45bc; uint local_45b8; uint local_45b4; uint local_45b0; uint local_45ac; uint local_45a8; uint local_45a4; uint local_45a0; uint local_459c; uint local_4598; uint local_4594; uint local_4590; uint local_458c; uint local_4588; int local_4584; uint local_4580; uint local_457c; uint local_4578; uint local_4574; uint local_4570; uint local_456c; uint local_4568; uint local_4564; uint local_4560; uint local_455c; uint local_4558; uint local_4554; uint local_4550; uint local_454c; uint local_4548; uint local_4544; uint local_4540; uint local_453c; int local_4538; uint local_4534; uint local_4530; uint local_452c; uint local_4528; uint local_4524; uint local_4520; uint local_451c; uint local_4518; uint local_4514; uint local_4510; uint local_450c; int local_4508; uint local_4504; uint local_4500; uint local_44fc; uint local_44f8; uint local_44f4; uint local_44f0; uint local_44ec; uint local_44e8; uint local_44e4; uint local_44e0; uint local_44dc; uint local_44d8; uint local_44d4; uint local_44d0; uint local_44cc; uint local_44c8; uint local_44c4; uint local_44c0; uint local_44bc; uint local_44b8; uint local_44b4; uint local_44b0; uint local_44ac; uint local_44a8; uint local_44a4; uint local_44a0; uint local_449c; uint local_4498; uint local_4494; uint local_4490; uint local_448c; uint local_4488; int local_4484; uint local_4480; int local_447c; uint local_4478; uint local_4474; uint local_4470; uint local_446c; uint local_4468; uint local_4464; uint local_4460; uint local_445c; uint local_4458; uint local_4454; int local_4450 [2]; undefined8 local_4448; undefined8 local_4440; byte *local_4438; undefined1 local_4428 [17352]; byte *local_60; undefined8 local_58; undefined8 local_50; int *local_48; ulonglong local_38; undefined8 uStack_30; uStack_30 = 0x1817b49b2; local_38 = DAT_182615970 ^ (ulonglong)auStack_4608; _DAT_182679b40 = local_4428; DAT_18267981c = 0x811c9dc5; DAT_182679ad0 = 0; if (param_1 != (byte *)0x0) { DAT_18267981c = ((((((((((((((((((((((((((((((((*param_1 ^ 0x811c9dc5) * 0x1000193 ^ (uint)param_1[1]) * 0x1000193 ^ (uint)param_1[2]) * 0x1000193 ^ (uint)param_1[3]) * 0x1000193 ^ (uint)param_1[4]) * 0x1000193 ^ (uint)param_1[5]) * 0x1000193 ^ (uint)param_1[6]) * 0x1000193 ^ (uint)param_1[7]) * 0x1000193 ^ (uint)param_1[8]) * 0x1000193 ^ (uint)param_1[9]) * 0x1000193 ^ (uint)param_1[10]) * 0x1000193 ^ (uint)param_1[0xb]) * 0x1000193 ^ (uint)param_1[0xc]) * 0x1000193 ^ (uint)param_1[0xd]) * 0x1000193 ^ (uint)param_1[0xe]) * 0x1000193 ^ (uint)param_1[0xf]) * 0x1000193 ^ (uint)param_1[0x10]) * 0x1000193 ^ (uint)param_1[0x11]) * 0x1000193 ^ (uint)param_1[0x12]) * 0x1000193 ^ (uint)param_1[0x13]) * 0x1000193 ^ (uint)param_1[0x14]) * 0x1000193 ^ (uint)param_1[0x15]) * 0x1000193 ^ (uint)param_1[0x16]) * 0x1000193 ^ (uint)param_1[0x17]) * 0x1000193 ^ (uint)param_1[0x18]) * 0x1000193 ^ (uint)param_1[0x19]) * 0x1000193 ^ (uint)param_1[0x1a]) * 0x1000193 ^ (uint)param_1[0x1b]) * 0x1000193 ^ (uint)param_1[0x1c]) * 0x1000193 ^ (uint)param_1[0x1d]) * 0x1000193 ^ (uint)param_1[0x1e]) * 0x1000193 ^ (uint)param_1[0x1f]) * 0x1000193; } uVar18 = DAT_18267981c + 0x60314d65; DAT_182679a30 = 0xb98e9aa3; DAT_182679900 = 0x5161a3d1; DAT_182679a0c = 0x40210010; DAT_182679854 = 0xb2e6fe67; local_448c = 0x5161a3d1; if ((DAT_18267981c & 1) == 0) { local_448c = DAT_18267981c; } DAT_18267991c = 0xa18f53ec; DAT_18267987c = 0xa200020; DAT_1826798c8 = 0xf4c5eadc; DAT_182679834 = 0xe1896b2d; uVar32 = (local_448c & 0xff0000 | local_448c >> 0x10) >> 8; DAT_182679980 = 0xbfb6124e; DAT_1826797f8 = 0x8d3a01a9; DAT_18267990c = 0xfc93ffb7; DAT_182679a28 = uVar32 | (local_448c << 0x10 | local_448c & 0xff00) << 8; DAT_182679a44 = 0xdbbbb9e0; DAT_18267980c = 0x24c0c088; DAT_18267982c = 0xa13f7d7b; DAT_182679958 = 0x4671655c; DAT_182679a94 = 0xf2e7fe77; DAT_182679a3c = 0x68f5bb89; uVar33 = DAT_18267981c | 0x2b800f97; DAT_182679800 = (uVar18 & 0xff0000 | uVar18 >> 0x10) >> 8 | (uVar18 * 0x10000 | uVar18 & 0xff00) << 8; DAT_182679a6c = 0x5e70ac13; DAT_182679abc = 0x8000020; uVar4 = DAT_18267981c | 0x81bdd207; DAT_1826798b0 = 0x154c81f1; uVar1 = DAT_18267981c << 0x10; uVar2 = DAT_18267981c >> 0x10; DAT_18267997c = uVar1 | uVar2; uVar5 = DAT_18267981c ^ 0x114cf3cc; DAT_182679aa8 = 0x759e6051; uVar6 = DAT_18267981c + 0x4fd5bddf | 0x4260b353; uVar26 = DAT_18267981c & 7; uVar7 = 0xa4c283e3; if (uVar26 < 4) { if (1 < uVar26) { uVar7 = 0x361aaca7; uVar31 = 0xa9bcb5f8; bVar35 = uVar26 < 3; goto LAB_1817b4dd6; } uVar31 = 0xe718cb2e; if (uVar26 == 0) { uVar31 = (ulonglong)DAT_18267981c; } } else { if (uVar26 < 6) { uVar31 = 0x1e79b1f9; bVar35 = uVar26 < 5; } else { uVar7 = 0x21146998; uVar31 = 0xd6335c76; bVar35 = uVar26 < 7; } LAB_1817b4dd6: if (bVar35) { uVar31 = (ulonglong)uVar7; } } DAT_182679a9c = local_448c | 0xa51e10de; DAT_182679a50 = (DAT_18267981c & 0xff0000 | DAT_18267981c >> 0x10) >> 8 | (DAT_18267981c & 0xff00 | DAT_18267981c << 0x10) << 8; uVar7 = uVar2 & 3; if (uVar7 < 2) { local_45e4 = 0x8737ddbd; if (uVar7 == 0) { local_45e4 = DAT_18267997c; } } else { local_45e4 = 0xdce343cc; if (uVar7 < 3) { local_45e4 = 0xa6cd1b13; } } DAT_182679820 = uVar33 * -0x409f3fa4; uVar8 = DAT_18267981c ^ 0xa23b1f95; uVar7 = DAT_18267981c + 0x4fafa749; DAT_1826799dc = uVar7 & 0x1fe1b175; DAT_182679a64 = DAT_18267981c & 0x33d5a869 ^ 0xeacbd11b; DAT_182679894 = ~DAT_18267981c; uVar9 = DAT_18267981c & 0xf10ee163 | 0x684f1f9e; uVar10 = DAT_18267997c | 0xc6ede318; DAT_182679b08 = DAT_18267997c | 0x6775a678; uVar11 = uVar18 & 7; if (uVar11 < 4) { if (1 < uVar11) { uVar24 = 0xaa0f5a56; uVar18 = 0x49fbb164; bVar35 = uVar11 < 3; goto LAB_1817b4f21; } uVar24 = 0xb03b578b; if (uVar11 == 0) { uVar24 = (ulonglong)uVar18; } } else { if (uVar11 < 6) { uVar24 = 0x9d2e16e4; uVar18 = 0x448a8bae; bVar35 = uVar11 < 5; } else { uVar24 = 0x4b8489ea; uVar18 = 0xe3ce30cb; bVar35 = uVar11 < 7; } LAB_1817b4f21: if (bVar35) { uVar24 = (ulonglong)uVar18; } } DAT_182679adc = DAT_182679800 * -0x49691c37; uVar11 = DAT_18267981c ^ 0x565160d5; uVar18 = uVar5 & 3; if (uVar18 < 2) { local_45c8 = 0x4e2bd5d1; if (uVar18 == 0) { local_45c8 = uVar5; } } else { local_45c8 = 0x5bb805d4; if (uVar18 < 3) { local_45c8 = 0xb0e6a73f; } } uVar25 = (uVar4 & 0xff0000 | uVar4 >> 0x10) >> 8; DAT_182679ab4 = DAT_18267997c ^ 0x568ce4c; DAT_1826799d8 = uVar25 | (uVar4 << 0x10 | uVar4 & 0xff00) << 8; uVar18 = DAT_18267981c + 0x4fd5bddf >> 0x10; DAT_18267999c = (DAT_18267981c + 0x4fd5bddf) * 0x10000 | uVar18; DAT_1826798e0 = DAT_18267981c & 0xd3baf528; DAT_182679904 = DAT_18267981c | 0x5a9c9a82; DAT_182679b28 = uVar2 << 0x10 | DAT_18267981c & 0xffff; DAT_182679974 = local_45e4 & 0x4fadc47a; DAT_182679808 = local_448c + 0x6f89a214; uVar3 = DAT_1826799dc >> 0x10; DAT_182679908 = DAT_1826799dc << 0x10 | uVar3; DAT_1826798f0 = DAT_182679a64 << 0x10 | DAT_182679a64 >> 0x10; DAT_182679874 = uVar9 ^ 0x5bc595dd; uVar23 = (uint)uVar24; DAT_182679838 = (DAT_18267981c & 0xf10ee163) + 0x3fb72f27; DAT_182679b1c = DAT_18267981c + 0x4fafa749 | 0x33f2c15; DAT_1826795b0 = uVar8 * 0x1b391d74; DAT_1826799a4 = (DAT_18267981c + 0x60314d65) * 0x7afef4b5; uVar12 = uVar5 << 0x10 | uVar5 >> 0x10; uVar19 = uVar11 * -0x4f1d8770; DAT_182679970 = DAT_182679800 | 0xc7d794ff; uVar13 = DAT_18267981c & 3; if (uVar13 < 2) { uVar20 = 0x6151cf96; if (uVar13 == 0) { uVar20 = DAT_18267981c; } } else { uVar20 = 0x8f10b6a0; if (uVar13 < 3) { uVar20 = 0x99b5ee94; } } uVar13 = DAT_18267981c + 0x9785ae5; uVar14 = uVar13 & 0xdfc73870; DAT_18267988c = DAT_18267981c | 0xdfee75be; DAT_182679a5c = ((local_448c & 0xff00) << 8 | (local_448c << 0x10 & 0xffffff) >> 8) >> 8 | (uVar32 << 0x10 | (local_448c & 0xff0000) >> 8) << 8; uVar32 = DAT_18267981c ^ 0x9f7b941d; DAT_182679a00 = DAT_18267981c * -0x590434c9; if (uVar26 < 4) { if (uVar26 < 2) { DAT_182679900 = 0xc4b49c71; if (uVar26 == 0) { DAT_182679900 = DAT_18267981c; } goto LAB_1817b5356; } DAT_182679900 = 0xaf375073; uVar15 = 0x8c71d2d5; bVar35 = uVar26 < 3; } else if (uVar26 < 6) { DAT_182679900 = 0x1a2060ec; uVar15 = 0xeabcb6b8; bVar35 = uVar26 < 5; } else { uVar15 = 0xd1357755; bVar35 = uVar26 < 7; } if (bVar35) { DAT_182679900 = uVar15; } LAB_1817b5356: DAT_18267985c = ~(DAT_182679a28 | 0xc2b272bf); uVar30 = (uint)uVar31; DAT_182679984 = uVar6 + 0xf10ee163; DAT_18267994c = (uVar30 & 0xff0000 | (uint)(uVar31 >> 0x10)) >> 8 | (uVar30 << 0x10 | uVar30 & 0xff00) << 8; DAT_182679a70 = uVar6 * 0x20207353 & 0xdce343cc; uVar27 = (DAT_182679820 & 0xff0000 | DAT_182679820 >> 0x10) >> 8; DAT_182679950 = uVar27 | (uVar33 * -0x3fa40000 | DAT_182679820 & 0xff00) << 8; uVar21 = uVar30 + 0x3f59573b; DAT_182679880 = uVar33 * -0x18e734d2; uVar26 = DAT_182679a9c >> 0x10; DAT_182679a08 = DAT_182679a9c << 0x10 | uVar26; DAT_1826799c0 = DAT_182679974 + 0x1c31cf35; uVar28 = (DAT_182679808 & 0xff0000 | DAT_182679808 >> 0x10) >> 8; DAT_1826798c0 = DAT_182679b08 + 0x568ce4c; DAT_182679a80 = uVar28 | (DAT_182679808 * 0x10000 | DAT_182679808 & 0xff00) << 8; DAT_182679920 = uVar9 ^ 0x887f60f5; uVar15 = DAT_1826799dc << 0x10 & 0xff0000; uVar22 = (uVar15 | uVar7 & 0xb175) >> 8; DAT_182679990 = uVar22 | (uVar3 << 0x10 | uVar3 & 0xff00) << 8; DAT_182679a14 = (DAT_182679838 & 0xff0000 | DAT_182679838 >> 0x10) >> 8 | (DAT_182679838 * 0x10000 | DAT_182679838 & 0xff00) << 8; uVar16 = DAT_182679894 * uVar8; DAT_182679b00 = ~(local_45c8 | 0x1b71eb6f); DAT_182679ae8 = DAT_18267997c + 0x9b38cfa2 & DAT_182679adc; iVar17 = DAT_182679a5c + (DAT_182679894 ^ 0xf6d871d9); uVar29 = ((DAT_18267981c & 0x9500) << 8 | (DAT_182679a50 & 0xd5958eda) >> 0x10) >> 8 | ((DAT_182679a50 & 0xd5958eda) << 0x10 | (DAT_18267981c & 0x8e0000) >> 8) << 8; uVar9 = DAT_1826798e0 >> 0x10; uVar18 = uVar18 & 7; if (uVar18 < 4) { if (uVar18 < 2) { uVar34 = DAT_18267988c; if (uVar18 == 0) { uVar34 = DAT_18267999c; } } else { uVar34 = DAT_18267981c; if (uVar18 < 3) { uVar34 = DAT_182679a28; } } } else if (uVar18 < 6) { uVar34 = DAT_182679ab4; if (uVar18 < 5) { uVar34 = uVar32; } } else { uVar34 = DAT_182679a28 | 0xc2b272bf; if (uVar18 < 7) { uVar34 = DAT_18267981c; } } DAT_1826797f0 = DAT_182679a00 - (DAT_182679a28 | 0xdbf2f6ff); DAT_1826798ac = uVar6 * 0x20207353 ^ DAT_18267981c + 0x4fd5bddf; DAT_182679844 = (local_45e4 ^ 0xd1f1bc3f) + DAT_182679a70; DAT_1826795ac = uVar30 & uVar6; DAT_1826798ec = ~DAT_182679a9c - DAT_18267997c; DAT_182679814 = DAT_182679880 | ~DAT_182679a9c ^ 0xa4c283e3; DAT_1826795b8 = uVar33 << 0x10 | uVar33 >> 0x10; DAT_182679ad8 = (uVar2 << 0x10 & 0xff0000 | uVar2) >> 8 | (DAT_18267981c << 0x10 | DAT_18267981c & 0xff00) << 8; DAT_182679850 = uVar26 << 0x10 | DAT_182679a9c & 0xffff; DAT_182679a7c = ((uVar1 & 0xff0000 | DAT_18267981c & 0xffff) >> 8) << 0x10 | ((uVar2 & 0xff) << 0x10 | uVar2 & 0xff00) >> 8; DAT_18267992c = DAT_182679920 ^ (uVar10 << 0x10 | uVar10 >> 0x10); DAT_182679b20 = DAT_182679a64 - (uVar10 & 0x684f1f9e); DAT_1826799b4 = (uVar7 & 0xe10000 | DAT_1826799dc >> 0x10) >> 8 | (DAT_1826799dc << 0x10 | uVar7 & 0xb100) << 8; DAT_182679a90 = DAT_182679908 | uVar4; DAT_1826798fc = DAT_182679b1c - DAT_182679a14; DAT_1826799f0 = (uVar19 & 0xff0000 | uVar19 >> 0x10) >> 8 | (uVar11 * 0x78900000 | uVar19 & 0xff00) << 8; DAT_182679b18 = ((DAT_18267981c & 0xb80000 | (DAT_18267981c & 0xb4b82183) >> 0x10) >> 8 | ((DAT_18267981c & 0xb4b82183) << 0x10 | DAT_18267981c & 0x2100) << 8) + DAT_18267981c + 0x60314d65; DAT_182679918 = (DAT_18267981c | 0xf9fdd7bf) * uVar23; DAT_1826799b0 = uVar12 & DAT_18267997c; uVar18 = DAT_18267997c + 0x9b38cfa2 & 3; if (uVar18 < 2) { DAT_1826799ac = uVar11; if (uVar18 == 0) { DAT_1826799ac = DAT_18267997c + 0x9b38cfa2; } } else { DAT_1826799ac = DAT_182679b00; if (uVar18 < 3) { DAT_1826799ac = DAT_18267981c; } } DAT_182679ac4 = DAT_1826799d8 + DAT_182679adc; DAT_182679938 = uVar14 | DAT_182679970; DAT_182679a38 = uVar14 * DAT_18267981c; DAT_182679ab0 = uVar29 - DAT_182679a5c; DAT_1826799cc = iVar17 * DAT_1826798e0; DAT_182679988 = DAT_182679894 * DAT_18267981c; DAT_182679a10 = uVar34 & (DAT_18267981c | 0x9eea0432); DAT_182679818 = DAT_1826797f0 * ((DAT_182679a28 | 0xc33990eb) + 0xa2fbf16f); uVar18 = DAT_18267981c + 0x4fd5bddf; if ((local_448c >> 0x10 & 0x100) == 0) { uVar18 = DAT_182679a28; } DAT_182679a34 = uVar32 - DAT_1826798ac; DAT_182679acc = DAT_18267999c + (DAT_182679894 << 0x10 | DAT_182679894 >> 0x10); DAT_182679a58 = uVar27 << 0x10 | (uVar33 * -0x3fa40000 & 0xffffff | DAT_182679820 & 0xff00) >> 8; DAT_182679b14 = DAT_182679814 << 0x10 | DAT_182679814 >> 0x10; DAT_1826799a0 = ~uVar6; DAT_182679964 = DAT_182679ad8 & DAT_182679a08; DAT_182679aec = (uVar33 ^ 0x8605610e) + 0xd6523d55 ^ DAT_182679820; DAT_182679944 = DAT_182679808 ^ DAT_182679b08; DAT_182679a60 = (uVar1 & 0xff0000 | DAT_18267981c & 0xffff) >> 8 | (uVar2 << 0x10 | uVar2 & 0xff00) << 8; DAT_182679994 = DAT_182679a7c * (DAT_1826798c0 * 0x10000 | DAT_1826798c0 >> 0x10); DAT_1826797fc = DAT_18267997c ^ DAT_182679a28; DAT_182679a04 = DAT_182679a64 - DAT_182679b20; DAT_1826799e8 = (DAT_182679a64 >> 0x10) << 0x10 | DAT_182679a64 & 0xffff; DAT_1826798d4 = (uVar16 * 0x10000 | uVar16 & 0xff00) << 8 | (uVar16 & 0xff0000 | uVar16 >> 0x10) >> 8; DAT_1826799e0 = ~DAT_182679874; DAT_1826798cc = (DAT_18267981c + 0x60314d65) * -0xb4b0000 | DAT_1826799a4 >> 0x10; DAT_182679898 = DAT_1826799f0 ^ (DAT_18267981c | 0xf9fdd7bf); DAT_1826799c8 = DAT_1826795b0 | DAT_182679838; DAT_182679860 = uVar11 * 0x78900000 | uVar19 >> 0x10; DAT_1826798f4 = ((uVar23 & 0xff0000 | (uint)(uVar24 >> 0x10)) >> 8 | (uVar23 << 0x10 | uVar23 & 0xff00) << 8) - DAT_1826799ac; DAT_1826798b4 = uVar12 ^ DAT_182679918; DAT_182679b3c = ((uVar13 & 0xc70000 | uVar14 >> 0x10) >> 8 | (uVar14 << 0x10 | uVar13 & 0x3800) << 8) ^ 0xd152ac68; DAT_1826799f8 = DAT_182679ac4 ^ DAT_182679ae8; uVar6 = (DAT_1826799b0 & 0xff0000 | DAT_1826799b0 >> 0x10) >> 8; DAT_182679998 = uVar6 | (DAT_1826799b0 << 0x10 | DAT_1826799b0 & 0xff00) << 8; DAT_182679aa0 = DAT_182679b00 & DAT_18267981c & 0xae2d173f; DAT_182679ae4 = DAT_182679adc - uVar11; DAT_1826799ec = ((uVar4 & 0xff00) << 8 | (uVar4 << 0x10 & 0xffffff) >> 8) >> 8 | (uVar25 << 0x10 | (uVar4 & 0xff0000) >> 8) << 8; DAT_182679b34 = (DAT_182679970 + 0x160e16f1) * (DAT_1826799d8 - DAT_18267997c) - (DAT_1826798e0 << 0x10 | uVar9); uVar4 = (DAT_182679970 & 0xff0000 | DAT_182679970 >> 0x10) >> 8; DAT_1826799a8 = uVar4 | (DAT_182679970 << 0x10 | DAT_182679970 & 0xff00) << 8; DAT_1826797ec = ((DAT_1826798e0 << 0x10 & 0xff0000 | DAT_18267981c & 0xf528) >> 8 | (uVar9 << 0x10 | uVar9 & 0xff00) << 8) ^ uVar20 + uVar5; uVar5 = DAT_182679988 & 7; if (uVar5 < 4) { if (uVar5 < 2) { DAT_1826798e0 = DAT_18267981c; if (uVar5 == 0) { DAT_1826798e0 = DAT_182679988; } } else { DAT_1826798e0 = DAT_1826799cc; if (uVar5 < 3) { DAT_1826798e0 = DAT_182679ab0; } } } else if (uVar5 < 6) { DAT_1826798e0 = DAT_182679894; if (uVar5 < 5) { DAT_1826798e0 = DAT_18267997c; } } else if (uVar5 < 7) { DAT_1826798e0 = uVar29; } DAT_182679b04 = iVar17 * DAT_182679a38; DAT_182679960 = uVar18 | DAT_182679818; DAT_182679848 = DAT_1826797f0 + DAT_1826795ac; uVar18 = DAT_182679a10 & 7; if (uVar18 < 4) { if (uVar18 < 2) { DAT_182679ab4 = DAT_18267994c & DAT_182679ab4; if (uVar18 == 0) { DAT_182679ab4 = DAT_182679a10; } } else { DAT_182679ab4 = DAT_18267994c; if (uVar18 < 3) { DAT_182679ab4 = uVar34; } } } else if (uVar18 < 6) { if (uVar18 < 5) { DAT_182679ab4 = DAT_18267985c; } } else { DAT_182679ab4 = DAT_182679844; if (uVar18 < 7) { DAT_182679ab4 = DAT_18267985c + DAT_182679900; } } DAT_182679a54 = DAT_1826798ac & uVar32; DAT_1826799fc = DAT_182679974 | DAT_182679a28 | 0xdbf2f6ff; DAT_182679a40 = DAT_182679b14 * DAT_182679984; DAT_1826797e8 = DAT_182679a70 * DAT_182679b28; DAT_182679a20 = DAT_1826798ec * 0x10000 | DAT_1826798ec >> 0x10; DAT_1826798a0 = DAT_1826799a0 - DAT_182679950; DAT_1826798c4 = DAT_1826798ec * (DAT_182679950 ^ DAT_182679904) - (DAT_18267999c * 0x1e79b1f9 | DAT_182679904 << 0x10 | DAT_182679904 >> 0x10); DAT_182679890 = (uVar33 >> 0x10) << 0x10 | uVar33 & 0xffff; DAT_1826798dc = (uVar28 << 0x10 | (DAT_182679808 * 0x10000 & 0xffffff | DAT_182679808 & 0xff00) >> 8) ^ DAT_182679a9c; DAT_182679934 = DAT_182679814 * DAT_1826795b8 * DAT_182679984; DAT_182679b30 = DAT_182679a80 - ((uVar21 & 0xff0000 | uVar21 >> 0x10) >> 8 | (uVar21 * 0x10000 | uVar21 & 0xff00) << 8); DAT_182679b24 = DAT_182679964 & DAT_182679820; DAT_18267983c = ~DAT_182679880; DAT_182679a68 = uVar26 << 0x10 | DAT_182679a9c & 0xffff; DAT_182679978 = DAT_182679820 & DAT_182679b08; DAT_1826797f4 = DAT_182679850 ^ DAT_182679aec; DAT_182679858 = local_448c * 2 + 0x6f89a214; DAT_182679810 = ~DAT_18267997c; DAT_18267995c = DAT_1826798c0 ^ DAT_182679a64; DAT_1826799c4 = DAT_182679944 - DAT_182679a7c; DAT_1826799e4 = DAT_182679a04 - DAT_182679994; DAT_182679948 = DAT_182679a60 ^ DAT_1826798f0; DAT_1826799f4 = DAT_182679920 & DAT_182679b20; DAT_1826795a0 = DAT_182679a28 - DAT_1826797fc; DAT_1826798a4 = DAT_1826798fc * DAT_18267992c; DAT_182679af0 = (uVar1 & 0xff0000 | DAT_18267981c & 0xffff) >> 8 | (uVar2 << 0x10 | uVar2 & 0xff00) << 8; DAT_1826798e8 = DAT_182679908 ^ DAT_1826798d4; DAT_182679a78 = DAT_182679908 - DAT_182679a90; DAT_182679aa4 = DAT_1826799b4 - DAT_182679b1c; DAT_182679968 = DAT_1826798cc ^ DAT_1826799e8; DAT_18267998c = DAT_182679898 - DAT_1826799e0; DAT_1826798f8 = ~DAT_1826799a4; DAT_1826798b8 = (uVar22 << 0x10 | uVar15 >> 8) << 8 | ((uVar3 & 0xff00) << 8 | (uVar3 << 0x10 & 0xffffff) >> 8) >> 8; DAT_182679868 = DAT_182679874 + uVar8 * -0x1b391d74; DAT_1826797e4 = DAT_182679b3c & DAT_18267997c; DAT_182679940 = DAT_182679b18 * 0x10000 | DAT_182679b18 >> 0x10; DAT_182679878 = DAT_182679a14 + DAT_182679ae8; DAT_1826795b4 = DAT_1826798b4 - DAT_182679860; DAT_1826795a8 = (DAT_1826799ac & 0xff0000 | DAT_1826799ac >> 0x10) >> 8 | (DAT_1826799ac << 0x10 | DAT_1826799ac & 0xff00) << 8; DAT_18267959c = uVar6 << 0x10 | (DAT_1826799b0 << 0x10 & 0xffffff | DAT_1826799b0 & 0xff00) >> 8; uVar18 = (uVar19 >> 0x10 & 0x300) >> 8; if (uVar18 < 2) { DAT_182679888 = DAT_182679918; if (uVar18 == 0) { DAT_182679888 = DAT_1826799f0; } } else { DAT_182679888 = DAT_182679aa0; if (uVar18 < 3) { DAT_182679888 = DAT_1826798f4; } } DAT_1826799d4 = DAT_182679adc & DAT_1826799f8; DAT_182679b10 = DAT_18267997c - DAT_1826799c8; DAT_182679afc = DAT_18267997c * DAT_182679a5c; DAT_1826799b8 = (DAT_182679938 & 0xff0000 | DAT_182679938 >> 0x10) >> 8 | (DAT_182679938 << 0x10 | DAT_182679938 & 0xff00) << 8; DAT_1826799bc = DAT_182679ae4 | DAT_1826799d8; DAT_182679954 = DAT_1826799b0 ^ DAT_1826799ec; DAT_182679a74 = DAT_182679b00 << 0x10 | DAT_182679b00 >> 0x10; DAT_1826798d0 = DAT_182679ac4 * 0x10000 | DAT_182679ac4 >> 0x10; DAT_18267986c = (DAT_1826799cc & 0xff0000 | DAT_1826799cc >> 0x10) >> 8 | (DAT_1826799cc * 0x10000 | DAT_1826799cc & 0xff00) << 8; DAT_182679840 = DAT_182679b34 * DAT_182679800; DAT_182679914 = (DAT_1826798e0 & 0xff0000 | DAT_1826798e0 >> 0x10) >> 8 | (DAT_1826798e0 << 0x10 | DAT_1826798e0 & 0xff00) << 8; DAT_182679910 = ~DAT_182679970; DAT_182679864 = DAT_182679ab0 * 0x10000 | DAT_182679ab0 >> 0x10; DAT_182679828 = uVar4 << 0x10 | (DAT_182679970 << 0x10 & 0xffffff | DAT_182679970 & 0xff00) >> 8; DAT_182679598 = DAT_182679b04 ^ DAT_182679988; DAT_1826798d8 = DAT_18267988c + DAT_182679a38; DAT_182679930 = DAT_1826797ec + DAT_18267981c; DAT_18267996c = DAT_182679a28 | DAT_18267981c; DAT_182679a84 = DAT_1826795ac ^ DAT_182679818; DAT_1826798e4 = (DAT_182679960 & 0xff0000 | DAT_182679960 >> 0x10) >> 8 | (DAT_182679960 << 0x10 | DAT_182679960 & 0xff00) << 8; DAT_182679830 = ~DAT_182679848; DAT_182679804 = DAT_182679a54 | DAT_18267999c; DAT_18267984c = DAT_182679a00 & DAT_182679894; DAT_182679aac = DAT_1826797f0 ^ DAT_182679a10; DAT_182679a98 = DAT_18267994c * DAT_182679ab4; DAT_1826798bc = DAT_182679984 + DAT_182679900; DAT_182679af4 = DAT_18267985c - DAT_182679a40; DAT_1826795a4 = DAT_182679844 + DAT_182679974; DAT_182679884 = DAT_182679a58 - DAT_182679a34; DAT_18267993c = DAT_1826798ac - DAT_182679acc; DAT_182679b2c = DAT_182679890 ^ DAT_182679a9c; uVar18 = (DAT_18267981c & 0x70000) >> 0x10; if (uVar18 < 4) { if (uVar18 < 2) { DAT_182679a48 = DAT_1826798c4; if (uVar18 == 0) { DAT_182679a48 = DAT_1826795b8; } } else { DAT_182679a48 = DAT_182679b14; if (uVar18 < 3) { DAT_182679a48 = DAT_1826799fc; } } } else if (uVar18 < 6) { DAT_182679a48 = DAT_182679a70; if (uVar18 < 5) { DAT_182679a48 = DAT_1826797e8; } } else { DAT_182679a48 = DAT_1826798a0; if (uVar18 < 7) { DAT_182679a48 = DAT_1826798ec; } } uVar18 = DAT_18267981c & 3; if (uVar18 < 2) { DAT_182679824 = DAT_182679814; if (uVar18 == 0) { DAT_182679824 = DAT_182679b28; } } else { DAT_182679824 = DAT_182679904; if (uVar18 < 3) { DAT_182679824 = DAT_182679a20; } } DAT_1826799d0 = DAT_182679820 - DAT_182679aec; DAT_182679b0c = DAT_182679a80 | DAT_182679b30; DAT_182679a88 = DAT_182679880 * DAT_1826799a0; DAT_182679628 = 0xac8; DAT_182679924 = DAT_182679ad8 - DAT_182679964 ^ 0xdf8b203d; DAT_182679870 = DAT_182679978 & DAT_182679a08; DAT_1826798a8 = DAT_1826797f4 ^ DAT_18267983c; DAT_182679a4c = DAT_182679934 * 0x10000 | DAT_182679934 >> 0x10; DAT_182679ac0 = DAT_1826799c4 & DAT_182679b24 ^ 0x887f28d; DAT_182679ac8 = DAT_182679a04 * 0x10000 | DAT_182679a04 >> 0x10; DAT_18267989c = (DAT_182679974 + 0x1c31cf35) - DAT_182679850; local_48 = local_4450; DAT_182679a18 = &local_60; iVar17 = 0x1a; DAT_182679928 = DAT_18267981c; DAT_182679a24 = DAT_1826799b4; DAT_182679a2c = DAT_182679a28; DAT_182679a8c = DAT_18267981c; DAT_182679ab8 = DAT_18267997c; DAT_182679ae0 = DAT_18267997c; DAT_182679af8 = DAT_18267997c; DAT_182679b38 = DAT_182679908; local_45e8 = DAT_1826798d4; local_45e4 = DAT_1826797ec; local_45e0 = DAT_1826799a8; local_45dc = DAT_1826799ec; local_45d8 = DAT_182679b3c; local_45d4 = DAT_182679998; local_45d0 = DAT_182679894; local_45cc = DAT_1826799c4; local_45c8 = DAT_182679b00; local_45c4 = DAT_182679b24; local_45c0 = DAT_1826799f0; local_45bc = DAT_182679a04; local_45b8 = DAT_1826799b4; local_45b4 = DAT_1826799a0; local_45b0 = DAT_182679a7c; local_45ac = DAT_1826798ac; local_45a8 = DAT_1826798ec; local_45a4 = DAT_182679964; local_45a0 = DAT_182679960; local_459c = DAT_182679814; local_4598 = DAT_1826798c4; local_4594 = DAT_182679850; local_4590 = DAT_1826799d8; local_458c = DAT_182679a5c; local_4588 = DAT_182679970; local_4584 = DAT_182679a38; local_4580 = DAT_182679a20; local_457c = DAT_1826797f4; local_4578 = DAT_1826797e8; local_4574 = DAT_1826798a0; local_4570 = DAT_182679934; local_456c = DAT_182679a60; local_4568 = DAT_182679874; local_4564 = DAT_1826798f4; local_4560 = DAT_182679a9c; local_455c = DAT_182679b28; local_4558 = DAT_182679ad8; local_4554 = DAT_182679b04; local_4550 = DAT_182679a08; local_454c = DAT_182679adc; local_4548 = DAT_182679860; local_4544 = DAT_1826798b4; local_4540 = DAT_1826799fc; local_453c = DAT_182679890; local_4538 = DAT_182679a40; local_4534 = DAT_18267983c; local_4530 = DAT_182679988; local_452c = DAT_182679908; local_4528 = DAT_182679a10; local_4524 = DAT_182679b14; local_4520 = DAT_182679a64; local_451c = DAT_182679aec; local_4518 = DAT_18267999c; local_4514 = DAT_182679818; local_4510 = DAT_182679b08; local_450c = DAT_182679990; local_4508 = DAT_182679b34; local_4504 = DAT_1826797f0; local_4500 = DAT_18267994c; local_44fc = DAT_18267985c; local_44f8 = DAT_182679974; local_44f4 = DAT_182679a70; local_44f0 = DAT_182679904; local_44ec = DAT_182679a80; local_44e8 = DAT_182679880; local_44e4 = DAT_1826799b0; local_44e0 = DAT_1826798cc; local_44dc = DAT_182679aa0; local_44d8 = DAT_182679ae4; local_44d4 = DAT_182679848; local_44d0 = DAT_182679a54; local_44cc = DAT_182679978; local_44c8 = DAT_182679b30; local_44c4 = DAT_182679a50; local_44c0 = DAT_1826798c0; local_44bc = DAT_182679a00; local_44b8 = DAT_1826798f0; local_44b4 = DAT_182679920; local_44b0 = DAT_182679b20; local_44ac = DAT_1826799a4; local_44a8 = DAT_182679b1c; local_44a4 = DAT_182679a14; local_44a0 = DAT_182679ae8; local_449c = DAT_182679918; local_4498 = DAT_182679ac4; local_4494 = DAT_1826799cc; local_4490 = DAT_182679ab0; local_4488 = DAT_18267988c; local_4484 = DAT_182679994; local_4480 = DAT_1826797fc; local_447c = DAT_1826798fc; local_4478 = DAT_18267992c; local_4474 = DAT_182679a90; local_4470 = DAT_1826799e8; local_446c = DAT_182679898; local_4468 = DAT_1826799e0; local_4464 = DAT_182679b18; local_4460 = DAT_1826799f8; local_445c = DAT_1826799c8; local_4458 = DAT_182679938; local_4454 = DAT_182679a58; local_4450[0] = DAT_182679a34; local_4448 = param_3; local_4440 = param_2; local_4438 = param_1; local_60 = param_1; local_58 = param_2; local_50 = param_3; do { iVar17 = (**(code **)(&DAT_182478090 + (longlong)iVar17 * 8))(); } while (iVar17 != 0); DAT_182679a18 = DAT_182679a18 + 4; } ############ FUN_ 1817217c0 size=7929 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x00018172214c) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1817217c0(byte *param_1,byte *param_2,byte *param_3,undefined8 param_4,longlong param_5) { uint uVar1; uint uVar2; uint uVar3; int iVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; byte *pbVar13; uint uVar14; uint uVar15; longlong lVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; uint uVar21; bool bVar22; undefined1 auStack_4b78 [32]; uint local_4b58; uint local_4b54; uint local_4b50; uint local_4b4c; uint local_4b48; uint local_4b44; uint local_4b40; uint local_4b3c; uint local_4b38; uint local_4b34; uint local_4b30; uint local_4b2c; uint local_4b28; uint local_4b24; uint local_4b20; uint local_4b1c; uint local_4b18; uint local_4b14; int local_4b10; uint local_4b0c; uint local_4b08; uint local_4b04; int local_4b00; uint local_4afc; uint local_4af8; uint local_4af4; uint local_4af0; uint local_4aec; uint local_4ae8; uint local_4ae4; uint local_4ae0; uint local_4adc; uint local_4ad8; uint local_4ad4; uint local_4ad0; uint local_4acc; uint local_4ac8; uint local_4ac4; uint local_4ac0; uint local_4abc; uint local_4ab8; uint local_4ab4; uint local_4ab0; uint local_4aac; uint local_4aa8; uint local_4aa4; uint local_4aa0; uint local_4a9c; uint local_4a98; uint local_4a94; uint local_4a90; uint local_4a8c; uint local_4a88; uint local_4a84; uint local_4a80; uint local_4a7c; uint local_4a78; int local_4a74; uint local_4a70; uint local_4a6c; int local_4a68; uint local_4a64; uint local_4a60; uint local_4a5c; uint local_4a58; uint local_4a54; uint local_4a50; uint local_4a4c; uint local_4a48; uint local_4a44; uint local_4a40; uint local_4a3c; uint local_4a38; uint local_4a34; uint local_4a30; uint local_4a2c; int local_4a28; uint local_4a24; uint local_4a20; uint local_4a1c; uint local_4a18; uint local_4a14; uint local_4a10; uint local_4a0c; uint local_4a08; uint local_4a04; int local_4a00; uint local_49fc; int local_49f8; uint local_49f4; int local_49f0; uint local_49ec; undefined1 *local_49e8; byte *local_49e0; undefined8 local_49d8; byte *local_49d0; byte *local_49c8; undefined1 local_49b8 [18760]; byte *local_70; byte *local_68; byte *local_60; undefined8 local_58; longlong local_50; undefined1 **local_48; undefined1 local_40 [8]; ulonglong local_38; undefined8 uStack_30; uStack_30 = 0x1817217e2; local_38 = DAT_182615970 ^ (ulonglong)auStack_4b78; local_49e8 = local_40; _DAT_182679590 = local_49b8; DAT_18267947c = 0x811c9dc5; DAT_182679520 = 0; if (param_1 != (byte *)0x0) { DAT_18267947c = ((((((((((((((((((((((((((((((((*param_1 ^ 0x811c9dc5) * 0x1000193 ^ (uint)param_1[1]) * 0x1000193 ^ (uint)param_1[2]) * 0x1000193 ^ (uint)param_1[3]) * 0x1000193 ^ (uint)param_1[4]) * 0x1000193 ^ (uint)param_1[5]) * 0x1000193 ^ (uint)param_1[6]) * 0x1000193 ^ (uint)param_1[7]) * 0x1000193 ^ (uint)param_1[8]) * 0x1000193 ^ (uint)param_1[9]) * 0x1000193 ^ (uint)param_1[10]) * 0x1000193 ^ (uint)param_1[0xb]) * 0x1000193 ^ (uint)param_1[0xc]) * 0x1000193 ^ (uint)param_1[0xd]) * 0x1000193 ^ (uint)param_1[0xe]) * 0x1000193 ^ (uint)param_1[0xf]) * 0x1000193 ^ (uint)param_1[0x10]) * 0x1000193 ^ (uint)param_1[0x11]) * 0x1000193 ^ (uint)param_1[0x12]) * 0x1000193 ^ (uint)param_1[0x13]) * 0x1000193 ^ (uint)param_1[0x14]) * 0x1000193 ^ (uint)param_1[0x15]) * 0x1000193 ^ (uint)param_1[0x16]) * 0x1000193 ^ (uint)param_1[0x17]) * 0x1000193 ^ (uint)param_1[0x18]) * 0x1000193 ^ (uint)param_1[0x19]) * 0x1000193 ^ (uint)param_1[0x1a]) * 0x1000193 ^ (uint)param_1[0x1b]) * 0x1000193 ^ (uint)param_1[0x1c]) * 0x1000193 ^ (uint)param_1[0x1d]) * 0x1000193 ^ (uint)param_1[0x1e]) * 0x1000193 ^ (uint)param_1[0x1f]) * 0x1000193; } if (param_2 != (byte *)0x0) { DAT_18267947c = ((((((((((((((((DAT_18267947c ^ *param_2) * 0x1000193 ^ (uint)param_2[1]) * 0x1000193 ^ (uint)param_2[2]) * 0x1000193 ^ (uint)param_2[3]) * 0x1000193 ^ (uint)param_2[4]) * 0x1000193 ^ (uint)param_2[5]) * 0x1000193 ^ (uint)param_2[6] ) * 0x1000193 ^ (uint)param_2[7]) * 0x1000193 ^ (uint)param_2[8]) * 0x1000193 ^ (uint)param_2[9]) * 0x1000193 ^ (uint)param_2[10]) * 0x1000193 ^ (uint)param_2[0xb]) * 0x1000193 ^ (uint)param_2[0xc]) * 0x1000193 ^ (uint)param_2[0xd]) * 0x1000193 ^ (uint)param_2[0xe]) * 0x1000193 ^ (uint)param_2[0xf]) * 0x1000193; } if (param_3 != (byte *)0x0) { DAT_18267947c = ((((((((((((((((((((((((((((((((DAT_18267947c ^ *param_3) * 0x1000193 ^ (uint)param_3[1]) * 0x1000193 ^ (uint)param_3[2]) * 0x1000193 ^ (uint)param_3[3]) * 0x1000193 ^ (uint)param_3[4]) * 0x1000193 ^ (uint)param_3[5]) * 0x1000193 ^ (uint)param_3[6]) * 0x1000193 ^ (uint)param_3[7]) * 0x1000193 ^ (uint)param_3[8]) * 0x1000193 ^ (uint)param_3[9]) * 0x1000193 ^ (uint)param_3[10]) * 0x1000193 ^ (uint)param_3[0xb]) * 0x1000193 ^ (uint)param_3[0xc]) * 0x1000193 ^ (uint)param_3[0xd]) * 0x1000193 ^ (uint)param_3[0xe]) * 0x1000193 ^ (uint)param_3[0xf]) * 0x1000193 ^ (uint)param_3[0x10]) * 0x1000193 ^ (uint)param_3[0x11]) * 0x1000193 ^ (uint)param_3[0x12]) * 0x1000193 ^ (uint)param_3[0x13]) * 0x1000193 ^ (uint)param_3[0x14]) * 0x1000193 ^ (uint)param_3[0x15]) * 0x1000193 ^ (uint)param_3[0x16]) * 0x1000193 ^ (uint)param_3[0x17]) * 0x1000193 ^ (uint)param_3[0x18]) * 0x1000193 ^ (uint)param_3[0x19]) * 0x1000193 ^ (uint)param_3[0x1a]) * 0x1000193 ^ (uint)param_3[0x1b]) * 0x1000193 ^ (uint)param_3[0x1c]) * 0x1000193 ^ (uint)param_3[0x1d]) * 0x1000193 ^ (uint)param_3[0x1e]) * 0x1000193 ^ (uint)param_3[0x1f]) * 0x1000193; } if (param_5 != 0) { lVar16 = 0x20; pbVar13 = (byte *)(param_5 + 2); do { DAT_18267947c = (((((pbVar13[-2] ^ DAT_18267947c) * 0x1000193 ^ (uint)pbVar13[-1]) * 0x1000193 ^ (uint)*pbVar13) * 0x1000193 ^ (uint)pbVar13[1]) * 0x1000193 ^ (uint)pbVar13[2]) * 0x1000193; lVar16 = lVar16 + -1; pbVar13 = pbVar13 + 5; } while (lVar16 != 0); } DAT_182679530 = DAT_18267947c + 0xd2ac102b; local_4b10 = DAT_18267947c * 0x744d22e1; uVar14 = DAT_18267947c & 0xff0000; DAT_1826794bc = 0x5b2e7a02; DAT_1826793d0 = 0xdb5c72d1; uVar11 = DAT_18267947c & 0xff00; uVar15 = (uVar14 | DAT_18267947c >> 0x10) >> 8; DAT_1826794f8 = 0x7fdbf78b; uVar5 = DAT_18267947c << 0x10; DAT_182679480 = 0x1dee7717; DAT_182679340 = uVar15 | (uVar11 | uVar5) << 8; DAT_1826792cc = 0xd7665ff5; DAT_18267927c = 0xb8737690; uVar6 = ~DAT_18267947c; DAT_1826794e4 = 0xde14e052; DAT_182679500 = uVar6 * -0x4314254e; DAT_18267925c = 0xc041da97; DAT_1826792a4 = 0x16f2446c; DAT_182679454 = DAT_18267947c ^ 0x86ab561f; uVar20 = (DAT_182679530 & 0xff0000 | DAT_182679530 >> 0x10) >> 8; DAT_182679248 = 0x8bf7db7f; DAT_18267950c = 0x1cd356f6; DAT_18267945c = 0x46881722; DAT_182679418 = uVar20 | (DAT_182679530 * 0x10000 | DAT_182679530 & 0xff00) << 8; DAT_182679300 = 0x329e0880; DAT_182679494 = 0xe1aac53a; DAT_1826793a8 = 0x5b0c7200; uVar2 = DAT_18267947c >> 0x10; DAT_182678ef4 = DAT_18267947c << 0x10 | uVar2; DAT_18267948c = 0xdff7fb7f; DAT_1826793ac = DAT_18267947c | 0xd19720ad; DAT_18267935c = 0x16d24408; uVar19 = ~DAT_182679340; DAT_182679318 = 0x1dff77f7; DAT_18267936c = 0x46881722; DAT_182679284 = 0xf2dfda97; DAT_1826792bc = local_4b10 + 0x80404376; DAT_182679334 = DAT_18267947c ^ 0x956bbbb5; DAT_1826793dc = DAT_182679500 + 0xe00413bf; DAT_182679394 = (DAT_18267947c + 0x4f5cf359) * 0x3d223330; uVar17 = DAT_18267947c | 0x500acf2e; DAT_182679584 = uVar19 | 0xbc15acd8; uVar10 = uVar6 >> 0x10; DAT_18267938c = DAT_18267947c + 0x1feee721; DAT_1826794dc = DAT_18267947c + 0xfc9840e5 | 0xeab72f4d; DAT_18267951c = DAT_182679340 | 0xb110b866; DAT_182679274 = DAT_18267947c ^ 0x6e46f4e3; uVar3 = (DAT_182679530 * 0x10000 & 0xffffff | DAT_182679530 & 0xff00) >> 8; DAT_1826794ac = uVar20 << 0x10 | uVar3; DAT_182679414 = DAT_18267947c | 0xc33fca4e; DAT_1826794c4 = (DAT_182679340 | 0x4d8b24c0) + 0xa7d64423; DAT_182679288 = ~DAT_182679334; DAT_182679470 = ~(DAT_18267947c & 0x5fb0d117); DAT_182679314 = DAT_1826793ac + 0x97827035; DAT_1826794d4 = (uVar11 << 8 | (uVar5 & 0xffffff) >> 8) >> 8 | (uVar15 << 0x10 | uVar14 >> 8) << 8 ; uVar7 = DAT_1826792bc & 3; if (uVar7 < 2) { DAT_182679278 = 0x15290e16; if (uVar7 == 0) { DAT_182679278 = DAT_1826792bc; } } else { DAT_182679278 = 0x730d9fae; if (uVar7 < 3) { DAT_182679278 = 0xc84c6565; } } DAT_182679398 = (uVar17 & 0xff0000 | uVar17 >> 0x10) >> 8 | (uVar17 << 0x10 | uVar17 & 0xff00) << 8; uVar7 = DAT_18267947c & 0xb7a81498 | 0xeb80f2f; uVar12 = 0xae9d2041; if ((uVar19 & 1) == 0) { uVar12 = DAT_182679584; } uVar1 = DAT_18267947c + 0x9df29408 & 0x527f14b8; DAT_182679554 = (uVar6 << 0x10 & 0xff0000 | uVar6 & 0xffff) >> 8 | (uVar10 << 0x10 | uVar10 & 0xff00) << 8; DAT_1826793a0 = ~(DAT_18267947c + 0xa5e4cde6); DAT_1826792c0 = (DAT_18267947c + 0x454b7985 & 0xff0000 | DAT_18267947c + 0x454b7985 >> 0x10) >> 8 | ((DAT_18267947c + 0x454b7985) * 0x10000 | DAT_18267947c + 0x454b7985 & 0xff00) << 8; DAT_182679370 = (DAT_1826794dc & 0xff0000 | DAT_1826794dc >> 0x10) >> 8 | (DAT_1826794dc << 0x10 | DAT_1826794dc & 0xff00) << 8; DAT_1826792c8 = (uVar11 << 8 | (uVar5 & 0xffffff) >> 8) >> 8 | (uVar15 << 0x10 | uVar14 >> 8) << 8 ; DAT_182679240 = 0x13f01a9c; if ((DAT_18267947c + 0xd2ac102b & 1) == 0) { DAT_182679240 = DAT_18267947c + 0xd2ac102b; } DAT_18267958c = (DAT_182679530 & 0xa6df57a1) + 0x1b18c708; DAT_1826792f4 = (DAT_182679340 ^ 0x4fc26895) & 0x91dc2271; DAT_182679308 = DAT_18267947c + 0x57b31489 & 0x15bab3b1; DAT_182679568 = DAT_182679340 & 0x4e95eeda; uVar5 = DAT_18267947c & 7; if (uVar5 < 4) { if (1 < uVar5) { uVar14 = 0x6289d8c3; uVar11 = 0xafd97743; bVar22 = uVar5 < 3; goto LAB_18172240a; } uVar11 = 0x32f5ae04; if (uVar5 == 0) { uVar11 = DAT_18267947c; } } else { if (uVar5 < 6) { uVar14 = 0xbc2296e6; uVar11 = 0x3ed7a7eb; bVar22 = uVar5 < 5; } else { uVar14 = 0xa5126da; uVar11 = 0xf47b8af2; bVar22 = uVar5 < 7; } LAB_18172240a: if (bVar22) { uVar11 = uVar14; } } DAT_182679238 = DAT_182679334 * -0x522f926e; uVar14 = local_4b10 + 0x80404376; DAT_182678f5c = DAT_182679414 * -0x3a742a07; DAT_18267944c = DAT_182679278 & 0xc34a6cbc; DAT_18267926c = uVar2 << 0x10 | DAT_18267947c & 0xffff; uVar5 = DAT_182679288 & 3; if (uVar5 < 2) { local_4af8 = 0x956bbbb5; if (uVar5 == 0) { local_4af8 = DAT_182679288; } } else { local_4af8 = 0xb0a30ca7; if (uVar5 < 3) { local_4af8 = 0xa5e4cde6; } } DAT_1826792ac = (DAT_18267947c ^ 0x74d4ee48) - (DAT_18267947c | 0x360d4864); DAT_18267942c = DAT_18267947c & 0x1feee721; DAT_18267933c = DAT_182679454 * 0x6e46f4e3; DAT_1826793b0 = DAT_182679340 ^ 0x7ea26bd7; uVar5 = DAT_18267947c + 0xee669e0d; DAT_1826794f0 = uVar7 ^ 0x15290e16; DAT_1826794b4 = DAT_182679584 << 0x10 | DAT_182679584 >> 0x10; DAT_182679428 = (uVar19 & 0xff0000 | uVar19 >> 0x10) >> 8 | (uVar19 << 0x10 | uVar19 & 0xff00) << 8; uVar8 = (DAT_18267947c + 0x4f5cf359) * 0x10000 | DAT_18267947c + 0x4f5cf359 >> 0x10; uVar9 = DAT_18267947c + 0x38d1750f | (DAT_18267947c + 0x4f5cf359) * 0x5598eeb1; DAT_182679270 = DAT_18267947c + 0xfc9840e5 + (DAT_18267947c + 0x1feee721 & 0xa181e901); DAT_1826794cc = DAT_18267947c + 0x1feee721 | DAT_18267947c + 0x454b7985; local_4b3c = (uVar6 << 0x10 | uVar10) + DAT_18267947c; DAT_1826793f0 = uVar1 - (DAT_18267947c + 0xfc9840e5 & 0xe619d927); uVar10 = DAT_18267947c + 0x57b31489; DAT_182679490 = DAT_18267947c + 0xd2ac102b | DAT_18267947c; uVar21 = DAT_182679334 * (DAT_182679340 | 0x4d8b24c0); DAT_1826794a4 = (DAT_182679340 ^ 0x4fc26895) + ~DAT_182679274; DAT_182679550 = (DAT_18267951c & 0xff0000 | DAT_18267951c >> 0x10) >> 8 | (DAT_18267951c << 0x10 | DAT_18267951c & 0xff00) << 8; uVar15 = DAT_18267947c + 0x5adc794e; DAT_182679360 = DAT_182679500 + 0x7d7a3afc; DAT_1826793d8 = DAT_182679568 ^ DAT_182679500; DAT_182679434 = ~(DAT_18267947c + 0x43bc1091); uVar18 = (uVar15 & 0xff0000 | uVar15 >> 0x10) >> 8; DAT_182679268 = uVar18 | (uVar15 * 0x10000 | uVar15 & 0xff00) << 8; DAT_182679510 = DAT_182679238 + DAT_18267947c; DAT_182679320 = (DAT_182679314 & 0xff0000 | DAT_182679314 >> 0x10) >> 8 | (DAT_182679314 * 0x10000 | DAT_182679314 & 0xff00) << 8 | DAT_18267947c | 0xf7bf34bd; DAT_1826793d4 = DAT_182679288 + DAT_182679470; DAT_1826794c0 = DAT_1826794d4 | 0x367bf1b | DAT_18267944c; uVar19 = (uVar14 >> 0x10 & 0x300) >> 8; if (uVar19 < 2) { local_4b28 = DAT_182679340 & 0xd19720ad; if (uVar19 == 0) { local_4b28 = (uVar14 & 0xff0000 | uVar14 >> 0x10) >> 8 | (uVar14 * 0x10000 | local_4b10 + 0x80404376U & 0xff00) << 8; } } else { local_4b28 = DAT_18267947c * 0x2bbdb2fe; if (uVar19 < 3) { local_4b28 = DAT_182678ef4; } } DAT_182679580 = DAT_182679340 ^ DAT_182679314; uVar14 = (DAT_18267947c & 0x3000000) >> 0x18; if (uVar14 < 2) { uVar19 = DAT_18267947c; if (uVar14 == 0) { uVar19 = DAT_182679398; } } else { uVar19 = DAT_182679454; if (uVar14 < 3) { uVar19 = DAT_182679470 + 0xa04f2ee9; } } DAT_1826792d4 = DAT_1826793b0 & uVar17; DAT_1826792e0 = (uVar5 & 0x820000 | (uVar5 & 0x97827035) >> 0x10) >> 8 | ((uVar5 & 0x97827035) << 0x10 | uVar5 & 0x7000) << 8; DAT_1826793cc = (~DAT_182679454 + (DAT_18267947c ^ 0xeecb2744)) * DAT_18267933c; DAT_182679558 = DAT_1826794b4 & (DAT_18267947c & 0xb7a81498) + 0x440a14cb; DAT_182679250 = uVar12 - DAT_18267947c ^ DAT_18267947c; DAT_182679450 = uVar12 * (DAT_18267947c | 0x360d4864); DAT_182679350 = DAT_18267947c + 0x454b7985 | 0x88e1d077 | DAT_18267947c; DAT_182679420 = uVar9 ^ uVar8; uVar5 = DAT_1826794cc & 3; if (uVar5 < 2) { if (uVar5 == 0) { local_4b3c = DAT_1826794cc; } } else { local_4b3c = uVar1; if (uVar5 < 3) { local_4b3c = DAT_1826793a0; } } DAT_1826793f4 = (DAT_182679370 + DAT_1826792c8) * (DAT_182679530 & 0xa6df57a1); uVar14 = (DAT_1826793f0 & 0xff0000 | DAT_1826793f0 >> 0x10) >> 8; DAT_182679244 = (DAT_1826793f0 * 0x10000 | DAT_1826793f0 & 0xff00) << 8 | uVar14; DAT_18267943c = DAT_1826792c0 - DAT_1826792f4; DAT_18267931c = (DAT_182679490 & 0xff0000 | DAT_182679490 >> 0x10) >> 8 | (DAT_182679490 << 0x10 | DAT_182679490 & 0xff00) << 8; uVar5 = (DAT_1826794dc >> 0x10 & 0x300) >> 8; if (uVar5 < 2) { if (uVar5 == 0) { DAT_1826792c8 = DAT_182679370; } } else { DAT_1826792c8 = DAT_182679274; if (uVar5 < 3) { DAT_1826792c8 = DAT_1826794a4; } } DAT_182679304 = ((DAT_18267947c << 0x10 & 0xff0000 | DAT_18267947c & 0xffff) >> 8 | (uVar2 << 0x10 | uVar2 & 0xff00) << 8) ^ DAT_18267947c; DAT_1826792a0 = uVar3 << 0x10 | uVar20; DAT_1826792ec = DAT_182679268 * DAT_1826793dc; DAT_182679544 = DAT_182679418 & 0xb487c1fa ^ DAT_182679308; if ((DAT_18267947c + 0x43bc1091 & 1) == 0) { DAT_182679544 = DAT_18267947c + 0x43bc1091; } DAT_1826794f4 = ~DAT_182679238; DAT_182679440 = uVar21 * 0x10000 | uVar21 >> 0x10; DAT_1826792b4 = DAT_182678f5c + DAT_182679434; DAT_1826793ec = DAT_182679500 + 0x3e824516 | DAT_182679414; DAT_18267955c = DAT_18267947c | 0xf7bf34bd | DAT_182678ef4; DAT_1826792f0 = (DAT_182679398 + 0x80404376) - local_4af8; DAT_182679518 = DAT_18267944c << 0x10 | DAT_18267944c >> 0x10; uVar5 = DAT_182679580 - (local_4b10 + -0x7fbfbc8a); DAT_182679478 = uVar19 | DAT_18267942c; DAT_182679258 = DAT_1826794f0 * uVar7 + DAT_182679314; DAT_182679330 = DAT_1826793b0 + DAT_182679340; DAT_182679408 = uVar17 << 0x10 | uVar17 >> 0x10; DAT_182679448 = DAT_1826792ac + DAT_182679454 * -0x6e46f4e3; DAT_18267939c = DAT_182679584 & DAT_1826793cc ^ 0x4261533; DAT_18267934c = DAT_182679450 + DAT_182679428; DAT_18267956c = DAT_182679350 * DAT_182679250; DAT_18267954c = (uVar9 << 0x10 | uVar9 & 0xff00) << 8 | (uVar9 & 0xff0000 | uVar9 >> 0x10) >> 8; DAT_1826794b8 = ~DAT_182679554 * (DAT_18267947c + 0x454b7985) & DAT_18267947c; DAT_182678f58 = DAT_182679428 + uVar8; DAT_182679528 = DAT_1826792c0 * DAT_182679340; DAT_182679488 = local_4b3c - DAT_182679554; DAT_182679484 = DAT_182679420 << 0x10 | DAT_182679420 >> 0x10; DAT_182679514 = DAT_1826793a0 - DAT_18267943c; DAT_182678f50 = DAT_182679244 - uVar6; DAT_182679588 = DAT_1826793f0 * (DAT_18267947c + 0x1feee721); DAT_182679504 = ((uVar10 & 0xff0000 | uVar10 >> 0x10) >> 8 | (uVar10 * 0x10000 | uVar10 & 0xff00) << 8) * DAT_182679370; DAT_182678f6c = DAT_182679490 << 0x10 | DAT_182679490 >> 0x10; DAT_1826793e4 = DAT_1826794a4 ^ DAT_1826794dc; DAT_182679380 = DAT_1826793dc * 0x10000 | DAT_1826793dc >> 0x10; DAT_182679564 = DAT_18267926c + DAT_182679340; DAT_182679534 = (uVar11 | DAT_182679414) & DAT_182679434 + DAT_182678f5c; DAT_1826793f8 = DAT_182679268 + DAT_182679334 * 0x522f926e; DAT_182679358 = (uVar11 | DAT_182679414) + DAT_182679360 + DAT_18267947c + 0x43bc1091; DAT_182679234 = DAT_182679414 * -0x2a070000 | DAT_182678f5c >> 0x10; DAT_182679290 = DAT_182679440 + DAT_1826793ec; uVar10 = DAT_1826794c4 & 3; if (uVar10 < 2) { DAT_18267932c = DAT_182679470; if (uVar10 == 0) { DAT_18267932c = DAT_1826794c4; } } else { DAT_18267932c = (DAT_182679334 & 0xff0000 | DAT_182679334 >> 0x10) >> 8 | (DAT_182679334 << 0x10 | DAT_182679334 & 0xff00) << 8; if (uVar10 < 3) { DAT_18267932c = DAT_182679510; } } DAT_1826793a4 = ((DAT_1826793d4 & 0xff0000 | DAT_1826793d4 >> 0x10) >> 8) << 0x10 | (DAT_1826793d4 * 0x10000 & 0xffffff | DAT_1826793d4 & 0xff00) >> 8; DAT_1826794fc = DAT_182679340 & DAT_182679288; DAT_182679294 = ~(local_4af8 * (DAT_18267947c & 0x5fb0d117 | 0xd2ac102b)); DAT_182679368 = DAT_182679580 - (DAT_1826794c0 << 0x10 | DAT_1826794c0 >> 0x10); DAT_182679354 = uVar5 * 0x10000 | uVar5 >> 0x10; DAT_1826793b8 = local_4b28 & DAT_182679394 * DAT_182678ef4; DAT_18267952c = DAT_18267942c | DAT_182679478; DAT_182679424 = DAT_182679394 - DAT_182678ef4; DAT_182679548 = (DAT_182679454 & 0xff0000 | DAT_182679454 >> 0x10) >> 8 | (DAT_182679454 << 0x10 | DAT_182679454 & 0xff00) << 8; DAT_182679348 = DAT_182679314 * 0x10000 | DAT_182679314 >> 0x10; DAT_1826793e8 = DAT_1826792d4 ^ DAT_182679450; DAT_1826792e8 = DAT_1826793b0 & DAT_182679448; DAT_182679384 = DAT_182679408 * DAT_1826793cc; DAT_182679280 = ~DAT_1826792ac; DAT_182679464 = DAT_18267934c * DAT_182679558; DAT_182679260 = DAT_18267956c - DAT_182679584; DAT_182679388 = DAT_182679528 ^ DAT_182679488; DAT_1826793fc = DAT_1826794b8 * DAT_182678f58; DAT_182679344 = DAT_182679428 | DAT_182679340; DAT_18267928c = DAT_182679420 * DAT_1826792c0; DAT_18267940c = DAT_182679554 + DAT_18267954c; DAT_182679474 = DAT_182679350 | DAT_182679484; DAT_182679324 = (DAT_1826793a0 & 0xff0000 | DAT_1826793a0 >> 0x10) >> 8 | (DAT_1826793a0 << 0x10 | DAT_1826793a0 & 0xff00) << 8; DAT_182678f54 = (uVar14 << 0x10 | (DAT_1826793f0 & 0xff0000) >> 8) << 8 | ((DAT_1826793f0 & 0xff00) << 8 | (DAT_1826793f0 * 0x10000 & 0xffffff) >> 8) >> 8; uVar10 = DAT_182679240 & 7; if (uVar10 < 4) { if (1 < uVar10) { DAT_1826793c8 = DAT_18267943c; if (uVar10 < 3) { DAT_1826793c8 = DAT_182679514; } goto LAB_1817231ea; } bVar22 = uVar10 == 0; uVar10 = DAT_182679240; DAT_1826793c8 = DAT_1826793f4; } else { if (uVar10 < 6) { DAT_1826793c8 = DAT_182679588; if (uVar10 < 5) { DAT_1826793c8 = DAT_1826794cc; } goto LAB_1817231ea; } bVar22 = uVar10 < 7; uVar10 = DAT_18267947c + 0x1feee721; DAT_1826793c8 = DAT_182679490; } if (bVar22) { DAT_1826793c8 = uVar10; } LAB_1817231ea: DAT_1826794b0 = DAT_182678f6c * DAT_18267931c; DAT_1826793c0 = DAT_1826792c8 << 0x10 | DAT_1826792c8 >> 0x10; DAT_182679364 = uVar20 << 0x10 | uVar3; DAT_182679438 = (DAT_1826794a4 & 0xff0000 | DAT_1826794a4 >> 0x10) >> 8 | (DAT_1826794a4 * 0x10000 | DAT_1826794a4 & 0xff00) << 8; DAT_1826792c4 = DAT_182679340 | DAT_182679500; DAT_182679574 = ~DAT_1826793e4; DAT_182679404 = DAT_1826794dc << 0x10 | DAT_1826794dc >> 0x10; DAT_1826792f8 = (DAT_18267947c + 0xd2ac102b) * 0x10000 | DAT_18267947c + 0xd2ac102b >> 0x10; DAT_182679570 = DAT_182679550 ^ DAT_182678f50; DAT_1826794c8 = DAT_182679274 * DAT_18267951c; DAT_1826792d8 = DAT_18267958c & DAT_182679370; DAT_182679378 = DAT_1826792ec * DAT_1826792f4; DAT_1826792b8 = DAT_1826794ac + DAT_182679504; DAT_18267941c = DAT_1826793d8 - DAT_18267947c; DAT_1826794ec = DAT_182679360 ^ DAT_182679500 + 0xe00413bf; DAT_182679338 = ~DAT_182679418; DAT_18267923c = (DAT_182679434 + DAT_182678f5c) * DAT_182679380; DAT_1826792dc = DAT_1826793f8 | DAT_182679568; DAT_182679400 = DAT_1826794f4 ^ DAT_182679304; DAT_18267957c = (DAT_182679534 & 0xff0000 | DAT_182679534 >> 0x10) >> 8 | (DAT_182679534 << 0x10 | DAT_182679534 & 0xff00) << 8; DAT_1826793bc = DAT_182679434 ^ DAT_182679308; DAT_182678f64 = ((uVar15 & 0xff00) << 8 | (uVar15 * 0x10000 & 0xffffff) >> 8) >> 8 | (uVar18 << 0x10 | (uVar15 & 0xff0000) >> 8) << 8; DAT_18267949c = DAT_182679358 * 0x10000 | DAT_182679358 >> 0x10; DAT_1826792d0 = uVar2 << 0x10 | DAT_18267947c & 0xffff; DAT_18267930c = DAT_182679440 | DAT_182679334; DAT_1826794e8 = DAT_182679544 - DAT_182679564; DAT_182679460 = DAT_182679478 * DAT_182679354; DAT_182679540 = DAT_182679290 ^ DAT_182678f5c; DAT_182679458 = DAT_1826793a4 * DAT_182679510; DAT_1826792b0 = DAT_182679340 - DAT_18267926c; DAT_182679254 = DAT_1826794d4 | DAT_182679278; DAT_1826794d8 = DAT_182679294 * DAT_18267944c; DAT_182679578 = DAT_1826793ec | DAT_182679518; DAT_182679328 = DAT_182679368 ^ DAT_1826794c4; DAT_1826794d0 = DAT_18267955c & DAT_1826793ac; DAT_182679310 = local_4b10 + -0x7fbfbc8a + DAT_18267932c; DAT_182678f60 = DAT_182679320 << 0x10 | DAT_182679320 >> 0x10; DAT_1826792e4 = DAT_1826794fc * DAT_1826792f0; DAT_1826794e0 = DAT_1826794c0 - DAT_182679340; DAT_182679154 = 0x138; DAT_1826793b4 = (DAT_182679394 & 0xff0000 | DAT_182679394 >> 0x10) >> 8 | ((DAT_18267947c + 0x4f5cf359) * 0x33300000 | DAT_182679394 & 0xff00) << 8; DAT_182679298 = DAT_1826793b8 - DAT_1826792e0; DAT_182679444 = DAT_182679580 & DAT_182679398; DAT_1826793c4 = DAT_182679258 * DAT_182679454; DAT_18267924c = ~DAT_18267942c; DAT_18267953c = DAT_1826793e8 - DAT_18267952c; DAT_1826792fc = DAT_182679330 + DAT_182678ef4; DAT_182679264 = DAT_1826792d4 * DAT_182679314; DAT_182679374 = DAT_182679424 * DAT_182679548; DAT_182678f68 = DAT_182679348 - DAT_1826794b4; DAT_1826794a8 = DAT_18267933c ^ DAT_1826793cc; DAT_182679410 = DAT_182679408 ^ DAT_1826793b0; DAT_18267929c = DAT_182679450 | DAT_182679448; local_48 = &local_49e8; local_50 = param_5; DAT_182679468 = &local_70; iVar4 = 0x79; DAT_1826792a8 = DAT_182678ef4; DAT_18267937c = DAT_182679244; DAT_182679390 = DAT_182679340; DAT_1826793e0 = DAT_182679340; DAT_182679430 = DAT_182678ef4; DAT_182679498 = DAT_182679428; DAT_1826794a0 = DAT_182679340; DAT_182679508 = DAT_18267947c; DAT_182679538 = DAT_182679238; DAT_182679560 = DAT_182679340; local_4b58 = DAT_1826794fc; local_4b54 = DAT_182679428; local_4b50 = DAT_182679484; local_4b4c = DAT_1826793a4; local_4b48 = DAT_182679354; local_4b44 = DAT_182679478; local_4b40 = DAT_182679548; local_4b3c = DAT_182679488; local_4b38 = DAT_182679334; local_4b34 = DAT_182679450; local_4b30 = DAT_182679320; local_4b2c = DAT_1826793e8; local_4b28 = DAT_1826793b8; local_4b24 = DAT_182679448; local_4b20 = DAT_182679580; local_4b1c = DAT_1826792ac; local_4b18 = DAT_1826794b8; local_4b14 = DAT_182679544; local_4b0c = DAT_182679454; local_4b08 = DAT_1826793cc; local_4b04 = DAT_182679408; local_4b00 = DAT_18267956c; local_4afc = DAT_182679368; local_4af8 = DAT_18267954c; local_4af4 = DAT_182679294; local_4af0 = DAT_182679420; local_4aec = DAT_182679434; local_4ae8 = DAT_182679268; local_4ae4 = DAT_18267943c; local_4ae0 = DAT_1826793b0; local_4adc = DAT_1826794c0; local_4ad8 = DAT_182679588; local_4ad4 = DAT_182679370; local_4ad0 = DAT_182679350; local_4acc = DAT_18267955c; local_4ac8 = DAT_182679490; local_4ac4 = DAT_182679528; local_4ac0 = DAT_182678f6c; local_4abc = DAT_1826794cc; local_4ab8 = DAT_182679584; local_4ab4 = DAT_1826793ec; local_4ab0 = DAT_1826793d4; local_4aac = DAT_1826792d4; local_4aa8 = DAT_1826794b4; local_4aa4 = DAT_182679440; local_4aa0 = DAT_1826793ac; local_4a9c = DAT_18267942c; local_4a98 = DAT_18267933c; local_4a94 = DAT_182679274; local_4a90 = DAT_1826792c0; local_4a8c = DAT_182679554; local_4a88 = DAT_1826793a0; local_4a84 = DAT_1826793f4; local_4a80 = DAT_1826794a4; local_4a7c = DAT_1826794dc; local_4a78 = DAT_182679550; local_4a74 = DAT_182679504; local_4a70 = DAT_182679304; local_4a6c = DAT_182679558; local_4a68 = DAT_18267934c; local_4a64 = DAT_18267944c; local_4a60 = DAT_182679234; local_4a5c = DAT_1826794ac; local_4a58 = DAT_182679568; local_4a54 = DAT_182679308; local_4a50 = DAT_18267951c; local_4a4c = DAT_18267926c; local_4a48 = DAT_1826794d4; local_4a44 = DAT_1826792f4; local_4a40 = DAT_182679240; local_4a3c = DAT_182679514; local_4a38 = DAT_1826792a0; local_4a34 = DAT_1826793e4; local_4a30 = DAT_182678f50; local_4a2c = DAT_18267958c; local_4a28 = DAT_1826792ec; local_4a24 = DAT_1826793d8; local_4a20 = DAT_182679380; local_4a1c = DAT_1826793f8; local_4a18 = DAT_1826794f4; local_4a14 = DAT_182679418; local_4a10 = DAT_182679534; local_4a0c = DAT_182679358; local_4a08 = DAT_182679290; local_4a04 = DAT_182679518; local_4a00 = DAT_1826792f0; local_49fc = DAT_1826792e0; local_49f8 = DAT_182679258; local_49f4 = DAT_18267952c; local_49f0 = DAT_182679424; local_49ec = DAT_182679348; local_49e0 = param_3; local_49d8 = param_4; local_49d0 = param_2; local_49c8 = param_1; local_70 = param_1; local_68 = param_2; local_60 = param_3; local_58 = param_4; do { iVar4 = (**(code **)(&DAT_182477b00 + (longlong)iVar4 * 8))(); } while (iVar4 != 0); DAT_182679468 = DAT_182679468 + 6; } ############ FUN_ 1805759d0 size=486 ############ void FUN_1805759d0(undefined8 *param_1) { undefined8 *puVar1; void *pvVar2; void *pvVar3; undefined8 *puVar4; *param_1 = pace::eden::thrift::pub::SetupDynamicCryptoWhiteboxOutput::vftable; puVar4 = (undefined8 *)param_1[0x6b]; if (puVar4 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[0x6c]; for (; puVar4 != puVar1; puVar4 = puVar4 + 0x118) { (**(code **)*puVar4)(puVar4,0); } pvVar2 = (void *)param_1[0x6b]; pvVar3 = pvVar2; if ((0xfff < (ulonglong)(((param_1[0x6d] - (longlong)pvVar2) / 0x8c0) * 0x8c0)) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } FUN_1805753e0(param_1 + 0xd); pvVar2 = (void *)param_1[10]; if (pvVar2 != (void *)0x0) { pvVar3 = pvVar2; if ((0xfff < (ulonglong)(param_1[0xc] - (longlong)pvVar2)) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } pvVar2 = (void *)param_1[7]; if (pvVar2 != (void *)0x0) { pvVar3 = pvVar2; if ((0xfff < (ulonglong)(param_1[9] - (longlong)pvVar2)) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } pvVar2 = (void *)param_1[4]; if (pvVar2 != (void *)0x0) { pvVar3 = pvVar2; if ((0xfff < (ulonglong)(param_1[6] - (longlong)pvVar2)) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } pvVar2 = (void *)param_1[1]; if (pvVar2 == (void *)0x0) { return; } pvVar3 = pvVar2; if ((0xfff < (ulonglong)(param_1[3] - (longlong)pvVar2)) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } ############ FUN_ 180575180 size=594 ############ undefined8 * FUN_180575180(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { *param_1 = pace::eden::thrift::pub::AuthChain::vftable; param_1[1] = 0; param_1[2] = 0; param_1[3] = 0; *(undefined2 *)(param_1 + 4) = 0; *(undefined4 *)((longlong)param_1 + 0x24) = 0; FUN_180487940(param_1 + 5,&DAT_18249336a,param_3,param_4,0xfffffffffffffffe); FUN_180487940(param_1 + 9,&DAT_18249336a); param_1[0xd] = 0; param_1[0xe] = 0xffffffffffffffff; FUN_180487940(param_1 + 0xf,&DAT_18249336a); *(undefined1 *)(param_1 + 0x13) = 0; *(undefined4 *)((longlong)param_1 + 0x9c) = 0; param_1[0x14] = pace::eden::thrift::pub::RemoteServerInfo::vftable; FUN_180487940(param_1 + 0x15,&DAT_18249336a); FUN_180487940(param_1 + 0x19,&DAT_18249336a); *(undefined4 *)(param_1 + 0x1d) = 0; param_1[0x1e] = 0; param_1[0x1f] = 0; param_1[0x20] = 0; param_1[0x21] = 0; FUN_180487940(param_1 + 0x22,&DAT_18249336a); FUN_180487940(param_1 + 0x26,&DAT_18249336a); FUN_180487940(param_1 + 0x2a,&DAT_18249336a); *(undefined4 *)(param_1 + 0x2e) = 0; FUN_180487940(param_1 + 0x2f,&DAT_18249336a); FUN_180487940(param_1 + 0x33,&DAT_18249336a); FUN_180487940(param_1 + 0x37,&DAT_18249336a); param_1[0x3b] = 0; param_1[0x3c] = 0; *(undefined1 *)(param_1 + 0x3d) = 0; *(undefined1 *)((longlong)param_1 + 500) = 0; param_1[0x3f] = 0; param_1[0x40] = 0; param_1[0x41] = 0; param_1[0x42] = 0; param_1[0x43] = pace::eden::thrift::pub::SharedLicenseInfo::vftable; param_1[0x44] = 0; FUN_180487940(param_1 + 0x45,&DAT_18249336a); FUN_180487940(param_1 + 0x49,&DAT_18249336a); *(undefined4 *)(param_1 + 0x4d) = 1; *(undefined8 *)((longlong)param_1 + 0x26c) = 1; *(undefined4 *)((longlong)param_1 + 0x274) = 0; param_1[0x4f] = 0; param_1[0x50] = 0; param_1[0x51] = 0; param_1[0x52] = 0; param_1[0x53] = 0; *(undefined2 *)(param_1 + 0x54) = 0; param_1[0x55] = 0; param_1[0x56] = 0; param_1[0x57] = 0; param_1[0x58] = 0; param_1[0x59] = 0; param_1[0x5a] = 0; param_1[0x5b] = 0; param_1[0x5c] = 0; *(undefined2 *)(param_1 + 0x5d) = 0; *(undefined1 *)((longlong)param_1 + 0x2ea) = 0; *(undefined4 *)(param_1 + 0x3e) = 0; return param_1; } ############ FUN_ 18141b5e0 size=564 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void .?AVSoothe2_DynamicCryptoManager@eden@pace@@::vtbl___AVSoothe2_DynamicCryptoManager_eden_pace__ (undefined8 param_1,undefined8 param_2,longlong param_3,int *param_4) { char cVar1; int iVar2; undefined8 ****ppppuVar3; void *_Memory; undefined1 auStack_118 [32]; undefined4 local_f8; undefined **local_e8; void *local_e0; undefined8 uStack_d8; longlong local_d0; undefined1 local_c8; undefined8 local_c0; undefined **local_b8; undefined4 local_b0; undefined8 ***local_a8 [2]; longlong local_98; ulonglong local_90; undefined8 ***local_88 [2]; longlong local_78; ulonglong local_70; undefined1 local_68 [32]; undefined4 local_48; ulonglong local_38; local_c0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_118; *param_4 = 0; local_e8 = pace::eden::thrift::pub::SetupDynamicCryptoWhiteboxInput::vftable; local_e0 = (void *)0x0; uStack_d8 = 0; local_d0 = 0; local_c8 = 0; FUN_180576470(&local_e0); FUN_181a04090(local_e0,param_2); local_b8 = pace::eden::thrift::pub::ErrorInfo::vftable; local_b0 = 0; FUN_180487940(local_a8,&DAT_18249336a); FUN_180487940(local_88,&DAT_18249336a); FUN_180487940(local_68,&DAT_18249336a); local_48 = 0; local_f8 = 0; cVar1 = FUN_1805c0340(0,&local_b8,0,2); if (cVar1 == '\0') { *param_4 = 4; } else { cVar1 = FUN_1805c4280(&DAT_1823602b0,&local_e8,param_3,&local_b8); if (cVar1 == '\0') { ppppuVar3 = local_88; if (0xf < local_70) { ppppuVar3 = (undefined8 ****)local_88[0]; } if ((local_78 == 0x16) && (iVar2 = memcmp(ppppuVar3,"AuthorizationException",0x16), iVar2 == 0)) { ppppuVar3 = local_a8; if (0xf < local_90) { ppppuVar3 = (undefined8 ****)local_a8[0]; } if ((local_98 == 0x26) && (iVar2 = memcmp(ppppuVar3,"DynamicCryptoHostBasedAuthsUnsupported",0x26), iVar2 == 0)) { *param_4 = 6; FUN_1805bd330(&local_b8); goto LAB_18141b7b9; } } *param_4 = 5; } else { if (*(longlong *)(param_3 + 0x10) - *(longlong *)(param_3 + 8) != 0x20) { *param_4 = 0xb; } if (*(longlong *)(param_3 + 0x28) - *(longlong *)(param_3 + 0x20) != 0x20) { *param_4 = 0xb; } if (*(longlong *)(param_3 + 0x40) - *(longlong *)(param_3 + 0x38) != 0x20) { *param_4 = 0xb; } if (*(longlong *)(param_3 + 0x58) - *(longlong *)(param_3 + 0x50) != 0x20) { *param_4 = 0xb; } if (*param_4 != 0) { FUN_1805bd330(&local_b8); goto LAB_18141b7b9; } } FUN_1805bd330(&local_b8); } LAB_18141b7b9: FUN_180575800(&local_b8); local_e8 = pace::eden::thrift::pub::SetupDynamicCryptoWhiteboxInput::vftable; if (local_e0 == (void *)0x0) { } _Memory = local_e0; if ((0xfff < (ulonglong)(local_d0 - (longlong)local_e0)) && (_Memory = *(void **)((longlong)local_e0 + -8), 0x1f < (ulonglong)((longlong)local_e0 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a01ad0 size=9263 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x000181a03195) */ /* WARNING: Removing unreachable block (ram,0x000181a0319b) */ /* WARNING: Removing unreachable block (ram,0x000181a031a0) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_181a01ad0(byte *param_1,byte *param_2,byte *param_3,byte *param_4,byte *param_5, undefined8 param_6) { uint uVar1; uint uVar2; uint uVar3; int iVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint uVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; uint uVar21; uint uVar22; uint uVar23; uint uVar24; uint uVar25; uint uVar26; uint uVar27; uint uVar28; uint uVar29; uint uVar30; uint uVar31; uint uVar32; uint uVar33; bool bVar34; undefined1 auStack_af38 [32]; uint local_af18; uint local_af14; uint local_af10; uint local_af0c; uint local_af08; uint local_af04; int local_af00; uint local_aefc; uint local_aef8; uint local_aef4; uint local_aef0; uint local_aeec; uint local_aee8; uint local_aee4; uint local_aee0; uint local_aedc; uint local_aed8; uint local_aed4; uint local_aed0; uint local_aecc; uint local_aec8; uint local_aec4; uint local_aec0; uint local_aebc; uint local_aeb8; int local_aeb4; uint local_aeb0; uint local_aeac; uint local_aea8; uint local_aea4; int local_aea0; uint local_ae9c; int local_ae98; uint local_ae94; uint local_ae90; uint local_ae8c; uint local_ae88; uint local_ae84; uint local_ae80; uint local_ae7c; uint local_ae78; uint local_ae74; uint local_ae70; uint local_ae6c; uint local_ae68; uint local_ae64; uint local_ae60; uint local_ae5c; uint local_ae58; uint local_ae54; uint local_ae50; uint local_ae4c; uint local_ae48; uint local_ae44; uint local_ae40; int local_ae3c; uint local_ae38; int local_ae34; uint local_ae30; uint local_ae2c; uint local_ae28; uint local_ae24; uint local_ae20; uint local_ae1c; uint local_ae18; uint local_ae14; uint local_ae10; uint local_ae0c; uint local_ae08; uint local_ae04; uint local_ae00; uint local_adfc; uint local_adf8; uint local_adf4; uint local_adf0; uint local_adec; uint local_ade8; uint local_ade4; uint local_ade0; uint local_addc; uint local_add8; uint local_add4; uint local_add0; uint local_adcc; uint local_adc8; uint local_adc4; uint local_adc0; uint local_adbc; uint local_adb8; uint local_adb4; uint local_adb0; uint local_adac; uint local_ada8; uint local_ada4; uint local_ada0; uint local_ad9c; uint local_ad98; uint local_ad90 [2]; byte *local_ad88; byte *local_ad80; byte *local_ad78; byte *local_ad70; undefined1 local_ad68 [44272]; byte *local_78; byte *local_70; byte *local_68; byte *local_60; byte *local_58; undefined8 local_50; uint *local_48; ulonglong local_38; undefined8 uStack_30; uStack_30 = 0x181a01af2; local_38 = DAT_182615970 ^ (ulonglong)auStack_af38; DAT_18267a8c8 = 0x811c9dc5; if (DAT_18267a9fc == 0) { DAT_18267a9fc = 1; _DAT_182632368 = &DAT_18262e940 + (longlong)_DAT_182632368; _DAT_182632370 = &DAT_18262e940 + (longlong)_DAT_182632370; _DAT_182632b78 = &DAT_18262e940 + (longlong)_DAT_182632b78; _DAT_182632b80 = &DAT_18262e940 + (longlong)_DAT_182632b80; _DAT_182633588 = &DAT_18262e940 + (longlong)_DAT_182633588; _DAT_182633590 = &DAT_18262e940 + (longlong)_DAT_182633590; _DAT_182633598 = &DAT_18262e940 + (longlong)_DAT_182633598; _DAT_1826339a0 = &DAT_18262e940 + (longlong)_DAT_1826339a0; _DAT_1826339a8 = &DAT_18262e940 + (longlong)_DAT_1826339a8; _DAT_182633db0 = &DAT_18262e940 + (longlong)_DAT_182633db0; } DAT_18267a9b0 = 0; _DAT_18267aa20 = local_ad68; if (param_1 != (byte *)0x0) { DAT_18267a8c8 = ((((((((((((((((((((((((((((((((*param_1 ^ 0x811c9dc5) * 0x1000193 ^ (uint)param_1[1]) * 0x1000193 ^ (uint)param_1[2]) * 0x1000193 ^ (uint)param_1[3]) * 0x1000193 ^ (uint)param_1[4]) * 0x1000193 ^ (uint)param_1[5]) * 0x1000193 ^ (uint)param_1[6]) * 0x1000193 ^ (uint)param_1[7]) * 0x1000193 ^ (uint)param_1[8]) * 0x1000193 ^ (uint)param_1[9]) * 0x1000193 ^ (uint)param_1[10]) * 0x1000193 ^ (uint)param_1[0xb]) * 0x1000193 ^ (uint)param_1[0xc]) * 0x1000193 ^ (uint)param_1[0xd]) * 0x1000193 ^ (uint)param_1[0xe]) * 0x1000193 ^ (uint)param_1[0xf]) * 0x1000193 ^ (uint)param_1[0x10]) * 0x1000193 ^ (uint)param_1[0x11]) * 0x1000193 ^ (uint)param_1[0x12]) * 0x1000193 ^ (uint)param_1[0x13]) * 0x1000193 ^ (uint)param_1[0x14]) * 0x1000193 ^ (uint)param_1[0x15]) * 0x1000193 ^ (uint)param_1[0x16]) * 0x1000193 ^ (uint)param_1[0x17]) * 0x1000193 ^ (uint)param_1[0x18]) * 0x1000193 ^ (uint)param_1[0x19]) * 0x1000193 ^ (uint)param_1[0x1a]) * 0x1000193 ^ (uint)param_1[0x1b]) * 0x1000193 ^ (uint)param_1[0x1c]) * 0x1000193 ^ (uint)param_1[0x1d]) * 0x1000193 ^ (uint)param_1[0x1e]) * 0x1000193 ^ (uint)param_1[0x1f]) * 0x1000193; } if (param_2 != (byte *)0x0) { DAT_18267a8c8 = ((((((((((((((((((((((((((((((((DAT_18267a8c8 ^ *param_2) * 0x1000193 ^ (uint)param_2[1]) * 0x1000193 ^ (uint)param_2[2]) * 0x1000193 ^ (uint)param_2[3]) * 0x1000193 ^ (uint)param_2[4]) * 0x1000193 ^ (uint)param_2[5]) * 0x1000193 ^ (uint)param_2[6]) * 0x1000193 ^ (uint)param_2[7]) * 0x1000193 ^ (uint)param_2[8]) * 0x1000193 ^ (uint)param_2[9]) * 0x1000193 ^ (uint)param_2[10]) * 0x1000193 ^ (uint)param_2[0xb]) * 0x1000193 ^ (uint)param_2[0xc]) * 0x1000193 ^ (uint)param_2[0xd]) * 0x1000193 ^ (uint)param_2[0xe]) * 0x1000193 ^ (uint)param_2[0xf]) * 0x1000193 ^ (uint)param_2[0x10]) * 0x1000193 ^ (uint)param_2[0x11]) * 0x1000193 ^ (uint)param_2[0x12]) * 0x1000193 ^ (uint)param_2[0x13]) * 0x1000193 ^ (uint)param_2[0x14]) * 0x1000193 ^ (uint)param_2[0x15]) * 0x1000193 ^ (uint)param_2[0x16]) * 0x1000193 ^ (uint)param_2[0x17]) * 0x1000193 ^ (uint)param_2[0x18]) * 0x1000193 ^ (uint)param_2[0x19]) * 0x1000193 ^ (uint)param_2[0x1a]) * 0x1000193 ^ (uint)param_2[0x1b]) * 0x1000193 ^ (uint)param_2[0x1c]) * 0x1000193 ^ (uint)param_2[0x1d]) * 0x1000193 ^ (uint)param_2[0x1e]) * 0x1000193 ^ (uint)param_2[0x1f]) * 0x1000193; } if (param_3 != (byte *)0x0) { DAT_18267a8c8 = ((((((((((((((((((((((((((((((((DAT_18267a8c8 ^ *param_3) * 0x1000193 ^ (uint)param_3[1]) * 0x1000193 ^ (uint)param_3[2]) * 0x1000193 ^ (uint)param_3[3]) * 0x1000193 ^ (uint)param_3[4]) * 0x1000193 ^ (uint)param_3[5]) * 0x1000193 ^ (uint)param_3[6]) * 0x1000193 ^ (uint)param_3[7]) * 0x1000193 ^ (uint)param_3[8]) * 0x1000193 ^ (uint)param_3[9]) * 0x1000193 ^ (uint)param_3[10]) * 0x1000193 ^ (uint)param_3[0xb]) * 0x1000193 ^ (uint)param_3[0xc]) * 0x1000193 ^ (uint)param_3[0xd]) * 0x1000193 ^ (uint)param_3[0xe]) * 0x1000193 ^ (uint)param_3[0xf]) * 0x1000193 ^ (uint)param_3[0x10]) * 0x1000193 ^ (uint)param_3[0x11]) * 0x1000193 ^ (uint)param_3[0x12]) * 0x1000193 ^ (uint)param_3[0x13]) * 0x1000193 ^ (uint)param_3[0x14]) * 0x1000193 ^ (uint)param_3[0x15]) * 0x1000193 ^ (uint)param_3[0x16]) * 0x1000193 ^ (uint)param_3[0x17]) * 0x1000193 ^ (uint)param_3[0x18]) * 0x1000193 ^ (uint)param_3[0x19]) * 0x1000193 ^ (uint)param_3[0x1a]) * 0x1000193 ^ (uint)param_3[0x1b]) * 0x1000193 ^ (uint)param_3[0x1c]) * 0x1000193 ^ (uint)param_3[0x1d]) * 0x1000193 ^ (uint)param_3[0x1e]) * 0x1000193 ^ (uint)param_3[0x1f]) * 0x1000193; } if (param_4 != (byte *)0x0) { DAT_18267a8c8 = ((((((((((((((((((((((((((((((((DAT_18267a8c8 ^ *param_4) * 0x1000193 ^ (uint)param_4[1]) * 0x1000193 ^ (uint)param_4[2]) * 0x1000193 ^ (uint)param_4[3]) * 0x1000193 ^ (uint)param_4[4]) * 0x1000193 ^ (uint)param_4[5]) * 0x1000193 ^ (uint)param_4[6]) * 0x1000193 ^ (uint)param_4[7]) * 0x1000193 ^ (uint)param_4[8]) * 0x1000193 ^ (uint)param_4[9]) * 0x1000193 ^ (uint)param_4[10]) * 0x1000193 ^ (uint)param_4[0xb]) * 0x1000193 ^ (uint)param_4[0xc]) * 0x1000193 ^ (uint)param_4[0xd]) * 0x1000193 ^ (uint)param_4[0xe]) * 0x1000193 ^ (uint)param_4[0xf]) * 0x1000193 ^ (uint)param_4[0x10]) * 0x1000193 ^ (uint)param_4[0x11]) * 0x1000193 ^ (uint)param_4[0x12]) * 0x1000193 ^ (uint)param_4[0x13]) * 0x1000193 ^ (uint)param_4[0x14]) * 0x1000193 ^ (uint)param_4[0x15]) * 0x1000193 ^ (uint)param_4[0x16]) * 0x1000193 ^ (uint)param_4[0x17]) * 0x1000193 ^ (uint)param_4[0x18]) * 0x1000193 ^ (uint)param_4[0x19]) * 0x1000193 ^ (uint)param_4[0x1a]) * 0x1000193 ^ (uint)param_4[0x1b]) * 0x1000193 ^ (uint)param_4[0x1c]) * 0x1000193 ^ (uint)param_4[0x1d]) * 0x1000193 ^ (uint)param_4[0x1e]) * 0x1000193 ^ (uint)param_4[0x1f]) * 0x1000193; } if (param_5 != (byte *)0x0) { DAT_18267a8c8 = ((((((((((((((((((((((((((((((((DAT_18267a8c8 ^ *param_5) * 0x1000193 ^ (uint)param_5[1]) * 0x1000193 ^ (uint)param_5[2]) * 0x1000193 ^ (uint)param_5[3]) * 0x1000193 ^ (uint)param_5[4]) * 0x1000193 ^ (uint)param_5[5]) * 0x1000193 ^ (uint)param_5[6]) * 0x1000193 ^ (uint)param_5[7]) * 0x1000193 ^ (uint)param_5[8]) * 0x1000193 ^ (uint)param_5[9]) * 0x1000193 ^ (uint)param_5[10]) * 0x1000193 ^ (uint)param_5[0xb]) * 0x1000193 ^ (uint)param_5[0xc]) * 0x1000193 ^ (uint)param_5[0xd]) * 0x1000193 ^ (uint)param_5[0xe]) * 0x1000193 ^ (uint)param_5[0xf]) * 0x1000193 ^ (uint)param_5[0x10]) * 0x1000193 ^ (uint)param_5[0x11]) * 0x1000193 ^ (uint)param_5[0x12]) * 0x1000193 ^ (uint)param_5[0x13]) * 0x1000193 ^ (uint)param_5[0x14]) * 0x1000193 ^ (uint)param_5[0x15]) * 0x1000193 ^ (uint)param_5[0x16]) * 0x1000193 ^ (uint)param_5[0x17]) * 0x1000193 ^ (uint)param_5[0x18]) * 0x1000193 ^ (uint)param_5[0x19]) * 0x1000193 ^ (uint)param_5[0x1a]) * 0x1000193 ^ (uint)param_5[0x1b]) * 0x1000193 ^ (uint)param_5[0x1c]) * 0x1000193 ^ (uint)param_5[0x1d]) * 0x1000193 ^ (uint)param_5[0x1e]) * 0x1000193 ^ (uint)param_5[0x1f]) * 0x1000193; } DAT_18267a728 = DAT_18267a8c8 * 0x7a0dcc15; iVar4 = DAT_18267a8c8 + 0xba27285; DAT_18267a7ac = DAT_18267a8c8 * -0x69cf18cb; uVar32 = DAT_18267a8c8 ^ 0x5237b5b9; DAT_18267a870 = DAT_18267a8c8 & 0x7ada6b0c; DAT_18267a70c = 0x3525ba9e; uVar28 = DAT_18267a8c8 & 3; DAT_18267a7a8 = 0x84687d90; DAT_18267a94c = 0x1717acec; DAT_18267a988 = 0xabed066d; DAT_18267a7fc = 0x793ea425; DAT_18267a99c = 0x1e459a7d; DAT_18267a75c = 0xa1eef78e; DAT_18267a974 = 0xb318946; DAT_18267a790 = 0x4e5c31a8; DAT_18267a838 = 0x5136869a; DAT_18267a8ec = 0x84e80b9a; DAT_18267a924 = 0x4607a69f; DAT_18267a7ec = 0xa45026d; DAT_18267a91c = 0x6e0d1adf; DAT_18267a714 = 0xd26a8fc0; DAT_18267a860 = 0xe8e85313; DAT_18267a910 = 0x4e42b5b0; DAT_18267a734 = 0xd5fe8f9a; DAT_18267a6d8 = 0xc19f290f; DAT_18267a6ec = 0x6d06edab; if (uVar28 < 2) { uVar26 = 0x23de18ad; if (uVar28 == 0) { uVar26 = DAT_18267a8c8; } } else { uVar26 = 0xfb2322cc; if (uVar28 < 3) { uVar26 = 0x10a83609; } } uVar31 = DAT_18267a8c8 ^ 0x5ccfa92; uVar5 = DAT_18267a8c8 & 7; if (uVar5 < 4) { if (uVar5 < 2) { uVar27 = 0xcddee17; if (uVar5 == 0) { uVar27 = DAT_18267a8c8; } goto LAB_181a025b6; } uVar6 = 0x75559ca6; uVar27 = 0x1b1457bc; bVar34 = uVar5 < 3; } else if (uVar5 < 6) { uVar6 = 0xcf8b269; uVar27 = 0x99c8e52a; bVar34 = uVar5 < 5; } else { uVar6 = 0xfcbaf1c9; uVar27 = 0xbcb54562; bVar34 = uVar5 < 7; } if (bVar34) { uVar27 = uVar6; } LAB_181a025b6: uVar6 = uVar32 | 0xf2cd9918; DAT_18267a8b0 = DAT_18267a8c8 & 0x371e17a7; DAT_18267a834 = DAT_18267a728 + 0xfe3dc632; uVar5 = DAT_18267a7ac + 0xae1c29e6; if (uVar28 < 2) { _DAT_18267a8e0 = 0xcdf8d345; if (uVar28 == 0) { _DAT_18267a8e0 = DAT_18267a8c8; } } else { _DAT_18267a8e0 = 0x66ed99a; if (uVar28 < 3) { _DAT_18267a8e0 = 0x8660403a; } } uVar7 = DAT_18267a8c8 | 0xb9fc49dc; DAT_18267a85c = (uVar31 & 0xff0000 | uVar31 >> 0x10) >> 8 | (uVar31 << 0x10 | uVar31 & 0xff00) << 8; bVar34 = (DAT_18267a8c8 & 1) == 0; uVar21 = 0x72a9f579; if (bVar34) { uVar21 = DAT_18267a8c8; } DAT_18267a7e8 = 0x1fac68b0; if (bVar34) { DAT_18267a7e8 = DAT_18267a8c8; } DAT_18267a934 = uVar32 << 0x10 | uVar32 >> 0x10; _DAT_18267a1b8 = uVar27 & 0xe4bfd7c8 ^ 0x466f83ce; uVar8 = DAT_18267a8c8 + 0xba27285 | 0x50dde43e; uVar9 = DAT_18267a8c8 | 0x407e43d; uVar23 = DAT_18267a8c8 >> 0x10; _DAT_18267a7b8 = DAT_18267a8c8 << 0x10 | uVar23; local_aec0 = iVar4 * 0x282f81f6; DAT_18267a86c = DAT_18267a8c8 + 0x11fdb1c; uVar10 = DAT_18267a8c8 * -0x18cb0000 | DAT_18267a7ac >> 0x10; uVar11 = DAT_18267a8c8 * -0x5ea8279c & 0x1a53686d; uVar33 = (DAT_18267a728 & 0xff0000 | DAT_18267a728 >> 0x10) >> 8 | (DAT_18267a8c8 * -0x33eb0000 | DAT_18267a728 & 0xff00) << 8; uVar12 = DAT_18267a8c8 + 0xd15ff30 & 0xbbf70949; local_ae8c = uVar26 + 0xd4ac7d59; uVar22 = DAT_18267a8c8 & 0xff00; uVar13 = DAT_18267a8c8 << 0x10; uVar30 = (DAT_18267a8c8 & 0xff0000 | DAT_18267a8c8 >> 0x10) >> 8; DAT_18267a730 = uVar30 | (uVar22 | uVar13) << 8; uVar3 = uVar5 >> 0x10; DAT_18267a810 = uVar5 * 0x10000 | uVar3; local_ae78 = uVar6 ^ 0xaea29bb6; DAT_18267a904 = ~DAT_18267a85c; uVar14 = uVar26 ^ 0x1a35a1d6; DAT_18267a768 = uVar21 + 0x6bccb83c; uVar1 = uVar31 + 0x63c5bd88; DAT_18267a88c = uVar6 * 0x61527eac; DAT_18267a944 = uVar32 * 0x67fd2509; DAT_18267a9d8 = _DAT_18267a7b8 & 0x93d5e70; DAT_18267a700 = DAT_18267a7e8 << 0x10 | DAT_18267a7e8 >> 0x10; DAT_18267a9dc = 0x9f298329; uVar29 = uVar32 >> 0x10 & 7; if (uVar29 < 4) { if (uVar29 < 2) { DAT_18267a9dc = 0x53ded8c; bVar34 = uVar29 == 0; uVar25 = DAT_18267a934; } else { uVar25 = 0x16b6abca; bVar34 = uVar29 < 3; } } else if (uVar29 < 6) { uVar25 = 0xac80d47e; DAT_18267a9dc = 0x65b08d13; bVar34 = uVar29 < 5; } else { uVar25 = 0x3e9691f6; DAT_18267a9dc = 0xbbdb4ba3; bVar34 = uVar29 < 7; } if (bVar34) { DAT_18267a9dc = uVar25; } DAT_18267a748 = (DAT_18267a870 + 0xf65a1d93) * 0x10000 | DAT_18267a870 + 0xf65a1d93 >> 0x10; uVar29 = (DAT_18267a8c8 & 0x2632dc4e) + 0x6caa4f19; DAT_18267a93c = uVar8 ^ 0xb623a566; uVar25 = 0x1b66954d; if ((DAT_18267a8c8 + 0xba27285 & 1) == 0) { uVar25 = DAT_18267a8c8 + 0xba27285; } DAT_18267a74c = DAT_18267a728 + 0x59fc99a5 | 0x3ea57027; DAT_18267a8bc = DAT_18267a834 * 0x10000 | DAT_18267a834 >> 0x10; _DAT_18267a1b0 = uVar9 ^ 0xa1f36a5a; DAT_18267a7d4 = DAT_18267a870 * -0x41e5dc07; _DAT_18267a7b8 = ~_DAT_18267a7b8; local_ae34 = iVar4 * -0x3aaad06 + -0x3b8c6383; DAT_18267a95c = (DAT_18267a870 + 0x62e7661d) * -0x69cf18cb; DAT_18267a6d0 = uVar26 + 0x27ee9cb5; uVar15 = uVar12 << 0x10 | uVar12 >> 0x10; DAT_18267a6f4 = (_DAT_18267a8e0 | 0x7359f9ee) + 0x9eec1b4d; DAT_18267a880 = DAT_18267a730 ^ 0xbcb54562; uVar2 = DAT_18267a8c8 + 0x10c0ac36; DAT_18267a6e0 = DAT_18267a730 * -0x66371ad6; _DAT_18267a8a8 = DAT_18267a904 * -0x755ab491; DAT_18267a6e4 = DAT_18267a810 + 0xfcbaf1c9; DAT_18267a19c = ~DAT_18267a8c8; DAT_18267a7a0 = uVar6 + 0xe0539750; if (uVar28 < 2) { uVar16 = 0xb9fc49dc; if (uVar28 == 0) { uVar16 = DAT_18267a8c8; } } else { uVar16 = 0xdf63eb15; if (uVar28 < 3) { uVar16 = 0x66ed99a; } } _DAT_18267a80c = local_ae78 + 0x5975e8be; _DAT_18267a7f0 = uVar23 << 0x10 | DAT_18267a8c8 & 0xffff; DAT_18267aa28 = (DAT_18267a8c8 << 0x10 & 0xff0000 | DAT_18267a8c8 & 0xffff) >> 8 | (uVar23 << 0x10 | uVar23 & 0xff00) << 8; uVar23 = (uVar21 & 0xff0000 | uVar21 >> 0x10) >> 8; DAT_18267a7d8 = uVar23 | (uVar21 << 0x10 | uVar21 & 0xff00) << 8; DAT_18267a9c0 = _DAT_18267a1b8 + 0x775b7dda | DAT_18267a8c8; DAT_18267a6e8 = DAT_18267a7e8 + (DAT_18267a8b0 ^ 0xdd8fcf04); DAT_18267a938 = uVar8 ^ 0x6bac6a62; if (uVar28 < 2) { DAT_18267a808 = 0x9355b0e7; if (uVar28 == 0) { DAT_18267a808 = DAT_18267a8c8; } } else { DAT_18267a808 = DAT_18267a9dc; if (uVar28 < 3) { DAT_18267a808 = 0x9f298329; } } DAT_18267a89c = uVar25 - ((DAT_18267a8c8 | 0xa6ea8ecd) & 0xb759e296); _DAT_18267a774 = uVar29 & DAT_18267a8c8 + 0xba27285; DAT_18267a8e8 = _DAT_18267a7b8 ^ (DAT_18267a8c8 | 0xa6ea8ecd); _DAT_18267a8c4 = ~(DAT_18267a728 + 0x59fc99a5); uVar17 = DAT_18267a8c8 * 0x31948a28 ^ DAT_18267a8c8; DAT_18267a828 = DAT_18267a8bc ^ DAT_18267a870; DAT_18267a8b8 = uVar10 ^ 0x6bdfbc76 | DAT_18267a7d4; _DAT_18267a720 = (DAT_18267a870 + 0x51afba62 | 0x59fe9c73) * DAT_18267a8c8 * -0x5ea8279c; local_aee8 = uVar33 | DAT_18267a728; uVar10 = uVar10 + local_aec0; DAT_18267a9ac = (DAT_18267a8c8 + 0x11fdb1c) - uVar7; DAT_18267a7b0 = uVar15 | uVar33; DAT_18267a850 = (DAT_18267a880 & 0xff0000 | DAT_18267a880 >> 0x10) >> 8 | (DAT_18267a880 << 0x10 | DAT_18267a880 & 0xff00) << 8; DAT_18267a854 = (DAT_18267a8c8 + 0xe0c8fbcf | 0x1b1457bc) ^ (DAT_18267a8c8 | 0xbffc4dfe); uVar28 = uVar5 * -0x51e3d61a >> 0x10; _DAT_18267a7bc = ~_DAT_18267a8a8; _DAT_18267a8a0 = (uVar22 << 8 | (uVar13 & 0xffffff) >> 8) >> 8 | (uVar30 << 0x10 | (DAT_18267a8c8 & 0xff0000) >> 8) << 8; uVar18 = uVar3 & 7; if (uVar18 < 4) { if (uVar18 < 2) { uVar24 = uVar26 ^ 0xa03143db; if (uVar18 == 0) { uVar24 = DAT_18267a810; } } else { uVar24 = uVar16; if (uVar18 < 3) { uVar24 = uVar14; } } } else if (uVar18 < 6) { uVar24 = uVar6; if (uVar18 < 5) { uVar24 = uVar7 ^ 0xc8b200ca; } } else { uVar24 = DAT_18267a7a0; if (uVar18 < 7) { uVar24 = DAT_18267a810 + 0xfcbaf1c9; } } uVar18 = DAT_18267a19c << 0x10 | DAT_18267a19c >> 0x10; uVar19 = DAT_18267a730 | uVar1; DAT_18267a92c = (uVar27 & 0xff0000 | uVar27 >> 0x10) >> 8 | (uVar27 << 0x10 | uVar27 & 0xff00) << 8; uVar20 = uVar21 & 7; if (uVar20 < 4) { if (uVar20 < 2) { DAT_18267a9cc = DAT_18267a7d8; if (uVar20 == 0) { DAT_18267a9cc = uVar21; } } else { DAT_18267a9cc = (DAT_18267a8c8 & 0x2632dc4e | 0xb0ff575f) * -0x23b88cce; if (uVar20 < 3) { DAT_18267a9cc = DAT_18267aa28; } } } else if (uVar20 < 6) { DAT_18267a9cc = DAT_18267a8c8 ^ 0x465ff4c7; if (uVar20 < 5) { DAT_18267a9cc = DAT_18267a700 | 0xaea29bb6; } } else { DAT_18267a9cc = _DAT_18267a7f0; if (uVar20 < 7) { DAT_18267a9cc = DAT_18267a8b0; } } DAT_18267a704 = uVar25 & DAT_18267a768; DAT_18267a750 = DAT_18267a93c & _DAT_18267a1b8; DAT_18267a990 = DAT_18267a938 * DAT_18267a748; DAT_18267a9e0 = DAT_18267a6e8 & DAT_18267a834 ^ 0xb5bd9660; DAT_18267a940 = _DAT_18267a1b0 + _DAT_18267a7b8; DAT_18267a778 = uVar17 - uVar29; DAT_18267a6dc = (local_aec0 & 0xff0000 | local_aec0 >> 0x10) >> 8 | (iVar4 * -0x7e0a0000 | local_aec0 & 0xff00) << 8 | DAT_18267a95c; DAT_18267a968 = DAT_18267a8c8 * 0x31948a28 - (uVar33 + 0x6453870b); DAT_18267a980 = _DAT_18267a720 - (DAT_18267a8c8 + 0x11fdb1c | 0xf45d8d7b); DAT_18267a9a4 = local_aec0 + local_aee8; DAT_18267a6d4 = (uVar30 << 0x10 | (uVar22 | uVar13 & 0xffffff) >> 8) & DAT_18267a9ac; DAT_18267a72c = DAT_18267a6f4 * uVar26 & DAT_18267a8c8; DAT_18267aa1c = uVar10 - uVar7; DAT_18267a978 = DAT_18267a6f4 ^ local_ae8c; DAT_18267a9d0 = uVar15 | uVar26 + 0x9abaf7d0; DAT_18267a710 = uVar26 + 0x27ee9cb5 | DAT_18267a730; DAT_18267a970 = ~DAT_18267a854; _DAT_18267a758 = (DAT_18267a730 ^ DAT_18267a8c8) & DAT_18267a730; uVar29 = _DAT_18267a7bc ^ uVar12 + uVar11; DAT_18267a858 = (uVar5 * 0x29e60000 & 0xff0000 | uVar5 * 0x29e60000 >> 0x10) >> 8 | (uVar28 << 0x10 | uVar28 & 0xff00) << 8; DAT_18267a760 = _DAT_18267a8a0 ^ uVar7 ^ 0xc8b200ca; DAT_18267a950 = (local_ae78 + 0x5975e8be) * uVar16; DAT_18267a6f0 = DAT_18267a19c & DAT_18267a6e0; DAT_18267a820 = uVar14 + uVar27; DAT_18267aa0c = DAT_18267a730 ^ DAT_18267a7a0; DAT_18267a898 = DAT_18267a9cc * DAT_18267a8b0; DAT_18267a9bc = ~DAT_18267a6e4; DAT_18267a81c = DAT_18267a944 ^ ((uVar1 ^ 0x1137abbb) << 0x10 | (uVar1 ^ 0x1137abbb) >> 0x10); DAT_18267a6c8 = DAT_18267a88c + DAT_18267a7d8; DAT_18267a77c = ~DAT_18267a7e8; DAT_18267a984 = uVar18 | uVar24; DAT_18267aa04 = (uVar19 & 0xff0000 | uVar19 >> 0x10) >> 8 | (uVar19 << 0x10 | uVar19 & 0xff00) << 8; DAT_18267a9f8 = ~DAT_18267aa28; _DAT_18267aa10 = (uVar31 + 0xcfbaa229) * DAT_18267a8c8; if ((DAT_18267a8c8 & 1) == 0) { _DAT_18267aa10 = _DAT_18267a7f0; } DAT_18267a78c = DAT_18267a990 - DAT_18267a9c0; DAT_18267a8b4 = ((DAT_18267a7e8 >> 0x10) << 0x10 | DAT_18267a7e8 & 0xffff) + DAT_18267a700; DAT_18267a98c = DAT_18267a934 * uVar32; DAT_18267a958 = DAT_18267a808 * uVar8; DAT_18267a76c = DAT_18267a768 * 0x10000 | DAT_18267a768 >> 0x10; _DAT_18267a804 = DAT_18267a74c ^ DAT_18267a748; DAT_18267a874 = uVar9; if ((DAT_18267a93c & 1) == 0) { DAT_18267a874 = DAT_18267a93c; } DAT_18267a198 = ~DAT_18267a9e0; DAT_18267aa14 = uVar9 + DAT_18267a8c8 + 0xba27285 & DAT_18267a89c; DAT_18267a868 = _DAT_18267a8c4 ^ DAT_18267a8bc; _DAT_18267a7b8 = DAT_18267a8e8 - _DAT_18267a7b8; DAT_18267a8d4 = ~DAT_18267a8b8; DAT_18267a894 = DAT_18267a940 - uVar17; DAT_18267a788 = DAT_18267a8c8 + 0x11fdb1c | DAT_18267a870; DAT_18267a794 = ~DAT_18267a6dc; DAT_18267a890 = DAT_18267a7d4 + local_ae34; DAT_18267a848 = (local_aee8 + local_aec0) - DAT_18267a8c8; DAT_18267a764 = DAT_18267a95c & DAT_18267a980; DAT_18267a7dc = DAT_18267a880 ^ DAT_18267a728; DAT_18267a770 = ~DAT_18267a978; DAT_18267a884 = uVar10 & local_ae8c; _DAT_18267a9b8 = DAT_18267a730 * DAT_18267a8c8; DAT_18267a9e4 = DAT_18267a72c + DAT_18267aa1c; uVar31 = (DAT_18267a854 & 0xff0000 | DAT_18267a854 >> 0x10) >> 8; DAT_18267aa08 = uVar31 | (DAT_18267a854 << 0x10 | DAT_18267a854 & 0xff00) << 8; DAT_18267a84c = _DAT_18267a8a8 & _DAT_18267a758; uVar28 = uVar29 >> 0x10; DAT_18267a1a4 = uVar29 << 0x10 | uVar28; DAT_18267a954 = DAT_18267a7a0 | DAT_18267aa0c; DAT_18267a708 = (uVar2 & 0xff0000 | uVar2 >> 0x10) >> 8 | (uVar2 * 0x10000 | uVar2 & 0xff00) << 8; DAT_18267a7b4 = DAT_18267a898 * DAT_18267a81c; _DAT_18267a7c8 = _DAT_18267a8a0 + local_ae78 + 0x5975e8be; DAT_18267a82c = uVar14 & 0xffff | ((uVar14 >> 0x18) << 0x10 | (uVar14 & 0xff0000) >> 8) << 8 | DAT_18267a858; DAT_18267a818 = (uVar2 | uVar11) - DAT_18267a85c; _DAT_18267a73c = DAT_18267a760 - DAT_18267a904; _DAT_18267a724 = _DAT_18267a7bc << 0x10 | _DAT_18267a7bc >> 0x10; DAT_18267a71c = uVar1 - uVar18; DAT_18267a7c4 = DAT_18267a92c ^ DAT_18267a7ac; DAT_18267a744 = DAT_18267a19c & DAT_18267a6e4; DAT_18267a930 = uVar24 * DAT_18267a19c; DAT_18267a9ec = DAT_18267a730 + uVar32 * -0x67fd2509; DAT_18267a7e4 = ~DAT_18267a6e0; _DAT_18267a994 = DAT_18267a9cc ^ DAT_18267aa04; _DAT_18267a964 = uVar23 << 0x10 | (uVar21 << 0x10 & 0xffffff | uVar21 & 0xff00) >> 8; DAT_18267aa00 = DAT_18267a8b0 + _DAT_18267aa10; DAT_18267a914 = DAT_18267a6c8 * DAT_18267a9d8; DAT_18267a8dc = DAT_18267a98c ^ DAT_18267a934; DAT_18267a8e4 = (DAT_18267a88c & 0xff0000 | DAT_18267a88c >> 0x10) >> 8 | (uVar6 * 0x7eac0000 | DAT_18267a88c & 0xff00) << 8; DAT_18267a998 = DAT_18267a76c & DAT_18267a834; DAT_18267a7cc = DAT_18267aa28 | DAT_18267a8b4; DAT_18267a7f8 = DAT_18267a700 & DAT_18267a77c; DAT_18267a83c = _DAT_18267a7f0 + DAT_18267a704; _DAT_18267a194 = _DAT_18267a804 & DAT_18267a7e8; DAT_18267a830 = DAT_18267a9c0 & DAT_18267a958; uVar32 = DAT_18267aa14 & 3; if (uVar32 < 2) { DAT_18267a780 = DAT_18267a938; if (uVar32 == 0) { DAT_18267a780 = DAT_18267aa14; } } else { DAT_18267a780 = DAT_18267a990; if (uVar32 < 3) { DAT_18267a780 = DAT_18267a198; } } uVar32 = DAT_18267a808 & 3; if (uVar32 < 2) { DAT_18267a8cc = DAT_18267a93c; if (uVar32 == 0) { DAT_18267a8cc = DAT_18267a808; } } else { DAT_18267a8cc = _DAT_18267a1b8; if (uVar32 < 3) { DAT_18267a8cc = DAT_18267a9e0; } } DAT_18267a6cc = DAT_18267a89c & DAT_18267a78c; DAT_18267a814 = DAT_18267a8e8 & _DAT_18267a1b0; DAT_18267a948 = DAT_18267a874 * DAT_18267a9dc; DAT_18267a9d4 = ~DAT_18267a750; DAT_18267a8f4 = _DAT_18267a8c4 | DAT_18267a6e8; DAT_18267a9e8 = (DAT_18267a834 >> 0x10) << 0x10 | DAT_18267a834 & 0xffff; DAT_18267a9f4 = (DAT_18267a894 & 0xff0000 | DAT_18267a894 >> 0x10) >> 8 | (DAT_18267a894 * 0x10000 | DAT_18267a894 & 0xff00) << 8; DAT_18267a97c = DAT_18267a778 * 0x10000 | DAT_18267a778 >> 0x10; DAT_18267a738 = (DAT_18267a8d4 & 0xff0000 | DAT_18267a8d4 >> 0x10) >> 8 | (DAT_18267a8d4 << 0x10 | DAT_18267a8d4 & 0xff00) << 8; DAT_18267a960 = DAT_18267a8b8 + DAT_18267a7d4; DAT_18267a754 = ~(DAT_18267a8c8 + 0x11fdb1c); DAT_18267aa18 = _DAT_18267a774 ^ DAT_18267a870; DAT_18267a908 = _DAT_18267a7b8 ^ DAT_18267a8c8; DAT_18267a87c = DAT_18267a828 | DAT_18267a7d4; _DAT_18267a8f0 = (DAT_18267a6dc & 0xff0000 | DAT_18267a6dc >> 0x10) >> 8 | (DAT_18267a6dc << 0x10 | DAT_18267a6dc & 0xff00) << 8; DAT_18267a798 = (DAT_18267a870 + 0x62e7661d) * -0x18cb0000 | DAT_18267a95c >> 0x10; DAT_18267a7f4 = local_ae34 + DAT_18267a7d4 & DAT_18267a940; DAT_18267a824 = (DAT_18267a788 & 0xff0000 | DAT_18267a788 >> 0x10) >> 8 | (DAT_18267a788 << 0x10 | DAT_18267a788 & 0xff00) << 8; uVar32 = local_aee8 + local_aec0; DAT_18267a8d0 = (uVar32 & 0xff0000 | uVar32 >> 0x10) >> 8 | (uVar32 * 0x10000 | uVar32 & 0xff00) << 8; DAT_18267a7a4 = _DAT_18267a8e0 << 0x10 | _DAT_18267a8e0 >> 0x10; DAT_18267a740 = DAT_18267a848 ^ DAT_18267a794; DAT_18267a6fc = DAT_18267a7dc * DAT_18267a728; DAT_18267a9f0 = DAT_18267a9e4 * DAT_18267a72c; DAT_18267a918 = _DAT_18267a720 + DAT_18267a9ac; DAT_18267a9a8 = DAT_18267a850 | DAT_18267a764; _DAT_18267a9c4 = DAT_18267a880 * DAT_18267a970; DAT_18267a840 = DAT_18267a6f4 | DAT_18267a980; DAT_18267a7d0 = DAT_18267aa1c * DAT_18267a6d4; DAT_18267a96c = DAT_18267a770 | DAT_18267a9d0; _DAT_18267a1b4 = uVar30 << 0x10 | (uVar22 | uVar13 & 0xffffff) >> 8; _DAT_18267a90c = uVar31 << 0x10 | (DAT_18267a854 << 0x10 & 0xffffff | DAT_18267a854 & 0xff00) >> 8 ; DAT_18267a8c0 = DAT_18267a978 & _DAT_18267a9b8; DAT_18267a784 = _DAT_18267a8a8 ^ DAT_18267a730; uVar28 = uVar28 & 3; if (uVar28 < 2) { DAT_18267a718 = DAT_18267a84c; if (uVar28 == 0) { DAT_18267a718 = DAT_18267a1a4; } } else { DAT_18267a718 = DAT_18267a884; if (uVar28 < 3) { DAT_18267a718 = DAT_18267a710; } } uVar28 = DAT_18267a854 & 3; if (uVar28 < 2) { DAT_18267a878 = DAT_18267a7b0; if (uVar28 == 0) { DAT_18267a878 = DAT_18267a854; } } else { DAT_18267a878 = _DAT_18267a8a0; if (uVar28 < 3) { DAT_18267a878 = _DAT_18267a7c8; } } DAT_18267a6f8 = DAT_18267a82c + DAT_18267a6f0; DAT_18267a8d8 = DAT_18267a904; if ((DAT_18267a818 & 1) == 0) { DAT_18267a8d8 = DAT_18267a818; } DAT_18267a1ac = uVar3 << 0x10 | uVar5 & 0xffff; DAT_18267a1a8 = DAT_18267a858 * DAT_18267a85c; DAT_18267a920 = _DAT_18267a73c * DAT_18267a71c; DAT_18267a7e0 = local_ae78 + 0x5975e8be & DAT_18267a760; DAT_18267a8a4 = ~_DAT_18267a724; uVar28 = DAT_18267a820 & 7; if (uVar28 < 4) { if (uVar28 < 2) { DAT_18267a1a0 = DAT_18267a19c; if (uVar28 == 0) { DAT_18267a1a0 = DAT_18267a820; } } else { DAT_18267a1a0 = DAT_18267a7e4; if (uVar28 < 3) { DAT_18267a1a0 = DAT_18267a930; } } } else if (uVar28 < 6) { DAT_18267a1a0 = DAT_18267a954; if (uVar28 < 5) { DAT_18267a1a0 = DAT_18267a7ac; } } else { DAT_18267a1a0 = DAT_18267a9ec; if (uVar28 < 7) { DAT_18267a1a0 = uVar26 + 0x27ee9cb5; } } uVar28 = DAT_18267a6e0 & 3; if (uVar28 < 2) { DAT_18267a844 = DAT_18267a9f8; if (uVar28 == 0) { DAT_18267a844 = DAT_18267a6e0; } } else { DAT_18267a844 = DAT_18267a944; if (uVar28 < 3) { DAT_18267a844 = DAT_18267a744; } } DAT_18267a864 = DAT_18267a92c - DAT_18267a7c4; local_48 = local_ad90; local_50 = param_6; local_58 = param_5; DAT_18267a8f8 = &local_78; DAT_18267a514 = 0x1f18; iVar4 = 0xd5; DAT_18267a79c = DAT_18267a76c; DAT_18267a7c0 = _DAT_18267a724; DAT_18267a800 = DAT_18267a19c; DAT_18267a888 = DAT_18267a19c; _DAT_18267a8ac = _DAT_18267a804; DAT_18267a900 = DAT_18267a8c8; DAT_18267a928 = DAT_18267a7d4; DAT_18267a9a0 = DAT_18267a730; DAT_18267a9c8 = DAT_18267a730; local_af18 = DAT_18267a930; local_af14 = DAT_18267a9cc; local_af10 = DAT_18267a1a4; local_af0c = DAT_18267aa28; local_af08 = DAT_18267a7d8; local_af04 = DAT_18267aa08; local_af00 = _DAT_18267a720; local_aefc = DAT_18267a978; local_aef8 = DAT_18267a92c; local_aef4 = DAT_18267a870; local_aef0 = DAT_18267a6d4; local_aeec = DAT_18267a19c; local_aee4 = DAT_18267aa14; local_aee0 = DAT_18267a82c; local_aedc = DAT_18267a770; local_aed8 = DAT_18267a858; local_aed4 = _DAT_18267a8a0; local_aed0 = DAT_18267a954; local_aecc = _DAT_18267aa10; local_aec8 = DAT_18267a874; local_aec4 = DAT_18267a8b8; local_aebc = DAT_18267a854; local_aeb8 = DAT_18267a818; local_aeb4 = DAT_18267a71c; local_aeb0 = _DAT_18267a8c4; local_aeac = DAT_18267a760; local_aea8 = DAT_18267a980; local_aea4 = DAT_18267a764; local_aea0 = DAT_18267a9e4; local_ae9c = DAT_18267a84c; local_ae98 = DAT_18267aa1c; local_ae94 = DAT_18267a6dc; local_ae90 = DAT_18267a8b0; local_ae88 = DAT_18267a9d0; local_ae84 = DAT_18267a72c; local_ae80 = DAT_18267a93c; local_ae7c = DAT_18267a7e8; local_ae74 = DAT_18267a704; local_ae70 = _DAT_18267a724; local_ae6c = DAT_18267a884; local_ae68 = DAT_18267a7dc; local_ae64 = DAT_18267a794; local_ae60 = DAT_18267a848; local_ae5c = DAT_18267a788; local_ae58 = DAT_18267a9c0; local_ae54 = DAT_18267a9ec; local_ae50 = DAT_18267a7e4; local_ae4c = DAT_18267a9e0; local_ae48 = DAT_18267a9ac; local_ae44 = DAT_18267a76c; local_ae40 = DAT_18267a700; local_ae3c = _DAT_18267a73c; local_ae38 = DAT_18267a95c; local_ae30 = DAT_18267a880; local_ae2c = DAT_18267a6f4; local_ae28 = _DAT_18267a8a8; local_ae24 = DAT_18267a904; local_ae20 = DAT_18267a810; local_ae1c = DAT_18267a944; local_ae18 = DAT_18267a934; local_ae14 = _DAT_18267a804; local_ae10 = DAT_18267a808; local_ae0c = DAT_18267a8bc; local_ae08 = _DAT_18267a7b8; local_ae04 = DAT_18267a7d4; local_ae00 = DAT_18267a8d4; local_adfc = DAT_18267a894; local_adf8 = DAT_18267a78c; local_adf4 = DAT_18267a198; local_adf0 = DAT_18267a938; local_adec = DAT_18267a990; local_ade8 = DAT_18267a85c; local_ade4 = _DAT_18267a1b8; local_ade0 = DAT_18267a88c; local_addc = DAT_18267a89c; local_add8 = DAT_18267a8e8; local_add4 = _DAT_18267a1b0; local_add0 = _DAT_18267a8e0; local_adcc = _DAT_18267a7f0; local_adc8 = DAT_18267a9d8; local_adc4 = DAT_18267a750; local_adc0 = DAT_18267a778; local_adbc = _DAT_18267a774; local_adb8 = DAT_18267a828; local_adb4 = DAT_18267a850; local_adb0 = DAT_18267a970; local_adac = _DAT_18267a9b8; local_ada8 = DAT_18267a710; local_ada4 = DAT_18267a7b0; local_ada0 = DAT_18267a6f0; local_ad9c = DAT_18267a9f8; local_ad98 = DAT_18267a744; local_ad90[0] = DAT_18267a7c4; local_ad88 = param_4; local_ad80 = param_3; local_ad78 = param_2; local_ad70 = param_1; local_78 = param_1; local_70 = param_2; local_68 = param_3; local_60 = param_4; do { iVar4 = (**(code **)(&DAT_182478a90 + (longlong)iVar4 * 8))(); } while (iVar4 != 0); DAT_18267a8f8 = DAT_18267a8f8 + 7; } ############ FUN_ 18141b8e0 size=35 ############ void FUN_18141b8e0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { FUN_18141b260(param_1,param_2,param_2,param_3,param_4,param_5); return; } ############ FUN_ 181247a90 size=461 ############ undefined8 FUN_181247a90(longlong *param_1,byte *param_2) { char cVar1; char cVar2; uint uVar3; uint uVar4; byte bVar5; int iVar6; longlong lVar7; byte local_res10 [8]; char local_res18 [8]; bVar5 = *param_2; do { if (bVar5 == 0) { return 1; } lVar7 = 0; do { bVar5 = *param_2; param_2 = param_2 + 1; uVar4 = (uint)bVar5; if ((char)bVar5 < '\0') { uVar3 = 0x40; iVar6 = 0; uVar4 = 0x7f; if ((bVar5 & 0x40) != 0) { do { if (uVar3 < 9) break; uVar4 = uVar4 >> 1; iVar6 = iVar6 + 1; uVar3 = uVar3 >> 1; } while ((bVar5 & uVar3) != 0); } uVar4 = bVar5 & uVar4; for (; (iVar6 = iVar6 + -1, -1 < iVar6 && ((*param_2 & 0xc0) == 0x80)); param_2 = param_2 + 1) { uVar4 = *param_2 & 0x3f | uVar4 << 6; } } uVar3 = uVar4 - 0x41; if (0x19 < uVar3) { if (uVar4 - 0x61 < 0x1a) { uVar3 = uVar4 - 0x47; } else if (uVar4 - 0x30 < 10) { uVar3 = uVar4 + 4; } else if (uVar4 == 0x2b) { uVar3 = 0x3e; } else if (uVar4 == 0x2f) { uVar3 = 0x3f; } else if ((uVar4 != 0x3d) || (uVar3 = 0x40, lVar7 < 2)) { return 0; } } local_res18[lVar7] = (char)uVar3; cVar1 = local_res18[1]; lVar7 = lVar7 + 1; } while (lVar7 < 4); if ((undefined **)*param_1 == juce::MemoryOutputStream::vftable) { local_res10[0] = (byte)local_res18[1] >> 4 | local_res18[0] << 2; (*(code *)PTR_FUN_182496b98)(param_1,local_res10); } else { (*(code *)((undefined **)*param_1)[5])(param_1); } cVar2 = local_res18[2]; if ((byte)local_res18[2] < 0x40) { if ((undefined **)*param_1 == juce::MemoryOutputStream::vftable) { local_res10[0] = (byte)local_res18[2] >> 2 | cVar1 << 4; (*(code *)PTR_FUN_182496b98)(param_1,local_res10); } else { (*(code *)((undefined **)*param_1)[5])(param_1); } if ((byte)local_res18[3] < 0x40) { bVar5 = cVar2 << 6 | local_res18[3]; if ((undefined **)*param_1 == juce::MemoryOutputStream::vftable) { local_res10[0] = bVar5; (*(code *)PTR_FUN_182496b98)(param_1,local_res10); } else { (*(code *)((undefined **)*param_1)[5])(param_1,bVar5); } } } bVar5 = *param_2; } while( true ); } ############ FUN_ 1805a59c0 size=124 ############ void FUN_1805a59c0(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = boost::system::system_error::vftable; if ((ulonglong)param_1[8] < 0x10) { param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); return; } pvVar1 = (void *)param_1[5]; _Memory = pvVar1; if ((0xfff < param_1[8] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a1d920 size=23 ############ void Unwind_181a1d920(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 1805a5460 size=167 ############ void FUN_1805a5460(longlong *param_1) { longlong lVar1; void *pvVar2; longlong lVar3; void *_Memory; lVar3 = *param_1; if (lVar3 == 0) { return; } lVar1 = param_1[1]; for (; lVar3 != lVar1; lVar3 = lVar3 + 0x90) { FUN_1805a5290(lVar3); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x90) * 0x90)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805a5290 size=232 ############ void FUN_1805a5290(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *pvVar1; undefined8 *puVar2; void *pvVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; if (*(char *)(param_1 + 0x68) != '\0') { if ((*(longlong **)(param_1 + 0x78) != (longlong *)0x0) && (puVar2 = (undefined8 *)(**(code **)(**(longlong **)(param_1 + 0x78) + 0x10))(), puVar2 != (undefined8 *)0x0)) { (**(code **)*puVar2)(puVar2,1,(undefined8 *)*puVar2,param_4,uVar4); } *(undefined1 *)(param_1 + 0x68) = 0; } if (0xf < *(ulonglong *)(param_1 + 0x40)) { pvVar1 = *(void **)(param_1 + 0x28); pvVar3 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x40) + 1) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } *(undefined8 *)(param_1 + 0x38) = 0; *(undefined8 *)(param_1 + 0x40) = 0xf; *(undefined1 *)(param_1 + 0x28) = 0; if (*(ulonglong *)(param_1 + 0x20) < 0x10) { *(undefined8 *)(param_1 + 0x18) = 0; *(undefined8 *)(param_1 + 0x20) = 0xf; *(undefined1 *)(param_1 + 8) = 0; return; } pvVar1 = *(void **)(param_1 + 8); pvVar3 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x20) + 1) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } ############ FUN_ 1805a4ee0 size=182 ############ void FUN_1805a4ee0(basic_streambuf_> *param_1) { void *pvVar1; void *_Memory; longlong lVar2; *(undefined ***)param_1 = boost::io::basic_altstringbuf,std::allocator_>::vftable; if (param_1[0x70] == (basic_streambuf_>)0x0) { param_1[0x70] = (basic_streambuf_>)0x0; **(undefined8 **)(param_1 + 0x18) = 0; **(undefined8 **)(param_1 + 0x38) = 0; **(undefined4 **)(param_1 + 0x50) = 0; **(undefined8 **)(param_1 + 0x20) = 0; **(undefined8 **)(param_1 + 0x40) = 0; **(undefined4 **)(param_1 + 0x58) = 0; *(undefined8 *)(param_1 + 0x68) = 0; /* WARNING: Could not recover jumptable at 0x0001805a4f89. Too many branches */ /* WARNING: Treating indirect jump as call */ std::basic_streambuf_>:: ~basic_streambuf_>(param_1); return; } if (**(longlong **)(param_1 + 0x40) == 0) { lVar2 = (longlong)**(int **)(param_1 + 0x50) + **(longlong **)(param_1 + 0x38); } else { lVar2 = (longlong)**(int **)(param_1 + 0x58) + **(longlong **)(param_1 + 0x40); } pvVar1 = (void *)**(longlong **)(param_1 + 0x18); _Memory = pvVar1; if ((0xfff < (ulonglong)(lVar2 - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805a55f0 size=319 ############ void FUN_1805a55f0(undefined8 *param_1) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; void *pvVar5; longlong lVar6; void *pvVar7; *param_1 = pace::ExceptionHandler::vftable; plVar4 = (longlong *)param_1[0xe]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } plVar4 = (longlong *)param_1[0xc]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if (0xf < (ulonglong)param_1[9]) { pvVar5 = (void *)param_1[6]; pvVar7 = pvVar5; if ((0xfff < param_1[9] + 1) && (pvVar7 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar5 = (void *)param_1[2]; pvVar7 = pvVar5; if ((0xfff < param_1[5] + 1) && (pvVar7 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } ############ FUN_ 180575800 size=272 ############ void FUN_180575800(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::ErrorInfo::vftable; if (0xf < (ulonglong)param_1[0xd]) { pvVar1 = (void *)param_1[10]; pvVar2 = pvVar1; if ((0xfff < param_1[0xd] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xc] = 0; param_1[0xd] = 0xf; *(undefined1 *)(param_1 + 10) = 0; if (0xf < (ulonglong)param_1[9]) { pvVar1 = (void *)param_1[6]; pvVar2 = pvVar1; if ((0xfff < param_1[9] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar1 = (void *)param_1[2]; pvVar2 = pvVar1; if ((0xfff < param_1[5] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805e3870 size=115 ############ void FUN_1805e3870(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::fusion::EdenAuthCallbackHandler_LocalOnly_Ilok2::vftable; FUN_1805a5740(param_1 + 6); if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar1 = (void *)param_1[2]; _Memory = pvVar1; if ((0xfff < param_1[5] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805a5740 size=94 ############ void FUN_1805a5740(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::fusion::FusionLicenseData::vftable; FUN_1805a5520(param_1 + 5); pvVar1 = (void *)param_1[1]; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[3] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805a5520 size=179 ############ void FUN_1805a5520(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x8a) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x450) * 0x450)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a1de00 size=23 ############ void Unwind_181a1de00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a1dda0 size=23 ############ void Unwind_181a1dda0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 1805a1bc0 size=32 ############ void FUN_1805a1bc0(void *param_1) { if (param_1 != (void *)0x0) { FUN_1805a4fa0(); /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 181a1d5e0 size=26 ############ void Unwind_181a1d5e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x140)); } ############ FUN_ 181a1de90 size=23 ############ void Unwind_181a1de90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 180575ed0 size=74 ############ void FUN_180575ed0(longlong *param_1) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[2] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180575070 size=254 ############ void FUN_180575070(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::SharedLicenseInfo::vftable; pvVar1 = (void *)param_1[0xc]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xe] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if (0xf < (ulonglong)param_1[9]) { pvVar1 = (void *)param_1[6]; pvVar2 = pvVar1; if ((0xfff < param_1[9] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar1 = (void *)param_1[2]; pvVar2 = pvVar1; if ((0xfff < param_1[5] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18047cfb0 size=78 ############ void FUN_18047cfb0(longlong *param_1) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180575f30 size=177 ############ void FUN_180575f30(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x118) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x8c0) * 0x8c0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b9270 size=345 ############ void FUN_1805b9270(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::TimeLimitRecord::vftable; if (0xf < (ulonglong)param_1[0x11]) { pvVar1 = (void *)param_1[0xe]; pvVar2 = pvVar1; if ((0xfff < param_1[0x11] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x11] = 0xf; param_1[0x10] = 0; *(undefined1 *)(param_1 + 0xe) = 0; if (0xf < (ulonglong)param_1[0xc]) { pvVar1 = (void *)param_1[9]; pvVar2 = pvVar1; if ((0xfff < param_1[0xc] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xb] = 0; param_1[0xc] = 0xf; *(undefined1 *)(param_1 + 9) = 0; if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; pvVar1 = (void *)param_1[2]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b7bd0 size=85 ############ void FUN_1805b7bd0(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::pub::CountLimitRecord::vftable; pvVar1 = (void *)param_1[2]; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b7480 size=651 ############ void FUN_1805b7480(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::ActivationInfoRecord::vftable; if (0xf < (ulonglong)param_1[0x1d]) { pvVar1 = (void *)param_1[0x1a]; pvVar2 = pvVar1; if ((0xfff < param_1[0x1d] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x1d] = 0xf; param_1[0x1c] = 0; *(undefined1 *)(param_1 + 0x1a) = 0; if (0xf < (ulonglong)param_1[0x19]) { pvVar1 = (void *)param_1[0x16]; pvVar2 = pvVar1; if ((0xfff < param_1[0x19] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x18] = 0; param_1[0x19] = 0xf; *(undefined1 *)(param_1 + 0x16) = 0; if (0xf < (ulonglong)param_1[0x15]) { pvVar1 = (void *)param_1[0x12]; pvVar2 = pvVar1; if ((0xfff < param_1[0x15] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x14] = 0; param_1[0x15] = 0xf; *(undefined1 *)(param_1 + 0x12) = 0; if (0xf < (ulonglong)param_1[0x10]) { pvVar1 = (void *)param_1[0xd]; pvVar2 = pvVar1; if ((0xfff < param_1[0x10] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xf] = 0; param_1[0x10] = 0xf; *(undefined1 *)(param_1 + 0xd) = 0; if (0xf < (ulonglong)param_1[0xc]) { pvVar1 = (void *)param_1[9]; pvVar2 = pvVar1; if ((0xfff < param_1[0xc] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xb] = 0; param_1[0xc] = 0xf; *(undefined1 *)(param_1 + 9) = 0; if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180575e00 size=179 ############ void FUN_180575e00(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x87) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x438) * 0x438)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180574c80 size=829 ############ void FUN_180574c80(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::RemoteServerInfo::vftable; if (0xf < (ulonglong)param_1[0x26]) { pvVar1 = (void *)param_1[0x23]; pvVar2 = pvVar1; if ((0xfff < param_1[0x26] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x26] = 0xf; param_1[0x25] = 0; *(undefined1 *)(param_1 + 0x23) = 0; if (0xf < (ulonglong)param_1[0x22]) { pvVar1 = (void *)param_1[0x1f]; pvVar2 = pvVar1; if ((0xfff < param_1[0x22] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x21] = 0; param_1[0x22] = 0xf; *(undefined1 *)(param_1 + 0x1f) = 0; if (0xf < (ulonglong)param_1[0x1e]) { pvVar1 = (void *)param_1[0x1b]; pvVar2 = pvVar1; if ((0xfff < param_1[0x1e] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x1d] = 0; param_1[0x1e] = 0xf; *(undefined1 *)(param_1 + 0x1b) = 0; if (0xf < (ulonglong)param_1[0x19]) { pvVar1 = (void *)param_1[0x16]; pvVar2 = pvVar1; if ((0xfff < param_1[0x19] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x18] = 0; param_1[0x19] = 0xf; *(undefined1 *)(param_1 + 0x16) = 0; if (0xf < (ulonglong)param_1[0x15]) { pvVar1 = (void *)param_1[0x12]; pvVar2 = pvVar1; if ((0xfff < param_1[0x15] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x14] = 0; param_1[0x15] = 0xf; *(undefined1 *)(param_1 + 0x12) = 0; if (0xf < (ulonglong)param_1[0x11]) { pvVar1 = (void *)param_1[0xe]; pvVar2 = pvVar1; if ((0xfff < param_1[0x11] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x10] = 0; param_1[0x11] = 0xf; *(undefined1 *)(param_1 + 0xe) = 0; pvVar1 = (void *)param_1[0xb]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xd] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180575d40 size=173 ############ void FUN_180575d40(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0xd) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x68) * 0x68)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b8780 size=1059 ############ void FUN_1805b8780(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::LocationData::vftable; FUN_1805b9270(param_1 + 0x71); FUN_1805b9270(param_1 + 0x5c); if (0xf < (ulonglong)param_1[0x5a]) { pvVar1 = (void *)param_1[0x57]; pvVar2 = pvVar1; if ((0xfff < param_1[0x5a] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x5a] = 0xf; param_1[0x59] = 0; *(undefined1 *)(param_1 + 0x57) = 0; if (0xf < (ulonglong)param_1[0x55]) { pvVar1 = (void *)param_1[0x52]; pvVar2 = pvVar1; if ((0xfff < param_1[0x55] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x54] = 0; param_1[0x55] = 0xf; *(undefined1 *)(param_1 + 0x52) = 0; if (0xf < (ulonglong)param_1[0x51]) { pvVar1 = (void *)param_1[0x4e]; pvVar2 = pvVar1; if ((0xfff < param_1[0x51] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x50] = 0; param_1[0x51] = 0xf; *(undefined1 *)(param_1 + 0x4e) = 0; if (0xf < (ulonglong)param_1[0x4d]) { pvVar1 = (void *)param_1[0x4a]; pvVar2 = pvVar1; if ((0xfff < param_1[0x4d] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x4c] = 0; param_1[0x4d] = 0xf; *(undefined1 *)(param_1 + 0x4a) = 0; if (0xf < (ulonglong)param_1[0x49]) { pvVar1 = (void *)param_1[0x46]; pvVar2 = pvVar1; if ((0xfff < param_1[0x49] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x48] = 0; param_1[0x49] = 0xf; *(undefined1 *)(param_1 + 0x46) = 0; if (0xf < (ulonglong)param_1[0x45]) { pvVar1 = (void *)param_1[0x42]; pvVar2 = pvVar1; if ((0xfff < param_1[0x45] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x44] = 0; param_1[0x45] = 0xf; *(undefined1 *)(param_1 + 0x42) = 0; if (0xf < (ulonglong)param_1[0x41]) { pvVar1 = (void *)param_1[0x3e]; pvVar2 = pvVar1; if ((0xfff < param_1[0x41] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x40] = 0; param_1[0x41] = 0xf; *(undefined1 *)(param_1 + 0x3e) = 0; if (0xf < (ulonglong)param_1[0x3d]) { pvVar1 = (void *)param_1[0x3a]; pvVar2 = pvVar1; if ((0xfff < param_1[0x3d] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x3c] = 0; param_1[0x3d] = 0xf; *(undefined1 *)(param_1 + 0x3a) = 0; pvVar1 = (void *)param_1[0x37]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (param_1[0x39] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x34]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x36] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } FUN_180574c80(param_1 + 8); if ((ulonglong)param_1[6] < 0x10) { param_1[5] = 0; param_1[6] = 0xf; *(undefined1 *)(param_1 + 3) = 0; return; } pvVar1 = (void *)param_1[3]; pvVar2 = pvVar1; if ((0xfff < param_1[6] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805bc170 size=171 ############ void FUN_1805bc170(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 7) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x38) * 0x38)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805bc230 size=128 ############ void FUN_1805bc230(longlong *param_1) { undefined8 *puVar1; void *pvVar2; void *_Memory; undefined8 *puVar3; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 8) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xffffffffffffffc0U)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b7f60 size=208 ############ void FUN_1805b7f60(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::ExpirationWarning::vftable; FUN_1805b7bd0(param_1 + 0x22); FUN_1805b9270(param_1 + 0xd); if (0xf < (ulonglong)param_1[0xb]) { pvVar1 = (void *)param_1[8]; pvVar2 = pvVar1; if ((0xfff < param_1[0xb] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[10] = 0; param_1[0xb] = 0xf; *(undefined1 *)(param_1 + 8) = 0; if ((ulonglong)param_1[7] < 0x10) { param_1[6] = 0; param_1[7] = 0xf; *(undefined1 *)(param_1 + 4) = 0; return; } pvVar1 = (void *)param_1[4]; pvVar2 = pvVar1; if ((0xfff < param_1[7] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b93e0 size=106 ############ void FUN_1805b93e0(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::pub::TypedActivationCode::vftable; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; _Memory = pvVar1; if ((0xfff < param_1[4] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b96f0 size=359 ############ void FUN_1805b96f0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::ZdtAndLosInfo::vftable; if (0xf < (ulonglong)param_1[0x10]) { pvVar1 = (void *)param_1[0xd]; pvVar2 = pvVar1; if ((0xfff < param_1[0x10] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x10] = 0xf; param_1[0xf] = 0; *(undefined1 *)(param_1 + 0xd) = 0; if (0xf < (ulonglong)param_1[0xc]) { pvVar1 = (void *)param_1[9]; pvVar2 = pvVar1; if ((0xfff < param_1[0xc] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xb] = 0; param_1[0xc] = 0xf; *(undefined1 *)(param_1 + 9) = 0; if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a15a20 size=23 ############ void Unwind_181a15a20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 1805b7370 size=179 ############ void FUN_1805b7370(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x1d) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0xe8) * 0xe8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b72a0 size=182 ############ void FUN_1805b72a0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; longlong lVar3; undefined8 *puVar4; void *_Memory; puVar4 = (undefined8 *)*param_1; if (puVar4 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar4 != puVar1; puVar4 = puVar4 + 0x15) { (**(code **)*puVar4)(puVar4,0); } pvVar2 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - (longlong)pvVar2),8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 0xa8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b7ad0 size=180 ############ void FUN_1805b7ad0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::AuthSearch::vftable; pvVar1 = (void *)param_1[0xf]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (param_1[0x11] - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if ((ulonglong)param_1[0xe] < 0x10) { param_1[0xd] = 0; param_1[0xe] = 0xf; *(undefined1 *)(param_1 + 0xb) = 0; return; } pvVar1 = (void *)param_1[0xb]; pvVar2 = pvVar1; if ((0xfff < param_1[0xe] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b8040 size=187 ############ void FUN_1805b8040(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::FindAuthOptions::vftable; if (0xf < (ulonglong)param_1[10]) { pvVar1 = (void *)param_1[7]; pvVar2 = pvVar1; if ((0xfff < param_1[10] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[9] = 0; param_1[10] = 0xf; *(undefined1 *)(param_1 + 7) = 0; if ((ulonglong)param_1[6] < 0x10) { param_1[5] = 0; param_1[6] = 0xf; *(undefined1 *)(param_1 + 3) = 0; return; } pvVar1 = (void *)param_1[3]; pvVar2 = pvVar1; if ((0xfff < param_1[6] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805bc0b0 size=177 ############ void FUN_1805bc0b0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x5e) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x2f0) * 0x2f0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a1fa00 size=26 ############ void Unwind_181a1fa00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf8)); } ############ FUN_ 1805b7dc0 size=156 ############ void FUN_1805b7dc0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::DynamicCryptoKeyExchangeInput::vftable; pvVar1 = (void *)param_1[5]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[7] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[2]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b7e80 size=156 ############ void FUN_1805b7e80(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::DynamicCryptoKeyExchangeOutput::vftable; pvVar1 = (void *)param_1[4]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[6] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[1]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[3] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a1fa20 size=26 ############ void Unwind_181a1fa20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x168)); } ############ FUN_ 181a1fa40 size=26 ############ void Unwind_181a1fa40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x160)); } ############ FUN_ 181a1fa60 size=26 ############ void Unwind_181a1fa60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x158)); } ############ FUN_ 181a1fa80 size=26 ############ void Unwind_181a1fa80(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x150)); } ############ FUN_ 1805a6620 size=85 ############ void FUN_1805a6620(undefined8 *param_1) { void *_Src; void *_Memory; _Src = (void *)*param_1; memcpy(param_1,_Src,param_1[2] + 1); _Memory = _Src; if ((0xfff < param_1[3] + 1) && (_Memory = *(void **)((longlong)_Src + -8), 0x1f < (ulonglong)((longlong)_Src + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805a1760 size=604 ############ void FUN_1805a1760(longlong *param_1,ulonglong param_2,undefined8 *param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; longlong lVar4; longlong lVar5; ulonglong uVar6; longlong lVar7; void *_Memory; ulonglong uVar8; undefined8 uVar9; uVar9 = 0xfffffffffffffffe; lVar5 = param_1[1]; lVar7 = *param_1; lVar4 = (lVar5 - lVar7) / 0x12 + (lVar5 - lVar7 >> 0x3f); uVar6 = (lVar4 >> 3) - (lVar4 >> 0x3f); uVar2 = (param_1[2] - lVar7) / 0x90; if (param_2 <= uVar2) { if (param_2 <= uVar6) { if (param_2 != uVar6) { lVar7 = param_2 * 0x90 + lVar7; for (lVar4 = lVar7; lVar4 != lVar5; lVar4 = lVar4 + 0x90) { FUN_1805a5290(lVar4); } param_1[1] = lVar7; } return; } lVar5 = FUN_1805a6910(*param_3,lVar5,param_2 - uVar6,param_3[1]); param_1[1] = lVar5; return; } if (0x1c71c71c71c71c7 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar8 = param_2; if ((uVar2 <= 0x1c71c71c71c71c7 - (uVar2 >> 1)) && (uVar8 = (uVar2 >> 1) + uVar2, uVar8 < param_2) ) { uVar8 = param_2; } lVar3 = FUN_1805a6a00(param_1,uVar8); lVar5 = uVar6 * 0x90 + lVar3; FUN_1805a6910(*param_3,lVar5,param_2 - uVar6,param_3[1],lVar5,lVar3,uVar9); lVar5 = param_1[1]; lVar4 = lVar3; for (lVar7 = *param_1; lVar7 != lVar5; lVar7 = lVar7 + 0x90) { FUN_1805a47f0(lVar4,lVar7); lVar4 = lVar4 + 0x90; } lVar5 = *param_1; if (lVar5 == 0) { *param_1 = lVar3; param_1[1] = param_2 * 0x90 + lVar3; param_1[2] = uVar8 * 0x90 + lVar3; return; } lVar7 = param_1[1]; for (; lVar5 != lVar7; lVar5 = lVar5 + 0x90) { FUN_1805a5290(lVar5); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x90) * 0x90)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b6610 size=234 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805b6610(undefined8 *param_1) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; undefined8 *local_48; undefined1 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; local_48 = param_1; FUN_1805a6cb0(&local_38,"Day of month value is out of range 1..31",0x28); local_40 = 1; *param_1 = std::exception::vftable; local_48 = (undefined8 *)&local_38; if (0xf < local_20) { local_48 = (undefined8 *)CONCAT71(uStack_37,local_38); } param_1[1] = 0; param_1[2] = 0; __std_exception_copy(&local_48); *param_1 = std::out_of_range::vftable; if (local_20 < 0x10) { *param_1 = boost::gregorian::bad_day_of_month::vftable; } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b6750 size=234 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805b6750(undefined8 *param_1) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; undefined8 *local_48; undefined1 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; local_48 = param_1; FUN_1805a6cb0(&local_38,"Month number is out of range 1..12",0x22); local_40 = 1; *param_1 = std::exception::vftable; local_48 = (undefined8 *)&local_38; if (0xf < local_20) { local_48 = (undefined8 *)CONCAT71(uStack_37,local_38); } param_1[1] = 0; param_1[2] = 0; __std_exception_copy(&local_48); *param_1 = std::out_of_range::vftable; if (local_20 < 0x10) { *param_1 = boost::gregorian::bad_month::vftable; } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b6890 size=234 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805b6890(undefined8 *param_1) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; undefined8 *local_48; undefined1 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; local_48 = param_1; FUN_1805a6cb0(&local_38,"Year is out of valid range: 1400..10000",0x27); local_40 = 1; *param_1 = std::exception::vftable; local_48 = (undefined8 *)&local_38; if (0xf < local_20) { local_48 = (undefined8 *)CONCAT71(uStack_37,local_38); } param_1[1] = 0; param_1[2] = 0; __std_exception_copy(&local_48); *param_1 = std::out_of_range::vftable; if (local_20 < 0x10) { *param_1 = boost::gregorian::bad_year::vftable; } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805bbe20 size=131 ############ void FUN_1805bbe20(longlong *param_1,longlong param_2,longlong param_3,longlong param_4) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = param_2; param_1[1] = param_2 + param_3; param_1[2] = param_2 + param_4; return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[2] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805e1990 size=304 ############ void FUN_1805e1990(undefined8 *param_1,void *param_2,longlong param_3) { void *pvVar1; void *pvVar2; ulonglong uVar3; ulonglong uVar4; ulonglong _Size; pvVar1 = (void *)*param_1; _Size = param_3 - (longlong)param_2; uVar3 = param_1[2] - (longlong)pvVar1; if (uVar3 < _Size) { if (0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar4 = _Size; if ((uVar3 <= 0x7fffffffffffffff - (uVar3 >> 1)) && (uVar4 = (uVar3 >> 1) + uVar3, uVar4 < _Size)) { uVar4 = _Size; } if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < uVar3) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } FUN_1805bbbc0(param_1,uVar4); pvVar1 = (void *)*param_1; memmove(pvVar1,param_2,_Size); param_1[1] = _Size + (longlong)pvVar1; } else if ((ulonglong)(param_1[1] - (longlong)pvVar1) < _Size) { pvVar2 = (void *)((param_1[1] - (longlong)pvVar1) + (longlong)param_2); memmove(pvVar1,param_2,(longlong)pvVar2 - (longlong)param_2); pvVar1 = (void *)param_1[1]; memmove(pvVar1,pvVar2,param_3 - (longlong)pvVar2); param_1[1] = (param_3 - (longlong)pvVar2) + (longlong)pvVar1; } else { memmove(pvVar1,param_2,_Size); param_1[1] = (longlong)pvVar1 + _Size; } return; } ############ FUN_ 18060b990 size=813 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_18060b990(uint *param_1,char *param_2,longlong param_3) { bool bVar1; char cVar2; locale *plVar3; longlong *plVar4; undefined8 *puVar5; char *******pppppppcVar6; char *pcVar7; uint uVar8; ulonglong uVar9; uint uVar10; uint uVar11; undefined1 auStack_98 [32]; char local_78; longlong local_70; undefined1 local_68 [8]; _Locimp *local_60; undefined8 local_58; char *******local_50 [2]; longlong local_40; ulonglong local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; *param_1 = 0; if ((char *)(param_3 - 1U) < param_2) { } cVar2 = *(char *)(param_3 - 1U); if (9 < (byte)(cVar2 - 0x30U)) { } *param_1 = (int)cVar2 - 0x30; pcVar7 = (char *)(param_3 + -2); uVar8 = 1; bVar1 = false; local_60 = std::locale::_Init(true); plVar3 = std::locale::classic(); cVar2 = FUN_1805f22e0(local_68,plVar3); uVar10 = uVar8; if (cVar2 == '\0') { plVar4 = (longlong *)FUN_1805f1950(local_68); (**(code **)(*plVar4 + 0x28))(plVar4,local_50); local_70 = local_40; if (local_40 != 0) { pppppppcVar6 = (char *******)local_50; if (0xf < local_38) { pppppppcVar6 = local_50[0]; } uVar10 = 1; if ('\0' < *(char *)pppppppcVar6) { uVar9 = 0; local_78 = (**(code **)(*plVar4 + 0x20))(plVar4); pppppppcVar6 = (char *******)local_50; if (0xf < local_38) { pppppppcVar6 = local_50[0]; } cVar2 = *(char *)pppppppcVar6 + -1; uVar10 = uVar8; for (; param_2 <= pcVar7; pcVar7 = pcVar7 + -1) { if (cVar2 == '\0') { if (*pcVar7 != local_78) goto LAB_18060bbce; if (param_2 == pcVar7) break; if (uVar9 < local_70 - 1U) { uVar9 = (ulonglong)(byte)((char)uVar9 + 1); } pppppppcVar6 = (char *******)local_50; if (0xf < local_38) { pppppppcVar6 = local_50[0]; } cVar2 = *(char *)((longlong)pppppppcVar6 + uVar9); } else { uVar8 = uVar10 * 10; if (uVar8 / 10 != uVar10) { bVar1 = true; } uVar10 = (int)*pcVar7 - 0x30; uVar11 = uVar10 * uVar8; if ((((9 < (byte)(*pcVar7 - 0x30U)) || ((uVar10 != 0 && (uVar11 / uVar10 != uVar8)))) || (-uVar11 - 1 < *param_1)) || ((bVar1 && (uVar10 != 0)))) break; *param_1 = *param_1 + uVar11; cVar2 = cVar2 + -1; uVar10 = uVar8; } } if (0xf < local_38) { pppppppcVar6 = local_50[0]; if ((0xfff < local_38 + 1) && (pppppppcVar6 = (char *******)local_50[0][-1], (char *)0x1f < (char *)((longlong)local_50[0] + (-8 - (longlong)pppppppcVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppppcVar6); } goto LAB_18060bc7e; } } LAB_18060bbce: if (0xf < local_38) { pppppppcVar6 = local_50[0]; if ((0xfff < local_38 + 1) && (pppppppcVar6 = (char *******)local_50[0][-1], (char *)0x1f < (char *)((longlong)local_50[0] + (-8 - (longlong)pppppppcVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppppcVar6); } } for (; param_2 <= pcVar7; pcVar7 = pcVar7 + -1) { uVar8 = uVar10 * 10; if (uVar8 / 10 != uVar10) { bVar1 = true; } uVar10 = (int)*pcVar7 - 0x30; uVar11 = uVar10 * uVar8; if ((9 < (byte)(*pcVar7 - 0x30U)) || ((((uVar10 != 0 && (uVar11 / uVar10 != uVar8)) || (-uVar11 - 1 < *param_1)) || ((bVar1 && (uVar10 != 0)))))) break; *param_1 = *param_1 + uVar11; uVar10 = uVar8; } LAB_18060bc7e: if ((local_60 != (_Locimp *)0x0) && (puVar5 = (undefined8 *)(**(code **)(*(longlong *)local_60 + 0x10))(), puVar5 != (undefined8 *)0x0)) { (**(code **)*puVar5)(puVar5,1); } } ############ FUN_ 1805f22e0 size=546 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805f22e0(longlong param_1,longlong param_2) { ulonglong uVar1; ulonglong uVar2; void *pvVar3; bool bVar4; bool bVar5; bool bVar6; int iVar7; undefined8 *puVar8; undefined8 *puVar9; undefined8 *puVar10; undefined8 *_Buf1; void *pvVar11; size_t *psVar12; undefined1 auStack_c8 [32]; undefined4 local_a8; size_t local_a0; ulonglong local_98 [2]; undefined1 local_88; undefined7 uStack_87; undefined8 local_78; ulonglong local_70; undefined1 local_68; undefined7 uStack_67; undefined8 local_58; ulonglong local_50; void *local_48 [3]; ulonglong local_30; ulonglong local_28; local_98[1] = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_c8; bVar6 = false; bVar5 = false; bVar4 = false; local_a8 = 0; if (*(longlong *)(param_1 + 8) != *(longlong *)(param_2 + 8)) { puVar8 = (undefined8 *)FUN_1805f47e0(param_1,local_48); bVar5 = false; bVar4 = false; local_a8 = 1; puVar10 = puVar8; if (0xf < (ulonglong)puVar8[3]) { puVar10 = (undefined8 *)*puVar8; } local_a0 = 1; uVar1 = puVar8[2]; local_98[0] = uVar1; psVar12 = &local_a0; if (uVar1 < 2) { psVar12 = local_98; } iVar7 = memcmp(puVar10,&DAT_181bb54d0,*psVar12); if ((iVar7 != 0) || (uVar1 != 1)) { puVar8 = (undefined8 *)FUN_1805f47e0(param_2,&local_68); local_a8 = 3; puVar9 = (undefined8 *)FUN_1805f47e0(param_1,&local_88); bVar6 = true; bVar5 = true; bVar4 = true; puVar10 = puVar8; if (0xf < (ulonglong)puVar8[3]) { puVar10 = (undefined8 *)*puVar8; } _Buf1 = puVar9; if (0xf < (ulonglong)puVar9[3]) { _Buf1 = (undefined8 *)*puVar9; } uVar1 = puVar8[2]; local_98[0] = uVar1; uVar2 = puVar9[2]; local_a0 = uVar2; psVar12 = local_98; if (uVar2 <= uVar1) { psVar12 = &local_a0; } iVar7 = memcmp(_Buf1,puVar10,*psVar12); if (((iVar7 == 0) && (uVar1 <= uVar2)) && (uVar2 <= uVar1)) goto LAB_1805f23f6; } bVar6 = true; } LAB_1805f23f6: if (bVar4) { if (0xf < local_70) { pvVar3 = (void *)CONCAT71(uStack_87,local_88); pvVar11 = pvVar3; if ((0xfff < local_70 + 1) && (pvVar11 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } local_78 = 0; local_70 = 0xf; local_88 = 0; } if (bVar5) { if (0xf < local_50) { pvVar3 = (void *)CONCAT71(uStack_67,local_68); pvVar11 = pvVar3; if ((0xfff < local_50 + 1) && (pvVar11 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } local_58 = 0; local_50 = 0xf; local_68 = 0; } if ((bVar6) && (0xf < local_30)) { pvVar11 = local_48[0]; if ((0xfff < local_30 + 1) && (pvVar11 = *(void **)((longlong)local_48[0] + -8), 0x1f < (ulonglong)((longlong)local_48[0] + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } } ############ FUN_ 1805f47e0 size=346 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805f47e0(longlong param_1,undefined8 *param_2) { undefined8 uVar1; void *pvVar2; bool bVar3; bool bVar4; undefined8 *puVar5; void *pvVar6; longlong lVar7; longlong lVar8; undefined1 auStack_88 [32]; undefined4 local_68; undefined8 local_60; undefined8 *local_58; undefined8 local_50 [2]; undefined8 local_40; ulonglong local_38; undefined1 local_30; undefined7 uStack_2f; undefined8 local_20; ulonglong uStack_18; ulonglong local_10; local_60 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_88; local_68 = 0; lVar8 = *(longlong *)(param_1 + 8); local_58 = param_2; if (lVar8 == 0) { local_20 = 0; uStack_18 = 0xf; local_30 = 0; puVar5 = (undefined8 *)&local_30; bVar4 = true; bVar3 = false; } else { lVar7 = *(longlong *)(lVar8 + 0x28); if (lVar7 == 0) { lVar7 = lVar8 + 0x30; } local_40 = 0; local_38 = 0xf; local_50[0]._0_1_ = 0; lVar8 = -1; do { lVar8 = lVar8 + 1; } while (*(char *)(lVar7 + lVar8) != '\0'); FUN_1805a6cb0(local_50); puVar5 = local_50; bVar4 = false; bVar3 = true; } uVar1 = puVar5[1]; *param_2 = *puVar5; param_2[1] = uVar1; uVar1 = puVar5[3]; param_2[2] = puVar5[2]; param_2[3] = uVar1; puVar5[2] = 0; puVar5[3] = 0xf; *(undefined1 *)puVar5 = 0; if ((bVar3) && (0xf < local_38)) { pvVar2 = (void *)CONCAT71(local_50[0]._1_7_,(undefined1)local_50[0]); pvVar6 = pvVar2; if ((0xfff < local_38 + 1) && (pvVar6 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } if ((!bVar4) || (uStack_18 < 0x10)) { } pvVar2 = (void *)CONCAT71(uStack_2f,local_30); pvVar6 = pvVar2; if ((0xfff < uStack_18 + 1) && (pvVar6 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } ############ FUN_ 1806120b0 size=91 ############ void FUN_1806120b0(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::Hasher::vftable; pvVar1 = (void *)param_1[0x2b]; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[0x2d] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b9910 size=318 ############ undefined8 * FUN_1805b9910(undefined8 *param_1,undefined8 *param_2) { void *_Src; longlong lVar1; void *pvVar2; void *pvVar3; ulonglong uVar4; ulonglong uVar5; ulonglong _Size; size_t _Size_00; if (param_1 != param_2) { lVar1 = param_2[1]; pvVar3 = (void *)*param_2; pvVar2 = (void *)*param_1; _Size = lVar1 - (longlong)pvVar3; uVar4 = param_1[2] - (longlong)pvVar2; if (uVar4 < _Size) { if (0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = _Size; if ((uVar4 <= 0x7fffffffffffffff - (uVar4 >> 1)) && (uVar5 = (uVar4 >> 1) + uVar4, uVar5 < _Size)) { uVar5 = _Size; } if (pvVar2 != (void *)0x0) { pvVar3 = pvVar2; if ((0xfff < uVar4) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } FUN_1805bbbc0(param_1,uVar5); pvVar2 = (void *)*param_1; memmove(pvVar2,pvVar3,_Size); param_1[1] = _Size + (longlong)pvVar2; } else if ((ulonglong)(param_1[1] - (longlong)pvVar2) < _Size) { _Src = (void *)((param_1[1] - (longlong)pvVar2) + (longlong)pvVar3); memmove(pvVar2,pvVar3,(longlong)_Src - (longlong)pvVar3); pvVar3 = (void *)param_1[1]; _Size_00 = lVar1 - (longlong)_Src; memmove(pvVar3,_Src,_Size_00); param_1[1] = _Size_00 + (longlong)pvVar3; } else { memmove(pvVar2,pvVar3,_Size); param_1[1] = (longlong)pvVar2 + _Size; } } return param_1; } ############ FUN_ 18067c6a0 size=237 ############ void FUN_18067c6a0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::OpenEncryptedChannelInput::vftable; pvVar1 = (void *)param_1[8]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[10] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[5]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[7] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067c7b0 size=442 ############ void FUN_18067c7b0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::OpenEncryptedChannelReturn::vftable; pvVar1 = (void *)param_1[0x12]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x14] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0xf]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x11] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0xb]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xd] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[8]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[10] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[5]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[7] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180682a40 size=968 ############ /* WARNING: Instruction at (ram,0x000180682b62) overlaps instruction at (ram,0x000180682b61) */ /* WARNING: Removing unreachable block (ram,0x000180682acb) */ void FUN_180682a40(undefined8 param_1,longlong param_2,undefined8 *param_3) { longlong lVar1; void *pvVar2; undefined8 *puVar3; uint uVar4; void *pvVar5; ulonglong uVar6; ulonglong uVar7; ulonglong _Size; size_t _Size_00; undefined8 *_Src; bool bVar8; int unaff_retaddr; undefined1 auStack_148 [32]; undefined1 local_128; undefined1 local_118; undefined4 local_e4; uint local_e0; undefined8 local_d0; undefined8 *local_c8; undefined8 local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_148; local_e4 = 0x890; uVar4 = (uint)&stack0x00000000 & 0x3bf; local_e0 = 0xebd0 >> ((char)(((uVar4 + 2) * (uVar4 + 1) * uVar4) / 3) * '\x03' & 0x1fU) ^ 0xe410; param_3[1] = *param_3; local_d0 = param_1; local_c8 = param_3; do { FUN_180681286(); uVar4 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar4 < 0) { uVar4 = (uVar4 - 1 | 0xfffffffe) + 1; } } while (uVar4 != 0); bVar8 = 0xf < *(ulonglong *)(param_2 + 0x20); _Src = (undefined8 *)(param_2 + 8); puVar3 = _Src; if (bVar8) { puVar3 = (undefined8 *)*_Src; } lVar1 = *(longlong *)(param_2 + 0x18); if (bVar8) { _Src = (undefined8 *)*_Src; } pvVar2 = (void *)*param_3; _Size = (longlong)puVar3 + (lVar1 - (longlong)_Src); uVar6 = param_3[2] - (longlong)pvVar2; if (uVar6 < _Size) { local_c0 = 0xffffffffffffffff; local_b8 = 0x7fffffffffffffff; if (0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } local_a8 = 0x7fffffffffffffff; local_b0 = 0xffffffffffffffff; uVar7 = _Size; if ((uVar6 <= 0x7fffffffffffffff - (uVar6 >> 1)) && (uVar7 = (uVar6 >> 1) + uVar6, uVar7 < _Size)) { uVar7 = _Size; } if (pvVar2 != (void *)0x0) { pvVar5 = pvVar2; if ((0xfff < uVar6) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } FUN_1805bbbc0(param_3,uVar7); pvVar2 = (void *)*param_3; memmove(pvVar2,_Src,_Size); param_3[1] = _Size + (longlong)pvVar2; } else if ((ulonglong)(param_3[1] - (longlong)pvVar2) < _Size) { pvVar5 = (void *)((param_3[1] - (longlong)pvVar2) + (longlong)_Src); memmove(pvVar2,_Src,(longlong)pvVar5 - (longlong)_Src); pvVar2 = (void *)param_3[1]; _Size_00 = (longlong)puVar3 + (lVar1 - (longlong)pvVar5); memmove(pvVar2,pvVar5,_Size_00); param_3[1] = _Size_00 + (longlong)pvVar2; } else { memmove(pvVar2,_Src,_Size); param_3[1] = (longlong)pvVar2 + _Size; } lVar1 = *(longlong *)(param_2 + 0x28); local_a0 = param_3[1]; local_128 = local_118; FUN_1805d5a60(param_3,local_a0,lVar1,(*(longlong *)(param_2 + 0x30) - lVar1) + lVar1); (*(code *)0x18065d36b)(); return; } ############ FUN_ 1805b0f50 size=335 ############ void FUN_1805b0f50(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; pvVar1 = (void *)param_1[1]; lVar5 = *param_1; uVar6 = (longlong)pvVar1 - lVar5; uVar2 = param_1[2] - lVar5; if (param_2 <= uVar2) { if (param_2 <= uVar6) { if (param_2 != uVar6) { param_1[1] = lVar5 + param_2; } return; } lVar5 = (longlong)pvVar1 + (param_2 - uVar6); memset(pvVar1,0,lVar5 - (longlong)pvVar1); param_1[1] = lVar5; return; } if (0x7fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar4 = param_2; if ((uVar2 <= 0x7fffffffffffffff - (uVar2 >> 1)) && (uVar4 = (uVar2 >> 1) + uVar2, uVar4 < param_2)) { uVar4 = param_2; } pvVar3 = (void *)FUN_1805bc8b0(param_1); memset((void *)((longlong)pvVar3 + uVar6),0,param_2 - uVar6); memmove(pvVar3,(void *)*param_1,param_1[1] - *param_1); pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = (longlong)pvVar3; param_1[1] = (longlong)pvVar3 + param_2; param_1[2] = (longlong)pvVar3 + uVar4; return; } pvVar3 = pvVar1; if ((0xfff < (ulonglong)(param_1[2] - (longlong)pvVar1)) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } ############ FUN_ 18067d1b0 size=307 ############ void FUN_18067d1b0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::SendEncryptedCommandInput::vftable; pvVar1 = (void *)param_1[0x11]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x13] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if (0xf < (ulonglong)param_1[0xf]) { pvVar1 = (void *)param_1[0xc]; pvVar2 = pvVar1; if ((0xfff < param_1[0xf] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xe] = 0; param_1[0xf] = 0xf; *(undefined1 *)(param_1 + 0xc) = 0; pvVar1 = (void *)param_1[6]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[8] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[2]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1807dc8a0 size=173 ############ void FUN_1807dc8a0(undefined8 *param_1) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; void *pvVar5; longlong lVar6; void *_Memory; *param_1 = pace::ILokCert::vftable; plVar4 = (longlong *)param_1[0x3a]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } pvVar5 = (void *)param_1[2]; if (pvVar5 == (void *)0x0) { return; } _Memory = pvVar5; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar5)) && (_Memory = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805d0340 size=182 ############ void FUN_1805d0340(basic_streambuf_> *param_1) { void *pvVar1; void *_Memory; longlong lVar2; *(undefined ***)param_1 = std::basic_stringbuf,std::allocator_>::vftable; if (((byte)param_1[0x70] & 1) == 0) { **(undefined8 **)(param_1 + 0x18) = 0; **(undefined8 **)(param_1 + 0x38) = 0; **(undefined4 **)(param_1 + 0x50) = 0; **(undefined8 **)(param_1 + 0x20) = 0; **(undefined8 **)(param_1 + 0x40) = 0; **(undefined4 **)(param_1 + 0x58) = 0; *(uint *)(param_1 + 0x70) = *(uint *)(param_1 + 0x70) & 0xfffffffe; *(undefined8 *)(param_1 + 0x68) = 0; /* WARNING: Could not recover jumptable at 0x0001805d03e9. Too many branches */ /* WARNING: Treating indirect jump as call */ std::basic_streambuf_>:: ~basic_streambuf_>(param_1); return; } if (**(longlong **)(param_1 + 0x40) == 0) { lVar2 = (longlong)**(int **)(param_1 + 0x50) + **(longlong **)(param_1 + 0x38); } else { lVar2 = (longlong)**(int **)(param_1 + 0x58) + **(longlong **)(param_1 + 0x40); } pvVar1 = (void *)**(longlong **)(param_1 + 0x18); _Memory = pvVar1; if ((0xfff < (ulonglong)(lVar2 - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b7720 size=910 ############ void FUN_1805b7720(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::AuthData::vftable; if (0xf < (ulonglong)param_1[0x82]) { pvVar1 = (void *)param_1[0x7f]; pvVar2 = pvVar1; if ((0xfff < param_1[0x82] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x82] = 0xf; param_1[0x81] = 0; *(undefined1 *)(param_1 + 0x7f) = 0; FUN_1805b7480(param_1 + 0x5e); if (0xf < (ulonglong)param_1[0x5d]) { pvVar1 = (void *)param_1[0x5a]; pvVar2 = pvVar1; if ((0xfff < param_1[0x5d] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x5c] = 0; param_1[0x5d] = 0xf; *(undefined1 *)(param_1 + 0x5a) = 0; if (0xf < (ulonglong)param_1[0x59]) { pvVar1 = (void *)param_1[0x56]; pvVar2 = pvVar1; if ((0xfff < param_1[0x59] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x58] = 0; param_1[0x59] = 0xf; *(undefined1 *)(param_1 + 0x56) = 0; if (0xf < (ulonglong)param_1[0x55]) { pvVar1 = (void *)param_1[0x52]; pvVar2 = pvVar1; if ((0xfff < param_1[0x55] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x54] = 0; param_1[0x55] = 0xf; *(undefined1 *)(param_1 + 0x52) = 0; if (0xf < (ulonglong)param_1[0x51]) { pvVar1 = (void *)param_1[0x4e]; pvVar2 = pvVar1; if ((0xfff < param_1[0x51] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x50] = 0; param_1[0x51] = 0xf; *(undefined1 *)(param_1 + 0x4e) = 0; if (0xf < (ulonglong)param_1[0x4d]) { pvVar1 = (void *)param_1[0x4a]; pvVar2 = pvVar1; if ((0xfff < param_1[0x4d] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x4c] = 0; param_1[0x4d] = 0xf; *(undefined1 *)(param_1 + 0x4a) = 0; if (0xf < (ulonglong)param_1[0x49]) { pvVar1 = (void *)param_1[0x46]; pvVar2 = pvVar1; if ((0xfff < param_1[0x49] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x48] = 0; param_1[0x49] = 0xf; *(undefined1 *)(param_1 + 0x46) = 0; if (0xf < (ulonglong)param_1[0x45]) { pvVar1 = (void *)param_1[0x42]; pvVar2 = pvVar1; if ((0xfff < param_1[0x45] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x44] = 0; param_1[0x45] = 0xf; *(undefined1 *)(param_1 + 0x42) = 0; FUN_1805b9270(param_1 + 0x2d); FUN_1805b7bd0(param_1 + 0x21); FUN_1805b9270(param_1 + 0xc); pvVar1 = (void *)param_1[3]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[5] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b0450 size=542 ############ longlong FUN_1805b0450(longlong *param_1,longlong param_2,undefined8 param_3) { ulonglong uVar1; longlong lVar2; undefined8 *puVar3; void *pvVar4; ulonglong uVar5; longlong lVar6; longlong lVar7; undefined8 *puVar8; ulonglong uVar9; void *_Memory; longlong lVar10; longlong lVar11; undefined8 uVar12; uVar12 = 0xfffffffffffffffe; lVar2 = *param_1; lVar10 = (param_1[1] - lVar2) / 0x8c0; if (lVar10 == 0x1d41d41d41d41d) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar10 + 1; uVar5 = (param_1[2] - lVar2) / 0x8c0; uVar9 = uVar1; if ((uVar5 <= 0x1d41d41d41d41d - (uVar5 >> 1)) && (uVar9 = (uVar5 >> 1) + uVar5, uVar9 < uVar1)) { uVar9 = uVar1; } lVar6 = FUN_1805bca90(param_1,uVar9); lVar7 = ((param_2 - lVar2) / 0x8c0) * 0x8c0; lVar2 = lVar7 + lVar6 + 0x8c0; lVar10 = lVar2; lVar11 = lVar6; FUN_1805b5540(lVar7 + lVar6,param_3); if (param_2 == param_1[1]) { FUN_1805b1730(*param_1,param_1[1],lVar6,param_1); } else { FUN_1805bc430(param_1,*param_1,param_2,lVar6,lVar7,lVar10,lVar11,uVar12); FUN_1805bc430(param_1,param_2,param_1[1],lVar2); } puVar8 = (undefined8 *)*param_1; if (puVar8 != (undefined8 *)0x0) { puVar3 = (undefined8 *)param_1[1]; for (; puVar8 != puVar3; puVar8 = puVar8 + 0x118) { (**(code **)*puVar8)(puVar8,0); } pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar4) / 0x8c0) * 0x8c0)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar6; param_1[1] = uVar1 * 0x8c0 + lVar6; param_1[2] = uVar9 * 0x8c0 + lVar6; return *param_1 + lVar7; } ############ FUN_ 180487940 size=305 ############ longlong * FUN_180487940(longlong *param_1,void *param_2) { ulonglong uVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; void *_Memory; ulonglong _Size; longlong *_Dst; ulonglong uVar5; param_1[2] = 0; param_1[3] = 0xf; *(undefined1 *)param_1 = 0; _Size = 0xffffffffffffffff; do { _Size = _Size + 1; } while (*(char *)((longlong)param_2 + _Size) != '\0'); uVar2 = param_1[3]; if (uVar2 < _Size) { if (0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_18048c740(); } uVar4 = _Size | 0xf; uVar5 = 0x7fffffffffffffff; if (((uVar4 < 0x8000000000000000) && (uVar2 <= 0x7fffffffffffffff - (uVar2 >> 1))) && (uVar1 = (uVar2 >> 1) + uVar2, uVar5 = uVar4, uVar4 < uVar1)) { uVar5 = uVar1; } pvVar3 = (void *)FUN_180480500(uVar5 + 1); param_1[2] = _Size; param_1[3] = uVar5; memcpy(pvVar3,param_2,_Size); *(undefined1 *)((longlong)pvVar3 + _Size) = 0; if (0xf < uVar2) { pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < uVar2 + 1) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = (longlong)pvVar3; } else { _Dst = param_1; if (0xf < uVar2) { _Dst = (longlong *)*param_1; } param_1[2] = _Size; memmove(_Dst,param_2,_Size); *(undefined1 *)((longlong)_Dst + _Size) = 0; } return param_1; } ############ FUN_ 181a16070 size=23 ############ void Unwind_181a16070(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 180575c70 size=179 ############ void FUN_180575c70(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x118) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x8c0) * 0x8c0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b94d0 size=476 ############ void FUN_1805b94d0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::WrapperPublicData::vftable; if (0xf < (ulonglong)param_1[0x4d]) { pvVar1 = (void *)param_1[0x4a]; pvVar2 = pvVar1; if ((0xfff < param_1[0x4d] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x4c] = 0; param_1[0x4d] = 0xf; *(undefined1 *)(param_1 + 0x4a) = 0; if (0xf < (ulonglong)param_1[0x49]) { pvVar1 = (void *)param_1[0x46]; pvVar2 = pvVar1; if ((0xfff < param_1[0x49] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x48] = 0; param_1[0x49] = 0xf; *(undefined1 *)(param_1 + 0x46) = 0; FUN_1805b93e0(param_1 + 0x3e); pvVar1 = (void *)param_1[0x3b]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x3d] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x38]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x3a] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x35]; if (pvVar1 == (void *)0x0) { FUN_1805b7f60(param_1 + 5); FUN_1805bc230(param_1 + 2); return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x37] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a203f0 size=26 ############ void Unwind_181a203f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x260)); } ############ FUN_ 181a20410 size=26 ############ void Unwind_181a20410(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x288)); } ############ FUN_ 181a20430 size=26 ############ void Unwind_181a20430(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x290)); } ############ FUN_ 181a20450 size=26 ############ void Unwind_181a20450(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x298)); } ############ FUN_ 181a20470 size=26 ############ void Unwind_181a20470(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x2a0)); } ############ FUN_ 181a20490 size=26 ############ void Unwind_181a20490(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1d8)); } ############ FUN_ 181a204b0 size=26 ############ void Unwind_181a204b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1e0)); } ############ FUN_ 181a204d0 size=26 ############ void Unwind_181a204d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1e8)); } ############ FUN_ 1805753e0 size=862 ############ void FUN_1805753e0(undefined8 *param_1) { undefined8 *puVar1; void *pvVar2; void *pvVar3; longlong lVar4; undefined8 *puVar5; *param_1 = pace::eden::thrift::pub::AuthChain::vftable; puVar5 = (undefined8 *)param_1[0x58]; if (puVar5 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[0x59]; for (; puVar5 != puVar1; puVar5 = puVar5 + 0x3d) { (**(code **)*puVar5)(puVar5,0); } pvVar2 = (void *)param_1[0x58]; lVar4 = SUB168(SEXT816(-0x79b47582192e29f7) * SEXT816(param_1[0x5a] - (longlong)pvVar2),8) + (param_1[0x5a] - (longlong)pvVar2); pvVar3 = pvVar2; if ((0xfff < (ulonglong)(((lVar4 >> 8) - (lVar4 >> 0x3f)) * 0x1e8)) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } puVar5 = (undefined8 *)param_1[0x55]; if (puVar5 != (undefined8 *)0x0) { puVar1 = (undefined8 *)param_1[0x56]; for (; puVar5 != puVar1; puVar5 = puVar5 + 0xd) { (**(code **)*puVar5)(puVar5,0); } pvVar2 = (void *)param_1[0x55]; pvVar3 = pvVar2; if ((0xfff < (ulonglong)(((param_1[0x57] - (longlong)pvVar2) / 0x68) * 0x68)) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } FUN_180575070(param_1 + 0x43); pvVar2 = (void *)param_1[0x40]; if (pvVar2 != (void *)0x0) { pvVar3 = pvVar2; if ((0xfff < (ulonglong)(param_1[0x42] - (longlong)pvVar2)) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } FUN_180574c80(param_1 + 0x14); if (0xf < (ulonglong)param_1[0x12]) { pvVar2 = (void *)param_1[0xf]; pvVar3 = pvVar2; if ((0xfff < param_1[0x12] + 1) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } param_1[0x11] = 0; param_1[0x12] = 0xf; *(undefined1 *)(param_1 + 0xf) = 0; if (0xf < (ulonglong)param_1[0xc]) { pvVar2 = (void *)param_1[9]; pvVar3 = pvVar2; if ((0xfff < param_1[0xc] + 1) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } param_1[0xb] = 0; param_1[0xc] = 0xf; *(undefined1 *)(param_1 + 9) = 0; if ((ulonglong)param_1[8] < 0x10) { param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; puVar5 = (undefined8 *)param_1[1]; if (puVar5 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[2]; for (; puVar5 != puVar1; puVar5 = puVar5 + 0x87) { (**(code **)*puVar5)(puVar5,0); } pvVar2 = (void *)param_1[1]; pvVar3 = pvVar2; if ((0xfff < (ulonglong)(((param_1[3] - (longlong)pvVar2) / 0x438) * 0x438)) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } pvVar2 = (void *)param_1[5]; pvVar3 = pvVar2; if ((0xfff < param_1[8] + 1) && (pvVar3 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } ############ FUN_ 181a205a0 size=26 ############ void Unwind_181a205a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1f0)); } ############ FUN_ 181a205c0 size=26 ############ void Unwind_181a205c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1f8)); } ############ FUN_ 1805b7c40 size=156 ############ void FUN_1805b7c40(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::DlcKeyExchangeInput::vftable; pvVar1 = (void *)param_1[6]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[8] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[3]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[5] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b7d00 size=156 ############ void FUN_1805b7d00(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::DlcKeyExchangeOutput::vftable; pvVar1 = (void *)param_1[5]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[7] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[2]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a1ed90 size=26 ############ void Unwind_181a1ed90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf0)); } ############ FUN_ 181a1ee00 size=26 ############ void Unwind_181a1ee00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf0)); } ############ FUN_ 181a1ede0 size=23 ############ void Unwind_181a1ede0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 18047e3b0 size=76 ############ void FUN_18047e3b0(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_18047e3b0(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 1805c9ff0 size=111 ############ longlong * FUN_1805c9ff0(longlong *param_1,uint param_2) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805ca070 size=65 ############ void * FUN_1805ca070(void *param_1,ulonglong param_2) { HANDLE hObject; LOCK(); hObject = *(HANDLE *)((longlong)param_1 + 8); *(undefined8 *)((longlong)param_1 + 8) = 0; UNLOCK(); if (hObject != (HANDLE)0x0) { CloseHandle(hObject); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181a18060 size=23 ############ void Unwind_181a18060(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 18048c550 size=136 ############ void FUN_18048c550(ulonglong *param_1,ulonglong *param_2) { ulonglong *puVar1; void *pvVar2; void *_Memory; ulonglong *puVar3; if (param_1 != param_2) { puVar3 = param_1 + 3; do { if (0xf < *puVar3) { pvVar2 = (void *)puVar3[-3]; _Memory = pvVar2; if ((0xfff < *puVar3 + 1) && (_Memory = *(void **)((longlong)pvVar2 - 8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } puVar3[-1] = 0; *puVar3 = 0xf; *(undefined1 *)(puVar3 + -3) = 0; puVar1 = puVar3 + 1; puVar3 = puVar3 + 4; } while (puVar1 != param_2); } return; } ############ FUN_ 181a15a40 size=23 ############ void Unwind_181a15a40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a20f40 size=23 ############ void Unwind_181a20f40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 18063cad0 size=108 ############ void FUN_18063cad0(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::Encryptor::vftable; memset(param_1 + 1,0,0x208); pvVar1 = (void *)param_1[0x43]; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[0x45] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a20e10 size=23 ############ void Unwind_181a20e10(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a20e40 size=23 ############ void Unwind_181a20e40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 1805d6600 size=97 ############ void FUN_1805d6600(undefined8 *param_1) { longlong *_Memory; void *pvVar1; void *_Memory_00; _Memory = (longlong *)*param_1; if (_Memory == (longlong *)0x0) { return; } pvVar1 = (void *)*_Memory; if (pvVar1 == (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } _Memory_00 = pvVar1; if ((0xfff < (ulonglong)(_Memory[2] - (longlong)pvVar1)) && (_Memory_00 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory_00)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory_00); } ############ FUN_ 181a20f00 size=23 ############ void Unwind_181a20f00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a19f30 size=23 ############ void Unwind_181a19f30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 1805d59e0 size=116 ############ void FUN_1805d59e0(longlong *param_1,longlong *param_2) { void *pvVar1; void *_Memory; while( true ) { if (param_1 == param_2) { return; } pvVar1 = (void *)*param_1; if (pvVar1 != (void *)0x0) break; param_1 = param_1 + 3; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[2] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805d68c0 size=124 ############ void FUN_1805d68c0(longlong *param_1) { void *pvVar1; void *_Memory; if (*param_1 == 0) { return; } FUN_1805d59e0(*param_1,param_1[1],param_1); pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x18) * 0x18)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b91b0 size=156 ############ void FUN_1805b91b0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::SymmetricKey::vftable; pvVar1 = (void *)param_1[6]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[8] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[3]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[5] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a21390 size=23 ############ void Unwind_181a21390(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a21c20 size=26 ############ void Unwind_181a21c20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a18410 size=26 ############ void Unwind_181a18410(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a214e0 size=292 ############ undefined * Catch_181a214e0(undefined8 param_1,longlong param_2) { void *pvVar1; ulonglong uVar2; int iVar3; longlong lVar4; undefined8 uVar5; void *pvVar6; longlong lVar7; lVar4 = FUN_1805d2540(*(undefined8 *)(param_2 + 0x1e0)); *(undefined8 *)(param_2 + 0x890) = 0; *(undefined8 *)(param_2 + 0x898) = 0xf; *(undefined1 *)(param_2 + 0x880) = 0; lVar7 = -1; do { lVar7 = lVar7 + 1; } while (*(char *)(lVar4 + lVar7) != '\0'); FUN_1805a6cb0(param_2 + 0x880); pvVar1 = *(void **)(param_2 + 0x880); uVar2 = *(ulonglong *)(param_2 + 0x898); pvVar6 = (void *)(param_2 + 0x880); if (0xf < uVar2) { pvVar6 = pvVar1; } if ((*(longlong *)(param_2 + 0x890) == 0x1e) && (iVar3 = memcmp(pvVar6,"ILokTimeToPtimeConversionError",0x1e), iVar3 == 0)) { if (*(char *)(param_2 + 0x30) == '\0') { uVar5 = FUN_1805b4bc0(param_2 + 0x230,*(undefined8 *)(param_2 + 0xa8)); FUN_1805e8510(uVar5,param_2 + 0x170); *(undefined1 *)(param_2 + 0x30) = 1; } } else if (*(longlong *)(param_2 + 0x68) + 1 == *(longlong *)(param_2 + 0x50)) { /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } if (0xf < uVar2) { pvVar6 = pvVar1; if ((0xfff < uVar2 + 1) && (pvVar6 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } return &DAT_1805eac54; } ############ FUN_ 1805f01c0 size=221 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805f01c0(longlong param_1,undefined8 param_2,undefined8 param_3) { undefined8 uVar1; void *_Memory; undefined1 auStack_198 [32]; undefined1 local_178; undefined1 local_170; undefined8 local_168; void *local_160 [3]; ulonglong local_148; undefined1 local_138 [272]; ulonglong local_28; local_168 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_198; uVar1 = FUN_1805a3f20(local_138,"%s cannot run, because an error occurred.\n\n%s"); uVar1 = FUN_1805b2240(uVar1,param_1 + 0x10); uVar1 = FUN_1805b2240(uVar1,param_3); FUN_1805ae640(uVar1,local_160); FUN_1805a4fa0(local_138); local_170 = 0; local_178 = 0; FUN_1805f02b0(param_2,local_160,0,0); if (local_148 < 0x10) { } _Memory = local_160[0]; if ((0xfff < local_148 + 1) && (_Memory = *(void **)((longlong)local_160[0] + -8), 0x1f < (ulonglong)((longlong)local_160[0] + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b9460 size=106 ############ void FUN_1805b9460(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::pub::WrapperAuthProduct::vftable; if ((ulonglong)param_1[6] < 0x10) { param_1[5] = 0; param_1[6] = 0xf; *(undefined1 *)(param_1 + 3) = 0; return; } pvVar1 = (void *)param_1[3]; _Memory = pvVar1; if ((0xfff < param_1[6] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805e31f0 size=1286 ############ void FUN_1805e31f0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::DecryptionAssistData::vftable; pvVar1 = (void *)param_1[0x3f]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x41] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x3c]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x3e] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x39]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x3b] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x36]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x38] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x32]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x34] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x2f]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x31] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x2b]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x2d] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x27]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x29] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x24]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x26] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x21]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x23] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x1e]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x20] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x1a]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x1c] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x17]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x19] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x14]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x16] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x10]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x12] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0xd]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xf] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[10]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xc] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[7]; if (pvVar1 == (void *)0x0) { FUN_180575ed0(param_1 + 3); return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[9] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a21cb0 size=26 ############ void Unwind_181a21cb0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 1805bc2c0 size=97 ############ void FUN_1805bc2c0(longlong *param_1) { void *pvVar1; void *_Memory; if ((ulonglong)param_1[3] < 8) { param_1[3] = 7; param_1[2] = 0; *(undefined2 *)param_1 = 0; return; } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < param_1[3] * 2 + 2U) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a22150 size=23 ############ void Unwind_181a22150(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a23540 size=23 ############ void Unwind_181a23540(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a2367c size=23 ############ void Unwind_181a2367c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a2360c size=23 ############ void Unwind_181a2360c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 1805aea30 size=365 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805aea30(longlong param_1) { undefined8 *puVar1; undefined8 *puVar2; undefined8 ****ppppuVar3; char *pcVar4; longlong lVar5; undefined1 auStack_78 [32]; undefined8 local_58; longlong local_48; undefined8 local_40; undefined8 ***local_38 [2]; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_78; puVar1 = (undefined8 *)(param_1 + 0x28); if (*(longlong *)(param_1 + 0x38) == 0) { pcVar4 = "Unknown exception"; if (*(char **)(param_1 + 8) != (char *)0x0) { pcVar4 = *(char **)(param_1 + 8); } lVar5 = -1; do { lVar5 = lVar5 + 1; } while (pcVar4[lVar5] != '\0'); local_48 = param_1; FUN_1805a6cb0(puVar1); if (*(longlong *)(param_1 + 0x38) != 0) { lVar5 = *(longlong *)(param_1 + 0x38); if (*(ulonglong *)(param_1 + 0x40) - lVar5 < 2) { local_58 = 2; FUN_1805a1320(puVar1,2,0,&DAT_181baf994); } else { *(longlong *)(param_1 + 0x38) = lVar5 + 2; puVar2 = puVar1; if (0xf < *(ulonglong *)(param_1 + 0x40)) { puVar2 = (undefined8 *)*puVar1; } memmove((void *)((longlong)puVar2 + lVar5),&DAT_181baf994,2); *(undefined1 *)((longlong)puVar2 + lVar5 + 2) = 0; } } (**(code **)(**(longlong **)(param_1 + 0x20) + 0x10)) (*(longlong **)(param_1 + 0x20),local_38,*(undefined4 *)(param_1 + 0x18)); ppppuVar3 = local_38; if (0xf < local_20) { ppppuVar3 = (undefined8 ****)local_38[0]; } FUN_1805a6a80(puVar1,ppppuVar3,local_28); if (0xf < local_20) { ppppuVar3 = (undefined8 ****)local_38[0]; if ((0xfff < local_20 + 1) && (ppppuVar3 = (undefined8 ****)local_38[0][-1], 0x1f < (ulonglong)((longlong)local_38[0] + (-8 - (longlong)ppppuVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(ppppuVar3); } } } ############ FUN_ 181a23560 size=53 ############ void Catch_All_181a23560(undefined8 param_1,longlong param_2) { void *_Memory; _Memory = *(void **)(param_2 + 0x48); if (_Memory != (void *)0x0) { FUN_1805fdd90(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } ############ FUN_ 181a235a0 size=53 ############ void Catch_All_181a235a0(undefined8 param_1,longlong param_2) { void *_Memory; _Memory = *(void **)(param_2 + 0x48); if (_Memory != (void *)0x0) { FUN_1805fded0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ _CxxThrowException((void *)0x0,(ThrowInfo *)0x0); } ############ FUN_ 181a23b80 size=26 ############ void Unwind_181a23b80(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a23bc0 size=23 ############ void Unwind_181a23bc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 1805bc040 size=93 ############ void FUN_1805bc040(longlong *param_1) { void *pvVar1; void *_Memory; if (*param_1 == 0) { return; } FUN_18048c550(*param_1,param_1[1],param_1); pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a23f30 size=23 ############ void Unwind_181a23f30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a1a350 size=26 ############ void Unwind_181a1a350(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a160e0 size=23 ############ void Unwind_181a160e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 180612020 size=126 ############ void FUN_180612020(longlong *param_1) { longlong lVar1; void *pvVar2; void *_Memory; longlong lVar3; lVar3 = *param_1; if (lVar3 == 0) { return; } lVar1 = param_1[1]; for (; lVar3 != lVar1; lVar3 = lVar3 + 0x20) { FUN_1805bc2c0(lVar3); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180611ea0 size=158 ############ void FUN_180611ea0(longlong param_1) { void *pvVar1; void *_Memory; if ((*(char *)(param_1 + 0x40) == '\0') && (*(longlong *)(param_1 + 0x28) != 0)) { FUN_180611fb0(*(undefined8 *)(*(longlong *)(param_1 + 0x20) + 8)); /* WARNING: Subroutine does not return */ free(*(void **)(*(longlong *)(param_1 + 0x20) + 8)); } if (*(longlong *)(param_1 + 0x18) == 0) { return; } pvVar1 = *(void **)(param_1 + 0x20); _Memory = pvVar1; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x18) << 4)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180611fb0 size=96 ############ void FUN_180611fb0(longlong param_1) { void *pvVar1; void *_Memory; if (*(ulonglong *)(param_1 + 0x20) < 0x10) { *(undefined8 *)(param_1 + 0x18) = 0; *(undefined8 *)(param_1 + 0x20) = 0xf; *(undefined1 *)(param_1 + 8) = 0; return; } pvVar1 = *(void **)(param_1 + 8); _Memory = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x20) + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a240b0 size=23 ############ void Unwind_181a240b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 180611f60 size=27 ############ void FUN_180611f60(undefined8 *param_1) { FUN_180618b80(); /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 180618b80 size=212 ############ void FUN_180618b80(longlong param_1) { longlong *plVar1; void *pvVar2; void *_Memory; longlong lVar3; lVar3 = *(longlong *)(param_1 + 0x20); while (lVar3 != 0) { FUN_180611fb0(*(undefined8 *) (*(longlong *)(param_1 + 8) + (lVar3 + *(longlong *)(param_1 + 0x18) + -1 & *(longlong *)(param_1 + 0x10) - 1U) * 8)); plVar1 = (longlong *)(param_1 + 0x20); *plVar1 = *plVar1 + -1; if (*plVar1 == 0) { *(undefined8 *)(param_1 + 0x18) = 0; } lVar3 = *(longlong *)(param_1 + 0x20); } lVar3 = *(longlong *)(param_1 + 0x10); while (lVar3 != 0) { lVar3 = lVar3 + -1; pvVar2 = *(void **)(*(longlong *)(param_1 + 8) + lVar3 * 8); if (pvVar2 != (void *)0x0) { /* WARNING: Subroutine does not return */ free(pvVar2); } } pvVar2 = *(void **)(param_1 + 8); if (pvVar2 != (void *)0x0) { _Memory = pvVar2; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x10) << 3)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *(undefined8 *)(param_1 + 0x10) = 0; *(undefined8 *)(param_1 + 8) = 0; return; } ############ FUN_ 180611d70 size=22 ############ void FUN_180611d70(undefined8 *param_1) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 180611e60 size=42 ############ void FUN_180611e60(longlong param_1) { FUN_180619370(param_1 + 0x28); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x30)); } ############ FUN_ 180619370 size=137 ############ void FUN_180619370(longlong param_1) { longlong lVar1; longlong lVar2; ulonglong uVar3; void *_Memory; longlong lVar4; lVar1 = param_1 + 0x11; lVar4 = 0; if (lVar1 == 0) { param_1 = lVar4; } uVar3 = *(ulonglong *)(*(longlong *)(param_1 + 8) + 0x40) & 0xfffffffffffffffe; if ((uVar3 != 0) && (_Memory = (void *)(uVar3 - 0x40), _Memory != (void *)0x0)) { lVar2 = *(longlong *)(uVar3 + 8) + -0x40; if (*(longlong *)(uVar3 + 8) == 0) { lVar2 = lVar4; } FUN_180619300(lVar1,lVar2); if (*(longlong *)(uVar3 + 0x10) != 0) { lVar4 = *(longlong *)(uVar3 + 0x10) + -0x40; } FUN_180619300(lVar1,lVar4); FUN_180611fb0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 180619300 size=94 ############ void FUN_180619300(undefined8 param_1,void *param_2) { longlong lVar1; longlong lVar2; if (param_2 != (void *)0x0) { lVar2 = 0; lVar1 = *(longlong *)((longlong)param_2 + 0x48) + -0x40; if (*(longlong *)((longlong)param_2 + 0x48) == 0) { lVar1 = lVar2; } FUN_180619300(param_1,lVar1); if (*(longlong *)((longlong)param_2 + 0x50) != 0) { lVar2 = *(longlong *)((longlong)param_2 + 0x50) + -0x40; } FUN_180619300(param_1,lVar2); FUN_180611fb0(param_2); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 18062b670 size=175 ############ void FUN_18062b670(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 5) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x28) * 0x28)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18062b2f0 size=470 ############ void FUN_18062b2f0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::MachineId::vftable; FUN_18062b670(param_1 + 0x16); if (0xf < (ulonglong)param_1[0x15]) { pvVar1 = (void *)param_1[0x12]; pvVar2 = pvVar1; if ((0xfff < param_1[0x15] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x15] = 0xf; param_1[0x14] = 0; *(undefined1 *)(param_1 + 0x12) = 0; if (0xf < (ulonglong)param_1[0x11]) { pvVar1 = (void *)param_1[0xe]; pvVar2 = pvVar1; if ((0xfff < param_1[0x11] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x10] = 0; param_1[0x11] = 0xf; *(undefined1 *)(param_1 + 0xe) = 0; if (0xf < (ulonglong)param_1[0xd]) { pvVar1 = (void *)param_1[10]; pvVar2 = pvVar1; if ((0xfff < param_1[0xd] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xc] = 0; param_1[0xd] = 0xf; *(undefined1 *)(param_1 + 10) = 0; if (0xf < (ulonglong)param_1[9]) { pvVar1 = (void *)param_1[6]; pvVar2 = pvVar1; if ((0xfff < param_1[9] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar1 = (void *)param_1[2]; pvVar2 = pvVar1; if ((0xfff < param_1[5] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18071ee70 size=555 ############ void FUN_18071ee70(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::OsVersion::vftable; if (0xf < (ulonglong)param_1[0x18]) { pvVar1 = (void *)param_1[0x15]; pvVar2 = pvVar1; if ((0xfff < param_1[0x18] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x18] = 0xf; param_1[0x17] = 0; *(undefined1 *)(param_1 + 0x15) = 0; if (0xf < (ulonglong)param_1[0x14]) { pvVar1 = (void *)param_1[0x11]; pvVar2 = pvVar1; if ((0xfff < param_1[0x14] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x13] = 0; param_1[0x14] = 0xf; *(undefined1 *)(param_1 + 0x11) = 0; if (0xf < (ulonglong)param_1[0x10]) { pvVar1 = (void *)param_1[0xd]; pvVar2 = pvVar1; if ((0xfff < param_1[0x10] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xf] = 0; param_1[0x10] = 0xf; *(undefined1 *)(param_1 + 0xd) = 0; if (0xf < (ulonglong)param_1[0xc]) { pvVar1 = (void *)param_1[9]; pvVar2 = pvVar1; if ((0xfff < param_1[0xc] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xb] = 0; param_1[0xc] = 0xf; *(undefined1 *)(param_1 + 9) = 0; if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a24760 size=23 ############ void Unwind_181a24760(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a248e0 size=26 ############ void Unwind_181a248e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 181a24910 size=26 ############ void Unwind_181a24910(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a24930 size=26 ############ void Unwind_181a24930(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 1805f42d0 size=297 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805f42d0(longlong *param_1,undefined8 param_2,undefined8 *param_3) { int *piVar1; int iVar2; longlong *plVar3; void *pvVar4; longlong lVar5; longlong *plVar6; void *_Memory; undefined1 auStack_88 [32]; undefined8 local_68; longlong *local_60; undefined8 local_58; undefined8 *local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_58 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_88; local_68 = param_3[1]; plVar3 = (longlong *)param_3[2]; if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_60 = plVar3; local_50 = param_3; FUN_1805ae640(local_68,&local_48); (**(code **)(*param_1 + 8))(param_1,param_2,&local_48); plVar6 = local_60; if (local_30 < 0x10) { local_38 = 0; local_30 = 0xf; local_48 = 0; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_60 + 8))(local_60); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_60 + 0x10))(); } } } if (param_3 != (undefined8 *)0x0) { (**(code **)*param_3)(param_3,1); } } pvVar4 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar4; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a24c50 size=23 ############ void Unwind_181a24c50(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a24c30 size=23 ############ void Unwind_181a24c30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a24f30 size=26 ############ void Unwind_181a24f30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 18065baf0 size=96 ############ void FUN_18065baf0(longlong param_1) { void *pvVar1; void *_Memory; if (*(ulonglong *)(param_1 + 0x28) < 0x10) { *(undefined8 *)(param_1 + 0x20) = 0; *(undefined8 *)(param_1 + 0x28) = 0xf; *(undefined1 *)(param_1 + 0x10) = 0; return; } pvVar1 = *(void **)(param_1 + 0x10); _Memory = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x28) + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18060cb50 size=163 ############ void FUN_18060cb50(longlong param_1) { void *pvVar1; void *_Memory; longlong lVar2; if ((*(byte *)(param_1 + 0x70) & 1) == 0) { **(undefined8 **)(param_1 + 0x18) = 0; **(undefined8 **)(param_1 + 0x38) = 0; **(undefined4 **)(param_1 + 0x50) = 0; **(undefined8 **)(param_1 + 0x20) = 0; **(undefined8 **)(param_1 + 0x40) = 0; **(undefined4 **)(param_1 + 0x58) = 0; *(uint *)(param_1 + 0x70) = *(uint *)(param_1 + 0x70) & 0xfffffffe; *(undefined8 *)(param_1 + 0x68) = 0; return; } if (**(longlong **)(param_1 + 0x40) == 0) { lVar2 = (longlong)**(int **)(param_1 + 0x50) + **(longlong **)(param_1 + 0x38); } else { lVar2 = (longlong)**(int **)(param_1 + 0x58) + **(longlong **)(param_1 + 0x40); } pvVar1 = (void *)**(longlong **)(param_1 + 0x18); _Memory = pvVar1; if ((0xfff < (ulonglong)(lVar2 - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a25cc0 size=23 ############ void Unwind_181a25cc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a25d30 size=26 ############ void Unwind_181a25d30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a25df0 size=23 ############ void Unwind_181a25df0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 18065dcc0 size=137 ############ void FUN_18065dcc0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *param_1; _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18065d6b0(param_1,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); FUN_18065b260((longlong)_Memory + 0x28); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*param_1 + 8) = lVar1; *(longlong *)*param_1 = lVar1; *(longlong *)(*param_1 + 0x10) = lVar1; param_1[1] = 0; return; } ############ FUN_ 18065d6b0 size=85 ############ void FUN_18065d6b0(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_18065d6b0(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); FUN_18065b260((longlong)param_2 + 0x28); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 18065b830 size=52 ############ void FUN_18065b830(longlong param_1) { FUN_18065dcc0(param_1 + 0x68); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x68)); } ############ FUN_ 18065b4d0 size=57 ############ void FUN_18065b4d0(longlong param_1) { FUN_18065dcc0(param_1 + 0x148); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x148)); } ############ FUN_ 181a25c50 size=26 ############ void Unwind_181a25c50(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a250d0 size=23 ############ void Unwind_181a250d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 18065b900 size=349 ############ void FUN_18065b900(longlong param_1) { void *pvVar1; void *pvVar2; if (0xf < *(ulonglong *)(param_1 + 0x80)) { pvVar1 = *(void **)(param_1 + 0x68); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x80) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x80) = 0xf; *(undefined8 *)(param_1 + 0x78) = 0; *(undefined1 *)(param_1 + 0x68) = 0; if (0xf < *(ulonglong *)(param_1 + 0x60)) { pvVar1 = *(void **)(param_1 + 0x48); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x60) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x58) = 0; *(undefined8 *)(param_1 + 0x60) = 0xf; *(undefined1 *)(param_1 + 0x48) = 0; if (0xf < *(ulonglong *)(param_1 + 0x40)) { pvVar1 = *(void **)(param_1 + 0x28); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x40) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x38) = 0; *(undefined8 *)(param_1 + 0x40) = 0xf; *(undefined1 *)(param_1 + 0x28) = 0; if (*(ulonglong *)(param_1 + 0x20) < 0x10) { *(undefined8 *)(param_1 + 0x18) = 0; *(undefined8 *)(param_1 + 0x20) = 0xf; *(undefined1 *)(param_1 + 8) = 0; return; } pvVar1 = *(void **)(param_1 + 8); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x20) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18065b360 size=352 ############ void FUN_18065b360(facet *param_1) { void *pvVar1; void *pvVar2; FUN_1805bc040(param_1 + 0x170); FUN_1805bc040(param_1 + 0x158); FUN_1805bc040(param_1 + 0x140); FUN_1805bc040(param_1 + 0x128); FUN_1805bc040(param_1 + 0x110); FUN_1805bc040(param_1 + 0xf8); FUN_18065b900(param_1 + 0x70); if (0xf < *(ulonglong *)(param_1 + 0x68)) { pvVar1 = *(void **)(param_1 + 0x50); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x68) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x60) = 0; *(undefined8 *)(param_1 + 0x68) = 0xf; param_1[0x50] = (facet)0x0; if (0xf < *(ulonglong *)(param_1 + 0x48)) { pvVar1 = *(void **)(param_1 + 0x30); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x48) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x40) = 0; *(undefined8 *)(param_1 + 0x48) = 0xf; param_1[0x30] = (facet)0x0; if (*(ulonglong *)(param_1 + 0x28) < 0x10) { *(undefined8 *)(param_1 + 0x20) = 0; *(undefined8 *)(param_1 + 0x28) = 0xf; param_1[0x10] = (facet)0x0; /* WARNING: Could not recover jumptable at 0x00018065b4a7. Too many branches */ /* WARNING: Treating indirect jump as call */ std::locale::facet::~facet(param_1); return; } pvVar1 = *(void **)(param_1 + 0x10); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x28) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a25130 size=26 ############ void Unwind_181a25130(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe0)); } ############ FUN_ 18065b2a0 size=175 ############ void FUN_18065b2a0(longlong *param_1) { void *pvVar1; void *pvVar2; if (0xf < (ulonglong)param_1[7]) { pvVar1 = (void *)param_1[4]; pvVar2 = pvVar1; if ((0xfff < param_1[7] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[6] = 0; param_1[7] = 0xf; *(undefined1 *)(param_1 + 4) = 0; if ((ulonglong)param_1[3] < 0x10) { param_1[2] = 0; param_1[3] = 0xf; *(undefined1 *)param_1 = 0; return; } pvVar1 = (void *)*param_1; pvVar2 = pvVar1; if ((0xfff < param_1[3] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18065ba70 size=109 ############ void FUN_18065ba70(longlong param_1) { void *pvVar1; void *_Memory; if (*(ulonglong *)(param_1 + 0x80) < 0x10) { *(undefined8 *)(param_1 + 0x78) = 0; *(undefined8 *)(param_1 + 0x80) = 0xf; *(undefined1 *)(param_1 + 0x68) = 0; FUN_18065b2a0(param_1); return; } pvVar1 = *(void **)(param_1 + 0x68); _Memory = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x80) + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18047c850 size=177 ############ void FUN_18047c850(undefined8 *param_1) { longlong *plVar1; void *pvVar2; void *_Memory; longlong lVar3; lVar3 = param_1[4]; while (lVar3 != 0) { plVar1 = param_1 + 4; *plVar1 = *plVar1 + -1; if (*plVar1 == 0) { param_1[3] = 0; } lVar3 = param_1[4]; } lVar3 = param_1[2]; while (lVar3 != 0) { lVar3 = lVar3 + -1; pvVar2 = *(void **)(param_1[1] + lVar3 * 8); if (pvVar2 != (void *)0x0) { /* WARNING: Subroutine does not return */ free(pvVar2); } } pvVar2 = (void *)param_1[1]; if (pvVar2 == (void *)0x0) { param_1[2] = 0; param_1[1] = 0; /* WARNING: Subroutine does not return */ free((void *)*param_1); } _Memory = pvVar2; if ((0xfff < (ulonglong)(param_1[2] << 3)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b8100 size=281 ############ void FUN_1805b8100(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::Identity::vftable; FUN_1805b8220(param_1 + 0xe); if (0xf < (ulonglong)param_1[0xd]) { pvVar1 = (void *)param_1[10]; pvVar2 = pvVar1; if ((0xfff < param_1[0xd] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xc] = 0; param_1[0xd] = 0xf; *(undefined1 *)(param_1 + 10) = 0; if (0xf < (ulonglong)param_1[9]) { pvVar1 = (void *)param_1[6]; pvVar2 = pvVar1; if ((0xfff < param_1[9] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar1 = (void *)param_1[2]; pvVar2 = pvVar1; if ((0xfff < param_1[5] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b8220 size=666 ############ void FUN_1805b8220(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::IdentityDetail::vftable; FUN_1805b8700(param_1 + 0x25); if (0xf < (ulonglong)param_1[0x24]) { pvVar1 = (void *)param_1[0x21]; pvVar2 = pvVar1; if ((0xfff < param_1[0x24] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x23] = 0; param_1[0x24] = 0xf; *(undefined1 *)(param_1 + 0x21) = 0; if (0xf < (ulonglong)param_1[0x1f]) { pvVar1 = (void *)param_1[0x1c]; pvVar2 = pvVar1; if ((0xfff < param_1[0x1f] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x1e] = 0; param_1[0x1f] = 0xf; *(undefined1 *)(param_1 + 0x1c) = 0; FUN_1805bc170(param_1 + 0x19); pvVar1 = (void *)param_1[0x16]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (param_1[0x18] - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if (0xf < (ulonglong)param_1[0x11]) { pvVar1 = (void *)param_1[0xe]; pvVar2 = pvVar1; if ((0xfff < param_1[0x11] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x10] = 0; param_1[0x11] = 0xf; *(undefined1 *)(param_1 + 0xe) = 0; if (0xf < (ulonglong)param_1[0xd]) { pvVar1 = (void *)param_1[10]; pvVar2 = pvVar1; if ((0xfff < param_1[0xd] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xc] = 0; param_1[0xd] = 0xf; *(undefined1 *)(param_1 + 10) = 0; if (0xf < (ulonglong)param_1[9]) { pvVar1 = (void *)param_1[6]; pvVar2 = pvVar1; if ((0xfff < param_1[9] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar1 = (void *)param_1[2]; pvVar2 = pvVar1; if ((0xfff < param_1[5] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b8700 size=117 ############ void FUN_1805b8700(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::pub::LicensePeriod::vftable; param_1[5] = pace::eden::thrift::pub::TimePeriod::vftable; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; _Memory = pvVar1; if ((0xfff < param_1[4] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806798f0 size=117 ############ void FUN_1806798f0(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::authorize::AuthLocation::vftable; param_1[5] = pace::eden::thrift::pub::IlokIdentifier::vftable; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; _Memory = pvVar1; if ((0xfff < param_1[4] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18067bab0 size=187 ############ void FUN_18067bab0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::LicensePeriod::vftable; if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180679b90 size=220 ############ void FUN_180679b90(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::AuthTerms::vftable; if (0xf < (ulonglong)param_1[0x18]) { pvVar1 = (void *)param_1[0x15]; pvVar2 = pvVar1; if ((0xfff < param_1[0x18] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x17] = 0; param_1[0x18] = 0xf; *(undefined1 *)(param_1 + 0x15) = 0; if ((ulonglong)param_1[0x10] < 0x10) { param_1[0xf] = 0; param_1[0x10] = 0xf; *(undefined1 *)(param_1 + 0xd) = 0; FUN_18067bab0(param_1 + 1); return; } pvVar1 = (void *)param_1[0xd]; pvVar2 = pvVar1; if ((0xfff < param_1[0x10] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067b220 size=187 ############ void FUN_18067b220(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::exception::ExceptionInfoAll::vftable; if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067d4d0 size=254 ############ void FUN_18067d4d0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::floating::ServerPassword::vftable; pvVar1 = (void *)param_1[9]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xb] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180680440 size=128 ############ void FUN_180680440(longlong *param_1) { undefined8 *puVar1; void *pvVar2; void *_Memory; undefined8 *puVar3; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 4) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678d00 size=177 ############ void FUN_180678d00(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 10) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x50) * 0x50)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678dc0 size=180 ############ void FUN_180678dc0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x30) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x180) * 0x180)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18067c620 size=98 ############ void FUN_18067c620(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = license_services::LsVectorMetadata::vftable; FUN_180564f20(param_1 + 4); pvVar1 = (void *)param_1[1]; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (param_1[3] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180564f20 size=140 ############ void FUN_180564f20(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *param_1; _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18056b2f0(param_1,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*param_1 + 8) = lVar1; *(longlong *)*param_1 = lVar1; *(longlong *)(*param_1 + 0x10) = lVar1; param_1[1] = 0; /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 18056b2f0 size=76 ############ void FUN_18056b2f0(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_18056b2f0(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 180678340 size=179 ############ void FUN_180678340(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x3a) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x1d0) * 0x1d0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678410 size=182 ############ void FUN_180678410(longlong *param_1) { undefined8 *puVar1; void *pvVar2; longlong lVar3; undefined8 *puVar4; void *_Memory; puVar4 = (undefined8 *)*param_1; if (puVar4 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar4 != puVar1; puVar4 = puVar4 + 0x2a) { (**(code **)*puVar4)(puVar4,0); } pvVar2 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - (longlong)pvVar2),8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar3 >> 8) - (lVar3 >> 0x3f)) * 0x150)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806784e0 size=179 ############ void FUN_1806784e0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x16) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0xb0) * 0xb0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806785b0 size=179 ############ void FUN_1806785b0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x35) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x1a8) * 0x1a8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678680 size=179 ############ void FUN_180678680(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x2d) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x168) * 0x168)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678750 size=179 ############ void FUN_180678750(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x21) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x108) * 0x108)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678820 size=182 ############ void FUN_180678820(longlong *param_1) { undefined8 *puVar1; void *pvVar2; longlong lVar3; undefined8 *puVar4; void *_Memory; puVar4 = (undefined8 *)*param_1; if (puVar4 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar4 != puVar1; puVar4 = puVar4 + 0x19) { (**(code **)*puVar4)(puVar4,0); } pvVar2 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816(param_1[2] - (longlong)pvVar2),8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 200)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806788f0 size=179 ############ void FUN_1806788f0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x41) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x208) * 0x208)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806789c0 size=179 ############ void FUN_1806789c0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x2f) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x178) * 0x178)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678a90 size=182 ############ void FUN_180678a90(longlong *param_1) { undefined8 *puVar1; void *pvVar2; longlong lVar3; undefined8 *puVar4; void *_Memory; puVar4 = (undefined8 *)*param_1; if (puVar4 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar4 != puVar1; puVar4 = puVar4 + 0x1e) { (**(code **)*puVar4)(puVar4,0); } pvVar2 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x7777777777777777) * SEXT816(param_1[2] - (longlong)pvVar2),8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 0xf0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678b60 size=179 ############ void FUN_180678b60(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x46) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x230) * 0x230)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678c30 size=179 ############ void FUN_180678c30(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x23) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x118) * 0x118)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678e90 size=180 ############ void FUN_180678e90(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x28) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x140) * 0x140)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180678f60 size=180 ############ void FUN_180678f60(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x24) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x120) * 0x120)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180679030 size=179 ############ void FUN_180679030(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x1b) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0xd8) * 0xd8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180679100 size=182 ############ void FUN_180679100(longlong *param_1) { undefined8 *puVar1; void *pvVar2; longlong lVar3; undefined8 *puVar4; void *_Memory; puVar4 = (undefined8 *)*param_1; if (puVar4 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar4 != puVar1; puVar4 = puVar4 + 0x33) { (**(code **)*puVar4)(puVar4,0); } pvVar2 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x5f5f5f5f5f5f5f5f) * SEXT816(param_1[2] - (longlong)pvVar2),8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar3 >> 8) - (lVar3 >> 0x3f)) * 0x198)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806791d0 size=179 ############ void FUN_1806791d0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x25) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x128) * 0x128)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806792a0 size=182 ############ void FUN_1806792a0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; longlong lVar3; undefined8 *puVar4; void *_Memory; puVar4 = (undefined8 *)*param_1; if (puVar4 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar4 != puVar1; puVar4 = puVar4 + 0x1f) { (**(code **)*puVar4)(puVar4,0); } pvVar2 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(param_1[2] - (longlong)pvVar2),8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 0xf8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180679390 size=182 ############ void FUN_180679390(longlong *param_1) { undefined8 *puVar1; void *pvVar2; longlong lVar3; undefined8 *puVar4; void *_Memory; puVar4 = (undefined8 *)*param_1; if (puVar4 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar4 != puVar1; puVar4 = puVar4 + 0x17) { (**(code **)*puVar4)(puVar4,0); } pvVar2 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x4de9bd37a6f4de9b) * SEXT816(param_1[2] - (longlong)pvVar2),8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 0xb8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180679460 size=179 ############ void FUN_180679460(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x22) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x110) * 0x110)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180679530 size=182 ############ void FUN_180679530(longlong *param_1) { undefined8 *puVar1; void *pvVar2; longlong lVar3; undefined8 *puVar4; void *_Memory; puVar4 = (undefined8 *)*param_1; if (puVar4 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar4 != puVar1; puVar4 = puVar4 + 0x32) { (**(code **)*puVar4)(puVar4,0); } pvVar2 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x5c28f5c28f5c28f5) * SEXT816(param_1[2] - (longlong)pvVar2),8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar3 >> 8) - (lVar3 >> 0x3f)) * 400)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180679600 size=179 ############ void FUN_180679600(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x2c) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x160) * 0x160)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806797a0 size=179 ############ void FUN_1806797a0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x37) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x1b8) * 0x1b8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806796d0 size=180 ############ void FUN_1806796d0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x18) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0xc0) * 0xc0)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18067b6e0 size=321 ############ void FUN_18067b6e0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::GetAuthorizationServerInfoReturn::vftable; pvVar1 = (void *)param_1[0x1e]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (param_1[0x20] - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } FUN_1805b8690(param_1 + 0x17); if (0xf < (ulonglong)param_1[0x16]) { pvVar1 = (void *)param_1[0x13]; pvVar2 = pvVar1; if ((0xfff < param_1[0x16] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x15] = 0; param_1[0x16] = 0xf; *(undefined1 *)(param_1 + 0x13) = 0; if ((ulonglong)param_1[0x12] < 0x10) { param_1[0x11] = 0; param_1[0x12] = 0xf; *(undefined1 *)(param_1 + 0xf) = 0; FUN_1805bc040(param_1 + 0xc); FUN_1805bc040(param_1 + 9); return; } pvVar1 = (void *)param_1[0xf]; pvVar2 = pvVar1; if ((0xfff < param_1[0x12] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b8690 size=106 ############ void FUN_1805b8690(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::pub::InstalledVersion::vftable; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar1 = (void *)param_1[2]; _Memory = pvVar1; if ((0xfff < param_1[5] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a1a250 size=23 ############ void Unwind_181a1a250(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a268c0 size=23 ############ void Unwind_181a268c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 1806804d0 size=177 ############ void FUN_1806804d0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x26) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x130) * 0x130)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18067b840 size=192 ############ void FUN_18067b840(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::GetContentDecryptionKeyInput::vftable; pvVar1 = (void *)param_1[0xa9]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xab] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } FUN_1805e31f0(param_1 + 0x62); pvVar1 = (void *)param_1[0x5f]; if (pvVar1 == (void *)0x0) { FUN_1805753e0(param_1 + 1); return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x61] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067b930 size=283 ############ void FUN_18067b930(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::GetContentDecryptionKeyReturn::vftable; pvVar1 = (void *)param_1[10]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xc] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[7]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[9] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[4]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[6] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[1]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[3] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a27470 size=26 ############ void Unwind_181a27470(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a27690 size=26 ############ void Unwind_181a27690(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x100)); } ############ FUN_ 181a276b0 size=26 ############ void Unwind_181a276b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe0)); } ############ FUN_ 181a276d0 size=26 ############ void Unwind_181a276d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe8)); } ############ FUN_ 181a276f0 size=26 ############ void Unwind_181a276f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x108)); } ############ FUN_ 18067b450 size=202 ############ void FUN_18067b450(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::FindAuthChainsInput::vftable; pvVar1 = (void *)param_1[0x16]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x18] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x13]; if (pvVar1 == (void *)0x0) { FUN_1805b8040(param_1 + 4); FUN_180680130(param_1 + 1); return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x15] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180680130 size=180 ############ void FUN_180680130(longlong *param_1) { undefined8 *puVar1; void *pvVar2; longlong lVar3; undefined8 *puVar4; void *_Memory; puVar4 = (undefined8 *)*param_1; if (puVar4 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar4 != puVar1; puVar4 = puVar4 + 0x15) { (**(code **)*puVar4)(puVar4,0); } pvVar2 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - (longlong)pvVar2),8) + (param_1[2] - (longlong)pvVar2); _Memory = pvVar2; if ((0xfff < (ulonglong)(((lVar3 >> 7) - (lVar3 >> 0x3f)) * 0xa8)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180680380 size=171 ############ void FUN_180680380(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0xb) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x58) * 0x58)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a27c40 size=23 ############ void Unwind_181a27c40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 18067c9c0 size=238 ############ void FUN_18067c9c0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::OpenQuicklyEncryptedChannelInput::vftable; if (0xf < (ulonglong)param_1[0xb]) { pvVar1 = (void *)param_1[8]; pvVar2 = pvVar1; if ((0xfff < param_1[0xb] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xb] = 0xf; param_1[10] = 0; *(undefined1 *)(param_1 + 8) = 0; pvVar1 = (void *)param_1[4]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[6] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[1]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[3] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067cad0 size=238 ############ void FUN_18067cad0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::OpenQuicklyEncryptedChannelReturn::vftable; if (0xf < (ulonglong)param_1[0xb]) { pvVar1 = (void *)param_1[8]; pvVar2 = pvVar1; if ((0xfff < param_1[0xb] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xb] = 0xf; param_1[10] = 0; *(undefined1 *)(param_1 + 8) = 0; pvVar1 = (void *)param_1[5]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[7] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[2]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a27d70 size=26 ############ void Unwind_181a27d70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 18067d320 size=85 ############ void FUN_18067d320(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::authorize::SendEncryptedCommandReturn::vftable; pvVar1 = (void *)param_1[1]; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[3] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18067afa0 size=156 ############ void FUN_18067afa0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::DeveloperDataRecord::vftable; pvVar1 = (void *)param_1[5]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[7] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[2]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a27e50 size=26 ############ void Unwind_181a27e50(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x170)); } ############ FUN_ 181a27e70 size=26 ############ void Unwind_181a27e70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x178)); } ############ FUN_ 181a27f00 size=26 ############ void Unwind_181a27f00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x148)); } ############ FUN_ 18056a180 size=78 ############ void FUN_18056a180(longlong *param_1) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18067d0a0 size=220 ############ void FUN_18067d0a0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::SecretDataRecord::vftable; pvVar1 = (void *)param_1[8]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[10] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[5]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[7] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[2]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a27910 size=26 ############ void Unwind_181a27910(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd8)); } ############ FUN_ 18067ae90 size=254 ############ void FUN_18067ae90(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::DatabaseCommitItem::vftable; pvVar1 = (void *)param_1[0xc]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xe] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if (0xf < (ulonglong)param_1[10]) { pvVar1 = (void *)param_1[7]; pvVar2 = pvVar1; if ((0xfff < param_1[10] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[9] = 0; param_1[10] = 0xf; *(undefined1 *)(param_1 + 7) = 0; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar1 = (void *)param_1[2]; pvVar2 = pvVar1; if ((0xfff < param_1[5] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067b080 size=141 ############ void FUN_18067b080(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::authorize::DlcCloudAuthKeyExchangeInput::vftable; if ((ulonglong)param_1[0x6c] < 0x10) { param_1[0x6b] = 0; param_1[0x6c] = 0xf; *(undefined1 *)(param_1 + 0x69) = 0; FUN_1805b7c40(param_1 + 0x5f); FUN_1805753e0(param_1 + 1); return; } pvVar1 = (void *)param_1[0x69]; _Memory = pvVar1; if ((0xfff < param_1[0x6c] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806802c0 size=177 ############ void FUN_1806802c0(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0x11) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x88) * 0x88)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a27930 size=26 ############ void Unwind_181a27930(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb8)); } ############ FUN_ 181a27950 size=26 ############ void Unwind_181a27950(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 181a279b0 size=26 ############ void Unwind_181a279b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x5e0)); } ############ FUN_ 181a27a40 size=26 ############ void Unwind_181a27a40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x120)); } ############ FUN_ 181a27a60 size=26 ############ void Unwind_181a27a60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x128)); } ############ FUN_ 181a27a80 size=26 ############ void Unwind_181a27a80(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x130)); } ############ FUN_ 181a27aa0 size=26 ############ void Unwind_181a27aa0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1b0)); } ############ FUN_ 181a288f0 size=26 ############ void Unwind_181a288f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1d0)); } ############ FUN_ 181a28930 size=26 ############ void Unwind_181a28930(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x510)); } ############ FUN_ 181a28950 size=26 ############ void Unwind_181a28950(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x518)); } ############ FUN_ 181a28970 size=26 ############ void Unwind_181a28970(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x310)); } ############ FUN_ 181a28990 size=26 ############ void Unwind_181a28990(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x520)); } ############ FUN_ 181a289b0 size=26 ############ void Unwind_181a289b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x580)); } ############ FUN_ 180680200 size=175 ############ void FUN_180680200(longlong *param_1) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0xc) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x60) * 0x60)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a289d0 size=26 ############ void Unwind_181a289d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x588)); } ############ FUN_ 181a289f0 size=26 ############ void Unwind_181a289f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x590)); } ############ FUN_ 181a28a10 size=26 ############ void Unwind_181a28a10(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x598)); } ############ FUN_ 181a28a30 size=26 ############ void Unwind_181a28a30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x5a0)); } ############ FUN_ 181a28a50 size=26 ############ void Unwind_181a28a50(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x5b0)); } ############ FUN_ 18078b8c0 size=317 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18078b8c0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_78 [32]; short local_58 [2]; int local_54; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; local_38 = 0; local_30 = 0xf; local_48 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_48); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); while (local_54 != 0) { if ((local_58[0] == 10000) && (local_54 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0xc) = 1; } else { FUN_1806d8eb0(param_2,local_54); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); } (**(code **)(*param_2 + 200))(param_2); if (0xf < local_30) { pvVar1 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar1; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } ############ FUN_ 18067d5e0 size=83 ############ void FUN_18067d5e0(longlong *param_1) { void *pvVar1; void *_Memory; FUN_1806224a0(param_1 + 4); pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[2] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806224a0 size=140 ############ void FUN_1806224a0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *param_1; _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18047e3b0(param_1,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*param_1 + 8) = lVar1; *(longlong *)*param_1 = lVar1; *(longlong *)(*param_1 + 0x10) = lVar1; param_1[1] = 0; /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 181a28bc0 size=26 ############ void Unwind_181a28bc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x180)); } ############ FUN_ 18067b5f0 size=187 ############ void FUN_18067b5f0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::FindSoftwareLicensesInput::vftable; if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a28c00 size=26 ############ void Unwind_181a28c00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x488)); } ############ FUN_ 181a28c20 size=26 ############ void Unwind_181a28c20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x490)); } ############ FUN_ 181a28c40 size=26 ############ void Unwind_181a28c40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x4b8)); } ############ FUN_ 181a28c60 size=26 ############ void Unwind_181a28c60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x4c0)); } ############ FUN_ 181a28c80 size=26 ############ void Unwind_181a28c80(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x4c8)); } ############ FUN_ 181a28ca0 size=26 ############ void Unwind_181a28ca0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x4d0)); } ############ FUN_ 181a28cc0 size=26 ############ void Unwind_181a28cc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x4e0)); } ############ FUN_ 181a28ce0 size=26 ############ void Unwind_181a28ce0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x4f0)); } ############ FUN_ 181a28d00 size=26 ############ void Unwind_181a28d00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x4f8)); } ############ FUN_ 181a28d20 size=26 ############ void Unwind_181a28d20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x4a0)); } ############ FUN_ 181a28d40 size=26 ############ void Unwind_181a28d40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x3e0)); } ############ FUN_ 181a28d60 size=26 ############ void Unwind_181a28d60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 1000)); } ############ FUN_ 181a28d80 size=26 ############ void Unwind_181a28d80(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x3f0)); } ############ FUN_ 181a28da0 size=26 ############ void Unwind_181a28da0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x3f8)); } ############ FUN_ 181a28dc0 size=26 ############ void Unwind_181a28dc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x400)); } ############ FUN_ 181a28de0 size=26 ############ void Unwind_181a28de0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x408)); } ############ FUN_ 181a28e00 size=26 ############ void Unwind_181a28e00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x418)); } ############ FUN_ 181a28e20 size=26 ############ void Unwind_181a28e20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x420)); } ############ FUN_ 181a28e40 size=26 ############ void Unwind_181a28e40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x428)); } ############ FUN_ 181a28e60 size=26 ############ void Unwind_181a28e60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x430)); } ############ FUN_ 181a28e80 size=26 ############ void Unwind_181a28e80(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x438)); } ############ FUN_ 181a28ea0 size=26 ############ void Unwind_181a28ea0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x440)); } ############ FUN_ 181a28ec0 size=26 ############ void Unwind_181a28ec0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x448)); } ############ FUN_ 181a28ee0 size=26 ############ void Unwind_181a28ee0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x450)); } ############ FUN_ 181a28f00 size=26 ############ void Unwind_181a28f00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x458)); } ############ FUN_ 181a28f20 size=26 ############ void Unwind_181a28f20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x460)); } ############ FUN_ 181a28f40 size=26 ############ void Unwind_181a28f40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x468)); } ############ FUN_ 181a28f60 size=26 ############ void Unwind_181a28f60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x4e8)); } ############ FUN_ 181a28f80 size=26 ############ void Unwind_181a28f80(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x498)); } ############ FUN_ 181a28fa0 size=26 ############ void Unwind_181a28fa0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 400)); } ############ FUN_ 18067acf0 size=99 ############ void FUN_18067acf0(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::authorize::ChallengeLicenseDbInput::vftable; pvVar1 = (void *)param_1[0x5f]; if (pvVar1 == (void *)0x0) { FUN_1805753e0(param_1 + 1); return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[0x61] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18067ad70 size=85 ############ void FUN_18067ad70(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::authorize::ChallengeLicenseDbReturn::vftable; pvVar1 = (void *)param_1[1]; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[3] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a29020 size=26 ############ void Unwind_181a29020(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a26620 size=23 ############ void Unwind_181a26620(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a16230 size=23 ############ void Unwind_181a16230(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a26650 size=23 ############ void Unwind_181a26650(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a266a0 size=23 ############ void Unwind_181a266a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a266c0 size=23 ############ void Unwind_181a266c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a161d0 size=23 ############ void Unwind_181a161d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a266e0 size=26 ############ void Unwind_181a266e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a26700 size=26 ############ void Unwind_181a26700(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a26190 size=23 ############ void Unwind_181a26190(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a261c0 size=23 ############ void Unwind_181a261c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a261f0 size=23 ############ void Unwind_181a261f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a294f0 size=23 ############ void Unwind_181a294f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a29400 size=23 ############ void Unwind_181a29400(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a15ba0 size=23 ############ void Unwind_181a15ba0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a29830 size=23 ############ void Unwind_181a29830(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a1bbc0 size=23 ############ void Unwind_181a1bbc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a29d10 size=23 ############ void Unwind_181a29d10(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 1807263b0 size=43 ############ void FUN_1807263b0(longlong *param_1) { if (param_1 != (longlong *)0x0) { FUN_180726780(*param_1 + 0x28,param_1 + 1); /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 181a2a23c size=23 ############ void Unwind_181a2a23c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 1807270d0 size=202 ############ void * FUN_1807270d0(void *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { LPCRITICAL_SECTION lpCriticalSection; longlong *plVar1; undefined8 *puVar2; longlong lVar3; int iVar4; bool bVar5; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; lpCriticalSection = *(LPCRITICAL_SECTION *)((longlong)param_1 + 8); if (lpCriticalSection != (LPCRITICAL_SECTION)0x0) { for (plVar1 = *(longlong **)&lpCriticalSection[1].LockCount; plVar1 != (longlong *)0x0; plVar1 = (longlong *)plVar1[4]) { (**(code **)(*plVar1 + 8))(plVar1); } lVar3._0_4_ = lpCriticalSection[1].LockCount; lVar3._4_4_ = lpCriticalSection[1].RecursionCount; while (lVar3 != 0) { puVar2 = *(undefined8 **)&lpCriticalSection[1].LockCount; lVar3 = puVar2[4]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1,param_3,param_4,uVar6); } lpCriticalSection[1].LockCount = (int)lVar3; lpCriticalSection[1].RecursionCount = (int)((ulonglong)lVar3 >> 0x20); } DeleteCriticalSection(lpCriticalSection); /* WARNING: Subroutine does not return */ free(lpCriticalSection); } LOCK(); iVar4 = DAT_18265dcc0 + -1; UNLOCK(); bVar5 = DAT_18265dcc0 == 1; DAT_18265dcc0 = iVar4; if (bVar5) { Ordinal_116(); } if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 181a2a570 size=23 ############ void Unwind_181a2a570(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a2a5e0 size=23 ############ void Unwind_181a2a5e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 1807509f0 size=79 ############ void FUN_1807509f0(longlong *param_1) { undefined8 *puVar1; void *_Memory; puVar1 = (undefined8 *)*param_1; _Memory = (void *)*puVar1; *puVar1 = puVar1; *(longlong *)(*param_1 + 8) = *param_1; param_1[1] = 0; if (_Memory != (void *)*param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 18077ae60 size=137 ############ void FUN_18077ae60(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *param_1; _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18077ad30(param_1,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); FUN_1807dc8a0((longlong)_Memory + 0x28); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*param_1 + 8) = lVar1; *(longlong *)*param_1 = lVar1; *(longlong *)(*param_1 + 0x10) = lVar1; param_1[1] = 0; return; } ############ FUN_ 18077ad30 size=85 ############ void FUN_18077ad30(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_18077ad30(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); FUN_1807dc8a0((longlong)param_2 + 0x28); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 180750a50 size=174 ############ void FUN_180750a50(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::ilok::CommandPacket::vftable; pvVar1 = (void *)param_1[0xf]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x11] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0xc]; if (pvVar1 == (void *)0x0) { param_1[6] = pace::eden::thrift::ilok::CommandTarget::vftable; param_1[1] = pace::eden::thrift::ilok::CommandTarget::vftable; return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xe] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180750cf0 size=214 ############ void FUN_180750cf0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::ilok::ResultPacket::vftable; pvVar1 = (void *)param_1[0x28]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x2a] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x25]; if (pvVar1 == (void *)0x0) { param_1[6] = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(param_1 + 0x11); FUN_18067b220(param_1 + 7); param_1[1] = pace::eden::thrift::ilok::CommandTarget::vftable; return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x27] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067b2e0 size=362 ############ void FUN_18067b2e0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::exception::ExceptionInfoPace::vftable; if (0xf < (ulonglong)param_1[0x11]) { pvVar1 = (void *)param_1[0xe]; pvVar2 = pvVar1; if ((0xfff < param_1[0x11] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x11] = 0xf; param_1[0x10] = 0; *(undefined1 *)(param_1 + 0xe) = 0; if (0xf < (ulonglong)param_1[0xd]) { pvVar1 = (void *)param_1[10]; pvVar2 = pvVar1; if ((0xfff < param_1[0xd] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xc] = 0; param_1[0xd] = 0xf; *(undefined1 *)(param_1 + 10) = 0; if (0xf < (ulonglong)param_1[9]) { pvVar1 = (void *)param_1[6]; pvVar2 = pvVar1; if ((0xfff < param_1[9] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a2a910 size=26 ############ void Unwind_181a2a910(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x110)); } ############ FUN_ 181a2a7d0 size=26 ############ void Unwind_181a2a7d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x330)); } ############ FUN_ 181a2a7f0 size=26 ############ void Unwind_181a2a7f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x338)); } ############ FUN_ 181a2a810 size=26 ############ void Unwind_181a2a810(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x340)); } ############ FUN_ 181a2a8f0 size=26 ############ void Unwind_181a2a8f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x188)); } ############ FUN_ 181a2a930 size=26 ############ void Unwind_181a2a930(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x118)); } ############ FUN_ 181a2a950 size=26 ############ void Unwind_181a2a950(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x208)); } ############ FUN_ 181a2a970 size=26 ############ void Unwind_181a2a970(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x210)); } ############ FUN_ 181a2aaf0 size=26 ############ void Unwind_181a2aaf0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x378)); } ############ FUN_ 1805d66b0 size=124 ############ void FUN_1805d66b0(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = apache::thrift::TException::vftable; if ((ulonglong)param_1[6] < 0x10) { param_1[5] = 0; param_1[6] = 0xf; *(undefined1 *)(param_1 + 3) = 0; *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); return; } pvVar1 = (void *)param_1[3]; _Memory = pvVar1; if ((0xfff < param_1[6] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a2baa0 size=26 ############ void Unwind_181a2baa0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x140)); } ############ FUN_ 1807ec3f0 size=180 ############ void FUN_1807ec3f0(longlong param_1) { longlong *plVar1; void *pvVar2; void *_Memory; longlong lVar3; lVar3 = *(longlong *)(param_1 + 0x20); while (lVar3 != 0) { plVar1 = (longlong *)(param_1 + 0x20); *plVar1 = *plVar1 + -1; if (*plVar1 == 0) { *(undefined8 *)(param_1 + 0x18) = 0; } lVar3 = *(longlong *)(param_1 + 0x20); } lVar3 = *(longlong *)(param_1 + 0x10); while (lVar3 != 0) { lVar3 = lVar3 + -1; pvVar2 = *(void **)(*(longlong *)(param_1 + 8) + lVar3 * 8); if (pvVar2 != (void *)0x0) { /* WARNING: Subroutine does not return */ free(pvVar2); } } pvVar2 = *(void **)(param_1 + 8); if (pvVar2 == (void *)0x0) { *(undefined8 *)(param_1 + 0x10) = 0; *(undefined8 *)(param_1 + 8) = 0; return; } _Memory = pvVar2; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x10) << 3)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1807ec060 size=27 ############ void FUN_1807ec060(undefined8 *param_1) { FUN_1807ec3f0(); /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 18047c710 size=127 ############ void FUN_18047c710(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *param_1; _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18047ceb0(param_1,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*param_1 + 8) = lVar1; *(longlong *)*param_1 = lVar1; *(longlong *)(*param_1 + 0x10) = lVar1; param_1[1] = 0; return; } ############ FUN_ 18047ceb0 size=76 ############ void FUN_18047ceb0(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_18047ceb0(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 181a2c0e0 size=23 ############ void Unwind_181a2c0e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 180807600 size=100 ############ void FUN_180807600(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_180807600(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); *(undefined ***)((longlong)param_2 + 0x40) = license_services::LsRelation::vftable; *(undefined ***)((longlong)param_2 + 0x20) = license_services::LsRelation::vftable; /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 180800d80 size=51 ############ void FUN_180800d80(undefined8 *param_1) { undefined1 local_res8 [32]; FUN_180807a80(param_1,local_res8,*(undefined8 *)*param_1,(undefined8 *)*param_1,0xfffffffffffffffe ); /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 180807a80 size=401 ############ undefined8 * FUN_180807a80(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { char cVar1; longlong *plVar2; void *pvVar3; longlong *plVar4; longlong *plVar5; void *_Memory; void *_Memory_00; plVar2 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar2) && (param_4 == plVar2)) { FUN_1808076f0(param_1,plVar2[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar2; *(longlong **)*param_1 = plVar2; *(longlong **)(*param_1 + 0x10) = plVar2; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar2 = param_3; while ((plVar4 = plVar5, cVar1 == '\0' && (plVar2 == (longlong *)plVar4[2]))) { cVar1 = *(char *)(plVar4[1] + 0x19); plVar5 = (longlong *)plVar4[1]; plVar2 = plVar4; } } plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar2 = (longlong *)param_3[1]; while ((plVar5 = plVar2, cVar1 == '\0' && (param_3 == (longlong *)plVar5[2]))) { cVar1 = *(char *)(plVar5[1] + 0x19); plVar2 = (longlong *)plVar5[1]; param_3 = plVar5; } } _Memory = (void *)FUN_180715ef0(param_1); if (0xf < *(ulonglong *)((longlong)_Memory + 0x38)) { pvVar3 = *(void **)((longlong)_Memory + 0x20); _Memory_00 = pvVar3; if ((0xfff < *(ulonglong *)((longlong)_Memory + 0x38) + 1) && (_Memory_00 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory_00)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory_00); } *(undefined8 *)((longlong)_Memory + 0x30) = 0; *(undefined8 *)((longlong)_Memory + 0x38) = 0xf; *(undefined1 *)((longlong)_Memory + 0x20) = 0; /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 1808076f0 size=169 ############ void FUN_1808076f0(undefined8 param_1,void *param_2) { void *pvVar1; void *_Memory; if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_1808076f0(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); if (*(ulonglong *)((longlong)param_2 + 0x38) < 0x10) { *(undefined8 *)((longlong)param_2 + 0x30) = 0; *(undefined8 *)((longlong)param_2 + 0x38) = 0xf; *(undefined1 *)((longlong)param_2 + 0x20) = 0; /* WARNING: Subroutine does not return */ free(param_2); } pvVar1 = *(void **)((longlong)param_2 + 0x20); _Memory = pvVar1; if ((0xfff < *(ulonglong *)((longlong)param_2 + 0x38) + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a2be90 size=23 ############ void Unwind_181a2be90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a1a7d0 size=26 ############ void Unwind_181a1a7d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 180807590 size=108 ############ void FUN_180807590(undefined8 param_1,void *param_2) { void *pvVar1; void *_Memory; if (*(ulonglong *)((longlong)param_2 + 0x38) < 0x10) { *(undefined8 *)((longlong)param_2 + 0x30) = 0; *(undefined8 *)((longlong)param_2 + 0x38) = 0xf; *(undefined1 *)((longlong)param_2 + 0x20) = 0; /* WARNING: Subroutine does not return */ free(param_2); } pvVar1 = *(void **)((longlong)param_2 + 0x20); _Memory = pvVar1; if ((0xfff < *(ulonglong *)((longlong)param_2 + 0x38) + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a2c3c0 size=23 ############ void Unwind_181a2c3c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a2c3e0 size=23 ############ void Unwind_181a2c3e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a2c560 size=23 ############ void Unwind_181a2c560(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a2c580 size=23 ############ void Unwind_181a2c580(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a2c820 size=26 ############ void Unwind_181a2c820(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe0)); } ############ FUN_ 180848dc0 size=51 ############ void FUN_180848dc0(undefined8 *param_1) { undefined1 local_res8 [32]; FUN_18084e7f0(param_1,local_res8,*(undefined8 *)*param_1,(undefined8 *)*param_1,0xfffffffffffffffe ); /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 18084e7f0 size=401 ############ undefined8 * FUN_18084e7f0(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { char cVar1; longlong *plVar2; void *pvVar3; longlong *plVar4; longlong *plVar5; void *_Memory; void *_Memory_00; plVar2 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar2) && (param_4 == plVar2)) { FUN_180489c30(param_1,plVar2[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar2; *(longlong **)*param_1 = plVar2; *(longlong **)(*param_1 + 0x10) = plVar2; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar2 = param_3; while ((plVar4 = plVar5, cVar1 == '\0' && (plVar2 == (longlong *)plVar4[2]))) { cVar1 = *(char *)(plVar4[1] + 0x19); plVar5 = (longlong *)plVar4[1]; plVar2 = plVar4; } } plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar2 = (longlong *)param_3[1]; while ((plVar5 = plVar2, cVar1 == '\0' && (param_3 == (longlong *)plVar5[2]))) { cVar1 = *(char *)(plVar5[1] + 0x19); plVar2 = (longlong *)plVar5[1]; param_3 = plVar5; } } _Memory = (void *)FUN_180715ef0(param_1); if (0xf < *(ulonglong *)((longlong)_Memory + 0x38)) { pvVar3 = *(void **)((longlong)_Memory + 0x20); _Memory_00 = pvVar3; if ((0xfff < *(ulonglong *)((longlong)_Memory + 0x38) + 1) && (_Memory_00 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory_00)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory_00); } *(undefined8 *)((longlong)_Memory + 0x30) = 0; *(undefined8 *)((longlong)_Memory + 0x38) = 0xf; *(undefined1 *)((longlong)_Memory + 0x20) = 0; /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 180489c30 size=169 ############ void FUN_180489c30(undefined8 param_1,void *param_2) { void *pvVar1; void *_Memory; if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_180489c30(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); if (*(ulonglong *)((longlong)param_2 + 0x38) < 0x10) { *(undefined8 *)((longlong)param_2 + 0x30) = 0; *(undefined8 *)((longlong)param_2 + 0x38) = 0xf; *(undefined1 *)((longlong)param_2 + 0x20) = 0; /* WARNING: Subroutine does not return */ free(param_2); } pvVar1 = *(void **)((longlong)param_2 + 0x20); _Memory = pvVar1; if ((0xfff < *(ulonglong *)((longlong)param_2 + 0x38) + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a2cb40 size=23 ############ void Unwind_181a2cb40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a2cc40 size=23 ############ void Unwind_181a2cc40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a2cda0 size=23 ############ void Unwind_181a2cda0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a2cdc0 size=23 ############ void Unwind_181a2cdc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a2ce00 size=26 ############ void Unwind_181a2ce00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a2ce30 size=23 ############ void Unwind_181a2ce30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a2d198 size=26 ############ void Unwind_181a2d198(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a2d3f0 size=23 ############ void Unwind_181a2d3f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a2d419 size=23 ############ void Unwind_181a2d419(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a2d489 size=23 ############ void Unwind_181a2d489(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a2db1c size=23 ############ void Unwind_181a2db1c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a2df1c size=23 ############ void Unwind_181a2df1c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a2d867 size=26 ############ void Unwind_181a2d867(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x248)); } ############ FUN_ 181a2dd0c size=26 ############ void Unwind_181a2dd0c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x178)); } ############ FUN_ 180926f60 size=189 ############ void FUN_180926f60(void *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; longlong lVar5; undefined8 uVar6; undefined1 local_20 [24]; if (param_1 == (void *)0x0) { return; } uVar6 = 0xfffffffffffffffe; plVar4 = *(longlong **)((longlong)param_1 + 0x28); if (plVar4 != (longlong *)0x0) { lVar5 = *plVar4; FUN_1805c8c70(); FUN_180928500(lVar5 + 0x28,plVar4 + 1,local_20,param_4,uVar6); FUN_180726fe0(plVar4 + 3); /* WARNING: Subroutine does not return */ free(plVar4); } plVar4 = *(longlong **)((longlong)param_1 + 0x20); if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } plVar4 = *(longlong **)((longlong)param_1 + 8); if (plVar4 != (longlong *)0x0) { LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(); } } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 181a2d0e0 size=23 ############ void Unwind_181a2d0e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 18092e830 size=188 ############ void FUN_18092e830(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::CloseDirectLocationConnectionInput::vftable; pvVar1 = (void *)param_1[100]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x66] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } FUN_1805753e0(param_1 + 6); if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18092e930 size=227 ############ void FUN_18092e930(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::OpenDirectLocationConnectionInput::vftable; pvVar1 = (void *)param_1[0x81]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x83] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } FUN_1805753e0(param_1 + 0x23); if ((ulonglong)param_1[0x22] < 0x10) { param_1[0x21] = 0; param_1[0x22] = 0xf; *(undefined1 *)(param_1 + 0x1f) = 0; FUN_180750a50(param_1 + 0xc); FUN_1806798f0(param_1 + 1); return; } pvVar1 = (void *)param_1[0x1f]; pvVar2 = pvVar1; if ((0xfff < param_1[0x22] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1806431b0 size=85 ############ void FUN_1806431b0(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::ilok::Ilok2CertChain::vftable; pvVar1 = (void *)param_1[2]; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18092ea30 size=155 ############ void FUN_18092ea30(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::authorize::OpenDirectLocationConnectionReturn::vftable; FUN_180575070(param_1 + 0x3b); FUN_180750cf0(param_1 + 0xf); FUN_1806431b0(param_1 + 9); FUN_1805bc170(param_1 + 6); if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; _Memory = pvVar1; if ((0xfff < param_1[4] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a2e2a0 size=23 ############ void Unwind_181a2e2a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 180933d10 size=204 ############ void FUN_180933d10(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::DoDirectIlokCommandInput::vftable; pvVar1 = (void *)param_1[0x77]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x79] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } FUN_1805753e0(param_1 + 0x19); FUN_180750a50(param_1 + 5); if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a2e3d0 size=23 ############ void Unwind_181a2e3d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a2e4d0 size=26 ############ void Unwind_181a2e4d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x2d0)); } ############ FUN_ 181a2e4f0 size=26 ############ void Unwind_181a2e4f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x2e0)); } ############ FUN_ 181a2ea8e size=23 ############ void Unwind_181a2ea8e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a2eb70 size=23 ############ void Unwind_181a2eb70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a2ebc8 size=23 ############ void Unwind_181a2ebc8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 18097d840 size=135 ############ void FUN_18097d840(undefined8 *param_1,undefined8 *param_2) { int *piVar1; int iVar2; undefined8 *_Memory; do { if (param_1 == param_2) { return; } _Memory = (undefined8 *)*param_1; if (_Memory != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(_Memory + 3); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if ((iVar2 == 1) && (_Memory != (undefined8 *)0x0)) { if ((longlong)_Memory[1] - 1U < 0xfffffffffffffffe) { CloseHandle((HANDLE)_Memory[1]); } if ((longlong)*_Memory - 1U < 0xfffffffffffffffe) { CloseHandle((HANDLE)*_Memory); } /* WARNING: Subroutine does not return */ free(_Memory); } } param_1 = param_1 + 1; } while( true ); } ############ FUN_ 18097d920 size=44 ############ void FUN_18097d920(void *param_1) { HANDLE hObject; if (param_1 != (void *)0x0) { LOCK(); hObject = *(HANDLE *)((longlong)param_1 + 8); *(undefined8 *)((longlong)param_1 + 8) = 0; UNLOCK(); if (hObject != (HANDLE)0x0) { CloseHandle(hObject); } /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 181a18100 size=23 ############ void Unwind_181a18100(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a2eda0 size=23 ############ void Unwind_181a2eda0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 18097ed90 size=45 ############ void FUN_18097ed90(longlong *param_1) { undefined8 *puVar1; if (param_1 != (longlong *)0x0) { puVar1 = (undefined8 *)*param_1; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 181a2ee70 size=23 ############ void Unwind_181a2ee70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 180686270 size=127 ############ void FUN_180686270(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *param_1; _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18056b2f0(param_1,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*param_1 + 8) = lVar1; *(longlong *)*param_1 = lVar1; *(longlong *)(*param_1 + 0x10) = lVar1; param_1[1] = 0; return; } ############ FUN_ 181a30700 size=26 ############ void Unwind_181a30700(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1a0)); } ############ FUN_ 181a307c0 size=23 ############ void Unwind_181a307c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a307e0 size=26 ############ void Unwind_181a307e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x138)); } ############ FUN_ 181a30850 size=26 ############ void Unwind_181a30850(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1c0)); } ############ FUN_ 181a30810 size=23 ############ void Unwind_181a30810(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a30830 size=26 ############ void Unwind_181a30830(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1d8)); } ############ FUN_ 181a30880 size=26 ############ void Unwind_181a30880(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1f0)); } ############ FUN_ 181a308a0 size=26 ############ void Unwind_181a308a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1a8)); } ############ FUN_ 181a30a90 size=23 ############ void Unwind_181a30a90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a30ab0 size=23 ############ void Unwind_181a30ab0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a30ad0 size=23 ############ void Unwind_181a30ad0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a30af0 size=23 ############ void Unwind_181a30af0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a30bc0 size=23 ############ void Unwind_181a30bc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a30be0 size=23 ############ void Unwind_181a30be0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a30d00 size=23 ############ void Unwind_181a30d00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a30d20 size=26 ############ void Unwind_181a30d20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a31000 size=23 ############ void Unwind_181a31000(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 180a45430 size=179 ############ void FUN_180a45430(longlong *param_1) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; void *pvVar5; longlong lVar6; void *_Memory; plVar4 = (longlong *)param_1[5]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if ((ulonglong)param_1[3] < 0x10) { param_1[2] = 0; param_1[3] = 0xf; *(undefined1 *)param_1 = 0; return; } pvVar5 = (void *)*param_1; _Memory = pvVar5; if ((0xfff < param_1[3] + 1U) && (_Memory = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180a42800 size=188 ############ void FUN_180a42800(longlong *param_1) { void *pvVar1; void *pvVar2; if (param_1 == (longlong *)0x0) { return; } pvVar1 = (void *)param_1[9]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (param_1[0xb] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[4] = (longlong)license_services::LsRelation::vftable; if ((ulonglong)param_1[3] < 0x10) { param_1[2] = 0; param_1[3] = 0xf; *(undefined1 *)param_1 = 0; /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = (void *)*param_1; pvVar2 = pvVar1; if ((0xfff < param_1[3] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180a428e0 size=178 ############ void FUN_180a428e0(undefined8 param_1,longlong *param_2) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; void *pvVar5; longlong lVar6; void *_Memory; plVar4 = (longlong *)param_2[5]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if ((ulonglong)param_2[3] < 0x10) { param_2[2] = 0; param_2[3] = 0xf; *(undefined1 *)param_2 = 0; return; } pvVar5 = (void *)*param_2; _Memory = pvVar5; if ((0xfff < param_2[3] + 1U) && (_Memory = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a31110 size=23 ############ void Unwind_181a31110(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a31130 size=23 ############ void Unwind_181a31130(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a311a0 size=23 ############ void Unwind_181a311a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a311c0 size=23 ############ void Unwind_181a311c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a31260 size=23 ############ void Unwind_181a31260(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a31280 size=23 ############ void Unwind_181a31280(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a15040 size=23 ############ void Unwind_181a15040(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a312e0 size=23 ############ void Unwind_181a312e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a31380 size=23 ############ void Unwind_181a31380(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a313a0 size=23 ############ void Unwind_181a313a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a313c0 size=23 ############ void Unwind_181a313c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a1cf30 size=23 ############ void Unwind_181a1cf30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a314c0 size=23 ############ void Unwind_181a314c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a314f0 size=23 ############ void Unwind_181a314f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a31510 size=23 ############ void Unwind_181a31510(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a315a0 size=26 ############ void Unwind_181a315a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 1805bcdc0 size=127 ############ void FUN_1805bcdc0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *param_1; _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18047e3b0(param_1,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*param_1 + 8) = lVar1; *(longlong *)*param_1 = lVar1; *(longlong *)(*param_1 + 0x10) = lVar1; param_1[1] = 0; return; } ############ FUN_ 181a31ef0 size=23 ############ void Unwind_181a31ef0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a31f50 size=23 ############ void Unwind_181a31f50(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a31f90 size=26 ############ void Unwind_181a31f90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 18080c630 size=766 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18080c630(undefined1 *param_1,longlong param_2,undefined8 *param_3,longlong *param_4, longlong *param_5) { ulonglong uVar1; void *pvVar2; basic_ostream_> *pbVar3; undefined8 *puVar4; basic_ostream_> *pbVar5; void *pvVar6; longlong *plVar7; longlong lVar8; ulonglong *puVar9; longlong lVar10; undefined1 auStack_1b8 [32]; undefined4 local_198; ulonglong local_190 [2]; undefined8 local_180; undefined1 *local_178; int iStack_16c; undefined *local_168; undefined **local_160; basic_ostream_> local_158 [16]; longlong *local_148; longlong *local_140; longlong *local_128; ulonglong *local_120; int *local_110; ulonglong local_f8; uint local_f0; basic_ios_> local_e0 [104]; undefined1 local_78 [16]; longlong *local_68; longlong *local_60; ulonglong local_58; local_180 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_1b8; local_60 = param_5; local_198 = 0; local_168 = &DAT_181bb3cc0; local_178 = param_1; local_68 = param_4; std::basic_ios_>::basic_ios_>(local_e0); local_198 = 2; std::basic_ostream_>::basic_ostream_> ((basic_ostream_> *)&local_168, (basic_streambuf_> *)&local_160,false); *(undefined ***)((longlong)&local_168 + (longlong)*(int *)(local_168 + 4)) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)((longlong)&iStack_16c + (longlong)*(int *)(local_168 + 4)) = *(int *)(local_168 + 4) + -0x88; std::basic_streambuf_>::basic_streambuf_> ((basic_streambuf_> *)&local_160); local_160 = std::basic_stringbuf,std::allocator_>::vftable; local_f8 = 0; local_f0 = 4; puVar4 = param_3 + 2; if (0xf < (ulonglong)param_3[3]) { param_3 = (undefined8 *)*param_3; } pbVar3 = (basic_ostream_> *)FUN_1805b0d80(&local_168,param_3,*puVar4); pbVar3[(longlong)*(int *)(*(longlong *)pbVar3 + 4) + 0x58] = (basic_ostream_>)0x20; puVar4 = (undefined8 *)std::setw((__int64)local_190); (*(code *)*puVar4)(pbVar3 + *(int *)(*(longlong *)pbVar3 + 4),puVar4[1]); pbVar5 = std::basic_ostream_>::operator<< (pbVar3,*(int *)(param_2 + 8)); plVar7 = param_5; if (0xf < (ulonglong)param_5[3]) { plVar7 = (longlong *)*param_5; } pbVar3 = (basic_ostream_> *)FUN_1805b0d80(pbVar5,plVar7,param_5[2]); puVar4 = (undefined8 *)std::setw((__int64)local_78); (*(code *)*puVar4)(pbVar3 + *(int *)(*(longlong *)pbVar3 + 4),puVar4[1]); pbVar5 = std::basic_ostream_>::operator<< (pbVar3,*(__int64 *)(param_2 + 0x10)); plVar7 = param_4; if (0xf < (ulonglong)param_4[3]) { plVar7 = (longlong *)*param_4; } FUN_1805b0d80(pbVar5,plVar7,param_4[2]); *(undefined8 *)(param_1 + 0x10) = 0; *(undefined8 *)(param_1 + 0x18) = 0xf; *param_1 = 0; local_198 = 10; if (((local_f0 & 2) == 0) && (uVar1 = *local_120, uVar1 != 0)) { lVar8 = *local_140; local_190[0] = uVar1; puVar9 = &local_f8; if (local_f8 <= uVar1) { puVar9 = local_190; } lVar10 = *puVar9 - lVar8; } else { if (((local_f0 & 4) != 0) || (*local_128 == 0)) goto LAB_18080c848; lVar8 = *local_148; lVar10 = (*local_110 - lVar8) + *local_128; } FUN_1805a6cb0(param_1,lVar8,lVar10); LAB_18080c848: *(undefined ***)((longlong)&local_168 + (longlong)*(int *)(local_168 + 4)) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)((longlong)&iStack_16c + (longlong)*(int *)(local_168 + 4)) = *(int *)(local_168 + 4) + -0x88; FUN_1805d0340(&local_160); std::basic_ostream_>::~basic_ostream_> (local_158); std::basic_ios_>::~basic_ios_>(local_e0); if (0xf < (ulonglong)param_4[3]) { pvVar2 = (void *)*param_4; pvVar6 = pvVar2; if ((0xfff < param_4[3] + 1U) && (pvVar6 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } param_4[2] = 0; param_4[3] = 0xf; *(undefined1 *)param_4 = 0; if ((ulonglong)param_5[3] < 0x10) { param_5[2] = 0; param_5[3] = 0xf; *(undefined1 *)param_5 = 0; } pvVar2 = (void *)*param_5; pvVar6 = pvVar2; if ((0xfff < param_5[3] + 1U) && (pvVar6 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } ############ FUN_ 181a32110 size=23 ############ void Unwind_181a32110(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a32130 size=23 ############ void Unwind_181a32130(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a32160 size=23 ############ void Unwind_181a32160(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a32180 size=26 ############ void Unwind_181a32180(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a32250 size=26 ############ void Unwind_181a32250(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a32270 size=26 ############ void Unwind_181a32270(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a32290 size=26 ############ void Unwind_181a32290(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a322b0 size=23 ############ void Unwind_181a322b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a322d0 size=26 ############ void Unwind_181a322d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a323b0 size=23 ############ void Unwind_181a323b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a323d0 size=26 ############ void Unwind_181a323d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a323f0 size=26 ############ void Unwind_181a323f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a32490 size=23 ############ void Unwind_181a32490(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a32500 size=23 ############ void Unwind_181a32500(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a325a0 size=23 ############ void Unwind_181a325a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a1c500 size=23 ############ void Unwind_181a1c500(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a325d0 size=26 ############ void Unwind_181a325d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a1acd0 size=23 ############ void Unwind_181a1acd0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a32790 size=26 ############ void Unwind_181a32790(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a32830 size=26 ############ void Unwind_181a32830(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a32850 size=23 ############ void Unwind_181a32850(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a328e0 size=23 ############ void Unwind_181a328e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a32900 size=23 ############ void Unwind_181a32900(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a329c0 size=26 ############ void Unwind_181a329c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a32f20 size=26 ############ void Unwind_181a32f20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x198)); } ############ FUN_ 181a32ea0 size=26 ############ void Unwind_181a32ea0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x178)); } ############ FUN_ 181a32f00 size=26 ############ void Unwind_181a32f00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x168)); } ############ FUN_ 181a33000 size=23 ############ void Unwind_181a33000(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a330c0 size=23 ############ void Unwind_181a330c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a330e0 size=23 ############ void Unwind_181a330e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a33180 size=26 ############ void Unwind_181a33180(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a33250 size=23 ############ void Unwind_181a33250(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a33310 size=26 ############ void Unwind_181a33310(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a333b0 size=23 ############ void Unwind_181a333b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a333d0 size=23 ############ void Unwind_181a333d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a333f0 size=23 ############ void Unwind_181a333f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a33480 size=26 ############ void Unwind_181a33480(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a334a0 size=26 ############ void Unwind_181a334a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a33500 size=23 ############ void Unwind_181a33500(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a33520 size=23 ############ void Unwind_181a33520(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a33a60 size=23 ############ void Unwind_181a33a60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 180bd2520 size=273 ############ void FUN_180bd2520(undefined8 *param_1) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; void *pvVar5; void *_Memory; longlong lVar6; lVar6 = param_1[4]; while (lVar6 != 0) { plVar4 = *(longlong **) (*(longlong *)(param_1[1] + (lVar6 + param_1[3] + -1 & param_1[2] - 1) * 8) + 8); if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)*plVar4)(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 8))(plVar4); } } } plVar4 = param_1 + 4; *plVar4 = *plVar4 + -1; if (*plVar4 == 0) { param_1[3] = 0; } lVar6 = param_1[4]; } lVar6 = param_1[2]; while (lVar6 != 0) { lVar6 = lVar6 + -1; pvVar5 = *(void **)(param_1[1] + lVar6 * 8); if (pvVar5 != (void *)0x0) { /* WARNING: Subroutine does not return */ free(pvVar5); } } pvVar5 = (void *)param_1[1]; if (pvVar5 != (void *)0x0) { _Memory = pvVar5; if ((0xfff < (ulonglong)(param_1[2] << 3)) && (_Memory = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } param_1[2] = 0; param_1[1] = 0; /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 180bc46d0 size=145 ############ void FUN_180bc46d0(undefined8 *param_1) { ulonglong uVar1; void *pvVar2; longlong *plVar3; void *_Memory; *param_1 = pace::dlc::ThreadLoopBase::vftable; uVar1 = param_1[0x10]; if (uVar1 < 0x10) { param_1[0xf] = 0; param_1[0x10] = 0xf; *(undefined1 *)(param_1 + 0xd) = 0; plVar3 = (longlong *)param_1[9]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,CONCAT71((int7)(uVar1 >> 8),plVar3 != param_1 + 2)); param_1[9] = 0; } return; } pvVar2 = (void *)param_1[0xd]; _Memory = pvVar2; if ((0xfff < uVar1 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180bd26d0 size=299 ############ void * FUN_180bd26d0(void *param_1,uint param_2) { void *pvVar1; void *pvVar2; if (0xf < *(ulonglong *)((longlong)param_1 + 0x60)) { pvVar1 = *(void **)((longlong)param_1 + 0x48); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)((longlong)param_1 + 0x60) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)((longlong)param_1 + 0x58) = 0; *(undefined8 *)((longlong)param_1 + 0x60) = 0xf; *(undefined1 *)((longlong)param_1 + 0x48) = 0; if (0xf < *(ulonglong *)((longlong)param_1 + 0x40)) { pvVar1 = *(void **)((longlong)param_1 + 0x28); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)((longlong)param_1 + 0x40) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)((longlong)param_1 + 0x38) = 0; *(undefined8 *)((longlong)param_1 + 0x40) = 0xf; *(undefined1 *)((longlong)param_1 + 0x28) = 0; if (*(ulonglong *)((longlong)param_1 + 0x20) < 0x10) { *(undefined8 *)((longlong)param_1 + 0x18) = 0; *(undefined8 *)((longlong)param_1 + 0x20) = 0xf; *(undefined1 *)((longlong)param_1 + 8) = 0; if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = *(void **)((longlong)param_1 + 8); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)((longlong)param_1 + 0x20) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 181a33ea0 size=23 ############ void Unwind_181a33ea0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181136ac0 size=181 ############ void FUN_181136ac0(undefined8 *param_1) { longlong *_Memory; longlong lVar1; void *pvVar2; void *_Memory_00; longlong lVar3; _Memory = (longlong *)*param_1; if (_Memory == (longlong *)0x0) { FUN_18047c710(param_1 + 1); /* WARNING: Subroutine does not return */ free((void *)param_1[1]); } lVar3 = *_Memory; if (lVar3 != 0) { lVar1 = _Memory[1]; for (; lVar3 != lVar1; lVar3 = lVar3 + 8) { FUN_18047e630(lVar3); } pvVar2 = (void *)*_Memory; _Memory_00 = pvVar2; if ((0xfff < (_Memory[2] - (longlong)pvVar2 & 0xfffffffffffffff8U)) && (_Memory_00 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory_00)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory_00); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a33edc size=23 ############ void Unwind_181a33edc(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a33f05 size=23 ############ void Unwind_181a33f05(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a33f3a size=26 ############ void Unwind_181a33f3a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a33fce size=23 ############ void Unwind_181a33fce(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a34003 size=23 ############ void Unwind_181a34003(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 18047ccf0 size=367 ############ undefined8 * FUN_18047ccf0(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { char cVar1; longlong *plVar2; longlong *plVar3; longlong *plVar4; void *_Memory; plVar2 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar2) && (param_4 == plVar2)) { FUN_18047de20(param_1,plVar2[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar2; *(longlong **)*param_1 = plVar2; *(longlong **)(*param_1 + 0x10) = plVar2; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar4 = (longlong *)param_3[1]; plVar2 = param_3; while ((plVar3 = plVar4, cVar1 == '\0' && (plVar2 == (longlong *)plVar3[2]))) { cVar1 = *(char *)(plVar3[1] + 0x19); plVar4 = (longlong *)plVar3[1]; plVar2 = plVar3; } } plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar2 = (longlong *)param_3[1]; while ((plVar4 = plVar2, cVar1 == '\0' && (param_3 == (longlong *)plVar4[2]))) { cVar1 = *(char *)(plVar4[1] + 0x19); plVar2 = (longlong *)plVar4[1]; param_3 = plVar4; } } _Memory = (void *)FUN_18047db40(param_1); *(undefined ***)((longlong)_Memory + 0x28) = Steinberg::String::vftable; if (*(void **)((longlong)_Memory + 0x30) == (void *)0x0) { *(undefined ***)((longlong)_Memory + 0x28) = Steinberg::ConstString::vftable; /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free(*(void **)((longlong)_Memory + 0x30)); } *param_2 = param_3; } return param_2; } ############ FUN_ 18047de20 size=123 ############ void FUN_18047de20(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_18047de20(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); *(undefined ***)((longlong)param_2 + 0x28) = Steinberg::String::vftable; if (*(void **)((longlong)param_2 + 0x30) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)param_2 + 0x30)); } *(undefined ***)((longlong)param_2 + 0x28) = Steinberg::ConstString::vftable; /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 18047d5c0 size=390 ############ undefined8 * FUN_18047d5c0(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { char cVar1; longlong *plVar2; longlong *plVar3; longlong *plVar4; void *_Memory; plVar2 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar2) && (param_4 == plVar2)) { FUN_18047e2c0(param_1,plVar2[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar2; *(longlong **)*param_1 = plVar2; *(longlong **)(*param_1 + 0x10) = plVar2; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar4 = (longlong *)param_3[1]; plVar2 = param_3; while ((plVar3 = plVar4, cVar1 == '\0' && (plVar2 == (longlong *)plVar3[2]))) { cVar1 = *(char *)(plVar3[1] + 0x19); plVar4 = (longlong *)plVar3[1]; plVar2 = plVar3; } } plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar2 = (longlong *)param_3[1]; while ((plVar4 = plVar2, cVar1 == '\0' && (param_3 == (longlong *)plVar4[2]))) { cVar1 = *(char *)(plVar4[1] + 0x19); plVar2 = (longlong *)plVar4[1]; param_3 = plVar4; } } _Memory = (void *)FUN_18047db40(param_1); *(undefined ***)((longlong)_Memory + 0x38) = Steinberg::String::vftable; if (*(void **)((longlong)_Memory + 0x40) == (void *)0x0) { *(undefined ***)((longlong)_Memory + 0x38) = Steinberg::ConstString::vftable; *(undefined ***)((longlong)_Memory + 0x20) = Steinberg::String::vftable; if (*(void **)((longlong)_Memory + 0x28) == (void *)0x0) { *(undefined ***)((longlong)_Memory + 0x20) = Steinberg::ConstString::vftable; /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free(*(void **)((longlong)_Memory + 0x28)); } /* WARNING: Subroutine does not return */ free(*(void **)((longlong)_Memory + 0x40)); } *param_2 = param_3; } return param_2; } ############ FUN_ 18047e2c0 size=146 ############ void FUN_18047e2c0(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_18047e2c0(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); *(undefined ***)((longlong)param_2 + 0x38) = Steinberg::String::vftable; if (*(void **)((longlong)param_2 + 0x40) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)param_2 + 0x40)); } *(undefined ***)((longlong)param_2 + 0x38) = Steinberg::ConstString::vftable; *(undefined ***)((longlong)param_2 + 0x20) = Steinberg::String::vftable; if (*(void **)((longlong)param_2 + 0x28) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)param_2 + 0x28)); } *(undefined ***)((longlong)param_2 + 0x20) = Steinberg::ConstString::vftable; /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 181a341d8 size=23 ############ void Unwind_181a341d8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181249e30 size=37 ############ void FUN_181249e30(longlong *param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*param_1 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Could not recover jumptable at 0x0001811328ae. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } } return; } ############ FUN_ 181a343f3 size=26 ############ void Unwind_181a343f3(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a34437 size=23 ############ void Unwind_181a34437(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 180489f00 size=358 ############ undefined8 * FUN_180489f00(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { uint uVar1; char cVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; void *_Memory; uint *_Memory_00; plVar3 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar3) && (param_4 == plVar3)) { FUN_18048a480(param_1,plVar3[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar3; *(longlong **)*param_1 = plVar3; *(longlong **)(*param_1 + 0x10) = plVar3; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar3 = param_3; while ((plVar4 = plVar5, cVar2 == '\0' && (plVar3 == (longlong *)plVar4[2]))) { cVar2 = *(char *)(plVar4[1] + 0x19); plVar5 = (longlong *)plVar4[1]; plVar3 = plVar4; } } plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar3 = (longlong *)param_3[1]; while ((plVar5 = plVar3, cVar2 == '\0' && (param_3 == (longlong *)plVar5[2]))) { cVar2 = *(char *)(plVar5[1] + 0x19); plVar3 = (longlong *)plVar5[1]; param_3 = plVar5; } } _Memory = (void *)FUN_18047db40(param_1); _Memory_00 = (uint *)(*(longlong *)((longlong)_Memory + 0x20) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 18048a480 size=114 ############ void FUN_18048a480(undefined8 param_1,void *param_2) { uint uVar1; uint *_Memory; if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_18048a480(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 180489d80 size=367 ############ undefined8 * FUN_180489d80(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { uint uVar1; char cVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; void *_Memory; uint *_Memory_00; plVar3 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar3) && (param_4 == plVar3)) { FUN_18048a3f0(param_1,plVar3[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar3; *(longlong **)*param_1 = plVar3; *(longlong **)(*param_1 + 0x10) = plVar3; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar3 = param_3; while ((plVar4 = plVar5, cVar2 == '\0' && (plVar3 == (longlong *)plVar4[2]))) { cVar2 = *(char *)(plVar4[1] + 0x19); plVar5 = (longlong *)plVar4[1]; plVar3 = plVar4; } } plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar3 = (longlong *)param_3[1]; while ((plVar5 = plVar3, cVar2 == '\0' && (param_3 == (longlong *)plVar5[2]))) { cVar2 = *(char *)(plVar5[1] + 0x19); plVar3 = (longlong *)plVar5[1]; param_3 = plVar5; } } _Memory = (void *)FUN_18047db40(param_1); FUN_180487600((longlong)_Memory + 0x28); _Memory_00 = (uint *)(*(longlong *)((longlong)_Memory + 0x20) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 18048a3f0 size=123 ############ void FUN_18048a3f0(undefined8 param_1,void *param_2) { uint uVar1; uint *_Memory; if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_18048a3f0(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); FUN_180487600((longlong)param_2 + 0x28); _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 180484000 size=38 ############ void FUN_180484000(longlong param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)(param_1 + 8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Could not recover jumptable at 0x0001811328ae. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } } return; } ############ FUN_ 180485a70 size=38 ############ void FUN_180485a70(longlong param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)(param_1 + 0x18) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Could not recover jumptable at 0x0001811328ae. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } } return; } ############ FUN_ 180473140 size=37 ############ void FUN_180473140(longlong *param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*param_1 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Could not recover jumptable at 0x0001811328ae. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } } return; } ############ FUN_ 181a34546 size=23 ############ void Unwind_181a34546(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a345ce size=26 ############ void Unwind_181a345ce(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 181a347ba size=23 ############ void Unwind_181a347ba(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 1804884f0 size=90 ############ void FUN_1804884f0(longlong *param_1) { void *pvVar1; void *_Memory; if (*param_1 == 0) { return; } FUN_1804896a0(param_1,*param_1,param_1[1]); pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1804896a0 size=89 ############ void FUN_1804896a0(undefined8 param_1,longlong *param_2,longlong *param_3) { uint uVar1; uint *_Memory; do { if (param_2 == param_3) { return; } _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_2 = param_2 + 1; } while( true ); } ############ FUN_ 180488190 size=182 ############ void FUN_180488190(basic_streambuf_> *param_1) { void *pvVar1; void *_Memory; longlong lVar2; *(undefined ***)param_1 = std::basic_stringbuf,std::allocator_>::vftable; if (((byte)param_1[0x70] & 1) == 0) { **(undefined8 **)(param_1 + 0x18) = 0; **(undefined8 **)(param_1 + 0x38) = 0; **(undefined4 **)(param_1 + 0x50) = 0; **(undefined8 **)(param_1 + 0x20) = 0; **(undefined8 **)(param_1 + 0x40) = 0; **(undefined4 **)(param_1 + 0x58) = 0; *(uint *)(param_1 + 0x70) = *(uint *)(param_1 + 0x70) & 0xfffffffe; *(undefined8 *)(param_1 + 0x68) = 0; /* WARNING: Could not recover jumptable at 0x000180488239. Too many branches */ /* WARNING: Treating indirect jump as call */ std::basic_streambuf_>:: ~basic_streambuf_>(param_1); return; } if (**(longlong **)(param_1 + 0x40) == 0) { lVar2 = (longlong)**(int **)(param_1 + 0x50) + **(longlong **)(param_1 + 0x38); } else { lVar2 = (longlong)**(int **)(param_1 + 0x58) + **(longlong **)(param_1 + 0x40); } pvVar1 = (void *)**(longlong **)(param_1 + 0x18); _Memory = pvVar1; if ((0xfff < (ulonglong)(lVar2 - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180485ae0 size=78 ############ void FUN_180485ae0(longlong *param_1) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1812472e0 size=125 ############ void FUN_1812472e0(longlong param_1) { uint uVar1; undefined8 *_Memory; uint *_Memory_00; if (*(longlong *)(param_1 + 8) != 0) { _Memory = *(undefined8 **)(param_1 + 8); *(undefined8 *)(param_1 + 8) = *_Memory; FUN_1812472e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } FUN_18049aca0(param_1 + 0x10); _Memory_00 = (uint *)(*(longlong *)(param_1 + 0x18) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } return; } ############ FUN_ 18049aca0 size=136 ############ void FUN_18049aca0(longlong *param_1) { uint uVar1; longlong *_Memory; uint *puVar2; if (*param_1 == 0) { return; } _Memory = (longlong *)*param_1; *param_1 = *_Memory; puVar2 = (uint *)(_Memory[2] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(_Memory[1] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a34897 size=23 ############ void Unwind_181a34897(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a34a35 size=26 ############ void Unwind_181a34a35(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 180484880 size=167 ############ void FUN_180484880(undefined8 *param_1) { uint uVar1; uint *puVar2; *param_1 = PresetDirectory::vftable; FUN_180485f00(param_1 + 7); puVar2 = (uint *)(param_1[6] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[5] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[4] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } *(undefined4 *)((longlong)param_1 + 0x14) = 0; /* WARNING: Could not recover jumptable at 0x000180484920. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)param_1[1]); return; } ############ FUN_ 181a34b5b size=26 ############ void Unwind_181a34b5b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 181a34b7b size=26 ############ void Unwind_181a34b7b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 180483920 size=130 ############ void FUN_180483920(longlong *param_1) { uint uVar1; uint *puVar2; puVar2 = (uint *)(param_1[2] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[1] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(*param_1 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 181a34cbb size=23 ############ void Unwind_181a34cbb(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a34d88 size=23 ############ void Unwind_181a34d88(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a34e91 size=23 ############ void Unwind_181a34e91(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 180486110 size=136 ############ void FUN_180486110(longlong *param_1) { longlong *plVar1; undefined8 *puVar2; void *pvVar3; void *_Memory; longlong *plVar4; plVar4 = (longlong *)*param_1; if (plVar4 == (longlong *)0x0) { return; } plVar1 = (longlong *)param_1[1]; for (; plVar4 != plVar1; plVar4 = plVar4 + 1) { puVar2 = (undefined8 *)*plVar4; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (param_1[2] - (longlong)pvVar3 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180486070 size=90 ############ void FUN_180486070(longlong *param_1) { void *pvVar1; void *_Memory; if (*param_1 == 0) { return; } FUN_180489640(param_1,*param_1,param_1[1]); pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180489640 size=86 ############ void FUN_180489640(undefined8 param_1,undefined8 *param_2,undefined8 *param_3) { void *_Memory; while( true ) { if (param_2 == param_3) { return; } _Memory = (void *)*param_2; if (_Memory != (void *)0x0) break; param_2 = param_2 + 1; } FUN_1811e6b70(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a34f9d size=26 ############ void Unwind_181a34f9d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 180488ea0 size=90 ############ void FUN_180488ea0(longlong *param_1) { void *pvVar1; void *_Memory; if (*param_1 == 0) { return; } FUN_18048c550(*param_1,param_1[1]); pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180489460 size=401 ############ undefined8 * FUN_180489460(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { char cVar1; longlong *plVar2; void *pvVar3; longlong *plVar4; longlong *plVar5; void *_Memory; void *_Memory_00; plVar2 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar2) && (param_4 == plVar2)) { FUN_180489c30(param_1,plVar2[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar2; *(longlong **)*param_1 = plVar2; *(longlong **)(*param_1 + 0x10) = plVar2; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar2 = param_3; while ((plVar4 = plVar5, cVar1 == '\0' && (plVar2 == (longlong *)plVar4[2]))) { cVar1 = *(char *)(plVar4[1] + 0x19); plVar5 = (longlong *)plVar4[1]; plVar2 = plVar4; } } plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar2 = (longlong *)param_3[1]; while ((plVar5 = plVar2, cVar1 == '\0' && (param_3 == (longlong *)plVar5[2]))) { cVar1 = *(char *)(plVar5[1] + 0x19); plVar2 = (longlong *)plVar5[1]; param_3 = plVar5; } } _Memory = (void *)FUN_18047db40(param_1); if (0xf < *(ulonglong *)((longlong)_Memory + 0x38)) { pvVar3 = *(void **)((longlong)_Memory + 0x20); _Memory_00 = pvVar3; if ((0xfff < *(ulonglong *)((longlong)_Memory + 0x38) + 1) && (_Memory_00 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory_00)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory_00); } *(undefined8 *)((longlong)_Memory + 0x30) = 0; *(undefined8 *)((longlong)_Memory + 0x38) = 0xf; *(undefined1 *)((longlong)_Memory + 0x20) = 0; /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 181a350e9 size=26 ############ void Unwind_181a350e9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x118)); } ############ FUN_ 181a35145 size=26 ############ void Unwind_181a35145(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x100)); } ############ FUN_ 180489730 size=358 ############ undefined8 * FUN_180489730(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { uint uVar1; char cVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; void *_Memory; uint *_Memory_00; plVar3 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar3) && (param_4 == plVar3)) { FUN_18048a070(param_1,plVar3[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar3; *(longlong **)*param_1 = plVar3; *(longlong **)(*param_1 + 0x10) = plVar3; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar3 = param_3; while ((plVar4 = plVar5, cVar2 == '\0' && (plVar3 == (longlong *)plVar4[2]))) { cVar2 = *(char *)(plVar4[1] + 0x19); plVar5 = (longlong *)plVar4[1]; plVar3 = plVar4; } } plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar3 = (longlong *)param_3[1]; while ((plVar5 = plVar3, cVar2 == '\0' && (param_3 == (longlong *)plVar5[2]))) { cVar2 = *(char *)(plVar5[1] + 0x19); plVar3 = (longlong *)plVar5[1]; param_3 = plVar5; } } _Memory = (void *)FUN_18047db40(param_1); _Memory_00 = (uint *)(*(longlong *)((longlong)_Memory + 0x20) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 18048a070 size=114 ############ void FUN_18048a070(undefined8 param_1,void *param_2) { uint uVar1; uint *_Memory; if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_18048a070(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 180486710 size=242 ############ void FUN_180486710(longlong param_1) { int iVar1; void *_Memory; longlong *plVar2; longlong lVar3; int iVar4; iVar4 = *(int *)(param_1 + 0x14) + -1; lVar3 = (longlong)iVar4; if (-1 < iVar4) { do { _Memory = *(void **)(*(longlong *)(param_1 + 8) + lVar3 * 8); if (_Memory != (void *)0x0) { plVar2 = *(longlong **)((longlong)_Memory + 0x40); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x20))(plVar2,plVar2 != (longlong *)((longlong)_Memory + 8)); *(undefined8 *)((longlong)_Memory + 0x40) = 0; } /* WARNING: Subroutine does not return */ free(_Memory); } if (-1 < lVar3) { if (iVar4 < *(int *)(param_1 + 0x14)) { *(undefined8 *)(*(longlong *)(param_1 + 8) + lVar3 * 8) = 0; } else { FUN_18047e060(param_1 + 8,*(int *)(param_1 + 0x14) + 1); iVar1 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar1 + 1; *(undefined8 *)(*(longlong *)(param_1 + 8) + (longlong)iVar1 * 8) = 0; } } iVar4 = iVar4 + -1; lVar3 = lVar3 + -1; } while (-1 < lVar3); } *(undefined8 *)(param_1 + 0x14) = 0; /* WARNING: Could not recover jumptable at 0x000180486800. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(*(void **)(param_1 + 8)); return; } ############ FUN_ 181a35691 size=23 ############ void Unwind_181a35691(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181244540 size=145 ############ void FUN_181244540(longlong *param_1) { uint uVar1; char cVar2; uint *puVar3; int iVar4; iVar4 = 4; do { cVar2 = FUN_181244b10(param_1); if (cVar2 != '\0') break; Sleep(0x32); iVar4 = iVar4 + -1; } while (-1 < iVar4); puVar3 = (uint *)(param_1[1] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(*param_1 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } return; } ############ FUN_ 181a35cc6 size=23 ############ void Unwind_181a35cc6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a35fc0 size=23 ############ void Unwind_181a35fc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181217e70 size=128 ############ void FUN_181217e70(undefined8 *param_1) { uint uVar1; uint *puVar2; *param_1 = juce::FileInputStream::vftable; CloseHandle((HANDLE)param_1[2]); puVar2 = (uint *)(param_1[4] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[1] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 181a36514 size=23 ############ void Unwind_181a36514(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181218b90 size=48 ############ void FUN_181218b90(undefined8 *param_1) { uint uVar1; uint *_Memory; *param_1 = juce::FileFilter::vftable; _Memory = (uint *)(param_1[1] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Could not recover jumptable at 0x0001811328ae. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } } return; } ############ FUN_ 18122ea20 size=48 ############ void FUN_18122ea20(undefined8 *param_1) { uint uVar1; uint *_Memory; *param_1 = juce::OutputStream::vftable; _Memory = (uint *)(param_1[1] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Could not recover jumptable at 0x0001811328ae. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } } return; } ############ FUN_ 181a3664f size=23 ############ void Unwind_181a3664f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a36688 size=23 ############ void Unwind_181a36688(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a366a5 size=23 ############ void Unwind_181a366a5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a366e2 size=23 ############ void Unwind_181a366e2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a36723 size=23 ############ void Unwind_181a36723(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a36854 size=26 ############ void Unwind_181a36854(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 181a36874 size=23 ############ void Unwind_181a36874(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a368fd size=23 ############ void Unwind_181a368fd(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a369c2 size=23 ############ void Unwind_181a369c2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 18049b770 size=88 ############ void FUN_18049b770(longlong *param_1) { longlong *_Memory; _Memory = (longlong *)param_1[7]; if (_Memory != (longlong *)0x0) { if ((undefined **)*_Memory != std:: _Func_impl_no_alloc ::vftable) { (*(code *)((undefined **)*_Memory)[4])(); param_1[7] = 0; return; } if (_Memory != param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } param_1[7] = 0; } return; } ############ FUN_ 180496df0 size=82 ############ longlong FUN_180496df0(undefined8 param_1,longlong param_2) { uint uVar1; undefined8 uVar2; uint *_Memory; longlong local_res10 [3]; local_res10[0] = param_2; uVar2 = FUN_180496c40(param_1,local_res10); FUN_18123a0b0(param_2,uVar2); _Memory = (uint *)(local_res10[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_2; } ############ FUN_ 181232aa0 size=118 ############ longlong * FUN_181232aa0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; longlong *plVar3; uint *_Memory; plVar3 = (longlong *)FUN_181232d30(param_2,param_3,param_3,param_4,0xfffffffffffffffe); lVar2 = *plVar3; *param_1 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 181232d30 size=210 ############ longlong * FUN_181232d30(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; longlong lVar2; uint uVar3; char *pcVar4; uint *_Memory; longlong lVar5; char *local_res8 [4]; pcVar4 = (char *)*param_1; if (*pcVar4 == '\0') { if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*param_2 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar2 = *param_1; *param_1 = *param_2; UNLOCK(); _Memory = (uint *)(lVar2 + -0x10); uVar3 = *_Memory; } else { if (param_1 != param_2) { lVar2 = *param_2; lVar5 = -1; do { lVar5 = lVar5 + 1; } while (*(char *)(lVar2 + lVar5) != '\0'); FUN_181232e20(param_1,lVar2,lVar5 + lVar2,param_4,0xfffffffffffffffe); return param_1; } if ((*(uint *)(pcVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar4 + -0x10) = *(int *)(pcVar4 + -0x10) + 1; UNLOCK(); } local_res8[0] = pcVar4; param_1 = (longlong *)FUN_181232d30(param_1,local_res8); _Memory = (uint *)(local_res8[0] + -0x10); uVar3 = *_Memory; } if ((uVar3 & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 181a36a85 size=23 ############ void Unwind_181a36a85(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a36ac6 size=23 ############ void Unwind_181a36ac6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a36b56 size=23 ############ void Unwind_181a36b56(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a36b7f size=23 ############ void Unwind_181a36b7f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a36c83 size=23 ############ void Unwind_181a36c83(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a37088 size=23 ############ void Unwind_181a37088(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a370a5 size=23 ############ void Unwind_181a370a5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a37270 size=23 ############ void Unwind_181a37270(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a373a3 size=23 ############ void Unwind_181a373a3(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181217c70 size=122 ############ DWORD FUN_181217c70(longlong param_1,LPCVOID param_2,DWORD param_3) { uint uVar1; undefined8 uVar2; BOOL BVar3; undefined8 *puVar4; uint *_Memory; DWORD local_res8 [6]; longlong local_res20; local_res8[0] = 0; if (*(HANDLE *)(param_1 + 0x18) != (HANDLE)0x0) { BVar3 = WriteFile(*(HANDLE *)(param_1 + 0x18),param_2,param_3,local_res8,(LPOVERLAPPED)0x0); if (BVar3 == 0) { puVar4 = (undefined8 *)FUN_1812181b0(&local_res20); uVar2 = *(undefined8 *)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = *puVar4; *puVar4 = uVar2; _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } } return local_res8[0]; } ############ FUN_ 1812181b0 size=195 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812181b0(longlong param_1) { uint uVar1; DWORD dwMessageId; uint *_Memory; undefined1 auStackY_268 [32]; longlong local_228 [2]; WCHAR local_218 [256]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStackY_268; local_228[0] = param_1; memset(local_218,0,0x200); dwMessageId = GetLastError(); FormatMessageW(0x1200,(LPCVOID)0x0,dwMessageId,0x400,local_218,0xff,(va_list *)0x0); FUN_18049c800(local_228,local_218); FUN_18123a0b0(param_1,local_228); _Memory = (uint *)(local_228[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 181a37654 size=23 ############ void Unwind_181a37654(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 18049afa0 size=91 ############ void FUN_18049afa0(undefined8 *param_1) { uint uVar1; longlong *_Memory; uint *_Memory_00; _Memory = (longlong *)*param_1; if (_Memory == (longlong *)0x0) { return; } if ((HANDLE)_Memory[1] != (HANDLE)0xffffffffffffffff) { FindClose((HANDLE)_Memory[1]); } _Memory_00 = (uint *)(*_Memory + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a378f8 size=26 ############ void Unwind_181a378f8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb8)); } ############ FUN_ 181a37a0f size=23 ############ void Unwind_181a37a0f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a37adc size=23 ############ void Unwind_181a37adc(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a37c44 size=23 ############ void Unwind_181a37c44(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a37c91 size=23 ############ void Unwind_181a37c91(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a37cea size=23 ############ void Unwind_181a37cea(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a37d6b size=26 ############ void Unwind_181a37d6b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 181a37d8b size=26 ############ void Unwind_181a37d8b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a37ea4 size=26 ############ void Unwind_181a37ea4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a37fa0 size=23 ############ void Unwind_181a37fa0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a37fc9 size=23 ############ void Unwind_181a37fc9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 1804af690 size=242 ############ void FUN_1804af690(undefined8 *param_1,undefined8 param_2) { longlong *_Memory; _Memory = (longlong *)*param_1; *param_1 = param_2; if (_Memory != (longlong *)0x0) { if ((longlong *)*_Memory != (longlong *)0x0) { (**(code **)(*(longlong *)*_Memory + 0x10))(); } *_Memory = 0; if ((longlong *)_Memory[1] != (longlong *)0x0) { (**(code **)(*(longlong *)_Memory[1] + 0x10))(); } _Memory[1] = 0; if ((longlong *)_Memory[2] != (longlong *)0x0) { (**(code **)(*(longlong *)_Memory[2] + 0x10))(); } _Memory[2] = 0; if ((longlong *)_Memory[3] != (longlong *)0x0) { (**(code **)(*(longlong *)_Memory[3] + 0x10))(); } _Memory[3] = 0; if ((HMODULE)_Memory[5] != (HMODULE)0x0) { FreeLibrary((HMODULE)_Memory[5]); _Memory[5] = 0; } if ((HMODULE)_Memory[4] != (HMODULE)0x0) { FreeLibrary((HMODULE)_Memory[4]); _Memory[4] = 0; } if ((longlong *)_Memory[3] != (longlong *)0x0) { (**(code **)(*(longlong *)_Memory[3] + 0x10))(); } if ((longlong *)_Memory[2] != (longlong *)0x0) { (**(code **)(*(longlong *)_Memory[2] + 0x10))(); } if ((longlong *)_Memory[1] != (longlong *)0x0) { (**(code **)(*(longlong *)_Memory[1] + 0x10))(); } if ((longlong *)*_Memory != (longlong *)0x0) { (**(code **)(*(longlong *)*_Memory + 0x10))(); } /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 181a37ff2 size=23 ############ void Unwind_181a37ff2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a3800f size=23 ############ void Unwind_181a3800f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181254ca0 size=146 ############ void FUN_181254ca0(undefined8 *param_1) { uint uVar1; uint *puVar2; *param_1 = juce::Typeface::vftable; DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 5)); if ((void *)param_1[4] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[4]); } puVar2 = (uint *)(param_1[3] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[2] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } *param_1 = juce::ReferenceCountedObject::vftable; return; } ############ FUN_ 1804a71c0 size=144 ############ void FUN_1804a71c0(longlong param_1) { void *pvVar1; undefined8 *puVar2; void *_Memory; pvVar1 = *(void **)(param_1 + 0x18); if (pvVar1 == (void *)0x0) { puVar2 = *(undefined8 **)(param_1 + 8); pvVar1 = (void *)*puVar2; *puVar2 = puVar2; *(longlong *)(*(longlong *)(param_1 + 8) + 8) = *(longlong *)(param_1 + 8); *(undefined8 *)(param_1 + 0x10) = 0; if (pvVar1 == *(void **)(param_1 + 8)) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 8)); } /* WARNING: Subroutine does not return */ free(pvVar1); } _Memory = pvVar1; if ((0xfff < (*(longlong *)(param_1 + 0x28) - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a380c8 size=23 ############ void Unwind_181a380c8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 1804a7840 size=253 ############ void FUN_1804a7840(longlong *param_1) { int *piVar1; void *_Dst; uint uVar2; longlong *_Memory; undefined8 *puVar3; uint *_Memory_00; int iVar4; longlong lVar5; longlong lVar6; iVar4 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar4) { lVar5 = (longlong)iVar4 * 8; lVar6 = lVar5; do { _Memory = *(longlong **)(lVar5 + *param_1); _Dst = (void *)(lVar6 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar4) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (longlong *)0x0) { puVar3 = (undefined8 *)_Memory[1]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar4 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)*puVar3)(puVar3,1); } } _Memory_00 = (uint *)(*_Memory + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } lVar6 = lVar6 + -8; lVar5 = lVar5 + -8; iVar4 = iVar4 + -1; } while (-1 < iVar4); } *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x0001804a7936. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 1812195f0 size=81 ############ void FUN_1812195f0(undefined8 *param_1) { void *_Memory; *param_1 = juce::GZIPDecompressorInputStream::vftable; _Memory = (void *)param_1[9]; if (_Memory != (void *)0x0) { if (*(char *)((longlong)_Memory + 3) != '\0') { FUN_18121bed0((longlong)_Memory + 8); } /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free((void *)param_1[8]); } ############ FUN_ 181a3856a size=23 ############ void Unwind_181a3856a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a3859f size=23 ############ void Unwind_181a3859f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 1804ae9d0 size=169 ############ void FUN_1804ae9d0(longlong *param_1) { void *_Dst; void *_Memory; int iVar1; longlong lVar2; longlong lVar3; iVar1 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar1) { lVar2 = (longlong)iVar1 * 8; lVar3 = lVar2; do { _Memory = *(void **)(lVar3 + *param_1); _Dst = (void *)(lVar2 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar1) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { FUN_1804a9d80(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } lVar2 = lVar2 + -8; lVar3 = lVar3 + -8; iVar1 = iVar1 + -1; } while (-1 < iVar1); } return; } ############ FUN_ 181a38752 size=23 ############ void Unwind_181a38752(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a38964 size=23 ############ void Unwind_181a38964(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3899d size=26 ############ void Unwind_181a3899d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a38a91 size=23 ############ void Unwind_181a38a91(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a38c1c size=23 ############ void Unwind_181a38c1c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a38c65 size=23 ############ void Unwind_181a38c65(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 1804d1090 size=96 ############ void FUN_1804d1090(longlong *param_1) { uint uVar1; uint *puVar2; puVar2 = (uint *)(param_1[1] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(*param_1 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 1804d1d40 size=82 ############ void FUN_1804d1d40(undefined8 param_1,longlong *param_2) { uint uVar1; uint *_Memory; if (param_2 == (longlong *)0x0) { return; } FUN_1812388c0(param_2); DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)param_2 + 0x12)); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 1812388c0 size=174 ############ undefined4 FUN_1812388c0(longlong *param_1) { uint uVar1; int iVar2; longlong lVar3; uint *_Memory; if (-1 < *(int *)((longlong)param_1 + 0xc)) { iVar2 = *(int *)((longlong)param_1 + 0xc); LOCK(); *(undefined4 *)((longlong)param_1 + 0xc) = 0xffffffff; UNLOCK(); if ((iVar2 != -1) || ((char)param_1[2] != '\0')) { Ordinal_3(); } EnterCriticalSection((LPCRITICAL_SECTION)((longlong)param_1 + 0x12)); LOCK(); *(undefined1 *)(param_1 + 2) = 0; UNLOCK(); LeaveCriticalSection((LPCRITICAL_SECTION)((longlong)param_1 + 0x12)); } _Memory = (uint *)(*param_1 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = (longlong)&DAT_1821dbf98; LOCK(); lVar3 = param_1[1]; *(undefined4 *)(param_1 + 1) = 0; UNLOCK(); LOCK(); *(undefined4 *)((longlong)param_1 + 0xc) = 0xffffffff; UNLOCK(); LOCK(); *(undefined1 *)((longlong)param_1 + 0x11) = 0; UNLOCK(); return (int)lVar3; } ############ FUN_ 181a38d5a size=26 ############ void Unwind_181a38d5a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 181a38da2 size=23 ############ void Unwind_181a38da2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a38e5a size=23 ############ void Unwind_181a38e5a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a38eb5 size=26 ############ void Unwind_181a38eb5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a38f11 size=23 ############ void Unwind_181a38f11(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a38f5a size=23 ############ void Unwind_181a38f5a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a392ac size=23 ############ void Unwind_181a392ac(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 1804dcb00 size=188 ############ void FUN_1804dcb00(longlong *param_1) { void *_Dst; void *_Memory; undefined8 *puVar1; int iVar2; longlong lVar3; longlong lVar4; iVar2 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar2) { lVar3 = (longlong)iVar2 * 8; lVar4 = lVar3; do { _Memory = *(void **)(lVar3 + *param_1); _Dst = (void *)(lVar4 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar2) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { puVar1 = *(undefined8 **)((longlong)_Memory + 8); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1804874a0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } lVar4 = lVar4 + -8; lVar3 = lVar3 + -8; iVar2 = iVar2 + -1; } while (-1 < iVar2); } return; } ############ FUN_ 181a3938b size=26 ############ void Unwind_181a3938b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 1804db390 size=186 ############ void FUN_1804db390(longlong *param_1) { void *_Dst; void *_Memory; int iVar1; longlong lVar2; longlong lVar3; iVar1 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar1) { lVar2 = (longlong)iVar1 * 8; lVar3 = lVar2; do { _Memory = *(void **)(lVar3 + *param_1); _Dst = (void *)(lVar2 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar1) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { FUN_1804d7190(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } lVar2 = lVar2 + -8; lVar3 = lVar3 + -8; iVar1 = iVar1 + -1; } while (-1 < iVar1); } *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x0001804db443. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 1804d7190 size=266 ############ void FUN_1804d7190(longlong *param_1) { uint uVar1; uint *puVar2; puVar2 = (uint *)(param_1[6] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[5] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[4] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[3] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[2] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[1] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(*param_1 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 18051c930 size=166 ############ void FUN_18051c930(longlong *param_1) { longlong lVar1; void *pvVar2; longlong lVar3; void *_Memory; lVar3 = *param_1; if (lVar3 == 0) { return; } lVar1 = param_1[1]; for (; lVar3 != lVar1; lVar3 = lVar3 + 0x88) { FUN_1804d80a0(lVar3); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x88) * 0x88)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1804d80a0 size=272 ############ void FUN_1804d80a0(longlong *param_1) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; void *_Memory; longlong *plVar5; uint *puVar6; puVar6 = (uint *)(param_1[0xf] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar4 = (undefined8 *)param_1[0xd]; if (puVar4 != (undefined8 *)0x0) { piVar1 = (int *)(puVar4 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar4)(puVar4,1); } } puVar4 = (undefined8 *)param_1[0xc]; if (puVar4 != (undefined8 *)0x0) { piVar1 = (int *)(puVar4 + 0x17); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar4)(puVar4,1); } } puVar4 = (undefined8 *)param_1[0xb]; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } _Memory = (void *)param_1[10]; if (_Memory != (void *)0x0) { puVar4 = *(undefined8 **)((longlong)_Memory + 0x18); if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } FUN_18051c930(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } plVar5 = (longlong *)param_1[9]; if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x20))(plVar5,plVar5 != param_1 + 2); param_1[9] = 0; } puVar6 = (uint *)(*param_1 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return; } ############ FUN_ 1804daed0 size=181 ############ void FUN_1804daed0(longlong param_1) { int iVar1; void *_Memory; int iVar2; longlong lVar3; iVar2 = *(int *)(param_1 + 0x14) + -1; lVar3 = (longlong)iVar2; if (-1 < iVar2) { do { _Memory = *(void **)(*(longlong *)(param_1 + 8) + lVar3 * 8); if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } if (-1 < lVar3) { if (iVar2 < *(int *)(param_1 + 0x14)) { *(undefined8 *)(*(longlong *)(param_1 + 8) + lVar3 * 8) = 0; } else { FUN_18047e060(param_1 + 8,*(int *)(param_1 + 0x14) + 1); iVar1 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar1 + 1; *(undefined8 *)(*(longlong *)(param_1 + 8) + (longlong)iVar1 * 8) = 0; } } iVar2 = iVar2 + -1; lVar3 = lVar3 + -1; } while (-1 < lVar3); } *(undefined8 *)(param_1 + 0x14) = 0; /* WARNING: Could not recover jumptable at 0x0001804daf83. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(*(void **)(param_1 + 8)); return; } ############ FUN_ 181a39afc size=23 ############ void Unwind_181a39afc(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a39fd0 size=23 ############ void Unwind_181a39fd0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a39ff9 size=26 ############ void Unwind_181a39ff9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a3a025 size=26 ############ void Unwind_181a3a025(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a3a051 size=26 ############ void Unwind_181a3a051(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 181a3a07d size=26 ############ void Unwind_181a3a07d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 181a3a117 size=26 ############ void Unwind_181a3a117(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x100)); } ############ FUN_ 181a3a137 size=26 ############ void Unwind_181a3a137(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x100)); } ############ FUN_ 181a3a157 size=26 ############ void Unwind_181a3a157(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x100)); } ############ FUN_ 181a3a19d size=23 ############ void Unwind_181a3a19d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3a1ba size=23 ############ void Unwind_181a3a1ba(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3a1d7 size=23 ############ void Unwind_181a3a1d7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3a200 size=23 ############ void Unwind_181a3a200(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a3a21d size=23 ############ void Unwind_181a3a21d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3a292 size=26 ############ void Unwind_181a3a292(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a3a346 size=26 ############ void Unwind_181a3a346(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 18049b580 size=152 ############ void FUN_18049b580(longlong *param_1) { uint uVar1; longlong lVar2; longlong *plVar3; uint *_Memory; longlong lVar4; int iVar5; iVar5 = 0; if (*(int *)((longlong)param_1 + 0xc) < 1) { *(undefined4 *)((longlong)param_1 + 0xc) = 0; return; } lVar4 = 0; do { lVar2 = *param_1; plVar3 = *(longlong **)(lVar2 + 8 + lVar4); (**(code **)(*plVar3 + 0xb0))(plVar3,lVar2 + 0x10 + lVar4); _Memory = (uint *)(*(longlong *)(lVar2 + lVar4) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar5 = iVar5 + 1; lVar4 = lVar4 + 0x18; } while (iVar5 < *(int *)((longlong)param_1 + 0xc)); *(undefined4 *)((longlong)param_1 + 0xc) = 0; return; } ############ FUN_ 1804e9060 size=178 ############ void FUN_1804e9060(undefined8 *param_1) { int *piVar1; int iVar2; longlong *_Memory; undefined8 *puVar3; uint uVar4; LOCK(); piVar1 = (int *)(param_1 + 2); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 != 1) { return; } if (*(char *)(param_1 + 3) != '\0') { do { LOCK(); uVar4 = DAT_182673b68 & 1; DAT_182673b68 = DAT_182673b68 | 1; UNLOCK(); } while (uVar4 != 0); (&DAT_18267aad0)[*(int *)((longlong)param_1 + 0x14)] = 0; LOCK(); DAT_182673b68 = 0; UNLOCK(); } if (((HCURSOR)param_1[1] != (HCURSOR)0x0) && (*(char *)(param_1 + 3) == '\0')) { DestroyCursor((HCURSOR)param_1[1]); } _Memory = (longlong *)*param_1; if (_Memory != (longlong *)0x0) { puVar3 = (undefined8 *)*_Memory; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 181a3a421 size=26 ############ void Unwind_181a3a421(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a3a44d size=23 ############ void Unwind_181a3a44d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a3a4b9 size=26 ############ void Unwind_181a3a4b9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe8)); } ############ FUN_ 181a3a4f1 size=26 ############ void Unwind_181a3a4f1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a3a529 size=26 ############ void Unwind_181a3a529(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x170)); } ############ FUN_ 181a3a56f size=23 ############ void Unwind_181a3a56f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3a58c size=23 ############ void Unwind_181a3a58c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a3a5a9 size=23 ############ void Unwind_181a3a5a9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a3a5d2 size=23 ############ void Unwind_181a3a5d2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 1804d1da0 size=141 ############ void FUN_1804d1da0(longlong *param_1,longlong param_2,longlong param_3,longlong param_4) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = param_2; param_1[1] = param_3 * 0x10 + param_2; param_1[2] = param_4 * 0x10 + param_2; return; } _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a3a71f size=23 ############ void Unwind_181a3a71f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3a748 size=23 ############ void Unwind_181a3a748(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3a771 size=23 ############ void Unwind_181a3a771(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3a7b2 size=23 ############ void Unwind_181a3a7b2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a3a7db size=23 ############ void Unwind_181a3a7db(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a3a7f8 size=23 ############ void Unwind_181a3a7f8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3a815 size=23 ############ void Unwind_181a3a815(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3a862 size=23 ############ void Unwind_181a3a862(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3a8c7 size=23 ############ void Unwind_181a3a8c7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3a8fc size=26 ############ void Unwind_181a3a8fc(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a3a928 size=26 ############ void Unwind_181a3a928(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a3aa97 size=23 ############ void Unwind_181a3aa97(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3aac0 size=26 ############ void Unwind_181a3aac0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 181a3aaec size=26 ############ void Unwind_181a3aaec(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x100)); } ############ FUN_ 181a3ab4c size=23 ############ void Unwind_181a3ab4c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3ab75 size=23 ############ void Unwind_181a3ab75(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3ab92 size=23 ############ void Unwind_181a3ab92(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3abaf size=23 ############ void Unwind_181a3abaf(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3abcc size=23 ############ void Unwind_181a3abcc(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 180508d90 size=38 ############ void FUN_180508d90(longlong param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)(param_1 + 0x58) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Could not recover jumptable at 0x0001811328ae. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } } return; } ############ FUN_ 181a3acb3 size=23 ############ void Unwind_181a3acb3(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 18051a4c0 size=117 ############ void FUN_18051a4c0(longlong *param_1) { int iVar1; int *_Memory; int iVar2; longlong lVar3; iVar2 = 0; if (0 < *(int *)((longlong)param_1 + 0xc)) { lVar3 = 0; do { _Memory = (int *)(*(longlong *)(lVar3 + *param_1) + -0x10); if ((*(uint *)(*(longlong *)(lVar3 + *param_1) + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar2 = iVar2 + 1; lVar3 = lVar3 + 0x10; } while (iVar2 < *(int *)((longlong)param_1 + 0xc)); } *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x00018051a52e. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 181a3acec size=26 ############ void Unwind_181a3acec(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a3ad0c size=26 ############ void Unwind_181a3ad0c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a3ad78 size=26 ############ void Unwind_181a3ad78(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x140)); } ############ FUN_ 181a3aefc size=23 ############ void Unwind_181a3aefc(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181352b00 size=87 ############ void FUN_181352b00(undefined8 *param_1) { uint uVar1; uint *_Memory; *param_1 = juce::UndoManager::vftable; _Memory = (uint *)(param_1[0xb] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1805281f0(param_1 + 9); *(undefined4 *)((longlong)param_1 + 0x54) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[9]); } ############ FUN_ 18051b230 size=220 ############ void FUN_18051b230(longlong *param_1) { int *piVar1; void *_Dst; longlong *_Memory; undefined8 *puVar2; int iVar3; longlong lVar4; longlong lVar5; iVar3 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar3) { lVar4 = (longlong)iVar3 * 8; lVar5 = lVar4; do { _Memory = *(longlong **)(lVar4 + *param_1); _Dst = (void *)(lVar5 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar3) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (longlong *)0x0) { FUN_18051a4c0(_Memory + 2); puVar2 = (undefined8 *)*_Memory; if (puVar2 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar2 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar2)(puVar2,1); } } /* WARNING: Subroutine does not return */ free(_Memory); } lVar5 = lVar5 + -8; lVar4 = lVar4 + -8; iVar3 = iVar3 + -1; } while (-1 < iVar3); } *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x00018051b305. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 181a3b10f size=23 ############ void Unwind_181a3b10f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a3b144 size=23 ############ void Unwind_181a3b144(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a3b16d size=23 ############ void Unwind_181a3b16d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a3b1be size=23 ############ void Unwind_181a3b1be(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3b1e7 size=23 ############ void Unwind_181a3b1e7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a3b210 size=23 ############ void Unwind_181a3b210(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a3b287 size=26 ############ void Unwind_181a3b287(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe0)); } ############ FUN_ 181a3b3a7 size=23 ############ void Unwind_181a3b3a7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3b3f4 size=23 ############ void Unwind_181a3b3f4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3b4f5 size=23 ############ void Unwind_181a3b4f5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3b512 size=23 ############ void Unwind_181a3b512(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3b55f size=23 ############ void Unwind_181a3b55f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a3b740 size=23 ############ void Unwind_181a3b740(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3b75d size=23 ############ void Unwind_181a3b75d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3b816 size=26 ############ void Unwind_181a3b816(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x100)); } ############ FUN_ 181a3b862 size=23 ############ void Unwind_181a3b862(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3b87f size=23 ############ void Unwind_181a3b87f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3b89c size=26 ############ void Unwind_181a3b89c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 181a3ba3a size=23 ############ void Unwind_181a3ba3a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a3bbe1 size=26 ############ void Unwind_181a3bbe1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a3bc01 size=23 ############ void Unwind_181a3bc01(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3bc76 size=23 ############ void Unwind_181a3bc76(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3bda7 size=26 ############ void Unwind_181a3bda7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x2c0)); } ############ FUN_ 181a3bf70 size=26 ############ void Unwind_181a3bf70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1c0)); } ############ FUN_ 181a3bfb9 size=26 ############ void Unwind_181a3bfb9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1c8)); } ############ FUN_ 181a3c00e size=26 ############ void Unwind_181a3c00e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1c0)); } ############ FUN_ 181a3c0ed size=26 ############ void Unwind_181a3c0ed(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1c0)); } ############ FUN_ 181a3c136 size=26 ############ void Unwind_181a3c136(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1c8)); } ############ FUN_ 181a3c18b size=26 ############ void Unwind_181a3c18b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1c0)); } ############ FUN_ 181a3c302 size=23 ############ void Unwind_181a3c302(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3c348 size=26 ############ void Unwind_181a3c348(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x560)); } ############ FUN_ 181a3c3a9 size=26 ############ void Unwind_181a3c3a9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x560)); } ############ FUN_ 181a3c407 size=23 ############ void Unwind_181a3c407(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a3c44a size=23 ############ void Unwind_181a3c44a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a3c5ac size=26 ############ void Unwind_181a3c5ac(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x2b8)); } ############ FUN_ 181a3c714 size=26 ############ void Unwind_181a3c714(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x798)); } ############ FUN_ 181a3c74c size=26 ############ void Unwind_181a3c74c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x798)); } ############ FUN_ 181a3c7b4 size=26 ############ void Unwind_181a3c7b4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x268)); } ############ FUN_ 181a3c875 size=26 ############ void Unwind_181a3c875(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1c0)); } ############ FUN_ 181a3c895 size=26 ############ void Unwind_181a3c895(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1c8)); } ############ FUN_ 181a3c8c1 size=26 ############ void Unwind_181a3c8c1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1c0)); } ############ FUN_ 181a3c949 size=23 ############ void Unwind_181a3c949(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a3c9b0 size=26 ############ void Unwind_181a3c9b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb8)); } ############ FUN_ 181a3c9e8 size=23 ############ void Unwind_181a3c9e8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a3ca81 size=23 ############ void Unwind_181a3ca81(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a3ca9e size=26 ############ void Unwind_181a3ca9e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x130)); } ############ FUN_ 181a3cb3a size=23 ############ void Unwind_181a3cb3a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a3cd92 size=23 ############ void Unwind_181a3cd92(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a3cddf size=23 ############ void Unwind_181a3cddf(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a3cdfc size=23 ############ void Unwind_181a3cdfc(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a3ce67 size=23 ############ void Unwind_181a3ce67(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3ce84 size=23 ############ void Unwind_181a3ce84(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3cea1 size=23 ############ void Unwind_181a3cea1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3cebe size=23 ############ void Unwind_181a3cebe(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3cef3 size=23 ############ void Unwind_181a3cef3(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a3cf55 size=23 ############ void Unwind_181a3cf55(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3cfca size=23 ############ void Unwind_181a3cfca(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3cff3 size=23 ############ void Unwind_181a3cff3(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 18051da50 size=78 ############ void FUN_18051da50(longlong *param_1) { uint uVar1; undefined8 *puVar2; uint *_Memory; _Memory = (uint *)(param_1[1] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar2 = (undefined8 *)*param_1; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 181a3d074 size=26 ############ void Unwind_181a3d074(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a3d0b8 size=23 ############ void Unwind_181a3d0b8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a3d0d5 size=23 ############ void Unwind_181a3d0d5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3d0f2 size=26 ############ void Unwind_181a3d0f2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a3d112 size=26 ############ void Unwind_181a3d112(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a3d132 size=26 ############ void Unwind_181a3d132(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a3d152 size=26 ############ void Unwind_181a3d152(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a3d17e size=26 ############ void Unwind_181a3d17e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a3d19e size=26 ############ void Unwind_181a3d19e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x110)); } ############ FUN_ 181a3d1be size=26 ############ void Unwind_181a3d1be(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x110)); } ############ FUN_ 181a3d2ce size=23 ############ void Unwind_181a3d2ce(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a3d34b size=23 ############ void Unwind_181a3d34b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3d43c size=23 ############ void Unwind_181a3d43c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 1812d8f00 size=213 ############ void FUN_1812d8f00(undefined8 *param_1) { uint uVar1; undefined8 *puVar2; uint *_Memory; *param_1 = juce::TreeView::vftable; param_1[0x16] = juce::TreeView::vftable; param_1[0x18] = juce::TreeView::vftable; param_1[0x19] = juce::TreeView::vftable; if (param_1[0x21] != 0) { FUN_1812d6630(param_1[0x21],0); } puVar2 = (undefined8 *)param_1[0x23]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar2 = (undefined8 *)param_1[0x22]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1b)); puVar2 = (undefined8 *)param_1[0x1a]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Memory = (uint *)(param_1[0x17] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134caa0(param_1); return; } ############ FUN_ 181a3d689 size=26 ############ void Unwind_181a3d689(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a3d7a2 size=23 ############ void Unwind_181a3d7a2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3d9ad size=23 ############ void Unwind_181a3d9ad(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3d9d6 size=23 ############ void Unwind_181a3d9d6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3d9f3 size=23 ############ void Unwind_181a3d9f3(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3deb5 size=23 ############ void Unwind_181a3deb5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3df10 size=23 ############ void Unwind_181a3df10(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 18051aec0 size=75 ############ void FUN_18051aec0(undefined8 *param_1) { uint uVar1; longlong *_Memory; uint *_Memory_00; _Memory = (longlong *)*param_1; if (_Memory == (longlong *)0x0) { return; } _Memory_00 = (uint *)(*_Memory + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a3dfba size=26 ############ void Unwind_181a3dfba(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 1804f34a0 size=96 ############ void FUN_1804f34a0(longlong *param_1) { uint uVar1; uint *puVar2; puVar2 = (uint *)(param_1[8] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(*param_1 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 181a3e071 size=23 ############ void Unwind_181a3e071(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3e1cd size=23 ############ void Unwind_181a3e1cd(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3e202 size=23 ############ void Unwind_181a3e202(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3e237 size=23 ############ void Unwind_181a3e237(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a3e2c7 size=26 ############ void Unwind_181a3e2c7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a3e3fe size=23 ############ void Unwind_181a3e3fe(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3e592 size=23 ############ void Unwind_181a3e592(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3e5bb size=26 ############ void Unwind_181a3e5bb(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf0)); } ############ FUN_ 181a3e603 size=26 ############ void Unwind_181a3e603(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a3e653 size=23 ############ void Unwind_181a3e653(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3e67c size=23 ############ void Unwind_181a3e67c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a3e6a5 size=23 ############ void Unwind_181a3e6a5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3e6c2 size=23 ############ void Unwind_181a3e6c2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3e6eb size=23 ############ void Unwind_181a3e6eb(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3e708 size=23 ############ void Unwind_181a3e708(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3e751 size=23 ############ void Unwind_181a3e751(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 18051d990 size=172 ############ void FUN_18051d990(longlong *param_1) { int *piVar1; int iVar2; undefined8 *puVar3; if ((param_1[1] != 0) && (puVar3 = *(undefined8 **)(param_1[1] + 0x10), puVar3 != (undefined8 *)0x0)) { (**(code **)*puVar3)(puVar3,1); } if (param_1[0x10] != 0) { *(undefined8 *)(param_1[0x10] + 0x10) = 0; } puVar3 = (undefined8 *)param_1[0x10]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = (undefined8 *)param_1[1]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = (undefined8 *)*param_1; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 181a3e833 size=23 ############ void Unwind_181a3e833(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a3e880 size=23 ############ void Unwind_181a3e880(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3e8b5 size=23 ############ void Unwind_181a3e8b5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3e8d2 size=23 ############ void Unwind_181a3e8d2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3e8ef size=26 ############ void Unwind_181a3e8ef(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x100)); } ############ FUN_ 181a3e927 size=23 ############ void Unwind_181a3e927(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3e9b0 size=23 ############ void Unwind_181a3e9b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a3e9d9 size=23 ############ void Unwind_181a3e9d9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3e9f6 size=23 ############ void Unwind_181a3e9f6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3ea13 size=26 ############ void Unwind_181a3ea13(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf0)); } ############ FUN_ 181a3ea3f size=26 ############ void Unwind_181a3ea3f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x100)); } ############ FUN_ 181a3ea6b size=23 ############ void Unwind_181a3ea6b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a3eaac size=26 ############ void Unwind_181a3eaac(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf0)); } ############ FUN_ 181a3eae4 size=26 ############ void Unwind_181a3eae4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf8)); } ############ FUN_ 181a3eb04 size=23 ############ void Unwind_181a3eb04(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a3eb45 size=23 ############ void Unwind_181a3eb45(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3eb7a size=23 ############ void Unwind_181a3eb7a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3ec3f size=23 ############ void Unwind_181a3ec3f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3ec5c size=23 ############ void Unwind_181a3ec5c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3ec79 size=23 ############ void Unwind_181a3ec79(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a3ec96 size=23 ############ void Unwind_181a3ec96(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a3ecbf size=26 ############ void Unwind_181a3ecbf(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a3ed0f size=26 ############ void Unwind_181a3ed0f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x120)); } ############ FUN_ 181a3ed3b size=23 ############ void Unwind_181a3ed3b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 18050c250 size=227 ############ void FUN_18050c250(longlong *param_1) { int *piVar1; int iVar2; uint uVar3; undefined8 *puVar4; uint *puVar5; puVar4 = (undefined8 *)param_1[7]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } puVar5 = (uint *)(param_1[4] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(param_1[3] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(param_1[2] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(param_1[1] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(*param_1 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return; } ############ FUN_ 181a3ef57 size=26 ############ void Unwind_181a3ef57(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x120)); } ############ FUN_ 181a3efe7 size=23 ############ void Unwind_181a3efe7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a3f15d size=26 ############ void Unwind_181a3f15d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a3f25b size=26 ############ void Unwind_181a3f25b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x108)); } ############ FUN_ 181a3f2a6 size=23 ############ void Unwind_181a3f2a6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a3f41a size=23 ############ void Unwind_181a3f41a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a3f520 size=23 ############ void Unwind_181a3f520(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a3f549 size=23 ############ void Unwind_181a3f549(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a3f566 size=23 ############ void Unwind_181a3f566(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a3f59b size=23 ############ void Unwind_181a3f59b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3f5b8 size=23 ############ void Unwind_181a3f5b8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a3f5d5 size=23 ############ void Unwind_181a3f5d5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3f5f2 size=23 ############ void Unwind_181a3f5f2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a3f60f size=23 ############ void Unwind_181a3f60f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3f644 size=23 ############ void Unwind_181a3f644(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a3f661 size=23 ############ void Unwind_181a3f661(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181245930 size=136 ############ void FUN_181245930(longlong *param_1) { int *piVar1; undefined8 *_Memory; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 1)); if (*param_1 != 0) { piVar1 = (int *)(*param_1 + 8); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { _Memory = (undefined8 *)*param_1; *param_1 = 0; if (_Memory != (undefined8 *)0x0) { if ((HANDLE)*_Memory != (HANDLE)0x0) { ReleaseMutex((HANDLE)*_Memory); CloseHandle((HANDLE)*_Memory); *_Memory = 0; } /* WARNING: Subroutine does not return */ free(_Memory); } } } /* WARNING: Could not recover jumptable at 0x0001812459b1. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 1)); return; } ############ FUN_ 181218f80 size=580 ############ void FUN_181218f80(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char cVar1; longlong *plVar2; longlong *plVar3; longlong lVar4; void *_Memory; undefined8 *puVar5; int iVar6; uint *_Memory_00; longlong lVar7; uint uVar8; longlong lVar9; ulonglong uVar10; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; *param_1 = juce::GZIPCompressorOutputStream::vftable; plVar2 = (longlong *)param_1[2]; plVar3 = (longlong *)param_1[4]; lVar9 = 0; uVar10 = 0; cVar1 = *(char *)((longlong)plVar3 + 0x5e); while (cVar1 == '\0') { if (*(char *)((longlong)plVar3 + 0x5d) != '\0') { *plVar3 = lVar9; plVar3[2] = (longlong)plVar3 + 0x5f; *(int *)(plVar3 + 1) = (int)uVar10; *(undefined4 *)(plVar3 + 3) = 0x8000; if (*(char *)((longlong)plVar3 + 0x5c) == '\0') { iVar6 = FUN_18121ef80(plVar3,4,&DAT_1821de430,param_4,uVar11); } else { uVar8 = *(uint *)(plVar3 + 0xb); iVar6 = 0; lVar4 = plVar3[5]; if (lVar4 == 0) { LAB_1812190a4: iVar6 = -2; } else { if (uVar8 == 0xffffffff) { uVar8 = 6; } else if (9 < uVar8) goto LAB_1812190a4; lVar7 = (longlong)(int)uVar8; if (((&PTR_FUN_1821de438)[(longlong)*(int *)(lVar4 + 0xac) * 2] != (&PTR_FUN_1821de438)[lVar7 * 2]) && (*(int *)((longlong)plVar3 + 0xc) != 0)) { iVar6 = FUN_18121ef80(plVar3,1,&DAT_1821de430,param_4,uVar11); } if (*(uint *)(lVar4 + 0xac) != uVar8) { *(uint *)(lVar4 + 0xac) = uVar8; *(uint *)(lVar4 + 0xa8) = (uint)*(ushort *)(&DAT_1821de432 + lVar7 * 0x10); *(uint *)(lVar4 + 0xb4) = (uint)*(ushort *)(&DAT_1821de430 + lVar7 * 0x10); *(uint *)(lVar4 + 0xb8) = (uint)*(ushort *)(&DAT_1821de434 + lVar7 * 0x10); *(uint *)(lVar4 + 0xa4) = (uint)*(ushort *)(&DAT_1821de436 + lVar7 * 0x10); } *(undefined4 *)(lVar4 + 0xb0) = 0; } } *(undefined1 *)((longlong)plVar3 + 0x5c) = 0; if (iVar6 != 0) { if (iVar6 != 1) goto LAB_1812190fc; *(undefined1 *)((longlong)plVar3 + 0x5e) = 1; } lVar9 = lVar9 + (uVar10 - *(uint *)(plVar3 + 1)); uVar10 = (ulonglong)*(uint *)(plVar3 + 1); if (0 < (longlong)(0x8000 - (ulonglong)*(uint *)(plVar3 + 3))) { (**(code **)(*plVar2 + 0x20))(plVar2); } } LAB_1812190fc: cVar1 = *(char *)((longlong)plVar3 + 0x5e); } (**(code **)(*(longlong *)param_1[2] + 8))(); _Memory = (void *)param_1[4]; if (_Memory != (void *)0x0) { if (*(char *)((longlong)_Memory + 0x5d) != '\0') { FUN_18121eea0(_Memory); } /* WARNING: Subroutine does not return */ free(_Memory); } if (*(char *)(param_1 + 3) == '\0') { param_1[2] = 0; } else { puVar5 = (undefined8 *)param_1[2]; param_1[2] = 0; if (puVar5 == (undefined8 *)0x0) goto LAB_18121917d; (**(code **)*puVar5)(puVar5,1); } puVar5 = (undefined8 *)param_1[2]; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1); } LAB_18121917d: *param_1 = juce::OutputStream::vftable; _Memory_00 = (uint *)(param_1[1] + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar8 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } return; } ############ FUN_ 181a3f6e8 size=26 ############ void Unwind_181a3f6e8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe0)); } ############ FUN_ 181a3f750 size=26 ############ void Unwind_181a3f750(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x150)); } ############ FUN_ 181a3f7e6 size=23 ############ void Unwind_181a3f7e6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3f8cf size=23 ############ void Unwind_181a3f8cf(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3f8f8 size=23 ############ void Unwind_181a3f8f8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3f951 size=23 ############ void Unwind_181a3f951(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a3f9ec size=26 ############ void Unwind_181a3f9ec(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a3fa0c size=26 ############ void Unwind_181a3fa0c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 1804951e0 size=30 ############ void FUN_1804951e0(uint *param_1) { uint uVar1; if ((*param_1 & 0x30000000) == 0) { LOCK(); uVar1 = *param_1; *param_1 = *param_1 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Could not recover jumptable at 0x0001811328ae. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(param_1); return; } } return; } ############ FUN_ 1804a2290 size=317 ############ /* WARNING: Removing unreachable block (ram,0x0001804a2324) */ /* WARNING: Removing unreachable block (ram,0x0001804a2330) */ void FUN_1804a2290(longlong param_1,int param_2,undefined8 param_3,undefined8 param_4) { uint *puVar1; uint uVar2; undefined8 *puVar3; bool bVar4; uint *local_res8; FUN_180493780(&local_res8,param_1 + 0x10,param_3,param_4,0xfffffffffffffffe); puVar3 = (undefined8 *)(param_1 + 0x188); FUN_1804abb60(puVar3); if (*(int *)(param_1 + 400) != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar3); } *(undefined4 *)(param_1 + 400) = 0; if (0 < param_2) { FUN_1804ab9f0(puVar3); } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } do { LOCK(); uVar2 = *local_res8; *local_res8 = *local_res8 | 1; UNLOCK(); } while ((uVar2 & 1) != 0); puVar1 = local_res8 + 0x57; *puVar1 = *puVar1 - 1; if (*puVar1 == 0) { local_res8[0x58] = 0; local_res8[0x59] = 0; FUN_181215c10(local_res8 + 2); FUN_181215c10(local_res8 + 0x2c); } LOCK(); *local_res8 = 0; UNLOCK(); return; } ############ FUN_ 1804a2b00 size=125 ############ void FUN_1804a2b00(longlong *param_1) { int *piVar1; int iVar2; uint uVar3; undefined8 *puVar4; uint *puVar5; puVar4 = (undefined8 *)param_1[3]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } puVar5 = (uint *)(param_1[1] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(*param_1 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return; } ############ FUN_ 180529380 size=106 ############ void FUN_180529380(longlong param_1) { uint uVar1; uint *puVar2; FUN_1804854f0(param_1 + 0x30); puVar2 = (uint *)(*(longlong *)(param_1 + 0x20) + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(*(longlong *)(param_1 + 8) + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 1804854f0 size=523 ############ void FUN_1804854f0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; void *pvVar2; longlong *plVar3; undefined8 *puVar4; uint *puVar5; void *pvVar6; longlong *plVar7; FUN_1811e1f10(param_1 + 0x1c,param_1[0x1b],param_3,param_4,0xfffffffffffffffe); puVar5 = (uint *)(param_1[0x1c] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } param_1[0x19] = ConfigOption::vftable; FUN_1811e1f10(param_1 + 0x18,param_1[0x17]); puVar5 = (uint *)(param_1[0x18] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } param_1[0x15] = ConfigOption::vftable; if (param_1[0x12] != 0) { FUN_180489640(puVar5,param_1[0x12],param_1[0x13]); pvVar2 = (void *)param_1[0x12]; pvVar6 = pvVar2; if ((0xfff < (param_1[0x14] - (longlong)pvVar2 & 0xfffffffffffffff8U)) && (pvVar6 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } puVar5 = (uint *)(param_1[0x10] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(param_1[0xd] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } plVar7 = (longlong *)param_1[9]; if (plVar7 != (longlong *)0x0) { plVar3 = (longlong *)param_1[10]; for (; plVar7 != plVar3; plVar7 = plVar7 + 1) { puVar4 = (undefined8 *)*plVar7; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } pvVar2 = (void *)param_1[9]; pvVar6 = pvVar2; if ((0xfff < (param_1[0xb] - (longlong)pvVar2 & 0xfffffffffffffff8U)) && (pvVar6 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } FUN_1804884f0(param_1 + 6); puVar4 = (undefined8 *)param_1[3]; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } param_1[1] = ProcessorStateManagerOptionListener::vftable; *param_1 = ConfigOptionListener::vftable; return; } ############ FUN_ 181a40694 size=26 ############ void Unwind_181a40694(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a406b4 size=26 ############ void Unwind_181a406b4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a406e0 size=23 ############ void Unwind_181a406e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a40721 size=23 ############ void Unwind_181a40721(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a4074a size=23 ############ void Unwind_181a4074a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a40773 size=23 ############ void Unwind_181a40773(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a4079c size=23 ############ void Unwind_181a4079c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a409ca size=23 ############ void Unwind_181a409ca(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a409e7 size=23 ############ void Unwind_181a409e7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a40a14 size=23 ############ void Unwind_181a40a14(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a40a31 size=23 ############ void Unwind_181a40a31(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a40a5e size=23 ############ void Unwind_181a40a5e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 1813aeac0 size=92 ############ void FUN_1813aeac0(undefined8 *param_1) { uint uVar1; undefined8 *puVar2; uint *_Memory; *param_1 = juce::AudioFormatWriter::vftable; puVar2 = (undefined8 *)param_1[9]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Memory = (uint *)(param_1[10] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Could not recover jumptable at 0x0001813aeb15. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)param_1[4]); return; } ############ FUN_ 181a40ad6 size=26 ############ void Unwind_181a40ad6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe0)); } ############ FUN_ 181a40b02 size=23 ############ void Unwind_181a40b02(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a40cd3 size=26 ############ void Unwind_181a40cd3(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a40d13 size=23 ############ void Unwind_181a40d13(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a40d70 size=23 ############ void Unwind_181a40d70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a40d8d size=23 ############ void Unwind_181a40d8d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a40daa size=23 ############ void Unwind_181a40daa(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a40dd7 size=23 ############ void Unwind_181a40dd7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a40e04 size=23 ############ void Unwind_181a40e04(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a40e21 size=26 ############ void Unwind_181a40e21(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a40e7c size=26 ############ void Unwind_181a40e7c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 180556130 size=119 ############ void FUN_180556130(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; if (param_2 != (undefined8 *)0x0) { *param_2 = juce::MidiOutput::vftable; FUN_18122afa0(param_2,5000,param_3,param_4,0xfffffffffffffffe); puVar1 = (undefined8 *)param_2[0x42]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } DeleteCriticalSection((LPCRITICAL_SECTION)(param_2 + 0x43)); FUN_1804d1090(param_2 + 0x40); FUN_18122b690(param_2); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 181a40ed1 size=23 ############ void Unwind_181a40ed1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a40f55 size=23 ############ void Unwind_181a40f55(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a40fe3 size=23 ############ void Unwind_181a40fe3(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a41126 size=26 ############ void Unwind_181a41126(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 400)); } ############ FUN_ 181a412c6 size=26 ############ void Unwind_181a412c6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf0)); } ############ FUN_ 181a413c7 size=23 ############ void Unwind_181a413c7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a413e4 size=23 ############ void Unwind_181a413e4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a414bc size=23 ############ void Unwind_181a414bc(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a414e5 size=26 ############ void Unwind_181a414e5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a41511 size=23 ############ void Unwind_181a41511(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a41546 size=23 ############ void Unwind_181a41546(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a41563 size=23 ############ void Unwind_181a41563(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a41598 size=23 ############ void Unwind_181a41598(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a415b5 size=23 ############ void Unwind_181a415b5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a416c5 size=23 ############ void Unwind_181a416c5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a416ee size=23 ############ void Unwind_181a416ee(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a41b9b size=23 ############ void Unwind_181a41b9b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a41d0e size=23 ############ void Unwind_181a41d0e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a41df6 size=23 ############ void Unwind_181a41df6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a41ee8 size=23 ############ void Unwind_181a41ee8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a41fad size=23 ############ void Unwind_181a41fad(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a420a9 size=23 ############ void Unwind_181a420a9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a421a5 size=23 ############ void Unwind_181a421a5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a422a1 size=23 ############ void Unwind_181a422a1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a42370 size=23 ############ void Unwind_181a42370(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a4245b size=23 ############ void Unwind_181a4245b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a4251e size=23 ############ void Unwind_181a4251e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a4261d size=23 ############ void Unwind_181a4261d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a4271c size=23 ############ void Unwind_181a4271c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a427e4 size=23 ############ void Unwind_181a427e4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a42827 size=26 ############ void Unwind_181a42827(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe8)); } ############ FUN_ 180569ed0 size=160 ############ void FUN_180569ed0(longlong *param_1) { longlong lVar1; void *pvVar2; longlong lVar3; void *_Memory; lVar3 = *param_1; if (lVar3 == 0) { return; } lVar1 = param_1[1]; for (; lVar3 != lVar1; lVar3 = lVar3 + 0x70) { FUN_180569ed0(lVar3); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x70) * 0x70)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a428a7 size=26 ############ void Unwind_181a428a7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a428c7 size=26 ############ void Unwind_181a428c7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a428e7 size=26 ############ void Unwind_181a428e7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a42913 size=26 ############ void Unwind_181a42913(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a42933 size=26 ############ void Unwind_181a42933(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a42953 size=26 ############ void Unwind_181a42953(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 180568a50 size=87 ############ void FUN_180568a50(longlong *param_1) { longlong lVar1; undefined1 local_res8 [8]; lVar1 = *param_1; if (lVar1 != 0) { FUN_18055eb10(lVar1 + 0x48); *(undefined ***)(lVar1 + 0x40) = ConfigOption::vftable; FUN_18056a760(lVar1 + 0x30,local_res8,**(undefined8 **)(lVar1 + 0x30), *(undefined8 **)(lVar1 + 0x30)); /* WARNING: Subroutine does not return */ free(*(void **)(lVar1 + 0x30)); } return; } ############ FUN_ 180568d20 size=180 ############ void FUN_180568d20(longlong param_1) { void *pvVar1; longlong *plVar2; FUN_18163b780(param_1 + 0xe8); DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xb4)); pvVar1 = *(void **)(param_1 + 0x78); if (pvVar1 != (void *)0x0) { FUN_18056afc0(pvVar1); /* WARNING: Subroutine does not return */ free(pvVar1); } FUN_180569c20(param_1 + 0x70); pvVar1 = *(void **)(param_1 + 0x68); if (pvVar1 != (void *)0x0) { FUN_18163bcd0(pvVar1); /* WARNING: Subroutine does not return */ free(pvVar1); } plVar2 = *(longlong **)(param_1 + 0x60); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x20))(plVar2,plVar2 != (longlong *)(param_1 + 0x28)); *(undefined8 *)(param_1 + 0x60) = 0; } *(undefined ***)(param_1 + 0x20) = ConfigOption::vftable; *(undefined ***)(param_1 + 8) = juce::Timer::vftable; FUN_1812a7720(); return; } ############ FUN_ 180569c20 size=186 ############ void FUN_180569c20(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong *_Memory; longlong *plVar2; uint *puVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; _Memory = (longlong *)*param_1; if (_Memory == (longlong *)0x0) { return; } plVar2 = (longlong *)FUN_1805989c0(); if (*plVar2 != 0) { FUN_1816398a0(*plVar2,_Memory[9],0,param_4,uVar4); } puVar3 = (uint *)(_Memory[9] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(_Memory[8] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } plVar2 = (longlong *)_Memory[7]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x20))(plVar2,plVar2 != _Memory); _Memory[7] = 0; } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18056ae10 size=88 ############ void FUN_18056ae10(void *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint *_Memory; FUN_1811e1f10((longlong)param_1 + 0x10,*(undefined8 *)((longlong)param_1 + 8),param_3,param_4, 0xfffffffffffffffe); _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0x10) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 18056afc0 size=216 ############ void FUN_18056afc0(longlong param_1) { char cVar1; longlong lVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; undefined8 *puVar6; undefined1 local_res8 [8]; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; lVar2 = *(longlong *)(param_1 + 0x60); if (lVar2 != 0) { puVar3 = *(undefined8 **)(param_1 + 0x50); puVar4 = (undefined8 *)*puVar3; while (puVar4 != puVar3) { (**(code **)(lVar2 + 0x10))(1,puVar4 + 5); (**(code **)(lVar2 + 0x10))((longlong)(puVar4[7] - puVar4[6]) >> 2,puVar4[6]); puVar5 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar5 + 0x19) == '\0') { cVar1 = *(char *)((longlong)*puVar5 + 0x19); puVar4 = puVar5; puVar5 = (undefined8 *)*puVar5; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)*puVar5 + 0x19); puVar4 = puVar5; puVar5 = (undefined8 *)*puVar5; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar6 = (undefined8 *)puVar4[1]; puVar5 = puVar4; while ((puVar4 = puVar6, cVar1 == '\0' && (puVar5 == (undefined8 *)puVar4[2]))) { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar6 = (undefined8 *)puVar4[1]; puVar5 = puVar4; } } } } FUN_18056b150(param_1 + 0x50,local_res8,**(undefined8 **)(param_1 + 0x50), *(undefined8 **)(param_1 + 0x50),uVar7); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x50)); } ############ FUN_ 180569d10 size=109 ############ void FUN_180569d10(longlong *param_1) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x18) * 0x18)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18056b150 size=388 ############ undefined8 * FUN_18056b150(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { char cVar1; longlong *plVar2; void *pvVar3; longlong *plVar4; longlong *plVar5; void *_Memory; void *_Memory_00; plVar2 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar2) && (param_4 == plVar2)) { FUN_18056b560(param_1,plVar2[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar2; *(longlong **)*param_1 = plVar2; *(longlong **)(*param_1 + 0x10) = plVar2; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar2 = param_3; while ((plVar4 = plVar5, cVar1 == '\0' && (plVar2 == (longlong *)plVar4[2]))) { cVar1 = *(char *)(plVar4[1] + 0x19); plVar5 = (longlong *)plVar4[1]; plVar2 = plVar4; } } plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar2 = (longlong *)param_3[1]; while ((plVar5 = plVar2, cVar1 == '\0' && (param_3 == (longlong *)plVar5[2]))) { cVar1 = *(char *)(plVar5[1] + 0x19); plVar2 = (longlong *)plVar5[1]; param_3 = plVar5; } } _Memory = (void *)FUN_18047db40(param_1); pvVar3 = *(void **)((longlong)_Memory + 0x30); if (pvVar3 != (void *)0x0) { _Memory_00 = pvVar3; if ((0xfff < (*(longlong *)((longlong)_Memory + 0x40) - (longlong)pvVar3 & 0xfffffffffffffffcU)) && (_Memory_00 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory_00)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory_00); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 18056b350 size=104 ############ void FUN_18056b350(undefined8 param_1,longlong param_2) { undefined1 local_res10 [8]; if (*(char *)(param_2 + 0x19) == '\0') { FUN_18056b350(param_1,*(undefined8 *)(param_2 + 0x10)); FUN_18056e1d0(param_2 + 0x28,local_res10,**(undefined8 **)(param_2 + 0x28), *(undefined8 **)(param_2 + 0x28)); /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } return; } ############ FUN_ 18056b3e0 size=85 ############ void FUN_18056b3e0(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_18056b3e0(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); FUN_18056d800((longlong)param_2 + 0x20); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 18056b560 size=156 ############ void FUN_18056b560(undefined8 param_1,void *param_2) { void *pvVar1; void *_Memory; if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_18056b560(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); pvVar1 = *(void **)((longlong)param_2 + 0x30); if (pvVar1 == (void *)0x0) { /* WARNING: Subroutine does not return */ free(param_2); } _Memory = pvVar1; if ((0xfff < (*(longlong *)((longlong)param_2 + 0x40) - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18056b620 size=85 ############ void FUN_18056b620(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_18056b620(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); FUN_18052fa60((longlong)param_2 + 0x28); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 18056d800 size=139 ############ void FUN_18056d800(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *(longlong *)(param_1 + 8); _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18056b2f0(param_1 + 8,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*(longlong *)(param_1 + 8) + 8) = lVar1; **(longlong **)(param_1 + 8) = lVar1; *(longlong *)(*(longlong *)(param_1 + 8) + 0x10) = lVar1; *(undefined8 *)(param_1 + 0x10) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 8)); } ############ FUN_ 18056e1d0 size=361 ############ undefined8 * FUN_18056e1d0(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { char cVar1; longlong *plVar2; longlong *plVar3; longlong *plVar4; void *_Memory; plVar2 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar2) && (param_4 == plVar2)) { FUN_18056e350(param_1,plVar2[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar2; *(longlong **)*param_1 = plVar2; *(longlong **)(*param_1 + 0x10) = plVar2; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar4 = (longlong *)param_3[1]; plVar2 = param_3; while ((plVar3 = plVar4, cVar1 == '\0' && (plVar2 == (longlong *)plVar3[2]))) { cVar1 = *(char *)(plVar3[1] + 0x19); plVar4 = (longlong *)plVar3[1]; plVar2 = plVar3; } } plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar2 = (longlong *)param_3[1]; while ((plVar4 = plVar2, cVar1 == '\0' && (param_3 == (longlong *)plVar4[2]))) { cVar1 = *(char *)(plVar4[1] + 0x19); plVar2 = (longlong *)plVar4[1]; param_3 = plVar4; } } _Memory = (void *)FUN_18047db40(param_1); plVar2 = *(longlong **)((longlong)_Memory + 0x60); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x20))(plVar2,plVar2 != (longlong *)((longlong)_Memory + 0x28)); *(undefined8 *)((longlong)_Memory + 0x60) = 0; } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 18056e350 size=121 ############ void FUN_18056e350(undefined8 param_1,void *param_2) { longlong *plVar1; if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_18056e350(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); plVar1 = *(longlong **)((longlong)param_2 + 0x60); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != (longlong *)((longlong)param_2 + 0x28)); *(undefined8 *)((longlong)param_2 + 0x60) = 0; } /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 1805968f0 size=282 ############ void FUN_1805968f0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; void *_Memory; char cVar2; if (*(longlong *)(param_1 + 0x300) != 0) { LOCK(); *(undefined1 *)(param_1 + 0x2fb) = 1; UNLOCK(); if (0 < *(int *)(param_1 + 0x344)) { cVar2 = FUN_18122a6e0(*(undefined8 *)(param_1 + 0x300),param_1 + 8,param_3,param_4, 0xfffffffffffffffe); if ((cVar2 == '\0') && (*(longlong *)(param_1 + 0x300) != 0)) { FUN_18122a750(*(longlong *)(param_1 + 0x300),param_1 + 8,0); } iVar1 = *(int *)(param_1 + 0x344); while (iVar1 != 0) { Sleep(0x14); iVar1 = *(int *)(param_1 + 0x344); } } FUN_18122ac30(param_1 + 8); LOCK(); *(undefined4 *)(param_1 + 0x3f8) = 1; UNLOCK(); FUN_181215c10(param_1 + 0x350); if (*(longlong *)(param_1 + 0x300) != 0) { FUN_181215c10(param_1 + 0x250); FUN_18122a430(*(undefined8 *)(param_1 + 0x300),param_1 + 8); } _Memory = *(void **)(param_1 + 0x300); *(undefined8 *)(param_1 + 0x300) = 0; if (_Memory != (void *)0x0) { FUN_18122aa90(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } } LOCK(); *(undefined1 *)(param_1 + 0x2f9) = 0; UNLOCK(); return; } ############ FUN_ 18056a070 size=88 ############ void FUN_18056a070(undefined8 param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 uVar2; if (param_2 == (longlong *)0x0) { return; } uVar2 = 0xfffffffffffffffe; if ((longlong *)param_2[7] == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*(longlong *)param_2[7] + 0x10))(); plVar1 = (longlong *)param_2[7]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_2,param_3,param_4,uVar2); param_2[7] = 0; } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 181a42bb2 size=26 ############ void Unwind_181a42bb2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 181a42bf1 size=26 ############ void Unwind_181a42bf1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 180560070 size=65 ############ void FUN_180560070(longlong param_1) { undefined1 local_res8 [8]; FUN_18056ab10(param_1 + 0x178,local_res8,**(undefined8 **)(param_1 + 0x178), *(undefined8 **)(param_1 + 0x178)); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x178)); } ############ FUN_ 18056ab10 size=372 ############ undefined8 * FUN_18056ab10(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { uint uVar1; char cVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; void *_Memory; uint *_Memory_00; plVar3 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar3) && (param_4 == plVar3)) { FUN_18056b440(param_1,plVar3[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar3; *(longlong **)*param_1 = plVar3; *(longlong **)(*param_1 + 0x10) = plVar3; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar3 = param_3; while ((plVar4 = plVar5, cVar2 == '\0' && (plVar3 == (longlong *)plVar4[2]))) { cVar2 = *(char *)(plVar4[1] + 0x19); plVar5 = (longlong *)plVar4[1]; plVar3 = plVar4; } } plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar3 = (longlong *)param_3[1]; while ((plVar5 = plVar3, cVar2 == '\0' && (param_3 == (longlong *)plVar5[2]))) { cVar2 = *(char *)(plVar5[1] + 0x19); plVar3 = (longlong *)plVar5[1]; param_3 = plVar5; } } _Memory = (void *)FUN_18047db40(param_1); if (*(longlong *)((longlong)_Memory + 0x28) != 0) { FUN_18056e160(); } _Memory_00 = (uint *)(*(longlong *)((longlong)_Memory + 0x20) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 18056ac90 size=375 ############ undefined8 * FUN_18056ac90(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { char cVar1; longlong *plVar2; void *_Memory; undefined8 *puVar3; longlong *plVar4; longlong *plVar5; void *_Memory_00; plVar2 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar2) && (param_4 == plVar2)) { FUN_18056b4d0(param_1,plVar2[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar2; *(longlong **)*param_1 = plVar2; *(longlong **)(*param_1 + 0x10) = plVar2; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar2 = param_3; while ((plVar4 = plVar5, cVar1 == '\0' && (plVar2 == (longlong *)plVar4[2]))) { cVar1 = *(char *)(plVar4[1] + 0x19); plVar5 = (longlong *)plVar4[1]; plVar2 = plVar4; } } plVar2 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar2 + 0x19) == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(param_3[1] + 0x19); plVar2 = (longlong *)param_3[1]; while ((plVar5 = plVar2, cVar1 == '\0' && (param_3 == (longlong *)plVar5[2]))) { cVar1 = *(char *)(plVar5[1] + 0x19); plVar2 = (longlong *)plVar5[1]; param_3 = plVar5; } } _Memory_00 = (void *)FUN_18047db40(param_1); _Memory = *(void **)((longlong)_Memory_00 + 0x28); if (_Memory == (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)_Memory + 0x1c)); puVar3 = *(undefined8 **)((longlong)_Memory + 8); if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 18056b440 size=128 ############ void FUN_18056b440(undefined8 param_1,void *param_2) { uint uVar1; uint *_Memory; if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_18056b440(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); if (*(longlong *)((longlong)param_2 + 0x28) != 0) { FUN_18056e160(); } _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 18056b4d0 size=130 ############ void FUN_18056b4d0(undefined8 param_1,void *param_2) { void *_Memory; undefined8 *puVar1; if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_18056b4d0(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); _Memory = *(void **)((longlong)param_2 + 0x28); if (_Memory != (void *)0x0) { DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)_Memory + 0x1c)); puVar1 = *(undefined8 **)((longlong)_Memory + 8); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 18056e160 size=94 ############ void FUN_18056e160(undefined8 param_1,void *param_2) { uint uVar1; undefined8 *puVar2; uint *_Memory; if (param_2 == (void *)0x0) { return; } DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)param_2 + 0x1c)); puVar2 = *(undefined8 **)((longlong)param_2 + 0x10); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Memory = (uint *)(*(longlong *)((longlong)param_2 + 8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 181a42e2e size=26 ############ void Unwind_181a42e2e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 181a42e66 size=26 ############ void Unwind_181a42e66(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a42eb6 size=26 ############ void Unwind_181a42eb6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 180560220 size=88 ############ void FUN_180560220(longlong *param_1) { longlong *_Memory; _Memory = (longlong *)param_1[7]; if (_Memory != (longlong *)0x0) { if ((undefined **)*_Memory != std::_Func_impl_no_alloc<,void,float,float>:: vftable) { (*(code *)((undefined **)*_Memory)[4])(); param_1[7] = 0; return; } if (_Memory != param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } param_1[7] = 0; } return; } ############ FUN_ 180560290 size=88 ############ void FUN_180560290(longlong *param_1) { longlong *_Memory; _Memory = (longlong *)param_1[7]; if (_Memory != (longlong *)0x0) { if ((undefined **)*_Memory != std:: _Func_impl_no_alloc<,void,float,float,float,float> ::vftable) { (*(code *)((undefined **)*_Memory)[4])(); param_1[7] = 0; return; } if (_Memory != param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } param_1[7] = 0; } return; } ############ FUN_ 181a430bb size=26 ############ void Unwind_181a430bb(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd8)); } ############ FUN_ 181a43217 size=26 ############ void Unwind_181a43217(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a432ab size=23 ############ void Unwind_181a432ab(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a432d4 size=23 ############ void Unwind_181a432d4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a432fd size=23 ############ void Unwind_181a432fd(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 180575920 size=85 ############ void FUN_180575920(undefined8 *param_1) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::pub::SetupDynamicCryptoWhiteboxInput::vftable; pvVar1 = (void *)param_1[1]; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[3] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a435c6 size=26 ############ void Unwind_181a435c6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a435e6 size=23 ############ void Unwind_181a435e6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a43603 size=23 ############ void Unwind_181a43603(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a4370c size=26 ############ void Unwind_181a4370c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a4372c size=26 ############ void Unwind_181a4372c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a4374c size=26 ############ void Unwind_181a4374c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a43838 size=26 ############ void Unwind_181a43838(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 181a43864 size=26 ############ void Unwind_181a43864(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a4389c size=26 ############ void Unwind_181a4389c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a43988 size=26 ############ void Unwind_181a43988(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a439a8 size=26 ############ void Unwind_181a439a8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a439d4 size=26 ############ void Unwind_181a439d4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a439f4 size=26 ############ void Unwind_181a439f4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a43a20 size=23 ############ void Unwind_181a43a20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 1804df860 size=95 ############ void FUN_1804df860(undefined8 param_1,void *param_2) { undefined8 *puVar1; if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_1804df860(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); puVar1 = *(undefined8 **)((longlong)param_2 + 0x28); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 1805785b0 size=63 ############ void FUN_1805785b0(longlong param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)(param_1 + 0xd0) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134caa0(param_1); return; } ############ FUN_ 181a43c13 size=23 ############ void Unwind_181a43c13(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a43c48 size=26 ############ void Unwind_181a43c48(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a43c68 size=26 ############ void Unwind_181a43c68(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a43c88 size=26 ############ void Unwind_181a43c88(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a43ca8 size=26 ############ void Unwind_181a43ca8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a43d04 size=23 ############ void Unwind_181a43d04(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a43d21 size=26 ############ void Unwind_181a43d21(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a43d41 size=26 ############ void Unwind_181a43d41(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a43e27 size=23 ############ void Unwind_181a43e27(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 180578420 size=63 ############ void FUN_180578420(longlong param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)(param_1 + 0x338) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1812e2030(param_1); return; } ############ FUN_ 181a4427c size=23 ############ void Unwind_181a4427c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a442a5 size=23 ############ void Unwind_181a442a5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a442ce size=23 ############ void Unwind_181a442ce(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181315cb0 size=606 ############ void FUN_181315cb0(undefined8 *param_1) { int *piVar1; int iVar2; uint uVar3; undefined8 *puVar4; uint *puVar5; *param_1 = juce::LookAndFeel::vftable; param_1[1] = juce::LookAndFeel::vftable; param_1[2] = juce::LookAndFeel::vftable; param_1[3] = juce::LookAndFeel::vftable; param_1[4] = juce::LookAndFeel::vftable; param_1[5] = juce::LookAndFeel::vftable; param_1[6] = juce::LookAndFeel::vftable; param_1[7] = juce::LookAndFeel::vftable; param_1[8] = juce::LookAndFeel::vftable; param_1[9] = juce::LookAndFeel::vftable; param_1[10] = juce::LookAndFeel::vftable; param_1[0xb] = juce::LookAndFeel::vftable; param_1[0xc] = juce::LookAndFeel::vftable; param_1[0xd] = juce::LookAndFeel::vftable; param_1[0xe] = juce::LookAndFeel::vftable; param_1[0xf] = juce::LookAndFeel::vftable; param_1[0x10] = juce::LookAndFeel::vftable; param_1[0x11] = juce::LookAndFeel::vftable; param_1[0x12] = juce::LookAndFeel::vftable; param_1[0x13] = juce::LookAndFeel::vftable; param_1[0x14] = juce::LookAndFeel::vftable; param_1[0x15] = juce::LookAndFeel::vftable; param_1[0x16] = juce::LookAndFeel::vftable; param_1[0x17] = juce::LookAndFeel::vftable; param_1[0x18] = juce::LookAndFeel::vftable; param_1[0x19] = juce::LookAndFeel::vftable; param_1[0x1a] = juce::LookAndFeel::vftable; param_1[0x1b] = juce::LookAndFeel::vftable; param_1[0x1c] = juce::LookAndFeel::vftable; if (param_1[0x24] != 0) { *(undefined8 *)(param_1[0x24] + 0x10) = 0; } puVar4 = (undefined8 *)param_1[0x24]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } puVar4 = (undefined8 *)param_1[0x22]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } puVar5 = (uint *)(param_1[0x21] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(param_1[0x20] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(param_1[0x1f] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } *(undefined4 *)((longlong)param_1 + 0xf4) = 0; /* WARNING: Could not recover jumptable at 0x000181315f07. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)param_1[0x1d]); return; } ############ FUN_ 181a44535 size=23 ############ void Unwind_181a44535(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 18056e0d0 size=139 ############ void FUN_18056e0d0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; uint *_Memory; FUN_1811e1f10(param_1 + 0xe8,*(undefined8 *)(param_1 + 0xe0),param_3,param_4,0xfffffffffffffffe); _Memory = (uint *)(*(longlong *)(param_1 + 0xe8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar2 = *(undefined8 **)(param_1 + 0xd0); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } *(undefined ***)(param_1 + 200) = ConfigOptionListener::vftable; FUN_18134caa0(param_1); return; } ############ FUN_ 180577e60 size=99 ############ void FUN_180577e60(undefined8 *param_1) { uint uVar1; uint *_Memory; FUN_180560070(param_1 + 0x3e); _Memory = (uint *)(param_1[0x3c] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::ToggleButton::vftable; param_1[0x16] = juce::ToggleButton::vftable; FUN_181337760(param_1); return; } ############ FUN_ 181a44989 size=26 ############ void Unwind_181a44989(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x148)); } ############ FUN_ 181a44a92 size=26 ############ void Unwind_181a44a92(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe0)); } ############ FUN_ 181a44b2c size=23 ############ void Unwind_181a44b2c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a44b61 size=23 ############ void Unwind_181a44b61(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a44b7e size=23 ############ void Unwind_181a44b7e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a44bb3 size=23 ############ void Unwind_181a44bb3(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a44bd0 size=23 ############ void Unwind_181a44bd0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a44c05 size=23 ############ void Unwind_181a44c05(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a44c22 size=23 ############ void Unwind_181a44c22(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a44c57 size=23 ############ void Unwind_181a44c57(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a44c74 size=23 ############ void Unwind_181a44c74(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a44d8f size=26 ############ void Unwind_181a44d8f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 1805772c0 size=82 ############ void FUN_1805772c0(longlong param_1) { FUN_1805792b0(param_1 + 0x130); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x130)); } ############ FUN_ 181a44e10 size=26 ############ void Unwind_181a44e10(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x240)); } ############ FUN_ 181a44eb4 size=23 ############ void Unwind_181a44eb4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a45108 size=23 ############ void Unwind_181a45108(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a45131 size=23 ############ void Unwind_181a45131(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a4515a size=23 ############ void Unwind_181a4515a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a45183 size=23 ############ void Unwind_181a45183(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a451a0 size=23 ############ void Unwind_181a451a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a451e6 size=26 ############ void Unwind_181a451e6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe0)); } ############ FUN_ 181a45238 size=26 ############ void Unwind_181a45238(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 1805775e0 size=92 ############ void FUN_1805775e0(longlong param_1) { void *pvVar1; void *_Memory; if (*(longlong *)(param_1 + 8) == 0) { return; } FUN_180579ac0(param_1,*(longlong *)(param_1 + 8),*(undefined8 *)(param_1 + 0x10)); pvVar1 = *(void **)(param_1 + 8); _Memory = pvVar1; if ((0xfff < (*(longlong *)(param_1 + 0x18) - (longlong)pvVar1 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180579ac0 size=90 ############ void FUN_180579ac0(undefined8 param_1,longlong param_2,longlong param_3) { uint uVar1; uint *_Memory; do { if (param_2 == param_3) { return; } _Memory = (uint *)(*(longlong *)(param_2 + 8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_2 = param_2 + 0x20; } while( true ); } ############ FUN_ 1805798f0 size=104 ############ void FUN_1805798f0(undefined8 param_1,void *param_2) { void *pvVar1; void *_Memory; if (param_2 == (void *)0x0) { return; } if (*(longlong *)((longlong)param_2 + 8) == 0) { /* WARNING: Subroutine does not return */ free(param_2); } FUN_180579ac0(param_1,*(longlong *)((longlong)param_2 + 8), *(undefined8 *)((longlong)param_2 + 0x10)); pvVar1 = *(void **)((longlong)param_2 + 8); _Memory = pvVar1; if ((0xfff < (*(longlong *)((longlong)param_2 + 0x18) - (longlong)pvVar1 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a45330 size=23 ############ void Unwind_181a45330(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a4535d size=23 ############ void Unwind_181a4535d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a45396 size=23 ############ void Unwind_181a45396(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 180579890 size=85 ############ void FUN_180579890(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_180579890(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); FUN_1804d1090((longlong)param_2 + 0x20); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 180579020 size=187 ############ void FUN_180579020(longlong *param_1) { longlong lVar1; void *pvVar2; longlong lVar3; void *_Memory; lVar3 = *param_1; if (lVar3 == 0) { return; } lVar1 = param_1[1]; for (; lVar3 != lVar1; lVar3 = lVar3 + 0x60) { if (*(longlong *)(lVar3 + 0x50) != 0) { FUN_1805798f0(); } FUN_1812472e0(lVar3 + 0x18); FUN_180569d10(lVar3); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x60) * 0x60)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805790f0 size=164 ############ void FUN_1805790f0(longlong *param_1) { longlong lVar1; void *pvVar2; longlong lVar3; void *_Memory; lVar3 = *param_1; if (lVar3 == 0) { return; } lVar1 = param_1[1]; for (; lVar3 != lVar1; lVar3 = lVar3 + 0x30) { FUN_1812472e0(lVar3); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x30) * 0x30)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a45562 size=26 ############ void Unwind_181a45562(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 180578f30 size=109 ############ void FUN_180578f30(longlong *param_1) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { return; } _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x14) * 0x14)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a458aa size=26 ############ void Unwind_181a458aa(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a4598e size=26 ############ void Unwind_181a4598e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a45a90 size=23 ############ void Unwind_181a45a90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a45aad size=23 ############ void Unwind_181a45aad(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a45aca size=23 ############ void Unwind_181a45aca(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a45ae7 size=23 ############ void Unwind_181a45ae7(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a45b2a size=23 ############ void Unwind_181a45b2a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a45b47 size=23 ############ void Unwind_181a45b47(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a45c73 size=26 ############ void Unwind_181a45c73(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 181a45c93 size=26 ############ void Unwind_181a45c93(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 181a45cb3 size=26 ############ void Unwind_181a45cb3(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 181a45cf2 size=23 ############ void Unwind_181a45cf2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a45d0f size=23 ############ void Unwind_181a45d0f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a45d2c size=23 ############ void Unwind_181a45d2c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 180578a40 size=117 ############ void FUN_180578a40(longlong param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)(param_1 + 0x3b0) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134a530(param_1 + 0x1f8); FUN_18134caa0(param_1 + 0x138); FUN_180578c40(param_1 + 0x120); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x120)); } ############ FUN_ 181a45ea4 size=23 ############ void Unwind_181a45ea4(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a45ff2 size=26 ############ void Unwind_181a45ff2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x140)); } ############ FUN_ 181a4616a size=23 ############ void Unwind_181a4616a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a46187 size=23 ############ void Unwind_181a46187(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a461e9 size=26 ############ void Unwind_181a461e9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a4634b size=23 ############ void Unwind_181a4634b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a46368 size=23 ############ void Unwind_181a46368(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a4639d size=26 ############ void Unwind_181a4639d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe0)); } ############ FUN_ 181a463c9 size=23 ############ void Unwind_181a463c9(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 180581080 size=102 ############ void FUN_180581080(undefined8 *param_1) { longlong *plVar1; undefined8 *_Memory; plVar1 = (longlong *)param_1[0xd]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 6); param_1[0xd] = 0; } _Memory = (undefined8 *)param_1[5]; if (_Memory != (undefined8 *)0x0) { *(undefined1 *)*_Memory = *(undefined1 *)(_Memory + 1); /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = juce::Timer::vftable; FUN_1812a7720(param_1); return; } ############ FUN_ 181a46778 size=23 ############ void Unwind_181a46778(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a467f2 size=26 ############ void Unwind_181a467f2(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x120)); } ############ FUN_ 181a4682a size=26 ############ void Unwind_181a4682a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x128)); } ############ FUN_ 181a46875 size=23 ############ void Unwind_181a46875(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 1805801b0 size=188 ############ void FUN_1805801b0(undefined8 *param_1) { uint uVar1; undefined8 *puVar2; longlong *plVar3; uint *_Memory; puVar2 = (undefined8 *)param_1[0x4e]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar2 = (undefined8 *)param_1[0x4d]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } FUN_18047cfb0(param_1 + 0x4a); plVar3 = (longlong *)param_1[0x48]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_1 + 0x41); param_1[0x48] = 0; } _Memory = (uint *)(param_1[0x3d] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::TextButton::vftable; param_1[0x16] = juce::TextButton::vftable; FUN_181337760(param_1); return; } ############ FUN_ 181a468ef size=23 ############ void Unwind_181a468ef(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a4690c size=26 ############ void Unwind_181a4690c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a4692c size=26 ############ void Unwind_181a4692c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a46b5d size=26 ############ void Unwind_181a46b5d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a46b7d size=26 ############ void Unwind_181a46b7d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a46bc1 size=26 ############ void Unwind_181a46bc1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd8)); } ############ FUN_ 181a46be1 size=26 ############ void Unwind_181a46be1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 180580b20 size=88 ############ void FUN_180580b20(longlong *param_1) { longlong *_Memory; _Memory = (longlong *)param_1[7]; if (_Memory != (longlong *)0x0) { if ((undefined **)*_Memory != std:: _Func_impl_no_alloc<,bool,ParameterFloat*___ptr64,float> ::vftable) { (*(code *)((undefined **)*_Memory)[4])(); param_1[7] = 0; return; } if (_Memory != param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } param_1[7] = 0; } return; } ############ FUN_ 180584ab0 size=358 ############ undefined8 * FUN_180584ab0(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { uint uVar1; char cVar2; longlong *plVar3; longlong *plVar4; longlong *plVar5; void *_Memory; uint *_Memory_00; plVar3 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar3) && (param_4 == plVar3)) { FUN_180584cb0(param_1,plVar3[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar3; *(longlong **)*param_1 = plVar3; *(longlong **)(*param_1 + 0x10) = plVar3; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; plVar3 = param_3; while ((plVar4 = plVar5, cVar2 == '\0' && (plVar3 == (longlong *)plVar4[2]))) { cVar2 = *(char *)(plVar4[1] + 0x19); plVar5 = (longlong *)plVar4[1]; plVar3 = plVar4; } } plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar3 = (longlong *)param_3[1]; while ((plVar5 = plVar3, cVar2 == '\0' && (param_3 == (longlong *)plVar5[2]))) { cVar2 = *(char *)(plVar5[1] + 0x19); plVar3 = (longlong *)plVar5[1]; param_3 = plVar5; } } _Memory = (void *)FUN_18047db40(param_1); _Memory_00 = (uint *)(*(longlong *)((longlong)_Memory + 0x20) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 180584cb0 size=114 ############ void FUN_180584cb0(undefined8 param_1,void *param_2) { uint uVar1; uint *_Memory; if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_180584cb0(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 181a47037 size=23 ############ void Unwind_181a47037(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 1805826a0 size=233 ############ void FUN_1805826a0(longlong param_1) { int iVar1; longlong *_Memory; int *_Memory_00; int iVar2; longlong lVar3; iVar2 = *(int *)(param_1 + 0x14) + -1; lVar3 = (longlong)iVar2; if (-1 < iVar2) { do { _Memory = *(longlong **)(*(longlong *)(param_1 + 8) + lVar3 * 8); if (_Memory != (longlong *)0x0) { _Memory_00 = (int *)(*_Memory + -0x10); if ((*(uint *)(*_Memory + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *_Memory_00; *_Memory_00 = *_Memory_00 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } if (-1 < lVar3) { if (iVar2 < *(int *)(param_1 + 0x14)) { *(undefined8 *)(*(longlong *)(param_1 + 8) + lVar3 * 8) = 0; } else { FUN_18047e060(param_1 + 8,*(int *)(param_1 + 0x14) + 1); iVar1 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar1 + 1; *(undefined8 *)(*(longlong *)(param_1 + 8) + (longlong)iVar1 * 8) = 0; } } iVar2 = iVar2 + -1; lVar3 = lVar3 + -1; } while (-1 < lVar3); } *(undefined8 *)(param_1 + 0x14) = 0; /* WARNING: Could not recover jumptable at 0x000180582787. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(*(void **)(param_1 + 8)); return; } ############ FUN_ 18047c440 size=181 ############ void FUN_18047c440(longlong param_1) { int iVar1; void *_Memory; int iVar2; longlong lVar3; iVar2 = *(int *)(param_1 + 0x14) + -1; lVar3 = (longlong)iVar2; if (-1 < iVar2) { do { _Memory = *(void **)(*(longlong *)(param_1 + 8) + lVar3 * 8); if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } if (-1 < lVar3) { if (iVar2 < *(int *)(param_1 + 0x14)) { *(undefined8 *)(*(longlong *)(param_1 + 8) + lVar3 * 8) = 0; } else { FUN_18047e060(param_1 + 8,*(int *)(param_1 + 0x14) + 1); iVar1 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar1 + 1; *(undefined8 *)(*(longlong *)(param_1 + 8) + (longlong)iVar1 * 8) = 0; } } iVar2 = iVar2 + -1; lVar3 = lVar3 + -1; } while (-1 < lVar3); } *(undefined8 *)(param_1 + 0x14) = 0; /* WARNING: Could not recover jumptable at 0x00018047c4f3. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(*(void **)(param_1 + 8)); return; } ############ FUN_ 1805805a0 size=126 ############ void FUN_1805805a0(longlong *param_1) { longlong lVar1; void *pvVar2; void *_Memory; longlong lVar3; lVar3 = *param_1; if (lVar3 == 0) { return; } lVar1 = param_1[1]; for (; lVar3 != lVar1; lVar3 = lVar3 + 8) { FUN_1805841a0(lVar3); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805841a0 size=108 ############ void FUN_1805841a0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *_Memory; longlong *plVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; _Memory = (void *)*param_1; if (_Memory == (void *)0x0) { return; } if (*(longlong **)((longlong)_Memory + 0x48) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(**(longlong **)((longlong)_Memory + 0x48) + 0x10))(); plVar1 = *(longlong **)((longlong)_Memory + 0x48); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20)) (plVar1,plVar1 != (longlong *)((longlong)_Memory + 0x10),param_3,param_4,uVar2); *(undefined8 *)((longlong)_Memory + 0x48) = 0; } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a4728c size=23 ############ void Unwind_181a4728c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a472b5 size=23 ############ void Unwind_181a472b5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a47344 size=26 ############ void Unwind_181a47344(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf8)); } ############ FUN_ 181a473ff size=23 ############ void Unwind_181a473ff(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a4744c size=23 ############ void Unwind_181a4744c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 180568840 size=186 ############ void FUN_180568840(longlong *param_1) { void *_Dst; void *_Memory; int iVar1; longlong lVar2; longlong lVar3; iVar1 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar1) { lVar2 = (longlong)iVar1 * 8; lVar3 = lVar2; do { _Memory = *(void **)(lVar3 + *param_1); _Dst = (void *)(lVar2 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar1) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { FUN_1811e6b70(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } lVar2 = lVar2 + -8; lVar3 = lVar3 + -8; iVar1 = iVar1 + -1; } while (-1 < iVar1); } *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x0001805688f3. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 181a47cdf size=23 ############ void Unwind_181a47cdf(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a47d08 size=23 ############ void Unwind_181a47d08(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a47e43 size=26 ############ void Unwind_181a47e43(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a47ebf size=26 ############ void Unwind_181a47ebf(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a47edf size=26 ############ void Unwind_181a47edf(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x198)); } ############ FUN_ 181a47f0b size=26 ############ void Unwind_181a47f0b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x198)); } ############ FUN_ 181a47f37 size=23 ############ void Unwind_181a47f37(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a48063 size=23 ############ void Unwind_181a48063(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a4808c size=23 ############ void Unwind_181a4808c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a480b5 size=26 ############ void Unwind_181a480b5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a4830f size=23 ############ void Unwind_181a4830f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a48338 size=23 ############ void Unwind_181a48338(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a48379 size=23 ############ void Unwind_181a48379(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a48396 size=23 ############ void Unwind_181a48396(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a4847f size=26 ############ void Unwind_181a4847f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x218)); } ############ FUN_ 181a4849f size=26 ############ void Unwind_181a4849f(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1d0)); } ############ FUN_ 181a48500 size=26 ############ void Unwind_181a48500(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 181a48520 size=26 ############ void Unwind_181a48520(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 181a48540 size=26 ############ void Unwind_181a48540(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 18058f1e0 size=90 ############ void FUN_18058f1e0(undefined8 param_1,void *param_2) { uint uVar1; uint *_Memory; if (param_2 == (void *)0x0) { return; } _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x370) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(undefined ***)((longlong)param_2 + 0x360) = ProcessorStateManagerOptionListener::vftable; FUN_1814f8f50(param_2); /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 181a48930 size=26 ############ void Unwind_181a48930(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a48a78 size=23 ############ void Unwind_181a48a78(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a48a95 size=26 ############ void Unwind_181a48a95(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a48ab5 size=26 ############ void Unwind_181a48ab5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xc0)); } ############ FUN_ 181a48ad5 size=26 ############ void Unwind_181a48ad5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a48b21 size=26 ############ void Unwind_181a48b21(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x240)); } ############ FUN_ 181a48c4a size=23 ############ void Unwind_181a48c4a(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a48c67 size=23 ############ void Unwind_181a48c67(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a48cd6 size=23 ############ void Unwind_181a48cd6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a48d5d size=26 ############ void Unwind_181a48d5d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a48da6 size=26 ############ void Unwind_181a48da6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a48def size=26 ############ void Unwind_181a48def(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a48e38 size=26 ############ void Unwind_181a48e38(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a49043 size=23 ############ void Unwind_181a49043(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a49060 size=23 ############ void Unwind_181a49060(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a49195 size=26 ############ void Unwind_181a49195(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a491b5 size=26 ############ void Unwind_181a491b5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a491d5 size=23 ############ void Unwind_181a491d5(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a4929c size=23 ############ void Unwind_181a4929c(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a492d1 size=23 ############ void Unwind_181a492d1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a49306 size=23 ############ void Unwind_181a49306(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a4933b size=26 ############ void Unwind_181a4933b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a4935b size=23 ############ void Unwind_181a4935b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a49668 size=26 ############ void Unwind_181a49668(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a49688 size=26 ############ void Unwind_181a49688(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a496a8 size=23 ############ void Unwind_181a496a8(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a496f1 size=23 ############ void Unwind_181a496f1(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a4970e size=23 ############ void Unwind_181a4970e(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a4972b size=26 ############ void Unwind_181a4972b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a4974b size=26 ############ void Unwind_181a4974b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a4976b size=26 ############ void Unwind_181a4976b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a4978b size=26 ############ void Unwind_181a4978b(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a497ab size=26 ############ void Unwind_181a497ab(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a498d6 size=23 ############ void Unwind_181a498d6(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 18059f370 size=377 ############ undefined8 * FUN_18059f370(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { uint uVar1; char cVar2; longlong *plVar3; undefined8 *puVar4; longlong *plVar5; longlong *plVar6; void *_Memory; uint *_Memory_00; plVar3 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar3) && (param_4 == plVar3)) { FUN_18059f590(param_1,plVar3[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar3; *(longlong **)*param_1 = plVar3; *(longlong **)(*param_1 + 0x10) = plVar3; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar6 = (longlong *)param_3[1]; plVar3 = param_3; while ((plVar5 = plVar6, cVar2 == '\0' && (plVar3 == (longlong *)plVar5[2]))) { cVar2 = *(char *)(plVar5[1] + 0x19); plVar6 = (longlong *)plVar5[1]; plVar3 = plVar5; } } plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar3 = (longlong *)param_3[1]; while ((plVar6 = plVar3, cVar2 == '\0' && (param_3 == (longlong *)plVar6[2]))) { cVar2 = *(char *)(plVar6[1] + 0x19); plVar3 = (longlong *)plVar6[1]; param_3 = plVar6; } } _Memory = (void *)FUN_18047db40(param_1); puVar4 = *(undefined8 **)((longlong)_Memory + 0x28); if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } _Memory_00 = (uint *)(*(longlong *)((longlong)_Memory + 0x20) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 18059f590 size=133 ############ void FUN_18059f590(undefined8 param_1,void *param_2) { uint uVar1; undefined8 *puVar2; uint *_Memory; if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_18059f590(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); puVar2 = *(undefined8 **)((longlong)param_2 + 0x28); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 181a49c60 size=23 ############ void Unwind_181a49c60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a49c95 size=26 ############ void Unwind_181a49c95(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a49d21 size=26 ############ void Unwind_181a49d21(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a49d4d size=26 ############ void Unwind_181a49d4d(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 181a49d79 size=26 ############ void Unwind_181a49d79(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 18047e510 size=252 ############ void FUN_18047e510(longlong param_1,undefined8 param_2,longlong *param_3) { longlong *plVar1; longlong lVar2; lVar2 = (*(ulonglong *)(param_1 + 0x30) & (((((((((ulonglong)*(byte *)(param_3 + 2) ^ 0xcbf29ce484222325) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x11)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x12)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x13)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x14)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x15)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x16)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x17)) * 0x100000001b3) * 0x10; plVar1 = (longlong *)(*(longlong *)(param_1 + 0x18) + lVar2); if ((longlong *)plVar1[1] == param_3) { if ((longlong *)*plVar1 == param_3) { *plVar1 = *(longlong *)(param_1 + 8); *(undefined8 *)(lVar2 + 8 + *(longlong *)(param_1 + 0x18)) = *(undefined8 *)(param_1 + 8); } else { plVar1[1] = param_3[1]; } } else if ((longlong *)*plVar1 == param_3) { *plVar1 = *param_3; } *(longlong *)param_3[1] = *param_3; *(longlong *)(*param_3 + 8) = param_3[1]; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + -1; FUN_18047cfb0(param_3 + 3); /* WARNING: Subroutine does not return */ free(param_3); } ############ FUN_ 1804815c0 size=78 ############ void FUN_1804815c0(longlong *param_1) { undefined8 *puVar1; undefined1 local_res8 [8]; puVar1 = (undefined8 *)*param_1; if (puVar1 != (undefined8 *)param_1[1]) { FUN_18047d5c0(puVar1,local_res8,*(undefined8 *)*puVar1,(undefined8 *)*puVar1); /* WARNING: Subroutine does not return */ free((void *)*puVar1); } return; } ############ FUN_ 180481620 size=78 ############ void FUN_180481620(longlong *param_1) { undefined8 *puVar1; undefined1 local_res8 [8]; puVar1 = (undefined8 *)*param_1; if (puVar1 != (undefined8 *)param_1[1]) { FUN_18047ccf0(puVar1,local_res8,*(undefined8 *)*puVar1,(undefined8 *)*puVar1); /* WARNING: Subroutine does not return */ free((void *)*puVar1); } return; } ############ FUN_ 18047d820 size=68 ############ void FUN_18047d820(undefined8 param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 local_res8; if (param_2 != param_3) { local_res8 = param_1; FUN_18047d5c0(param_2,&local_res8,*(undefined8 *)*param_2,(undefined8 *)*param_2); /* WARNING: Subroutine does not return */ free((void *)*param_2); } return; } ############ FUN_ 18047d770 size=68 ############ void FUN_18047d770(undefined8 param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 local_res8; if (param_2 != param_3) { local_res8 = param_1; FUN_18047ccf0(param_2,&local_res8,*(undefined8 *)*param_2,(undefined8 *)*param_2); /* WARNING: Subroutine does not return */ free((void *)*param_2); } return; } ############ FUN_ 1812a79e0 size=276 ############ void FUN_1812a79e0(void) { undefined8 *puVar1; ushort *_Memory; longlong *_Memory_00; DAT_182678e90 = DAT_182678e90 + -1; if (DAT_182678e90 == 0) { FUN_1812a6c10(); _Memory_00 = DAT_1826736d0; if (DAT_1826736d0 != (longlong *)0x0) { puVar1 = (undefined8 *)*DAT_1826736d0; *DAT_1826736d0 = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } EnterCriticalSection((LPCRITICAL_SECTION)&DAT_182673aa8); puVar1 = DAT_182673ad8; DAT_182673ad8 = (undefined8 *)0x0; if (puVar1 != (undefined8 *)0x0) { DAT_1826736b0 = 0; FUN_1804d1990(puVar1 + 7); DeleteCriticalSection((LPCRITICAL_SECTION)(puVar1 + 1)); _Memory = (ushort *)*puVar1; if (_Memory != (ushort *)0x0) { DestroyWindow(*(HWND *)(_Memory + 4)); UnregisterClassW((LPCWSTR)(ulonglong)*_Memory,(HINSTANCE)0x0); /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free(puVar1); } LeaveCriticalSection((LPCRITICAL_SECTION)&DAT_182673aa8); OleUninitialize(); DAT_1826736d0 = (longlong *)0x0; puVar1 = (undefined8 *)*_Memory_00; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } /* WARNING: Subroutine does not return */ free(_Memory_00); } DAT_1826736d0 = (longlong *)0x0; } return; } ############ FUN_ 181a15070 size=23 ############ void Unwind_181a15070(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a14f70 size=23 ############ void Unwind_181a14f70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a14f90 size=26 ############ void Unwind_181a14f90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 181a14f20 size=23 ############ void Unwind_181a14f20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a14de0 size=26 ############ void Unwind_181a14de0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a14d90 size=23 ############ void Unwind_181a14d90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 180490d50 size=65 ############ void FUN_180490d50(undefined8 param_1,void *param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 180490d00 size=74 ############ void FUN_180490d00(undefined8 param_1,void *param_2) { uint uVar1; uint *_Memory; FUN_180487600((longlong)param_2 + 0x28); _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 18048dee0 size=97 ############ void FUN_18048dee0(longlong param_1) { uint uVar1; uint *puVar2; puVar2 = (uint *)(*(longlong *)(param_1 + 0x10) + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(*(longlong *)(param_1 + 8) + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 18048ed30 size=126 ############ void FUN_18048ed30(longlong param_1) { void *_Memory; undefined8 uVar1; undefined8 uVar2; int iVar3; _Memory = *(void **)(param_1 + 0x20); if (_Memory != (void *)0x0) { FUN_18048dee0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } uVar1 = *(undefined8 *)(param_1 + 8); uVar2 = *(undefined8 *)(param_1 + 0x10); iVar3 = _Mtx_unlock(uVar2); if (iVar3 != 0) { std::_Throw_C_error(iVar3); } _Mtx_destroy(uVar2); _Cnd_destroy(uVar1); return; } ############ FUN_ 181a15c00 size=23 ############ void Unwind_181a15c00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a15be0 size=23 ############ void Unwind_181a15be0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a15bc0 size=23 ############ void Unwind_181a15bc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a15b50 size=26 ############ void Unwind_181a15b50(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a15b20 size=26 ############ void Unwind_181a15b20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a15a70 size=26 ############ void Unwind_181a15a70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 180490b30 size=104 ############ void FUN_180490b30(longlong param_1) { undefined8 uVar1; undefined8 uVar2; int iVar3; if (*(void **)(param_1 + 0x20) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x20)); } uVar1 = *(undefined8 *)(param_1 + 8); uVar2 = *(undefined8 *)(param_1 + 0x10); iVar3 = _Mtx_unlock(uVar2); if (iVar3 != 0) { std::_Throw_C_error(iVar3); } _Mtx_destroy(uVar2); _Cnd_destroy(uVar1); return; } ############ FUN_ 181a15930 size=23 ############ void Unwind_181a15930(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 18048da90 size=104 ############ void FUN_18048da90(longlong param_1) { undefined8 uVar1; undefined8 uVar2; int iVar3; if (*(void **)(param_1 + 0x20) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x20)); } uVar1 = *(undefined8 *)(param_1 + 8); uVar2 = *(undefined8 *)(param_1 + 0x10); iVar3 = _Mtx_unlock(uVar2); if (iVar3 != 0) { std::_Throw_C_error(iVar3); } _Mtx_destroy(uVar2); _Cnd_destroy(uVar1); return; } ############ FUN_ 181a16210 size=23 ############ void Unwind_181a16210(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a16180 size=23 ############ void Unwind_181a16180(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a16140 size=23 ############ void Unwind_181a16140(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a16090 size=23 ############ void Unwind_181a16090(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a15fa0 size=23 ############ void Unwind_181a15fa0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 1804cf170 size=242 ############ void FUN_1804cf170(longlong param_1,undefined8 param_2,longlong *param_3) { longlong *plVar1; longlong lVar2; lVar2 = (*(ulonglong *)(param_1 + 0x30) & (((((((((ulonglong)*(byte *)(param_3 + 2) ^ 0xcbf29ce484222325) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x11)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x12)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x13)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x14)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x15)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x16)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x17)) * 0x100000001b3) * 0x10; plVar1 = (longlong *)(*(longlong *)(param_1 + 0x18) + lVar2); if ((longlong *)plVar1[1] == param_3) { if ((longlong *)*plVar1 == param_3) { *plVar1 = *(longlong *)(param_1 + 8); *(undefined8 *)(lVar2 + 8 + *(longlong *)(param_1 + 0x18)) = *(undefined8 *)(param_1 + 8); } else { plVar1[1] = param_3[1]; } } else if ((longlong *)*plVar1 == param_3) { *plVar1 = *param_3; } *(longlong *)param_3[1] = *param_3; *(longlong *)(*param_3 + 8) = param_3[1]; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + -1; /* WARNING: Subroutine does not return */ free(param_3); } ############ FUN_ 1804cf060 size=194 ############ void FUN_1804cf060(longlong param_1,undefined8 param_2,longlong *param_3) { longlong *plVar1; longlong lVar2; lVar2 = (*(ulonglong *)(param_1 + 0x30) & (((((ulonglong)*(byte *)(param_3 + 2) ^ 0xcbf29ce484222325) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x11)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x12)) * 0x100000001b3 ^ (ulonglong)*(byte *)((longlong)param_3 + 0x13)) * 0x100000001b3) * 0x10; plVar1 = (longlong *)(*(longlong *)(param_1 + 0x18) + lVar2); if ((longlong *)plVar1[1] == param_3) { if ((longlong *)*plVar1 == param_3) { *plVar1 = *(longlong *)(param_1 + 8); *(undefined8 *)(lVar2 + 8 + *(longlong *)(param_1 + 0x18)) = *(undefined8 *)(param_1 + 8); } else { plVar1[1] = param_3[1]; } } else if ((longlong *)*plVar1 == param_3) { *plVar1 = *param_3; } *(longlong *)param_3[1] = *param_3; *(longlong *)(*param_3 + 8) = param_3[1]; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + -1; /* WARNING: Subroutine does not return */ free(param_3); } ############ FUN_ 181a16b30 size=23 ############ void Unwind_181a16b30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a16b10 size=23 ############ void Unwind_181a16b10(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 1804af4c0 size=124 ############ void FUN_1804af4c0(longlong *param_1) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = (undefined8 *)param_1[0xe]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = (undefined8 *)param_1[0xd]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_1812a0e00(param_1 + 6); puVar3 = (undefined8 *)*param_1; if (puVar3 != (undefined8 *)0x0) { piVar1 = (int *)(puVar3 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar3)(puVar3,1); } } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 1804a7380 size=79 ############ void FUN_1804a7380(longlong *param_1) { undefined8 *puVar1; void *_Memory; puVar1 = (undefined8 *)*param_1; _Memory = (void *)*puVar1; *puVar1 = puVar1; *(longlong *)(*param_1 + 8) = *param_1; param_1[1] = 0; if (_Memory != (void *)*param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 1804a7320 size=79 ############ void FUN_1804a7320(longlong *param_1) { undefined8 *puVar1; void *_Memory; puVar1 = (undefined8 *)*param_1; _Memory = (void *)*puVar1; *puVar1 = puVar1; *(longlong *)(*param_1 + 8) = *param_1; param_1[1] = 0; if (_Memory != (void *)*param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 1804a7270 size=144 ############ void FUN_1804a7270(longlong param_1) { void *pvVar1; undefined8 *puVar2; void *_Memory; pvVar1 = *(void **)(param_1 + 0x18); if (pvVar1 == (void *)0x0) { puVar2 = *(undefined8 **)(param_1 + 8); pvVar1 = (void *)*puVar2; *puVar2 = puVar2; *(longlong *)(*(longlong *)(param_1 + 8) + 8) = *(longlong *)(param_1 + 8); *(undefined8 *)(param_1 + 0x10) = 0; if (pvVar1 == *(void **)(param_1 + 8)) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 8)); } /* WARNING: Subroutine does not return */ free(pvVar1); } _Memory = pvVar1; if ((0xfff < (*(longlong *)(param_1 + 0x28) - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a16830 size=26 ############ void Unwind_181a16830(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a16750 size=23 ############ void Unwind_181a16750(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a16f90 size=26 ############ void Unwind_181a16f90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe8)); } ############ FUN_ 181a16fb0 size=26 ############ void Unwind_181a16fb0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe8)); } ############ FUN_ 181a16fd0 size=26 ############ void Unwind_181a16fd0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe8)); } ############ FUN_ 181a18c00 size=26 ############ void Unwind_181a18c00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x108)); } ############ FUN_ 181a18be0 size=26 ############ void Unwind_181a18be0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x108)); } ############ FUN_ 181a18aa0 size=26 ############ void Unwind_181a18aa0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a18ae0 size=26 ############ void Unwind_181a18ae0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x88)); } ############ FUN_ 181a17310 size=23 ############ void Unwind_181a17310(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a17560 size=23 ############ void Unwind_181a17560(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a18430 size=26 ############ void Unwind_181a18430(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a187e0 size=23 ############ void Unwind_181a187e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a187a0 size=26 ############ void Unwind_181a187a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x100)); } ############ FUN_ 181a18780 size=26 ############ void Unwind_181a18780(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a18750 size=26 ############ void Unwind_181a18750(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd8)); } ############ FUN_ 181a17e60 size=26 ############ void Unwind_181a17e60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa8)); } ############ FUN_ 181a18700 size=26 ############ void Unwind_181a18700(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a186e0 size=23 ############ void Unwind_181a186e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a18680 size=23 ############ void Unwind_181a18680(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x20)); } ############ FUN_ 181a18630 size=23 ############ void Unwind_181a18630(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a173d0 size=26 ############ void Unwind_181a173d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a185e0 size=23 ############ void Unwind_181a185e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a18480 size=23 ############ void Unwind_181a18480(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a18340 size=23 ############ void Unwind_181a18340(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a18230 size=23 ############ void Unwind_181a18230(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a181d0 size=23 ############ void Unwind_181a181d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a18120 size=23 ############ void Unwind_181a18120(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a17e80 size=26 ############ void Unwind_181a17e80(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1f8)); } ############ FUN_ 181a17de0 size=26 ############ void Unwind_181a17de0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x150)); } ############ FUN_ 181a17e00 size=26 ############ void Unwind_181a17e00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x150)); } ############ FUN_ 181a17cb0 size=23 ############ void Unwind_181a17cb0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a17c40 size=23 ############ void Unwind_181a17c40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a17c20 size=23 ############ void Unwind_181a17c20(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a17bd0 size=23 ############ void Unwind_181a17bd0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a17bb0 size=26 ############ void Unwind_181a17bb0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x148)); } ############ FUN_ 181a17b60 size=23 ############ void Unwind_181a17b60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x78)); } ############ FUN_ 181a17b00 size=26 ############ void Unwind_181a17b00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a177b0 size=23 ############ void Unwind_181a177b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a17710 size=26 ############ void Unwind_181a17710(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1a0)); } ############ FUN_ 181a175b0 size=26 ############ void Unwind_181a175b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a17590 size=26 ############ void Unwind_181a17590(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x118)); } ############ FUN_ 181a17540 size=23 ############ void Unwind_181a17540(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a17450 size=23 ############ void Unwind_181a17450(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a17410 size=23 ############ void Unwind_181a17410(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a18e90 size=23 ############ void Unwind_181a18e90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a18db0 size=23 ############ void Unwind_181a18db0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a18d70 size=23 ############ void Unwind_181a18d70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a193e0 size=23 ############ void Unwind_181a193e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a193c0 size=26 ############ void Unwind_181a193c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a18f60 size=26 ############ void Unwind_181a18f60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb8)); } ############ FUN_ 181a1a2d0 size=23 ############ void Unwind_181a1a2d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a1a1f0 size=23 ############ void Unwind_181a1a1f0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a1a160 size=23 ############ void Unwind_181a1a160(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 1813b6170 size=107 ############ void FUN_1813b6170(undefined8 *param_1) { uint uVar1; uint *puVar2; *param_1 = juce::AudioIODevice::vftable; puVar2 = (uint *)(param_1[2] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[1] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 180555bc0 size=207 ############ void FUN_180555bc0(longlong *param_1) { void *_Dst; uint uVar1; void *_Memory; uint *_Memory_00; int iVar2; longlong lVar3; longlong lVar4; iVar2 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar2) { lVar3 = (longlong)iVar2 * 8; lVar4 = lVar3; do { _Memory = *(void **)(lVar3 + *param_1); _Dst = (void *)(lVar4 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar2) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { FUN_180550170(_Memory); _Memory_00 = (uint *)(*(longlong *)((longlong)_Memory + 0x18) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } lVar4 = lVar4 + -8; lVar3 = lVar3 + -8; iVar2 = iVar2 + -1; } while (-1 < iVar2); } return; } ############ FUN_ 180555ac0 size=253 ############ void FUN_180555ac0(longlong *param_1) { void *_Dst; uint uVar1; void *_Memory; uint *_Memory_00; longlong lVar2; int iVar3; longlong lVar4; iVar3 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar3) { lVar2 = (longlong)iVar3 * 8; lVar4 = lVar2; do { _Memory = *(void **)(lVar2 + *param_1); _Dst = (void *)(lVar4 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar3) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { if (*(longlong **)((longlong)_Memory + 0x48) != (longlong *)0x0) { (**(code **)(**(longlong **)((longlong)_Memory + 0x48) + 0x90))(); (**(code **)(**(longlong **)((longlong)_Memory + 0x48) + 0x10))(); *(undefined8 *)((longlong)_Memory + 0x48) = 0; } if (*(longlong **)((longlong)_Memory + 0x40) != (longlong *)0x0) { (**(code **)(**(longlong **)((longlong)_Memory + 0x40) + 0x10))(); *(undefined8 *)((longlong)_Memory + 0x40) = 0; } _Memory_00 = (uint *)(*(longlong *)((longlong)_Memory + 0x10) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } lVar4 = lVar4 + -8; lVar2 = lVar2 + -8; iVar3 = iVar3 + -1; } while (-1 < iVar3); } return; } ############ FUN_ 181a19ee0 size=26 ############ void Unwind_181a19ee0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x90)); } ############ FUN_ 181a19e70 size=26 ############ void Unwind_181a19e70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a1a400 size=23 ############ void Unwind_181a1a400(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 1805705b0 size=91 ############ void FUN_1805705b0(undefined8 param_1,void *param_2) { void *pvVar1; void *_Memory; pvVar1 = *(void **)((longlong)param_2 + 0x30); if (pvVar1 == (void *)0x0) { /* WARNING: Subroutine does not return */ free(param_2); } _Memory = pvVar1; if ((0xfff < (*(longlong *)((longlong)param_2 + 0x40) - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181a1b200 size=23 ############ void Unwind_181a1b200(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a1b180 size=26 ############ void Unwind_181a1b180(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 200)); } ############ FUN_ 181a1b000 size=26 ############ void Unwind_181a1b000(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a1afb0 size=23 ############ void Unwind_181a1afb0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a1af30 size=23 ############ void Unwind_181a1af30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a1af10 size=26 ############ void Unwind_181a1af10(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd0)); } ############ FUN_ 181a1aef0 size=23 ############ void Unwind_181a1aef0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a1aed0 size=23 ############ void Unwind_181a1aed0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a1aeb0 size=23 ############ void Unwind_181a1aeb0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a1ae90 size=23 ############ void Unwind_181a1ae90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a1ae70 size=23 ############ void Unwind_181a1ae70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a1ae50 size=23 ############ void Unwind_181a1ae50(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a1ae30 size=23 ############ void Unwind_181a1ae30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a1ad70 size=26 ############ void Unwind_181a1ad70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xd8)); } ############ FUN_ 181a1ac40 size=23 ############ void Unwind_181a1ac40(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a1acb0 size=23 ############ void Unwind_181a1acb0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a1acf0 size=23 ############ void Unwind_181a1acf0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a1ad30 size=23 ############ void Unwind_181a1ad30(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a1ad50 size=23 ############ void Unwind_181a1ad50(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a1a920 size=23 ############ void Unwind_181a1a920(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x48)); } ############ FUN_ 181a1a580 size=26 ############ void Unwind_181a1a580(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf0)); } ############ FUN_ 181a1a5a0 size=26 ############ void Unwind_181a1a5a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf0)); } ############ FUN_ 1805738c0 size=87 ############ void FUN_1805738c0(undefined8 param_1,void *param_2) { void *_Memory; undefined8 *puVar1; _Memory = *(void **)((longlong)param_2 + 0x28); if (_Memory != (void *)0x0) { DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)_Memory + 0x1c)); puVar1 = *(undefined8 **)((longlong)_Memory + 8); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 180573870 size=79 ############ void FUN_180573870(undefined8 param_1,void *param_2) { uint uVar1; uint *_Memory; if (*(longlong *)((longlong)param_2 + 0x28) != 0) { FUN_18056e160(); } _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 1805737f0 size=56 ############ void FUN_1805737f0(undefined8 param_1,longlong param_2) { undefined8 local_res8; local_res8 = param_1; FUN_18056e1d0(param_2 + 0x28,&local_res8,**(undefined8 **)(param_2 + 0x28), *(undefined8 **)(param_2 + 0x28)); /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a1b3a0 size=26 ############ void Unwind_181a1b3a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x148)); } ############ FUN_ 181a1b320 size=23 ############ void Unwind_181a1b320(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a1b300 size=23 ############ void Unwind_181a1b300(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x58)); } ############ FUN_ 181a1b8c0 size=23 ############ void Unwind_181a1b8c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a1b850 size=23 ############ void Unwind_181a1b850(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 180588440 size=65 ############ void FUN_180588440(undefined8 param_1,void *param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 181a1bd90 size=23 ############ void Unwind_181a1bd90(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a1bd70 size=26 ############ void Unwind_181a1bd70(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xa0)); } ############ FUN_ 181a1bca0 size=23 ############ void Unwind_181a1bca0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x28)); } ############ FUN_ 181a1c220 size=26 ############ void Unwind_181a1c220(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1b0)); } ############ FUN_ 18058c710 size=150 ############ void FUN_18058c710(longlong *param_1) { longlong *_Memory; longlong *plVar1; _Memory = (longlong *)param_1[7]; if (_Memory != (longlong *)0x0) { if ((undefined **)*_Memory == std::_Func_impl_no_alloc,double_const_>::vftable) { plVar1 = (longlong *)_Memory[8]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != _Memory + 1); _Memory[8] = 0; } if (_Memory != param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } } else { (*(code *)((undefined **)*_Memory)[4])(_Memory,_Memory != param_1); } param_1[7] = 0; } return; } ############ FUN_ 18058c670 size=150 ############ void FUN_18058c670(longlong *param_1) { longlong *_Memory; longlong *plVar1; _Memory = (longlong *)param_1[7]; if (_Memory != (longlong *)0x0) { if ((undefined **)*_Memory == std:: _Func_impl_no_alloc,float_const*___ptr64,int>:: vftable) { plVar1 = (longlong *)_Memory[8]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != _Memory + 1); _Memory[8] = 0; } if (_Memory != param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } } else { (*(code *)((undefined **)*_Memory)[4])(_Memory,_Memory != param_1); } param_1[7] = 0; } return; } ############ FUN_ 181a1c1d0 size=26 ############ void Unwind_181a1c1d0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe8)); } ############ FUN_ 181a1c200 size=26 ############ void Unwind_181a1c200(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xf0)); } ############ FUN_ 181a1c1b0 size=23 ############ void Unwind_181a1c1b0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x70)); } ############ FUN_ 181a1c190 size=23 ############ void Unwind_181a1c190(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a1bf50 size=23 ############ void Unwind_181a1bf50(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a1c520 size=23 ############ void Unwind_181a1c520(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x30)); } ############ FUN_ 181a1c4e0 size=23 ############ void Unwind_181a1c4e0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a1c4c0 size=23 ############ void Unwind_181a1c4c0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a1c4a0 size=23 ############ void Unwind_181a1c4a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x38)); } ############ FUN_ 181a1c480 size=23 ############ void Unwind_181a1c480(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a1c9a0 size=23 ############ void Unwind_181a1c9a0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a1c980 size=23 ############ void Unwind_181a1c980(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x50)); } ############ FUN_ 181a1c960 size=23 ############ void Unwind_181a1c960(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a1c940 size=23 ############ void Unwind_181a1c940(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 181a1c730 size=23 ############ void Unwind_181a1c730(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x68)); } ############ FUN_ 181a1d000 size=23 ############ void Unwind_181a1d000(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 18059b800 size=149 ############ void FUN_18059b800(longlong *param_1) { int *piVar1; int iVar2; undefined8 *puVar3; if ((void *)param_1[0x11] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0x11]); } puVar3 = (undefined8 *)param_1[0x10]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = (undefined8 *)param_1[0xd]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_1812a0e00(param_1 + 6); puVar3 = (undefined8 *)*param_1; if (puVar3 != (undefined8 *)0x0) { piVar1 = (int *)(puVar3 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar3)(puVar3,1); } } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 181a1cfa0 size=23 ############ void Unwind_181a1cfa0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a1cfc0 size=23 ############ void Unwind_181a1cfc0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x60)); } ############ FUN_ 181a1cf60 size=26 ############ void Unwind_181a1cf60(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x1d0)); } ############ FUN_ 18059b780 size=117 ############ void FUN_18059b780(undefined8 param_1,longlong *param_2) { HGLRC pHVar1; if (param_2 != (longlong *)0x0) { pHVar1 = wglGetCurrentContext(); if (pHVar1 != (HGLRC)0x0) { if ((int)param_2[2] != 0) { glDeleteTextures(1); } if ((int)param_2[3] != 0) { (**(code **)(*param_2 + 0x128))(1); } if (*(int *)((longlong)param_2 + 0x14) != 0) { (**(code **)(*param_2 + 0x158))(1); } } /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 181a1cdb0 size=26 ############ void Unwind_181a1cdb0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xe0)); } ############ FUN_ 180599dd0 size=209 ############ void FUN_180599dd0(longlong *param_1) { void *_Dst; int *_Memory; longlong *plVar1; longlong lVar2; int iVar3; longlong lVar4; iVar3 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar3) { lVar2 = (longlong)iVar3 * 8; lVar4 = lVar2; do { _Memory = *(int **)(lVar2 + *param_1); _Dst = (void *)(lVar4 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar3) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (int *)0x0) { if ((*_Memory != 0) && (plVar1 = (longlong *)FUN_1805989c0(), *(longlong *)(_Memory + 4) == *plVar1)) { glDeleteTextures(1,_Memory); _Memory[0] = 0; _Memory[1] = 0; _Memory[2] = 0; } /* WARNING: Subroutine does not return */ free(_Memory); } lVar4 = lVar4 + -8; lVar2 = lVar2 + -8; iVar3 = iVar3 + -1; } while (-1 < iVar3); } *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x000180599e9a. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 181a1cd00 size=26 ############ void Unwind_181a1cd00(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x80)); } ############ FUN_ 181a1ccb0 size=26 ############ void Unwind_181a1ccb0(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0xb0)); } ############ FUN_ 180593380 size=60 ############ void FUN_180593380(longlong param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)(param_1 + 0x18) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18163bcd0(param_1); return; } ############ FUN_ 1805933c0 size=102 ############ void FUN_1805933c0(longlong param_1) { uint uVar1; longlong *plVar2; uint *_Memory; plVar2 = *(longlong **)(param_1 + 0x70); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x20))(plVar2,plVar2 != (longlong *)(param_1 + 0x38)); *(undefined8 *)(param_1 + 0x70) = 0; } _Memory = (uint *)(*(longlong *)(param_1 + 0x18) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18163bcd0(param_1); return; } ############ FUN_ 181a1d180 size=26 ############ void Unwind_181a1d180(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x98)); } ############ FUN_ 18059fdb0 size=84 ############ void FUN_18059fdb0(undefined8 param_1,void *param_2) { uint uVar1; undefined8 *puVar2; uint *_Memory; puVar2 = *(undefined8 **)((longlong)param_2 + 0x28); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Memory = (uint *)(*(longlong *)((longlong)param_2 + 0x20) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 181a1d270 size=23 ############ void Unwind_181a1d270(undefined8 param_1,longlong param_2) { /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } ############ FUN_ 1804623f0 size=173 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1804623f0(void) { uint uVar1; longlong *plVar2; uint *_Memory; longlong local_res8; longlong local_res10; local_res8 = DAT_182673910; if ((*(uint *)(DAT_182673910 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(DAT_182673910 + -0x10) = *(int *)(DAT_182673910 + -0x10) + 1; UNLOCK(); } plVar2 = (longlong *)FUN_1811d4e50(&local_res10,&local_res8); _DAT_1826738d0 = 0; InitializeCriticalSection((LPCRITICAL_SECTION)&DAT_1826738d8); _DAT_182673908 = *plVar2; if ((*(uint *)(_DAT_182673908 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(_DAT_182673908 + -0x10) = *(int *)(_DAT_182673908 + -0x10) + 1; UNLOCK(); } _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } atexit((_func_5014 *)&LAB_181a4a4a0); return; } ############ FUN_ 180489180 size=267 ############ longlong * FUN_180489180(longlong *param_1,void *param_2,size_t param_3) { ulonglong uVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; void *_Memory; longlong *_Dst; ulonglong uVar5; uVar2 = param_1[3]; if (uVar2 < param_3) { if (0x7fffffffffffffff < param_3) { /* WARNING: Subroutine does not return */ FUN_18048c740(); } uVar4 = param_3 | 0xf; uVar5 = 0x7fffffffffffffff; if (((uVar4 < 0x8000000000000000) && (uVar2 <= 0x7fffffffffffffff - (uVar2 >> 1))) && (uVar1 = (uVar2 >> 1) + uVar2, uVar5 = uVar4, uVar4 < uVar1)) { uVar5 = uVar1; } pvVar3 = (void *)FUN_180480500(uVar5 + 1); param_1[2] = param_3; param_1[3] = uVar5; memcpy(pvVar3,param_2,param_3); *(undefined1 *)((longlong)pvVar3 + param_3) = 0; if (0xf < uVar2) { pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < uVar2 + 1) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = (longlong)pvVar3; } else { _Dst = param_1; if (0xf < uVar2) { _Dst = (longlong *)*param_1; } param_1[2] = param_3; memmove(_Dst,param_2,param_3); *(undefined1 *)((longlong)_Dst + param_3) = 0; } return param_1; } ############ FUN_ 180471400 size=43 ############ undefined8 * FUN_180471400(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::FUID::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804714d0 size=43 ############ undefined8 * FUN_1804714d0(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::FObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180471530 size=43 ############ undefined8 * FUN_180471530(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::ConstString::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804718e0 size=43 ############ undefined8 * FUN_1804718e0(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::Base::Thread::ILock::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180471990 size=67 ############ undefined8 * FUN_180471990(undefined8 *param_1,ulonglong param_2) { *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180471a20 size=83 ############ undefined8 * FUN_180471a20(undefined8 *param_1,uint param_2) { *param_1 = Steinberg::String::vftable; if ((void *)param_1[1] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[1]); } *param_1 = Steinberg::ConstString::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180471a90 size=77 ############ undefined8 * FUN_180471a90(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::Base::Thread::FLock::vftable; DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 1)); *param_1 = Steinberg::Base::Thread::ILock::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180471c80 size=202 ############ undefined8 * FUN_180471c80(undefined8 *param_1,ulonglong param_2) { void *_Memory; _Memory = (void *)param_1[10]; *param_1 = Steinberg::UpdateHandler::vftable; param_1[2] = Steinberg::UpdateHandler::vftable; param_1[3] = Steinberg::UpdateHandler::vftable; if (DAT_182673668 == param_1 + 2) { DAT_182673668 = (undefined8 *)0x0; } if (_Memory != (void *)0x0) { FUN_180471e30(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } param_1[10] = 0; param_1[4] = Steinberg::Base::Thread::FLock::vftable; DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 5)); param_1[4] = Steinberg::Base::Thread::ILock::vftable; *param_1 = Steinberg::FObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180471e30 size=232 ############ void FUN_180471e30(longlong param_1) { longlong *plVar1; void *pvVar2; void *_Memory; longlong lVar3; lVar3 = *(longlong *)(param_1 + 0x4048); while (lVar3 != 0) { plVar1 = (longlong *)(param_1 + 0x4048); *plVar1 = *plVar1 + -1; if (*plVar1 == 0) { *(undefined8 *)(param_1 + 0x4040) = 0; } lVar3 = *(longlong *)(param_1 + 0x4048); } lVar3 = *(longlong *)(param_1 + 0x4038); while (lVar3 != 0) { lVar3 = lVar3 + -1; pvVar2 = *(void **)(*(longlong *)(param_1 + 0x4030) + lVar3 * 8); if (pvVar2 != (void *)0x0) { /* WARNING: Subroutine does not return */ free(pvVar2); } } pvVar2 = *(void **)(param_1 + 0x4030); if (pvVar2 == (void *)0x0) { *(undefined8 *)(param_1 + 0x4038) = 0; *(undefined8 *)(param_1 + 0x4030) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x4028)); } _Memory = pvVar2; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x4038) << 3)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180471d60 size=176 ############ void FUN_180471d60(longlong param_1) { void *pvVar1; undefined8 *puVar2; void *_Memory; pvVar1 = *(void **)(param_1 + 0x18); if (pvVar1 == (void *)0x0) { puVar2 = *(undefined8 **)(param_1 + 8); pvVar1 = (void *)*puVar2; *puVar2 = puVar2; *(longlong *)(*(longlong *)(param_1 + 8) + 8) = *(longlong *)(param_1 + 8); *(undefined8 *)(param_1 + 0x10) = 0; if (pvVar1 == *(void **)(param_1 + 8)) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 8)); } FUN_18047cfb0((longlong)pvVar1 + 0x18); /* WARNING: Subroutine does not return */ free(pvVar1); } _Memory = pvVar1; if ((0xfff < (*(longlong *)(param_1 + 0x28) - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180472020 size=119 ############ void FUN_180472020(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *param_1; _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18047ceb0(param_1,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*param_1 + 8) = lVar1; *(longlong *)*param_1 = lVar1; *(longlong *)(*param_1 + 0x10) = lVar1; param_1[1] = 0; /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 1804720d0 size=119 ############ void FUN_1804720d0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; void *_Memory; lVar1 = *param_1; _Memory = *(void **)(lVar1 + 8); if (*(char *)((longlong)_Memory + 0x19) == '\0') { FUN_18047e3b0(param_1,*(undefined8 *)((longlong)_Memory + 0x10),param_3,param_4, 0xfffffffffffffffe); /* WARNING: Subroutine does not return */ free(_Memory); } *(longlong *)(*param_1 + 8) = lVar1; *(longlong *)*param_1 = lVar1; *(longlong *)(*param_1 + 0x10) = lVar1; param_1[1] = 0; /* WARNING: Subroutine does not return */ free((void *)*param_1); } ############ FUN_ 180472180 size=79 ############ /* Library Function - Single Match public: virtual void * __ptr64 __cdecl ATL::CWin32Heap::`scalar deleting destructor'(unsigned int) __ptr64 Library: Visual Studio 2015 Release */ void * __thiscall ATL::CWin32Heap::_scalar_deleting_destructor_(CWin32Heap *this,uint param_1) { *(undefined ***)this = Steinberg::MemoryStream::vftable; if ((this[0x30] != (CWin32Heap)0x0) && (*(void **)(this + 0x10) != (void *)0x0)) { /* WARNING: Subroutine does not return */ free(*(void **)(this + 0x10)); } if ((param_1 & 1) != 0) { /* WARNING: Subroutine does not return */ free(this); } return this; } ############ FUN_ 180472360 size=54 ############ undefined8 * FUN_180472360(undefined8 *param_1,ulonglong param_2) { param_1[2] = Steinberg::CPluginView::vftable; *param_1 = Steinberg::FObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180472b30 size=88 ############ undefined8 * FUN_180472b30(undefined8 *param_1,ulonglong param_2) { FUN_181136ac0(param_1 + 10); param_1[2] = Steinberg::Vst::ComponentBase::vftable; param_1[3] = Steinberg::Vst::ComponentBase::vftable; *param_1 = Steinberg::FObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180472bd0 size=52 ############ void * FUN_180472bd0(void *param_1,ulonglong param_2) { FUN_181139610(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180472c10 size=52 ############ void * FUN_180472c10(void *param_1,ulonglong param_2) { FUN_181139330(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181139330 size=246 ############ void FUN_181139330(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; longlong lVar3; void *_Memory; longlong *plVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; *param_1 = Steinberg::Vst::EditControllerEx1::vftable; param_1[2] = Steinberg::Vst::EditControllerEx1::vftable; param_1[3] = Steinberg::Vst::EditControllerEx1::vftable; param_1[6] = Steinberg::Vst::EditControllerEx1::vftable; param_1[7] = Steinberg::Vst::EditControllerEx1::vftable; param_1[0xd] = Steinberg::Vst::EditControllerEx1::vftable; plVar1 = (longlong *)param_1[0x12]; for (plVar4 = (longlong *)param_1[0x11]; plVar4 != plVar1; plVar4 = plVar4 + 1) { plVar2 = (longlong *)*plVar4; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x48))(plVar2,param_1,param_3,param_4,uVar5); } } plVar4 = param_1 + 0x14; lVar3 = *plVar4; _Memory = *(void **)(lVar3 + 8); if (*(char *)((longlong)_Memory + 0x19) != '\0') { *(longlong *)(*plVar4 + 8) = lVar3; *(longlong *)*plVar4 = lVar3; *(longlong *)(*plVar4 + 0x10) = lVar3; param_1[0x15] = 0; /* WARNING: Subroutine does not return */ free((void *)*plVar4); } FUN_18047ceb0(plVar4,*(undefined8 *)((longlong)_Memory + 0x10)); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180472ce0 size=65 ############ undefined8 * FUN_180472ce0(undefined8 *param_1,ulonglong param_2) { param_1[2] = Steinberg::Vst::ComponentBase::vftable; param_1[3] = Steinberg::Vst::ComponentBase::vftable; *param_1 = Steinberg::FObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180472d30 size=43 ############ undefined8 * FUN_180472d30(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::FObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180472d60 size=222 ############ undefined8 * FUN_180472d60(undefined8 *param_1,uint param_2) { undefined8 *puVar1; void *pvVar2; void *_Memory; ulonglong uVar3; *param_1 = Steinberg::Vst::StringListParameter::vftable; puVar1 = (undefined8 *)param_1[0x67]; uVar3 = (ulonglong)((longlong)param_1[0x68] + (7 - (longlong)puVar1)) >> 3; if ((undefined8 *)param_1[0x68] < puVar1) { uVar3 = 0; } if (uVar3 != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar1); } pvVar2 = (void *)param_1[0x67]; if (pvVar2 == (void *)0x0) { *param_1 = Steinberg::FObject::vftable; if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } _Memory = pvVar2; if ((0xfff < (param_1[0x69] - (longlong)pvVar2 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180472e60 size=95 ############ undefined8 * FUN_180472e60(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::Vst::PresetFile::vftable; if ((longlong *)param_1[1] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[1] + 0x10))(); } param_1[2] = Steinberg::FUID::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180472ec0 size=67 ############ undefined8 * FUN_180472ec0(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::Vst::FileStream::vftable; fclose((FILE *)param_1[2]); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180472f10 size=84 ############ undefined8 * FUN_180472f10(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::Vst::ReadOnlyBStream::vftable; if ((longlong *)param_1[2] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[2] + 0x10))(); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180472f70 size=92 ############ undefined8 * FUN_180472f70(undefined8 *param_1,uint param_2) { *param_1 = Steinberg::Vst::BufferStream::vftable; param_1[2] = Steinberg::Buffer::vftable; if ((void *)param_1[3] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } param_1[3] = 0; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180472fd0 size=131 ############ undefined8 * FUN_180472fd0(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; longlong lVar3; *param_1 = Steinberg::Vst::HostMessage::vftable; if ((void *)param_1[2] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } param_1[2] = 0; plVar2 = (longlong *)param_1[3]; if (plVar2 != (longlong *)0x0) { LOCK(); plVar1 = plVar2 + 1; lVar3 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if (((int)lVar3 == 1) && (plVar2 != (longlong *)0x0)) { (**(code **)(*plVar2 + 0x58))(plVar2,1,param_3,param_4,0xfffffffffffffffe); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180473060 size=52 ############ void * FUN_180473060(void *param_1,ulonglong param_2) { FUN_181135920(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181135920 size=378 ############ void FUN_181135920(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; char cVar2; undefined8 *_Memory; longlong lVar3; longlong *plVar4; longlong *plVar5; longlong *plVar6; longlong *plVar7; *param_1 = Steinberg::Vst::HostAttributeList::vftable; plVar1 = param_1 + 2; plVar7 = (longlong *)*plVar1; if (plVar7 != (longlong *)*plVar7) { do { if (*(char *)((longlong)plVar7 + 0x19) == '\0') { plVar6 = (longlong *)*plVar7; if (*(char *)((longlong)plVar6 + 0x19) == '\0') { cVar2 = *(char *)(plVar6[2] + 0x19); plVar4 = (longlong *)plVar6[2]; while (cVar2 == '\0') { cVar2 = *(char *)(plVar4[2] + 0x19); plVar6 = plVar4; plVar4 = (longlong *)plVar4[2]; } } else { cVar2 = *(char *)(plVar7[1] + 0x19); plVar4 = (longlong *)plVar7[1]; plVar6 = plVar7; while ((plVar5 = plVar4, cVar2 == '\0' && (plVar6 == (longlong *)*plVar5))) { cVar2 = *(char *)(plVar5[1] + 0x19); plVar4 = (longlong *)plVar5[1]; plVar6 = plVar5; } if (*(char *)((longlong)plVar6 + 0x19) == '\0') { plVar6 = plVar5; } } } else { plVar6 = (longlong *)plVar7[2]; } _Memory = (undefined8 *)plVar6[7]; if (_Memory != (undefined8 *)0x0) { if (*(int *)(_Memory + 1) == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free((void *)*_Memory); } if (*(char *)((longlong)plVar7 + 0x19) == '\0') { plVar6 = (longlong *)*plVar7; if (*(char *)((longlong)plVar6 + 0x19) == '\0') { cVar2 = *(char *)(plVar6[2] + 0x19); plVar7 = plVar6; plVar6 = (longlong *)plVar6[2]; while (cVar2 == '\0') { cVar2 = *(char *)(plVar6[2] + 0x19); plVar7 = plVar6; plVar6 = (longlong *)plVar6[2]; } } else { cVar2 = *(char *)(plVar7[1] + 0x19); plVar6 = (longlong *)plVar7[1]; while ((plVar4 = plVar6, cVar2 == '\0' && (plVar7 == (longlong *)*plVar4))) { cVar2 = *(char *)(plVar4[1] + 0x19); plVar6 = (longlong *)plVar4[1]; plVar7 = plVar4; } if (*(char *)((longlong)plVar7 + 0x19) == '\0') { plVar7 = plVar4; } } } else { plVar7 = (longlong *)plVar7[2]; } } while (plVar7 != *(longlong **)*plVar1); } lVar3 = *plVar1; FUN_18047e130(plVar1,*(undefined8 *)(lVar3 + 8),param_3,param_4,0xfffffffffffffffe); *(longlong *)(*plVar1 + 8) = lVar3; *(longlong *)*plVar1 = lVar3; *(longlong *)(*plVar1 + 0x10) = lVar3; param_1[3] = 0; /* WARNING: Subroutine does not return */ free((void *)*plVar1); } ############ FUN_ 18047e130 size=123 ############ void FUN_18047e130(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) != '\0') { return; } FUN_18047e130(param_1,*(undefined8 *)((longlong)param_2 + 0x10)); *(undefined ***)((longlong)param_2 + 0x20) = Steinberg::String::vftable; if (*(void **)((longlong)param_2 + 0x28) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)param_2 + 0x28)); } *(undefined ***)((longlong)param_2 + 0x20) = Steinberg::ConstString::vftable; /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 180495200 size=35 ############ void FUN_180495200(longlong param_1) { int iVar1; int *_Memory; _Memory = (int *)(param_1 + -0x10); if ((*(uint *)(param_1 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Could not recover jumptable at 0x0001811328ae. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free(_Memory); return; } } return; } ############ FUN_ 1812316c0 size=538 ############ longlong * FUN_1812316c0(longlong *param_1,longlong *param_2,ulonglong param_3,undefined8 param_4) { byte bVar1; int iVar2; int iVar3; ulonglong uVar4; uint uVar5; longlong lVar6; uint uVar7; bool bVar8; undefined1 *local_40; byte *local_38; undefined1 *local_30; ulonglong local_28; ulonglong local_20; iVar3 = FUN_18049bc80(*param_1,param_3 & 0xffffffff,param_3,param_4,0xfffffffffffffffe); if (iVar3 < 0) { lVar6 = *param_1; *param_2 = lVar6; if ((*(uint *)(lVar6 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar6 + -0x10) = *(int *)(lVar6 + -0x10) + 1; UNLOCK(); } } else { local_38 = (byte *)*param_1; local_40 = &DAT_1821dbf98; local_30 = (undefined1 *)0x0; local_28 = *(ulonglong *)(local_38 + -8); local_20 = 0; FUN_1812342b0(&local_40); local_30 = local_40; do { bVar1 = *local_38; local_38 = local_38 + 1; uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar5 = 0x40; uVar7 = 0x7f; iVar3 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar5 < 9) break; uVar7 = uVar7 >> 1; iVar3 = iVar3 + 1; uVar5 = uVar5 >> 1; } while ((bVar1 & uVar5) != 0); } uVar7 = bVar1 & uVar7; for (; (iVar3 = iVar3 + -1, -1 < iVar3 && ((*local_38 & 0xc0) == 0x80)); local_38 = local_38 + 1) { uVar7 = *local_38 & 0x3f | uVar7 << 6; } } if (uVar7 == (uint)param_3) { uVar7 = (uint)param_4; } lVar6 = 1; if (((0x7f < uVar7) && (lVar6 = 2, 0x7ff < uVar7)) && (lVar6 = 3, 0xffff < uVar7)) { lVar6 = 4; } local_20 = local_20 + lVar6; if (local_28 < local_20) { uVar4 = 8; if (8 < local_28 >> 4) { uVar4 = local_28 >> 4; } local_28 = local_28 + uVar4; iVar2 = (int)local_40; iVar3 = (int)local_30; FUN_1812342b0(&local_40); local_30 = local_40 + (iVar3 - iVar2); } FUN_180493180(&local_30,uVar7); } while (uVar7 != 0); *param_2 = (longlong)local_40; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar8 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar8) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } return param_2; } ############ FUN_ 1812319a0 size=343 ############ longlong * FUN_1812319a0(longlong *param_1,longlong *param_2,byte *param_3,byte *param_4) { uint uVar1; byte bVar2; longlong lVar3; int iVar4; longlong *plVar5; uint *_Memory; int iVar6; int iVar7; byte *pbVar8; byte *pbVar9; longlong local_res8; longlong *local_res10; byte *local_res18; byte *local_res20; iVar4 = 0; iVar6 = 0; pbVar8 = param_3; while( true ) { while( true ) { bVar2 = *pbVar8; pbVar8 = pbVar8 + 1; if (-1 < (char)bVar2) break; if ((*pbVar8 & 0xc0) != 0x80) goto LAB_181231a06; do { pbVar8 = pbVar8 + 1; } while ((*pbVar8 & 0xc0) == 0x80); iVar6 = iVar6 + 1; } pbVar9 = param_4; iVar7 = iVar4; if (bVar2 == 0) break; LAB_181231a06: iVar6 = iVar6 + 1; } do { while( true ) { pbVar8 = pbVar9 + 1; if ((char)*pbVar9 < '\0') break; if (*pbVar9 == 0) { lVar3 = *param_1; *param_2 = lVar3; local_res10 = param_2; local_res18 = param_3; local_res20 = param_4; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } do { iVar4 = FUN_181232610(param_2,iVar4,local_res18); if (iVar4 < 0) { return param_2; } plVar5 = (longlong *)FUN_181231b00(param_2,&local_res8,iVar4,iVar6,local_res20); lVar3 = *param_2; *param_2 = *plVar5; *plVar5 = lVar3; _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar4 = iVar4 + iVar7; } while( true ); } LAB_181231a46: pbVar9 = pbVar8; iVar7 = iVar7 + 1; } if ((*pbVar8 & 0xc0) != 0x80) goto LAB_181231a46; do { pbVar8 = pbVar8 + 1; } while ((*pbVar8 & 0xc0) == 0x80); pbVar9 = pbVar8; iVar7 = iVar7 + 1; } while( true ); } ############ FUN_ 180489b40 size=185 ############ void FUN_180489b40(longlong *param_1,int param_2,uint param_3) { longlong lVar1; uint *_Memory; longlong *plVar2; longlong *plVar3; ulonglong uVar4; uint uVar5; ulonglong uVar6; if (0 < (int)param_3) { uVar4 = (ulonglong)param_3; uVar5 = (*(int *)((longlong)param_1 + 0xc) - param_2) - param_3; uVar6 = (ulonglong)uVar5; plVar3 = (longlong *)(*param_1 + (longlong)param_2 * 8); plVar2 = plVar3 + (int)param_3; if (0 < (int)uVar5) { do { lVar1 = *plVar3; *plVar3 = *plVar2; plVar3 = plVar3 + 1; *plVar2 = lVar1; uVar6 = uVar6 - 1; plVar2 = plVar2 + 1; } while (uVar6 != 0); } if (0 < (int)param_3) { do { lVar1 = *plVar3; plVar3 = plVar3 + 1; _Memory = (uint *)(lVar1 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar5 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } uVar4 = uVar4 - 1; } while (uVar4 != 0); } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) - param_3; } return; } ############ FUN_ 18122d360 size=411 ############ longlong * FUN_18122d360(longlong *param_1,longlong *param_2,char *param_3) { char cVar1; int iVar2; char *pcVar3; uint uVar4; longlong lVar5; char *pcVar6; longlong lVar7; longlong lVar8; longlong lVar9; longlong *plVar10; longlong lVar11; bool bVar12; char *local_38; undefined8 local_30; longlong local_28; local_30 = 0xfffffffffffffffe; iVar2 = *(int *)((longlong)param_1 + 0xc); lVar9 = (longlong)iVar2; if (iVar2 < 1) { *param_2 = (longlong)&DAT_1821dbf98; } else if (iVar2 + -1 == 0) { lVar9 = *(longlong *)*param_1; *param_2 = lVar9; if ((*(uint *)(lVar9 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar9 + -0x10) = *(int *)(lVar9 + -0x10) + 1; UNLOCK(); } } else { lVar5 = -1; do { lVar5 = lVar5 + 1; } while (param_3[lVar5] != '\0'); lVar8 = (iVar2 + -1) * lVar5; if (0 < iVar2) { plVar10 = (longlong *)*param_1; lVar11 = lVar9; do { local_28 = *plVar10; lVar7 = -1; do { lVar7 = lVar7 + 1; } while (*(char *)(local_28 + lVar7) != '\0'); lVar8 = lVar8 + lVar7; plVar10 = plVar10 + 1; lVar11 = lVar11 + -1; } while (lVar11 != 0); } local_38 = ""; FUN_1812342b0(&local_38,lVar8); lVar8 = 0; pcVar6 = local_38; if (0 < lVar9) { while( true ) { pcVar3 = *(char **)(*param_1 + lVar8 * 8); if ((*pcVar3 != '\0') && (cVar1 = *pcVar3, *pcVar6 = cVar1, cVar1 != '\0')) { lVar11 = (longlong)pcVar3 - (longlong)pcVar6; do { pcVar6 = pcVar6 + 1; cVar1 = pcVar6[lVar11]; *pcVar6 = cVar1; } while (cVar1 != '\0'); } lVar8 = lVar8 + 1; if (lVar9 <= lVar8) break; if ((lVar5 != 0) && (cVar1 = *param_3, *pcVar6 = cVar1, cVar1 != '\0')) { lVar11 = (longlong)param_3 - (longlong)pcVar6; do { pcVar6 = pcVar6 + 1; cVar1 = pcVar6[lVar11]; *pcVar6 = cVar1; } while (cVar1 != '\0'); } } } *pcVar6 = '\0'; *param_2 = (longlong)local_38; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } return param_2; } ############ FUN_ 1812416f0 size=398 ############ char *** FUN_1812416f0(char ***param_1,undefined8 *param_2) { uint uVar1; bool bVar2; bool bVar3; longlong lVar4; longlong *plVar5; char ***pppcVar6; char ****ppppcVar7; int iVar8; char **local_res8; char ***local_res10; char **local_res18; byte *local_res20; iVar8 = 0; pppcVar6 = (char ***)*param_2; lVar4 = -1; if (*(char *)pppcVar6 != '\0') { do { lVar4 = lVar4 + 1; } while (*(char *)((longlong)pppcVar6 + lVar4) != '\0'); local_res20 = (byte *)((longlong)pppcVar6 + lVar4); do { local_res20 = local_res20 + -1; if ((*local_res20 & 0xc0) != 0x80) break; iVar8 = iVar8 + 1; } while (iVar8 < 4); local_res8 = (char **)param_1; iVar8 = FUN_180492f10(&local_res20); if (iVar8 == 0x5c) { local_res18 = (char **)pppcVar6; bVar3 = true; bVar2 = false; if (((ulonglong)pppcVar6[-2] & 0x30000000) == 0) { LOCK(); *(int *)(pppcVar6 + -2) = *(int *)(pppcVar6 + -2) + 1; UNLOCK(); } ppppcVar7 = (char ****)&local_res18; goto LAB_1812417fd; } } if (((ulonglong)pppcVar6[-2] & 0x30000000) == 0) { LOCK(); *(int *)(pppcVar6 + -2) = *(int *)(pppcVar6 + -2) + 1; UNLOCK(); } local_res10 = &local_res8; local_res8 = (char **)pppcVar6; plVar5 = (longlong *)FUN_181232b70(&local_res8,0x5c); local_res10 = (char ***)*plVar5; if (((ulonglong)local_res10[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = *(int *)(local_res10 + -2) + 1; UNLOCK(); } pppcVar6 = (char ***)(local_res8 + -2); if (((ulonglong)*pppcVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)pppcVar6; *(uint *)pppcVar6 = *(uint *)pppcVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(pppcVar6); } } ppppcVar7 = &local_res10; bVar3 = false; bVar2 = true; LAB_1812417fd: *param_1 = (char **)*ppppcVar7; *ppppcVar7 = (char ***)&DAT_1821dbf98; if ((bVar2) && (pppcVar6 = local_res10 + -2, ((ulonglong)*pppcVar6 & 0x30000000) == 0)) { LOCK(); uVar1 = *(uint *)pppcVar6; *(uint *)pppcVar6 = *(uint *)pppcVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(pppcVar6); } } if ((bVar3) && (pppcVar6 = (char ***)(local_res18 + -2), ((ulonglong)*pppcVar6 & 0x30000000) == 0) ) { LOCK(); uVar1 = *(uint *)pppcVar6; *(uint *)pppcVar6 = *(uint *)pppcVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(pppcVar6); } } return param_1; } ############ FUN_ 180474b90 size=255 ############ int FUN_180474b90(undefined8 *param_1) { byte bVar1; byte *pbVar2; byte *pbVar3; bool bVar4; uint uVar5; uint uVar6; int iVar7; int iVar8; uint uStackX_c; iVar8 = 0; bVar4 = false; if (param_1 == (undefined8 *)0x0) { pbVar2 = (byte *)((ulonglong)uStackX_c << 0x20); } else { pbVar2 = (byte *)*param_1; bVar4 = true; if ((*(uint *)(pbVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar2 + -0x10) = *(int *)(pbVar2 + -0x10) + 1; UNLOCK(); } iVar8 = 0; bVar1 = *pbVar2; pbVar3 = pbVar2; while (bVar1 != 0) { bVar1 = *pbVar3; pbVar3 = pbVar3 + 1; uVar6 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar5 = 0x40; uVar6 = 0x7f; iVar7 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar5 < 9) break; uVar6 = uVar6 >> 1; iVar7 = iVar7 + 1; uVar5 = uVar5 >> 1; } while ((bVar1 & uVar5) != 0); } uVar6 = bVar1 & uVar6; for (; (iVar7 = iVar7 + -1, -1 < iVar7 && ((*pbVar3 & 0xc0) == 0x80)); pbVar3 = pbVar3 + 1) { uVar6 = *pbVar3 & 0x3f | uVar6 << 6; } } iVar8 = iVar8 * 0x1f + uVar6; bVar1 = *pbVar3; } } if ((bVar4) && (pbVar3 = pbVar2 + -0x10, (*(uint *)(pbVar2 + -0x10) & 0x30000000) == 0)) { LOCK(); iVar7 = *(int *)pbVar3; *(int *)pbVar3 = *(int *)pbVar3 + -1; UNLOCK(); if (iVar7 == 0) { /* WARNING: Subroutine does not return */ free(pbVar3); } } return iVar8; } ############ FUN_ 180475800 size=242 ############ void FUN_180475800(longlong param_1) { uint uVar1; undefined8 uVar2; uint *puVar3; longlong local_res8; longlong local_res10; longlong local_res18; uVar2 = (**(code **)(**(longlong **)(param_1 + 0x340) + 0x20)) (*(longlong **)(param_1 + 0x340),&local_res8,0x80); FUN_1804741b0(param_1 + 0x14,uVar2); puVar3 = (uint *)(local_res8 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = (**(code **)(**(longlong **)(param_1 + 0x340) + 0x20)) (*(longlong **)(param_1 + 0x340),&local_res10,8); FUN_1804741b0(param_1 + 0x114,uVar2); puVar3 = (uint *)(local_res10 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } uVar2 = (**(code **)(**(longlong **)(param_1 + 0x340) + 0x28)) (*(longlong **)(param_1 + 0x340),&local_res18); FUN_1804741b0(param_1 + 0x214,uVar2); puVar3 = (uint *)(local_res18 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } return; } ############ FUN_ 1804759f0 size=204 ############ void FUN_1804759f0(longlong param_1,double param_2,undefined8 param_3) { longlong *plVar1; uint uVar2; longlong lVar3; undefined8 uVar4; uint *_Memory; longlong local_res8; longlong local_res20; lVar3 = __RTDynamicCast(*(undefined8 *)(param_1 + 0x340),0, &juce::AudioProcessorParameter::RTTI_Type_Descriptor, &juce::LegacyAudioParameter::RTTI_Type_Descriptor,0); plVar1 = *(longlong **)(param_1 + 0x340); if (lVar3 == 0) { uVar4 = (**(code **)(*plVar1 + 0x48))(plVar1,&local_res20,(float)param_2,0x80); FUN_1804741b0(param_3,uVar4); _Memory = (uint *)(local_res20 + -0x10); uVar2 = *_Memory; } else { uVar4 = (**(code **)(*plVar1 + 0x78))(plVar1,&local_res8); FUN_1804741b0(param_3,uVar4); _Memory = (uint *)(local_res8 + -0x10); uVar2 = *_Memory; } if ((uVar2 & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 180475ac0 size=193 ############ ulonglong FUN_180475ac0(longlong param_1,undefined8 param_2,double *param_3) { uint uVar1; ulonglong uVar2; uint *_Memory; float fVar3; longlong local_res8; uVar2 = __RTDynamicCast(*(undefined8 *)(param_1 + 0x340),0, &juce::AudioProcessorParameter::RTTI_Type_Descriptor, &juce::LegacyAudioParameter::RTTI_Type_Descriptor,0); if (uVar2 != 0) { return uVar2 & 0xffffffffffffff00; } FUN_18049c800(&local_res8,param_2); fVar3 = (float)(**(code **)(**(longlong **)(param_1 + 0x340) + 0x50)) (*(longlong **)(param_1 + 0x340),&local_res8); *param_3 = (double)fVar3; _Memory = (uint *)(local_res8 + -0x10); uVar1 = *_Memory; if ((uVar1 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); uVar1 = uVar1 - 1; if (uVar1 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(_Memory); } } return CONCAT71((uint7)(uint3)(uVar1 >> 8),1); } ############ FUN_ 180475f10 size=121 ############ void FUN_180475f10(longlong param_1,double param_2,undefined8 param_3) { uint uVar1; undefined8 uVar2; uint *_Memory; longlong local_res10 [3]; uVar2 = (**(code **)(**(longlong **)(param_1 + 0x338) + 0xd8)) (*(longlong **)(param_1 + 0x338),local_res10, (ulonglong)((double)*(int *)(param_1 + 0x314) * param_2 + DAT_1824c4520) & 0xffffffff); FUN_1804741b0(param_3,uVar2); _Memory = (uint *)(local_res10[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 181135760 size=427 ############ void FUN_181135760(longlong param_1,void *param_2,undefined8 param_3,undefined8 param_4) { char cVar1; int iVar2; undefined2 *_Dst; uint uVar3; ulonglong uVar4; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; undefined1 local_res8 [8]; undefined8 uVar9; undefined **local_30; undefined2 *local_28; uint local_20; ulonglong uVar5; uVar9 = 0xfffffffffffffffe; local_28 = (undefined2 *)0x0; local_20 = local_20 & 0x80000000; local_30 = Steinberg::String::vftable; if (param_2 != (void *)0x0) { uVar4 = 0xffffffffffffffff; do { uVar5 = uVar4; uVar4 = uVar5 + 1; } while (*(char *)((longlong)param_2 + uVar4) != '\0'); uVar3 = (uint)uVar4; if (uVar3 != 0) { _Dst = malloc((ulonglong)((int)uVar5 + 2)); if (_Dst == (undefined2 *)0x0) goto LAB_181135842; if ((local_20 & 0x40000000) == 0) { *(undefined1 *)_Dst = 0; *(undefined1 *)((uVar4 & 0xffffffff) + (longlong)_Dst) = 0; } else { *_Dst = 0; _Dst[uVar4 & 0xffffffff] = 0; } local_28 = _Dst; if ((_Dst != (undefined2 *)0x0) && (0 < (int)uVar3)) { memcpy(_Dst,param_2,(longlong)(int)uVar3); } } local_20 = uVar3 & 0x3fffffff | local_20 & 0x80000000; } LAB_181135842: puVar6 = (undefined8 *)(*(undefined8 **)(param_1 + 0x10))[1]; cVar1 = *(char *)((longlong)puVar6 + 0x19); puVar7 = *(undefined8 **)(param_1 + 0x10); while (cVar1 == '\0') { iVar2 = FUN_18113d120(puVar6 + 4,&local_30,0xffffffff,param_4,uVar9); if (iVar2 < 0) { puVar8 = (undefined8 *)puVar6[2]; puVar6 = puVar7; } else { puVar8 = (undefined8 *)*puVar6; } puVar7 = puVar6; puVar6 = puVar8; cVar1 = *(char *)((longlong)puVar8 + 0x19); } if ((puVar7 == *(undefined8 **)(param_1 + 0x10)) || (iVar2 = FUN_18113d120(&local_30,puVar7 + 4,0xffffffff,param_4,uVar9), iVar2 < 0)) { puVar7 = *(undefined8 **)(param_1 + 0x10); } local_30 = Steinberg::String::vftable; if (local_28 != (undefined2 *)0x0) { /* WARNING: Subroutine does not return */ free(local_28); } local_30 = Steinberg::ConstString::vftable; if (puVar7 != *(undefined8 **)(param_1 + 0x10)) { puVar6 = (undefined8 *)puVar7[7]; if (puVar6 != (undefined8 *)0x0) { if (*(int *)(puVar6 + 1) != 0) { /* WARNING: Subroutine does not return */ free((void *)*puVar6); } /* WARNING: Subroutine does not return */ free(puVar6); } FUN_18047da80(param_1 + 0x10,local_res8,puVar7); } return; } ############ FUN_ 18047da80 size=153 ############ void FUN_18047da80(undefined8 param_1,undefined8 param_2,longlong param_3) { char cVar1; longlong *plVar2; longlong lVar3; longlong lVar4; longlong lVar5; void *_Memory; if (*(char *)((longlong)*(longlong **)(param_3 + 0x10) + 0x19) == '\0') { plVar2 = (longlong *)**(longlong **)(param_3 + 0x10); cVar1 = *(char *)((longlong)plVar2 + 0x19); while (cVar1 == '\0') { plVar2 = (longlong *)*plVar2; cVar1 = *(char *)((longlong)plVar2 + 0x19); } } else { cVar1 = *(char *)(*(longlong *)(param_3 + 8) + 0x19); lVar5 = *(longlong *)(param_3 + 8); lVar4 = param_3; while ((lVar3 = lVar5, cVar1 == '\0' && (lVar4 == *(longlong *)(lVar3 + 0x10)))) { cVar1 = *(char *)(*(longlong *)(lVar3 + 8) + 0x19); lVar5 = *(longlong *)(lVar3 + 8); lVar4 = lVar3; } } _Memory = (void *)FUN_18047db40(param_1,param_3); *(undefined ***)((longlong)_Memory + 0x20) = Steinberg::String::vftable; if (*(void **)((longlong)_Memory + 0x28) == (void *)0x0) { *(undefined ***)((longlong)_Memory + 0x20) = Steinberg::ConstString::vftable; /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free(*(void **)((longlong)_Memory + 0x28)); } ############ FUN_ 18047d910 size=172 ############ void FUN_18047d910(longlong *param_1,longlong param_2,longlong param_3,longlong param_4) { longlong lVar1; void *pvVar2; void *_Memory; longlong lVar3; lVar3 = *param_1; if (lVar3 == 0) { *param_1 = param_2; param_1[1] = param_2 + param_3 * 8; param_1[2] = param_2 + param_4 * 8; return; } lVar1 = param_1[1]; for (; lVar3 != lVar1; lVar3 = lVar3 + 8) { FUN_18047e630(lVar3); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1804828a0 size=292 ############ undefined8 * FUN_1804828a0(longlong *param_1,undefined8 *param_2,undefined8 param_3,uint *param_4,void *param_5) { char cVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; bool bVar5; undefined1 local_res8 [8]; puVar3 = (undefined8 *)*param_1; bVar5 = true; puVar4 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar2 = (undefined8 *)puVar3[1]; do { puVar4 = puVar2; bVar5 = *param_4 < *(uint *)(puVar4 + 4); if (bVar5) { puVar2 = (undefined8 *)*puVar4; } else { puVar2 = (undefined8 *)puVar4[2]; } } while (*(char *)((longlong)puVar2 + 0x19) == '\0'); } if (bVar5) { if (puVar4 == (undefined8 *)*puVar3) { puVar3 = (undefined8 *)FUN_180482670(param_1,local_res8,1); *param_2 = *puVar3; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar4 + 0x19) == '\0') { puVar3 = (undefined8 *)*puVar4; if (*(char *)((longlong)puVar3 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = puVar3; puVar3 = (undefined8 *)puVar3[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = puVar3; puVar3 = (undefined8 *)puVar3[2]; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar3 = (undefined8 *)puVar4[1]; while ((puVar2 = puVar3, cVar1 == '\0' && (puVar4 == (undefined8 *)*puVar2))) { cVar1 = *(char *)((longlong)puVar2[1] + 0x19); puVar3 = (undefined8 *)puVar2[1]; puVar4 = puVar2; } if (*(char *)((longlong)puVar4 + 0x19) == '\0') { puVar4 = puVar2; } } } else { puVar4 = (undefined8 *)puVar4[2]; } } if (*(uint *)(puVar4 + 4) < *param_4) { puVar3 = (undefined8 *)FUN_180482670(param_1,local_res8); *param_2 = *puVar3; *(undefined1 *)(param_2 + 1) = 1; return param_2; } /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 1804769e0 size=104 ############ undefined8 FUN_1804769e0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; bool bVar3; undefined1 *local_res8 [4]; if (*(longlong **)(param_1 + 0x20) != (longlong *)0x0) { /* WARNING: Could not recover jumptable at 0x0001804769f4. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar2 = (**(code **)(**(longlong **)(param_1 + 0x20) + 0x38))(); return uVar2; } local_res8[0] = &DAT_1821dbf98; FUN_1804741b0(param_4,local_res8); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar3 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar3) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return 1; } ############ FUN_ 18049b620 size=299 ############ void FUN_18049b620(longlong *param_1,int param_2) { uint uVar1; void *_Memory; void *pvVar2; undefined8 *puVar3; uint *_Memory_00; int iVar4; longlong *plVar5; undefined8 *puVar6; if ((int)param_1[1] == param_2) { *(int *)(param_1 + 1) = param_2; return; } if (param_2 < 1) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } pvVar2 = malloc((longlong)param_2 * 0x18); iVar4 = 0; if (0 < *(int *)((longlong)param_1 + 0xc)) { puVar6 = (undefined8 *)((longlong)pvVar2 + 8); do { puVar3 = (undefined8 *)((longlong)puVar6 + *param_1 + (-8 - (longlong)pvVar2)); puVar6[-1] = *puVar3; *puVar3 = &DAT_1821dbf98; *puVar6 = puVar3[1]; puVar6[1] = puVar3[2]; puVar3[1] = &PTR_vftable_18262b558; plVar5 = (longlong *)((longlong)puVar6 + *param_1 + (-8 - (longlong)pvVar2)); (**(code **)(*(longlong *)plVar5[1] + 0xb0))((longlong *)plVar5[1],plVar5 + 2); _Memory_00 = (uint *)(*plVar5 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } iVar4 = iVar4 + 1; puVar6 = puVar6 + 3; } while (iVar4 < *(int *)((longlong)param_1 + 0xc)); } _Memory = (void *)*param_1; *param_1 = (longlong)pvVar2; /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180527450 size=467 ############ void FUN_180527450(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; code *pcVar2; undefined1 *puVar3; longlong lVar4; undefined8 *puVar5; uint *_Memory; ulonglong uVar6; ulonglong uVar7; uint uVar8; bool bVar10; undefined1 *local_res8; ulonglong uVar9; lVar1 = *param_2; pcVar2 = *(code **)(lVar1 + 0x98); if (pcVar2 == FUN_18122e620) { lVar4 = FUN_18049d240(*(undefined8 *)(param_1 + 0x10)); (**(code **)(lVar1 + 0x20))(param_2,*(undefined8 *)(param_1 + 0x10),lVar4 + 1); } else { (*pcVar2)(param_2,param_1 + 0x10,param_3,param_4,0xfffffffffffffffe); } (**(code **)(*param_2 + 0x90))(param_2,*(undefined4 *)(param_1 + 0x24)); uVar6 = 0; if (0 < *(int *)(param_1 + 0x24)) { bVar10 = *(int *)(param_1 + 0x24) != 0; uVar7 = uVar6; uVar9 = uVar6; do { if (bVar10) { local_res8 = *(undefined1 **)(uVar7 + *(longlong *)(param_1 + 0x18)); if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { local_res8 = &DAT_1821dbf98; } puVar3 = local_res8; lVar1 = *param_2; pcVar2 = *(code **)(lVar1 + 0x98); if (pcVar2 == FUN_18122e620) { lVar4 = FUN_18049d240(local_res8); (**(code **)(lVar1 + 0x20))(param_2,puVar3,lVar4 + 1); } else { (*pcVar2)(param_2,&local_res8); } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar8 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } uVar8 = (uint)uVar9; if (uVar8 < *(uint *)(param_1 + 0x24)) { puVar5 = (undefined8 *)(*(longlong *)(param_1 + 0x18) + (longlong)(int)uVar8 * 0x18 + 8); } else { puVar5 = (undefined8 *)FUN_181244160(); } (**(code **)(*(longlong *)*puVar5 + 200))((longlong *)*puVar5,puVar5 + 1,param_2); uVar8 = uVar8 + 1; uVar9 = (ulonglong)uVar8; uVar7 = uVar7 + 0x18; bVar10 = uVar8 < *(uint *)(param_1 + 0x24); } while ((int)uVar8 < (int)*(uint *)(param_1 + 0x24)); } (**(code **)(*param_2 + 0x90))(param_2,*(undefined4 *)(param_1 + 0x34)); puVar5 = *(undefined8 **)(param_1 + 0x28); uVar7 = (ulonglong)((longlong)(puVar5 + *(int *)(param_1 + 0x34)) + (7 - (longlong)puVar5)) >> 3; if (puVar5 + *(int *)(param_1 + 0x34) < puVar5) { uVar7 = uVar6; } if (uVar7 != 0) { do { FUN_180527630(param_2,*puVar5); puVar5 = puVar5 + 1; uVar6 = uVar6 + 1; } while (uVar6 != uVar7); } return; } ############ FUN_ 180527630 size=213 ############ void FUN_180527630(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; code *pcVar3; longlong lVar4; uint *_Memory; undefined1 *local_res10; if (param_2 != 0) { FUN_180527450(param_2,param_1); return; } local_res10 = &DAT_1821dbf98; lVar2 = *param_1; pcVar3 = *(code **)(lVar2 + 0x98); if (pcVar3 == FUN_18122e620) { lVar4 = FUN_18049d240(&DAT_1821dbf98); (**(code **)(lVar2 + 0x20))(param_1,&DAT_1821dbf98,lVar4 + 1); } else { (*pcVar3)(param_1,&local_res10,param_3,param_4,0xfffffffffffffffe); } _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*param_1 + 0x90))(param_1,0); /* WARNING: Could not recover jumptable at 0x0001805276f2. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x90))(param_1,0); return; } ############ FUN_ 18047f980 size=561 ############ longlong FUN_18047f980(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; undefined8 uVar2; void *pvVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; ulonglong uVar7; longlong lVar8; undefined8 *puVar9; void *_Memory; undefined8 *puVar10; ulonglong uVar11; longlong lVar12; ulonglong uVar13; lVar8 = *param_1; lVar12 = (longlong)param_2 - lVar8 >> 3; lVar4 = param_1[1] - lVar8 >> 3; if (lVar4 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar7 = param_1[2] - lVar8 >> 3; uVar1 = lVar4 + 1; uVar5 = uVar1; if ((uVar7 <= 0x1fffffffffffffff - (uVar7 >> 1)) && (uVar5 = (uVar7 >> 1) + uVar7, uVar5 < uVar1)) { uVar5 = uVar1; } lVar8 = uVar5 * 8; if (0x1fffffffffffffff < uVar5) { lVar8 = -1; } puVar6 = (undefined8 *)FUN_180480500(lVar8); uVar2 = *param_3; uVar7 = 0; *param_3 = 0; lVar8 = lVar12 * 8; puVar6[lVar12] = uVar2; puVar10 = (undefined8 *)param_1[1]; puVar9 = (undefined8 *)*param_1; if (param_2 == puVar10) { uVar11 = (ulonglong)((longlong)puVar10 + (7 - (longlong)puVar9)) >> 3; if (puVar10 < puVar9) { uVar11 = uVar7; } puVar10 = puVar6; if (uVar11 != 0) { do { uVar2 = *puVar9; *puVar9 = 0; puVar9 = puVar9 + 1; uVar7 = uVar7 + 1; *puVar10 = uVar2; puVar10 = puVar10 + 1; } while (uVar7 != uVar11); } } else { uVar11 = (ulonglong)((longlong)param_2 + (7 - (longlong)puVar9)) >> 3; if (param_2 < puVar9) { uVar11 = uVar7; } puVar10 = puVar6; uVar13 = uVar7; if (uVar11 != 0) { do { uVar2 = *puVar9; *puVar9 = 0; puVar9 = puVar9 + 1; uVar13 = uVar13 + 1; *puVar10 = uVar2; puVar10 = puVar10 + 1; } while (uVar13 != uVar11); } uVar11 = (param_1[1] - (longlong)param_2) + 7U >> 3; if ((undefined8 *)param_1[1] < param_2) { uVar11 = uVar7; } if (uVar11 != 0) { lVar4 = lVar8 - (longlong)param_2; do { uVar2 = *param_2; uVar7 = uVar7 + 1; *param_2 = 0; *(undefined8 *)((longlong)puVar6 + lVar4 + 8 + (longlong)param_2) = uVar2; param_2 = param_2 + 1; } while (uVar7 != uVar11); } } puVar9 = (undefined8 *)*param_1; if (puVar9 == (undefined8 *)0x0) { *param_1 = (longlong)puVar6; param_1[1] = (longlong)(puVar6 + uVar1); param_1[2] = (longlong)(puVar6 + uVar5); return *param_1 + lVar8; } for (; puVar9 != (undefined8 *)param_1[1]; puVar9 = puVar9 + 1) { if ((void *)*puVar9 != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)*puVar9); } } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (param_1[2] - (longlong)pvVar3 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18047bb70 size=100 ############ undefined8 * FUN_18047bb70(undefined8 *param_1,ulonglong param_2) { FUN_18047c330(param_1 + 0x12); FUN_181136ac0(param_1 + 10); param_1[2] = Steinberg::Vst::ComponentBase::vftable; param_1[3] = Steinberg::Vst::ComponentBase::vftable; *param_1 = Steinberg::FObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18047bbe0 size=43 ############ undefined8 * FUN_18047bbe0(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::FObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18047bc10 size=43 ############ undefined8 * FUN_18047bc10(undefined8 *param_1,ulonglong param_2) { *param_1 = Steinberg::FObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18047bc40 size=170 ############ void * FUN_18047bc40(void *param_1,ulonglong param_2) { undefined8 *puVar1; DAT_182674ca0 = DAT_182674ca0 + -1; if (DAT_182674ca0 == 0) { if (DAT_182674ca8 != (HHOOK)0x0) { UnhookWindowsHookEx(DAT_182674ca8); DAT_182674ca8 = (HHOOK)0x0; } if (DAT_182674cb0 != (HHOOK)0x0) { UnhookWindowsHookEx(DAT_182674cb0); DAT_182674cb0 = (HHOOK)0x0; } } puVar1 = *(undefined8 **)((longlong)param_1 + 0x70); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_18047c230((longlong)param_1 + 0x60); *(undefined ***)((longlong)param_1 + 0x48) = juce::Timer::vftable; FUN_1812a7720(); FUN_181139610(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18047bcf0 size=250 ############ undefined8 * FUN_18047bcf0(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; longlong lVar6; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; *param_1 = juce::JuceVST3EditController::JuceVST3Editor::ContentWrapperComponent::vftable; if (param_1[0x16] != 0) { FUN_18134b590(); lVar3 = param_1[0x16]; lVar4 = *(longlong *)(lVar3 + 0xb0); EnterCriticalSection((LPCRITICAL_SECTION)(lVar4 + 0xa0)); puVar5 = *(undefined8 **)(lVar4 + 0x28); if (puVar5 == (undefined8 *)0x0) { lVar6 = 0; } else { lVar6 = puVar5[2]; } if (lVar6 == lVar3) { *(undefined8 *)(lVar4 + 0x28) = 0; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar5)(puVar5,1); } } } LeaveCriticalSection((LPCRITICAL_SECTION)(lVar4 + 0xa0)); } puVar5 = (undefined8 *)param_1[0x16]; if (puVar5 != (undefined8 *)0x0) { (**(code **)*puVar5)(puVar5,1,param_3,param_4,uVar7); } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18047bf90 size=270 ############ undefined8 * FUN_18047bf90(undefined8 *param_1,ulonglong param_2) { void *pvVar1; void *_Memory; undefined8 *puVar2; *param_1 = juce::JucePluginFactory::vftable; if (DAT_182674c98 == param_1) { DAT_182674c98 = (undefined8 *)0x0; } puVar2 = (undefined8 *)param_1[0x3b]; if (puVar2 == (undefined8 *)0x0) { if ((longlong *)param_1[0x3a] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[0x3a] + 0x10))(); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } for (; puVar2 != (undefined8 *)param_1[0x3c]; puVar2 = puVar2 + 1) { if ((void *)*puVar2 != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)*puVar2); } } pvVar1 = (void *)param_1[0x3b]; _Memory = pvVar1; if ((0xfff < (ulonglong)((param_1[0x3d] - (longlong)pvVar1 >> 3) * 8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18047d1c0 size=428 ############ void FUN_18047d1c0(longlong param_1) { ulonglong uVar1; ulonglong uVar2; void *pvVar3; longlong lVar4; void *pvVar5; ulonglong uVar6; size_t sVar7; size_t sVar8; uVar1 = *(ulonglong *)(param_1 + 0x10); uVar6 = 1; if (uVar1 != 0) { uVar6 = uVar1; } for (; (uVar6 == uVar1 || (uVar6 < 8)); uVar6 = uVar6 * 2) { if (0xfffffffffffffff - uVar6 < uVar6) { /* WARNING: Subroutine does not return */ FUN_18047da60(); } } uVar6 = uVar6 - uVar1; uVar2 = *(ulonglong *)(param_1 + 0x18); lVar4 = (uVar1 + uVar6) * 8; if (0x1fffffffffffffff < uVar1 + uVar6) { lVar4 = -1; } pvVar3 = (void *)FUN_180480500(lVar4); sVar8 = uVar2 * 8; pvVar5 = (void *)(*(longlong *)(param_1 + 8) + sVar8); sVar7 = (*(longlong *)(param_1 + 0x10) * 8 - (longlong)pvVar5) + *(longlong *)(param_1 + 8); memmove((void *)(sVar8 + (longlong)pvVar3),pvVar5,sVar7); pvVar5 = (void *)(sVar7 + (longlong)(sVar8 + (longlong)pvVar3)); if (uVar6 < uVar2) { sVar7 = uVar6 * 8; memmove(pvVar5,*(void **)(param_1 + 8),sVar7); pvVar5 = (void *)(sVar7 + *(longlong *)(param_1 + 8)); sVar8 = (*(longlong *)(param_1 + 8) - (longlong)pvVar5) + sVar8; memmove(pvVar3,pvVar5,sVar8); pvVar5 = (void *)(sVar8 + (longlong)pvVar3); } else { memmove(pvVar5,*(void **)(param_1 + 8),sVar8); memset((void *)(sVar8 + (longlong)pvVar5),0,(uVar6 - uVar2) * 8); pvVar5 = pvVar3; sVar7 = sVar8; } memset(pvVar5,0,sVar7); pvVar5 = *(void **)(param_1 + 8); if (pvVar5 == (void *)0x0) { *(void **)(param_1 + 8) = pvVar3; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + uVar6; return; } pvVar3 = pvVar5; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x10) << 3)) && (pvVar3 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } ############ FUN_ 18047d010 size=428 ############ void FUN_18047d010(longlong param_1) { ulonglong uVar1; ulonglong uVar2; void *pvVar3; longlong lVar4; void *pvVar5; ulonglong uVar6; size_t sVar7; size_t sVar8; uVar1 = *(ulonglong *)(param_1 + 0x10); uVar6 = 1; if (uVar1 != 0) { uVar6 = uVar1; } for (; (uVar6 == uVar1 || (uVar6 < 8)); uVar6 = uVar6 * 2) { if (0xaaaaaaaaaaaaaaa - uVar6 < uVar6) { /* WARNING: Subroutine does not return */ FUN_18047da60(); } } uVar6 = uVar6 - uVar1; uVar2 = *(ulonglong *)(param_1 + 0x18); lVar4 = (uVar1 + uVar6) * 8; if (0x1fffffffffffffff < uVar1 + uVar6) { lVar4 = -1; } pvVar3 = (void *)FUN_180480500(lVar4); sVar8 = uVar2 * 8; pvVar5 = (void *)(*(longlong *)(param_1 + 8) + sVar8); sVar7 = (*(longlong *)(param_1 + 0x10) * 8 - (longlong)pvVar5) + *(longlong *)(param_1 + 8); memmove((void *)(sVar8 + (longlong)pvVar3),pvVar5,sVar7); pvVar5 = (void *)(sVar7 + (longlong)(sVar8 + (longlong)pvVar3)); if (uVar6 < uVar2) { sVar7 = uVar6 * 8; memmove(pvVar5,*(void **)(param_1 + 8),sVar7); pvVar5 = (void *)(sVar7 + *(longlong *)(param_1 + 8)); sVar8 = (*(longlong *)(param_1 + 8) - (longlong)pvVar5) + sVar8; memmove(pvVar3,pvVar5,sVar8); pvVar5 = (void *)(sVar8 + (longlong)pvVar3); } else { memmove(pvVar5,*(void **)(param_1 + 8),sVar8); memset((void *)(sVar8 + (longlong)pvVar5),0,(uVar6 - uVar2) * 8); pvVar5 = pvVar3; sVar7 = sVar8; } memset(pvVar5,0,sVar7); pvVar5 = *(void **)(param_1 + 8); if (pvVar5 == (void *)0x0) { *(void **)(param_1 + 8) = pvVar3; *(longlong *)(param_1 + 0x10) = *(longlong *)(param_1 + 0x10) + uVar6; return; } pvVar3 = pvVar5; if ((0xfff < (ulonglong)(*(longlong *)(param_1 + 0x10) << 3)) && (pvVar3 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } ############ FUN_ 18047dec0 size=409 ############ void FUN_18047dec0(longlong *param_1,ulonglong param_2,undefined8 *param_3) { void *pvVar1; void *pvVar2; longlong lVar3; undefined8 *puVar4; ulonglong uVar5; ulonglong uVar6; pvVar1 = (void *)*param_1; uVar6 = param_1[1] - (longlong)pvVar1 >> 3; uVar5 = param_1[2] - (longlong)pvVar1 >> 3; if (param_2 <= uVar5) { if (uVar6 < param_2) { FUN_1804805a0(pvVar1,param_1[1]); puVar4 = (undefined8 *)param_1[1]; for (lVar3 = param_2 - uVar6; lVar3 != 0; lVar3 = lVar3 + -1) { *puVar4 = *param_3; puVar4 = puVar4 + 1; } param_1[1] = (longlong)puVar4; return; } pvVar2 = (void *)((longlong)pvVar1 + param_2 * 8); FUN_1804805a0(pvVar1,pvVar2); param_1[1] = (longlong)pvVar2; return; } if (param_2 < 0x2000000000000000) { uVar6 = param_2; if ((uVar5 <= 0x1fffffffffffffff - (uVar5 >> 1)) && (uVar6 = (uVar5 >> 1) + uVar5, uVar6 < param_2)) { uVar6 = param_2; } if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < uVar5 * 8) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar6 != 0) { if (0x1fffffffffffffff < uVar6) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } lVar3 = uVar6 * 8; if (0x1fffffffffffffff < uVar6) { lVar3 = -1; } lVar3 = FUN_180480500(lVar3); *param_1 = lVar3; param_1[1] = lVar3; param_1[2] = *param_1 + uVar6 * 8; } puVar4 = (undefined8 *)*param_1; for (; param_2 != 0; param_2 = param_2 - 1) { *puVar4 = *param_3; puVar4 = puVar4 + 1; } param_1[1] = (longlong)puVar4; return; } /* WARNING: Subroutine does not return */ FUN_18047cf10(); } ############ FUN_ 18047e410 size=241 ############ void FUN_18047e410(ulonglong *param_1,ulonglong param_2) { ulonglong uVar1; ulonglong uVar2; void *pvVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; void *_Memory; ulonglong uVar7; undefined8 *puVar8; ulonglong uVar9; uVar1 = param_1[1]; lVar5 = param_2 * 8; uVar2 = *param_1; if (0x1fffffffffffffff < param_2) { lVar5 = -1; } puVar4 = (undefined8 *)FUN_180480500(lVar5); puVar6 = (undefined8 *)*param_1; uVar7 = 0; uVar9 = (param_1[1] - (longlong)puVar6) + 7 >> 3; if ((undefined8 *)param_1[1] < puVar6) { uVar9 = uVar7; } puVar8 = puVar4; if (uVar9 != 0) { do { uVar7 = uVar7 + 1; *puVar8 = *puVar6; puVar8 = puVar8 + 1; puVar6 = puVar6 + 1; } while (uVar7 != uVar9); } pvVar3 = (void *)*param_1; if (pvVar3 == (void *)0x0) { *param_1 = (ulonglong)puVar4; param_1[1] = (ulonglong)(puVar4 + ((longlong)(uVar1 - uVar2) >> 3)); param_1[2] = (ulonglong)(puVar4 + param_2); return; } _Memory = pvVar3; if ((0xfff < (param_1[2] - (longlong)pvVar3 & 0xfffffffffffffff8)) && (_Memory = *(void **)((longlong)pvVar3 - 8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18047fbc0 size=511 ############ longlong FUN_18047fbc0(longlong *param_1,longlong param_2,undefined8 *param_3) { void *pvVar1; longlong lVar2; undefined8 uVar3; ulonglong uVar4; longlong lVar5; void *_Memory; undefined8 *puVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; longlong lVar10; ulonglong uVar11; undefined8 uVar12; uVar12 = 0xfffffffffffffffe; lVar5 = *param_1; lVar8 = param_2 - lVar5 >> 4; lVar10 = param_1[1] - lVar5 >> 4; if (lVar10 == 0xfffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar11 = lVar10 + 1; uVar4 = param_1[2] - lVar5 >> 4; uVar9 = uVar11; if ((uVar4 <= 0xfffffffffffffff - (uVar4 >> 1)) && (uVar9 = uVar4 + (uVar4 >> 1), uVar9 < uVar11)) { uVar9 = uVar11; } lVar5 = uVar9 << 4; if (0xfffffffffffffff < uVar9) { lVar5 = -1; } lVar2 = FUN_180480500(lVar5); puVar6 = (undefined8 *)(lVar8 * 0x10 + lVar2); *puVar6 = 0; puVar6[1] = 0; lVar10 = lVar2; uVar3 = FUN_18047e100(); *puVar6 = uVar3; *puVar6 = *param_3; *param_3 = uVar3; uVar3 = puVar6[1]; puVar6[1] = param_3[1]; param_3[1] = uVar3; lVar5 = param_1[1]; if (param_2 == lVar5) { lVar7 = lVar2; for (lVar10 = *param_1; lVar10 != lVar5; lVar10 = lVar10 + 0x10) { FUN_180482a00(lVar7,lVar10); lVar7 = lVar7 + 0x10; } } else { FUN_180480b40(param_1,*param_1,param_2,lVar2,lVar5,lVar10,uVar12); FUN_180480b40(param_1,param_2,param_1[1],puVar6 + 2); } if (*param_1 == 0) { *param_1 = lVar2; param_1[1] = uVar11 * 0x10 + lVar2; param_1[2] = uVar9 * 0x10 + lVar2; return lVar8 * 0x10 + *param_1; } FUN_18047d770(); pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18047fdd0 size=511 ############ longlong FUN_18047fdd0(longlong *param_1,longlong param_2,undefined8 *param_3) { void *pvVar1; longlong lVar2; undefined8 uVar3; ulonglong uVar4; longlong lVar5; void *_Memory; undefined8 *puVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; longlong lVar10; ulonglong uVar11; undefined8 uVar12; uVar12 = 0xfffffffffffffffe; lVar5 = *param_1; lVar8 = param_2 - lVar5 >> 4; lVar10 = param_1[1] - lVar5 >> 4; if (lVar10 == 0xfffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar11 = lVar10 + 1; uVar4 = param_1[2] - lVar5 >> 4; uVar9 = uVar11; if ((uVar4 <= 0xfffffffffffffff - (uVar4 >> 1)) && (uVar9 = uVar4 + (uVar4 >> 1), uVar9 < uVar11)) { uVar9 = uVar11; } lVar5 = uVar9 << 4; if (0xfffffffffffffff < uVar9) { lVar5 = -1; } lVar2 = FUN_180480500(lVar5); puVar6 = (undefined8 *)(lVar8 * 0x10 + lVar2); *puVar6 = 0; puVar6[1] = 0; lVar10 = lVar2; uVar3 = FUN_18047e290(); *puVar6 = uVar3; *puVar6 = *param_3; *param_3 = uVar3; uVar3 = puVar6[1]; puVar6[1] = param_3[1]; param_3[1] = uVar3; lVar5 = param_1[1]; if (param_2 == lVar5) { lVar7 = lVar2; for (lVar10 = *param_1; lVar10 != lVar5; lVar10 = lVar10 + 0x10) { FUN_180482ad0(lVar7,lVar10); lVar7 = lVar7 + 0x10; } } else { FUN_180480be0(param_1,*param_1,param_2,lVar2,lVar5,lVar10,uVar12); FUN_180480be0(param_1,param_2,param_1[1],puVar6 + 2); } if (*param_1 == 0) { *param_1 = lVar2; param_1[1] = uVar11 * 0x10 + lVar2; param_1[2] = uVar9 * 0x10 + lVar2; return lVar8 * 0x10 + *param_1; } FUN_18047d820(); pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18047ffe0 size=600 ############ longlong FUN_18047ffe0(longlong *param_1,longlong param_2,longlong param_3) { ulonglong uVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; uint uVar6; longlong lVar7; longlong lVar8; ulonglong uVar9; undefined8 *puVar10; void *_Memory; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; lVar7 = *param_1; lVar8 = (param_2 - lVar7) / 6 + (param_2 - lVar7 >> 0x3f); lVar5 = (param_1[1] - lVar7) / 0x18; if (lVar5 == 0xaaaaaaaaaaaaaaa) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar1 = lVar5 + 1; uVar4 = (param_1[2] - lVar7) / 0x18; uVar9 = uVar1; if ((uVar4 <= 0xaaaaaaaaaaaaaaa - (uVar4 >> 1)) && (uVar9 = uVar4 + (uVar4 >> 1), uVar9 < uVar1)) { uVar9 = uVar1; } lVar7 = uVar9 * 0x18; if (0xaaaaaaaaaaaaaaa < uVar9) { lVar7 = -1; } lVar5 = FUN_180480500(lVar7); lVar7 = ((lVar8 >> 2) - (lVar8 >> 0x3f)) * 0x18; puVar10 = (undefined8 *)(lVar7 + lVar5); puVar10[1] = 0; *(uint *)(puVar10 + 2) = *(uint *)(puVar10 + 2) & 0x80000000; *puVar10 = Steinberg::String::vftable; uVar6 = (*(uint *)(puVar10 + 2) ^ *(uint *)(param_3 + 0x10)) & 0x40000000 ^ *(uint *)(puVar10 + 2) ; *(uint *)(puVar10 + 2) = uVar6; puVar10[1] = *(undefined8 *)(param_3 + 8); *(uint *)(puVar10 + 2) = *(uint *)(puVar10 + 2) ^ (*(uint *)(param_3 + 0x10) ^ uVar6) & 0x3fffffff ; *(undefined8 *)(param_3 + 8) = 0; *(uint *)(param_3 + 0x10) = *(uint *)(param_3 + 0x10) & 0xc0000000; if (param_2 == param_1[1]) { FUN_180480ed0(*param_1,param_1[1],lVar5,param_1); } else { FUN_180480c80(uVar6,*param_1,param_2,lVar5,puVar10 + 3,lVar5,uVar11); FUN_180480c80(); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar10 != puVar2; puVar10 = puVar10 + 3) { (**(code **)*puVar10)(puVar10,0); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar3) / 0x18) * 0x18)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar5; param_1[1] = lVar5 + uVar1 * 0x18; param_1[2] = uVar9 * 0x18 + lVar5; return *param_1 + lVar7; } ############ FUN_ 1804803a0 size=348 ############ longlong FUN_1804803a0(longlong *param_1,void *param_2,undefined8 *param_3) { ulonglong uVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; void *pvVar5; ulonglong uVar6; longlong lVar7; void *_Dst; longlong lVar8; size_t _Size; lVar7 = *param_1; lVar8 = (longlong)param_2 - lVar7 >> 3; lVar3 = param_1[1] - lVar7 >> 3; if (lVar3 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar6 = param_1[2] - lVar7 >> 3; uVar1 = lVar3 + 1; uVar4 = uVar1; if ((uVar6 <= 0x1fffffffffffffff - (uVar6 >> 1)) && (uVar4 = (uVar6 >> 1) + uVar6, uVar4 < uVar1)) { uVar4 = uVar1; } lVar7 = uVar4 * 8; if (0x1fffffffffffffff < uVar4) { lVar7 = -1; } pvVar5 = (void *)FUN_180480500(lVar7); *(undefined8 *)((longlong)pvVar5 + lVar8 * 8) = *param_3; pvVar2 = (void *)*param_1; if (param_2 == (void *)param_1[1]) { _Size = param_1[1] - (longlong)pvVar2; _Dst = pvVar5; param_2 = pvVar2; } else { memmove(pvVar5,pvVar2,(longlong)param_2 - (longlong)pvVar2); _Size = param_1[1] - (longlong)param_2; _Dst = (void *)((longlong)pvVar5 + (lVar8 + 1) * 8); } memmove(_Dst,param_2,_Size); pvVar2 = (void *)*param_1; if (pvVar2 == (void *)0x0) { *param_1 = (longlong)pvVar5; param_1[1] = (longlong)((longlong)pvVar5 + uVar1 * 8); param_1[2] = (longlong)(uVar4 * 8 + (longlong)pvVar5); return *param_1 + lVar8 * 8; } pvVar5 = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xfffffffffffffff8U)) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } ############ FUN_ 180480fa0 size=406 ############ void FUN_180480fa0(longlong *param_1,void *param_2,longlong param_3) { void *pvVar1; ulonglong uVar2; void *pvVar3; longlong lVar4; ulonglong uVar5; ulonglong uVar6; size_t _Size; pvVar1 = (void *)*param_1; _Size = param_3 - (longlong)param_2; uVar2 = param_1[1] - (longlong)pvVar1 >> 3; uVar5 = param_1[2] - (longlong)pvVar1 >> 3; uVar6 = (longlong)_Size >> 3; if (uVar5 < uVar6) { if (0x1fffffffffffffff < uVar6) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar2 = uVar6; if ((uVar5 <= 0x1fffffffffffffff - (uVar5 >> 1)) && (uVar2 = (uVar5 >> 1) + uVar5, uVar2 < uVar6)) { uVar2 = uVar6; } if (pvVar1 != (void *)0x0) { pvVar3 = pvVar1; if ((0xfff < uVar5 * 8) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar2 != 0) { if (0x1fffffffffffffff < uVar2) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } lVar4 = uVar2 * 8; if (0x1fffffffffffffff < uVar2) { lVar4 = -1; } lVar4 = FUN_180480500(lVar4); *param_1 = lVar4; param_1[1] = lVar4; param_1[2] = *param_1 + uVar2 * 8; } pvVar1 = (void *)*param_1; memmove(pvVar1,param_2,_Size); param_1[1] = _Size + (longlong)pvVar1; } else if (uVar2 < uVar6) { pvVar3 = (void *)((longlong)param_2 + uVar2 * 8); memmove(pvVar1,param_2,(longlong)pvVar3 - (longlong)param_2); pvVar1 = (void *)param_1[1]; memmove(pvVar1,pvVar3,param_3 - (longlong)pvVar3); param_1[1] = (param_3 - (longlong)pvVar3) + (longlong)pvVar1; } else { memmove(pvVar1,param_2,_Size); param_1[1] = (longlong)((longlong)pvVar1 + uVar6 * 8); } return; } ############ FUN_ 1804811b0 size=83 ############ void FUN_1804811b0(void *param_1,char param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 180481fa0 size=579 ############ undefined8 * FUN_180481fa0(float *param_1,undefined8 *param_2,byte *param_3,longlong *param_4) { longlong lVar1; longlong lVar2; longlong *plVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; ulonglong uVar7; float fVar8; float fVar9; undefined1 local_28 [16]; uVar7 = (((((((((ulonglong)*param_3 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ (ulonglong)param_3[1]) * 0x100000001b3 ^ (ulonglong)param_3[2]) * 0x100000001b3 ^ (ulonglong)param_3[3]) * 0x100000001b3 ^ (ulonglong)param_3[4]) * 0x100000001b3 ^ (ulonglong)param_3[5]) * 0x100000001b3 ^ (ulonglong)param_3[6]) * 0x100000001b3 ^ (ulonglong)param_3[7]) * 0x100000001b3; uVar6 = *(ulonglong *)(param_1 + 0xc) & uVar7; lVar5 = *(longlong *)(param_1 + 2); lVar1 = *(longlong *)(*(longlong *)(param_1 + 6) + uVar6 * 0x10); if (lVar5 != lVar1) { lVar5 = **(longlong **)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10); while (lVar5 != lVar1) { lVar5 = *(longlong *)(lVar5 + 8); if (*(longlong *)param_3 == *(longlong *)(lVar5 + 0x10)) { *(longlong *)param_4[1] = *param_4; *(longlong *)(*param_4 + 8) = param_4[1]; *(longlong *)(param_1 + 4) = *(longlong *)(param_1 + 4) + -1; FUN_18047cfb0(param_4 + 3); /* WARNING: Subroutine does not return */ free(param_4); } } } lVar1 = *param_4; if (lVar5 != lVar1) { *(longlong *)param_4[1] = lVar1; **(longlong **)(lVar1 + 8) = lVar5; **(undefined8 **)(lVar5 + 8) = param_4; lVar2 = *(longlong *)(lVar5 + 8); *(undefined8 *)(lVar5 + 8) = *(undefined8 *)(lVar1 + 8); *(longlong *)(lVar1 + 8) = param_4[1]; param_4[1] = lVar2; } lVar1 = *(longlong *)(param_1 + 6); lVar2 = *(longlong *)(lVar1 + uVar6 * 0x10); if (lVar2 == *(longlong *)(param_1 + 2)) { *(longlong **)(lVar1 + uVar6 * 0x10) = param_4; *(longlong **)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10) = param_4; } else if (lVar2 == lVar5) { *(longlong **)(lVar1 + uVar6 * 0x10) = param_4; } else { plVar3 = (longlong *)**(undefined8 **)(lVar1 + 8 + uVar6 * 0x10); *(longlong **)(lVar1 + 8 + uVar6 * 0x10) = plVar3; if (plVar3 != param_4) { *(undefined8 *)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10) = *(undefined8 *)(*(longlong *)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10) + 8); } } uVar4 = *(ulonglong *)(param_1 + 0xe); fVar8 = (float)*(longlong *)(param_1 + 4); if (*(longlong *)(param_1 + 4) < 0) { fVar8 = fVar8 + DAT_1824c4624; } fVar9 = (float)(longlong)uVar4; if ((longlong)uVar4 < 0) { fVar9 = fVar9 + DAT_1824c4624; } if (*param_1 <= fVar8 / fVar9 && fVar8 / fVar9 != *param_1) { if (uVar4 < 0x200) { uVar4 = uVar4 * 8; } else if (uVar4 < 0xfffffffffffffff) { uVar4 = uVar4 * 2; } FUN_18047d9c0(param_1,uVar4,uVar6 * 2,uVar7,param_4,0xfffffffffffffffe); plVar3 = *(longlong **)(param_1 + 2); if ((longlong *)*plVar3 != plVar3) { lVar5 = plVar3[1]; do { lVar1 = **(longlong **)(param_1 + 2); FUN_180481fa0(param_1,local_28,lVar1 + 0x10); } while (lVar1 != lVar5); } } *param_2 = param_4; *(undefined1 *)(param_2 + 1) = 1; return param_2; } ############ FUN_ 180483170 size=511 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180483170(undefined8 *param_1,undefined8 *param_2,undefined8 param_3) { undefined8 uVar1; undefined8 ***pppuVar2; longlong *plVar3; undefined8 ****ppppuVar4; void *pvVar5; void *pvVar6; undefined1 auStack_c8 [32]; longlong *local_a8; undefined8 local_a0; undefined1 local_98 [32]; undefined8 ***local_78; undefined4 uStack_70; undefined4 uStack_6c; undefined8 local_68; ulonglong local_60; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; longlong local_48; ulonglong uStack_40; ulonglong local_38; local_a0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_c8; local_a8 = param_1; plVar3 = (longlong *)FUN_180487aa0(local_98,param_3); local_78 = (undefined8 ***)*param_2; uStack_70 = *(undefined4 *)(param_2 + 1); uStack_6c = *(undefined4 *)((longlong)param_2 + 0xc); local_a8 = plVar3; if (plVar3[2] != 0) { FUN_180489290(plVar3,&DAT_182495db0,2); } (**(code **)(*(longlong *)CONCAT44(uStack_6c,uStack_70) + 0x10)) ((longlong *)CONCAT44(uStack_6c,uStack_70),&local_78,(ulonglong)local_78 & 0xffffffff); ppppuVar4 = &local_78; if (0xf < local_60) { ppppuVar4 = (undefined8 ****)local_78; } FUN_180489290(plVar3,ppppuVar4,local_68); if (0xf < local_60) { ppppuVar4 = (undefined8 ****)local_78; if ((0xfff < local_60 + 1) && (ppppuVar4 = (undefined8 ****)local_78[-1], 0x1f < (ulonglong)((longlong)local_78 + (-8 - (longlong)ppppuVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(ppppuVar4); } local_68 = 0; local_60 = 0xf; local_78 = (undefined8 ***)((ulonglong)local_78 & 0xffffffffffffff00); local_58 = (undefined4)*plVar3; uStack_54 = *(undefined4 *)((longlong)plVar3 + 4); pppuVar2 = (undefined8 ***)*plVar3; uStack_50 = (undefined4)plVar3[1]; uStack_4c = *(undefined4 *)((longlong)plVar3 + 0xc); local_48 = plVar3[2]; uStack_40 = plVar3[3]; plVar3[2] = 0; plVar3[3] = 0xf; *(undefined1 *)plVar3 = 0; if (0xf < (ulonglong)plVar3[3]) { pvVar6 = (void *)*plVar3; pvVar5 = pvVar6; if ((0xfff < plVar3[3] + 1U) && (pvVar5 = *(void **)((longlong)pvVar6 + -8), 0x1f < (ulonglong)((longlong)pvVar6 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } plVar3[2] = 0; plVar3[3] = 0xf; *(undefined1 *)plVar3 = 0; local_78 = (undefined8 ***)&local_58; if (0xf < uStack_40) { local_78 = pppuVar2; } *param_1 = std::exception::vftable; param_1[1] = 0; param_1[2] = 0; uStack_70 = CONCAT31(uStack_70._1_3_,1); __std_exception_copy(&local_78); *param_1 = std::runtime_error::vftable; if (uStack_40 < 0x10) { *param_1 = std::_System_error::vftable; uVar1 = param_2[1]; param_1[3] = *param_2; param_1[4] = uVar1; } pvVar5 = (void *)CONCAT44(uStack_54,local_58); pvVar6 = pvVar5; if ((0xfff < uStack_40 + 1) && (pvVar6 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } ############ FUN_ 180489290 size=353 ############ undefined8 * FUN_180489290(undefined8 *param_1,void *param_2,size_t param_3) { ulonglong uVar1; ulonglong uVar2; size_t _Size; void *_Src; undefined8 *puVar3; void *pvVar4; ulonglong uVar5; ulonglong uVar6; uVar2 = param_1[3]; _Size = param_1[2]; if (uVar2 - _Size < param_3) { if (0x7fffffffffffffff - _Size < param_3) { /* WARNING: Subroutine does not return */ FUN_18048c740(); } uVar5 = _Size + param_3 | 0xf; uVar6 = 0x7fffffffffffffff; if (((uVar5 < 0x8000000000000000) && (uVar2 <= 0x7fffffffffffffff - (uVar2 >> 1))) && (uVar1 = (uVar2 >> 1) + uVar2, uVar6 = uVar5, uVar5 < uVar1)) { uVar6 = uVar1; } pvVar4 = (void *)FUN_180480500(uVar6 + 1); param_1[2] = _Size + param_3; param_1[3] = uVar6; if (0xf < uVar2) { _Src = (void *)*param_1; memcpy(pvVar4,_Src,_Size); memcpy((void *)((longlong)pvVar4 + _Size),param_2,param_3); *(undefined1 *)((longlong)((longlong)pvVar4 + _Size) + param_3) = 0; pvVar4 = _Src; if ((0xfff < uVar2 + 1) && (pvVar4 = *(void **)((longlong)_Src + -8), 0x1f < (ulonglong)((longlong)_Src + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } memcpy(pvVar4,param_1,_Size); memcpy((void *)((longlong)pvVar4 + _Size),param_2,param_3); *(undefined1 *)((longlong)((longlong)pvVar4 + _Size) + param_3) = 0; *param_1 = pvVar4; } else { param_1[2] = _Size + param_3; puVar3 = param_1; if (0xf < uVar2) { puVar3 = (undefined8 *)*param_1; } memmove((void *)((longlong)puVar3 + _Size),param_2,param_3); *(undefined1 *)((longlong)((longlong)puVar3 + _Size) + param_3) = 0; } return param_1; } ############ FUN_ 180483380 size=67 ############ undefined8 * FUN_180483380(undefined8 *param_1,ulonglong param_2) { *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804833d0 size=184 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804833d0(undefined8 *param_1,undefined8 *param_2) { void *_Memory; undefined1 auStack_68 [32]; undefined8 *local_48; undefined4 uStack_40; undefined4 uStack_3c; undefined8 local_38; void *local_30 [3]; ulonglong local_18; ulonglong local_10; local_38 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_68; local_48 = param_1; FUN_180487940(local_30,&DAT_18249336a); local_48 = (undefined8 *)*param_2; uStack_40 = *(undefined4 *)(param_2 + 1); uStack_3c = *(undefined4 *)((longlong)param_2 + 0xc); FUN_180483170(param_1,&local_48,local_30); if (local_18 < 0x10) { *param_1 = std::system_error::vftable; } _Memory = local_30[0]; if ((0xfff < local_18 + 1) && (_Memory = *(void **)((longlong)local_30[0] + -8), 0x1f < (ulonglong)((longlong)local_30[0] + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1804838f0 size=43 ############ undefined8 * FUN_1804838f0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804840e0 size=86 ############ void * .?AV?$LowPassFilter@M$0BA@$01@@::vtbl___AV__LowPassFilter_M_0BA__01__ (void *param_1,uint param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180484150 size=43 ############ undefined8 * FUN_180484150(undefined8 *param_1,ulonglong param_2) { *param_1 = ProcessorStateManagerOptionListener::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180484190 size=43 ############ undefined8 * FUN_180484190(undefined8 *param_1,ulonglong param_2) { *param_1 = ConfigOptionListener::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804841c0 size=43 ############ undefined8 * .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (undefined8 *param_1,ulonglong param_2) { *param_1 = ConfigOption::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804841f0 size=244 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804841f0(undefined8 *param_1,longlong *param_2,undefined8 param_3) { uint uVar1; undefined8 uVar2; uint *_Memory; undefined1 auStack_78 [32]; longlong local_58; longlong *local_50; undefined1 local_48 [8]; undefined8 local_40; undefined8 *local_38; longlong *local_30; undefined1 local_28 [8]; ulonglong local_20; local_40 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; *param_1 = param_2; param_1[1] = param_3; local_38 = param_1; (**(code **)(*param_2 + 0x10))(param_2,param_1 + 2); uVar2 = (**(code **)(*param_2 + 0x10))(param_2,&local_58); FUN_1811e1fd0(uVar2,param_3); _Memory = (uint *)(local_58 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*(longlong *)*param_1 + 0x20))((longlong *)*param_1,&local_30); local_50 = local_30; (**(code **)(*local_30 + 0xb8))(local_30,local_48,local_28); (**(code **)(*(longlong *)param_1[1] + 8))((longlong *)param_1[1],param_1 + 2,&local_50); (**(code **)(*local_30 + 0xb0))(local_30,local_28); } ############ FUN_ 180484350 size=84 ############ undefined8 * FUN_180484350(undefined8 param_1,undefined8 *param_2) { uint uVar1; bool bVar2; *param_2 = &PTR_vftable_18262b560; param_2[1] = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return param_2; } ############ FUN_ 180484550 size=43 ############ undefined8 * FUN_180484550(undefined8 *param_1,ulonglong param_2) { *param_1 = ParameterFloat::Listener::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180484580 size=43 ############ undefined8 * FUN_180484580(undefined8 *param_1,ulonglong param_2) { *param_1 = ParameterFloat::ChangeGestureListener::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804845c0 size=43 ############ undefined8 * FUN_1804845c0(undefined8 *param_1,ulonglong param_2) { *param_1 = BaseUpdater::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180484600 size=62 ############ undefined8 * FUN_180484600(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::Timer::vftable; FUN_1812a7720(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180484740 size=125 ############ void FUN_180484740(longlong param_1,longlong *param_2) { int *piVar1; int iVar2; uint uVar3; longlong lVar4; uint *_Memory; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*param_2 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar4 = *(longlong *)(param_1 + 0x10); *(longlong *)(param_1 + 0x10) = *param_2; UNLOCK(); piVar1 = (int *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(piVar1); } } _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1804847d0 size=52 ############ void * FUN_1804847d0(void *param_1,ulonglong param_2) { FUN_180484660(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180484930 size=52 ############ void * FUN_180484930(void *param_1,ulonglong param_2) { FUN_180484880(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181245f80 size=101 ############ void FUN_181245f80(undefined8 param_1,float param_2) { uint uVar1; uint *_Memory; longlong local_res18 [2]; FUN_1812339a0(local_res18,(double)param_2,0,0,0xfffffffffffffffe); FUN_181232d30(param_1,local_res18); _Memory = (uint *)(local_res18[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 180484b10 size=52 ############ void * FUN_180484b10(void *param_1,ulonglong param_2) { FUN_18120f710(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180484d50 size=52 ############ void * FUN_180484d50(void *param_1,ulonglong param_2) { FUN_1811c6040(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180484f90 size=401 ############ byte * FUN_180484f90(undefined4 *param_1,byte *param_2,float param_3,int param_4) { uint uVar1; byte bVar2; byte bVar3; bool bVar4; bool bVar5; byte bVar6; byte **ppbVar7; uint *puVar8; int iVar9; byte *pbVar10; byte *local_res8; byte *local_res10; byte *local_20; undefined8 local_18; local_18 = 0xfffffffffffffffe; iVar9 = 0; local_res10 = param_2; FUN_1812339a0(&local_res10,(double)param_3,*param_1,0,0); pbVar10 = local_res10; if (param_4 < 1) { local_20 = local_res10; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } ppbVar7 = &local_20; bVar5 = false; bVar4 = true; } else { do { bVar2 = *pbVar10; if (bVar2 == 0) { local_res8 = local_res10; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) != 0) goto LAB_180485020; LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); ppbVar7 = &local_res8; bVar5 = true; bVar4 = false; goto LAB_180485080; } iVar9 = iVar9 + 1; pbVar10 = pbVar10 + 1; if ((char)bVar2 < '\0') { bVar6 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar6))) { pbVar10 = pbVar10 + 1; bVar6 = bVar6 >> 1; bVar3 = bVar2 & bVar6; } } } while (iVar9 < param_4); FUN_18124a8a0(&local_res8,local_res10); LAB_180485020: ppbVar7 = &local_res8; bVar5 = true; bVar4 = false; } LAB_180485080: *(byte **)param_2 = *ppbVar7; *ppbVar7 = &DAT_1821dbf98; if ((bVar4) && (puVar8 = (uint *)(local_20 + -0x10), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if ((bVar5) && (puVar8 = (uint *)(local_res8 + -0x10), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(local_res10 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return param_2; } ############ FUN_ 180485130 size=111 ############ undefined8 * FUN_180485130(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; *param_1 = SyncUpdater::vftable; plVar1 = (longlong *)param_1[10]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 3); param_1[10] = 0; } *param_1 = BaseUpdater::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804851a0 size=111 ############ undefined8 * FUN_1804851a0(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; *param_1 = SyncUpdater::vftable; plVar1 = (longlong *)param_1[10]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 3); param_1[10] = 0; } *param_1 = BaseUpdater::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180485330 size=33 ############ void * FUN_180485330(void *param_1,ulonglong param_2) { if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180485360 size=52 ############ void * FUN_180485360(void *param_1,ulonglong param_2) { FUN_18119de30(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804854b0 size=52 ############ void * FUN_1804854b0(void *param_1,ulonglong param_2) { FUN_1804854f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180485730 size=62 ############ undefined8 * FUN_180485730(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::Timer::vftable; FUN_1812a7720(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180485770 size=94 ############ void * FUN_180485770(void *param_1,ulonglong param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0x40) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180484660(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804857e0 size=86 ############ void * FUN_1804857e0(void *param_1,uint param_2) { undefined8 *puVar1; puVar1 = *(undefined8 **)((longlong)param_1 + 0x10); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } puVar1 = *(undefined8 **)((longlong)param_1 + 8); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804876e0 size=171 ############ undefined8 * FUN_1804876e0(undefined8 *param_1,undefined8 *param_2) { undefined4 uVar1; undefined4 uVar2; uint uVar3; undefined8 uVar4; longlong *_Memory; uint *_Memory_00; longlong *plVar5; ulonglong uVar6; if (param_1 == param_2) { return param_1; } uVar4 = *param_2; *param_2 = 0; uVar1 = *(undefined4 *)(param_2 + 1); uVar2 = *(undefined4 *)((longlong)param_2 + 0xc); param_2[1] = 0; _Memory = (longlong *)*param_1; *param_1 = uVar4; *(undefined4 *)(param_1 + 1) = uVar1; uVar3 = *(uint *)((longlong)param_1 + 0xc); *(undefined4 *)((longlong)param_1 + 0xc) = uVar2; if (0 < (int)uVar3) { uVar6 = (ulonglong)uVar3; plVar5 = _Memory; do { _Memory_00 = (uint *)(*plVar5 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } plVar5 = plVar5 + 1; uVar6 = uVar6 - 1; } while (uVar6 != 0); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180486ad0 size=441 ############ void FUN_180486ad0(void) { ulonglong uVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; void *pvVar5; size_t sVar6; size_t sVar7; uVar1 = DAT_182673938; uVar4 = 1; if (DAT_182673930 != 0) { uVar4 = DAT_182673930; } for (; (uVar4 == DAT_182673930 || (uVar4 < 8)); uVar4 = uVar4 * 2) { if (0x38e38e38e38e38e - uVar4 < uVar4) { /* WARNING: Subroutine does not return */ FUN_18047da60(); } } uVar4 = uVar4 - DAT_182673930; lVar3 = (DAT_182673930 + uVar4) * 8; if (0x1fffffffffffffff < DAT_182673930 + uVar4) { lVar3 = -1; } pvVar2 = (void *)FUN_180480500(lVar3); sVar7 = uVar1 * 8; sVar6 = (DAT_182673930 * 8 - (longlong)(sVar7 + (longlong)DAT_182673928)) + (longlong)DAT_182673928; memmove((void *)(sVar7 + (longlong)pvVar2),(void *)(sVar7 + (longlong)DAT_182673928),sVar6); pvVar5 = (void *)((longlong)(sVar7 + (longlong)pvVar2) + sVar6); if (uVar4 < uVar1) { sVar6 = uVar4 * 8; memmove(pvVar5,DAT_182673928,sVar6); sVar7 = (sVar7 - (longlong)(sVar6 + (longlong)DAT_182673928)) + (longlong)DAT_182673928; memmove(pvVar2,(void *)(sVar6 + (longlong)DAT_182673928),sVar7); pvVar5 = (void *)(sVar7 + (longlong)pvVar2); } else { memmove(pvVar5,DAT_182673928,sVar7); memset((void *)(sVar7 + (longlong)pvVar5),0,(uVar4 - uVar1) * 8); pvVar5 = pvVar2; sVar6 = sVar7; } memset(pvVar5,0,sVar6); if (DAT_182673928 == (void *)0x0) { DAT_182673930 = DAT_182673930 + uVar4; DAT_182673928 = pvVar2; return; } pvVar2 = DAT_182673928; if ((0xfff < DAT_182673930 * 8) && (pvVar2 = *(void **)((longlong)DAT_182673928 + -8), 0x1f < (ulonglong)((longlong)DAT_182673928 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180487580 size=84 ############ undefined8 * FUN_180487580(undefined8 *param_1,undefined8 *param_2) { undefined8 uVar1; void *_Memory; if (param_1 == param_2) { return param_1; } uVar1 = *param_2; *param_2 = 0; _Memory = (void *)*param_1; *param_1 = uVar1; if (_Memory != (void *)0x0) { FUN_1812472e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return param_1; } ############ FUN_ 180487fe0 size=431 ############ int FUN_180487fe0(basic_streambuf_> *param_1,int param_2) { longlong lVar1; ulonglong uVar2; void *_Src; undefined8 uVar3; char *pcVar4; void *pvVar5; longlong lVar6; ulonglong _Size; if (((byte)param_1[0x70] & 2) != 0) { return -1; } if (param_2 == -1) { return 0; } uVar2 = **(ulonglong **)(param_1 + 0x40); if ((uVar2 != 0) && (uVar2 < (longlong)**(int **)(param_1 + 0x58) + uVar2)) { pcVar4 = std::basic_streambuf_>::_Pninc(param_1); *pcVar4 = (char)param_2; *(ulonglong *)(param_1 + 0x68) = uVar2 + 1; return param_2; } _Size = 0; _Src = (void *)**(undefined8 **)(param_1 + 0x18); if ((uVar2 == 0) || (_Size = ((longlong)**(int **)(param_1 + 0x58) + uVar2) - (longlong)_Src, _Size < 0x20)) { lVar6 = 0x20; } else if (_Size < 0x3fffffff) { lVar6 = _Size * 2; } else { lVar6 = 0x7fffffff; if (0x7ffffffe < _Size) { return -1; } } pvVar5 = (void *)FUN_180480500(lVar6); memcpy(pvVar5,_Src,_Size); lVar1 = (longlong)pvVar5 + _Size; *(longlong *)(param_1 + 0x68) = lVar1 + 1; **(undefined8 **)(param_1 + 0x20) = pvVar5; **(longlong **)(param_1 + 0x40) = lVar1; **(int **)(param_1 + 0x58) = ((int)pvVar5 - (int)lVar1) + (int)lVar6; if (((byte)param_1[0x70] & 4) == 0) { uVar3 = *(undefined8 *)(param_1 + 0x68); lVar6 = (**(longlong **)(param_1 + 0x38) - (longlong)_Src) + (longlong)pvVar5; **(undefined8 **)(param_1 + 0x18) = pvVar5; **(longlong **)(param_1 + 0x38) = lVar6; **(int **)(param_1 + 0x50) = (int)uVar3 - (int)lVar6; } else { **(undefined8 **)(param_1 + 0x18) = pvVar5; **(undefined8 **)(param_1 + 0x38) = 0; **(int **)(param_1 + 0x50) = (int)pvVar5; } if (((byte)param_1[0x70] & 1) == 0) { *(uint *)(param_1 + 0x70) = *(uint *)(param_1 + 0x70) | 1; pcVar4 = std::basic_streambuf_>::_Pninc(param_1); *pcVar4 = (char)param_2; return param_2; } pvVar5 = _Src; if ((0xfff < _Size) && (pvVar5 = *(void **)((longlong)_Src + -8), 0x1f < (ulonglong)((longlong)_Src + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } ############ FUN_ 180488250 size=59 ############ void * FUN_180488250(longlong param_1,ulonglong param_2) { void *_Memory; _Memory = (void *)(param_1 + -0x98); FUN_180485840(_Memory); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(_Memory); } return _Memory; } ############ FUN_ 180488290 size=52 ############ void * FUN_180488290(void *param_1,ulonglong param_2) { FUN_180488190(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804882d0 size=66 ############ void FUN_1804882d0(undefined8 param_1,longlong param_2) { undefined8 local_res8; if (param_2 != 0) { local_res8 = param_1; FUN_180489d80(param_2 + 0x40,&local_res8,**(undefined8 **)(param_2 + 0x40), *(undefined8 **)(param_2 + 0x40)); /* WARNING: Subroutine does not return */ free(*(void **)(param_2 + 0x40)); } return; } ############ FUN_ 1804883e0 size=231 ############ void FUN_1804883e0(undefined8 param_1,void *param_2) { longlong *plVar1; int iVar2; if (param_2 == (void *)0x0) { return; } iVar2 = _Mtx_lock(param_2); if (iVar2 != 0) { std::_Throw_C_error(iVar2); } LOCK(); *(undefined1 *)((longlong)param_2 + 0x9d) = 1; UNLOCK(); LOCK(); *(undefined1 *)((longlong)param_2 + 0x9c) = 0; UNLOCK(); iVar2 = _Cnd_broadcast((longlong)param_2 + 0x50); if (iVar2 != 0) { std::_Throw_C_error(iVar2); } iVar2 = _Mtx_unlock(param_2); if (iVar2 != 0) { std::_Throw_C_error(iVar2); } FUN_1804836e0((longlong)param_2 + 0xe0); if (*(int *)((longlong)param_2 + 0xe8) != 0) { /* WARNING: Subroutine does not return */ terminate(); } plVar1 = *(longlong **)((longlong)param_2 + 0xd8); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != (longlong *)((longlong)param_2 + 0xa0)); *(undefined8 *)((longlong)param_2 + 0xd8) = 0; } _Cnd_destroy_in_situ((longlong)param_2 + 0x50); _Mtx_destroy_in_situ(param_2); /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 180488980 size=249 ############ void FUN_180488980(longlong param_1) { int iVar1; void *_Memory; longlong *plVar2; int iVar3; longlong lVar4; iVar3 = *(int *)(param_1 + 0x14) + -1; lVar4 = (longlong)iVar3; if (iVar3 < 0) { *(undefined4 *)(param_1 + 0x18) = 0; return; } do { _Memory = *(void **)(*(longlong *)(param_1 + 8) + lVar4 * 8); if (_Memory != (void *)0x0) { plVar2 = *(longlong **)((longlong)_Memory + 0x40); if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x20))(plVar2,plVar2 != (longlong *)((longlong)_Memory + 8)); *(undefined8 *)((longlong)_Memory + 0x40) = 0; } /* WARNING: Subroutine does not return */ free(_Memory); } if (-1 < lVar4) { if (iVar3 < *(int *)(param_1 + 0x14)) { *(undefined8 *)(*(longlong *)(param_1 + 8) + lVar4 * 8) = 0; } else { FUN_18047e060(param_1 + 8,*(int *)(param_1 + 0x14) + 1); iVar1 = *(int *)(param_1 + 0x14); *(int *)(param_1 + 0x14) = iVar1 + 1; *(undefined8 *)(*(longlong *)(param_1 + 8) + (longlong)iVar1 * 8) = 0; } } iVar3 = iVar3 + -1; lVar4 = lVar4 + -1; } while (-1 < lVar4); *(undefined4 *)(param_1 + 0x18) = 0; return; } ############ FUN_ 180488b20 size=264 ############ void FUN_180488b20(void) { longlong *plVar1; longlong lVar2; void *pvVar3; void *pvVar4; pvVar3 = DAT_182673928; lVar2 = DAT_182673930; if (DAT_182673940 != 0) { do { lVar2 = *(longlong *) ((longlong)pvVar3 + (DAT_182673938 + -1 + DAT_182673940 & DAT_182673930 - 1U) * 8); plVar1 = *(longlong **)(lVar2 + 0x40); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20)) (plVar1,CONCAT71((int7)((ulonglong)DAT_182673940 >> 8), plVar1 != (longlong *)(lVar2 + 8))); *(undefined8 *)(lVar2 + 0x40) = 0; pvVar3 = DAT_182673928; } DAT_182673940 = DAT_182673940 + -1; } while (DAT_182673940 != 0); DAT_182673938 = 0; DAT_182673940 = 0; lVar2 = DAT_182673930; } while (lVar2 != 0) { pvVar4 = *(void **)((longlong)pvVar3 + lVar2 * 8 + -8); lVar2 = lVar2 + -1; if (pvVar4 != (void *)0x0) { /* WARNING: Subroutine does not return */ free(pvVar4); } } if (pvVar3 != (void *)0x0) { pvVar4 = pvVar3; if ((0xfff < (ulonglong)(DAT_182673930 * 8)) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } DAT_182673930 = 0; DAT_182673928 = (void *)0x0; return; } ############ FUN_ 180489d20 size=84 ############ void FUN_180489d20(undefined8 param_1,void *param_2) { if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_180489d20(&DAT_182673770,*(undefined8 *)((longlong)param_2 + 0x10)); FUN_18048c5e0((longlong)param_2 + 0x20); /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 18048a1c0 size=43 ############ undefined8 * FUN_18048a1c0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18048c660 size=147 ############ void FUN_18048c660(longlong *param_1,longlong param_2,longlong param_3,longlong param_4) { void *pvVar1; void *_Memory; if (*param_1 == 0) { *param_1 = param_2; param_1[1] = param_2 + param_3 * 8; param_1[2] = param_2 + param_4 * 8; return; } FUN_1804896a0(param_1,*param_1,param_1[1]); pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18048ddf0 size=182 ############ void FUN_18048ddf0(longlong *param_1,longlong param_2,longlong param_3,longlong param_4) { longlong *plVar1; undefined8 *puVar2; void *pvVar3; void *_Memory; longlong *plVar4; plVar4 = (longlong *)*param_1; if (plVar4 == (longlong *)0x0) { *param_1 = param_2; param_1[1] = param_2 + param_3 * 8; param_1[2] = param_2 + param_4 * 8; return; } plVar1 = (longlong *)param_1[1]; for (; plVar4 != plVar1; plVar4 = plVar4 + 1) { puVar2 = (undefined8 *)*plVar4; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (param_1[2] - (longlong)pvVar3 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18048bdd0 size=534 ############ longlong FUN_18048bdd0(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; undefined8 uVar2; void *pvVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; ulonglong uVar7; longlong lVar8; undefined8 *puVar9; void *_Memory; undefined8 *puVar10; undefined8 *puVar11; longlong lVar12; undefined8 *puVar13; undefined8 *puVar14; lVar8 = *param_1; lVar12 = (longlong)param_2 - lVar8 >> 3; lVar4 = param_1[1] - lVar8 >> 3; if (lVar4 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar7 = param_1[2] - lVar8 >> 3; uVar1 = lVar4 + 1; uVar5 = uVar1; if ((uVar7 <= 0x1fffffffffffffff - (uVar7 >> 1)) && (uVar5 = (uVar7 >> 1) + uVar7, uVar5 < uVar1)) { uVar5 = uVar1; } lVar8 = uVar5 * 8; if (0x1fffffffffffffff < uVar5) { lVar8 = -1; } puVar6 = (undefined8 *)FUN_180480500(lVar8); uVar2 = *param_3; lVar8 = lVar12 * 8; puVar13 = (undefined8 *)0x0; *param_3 = 0; puVar6[lVar12] = uVar2; puVar11 = (undefined8 *)param_1[1]; puVar9 = (undefined8 *)*param_1; if (param_2 == puVar11) { puVar10 = (undefined8 *)((ulonglong)((longlong)puVar11 + (7 - (longlong)puVar9)) >> 3); if (puVar11 < puVar9) { puVar10 = puVar13; } puVar11 = puVar6; if (puVar10 != (undefined8 *)0x0) { do { uVar2 = *puVar9; *puVar9 = 0; puVar9 = puVar9 + 1; puVar13 = (undefined8 *)((longlong)puVar13 + 1); *puVar11 = uVar2; puVar11 = puVar11 + 1; } while (puVar13 != puVar10); } } else { puVar11 = (undefined8 *)((ulonglong)((longlong)param_2 + (7 - (longlong)puVar9)) >> 3); if (param_2 < puVar9) { puVar11 = puVar13; } puVar10 = puVar6; puVar14 = puVar13; if (puVar11 != (undefined8 *)0x0) { do { uVar2 = *puVar9; *puVar9 = 0; puVar9 = puVar9 + 1; puVar14 = (undefined8 *)((longlong)puVar14 + 1); *puVar10 = uVar2; puVar10 = puVar10 + 1; } while (puVar14 != puVar11); } puVar9 = (undefined8 *)0x0; puVar11 = (undefined8 *)((param_1[1] - (longlong)param_2) + 7U >> 3); if ((undefined8 *)param_1[1] < param_2) { puVar11 = puVar13; } if (puVar11 != (undefined8 *)0x0) { lVar4 = lVar8 - (longlong)param_2; puVar9 = puVar13; do { uVar2 = *param_2; puVar9 = (undefined8 *)((longlong)puVar9 + 1); *param_2 = 0; *(undefined8 *)((longlong)puVar6 + lVar4 + 8 + (longlong)param_2) = uVar2; param_2 = param_2 + 1; } while (puVar9 != puVar11); } } if (*param_1 == 0) { *param_1 = (longlong)puVar6; param_1[1] = (longlong)(puVar6 + uVar1); param_1[2] = (longlong)(puVar6 + uVar5); return *param_1 + lVar8; } FUN_180489640(puVar9,*param_1,param_1[1]); pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (param_1[2] - (longlong)pvVar3 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180498c40 size=308 ############ undefined8 * FUN_180498c40(undefined8 *param_1,undefined8 *param_2,undefined8 param_3) { uint uVar1; bool bVar2; bool bVar3; longlong *plVar4; longlong *plVar5; uint *puVar6; longlong **pplVar7; longlong *local_res8; longlong *local_res10; undefined1 local_res20 [8]; local_res8 = (longlong *)((ulonglong)param_1 & 0xffffffff00000000); if (*(char *)*param_2 == '\0') { local_res8 = (longlong *)&DAT_1821dbf98; pplVar7 = &local_res8; bVar3 = false; bVar2 = true; } else { plVar4 = (longlong *)FUN_1812416f0(local_res20); local_res8 = plVar4; plVar5 = (longlong *)FUN_181232d30(plVar4,param_3); local_res10 = (longlong *)*plVar5; if ((*(uint *)(local_res10 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = (int)local_res10[-2] + 1; UNLOCK(); } puVar6 = (uint *)(*plVar4 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } pplVar7 = &local_res10; bVar3 = true; bVar2 = false; } *param_1 = *pplVar7; *pplVar7 = (longlong *)&DAT_1821dbf98; if (bVar2) { puVar6 = (uint *)(local_res8 + -2); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } if ((bVar3) && (puVar6 = (uint *)(local_res10 + -2), (*puVar6 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } param_1[1] = 0xffffffffffffffff; return param_1; } ############ FUN_ 18122d550 size=121 ############ void FUN_18122d550(longlong *param_1) { undefined8 *puVar1; uint uVar2; undefined8 *puVar3; uint *_Memory; undefined8 *puVar4; longlong local_res8; undefined8 local_res10; puVar4 = (undefined8 *)*param_1; puVar1 = puVar4 + *(int *)((longlong)param_1 + 0xc); do { if (puVar4 == puVar1) { return; } puVar3 = (undefined8 *)FUN_181248e40(puVar4,&local_res8); local_res10 = *puVar4; *puVar4 = *puVar3; *puVar3 = local_res10; _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar4 = puVar4 + 1; } while( true ); } ############ FUN_ 1812254c0 size=817 ############ undefined8 FUN_1812254c0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; byte bVar2; char *_Src; byte bVar3; byte bVar4; int iVar5; int iVar6; undefined4 *puVar7; undefined8 *puVar8; uint *puVar9; byte *pbVar10; ulonglong uVar11; size_t _Size; int iVar12; undefined4 *local_res8; longlong local_res10; byte *local_res18; undefined8 local_res20; iVar5 = FUN_18049d4b0(*(undefined8 *)(param_1 + 8),"> 1; bVar3 = bVar2 & bVar4; } } bVar2 = **(byte **)(param_1 + 8); *(byte **)(param_1 + 8) = *(byte **)(param_1 + 8) + 1; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + 1; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } bVar2 = **(byte **)(param_1 + 8); pbVar10 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar10; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar10 = pbVar10 + 1; *(byte **)(param_1 + 8) = pbVar10; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } bVar2 = **(byte **)(param_1 + 8); pbVar10 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar10; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar10 = pbVar10 + 1; *(byte **)(param_1 + 8) = pbVar10; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } bVar2 = **(byte **)(param_1 + 8); pbVar10 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar10; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar10 = pbVar10 + 1; *(byte **)(param_1 + 8) = pbVar10; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } bVar2 = **(byte **)(param_1 + 8); pbVar10 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar10; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar10 = pbVar10 + 1; *(byte **)(param_1 + 8) = pbVar10; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } bVar2 = **(byte **)(param_1 + 8); pbVar10 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar10; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar10 = pbVar10 + 1; *(byte **)(param_1 + 8) = pbVar10; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } bVar2 = **(byte **)(param_1 + 8); pbVar10 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar10; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar10 = pbVar10 + 1; *(byte **)(param_1 + 8) = pbVar10; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } bVar2 = **(byte **)(param_1 + 8); pbVar10 = *(byte **)(param_1 + 8) + 1; *(byte **)(param_1 + 8) = pbVar10; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar10 = pbVar10 + 1; *(byte **)(param_1 + 8) = pbVar10; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } _Src = *(char **)(param_1 + 8); iVar5 = 1; do { iVar6 = FUN_180483820(param_1 + 8); if (iVar6 == 0) { *(undefined1 *)(param_1 + 0x10) = 1; iVar12 = 0; do { *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + -1; if ((**(byte **)(param_1 + 8) & 0xc0) != 0x80) break; iVar12 = iVar12 + 1; } while (iVar12 < 4); } if (*(char *)(param_1 + 0x10) != '\0') { return 0; } if (iVar6 == 0x3c) { iVar5 = iVar5 + 1; } else if (iVar6 == 0x3e) { iVar5 = iVar5 + -1; } } while (0 < iVar5); local_res18 = *(byte **)(param_1 + 8); iVar5 = 0; do { local_res18 = local_res18 + -1; if ((*local_res18 & 0xc0) != 0x80) break; iVar5 = iVar5 + 1; } while (iVar5 < 4); if ((_Src == (char *)0x0) || (*_Src == '\0')) { local_res8 = (undefined4 *)&DAT_1821dbf98; } else { _Size = (longlong)local_res18 - (longlong)_Src; uVar11 = _Size + 4 & 0xfffffffffffffffc; puVar7 = (undefined4 *)thunk_FUN_1811316e0(uVar11 + 0x17); LOCK(); *puVar7 = 0; UNLOCK(); *(ulonglong *)(puVar7 + 2) = uVar11; puVar7 = puVar7 + 4; memcpy(puVar7,_Src,_Size); *(undefined1 *)((longlong)puVar7 + _Size) = 0; local_res8 = puVar7; } puVar8 = (undefined8 *)FUN_181248e40(&local_res8,&local_res10); local_res20 = *(undefined8 *)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = *puVar8; *puVar8 = local_res20; puVar9 = (uint *)(local_res10 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = local_res8 + -4; if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } } return 1; } ############ FUN_ 181225cf0 size=104 ############ void FUN_181225cf0(longlong param_1,longlong *param_2,char param_3) { int iVar1; longlong lVar2; int *piVar3; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(*param_2 + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0x18); *(longlong *)(param_1 + 0x18) = *param_2; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } *(bool *)(param_1 + 0x11) = param_3 == '\0'; return; } ############ FUN_ 181211a00 size=391 ############ longlong * FUN_181211a00(longlong *param_1,longlong *param_2,undefined8 *param_3) { longlong *plVar1; uint uVar2; char *_Src; int iVar3; int iVar4; undefined4 *puVar5; longlong lVar6; uint *_Memory; ulonglong uVar7; int iVar8; size_t _Size; int iVar9; undefined4 *local_res10; iVar9 = *(int *)((longlong)param_2 + 0xc); iVar8 = 0; if (0 < iVar9) { lVar6 = *param_2; do { plVar1 = (longlong *)(lVar6 + (longlong)iVar8 * 8); iVar3 = FUN_18122c520(param_3,plVar1); if (iVar3 == 0) { lVar6 = *plVar1; LAB_181211add: uVar2 = *(uint *)(lVar6 + -0x10); *param_1 = lVar6; if ((uVar2 & 0x30000000) != 0) { return param_1; } LOCK(); *(int *)(lVar6 + -0x10) = *(int *)(lVar6 + -0x10) + 1; UNLOCK(); return param_1; } iVar4 = (iVar9 + iVar8) / 2; if (iVar4 == iVar8) { if (0 < iVar3) { iVar8 = iVar8 + 1; } break; } plVar1 = (longlong *)(lVar6 + (longlong)iVar4 * 8); iVar3 = FUN_18122c520(param_3,plVar1); if (iVar3 == 0) { lVar6 = *plVar1; goto LAB_181211add; } if (0 < iVar3) { iVar8 = iVar4; iVar4 = iVar9; } iVar9 = iVar4; } while (iVar8 < iVar9); } _Src = (char *)*param_3; if ((_Src == (char *)0x0) || (*_Src == '\0')) { local_res10 = (undefined4 *)&DAT_1821dbf98; } else { _Size = param_3[1] - (longlong)_Src; uVar7 = _Size + 4 & 0xfffffffffffffffc; puVar5 = (undefined4 *)thunk_FUN_1811316e0(uVar7 + 0x17); LOCK(); *puVar5 = 0; UNLOCK(); *(ulonglong *)(puVar5 + 2) = uVar7; puVar5 = puVar5 + 4; memcpy(puVar5,_Src,_Size); *(undefined1 *)((longlong)puVar5 + _Size) = 0; local_res10 = puVar5; } FUN_180489070(param_2,iVar8,&local_res10); _Memory = local_res10 + -4; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } lVar6 = *(longlong *)(*param_2 + (longlong)iVar8 * 8); *param_1 = lVar6; if ((*(uint *)(lVar6 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar6 + -0x10) = *(int *)(lVar6 + -0x10) + 1; UNLOCK(); } return param_1; } ############ FUN_ 18122f8f0 size=623 ############ undefined8 * FUN_18122f8f0(undefined8 *param_1,char *param_2,ulonglong param_3,undefined8 param_4) { byte bVar1; int iVar2; char cVar3; uint uVar4; void *_Memory; ulonglong uVar5; ulonglong uVar6; longlong lVar7; int iVar8; bool bVar9; undefined1 *local_50; undefined8 local_48; undefined1 *puStack_40; ulonglong local_38; ulonglong local_30; iVar8 = (int)param_3; uVar5 = param_3 & 0xffffffff; if ((iVar8 < 1) || (param_2 == (char *)0x0)) { *param_1 = &DAT_1821dbf98; } else if (iVar8 == 1) { FUN_181233f40(param_1,*param_2); } else { cVar3 = *param_2; if (((cVar3 == -2) && (param_2[1] == -1)) || ((cVar3 == -1 && (param_2[1] == -2)))) { local_50 = &DAT_1821dbf98; local_48 = 0; puStack_40 = (undefined1 *)0x0; uVar5 = (ulonglong)(iVar8 / 2 + -1); lVar7 = 0; local_30 = 0; local_38 = uVar5; FUN_1812342b0(&local_50,uVar5); puStack_40 = local_50; if ((*param_2 == -2) && (param_2[1] == -1)) { if (0 < (longlong)uVar5) { do { FUN_180495280(&local_50, *(ushort *)(param_2 + lVar7 * 2 + 2) << 8 | *(ushort *)(param_2 + lVar7 * 2 + 2) >> 8); lVar7 = lVar7 + 1; } while (lVar7 < (longlong)uVar5); } } else if (0 < (longlong)uVar5) { do { FUN_180495280(&local_50,*(undefined2 *)(param_2 + lVar7 * 2 + 2)); lVar7 = lVar7 + 1; } while (lVar7 < (longlong)uVar5); } local_30 = local_30 + 1; if (local_38 < local_30) { uVar5 = 8; if (8 < local_38 >> 4) { uVar5 = local_38 >> 4; } local_38 = local_38 + uVar5; iVar2 = (int)local_50; iVar8 = (int)puStack_40; FUN_1812342b0(&local_50); puStack_40 = local_50 + (iVar8 - iVar2); } *puStack_40 = 0; *param_1 = local_50; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } else { if ((((2 < iVar8) && (cVar3 == -0x11)) && (param_2[1] == -0x45)) && (param_2[2] == -0x41)) { param_2 = param_2 + 3; uVar5 = (ulonglong)(iVar8 - 3); } cVar3 = FUN_180493240(param_2,uVar5,param_3,param_4,0xfffffffffffffffe); if (cVar3 == '\0') { uVar6 = (ulonglong)(int)uVar5; _Memory = malloc(uVar6 * 4 + 4); uVar5 = 0; if (uVar6 != 0) { do { bVar1 = param_2[uVar5]; uVar4 = (uint)bVar1; if ((byte)(bVar1 + 0x80) < 0x20) { uVar4 = (uint)*(ushort *)(&DAT_1824970d0 + (longlong)(int)(bVar1 - 0x80) * 2); } *(uint *)((longlong)_Memory + uVar5 * 4) = uVar4; uVar5 = uVar5 + 1; } while (uVar5 < uVar6); } *(undefined4 *)(uVar6 * 4 + (longlong)_Memory) = 0; FUN_18049ca80(param_1,_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } FUN_18124a8a0(param_1,param_2,param_2 + (int)uVar5); } } return param_1; } ############ FUN_ 181232a20 size=118 ############ longlong * FUN_181232a20(longlong *param_1,longlong *param_2,undefined4 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; longlong *plVar3; uint *_Memory; plVar3 = (longlong *)FUN_181232b70(param_2,param_3,param_3,param_4,0xfffffffffffffffe); lVar2 = *plVar3; *param_1 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 181234400 size=62 ############ void FUN_181234400(longlong *param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(*param_1 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = (longlong)&DAT_1821dbf98; return; } ############ FUN_ 18048c1c0 size=348 ############ longlong FUN_18048c1c0(longlong *param_1,void *param_2,undefined8 *param_3) { longlong lVar1; void *pvVar2; undefined8 uVar3; ulonglong uVar4; void *pvVar5; ulonglong uVar6; void *_Dst; longlong lVar7; ulonglong uVar8; size_t _Size; lVar1 = *param_1; lVar7 = param_1[1] - lVar1 >> 4; if (lVar7 == 0xfffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar8 = lVar7 + 1; uVar6 = param_1[2] - lVar1 >> 4; uVar4 = uVar8; if ((uVar6 <= 0xfffffffffffffff - (uVar6 >> 1)) && (uVar4 = (uVar6 >> 1) + uVar6, uVar4 < uVar8)) { uVar4 = uVar8; } lVar7 = uVar4 * 0x10; if (0xfffffffffffffff < uVar4) { lVar7 = -1; } pvVar5 = (void *)FUN_180480500(lVar7); uVar3 = param_3[1]; uVar6 = (longlong)param_2 - lVar1 & 0xfffffffffffffff0; *(undefined8 *)(uVar6 + (longlong)pvVar5) = *param_3; ((undefined8 *)(uVar6 + (longlong)pvVar5))[1] = uVar3; pvVar2 = (void *)*param_1; if (param_2 == (void *)param_1[1]) { _Size = param_1[1] - (longlong)pvVar2; _Dst = pvVar5; param_2 = pvVar2; } else { memmove(pvVar5,pvVar2,(longlong)param_2 - (longlong)pvVar2); _Size = param_1[1] - (longlong)param_2; _Dst = (void *)(uVar6 + 0x10 + (longlong)pvVar5); } memmove(_Dst,param_2,_Size); pvVar2 = (void *)*param_1; if (pvVar2 == (void *)0x0) { *param_1 = (longlong)pvVar5; param_1[1] = (longlong)(uVar8 * 0x10 + (longlong)pvVar5); param_1[2] = (longlong)(uVar4 * 0x10 + (longlong)pvVar5); return *param_1 + uVar6; } pvVar5 = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xfffffffffffffff0U)) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } ############ FUN_ 18048c900 size=641 ############ basic_istream_> * FUN_18048c900(basic_istream_> *param_1,undefined8 *param_2) { ulonglong _Size; ulonglong uVar1; void *_Src; bool bVar2; int iVar3; undefined8 *puVar4; void *pvVar5; undefined1 uVar6; ulonglong *puVar7; uint uVar8; ulonglong uVar9; basic_istream_> *pbVar10; ulonglong local_60; ulonglong local_58 [2]; basic_istream_> *local_48; undefined1 local_40; local_58[1] = 0xfffffffffffffffe; uVar8 = 0; bVar2 = false; local_48 = param_1; if (*(longlong **)(param_1 + (longlong)*(int *)(*(longlong *)param_1 + 4) + 0x48) != (longlong *)0x0) { (**(code **)(**(longlong **)(param_1 + (longlong)*(int *)(*(longlong *)param_1 + 4) + 0x48) + 8) )(); } local_40 = std::basic_istream_>::_Ipfx(param_1,true); pbVar10 = param_1; if ((bool)local_40) { param_2[2] = 0; puVar4 = param_2; if (0xf < (ulonglong)param_2[3]) { puVar4 = (undefined8 *)*param_2; } *(undefined1 *)puVar4 = 0; iVar3 = std::basic_streambuf_>::sgetc (*(basic_streambuf_> **) (param_1 + (longlong)*(int *)(*(longlong *)param_1 + 4) + 0x48)); while (iVar3 != -1) { if (iVar3 == 0x20) { bVar2 = true; std::basic_streambuf_>::sbumpc (*(basic_streambuf_> **) (param_1 + (longlong)*(int *)(*(longlong *)param_1 + 4) + 0x48)); uVar8 = 0; goto LAB_18048c9e9; } _Size = param_2[2]; if (0x7ffffffffffffffe < _Size) { uVar8 = 2; goto LAB_18048c9e9; } uVar1 = param_2[3]; uVar6 = (undefined1)iVar3; if (_Size < uVar1) { param_2[2] = _Size + 1; puVar4 = param_2; if (0xf < uVar1) { puVar4 = (undefined8 *)*param_2; } *(undefined1 *)((longlong)puVar4 + _Size) = uVar6; *(undefined1 *)((longlong)puVar4 + _Size + 1) = 0; } else { if (_Size == 0x7fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18048c740(); } local_58[0] = _Size + 1 | 0xf; if (local_58[0] < 0x8000000000000000) { if (0x7fffffffffffffff - (uVar1 >> 1) < uVar1) { uVar9 = 0x7fffffffffffffff; } else { local_60 = (uVar1 >> 1) + uVar1; puVar7 = &local_60; if (local_60 <= local_58[0]) { puVar7 = local_58; } uVar9 = *puVar7; } } else { uVar9 = 0x7fffffffffffffff; } pvVar5 = (void *)FUN_180480500(uVar9 + 1); param_2[2] = _Size + 1; param_2[3] = uVar9; if (0xf < uVar1) { _Src = (void *)*param_2; memcpy(pvVar5,_Src,_Size); *(undefined1 *)((longlong)pvVar5 + _Size) = uVar6; *(undefined1 *)((longlong)pvVar5 + _Size + 1) = 0; pvVar5 = _Src; if ((0xfff < uVar1 + 1) && (pvVar5 = *(void **)((longlong)_Src + -8), 0x1f < (ulonglong)((longlong)_Src + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } memcpy(pvVar5,param_2,_Size); *(undefined1 *)((longlong)pvVar5 + _Size) = uVar6; *(undefined1 *)((longlong)pvVar5 + _Size + 1) = 0; *param_2 = pvVar5; } bVar2 = true; iVar3 = std::basic_streambuf_>::snextc (*(basic_streambuf_> **) (param_1 + (longlong)*(int *)(*(longlong *)param_1 + 4) + 0x48)); } uVar8 = 1; LAB_18048c9e9: pbVar10 = local_48; if (bVar2) goto LAB_18048cb52; } uVar8 = uVar8 | 2; LAB_18048cb52: std::basic_ios_>::setstate ((basic_ios_> *) (param_1 + *(int *)(*(longlong *)param_1 + 4)),uVar8,false); if (*(longlong **)(pbVar10 + (longlong)*(int *)(*(longlong *)pbVar10 + 4) + 0x48) != (longlong *)0x0) { (**(code **)(**(longlong **)(pbVar10 + (longlong)*(int *)(*(longlong *)pbVar10 + 4) + 0x48) + 0x10))(); } return param_1; } ############ FUN_ 18048dcc0 size=88 ############ void FUN_18048dcc0(void *param_1,char param_2) { longlong *plVar1; plVar1 = *(longlong **)((longlong)param_1 + 0x40); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != (longlong *)((longlong)param_1 + 8)); *(undefined8 *)((longlong)param_1 + 0x40) = 0; } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 18048dda0 size=60 ############ void FUN_18048dda0(longlong param_1) { undefined8 *_Memory; _Memory = *(undefined8 **)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = 0; FUN_180483670(); (*(code *)*_Memory)(_Memory[1]); _Cnd_do_broadcast_at_thread_exit(); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18048df90 size=383 ############ void FUN_18048df90(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; int iVar2; longlong lVar3; uint *puVar4; ulonglong uVar5; ulonglong uVar6; uint *_Memory; uint *puVar7; LPCRITICAL_SECTION lpCriticalSection; ulonglong uVar8; lpCriticalSection = (LPCRITICAL_SECTION)(*(longlong *)(param_1 + 0x10) + 0x80); EnterCriticalSection(lpCriticalSection); lVar3 = *(longlong *)(param_1 + 0x10); uVar1 = *(uint *)(param_1 + 8); uVar5 = (ulonglong)uVar1 % (ulonglong)*(uint *)(lVar3 + 0x27c); uVar8 = (ulonglong)(int)uVar5; uVar6 = uVar8; puVar4 = *(uint **)(uVar8 * 8 + *(longlong *)(lVar3 + 0x270)); puVar7 = (uint *)0x0; do { while( true ) { _Memory = puVar4; if (_Memory == (uint *)0x0) { if ((*(int *)(*(longlong *)(param_1 + 0x10) + 0x280) == 0) && (*(int *)(*(longlong *)(param_1 + 0x10) + 0x198) != 0)) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x10) + 0x198) = 0; UNLOCK(); } /* WARNING: Could not recover jumptable at 0x00018048e0ff. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection(lpCriticalSection); return; } if (*_Memory == uVar1) break; uVar6 = uVar5; puVar4 = *(uint **)(_Memory + 0x12); puVar7 = _Memory; } puVar4 = *(uint **)(_Memory + 0x12); if (puVar7 == (uint *)0x0) { if (-1 < (longlong)uVar8) { if ((int)uVar6 < *(int *)(lVar3 + 0x27c)) { *(uint **)(uVar8 * 8 + *(longlong *)(lVar3 + 0x270)) = puVar4; } else { FUN_18047e060(lVar3 + 0x270,*(int *)(lVar3 + 0x27c) + 1,uVar6,param_4,_Memory); iVar2 = *(int *)(lVar3 + 0x27c); *(int *)(lVar3 + 0x27c) = iVar2 + 1; *(uint **)(*(longlong *)(lVar3 + 0x270) + (longlong)iVar2 * 8) = puVar4; } } } else { *(uint **)(puVar7 + 0x12) = puVar4; } *(int *)(lVar3 + 0x280) = *(int *)(lVar3 + 0x280) + -1; uVar6 = uVar5; } while (_Memory == (uint *)0x0); puVar4 = *(uint **)(_Memory + 0x10); if (puVar4 != (uint *)0x0) { (**(code **)(*(longlong *)puVar4 + 0x20))(puVar4,puVar4 != _Memory + 2); _Memory[0x10] = 0; _Memory[0x11] = 0; } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18048ee20 size=73 ############ void FUN_18048ee20(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *_Memory; undefined8 uVar1; uVar1 = 0xfffffffffffffffe; _Memory = *(undefined8 **)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = 0; FUN_180483670(); (*(code *)_Memory[3])(_Memory + 2,_Memory + 1,*_Memory,param_4,uVar1); _Cnd_do_broadcast_at_thread_exit(); FUN_18048dee0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18048ee70 size=100 ############ void FUN_18048ee70(void *param_1,char param_2) { uint uVar1; uint *_Memory; (**(code **)(**(longlong **)((longlong)param_1 + 0x10) + 0xb0)) (*(longlong **)((longlong)param_1 + 0x10),(longlong)param_1 + 0x18); _Memory = (uint *)(*(longlong *)((longlong)param_1 + 8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 18048f080 size=100 ############ void FUN_18048f080(void *param_1,char param_2) { uint uVar1; uint *_Memory; (**(code **)(**(longlong **)((longlong)param_1 + 0x10) + 0xb0)) (*(longlong **)((longlong)param_1 + 0x10),(longlong)param_1 + 0x18); _Memory = (uint *)(*(longlong *)((longlong)param_1 + 8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 18048f2d0 size=88 ############ void FUN_18048f2d0(void *param_1,char param_2) { longlong *plVar1; plVar1 = *(longlong **)((longlong)param_1 + 0x40); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != (longlong *)((longlong)param_1 + 8)); *(undefined8 *)((longlong)param_1 + 0x40) = 0; } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 18048f8b0 size=83 ############ undefined4 FUN_18048f8b0(undefined8 param_1,longlong *param_2) { uint *_Memory; uint uVar1; _Memory = (uint *)(*param_2 + -0x10); if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return DAT_1824c3d8c; } ############ FUN_ 180490570 size=809 ############ longlong * FUN_180490570(longlong *param_1,longlong *param_2) { uint *puVar1; int *piVar2; uint uVar3; longlong lVar4; int iVar5; uint uVar6; longlong lVar7; longlong *plVar8; longlong *plVar9; longlong *plVar10; if (param_1 == param_2) { return param_2; } plVar9 = param_1 + 1; if (plVar9 == param_2) { return param_2; } LAB_1804905c0: lVar4 = *plVar9; *plVar9 = (longlong)&DAT_1821dbf98; lVar7 = *param_1; puVar1 = (uint *)(lVar7 + -0x10); if ((*(uint *)(lVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } if (lVar4 == lVar7) { iVar5 = 0; LAB_180490650: uVar6 = (uint)(iVar5 < 0); } else { iVar5 = FUN_18049bb30(lVar4,lVar7); if (-1 < iVar5) { iVar5 = FUN_18049bb30(lVar7,lVar4); goto LAB_180490650; } uVar6 = 0xffffffff; } if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); piVar2 = (int *)(lVar4 + -0x10); iVar5 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar5 == 0) { /* WARNING: Subroutine does not return */ free((void *)(lVar4 + -0x10)); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } plVar10 = plVar9; if (-1 < (int)uVar6) { do { lVar7 = plVar10[-1]; plVar8 = plVar10 + -1; puVar1 = (uint *)(lVar7 + -0x10); if ((*(uint *)(lVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar4 + -0x10) = *(int *)(lVar4 + -0x10) + 1; UNLOCK(); } if (lVar4 == lVar7) { iVar5 = 0; LAB_180490789: uVar6 = (uint)(iVar5 < 0); } else { iVar5 = FUN_18049bb30(lVar4,lVar7); if (-1 < iVar5) { iVar5 = FUN_18049bb30(lVar7,lVar4); goto LAB_180490789; } uVar6 = 0xffffffff; } if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); piVar2 = (int *)(lVar4 + -0x10); iVar5 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar5 == 0) { /* WARNING: Subroutine does not return */ free((void *)(lVar4 + -0x10)); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } lVar7 = *plVar10; if (-1 < (int)uVar6) goto LAB_1804907fb; *plVar10 = *plVar8; *plVar8 = lVar7; plVar10 = plVar8; } while( true ); } plVar10 = plVar9 + 1; plVar8 = plVar9; while (plVar8 != param_1) { plVar8 = plVar8 + -1; lVar7 = plVar10[-1]; plVar10 = plVar10 + -1; *plVar10 = *plVar8; *plVar8 = lVar7; } lVar7 = *param_1; *param_1 = lVar4; goto LAB_180490814; LAB_1804907fb: *plVar10 = lVar4; LAB_180490814: puVar1 = (uint *)(lVar7 + -0x10); if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } plVar9 = plVar9 + 1; if (plVar9 == param_2) { return param_2; } goto LAB_1804905c0; } ############ FUN_ 1804908a0 size=515 ############ void FUN_1804908a0(longlong *param_1,longlong param_2,longlong param_3,undefined8 param_4) { uint uVar1; longlong lVar2; uint *puVar3; longlong *plVar4; longlong lVar5; longlong local_res8; longlong local_res10; longlong local_38; longlong *local_30; lVar2 = param_2 - (longlong)param_1; do { lVar2 = lVar2 >> 3; if (lVar2 < 0x21) { LAB_180490950: if (1 < lVar2) { FUN_180490570(param_1,param_2); } return; } if (param_3 < 1) { if (0x20 < lVar2) { lVar5 = param_2 - (longlong)param_1 >> 3; lVar2 = param_2 - (longlong)param_1 >> 4; while (0 < lVar2) { local_res8 = param_1[lVar2 + -1]; lVar2 = lVar2 + -1; param_1[lVar2] = (longlong)&DAT_1821dbf98; FUN_1804929f0(param_1,lVar2,lVar5,&local_res8,param_4); puVar3 = (uint *)(local_res8 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } } if (lVar5 < 2) { return; } plVar4 = (longlong *)(param_2 + -8); do { if (1 < lVar5) { local_res10 = *plVar4; *plVar4 = (longlong)&DAT_1821dbf98; *plVar4 = *param_1; *param_1 = (longlong)&DAT_1821dbf98; FUN_1804929f0(param_1,0,(longlong)plVar4 - (longlong)param_1 >> 3,&local_res10,param_4); puVar3 = (uint *)(local_res10 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } } plVar4 = plVar4 + -1; lVar5 = (8 - (longlong)param_1) + (longlong)plVar4 >> 3; } while (1 < lVar5); return; } goto LAB_180490950; } FUN_180491f60(&local_38,param_1,param_2,param_4); plVar4 = local_30; lVar5 = local_38; param_3 = (param_3 >> 1) + (param_3 >> 2); if ((longlong)(local_38 - (longlong)param_1 & 0xfffffffffffffff8U) < (longlong)(param_2 - (longlong)local_30 & 0xfffffffffffffff8U)) { FUN_1804908a0(param_1,local_38,param_3,param_4); lVar5 = param_2; param_1 = plVar4; } else { FUN_1804908a0(local_30,param_2,param_3,param_4); } lVar2 = lVar5 - (longlong)param_1; param_2 = lVar5; } while( true ); } ############ FUN_ 180491f60 size=2583 ############ void FUN_180491f60(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { uint *puVar1; uint *puVar2; uint uVar3; longlong lVar4; longlong *plVar5; int iVar6; uint uVar7; longlong lVar8; longlong *plVar9; longlong *plVar10; longlong *plVar11; bool bVar12; longlong *local_res20; longlong *local_118; longlong *local_110; plVar9 = param_3 + -1; lVar8 = (longlong)plVar9 - (longlong)param_2 >> 3; local_res20 = param_2 + ((longlong)param_3 - (longlong)param_2 >> 4); if (lVar8 < 0x29) { FUN_180492cd0(param_2,local_res20,plVar9); } else { lVar8 = lVar8 + 1 >> 3; FUN_180492cd0(param_2,param_2 + lVar8,param_2 + lVar8 * 2); FUN_180492cd0(local_res20 + -lVar8,local_res20,local_res20 + lVar8,param_4); FUN_180492cd0(plVar9 + lVar8 * -2,plVar9 + -lVar8,plVar9,param_4); FUN_180492cd0(param_2 + lVar8,local_res20,plVar9 + -lVar8,param_4); } local_118 = local_res20 + 1; if (param_2 < local_res20) { do { lVar8 = *local_res20; puVar1 = (uint *)(lVar8 + -0x10); if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } plVar9 = local_res20 + -1; lVar4 = *plVar9; puVar2 = (uint *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if (lVar4 == lVar8) { iVar6 = 0; LAB_1804920cf: uVar7 = (uint)(iVar6 < 0); } else { iVar6 = FUN_18049bb30(lVar4,lVar8); if (-1 < iVar6) { iVar6 = FUN_18049bb30(lVar8,lVar4); goto LAB_1804920cf; } uVar7 = 0xffffffff; } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if ((int)uVar7 < 0) break; lVar8 = *plVar9; puVar1 = (uint *)(lVar8 + -0x10); if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } lVar4 = *local_res20; puVar2 = (uint *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if (lVar4 == lVar8) { iVar6 = 0; LAB_1804921a1: uVar7 = (uint)(iVar6 < 0); } else { iVar6 = FUN_18049bb30(lVar4,lVar8); if (-1 < iVar6) { iVar6 = FUN_18049bb30(lVar8,lVar4); goto LAB_1804921a1; } uVar7 = 0xffffffff; } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if (((int)uVar7 < 0) || (local_res20 = plVar9, plVar9 <= param_2)) break; } while( true ); } plVar9 = local_118; plVar10 = local_res20; plVar5 = local_118; local_110 = local_res20; if (local_118 < param_3) { do { lVar8 = *local_res20; puVar1 = (uint *)(lVar8 + -0x10); if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } lVar4 = *local_118; puVar2 = (uint *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if (lVar4 == lVar8) { iVar6 = 0; LAB_18049229b: uVar7 = (uint)(iVar6 < 0); } else { iVar6 = FUN_18049bb30(lVar4,lVar8); if (-1 < iVar6) { iVar6 = FUN_18049bb30(lVar8,lVar4); goto LAB_18049229b; } uVar7 = 0xffffffff; } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } plVar9 = local_118; plVar5 = local_118; if ((int)uVar7 < 0) break; lVar8 = *local_118; puVar1 = (uint *)(lVar8 + -0x10); if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } lVar4 = *local_res20; puVar2 = (uint *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if (lVar4 == lVar8) { iVar6 = 0; LAB_18049236d: uVar7 = (uint)(iVar6 < 0); } else { iVar6 = FUN_18049bb30(lVar4,lVar8); if (-1 < iVar6) { iVar6 = FUN_18049bb30(lVar8,lVar4); goto LAB_18049236d; } uVar7 = 0xffffffff; } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if (((int)uVar7 < 0) || (local_118 = local_118 + 1, plVar9 = local_118, plVar5 = local_118, param_3 <= local_118)) break; } while( true ); } joined_r0x000180492403: do { plVar11 = local_110; if (param_3 <= plVar5) { joined_r0x000180492630: for (; param_2 < local_110; local_110 = local_110 + -1) { plVar11 = plVar11 + -1; lVar8 = *plVar10; puVar1 = (uint *)(lVar8 + -0x10); if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } lVar4 = *plVar11; puVar2 = (uint *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if (lVar4 == lVar8) { iVar6 = 0; LAB_1804926b3: uVar7 = (uint)(iVar6 < 0); } else { iVar6 = FUN_18049bb30(lVar4,lVar8); if (-1 < iVar6) { iVar6 = FUN_18049bb30(lVar8,lVar4); goto LAB_1804926b3; } uVar7 = 0xffffffff; } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if (-1 < (int)uVar7) { lVar8 = *plVar11; puVar1 = (uint *)(lVar8 + -0x10); if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } lVar4 = *local_res20; puVar2 = (uint *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if (lVar4 == lVar8) { iVar6 = 0; LAB_180492781: uVar7 = (uint)(iVar6 < 0); } else { iVar6 = FUN_18049bb30(lVar4,lVar8); if (-1 < iVar6) { iVar6 = FUN_18049bb30(lVar8,lVar4); goto LAB_180492781; } uVar7 = 0xffffffff; } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } plVar9 = local_118; plVar10 = local_res20; if ((int)uVar7 < 0) break; local_res20 = local_res20 + -1; if (local_res20 != plVar11) { lVar8 = *local_res20; *local_res20 = (longlong)&DAT_1821dbf98; *local_res20 = *plVar11; *plVar11 = lVar8; FUN_180495200(); } } plVar9 = local_118; plVar10 = local_res20; } if (local_110 == param_2) { if (plVar5 == param_3) { *param_1 = plVar10; param_1[1] = plVar9; return; } if (plVar9 != plVar5) { lVar8 = *plVar10; *plVar10 = (longlong)&DAT_1821dbf98; *plVar10 = *plVar9; *plVar9 = lVar8; FUN_180495200(&DAT_1821dbf98); } lVar8 = *plVar10; local_118 = plVar9 + 1; *plVar10 = (longlong)&DAT_1821dbf98; *plVar10 = *plVar5; *plVar5 = lVar8; FUN_180495200(); local_res20 = plVar10 + 1; plVar9 = local_118; plVar10 = local_res20; plVar5 = plVar5 + 1; } else { local_110 = local_110 + -1; if (plVar5 == param_3) { local_res20 = plVar10 + -1; if (local_110 != local_res20) { lVar8 = *local_110; *local_110 = (longlong)&DAT_1821dbf98; *local_110 = *local_res20; *local_res20 = lVar8; FUN_180495200(&DAT_1821dbf98); } lVar8 = *local_res20; local_118 = plVar9 + -1; *local_res20 = (longlong)&DAT_1821dbf98; *local_res20 = *local_118; *local_118 = lVar8; FUN_180495200(); plVar9 = local_118; plVar10 = local_res20; } else { lVar8 = *plVar5; *plVar5 = (longlong)&DAT_1821dbf98; *plVar5 = *local_110; *local_110 = lVar8; FUN_180495200(); plVar5 = plVar5 + 1; } } goto joined_r0x000180492403; } lVar8 = *plVar5; puVar1 = (uint *)(lVar8 + -0x10); if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } lVar4 = *local_res20; puVar2 = (uint *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if (lVar4 == lVar8) { iVar6 = 0; LAB_180492485: uVar7 = (uint)(iVar6 < 0); } else { iVar6 = FUN_18049bb30(lVar4,lVar8); if (-1 < iVar6) { iVar6 = FUN_18049bb30(lVar8,lVar4); goto LAB_180492485; } uVar7 = 0xffffffff; } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } plVar10 = local_res20; if (-1 < (int)uVar7) { lVar8 = *local_res20; puVar1 = (uint *)(lVar8 + -0x10); if ((*(uint *)(lVar8 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } lVar4 = *plVar5; puVar2 = (uint *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if (lVar4 == lVar8) { iVar6 = 0; LAB_180492552: uVar7 = (uint)(iVar6 < 0); } else { iVar6 = FUN_18049bb30(lVar4,lVar8); if (-1 < iVar6) { iVar6 = FUN_18049bb30(lVar8,lVar4); goto LAB_180492552; } uVar7 = 0xffffffff; } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } plVar9 = local_118; if ((int)uVar7 < 0) goto joined_r0x000180492630; if (local_118 != plVar5) { lVar8 = *local_118; *local_118 = (longlong)&DAT_1821dbf98; *local_118 = *plVar5; *plVar5 = lVar8; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar12 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar12) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } local_118 = local_118 + 1; } plVar9 = local_118; plVar5 = plVar5 + 1; } while( true ); } ############ FUN_ 1804929f0 size=721 ############ void FUN_1804929f0(longlong param_1,longlong param_2,longlong param_3,longlong *param_4) { uint *puVar1; uint *puVar2; uint uVar3; longlong lVar4; longlong lVar5; undefined8 uVar6; longlong lVar7; int iVar8; uint uVar9; longlong lVar10; longlong lVar11; longlong lStack0000000000000028; lStack0000000000000028 = param_3 + -1; lVar11 = lStack0000000000000028 >> 1; lVar7 = param_2; while (lVar7 < lVar11) { lVar10 = lVar7 * 2 + 2; lVar4 = *(longlong *)(param_1 + -8 + lVar10 * 8); puVar1 = (uint *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } lVar5 = *(longlong *)(param_1 + lVar10 * 8); puVar2 = (uint *)(lVar5 + -0x10); if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if (lVar5 == lVar4) { iVar8 = 0; LAB_180492acc: uVar9 = (uint)(iVar8 < 0); } else { iVar8 = FUN_18049bb30(lVar5,lVar4); if (-1 < iVar8) { iVar8 = FUN_18049bb30(lVar4,lVar5); goto LAB_180492acc; } uVar9 = 0xffffffff; } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if ((int)uVar9 < 0) { lVar10 = lVar7 * 2 + 1; } uVar6 = *(undefined8 *)(param_1 + lVar7 * 8); *(undefined8 *)(param_1 + lVar7 * 8) = *(undefined8 *)(param_1 + lVar10 * 8); *(undefined8 *)(param_1 + lVar10 * 8) = uVar6; lVar7 = lVar10; } if ((lVar7 == lVar11) && (((ulonglong)((uint)param_3 & 1) ^ param_3 >> 0x3f) == param_3 >> 0x3f)) { uVar6 = *(undefined8 *)(param_1 + lVar7 * 8); *(undefined8 *)(param_1 + lVar7 * 8) = *(undefined8 *)(param_1 + -8 + param_3 * 8); *(undefined8 *)(param_1 + -8 + param_3 * 8) = uVar6; lVar7 = lStack0000000000000028; } while (param_2 < lVar7) { lVar11 = *param_4; lVar10 = lVar7 + -1 >> 1; puVar1 = (uint *)(lVar11 + -0x10); if ((*(uint *)(lVar11 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar1 = *puVar1 + 1; UNLOCK(); } lVar4 = *(longlong *)(param_1 + lVar10 * 8); puVar2 = (uint *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); *puVar2 = *puVar2 + 1; UNLOCK(); } if (lVar4 == lVar11) { iVar8 = 0; LAB_180492c1d: uVar9 = (uint)(iVar8 < 0); } else { iVar8 = FUN_18049bb30(lVar4,lVar11); if (-1 < iVar8) { iVar8 = FUN_18049bb30(lVar11,lVar4); goto LAB_180492c1d; } uVar9 = 0xffffffff; } if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } if ((*puVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar1; *puVar1 = *puVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar1); } } if (-1 < (int)uVar9) break; uVar6 = *(undefined8 *)(param_1 + lVar7 * 8); *(undefined8 *)(param_1 + lVar7 * 8) = *(undefined8 *)(param_1 + lVar10 * 8); *(undefined8 *)(param_1 + lVar10 * 8) = uVar6; lVar7 = lVar10; } lVar11 = *(longlong *)(param_1 + lVar7 * 8); *(longlong *)(param_1 + lVar7 * 8) = *param_4; *param_4 = lVar11; return; } ############ FUN_ 180492cd0 size=482 ############ void FUN_180492cd0(longlong *param_1,longlong *param_2,longlong *param_3) { uint *puVar1; uint uVar2; char cVar3; bool bVar4; longlong local_res8; longlong local_res10; longlong local_res18; longlong local_58; longlong local_50; longlong local_48; longlong local_40; longlong local_38; longlong local_30; local_res8 = *param_1; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } local_res10 = *param_2; uVar2 = *(uint *)(local_res10 + -0x10); if ((uVar2 & 0x30000000) == 0) { LOCK(); puVar1 = (uint *)(local_res10 + -0x10); uVar2 = *puVar1; *puVar1 = *puVar1 + 1; UNLOCK(); } cVar3 = FUN_180491ea0(uVar2,&local_res10,&local_res8); if (cVar3 != '\0') { local_40 = *param_2; *param_2 = (longlong)&DAT_1821dbf98; *param_2 = *param_1; *param_1 = local_40; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } local_res18 = *param_2; if ((*(uint *)(local_res18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -0x10) = *(int *)(local_res18 + -0x10) + 1; UNLOCK(); } local_58 = *param_3; uVar2 = *(uint *)(local_58 + -0x10); if ((uVar2 & 0x30000000) == 0) { LOCK(); puVar1 = (uint *)(local_58 + -0x10); uVar2 = *puVar1; *puVar1 = *puVar1 + 1; UNLOCK(); } cVar3 = FUN_180491ea0(uVar2,&local_58,&local_res18); if (cVar3 != '\0') { local_38 = *param_3; *param_3 = (longlong)&DAT_1821dbf98; *param_3 = *param_2; *param_2 = local_38; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_50 = *param_1; if ((*(uint *)(local_50 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_50 + -0x10) = *(int *)(local_50 + -0x10) + 1; UNLOCK(); } local_48 = *param_2; uVar2 = *(uint *)(local_48 + -0x10); if ((uVar2 & 0x30000000) == 0) { LOCK(); *(int *)(local_48 + -0x10) = *(int *)(local_48 + -0x10) + 1; UNLOCK(); } cVar3 = FUN_180491ea0(uVar2,&local_48,&local_50); if (cVar3 != '\0') { local_30 = *param_2; *param_2 = (longlong)&DAT_1821dbf98; *param_2 = *param_1; *param_1 = local_30; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } } return; } ############ FUN_ 180491ea0 size=180 ############ bool FUN_180491ea0(undefined8 param_1,longlong *param_2,longlong *param_3) { uint uVar1; int iVar2; uint *puVar3; uint uVar4; if (*param_2 != *param_3) { iVar2 = FUN_18049bb30(*param_2); if (iVar2 < 0) { uVar4 = 0xffffffff; goto LAB_180491ef3; } } if (*param_3 == *param_2) { iVar2 = 0; } else { iVar2 = FUN_18049bb30(*param_3); } uVar4 = (uint)(iVar2 < 0); LAB_180491ef3: puVar3 = (uint *)(*param_2 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(*param_3 + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } return (int)uVar4 < 0; } ############ FUN_ 180490ba0 size=72 ############ void FUN_180490ba0(longlong param_1) { longlong *_Memory; _Memory = *(longlong **)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = 0; FUN_180483670(); FUN_1811efe00(_Memory[1]); LOCK(); *(undefined4 *)(*_Memory + 0xa8) = 0; UNLOCK(); _Cnd_do_broadcast_at_thread_exit(); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 181243b40 size=315 ############ undefined8 FUN_181243b40(longlong *param_1,longlong *param_2) { int iVar1; longlong *plVar2; longlong *plVar3; uint *_Memory; longlong *plVar4; int iVar5; longlong lVar6; ulonglong uVar7; uint uVar8; uint uVar9; uVar9 = *(uint *)((longlong)param_1 + 0xc); uVar8 = 0; if (0 < (int)uVar9) { lVar6 = 0; plVar3 = (longlong *)*param_1; do { if (*plVar3 == *param_2) { if (uVar8 < uVar9) { uVar9 = (uVar9 - uVar8) - 1; plVar3 = (longlong *)*param_1 + (longlong)(int)uVar8 * 3; if (0 < (int)uVar9) { uVar7 = (ulonglong)uVar9; plVar2 = plVar3; do { plVar4 = plVar2 + 3; lVar6 = *plVar3; *plVar3 = *plVar4; *plVar4 = lVar6; lVar6 = plVar3[1]; plVar3[1] = plVar2[4]; plVar2[4] = lVar6; lVar6 = plVar3[2]; plVar3[2] = plVar2[5]; plVar3 = plVar3 + 3; plVar2[5] = lVar6; uVar7 = uVar7 - 1; plVar2 = plVar4; } while (uVar7 != 0); } (**(code **)(*(longlong *)plVar3[1] + 0xb0))((longlong *)plVar3[1],plVar3 + 2); _Memory = (uint *)(*plVar3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar9 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar9 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; iVar1 = *(int *)((longlong)param_1 + 0xc); iVar5 = 0; if (0 < iVar1 * 2) { iVar5 = iVar1 * 2; } if (iVar5 < (int)param_1[1]) { if (iVar1 < 2) { iVar1 = 2; } if (iVar1 < (int)param_1[1]) { FUN_18049b620(param_1); } } } return 1; } uVar8 = uVar8 + 1; lVar6 = lVar6 + 1; plVar3 = plVar3 + 3; } while (lVar6 < (int)uVar9); } return 0; } ############ FUN_ 181352050 size=238 ############ undefined8 * FUN_181352050(longlong *param_1,undefined8 *param_2,uint param_3) { uint uVar1; longlong lVar2; bool bVar3; bool bVar4; undefined1 **ppuVar5; uint *puVar6; undefined1 *local_res8; undefined1 *local_res10; local_res8 = (undefined1 *)((ulonglong)local_res8 & 0xffffffff00000000); lVar2 = *param_1; if (lVar2 == 0) { bVar4 = false; bVar3 = true; local_res10 = &DAT_1821dbf98; ppuVar5 = &local_res10; } else { bVar4 = true; bVar3 = false; if (param_3 < *(uint *)(lVar2 + 0x24)) { local_res8 = *(undefined1 **)(*(longlong *)(lVar2 + 0x18) + (longlong)(int)param_3 * 0x18); if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { local_res8 = &DAT_1821dbf98; } ppuVar5 = &local_res8; } *param_2 = *ppuVar5; *ppuVar5 = &DAT_1821dbf98; if (bVar4) { puVar6 = (uint *)(local_res8 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } if ((bVar3) && (puVar6 = (uint *)(local_res10 + -0x10), (*puVar6 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return param_2; } ############ FUN_ 180490c00 size=72 ############ void FUN_180490c00(longlong param_1) { longlong *_Memory; _Memory = *(longlong **)(param_1 + 0x20); *(undefined8 *)(param_1 + 0x20) = 0; FUN_180483670(); FUN_1811eff30(_Memory[1]); LOCK(); *(undefined4 *)(*_Memory + 0xa8) = 0; UNLOCK(); _Cnd_do_broadcast_at_thread_exit(); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180493500 size=43 ############ undefined8 * FUN_180493500(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::SingleThreadedReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180493920 size=52 ############ void * FUN_180493920(void *param_1,ulonglong param_2) { FUN_181217e70(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180493960 size=52 ############ void * FUN_180493960(void *param_1,ulonglong param_2) { FUN_18123ec40(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804939a0 size=116 ############ undefined8 * FUN_1804939a0(undefined8 *param_1,ulonglong param_2) { uint uVar1; uint *_Memory; *param_1 = juce::FileLogger::vftable; DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); _Memory = (uint *)(param_1[1] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::Logger::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180493a20 size=43 ############ undefined8 * FUN_180493a20(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::Logger::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180493f70 size=550 ############ undefined8 * FUN_180493f70(longlong *param_1,undefined8 *param_2) { longlong *plVar1; longlong lVar2; int iVar3; int iVar4; uint uVar5; undefined8 uVar6; undefined8 *puVar7; uint *puVar8; longlong lVar9; char local_res8 [8]; undefined8 *local_res10; char local_res18 [8]; char local_res20 [8]; char local_98 [8]; longlong local_90; longlong local_88; longlong local_80; longlong local_78 [2]; char *local_68; char *local_60; undefined8 local_58; char *local_50; char *local_48; local_78[1] = 0xfffffffffffffffe; *param_2 = &DAT_1821dbf98; local_98[4] = '\x01'; local_98[5] = '\0'; local_98[6] = '\0'; local_98[7] = '\0'; local_res10 = param_2; iVar3 = (**(code **)(*param_1 + 0x38))(); iVar4 = (**(code **)(*(longlong *)param_1[2] + 0x38))(); plVar1 = (longlong *)param_1[2]; if (iVar3 < iVar4) { uVar6 = (**(code **)(*plVar1 + 0x20))(plVar1,&local_90); local_res8[0] = '('; local_res8[1] = '\0'; lVar2 = -1; do { lVar9 = lVar2; lVar2 = lVar9 + 1; } while (local_res8[lVar9 + 1] != '\0'); local_68 = local_res8 + lVar9 + 1; FUN_181232e20(param_2,local_res8); uVar6 = FUN_181232d30(param_2,uVar6); local_res18[0] = ')'; local_res18[1] = '\0'; lVar2 = -1; do { lVar9 = lVar2; lVar2 = lVar9 + 1; } while (local_res18[lVar9 + 1] != '\0'); local_60 = local_res18 + lVar9 + 1; FUN_181232e20(uVar6,local_res18); puVar8 = (uint *)(local_90 + -0x10); if ((*puVar8 & 0x30000000) != 0) goto LAB_1804940ab; LOCK(); uVar5 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); } else { puVar7 = (undefined8 *)(**(code **)(*plVar1 + 0x20))(plVar1,&local_88); local_58 = *param_2; *param_2 = *puVar7; *puVar7 = local_58; puVar8 = (uint *)(local_88 + -0x10); if ((*puVar8 & 0x30000000) != 0) goto LAB_1804940ab; LOCK(); uVar5 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); } if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } LAB_1804940ab: (**(code **)(*param_1 + 0x80))(param_1,param_2); iVar4 = (**(code **)(*(longlong *)param_1[3] + 0x38))(); plVar1 = (longlong *)param_1[3]; if (iVar4 < iVar3) { uVar6 = (**(code **)(*plVar1 + 0x20))(plVar1,local_78); FUN_181232d30(param_2,uVar6); puVar8 = (uint *)(local_78[0] + -0x10); uVar5 = *puVar8; } else { uVar6 = (**(code **)(*plVar1 + 0x20))(plVar1,&local_80); local_res20[0] = '('; local_res20[1] = '\0'; lVar2 = -1; do { lVar9 = lVar2; lVar2 = lVar9 + 1; } while (local_res20[lVar9 + 1] != '\0'); local_50 = local_res20 + lVar9 + 1; FUN_181232e20(param_2,local_res20); uVar6 = FUN_181232d30(param_2,uVar6); local_98[0] = ')'; local_98[1] = '\0'; lVar2 = -1; do { lVar9 = lVar2; lVar2 = lVar9 + 1; } while (local_98[lVar9 + 1] != '\0'); local_48 = local_98 + lVar9 + 1; FUN_181232e20(uVar6,local_98); puVar8 = (uint *)(local_80 + -0x10); uVar5 = *puVar8; } if ((uVar5 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return param_2; } ############ FUN_ 180494590 size=283 ############ longlong * FUN_180494590(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; int iVar3; undefined8 uVar4; longlong *plVar5; uint *puVar6; undefined1 local_res8 [8]; longlong local_res18; longlong *local_res20; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; iVar3 = (**(code **)(**(longlong **)(param_1 + 0x10) + 0x38))(); plVar5 = *(longlong **)(param_1 + 0x10); if (iVar3 < 1) { uVar4 = (**(code **)(*plVar5 + 0x20))(plVar5,&local_res20); FUN_181246550(param_2,&DAT_18249688c,uVar4,param_4,uVar7); puVar6 = (uint *)(local_res20 + -2); if ((*puVar6 & 0x30000000) != 0) { return param_2; } LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); } else { uVar4 = (**(code **)(*plVar5 + 0x20))(plVar5,&local_res18); plVar5 = (longlong *)FUN_181246550(local_res8,&DAT_182496894,uVar4,param_4,uVar7); local_res20 = plVar5; FUN_181232e20(plVar5,&DAT_182496890,&DAT_182496891); lVar2 = *plVar5; *param_2 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } puVar6 = (uint *)(*plVar5 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_res18 + -0x10); if ((*puVar6 & 0x30000000) != 0) { return param_2; } LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); } if (uVar1 != 0) { return param_2; } /* WARNING: Subroutine does not return */ free(puVar6); } ############ FUN_ 180494d30 size=73 ############ void FUN_180494d30(undefined8 *param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(param_1[3] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = std::exception::vftable; /* WARNING: Could not recover jumptable at 0x000180494d72. Too many branches */ /* WARNING: Treating indirect jump as call */ __std_exception_destroy(param_1 + 1); return; } ############ FUN_ 180494df0 size=106 ############ undefined8 * FUN_180494df0(undefined8 *param_1,ulonglong param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(param_1[3] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180494e60 size=43 ############ undefined8 * FUN_180494e60(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::SingleThreadedReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180494e90 size=108 ############ undefined8 * FUN_180494e90(undefined8 *param_1,uint param_2) { int *piVar1; undefined8 *puVar2; puVar2 = (undefined8 *)param_1[3]; if (puVar2 != (undefined8 *)0x0) { piVar1 = (int *)(puVar2 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar2)(puVar2,1); } } puVar2 = (undefined8 *)param_1[2]; if (puVar2 != (undefined8 *)0x0) { piVar1 = (int *)(puVar2 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar2)(puVar2,1); } } *param_1 = juce::SingleThreadedReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180494f00 size=83 ############ undefined8 * FUN_180494f00(undefined8 *param_1,uint param_2) { int *piVar1; undefined8 *puVar2; puVar2 = (undefined8 *)param_1[2]; if (puVar2 != (undefined8 *)0x0) { piVar1 = (int *)(puVar2 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar2)(puVar2,1); } } *param_1 = juce::SingleThreadedReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180494f60 size=43 ############ undefined8 * FUN_180494f60(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::Expression::Scope::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180494fe0 size=52 ############ void * FUN_180494fe0(void *param_1,ulonglong param_2) { FUN_1812365d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180495020 size=96 ############ undefined8 * FUN_180495020(undefined8 *param_1,uint param_2) { uint uVar1; uint *_Memory; *param_1 = juce::FileInputSource::vftable; _Memory = (uint *)(param_1[1] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804950d0 size=52 ############ void * FUN_1804950d0(void *param_1,ulonglong param_2) { FUN_18124a420(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180495110 size=52 ############ void * FUN_180495110(void *param_1,ulonglong param_2) { FUN_181234a80(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180495240 size=53 ############ basic_streambuf_> * FUN_180495240(basic_streambuf_> *param_1,uint param_2) { std::basic_streambuf_>::~basic_streambuf_> (param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180495330 size=96 ############ undefined8 * FUN_180495330(undefined8 *param_1,uint param_2) { uint uVar1; uint *_Memory; *param_1 = juce::OutputStream::vftable; _Memory = (uint *)(param_1[1] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804953c0 size=52 ############ void * FUN_1804953c0(void *param_1,ulonglong param_2) { FUN_18122b690(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180495400 size=89 ############ undefined8 * FUN_180495400(undefined8 *param_1,uint param_2) { if ((void *)param_1[2] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[2]); } *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804954c0 size=52 ############ void * FUN_1804954c0(void *param_1,ulonglong param_2) { FUN_18122b690(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180495500 size=52 ############ void * FUN_180495500(void *param_1,ulonglong param_2) { FUN_18122acf0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180495540 size=52 ############ void * FUN_180495540(void *param_1,ulonglong param_2) { FUN_181229bb0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180495760 size=43 ############ undefined8 * FUN_180495760(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::var::VariantType::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18122eaa0 size=417 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_18122eaa0(undefined8 param_1,double param_2) { uint *_Memory; undefined8 in_RDX; char cVar1; uint uVar2; uint uVar3; longlong local_res18; longlong local_res20; uVar2 = SUB84(param_2,0) & (uint)DAT_1824c4f10; uVar3 = (uint)((ulonglong)param_2 >> 0x20) & DAT_1824c4f10._4_4_; if ((_DAT_1824c43f0 <= (double)CONCAT44(uVar3,uVar2)) || ((double)CONCAT44(uVar3,uVar2) <= DAT_1824c3d78)) { FUN_1812339a0(&local_res20,in_RDX,0xf,1,0xfffffffffffffffe); FUN_18122ec50(param_1,&local_res20); _Memory = (uint *)(local_res20 + -0x10); uVar2 = *_Memory; } else { if ((double)(int)param_2 == param_2) { FUN_1812339a0((double)(int)param_2,in_RDX,1,0,0xfffffffffffffffe); return param_1; } if (DAT_1824c4140 < (double)CONCAT44(uVar3,uVar2) || DAT_1824c4140 == (double)CONCAT44(uVar3,uVar2)) { if (DAT_1824c4340 < (double)CONCAT44(uVar3,uVar2) || DAT_1824c4340 == (double)CONCAT44(uVar3,uVar2)) { if (DAT_1824c4390 < (double)CONCAT44(uVar3,uVar2) || DAT_1824c4390 == (double)CONCAT44(uVar3,uVar2)) { cVar1 = ((double)CONCAT44(uVar3,uVar2) <= DAT_1824c43d0 && DAT_1824c43d0 != (double)CONCAT44(uVar3,uVar2)) + '\n'; } else { cVar1 = '\f'; } } else if (DAT_1824c4270 < (double)CONCAT44(uVar3,uVar2) || DAT_1824c4270 == (double)CONCAT44(uVar3,uVar2)) { cVar1 = ((double)CONCAT44(uVar3,uVar2) <= DAT_1824c42f0 && DAT_1824c42f0 != (double)CONCAT44(uVar3,uVar2)) + '\r'; } else { cVar1 = '\x0f'; } } else if ((double)CONCAT44(uVar3,uVar2) < DAT_1824c3e30) { cVar1 = ((double)CONCAT44(uVar3,uVar2) < _DAT_1824c3dc0) + '\x13'; } else if ((double)CONCAT44(uVar3,uVar2) < DAT_1824c3f68) { cVar1 = ((double)CONCAT44(uVar3,uVar2) < DAT_1824c3eb8) + '\x11'; } else { cVar1 = '\x10'; } FUN_1812339a0(&local_res18,in_RDX,cVar1,0,0xfffffffffffffffe); FUN_18122ec50(param_1,&local_res18); _Memory = (uint *)(local_res18 + -0x10); uVar2 = *_Memory; } if ((uVar2 & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 18122ec50 size=2230 ############ undefined8 * FUN_18122ec50(undefined8 *param_1,undefined8 *param_2) { byte bVar1; byte *pbVar2; byte bVar3; uint uVar4; undefined4 *puVar5; undefined8 uVar6; undefined4 *puVar7; byte bVar8; int iVar9; uint uVar10; uint uVar11; uint *puVar12; byte *pbVar13; ulonglong uVar14; byte *pbVar15; byte *pbVar16; byte *pbVar17; uint uVar18; longlong lVar19; int iVar20; size_t sVar21; byte *_Src; byte *_Src_00; byte *local_res10; byte *local_res18; undefined4 *local_res20; undefined4 *local_a8; undefined4 *local_a0; undefined4 *local_98; byte *local_90; byte *local_88; undefined1 local_80 [8]; undefined1 local_78 [8]; undefined1 local_70 [8]; undefined1 local_68 [8]; undefined1 local_60 [8]; undefined8 local_58; byte *local_50; local_58 = 0xfffffffffffffffe; pbVar2 = (byte *)*param_2; iVar9 = 0; pbVar13 = pbVar2; while( true ) { while( true ) { bVar1 = *pbVar13; pbVar13 = pbVar13 + 1; if (-1 < (char)bVar1) break; if ((*pbVar13 & 0xc0) != 0x80) goto LAB_18122ecb8; do { pbVar13 = pbVar13 + 1; } while ((*pbVar13 & 0xc0) == 0x80); iVar9 = iVar9 + 1; } if (bVar1 == 0) break; LAB_18122ecb8: iVar9 = iVar9 + 1; } pbVar13 = pbVar2; if (iVar9 < 0) { if (iVar9 + 1 < 1) { uVar14 = (ulonglong)(1 - (iVar9 + 1)); do { iVar9 = 0; do { pbVar13 = pbVar13 + -1; if ((*pbVar13 & 0xc0) != 0x80) break; iVar9 = iVar9 + 1; } while (iVar9 < 4); uVar14 = uVar14 - 1; } while (uVar14 != 0); } } else { while (iVar9 = iVar9 + -1, -1 < iVar9) { bVar1 = *pbVar13; pbVar13 = pbVar13 + 1; if ((char)bVar1 < '\0') { bVar8 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar8))) { pbVar13 = pbVar13 + 1; bVar8 = bVar8 >> 1; bVar3 = bVar1 & bVar8; } } } } uVar18 = 0; iVar9 = 0; pbVar15 = pbVar13; do { pbVar15 = pbVar15 + -1; pbVar16 = pbVar13; pbVar17 = pbVar13; _Src = pbVar13; _Src_00 = pbVar13; local_res10 = pbVar13; if ((*pbVar15 & 0xc0) != 0x80) break; iVar9 = iVar9 + 1; } while (iVar9 < 4); joined_r0x00018122ed6b: if (pbVar15 <= pbVar2) goto LAB_18122f1ed; uVar14 = 0x7f; uVar10 = 0x7f; uVar4 = 0x40; bVar1 = *pbVar15; uVar18 = (uint)bVar1; if ((char)bVar1 < '\0') { iVar9 = 0; if ((bVar1 & 0x40) != 0) { do { uVar10 = (uint)uVar14; if (uVar4 < 9) break; uVar14 = uVar14 >> 1; uVar10 = (uint)uVar14; iVar9 = iVar9 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar18 = bVar1 & uVar10; lVar19 = 1; if (0 < (longlong)iVar9) { do { if ((pbVar15[lVar19] & 0xc0) != 0x80) break; uVar18 = pbVar15[lVar19] & 0x3f | uVar18 << 6; lVar19 = lVar19 + 1; } while (lVar19 <= iVar9); } } uVar14 = 0x7f; uVar10 = 0x40; uVar4 = 0x7f; if (uVar18 == 0x30) { local_90 = pbVar15 + 1; if ((char)bVar1 < '\0') { bVar8 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar8))) { local_90 = local_90 + 1; bVar8 = bVar8 >> 1; bVar3 = bVar1 & bVar8; } } if (local_90 == pbVar17) { iVar9 = 0; do { pbVar17 = pbVar17 + -1; if ((*pbVar17 & 0xc0) != 0x80) break; iVar9 = iVar9 + 1; } while (iVar9 < 4); } } else { if (uVar18 == 0x2e) { bVar1 = *pbVar15; local_88 = pbVar15 + 1; if ((char)bVar1 < '\0') { bVar8 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar8))) { local_88 = local_88 + 1; bVar8 = bVar8 >> 1; bVar3 = bVar1 & bVar8; } } if ((pbVar17 == local_88) && (pbVar17 != pbVar13)) { bVar1 = *pbVar17; uVar11 = (uint)bVar1; if ((char)bVar1 < '\0') { iVar9 = 0; if ((bVar1 & 0x40) != 0) { do { uVar4 = (uint)uVar14; if (uVar10 < 9) break; uVar14 = uVar14 >> 1; uVar4 = (uint)uVar14; iVar9 = iVar9 + 1; uVar10 = uVar10 >> 1; } while ((bVar1 & uVar10) != 0); } uVar11 = bVar1 & uVar4; lVar19 = 1; if (0 < (longlong)iVar9) { do { if ((pbVar17[lVar19] & 0xc0) != 0x80) break; uVar11 = pbVar17[lVar19] & 0x3f | uVar11 << 6; lVar19 = lVar19 + 1; } while (lVar19 <= iVar9); } } if ((uVar11 == 0x30) && (pbVar17 = pbVar17 + 1, (char)bVar1 < '\0')) { bVar8 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar8))) { pbVar17 = pbVar17 + 1; bVar8 = bVar8 >> 1; bVar3 = bVar1 & bVar8; } } } LAB_18122f1ed: if (((pbVar17 == _Src) || (uVar18 != 0x2e)) && (pbVar16 == _Src_00)) { *param_1 = pbVar2; if ((*(uint *)(pbVar2 + -0x10) & 0x30000000) != 0) { return param_1; } LOCK(); *(int *)(pbVar2 + -0x10) = *(int *)(pbVar2 + -0x10) + 1; UNLOCK(); return param_1; } local_res18 = pbVar2; if (pbVar17 == _Src) { if ((_Src_00 == (byte *)0x0) || (*_Src_00 == 0)) { puVar5 = (undefined4 *)&DAT_1821dbf98; } else { sVar21 = (longlong)pbVar13 - (longlong)_Src_00; puVar5 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar5 = 0; UNLOCK(); *(size_t *)(puVar5 + 2) = sVar21 + 4 & 0xfffffffffffffffc; puVar5 = puVar5 + 4; memcpy(puVar5,_Src_00,sVar21); *(undefined1 *)((longlong)puVar5 + sVar21) = 0; } local_res20 = puVar5; uVar6 = FUN_18124a8a0(local_80,pbVar2,local_res10); FUN_181232aa0(param_1,uVar6,&local_res20); } else if (pbVar16 == _Src_00) { if ((_Src == (byte *)0x0) || (*_Src == 0)) { puVar5 = (undefined4 *)&DAT_1821dbf98; } else { sVar21 = (longlong)pbVar13 - (longlong)_Src; puVar5 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar5 = 0; UNLOCK(); *(size_t *)(puVar5 + 2) = sVar21 + 4 & 0xfffffffffffffffc; puVar5 = puVar5 + 4; memcpy(puVar5,_Src,sVar21); *(undefined1 *)((longlong)puVar5 + sVar21) = 0; } local_a8 = puVar5; uVar6 = FUN_18124a8a0(local_78,pbVar2,pbVar17); FUN_181232aa0(param_1,uVar6,&local_a8); } else { if (_Src != pbVar16) { puVar5 = (undefined4 *)&DAT_1821dbf98; if ((_Src_00 == (byte *)0x0) || (*_Src_00 == 0)) { local_res18 = &DAT_1821dbf98; } else { sVar21 = (longlong)pbVar13 - (longlong)_Src_00; puVar7 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar7 = 0; UNLOCK(); *(size_t *)(puVar7 + 2) = sVar21 + 4 & 0xfffffffffffffffc; pbVar13 = (byte *)(puVar7 + 4); memcpy(pbVar13,_Src_00,sVar21); pbVar13[sVar21] = 0; pbVar16 = local_res10; local_res18 = pbVar13; } if ((_Src != (byte *)0x0) && (*_Src != 0)) { sVar21 = (longlong)pbVar16 - (longlong)_Src; puVar5 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar5 = 0; UNLOCK(); *(size_t *)(puVar5 + 2) = sVar21 + 4 & 0xfffffffffffffffc; puVar5 = puVar5 + 4; memcpy(puVar5,_Src,sVar21); *(undefined1 *)((longlong)puVar5 + sVar21) = 0; } local_98 = puVar5; uVar6 = FUN_18124a8a0(local_68,pbVar2,pbVar17); uVar6 = FUN_181232aa0(local_60,uVar6,&local_98); FUN_181232aa0(param_1,uVar6,&local_res18); puVar12 = puVar5 + -4; if ((*puVar12 & 0x30000000) == 0) { LOCK(); uVar18 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); if (uVar18 == 0) { /* WARNING: Subroutine does not return */ free(puVar12); } } puVar12 = (uint *)(local_res18 + -0x10); if ((*puVar12 & 0x30000000) != 0) { return param_1; } LOCK(); uVar18 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); goto LAB_18122f2a5; } if ((_Src_00 == (byte *)0x0) || (*_Src_00 == 0)) { puVar5 = (undefined4 *)&DAT_1821dbf98; } else { sVar21 = (longlong)pbVar13 - (longlong)_Src_00; puVar5 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar5 = 0; UNLOCK(); *(size_t *)(puVar5 + 2) = sVar21 + 4 & 0xfffffffffffffffc; puVar5 = puVar5 + 4; memcpy(puVar5,_Src_00,sVar21); *(undefined1 *)((longlong)puVar5 + sVar21) = 0; } local_a0 = puVar5; uVar6 = FUN_18124a8a0(local_70,pbVar2,pbVar17); FUN_181232aa0(param_1,uVar6,&local_a0); } puVar12 = puVar5 + -4; if ((*puVar12 & 0x30000000) != 0) { return param_1; } LOCK(); uVar18 = *puVar12; *puVar12 = *puVar12 - 1; UNLOCK(); LAB_18122f2a5: if (uVar18 != 0) { return param_1; } /* WARNING: Subroutine does not return */ free(puVar12); } if ((uVar18 - 0x45 & 0xffffffdf) == 0) { pbVar17 = pbVar15 + 1; if ((char)bVar1 < '\0') { bVar8 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar8))) { pbVar17 = pbVar17 + 1; bVar8 = bVar8 >> 1; bVar3 = bVar1 & bVar8; } } if (pbVar17 != pbVar13) { bVar1 = *pbVar17; uVar10 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar10 = 0x40; iVar9 = 0; if ((bVar1 & 0x40) != 0) { do { uVar4 = (uint)uVar14; if (uVar10 < 9) break; uVar14 = uVar14 >> 1; uVar4 = (uint)uVar14; iVar9 = iVar9 + 1; uVar10 = uVar10 >> 1; } while ((bVar1 & uVar10) != 0); } uVar10 = bVar1 & uVar4; lVar19 = 1; if (0 < (longlong)iVar9) { do { if ((pbVar17[lVar19] & 0xc0) != 0x80) break; uVar10 = pbVar17[lVar19] & 0x3f | uVar10 << 6; lVar19 = lVar19 + 1; } while (lVar19 <= iVar9); } } if ((uVar10 == 0x2d) && (pbVar17 = pbVar17 + 1, (char)bVar1 < '\0')) { bVar8 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar8))) { pbVar17 = pbVar17 + 1; bVar8 = bVar8 >> 1; bVar3 = bVar1 & bVar8; } } pbVar16 = pbVar17; _Src_00 = pbVar17; local_res10 = pbVar17; if (pbVar17 != pbVar13) { bVar1 = *pbVar17; uVar4 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar10 = 0x40; uVar14 = 0x7f; uVar4 = 0x7f; iVar9 = 0; if ((bVar1 & 0x40) != 0) { do { uVar4 = (uint)uVar14; if (uVar10 < 9) break; uVar14 = uVar14 >> 1; uVar4 = (uint)uVar14; iVar9 = iVar9 + 1; uVar10 = uVar10 >> 1; } while ((bVar1 & uVar10) != 0); } uVar4 = bVar1 & uVar4; lVar19 = 1; if (0 < (longlong)iVar9) { do { if ((pbVar17[lVar19] & 0xc0) != 0x80) break; uVar4 = pbVar17[lVar19] & 0x3f | uVar4 << 6; lVar19 = lVar19 + 1; } while (lVar19 <= iVar9); } } if ((uVar4 == 0x2b) && (pbVar17 = pbVar17 + 1, _Src_00 = pbVar17, (char)bVar1 < '\0')) { bVar8 = 0x40; bVar3 = bVar1 & 0x40; while ((_Src_00 = pbVar17, bVar3 != 0 && (8 < bVar8))) { pbVar17 = pbVar17 + 1; bVar8 = bVar8 >> 1; bVar3 = bVar1 & bVar8; } } } } if (pbVar17 != pbVar13) { do { local_50 = pbVar17; bVar1 = *local_50; pbVar17 = local_50 + 1; if ((char)bVar1 < '\0') { bVar8 = 0x40; bVar3 = bVar1 & 0x40; while ((bVar3 != 0 && (8 < bVar8))) { pbVar17 = pbVar17 + 1; bVar8 = bVar8 >> 1; bVar3 = bVar1 & bVar8; } } bVar1 = *local_50; uVar4 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x7f; uVar10 = 0x40; iVar20 = 0; iVar9 = 0; if ((bVar1 & 0x40) != 0) { do { iVar20 = iVar9; if (uVar10 < 9) break; uVar4 = uVar4 >> 1; iVar20 = iVar20 + 1; uVar10 = uVar10 >> 1; iVar9 = iVar20; } while ((bVar1 & uVar10) != 0); } uVar4 = bVar1 & uVar4; if (0 < iVar20) { lVar19 = 1; do { if ((local_50[lVar19] & 0xc0) != 0x80) break; uVar4 = local_50[lVar19] & 0x3f | uVar4 << 6; lVar19 = lVar19 + 1; } while (lVar19 <= iVar20); } } pbVar16 = local_res10; } while ((uVar4 == 0x30) && (_Src_00 = pbVar17, pbVar17 != pbVar13)); } pbVar17 = pbVar15; _Src = pbVar15; local_res10 = pbVar16; if (_Src_00 == pbVar13) { pbVar16 = pbVar15; local_res10 = pbVar15; } } } iVar9 = 0; do { pbVar15 = pbVar15 + -1; if ((*pbVar15 & 0xc0) != 0x80) break; iVar9 = iVar9 + 1; } while (iVar9 < 4); goto joined_r0x00018122ed6b; } ############ FUN_ 180495f30 size=240 ############ undefined8 FUN_180495f30(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; bool bVar2; bool bVar3; int iVar4; undefined8 *puVar5; uint *puVar6; undefined4 local_res10; undefined4 uStackX_14; longlong local_res18; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; bVar3 = false; bVar2 = false; local_res10 = 0; iVar4 = atoi((char *)*param_2); if (iVar4 == 0) { bVar3 = true; bVar2 = false; puVar5 = (undefined8 *)FUN_181248e40(param_2,&local_res18,param_3,param_4,uVar7); iVar4 = FUN_18049bb30(*puVar5,&DAT_182496868); if (iVar4 != 0) { bVar3 = true; bVar2 = true; puVar5 = (undefined8 *)FUN_181248e40(param_2,&local_res10,param_3,param_4,uVar7); iVar4 = FUN_18049bb30(*puVar5,&DAT_1824968cc); if (iVar4 != 0) { uVar7 = 0; goto LAB_180495fb2; } } } uVar7 = 1; LAB_180495fb2: if (bVar2) { puVar6 = (uint *)(CONCAT44(uStackX_14,local_res10) + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } if ((bVar3) && (puVar6 = (uint *)(local_res18 + -0x10), (*puVar6 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } return uVar7; } ############ FUN_ 1804961b0 size=256 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804961b0(undefined8 param_1,undefined4 *param_2,uint *param_3) { uint *_Memory; char cVar1; uint uVar2; undefined4 *puVar3; uint uVar4; ulonglong uVar5; char *_Src; undefined1 auStack_78 [32]; undefined4 *local_58; undefined8 local_50; char local_2a [2]; undefined8 local_28; char cStack_19; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; _Src = local_2a + 1; local_2a[1] = 0; uVar4 = *param_3; do { _Src = _Src + -1; cVar1 = "0123456789abcdef"[uVar4 & 0xf]; *_Src = cVar1; uVar2 = uVar4 >> 4; uVar4 = uVar4 >> 4; } while (uVar2 != 0); if (cVar1 == '\0') { puVar3 = (undefined4 *)&DAT_1821dbf98; } else { uVar5 = (longlong)&local_28 + -(longlong)_Src + 3 & 0xfffffffffffffffc; local_58 = param_2; puVar3 = (undefined4 *)thunk_FUN_1811316e0(uVar5 + 0x17); LOCK(); *puVar3 = 0; UNLOCK(); *(ulonglong *)(puVar3 + 2) = uVar5; puVar3 = puVar3 + 4; memcpy(puVar3,_Src,(size_t)(local_2a + -(longlong)_Src + 1)); *(char *)((longlong)puVar3 + (longlong)(local_2a + -(longlong)_Src + 1)) = '\0'; } local_58 = puVar3; FUN_181246550(param_2,"Object 0x",&local_58); _Memory = puVar3 + -4; if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar4 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 180496970 size=66 ############ undefined8 * FUN_180496970(undefined8 *param_1,ulonglong param_2) { FUN_180487600(param_1 + 2); *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180497ea0 size=707 ############ void FUN_180497ea0(longlong *param_1,undefined8 *param_2,undefined4 param_3,undefined1 param_4, undefined4 param_5) { code *pcVar1; char cVar2; int iVar3; uint uVar4; longlong lVar5; undefined8 uVar6; longlong *plVar7; uint *puVar8; char *pcVar9; double _X; undefined1 local_res10 [8]; undefined1 local_48 [8]; longlong local_40; longlong local_38; longlong local_30 [5]; local_30[1] = 0xfffffffffffffffe; cVar2 = (**(code **)(*(longlong *)*param_2 + 0x80))(); if (cVar2 != '\0') { pcVar1 = *(code **)(*param_1 + 0x28); if (pcVar1 == FUN_18122e9b0) { local_res10[0] = 0x22; (**(code **)(*param_1 + 0x20))(param_1,local_res10,1); } else { (*pcVar1)(param_1,0x22); } (**(code **)(*(longlong *)*param_2 + 0x20))((longlong *)*param_2,&local_40,param_2 + 1); FUN_180498170(param_1,local_40); puVar8 = (uint *)(local_40 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } pcVar1 = *(code **)(*param_1 + 0x28); if (pcVar1 == FUN_18122e9b0) { local_48[0] = 0x22; (**(code **)(*param_1 + 0x20))(param_1,local_48,1); return; } (*pcVar1)(param_1,0x22); return; } cVar2 = (**(code **)(*(longlong *)*param_2 + 0x50))(); if (cVar2 == '\0') { cVar2 = (**(code **)(*(longlong *)*param_2 + 0x58))(); if (cVar2 != '\0') { (**(code **)(*param_1 + 0x20))(param_1,"undefined",9); return; } cVar2 = (**(code **)(*(longlong *)*param_2 + 0x70))(); lVar5 = *(longlong *)*param_2; if (cVar2 != '\0') { cVar2 = (**(code **)(lVar5 + 0x28))((longlong *)*param_2,param_2 + 1); pcVar9 = "false"; if (cVar2 != '\0') { pcVar9 = "true"; } lVar5 = -1; do { lVar5 = lVar5 + 1; } while (pcVar9[lVar5] != '\0'); (**(code **)(*param_1 + 0x20))(param_1,pcVar9,lVar5); return; } cVar2 = (**(code **)(lVar5 + 0x78))(); lVar5 = *(longlong *)*param_2; if (cVar2 == '\0') { cVar2 = (**(code **)(lVar5 + 0x90))(); lVar5 = *(longlong *)*param_2; if (cVar2 != '\0') { uVar6 = (**(code **)(lVar5 + 0x38))((longlong *)*param_2,param_2 + 1); FUN_180498740(param_1,uVar6,param_3,param_4,param_5); return; } cVar2 = (**(code **)(lVar5 + 0x88))(); if (cVar2 != '\0') { plVar7 = (longlong *)FUN_1812279c0(param_2); if (plVar7 == (longlong *)0x0) { return; } (**(code **)(*plVar7 + 0x40))(plVar7,param_1,param_3,param_4,param_5); return; } (**(code **)(*(longlong *)*param_2 + 0x20))((longlong *)*param_2,&local_38,param_2 + 1); FUN_181232980(param_1,&local_38); puVar8 = (uint *)(local_38 + -0x10); uVar4 = *puVar8; } else { _X = (double)(**(code **)(lVar5 + 0x18))((longlong *)*param_2,param_2 + 1); iVar3 = _finite(_X); if (iVar3 == 0) goto LAB_180498063; uVar6 = FUN_18122eaa0(local_30,SUB84(_X,0)); FUN_181232980(param_1,uVar6); puVar8 = (uint *)(local_30[0] + -0x10); uVar4 = *puVar8; } if ((uVar4 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } else { LAB_180498063: (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a74,4); } return; } ############ FUN_ 180498170 size=1303 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180498170(longlong *param_1,byte *param_2) { byte bVar1; char cVar2; code *pcVar3; undefined8 uVar4; uint uVar5; ulonglong uVar6; undefined4 *puVar7; undefined8 *puVar8; undefined8 uVar9; uint uVar10; uint *puVar11; int iVar12; char *pcVar13; longlong lVar14; undefined1 auStack_e8 [32]; undefined1 local_c8 [8]; ushort local_c0 [4]; undefined4 *local_b8; undefined4 *local_b0; byte *local_a8; longlong local_a0; longlong local_98 [3]; undefined8 local_80; char local_5a [5]; undefined1 auStack_55 [12]; char acStack_49 [15]; char local_3a [2]; undefined8 local_38; char cStack_29; local_98[1] = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_e8; do { bVar1 = *param_2; local_a8 = param_2 + 1; uVar10 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar10 = 0x7f; uVar5 = 0x40; iVar12 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar5 < 9) break; uVar10 = uVar10 >> 1; iVar12 = iVar12 + 1; uVar5 = uVar5 >> 1; } while ((bVar1 & uVar5) != 0); } uVar10 = bVar1 & uVar10; for (; (iVar12 = iVar12 + -1, -1 < iVar12 && ((*local_a8 & 0xc0) == 0x80)); local_a8 = local_a8 + 1) { uVar10 = *local_a8 & 0x3f | uVar10 << 6; } } param_2 = local_a8; switch(uVar10) { case 0: default: if (uVar10 - 0x20 < 0x5f) { pcVar3 = *(code **)(*param_1 + 0x28); if (pcVar3 == FUN_18122e9b0) { local_c8[0] = (undefined1)uVar10; (**(code **)(*param_1 + 0x20))(param_1,local_c8,1); } else { (*pcVar3)(param_1); } } else { uVar6 = 2; if (0xffff < uVar10) { uVar6 = 4; } if (uVar6 < 3) { uVar10 = uVar10 & 0xffff; pcVar13 = local_3a + 1; local_3a[1] = 0; do { pcVar13 = pcVar13 + -1; cVar2 = "0123456789abcdef"[uVar10 & 0xf]; *pcVar13 = cVar2; uVar10 = uVar10 >> 4; } while (uVar10 != 0); if (cVar2 == '\0') { local_b0 = (undefined4 *)&DAT_1821dbf98; } else { puVar7 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar7 = 0; UNLOCK(); *(ulonglong *)(puVar7 + 2) = (longlong)&local_38 + -(longlong)pcVar13 + 3 & 0xfffffffffffffffc; puVar7 = puVar7 + 4; memcpy(puVar7,pcVar13,(size_t)(local_3a + -(longlong)pcVar13 + 1)); *(char *)((longlong)puVar7 + (longlong)(local_3a + -(longlong)pcVar13 + 1)) = '\0'; local_b0 = puVar7; } puVar8 = (undefined8 *)FUN_181231e80(&local_b0,local_98,4,4); (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a7c,2); uVar4 = *puVar8; local_80 = uVar4; uVar9 = FUN_18049d240(uVar4); (**(code **)(*param_1 + 0x20))(param_1,uVar4,uVar9); puVar11 = (uint *)(local_98[0] + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = local_b0 + -4; if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } } else { if (uVar10 < 0x10000) { local_c0[0] = (ushort)uVar10; } else { local_c0[0] = (short)(uVar10 - 0x10000 >> 10) + 0xd800; local_c0[1] = ((ushort)(uVar10 - 0x10000) & 0x3ff) + 0xdc00; } lVar14 = 0; do { pcVar13 = local_5a + 1; local_5a[1] = 0; uVar10 = (uint)local_c0[lVar14]; do { pcVar13 = pcVar13 + -1; cVar2 = "0123456789abcdef"[uVar10 & 0xf]; *pcVar13 = cVar2; uVar5 = uVar10 >> 4; uVar10 = uVar10 >> 4; } while (uVar5 != 0); if (cVar2 == '\0') { local_b8 = (undefined4 *)&DAT_1821dbf98; } else { puVar7 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar7 = 0; UNLOCK(); *(ulonglong *)(puVar7 + 2) = (ulonglong)(auStack_55 + -(longlong)pcVar13) & 0xfffffffffffffffc; puVar7 = puVar7 + 4; memcpy(puVar7,pcVar13,(size_t)(local_5a + -(longlong)pcVar13 + 1)); *(char *)((longlong)puVar7 + (longlong)(local_5a + -(longlong)pcVar13 + 1)) = '\0'; local_b8 = puVar7; } puVar8 = (undefined8 *)FUN_181231e80(&local_b8,&local_a0,4,4); (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a7c,2); uVar4 = *puVar8; local_98[2] = uVar4; uVar9 = FUN_18049d240(uVar4); (**(code **)(*param_1 + 0x20))(param_1,uVar4,uVar9); puVar11 = (uint *)(local_a0 + -0x10); if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } puVar11 = local_b8 + -4; if ((*puVar11 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar11; *puVar11 = *puVar11 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar11); } } lVar14 = lVar14 + 1; param_2 = local_a8; } while (lVar14 < 2); } } break; case 7: (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a88,2); break; case 8: (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a8c,2); break; case 9: (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a94,2); break; case 10: (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a9c,2); break; case 0xc: (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a90,2); break; case 0xd: (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a98,2); break; case 0x22: (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a80,2); break; case 0x5c: (**(code **)(*param_1 + 0x20))(param_1,&DAT_182496a84,2); } } while( true ); } ############ FUN_ 181231e80 size=305 ############ undefined8 * FUN_181231e80(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,uint param_4) { char *pcVar1; byte bVar2; char cVar3; byte *pbVar4; char *pcVar5; byte bVar6; uint uVar7; byte bVar8; undefined4 *puVar9; char *pcVar10; char *pcVar11; ulonglong uVar12; byte *pbVar13; bool bVar14; pbVar4 = (byte *)*param_1; bVar2 = *pbVar4; pbVar13 = pbVar4; while (bVar2 != 0) { param_4 = param_4 - 1; pbVar13 = pbVar13 + 1; if ((char)bVar2 < '\0') { bVar8 = 0x40; bVar6 = bVar2 & 0x40; while ((bVar6 != 0 && (8 < bVar8))) { pbVar13 = pbVar13 + 1; bVar8 = bVar8 >> 1; bVar6 = bVar2 & bVar8; } } bVar2 = *pbVar13; } if ((int)param_4 < 1) { uVar7 = *(uint *)(pbVar4 + -0x10); *param_2 = pbVar4; if ((uVar7 & 0x30000000) == 0) { LOCK(); *(int *)(pbVar4 + -0x10) = *(int *)(pbVar4 + -0x10) + 1; UNLOCK(); } } else { puVar9 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar9 = 0; UNLOCK(); pcVar1 = (char *)(puVar9 + 4); *(ulonglong *)(puVar9 + 2) = (ulonglong)(pbVar13 + (((longlong)(int)param_4 + 4) - (longlong)pbVar4)) & 0xfffffffffffffffc; pcVar10 = pcVar1; if (-1 < (int)(param_4 - 1)) { for (uVar12 = (ulonglong)param_4; uVar12 != 0; uVar12 = uVar12 - 1) { *pcVar10 = '0'; pcVar10 = pcVar10 + 1; } pcVar10 = pcVar1 + param_4; } pcVar5 = (char *)*param_1; cVar3 = *pcVar5; *pcVar10 = cVar3; if (cVar3 != '\0') { pcVar11 = pcVar10; do { cVar3 = pcVar11[(longlong)(pcVar5 + (1 - (longlong)pcVar10))]; pcVar11 = pcVar11 + 1; *pcVar11 = cVar3; } while (cVar3 != '\0'); } uVar7 = DAT_1821dbf88; *param_2 = pcVar1; if ((uVar7 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar14 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar14) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } return param_2; } ############ FUN_ 180498a10 size=99 ############ void FUN_180498a10(void *param_1) { uint uVar1; uint *puVar2; puVar2 = (uint *)(*(longlong *)((longlong)param_1 + 0x10) + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(*(longlong *)((longlong)param_1 + 8) + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 180498b20 size=52 ############ void * FUN_180498b20(void *param_1,ulonglong param_2) { FUN_1812195f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180498b60 size=52 ############ void * FUN_180498b60(void *param_1,ulonglong param_2) { FUN_181218f80(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180498ba0 size=96 ############ undefined8 * FUN_180498ba0(undefined8 *param_1,uint param_2) { uint uVar1; uint *_Memory; *param_1 = juce::FileFilter::vftable; _Memory = (uint *)(param_1[1] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180498c00 size=52 ############ void * FUN_180498c00(void *param_1,ulonglong param_2) { FUN_1812186b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181214170 size=235 ############ undefined8 * FUN_181214170(undefined8 param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; int iVar2; undefined8 *puVar3; uint *_Memory; ulonglong uVar4; longlong local_res8; undefined8 *local_res10; undefined8 local_res20; undefined4 uVar5; local_res10 = param_2; FUN_18049a120(param_2,param_1,param_3,param_4,0,0xfffffffffffffffe); uVar5 = 1; uVar1 = FUN_181214d80(param_1); uVar4 = (ulonglong)uVar1; iVar2 = FUN_180493050(param_1,uVar1); while (iVar2 == 0x2f) { uVar4 = (ulonglong)((int)uVar4 + 1); iVar2 = FUN_180493050(param_1,uVar4); } iVar2 = FUN_181232860(param_1,uVar4 & 0xffffffff,0x2f); if (0 < iVar2 + 1) { puVar3 = (undefined8 *)FUN_1812490c0(param_1,&local_res8,0,iVar2 + 1,uVar5); local_res20 = *param_2; *param_2 = *puVar3; *puVar3 = local_res20; _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } FUN_181214b70(param_2,param_3); return param_2; } ############ FUN_ 181214a30 size=167 ############ longlong * FUN_181214a30(longlong *param_1,longlong *param_2,char param_3) { uint uVar1; longlong lVar2; undefined8 uVar3; uint *_Memory; longlong local_res20; longlong local_18 [2]; local_18[1] = 0xfffffffffffffffe; if (param_3 == '\0') { lVar2 = *param_1; *param_2 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } } else { uVar3 = FUN_1812147b0(param_1,local_18); local_res20 = *param_1; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } FUN_181232aa0(param_2,&local_res20,uVar3); _Memory = (uint *)(local_18[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return param_2; } ############ FUN_ 181214eb0 size=637 ############ longlong * FUN_181214eb0(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 uVar5; int iVar6; uint *puVar7; longlong lVar8; void *pvVar9; int iVar10; size_t sVar11; char local_res10 [8]; char local_res18 [8]; char *local_res20; undefined4 uVar12; longlong local_60; longlong local_58 [3]; local_58[1] = 0xfffffffffffffffe; iVar10 = 0; *param_1 = (longlong)&DAT_1821dbf98; uVar12 = 1; if (0 < *(int *)(param_2 + 0x24)) { do { if (0 < iVar10) { local_res10[0] = '&'; local_res10[1] = '\0'; lVar8 = -1; do { lVar3 = lVar8 + 1; lVar2 = lVar8 + 1; lVar8 = lVar3; } while (local_res10[lVar2] != '\0'); iVar6 = ((int)local_res10 + (int)lVar3) - (int)local_res10; if (0 < iVar6) { lVar8 = -1; do { lVar8 = lVar8 + 1; } while (*(char *)(*param_1 + lVar8) != '\0'); sVar11 = (size_t)iVar6; FUN_1812342b0(param_1,sVar11 + lVar8); pvVar9 = (void *)((longlong)(int)lVar8 + *param_1); memcpy(pvVar9,local_res10,sVar11); *(undefined1 *)(sVar11 + (longlong)pvVar9) = 0; } } puVar4 = (undefined8 *)FUN_181249970(param_2 + 0x28,iVar10); local_res20 = (char *)*puVar4; _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } uVar5 = FUN_181249970(param_2 + 0x18,iVar10); uVar5 = FUN_181213190(&local_60,uVar5,1,param_4,uVar12); FUN_181232d30(param_1,uVar5); puVar7 = (uint *)(local_60 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (*local_res20 != '\0') { uVar5 = FUN_181213190(local_58,&local_res20,1); local_res18[0] = '='; local_res18[1] = '\0'; lVar8 = -1; do { lVar3 = lVar8 + 1; lVar2 = lVar8 + 1; lVar8 = lVar3; } while (local_res18[lVar2] != '\0'); iVar6 = ((int)lVar3 + (int)local_res18) - (int)local_res18; if (0 < iVar6) { lVar8 = -1; do { lVar8 = lVar8 + 1; } while (*(char *)(*param_1 + lVar8) != '\0'); sVar11 = (size_t)iVar6; FUN_1812342b0(param_1,sVar11 + lVar8); pvVar9 = (void *)((longlong)(int)lVar8 + *param_1); memcpy(pvVar9,local_res18,sVar11); *(undefined1 *)(sVar11 + (longlong)pvVar9) = 0; } FUN_181232d30(param_1,uVar5); puVar7 = (uint *)(local_58[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar10 = iVar10 + 1; } while (iVar10 < *(int *)(param_2 + 0x24)); } return param_1; } ############ FUN_ 1812465e0 size=150 ############ longlong * FUN_1812465e0(longlong *param_1,longlong *param_2,longlong param_3) { uint uVar1; longlong lVar2; uint *_Memory; lVar2 = -1; do { lVar2 = lVar2 + 1; } while (*(char *)(param_3 + lVar2) != '\0'); FUN_181232e20(param_2,param_3,param_3 + lVar2,param_3,0xfffffffffffffffe); lVar2 = *param_2; *param_1 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 18049a5e0 size=97 ############ undefined8 * FUN_18049a5e0(undefined8 *param_1,ulonglong param_2) { longlong lVar1; *param_1 = juce::HighResolutionTimer::vftable; lVar1 = param_1[1]; *(undefined4 *)(lVar1 + 8) = 0; timeKillEvent(*(UINT *)(lVar1 + 0xc)); if ((void *)param_1[1] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[1]); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18049a650 size=43 ############ undefined8 * FUN_18049a650(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::URL::DownloadTask::Listener::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18049a680 size=96 ############ undefined8 * FUN_18049a680(undefined8 *param_1,uint param_2) { uint uVar1; uint *_Memory; *param_1 = juce::URL::DownloadTask::vftable; _Memory = (uint *)(param_1[4] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18049a820 size=66 ############ undefined8 * FUN_18049a820(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::URLInputSource::vftable; FUN_1804858a0(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18049b3f0 size=154 ############ void FUN_18049b3f0(undefined8 param_1,longlong *param_2) { uint uVar1; uint *_Memory; if (param_2 == (longlong *)0x0) { return; } if ((HANDLE)param_2[1] != (HANDLE)0xffffffffffffffff) { if ((*(char *)((longlong)param_2 + 0x19) != '\0') && ((char)param_2[3] != '\0')) { DisconnectNamedPipe((HANDLE)param_2[1]); *(undefined1 *)(param_2 + 3) = 0; } CloseHandle((HANDLE)param_2[1]); param_2[1] = -1; } CloseHandle((HANDLE)param_2[2]); DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)param_2 + 0x1b)); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Subroutine does not return */ free(param_2); } ############ FUN_ 18049b510 size=95 ############ void FUN_18049b510(undefined8 param_1,char *param_2) { if (param_2 != (char *)0x0) { if (*param_2 != '\0') { CloseHandle(*(HANDLE *)(param_2 + 0x20)); CloseHandle(*(HANDLE *)(param_2 + 0x18)); } if (*(HANDLE *)(param_2 + 8) != (HANDLE)0x0) { CloseHandle(*(HANDLE *)(param_2 + 8)); } if (*(HANDLE *)(param_2 + 0x10) != (HANDLE)0x0) { CloseHandle(*(HANDLE *)(param_2 + 0x10)); } /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 18049dcb0 size=698 ############ void FUN_18049dcb0(longlong *param_1,longlong *param_2,longlong param_3,undefined1 param_4) { uint uVar1; longlong lVar2; int iVar3; longlong lVar4; uint *puVar5; longlong *plVar6; longlong *plVar7; longlong *plVar8; longlong local_res8; longlong local_res10; longlong *local_38; longlong *local_30; lVar4 = (longlong)param_2 - (longlong)param_1; do { lVar4 = lVar4 >> 3; if (lVar4 < 0x21) { LAB_18049dd6d: if ((1 < lVar4) && (plVar6 = param_1, param_1 != param_2)) { while (plVar6 = plVar6 + 1, plVar6 != param_2) { lVar4 = *plVar6; *plVar6 = (longlong)&DAT_1821dbf98; plVar7 = plVar6; if ((lVar4 == *param_1) || (iVar3 = FUN_18049bb30(lVar4), -1 < iVar3)) { while ((plVar8 = plVar7 + -1, lVar4 != plVar7[-1] && (iVar3 = FUN_18049bb30(lVar4), iVar3 < 0))) { lVar2 = *plVar7; *plVar7 = *plVar8; *plVar8 = lVar2; plVar7 = plVar8; } local_res10 = *plVar7; *plVar7 = lVar4; } else { plVar7 = plVar6 + 1; plVar8 = plVar6; while (plVar8 != param_1) { plVar8 = plVar8 + -1; lVar2 = plVar7[-1]; plVar7 = plVar7 + -1; *plVar7 = *plVar8; *plVar8 = lVar2; } local_res10 = *param_1; *param_1 = lVar4; } puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } } return; } if (param_3 < 1) { if (0x20 < lVar4) { FUN_18049e5b0(param_1,param_2,param_4); lVar4 = (longlong)param_2 - (longlong)param_1 >> 3; if (lVar4 < 2) { return; } param_2 = param_2 + -1; if (lVar4 < 2) goto LAB_18049dec2; do { local_res8 = *param_2; *param_2 = (longlong)&DAT_1821dbf98; *param_2 = *param_1; *param_1 = (longlong)&DAT_1821dbf98; FUN_18049e7c0(param_1,0,(longlong)param_2 - (longlong)param_1 >> 3,&local_res8,param_4); puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } LAB_18049dec2: param_2 = param_2 + -1; } while (1 < (8 - (longlong)param_1) + (longlong)param_2 >> 3); return; } goto LAB_18049dd6d; } FUN_18049e130(&local_38,param_1,param_2,param_4); plVar7 = local_30; plVar6 = local_38; param_3 = (param_3 >> 1) + (param_3 >> 2); if ((longlong)((longlong)local_38 - (longlong)param_1 & 0xfffffffffffffff8U) < (longlong)((longlong)param_2 - (longlong)local_30 & 0xfffffffffffffff8U)) { FUN_18049dcb0(param_1,local_38,param_3,param_4); plVar6 = param_2; param_1 = plVar7; } else { FUN_18049dcb0(local_30,param_2,param_3,param_4); } lVar4 = (longlong)plVar6 - (longlong)param_1; param_2 = plVar6; } while( true ); } ############ FUN_ 18049e130 size=1136 ############ void FUN_18049e130(undefined8 *param_1,longlong *param_2,longlong *param_3) { uint uVar1; int iVar2; longlong lVar3; longlong *plVar4; longlong *plVar5; longlong *plVar6; longlong *plVar7; longlong *plVar8; bool bVar9; longlong *local_res10; longlong *local_res18; lVar3 = (longlong)param_3 + (-8 - (longlong)param_2) >> 3; plVar4 = param_2 + ((longlong)param_3 - (longlong)param_2 >> 4); plVar7 = plVar4; if (lVar3 < 0x29) { FUN_18049e8d0(param_2,plVar4,param_3 + -1); } else { lVar3 = lVar3 + 1 >> 3; FUN_18049e8d0(param_2,param_2 + lVar3,param_2 + lVar3 * 2); FUN_18049e8d0(plVar4 + -lVar3,plVar4,plVar4 + lVar3); FUN_18049e8d0(param_3 + lVar3 * -2 + -1,param_3 + (-1 - lVar3),param_3 + -1); FUN_18049e8d0(param_2 + lVar3,plVar4,param_3 + (-1 - lVar3)); } do { local_res10 = plVar7; if ((local_res10 <= param_2) || ((plVar7 = local_res10 + -1, *plVar7 != *local_res10 && (iVar2 = FUN_18049bb30(*plVar7), iVar2 < 0)))) break; } while ((*local_res10 == *plVar7) || (iVar2 = FUN_18049bb30(*local_res10), -1 < iVar2)); do { plVar4 = plVar4 + 1; plVar7 = plVar4; local_res18 = plVar4; plVar5 = local_res10; if ((param_3 <= plVar4) || ((*plVar4 != *local_res10 && (iVar2 = FUN_18049bb30(*plVar4), iVar2 < 0)))) break; } while ((*local_res10 == *plVar4) || (iVar2 = FUN_18049bb30(*local_res10), -1 < iVar2)); joined_r0x00018049e286: do { plVar8 = local_res10; plVar6 = plVar5; if (plVar4 < param_3) { if ((*local_res10 == *plVar4) || (iVar2 = FUN_18049bb30(*local_res10), -1 < iVar2)) { if ((*plVar4 != *local_res10) && (iVar2 = FUN_18049bb30(*plVar4), iVar2 < 0)) goto joined_r0x00018049e31d; if (plVar7 != plVar4) { lVar3 = *plVar7; *plVar7 = (longlong)&DAT_1821dbf98; *plVar7 = *plVar4; *plVar4 = lVar3; plVar7 = local_res18; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } plVar7 = plVar7 + 1; local_res18 = plVar7; } plVar4 = plVar4 + 1; goto joined_r0x00018049e286; } joined_r0x00018049e31d: for (; param_2 < plVar5; plVar5 = plVar5 + -1) { plVar6 = plVar6 + -1; if ((*plVar6 == *plVar8) || (iVar2 = FUN_18049bb30(*plVar6), -1 < iVar2)) { if ((*plVar8 != *plVar6) && (iVar2 = FUN_18049bb30(*plVar8), plVar7 = local_res18, iVar2 < 0)) break; plVar8 = plVar8 + -1; local_res10 = plVar8; if (plVar8 != plVar6) { lVar3 = *plVar8; *plVar8 = (longlong)&DAT_1821dbf98; *plVar8 = *plVar6; *plVar6 = lVar3; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } } plVar7 = local_res18; } if (plVar5 == param_2) { if (plVar4 == param_3) { *param_1 = plVar8; param_1[1] = plVar7; return; } plVar6 = plVar7; if (plVar7 != plVar4) { lVar3 = *plVar8; *plVar8 = (longlong)&DAT_1821dbf98; *plVar8 = *plVar7; *plVar7 = lVar3; plVar6 = local_res18; plVar8 = local_res10; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } lVar3 = *plVar8; *plVar8 = (longlong)&DAT_1821dbf98; *plVar8 = *plVar4; *plVar4 = lVar3; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_res10 = local_res10 + 1; plVar4 = plVar4 + 1; plVar7 = plVar6 + 1; local_res18 = plVar6 + 1; } else { plVar5 = plVar5 + -1; if (plVar4 == param_3) { local_res10 = plVar8 + -1; if (plVar5 != local_res10) { lVar3 = *plVar5; *plVar5 = (longlong)&DAT_1821dbf98; *plVar5 = *local_res10; *local_res10 = lVar3; plVar7 = local_res18; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } lVar3 = *local_res10; plVar7 = plVar7 + -1; *local_res10 = (longlong)&DAT_1821dbf98; *local_res10 = *plVar7; *plVar7 = lVar3; local_res18 = plVar7; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } else { lVar3 = *plVar4; *plVar4 = (longlong)&DAT_1821dbf98; *plVar4 = *plVar5; *plVar5 = lVar3; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } plVar4 = plVar4 + 1; plVar7 = local_res18; } } } while( true ); } ############ FUN_ 18049e5b0 size=399 ############ void FUN_18049e5b0(longlong param_1,longlong param_2) { longlong lVar1; int *_Memory; longlong lVar2; undefined8 uVar3; int iVar4; longlong lVar5; longlong lVar6; longlong lVar7; longlong lVar8; param_2 = param_2 - param_1; lVar6 = param_2 >> 3; lVar7 = param_2 >> 4; if (0 < lVar7) { lVar8 = lVar6 + -1 >> 1; do { lVar2 = *(longlong *)(param_1 + -8 + lVar7 * 8); lVar7 = lVar7 + -1; *(undefined1 **)(param_1 + lVar7 * 8) = &DAT_1821dbf98; lVar1 = lVar7; while (lVar1 < lVar8) { lVar5 = lVar1 * 2 + 2; if ((*(longlong *)(param_1 + lVar5 * 8) != *(longlong *)(param_1 + -8 + lVar5 * 8)) && (iVar4 = FUN_18049bb30(*(undefined8 *)(param_1 + lVar5 * 8)), iVar4 < 0)) { lVar5 = lVar1 * 2 + 1; } uVar3 = *(undefined8 *)(param_1 + lVar1 * 8); *(undefined8 *)(param_1 + lVar1 * 8) = *(undefined8 *)(param_1 + lVar5 * 8); *(undefined8 *)(param_1 + lVar5 * 8) = uVar3; lVar1 = lVar5; } if ((lVar1 == lVar8) && (((ulonglong)((uint)lVar6 & 1) ^ param_2 >> 0x3f) == param_2 >> 0x3f)) { uVar3 = *(undefined8 *)(param_1 + lVar1 * 8); *(undefined8 *)(param_1 + lVar1 * 8) = *(undefined8 *)(param_1 + -8 + lVar6 * 8); lVar1 = lVar6 + -1; *(undefined8 *)(param_1 + -8 + lVar6 * 8) = uVar3; } while (((lVar7 < lVar1 && (lVar5 = lVar1 + -1 >> 1, *(longlong *)(param_1 + lVar5 * 8) != lVar2)) && (iVar4 = FUN_18049bb30(*(undefined8 *)(param_1 + lVar5 * 8),lVar2), iVar4 < 0))) { uVar3 = *(undefined8 *)(param_1 + lVar1 * 8); *(undefined8 *)(param_1 + lVar1 * 8) = *(undefined8 *)(param_1 + lVar5 * 8); *(undefined8 *)(param_1 + lVar5 * 8) = uVar3; lVar1 = lVar5; } lVar5 = *(longlong *)(param_1 + lVar1 * 8); *(longlong *)(param_1 + lVar1 * 8) = lVar2; _Memory = (int *)(lVar5 + -0x10); if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); iVar4 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar4 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } while (0 < lVar7); } return; } ############ FUN_ 18049e8d0 size=294 ############ void FUN_18049e8d0(longlong *param_1,longlong *param_2,longlong *param_3) { longlong lVar1; uint uVar2; int iVar3; bool bVar4; if (*param_2 != *param_1) { iVar3 = FUN_18049bb30(*param_2); if (iVar3 < 0) { lVar1 = *param_2; *param_2 = (longlong)&DAT_1821dbf98; *param_2 = *param_1; *param_1 = lVar1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } } if (*param_3 != *param_2) { iVar3 = FUN_18049bb30(*param_3); if (iVar3 < 0) { lVar1 = *param_3; *param_3 = (longlong)&DAT_1821dbf98; *param_3 = *param_2; *param_2 = lVar1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if (*param_2 != *param_1) { iVar3 = FUN_18049bb30(*param_2); if (iVar3 < 0) { lVar1 = *param_2; *param_2 = (longlong)&DAT_1821dbf98; *param_2 = *param_1; *param_1 = lVar1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } } } } return; } ############ FUN_ 1804cda50 size=531 ############ undefined8 * FUN_1804cda50(float *param_1,undefined8 *param_2,byte *param_3,longlong *param_4) { longlong lVar1; longlong lVar2; longlong *plVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; ulonglong uVar7; float fVar8; float fVar9; undefined1 local_28 [16]; uVar7 = (((((ulonglong)*param_3 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ (ulonglong)param_3[1]) * 0x100000001b3 ^ (ulonglong)param_3[2]) * 0x100000001b3 ^ (ulonglong)param_3[3]) * 0x100000001b3; uVar6 = *(ulonglong *)(param_1 + 0xc) & uVar7; lVar5 = *(longlong *)(param_1 + 2); lVar1 = *(longlong *)(*(longlong *)(param_1 + 6) + uVar6 * 0x10); if (lVar5 != lVar1) { lVar5 = **(longlong **)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10); while (lVar5 != lVar1) { lVar5 = *(longlong *)(lVar5 + 8); if (*(int *)param_3 == *(int *)(lVar5 + 0x10)) { *(longlong *)param_4[1] = *param_4; *(longlong *)(*param_4 + 8) = param_4[1]; *(longlong *)(param_1 + 4) = *(longlong *)(param_1 + 4) + -1; /* WARNING: Subroutine does not return */ free(param_4); } } } lVar1 = *param_4; if (lVar5 != lVar1) { *(longlong *)param_4[1] = lVar1; **(longlong **)(lVar1 + 8) = lVar5; **(undefined8 **)(lVar5 + 8) = param_4; lVar2 = *(longlong *)(lVar5 + 8); *(undefined8 *)(lVar5 + 8) = *(undefined8 *)(lVar1 + 8); *(longlong *)(lVar1 + 8) = param_4[1]; param_4[1] = lVar2; } lVar1 = *(longlong *)(param_1 + 6); lVar2 = *(longlong *)(lVar1 + uVar6 * 0x10); if (lVar2 == *(longlong *)(param_1 + 2)) { *(longlong **)(lVar1 + uVar6 * 0x10) = param_4; *(longlong **)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10) = param_4; } else if (lVar2 == lVar5) { *(longlong **)(lVar1 + uVar6 * 0x10) = param_4; } else { plVar3 = (longlong *)**(undefined8 **)(lVar1 + 8 + uVar6 * 0x10); *(longlong **)(lVar1 + 8 + uVar6 * 0x10) = plVar3; if (plVar3 != param_4) { *(undefined8 *)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10) = *(undefined8 *)(*(longlong *)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10) + 8); } } uVar4 = *(ulonglong *)(param_1 + 0xe); fVar8 = (float)*(longlong *)(param_1 + 4); if (*(longlong *)(param_1 + 4) < 0) { fVar8 = fVar8 + DAT_1824c4624; } fVar9 = (float)(longlong)uVar4; if ((longlong)uVar4 < 0) { fVar9 = fVar9 + DAT_1824c4624; } if (*param_1 <= fVar8 / fVar9 && fVar8 / fVar9 != *param_1) { if (uVar4 < 0x200) { uVar4 = uVar4 * 8; } else if (uVar4 < 0xfffffffffffffff) { uVar4 = uVar4 * 2; } FUN_18047d9c0(param_1,uVar4,uVar6 * 2,uVar7,param_4,0xfffffffffffffffe); plVar3 = *(longlong **)(param_1 + 2); if ((longlong *)*plVar3 != plVar3) { lVar5 = plVar3[1]; do { lVar1 = **(longlong **)(param_1 + 2); FUN_1804cda50(param_1,local_28,lVar1 + 0x10); } while (lVar1 != lVar5); } } *param_2 = param_4; *(undefined1 *)(param_2 + 1) = 1; return param_2; } ############ FUN_ 1804cdc80 size=579 ############ undefined8 * FUN_1804cdc80(float *param_1,undefined8 *param_2,byte *param_3,longlong *param_4) { longlong lVar1; longlong lVar2; longlong *plVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; ulonglong uVar7; float fVar8; float fVar9; undefined1 local_28 [16]; uVar7 = (((((((((ulonglong)*param_3 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ (ulonglong)param_3[1]) * 0x100000001b3 ^ (ulonglong)param_3[2]) * 0x100000001b3 ^ (ulonglong)param_3[3]) * 0x100000001b3 ^ (ulonglong)param_3[4]) * 0x100000001b3 ^ (ulonglong)param_3[5]) * 0x100000001b3 ^ (ulonglong)param_3[6]) * 0x100000001b3 ^ (ulonglong)param_3[7]) * 0x100000001b3; uVar6 = *(ulonglong *)(param_1 + 0xc) & uVar7; lVar5 = *(longlong *)(param_1 + 2); lVar1 = *(longlong *)(*(longlong *)(param_1 + 6) + uVar6 * 0x10); if (lVar5 != lVar1) { lVar5 = **(longlong **)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10); while (lVar5 != lVar1) { lVar5 = *(longlong *)(lVar5 + 8); if (*(longlong *)param_3 == *(longlong *)(lVar5 + 0x10)) { *(longlong *)param_4[1] = *param_4; *(longlong *)(*param_4 + 8) = param_4[1]; *(longlong *)(param_1 + 4) = *(longlong *)(param_1 + 4) + -1; /* WARNING: Subroutine does not return */ free(param_4); } } } lVar1 = *param_4; if (lVar5 != lVar1) { *(longlong *)param_4[1] = lVar1; **(longlong **)(lVar1 + 8) = lVar5; **(undefined8 **)(lVar5 + 8) = param_4; lVar2 = *(longlong *)(lVar5 + 8); *(undefined8 *)(lVar5 + 8) = *(undefined8 *)(lVar1 + 8); *(longlong *)(lVar1 + 8) = param_4[1]; param_4[1] = lVar2; } lVar1 = *(longlong *)(param_1 + 6); lVar2 = *(longlong *)(lVar1 + uVar6 * 0x10); if (lVar2 == *(longlong *)(param_1 + 2)) { *(longlong **)(lVar1 + uVar6 * 0x10) = param_4; *(longlong **)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10) = param_4; } else if (lVar2 == lVar5) { *(longlong **)(lVar1 + uVar6 * 0x10) = param_4; } else { plVar3 = (longlong *)**(undefined8 **)(lVar1 + 8 + uVar6 * 0x10); *(longlong **)(lVar1 + 8 + uVar6 * 0x10) = plVar3; if (plVar3 != param_4) { *(undefined8 *)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10) = *(undefined8 *)(*(longlong *)(*(longlong *)(param_1 + 6) + 8 + uVar6 * 0x10) + 8); } } uVar4 = *(ulonglong *)(param_1 + 0xe); fVar8 = (float)*(longlong *)(param_1 + 4); if (*(longlong *)(param_1 + 4) < 0) { fVar8 = fVar8 + DAT_1824c4624; } fVar9 = (float)(longlong)uVar4; if ((longlong)uVar4 < 0) { fVar9 = fVar9 + DAT_1824c4624; } if (*param_1 <= fVar8 / fVar9 && fVar8 / fVar9 != *param_1) { if (uVar4 < 0x200) { uVar4 = uVar4 * 8; } else if (uVar4 < 0xfffffffffffffff) { uVar4 = uVar4 * 2; } FUN_18047d9c0(param_1,uVar4,uVar6 * 2,uVar7,param_4,0xfffffffffffffffe); plVar3 = *(longlong **)(param_1 + 2); if ((longlong *)*plVar3 != plVar3) { lVar5 = plVar3[1]; do { lVar1 = **(longlong **)(param_1 + 2); FUN_1804cdc80(param_1,local_28,lVar1 + 0x10); } while (lVar1 != lVar5); } } *param_2 = param_4; *(undefined1 *)(param_2 + 1) = 1; return param_2; } ############ FUN_ 18049ff30 size=43 ############ undefined8 * FUN_18049ff30(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::LowLevelGraphicsContext::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a0070 size=52 ############ void * FUN_1804a0070(void *param_1,ulonglong param_2) { FUN_1812918d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a00b0 size=43 ############ undefined8 * FUN_1804a00b0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ImageType::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a0590 size=148 ############ undefined8 * FUN_1804a0590(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ImageCache::Pimpl::vftable; param_1[3] = juce::ImageCache::Pimpl::vftable; if (DAT_182673a70 == param_1) { DAT_182673a70 = (undefined8 *)0x0; } DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 6)); FUN_1804a7940(param_1 + 4); FUN_1812a7170(param_1 + 3); *param_1 = juce::Timer::vftable; FUN_1812a7720(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a14e0 size=43 ############ undefined8 * FUN_1804a14e0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::GIFImageFormat::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a1510 size=43 ############ undefined8 * FUN_1804a1510(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::JPEGImageFormat::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a1540 size=43 ############ undefined8 * FUN_1804a1540(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::PNGImageFormat::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a1830 size=52 ############ void * FUN_1804a1830(void *param_1,ulonglong param_2) { FUN_181254ca0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a2f30 size=172 ############ undefined8 * FUN_1804a2f30(undefined8 *param_1,uint param_2) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; uint *puVar5; puVar5 = (uint *)(param_1[4] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(param_1[3] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar4 = (undefined8 *)param_1[2]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1812314e0 size=459 ############ undefined8 * FUN_1812314e0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4) { byte bVar1; undefined1 *puVar2; undefined1 *puVar3; ulonglong uVar4; uint uVar5; longlong lVar6; uint uVar7; int iVar8; bool bVar9; undefined8 local_res20; undefined1 *local_50; byte *local_48; undefined1 *local_40; ulonglong local_38; ulonglong local_30; local_48 = (byte *)*param_1; local_50 = &DAT_1821dbf98; local_40 = (undefined1 *)0x0; local_38 = *(ulonglong *)(local_48 + -8); local_30 = 0; local_res20 = param_4; FUN_1812342b0(&local_50); local_40 = local_50; do { puVar3 = local_40; puVar2 = local_50; bVar1 = *local_48; local_48 = local_48 + 1; uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar7 = 0x7f; uVar5 = 0x40; iVar8 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar5 < 9) break; uVar7 = uVar7 >> 1; iVar8 = iVar8 + 1; uVar5 = uVar5 >> 1; } while ((bVar1 & uVar5) != 0); } uVar7 = bVar1 & uVar7; for (; (iVar8 = iVar8 + -1, -1 < iVar8 && ((*local_48 & 0xc0) == 0x80)); local_48 = local_48 + 1) { uVar7 = *local_48 & 0x3f | uVar7 << 6; } } iVar8 = FUN_18049bc80(param_3,uVar7); if (-1 < iVar8) { uVar7 = FUN_180493050(&local_res20,iVar8); } lVar6 = 1; if (((0x7f < uVar7) && (lVar6 = 2, 0x7ff < uVar7)) && (lVar6 = 3, 0xffff < uVar7)) { lVar6 = 4; } local_30 = local_30 + lVar6; if (local_38 < local_30) { uVar4 = 8; if (8 < local_38 >> 4) { uVar4 = local_38 >> 4; } local_38 = local_38 + uVar4; FUN_1812342b0(&local_50); local_40 = local_50 + ((int)puVar3 - (int)puVar2); } FUN_180493180(&local_40,uVar7); if (uVar7 == 0) { *param_2 = local_50; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return param_2; } } while( true ); } ############ FUN_ 1804a40b0 size=43 ############ undefined8 * FUN_1804a40b0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::DropShadowEffect::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a40e0 size=43 ############ undefined8 * FUN_1804a40e0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::GlowEffect::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a50c0 size=133 ############ void * FUN_1804a50c0(void *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; if (*(longlong **)((longlong)param_1 + 0x60) != (longlong *)0x0) { (**(code **)(**(longlong **)((longlong)param_1 + 0x60) + 0x10))(); } do { LOCK(); uVar1 = DAT_18267aa78 & 1; DAT_18267aa78 = DAT_18267aa78 | 1; UNLOCK(); } while (uVar1 != 0); DAT_18267aa88 = DAT_18267aa88 + -1; if (DAT_18267aa88 == 0) { FUN_1804af690(&DAT_18267aa80,0,param_3,param_4,uVar2); } LOCK(); DAT_18267aa78 = 0; UNLOCK(); FUN_181254ca0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a5690 size=459 ############ longlong * FUN_1804a5690(longlong param_1,longlong *param_2,longlong *param_3,undefined4 param_4) { uint uVar1; longlong lVar2; undefined8 uVar3; longlong lVar4; undefined8 uVar5; uint *puVar6; int iVar7; longlong *local_res8; longlong *local_res10; longlong *local_60; longlong local_58; longlong local_50 [5]; local_50[1] = 0xfffffffffffffffe; iVar7 = 0; lVar2 = *(longlong *)(param_1 + 0x10); local_res10 = param_2; if (0 < *(int *)(lVar2 + 0x24)) { do { lVar2 = *(longlong *)(lVar2 + 0x18) + (longlong)iVar7 * 0x18; uVar3 = FUN_181252280(lVar2 + 8); lVar4 = __RTDynamicCast(uVar3,0,&juce::Typeface::RTTI_Type_Descriptor, &juce::WindowsDirectWriteTypeface::RTTI_Type_Descriptor,0); if ((lVar4 != 0) && (*(longlong *)(lVar4 + 0x60) == *param_3)) { lVar2 = *(longlong *)(lVar2 + 8); *param_2 = lVar2; if (lVar2 != 0) { LOCK(); *(int *)(lVar2 + 8) = *(int *)(lVar2 + 8) + 1; UNLOCK(); } FUN_1812520a0(param_2,param_4); return param_2; } iVar7 = iVar7 + 1; lVar2 = *(longlong *)(param_1 + 0x10); } while (iVar7 < *(int *)(lVar2 + 0x24)); } local_res8 = (longlong *)0x0; (**(code **)(**(longlong **)(param_1 + 0x18) + 0x30)) (*(longlong **)(param_1 + 0x18),*param_3,&local_res8); local_60 = (longlong *)0x0; (**(code **)(*local_res8 + 0x18))(local_res8,&local_60); uVar3 = FUN_18124c790(local_50,local_res8); uVar5 = FUN_18124c7f0(&local_58,local_60); FUN_181252a20(param_2,uVar5,uVar3,param_4); puVar6 = (uint *)(local_58 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_50[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (local_60 != (longlong *)0x0) { (**(code **)(*local_60 + 0x10))(); } if (local_res8 != (longlong *)0x0) { (**(code **)(*local_res8 + 0x10))(); } return param_2; } ############ FUN_ 1804a5860 size=43 ############ undefined8 * FUN_1804a5860(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804a5ae0 size=399 ############ void FUN_1804a5ae0(undefined8 *param_1,PVOID param_2,undefined8 param_3) { uint uVar1; HDC pHVar2; HANDLE pvVar3; undefined8 *puVar4; uint *_Memory; bool bVar5; DWORD local_res10 [2]; undefined1 *local_res18; undefined1 *local_res20; longlong local_78 [3]; undefined **local_60; PVOID local_58; undefined8 local_50; undefined8 local_48; void *local_40; undefined8 local_38; local_78[1] = 0xfffffffffffffffe; local_res18 = &DAT_1821dbf98; local_res20 = &DAT_1821dbf98; FUN_181254d40(param_1,&local_res20); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar5 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar5) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar5 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar5) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = juce::WindowsTypeface::vftable; param_1[0xb] = 0; param_1[0xc] = 0; pHVar2 = CreateCompatibleDC((HDC)0x0); param_1[0xd] = pHVar2; param_1[0x16] = 0; *(undefined4 *)(param_1 + 0x17) = 0x3f800000; *(undefined4 *)((longlong)param_1 + 0xbc) = 0x3f800000; *(undefined4 *)(param_1 + 0x18) = 0xffffffff; *(undefined4 *)((longlong)param_1 + 0xc4) = 0; FUN_1804a7550(param_1 + 0x19); local_res10[0] = 0; pvVar3 = AddFontMemResourceEx(param_2,(DWORD)param_3,(PVOID)0x0,local_res10); param_1[0x16] = pvVar3; local_60 = juce::MemoryInputStream::vftable; local_48 = 0; local_40 = (void *)0x0; local_38 = 0; local_58 = param_2; local_50 = param_3; puVar4 = (undefined8 *)FUN_18124b350(local_78,&local_60); local_78[2] = param_1[2]; param_1[2] = *puVar4; *puVar4 = local_78[2]; _Memory = (uint *)(local_78[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1804a6370(param_1); /* WARNING: Subroutine does not return */ free(local_40); } ############ FUN_ 18124b350 size=364 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18124b350(undefined8 *param_1,longlong param_2) { uint *_Memory; uint uVar1; ulonglong uVar2; undefined8 *puVar3; ushort uVar4; int iVar5; ulonglong uVar6; size_t sVar7; int iVar8; undefined1 auStack_78 [32]; undefined8 *local_58; undefined8 local_50; undefined8 local_48; undefined8 local_40; undefined4 local_38; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_78; uVar2 = *(ulonglong *)(param_2 + 0x18); local_40 = 0; local_38 = 0; local_58 = param_1; if (uVar2 < *(ulonglong *)(param_2 + 0x10)) { uVar6 = *(ulonglong *)(param_2 + 0x10) - uVar2; sVar7 = 0xc; if (uVar6 < 0xc) { sVar7 = uVar6; } if (sVar7 != 0) { memcpy(&local_40,(void *)(*(longlong *)(param_2 + 8) + uVar2),sVar7); *(ulonglong *)(param_2 + 0x18) = uVar2 + sVar7; } } iVar8 = 0; uVar4 = local_40._4_2_ << 8 | local_40._4_2_ >> 8; if (uVar4 != 0) { do { uVar2 = *(ulonglong *)(param_2 + 0x18); local_50 = 0; local_48 = 0; if (uVar2 < *(ulonglong *)(param_2 + 0x10)) { uVar6 = *(ulonglong *)(param_2 + 0x10) - uVar2; sVar7 = 0x10; if (uVar6 < 0x10) { sVar7 = uVar6; } if (sVar7 != 0) { memcpy(&local_50,(void *)(*(longlong *)(param_2 + 8) + uVar2),sVar7); *(ulonglong *)(param_2 + 0x18) = uVar2 + sVar7; } } FUN_18049c670(&local_58,&local_50,4); puVar3 = local_58; iVar5 = FUN_18049bb30(local_58,&DAT_1821df3f4); _Memory = (uint *)(puVar3 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (iVar5 == 0) { FUN_18124b4e0(param_1,param_2, (uint)local_48 >> 0x18 | ((uint)local_48 & 0xff0000) >> 8 | ((uint)local_48 & 0xff00) << 8 | (uint)local_48 << 0x18); } iVar8 = iVar8 + 1; } while (iVar8 < (int)(uint)uVar4); } *param_1 = &DAT_1821dbf98; } ############ FUN_ 18124b4e0 size=456 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18124b4e0(char *param_1,longlong param_2,ulonglong param_3) { int *_Memory; int iVar1; ulonglong uVar2; ushort uVar3; ulonglong uVar4; uint *_Memory_00; uint uVar5; ulonglong uVar6; size_t sVar7; undefined1 auStack_98 [32]; ulonglong local_78; undefined4 local_68; ushort local_64; char *local_60; undefined8 local_58; undefined4 local_50; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_98; uVar6 = 0; uVar2 = *(ulonglong *)(param_2 + 0x10); uVar4 = uVar6; if ((-1 < (longlong)param_3) && (uVar4 = param_3, (longlong)uVar2 < (longlong)param_3)) { uVar4 = uVar2; } *(ulonglong *)(param_2 + 0x18) = uVar4; local_68 = 0; local_64 = 0; local_60 = param_1; if (uVar4 < uVar2) { sVar7 = 6; if (uVar2 - uVar4 < 6) { sVar7 = uVar2 - uVar4; } if (sVar7 != 0) { memcpy(&local_68,(void *)(*(longlong *)(param_2 + 8) + uVar4),sVar7); *(size_t *)(param_2 + 0x18) = sVar7 + uVar4; } } uVar3 = local_68._2_2_ << 8 | local_68._2_2_ >> 8; if (uVar3 != 0) { do { uVar2 = *(ulonglong *)(param_2 + 0x18); local_58 = 0; local_50 = 0; if (uVar2 < *(ulonglong *)(param_2 + 0x10)) { uVar4 = *(ulonglong *)(param_2 + 0x10) - uVar2; sVar7 = 0xc; if (uVar4 < 0xc) { sVar7 = uVar4; } if (sVar7 != 0) { memcpy(&local_58,(void *)(*(longlong *)(param_2 + 8) + uVar2),sVar7); *(ulonglong *)(param_2 + 0x18) = uVar2 + sVar7; } } if ((ushort)(local_58._6_2_ << 8 | local_58._6_2_ >> 8) == 4) { local_78 = (ulonglong)(ushort)(local_64 << 8 | local_64 >> 8); FUN_18124b6c0(&local_60,param_2,&local_58,param_3); if (*local_60 != '\0') { *(char **)param_1 = local_60; if ((*(uint *)(local_60 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_60 + -0x10) = *(int *)(local_60 + -0x10) + 1; UNLOCK(); } _Memory_00 = (uint *)(local_60 + -0x10); if ((*_Memory_00 & 0x30000000) != 0) { } LOCK(); uVar5 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar5 != 0) { } /* WARNING: Subroutine does not return */ free(_Memory_00); } _Memory = (int *)(local_60 + -0x10); if ((*(uint *)(local_60 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } uVar5 = (int)uVar6 + 1; uVar6 = (ulonglong)uVar5; } while ((int)uVar5 < (int)(uint)uVar3); } *(undefined1 **)param_1 = &DAT_1821dbf98; } ############ FUN_ 1804a7110 size=135 ############ undefined8 * FUN_1804a7110(undefined8 *param_1,uint param_2) { *param_1 = juce::WindowsTypeface::vftable; SelectObject((HDC)param_1[0xd],(HGDIOBJ)param_1[0xc]); DeleteDC((HDC)param_1[0xd]); if ((HGDIOBJ)param_1[0xb] != (HGDIOBJ)0x0) { DeleteObject((HGDIOBJ)param_1[0xb]); } if ((HANDLE)param_1[0x16] != (HANDLE)0x0) { RemoveFontMemResourceEx((HANDLE)param_1[0x16]); } FUN_1804a71c0(param_1 + 0x19); FUN_181254ca0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804ab890 size=43 ############ undefined8 * FUN_1804ab890(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804ab8c0 size=43 ############ undefined8 * FUN_1804ab8c0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804af600 size=120 ############ undefined8 * FUN_1804af600(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; if ((undefined8 *)param_1[3] != (undefined8 *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)param_1[3]); } puVar3 = (undefined8 *)param_1[2]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804cf650 size=97 ############ undefined8 * FUN_1804cf650(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::DeviceChangeDetector::vftable; DestroyWindow((HWND)param_1[4]); UnregisterClassW((LPCWSTR)(ulonglong)*(ushort *)(param_1 + 3),(HINSTANCE)0x0); *param_1 = juce::Timer::vftable; FUN_1812a7720(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804cf6c0 size=88 ############ undefined8 * FUN_1804cf6c0(undefined8 *param_1,uint param_2) { undefined8 *puVar1; DAT_1826736f8 = 0; *param_1 = juce::JUCEApplicationBase::vftable; puVar1 = (undefined8 *)param_1[2]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804cf720 size=372 ############ ulonglong FUN_1804cf720(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; ulonglong uVar2; undefined8 uVar3; longlong *plVar4; uint *puVar5; uint *_Memory; longlong local_res8; undefined1 local_res10 [8]; longlong *local_res18; longlong local_res20; uVar2 = FUN_1812459c0(param_1 + 8,0,param_3,param_4,0xfffffffffffffffe); plVar4 = DAT_1826736f8; if (((char)uVar2 == '\0') && (DAT_1826736f8 != (longlong *)0x0)) { uVar3 = FUN_1812a6ed0(&local_res20); plVar4 = (longlong *)(**(code **)(*plVar4 + 8))(plVar4,local_res10); local_res18 = plVar4; FUN_181232e20(plVar4,&DAT_1824968a4,&DAT_1824968a5); local_res8 = *plVar4; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } puVar5 = (uint *)(*plVar4 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_res18 = &local_res8; local_res18 = (longlong *)FUN_181232d30(&local_res8,uVar3); local_res18 = (longlong *)*local_res18; puVar5 = (uint *)(local_res18 + -2); if ((*puVar5 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (DAT_182673ad8 != 0) { FUN_1804d10f0(_Memory,&local_res18); } if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res20 + -0x10); uVar1 = *puVar5; if ((uVar1 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); uVar1 = uVar1 - 1; if (uVar1 == 0xffffffff) { /* WARNING: Subroutine does not return */ free(puVar5); } } return CONCAT71((uint7)(uint3)(uVar1 >> 8),1); } return uVar2 & 0xffffffffffffff00; } ############ FUN_ 1804cf8a0 size=438 ############ void FUN_1804cf8a0(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; byte bVar2; longlong *plVar3; char cVar4; byte *pbVar5; undefined8 uVar6; uint *_Memory; uint *puVar7; int iVar8; byte *local_res18; byte *local_res20; longlong local_30 [3]; plVar3 = DAT_1826736f8; local_30[1] = 0xfffffffffffffffe; if (DAT_1826736f8 != (longlong *)0x0) { (**(code **)(*DAT_1826736f8 + 8))(DAT_1826736f8,&local_res20); local_res18 = local_res20; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_res18,&DAT_1824968a4,&DAT_1824968a5,param_4,&local_res18); puVar7 = (uint *)(local_res18 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); *puVar7 = *puVar7 + 1; UNLOCK(); } _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } cVar4 = FUN_18124a6c0(param_2,local_res18); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (cVar4 != '\0') { iVar8 = 0; pbVar5 = local_res20; while( true ) { while( true ) { bVar2 = *pbVar5; pbVar5 = pbVar5 + 1; if (-1 < (char)bVar2) break; if ((*pbVar5 & 0xc0) != 0x80) goto LAB_1804cf9d7; do { pbVar5 = pbVar5 + 1; } while ((*pbVar5 & 0xc0) == 0x80); iVar8 = iVar8 + 1; } if (bVar2 == 0) break; LAB_1804cf9d7: iVar8 = iVar8 + 1; } uVar6 = FUN_1812491d0(param_2,local_30,iVar8 + 1); (**(code **)(*plVar3 + 0x30))(plVar3,uVar6); puVar7 = (uint *)(local_30[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } puVar7 = (uint *)(local_res20 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } return; } ############ FUN_ 1804cfa60 size=56 ############ /* Library Function - Single Match public: void * __ptr64 __cdecl MRECmpImpl::`scalar deleting destructor'(unsigned int) __ptr64 Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release */ void * __thiscall MRECmpImpl::_scalar_deleting_destructor_(MRECmpImpl *this,uint param_1) { FUN_181245ad0(this + 8); if ((param_1 & 1) != 0) { /* WARNING: Subroutine does not return */ free(this); } return this; } ############ FUN_ 181245ad0 size=131 ############ void FUN_181245ad0(undefined8 *param_1) { uint uVar1; uint *_Memory; _Memory = (uint *)(param_1[7] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 1)); param_1 = (undefined8 *)*param_1; if (param_1 != (undefined8 *)0x0) { if ((HANDLE)*param_1 != (HANDLE)0x0) { ReleaseMutex((HANDLE)*param_1); CloseHandle((HANDLE)*param_1); *param_1 = 0; } /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 1804cfaa0 size=52 ############ void * FUN_1804cfaa0(void *param_1,ulonglong param_2) { FUN_1812a7170(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804cfae0 size=102 ############ undefined8 * FUN_1804cfae0(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::Message::vftable; puVar3 = (undefined8 *)param_1[2]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804cfb50 size=109 ############ undefined8 * FUN_1804cfb50(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::MessageListener::vftable; if (param_1[1] != 0) { *(undefined8 *)(param_1[1] + 0x10) = 0; } puVar3 = (undefined8 *)param_1[1]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804cfc10 size=77 ############ undefined8 * FUN_1804cfc10(undefined8 *param_1,ulonglong param_2) { _Cnd_destroy_in_situ(param_1 + 0xd); _Mtx_destroy_in_situ(param_1 + 3); *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804cfc80 size=101 ############ undefined8 * FUN_1804cfc80(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; plVar1 = (longlong *)param_1[9]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 2); param_1[9] = 0; } *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804cfd60 size=90 ############ undefined8 * FUN_1804cfd60(undefined8 *param_1,ulonglong param_2) { _Cnd_destroy_in_situ(param_1 + 0x14); _Mtx_destroy_in_situ(param_1 + 10); DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 2)); *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804cfdc0 size=140 ############ undefined8 * FUN_1804cfdc0(undefined8 *param_1,ulonglong param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::MessageManagerLock::vftable; FUN_1812a6010(param_1 + 1); FUN_1812a6010(param_1 + 1); _Cnd_destroy_in_situ(param_1 + 0xd); _Mtx_destroy_in_situ(param_1 + 3); puVar3 = (undefined8 *)param_1[1]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804cfed0 size=138 ############ undefined8 * FUN_1804cfed0(undefined8 *param_1,uint param_2) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; uint *_Memory; _Memory = (uint *)(param_1[3] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar4 = (undefined8 *)param_1[2]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d0010 size=43 ############ undefined8 * FUN_1804d0010(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d0040 size=102 ############ undefined8 * FUN_1804d0040(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::AsyncUpdater::vftable; LOCK(); *(undefined4 *)(param_1[1] + 0x18) = 0; UNLOCK(); puVar3 = (undefined8 *)param_1[1]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d00b0 size=52 ############ void * FUN_1804d00b0(void *param_1,ulonglong param_2) { FUN_1812a5870(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d00f0 size=102 ############ undefined8 * FUN_1804d00f0(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::AsyncUpdater::vftable; LOCK(); *(undefined4 *)(param_1[1] + 0x18) = 0; UNLOCK(); puVar3 = (undefined8 *)param_1[1]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d0960 size=369 ############ undefined8 * FUN_1804d0960(undefined8 *param_1,ulonglong param_2) { int *piVar1; int iVar2; void *pvVar3; undefined8 *puVar4; void *_Memory; *param_1 = juce::Timer::TimerThread::vftable; param_1[0x40] = juce::Timer::TimerThread::vftable; param_1[0x41] = juce::Timer::TimerThread::vftable; FUN_18122b1d0(); FUN_181215c10(param_1 + 0x46); FUN_18122afa0(param_1,4000); if (DAT_1826736e0 == param_1) { DAT_1826736e0 = (undefined8 *)0x0; } _Cnd_destroy_in_situ(param_1 + 0x51); _Mtx_destroy_in_situ(param_1 + 0x47); pvVar3 = (void *)param_1[0x43]; if (pvVar3 != (void *)0x0) { _Memory = pvVar3; if ((0xfff < (param_1[0x45] - (longlong)pvVar3 & 0xfffffffffffffff0U)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } param_1[0x41] = juce::AsyncUpdater::vftable; LOCK(); *(undefined4 *)(param_1[0x42] + 0x18) = 0; UNLOCK(); puVar4 = (undefined8 *)param_1[0x42]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } FUN_1812a7170(param_1 + 0x40); FUN_18122b690(param_1); if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 1804d0af0 size=62 ############ undefined8 * FUN_1804d0af0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::Timer::vftable; FUN_1812a7720(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d0b30 size=52 ############ void * FUN_1804d0b30(void *param_1,ulonglong param_2) { FUN_1812a55e0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d0bf0 size=92 ############ undefined8 * FUN_1804d0bf0(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = (undefined8 *)param_1[2]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d0d20 size=162 ############ undefined8 * FUN_1804d0d20(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; *param_1 = juce::InterprocessConnectionServer::vftable; FUN_18122b1d0(); if (param_1[0x40] != 0) { FUN_1812388c0(); } FUN_18122afa0(param_1,4000,param_3,param_4,uVar2); lVar1 = param_1[0x40]; param_1[0x40] = 0; if (lVar1 != 0) { FUN_1804d1d40(); } if (param_1[0x40] != 0) { FUN_1804d1d40(); } FUN_18122b690(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d0dd0 size=140 ############ undefined8 * FUN_1804d0dd0(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong *_Memory; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; *param_1 = juce::ChildProcessMaster::vftable; FUN_1812a4850(); puVar1 = (undefined8 *)param_1[2]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1,param_3,param_4,uVar2); } _Memory = (longlong *)param_1[1]; if (_Memory != (longlong *)0x0) { if (*_Memory != 0) { FUN_18049b510(); } /* WARNING: Subroutine does not return */ free(_Memory); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1812a4850 size=101 ############ void FUN_1812a4850(longlong param_1) { longlong *_Memory; if (*(longlong *)(param_1 + 0x10) != 0) { /* WARNING: Subroutine does not return */ free((void *)0x0); } _Memory = *(longlong **)(param_1 + 8); *(undefined8 *)(param_1 + 8) = 0; if (_Memory != (longlong *)0x0) { if (*_Memory != 0) { FUN_18049b510(); } /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 1804d0e60 size=77 ############ undefined8 * FUN_1804d0e60(undefined8 *param_1,uint param_2) { undefined8 *puVar1; *param_1 = juce::ChildProcessSlave::vftable; puVar1 = (undefined8 *)param_1[1]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d0eb0 size=137 ############ undefined8 * FUN_1804d0eb0(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { *param_1 = juce::NetworkServiceDiscovery::Advertiser::vftable; FUN_18122afa0(param_1,2000,param_3,param_4,0xfffffffffffffffe); FUN_181238650(param_1 + 0x46); FUN_1812386d0(param_1 + 0x46); FUN_1812472e0(param_1 + 0x40); FUN_18122b690(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1812386d0 size=130 ############ void FUN_1812386d0(longlong param_1) { uint uVar1; uint *puVar2; if (*(longlong *)(param_1 + 0x20) != 0) { freeaddrinfo(); } FUN_181238650(param_1); DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x28)); puVar2 = (uint *)(*(longlong *)(param_1 + 0x10) + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(*(longlong *)(param_1 + 8) + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 1804d0f40 size=326 ############ undefined8 * FUN_1804d0f40(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; uint uVar2; int iVar3; longlong *plVar4; undefined8 *puVar5; uint *_Memory; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; *param_1 = juce::NetworkServiceDiscovery::AvailableServiceList::vftable; param_1[0x40] = juce::NetworkServiceDiscovery::AvailableServiceList::vftable; FUN_181238650(param_1 + 0x4a); FUN_18122afa0(param_1,2000,param_3,param_4,uVar6); FUN_1804d1bd0(param_1 + 0x5c); DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x56)); _Memory = (uint *)(param_1[0x55] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1812386d0(param_1 + 0x4a); plVar4 = (longlong *)param_1[0x49]; if (plVar4 != (longlong *)0x0) { (**(code **)(*plVar4 + 0x20))(plVar4,plVar4 != param_1 + 0x42); param_1[0x49] = 0; } param_1[0x40] = juce::AsyncUpdater::vftable; LOCK(); *(undefined4 *)(param_1[0x41] + 0x18) = 0; UNLOCK(); puVar5 = (undefined8 *)param_1[0x41]; if (puVar5 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar5 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar5)(puVar5,1); } } FUN_18122b690(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d1bd0 size=164 ############ void FUN_1804d1bd0(longlong *param_1) { longlong lVar1; void *pvVar2; longlong lVar3; void *_Memory; lVar3 = *param_1; if (lVar3 == 0) { return; } lVar1 = param_1[1]; for (; lVar3 != lVar1; lVar3 = lVar3 + 0x30) { FUN_1804d1090(lVar3); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x30) * 0x30)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1804d1640 size=314 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1804d1640(HWND param_1,longlong *param_2) { int iVar1; void *pvVar2; uint *_Memory; uint uVar3; undefined1 auStack_c8 [32]; longlong local_a8; HWND local_a0; WCHAR local_98 [64]; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_c8; if (param_1 != DAT_1826736b0) { local_a0 = param_1; memset(local_98,0,0x80); GetWindowTextW(param_1,local_98,0x3f); FUN_18049c800(&local_a8,local_98); iVar1 = FUN_1812334e0(&local_a8); _Memory = (uint *)(local_a8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (iVar1 == 0) { iVar1 = *(int *)((longlong)param_2 + 0xc) + 1; if ((int)*(uint *)(param_2 + 1) < iVar1) { uVar3 = *(int *)((longlong)param_2 + 0xc) + 9 + iVar1 / 2 & 0xfffffff8; if (*(uint *)(param_2 + 1) != uVar3) { pvVar2 = (void *)*param_2; if ((int)uVar3 < 1) { /* WARNING: Subroutine does not return */ free(pvVar2); } if (pvVar2 == (void *)0x0) { pvVar2 = malloc((longlong)(int)uVar3 * 8); *param_2 = (longlong)pvVar2; } else { pvVar2 = realloc(pvVar2,(longlong)(int)uVar3 * 8); *param_2 = (longlong)pvVar2; } } *(uint *)(param_2 + 1) = uVar3; } iVar1 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar1 + 1; *(HWND *)(*param_2 + (longlong)iVar1 * 8) = local_a0; } } } ############ FUN_ 1804d18e0 size=96 ############ undefined8 * FUN_1804d18e0(undefined8 *param_1,uint param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(param_1[2] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d1940 size=77 ############ undefined8 * FUN_1804d1940(undefined8 *param_1,uint param_2) { undefined8 *puVar1; *param_1 = juce::MountedVolumeListChangeDetector::vftable; puVar1 = (undefined8 *)param_1[1]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d2160 size=480 ############ longlong FUN_1804d2160(longlong *param_1,longlong param_2) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; ulonglong uVar4; longlong lVar5; longlong lVar6; longlong lVar7; longlong lVar8; void *_Memory; longlong lVar9; lVar6 = *param_1; lVar7 = (param_2 - lVar6) / 6 + (param_2 - lVar6 >> 0x3f); lVar8 = (param_1[1] - lVar6) / 0x30; if (lVar8 == 0x555555555555555) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar1 = lVar8 + 1; uVar3 = (param_1[2] - lVar6) / 0x30; uVar4 = uVar1; if ((uVar3 <= 0x555555555555555 - (uVar3 >> 1)) && (uVar4 = (uVar3 >> 1) + uVar3, uVar4 < uVar1)) { uVar4 = uVar1; } lVar6 = uVar4 * 0x30; if (0x555555555555555 < uVar4) { lVar6 = -1; } lVar5 = FUN_180480500(lVar6); lVar9 = ((lVar7 >> 3) - (lVar7 >> 0x3f)) * 0x30; FUN_1804d2100(); lVar8 = param_1[1]; lVar7 = *param_1; lVar6 = lVar5; if (param_2 != lVar8) { FUN_1804d26f0(*param_1,param_2,lVar5); lVar8 = param_1[1]; lVar6 = lVar9 + lVar5 + 0x30; lVar7 = param_2; } FUN_1804d26f0(lVar7,lVar8,lVar6); lVar6 = *param_1; if (lVar6 != 0) { lVar8 = param_1[1]; for (; lVar6 != lVar8; lVar6 = lVar6 + 0x30) { FUN_1804d1090(lVar6); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x30) * 0x30)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar5; param_1[1] = uVar1 * 0x30 + lVar5; param_1[2] = uVar4 * 0x30 + lVar5; return *param_1 + lVar9; } ############ FUN_ 1804d2350 size=917 ############ void FUN_1804d2350(longlong *param_1,longlong param_2,longlong param_3,undefined1 param_4) { longlong *plVar1; uint uVar2; undefined4 uVar3; undefined4 uVar4; uint *puVar5; longlong lVar6; longlong lVar7; longlong *plVar8; longlong local_a8; longlong *local_a0; longlong local_98; longlong local_90; undefined4 local_88; undefined4 uStack_84; undefined4 uStack_80; undefined4 uStack_7c; undefined1 local_78; undefined4 local_74; longlong local_70; longlong local_68; longlong local_60; longlong local_58; longlong lStack_50; undefined1 local_48; undefined4 local_44; longlong local_40; lVar6 = param_2 - (longlong)param_1; do { lVar6 = lVar6 / 0x30; if (lVar6 < 0x21) { LAB_1804d245d: if (1 < lVar6) { FUN_1804d3160(param_1,param_2); } return; } if (param_3 < 1) { if (0x20 < lVar6) { lVar6 = (param_2 - (longlong)param_1) / 6 + (param_2 - (longlong)param_1 >> 0x3f); lVar6 = (lVar6 >> 3) - (lVar6 >> 0x3f); lVar7 = lVar6 >> 1; if (0 < lVar7) { plVar8 = param_1 + lVar7 * 6 + 1; do { local_98 = plVar8[-7]; plVar1 = plVar8 + -6; plVar8[-7] = (longlong)&DAT_1821dbf98; lVar7 = lVar7 + -1; local_90 = *plVar1; *plVar1 = (longlong)&DAT_1821dbf98; local_88 = (undefined4)plVar8[-5]; uStack_84 = *(undefined4 *)((longlong)plVar8 + -0x24); uStack_80 = (undefined4)plVar8[-4]; uStack_7c = *(undefined4 *)((longlong)plVar8 + -0x1c); local_78 = (undefined1)plVar8[-3]; local_74 = *(undefined4 *)((longlong)plVar8 + -0x14); local_70 = plVar8[-2]; FUN_1804d3460(param_1,lVar7,lVar6,&local_98,param_4); puVar5 = (uint *)(local_90 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_98 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } plVar8 = plVar1; } while (0 < lVar7); } if (lVar6 < 2) { return; } plVar8 = (longlong *)(param_2 + -0x28); do { if (1 < lVar6) { local_68 = plVar8[-1]; plVar8[-1] = (longlong)&DAT_1821dbf98; local_60 = *plVar8; *plVar8 = (longlong)&DAT_1821dbf98; local_58 = plVar8[1]; lStack_50 = plVar8[2]; local_48 = (undefined1)plVar8[3]; local_44 = *(undefined4 *)((longlong)plVar8 + 0x1c); local_40 = plVar8[4]; lVar6 = plVar8[-1]; plVar8[-1] = *param_1; *param_1 = lVar6; lVar6 = *plVar8; *plVar8 = param_1[1]; param_1[1] = lVar6; uVar3 = *(undefined4 *)((longlong)param_1 + 0x14); lVar6 = param_1[3]; uVar4 = *(undefined4 *)((longlong)param_1 + 0x1c); *(int *)(plVar8 + 1) = (int)param_1[2]; *(undefined4 *)((longlong)plVar8 + 0xc) = uVar3; *(int *)(plVar8 + 2) = (int)lVar6; *(undefined4 *)((longlong)plVar8 + 0x14) = uVar4; *(char *)(plVar8 + 3) = (char)param_1[4]; *(undefined4 *)((longlong)plVar8 + 0x1c) = *(undefined4 *)((longlong)param_1 + 0x24); plVar8[4] = param_1[5]; FUN_1804d3460(param_1,0,((-8 - (longlong)param_1) + (longlong)plVar8) / 0x30,&local_68, param_4); puVar5 = (uint *)(local_60 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_68 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } plVar8 = plVar8 + -6; lVar6 = ((0x28 - (longlong)param_1) + (longlong)plVar8) / 0x30; } while (1 < lVar6); return; } goto LAB_1804d245d; } FUN_1804d2770(&local_a8,param_1,param_2,param_4); plVar8 = local_a0; lVar7 = local_a8; param_3 = (param_3 >> 1) + (param_3 >> 2); lVar6 = (param_2 - (longlong)local_a0) / 6 + (param_2 - (longlong)local_a0 >> 0x3f); if ((local_a8 - (longlong)param_1) / 0x30 < (lVar6 >> 3) - (lVar6 >> 0x3f)) { FUN_1804d2350(param_1,local_a8,param_3,param_4); param_1 = plVar8; lVar7 = param_2; } else { FUN_1804d2350(local_a0,param_2,param_3,param_4); } lVar6 = lVar7 - (longlong)param_1; param_2 = lVar7; } while( true ); } ############ FUN_ 1804d4cc0 size=43 ############ undefined8 * FUN_1804d4cc0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::MPESynthesiserVoice::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d4f10 size=33 ############ void * FUN_1804d4f10(void *param_1,ulonglong param_2) { if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d4ff0 size=129 ############ undefined8 * FUN_1804d4ff0(undefined8 *param_1,ulonglong param_2) { undefined8 *puVar1; *param_1 = juce::IIRFilterAudioSource::vftable; FUN_1804d5870(param_1 + 3); 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_1804d5050; (**(code **)*puVar1)(puVar1,1); } puVar1 = (undefined8 *)param_1[1]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } LAB_1804d5050: if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d5870 size=178 ############ void FUN_1804d5870(longlong *param_1) { void *_Dst; void *_Memory; int iVar1; longlong lVar2; longlong lVar3; iVar1 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar1) { lVar2 = (longlong)iVar1 * 8; lVar3 = lVar2; do { _Memory = *(void **)(lVar3 + *param_1); _Dst = (void *)(lVar2 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar1) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } lVar2 = lVar2 + -8; lVar3 = lVar3 + -8; iVar1 = iVar1 + -1; } while (-1 < iVar1); } *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x0001804d591b. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 1804d51c0 size=139 ############ undefined8 * FUN_1804d51c0(undefined8 *param_1,ulonglong param_2) { undefined8 *puVar1; *param_1 = juce::ReverbAudioSource::vftable; FUN_1804d5250(param_1 + 9); if (*(char *)(param_1 + 8) == '\0') { param_1[7] = 0; } else { puVar1 = (undefined8 *)param_1[7]; param_1[7] = 0; if (puVar1 == (undefined8 *)0x0) goto LAB_1804d5220; (**(code **)*puVar1)(puVar1,1); } puVar1 = (undefined8 *)param_1[7]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } LAB_1804d5220: DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 1)); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d52d0 size=43 ############ undefined8 * FUN_1804d52d0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ToneGeneratorAudioSource::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d5bc0 size=43 ############ undefined8 * FUN_1804d5bc0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::SmoothedValueBase_> ::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d72c0 size=52 ############ void * FUN_1804d72c0(void *param_1,ulonglong param_2) { FUN_1812c2020(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d7470 size=52 ############ void * FUN_1804d7470(void *param_1,ulonglong param_2) { FUN_1812bda70(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d74b0 size=284 ############ void FUN_1804d74b0(undefined8 *param_1) { void *pvVar1; *param_1 = juce::AudioProcessorGraph::vftable; param_1[0x29] = juce::AudioProcessorGraph::vftable; param_1[0x30] = juce::AudioProcessorGraph::vftable; LOCK(); *(undefined4 *)(param_1[0x31] + 0x18) = 0; UNLOCK(); FUN_1812bcb80(); EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 9)); if (*(int *)((longlong)param_1 + 0x19c) == 0) { LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 9)); } else { FUN_180488f10(param_1 + 0x32); if (*(int *)(param_1 + 0x33) != 0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0x32]); } *(undefined4 *)(param_1 + 0x33) = 0; FUN_1812bd140(param_1); LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 9)); } pvVar1 = (void *)param_1[0x36]; if (pvVar1 != (void *)0x0) { FUN_1804dcc10(pvVar1); /* WARNING: Subroutine does not return */ free(pvVar1); } pvVar1 = (void *)param_1[0x35]; if (pvVar1 != (void *)0x0) { FUN_1804dcc10(pvVar1); /* WARNING: Subroutine does not return */ free(pvVar1); } FUN_180488f10(param_1 + 0x32); *(undefined4 *)((longlong)param_1 + 0x19c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x32]); } ############ FUN_ 1812bcb80 size=146 ############ void FUN_1812bcb80(longlong param_1) { void *_Memory; void *_Memory_00; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x48)); _Memory = *(void **)(param_1 + 0x1a8); *(undefined8 *)(param_1 + 0x1a8) = 0; _Memory_00 = *(void **)(param_1 + 0x1b0); *(undefined8 *)(param_1 + 0x1b0) = 0; LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x48)); if (_Memory_00 != (void *)0x0) { FUN_1804dcc10(_Memory_00); /* WARNING: Subroutine does not return */ free(_Memory_00); } if (_Memory != (void *)0x0) { FUN_1804dcc10(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 1804d76b0 size=62 ############ undefined8 * FUN_1804d76b0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::AudioProcessorGraph::AudioGraphIOProcessor::vftable; FUN_1812c2020(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d76f0 size=77 ############ undefined8 * FUN_1804d76f0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::GenericAudioProcessorEditor::vftable; FUN_1804db450(param_1 + 0x22); FUN_1812bda70(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d7800 size=476 ############ longlong * FUN_1804d7800(longlong *param_1,longlong *param_2) { int iVar1; longlong lVar2; int *piVar3; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(*param_2 + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = *param_1; *param_1 = *param_2; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } if ((*(uint *)(param_2[1] + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(param_2[1] + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = param_1[1]; param_1[1] = param_2[1]; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } if ((*(uint *)(param_2[2] + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(param_2[2] + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = param_1[2]; param_1[2] = param_2[2]; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } if ((*(uint *)(param_2[3] + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(param_2[3] + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = param_1[3]; param_1[3] = param_2[3]; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } if ((*(uint *)(param_2[4] + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(param_2[4] + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = param_1[4]; param_1[4] = param_2[4]; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } if ((*(uint *)(param_2[5] + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(param_2[5] + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = param_1[5]; param_1[5] = param_2[5]; UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } FUN_181249460(param_1 + 6,param_2 + 6); param_1[7] = param_2[7]; param_1[8] = param_2[8]; *(int *)(param_1 + 9) = (int)param_2[9]; *(undefined1 *)((longlong)param_1 + 0x4c) = *(undefined1 *)((longlong)param_2 + 0x4c); *(int *)(param_1 + 10) = (int)param_2[10]; *(undefined4 *)((longlong)param_1 + 0x54) = *(undefined4 *)((longlong)param_2 + 0x54); *(char *)(param_1 + 0xb) = (char)param_2[0xb]; return param_1; } ############ FUN_ 1804d79e0 size=174 ############ longlong * FUN_1804d79e0(longlong *param_1,undefined8 param_2) { uint uVar1; longlong lVar2; int iVar3; longlong *plVar4; uint *_Memory; longlong *local_res8; local_res8 = param_1; plVar4 = (longlong *)FUN_1812316c0(param_2,&local_res8,0x5c,0x2f,0xfffffffffffffffe); iVar3 = FUN_181232460(plVar4,&DAT_1824968a4); if (iVar3 < 0) { lVar2 = *plVar4; *param_1 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } } else { FUN_1812490c0(plVar4,param_1,0,iVar3); } _Memory = (uint *)(local_res8 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 1804d7ec0 size=43 ############ undefined8 * FUN_1804d7ec0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::KnownPluginList::CustomScanner::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d7f20 size=379 ############ undefined8 * FUN_1804d7f20(undefined8 *param_1,uint param_2) { uint uVar1; undefined8 *puVar2; uint *puVar3; *param_1 = juce::PluginListComponent::vftable; param_1[0x16] = juce::PluginListComponent::vftable; param_1[0x17] = juce::PluginListComponent::vftable; FUN_1812a72f0(param_1[0x19]); puVar2 = (undefined8 *)param_1[0x7f]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar2 = (undefined8 *)param_1[0x7e]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar3 = (uint *)(param_1[0x7c] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(param_1[0x7b] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } param_1[0x41] = juce::TextButton::vftable; param_1[0x57] = juce::TextButton::vftable; FUN_181337760(); param_1[0x1b] = juce::TableListBox::vftable; param_1[0x31] = juce::TableListBox::vftable; param_1[0x3c] = juce::TableListBox::vftable; param_1[0x3d] = juce::TableListBox::vftable; FUN_1812e8430(); puVar3 = (uint *)(param_1[0x1a] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18123e3a0 size=553 ############ void FUN_18123e3a0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; uint uVar2; char cVar3; int iVar4; uint *puVar5; undefined8 *puVar6; uint uVar7; uint uVar8; longlong lVar9; longlong local_res8; longlong local_res10; undefined8 uVar10; uVar10 = 0xfffffffffffffffe; uVar8 = *(int *)((longlong)param_1 + 0xc) - 1; if (-1 < (int)uVar8) { plVar1 = (longlong *)((longlong)ThreadLocalStoragePointer + (ulonglong)_tls_index * 8); lVar9 = (longlong)(int)uVar8 << 3; do { if (uVar8 < *(uint *)((longlong)param_1 + 0xc)) { puVar6 = (undefined8 *)(*param_1 + lVar9); } else { if (*(int *)(*plVar1 + 0xc) < DAT_18267af70) { _Init_thread_header(&DAT_18267af70); if (DAT_18267af70 == -1) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } } puVar6 = &DAT_18267af68; } FUN_181241890(&local_res10,puVar6,param_3,param_4,uVar10); uVar7 = *(uint *)((longlong)param_1 + 0xc); while (uVar7 = uVar7 - 1, -1 < (int)uVar7) { if (uVar7 < *(uint *)((longlong)param_1 + 0xc)) { puVar6 = (undefined8 *)(*param_1 + (longlong)(int)uVar7 * 8); } else { if (*(int *)(*plVar1 + 0xc) < DAT_18267af70) { _Init_thread_header(&DAT_18267af70); if (DAT_18267af70 == -1) { DAT_18267af68 = &DAT_1821dbf98; atexit(FUN_181a4a7b0); _Init_thread_footer(&DAT_18267af70); } } puVar6 = &DAT_18267af68; } FUN_181241890(&local_res8,puVar6); if (uVar8 != uVar7) { cVar3 = FUN_181240ff0(&local_res10,&local_res8); if (cVar3 == '\0') { if (local_res10 != local_res8) { iVar4 = FUN_18049bb30(); if (iVar4 != 0) goto LAB_18123e4a2; } } FUN_180488fc0(param_1,uVar8); puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } break; } LAB_18123e4a2: puVar5 = (uint *)(local_res8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } lVar9 = lVar9 + -8; uVar8 = uVar8 - 1; } while (-1 < (int)uVar8); } return; } ############ FUN_ 1812309c0 size=463 ############ undefined8 * FUN_1812309c0(undefined8 *param_1,undefined8 *param_2) { uint uVar1; int iVar2; undefined8 uVar3; longlong *plVar4; undefined8 *puVar5; longlong lVar6; uint *puVar7; char *pcVar8; bool bVar9; char *local_res8; undefined1 local_res20 [8]; undefined1 local_48 [8]; longlong *local_40; byte *local_38; undefined8 local_30; char *local_28; local_30 = 0xfffffffffffffffe; local_res8 = (char *)*param_1; if (*local_res8 == '\0') { uVar3 = FUN_181233f40(local_res20,0x22); FUN_181232a20(param_2,uVar3,0x22); return param_2; } if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } iVar2 = FUN_180492f10(&local_res8); if (iVar2 != 0x22) { plVar4 = (longlong *)FUN_181233f40(local_48,0x22); local_40 = plVar4; puVar5 = (undefined8 *)FUN_181232d30(plVar4,&local_res8); local_40 = (longlong *)*puVar5; if ((*(uint *)((longlong)local_40 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)((longlong)local_40 + -0x10) = *(int *)((longlong)local_40 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(*plVar4 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } local_28 = local_res8; puVar7 = (uint *)(local_res8 + -0x10); local_res8 = (char *)local_40; if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } pcVar8 = local_res8; if (*local_res8 != '\0') { lVar6 = -1; do { lVar6 = lVar6 + 1; } while (local_res8[lVar6] != '\0'); local_38 = (byte *)(local_res8 + lVar6); iVar2 = 0; do { local_38 = local_38 + -1; if ((*local_38 & 0xc0) != 0x80) break; iVar2 = iVar2 + 1; } while (iVar2 < 4); iVar2 = FUN_180492f10(&local_38); if (iVar2 == 0x22) goto LAB_181230b52; } FUN_181232b70(&local_res8,0x22); pcVar8 = local_res8; LAB_181230b52: *param_2 = pcVar8; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar9 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar9) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return param_2; } ############ FUN_ 181243270 size=345 ############ ulonglong * FUN_181243270(longlong param_1,ulonglong *param_2,undefined8 param_3,ulonglong *param_4) { uint uVar1; ulonglong uVar2; bool bVar3; bool bVar4; int iVar5; ulonglong *puVar6; uint *puVar7; ulonglong local_res8; longlong local_28 [2]; local_res8 = local_res8 & 0xffffffff00000000; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x38)); iVar5 = FUN_1812498b0(param_1 + 8,param_3,*(undefined1 *)(param_1 + 100),0); if (iVar5 < 0) { if (*(longlong *)(param_1 + 0x30) == 0) { local_res8 = *param_4; bVar4 = false; bVar3 = true; if ((*(uint *)(local_res8 - 0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 - 0x10) = *(int *)(local_res8 - 0x10) + 1; UNLOCK(); } puVar6 = &local_res8; } else { bVar4 = true; bVar3 = false; puVar6 = (ulonglong *)FUN_181243270(*(longlong *)(param_1 + 0x30),local_28,param_3,param_4); } uVar2 = *puVar6; *param_2 = uVar2; if ((*(uint *)(uVar2 - 0x10) & 0x30000000) == 0) { LOCK(); *(int *)(uVar2 - 0x10) = *(int *)(uVar2 - 0x10) + 1; UNLOCK(); } if (bVar3) { puVar7 = (uint *)(local_res8 - 0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } if ((bVar4) && (puVar7 = (uint *)(local_28[0] + -0x10), (*puVar7 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } else { puVar6 = (ulonglong *)FUN_181249970(param_1 + 0x18,iVar5); uVar2 = *puVar6; *param_2 = uVar2; if ((*(uint *)(uVar2 - 0x10) & 0x30000000) == 0) { LOCK(); *(int *)(uVar2 - 0x10) = *(int *)(uVar2 - 0x10) + 1; UNLOCK(); } } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x38)); return param_2; } ############ FUN_ 18134f050 size=574 ############ undefined8 FUN_18134f050(longlong param_1) { uint uVar1; char *pcVar2; char cVar3; BOOL BVar4; undefined8 *_Memory; undefined8 *puVar5; uint *puVar6; undefined8 uVar7; undefined4 local_res10 [2]; DWORD local_res18 [2]; undefined4 local_res20 [2]; longlong local_c8 [3]; HANDLE local_b0; char *local_a8; longlong local_90; LPCVOID local_88; longlong local_78; longlong local_70; undefined1 local_68 [16]; undefined8 local_58; char *local_50; char *local_48; undefined1 local_40 [40]; local_58 = 0xfffffffffffffffe; _Memory = (undefined8 *)FUN_18134f980(); if ((_Memory != (undefined8 *)0x0) && (*(char *)(_Memory + 1) == '\0')) { uVar7 = 0; goto LAB_18134f212; } FUN_18123df70(local_68,param_1 + 0xb8,0); FUN_18123ed20(local_c8,local_68,0x4000); if (*local_a8 == '\0') { if (*(int *)(param_1 + 0xe8) == 1) { local_res10[0] = 0x50525043; (**(code **)(local_c8[0] + 0x20))(local_c8,local_res10); if (local_90 != 0) { local_res18[0] = 0; if ((local_b0 != (HANDLE)0x0) && (BVar4 = WriteFile(local_b0,local_88,(DWORD)local_90,local_res18,(LPOVERLAPPED)0x0), BVar4 == 0)) { puVar5 = (undefined8 *)FUN_1812181b0(&local_78); local_50 = local_a8; pcVar2 = (char *)*puVar5; *puVar5 = local_a8; puVar6 = (uint *)(local_78 + -0x10); local_a8 = pcVar2; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } local_90 = 0; } if ((local_b0 != (HANDLE)0x0) && (BVar4 = FlushFileBuffers(local_b0), BVar4 == 0)) { puVar5 = (undefined8 *)FUN_1812181b0(&local_70); local_48 = local_a8; pcVar2 = (char *)*puVar5; *puVar5 = local_a8; puVar6 = (uint *)(local_70 + -0x10); local_a8 = pcVar2; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } FUN_1812192a0(local_40,local_c8); cVar3 = FUN_18134ef00(param_1,local_40); if (cVar3 == '\0') { FUN_181218f80(local_40); goto LAB_18134f1fc; } FUN_181218f80(local_40); } else { local_res20[0] = 0x504f5250; (**(code **)(local_c8[0] + 0x20))(local_c8,local_res20,4); cVar3 = FUN_18134ef00(param_1,local_c8); if (cVar3 == '\0') goto LAB_18134f1fc; } FUN_18123ec40(local_c8); cVar3 = FUN_18123dec0(local_68); if (cVar3 == '\0') goto LAB_18134f205; *(undefined1 *)(param_1 + 0xf9) = 0; uVar7 = 1; } else { LAB_18134f1fc: FUN_18123ec40(local_c8); LAB_18134f205: uVar7 = 0; } FUN_181244540(local_68); LAB_18134f212: if (_Memory == (undefined8 *)0x0) { return uVar7; } FUN_181245930(*_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1812470e0 size=495 ############ undefined1 FUN_1812470e0(undefined8 param_1,undefined8 param_2,undefined8 param_3) { uint uVar1; char *pcVar2; undefined1 uVar3; char cVar4; BOOL BVar5; undefined8 *puVar6; uint *puVar7; int iVar8; DWORD local_res20 [2]; longlong local_98; longlong local_90; longlong local_88; longlong local_80; undefined1 local_78 [24]; HANDLE local_60; char *local_58; longlong local_40; LPCVOID local_38; undefined8 local_28; char *local_20; char *local_18; local_28 = 0xfffffffffffffffe; FUN_18123df70(&local_98,param_2,0); FUN_18123ed20(local_78,&local_98,0x4000); if (*local_58 == '\0') { FUN_181246e90(param_1,local_78,param_3); if (local_40 != 0) { local_res20[0] = 0; if ((local_60 != (HANDLE)0x0) && (BVar5 = WriteFile(local_60,local_38,(DWORD)local_40,local_res20,(LPOVERLAPPED)0x0), BVar5 == 0)) { puVar6 = (undefined8 *)FUN_1812181b0(&local_88); local_20 = local_58; pcVar2 = (char *)*puVar6; *puVar6 = local_58; puVar7 = (uint *)(local_88 + -0x10); local_58 = pcVar2; if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } local_40 = 0; } if ((local_60 != (HANDLE)0x0) && (BVar5 = FlushFileBuffers(local_60), BVar5 == 0)) { puVar6 = (undefined8 *)FUN_1812181b0(&local_80); local_18 = local_58; pcVar2 = (char *)*puVar6; *puVar6 = local_58; puVar7 = (uint *)(local_80 + -0x10); local_58 = pcVar2; if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } } if (*local_58 == '\0') { FUN_18123ec40(local_78); uVar3 = FUN_18123dec0(&local_98); goto LAB_181247243; } } FUN_18123ec40(local_78); uVar3 = 0; LAB_181247243: iVar8 = 4; do { cVar4 = FUN_181244b10(&local_98); if (cVar4 != '\0') break; Sleep(0x32); iVar8 = iVar8 + -1; } while (-1 < iVar8); puVar7 = (uint *)(local_90 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_98 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } return uVar3; } ############ FUN_ 1812447f0 size=290 ############ undefined1 FUN_1812447f0(undefined8 param_1,undefined8 param_2,undefined1 param_3,undefined1 param_4, undefined8 param_5) { uint uVar1; undefined1 uVar2; char cVar3; uint *puVar4; int iVar5; longlong local_70; longlong local_68; undefined1 local_58 [32]; char *local_38; FUN_18123df70(&local_70,param_1,1); FUN_18123ed20(local_58,&local_70,0x4000); if (*local_38 == '\0') { FUN_18122e350(local_58,param_2,param_3,param_4,param_5); } FUN_18123ec40(local_58); uVar2 = FUN_18123dec0(&local_70); iVar5 = 4; do { cVar3 = FUN_181244b10(&local_70); if (cVar3 != '\0') break; Sleep(0x32); iVar5 = iVar5 + -1; } while (-1 < iVar5); puVar4 = (uint *)(local_68 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(local_70 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return uVar2; } ############ FUN_ 1812ba080 size=133 ############ undefined8 * FUN_1812ba080(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; uint *_Memory; longlong local_res18; undefined8 local_res20; *param_1 = 0; param_1[1] = 0; puVar2 = (undefined8 *)FUN_181244920(param_2,&local_res18,param_3,param_4,1,0xfffffffffffffffe); local_res20 = *puVar2; FUN_18122cec0(param_1); _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18122d5d0(param_1); return param_1; } ############ FUN_ 1804d9710 size=52 ############ void * FUN_1804d9710(void *param_1,ulonglong param_2) { FUN_18122acf0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d9750 size=52 ############ void * FUN_1804d9750(void *param_1,ulonglong param_2) { FUN_1812c25c0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804d9790 size=52 ############ void * FUN_1804d9790(void *param_1,ulonglong param_2) { FUN_1812b67a0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804da1f0 size=52 ############ void * FUN_1804da1f0(void *param_1,ulonglong param_2) { FUN_1812b5b90(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1812b5b90 size=87 ############ void FUN_1812b5b90(undefined8 *param_1) { undefined1 local_res8 [8]; *param_1 = juce::AudioProcessorValueTreeState::vftable; param_1[3] = juce::AudioProcessorValueTreeState::vftable; FUN_1812a7720(); DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xf)); FUN_1804de3a0(param_1 + 0xc,local_res8,*(undefined8 *)param_1[0xd],(undefined8 *)param_1[0xd]); /* WARNING: Subroutine does not return */ free((void *)param_1[0xd]); } ############ FUN_ 1804de3a0 size=346 ############ undefined8 * FUN_1804de3a0(longlong param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { longlong *plVar1; char cVar2; longlong *plVar3; undefined8 *puVar4; longlong *plVar5; longlong *plVar6; void *_Memory; plVar1 = (longlong *)(param_1 + 8); plVar3 = (longlong *)*plVar1; if ((param_3 == (longlong *)*plVar3) && (param_4 == plVar3)) { FUN_1804df860(param_1,plVar3[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*plVar1 + 8) = plVar3; *(longlong **)*plVar1 = plVar3; *(longlong **)(*plVar1 + 0x10) = plVar3; *(undefined8 *)(param_1 + 0x10) = 0; *param_2 = *(undefined8 *)*plVar1; } else { if (param_3 != param_4) { plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar6 = (longlong *)param_3[1]; plVar3 = param_3; while ((plVar5 = plVar6, cVar2 == '\0' && (plVar3 == (longlong *)plVar5[2]))) { cVar2 = *(char *)(plVar5[1] + 0x19); plVar6 = (longlong *)plVar5[1]; plVar3 = plVar5; } } plVar3 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar3 + 0x19) == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); while (cVar2 == '\0') { plVar3 = (longlong *)*plVar3; cVar2 = *(char *)((longlong)plVar3 + 0x19); } } else { cVar2 = *(char *)(param_3[1] + 0x19); plVar3 = (longlong *)param_3[1]; while ((plVar6 = plVar3, cVar2 == '\0' && (param_3 == (longlong *)plVar6[2]))) { cVar2 = *(char *)(plVar6[1] + 0x19); plVar3 = (longlong *)plVar6[1]; param_3 = plVar6; } } _Memory = (void *)FUN_18047db40(plVar1); puVar4 = *(undefined8 **)((longlong)_Memory + 0x28); if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 1804de830 size=342 ############ longlong * FUN_1804de830(undefined8 *param_1,longlong *param_2,longlong param_3,int param_4) { int iVar1; int iVar2; int iVar3; void *pvVar4; uint uVar5; undefined8 *puVar6; undefined8 *local_48; undefined8 *local_40; longlong local_38; *param_2 = 0; param_2[1] = 0; iVar1 = *(int *)(param_3 + 0x10); FUN_1812bcde0(*param_1,&local_48,param_3,param_4,1,0xfffffffffffffffe); for (puVar6 = local_48; puVar6 != local_40; puVar6 = puVar6 + 2) { if ((*(int *)(puVar6 + 1) == iVar1) && (*(int *)((longlong)puVar6 + 0xc) == param_4)) { iVar2 = *(int *)((longlong)param_2 + 0xc); iVar3 = iVar2 + 1; if ((int)*(uint *)(param_2 + 1) < iVar3) { if (iVar3 < 0) { iVar3 = iVar2 + 2; } uVar5 = iVar2 + 9 + (iVar3 >> 1) & 0xfffffff8; if (*(uint *)(param_2 + 1) != uVar5) { pvVar4 = (void *)*param_2; if ((int)uVar5 < 1) { /* WARNING: Subroutine does not return */ free(pvVar4); } if (pvVar4 == (void *)0x0) { pvVar4 = malloc((longlong)(int)uVar5 * 8); *param_2 = (longlong)pvVar4; } else { pvVar4 = realloc(pvVar4,(longlong)(int)uVar5 * 8); *param_2 = (longlong)pvVar4; } } *(uint *)(param_2 + 1) = uVar5; } iVar3 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar3 + 1; *(undefined8 *)(*param_2 + (longlong)iVar3 * 8) = *puVar6; } } if (local_48 != (undefined8 *)0x0) { puVar6 = local_48; if ((0xfff < (local_38 - (longlong)local_48 & 0xfffffffffffffff0U)) && (puVar6 = (undefined8 *)local_48[-1], 0x1f < (ulonglong)((longlong)local_48 + (-8 - (longlong)puVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(puVar6); } return param_2; } ############ FUN_ 1804dfd70 size=415 ############ longlong FUN_1804dfd70(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { void *pvVar1; undefined8 uVar2; undefined8 *puVar3; ulonglong uVar4; undefined8 *puVar5; undefined8 *puVar6; ulonglong uVar7; undefined8 *puVar8; void *_Memory; longlong lVar9; longlong lVar10; ulonglong uVar11; lVar9 = *param_1; lVar10 = param_1[1] - lVar9 >> 4; if (lVar10 == 0xfffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar11 = lVar10 + 1; uVar7 = param_1[2] - lVar9 >> 4; uVar4 = uVar11; if ((uVar7 <= 0xfffffffffffffff - (uVar7 >> 1)) && (uVar4 = (uVar7 >> 1) + uVar7, uVar4 < uVar11)) { uVar4 = uVar11; } lVar10 = uVar4 * 0x10; if (0xfffffffffffffff < uVar4) { lVar10 = -1; } puVar5 = (undefined8 *)FUN_180480500(lVar10); uVar2 = param_3[1]; uVar7 = (longlong)param_2 - lVar9 & 0xfffffffffffffff0; *(undefined8 *)(uVar7 + (longlong)puVar5) = *param_3; ((undefined8 *)(uVar7 + (longlong)puVar5))[1] = uVar2; puVar6 = (undefined8 *)param_1[1]; if (param_2 == puVar6) { puVar3 = puVar5; for (puVar8 = (undefined8 *)*param_1; puVar8 != puVar6; puVar8 = puVar8 + 2) { uVar2 = puVar8[1]; *puVar3 = *puVar8; puVar3[1] = uVar2; puVar3 = puVar3 + 2; } } else { puVar8 = puVar5; for (puVar6 = (undefined8 *)*param_1; puVar6 != param_2; puVar6 = puVar6 + 2) { uVar2 = puVar6[1]; *puVar8 = *puVar6; puVar8[1] = uVar2; puVar8 = puVar8 + 2; } puVar6 = (undefined8 *)param_1[1]; if (param_2 != puVar6) { lVar9 = uVar7 - (longlong)param_2; do { uVar2 = param_2[1]; puVar8 = (undefined8 *)((longlong)puVar5 + lVar9 + 0x10 + (longlong)param_2); *puVar8 = *param_2; puVar8[1] = uVar2; param_2 = param_2 + 2; } while (param_2 != puVar6); } } pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = (longlong)puVar5; param_1[1] = (longlong)(puVar5 + uVar11 * 2); param_1[2] = (longlong)(puVar5 + uVar4 * 2); return *param_1 + uVar7; } _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1804df210 size=43 ############ undefined8 * FUN_1804df210(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::GraphRenderSequence::RenderingOp::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804df2d0 size=43 ############ undefined8 * FUN_1804df2d0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::GraphRenderSequence::RenderingOp::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e2f20 size=606 ############ longlong * FUN_1804e2f20(longlong *param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; longlong *plVar2; int iVar3; longlong lVar4; int *piVar5; longlong *plVar6; longlong *plVar7; if (param_1 != param_2) { plVar6 = param_2 + 2; plVar7 = param_3; do { plVar1 = plVar6 + -0xc; param_3 = plVar7 + -0xc; plVar2 = plVar6 + -0xe; if ((*(uint *)(plVar6[-0xe] + -0x10) & 0x30000000) == 0) { LOCK(); piVar5 = (int *)(plVar6[-0xe] + -0x10); *piVar5 = *piVar5 + 1; UNLOCK(); } LOCK(); lVar4 = *param_3; *param_3 = *plVar2; UNLOCK(); piVar5 = (int *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(piVar5); } } if ((*(uint *)(plVar6[-0xd] + -0x10) & 0x30000000) == 0) { LOCK(); piVar5 = (int *)(plVar6[-0xd] + -0x10); *piVar5 = *piVar5 + 1; UNLOCK(); } LOCK(); lVar4 = plVar7[-0xb]; plVar7[-0xb] = plVar6[-0xd]; UNLOCK(); piVar5 = (int *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(piVar5); } } if ((*(uint *)(*plVar1 + -0x10) & 0x30000000) == 0) { LOCK(); piVar5 = (int *)(*plVar1 + -0x10); *piVar5 = *piVar5 + 1; UNLOCK(); } LOCK(); lVar4 = plVar7[-10]; plVar7[-10] = *plVar1; UNLOCK(); piVar5 = (int *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(piVar5); } } if ((*(uint *)(plVar6[-0xb] + -0x10) & 0x30000000) == 0) { LOCK(); piVar5 = (int *)(plVar6[-0xb] + -0x10); *piVar5 = *piVar5 + 1; UNLOCK(); } LOCK(); lVar4 = plVar7[-9]; plVar7[-9] = plVar6[-0xb]; UNLOCK(); piVar5 = (int *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(piVar5); } } if ((*(uint *)(plVar6[-10] + -0x10) & 0x30000000) == 0) { LOCK(); piVar5 = (int *)(plVar6[-10] + -0x10); *piVar5 = *piVar5 + 1; UNLOCK(); } LOCK(); lVar4 = plVar7[-8]; plVar7[-8] = plVar6[-10]; UNLOCK(); piVar5 = (int *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(piVar5); } } if ((*(uint *)(plVar6[-9] + -0x10) & 0x30000000) == 0) { LOCK(); piVar5 = (int *)(plVar6[-9] + -0x10); *piVar5 = *piVar5 + 1; UNLOCK(); } LOCK(); lVar4 = plVar7[-7]; plVar7[-7] = plVar6[-9]; UNLOCK(); piVar5 = (int *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(piVar5); } } if ((*(uint *)(plVar6[-8] + -0x10) & 0x30000000) == 0) { LOCK(); piVar5 = (int *)(plVar6[-8] + -0x10); *piVar5 = *piVar5 + 1; UNLOCK(); } LOCK(); lVar4 = plVar7[-6]; plVar7[-6] = plVar6[-8]; UNLOCK(); piVar5 = (int *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); iVar3 = *piVar5; *piVar5 = *piVar5 + -1; UNLOCK(); if (iVar3 == 0) { /* WARNING: Subroutine does not return */ free(piVar5); } } plVar7[-5] = plVar6[-7]; plVar7[-4] = plVar6[-6]; *(int *)(plVar7 + -3) = (int)plVar6[-5]; *(undefined1 *)((longlong)plVar7 + -0x14) = *(undefined1 *)((longlong)plVar6 + -0x24); *(int *)(plVar7 + -2) = (int)plVar6[-4]; *(undefined4 *)((longlong)plVar7 + -0xc) = *(undefined4 *)((longlong)plVar6 + -0x1c); *(char *)(plVar7 + -1) = (char)plVar6[-3]; plVar6 = plVar1; plVar7 = param_3; } while (plVar2 != param_1); } return param_3; } ############ FUN_ 1804e3e00 size=534 ############ longlong * FUN_1804e3e00(longlong *param_1,longlong *param_2,longlong *param_3) { longlong *plVar1; int iVar2; longlong lVar3; int *piVar4; longlong *plVar5; if (param_1 != param_2) { plVar5 = param_1 + 2; do { if ((*(uint *)(plVar5[-2] + -0x10) & 0x30000000) == 0) { LOCK(); piVar4 = (int *)(plVar5[-2] + -0x10); *piVar4 = *piVar4 + 1; UNLOCK(); } LOCK(); lVar3 = *param_3; *param_3 = plVar5[-2]; UNLOCK(); piVar4 = (int *)(lVar3 + -0x10); if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *piVar4; *piVar4 = *piVar4 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(piVar4); } } if ((*(uint *)(plVar5[-1] + -0x10) & 0x30000000) == 0) { LOCK(); piVar4 = (int *)(plVar5[-1] + -0x10); *piVar4 = *piVar4 + 1; UNLOCK(); } LOCK(); lVar3 = param_3[1]; param_3[1] = plVar5[-1]; UNLOCK(); piVar4 = (int *)(lVar3 + -0x10); if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *piVar4; *piVar4 = *piVar4 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(piVar4); } } if ((*(uint *)(*plVar5 + -0x10) & 0x30000000) == 0) { LOCK(); piVar4 = (int *)(*plVar5 + -0x10); *piVar4 = *piVar4 + 1; UNLOCK(); } LOCK(); lVar3 = param_3[2]; param_3[2] = *plVar5; UNLOCK(); piVar4 = (int *)(lVar3 + -0x10); if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *piVar4; *piVar4 = *piVar4 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(piVar4); } } if ((*(uint *)(plVar5[1] + -0x10) & 0x30000000) == 0) { LOCK(); piVar4 = (int *)(plVar5[1] + -0x10); *piVar4 = *piVar4 + 1; UNLOCK(); } LOCK(); lVar3 = param_3[3]; param_3[3] = plVar5[1]; UNLOCK(); piVar4 = (int *)(lVar3 + -0x10); if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *piVar4; *piVar4 = *piVar4 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(piVar4); } } if ((*(uint *)(plVar5[2] + -0x10) & 0x30000000) == 0) { LOCK(); piVar4 = (int *)(plVar5[2] + -0x10); *piVar4 = *piVar4 + 1; UNLOCK(); } LOCK(); lVar3 = param_3[4]; param_3[4] = plVar5[2]; UNLOCK(); piVar4 = (int *)(lVar3 + -0x10); if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *piVar4; *piVar4 = *piVar4 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(piVar4); } } if ((*(uint *)(plVar5[3] + -0x10) & 0x30000000) == 0) { LOCK(); piVar4 = (int *)(plVar5[3] + -0x10); *piVar4 = *piVar4 + 1; UNLOCK(); } LOCK(); lVar3 = param_3[5]; param_3[5] = plVar5[3]; UNLOCK(); piVar4 = (int *)(lVar3 + -0x10); if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *piVar4; *piVar4 = *piVar4 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(piVar4); } } FUN_181249460(param_3 + 6,plVar5 + 4); param_3[7] = plVar5[5]; param_3[8] = plVar5[6]; *(int *)(param_3 + 9) = (int)plVar5[7]; *(undefined1 *)((longlong)param_3 + 0x4c) = *(undefined1 *)((longlong)plVar5 + 0x3c); *(int *)(param_3 + 10) = (int)plVar5[8]; *(undefined4 *)((longlong)param_3 + 0x54) = *(undefined4 *)((longlong)plVar5 + 0x44); *(char *)(param_3 + 0xb) = (char)plVar5[9]; param_3 = param_3 + 0xc; plVar1 = plVar5 + 10; plVar5 = plVar5 + 0xc; } while (plVar1 != param_2); } return param_3; } ############ FUN_ 1804e04a0 size=43 ############ undefined8 * FUN_1804e04a0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::GraphRenderSequence::RenderingOp::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e04d0 size=43 ############ undefined8 * FUN_1804e04d0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::GraphRenderSequence::RenderingOp::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e0ac0 size=88 ############ void FUN_1804e0ac0(longlong *param_1) { longlong *_Memory; _Memory = (longlong *)param_1[7]; if (_Memory != (longlong *)0x0) { if ((undefined **)*_Memory != std::_Func_impl_no_alloc<,juce::String,double>:: vftable) { (*(code *)((undefined **)*_Memory)[4])(); param_1[7] = 0; return; } if (_Memory != param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } param_1[7] = 0; } return; } ############ FUN_ 1804e0b30 size=88 ############ void FUN_1804e0b30(longlong *param_1) { longlong *_Memory; _Memory = (longlong *)param_1[7]; if (_Memory != (longlong *)0x0) { if ((undefined **)*_Memory != std:: _Func_impl_no_alloc<,double,juce::String_const&___ptr64> ::vftable) { (*(code *)((undefined **)*_Memory)[4])(); param_1[7] = 0; return; } if (_Memory != param_1) { /* WARNING: Subroutine does not return */ free(_Memory); } param_1[7] = 0; } return; } ############ FUN_ 1804e25d0 size=79 ############ void FUN_1804e25d0(void *param_1,char param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = *(undefined8 **)((longlong)param_1 + 0x10); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 181248c30 size=520 ############ /* WARNING: Removing unreachable block (ram,0x000181248d4a) */ undefined8 * FUN_181248c30(undefined8 *param_1,undefined8 *param_2) { byte bVar1; byte bVar2; int iVar3; wint_t wVar4; ulonglong uVar5; byte bVar6; uint uVar7; uint uVar8; int iVar9; longlong lVar10; bool bVar11; undefined1 *local_30; byte *local_28; undefined1 *local_20; ulonglong local_18; ulonglong local_10; local_28 = (byte *)*param_1; local_30 = &DAT_1821dbf98; local_20 = (undefined1 *)0x0; local_18 = *(ulonglong *)(local_28 + -8); local_10 = 0; FUN_1812342b0(&local_30); local_20 = local_30; do { bVar1 = *local_28; wVar4 = (wint_t)bVar1; if ((char)bVar1 < '\0') { uVar8 = 0x7f; uVar7 = 0x40; iVar9 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar8 = uVar8 >> 1; iVar9 = iVar9 + 1; uVar7 = uVar7 >> 1; } while ((bVar1 & uVar7) != 0); } uVar8 = bVar1 & uVar8; wVar4 = (wint_t)uVar8; lVar10 = 1; if (0 < (longlong)iVar9) { do { wVar4 = (wint_t)uVar8; if ((local_28[lVar10] & 0xc0) != 0x80) break; uVar8 = local_28[lVar10] & 0x3f | uVar8 << 6; wVar4 = (wint_t)uVar8; lVar10 = lVar10 + 1; } while (lVar10 <= iVar9); } } wVar4 = towlower(wVar4); lVar10 = 1; if ((0x7f < wVar4) && (lVar10 = 2, 0x7ff < wVar4)) { lVar10 = 3; } local_10 = local_10 + lVar10; if (local_18 < local_10) { uVar5 = 8; if (8 < local_18 >> 4) { uVar5 = local_18 >> 4; } local_18 = local_18 + uVar5; iVar3 = (int)local_30; iVar9 = (int)local_20; FUN_1812342b0(&local_30); local_20 = local_30 + (iVar9 - iVar3); } FUN_180493180(&local_20,wVar4); if (wVar4 == 0) { *param_2 = local_30; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar11 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar11) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return param_2; } bVar1 = *local_28; local_28 = local_28 + 1; if ((char)bVar1 < '\0') { bVar6 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar6))) { local_28 = local_28 + 1; bVar6 = bVar6 >> 1; bVar2 = bVar1 & bVar6; } } } while( true ); } ############ FUN_ 1804e50e0 size=52 ############ void * FUN_1804e50e0(void *param_1,ulonglong param_2) { FUN_18134caa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e7440 size=173 ############ undefined8 * FUN_1804e7440(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = (undefined8 *)param_1[10]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = (undefined8 *)param_1[9]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *param_1 = juce::AsyncUpdater::vftable; LOCK(); *(undefined4 *)(param_1[1] + 0x18) = 0; UNLOCK(); puVar3 = (undefined8 *)param_1[1]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e7550 size=52 ############ void * FUN_1804e7550(void *param_1,ulonglong param_2) { FUN_18133c510(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e7730 size=64 ############ void * FUN_1804e7730(void *param_1,ulonglong param_2) { FUN_180485f00((longlong)param_1 + 0x48); FUN_181322ab0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e7890 size=91 ############ void * FUN_1804e7890(void *param_1,ulonglong param_2) { longlong *plVar1; plVar1 = *(longlong **)((longlong)param_1 + 0x40); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != (longlong *)((longlong)param_1 + 8)); *(undefined8 *)((longlong)param_1 + 0x40) = 0; } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e78f0 size=43 ############ undefined8 * FUN_1804e78f0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComponentDragger::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e8f80 size=52 ############ void * FUN_1804e8f80(void *param_1,ulonglong param_2) { FUN_1804e7bd0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9010 size=66 ############ undefined8 * FUN_1804e9010(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::DragAndDropContainer::vftable; FUN_180485f00(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e91e0 size=87 ############ undefined8 * FUN_1804e91e0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::CaretComponent::vftable; param_1[0x16] = juce::Timer::vftable; FUN_1812a7720(); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9240 size=43 ############ undefined8 * FUN_1804e9240(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::KeyboardFocusTraverser::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e94b0 size=62 ############ undefined8 * FUN_1804e94b0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::Timer::vftable; FUN_1812a7720(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e94f0 size=52 ############ void * FUN_1804e94f0(void *param_1,ulonglong param_2) { FUN_181337760(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9530 size=86 ############ void * FUN_1804e9530(void *param_1,uint param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9630 size=52 ############ void * FUN_1804e9630(void *param_1,ulonglong param_2) { FUN_181335920(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9670 size=129 ############ undefined8 * FUN_1804e9670(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::HyperlinkButton::vftable; param_1[0x16] = juce::HyperlinkButton::vftable; puVar3 = (undefined8 *)param_1[0x42]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_1804858a0(param_1 + 0x39); FUN_181337760(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9700 size=195 ############ undefined8 * FUN_1804e9700(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::ImageButton::vftable; param_1[0x16] = juce::ImageButton::vftable; puVar3 = (undefined8 *)param_1[0x3e]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = (undefined8 *)param_1[0x3d]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = (undefined8 *)param_1[0x3c]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_181337760(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9850 size=76 ############ undefined8 * FUN_1804e9850(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::TextButton::vftable; param_1[0x16] = juce::TextButton::vftable; FUN_181337760(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e98a0 size=76 ############ undefined8 * FUN_1804e98a0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ToggleButton::vftable; param_1[0x16] = juce::ToggleButton::vftable; FUN_181337760(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e98f0 size=124 ############ undefined8 * FUN_1804e98f0(undefined8 *param_1,uint param_2) { undefined8 *puVar1; *param_1 = juce::ToolbarButton::vftable; param_1[0x16] = juce::ToolbarButton::vftable; puVar1 = (undefined8 *)param_1[0x41]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } puVar1 = (undefined8 *)param_1[0x40]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1812db040(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9970 size=88 ############ undefined8 * FUN_1804e9970(undefined8 *param_1,uint param_2) { undefined8 *puVar1; *param_1 = juce::Drawable::vftable; puVar1 = (undefined8 *)param_1[0x17]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e99d0 size=52 ############ void * FUN_1804e99d0(void *param_1,ulonglong param_2) { FUN_181332610(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9a10 size=52 ############ void * FUN_1804e9a10(void *param_1,ulonglong param_2) { FUN_1813315b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9a50 size=62 ############ undefined8 * FUN_1804e9a50(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::DrawablePath::vftable; FUN_1813304a0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9a90 size=62 ############ undefined8 * FUN_1804e9a90(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::DrawableRectangle::vftable; FUN_1813304a0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9ad0 size=52 ############ void * FUN_1804e9ad0(void *param_1,ulonglong param_2) { FUN_1813304a0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804e9b10 size=218 ############ undefined8 * FUN_1804e9b10(undefined8 *param_1,uint param_2) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; uint *_Memory; *param_1 = juce::DrawableText::vftable; _Memory = (uint *)(param_1[0x1e] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar4 = (undefined8 *)param_1[0x1d]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } puVar4 = (undefined8 *)param_1[0x1c]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } *param_1 = juce::Drawable::vftable; puVar4 = (undefined8 *)param_1[0x17]; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804eb590 size=608 ############ void FUN_1804eb590(longlong param_1,longlong *param_2,undefined8 param_3,char param_4) { longlong *plVar1; int iVar2; uint uVar3; longlong *plVar4; undefined8 *puVar5; uint *puVar6; char *local_res10; char *local_78; undefined1 *local_70; undefined1 *local_68; longlong local_60; undefined8 local_58; longlong *local_50; longlong *local_48; longlong local_40; longlong *local_38; local_58 = 0xfffffffffffffffe; plVar1 = *(longlong **)(*param_2 + 8); do { if (plVar1 == (longlong *)0x0) { return; } local_50 = plVar1; local_48 = param_2; plVar4 = (longlong *)FUN_1804eb800(param_1,&local_50); if (plVar4 != (longlong *)0x0) { FUN_181343cc0(param_3,plVar4,0xffffffff); local_70 = &DAT_1821dbf98; puVar5 = (undefined8 *)FUN_1804f1300(param_1,&local_60,&local_50,"display",&local_70); iVar2 = FUN_18049bb30(*puVar5,&DAT_18249ef08); puVar6 = (uint *)(local_60 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_70 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (iVar2 != 0) { (**(code **)(*plVar4 + 0x58))(plVar4,1); } if (param_4 != '\0') { local_68 = &DAT_1821dbf98; FUN_1804f1300(param_1,&local_res10,&local_50,"clip-path",&local_68); puVar6 = (uint *)(local_68 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } if (*local_res10 == '\0') { LAB_1804eb7a0: puVar6 = (uint *)(local_res10 + -0x10); uVar3 = *puVar6; } else { FUN_1804ece70(&local_78,&local_res10); if (*local_78 == '\0') { puVar6 = (uint *)(local_78 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } goto LAB_1804eb7a0; } local_40 = param_1; local_38 = plVar4; FUN_18051f240(param_1 + 8,&local_78,&local_40); puVar6 = (uint *)(local_78 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_res10 + -0x10); uVar3 = *puVar6; } if ((uVar3 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } } plVar1 = (longlong *)*plVar1; } while( true ); } ############ FUN_ 1804ed7e0 size=766 ############ void FUN_1804ed7e0(undefined8 param_1,undefined8 *param_2,longlong param_3) { byte bVar1; byte bVar2; uint uVar3; char cVar4; int iVar5; byte bVar6; uint uVar7; uint *puVar8; longlong lVar9; float *pfVar10; uint uVar11; uint uVar12; float *pfVar13; uint uVar14; undefined4 extraout_XMM0_Da; float fVar15; byte *local_48; undefined1 *local_40; undefined8 local_38; float *local_30; int local_28; uint uStack_24; local_38 = 0xfffffffffffffffe; iVar5 = FUN_18049bb30(*param_2,&DAT_182496a74); if ((iVar5 == 0) || (iVar5 = FUN_18049bb30(*param_2,&DAT_18249ef08), iVar5 == 0)) { return; } uVar12 = 0; local_30 = (float *)0x0; local_28 = 0; uStack_24 = 0; local_48 = (byte *)*param_2; while( true ) { local_40 = &DAT_1821dbf98; cVar4 = FUN_1804f1a00(&local_48,&local_40,1); if (cVar4 == '\0') break; fVar15 = (float)FUN_1804f0b80(extraout_XMM0_Da,&local_40); puVar8 = (uint *)(local_40 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar11 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar11 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } iVar5 = uStack_24 + 1; if (local_28 < iVar5) { if (iVar5 < 0) { iVar5 = uStack_24 + 2; } FUN_1804af790(&local_30,uStack_24 + 9 + (iVar5 >> 1) & 0xfffffff8); } lVar9 = (longlong)(int)uStack_24; uStack_24 = uStack_24 + 1; local_30[lVar9] = fVar15; while ((bVar1 = *local_48, bVar1 == 0x20 || ((byte)(bVar1 - 9) < 5))) { local_48 = local_48 + 1; if ((char)bVar1 < '\0') { bVar6 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar6))) { local_48 = local_48 + 1; bVar6 = bVar6 >> 1; bVar2 = bVar1 & bVar6; } } } bVar1 = *local_48; uVar11 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar11 = 0x7f; uVar7 = 0x40; uVar14 = 0; uVar3 = uVar12; if ((bVar1 & 0x40) != 0) { do { uVar14 = uVar3; if (uVar7 < 9) break; uVar11 = uVar11 >> 1; uVar14 = uVar14 + 1; uVar7 = uVar7 >> 1; uVar3 = uVar14; } while ((bVar1 & uVar7) != 0); } uVar11 = bVar1 & uVar11; lVar9 = 1; if (0 < (longlong)(int)uVar14) { do { if ((local_48[lVar9] & 0xc0) != 0x80) break; uVar11 = local_48[lVar9] & 0x3f | uVar11 << 6; lVar9 = lVar9 + 1; } while (lVar9 <= (int)uVar14); } } if ((uVar11 == 0x2c) && (local_48 = local_48 + 1, (char)bVar1 < '\0')) { bVar6 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar6))) { local_48 = local_48 + 1; bVar6 = bVar6 >> 1; bVar2 = bVar1 & bVar6; } } } puVar8 = (uint *)(local_40 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar11 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar11 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } fVar15 = DAT_1824c3c58; pfVar13 = local_30; if (0 < (int)uStack_24) { do { if (*pfVar13 <= 0.0) { if (uStack_24 == 1) goto LAB_1804edab9; *pfVar13 = 0.001; uVar11 = uVar12 ^ 1; if (uVar11 < uStack_24) { if (fVar15 < local_30[(int)uVar11]) { local_30[(int)uVar11] = local_30[(int)uVar11] - fVar15; } } } uVar12 = uVar12 + 1; pfVar13 = pfVar13 + 1; } while ((int)uVar12 < (int)uStack_24); if (*(uint *)(param_3 + 0xdc) == uStack_24) { pfVar13 = *(float **)(param_3 + 0xd0); for (pfVar10 = local_30; pfVar10 != local_30 + (int)uStack_24; pfVar10 = pfVar10 + 1) { fVar15 = *pfVar13; pfVar13 = pfVar13 + 1; if (fVar15 != *pfVar10) goto LAB_1804eda9d; } } else { LAB_1804eda9d: FUN_1804aaf40(param_3 + 0xd0,&local_30); FUN_181330000(param_3); } } LAB_1804edab9: /* WARNING: Subroutine does not return */ free(local_30); } ############ FUN_ 1804eebf0 size=791 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 * FUN_1804eebf0(longlong param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 *param_6,undefined8 *param_7,undefined4 param_8) { char cVar1; int iVar2; uint uVar3; undefined8 uVar4; uint *puVar5; undefined1 uVar6; double dVar7; float fVar8; float fVar9; float fVar10; undefined1 **ppuVar11; undefined4 uVar12; char *local_c8; longlong local_c0; undefined1 *local_b8 [2]; longlong local_a8; undefined8 local_a0; float local_98; undefined4 local_90 [2]; undefined8 local_88; longlong lStack_80; undefined4 local_78; undefined4 uStack_74; undefined4 uStack_70; undefined4 uStack_6c; undefined8 local_68; char *local_58; char *local_50; double local_48; undefined8 local_40; local_40 = 0xfffffffffffffffe; fVar10 = DAT_1824c3ea4; if (*(char *)*param_7 != '\0') { local_58 = (char *)*param_7; dVar7 = (double)FUN_18049bd80(&local_58); fVar8 = (float)dVar7; if (0.0 <= fVar8) { fVar10 = DAT_1824c3ea4; if (fVar8 <= DAT_1824c3ea4) { fVar10 = fVar8; } } else { fVar10 = 0.0; } } if (*(char *)*param_6 != '\0') { local_50 = (char *)*param_6; dVar7 = (double)FUN_18049bd80(&local_50); fVar9 = (float)dVar7; fVar8 = 0.0; if ((0.0 <= fVar9) && (fVar8 = DAT_1824c3ea4, fVar9 <= DAT_1824c3ea4)) { fVar8 = fVar9; } fVar10 = fVar10 * fVar8; } local_b8[0] = &DAT_1821dbf98; ppuVar11 = local_b8; FUN_1804f1300(param_1,&local_c0,param_4,param_5,ppuVar11); uVar12 = (undefined4)((ulonglong)ppuVar11 >> 0x20); puVar5 = (uint *)(local_b8[0] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } FUN_1804ece70(&local_c8,&local_c0); if (*local_c8 == '\0') { LAB_1804eede6: iVar2 = FUN_18049bb30(local_c0,&DAT_18249ef08); if (iVar2 != 0) { puVar5 = (uint *)FUN_1804f2100(param_1,¶m_6,param_4,param_5,CONCAT44(uVar12,param_8)); local_48 = (double)((float)(*puVar5 >> 0x18) * fVar10) + DAT_1824c4520; uVar6 = 0xff; if (SUB84(local_48,0) < 0xff) { uVar6 = SUB81(local_48,0); } param_7._0_4_ = CONCAT13(uVar6,(int3)*puVar5); *param_2 = param_7._0_4_; *(undefined8 *)(param_2 + 2) = 0; *(undefined8 *)(param_2 + 4) = 0; *(undefined8 *)(param_2 + 6) = 0x3f800000; *(undefined8 *)(param_2 + 8) = 0; *(undefined8 *)(param_2 + 10) = 0x3f800000; puVar5 = (uint *)(local_c8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_c0 + -0x10); uVar3 = *puVar5; goto LAB_1804eeec7; } *param_2 = DAT_182673b60; *(undefined8 *)(param_2 + 2) = 0; *(undefined8 *)(param_2 + 4) = 0; *(undefined8 *)(param_2 + 6) = 0x3f800000; *(undefined8 *)(param_2 + 8) = 0; *(undefined8 *)(param_2 + 10) = 0x3f800000; } else { local_90[0] = 0xff000000; local_88 = 0; lStack_80 = 0; local_78 = _DAT_1824c4780; uStack_74 = _UNK_1824c4784; uStack_70 = _UNK_1824c4788; uStack_6c = _UNK_1824c478c; local_68 = 0x3f800000; local_a8 = param_1; local_a0 = param_3; local_98 = fVar10; cVar1 = FUN_18051f490(param_1 + 8,&local_c8,&local_a8); if (cVar1 == '\0') { FUN_1812a0e00(local_90); goto LAB_1804eede6; } *param_2 = local_90[0]; uVar4 = FUN_1804b0230(local_88); *(undefined8 *)(param_2 + 2) = uVar4; *(longlong *)(param_2 + 4) = lStack_80; if (lStack_80 != 0) { LOCK(); *(int *)(lStack_80 + 8) = *(int *)(lStack_80 + 8) + 1; UNLOCK(); } *(ulonglong *)(param_2 + 6) = CONCAT44(uStack_74,local_78); *(ulonglong *)(param_2 + 8) = CONCAT44(uStack_6c,uStack_70); *(undefined8 *)(param_2 + 10) = local_68; FUN_1812a0e00(local_90); } puVar5 = (uint *)(local_c8 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_c0 + -0x10); uVar3 = *puVar5; LAB_1804eeec7: if ((uVar3 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return param_2; } ############ FUN_ 1804f0ad0 size=161 ############ undefined8 FUN_1804f0ad0(longlong param_1,undefined8 param_2,undefined4 *param_3,undefined1 param_4, char param_5) { uint *_Memory; uint uVar1; char cVar2; undefined8 uVar3; undefined4 extraout_XMM0_Da; undefined4 uVar4; undefined1 *local_18; undefined8 local_10; local_10 = 0xfffffffffffffffe; local_18 = &DAT_1821dbf98; cVar2 = FUN_1804f1a00(param_2,&local_18,param_4); if (cVar2 == '\0') { *param_3 = 0; uVar3 = 0; } else { if (param_5 == '\0') { uVar4 = *(undefined4 *)(param_1 + 0x24); } else { uVar4 = *(undefined4 *)(param_1 + 0x20); } uVar4 = FUN_1804f0b80(extraout_XMM0_Da,&local_18,uVar4); *param_3 = uVar4; uVar3 = 1; } _Memory = (uint *)(local_18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return uVar3; } ############ FUN_ 1804f0cc0 size=284 ############ void FUN_1804f0cc0(longlong param_1,longlong *param_2,undefined8 *param_3,undefined1 param_4, char param_5) { uint uVar1; int iVar2; char cVar3; int iVar4; uint *puVar5; undefined4 extraout_XMM0_Da; undefined4 uVar6; undefined1 *local_res18; undefined4 local_res20; undefined8 local_28; undefined8 local_20; local_res20 = CONCAT31(local_res20._1_3_,param_4); local_20 = 0xfffffffffffffffe; local_28 = *param_3; do { local_res18 = &DAT_1821dbf98; cVar3 = FUN_1804f1a00(&local_28,&local_res18,1); if (cVar3 == '\0') { puVar5 = (uint *)(local_res18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return; } if (param_5 == '\0') { uVar6 = *(undefined4 *)(param_1 + 0x24); } else { uVar6 = *(undefined4 *)(param_1 + 0x20); } local_res20 = FUN_1804f0b80(extraout_XMM0_Da,&local_res18,uVar6); puVar5 = (uint *)(local_res18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } iVar2 = *(int *)((longlong)param_2 + 0xc); iVar4 = iVar2 + 1; if ((int)param_2[1] < iVar4) { if (iVar4 < 0) { iVar4 = iVar2 + 2; } FUN_1804af790(param_2,iVar2 + 9 + (iVar4 >> 1) & 0xfffffff8); } iVar4 = *(int *)((longlong)param_2 + 0xc); *(int *)((longlong)param_2 + 0xc) = iVar4 + 1; *(undefined4 *)(*param_2 + (longlong)iVar4 * 4) = local_res20; } while( true ); } ############ FUN_ 1804f1840 size=434 ############ longlong * FUN_1804f1840(longlong *param_1,undefined8 param_2,byte *param_3,longlong *param_4) { uint uVar1; byte bVar2; longlong lVar3; bool bVar4; int iVar5; int iVar6; int iVar7; byte *pbVar8; undefined8 uVar9; uint *_Memory; longlong local_28; undefined8 local_20; local_20 = 0xfffffffffffffffe; iVar5 = FUN_181232610(param_2,0); do { if (iVar5 < 0) { LAB_1804f1939: lVar3 = *param_4; *param_1 = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } return param_1; } if (iVar5 == 0) { LAB_1804f18c0: iVar6 = 0; pbVar8 = param_3; while( true ) { while( true ) { bVar2 = *pbVar8; pbVar8 = pbVar8 + 1; if (-1 < (char)bVar2) break; if ((*pbVar8 & 0xc0) != 0x80) goto LAB_1804f18f7; do { pbVar8 = pbVar8 + 1; } while ((*pbVar8 & 0xc0) == 0x80); iVar6 = iVar6 + 1; } if (bVar2 == 0) break; LAB_1804f18f7: iVar6 = iVar6 + 1; } iVar6 = FUN_180493050(param_2,iVar6 + iVar5); iVar7 = iswalpha((wint_t)iVar6); if ((iVar7 != 0) || (bVar4 = false, iVar6 == 0x2d)) { bVar4 = true; } if (!bVar4) { iVar5 = FUN_181232860(param_2,iVar5,0x3a); if (-1 < iVar5) { iVar6 = FUN_181232860(param_2,iVar5,0x3b); if (iVar6 < 0) { iVar6 = 0x7ffff; } uVar9 = FUN_1812490c0(param_2,&local_28,iVar5 + 1,iVar6); FUN_181248e40(uVar9,param_1); _Memory = (uint *)(local_28 + -0x10); if ((*_Memory & 0x30000000) != 0) { return param_1; } LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 != 0) { return param_1; } /* WARNING: Subroutine does not return */ free(_Memory); } goto LAB_1804f1939; } } else if (0 < iVar5) { iVar6 = FUN_180493050(param_2,iVar5 + -1); iVar7 = iswalpha((wint_t)iVar6); if ((iVar7 != 0) || (bVar4 = false, iVar6 == 0x2d)) { bVar4 = true; } if (!bVar4) goto LAB_1804f18c0; } iVar5 = FUN_181232610(param_2,iVar5 + 1,param_3); } while( true ); } ############ FUN_ 1804f1a00 size=1509 ############ ulonglong FUN_1804f1a00(undefined8 *param_1,longlong *param_2,char param_3) { int *_Memory; byte bVar1; byte bVar2; byte bVar3; uint uVar4; byte *pbVar5; undefined4 extraout_var; undefined4 *puVar6; wint_t _C; uint uVar7; ulonglong uVar8; byte *_Src; byte *pbVar9; size_t _Size; longlong lVar10; int iVar11; _Src = (byte *)*param_1; LAB_1804f1a20: bVar1 = *_Src; if ((4 < (byte)(bVar1 - 9)) && (bVar1 != 0x20)) { uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar11 = 0; uVar8 = 0x7f; uVar7 = 0x7f; if ((bVar1 & 0x40) != 0) { do { uVar7 = (uint)uVar8; if (uVar4 < 9) break; uVar8 = uVar8 >> 1; uVar7 = (uint)uVar8; iVar11 = iVar11 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar7 = bVar1 & uVar7; lVar10 = 1; if (0 < (longlong)iVar11) { do { if ((_Src[lVar10] & 0xc0) != 0x80) break; uVar7 = _Src[lVar10] & 0x3f | uVar7 << 6; lVar10 = lVar10 + 1; } while (lVar10 <= iVar11); } } if (uVar7 != 0x2c) goto LAB_1804f1ac7; } _Src = _Src + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { _Src = _Src + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } goto LAB_1804f1a20; LAB_1804f1fd7: uVar8 = CONCAT71((int7)(uVar8 >> 8),1); goto LAB_1804f1fd9; LAB_1804f1ac7: bVar1 = *_Src; uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar11 = 0; uVar7 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; uVar7 = uVar7 >> 1; iVar11 = iVar11 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar7 = bVar1 & uVar7; lVar10 = 1; if (0 < (longlong)iVar11) { do { if ((_Src[lVar10] & 0xc0) != 0x80) break; uVar7 = _Src[lVar10] & 0x3f | uVar7 << 6; lVar10 = lVar10 + 1; } while (lVar10 <= iVar11); } } iVar11 = iswdigit((wint_t)uVar7); if ((iVar11 != 0) || (pbVar9 = _Src, (uVar7 - 0x2b & 0xfffffffd) == 0)) { bVar1 = *_Src; pbVar9 = _Src + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar9 = pbVar9 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } } while( true ) { bVar1 = *pbVar9; uVar8 = (ulonglong)(bVar1 - 0x30); if (9 < (byte)(bVar1 - 0x30)) break; pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar9 = pbVar9 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } } bVar1 = *pbVar9; uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar11 = 0; uVar7 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; uVar7 = uVar7 >> 1; iVar11 = iVar11 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar8 = 0; uVar7 = bVar1 & uVar7; lVar10 = 1; if (0 < (longlong)iVar11) { do { uVar8 = (ulonglong)pbVar9[lVar10] & 0xffffffffffffffc0; if ((char)uVar8 != -0x80) break; uVar8 = (ulonglong)(uVar7 << 6); uVar7 = pbVar9[lVar10] & 0x3f | uVar7 << 6; lVar10 = lVar10 + 1; } while (lVar10 <= iVar11); } } if (uVar7 == 0x2e) { pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar9 = pbVar9 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } while( true ) { bVar1 = *pbVar9; uVar8 = (ulonglong)(bVar1 - 0x30); if (9 < (byte)(bVar1 - 0x30)) break; pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar9 = pbVar9 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } } } bVar1 = *pbVar9; uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar11 = 0; uVar7 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; uVar7 = uVar7 >> 1; iVar11 = iVar11 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar8 = 0; uVar7 = bVar1 & uVar7; lVar10 = 1; if (0 < (longlong)iVar11) { do { uVar8 = (ulonglong)pbVar9[lVar10] & 0xffffffffffffffc0; if ((char)uVar8 != -0x80) break; uVar8 = (ulonglong)(uVar7 << 6); uVar7 = pbVar9[lVar10] & 0x3f | uVar7 << 6; lVar10 = lVar10 + 1; } while (lVar10 <= iVar11); } } if (uVar7 == 0x65) { LAB_1804f1d10: pbVar5 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar5 = pbVar5 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } bVar1 = *pbVar5; uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar11 = 0; uVar7 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; uVar7 = uVar7 >> 1; iVar11 = iVar11 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar7 = bVar1 & uVar7; lVar10 = 1; if (0 < (longlong)iVar11) { do { if ((pbVar5[lVar10] & 0xc0) != 0x80) break; uVar7 = pbVar5[lVar10] & 0x3f | uVar7 << 6; lVar10 = lVar10 + 1; } while (lVar10 <= iVar11); } } iVar11 = iswdigit((wint_t)uVar7); if ((iVar11 != 0) || (uVar8 = (ulonglong)(uVar7 - 0x2b), (uVar7 - 0x2b & 0xfffffffd) == 0)) { iVar11 = 1; do { bVar1 = *pbVar9; pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar9 = pbVar9 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } iVar11 = iVar11 + -1; } while (-1 < iVar11); while( true ) { bVar1 = *pbVar9; uVar8 = (ulonglong)(bVar1 - 0x30); if (9 < (byte)(bVar1 - 0x30)) break; pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar9 = pbVar9 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } } } } else { uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar11 = 0; uVar7 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; uVar7 = uVar7 >> 1; iVar11 = iVar11 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar8 = 0; uVar7 = bVar1 & uVar7; lVar10 = 1; if (0 < (longlong)iVar11) { do { uVar8 = (ulonglong)pbVar9[lVar10] & 0xffffffffffffffc0; if ((char)uVar8 != -0x80) break; uVar8 = (ulonglong)(uVar7 << 6); uVar7 = pbVar9[lVar10] & 0x3f | uVar7 << 6; lVar10 = lVar10 + 1; } while (lVar10 <= iVar11); } } if (uVar7 == 0x45) goto LAB_1804f1d10; } if (param_3 != '\0') { LAB_1804f1e10: bVar1 = *pbVar9; _C = (wint_t)bVar1; if ((char)bVar1 < '\0') { uVar7 = 0x40; iVar11 = 0; uVar4 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar4 = uVar4 >> 1; iVar11 = iVar11 + 1; uVar7 = uVar7 >> 1; } while ((bVar1 & uVar7) != 0); } uVar4 = bVar1 & uVar4; _C = (wint_t)uVar4; lVar10 = 1; if (0 < (longlong)iVar11) { do { _C = (wint_t)uVar4; if ((pbVar9[lVar10] & 0xc0) != 0x80) break; uVar4 = pbVar9[lVar10] & 0x3f | uVar4 << 6; _C = (wint_t)uVar4; lVar10 = lVar10 + 1; } while (lVar10 <= iVar11); } } iVar11 = iswalpha(_C); uVar8 = CONCAT44(extraout_var,iVar11); if (iVar11 != 0) { bVar1 = *pbVar9; pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar9 = pbVar9 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } goto LAB_1804f1e10; } } if (pbVar9 != _Src) { if (*_Src == 0) { puVar6 = (undefined4 *)&DAT_1821dbf98; } else { _Size = (longlong)pbVar9 - (longlong)_Src; puVar6 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar6 = 0; UNLOCK(); *(size_t *)(puVar6 + 2) = _Size + 4 & 0xfffffffffffffffc; puVar6 = puVar6 + 4; memcpy(puVar6,_Src,_Size); *(undefined1 *)((longlong)puVar6 + _Size) = 0; } lVar10 = *param_2; *param_2 = (longlong)puVar6; _Memory = (int *)(lVar10 + -0x10); if ((*(uint *)(lVar10 + -0x10) & 0x30000000) == 0) { LOCK(); iVar11 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar11 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } LAB_1804f1f30: bVar1 = *pbVar9; uVar8 = (ulonglong)(bVar1 - 9); if ((4 < (byte)(bVar1 - 9)) && (bVar1 != 0x20)) { uVar7 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x40; iVar11 = 0; uVar7 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar4 < 9) break; uVar7 = uVar7 >> 1; iVar11 = iVar11 + 1; uVar4 = uVar4 >> 1; } while ((bVar1 & uVar4) != 0); } uVar8 = 0; uVar7 = bVar1 & uVar7; lVar10 = 1; if (0 < (longlong)iVar11) { do { uVar8 = (ulonglong)pbVar9[lVar10] & 0xffffffffffffffc0; if ((char)uVar8 != -0x80) break; uVar8 = (ulonglong)(uVar7 << 6); uVar7 = pbVar9[lVar10] & 0x3f | uVar7 << 6; lVar10 = lVar10 + 1; } while (lVar10 <= iVar11); } } if (uVar7 != 0x2c) goto LAB_1804f1fd7; } pbVar9 = pbVar9 + 1; if ((char)bVar1 < '\0') { bVar3 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar9 = pbVar9 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar1 & bVar3; } } goto LAB_1804f1f30; } uVar8 = uVar8 & 0xffffffffffffff00; LAB_1804f1fd9: *param_1 = pbVar9; return uVar8; } ############ FUN_ 1812487f0 size=496 ############ undefined8 * FUN_1812487f0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3) { byte bVar1; uint uVar2; ulonglong uVar3; uint uVar4; longlong lVar5; int iVar6; byte *pbVar7; undefined1 *puVar8; undefined1 *puVar9; bool bVar10; undefined1 *local_40; byte *local_38; undefined1 *local_30; ulonglong local_28; ulonglong local_20; local_38 = (byte *)*param_1; if (*local_38 == 0) { *param_2 = &DAT_1821dbf98; } else { local_40 = &DAT_1821dbf98; local_30 = (undefined1 *)0x0; local_28 = *(ulonglong *)(local_38 + -8); local_20 = 0; FUN_1812342b0(&local_40); local_30 = local_40; pbVar7 = local_38; puVar8 = local_40; puVar9 = local_40; do { bVar1 = *pbVar7; local_38 = pbVar7 + 1; uVar4 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x7f; uVar2 = 0x40; iVar6 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar2 < 9) break; uVar4 = uVar4 >> 1; iVar6 = iVar6 + 1; uVar2 = uVar2 >> 1; } while ((bVar1 & uVar2) != 0); } uVar4 = bVar1 & uVar4; for (; (iVar6 = iVar6 + -1, -1 < iVar6 && ((*local_38 & 0xc0) == 0x80)); local_38 = local_38 + 1) { uVar4 = *local_38 & 0x3f | uVar4 << 6; } } pbVar7 = local_38; iVar6 = FUN_18049bc80(param_3); if (iVar6 < 0) { lVar5 = 1; if (((0x7f < uVar4) && (lVar5 = 2, 0x7ff < uVar4)) && (lVar5 = 3, 0xffff < uVar4)) { lVar5 = 4; } local_20 = local_20 + lVar5; if (local_28 < local_20) { uVar3 = 8; if (8 < local_28 >> 4) { uVar3 = local_28 >> 4; } local_28 = local_28 + uVar3; FUN_1812342b0(&local_40); local_30 = local_40 + ((int)puVar9 - (int)puVar8); } FUN_180493180(&local_30); pbVar7 = local_38; puVar8 = local_40; puVar9 = local_30; } } while (uVar4 != 0); *param_2 = puVar8; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } return param_2; } ############ FUN_ 1812a1210 size=366 ############ undefined4 * FUN_1812a1210(undefined4 *param_1,undefined8 param_2,undefined4 param_3) { byte bVar1; undefined *puVar2; undefined8 uVar3; undefined8 *puVar4; byte *pbVar5; uint *puVar6; undefined **ppuVar7; uint uVar8; int iVar9; uint uVar10; int iVar11; longlong local_res20; longlong local_18 [2]; local_18[1] = 0xfffffffffffffffe; uVar3 = FUN_181248e40(param_2,local_18); puVar4 = (undefined8 *)FUN_181248c30(uVar3,&local_res20); pbVar5 = (byte *)*puVar4; iVar9 = 0; bVar1 = *pbVar5; do { if (bVar1 == 0) { puVar6 = (uint *)(local_res20 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(local_18[0] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar10 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } ppuVar7 = (undefined **)&DAT_182499460; do { puVar2 = *ppuVar7; if ((int)puVar2 == iVar9) { *(char *)param_1 = (char)((ulonglong)puVar2 >> 0x20); *(char *)((longlong)param_1 + 1) = (char)((ulonglong)puVar2 >> 0x28); *(char *)((longlong)param_1 + 2) = (char)((ulonglong)puVar2 >> 0x30); *(char *)((longlong)param_1 + 3) = (char)((ulonglong)puVar2 >> 0x38); return param_1; } ppuVar7 = ppuVar7 + 1; } while (ppuVar7 != &juce::CustomTypeface::vftable_meta_ptr); *param_1 = param_3; return param_1; } pbVar5 = pbVar5 + 1; uVar10 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar8 = 0x40; uVar10 = 0x7f; iVar11 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar8 < 9) break; uVar10 = uVar10 >> 1; iVar11 = iVar11 + 1; uVar8 = uVar8 >> 1; } while ((bVar1 & uVar8) != 0); } uVar10 = bVar1 & uVar10; for (; (iVar11 = iVar11 + -1, -1 < iVar11 && ((*pbVar5 & 0xc0) == 0x80)); pbVar5 = pbVar5 + 1) { uVar10 = *pbVar5 & 0x3f | uVar10 << 6; } } iVar9 = iVar9 * 0x1f + uVar10; bVar1 = *pbVar5; } while( true ); } ############ FUN_ 1804f3560 size=43 ############ undefined8 * FUN_1804f3560(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::FileBrowserListener::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f3590 size=114 ############ void FUN_1804f3590(undefined8 *param_1) { void *_Memory; *param_1 = juce::DirectoryContentsList::vftable; param_1[7] = juce::DirectoryContentsList::vftable; FUN_18132e310(); _Memory = (void *)param_1[0x14]; if (_Memory != (void *)0x0) { FUN_181242dc0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } FUN_18051c700(param_1 + 0x12); *(undefined4 *)((longlong)param_1 + 0x9c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x12]); } ############ FUN_ 18051c700 size=198 ############ void FUN_18051c700(longlong *param_1) { void *_Dst; uint uVar1; longlong *_Memory; uint *_Memory_00; int iVar2; longlong lVar3; longlong lVar4; iVar2 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar2) { lVar3 = (longlong)iVar2 * 8; lVar4 = lVar3; do { _Memory = *(longlong **)(lVar4 + *param_1); _Dst = (void *)(lVar3 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar2) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (longlong *)0x0) { _Memory_00 = (uint *)(*_Memory + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } lVar3 = lVar3 + -8; lVar4 = lVar4 + -8; iVar2 = iVar2 + -1; } while (-1 < iVar2); } return; } ############ FUN_ 18132e310 size=101 ############ void FUN_18132e310(longlong param_1) { void *_Memory; longlong lVar1; LOCK(); *(undefined1 *)(param_1 + 0xa8) = 1; UNLOCK(); if (param_1 == 0) { lVar1 = 0; } else { lVar1 = param_1 + 0x38; } FUN_1812299e0(*(undefined8 *)(param_1 + 0x58),lVar1); _Memory = *(void **)(param_1 + 0xa0); *(undefined8 *)(param_1 + 0xa0) = 0; if (_Memory != (void *)0x0) { FUN_181242dc0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return; } ############ FUN_ 1804f3660 size=52 ############ void * FUN_1804f3660(void *param_1,ulonglong param_2) { FUN_18132c7a0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181218730 size=547 ############ undefined8 * FUN_181218730(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 *param_4) { uint uVar1; char *pcVar2; longlong lVar3; bool bVar4; bool bVar5; longlong *plVar6; uint *puVar7; char *local_78; char *local_70; longlong local_68; longlong local_60; undefined1 local_58 [8]; undefined8 local_50; char **local_48; local_50 = 0xfffffffffffffffe; pcVar2 = (char *)*param_4; if (*pcVar2 == '\0') { local_60 = *param_2; if ((*(uint *)(local_60 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_60 + -0x10) = *(int *)(local_60 + -0x10) + 1; UNLOCK(); } plVar6 = &local_60; bVar5 = true; bVar4 = false; } else { if ((*(uint *)(pcVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar2 + -0x10) = *(int *)(pcVar2 + -0x10) + 1; UNLOCK(); } local_48 = &local_78; local_78 = pcVar2; FUN_181232e20(&local_78,&DAT_1821db64c,&DAT_1821db64e); local_70 = local_78; if ((*(uint *)(local_78 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -0x10) = *(int *)(local_78 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(local_78 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } plVar6 = (longlong *)FUN_181232aa0(local_58,&local_70,param_2); local_48 = (char **)plVar6; FUN_181232e20(plVar6,&DAT_1821db5fc,&DAT_1821db5fd); local_68 = *plVar6; if ((*(uint *)(local_68 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_68 + -0x10) = *(int *)(local_68 + -0x10) + 1; UNLOCK(); } puVar7 = (uint *)(*plVar6 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } plVar6 = &local_68; bVar5 = false; bVar4 = true; } *param_1 = juce::FileFilter::vftable; lVar3 = *plVar6; param_1[1] = lVar3; if ((*(uint *)(lVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar3 + -0x10) = *(int *)(lVar3 + -0x10) + 1; UNLOCK(); } if ((bVar4) && (puVar7 = (uint *)(local_68 + -0x10), (*puVar7 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if ((bVar5) && (puVar7 = (uint *)(local_60 + -0x10), (*puVar7 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } *param_1 = juce::WildcardFileFilter::vftable; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; param_1[5] = 0; FUN_181218a80(param_2); FUN_181218a80(param_3,param_1 + 4); return param_1; } ############ FUN_ 18132c510 size=483 ############ longlong * FUN_18132c510(longlong param_1,longlong *param_2,uint param_3) { longlong lVar1; bool bVar2; bool bVar3; bool bVar4; char cVar5; uint uVar6; undefined8 *puVar7; uint *puVar8; undefined1 **ppuVar9; undefined1 *local_res8; undefined1 *local_res20; longlong local_48; longlong local_40 [3]; local_40[1] = 0xfffffffffffffffe; local_res8 = (undefined1 *)((ulonglong)local_res8 & 0xffffffff00000000); bVar2 = true; bVar3 = true; bVar4 = false; if (((*(byte *)(param_1 + 0xf0) & 8) == 0) || (puVar7 = (undefined8 *)FUN_1812dc020(param_1 + 0x2c0,&local_48), bVar4 = bVar2, *(char *)*puVar7 != '\0')) { bVar2 = bVar4; bVar3 = false; } if ((bVar2) && (puVar8 = (uint *)(local_48 + -0x10), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar6 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (bVar3) { lVar1 = *(longlong *)(param_1 + 0xf8); *param_2 = lVar1; if ((*(uint *)(lVar1 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar1 + -0x10) = *(int *)(lVar1 + -0x10) + 1; UNLOCK(); } } else { if (((*(char *)(param_1 + 0x4ac) == '\0') && ((*(byte *)(param_1 + 0x369) & 0x10) == 0)) && ((*(longlong *)(param_1 + 0x2d8) == 0 || (cVar5 = FUN_18133eaa0(), cVar5 != '\0')))) { puVar7 = (undefined8 *)FUN_1812dc020(param_1 + 0x2c0,local_40); local_40[2] = *puVar7; FUN_181245100(param_1 + 0xf8,param_2); puVar8 = (uint *)(local_40[0] + -0x10); uVar6 = *puVar8; } else { if (param_3 < *(uint *)(param_1 + 0x10c)) { bVar3 = true; bVar2 = false; local_res20 = *(undefined1 **)(*(longlong *)(param_1 + 0x100) + (longlong)(int)param_3 * 8); if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } ppuVar9 = &local_res20; } else { bVar3 = false; bVar2 = true; local_res8 = &DAT_1821dbf98; ppuVar9 = &local_res8; } *param_2 = (longlong)*ppuVar9; *ppuVar9 = &DAT_1821dbf98; if ((bVar2) && (puVar8 = (uint *)(local_res8 + -0x10), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar6 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (!bVar3) { return param_2; } puVar8 = (uint *)(local_res20 + -0x10); uVar6 = *puVar8; } if ((uVar6 & 0x30000000) == 0) { LOCK(); uVar6 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar6 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } return param_2; } ############ FUN_ 180506630 size=224 ############ longlong * FUN_180506630(longlong *param_1,longlong *param_2,ulonglong param_3,undefined8 param_4) { uint uVar1; byte bVar2; undefined8 *puVar3; byte *pbVar4; uint *_Memory; longlong lVar5; longlong local_res20; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; if ((int)param_3 == 0) { lVar5 = *param_1; *param_2 = lVar5; if ((*(uint *)(lVar5 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar5 + -0x10) = *(int *)(lVar5 + -0x10) + 1; UNLOCK(); return param_2; } } else { puVar3 = (undefined8 *) FUN_181233f40(&local_res20,param_3 & 0xffffffff,param_3,param_4,0xfffffffffffffffe); pbVar4 = (byte *)*param_1; lVar5 = 0; while( true ) { while( true ) { bVar2 = *pbVar4; pbVar4 = pbVar4 + 1; if (-1 < (char)bVar2) break; if ((*pbVar4 & 0xc0) != 0x80) goto LAB_1805066c5; do { pbVar4 = pbVar4 + 1; } while ((*pbVar4 & 0xc0) == 0x80); lVar5 = lVar5 + 1; } if (bVar2 == 0) break; LAB_1805066c5: lVar5 = lVar5 + 1; } FUN_181231fc0(param_2,*puVar3,lVar5,puVar3,uVar6,*puVar3); _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return param_2; } ############ FUN_ 180506e50 size=1673 ############ void FUN_180506e50(longlong param_1,undefined8 *param_2) { int iVar1; byte bVar2; byte bVar3; byte bVar4; uint uVar5; undefined8 *puVar6; uint uVar7; uint *puVar8; byte *pbVar9; byte *pbVar10; byte *pbVar11; longlong lVar12; byte bVar13; ulonglong uVar14; longlong lVar15; int iVar16; undefined4 uVar17; byte *local_res10; longlong local_res18; longlong local_res20; undefined8 uVar18; uVar18 = 0xfffffffffffffffe; bVar13 = *(byte *)*param_2; pbVar9 = (byte *)*param_2; do { if (bVar13 == 0) { return; } lVar12 = 0; pbVar11 = pbVar9; if ((bVar13 == 0x20) || ((byte)(bVar13 - 9) < 5)) { uVar7 = (uint)bVar13; if ((char)bVar13 < '\0') { uVar7 = 0x7f; uVar5 = 0x40; iVar16 = 0; if ((bVar13 & 0x40) != 0) { do { if (uVar5 < 9) break; uVar7 = uVar7 >> 1; iVar16 = iVar16 + 1; uVar5 = uVar5 >> 1; } while ((bVar13 & uVar5) != 0); } uVar7 = bVar13 & uVar7; lVar15 = 1; if (0 < (longlong)iVar16) { do { if ((pbVar9[lVar15] & 0xc0) != 0x80) break; uVar7 = pbVar9[lVar15] & 0x3f | uVar7 << 6; lVar15 = lVar15 + 1; } while (lVar15 <= iVar16); } } if (uVar7 == 0xd) goto LAB_1805070b5; uVar14 = (ulonglong)bVar13; if ((char)bVar13 < '\0') { uVar5 = 0x7f; uVar7 = 0x40; iVar16 = 0; if ((bVar13 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar5 = uVar5 >> 1; iVar16 = iVar16 + 1; uVar7 = uVar7 >> 1; } while ((bVar13 & uVar7) != 0); } uVar14 = (ulonglong)(bVar13 & uVar5); lVar15 = 1; if (0 < (longlong)iVar16) { do { if ((pbVar9[lVar15] & 0xc0) != 0x80) break; uVar14 = (ulonglong)(pbVar9[lVar15] & 0x3f | (int)uVar14 << 6); lVar15 = lVar15 + 1; } while (lVar15 <= iVar16); } } if ((int)uVar14 == 10) goto LAB_1805070b5; do { pbVar11 = pbVar11 + 1; if ((char)bVar13 < '\0') { bVar3 = 0x40; bVar2 = bVar13 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar11 = pbVar11 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar13 & bVar3; } } lVar12 = lVar12 + 1; bVar13 = *pbVar11; if ((bVar13 != 0x20) && (4 < (byte)(bVar13 - 9))) break; uVar14 = (ulonglong)bVar13; if ((char)bVar13 < '\0') { uVar5 = 0x7f; uVar7 = 0x40; iVar16 = 0; if ((bVar13 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar5 = uVar5 >> 1; iVar16 = iVar16 + 1; uVar7 = uVar7 >> 1; } while ((bVar13 & uVar7) != 0); } uVar14 = (ulonglong)(bVar13 & uVar5); lVar15 = 1; if (0 < (longlong)iVar16) { do { if ((pbVar11[lVar15] & 0xc0) != 0x80) break; uVar14 = (ulonglong)(pbVar11[lVar15] & 0x3f | (int)uVar14 << 6); lVar15 = lVar15 + 1; } while (lVar15 <= iVar16); } } if ((int)uVar14 == 0xd) break; uVar14 = (ulonglong)bVar13; if ((char)bVar13 < '\0') { uVar5 = 0x7f; uVar7 = 0x40; iVar16 = 0; if ((bVar13 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar5 = uVar5 >> 1; iVar16 = iVar16 + 1; uVar7 = uVar7 >> 1; } while ((bVar13 & uVar7) != 0); } uVar14 = (ulonglong)(bVar13 & uVar5); lVar15 = 1; if (0 < (longlong)iVar16) { do { if ((pbVar11[lVar15] & 0xc0) != 0x80) break; uVar14 = (ulonglong)(pbVar11[lVar15] & 0x3f | (int)uVar14 << 6); lVar15 = lVar15 + 1; } while (lVar15 <= iVar16); } } } while ((int)uVar14 != 10); } else { LAB_1805070b5: uVar14 = (ulonglong)bVar13; if ((char)bVar13 < '\0') { uVar5 = 0x7f; uVar7 = 0x40; iVar16 = 0; if ((bVar13 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar5 = uVar5 >> 1; iVar16 = iVar16 + 1; uVar7 = uVar7 >> 1; } while ((bVar13 & uVar7) != 0); } uVar14 = (ulonglong)(bVar13 & uVar5); lVar15 = 1; if (0 < (longlong)iVar16) { do { if ((pbVar9[lVar15] & 0xc0) != 0x80) break; uVar14 = (ulonglong)(pbVar9[lVar15] & 0x3f | (int)uVar14 << 6); lVar15 = lVar15 + 1; } while (lVar15 <= iVar16); } } if ((int)uVar14 == 0xd) { pbVar10 = pbVar9 + 1; pbVar11 = pbVar10; if ((char)bVar13 < '\0') { bVar3 = 0x40; bVar2 = bVar13 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar11 = pbVar11 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar13 & bVar3; } } lVar12 = 1; bVar13 = *pbVar11; uVar7 = (uint)bVar13; if ((char)bVar13 < '\0') { uVar7 = 0x7f; uVar5 = 0x40; iVar16 = 0; if ((bVar13 & 0x40) != 0) { do { if (uVar5 < 9) break; uVar7 = uVar7 >> 1; iVar16 = iVar16 + 1; uVar5 = uVar5 >> 1; } while ((bVar13 & uVar5) != 0); } uVar7 = bVar13 & uVar7; uVar14 = 1; if (0 < (longlong)iVar16) { do { if ((pbVar11[uVar14] & 0xc0) != 0x80) break; uVar7 = pbVar11[uVar14] & 0x3f | uVar7 << 6; uVar14 = uVar14 + 1; } while ((longlong)uVar14 <= (longlong)iVar16); } } if (uVar7 == 10) { bVar2 = *pbVar9; if ((char)bVar2 < '\0') { bVar4 = 0x40; bVar3 = bVar2 & 0x40; while ((bVar3 != 0 && (8 < bVar4))) { pbVar10 = pbVar10 + 1; bVar4 = bVar4 >> 1; bVar3 = bVar2 & bVar4; } } pbVar11 = pbVar11 + 1; pbVar9 = pbVar10; if ((char)bVar13 < '\0') { bVar3 = 0x40; bVar2 = bVar13 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar11 = pbVar11 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar13 & bVar3; } } } } else { uVar14 = (ulonglong)bVar13; if ((char)bVar13 < '\0') { uVar5 = 0x7f; uVar7 = 0x40; iVar16 = 0; if ((bVar13 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar5 = uVar5 >> 1; iVar16 = iVar16 + 1; uVar7 = uVar7 >> 1; } while ((bVar13 & uVar7) != 0); } uVar14 = (ulonglong)(bVar13 & uVar5); lVar15 = 1; if (0 < (longlong)iVar16) { do { if ((pbVar9[lVar15] & 0xc0) != 0x80) break; uVar14 = (ulonglong)(pbVar9[lVar15] & 0x3f | (int)uVar14 << 6); lVar15 = lVar15 + 1; } while (lVar15 <= iVar16); } } if ((int)uVar14 == 10) { pbVar11 = pbVar9 + 1; if ((char)bVar13 < '\0') { bVar3 = 0x40; bVar2 = bVar13 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar11 = pbVar11 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar13 & bVar3; } } lVar12 = 1; } else { while (((bVar13 != 0 && (bVar13 != 0x20)) && (4 < (byte)(bVar13 - 9)))) { pbVar11 = pbVar11 + 1; if ((char)bVar13 < '\0') { bVar3 = 0x40; bVar2 = bVar13 & 0x40; while ((bVar2 != 0 && (8 < bVar3))) { pbVar11 = pbVar11 + 1; bVar3 = bVar3 >> 1; bVar2 = bVar13 & bVar3; } } lVar12 = lVar12 + 1; bVar13 = *pbVar11; } } } } puVar6 = (undefined8 *)FUN_1812340b0(&local_res18,pbVar9,lVar12,uVar14,uVar18); pbVar9 = (byte *)*puVar6; *puVar6 = &DAT_1821dbf98; puVar8 = (uint *)(local_res18 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (*(int *)(param_1 + 0x20) == 0) { local_res10 = pbVar9; if ((*(uint *)(pbVar9 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar9 + -0x10) = *(int *)(pbVar9 + -0x10) + 1; UNLOCK(); } } else { puVar6 = (undefined8 *)FUN_181233f40(&local_res20); lVar15 = 0; pbVar10 = pbVar9; while( true ) { while( true ) { bVar13 = *pbVar10; pbVar10 = pbVar10 + 1; if (-1 < (char)bVar13) break; if ((*pbVar10 & 0xc0) != 0x80) goto LAB_1805073a5; do { pbVar10 = pbVar10 + 1; } while ((*pbVar10 & 0xc0) == 0x80); lVar15 = lVar15 + 1; } if (bVar13 == 0) break; LAB_1805073a5: lVar15 = lVar15 + 1; } FUN_181231fc0(&local_res10,*puVar6,lVar15,puVar6,uVar18,*puVar6); puVar8 = (uint *)(local_res20 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } } uVar17 = FUN_1812518d0(param_1,&local_res10); puVar8 = (uint *)(local_res10 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } iVar1 = *(int *)(param_1 + 0x1c); iVar16 = iVar1 + 1; if (*(int *)(param_1 + 0x18) < iVar16) { if (iVar16 < 0) { iVar16 = iVar1 + 2; } FUN_18051d4f0(param_1 + 0x10,iVar1 + 9 + (iVar16 >> 1) & 0xfffffff8); } iVar16 = *(int *)(param_1 + 0x1c); *(int *)(param_1 + 0x1c) = iVar16 + 1; puVar6 = (undefined8 *)((longlong)iVar16 * 0x10 + *(longlong *)(param_1 + 0x10)); *puVar6 = pbVar9; puVar8 = (uint *)(pbVar9 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); *puVar8 = *puVar8 + 1; UNLOCK(); } *(undefined4 *)(puVar6 + 1) = uVar17; *(uint *)((longlong)puVar6 + 0xc) = (uint)lVar12 & 0xffff; if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar7 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar7 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } bVar13 = *pbVar11; pbVar9 = pbVar11; } while( true ); } ############ FUN_ 18051d4f0 size=248 ############ void FUN_18051d4f0(longlong *param_1,int param_2) { int iVar1; longlong lVar2; void *_Memory; longlong lVar3; void *pvVar4; int *_Memory_00; undefined4 *puVar5; int iVar6; longlong lVar7; if ((int)param_1[1] == param_2) { *(int *)(param_1 + 1) = param_2; return; } if (param_2 < 1) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } pvVar4 = malloc((longlong)param_2 << 4); iVar6 = 0; if (0 < *(int *)((longlong)param_1 + 0xc)) { puVar5 = (undefined4 *)((longlong)pvVar4 + 0xc); lVar3 = -(longlong)pvVar4; lVar7 = lVar3 + -0xc; do { lVar2 = *param_1; *(undefined8 *)(puVar5 + -3) = *(undefined8 *)((longlong)puVar5 + lVar2 + lVar7); *(undefined1 **)((longlong)puVar5 + lVar2 + lVar7) = &DAT_1821dbf98; puVar5[-1] = *(undefined4 *)((longlong)puVar5 + lVar2 + lVar3 + -4); *puVar5 = *(undefined4 *)((longlong)puVar5 + lVar2 + lVar3); lVar2 = *(longlong *)((longlong)puVar5 + *param_1 + lVar7); _Memory_00 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } iVar6 = iVar6 + 1; puVar5 = puVar5 + 4; } while (iVar6 < *(int *)((longlong)param_1 + 0xc)); } _Memory = (void *)*param_1; *param_1 = (longlong)pvVar4; /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18051fd30 size=379 ############ void FUN_18051fd30(longlong *param_1,int param_2,uint param_3) { undefined8 uVar1; longlong lVar2; uint uVar3; uint *_Memory; longlong *plVar4; longlong lVar5; longlong *plVar6; ulonglong uVar7; int iVar8; ulonglong uVar9; undefined4 *puVar10; undefined4 *puVar11; int iVar12; iVar8 = 0; iVar12 = (*(int *)((longlong)param_1 + 0xc) - param_2) - param_3; plVar6 = (longlong *)((longlong)param_2 * 0x10 + *param_1); plVar4 = plVar6 + (longlong)(int)param_3 * 2; uVar9 = (ulonglong)param_3; if (3 < iVar12) { uVar3 = (iVar12 - 4U >> 2) + 1; uVar7 = (ulonglong)uVar3; iVar8 = uVar3 * 4; puVar10 = (undefined4 *)((longlong)plVar6 + 0x1c); puVar11 = (undefined4 *)((longlong)plVar4 + 0x1c); do { lVar5 = *plVar6; *plVar6 = *plVar4; plVar6 = plVar6 + 8; *plVar4 = lVar5; plVar4 = plVar4 + 8; puVar10[-5] = puVar11[-5]; puVar10[-4] = puVar11[-4]; uVar1 = *(undefined8 *)(puVar10 + -3); *(undefined8 *)(puVar10 + -3) = *(undefined8 *)(puVar11 + -3); *(undefined8 *)(puVar11 + -3) = uVar1; puVar10[-1] = puVar11[-1]; *puVar10 = *puVar11; uVar1 = *(undefined8 *)(puVar10 + 1); *(undefined8 *)(puVar10 + 1) = *(undefined8 *)(puVar11 + 1); *(undefined8 *)(puVar11 + 1) = uVar1; puVar10[3] = puVar11[3]; puVar10[4] = puVar11[4]; uVar1 = *(undefined8 *)(puVar10 + 5); *(undefined8 *)(puVar10 + 5) = *(undefined8 *)(puVar11 + 5); *(undefined8 *)(puVar11 + 5) = uVar1; puVar10[7] = puVar11[7]; puVar10[8] = puVar11[8]; uVar7 = uVar7 - 1; puVar10 = puVar10 + 0x10; puVar11 = puVar11 + 0x10; } while (uVar7 != 0); } if (iVar8 < iVar12) { lVar5 = (longlong)plVar4 - (longlong)plVar6; uVar7 = (ulonglong)(uint)(iVar12 - iVar8); do { lVar2 = *plVar6; *plVar6 = *(longlong *)(lVar5 + (longlong)plVar6); *(longlong *)(lVar5 + (longlong)plVar6) = lVar2; *(undefined4 *)(plVar6 + 1) = *(undefined4 *)(lVar5 + 8 + (longlong)plVar6); *(undefined4 *)((longlong)plVar6 + 0xc) = *(undefined4 *)(lVar5 + 0xc + (longlong)plVar6); plVar6 = plVar6 + 2; uVar7 = uVar7 - 1; } while (uVar7 != 0); } if (0 < (int)param_3) { do { lVar5 = *plVar6; plVar6 = plVar6 + 2; _Memory = (uint *)(lVar5 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } uVar9 = uVar9 - 1; } while (uVar9 != 0); } return; } ############ FUN_ 181231fc0 size=243 ############ undefined8 * FUN_181231fc0(undefined8 *param_1,char *param_2,int param_3) { char cVar1; uint uVar2; char *pcVar3; undefined4 *puVar4; char *pcVar5; longlong lVar6; bool bVar7; if (param_3 < 1) { *param_1 = &DAT_1821dbf98; return param_1; } lVar6 = -1; do { lVar6 = lVar6 + 1; } while (param_2[lVar6] != '\0'); puVar4 = (undefined4 *)thunk_FUN_1811316e0(); LOCK(); *puVar4 = 0; UNLOCK(); *(ulonglong *)(puVar4 + 2) = lVar6 * param_3 + 4U & 0xfffffffffffffffc; pcVar5 = (char *)(puVar4 + 4); while (pcVar3 = pcVar5, param_3 = param_3 + -1, -1 < param_3) { cVar1 = *param_2; *pcVar3 = cVar1; pcVar5 = pcVar3; if (cVar1 != '\0') { do { cVar1 = pcVar5[(longlong)(param_2 + (1 - (longlong)pcVar3))]; pcVar5 = pcVar5 + 1; *pcVar5 = cVar1; } while (cVar1 != '\0'); } } *param_1 = puVar4 + 4; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar7 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar7) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return param_1; } ############ FUN_ 1805075e0 size=1386 ############ ulonglong FUN_1805075e0(int *param_1) { longlong *plVar1; int *piVar2; uint uVar3; byte bVar4; longlong lVar5; bool bVar6; undefined4 uVar7; wint_t wVar8; int iVar9; int iVar10; uint uVar11; longlong *plVar12; undefined8 uVar13; undefined4 extraout_var; ulonglong uVar14; uint uVar15; byte *pbVar16; uint *puVar17; longlong lVar18; float fVar19; float fVar20; float fVar21; float fVar22; float fVar23; float fVar24; longlong local_res8; longlong local_res10; longlong local_res18; void *local_b0; undefined8 local_a8; uVar7 = DAT_1824c4620; fVar22 = DAT_1824c3c44; plVar1 = (longlong *)(param_1 + 0x16); uVar15 = 0; LAB_180507640: if (*(longlong **)(param_1 + 8) == plVar1) { pbVar16 = (byte *)*plVar1; uVar11 = uVar15; LAB_180507651: do { bVar4 = *pbVar16; pbVar16 = pbVar16 + 1; if ((char)bVar4 < '\0') { if ((*pbVar16 & 0xc0) == 0x80) { do { pbVar16 = pbVar16 + 1; } while ((*pbVar16 & 0xc0) == 0x80); uVar11 = uVar11 + 1; goto LAB_180507651; } } else if (bVar4 == 0) goto LAB_18050767e; uVar11 = uVar11 + 1; } while( true ); } goto LAB_1805077ea; while (uVar15 = uVar15 + 1, (int)uVar15 < local_a8._4_4_) { LAB_1805077a0: if ((float)param_1[0x12] <= (*(float *)((longlong)local_b0 + (longlong)(int)uVar15 * 0x20 + 0x18) + *(float *)((longlong)local_b0 + (longlong)(int)uVar15 * 0x20 + 0x10)) - fVar22) break; } if ((0 < (int)uVar15) && ((int)uVar15 <= (int)(uVar11 - iVar10))) { param_1[0x19] = uVar15 & 0xffff; lVar18 = (longlong)(int)(uVar15 - 1) * 0x20; fVar22 = *(float *)(lVar18 + 0x18 + (longlong)local_b0) + *(float *)(lVar18 + 0x10 + (longlong)local_b0); param_1[0x18] = (int)fVar22; if ((param_1[0x10] & 0x47U) == 4) { fVar21 = ((float)param_1[0x11] - fVar22) * DAT_1824c3d8c; if (fVar21 <= 0.0) { fVar21 = 0.0; } } else if ((param_1[0x10] & 0x47U) == 2) { fVar21 = (float)param_1[0x11] - fVar22; if (fVar21 <= 0.0) { fVar21 = 0.0; } } else { fVar21 = 0.0; } param_1[5] = (int)fVar21; param_1[6] = (int)(fVar21 + fVar22); FUN_1804aeb50(&local_b0); /* WARNING: Subroutine does not return */ free(local_b0); } LAB_1805077d5: FUN_1804aeb50(&local_b0); /* WARNING: Subroutine does not return */ free(local_b0); LAB_18050767e: iVar10 = param_1[0x19]; if (0 < (int)(uVar11 - iVar10)) { plVar12 = (longlong *)FUN_1812491d0(plVar1,&local_res8); local_res18 = *plVar1; *plVar1 = *plVar12; *plVar12 = local_res18; puVar17 = (uint *)(local_res8 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if (0 < param_1[0x19]) { param_1[1] = (int)((float)param_1[0x14] * (float)param_1[3] + (float)param_1[1]); } *param_1 = *param_1 + param_1[0x19]; local_b0 = (void *)0x0; local_a8 = 0; FUN_1804aebd0(&local_b0,200); uVar13 = FUN_180506630(*(undefined8 *)(param_1 + 8),&local_res10,param_1[0x13]); FUN_1812510e0(&local_b0,*(undefined8 *)(param_1 + 10),uVar13,0,0,uVar7,0); puVar17 = (uint *)(local_res10 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } if (local_a8._4_4_ < 1) goto LAB_1805077d5; goto LAB_1805077a0; } LAB_1805077ea: plVar12 = *(longlong **)(param_1 + 0xc); if (param_1[0xe] < *(int *)((longlong)plVar12 + 0xc)) { bVar6 = false; iVar10 = *(int *)(*(longlong *)(param_1 + 10) + 0x1c); iVar9 = param_1[0xf]; if (iVar10 + -1 <= iVar9) { if (iVar9 < iVar10) { lVar18 = (longlong)iVar9 * 0x10 + *(longlong *)(*(longlong *)(param_1 + 10) + 0x10); wVar8 = FUN_180493050(lVar18,0); iVar10 = iswspace(wVar8); if (iVar10 == 0) { fVar21 = *(float *)(lVar18 + 8) + (float)param_1[6]; iVar10 = param_1[0xe] + 1; if (iVar10 < *(int *)(*(longlong *)(param_1 + 0xc) + 0xc)) { lVar18 = (longlong)iVar10 * 8; fVar23 = (float)param_1[3]; fVar24 = (float)param_1[4]; do { plVar12 = *(longlong **)(lVar18 + **(longlong **)(param_1 + 0xc)); if (*(int *)((longlong)plVar12 + 0x1c) == 0) break; lVar5 = plVar12[2]; wVar8 = FUN_180493050(lVar5,0); iVar9 = iswspace(wVar8); if (iVar9 != 0) break; fVar21 = fVar21 + *(float *)(lVar5 + 8); fVar19 = *(float *)(*plVar12 + 0x28); if (*(float *)(*plVar12 + 0x28) <= fVar23) { fVar19 = fVar23; } fVar20 = (float)FUN_181251990(plVar12); if (fVar20 <= fVar24) { fVar20 = fVar24; } if ((float)param_1[0x12] <= fVar21 - fVar22) { param_1[3] = (int)fVar19; param_1[4] = (int)fVar20; bVar6 = true; break; } if (1 < *(int *)((longlong)plVar12 + 0x1c)) break; iVar10 = iVar10 + 1; lVar18 = lVar18 + 8; fVar23 = fVar19; fVar24 = fVar20; } while (iVar10 < *(int *)(*(longlong *)(param_1 + 0xc) + 0xc)); } } } else { iVar10 = param_1[0xe] + 1; param_1[0xe] = iVar10; if (*(int *)((longlong)plVar12 + 0xc) <= iVar10) goto LAB_180507b0b; param_1[0xf] = 0; *(undefined8 *)(param_1 + 10) = *(undefined8 *)(*plVar12 + (longlong)iVar10 * 8); } } if (*(longlong *)(param_1 + 8) != 0) { param_1[5] = param_1[6]; lVar18 = *(longlong *)(param_1 + 8); *param_1 = *param_1 + *(int *)(lVar18 + 0xc); iVar10 = FUN_180493050(lVar18,0); if ((iVar10 == 0xd) || (iVar10 = FUN_180493050(lVar18,0), iVar10 == 10)) { FUN_180507b50(param_1); } } lVar18 = *(longlong *)(*(longlong *)(param_1 + 10) + 0x10) + (longlong)param_1[0xf] * 0x10; *(longlong *)(param_1 + 8) = lVar18; fVar21 = *(float *)(lVar18 + 8) + (float)param_1[5]; param_1[6] = (int)fVar21; uVar11 = param_1[0xf] + 1; uVar14 = (ulonglong)uVar11; param_1[0xf] = uVar11; if (((float)param_1[0x12] <= fVar21 - fVar22) || (bVar6)) { wVar8 = FUN_180493050(*(undefined8 *)(param_1 + 8),0); iVar10 = iswspace(wVar8); uVar14 = CONCAT44(extraout_var,iVar10); if (iVar10 == 0) { plVar12 = *(longlong **)(param_1 + 8); if (*(float *)(plVar12 + 1) - fVar22 < (float)param_1[0x12]) { FUN_180507b50(param_1); param_1[5] = param_1[2]; param_1[6] = (int)((float)param_1[2] + *(float *)(*(longlong *)(param_1 + 8) + 8)); return CONCAT71((int7)((ulonglong)*(longlong *)(param_1 + 8) >> 8),1); } if ((*(uint *)(*plVar12 + -0x10) & 0x30000000) == 0) { LOCK(); piVar2 = (int *)(*plVar12 + -0x10); *piVar2 = *piVar2 + 1; UNLOCK(); } LOCK(); lVar18 = *plVar1; *plVar1 = *plVar12; UNLOCK(); puVar17 = (uint *)(lVar18 + -0x10); if ((*puVar17 & 0x30000000) == 0) { LOCK(); uVar11 = *puVar17; *puVar17 = *puVar17 - 1; UNLOCK(); if (uVar11 == 0) { /* WARNING: Subroutine does not return */ free(puVar17); } } param_1[0x18] = (int)plVar12[1]; param_1[0x19] = *(int *)((longlong)plVar12 + 0xc); param_1[0x18] = 0; param_1[0x19] = 0; *(longlong **)(param_1 + 8) = plVar1; if ((float)param_1[2] <= (float)param_1[5] && (float)param_1[5] != (float)param_1[2]) { FUN_180507b50(param_1); } goto LAB_180507640; } fVar22 = (float)param_1[0x12]; if ((float)param_1[6] <= (float)param_1[0x12]) { fVar22 = (float)param_1[6]; } param_1[6] = (int)fVar22; } return CONCAT71((int7)(uVar14 >> 8),1); } LAB_180507b0b: uVar14 = FUN_1805085b0(param_1); return uVar14 & 0xffffffffffffff00; } ############ FUN_ 1812e0660 size=440 ############ float * FUN_1812e0660(longlong param_1,float *param_2,ulonglong param_3,undefined8 param_4) { int iVar1; char cVar2; uint *_Memory; uint uVar3; float fVar4; int local_a8; float local_a4; float local_9c; float local_94; longlong local_88; uint local_68; float local_64; longlong local_50; iVar1 = *(int *)(param_1 + 0x2a4); fVar4 = 0.0; if ((*(char *)(param_1 + 0x1ef) == '\0') || (uVar3 = (*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - *(int *)(param_1 + 0x288)) - 3, param_3 = (ulonglong)uVar3, 0.0 < (float)(int)uVar3)) { FUN_1805074f0(&local_a8,param_1,param_3,param_4,0xfffffffffffffffe); if (*(int *)(param_1 + 0x2b4) == 0) { if ((local_68 & 0x47) == 4) { local_94 = (local_64 - 0.0) * DAT_1824c3d8c; if (local_94 <= 0.0) { local_94 = 0.0; } local_9c = *(float *)(*(longlong *)(param_1 + 0x298) + 0x28); local_a4 = fVar4; } else if ((local_68 & 0x47) == 2) { local_94 = local_64 - 0.0; if (local_94 <= 0.0) { local_94 = 0.0; } local_9c = *(float *)(*(longlong *)(param_1 + 0x298) + 0x28); local_a4 = fVar4; } else { local_94 = 0.0; local_9c = *(float *)(*(longlong *)(param_1 + 0x298) + 0x28); local_a4 = fVar4; } } else { cVar2 = FUN_1805075e0(&local_a8); while (cVar2 != '\0') { if (iVar1 < *(int *)(local_88 + 0xc) + local_a8) { local_94 = (float)FUN_1805083d0(&local_a8,iVar1); break; } cVar2 = FUN_1805075e0(); } } _Memory = (uint *)(local_50 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } else { local_94 = 0.0; local_9c = *(float *)(*(longlong *)(param_1 + 0x298) + 0x28); local_a4 = fVar4; } *param_2 = local_94; param_2[1] = local_a4; param_2[2] = 2.0; param_2[3] = local_9c; return param_2; } ############ FUN_ 1805083d0 size=292 ############ int FUN_1805083d0(int *param_1,int param_2) { uint uVar1; undefined8 uVar2; uint *_Memory; longlong local_res8; void *local_30; undefined8 local_28; if (param_2 <= *param_1) { return param_1[5]; } if (param_2 < *(int *)(*(longlong *)(param_1 + 8) + 0xc) + *param_1) { local_30 = (void *)0x0; local_28 = 0; FUN_1804aebd0(&local_30,200); uVar2 = FUN_180506630(*(undefined8 *)(param_1 + 8),&local_res8,param_1[0x13]); FUN_1812510e0(&local_30,*(undefined8 *)(param_1 + 10),uVar2,param_1[5],0,DAT_1824c4620,0); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1804aeb50(&local_30); /* WARNING: Subroutine does not return */ free(local_30); } return param_1[6]; } ############ FUN_ 1812e0940 size=410 ############ void FUN_1812e0940(longlong param_1,ulonglong param_2) { uint uVar1; char cVar2; int iVar3; int iVar4; uint *_Memory; int iVar5; int local_98; float local_94; float local_8c; longlong local_78; longlong local_40; undefined8 local_28; undefined4 local_18; int iStack_14; undefined4 uStack_10; int iStack_c; local_28 = 0xfffffffffffffffe; iVar3 = (int)(param_2 >> 0x20); if (((int)param_2 != iVar3) && ((*(char *)(param_1 + 0x1ef) == '\0' || (0.0 < (float)((*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - *(int *)(param_1 + 0x288)) + -3))))) { FUN_1805074f0(&local_98,param_1); cVar2 = FUN_1805075e0(&local_98); while (cVar2 != '\0') { if ((int)param_2 < *(int *)(local_78 + 0xc) + local_98) { FUN_1805083d0(&local_98,param_2 & 0xffffffff); break; } cVar2 = FUN_1805075e0(); } iVar5 = (int)local_94; iVar4 = FUN_1812dbb90(param_1); if (iVar3 < iVar4) { cVar2 = FUN_1805075e0(&local_98); while (cVar2 != '\0') { if (iVar3 < *(int *)(local_78 + 0xc) + local_98) { FUN_1805083d0(&local_98,iVar3); break; } cVar2 = FUN_1805075e0(); } iStack_c = (int)(local_8c * DAT_1824c41e0 + local_94); } else { iStack_c = *(int *)(*(longlong *)(param_1 + 0x1d0) + 0x2c); } uStack_10 = *(undefined4 *)(*(longlong *)(param_1 + 0x1d0) + 0x28); iStack_c = iStack_c - iVar5; local_18 = 0; iStack_14 = iVar5; FUN_181342a30(*(longlong *)(param_1 + 0x1d0),&local_18); _Memory = (uint *)(local_40 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return; } ############ FUN_ 1812e0e60 size=235 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812e0e60(longlong param_1) { uint uVar1; undefined8 *puVar2; uint *_Memory; undefined1 auStack_58 [32]; longlong local_38 [2]; undefined **local_28; undefined8 local_20; ulonglong local_18; local_38[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; FUN_1812e0480(); if ((*(int *)(param_1 + 0x30c) != 0) || (*(longlong *)(param_1 + 0x100) != 0)) { FUN_1813416b0(param_1,0x10003001); } if (1 < *(int *)(*(longlong *)(param_1 + 0x2d8) + 8)) { *(undefined1 *)(param_1 + 0x1f8) = 0; puVar2 = (undefined8 *)FUN_1812dc020(param_1,local_38); local_28 = &PTR_vftable_18262b560; local_20 = *puVar2; *puVar2 = &DAT_1821dbf98; FUN_1813516e0(param_1 + 0x2d8,&local_28); (**(code **)(*local_28 + 0xb0))(local_28,&local_20); _Memory = (uint *)(local_38[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } } ############ FUN_ 181352640 size=135 ############ void FUN_181352640(longlong param_1) { int *_Memory; int iVar1; longlong lVar2; uint uVar3; bool bVar4; *(undefined1 *)(param_1 + 0x70) = 1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0x58); *(longlong *)(param_1 + 0x58) = (longlong)&DAT_1821dbf98; UNLOCK(); _Memory = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return; } ############ FUN_ 1812e1050 size=180 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812e1050(longlong param_1) { uint uVar1; undefined8 *puVar2; uint *_Memory; undefined1 auStack_58 [32]; longlong local_38 [2]; undefined **local_28; undefined8 local_20; ulonglong local_18; local_38[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; if (*(char *)(param_1 + 0x1f8) != '\0') { *(undefined1 *)(param_1 + 0x1f8) = 0; puVar2 = (undefined8 *)FUN_1812dc020(param_1,local_38); local_28 = &PTR_vftable_18262b560; local_20 = *puVar2; *puVar2 = &DAT_1821dbf98; FUN_1813516e0(param_1 + 0x2d8,&local_28); (**(code **)(*local_28 + 0xb0))(local_28,&local_20); _Memory = (uint *)(local_38[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } } ############ FUN_ 18051dab0 size=82 ############ void FUN_18051dab0(longlong *param_1) { int *piVar1; int iVar2; undefined8 *puVar3; if ((*param_1 != 0) && (puVar3 = *(undefined8 **)(*param_1 + 0x10), puVar3 != (undefined8 *)0x0)) { (**(code **)*puVar3)(puVar3,1); } puVar3 = (undefined8 *)*param_1; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 18132e000 size=207 ############ undefined8 FUN_18132e000(longlong param_1,uint param_2,longlong *param_3) { int iVar1; longlong lVar2; longlong *plVar3; int *piVar4; undefined8 uVar5; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 100)); if ((param_2 < *(uint *)(param_1 + 0x9c)) && (plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x90) + (longlong)(int)param_2 * 8), plVar3 != (longlong *)0x0)) { if ((*(uint *)(*plVar3 + -0x10) & 0x30000000) == 0) { LOCK(); piVar4 = (int *)(*plVar3 + -0x10); *piVar4 = *piVar4 + 1; UNLOCK(); } LOCK(); lVar2 = *param_3; *param_3 = *plVar3; UNLOCK(); piVar4 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar4; *piVar4 = *piVar4 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar4); } } param_3[1] = plVar3[1]; param_3[2] = plVar3[2]; param_3[3] = plVar3[3]; *(char *)(param_3 + 4) = (char)plVar3[4]; uVar5 = 1; *(undefined1 *)((longlong)param_3 + 0x21) = *(undefined1 *)((longlong)plVar3 + 0x21); } else { uVar5 = 0; } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 100)); return uVar5; } ############ FUN_ 18051fa90 size=556 ############ longlong FUN_18051fa90(longlong *param_1,longlong param_2,undefined8 param_3) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; ulonglong uVar4; longlong lVar5; longlong lVar6; longlong lVar7; longlong lVar8; void *_Memory; longlong lVar9; undefined8 uVar10; uVar10 = 0xfffffffffffffffe; lVar8 = *param_1; lVar7 = (param_1[1] - lVar8) / 0x88; if (lVar7 == 0x1e1e1e1e1e1e1e1) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar1 = lVar7 + 1; uVar3 = (param_1[2] - lVar8) / 0x88; uVar4 = uVar1; if ((uVar3 <= 0x1e1e1e1e1e1e1e1 - (uVar3 >> 1)) && (uVar4 = (uVar3 >> 1) + uVar3, uVar4 < uVar1)) { uVar4 = uVar1; } lVar7 = uVar4 * 0x88; if (0x1e1e1e1e1e1e1e1 < uVar4) { lVar7 = -1; } lVar5 = FUN_180480500(lVar7); lVar6 = ((param_2 - lVar8) / 0x88) * 0x88; lVar8 = lVar6 + lVar5 + 0x88; lVar7 = lVar8; lVar9 = lVar5; FUN_181348200(lVar6 + lVar5,param_3); if (param_2 == param_1[1]) { FUN_180520d10(*param_1,param_1[1],lVar5,param_1); } else { FUN_18051ff60(param_1,*param_1,param_2,lVar5,lVar6,lVar7,lVar9,uVar10); FUN_18051ff60(param_1,param_2,param_1[1],lVar8); } lVar8 = *param_1; if (lVar8 != 0) { lVar7 = param_1[1]; for (; lVar8 != lVar7; lVar8 = lVar8 + 0x88) { FUN_1804d80a0(lVar8); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x88) * 0x88)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar5; param_1[1] = uVar1 * 0x88 + lVar5; param_1[2] = uVar4 * 0x88 + lVar5; return *param_1 + lVar6; } ############ FUN_ 1813486a0 size=356 ############ void FUN_1813486a0(longlong param_1,undefined4 param_2,longlong *param_3,undefined1 param_4, undefined1 param_5) { longlong lVar1; uint uVar2; undefined8 uVar3; uint *_Memory; bool bVar4; longlong local_138; undefined4 local_130; undefined8 local_f0; undefined8 local_e8; undefined8 uStack_e0; undefined8 local_d8; undefined8 uStack_d0; undefined8 local_c8; undefined1 *local_c0; undefined4 local_b8; undefined1 local_b4; undefined1 local_b3; undefined2 local_b2; undefined1 local_a8 [144]; local_138 = *param_3; *param_3 = (longlong)&DAT_1821dbf98; local_f0 = 0; local_e8 = 0; uStack_e0 = 0; local_d8 = 0; uStack_d0 = 0; local_c8 = 0; local_c0 = &DAT_1821dbf98; local_b8 = 0; local_b2 = 0; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_b3 = param_5; local_130 = param_2; local_b4 = param_4; uVar3 = FUN_181348200(local_a8,&local_138); lVar1 = *(longlong *)(param_1 + 8); if (*(longlong *)(param_1 + 0x10) == lVar1) { FUN_18051fa90(param_1,lVar1,uVar3); } else { FUN_181348200(lVar1,uVar3); *(longlong *)(param_1 + 8) = *(longlong *)(param_1 + 8) + 0x88; } FUN_1804d80a0(uVar3); FUN_1804d80a0(&local_138); _Memory = (uint *)(*param_3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 181241c10 size=131 ############ undefined8 FUN_181241c10(longlong *param_1) { int *_Memory; int iVar1; longlong *plVar2; undefined8 uVar3; bool bVar4; undefined4 local_res8; undefined4 uStackX_c; bVar4 = false; local_res8 = 0; if (*(char *)*param_1 == '\0') { LAB_181241c54: uVar3 = 0; } else { plVar2 = (longlong *)FUN_181241230(param_1,&local_res8); bVar4 = true; if (*param_1 != *plVar2) { iVar1 = FUN_18049bb30(*param_1); if (iVar1 != 0) goto LAB_181241c54; } uVar3 = 1; } if ((bVar4) && (_Memory = (int *)(CONCAT44(uStackX_c,local_res8) + -0x10), (*(uint *)(CONCAT44(uStackX_c,local_res8) + -0x10) & 0x30000000) == 0)) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return uVar3; } ############ FUN_ 1804f3c70 size=126 ############ undefined8 * FUN_1804f3c70(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { *param_1 = juce::FileChooser::NonNative::vftable; FUN_181343150(param_1 + 0x156,0,param_3,param_4,0xfffffffffffffffe); FUN_1813292f0(param_1 + 0x156); FUN_18132c7a0(param_1 + 9); FUN_1812186b0(param_1 + 3); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f3d10 size=62 ############ undefined8 * FUN_1804f3d10(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::FilePreviewComponent::vftable; FUN_18134caa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f4630 size=52 ############ void * FUN_1804f4630(void *param_1,ulonglong param_2) { FUN_1813292f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f4670 size=217 ############ void FUN_1804f4670(undefined8 *param_1) { uint uVar1; uint *puVar2; *param_1 = juce::FileListComponent::vftable; param_1[0x16] = juce::FileListComponent::vftable; param_1[0x21] = juce::FileListComponent::vftable; param_1[0x25] = juce::FileListComponent::vftable; param_1[0x26] = juce::FileListComponent::vftable; FUN_1812a72f0(param_1[0x22]); puVar2 = (uint *)(param_1[0x28] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[0x27] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } param_1[0x21] = juce::DirectoryContentsDisplayComponent::vftable; *(undefined4 *)((longlong)param_1 + 0x124) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x23]); } ############ FUN_ 1804f4780 size=292 ############ void FUN_1804f4780(undefined8 *param_1) { int *piVar1; int iVar2; uint uVar3; undefined8 *puVar4; uint *puVar5; *param_1 = juce::FileListComponent::ItemComponent::vftable; param_1[0x16] = juce::FileListComponent::ItemComponent::vftable; param_1[0x18] = juce::FileListComponent::ItemComponent::vftable; FUN_1812299e0(param_1[0x1b]); puVar4 = (undefined8 *)param_1[0x1f]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } puVar5 = (uint *)(param_1[0x1e] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(param_1[0x1d] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(param_1[0x1c] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } param_1[0x18] = juce::AsyncUpdater::vftable; LOCK(); *(undefined4 *)(param_1[0x19] + 0x18) = 0; UNLOCK(); puVar4 = (undefined8 *)param_1[0x19]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } FUN_18134caa0(param_1); return; } ############ FUN_ 1804f5070 size=748 ############ void FUN_1804f5070(longlong param_1,char param_2) { uint *_Memory; int *piVar1; byte bVar2; int iVar3; char cVar4; byte *pbVar5; undefined8 *puVar6; uint uVar7; uint *_Memory_00; uint uVar8; int iVar9; undefined8 *puVar10; int iVar11; bool bVar12; undefined8 *local_res18; byte *local_res20; undefined8 *local_50; undefined8 local_48; undefined8 *local_40; local_48 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0xf8) != 0) { return; } local_res20 = *(byte **)(param_1 + 0xe0); if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_res20,"_iconCacheSalt",""); _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } _Memory_00 = (uint *)(local_res20 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar8 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } bVar2 = *local_res20; iVar9 = 0; pbVar5 = local_res20; while (bVar2 != 0) { bVar2 = *pbVar5; pbVar5 = pbVar5 + 1; uVar8 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar8 = 0x7f; uVar7 = 0x40; iVar11 = 0; iVar3 = 0; if ((bVar2 & 0x40) != 0) { do { iVar11 = iVar3; if (uVar7 < 9) break; uVar8 = uVar8 >> 1; iVar11 = iVar11 + 1; uVar7 = uVar7 >> 1; iVar3 = iVar11; } while ((bVar2 & uVar7) != 0); } uVar8 = bVar2 & uVar8; for (; (iVar11 = iVar11 + -1, -1 < iVar11 && ((*pbVar5 & 0xc0) == 0x80)); pbVar5 = pbVar5 + 1) { uVar8 = *pbVar5 & 0x3f | uVar8 << 6; } } iVar9 = iVar9 * 0x1f + uVar8; bVar2 = *pbVar5; } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar8 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18128fa50(&local_res18,(longlong)iVar9); puVar6 = local_res18; if ((local_res18 == (undefined8 *)0x0) && (param_2 == '\0')) { puVar6 = (undefined8 *)FUN_1812c5270(&local_50,param_1 + 0xe0); local_40 = local_res18; local_res18 = (undefined8 *)*puVar6; *puVar6 = 0; if (local_50 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_50 + 1); iVar11 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar11 == 1) { (**(code **)*local_50)(local_50,1); } } puVar6 = local_res18; if (local_res18 != (undefined8 *)0x0) { FUN_18128f8e0(&local_res18,(longlong)iVar9); } } puVar10 = (undefined8 *)0x0; if (puVar6 == (undefined8 *)0x0) goto LAB_1804f5323; if (puVar6 == (undefined8 *)0x0) { puVar6 = *(undefined8 **)(param_1 + 0xf8); *(undefined8 *)(param_1 + 0xf8) = 0; LAB_1804f52ce: if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*puVar6)(puVar6,1); } } } else if (*(undefined8 **)(param_1 + 0xf8) != puVar6) { LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); puVar6 = *(undefined8 **)(param_1 + 0xf8); *(undefined8 **)(param_1 + 0xf8) = local_res18; goto LAB_1804f52ce; } piVar1 = (int *)(*(longlong *)(param_1 + 200) + 0x18); LOCK(); bVar12 = *piVar1 == 0; if (bVar12) { *piVar1 = 1; } UNLOCK(); puVar10 = local_res18; if ((bVar12) && (cVar4 = FUN_1812a6720(*(undefined8 *)(param_1 + 200)), puVar10 = local_res18, cVar4 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 200) + 0x18) = 0; UNLOCK(); } LAB_1804f5323: if (puVar10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar10 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_res18)(local_res18,1); } } return; } ############ FUN_ 1804f5360 size=52 ############ void * FUN_1804f5360(void *param_1,ulonglong param_2) { FUN_1804f4780(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f53a0 size=52 ############ void * FUN_1804f53a0(void *param_1,ulonglong param_2) { FUN_1813272c0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1813272c0 size=133 ############ void FUN_1813272c0(undefined8 *param_1) { uint uVar1; uint *_Memory; *param_1 = juce::FilenameComponent::vftable; param_1[0x16] = juce::FilenameComponent::vftable; param_1[0x18] = juce::FilenameComponent::vftable; param_1[0x19] = juce::FilenameComponent::vftable; _Memory = (uint *)(param_1[0x55] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(undefined4 *)((longlong)param_1 + 0x2a4) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x53]); } ############ FUN_ 1804f53e0 size=52 ############ void * FUN_1804f53e0(void *param_1,ulonglong param_2) { FUN_181345580(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f5720 size=406 ############ void FUN_1804f5720(undefined8 *param_1) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; uint *puVar5; *param_1 = juce::FileListTreeItem::vftable; param_1[9] = juce::FileListTreeItem::vftable; param_1[0xb] = juce::FileListTreeItem::vftable; param_1[0xd] = juce::FileListTreeItem::vftable; FUN_1812299e0(param_1[0x15]); FUN_1812d7200(param_1); FUN_1804f5a70(param_1); puVar5 = (uint *)(param_1[0x1e] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(param_1[0x1d] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar4 = (undefined8 *)param_1[0x1c]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x16)); if (*(char *)(param_1 + 0x13) == '\0') { param_1[0x12] = 0; } else { puVar4 = (undefined8 *)param_1[0x12]; param_1[0x12] = 0; if (puVar4 == (undefined8 *)0x0) goto LAB_1804f5841; (**(code **)*puVar4)(puVar4,1); } puVar4 = (undefined8 *)param_1[0x12]; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } LAB_1804f5841: puVar5 = (uint *)(param_1[0xe] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } param_1[0xb] = juce::AsyncUpdater::vftable; LOCK(); *(undefined4 *)(param_1[0xc] + 0x18) = 0; UNLOCK(); puVar4 = (undefined8 *)param_1[0xc]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } *param_1 = juce::TreeViewItem::vftable; FUN_180485f00(param_1 + 3); return; } ############ FUN_ 1804f6220 size=762 ############ void FUN_1804f6220(longlong param_1,char param_2) { uint *_Memory; int *piVar1; byte bVar2; int iVar3; char cVar4; byte *pbVar5; undefined8 *puVar6; uint uVar7; uint *_Memory_00; uint uVar8; int iVar9; undefined8 *puVar10; int iVar11; bool bVar12; undefined8 *local_res18; byte *local_res20; undefined8 *local_50; undefined8 local_48; undefined8 *local_40; local_48 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0xe0) != 0) { return; } local_res20 = *(byte **)(param_1 + 0x70); if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } FUN_181232e20(&local_res20,"_iconCacheSalt",""); _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } _Memory_00 = (uint *)(local_res20 + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar8 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } bVar2 = *local_res20; iVar9 = 0; pbVar5 = local_res20; while (bVar2 != 0) { bVar2 = *pbVar5; pbVar5 = pbVar5 + 1; uVar8 = (uint)bVar2; if ((char)bVar2 < '\0') { uVar8 = 0x7f; uVar7 = 0x40; iVar11 = 0; iVar3 = 0; if ((bVar2 & 0x40) != 0) { do { iVar11 = iVar3; if (uVar7 < 9) break; uVar8 = uVar8 >> 1; iVar11 = iVar11 + 1; uVar7 = uVar7 >> 1; iVar3 = iVar11; } while ((bVar2 & uVar7) != 0); } uVar8 = bVar2 & uVar8; for (; (iVar11 = iVar11 + -1, -1 < iVar11 && ((*pbVar5 & 0xc0) == 0x80)); pbVar5 = pbVar5 + 1) { uVar8 = *pbVar5 & 0x3f | uVar8 << 6; } } iVar9 = iVar9 * 0x1f + uVar8; bVar2 = *pbVar5; } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar8 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar8 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18128fa50(&local_res18,(longlong)iVar9); puVar6 = local_res18; if ((local_res18 == (undefined8 *)0x0) && (param_2 == '\0')) { puVar6 = (undefined8 *)FUN_1812c5270(&local_50,param_1 + 0x70); local_40 = local_res18; local_res18 = (undefined8 *)*puVar6; *puVar6 = 0; if (local_50 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(local_50 + 1); iVar11 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar11 == 1) { (**(code **)*local_50)(local_50,1); } } puVar6 = local_res18; if (local_res18 != (undefined8 *)0x0) { FUN_18128f8e0(&local_res18,(longlong)iVar9); } } puVar10 = (undefined8 *)0x0; if (puVar6 == (undefined8 *)0x0) goto LAB_1804f64e1; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xb0)); if (puVar6 == (undefined8 *)0x0) { puVar6 = *(undefined8 **)(param_1 + 0xe0); *(undefined8 *)(param_1 + 0xe0) = 0; LAB_1804f6488: if (puVar6 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar6 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*puVar6)(puVar6,1); } } } else if (*(undefined8 **)(param_1 + 0xe0) != puVar6) { LOCK(); *(int *)(puVar6 + 1) = *(int *)(puVar6 + 1) + 1; UNLOCK(); puVar6 = *(undefined8 **)(param_1 + 0xe0); *(undefined8 **)(param_1 + 0xe0) = local_res18; goto LAB_1804f6488; } LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xb0)); piVar1 = (int *)(*(longlong *)(param_1 + 0x60) + 0x18); LOCK(); bVar12 = *piVar1 == 0; if (bVar12) { *piVar1 = 1; } UNLOCK(); puVar10 = local_res18; if ((bVar12) && (cVar4 = FUN_1812a6720(*(undefined8 *)(param_1 + 0x60)), puVar10 = local_res18, cVar4 == '\0')) { LOCK(); *(undefined4 *)(*(longlong *)(param_1 + 0x60) + 0x18) = 0; UNLOCK(); } LAB_1804f64e1: if (puVar10 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar10 + 1); iVar9 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar9 == 1) { (**(code **)*local_res18)(local_res18,1); } } return; } ############ FUN_ 1804f6520 size=52 ############ void * FUN_1804f6520(void *param_1,ulonglong param_2) { FUN_1804f5720(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f6560 size=213 ############ void FUN_1804f6560(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; uint *_Memory; *param_1 = juce::FileTreeComponent::vftable; param_1[0x16] = juce::FileTreeComponent::vftable; param_1[0x18] = juce::FileTreeComponent::vftable; param_1[0x19] = juce::FileTreeComponent::vftable; param_1[0x26] = juce::FileTreeComponent::vftable; puVar2 = (undefined8 *)param_1[0x21]; FUN_1812d8df0(param_1,0,param_3,param_4,0xfffffffffffffffe); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Memory = (uint *)(param_1[0x2a] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x26] = juce::DirectoryContentsDisplayComponent::vftable; *(undefined4 *)((longlong)param_1 + 0x14c) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x28]); } ############ FUN_ 1804f6670 size=249 ############ undefined8 * FUN_1804f6670(undefined8 *param_1,uint param_2) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; uint *puVar5; *param_1 = juce::ImagePreviewComponent::vftable; param_1[0x16] = juce::ImagePreviewComponent::vftable; puVar5 = (uint *)(param_1[0x1b] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar4 = (undefined8 *)param_1[0x1a]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } puVar5 = (uint *)(param_1[0x19] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } param_1[0x16] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x16); *param_1 = juce::FilePreviewComponent::vftable; FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f72f0 size=93 ############ void * FUN_1804f72f0(void *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = *(undefined8 **)((longlong)param_1 + 0xb0); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f7350 size=52 ############ void * FUN_1804f7350(void *param_1,ulonglong param_2) { FUN_181324040(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f7390 size=43 ############ undefined8 * FUN_1804f7390(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComponentBoundsConstrainer::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f73c0 size=117 ############ undefined8 * FUN_1804f73c0(undefined8 *param_1,uint param_2) { undefined8 *puVar1; *param_1 = juce::ComponentBuilder::vftable; FUN_181351090(param_1 + 1,param_1); puVar1 = (undefined8 *)param_1[6]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_180485f00(param_1 + 4); FUN_181352e50(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f7440 size=96 ############ undefined8 * FUN_1804f7440(undefined8 *param_1,uint param_2) { uint uVar1; uint *_Memory; *param_1 = juce::ComponentBuilder::TypeHandler::vftable; _Memory = (uint *)(param_1[1] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f74a0 size=52 ############ void * FUN_1804f74a0(void *param_1,ulonglong param_2) { FUN_181322ab0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f7c90 size=128 ############ undefined8 * FUN_1804f7c90(undefined8 *param_1,ulonglong param_2) { undefined8 *puVar1; *param_1 = juce::ConcertinaPanel::vftable; FUN_181324040(param_1 + 0x19); FUN_180485f00(param_1 + 0x17); puVar1 = (undefined8 *)param_1[0x16]; if (puVar1 != (undefined8 *)0x0) { *(undefined4 *)((longlong)puVar1 + 0xc) = 0; /* WARNING: Subroutine does not return */ free((void *)*puVar1); } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f7d20 size=107 ############ undefined8 * FUN_1804f7d20(undefined8 *param_1,ulonglong param_2) { uint uVar1; uint *_Memory; *param_1 = juce::GroupComponent::vftable; _Memory = (uint *)(param_1[0x16] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f7d90 size=62 ############ undefined8 * FUN_1804f7d90(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::MultiDocumentPanelWindow::vftable; FUN_1812d0960(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f7e40 size=52 ############ void * FUN_1804f7e40(void *param_1,ulonglong param_2) { FUN_181318870(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181319980 size=379 ############ void FUN_181319980(longlong *param_1,uint param_2) { char cVar1; uint *_Memory; uint uVar2; longlong lVar3; bool bVar4; undefined1 *local_res8; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; if (*(uint *)(param_1 + 0x21) != param_2) { if (*(uint *)((longlong)param_1 + 0xf4) <= param_2) { param_2 = 0xffffffff; } *(uint *)(param_1 + 0x21) = param_2; uVar2 = 0; if (0 < (int)*(uint *)((longlong)param_1 + 0xf4)) { lVar3 = 0; do { FUN_181337080(**(undefined8 **)(lVar3 + param_1[0x1d]),uVar2 == param_2,0,0,uVar5); uVar2 = uVar2 + 1; lVar3 = lVar3 + 8; } while ((int)uVar2 < *(int *)((longlong)param_1 + 0xf4)); } if (*(code **)(*param_1 + 0x108) == thunk_FUN_181319110) { FUN_181319110(); } else { (**(code **)(*param_1 + 0x108))(param_1); } if ((char)param_1[0x1c] != '\0') { LOCK(); bVar4 = *(int *)(param_1[0x18] + 0x18) == 0; if (bVar4) { *(int *)(param_1[0x18] + 0x18) = 1; } UNLOCK(); if ((bVar4) && (cVar1 = FUN_1812a6720(param_1[0x18]), cVar1 == '\0')) { LOCK(); *(undefined4 *)(param_1[0x18] + 0x18) = 0; UNLOCK(); } } if ((*(uint *)(param_1 + 0x21) < *(uint *)((longlong)param_1 + 0xf4)) && (lVar3 = *(longlong *)(param_1[0x1d] + (longlong)(int)*(uint *)(param_1 + 0x21) * 8), lVar3 != 0)) { local_res8 = *(undefined1 **)(lVar3 + 8); if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } } else { local_res8 = &DAT_1821dbf98; } (**(code **)(*param_1 + 0x158))(param_1,param_2,&local_res8); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return; } ############ FUN_ 181321a10 size=230 ############ undefined1 FUN_181321a10(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { LPCRITICAL_SECTION lpCriticalSection; uint *_Memory; longlong *plVar1; uint uVar2; undefined1 uVar3; longlong lVar4; longlong *plVar5; longlong local_res8; char *local_res10; LPCRITICAL_SECTION local_res18; longlong local_res20; undefined8 uVar6; uVar6 = 0xfffffffffffffffe; lVar4 = FUN_18122bf10(); lpCriticalSection = (LPCRITICAL_SECTION)(lVar4 + 0x10); local_res18 = lpCriticalSection; EnterCriticalSection(lpCriticalSection); FUN_18122c130(lVar4); local_res10 = "mdiDocumentDelete_"; FUN_181211b90(&local_res8,lVar4,&local_res10,param_4,uVar6); LeaveCriticalSection(lpCriticalSection); plVar5 = *(longlong **)(param_1 + 0x90); plVar1 = plVar5 + (longlong)*(int *)(param_1 + 0x9c) * 3; do { if (plVar5 == plVar1) { LAB_181321ab1: plVar5 = (longlong *)FUN_181244160(); LAB_181321ab6: uVar3 = (**(code **)(*(longlong *)*plVar5 + 0x28))((longlong *)*plVar5,plVar5 + 1); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return uVar3; } local_res20 = *plVar5; if (local_res20 == local_res8) { plVar5 = plVar5 + 1; if (plVar5 != (longlong *)0x0) goto LAB_181321ab6; goto LAB_181321ab1; } plVar5 = plVar5 + 3; } while( true ); } ############ FUN_ 1804f7f60 size=103 ############ undefined8 * FUN_1804f7f60(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::ResizableBorderComponent::vftable; puVar3 = (undefined8 *)param_1[0x16]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f7fd0 size=103 ############ undefined8 * FUN_1804f7fd0(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::ResizableCornerComponent::vftable; puVar3 = (undefined8 *)param_1[0x17]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f8040 size=103 ############ undefined8 * FUN_1804f8040(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::ResizableEdgeComponent::vftable; puVar3 = (undefined8 *)param_1[0x16]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f80b0 size=168 ############ undefined8 * FUN_1804f80b0(undefined8 *param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; bool bVar2; undefined1 *local_res8; local_res8 = &DAT_1821dbf98; FUN_1813379d0(param_1,&local_res8,param_3,param_4,0xfffffffffffffffe); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = juce::ScrollBar::ScrollbarButton::vftable; param_1[0x16] = juce::ScrollBar::ScrollbarButton::vftable; *(undefined4 *)(param_1 + 0x39) = param_2; param_1[0x3a] = param_3; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xdf; return param_1; } ############ FUN_ 1804f8250 size=52 ############ void * FUN_1804f8250(void *param_1,ulonglong param_2) { FUN_181337760(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f8290 size=52 ############ void * FUN_1804f8290(void *param_1,ulonglong param_2) { FUN_18131e840(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f82d0 size=52 ############ void * FUN_1804f82d0(void *param_1,ulonglong param_2) { FUN_18131d0b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f8310 size=62 ############ undefined8 * FUN_1804f8310(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::StretchableLayoutResizerBar::vftable; FUN_18134caa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f8350 size=102 ############ undefined8 * FUN_1804f8350(undefined8 *param_1,uint param_2) { undefined8 *puVar1; *param_1 = juce::TabBarButton::vftable; param_1[0x16] = juce::TabBarButton::vftable; puVar1 = (undefined8 *)param_1[0x3b]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_181337760(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f8450 size=52 ############ void * FUN_1804f8450(void *param_1,ulonglong param_2) { FUN_18134caa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f8490 size=52 ############ void * FUN_1804f8490(void *param_1,ulonglong param_2) { FUN_18131a000(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f8590 size=52 ############ void * FUN_1804f8590(void *param_1,ulonglong param_2) { FUN_18131a000(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f85f0 size=52 ############ void * FUN_1804f85f0(void *param_1,ulonglong param_2) { FUN_18134a530(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f8f20 size=52 ############ void * FUN_1804f8f20(void *param_1,ulonglong param_2) { FUN_1804f8940(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f8fa0 size=52 ############ void * FUN_1804f8fa0(void *param_1,ulonglong param_2) { FUN_181315cb0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f9010 size=52 ############ void * FUN_1804f9010(void *param_1,ulonglong param_2) { FUN_1813150e0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f9050 size=52 ############ void * FUN_1804f9050(void *param_1,ulonglong param_2) { FUN_181349e00(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f94e0 size=423 ############ undefined8 * FUN_1804f94e0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::LookAndFeel_V1::vftable; param_1[1] = juce::LookAndFeel_V1::vftable; param_1[2] = juce::LookAndFeel_V1::vftable; param_1[3] = juce::LookAndFeel_V1::vftable; param_1[4] = juce::LookAndFeel_V1::vftable; param_1[5] = juce::LookAndFeel_V1::vftable; param_1[6] = juce::LookAndFeel_V1::vftable; param_1[7] = juce::LookAndFeel_V1::vftable; param_1[8] = juce::LookAndFeel_V1::vftable; param_1[9] = juce::LookAndFeel_V1::vftable; param_1[10] = juce::LookAndFeel_V1::vftable; param_1[0xb] = juce::LookAndFeel_V1::vftable; param_1[0xc] = juce::LookAndFeel_V1::vftable; param_1[0xd] = juce::LookAndFeel_V1::vftable; param_1[0xe] = juce::LookAndFeel_V1::vftable; param_1[0xf] = juce::LookAndFeel_V1::vftable; param_1[0x10] = juce::LookAndFeel_V1::vftable; param_1[0x11] = juce::LookAndFeel_V1::vftable; param_1[0x12] = juce::LookAndFeel_V1::vftable; param_1[0x13] = juce::LookAndFeel_V1::vftable; param_1[0x14] = juce::LookAndFeel_V1::vftable; param_1[0x15] = juce::LookAndFeel_V1::vftable; param_1[0x16] = juce::LookAndFeel_V1::vftable; param_1[0x17] = juce::LookAndFeel_V1::vftable; param_1[0x18] = juce::LookAndFeel_V1::vftable; param_1[0x19] = juce::LookAndFeel_V1::vftable; param_1[0x1a] = juce::LookAndFeel_V1::vftable; param_1[0x1b] = juce::LookAndFeel_V1::vftable; param_1[0x1c] = juce::LookAndFeel_V1::vftable; param_1[0x27] = juce::DropShadowEffect::vftable; FUN_1813150e0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f9690 size=52 ############ void * FUN_1804f9690(void *param_1,ulonglong param_2) { FUN_181300780(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804f9b60 size=52 ############ void * FUN_1804f9b60(void *param_1,ulonglong param_2) { FUN_1812fbe60(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804fa0e0 size=87 ############ void * FUN_1804fa0e0(void *param_1,uint param_2) { int *piVar1; undefined8 *puVar2; puVar2 = *(undefined8 **)((longlong)param_1 + 0xb0); if (puVar2 != (undefined8 *)0x0) { piVar1 = (int *)(puVar2 + 0x17); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar2)(puVar2,1); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804fa930 size=973 ############ void FUN_1804fa930(longlong param_1) { byte bVar1; int iVar2; byte *pbVar3; uint uVar4; uint *puVar6; void *pvVar7; int iVar8; longlong lVar9; byte *pbVar11; byte *pbVar12; void *pvVar13; byte *pbVar14; undefined2 local_res10; byte *local_res18; byte *local_res20; void *local_60; undefined8 local_58; void *pvVar5; longlong lVar10; if (((*(longlong *)(param_1 + 0x120) == 0) || (*(int *)(param_1 + 0xb8) == 0)) || (**(char **)(param_1 + 0x128) != '\0')) { return; } local_res18 = &DAT_1821dbf98; lVar9 = *(longlong *)(*(longlong *)(param_1 + 0x120) + 0x38); pvVar13 = (void *)0x0; iVar8 = 0; if (0 < *(int *)(lVar9 + 0x5c)) { pvVar5 = pvVar13; pvVar7 = pvVar13; do { if (**(int **)((longlong)pvVar7 + *(longlong *)(lVar9 + 0x50)) == *(int *)(param_1 + 0xb8)) { lVar9 = *(longlong *)(*(longlong *)(lVar9 + 0x50) + (longlong)(int)pvVar5 * 8); local_60 = (void *)0x0; local_58 = 0; iVar2 = *(int *)(lVar9 + 0x14); pvVar5 = *(void **)(lVar9 + 8); iVar8 = 0; if (0 < iVar2) { FUN_18051ce20(&local_60,iVar2 / 2 + 8 + iVar2 & 0xfffffff8); iVar8 = local_58._4_4_; } pvVar13 = local_60; memcpy((void *)((longlong)iVar8 * 0xc + (longlong)local_60),pvVar5,(longlong)iVar2 * 0xc); iVar8 = iVar8 + iVar2; goto LAB_1804fa9dd; } uVar4 = (int)pvVar5 + 1; pvVar5 = (void *)(ulonglong)uVar4; pvVar7 = (void *)((longlong)pvVar7 + 8); } while ((int)uVar4 < *(int *)(lVar9 + 0x5c)); } local_60 = (void *)0x0; local_58 = 0; LAB_1804fa9dd: local_58 = CONCAT44(iVar8,(undefined4)local_58); pvVar7 = (void *)((longlong)iVar8 * 0xc + (longlong)pvVar13); pvVar5 = pvVar13; do { if (pvVar13 == pvVar7) { /* WARNING: Subroutine does not return */ free(pvVar5); } FUN_181337fe0(pvVar13); if (*local_res18 != 0) { lVar9 = -1; do { lVar10 = lVar9; lVar9 = lVar10 + 1; } while (local_res18[lVar9] != 0); FUN_1812342b0(&local_res18,lVar10 + 3); pbVar11 = local_res18 + (int)lVar9; memcpy(pbVar11,&DAT_182496884,2); pbVar11[2] = 0; } pbVar11 = local_res20; iVar8 = 0; pbVar3 = local_res20; while( true ) { while( true ) { bVar1 = *pbVar3; pbVar3 = pbVar3 + 1; if (-1 < (char)bVar1) break; if ((*pbVar3 & 0xc0) != 0x80) goto LAB_1804fab23; do { pbVar3 = pbVar3 + 1; } while ((*pbVar3 & 0xc0) == 0x80); iVar8 = iVar8 + 1; } if (bVar1 == 0) break; LAB_1804fab23: iVar8 = iVar8 + 1; } pbVar12 = local_res18; pbVar3 = pbVar11; if ((iVar8 == 1) && (uVar4 = FUN_180493050(&local_res20,0), uVar4 < 0x80)) { lVar9 = -1; do { lVar10 = lVar9; lVar9 = lVar10 + 1; } while (pbVar12[lVar9] != 0); FUN_1812342b0(&local_res18,lVar10 + 0xc); pbVar14 = local_res18 + (int)lVar9; memcpy(pbVar14,"shortcut: \'",0xb); pbVar12 = local_res18; pbVar14[0xb] = 0; if (*local_res18 == 0) { if ((*(uint *)(pbVar11 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar11 + -0x10) = *(int *)(pbVar11 + -0x10) + 1; UNLOCK(); } LOCK(); local_res18 = local_res20; UNLOCK(); puVar6 = (uint *)(pbVar12 + -0x10); pbVar3 = local_res20; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } else { lVar9 = -1; do { lVar9 = lVar9 + 1; } while (pbVar11[lVar9] != 0); FUN_181232e20(&local_res18,pbVar11); } local_res10 = 0x27; lVar9 = -1; do { lVar10 = lVar9 + 1; lVar9 = lVar9 + 1; } while (*(char *)((longlong)&local_res10 + lVar10) != '\0'); pbVar11 = (byte *)&local_res10; LAB_1804faca4: FUN_181232e20(&local_res18,pbVar11); } else { pbVar14 = local_res18; if (*pbVar12 != 0) { lVar9 = -1; do { lVar9 = lVar9 + 1; } while (pbVar11[lVar9] != 0); goto LAB_1804faca4; } if ((*(uint *)(pbVar11 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar11 + -0x10) = *(int *)(pbVar11 + -0x10) + 1; UNLOCK(); } LOCK(); local_res18 = local_res20; UNLOCK(); puVar6 = (uint *)(pbVar14 + -0x10); pbVar3 = local_res20; if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } } puVar6 = (uint *)(pbVar3 + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar4 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar4 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } pvVar13 = (void *)((longlong)pvVar13 + 0xc); pvVar5 = local_60; } while( true ); } ############ FUN_ 1804fad70 size=470 ############ longlong * FUN_1804fad70(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; bool bVar2; bool bVar3; longlong *plVar4; uint *puVar5; longlong ***ppplVar6; longlong **pplVar7; longlong *local_res8; longlong *local_res10; longlong **local_res18; longlong **local_res20; if (**(char **)(param_1 + 0x128) == '\0') { local_res18 = *(longlong ***)(param_1 + 0xb0); if (((ulonglong)local_res18[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_res18 + -2) = *(int *)(local_res18 + -2) + 1; UNLOCK(); } ppplVar6 = &local_res18; bVar3 = false; bVar2 = true; local_res10 = param_2; } else { local_res10 = *(longlong **)(param_1 + 0xb0); if ((*(uint *)(local_res10 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = (int)local_res10[-2] + 1; UNLOCK(); } FUN_181232e20(&local_res10,&DAT_18249843c,&DAT_18249843f,param_4,0,0xfffffffffffffffe, &local_res10); local_res8 = local_res10; if ((*(uint *)(local_res10 + -2) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = (int)local_res10[-2] + 1; UNLOCK(); } puVar5 = (uint *)(local_res10 + -2); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } local_res20 = &local_res8; plVar4 = (longlong *)FUN_181232d30(&local_res8,(undefined8 *)(param_1 + 0x128)); local_res20 = (longlong **)*plVar4; if (((ulonglong)local_res20[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -2) = *(int *)(local_res20 + -2) + 1; UNLOCK(); } puVar5 = (uint *)(local_res8 + -2); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } ppplVar6 = &local_res20; bVar3 = true; bVar2 = false; } pplVar7 = *ppplVar6; *param_2 = (longlong)pplVar7; if (((ulonglong)pplVar7[-2] & 0x30000000) == 0) { LOCK(); *(int *)(pplVar7 + -2) = *(int *)(pplVar7 + -2) + 1; UNLOCK(); } if (bVar2) { pplVar7 = local_res18 + -2; if (((ulonglong)*pplVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)pplVar7; *(uint *)pplVar7 = *(uint *)pplVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(pplVar7); } } } if ((bVar3) && (pplVar7 = local_res20 + -2, ((ulonglong)*pplVar7 & 0x30000000) == 0)) { LOCK(); uVar1 = *(uint *)pplVar7; *(uint *)pplVar7 = *(uint *)pplVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(pplVar7); } } return param_2; } ############ FUN_ 1804fef30 size=76 ############ undefined8 * FUN_1804fef30(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::PopupMenu::CustomComponent::vftable; param_1[0x16] = juce::SingleThreadedReferenceCountedObject::vftable; FUN_18134caa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804ff090 size=52 ############ void * FUN_1804ff090(void *param_1,ulonglong param_2) { FUN_1812f1110(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804ff1a0 size=62 ############ undefined8 * FUN_1804ff1a0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::Timer::vftable; FUN_1812a7720(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804ff2c0 size=142 ############ void * FUN_1804ff2c0(void *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = *(undefined8 **)((longlong)param_1 + 0x20); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = *(undefined8 **)((longlong)param_1 + 0x18); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = *(undefined8 **)((longlong)param_1 + 0x10); if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18123b890 size=92 ############ void FUN_18123b890(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint *_Memory; undefined1 *local_res18 [2]; local_res18[0] = &DAT_1821dbf98; FUN_18123b820(param_1,param_2,local_res18,param_4,0xfffffffffffffffe); _Memory = (uint *)(local_res18[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1804ff4e0 size=149 ############ longlong * FUN_1804ff4e0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; longlong *plVar3; uint *_Memory; longlong *local_res10; local_res10 = param_2; plVar3 = (longlong *) FUN_18049c470(&local_res10,*(undefined8 *)(param_1 + 8),param_3,param_4, 0xfffffffffffffffe); FUN_181232e20(plVar3,&DAT_18249f29c,&DAT_18249f29d); lVar2 = *plVar3; *param_2 = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } _Memory = (uint *)(*plVar3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_2; } ############ FUN_ 1804ff620 size=43 ############ undefined8 * FUN_1804ff620(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::Expression::Scope::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1812ef3b0 size=421 ############ undefined8 FUN_1812ef3b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; undefined4 uVar3; int iVar4; longlong lVar5; uint *_Memory; undefined1 *local_res20; undefined1 local_40 [8]; undefined **local_38; longlong local_30; uVar3 = FUN_1812ef770(param_3,param_2,param_3,param_4,0xfffffffffffffffe); switch(uVar3) { case 0: case 4: FUN_18123b9e0(param_2,(double)*(int *)(*(longlong *)(param_1 + 8) + 0x20)); break; case 1: iVar4 = *(int *)(*(longlong *)(param_1 + 8) + 0x28) + *(int *)(*(longlong *)(param_1 + 8) + 0x20); goto LAB_1812ef474; case 2: case 5: FUN_18123b9e0(param_2,(double)*(int *)(*(longlong *)(param_1 + 8) + 0x24)); break; case 3: iVar4 = *(int *)(*(longlong *)(param_1 + 8) + 0x2c) + *(int *)(*(longlong *)(param_1 + 8) + 0x24); LAB_1812ef474: FUN_18123b9e0(param_2,(double)iVar4); break; case 6: FUN_18123b9e0(param_2,(double)*(int *)(*(longlong *)(param_1 + 8) + 0x28)); break; case 7: FUN_18123b9e0(param_2,(double)*(int *)(*(longlong *)(param_1 + 8) + 0x2c)); break; default: lVar2 = *(longlong *)(*(longlong *)(param_1 + 8) + 0x18); if ((lVar2 == 0) || (lVar5 = FUN_1804ff580(lVar2,param_3,local_40), lVar5 == 0)) { FUN_18123b2a0(param_1,param_2,param_3); } else { local_38 = juce::MarkerListScope::vftable; local_res20 = &DAT_1821dbf98; local_30 = lVar2; FUN_18123b820(lVar5 + 8,&local_38,&local_res20); _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18123b9e0(param_2); } } return param_2; } ############ FUN_ 1804ff870 size=43 ############ undefined8 * FUN_1804ff870(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::Expression::Scope::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804ff8a0 size=52 ############ void * FUN_1804ff8a0(void *param_1,ulonglong param_2) { FUN_1812ef190(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804ff930 size=98 ############ void * FUN_1804ff930(void *param_1,uint param_2) { int *piVar1; undefined8 *puVar2; puVar2 = *(undefined8 **)((longlong)param_1 + 0x18); if (puVar2 != (undefined8 *)0x0) { piVar1 = (int *)(puVar2 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar2)(puVar2,1); } } puVar2 = *(undefined8 **)((longlong)param_1 + 0x10); if (puVar2 != (undefined8 *)0x0) { piVar1 = (int *)(puVar2 + 1); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { (**(code **)*puVar2)(puVar2,1); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804ff9a0 size=83 ############ /* Library Function - Single Match public: void * __ptr64 __cdecl Concurrency::details::SubAllocator::`scalar deleting destructor'(unsigned int) __ptr64 Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release */ void * __thiscall Concurrency::details::SubAllocator::_scalar_deleting_destructor_(SubAllocator *this,uint param_1) { _eh_vector_destructor_iterator_(this + 0x10,0x10,2,FUN_1804ff8e0); if ((param_1 & 1) != 0) { /* WARNING: Subroutine does not return */ free(this); } return this; } ############ FUN_ 1804ffaa0 size=83 ############ /* Library Function - Single Match public: void * __ptr64 __cdecl Concurrency::details::SubAllocator::`scalar deleting destructor'(unsigned int) __ptr64 Libraries: Visual Studio 2015 Release, Visual Studio 2017 Release */ void * __thiscall Concurrency::details::SubAllocator::_scalar_deleting_destructor_(SubAllocator *this,uint param_1) { _eh_vector_destructor_iterator_(this + 0x10,0x10,3,FUN_1804ff8e0); if ((param_1 & 1) != 0) { /* WARNING: Subroutine does not return */ free(this); } return this; } ############ FUN_ 1804ffc20 size=205 ############ undefined8 * FUN_1804ffc20(undefined8 *param_1,ulonglong param_2) { uint uVar1; uint *puVar2; *param_1 = juce::BooleanPropertyComponent::vftable; param_1[0x16] = juce::BooleanPropertyComponent::vftable; puVar2 = (uint *)(param_1[0x53] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[0x52] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } param_1[0x19] = juce::ToggleButton::vftable; param_1[0x2f] = juce::ToggleButton::vftable; FUN_181337760(); FUN_1812ed5c0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1812ed5c0 size=87 ############ void FUN_1812ed5c0(undefined8 *param_1) { uint uVar1; uint *_Memory; *param_1 = juce::PropertyComponent::vftable; param_1[0x16] = juce::PropertyComponent::vftable; _Memory = (uint *)(param_1[0x17] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134caa0(param_1); return; } ############ FUN_ 1804ffcf0 size=115 ############ undefined8 * FUN_1804ffcf0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ButtonPropertyComponent::vftable; param_1[0x16] = juce::ButtonPropertyComponent::vftable; param_1[0x19] = juce::TextButton::vftable; param_1[0x2f] = juce::TextButton::vftable; FUN_181337760(); FUN_1812ed5c0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804ffd70 size=52 ############ void * FUN_1804ffd70(void *param_1,ulonglong param_2) { FUN_1812ede40(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1804ffdb0 size=52 ############ void * FUN_1804ffdb0(void *param_1,ulonglong param_2) { FUN_1812ed5c0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180500020 size=91 ############ undefined8 * FUN_180500020(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::SliderPropertyComponent::vftable; param_1[0x16] = juce::SliderPropertyComponent::vftable; FUN_181349a80(param_1 + 0x19); FUN_1812ed5c0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181349a80 size=250 ############ void FUN_181349a80(undefined8 *param_1) { uint uVar1; undefined8 *puVar2; longlong *plVar3; uint *_Memory; *param_1 = juce::Slider::vftable; param_1[0x16] = juce::Slider::vftable; puVar2 = (undefined8 *)param_1[0x40]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } FUN_1804e0ac0(param_1 + 0x38); FUN_1804e0b30(param_1 + 0x30); plVar3 = (longlong *)param_1[0x2f]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_1 + 0x28); param_1[0x2f] = 0; } plVar3 = (longlong *)param_1[0x27]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_1 + 0x20); param_1[0x27] = 0; } plVar3 = (longlong *)param_1[0x1f]; if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != param_1 + 0x18); param_1[0x1f] = 0; } _Memory = (uint *)(param_1[0x17] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134caa0(param_1); return; } ############ FUN_ 180500140 size=52 ############ void * FUN_180500140(void *param_1,ulonglong param_2) { FUN_1812ecfb0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180500370 size=52 ############ void * FUN_180500370(void *param_1,ulonglong param_2) { FUN_1812ecb00(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805003b0 size=52 ############ void * FUN_1805003b0(void *param_1,ulonglong param_2) { FUN_1813495d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805003f0 size=164 ############ undefined8 * FUN_1805003f0(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; uint uVar3; undefined8 *puVar4; uint *_Memory; *param_1 = juce::ImageComponent::vftable; param_1[0x16] = juce::ImageComponent::vftable; puVar4 = (undefined8 *)param_1[0x18]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } _Memory = (uint *)(param_1[0x17] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180500760 size=632 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180500760(longlong param_1,longlong param_2) { int iVar1; longlong *plVar2; bool bVar3; char cVar4; undefined1 uVar5; int *piVar6; uint *_Memory; longlong lVar7; int *piVar8; uint uVar9; longlong lVar10; uint uVar11; undefined1 auStack_b8 [48]; int *local_88; undefined8 local_80; int local_78; int iStack_74; char *local_70; int *local_68 [2]; undefined8 local_58; int *local_50; longlong *local_48; undefined1 local_40 [8]; ulonglong local_38; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; uVar11 = 0; local_78 = 0; lVar10 = *(longlong *)(param_1 + 0xb8); plVar2 = *(longlong **)(lVar10 + 0xc0); if ((((plVar2 == (longlong *)0x0) || ((*(byte *)(param_1 + 0xa9) & 0x10) != 0)) || ((lVar7 = param_2, *(longlong *)(param_1 + 0x18) != 0 && (cVar4 = FUN_18133eaa0(), cVar4 == '\0')))) || ((*(char *)(lVar7 + 0x59) == '\0' || (*(char *)(param_1 + 0xcd) != '\0')))) { if ((*(char *)(param_1 + 0xce) == '\0') && (lVar10 = *(longlong *)(*(longlong *)(param_1 + 0xb8) + 200), lVar10 != 0)) { lVar10 = *(longlong *)(lVar10 + 0x1b0); if ((lVar10 == 0) || (*(char *)(lVar10 + 0x110) == '\0')) { uVar5 = 0; } else { uVar5 = 1; } *(undefined1 *)(param_1 + 0xce) = uVar5; } } local_88 = (int *)0x0; local_80 = 0; if (*(char *)(lVar10 + 0x107) != '\0') { LAB_180500856: FUN_18051b600(local_68,lVar10 + 0xe0); piVar8 = local_88; local_50 = local_88; local_88 = local_68[0]; /* WARNING: Subroutine does not return */ free(piVar8); } iVar1 = *(int *)(param_1 + 200); piVar6 = *(int **)(lVar10 + 0xe0); piVar8 = piVar6 + (longlong)*(int *)(lVar10 + 0xec) * 2; for (; (piVar6 != piVar8 && (*piVar6 <= iVar1)); piVar6 = piVar6 + 2) { if (iVar1 < piVar6[1]) goto LAB_180500856; } iStack_74 = iVar1; if (iVar1 < iVar1 + 1) { iStack_74 = iVar1 + 1; } local_78 = iVar1; FUN_1804a79b0(&local_88,CONCAT44(iStack_74,iVar1)); piVar8 = local_88; uVar9 = uVar11; if (local_88 == local_88 + (longlong)local_80._4_4_ * 2) goto LAB_18050098d; do { uVar9 = uVar9 + (piVar8[1] - *piVar8); piVar8 = piVar8 + 2; } while (piVar8 != local_88 + (longlong)local_80._4_4_ * 2); if ((int)uVar9 < 1) goto LAB_18050098d; (**(code **)(*plVar2 + 0x58))(plVar2,&local_48,&local_88); cVar4 = (**(code **)(*local_48 + 0x50))(); if (cVar4 == '\0') { cVar4 = (**(code **)(*local_48 + 0x80))(); if (cVar4 != '\0') { (**(code **)(*local_48 + 0x20))(local_48,&local_70,local_40); uVar11 = 3; if (*local_70 == '\0') goto LAB_180500925; } bVar3 = true; } else { LAB_180500925: bVar3 = false; } if (((uVar11 & 1) != 0) && (_Memory = (uint *)(local_70 + -0x10), (*_Memory & 0x30000000) == 0)) { LOCK(); uVar11 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar11 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (bVar3) { *(undefined1 *)(param_1 + 0xcd) = 1; FUN_1812e6c00(*(undefined8 *)(param_1 + 0xb8),param_2,&local_88,&local_48); } (**(code **)(*local_48 + 0xb0))(local_48,local_40); LAB_18050098d: local_80 = local_80 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_88); } ############ FUN_ 180500aa0 size=78 ############ void * FUN_180500aa0(void *param_1,uint param_2) { undefined8 *puVar1; puVar1 = *(undefined8 **)((longlong)param_1 + 0xc0); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180501290 size=67 ############ void * FUN_180501290(void *param_1,ulonglong param_2) { FUN_180485f00((longlong)param_1 + 0x1c0); FUN_18134a530(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805012e0 size=52 ############ void * FUN_1805012e0(void *param_1,ulonglong param_2) { FUN_1812e8430(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180501320 size=256 ############ undefined8 * FUN_180501320(undefined8 *param_1,ulonglong param_2) { uint uVar1; uint *puVar2; *param_1 = juce::ProgressBar::vftable; param_1[0x16] = juce::ProgressBar::vftable; param_1[0x18] = juce::ProgressBar::vftable; puVar2 = (uint *)(param_1[0x1f] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[0x1e] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } param_1[0x18] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x18); puVar2 = (uint *)(param_1[0x17] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181250750 size=825 ############ void FUN_181250750(longlong *param_1,longlong *param_2,undefined8 param_3,undefined4 param_4, float param_5,float param_6,float param_7,uint param_8,int param_9,float param_10) { uint uVar1; int iVar2; longlong lVar3; char cVar4; longlong lVar5; uint *_Memory; int iVar6; float fVar7; uint in_stack_ffffffffffffff38; ulonglong in_stack_ffffffffffffff40; undefined4 uVar8; longlong local_98; longlong local_90 [2]; void *local_80; undefined8 local_78; undefined1 local_70 [4]; float local_6c; float local_64; local_90[1] = 0xfffffffffffffffe; if (param_10 == 0.0) { param_10 = DAT_1824c3df0; } cVar4 = FUN_181230100(param_3,&DAT_1821df1b4); uVar8 = (undefined4)(in_stack_ffffffffffffff40 >> 0x20); if (cVar4 == '\0') { iVar2 = *(int *)((longlong)param_1 + 0xc); FUN_181248e40(param_3,&local_98); FUN_1812510e0(param_1,param_2,&local_98,param_4,param_5,DAT_1824c4620, in_stack_ffffffffffffff38 & 0xffffff00); iVar6 = *(int *)((longlong)param_1 + 0xc) - iVar2; if (0 < iVar6) { lVar3 = *param_1; lVar5 = (longlong)(*(int *)((longlong)param_1 + 0xc) + -1) * 0x20; fVar7 = (*(float *)(lVar5 + 0x18 + lVar3) + *(float *)(lVar5 + 0x10 + lVar3)) - *(float *)((longlong)iVar2 * 0x20 + 0x10 + lVar3); if (0.0 < fVar7) { if (param_6 <= fVar7 * param_10) { if (param_9 < 2) { FUN_181250340(param_1,iVar2,iVar6,param_4,param_5,param_6,param_7,param_2,param_8, param_10); } else { local_90[0] = *param_2; if (local_90[0] != 0) { LOCK(); *(int *)(local_90[0] + 8) = *(int *)(local_90[0] + 8) + 1; UNLOCK(); } FUN_18124f690(param_1,&local_98,local_90,iVar2,param_4,param_5,param_6, CONCAT44(uVar8,param_7),param_9,fVar7,param_8,param_10); } } else { if (param_6 < fVar7) { FUN_1812501e0(param_1,iVar2,iVar6,param_6 / fVar7); } FUN_18124fe00(param_1,iVar2,iVar6,param_4,param_5,param_6,param_7,CONCAT44(uVar8,param_8)) ; } } } _Memory = (uint *)(local_98 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } local_80 = (void *)0x0; local_78 = 0; FUN_1804aebd0(&local_80,200); fVar7 = param_5; FUN_181250aa0(&local_80,param_2,param_3,param_4,param_5,param_6,param_8, in_stack_ffffffffffffff40 & 0xffffffff00000000); FUN_18124ffe0(&local_80,local_70,0,0xffffffff,(uint)fVar7 & 0xffffff00); param_5 = param_5 - local_6c; if ((param_8 >> 5 & 1) == 0) { if ((param_8 >> 4 & 1) == 0) goto LAB_181250870; param_7 = param_7 - local_64; } else { param_7 = (param_7 - local_64) * DAT_1824c3d8c; } param_5 = param_5 + param_7; LAB_181250870: FUN_181250610(&local_80,0,0xffffffff,0,param_5); FUN_1804b0650(param_1,&local_80); FUN_1804aeb50(&local_80); /* WARNING: Subroutine does not return */ free(local_80); } ############ FUN_ 1805054a0 size=304 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_1805054a0(undefined8 *param_1,ulonglong param_2) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; uint *_Memory; LARGE_INTEGER local_res8; *param_1 = juce::Slider::Pimpl::PopupDisplayComponent::vftable; param_1[0x1d] = juce::Slider::Pimpl::PopupDisplayComponent::vftable; if (*(longlong *)(param_1[0x20] + 0x200) != 0) { QueryPerformanceCounter(&local_res8); *(double *)(*(longlong *)(param_1[0x20] + 0x200) + 0x240) = (double)(DAT_182673a10 + local_res8.QuadPart) * _DAT_182673a18; } _Memory = (uint *)(param_1[0x22] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar4 = (undefined8 *)param_1[0x21]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } param_1[0x1d] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x1d); *param_1 = juce::BubbleComponent::vftable; param_1[0x1a] = juce::DropShadowEffect::vftable; FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805055d0 size=52 ############ void * FUN_1805055d0(void *param_1,ulonglong param_2) { FUN_181349a80(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180505680 size=52 ############ void * FUN_180505680(void *param_1,ulonglong param_2) { FUN_1812e52b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180506070 size=583 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180506070(longlong param_1,longlong param_2) { int iVar1; longlong lVar2; longlong *plVar3; bool bVar4; char cVar5; int *piVar6; int *piVar7; uint *_Memory; uint uVar8; longlong lVar9; uint uVar10; undefined1 auStack_b8 [48]; int *local_88; undefined8 local_80; int local_78; int iStack_74; char *local_70; int *local_68 [2]; undefined8 local_58; int *local_50; longlong *local_48; undefined1 local_40 [8]; ulonglong local_38; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_b8; uVar10 = 0; local_78 = 0; if (((*(byte *)(param_1 + 0xa9) & 0x10) != 0) || ((((lVar9 = param_2, *(longlong *)(param_1 + 0x18) != 0 && (cVar5 = FUN_18133eaa0(), cVar5 == '\0')) || (lVar2 = *(longlong *)(param_1 + 0xb8), *(longlong *)(lVar2 + 0x120) == 0)) || ((*(char *)(lVar9 + 0x59) == '\0' || (*(char *)(param_1 + 0xd5) != '\0')))))) { } local_88 = (int *)0x0; local_80 = 0; if (*(char *)(lVar2 + 0x107) != '\0') { LAB_180506163: FUN_18051b600(local_68,lVar2 + 0xe0); piVar7 = local_88; local_50 = local_88; local_88 = local_68[0]; /* WARNING: Subroutine does not return */ free(piVar7); } iVar1 = *(int *)(param_1 + 0xd0); piVar6 = *(int **)(lVar2 + 0xe0); piVar7 = piVar6 + (longlong)*(int *)(lVar2 + 0xec) * 2; for (; (piVar6 != piVar7 && (*piVar6 <= iVar1)); piVar6 = piVar6 + 2) { if (iVar1 < piVar6[1]) goto LAB_180506163; } iStack_74 = iVar1; if (iVar1 < iVar1 + 1) { iStack_74 = iVar1 + 1; } local_78 = iVar1; FUN_1804a79b0(&local_88,CONCAT44(iStack_74,iVar1)); piVar7 = local_88; uVar8 = uVar10; if (local_88 == local_88 + (longlong)local_80._4_4_ * 2) goto LAB_1805062a6; do { uVar8 = uVar8 + (piVar7[1] - *piVar7); piVar7 = piVar7 + 2; } while (piVar7 != local_88 + (longlong)local_80._4_4_ * 2); if ((int)uVar8 < 1) goto LAB_1805062a6; plVar3 = *(longlong **)(*(longlong *)(param_1 + 0xb8) + 0x120); (**(code **)(*plVar3 + 0x78))(plVar3,&local_48,&local_88); cVar5 = (**(code **)(*local_48 + 0x50))(); if (cVar5 == '\0') { cVar5 = (**(code **)(*local_48 + 0x80))(); if (cVar5 != '\0') { (**(code **)(*local_48 + 0x20))(local_48,&local_70,local_40); uVar10 = 3; if (*local_70 == '\0') goto LAB_18050623e; } bVar4 = true; } else { LAB_18050623e: bVar4 = false; } if (((uVar10 & 1) != 0) && (_Memory = (uint *)(local_70 + -0x10), (*_Memory & 0x30000000) == 0)) { LOCK(); uVar10 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar10 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (bVar4) { *(undefined1 *)(param_1 + 0xd5) = 1; FUN_1812e6c00(*(undefined8 *)(param_1 + 0xb8),param_2,&local_88,&local_48); } (**(code **)(*local_48 + 0xb0))(local_48,local_40); LAB_1805062a6: local_80 = local_80 & 0xffffffff; /* WARNING: Subroutine does not return */ free(local_88); } ############ FUN_ 1805065c0 size=104 ############ undefined8 * FUN_1805065c0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::TableListBox::vftable; param_1[0x16] = juce::TableListBox::vftable; param_1[0x21] = juce::TableListBox::vftable; param_1[0x22] = juce::TableListBox::vftable; FUN_1812e8430(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180506710 size=182 ############ undefined8 * FUN_180506710(longlong param_1,undefined8 *param_2,ulonglong param_3,undefined8 param_4) { uint uVar1; int iVar2; undefined8 *puVar3; uint *_Memory; ulonglong uVar4; longlong local_res20; uVar4 = param_3 & 0xffffffff; if ((int)param_3 == 0) { FUN_1812490c0(); return param_2; } iVar2 = FUN_180493050(param_1,0,param_3,param_4,0xfffffffffffffffe); if ((iVar2 == 0xd) || (iVar2 = FUN_180493050(param_1,0), iVar2 == 10)) { *param_2 = &DAT_1821dbf98; return param_2; } puVar3 = (undefined8 *)FUN_181233f40(&local_res20,uVar4 & 0xffffffff); FUN_181231fc0(param_2,*puVar3,*(undefined4 *)(param_1 + 0xc)); _Memory = (uint *)(local_res20 + -0x10); if ((*_Memory & 0x30000000) != 0) { return param_2; } LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 != 0) { return param_2; } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180508720 size=126 ############ void * FUN_180508720(void *param_1,uint param_2) { int *piVar1; int iVar2; uint uVar3; undefined8 *puVar4; uint *_Memory; puVar4 = *(undefined8 **)((longlong)param_1 + 0x28); if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0x10) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180508890 size=56 ############ /* Library Function - Single Match public: void * __ptr64 __cdecl MRECmpImpl::`scalar deleting destructor'(unsigned int) __ptr64 Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release */ void * __thiscall MRECmpImpl::_scalar_deleting_destructor_(MRECmpImpl *this,uint param_1) { FUN_18051b230(this + 0x20); if ((param_1 & 1) != 0) { /* WARNING: Subroutine does not return */ free(this); } return this; } ############ FUN_ 180508b00 size=178 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180508b00(longlong param_1) { uint uVar1; longlong lVar2; uint *_Memory; undefined1 auStack_58 [32]; longlong local_38 [2]; longlong *local_28; undefined1 local_20 [8]; ulonglong local_18; local_38[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; lVar2 = *(longlong *)(param_1 + 8); if (1 < *(int *)(*(longlong *)(lVar2 + 0x2d8) + 8)) { (**(code **)(**(longlong **)(lVar2 + 0x2d8) + 8))(*(longlong **)(lVar2 + 0x2d8),&local_28); (**(code **)(*local_28 + 0x20))(local_28,local_38,local_20); FUN_1812e1110(lVar2,local_38,1); _Memory = (uint *)(local_38[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } (**(code **)(*local_28 + 0xb0))(local_28,local_20); } } ############ FUN_ 180508bc0 size=199 ############ undefined8 * FUN_180508bc0(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; *param_1 = juce::TextEditor::TextHolderComponent::vftable; param_1[0x16] = juce::TextEditor::TextHolderComponent::vftable; param_1[0x19] = juce::TextEditor::TextHolderComponent::vftable; lVar1 = param_1[0x1a]; FUN_1812e1050(lVar1); FUN_1813514c0(lVar1 + 0x2d8,param_1 + 0x19,param_3,param_4,uVar2); param_1[0x16] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x16); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180508d10 size=52 ############ void * FUN_180508d10(void *param_1,ulonglong param_2) { FUN_18134a530(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180508d50 size=52 ############ void * FUN_180508d50(void *param_1,ulonglong param_2) { FUN_1812e2030(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805090a0 size=43 ############ undefined8 * FUN_1805090a0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ToolbarItemFactory::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180509700 size=52 ############ void * FUN_180509700(void *param_1,ulonglong param_2) { FUN_1812db040(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180509740 size=265 ############ undefined8 * FUN_180509740(undefined8 *param_1,undefined4 param_2,undefined4 param_3,undefined1 param_4) { uint uVar1; bool bVar2; undefined1 *local_res8; local_res8 = &DAT_1821dbf98; FUN_1813379d0(param_1,&local_res8,param_3,param_4,0xfffffffffffffffe); *param_1 = juce::ToolbarItemComponent::vftable; param_1[0x16] = juce::ToolbarItemComponent::vftable; *(undefined4 *)(param_1 + 0x39) = param_2; *(undefined8 *)((longlong)param_1 + 0x1cc) = 0; param_1[0x3b] = 0; param_1[0x3c] = 0; *(undefined2 *)(param_1 + 0x3d) = 1; *(undefined1 *)((longlong)param_1 + 0x1ea) = 0; *(undefined8 *)((longlong)param_1 + 0x1ec) = 0; *(undefined8 *)((longlong)param_1 + 500) = 0; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = juce::Toolbar::Spacer::vftable; param_1[0x16] = juce::Toolbar::Spacer::vftable; *(undefined4 *)(param_1 + 0x40) = param_3; *(undefined1 *)((longlong)param_1 + 0x204) = param_4; *(byte *)(param_1 + 0x15) = *(byte *)(param_1 + 0x15) & 0xdf; return param_1; } ############ FUN_ 180509d70 size=52 ############ void * FUN_180509d70(void *param_1,ulonglong param_2) { FUN_1812db040(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050a3a0 size=52 ############ void * FUN_18050a3a0(void *param_1,ulonglong param_2) { FUN_180509f20(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050a4c0 size=52 ############ void * FUN_18050a4c0(void *param_1,ulonglong param_2) { FUN_1812d96c0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050a800 size=675 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18050a800(longlong param_1,longlong param_2) { int *piVar1; uint uVar2; bool bVar3; double dVar4; char cVar5; int iVar6; longlong *plVar7; longlong lVar8; uint *_Memory; bool bVar9; longlong lVar10; undefined1 auStack_108 [32]; undefined4 local_e8; int *local_e0; longlong local_d8; undefined4 local_c0; undefined4 uStack_bc; longlong local_b8; char *local_b0; int local_a8; int local_a4; undefined8 local_98; undefined8 uStack_90; double local_88; double local_80; undefined8 local_78; undefined4 local_68; int iStack_64; undefined4 uStack_60; undefined4 uStack_5c; longlong *local_58; undefined1 local_50 [8]; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_108; bVar9 = false; local_c0 = 0; if ((*(byte *)(param_1 + 0xa9) & 0x10) != 0) { } lVar8 = param_2; if ((*(longlong *)(param_1 + 0x18) != 0) && (cVar5 = FUN_18133eaa0(), cVar5 == '\0')) { } if (*(char *)(param_1 + 0xe8) != '\0') { } if (*(char *)(lVar8 + 0x59) == '\0') { } iVar6 = FUN_181339580(param_2); if (iVar6 < 5) { } if ((*(uint *)(param_2 + 0x10) >> 5 & 1) != 0) { } *(undefined1 *)(param_1 + 0xe8) = 1; dVar4 = DAT_1824c4520; local_98 = 0; uStack_90 = 0; local_88 = (double)*(float *)(param_2 + 0x2c) + DAT_1824c4520; if (*(longlong *)(*(longlong *)(param_1 + 200) + 0x108) == 0) { } plVar7 = (longlong *)FUN_18050ab80(param_1,(ulonglong)local_88 & 0xffffffff,&local_98); if (plVar7 == (longlong *)0x0) { } local_80 = (double)*(float *)(param_2 + 0x28) + dVar4; if (local_80._0_4_ < (int)local_98) { } (**(code **)(*plVar7 + 0x88))(plVar7,&local_58); cVar5 = (**(code **)(*local_58 + 0x50))(); if (cVar5 == '\0') { cVar5 = (**(code **)(*local_58 + 0x80))(); if (cVar5 != '\0') { (**(code **)(*local_58 + 0x20))(local_58,&local_b0,local_50); bVar9 = true; if (*local_b0 == '\0') goto LAB_18050a96e; } bVar3 = true; } else { LAB_18050a96e: bVar3 = false; } if ((bVar9) && (_Memory = (uint *)(local_b0 + -0x10), (*_Memory & 0x30000000) == 0)) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((bVar3) && (lVar8 = FUN_18133a120(param_1), lVar8 != 0)) { uStack_5c = *(undefined4 *)((longlong)plVar7 + 0x2c); uStack_90 = CONCAT44(uStack_5c,(undefined4)uStack_90); iVar6 = local_98._4_4_; local_68 = (int)local_98; iStack_64 = local_98._4_4_; uStack_60 = (undefined4)uStack_90; local_e8 = DAT_1824c3ea4; FUN_181341cd0(param_1,&local_c0,&local_68,1); FUN_1812900e0(&local_c0,DAT_1824c3db8); local_a4 = iVar6 - *(int *)(param_2 + 0xc); local_a8 = (int)local_98 - *(int *)(param_2 + 8); local_b8 = CONCAT44(uStack_bc,local_c0); if (local_b8 != 0) { LOCK(); *(int *)(local_b8 + 8) = *(int *)(local_b8 + 8) + 1; UNLOCK(); } lVar10 = CONCAT44(uStack_bc,local_c0); local_d8 = param_2 + 0x50; local_e0 = &local_a8; local_e8 = CONCAT31(local_e8._1_3_,1); FUN_18133a190(lVar8,&local_58,*(undefined8 *)(param_1 + 200),&local_b8); if (lVar10 != 0) { LOCK(); piVar1 = (int *)(lVar10 + 8); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (*(code *)**(undefined8 **)CONCAT44(uStack_bc,local_c0)) ((undefined8 *)CONCAT44(uStack_bc,local_c0),1); } } } (**(code **)(*local_58 + 0xb0))(local_58,local_50); } ############ FUN_ 18050b550 size=132 ############ void * FUN_18050b550(void *param_1,ulonglong param_2) { int *piVar1; int iVar2; undefined8 *puVar3; FUN_180519da0((longlong)param_1 + 0xd0); *(undefined ***)((longlong)param_1 + 0xb8) = juce::AsyncUpdater::vftable; LOCK(); *(undefined4 *)(*(longlong *)((longlong)param_1 + 0xc0) + 0x18) = 0; UNLOCK(); puVar3 = *(undefined8 **)((longlong)param_1 + 0xc0); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050b6e0 size=52 ############ void * FUN_18050b6e0(void *param_1,ulonglong param_2) { FUN_18134a530(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050b720 size=52 ############ void * FUN_18050b720(void *param_1,ulonglong param_2) { FUN_1812d8f00(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050bd30 size=52 ############ void * FUN_18050bd30(void *param_1,ulonglong param_2) { FUN_18134caa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050be20 size=66 ############ undefined8 * FUN_18050be20(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::TreeViewItem::vftable; FUN_180485f00(param_1 + 3); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050be70 size=52 ############ void * FUN_18050be70(void *param_1,ulonglong param_2) { FUN_181347640(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050c340 size=52 ############ void * FUN_18050c340(void *param_1,ulonglong param_2) { FUN_1812d3b00(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050c380 size=52 ############ void * FUN_18050c380(void *param_1,ulonglong param_2) { FUN_1812d2cf0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050c4c0 size=62 ############ undefined8 * FUN_18050c4c0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::DialogWindow::vftable; FUN_1812d0960(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050c620 size=52 ############ void * FUN_18050c620(void *param_1,ulonglong param_2) { FUN_1812d0960(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050c660 size=52 ############ void * FUN_18050c660(void *param_1,ulonglong param_2) { FUN_1812cf990(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050c6a0 size=218 ############ undefined8 * FUN_18050c6a0(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; uint *_Memory; *param_1 = juce::ThreadWithProgressWindow::vftable; param_1[0x40] = juce::ThreadWithProgressWindow::vftable; FUN_18122afa0(param_1,*(undefined4 *)((longlong)param_1 + 0x25c),param_3,param_4, 0xfffffffffffffffe); DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x46)); _Memory = (uint *)(param_1[0x45] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar2 = (undefined8 *)param_1[0x44]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } param_1[0x40] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x40); FUN_18122b690(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050c780 size=223 ############ undefined8 * FUN_18050c780(undefined8 *param_1,ulonglong param_2) { uint uVar1; uint *puVar2; *param_1 = juce::TooltipWindow::vftable; param_1[0x16] = juce::TooltipWindow::vftable; FUN_1812ccd50(); puVar2 = (uint *)(param_1[0x1c] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[0x1b] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } param_1[0x16] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x16); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1812ccd50 size=104 ############ void FUN_1812ccd50(longlong *param_1) { uint uVar1; uint *_Memory; if (*(char *)((longlong)param_1 + 0xfc) != '\0') { return; } _Memory = (uint *)(param_1[0x1b] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } param_1[0x1b] = (longlong)&DAT_1821dbf98; FUN_18134c310(param_1); /* WARNING: Could not recover jumptable at 0x0001812ccdae. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x58))(param_1,0); return; } ############ FUN_ 18050cb90 size=52 ############ void * FUN_18050cb90(void *param_1,ulonglong param_2) { FUN_1812cc560(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050cbd0 size=52 ############ void * FUN_18050cbd0(void *param_1,ulonglong param_2) { FUN_1812cb880(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050cc40 size=92 ############ undefined8 * FUN_18050cc40(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = (undefined8 *)param_1[2]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050cca0 size=109 ############ undefined8 * FUN_18050cca0(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::ApplicationCommandTarget::vftable; if (param_1[1] != 0) { *(undefined8 *)(param_1[1] + 0x10) = 0; } puVar3 = (undefined8 *)param_1[1]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18051b430 size=127 ############ void FUN_18051b430(longlong *param_1) { void *_Dst; void *_Memory; int iVar1; iVar1 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar1) { _Memory = *(void **)((longlong)iVar1 * 8 + *param_1); _Dst = (void *)((longlong)iVar1 * 8 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar1) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; /* WARNING: Subroutine does not return */ free(_Memory); } *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x00018051b4c4. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 18050ce60 size=160 ############ undefined8 * FUN_18050ce60(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::JUCEApplication::vftable; param_1[3] = juce::ApplicationCommandTarget::vftable; if (param_1[4] != 0) { *(undefined8 *)(param_1[4] + 0x10) = 0; } puVar3 = (undefined8 *)param_1[4]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } DAT_1826736f8 = 0; *param_1 = juce::JUCEApplicationBase::vftable; puVar3 = (undefined8 *)param_1[2]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050cf00 size=76 ############ undefined8 * FUN_18050cf00(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::BubbleComponent::vftable; param_1[0x1a] = juce::DropShadowEffect::vftable; FUN_18134caa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050d190 size=93 ############ void * FUN_18050d190(void *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = *(undefined8 **)((longlong)param_1 + 0xb0); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050d340 size=199 ############ undefined8 * FUN_18050d340(undefined8 *param_1,ulonglong param_2) { undefined8 *puVar1; *param_1 = juce::JUCESplashScreen::vftable; param_1[0x16] = juce::JUCESplashScreen::vftable; param_1[0x19] = juce::JUCESplashScreen::vftable; FUN_181324040(param_1 + 0x21); DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1b)); puVar1 = (undefined8 *)param_1[0x1a]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1812a7170(param_1 + 0x19); param_1[0x16] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x16); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050d420 size=43 ############ undefined8 * FUN_18050d420(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ModifierKeyReceiver::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050d870 size=105 ############ undefined8 * FUN_18050d870(undefined8 *param_1,uint param_2) { *param_1 = juce::WindowsBitmapImage::vftable; SelectObject((HDC)param_1[0x18],(HGDIOBJ)param_1[9]); DeleteDC((HDC)param_1[0x18]); DeleteObject((HGDIOBJ)param_1[8]); FUN_1812918d0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18050da30 size=158 ############ undefined8 * FUN_18050da30(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::OnScreenKeyboard::vftable; param_1[1] = juce::OnScreenKeyboard::vftable; if (DAT_182673b00 == param_1) { DAT_182673b00 = (undefined8 *)0x0; } if ((longlong *)param_1[5] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[5] + 0x10))(); } param_1[1] = juce::Timer::vftable; FUN_1812a7720(param_1 + 1); FUN_1812a7170(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180516420 size=52 ############ void * FUN_180516420(void *param_1,ulonglong param_2) { FUN_18050e0a0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180516570 size=100 ############ undefined8 * FUN_180516570(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = (undefined8 *)param_1[3]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *param_1 = juce::Timer::vftable; FUN_1812a7720(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805168a0 size=52 ############ void * FUN_1805168a0(void *param_1,ulonglong param_2) { FUN_1805168e0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805168e0 size=166 ############ ulonglong FUN_1805168e0(undefined8 *param_1) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; ulonglong uVar5; uint *puVar6; puVar4 = (undefined8 *)param_1[6]; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } puVar6 = (uint *)(param_1[5] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } puVar6 = (uint *)(param_1[4] + -0x10); if ((*puVar6 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar6; *puVar6 = *puVar6 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar6); } } *param_1 = juce::AsyncUpdater::vftable; LOCK(); uVar2 = *(uint *)(param_1[1] + 0x18); *(uint *)(param_1[1] + 0x18) = 0; uVar5 = (ulonglong)uVar2; UNLOCK(); puVar4 = (undefined8 *)param_1[1]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); uVar5 = (ulonglong)(iVar3 - 1U); if (iVar3 - 1U == 0) { uVar5 = (**(code **)*puVar4)(puVar4,1); } } return uVar5; } ############ FUN_ 1805169c0 size=43 ############ undefined8 * FUN_1805169c0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180516b40 size=43 ############ undefined8 * FUN_180516b40(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180516d30 size=43 ############ undefined8 * FUN_180516d30(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180516fd0 size=102 ############ void * FUN_180516fd0(void *param_1,ulonglong param_2) { longlong *plVar1; plVar1 = *(longlong **)((longlong)param_1 + 0xd8); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != (longlong *)((longlong)param_1 + 0xa0)); *(undefined8 *)((longlong)param_1 + 0xd8) = 0; } FUN_18122acf0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180517040 size=136 ############ undefined8 * FUN_180517040(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { *param_1 = juce::DragAndDropHelpers::ThreadPoolHolder::vftable; FUN_18122a110(param_1 + 1,param_2,0xffffffff,param_4,0xfffffffffffffffe); if (DAT_182673b10 == param_1) { DAT_182673b10 = (undefined8 *)0x0; } FUN_18122aa90(param_1 + 1); FUN_1812a7170(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180518bd0 size=386 ############ void FUN_180518bd0(longlong param_1,ulonglong param_2) { int iVar1; ulonglong *puVar2; undefined8 *puVar3; ulonglong *_Memory; ulonglong *puVar4; DWORD DVar5; longlong lVar6; int iVar7; longlong lVar8; undefined **local_90; longlong local_88; undefined ***local_58; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x300)); lVar6 = FUN_180518400(); iVar7 = (int)(param_2 % (ulonglong)(longlong)*(int *)(lVar6 + 0x14)); lVar8 = (longlong)iVar7; puVar2 = *(ulonglong **)(*(longlong *)(lVar6 + 8) + lVar8 * 8); puVar4 = (ulonglong *)0x0; do { while( true ) { _Memory = puVar2; if (_Memory == (ulonglong *)0x0) { LOCK(); *(undefined8 *)(param_1 + 0x348) = 0; UNLOCK(); lVar6 = FUN_1812a7550(); DVar5 = GetCurrentThreadId(); if ((ulonglong)DVar5 == *(ulonglong *)(lVar6 + 0x10)) { puVar3 = *(undefined8 **)(param_1 + 0x238); *(undefined8 *)(param_1 + 0x238) = 0; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } } else { local_90 = std::_Func_impl_no_alloc<,void>:: vftable; local_58 = &local_90; local_88 = param_1; FUN_1812a7460(&local_90); } /* WARNING: Could not recover jumptable at 0x000180518d4b. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x300)); return; } if (*_Memory == param_2) break; puVar2 = (ulonglong *)_Memory[2]; puVar4 = _Memory; } puVar2 = (ulonglong *)_Memory[2]; if (puVar4 == (ulonglong *)0x0) { if (-1 < lVar8) { if (iVar7 < *(int *)(lVar6 + 0x14)) { *(ulonglong **)(*(longlong *)(lVar6 + 8) + lVar8 * 8) = puVar2; } else { FUN_18047e060(lVar6 + 8,*(int *)(lVar6 + 0x14) + 1); iVar1 = *(int *)(lVar6 + 0x14); *(int *)(lVar6 + 0x14) = iVar1 + 1; *(ulonglong **)(*(longlong *)(lVar6 + 8) + (longlong)iVar1 * 8) = puVar2; } } } else { puVar4[2] = (ulonglong)puVar2; } *(int *)(lVar6 + 0x18) = *(int *)(lVar6 + 0x18) + -1; } while (_Memory == (ulonglong *)0x0); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805192f0 size=93 ############ void FUN_1805192f0(longlong *param_1) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; uint *_Memory; _Memory = (uint *)(param_1[1] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar4 = (undefined8 *)*param_1; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } return; } ############ FUN_ 1805192b0 size=52 ############ void * FUN_1805192b0(void *param_1,ulonglong param_2) { FUN_180517540(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805197d0 size=206 ############ undefined8 * FUN_1805197d0(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::FileChooser::Native::vftable; param_1[0x16] = juce::FileChooser::Native::vftable; FUN_181343150(param_1,0,param_3,param_4,0xfffffffffffffffe); FUN_180517890(param_1[0x18]); puVar3 = (undefined8 *)param_1[0x18]; param_1[0x18] = 0; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = (undefined8 *)param_1[0x18]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180519e50 size=1644 ############ undefined1 FUN_180519e50(longlong param_1,int *param_2) { uint *_Memory; uint uVar1; longlong lVar2; bool bVar3; undefined1 uVar4; char cVar5; wint_t wVar6; wint_t wVar7; int iVar8; undefined4 uVar9; int iVar10; char *pcVar11; byte bVar12; byte bVar13; int local_res10; int iStackX_14; undefined4 local_108; undefined8 local_104; undefined4 local_fc; undefined8 local_f8; undefined4 local_f0; undefined8 local_ec; undefined4 local_e4; undefined8 local_e0; undefined4 local_d8; undefined8 local_d4; undefined4 local_cc; undefined8 local_c8; undefined4 local_c0; undefined8 local_bc; undefined4 local_b4; undefined8 local_b0; undefined4 local_a8; undefined8 local_a4; undefined4 local_98; float local_94; float local_8c; undefined4 local_88; float local_84; float local_7c; undefined4 local_78; float local_74; undefined4 local_68; float local_64; undefined8 local_58; double local_48; double dStack_40; double local_38; double dStack_30; local_58 = 0xfffffffffffffffe; uVar1 = param_2[1]; bVar12 = (byte)uVar1 & 1; if (((uVar1 >> 1 & 1) == 0) && ((uVar1 >> 2 & 1) == 0)) { bVar3 = false; } else { bVar3 = true; } bVar13 = (uVar1 >> 1 & 1) != 0; if ((uVar1 >> 2 & 1) != 0) { bVar13 = bVar13 + 1; } if (uVar1 == 2) { if (*param_2 == 0x10028) { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x1c8) + 0xc0); dStack_40 = *(double *)(lVar2 + 0xf8) + *(double *)(lVar2 + 0xf0); local_48 = *(double *)(lVar2 + 0xf8) + *(double *)(lVar2 + 0xe8); if (dStack_40 <= local_48) { dStack_40 = local_48; } FUN_18131e660(lVar2,&local_48); return 1; } if (*param_2 == 0x10026) { lVar2 = *(longlong *)(*(longlong *)(param_1 + 0x1c8) + 0xc0); local_38 = *(double *)(lVar2 + 0xf8) * DAT_1824c46a0; dStack_30 = local_38 + *(double *)(lVar2 + 0xf0); local_38 = local_38 + *(double *)(lVar2 + 0xe8); if (dStack_30 <= local_38) { dStack_30 = local_38; } FUN_18131e660(lVar2,&local_38); return 1; } } if (bVar13 < 2) { iVar8 = *param_2; if (iVar8 == 0x10025) { if (bVar3) { iVar8 = FUN_1812db4b0(param_1,*(int *)(param_1 + 0x2a4)); } else { iVar8 = *(int *)(param_1 + 0x2a4) + -1; } goto LAB_180519fad; } if (iVar8 == 0x10027) { if (bVar3) { iVar8 = FUN_1812db610(param_1,*(int *)(param_1 + 0x2a4)); } else { iVar8 = *(int *)(param_1 + 0x2a4) + 1; } goto LAB_180519fad; } if (iVar8 == 0x10024) { if (bVar3) { FUN_1812e1fc0(); FUN_1812e0100(param_1,0,bVar12); return 1; } goto LAB_18051a022; } if (iVar8 == 0x10023) { if (bVar3) { iVar8 = FUN_1812dbb90(); goto LAB_180519fad; } goto LAB_18051a051; } } if (bVar13 == 0) { iVar8 = *param_2; if (iVar8 == 0x10026) { if (*(char *)(param_1 + 0x1ee) == '\0') { LAB_18051a022: uVar4 = FUN_1812dde20(param_1,bVar12); return uVar4; } FUN_1812e0660(param_1,&local_78); iVar8 = FUN_1812db7b0(param_1,local_78,local_74 - DAT_1824c3ea4); LAB_180519fad: FUN_1812e1fc0(param_1); FUN_1812e0100(param_1,iVar8,bVar12); return 1; } if (iVar8 == 0x10028) { if (*(char *)(param_1 + 0x1ee) == '\0') { LAB_18051a051: uVar4 = FUN_1812ddd60(param_1,bVar12); return uVar4; } FUN_1812e0660(param_1,&local_98); iVar8 = FUN_1812db7b0(param_1,local_98,local_94 + local_8c + DAT_1824c3ea4); goto LAB_180519fad; } if (iVar8 == 0x10021) { if (*(char *)(param_1 + 0x1ee) == '\0') goto LAB_18051a022; FUN_1812e0660(param_1,&local_68); iVar8 = FUN_1812db7b0(param_1,local_68, local_64 - (float)*(int *)(*(longlong *)(param_1 + 0x1c8) + 0x194)); goto LAB_180519fad; } if (iVar8 == 0x10022) { if (*(char *)(param_1 + 0x1ee) == '\0') goto LAB_18051a051; FUN_1812e0660(param_1,&local_88); iVar8 = FUN_1812db7b0(param_1,local_88, local_84 + local_7c + (float)*(int *)(*(longlong *)(param_1 + 0x1c8) + 0x194)); goto LAB_180519fad; } } if (uVar1 == 2) { iVar8 = *param_2; if (iVar8 == 99) goto LAB_18051a48b; if (iVar8 < 0x100) { wVar6 = towlower((wint_t)iVar8); wVar7 = towlower(99); if (wVar6 == wVar7) goto LAB_18051a48b; } } local_108 = 0x1002d; local_104 = 2; cVar5 = FUN_1813389f0(param_2,&local_108); if (cVar5 != '\0') { LAB_18051a48b: FUN_1812e1fc0(param_1); FUN_1812dfce0(param_1); return 1; } local_fc = 0x78; local_f8 = 2; cVar5 = FUN_1813389f0(param_2,&local_fc); if (cVar5 != '\0') { LAB_18051a481: uVar4 = FUN_1812ddc10(param_1); return uVar4; } local_f0 = 0x1002e; local_ec = 1; cVar5 = FUN_1813389f0(param_2,&local_f0); if (cVar5 != '\0') goto LAB_18051a481; local_e4 = 0x76; local_e0 = 2; cVar5 = FUN_1813389f0(param_2,&local_e4); if (cVar5 != '\0') { LAB_18051a400: FUN_1812e1fc0(param_1); if (*(char *)(param_1 + 0x1ec) != '\0') { return 1; } if ((*(byte *)(param_1 + 0xa9) & 0x10) != 0) { return 1; } if ((*(longlong *)(param_1 + 0x18) != 0) && (cVar5 = FUN_18133eaa0(), cVar5 == '\0')) { return 1; } FUN_1812c5ee0(&local_res10); pcVar11 = (char *)CONCAT44(iStackX_14,local_res10); if (*pcVar11 != '\0') { (**(code **)(*(longlong *)(param_1 + 0xb0) + 0x30))((longlong *)(param_1 + 0xb0),&local_res10) ; pcVar11 = (char *)CONCAT44(iStackX_14,local_res10); } _Memory = (uint *)(pcVar11 + -0x10); if ((*_Memory & 0x30000000) != 0) { return 1; } LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 != 0) { return 1; } /* WARNING: Subroutine does not return */ free(_Memory); } local_d8 = 0x1002d; local_d4 = 1; cVar5 = FUN_1813389f0(param_2,&local_d8); if (cVar5 != '\0') goto LAB_18051a400; if (1 < bVar13) { LAB_18051a355: local_cc = 0x61; local_c8 = 2; cVar5 = FUN_1813389f0(param_2,&local_cc); if (cVar5 != '\0') { uVar4 = FUN_1812ddaf0(param_1); return uVar4; } local_c0 = 0x7a; local_bc = 2; cVar5 = FUN_1813389f0(param_2,&local_c0); if (cVar5 == '\0') { local_b4 = 0x79; local_b0 = 2; cVar5 = FUN_1813389f0(param_2,&local_b4); if (cVar5 == '\0') { local_a8 = 0x7a; local_a4 = 3; cVar5 = FUN_1813389f0(param_2,&local_a8); if (cVar5 == '\0') { return 0; } } uVar4 = FUN_1812e1f00(param_1,0); return uVar4; } uVar4 = FUN_1812e1f00(param_1,1); return uVar4; } if (*param_2 == 8) { if (bVar3) { uVar9 = FUN_1812db4b0(param_1,*(undefined4 *)(param_1 + 0x2a4)); FUN_1812e0100(param_1,uVar9,1); FUN_1812dfba0(param_1); return 1; } iVar8 = *(int *)(param_1 + 0x284); if ((*(int *)(param_1 + 0x280) != iVar8) || (*(int *)(param_1 + 0x280) < 1)) goto LAB_18051a30b; local_res10 = iVar8 + -1; iStackX_14 = local_res10; if (local_res10 < iVar8) { iStackX_14 = iVar8; } } else { if (*param_2 != 0x1002e) goto LAB_18051a355; if ((*(int *)(param_1 + 0x280) != *(int *)(param_1 + 0x284)) || (iVar8 = *(int *)(param_1 + 0x280), iVar10 = FUN_1812dbb90(param_1), iVar10 <= iVar8)) goto LAB_18051a30b; local_res10 = *(int *)(param_1 + 0x280); iStackX_14 = local_res10; if (local_res10 < local_res10 + 1) { iStackX_14 = local_res10 + 1; } } *(ulonglong *)(param_1 + 0x280) = CONCAT44(iStackX_14,local_res10); LAB_18051a30b: FUN_1812dfba0(param_1); return 1; } ############ FUN_ 1812c5ee0 size=222 ############ longlong * FUN_1812c5ee0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; longlong lVar2; BOOL BVar3; HANDLE hMem; LPVOID pvVar4; SIZE_T SVar5; longlong local_res10; undefined4 uVar6; undefined8 uVar7; uVar7 = 0xfffffffffffffffe; *param_1 = (longlong)&DAT_1821dbf98; uVar6 = 1; BVar3 = OpenClipboard((HWND)0x0); if (BVar3 != 0) { hMem = GetClipboardData(0xd); if (hMem != (HANDLE)0x0) { pvVar4 = GlobalLock(hMem); if (pvVar4 != (LPVOID)0x0) { SVar5 = GlobalSize(hMem); FUN_18049cc00(&local_res10,pvVar4,SVar5 >> 1,param_4,uVar6,uVar7); lVar2 = *param_1; *param_1 = local_res10; _Memory = (uint *)(lVar2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } GlobalUnlock(hMem); } } CloseClipboard(); } return param_1; } ############ FUN_ 1812db4b0 size=341 ############ int FUN_1812db4b0(longlong param_1,int param_2) { uint uVar1; wint_t wVar2; int iVar3; int iVar4; uint *_Memory; int iVar5; int iVar6; char cVar7; char cVar8; longlong local_res18; int local_res20; int local_res24; if (param_2 < 1) { return 0; } iVar6 = 0; if (0 < param_2 + -0x200) { iVar6 = param_2 + -0x200; } local_res24 = iVar6; if (iVar6 < param_2) { local_res24 = param_2; } local_res20 = iVar6; (**(code **)(*(longlong *)(param_1 + 0xb0) + 0x28)) ((longlong *)(param_1 + 0xb0),&local_res18,&local_res20); iVar4 = param_2 - iVar6; do { iVar5 = iVar4; if (iVar5 < 1) goto LAB_1812db5ce; wVar2 = FUN_180493050(&local_res18,iVar5 + -1); iVar3 = iswspace(wVar2); iVar4 = iVar5 + -1; } while (iVar3 != 0); if (0 < iVar5) { wVar2 = FUN_180493050(&local_res18,iVar5 + -1); iVar4 = iswalnum(wVar2); if (iVar4 == 0) { iVar4 = iswspace(wVar2); cVar7 = iVar4 == 0; } else { cVar7 = '\x02'; } do { iVar4 = iVar5 + -1; wVar2 = FUN_180493050(&local_res18,iVar4); iVar3 = iswalnum(wVar2); if (iVar3 == 0) { iVar3 = iswspace(wVar2); cVar8 = iVar3 == 0; } else { cVar8 = '\x02'; } } while ((cVar7 == cVar8) && (iVar5 = iVar4, 0 < iVar4)); } LAB_1812db5ce: _Memory = (uint *)(local_res18 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return iVar5 + iVar6; } ############ FUN_ 1812db610 size=408 ############ int FUN_1812db610(longlong param_1,int param_2) { byte *pbVar1; uint uVar2; byte bVar3; wint_t wVar4; int iVar5; byte *pbVar6; uint *_Memory; int iVar7; int iVar8; char cVar9; char cVar10; byte *local_res8; int local_res18; int local_res1c; local_res1c = param_2; if (param_2 < param_2 + 0x200) { local_res1c = param_2 + 0x200; } local_res18 = param_2; (**(code **)(*(longlong *)(param_1 + 0xb0) + 0x28)) ((longlong *)(param_1 + 0xb0),&local_res8,&local_res18); iVar8 = 0; pbVar6 = local_res8; LAB_1812db660: do { bVar3 = *pbVar6; pbVar6 = pbVar6 + 1; if ((char)bVar3 < '\0') { if ((*pbVar6 & 0xc0) == 0x80) { do { pbVar1 = pbVar6 + 1; pbVar6 = pbVar6 + 1; } while ((*pbVar1 & 0xc0) == 0x80); iVar8 = iVar8 + 1; goto LAB_1812db660; } } else if (bVar3 == 0) goto LAB_1812db69d; iVar8 = iVar8 + 1; } while( true ); joined_r0x0001812db740: if (iVar8 <= iVar7) goto LAB_1812db761; wVar4 = FUN_180493050(&local_res8,iVar7); iVar5 = iswspace(wVar4); if (iVar5 == 0) goto LAB_1812db761; iVar7 = iVar7 + 1; goto joined_r0x0001812db740; LAB_1812db69d: iVar7 = 0; if (0 < iVar8) { do { wVar4 = FUN_180493050(&local_res8,iVar7); iVar5 = iswspace(wVar4); if (iVar5 == 0) break; iVar7 = iVar7 + 1; } while (iVar7 < iVar8); } wVar4 = FUN_180493050(&local_res8,iVar7); iVar5 = iswalnum(wVar4); if (iVar5 == 0) { iVar5 = iswspace(wVar4); cVar9 = iVar5 == 0; } else { cVar9 = '\x02'; } for (; iVar7 < iVar8; iVar7 = iVar7 + 1) { wVar4 = FUN_180493050(&local_res8,iVar7); iVar5 = iswalnum(wVar4); if (iVar5 == 0) { iVar5 = iswspace(wVar4); cVar10 = iVar5 == 0; } else { cVar10 = '\x02'; } if (cVar9 != cVar10) goto joined_r0x0001812db740; } LAB_1812db761: _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return iVar7 + param_2; } ############ FUN_ 1812db7b0 size=646 ############ ulonglong FUN_1812db7b0(longlong param_1,float param_2,float param_3) { char cVar1; int iVar2; uint uVar3; undefined8 uVar4; float *pfVar5; ulonglong uVar6; uint *puVar7; longlong lVar8; float fVar9; longlong local_res8; void *local_c8; undefined8 local_c0; uint local_b8; float local_b4; float local_ac; float local_a4; float local_a0; undefined8 local_98; undefined8 local_90; undefined4 local_6c; longlong local_60; undefined8 local_48; local_48 = 0xfffffffffffffffe; if ((*(char *)(param_1 + 0x1ef) == '\0') || (0.0 < (float)((*(int *)(*(longlong *)(param_1 + 0x1c8) + 0xf8) - *(int *)(param_1 + 0x288)) + -3))) { FUN_1805074f0(&local_b8,param_1); do { do { cVar1 = FUN_1805075e0(&local_b8); if (cVar1 == '\0') { puVar7 = (uint *)(local_60 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } goto LAB_1812dba0c; } } while (local_ac + local_b4 <= param_3); if (param_3 < local_b4) { uVar3 = local_b8 - 1; local_b8 = 0; if (0 < (int)uVar3) { local_b8 = uVar3; } goto LAB_1812db9c0; } if (((param_2 <= local_a4) || (uVar4 = local_98, fVar9 = local_a4, iVar2 = FUN_180493050(local_98,0), iVar2 == 0xd)) || (iVar2 = FUN_180493050(uVar4,0), iVar2 == 10)) goto LAB_1812db9c0; } while (local_a0 <= param_2); if (((fVar9 < param_2) && (iVar2 = FUN_180493050(uVar4,0), iVar2 != 0xd)) && (iVar2 = FUN_180493050(uVar4,0), iVar2 != 10)) { lVar8 = 0; local_c8 = (void *)0x0; local_c0 = 0; FUN_1804aebd0(&local_c8,200); uVar4 = FUN_180506630(local_98,&local_res8,local_6c); FUN_1812510e0(&local_c8,local_90,uVar4,local_a4,0,DAT_1824c4620,0); puVar7 = (uint *)(local_res8 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } if (0 < local_c0._4_4_) { pfVar5 = (float *)((longlong)local_c8 + 0x10); do { if (param_2 < (*pfVar5 + *pfVar5 + pfVar5[2]) * DAT_1824c3d8c) break; lVar8 = lVar8 + 1; pfVar5 = pfVar5 + 8; } while (lVar8 < local_c0._4_4_); } FUN_1804aeb50(&local_c8); /* WARNING: Subroutine does not return */ free(local_c8); } LAB_1812db9c0: puVar7 = (uint *)(local_60 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } uVar6 = (ulonglong)local_b8; } else { LAB_1812dba0c: uVar6 = FUN_1812dbb90(param_1); } return uVar6; } ############ FUN_ 1812dfba0 size=144 ############ void FUN_1812dfba0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; char cVar2; uint *_Memory; undefined1 *local_res8 [4]; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; if ((*(char *)(param_1 + 0x1ec) == '\0') && ((*(byte *)(param_1 + 0xa9) & 0x10) == 0)) { if ((*(longlong *)(param_1 + 0x18) != 0) && (cVar2 = FUN_18133eaa0(), cVar2 == '\0')) { return; } FUN_1812e08d0(param_1,*(undefined4 *)(param_1 + 0x284),param_3,param_4,uVar3); local_res8[0] = &DAT_1821dbf98; (**(code **)(*(longlong *)(param_1 + 0xb0) + 0x30))((longlong *)(param_1 + 0xb0),local_res8); _Memory = (uint *)(local_res8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return; } ############ FUN_ 1812dfce0 size=117 ############ void FUN_1812dfce0(longlong param_1) { uint uVar1; BOOL BVar2; uint *_Memory; char *local_res8 [4]; if (*(int *)(param_1 + 0x2c4) == 0) { (**(code **)(*(longlong *)(param_1 + 0xb0) + 0x28)) ((longlong *)(param_1 + 0xb0),local_res8,param_1 + 0x280); if (*local_res8[0] != '\0') { BVar2 = OpenClipboard((HWND)0x0); if (BVar2 != 0) { FUN_1812c5fd0(local_res8); } } _Memory = (uint *)(local_res8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } return; } ############ FUN_ 18051c0c0 size=43 ############ undefined8 * FUN_18051c0c0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18051c0f0 size=43 ############ undefined8 * FUN_18051c0f0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18051c120 size=43 ############ undefined8 * FUN_18051c120(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180520d90 size=79 ############ void FUN_180520d90(void *param_1,char param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = *(undefined8 **)((longlong)param_1 + 8); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 180520e20 size=53 ############ void FUN_180520e20(void *param_1,char param_2) { FUN_1805192f0((longlong)param_1 + 8); if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 180520f30 size=79 ############ void FUN_180520f30(void *param_1,char param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = *(undefined8 **)((longlong)param_1 + 8); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 1805210f0 size=53 ############ void FUN_1805210f0(void *param_1,char param_2) { FUN_18050c410((longlong)param_1 + 8); if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 180521160 size=79 ############ void FUN_180521160(void *param_1,char param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = *(undefined8 **)((longlong)param_1 + 8); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 180521290 size=83 ############ void FUN_180521290(void *param_1,char param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 180521490 size=79 ############ void FUN_180521490(void *param_1,char param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = *(undefined8 **)((longlong)param_1 + 8); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 1805224f0 size=79 ############ void FUN_1805224f0(void *param_1,char param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = *(undefined8 **)((longlong)param_1 + 0x10); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 1805226a0 size=53 ############ void FUN_1805226a0(void *param_1,char param_2) { FUN_18051fee0((longlong)param_1 + 8); if (param_2 != '\0') { /* WARNING: Subroutine does not return */ free(param_1); } return; } ############ FUN_ 180522c50 size=94 ############ void FUN_180522c50(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong lVar2; undefined8 uVar3; uint *_Memory; longlong local_res8 [4]; lVar2 = *(longlong *)(param_1 + 8); uVar3 = FUN_181241230(lVar2 + 0xf8,local_res8,param_3,param_4,0xfffffffffffffffe); FUN_18132bdc0(lVar2,uVar3); _Memory = (uint *)(local_res8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1805267a0 size=52 ############ void * FUN_1805267a0(void *param_1,ulonglong param_2) { FUN_1813513c0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805268c0 size=72 ############ void * FUN_1805268c0(void *param_1,uint param_2) { (**(code **)(**(longlong **)((longlong)param_1 + 0x30) + 0xb0)) (*(longlong **)((longlong)param_1 + 0x30),(longlong)param_1 + 0x38); FUN_1813513c0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805279e0 size=52 ############ void * FUN_1805279e0(void *param_1,ulonglong param_2) { FUN_180526a30(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180527a20 size=162 ############ void * FUN_180527a20(void *param_1,uint param_2) { int *piVar1; uint uVar2; int iVar3; undefined8 *puVar4; uint *_Memory; (**(code **)(**(longlong **)((longlong)param_1 + 0x28) + 0xb0)) (*(longlong **)((longlong)param_1 + 0x28),(longlong)param_1 + 0x30); (**(code **)(**(longlong **)((longlong)param_1 + 0x18) + 0xb0)) (*(longlong **)((longlong)param_1 + 0x18),(longlong)param_1 + 0x20); _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0x10) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar4 = *(undefined8 **)((longlong)param_1 + 8); if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar3 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)*puVar4)(puVar4,1); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180527ad0 size=89 ############ undefined8 * FUN_180527ad0(undefined8 *param_1,uint param_2) { *param_1 = juce::ValueTreeSynchroniser::vftable; FUN_181351090(param_1 + 1,param_1); FUN_181352e50(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180527b30 size=52 ############ void * FUN_180527b30(void *param_1,ulonglong param_2) { FUN_181352b00(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180527b70 size=164 ############ void FUN_180527b70(longlong *param_1) { uint uVar1; uint *puVar2; puVar2 = (uint *)(param_1[3] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[2] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[1] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(*param_1 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return; } ############ FUN_ 180528ba0 size=43 ############ undefined8 * .?AVSoothe2AudioProcessor@@::vtbl___AVSoothe2AudioProcessor__(undefined8 *param_1,ulonglong param_2) { *param_1 = ParametricEqualizerListener::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18052d600 size=52 ############ void * FUN_18052d600(void *param_1,ulonglong param_2) { FUN_18052d280(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180576470 size=330 ############ void FUN_180576470(longlong *param_1) { void *pvVar1; void *pvVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; pvVar1 = (void *)param_1[1]; lVar4 = *param_1; uVar5 = (longlong)pvVar1 - lVar4; uVar3 = param_1[2] - lVar4; if (uVar3 < 0x20) { if (0x7fffffffffffffff - (uVar3 >> 1) < uVar3) { uVar3 = 0x20; } else { uVar3 = (uVar3 >> 1) + uVar3; if (uVar3 < 0x20) { uVar3 = 0x20; } } pvVar2 = (void *)FUN_180480500(uVar3); memset((void *)((longlong)pvVar2 + uVar5),0,0x20 - uVar5); memmove(pvVar2,(void *)*param_1,param_1[1] - *param_1); pvVar1 = (void *)*param_1; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[2] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *param_1 = (longlong)pvVar2; param_1[1] = (longlong)pvVar2 + 0x20; param_1[2] = (longlong)pvVar2 + uVar3; } else { if (uVar5 < 0x20) { lVar4 = (longlong)pvVar1 + (0x20 - uVar5); memset(pvVar1,0,lVar4 - (longlong)pvVar1); param_1[1] = lVar4; return; } if (uVar5 != 0x20) { param_1[1] = lVar4 + 0x20; return; } } return; } ############ FUN_ 1805af600 size=458 ############ void FUN_1805af600(longlong *param_1,longlong param_2,longlong param_3) { undefined8 *puVar1; void *pvVar2; ulonglong uVar3; ulonglong uVar4; longlong lVar5; void *_Memory; undefined8 *puVar6; undefined8 *puVar7; ulonglong uVar8; puVar1 = (undefined8 *)param_1[1]; puVar6 = (undefined8 *)*param_1; uVar3 = (param_3 - param_2) / 0x68; uVar8 = ((longlong)puVar1 - (longlong)puVar6) / 0x68; uVar4 = (param_1[2] - (longlong)puVar6) / 0x68; if (uVar4 < uVar3) { if (0x276276276276276 < uVar3) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar8 = uVar3; if ((uVar4 <= 0x276276276276276 - (uVar4 >> 1)) && (uVar8 = (uVar4 >> 1) + uVar4, uVar8 < uVar3) ) { uVar8 = uVar3; } if (puVar6 != (undefined8 *)0x0) { for (; puVar6 != puVar1; puVar6 = puVar6 + 0xd) { (**(code **)*puVar6)(puVar6,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < uVar4 * 0x68) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } FUN_1805bbce0(param_1,uVar8); lVar5 = FUN_1805b14f0(param_1,param_2,param_3,*param_1); param_1[1] = lVar5; } else if (uVar8 < uVar3) { lVar5 = uVar8 * 0x68 + param_2; FUN_1805afe20(param_2,lVar5,puVar6); lVar5 = FUN_1805b14f0(param_1,lVar5,param_3,param_1[1]); param_1[1] = lVar5; } else { FUN_1805afe20(param_2,param_3,puVar6); puVar1 = (undefined8 *)param_1[1]; for (puVar7 = puVar6 + uVar3 * 0xd; puVar7 != puVar1; puVar7 = puVar7 + 0xd) { (**(code **)*puVar7)(puVar7,0); } param_1[1] = (longlong)(puVar6 + uVar3 * 0xd); } return; } ############ FUN_ 18079ee40 size=641 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079ee40(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_98 [32]; short local_78 [2]; uint local_74; uint local_70; int local_6c; undefined1 local_68 [4]; undefined1 local_64 [4]; undefined8 local_60; undefined1 local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; local_48 = 0; local_40 = 0xf; local_58 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_58); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_6c,local_78); do { if (local_6c == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_40 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_57,local_58); _Memory = pvVar1; if ((0xfff < local_40 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_78[0] == 1) { if (local_6c != 8) goto LAB_18079f02d; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 100) = 1; } else if (local_78[0] == 10) { if (local_6c != 0xf) goto LAB_18079f02d; *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)(param_1 + 0x10); (**(code **)(*param_2 + 0xf0))(param_2,local_64,&local_70); FUN_1805b1330(param_1 + 0x10,local_70,param_1 + 0x10); uVar3 = 0; if (local_70 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x10)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_70); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x65) = 1; } else if (local_78[0] == 0xb) { if (local_6c != 0xf) goto LAB_18079f02d; *(undefined8 *)(param_1 + 0x30) = *(undefined8 *)(param_1 + 0x28); (**(code **)(*param_2 + 0xf0))(param_2,local_68,&local_74); FUN_1805b1330(param_1 + 0x28,local_74,param_1 + 0x28); uVar3 = 0; if (local_74 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x28)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_74); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x66) = 1; } else if (local_78[0] == 0x14) { if (local_6c != 0xb) goto LAB_18079f02d; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x40); *(undefined1 *)(param_1 + 0x67) = 1; } else if ((local_78[0] == 10000) && (local_6c == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x60); *(undefined1 *)(param_1 + 0x68) = 1; } else { LAB_18079f02d: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_6c,local_78); } while( true ); } ############ FUN_ 1805371e0 size=170 ############ void FUN_1805371e0(longlong param_1,undefined8 *param_2) { uint uVar1; uint *_Memory; undefined1 *local_res8; undefined8 local_res10; undefined1 **local_res18; undefined8 *local_res20; local_res10 = *param_2; *param_2 = &DAT_1821dbf98; local_res18 = &local_res8; local_res20 = &local_res10; local_res8 = &DAT_1821dbf98; local_res20 = (undefined8 *)FUN_18113e800(local_res20,0xff547ddd,&DAT_1824aba30,0xb); FUN_18119aa60(*(undefined8 *)(param_1 + 8),local_res20); FUN_18141a660(&local_res10); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 18141a660 size=568 ############ float FUN_18141a660(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; byte bVar2; bool bVar3; char cVar4; char cVar5; undefined8 *puVar6; byte *pbVar7; uint *puVar8; int iVar9; int iVar10; double dVar11; float fVar12; longlong local_res18; longlong local_res20; iVar9 = 0; cVar4 = FUN_181230100(param_1,&DAT_182278f04,param_3,param_4,0xfffffffffffffffe); cVar5 = FUN_181230100(param_1,&DAT_18227bfe4); local_res18 = *param_1; dVar11 = (double)FUN_18049bd80(&local_res18); fVar12 = (float)dVar11; if ((cVar5 != '\0') || (iVar10 = iVar9, cVar4 != '\0')) { puVar6 = (undefined8 *)FUN_181248e40(param_1,&local_res20); iVar10 = 1; pbVar7 = (byte *)*puVar6; LAB_18141a700: do { bVar2 = *pbVar7; pbVar7 = pbVar7 + 1; if ((char)bVar2 < '\0') { if ((*pbVar7 & 0xc0) == 0x80) { do { pbVar7 = pbVar7 + 1; } while ((*pbVar7 & 0xc0) == 0x80); iVar9 = iVar9 + 1; goto LAB_18141a700; } } else if (bVar2 == 0) goto LAB_18141a72d; iVar9 = iVar9 + 1; } while( true ); } LAB_18141a738: bVar3 = false; LAB_18141a73b: if ((iVar10 != 0) && (puVar8 = (uint *)(local_res20 + -0x10), (*puVar8 & 0x30000000) == 0)) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } if (bVar3) { fVar12 = (float)(cVar4 == '\0'); } else { if (cVar5 != '\0') { fVar12 = (float)((double)(fVar12 / DAT_1824c44dc) * DAT_1824c4050); puVar8 = (uint *)(*param_1 + -0x10); if ((*puVar8 & 0x30000000) != 0) { return fVar12; } LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 != 0) { return fVar12; } /* WARNING: Subroutine does not return */ free(puVar8); } if (cVar4 != '\0') { fVar12 = (float)((double)(DAT_1824c3ea4 - fVar12 / DAT_1824c44dc) * DAT_1824c4050 + DAT_1824c4050); puVar8 = (uint *)(*param_1 + -0x10); if ((*puVar8 & 0x30000000) != 0) { return fVar12; } LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 != 0) { return fVar12; } /* WARNING: Subroutine does not return */ free(puVar8); } if ((fVar12 < 0.0) || (DAT_1824c3ea4 < fVar12)) { puVar8 = (uint *)(*param_1 + -0x10); if ((*puVar8 & 0x30000000) != 0) { return DAT_1824c3d8c; } LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 != 0) { return DAT_1824c3d8c; } /* WARNING: Subroutine does not return */ free(puVar8); } } puVar8 = (uint *)(*param_1 + -0x10); if ((*puVar8 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar8; *puVar8 = *puVar8 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar8); } } return fVar12; LAB_18141a72d: if (iVar9 == 1) { bVar3 = true; goto LAB_18141a73b; } goto LAB_18141a738; } ############ FUN_ 1805376a0 size=124 ############ void .?AV?$_Func_impl_no_alloc@V?$_Binder@U_Unforced@std@@P8?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@EAAXXZPEAV3@@std@@X$$V@std@@ :: vtbl___AV___Func_impl_no_alloc_V___Binder_U_Unforced_std__P8__CloudyAudioProcessor_V__Soothe2ModuleBase_M_01__VSoothe2ModuleDecryptor__VParameterStates__M__EAAXXZPEAV3__std__X__V_std__ (undefined8 param_1,longlong *param_2) { uint uVar1; uint *_Memory; longlong local_res8; longlong *local_res10; local_res8 = *param_2; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } local_res10 = &local_res8; FUN_18141ac10(&local_res8); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 180537740 size=141 ############ undefined4 FUN_180537740(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; longlong *plVar2; uint *_Memory; undefined4 uVar3; longlong local_res8; longlong *local_res10; local_res8 = *param_2; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } local_res10 = &local_res8; plVar2 = *(longlong **)(param_1 + 0x40); if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } uVar3 = (**(code **)(*plVar2 + 0x10))(plVar2,&local_res8,param_1,param_4,0xfffffffffffffffe); _Memory = (uint *)(local_res8 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return uVar3; } ############ FUN_ 180538030 size=93 ############ undefined8 * FUN_180538030(longlong param_1,undefined8 *param_2,undefined4 *param_3) { uint uVar1; undefined8 *puVar2; uint *_Memory; undefined8 *local_res10 [3]; local_res10[0] = param_2; puVar2 = (undefined8 *)(**(code **)(param_1 + 8))(local_res10,*param_3); *param_2 = *puVar2; *puVar2 = &DAT_1821dbf98; _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; } ############ FUN_ 1805385d0 size=52 ############ void * FUN_1805385d0(void *param_1,ulonglong param_2) { FUN_1813afb80(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180538610 size=52 ############ void * FUN_180538610(void *param_1,ulonglong param_2) { FUN_180538650(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180538650 size=132 ############ void FUN_180538650(longlong param_1) { uint uVar1; undefined8 *_Memory; uint *_Memory_00; _Memory = *(undefined8 **)(param_1 + 0x78); if (_Memory != (undefined8 *)0x0) { if ((LPCVOID)*_Memory != (LPCVOID)0x0) { UnmapViewOfFile((LPCVOID)*_Memory); } if ((HANDLE)_Memory[3] != (HANDLE)0x0) { CloseHandle((HANDLE)_Memory[3]); } /* WARNING: Subroutine does not return */ free(_Memory); } _Memory_00 = (uint *)(*(longlong *)(param_1 + 0x60) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } FUN_1813afb80(param_1); return; } ############ FUN_ 180538760 size=52 ############ void * FUN_180538760(void *param_1,ulonglong param_2) { FUN_1813aeac0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805387a0 size=91 ############ undefined8 * FUN_1805387a0(undefined8 *param_1,uint param_2) { undefined8 *puVar1; *param_1 = juce::AudioSubsectionReader::vftable; if ((*(char *)(param_1 + 0xf) != '\0') && (puVar1 = (undefined8 *)param_1[0xc], puVar1 != (undefined8 *)0x0)) { (**(code **)*puVar1)(puVar1,1); } FUN_1813afb80(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18053adc0 size=52 ############ void * FUN_18053adc0(void *param_1,ulonglong param_2) { FUN_1813afb80(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18053c0e0 size=52 ############ void * FUN_18053c0e0(void *param_1,ulonglong param_2) { FUN_180538650(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18053d5a0 size=124 ############ undefined8 * FUN_18053d5a0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::FlacWriter::vftable; if (*(char *)(param_1 + 0xb) == '\0') { param_1[9] = 0; } else { FUN_18139c0c0(param_1[0xc]); (**(code **)(*(longlong *)param_1[9] + 8))(); } FUN_18139d160(param_1[0xc]); FUN_1813aeac0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18053ebe0 size=163 ############ void FUN_18053ebe0(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; char *pcVar2; undefined4 uVar3; undefined8 *puVar4; uVar3 = FUN_1812498b0(param_2,param_3,*(undefined1 *)(param_2 + 0x20),0); puVar4 = (undefined8 *)FUN_181249970(param_2 + 0x10,uVar3); pcVar2 = (char *)*puVar4; _Memory = (uint *)(pcVar2 + -0x10); if ((*(uint *)(pcVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if (*pcVar2 != '\0') { FUN_181388810(param_1 + 0x248,param_4); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 18053ec90 size=187 ############ undefined8 * FUN_18053ec90(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { *param_1 = juce::OggWriter::vftable; if (*(char *)(param_1 + 0xb) == '\0') { FUN_181388250(param_1 + 0x44); param_1[9] = 0; } else { FUN_18053e9f0(param_1,0,param_3,param_4,0xfffffffffffffffe); FUN_181392710(param_1 + 0xc); FUN_181390bc0(param_1 + 0x5d); FUN_18138ffc0(param_1 + 0x4d); FUN_181388560(param_1 + 0x49); FUN_181388250(param_1 + 0x44); (**(code **)(*(longlong *)param_1[9] + 8))(); } FUN_1813aeac0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18136e020 size=428 ############ undefined8 FUN_18136e020(longlong param_1,longlong *param_2,undefined4 *param_3) { uint *_Memory; int iVar1; undefined8 *puVar2; void *_Dst; uint uVar3; undefined8 uVar4; bool bVar5; undefined1 local_res8 [8]; undefined4 local_res18 [2]; int local_res20 [2]; char *local_38; iVar1 = FUN_1812498b0(param_1,param_3,*(undefined1 *)(param_1 + 0x20),0); if (iVar1 < 0) { local_38 = ""; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } } else { puVar2 = (undefined8 *)FUN_181249970(param_1 + 0x10,iVar1); local_38 = (char *)*puVar2; if ((*(uint *)(local_38 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_38 + -0x10) = *(int *)(local_38 + -0x10) + 1; UNLOCK(); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar5 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar5) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if (*local_38 == '\0') { uVar4 = 0; } else { iVar1 = FUN_18049d240(local_38); uVar3 = iVar1 + 1; local_res18[0] = *param_3; (**(code **)(*param_2 + 0x20))(param_2,local_res18,4); local_res20[0] = (uVar3 & 1) + uVar3; (**(code **)(*param_2 + 0x20))(param_2,local_res20,4); if (uVar3 != 0) { _Dst = (void *)FUN_181234e40(param_2,(longlong)(int)uVar3); if (_Dst != (void *)0x0) { memcpy(_Dst,local_38,(longlong)(int)uVar3); } } if ((*(byte *)(param_2 + 7) & 1) != 0) { local_res8[0] = 0; (**(code **)(*param_2 + 0x20))(param_2,local_res8,1); } uVar4 = 1; } _Memory = (uint *)(local_38 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return uVar4; } ############ FUN_ 18136e9a0 size=1038 ############ void FUN_18136e9a0(longlong param_1,longlong *param_2,longlong *param_3) { uint *_Memory; undefined8 **ppuVar1; int iVar2; uint uVar3; longlong *plVar4; uint *puVar5; undefined8 **ppuVar6; undefined1 local_res8 [8]; undefined2 local_res10 [4]; undefined2 local_res18 [4]; undefined2 local_res20 [4]; undefined2 local_a8 [4]; longlong *local_a0; longlong *local_98; longlong local_90; undefined4 local_88; int local_84; undefined4 local_80; undefined4 local_7c; undefined4 local_78; uint local_74; longlong local_70; longlong *local_68; undefined8 **local_60; undefined8 **local_58; undefined8 local_50; local_50 = 0xfffffffffffffffe; local_90 = *param_2; if ((*(uint *)(local_90 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_90 + -0x10) = *(int *)(local_90 + -0x10) + 1; UNLOCK(); } local_68 = &local_90; FUN_181232e20(&local_90,&DAT_182256694,&DAT_182256698); local_68 = (longlong *)local_90; _Memory = (uint *)(local_90 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar5 = (uint *)(local_90 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } iVar2 = FUN_1812498b0(param_1,local_90,*(undefined1 *)(param_1 + 0x20),0); if (iVar2 < 0) { local_70 = *param_2; puVar5 = (uint *)(local_70 + -0x10); uVar3 = *puVar5; } else { plVar4 = (longlong *)FUN_181249970(param_1 + 0x10,iVar2); local_70 = *plVar4; puVar5 = (uint *)(local_70 + -0x10); uVar3 = *puVar5; } if ((uVar3 & 0x30000000) == 0) { LOCK(); *puVar5 = *puVar5 + 1; UNLOCK(); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar2 = FUN_18049d240(local_70); local_74 = iVar2 + 1; uVar3 = local_74 & 1; local_88 = 0x7478746c; (**(code **)(*param_3 + 0x20))(param_3,&local_88,4); local_84 = iVar2 + 0x15 + uVar3; (**(code **)(*param_3 + 0x20))(param_3,&local_84,4); local_a0 = (longlong *)*param_2; if (((ulonglong)local_a0[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_a0 + -2) = *(int *)(local_a0 + -2) + 1; UNLOCK(); } local_60 = &local_a0; FUN_181232e20(&local_a0,"Identifier",""); local_60 = (undefined8 **)local_a0; ppuVar1 = (undefined8 **)(local_a0 + -2); if (((ulonglong)*ppuVar1 & 0x30000000) == 0) { LOCK(); *(uint *)ppuVar1 = *(uint *)ppuVar1 + 1; UNLOCK(); } ppuVar6 = (undefined8 **)(local_a0 + -2); if (((ulonglong)*ppuVar6 & 0x30000000) == 0) { LOCK(); uVar3 = *(uint *)ppuVar6; *(uint *)ppuVar6 = *(uint *)ppuVar6 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(ppuVar6); } } local_80 = FUN_18136f150(param_1,&local_60); if (((ulonglong)*ppuVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *(uint *)ppuVar1; *(uint *)ppuVar1 = *(uint *)ppuVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(ppuVar1); } } (**(code **)(*param_3 + 0x20))(param_3,&local_80,4); local_98 = (longlong *)*param_2; if (((ulonglong)local_98[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_98 + -2) = *(int *)(local_98 + -2) + 1; UNLOCK(); } local_58 = &local_98; FUN_181232e20(&local_98,"SampleLength",""); local_58 = (undefined8 **)local_98; ppuVar1 = (undefined8 **)(local_98 + -2); if (((ulonglong)*ppuVar1 & 0x30000000) == 0) { LOCK(); *(uint *)ppuVar1 = *(uint *)ppuVar1 + 1; UNLOCK(); } ppuVar6 = (undefined8 **)(local_98 + -2); if (((ulonglong)*ppuVar6 & 0x30000000) == 0) { LOCK(); uVar3 = *(uint *)ppuVar6; *(uint *)ppuVar6 = *(uint *)ppuVar6 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(ppuVar6); } } local_7c = FUN_18136f150(param_1,&local_58); if (((ulonglong)*ppuVar1 & 0x30000000) == 0) { LOCK(); uVar3 = *(uint *)ppuVar1; *(uint *)ppuVar1 = *(uint *)ppuVar1 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(ppuVar1); } } (**(code **)(*param_3 + 0x20))(param_3,&local_7c,4); local_78 = FUN_18136f060(param_1,param_2,"Purpose"); (**(code **)(*param_3 + 0x20))(param_3,&local_78,4); local_res10[0] = FUN_18136f060(param_1,param_2,"Country"); (**(code **)(*param_3 + 0x20))(param_3,local_res10,2); local_res18[0] = FUN_18136f060(param_1,param_2,"Language"); (**(code **)(*param_3 + 0x20))(param_3,local_res18,2); local_res20[0] = FUN_18136f060(param_1,param_2,"Dialect"); (**(code **)(*param_3 + 0x20))(param_3,local_res20,2); local_a8[0] = FUN_18136f060(param_1,param_2,"CodePage"); (**(code **)(*param_3 + 0x20))(param_3,local_a8,2); FUN_18124a3a0(param_3,local_70,(longlong)(int)local_74); if ((*(byte *)(param_3 + 7) & 1) != 0) { local_res8[0] = 0; (**(code **)(*param_3 + 0x20))(param_3,local_res8,1); } if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar3 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return; } ############ FUN_ 18136edc0 size=661 ############ void FUN_18136edc0(longlong param_1,longlong *param_2,undefined4 param_3,longlong *param_4) { uint *_Memory; undefined8 **_Memory_00; uint uVar1; int iVar2; longlong *plVar3; void *_Dst; uint *puVar4; undefined8 **_Memory_01; uint uVar5; undefined1 local_res8 [8]; undefined4 local_res10 [2]; undefined4 local_res18; int local_res20 [2]; undefined4 local_88 [2]; longlong local_80; longlong *local_78; void *local_70; longlong *local_68; undefined8 **local_60; undefined8 local_58; local_58 = 0xfffffffffffffffe; local_80 = *param_2; if ((*(uint *)(local_80 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_80 + -0x10) = *(int *)(local_80 + -0x10) + 1; UNLOCK(); } local_68 = &local_80; local_res18 = param_3; FUN_181232e20(&local_80,&DAT_182255e44,&DAT_182255e48); local_68 = (longlong *)local_80; _Memory = (uint *)(local_80 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar4 = (uint *)(local_80 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } iVar2 = FUN_1812498b0(param_1,local_80,*(undefined1 *)(param_1 + 0x20),0); if (iVar2 < 0) { local_70 = (void *)*param_2; puVar4 = (uint *)((longlong)local_70 + -0x10); uVar5 = *puVar4; } else { plVar3 = (longlong *)FUN_181249970(param_1 + 0x10,iVar2); local_70 = (void *)*plVar3; puVar4 = (uint *)((longlong)local_70 + -0x10); uVar5 = *puVar4; } if ((uVar5 & 0x30000000) == 0) { LOCK(); *puVar4 = *puVar4 + 1; UNLOCK(); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar5 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } iVar2 = FUN_18049d240(local_70); uVar5 = iVar2 + 1; local_res10[0] = local_res18; (**(code **)(*param_4 + 0x20))(param_4,local_res10,4); local_res20[0] = (uVar5 & 1) + 4 + uVar5; (**(code **)(*param_4 + 0x20))(param_4,local_res20,4); local_78 = (longlong *)*param_2; if (((ulonglong)local_78[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_78 + -2) = *(int *)(local_78 + -2) + 1; UNLOCK(); } local_60 = &local_78; FUN_181232e20(&local_78,"Identifier",""); local_60 = (undefined8 **)local_78; _Memory_00 = (undefined8 **)(local_78 + -2); if (((ulonglong)*_Memory_00 & 0x30000000) == 0) { LOCK(); *(uint *)_Memory_00 = *(uint *)_Memory_00 + 1; UNLOCK(); } _Memory_01 = (undefined8 **)(local_78 + -2); if (((ulonglong)*_Memory_01 & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)_Memory_01; *(uint *)_Memory_01 = *(uint *)_Memory_01 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_01); } } local_88[0] = FUN_18136f150(param_1,&local_60); if (((ulonglong)*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)_Memory_00; *(uint *)_Memory_00 = *(uint *)_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } (**(code **)(*param_4 + 0x20))(param_4,local_88,4); if (uVar5 != 0) { _Dst = (void *)FUN_181234e40(param_4,(longlong)(int)uVar5); if (_Dst != (void *)0x0) { memcpy(_Dst,local_70,(longlong)(int)uVar5); } } if ((*(byte *)(param_4 + 7) & 1) != 0) { local_res8[0] = 0; (**(code **)(*param_4 + 0x20))(param_4,local_res8,1); } if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return; } ############ FUN_ 18136f060 size=229 ############ void FUN_18136f060(undefined8 param_1,longlong *param_2,longlong param_3) { undefined8 **_Memory; uint uVar1; longlong lVar2; undefined8 **_Memory_00; longlong *local_res10; undefined8 **local_res18 [2]; local_res10 = (longlong *)*param_2; if (((ulonglong)local_res10[-2] & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -2) = *(int *)(local_res10 + -2) + 1; UNLOCK(); } local_res18[0] = &local_res10; lVar2 = -1; do { lVar2 = lVar2 + 1; } while (*(char *)(param_3 + lVar2) != '\0'); FUN_181232e20(&local_res10,param_3,lVar2 + param_3,param_3,0xfffffffffffffffe); local_res18[0] = (undefined8 **)local_res10; _Memory = (undefined8 **)(local_res10 + -2); if (((ulonglong)*_Memory & 0x30000000) == 0) { LOCK(); *(uint *)_Memory = *(uint *)_Memory + 1; UNLOCK(); } _Memory_00 = (undefined8 **)(local_res10 + -2); if (((ulonglong)*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)_Memory_00; *(uint *)_Memory_00 = *(uint *)_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } FUN_18136f150(param_1,local_res18); if (((ulonglong)*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *(uint *)_Memory; *(uint *)_Memory = *(uint *)_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 180545bb0 size=43 ############ undefined8 * FUN_180545bb0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180546810 size=43 ############ undefined8 * FUN_180546810(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180549ac0 size=52 ############ void * FUN_180549ac0(void *param_1,ulonglong param_2) { FUN_1813ba6c0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1813ba6c0 size=386 ############ void FUN_1813ba6c0(undefined8 *param_1) { int *piVar1; int iVar2; undefined8 *puVar3; longlong lVar4; void *pvVar5; void *_Memory; *param_1 = juce::AudioDeviceManager::vftable; puVar3 = (undefined8 *)param_1[0x1b]; param_1[0x1b] = 0; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } lVar4 = param_1[0x51]; param_1[0x51] = 0; if (lVar4 != 0) { FUN_180556130(); } puVar3 = (undefined8 *)param_1[0x65]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } puVar3 = (undefined8 *)param_1[100]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } puVar3 = (undefined8 *)param_1[99]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } if (param_1[0x5d] == 0) { DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)param_1 + 700)); DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x52)); if (param_1[0x51] != 0) { FUN_180556130(); } FUN_1804d1090(param_1 + 0x4f); FUN_18051a4c0(param_1 + 0x4d); if (param_1[0x4a] == 0) { FUN_180555c90(param_1 + 0x48); /* WARNING: Subroutine does not return */ free((void *)param_1[0x48]); } FUN_1805566d0(param_1[0x4a],param_1[0x4b]); pvVar5 = (void *)param_1[0x4a]; _Memory = pvVar5; if ((0xfff < (param_1[0x4c] - (longlong)pvVar5 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } /* WARNING: Subroutine does not return */ free(*(void **)(param_1[0x5d] + 0x18)); } ############ FUN_ 1805557c0 size=186 ############ void FUN_1805557c0(longlong *param_1) { void *_Dst; void *_Memory; int iVar1; longlong lVar2; longlong lVar3; iVar1 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar1) { lVar2 = (longlong)iVar1 * 8; lVar3 = lVar2; do { _Memory = *(void **)(lVar3 + *param_1); _Dst = (void *)(lVar2 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar1) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { FUN_180549b90(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } lVar2 = lVar2 + -8; lVar3 = lVar3 + -8; iVar1 = iVar1 + -1; } while (-1 < iVar1); } *(undefined4 *)((longlong)param_1 + 0xc) = 0; /* WARNING: Could not recover jumptable at 0x000180555873. Too many branches */ /* WARNING: Subroutine does not return */ /* WARNING: Treating indirect jump as call */ free((void *)*param_1); return; } ############ FUN_ 1805566d0 size=105 ############ void FUN_1805566d0(undefined8 *param_1,undefined8 *param_2) { void *_Memory; undefined8 *puVar1; while( true ) { if (param_1 == param_2) { return; } _Memory = (void *)*param_1; if (_Memory != (void *)0x0) break; param_1 = param_1 + 1; } puVar1 = *(undefined8 **)((longlong)_Memory + 0x10); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1804d1090(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180549e10 size=52 ############ void * FUN_180549e10(void *param_1,ulonglong param_2) { FUN_1813b6170(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180549f30 size=138 ############ undefined8 * FUN_180549f30(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; *param_1 = juce::MidiOutput::vftable; FUN_18122afa0(param_1,5000,param_3,param_4,0xfffffffffffffffe); puVar1 = (undefined8 *)param_1[0x42]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x43)); FUN_1804d1090(param_1 + 0x40); FUN_18122b690(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18054a070 size=52 ############ void * FUN_18054a070(void *param_1,ulonglong param_2) { FUN_1813baf40(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18054b220 size=52 ############ void * FUN_18054b220(void *param_1,ulonglong param_2) { FUN_18054a620(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18054b260 size=43 ############ undefined8 * FUN_18054b260(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18054b930 size=155 ############ undefined8 * FUN_18054b930(undefined8 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 uVar2; uVar2 = 0xfffffffffffffffe; *param_1 = juce::WasapiClasses::WASAPIOutputDevice::vftable; FUN_18054ab80(); if ((longlong *)param_1[0x1f] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[0x1f] + 0x10))(); } param_1[0x1f] = 0; puVar1 = (undefined8 *)param_1[0x20]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1,param_3,param_4,uVar2); } if ((longlong *)param_1[0x1f] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[0x1f] + 0x10))(); } FUN_18054a620(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1813b4890 size=157 ############ longlong * FUN_1813b4890(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { uint *_Memory; uint uVar1; longlong lVar2; int iVar3; LPVOID local_res10; longlong local_res18 [2]; *param_1 = (longlong)&DAT_1821dbf98; local_res10 = (LPVOID)0x0; iVar3 = (**(code **)(*param_2 + 0x28))(param_2,&local_res10,param_2,param_4,1,0xfffffffffffffffe); if (-1 < iVar3) { FUN_18049c800(local_res18,local_res10); lVar2 = *param_1; *param_1 = local_res18[0]; _Memory = (uint *)(lVar2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } CoTaskMemFree(local_res10); } return param_1; } ############ FUN_ 18054dd60 size=247 ############ void FUN_18054dd60(longlong *param_1) { uint uVar1; undefined8 *puVar2; uint *_Memory; undefined8 uVar3; longlong local_res8 [4]; puVar2 = (undefined8 *)param_1[0x49]; param_1[0x49] = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar2 = (undefined8 *)param_1[0x48]; param_1[0x48] = 0; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } FUN_18054bdc0(param_1); if ((param_1[0x49] == 0) || (*(char *)((longlong)param_1 + 0x2d4) == '\0')) { if ((param_1[0x48] == 0) || (*(char *)((longlong)param_1 + 0x2d4) != '\0')) { uVar3 = 0; } else { uVar3 = *(undefined8 *)(param_1[0x48] + 0x20); } } else { uVar3 = *(undefined8 *)(param_1[0x49] + 0x20); } (**(code **)(*param_1 + 0x30)) (param_1,local_res8,param_1 + 0x5b,param_1 + 0x60,uVar3, *(undefined4 *)((longlong)param_1 + 0x294)); _Memory = (uint *)(local_res8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } /* WARNING: Could not recover jumptable at 0x00018054de53. Too many branches */ /* WARNING: Treating indirect jump as call */ (**(code **)(*param_1 + 0x48))(param_1,param_1[0x54]); return; } ############ FUN_ 18054dea0 size=52 ############ void * FUN_18054dea0(void *param_1,ulonglong param_2) { FUN_18054bc10(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18054e490 size=217 ############ longlong * FUN_18054e490(longlong *param_1,longlong *param_2,char param_3) { uint *_Memory; uint uVar1; int iVar2; LPVOID local_res10 [2]; longlong *local_res20; longlong local_20 [3]; local_20[1] = 0xfffffffffffffffe; *param_1 = (longlong)&DAT_1821dbf98; local_res20 = (longlong *)0x0; iVar2 = (**(code **)(*param_2 + 0x20))(param_2,param_3 != '\0',1,&local_res20,1); if (-1 < iVar2) { local_res10[0] = (LPVOID)0x0; iVar2 = (**(code **)(*local_res20 + 0x28))(local_res20,local_res10); if (-1 < iVar2) { FUN_18049c800(local_20,local_res10[0]); local_20[2] = *param_1; *param_1 = local_20[0]; _Memory = (uint *)(local_20[2] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } CoTaskMemFree(local_res10[0]); } (**(code **)(*local_res20 + 0x10))(); } return param_1; } ############ FUN_ 18054efa0 size=52 ############ void * FUN_18054efa0(void *param_1,ulonglong param_2) { FUN_18054dee0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18054efe0 size=92 ############ undefined8 * FUN_18054efe0(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = (undefined8 *)param_1[2]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18054f040 size=809 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18054f040(ushort *param_1,undefined8 *param_2) { longlong lVar1; int iVar2; HWND pHVar3; undefined8 *puVar4; uint *_Memory; uint uVar5; undefined1 auStack_118 [32]; uint *local_f8; undefined8 local_f0; undefined8 local_e8; undefined4 local_e0; uint local_d8 [2]; void *local_d0; undefined1 *local_c8; undefined8 *local_c0; longlong *local_b8; undefined8 local_b0; undefined4 local_a8; undefined4 uStack_a4; undefined4 local_a0; undefined4 uStack_9c; undefined8 local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; ulonglong local_78; undefined4 *local_70; undefined8 local_68; undefined8 local_60; undefined4 local_58; int local_54; int local_50; undefined2 local_4c; ushort local_4a; undefined2 local_48; ulonglong local_40; local_b0 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_118; param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = 0; param_1[0x24] = 0; param_1[0x25] = 0; param_1[0x26] = 0; param_1[0x27] = 0; param_1[0x28] = 0; param_1[0x29] = 0; param_1[2] = 0; param_1[3] = 0; *(undefined1 *)(param_1 + 0x2e) = 1; param_1[0x30] = 0; param_1[0x31] = 0; param_1[0x32] = 0; param_1[0x33] = 0; local_c8 = &DAT_1821dbf98; iVar2 = -0x7fffbffe; local_c0 = param_2; if ((DAT_182678f30 != (code *)0x0) && (iVar2 = (*DAT_182678f30)(param_1 + 0xc,param_1 + 0x20,0), -1 < iVar2)) { uVar5 = *(int *)(param_1 + 0x16) * (*(int *)param_1 >> 2) & 0xfffffff0; *(uint *)(param_1 + 0x2c) = uVar5; *(longlong *)(param_1 + 0x34) = ((int)uVar5 * DAT_182673a08) / (longlong)((*(int *)param_1 >> 2) * *(int *)(param_1 + 0x14)); *(uint *)(param_1 + 0x2a) = uVar5 << 4; lVar1 = **(longlong **)(param_1 + 0x20); pHVar3 = GetDesktopWindow(); iVar2 = (**(code **)(lVar1 + 0x30))(*(undefined8 *)(param_1 + 0x20),pHVar3,2); if (-1 < iVar2) { uStack_9c = 0; local_90 = 0; local_88 = 0; local_a8 = 0x28; uStack_a4 = 1; local_a0 = 0; local_98 = 0; iVar2 = (**(code **)(**(longlong **)(param_1 + 0x20) + 0x18)) (*(longlong **)(param_1 + 0x20),&local_a8,&local_b8,0); if (-1 < iVar2) { local_58 = 0x20001; local_54 = *(int *)(param_1 + 0x14); local_4a = *param_1; local_50 = (int)((uint)local_4a * 2) >> 3; local_4c = (undefined2)local_50; local_50 = local_50 * local_54; local_48 = 0; iVar2 = (**(code **)(*local_b8 + 0x70))(local_b8,&local_58); if (-1 < iVar2) { local_68 = 0; local_60 = 0; local_80 = 0x1800000000028; local_78 = (ulonglong)*(uint *)(param_1 + 0x2a); local_70 = &local_58; iVar2 = (**(code **)(**(longlong **)(param_1 + 0x20) + 0x18)) (*(longlong **)(param_1 + 0x20),&local_80,param_1 + 0x24,0); if (-1 < iVar2) { local_e0 = 0; local_e8 = 0; local_f0 = 0; local_f8 = local_d8; iVar2 = (**(code **)(**(longlong **)(param_1 + 0x24) + 0x58)) (*(longlong **)(param_1 + 0x24),0,*(undefined4 *)(param_1 + 0x2a), &local_d0); if (-1 < iVar2) { memset(local_d0,0,(ulonglong)local_d8[0]); local_f8 = (uint *)((ulonglong)local_f8 & 0xffffffff00000000); iVar2 = (**(code **)(**(longlong **)(param_1 + 0x24) + 0x98)) (*(longlong **)(param_1 + 0x24),local_d0,local_d8[0],0); if (((-1 < iVar2) && (iVar2 = (**(code **)(**(longlong **)(param_1 + 0x24) + 0x68)) (*(longlong **)(param_1 + 0x24),0), -1 < iVar2)) && (iVar2 = (**(code **)(**(longlong **)(param_1 + 0x24) + 0x60)) (*(longlong **)(param_1 + 0x24),0,0,1), -1 < iVar2)) { *param_2 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) != 0) { } LOCK(); UNLOCK(); uVar5 = DAT_1821dbf88; goto LAB_18054f34c; } } } } } } } puVar4 = (undefined8 *)FUN_1813b43e0(&local_c0,iVar2); local_c8 = (undefined1 *)*puVar4; *puVar4 = &DAT_1821dbf98; _Memory = (uint *)(local_c0 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar5 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (*(longlong **)(param_1 + 0x24) != (longlong *)0x0) { (**(code **)(**(longlong **)(param_1 + 0x24) + 0x90))(); (**(code **)(**(longlong **)(param_1 + 0x24) + 0x10))(); param_1[0x24] = 0; param_1[0x25] = 0; param_1[0x26] = 0; param_1[0x27] = 0; } if (*(longlong **)(param_1 + 0x20) != (longlong *)0x0) { (**(code **)(**(longlong **)(param_1 + 0x20) + 0x10))(); param_1[0x20] = 0; param_1[0x21] = 0; param_1[0x22] = 0; param_1[0x23] = 0; } *param_2 = local_c8; if ((DAT_1821dbf88 & 0x30000000) != 0) { } LOCK(); UNLOCK(); uVar5 = DAT_1821dbf88; LAB_18054f34c: DAT_1821dbf88 = uVar5 - 1; if (uVar5 != 0) { } /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } ############ FUN_ 1805501d0 size=374 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805501d0(undefined4 *param_1,undefined8 *param_2) { uint *_Memory; int iVar1; uint uVar2; undefined1 auStack_98 [32]; undefined8 *local_78; undefined8 local_70; ulonglong local_68; undefined4 *local_60; undefined8 local_58; undefined4 local_50; int local_4c; int local_48; ushort local_44; ushort local_42; undefined2 local_40; ulonglong local_38; local_58 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; *(undefined8 *)(param_1 + 0x12) = 0; *(undefined8 *)(param_1 + 0x14) = 0; *(undefined8 *)(param_1 + 0x16) = 0; *param_1 = 0; param_1[2] = 0; local_78 = param_2; if (DAT_182678f40 == (code *)0x0) { iVar1 = -0x7fffbffe; } else { iVar1 = (*DAT_182678f40)(param_1 + 8,param_1 + 0x14,0); if (-1 < iVar1) { uVar2 = param_1[0xd] * ((int)param_1[3] >> 2) & 0xfffffff0; param_1[1] = uVar2; uVar2 = uVar2 << 4; param_1[2] = uVar2; local_50 = 0x20001; local_4c = param_1[0xc]; local_42 = *(ushort *)(param_1 + 3); local_44 = (local_42 >> 3) * 2; local_48 = (uint)local_44 * local_4c; local_40 = 0; local_70 = 0x18; local_68 = (ulonglong)uVar2; local_60 = &local_50; iVar1 = (**(code **)(**(longlong **)(param_1 + 0x14) + 0x18)) (*(longlong **)(param_1 + 0x14),&local_70,param_1 + 0x16,0); if ((-1 < iVar1) && (iVar1 = (**(code **)(**(longlong **)(param_1 + 0x16) + 0x48)) (*(longlong **)(param_1 + 0x16),1), -1 < iVar1)) { *param_2 = &DAT_1821dbf98; } } } FUN_1813b43e0(&local_78,iVar1); FUN_180550170(param_1); *param_2 = local_78; _Memory = (uint *)(local_78 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar2 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 180550dc0 size=171 ############ undefined8 * FUN_180550dc0(longlong param_1,undefined8 *param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined4 param_6) { uint uVar1; undefined8 uVar2; char *pcVar3; undefined8 *puVar4; uint *_Memory; undefined8 *local_res10; local_res10 = param_2; puVar4 = (undefined8 *)FUN_1813b33b0(param_5,&local_res10,param_3,param_4,param_5,param_6); uVar2 = *(undefined8 *)(param_1 + 0x248); *(undefined8 *)(param_1 + 0x248) = *puVar4; *puVar4 = uVar2; _Memory = (uint *)(local_res10 + -2); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } pcVar3 = *(char **)(param_1 + 0x248); *param_2 = pcVar3; *(bool *)(param_1 + 0x240) = *pcVar3 == '\0'; if ((*(uint *)(pcVar3 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pcVar3 + -0x10) = *(int *)(pcVar3 + -0x10) + 1; UNLOCK(); } return param_2; } ############ FUN_ 1805525c0 size=43 ############ undefined8 * FUN_1805525c0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::MidiServiceType::InputWrapper::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805525f0 size=43 ############ undefined8 * FUN_1805525f0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::MidiServiceType::OutputWrapper::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180552620 size=43 ############ undefined8 * FUN_180552620(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::MidiServiceType::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180555de0 size=327 ############ undefined8 * FUN_180555de0(longlong *param_1,undefined8 *param_2) { uint uVar1; bool bVar2; bool bVar3; undefined1 **ppuVar4; uint *puVar5; undefined1 *local_28; undefined1 *local_20; undefined1 *local_18; longlong local_10; if (*(int *)((longlong)param_1 + 0xc) < 1) { bVar3 = false; bVar2 = true; local_28 = &DAT_1821dbf98; local_20 = &DAT_1821dbf98; ppuVar4 = &local_28; } else { param_1 = (longlong *)*param_1; bVar3 = true; bVar2 = false; local_18 = (undefined1 *)*param_1; if ((*(uint *)(local_18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_18 + -0x10) = *(int *)(local_18 + -0x10) + 1; UNLOCK(); } local_10 = param_1[1]; if ((*(uint *)(local_10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_10 + -0x10) = *(int *)(local_10 + -0x10) + 1; UNLOCK(); } ppuVar4 = &local_18; } *param_2 = *ppuVar4; *ppuVar4 = &DAT_1821dbf98; param_2[1] = ppuVar4[1]; ppuVar4[1] = &DAT_1821dbf98; if (bVar2) { puVar5 = (uint *)(local_20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_28 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } if (bVar3) { puVar5 = (uint *)(local_10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } return param_2; } ############ FUN_ 180555f30 size=334 ############ undefined8 * FUN_180555f30(longlong *param_1,undefined8 *param_2,uint param_3) { uint uVar1; bool bVar2; bool bVar3; undefined1 **ppuVar4; uint *puVar5; longlong *plVar6; undefined1 *local_28; undefined1 *local_20; undefined1 *local_18; longlong local_10; if (param_3 < *(uint *)((longlong)param_1 + 0xc)) { bVar3 = true; bVar2 = false; plVar6 = (longlong *)((longlong)(int)param_3 * 0x10 + *param_1); local_18 = (undefined1 *)*plVar6; if ((*(uint *)(local_18 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_18 + -0x10) = *(int *)(local_18 + -0x10) + 1; UNLOCK(); } local_10 = plVar6[1]; if ((*(uint *)(local_10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_10 + -0x10) = *(int *)(local_10 + -0x10) + 1; UNLOCK(); } ppuVar4 = &local_18; } else { bVar3 = false; bVar2 = true; local_28 = &DAT_1821dbf98; local_20 = &DAT_1821dbf98; ppuVar4 = &local_28; } *param_2 = *ppuVar4; *ppuVar4 = &DAT_1821dbf98; param_2[1] = ppuVar4[1]; ppuVar4[1] = &DAT_1821dbf98; if (bVar2) { puVar5 = (uint *)(local_20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_28 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } if (bVar3) { puVar5 = (uint *)(local_10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } } return param_2; } ############ FUN_ 1805543a0 size=92 ############ undefined8 * FUN_1805543a0(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = (undefined8 *)param_1[2]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } *param_1 = juce::MidiServiceType::OutputWrapper::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180554400 size=108 ############ undefined8 * FUN_180554400(undefined8 *param_1,uint param_2) { undefined8 *puVar1; *param_1 = juce::MidiService::vftable; if (DAT_182673e90 == param_1) { DAT_182673e90 = (undefined8 *)0x0; } puVar1 = (undefined8 *)param_1[1]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1812a7170(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180555a60 size=43 ############ undefined8 * FUN_180555a60(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180555a90 size=43 ############ undefined8 * FUN_180555a90(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180556520 size=425 ############ longlong FUN_180556520(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; undefined8 uVar2; void *pvVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; ulonglong uVar7; longlong lVar8; undefined8 *puVar9; void *_Memory; undefined8 *puVar10; longlong lVar11; ulonglong uVar12; lVar8 = *param_1; lVar11 = (longlong)param_2 - lVar8 >> 3; lVar4 = param_1[1] - lVar8 >> 3; if (lVar4 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar7 = param_1[2] - lVar8 >> 3; uVar1 = lVar4 + 1; uVar5 = uVar1; if ((uVar7 <= 0x1fffffffffffffff - (uVar7 >> 1)) && (uVar5 = (uVar7 >> 1) + uVar7, uVar5 < uVar1)) { uVar5 = uVar1; } lVar8 = uVar5 * 8; if (0x1fffffffffffffff < uVar5) { lVar8 = -1; } puVar6 = (undefined8 *)FUN_180480500(lVar8); uVar2 = *param_3; uVar7 = 0; *param_3 = 0; puVar6[lVar11] = uVar2; puVar9 = (undefined8 *)param_1[1]; puVar10 = (undefined8 *)*param_1; if (param_2 == puVar9) { uVar12 = (ulonglong)((longlong)puVar9 + (7 - (longlong)puVar10)) >> 3; if (puVar9 < puVar10) { uVar12 = uVar7; } puVar9 = puVar6; if (uVar12 != 0) { do { uVar2 = *puVar10; uVar7 = uVar7 + 1; *puVar10 = 0; puVar10 = puVar10 + 1; *puVar9 = uVar2; puVar9 = puVar9 + 1; } while (uVar7 != uVar12); } FUN_1805566d0(puVar9,puVar9); } else { FUN_180556b40(uVar2,puVar10,param_2,puVar6); FUN_180556b40(); } if (*param_1 == 0) { *param_1 = (longlong)puVar6; param_1[1] = (longlong)(puVar6 + uVar1); param_1[2] = (longlong)(puVar6 + uVar5); return *param_1 + lVar11 * 8; } FUN_1805566d0(*param_1,param_1[1]); pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (param_1[2] - (longlong)pvVar3 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805577c0 size=101 ############ undefined8 * FUN_1805577c0(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; *param_1 = Interpolator::vftable; plVar1 = (longlong *)param_1[10]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 3); param_1[10] = 0; } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805578b0 size=101 ############ undefined8 * FUN_1805578b0(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; *param_1 = Interpolator::vftable; plVar1 = (longlong *)param_1[10]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 3); param_1[10] = 0; } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180557c90 size=251 ############ undefined8 * FUN_180557c90(undefined8 *param_1,ulonglong param_2) { uint uVar1; uint *puVar2; *param_1 = juce::FileBasedDocument::vftable; puVar2 = (uint *)(param_1[0xc] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[0xb] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[10] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[9] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(param_1[7] + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } FUN_1812a5870(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055c880 size=198 ############ void FUN_18055c880(longlong *param_1) { void *_Dst; uint uVar1; longlong *_Memory; uint *_Memory_00; int iVar2; longlong lVar3; longlong lVar4; iVar2 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar2) { lVar3 = (longlong)iVar2 * 8; lVar4 = lVar3; do { _Memory = *(longlong **)(lVar4 + *param_1); _Dst = (void *)(lVar3 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar2) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (longlong *)0x0) { _Memory_00 = (uint *)(*_Memory + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } /* WARNING: Subroutine does not return */ free(_Memory); } lVar3 = lVar3 + -8; lVar4 = lVar4 + -8; iVar2 = iVar2 + -1; } while (-1 < iVar2); } return; } ############ FUN_ 180558130 size=86 ############ void * FUN_180558130(void *param_1,uint param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0x10) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180558200 size=86 ############ void * FUN_180558200(void *param_1,uint param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0x18) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180558eb0 size=368 ############ void FUN_180558eb0(undefined8 *param_1,int param_2) { uint uVar1; byte bVar2; undefined8 uVar3; int iVar4; undefined8 *puVar5; byte *pbVar6; uint *puVar7; undefined8 *puVar8; int iVar9; undefined8 *puVar10; longlong local_res8 [2]; longlong local_res18; undefined8 local_res20; iVar9 = 0; puVar10 = (undefined8 *)*param_1; puVar8 = puVar10 + (longlong)*(int *)((longlong)param_1 + 0xc) * 2; while( true ) { if (puVar10 == puVar8) { return; } iVar4 = FUN_18049bc80(*puVar10,9); if (-1 < iVar4) break; LAB_180559006: iVar9 = iVar9 + *(int *)(puVar10 + 1); puVar10 = puVar10 + 2; } LAB_180558f00: puVar5 = (undefined8 *) FUN_181231fc0(&local_res18,&DAT_1824af8b8,param_2 - (iVar4 + iVar9) % param_2); local_res20 = *puVar5; puVar5 = (undefined8 *)FUN_181231b00(puVar10,local_res8,iVar4,1,local_res20); uVar3 = *puVar10; *puVar10 = *puVar5; *puVar5 = uVar3; puVar7 = (uint *)(local_res8[0] + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } puVar7 = (uint *)(local_res18 + -0x10); if ((*puVar7 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar7; *puVar7 = *puVar7 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar7); } } pbVar6 = (byte *)*puVar10; iVar4 = 0; LAB_180558fb0: do { bVar2 = *pbVar6; pbVar6 = pbVar6 + 1; if ((char)bVar2 < '\0') { if ((*pbVar6 & 0xc0) == 0x80) { do { pbVar6 = pbVar6 + 1; } while ((*pbVar6 & 0xc0) == 0x80); iVar4 = iVar4 + 1; goto LAB_180558fb0; } } else if (bVar2 == 0) break; iVar4 = iVar4 + 1; } while( true ); *(int *)(puVar10 + 1) = iVar4; iVar4 = FUN_18049bc80(*puVar10,9); if (iVar4 < 0) goto LAB_180559006; goto LAB_180558f00; } ############ FUN_ 18055c6a0 size=269 ############ void FUN_18055c6a0(longlong *param_1,int param_2) { int iVar1; longlong lVar2; void *_Memory; void *pvVar3; undefined8 *puVar4; int *_Memory_00; uint uVar5; undefined4 *puVar6; int iVar7; if ((int)*(uint *)(param_1 + 1) < param_2) { uVar5 = param_2 + 8 + param_2 / 2 & 0xfffffff8; if (*(uint *)(param_1 + 1) != uVar5) { if ((int)uVar5 < 1) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } pvVar3 = malloc((longlong)(int)uVar5 << 4); iVar7 = 0; if (0 < *(int *)((longlong)param_1 + 0xc)) { puVar6 = (undefined4 *)((longlong)pvVar3 + 0xc); do { puVar4 = (undefined8 *)((longlong)puVar6 + *param_1 + (-0xc - (longlong)pvVar3)); *(undefined8 *)(puVar6 + -3) = *puVar4; *puVar4 = &DAT_1821dbf98; puVar6[-1] = *(undefined4 *)(puVar4 + 1); *puVar6 = *(undefined4 *)((longlong)puVar4 + 0xc); lVar2 = *(longlong *)((longlong)puVar6 + *param_1 + (-0xc - (longlong)pvVar3)); _Memory_00 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } iVar7 = iVar7 + 1; puVar6 = puVar6 + 4; } while (iVar7 < *(int *)((longlong)param_1 + 0xc)); } _Memory = (void *)*param_1; *param_1 = (longlong)pvVar3; /* WARNING: Subroutine does not return */ free(_Memory); } *(uint *)(param_1 + 1) = uVar5; } return; } ############ FUN_ 1805592e0 size=52 ############ void * FUN_1805592e0(void *param_1,ulonglong param_2) { FUN_1813c6260(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055c7d0 size=169 ############ void FUN_18055c7d0(longlong *param_1) { void *_Dst; void *_Memory; int iVar1; longlong lVar2; longlong lVar3; iVar1 = *(int *)((longlong)param_1 + 0xc) + -1; if (-1 < iVar1) { lVar2 = (longlong)iVar1 * 8; lVar3 = lVar2; do { _Memory = *(void **)(lVar3 + *param_1); _Dst = (void *)(lVar2 + *param_1); memmove(_Dst,(void *)((longlong)_Dst + 8), (longlong)((*(int *)((longlong)param_1 + 0xc) - iVar1) + -1) << 3); *(int *)((longlong)param_1 + 0xc) = *(int *)((longlong)param_1 + 0xc) + -1; if (_Memory != (void *)0x0) { FUN_18051a4c0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } lVar2 = lVar2 + -8; lVar3 = lVar3 + -8; iVar1 = iVar1 + -1; } while (-1 < iVar1); } return; } ############ FUN_ 180559320 size=43 ############ undefined8 * FUN_180559320(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::CPlusPlusCodeTokeniser::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180559350 size=43 ############ undefined8 * FUN_180559350(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::XmlTokeniser::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180559380 size=43 ############ undefined8 * FUN_180559380(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::LuaTokeniser::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1812a1ea0 size=343 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1812a1ea0(uint *param_1,longlong param_2,char param_3) { char cVar1; undefined4 *puVar2; undefined8 uVar3; uint *puVar4; uint uVar5; ulonglong uVar6; char *_Src; undefined1 auStack_88 [32]; undefined4 *local_68; longlong local_60 [5]; char local_32 [2]; undefined8 local_30; local_60[1] = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_88; uVar5 = 0xffffff; if (param_3 != '\0') { uVar5 = 0xffffffff; } uVar5 = uVar5 & *param_1; _Src = local_32 + 1; local_32[1] = 0; do { _Src = _Src + -1; cVar1 = "0123456789abcdef"[uVar5 & 0xf]; *_Src = cVar1; uVar5 = uVar5 >> 4; } while (uVar5 != 0); local_60[0] = param_2; if (cVar1 == '\0') { local_68 = (undefined4 *)&DAT_1821dbf98; } else { uVar6 = (longlong)&local_30 + -(longlong)_Src + 3 & 0xfffffffffffffffc; puVar2 = (undefined4 *)thunk_FUN_1811316e0(uVar6 + 0x17); LOCK(); *puVar2 = 0; UNLOCK(); *(ulonglong *)(puVar2 + 2) = uVar6; puVar2 = puVar2 + 4; memcpy(puVar2,_Src,(size_t)(local_32 + -(longlong)_Src + 1)); *(char *)((longlong)puVar2 + (longlong)(local_32 + -(longlong)_Src + 1)) = '\0'; local_68 = puVar2; } uVar3 = FUN_181231e80(&local_68,local_60); FUN_181230f50(uVar3,param_2); puVar4 = (uint *)(local_60[0] + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = local_68 + -4; if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar5 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar5 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } ############ FUN_ 181230f50 size=520 ############ /* WARNING: Removing unreachable block (ram,0x00018123106a) */ undefined8 * FUN_181230f50(undefined8 *param_1,undefined8 *param_2) { byte bVar1; byte bVar2; int iVar3; wint_t wVar4; ulonglong uVar5; byte bVar6; uint uVar7; uint uVar8; int iVar9; longlong lVar10; bool bVar11; undefined1 *local_30; byte *local_28; undefined1 *local_20; ulonglong local_18; ulonglong local_10; local_28 = (byte *)*param_1; local_30 = &DAT_1821dbf98; local_20 = (undefined1 *)0x0; local_18 = *(ulonglong *)(local_28 + -8); local_10 = 0; FUN_1812342b0(&local_30); local_20 = local_30; do { bVar1 = *local_28; wVar4 = (wint_t)bVar1; if ((char)bVar1 < '\0') { uVar8 = 0x7f; uVar7 = 0x40; iVar9 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar7 < 9) break; uVar8 = uVar8 >> 1; iVar9 = iVar9 + 1; uVar7 = uVar7 >> 1; } while ((bVar1 & uVar7) != 0); } uVar8 = bVar1 & uVar8; wVar4 = (wint_t)uVar8; lVar10 = 1; if (0 < (longlong)iVar9) { do { wVar4 = (wint_t)uVar8; if ((local_28[lVar10] & 0xc0) != 0x80) break; uVar8 = local_28[lVar10] & 0x3f | uVar8 << 6; wVar4 = (wint_t)uVar8; lVar10 = lVar10 + 1; } while (lVar10 <= iVar9); } } wVar4 = towupper(wVar4); lVar10 = 1; if ((0x7f < wVar4) && (lVar10 = 2, 0x7ff < wVar4)) { lVar10 = 3; } local_10 = local_10 + lVar10; if (local_18 < local_10) { uVar5 = 8; if (8 < local_18 >> 4) { uVar5 = local_18 >> 4; } local_18 = local_18 + uVar5; iVar3 = (int)local_30; iVar9 = (int)local_20; FUN_1812342b0(&local_30); local_20 = local_30 + (iVar9 - iVar3); } FUN_180493180(&local_20,wVar4); if (wVar4 == 0) { *param_2 = local_30; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar7 = DAT_1821dbf88 - 1; UNLOCK(); bVar11 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar7; if (bVar11) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return param_2; } bVar1 = *local_28; local_28 = local_28 + 1; if ((char)bVar1 < '\0') { bVar6 = 0x40; bVar2 = bVar1 & 0x40; while ((bVar2 != 0 && (8 < bVar6))) { local_28 = local_28 + 1; bVar6 = bVar6 >> 1; bVar2 = bVar1 & bVar6; } } } while( true ); } ############ FUN_ 180559dd0 size=175 ############ undefined8 * FUN_180559dd0(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; *param_1 = juce::KeyMappingEditorComponent::vftable; FUN_1812d8df0(param_1 + 0x17,0,param_3,param_4,0xfffffffffffffffe); puVar1 = (undefined8 *)param_1[0x76]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } param_1[0x3d] = juce::TextButton::vftable; param_1[0x53] = juce::TextButton::vftable; FUN_181337760(); FUN_1812d8f00(param_1 + 0x17); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180559e80 size=141 ############ undefined8 * FUN_180559e80(undefined8 *param_1,ulonglong param_2) { uint uVar1; undefined8 *puVar2; uint *_Memory; *param_1 = juce::PreferencesPanel::vftable; FUN_180485f00(param_1 + 0x18); puVar2 = (undefined8 *)param_1[0x17]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Memory = (uint *)(param_1[0x16] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180559f80 size=189 ############ undefined8 * FUN_180559f80(undefined8 *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; *param_1 = juce::SplashScreen::vftable; param_1[0x16] = juce::SplashScreen::vftable; param_1[0x19] = juce::SplashScreen::vftable; puVar3 = (undefined8 *)param_1[0x1a]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_1812a7170(param_1 + 0x19); param_1[0x16] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x16); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055a040 size=77 ############ undefined8 * FUN_18055a040(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::SystemTrayIconComponent::vftable; FUN_18055c400(param_1 + 0x16); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055a090 size=43 ############ undefined8 * FUN_18055a090(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055a110 size=84 ############ undefined8 * FUN_18055a110(undefined8 *param_1,ulonglong param_2) { if ((longlong *)param_1[3] != (longlong *)0x0) { (**(code **)(*(longlong *)param_1[3] + 0x10))(); } *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055a1f0 size=122 ############ undefined8 * FUN_18055a1f0(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; code *pcVar3; *param_1 = juce::ActiveXHelpers::JuceIOleInPlaceSite::vftable; plVar2 = (longlong *)param_1[3]; pcVar3 = (code *)((undefined **)*plVar2)[2]; if ((undefined **)*plVar2 == juce::ActiveXHelpers::JuceOleInPlaceFrame::vftable) { plVar1 = plVar2 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (*(code *)juce::ActiveXHelpers::JuceOleInPlaceFrame::vftable[0xf]) (plVar2,1,pcVar3,param_4,0xfffffffffffffffe); } } else { (*pcVar3)(); } *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055a380 size=122 ############ undefined8 * FUN_18055a380(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; code *pcVar3; *param_1 = juce::ActiveXHelpers::JuceIOleClientSite::vftable; plVar2 = (longlong *)param_1[2]; pcVar3 = (code *)((undefined **)*plVar2)[2]; if ((undefined **)*plVar2 == juce::ActiveXHelpers::JuceIOleInPlaceSite::vftable) { plVar1 = plVar2 + 1; *(int *)plVar1 = (int)*plVar1 + -1; if ((int)*plVar1 == 0) { (*(code *)juce::ActiveXHelpers::JuceIOleInPlaceSite::vftable[0xf]) (plVar2,1,pcVar3,param_4,0xfffffffffffffffe); } } else { (*pcVar3)(); } *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055adc0 size=52 ############ void * FUN_18055adc0(void *param_1,ulonglong param_2) { FUN_18055a400(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055ae00 size=52 ############ void * FUN_18055ae00(void *param_1,ulonglong param_2) { FUN_1813bdce0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055b210 size=709 ############ undefined8 FUN_18055b210(longlong param_1,int param_2) { uint uVar1; ushort *puVar2; char cVar3; DWORD DVar4; uint *puVar5; undefined8 uVar6; longlong *in_stack_00000030; HLOCAL local_48; longlong local_40; longlong local_38; longlong local_30; longlong local_28 [4]; local_28[1] = 0xfffffffffffffffe; if (param_2 == 0xfa) { puVar2 = *(ushort **)(*in_stack_00000030 + 0x80); if ((*puVar2 & 0x4000) == 0) { uVar6 = *(undefined8 *)(puVar2 + 4); } else { uVar6 = **(undefined8 **)(puVar2 + 4); } FUN_18049c800(&local_40,uVar6); cVar3 = (**(code **)(**(longlong **)(param_1 + 0x50) + 0x158))(); **(short **)(*in_stack_00000030 + 8) = (cVar3 != '\0') - 1; } else { if (param_2 == 0x111) { local_28[2] = *(undefined8 *)(*in_stack_00000030 + 8); FUN_18049c800(&local_38); (**(code **)(**(longlong **)(param_1 + 0x50) + 0x178)) (*(longlong **)(param_1 + 0x50),&local_38); puVar5 = (uint *)(local_38 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } **(undefined2 **)(*in_stack_00000030 + 0x50) = 0xffff; return 0; } if (param_2 != 0x103) { if (param_2 != 0x10f) { if (param_2 != 0x107) { return 0x80004001; } (**(code **)(**(longlong **)(param_1 + 0x50) + 0x170))(); if ((int)in_stack_00000030[2] == 0) { return 0; } if (*(short *)*in_stack_00000030 != 0x400b) { return 0; } **(undefined2 **)((short *)*in_stack_00000030 + 4) = 0xffff; return 0; } DVar4 = *(DWORD *)(*(longlong *)(*in_stack_00000030 + 0x20) + 8); **(undefined2 **)(*in_stack_00000030 + 8) = 0; if (-1 < (int)DVar4) { return 0; } local_48 = (HLOCAL)0x0; DVar4 = FormatMessageW(0x1300,(LPCVOID)0x0,DVar4,0x400,(LPWSTR)&local_48,0,(va_list *)0x0); FUN_18049cc00(local_28,local_48,DVar4); LocalFree(local_48); cVar3 = (**(code **)(**(longlong **)(param_1 + 0x50) + 0x168)) (*(longlong **)(param_1 + 0x50),local_28); if (cVar3 == '\0') { **(undefined2 **)(*in_stack_00000030 + 8) = 0xffff; } puVar5 = (uint *)(local_28[0] + -0x10); if ((*puVar5 & 0x30000000) != 0) { return 0; } LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); goto LAB_18055b2b3; } puVar2 = *(ushort **)(*in_stack_00000030 + 8); if ((*puVar2 & 0x4000) == 0) { uVar6 = *(undefined8 *)(puVar2 + 4); } else { uVar6 = **(undefined8 **)(puVar2 + 4); } FUN_18049c800(&local_30,uVar6); (**(code **)(**(longlong **)(param_1 + 0x50) + 0x160))(*(longlong **)(param_1 + 0x50),&local_30) ; local_40 = local_30; } puVar5 = (uint *)(local_40 + -0x10); if ((*puVar5 & 0x30000000) != 0) { return 0; } LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); LAB_18055b2b3: if (uVar1 != 0) { return 0; } /* WARNING: Subroutine does not return */ free(puVar5); } ############ FUN_ 18055b4f0 size=66 ############ undefined8 * FUN_18055b4f0(undefined8 *param_1,ulonglong param_2) { FUN_181322ab0(param_1 + 2); *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1813c2bd0 size=509 ############ undefined8 FUN_1813c2bd0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; byte bVar2; char cVar3; int iVar4; undefined4 uVar5; int iVar6; undefined8 uVar7; undefined8 *puVar8; uint *puVar9; byte *pbVar10; byte *local_res8; undefined1 *local_res10; longlong local_res18; longlong local_res20; if ((*(uint *)(param_1 + 0x114) < *(uint *)((longlong)*(longlong **)(param_1 + 0x108) + 0xc)) && (puVar8 = *(undefined8 **) (**(longlong **)(param_1 + 0x108) + (longlong)(int)*(uint *)(param_1 + 0x114) * 8), puVar8 != (undefined8 *)0x0)) { local_res10 = (undefined1 *)*puVar8; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } } else { local_res10 = &DAT_1821dbf98; } FUN_1812487f0(&local_res10,&local_res8,&DAT_1821e4964,param_4,0xfffffffffffffffe); puVar9 = (uint *)(local_res10 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } iVar4 = *(int *)(param_1 + 0x118); if (*local_res8 != 0) { iVar6 = 0; pbVar10 = local_res8; while( true ) { while( true ) { bVar2 = *pbVar10; pbVar10 = pbVar10 + 1; if (-1 < (char)bVar2) break; if ((*pbVar10 & 0xc0) != 0x80) goto LAB_1813c2cc7; do { pbVar10 = pbVar10 + 1; } while ((*pbVar10 & 0xc0) == 0x80); iVar6 = iVar6 + 1; } if (bVar2 == 0) break; LAB_1813c2cc7: iVar6 = iVar6 + 1; } if (iVar6 == iVar4) { uVar5 = *(undefined4 *)(param_1 + 0x114); iVar6 = FUN_1813c0b30(param_1,uVar5,iVar4); iVar6 = FUN_1813c09e0(param_1,uVar5,(iVar6 - (iVar6 + -1) % *(int *)(param_1 + 0xdc)) + -1); uVar7 = FUN_1812490c0(&local_res8,&local_res20,iVar6,iVar4); puVar8 = (undefined8 *)FUN_181248e40(uVar7,&local_res18); cVar3 = *(char *)*puVar8; puVar9 = (uint *)(local_res18 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } puVar9 = (uint *)(local_res20 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } if (cVar3 == '\0') { FUN_1813c81f0(param_1 + 0x120,iVar6 - iVar4); uVar7 = 1; goto LAB_1813c2da1; } } } uVar7 = 0; LAB_1813c2da1: puVar9 = (uint *)(local_res8 + -0x10); if ((*puVar9 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar9; *puVar9 = *puVar9 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar9); } } return uVar7; } ############ FUN_ 1813c09e0 size=315 ############ int FUN_1813c09e0(longlong param_1,uint param_2,int param_3) { byte bVar1; undefined8 *puVar2; uint uVar3; byte *pbVar4; uint uVar5; int iVar6; byte *pbVar7; int iVar8; int iVar9; if ((param_2 < *(uint *)((longlong)*(longlong **)(param_1 + 200) + 0xc)) && (puVar2 = *(undefined8 **)(**(longlong **)(param_1 + 200) + (longlong)(int)param_2 * 8), puVar2 != (undefined8 *)0x0)) { pbVar7 = (byte *)*puVar2; if ((*(uint *)(pbVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar7 + -0x10) = *(int *)(pbVar7 + -0x10) + 1; UNLOCK(); } } else { pbVar7 = &DAT_1821dbf98; } iVar6 = 0; iVar9 = 0; bVar1 = *pbVar7; pbVar4 = pbVar7; while (bVar1 != 0) { bVar1 = *pbVar4; pbVar4 = pbVar4 + 1; uVar5 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar3 = 0x40; iVar8 = 0; uVar5 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar3 < 9) break; uVar5 = uVar5 >> 1; iVar8 = iVar8 + 1; uVar3 = uVar3 >> 1; } while ((bVar1 & uVar3) != 0); } uVar5 = bVar1 & uVar5; for (; (iVar8 = iVar8 + -1, -1 < iVar8 && ((*pbVar4 & 0xc0) == 0x80)); pbVar4 = pbVar4 + 1) { uVar5 = *pbVar4 & 0x3f | uVar5 << 6; } } if (uVar5 == 9) { iVar9 = iVar9 + (*(int *)(param_1 + 0xdc) - iVar9 % *(int *)(param_1 + 0xdc)); } else { iVar9 = iVar9 + 1; } if (param_3 < iVar9) break; iVar6 = iVar6 + 1; bVar1 = *pbVar4; } pbVar4 = pbVar7 + -0x10; if ((*(uint *)(pbVar7 + -0x10) & 0x30000000) == 0) { LOCK(); iVar9 = *(int *)pbVar4; *(int *)pbVar4 = *(int *)pbVar4 + -1; UNLOCK(); if (iVar9 == 0) { /* WARNING: Subroutine does not return */ free(pbVar4); } } return iVar6; } ############ FUN_ 1813c0b30 size=311 ############ int FUN_1813c0b30(longlong param_1,uint param_2,int param_3) { byte bVar1; undefined8 *puVar2; uint uVar3; byte *pbVar4; uint uVar5; int iVar6; byte *pbVar7; int iVar8; int iVar9; if ((param_2 < *(uint *)((longlong)*(longlong **)(param_1 + 200) + 0xc)) && (puVar2 = *(undefined8 **)(**(longlong **)(param_1 + 200) + (longlong)(int)param_2 * 8), puVar2 != (undefined8 *)0x0)) { pbVar7 = (byte *)*puVar2; if ((*(uint *)(pbVar7 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(pbVar7 + -0x10) = *(int *)(pbVar7 + -0x10) + 1; UNLOCK(); } } else { pbVar7 = &DAT_1821dbf98; } iVar6 = 0; iVar9 = 0; pbVar4 = pbVar7; if (0 < param_3) { do { bVar1 = *pbVar4; if (bVar1 == 0) break; pbVar4 = pbVar4 + 1; uVar5 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar3 = 0x40; iVar8 = 0; uVar5 = 0x7f; if ((bVar1 & 0x40) != 0) { do { if (uVar3 < 9) break; uVar5 = uVar5 >> 1; iVar8 = iVar8 + 1; uVar3 = uVar3 >> 1; } while ((bVar1 & uVar3) != 0); } uVar5 = bVar1 & uVar5; for (; (iVar8 = iVar8 + -1, -1 < iVar8 && ((*pbVar4 & 0xc0) == 0x80)); pbVar4 = pbVar4 + 1) { uVar5 = *pbVar4 & 0x3f | uVar5 << 6; } } if (uVar5 == 9) { iVar6 = iVar6 + (*(int *)(param_1 + 0xdc) - iVar6 % *(int *)(param_1 + 0xdc)); } else { iVar6 = iVar6 + 1; } iVar9 = iVar9 + 1; } while (iVar9 < param_3); } pbVar4 = pbVar7 + -0x10; if ((*(uint *)(pbVar7 + -0x10) & 0x30000000) == 0) { LOCK(); iVar9 = *(int *)pbVar4; *(int *)pbVar4 = *(int *)pbVar4 + -1; UNLOCK(); if (iVar9 == 0) { /* WARNING: Subroutine does not return */ free(pbVar4); } } return iVar6; } ############ FUN_ 1813c40f0 size=171 ############ void FUN_1813c40f0(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4) { uint *_Memory; uint uVar1; char *local_res8 [4]; local_res8[0] = ""; if ((char)param_1[0x1f] == '\0') { FUN_1813c7b70(param_1[0x19],(int)param_1[0x25],(int)param_1[0x28],param_4,0xfffffffffffffffe); if (*local_res8[0] != '\0') { FUN_1813c6950(param_1[0x19],local_res8,(int)param_1[0x22],1); } FUN_1813c4cd0(param_1); (**(code **)(*param_1 + 400))(param_1); } _Memory = (uint *)(local_res8[0] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1813c7aa0 size=138 ############ void FUN_1813c7aa0(longlong param_1) { int *_Memory; int iVar1; longlong lVar2; uint uVar3; bool bVar4; *(undefined1 *)(param_1 + 0x90) = 1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0x78); *(longlong *)(param_1 + 0x78) = (longlong)&DAT_1821dbf98; UNLOCK(); _Memory = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory; *_Memory = *_Memory + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar3 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar3; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return; } ############ FUN_ 18055c5e0 size=43 ############ undefined8 * FUN_18055c5e0(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055c610 size=43 ############ undefined8 * FUN_18055c610(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055c640 size=43 ############ undefined8 * FUN_18055c640(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055c670 size=43 ############ undefined8 * FUN_18055c670(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::ComBaseClassHelperBase::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18055c950 size=240 ############ void FUN_18055c950(longlong *param_1,int param_2) { int iVar1; longlong lVar2; void *_Memory; void *pvVar3; int *_Memory_00; int iVar4; uint uVar5; longlong lVar6; if ((int)*(uint *)(param_1 + 1) < param_2) { uVar5 = param_2 + 8 + param_2 / 2 & 0xfffffff8; if (*(uint *)(param_1 + 1) != uVar5) { if ((int)uVar5 < 1) { /* WARNING: Subroutine does not return */ free((void *)*param_1); } pvVar3 = malloc((longlong)(int)uVar5 << 4); iVar4 = 0; if (0 < *(int *)((longlong)param_1 + 0xc)) { lVar6 = 0; do { lVar2 = *param_1; *(undefined8 *)(lVar6 + (longlong)pvVar3) = *(undefined8 *)(lVar6 + lVar2); *(undefined1 **)(lVar6 + lVar2) = &DAT_1821dbf98; *(undefined4 *)((undefined8 *)(lVar6 + (longlong)pvVar3) + 1) = *(undefined4 *)(lVar6 + 8 + lVar2); _Memory_00 = (int *)(*(longlong *)(lVar6 + *param_1) + -0x10); if ((*(uint *)(*(longlong *)(lVar6 + *param_1) + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } iVar4 = iVar4 + 1; lVar6 = lVar6 + 0x10; } while (iVar4 < *(int *)((longlong)param_1 + 0xc)); } _Memory = (void *)*param_1; *param_1 = (longlong)pvVar3; /* WARNING: Subroutine does not return */ free(_Memory); } *(uint *)(param_1 + 1) = uVar5; } return; } ############ FUN_ 18055e9a0 size=56 ############ /* Library Function - Single Match public: void * __ptr64 __cdecl MRECmpImpl::`scalar deleting destructor'(unsigned int) __ptr64 Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release */ void * __thiscall MRECmpImpl::_scalar_deleting_destructor_(MRECmpImpl *this,uint param_1) { FUN_180568a50(this + 0x10); if ((param_1 & 1) != 0) { /* WARNING: Subroutine does not return */ free(this); } return this; } ############ FUN_ 18055eca0 size=43 ############ undefined8 * FUN_18055eca0(undefined8 *param_1,ulonglong param_2) { *param_1 = DummyEqualizerWrapperBase::Listener::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18056d010 size=584 ############ longlong FUN_18056d010(longlong *param_1,longlong param_2,undefined8 *param_3) { ulonglong uVar1; undefined8 *puVar2; undefined4 *puVar3; void *pvVar4; ulonglong uVar5; undefined4 uVar6; undefined4 uVar7; undefined4 uVar8; undefined8 uVar9; ulonglong uVar10; longlong lVar11; longlong lVar12; longlong lVar13; longlong lVar14; void *_Memory; longlong lVar15; lVar13 = *param_1; lVar12 = (param_1[1] - lVar13) / 0x70; if (lVar12 == 0x249249249249249) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar1 = lVar12 + 1; uVar5 = (param_1[2] - lVar13) / 0x70; uVar10 = uVar1; if ((uVar5 <= 0x249249249249249 - (uVar5 >> 1)) && (uVar10 = (uVar5 >> 1) + uVar5, uVar10 < uVar1) ) { uVar10 = uVar1; } lVar11 = FUN_180480500(); lVar15 = ((param_2 - lVar13) / 0x70) * 0x70; *(undefined8 *)(lVar11 + lVar15) = 0; *(undefined8 *)(lVar11 + 8 + lVar15) = 0; *(undefined8 *)(lVar11 + 0x10 + lVar15) = 0; *(undefined8 *)(lVar11 + lVar15) = *param_3; *(undefined8 *)(lVar11 + 8 + lVar15) = param_3[1]; *(undefined8 *)(lVar11 + 0x10 + lVar15) = param_3[2]; *param_3 = 0; param_3[1] = 0; param_3[2] = 0; *(undefined8 *)(lVar11 + 0x18 + lVar15) = param_3[3]; *(undefined4 *)(lVar11 + 0x20 + lVar15) = *(undefined4 *)(param_3 + 4); *(undefined8 *)(lVar11 + 0x28 + lVar15) = param_3[5]; *(undefined8 *)(lVar11 + 0x30 + lVar15) = param_3[6]; *(undefined8 *)(lVar11 + 0x38 + lVar15) = param_3[7]; uVar9 = param_3[9]; puVar2 = (undefined8 *)(lVar11 + 0x40 + lVar15); *puVar2 = param_3[8]; puVar2[1] = uVar9; uVar6 = *(undefined4 *)((longlong)param_3 + 0x54); uVar7 = *(undefined4 *)(param_3 + 0xb); uVar8 = *(undefined4 *)((longlong)param_3 + 0x5c); puVar3 = (undefined4 *)(lVar11 + 0x50 + lVar15); *puVar3 = *(undefined4 *)(param_3 + 10); puVar3[1] = uVar6; puVar3[2] = uVar7; puVar3[3] = uVar8; uVar6 = *(undefined4 *)((longlong)param_3 + 100); uVar7 = *(undefined4 *)(param_3 + 0xd); uVar8 = *(undefined4 *)((longlong)param_3 + 0x6c); puVar3 = (undefined4 *)(lVar11 + 0x60 + lVar15); *puVar3 = *(undefined4 *)(param_3 + 0xc); puVar3[1] = uVar6; puVar3[2] = uVar7; puVar3[3] = uVar8; lVar13 = param_1[1]; lVar12 = *param_1; lVar14 = lVar11; if (param_2 != lVar13) { FUN_18056e710(*param_1,param_2,lVar11); lVar13 = param_1[1]; lVar14 = lVar15 + 0x70 + lVar11; lVar12 = param_2; } FUN_18056e710(lVar12,lVar13,lVar14); lVar13 = *param_1; if (lVar13 == 0) { *param_1 = lVar11; param_1[1] = uVar1 * 0x70 + lVar11; param_1[2] = uVar10 * 0x70 + lVar11; return *param_1 + lVar15; } lVar12 = param_1[1]; for (; lVar13 != lVar12; lVar13 = lVar13 + 0x70) { FUN_180569ed0(lVar13); } pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar4) / 0x70) * 0x70)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180560030 size=52 ############ void * .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (void *param_1,ulonglong param_2) { FUN_18055fc30(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805603b0 size=43 ############ undefined8 * .?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@:: vtbl___AV__CloudyAudioProcessorEditor_VSoothe2AudioProcessor__USoothe2VertexData____ (undefined8 *param_1,ulonglong param_2) { *param_1 = CloudyTooltip::Positioner::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18056a690 size=135 ############ void FUN_18056a690(longlong *param_1,longlong param_2,longlong param_3,longlong param_4) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = param_2; param_1[1] = param_2 + param_3 * 8; param_1[2] = param_2 + param_4 * 8; return; } _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805606d0 size=43 ############ undefined8 * FUN_1805606d0(undefined8 *param_1,ulonglong param_2) { *param_1 = CloudyOpenGLRendererCallbacks::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180571dd0 size=556 ############ longlong FUN_180571dd0(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; undefined8 uVar2; longlong *plVar3; void *pvVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; ulonglong uVar8; longlong lVar9; undefined8 *puVar10; void *_Memory; undefined8 *puVar11; ulonglong uVar12; longlong *plVar13; longlong lVar14; ulonglong uVar15; lVar9 = *param_1; lVar14 = (longlong)param_2 - lVar9 >> 3; lVar5 = param_1[1] - lVar9 >> 3; if (lVar5 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar8 = param_1[2] - lVar9 >> 3; uVar1 = lVar5 + 1; uVar6 = uVar1; if ((uVar8 <= 0x1fffffffffffffff - (uVar8 >> 1)) && (uVar6 = (uVar8 >> 1) + uVar8, uVar6 < uVar1)) { uVar6 = uVar1; } lVar9 = uVar6 * 8; if (0x1fffffffffffffff < uVar6) { lVar9 = -1; } puVar7 = (undefined8 *)FUN_180480500(lVar9); uVar2 = *param_3; uVar8 = 0; *param_3 = 0; lVar9 = lVar14 * 8; puVar7[lVar14] = uVar2; puVar11 = (undefined8 *)param_1[1]; puVar10 = (undefined8 *)*param_1; if (param_2 == puVar11) { uVar12 = (ulonglong)((longlong)puVar11 + (7 - (longlong)puVar10)) >> 3; if (puVar11 < puVar10) { uVar12 = uVar8; } puVar11 = puVar7; if (uVar12 != 0) { do { uVar2 = *puVar10; *puVar10 = 0; puVar10 = puVar10 + 1; uVar8 = uVar8 + 1; *puVar11 = uVar2; puVar11 = puVar11 + 1; } while (uVar8 != uVar12); } } else { uVar12 = (ulonglong)((longlong)param_2 + (7 - (longlong)puVar10)) >> 3; if (param_2 < puVar10) { uVar12 = uVar8; } puVar11 = puVar7; uVar15 = uVar8; if (uVar12 != 0) { do { uVar2 = *puVar10; *puVar10 = 0; puVar10 = puVar10 + 1; uVar15 = uVar15 + 1; *puVar11 = uVar2; puVar11 = puVar11 + 1; } while (uVar15 != uVar12); } uVar12 = (param_1[1] - (longlong)param_2) + 7U >> 3; if ((undefined8 *)param_1[1] < param_2) { uVar12 = uVar8; } if (uVar12 != 0) { lVar5 = lVar9 - (longlong)param_2; do { uVar2 = *param_2; uVar8 = uVar8 + 1; *param_2 = 0; *(undefined8 *)((longlong)puVar7 + lVar5 + 8 + (longlong)param_2) = uVar2; param_2 = param_2 + 1; } while (uVar8 != uVar12); } } plVar13 = (longlong *)*param_1; if (plVar13 != (longlong *)0x0) { plVar3 = (longlong *)param_1[1]; for (; plVar13 != plVar3; plVar13 = plVar13 + 1) { if (*plVar13 != 0) { FUN_18056a070(); } } pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (param_1[2] - (longlong)pvVar4 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + uVar1); param_1[2] = (longlong)(puVar7 + uVar6); return *param_1 + lVar9; } ############ FUN_ 180568570 size=330 ############ undefined8 * FUN_180568570(undefined8 *param_1,undefined8 *param_2) { void *_Src; longlong lVar1; void *pvVar2; ulonglong uVar3; void *pvVar4; ulonglong uVar5; ulonglong uVar6; size_t sVar7; lVar1 = param_2[1]; pvVar4 = (void *)*param_2; pvVar2 = (void *)*param_1; sVar7 = lVar1 - (longlong)pvVar4; uVar3 = param_1[1] - (longlong)pvVar2 >> 2; uVar5 = param_1[2] - (longlong)pvVar2 >> 2; uVar6 = (longlong)sVar7 >> 2; if (uVar5 < uVar6) { if (0x3fffffffffffffff < uVar6) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar3 = uVar6; if ((uVar5 <= 0x3fffffffffffffff - (uVar5 >> 1)) && (uVar3 = (uVar5 >> 1) + uVar5, uVar3 < uVar6)) { uVar3 = uVar6; } if (pvVar2 != (void *)0x0) { pvVar4 = pvVar2; if ((0xfff < uVar5 * 4) && (pvVar4 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } FUN_18052fac0(param_1,uVar3); pvVar2 = (void *)*param_1; memmove(pvVar2,pvVar4,sVar7); param_1[1] = sVar7 + (longlong)pvVar2; } else if (uVar3 < uVar6) { _Src = (void *)((longlong)pvVar4 + uVar3 * 4); memmove(pvVar2,pvVar4,(longlong)_Src - (longlong)pvVar4); pvVar4 = (void *)param_1[1]; sVar7 = lVar1 - (longlong)_Src; memmove(pvVar4,_Src,sVar7); param_1[1] = sVar7 + (longlong)pvVar4; } else { memmove(pvVar2,pvVar4,sVar7); param_1[1] = (void *)((longlong)pvVar2 + uVar6 * 4); } return param_1; } ############ FUN_ 18056c930 size=406 ############ void FUN_18056c930(longlong *param_1,void *param_2,longlong param_3) { void *pvVar1; longlong lVar2; ulonglong uVar3; ulonglong uVar4; void *pvVar5; ulonglong uVar6; size_t _Size; pvVar1 = (void *)*param_1; _Size = param_3 - (longlong)param_2; uVar4 = param_1[1] - (longlong)pvVar1 >> 4; uVar3 = param_1[2] - (longlong)pvVar1 >> 4; uVar6 = (longlong)_Size >> 4; if (uVar3 < uVar6) { if (0xfffffffffffffff < uVar6) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar4 = uVar6; if ((uVar3 <= 0xfffffffffffffff - (uVar3 >> 1)) && (uVar4 = (uVar3 >> 1) + uVar3, uVar4 < uVar6) ) { uVar4 = uVar6; } if (pvVar1 != (void *)0x0) { pvVar5 = pvVar1; if ((0xfff < uVar3 << 4) && (pvVar5 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar4 != 0) { if (0xfffffffffffffff < uVar4) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } lVar2 = uVar4 * 0x10; if (0xfffffffffffffff < uVar4) { lVar2 = -1; } lVar2 = FUN_180480500(lVar2); *param_1 = lVar2; param_1[1] = lVar2; param_1[2] = *param_1 + uVar4 * 0x10; } pvVar1 = (void *)*param_1; memmove(pvVar1,param_2,_Size); param_1[1] = _Size + (longlong)pvVar1; } else if (uVar4 < uVar6) { pvVar5 = (void *)(uVar4 * 0x10 + (longlong)param_2); memmove(pvVar1,param_2,(longlong)pvVar5 - (longlong)param_2); pvVar1 = (void *)param_1[1]; memmove(pvVar1,pvVar5,param_3 - (longlong)pvVar5); param_1[1] = (param_3 - (longlong)pvVar5) + (longlong)pvVar1; } else { memmove(pvVar1,param_2,_Size); param_1[1] = (longlong)(uVar6 * 0x10 + (longlong)pvVar1); } return; } ############ FUN_ 1805684e0 size=120 ############ undefined8 * FUN_1805684e0(undefined8 *param_1,undefined8 *param_2) { undefined8 uVar1; int *_Memory; longlong *plVar2; if (param_1 == param_2) { return param_1; } uVar1 = *param_2; *param_2 = 0; _Memory = (int *)*param_1; *param_1 = uVar1; if (_Memory != (int *)0x0) { if (*_Memory != 0) { plVar2 = (longlong *)FUN_1805989c0(); if (*(longlong *)(_Memory + 4) == *plVar2) { glDeleteTextures(1,_Memory); _Memory[0] = 0; _Memory[1] = 0; _Memory[2] = 0; } } /* WARNING: Subroutine does not return */ free(_Memory); } return param_1; } ############ FUN_ 1805618f0 size=170 ############ void * FUN_1805618f0(void *param_1,ulonglong param_2) { int iVar1; int *piVar2; undefined8 *puVar3; longlong *plVar4; piVar2 = *(int **)((longlong)param_1 + 0x88); if (piVar2 != (int *)0x0) { if (*piVar2 != 0) { plVar4 = (longlong *)FUN_1805989c0(); if (*(longlong *)(piVar2 + 4) == *plVar4) { glDeleteTextures(1,piVar2); piVar2[0] = 0; piVar2[1] = 0; piVar2[2] = 0; } } /* WARNING: Subroutine does not return */ free(piVar2); } puVar3 = *(undefined8 **)((longlong)param_1 + 0x80); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar2 = (int *)(puVar3 + 1); iVar1 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar1 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_1805619f0((longlong)param_1 + 8); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180561b00 size=52 ############ void * .?AUSoothe2VertexData@@::vtbl___AUSoothe2VertexData__(void *param_1,ulonglong param_2) { FUN_1805619f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180562580 size=545 ############ void FUN_180562580(longlong param_1) { float *pfVar1; float fVar2; float fVar3; int iVar4; int iVar5; int iVar6; int iVar7; int iVar8; longlong lVar9; longlong lVar10; bool bVar11; float *pfVar12; uint uVar13; ulonglong uVar14; uint uVar15; ulonglong uVar16; ulonglong uVar17; ulonglong uVar18; float *local_60; longlong lStack_58; longlong local_50; uVar16 = 0; if ((*(int *)(param_1 + 0xb0) != 0) || (bVar11 = true, *(int *)(param_1 + 0xb4) != 0)) { bVar11 = false; } if (!bVar11) { uVar13 = 0; lVar9 = *(longlong *)(param_1 + 0x80); uVar14 = uVar16; uVar17 = uVar16; for (lVar10 = lVar9; lVar10 != *(longlong *)(param_1 + 0x88); lVar10 = *(longlong *)(lVar10 + 0x18)) { uVar13 = (int)uVar14 + (int)*(undefined8 *)(lVar10 + 0x20); uVar14 = (ulonglong)uVar13; uVar17 = (ulonglong) (uint)((int)uVar17 + (int)((ulonglong)*(undefined8 *)(lVar10 + 0x20) >> 0x20)); } iVar4 = *(int *)(lVar9 + 0x2c); iVar5 = *(int *)(lVar9 + 0x28); local_60 = (float *)0x0; lStack_58 = 0; local_50 = 0; FUN_1805603e0(&local_60,*(undefined4 *)(param_1 + 0x90),uVar17, CONCAT44((float)*(int *)(lVar9 + 0x2c),(float)*(int *)(lVar9 + 0x28))); uVar14 = lStack_58 - (longlong)local_60 >> 3; if (uVar14 != 0) { pfVar12 = local_60; uVar18 = uVar16; do { fVar2 = *pfVar12; fVar3 = pfVar12[1]; iVar6 = *(int *)(param_1 + 0xb4); iVar7 = *(int *)(param_1 + 0xac); iVar8 = *(int *)(param_1 + 0xb4); pfVar1 = (float *)(uVar18 + *(longlong *)(param_1 + 0x40)); *pfVar1 = (((float)iVar5 * fVar2 + (float)(int)uVar13) - (float)*(int *)(param_1 + 0xa8)) / (float)*(int *)(param_1 + 0xb0); pfVar1[1] = ((float)(iVar6 + iVar7) - (((float)(int)uVar17 + (float)iVar4) - (float)iVar4 * fVar3)) / (float)iVar8; pfVar1[2] = fVar2; pfVar1[3] = fVar3; uVar15 = (int)uVar16 + 1; uVar16 = (ulonglong)uVar15; pfVar12 = pfVar12 + 2; uVar18 = uVar18 + 0x10; } while ((ulonglong)(longlong)(int)uVar15 < uVar14); } *(undefined2 *)(param_1 + 0xd0) = 0x101; if (local_60 != (float *)0x0) { pfVar12 = local_60; if ((0xfff < (local_50 - (longlong)local_60 & 0xfffffffffffffff8U)) && (pfVar12 = *(float **)(local_60 + -2), 0x1f < (ulonglong)((longlong)local_60 + (-8 - (longlong)pfVar12)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pfVar12); } } return; } ############ FUN_ 18056c7b0 size=373 ############ void FUN_18056c7b0(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; pvVar3 = (void *)param_1[1]; lVar5 = *param_1; uVar6 = (longlong)pvVar3 - lVar5 >> 4; uVar4 = param_1[2] - lVar5 >> 4; if (uVar4 < param_2) { if (0xfffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar2 = param_2; if ((uVar4 <= 0xfffffffffffffff - (uVar4 >> 1)) && (uVar2 = (uVar4 >> 1) + uVar4, uVar2 < param_2)) { uVar2 = param_2; } lVar5 = uVar2 * 0x10; if (0xfffffffffffffff < uVar2) { lVar5 = -1; } pvVar3 = (void *)FUN_180480500(lVar5); if (param_2 - uVar6 != 0) { memset((void *)(uVar6 * 0x10 + (longlong)pvVar3),0,(param_2 - uVar6) * 0x10); } memmove(pvVar3,(void *)*param_1,param_1[1] - *param_1); pvVar1 = (void *)*param_1; if (pvVar1 != (void *)0x0) { pvVar3 = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff0U)) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } *param_1 = (longlong)pvVar3; param_1[1] = (longlong)(param_2 * 0x10 + (longlong)pvVar3); param_1[2] = (longlong)(uVar2 * 0x10 + (longlong)pvVar3); } else if (uVar6 < param_2) { lVar5 = param_2 - uVar6; if (lVar5 != 0) { memset(pvVar3,0,lVar5 * 0x10); pvVar3 = (void *)((longlong)pvVar3 + lVar5 * 0x10); } param_1[1] = (longlong)pvVar3; } else if (param_2 != uVar6) { param_1[1] = param_2 * 0x10 + lVar5; } return; } ############ FUN_ 18056df20 size=135 ############ void FUN_18056df20(longlong *param_1,longlong param_2,longlong param_3,longlong param_4) { void *pvVar1; void *_Memory; pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = param_2; param_1[1] = param_2 + param_3 * 4; param_1[2] = param_2 + param_4 * 4; return; } _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805627b0 size=52 ############ void * FUN_1805627b0(void *param_1,ulonglong param_2) { FUN_180561ce0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180569e60 size=84 ############ undefined8 * FUN_180569e60(undefined8 *param_1,undefined8 *param_2) { undefined8 uVar1; void *_Memory; if (param_1 == param_2) { return param_1; } uVar1 = *param_2; *param_2 = 0; _Memory = (void *)*param_1; *param_1 = uVar1; if (_Memory != (void *)0x0) { FUN_18056ae80(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return param_1; } ############ FUN_ 180571460 size=109 ############ undefined8 * FUN_180571460(undefined8 *param_1,undefined8 *param_2) { int *piVar1; int iVar2; undefined8 uVar3; longlong *_Memory; undefined8 *puVar4; if (param_1 == param_2) { return param_1; } uVar3 = *param_2; *param_2 = 0; _Memory = (longlong *)*param_1; *param_1 = uVar3; if (_Memory != (longlong *)0x0) { puVar4 = (undefined8 *)*_Memory; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } /* WARNING: Subroutine does not return */ free(_Memory); } return param_1; } ############ FUN_ 181254070 size=377 ############ void FUN_181254070(undefined8 *param_1,undefined8 param_2) { uint uVar1; bool bVar2; undefined1 *local_f0; undefined1 *local_e8 [8]; undefined **local_a8 [10]; undefined8 local_58; local_58 = 0xfffffffffffffffe; local_f0 = &DAT_1821dbf98; local_e8[0] = &DAT_1821dbf98; FUN_181254d40(param_1,local_e8,&local_f0); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = juce::CustomTypeface::vftable; param_1[0xc] = 0; param_1[0xd] = 0; FUN_181253f80(param_1); FUN_1812196a0(local_a8,param_2); if (local_a8[0] != juce::GZIPDecompressorInputStream::vftable) { (*(code *)local_a8[0][1])(local_a8); } if (local_a8[0] != juce::GZIPDecompressorInputStream::vftable) { (*(code *)local_a8[0][0x15])(); } /* WARNING: Subroutine does not return */ free((void *)0x0); } ############ FUN_ 180578cc0 size=84 ############ undefined8 * FUN_180578cc0(undefined8 *param_1,undefined8 *param_2) { undefined8 uVar1; void *_Memory; if (param_1 == param_2) { return param_1; } uVar1 = *param_2; *param_2 = 0; _Memory = (void *)*param_1; *param_1 = uVar1; if (_Memory != (void *)0x0) { FUN_1816056e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return param_1; } ############ FUN_ 181346350 size=123 ############ undefined8 * FUN_181346350(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; bool bVar2; undefined1 *local_res8 [4]; local_res8[0] = &DAT_1821dbf98; FUN_1813379d0(param_1,local_res8,param_3,param_4,0xfffffffffffffffe); if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar2 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar2) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } *param_1 = juce::TextButton::vftable; param_1[0x16] = juce::TextButton::vftable; return param_1; } ############ FUN_ 180576a30 size=251 ############ void * FUN_180576a30(void *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { void *_Memory; void *local_res8; longlong *local_res10; longlong local_50 [2]; undefined2 local_40; undefined1 *local_38; undefined1 *local_30; undefined8 local_28; undefined8 local_20; undefined2 local_18; undefined8 local_10; local_50[0] = *param_2; if ((*(uint *)(local_50[0] + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_50[0] + -0x10) = *(int *)(local_50[0] + -0x10) + 1; UNLOCK(); } local_50[1] = 0; local_40 = 0; local_38 = &DAT_1821dbf98; local_30 = &DAT_1821dbf98; local_28 = 0; local_20 = 0; local_18 = 0x100; local_10 = 0; local_res8 = param_1; FUN_181248430(local_50,&local_res8,local_50[0],param_4,0xfffffffffffffffe); FUN_181248660(local_50); _Memory = local_res8; FUN_18132eac0(&local_res10,local_res8); (**(code **)(*local_res10 + 0x160))(local_res10,param_1); (**(code **)*local_res10)(local_res10,1); if (_Memory != (void *)0x0) { FUN_1812472e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } return param_1; } ############ FUN_ 18132eac0 size=345 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_18132eac0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; char cVar2; undefined8 uVar3; bool bVar4; undefined8 local_70; undefined8 local_68; undefined1 *local_58; undefined8 local_50; undefined8 local_48; undefined4 local_40; undefined4 local_3c; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; undefined4 local_28; undefined4 uStack_24; undefined4 uStack_20; undefined4 uStack_1c; undefined1 *local_18; cVar2 = FUN_181220e10(param_2,&DAT_1821e2b64,param_3,param_4,0xfffffffffffffffe); if (cVar2 == '\0') { *param_1 = 0; } else { local_58 = &DAT_1821dbf98; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); DAT_1821dbf88 = DAT_1821dbf88 + 1; UNLOCK(); } local_48 = 0; local_40 = 0x44000000; local_3c = 0x44000000; local_38 = _DAT_1824c47e0; uStack_34 = _UNK_1824c47e4; uStack_30 = _UNK_1824c47e8; uStack_2c = _UNK_1824c47ec; local_28 = _DAT_1824c47e0; uStack_24 = _UNK_1824c47e4; uStack_20 = _UNK_1824c47e8; uStack_1c = _UNK_1824c47ec; local_18 = &DAT_1821dbf98; local_50 = param_2; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } local_68 = 0; local_70 = param_2; uVar3 = FUN_1804e9bf0(_DAT_1824c47e0,&local_70); *param_1 = uVar3; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar1 = DAT_1821dbf88 - 1; UNLOCK(); bVar4 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar1; if (bVar4) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } return param_1; } ############ FUN_ 1814d9640 size=435 ############ undefined8 * FUN_1814d9640(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 uVar4; uint *puVar5; longlong local_res10; longlong local_res18; longlong local_res20; longlong local_60; longlong local_58; longlong local_50 [3]; undefined8 local_38; undefined8 local_30; undefined8 local_28; local_50[1] = 0xfffffffffffffffe; *param_1 = &DAT_1821dbf98; puVar2 = (undefined8 *)FUN_181249b30(&local_res10,7,param_3,param_4,1); local_50[2] = *param_1; *param_1 = *puVar2; *puVar2 = local_50[2]; puVar5 = (uint *)(local_res10 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar2 = (undefined8 *)FUN_181353210(local_50); puVar3 = (undefined8 *)FUN_181353df0(&local_58); local_38 = *puVar3; uVar4 = FUN_181245100(param_1,&local_60); local_30 = *puVar2; uVar4 = FUN_181245100(uVar4,&local_res20); puVar2 = (undefined8 *)FUN_181245100(uVar4,&local_res18,"Tutorials"); local_28 = *param_1; *param_1 = *puVar2; *puVar2 = local_28; puVar5 = (uint *)(local_res18 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_res20 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_60 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_58 + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } puVar5 = (uint *)(local_50[0] + -0x10); if ((*puVar5 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar5; *puVar5 = *puVar5 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar5); } } return param_1; } ############ FUN_ 1815ef4d0 size=245 ############ undefined8 * FUN_1815ef4d0(undefined8 *param_1,longlong *param_2) { uint uVar1; uint *_Memory; FUN_1813379d0(); param_1[0x3a] = 0; *(undefined1 *)(param_1 + 0x3b) = 0; param_1[0x3d] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x3e) = 0; *param_1 = CloudyButton::vftable; param_1[0x16] = CloudyButton::vftable; param_1[0x39] = CloudyButton::vftable; param_1[0x3c] = CloudyButton::vftable; param_1[0x3f] = 0; *(undefined1 *)(param_1 + 0x40) = 0; *(undefined4 *)((longlong)param_1 + 0x204) = 0x3ecccccd; *(undefined4 *)(param_1 + 0x41) = 0x1010101; *(undefined8 *)((longlong)param_1 + 0x20c) = 1; *(undefined8 *)((longlong)param_1 + 0x214) = 0; *(undefined8 *)((longlong)param_1 + 0x21c) = 0; *(undefined8 *)((longlong)param_1 + 0x224) = 0; *(undefined4 *)((longlong)param_1 + 0x22c) = 0; *(undefined4 *)((longlong)param_1 + 0x234) = 0; _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 1815ef610 size=188 ############ void FUN_1815ef610(longlong *param_1,longlong *param_2) { int *piVar1; uint uVar2; longlong lVar3; uint *puVar4; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*param_2 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar3 = param_1[0x19]; param_1[0x19] = *param_2; UNLOCK(); puVar4 = (uint *)(lVar3 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (((*(byte *)(param_1 + 0x15) >> 1 & 1) != 0) && (param_1[0x17] != 0)) { (**(code **)(*param_1 + 0x160))(param_1); } puVar4 = (uint *)(*param_2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return; } ############ FUN_ 1815fb460 size=113 ############ undefined8 * FUN_1815fb460(undefined8 *param_1,longlong *param_2) { uint uVar1; longlong lVar2; uint *_Memory; *param_1 = CloudyPopupMenuItemBase::vftable; lVar2 = *param_2; param_1[1] = lVar2; if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(lVar2 + -0x10) = *(int *)(lVar2 + -0x10) + 1; UNLOCK(); } *(undefined4 *)(param_1 + 2) = 0; *(undefined2 *)((longlong)param_1 + 0x14) = 0; param_1[3] = 0; _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 18056a400 size=648 ############ void FUN_18056a400(longlong param_1,longlong param_2) { ulonglong *puVar1; char cVar2; longlong lVar3; longlong *plVar4; undefined8 *puVar5; void *pvVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; ulonglong *puVar11; ulonglong uVar12; longlong *local_res8; longlong **local_res18; undefined8 *local_res20; undefined8 *local_68; undefined8 local_60; void *local_58 [2]; longlong local_48; undefined8 *puVar10; local_60 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0x60) == 0) { *(longlong *)(param_1 + 0x60) = param_2; puVar11 = *(ulonglong **)(param_1 + 0x40); puVar1 = puVar11 + *(int *)(param_1 + 0x4c); for (; puVar11 != puVar1; puVar11 = puVar11 + 1) { local_res8 = (longlong *)*puVar11; puVar10 = *(undefined8 **)(param_1 + 0x50); cVar2 = *(char *)((longlong)puVar10[1] + 0x19); puVar9 = puVar10; puVar8 = (undefined8 *)puVar10[1]; while (cVar2 == '\0') { if ((longlong *)puVar8[4] < local_res8) { puVar5 = (undefined8 *)puVar8[2]; puVar8 = puVar9; } else { puVar5 = (undefined8 *)*puVar8; } puVar9 = puVar8; puVar8 = puVar5; cVar2 = *(char *)((longlong)puVar5 + 0x19); } if ((puVar9 == puVar10) || (local_res8 < (longlong *)puVar9[4])) { local_res18 = &local_res8; lVar3 = FUN_1805702e0(param_1 + 0x50,local_res8,&local_res18); FUN_180570320(param_1 + 0x50,&local_res20,puVar9,lVar3 + 0x20,lVar3); puVar9 = local_res20; } (**(code **)(param_2 + 0x18))(1,puVar9 + 5); plVar4 = (longlong *)(**(code **)(*local_res8 + 0x28))(local_res8,local_58); uVar12 = plVar4[1] - *plVar4 >> 2; if (local_58[0] != (void *)0x0) { pvVar6 = local_58[0]; if ((0xfff < (ulonglong)((local_48 - (longlong)local_58[0] >> 2) * 4)) && (pvVar6 = *(void **)((longlong)local_58[0] + -8), 0x1f < (ulonglong)((longlong)local_58[0] + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } FUN_18056d640(puVar9 + 6,uVar12 & 0xffffffff); (**(code **)(param_2 + 0x18))(uVar12 & 0xffffffff,puVar9[6]); puVar5 = (undefined8 *)(**(code **)(*local_res8 + 0x28))(local_res8,local_58); puVar10 = *(undefined8 **)(param_1 + 0x18); cVar2 = *(char *)((longlong)puVar10[1] + 0x19); puVar9 = puVar10; puVar8 = (undefined8 *)puVar10[1]; while (cVar2 == '\0') { if ((longlong *)puVar8[4] < local_res8) { puVar7 = (undefined8 *)puVar8[2]; puVar8 = puVar9; } else { puVar7 = (undefined8 *)*puVar8; } puVar9 = puVar8; puVar8 = puVar7; cVar2 = *(char *)((longlong)puVar7 + 0x19); } if ((puVar9 == puVar10) || (local_res8 < (longlong *)puVar9[4])) { local_res18 = &local_res8; lVar3 = FUN_180570070(param_1 + 0x18,puVar8,&local_res18); FUN_1805700b0(param_1 + 0x18,&local_68,puVar9,lVar3 + 0x20,lVar3); puVar9 = local_68; } puVar10 = puVar9 + 5; if (puVar10 != puVar5) { FUN_18052fa60(puVar10); *puVar10 = *puVar5; puVar9[6] = puVar5[1]; puVar9[7] = puVar5[2]; *puVar5 = 0; puVar5[1] = 0; puVar5[2] = 0; } if (local_58[0] != (void *)0x0) { pvVar6 = local_58[0]; if ((0xfff < (local_48 - (longlong)local_58[0] & 0xfffffffffffffffcU)) && (pvVar6 = *(void **)((longlong)local_58[0] + -8), 0x1f < (ulonglong)((longlong)local_58[0] + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } } } return; } ############ FUN_ 18056d470 size=456 ############ longlong FUN_18056d470(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 *puVar1; void *pvVar2; undefined8 uVar3; undefined8 *puVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; ulonglong uVar8; void *_Memory; longlong lVar9; longlong lVar10; ulonglong uVar11; lVar9 = *param_1; lVar10 = param_1[1] - lVar9 >> 5; if (lVar10 == 0x7ffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar11 = lVar10 + 1; uVar8 = param_1[2] - lVar9 >> 5; uVar5 = uVar11; if ((uVar8 <= 0x7ffffffffffffff - (uVar8 >> 1)) && (uVar5 = (uVar8 >> 1) + uVar8, uVar5 < uVar11)) { uVar5 = uVar11; } lVar10 = uVar5 * 0x20; if (0x7ffffffffffffff < uVar5) { lVar10 = -1; } puVar6 = (undefined8 *)FUN_180480500(lVar10); uVar3 = param_3[1]; uVar8 = (longlong)param_2 - lVar9 & 0xffffffffffffffe0; *(undefined8 *)(uVar8 + (longlong)puVar6) = *param_3; ((undefined8 *)(uVar8 + (longlong)puVar6))[1] = uVar3; uVar3 = param_3[3]; puVar1 = (undefined8 *)(uVar8 + 0x10 + (longlong)puVar6); *puVar1 = param_3[2]; puVar1[1] = uVar3; puVar1 = (undefined8 *)param_1[1]; puVar7 = (undefined8 *)*param_1; puVar4 = puVar6; if (param_2 == puVar1) { for (; puVar7 != puVar1; puVar7 = puVar7 + 4) { uVar3 = puVar7[1]; *puVar4 = *puVar7; puVar4[1] = uVar3; uVar3 = puVar7[3]; puVar4[2] = puVar7[2]; puVar4[3] = uVar3; puVar4 = puVar4 + 4; } } else { for (; puVar7 != param_2; puVar7 = puVar7 + 4) { uVar3 = puVar7[1]; *puVar4 = *puVar7; puVar4[1] = uVar3; uVar3 = puVar7[3]; puVar4[2] = puVar7[2]; puVar4[3] = uVar3; puVar4 = puVar4 + 4; } puVar1 = (undefined8 *)param_1[1]; if (param_2 != puVar1) { lVar9 = uVar8 - (longlong)param_2; do { uVar3 = param_2[1]; puVar7 = (undefined8 *)((longlong)puVar6 + lVar9 + 0x20 + (longlong)param_2); *puVar7 = *param_2; puVar7[1] = uVar3; uVar3 = param_2[3]; puVar7 = (undefined8 *)((longlong)puVar6 + lVar9 + 0x30 + (longlong)param_2); *puVar7 = param_2[2]; puVar7[1] = uVar3; param_2 = param_2 + 4; } while (param_2 != puVar1); } } pvVar2 = (void *)*param_1; if (pvVar2 == (void *)0x0) { *param_1 = (longlong)puVar6; param_1[1] = (longlong)(puVar6 + uVar11 * 4); param_1[2] = (longlong)(puVar6 + uVar5 * 4); return *param_1 + uVar8; } _Memory = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18056d640 size=379 ############ void FUN_18056d640(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; pvVar1 = (void *)param_1[1]; lVar5 = *param_1; uVar6 = (longlong)pvVar1 - lVar5 >> 2; uVar4 = param_1[2] - lVar5 >> 2; if (uVar4 < param_2) { if (0x3fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar2 = param_2; if ((uVar4 <= 0x3fffffffffffffff - (uVar4 >> 1)) && (uVar2 = (uVar4 >> 1) + uVar4, uVar2 < param_2)) { uVar2 = param_2; } lVar5 = uVar2 * 4; if (0x3fffffffffffffff < uVar2) { lVar5 = -1; } pvVar3 = (void *)FUN_180480500(lVar5); memset((void *)((longlong)pvVar3 + uVar6 * 4),0,(param_2 - uVar6) * 4); memmove(pvVar3,(void *)*param_1,param_1[1] - *param_1); pvVar1 = (void *)*param_1; if (pvVar1 != (void *)0x0) { pvVar3 = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } *param_1 = (longlong)pvVar3; param_1[1] = (longlong)((longlong)pvVar3 + param_2 * 4); param_1[2] = (longlong)(uVar2 * 4 + (longlong)pvVar3); } else { if (uVar6 < param_2) { pvVar3 = (void *)((longlong)pvVar1 + (param_2 - uVar6) * 4); memset(pvVar1,0,(longlong)pvVar3 - (longlong)pvVar1); param_1[1] = (longlong)pvVar3; return; } if (param_2 != uVar6) { param_1[1] = lVar5 + param_2 * 4; return; } } return; } ############ FUN_ 180570900 size=340 ############ undefined8 * FUN_180570900(longlong *param_1,undefined8 *param_2,undefined8 param_3,ulonglong *param_4, void *param_5) { char cVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; bool bVar5; undefined1 local_res8 [8]; puVar3 = (undefined8 *)*param_1; bVar5 = true; puVar4 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar2 = (undefined8 *)puVar3[1]; do { puVar4 = puVar2; bVar5 = *param_4 < (ulonglong)puVar4[4]; if (bVar5) { puVar2 = (undefined8 *)*puVar4; } else { puVar2 = (undefined8 *)puVar4[2]; } } while (*(char *)((longlong)puVar2 + 0x19) == '\0'); } if (bVar5) { if (puVar4 == (undefined8 *)*puVar3) { puVar3 = (undefined8 *)FUN_1805706d0(param_1,local_res8,1); *param_2 = *puVar3; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar4 + 0x19) == '\0') { puVar3 = (undefined8 *)*puVar4; if (*(char *)((longlong)puVar3 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = puVar3; puVar3 = (undefined8 *)puVar3[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = puVar3; puVar3 = (undefined8 *)puVar3[2]; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar3 = (undefined8 *)puVar4[1]; while ((puVar2 = puVar3, cVar1 == '\0' && (puVar4 == (undefined8 *)*puVar2))) { cVar1 = *(char *)((longlong)puVar2[1] + 0x19); puVar3 = (undefined8 *)puVar2[1]; puVar4 = puVar2; } if (*(char *)((longlong)puVar4 + 0x19) == '\0') { puVar4 = puVar2; } } } else { puVar4 = (undefined8 *)puVar4[2]; } } if ((ulonglong)puVar4[4] < *param_4) { puVar3 = (undefined8 *)FUN_1805706d0(param_1,local_res8); *param_2 = *puVar3; *(undefined1 *)(param_2 + 1) = 1; return param_2; } FUN_18052fa60((longlong)param_5 + 0x28); /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 18163a160 size=301 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18163a160(longlong *param_1,undefined8 *param_2,undefined4 param_3) { uint *_Memory; uint uVar1; undefined4 uVar2; undefined4 uVar3; undefined1 auStack_4068 [32]; int local_4048; int local_4044; undefined8 local_4040; longlong local_4038 [4]; undefined1 local_4018 [16384]; ulonglong local_18; undefined8 uStack_10; uStack_10 = 0x18163a16c; local_4038[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_4068; uVar2 = (**(code **)(*param_1 + 0x40))(param_3); local_4040 = *param_2; (**(code **)(*param_1 + 0x50))(uVar2,1,&local_4040); (**(code **)(*param_1 + 0x58))(uVar2); local_4048 = 0; (**(code **)(*param_1 + 0x78))(uVar2,0x8b81,&local_4048); if (local_4048 == 0) { local_4044 = 0; (**(code **)(*param_1 + 0x80))(uVar2,0x4000,&local_4044,local_4018); FUN_18049c670(local_4038,local_4018,(longlong)local_4044); local_4038[2] = param_1[2]; param_1[2] = local_4038[0]; _Memory = (uint *)(local_4038[2] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } else { if ((int)param_1[1] == 0) { uVar3 = (**(code **)(*param_1 + 0x30))(); *(undefined4 *)(param_1 + 1) = uVar3; } (**(code **)(*param_1 + 0x60))((int)param_1[1],uVar2); (**(code **)(*param_1 + 0x48))(uVar2); } } ############ FUN_ 18163bb70 size=251 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18163bb70(longlong *param_1) { uint *_Memory; uint uVar1; undefined4 uVar2; undefined1 auStack_4058 [32]; int local_4038; int local_4034; longlong local_4030 [3]; undefined1 local_4018 [16384]; ulonglong local_18; undefined8 uStack_10; uStack_10 = 0x18163bb7c; local_4030[1] = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_4058; if ((int)param_1[1] == 0) { uVar2 = (**(code **)(*param_1 + 0x30))(); *(undefined4 *)(param_1 + 1) = uVar2; } uVar2 = (undefined4)param_1[1]; (**(code **)(*param_1 + 0x68))(uVar2); local_4038 = 0; (**(code **)(*param_1 + 0x90))(uVar2,0x8b82,&local_4038); if (local_4038 == 0) { local_4034 = 0; (**(code **)(*param_1 + 0x88))(uVar2,0x4000,&local_4034,local_4018); FUN_18049c670(local_4030,local_4018,(longlong)local_4034); local_4030[2] = param_1[2]; param_1[2] = local_4030[0]; _Memory = (uint *)(local_4030[2] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } } } ############ FUN_ 180568200 size=163 ############ void FUN_180568200(longlong param_1) { void *pvVar1; EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xb4)); LOCK(); *(undefined1 *)(param_1 + 0x83) = 0; UNLOCK(); pvVar1 = *(void **)(param_1 + 0x78); *(undefined8 *)(param_1 + 0x78) = 0; if (pvVar1 != (void *)0x0) { FUN_18056afc0(pvVar1); /* WARNING: Subroutine does not return */ free(pvVar1); } pvVar1 = *(void **)(param_1 + 0x68); *(undefined8 *)(param_1 + 0x68) = 0; if (pvVar1 != (void *)0x0) { FUN_18163bcd0(pvVar1); /* WARNING: Subroutine does not return */ free(pvVar1); } LOCK(); *(undefined1 *)(param_1 + 0x80) = 0; UNLOCK(); *(undefined8 *)(param_1 + 0x94) = 0; *(undefined8 *)(param_1 + 0x9c) = 0; /* WARNING: Could not recover jumptable at 0x00018056829c. Too many branches */ /* WARNING: Treating indirect jump as call */ LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xb4)); return; } ############ FUN_ 18056a1e0 size=52 ############ void * FUN_18056a1e0(void *param_1,ulonglong param_2) { FUN_180568d20(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1815aa800 size=385 ############ undefined8 * FUN_1815aa800(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined4 param_4) { uint *_Memory; uint uVar1; longlong lVar2; undefined8 *puVar3; uint *puVar4; longlong local_res10; longlong *local_res18; puVar3 = param_1; FUN_1813453e0(); puVar3[0x16] = StylerProvider::vftable; param_1[0x17] = 0; *(undefined1 *)(param_1 + 0x18) = 0; param_1[0x1a] = 0xffffffffffffffff; *(undefined4 *)(param_1 + 0x1b) = 0; *param_1 = CloudySliderBase::vftable; param_1[0x16] = CloudySliderBase::vftable; param_1[0x19] = CloudySliderBase::vftable; param_1[0x1c] = param_3; param_1[0x1d] = 0; param_1[0x1e] = 0; *(undefined2 *)(param_1 + 0x1f) = 0; *(undefined4 *)((longlong)param_1 + 0xfc) = param_4; local_res10 = *param_2; if ((*(uint *)(local_res10 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res10 + -0x10) = *(int *)(local_res10 + -0x10) + 1; UNLOCK(); } local_res18 = &local_res10; FUN_181232e20(&local_res10,"-control",""); local_res18 = (longlong *)local_res10; _Memory = (uint *)(local_res10 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } puVar4 = (uint *)(local_res10 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } LOCK(); lVar2 = param_1[2]; param_1[2] = local_res10; UNLOCK(); puVar4 = (uint *)(lVar2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 180584e30 size=551 ############ longlong FUN_180584e30(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; undefined8 uVar2; void *pvVar3; longlong lVar4; ulonglong uVar5; undefined8 *puVar6; ulonglong uVar7; longlong lVar8; undefined8 *puVar9; void *_Memory; undefined8 *puVar10; ulonglong uVar11; longlong lVar12; ulonglong uVar13; lVar8 = *param_1; lVar12 = (longlong)param_2 - lVar8 >> 3; lVar4 = param_1[1] - lVar8 >> 3; if (lVar4 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar7 = param_1[2] - lVar8 >> 3; uVar1 = lVar4 + 1; uVar5 = uVar1; if ((uVar7 <= 0x1fffffffffffffff - (uVar7 >> 1)) && (uVar5 = uVar7 + (uVar7 >> 1), uVar5 < uVar1)) { uVar5 = uVar1; } lVar8 = uVar5 * 8; if (0x1fffffffffffffff < uVar5) { lVar8 = -1; } puVar6 = (undefined8 *)FUN_180480500(lVar8); uVar2 = *param_3; uVar7 = 0; *param_3 = 0; lVar8 = lVar12 * 8; puVar6[lVar12] = uVar2; puVar10 = (undefined8 *)param_1[1]; puVar9 = (undefined8 *)*param_1; if (param_2 == puVar10) { uVar11 = (ulonglong)((longlong)puVar10 + (7 - (longlong)puVar9)) >> 3; if (puVar10 < puVar9) { uVar11 = uVar7; } puVar10 = puVar6; if (uVar11 != 0) { do { uVar2 = *puVar9; *puVar9 = 0; puVar9 = puVar9 + 1; uVar7 = uVar7 + 1; *puVar10 = uVar2; puVar10 = puVar10 + 1; } while (uVar7 != uVar11); } } else { uVar11 = (ulonglong)((longlong)param_2 + (7 - (longlong)puVar9)) >> 3; if (param_2 < puVar9) { uVar11 = uVar7; } puVar10 = puVar6; uVar13 = uVar7; if (uVar11 != 0) { do { uVar2 = *puVar9; *puVar9 = 0; puVar9 = puVar9 + 1; uVar13 = uVar13 + 1; *puVar10 = uVar2; puVar10 = puVar10 + 1; } while (uVar13 != uVar11); } uVar11 = (param_1[1] - (longlong)param_2) + 7U >> 3; if ((undefined8 *)param_1[1] < param_2) { uVar11 = uVar7; } if (uVar11 != 0) { lVar4 = lVar8 - (longlong)param_2; do { uVar2 = *param_2; uVar7 = uVar7 + 1; *param_2 = 0; *(undefined8 *)((longlong)param_2 + (longlong)puVar6 + lVar4 + 8) = uVar2; param_2 = param_2 + 1; } while (uVar7 != uVar11); } } lVar4 = *param_1; if (lVar4 != 0) { lVar8 = param_1[1]; for (; lVar4 != lVar8; lVar4 = lVar4 + 8) { FUN_1805841a0(lVar4); } pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (param_1[2] - (longlong)pvVar3 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = (longlong)puVar6; param_1[1] = (longlong)(puVar6 + uVar1); param_1[2] = (longlong)(puVar6 + uVar5); return *param_1 + lVar8; } ############ FUN_ 1811efc20 size=77 ############ undefined8 * FUN_1811efc20(undefined8 *param_1,longlong *param_2,undefined8 param_3) { uint uVar1; uint *_Memory; *param_1 = ProcessorStateOption::vftable; param_1[1] = *param_2; *param_2 = (longlong)&DAT_1821dbf98; param_1[2] = param_3; _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 18057f890 size=331 ############ undefined8 * FUN_18057f890(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { uint uVar1; uint *puVar2; longlong local_res8; longlong *local_res10; longlong *local_res18; longlong local_res20; local_res8 = *param_3; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } local_res20 = *param_2; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } local_res10 = param_2; local_res18 = param_3; FUN_1815d7db0(param_1,&local_res20,&local_res8,param_4,0xfffffffffffffffe); *param_1 = GraphLabels::Label::vftable; param_1[0x16] = GraphLabels::Label::vftable; param_1[0x18] = GraphLabels::Label::vftable; param_1[0x19] = GraphLabels::Label::vftable; param_1[0x1a] = GraphLabels::Label::vftable; param_1[0x41] = GraphLabels::Label::vftable; param_1[0x44] = GraphLabels::Label::vftable; param_1[0x47] = GraphLabels::Label::vftable; param_1[0x48] = GraphLabels::Label::vftable; param_1[0x94] = 0; puVar2 = (uint *)(*param_2 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } puVar2 = (uint *)(*param_3 + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } return param_1; } ############ FUN_ 180586090 size=545 ############ longlong FUN_180586090(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; undefined8 uVar2; longlong *plVar3; void *pvVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; ulonglong uVar8; longlong lVar9; undefined8 *puVar10; void *_Memory; longlong *plVar11; longlong lVar12; undefined8 *puVar13; ulonglong uVar14; ulonglong uVar15; lVar9 = *param_1; lVar12 = (longlong)param_2 - lVar9 >> 3; lVar5 = param_1[1] - lVar9 >> 3; if (lVar5 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar8 = param_1[2] - lVar9 >> 3; uVar1 = lVar5 + 1; uVar6 = uVar1; if ((uVar8 <= 0x1fffffffffffffff - (uVar8 >> 1)) && (uVar6 = (uVar8 >> 1) + uVar8, uVar6 < uVar1)) { uVar6 = uVar1; } lVar9 = uVar6 * 8; if (0x1fffffffffffffff < uVar6) { lVar9 = -1; } puVar7 = (undefined8 *)FUN_180480500(lVar9); uVar8 = 0; lVar9 = lVar12 * 8; puVar7[lVar12] = *param_3; puVar13 = (undefined8 *)param_1[1]; puVar10 = (undefined8 *)*param_1; if (param_2 == puVar13) { uVar14 = (ulonglong)((longlong)puVar13 + (7 - (longlong)puVar10)) >> 3; if (puVar13 < puVar10) { uVar14 = uVar8; } puVar13 = puVar7; if (uVar14 != 0) { do { uVar2 = *puVar10; *puVar10 = 0; puVar10 = puVar10 + 1; uVar8 = uVar8 + 1; *puVar13 = uVar2; puVar13 = puVar13 + 1; } while (uVar8 != uVar14); } } else { uVar14 = (ulonglong)((longlong)param_2 + (7 - (longlong)puVar10)) >> 3; if (param_2 < puVar10) { uVar14 = uVar8; } puVar13 = puVar7; uVar15 = uVar8; if (uVar14 != 0) { do { uVar2 = *puVar10; *puVar10 = 0; puVar10 = puVar10 + 1; uVar15 = uVar15 + 1; *puVar13 = uVar2; puVar13 = puVar13 + 1; } while (uVar15 != uVar14); } uVar14 = (param_1[1] - (longlong)param_2) + 7U >> 3; if ((undefined8 *)param_1[1] < param_2) { uVar14 = uVar8; } if (uVar14 != 0) { lVar5 = lVar9 - (longlong)param_2; do { uVar2 = *param_2; uVar8 = uVar8 + 1; *param_2 = 0; *(undefined8 *)((longlong)puVar7 + lVar5 + 8 + (longlong)param_2) = uVar2; param_2 = param_2 + 1; } while (uVar8 != uVar14); } } plVar11 = (longlong *)*param_1; if (plVar11 != (longlong *)0x0) { plVar3 = (longlong *)param_1[1]; for (; plVar11 != plVar3; plVar11 = plVar11 + 1) { puVar10 = (undefined8 *)*plVar11; if (puVar10 != (undefined8 *)0x0) { (**(code **)*puVar10)(puVar10,1); } } pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (param_1[2] - (longlong)pvVar4 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + uVar1); param_1[2] = (longlong)(puVar7 + uVar6); return *param_1 + lVar9; } ############ FUN_ 18056ff40 size=292 ############ undefined8 * FUN_18056ff40(longlong *param_1,undefined8 *param_2,undefined8 param_3,int *param_4,void *param_5) { char cVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; bool bVar5; undefined1 local_res8 [8]; puVar3 = (undefined8 *)*param_1; bVar5 = true; puVar4 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar2 = (undefined8 *)puVar3[1]; do { puVar4 = puVar2; bVar5 = *param_4 < *(int *)((longlong)puVar4 + 0x1c); if (bVar5) { puVar2 = (undefined8 *)*puVar4; } else { puVar2 = (undefined8 *)puVar4[2]; } } while (*(char *)((longlong)puVar2 + 0x19) == '\0'); } if (bVar5) { if (puVar4 == (undefined8 *)*puVar3) { puVar3 = (undefined8 *)FUN_18056fd10(param_1,local_res8,1); *param_2 = *puVar3; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar4 + 0x19) == '\0') { puVar3 = (undefined8 *)*puVar4; if (*(char *)((longlong)puVar3 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = puVar3; puVar3 = (undefined8 *)puVar3[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = puVar3; puVar3 = (undefined8 *)puVar3[2]; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar3 = (undefined8 *)puVar4[1]; while ((puVar2 = puVar3, cVar1 == '\0' && (puVar4 == (undefined8 *)*puVar2))) { cVar1 = *(char *)((longlong)puVar2[1] + 0x19); puVar3 = (undefined8 *)puVar2[1]; puVar4 = puVar2; } if (*(char *)((longlong)puVar4 + 0x19) == '\0') { puVar4 = puVar2; } } } else { puVar4 = (undefined8 *)puVar4[2]; } } if (*(int *)((longlong)puVar4 + 0x1c) < *param_4) { puVar3 = (undefined8 *)FUN_18056fd10(param_1,local_res8); *param_2 = *puVar3; *(undefined1 *)(param_2 + 1) = 1; return param_2; } /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 18056d7c0 size=52 ############ void * FUN_18056d7c0(void *param_1,ulonglong param_2) { FUN_18134caa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18056e080 size=79 ############ void * FUN_18056e080(void *param_1,ulonglong param_2) { FUN_181349e00((longlong)param_1 + 0x100); FUN_180485f00((longlong)param_1 + 0xf0); FUN_18056e0d0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180571050 size=52 ############ void * FUN_180571050(void *param_1,ulonglong param_2) { FUN_180560070(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805717c0 size=105 ############ undefined8 * FUN_1805717c0(undefined8 *param_1,undefined8 *param_2) { undefined8 uVar1; void *_Memory; undefined8 *puVar2; if (param_1 == param_2) { return param_1; } uVar1 = *param_2; *param_2 = 0; _Memory = (void *)*param_1; *param_1 = uVar1; if (_Memory != (void *)0x0) { DeleteCriticalSection((LPCRITICAL_SECTION)((longlong)_Memory + 0x1c)); puVar2 = *(undefined8 **)((longlong)_Memory + 8); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } /* WARNING: Subroutine does not return */ free(_Memory); } return param_1; } ############ FUN_ 180572000 size=540 ############ undefined8 * FUN_180572000(undefined8 param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; longlong lVar2; ulonglong uVar3; undefined8 *puVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 *puVar7; longlong lVar8; ulonglong uVar9; ulonglong uVar10; lVar8 = (longlong)param_2 - (longlong)DAT_182674290 >> 3; lVar2 = (longlong)DAT_182674298 - (longlong)DAT_182674290 >> 3; if (lVar2 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar5 = (longlong)DAT_1826742a0 - (longlong)DAT_182674290 >> 3; uVar1 = lVar2 + 1; uVar3 = uVar1; if ((uVar5 <= 0x1fffffffffffffff - (uVar5 >> 1)) && (uVar3 = (uVar5 >> 1) + uVar5, uVar3 < uVar1)) { uVar3 = uVar1; } lVar2 = uVar3 * 8; if (0x1fffffffffffffff < uVar3) { lVar2 = -1; } puVar4 = (undefined8 *)FUN_180480500(lVar2); puVar4[lVar8] = *param_3; uVar5 = 0; if (param_2 == DAT_182674298) { uVar9 = (ulonglong)((longlong)DAT_182674298 + (7 - (longlong)DAT_182674290)) >> 3; if (DAT_182674298 < DAT_182674290) { uVar9 = uVar5; } puVar6 = DAT_182674290; puVar7 = puVar4; if (uVar9 != 0) { do { uVar5 = uVar5 + 1; *puVar7 = *puVar6; puVar7 = puVar7 + 1; puVar6 = puVar6 + 1; } while (uVar5 != uVar9); } } else { uVar9 = (ulonglong)((longlong)param_2 + (7 - (longlong)DAT_182674290)) >> 3; if (param_2 < DAT_182674290) { uVar9 = uVar5; } puVar7 = DAT_182674290; puVar6 = puVar4; uVar10 = uVar5; if (uVar9 != 0) { do { uVar10 = uVar10 + 1; *puVar6 = *puVar7; puVar7 = puVar7 + 1; puVar6 = puVar6 + 1; } while (uVar10 != uVar9); } uVar9 = (ulonglong)((longlong)DAT_182674298 + (7 - (longlong)param_2)) >> 3; if (DAT_182674298 < param_2) { uVar9 = uVar5; } if (uVar9 != 0) { lVar2 = lVar8 * 8 - (longlong)param_2; do { uVar5 = uVar5 + 1; *(undefined8 *)((longlong)param_2 + (longlong)puVar4 + lVar2 + 8) = *param_2; param_2 = param_2 + 1; } while (uVar5 != uVar9); } } if (DAT_182674290 != (undefined8 *)0x0) { puVar4 = DAT_182674290; if ((0xfff < ((longlong)DAT_1826742a0 - (longlong)DAT_182674290 & 0xfffffffffffffff8U)) && (puVar4 = (undefined8 *)DAT_182674290[-1], 0x1f < (ulonglong)((longlong)DAT_182674290 + (-8 - (longlong)puVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(puVar4); } DAT_182674290 = puVar4; DAT_182674298 = puVar4 + uVar1; DAT_1826742a0 = puVar4 + uVar3; return puVar4 + lVar8; } ############ FUN_ 180572480 size=98 ############ void FUN_180572480(longlong param_1,longlong *param_2,undefined4 param_3,undefined8 param_4) { uint uVar1; longlong *plVar2; uint *_Memory; undefined4 local_res18 [4]; plVar2 = *(longlong **)(param_1 + 0x38); local_res18[0] = param_3; if (plVar2 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(*plVar2 + 0x10))(plVar2,param_2,local_res18,param_4,0xfffffffffffffffe); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 1805742c0 size=340 ############ undefined8 * FUN_1805742c0(longlong *param_1,undefined8 *param_2,undefined8 param_3,ulonglong *param_4, void *param_5) { char cVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; bool bVar5; undefined1 local_res8 [8]; puVar3 = (undefined8 *)*param_1; bVar5 = true; puVar4 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar2 = (undefined8 *)puVar3[1]; do { puVar4 = puVar2; bVar5 = *param_4 < (ulonglong)puVar4[4]; if (bVar5) { puVar2 = (undefined8 *)*puVar4; } else { puVar2 = (undefined8 *)puVar4[2]; } } while (*(char *)((longlong)puVar2 + 0x19) == '\0'); } if (bVar5) { if (puVar4 == (undefined8 *)*puVar3) { puVar3 = (undefined8 *)FUN_180574090(param_1,local_res8,1); *param_2 = *puVar3; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar4 + 0x19) == '\0') { puVar3 = (undefined8 *)*puVar4; if (*(char *)((longlong)puVar3 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = puVar3; puVar3 = (undefined8 *)puVar3[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = puVar3; puVar3 = (undefined8 *)puVar3[2]; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar3 = (undefined8 *)puVar4[1]; while ((puVar2 = puVar3, cVar1 == '\0' && (puVar4 == (undefined8 *)*puVar2))) { cVar1 = *(char *)((longlong)puVar2[1] + 0x19); puVar3 = (undefined8 *)puVar2[1]; puVar4 = puVar2; } if (*(char *)((longlong)puVar4 + 0x19) == '\0') { puVar4 = puVar2; } } } else { puVar4 = (undefined8 *)puVar4[2]; } } if ((ulonglong)puVar4[4] < *param_4) { puVar3 = (undefined8 *)FUN_180574090(param_1,local_res8); *param_2 = *puVar3; *(undefined1 *)(param_2 + 1) = 1; return param_2; } FUN_18056d800((longlong)param_5 + 0x20); /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 180575990 size=52 ############ void * .?AVSoothe2_DynamicCryptoManager@eden@pace@@:: vtbl___AVSoothe2_DynamicCryptoManager_eden_pace__(void *param_1,ulonglong param_2) { FUN_180575920(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180575c00 size=52 ############ void * FUN_180575c00(void *param_1,ulonglong param_2) { FUN_1805759d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180575c40 size=43 ############ undefined8 * .?AVSoothe2_DynamicCryptoManager@eden@pace@@::vtbl___AVSoothe2_DynamicCryptoManager_eden_pace__ (undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::Soothe2_DynamicCryptoManager::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180576d60 size=52 ############ void * FUN_180576d60(void *param_1,ulonglong param_2) { FUN_180576bb0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180576db0 size=43 ############ undefined8 * FUN_180576db0(undefined8 *param_1,ulonglong param_2) { *param_1 = CloudyPopupMenu::Listener::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577170 size=85 ############ void * FUN_180577170(void *param_1,uint param_2) { if (*(longlong *)((longlong)param_1 + 0x278) != 0) { FUN_18056a070(); } FUN_180560070((longlong)param_1 + 0xd0); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805771e0 size=91 ############ void * FUN_1805771e0(void *param_1,ulonglong param_2) { FUN_180576bb0((longlong)param_1 + 0x238); FUN_1805772c0((longlong)param_1 + 0xf8); FUN_1812472e0((longlong)param_1 + 200); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577360 size=157 ############ void * FUN_180577360(void *param_1,ulonglong param_2) { void *pvVar1; void *_Memory; pvVar1 = *(void **)((longlong)param_1 + 200); if (pvVar1 == (void *)0x0) { FUN_18134caa0(param_1); if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } _Memory = pvVar1; if ((0xfff < (ulonglong) (((*(longlong *)((longlong)param_1 + 0xd8) - (longlong)pvVar1) / 0x14) * 0x14)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180577420 size=134 ############ void * FUN_180577420(void *param_1,ulonglong param_2) { if (*(void **)((longlong)param_1 + 0x298) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)param_1 + 0x298)); } if (*(void **)((longlong)param_1 + 0x290) != (void *)0x0) { /* WARNING: Subroutine does not return */ free(*(void **)((longlong)param_1 + 0x290)); } FUN_180560070((longlong)param_1 + 0xe0); *(undefined ***)((longlong)param_1 + 200) = juce::Timer::vftable; FUN_1812a7720(); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577520 size=52 ############ void * FUN_180577520(void *param_1,ulonglong param_2) { FUN_1805772c0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577560 size=52 ############ void * FUN_180577560(void *param_1,ulonglong param_2) { FUN_1814cca20(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1814cca20 size=533 ############ void FUN_1814cca20(undefined8 *param_1) { undefined8 *puVar1; undefined8 *puVar2; longlong lVar3; void *pvVar4; undefined8 *puVar5; longlong lVar6; void *pvVar7; undefined8 *puVar8; *param_1 = CloudyTutorialStep::vftable; puVar1 = (undefined8 *)param_1[0xf]; for (puVar8 = (undefined8 *)param_1[0xe]; puVar8 != puVar1; puVar8 = puVar8 + 0xc) { puVar2 = (undefined8 *)puVar8[1]; for (puVar5 = (undefined8 *)*puVar8; puVar5 != puVar2; puVar5 = puVar5 + 3) { FUN_1811bc940(*puVar5,param_1); } } if (param_1[0x18] != 0) { FUN_1805798f0(); } lVar6 = param_1[0x15]; if (lVar6 != 0) { lVar3 = param_1[0x16]; for (; lVar6 != lVar3; lVar6 = lVar6 + 0x30) { FUN_1812472e0(lVar6); } pvVar4 = (void *)param_1[0x15]; pvVar7 = pvVar4; if ((0xfff < (ulonglong)(((param_1[0x17] - (longlong)pvVar4) / 0x30) * 0x30)) && (pvVar7 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } FUN_1804884f0(param_1 + 0x12); lVar6 = param_1[0xe]; if (lVar6 == 0) { lVar6 = param_1[0xc]; FUN_180579890(param_1 + 0xc,*(undefined8 *)(lVar6 + 8)); *(longlong *)(param_1[0xc] + 8) = lVar6; *(longlong *)param_1[0xc] = lVar6; *(longlong *)(param_1[0xc] + 0x10) = lVar6; param_1[0xd] = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0xc]); } lVar3 = param_1[0xf]; for (; lVar6 != lVar3; lVar6 = lVar6 + 0x60) { if (*(longlong *)(lVar6 + 0x50) != 0) { FUN_1805798f0(); } FUN_1812472e0(lVar6 + 0x18); FUN_180569d10(lVar6); } pvVar4 = (void *)param_1[0xe]; pvVar7 = pvVar4; if ((0xfff < (ulonglong)(((param_1[0x10] - (longlong)pvVar4) / 0x60) * 0x60)) && (pvVar7 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } ############ FUN_ 180577680 size=52 ############ void * FUN_180577680(void *param_1,ulonglong param_2) { FUN_1814c9750(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577700 size=52 ############ void * FUN_180577700(void *param_1,ulonglong param_2) { FUN_1814c5ed0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805777e0 size=152 ############ void * FUN_1805777e0(void *param_1,uint param_2) { int *piVar1; int iVar2; uint uVar3; undefined8 *puVar4; uint *_Memory; puVar4 = *(undefined8 **)((longlong)param_1 + 0xe8); if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0xe0) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1804884f0((longlong)param_1 + 200); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577880 size=93 ############ void * FUN_180577880(void *param_1,uint param_2) { int *piVar1; int iVar2; undefined8 *puVar3; puVar3 = *(undefined8 **)((longlong)param_1 + 200); if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805778e0 size=52 ############ void * FUN_1805778e0(void *param_1,ulonglong param_2) { FUN_180577920(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577920 size=115 ############ void FUN_180577920(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; longlong lVar2; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; FUN_180485f00(param_1 + 0x888); plVar1 = (longlong *)(param_1 + 0x878); lVar2 = *plVar1; FUN_1804df860(plVar1,*(undefined8 *)(lVar2 + 8),param_3,param_4,uVar3); *(longlong *)(*plVar1 + 8) = lVar2; *(longlong *)*plVar1 = lVar2; *(longlong *)(*plVar1 + 0x10) = lVar2; *(undefined8 *)(param_1 + 0x880) = 0; /* WARNING: Subroutine does not return */ free((void *)*plVar1); } ############ FUN_ 180577a30 size=116 ############ void FUN_180577a30(longlong param_1) { uint uVar1; undefined8 *puVar2; uint *_Memory; puVar2 = *(undefined8 **)(param_1 + 0x650); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Memory = (uint *)(*(longlong *)(param_1 + 0x640) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180577b60(param_1 + 0x2f0); *(undefined4 *)(param_1 + 0x2cc) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x2c0)); } ############ FUN_ 180577bd0 size=67 ############ void * FUN_180577bd0(void *param_1,ulonglong param_2) { FUN_1805770d0((longlong)param_1 + 0x880); FUN_1815ef230(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577c20 size=67 ############ void * FUN_180577c20(void *param_1,ulonglong param_2) { FUN_1805770d0((longlong)param_1 + 0x878); FUN_1815ef230(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577c70 size=262 ############ void FUN_180577c70(undefined8 *param_1) { void *pvVar1; undefined8 *puVar2; void *_Memory; pvVar1 = (void *)param_1[0x5f]; if (pvVar1 != (void *)0x0) { FUN_18056ae80(pvVar1); /* WARNING: Subroutine does not return */ free(pvVar1); } FUN_18052fa60(param_1 + 0x5b); pvVar1 = (void *)param_1[0x58]; if (pvVar1 == (void *)0x0) { puVar2 = (undefined8 *)param_1[0x57]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar2 = (undefined8 *)param_1[0x56]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } param_1[0x53] = juce::Timer::vftable; FUN_1812a7720(); *param_1 = ConfigMenuInterface::vftable; param_1[0x50] = ConfigMenuInterface::vftable; FUN_180560070(param_1 + 0x1c); *(undefined4 *)((longlong)param_1 + 0xbc) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x16]); } _Memory = pvVar1; if ((0xfff < (param_1[0x5a] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180577dc0 size=52 ############ void * FUN_180577dc0(void *param_1,ulonglong param_2) { FUN_18056e0d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577e00 size=81 ############ void * FUN_180577e00(void *param_1,ulonglong param_2) { *(undefined ***)((longlong)param_1 + 0x490) = ConfigOption::vftable; FUN_180577e60((longlong)param_1 + 0xf8); FUN_18056e0d0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577ef0 size=67 ############ void * FUN_180577ef0(void *param_1,ulonglong param_2) { FUN_180577e60((longlong)param_1 + 0xf8); FUN_18056e0d0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180577f40 size=52 ############ void * FUN_180577f40(void *param_1,ulonglong param_2) { FUN_1814b3ef0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1814b3ef0 size=424 ############ void FUN_1814b3ef0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; uint *puVar3; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; *param_1 = PluginUpdateComponent::vftable; param_1[0x16] = PluginUpdateComponent::vftable; param_1[0x19] = PluginUpdateComponent::vftable; param_1[0x1a] = PluginUpdateComponent::vftable; param_1[0x1b] = PluginUpdateComponent::vftable; if (*(char *)(param_1 + 0x32) != '\0') { FUN_18114e850(); } param_1[0x39] = ConfigOption::vftable; puVar2 = (undefined8 *)param_1[0x37]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1,param_3,param_4,uVar4); } puVar2 = (undefined8 *)param_1[0x36]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar2 = (undefined8 *)param_1[0x35]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } FUN_1804858a0(param_1 + 0x29); puVar3 = (uint *)(param_1[0x28] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(param_1[0x27] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(param_1[0x25] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(param_1[0x24] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0x1e)); param_1[0x1b] = juce::Timer::vftable; FUN_1812a7720(param_1 + 0x1b); FUN_18134caa0(param_1); return; } ############ FUN_ 18057c040 size=437 ############ void FUN_18057c040(longlong *param_1,longlong param_2,longlong param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; ulonglong uVar5; void *_Memory; ulonglong uVar6; longlong lVar7; longlong lVar8; uVar2 = (param_3 - param_2) / 0x70; lVar4 = *param_1; uVar6 = (param_1[1] - lVar4) / 0x70; uVar3 = (param_1[2] - lVar4) / 0x70; if (uVar3 < uVar2) { if (0x249249249249249 < uVar2) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar5 = uVar3 >> 1; uVar6 = uVar2; if ((uVar3 <= 0x249249249249249 - uVar5) && (uVar6 = uVar5 + uVar3, uVar5 + uVar3 < uVar2)) { uVar6 = uVar2; } if (lVar4 != 0) { FUN_18056a720(uVar5,lVar4,param_1[1]); pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < uVar3 * 0x70) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } FUN_180569f80(param_1,uVar6); lVar4 = FUN_18056d260(param_1,param_2,param_3,*param_1); param_1[1] = lVar4; } else if (uVar6 < uVar2) { lVar7 = uVar6 * 0x70 + param_2; FUN_18057d3a0(param_2,lVar7,lVar4,lVar4,0xfffffffffffffffe); lVar4 = FUN_18056d260(param_1,lVar7,param_3,param_1[1]); param_1[1] = lVar4; } else { FUN_18057d3a0(param_2,param_3,lVar4,lVar4,0xfffffffffffffffe); lVar7 = param_1[1]; lVar4 = uVar2 * 0x70 + lVar4; for (lVar8 = lVar4; lVar8 != lVar7; lVar8 = lVar8 + 0x70) { FUN_180569ed0(lVar8); } param_1[1] = lVar4; } return; } ############ FUN_ 180577ff0 size=109 ############ undefined8 * FUN_180577ff0(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; plVar1 = (longlong *)param_1[10]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 3); param_1[10] = 0; } *param_1 = juce::Timer::vftable; FUN_1812a7720(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180578060 size=76 ############ undefined8 * FUN_180578060(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::TextButton::vftable; param_1[0x16] = juce::TextButton::vftable; FUN_181337760(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805780b0 size=52 ############ void * FUN_1805780b0(void *param_1,ulonglong param_2) { FUN_1814a9370(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805780f0 size=246 ############ void * FUN_1805780f0(void *param_1,ulonglong param_2) { uint uVar1; void *_Memory; undefined8 *puVar2; longlong *plVar3; uint *_Memory_00; FUN_180560070((longlong)param_1 + 0x148); _Memory = *(void **)((longlong)param_1 + 0x140); if (_Memory != (void *)0x0) { FUN_1811e6b70(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } _Memory_00 = (uint *)(*(longlong *)((longlong)param_1 + 0x130) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } puVar2 = *(undefined8 **)((longlong)param_1 + 0x118); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } puVar2 = *(undefined8 **)((longlong)param_1 + 0x110); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } plVar3 = *(longlong **)((longlong)param_1 + 0x108); if (plVar3 != (longlong *)0x0) { (**(code **)(*plVar3 + 0x20))(plVar3,plVar3 != (longlong *)((longlong)param_1 + 0xd0)); *(undefined8 *)((longlong)param_1 + 0x108) = 0; } *(undefined ***)((longlong)param_1 + 200) = ProcessorStateManagerOptionListener::vftable; FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805781f0 size=52 ############ void * FUN_1805781f0(void *param_1,ulonglong param_2) { FUN_180578230(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180578230 size=143 ############ void FUN_180578230(undefined8 *param_1) { uint uVar1; void *_Memory; uint *_Memory_00; _Memory = (void *)param_1[0x41]; if (_Memory != (void *)0x0) { FUN_1811e6b70(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } _Memory_00 = (uint *)(param_1[0x3f] + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } param_1[0x3c] = ProcessorStateManagerOptionListener::vftable; *param_1 = juce::TextButton::vftable; param_1[0x16] = juce::TextButton::vftable; FUN_181337760(param_1); return; } ############ FUN_ 180578360 size=191 ############ void * FUN_180578360(void *param_1,ulonglong param_2) { uint uVar1; uint *puVar2; FUN_180577740((longlong)param_1 + 0x490); puVar2 = (uint *)(*(longlong *)((longlong)param_1 + 0x480) + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } FUN_1812e2030((longlong)param_1 + 0x148); FUN_180488cd0((longlong)param_1 + 0x100); puVar2 = (uint *)(*(longlong *)((longlong)param_1 + 0xd0) + -0x10); if ((*puVar2 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar2; *puVar2 = *puVar2 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar2); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180578470 size=119 ############ void FUN_180578470(longlong param_1) { uint uVar1; undefined8 *puVar2; uint *_Memory; _Memory = (uint *)(*(longlong *)(param_1 + 0x2a8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_180560070(param_1 + 0x108); puVar2 = *(undefined8 **)(param_1 + 0x100); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } *(undefined4 *)(param_1 + 0xfc) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0xf0)); } ############ FUN_ 180578540 size=97 ############ void * FUN_180578540(void *param_1,ulonglong param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0xd0) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180578a00 size=52 ############ void * FUN_180578a00(void *param_1,ulonglong param_2) { FUN_180578a40(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180578b60 size=52 ############ void * FUN_180578b60(void *param_1,ulonglong param_2) { FUN_18144f9b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180578bb0 size=52 ############ void * FUN_180578bb0(void *param_1,ulonglong param_2) { FUN_1814d56b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180579b20 size=164 ############ void FUN_180579b20(longlong param_1,longlong *param_2) { uint uVar1; code *pcVar2; longlong lVar3; uint *puVar4; if (*(longlong **)(param_1 + 0x38) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } pcVar2 = *(code **)(**(longlong **)(param_1 + 0x38) + 0x10); if (pcVar2 == FUN_18057c780) { lVar3 = *param_2; *param_2 = (longlong)&DAT_1821dbf98; puVar4 = (uint *)(lVar3 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } else { (*pcVar2)(); } puVar4 = (uint *)(*param_2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return; } ############ FUN_ 1814cdcf0 size=230 ############ void FUN_1814cdcf0(longlong param_1,longlong param_2) { int iVar1; longlong lVar2; undefined8 *_Memory; int *piVar3; if (param_1 + 0x100 != param_2) { FUN_18049aca0(param_1 + 0x110); if (*(longlong *)(param_1 + 0x108) != 0) { _Memory = *(undefined8 **)(param_1 + 0x108); *(undefined8 *)(param_1 + 0x108) = *_Memory; FUN_1812472e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } if ((*(uint *)(*(longlong *)(param_2 + 0x18) + -0x10) & 0x30000000) == 0) { LOCK(); piVar3 = (int *)(*(longlong *)(param_2 + 0x18) + -0x10); *piVar3 = *piVar3 + 1; UNLOCK(); } LOCK(); lVar2 = *(longlong *)(param_1 + 0x118); *(longlong *)(param_1 + 0x118) = *(longlong *)(param_2 + 0x18); UNLOCK(); piVar3 = (int *)(lVar2 + -0x10); if ((*(uint *)(lVar2 + -0x10) & 0x30000000) == 0) { LOCK(); iVar1 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar1 == 0) { /* WARNING: Subroutine does not return */ free(piVar3); } } FUN_1812217a0(param_1 + 0x100,param_2); } FUN_1814cd650(param_1); if (((*(byte *)(param_1 + 0xa8) & 2) != 0) && (*(longlong *)(param_1 + 0xb8) != 0)) { FUN_1814cddf0(param_1); return; } return; } ############ FUN_ 18057adf0 size=527 ############ longlong FUN_18057adf0(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; longlong lVar2; undefined8 *puVar3; void *pvVar4; ulonglong uVar5; undefined8 uVar6; undefined8 *puVar7; undefined8 *puVar8; longlong lVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; lVar2 = *param_1; lVar9 = (param_1[1] - lVar2) / 0x14; if (lVar9 == 0xccccccccccccccc) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar1 = lVar9 + 1; uVar5 = (param_1[2] - lVar2) / 0x14; uVar11 = uVar1; if ((uVar5 <= 0xccccccccccccccc - (uVar5 >> 1)) && (uVar11 = uVar5 + (uVar5 >> 1), uVar11 < uVar1) ) { uVar11 = uVar1; } lVar9 = uVar11 * 0x14; if (0xccccccccccccccc < uVar11) { lVar9 = -1; } puVar8 = (undefined8 *)FUN_180480500(lVar9); uVar6 = param_3[1]; lVar2 = (((longlong)param_2 - lVar2) / 0x14) * 0x14; *(undefined8 *)(lVar2 + (longlong)puVar8) = *param_3; ((undefined8 *)(lVar2 + (longlong)puVar8))[1] = uVar6; *(undefined4 *)(lVar2 + 0x10 + (longlong)puVar8) = *(undefined4 *)(param_3 + 2); puVar3 = (undefined8 *)param_1[1]; puVar10 = (undefined8 *)*param_1; puVar7 = puVar8; if (param_2 == puVar3) { for (; puVar10 != puVar3; puVar10 = (undefined8 *)((longlong)puVar10 + 0x14)) { uVar6 = puVar10[1]; *puVar7 = *puVar10; puVar7[1] = uVar6; *(undefined4 *)(puVar7 + 2) = *(undefined4 *)(puVar10 + 2); puVar7 = (undefined8 *)((longlong)puVar7 + 0x14); } } else { for (; puVar10 != param_2; puVar10 = (undefined8 *)((longlong)puVar10 + 0x14)) { uVar6 = puVar10[1]; *puVar7 = *puVar10; puVar7[1] = uVar6; *(undefined4 *)(puVar7 + 2) = *(undefined4 *)(puVar10 + 2); puVar7 = (undefined8 *)((longlong)puVar7 + 0x14); } puVar3 = (undefined8 *)param_1[1]; if (param_2 != puVar3) { lVar9 = lVar2 - (longlong)param_2; do { uVar6 = param_2[1]; puVar10 = (undefined8 *)((longlong)puVar8 + lVar9 + 0x14 + (longlong)param_2); *puVar10 = *param_2; puVar10[1] = uVar6; *(undefined4 *)((longlong)puVar8 + lVar9 + 0x24 + (longlong)param_2) = *(undefined4 *)(param_2 + 2); param_2 = (undefined8 *)((longlong)param_2 + 0x14); } while (param_2 != puVar3); } } pvVar4 = (void *)*param_1; if (pvVar4 != (void *)0x0) { _Memory = pvVar4; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar4) / 0x14) * 0x14)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = (longlong)puVar8; param_1[1] = (longlong)puVar8 + uVar1 * 0x14; param_1[2] = uVar11 * 0x14 + (longlong)puVar8; return *param_1 + lVar2; } ############ FUN_ 18057b0a0 size=653 ############ longlong FUN_18057b0a0(longlong *param_1,longlong param_2,undefined8 *param_3) { ulonglong uVar1; undefined4 *puVar2; undefined8 uVar3; void *pvVar4; ulonglong uVar5; undefined4 uVar6; undefined4 uVar7; undefined4 uVar8; ulonglong uVar9; longlong lVar10; longlong lVar11; longlong lVar12; longlong lVar13; void *_Memory; longlong lVar14; lVar13 = *param_1; lVar12 = (param_2 - lVar13) / 6 + (param_2 - lVar13 >> 0x3f); lVar11 = (param_1[1] - lVar13) / 0x60; if (lVar11 == 0x2aaaaaaaaaaaaaa) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar1 = lVar11 + 1; uVar5 = (param_1[2] - lVar13) / 0x60; uVar9 = uVar1; if ((uVar5 <= 0x2aaaaaaaaaaaaaa - (uVar5 >> 1)) && (uVar9 = (uVar5 >> 1) + uVar5, uVar9 < uVar1)) { uVar9 = uVar1; } lVar10 = FUN_180480500(); lVar14 = ((lVar12 >> 4) - (lVar12 >> 0x3f)) * 0x60; *(undefined8 *)(lVar10 + lVar14) = 0; *(undefined8 *)(lVar10 + 8 + lVar14) = 0; *(undefined8 *)(lVar10 + 0x10 + lVar14) = 0; *(undefined8 *)(lVar10 + lVar14) = *param_3; *(undefined8 *)(lVar10 + 8 + lVar14) = param_3[1]; *(undefined8 *)(lVar10 + 0x10 + lVar14) = param_3[2]; *param_3 = 0; param_3[1] = 0; param_3[2] = 0; *(undefined8 *)(lVar10 + 0x18 + lVar14) = param_3[3]; param_3[3] = 0; *(undefined8 *)(lVar10 + 0x20 + lVar14) = param_3[4]; param_3[4] = 0; *(undefined8 *)(lVar10 + 0x28 + lVar14) = param_3[5]; param_3[5] = 0; *(undefined8 *)(lVar10 + 0x30 + lVar14) = param_3[6]; param_3[6] = &DAT_1821dbf98; uVar6 = *(undefined4 *)((longlong)param_3 + 0x3c); uVar7 = *(undefined4 *)(param_3 + 8); uVar8 = *(undefined4 *)((longlong)param_3 + 0x44); puVar2 = (undefined4 *)(lVar10 + 0x38 + lVar14); *puVar2 = *(undefined4 *)(param_3 + 7); puVar2[1] = uVar6; puVar2[2] = uVar7; puVar2[3] = uVar8; *(undefined8 *)(lVar10 + 0x48 + lVar14) = param_3[9]; uVar3 = param_3[10]; param_3[10] = 0; *(undefined8 *)(lVar10 + 0x50 + lVar14) = uVar3; *(undefined1 *)(lVar10 + 0x58 + lVar14) = *(undefined1 *)(param_3 + 0xb); lVar13 = param_1[1]; lVar11 = *param_1; lVar12 = lVar10; if (param_2 != lVar13) { FUN_18057c200(*param_1,param_2,lVar10); lVar13 = param_1[1]; lVar12 = lVar14 + 0x60 + lVar10; lVar11 = param_2; } FUN_18057c200(lVar11,lVar13,lVar12); lVar13 = *param_1; if (lVar13 == 0) { *param_1 = lVar10; param_1[1] = uVar1 * 0x60 + lVar10; param_1[2] = uVar9 * 0x60 + lVar10; return *param_1 + lVar14; } lVar11 = param_1[1]; for (; lVar13 != lVar11; lVar13 = lVar13 + 0x60) { if (*(longlong *)(lVar13 + 0x50) != 0) { FUN_1805798f0(); } FUN_1812472e0(lVar13 + 0x18); FUN_180569d10(lVar13); } pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar4) / 0x60) * 0x60)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18057b330 size=576 ############ longlong FUN_18057b330(longlong *param_1,longlong param_2,undefined8 *param_3) { ulonglong uVar1; void *pvVar2; ulonglong uVar3; ulonglong uVar4; longlong lVar5; longlong lVar6; longlong lVar7; longlong lVar8; void *_Memory; longlong lVar9; lVar8 = *param_1; lVar6 = (param_2 - lVar8) / 6 + (param_2 - lVar8 >> 0x3f); lVar7 = (param_1[1] - lVar8) / 0x30; if (lVar7 == 0x555555555555555) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar1 = lVar7 + 1; uVar3 = (param_1[2] - lVar8) / 0x30; uVar4 = uVar1; if ((uVar3 <= 0x555555555555555 - (uVar3 >> 1)) && (uVar4 = (uVar3 >> 1) + uVar3, uVar4 < uVar1)) { uVar4 = uVar1; } lVar5 = FUN_180480500(); lVar9 = ((lVar6 >> 3) - (lVar6 >> 0x3f)) * 0x30; *(undefined8 *)(lVar9 + lVar5) = *param_3; *param_3 = 0; *(undefined8 *)(lVar9 + 8 + lVar5) = param_3[1]; param_3[1] = 0; *(undefined8 *)(lVar9 + 0x10 + lVar5) = param_3[2]; param_3[2] = 0; *(undefined8 *)(lVar9 + 0x18 + lVar5) = param_3[3]; param_3[3] = &DAT_1821dbf98; lVar8 = *param_1; *(undefined4 *)(lVar9 + 0x20 + lVar5) = *(undefined4 *)(param_3 + 4); *(undefined4 *)(lVar9 + 0x24 + lVar5) = *(undefined4 *)((longlong)param_3 + 0x24); *(undefined4 *)(lVar9 + 0x28 + lVar5) = *(undefined4 *)(param_3 + 5); *(undefined4 *)(lVar9 + 0x2c + lVar5) = *(undefined4 *)((longlong)param_3 + 0x2c); lVar7 = param_1[1]; lVar6 = lVar5; if (param_2 != lVar7) { FUN_18057c2f0(lVar8,param_2,lVar5); lVar7 = param_1[1]; lVar6 = lVar9 + 0x30 + lVar5; lVar8 = param_2; } FUN_18057c2f0(lVar8,lVar7,lVar6); lVar8 = *param_1; if (lVar8 == 0) { *param_1 = lVar5; param_1[1] = uVar1 * 0x30 + lVar5; param_1[2] = lVar5 + uVar4 * 0x30; return *param_1 + lVar9; } lVar7 = param_1[1]; for (; lVar8 != lVar7; lVar8 = lVar8 + 0x30) { FUN_1812472e0(lVar8); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x30) * 0x30)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18057b580 size=563 ############ longlong FUN_18057b580(longlong *param_1,undefined8 *param_2,undefined8 *param_3) { ulonglong uVar1; undefined8 *puVar2; void *pvVar3; ulonglong uVar4; undefined8 uVar5; undefined8 *puVar6; undefined8 *puVar7; undefined8 *puVar8; longlong lVar9; longlong lVar10; ulonglong uVar11; void *_Memory; longlong lVar12; lVar9 = *param_1; lVar10 = ((longlong)param_2 - lVar9) / 6 + ((longlong)param_2 - lVar9 >> 0x3f); lVar12 = (lVar10 >> 2) - (lVar10 >> 0x3f); lVar10 = (param_1[1] - lVar9) / 0x18; if (lVar10 == 0xaaaaaaaaaaaaaaa) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar1 = lVar10 + 1; uVar4 = (param_1[2] - lVar9) / 0x18; uVar11 = uVar1; if ((uVar4 <= 0xaaaaaaaaaaaaaaa - (uVar4 >> 1)) && (uVar11 = uVar4 + (uVar4 >> 1), uVar11 < uVar1) ) { uVar11 = uVar1; } lVar9 = uVar11 * 0x18; if (0xaaaaaaaaaaaaaaa < uVar11) { lVar9 = -1; } puVar7 = (undefined8 *)FUN_180480500(lVar9); uVar5 = param_3[1]; puVar7[lVar12 * 3] = *param_3; (puVar7 + lVar12 * 3)[1] = uVar5; puVar7[lVar12 * 3 + 2] = param_3[2]; puVar2 = (undefined8 *)param_1[1]; puVar8 = (undefined8 *)*param_1; puVar6 = puVar7; if (param_2 == puVar2) { for (; puVar8 != puVar2; puVar8 = puVar8 + 3) { uVar5 = puVar8[1]; *puVar6 = *puVar8; puVar6[1] = uVar5; puVar6[2] = puVar8[2]; puVar6 = puVar6 + 3; } } else { for (; puVar8 != param_2; puVar8 = puVar8 + 3) { uVar5 = puVar8[1]; *puVar6 = *puVar8; puVar6[1] = uVar5; puVar6[2] = puVar8[2]; puVar6 = puVar6 + 3; } puVar2 = (undefined8 *)param_1[1]; if (param_2 != puVar2) { lVar9 = lVar12 * 0x18 - (longlong)param_2; do { uVar5 = param_2[1]; puVar8 = (undefined8 *)((longlong)puVar7 + lVar9 + 0x18 + (longlong)param_2); *puVar8 = *param_2; puVar8[1] = uVar5; *(undefined8 *)((longlong)puVar7 + lVar9 + 0x28 + (longlong)param_2) = param_2[2]; param_2 = param_2 + 3; } while (param_2 != puVar2); } } pvVar3 = (void *)*param_1; if (pvVar3 == (void *)0x0) { *param_1 = (longlong)puVar7; param_1[1] = (longlong)(puVar7 + uVar1 * 3); param_1[2] = (longlong)(puVar7 + uVar11 * 3); return *param_1 + lVar12 * 0x18; } _Memory = pvVar3; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar3) / 0x18) * 0x18)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18057b7c0 size=442 ############ longlong FUN_18057b7c0(longlong *param_1,undefined4 *param_2,undefined4 *param_3) { undefined4 *puVar1; longlong lVar2; undefined8 uVar3; void *pvVar4; undefined4 uVar5; undefined4 uVar6; undefined4 uVar7; ulonglong uVar8; ulonglong uVar9; undefined4 *puVar10; void *_Memory; undefined8 *puVar11; longlong lVar12; ulonglong uVar13; undefined4 uVar14; lVar2 = *param_1; lVar12 = param_1[1] - lVar2 >> 5; if (lVar12 == 0x7ffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar13 = lVar12 + 1; uVar9 = param_1[2] - lVar2 >> 5; uVar8 = uVar13; if ((uVar9 <= 0x7ffffffffffffff - (uVar9 >> 1)) && (uVar8 = (uVar9 >> 1) + uVar9, uVar8 < uVar13)) { uVar8 = uVar13; } lVar12 = uVar8 * 0x20; if (0x7ffffffffffffff < uVar8) { lVar12 = -1; } lVar12 = FUN_180480500(lVar12); uVar9 = (longlong)param_2 - lVar2 & 0xffffffffffffffe0; *(undefined4 *)(uVar9 + lVar12) = *param_3; *(undefined4 *)(uVar9 + 4 + lVar12) = param_3[1]; uVar3 = *(undefined8 *)(param_3 + 2); *(undefined8 *)(uVar9 + 8 + lVar12) = uVar3; *(undefined1 **)(param_3 + 2) = &DAT_1821dbf98; uVar14 = param_3[4]; uVar5 = param_3[5]; uVar6 = param_3[6]; uVar7 = param_3[7]; puVar1 = (undefined4 *)(uVar9 + 0x10 + lVar12); *puVar1 = uVar14; puVar1[1] = uVar5; puVar1[2] = uVar6; puVar1[3] = uVar7; puVar1 = (undefined4 *)param_1[1]; if (param_2 == puVar1) { puVar10 = (undefined4 *)*param_1; if (puVar10 != puVar1) { puVar11 = (undefined8 *)(lVar12 + 8); do { *(undefined4 *)(puVar11 + -1) = *puVar10; *(undefined4 *)((longlong)puVar11 + -4) = puVar10[1]; *puVar11 = *(undefined8 *)(puVar10 + 2); *(undefined1 **)(puVar10 + 2) = &DAT_1821dbf98; uVar14 = puVar10[4]; uVar5 = puVar10[5]; uVar6 = puVar10[6]; uVar7 = puVar10[7]; puVar10 = puVar10 + 8; *(undefined4 *)(puVar11 + 1) = uVar14; *(undefined4 *)((longlong)puVar11 + 0xc) = uVar5; *(undefined4 *)(puVar11 + 2) = uVar6; *(undefined4 *)((longlong)puVar11 + 0x14) = uVar7; puVar11 = puVar11 + 4; } while (puVar10 != puVar1); } } else { uVar14 = FUN_18057bb40(uVar3,*param_1,param_2,lVar12); uVar14 = FUN_18057bb40(uVar14,param_2,param_1[1],uVar9 + 0x20 + lVar12); } if (*param_1 == 0) { *param_1 = lVar12; param_1[1] = uVar13 * 0x20 + lVar12; param_1[2] = uVar8 * 0x20 + lVar12; return *param_1 + uVar9; } FUN_180579ac0(uVar14,*param_1,param_1[1]); pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (param_1[2] - (longlong)pvVar4 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18057bb00 size=52 ############ void * .?AVSoothe2_DynamicCryptoManager@eden@pace@@:: vtbl___AVSoothe2_DynamicCryptoManager_eden_pace__(void *param_1,ulonglong param_2) { FUN_181337760(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18057e590 size=335 ############ undefined8 * FUN_18057e590(longlong *param_1,undefined8 *param_2,undefined8 param_3,int *param_4,void *param_5) { char cVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; bool bVar5; undefined1 local_res8 [8]; puVar3 = (undefined8 *)*param_1; bVar5 = true; puVar4 = puVar3; if (*(char *)((longlong)puVar3[1] + 0x19) == '\0') { puVar2 = (undefined8 *)puVar3[1]; do { puVar4 = puVar2; bVar5 = *param_4 < *(int *)(puVar4 + 4); if (bVar5) { puVar2 = (undefined8 *)*puVar4; } else { puVar2 = (undefined8 *)puVar4[2]; } } while (*(char *)((longlong)puVar2 + 0x19) == '\0'); } if (bVar5) { if (puVar4 == (undefined8 *)*puVar3) { puVar3 = (undefined8 *)FUN_18057e360(param_1,local_res8,1); *param_2 = *puVar3; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar4 + 0x19) == '\0') { puVar3 = (undefined8 *)*puVar4; if (*(char *)((longlong)puVar3 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = puVar3; puVar3 = (undefined8 *)puVar3[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = puVar3; puVar3 = (undefined8 *)puVar3[2]; } } else { cVar1 = *(char *)((longlong)puVar4[1] + 0x19); puVar3 = (undefined8 *)puVar4[1]; while ((puVar2 = puVar3, cVar1 == '\0' && (puVar4 == (undefined8 *)*puVar2))) { cVar1 = *(char *)((longlong)puVar2[1] + 0x19); puVar3 = (undefined8 *)puVar2[1]; puVar4 = puVar2; } if (*(char *)((longlong)puVar4 + 0x19) == '\0') { puVar4 = puVar2; } } } else { puVar4 = (undefined8 *)puVar4[2]; } } if (*(int *)(puVar4 + 4) < *param_4) { puVar3 = (undefined8 *)FUN_18057e360(param_1,local_res8); *param_2 = *puVar3; *(undefined1 *)(param_2 + 1) = 1; return param_2; } puVar3 = *(undefined8 **)((longlong)param_5 + 0x28); if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 18057f270 size=43 ############ undefined8 * FUN_18057f270(undefined8 *param_1,ulonglong param_2) { *param_1 = ParameterControllingComponent::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18057f640 size=128 ############ void FUN_18057f640(longlong param_1,longlong *param_2) { int *piVar1; int iVar2; uint uVar3; longlong lVar4; uint *_Memory; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*param_2 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar4 = *(longlong *)(param_1 + 0x9d8); *(longlong *)(param_1 + 0x9d8) = *param_2; UNLOCK(); piVar1 = (int *)(lVar4 + -0x10); if ((*(uint *)(lVar4 + -0x10) & 0x30000000) == 0) { LOCK(); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 0) { /* WARNING: Subroutine does not return */ free(piVar1); } } _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar3 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar3 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return; } ############ FUN_ 18057f9e0 size=78 ############ void * FUN_18057f9e0(void *param_1,uint param_2) { undefined8 *puVar1; puVar1 = *(undefined8 **)((longlong)param_1 + 0x4a0); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_18057f7e0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18057fa30 size=52 ############ void * FUN_18057fa30(void *param_1,ulonglong param_2) { FUN_1812fbe60(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18057ff30 size=52 ############ void * FUN_18057ff30(void *param_1,ulonglong param_2) { FUN_18057f3b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18057ff70 size=97 ############ void * FUN_18057ff70(void *param_1,ulonglong param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0x338) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_1812e2030(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18057ffe0 size=52 ############ void * FUN_18057ffe0(void *param_1,ulonglong param_2) { FUN_1815da5e0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580020 size=52 ############ void * FUN_180580020(void *param_1,ulonglong param_2) { FUN_18057f7e0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580060 size=52 ############ void * FUN_180580060(void *param_1,ulonglong param_2) { FUN_1812fbe60(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805800a0 size=86 ############ void * FUN_1805800a0(void *param_1,uint param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 8) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580100 size=97 ############ void * FUN_180580100(void *param_1,ulonglong param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0xd0) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580170 size=52 ############ void * FUN_180580170(void *param_1,ulonglong param_2) { FUN_1805801b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580270 size=102 ############ void * FUN_180580270(void *param_1,uint param_2) { undefined8 *puVar1; puVar1 = *(undefined8 **)((longlong)param_1 + 0x2d8); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1805793e0((longlong)param_1 + 0x280); FUN_180560070((longlong)param_1 + 0xe0); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580310 size=52 ############ void * FUN_180580310(void *param_1,ulonglong param_2) { FUN_180577b60(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580350 size=77 ############ void * FUN_180580350(void *param_1,ulonglong param_2) { *(undefined ***)((longlong)param_1 + 200) = juce::Timer::vftable; FUN_1812a7720(); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805803d0 size=112 ############ void * FUN_1805803d0(void *param_1,uint param_2) { undefined8 *puVar1; puVar1 = *(undefined8 **)((longlong)param_1 + 0x360); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } *(undefined ***)((longlong)param_1 + 200) = juce::Timer::vftable; FUN_1812a7720(); FUN_18057f3b0((longlong)param_1 + 0xe0); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580450 size=297 ############ undefined8 * FUN_180580450(undefined8 *param_1,uint param_2) { longlong lVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; longlong lVar4; *param_1 = XYSlider::vftable; param_1[0x16] = XYSlider::vftable; lVar4 = param_1[0x1d]; if (lVar4 != 0) { lVar1 = param_1[0x1e]; for (; lVar4 != lVar1; lVar4 = lVar4 + 8) { FUN_1805841a0(lVar4); } pvVar2 = (void *)param_1[0x1d]; _Memory = pvVar2; if ((0xfff < (param_1[0x1f] - (longlong)pvVar2 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } puVar3 = (undefined8 *)param_1[0x19]; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } if ((void *)param_1[0x18] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0x18]); } if ((void *)param_1[0x17] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[0x17]); } param_1[0x16] = ParameterFloat::Listener::vftable; FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580630 size=52 ############ void * FUN_180580630(void *param_1,ulonglong param_2) { FUN_18158d160(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580770 size=52 ############ void * FUN_180580770(void *param_1,ulonglong param_2) { FUN_181564f20(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805807f0 size=52 ############ void * FUN_1805807f0(void *param_1,ulonglong param_2) { FUN_18154f350(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805808e0 size=180 ############ void FUN_1805808e0(undefined8 *param_1) { uint uVar1; undefined8 *puVar2; uint *_Memory; *param_1 = CloudySliderArea::vftable; param_1[0x50] = CloudySliderArea::vftable; param_1[0x53] = CloudySliderArea::vftable; FUN_180560070(param_1 + 0x7f); FUN_180568840(param_1 + 0x7c); puVar2 = (undefined8 *)param_1[0x7b]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } _Memory = (uint *)(param_1[0x79] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } if (param_1[0x76] != 0) { FUN_18056a070(); } *(undefined4 *)((longlong)param_1 + 0x3ac) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x74]); } ############ FUN_ 180580a00 size=52 ############ void * FUN_180580a00(void *param_1,ulonglong param_2) { FUN_18153bf50(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580a40 size=52 ############ void * FUN_180580a40(void *param_1,ulonglong param_2) { FUN_181530390(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580cc0 size=52 ############ void * FUN_180580cc0(void *param_1,ulonglong param_2) { FUN_181505960(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580d20 size=100 ############ void * FUN_180580d20(void *param_1,uint param_2) { undefined8 *puVar1; puVar1 = *(undefined8 **)((longlong)param_1 + 0x2a8); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } puVar1 = *(undefined8 **)((longlong)param_1 + 0x2a0); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1805801b0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580d90 size=78 ############ void * FUN_180580d90(void *param_1,uint param_2) { undefined8 *puVar1; puVar1 = *(undefined8 **)((longlong)param_1 + 0x4a8); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_18057f7e0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580f20 size=52 ############ void * FUN_180580f20(void *param_1,ulonglong param_2) { FUN_1814f8f50(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580f60 size=111 ############ void * FUN_180580f60(void *param_1,ulonglong param_2) { uint uVar1; uint *_Memory; _Memory = (uint *)(*(longlong *)((longlong)param_1 + 0x370) + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } *(undefined ***)((longlong)param_1 + 0x360) = ProcessorStateManagerOptionListener::vftable; FUN_1814f8f50(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180580fd0 size=52 ############ void * FUN_180580fd0(void *param_1,ulonglong param_2) { FUN_180581010(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805810f0 size=150 ############ void * FUN_1805810f0(void *param_1,ulonglong param_2) { longlong *plVar1; plVar1 = *(longlong **)((longlong)param_1 + 0x4b0); if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != (longlong *)((longlong)param_1 + 0x478)); *(undefined8 *)((longlong)param_1 + 0x4b0) = 0; } *(undefined ***)((longlong)param_1 + 0x458) = juce::Timer::vftable; FUN_1812a7720((longlong)param_1 + 0x458); FUN_180581080((longlong)param_1 + 0x3e0); FUN_180581010(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180581190 size=52 ############ void * FUN_180581190(void *param_1,ulonglong param_2) { FUN_180581080(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805811d0 size=109 ############ undefined8 * FUN_1805811d0(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; plVar1 = (longlong *)param_1[0xb]; if (plVar1 != (longlong *)0x0) { (**(code **)(*plVar1 + 0x20))(plVar1,plVar1 != param_1 + 4); param_1[0xb] = 0; } *param_1 = juce::Timer::vftable; FUN_1812a7720(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180581240 size=52 ############ void * FUN_180581240(void *param_1,ulonglong param_2) { FUN_180577740(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180581280 size=52 ############ void * FUN_180581280(void *param_1,ulonglong param_2) { FUN_180577e60(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805812c0 size=52 ############ void * FUN_1805812c0(void *param_1,ulonglong param_2) { FUN_1814ea7a0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1814ea7a0 size=407 ############ void FUN_1814ea7a0(undefined8 *param_1) { uint *_Memory; uint uVar1; char cVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; void *pvVar6; undefined8 *puVar7; void *_Memory_00; *param_1 = MatrixBox::vftable; param_1[0x16] = MatrixBox::vftable; param_1[0x19] = MatrixBox::vftable; param_1[0x1a] = MatrixBox::vftable; puVar3 = (undefined8 *)param_1[0x1f]; puVar4 = (undefined8 *)*puVar3; while (puVar4 != puVar3) { _Memory = (uint *)(puVar4[4] + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); *_Memory = *_Memory + 1; UNLOCK(); } FUN_1811bc940(puVar4[5],param_1 + 0x19); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } puVar5 = (undefined8 *)puVar4[2]; if (*(char *)((longlong)puVar5 + 0x19) == '\0') { cVar2 = *(char *)((longlong)*puVar5 + 0x19); puVar4 = puVar5; puVar5 = (undefined8 *)*puVar5; while (cVar2 == '\0') { cVar2 = *(char *)((longlong)*puVar5 + 0x19); puVar4 = puVar5; puVar5 = (undefined8 *)*puVar5; } } else { cVar2 = *(char *)((longlong)puVar4[1] + 0x19); puVar7 = (undefined8 *)puVar4[1]; puVar5 = puVar4; while ((puVar4 = puVar7, cVar2 == '\0' && (puVar5 == (undefined8 *)puVar4[2]))) { cVar2 = *(char *)((longlong)puVar4[1] + 0x19); puVar7 = (undefined8 *)puVar4[1]; puVar5 = puVar4; } } } pvVar6 = (void *)param_1[0x24]; if (pvVar6 != (void *)0x0) { _Memory_00 = pvVar6; if ((0xfff < (param_1[0x26] - (longlong)pvVar6 & 0xfffffffffffffff0U)) && (_Memory_00 = *(void **)((longlong)pvVar6 + -8), 0x1f < (ulonglong)((longlong)pvVar6 + (-8 - (longlong)_Memory_00)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory_00); } FUN_180581300(param_1 + 0x1b); param_1[0x19] = ParameterFloat::Listener::vftable; FUN_18134caa0(param_1); return; } ############ FUN_ 180581300 size=51 ############ void FUN_180581300(longlong param_1) { undefined1 local_res8 [8]; FUN_180489730(param_1 + 0x30,local_res8,**(undefined8 **)(param_1 + 0x30), *(undefined8 **)(param_1 + 0x30)); /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x30)); } ############ FUN_ 1805813e0 size=52 ############ void * FUN_1805813e0(void *param_1,ulonglong param_2) { FUN_180581420(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180581420 size=365 ############ void FUN_180581420(longlong param_1) { uint uVar1; longlong *plVar2; undefined8 *puVar3; void *pvVar4; void *_Memory; uint *_Memory_00; longlong *plVar5; if (*(longlong *)(param_1 + 0x180) != 0) { FUN_18056ae10(); } plVar5 = *(longlong **)(param_1 + 0x160); if (plVar5 != (longlong *)0x0) { plVar2 = *(longlong **)(param_1 + 0x168); for (; plVar5 != plVar2; plVar5 = plVar5 + 1) { puVar3 = (undefined8 *)*plVar5; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } } pvVar4 = *(void **)(param_1 + 0x160); _Memory = pvVar4; if ((0xfff < (*(longlong *)(param_1 + 0x170) - (longlong)pvVar4 & 0xfffffffffffffff8U)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } puVar3 = *(undefined8 **)(param_1 + 0x158); if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } _Memory_00 = (uint *)(*(longlong *)(param_1 + 0x148) + -0x10); if ((*_Memory_00 & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory_00; *_Memory_00 = *_Memory_00 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory_00); } } plVar5 = *(longlong **)(param_1 + 0x138); if (plVar5 != (longlong *)0x0) { (**(code **)(*plVar5 + 0x20))(plVar5,plVar5 != (longlong *)(param_1 + 0x100)); *(undefined8 *)(param_1 + 0x138) = 0; } FUN_18052fa60(param_1 + 0xe0); plVar5 = *(longlong **)(param_1 + 0xd0); if (plVar5 != (longlong *)0x0) { plVar2 = (longlong *)plVar5[7]; if (plVar2 != (longlong *)0x0) { (**(code **)(*plVar2 + 0x20))(plVar2,plVar2 != plVar5); plVar5[7] = 0; } /* WARNING: Subroutine does not return */ free(plVar5); } *(undefined ***)(param_1 + 200) = ConfigOptionListener::vftable; FUN_18134caa0(param_1); return; } ############ FUN_ 180581610 size=52 ############ void * FUN_180581610(void *param_1,ulonglong param_2) { FUN_1815ef230(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805816f0 size=52 ############ void * FUN_1805816f0(void *param_1,ulonglong param_2) { FUN_1805770d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805850d0 size=103 ############ undefined8 FUN_1805850d0(longlong param_1,undefined8 param_2,longlong *param_3) { uint uVar1; uint *_Memory; if (*(longlong **)(param_1 + 0x38) == (longlong *)0x0) { /* WARNING: Subroutine does not return */ std::_Xbad_function_call(); } (**(code **)(**(longlong **)(param_1 + 0x38) + 0x10))(); _Memory = (uint *)(*param_3 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_2; } ############ FUN_ 180585de0 size=356 ############ longlong FUN_180585de0(longlong *param_1,void *param_2,longlong *param_3) { ulonglong uVar1; void *pvVar2; longlong lVar3; ulonglong uVar4; void *pvVar5; ulonglong uVar6; longlong lVar7; void *_Dst; longlong lVar8; size_t _Size; lVar7 = *param_1; lVar8 = (longlong)param_2 - lVar7 >> 3; lVar3 = param_1[1] - lVar7 >> 3; if (lVar3 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_18047cf10(); } uVar6 = param_1[2] - lVar7 >> 3; uVar1 = lVar3 + 1; uVar4 = uVar1; if ((uVar6 <= 0x1fffffffffffffff - (uVar6 >> 1)) && (uVar4 = (uVar6 >> 1) + uVar6, uVar4 < uVar1)) { uVar4 = uVar1; } lVar7 = uVar4 * 8; if (0x1fffffffffffffff < uVar4) { lVar7 = -1; } pvVar5 = (void *)FUN_180480500(lVar7); lVar7 = *param_3; if (lVar7 != 0) { lVar7 = lVar7 + 0x1e0; } *(longlong *)((longlong)pvVar5 + lVar8 * 8) = lVar7; pvVar2 = (void *)*param_1; if (param_2 == (void *)param_1[1]) { _Size = param_1[1] - (longlong)pvVar2; _Dst = pvVar5; param_2 = pvVar2; } else { memmove(pvVar5,pvVar2,(longlong)param_2 - (longlong)pvVar2); _Size = param_1[1] - (longlong)param_2; _Dst = (void *)((longlong)pvVar5 + (lVar8 + 1) * 8); } memmove(_Dst,param_2,_Size); pvVar2 = (void *)*param_1; if (pvVar2 == (void *)0x0) { *param_1 = (longlong)pvVar5; param_1[1] = (longlong)((longlong)pvVar5 + uVar1 * 8); param_1[2] = (longlong)(uVar4 * 8 + (longlong)pvVar5); return *param_1 + lVar8 * 8; } pvVar5 = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xfffffffffffffff8U)) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } ############ FUN_ 1805864c0 size=52 ############ void * FUN_1805864c0(void *param_1,ulonglong param_2) { FUN_180580830(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180586500 size=52 ############ void * FUN_180586500(void *param_1,ulonglong param_2) { FUN_180580a80(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180586570 size=132 ############ void FUN_180586570(undefined8 *param_1,undefined8 *param_2) { undefined8 uVar1; uint uVar2; bool bVar3; if (param_1 != param_2) { do { param_2 = param_2 + -1; if (param_1 == param_2) { return; } uVar1 = *param_1; *param_1 = &DAT_1821dbf98; *param_1 = *param_2; *param_2 = uVar1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar3 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar3) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } param_1 = param_1 + 1; } while (param_1 != param_2); } return; } ############ FUN_ 1805866e0 size=33 ############ void * FUN_1805866e0(void *param_1,ulonglong param_2) { if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180586e50 size=88 ############ undefined8 * FUN_180586e50(undefined8 param_1,undefined8 *param_2,undefined8 *param_3) { undefined8 uVar1; uint uVar2; bool bVar3; uVar1 = *param_3; *param_3 = &DAT_1821dbf98; *param_2 = uVar1; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar2 = DAT_1821dbf88 - 1; UNLOCK(); bVar3 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar2; if (bVar3) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } return param_2; } ############ FUN_ 18058ebf0 size=267 ############ void * .?AVSoothe2XYSliderArea@@::vtbl___AVSoothe2XYSliderArea__(void *param_1,uint param_2) { uint uVar1; undefined8 *puVar2; void *pvVar3; void *_Memory; uint *puVar4; puVar2 = *(undefined8 **)((longlong)param_1 + 0x6c8); if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } pvVar3 = *(void **)((longlong)param_1 + 0x6b0); if (pvVar3 != (void *)0x0) { _Memory = pvVar3; if ((0xfff < (*(longlong *)((longlong)param_1 + 0x6c0) - (longlong)pvVar3 & 0xfffffffffffffff8U) ) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } puVar4 = (uint *)(*(longlong *)((longlong)param_1 + 0x6a0) + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } puVar4 = (uint *)(*(longlong *)((longlong)param_1 + 0x688) + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } FUN_180577b60((longlong)param_1 + 0x330); *(undefined ***)((longlong)param_1 + 800) = CloudyPopupMenu::Listener::vftable; FUN_18158d160(param_1); if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 18058ed30 size=292 ############ undefined8 * FUN_18058ed30(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { undefined8 uVar1; undefined8 *puVar2; *param_1 = GraphLegend::vftable; param_1[0x16] = GraphLegend::vftable; param_1[0x19] = GraphLegend::vftable; uVar1 = FUN_18119aa60(param_1[0x1a],"stereo mode",param_3,param_4,0xfffffffffffffffe); FUN_1811bc940(uVar1,param_1 + 0x19); for (puVar2 = param_1 + 0x51; puVar2 != param_1 + 0x5d; puVar2 = puVar2 + 2) { uVar1 = puVar2[1]; FUN_1811bc940(*puVar2,param_1 + 0x19); FUN_1811bc940(uVar1,param_1 + 0x19); } FUN_180560070(param_1 + 0x1c); param_1[0x19] = ParameterFloat::Listener::vftable; FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 181566f90 size=247 ############ undefined8 * FUN_181566f90(undefined8 *param_1,longlong *param_2,undefined1 param_3) { uint uVar1; uint *_Memory; longlong local_res20; local_res20 = *param_2; uVar1 = *(uint *)(local_res20 + -0x10); if ((uVar1 & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } FUN_181567090(param_1,&local_res20,0,CONCAT71((uint7)(uint3)(uVar1 >> 8),1),param_3); *param_1 = CloudySlider_V2::vftable; param_1[0x16] = CloudySlider_V2::vftable; param_1[0x19] = CloudySlider_V2::vftable; param_1[0x20] = CloudySlider_V2::vftable; param_1[0x22] = CloudySlider_V2::vftable; param_1[0x23] = CloudySlider_V2::vftable; param_1[0x24] = CloudySlider_V2::vftable; FUN_18133e970(param_1,0); _Memory = (uint *)(*param_2 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 18058fa40 size=52 ############ void * FUN_18058fa40(void *param_1,ulonglong param_2) { FUN_18058fa80(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180590710 size=52 ############ void * FUN_180590710(void *param_1,ulonglong param_2) { FUN_181630240(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180590750 size=52 ############ void * FUN_180590750(void *param_1,ulonglong param_2) { FUN_181625400(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1815d8480 size=242 ############ void FUN_1815d8480(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; uint uVar2; longlong lVar3; uint *puVar4; longlong local_res8; longlong *local_res10; longlong *local_res18; if ((*(uint *)(*param_2 + -0x10) & 0x30000000) == 0) { LOCK(); piVar1 = (int *)(*param_2 + -0x10); *piVar1 = *piVar1 + 1; UNLOCK(); } LOCK(); lVar3 = *(longlong *)(param_1 + 0x20); *(longlong *)(param_1 + 0x20) = *param_2; UNLOCK(); puVar4 = (uint *)(lVar3 + -0x10); local_res10 = param_2; if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } if (*(longlong *)(param_1 + 0x28) != 0) { local_res8 = *param_2; if ((*(uint *)(local_res8 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res8 + -0x10) = *(int *)(local_res8 + -0x10) + 1; UNLOCK(); } local_res18 = &local_res8; FUN_181349c50(*(undefined8 *)(param_1 + 0x28),&local_res8,0,param_4,0xfffffffffffffffe); puVar4 = (uint *)(local_res8 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } } puVar4 = (uint *)(*param_2 + -0x10); if ((*puVar4 & 0x30000000) == 0) { LOCK(); uVar2 = *puVar4; *puVar4 = *puVar4 - 1; UNLOCK(); if (uVar2 == 0) { /* WARNING: Subroutine does not return */ free(puVar4); } } return; } ############ FUN_ 1805909c0 size=215 ############ void FUN_1805909c0(longlong param_1) { void *_Memory; undefined8 *puVar1; FUN_180576bb0(param_1 + 0x150); if (*(longlong *)(param_1 + 0x148) != 0) { FUN_18056a070(); } _Memory = *(void **)(param_1 + 0x140); if (_Memory != (void *)0x0) { FUN_1816056e0(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } puVar1 = *(undefined8 **)(param_1 + 0x138); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } puVar1 = *(undefined8 **)(param_1 + 0x130); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } puVar1 = *(undefined8 **)(param_1 + 0x120); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } puVar1 = *(undefined8 **)(param_1 + 0x118); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } puVar1 = *(undefined8 **)(param_1 + 0x110); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } *(undefined4 *)(param_1 + 0xd4) = 0; /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 200)); } ############ FUN_ 1814ec5a0 size=331 ############ undefined8 * FUN_1814ec5a0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,longlong *param_4, longlong param_5,longlong *param_6) { uint uVar1; longlong *plVar2; undefined8 *puVar3; undefined8 uVar4; uint *_Memory; longlong local_res20; local_res20 = *param_6; if ((*(uint *)(local_res20 + -0x10) & 0x30000000) == 0) { LOCK(); *(int *)(local_res20 + -0x10) = *(int *)(local_res20 + -0x10) + 1; UNLOCK(); } FUN_1814fa810(param_1,param_2,param_3,&local_res20,0xfffffffffffffffe); *param_1 = CustomMouseUpToggleButton::vftable; param_1[0x16] = CustomMouseUpToggleButton::vftable; param_1[0x19] = CustomMouseUpToggleButton::vftable; param_1[0x1b] = CustomMouseUpToggleButton::vftable; param_1[0x1c] = CustomMouseUpToggleButton::vftable; param_1[0x73] = 0; plVar2 = (longlong *)param_4[7]; if (plVar2 != (longlong *)0x0) { if (plVar2 == param_4) { uVar4 = (**(code **)(*plVar2 + 8))(plVar2,param_1 + 0x6c); param_1[0x73] = uVar4; plVar2 = (longlong *)param_4[7]; if (plVar2 == (longlong *)0x0) goto LAB_1814ec686; (**(code **)(*plVar2 + 0x20))(plVar2,plVar2 != param_4); } else { param_1[0x73] = plVar2; } param_4[7] = 0; } LAB_1814ec686: param_1[0x7b] = 0; puVar3 = *(undefined8 **)(param_5 + 0x38); if (puVar3 != (undefined8 *)0x0) { uVar4 = (**(code **)*puVar3)(puVar3,param_1 + 0x74); param_1[0x7b] = uVar4; } _Memory = (uint *)(*param_6 + -0x10); if ((*_Memory & 0x30000000) == 0) { LOCK(); uVar1 = *_Memory; *_Memory = *_Memory - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(_Memory); } } return param_1; } ############ FUN_ 180592950 size=66 ############ undefined8 * FUN_180592950(undefined8 *param_1,ulonglong param_2) { FUN_180599f20(param_1 + 4); *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180593290 size=222 ############ undefined8 * FUN_180593290(undefined8 *param_1,ulonglong param_2) { FUN_1805933c0(param_1 + 0x113); FUN_1805933c0(param_1 + 0xfe); FUN_1805933c0(param_1 + 0xe5); FUN_1805933c0(param_1 + 0xd0); FUN_1805933c0(param_1 + 0xb7); FUN_1805933c0(param_1 + 0xa2); FUN_1805933c0(param_1 + 0x8b); FUN_1805933c0(param_1 + 0x78); FUN_1805933c0(param_1 + 0x61); FUN_1805933c0(param_1 + 0x4e); FUN_1805933c0(param_1 + 0x37); FUN_1805933c0(param_1 + 0x24); FUN_1805933c0(param_1 + 0x11); FUN_1805933c0(param_1 + 2); *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180595110 size=52 ############ void * FUN_180595110(void *param_1,ulonglong param_2) { FUN_180594f40(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805957f0 size=99 ############ void * FUN_1805957f0(void *param_1,uint param_2) { if (*(longlong *)((longlong)param_1 + 0x50) != 0) { /* WARNING: Subroutine does not return */ free(*(void **)(*(longlong *)((longlong)param_1 + 0x50) + 8)); } if (*(longlong *)((longlong)param_1 + 0x48) != 0) { FUN_18059b780(); } FUN_1812918d0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180596340 size=242 ############ undefined8 * FUN_180596340(undefined8 *param_1,ulonglong param_2) { int *piVar1; int iVar2; undefined **ppuVar3; undefined8 *puVar4; HWND hWnd; *param_1 = juce::OpenGLContext::NativeContext::vftable; if ((HGLRC)param_1[5] != (HGLRC)0x0) { wglDeleteContext((HGLRC)param_1[5]); param_1[5] = 0; } ppuVar3 = *(undefined ***)param_1[4]; if (ppuVar3 == juce::HWNDComponentPeer::vftable) { hWnd = (HWND)((longlong *)param_1[4])[0x11]; } else { hWnd = (HWND)(*(code *)ppuVar3[1])(); } ReleaseDC(hWnd,(HDC)param_1[6]); puVar4 = (undefined8 *)param_1[9]; if (puVar4 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar4 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar4)(puVar4,1); } } puVar4 = (undefined8 *)param_1[4]; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } puVar4 = (undefined8 *)param_1[3]; if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } *param_1 = juce::Timer::vftable; FUN_1812a7720(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180596720 size=301 ############ void FUN_180596720(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; undefined8 *puVar3; void *_Memory; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; *param_1 = juce::OpenGLContext::CachedImage::vftable; param_1[1] = juce::OpenGLContext::CachedImage::vftable; FUN_1805968f0(); FUN_1812a6010(param_1 + 0x69); _Cnd_destroy_in_situ(param_1 + 0x75); _Mtx_destroy_in_situ(param_1 + 0x6b); puVar3 = (undefined8 *)param_1[0x69]; if (puVar3 != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(puVar3 + 1); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)*puVar3)(puVar3,1,param_3,param_4,uVar4); } } FUN_180598b80(param_1 + 0x61); _Memory = (void *)param_1[0x60]; if (_Memory != (void *)0x0) { FUN_18122aa90(_Memory); /* WARNING: Subroutine does not return */ free(_Memory); } _Cnd_destroy_in_situ(param_1 + 0x55); _Mtx_destroy_in_situ(param_1 + 0x4b); _Cnd_destroy_in_situ(param_1 + 0x40); _Mtx_destroy_in_situ(param_1 + 0x36); _Cnd_destroy_in_situ(param_1 + 0x2b); _Mtx_destroy_in_situ(param_1 + 0x21); FUN_180488f10(param_1 + 0x1e); *(undefined4 *)((longlong)param_1 + 0xfc) = 0; /* WARNING: Subroutine does not return */ free((void *)param_1[0x1e]); } ############ FUN_ 1812489f0 size=566 ############ undefined8 * FUN_1812489f0(undefined8 *param_1,undefined8 *param_2,undefined8 param_3) { byte bVar1; uint uVar2; ulonglong uVar3; uint uVar4; longlong lVar5; int iVar6; byte *pbVar7; undefined1 *puVar8; undefined1 *puVar9; bool bVar10; undefined1 *local_50; byte *local_48; undefined1 *local_40; ulonglong local_38; ulonglong local_30; local_48 = (byte *)*param_1; if (*local_48 == 0) { *param_2 = &DAT_1821dbf98; } else { local_50 = &DAT_1821dbf98; local_40 = (undefined1 *)0x0; local_38 = *(ulonglong *)(local_48 + -8); local_30 = 0; FUN_1812342b0(&local_50); local_40 = local_50; pbVar7 = local_48; puVar8 = local_50; puVar9 = local_50; do { bVar1 = *pbVar7; local_48 = pbVar7 + 1; uVar4 = (uint)bVar1; if ((char)bVar1 < '\0') { uVar4 = 0x7f; uVar2 = 0x40; iVar6 = 0; if ((bVar1 & 0x40) != 0) { do { if (uVar2 < 9) break; uVar4 = uVar4 >> 1; iVar6 = iVar6 + 1; uVar2 = uVar2 >> 1; } while ((bVar1 & uVar2) != 0); } uVar4 = bVar1 & uVar4; for (; (iVar6 = iVar6 + -1, -1 < iVar6 && ((*local_48 & 0xc0) == 0x80)); local_48 = local_48 + 1) { uVar4 = *local_48 & 0x3f | uVar4 << 6; } } pbVar7 = local_48; iVar6 = FUN_18049bc80(param_3); if (-1 < iVar6) { lVar5 = 1; if (((0x7f < uVar4) && (lVar5 = 2, 0x7ff < uVar4)) && (lVar5 = 3, 0xffff < uVar4)) { lVar5 = 4; } local_30 = local_30 + lVar5; if (local_38 < local_30) { uVar3 = 8; if (8 < local_38 >> 4) { uVar3 = local_38 >> 4; } local_38 = local_38 + uVar3; FUN_1812342b0(&local_50); local_40 = local_50 + ((int)puVar9 - (int)puVar8); } FUN_180493180(&local_40); pbVar7 = local_48; puVar8 = local_50; puVar9 = local_40; } } while (uVar4 != 0); local_30 = local_30 + 1; if (local_38 < local_30) { uVar3 = 8; if (8 < local_38 >> 4) { uVar3 = local_38 >> 4; } local_38 = local_38 + uVar3; FUN_1812342b0(&local_50); puVar9 = local_50 + ((int)puVar9 - (int)puVar8); puVar8 = local_50; local_40 = puVar9; } *puVar9 = 0; *param_2 = puVar8; if ((DAT_1821dbf88 & 0x30000000) == 0) { LOCK(); uVar4 = DAT_1821dbf88 - 1; UNLOCK(); bVar10 = DAT_1821dbf88 == 0; DAT_1821dbf88 = uVar4; if (bVar10) { /* WARNING: Subroutine does not return */ free(&DAT_1821dbf88); } } } return param_2; } ############ FUN_ 180597f40 size=52 ############ void * FUN_180597f40(void *param_1,ulonglong param_2) { FUN_180596720(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180598590 size=125 ############ undefined8 * FUN_180598590(undefined8 *param_1,ulonglong param_2) { *param_1 = juce::OpenGLContext::Attachment::vftable; param_1[8] = juce::OpenGLContext::Attachment::vftable; FUN_180597f80(); param_1[8] = juce::Timer::vftable; FUN_1812a7720(param_1 + 8); FUN_181322ab0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805988b0 size=66 ############ undefined8 * FUN_1805988b0(undefined8 *param_1,ulonglong param_2) { FUN_18163bcd0(param_1 + 2); *param_1 = juce::ReferenceCountedObject::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180598900 size=177 ############ undefined8 * FUN_180598900(undefined8 *param_1,ulonglong param_2) { undefined8 *puVar1; *param_1 = juce::OpenGLAppComponent::vftable; param_1[0x16] = juce::OpenGLAppComponent::vftable; if (param_1[0x4b] != 0) { FUN_180597f80(); puVar1 = (undefined8 *)param_1[0x4b]; param_1[0x4b] = 0; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } } param_1[0x48] = 0; FUN_18163b780(param_1 + 0x17); FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180598ec0 size=292 ############ void FUN_180598ec0(longlong param_1) { longlong *plVar1; longlong lVar2; longlong lVar3; longlong lVar4; void *_Memory; undefined4 uVar5; undefined4 uVar6; undefined4 uVar7; undefined4 local_20; undefined4 local_1c; plVar1 = (longlong *)(param_1 + 8); lVar2 = *plVar1; *plVar1 = 0; FUN_18059a1f0(plVar1); plVar1 = (longlong *)*plVar1; if (*plVar1 != 0) { lVar3 = plVar1[0xe]; if (0 < *(int *)(lVar3 + 0x2cb0)) { FUN_1805936a0(lVar3 + 0xa0); } FUN_1805939d0(lVar3 + 0x78,lVar3 + 0xa0); lVar3 = *(longlong *)(lVar2 + 0x88); lVar4 = plVar1[0xe]; *(undefined4 *)(lVar4 + 8) = *(undefined4 *)(lVar3 + 8); uVar5 = *(undefined4 *)(lVar3 + 0x10); uVar6 = *(undefined4 *)(lVar3 + 0x14); uVar7 = *(undefined4 *)(lVar3 + 0x18); *(undefined4 *)(lVar4 + 0xc) = *(undefined4 *)(lVar3 + 0xc); *(undefined4 *)(lVar4 + 0x10) = uVar5; *(undefined4 *)(lVar4 + 0x14) = uVar6; *(undefined4 *)(lVar4 + 0x18) = uVar7; _Memory = *(void **)(lVar2 + 0x88); *(undefined8 *)(lVar2 + 0x88) = 0; if (_Memory != (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } FUN_1805929a0(plVar1[0xe]); (**(code **)(*(longlong *)*plVar1 + 0x58))((longlong *)*plVar1,&local_20); (**(code **)(*(longlong *)*plVar1 + 0x88)) ((longlong *)*plVar1,plVar1,lVar2 + 0x80, (int)(*(float *)(lVar2 + 100) * DAT_1824c4548),local_20,local_1c,0); } if (lVar2 != 0) { FUN_18059b800(lVar2); } return; } ############ FUN_ 18059d1e0 size=78 ############ void * .?AVSoothe2Header@@::vtbl___AVSoothe2Header__(void *param_1,uint param_2) { undefined8 *puVar1; puVar1 = *(undefined8 **)((longlong)param_1 + 200); if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18059dcd0 size=353 ############ undefined8 * FUN_18059dcd0(undefined8 *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; uint *puVar3; *param_1 = ModeSelector::vftable; param_1[0x16] = ModeSelector::vftable; param_1[0x19] = ModeSelector::vftable; param_1[0x1b] = ModeSelector::vftable; param_1[0x1c] = ModeSelector::vftable; FUN_1811bc940(param_1[100],param_1 + 0x1b,param_3,param_4,0xfffffffffffffffe); puVar3 = (uint *)(param_1[0x66] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar3 = (uint *)(param_1[0x65] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } puVar2 = (undefined8 *)param_1[99]; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } FUN_18057f3b0(param_1 + 0x1d); param_1[0x1c] = ParameterControllingComponent::vftable; param_1[0x1b] = ParameterFloat::Listener::vftable; puVar3 = (uint *)(param_1[0x1a] + -0x10); if ((*puVar3 & 0x30000000) == 0) { LOCK(); uVar1 = *puVar3; *puVar3 = *puVar3 - 1; UNLOCK(); if (uVar1 == 0) { /* WARNING: Subroutine does not return */ free(puVar3); } } FUN_18134caa0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18059de40 size=52 ############ void * FUN_18059de40(void *param_1,ulonglong param_2) { FUN_18163e9d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18059ef30 size=52 ############ void * FUN_18059ef30(void *param_1,ulonglong param_2) { FUN_181a0d280(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a0330 size=43 ############ undefined8 * FUN_1805a0330(undefined8 *param_1,ulonglong param_2) { *param_1 = boost::exception_detail::clone_base::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a0380 size=43 ############ undefined8 * FUN_1805a0380(undefined8 *param_1,ulonglong param_2) { *param_1 = boost::detail::sp_counted_base::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a0440 size=52 ############ void * FUN_1805a0440(void *param_1,ulonglong param_2) { FUN_1805a0480(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a05b0 size=52 ############ void * FUN_1805a05b0(void *param_1,ulonglong param_2) { FUN_1805a05f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a0720 size=125 ############ undefined8 * FUN_1805a0720(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::bad_alloc_::vftable; param_1[5] = std::exception::vftable; __std_exception_destroy(param_1 + 6); *param_1 = boost::exception::vftable; if ((longlong *)param_1[1] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[1] + 0x20))(); if (cVar1 != '\0') { param_1[1] = 0; } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a0830 size=125 ############ undefined8 * FUN_1805a0830(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::bad_exception_::vftable; param_1[5] = std::exception::vftable; __std_exception_destroy(param_1 + 6); *param_1 = boost::exception::vftable; if ((longlong *)param_1[1] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[1] + 0x20))(); if (cVar1 != '\0') { param_1[1] = 0; } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a0950 size=66 ############ undefined8 * FUN_1805a0950(undefined8 *param_1,ulonglong param_2) { *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a5fb0 size=52 ############ void * FUN_1805a5fb0(void *param_1,ulonglong param_2) { FUN_1805a4ee0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a5ff0 size=56 ############ /* Library Function - Single Match public: virtual void * __ptr64 __cdecl std::basic_iostream >::`scalar deleting destructor'(unsigned int) __ptr64 Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release */ void * __thiscall std::basic_iostream_>::_scalar_deleting_destructor_ (basic_iostream_> *this,uint param_1) { basic_iostream_> *_Memory; _Memory = this + -0x20; FUN_1805a5b10(_Memory); if ((param_1 & 1) != 0) { /* WARNING: Subroutine does not return */ free(_Memory); } return _Memory; } ############ FUN_ 1805a6030 size=52 ############ void * FUN_1805a6030(void *param_1,ulonglong param_2) { FUN_1805a5b90(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a6070 size=52 ############ void * FUN_1805a6070(void *param_1,ulonglong param_2) { FUN_1805a5c30(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a60b0 size=52 ############ void * FUN_1805a60b0(void *param_1,ulonglong param_2) { FUN_1805a5ce0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a60f0 size=52 ############ void * FUN_1805a60f0(void *param_1,ulonglong param_2) { FUN_1805a5d90(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a6130 size=52 ############ void * FUN_1805a6130(void *param_1,ulonglong param_2) { FUN_1805a5e30(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a6170 size=125 ############ undefined8 * FUN_1805a6170(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[5] = boost::exception::vftable; if ((longlong *)param_1[6] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[6] + 0x20))(); if (cVar1 != '\0') { param_1[6] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a61f0 size=124 ############ undefined8 * FUN_1805a61f0(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[9] = boost::exception::vftable; if ((longlong *)param_1[10] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[10] + 0x20))(); if (cVar1 != '\0') { param_1[10] = 0; } } *param_1 = boost::thread_exception::vftable; FUN_1805a59c0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a6270 size=124 ############ undefined8 * FUN_1805a6270(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[9] = boost::exception::vftable; if ((longlong *)param_1[10] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[10] + 0x20))(); if (cVar1 != '\0') { param_1[10] = 0; } } *param_1 = boost::thread_exception::vftable; FUN_1805a59c0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a62f0 size=125 ############ undefined8 * FUN_1805a62f0(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[5] = boost::exception::vftable; if ((longlong *)param_1[6] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[6] + 0x20))(); if (cVar1 != '\0') { param_1[6] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a6370 size=125 ############ undefined8 * FUN_1805a6370(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[5] = boost::exception::vftable; if ((longlong *)param_1[6] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[6] + 0x20))(); if (cVar1 != '\0') { param_1[6] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a63f0 size=43 ############ undefined8 * FUN_1805a63f0(undefined8 *param_1,ulonglong param_2) { *param_1 = boost::detail::sp_counted_base::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a6420 size=52 ############ void * FUN_1805a6420(void *param_1,ulonglong param_2) { FUN_180575800(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a6460 size=52 ############ void * FUN_1805a6460(void *param_1,ulonglong param_2) { FUN_1805a55f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a64a0 size=52 ############ void * FUN_1805a64a0(void *param_1,ulonglong param_2) { FUN_1805a5740(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a64e0 size=52 ############ void * FUN_1805a64e0(void *param_1,ulonglong param_2) { FUN_1805a57b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a6520 size=66 ############ undefined8 * FUN_1805a6520(undefined8 *param_1,ulonglong param_2) { *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a6570 size=62 ############ undefined8 * FUN_1805a6570(undefined8 *param_1,ulonglong param_2) { *param_1 = boost::thread_exception::vftable; FUN_1805a59c0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a65b0 size=43 ############ undefined8 * FUN_1805a65b0(undefined8 *param_1,ulonglong param_2) { *param_1 = boost::detail::sp_counted_base::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805a65e0 size=52 ############ void * FUN_1805a65e0(void *param_1,ulonglong param_2) { FUN_1805a59c0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805d5820 size=426 ############ longlong * FUN_1805d5820(longlong *param_1,longlong *param_2,longlong *param_3) { void *_Src; void *pvVar1; longlong lVar2; void *pvVar3; ulonglong uVar4; ulonglong _Size; ulonglong uVar5; size_t _Size_00; do { if (param_1 == param_2) { return param_3; } if (param_3 != param_1) { pvVar1 = (void *)*param_3; lVar2 = param_1[1]; pvVar3 = (void *)*param_1; _Size = lVar2 - (longlong)pvVar3; uVar4 = param_3[2] - (longlong)pvVar1; if (uVar4 < _Size) { if (0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = _Size; if ((uVar4 <= 0x7fffffffffffffff - (uVar4 >> 1)) && (uVar5 = uVar4 + (uVar4 >> 1), uVar5 < _Size)) { uVar5 = _Size; } if (pvVar1 != (void *)0x0) { pvVar3 = pvVar1; if ((0xfff < uVar4) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } *param_3 = 0; param_3[1] = 0; param_3[2] = 0; if (uVar5 != 0) { if (0x7fffffffffffffff < uVar5) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } lVar2 = FUN_1805bc8b0(param_3,uVar5); *param_3 = lVar2; param_3[1] = lVar2; param_3[2] = *param_3 + uVar5; } pvVar1 = (void *)*param_3; memmove(pvVar1,pvVar3,_Size); param_3[1] = _Size + (longlong)pvVar1; } else if ((ulonglong)(param_3[1] - (longlong)pvVar1) < _Size) { _Src = (void *)((param_3[1] - (longlong)pvVar1) + (longlong)pvVar3); memmove(pvVar1,pvVar3,(longlong)_Src - (longlong)pvVar3); pvVar1 = (void *)param_3[1]; _Size_00 = lVar2 - (longlong)_Src; memmove(pvVar1,_Src,_Size_00); param_3[1] = _Size_00 + (longlong)pvVar1; } else { memmove(pvVar1,pvVar3,_Size); param_3[1] = _Size + (longlong)pvVar1; } } param_3 = param_3 + 3; param_1 = param_1 + 3; } while( true ); } ############ FUN_ 1805aec70 size=114 ############ undefined8 * FUN_1805aec70(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[9] = boost::exception::vftable; if ((longlong *)param_1[10] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[10] + 0x20))(); if (cVar1 != '\0') { param_1[10] = 0; } } FUN_1805a59c0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805aed80 size=52 ############ void * FUN_1805aed80(void *param_1,ulonglong param_2) { FUN_1805aedc0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805aff70 size=542 ############ longlong FUN_1805aff70(longlong *param_1,longlong param_2,undefined8 param_3) { ulonglong uVar1; longlong lVar2; undefined8 *puVar3; void *pvVar4; ulonglong uVar5; longlong lVar6; longlong lVar7; undefined8 *puVar8; ulonglong uVar9; void *_Memory; longlong lVar10; longlong lVar11; undefined8 uVar12; uVar12 = 0xfffffffffffffffe; lVar2 = *param_1; lVar10 = (param_1[1] - lVar2) / 0x2f0; if (lVar10 == 0x572620ae4c415c) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar10 + 1; uVar5 = (param_1[2] - lVar2) / 0x2f0; uVar9 = uVar1; if ((uVar5 <= 0x572620ae4c415c - (uVar5 >> 1)) && (uVar9 = (uVar5 >> 1) + uVar5, uVar9 < uVar1)) { uVar9 = uVar1; } lVar6 = FUN_1805bc990(param_1,uVar9); lVar7 = ((param_2 - lVar2) / 0x2f0) * 0x2f0; lVar2 = lVar7 + lVar6 + 0x2f0; lVar10 = lVar2; lVar11 = lVar6; FUN_1805b4bc0(lVar7 + lVar6,param_3); if (param_2 == param_1[1]) { FUN_1805b1630(*param_1,param_1[1],lVar6,param_1); } else { FUN_1805bc330(param_1,*param_1,param_2,lVar6,lVar7,lVar10,lVar11,uVar12); FUN_1805bc330(param_1,param_2,param_1[1],lVar2); } puVar8 = (undefined8 *)*param_1; if (puVar8 != (undefined8 *)0x0) { puVar3 = (undefined8 *)param_1[1]; for (; puVar8 != puVar3; puVar8 = puVar8 + 0x5e) { (**(code **)*puVar8)(puVar8,0); } pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar4) / 0x2f0) * 0x2f0)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar6; param_1[1] = uVar1 * 0x2f0 + lVar6; param_1[2] = uVar9 * 0x2f0 + lVar6; return *param_1 + lVar7; } ############ FUN_ 1805b0670 size=471 ############ longlong FUN_1805b0670(longlong *param_1,longlong param_2,longlong param_3) { void *pvVar1; ulonglong uVar2; void *_Memory; undefined8 *puVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; undefined8 *puVar7; longlong lVar8; undefined8 uVar9; uVar9 = 0xfffffffffffffffe; lVar8 = *param_1; lVar5 = param_1[1] - lVar8 >> 6; if (lVar5 == 0x3ffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar6 = lVar5 + 1; uVar2 = param_1[2] - lVar8 >> 6; uVar4 = uVar6; if ((uVar2 <= 0x3ffffffffffffff - (uVar2 >> 1)) && (uVar4 = (uVar2 >> 1) + uVar2, uVar4 < uVar6)) { uVar4 = uVar6; } lVar5 = FUN_1805bcb10(param_1,uVar4); uVar2 = param_2 - lVar8 & 0xffffffffffffffc0; puVar3 = (undefined8 *)(uVar2 + lVar5); puVar7 = puVar3 + 8; *puVar3 = pace::eden::thrift::pub::WrapperAuthProduct::vftable; *(undefined4 *)(puVar3 + 1) = *(undefined4 *)(param_3 + 8); *(undefined4 *)((longlong)puVar3 + 0xc) = *(undefined4 *)(param_3 + 0xc); *(undefined1 *)(puVar3 + 2) = *(undefined1 *)(param_3 + 0x10); *(undefined1 *)((longlong)puVar3 + 0x11) = *(undefined1 *)(param_3 + 0x11); lVar8 = lVar5; FUN_1805a4070(puVar3 + 3,param_3 + 0x18); *(undefined4 *)(puVar3 + 7) = *(undefined4 *)(param_3 + 0x38); *(undefined1 *)((longlong)puVar3 + 0x3c) = *(undefined1 *)(param_3 + 0x3c); if (param_2 == param_1[1]) { FUN_1805b17b0(*param_1,param_1[1],lVar5,param_1); } else { FUN_1805bc4b0(param_1,*param_1,param_2,lVar5,uVar2,puVar7,lVar8,uVar9); FUN_1805bc4b0(param_1,param_2,param_1[1],puVar3 + 8); } puVar7 = (undefined8 *)*param_1; if (puVar7 != (undefined8 *)0x0) { puVar3 = (undefined8 *)param_1[1]; for (; puVar7 != puVar3; puVar7 = puVar7 + 8) { (**(code **)*puVar7)(puVar7,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xffffffffffffffc0U)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar5; param_1[1] = uVar6 * 0x40 + lVar5; param_1[2] = uVar4 * 0x40 + lVar5; return *param_1 + uVar2; } ############ FUN_ 1805b10b0 size=624 ############ void FUN_1805b10b0(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; longlong lVar7; undefined8 *puVar8; longlong lVar9; void *_Memory; ulonglong uVar10; longlong lVar11; undefined8 uVar12; longlong lVar13; uVar12 = 0xfffffffffffffffe; puVar5 = (undefined8 *)param_1[1]; lVar7 = *param_1; uVar3 = ((longlong)puVar5 - lVar7) / 0x438; uVar2 = (param_1[2] - lVar7) / 0x438; if (param_2 <= uVar2) { if (param_2 <= uVar3) { if (param_2 != uVar3) { puVar8 = (undefined8 *)(param_2 * 0x438 + lVar7); for (puVar6 = puVar8; puVar6 != puVar5; puVar6 = puVar6 + 0x87) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (longlong)puVar8; } return; } for (lVar7 = param_2 - uVar3; lVar7 != 0; lVar7 = lVar7 + -1) { FUN_1805b5060(puVar5); puVar5 = puVar5 + 0x87; } param_1[1] = (longlong)puVar5; return; } if (0x3cae759203cae7 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar2 <= 0x3cae759203cae7 - (uVar2 >> 1)) && (uVar10 = (uVar2 >> 1) + uVar2, uVar10 < param_2)) { uVar10 = param_2; } lVar4 = FUN_1805bca10(param_1,uVar10); lVar9 = uVar3 * 0x438 + lVar4; lVar7 = lVar9; lVar13 = lVar9; for (lVar11 = param_2 - uVar3; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_1805b5060(lVar9); lVar9 = lVar9 + 0x438; } FUN_1805b16b0(*param_1,param_1[1],lVar4,param_1,lVar4,lVar7,uVar12,lVar13,lVar9,param_3); puVar5 = (undefined8 *)*param_1; if (puVar5 == (undefined8 *)0x0) { *param_1 = lVar4; param_1[1] = param_2 * 0x438 + lVar4; param_1[2] = uVar10 * 0x438 + lVar4; return; } puVar6 = (undefined8 *)param_1[1]; for (; puVar5 != puVar6; puVar5 = puVar5 + 0x87) { (**(code **)*puVar5)(puVar5,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x438) * 0x438)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805b1a40 size=305 ############ void FUN_1805b1a40(undefined8 *param_1,void *param_2,longlong param_3) { void *pvVar1; void *pvVar2; ulonglong uVar3; ulonglong _Size; ulonglong uVar4; pvVar1 = (void *)*param_1; _Size = param_3 - (longlong)param_2; uVar3 = param_1[2] - (longlong)pvVar1; if (uVar3 < _Size) { if (0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar4 = _Size; if ((uVar3 <= 0x7fffffffffffffff - (uVar3 >> 1)) && (uVar4 = (uVar3 >> 1) + uVar3, uVar4 < _Size)) { uVar4 = _Size; } if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < uVar3) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } FUN_1805bbbc0(param_1,uVar4); pvVar1 = (void *)*param_1; memmove(pvVar1,param_2,_Size); param_1[1] = _Size + (longlong)pvVar1; } else if ((ulonglong)(param_1[1] - (longlong)pvVar1) < _Size) { pvVar2 = (void *)((param_1[1] - (longlong)pvVar1) + (longlong)param_2); memmove(pvVar1,param_2,(longlong)pvVar2 - (longlong)param_2); pvVar1 = (void *)param_1[1]; memmove(pvVar1,pvVar2,param_3 - (longlong)pvVar2); param_1[1] = (param_3 - (longlong)pvVar2) + (longlong)pvVar1; } else { memmove(pvVar1,param_2,_Size); param_1[1] = (longlong)pvVar1 + _Size; } return; } ############ FUN_ 1805b84f0 size=404 ############ void FUN_1805b84f0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::IlokInfo::vftable; if (0xf < (ulonglong)param_1[0x28]) { pvVar1 = (void *)param_1[0x25]; pvVar2 = pvVar1; if ((0xfff < param_1[0x28] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x28] = 0xf; param_1[0x27] = 0; *(undefined1 *)(param_1 + 0x25) = 0; FUN_1805b96f0(param_1 + 0x12); if (0xf < (ulonglong)param_1[0x11]) { pvVar1 = (void *)param_1[0xe]; pvVar2 = pvVar1; if ((0xfff < param_1[0x11] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x10] = 0; param_1[0x11] = 0xf; *(undefined1 *)(param_1 + 0xe) = 0; if (0xf < (ulonglong)param_1[0xc]) { pvVar1 = (void *)param_1[9]; pvVar2 = pvVar1; if ((0xfff < param_1[0xc] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xb] = 0; param_1[0xc] = 0xf; *(undefined1 *)(param_1 + 9) = 0; if ((ulonglong)param_1[8] < 0x10) { param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; param_1[1] = pace::eden::thrift::pub::IlokIdentifier::vftable; return; } pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b8c10 size=1227 ############ void FUN_1805b8c10(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::RemoteLicenseClient::vftable; if (0xf < (ulonglong)param_1[0x39]) { pvVar1 = (void *)param_1[0x36]; pvVar2 = pvVar1; if ((0xfff < param_1[0x39] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x39] = 0xf; param_1[0x38] = 0; *(undefined1 *)(param_1 + 0x36) = 0; if (0xf < (ulonglong)param_1[0x31]) { pvVar1 = (void *)param_1[0x2e]; pvVar2 = pvVar1; if ((0xfff < param_1[0x31] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x30] = 0; param_1[0x31] = 0xf; *(undefined1 *)(param_1 + 0x2e) = 0; if (0xf < (ulonglong)param_1[0x2c]) { pvVar1 = (void *)param_1[0x29]; pvVar2 = pvVar1; if ((0xfff < param_1[0x2c] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x2b] = 0; param_1[0x2c] = 0xf; *(undefined1 *)(param_1 + 0x29) = 0; if (0xf < (ulonglong)param_1[0x28]) { pvVar1 = (void *)param_1[0x25]; pvVar2 = pvVar1; if ((0xfff < param_1[0x28] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x27] = 0; param_1[0x28] = 0xf; *(undefined1 *)(param_1 + 0x25) = 0; if (0xf < (ulonglong)param_1[0x24]) { pvVar1 = (void *)param_1[0x21]; pvVar2 = pvVar1; if ((0xfff < param_1[0x24] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x23] = 0; param_1[0x24] = 0xf; *(undefined1 *)(param_1 + 0x21) = 0; if (0xf < (ulonglong)param_1[0x20]) { pvVar1 = (void *)param_1[0x1d]; pvVar2 = pvVar1; if ((0xfff < param_1[0x20] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x1f] = 0; param_1[0x20] = 0xf; *(undefined1 *)(param_1 + 0x1d) = 0; if (0xf < (ulonglong)param_1[0x1c]) { pvVar1 = (void *)param_1[0x19]; pvVar2 = pvVar1; if ((0xfff < param_1[0x1c] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x1b] = 0; param_1[0x1c] = 0xf; *(undefined1 *)(param_1 + 0x19) = 0; if (0xf < (ulonglong)param_1[0x18]) { pvVar1 = (void *)param_1[0x15]; pvVar2 = pvVar1; if ((0xfff < param_1[0x18] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x17] = 0; param_1[0x18] = 0xf; *(undefined1 *)(param_1 + 0x15) = 0; if (0xf < (ulonglong)param_1[0x14]) { pvVar1 = (void *)param_1[0x11]; pvVar2 = pvVar1; if ((0xfff < param_1[0x14] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x13] = 0; param_1[0x14] = 0xf; *(undefined1 *)(param_1 + 0x11) = 0; if (0xf < (ulonglong)param_1[0x10]) { pvVar1 = (void *)param_1[0xd]; pvVar2 = pvVar1; if ((0xfff < param_1[0x10] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xf] = 0; param_1[0x10] = 0xf; *(undefined1 *)(param_1 + 0xd) = 0; if (0xf < (ulonglong)param_1[0xc]) { pvVar1 = (void *)param_1[9]; pvVar2 = pvVar1; if ((0xfff < param_1[0xc] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xb] = 0; param_1[0xc] = 0xf; *(undefined1 *)(param_1 + 9) = 0; if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805b90f0 size=187 ############ void FUN_1805b90f0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::pub::SharedLicenseStatSample::vftable; if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805bad80 size=127 ############ longlong * FUN_1805bad80(longlong *param_1,uint param_2) { void *pvVar1; void *_Memory; if ((ulonglong)param_1[3] < 0x10) { param_1[2] = 0; param_1[3] = 0xf; *(undefined1 *)param_1 = 0; if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < param_1[3] + 1U) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805bae00 size=52 ############ void * FUN_1805bae00(void *param_1,ulonglong param_2) { FUN_1805baa60(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bae40 size=52 ############ void * FUN_1805bae40(void *param_1,ulonglong param_2) { FUN_1805bab00(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bae80 size=52 ############ void * FUN_1805bae80(void *param_1,ulonglong param_2) { FUN_1805baba0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805baec0 size=52 ############ void * FUN_1805baec0(void *param_1,ulonglong param_2) { FUN_1805bac40(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805baf00 size=125 ############ undefined8 * FUN_1805baf00(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector:: vftable; param_1[3] = boost::exception::vftable; if ((longlong *)param_1[4] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[4] + 0x20))(); if (cVar1 != '\0') { param_1[4] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805baf80 size=125 ############ undefined8 * FUN_1805baf80(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[3] = boost::exception::vftable; if ((longlong *)param_1[4] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[4] + 0x20))(); if (cVar1 != '\0') { param_1[4] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb000 size=125 ############ undefined8 * FUN_1805bb000(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[3] = boost::exception::vftable; if ((longlong *)param_1[4] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[4] + 0x20))(); if (cVar1 != '\0') { param_1[4] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb080 size=125 ############ undefined8 * FUN_1805bb080(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[3] = boost::exception::vftable; if ((longlong *)param_1[4] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[4] + 0x20))(); if (cVar1 != '\0') { param_1[4] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb100 size=52 ############ void * FUN_1805bb100(void *param_1,ulonglong param_2) { FUN_1805b7480(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb140 size=52 ############ void * FUN_1805bb140(void *param_1,ulonglong param_2) { FUN_1805753e0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb180 size=52 ############ void * FUN_1805bb180(void *param_1,ulonglong param_2) { FUN_1805b7720(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb1c0 size=52 ############ void * FUN_1805bb1c0(void *param_1,ulonglong param_2) { FUN_1805b7ad0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb200 size=78 ############ undefined8 * FUN_1805bb200(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::pub::AuthSituation::vftable; FUN_1805b7720(param_1 + 0x90); FUN_1805b8780(param_1 + 2); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb250 size=52 ############ void * FUN_1805bb250(void *param_1,ulonglong param_2) { FUN_1805b7bd0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb290 size=52 ############ void * FUN_1805bb290(void *param_1,ulonglong param_2) { FUN_1805b7c40(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb2d0 size=52 ############ void * FUN_1805bb2d0(void *param_1,ulonglong param_2) { FUN_1805b7d00(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb310 size=52 ############ void * FUN_1805bb310(void *param_1,ulonglong param_2) { FUN_1805b7dc0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb350 size=52 ############ void * FUN_1805bb350(void *param_1,ulonglong param_2) { FUN_1805b7e80(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb390 size=66 ############ undefined8 * FUN_1805bb390(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::fusion::DynamicCryptoLicenseData::vftable; FUN_1805b7370(param_1 + 4); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb3e0 size=52 ############ void * FUN_1805bb3e0(void *param_1,ulonglong param_2) { FUN_1805b7f60(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb420 size=52 ############ void * FUN_1805bb420(void *param_1,ulonglong param_2) { FUN_1805b8040(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb460 size=52 ############ void * FUN_1805bb460(void *param_1,ulonglong param_2) { FUN_1805b8100(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb4a0 size=52 ############ void * FUN_1805bb4a0(void *param_1,ulonglong param_2) { FUN_1805b8220(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb4e0 size=43 ############ undefined8 * FUN_1805bb4e0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::pub::IlokIdentifier::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb510 size=52 ############ void * FUN_1805bb510(void *param_1,ulonglong param_2) { FUN_1805b84f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb550 size=52 ############ void * FUN_1805bb550(void *param_1,ulonglong param_2) { FUN_1805b8690(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb590 size=52 ############ void * FUN_1805bb590(void *param_1,ulonglong param_2) { FUN_1805b8700(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb5d0 size=52 ############ void * FUN_1805bb5d0(void *param_1,ulonglong param_2) { FUN_1805b8780(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb610 size=139 ############ undefined8 * FUN_1805bb610(undefined8 *param_1,uint param_2) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::pub::Media::vftable; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = (void *)param_1[1]; _Memory = pvVar1; if ((0xfff < param_1[4] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805bb6a0 size=75 ############ undefined8 * FUN_1805bb6a0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::fusion::PaceEdenLicenseData::vftable; FUN_1805b94d0(param_1 + 0xb); FUN_1805a5740(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb6f0 size=62 ############ undefined8 * FUN_1805bb6f0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::PaceLocationInfoFormatter::vftable; FUN_1805a57b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb730 size=52 ############ void * FUN_1805bb730(void *param_1,ulonglong param_2) { FUN_1805b8c10(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb770 size=52 ############ void * FUN_1805bb770(void *param_1,ulonglong param_2) { FUN_180574c80(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb7b0 size=52 ############ void * FUN_1805bb7b0(void *param_1,ulonglong param_2) { FUN_180575070(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb7f0 size=52 ############ void * FUN_1805bb7f0(void *param_1,ulonglong param_2) { FUN_1805b90f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb830 size=52 ############ void * FUN_1805bb830(void *param_1,ulonglong param_2) { FUN_1805b91b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb870 size=52 ############ void * FUN_1805bb870(void *param_1,ulonglong param_2) { FUN_1805b9270(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb8b0 size=43 ############ undefined8 * FUN_1805bb8b0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::pub::TimePeriod::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb8e0 size=52 ############ void * FUN_1805bb8e0(void *param_1,ulonglong param_2) { FUN_1805b93e0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb920 size=43 ############ undefined8 * FUN_1805bb920(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::pub::VerifyAuthOptions::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb950 size=52 ############ void * FUN_1805bb950(void *param_1,ulonglong param_2) { FUN_1805b9460(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb990 size=52 ############ void * FUN_1805bb990(void *param_1,ulonglong param_2) { FUN_1805b94d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bb9d0 size=52 ############ void * FUN_1805bb9d0(void *param_1,ulonglong param_2) { FUN_1805b96f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bba10 size=43 ############ undefined8 * FUN_1805bba10(undefined8 *param_1,ulonglong param_2) { *param_1 = boost::system::error_category::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805bcc90 size=290 ############ longlong * FUN_1805bcc90(longlong *param_1,void *param_2,ulonglong param_3) { ulonglong uVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; void *_Memory; ulonglong uVar5; longlong *_Dst; uVar2 = param_1[3]; if (uVar2 < param_3) { if (0x7ffffffffffffffe < param_3) { /* WARNING: Subroutine does not return */ FUN_1805a6980(); } uVar4 = param_3 | 7; uVar5 = 0x7ffffffffffffffe; if (((uVar4 < 0x7fffffffffffffff) && (uVar2 <= 0x7ffffffffffffffe - (uVar2 >> 1))) && (uVar1 = (uVar2 >> 1) + uVar2, uVar5 = uVar4, uVar4 < uVar1)) { uVar5 = uVar1; } pvVar3 = (void *)FUN_1805bcc10(param_1,uVar5 + 1); param_1[3] = uVar5; param_1[2] = param_3; memcpy(pvVar3,param_2,param_3 * 2); *(undefined2 *)(param_3 * 2 + (longlong)pvVar3) = 0; if (7 < uVar2) { pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < uVar2 * 2 + 2) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = (longlong)pvVar3; } else { _Dst = param_1; if (7 < uVar2) { _Dst = (longlong *)*param_1; } param_1[2] = param_3; memmove(_Dst,param_2,param_3 * 2); *(undefined2 *)(param_3 * 2 + (longlong)_Dst) = 0; } return param_1; } ############ FUN_ 1805bdf40 size=8397 ############ /* WARNING: Function: _alloca_probe replaced with injection: alloca_probe */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_1805bdf40(char param_1,char param_2,char param_3,char param_4,longlong *param_5, longlong *param_6,size_t *param_7,undefined1 *param_8,undefined8 param_9, undefined8 *param_10) { longlong *plVar1; int *piVar2; size_t sVar3; ulonglong uVar4; longlong lVar5; bool bVar6; longlong lVar7; int iVar8; undefined8 uVar9; ulonglong uVar10; undefined8 *puVar11; size_t *psVar12; undefined8 *puVar13; longlong *plVar14; void *pvVar15; undefined8 *******pppppppuVar16; size_t sVar17; void *pvVar18; undefined1 *puVar19; undefined8 *******pppppppuVar20; undefined8 *******pppppppuVar21; uint uVar22; undefined1 auStack_2578 [32]; size_t local_2558; undefined1 local_2550; uint local_2548; size_t *local_2540; longlong local_2538; longlong lStack_2530; longlong local_2528; size_t local_2520; size_t *local_2518; ulonglong local_2510; undefined8 local_2508; longlong lStack_2500; longlong local_24f8; longlong local_24f0; longlong lStack_24e8; undefined8 local_24e0; undefined8 *local_24d8; ulonglong local_24d0; undefined1 *local_24c8; undefined8 local_24c0; longlong *local_24b8; longlong *local_24b0; undefined1 local_24a8 [16]; longlong local_2498; undefined8 local_2490; undefined8 *******local_2488; longlong lStack_2480; longlong local_2478; ulonglong uStack_2470; undefined8 *******local_2468; undefined8 uStack_2460; undefined8 local_2458; undefined8 uStack_2450; undefined8 local_2448 [2]; ulonglong local_2438; ulonglong uStack_2430; undefined1 local_2428; undefined7 uStack_2427; longlong local_2418; ulonglong local_2410; undefined1 local_2408 [16]; undefined8 local_23f8; undefined8 local_23f0; undefined1 local_23e8; undefined7 uStack_23e7; undefined8 local_23d8; ulonglong local_23d0; undefined8 *******local_23c8 [2]; longlong local_23b8; ulonglong local_23b0; undefined1 local_23a8; undefined7 uStack_23a7; longlong local_2398; ulonglong local_2390; undefined1 local_2388 [16]; undefined8 local_2378; undefined8 local_2370; undefined1 local_2368 [16]; undefined8 local_2358; undefined8 local_2350; undefined1 local_2348 [16]; undefined8 local_2338; undefined8 local_2330; undefined1 local_2328 [16]; undefined8 local_2318; undefined8 local_2310; undefined8 *******local_2308; longlong lStack_2300; longlong local_22f8; ulonglong uStack_22f0; undefined8 *******local_22e8 [2]; undefined8 local_22d8; ulonglong local_22d0; undefined8 *******local_22c8 [2]; undefined8 local_22b8; ulonglong local_22b0; undefined8 *******local_22a8 [2]; undefined8 local_2298; ulonglong local_2290; undefined8 *******local_2288 [2]; undefined8 local_2278; ulonglong local_2270; undefined8 *******local_2268 [2]; undefined8 local_2258; ulonglong local_2250; undefined8 *******local_2248 [2]; undefined8 local_2238; ulonglong local_2230; undefined8 *******local_2228 [2]; undefined8 local_2218; ulonglong local_2210; undefined8 *******local_2208 [2]; undefined8 local_21f8; ulonglong local_21f0; undefined8 *******local_21e8 [2]; undefined8 local_21d8; ulonglong local_21d0; undefined8 *******local_21c8 [2]; undefined8 local_21b8; ulonglong local_21b0; undefined8 *******local_21a8 [2]; undefined8 local_2198; ulonglong local_2190; undefined8 *******local_2188 [2]; undefined8 local_2178; ulonglong local_2170; undefined8 *******local_2168 [2]; undefined8 local_2158; ulonglong local_2150; undefined8 *******local_2148 [2]; undefined8 local_2138; ulonglong local_2130; undefined8 *******local_2128 [2]; undefined8 local_2118; ulonglong local_2110; undefined8 *******local_2108 [2]; undefined8 local_20f8; ulonglong local_20f0; undefined8 *******local_20e8 [2]; undefined8 local_20d8; ulonglong local_20d0; undefined1 local_20c8 [16]; undefined8 local_20b8; undefined8 local_20b0; undefined8 *******local_20a8; undefined8 uStack_20a0; ulonglong local_2098; size_t *psStack_2090; undefined8 *******local_2088; longlong lStack_2080; longlong local_2078; ulonglong uStack_2070; undefined8 local_2068; undefined8 uStack_2060; undefined4 local_2058; undefined4 uStack_2054; undefined4 uStack_2050; undefined4 uStack_204c; undefined8 *******local_2048; undefined8 uStack_2040; undefined4 local_2038; undefined4 uStack_2034; undefined4 uStack_2030; undefined4 uStack_202c; undefined8 *******local_2028; undefined8 uStack_2020; undefined4 local_2018; undefined4 uStack_2014; undefined4 uStack_2010; undefined4 uStack_200c; undefined1 local_2008 [8]; undefined4 local_2000; undefined4 local_1ffc; undefined4 local_1ff4; undefined8 local_1fc8; undefined8 local_1fb8; undefined1 local_1fb0 [56]; undefined2 local_1f78; undefined1 local_1f58 [32]; undefined1 local_1f38 [32]; undefined1 local_1f18 [32]; undefined1 local_1ef8 [32]; undefined1 local_1ed8 [88]; undefined8 local_1e80; undefined1 local_1e68 [272]; undefined1 local_1d58 [272]; undefined1 local_1c48 [272]; undefined1 local_1b38 [272]; undefined1 local_1a28 [272]; undefined1 local_1918 [272]; undefined1 local_1808 [272]; undefined1 local_16f8 [272]; undefined1 local_15e8 [272]; undefined1 local_14d8 [272]; undefined1 local_13c8 [272]; undefined1 local_12b8 [272]; undefined1 local_11a8 [272]; undefined1 local_1098 [272]; undefined1 local_f88 [272]; undefined1 local_e78 [272]; undefined1 local_d68 [272]; undefined1 local_c58 [272]; undefined1 local_b48 [272]; undefined1 local_a38 [272]; undefined **local_928; int local_920; undefined1 local_918 [1136]; undefined1 local_4a8 [1088]; ulonglong local_68; local_24c0 = 0xfffffffffffffffe; local_68 = DAT_182615970 ^ (ulonglong)auStack_2578; local_24b8 = param_5; local_24b0 = param_6; local_2518 = param_7; local_24c8 = param_8; local_24d8 = param_10; local_2548 = 0; *param_8 = 0; local_2538 = 0; lStack_2530 = 0; local_2528 = 0; local_2540 = (size_t *)param_7[1]; bVar6 = true; for (sVar17 = *param_7; (local_2520 = sVar17, bVar6 && ((size_t *)sVar17 != local_2540)); sVar17 = sVar17 + 0x8c0) { bVar6 = false; FUN_1805b5540(&local_928,sVar17); while (!bVar6) { if (local_920 == 0xf) { local_2508 = 0; lStack_2500 = 0; local_24f8 = 0; FUN_1805b5490(local_2008); local_24f0 = 0; lStack_24e8 = 0; local_24e0 = 0; FUN_1805b57c0(local_1ed8); local_1e80 = param_9; sVar3 = *local_2518; local_2000 = *(undefined4 *)(sVar3 + 0x474); local_1ffc = *(undefined4 *)(sVar3 + 0x478); local_1ff4 = *(undefined4 *)(sVar3 + 0x47c); local_1fc8 = *(undefined8 *)(sVar3 + 0x18); local_1fb8 = *(undefined8 *)(sVar3 + 0x20); plVar14 = (longlong *)(sVar3 + 0x28); if ((longlong *)local_1fb0 != plVar14) { if (0xf < *(ulonglong *)(sVar3 + 0x40)) { plVar14 = (longlong *)*plVar14; } FUN_1805a6cb0(local_1fb0,plVar14,*(undefined8 *)(sVar3 + 0x38)); } local_1f78 = 0x100; if (local_24f8 == lStack_2500) { FUN_1805b0190(&local_2508,lStack_2500,local_2008); } else { FUN_1805b53c0(lStack_2500,local_2008); lStack_2500 = lStack_2500 + 0xa8; } local_2558 = 0; FUN_18069bc20(*param_10,&local_2508,local_1ed8,&local_24f0); if ((lStack_24e8 - local_24f0) / 0x2f0 != 0) { FUN_1806bb800(*param_10,local_24f0,0,0x80000000); FUN_1805b8040(local_1ed8); FUN_1805bc0b0(&local_24f0); FUN_1805b7ad0(local_2008); FUN_1805b72a0(&local_2508); local_928 = pace::eden::thrift::pub::AuthSituation::vftable; FUN_1805b7720(local_4a8); FUN_1805b8780(local_918); FUN_180575f30(&local_2538); FUN_180485450(param_5); FUN_180485450(param_6); FUN_1805a4e80(param_10); } FUN_1805b8040(local_1ed8); FUN_1805bc0b0(&local_24f0); FUN_1805b7ad0(local_2008); FUN_1805b72a0(&local_2508); bVar6 = true; } else if (local_2528 == lStack_2530) { FUN_1805b0450(&local_2538,lStack_2530,&local_928); bVar6 = true; } else { FUN_1805b5540(lStack_2530,&local_928); lStack_2530 = lStack_2530 + 0x8c0; bVar6 = true; } } local_928 = pace::eden::thrift::pub::AuthSituation::vftable; FUN_1805b7720(local_4a8); FUN_1805b8780(local_918); } if (param_1 == '\0') { FUN_180575f30(&local_2538); if (0xf < (ulonglong)param_5[3]) { pvVar18 = (void *)*param_5; pvVar15 = pvVar18; if ((0xfff < param_5[3] + 1U) && (pvVar15 = *(void **)((longlong)pvVar18 + -8), 0x1f < (ulonglong)((longlong)pvVar18 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } param_5[2] = 0; param_5[3] = 0xf; *(undefined1 *)param_5 = 0; if ((ulonglong)param_6[3] < 0x10) { param_6[2] = 0; param_6[3] = 0xf; *(undefined1 *)param_6 = 0; plVar14 = (longlong *)param_10[1]; if (plVar14 == (longlong *)0x0) { } LOCK(); plVar1 = plVar14 + 1; lVar7 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar7 != 1) { } (**(code **)(*plVar14 + 8))(plVar14); LOCK(); piVar2 = (int *)((longlong)plVar14 + 0xc); iVar8 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar8 != 1) { } (**(code **)(*plVar14 + 0x10))(plVar14); } pvVar18 = (void *)*param_6; pvVar15 = pvVar18; if ((0xfff < param_6[3] + 1U) && (pvVar15 = *(void **)((longlong)pvVar18 + -8), 0x1f < (ulonglong)((longlong)pvVar18 + (-8 - (longlong)pvVar15)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar15); } if (param_5[2] == 0) { FUN_1805a6cb0(param_5,"this software",0xd); } local_20b8 = 0; local_20b0 = 0xf; local_20c8[0] = 0; FUN_1805a6cb0(local_20c8,"Authorization Required",0x16); local_2458 = 0; uStack_2450 = 0xf; local_2468 = (undefined8 *******)((ulonglong)local_2468 & 0xffffffffffffff00); local_2318 = 0; local_2310 = 0xf; local_2328[0] = 0; FUN_1805a6cb0(local_2328,&DAT_181bb1f38,1); if (param_3 != '\0') { FUN_1805a6cb0(local_2328," or open a cloud session with a license for this software,",0x3a); } if (param_2 == '\0') { uVar9 = FUN_1805a3f20(local_1d58, "Please insert an iLok with a license for %s%s and then press the \"OK\" button to continue using this software. Press \"Cancel\" to stop using this software." ); uVar9 = FUN_1805b2240(uVar9,param_5); uVar9 = FUN_1805b2240(uVar9,local_2328); FUN_1805ae640(uVar9,&local_2028); uVar22 = 2; FUN_180485450(&local_2468); local_2468 = local_2028; uStack_2460 = uStack_2020; local_2458 = CONCAT44(uStack_2014,local_2018); uStack_2450 = CONCAT44(uStack_200c,uStack_2010); puVar19 = local_1d58; } else { uVar9 = FUN_1805a3f20(local_1e68, "Please insert an iLok with a license for %s or activate a license for %s to your computer%s and then press the \"OK\" button to continue using this software. Press \"Cancel\" to stop using this software." ); uVar9 = FUN_1805b2240(uVar9,param_5); uVar9 = FUN_1805b2240(uVar9,param_5); uVar9 = FUN_1805b2240(uVar9,local_2328); FUN_1805ae640(uVar9,&local_2048); uVar22 = 1; FUN_180485450(&local_2468); local_2468 = local_2048; uStack_2460 = uStack_2040; local_2458 = CONCAT44(uStack_2034,local_2038); uStack_2450 = CONCAT44(uStack_202c,uStack_2030); puVar19 = local_1e68; } FUN_1805a4fa0(puVar19); if (param_4 == '\0') { if (uStack_2450 - local_2458 < 0x4a) { local_2558 = 0x4a; FUN_1805a1320(&local_2468,0x4a,0, "\n\nNote that this product is not compatible with the first-generation iLok."); } else { pppppppuVar16 = &local_2468; if (0xf < uStack_2450) { pppppppuVar16 = local_2468; } pvVar18 = (void *)((longlong)pppppppuVar16 + local_2458); local_2458 = local_2458 + 0x4a; memmove(pvVar18,"\n\nNote that this product is not compatible with the first-generation iLok." ,0x4a); *(undefined1 *)((longlong)pvVar18 + 0x4a) = 0; } } if ((lStack_2530 - local_2538) / 0x8c0 == 0) goto LAB_1805bff94; local_2478 = 0; uStack_2470 = 0xf; local_2488 = (undefined8 *******)((ulonglong)local_2488 & 0xffffffffffffff00); local_2378 = 0; local_2370 = 0xf; local_2388[0] = 0; local_23f8 = 0; local_23f0 = 0xf; local_2408[0] = 0; local_2498 = 0; local_2490 = 0xf; local_24a8[0] = 0; local_23d8 = 0; local_23d0 = 0xf; local_23e8 = 0; uVar10 = FUN_1806a68d0(*param_10); local_24d0 = uVar10; sVar17 = FUN_1806a4f70(*param_10); local_2520 = sVar17; local_2510 = FUN_1806a7ae0(*param_10); if (((uVar10 & *(ulonglong *)(local_2538 + 0x18)) == 0) || (*(ulonglong *)(local_2538 + 0x18) == 0x80)) { FUN_1805a6cb0(local_2388,&DAT_181bb21d4,4); FUN_1805a6cb0(local_2408,&DAT_181bb21dc,4); } else { FUN_1805a6cb0(&local_2488,"iLok License Server",0x13); FUN_1805a6cb0(local_2388,&DAT_181bb2154,3); FUN_1805a6cb0(local_2408,&DAT_181bb2158,3); FUN_1805a6cb0(local_24a8,"Please contact your iLok License Server\'s administrator for help", 0x40); lVar7 = local_2538; if (*(char *)(local_2538 + 0x450) != '\0') { puVar11 = (undefined8 *)(local_2538 + 0x58); if (*(longlong *)(local_2538 + 0x68) != 0) { local_2438 = 0; uStack_2430 = 0xf; local_2448[0]._0_1_ = 0; local_2548 = uVar22 | 4; psVar12 = (size_t *)(local_2538 + 0x68); local_2540 = psVar12; if (0xf < *psVar12 + 2) { FUN_1805a14a0(local_2448,*psVar12 + 2,0); } local_2438 = 0; if (uStack_2430 < 2) { local_2558 = 2; FUN_1805a1320(local_2448,2,0,&DAT_181bb1ee0); } else { local_2438 = 2; puVar19 = (undefined1 *)local_2448; if (0xf < uStack_2430) { puVar19 = (undefined1 *)CONCAT71(local_2448[0]._1_7_,(undefined1)local_2448[0]); } memmove(puVar19,&DAT_181bb1ee0,2); puVar19[2] = 0; psVar12 = local_2540; } if (0xf < *(ulonglong *)(lVar7 + 0x70)) { puVar11 = (undefined8 *)*puVar11; } local_2540 = (size_t *)*psVar12; if (uStack_2430 - local_2438 < local_2540) { local_2558 = (size_t)local_2540; FUN_1805a1320(local_2448,local_2540,0,puVar11); } else { puVar19 = (undefined1 *)local_2448; if (0xf < uStack_2430) { puVar19 = (undefined1 *)CONCAT71(local_2448[0]._1_7_,(undefined1)local_2448[0]); } puVar19 = puVar19 + local_2438; local_2438 = local_2438 + (longlong)local_2540; memmove(puVar19,puVar11,(size_t)local_2540); puVar19[(longlong)local_2540] = 0; } if (uStack_2430 == local_2438) { local_2558 = 1; puVar11 = (undefined8 *)FUN_1805a1320(local_2448,1,0,&DAT_181bb1ed8); } else { puVar19 = (undefined1 *)local_2448; if (0xf < uStack_2430) { puVar19 = (undefined1 *)CONCAT71(local_2448[0]._1_7_,(undefined1)local_2448[0]); } puVar19 = puVar19 + local_2438; local_2438 = local_2438 + 1; memmove(puVar19,&DAT_181bb1ed8,1); puVar19[1] = 0; puVar11 = local_2448; } pppppppuVar16 = (undefined8 *******)*puVar11; local_20a8 = pppppppuVar16; uStack_20a0 = puVar11[1]; local_2540 = (size_t *)puVar11[2]; local_2518 = (size_t *)puVar11[3]; local_2098 = (ulonglong)local_2540; psStack_2090 = local_2518; puVar11[2] = 0; puVar11[3] = 0xf; *(undefined1 *)puVar11 = 0; local_2548 = uVar22 | 0xc; pppppppuVar21 = &local_20a8; if ((size_t *)0xf < local_2518) { pppppppuVar21 = pppppppuVar16; } if (uStack_2470 - local_2478 < local_2540) { local_2558 = (size_t)local_2540; FUN_1805a1320(&local_2488,local_2540,0); psVar12 = psStack_2090; pppppppuVar16 = local_20a8; } else { pppppppuVar20 = &local_2488; if (0xf < uStack_2470) { pppppppuVar20 = local_2488; } pvVar18 = (void *)((longlong)pppppppuVar20 + local_2478); local_2478 = local_2478 + (longlong)local_2540; memmove(pvVar18,pppppppuVar21,(size_t)local_2540); *(undefined1 *)((longlong)pvVar18 + (longlong)local_2540) = 0; psVar12 = local_2518; } if ((size_t *)0xf < psVar12) { pppppppuVar21 = pppppppuVar16; if ((0xfff < (longlong)psVar12 + 1U) && (pppppppuVar21 = (undefined8 *******)pppppppuVar16[-1], 0x1f < (ulonglong)((longlong)pppppppuVar16 + (-8 - (longlong)pppppppuVar21)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppppuVar21); } uVar22 = uVar22 | 8; if (0xf < uStack_2430) { pvVar15 = (void *)CONCAT71(local_2448[0]._1_7_,(undefined1)local_2448[0]); pvVar18 = pvVar15; if ((0xfff < uStack_2430 + 1) && (pvVar18 = *(void **)((longlong)pvVar15 + -8), 0x1f < (ulonglong)((longlong)pvVar15 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } } lVar7 = local_2538; puVar11 = (undefined8 *)(local_2538 + 0x128); sVar17 = local_2520; if (*(longlong *)(local_2538 + 0x138) != 0) { local_2418 = 0; local_2410 = 0xf; local_2428 = 0; local_2548 = uVar22 | 0x10; psVar12 = (size_t *)(local_2538 + 0x138); local_2540 = psVar12; if (0xf < *psVar12 + 8) { FUN_1805a14a0(&local_2428,*psVar12 + 8,0); } local_2418 = 0; if (local_2410 < 8) { local_2558 = 8; FUN_1805a1320(&local_2428,8,0," (Name: "); } else { local_2418 = 8; puVar19 = &local_2428; if (0xf < local_2410) { puVar19 = (undefined1 *)CONCAT71(uStack_2427,local_2428); } memmove(puVar19," (Name: ",8); puVar19[8] = 0; psVar12 = local_2540; } if (0xf < *(ulonglong *)(lVar7 + 0x140)) { puVar11 = (undefined8 *)*puVar11; } local_2540 = (size_t *)*psVar12; if (local_2410 - local_2418 < local_2540) { local_2558 = (size_t)local_2540; FUN_1805a1320(&local_2428,local_2540,0,puVar11); } else { puVar19 = &local_2428; if (0xf < local_2410) { puVar19 = (undefined1 *)CONCAT71(uStack_2427,local_2428); } puVar19 = puVar19 + local_2418; local_2418 = local_2418 + (longlong)local_2540; memmove(puVar19,puVar11,(size_t)local_2540); puVar19[(longlong)local_2540] = 0; } puVar19 = &local_2428; if (0xf < local_2410) { puVar19 = (undefined1 *)CONCAT71(uStack_2427,local_2428); } FUN_1805a6a80(&local_23e8,puVar19,local_2418); FUN_180485450(&local_2428); puVar13 = (undefined8 *)FUN_1805af050(local_1f58,", Phone: ",local_2538 + 0x148); puVar11 = puVar13; if (0xf < (ulonglong)puVar13[3]) { puVar11 = (undefined8 *)*puVar13; } FUN_1805a6a80(&local_23e8,puVar11,puVar13[2]); FUN_180485450(local_1f58); uVar9 = FUN_1805af050(local_1f38,", Email: ",local_2538 + 0x168); plVar14 = (longlong *)FUN_1805a6a80(uVar9,&DAT_181bb1ed8,1); local_2088 = (undefined8 *******)*plVar14; lStack_2080 = plVar14[1]; local_2078 = plVar14[2]; uStack_2070 = plVar14[3]; plVar14[2] = 0; plVar14[3] = 0xf; *(undefined1 *)plVar14 = 0; uVar22 = uVar22 | 0x20; pppppppuVar16 = &local_2088; if (0xf < uStack_2070) { pppppppuVar16 = local_2088; } FUN_1805a6a80(&local_23e8,pppppppuVar16,local_2078); FUN_180485450(&local_2088); FUN_180485450(local_1f38); puVar19 = &local_23e8; if (0xf < local_23d0) { puVar19 = (undefined1 *)CONCAT71(uStack_23e7,local_23e8); } FUN_1805a6a80(local_24a8,puVar19,local_23d8); sVar17 = local_2520; } } FUN_1805a6a80(local_24a8,&DAT_181bb1edc,1); uVar10 = local_24d0; } uVar4 = *(ulonglong *)(local_2538 + 0x18); if ((sVar17 & uVar4) == 0) { if ((local_2510 & uVar4) == 0) { if (uVar4 == 0x80) { FUN_1805a6cb0(&local_2488,"iLok cloud account",0x12); } else { FUN_1805a6cb0(&local_2488,"license location with the serial number ",0x28); if (*(longlong *)(local_2538 + 0x38) == 0) { uVar9 = FUN_1805a3f20(local_1b38,&DAT_181bb2264); uVar9 = FUN_1805b23b0(uVar9,local_2538 + 0x20); FUN_1805ae640(uVar9,local_22e8); uVar22 = uVar22 | 0x200; pppppppuVar16 = local_22e8; if (0xf < local_22d0) { pppppppuVar16 = local_22e8[0]; } FUN_1805a6a80(&local_2488,pppppppuVar16,local_22d8); FUN_180485450(local_22e8); puVar19 = local_1b38; } else { uVar9 = FUN_1805a3f20(local_1a28,&DAT_181bb2268); uVar9 = FUN_1805b2240(uVar9,local_2538 + 0x28); FUN_1805ae640(uVar9,local_22c8); uVar22 = uVar22 | 0x400; pppppppuVar16 = local_22c8; if (0xf < local_22b0) { pppppppuVar16 = local_22c8[0]; } FUN_1805a6a80(&local_2488,pppppppuVar16,local_22b8); FUN_180485450(local_22c8); puVar19 = local_1a28; } FUN_1805a4fa0(puVar19); } } else if ((uVar10 & uVar4) == 0) { FUN_1805a6cb0(&local_2488,"computer",8); } } else { uVar9 = FUN_1805a3f20(local_1c48,"iLok (serial number %X)"); uVar9 = FUN_1805b23b0(uVar9,local_2538 + 0x20); FUN_1805ae640(uVar9,local_23c8); FUN_1805a4fa0(local_1c48); if ((*(ulonglong *)(local_2538 + 0x18) & uVar10) == 0) { pppppppuVar16 = local_23c8; if (0xf < local_23b0) { pppppppuVar16 = local_23c8[0]; } FUN_1805a6cb0(&local_2488,pppppppuVar16,local_23b8); uVar22 = uVar22 | 0x40; } else { local_2358 = 0; local_2350 = 0xf; local_2368[0] = 0; local_2548 = uVar22 | 0xc0; if (0xf < local_23b8 + 8U) { FUN_1805a14a0(local_2368,local_23b8 + 8U,0); } local_2358 = 0; pppppppuVar16 = local_23c8; if (0xf < local_23b0) { pppppppuVar16 = local_23c8[0]; } FUN_1805a6a80(local_2368,pppppppuVar16,local_23b8); FUN_1805a6a80(local_2368," on the ",8); pppppppuVar16 = &local_2488; if (0xf < uStack_2470) { pppppppuVar16 = local_2488; } plVar14 = (longlong *)FUN_1805a6a80(local_2368,pppppppuVar16,local_2478); pppppppuVar16 = (undefined8 *******)*plVar14; lVar7 = plVar14[1]; lVar5 = plVar14[2]; uVar10 = plVar14[3]; plVar14[2] = 0; plVar14[3] = 0xf; *(undefined1 *)plVar14 = 0; local_2308 = pppppppuVar16; lStack_2300 = lVar7; local_22f8 = lVar5; uStack_22f0 = uVar10; FUN_180485450(&local_2488); local_22f8 = 0; uStack_22f0 = 0xf; local_2308 = (undefined8 *******)((ulonglong)local_2308 & 0xffffffffffffff00); local_2488 = pppppppuVar16; lStack_2480 = lVar7; local_2478 = lVar5; uStack_2470 = uVar10; FUN_180485450(&local_2308); FUN_180485450(local_2368); uVar22 = uVar22 | 0x140; } FUN_180485450(local_23c8); } FUN_1805a6a80(&local_2468,"\n\nProblem Found: ",0x11); switch(*(undefined4 *)(local_2538 + 8)) { case 0: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8, "Please launch the ILok License Manager app, which will automatically refresh this license." ,0x5a); } uVar9 = FUN_1805a3f20(local_1918,"%s %s has an expired Lost or Stolen license. %s"); uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_22a8); pppppppuVar16 = local_22a8; if (0xf < local_2290) { pppppppuVar16 = local_22a8[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_2298); FUN_180485450(local_22a8); puVar19 = local_1918; break; case 1: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8,"Please contact support at www.ilok.com to find out why.",0x37); } uVar9 = FUN_1805a3f20(local_1808,"The licenses on %s %s cannot be used. %s"); uVar9 = FUN_1805b2240(uVar9,local_2388); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_2288); pppppppuVar16 = local_2288; if (0xf < local_2270) { pppppppuVar16 = local_2288[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_2278); FUN_180485450(local_2288); puVar19 = local_1808; break; case 2: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8, "Please disconnect and reconnect this device when switching to another OS or Computer." ,0x55); } uVar9 = FUN_1805a3f20(local_16f8, "The licenses on %s %s cannot be shared across multiple operating systems or computers. %s" ); uVar9 = FUN_1805b2240(uVar9,local_2388); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_2268); pppppppuVar16 = local_2268; if (0xf < local_2250) { pppppppuVar16 = local_2268[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_2258); FUN_180485450(local_2268); puVar19 = local_16f8; break; case 3: case 7: case 8: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8, "Launch the ILok License Manager app, which will automatically fix your license database." ,0x58); } uVar9 = FUN_1805a3f20(local_15e8,"%s %s database needs updating. %s"); uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_2248); pppppppuVar16 = local_2248; if (0xf < local_2230) { pppppppuVar16 = local_2248[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_2238); FUN_180485450(local_2248); puVar19 = local_15e8; break; case 4: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8, "Please launch the ILok License Manager app and refresh this license by right-clicking on the license and selecting Refresh. If this doesn\'t work, contact the software publisher" ,0xb0); } uVar9 = FUN_1805a3f20(local_14d8,"%s %s has an expired NFR (Not for Resale) license. %s"); uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_2228); pppppppuVar16 = local_2228; if (0xf < local_2210) { pppppppuVar16 = local_2228[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_2218); FUN_180485450(local_2228); puVar19 = local_14d8; break; case 5: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8, "Please correct your computer clock, then launch the ILok License Manager app and sign in. For an iLok, right-click on the iLok\'s icon, and select Synchronize." ,0x9f); } uVar9 = FUN_1805a3f20(local_13c8, "%s computer clock for %s %s appears to have been turned backward. %s"); uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,local_2388); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_2208); pppppppuVar16 = local_2208; if (0xf < local_21f0) { pppppppuVar16 = local_2208[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_21f8); FUN_180485450(local_2208); puVar19 = local_13c8; break; case 6: local_2398 = 0; local_2390 = 0xf; local_23a8 = 0; FUN_1805a6cb0(&local_23a8, "lease go to iLok.com and download and install the latest License Service installer." ,0x53); lVar7 = local_2398; if (local_2498 == 0) { local_2338 = 0; local_2330 = 0xf; local_2348[0] = 0; local_2548 = uVar22 | 0x20000; if (0xf < local_2398 + 1U) { FUN_1805a14a0(local_2348,local_2398 + 1U,0); } local_2338 = 0; FUN_1805a6a80(local_2348,&DAT_181bb2714,1); puVar19 = &local_23a8; if (0xf < local_2390) { puVar19 = (undefined1 *)CONCAT71(uStack_23a7,local_23a8); } FUN_1805a6a80(local_2348,puVar19,lVar7); FUN_1805a5a40(local_24a8,local_2348); puVar19 = local_2348; } else { puVar13 = (undefined8 *)FUN_1805af050(local_1f18," Also, p",&local_23a8); puVar11 = puVar13; if (0xf < (ulonglong)puVar13[3]) { puVar11 = (undefined8 *)*puVar13; } FUN_1805a6a80(local_24a8,puVar11,puVar13[2]); puVar19 = local_1f18; } FUN_180485450(puVar19); uVar9 = FUN_1805a3f20(local_12b8,"%s %s has an old version of License Support. %s"); uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_21e8); pppppppuVar16 = local_21e8; if (0xf < local_21d0) { pppppppuVar16 = local_21e8[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_21d8); FUN_180485450(local_21e8); FUN_1805a4fa0(local_12b8); FUN_180485450(&local_23a8); goto switchD_1805bf266_caseD_f; case 9: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8, "Please launch the ILok License Manager app and refresh this license by right-clicking on the license and selecting Refresh." ,0x7b); } uVar9 = FUN_1805a3f20(local_11a8,"%s %s has an expired subscription license. %s"); uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_21c8); pppppppuVar16 = local_21c8; if (0xf < local_21b0) { pppppppuVar16 = local_21c8[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_21b8); FUN_180485450(local_21c8); puVar19 = local_11a8; break; case 10: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8,"Please contact your iLok License Server\'s administrator for help.", 0x41); } uVar9 = FUN_1805a3f20(local_1098, "%s %s is offline. This could be why a valid license cannot be found. %s") ; uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_21a8); pppppppuVar16 = local_21a8; if (0xf < local_2190) { pppppppuVar16 = local_21a8[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_2198); FUN_180485450(local_21a8); puVar19 = local_1098; break; case 0xb: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8,"Please contact your iLok License Server\'s administrator for help.", 0x41); } uVar9 = FUN_1805a3f20(local_f88,"%s %s has an expired license. %s"); uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_2188); pppppppuVar16 = local_2188; if (0xf < local_2170) { pppppppuVar16 = local_2188[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_2178); FUN_180485450(local_2188); puVar19 = local_f88; break; case 0xc: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8,"Please contact your iLok License Server\'s administrator for help.", 0x41); } uVar9 = FUN_1805a3f20(local_e78, "%s %s requires a password to access. This could be why a valid license cannot be found. %s" ); uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_2168); pppppppuVar16 = local_2168; if (0xf < local_2150) { pppppppuVar16 = local_2168[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_2158); FUN_180485450(local_2168); puVar19 = local_e78; break; case 0xd: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8,"Please contact your iLok License Server\'s administrator for help.", 0x41); } uVar9 = FUN_1805a3f20(local_d68, "%s %s requires information that is not set in your iLok License Server client settings. This could be why a valid license cannot be found. %s" ); uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_2148); pppppppuVar16 = local_2148; if (0xf < local_2130) { pppppppuVar16 = local_2148[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_2138); FUN_180485450(local_2148); puVar19 = local_d68; break; case 0xe: uVar9 = FUN_1805af050(local_1ef8, "If leases are often not available, please contact your iLok License Server\'s administrator" ,&local_23e8); puVar11 = (undefined8 *)FUN_1805a6a80(uVar9,&DAT_181bb1edc,1); local_2068 = *puVar11; uStack_2060 = puVar11[1]; local_2058 = *(undefined4 *)(puVar11 + 2); uStack_2054 = *(undefined4 *)((longlong)puVar11 + 0x14); uStack_2050 = *(undefined4 *)(puVar11 + 3); uStack_204c = *(undefined4 *)((longlong)puVar11 + 0x1c); puVar11[2] = 0; puVar11[3] = 0xf; *(undefined1 *)puVar11 = 0; FUN_1805a5a40(local_24a8,&local_2068); FUN_180485450(&local_2068); FUN_180485450(local_1ef8); uVar9 = FUN_1805a3f20(local_c58, "All of the leases for the shared license on %s %s are in use by others. When someone stops using this shared license, a lease for this shared license will become available for use, and then you should be able to run this product at that time. Please try again later. %s" ); uVar9 = FUN_1805b2240(uVar9,local_2388); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_2128); pppppppuVar16 = local_2128; if (0xf < local_2110) { pppppppuVar16 = local_2128[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_2118); FUN_180485450(local_2128); puVar19 = local_c58; break; default: goto switchD_1805bf266_caseD_f; case 0x10: if (local_2498 == 0) { FUN_1805a6cb0(local_24a8, "Please launch the ILok License Manager app and sign in. The firmware will be updated if you activate or deactivate any license on the iLok or if you right-click on the iLok icon and select Synchronize." ,0xca); } uVar9 = FUN_1805a3f20(local_b48,"IMPORTANT: %s %s needs a firmware update. %s"); uVar9 = FUN_1805b2240(uVar9,local_2408); uVar9 = FUN_1805b2240(uVar9,&local_2488); uVar9 = FUN_1805b2240(uVar9,local_24a8); FUN_1805ae640(uVar9,local_2108); pppppppuVar16 = local_2108; if (0xf < local_20f0) { pppppppuVar16 = local_2108[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_20f8); FUN_180485450(local_2108); puVar19 = local_b48; break; case 0x11: uVar9 = FUN_1805a3f20(local_a38, "There is currently an iLok Cloud outage, which may be the reason that a license for your software cannot be found. You can launch the ILok License Manager app to find out more details about the outage." ); FUN_1805ae640(uVar9,local_20e8); pppppppuVar16 = local_20e8; if (0xf < local_20d0) { pppppppuVar16 = local_20e8[0]; } FUN_1805a6a80(&local_2468,pppppppuVar16,local_20d8); FUN_180485450(local_20e8); puVar19 = local_a38; } FUN_1805a4fa0(puVar19); switchD_1805bf266_caseD_f: FUN_180485450(&local_23e8); FUN_180485450(local_24a8); FUN_180485450(local_2408); FUN_180485450(local_2388); FUN_180485450(&local_2488); LAB_1805bff94: if (param_6[2] != 0) { FUN_1805a6a80(&local_2468,&DAT_181bb1db0,2); plVar14 = param_6; if (0xf < (ulonglong)param_6[3]) { plVar14 = (longlong *)*param_6; } FUN_1805a6a80(&local_2468,plVar14,param_6[2]); } local_2550 = 0; local_2558 = CONCAT71(local_2558._1_7_,1); iVar8 = FUN_1805f02b0(local_20c8,&local_2468,0,1); *local_24c8 = iVar8 == 2; FUN_180485450(local_2328); FUN_180485450(&local_2468); FUN_180485450(local_20c8); FUN_180575f30(&local_2538); FUN_180485450(param_5); FUN_180485450(param_6); FUN_1805a4e80(param_10); } ############ FUN_ 1806bb800 size=562 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806bb800(longlong param_1,undefined8 param_2,longlong param_3,undefined4 param_4) { uint uVar1; HANDLE hEvent; void *pvVar2; longlong *plVar3; uint *puVar4; undefined1 auStack_488 [32]; void *local_468; longlong lStack_460; longlong local_458; int *local_450; char local_448; void *local_440; undefined8 uStack_438; longlong local_430; undefined8 local_428; undefined **local_418; undefined1 local_410 [168]; undefined4 local_368; undefined2 local_364; undefined **local_358; undefined1 local_350 [752]; undefined4 local_60; undefined2 local_5c; ulonglong local_58; local_428 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_488; local_358 = pace::eden::thrift::authorize::StartRelativeTimeLimitInput::vftable; FUN_180575180(local_350); local_60 = 0; local_5c = 0; local_418 = pace::eden::thrift::authorize::StartRelativeTimeLimitReturn::vftable; FUN_1805b6280(local_410); local_368 = 4; local_364 = 0; FUN_1805b9ea0(local_350,param_2); local_60 = param_4; FUN_1805b45f0(&local_450,param_1 + 0x18); if (*(longlong *)(param_1 + 0x48) == 0) { plVar3 = (longlong *) ((longlong)*(int *)(**(longlong **)(param_1 + 8) + 8) + (longlong)*(longlong **)(param_1 + 8)); (**(code **)(*plVar3 + 0x160))(plVar3,&local_418,&local_358,4); } else { local_440 = (void *)0x0; uStack_438 = 0; local_430 = 0; local_468 = (void *)0x0; lStack_460 = 0; local_458 = 0; FUN_180674530(&local_358,&local_440,1); FUN_1806b86d0(param_1,0x20,&local_440,&local_468); FUN_180672320(local_468,lStack_460 - (longlong)local_468,&local_418); if (local_468 != (void *)0x0) { pvVar2 = local_468; if ((0xfff < (ulonglong)(local_458 - (longlong)local_468)) && (pvVar2 = *(void **)((longlong)local_468 + -8), 0x1f < (ulonglong)((longlong)local_468 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if (local_440 != (void *)0x0) { pvVar2 = local_440; if ((0xfff < (ulonglong)(local_430 - (longlong)local_440)) && (pvVar2 = *(void **)((longlong)local_440 + -8), 0x1f < (ulonglong)((longlong)local_440 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } } if (param_3 != 0) { FUN_1805ba930(param_3,local_410); } if ((local_448 != '\0') && (*local_450 = *local_450 + -1, *local_450 == 0)) { LOCK(); local_450[1] = 0; UNLOCK(); puVar4 = (uint *)(local_450 + 2); LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 + 0x80000000; UNLOCK(); if (((uVar1 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar1)) { LOCK(); uVar1 = *puVar4; *puVar4 = *puVar4 | 0x40000000; UNLOCK(); if ((uVar1 >> 0x1e & 1) == 0) { hEvent = (HANDLE)FUN_1805a9100(); SetEvent(hEvent); } } } local_418 = pace::eden::thrift::authorize::StartRelativeTimeLimitReturn::vftable; FUN_1805b9270(local_410); local_358 = pace::eden::thrift::authorize::StartRelativeTimeLimitInput::vftable; FUN_1805753e0(local_350); } ############ FUN_ 18079fea0 size=362 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079fea0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xc) goto LAB_18079ff70; FUN_18094f6f0(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0xb4) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0xb0); *(undefined1 *)(param_1 + 0xb5) = 1; } else { LAB_18079ff70: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 18094f6f0 size=845 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18094f6f0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_88 [32]; undefined2 local_68 [2]; uint local_64; int local_60; undefined1 local_5c [4]; undefined8 local_58; undefined1 local_50; undefined7 uStack_4f; undefined8 local_40; ulonglong local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_88; local_40 = 0; local_38 = 0xf; local_50 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_50); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_60,local_68); do { if (local_60 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_38 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_4f,local_50); _Memory = pvVar1; if ((0xfff < local_38 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_68[0]) { case 1: if (local_60 != 8) break; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x9c) = 1; goto LAB_18094f9aa; case 2: if (local_60 == 0xf) { *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)(param_1 + 0x10); (**(code **)(*param_2 + 0xf0))(param_2,local_5c,&local_64); FUN_1805b1330(param_1 + 0x10,local_64,param_1 + 0x10); uVar3 = 0; if (local_64 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x10)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_64); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x9d) = 1; goto LAB_18094f9aa; } break; default: break; case 10: if (local_60 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x9e) = 1; goto LAB_18094f9aa; } break; case 0xb: if (local_60 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x48); *(undefined1 *)(param_1 + 0x9f) = 1; goto LAB_18094f9aa; } break; case 0xc: if (local_60 == 10) { (**(code **)(*param_2 + 0x130))(param_2,param_1 + 0x68); *(undefined1 *)(param_1 + 0xa0) = 1; goto LAB_18094f9aa; } break; case 0xd: if (local_60 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x70); *(undefined1 *)(param_1 + 0xa1) = 1; goto LAB_18094f9aa; } break; case 0xf: if (local_60 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x90); *(undefined1 *)(param_1 + 0xa2) = 1; goto LAB_18094f9aa; } break; case 0x10: if (local_60 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x94); *(undefined1 *)(param_1 + 0xa3) = 1; goto LAB_18094f9aa; } break; case 0x11: if (local_60 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x98); *(undefined1 *)(param_1 + 0xa4) = 1; goto LAB_18094f9aa; } break; case 0x12: if (local_60 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x99); *(undefined1 *)(param_1 + 0xa5) = 1; goto LAB_18094f9aa; } break; case 0x14: if (local_60 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x9a); *(undefined1 *)(param_1 + 0xa6) = 1; goto LAB_18094f9aa; } break; case 0x15: if (local_60 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x9b); *(undefined1 *)(param_1 + 0xa7) = 1; goto LAB_18094f9aa; } } FUN_1806d8eb0(param_2); LAB_18094f9aa: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_60,local_68); } while( true ); } ############ FUN_ 1806a2680 size=1367 ############ longlong FUN_1806a2680(longlong param_1,uint param_2,undefined8 param_3,longlong param_4, undefined4 param_5) { HANDLE hEvent; longlong lVar1; ulonglong uVar2; uint uVar3; void *pvVar4; longlong *plVar5; uint *puVar6; int iVar7; undefined8 uVar8; ulonglong uVar9; ulonglong uVar10; int unaff_retaddr; undefined8 uStack_1b0; undefined1 auStack_198 [40]; undefined8 local_170; undefined4 local_168; uint local_158; undefined4 local_154; undefined **local_148; undefined8 local_140; undefined **local_138; undefined8 local_130; undefined4 local_128; undefined1 local_124; undefined8 local_120; undefined8 local_118; undefined8 uStack_110; undefined8 local_108; undefined8 uStack_100; undefined1 local_f8; undefined8 local_f0; undefined8 local_e8; undefined2 local_e0; undefined4 local_d8; undefined2 local_d4; undefined1 local_d2; undefined **local_c8; uint local_c0; longlong local_b8; undefined4 local_b0; undefined2 local_ac; undefined1 local_aa; void *local_a8; longlong lStack_a0; longlong local_98; void *local_90; undefined8 uStack_88; longlong local_80; int *local_78; char local_70; undefined8 local_68; ulonglong local_48; local_68 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_198; uVar10 = (ulonglong)param_2; local_168 = 0xe4f4e502; local_154 = 0x90; uVar3 = (uint)&stack0x00000000 & 0x13f; iVar7 = (uVar3 + 2) * (uVar3 + 1) * uVar3; uVar8 = 0x542ced4; local_158 = 0xe8b2 << ((byte)(((iVar7 >> 1) - (iVar7 >> 3)) + iVar7 * 0x55555555 >> 0x1e) & 0x1f) ^ 0xe502; local_c8 = pace::eden::thrift::authorize::GetLocationTypesFromLocationGroupInput::vftable; local_b8 = 0; local_ac = 0; local_aa = 0; local_148 = pace::eden::thrift::authorize::GetLocationTypesFromLocationGroupReturn::vftable; local_140 = 0; local_138 = pace::eden::thrift::fusion::LocationGroupAttributes::vftable; local_130 = 0; local_128 = 0; local_124 = 0; local_120 = 0; local_118 = 0; uStack_110 = 0; local_108 = 0; uStack_100 = 0; local_f8 = 0; local_f0 = 0; local_e8 = 0; local_e0 = 0; local_d8 = 4; local_d4 = 0; local_d2 = 0; local_170 = param_3; local_c0 = param_2; do { FUN_1806a0a21(0x4608,uVar8); param_4 = (-param_4 ^ 0xffffffffffffffffU) + 1; uVar3 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xfffffffe) + 1; } } while (uVar3 != 0); local_b0 = param_5; local_b8 = param_4; FUN_1805b45f0(&local_78,param_1 + 0x18); if (*(longlong *)(param_1 + 0x48) == 0) { plVar5 = (longlong *) ((longlong)*(int *)(**(longlong **)(param_1 + 8) + 8) + (longlong)*(longlong **)(param_1 + 8)); (**(code **)(*plVar5 + 0xe8))(plVar5,&local_148,&local_c8,4); } else { local_90 = (void *)0x0; uStack_88 = 0; local_80 = 0; local_a8 = (void *)0x0; lStack_a0 = 0; local_98 = 0; FUN_180673e30(&local_c8,&local_90,1); FUN_1806b86d0(param_1,0x2b,&local_90,&local_a8); FUN_180671d50(local_a8,lStack_a0 - (longlong)local_a8,&local_148); if (local_a8 != (void *)0x0) { pvVar4 = local_a8; if ((0xfff < (ulonglong)(local_98 - (longlong)local_a8)) && (pvVar4 = *(void **)((longlong)local_a8 + -8), 0x1f < (ulonglong)((longlong)local_a8 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } if (local_90 != (void *)0x0) { pvVar4 = local_90; if ((0xfff < (ulonglong)(local_80 - (longlong)local_90)) && (pvVar4 = *(void **)((longlong)local_90 + -8), 0x1f < (ulonglong)((longlong)local_90 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } } if ((local_70 != '\0') && (*local_78 = *local_78 + -1, *local_78 == 0)) { LOCK(); local_78[1] = 0; UNLOCK(); puVar6 = (uint *)(local_78 + 2); LOCK(); uVar3 = *puVar6; *puVar6 = *puVar6 + 0x80000000; UNLOCK(); if (((uVar3 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar3)) { LOCK(); uVar3 = *puVar6; *puVar6 = *puVar6 | 0x40000000; UNLOCK(); if ((uVar3 >> 0x1e & 1) == 0) { hEvent = (HANDLE)FUN_1805a9100(); SetEvent(hEvent); } } } uStack_1b0 = 0xe4f4e502; /* WARNING: Call to offcut address within same function */ lVar1 = func_0x0001806a2b32(); uVar2 = (param_4 + lVar1) - ((lVar1 - (param_4 + lVar1) ^ 0xffffffffffffffffU) + 1); DAT_49e28b4d5a417849 = (undefined1)uVar2; uVar9 = (ulonglong)((int)&uStack_1b0 + 0x111); *(BADSPACEBASE **)(uVar9 - 8) = register0x00000020; *(ulonglong *)(uVar9 - 0x10) = uVar10 + 0x75c7b; *(ulonglong *)(uVar9 - 0x18) = uVar10 - 0x206ef; *(ulonglong *)(uVar9 - 0x20) = uVar10 + 0x2f26a; *(ulonglong *)(uVar9 - 0x28) = uVar10 + 0x46a1e; *(ulonglong *)(uVar9 - 0x30) = uVar10 + 0x60f0d; *(ulonglong *)(uVar9 - 0x38) = uVar10 + 0x55034; return (~((~uVar2 + 1 ^ 0xffffffffffffffff) + 1) + 1 ^ 0xffffffffffffffff) + 1; } ############ FUN_ 1805cac40 size=1518 ############ /* WARNING: Removing unreachable block (ram,0x0001805caf64) */ ulonglong FUN_1805cac40(void) { uint *puVar1; longlong lVar2; void *pvVar3; bool bVar4; uint *puVar5; undefined1 uVar6; HANDLE hEvent; ulonglong uVar7; uint uVar8; void *pvVar9; longlong lVar10; longlong *_Memory; int unaff_retaddr; undefined1 auStack_c8 [32]; undefined4 local_a8; undefined4 local_98; undefined4 local_80; uint local_7c; uint *local_78; undefined1 local_70; longlong local_68; undefined8 local_50; longlong *local_48; longlong local_40; ulonglong local_20; puVar5 = DAT_18265dde8; local_50 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_c8; local_98 = 0x6800; uVar8 = (uint)&stack0x00000000 & 0x71ff; uVar8 = uVar8 * uVar8 + 1; local_7c = 0xa8ee >> ((byte)(0 >> ((char)uVar8 + (char)(uVar8 / 7) * -7 & 0x1fU)) & 0x1f) ^ 0xa1de ; local_80 = 0x780; if ((DAT_18265dde0 != (longlong *)0x0) && (DAT_18265dde8 != (uint *)0x0)) { local_78 = DAT_18265dde8; local_70 = 0; FUN_1805a9420(DAT_18265dde8); local_70 = 1; local_48 = DAT_18265dde0; lVar2 = *DAT_18265dde0; bVar4 = true; _Memory = DAT_18265dde0; local_40 = lVar2; for (lVar10 = DAT_18265dde0[1]; (local_68 = lVar10, bVar4 && (lVar10 != lVar2)); lVar10 = lVar10 + -0x10) { bVar4 = false; while (!bVar4) { (**(code **)(lVar10 + -0x10))(*(undefined8 *)(lVar10 + -8)); _Memory = DAT_18265dde0; bVar4 = true; } } if (_Memory != (longlong *)0x0) { pvVar3 = (void *)*_Memory; if (pvVar3 == (void *)0x0) { /* WARNING: Subroutine does not return */ free(_Memory); } pvVar9 = pvVar3; if ((0xfff < (_Memory[2] - (longlong)pvVar3 & 0xfffffffffffffff0U)) && (pvVar9 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } DAT_18265dde0 = (longlong *)0x0; LOCK(); uVar8 = *puVar5; *puVar5 = *puVar5 + 0x80000000; UNLOCK(); if (((uVar8 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar8)) { LOCK(); uVar8 = *local_78; *local_78 = *local_78 | 0x40000000; UNLOCK(); if ((uVar8 >> 0x1e & 1) == 0) { hEvent = (HANDLE)FUN_1805a9100(local_78); SetEvent(hEvent); } } puVar5 = DAT_18265dde8; if (DAT_18265dde8 != (uint *)0x0) { LOCK(); puVar1 = DAT_18265dde8 + 2; puVar1[0] = 0; puVar1[1] = 0; UNLOCK(); if (*(HANDLE *)puVar1 != (HANDLE)0x0) { CloseHandle(*(HANDLE *)puVar1); } /* WARNING: Subroutine does not return */ free(puVar5); } DAT_18265dde8 = (uint *)0x0; } do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); if (DAT_18265dde0 == (longlong *)0x0) { local_a8 = 0x811c9dc5; /* WARNING: Call to offcut address within same function */ uVar7 = func_0x0001805cb07e(); uVar6 = in(0x86); return CONCAT71((int7)(~((uVar7 ^ 0xffffffffffffffff) + 1) + 1 >> 8),uVar6) | 0x5f; } pvVar3 = (void *)*DAT_18265dde0; if (pvVar3 == (void *)0x0) { /* WARNING: Subroutine does not return */ free(DAT_18265dde0); } pvVar9 = pvVar3; if ((0xfff < (DAT_18265dde0[2] - (longlong)pvVar3 & 0xfffffffffffffff0U)) && (pvVar9 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } ############ FUN_ 1805d0470 size=145 ############ basic_ios_> * FUN_1805d0470(basic_ios_> *param_1,ulonglong param_2) { basic_ios_> *_Memory; _Memory = param_1 + -0x88; *(undefined ***)(param_1 + (longlong)*(int *)(*(longlong *)_Memory + 4) + -0x88) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)(param_1 + (longlong)*(int *)(*(longlong *)(param_1 + -0x88) + 4) + -0x8c) = *(int *)(*(longlong *)(param_1 + -0x88) + 4) + -0x88; FUN_1805d0340(param_1 + -0x80); std::basic_ostream_>::~basic_ostream_> ((basic_ostream_> *)(param_1 + -0x78)); std::basic_ios_>::~basic_ios_>(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(_Memory); } return _Memory; } ############ FUN_ 1805d0510 size=52 ############ void * FUN_1805d0510(void *param_1,ulonglong param_2) { FUN_1805d0340(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805d0550 size=52 ############ void * FUN_1805d0550(void *param_1,ulonglong param_2) { FUN_1806d5550(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805d06b0 size=2761 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_1805d06b0(undefined8 param_1,uint *param_2,char *param_3) { byte bVar1; char cVar2; void *pvVar3; undefined8 uVar4; undefined8 uVar5; uint uVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; byte *****pppppbVar11; char *pcVar12; int iVar13; char *pcVar14; char *pcVar15; byte *******pppppppbVar16; longlong lVar17; byte *******pppppppbVar18; byte *******pppppppbVar19; ulonglong uVar20; byte ******ppppppbVar21; byte ******ppppppbVar22; byte *pbVar23; byte *pbVar24; void *pvVar25; byte ******ppppppbVar27; ulonglong uVar28; char *pcVar29; char *pcVar30; byte ******ppppppbVar31; undefined1 auStack_228 [32]; byte ******local_208; char *local_1f8; char *local_1f0; char *local_1e8; uint *local_1e0; char *local_1d8; uint local_1d0; uint uStack_1cc; uint uStack_1c8; uint uStack_1c4; undefined8 local_1c0; undefined8 uStack_1b8; byte *******local_1b0; byte ******ppppppbStack_1a8; byte ******local_1a0; ulonglong uStack_198; byte local_190; undefined7 uStack_18f; byte *****pppppbStack_188; byte *****local_180; byte *****pppppbStack_178; undefined1 local_170; undefined7 uStack_16f; byte ******ppppppbStack_168; byte ******local_160; ulonglong uStack_158; char local_148 [256]; ulonglong local_48; uint *puVar26; local_48 = DAT_182615970 ^ (ulonglong)auStack_228; pcVar30 = param_3; if (0xf < *(ulonglong *)(param_3 + 0x18)) { pcVar30 = *(char **)param_3; } pcVar29 = *(char **)(param_3 + 0x10); local_1e0 = param_2; local_1d8 = param_3; if (pcVar29 != (char *)0x0) { for (pcVar14 = memchr(pcVar30,0x7c,(size_t)pcVar29); pcVar14 != (char *)0x0; pcVar14 = memchr(pcVar14 + 1,0x7c, (size_t)(pcVar30 + ((longlong)pcVar29 - (longlong)(pcVar14 + 1))))) { if (*pcVar14 == DAT_181bb3bac) { if (pcVar14 == pcVar30) { ppppppbVar21 = (byte ******)0x0; local_1a0 = (byte ******)0x0; pcVar30 = (char *)0x1; local_1b0 = (byte *******)0x0; ppppppbStack_1a8 = (byte ******)0x0; ppppppbVar27 = (byte ******)0x0; ppppppbVar31 = ppppppbVar21; if ((char *)0x1 < pcVar29) goto LAB_1805d07b0; goto LAB_1805d093a; } break; } } } FUN_1805a4070(param_2,param_3); FUN_1805d111e(); return; LAB_1805d07b0: do { ppppppbVar22 = (byte ******)0xffffffffffffffff; if (ppppppbVar21 == (byte ******)0xffffffffffffffff) break; uVar20 = *(ulonglong *)(param_3 + 0x18); pcVar14 = param_3; if (0xf < uVar20) { pcVar14 = *(char **)param_3; } local_1f8 = pcVar14; if ((pcVar29 == (char *)0x0) || (pcVar29 + -1 < pcVar30)) { LAB_1805d0855: if (ppppppbVar22 != (byte ******)0xffffffffffffffff) { uVar28 = (longlong)ppppppbVar22 - (longlong)pcVar30; if (uVar28 != 0) { local_180 = (byte *****)0x0; pppppbStack_178 = (byte *****)0xf; local_190 = 0; if (pcVar29 < pcVar30) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } if ((ulonglong)((longlong)pcVar29 - (longlong)pcVar30) < uVar28) { uVar28 = (longlong)pcVar29 - (longlong)pcVar30; } pcVar29 = param_3; if (0xf < uVar20) { pcVar29 = *(char **)param_3; } FUN_1805a6cb0(&local_190,pcVar29 + (longlong)pcVar30,uVar28); if (ppppppbVar31 == ppppppbVar27) { FUN_1805cfbf0(&local_1b0,ppppppbVar27,&local_190); ppppppbVar27 = ppppppbStack_1a8; ppppppbVar31 = local_1a0; if ((byte *****)0xf < pppppbStack_178) { pvVar3 = (void *)CONCAT71(uStack_18f,local_190); pvVar25 = pvVar3; if ((0xfff < (longlong)pppppbStack_178 + 1U) && (pvVar25 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar25)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar25); } } else { *ppppppbVar27 = (byte *****)CONCAT71(uStack_18f,local_190); ppppppbVar27[1] = pppppbStack_188; ppppppbVar27[2] = local_180; ppppppbVar27[3] = pppppbStack_178; ppppppbStack_1a8 = ppppppbVar27 + 4; ppppppbVar27 = ppppppbStack_1a8; } } pcVar30 = (char *)((longlong)ppppppbVar22 + 1); } } else { for (pcVar15 = memchr(pcVar14 + (longlong)pcVar30,0x7c, (size_t)(pcVar14 + ((longlong)pcVar29 - (longlong)(pcVar14 + (longlong)pcVar30)))); pcVar15 != (char *)0x0; pcVar15 = memchr(pcVar15 + 1,0x7c, (size_t)(pcVar14 + ((longlong)pcVar29 - (longlong)(pcVar15 + 1))))) { if (*pcVar15 == DAT_181bb3bac) { ppppppbVar22 = (byte ******)(pcVar15 + -(longlong)local_1f8); uVar20 = *(ulonglong *)(param_3 + 0x18); goto LAB_1805d0855; } } ppppppbVar22 = (byte ******)0xffffffffffffffff; } pcVar29 = *(char **)(param_3 + 0x10); ppppppbVar21 = ppppppbVar22; } while (pcVar30 < pcVar29); LAB_1805d093a: pcVar29 = *(char **)(param_3 + 0x10); if (pcVar30 < pcVar29) { local_180 = (byte *****)0x0; pppppbStack_178 = (byte *****)0xf; local_190 = 0; if (pcVar29 < pcVar30) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } lVar17 = -1; if ((longlong)pcVar29 - (longlong)pcVar30 != -1) { lVar17 = (longlong)pcVar29 - (longlong)pcVar30; } pcVar29 = param_3; if (0xf < *(ulonglong *)(param_3 + 0x18)) { pcVar29 = *(char **)param_3; } FUN_1805a6cb0(&local_190,pcVar29 + (longlong)pcVar30,lVar17); if (ppppppbVar31 == ppppppbVar27) { FUN_1805cfbf0(&local_1b0,ppppppbVar27,&local_190); ppppppbVar27 = ppppppbStack_1a8; ppppppbVar31 = local_1a0; if ((byte *****)0xf < pppppbStack_178) { pvVar3 = (void *)CONCAT71(uStack_18f,local_190); pvVar25 = pvVar3; if ((0xfff < (longlong)pppppbStack_178 + 1U) && (pvVar25 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar25)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar25); } } else { *ppppppbVar27 = (byte *****)CONCAT71(uStack_18f,local_190); ppppppbVar27[1] = pppppbStack_188; ppppppbVar27[2] = local_180; ppppppbVar27[3] = pppppbStack_178; ppppppbVar27 = ppppppbVar27 + 4; } } pppppppbVar19 = local_1b0; uVar5 = s___LINE___181bb3bc0._0_8_; uVar4 = s___FILE___181bb3bb0._0_8_; pcVar30 = (char *)((longlong)ppppppbVar27 - (longlong)local_1b0 >> 5); if (pcVar30 == (char *)0x0) { FUN_1805a4070(local_1e0,param_3); if (pppppppbVar19 == (byte *******)0x0) { } FUN_18048c550(pppppppbVar19,ppppppbVar27,&local_1b0); pppppppbVar16 = pppppppbVar19; if ((0xfff < ((longlong)ppppppbVar31 - (longlong)pppppppbVar19 & 0xffffffffffffffe0U)) && (pppppppbVar16 = (byte *******)pppppppbVar19[-1], (byte *)0x1f < (byte *)((longlong)pppppppbVar19 + (-8 - (longlong)pppppppbVar16)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } else { pcVar29 = (char *)0xffffffffffffffff; pcVar14 = (char *)0x0; local_1f0 = (char *)0xffffffffffffffff; local_1e8 = (char *)0xffffffffffffffff; local_1f8 = (char *)0xffffffffffffffff; if (pcVar30 != (char *)0x0) { do { ppppppbVar21 = pppppppbVar19[3]; pppppppbVar16 = pppppppbVar19; if ((byte ******)0xf < ppppppbVar21) { pppppppbVar16 = (byte *******)*pppppppbVar19; } ppppppbVar22 = pppppppbVar19[2]; if ((ppppppbVar22 != (byte ******)0x8) || (pcVar15 = pcVar14, pcVar12 = local_1e8, *pppppppbVar16 != (byte ******)uVar4)) { pppppppbVar16 = pppppppbVar19; if ((byte ******)0xf < ppppppbVar21) { pppppppbVar16 = (byte *******)*pppppppbVar19; } pcVar15 = local_1f0; if ((ppppppbVar22 != (byte ******)0x8) || (pcVar12 = pcVar14, *pppppppbVar16 != (byte ******)uVar5)) { pppppppbVar16 = pppppppbVar19; if ((byte ******)0xf < ppppppbVar21) { pppppppbVar16 = (byte *******)*pppppppbVar19; } pcVar12 = local_1e8; if ((ppppppbVar22 == (byte ******)0x13) && (iVar13 = memcmp(pppppppbVar16,"__PRETTY_FUNCTION__",0x13), pcVar29 = local_1f8, pcVar15 = local_1f0, pcVar12 = local_1e8, iVar13 == 0)) { pcVar29 = pcVar14; local_1f8 = pcVar14; } } } local_1e8 = pcVar12; local_1f0 = pcVar15; pppppppbVar16 = local_1b0; pcVar14 = pcVar14 + 1; pppppppbVar19 = pppppppbVar19 + 4; } while (pcVar14 < pcVar30); if (((local_1f0 != (char *)0xffffffffffffffff) || (local_1e8 != (char *)0xffffffffffffffff)) || (param_3 = local_1d8, pcVar29 != (char *)0xffffffffffffffff)) { uStack_1b8 = 0xf; local_1c0 = 0; local_1d0 = local_1d0 & 0xffffff00; if (local_1f0 == (char *)0xffffffffffffffff) { local_208 = (byte ******)0x10; FUN_1805a1320(&local_1d0,0x10,0,"Filename unknown"); } else { local_180 = (byte *****)0x0; pppppbStack_178 = (byte *****)0xf; local_190 = 0; FUN_1805a6cb0(&local_190,&DAT_181bb3be4,1); if (pppppbStack_178 == local_180) { local_208 = (byte ******)0x1; FUN_1805a1320(&local_190,1,0,&DAT_181bb3be8); } else { pbVar23 = &local_190; if ((byte *****)0xf < pppppbStack_178) { pbVar23 = (byte *)CONCAT71(uStack_18f,local_190); } pbVar23 = pbVar23 + (longlong)local_180; local_180 = (byte *****)((longlong)local_180 + 1); memmove(pbVar23,&DAT_181bb3be8,1); pbVar23[1] = 0; } FUN_1805a4070(&local_1b0); pppppbVar11 = local_180; ppppppbVar21 = local_1a0; pbVar23 = &local_190; if ((byte *****)0xf < pppppbStack_178) { pbVar23 = (byte *)CONCAT71(uStack_18f,local_190); } pppppppbVar19 = (byte *******)&local_1b0; if (0xf < uStack_198) { pppppppbVar19 = local_1b0; } if ((local_180 != (byte *****)0x0) && (local_1a0 != (byte ******)0x0)) { memset(local_148,0,0x100); lVar17 = (longlong)(pbVar23 + (longlong)pppppbVar11) - (longlong)pbVar23; if (pbVar23 + (longlong)pppppbVar11 < pbVar23) { lVar17 = 0; } if (lVar17 != 0) { pbVar24 = pbVar23; do { bVar1 = *pbVar24; pbVar24 = pbVar24 + 1; local_148[bVar1] = '\x01'; } while ((longlong)pbVar24 - (longlong)pbVar23 != lVar17); } pcVar30 = (char *)0xffffffffffffffff; if ((char *)((longlong)ppppppbVar21 + -1) != (char *)0xffffffffffffffff) { pcVar30 = (char *)((longlong)ppppppbVar21 + -1); } pppppppbVar18 = (byte *******)((longlong)pppppppbVar19 + (longlong)pcVar30); cVar2 = local_148[*(byte *)pppppppbVar18]; while (cVar2 == '\0') { if (pppppppbVar18 == pppppppbVar19) goto LAB_1805d0d58; pbVar23 = (byte *)((longlong)pppppppbVar18 + -1); pppppppbVar18 = (byte *******)((longlong)pppppppbVar18 + -1); cVar2 = local_148[*pbVar23]; } if ((longlong)pppppppbVar18 - (longlong)pppppppbVar19 != -1) { ppppppbVar22 = (byte ******)(((longlong)pppppppbVar18 - (longlong)pppppppbVar19) + 1); local_160 = (byte ******)0x0; uStack_158 = 0xf; local_170 = 0; if (ppppppbVar21 < ppppppbVar22) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } lVar17 = -1; if ((longlong)ppppppbVar21 - (longlong)ppppppbVar22 != -1) { lVar17 = (longlong)ppppppbVar21 - (longlong)ppppppbVar22; } pppppppbVar19 = (byte *******)&local_1b0; if (0xf < uStack_198) { pppppppbVar19 = local_1b0; } FUN_1805a6cb0(&local_170,(byte *)((longlong)pppppppbVar19 + (longlong)ppppppbVar22), lVar17); FUN_180485450(&local_1b0); local_1b0 = (byte *******)CONCAT71(uStack_16f,local_170); local_1a0 = local_160; uStack_198 = uStack_158; ppppppbStack_1a8 = ppppppbStack_168; ppppppbVar21 = local_160; } } LAB_1805d0d58: pppppppbVar19 = (byte *******)&local_1b0; if (0xf < uStack_198) { pppppppbVar19 = local_1b0; } if ((byte ******)(uStack_1b8 - local_1c0) < ppppppbVar21) { local_208 = ppppppbVar21; FUN_1805a1320(&local_1d0,ppppppbVar21,0); } else { puVar26 = &local_1d0; if (0xf < uStack_1b8) { puVar26 = (uint *)CONCAT44(uStack_1cc,local_1d0); } pvVar25 = (void *)((longlong)puVar26 + local_1c0); local_1c0 = local_1c0 + (longlong)ppppppbVar21; memmove(pvVar25,pppppppbVar19,(size_t)ppppppbVar21); *(undefined1 *)((longlong)pvVar25 + (longlong)ppppppbVar21) = 0; } if (0xf < uStack_198) { pppppppbVar19 = local_1b0; if ((0xfff < uStack_198 + 1) && (pppppppbVar19 = (byte *******)local_1b0[-1], (byte *)0x1f < (byte *)((longlong)local_1b0 + (-8 - (longlong)pppppppbVar19)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppppbVar19); } local_1a0 = (byte ******)0x0; uStack_198 = 0xf; local_1b0 = (byte *******)((ulonglong)local_1b0 & 0xffffffffffffff00); if ((byte *****)0xf < pppppbStack_178) { pvVar3 = (void *)CONCAT71(uStack_18f,local_190); pvVar25 = pvVar3; if ((0xfff < (longlong)pppppbStack_178 + 1U) && (pvVar25 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar25)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar25); } } pcVar30 = local_1e8; if (local_1e8 == (char *)0xffffffffffffffff) { if (0xd < uStack_1b8 - local_1c0) { puVar26 = &local_1d0; if (0xf < uStack_1b8) { puVar26 = (uint *)CONCAT44(uStack_1cc,local_1d0); } pvVar25 = (void *)((longlong)puVar26 + local_1c0); local_1c0 = local_1c0 + 0xe; memmove(pvVar25,", line unknown",0xe); *(undefined1 *)((longlong)pvVar25 + 0xe) = 0; goto LAB_1805d0fbf; } local_208 = (byte ******)&DAT_0000000e; pcVar30 = ", line unknown"; ppppppbVar21 = local_208; } else { if (uStack_1b8 - local_1c0 < 7) { local_208 = (byte ******)0x7; FUN_1805a1320(&local_1d0,7,0,", line "); } else { puVar26 = &local_1d0; if (0xf < uStack_1b8) { puVar26 = (uint *)CONCAT44(uStack_1cc,local_1d0); } pvVar25 = (void *)((longlong)puVar26 + local_1c0); local_1c0 = local_1c0 + 7; memmove(pvVar25,", line ",7); *(undefined1 *)((longlong)pvVar25 + 7) = 0; } pppppppbVar19 = pppppppbVar16 + (longlong)(pcVar30 + 1) * 4; pcVar30 = (char *)pppppppbVar19; if ((byte ******)0xf < pppppppbVar19[3]) { pcVar30 = (char *)*pppppppbVar19; } ppppppbVar21 = pppppppbVar19[2]; if (ppppppbVar21 <= (byte ******)(uStack_1b8 - local_1c0)) { puVar26 = &local_1d0; if (0xf < uStack_1b8) { puVar26 = (uint *)CONCAT44(uStack_1cc,local_1d0); } pvVar25 = (void *)((longlong)puVar26 + local_1c0); local_1c0 = local_1c0 + (longlong)ppppppbVar21; memmove(pvVar25,pcVar30,(size_t)ppppppbVar21); *(undefined1 *)((longlong)pvVar25 + (longlong)ppppppbVar21) = 0; goto LAB_1805d0fbf; } } local_208 = ppppppbVar21; FUN_1805a1320(&local_1d0,local_208,0,pcVar30); LAB_1805d0fbf: pcVar30 = local_1f8; if (local_1f8 != (char *)0xffffffffffffffff) { if (uStack_1b8 - local_1c0 < 0xc) { local_208 = (byte ******)0xc; FUN_1805a1320(&local_1d0,0xc,0,", function: "); } else { puVar26 = &local_1d0; if (0xf < uStack_1b8) { puVar26 = (uint *)CONCAT44(uStack_1cc,local_1d0); } pvVar25 = (void *)((longlong)puVar26 + local_1c0); local_1c0 = local_1c0 + 0xc; memmove(pvVar25,", function: ",0xc); *(undefined1 *)((longlong)pvVar25 + 0xc) = 0; } pppppppbVar18 = pppppppbVar16 + (longlong)(pcVar30 + 1) * 4; pppppppbVar19 = pppppppbVar18; if ((byte ******)0xf < pppppppbVar18[3]) { pppppppbVar19 = (byte *******)*pppppppbVar18; } ppppppbVar21 = pppppppbVar18[2]; if ((byte ******)(uStack_1b8 - local_1c0) < ppppppbVar21) { local_208 = ppppppbVar21; FUN_1805a1320(&local_1d0,ppppppbVar21,0); } else { puVar26 = &local_1d0; if (0xf < uStack_1b8) { puVar26 = (uint *)CONCAT44(uStack_1cc,local_1d0); } pvVar25 = (void *)((longlong)puVar26 + local_1c0); local_1c0 = local_1c0 + (longlong)ppppppbVar21; memmove(pvVar25,pppppppbVar19,(size_t)ppppppbVar21); *(char *)((longlong)ppppppbVar21 + (longlong)pvVar25) = '\0'; } } uVar6 = local_1d0; uVar7 = (uint)local_1c0; uVar8 = local_1c0._4_4_; uVar9 = (uint)uStack_1b8; uVar10 = uStack_1b8._4_4_; local_1c0 = 0; uStack_1b8 = 0xf; local_1d0 = local_1d0 & 0xffffff00; *local_1e0 = uVar6; local_1e0[1] = uStack_1cc; local_1e0[2] = uStack_1c8; local_1e0[3] = uStack_1c4; local_1e0[4] = uVar7; local_1e0[5] = uVar8; local_1e0[6] = uVar9; local_1e0[7] = uVar10; if (pppppppbVar16 == (byte *******)0x0) { } FUN_18048c550(pppppppbVar16,ppppppbVar27,&local_1b0); FUN_1805bd810(&local_1b0,pppppppbVar16,(longlong)ppppppbVar31 - (longlong)pppppppbVar16 >> 5 ); } } pppppppbVar19 = local_1b0; FUN_1805a4070(local_1e0,param_3); if (pppppppbVar19 == (byte *******)0x0) { } FUN_18048c550(pppppppbVar19,ppppppbVar27,&local_1b0); pppppppbVar16 = pppppppbVar19; if ((0xfff < ((longlong)ppppppbVar31 - (longlong)pppppppbVar19 & 0xffffffffffffffe0U)) && (pppppppbVar16 = (byte *******)pppppppbVar19[-1], (byte *)0x1f < (byte *)((longlong)pppppppbVar19 + (-8 - (longlong)pppppppbVar16)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } /* WARNING: Subroutine does not return */ free(pppppppbVar16); } ############ FUN_ 1805d2830 size=106 ############ void FUN_1805d2830(longlong *param_1) { void *pvVar1; void *_Memory; if (param_1 == (longlong *)0x0) { return; } if ((ulonglong)param_1[3] < 0x10) { param_1[2] = 0; param_1[3] = 0xf; *(undefined1 *)param_1 = 0; /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < param_1[3] + 1U) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805d4160 size=184 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805d4160(longlong *param_1,undefined1 *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_58 [32]; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_58; *(undefined8 *)(param_2 + 0x18) = 0xf; *(undefined8 *)(param_2 + 0x10) = 0; *param_2 = 0; local_28 = 0; local_20 = 0xf; local_38 = 0; FUN_1805a6cb0(&local_38,&DAT_181baf991,0); (**(code **)(*param_1 + 0x28))(param_1,param_2,&local_38,0); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805d4230 size=747 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805d4230(longlong *param_1,uint *param_2,undefined8 param_3,char param_4) { ulonglong uVar1; void *pvVar2; void *_Memory; ulonglong *puVar3; undefined1 auStack_198 [32]; undefined1 local_178; undefined1 local_170; undefined4 local_168; ulonglong local_160; uint *local_158; int iStack_14c; undefined *local_148; undefined **local_140; basic_ostream_> local_138 [16]; longlong *local_128; longlong *local_120; longlong *local_108; ulonglong *local_100; int *local_f0; ulonglong local_d8; uint local_d0; basic_ios_> local_c0 [104]; undefined8 local_58; uint local_50; uint uStack_4c; uint uStack_48; uint uStack_44; undefined8 local_40; ulonglong uStack_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_198; local_168 = 0; local_148 = &DAT_181bb3cc0; local_158 = param_2; std::basic_ios_>::basic_ios_>(local_c0); local_168 = 1; std::basic_ostream_>::basic_ostream_> ((basic_ostream_> *)&local_148, (basic_streambuf_> *)&local_140,false); *(undefined ***)((longlong)&local_148 + (longlong)*(int *)(local_148 + 4)) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)((longlong)&iStack_14c + (longlong)*(int *)(local_148 + 4)) = *(int *)(local_148 + 4) + -0x88; std::basic_streambuf_>::basic_streambuf_> ((basic_streambuf_> *)&local_140); local_140 = std::basic_stringbuf,std::allocator_>::vftable; local_d8 = 0; local_d0 = 4; if (param_4 == '\0') { local_178 = 1; (**(code **)(*param_1 + 0x58))(param_1,&local_148,param_3,0); } if ((char)param_1[0x23] == '\0') { local_178 = 1; FUN_1806d7f70(param_1,&local_148,param_3,0); } local_178 = 1; (**(code **)(*param_1 + 0x60))(param_1,&local_148,param_3,0); local_170 = 1; local_178 = 0; (**(code **)(*param_1 + 0x68))(param_1,&local_148,param_3,0); local_178 = 0; (**(code **)(*param_1 + 0x70))(param_1,&local_148,param_3,1); local_40 = 0; uStack_38 = 0xf; local_50 = local_50 & 0xffffff00; local_168 = 5; if (((local_d0 & 2) == 0) && (uVar1 = *local_100, uVar1 != 0)) { local_160 = uVar1; puVar3 = &local_d8; if (local_d8 <= uVar1) { puVar3 = &local_160; } FUN_1805a6cb0(&local_50,*local_120,*puVar3 - *local_120); } else if (((local_d0 & 4) == 0) && (*local_108 != 0)) { FUN_1805a6cb0(&local_50,*local_128,((longlong)*local_f0 - *local_128) + *local_108); } if (param_2 == &local_50) { if (0xf < uStack_38) { pvVar2 = (void *)CONCAT44(uStack_4c,local_50); _Memory = pvVar2; if ((0xfff < uStack_38 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } else { FUN_180485450(param_2); *param_2 = local_50; param_2[1] = uStack_4c; param_2[2] = uStack_48; param_2[3] = uStack_44; *(undefined8 *)(param_2 + 4) = local_40; *(ulonglong *)(param_2 + 6) = uStack_38; } *(undefined ***)((longlong)&local_148 + (longlong)*(int *)(local_148 + 4)) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)((longlong)&iStack_14c + (longlong)*(int *)(local_148 + 4)) = *(int *)(local_148 + 4) + -0x88; FUN_1805d0340(&local_140); std::basic_ostream_>::~basic_ostream_> (local_138); std::basic_ios_>::~basic_ios_>(local_c0); } ############ FUN_ 1806d7f70 size=403 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806d7f70(longlong *param_1,basic_ostream_> *param_2, undefined8 *param_3,char param_4,char param_5) { void *pvVar1; undefined8 uVar2; undefined8 ****ppppuVar3; void *_Memory; undefined8 *puVar4; longlong lVar5; undefined1 auStack_88 [32]; undefined1 local_68; undefined7 uStack_67; longlong local_58; ulonglong local_50; undefined8 ***local_48 [2]; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_28 = DAT_182615970 ^ (ulonglong)auStack_88; puVar4 = (undefined8 *)param_1[0x24]; if (puVar4 != (undefined8 *)0x0) { if (0xf < (ulonglong)puVar4[3]) { puVar4 = (undefined8 *)*puVar4; } local_58 = 0; lVar5 = -1; local_50 = 0xf; local_68 = 0; do { lVar5 = lVar5 + 1; } while (*(char *)((longlong)puVar4 + lVar5) != '\0'); FUN_1805a6cb0(&local_68); if (local_58 != 0) { (**(code **)(*param_1 + 0x78))(param_1,local_48,&local_68); if (param_4 != '\0') { std::basic_ostream_>::operator<<(param_2,FUN_18049c380); } puVar4 = param_3 + 2; if (0xf < (ulonglong)param_3[3]) { param_3 = (undefined8 *)*param_3; } uVar2 = FUN_1805b0d80(param_2,param_3,*puVar4); uVar2 = FUN_1805a0df0(uVar2," Where......: "); ppppuVar3 = local_48; if (0xf < local_30) { ppppuVar3 = (undefined8 ****)local_48[0]; } FUN_1805b0d80(uVar2,ppppuVar3,local_38); if (param_5 != '\0') { std::basic_ostream_>::operator<<(param_2,FUN_18049c380); } if (0xf < local_30) { ppppuVar3 = (undefined8 ****)local_48[0]; if ((0xfff < local_30 + 1) && (ppppuVar3 = (undefined8 ****)local_48[0][-1], 0x1f < (ulonglong)((longlong)local_48[0] + (-8 - (longlong)ppppuVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(ppppuVar3); } } if (0xf < local_50) { pvVar1 = (void *)CONCAT71(uStack_67,local_68); _Memory = pvVar1; if ((0xfff < local_50 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } } ############ FUN_ 1805d4530 size=973 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805d4530(longlong param_1) { longlong *plVar1; longlong *plVar2; int *piVar3; int iVar4; ulonglong uVar5; longlong lVar6; uint *puVar7; longlong *plVar8; void *pvVar9; void *pvVar10; longlong *plVar11; longlong lVar12; size_t _Size; longlong lVar13; size_t _Size_00; undefined1 auStack_f8 [32]; longlong *local_d8; ulonglong local_d0; longlong local_c8; longlong *local_c0; undefined8 local_b8; undefined4 local_b0; undefined4 uStack_ac; undefined4 uStack_a8; undefined4 uStack_a4; undefined4 local_a0; undefined4 uStack_9c; undefined4 uStack_98; undefined4 uStack_94; longlong local_90 [2]; longlong local_80; ulonglong uStack_78; uint local_70; uint uStack_6c; uint uStack_68; uint uStack_64; longlong local_60; ulonglong uStack_58; undefined4 local_50; undefined4 uStack_4c; undefined4 uStack_48; undefined4 uStack_44; undefined4 local_40; undefined4 uStack_3c; undefined4 uStack_38; undefined4 uStack_34; ulonglong local_30; local_b8 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_f8; lVar6 = FUN_1805d2570(); lVar12 = -1; do { lVar12 = lVar12 + 1; } while (*(char *)(lVar6 + lVar12) != '\0'); plVar1 = (longlong *)(param_1 + 0x78); FUN_1805a6cb0(plVar1,lVar6); lVar6 = *(longlong *)(param_1 + 0x20); plVar8 = *(longlong **)(param_1 + 0x28); lVar12 = lVar6; if (plVar8 != (longlong *)0x0) { LOCK(); *(int *)(plVar8 + 1) = (int)plVar8[1] + 1; UNLOCK(); } while( true ) { local_c8 = lVar12; local_c0 = plVar8; if (lVar6 == 0) { if (plVar8 != (longlong *)0x0) { LOCK(); plVar1 = plVar8 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar8 + 8))(plVar8); LOCK(); piVar3 = (int *)((longlong)plVar8 + 0xc); iVar4 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); if (iVar4 == 1) { (**(code **)(*local_c0 + 0x10))(); } } } } local_80 = 0; uStack_78 = 0xf; local_90[0]._0_1_ = 0; FUN_1805a6cb0(local_90,"\nCaused by: ",0xc); plVar8 = plVar1; if (0xf < *(ulonglong *)(param_1 + 0x90)) { plVar8 = (longlong *)*plVar1; } uVar5 = *(ulonglong *)(param_1 + 0x88); if (uStack_78 - local_80 < uVar5) { local_d8 = plVar8; local_d0 = uVar5; puVar7 = (uint *)FUN_1805cfe00(local_90,uVar5,0,0); } else { plVar11 = local_90; if (0xf < uStack_78) { plVar11 = (longlong *)CONCAT71(local_90[0]._1_7_,(undefined1)local_90[0]); } _Size_00 = uVar5; if (((plVar11 < (longlong *)(uVar5 + (longlong)plVar8)) && (plVar8 <= (longlong *)((longlong)plVar11 + local_80))) && (_Size_00 = 0, plVar8 < plVar11)) { _Size_00 = (longlong)plVar11 - (longlong)plVar8; } _Size = local_80 + 1; local_80 = local_80 + uVar5; memmove((undefined1 *)((longlong)plVar11 + uVar5),plVar11,_Size); memcpy(plVar11,plVar8,_Size_00); memcpy((undefined1 *)((longlong)plVar11 + _Size_00), (undefined1 *)(_Size_00 + uVar5 + (longlong)plVar8),uVar5 - _Size_00); puVar7 = (uint *)local_90; } local_60 = 0; uStack_58 = 0; local_70 = *puVar7; uStack_6c = puVar7[1]; uStack_68 = puVar7[2]; uStack_64 = puVar7[3]; local_60 = *(longlong *)(puVar7 + 4); uStack_58 = *(ulonglong *)(puVar7 + 6); puVar7[4] = 0; puVar7[5] = 0; puVar7[6] = 0xf; puVar7[7] = 0; *(undefined1 *)puVar7 = 0; lVar6 = FUN_1805d2570(lVar12); lVar13 = -1; do { lVar13 = lVar13 + 1; } while (*(char *)(lVar6 + lVar13) != '\0'); plVar8 = (longlong *)FUN_1805a6a80(&local_70,lVar6); plVar11 = local_c0; local_b0 = (undefined4)*plVar8; uStack_ac = *(undefined4 *)((longlong)plVar8 + 4); pvVar10 = (void *)*plVar8; uStack_a8 = (undefined4)plVar8[1]; uStack_a4 = *(undefined4 *)((longlong)plVar8 + 0xc); local_a0 = (undefined4)plVar8[2]; uStack_9c = *(undefined4 *)((longlong)plVar8 + 0x14); uStack_98 = (undefined4)plVar8[3]; uStack_94 = *(undefined4 *)((longlong)plVar8 + 0x1c); uVar5 = plVar8[3]; plVar8[2] = 0; plVar8[3] = 0xf; *(undefined1 *)plVar8 = 0; local_50 = local_b0; uStack_4c = uStack_ac; uStack_48 = uStack_a8; uStack_44 = uStack_a4; local_40 = local_a0; uStack_3c = uStack_9c; uStack_38 = uStack_98; uStack_34 = uStack_94; if (plVar1 == (longlong *)&local_50) { if (0xf < uVar5) { pvVar9 = pvVar10; if ((0xfff < uVar5 + 1) && (pvVar9 = *(void **)((longlong)pvVar10 + -8), 0x1f < (ulonglong)((longlong)pvVar10 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } } else { if (0xf < *(ulonglong *)(param_1 + 0x90)) { pvVar10 = (void *)*plVar1; pvVar9 = pvVar10; if ((0xfff < *(ulonglong *)(param_1 + 0x90) + 1) && (pvVar9 = *(void **)((longlong)pvVar10 + -8), 0x1f < (ulonglong)((longlong)pvVar10 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } *(undefined8 *)(param_1 + 0x90) = 0xf; *(undefined1 *)plVar1 = 0; *(undefined4 *)plVar1 = local_b0; *(undefined4 *)(param_1 + 0x7c) = uStack_ac; *(undefined4 *)(param_1 + 0x80) = uStack_a8; *(undefined4 *)(param_1 + 0x84) = uStack_a4; *(undefined4 *)(param_1 + 0x88) = local_a0; *(undefined4 *)(param_1 + 0x8c) = uStack_9c; *(undefined4 *)(param_1 + 0x90) = uStack_98; *(undefined4 *)(param_1 + 0x94) = uStack_94; } if (0xf < uStack_58) break; local_60 = 0; uStack_58 = 0xf; local_70 = local_70 & 0xffffff00; if (0xf < uStack_78) { pvVar9 = (void *)CONCAT71(local_90[0]._1_7_,(undefined1)local_90[0]); pvVar10 = pvVar9; if ((0xfff < uStack_78 + 1) && (pvVar10 = *(void **)((longlong)pvVar9 + -8), 0x1f < (ulonglong)((longlong)pvVar9 + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } lVar6 = *(longlong *)(lVar12 + 0x20); plVar8 = *(longlong **)(lVar12 + 0x28); if (plVar8 != (longlong *)0x0) { LOCK(); *(int *)(plVar8 + 1) = (int)plVar8[1] + 1; UNLOCK(); } lVar12 = lVar6; if (local_c0 != (longlong *)0x0) { LOCK(); plVar2 = local_c0 + 1; lVar13 = *plVar2; *(int *)plVar2 = (int)*plVar2 + -1; UNLOCK(); if ((int)lVar13 == 1) { lVar12 = *local_c0; local_c8 = lVar6; local_c0 = plVar8; (**(code **)(lVar12 + 8))(plVar11); LOCK(); piVar3 = (int *)((longlong)plVar11 + 0xc); iVar4 = *piVar3; *piVar3 = *piVar3 + -1; UNLOCK(); lVar12 = local_c8; plVar8 = local_c0; if (iVar4 == 1) { (**(code **)(*plVar11 + 0x10))(plVar11); lVar12 = local_c8; plVar8 = local_c0; } } } } pvVar9 = (void *)CONCAT44(uStack_6c,local_70); pvVar10 = pvVar9; if ((0xfff < uStack_58 + 1) && (pvVar10 = *(void **)((longlong)pvVar9 + -8), 0x1f < (ulonglong)((longlong)pvVar9 + (-8 - (longlong)pvVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar10); } ############ FUN_ 1805d4930 size=964 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805d4930(longlong param_1,basic_ostream_> *param_2, undefined8 *param_3,char param_4,char param_5) { longlong *plVar1; longlong lVar2; void *pvVar3; undefined8 uVar4; undefined8 *puVar5; void *pvVar6; undefined8 *puVar7; undefined1 auStack_c8 [32]; undefined1 local_a8; undefined1 local_98; undefined7 uStack_97; undefined8 local_88; ulonglong local_80; undefined1 local_78; undefined7 uStack_77; undefined8 local_68; ulonglong local_60; undefined1 local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_c8; if (*(longlong *)(param_1 + 0x20) == 0) { } if (param_4 != '\0') { std::basic_ostream_>::operator<<(param_2,FUN_18049c380); } puVar7 = param_3; if (0xf < (ulonglong)param_3[3]) { puVar7 = (undefined8 *)*param_3; } uVar4 = FUN_1805b0d80(param_2,puVar7,param_3[2]); FUN_1805a0df0(uVar4," Caused by..: "); if (param_5 == '\0') { plVar1 = *(longlong **)(param_1 + 0x20); local_80 = 0xf; local_88 = 0; local_98 = 0; FUN_1805a6cb0(&local_98,&DAT_181baf991,0); local_a8 = 1; (**(code **)(*plVar1 + 0x58))(plVar1,param_2,&local_98,0); if (0xf < local_80) { pvVar3 = (void *)CONCAT71(uStack_97,local_98); pvVar6 = pvVar3; if ((0xfff < local_80 + 1) && (pvVar6 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } plVar1 = *(longlong **)(param_1 + 0x20); local_88 = 0; local_80 = 0xf; local_98 = 0; FUN_1805a6cb0(&local_98,&DAT_181bb3ba8,2); lVar2 = *plVar1; uVar4 = FUN_1805cfad0(&local_78,param_3,&local_98); puVar5 = (undefined8 *)(**(code **)(lVar2 + 0x30))(plVar1,&local_58,uVar4,1); puVar7 = puVar5 + 2; if (0xf < (ulonglong)puVar5[3]) { puVar5 = (undefined8 *)*puVar5; } FUN_1805b0d80(param_2,puVar5,*puVar7); if (0xf < local_40) { pvVar3 = (void *)CONCAT71(uStack_57,local_58); pvVar6 = pvVar3; if ((0xfff < local_40 + 1) && (pvVar6 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } local_48 = 0; local_40 = 0xf; local_58 = 0; if (0xf < local_60) { pvVar3 = (void *)CONCAT71(uStack_77,local_78); pvVar6 = pvVar3; if ((0xfff < local_60 + 1) && (pvVar6 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } local_68 = 0; local_60 = 0xf; local_78 = 0; if (local_80 < 0x10) { } pvVar3 = (void *)CONCAT71(uStack_97,local_98); pvVar6 = pvVar3; if ((0xfff < local_80 + 1) && (pvVar6 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } else { std::basic_ostream_>::operator<<(param_2,FUN_18049c380); plVar1 = *(longlong **)(param_1 + 0x20); local_80 = 0xf; local_88 = 0; local_98 = 0; FUN_1805a6cb0(&local_98,&DAT_181bb3ba8,2); lVar2 = *plVar1; uVar4 = FUN_1805cfad0(&local_58,param_3,&local_98); puVar5 = (undefined8 *)(**(code **)(lVar2 + 0x30))(plVar1,&local_78,uVar4,0); puVar7 = puVar5 + 2; if (0xf < (ulonglong)puVar5[3]) { puVar5 = (undefined8 *)*puVar5; } FUN_1805b0d80(param_2,puVar5,*puVar7); if (0xf < local_60) { pvVar3 = (void *)CONCAT71(uStack_77,local_78); pvVar6 = pvVar3; if ((0xfff < local_60 + 1) && (pvVar6 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } local_68 = 0; local_60 = 0xf; local_78 = 0; if (0xf < local_40) { pvVar3 = (void *)CONCAT71(uStack_57,local_58); pvVar6 = pvVar3; if ((0xfff < local_40 + 1) && (pvVar6 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } local_48 = 0; local_40 = 0xf; local_58 = 0; if (local_80 < 0x10) { } pvVar3 = (void *)CONCAT71(uStack_97,local_98); pvVar6 = pvVar3; if ((0xfff < local_80 + 1) && (pvVar6 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } local_40 = 0xf; local_48 = 0; local_58 = 0; local_60 = 0xf; local_68 = 0; local_78 = 0; /* WARNING: Subroutine does not return */ free(pvVar6); } ############ FUN_ 1805d4d10 size=1691 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805d4d10(undefined8 param_1,basic_ostream_> *param_2, undefined8 *param_3,char param_4,char param_5,char param_6) { byte bVar1; void *pvVar2; undefined8 uVar3; longlong lVar4; ulonglong uVar5; basic_ostream_> *pbVar6; void *pvVar7; undefined8 uVar8; undefined8 *puVar9; undefined1 *puVar10; undefined1 *puVar11; ulonglong uVar12; byte *pbVar13; byte *pbVar14; ulonglong uVar15; longlong lVar16; ulonglong uVar17; ulonglong uVar18; undefined1 auStack_1f8 [32]; basic_ostream_> *local_1d8; undefined1 local_1d0; undefined7 uStack_1cf; undefined8 local_1c0; ulonglong local_1b8; undefined1 local_1b0; undefined7 uStack_1af; ulonglong local_1a0; ulonglong local_198; byte local_190; undefined7 uStack_18f; longlong local_180; ulonglong local_178; undefined1 local_170; undefined7 uStack_16f; undefined8 local_160; ulonglong local_158; char local_148 [256]; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_1f8; local_1d8 = param_2; if (param_6 == '\0') { if (param_4 != '\0') { std::basic_ostream_>::operator<<(param_2,FUN_18049c380); } puVar9 = param_3 + 2; if (0xf < (ulonglong)param_3[3]) { param_3 = (undefined8 *)*param_3; } uVar3 = FUN_1805b0d80(param_2,param_3,*puVar9); uVar8 = FUN_1805d11c0(param_1); uVar3 = FUN_1805a0df0(uVar3," Debug msg..: "); FUN_1805a0df0(uVar3,uVar8); goto LAB_1805d5317; } if (param_4 != '\0') { std::basic_ostream_>::operator<<(param_2,FUN_18049c380); } puVar9 = param_3; if (0xf < (ulonglong)param_3[3]) { puVar9 = (undefined8 *)*param_3; } uVar3 = FUN_1805b0d80(param_2,puVar9,param_3[2]); FUN_1805a0df0(uVar3," Debug msg..: "); uVar12 = 0; local_158 = 0xf; local_160 = 0; local_170 = 0; FUN_1805a6cb0(&local_170," ",0xf); lVar4 = FUN_1805d11c0(param_1); lVar16 = -1; local_1a0 = 0; local_198 = 0xf; local_1b0 = 0; do { lVar16 = lVar16 + 1; } while (*(char *)(lVar4 + lVar16) != '\0'); FUN_1805a6cb0(&local_1b0,lVar4); local_180 = 0; local_178 = 0xf; local_190 = 0; FUN_1805a6cb0(&local_190,&DAT_181bb3b78,1); uVar5 = FUN_1805d05b0(&local_1b0,&local_190,0); pbVar14 = (byte *)CONCAT71(uStack_18f,local_190); puVar11 = (undefined1 *)CONCAT71(uStack_1af,local_1b0); uVar15 = local_1a0; uVar18 = local_198; if (uVar5 != 0xffffffffffffffff) { do { local_1b8 = 0xf; local_1c0 = 0; local_1d0 = 0; if (uVar12 == 0) { uVar12 = uVar5; if (uVar15 < uVar5) { uVar12 = uVar15; } puVar10 = &local_1b0; if (0xf < uVar18) { puVar10 = puVar11; } FUN_1805a6cb0(&local_1d0,puVar10,uVar12); puVar11 = &local_1d0; if (0xf < local_1b8) { puVar11 = (undefined1 *)CONCAT71(uStack_1cf,local_1d0); } pbVar6 = (basic_ostream_> *) FUN_1805b0d80(local_1d8,puVar11,local_1c0); std::basic_ostream_>::operator<<(pbVar6,FUN_18049c380); if (0xf < local_1b8) { pvVar2 = (void *)CONCAT71(uStack_1cf,local_1d0); pvVar7 = pvVar2; if ((0xfff < local_1b8 + 1) && (pvVar7 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } LAB_1805d4fe3: /* WARNING: Subroutine does not return */ free(pvVar7); } } else { if (uVar15 < uVar12) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } uVar17 = uVar5 - uVar12; if (uVar15 - uVar12 < uVar5 - uVar12) { uVar17 = uVar15 - uVar12; } puVar10 = &local_1b0; if (0xf < uVar18) { puVar10 = puVar11; } FUN_1805a6cb0(&local_1d0,puVar10 + uVar12,uVar17); puVar9 = param_3; if (0xf < (ulonglong)param_3[3]) { puVar9 = (undefined8 *)*param_3; } uVar3 = FUN_1805b0d80(local_1d8,puVar9,param_3[2]); puVar11 = &local_170; if (0xf < local_158) { puVar11 = (undefined1 *)CONCAT71(uStack_16f,local_170); } uVar3 = FUN_1805b0d80(uVar3,puVar11,local_160); puVar11 = &local_1d0; if (0xf < local_1b8) { puVar11 = (undefined1 *)CONCAT71(uStack_1cf,local_1d0); } pbVar6 = (basic_ostream_> *) FUN_1805b0d80(uVar3,puVar11,local_1c0); std::basic_ostream_>::operator<<(pbVar6,FUN_18049c380); if (0xf < local_1b8) { pvVar2 = (void *)CONCAT71(uStack_1cf,local_1d0); pvVar7 = pvVar2; if ((0xfff < local_1b8 + 1) && (pvVar7 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } goto LAB_1805d4fe3; } } uVar18 = local_198; uVar15 = local_1a0; uVar12 = local_180 + uVar5; if (local_1a0 <= uVar12) goto LAB_1805d523c; puVar11 = (undefined1 *)CONCAT71(uStack_1af,local_1b0); pbVar13 = &local_190; if (0xf < local_178) { pbVar13 = pbVar14; } puVar10 = &local_1b0; if (0xf < local_198) { puVar10 = puVar11; } if (local_180 != 0) { memset(local_148,0,0x100); lVar4 = (longlong)(pbVar13 + local_180) - (longlong)pbVar13; if (pbVar13 + local_180 < pbVar13) { lVar4 = 0; } if (lVar4 != 0) { pbVar14 = pbVar13; do { bVar1 = *pbVar14; pbVar14 = pbVar14 + 1; local_148[bVar1] = '\x01'; } while ((longlong)pbVar14 - (longlong)pbVar13 != lVar4); } for (pbVar14 = puVar10 + uVar12; pbVar14 < puVar10 + uVar15; pbVar14 = pbVar14 + 1) { if (local_148[*pbVar14] != '\0') { uVar5 = (longlong)pbVar14 - (longlong)puVar10; goto LAB_1805d509b; } } } uVar5 = 0xffffffffffffffff; LAB_1805d509b: if (uVar5 == 0xffffffffffffffff) goto LAB_1805d50b7; pbVar14 = (byte *)CONCAT71(uStack_18f,local_190); } while( true ); } LAB_1805d50c1: if (uVar12 < uVar15) { local_1b8 = 0xf; local_1c0 = 0; local_1d0 = 0; if (uVar12 == 0) { uVar12 = 0xffffffffffffffff; if (uVar15 != 0xffffffffffffffff) { uVar12 = uVar15; } puVar10 = &local_1b0; if (0xf < uVar18) { puVar10 = puVar11; } FUN_1805a6cb0(&local_1d0,puVar10,uVar12); puVar11 = &local_1d0; if (0xf < local_1b8) { puVar11 = (undefined1 *)CONCAT71(uStack_1cf,local_1d0); } FUN_1805b0d80(local_1d8,puVar11,local_1c0); if (0xf < local_1b8) { pvVar2 = (void *)CONCAT71(uStack_1cf,local_1d0); pvVar7 = pvVar2; if ((0xfff < local_1b8 + 1) && (pvVar7 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } LAB_1805d5237: /* WARNING: Subroutine does not return */ free(pvVar7); } } else { if (uVar15 < uVar12) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } lVar4 = -1; if (uVar15 - uVar12 != -1) { lVar4 = uVar15 - uVar12; } puVar10 = &local_1b0; if (0xf < uVar18) { puVar10 = puVar11; } FUN_1805a6cb0(&local_1d0,puVar10 + uVar12,lVar4); puVar9 = param_3 + 2; if (0xf < (ulonglong)param_3[3]) { param_3 = (undefined8 *)*param_3; } uVar3 = FUN_1805b0d80(local_1d8,param_3,*puVar9); puVar11 = &local_170; if (0xf < local_158) { puVar11 = (undefined1 *)CONCAT71(uStack_16f,local_170); } uVar3 = FUN_1805b0d80(uVar3,puVar11,local_160); puVar11 = &local_1d0; if (0xf < local_1b8) { puVar11 = (undefined1 *)CONCAT71(uStack_1cf,local_1d0); } FUN_1805b0d80(uVar3,puVar11,local_1c0); if (0xf < local_1b8) { pvVar2 = (void *)CONCAT71(uStack_1cf,local_1d0); pvVar7 = pvVar2; if ((0xfff < local_1b8 + 1) && (pvVar7 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } goto LAB_1805d5237; } } LAB_1805d523c: puVar11 = (undefined1 *)CONCAT71(uStack_1af,local_1b0); uVar18 = local_198; } goto LAB_1805d5246; LAB_1805d50b7: if (uVar12 != 0xffffffffffffffff) goto LAB_1805d50c1; LAB_1805d5246: if (0xf < local_178) { pvVar2 = (void *)CONCAT71(uStack_18f,local_190); pvVar7 = pvVar2; if ((0xfff < local_178 + 1) && (pvVar7 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } if (0xf < uVar18) { puVar10 = puVar11; if ((0xfff < uVar18 + 1) && (puVar10 = *(undefined1 **)(puVar11 + -8), (undefined1 *)0x1f < puVar11 + (-8 - (longlong)puVar10))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(puVar10); } local_1a0 = 0; local_198 = 0xf; local_1b0 = 0; param_2 = local_1d8; if (0xf < local_158) { pvVar2 = (void *)CONCAT71(uStack_16f,local_170); pvVar7 = pvVar2; if ((0xfff < local_158 + 1) && (pvVar7 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } LAB_1805d5317: if (param_5 != '\0') { std::basic_ostream_>::operator<<(param_2,FUN_18049c380); } } ############ FUN_ 1805d6740 size=75 ############ undefined8 * FUN_1805d6740(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::fusion::EncryptedBlobArray::vftable; FUN_1805d68c0(param_1 + 0xe); FUN_1805b91b0(param_1 + 3); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805d6790 size=52 ############ void * FUN_1805d6790(void *param_1,ulonglong param_2) { FUN_1805d66b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805d67d0 size=84 ############ undefined8 * FUN_1805d67d0(undefined8 *param_1,uint param_2) { *param_1 = apache::thrift::transport::TMemoryBuffer::vftable; if (*(char *)((longlong)param_1 + 0x34) != '\0') { /* WARNING: Subroutine does not return */ free((void *)param_1[5]); } *param_1 = apache::thrift::transport::TTransport::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805d6830 size=43 ############ undefined8 * FUN_1805d6830(undefined8 *param_1,ulonglong param_2) { *param_1 = apache::thrift::transport::TTransport::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805d6860 size=62 ############ undefined8 * FUN_1805d6860(undefined8 *param_1,ulonglong param_2) { *param_1 = apache::thrift::transport::TTransportException::vftable; FUN_1805d66b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805e3900 size=4199 ############ void FUN_1805e3900(longlong param_1) { void *pvVar1; void *pvVar2; if (0xf < *(ulonglong *)(param_1 + 0x1200)) { pvVar1 = *(void **)(param_1 + 0x11e8); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1200) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1200) = 0xf; *(undefined8 *)(param_1 + 0x11f8) = 0; *(undefined1 *)(param_1 + 0x11e8) = 0; if (0xf < *(ulonglong *)(param_1 + 0x11e0)) { pvVar1 = *(void **)(param_1 + 0x11c8); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x11e0) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x11d8) = 0; *(undefined8 *)(param_1 + 0x11e0) = 0xf; *(undefined1 *)(param_1 + 0x11c8) = 0; if (0xf < *(ulonglong *)(param_1 + 0x11b8)) { pvVar1 = *(void **)(param_1 + 0x11a0); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x11b8) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x11b0) = 0; *(undefined8 *)(param_1 + 0x11b8) = 0xf; *(undefined1 *)(param_1 + 0x11a0) = 0; if (0xf < *(ulonglong *)(param_1 + 0x1198)) { pvVar1 = *(void **)(param_1 + 0x1180); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1198) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1190) = 0; *(undefined8 *)(param_1 + 0x1198) = 0xf; *(undefined1 *)(param_1 + 0x1180) = 0; if (0xf < *(ulonglong *)(param_1 + 0x1178)) { pvVar1 = *(void **)(param_1 + 0x1160); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1178) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1170) = 0; *(undefined8 *)(param_1 + 0x1178) = 0xf; *(undefined1 *)(param_1 + 0x1160) = 0; if (0xf < *(ulonglong *)(param_1 + 0x1158)) { pvVar1 = *(void **)(param_1 + 0x1140); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1158) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1150) = 0; *(undefined8 *)(param_1 + 0x1158) = 0xf; *(undefined1 *)(param_1 + 0x1140) = 0; if (0xf < *(ulonglong *)(param_1 + 0x1138)) { pvVar1 = *(void **)(param_1 + 0x1120); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1138) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1130) = 0; *(undefined8 *)(param_1 + 0x1138) = 0xf; *(undefined1 *)(param_1 + 0x1120) = 0; if (0xf < *(ulonglong *)(param_1 + 0x1118)) { pvVar1 = *(void **)(param_1 + 0x1100); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1118) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1110) = 0; *(undefined8 *)(param_1 + 0x1118) = 0xf; *(undefined1 *)(param_1 + 0x1100) = 0; if (0xf < *(ulonglong *)(param_1 + 0x10f8)) { pvVar1 = *(void **)(param_1 + 0x10e0); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x10f8) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x10f0) = 0; *(undefined8 *)(param_1 + 0x10f8) = 0xf; *(undefined1 *)(param_1 + 0x10e0) = 0; if (0xf < *(ulonglong *)(param_1 + 0x10d8)) { pvVar1 = *(void **)(param_1 + 0x10c0); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x10d8) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x10d0) = 0; *(undefined8 *)(param_1 + 0x10d8) = 0xf; *(undefined1 *)(param_1 + 0x10c0) = 0; if (0xf < *(ulonglong *)(param_1 + 0x10b8)) { pvVar1 = *(void **)(param_1 + 0x10a0); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x10b8) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x10b0) = 0; *(undefined8 *)(param_1 + 0x10b8) = 0xf; *(undefined1 *)(param_1 + 0x10a0) = 0; if (0xf < *(ulonglong *)(param_1 + 0x1098)) { pvVar1 = *(void **)(param_1 + 0x1080); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1098) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1090) = 0; *(undefined8 *)(param_1 + 0x1098) = 0xf; *(undefined1 *)(param_1 + 0x1080) = 0; if (0xf < *(ulonglong *)(param_1 + 0x1078)) { pvVar1 = *(void **)(param_1 + 0x1060); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1078) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1070) = 0; *(undefined8 *)(param_1 + 0x1078) = 0xf; *(undefined1 *)(param_1 + 0x1060) = 0; if (0xf < *(ulonglong *)(param_1 + 0x1058)) { pvVar1 = *(void **)(param_1 + 0x1040); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1058) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1050) = 0; *(undefined8 *)(param_1 + 0x1058) = 0xf; *(undefined1 *)(param_1 + 0x1040) = 0; if (0xf < *(ulonglong *)(param_1 + 0x1038)) { pvVar1 = *(void **)(param_1 + 0x1020); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1038) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1030) = 0; *(undefined8 *)(param_1 + 0x1038) = 0xf; *(undefined1 *)(param_1 + 0x1020) = 0; if (0xf < *(ulonglong *)(param_1 + 0x1018)) { pvVar1 = *(void **)(param_1 + 0x1000); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0x1018) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0x1010) = 0; *(undefined8 *)(param_1 + 0x1018) = 0xf; *(undefined1 *)(param_1 + 0x1000) = 0; if (0xf < *(ulonglong *)(param_1 + 0xff8)) { pvVar1 = *(void **)(param_1 + 0xfe0); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xff8) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xff0) = 0; *(undefined8 *)(param_1 + 0xff8) = 0xf; *(undefined1 *)(param_1 + 0xfe0) = 0; if (0xf < *(ulonglong *)(param_1 + 0xfd8)) { pvVar1 = *(void **)(param_1 + 0xfc0); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xfd8) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xfd0) = 0; *(undefined8 *)(param_1 + 0xfd8) = 0xf; *(undefined1 *)(param_1 + 0xfc0) = 0; if (0xf < *(ulonglong *)(param_1 + 0xfb8)) { pvVar1 = *(void **)(param_1 + 4000); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xfb8) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xfb0) = 0; *(undefined8 *)(param_1 + 0xfb8) = 0xf; *(undefined1 *)(param_1 + 4000) = 0; if (0xf < *(ulonglong *)(param_1 + 0xf98)) { pvVar1 = *(void **)(param_1 + 0xf80); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xf98) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xf90) = 0; *(undefined8 *)(param_1 + 0xf98) = 0xf; *(undefined1 *)(param_1 + 0xf80) = 0; if (0xf < *(ulonglong *)(param_1 + 0xf78)) { pvVar1 = *(void **)(param_1 + 0xf60); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xf78) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xf70) = 0; *(undefined8 *)(param_1 + 0xf78) = 0xf; *(undefined1 *)(param_1 + 0xf60) = 0; if (0xf < *(ulonglong *)(param_1 + 0xf58)) { pvVar1 = *(void **)(param_1 + 0xf40); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xf58) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xf50) = 0; *(undefined8 *)(param_1 + 0xf58) = 0xf; *(undefined1 *)(param_1 + 0xf40) = 0; if (0xf < *(ulonglong *)(param_1 + 0xf38)) { pvVar1 = *(void **)(param_1 + 0xf20); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xf38) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xf30) = 0; *(undefined8 *)(param_1 + 0xf38) = 0xf; *(undefined1 *)(param_1 + 0xf20) = 0; if (0xf < *(ulonglong *)(param_1 + 0xf18)) { pvVar1 = *(void **)(param_1 + 0xf00); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xf18) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xf10) = 0; *(undefined8 *)(param_1 + 0xf18) = 0xf; *(undefined1 *)(param_1 + 0xf00) = 0; if (0xf < *(ulonglong *)(param_1 + 0xef8)) { pvVar1 = *(void **)(param_1 + 0xee0); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xef8) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xef0) = 0; *(undefined8 *)(param_1 + 0xef8) = 0xf; *(undefined1 *)(param_1 + 0xee0) = 0; if (0xf < *(ulonglong *)(param_1 + 0xed8)) { pvVar1 = *(void **)(param_1 + 0xec0); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xed8) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xed0) = 0; *(undefined8 *)(param_1 + 0xed8) = 0xf; *(undefined1 *)(param_1 + 0xec0) = 0; if (0xf < *(ulonglong *)(param_1 + 0xeb8)) { pvVar1 = *(void **)(param_1 + 0xea0); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xeb8) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xeb0) = 0; *(undefined8 *)(param_1 + 0xeb8) = 0xf; *(undefined1 *)(param_1 + 0xea0) = 0; if (0xf < *(ulonglong *)(param_1 + 0xe98)) { pvVar1 = *(void **)(param_1 + 0xe80); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xe98) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xe90) = 0; *(undefined8 *)(param_1 + 0xe98) = 0xf; *(undefined1 *)(param_1 + 0xe80) = 0; if (0xf < *(ulonglong *)(param_1 + 0xe78)) { pvVar1 = *(void **)(param_1 + 0xe60); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xe78) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined8 *)(param_1 + 0xe70) = 0; *(undefined8 *)(param_1 + 0xe78) = 0xf; *(undefined1 *)(param_1 + 0xe60) = 0; if (*(ulonglong *)(param_1 + 0xe58) < 0x10) { *(undefined8 *)(param_1 + 0xe50) = 0; *(undefined8 *)(param_1 + 0xe58) = 0xf; *(undefined1 *)(param_1 + 0xe40) = 0; FUN_180485450(param_1 + 0xe20); FUN_180485450(param_1 + 0xe00); FUN_180485450(param_1 + 0xde0); FUN_180485450(param_1 + 0xdc0); FUN_180485450(param_1 + 0xda0); FUN_180485450(param_1 + 0xd80); FUN_180485450(param_1 + 0xd60); FUN_180485450(param_1 + 0xd40); FUN_180485450(param_1 + 0xd20); FUN_180485450(param_1 + 0xd00); FUN_180485450(param_1 + 0xce0); FUN_180485450(param_1 + 0xcc0); FUN_180485450(param_1 + 0xca0); FUN_180485450(param_1 + 0xc80); FUN_180485450(param_1 + 0xc60); FUN_180485450(param_1 + 0xc40); FUN_180485450(param_1 + 0xc20); FUN_180485450(param_1 + 0xc00); FUN_180485450(param_1 + 0xbe0); FUN_180485450(param_1 + 0xbc0); FUN_180485450(param_1 + 0xba0); FUN_180485450(param_1 + 0xb80); FUN_180485450(param_1 + 0xb60); FUN_180485450(param_1 + 0xb40); FUN_180485450(param_1 + 0xb20); FUN_180485450(param_1 + 0xb00); FUN_180485450(param_1 + 0xae0); FUN_180485450(param_1 + 0xac0); FUN_180485450(param_1 + 0xaa0); FUN_180485450(param_1 + 0xa80); FUN_180485450(param_1 + 0xa60); FUN_180485450(param_1 + 0xa40); FUN_180485450(param_1 + 0xa20); FUN_180485450(param_1 + 0xa00); FUN_180485450(param_1 + 0x9e0); FUN_180485450(param_1 + 0x9c0); FUN_180485450(param_1 + 0x9a0); FUN_180485450(param_1 + 0x980); FUN_180485450(param_1 + 0x960); FUN_180485450(param_1 + 0x940); FUN_180485450(param_1 + 0x920); FUN_180485450(param_1 + 0x900); FUN_180485450(param_1 + 0x8e0); FUN_180485450(param_1 + 0x8c0); FUN_180485450(param_1 + 0x8a0); FUN_180485450(param_1 + 0x880); FUN_180485450(param_1 + 0x860); FUN_180485450(param_1 + 0x840); FUN_180485450(param_1 + 0x820); FUN_180485450(param_1 + 0x800); FUN_180485450(param_1 + 0x7e0); FUN_180485450(param_1 + 0x7c0); FUN_180485450(param_1 + 0x7a0); FUN_180485450(param_1 + 0x780); FUN_180485450(param_1 + 0x760); FUN_180485450(param_1 + 0x740); FUN_180485450(param_1 + 0x720); FUN_180485450(param_1 + 0x700); FUN_180485450(param_1 + 0x6e0); FUN_180485450(param_1 + 0x6c0); FUN_180485450(param_1 + 0x6a0); FUN_180485450(param_1 + 0x680); FUN_180485450(param_1 + 0x660); FUN_180485450(param_1 + 0x640); FUN_180485450(param_1 + 0x620); FUN_180485450(param_1 + 0x600); FUN_180485450(param_1 + 0x5e0); FUN_180485450(param_1 + 0x5c0); FUN_180485450(param_1 + 0x5a0); FUN_180485450(param_1 + 0x580); FUN_180485450(param_1 + 0x560); FUN_180485450(param_1 + 0x540); FUN_180485450(param_1 + 0x520); FUN_180485450(param_1 + 0x500); FUN_180485450(param_1 + 0x4e0); FUN_180485450(param_1 + 0x4c0); FUN_180485450(param_1 + 0x4a0); FUN_180485450(param_1 + 0x480); FUN_180485450(param_1 + 0x460); FUN_180485450(param_1 + 0x440); FUN_180485450(param_1 + 0x420); FUN_180485450(param_1 + 0x400); FUN_180485450(param_1 + 0x3e0); FUN_180485450(param_1 + 0x3c0); FUN_180485450(param_1 + 0x3a0); FUN_180485450(param_1 + 0x380); FUN_180485450(param_1 + 0x360); FUN_180485450(param_1 + 0x340); FUN_180485450(param_1 + 800); FUN_180485450(param_1 + 0x300); FUN_180485450(param_1 + 0x2e0); FUN_180485450(param_1 + 0x2c0); FUN_180485450(param_1 + 0x2a0); FUN_180485450(param_1 + 0x280); FUN_180485450(param_1 + 0x260); FUN_180485450(param_1 + 0x240); FUN_180485450(param_1 + 0x220); FUN_180485450(param_1 + 0x200); FUN_180485450(param_1 + 0x1e0); FUN_180485450(param_1 + 0x1c0); FUN_180485450(param_1 + 0x1a0); FUN_180485450(param_1 + 0x138); FUN_180485450(param_1 + 0x118); FUN_180485450(param_1 + 0xf8); FUN_180485450(param_1 + 0xd8); FUN_180485450(param_1 + 0xb8); FUN_180485450(param_1 + 0x98); FUN_180485450(param_1 + 0x78); return; } pvVar1 = *(void **)(param_1 + 0xe40); pvVar2 = pvVar1; if ((0xfff < *(ulonglong *)(param_1 + 0xe58) + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1805e4c70 size=253 ############ undefined8 * FUN_1805e4c70(undefined8 *param_1,ulonglong param_2) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::fusion::AuthVerificationData::vftable; pvVar1 = (void *)param_1[0x86]; if (pvVar1 == (void *)0x0) { FUN_1805e31f0(param_1 + 0x3f); param_1[0x2d] = pace::eden::thrift::fusion::EncryptedBlobArray::vftable; FUN_1805d68c0(param_1 + 0x3b); FUN_1805b91b0(param_1 + 0x30); param_1[0x1b] = pace::eden::thrift::fusion::EncryptedBlobArray::vftable; FUN_1805d68c0(param_1 + 0x29); FUN_1805b91b0(param_1 + 0x1e); param_1[9] = pace::eden::thrift::fusion::EncryptedBlobArray::vftable; FUN_1805d68c0(param_1 + 0x17); FUN_1805b91b0(param_1 + 0xc); FUN_1805b9460(param_1 + 1); if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[0x88] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805e4d90 size=52 ############ void * FUN_1805e4d90(void *param_1,ulonglong param_2) { FUN_1805e31f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805e4dd0 size=52 ############ void * FUN_1805e4dd0(void *param_1,ulonglong param_2) { FUN_1805e3870(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805e4e10 size=62 ############ /* Library Function - Single Match public: virtual void * __ptr64 __cdecl Concurrency::details::FreeThreadProxy::`scalar deleting destructor'(unsigned int) __ptr64 Libraries: Visual Studio 2017 Release, Visual Studio 2019 Release */ void * __thiscall Concurrency::details::FreeThreadProxy::_scalar_deleting_destructor_ (FreeThreadProxy *this,uint param_1) { *(undefined ***)this = pace::fusion::EdenAuthCallbackHandler_LocalOnly_SwAndIlok2::vftable; FUN_1805e3870(); if ((param_1 & 1) != 0) { /* WARNING: Subroutine does not return */ free(this); } return this; } ############ FUN_ 1805f1740 size=492 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805f1740(uint param_1,char *param_2) { ulonglong uVar1; char cVar2; locale *plVar3; longlong *plVar4; char ****ppppcVar5; undefined8 *puVar6; char cVar7; ulonglong uVar8; ulonglong uVar9; char cVar10; undefined1 auStack_78 [32]; undefined1 local_58 [8]; _Locimp *local_50; undefined8 local_48; char ***local_40 [2]; ulonglong local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; uVar8 = (ulonglong)param_1; local_50 = std::locale::_Init(true); plVar3 = std::locale::classic(); cVar2 = FUN_1805f22e0(local_58,plVar3); if (cVar2 == '\0') { plVar4 = (longlong *)FUN_1805f1950(local_58); (**(code **)(*plVar4 + 0x28))(plVar4,local_40); if (local_30 != 0) { ppppcVar5 = local_40; if (0xf < local_28) { ppppcVar5 = (char ****)local_40[0]; } if ('\0' < *(char *)ppppcVar5) { cVar2 = (**(code **)(*plVar4 + 0x20))(plVar4); uVar9 = 0; ppppcVar5 = local_40; if (0xf < local_28) { ppppcVar5 = (char ****)local_40[0]; } cVar7 = *(char *)ppppcVar5; cVar10 = cVar7; do { if (cVar7 == '\0') { uVar9 = uVar9 + 1; cVar7 = cVar10; if (uVar9 < local_30) { ppppcVar5 = local_40; if (0xf < local_28) { ppppcVar5 = (char ****)local_40[0]; } cVar7 = *(char *)((longlong)ppppcVar5 + uVar9); if (*(char *)((longlong)ppppcVar5 + uVar9) < '\x01') { cVar7 = '\x7f'; } } param_2 = param_2 + -1; *param_2 = cVar2; cVar10 = cVar7; } cVar7 = cVar7 + -1; param_2 = param_2 + -1; uVar1 = uVar8 / 10; *param_2 = (char)uVar8 + (char)uVar1 * -10 + '0'; uVar8 = uVar1; } while ((int)uVar1 != 0); if (0xf < local_28) { ppppcVar5 = (char ****)local_40[0]; if ((0xfff < local_28 + 1) && (ppppcVar5 = (char ****)local_40[0][-1], (char *)0x1f < (char *)((longlong)local_40[0] + (-8 - (longlong)ppppcVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(ppppcVar5); } goto LAB_1805f18ff; } } if (0xf < local_28) { ppppcVar5 = (char ****)local_40[0]; if ((0xfff < local_28 + 1) && (ppppcVar5 = (char ****)local_40[0][-1], (char *)0x1f < (char *)((longlong)local_40[0] + (-8 - (longlong)ppppcVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(ppppcVar5); } } do { param_2 = param_2 + -1; uVar9 = uVar8 / 10; *param_2 = (char)uVar8 + (char)uVar9 * -10 + '0'; uVar8 = uVar9; } while ((int)uVar9 != 0); LAB_1805f18ff: if ((local_50 != (_Locimp *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*(longlong *)local_50 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } } ############ FUN_ 1805f25f0 size=90 ############ undefined8 * FUN_1805f25f0(undefined8 *param_1,ulonglong param_2) { param_1[0xd] = pace:: ThriftDataMember,std::allocator_>_> ::vftable; param_1[9] = pace:: ThriftDataMember,std::allocator_>_> ::vftable; param_1[4] = pace::ThriftClassWrapperBase::vftable; param_1[5] = pace::ThriftClassWrapperParentInfo::vftable; param_1[6] = 0; *param_1 = pace::ThriftClassWrapperBase::vftable; param_1[1] = pace::ThriftClassWrapperParentInfo::vftable; param_1[2] = 0; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f2650 size=118 ############ undefined8 * FUN_1805f2650(undefined8 *param_1,ulonglong param_2) { param_1[0x19] = pace::ThriftDataMember,std::allocator_>_> ::vftable; param_1[0x15] = pace::ThriftDataMember,std::allocator_>_> ::vftable; param_1[0x11] = pace::ThriftDataMember,std::allocator_>_> ::vftable; param_1[0xd] = pace::ThriftDataMember::vftable; param_1[9] = pace:: ThriftDataMember,std::allocator_>_> ::vftable; param_1[4] = pace::ThriftClassWrapperBase::vftable; param_1[5] = pace::ThriftClassWrapperParentInfo::vftable; param_1[6] = 0; *param_1 = pace::ThriftClassWrapperBase::vftable; param_1[1] = pace::ThriftClassWrapperParentInfo::vftable; param_1[2] = 0; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f26d0 size=52 ############ void * FUN_1805f26d0(void *param_1,ulonglong param_2) { FUN_1805f2180(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f2710 size=43 ############ undefined8 * FUN_1805f2710(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::ThriftDataMember::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f2740 size=43 ############ undefined8 * FUN_1805f2740(undefined8 *param_1,ulonglong param_2) { *param_1 = pace:: ThriftDataMember,std::allocator_>_> ::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f2770 size=52 ############ void * FUN_1805f2770(void *param_1,ulonglong param_2) { FUN_1805f2520(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f27b0 size=125 ############ undefined8 * FUN_1805f27b0(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[5] = boost::exception::vftable; if ((longlong *)param_1[6] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[6] + 0x20))(); if (cVar1 != '\0') { param_1[6] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f2890 size=62 ############ undefined8 * FUN_1805f2890(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::ExceptionHandlerLog::vftable; FUN_1805a55f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f28d0 size=77 ############ undefined8 * FUN_1805f28d0(undefined8 *param_1,ulonglong param_2) { param_1[9] = pace:: ThriftDataMember,std::allocator_>_> ::vftable; param_1[5] = pace:: ThriftDataMember,std::allocator_>_> ::vftable; *param_1 = pace::ThriftClassWrapperBase::vftable; param_1[1] = pace::ThriftClassWrapperParentInfo::vftable; param_1[2] = 0; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f2920 size=105 ############ undefined8 * FUN_1805f2920(undefined8 *param_1,ulonglong param_2) { param_1[9] = pace::ThriftDataMember::vftable; *param_1 = pace::ThriftClassWrapperBase::vftable; param_1[0x15] = pace::ThriftDataMember,std::allocator_>_> ::vftable; param_1[0x11] = pace::ThriftDataMember,std::allocator_>_> ::vftable; param_1[0xd] = pace:: ThriftDataMember,std::allocator_>_> ::vftable; param_1[5] = pace:: ThriftDataMember,std::allocator_>_> ::vftable; param_1[1] = pace::ThriftClassWrapperParentInfo::vftable; param_1[2] = 0; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f2990 size=189 ############ undefined8 * FUN_1805f2990(undefined8 *param_1,ulonglong param_2) { param_1[0x25] = pace::ThriftDataMember::vftable; param_1[0x31] = pace::ThriftDataMember,std::allocator_>_> ::vftable; param_1[0x2d] = pace::ThriftDataMember,std::allocator_>_> ::vftable; param_1[0x29] = pace::ThriftDataMember,std::allocator_>_> ::vftable; param_1[0x21] = pace::ThriftDataMember,std::allocator_>_> ::vftable; param_1[0x1c] = pace::ThriftClassWrapperBase::vftable; param_1[0x1e] = 0; param_1[0x1d] = pace::ThriftClassWrapperParentInfo::vftable; param_1[0x18] = pace::ThriftClassWrapperBase::vftable; param_1[0x19] = pace::ThriftClassWrapperParentInfo::vftable; param_1[0x1a] = 0; param_1[0x12] = pace::ThriftDataMember,std::allocator_>_> ::vftable; param_1[0xe] = pace:: ThriftDataMember,std::allocator_>_> ::vftable; param_1[9] = pace::ThriftClassWrapperBase::vftable; param_1[10] = pace::ThriftClassWrapperParentInfo::vftable; param_1[0xb] = 0; param_1[5] = pace::ThriftClassWrapperBase::vftable; param_1[6] = pace::ThriftClassWrapperParentInfo::vftable; param_1[7] = 0; *param_1 = pace::ThriftClassWrapperBase::vftable; param_1[1] = pace::ThriftClassWrapperParentInfo::vftable; param_1[2] = 0; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f2a50 size=95 ############ undefined8 * FUN_1805f2a50(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::PaceThriftExceptionWireWrapper::vftable; FUN_1805f2180(param_1 + 5); *param_1 = pace::ThriftClassWrapperBase::vftable; param_1[1] = pace::ThriftClassWrapperParentInfo::vftable; param_1[2] = 0; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f2ab0 size=62 ############ undefined8 * FUN_1805f2ab0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::ThriftClassWrapperBase::vftable; param_1[1] = pace::ThriftClassWrapperParentInfo::vftable; param_1[2] = 0; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805f2af0 size=51 ############ undefined8 * FUN_1805f2af0(undefined8 *param_1,ulonglong param_2) { param_1[1] = 0; *param_1 = pace::ThriftClassWrapperParentInfo::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807029f0 size=467 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807029f0(undefined8 *param_1,undefined8 *param_2) { ulonglong uVar1; void *pvVar2; undefined4 uVar3; undefined2 uVar4; int *piVar5; void *_Memory; undefined8 *puVar6; longlong lVar7; undefined1 auStack_98 [32]; ulonglong *local_78; undefined4 local_70; undefined8 local_68; undefined8 *local_60; undefined1 local_50; undefined7 uStack_4f; undefined8 uStack_48; longlong local_40; ulonglong uStack_38; ulonglong local_30; local_68 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; param_1[2] = 0; param_1[3] = 0xf; *(undefined1 *)param_1 = 0; local_70 = 1; puVar6 = param_2; if (0xf < (ulonglong)param_2[3]) { puVar6 = (undefined8 *)*param_2; } local_78 = param_2 + 2; uVar1 = *local_78; local_60 = param_1; lVar7 = local_40; if (5 < uVar1) { piVar5 = memchr(puVar6,99,uVar1 - 5); uVar4 = s_class_181bce308._4_2_; uVar3 = s_class_181bce308._0_4_; lVar7 = local_40; while (piVar5 != (int *)0x0) { if ((*piVar5 == uVar3) && ((short)piVar5[1] == uVar4)) { local_40 = (longlong)piVar5 - (longlong)puVar6; if (local_40 == 0) { uStack_38 = 0xf; local_50 = 0; if (uVar1 < 6) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } lVar7 = -1; if (uVar1 - 6 != -1) { lVar7 = uVar1 - 6; } puVar6 = param_2; if (0xf < (ulonglong)param_2[3]) { puVar6 = (undefined8 *)*param_2; } FUN_1805a6cb0(&local_50,(longlong)puVar6 + 6,lVar7); local_70 = 3; if (param_1 == (undefined8 *)&local_50) { lVar7 = local_40; if (0xf < uStack_38) { pvVar2 = (void *)CONCAT71(uStack_4f,local_50); _Memory = pvVar2; if ((0xfff < uStack_38 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } else { FUN_180485450(param_1); *param_1 = CONCAT71(uStack_4f,local_50); param_1[1] = uStack_48; param_1[2] = local_40; param_1[3] = uStack_38; lVar7 = local_40; } } break; } local_40 = lVar7; piVar5 = memchr((void *)((longlong)piVar5 + 1),99, (size_t)((longlong)puVar6 + ((uVar1 - 5) - ((longlong)piVar5 + 1)))); lVar7 = local_40; } } local_40 = lVar7; if ((param_1[2] == 0) && (param_1 != param_2)) { if (0xf < (ulonglong)param_2[3]) { param_2 = (undefined8 *)*param_2; } FUN_1805a6cb0(param_1,param_2,*local_78); } } ############ FUN_ 1805f4720 size=173 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805f4720(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; longlong *plVar2; undefined1 auStack_48 [32]; undefined8 local_28; longlong *local_20; ulonglong local_18; local_28 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_48; local_20 = param_2; if (*(longlong **)(param_1 + 8) != param_2) { plVar2 = param_2; if (0xf < (ulonglong)param_2[3]) { plVar2 = (longlong *)*param_2; } FUN_1805a6cb0(*(longlong **)(param_1 + 8),plVar2,param_2[2]); } **(undefined1 **)(param_1 + 0x10) = 0; if ((ulonglong)param_2[3] < 0x10) { param_2[2] = 0; param_2[3] = 0xf; *(undefined1 *)param_2 = 0; } pvVar1 = (void *)*param_2; _Memory = pvVar1; if ((0xfff < param_2[3] + 1U) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805f5010 size=218 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805f5010(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { undefined1 auVar1 [16]; ulonglong uVar2; undefined8 uVar3; void *_Memory; undefined1 auStack_288 [32]; undefined8 local_268; undefined8 local_260; undefined8 local_258; void *local_250; undefined1 local_248 [512]; ulonglong local_48 [3]; local_258 = 0xfffffffffffffffe; local_48[0] = DAT_182615970 ^ (ulonglong)auStack_288; if (param_2 == 0) { param_2 = -1; do { param_2 = param_2 + 1; } while (*(char *)(param_1 + param_2) != '\0'); param_2 = param_2 + param_1; } if (param_1 != param_2) { uVar2 = (param_2 - param_1) * 3; local_268 = param_3; local_260 = param_4; if (0x100 < uVar2) { auVar1._8_8_ = 0; auVar1._0_8_ = uVar2; uVar3 = SUB168(ZEXT816(2) * auVar1,0); if (SUB168(ZEXT816(2) * auVar1,8) != 0) { uVar3 = 0xffffffffffffffff; } _Memory = (void *)thunk_FUN_1811316e0(uVar3); local_250 = _Memory; FUN_1805f51f0(param_1,param_2,_Memory,(void *)((longlong)_Memory + (param_2 - param_1) * 6)); /* WARNING: Subroutine does not return */ free(_Memory); } FUN_1805f51f0(param_1,param_2,local_248,local_48); } } ############ FUN_ 1805f5100 size=210 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1805f5100(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { ulonglong uVar1; longlong lVar2; void *_Memory; undefined1 auStack_188 [32]; undefined8 local_168; undefined8 local_160; undefined8 local_158; void *local_150; undefined1 local_148 [256]; ulonglong local_48 [3]; local_158 = 0xfffffffffffffffe; local_48[0] = DAT_182615970 ^ (ulonglong)auStack_188; if (param_2 == 0) { lVar2 = -1; do { lVar2 = lVar2 + 1; } while (*(short *)(param_1 + lVar2 * 2) != 0); param_2 = param_1 + lVar2 * 2; } if (param_1 != param_2) { uVar1 = (param_2 - param_1 >> 1) * 4 + 4; local_168 = param_3; local_160 = param_4; if (0x100 < uVar1) { _Memory = (void *)thunk_FUN_1811316e0(uVar1); local_150 = _Memory; FUN_1805f5360(param_1,param_2,_Memory,(longlong)_Memory + uVar1); /* WARNING: Subroutine does not return */ free(_Memory); } FUN_1805f5360(param_1,param_2,local_148,local_48); } } ############ FUN_ 1805f6920 size=53 ############ codecvt * FUN_1805f6920(codecvt *param_1,uint param_2) { std::codecvt::~codecvt(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805fe040 size=52 ############ void * FUN_1805fe040(void *param_1,ulonglong param_2) { FUN_1805fde00(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1805fea50 size=364 ############ void FUN_1805fea50(undefined8 *param_1,undefined8 param_2) { void *pvVar1; DWORD DVar2; undefined8 uVar3; LPWSTR lpBuffer; undefined8 *puVar4; void *_Memory; longlong lVar5; undefined1 auStack_98 [32]; undefined4 local_78; undefined8 local_70; undefined8 *local_68; LPWSTR local_60; byte local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_70 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; lVar5 = 0; local_78 = 0; local_68 = param_1; DVar2 = GetCurrentDirectoryW(0,(LPWSTR)0x0); if (DVar2 == 0) { DVar2 = 1; } uVar3 = SUB168(ZEXT816(2) * ZEXT416(DVar2),0); if (SUB168(ZEXT816(2) * ZEXT416(DVar2),8) != 0) { uVar3 = 0xffffffffffffffff; } lpBuffer = (LPWSTR)thunk_FUN_1811316e0(uVar3); local_40 = 0xf; local_48 = 0; local_58 = 0; local_60 = lpBuffer; FUN_1805c7d40(&local_58,"boost::filesystem::current_path",0x1f); DVar2 = GetCurrentDirectoryW(DVar2,lpBuffer); FUN_1805ff8a0(DVar2 == 0,param_2,&local_58); if (local_40 < 0x10) { param_1[3] = 7; param_1[2] = 0; puVar4 = param_1; if (7 < (ulonglong)param_1[3]) { puVar4 = (undefined8 *)*param_1; } *(undefined2 *)puVar4 = 0; FUN_1805f71a0(); if (*lpBuffer != L'\0') { lVar5 = -1; do { lVar5 = lVar5 + 1; } while (lpBuffer[lVar5] != L'\0'); } FUN_1805f6b20(param_1,lpBuffer,lVar5); /* WARNING: Subroutine does not return */ free(lpBuffer); } pvVar1 = (void *)CONCAT71(uStack_57,local_58); _Memory = pvVar1; if (0xfff < local_40 + 1) { if ((local_58 & 0x1f) != 0) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } _Memory = *(void **)((longlong)pvVar1 - 8); if (pvVar1 <= _Memory) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } if ((ulonglong)((longlong)pvVar1 - (longlong)_Memory) < 8) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } if (0x27 < (ulonglong)((longlong)pvVar1 - (longlong)_Memory)) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1805ffca0 size=204 ############ /* WARNING: Removing unreachable block (ram,0x0001805ffd57) */ undefined8 FUN_1805ffca0(LPCWSTR param_1) { HANDLE hDevice; void *lpOutBuffer; DWORD local_res8 [2]; HANDLE local_res10; void *local_res18; if (7 < *(ulonglong *)(param_1 + 0xc)) { param_1 = *(LPCWSTR *)param_1; } hDevice = CreateFileW(param_1,8,7,(LPSECURITY_ATTRIBUTES)0x0,3,0x2200000,(HANDLE)0x0); if (hDevice == (HANDLE)0xffffffffffffffff) { return 0; } local_res10 = hDevice; lpOutBuffer = (void *)thunk_FUN_1811316e0(0x4000); local_res18 = lpOutBuffer; DeviceIoControl(hDevice,0x900a8,(LPVOID)0x0,0,lpOutBuffer,0x4000,local_res8,(LPOVERLAPPED)0x0); /* WARNING: Subroutine does not return */ free(lpOutBuffer); } ############ FUN_ 180603c20 size=52 ############ void * FUN_180603c20(void *param_1,ulonglong param_2) { FUN_180601d20(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180603c60 size=52 ############ void * FUN_180603c60(void *param_1,ulonglong param_2) { FUN_180602b10(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180608bd0 size=1018 ############ /* WARNING: Instruction at (ram,0x000180608e54) overlaps instruction at (ram,0x000180608e53) */ /* WARNING: Removing unreachable block (ram,0x000180608def) */ /* WARNING: Removing unreachable block (ram,0x000180608ca1) */ /* WARNING: Removing unreachable block (ram,0x000180608e4e) */ /* WARNING: Restarted to delay deadcode elimination for space: stack */ void FUN_180608bd0(longlong *param_1) { byte *pbVar1; undefined8 *puVar2; longlong lVar3; undefined1 uVar4; undefined4 uVar5; ulonglong uVar6; byte bVar7; uint uVar8; undefined2 uVar9; ulonglong uVar10; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 local_a8 [56]; uint local_70; undefined4 local_68; undefined4 local_58; code *local_50; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)local_a8; local_68 = 0x3d0; local_58 = 0xa70; if (param_1 == (longlong *)0x0) { do { uVar6 = rdtsc(); uVar10 = uVar6 >> 0x20; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar8 = ((uint)uVar6 ^ (uint)(uVar6 >> 0x20)) * -0x3b3151cb; local_70 = (uVar8 >> 0x18 ^ uVar8) * -0x73327333; if (local_70 < 0x7fffffff) { do { uVar10 = 0xfbbf; local_50 = FUN_181194940; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); uVar6 = FUN_181194940(); if (1 < uVar6) { lVar3 = CONCAT44(unaff_retaddr_00,unaff_retaddr); while (lVar3 != -0x3333333333333334) { *(longlong *)register0x00000020 = 0; register0x00000020 = (BADSPACEBASE *)((longlong)register0x00000020 + 0x40); lVar3 = *(longlong *)register0x00000020; } } } do { FUN_180607749(); uVar9 = (undefined2)uVar10; uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } } while (uVar8 != 0); do { uVar8 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar8 < 0) { uVar8 = (uVar8 - 1 | 0xfffffffe) + 1; } bVar7 = (byte)uVar8; } while (uVar8 != 0); FUN_18060987d(); /* WARNING: Call to offcut address within same function */ uVar5 = func_0x000180608e90(); uVar4 = in(uVar9); pbVar1 = (byte *)((ulonglong)(CONCAT31((int3)((uint)uVar5 >> 8),uVar4) | 0x83483e00) - 9); *pbVar1 = *pbVar1 ^ bVar7; return; } puVar2 = (undefined8 *)*param_1; if (puVar2 != (undefined8 *)0x0) { (**(code **)*puVar2)(puVar2,1); } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 180609a70 size=677 ############ /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x000180609cdd) overlaps instruction at (ram,0x000180609cd8) */ /* WARNING: Removing unreachable block (ram,0x000180609c75) */ void FUN_180609a70(void *param_1) { ulonglong uVar1; uint uVar2; int iVar3; ulonglong uVar4; longlong lVar5; bool bVar6; bool bVar7; int unaff_retaddr; undefined1 auStack_a8 [32]; undefined4 local_88; undefined4 *local_80; undefined *local_78; undefined8 local_70; undefined4 local_5c; uint local_58; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; uVar2 = (uint)&stack0x00000000 & 0x2ff; iVar3 = (uVar2 + 2) * (uVar2 + 1) * uVar2; uVar2 = (uint)&stack0x00000000 & 0x3ff; uVar2 = (uVar2 + 1) * uVar2 + 7; local_58 = ((((iVar3 >> 1) - (iVar3 >> 3)) + iVar3 * 0x55555555 >> 0x1e) >> ((char)uVar2 + (char)(uVar2 / 0x51) * -0x51 & 0x1fU)) + 0x6e2U ^ 0xfd2; lVar5 = 0x132f0623; uVar1 = 0; local_5c = 800; local_70 = 0; local_80 = &DAT_1815cf4cc; local_78 = &DAT_18160f230; do { FUN_180608363(); uVar2 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar2 < 0) { uVar2 = (uVar2 - 1 | 0xfffffffe) + 1; } uVar4 = (ulonglong)uVar2; } while (uVar2 != 0); local_88 = 0x811c9e29; if (param_1 == (void *)0x0) { bVar7 = (longlong)-((uVar1 ^ 0xffffffffffffffff) + 1) < 0; uVar1 = FUN_180609d1d(); if (!bVar7) { lVar5 = uVar1 - uVar4; bVar6 = uVar1 == uVar4; } else { bVar6 = lVar5 == 0; } if (!bVar6 && (!bVar7 && SBORROW8(uVar1,uVar4)) == lVar5 < 0) { DAT_00000000 = in((short)uVar4); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } (*(code *)0xfffffffffffb7234)(); return; } /* WARNING: Subroutine does not return */ free(param_1); } ############ FUN_ 18060bce0 size=878 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_18060bce0(ulonglong *param_1,char *param_2,longlong param_3) { int iVar1; bool bVar2; char cVar3; locale *plVar4; longlong *plVar5; undefined8 *puVar6; char *******pppppppcVar7; char *pcVar8; ulonglong uVar9; ulonglong uVar10; ulonglong uVar11; ulonglong uVar12; undefined1 auStack_98 [32]; char local_78; longlong local_70; undefined1 local_68 [8]; _Locimp *local_60; undefined8 local_58; char *******local_50 [2]; longlong local_40; ulonglong local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; *param_1 = 0; if ((char *)(param_3 - 1U) < param_2) { } cVar3 = *(char *)(param_3 - 1U); if (9 < (byte)(cVar3 - 0x30U)) { } *param_1 = (longlong)(cVar3 + -0x30); pcVar8 = (char *)(param_3 + -2); uVar10 = 1; bVar2 = false; local_60 = std::locale::_Init(true); plVar4 = std::locale::classic(); cVar3 = FUN_1805f22e0(local_68,plVar4); if (cVar3 == '\0') { plVar5 = (longlong *)FUN_1805f1950(local_68); (**(code **)(*plVar5 + 0x28))(plVar5,local_50); local_70 = local_40; if (local_40 != 0) { pppppppcVar7 = (char *******)local_50; if (0xf < local_38) { pppppppcVar7 = local_50[0]; } if ('\0' < *(char *)pppppppcVar7) { uVar9 = 0; local_78 = (**(code **)(*plVar5 + 0x20))(plVar5); pppppppcVar7 = (char *******)local_50; if (0xf < local_38) { pppppppcVar7 = local_50[0]; } cVar3 = *(char *)pppppppcVar7 + -1; for (; param_2 <= pcVar8; pcVar8 = pcVar8 + -1) { if (cVar3 == '\0') { if (*pcVar8 != local_78) goto LAB_18060bf41; if (param_2 == pcVar8) break; if (uVar9 < local_70 - 1U) { uVar9 = (ulonglong)(byte)((char)uVar9 + 1); } pppppppcVar7 = (char *******)local_50; if (0xf < local_38) { pppppppcVar7 = local_50[0]; } cVar3 = *(char *)((longlong)pppppppcVar7 + uVar9); } else { uVar11 = uVar10 * 10; if (uVar11 / 10 != uVar10) { bVar2 = true; } iVar1 = *pcVar8 + -0x30; uVar10 = (ulonglong)iVar1; uVar12 = uVar10 * uVar11; if ((((9 < (byte)(*pcVar8 - 0x30U)) || ((iVar1 != 0 && (uVar12 / uVar10 != uVar11)))) || (-uVar12 - 1 < *param_1)) || ((bVar2 && (uVar10 != 0)))) break; *param_1 = *param_1 + uVar12; cVar3 = cVar3 + -1; uVar10 = uVar11; } } if (0xf < local_38) { pppppppcVar7 = local_50[0]; if ((0xfff < local_38 + 1) && (pppppppcVar7 = (char *******)local_50[0][-1], (char *)0x1f < (char *)((longlong)local_50[0] + (-8 - (longlong)pppppppcVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppppcVar7); } goto LAB_18060c00f; } } LAB_18060bf41: if (0xf < local_38) { pppppppcVar7 = local_50[0]; if ((0xfff < local_38 + 1) && (pppppppcVar7 = (char *******)local_50[0][-1], (char *)0x1f < (char *)((longlong)local_50[0] + (-8 - (longlong)pppppppcVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppppcVar7); } } for (; param_2 <= pcVar8; pcVar8 = pcVar8 + -1) { uVar9 = uVar10 * 10; if (uVar9 / 10 != uVar10) { bVar2 = true; } iVar1 = *pcVar8 + -0x30; uVar11 = (ulonglong)iVar1; uVar10 = uVar11 * uVar9; if ((9 < (byte)(*pcVar8 - 0x30U)) || ((((iVar1 != 0 && (uVar10 / uVar11 != uVar9)) || (-uVar10 - 1 < *param_1)) || ((bVar2 && (uVar11 != 0)))))) break; *param_1 = *param_1 + uVar10; uVar10 = uVar9; } LAB_18060c00f: if ((local_60 != (_Locimp *)0x0) && (puVar6 = (undefined8 *)(**(code **)(*(longlong *)local_60 + 0x10))(), puVar6 != (undefined8 *)0x0)) { (**(code **)*puVar6)(puVar6,1); } } ############ FUN_ 18060c980 size=59 ############ void * FUN_18060c980(longlong param_1,ulonglong param_2) { void *_Memory; _Memory = (void *)(param_1 + -0x98); FUN_18060c820(_Memory); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(_Memory); } return _Memory; } ############ FUN_ 18060c9c0 size=52 ############ void * FUN_18060c9c0(void *param_1,ulonglong param_2) { FUN_18060c8a0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18060ca00 size=125 ############ undefined8 * FUN_18060ca00(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[3] = boost::exception::vftable; if ((longlong *)param_1[4] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[4] + 0x20))(); if (cVar1 != '\0') { param_1[4] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18060ca80 size=66 ############ undefined8 * FUN_18060ca80(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::fusion::LocationGroupAttributes::vftable; FUN_1805bc040(param_1 + 5); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18060d590 size=812 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18060d590(undefined8 ******param_1,undefined8 ******param_2) { undefined8 *****pppppuVar1; undefined8 *****pppppuVar2; undefined8 ******ppppppuVar3; int iVar4; undefined8 ******ppppppuVar5; undefined8 ******_Buf1; undefined8 *****pppppuVar6; undefined8 ******ppppppuVar7; undefined8 ******ppppppuVar8; undefined8 *****pppppuVar9; undefined8 ******ppppppuVar10; undefined1 auStack_98 [32]; undefined8 *****local_78; undefined8 *****local_70; undefined8 ****ppppuStack_68; undefined8 ****local_60; undefined8 ****ppppuStack_58; undefined8 *****local_50; undefined8 ****ppppuStack_48; undefined8 ****local_40; undefined8 ****ppppuStack_38; ulonglong local_30; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; if ((param_1 == param_2) || (ppppppuVar10 = param_1 + 4, local_78 = param_2, ppppppuVar10 == param_2)) { } LAB_18060d5e0: ppppppuVar3 = (undefined8 ******)*ppppppuVar10; ppppuStack_68 = ppppppuVar10[1]; pppppuVar2 = ppppppuVar10[2]; pppppuVar6 = ppppppuVar10[3]; ppppppuVar10[2] = (undefined8 *****)0x0; ppppppuVar10[3] = (undefined8 *****)0xf; *(undefined1 *)ppppppuVar10 = 0; ppppppuVar7 = param_1; if ((undefined8 *****)0xf < param_1[3]) { ppppppuVar7 = (undefined8 ******)*param_1; } pppppuVar1 = param_1[2]; ppppppuVar5 = &local_50; if ((undefined8 *****)0xf < pppppuVar6) { ppppppuVar5 = ppppppuVar3; } pppppuVar9 = pppppuVar2; if (pppppuVar1 < pppppuVar2) { pppppuVar9 = pppppuVar1; } local_70 = ppppppuVar3; local_60 = pppppuVar2; ppppuStack_58 = pppppuVar6; local_50 = ppppppuVar3; ppppuStack_48 = ppppuStack_68; local_40 = pppppuVar2; ppppuStack_38 = pppppuVar6; iVar4 = memcmp(ppppppuVar5,ppppppuVar7,(size_t)pppppuVar9); if (iVar4 == 0) { ppppppuVar7 = ppppppuVar10; if (pppppuVar1 <= pppppuVar2) { LAB_18060d670: ppppppuVar8 = ppppppuVar7; ppppppuVar7 = ppppppuVar8 + -4; ppppppuVar5 = ppppppuVar7; if ((undefined8 *****)0xf < ppppppuVar8[-1]) { ppppppuVar5 = (undefined8 ******)*ppppppuVar7; } pppppuVar1 = ppppppuVar8[-2]; _Buf1 = &local_50; if ((undefined8 *****)0xf < pppppuVar6) { _Buf1 = ppppppuVar3; } pppppuVar9 = pppppuVar2; if (pppppuVar1 < pppppuVar2) { pppppuVar9 = pppppuVar1; } iVar4 = memcmp(_Buf1,ppppppuVar5,(size_t)pppppuVar9); if (iVar4 == 0) { if (pppppuVar1 <= pppppuVar2) goto LAB_18060d6b2; } else if (-1 < iVar4) goto LAB_18060d6b2; if (ppppppuVar8 != ppppppuVar7) { if ((undefined8 *****)0xf < ppppppuVar8[3]) { pppppuVar2 = *ppppppuVar8; pppppuVar6 = pppppuVar2; if ((0xfff < (longlong)ppppppuVar8[3] + 1U) && (pppppuVar6 = (undefined8 *****)pppppuVar2[-1], 0x1f < (ulonglong)((longlong)pppppuVar2 + (-8 - (longlong)pppppuVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppuVar6); } ppppppuVar8[3] = (undefined8 *****)0xf; ppppppuVar8[2] = (undefined8 *****)0x0; *(undefined1 *)ppppppuVar8 = 0; *ppppppuVar8 = *ppppppuVar7; ppppppuVar8[1] = ppppppuVar8[-3]; ppppppuVar8[2] = ppppppuVar8[-2]; ppppppuVar8[3] = ppppppuVar8[-1]; ppppppuVar8[-2] = (undefined8 *****)0x0; ppppppuVar8[-1] = (undefined8 *****)0xf; *(undefined1 *)ppppppuVar7 = 0; } goto LAB_18060d670; } } else { ppppppuVar7 = ppppppuVar10; if (-1 < iVar4) goto LAB_18060d670; } ppppppuVar5 = ppppppuVar10 + 4; ppppppuVar7 = ppppppuVar10; while (ppppppuVar8 = ppppppuVar5, param_1 != ppppppuVar7) { ppppppuVar5 = ppppppuVar8 + -4; ppppppuVar7 = ppppppuVar8 + -8; if (ppppppuVar5 != ppppppuVar7) { if ((undefined8 *****)0xf < ppppppuVar8[-1]) { pppppuVar2 = *ppppppuVar5; pppppuVar6 = pppppuVar2; if ((0xfff < (longlong)ppppppuVar8[-1] + 1U) && (pppppuVar6 = (undefined8 *****)pppppuVar2[-1], 0x1f < (ulonglong)((longlong)pppppuVar2 + (-8 - (longlong)pppppuVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppuVar6); } ppppppuVar8[-2] = (undefined8 *****)0x0; ppppppuVar8[-1] = (undefined8 *****)0xf; *(undefined1 *)ppppppuVar5 = 0; *ppppppuVar5 = *ppppppuVar7; ppppppuVar8[-3] = ppppppuVar8[-7]; ppppppuVar8[-2] = ppppppuVar8[-6]; ppppppuVar8[-1] = ppppppuVar8[-5]; ppppppuVar8[-6] = (undefined8 *****)0x0; ppppppuVar8[-5] = (undefined8 *****)0xf; *(undefined1 *)ppppppuVar7 = 0; } } if (param_1 == &local_50) goto LAB_18060d851; FUN_180485450(param_1); *param_1 = local_70; param_1[1] = (undefined8 *****)ppppuStack_68; param_1[2] = (undefined8 *****)local_60; param_1[3] = (undefined8 *****)ppppuStack_58; goto LAB_18060d885; LAB_18060d6b2: if (ppppppuVar8 == &local_50) { LAB_18060d851: if ((undefined8 *****)0xf < pppppuVar6) { ppppppuVar10 = ppppppuVar3; if ((0xfff < (longlong)pppppuVar6 + 1U) && (ppppppuVar10 = (undefined8 ******)ppppppuVar3[-1], 0x1f < (ulonglong)((longlong)ppppppuVar3 + (-8 - (longlong)ppppppuVar10)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(ppppppuVar10); } } else { if ((undefined8 *****)0xf < ppppppuVar8[3]) { pppppuVar2 = *ppppppuVar8; pppppuVar6 = pppppuVar2; if ((0xfff < (longlong)ppppppuVar8[3] + 1U) && (pppppuVar6 = (undefined8 *****)pppppuVar2[-1], 0x1f < (ulonglong)((longlong)pppppuVar2 + (-8 - (longlong)pppppuVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppuVar6); } ppppppuVar8[3] = (undefined8 *****)0xf; *ppppppuVar8 = local_70; ppppppuVar8[1] = (undefined8 *****)ppppuStack_68; ppppppuVar8[2] = (undefined8 *****)local_60; ppppppuVar8[3] = (undefined8 *****)ppppuStack_58; } LAB_18060d885: ppppppuVar10 = ppppppuVar10 + 4; if (ppppppuVar10 == (undefined8 ******)local_78) { } goto LAB_18060d5e0; } ############ FUN_ 18060dda0 size=678 ############ void FUN_18060dda0(longlong param_1,longlong param_2,longlong param_3,longlong *param_4) { void *pvVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; undefined8 uVar5; longlong lVar6; int iVar7; longlong lVar8; void *pvVar9; longlong *plVar10; undefined4 *puVar11; longlong *plVar12; longlong lVar13; longlong lVar14; undefined4 *puVar15; lVar13 = param_3 + -1; lVar6 = param_2; while (lVar6 < lVar13 >> 1) { lVar14 = lVar6 * 2 + 2; lVar8 = lVar14 * 0x20 + param_1; iVar7 = FUN_18060cd70(lVar8,lVar8 + -0x20); if (iVar7 < 0) { lVar14 = lVar6 * 2 + 1; } plVar10 = (longlong *)(lVar6 * 0x20 + param_1); plVar12 = (longlong *)(lVar14 * 0x20 + param_1); lVar6 = lVar14; if (plVar10 != plVar12) { if (0xf < (ulonglong)plVar10[3]) { pvVar1 = (void *)*plVar10; pvVar9 = pvVar1; if ((0xfff < plVar10[3] + 1U) && (pvVar9 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } plVar10[3] = 0xf; plVar10[2] = 0; *(undefined1 *)plVar10 = 0; uVar2 = *(undefined4 *)((longlong)plVar12 + 4); lVar14 = plVar12[1]; uVar3 = *(undefined4 *)((longlong)plVar12 + 0xc); *(int *)plVar10 = (int)*plVar12; *(undefined4 *)((longlong)plVar10 + 4) = uVar2; *(int *)(plVar10 + 1) = (int)lVar14; *(undefined4 *)((longlong)plVar10 + 0xc) = uVar3; lVar14 = plVar12[3]; plVar10[2] = plVar12[2]; plVar10[3] = lVar14; plVar12[2] = 0; plVar12[3] = 0xf; *(undefined1 *)plVar12 = 0; } } if ((lVar6 == lVar13 >> 1) && (((ulonglong)((uint)param_3 & 1) ^ param_3 >> 0x3f) == param_3 >> 0x3f)) { puVar15 = (undefined4 *)(param_1 + -0x20 + param_3 * 0x20); puVar11 = (undefined4 *)(lVar6 * 0x20 + param_1); lVar6 = lVar13; if (puVar11 != puVar15) { FUN_180485450(puVar11); uVar2 = puVar15[1]; uVar3 = puVar15[2]; uVar4 = puVar15[3]; *puVar11 = *puVar15; puVar11[1] = uVar2; puVar11[2] = uVar3; puVar11[3] = uVar4; uVar5 = *(undefined8 *)(puVar15 + 6); *(undefined8 *)(puVar11 + 4) = *(undefined8 *)(puVar15 + 4); *(undefined8 *)(puVar11 + 6) = uVar5; *(undefined8 *)(puVar15 + 4) = 0; *(undefined8 *)(puVar15 + 6) = 0xf; *(undefined1 *)puVar15 = 0; } } while (param_2 < lVar6) { lVar13 = lVar6 + -1 >> 1; plVar10 = (longlong *)(lVar13 * 0x20 + param_1); iVar7 = FUN_18060cd70(plVar10,param_4); if (-1 < iVar7) break; plVar12 = (longlong *)(lVar6 * 0x20 + param_1); lVar6 = lVar13; if (plVar12 != plVar10) { if (0xf < (ulonglong)plVar12[3]) { pvVar1 = (void *)*plVar12; pvVar9 = pvVar1; if ((0xfff < plVar12[3] + 1U) && (pvVar9 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } plVar12[3] = 0xf; plVar12[2] = 0; *(undefined1 *)plVar12 = 0; uVar2 = *(undefined4 *)((longlong)plVar10 + 4); lVar13 = plVar10[1]; uVar3 = *(undefined4 *)((longlong)plVar10 + 0xc); *(int *)plVar12 = (int)*plVar10; *(undefined4 *)((longlong)plVar12 + 4) = uVar2; *(int *)(plVar12 + 1) = (int)lVar13; *(undefined4 *)((longlong)plVar12 + 0xc) = uVar3; lVar13 = plVar10[3]; plVar12[2] = plVar10[2]; plVar12[3] = lVar13; plVar10[2] = 0; plVar10[3] = 0xf; *(undefined1 *)plVar10 = 0; } } plVar10 = (longlong *)(lVar6 * 0x20 + param_1); if (plVar10 != param_4) { if (0xf < (ulonglong)plVar10[3]) { pvVar1 = (void *)*plVar10; pvVar9 = pvVar1; if ((0xfff < plVar10[3] + 1U) && (pvVar9 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } plVar10[2] = 0; plVar10[3] = 0xf; *(undefined1 *)plVar10 = 0; lVar13 = param_4[1]; *plVar10 = *param_4; plVar10[1] = lVar13; lVar13 = param_4[3]; plVar10[2] = param_4[2]; plVar10[3] = lVar13; param_4[2] = 0; param_4[3] = 0xf; *(undefined1 *)param_4 = 0; } return; } ############ FUN_ 18060e460 size=739 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18060e460(longlong *param_1,longlong param_2,longlong param_3,undefined1 param_4) { undefined4 uVar1; undefined4 uVar2; longlong lVar3; void *pvVar4; void *pvVar5; longlong lVar6; longlong *plVar7; undefined1 auStack_98 [32]; undefined1 local_78; undefined4 local_68; undefined4 uStack_64; undefined4 uStack_60; undefined4 uStack_5c; undefined4 local_58; undefined4 uStack_54; undefined4 uStack_50; undefined4 uStack_4c; ulonglong local_48; local_48 = DAT_182615970 ^ (ulonglong)auStack_98; lVar3 = param_2 - (longlong)param_1; do { lVar3 = lVar3 >> 5; if (lVar3 < 0x21) { LAB_18060e526: if (1 < lVar3) { FUN_18060d590(param_1,param_2,param_4); } } if (param_3 < 1) { if (0x20 < lVar3) { lVar3 = param_2 - (longlong)param_1 >> 5; lVar6 = param_2 - (longlong)param_1 >> 6; if (0 < lVar6) { plVar7 = param_1 + lVar6 * 4; do { local_68 = (undefined4)plVar7[-4]; uStack_64 = *(undefined4 *)((longlong)plVar7 + -0x1c); uStack_60 = (undefined4)plVar7[-3]; uStack_5c = *(undefined4 *)((longlong)plVar7 + -0x14); lVar6 = lVar6 + -1; local_58 = (undefined4)plVar7[-2]; uStack_54 = *(undefined4 *)((longlong)plVar7 + -0xc); uStack_50 = (undefined4)plVar7[-1]; uStack_4c = *(undefined4 *)((longlong)plVar7 + -4); plVar7[-2] = 0; plVar7[-1] = 0xf; *(undefined1 *)(plVar7 + -4) = 0; local_78 = param_4; FUN_18060dda0(param_1,lVar6,lVar3,&local_68); if (0xf < CONCAT44(uStack_4c,uStack_50)) { pvVar4 = (void *)CONCAT44(uStack_64,local_68); pvVar5 = pvVar4; if ((0xfff < CONCAT44(uStack_4c,uStack_50) + 1) && (pvVar5 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } plVar7 = plVar7 + -4; } while (0 < lVar6); } if (lVar3 < 2) { } plVar7 = (longlong *)(param_2 + -0x20); do { if (1 < lVar3) { local_68 = (undefined4)*plVar7; uStack_64 = *(undefined4 *)((longlong)plVar7 + 4); uStack_60 = (undefined4)plVar7[1]; uStack_5c = *(undefined4 *)((longlong)plVar7 + 0xc); local_58 = (undefined4)plVar7[2]; uStack_54 = *(undefined4 *)((longlong)plVar7 + 0x14); uStack_50 = (undefined4)plVar7[3]; uStack_4c = *(undefined4 *)((longlong)plVar7 + 0x1c); plVar7[2] = 0; plVar7[3] = 0xf; *(undefined1 *)plVar7 = 0; if (plVar7 != param_1) { if (0xf < (ulonglong)plVar7[3]) { pvVar5 = (void *)*plVar7; pvVar4 = pvVar5; if ((0xfff < plVar7[3] + 1U) && (pvVar4 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } plVar7[2] = 0; plVar7[3] = 0xf; *(undefined1 *)plVar7 = 0; uVar1 = *(undefined4 *)((longlong)param_1 + 4); lVar3 = param_1[1]; uVar2 = *(undefined4 *)((longlong)param_1 + 0xc); *(int *)plVar7 = (int)*param_1; *(undefined4 *)((longlong)plVar7 + 4) = uVar1; *(int *)(plVar7 + 1) = (int)lVar3; *(undefined4 *)((longlong)plVar7 + 0xc) = uVar2; uVar1 = *(undefined4 *)((longlong)param_1 + 0x14); lVar3 = param_1[3]; uVar2 = *(undefined4 *)((longlong)param_1 + 0x1c); *(int *)(plVar7 + 2) = (int)param_1[2]; *(undefined4 *)((longlong)plVar7 + 0x14) = uVar1; *(int *)(plVar7 + 3) = (int)lVar3; *(undefined4 *)((longlong)plVar7 + 0x1c) = uVar2; param_1[2] = 0; param_1[3] = 0xf; *(undefined1 *)param_1 = 0; } local_78 = param_4; FUN_18060dda0(param_1,0,(longlong)plVar7 - (longlong)param_1 >> 5,&local_68); if (0xf < CONCAT44(uStack_4c,uStack_50)) { pvVar4 = (void *)CONCAT44(uStack_64,local_68); pvVar5 = pvVar4; if ((0xfff < CONCAT44(uStack_4c,uStack_50) + 1) && (pvVar5 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } } plVar7 = plVar7 + -4; lVar3 = (longlong)((longlong)plVar7 + (0x20 - (longlong)param_1)) >> 5; if (lVar3 < 2) { } } while( true ); } goto LAB_18060e526; } FUN_18060d9a0(&local_68,param_1,param_2,param_4); lVar6 = CONCAT44(uStack_64,local_68); plVar7 = (longlong *)CONCAT44(uStack_5c,uStack_60); param_3 = (param_3 >> 1) + (param_3 >> 2); if ((longlong)(lVar6 - (longlong)param_1 & 0xffffffffffffffe0U) < (longlong)(param_2 - (longlong)plVar7 & 0xffffffffffffffe0U)) { FUN_18060e460(param_1,lVar6,param_3,param_4); lVar6 = param_2; param_1 = plVar7; } else { FUN_18060e460(plVar7,param_2,param_3,param_4); } lVar3 = lVar6 - (longlong)param_1; param_2 = lVar6; } while( true ); } ############ FUN_ 18060e8d0 size=289 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18060e8d0(longlong param_1,undefined8 param_2,undefined4 *param_3) { int iVar1; void *_Memory; undefined4 *puVar2; ulonglong uVar3; longlong lVar4; undefined4 *puVar5; undefined4 *puVar6; undefined4 *puVar7; undefined1 auStack_78 [32]; void *local_58 [3]; ulonglong local_40; ulonglong local_38; local_38 = DAT_182615970 ^ (ulonglong)auStack_78; FUN_1805a4070(local_58); lVar4 = *(longlong *)(param_1 + 0x70); puVar6 = (undefined4 *)0x0; puVar2 = (undefined4 *)(lVar4 + -0x11); if (lVar4 == 0) { puVar2 = puVar6; } puVar2 = *(undefined4 **)(puVar2 + 2); puVar5 = puVar6; if (lVar4 != 0) { puVar5 = (undefined4 *)(lVar4 + -0x11); } uVar3 = *(ulonglong *)(*(longlong *)(puVar5 + 2) + 0x40) & 0xfffffffffffffffe; puVar5 = puVar6; if (uVar3 != 0) { puVar5 = (undefined4 *)(uVar3 - 0x40); } puVar7 = puVar2; if (puVar5 != (undefined4 *)0x0) { do { iVar1 = FUN_18060cd70(puVar5 + 2,local_58); if (iVar1 < 0) { lVar4 = *(longlong *)(puVar5 + 0x14); } else { lVar4 = *(longlong *)(puVar5 + 0x12); puVar7 = puVar5; } } while ((lVar4 != 0) && (puVar5 = (undefined4 *)(lVar4 + -0x40), puVar5 != (undefined4 *)0x0)); if ((puVar7 != puVar2) && (iVar1 = FUN_18060cd70(local_58,puVar7 + 2), -1 < iVar1)) goto LAB_18060e988; } puVar7 = puVar2; LAB_18060e988: if (local_40 < 0x10) { if (*(longlong *)(param_1 + 0x70) != 0) { puVar6 = (undefined4 *)(*(longlong *)(param_1 + 0x70) + -0x11); } if (*(undefined4 **)(puVar6 + 2) != puVar7) { *param_3 = *puVar7; } } _Memory = local_58[0]; if ((0xfff < local_40 + 1) && (_Memory = *(void **)((longlong)local_58[0] + -8), 0x1f < (ulonglong)((longlong)local_58[0] + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806121e0 size=52 ############ void * FUN_1806121e0(void *param_1,ulonglong param_2) { FUN_180611da0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180612220 size=59 ############ void * FUN_180612220(longlong param_1,ulonglong param_2) { void *_Memory; _Memory = (void *)(param_1 + -0xb0); FUN_180612130(_Memory); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(_Memory); } return _Memory; } ############ FUN_ 180612260 size=151 ############ basic_ios_> * FUN_180612260(basic_ios_> *param_1,ulonglong param_2) { basic_ios_> *_Memory; _Memory = param_1 + -0xb0; *(undefined ***)(param_1 + (longlong)*(int *)(*(longlong *)_Memory + 4) + -0xb0) = std::basic_ifstream_>::vftable; *(int *)(param_1 + (longlong)*(int *)(*(longlong *)(param_1 + -0xb0) + 4) + -0xb4) = *(int *)(*(longlong *)(param_1 + -0xb0) + 4) + -0xb0; FUN_180611da0(param_1 + -0xa0); std::basic_istream_>::~basic_istream_> ((basic_istream_> *)(param_1 + -0x98)); std::basic_ios_>::~basic_ios_>(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(_Memory); } return _Memory; } ############ FUN_ 180612300 size=52 ############ void * FUN_180612300(void *param_1,ulonglong param_2) { FUN_1806120b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180617f60 size=211 ############ void FUN_180617f60(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined1 param_5,undefined1 param_6) { void *pvVar1; void *pvVar2; void *local_20; void *pvStack_18; longlong local_10; local_20 = (void *)0x0; pvStack_18 = (void *)0x0; local_10 = 0; FUN_1806c91c0(param_2,&local_20,param_3,param_4,param_5,param_6,0); (**(code **)(*param_1 + 0x30))(param_1,&local_20); pvVar1 = pvStack_18; pvVar2 = local_20; if (local_20 == (void *)0x0) { return; } for (; pvVar2 != pvVar1; pvVar2 = (void *)((longlong)pvVar2 + 0x20)) { FUN_1805bc2c0(pvVar2); } pvVar2 = local_20; if ((0xfff < (local_10 - (longlong)local_20 & 0xffffffffffffffe0U)) && (pvVar2 = *(void **)((longlong)local_20 + -8), 0x1f < (ulonglong)((longlong)local_20 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1806ca1c0 size=1216 ############ /* WARNING: Removing unreachable block (ram,0x0001806ca2da) */ /* WARNING: Removing unreachable block (ram,0x0001806ca318) */ void FUN_1806ca1c0(undefined8 param_1,undefined8 *param_2) { longlong *plVar1; void *pvVar2; uint uVar3; undefined8 uVar4; undefined8 *puVar5; void *pvVar6; uint uVar7; undefined1 auStack_388 [32]; undefined4 local_368; undefined1 *local_358; uint local_340; undefined4 local_33c; undefined8 local_338; undefined1 local_330 [16]; undefined8 local_320; undefined8 local_318; undefined8 local_310; undefined8 *local_308; undefined8 *local_300; undefined8 *local_2f8; undefined8 *local_2f0; undefined1 local_2a0 [32]; undefined1 local_280 [32]; undefined8 local_260; undefined8 local_258; undefined1 local_250; undefined7 uStack_24f; undefined8 local_240; ulonglong local_238; undefined2 local_230 [8]; undefined8 local_220; undefined8 local_218; undefined1 local_210; undefined7 uStack_20f; undefined8 local_200; ulonglong local_1f8; undefined1 local_190 [32]; undefined1 local_170 [32]; undefined8 local_150; undefined8 local_148; undefined1 local_140 [248]; ulonglong local_48; local_310 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_388; local_368 = 0; uVar7 = (uint)&stack0x00000000 & 0x21ff; uVar3 = (uint)&stack0x00000000 & 0xeff; local_340 = 0xad2f << ((char)((int)-((uVar7 * uVar7 + 1) % 7) >> 0x1f) - (char)((int)-(((uVar3 + 1) * uVar3 + 7) % 0x51) >> 0x1f) & 0x1fU) ^ 0xa30f; local_33c = 0x230; local_358 = local_330; local_320 = 0; local_318 = 0xf; local_330[0] = 0; local_338 = param_1; FUN_1805a6cb0(local_330,&DAT_181baf991,0); uVar4 = FUN_1805f71a0(); local_240 = 0; local_238 = 0xf; local_250 = 0; local_368 = 8; plVar1 = param_2 + 2; if (*plVar1 != 0) { local_308 = param_2; if (7 < (ulonglong)param_2[3]) { local_308 = (undefined8 *)*param_2; param_2 = (undefined8 *)*param_2; } local_300 = param_2; FUN_1805f5100(param_2,(longlong)local_308 + *plVar1 * 2,&local_250,uVar4); } puVar5 = (undefined8 *)FUN_1806cc050(&local_210,&local_250,local_330); local_220 = 0; local_218 = 7; local_230[0] = 0; uVar4 = FUN_1805f71a0(); plVar1 = puVar5 + 2; if (*plVar1 != 0) { local_2f8 = puVar5; if (0xf < (ulonglong)puVar5[3]) { local_2f8 = (undefined8 *)*puVar5; puVar5 = (undefined8 *)*puVar5; } local_2f0 = puVar5; FUN_1805f5010(puVar5,*plVar1 + (longlong)local_2f8,local_230,uVar4); } if (0xf < local_1f8) { pvVar2 = (void *)CONCAT71(uStack_20f,local_210); pvVar6 = pvVar2; if ((0xfff < local_1f8 + 1) && (pvVar6 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } local_200 = 0; local_1f8 = 0xf; local_210 = 0; if (local_238 < 0x10) { local_240 = 0; local_238 = 0xf; local_250 = 0; FUN_1805fea50(local_140,0); local_368 = 0x14; FUN_1805fe080(local_190,local_230,local_140); FUN_1805bc2c0(local_140); FUN_1805f7030(local_190,local_280); FUN_1805b3ee0(local_170,local_280); local_150 = local_260; local_148 = local_258; local_368 = 0x34; FUN_1805f85b0(local_280); FUN_1805b3ee0(local_2a0,local_170); local_368 = 0x14; FUN_1805bc2c0(local_170); return; } pvVar2 = (void *)CONCAT71(uStack_24f,local_250); pvVar6 = pvVar2; if ((0xfff < local_238 + 1) && (pvVar6 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } ############ FUN_ 18093e2a0 size=432 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18093e2a0(undefined8 *param_1) { undefined8 *puVar1; void *pvVar2; int cchWideChar; undefined8 uVar3; undefined8 *puVar4; void *_Memory; LPCWSTR _Memory_00; CHAR *pCVar5; undefined1 auStackY_98 [32]; LPWSTR local_60; undefined8 uStack_58; longlong local_50; undefined8 local_48; undefined8 *local_40; CHAR local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_48 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStackY_98; local_60 = (LPWSTR)0x0; uStack_58 = 0; local_50 = 0; local_40 = param_1; uVar3 = FUN_1805f71a0(); local_28 = 0; local_20 = 0xf; local_38 = '\0'; if (param_1[2] != 0) { puVar4 = param_1; puVar1 = param_1; if (7 < (ulonglong)param_1[3]) { puVar1 = (undefined8 *)*param_1; puVar4 = (undefined8 *)*param_1; } FUN_1805f5100(puVar4,(longlong)puVar1 + param_1[2] * 2,&local_38,uVar3); } pCVar5 = &local_38; if (0xf < local_20) { pCVar5 = (LPCSTR)CONCAT71(uStack_37,local_38); } cchWideChar = MultiByteToWideChar(0xfde9,0,pCVar5,-1,(LPWSTR)0x0,0); FUN_180622f00(&local_60,cchWideChar,&local_60); pCVar5 = &local_38; if (0xf < local_20) { pCVar5 = (LPCSTR)CONCAT71(uStack_37,local_38); } MultiByteToWideChar(0xfde9,0,pCVar5,-1,local_60,cchWideChar); if (0xf < local_20) { pvVar2 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar2; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } GetFileAttributesW(local_60); if (local_60 == (LPCWSTR)0x0) { FUN_1805bc2c0(param_1); } _Memory_00 = local_60; if ((0xfff < (ulonglong)((local_50 - (longlong)local_60 >> 1) * 2)) && (_Memory_00 = *(LPCWSTR *)(local_60 + -4), 0x1f < (ulonglong)((longlong)local_60 + (-8 - (longlong)_Memory_00)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory_00); } ############ FUN_ 180622f00 size=346 ############ void FUN_180622f00(longlong *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { void *pvVar1; longlong lVar2; ulonglong uVar3; void *pvVar4; ulonglong uVar5; ulonglong uVar6; pvVar1 = (void *)param_1[1]; lVar2 = *param_1; uVar6 = (longlong)pvVar1 - lVar2 >> 1; uVar3 = param_1[2] - lVar2 >> 1; if (param_2 <= uVar3) { if (param_2 <= uVar6) { if (param_2 != uVar6) { param_1[1] = lVar2 + param_2 * 2; } return; } pvVar4 = (void *)((longlong)pvVar1 + (param_2 - uVar6) * 2); memset(pvVar1,0,(longlong)pvVar4 - (longlong)pvVar1); param_1[1] = (longlong)pvVar4; return; } if (0x7fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = param_2; if ((uVar3 <= 0x7fffffffffffffff - (uVar3 >> 1)) && (uVar5 = (uVar3 >> 1) + uVar3, uVar5 < param_2)) { uVar5 = param_2; } pvVar4 = (void *)FUN_1805bcc10(param_1,uVar5,param_3,param_4,0xfffffffffffffffe); memset((void *)((longlong)pvVar4 + uVar6 * 2),0,(param_2 - uVar6) * 2); memmove(pvVar4,(void *)*param_1,param_1[1] - *param_1); pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = (longlong)pvVar4; param_1[1] = (longlong)((longlong)pvVar4 + param_2 * 2); param_1[2] = (longlong)((longlong)pvVar4 + uVar5 * 2); return; } pvVar4 = pvVar1; if ((0xfff < (ulonglong)((param_1[2] - (longlong)pvVar1 >> 1) * 2)) && (pvVar4 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } ############ FUN_ 180618410 size=857 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180618410(longlong *param_1,undefined8 *param_2) { undefined4 uVar1; undefined8 uVar2; undefined8 *puVar3; undefined8 *puVar4; void *pvVar5; undefined8 *puVar6; undefined8 *puVar7; uint uVar8; undefined1 auStack_238 [32]; undefined1 local_218; undefined8 *local_210; undefined8 *puStack_208; undefined8 *local_200; uint local_1f8; undefined8 local_1f0; undefined **local_1e8; undefined4 local_1e0; void *local_90; longlong local_80; void *local_68; undefined8 uStack_60; longlong local_58; ulonglong local_50; undefined2 local_48 [8]; undefined8 local_38; undefined8 local_30; ulonglong local_28; local_1f0 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_238; uVar8 = 0; local_1f8 = 0; local_210 = (undefined8 *)0x0; puStack_208 = (undefined8 *)0x0; local_200 = (undefined8 *)0x0; puVar6 = (undefined8 *)param_2[1]; for (param_2 = (undefined8 *)*param_2; param_2 != puVar6; param_2 = param_2 + 4) { uVar2 = FUN_1805f71a0(); local_58 = 0; local_50 = 0xf; local_68 = (void *)((ulonglong)local_68 & 0xffffffffffffff00); local_1f8 = uVar8 | 2; if (param_2[2] != 0) { puVar3 = param_2; puVar7 = param_2; if (7 < (ulonglong)param_2[3]) { puVar7 = (undefined8 *)*param_2; puVar3 = (undefined8 *)*param_2; } FUN_1805f5100(puVar3,(longlong)puVar7 + param_2[2] * 2,&local_68,uVar2); } uVar8 = 1; if (local_200 == puStack_208) { FUN_18060d220(&local_210,puStack_208,&local_68); } else { FUN_1805a4070(puStack_208,&local_68); puStack_208 = puStack_208 + 4; } if (0xf < local_50) { pvVar5 = local_68; if ((0xfff < local_50 + 1) && (pvVar5 = *(void **)((longlong)local_68 + -8), 0x1f < (ulonglong)((longlong)local_68 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } } FUN_18060e460(local_210,puStack_208,(longlong)puStack_208 - (longlong)local_210 >> 5,local_218); puVar6 = puStack_208; for (puVar7 = local_210; puVar7 != puVar6; puVar7 = puVar7 + 4) { FUN_180610750(&local_1e8,(int)param_1[1]); local_68 = (void *)0x0; uStack_60 = 0; local_58 = 0; local_38 = 0; local_30 = 7; local_48[0] = 0; uVar2 = FUN_1805f71a0(); if (puVar7[2] != 0) { puVar4 = puVar7; puVar3 = puVar7; if (0xf < (ulonglong)puVar7[3]) { puVar3 = (undefined8 *)*puVar7; puVar4 = (undefined8 *)*puVar7; } FUN_1805f5010(puVar4,(longlong)puVar3 + puVar7[2],local_48,uVar2); } FUN_180618040(&local_1e8,local_48); FUN_1805bc2c0(local_48); uVar1 = FUN_180614890(local_1e0); FUN_1805b0f50(&local_68,uVar1,&local_68); (*(code *)local_1e8[8])(&local_1e8,0,local_68,0); (**(code **)(*param_1 + 0x18))(param_1,&local_68); if (local_68 != (void *)0x0) { pvVar5 = local_68; if ((0xfff < (ulonglong)(local_58 - (longlong)local_68)) && (pvVar5 = *(void **)((longlong)local_68 + -8), 0x1f < (ulonglong)((longlong)local_68 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } local_1e8 = pace::Hasher::vftable; if (local_90 != (void *)0x0) { pvVar5 = local_90; if ((0xfff < (ulonglong)(local_80 - (longlong)local_90)) && (pvVar5 = *(void **)((longlong)local_90 + -8), 0x1f < (ulonglong)((longlong)local_90 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } } if (local_210 == (undefined8 *)0x0) { } FUN_18048c550(local_210,puStack_208,&local_210); puVar6 = local_210; if ((0xfff < ((longlong)local_200 - (longlong)local_210 & 0xffffffffffffffe0U)) && (puVar6 = (undefined8 *)local_210[-1], 0x1f < (ulonglong)((longlong)local_210 + (-8 - (longlong)puVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(puVar6); } ############ FUN_ 18061e020 size=737 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18061e020(longlong param_1) { ulonglong uVar1; undefined8 uVar2; longlong lVar3; uint uVar4; int iVar5; char *pcVar6; ulonglong *puVar7; char *pcVar8; undefined1 auStackY_a8 [32]; char local_68; char local_67 [7]; char *local_60; char *local_58; ulonglong local_50; ulonglong local_48; undefined8 local_40; char local_38; undefined7 uStack_37; ulonglong local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStackY_a8; uVar1 = **(ulonglong **)(param_1 + 0x38); if (uVar1 != 0) { iVar5 = **(int **)(param_1 + 0x50); if (uVar1 < uVar1 + (longlong)iVar5) { **(int **)(param_1 + 0x50) = iVar5 + -1; **(longlong **)(param_1 + 0x38) = **(longlong **)(param_1 + 0x38) + 1; } } if (*(longlong *)(param_1 + 0x80) != 0) { if (**(longlong **)(param_1 + 0x18) == param_1 + 0x70) { uVar2 = *(undefined8 *)(param_1 + 0x90); lVar3 = *(longlong *)(param_1 + 0x88); **(longlong **)(param_1 + 0x18) = lVar3; **(longlong **)(param_1 + 0x38) = lVar3; **(int **)(param_1 + 0x50) = (int)uVar2 - (int)lVar3; } if (*(longlong *)(param_1 + 0x68) == 0) { fgetc(*(FILE **)(param_1 + 0x80)); } else { local_28 = 0; local_20 = 0xf; local_38 = '\0'; uVar4 = fgetc(*(FILE **)(param_1 + 0x80)); uVar1 = local_28; while (local_28 = uVar1, uVar4 != 0xffffffff) { if (uVar1 < local_20) { local_28 = uVar1 + 1; pcVar6 = &local_38; if (0xf < local_20) { pcVar6 = (char *)CONCAT71(uStack_37,local_38); } pcVar6[uVar1] = (char)uVar4; pcVar6[uVar1 + 1] = '\0'; } else { FUN_18060b550(&local_38,1,0,uVar4 & 0xff); } pcVar6 = &local_38; if (0xf < local_20) { pcVar6 = (char *)CONCAT71(uStack_37,local_38); } pcVar8 = &local_38; if (0xf < local_20) { pcVar8 = (char *)CONCAT71(uStack_37,local_38); } iVar5 = std::codecvt::in (*(codecvt **)(param_1 + 0x68), (_Mbstatet *)(param_1 + 0x74),pcVar8,pcVar6 + local_28,&local_60, &local_68,local_67,&local_58); if (iVar5 < 0) break; if (1 < iVar5) { if (iVar5 == 3) { pcVar6 = (char *)CONCAT71(uStack_37,local_38); goto LAB_18061e248; } break; } if (local_58 != &local_68) { pcVar6 = (char *)CONCAT71(uStack_37,local_38); pcVar8 = &local_38; if (0xf < local_20) { pcVar8 = pcVar6; } pcVar8 = pcVar8 + (local_28 - (longlong)local_60); if (0 < (longlong)pcVar8) { do { pcVar8 = pcVar8 + -1; ungetc((int)pcVar8[(longlong)local_60],*(FILE **)(param_1 + 0x80)); } while (0 < (longlong)pcVar8); pcVar6 = (char *)CONCAT71(uStack_37,local_38); } goto LAB_18061e248; } pcVar6 = &local_38; if (0xf < local_20) { pcVar6 = (char *)CONCAT71(uStack_37,local_38); } local_48 = (longlong)local_60 - (longlong)pcVar6; local_50 = local_28; puVar7 = &local_50; if ((ulonglong)((longlong)local_60 - (longlong)pcVar6) <= local_28) { puVar7 = &local_48; } pcVar6 = &local_38; if (0xf < local_20) { pcVar6 = (char *)CONCAT71(uStack_37,local_38); } local_28 = local_28 - *puVar7; memmove(pcVar6,pcVar6 + *puVar7,local_28 + 1); uVar4 = fgetc(*(FILE **)(param_1 + 0x80)); uVar1 = local_28; } pcVar6 = (char *)CONCAT71(uStack_37,local_38); LAB_18061e248: if (0xf < local_20) { pcVar8 = pcVar6; if ((0xfff < local_20 + 1) && (pcVar8 = *(char **)(pcVar6 + -8), (char *)0x1f < pcVar6 + (-8 - (longlong)pcVar8))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pcVar8); } } } } ############ FUN_ 180621860 size=608 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180621860(undefined8 *param_1,undefined8 param_2) { int iVar1; void *pvVar2; int *piVar3; longlong *plVar4; undefined8 uVar5; undefined8 uVar6; void *pvVar7; undefined8 local_res10; undefined1 auStack_c8 [32]; undefined8 local_a8; undefined4 local_98; undefined2 local_94; undefined1 local_90 [8]; undefined8 local_88; undefined1 local_80; undefined7 uStack_7f; undefined8 uStack_78; undefined8 local_70; ulonglong uStack_68; undefined1 local_60; undefined7 uStack_5f; undefined8 local_50; ulonglong local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_88 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_c8; local_res10 = param_2; local_a8 = param_1; piVar3 = (int *)FUN_1806227d0(&local_res10,local_90); iVar1 = *piVar3; if (iVar1 == -2) { local_70 = 0; uStack_68 = 0xf; local_80 = 0; FUN_1805a6cb0(&local_80,"not-a-date-time",0xf); } else if (iVar1 == 0) { local_70 = 0; uStack_68 = 0xf; local_80 = 0; FUN_1805a6cb0(&local_80,"-infinity",9); } else if (iVar1 == -1) { local_70 = 0; uStack_68 = 0xf; local_80 = 0; FUN_1805a6cb0(&local_80,"+infinity",9); } else { FUN_180622940(&local_98); local_a8._0_6_ = CONCAT24(local_94,local_98); FUN_180622bb0(&local_80,&local_a8); } plVar4 = (longlong *)FUN_180622ad0(&local_res10,&local_a8); if ((*plVar4 + 0x7fffffffffffffffU < 0xfffffffffffffffe) && (*plVar4 != 0x7ffffffffffffffe)) { uVar5 = FUN_180622ad0(&local_res10,&local_a8); uVar5 = FUN_180621ae0(&local_40,uVar5); uVar6 = FUN_180621600(&local_60,&local_80,0x54); FUN_1805f1630(param_1,uVar6,uVar5); if (0xf < local_48) { pvVar2 = (void *)CONCAT71(uStack_5f,local_60); pvVar7 = pvVar2; if ((0xfff < local_48 + 1) && (pvVar7 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } local_50 = 0; local_48 = 0xf; local_60 = 0; if (0xf < local_28) { pvVar2 = (void *)CONCAT71(uStack_3f,local_40); pvVar7 = pvVar2; if ((0xfff < local_28 + 1) && (pvVar7 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } local_30 = 0; local_28 = 0xf; local_40 = 0; if (0xf < uStack_68) { pvVar2 = (void *)CONCAT71(uStack_7f,local_80); pvVar7 = pvVar2; if ((0xfff < uStack_68 + 1) && (pvVar7 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } } else { *param_1 = CONCAT71(uStack_7f,local_80); param_1[1] = uStack_78; param_1[2] = local_70; param_1[3] = uStack_68; } } ############ FUN_ 1806225c0 size=81 ############ undefined8 * FUN_1806225c0(undefined8 *param_1,ulonglong param_2) { *param_1 = apache::thrift::protocol::TBinaryProtocol::vftable; if ((void *)param_1[6] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[6]); } FUN_180622550(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180622620 size=52 ############ void * FUN_180622620(void *param_1,ulonglong param_2) { FUN_180622550(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180623300 size=37 ############ void FUN_180623300(longlong param_1) { /* WARNING: Subroutine does not return */ free(*(void **)(param_1 + 0x48)); } ############ FUN_ 180623390 size=52 ############ void * FUN_180623390(void *param_1,ulonglong param_2) { FUN_180623300(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180623db0 size=713 ############ longlong FUN_180623db0(longlong *param_1,longlong param_2,longlong param_3) { ulonglong uVar1; undefined4 *puVar2; longlong lVar3; undefined8 *puVar4; void *pvVar5; ulonglong uVar6; undefined4 uVar7; undefined4 uVar8; undefined4 uVar9; longlong lVar10; longlong lVar11; longlong lVar12; undefined4 *puVar13; longlong lVar14; undefined8 *puVar15; void *_Memory; ulonglong uVar16; lVar3 = *param_1; lVar12 = (param_1[1] - lVar3) / 0x28; if (lVar12 == 0x666666666666666) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar12 + 1; uVar6 = (param_1[2] - lVar3) / 0x28; uVar16 = uVar1; if ((uVar6 <= 0x666666666666666 - (uVar6 >> 1)) && (uVar16 = (uVar6 >> 1) + uVar6, uVar16 < uVar1) ) { uVar16 = uVar1; } lVar10 = FUN_18062cbf0(param_1,uVar16); lVar3 = ((param_2 - lVar3) / 0x28) * 0x28; puVar15 = (undefined8 *)(lVar3 + lVar10); *puVar15 = pace::MachineBinding::vftable; *(undefined4 *)(puVar15 + 1) = *(undefined4 *)(param_3 + 8); *(undefined4 *)((longlong)puVar15 + 0xc) = *(undefined4 *)(param_3 + 0xc); uVar7 = *(undefined4 *)(param_3 + 0x14); uVar8 = *(undefined4 *)(param_3 + 0x18); uVar9 = *(undefined4 *)(param_3 + 0x1c); *(undefined4 *)(puVar15 + 2) = *(undefined4 *)(param_3 + 0x10); *(undefined4 *)((longlong)puVar15 + 0x14) = uVar7; *(undefined4 *)(puVar15 + 3) = uVar8; *(undefined4 *)((longlong)puVar15 + 0x1c) = uVar9; *(undefined4 *)(puVar15 + 4) = *(undefined4 *)(param_3 + 0x20); lVar12 = param_1[1]; lVar14 = *param_1; if (param_2 == lVar12) { if (lVar14 != lVar12) { lVar14 = lVar14 - lVar10; puVar13 = (undefined4 *)(lVar10 + 0xc); do { *(undefined ***)(puVar13 + -3) = pace::MachineBinding::vftable; puVar13[-1] = *(undefined4 *)(lVar14 + -4 + (longlong)puVar13); *puVar13 = *(undefined4 *)(lVar14 + (longlong)puVar13); puVar2 = (undefined4 *)(lVar14 + 4 + (longlong)puVar13); uVar7 = puVar2[1]; uVar8 = puVar2[2]; uVar9 = puVar2[3]; puVar13[1] = *puVar2; puVar13[2] = uVar7; puVar13[3] = uVar8; puVar13[4] = uVar9; puVar13[5] = *(undefined4 *)(lVar14 + 0x14 + (longlong)puVar13); lVar11 = (longlong)puVar13 + lVar14 + 0x1c; puVar13 = puVar13 + 10; } while (lVar11 != lVar12); } } else { if (lVar14 != param_2) { lVar14 = lVar14 - lVar10; puVar13 = (undefined4 *)(lVar10 + 0xc); do { *(undefined ***)(puVar13 + -3) = pace::MachineBinding::vftable; puVar13[-1] = *(undefined4 *)(lVar14 + -4 + (longlong)puVar13); *puVar13 = *(undefined4 *)(lVar14 + (longlong)puVar13); puVar2 = (undefined4 *)(lVar14 + 4 + (longlong)puVar13); uVar7 = puVar2[1]; uVar8 = puVar2[2]; uVar9 = puVar2[3]; puVar13[1] = *puVar2; puVar13[2] = uVar7; puVar13[3] = uVar8; puVar13[4] = uVar9; puVar13[5] = *(undefined4 *)(lVar14 + 0x14 + (longlong)puVar13); lVar12 = (longlong)puVar13 + lVar14 + 0x1c; puVar13 = puVar13 + 10; } while (lVar12 != param_2); } lVar12 = param_1[1]; if (param_2 != lVar12) { puVar13 = (undefined4 *)((longlong)puVar15 + 0x34); param_2 = param_2 - (longlong)(puVar15 + 5); do { *(undefined ***)(puVar13 + -3) = pace::MachineBinding::vftable; puVar13[-1] = *(undefined4 *)(param_2 + -4 + (longlong)puVar13); *puVar13 = *(undefined4 *)(param_2 + (longlong)puVar13); puVar2 = (undefined4 *)(param_2 + 4 + (longlong)puVar13); uVar7 = puVar2[1]; uVar8 = puVar2[2]; uVar9 = puVar2[3]; puVar13[1] = *puVar2; puVar13[2] = uVar7; puVar13[3] = uVar8; puVar13[4] = uVar9; puVar13[5] = *(undefined4 *)(param_2 + 0x14 + (longlong)puVar13); puVar13 = puVar13 + 10; } while (param_2 + -0xc + (longlong)puVar13 != lVar12); } } puVar15 = (undefined8 *)*param_1; if (puVar15 != (undefined8 *)0x0) { puVar4 = (undefined8 *)param_1[1]; for (; puVar15 != puVar4; puVar15 = puVar15 + 5) { (**(code **)*puVar15)(puVar15,0); } pvVar5 = (void *)*param_1; _Memory = pvVar5; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar5) / 0x28) * 0x28)) && (_Memory = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar10; param_1[1] = lVar10 + uVar1 * 0x28; param_1[2] = lVar10 + uVar16 * 0x28; return *param_1 + lVar3; } ############ FUN_ 18062b5c0 size=43 ############ undefined8 * FUN_18062b5c0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::MachineBinding::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18062b5f0 size=52 ############ void * FUN_18062b5f0(void *param_1,ulonglong param_2) { FUN_18062b2f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18071d4a0 size=2891 ############ /* WARNING: Instruction at (ram,0x00018071dd93) overlaps instruction at (ram,0x00018071dd92) */ /* WARNING: Removing unreachable block (ram,0x00018071dd8e) */ /* WARNING: Removing unreachable block (ram,0x00018071d695) */ /* WARNING: Removing unreachable block (ram,0x00018071d5c2) */ /* WARNING: Removing unreachable block (ram,0x00018071d66f) */ /* WARNING: Removing unreachable block (ram,0x00018071dd80) */ /* WARNING: Removing unreachable block (ram,0x00018071dffc) */ /* WARNING: Type propagation algorithm not settling */ undefined8 FUN_18071d4a0(undefined8 *param_1) { uint *puVar1; byte bVar2; void *pvVar3; ulonglong *puVar4; code *pcVar5; undefined4 uVar6; ulonglong uVar7; undefined8 uVar8; uint uVar9; code **ppcVar10; void *pvVar11; uint *puVar12; char *pcVar13; uint *puVar14; code *pcVar15; undefined1 *puVar16; undefined8 *puVar17; int unaff_retaddr; undefined4 unaff_retaddr_00; undefined1 auStack_998 [32]; undefined *local_978; uint local_970; uint *local_968; undefined8 local_950; undefined **local_948; undefined8 *local_940; undefined4 local_938; uint local_934; code *local_930; undefined8 *local_928; undefined8 local_920; undefined8 local_910; undefined8 *local_908; uint local_8d0; undefined4 uStack_8cc; undefined4 uStack_8c8; undefined4 uStack_8c4; code *local_8c0; ulonglong uStack_8b8; uint local_8b0; uint uStack_8ac; uint uStack_8a8; uint uStack_8a4; code *local_8a0; ulonglong uStack_898; uint local_890; undefined4 uStack_88c; undefined4 uStack_888; undefined4 uStack_884; code *local_880; ulonglong uStack_878; uint local_870; undefined4 uStack_86c; undefined4 uStack_868; undefined4 uStack_864; code *local_860; ulonglong uStack_858; undefined1 local_850; undefined7 uStack_84f; longlong local_840; ulonglong local_838; _OSVERSIONINFOW local_808; _OSVERSIONINFOW local_6e8; char local_5ce; _OSVERSIONINFOW local_5c8; char local_4ae; undefined1 local_4a8 [272]; undefined1 local_398 [272]; undefined1 local_288 [272]; undefined1 local_178 [328]; ulonglong local_30; local_910 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_998; *param_1 = pace::OsVersion::vftable; local_968 = (uint *)(param_1 + 1); pcVar15 = (code *)0x0; param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)local_968 = 0; local_940 = param_1 + 5; param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)local_940 = 0; param_1[0xb] = 0; param_1[0xc] = 0xf; *(undefined1 *)(param_1 + 9) = 0; puVar12 = (uint *)(param_1 + 0xd); param_1[0xf] = 0; param_1[0x10] = 0xf; *(undefined1 *)puVar12 = 0; puVar1 = (uint *)(param_1 + 0x11); param_1[0x13] = 0; param_1[0x14] = 0xf; *(undefined1 *)puVar1 = 0; param_1[0x17] = 0; param_1[0x18] = 0xf; *(undefined1 *)(param_1 + 0x15) = 0; uVar9 = (uint)&stack0x00000000 & 0x2bf; local_934 = ~(((uVar9 + 2) * (uVar9 + 1) * uVar9) % 3) & 0x4ec5 ^ 0x46c5; local_938 = 0x830; local_928 = param_1; local_908 = param_1; uVar6 = FUN_180720a10(); *(undefined4 *)(param_1 + 0x19) = uVar6; local_920 = 0x6f01000; local_950 = 0x10; local_948 = &PTR__guard_check_icall_181bab6a8; local_978 = &DAT_181bab6b8; bVar2 = 0; do { if ((bVar2 & 1) != 0) { pcVar15 = (code *)(~(~(ulonglong)pcVar15 + 1) + 1); } uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } bVar2 = POPCOUNT(uVar9 & 0xff); } while (uVar9 != 0); local_808.dwOSVersionInfoSize = 0x114; GetVersionExW(&local_808); puVar17 = local_940; do { uVar8 = rdtsc(); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); uVar9 = ((uint)uVar8 ^ (uint)((ulonglong)uVar8 >> 0x20)) * -0x7a143d4e; local_970 = (uVar9 >> 0x18 ^ uVar9) * -0x7332e57b; puVar14 = local_968; pcVar5 = pcVar15; if (local_970 < 0x18f9c17f) { do { local_930 = pcVar5; ppcVar10 = &local_930; uVar6 = FUN_18071eaac(ppcVar10,&local_930); *ppcVar10 = FUN_18141db20; FUN_18071d49a(uVar6,0xe6ec); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } pcVar5 = local_930; } while (uVar9 != 0); uVar7 = (*local_930)(); puVar14 = local_968; if (1 < uVar7) { uVar7 = CONCAT44(unaff_retaddr_00,unaff_retaddr); puVar4 = (ulonglong *)register0x00000020; while (uVar7 != 0xcccccccccccccccc) { *puVar4 = (ulonglong)pcVar15; puVar4 = puVar4 + 8; uVar7 = *puVar4; } } } FUN_18071f0f0(local_928,&local_808); uVar8 = FUN_1805a3f20(local_4a8,"%ld.%ld.%ld"); uVar8 = FUN_18071cd80(uVar8,&local_808.dwMajorVersion); uVar8 = FUN_18071cd80(uVar8,&local_808.dwMinorVersion); uVar8 = FUN_18071cd80(uVar8,&local_808.dwBuildNumber); FUN_1805ae640(uVar8); if (puVar12 == &local_8d0) { if (0xf < uStack_8b8) { pvVar3 = (void *)CONCAT44(uStack_8cc,local_8d0); pvVar11 = pvVar3; if ((0xfff < uStack_8b8 + 1) && (pvVar11 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } } else { FUN_180485450(puVar12); *puVar12 = local_8d0; *(undefined4 *)((longlong)param_1 + 0x6c) = uStack_8cc; *(undefined4 *)(param_1 + 0xe) = uStack_8c8; *(undefined4 *)((longlong)param_1 + 0x74) = uStack_8c4; param_1[0xf] = local_8c0; param_1[0x10] = uStack_8b8; } uStack_8b8 = 0xf; local_8d0 = local_8d0 & 0xffffff00; local_8c0 = pcVar15; FUN_1805a4fa0(local_4a8); if (local_808.dwPlatformId == 0) { uVar8 = FUN_1805a3f20(local_398,"Windows %ld.%ld"); uVar8 = FUN_18071cd80(uVar8,&local_808.dwMajorVersion); uVar8 = FUN_18071cd80(uVar8,&local_808.dwMinorVersion); FUN_1805ae640(uVar8); if (puVar14 == &local_8b0) { if (0xf < uStack_898) { pvVar3 = (void *)CONCAT44(uStack_8ac,local_8b0); pvVar11 = pvVar3; if ((0xfff < uStack_898 + 1) && (pvVar11 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } } else { FUN_180485450(puVar14); *puVar14 = local_8b0; puVar14[1] = uStack_8ac; puVar14[2] = uStack_8a8; puVar14[3] = uStack_8a4; *(code **)(puVar14 + 4) = local_8a0; *(ulonglong *)(puVar14 + 6) = uStack_898; } uStack_898 = 0xf; local_8b0 = local_8b0 & 0xffffff00; local_8a0 = pcVar15; FUN_1805a4fa0(local_398); goto LAB_18071dd3e; } if (local_808.dwPlatformId == 1) { if (local_808.dwMinorVersion == 0) { FUN_1805a6cb0(puVar14,"Windows 95",10); } else if (local_808.dwMinorVersion == 10) { FUN_1805a6cb0(puVar14,"Windows 98",10); } else if (local_808.dwMinorVersion == 0x5a) { FUN_1805a6cb0(puVar14,"Windows Me",10); } goto LAB_18071dd3e; } if (local_808.dwPlatformId != 2) { FUN_1805a6cb0(puVar14,"Windows",7); if (puVar1 != puVar14) { puVar12 = puVar14; if (0xf < *(ulonglong *)(puVar14 + 6)) { puVar12 = *(uint **)puVar14; } FUN_1805a6cb0(puVar1,puVar12,*(undefined8 *)(puVar14 + 4)); } goto LAB_18071dd3e; } if (local_808.dwMajorVersion == 4) { pcVar13 = "Windows NT"; LAB_18071dc05: uVar8 = 10; } else if (local_808.dwMajorVersion == 5) { if (local_808.dwMinorVersion != 0) { if (local_808.dwMinorVersion != 1) goto LAB_18071dd3e; pcVar13 = "Windows XP"; goto LAB_18071dc05; } uVar8 = 0xc; pcVar13 = "Windows 2000"; } else if (local_808.dwMajorVersion == 6) { local_6e8.dwOSVersionInfoSize = 0x11c; GetVersionExW(&local_6e8); if (local_808.dwMinorVersion == 0) { if (local_5ce == '\x01') { uVar8 = 5; pcVar13 = "Vista"; } else { uVar8 = 0x13; pcVar13 = "Windows Server 2008"; } } else if (local_808.dwMinorVersion == 1) { if (local_5ce == '\x01') { uVar8 = 9; pcVar13 = "Windows 7"; } else { uVar8 = 0x16; pcVar13 = "Windows Server 2008 R2"; } } else { if (1 < local_808.dwMinorVersion - 2) goto LAB_18071dd3e; if (local_5ce == '\x01') { uVar8 = 9; pcVar13 = "Windows 8"; } else { uVar8 = 0x13; pcVar13 = "Windows Server 2012"; } } } else if (local_808.dwMajorVersion == 10) { local_5c8.dwOSVersionInfoSize = 0x11c; GetVersionExW(&local_5c8); if (local_808.dwMinorVersion != 0) goto LAB_18071dd3e; if (local_4ae == '\x01') { uVar8 = 10; pcVar13 = "Windows 10"; } else { uVar8 = 0x11; pcVar13 = "Windows Server 10"; } } else { uVar8 = 7; pcVar13 = "Windows"; } FUN_1805a6cb0(puVar14,pcVar13,uVar8); FUN_1805b98c0(puVar1); LAB_18071dd3e: local_940 = (undefined8 *)0xba06c9d499e9f30a; local_950 = CONCAT44(local_950._4_4_,0x99e9f30a); do { puVar16 = (undefined1 *)((longlong)puVar17 + (longlong)pcVar15); pcVar15 = (code *)(((~((longlong)pcVar15 - (longlong)puVar16) + 1U) - (longlong)puVar16 ^ 0xffffffffffffffff) + 1); puVar17 = (undefined8 *)(puVar16 + -(longlong)pcVar15); uVar9 = (unaff_retaddr + 1) * unaff_retaddr & 0x80000001; if ((int)uVar9 < 0) { uVar9 = (uVar9 - 1 | 0xfffffffe) + 1; } } while (uVar9 != 0); if (param_1[0x13] != 0) { FUN_18093d5a0(&local_850,local_808.szCSDVersion,0); uVar8 = FUN_1805a3f20(local_288,"%s v%ld.%ld build %ld"); uVar8 = FUN_1805b2240(uVar8,puVar1); uVar8 = FUN_18071cd80(uVar8,&local_808.dwMajorVersion); uVar8 = FUN_18071cd80(uVar8,&local_808.dwMinorVersion); uVar8 = FUN_18071cd80(uVar8,&local_808.dwBuildNumber); FUN_1805ae640(uVar8,&local_890); if (puVar1 == &local_890) { if (0xf < uStack_878) { pvVar3 = (void *)CONCAT44(uStack_88c,local_890); pvVar11 = pvVar3; if ((0xfff < uStack_878 + 1) && (pvVar11 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } } else { FUN_180485450(puVar1); *puVar1 = local_890; *(undefined4 *)((longlong)param_1 + 0x8c) = uStack_88c; *(undefined4 *)(param_1 + 0x12) = uStack_888; *(undefined4 *)((longlong)param_1 + 0x94) = uStack_884; param_1[0x13] = local_880; param_1[0x14] = uStack_878; } uStack_878 = 0xf; local_890 = local_890 & 0xffffff00; local_880 = pcVar15; FUN_1805a4fa0(local_288); if (local_840 != 0) { uVar8 = FUN_1805a3f20(local_178,"%s with %s"); uVar8 = FUN_1805b2240(uVar8,puVar1); uVar8 = FUN_1805b2240(uVar8,&local_850); FUN_1805ae640(uVar8,&local_870); if (puVar1 == &local_870) { if (0xf < uStack_858) { pvVar3 = (void *)CONCAT44(uStack_86c,local_870); pvVar11 = pvVar3; if ((0xfff < uStack_858 + 1) && (pvVar11 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } } else { FUN_180485450(puVar1); *puVar1 = local_870; *(undefined4 *)((longlong)param_1 + 0x8c) = uStack_86c; *(undefined4 *)(param_1 + 0x12) = uStack_868; *(undefined4 *)((longlong)param_1 + 0x94) = uStack_864; param_1[0x13] = local_860; param_1[0x14] = uStack_858; } uStack_858 = 0xf; local_870 = local_870 & 0xffffff00; local_860 = pcVar15; FUN_1805a4fa0(local_178); } if (0xf < local_838) { pvVar3 = (void *)CONCAT71(uStack_84f,local_850); pvVar11 = pvVar3; if ((0xfff < local_838 + 1) && (pvVar11 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } } return 0; } ############ FUN_ 180637720 size=1702 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180637720(longlong param_1,longlong param_2,undefined8 param_3,longlong *param_4, int param_5) { undefined4 *puVar1; undefined4 uVar2; undefined4 uVar3; undefined4 uVar4; void *pvVar5; char cVar6; int iVar7; uint uVar8; longlong lVar9; undefined8 *puVar10; void *pvVar11; undefined4 *puVar12; uint uVar13; undefined8 *puVar14; longlong lVar15; undefined8 *puVar16; undefined8 *puVar17; undefined8 *puVar18; bool bVar19; bool bVar20; undefined1 auStack_248 [32]; undefined1 *local_228; undefined1 *local_220; undefined1 *local_218; longlong *local_210; char local_208; char local_207; undefined8 *local_200; undefined8 local_1f8; longlong *local_1f0; undefined8 local_1e8; undefined8 *puStack_1e0; undefined8 *local_1d8; undefined8 local_1d0; undefined1 local_1c8; undefined7 uStack_1c7; undefined **local_1c0; uint local_1b8; uint uStack_1b4; ulonglong local_1b0; undefined4 uStack_1a8; undefined4 uStack_1a4; undefined4 local_1a0; undefined1 local_198; undefined7 uStack_197; undefined8 local_188; ulonglong local_180; undefined1 local_178; undefined7 uStack_177; undefined8 local_168; ulonglong local_160; undefined1 local_158; undefined7 uStack_157; undefined8 local_148; ulonglong local_140; undefined1 local_138; undefined7 uStack_137; undefined8 local_128; ulonglong local_120; undefined **local_118; uint local_110; undefined4 local_10c; undefined1 local_108 [32]; undefined1 local_e8 [32]; undefined1 local_c8 [32]; undefined1 local_a8 [32]; undefined1 local_88 [32]; undefined8 *local_68; undefined8 *local_60; ulonglong local_48; local_1d0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_248; puVar18 = (undefined8 *)0x0; if (param_4 != (longlong *)0x0) { *param_4 = 0; } lVar9 = *(longlong *)(param_1 + 0xb8) - *(longlong *)(param_1 + 0xb0); lVar15 = lVar9 >> 0x3f; if (lVar9 / 0x28 + lVar15 != lVar15) { local_1f8 = param_3; local_1f0 = param_4; if (param_5 == 1) { local_1e8 = 0; puStack_1e0 = (undefined8 *)0x0; local_1d8 = (undefined8 *)0x0; lVar15 = *(longlong *)(param_2 + 0xb0); lVar9 = *(longlong *)(param_2 + 0xb8); puVar14 = (undefined8 *)0x0; puVar10 = puVar18; while (lVar15 != lVar9) { if (*(uint *)(lVar15 + 8) < 0xb) { if (puVar10 == puVar14) { FUN_180623db0(&local_1e8,puVar14,lVar15); puVar10 = local_1d8; puVar14 = puStack_1e0; goto LAB_18063784f; } *puVar14 = pace::MachineBinding::vftable; *(undefined4 *)(puVar14 + 1) = *(undefined4 *)(lVar15 + 8); *(undefined4 *)((longlong)puVar14 + 0xc) = *(undefined4 *)(lVar15 + 0xc); uVar2 = *(undefined4 *)(lVar15 + 0x14); uVar3 = *(undefined4 *)(lVar15 + 0x18); uVar4 = *(undefined4 *)(lVar15 + 0x1c); *(undefined4 *)(puVar14 + 2) = *(undefined4 *)(lVar15 + 0x10); *(undefined4 *)((longlong)puVar14 + 0x14) = uVar2; *(undefined4 *)(puVar14 + 3) = uVar3; *(undefined4 *)((longlong)puVar14 + 0x1c) = uVar4; *(undefined4 *)(puVar14 + 4) = *(undefined4 *)(lVar15 + 0x20); puVar14 = puVar14 + 5; lVar15 = lVar15 + 0x28; puStack_1e0 = puVar14; } else { LAB_18063784f: lVar15 = lVar15 + 0x28; } } local_1b8 = 0; uStack_1b4 = 0; local_1b0 = 0xf; local_1c8 = 0; FUN_1805a6cb0(&local_1c8,&DAT_181baf991,0); local_128 = 0; local_120 = 0xf; local_138 = 0; FUN_1805a6cb0(&local_138,&DAT_181baf991,0); local_148 = 0; local_140 = 0xf; local_158 = 0; FUN_1805a6cb0(&local_158,&DAT_181baf991,0); local_168 = 0; local_160 = 0xf; local_178 = 0; FUN_1805a6cb0(&local_178,&DAT_181baf991,0); local_188 = 0; local_180 = 0xf; local_198 = 0; FUN_1805a6cb0(&local_198,&DAT_181baf991,0); local_210 = (longlong *)&local_1c8; local_218 = &local_138; local_220 = &local_158; local_228 = &local_178; FUN_180629230(&local_118,&local_1e8,*(undefined4 *)(param_2 + 8),&local_198); if (0xf < local_180) { pvVar5 = (void *)CONCAT71(uStack_197,local_198); pvVar11 = pvVar5; if ((0xfff < local_180 + 1) && (pvVar11 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } if (0xf < local_160) { pvVar5 = (void *)CONCAT71(uStack_177,local_178); pvVar11 = pvVar5; if ((0xfff < local_160 + 1) && (pvVar11 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } if (0xf < local_140) { pvVar5 = (void *)CONCAT71(uStack_157,local_158); pvVar11 = pvVar5; if ((0xfff < local_140 + 1) && (pvVar11 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } if (0xf < local_120) { pvVar5 = (void *)CONCAT71(uStack_137,local_138); pvVar11 = pvVar5; if ((0xfff < local_120 + 1) && (pvVar11 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } if (0xf < local_1b0) { pvVar5 = (void *)CONCAT71(uStack_1c7,local_1c8); pvVar11 = pvVar5; if ((0xfff < local_1b0 + 1) && (pvVar11 = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)pvVar11)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar11); } lVar15 = *(longlong *)(param_1 + 0xb0); if (lVar15 != *(longlong *)(param_1 + 0xb8)) { local_1f0 = (longlong *)&local_1c8; puVar10 = local_60; puVar14 = local_68; do { uVar8 = *(uint *)(lVar15 + 8); uVar13 = *(uint *)(lVar15 + 0xc); local_1c0 = pace::MachineBinding::vftable; local_1b0 = *(ulonglong *)(lVar15 + 0x10); uStack_1a8 = *(undefined4 *)(lVar15 + 0x18); uStack_1a4 = *(undefined4 *)(lVar15 + 0x1c); local_1a0 = *(undefined4 *)(lVar15 + 0x20); local_1b8 = uVar8; uStack_1b4 = uVar13; puVar16 = puVar10; puVar17 = puVar14; while ((puVar17 != puVar10 && ((((*(uint *)(puVar17 + 1) < uVar8 || (*(uint *)(puVar17 + 1) != uVar8)) || (*(uint *)((longlong)puVar17 + 0xc) < uVar13)) || ((*(uint *)((longlong)puVar17 + 0xc) != uVar13 || (iVar7 = FUN_1805cdee0(puVar17 + 2,&local_1b0,0x14), puVar16 = local_60, puVar14 = local_68, uVar8 = local_1b8, uVar13 = uStack_1b4, iVar7 != 0))))))) { puVar17 = puVar17 + 5; puVar16 = local_60; puVar14 = local_68; } if (puVar17 != puVar16) { puVar18 = (undefined8 *)((longlong)puVar18 + 1); } lVar15 = lVar15 + 0x28; puVar10 = puVar16; } while (lVar15 != *(longlong *)(param_1 + 0xb8)); } FUN_18062b2f0(&local_118); FUN_18062b670(&local_1e8); } else { local_110 = *(uint *)(param_2 + 8); local_207 = local_110 == *(uint *)(param_1 + 8); if ((*(uint *)(param_1 + 8) < 2) || (local_208 = '\x01', local_110 < 2)) { local_208 = '\0'; } local_118 = pace::MachineId::vftable; local_10c = *(undefined4 *)(param_2 + 0xc); FUN_1805a4070(local_108,param_2 + 0x10); FUN_1805a4070(local_e8,param_2 + 0x30); FUN_1805a4070(local_c8,param_2 + 0x50); FUN_1805a4070(local_a8,param_2 + 0x70); FUN_1805a4070(local_88,param_2 + 0x90); FUN_180624fd0(&local_68,param_2 + 0xb0); lVar15 = *(longlong *)(param_1 + 0xb0); if (lVar15 != *(longlong *)(param_1 + 0xb8)) { do { uVar8 = *(uint *)(lVar15 + 8); FUN_18062d9f0(&local_118,&local_200,lVar15,0); puVar14 = local_60; puVar10 = local_200; if ((local_200 == local_60) || (cVar6 = FUN_180637df0(lVar15,local_200), cVar6 == '\0')) { if (((local_208 != '\0') && (4 < uVar8)) && ((uVar8 < 7 || (uVar8 - 8 < 2)))) goto LAB_180637d4e; if (local_207 == '\0') { iVar7 = *(int *)(param_1 + 8); if (iVar7 == 1) { bVar19 = uVar8 < 10; bVar20 = uVar8 == 10; LAB_180637d4c: if (!bVar19 && !bVar20) goto LAB_180637d4e; } else if (iVar7 == 2) { if (10 < uVar8) { bVar19 = uVar8 - 0x15 < 3; bVar20 = uVar8 - 0x15 == 3; goto LAB_180637d4c; } } else if ((((iVar7 == 3) && (10 < uVar8)) && (3 < uVar8 - 0x15)) && (uVar8 != 0x1f)) goto LAB_180637d4e; } } else { puVar10 = local_68 + (((longlong)puVar10 - (longlong)local_68) / 0x28) * 5; if (puVar10 + 5 != puVar14) { puVar12 = (undefined4 *)((longlong)puVar10 + 0xc); lVar9 = (longlong)(puVar10 + 5) - (longlong)puVar10; do { puVar12[-1] = *(undefined4 *)(lVar9 + -4 + (longlong)puVar12); *puVar12 = *(undefined4 *)(lVar9 + (longlong)puVar12); puVar1 = (undefined4 *)(lVar9 + 4 + (longlong)puVar12); uVar2 = puVar1[1]; uVar3 = puVar1[2]; uVar4 = puVar1[3]; puVar12[1] = *puVar1; puVar12[2] = uVar2; puVar12[3] = uVar3; puVar12[4] = uVar4; puVar12[5] = *(undefined4 *)(lVar9 + 0x14 + (longlong)puVar12); puVar12 = puVar12 + 10; } while ((undefined8 *)(lVar9 + -0xc + (longlong)puVar12) != puVar14); } puVar14 = puVar14 + -5; (**(code **)*puVar14)(puVar14,0); local_60 = puVar14; LAB_180637d4e: puVar18 = (undefined8 *)((longlong)puVar18 + 1); } lVar15 = lVar15 + 0x28; param_4 = local_1f0; } while (lVar15 != *(longlong *)(param_1 + 0xb8)); } FUN_18062b2f0(&local_118); } if (param_4 != (longlong *)0x0) { *param_4 = 100 - (ulonglong)((longlong)puVar18 * 100) / (ulonglong) ((*(longlong *)(param_1 + 0xb8) - *(longlong *)(param_1 + 0xb0)) / 0x28); } } } ############ FUN_ 18063cb60 size=52 ############ void * FUN_18063cb60(void *param_1,ulonglong param_2) { FUN_18063cad0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1806445f0 size=104 ############ undefined8 * FUN_1806445f0(undefined8 *param_1,uint param_2) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::ilok::Ilok2CertChain::vftable; pvVar1 = (void *)param_1[2]; if (pvVar1 == (void *)0x0) { if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } _Memory = pvVar1; if ((0xfff < (ulonglong)(param_1[4] - (longlong)pvVar1)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180644680 size=52 ############ void * FUN_180644680(void *param_1,ulonglong param_2) { FUN_180643220(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1806446c0 size=52 ############ void * FUN_1806446c0(void *param_1,ulonglong param_2) { FUN_180643940(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180645920 size=368 ############ undefined1 FUN_180645920(longlong *param_1,undefined4 param_2,ulonglong param_3,undefined8 *param_4) { longlong lVar1; undefined8 *puVar2; undefined1 uVar3; undefined8 uVar4; void *pvVar5; ulonglong _Size; ulonglong uVar6; void *local_60; longlong lStack_58; longlong local_50; undefined1 local_48 [32]; local_60 = (void *)0x0; lStack_58 = 0; local_50 = 0; lVar1 = param_4[2]; if (lVar1 != 0) { puVar2 = param_4; if (0xf < (ulonglong)param_4[3]) { puVar2 = (undefined8 *)*param_4; param_4 = (undefined8 *)*param_4; } _Size = (longlong)puVar2 + (lVar1 - (longlong)param_4); if (_Size == 0) { memmove((void *)0x0,param_4,0); lStack_58 = 0; } else { if (0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar6 = 0; if (_Size != 0) { uVar6 = _Size; } local_60 = (void *)0x0; lStack_58 = 0; local_50 = 0; if (uVar6 != 0) { if (0x7fffffffffffffff < uVar6) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } local_60 = (void *)FUN_1805bc8b0(&local_60,uVar6,param_3,lVar1,0xfffffffffffffffe); local_50 = uVar6 + (longlong)local_60; } pvVar5 = local_60; memmove(local_60,param_4,_Size); lStack_58 = _Size + (longlong)pvVar5; } } uVar4 = FUN_1805b46a0(local_48,&local_60); uVar3 = (**(code **)(*param_1 + 0x28))(param_1,param_2,param_3 & 0xffffffff,uVar4); if (local_60 != (void *)0x0) { pvVar5 = local_60; if ((0xfff < (ulonglong)(local_50 - (longlong)local_60)) && (pvVar5 = *(void **)((longlong)local_60 + -8), 0x1f < (ulonglong)((longlong)local_60 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } return uVar3; } ############ FUN_ 180652700 size=376 ############ void FUN_180652700(longlong param_1,undefined4 param_2,undefined8 *param_3,undefined1 *param_4, undefined1 *param_5) { uint uVar1; uint uVar2; uint uVar3; uint uVar4; tm *ptVar5; undefined8 uVar6; void *_Memory; __time64_t local_a8; undefined1 local_a0 [8]; void *local_98; undefined8 uStack_90; longlong local_88; undefined4 local_80; undefined4 local_7c; undefined4 local_78; int local_74; undefined8 local_60; undefined8 local_58; undefined8 uStack_50; undefined8 local_48; undefined8 uStack_40; local_60 = 0xfffffffffffffffe; uVar1 = FUN_18061f8c0(param_3 + 1); if (uVar1 != 0) { uVar2 = FUN_18061f8c0((longlong)param_3 + 0xc); if (param_5 == (undefined1 *)0x0) { _time64(&local_a8); ptVar5 = _gmtime64(&local_a8); if (ptVar5 == (tm *)0x0) { uVar6 = FUN_1805b6c80(&local_98,"could not convert calendar time to UTC time"); /* WARNING: Subroutine does not return */ FUN_1805b3e60(uVar6); } FUN_1805bd670(local_a0); param_5 = local_a0; } uVar3 = FUN_18065fec0(param_5); uVar4 = (uVar2 & 0xffffff00) - uVar3; if ((uVar2 & 0xffffff00) <= uVar3) { uVar4 = 0; } if (uVar4 < uVar1) { local_7c = 0x90; local_78 = 0x80000000; local_74 = uVar1 - uVar4; local_98 = (void *)0x0; uStack_90 = 0; local_88 = 0; local_80 = param_2; (**(code **)(**(longlong **)(param_1 + 8) + 0xf0)) (*(longlong **)(param_1 + 8),&local_80,&local_98,&local_58); if (local_98 != (void *)0x0) { _Memory = local_98; if ((0xfff < (ulonglong)(local_88 - (longlong)local_98)) && (_Memory = *(void **)((longlong)local_98 + -8), 0x1f < (ulonglong)((longlong)local_98 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_3 = local_58; param_3[1] = uStack_50; param_3[2] = local_48; param_3[3] = uStack_40; } } if (param_4 != (undefined1 *)0x0) { *param_4 = 1; } return; } ############ FUN_ 180652a50 size=445 ############ void FUN_180652a50(longlong param_1,undefined4 param_2,char *param_3,undefined8 param_4, void **param_5) { void *pvVar1; void *pvVar2; ulonglong _Size; ulonglong uVar3; undefined1 local_res10 [8]; void **local_88; undefined1 *puStack_80; void *local_78; longlong lStack_70; longlong local_68; undefined4 local_60; char local_5c; undefined1 local_5b; undefined2 local_5a; undefined4 local_58; undefined4 local_54; undefined4 uStack_50; undefined4 uStack_4c; undefined4 uStack_48; undefined8 local_40; undefined8 uStack_38; undefined8 local_30; undefined8 uStack_28; local_78 = (void *)0x0; lStack_70 = 0; local_68 = 0; local_5c = *param_3; local_5b = 0; local_5a = 0; local_58 = *(undefined4 *)(param_3 + 4); local_60 = param_2; if ((local_5c == -0x7e) || (local_5c == -0x7c)) { local_54 = *(undefined4 *)(param_3 + 8); uStack_50 = *(undefined4 *)(param_3 + 0xc); uStack_4c = *(undefined4 *)(param_3 + 0x10); uStack_48 = *(undefined4 *)(param_3 + 0x14); } else if (local_5c == -0x78) { local_54 = *(undefined4 *)(param_3 + 8); uStack_50 = *(undefined4 *)(param_3 + 0xc); uStack_4c = *(undefined4 *)(param_3 + 0x10); uStack_48 = *(undefined4 *)(param_3 + 0x14); if (param_5 != (void **)0x0) { if (&local_78 != param_5) { pvVar2 = *param_5; _Size = (longlong)param_5[1] - (longlong)pvVar2; if (_Size == 0) { memmove((void *)0x0,pvVar2,0); lStack_70 = 0; } else { if (0x7fffffffffffffff < _Size) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(&local_78,0x88,0,param_4,0xfffffffffffffffe); } uVar3 = 0; if (_Size != 0) { uVar3 = _Size; } FUN_1805bbbc0(&local_78,uVar3); pvVar1 = local_78; memmove(local_78,pvVar2,_Size); lStack_70 = _Size + (longlong)pvVar1; } } local_res10[0] = 0; local_88 = &local_78; puStack_80 = local_res10; FUN_1805e1ee0(&local_78,0x10,&local_88); } } else if (local_5c == -0x70) { local_54 = (undefined4)param_4; } (**(code **)(**(longlong **)(param_1 + 8) + 0xf0)) (*(longlong **)(param_1 + 8),&local_60,&local_78,&local_40); *(undefined8 *)param_3 = local_40; *(undefined8 *)(param_3 + 8) = uStack_38; *(undefined8 *)(param_3 + 0x10) = local_30; *(undefined8 *)(param_3 + 0x18) = uStack_28; if (local_78 == (void *)0x0) { return; } pvVar2 = local_78; if ((0xfff < (ulonglong)(local_68 - (longlong)local_78)) && (pvVar2 = *(void **)((longlong)local_78 + -8), 0x1f < (ulonglong)((longlong)local_78 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18065a970 size=280 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18065a970(undefined8 *param_1,undefined8 param_2) { void *pvVar1; undefined *puVar2; void *_Memory; longlong lVar3; longlong lVar4; undefined1 auStack_68 [32]; undefined8 local_48; undefined8 *local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_48 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; lVar3 = -1; lVar4 = -1; do { lVar4 = lVar4 + 1; } while (PTR_DAT_18260a828[lVar4] != '\0'); local_40 = param_1; FUN_1805a6cb0(&local_38); FUN_1806598c0(param_1,&local_38,param_2); if (local_20 < 0x10) { *param_1 = boost::date_time:: time_input_facet_>_> ::vftable; puVar2 = PTR_DAT_18260a830; param_1[0x2e] = 0; param_1[0x2f] = 0xf; *(undefined1 *)(param_1 + 0x2c) = 0; do { lVar3 = lVar3 + 1; } while (puVar2[lVar3] != '\0'); FUN_1805a6cb0(param_1 + 0x2c,puVar2,lVar3); } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180655e60 size=1267 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180655e60(undefined8 *param_1,locale *param_2,char param_3) { undefined1 uVar1; undefined4 *puVar2; void *pvVar3; longlong lVar4; _Facet_base *p_Var5; __uint64 _Var6; _Locimp *p_Var7; void *pvVar8; ulonglong uVar9; longlong lVar10; time_put_>_> *ptVar11; uint uVar12; longlong lVar13; undefined1 *puVar14; int iVar15; undefined1 auStack_258 [32]; undefined1 local_238; undefined8 *local_230; undefined1 *local_228; undefined1 *local_220; undefined2 local_218; undefined1 local_216; char local_214 [4]; uint local_210; _Facet_base *local_208; _Facet_base *local_200; locale *local_1f8; undefined1 *local_1f0; undefined1 local_1e8; uint7 uStack_1e7; undefined8 uStack_1e0; undefined *local_1d8; undefined **local_1d0; basic_ostream_> local_1c8 [48]; longlong *local_198; ulonglong *local_190 [2]; undefined1 local_180 [24]; undefined8 local_168; uint local_160; basic_ios_> local_150 [104]; undefined8 local_e8; undefined8 *local_e0; undefined1 local_d8 [24]; undefined1 local_c0 [24]; undefined8 local_a8; undefined8 uStack_a0; undefined8 local_98; ulonglong uStack_90; undefined1 local_88; undefined7 uStack_87; longlong local_78; ulonglong local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; undefined8 local_50; undefined4 local_48; ulonglong local_40; local_e8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_258; local_1f8 = param_2; local_e0 = param_1; iVar15 = 0; local_214[0] = '%'; local_214[1] = 'b'; local_214[2] = 0; local_218 = 0x4225; local_216 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; uVar12 = 1; local_210 = 1; local_78 = 0; local_70 = 0xf; local_88 = 0; lVar10 = -1; lVar13 = -1; do { lVar4 = lVar13 + 1; lVar13 = lVar13 + 1; } while (local_214[lVar4] != '\0'); FUN_1805a6cb0(&local_88,local_214); if (param_3 == '\0') { do { lVar13 = lVar10 + 1; lVar10 = lVar10 + 1; } while (*(char *)((longlong)&local_218 + lVar13) != '\0'); FUN_1805a6cb0(&local_88,&local_218); } puVar14 = &local_88; if (0xf < local_70) { puVar14 = (undefined1 *)CONCAT71(uStack_87,local_88); } local_1f0 = puVar14 + local_78; local_68 = 0; local_60 = 0; local_58 = 0; local_50 = 0; local_48 = 0; do { local_58 = CONCAT44(local_58._4_4_,iVar15); local_1d8 = &DAT_181bb3cc0; std::basic_ios_>::basic_ios_>(local_150) ; local_210 = uVar12 | 2; std::basic_ostream_>::basic_ostream_> ((basic_ostream_> *)&local_1d8, (basic_streambuf_> *)&local_1d0,false); *(undefined ***)((longlong)&local_1d8 + (longlong)*(int *)(local_1d8 + 4)) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)((longlong)&uStack_1e0 + (longlong)*(int *)(local_1d8 + 4) + 4) = *(int *)(local_1d8 + 4) + -0x88; std::basic_streambuf_>:: basic_streambuf_> ((basic_streambuf_> *)&local_1d0); local_1d0 = std::basic_stringbuf,std::allocator_>::vftable; local_168 = 0; local_160 = 4; local_1e8 = 0; uStack_1e0 = *(undefined8 *)((longlong)local_190 + (longlong)*(int *)(local_1d8 + 4)); local_a8 = (void *)((ulonglong)uStack_1e7 << 8); uStack_a0 = uStack_1e0; uVar1 = local_180[*(int *)(local_1d8 + 4)]; std::_Lockit::_Lockit((_Lockit *)&local_218,0); local_208 = DAT_18265f640; _Var6 = std::locale::id::operator_unsigned___int64((id *)id_exref); lVar10 = *(longlong *)(local_1f8 + 8); if (_Var6 < *(ulonglong *)(lVar10 + 0x18)) { ptVar11 = *(time_put_>_> **) (*(longlong *)(lVar10 + 0x10) + _Var6 * 8); if (ptVar11 == (time_put_>_> *)0x0) goto LAB_180656093; } else { ptVar11 = (time_put_>_> *)0x0; LAB_180656093: if (*(char *)(lVar10 + 0x24) == '\0') { LAB_1806560ac: if (ptVar11 != (time_put_>_> *)0x0 ) goto LAB_1806560fc; } else { p_Var7 = std::locale::_Getgloballocale(); if (_Var6 < *(ulonglong *)(p_Var7 + 0x18)) { ptVar11 = *(time_put_>_> **) (*(longlong *)(p_Var7 + 0x10) + _Var6 * 8); goto LAB_1806560ac; } } ptVar11 = (time_put_>_> *)local_208; if (local_208 == (_Facet_base *)0x0) { _Var6 = std::time_put_>_>::_Getcat ((facet **)&local_208,local_1f8); p_Var5 = local_208; if (_Var6 == 0xffffffffffffffff) { FUN_1805a49a0(local_d8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_d8,(ThrowInfo *)&DAT_1825fd200); } local_200 = local_208; std::_Facet_Register(local_208); (**(code **)(*(longlong *)p_Var5 + 8))(p_Var5); DAT_18265f640 = local_208; ptVar11 = (time_put_>_> *) local_208; } } LAB_1806560fc: std::_Lockit::~_Lockit((_Lockit *)&local_218); local_220 = local_1f0; local_230 = &local_68; local_238 = uVar1; local_228 = puVar14; std::time_put_>_>::put (ptVar11,local_c0,&local_a8,(longlong)&local_1d8 + (longlong)*(int *)(local_1d8 + 4)); local_98 = 0; uStack_90 = 0xf; local_a8 = (void *)((ulonglong)local_a8 & 0xffffffffffffff00); local_210 = uVar12 | 10; if (((local_160 & 2) == 0) && ((_Facet_base *)*local_190[0] != (_Facet_base *)0x0)) { local_200 = (_Facet_base *)*local_190[0]; LAB_1806561cf: FUN_1805a6cb0(&local_a8); } else if (((local_160 & 4) == 0) && (*local_198 != 0)) goto LAB_1806561cf; uVar12 = uVar12 | 6; local_210 = uVar12; if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1]); uVar9 = uStack_90; } else { puVar2 = (undefined4 *)param_1[1]; *puVar2 = (undefined4)local_a8; puVar2[1] = local_a8._4_4_; puVar2[2] = (undefined4)uStack_a0; puVar2[3] = uStack_a0._4_4_; *(undefined8 *)(puVar2 + 4) = local_98; *(ulonglong *)(puVar2 + 6) = uStack_90; local_a8 = (void *)((ulonglong)local_a8 & 0xffffffffffffff00); param_1[1] = param_1[1] + 0x20; uVar9 = 0xf; } if (0xf < uVar9) { pvVar8 = local_a8; if ((0xfff < uVar9 + 1) && (pvVar8 = *(void **)((longlong)local_a8 + -8), 0x1f < (ulonglong)((longlong)local_a8 + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } *(undefined ***)((longlong)&local_1d8 + (longlong)*(int *)(local_1d8 + 4)) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)((longlong)&uStack_1e0 + (longlong)*(int *)(local_1d8 + 4) + 4) = *(int *)(local_1d8 + 4) + -0x88; local_1d0 = std::basic_stringbuf,std::allocator_>::vftable; FUN_18060cb50(&local_1d0); std::basic_streambuf_>:: ~basic_streambuf_> ((basic_streambuf_> *)&local_1d0); std::basic_ostream_>::~basic_ostream_> (local_1c8); std::basic_ios_>::~basic_ios_> (local_150); iVar15 = iVar15 + 1; if (0xb < iVar15) { if (local_70 < 0x10) { } pvVar3 = (void *)CONCAT71(uStack_87,local_88); pvVar8 = pvVar3; if ((0xfff < local_70 + 1) && (pvVar8 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } } while( true ); } ############ FUN_ 180656380 size=1267 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180656380(undefined8 *param_1,locale *param_2,char param_3) { undefined1 uVar1; undefined4 *puVar2; void *pvVar3; longlong lVar4; _Facet_base *p_Var5; __uint64 _Var6; _Locimp *p_Var7; void *pvVar8; ulonglong uVar9; longlong lVar10; time_put_>_> *ptVar11; uint uVar12; longlong lVar13; undefined1 *puVar14; int iVar15; undefined1 auStack_258 [32]; undefined1 local_238; undefined8 *local_230; undefined1 *local_228; undefined1 *local_220; undefined2 local_218; undefined1 local_216; char local_214 [4]; uint local_210; _Facet_base *local_208; _Facet_base *local_200; locale *local_1f8; undefined1 *local_1f0; undefined1 local_1e8; uint7 uStack_1e7; undefined8 uStack_1e0; undefined *local_1d8; undefined **local_1d0; basic_ostream_> local_1c8 [48]; longlong *local_198; ulonglong *local_190 [2]; undefined1 local_180 [24]; undefined8 local_168; uint local_160; basic_ios_> local_150 [104]; undefined8 local_e8; undefined8 *local_e0; undefined1 local_d8 [24]; undefined1 local_c0 [24]; undefined8 local_a8; undefined8 uStack_a0; undefined8 local_98; ulonglong uStack_90; undefined1 local_88; undefined7 uStack_87; longlong local_78; ulonglong local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; undefined8 local_50; undefined4 local_48; ulonglong local_40; local_e8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_258; local_1f8 = param_2; local_e0 = param_1; iVar15 = 0; local_214[0] = '%'; local_214[1] = 'a'; local_214[2] = 0; local_218 = 0x4125; local_216 = 0; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; uVar12 = 1; local_210 = 1; local_78 = 0; local_70 = 0xf; local_88 = 0; lVar10 = -1; lVar13 = -1; do { lVar4 = lVar13 + 1; lVar13 = lVar13 + 1; } while (local_214[lVar4] != '\0'); FUN_1805a6cb0(&local_88,local_214); if (param_3 == '\0') { do { lVar13 = lVar10 + 1; lVar10 = lVar10 + 1; } while (*(char *)((longlong)&local_218 + lVar13) != '\0'); FUN_1805a6cb0(&local_88,&local_218); } puVar14 = &local_88; if (0xf < local_70) { puVar14 = (undefined1 *)CONCAT71(uStack_87,local_88); } local_1f0 = puVar14 + local_78; local_68 = 0; local_60 = 0; local_58 = 0; local_50 = 0; local_48 = 0; do { local_50 = CONCAT44(local_50._4_4_,iVar15); local_1d8 = &DAT_181bb3cc0; std::basic_ios_>::basic_ios_>(local_150) ; local_210 = uVar12 | 2; std::basic_ostream_>::basic_ostream_> ((basic_ostream_> *)&local_1d8, (basic_streambuf_> *)&local_1d0,false); *(undefined ***)((longlong)&local_1d8 + (longlong)*(int *)(local_1d8 + 4)) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)((longlong)&uStack_1e0 + (longlong)*(int *)(local_1d8 + 4) + 4) = *(int *)(local_1d8 + 4) + -0x88; std::basic_streambuf_>:: basic_streambuf_> ((basic_streambuf_> *)&local_1d0); local_1d0 = std::basic_stringbuf,std::allocator_>::vftable; local_168 = 0; local_160 = 4; local_1e8 = 0; uStack_1e0 = *(undefined8 *)((longlong)local_190 + (longlong)*(int *)(local_1d8 + 4)); local_a8 = (void *)((ulonglong)uStack_1e7 << 8); uStack_a0 = uStack_1e0; uVar1 = local_180[*(int *)(local_1d8 + 4)]; std::_Lockit::_Lockit((_Lockit *)&local_218,0); local_208 = DAT_18265f640; _Var6 = std::locale::id::operator_unsigned___int64((id *)id_exref); lVar10 = *(longlong *)(local_1f8 + 8); if (_Var6 < *(ulonglong *)(lVar10 + 0x18)) { ptVar11 = *(time_put_>_> **) (*(longlong *)(lVar10 + 0x10) + _Var6 * 8); if (ptVar11 == (time_put_>_> *)0x0) goto LAB_1806565b3; } else { ptVar11 = (time_put_>_> *)0x0; LAB_1806565b3: if (*(char *)(lVar10 + 0x24) == '\0') { LAB_1806565cc: if (ptVar11 != (time_put_>_> *)0x0 ) goto LAB_18065661c; } else { p_Var7 = std::locale::_Getgloballocale(); if (_Var6 < *(ulonglong *)(p_Var7 + 0x18)) { ptVar11 = *(time_put_>_> **) (*(longlong *)(p_Var7 + 0x10) + _Var6 * 8); goto LAB_1806565cc; } } ptVar11 = (time_put_>_> *)local_208; if (local_208 == (_Facet_base *)0x0) { _Var6 = std::time_put_>_>::_Getcat ((facet **)&local_208,local_1f8); p_Var5 = local_208; if (_Var6 == 0xffffffffffffffff) { FUN_1805a49a0(local_d8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_d8,(ThrowInfo *)&DAT_1825fd200); } local_200 = local_208; std::_Facet_Register(local_208); (**(code **)(*(longlong *)p_Var5 + 8))(p_Var5); DAT_18265f640 = local_208; ptVar11 = (time_put_>_> *) local_208; } } LAB_18065661c: std::_Lockit::~_Lockit((_Lockit *)&local_218); local_220 = local_1f0; local_230 = &local_68; local_238 = uVar1; local_228 = puVar14; std::time_put_>_>::put (ptVar11,local_c0,&local_a8,(longlong)&local_1d8 + (longlong)*(int *)(local_1d8 + 4)); local_98 = 0; uStack_90 = 0xf; local_a8 = (void *)((ulonglong)local_a8 & 0xffffffffffffff00); local_210 = uVar12 | 10; if (((local_160 & 2) == 0) && ((_Facet_base *)*local_190[0] != (_Facet_base *)0x0)) { local_200 = (_Facet_base *)*local_190[0]; LAB_1806566ef: FUN_1805a6cb0(&local_a8); } else if (((local_160 & 4) == 0) && (*local_198 != 0)) goto LAB_1806566ef; uVar12 = uVar12 | 6; local_210 = uVar12; if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1]); uVar9 = uStack_90; } else { puVar2 = (undefined4 *)param_1[1]; *puVar2 = (undefined4)local_a8; puVar2[1] = local_a8._4_4_; puVar2[2] = (undefined4)uStack_a0; puVar2[3] = uStack_a0._4_4_; *(undefined8 *)(puVar2 + 4) = local_98; *(ulonglong *)(puVar2 + 6) = uStack_90; local_a8 = (void *)((ulonglong)local_a8 & 0xffffffffffffff00); param_1[1] = param_1[1] + 0x20; uVar9 = 0xf; } if (0xf < uVar9) { pvVar8 = local_a8; if ((0xfff < uVar9 + 1) && (pvVar8 = *(void **)((longlong)local_a8 + -8), 0x1f < (ulonglong)((longlong)local_a8 + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } *(undefined ***)((longlong)&local_1d8 + (longlong)*(int *)(local_1d8 + 4)) = std::basic_ostringstream,std::allocator_>::vftable; *(int *)((longlong)&uStack_1e0 + (longlong)*(int *)(local_1d8 + 4) + 4) = *(int *)(local_1d8 + 4) + -0x88; local_1d0 = std::basic_stringbuf,std::allocator_>::vftable; FUN_18060cb50(&local_1d0); std::basic_streambuf_>:: ~basic_streambuf_> ((basic_streambuf_> *)&local_1d0); std::basic_ostream_>::~basic_ostream_> (local_1c8); std::basic_ios_>::~basic_ios_> (local_150); iVar15 = iVar15 + 1; if (6 < iVar15) { if (local_70 < 0x10) { } pvVar3 = (void *)CONCAT71(uStack_87,local_88); pvVar8 = pvVar3; if ((0xfff < local_70 + 1) && (pvVar8 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } } while( true ); } ############ FUN_ 1806593d0 size=1214 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806593d0(undefined8 *param_1) { char *pcVar1; void *pvVar2; longlong lVar3; undefined8 uVar4; void *pvVar5; longlong lVar6; undefined1 auStack_198 [32]; undefined1 *local_178; undefined1 *local_170; undefined1 *local_168; undefined1 *local_160; undefined1 *local_158; undefined1 *local_150; undefined8 local_140; undefined8 *local_138; undefined1 local_130; undefined7 uStack_12f; undefined8 local_120; ulonglong local_118; undefined1 local_110; undefined7 uStack_10f; undefined8 local_100; ulonglong local_f8; undefined1 local_f0; undefined7 uStack_ef; undefined8 local_e0; ulonglong local_d8; undefined1 local_d0; undefined7 uStack_cf; undefined8 local_c0; ulonglong local_b8; undefined1 local_b0; undefined7 uStack_af; undefined8 local_a0; ulonglong local_98; undefined1 local_90; undefined7 uStack_8f; undefined8 local_80; ulonglong local_78; undefined1 local_70; undefined7 uStack_6f; undefined8 local_60; ulonglong local_58; undefined1 local_50; undefined7 uStack_4f; undefined8 local_40; ulonglong local_38; undefined1 local_30; undefined7 uStack_2f; undefined8 local_20; ulonglong local_18; ulonglong local_10; longlong lVar7; local_140 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_198; *param_1 = 0; param_1[1] = 0; local_138 = param_1; uVar4 = FUN_18065d630(); *param_1 = uVar4; *(undefined2 *)(param_1 + 2) = 0xffff; local_20 = 0; local_18 = 0xf; local_30 = 0; lVar7 = -1; do { pcVar1 = &DAT_181bbabe1 + lVar7; lVar7 = lVar7 + 1; } while (*pcVar1 != '\0'); FUN_1805a6cb0(&local_30); local_40 = 0; local_38 = 0xf; local_50 = 0; lVar7 = -1; do { lVar3 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("after"[lVar3] != '\0'); FUN_1805a6cb0(&local_50); local_60 = 0; local_58 = 0xf; local_70 = 0; lVar7 = -1; do { lVar3 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("before"[lVar3] != '\0'); FUN_1805a6cb0(&local_70); local_80 = 0; local_78 = 0xf; local_90 = 0; lVar7 = -1; do { pcVar1 = &DAT_181bbabc5 + lVar7; lVar7 = lVar7 + 1; } while (*pcVar1 != '\0'); FUN_1805a6cb0(&local_90); local_a0 = 0; local_98 = 0xf; local_b0 = 0; lVar7 = -1; do { pcVar1 = &DAT_181bbabbd + lVar7; lVar7 = lVar7 + 1; } while (*pcVar1 != '\0'); FUN_1805a6cb0(&local_b0); local_c0 = 0; local_b8 = 0xf; local_d0 = 0; lVar7 = -1; do { lVar3 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("fourth"[lVar3] != '\0'); FUN_1805a6cb0(&local_d0); local_e0 = 0; local_d8 = 0xf; local_f0 = 0; lVar7 = -1; do { lVar3 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("third"[lVar3] != '\0'); FUN_1805a6cb0(&local_f0); local_100 = 0; local_f8 = 0xf; local_110 = 0; lVar7 = -1; do { lVar3 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("second"[lVar3] != '\0'); FUN_1805a6cb0(&local_110); local_120 = 0; local_118 = 0xf; local_130 = 0; lVar7 = -1; do { lVar6 = lVar7 + 1; lVar3 = lVar7 + 1; lVar7 = lVar6; } while ("first"[lVar3] != '\0'); FUN_1805a6cb0(&local_130,"first",lVar6); local_150 = &local_30; local_158 = &local_50; local_160 = &local_70; local_168 = &local_90; local_170 = &local_b0; local_178 = &local_d0; FUN_18065e5a0(param_1,&local_130,&local_110,&local_f0); if (0xf < local_118) { pvVar2 = (void *)CONCAT71(uStack_12f,local_130); pvVar5 = pvVar2; if ((0xfff < local_118 + 1) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } if (0xf < local_f8) { pvVar2 = (void *)CONCAT71(uStack_10f,local_110); pvVar5 = pvVar2; if ((0xfff < local_f8 + 1) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } if (0xf < local_d8) { pvVar2 = (void *)CONCAT71(uStack_ef,local_f0); pvVar5 = pvVar2; if ((0xfff < local_d8 + 1) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } if (0xf < local_b8) { pvVar2 = (void *)CONCAT71(uStack_cf,local_d0); pvVar5 = pvVar2; if ((0xfff < local_b8 + 1) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } if (0xf < local_98) { pvVar2 = (void *)CONCAT71(uStack_af,local_b0); pvVar5 = pvVar2; if ((0xfff < local_98 + 1) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } if (0xf < local_78) { pvVar2 = (void *)CONCAT71(uStack_8f,local_90); pvVar5 = pvVar2; if ((0xfff < local_78 + 1) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } if (0xf < local_58) { pvVar2 = (void *)CONCAT71(uStack_6f,local_70); pvVar5 = pvVar2; if ((0xfff < local_58 + 1) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } if (0xf < local_38) { pvVar2 = (void *)CONCAT71(uStack_4f,local_50); pvVar5 = pvVar2; if ((0xfff < local_38 + 1) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } if (local_18 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_2f,local_30); pvVar5 = pvVar2; if ((0xfff < local_18 + 1) && (pvVar5 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar5)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar5); } ############ FUN_ 180659da0 size=765 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180659da0(undefined8 *param_1,undefined4 param_2,longlong param_3,longlong param_4, longlong param_5,longlong param_6) { uint *puVar1; undefined8 *puVar2; void *pvVar3; void *pvVar4; ulonglong uVar5; longlong lVar6; longlong lVar7; undefined1 auStack_98 [32]; undefined8 local_78; undefined8 *local_70; uint local_68; uint uStack_64; uint uStack_60; uint uStack_5c; undefined8 local_58; ulonglong uStack_50; ulonglong local_48; local_78 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_98; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; *(undefined4 *)(param_1 + 3) = param_2; local_58 = 0; uStack_50 = 0xf; local_68 = local_68 & 0xffffff00; lVar6 = -1; lVar7 = -1; do { lVar7 = lVar7 + 1; } while (*(char *)(param_3 + lVar7) != '\0'); local_70 = param_1; FUN_1805a6cb0(&local_68,param_3); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_68); uVar5 = uStack_50; } else { puVar1 = (uint *)param_1[1]; *puVar1 = local_68; puVar1[1] = uStack_64; puVar1[2] = uStack_60; puVar1[3] = uStack_5c; *(undefined8 *)(puVar1 + 4) = local_58; *(ulonglong *)(puVar1 + 6) = uStack_50; local_68 = local_68 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_64,local_68); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_58 = 0; uStack_50 = 0xf; local_68 = local_68 & 0xffffff00; lVar7 = -1; do { lVar7 = lVar7 + 1; } while (*(char *)(param_4 + lVar7) != '\0'); FUN_1805a6cb0(&local_68,param_4); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_68); uVar5 = uStack_50; } else { puVar1 = (uint *)param_1[1]; *puVar1 = local_68; puVar1[1] = uStack_64; puVar1[2] = uStack_60; puVar1[3] = uStack_5c; *(undefined8 *)(puVar1 + 4) = local_58; *(ulonglong *)(puVar1 + 6) = uStack_50; local_68 = local_68 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_64,local_68); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_58 = 0; uStack_50 = 0xf; local_68 = local_68 & 0xffffff00; lVar7 = -1; do { lVar7 = lVar7 + 1; } while (*(char *)(param_5 + lVar7) != '\0'); FUN_1805a6cb0(&local_68,param_5); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_68); uVar5 = uStack_50; } else { puVar1 = (uint *)param_1[1]; *puVar1 = local_68; puVar1[1] = uStack_64; puVar1[2] = uStack_60; puVar1[3] = uStack_5c; *(undefined8 *)(puVar1 + 4) = local_58; *(ulonglong *)(puVar1 + 6) = uStack_50; local_68 = local_68 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_64,local_68); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_58 = 0; uStack_50 = 0xf; local_68 = local_68 & 0xffffff00; do { lVar6 = lVar6 + 1; } while (*(char *)(param_6 + lVar6) != '\0'); FUN_1805a6cb0(&local_68,param_6,lVar6); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_68); uVar5 = uStack_50; } else { puVar2 = (undefined8 *)param_1[1]; *puVar2 = CONCAT44(uStack_64,local_68); puVar2[1] = CONCAT44(uStack_5c,uStack_60); puVar2[2] = local_58; puVar2[3] = uStack_50; local_68 = local_68 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (uVar5 < 0x10) { } pvVar3 = (void *)CONCAT44(uStack_64,local_68); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } ############ FUN_ 18065a0c0 size=697 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18065a0c0(undefined8 *param_1) { void *pvVar1; longlong lVar2; undefined8 uVar3; void *pvVar4; longlong lVar5; undefined1 auStack_f8 [32]; undefined1 *local_d8; undefined1 *local_d0; undefined8 local_c0; undefined8 *local_b8; undefined1 local_b0; undefined7 uStack_af; undefined8 local_a0; ulonglong local_98; undefined1 local_90; undefined7 uStack_8f; undefined8 local_80; ulonglong local_78; undefined1 local_70; undefined7 uStack_6f; undefined8 local_60; ulonglong local_58; undefined1 local_50; undefined7 uStack_4f; undefined8 local_40; ulonglong local_38; undefined1 local_30; undefined7 uStack_2f; undefined8 local_20; ulonglong local_18; ulonglong local_10; longlong lVar6; local_c0 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_f8; *param_1 = 0; param_1[1] = 0; local_b8 = param_1; uVar3 = FUN_18065d630(); *param_1 = uVar3; *(undefined2 *)(param_1 + 2) = 0xffff; local_20 = 0; local_18 = 0xf; local_30 = 0; lVar6 = -1; do { lVar2 = lVar6 + 1; lVar6 = lVar6 + 1; } while ("maximum-date-time"[lVar2] != '\0'); FUN_1805a6cb0(&local_30); local_40 = 0; local_38 = 0xf; local_50 = 0; lVar6 = -1; do { lVar2 = lVar6 + 1; lVar6 = lVar6 + 1; } while ("minimum-date-time"[lVar2] != '\0'); FUN_1805a6cb0(&local_50); local_60 = 0; local_58 = 0xf; local_70 = 0; lVar6 = -1; do { lVar2 = lVar6 + 1; lVar6 = lVar6 + 1; } while ("+infinity"[lVar2] != '\0'); FUN_1805a6cb0(&local_70); local_80 = 0; local_78 = 0xf; local_90 = 0; lVar6 = -1; do { lVar2 = lVar6 + 1; lVar6 = lVar6 + 1; } while ("-infinity"[lVar2] != '\0'); FUN_1805a6cb0(&local_90); local_a0 = 0; local_98 = 0xf; local_b0 = 0; lVar6 = -1; do { lVar5 = lVar6 + 1; lVar2 = lVar6 + 1; lVar6 = lVar5; } while ("not-a-date-time"[lVar2] != '\0'); FUN_1805a6cb0(&local_b0,"not-a-date-time",lVar5); local_d0 = &local_30; local_d8 = &local_50; FUN_18066ac30(param_1,&local_b0,&local_90,&local_70); if (0xf < local_98) { pvVar1 = (void *)CONCAT71(uStack_af,local_b0); pvVar4 = pvVar1; if ((0xfff < local_98 + 1) && (pvVar4 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } if (0xf < local_78) { pvVar1 = (void *)CONCAT71(uStack_8f,local_90); pvVar4 = pvVar1; if ((0xfff < local_78 + 1) && (pvVar4 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } if (0xf < local_58) { pvVar1 = (void *)CONCAT71(uStack_6f,local_70); pvVar4 = pvVar1; if ((0xfff < local_58 + 1) && (pvVar4 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } if (0xf < local_38) { pvVar1 = (void *)CONCAT71(uStack_4f,local_50); pvVar4 = pvVar1; if ((0xfff < local_38 + 1) && (pvVar4 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } if (local_18 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_2f,local_30); pvVar4 = pvVar1; if ((0xfff < local_18 + 1) && (pvVar4 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } ############ FUN_ 18065a3f0 size=403 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18065a3f0(undefined8 *param_1,longlong *param_2,int param_3) { void *pvVar1; undefined8 uVar2; undefined8 *puVar3; undefined8 *puVar4; void *_Memory; ulonglong uVar5; undefined1 auStack_108 [32]; undefined1 local_e8; undefined1 local_e0 [8]; _Locimp *local_d8; longlong local_c8; undefined8 uStack_c0; undefined8 local_b8; undefined8 uStack_b0; undefined8 local_a8; undefined8 *local_a0; longlong *local_98; undefined8 local_88; undefined4 uStack_80; undefined4 uStack_7c; undefined4 local_78; undefined4 uStack_74; undefined4 uStack_70; undefined4 uStack_6c; undefined1 local_68; undefined7 uStack_67; undefined8 local_58; ulonglong local_50; ulonglong local_48; local_a8 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_108; *param_1 = 0; param_1[1] = 0; local_a0 = param_1; local_98 = param_2; uVar2 = FUN_18065d630(); *param_1 = uVar2; uVar5 = 0; if (param_2[1] - *param_2 >> 5 != 0) { uStack_c0 = local_e0; uStack_b0 = local_e0; do { local_d8 = std::locale::_Init(true); puVar3 = (undefined8 *)(uVar5 * 0x20 + *param_2); puVar4 = puVar3; if (0xf < (ulonglong)puVar3[3]) { puVar4 = (undefined8 *)*puVar3; } local_c8 = (longlong)puVar4 + puVar3[2]; if (0xf < (ulonglong)puVar3[3]) { puVar3 = (undefined8 *)*puVar3; } local_58 = 0; local_50 = 0xf; local_68 = 0; uStack_80 = (undefined4)uStack_c0; uStack_7c = uStack_c0._4_4_; local_b8._0_4_ = SUB84(puVar3,0); local_b8._4_4_ = (undefined4)((ulonglong)puVar3 >> 0x20); local_78 = (undefined4)local_b8; uStack_74 = local_b8._4_4_; uStack_70 = (undefined4)uStack_b0; uStack_6c = uStack_b0._4_4_; local_b8 = puVar3; local_88 = local_c8; FUN_18060d160(&local_68,&local_78,&local_88,local_e8); if (local_d8 != (_Locimp *)0x0) { puVar4 = (undefined8 *)(**(code **)(*(longlong *)local_d8 + 0x10))(); if (puVar4 != (undefined8 *)0x0) { (**(code **)*puVar4)(puVar4,1); } } FUN_180662810(param_1,&local_68,(int)uVar5 + param_3); uVar5 = (ulonglong)(ushort)((short)uVar5 + 1); if (0xf < local_50) { pvVar1 = (void *)CONCAT71(uStack_67,local_68); _Memory = pvVar1; if ((0xfff < local_50 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } while (uVar5 != param_2[1] - *param_2 >> 5); } FUN_1805bc040(param_2); } ############ FUN_ 18065e5a0 size=621 ############ void FUN_18065e5a0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6,undefined8 param_7,undefined8 param_8, undefined8 param_9,undefined8 param_10) { longlong lVar1; undefined8 uVar2; undefined8 *puVar3; longlong lVar4; undefined8 local_60; longlong lStack_58; longlong local_50; void *local_48 [3]; undefined1 local_30 [24]; local_60 = 0; lStack_58 = 0; local_50 = 0; FUN_18060d220(&local_60,0,param_2,param_4,0xfffffffffffffffe); lVar4 = local_50; lVar1 = lStack_58; if (local_50 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_3); lVar4 = local_50; } else { FUN_1805a4070(lStack_58,param_3); lStack_58 = lVar1 + 0x20; } lVar1 = lStack_58; if (lVar4 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_4); lVar4 = local_50; } else { FUN_1805a4070(lStack_58,param_4); lStack_58 = lVar1 + 0x20; } lVar1 = lStack_58; if (lVar4 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_5); lVar4 = local_50; } else { FUN_1805a4070(lStack_58,param_5); lStack_58 = lVar1 + 0x20; } lVar1 = lStack_58; if (lVar4 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_6); lVar4 = local_50; } else { FUN_1805a4070(lStack_58,param_6); lStack_58 = lVar1 + 0x20; } lVar1 = lStack_58; if (lVar4 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_7); lVar4 = local_50; } else { FUN_1805a4070(lStack_58,param_7); lStack_58 = lVar1 + 0x20; } lVar1 = lStack_58; if (lVar4 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_8); lVar4 = local_50; } else { FUN_1805a4070(lStack_58,param_8); lStack_58 = lVar1 + 0x20; } lVar1 = lStack_58; if (lVar4 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_9); lVar4 = local_50; } else { FUN_1805a4070(lStack_58,param_9); lStack_58 = lVar1 + 0x20; } lVar1 = lStack_58; if (lVar4 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_10); } else { FUN_1805a4070(lStack_58,param_10); lStack_58 = lVar1 + 0x20; } uVar2 = FUN_18060c3d0(local_30,&local_60); puVar3 = (undefined8 *)FUN_18065a3f0(local_48,uVar2,0); if (param_1 != puVar3) { FUN_18065dcc0(param_1); uVar2 = *param_1; *param_1 = *puVar3; *puVar3 = uVar2; uVar2 = param_1[1]; param_1[1] = puVar3[1]; puVar3[1] = uVar2; } *(undefined2 *)(param_1 + 2) = *(undefined2 *)(puVar3 + 2); FUN_18065dcc0(local_48); /* WARNING: Subroutine does not return */ free(local_48[0]); } ############ FUN_ 180662810 size=771 ############ void FUN_180662810(undefined8 param_1,undefined8 *param_2,undefined2 param_3) { undefined8 uVar1; ulonglong uVar2; void *pvVar3; undefined8 *puVar4; ulonglong *puVar5; ulonglong uVar6; ulonglong uVar7; undefined1 local_res10; uint local_res20; void *local_170; undefined8 local_168; undefined2 local_160; void *local_158; undefined8 local_150; undefined2 local_148; undefined1 local_140 [8]; void *local_138; undefined8 local_130; undefined2 local_128; undefined1 local_120 [8]; void *local_118; undefined8 local_110; undefined2 local_108; undefined8 local_100; undefined8 local_f8; undefined2 local_f0; undefined8 local_e8; undefined8 local_e0; undefined2 local_d8; undefined1 local_d0 [8]; void *local_c8 [3]; undefined8 local_b0; undefined1 local_a8 [8]; undefined1 local_a0 [24]; undefined1 local_88 [16]; undefined1 local_78 [16]; undefined1 local_68 [16]; undefined1 local_58 [24]; local_b0 = 0xfffffffffffffffe; uVar6 = 0; local_res20 = 0; uVar2 = param_2[2]; if (uVar2 != 0) { local_res10 = SUB81(param_2,0); uVar7 = uVar6; do { if ((int)uVar6 == 0) { if (uVar2 == 1) { local_170 = (void *)0x0; local_168 = 0; local_170 = (void *)FUN_18065d630(&local_170); if (0xf < (ulonglong)param_2[3]) { param_2 = (undefined8 *)*param_2; } local_140[0] = *(undefined1 *)param_2; local_138 = (void *)0x0; local_130 = 0; local_160 = param_3; pvVar3 = (void *)FUN_18065d630(&local_138); uVar1 = local_130; local_138 = local_170; local_130 = local_168; local_168 = uVar1; local_128 = local_160; local_170 = pvVar3; FUN_180653ce0(param_1,local_88,0,local_140,local_res10); FUN_18065dcc0(&local_138); /* WARNING: Subroutine does not return */ free(local_138); } local_158 = (void *)0x0; local_150 = 0; local_158 = (void *)FUN_18065d630(&local_158); local_148 = 0xffff; if (0xf < (ulonglong)param_2[3]) { param_2 = (undefined8 *)*param_2; } local_120[0] = *(undefined1 *)param_2; local_118 = (void *)0x0; local_110 = 0; pvVar3 = (void *)FUN_18065d630(&local_118); uVar1 = local_110; local_118 = local_158; local_110 = local_150; local_150 = uVar1; local_108 = local_148; local_158 = pvVar3; FUN_180653ce0(param_1,local_78,0,local_120,local_res10); FUN_18065dcc0(&local_118); /* WARNING: Subroutine does not return */ free(local_118); } if (uVar6 == uVar2 - 1) { local_100 = 0; local_f8 = 0; local_100 = FUN_18065d630(&local_100); if (0xf < (ulonglong)param_2[3]) { param_2 = (undefined8 *)*param_2; } local_d0[0] = *(undefined1 *)(uVar6 + (longlong)param_2); local_f0 = param_3; FUN_18065a3a0(local_c8,&local_100); FUN_180653ce0(uVar7 + 0x28,local_68,0,local_d0,local_res10); FUN_18065dcc0(local_c8); /* WARNING: Subroutine does not return */ free(local_c8[0]); } local_e8 = 0; local_e0 = 0; local_e8 = FUN_18065d630(&local_e8); local_d8 = 0xffff; puVar4 = param_2; if (0xf < (ulonglong)param_2[3]) { puVar4 = (undefined8 *)*param_2; } local_a8[0] = *(undefined1 *)(uVar6 + (longlong)puVar4); FUN_18065a3a0(local_a0,&local_e8); puVar5 = (ulonglong *)FUN_180653ce0(uVar7 + 0x28,local_58,0,local_a8,local_res10); uVar7 = *puVar5; FUN_18065b260(local_a0); FUN_18065b260(&local_e8); local_res20 = local_res20 + 1; uVar6 = (ulonglong)local_res20; uVar2 = param_2[2]; } while (uVar6 < uVar2); } return; } ############ FUN_ 18066ac30 size=397 ############ void FUN_18066ac30(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,undefined8 param_6) { longlong lVar1; undefined8 uVar2; undefined8 *puVar3; longlong lVar4; undefined8 local_60; longlong lStack_58; longlong local_50; void *local_48 [3]; undefined1 local_30 [24]; local_60 = 0; lStack_58 = 0; local_50 = 0; FUN_18060d220(&local_60,0,param_2,param_4,0xfffffffffffffffe); lVar4 = local_50; lVar1 = lStack_58; if (local_50 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_3); lVar4 = local_50; } else { FUN_1805a4070(lStack_58,param_3); lStack_58 = lVar1 + 0x20; } lVar1 = lStack_58; if (lVar4 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_4); lVar4 = local_50; } else { FUN_1805a4070(lStack_58,param_4); lStack_58 = lVar1 + 0x20; } lVar1 = lStack_58; if (lVar4 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_5); lVar4 = local_50; } else { FUN_1805a4070(lStack_58,param_5); lStack_58 = lVar1 + 0x20; } lVar1 = lStack_58; if (lVar4 == lStack_58) { FUN_18060d220(&local_60,lStack_58,param_6); } else { FUN_1805a4070(lStack_58,param_6); lStack_58 = lVar1 + 0x20; } uVar2 = FUN_18060c3d0(local_30,&local_60); puVar3 = (undefined8 *)FUN_18065a3f0(local_48,uVar2,0); if (param_1 != puVar3) { FUN_18065dcc0(param_1); uVar2 = *param_1; *param_1 = *puVar3; *puVar3 = uVar2; uVar2 = param_1[1]; param_1[1] = puVar3[1]; puVar3[1] = uVar2; } *(undefined2 *)(param_1 + 2) = *(undefined2 *)(puVar3 + 2); FUN_18065dcc0(local_48); /* WARNING: Subroutine does not return */ free(local_48[0]); } ############ FUN_ 18065a640 size=771 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18065a640(undefined8 *param_1,undefined8 param_2) { void *pvVar1; undefined8 uVar2; undefined8 *puVar3; void *pvVar4; ulonglong uVar5; char *pcVar6; longlong lVar7; longlong lVar8; undefined1 auStack_178 [32]; undefined8 local_158; undefined8 local_150; undefined8 local_148; uint *puStack_140; uint *local_138; undefined8 *local_130; undefined4 local_128 [2]; undefined1 local_120 [16]; undefined8 local_110; undefined8 local_108; undefined1 local_100 [16]; undefined8 local_f0; undefined8 local_e8; undefined1 local_e0 [16]; undefined8 local_d0; undefined8 local_c8; undefined1 local_c0 [16]; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; undefined8 *local_98; undefined1 *local_90; undefined8 *local_88; undefined1 local_80 [24]; uint local_68; uint uStack_64; uint uStack_60; uint uStack_5c; undefined8 local_58; ulonglong uStack_50; ulonglong local_48; local_a0 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_178; local_90 = local_80; local_88 = &local_148; local_130 = (undefined8 *)local_128; local_98 = param_1; uVar2 = FUN_180658d50(local_80); local_148 = 0; puStack_140 = (uint *)0x0; local_138 = (uint *)0x0; pcVar6 = "not-a-date-time"; lVar7 = -1; while( true ) { local_58 = 0; uStack_50 = 0xf; local_68 = local_68 & 0xffffff00; lVar8 = lVar7; do { lVar8 = lVar8 + 1; } while (pcVar6[lVar8] != '\0'); FUN_1805a6cb0(&local_68,pcVar6); if (local_138 == puStack_140) { FUN_1805cfbf0(&local_148,puStack_140,&local_68); uVar5 = uStack_50; } else { *puStack_140 = local_68; puStack_140[1] = uStack_64; puStack_140[2] = uStack_60; puStack_140[3] = uStack_5c; *(undefined8 *)(puStack_140 + 4) = local_58; *(ulonglong *)(puStack_140 + 6) = uStack_50; local_68 = local_68 & 0xffffff00; puStack_140 = puStack_140 + 8; uVar5 = 0xf; } if (0xf < uVar5) break; pcVar6 = pcVar6 + 0x11; if (pcVar6 == "") { local_128[0] = 1; local_110 = 0; local_108 = 0xf; local_120[0] = 0; lVar8 = lVar7; do { pcVar6 = &DAT_181bbad9d + lVar8; lVar8 = lVar8 + 1; } while (*pcVar6 != '\0'); FUN_1805a6cb0(local_120); local_f0 = 0; local_e8 = 0xf; local_100[0] = 0; lVar8 = lVar7; do { pcVar6 = &DAT_181bbada1 + lVar8; lVar8 = lVar8 + 1; } while (*pcVar6 != '\0'); FUN_1805a6cb0(local_100); local_d0 = 0; local_c8 = 0xf; local_e0[0] = 0; lVar8 = lVar7; do { pcVar6 = &DAT_181bbada5 + lVar8; lVar8 = lVar8 + 1; } while (*pcVar6 != '\0'); FUN_1805a6cb0(local_e0); local_b0 = 0; local_a8 = 0xf; local_c0[0] = 0; lVar8 = lVar7; do { pcVar6 = &DAT_181bbada9 + lVar8; lVar8 = lVar8 + 1; } while (*pcVar6 != '\0'); FUN_1805a6cb0(local_c0); local_158 = uVar2; local_150 = param_2; FUN_180658b50(param_1,PTR_s__Y__b__d__H__M__S_F__z_18260a898,local_128,&local_148); *param_1 = boost::date_time:: time_facet_>_> ::vftable; local_58 = 0; uStack_50 = 0xf; local_68 = local_68 & 0xffffff00; lVar8 = lVar7; do { lVar8 = lVar8 + 1; } while (PTR_DAT_18260a880[lVar8] != '\0'); FUN_1805a6cb0(&local_68); do { lVar7 = lVar7 + 1; } while (PTR_DAT_18260a8a0[lVar7] != '\0'); local_130 = param_1 + 0x31; puVar3 = (undefined8 *)FUN_1805a6a80(&local_68,PTR_DAT_18260a8a0,lVar7); param_1[0x33] = 0; param_1[0x34] = 0; uVar2 = puVar3[1]; param_1[0x31] = *puVar3; param_1[0x32] = uVar2; uVar2 = puVar3[3]; param_1[0x33] = puVar3[2]; param_1[0x34] = uVar2; puVar3[2] = 0; puVar3[3] = 0xf; *(undefined1 *)puVar3 = 0; if (uStack_50 < 0x10) { } pvVar1 = (void *)CONCAT44(uStack_64,local_68); pvVar4 = pvVar1; if ((0xfff < uStack_50 + 1) && (pvVar4 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } } pvVar1 = (void *)CONCAT44(uStack_64,local_68); pvVar4 = pvVar1; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } ############ FUN_ 180658d50 size=1634 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180658d50(undefined8 *param_1) { char *pcVar1; uint *puVar2; void *pvVar3; void *pvVar4; ulonglong uVar5; longlong lVar6; undefined1 auStack_78 [32]; undefined8 local_58; undefined8 *local_50; uint local_48; uint uStack_44; uint uStack_40; uint uStack_3c; undefined8 local_38; ulonglong uStack_30; ulonglong local_28; longlong lVar7; local_58 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; *param_1 = 0; param_1[1] = 0; param_1[2] = 0; local_50 = param_1; FUN_18065dbd0(param_1,9); local_38 = 0; uStack_30 = 0xf; local_48 = local_48 & 0xffffff00; lVar7 = -1; do { lVar6 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("first"[lVar6] != '\0'); FUN_1805a6cb0(&local_48); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_48); uVar5 = uStack_30; } else { puVar2 = (uint *)param_1[1]; *puVar2 = local_48; puVar2[1] = uStack_44; puVar2[2] = uStack_40; puVar2[3] = uStack_3c; *(undefined8 *)(puVar2 + 4) = local_38; *(ulonglong *)(puVar2 + 6) = uStack_30; local_48 = local_48 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_44,local_48); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_38 = 0; uStack_30 = 0xf; local_48 = local_48 & 0xffffff00; lVar7 = -1; do { lVar6 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("second"[lVar6] != '\0'); FUN_1805a6cb0(&local_48); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_48); uVar5 = uStack_30; } else { puVar2 = (uint *)param_1[1]; *puVar2 = local_48; puVar2[1] = uStack_44; puVar2[2] = uStack_40; puVar2[3] = uStack_3c; *(undefined8 *)(puVar2 + 4) = local_38; *(ulonglong *)(puVar2 + 6) = uStack_30; local_48 = local_48 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_44,local_48); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_38 = 0; uStack_30 = 0xf; local_48 = local_48 & 0xffffff00; lVar7 = -1; do { lVar6 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("third"[lVar6] != '\0'); FUN_1805a6cb0(&local_48); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_48); uVar5 = uStack_30; } else { puVar2 = (uint *)param_1[1]; *puVar2 = local_48; puVar2[1] = uStack_44; puVar2[2] = uStack_40; puVar2[3] = uStack_3c; *(undefined8 *)(puVar2 + 4) = local_38; *(ulonglong *)(puVar2 + 6) = uStack_30; local_48 = local_48 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_44,local_48); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_38 = 0; uStack_30 = 0xf; local_48 = local_48 & 0xffffff00; lVar7 = -1; do { lVar6 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("fourth"[lVar6] != '\0'); FUN_1805a6cb0(&local_48); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_48); uVar5 = uStack_30; } else { puVar2 = (uint *)param_1[1]; *puVar2 = local_48; puVar2[1] = uStack_44; puVar2[2] = uStack_40; puVar2[3] = uStack_3c; *(undefined8 *)(puVar2 + 4) = local_38; *(ulonglong *)(puVar2 + 6) = uStack_30; local_48 = local_48 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_44,local_48); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_38 = 0; uStack_30 = 0xf; local_48 = local_48 & 0xffffff00; lVar7 = -1; do { pcVar1 = &DAT_181bbad75 + lVar7; lVar7 = lVar7 + 1; } while (*pcVar1 != '\0'); FUN_1805a6cb0(&local_48); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_48); uVar5 = uStack_30; } else { puVar2 = (uint *)param_1[1]; *puVar2 = local_48; puVar2[1] = uStack_44; puVar2[2] = uStack_40; puVar2[3] = uStack_3c; *(undefined8 *)(puVar2 + 4) = local_38; *(ulonglong *)(puVar2 + 6) = uStack_30; local_48 = local_48 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_44,local_48); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_38 = 0; uStack_30 = 0xf; local_48 = local_48 & 0xffffff00; lVar7 = -1; do { pcVar1 = &DAT_181bbad7d + lVar7; lVar7 = lVar7 + 1; } while (*pcVar1 != '\0'); FUN_1805a6cb0(&local_48); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_48); uVar5 = uStack_30; } else { puVar2 = (uint *)param_1[1]; *puVar2 = local_48; puVar2[1] = uStack_44; puVar2[2] = uStack_40; puVar2[3] = uStack_3c; *(undefined8 *)(puVar2 + 4) = local_38; *(ulonglong *)(puVar2 + 6) = uStack_30; local_48 = local_48 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_44,local_48); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_38 = 0; uStack_30 = 0xf; local_48 = local_48 & 0xffffff00; lVar7 = -1; do { lVar6 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("before"[lVar6] != '\0'); FUN_1805a6cb0(&local_48); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_48); uVar5 = uStack_30; } else { puVar2 = (uint *)param_1[1]; *puVar2 = local_48; puVar2[1] = uStack_44; puVar2[2] = uStack_40; puVar2[3] = uStack_3c; *(undefined8 *)(puVar2 + 4) = local_38; *(ulonglong *)(puVar2 + 6) = uStack_30; local_48 = local_48 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_44,local_48); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_38 = 0; uStack_30 = 0xf; local_48 = local_48 & 0xffffff00; lVar7 = -1; do { lVar6 = lVar7 + 1; lVar7 = lVar7 + 1; } while ("after"[lVar6] != '\0'); FUN_1805a6cb0(&local_48); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_48); uVar5 = uStack_30; } else { puVar2 = (uint *)param_1[1]; *puVar2 = local_48; puVar2[1] = uStack_44; puVar2[2] = uStack_40; puVar2[3] = uStack_3c; *(undefined8 *)(puVar2 + 4) = local_38; *(ulonglong *)(puVar2 + 6) = uStack_30; local_48 = local_48 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { pvVar3 = (void *)CONCAT44(uStack_44,local_48); pvVar4 = pvVar3; if ((0xfff < uVar5 + 1) && (pvVar4 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } local_38 = 0; uStack_30 = 0xf; local_48 = local_48 & 0xffffff00; lVar7 = -1; do { lVar6 = lVar7 + 1; pcVar1 = &DAT_181bbad99 + lVar7; lVar7 = lVar6; } while (*pcVar1 != '\0'); FUN_1805a6cb0(&local_48,&DAT_181bbad98,lVar6); if (param_1[2] == param_1[1]) { FUN_1805cfbf0(param_1,param_1[1],&local_48); uVar5 = uStack_30; } else { puVar2 = (uint *)param_1[1]; *puVar2 = local_48; puVar2[1] = uStack_44; puVar2[2] = uStack_40; puVar2[3] = uStack_3c; *(undefined8 *)(puVar2 + 4) = local_38; *(ulonglong *)(puVar2 + 6) = uStack_30; local_48 = local_48 & 0xffffff00; param_1[1] = param_1[1] + 0x20; uVar5 = 0xf; } if (0xf < uVar5) { FUN_1805a7bf0(&local_48,CONCAT44(uStack_44,local_48),uVar5 + 1); } } ############ FUN_ 18065dbd0 size=194 ############ void FUN_18065dbd0(longlong *param_1,longlong param_2) { longlong lVar1; longlong lVar2; void *pvVar3; longlong lVar4; void *_Memory; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; lVar1 = param_1[1]; lVar2 = *param_1; lVar4 = FUN_18060cc00(); FUN_1805cffb0(*param_1,param_1[1],lVar4,param_1,uVar5); if (*param_1 == 0) { *param_1 = lVar4; param_1[1] = (lVar1 - lVar2 & 0xffffffffffffffe0U) + lVar4; param_1[2] = param_2 * 0x20 + lVar4; return; } FUN_18048c550(*param_1,param_1[1],param_1); pvVar3 = (void *)*param_1; _Memory = pvVar3; if ((0xfff < (param_1[2] - (longlong)pvVar3 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180667f20 size=4375 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_180667f20(longlong *param_1,undefined8 param_2,undefined8 *param_3,ios_base *param_4, undefined1 param_5,longlong *param_6) { undefined1 *puVar1; int iVar2; undefined8 uVar3; void *pvVar4; bool bVar5; char *pcVar6; char *pcVar7; longlong *******ppppppplVar8; ulonglong uVar9; undefined1 uVar10; int *piVar11; longlong lVar12; undefined8 uVar13; undefined8 *******pppppppuVar14; longlong *plVar15; undefined8 *puVar16; longlong *******ppppppplVar17; void *pvVar18; longlong *******ppppppplVar19; undefined1 *puVar20; undefined8 *******_Memory; undefined *puVar21; undefined4 uVar22; char *pcVar23; longlong lVar24; char *pcVar25; longlong lVar26; bool bVar27; undefined1 auStack_2d8 [32]; longlong *******local_2b8; undefined8 *local_2b0; undefined8 local_2a8; longlong *******local_298; longlong *******ppppppplStack_290; undefined8 *******local_288; longlong *******ppppppplStack_280; undefined1 local_278 [16]; longlong *******local_268; longlong *******ppppppplStack_260; undefined8 *local_258; undefined4 uStack_250; undefined4 uStack_24c; undefined8 local_248; undefined1 local_238 [8]; undefined1 local_230 [232]; undefined1 local_148 [40]; longlong ******local_120 [2]; ulonglong local_110; ulonglong local_108; longlong *******local_100 [2]; longlong local_f0; ulonglong local_e8; undefined8 *******local_e0; undefined8 ******ppppppuStack_d8; longlong *******local_d0; undefined8 ******ppppppuStack_c8; undefined8 local_c0; undefined8 uStack_b8; undefined8 local_b0; undefined8 uStack_a8; undefined4 local_a0; int local_98; int iStack_94; undefined8 uStack_90; undefined8 local_88; ulonglong local_80; ulonglong local_68; local_248 = 0xfffffffffffffffe; local_68 = DAT_182615970 ^ (ulonglong)auStack_2d8; lVar12 = *param_6; uVar22 = 0; if (lVar12 != 0x7ffffffffffffffe) { bVar27 = false; if ((lVar12 == 0x7fffffffffffffff) || (bVar5 = bVar27, lVar12 == -0x8000000000000000)) { bVar5 = true; } if (!bVar5) goto LAB_180667fb5; } bVar27 = true; LAB_180667fb5: if (bVar27) { local_258 = (undefined8 *)*param_3; uStack_250 = *(undefined4 *)(param_3 + 1); uStack_24c = *(undefined4 *)((longlong)param_3 + 0xc); piVar11 = (int *)FUN_1806227d0(param_6,local_278); iVar2 = *piVar11; if (iVar2 != -2) { if (iVar2 == 0) { uVar22 = 1; } else { uVar22 = 5; if (iVar2 == -1) { uVar22 = 2; } } } local_2b0 = (undefined8 *)CONCAT44(local_2b0._4_4_,uVar22); local_2b8 = (longlong *******)CONCAT71(local_2b8._1_7_,param_5); (**(code **)(*param_1 + 0x28))(param_1,param_2,&local_258,param_4); } else { local_258 = param_3; FUN_1805a4070(local_100,param_1 + 2); pcVar7 = (char *)CONCAT44(uStack_90._4_4_,(int)uStack_90); pcVar6 = (char *)CONCAT44(uStack_90._4_4_,(int)uStack_90); pcVar23 = (char *)CONCAT44(uStack_90._4_4_,(int)uStack_90); pcVar25 = (char *)CONCAT44(uStack_90._4_4_,(int)uStack_90); lVar12 = -1; do { lVar24 = lVar12; lVar12 = lVar24 + 1; } while ("H:%M:%S"[lVar24] != '\0'); lVar12 = -1; do { lVar26 = lVar12; lVar12 = lVar26 + 1; } while ((&DAT_181bbaf81)[lVar26] != '\0'); uStack_90 = &DAT_181bbaf81 + lVar26; local_c0 = &DAT_181bbaf80; uStack_b8 = uStack_90; ppppppplVar17 = (longlong *******)local_100; if (0xf < local_e8) { ppppppplVar17 = local_100[0]; } ppppppplVar17 = (longlong *******)((longlong)ppppppplVar17 + local_f0); local_298 = (longlong *******)local_100; if (0xf < local_e8) { local_298 = local_100[0]; } if (local_298 != ppppppplVar17) { while (pcVar25 = pcVar23, uStack_90 != "%T") { pcVar25 = "%T"; for (ppppppplStack_290 = local_298; ppppppplStack_290 != ppppppplVar17; ppppppplStack_290 = (longlong *******)((longlong)ppppppplStack_290 + 1)) { if (pcVar25 == uStack_90) goto LAB_1806680fa; if (*(char *)ppppppplStack_290 != *pcVar25) break; pcVar25 = pcVar25 + 1; } if (pcVar25 == uStack_90) { LAB_1806680fa: pcVar25 = pcVar7; if (local_298 != ppppppplStack_290) { local_268 = (longlong *******)&DAT_181bbaf88; local_288 = (undefined8 *******)&DAT_181bbaf88; local_98 = -0x7e445080; iStack_94 = 1; local_88 = local_b0; local_2b8 = (longlong *******)&local_268; ppppppplStack_280 = (longlong *******)("H:%M:%S" + lVar24); ppppppplStack_260 = (longlong *******)("H:%M:%S" + lVar24); FUN_180654b30(local_100,&local_98,&local_288,&local_298); pcVar25 = uStack_90; } break; } local_298 = (longlong *******)((longlong)local_298 + 1); pcVar25 = pcVar6; if (local_298 == ppppppplVar17) break; } } lVar12 = -1; do { lVar24 = lVar12; lVar12 = lVar24 + 1; } while ((&DAT_181bbaf99)[lVar24] != '\0'); ppppppplStack_290 = (longlong *******)(&DAT_181bbaf99 + lVar24); lVar12 = -1; do { lVar24 = lVar12; lVar12 = lVar24 + 1; } while ((&DAT_181bbaf95)[lVar24] != '\0'); uStack_90 = &DAT_181bbaf95 + lVar24; local_298 = (longlong *******)&DAT_181bbaf98; local_c0 = &DAT_181bbaf94; uStack_b8 = uStack_90; ppppppplVar17 = (longlong *******)local_100; if (0xf < local_e8) { ppppppplVar17 = local_100[0]; } ppppppplVar17 = (longlong *******)((longlong)ppppppplVar17 + local_f0); ppppppplVar19 = (longlong *******)local_100; if (0xf < local_e8) { ppppppplVar19 = local_100[0]; } if (ppppppplVar19 != ppppppplVar17) { while (pcVar23 = "%R", ppppppplVar8 = ppppppplVar19, uStack_90 != "%R") { for (; ppppppplVar8 != ppppppplVar17; ppppppplVar8 = (longlong *******)((longlong)ppppppplVar8 + 1)) { if (pcVar23 == uStack_90) goto LAB_180668240; if (*(char *)ppppppplVar8 != *pcVar23) break; pcVar23 = pcVar23 + 1; } if (pcVar23 == uStack_90) { LAB_180668240: if (ppppppplVar19 != ppppppplVar8) { local_288 = (undefined8 *******)&DAT_181bbaf98; local_298 = (longlong *******)&DAT_181bbaf98; local_98 = -0x7e44506c; iStack_94 = 1; local_88 = local_b0; local_2b8 = (longlong *******)&local_288; ppppppplStack_280 = ppppppplStack_290; local_268 = ppppppplVar19; ppppppplStack_260 = ppppppplVar8; FUN_180654b30(local_100,&local_98,&local_298,&local_268); pcVar25 = uStack_90; } break; } ppppppplVar19 = (longlong *******)((longlong)ppppppplVar19 + 1); if (ppppppplVar19 == ppppppplVar17) break; } } local_d0 = (longlong *******)0x0; ppppppuStack_c8 = (undefined8 ******)0xf; local_e0 = (undefined8 *******)((ulonglong)local_e0 & 0xffffffffffffff00); uStack_90 = pcVar25; lVar12 = FUN_1805bda50(local_100,PTR_DAT_18260a848,0); if (lVar12 != -1) { uVar13 = FUN_180622ad0(param_6,&local_298); pppppppuVar14 = (undefined8 *******)FUN_18065e9c0(&local_98,uVar13,0); if (&local_e0 != (undefined8 ********)pppppppuVar14) { FUN_180485450(&local_e0); local_e0 = (undefined8 *******)*pppppppuVar14; ppppppuStack_d8 = pppppppuVar14[1]; local_d0 = (longlong *******)pppppppuVar14[2]; ppppppuStack_c8 = pppppppuVar14[3]; pppppppuVar14[2] = (undefined8 ******)0x0; pppppppuVar14[3] = (undefined8 ******)0xf; *(undefined1 *)pppppppuVar14 = 0; } if (0xf < local_80) { pvVar4 = (void *)CONCAT44(iStack_94,local_98); pvVar18 = pvVar4; if ((0xfff < local_80 + 1) && (pvVar18 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } uVar13 = std::ios_base::getloc(param_4); plVar15 = (longlong *)FUN_1805f1950(uVar13); uVar10 = (**(code **)(*plVar15 + 0x18))(plVar15); if (ppppppplStack_280 != (longlong *******)0x0) { puVar16 = (undefined8 *)(*(code *)(*ppppppplStack_280)[2])(); if (puVar16 != (undefined8 *)0x0) { (**(code **)*puVar16)(puVar16,1); } } local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; lVar12 = -1; do { lVar12 = lVar12 + 1; } while (PTR_DAT_18260a850[lVar12] != '\0'); FUN_1805a6cb0(local_120); uVar9 = local_110; if (local_110 < local_108) { puVar20 = (undefined1 *)local_120; if (0xf < local_108) { puVar20 = (undefined1 *)CONCAT71(local_120[0]._1_7_,local_120[0]._0_1_); } puVar1 = puVar20 + local_110; local_110 = local_110 + 1; *puVar1 = uVar10; puVar20[uVar9 + 1] = 0; } else { FUN_18060b550(local_120,1,0,uVar10); } ppppppplVar17 = local_d0; pppppppuVar14 = &local_e0; if ((undefined8 ******)0xf < ppppppuStack_c8) { pppppppuVar14 = local_e0; } if ((longlong *******)(local_108 - local_110) < local_d0) { local_2b8 = local_d0; FUN_1805a1320(local_120,local_d0,0); pcVar25 = uStack_90; } else { puVar20 = (undefined1 *)local_120; if (0xf < local_108) { puVar20 = (undefined1 *)CONCAT71(local_120[0]._1_7_,local_120[0]._0_1_); } puVar20 = puVar20 + local_110; local_110 = local_110 + (longlong)local_d0; memmove(puVar20,pppppppuVar14,(size_t)local_d0); *(undefined1 *)((longlong)ppppppplVar17 + (longlong)puVar20) = 0; pcVar25 = uStack_90; } pppppppuVar14 = (undefined8 *******)CONCAT71(local_120[0]._1_7_,local_120[0]._0_1_); local_298 = local_120; if (0xf < local_108) { local_298 = pppppppuVar14; } ppppppplStack_290 = (longlong *******)(local_110 + (longlong)local_298); lVar12 = -1; do { lVar12 = lVar12 + 1; } while (PTR_DAT_18260a848[lVar12] != '\0'); uStack_90 = PTR_DAT_18260a848 + lVar12; local_c0 = PTR_DAT_18260a848; puVar20 = local_c0; uStack_b8 = uStack_90; ppppppplVar17 = (longlong *******)local_100; if (0xf < local_e8) { ppppppplVar17 = local_100[0]; } ppppppplVar17 = (longlong *******)((longlong)ppppppplVar17 + local_f0); ppppppplVar19 = (longlong *******)local_100; if (0xf < local_e8) { ppppppplVar19 = local_100[0]; } if (ppppppplVar19 != ppppppplVar17) { while (ppppppplVar8 = ppppppplVar19, pcVar23 = PTR_DAT_18260a848, PTR_DAT_18260a848 != uStack_90) { for (; ppppppplVar8 != ppppppplVar17; ppppppplVar8 = (longlong *******)((longlong)ppppppplVar8 + 1)) { if (pcVar23 == uStack_90) goto LAB_1806685dc; if (*(char *)ppppppplVar8 != *pcVar23) break; pcVar23 = pcVar23 + 1; } if (pcVar23 == uStack_90) { LAB_1806685dc: if (ppppppplVar19 != ppppppplVar8) { local_c0._0_4_ = (int)PTR_DAT_18260a848; local_c0._4_4_ = (undefined4)((ulonglong)PTR_DAT_18260a848 >> 0x20); local_98 = (int)local_c0; iStack_94 = local_c0._4_4_; local_88 = local_b0; local_2b8 = (longlong *******)&local_288; local_288 = local_298; ppppppplStack_280 = ppppppplStack_290; local_268 = ppppppplVar19; ppppppplStack_260 = ppppppplVar8; local_c0 = puVar20; FUN_180654b30(local_100,&local_98,&local_298,&local_268); pppppppuVar14 = (undefined8 *******)CONCAT71(local_120[0]._1_7_,local_120[0]._0_1_); pcVar25 = uStack_90; } break; } ppppppplVar19 = (longlong *******)((longlong)ppppppplVar19 + 1); if (ppppppplVar19 == ppppppplVar17) break; } } uStack_90 = pcVar25; if (0xf < local_108) { _Memory = pppppppuVar14; if ((0xfff < local_108 + 1) && (_Memory = (undefined8 *******)pppppppuVar14[-1], (undefined1 *)0x1f < (undefined1 *)((longlong)pppppppuVar14 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } lVar12 = FUN_1805bda50(local_100,PTR_DAT_18260a878,0); if (lVar12 != -1) { local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; FUN_1805a6cb0(local_120,&DAT_181baf991,0); if (0xf < local_108) { pvVar4 = (void *)CONCAT71(local_120[0]._1_7_,local_120[0]._0_1_); pvVar18 = pvVar4; if ((0xfff < local_108 + 1) && (pvVar18 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar18)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar18); } if (local_110 == 0) { FUN_180654690(local_100,&PTR_DAT_18260a878); } else { local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; local_298 = local_120; ppppppplStack_290 = local_120; lVar12 = -1; do { lVar12 = lVar12 + 1; } while (PTR_DAT_18260a878[lVar12] != '\0'); uStack_b8 = PTR_DAT_18260a878 + lVar12; local_c0 = PTR_DAT_18260a878; puVar20 = local_c0; local_c0._0_4_ = (int)PTR_DAT_18260a878; local_c0._4_4_ = (undefined4)((ulonglong)PTR_DAT_18260a878 >> 0x20); local_98 = (int)local_c0; iStack_94 = local_c0._4_4_; local_88 = local_b0; local_288 = local_298; ppppppplStack_280 = ppppppplStack_290; local_c0 = puVar20; uStack_90 = uStack_b8; FUN_180654a20(local_100,&local_98,&local_288); FUN_180485450(local_120); } } lVar12 = FUN_1805bda50(local_100,PTR_DAT_18260a860,0); if (lVar12 != -1) { local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; FUN_1805a6cb0(local_120,&DAT_181baf991,0); bVar27 = local_110 == 0; FUN_180485450(local_120); if (bVar27) { FUN_18060c1b0(local_238,2,1); uVar13 = FUN_1805a0c30(local_238,0x20); FUN_1805a0df0(uVar13,PTR_DAT_18260a860); FUN_18063ba80(local_230,local_120); FUN_1806547a0(local_100,local_120); FUN_180485450(local_120); FUN_1805d0400(local_238); } else { local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; FUN_1805a6cb0(local_120,&DAT_181baf991,0); FUN_180657be0(local_100,&PTR_DAT_18260a860,local_120); FUN_180485450(local_120); } } lVar12 = FUN_1805bda50(local_100,PTR_DAT_18260a858,0); if (lVar12 != -1) { local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; FUN_1805a6cb0(local_120,&DAT_181baf991,0); bVar27 = local_110 == 0; FUN_180485450(local_120); if (bVar27) { FUN_18060c1b0(local_238,2,1); uVar13 = FUN_1805a0c30(local_238,0x20); FUN_1805a0df0(uVar13,PTR_DAT_18260a858); FUN_18063ba80(local_230,local_120); FUN_1806547a0(local_100,local_120); FUN_180485450(local_120); FUN_1805d0400(local_238); } else { local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; FUN_1805a6cb0(local_120,&DAT_181baf991,0); FUN_180657be0(local_100,&PTR_DAT_18260a858,local_120); FUN_180485450(local_120); } } lVar12 = FUN_1805bda50(local_100,PTR_DAT_18260a870,0); if (lVar12 != -1) { local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; FUN_1805a6cb0(local_120,&DAT_181baf991,0); bVar27 = local_110 == 0; FUN_180485450(local_120); if (bVar27) { FUN_180654690(local_100,&PTR_DAT_18260a870); } else { local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; FUN_1805a6cb0(local_120,&DAT_181baf991,0); FUN_180657be0(local_100,&PTR_DAT_18260a870,local_120); FUN_180485450(local_120); } } lVar12 = FUN_1805bda50(local_100,PTR_DAT_18260a868,0); if (lVar12 != -1) { local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; FUN_1805a6cb0(local_120,&DAT_181baf991,0); bVar27 = local_110 == 0; FUN_180485450(local_120); if (bVar27) { FUN_180654690(local_100,&PTR_DAT_18260a868); } else { local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; FUN_1805a6cb0(local_120,&DAT_181baf991,0); FUN_180657be0(local_100,&PTR_DAT_18260a868,local_120); FUN_180485450(local_120); } } puVar21 = PTR_DAT_18260a838; lVar12 = FUN_1805bda50(local_100,PTR_DAT_18260a838,0); if (lVar12 != -1) { if (local_d0 == (longlong *******)0x0) { uVar13 = FUN_180622ad0(param_6,&local_298); pppppppuVar14 = (undefined8 *******)FUN_18065e9c0(local_120,uVar13,0); if (&local_e0 != (undefined8 ********)pppppppuVar14) { FUN_180485450(&local_e0); local_e0 = (undefined8 *******)*pppppppuVar14; ppppppuStack_d8 = pppppppuVar14[1]; local_d0 = (longlong *******)pppppppuVar14[2]; ppppppuStack_c8 = pppppppuVar14[3]; pppppppuVar14[2] = (undefined8 ******)0x0; pppppppuVar14[3] = (undefined8 ******)0xf; *(undefined1 *)pppppppuVar14 = 0; } FUN_180485450(local_120); puVar21 = PTR_DAT_18260a838; } local_298 = (longlong *******)&local_e0; if ((undefined8 ******)0xf < ppppppuStack_c8) { local_298 = local_e0; } ppppppplStack_290 = (longlong *******)((longlong)local_d0 + (longlong)local_298); lVar12 = -1; do { lVar12 = lVar12 + 1; } while (puVar21[lVar12] != '\0'); uStack_b8 = puVar21 + lVar12; local_c0._0_4_ = (int)puVar21; local_c0._4_4_ = (undefined4)((ulonglong)puVar21 >> 0x20); local_98 = (int)local_c0; iStack_94 = local_c0._4_4_; local_88 = local_b0; local_288 = local_298; ppppppplStack_280 = ppppppplStack_290; local_c0 = puVar21; uStack_90 = uStack_b8; FUN_180654a20(local_100,&local_98,&local_288); } lVar12 = FUN_1805bda50(local_100,PTR_DAT_18260a840,0); if (lVar12 != -1) { uVar13 = FUN_180622ad0(param_6,&local_298); pppppppuVar14 = (undefined8 *******)FUN_18065e9c0(local_120,uVar13,1); if (&local_e0 != (undefined8 ********)pppppppuVar14) { FUN_180485450(&local_e0); local_e0 = (undefined8 *******)*pppppppuVar14; ppppppuStack_d8 = pppppppuVar14[1]; local_d0 = (longlong *******)pppppppuVar14[2]; ppppppuStack_c8 = pppppppuVar14[3]; pppppppuVar14[2] = (undefined8 ******)0x0; pppppppuVar14[3] = (undefined8 ******)0xf; *(undefined1 *)pppppppuVar14 = 0; } FUN_180485450(local_120); if (local_d0 == (longlong *******)0x0) { FUN_180654690(local_100,&PTR_DAT_18260a840); } else { uVar13 = std::ios_base::getloc(param_4); plVar15 = (longlong *)FUN_1805f1950(uVar13); uVar10 = (**(code **)(*plVar15 + 0x18))(plVar15); if (ppppppplStack_280 != (longlong *******)0x0) { puVar16 = (undefined8 *)(*(code *)(*ppppppplStack_280)[2])(); if (puVar16 != (undefined8 *)0x0) { (**(code **)*puVar16)(puVar16,1); } } local_110 = 0; local_108 = 0xf; local_120[0]._0_1_ = 0; FUN_18062b560(local_120,uVar10); pppppppuVar14 = &local_e0; if ((undefined8 ******)0xf < ppppppuStack_c8) { pppppppuVar14 = local_e0; } FUN_1805a6a80(local_120,pppppppuVar14,local_d0); FUN_180657be0(local_100,&PTR_DAT_18260a840,local_120); FUN_180485450(local_120); } } uVar13 = FUN_1806227d0(param_6,local_278); piVar11 = (int *)FUN_18066ae30(local_148,uVar13); local_98 = *piVar11; iStack_94 = piVar11[1]; uStack_90._0_4_ = piVar11[2]; uStack_90._4_4_ = piVar11[3]; uVar13 = *(undefined8 *)(piVar11 + 4); uVar3 = *(undefined8 *)(piVar11 + 6); FUN_180622ad0(param_6,&local_298); puVar20 = (undefined1 *) (SUB168(SEXT816(-0x674a40d3fc1ad63b) * SEXT816((longlong)local_298),8) + (longlong)local_298); uStack_90._0_4_ = (int)((longlong)puVar20 >> 0x1f) - (int)((longlong)puVar20 >> 0x3f); puVar20 = (undefined1 *) ((longlong)local_298 + SUB168(SEXT816(-0x70d59cc6bc5928d7) * SEXT816((longlong)local_298),8)); lVar24 = ((longlong)puVar20 >> 0x19) - ((longlong)puVar20 >> 0x3f); lVar12 = SUB168(SEXT816(-0x7777777777777777) * SEXT816(lVar24),8) + lVar24; iStack_94 = (int)lVar24 + ((int)(lVar12 >> 5) - (int)(lVar12 >> 0x3f)) * -0x3c; lVar12 = (longlong)local_298 / 1000000; lVar24 = SUB168(SEXT816(-0x7777777777777777) * SEXT816(lVar12),8) + lVar12; local_98 = (int)lVar12 + ((int)(lVar24 >> 5) - (int)(lVar24 >> 0x3f)) * -0x3c; local_c0 = (undefined1 *)CONCAT44(iStack_94,local_98); uStack_b8 = (char *)CONCAT44(uStack_90._4_4_,(int)uStack_90); local_a0 = 0xffffffff; local_b0 = uVar13; uStack_a8 = uVar3; local_2a8 = FUN_1805a4070(local_120,local_100); local_288 = (undefined8 *******)*local_258; ppppppplStack_280 = (longlong *******)local_258[1]; local_2b0 = &local_c0; local_2b8 = (longlong *******)CONCAT71(local_2b8._1_7_,param_5); (**(code **)(*param_1 + 0x30))(param_1,param_2,&local_288,param_4); FUN_180485450(&local_e0); FUN_180485450(local_100); } } ############ FUN_ 180656c80 size=403 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180656c80(undefined8 *param_1,longlong *param_2,longlong param_3,longlong *param_4, longlong *param_5) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; undefined8 *puVar4; undefined8 *puVar5; void *_Memory; undefined1 *puVar6; undefined1 auStack_b8 [32]; undefined8 local_98; undefined1 local_88; undefined8 local_78; longlong lStack_70; undefined8 local_68; longlong lStack_60; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_b8; puVar3 = param_1; if (0xf < (ulonglong)param_1[3]) { puVar3 = (undefined8 *)*param_1; } puVar5 = (undefined8 *)0x0; if (((longlong *)*param_5 != (longlong *)0x0) && (puVar4 = *(undefined8 **)*param_5, puVar4 != (undefined8 *)0x0)) { puVar5 = (undefined8 *)*puVar4; } lStack_70 = param_5[2]; puVar4 = (undefined8 *)0x0; if (((longlong *)*param_4 != (longlong *)0x0) && (puVar1 = *(undefined8 **)*param_4, puVar1 != (undefined8 *)0x0)) { puVar4 = (undefined8 *)*puVar1; } lStack_60 = param_4[2]; local_68 = 0; if (puVar4 != (undefined8 *)0x0) { local_68 = *puVar4; } if (puVar5 == (undefined8 *)0x0) { local_78 = 0; } else { local_78 = *puVar5; } local_30 = 0; local_28 = 0xf; local_40 = 0; if (0xf < (ulonglong)(lStack_70 - lStack_60)) { FUN_1805a14a0(&local_40,lStack_70 - lStack_60,0); } local_30 = 0; FUN_180653960(&local_40,&local_68,&local_78,local_88); puVar5 = param_1; if (0xf < (ulonglong)param_1[3]) { puVar5 = (undefined8 *)*param_1; } puVar6 = &local_40; if (0xf < local_28) { puVar6 = (undefined1 *)CONCAT71(uStack_3f,local_40); } local_98 = local_30; FUN_1805a9f40(param_1,param_3 - (longlong)puVar5,0,puVar6); if (local_28 < 0x10) { if (0xf < (ulonglong)param_1[3]) { param_1 = (undefined8 *)*param_1; } *param_2 = (longlong)param_1 + (param_3 - (longlong)puVar3); } pvVar2 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar2; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18065ae20 size=234 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18065ae20(undefined8 *param_1) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; undefined8 *local_48; undefined1 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; local_48 = param_1; FUN_1805a6cb0(&local_38,"Day of year value is out of range 1..366",0x28); local_40 = 1; *param_1 = std::exception::vftable; local_48 = (undefined8 *)&local_38; if (0xf < local_20) { local_48 = (undefined8 *)CONCAT71(uStack_37,local_38); } param_1[1] = 0; param_1[2] = 0; __std_exception_copy(&local_48); *param_1 = std::out_of_range::vftable; if (local_20 < 0x10) { *param_1 = boost::gregorian::bad_day_of_year::vftable; } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18065af60 size=234 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18065af60(undefined8 *param_1) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; undefined8 *local_48; undefined1 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; local_48 = param_1; FUN_1805a6cb0(&local_38,"Weekday is out of range 0..6",0x1c); local_40 = 1; *param_1 = std::exception::vftable; local_48 = (undefined8 *)&local_38; if (0xf < local_20) { local_48 = (undefined8 *)CONCAT71(uStack_37,local_38); } param_1[1] = 0; param_1[2] = 0; __std_exception_copy(&local_48); *param_1 = std::out_of_range::vftable; if (local_20 < 0x10) { *param_1 = boost::gregorian::bad_weekday::vftable; } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180653fa0 size=468 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180653fa0(longlong param_1,undefined8 *param_2,undefined8 *param_3,undefined8 param_4, undefined8 *param_5,char param_6) { char *pcVar1; void *pvVar2; ulonglong uVar3; int iVar4; undefined1 *puVar5; undefined8 *puVar6; undefined8 uVar7; undefined8 uVar8; void *_Memory; undefined1 auStack_148 [32]; undefined4 *local_128; undefined4 local_118 [4]; undefined8 local_108; undefined1 local_100 [40]; undefined1 local_d8; undefined7 uStack_d7; ulonglong local_c8; ulonglong local_c0; undefined4 local_b8; undefined1 local_b0 [32]; undefined1 local_90 [32]; undefined1 local_70 [32]; ulonglong local_50; local_108 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_148; local_c8 = 0; local_c0 = 0xf; local_d8 = 0; local_b8 = 0xffff0000; if ((param_6 - 0x2bU & 0xfd) == 0) { if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 == -1 )) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar4; } *(undefined1 *)(param_3 + 1) = 1; } uVar3 = local_c8; if (*(char *)((longlong)param_3 + 9) != param_6) { if (local_c8 < local_c0) { puVar5 = &local_d8; if (0xf < local_c0) { puVar5 = (undefined1 *)CONCAT71(uStack_d7,local_d8); } pcVar1 = puVar5 + local_c8; local_c8 = local_c8 + 1; *pcVar1 = param_6; puVar5[uVar3 + 1] = 0; } else { FUN_18060b550(&local_d8,1,0,param_6); } } } local_118[0] = 0; local_128 = local_118; FUN_180666b90(param_1 + 0x148,param_3,param_4,&local_d8); if (local_b8._2_2_ == -1) { FUN_180654190(local_b0,&local_d8); uVar7 = FUN_1805af050(local_90,"Parse failed. No match found for \'",local_b0); uVar7 = FUN_180623110(local_70,uVar7,&DAT_181bbb118); uVar8 = FUN_180666b30(local_118,1); uVar7 = FUN_18065b0c0(local_100,uVar7,uVar8); /* WARNING: Subroutine does not return */ FUN_1806584e0(uVar7); } puVar6 = (undefined8 *)FUN_1805b6b80(local_118,(int)local_b8._2_2_); *param_5 = *puVar6; uVar7 = param_3[1]; *param_2 = *param_3; param_2[1] = uVar7; if (local_c0 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_d7,local_d8); _Memory = pvVar2; if ((0xfff < local_c0 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18065ac90 size=237 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18065ac90(undefined8 *param_1,undefined8 *param_2,undefined8 param_3) { undefined8 uVar1; undefined8 uVar2; void *_Memory; undefined1 auStack_88 [32]; undefined8 *local_68; undefined4 uStack_60; undefined4 uStack_5c; undefined1 local_58 [32]; void *local_38 [3]; ulonglong local_20; ulonglong local_18; local_18 = DAT_182615970 ^ (ulonglong)auStack_88; local_68 = param_1; uVar2 = FUN_1805a4070(local_58,param_3); local_68 = (undefined8 *)*param_2; uStack_60 = *(undefined4 *)(param_2 + 1); uStack_5c = *(undefined4 *)((longlong)param_2 + 0xc); local_68 = (undefined8 *)FUN_18065da20(local_38,&local_68,uVar2); if (0xf < (ulonglong)local_68[3]) { local_68 = (undefined8 *)*local_68; } uStack_60 = CONCAT31(uStack_60._1_3_,1); *param_1 = std::exception::vftable; param_1[1] = 0; param_1[2] = 0; __std_exception_copy(&local_68); *param_1 = std::runtime_error::vftable; if (local_20 < 0x10) { uVar2 = *param_2; uVar1 = param_2[1]; *param_1 = std::_System_error::vftable; param_1[3] = uVar2; param_1[4] = uVar1; } _Memory = local_38[0]; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)local_38[0] + -8), 0x1f < (ulonglong)((longlong)local_38[0] + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18065da20 size=411 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18065da20(longlong *param_1,undefined4 *param_2,longlong *param_3) { longlong lVar1; void *pvVar2; longlong *plVar3; undefined8 ****ppppuVar4; void *_Memory; undefined1 auStack_88 [32]; undefined8 local_68; undefined8 local_58; longlong *local_50; undefined8 ***local_48 [2]; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_58 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_88; lVar1 = param_3[2]; local_50 = param_3; if (lVar1 != 0) { if ((ulonglong)(param_3[3] - lVar1) < 2) { local_68 = 2; FUN_1805a1320(param_3,2,0,&DAT_181baf994); } else { param_3[2] = lVar1 + 2; plVar3 = param_3; if (0xf < (ulonglong)param_3[3]) { plVar3 = (longlong *)*param_3; } memmove((undefined1 *)((longlong)plVar3 + lVar1),&DAT_181baf994,2); ((undefined1 *)((longlong)plVar3 + lVar1))[2] = 0; } } (**(code **)(**(longlong **)(param_2 + 2) + 0x10))(*(longlong **)(param_2 + 2),local_48,*param_2); ppppuVar4 = local_48; if (0xf < local_30) { ppppuVar4 = (undefined8 ****)local_48[0]; } FUN_1805a6a80(param_3,ppppuVar4,local_38); if (0xf < local_30) { ppppuVar4 = (undefined8 ****)local_48[0]; if ((0xfff < local_30 + 1) && (ppppuVar4 = (undefined8 ****)local_48[0][-1], 0x1f < (ulonglong)((longlong)local_48[0] + (-8 - (longlong)ppppuVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(ppppuVar4); } param_1[2] = 0; param_1[3] = 0; lVar1 = param_3[1]; *param_1 = *param_3; param_1[1] = lVar1; lVar1 = param_3[3]; param_1[2] = param_3[2]; param_1[3] = lVar1; param_3[2] = 0; param_3[3] = 0xf; *(undefined1 *)param_3 = 0; if ((ulonglong)param_3[3] < 0x10) { param_3[2] = 0; param_3[3] = 0xf; *(undefined1 *)param_3 = 0; } pvVar2 = (void *)*param_3; _Memory = pvVar2; if ((0xfff < param_3[3] + 1U) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 180656eb0 size=906 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180656eb0(ushort *param_1,char *param_2,longlong param_3) { bool bVar1; char cVar2; locale *plVar3; longlong *plVar4; undefined8 *puVar5; char *******pppppppcVar6; char *pcVar7; ushort uVar8; ushort uVar9; ulonglong uVar10; ushort uVar11; undefined1 auStack_98 [32]; char local_78; longlong local_70; undefined1 local_68 [8]; _Locimp *local_60; undefined8 local_58; char ******local_50 [2]; longlong local_40; ulonglong local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; *param_1 = 0; if ((char *)(param_3 - 1U) < param_2) { } cVar2 = *(char *)(param_3 - 1U); if (9 < (byte)(cVar2 - 0x30U)) { } *param_1 = (short)cVar2 - 0x30; pcVar7 = (char *)(param_3 + -2); uVar9 = 1; bVar1 = false; local_60 = std::locale::_Init(true); plVar3 = std::locale::classic(); cVar2 = FUN_1805f22e0(local_68,plVar3); uVar8 = uVar9; if (cVar2 == '\0') { plVar4 = (longlong *)FUN_1805f1950(local_68); (**(code **)(*plVar4 + 0x28))(plVar4,local_50); local_70 = local_40; if (local_40 != 0) { pppppppcVar6 = local_50; if (0xf < local_38) { pppppppcVar6 = (char *******)local_50[0]; } uVar8 = 1; if ('\0' < *(char *)pppppppcVar6) { uVar10 = 0; local_78 = (**(code **)(*plVar4 + 0x20))(plVar4); pppppppcVar6 = local_50; if (0xf < local_38) { pppppppcVar6 = (char *******)local_50[0]; } cVar2 = *(char *)pppppppcVar6 + -1; uVar8 = uVar9; for (; param_2 <= pcVar7; pcVar7 = pcVar7 + -1) { if (cVar2 == '\0') { if (*pcVar7 != local_78) goto LAB_18065711c; if (param_2 == pcVar7) break; if (uVar10 < local_70 - 1U) { uVar10 = (ulonglong)(byte)((char)uVar10 + 1); } pppppppcVar6 = local_50; if (0xf < local_38) { pppppppcVar6 = (char *******)local_50[0]; } cVar2 = *(char *)((longlong)pppppppcVar6 + uVar10); } else { uVar9 = uVar8 * 10; if (uVar9 / 10 != (uint)uVar8) { bVar1 = true; } uVar8 = (short)*pcVar7 - 0x30; uVar11 = uVar8 * uVar9; if ((((9 < (byte)(*pcVar7 - 0x30U)) || ((uVar8 != 0 && ((uint)((ulonglong)uVar11 / (ulonglong)(longlong)(int)(uint)uVar8) != (uint)uVar9) ))) || ((ushort)(-uVar11 - 1) < *param_1)) || ((bVar1 && (uVar8 != 0)))) break; *param_1 = *param_1 + uVar11; cVar2 = cVar2 + -1; uVar8 = uVar9; } } if (0xf < local_38) { pppppppcVar6 = (char *******)local_50[0]; if ((0xfff < local_38 + 1) && (pppppppcVar6 = (char *******)local_50[0][-1], (char *)0x1f < (char *)((longlong)local_50[0] + (-8 - (longlong)pppppppcVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppppcVar6); } goto LAB_1806571fb; } } LAB_18065711c: if (0xf < local_38) { pppppppcVar6 = (char *******)local_50[0]; if ((0xfff < local_38 + 1) && (pppppppcVar6 = (char *******)local_50[0][-1], (char *)0x1f < (char *)((longlong)local_50[0] + (-8 - (longlong)pppppppcVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pppppppcVar6); } } for (; param_2 <= pcVar7; pcVar7 = pcVar7 + -1) { uVar9 = uVar8 * 10; if (uVar9 / 10 != (uint)uVar8) { bVar1 = true; } uVar8 = (short)*pcVar7 - 0x30; uVar11 = uVar8 * uVar9; if ((9 < (byte)(*pcVar7 - 0x30U)) || ((((uVar8 != 0 && ((uint)((ulonglong)uVar11 / (ulonglong)(longlong)(int)(uint)uVar8) != (uint)uVar9)) || ((ushort)(-uVar11 - 1) < *param_1)) || ((bVar1 && (uVar8 != 0)))))) break; *param_1 = *param_1 + uVar11; uVar8 = uVar9; } LAB_1806571fb: if ((local_60 != (_Locimp *)0x0) && (puVar5 = (undefined8 *)(**(code **)(*(longlong *)local_60 + 0x10))(), puVar5 != (undefined8 *)0x0)) { (**(code **)*puVar5)(puVar5,1); } } ############ FUN_ 180657e60 size=1486 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180657e60(undefined8 param_1,char *param_2) { longlong *plVar1; void *pvVar2; longlong lVar3; int iVar4; ushort uVar5; ushort uVar6; int iVar7; char *pcVar8; ulonglong uVar9; uint uVar10; undefined1 **ppuVar11; void *pvVar12; ulonglong uVar13; undefined1 *puVar14; int iVar15; longlong lVar16; ulonglong uVar17; bool bVar18; undefined1 auStack_318 [32]; ulonglong local_2f8; char local_2e8; undefined1 *local_2e0; undefined8 local_2d8; undefined8 local_2d0; undefined1 local_2c8 [32]; undefined1 local_2a8 [32]; undefined1 local_288; undefined1 local_287; undefined4 local_284; undefined1 local_280; undefined1 local_278 [32]; undefined1 local_258 [32]; undefined1 local_238; undefined1 local_237; undefined4 local_234; undefined1 local_230; char *local_228; char *local_220; undefined1 local_218 [32]; undefined1 local_1f8 [32]; undefined1 local_1d8; undefined1 local_1d7; undefined4 local_1d4; undefined1 local_1d0; undefined1 local_1c8 [16]; undefined8 local_1b8; undefined8 local_1b0; undefined1 local_1a8 [16]; undefined8 local_198; undefined8 local_190; undefined2 local_188; undefined4 local_184; undefined1 local_180; undefined1 local_178; undefined7 uStack_177; undefined8 local_168; ulonglong local_160; undefined1 local_158 [80]; longlong local_108; longlong local_100; char local_f8; undefined1 local_f0; undefined7 uStack_ef; undefined1 *local_e0; ulonglong local_d8; undefined1 local_c8 [80]; longlong local_78; longlong local_70; char local_68; undefined1 local_60; undefined7 uStack_5f; undefined8 local_50; ulonglong local_48; undefined8 local_38; ulonglong local_30; local_2d0 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_318; local_2d8 = param_1; uVar13 = 0; uVar6 = 0; plVar1 = (longlong *)(param_2 + 0x10); if (*plVar1 == 0) { /* WARNING: Subroutine does not return */ FUN_1805a69e0(); } pcVar8 = param_2; if (0xf < *(ulonglong *)(param_2 + 0x18)) { pcVar8 = *(char **)param_2; } local_2e8 = *pcVar8 == '-'; local_38 = (undefined1 *)CONCAT35(local_38._5_3_,0x2e2c3a2d); local_1b8 = 0; local_1b0 = 0xf; local_1c8[0] = 0; local_198 = 0; local_190 = 0xf; local_1a8[0] = 0; lVar16 = -1; do { lVar3 = lVar16 + 1; lVar16 = lVar16 + 1; } while (*(char *)((longlong)&local_38 + lVar3) != '\0'); FUN_1805a6cb0(local_1a8,&local_38); local_188 = 0; local_184 = 0; local_180 = 0; local_228 = param_2; if (0xf < *(ulonglong *)(param_2 + 0x18)) { local_228 = *(char **)param_2; param_2 = *(char **)param_2; } local_220 = param_2 + *plVar1; local_2e0 = local_218; FUN_1805a4070(local_218,local_1c8); FUN_1805a4070(local_1f8,local_1a8); local_1d8 = (undefined1)local_188; local_1d7 = local_188._1_1_; local_1d4 = local_184; local_1d0 = local_180; local_2e0 = local_2c8; FUN_1805a4070(local_2c8,local_218); FUN_1805a4070(local_2a8,local_1f8); local_288 = local_1d8; local_287 = local_1d7; local_284 = local_1d4; local_280 = local_1d0; FUN_18065aaa0(local_158,local_2c8,local_228,local_220); uVar9 = uVar13; uVar17 = uVar13; uVar5 = uVar6; while( true ) { local_2e0 = local_278; FUN_1805a4070(local_278,local_218); FUN_1805a4070(local_258,local_1f8); local_238 = local_1d8; local_237 = local_1d7; local_234 = local_1d4; local_230 = local_1d0; FUN_18065aaa0(local_c8,local_278,local_220,local_220); if ((local_68 == '\0') || (local_f8 == '\0')) { bVar18 = local_68 == local_f8; } else if ((local_78 == local_108) && (local_70 == local_100)) { bVar18 = true; } else { bVar18 = false; } if (0xf < local_48) { pvVar2 = (void *)CONCAT71(uStack_5f,local_60); pvVar12 = pvVar2; if ((0xfff < local_48 + 1) && (pvVar12 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar12)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar12); } local_50 = 0; local_48 = 0xf; local_60 = 0; FUN_18065b2a0(local_c8); if (bVar18) break; iVar15 = (int)uVar13; if (iVar15 == 0) { uVar10 = FUN_18060c070(&local_f0); uVar17 = (ulonglong)uVar10; } else if (iVar15 == 1) { uVar6 = FUN_180657330(&local_f0); } else if (iVar15 == 2) { uVar5 = FUN_180657330(&local_f0); } else if (iVar15 == 3) { iVar4 = (int)local_e0; if ((int)local_e0 < 6) { uVar9 = FUN_1806573c0(&local_f0); } else { local_168 = 0; local_160 = 0xf; local_178 = 0; local_2e0 = (undefined1 *)0x6; local_38 = local_e0; ppuVar11 = (undefined1 **)&local_38; if ((undefined1 *)0x5 < local_e0) { ppuVar11 = &local_2e0; } puVar14 = &local_f0; if (0xf < local_d8) { puVar14 = (undefined1 *)CONCAT71(uStack_ef,local_f0); } FUN_1805a6cb0(&local_178,puVar14,*ppuVar11); uVar9 = FUN_1806573c0(&local_178); if (0xf < local_160) { pvVar2 = (void *)CONCAT71(uStack_177,local_178); pvVar12 = pvVar2; if ((0xfff < local_160 + 1) && (pvVar12 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar12)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar12); } } if (iVar4 < 6) { iVar7 = 1; uVar10 = 6 - iVar4; uVar13 = (ulonglong)uVar10; if (0 < (int)uVar10) { do { iVar7 = iVar7 * 10; uVar13 = uVar13 - 1; } while (uVar13 != 0); } uVar9 = uVar9 * (longlong)iVar7; } } uVar13 = (ulonglong)(iVar15 + 1); local_f8 = FUN_1806535d0(local_158,&local_108,local_100,&local_f0); } if (local_d8 < 0x10) { local_e0 = (undefined1 *)0x0; local_d8 = 0xf; local_f0 = 0; FUN_18065b2a0(local_158); uVar10 = (uint)uVar17; if (local_2e8 == '\0') { local_2f8 = uVar9; FUN_18065a5a0(local_2d8,uVar17,uVar6,uVar5); } else { if (((int)uVar10 < 0) || ((longlong)uVar9 < 0)) { local_2e0 = (undefined1 *) ((((longlong)(int)((uVar10 ^ (int)uVar10 >> 0x1f) - ((int)uVar10 >> 0x1f)) * 0x3c + (longlong)(int)(uint)uVar6) * 0x3c + (longlong)(int)(uint)uVar5) * -1000000 - ((uVar9 ^ (longlong)uVar9 >> 0x3f) - ((longlong)uVar9 >> 0x3f))); } else { local_2e0 = (undefined1 *) ((((longlong)(int)uVar10 * 0x3c + (ulonglong)uVar6) * 0x3c + (ulonglong)uVar5) * 1000000 + uVar9); } FUN_18065be90(&local_2e0,local_2d8); } FUN_18065b2a0(local_218); FUN_18065b2a0(local_1c8); } pvVar2 = (void *)CONCAT71(uStack_ef,local_f0); pvVar12 = pvVar2; if ((0xfff < local_d8 + 1) && (pvVar12 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar12)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar12); } ############ FUN_ 180658650 size=432 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180658650(undefined8 *param_1,undefined8 param_2,uint param_3) { void *pvVar1; ulonglong uVar2; char cVar3; int iVar4; undefined1 *puVar5; void *_Memory; ulonglong uVar6; ulonglong uVar7; undefined1 auStack_78 [32]; undefined8 local_58; undefined1 local_50; undefined7 uStack_4f; ulonglong local_40; ulonglong local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_78; local_40 = 0; local_38 = 0xf; local_50 = 0; cVar3 = FUN_180653530(); uVar6 = 0; uVar7 = 0xf; uVar2 = uVar6; for (; (cVar3 == '\0' && ((uint)uVar6 < param_3)); uVar6 = (ulonglong)((uint)uVar6 + 1)) { if (*(char *)(param_1 + 1) == '\0') { if (((basic_streambuf_> *)*param_1 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_1), iVar4 == -1 )) { *param_1 = 0; } else { *(char *)((longlong)param_1 + 9) = (char)iVar4; } *(undefined1 *)(param_1 + 1) = 1; } iVar4 = isdigit((int)*(char *)((longlong)param_1 + 9)); if (iVar4 == 0) break; if (*(char *)(param_1 + 1) == '\0') { if (((basic_streambuf_> *)*param_1 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_1), iVar4 == -1 )) { *param_1 = 0; } else { *(char *)((longlong)param_1 + 9) = (char)iVar4; } *(undefined1 *)(param_1 + 1) = 1; } if (uVar2 < uVar7) { local_40 = uVar2 + 1; puVar5 = &local_50; if (0xf < uVar7) { puVar5 = (undefined1 *)CONCAT71(uStack_4f,local_50); } puVar5[uVar2] = *(undefined1 *)((longlong)param_1 + 9); puVar5[uVar2 + 1] = 0; } else { FUN_18060b550(&local_50,1); } if (((basic_streambuf_> *)*param_1 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_1), iVar4 == -1)) { *param_1 = 0; *(undefined1 *)(param_1 + 1) = 1; } else { *(undefined1 *)(param_1 + 1) = 0; } cVar3 = FUN_180653530(param_1,param_2); uVar7 = local_38; uVar2 = local_40; } if (uVar2 != 0) { FUN_180657260(&local_50); uVar7 = local_38; } if (0xf < uVar7) { pvVar1 = (void *)CONCAT71(uStack_4f,local_50); _Memory = pvVar1; if ((0xfff < uVar7 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } ############ FUN_ 18065c4b0 size=52 ############ void * FUN_18065c4b0(void *param_1,ulonglong param_2) { FUN_18065c190(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c4f0 size=52 ############ void * FUN_18065c4f0(void *param_1,ulonglong param_2) { FUN_18065c230(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c530 size=52 ############ void * FUN_18065c530(void *param_1,ulonglong param_2) { FUN_18065c2d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c570 size=52 ############ void * FUN_18065c570(void *param_1,ulonglong param_2) { FUN_18065c370(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c5b0 size=52 ############ void * FUN_18065c5b0(void *param_1,ulonglong param_2) { FUN_18065b360(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c5f0 size=52 ############ void * FUN_18065c5f0(void *param_1,ulonglong param_2) { FUN_18065b4d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c630 size=125 ############ undefined8 * FUN_18065c630(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector:: vftable; param_1[3] = boost::exception::vftable; if ((longlong *)param_1[4] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[4] + 0x20))(); if (cVar1 != '\0') { param_1[4] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c6b0 size=125 ############ undefined8 * FUN_18065c6b0(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[3] = boost::exception::vftable; if ((longlong *)param_1[4] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[4] + 0x20))(); if (cVar1 != '\0') { param_1[4] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c730 size=125 ############ undefined8 * FUN_18065c730(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[5] = boost::exception::vftable; if ((longlong *)param_1[6] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[6] + 0x20))(); if (cVar1 != '\0') { param_1[6] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c7b0 size=125 ############ undefined8 * FUN_18065c7b0(undefined8 *param_1,ulonglong param_2) { char cVar1; *param_1 = boost::exception_detail::error_info_injector::vftable; param_1[3] = boost::exception::vftable; if ((longlong *)param_1[4] != (longlong *)0x0) { cVar1 = (**(code **)(*(longlong *)param_1[4] + 0x20))(); if (cVar1 != '\0') { param_1[4] = 0; } } *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c830 size=53 ############ num_get_>_> * FUN_18065c830(num_get_>_> *param_1, uint param_2) { std::num_get_>_>:: ~num_get_>_>(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18065c870 size=152 ############ void * FUN_18065c870(void *param_1,uint param_2) { void *pvVar1; void *_Memory; if (*(ulonglong *)((longlong)param_1 + 0x1a0) < 0x10) { *(undefined8 *)((longlong)param_1 + 0x198) = 0; *(undefined8 *)((longlong)param_1 + 0x1a0) = 0xf; *(undefined1 *)((longlong)param_1 + 0x188) = 0; FUN_18065b360(param_1); if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = *(void **)((longlong)param_1 + 0x188); _Memory = pvVar1; if ((0xfff < *(ulonglong *)((longlong)param_1 + 0x1a0) + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18065c910 size=152 ############ void * FUN_18065c910(void *param_1,uint param_2) { void *pvVar1; void *_Memory; if (*(ulonglong *)((longlong)param_1 + 0x178) < 0x10) { *(undefined8 *)((longlong)param_1 + 0x170) = 0; *(undefined8 *)((longlong)param_1 + 0x178) = 0xf; *(undefined1 *)((longlong)param_1 + 0x160) = 0; FUN_18065b4d0(param_1); if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = *(void **)((longlong)param_1 + 0x160); _Memory = pvVar1; if ((0xfff < *(ulonglong *)((longlong)param_1 + 0x178) + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18065e200 size=838 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18065e200(longlong param_1,undefined8 param_2,undefined8 *param_3,ios_base *param_4, undefined1 param_5,longlong param_6,longlong *param_7) { longlong lVar1; void *pvVar2; undefined8 *puVar3; longlong lVar4; undefined8 uVar5; time_put_>_> *ptVar6; undefined8 *puVar7; void *_Memory; longlong *plVar8; undefined1 auStack_e8 [32]; undefined1 local_c8; longlong local_c0; longlong *local_b8; undefined1 *local_b0; undefined8 *local_a8; longlong lStack_a0; undefined1 *local_98; longlong *plStack_90; undefined8 local_88; undefined4 local_78; undefined4 uStack_74; undefined8 uStack_70; undefined8 local_68; undefined8 local_58; longlong *local_50; ulonglong local_48; local_58 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_e8; local_50 = param_7; if (*(longlong *)(param_1 + 0x178) - *(longlong *)(param_1 + 0x170) >> 5 != 0) { puVar3 = (undefined8 *) ((longlong)*(int *)(param_6 + 0x18) * 0x20 + *(longlong *)(param_1 + 0x170)); puVar7 = puVar3; local_a8 = puVar3; if (0xf < (ulonglong)puVar3[3]) { local_a8 = (undefined8 *)*puVar3; puVar7 = (undefined8 *)*puVar3; } lStack_a0 = puVar3[2] + (longlong)puVar7; lVar1 = -1; do { lVar4 = lVar1; lVar1 = lVar4 + 1; } while ((&DAT_181bbad31)[lVar4] != '\0'); plStack_90 = (longlong *)(&DAT_181bbad31 + lVar4); local_98 = &DAT_181bbad30; local_78 = 0x81bbad30; uStack_74 = 1; local_68 = local_88; uStack_70 = plStack_90; FUN_180654a20(param_7,&local_78,&local_a8); } if (*(longlong *)(param_1 + 0x160) - *(longlong *)(param_1 + 0x158) >> 5 != 0) { puVar3 = (undefined8 *) ((longlong)*(int *)(param_6 + 0x18) * 0x20 + *(longlong *)(param_1 + 0x158)); puVar7 = puVar3; local_a8 = puVar3; if (0xf < (ulonglong)puVar3[3]) { local_a8 = (undefined8 *)*puVar3; puVar7 = (undefined8 *)*puVar3; } lStack_a0 = puVar3[2] + (longlong)puVar7; lVar1 = -1; do { lVar4 = lVar1; lVar1 = lVar4 + 1; } while ((&DAT_181bbad35)[lVar4] != '\0'); plStack_90 = (longlong *)(&DAT_181bbad35 + lVar4); local_98 = &DAT_181bbad34; local_78 = 0x81bbad34; uStack_74 = 1; local_68 = local_88; uStack_70 = plStack_90; FUN_180654a20(param_7,&local_78,&local_a8); } if (*(longlong *)(param_1 + 0x148) - *(longlong *)(param_1 + 0x140) >> 5 != 0) { puVar3 = (undefined8 *) ((longlong)*(int *)(param_6 + 0x10) * 0x20 + *(longlong *)(param_1 + 0x140)); puVar7 = puVar3; local_a8 = puVar3; if (0xf < (ulonglong)puVar3[3]) { local_a8 = (undefined8 *)*puVar3; puVar7 = (undefined8 *)*puVar3; } lStack_a0 = puVar3[2] + (longlong)puVar7; lVar1 = -1; do { lVar4 = lVar1; lVar1 = lVar4 + 1; } while ((&UNK_181bbad39)[lVar4] != '\0'); plStack_90 = (longlong *)(&UNK_181bbad39 + lVar4); local_98 = &DAT_181bbad38; local_78 = 0x81bbad38; uStack_74 = 1; local_68 = local_88; uStack_70 = plStack_90; FUN_180654a20(param_7,&local_78,&local_a8); } if (*(longlong *)(param_1 + 0x130) - *(longlong *)(param_1 + 0x128) >> 5 != 0) { puVar3 = (undefined8 *) ((longlong)*(int *)(param_6 + 0x10) * 0x20 + *(longlong *)(param_1 + 0x128)); puVar7 = puVar3; local_a8 = puVar3; if (0xf < (ulonglong)puVar3[3]) { local_a8 = (undefined8 *)*puVar3; puVar7 = (undefined8 *)*puVar3; } lStack_a0 = puVar3[2] + (longlong)puVar7; lVar1 = -1; do { lVar4 = lVar1; lVar1 = lVar4 + 1; } while ((&DAT_181bbad3d)[lVar4] != '\0'); plStack_90 = (longlong *)(&DAT_181bbad3d + lVar4); local_98 = &DAT_181bbad3c; local_78 = 0x81bbad3c; uStack_74 = 1; local_68 = local_88; uStack_70 = plStack_90; FUN_180654a20(param_7,&local_78,&local_a8); } plVar8 = param_7; if (0xf < (ulonglong)param_7[3]) { plVar8 = (longlong *)*param_7; } local_a8 = (undefined8 *)*param_3; lStack_a0 = param_3[1]; uVar5 = std::ios_base::getloc(param_4); lVar1 = param_7[2]; ptVar6 = (time_put_>_> *) FUN_180658560(uVar5); local_c0 = param_6; local_c8 = param_5; local_b8 = plVar8; local_b0 = (undefined1 *)(lVar1 + (longlong)plVar8); std::time_put_>_>::put (ptVar6,param_2,&local_a8,param_4); if (plStack_90 != (longlong *)0x0) { puVar7 = (undefined8 *)(**(code **)(*plStack_90 + 0x10))(); if (puVar7 != (undefined8 *)0x0) { (**(code **)*puVar7)(puVar7,1); } } if (0xf < (ulonglong)param_7[3]) { pvVar2 = (void *)*param_7; _Memory = pvVar2; if ((0xfff < param_7[3] + 1U) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } param_7[2] = 0; param_7[3] = 0xf; *(undefined1 *)param_7 = 0; } ############ FUN_ 180666eb0 size=343 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180666eb0(undefined8 param_1,ushort *param_2,undefined8 *param_3,undefined8 param_4) { void *pvVar1; char cVar2; ushort uVar3; int iVar4; void *_Memory; undefined1 auStack_88 [32]; undefined1 *local_68; undefined1 local_58 [8]; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; undefined4 local_28; ulonglong local_20; local_50 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_88; while( true ) { if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 == -1 )) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar4; } *(undefined1 *)(param_3 + 1) = 1; } iVar4 = isspace((int)*(char *)((longlong)param_3 + 9)); if ((iVar4 == 0) || (cVar2 = FUN_180653530(param_3,param_4), cVar2 != '\0')) break; if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar4 == -1)) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; } else { *(undefined1 *)(param_3 + 1) = 0; } } local_38 = 0; local_30 = 0xf; local_48 = 0; local_28 = 0xffff0000; local_58[0] = 0x30; local_68 = local_58; uVar3 = FUN_180655830(param_3,param_4,&local_48,2); *param_2 = 1; if (uVar3 + 1 < 2) { /* WARNING: Subroutine does not return */ FUN_1805c02b0(1,uVar3,0); } if (0x1f < uVar3) { /* WARNING: Subroutine does not return */ FUN_1805c02b0(1); } *param_2 = uVar3; if (0xf < local_30) { pvVar1 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar1; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } ############ FUN_ 180667020 size=588 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180667020(undefined8 param_1,undefined8 *param_2,undefined8 param_3,longlong *param_4) { void *pvVar1; char cVar2; int iVar3; undefined1 *puVar4; longlong lVar5; ulonglong uVar6; void *pvVar7; ulonglong uVar8; ulonglong uVar9; undefined1 auStack_a8 [32]; undefined8 local_88; undefined1 local_80; undefined7 uStack_7f; ulonglong local_70; ulonglong local_68; undefined1 local_60; undefined7 uStack_5f; undefined8 local_50; ulonglong local_48; ulonglong local_40; local_88 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_a8; local_70 = 0; local_68 = 0xf; local_80 = 0; cVar2 = FUN_180653530(param_2,param_3); uVar6 = 0xf; if (cVar2 == '\0') { uVar9 = 1; uVar8 = 0; do { if (*(char *)(param_2 + 1) == '\0') { if (((basic_streambuf_> *)*param_2 == (basic_streambuf_> *)0x0) || (iVar3 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_2), iVar3 == -1)) { *param_2 = 0; } else { *(char *)((longlong)param_2 + 9) = (char)iVar3; } *(undefined1 *)(param_2 + 1) = 1; } iVar3 = isdigit((int)*(char *)((longlong)param_2 + 9)); if (iVar3 == 0) break; if (*(char *)(param_2 + 1) == '\0') { if (((basic_streambuf_> *)*param_2 == (basic_streambuf_> *)0x0) || (iVar3 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_2), iVar3 == -1)) { *param_2 = 0; } else { *(char *)((longlong)param_2 + 9) = (char)iVar3; } *(undefined1 *)(param_2 + 1) = 1; } if (uVar8 < uVar6) { local_70 = uVar8 + 1; puVar4 = &local_80; if (0xf < uVar6) { puVar4 = (undefined1 *)CONCAT71(uStack_7f,local_80); } puVar4[uVar8] = *(undefined1 *)((longlong)param_2 + 9); puVar4[uVar8 + 1] = 0; } else { FUN_18060b550(&local_80,1,0); } if (((basic_streambuf_> *)*param_2 == (basic_streambuf_> *)0x0) || (iVar3 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_2), iVar3 == -1 )) { *param_2 = 0; *(undefined1 *)(param_2 + 1) = 1; } else { *(undefined1 *)(param_2 + 1) = 0; } cVar2 = FUN_180653530(param_2,param_3); uVar6 = local_68; uVar8 = local_70; } while (cVar2 == '\0'); if (uVar8 != 0) { if (uVar8 < 6) { lVar5 = FUN_1806573c0(&local_80); *param_4 = lVar5; uVar6 = (ulonglong)(ushort)(6U - (short)local_70); if ((ushort)(6U - (short)local_70) != 0) { do { uVar9 = (ulonglong)(uint)((int)uVar9 * 10); uVar6 = uVar6 - 1; } while (uVar6 != 0); } *param_4 = uVar9 * lVar5; uVar6 = local_68; } else { local_50 = 0; local_48 = 0xf; local_60 = 0; puVar4 = &local_80; if (0xf < uVar6) { puVar4 = (undefined1 *)CONCAT71(uStack_7f,local_80); } FUN_1805a6cb0(&local_60,puVar4,6); lVar5 = FUN_1806573c0(&local_60); *param_4 = lVar5; uVar6 = local_68; if (0xf < local_48) { pvVar1 = (void *)CONCAT71(uStack_5f,local_60); pvVar7 = pvVar1; if ((0xfff < local_48 + 1) && (pvVar7 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } } } } if (uVar6 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_7f,local_80); pvVar7 = pvVar1; if ((0xfff < uVar6 + 1) && (pvVar7 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } ############ FUN_ 180667290 size=1188 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180667290(longlong param_1,ushort *param_2,undefined8 *param_3,undefined8 param_4, longlong *param_5,undefined8 *param_6) { bool bVar1; char cVar2; ushort uVar3; int iVar4; longlong *plVar5; void *pvVar6; void *pvVar7; longlong *plVar8; uint uVar9; undefined1 auStack_d8 [32]; undefined4 *local_b8; undefined4 local_a8; undefined4 local_a4; undefined8 local_a0; longlong local_98; ushort *local_90; undefined8 local_88; longlong *local_80; undefined8 local_78; undefined8 uStack_70; undefined8 local_68; ulonglong uStack_60; undefined4 local_58; ulonglong local_50; local_88 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_d8; local_80 = param_5; uVar9 = 0; local_a4 = 0; bVar1 = false; local_a0 = param_4; local_98 = param_1; local_90 = param_2; while( true ) { if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 == -1 )) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar4; } *(undefined1 *)(param_3 + 1) = 1; } iVar4 = isspace((int)*(char *)((longlong)param_3 + 9)); if ((iVar4 == 0) || (cVar2 = FUN_180653530(param_3,param_4), cVar2 != '\0')) break; if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar4 == -1)) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; } else { *(undefined1 *)(param_3 + 1) = 0; } } if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 == -1)) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar4; } *(undefined1 *)(param_3 + 1) = 1; } plVar8 = param_5; if (0xf < (ulonglong)param_5[3]) { plVar8 = (longlong *)*param_5; } LAB_180667386: do { plVar5 = param_5; if (0xf < (ulonglong)param_5[3]) { plVar5 = (longlong *)*param_5; } if ((plVar8 == (longlong *)(param_5[2] + (longlong)plVar5)) || (cVar2 = FUN_180653530(param_3,local_a0), cVar2 != '\0')) { *local_90 = 1; if (uVar9 + 1 < 2) { /* WARNING: Subroutine does not return */ FUN_1805c02e0(1,uVar9,0); } if (0xc < (ushort)uVar9) { /* WARNING: Subroutine does not return */ FUN_1805c02e0(1,uVar9); } *local_90 = (ushort)uVar9; if ((ulonglong)param_5[3] < 0x10) { param_5[2] = 0; param_5[3] = 0xf; *(char *)param_5 = '\0'; } pvVar6 = (void *)*param_5; pvVar7 = pvVar6; if ((0xfff < param_5[3] + 1U) && (pvVar7 = *(void **)((longlong)pvVar6 + -8), 0x1f < (ulonglong)((longlong)pvVar6 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } if ((char)*plVar8 != '%') { plVar8 = (longlong *)((longlong)plVar8 + 1); if (bVar1) { bVar1 = false; if (*(char *)(param_3 + 1) != '\0') goto LAB_180667386; if (((basic_streambuf_> *)*param_3 != (basic_streambuf_> *)0x0) && (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 != -1)) { *(char *)((longlong)param_3 + 9) = (char)iVar4; *(undefined1 *)(param_3 + 1) = 1; goto LAB_180667386; } } else { if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 == -1)) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar4; } *(undefined1 *)(param_3 + 1) = 1; } if (((basic_streambuf_> *)*param_3 != (basic_streambuf_> *)0x0) && (iVar4 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar4 != -1)) { *(undefined1 *)(param_3 + 1) = 0; goto LAB_180667386; } } *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; goto LAB_180667386; } cVar2 = *(char *)((longlong)plVar8 + 1); if (cVar2 != '%') { if (cVar2 == 'B') { local_a8 = 0; local_68 = 0; uStack_60 = 0xf; local_78._0_1_ = 0; local_58 = 0xffff0000; local_a4 = 2; local_b8 = &local_a8; FUN_180666b90(local_98 + 0x38,param_3,local_a0,&local_78); if (param_6 != &local_78) { FUN_180485450(param_6); *param_6 = CONCAT71(local_78._1_7_,(undefined1)local_78); param_6[1] = uStack_70; param_6[2] = local_68; param_6[3] = uStack_60; local_68 = 0; uStack_60 = 0xf; local_78._0_1_ = 0; } *(undefined2 *)(param_6 + 4) = (undefined2)local_58; *(undefined2 *)((longlong)param_6 + 0x22) = local_58._2_2_; if (0xf < uStack_60) { pvVar7 = (void *)CONCAT71(local_78._1_7_,(undefined1)local_78); pvVar6 = pvVar7; if ((0xfff < uStack_60 + 1) && (pvVar6 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } goto LAB_180667592; } } else { if (cVar2 != 'b') { if (cVar2 != 'm') goto LAB_180667602; uVar3 = FUN_180658650(param_3,local_a0,2); uVar9 = (uint)uVar3; plVar8 = (longlong *)((longlong)plVar8 + 2); goto LAB_180667386; } local_a8 = 0; local_68 = 0; uStack_60 = 0xf; local_78._0_1_ = 0; local_58 = 0xffff0000; local_a4 = 1; local_b8 = &local_a8; FUN_180666b90(local_98 + 0x20,param_3,local_a0,&local_78); if (param_6 != &local_78) { FUN_180485450(param_6); *param_6 = CONCAT71(local_78._1_7_,(undefined1)local_78); param_6[1] = uStack_70; param_6[2] = local_68; param_6[3] = uStack_60; local_68 = 0; uStack_60 = 0xf; local_78._0_1_ = 0; } *(undefined2 *)(param_6 + 4) = (undefined2)local_58; *(undefined2 *)((longlong)param_6 + 0x22) = local_58._2_2_; if (0xf < uStack_60) { pvVar7 = (void *)CONCAT71(local_78._1_7_,(undefined1)local_78); pvVar6 = pvVar7; if ((0xfff < uStack_60 + 1) && (pvVar6 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } LAB_180667592: /* WARNING: Subroutine does not return */ free(pvVar6); } } uVar9 = (uint)*(ushort *)((longlong)param_6 + 0x22); if ((ulonglong)*(ushort *)(param_6 + 4) < (ulonglong)param_6[2]) { bVar1 = true; plVar8 = (longlong *)((longlong)plVar8 + 2); } else { LAB_180667602: plVar8 = (longlong *)((longlong)plVar8 + 2); } goto LAB_180667386; } if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 == -1 )) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar4; } *(undefined1 *)(param_3 + 1) = 1; } if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar4 == -1)) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; goto LAB_180667602; } *(undefined1 *)(param_3 + 1) = 0; plVar8 = (longlong *)((longlong)plVar8 + 2); } while( true ); } ############ FUN_ 180667750 size=1184 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180667750(longlong param_1,ushort *param_2,undefined8 *param_3,undefined8 param_4, longlong *param_5,undefined8 *param_6) { bool bVar1; char cVar2; ushort uVar3; int iVar4; longlong *plVar5; void *pvVar6; void *pvVar7; longlong *plVar8; uint uVar9; undefined1 auStack_d8 [32]; undefined4 *local_b8; undefined4 local_a8; undefined4 local_a4; undefined8 local_a0; longlong local_98; ushort *local_90; undefined8 local_88; longlong *local_80; undefined8 local_78; undefined8 uStack_70; undefined8 local_68; ulonglong uStack_60; undefined4 local_58; ulonglong local_50; local_88 = 0xfffffffffffffffe; local_50 = DAT_182615970 ^ (ulonglong)auStack_d8; local_80 = param_5; uVar9 = 0; local_a4 = 0; bVar1 = false; local_a0 = param_4; local_98 = param_1; local_90 = param_2; while( true ) { if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 == -1 )) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar4; } *(undefined1 *)(param_3 + 1) = 1; } iVar4 = isspace((int)*(char *)((longlong)param_3 + 9)); if ((iVar4 == 0) || (cVar2 = FUN_180653530(param_3,param_4), cVar2 != '\0')) break; if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar4 == -1)) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; } else { *(undefined1 *)(param_3 + 1) = 0; } } if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 == -1)) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar4; } *(undefined1 *)(param_3 + 1) = 1; } plVar8 = param_5; if (0xf < (ulonglong)param_5[3]) { plVar8 = (longlong *)*param_5; } LAB_180667846: do { plVar5 = param_5; if (0xf < (ulonglong)param_5[3]) { plVar5 = (longlong *)*param_5; } if ((plVar8 == (longlong *)(param_5[2] + (longlong)plVar5)) || (cVar2 = FUN_180653530(param_3,local_a0), cVar2 != '\0')) { *local_90 = 0; if (uVar9 == 0xffffffff) { /* WARNING: Subroutine does not return */ FUN_180666e80(0,0xffff,0); } if (6 < (ushort)uVar9) { /* WARNING: Subroutine does not return */ FUN_180666e80(0,uVar9,1); } *local_90 = (ushort)uVar9; if ((ulonglong)param_5[3] < 0x10) { param_5[2] = 0; param_5[3] = 0xf; *(char *)param_5 = '\0'; } pvVar6 = (void *)*param_5; pvVar7 = pvVar6; if ((0xfff < param_5[3] + 1U) && (pvVar7 = *(void **)((longlong)pvVar6 + -8), 0x1f < (ulonglong)((longlong)pvVar6 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } if ((char)*plVar8 != '%') { plVar8 = (longlong *)((longlong)plVar8 + 1); if (bVar1) { bVar1 = false; if (*(char *)(param_3 + 1) != '\0') goto LAB_180667846; if (((basic_streambuf_> *)*param_3 != (basic_streambuf_> *)0x0) && (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 != -1)) { *(char *)((longlong)param_3 + 9) = (char)iVar4; *(undefined1 *)(param_3 + 1) = 1; goto LAB_180667846; } } else { if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 == -1)) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar4; } *(undefined1 *)(param_3 + 1) = 1; } if (((basic_streambuf_> *)*param_3 != (basic_streambuf_> *)0x0) && (iVar4 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar4 != -1)) { *(undefined1 *)(param_3 + 1) = 0; goto LAB_180667846; } } *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; goto LAB_180667846; } cVar2 = *(char *)((longlong)plVar8 + 1); if (cVar2 != '%') { if (cVar2 == 'A') { local_a8 = 0; local_68 = 0; uStack_60 = 0xf; local_78._0_1_ = 0; local_58 = 0xffff0000; local_a4 = 2; local_b8 = &local_a8; FUN_180666b90(local_98 + 0x68,param_3,local_a0,&local_78); if (param_6 != &local_78) { FUN_180485450(param_6); *param_6 = CONCAT71(local_78._1_7_,(undefined1)local_78); param_6[1] = uStack_70; param_6[2] = local_68; param_6[3] = uStack_60; local_68 = 0; uStack_60 = 0xf; local_78._0_1_ = 0; } *(undefined2 *)(param_6 + 4) = (undefined2)local_58; *(undefined2 *)((longlong)param_6 + 0x22) = local_58._2_2_; if (0xf < uStack_60) { pvVar7 = (void *)CONCAT71(local_78._1_7_,(undefined1)local_78); pvVar6 = pvVar7; if ((0xfff < uStack_60 + 1) && (pvVar6 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } goto LAB_180667a52; } } else { if (cVar2 != 'a') { if (cVar2 != 'w') goto LAB_180667ac2; uVar3 = FUN_180658650(param_3,local_a0); uVar9 = (uint)uVar3; plVar8 = (longlong *)((longlong)plVar8 + 2); goto LAB_180667846; } local_a8 = 0; local_68 = 0; uStack_60 = 0xf; local_78._0_1_ = 0; local_58 = 0xffff0000; local_a4 = 1; local_b8 = &local_a8; FUN_180666b90(local_98 + 0x50,param_3,local_a0,&local_78); if (param_6 != &local_78) { FUN_180485450(param_6); *param_6 = CONCAT71(local_78._1_7_,(undefined1)local_78); param_6[1] = uStack_70; param_6[2] = local_68; param_6[3] = uStack_60; local_68 = 0; uStack_60 = 0xf; local_78._0_1_ = 0; } *(undefined2 *)(param_6 + 4) = (undefined2)local_58; *(undefined2 *)((longlong)param_6 + 0x22) = local_58._2_2_; if (0xf < uStack_60) { pvVar7 = (void *)CONCAT71(local_78._1_7_,(undefined1)local_78); pvVar6 = pvVar7; if ((0xfff < uStack_60 + 1) && (pvVar6 = *(void **)((longlong)pvVar7 + -8), 0x1f < (ulonglong)((longlong)pvVar7 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } LAB_180667a52: /* WARNING: Subroutine does not return */ free(pvVar6); } } uVar9 = (uint)*(ushort *)((longlong)param_6 + 0x22); if ((ulonglong)*(ushort *)(param_6 + 4) < (ulonglong)param_6[2]) { bVar1 = true; plVar8 = (longlong *)((longlong)plVar8 + 2); } else { LAB_180667ac2: plVar8 = (longlong *)((longlong)plVar8 + 2); } goto LAB_180667846; } if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar4 == -1 )) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar4; } *(undefined1 *)(param_3 + 1) = 1; } if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar4 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar4 == -1)) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; goto LAB_180667ac2; } *(undefined1 *)(param_3 + 1) = 0; plVar8 = (longlong *)((longlong)plVar8 + 2); } while( true ); } ############ FUN_ 180667c10 size=742 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180667c10(undefined8 param_1,ushort *param_2,undefined8 *param_3,undefined8 param_4, longlong *param_5,undefined8 param_6) { void *pvVar1; char cVar2; short sVar3; ushort uVar4; int iVar5; longlong *plVar6; void *_Memory; longlong *plVar7; undefined1 auStack_98 [32]; undefined1 *local_78; undefined1 local_68 [8]; ushort *local_60; undefined8 local_58; longlong *local_50; ulonglong local_48; local_58 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_98; local_50 = param_5; local_60 = param_2; while( true ) { if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar5 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar5 == -1 )) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar5; } *(undefined1 *)(param_3 + 1) = 1; } iVar5 = isspace((int)*(char *)((longlong)param_3 + 9)); if ((iVar5 == 0) || (cVar2 = FUN_180653530(param_3,param_4), cVar2 != '\0')) break; if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar5 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar5 == -1)) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; } else { *(undefined1 *)(param_3 + 1) = 0; } } if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar5 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar5 == -1)) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar5; } *(undefined1 *)(param_3 + 1) = 1; } uVar4 = 0; plVar7 = param_5; if (0xf < (ulonglong)param_5[3]) { plVar7 = (longlong *)*param_5; } do { while( true ) { while( true ) { plVar6 = param_5; if (0xf < (ulonglong)param_5[3]) { plVar6 = (longlong *)*param_5; } if ((plVar7 == (longlong *)(param_5[2] + (longlong)plVar6)) || (cVar2 = FUN_180653530(param_3,param_4), cVar2 != '\0')) { *local_60 = 0x578; if (uVar4 + 1 < 0x579) { /* WARNING: Subroutine does not return */ FUN_1805c0310(0x578,uVar4,0); } if (10000 < uVar4) { /* WARNING: Subroutine does not return */ FUN_1805c0310(0x578,uVar4,1); } *local_60 = uVar4; if ((ulonglong)param_5[3] < 0x10) { param_5[2] = 0; param_5[3] = 0xf; *(char *)param_5 = '\0'; } pvVar1 = (void *)*param_5; _Memory = pvVar1; if ((0xfff < param_5[3] + 1U) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if ((char)*plVar7 == '%') break; if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar5 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar5 == -1)) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar5; } *(undefined1 *)(param_3 + 1) = 1; } if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar5 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar5 == -1)) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; plVar7 = (longlong *)((longlong)plVar7 + 1); } else { *(undefined1 *)(param_3 + 1) = 0; plVar7 = (longlong *)((longlong)plVar7 + 1); } } cVar2 = *(char *)((longlong)plVar7 + 1); if (cVar2 == '%') break; if (cVar2 == 'Y') { local_68[0] = 0x30; local_78 = local_68; uVar4 = FUN_180655830(param_3,param_4,param_6,4); plVar7 = (longlong *)((longlong)plVar7 + 2); } else if (cVar2 == 'y') { local_68[0] = 0x30; local_78 = local_68; sVar3 = FUN_180655830(param_3,param_4,param_6,2); uVar4 = sVar3 + 2000; plVar7 = (longlong *)((longlong)plVar7 + 2); } else { LAB_180667dfb: plVar7 = (longlong *)((longlong)plVar7 + 2); } } if (*(char *)(param_3 + 1) == '\0') { if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar5 = std::basic_streambuf_>::sgetc ((basic_streambuf_> *)*param_3), iVar5 == -1 )) { *param_3 = 0; } else { *(char *)((longlong)param_3 + 9) = (char)iVar5; } *(undefined1 *)(param_3 + 1) = 1; } if (((basic_streambuf_> *)*param_3 == (basic_streambuf_> *)0x0) || (iVar5 = std::basic_streambuf_>::sbumpc ((basic_streambuf_> *)*param_3), iVar5 == -1)) { *param_3 = 0; *(undefined1 *)(param_3 + 1) = 1; goto LAB_180667dfb; } *(undefined1 *)(param_3 + 1) = 0; plVar7 = (longlong *)((longlong)plVar7 + 2); } while( true ); } ############ FUN_ 18066c5e0 size=503 ############ void FUN_18066c5e0(longlong *param_1,longlong param_2,longlong param_3) { undefined8 *puVar1; void *pvVar2; ulonglong uVar3; ulonglong uVar4; longlong lVar5; void *_Memory; ulonglong uVar6; undefined8 *puVar7; undefined8 *puVar8; puVar1 = (undefined8 *)param_1[1]; puVar8 = (undefined8 *)*param_1; uVar3 = (param_3 - param_2) / 0x58; uVar6 = ((longlong)puVar1 - (longlong)puVar8) / 0x58; uVar4 = (param_1[2] - (longlong)puVar8) / 0x58; if (uVar4 < uVar3) { if (0x2e8ba2e8ba2e8ba < uVar3) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar6 = uVar3; if ((uVar4 <= 0x2e8ba2e8ba2e8ba - (uVar4 >> 1)) && (uVar6 = (uVar4 >> 1) + uVar4, uVar6 < uVar3) ) { uVar6 = uVar3; } if (puVar8 != (undefined8 *)0x0) { for (; puVar8 != puVar1; puVar8 = puVar8 + 0xb) { (**(code **)*puVar8)(puVar8,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < uVar4 * 0x58) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar6 != 0) { if (0x2e8ba2e8ba2e8ba < uVar6) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } lVar5 = FUN_180681960(param_1,uVar6); *param_1 = lVar5; param_1[1] = lVar5; param_1[2] = uVar6 * 0x58 + *param_1; } lVar5 = FUN_18066e670(param_2,param_3,*param_1,param_1); param_1[1] = lVar5; } else if (uVar6 < uVar3) { lVar5 = uVar6 * 0x58 + param_2; FUN_18066ce80(param_2,lVar5,puVar8); lVar5 = FUN_18066e670(lVar5,param_3,param_1[1],param_1); param_1[1] = lVar5; } else { FUN_18066ce80(param_2,param_3,puVar8); puVar1 = (undefined8 *)param_1[1]; for (puVar7 = puVar8 + uVar3 * 0xb; puVar7 != puVar1; puVar7 = puVar7 + 0xb) { (**(code **)*puVar7)(puVar7,0); } param_1[1] = (longlong)(puVar8 + uVar3 * 0xb); } return; } ############ FUN_ 18066cf60 size=542 ############ longlong FUN_18066cf60(longlong *param_1,longlong param_2,undefined8 param_3) { ulonglong uVar1; longlong lVar2; undefined8 *puVar3; void *pvVar4; ulonglong uVar5; longlong lVar6; longlong lVar7; undefined8 *puVar8; ulonglong uVar9; void *_Memory; longlong lVar10; longlong lVar11; undefined8 uVar12; uVar12 = 0xfffffffffffffffe; lVar2 = *param_1; lVar10 = (param_1[1] - lVar2) / 0x88; if (lVar10 == 0x1e1e1e1e1e1e1e1) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar10 + 1; uVar5 = (param_1[2] - lVar2) / 0x88; uVar9 = uVar1; if ((uVar5 <= 0x1e1e1e1e1e1e1e1 - (uVar5 >> 1)) && (uVar9 = (uVar5 >> 1) + uVar5, uVar9 < uVar1)) { uVar9 = uVar1; } lVar6 = FUN_1806818e0(param_1,uVar9); lVar7 = ((param_2 - lVar2) / 0x88) * 0x88; lVar2 = lVar7 + lVar6 + 0x88; lVar10 = lVar2; lVar11 = lVar6; FUN_180676cd0(lVar7 + lVar6,param_3); if (param_2 == param_1[1]) { FUN_18066e3f0(*param_1,param_1[1],lVar6,param_1); } else { FUN_180680600(param_1,*param_1,param_2,lVar6,lVar7,lVar10,lVar11,uVar12); FUN_180680600(param_1,param_2,param_1[1],lVar2); } puVar8 = (undefined8 *)*param_1; if (puVar8 != (undefined8 *)0x0) { puVar3 = (undefined8 *)param_1[1]; for (; puVar8 != puVar3; puVar8 = puVar8 + 0x11) { (**(code **)*puVar8)(puVar8,0); } pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar4) / 0x88) * 0x88)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar6; param_1[1] = uVar1 * 0x88 + lVar6; param_1[2] = uVar9 * 0x88 + lVar6; return *param_1 + lVar7; } ############ FUN_ 18067ff50 size=222 ############ void FUN_18067ff50(longlong *param_1,longlong param_2,longlong param_3,longlong param_4) { undefined8 *puVar1; void *pvVar2; undefined8 *puVar3; void *_Memory; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { *param_1 = param_2; param_1[1] = param_3 * 0x60 + param_2; param_1[2] = param_4 * 0x60 + param_2; return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 0xc) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x60) * 0x60)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18066d410 size=518 ############ longlong FUN_18066d410(longlong *param_1,longlong param_2,undefined8 param_3) { ulonglong uVar1; longlong lVar2; undefined8 *puVar3; void *pvVar4; ulonglong uVar5; longlong lVar6; longlong lVar7; undefined8 *puVar8; ulonglong uVar9; void *_Memory; longlong lVar10; longlong lVar11; undefined8 uVar12; uVar12 = 0xfffffffffffffffe; lVar2 = *param_1; lVar10 = (param_1[1] - lVar2) / 0x58; if (lVar10 == 0x2e8ba2e8ba2e8ba) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar10 + 1; uVar5 = (param_1[2] - lVar2) / 0x58; uVar9 = uVar1; if ((uVar5 <= 0x2e8ba2e8ba2e8ba - (uVar5 >> 1)) && (uVar9 = (uVar5 >> 1) + uVar5, uVar9 < uVar1)) { uVar9 = uVar1; } lVar6 = FUN_180681960(param_1,uVar9); lVar7 = ((param_2 - lVar2) / 0x58) * 0x58; lVar2 = lVar7 + lVar6 + 0x58; lVar10 = lVar2; lVar11 = lVar6; FUN_180676fd0(lVar7 + lVar6,param_3); if (param_2 == param_1[1]) { FUN_18066e470(*param_1,param_1[1],lVar6,param_1); } else { FUN_180680680(param_1,*param_1,param_2,lVar6,lVar7,lVar10,lVar11,uVar12); FUN_180680680(param_1,param_2,param_1[1],lVar2); } puVar8 = (undefined8 *)*param_1; if (puVar8 != (undefined8 *)0x0) { puVar3 = (undefined8 *)param_1[1]; for (; puVar8 != puVar3; puVar8 = puVar8 + 0xb) { (**(code **)*puVar8)(puVar8,0); } pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar4) / 0x58) * 0x58)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar6; param_1[1] = uVar1 * 0x58 + lVar6; param_1[2] = uVar9 * 0x58 + lVar6; return *param_1 + lVar7; } ############ FUN_ 18066d620 size=542 ############ longlong FUN_18066d620(longlong *param_1,longlong param_2,undefined8 param_3) { ulonglong uVar1; longlong lVar2; undefined8 *puVar3; void *pvVar4; ulonglong uVar5; longlong lVar6; longlong lVar7; undefined8 *puVar8; ulonglong uVar9; void *_Memory; longlong lVar10; longlong lVar11; undefined8 uVar12; uVar12 = 0xfffffffffffffffe; lVar2 = *param_1; lVar10 = (param_1[1] - lVar2) / 0x88; if (lVar10 == 0x1e1e1e1e1e1e1e1) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar10 + 1; uVar5 = (param_1[2] - lVar2) / 0x88; uVar9 = uVar1; if ((uVar5 <= 0x1e1e1e1e1e1e1e1 - (uVar5 >> 1)) && (uVar9 = (uVar5 >> 1) + uVar5, uVar9 < uVar1)) { uVar9 = uVar1; } lVar6 = FUN_1806818e0(param_1,uVar9); lVar7 = ((param_2 - lVar2) / 0x88) * 0x88; lVar2 = lVar7 + lVar6 + 0x88; lVar10 = lVar2; lVar11 = lVar6; FUN_180677c80(lVar7 + lVar6,param_3); if (param_2 == param_1[1]) { FUN_18066e720(*param_1,param_1[1],lVar6,param_1); } else { FUN_1806806f0(param_1,*param_1,param_2,lVar6,lVar7,lVar10,lVar11,uVar12); FUN_1806806f0(param_1,param_2,param_1[1],lVar2); } puVar8 = (undefined8 *)*param_1; if (puVar8 != (undefined8 *)0x0) { puVar3 = (undefined8 *)param_1[1]; for (; puVar8 != puVar3; puVar8 = puVar8 + 0x11) { (**(code **)*puVar8)(puVar8,0); } pvVar4 = (void *)*param_1; _Memory = pvVar4; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar4) / 0x88) * 0x88)) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar6; param_1[1] = uVar1 * 0x88 + lVar6; param_1[2] = uVar9 * 0x88 + lVar6; return *param_1 + lVar7; } ############ FUN_ 18066d840 size=546 ############ longlong FUN_18066d840(longlong *param_1,longlong param_2,undefined8 param_3) { ulonglong uVar1; undefined8 *puVar2; void *pvVar3; longlong lVar4; longlong lVar5; longlong lVar6; longlong lVar7; ulonglong uVar8; longlong lVar9; undefined8 *puVar10; ulonglong uVar11; void *_Memory; undefined8 uVar12; uVar12 = 0xfffffffffffffffe; lVar7 = *param_1; lVar9 = (param_2 - lVar7) + SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_2 - lVar7),8); lVar6 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[1] - lVar7),8) + (param_1[1] - lVar7); lVar6 = (lVar6 >> 7) - (lVar6 >> 0x3f); if (lVar6 == 0x186186186186186) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar6 + 1; lVar7 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - lVar7),8) + (param_1[2] - lVar7); uVar8 = (lVar7 >> 7) - (lVar7 >> 0x3f); uVar11 = uVar1; if ((uVar8 <= 0x186186186186186 - (uVar8 >> 1)) && (uVar11 = (uVar8 >> 1) + uVar8, uVar11 < uVar1) ) { uVar11 = uVar1; } lVar4 = FUN_180681a60(param_1,uVar11); lVar5 = ((lVar9 >> 7) - (lVar9 >> 0x3f)) * 0xa8; lVar9 = lVar5 + lVar4 + 0xa8; lVar7 = lVar9; lVar6 = lVar4; FUN_1805b6190(lVar5 + lVar4,param_3); if (param_2 == param_1[1]) { FUN_18066e7a0(*param_1,param_1[1],lVar4,param_1); } else { FUN_180680770(param_1,*param_1,param_2,lVar4,lVar5,lVar7,lVar6,uVar12); FUN_180680770(param_1,param_2,param_1[1],lVar9); } puVar10 = (undefined8 *)*param_1; if (puVar10 != (undefined8 *)0x0) { puVar2 = (undefined8 *)param_1[1]; for (; puVar10 != puVar2; puVar10 = puVar10 + 0x15) { (**(code **)*puVar10)(puVar10,0); } pvVar3 = (void *)*param_1; lVar9 = SUB168(SEXT816(-0x3cf3cf3cf3cf3cf3) * SEXT816(param_1[2] - (longlong)pvVar3),8) + (param_1[2] - (longlong)pvVar3); _Memory = pvVar3; if ((0xfff < (ulonglong)(((lVar9 >> 7) - (lVar9 >> 0x3f)) * 0xa8)) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = lVar4; param_1[1] = uVar1 * 0xa8 + lVar4; param_1[2] = uVar11 * 0xa8 + lVar4; return *param_1 + lVar5; } ############ FUN_ 18066da70 size=335 ############ void FUN_18066da70(longlong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; void *pvVar3; ulonglong uVar4; longlong lVar5; ulonglong uVar6; pvVar1 = (void *)param_1[1]; lVar5 = *param_1; uVar6 = (longlong)pvVar1 - lVar5; uVar2 = param_1[2] - lVar5; if (param_2 <= uVar2) { if (param_2 <= uVar6) { if (param_2 != uVar6) { param_1[1] = lVar5 + param_2; } return; } lVar5 = (longlong)pvVar1 + (param_2 - uVar6); memset(pvVar1,0,lVar5 - (longlong)pvVar1); param_1[1] = lVar5; return; } if (0x7fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar4 = param_2; if ((uVar2 <= 0x7fffffffffffffff - (uVar2 >> 1)) && (uVar4 = (uVar2 >> 1) + uVar2, uVar4 < param_2)) { uVar4 = param_2; } pvVar3 = (void *)FUN_1805c7ba0(param_1); memset((void *)((longlong)pvVar3 + uVar6),0,param_2 - uVar6); memmove(pvVar3,(void *)*param_1,param_1[1] - *param_1); pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = (longlong)pvVar3; param_1[1] = (longlong)pvVar3 + param_2; param_1[2] = (longlong)pvVar3 + uVar4; return; } pvVar3 = pvVar1; if ((0xfff < (ulonglong)(param_1[2] - (longlong)pvVar1)) && (pvVar3 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar3)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar3); } ############ FUN_ 18066dbd0 size=406 ############ void FUN_18066dbd0(ulonglong *param_1,ulonglong param_2) { void *pvVar1; ulonglong uVar2; undefined8 *puVar3; void *_Memory; longlong lVar4; ulonglong uVar5; longlong lVar6; ulonglong uVar7; undefined8 *puVar8; ulonglong uVar9; puVar3 = (undefined8 *)param_1[1]; uVar9 = *param_1; uVar7 = (longlong)((longlong)puVar3 - uVar9) >> 3; uVar2 = (longlong)(param_1[2] - uVar9) >> 3; if (param_2 <= uVar2) { if (param_2 <= uVar7) { if (param_2 != uVar7) { param_1[1] = uVar9 + param_2 * 8; } return; } lVar6 = param_2 - uVar7; lVar4 = lVar6; puVar8 = puVar3; if (lVar6 != 0) { for (; lVar4 != 0; lVar4 = lVar4 + -1) { *puVar8 = 0; puVar8 = puVar8 + 1; } puVar3 = puVar3 + lVar6; } param_1[1] = (ulonglong)puVar3; return; } if (0x1fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar2 <= 0x1fffffffffffffff - (uVar2 >> 1)) && (uVar9 = (uVar2 >> 1) + uVar2, uVar9 < param_2)) { uVar9 = param_2; } uVar2 = FUN_1805bcb90(param_1,uVar9); puVar3 = (undefined8 *)(uVar2 + uVar7 * 8); lVar4 = param_2 - uVar7; if (lVar4 != 0) { for (; lVar4 != 0; lVar4 = lVar4 + -1) { *puVar3 = 0; puVar3 = puVar3 + 1; } } puVar3 = (undefined8 *)*param_1; uVar5 = 0; uVar7 = (param_1[1] - (longlong)puVar3) + 7 >> 3; if ((undefined8 *)param_1[1] < puVar3) { uVar7 = uVar5; } if (uVar7 != 0) { lVar4 = uVar2 - (longlong)puVar3; do { *(undefined8 *)((longlong)puVar3 + lVar4) = *puVar3; puVar3 = puVar3 + 1; uVar5 = uVar5 + 1; } while (uVar5 != uVar7); } pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = uVar2; param_1[1] = uVar2 + param_2 * 8; param_1[2] = uVar2 + uVar9 * 8; return; } _Memory = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffff8)) && (_Memory = *(void **)((longlong)pvVar1 - 8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18066dd70 size=539 ############ void FUN_18066dd70(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; ulonglong uVar3; longlong lVar4; longlong lVar5; longlong lVar6; undefined8 *puVar7; undefined8 *puVar8; undefined8 *puVar9; void *_Memory; ulonglong uVar10; undefined8 local_res18; ulonglong local_res20; undefined8 uVar11; uVar11 = 0xfffffffffffffffe; puVar7 = (undefined8 *)param_1[1]; lVar5 = *param_1; uVar3 = ((longlong)puVar7 - lVar5) / 0x58; uVar2 = (param_1[2] - lVar5) / 0x58; local_res18 = param_3; if (param_2 <= uVar2) { if (uVar3 < param_2) { lVar5 = FUN_18067def0(&local_res18,puVar7,param_2 - uVar3); param_1[1] = lVar5; return; } if (param_2 != uVar3) { puVar9 = (undefined8 *)(param_2 * 0x58 + lVar5); for (puVar8 = puVar9; puVar8 != puVar7; puVar8 = puVar8 + 0xb) { (**(code **)*puVar8)(puVar8,0); } param_1[1] = (longlong)puVar9; } return; } if (0x2e8ba2e8ba2e8ba < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar2 <= 0x2e8ba2e8ba2e8ba - (uVar2 >> 1)) && (uVar10 = (uVar2 >> 1) + uVar2, uVar10 < param_2)) { uVar10 = param_2; } local_res20 = uVar10; lVar4 = FUN_180681960(param_1,uVar10); lVar6 = uVar3 * 0x58 + lVar4; lVar5 = lVar4; FUN_18067def0(&local_res18,lVar6,param_2 - uVar3); FUN_18066e670(*param_1,param_1[1],lVar4,param_1,lVar6,lVar5,uVar11); puVar7 = (undefined8 *)*param_1; if (puVar7 == (undefined8 *)0x0) { *param_1 = lVar4; param_1[1] = param_2 * 0x58 + lVar4; param_1[2] = uVar10 * 0x58 + lVar4; return; } puVar8 = (undefined8 *)param_1[1]; for (; puVar7 != puVar8; puVar7 = puVar7 + 0xb) { (**(code **)*puVar7)(puVar7,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x58) * 0x58)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18066df90 size=558 ############ void FUN_18066df90(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; ulonglong uVar2; longlong lVar3; longlong lVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; void *_Memory; ulonglong uVar8; ulonglong uVar9; undefined8 uVar10; uVar10 = 0xfffffffffffffffe; puVar5 = (undefined8 *)param_1[1]; lVar3 = *param_1; lVar4 = ((longlong)puVar5 - lVar3) / 0x26 + ((longlong)puVar5 - lVar3 >> 0x3f); uVar8 = (lVar4 >> 3) - (lVar4 >> 0x3f); uVar2 = (param_1[2] - lVar3) / 0x130; if (param_2 <= uVar2) { if (param_2 <= uVar8) { if (param_2 != uVar8) { puVar7 = (undefined8 *)(param_2 * 0x130 + lVar3); for (puVar6 = puVar7; puVar6 != puVar5; puVar6 = puVar6 + 0x26) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (longlong)puVar7; } return; } lVar3 = FUN_18066e820(puVar5,param_2 - uVar8,param_3,0); param_1[1] = lVar3; return; } if (0xd79435e50d7943 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar2 <= 0xd79435e50d7943 - (uVar2 >> 1)) && (uVar9 = (uVar2 >> 1) + uVar2, uVar9 < param_2)) { uVar9 = param_2; } lVar3 = FUN_1806819e0(param_1,uVar9); lVar4 = uVar8 * 0x130 + lVar3; FUN_18066e820(lVar4,param_2 - uVar8,param_3,0,lVar4,lVar3,uVar10); FUN_18066e4e0(*param_1,param_1[1],lVar3,param_1); puVar5 = (undefined8 *)*param_1; if (puVar5 == (undefined8 *)0x0) { *param_1 = lVar3; param_1[1] = param_2 * 0x130 + lVar3; param_1[2] = uVar9 * 0x130 + lVar3; return; } puVar6 = (undefined8 *)param_1[1]; for (; puVar5 != puVar6; puVar5 = puVar5 + 0x26) { (**(code **)*puVar5)(puVar5,0); } pvVar1 = (void *)*param_1; _Memory = pvVar1; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar1) / 0x130) * 0x130)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806799d0 size=440 ############ void FUN_1806799d0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::AuthSummary::vftable; param_1[0xf4] = pace::eden::thrift::authorize::AuthIdentifier::vftable; FUN_1805b8100(param_1 + 0x175); FUN_1805b8100(param_1 + 0x135); FUN_1805b8100(param_1 + 0xf5); FUN_180679b90(param_1 + 0xd9); if (0xf < (ulonglong)param_1[0xd8]) { pvVar1 = (void *)param_1[0xd5]; pvVar2 = pvVar1; if ((0xfff < param_1[0xd8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xd7] = 0; param_1[0xd8] = 0xf; *(undefined1 *)(param_1 + 0xd5) = 0; FUN_1806798f0(param_1 + 0xcb); if (0xf < (ulonglong)param_1[0xca]) { pvVar1 = (void *)param_1[199]; pvVar2 = pvVar1; if ((0xfff < param_1[0xca] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xc9] = 0; param_1[0xca] = 0xf; *(undefined1 *)(param_1 + 199) = 0; if ((ulonglong)param_1[0xc6] < 0x10) { param_1[0xc5] = 0; param_1[0xc6] = 0xf; *(undefined1 *)(param_1 + 0xc3) = 0; param_1[1] = pace::eden::thrift::authorize::AuthIdentifier::vftable; FUN_1805b8100(param_1 + 0x82); FUN_1805b8100(param_1 + 0x42); FUN_1805b8100(param_1 + 2); return; } pvVar1 = (void *)param_1[0xc3]; pvVar2 = pvVar1; if ((0xfff < param_1[0xc6] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067cc20 size=374 ############ void FUN_18067cc20(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::PreferenceInfo::vftable; FUN_18067cda0(param_1 + 0x13); if (0xf < (ulonglong)param_1[0x12]) { pvVar1 = (void *)param_1[0xf]; pvVar2 = pvVar1; if ((0xfff < param_1[0x12] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x12] = 0xf; param_1[0x11] = 0; *(undefined1 *)(param_1 + 0xf) = 0; if (0xf < (ulonglong)param_1[0xe]) { pvVar1 = (void *)param_1[0xb]; pvVar2 = pvVar1; if ((0xfff < param_1[0xe] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xd] = 0; param_1[0xe] = 0xf; *(undefined1 *)(param_1 + 0xb) = 0; if (0xf < (ulonglong)param_1[9]) { pvVar1 = (void *)param_1[6]; pvVar2 = pvVar1; if ((0xfff < param_1[9] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar1 = (void *)param_1[2]; pvVar2 = pvVar1; if ((0xfff < param_1[5] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067cda0 size=305 ############ void FUN_18067cda0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::PreferenceValues::vftable; FUN_1805bc040(param_1 + 0xe); pvVar1 = (void *)param_1[0xb]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (param_1[0xd] - (longlong)pvVar1 & 0xfffffffffffffff8U)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[8]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (param_1[10] - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[5]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[7] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[1]; if (pvVar1 == (void *)0x0) { return; } pvVar2 = pvVar1; if ((0xfff < (param_1[3] - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067cf10 size=362 ############ void FUN_18067cf10(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::RemoteServerNotification::vftable; if (0xf < (ulonglong)param_1[0x11]) { pvVar1 = (void *)param_1[0xe]; pvVar2 = pvVar1; if ((0xfff < param_1[0x11] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x11] = 0xf; param_1[0x10] = 0; *(undefined1 *)(param_1 + 0xe) = 0; if (0xf < (ulonglong)param_1[0xd]) { pvVar1 = (void *)param_1[10]; pvVar2 = pvVar1; if ((0xfff < param_1[0xd] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xc] = 0; param_1[0xd] = 0xf; *(undefined1 *)(param_1 + 10) = 0; if (0xf < (ulonglong)param_1[9]) { pvVar1 = (void *)param_1[6]; pvVar2 = pvVar1; if ((0xfff < param_1[9] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; return; } pvVar1 = (void *)param_1[2]; pvVar2 = pvVar1; if ((0xfff < param_1[5] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067d390 size=308 ############ void FUN_18067d390(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::authorize::floating::ServerConnectInfo::vftable; if (0xf < (ulonglong)param_1[0x29]) { pvVar1 = (void *)param_1[0x26]; pvVar2 = pvVar1; if ((0xfff < param_1[0x29] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x28] = 0; param_1[0x29] = 0xf; *(undefined1 *)(param_1 + 0x26) = 0; FUN_18067d4d0(param_1 + 0x17); FUN_18067d4d0(param_1 + 10); if (0xf < (ulonglong)param_1[9]) { pvVar1 = (void *)param_1[6]; pvVar2 = pvVar1; if ((0xfff < param_1[9] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067d650 size=568 ############ void FUN_18067d650(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::SignerCredentials::vftable; pvVar1 = (void *)param_1[0xa3]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (param_1[0xa5] - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if (0xf < (ulonglong)param_1[0xa2]) { pvVar1 = (void *)param_1[0x9f]; pvVar2 = pvVar1; if ((0xfff < param_1[0xa2] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xa1] = 0; param_1[0xa2] = 0xf; *(undefined1 *)(param_1 + 0x9f) = 0; if (0xf < (ulonglong)param_1[0x9e]) { pvVar1 = (void *)param_1[0x9b]; pvVar2 = pvVar1; if ((0xfff < param_1[0x9e] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x9d] = 0; param_1[0x9e] = 0xf; *(undefined1 *)(param_1 + 0x9b) = 0; if (0xf < (ulonglong)param_1[0x99]) { pvVar1 = (void *)param_1[0x96]; pvVar2 = pvVar1; if ((0xfff < param_1[0x99] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x98] = 0; param_1[0x99] = 0xf; *(undefined1 *)(param_1 + 0x96) = 0; if (0xf < (ulonglong)param_1[0x94]) { pvVar1 = (void *)param_1[0x91]; pvVar2 = pvVar1; if ((0xfff < param_1[0x94] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x93] = 0; param_1[0x94] = 0xf; *(undefined1 *)(param_1 + 0x91) = 0; pvVar1 = (void *)param_1[0x8e]; if (pvVar1 == (void *)0x0) { FUN_1805b8780(param_1 + 1); return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x90] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067d900 size=651 ############ void FUN_18067d900(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::UserInfo::vftable; if (0xf < (ulonglong)param_1[0x1c]) { pvVar1 = (void *)param_1[0x19]; pvVar2 = pvVar1; if ((0xfff < param_1[0x1c] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x1c] = 0xf; param_1[0x1b] = 0; *(undefined1 *)(param_1 + 0x19) = 0; if (0xf < (ulonglong)param_1[0x18]) { pvVar1 = (void *)param_1[0x15]; pvVar2 = pvVar1; if ((0xfff < param_1[0x18] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x17] = 0; param_1[0x18] = 0xf; *(undefined1 *)(param_1 + 0x15) = 0; if (0xf < (ulonglong)param_1[0x14]) { pvVar1 = (void *)param_1[0x11]; pvVar2 = pvVar1; if ((0xfff < param_1[0x14] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x13] = 0; param_1[0x14] = 0xf; *(undefined1 *)(param_1 + 0x11) = 0; if (0xf < (ulonglong)param_1[0x10]) { pvVar1 = (void *)param_1[0xd]; pvVar2 = pvVar1; if ((0xfff < param_1[0x10] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xf] = 0; param_1[0x10] = 0xf; *(undefined1 *)(param_1 + 0xd) = 0; if (0xf < (ulonglong)param_1[0xc]) { pvVar1 = (void *)param_1[9]; pvVar2 = pvVar1; if ((0xfff < param_1[0xc] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xb] = 0; param_1[0xc] = 0xf; *(undefined1 *)(param_1 + 9) = 0; if (0xf < (ulonglong)param_1[8]) { pvVar1 = (void *)param_1[5]; pvVar2 = pvVar1; if ((0xfff < param_1[8] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[7] = 0; param_1[8] = 0xf; *(undefined1 *)(param_1 + 5) = 0; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; return; } pvVar1 = (void *)param_1[1]; pvVar2 = pvVar1; if ((0xfff < param_1[4] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067dfd0 size=90 ############ undefined8 * FUN_18067dfd0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthIdentifier::vftable; FUN_1805b8100(param_1 + 0x81); FUN_1805b8100(param_1 + 0x41); FUN_1805b8100(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e030 size=52 ############ void * FUN_18067e030(void *param_1,ulonglong param_2) { FUN_1806798f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e070 size=43 ############ undefined8 * FUN_18067e070(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::pub::AuthProduct::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e0a0 size=107 ############ undefined8 * FUN_18067e0a0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::pub::AuthStorage::vftable; FUN_1806802c0(param_1 + 10); FUN_180680380(param_1 + 7); FUN_180680200(param_1 + 4); FUN_180680130(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e110 size=52 ############ void * FUN_18067e110(void *param_1,ulonglong param_2) { FUN_1806799d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e150 size=52 ############ void * FUN_18067e150(void *param_1,ulonglong param_2) { FUN_180679b90(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e190 size=110 ############ undefined8 * FUN_18067e190(undefined8 *param_1,ulonglong param_2) { undefined8 *_Memory; _Memory = param_1 + -8; FUN_180679c70(param_1); param_1[2] = pace::eden::thrift::authorize::AuthorizationFullIf::vftable; *(undefined ***)((longlong)*(int *)(param_1[3] + 4) + 0x58 + (longlong)_Memory) = pace::eden::thrift::authorize::AuthorizationFullIf::vftable; *param_1 = pace::eden::thrift::authorize::AuthorizationLiteIf::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(_Memory); } return _Memory; } ############ FUN_ 18067e200 size=68 ############ void * FUN_18067e200(longlong param_1,ulonglong param_2) { *(undefined ***)(param_1 + -0x10) = pace::eden::thrift::authorize::AuthorizationFullIf::vftable; *(undefined ***)((longlong)*(int *)(*(longlong *)(param_1 + -8) + 4) + -8 + param_1) = pace::eden::thrift::authorize::AuthorizationFullIf::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free((void *)(param_1 + -0x10)); } return (void *)(param_1 + -0x10); } ############ FUN_ 18067e250 size=79 ############ undefined8 * FUN_18067e250(undefined8 *param_1,ulonglong param_2) { FUN_180679c70(param_1); *param_1 = pace::eden::thrift::authorize::AuthorizationLiteIf::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1 + -8); } return param_1 + -8; } ############ FUN_ 18067e2a0 size=43 ############ undefined8 * FUN_18067e2a0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLiteIf::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e2d0 size=52 ############ void * FUN_18067e2d0(void *param_1,ulonglong param_2) { FUN_180679d10(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e310 size=66 ############ undefined8 * FUN_18067e310(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::CacheProductLocationDataInput::vftable; FUN_1805753e0(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e360 size=43 ############ undefined8 * FUN_18067e360(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::CacheProductLocationDataReturn::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e390 size=262 ############ undefined8 * FUN_18067e390(undefined8 *param_1,uint param_2) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::CachedProductLocationData::vftable; if (0xf < (ulonglong)param_1[0x38]) { pvVar1 = (void *)param_1[0x35]; pvVar2 = pvVar1; if ((0xfff < param_1[0x38] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x37] = 0; param_1[0x38] = 0xf; *(undefined1 *)(param_1 + 0x35) = 0; param_1[0x32] = pace::eden::thrift::pub::AuthProduct::vftable; FUN_180574c80(param_1 + 7); if ((ulonglong)param_1[6] < 0x10) { param_1[5] = 0; param_1[6] = 0xf; *(undefined1 *)(param_1 + 3) = 0; if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = (void *)param_1[3]; pvVar2 = pvVar1; if ((0xfff < param_1[6] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067e4a0 size=52 ############ void * FUN_18067e4a0(void *param_1,ulonglong param_2) { FUN_18067acf0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e4e0 size=52 ############ void * FUN_18067e4e0(void *param_1,ulonglong param_2) { FUN_18067ad70(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e520 size=77 ############ undefined8 * FUN_18067e520(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::ChangePreferencesInput::vftable; FUN_1806804d0(param_1 + 2); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e570 size=43 ############ undefined8 * FUN_18067e570(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::ChangePreferencesReturn::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e5a0 size=43 ############ undefined8 * FUN_18067e5a0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::CloseEncryptedChannelInput::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e5d0 size=43 ############ undefined8 * FUN_18067e5d0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::CloseEncryptedChannelReturn::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e600 size=139 ############ undefined8 * FUN_18067e600(undefined8 *param_1,uint param_2) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::fusion::CloudSessionStatusResults::vftable; if ((ulonglong)param_1[4] < 0x10) { param_1[3] = 0; param_1[4] = 0xf; *(undefined1 *)(param_1 + 1) = 0; if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = (void *)param_1[1]; _Memory = pvVar1; if ((0xfff < param_1[4] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18067e690 size=87 ############ undefined8 * FUN_18067e690(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::CommitDatabaseItemsInput::vftable; FUN_1806798f0(param_1 + 4); FUN_1806802c0(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e6f0 size=43 ############ undefined8 * FUN_18067e6f0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::CommitDatabaseItemsReturn::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e720 size=52 ############ void * FUN_18067e720(void *param_1,ulonglong param_2) { FUN_18067ae90(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e760 size=52 ############ void * FUN_18067e760(void *param_1,ulonglong param_2) { FUN_18067afa0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e7a0 size=66 ############ undefined8 * FUN_18067e7a0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::DirectLocationConnectionInfo::vftable; FUN_180575070(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e7f0 size=52 ############ void * FUN_18067e7f0(void *param_1,ulonglong param_2) { FUN_18067b080(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e830 size=66 ############ undefined8 * FUN_18067e830(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::DlcCloudAuthKeyExchangeReturn::vftable; FUN_1805b7d00(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e880 size=78 ############ undefined8 * FUN_18067e880(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::DlcHostAuthKeyExchangeInput::vftable; FUN_1805b7c40(param_1 + 0x60); FUN_1805753e0(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e8d0 size=66 ############ undefined8 * FUN_18067e8d0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::DlcHostAuthKeyExchangeReturn::vftable; FUN_1805b7d00(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067e920 size=139 ############ undefined8 * FUN_18067e920(undefined8 *param_1,uint param_2) { void *pvVar1; void *_Memory; *param_1 = pace::eden::thrift::authorize::DldLastAuthChangeDate::vftable; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = (void *)param_1[2]; _Memory = pvVar1; if ((0xfff < param_1[5] + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18067e9b0 size=78 ############ undefined8 * FUN_18067e9b0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::DynamicCryptoCloudKeyExchangeInput::vftable; FUN_1805b7dc0(param_1 + 0x60); FUN_1805753e0(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ea00 size=66 ############ undefined8 * FUN_18067ea00(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::DynamicCryptoCloudKeyExchangeReturn::vftable; FUN_1805b7e80(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ea50 size=78 ############ undefined8 * FUN_18067ea50(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::DynamicCryptoHostAuthKeyExchangeInput::vftable; FUN_1805b7dc0(param_1 + 0x60); FUN_1805753e0(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067eaa0 size=66 ############ undefined8 * FUN_18067eaa0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::DynamicCryptoHostAuthKeyExchangeReturn::vftable; FUN_1805b7e80(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067eaf0 size=75 ############ undefined8 * FUN_18067eaf0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(param_1 + 0xb); FUN_18067b220(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067eb40 size=52 ############ void * FUN_18067eb40(void *param_1,ulonglong param_2) { FUN_18067b220(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067eb80 size=52 ############ void * FUN_18067eb80(void *param_1,ulonglong param_2) { FUN_18067b2e0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ebc0 size=52 ############ void * FUN_18067ebc0(void *param_1,ulonglong param_2) { FUN_18067b450(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ec00 size=87 ############ undefined8 * FUN_18067ec00(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::FindAuthChainsReturn::vftable; FUN_180575f30(param_1 + 4); FUN_1805bc0b0(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ec60 size=77 ############ undefined8 * FUN_18067ec60(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::FindPreferencesInput::vftable; FUN_180680380(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ecb0 size=77 ############ undefined8 * FUN_18067ecb0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::FindPreferencesReturn::vftable; FUN_1806804d0(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ed00 size=52 ############ void * FUN_18067ed00(void *param_1,ulonglong param_2) { FUN_18067b5f0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ed40 size=66 ############ undefined8 * FUN_18067ed40(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::FindSoftwareLicensesReturn::vftable; FUN_18067c110(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ed90 size=43 ############ undefined8 * FUN_18067ed90(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::GetAuthorizationServerInfoInput::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067edc0 size=52 ############ void * FUN_18067edc0(void *param_1,ulonglong param_2) { FUN_18067b6e0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ee00 size=52 ############ void * FUN_18067ee00(void *param_1,ulonglong param_2) { FUN_18067b840(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ee40 size=52 ############ void * FUN_18067ee40(void *param_1,ulonglong param_2) { FUN_18067b930(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ee80 size=43 ############ undefined8 * FUN_18067ee80(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::GetLocationTypesFromLocationGroupInput::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067eeb0 size=77 ############ undefined8 * FUN_18067eeb0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::GetLocationTypesFromLocationGroupReturn::vftable; param_1[2] = pace::eden::thrift::fusion::LocationGroupAttributes::vftable; FUN_1805bc040(param_1 + 7); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ef00 size=52 ############ void * FUN_18067ef00(void *param_1,ulonglong param_2) { FUN_18067bab0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ef40 size=75 ############ undefined8 * FUN_18067ef40(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityActivationInfo::vftable; FUN_180678340(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ef90 size=75 ############ undefined8 * FUN_18067ef90(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityArrayEntry::vftable; FUN_180678410(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067efe0 size=75 ############ undefined8 * FUN_18067efe0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityAssociativeArray::vftable; FUN_1806784e0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f030 size=75 ############ undefined8 * FUN_18067f030(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityAuthDef::vftable; FUN_1806785b0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f080 size=75 ############ undefined8 * FUN_18067f080(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityAuthKey::vftable; FUN_180678680(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f0d0 size=75 ############ undefined8 * FUN_18067f0d0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityAuthManifestElement::vftable; FUN_180678750(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f120 size=75 ############ undefined8 * FUN_18067f120(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityAuthRelation::vftable; FUN_180678820(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f170 size=75 ############ undefined8 * FUN_18067f170(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityAuthorization::vftable; FUN_1806788f0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f1c0 size=75 ############ undefined8 * FUN_18067f1c0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityCertificateChain::vftable; FUN_1806789c0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f210 size=75 ############ undefined8 * FUN_18067f210(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityCountLimit::vftable; FUN_180678a90(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f260 size=75 ############ undefined8 * FUN_18067f260(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityDatabaseInfo::vftable; FUN_180678b60(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f2b0 size=75 ############ undefined8 * FUN_18067f2b0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityDeveloperBlock::vftable; FUN_180678c30(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f300 size=75 ############ undefined8 * FUN_18067f300(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityExpirationWarning::vftable; FUN_180678dc0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f350 size=75 ############ undefined8 * FUN_18067f350(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityIlok::vftable; FUN_1806789c0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f3a0 size=75 ############ undefined8 * FUN_18067f3a0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityIlokAuth::vftable; FUN_180678e90(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f3f0 size=75 ############ undefined8 * FUN_18067f3f0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityLicense::vftable; FUN_180678b60(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f440 size=75 ############ undefined8 * FUN_18067f440(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityLocalizedText::vftable; FUN_180678f60(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f490 size=75 ############ undefined8 * FUN_18067f490(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityMachineBinding::vftable; FUN_180679030(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f4e0 size=75 ############ undefined8 * FUN_18067f4e0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityMachineId::vftable; FUN_180679100(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f530 size=75 ############ undefined8 * FUN_18067f530(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityParticipant::vftable; FUN_1806791d0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f580 size=75 ############ undefined8 * FUN_18067f580(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityPreference::vftable; FUN_1806792a0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f5d0 size=75 ############ undefined8 * FUN_18067f5d0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntitySignature::vftable; FUN_180679390(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f620 size=75 ############ undefined8 * FUN_18067f620(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntitySignedDigest::vftable; FUN_180679460(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f670 size=75 ############ undefined8 * FUN_18067f670(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntitySignedInfo::vftable; FUN_180679530(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f6c0 size=75 ############ undefined8 * FUN_18067f6c0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityTimeLimit::vftable; FUN_180678410(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f710 size=75 ############ undefined8 * FUN_18067f710(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityUser::vftable; FUN_180679600(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f760 size=75 ############ undefined8 * FUN_18067f760(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityZZTest::vftable; FUN_1806797a0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f7b0 size=75 ############ undefined8 * FUN_18067f7b0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityZZTestOnlyV1::vftable; FUN_1806796d0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f800 size=75 ############ undefined8 * FUN_18067f800(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityZZTestOnlyV2::vftable; FUN_1806796d0(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f850 size=75 ############ undefined8 * FUN_18067f850(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityZZTestToMany::vftable; FUN_180679030(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f8a0 size=75 ############ undefined8 * FUN_18067f8a0(undefined8 *param_1,ulonglong param_2) { *param_1 = license_services::LsEntityZZTestToOne::vftable; FUN_180679390(param_1 + 8); FUN_18067c620(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f8f0 size=52 ############ void * FUN_18067f8f0(void *param_1,ulonglong param_2) { FUN_18067c110(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f930 size=52 ############ void * FUN_18067f930(void *param_1,ulonglong param_2) { FUN_18067c620(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f970 size=52 ############ void * FUN_18067f970(void *param_1,ulonglong param_2) { FUN_18067c6a0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f9b0 size=52 ############ void * FUN_18067f9b0(void *param_1,ulonglong param_2) { FUN_18067c7b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067f9f0 size=52 ############ void * FUN_18067f9f0(void *param_1,ulonglong param_2) { FUN_18067c9c0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fa30 size=52 ############ void * FUN_18067fa30(void *param_1,ulonglong param_2) { FUN_18067cad0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fa70 size=97 ############ undefined8 * FUN_18067fa70(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; param_1[7] = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(param_1 + 0x12); FUN_18067b220(param_1 + 8); FUN_1805d66b0(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fae0 size=52 ############ void * FUN_18067fae0(void *param_1,ulonglong param_2) { FUN_18067cc20(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fb20 size=224 ############ undefined8 * FUN_18067fb20(undefined8 *param_1,uint param_2) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::PreferenceSearch::vftable; if (0xf < (ulonglong)param_1[9]) { pvVar1 = (void *)param_1[6]; pvVar2 = pvVar1; if ((0xfff < param_1[9] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[8] = 0; param_1[9] = 0xf; *(undefined1 *)(param_1 + 6) = 0; if ((ulonglong)param_1[5] < 0x10) { param_1[4] = 0; param_1[5] = 0xf; *(undefined1 *)(param_1 + 2) = 0; if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } pvVar1 = (void *)param_1[2]; pvVar2 = pvVar1; if ((0xfff < param_1[5] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 18067fc10 size=52 ############ void * FUN_18067fc10(void *param_1,ulonglong param_2) { FUN_18067cda0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fc50 size=52 ############ void * FUN_18067fc50(void *param_1,ulonglong param_2) { FUN_18067cf10(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fc90 size=43 ############ undefined8 * FUN_18067fc90(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::ReportStaleCachedAuthEntryInput::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fcc0 size=43 ############ undefined8 * FUN_18067fcc0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::ReportStaleCachedAuthEntryReturn::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fcf0 size=52 ############ void * FUN_18067fcf0(void *param_1,ulonglong param_2) { FUN_18067d0a0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fd30 size=52 ############ void * FUN_18067fd30(void *param_1,ulonglong param_2) { FUN_18067d1b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fd70 size=52 ############ void * FUN_18067fd70(void *param_1,ulonglong param_2) { FUN_18067d320(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fdb0 size=52 ############ void * FUN_18067fdb0(void *param_1,ulonglong param_2) { FUN_18067d390(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fdf0 size=52 ############ void * FUN_18067fdf0(void *param_1,ulonglong param_2) { FUN_18067d4d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fe30 size=52 ############ void * FUN_18067fe30(void *param_1,ulonglong param_2) { FUN_18067d650(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fe70 size=66 ############ undefined8 * FUN_18067fe70(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::StartRelativeTimeLimitInput::vftable; FUN_1805753e0(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067fec0 size=66 ############ undefined8 * FUN_18067fec0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::StartRelativeTimeLimitReturn::vftable; FUN_1805b9270(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18067ff10 size=52 ############ void * FUN_18067ff10(void *param_1,ulonglong param_2) { FUN_18067d900(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180812540 size=180 ############ void FUN_180812540(longlong *param_1,longlong param_2,longlong param_3,longlong param_4) { undefined8 *puVar1; void *pvVar2; void *_Memory; undefined8 *puVar3; puVar3 = (undefined8 *)*param_1; if (puVar3 == (undefined8 *)0x0) { *param_1 = param_2; param_1[1] = param_3 * 0x20 + param_2; param_1[2] = param_4 * 0x20 + param_2; return; } puVar1 = (undefined8 *)param_1[1]; for (; puVar3 != puVar1; puVar3 = puVar3 + 4) { (**(code **)*puVar3)(puVar3,0); } pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (param_1[2] - (longlong)pvVar2 & 0xffffffffffffffe0U)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18074fb70 size=802 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18074fb70(facet *param_1,__uint64 param_2) { facet *pfVar1; uint *puVar2; void *pvVar3; void *_Memory; ulonglong uVar4; char *pcVar5; longlong lVar6; undefined1 auStack_78 [32]; facet *local_58; undefined8 local_50; facet *local_48; uint local_40; uint uStack_3c; uint uStack_38; uint uStack_34; undefined8 local_30; ulonglong uStack_28; ulonglong local_20; local_50 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_48 = param_1; std::locale::facet::facet(param_1,param_2); *(undefined ***)param_1 = boost::date_time:: date_facet_>_> ::vftable; *(undefined8 *)(param_1 + 0x20) = 0; *(undefined8 *)(param_1 + 0x28) = 0xf; param_1[0x10] = (facet)0x0; lVar6 = -1; do { pcVar5 = "Y-%b-%d" + lVar6; lVar6 = lVar6 + 1; } while (*pcVar5 != '\0'); FUN_1805a6cb0(); *(undefined8 *)(param_1 + 0x40) = 0; *(undefined8 *)(param_1 + 0x48) = 0xf; param_1[0x30] = (facet)0x0; lVar6 = -1; do { pcVar5 = &DAT_181bbad3d + lVar6; lVar6 = lVar6 + 1; } while (*pcVar5 != '\0'); FUN_1805a6cb0(); *(undefined8 *)(param_1 + 0x60) = 0; *(undefined8 *)(param_1 + 0x68) = 0xf; param_1[0x50] = (facet)0x0; lVar6 = -1; do { pcVar5 = &DAT_181bbad35 + lVar6; lVar6 = lVar6 + 1; } while (*pcVar5 != '\0'); FUN_1805a6cb0(); local_58 = param_1 + 0x70; *(undefined4 *)local_58 = 1; *(undefined8 *)(param_1 + 0x88) = 0; *(undefined8 *)(param_1 + 0x90) = 0xf; param_1[0x78] = (facet)0x0; lVar6 = -1; do { pcVar5 = &DAT_181bbad9d + lVar6; lVar6 = lVar6 + 1; } while (*pcVar5 != '\0'); FUN_1805a6cb0(); *(undefined8 *)(param_1 + 0xa8) = 0; *(undefined8 *)(param_1 + 0xb0) = 0xf; param_1[0x98] = (facet)0x0; lVar6 = -1; do { pcVar5 = &DAT_181bbada1 + lVar6; lVar6 = lVar6 + 1; } while (*pcVar5 != '\0'); FUN_1805a6cb0(); *(undefined8 *)(param_1 + 200) = 0; *(undefined8 *)(param_1 + 0xd0) = 0xf; param_1[0xb8] = (facet)0x0; lVar6 = -1; do { pcVar5 = &DAT_181bbada5 + lVar6; lVar6 = lVar6 + 1; } while (*pcVar5 != '\0'); FUN_1805a6cb0(); *(undefined8 *)(param_1 + 0xe8) = 0; *(undefined8 *)(param_1 + 0xf0) = 0xf; param_1[0xd8] = (facet)0x0; lVar6 = -1; do { pcVar5 = &DAT_181bbada9 + lVar6; lVar6 = lVar6 + 1; } while (*pcVar5 != '\0'); FUN_1805a6cb0(); FUN_180658d50(param_1 + 0xf8); pfVar1 = param_1 + 0x110; *(undefined8 *)pfVar1 = 0; *(undefined8 *)(param_1 + 0x118) = 0; *(undefined8 *)(param_1 + 0x120) = 0; pcVar5 = "not-a-date-time"; local_58 = pfVar1; while( true ) { local_30 = 0; uStack_28 = 0xf; local_40 = local_40 & 0xffffff00; lVar6 = -1; do { lVar6 = lVar6 + 1; } while (pcVar5[lVar6] != '\0'); FUN_1805a6cb0(&local_40,pcVar5); if (*(longlong *)(param_1 + 0x120) == *(longlong *)(param_1 + 0x118)) { FUN_1805cfbf0(pfVar1,*(undefined8 *)(param_1 + 0x118),&local_40); uVar4 = uStack_28; } else { puVar2 = *(uint **)(param_1 + 0x118); *puVar2 = local_40; puVar2[1] = uStack_3c; puVar2[2] = uStack_38; puVar2[3] = uStack_34; *(undefined8 *)(puVar2 + 4) = local_30; *(ulonglong *)(puVar2 + 6) = uStack_28; local_40 = local_40 & 0xffffff00; *(longlong *)(param_1 + 0x118) = *(longlong *)(param_1 + 0x118) + 0x20; uVar4 = 0xf; } if (0xf < uVar4) break; pcVar5 = pcVar5 + 0x11; if (pcVar5 == "") { *(undefined8 *)(param_1 + 0x128) = 0; *(undefined8 *)(param_1 + 0x130) = 0; *(undefined8 *)(param_1 + 0x138) = 0; *(undefined8 *)(param_1 + 0x140) = 0; *(undefined8 *)(param_1 + 0x148) = 0; *(undefined8 *)(param_1 + 0x150) = 0; *(undefined8 *)(param_1 + 0x158) = 0; *(undefined8 *)(param_1 + 0x160) = 0; *(undefined8 *)(param_1 + 0x168) = 0; *(undefined8 *)(param_1 + 0x170) = 0; *(undefined8 *)(param_1 + 0x178) = 0; *(undefined8 *)(param_1 + 0x180) = 0; } } pvVar3 = (void *)CONCAT44(uStack_3c,local_40); _Memory = pvVar3; if ((0xfff < uVar4 + 1) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18069ce00 size=591 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18069ce00(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5) { longlong *plVar1; int *piVar2; int iVar3; uint uVar4; void *pvVar5; longlong lVar6; undefined8 *puVar7; HANDLE hEvent; uint *puVar8; void *_Memory; undefined1 auStack_148 [32]; undefined8 *local_128; longlong local_120; undefined8 local_118; undefined8 local_108; longlong *plStack_100; undefined8 local_f8; longlong local_f0; undefined8 local_e8; longlong local_e0; int *local_d8; char local_d0; undefined8 local_c8; longlong *plStack_c0; undefined8 local_b8; undefined **local_a8; undefined8 local_a0 [2]; undefined8 local_90; ulonglong local_88; undefined **local_80; undefined4 local_78; undefined8 local_70; undefined2 local_68; undefined2 local_60; ulonglong local_58; local_b8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_148; local_a8 = pace::eden::thrift::authorize::AuthLocation::vftable; local_90 = 0; local_88 = 0xf; local_a0[0]._0_1_ = 0; FUN_1805a6cb0(local_a0,&DAT_181baf991,0); local_80 = pace::eden::thrift::pub::IlokIdentifier::vftable; local_70 = 0; local_68 = 0; local_78 = 1; local_60 = 0; lVar6 = FUN_1807064c0(); puVar7 = (undefined8 *)(lVar6 + 0x40); if (local_a0 != puVar7) { if (0xf < *(ulonglong *)(lVar6 + 0x58)) { puVar7 = (undefined8 *)*puVar7; } FUN_1805a6cb0(local_a0,puVar7,*(undefined8 *)(lVar6 + 0x50)); } local_78 = 1; local_70 = *(undefined8 *)(param_2 + 0x70); local_60 = CONCAT11(1,(undefined1)local_60); FUN_1805b45f0(&local_d8,param_1 + 0x18); local_f8 = *(undefined8 *)(param_1 + 0x48); local_f0 = *(longlong *)(param_1 + 0x50); if (local_f0 != 0) { LOCK(); *(int *)(local_f0 + 8) = *(int *)(local_f0 + 8) + 1; UNLOCK(); } local_e8 = *(undefined8 *)(param_1 + 8); local_e0 = *(longlong *)(param_1 + 0x10); if (local_e0 != 0) { LOCK(); *(int *)(local_e0 + 8) = *(int *)(local_e0 + 8) + 1; UNLOCK(); } local_118 = 0; local_128 = &local_f8; local_120 = param_2; FUN_1806ae2f0(&local_c8,&local_e8,&local_a8,*(undefined4 *)(param_1 + 0x40)); local_108 = local_c8; plStack_100 = plStack_c0; if (plStack_c0 != (longlong *)0x0) { LOCK(); *(int *)(plStack_c0 + 1) = (int)plStack_c0[1] + 1; UNLOCK(); } local_120 = param_5; local_128 = (undefined8 *)param_4; FUN_1806a0350(param_1,&local_108,param_2,param_3); if (plStack_c0 != (longlong *)0x0) { LOCK(); plVar1 = plStack_c0 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plStack_c0 + 8))(plStack_c0); LOCK(); piVar2 = (int *)((longlong)plStack_c0 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_c0 + 0x10))(plStack_c0); } } } if ((local_d0 != '\0') && (*local_d8 = *local_d8 + -1, *local_d8 == 0)) { LOCK(); local_d8[1] = 0; UNLOCK(); puVar8 = (uint *)(local_d8 + 2); LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 + 0x80000000; UNLOCK(); if (((uVar4 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar4)) { LOCK(); uVar4 = *puVar8; *puVar8 = *puVar8 | 0x40000000; UNLOCK(); if ((uVar4 >> 0x1e & 1) == 0) { hEvent = (HANDLE)FUN_1805a9100(); SetEvent(hEvent); } } } local_a8 = pace::eden::thrift::authorize::AuthLocation::vftable; local_80 = pace::eden::thrift::pub::IlokIdentifier::vftable; if (local_88 < 0x10) { } pvVar5 = (void *)CONCAT71(local_a0[0]._1_7_,(undefined1)local_a0[0]); _Memory = pvVar5; if ((0xfff < local_88 + 1) && (_Memory = *(void **)((longlong)pvVar5 + -8), 0x1f < (ulonglong)((longlong)pvVar5 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18069d070 size=771 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18069d070(longlong param_1,longlong param_2,undefined8 param_3,undefined8 param_4, undefined8 param_5,longlong *param_6) { longlong *plVar1; int *piVar2; int iVar3; uint uVar4; longlong lVar5; undefined8 *puVar6; HANDLE hEvent; uint *puVar7; void *pvVar8; void *pvVar9; undefined1 auStack_188 [32]; undefined8 *local_168; longlong local_160; undefined8 local_158; undefined8 local_140; longlong local_138; undefined8 local_130; longlong local_128; undefined8 local_118; longlong *plStack_110; int *local_108; char local_100; undefined8 local_f8; longlong *plStack_f0; undefined8 local_e8; longlong *plStack_e0; undefined8 local_d8; longlong *local_d0; undefined1 local_c8 [32]; undefined **local_a8; undefined8 local_a0 [2]; undefined8 local_90; ulonglong local_88; undefined **local_80; int local_78; undefined8 local_70; undefined2 local_68; undefined2 local_60; ulonglong local_58; local_d8 = 0xfffffffffffffffe; local_58 = DAT_182615970 ^ (ulonglong)auStack_188; local_d0 = param_6; local_a8 = pace::eden::thrift::authorize::AuthLocation::vftable; local_90 = 0; local_88 = 0xf; local_a0[0]._0_1_ = 0; FUN_1805a6cb0(local_a0,&DAT_181baf991,0); local_80 = pace::eden::thrift::pub::IlokIdentifier::vftable; local_70 = 0; local_68 = 0; local_78 = 1; local_60 = 0; lVar5 = FUN_1807064c0(); puVar6 = (undefined8 *)(lVar5 + 0x40); if (local_a0 != puVar6) { if (0xf < *(ulonglong *)(lVar5 + 0x58)) { puVar6 = (undefined8 *)*puVar6; } FUN_1805a6cb0(local_a0,puVar6,*(undefined8 *)(lVar5 + 0x50)); } if ((char *)param_6[1] == (char *)*param_6) { local_78 = 2; } else { local_78 = (int)*(char *)*param_6; } local_70 = *(undefined8 *)(param_2 + 0x70); local_60 = CONCAT11(1,(undefined1)local_60); FUN_1805b45f0(&local_108,param_1 + 0x18); local_140 = *(undefined8 *)(param_1 + 0x48); local_138 = *(longlong *)(param_1 + 0x50); if (local_138 != 0) { LOCK(); *(int *)(local_138 + 8) = *(int *)(local_138 + 8) + 1; UNLOCK(); } local_130 = *(undefined8 *)(param_1 + 8); local_128 = *(longlong *)(param_1 + 0x10); if (local_128 != 0) { LOCK(); *(int *)(local_128 + 8) = *(int *)(local_128 + 8) + 1; UNLOCK(); } local_158 = 0; local_168 = &local_140; local_160 = param_2; FUN_1806ae410(&local_118,&local_130,&local_a8,*(undefined4 *)(param_1 + 0x40)); local_f8 = local_118; plStack_f0 = plStack_110; if (plStack_110 != (longlong *)0x0) { LOCK(); *(int *)(plStack_110 + 1) = (int)plStack_110[1] + 1; UNLOCK(); } local_168 = (undefined8 *)((ulonglong)local_168 & 0xffffffffffffff00); FUN_180642440(local_c8,&local_f8,0,0); local_e8 = local_118; plStack_e0 = plStack_110; if (plStack_110 != (longlong *)0x0) { LOCK(); *(int *)(plStack_110 + 1) = (int)plStack_110[1] + 1; UNLOCK(); } local_160 = param_5; local_168 = (undefined8 *)param_4; FUN_1806a0c50(param_1,&local_e8,param_2,param_3); FUN_180643940(local_c8); if (plStack_110 != (longlong *)0x0) { LOCK(); plVar1 = plStack_110 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plStack_110 + 8))(plStack_110); LOCK(); piVar2 = (int *)((longlong)plStack_110 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plStack_110 + 0x10))(plStack_110); } } } if ((local_100 != '\0') && (*local_108 = *local_108 + -1, *local_108 == 0)) { LOCK(); local_108[1] = 0; UNLOCK(); puVar7 = (uint *)(local_108 + 2); LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 + 0x80000000; UNLOCK(); if (((uVar4 >> 0x1e & 1) == 0) && (-0x80000000 < (int)uVar4)) { LOCK(); uVar4 = *puVar7; *puVar7 = *puVar7 | 0x40000000; UNLOCK(); if ((uVar4 >> 0x1e & 1) == 0) { hEvent = (HANDLE)FUN_1805a9100(); SetEvent(hEvent); } } } local_a8 = pace::eden::thrift::authorize::AuthLocation::vftable; local_80 = pace::eden::thrift::pub::IlokIdentifier::vftable; if (0xf < local_88) { pvVar9 = (void *)CONCAT71(local_a0[0]._1_7_,(undefined1)local_a0[0]); pvVar8 = pvVar9; if ((0xfff < local_88 + 1) && (pvVar8 = *(void **)((longlong)pvVar9 + -8), 0x1f < (ulonglong)((longlong)pvVar9 + (-8 - (longlong)pvVar8)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar8); } local_90 = 0; local_88 = 0xf; local_a0[0]._0_1_ = 0; pvVar8 = (void *)*param_6; if (pvVar8 == (void *)0x0) { } pvVar9 = pvVar8; if ((0xfff < (ulonglong)(param_6[2] - (longlong)pvVar8)) && (pvVar9 = *(void **)((longlong)pvVar8 + -8), 0x1f < (ulonglong)((longlong)pvVar8 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } ############ FUN_ 1807fc7f0 size=558 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807fc7f0(longlong param_1,undefined4 *param_2,undefined4 param_3,undefined8 param_4, longlong param_5) { undefined8 uVar1; undefined8 *puVar2; void *_Memory; undefined1 auStack_348 [32]; void **local_328; undefined1 local_318; void *local_310; undefined8 uStack_308; longlong local_300; undefined8 local_2f8; undefined1 local_2f0 [40]; undefined1 local_2c8 [576]; undefined8 local_88; undefined8 local_80; undefined8 local_78; undefined8 local_70; undefined8 uStack_68; undefined1 local_60 [8]; undefined1 local_58 [8]; undefined1 local_50 [8]; undefined1 local_48 [8]; ulonglong local_40; local_2f8 = 0xfffffffffffffffe; local_40 = DAT_182615970 ^ (ulonglong)auStack_348; local_310 = (void *)0x0; uStack_308 = 0; local_300 = 0; FUN_180604880(&local_80,0x10); FUN_1807f48e0(*(undefined8 *)(param_1 + 8),local_2f0,param_3,param_4); FUN_180a1e790(local_2f0); FUN_180604880(&local_88,8); local_328._0_1_ = 2; FUN_1807ef270(*(undefined8 *)(param_1 + 8),local_60,param_3,&local_88); local_88 = local_80; FUN_1807f64d0(*(undefined8 *)(param_1 + 8),param_3,&local_88,0); local_88 = local_78; FUN_1807f64d0(*(undefined8 *)(param_1 + 8),param_3,&local_88,1); FUN_180604880(&local_88,8); local_328 = (void **)CONCAT71(local_328._1_7_,1); FUN_1807ef270(*(undefined8 *)(param_1 + 8),local_58,param_3,&local_88); puVar2 = (undefined8 *)FUN_1807f3750(*(undefined8 *)(param_1 + 8),local_50,0x30); local_88 = *puVar2; local_70 = local_88; puVar2 = (undefined8 *)FUN_1807f3750(*(undefined8 *)(param_1 + 8),local_48,0x38); uVar1 = *puVar2; uStack_68._0_4_ = (undefined4)uVar1; uStack_68._4_4_ = (undefined4)((ulonglong)uVar1 >> 0x20); *param_2 = (undefined4)local_70; param_2[1] = local_70._4_4_; param_2[2] = (undefined4)uStack_68; param_2[3] = uStack_68._4_4_; uStack_68 = uVar1; FUN_1805e1990(&local_310,param_5,param_5 + 0x10,local_318); local_328 = &local_310; FUN_18063c260(local_2c8,3,0,0); FUN_18063cd40(local_2c8,0x10,param_2); FUN_180620470(param_2,&local_80,0x10); FUN_18063cad0(local_2c8); if (local_310 == (void *)0x0) { } _Memory = local_310; if ((0xfff < (ulonglong)(local_300 - (longlong)local_310)) && (_Memory = *(void **)((longlong)local_310 + -8), 0x1f < (ulonglong)((longlong)local_310 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806c31b0 size=62 ############ undefined8 * FUN_1806c31b0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::PaceFusionException::vftable; FUN_1806d5550(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1806c5aa0 size=62 ############ undefined8 * FUN_1806c5aa0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::AuthorizationException::vftable; FUN_1806d5550(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1806cdd30 size=413 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806cdd30(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { void *pvVar1; void *pvVar2; undefined1 auStack_c8 [32]; void **local_a8; undefined8 local_98; undefined8 *local_90; undefined1 local_88; undefined7 uStack_87; undefined8 local_78; ulonglong local_70; undefined1 local_68; undefined7 uStack_67; undefined8 local_58; ulonglong local_50; void *local_48 [3]; ulonglong local_30; ulonglong local_28; local_98 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_c8; local_90 = param_1; FUN_1805ae640(param_4,local_48); FUN_1805ae640(param_3,&local_68); FUN_1805ae640(param_2,&local_88); local_a8 = local_48; FUN_1806d2860(param_1,0xd,&local_88,&local_68); *param_1 = pace::UtilException::vftable; if (0xf < local_70) { pvVar1 = (void *)CONCAT71(uStack_87,local_88); pvVar2 = pvVar1; if ((0xfff < local_70 + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } local_78 = 0; local_70 = 0xf; local_88 = 0; if (0xf < local_50) { pvVar1 = (void *)CONCAT71(uStack_67,local_68); pvVar2 = pvVar1; if ((0xfff < local_50 + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } local_58 = 0; local_50 = 0xf; local_68 = 0; if (local_30 < 0x10) { *param_1 = pace::PaceUtilParameterError::vftable; } pvVar2 = local_48[0]; if ((0xfff < local_30 + 1) && (pvVar2 = *(void **)((longlong)local_48[0] + -8), 0x1f < (ulonglong)((longlong)local_48[0] + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1806cdef0 size=62 ############ undefined8 * FUN_1806cdef0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::UtilException::vftable; FUN_1806d5550(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1806d9a20 size=346 ############ void FUN_1806d9a20(longlong *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4) { void *pvVar1; longlong lVar2; ulonglong uVar3; void *pvVar4; ulonglong uVar5; ulonglong uVar6; pvVar1 = (void *)param_1[1]; lVar2 = *param_1; uVar6 = (longlong)pvVar1 - lVar2 >> 2; uVar3 = param_1[2] - lVar2 >> 2; if (param_2 <= uVar3) { if (param_2 <= uVar6) { if (param_2 != uVar6) { param_1[1] = lVar2 + param_2 * 4; } return; } pvVar4 = (void *)((longlong)pvVar1 + (param_2 - uVar6) * 4); memset(pvVar1,0,(longlong)pvVar4 - (longlong)pvVar1); param_1[1] = (longlong)pvVar4; return; } if (0x3fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar5 = param_2; if ((uVar3 <= 0x3fffffffffffffff - (uVar3 >> 1)) && (uVar5 = (uVar3 >> 1) + uVar3, uVar5 < param_2)) { uVar5 = param_2; } pvVar4 = (void *)FUN_1805bc910(param_1,uVar5,param_3,param_4,0xfffffffffffffffe); memset((void *)((longlong)pvVar4 + uVar6 * 4),0,(param_2 - uVar6) * 4); memmove(pvVar4,(void *)*param_1,param_1[1] - *param_1); pvVar1 = (void *)*param_1; if (pvVar1 == (void *)0x0) { *param_1 = (longlong)pvVar4; param_1[1] = (longlong)((longlong)pvVar4 + param_2 * 4); param_1[2] = (longlong)((longlong)pvVar4 + uVar5 * 4); return; } pvVar4 = pvVar1; if ((0xfff < (param_1[2] - (longlong)pvVar1 & 0xfffffffffffffffcU)) && (pvVar4 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar4)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar4); } ############ FUN_ 1806d9f60 size=663 ############ void FUN_1806d9f60(longlong *param_1,ulonglong param_2,undefined8 param_3) { undefined8 *puVar1; void *pvVar2; ulonglong uVar3; undefined8 *puVar4; longlong lVar5; undefined8 *puVar6; undefined8 *puVar7; longlong lVar8; undefined8 *puVar9; ulonglong uVar10; ulonglong uVar11; void *_Memory; undefined8 *puVar12; undefined8 *puVar13; undefined8 uVar14; uVar14 = 0xfffffffffffffffe; puVar12 = (undefined8 *)param_1[1]; lVar5 = *param_1; lVar8 = ((longlong)puVar12 - lVar5) / 6 + ((longlong)puVar12 - lVar5 >> 0x3f); uVar11 = (lVar8 >> 2) - (lVar8 >> 0x3f); uVar3 = (param_1[2] - lVar5) / 0x18; if (param_2 <= uVar3) { if (param_2 <= uVar11) { if (param_2 != uVar11) { lVar5 = lVar5 + param_2 * 0x18; FUN_1805d59e0(lVar5,puVar12,param_1); param_1[1] = lVar5; } return; } for (lVar5 = param_2 - uVar11; lVar5 != 0; lVar5 = lVar5 + -1) { *puVar12 = 0; puVar12[1] = 0; puVar12[2] = 0; puVar12 = puVar12 + 3; } FUN_1805d59e0(puVar12,puVar12,param_3); param_1[1] = (longlong)puVar12; return; } if (0xaaaaaaaaaaaaaaa < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar10 = param_2; if ((uVar3 <= 0xaaaaaaaaaaaaaaa - (uVar3 >> 1)) && (uVar10 = uVar3 + (uVar3 >> 1), uVar10 < param_2)) { uVar10 = param_2; } puVar4 = (undefined8 *)FUN_1805d6980(param_1,uVar10); puVar12 = puVar4 + uVar11 * 3; puVar6 = puVar12; for (lVar5 = param_2 - uVar11; lVar5 != 0; lVar5 = lVar5 + -1) { *puVar6 = 0; puVar6[1] = 0; puVar6[2] = 0; puVar6 = puVar6 + 3; } puVar13 = puVar4; FUN_1805d59e0(puVar6,puVar6,param_3); puVar6 = (undefined8 *)param_1[1]; puVar9 = (undefined8 *)*param_1; puVar7 = puVar4; if (puVar9 != puVar6) { lVar5 = (longlong)puVar4 - (longlong)puVar9; puVar9 = puVar9 + 2; do { *puVar7 = 0; *(undefined8 *)(lVar5 + -8 + (longlong)puVar9) = 0; *(undefined8 *)(lVar5 + (longlong)puVar9) = 0; *puVar7 = puVar9[-2]; *(undefined8 *)(lVar5 + -8 + (longlong)puVar9) = puVar9[-1]; *(undefined8 *)(lVar5 + (longlong)puVar9) = *puVar9; puVar9[-2] = 0; puVar9[-1] = 0; *puVar9 = 0; puVar7 = puVar7 + 3; puVar1 = puVar9 + 1; puVar9 = puVar9 + 3; } while (puVar1 != puVar6); } FUN_1805d59e0(puVar7,puVar7,param_1,puVar6,puVar12,puVar13,uVar14); if (*param_1 == 0) { *param_1 = (longlong)puVar4; param_1[1] = (longlong)(puVar4 + param_2 * 3); param_1[2] = (longlong)(puVar4 + uVar10 * 3); return; } FUN_1805d59e0(*param_1,param_1[1],param_1); pvVar2 = (void *)*param_1; _Memory = pvVar2; if ((0xfff < (ulonglong)(((param_1[2] - (longlong)pvVar2) / 0x18) * 0x18)) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1806da4d0 size=448 ############ void FUN_1806da4d0(undefined8 *param_1) { void *pvVar1; void *pvVar2; *param_1 = pace::eden::thrift::fusion::DynamicCryptoProductData::vftable; pvVar1 = (void *)param_1[0x19]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x1b] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x16]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x18] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x13]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x15] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0x10]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x12] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[0xd]; if (pvVar1 != (void *)0x0) { pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xf] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } pvVar1 = (void *)param_1[10]; if (pvVar1 == (void *)0x0) { FUN_1805b9460(param_1 + 1); return; } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0xc] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1806da850 size=52 ############ void * FUN_1806da850(void *param_1,ulonglong param_2) { FUN_1806da4d0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1806dbc20 size=617 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806dbc20(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_78 [32]; undefined2 local_58 [2]; int local_54; undefined4 local_50 [2]; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 0; local_28 = 0xf; local_40 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_40); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_54,local_58); do { if (local_54 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_28 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_58[0]) { case 1: if (local_54 != 10) goto LAB_1806dbdef; (**(code **)(*param_2 + 0x130))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x1c8) = 1; break; case 2: if (local_54 != 10) goto LAB_1806dbdef; (**(code **)(*param_2 + 0x130))(param_2,param_1 + 0x10); *(undefined1 *)(param_1 + 0x1c9) = 1; break; case 3: if (local_54 != 0xb) goto LAB_1806dbdef; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x18); *(undefined1 *)(param_1 + 0x1ca) = 1; break; case 4: if (local_54 != 0xc) goto switchD_1806dbccc_caseD_5; FUN_18094b9e0(param_1 + 0x38,param_2); *(undefined1 *)(param_1 + 0x1cb) = 1; break; default: switchD_1806dbccc_caseD_5: LAB_1806dbdef: FUN_1806d8eb0(param_2); break; case 10: if (local_54 != 8) goto LAB_1806dbdef; (**(code **)(*param_2 + 0x128))(param_2,local_50); *(undefined4 *)(param_1 + 0x188) = local_50[0]; *(undefined1 *)(param_1 + 0x1cc) = 1; break; case 0xb: if (local_54 != 2) goto LAB_1806dbdef; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x18c); *(undefined1 *)(param_1 + 0x1cd) = 1; break; case 0x14: if (local_54 != 0xc) goto switchD_1806dbccc_caseD_5; FUN_180943ae0(param_1 + 400,param_2); *(undefined1 *)(param_1 + 0x1ce) = 1; break; case 0x15: if (local_54 != 0xb) goto LAB_1806dbdef; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x1a8); *(undefined1 *)(param_1 + 0x1cf) = 1; } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_54,local_58); } while( true ); } ############ FUN_ 1806dbef0 size=354 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806dbef0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xb) goto LAB_1806dbfb8; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x29) = 1; } else if ((local_48[0] == 2) && (local_44 == 2)) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x2a) = 1; } else { LAB_1806dbfb8: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 1806e9b20 size=538 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806e9b20(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_78 [32]; undefined2 local_58 [2]; int local_54; undefined4 local_50 [2]; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 0; local_28 = 0xf; local_40 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_40); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_54,local_58); do { if (local_54 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_28 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_58[0]) { case 1: if (local_54 != 8) break; (**(code **)(*param_2 + 0x128))(param_2,local_50); *(undefined4 *)(param_1 + 8) = local_50[0]; *(undefined1 *)(param_1 + 0x91) = 1; goto LAB_1806e9ca7; case 2: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x10); *(undefined1 *)(param_1 + 0x92) = 1; goto LAB_1806e9ca7; } break; case 3: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x30); *(undefined1 *)(param_1 + 0x93) = 1; goto LAB_1806e9ca7; } break; case 4: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x50); *(undefined1 *)(param_1 + 0x94) = 1; goto LAB_1806e9ca7; } break; case 5: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x70); *(undefined1 *)(param_1 + 0x95) = 1; goto LAB_1806e9ca7; } break; case 6: if (local_54 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x90); *(undefined1 *)(param_1 + 0x96) = 1; goto LAB_1806e9ca7; } } FUN_1806d8eb0(param_2); LAB_1806e9ca7: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_54,local_58); } while( true ); } ############ FUN_ 1806e9d70 size=554 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806e9d70(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_78 [32]; undefined2 local_58 [2]; int local_54; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; local_38 = 0; local_30 = 0xf; local_48 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_48); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); do { if (local_54 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_30 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar1; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_58[0]) { case 1: if (local_54 != 0xb) goto LAB_1806e9f00; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x1e8) = 1; break; case 2: if (local_54 != 8) goto LAB_1806e9f00; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x1e9) = 1; break; case 3: if (local_54 != 8) goto LAB_1806e9f00; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x2c); *(undefined1 *)(param_1 + 0x1ea) = 1; break; case 4: if (local_54 != 8) goto LAB_1806e9f00; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x30); *(undefined1 *)(param_1 + 0x1eb) = 1; break; case 5: if (local_54 != 8) goto LAB_1806e9f00; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x34); *(undefined1 *)(param_1 + 0x1ec) = 1; break; default: switchD_1806e9e1c_caseD_6: LAB_1806e9f00: FUN_1806d8eb0(param_2); break; case 10: if (local_54 != 0xc) goto switchD_1806e9e1c_caseD_6; FUN_1806e9fe0(param_1 + 0x38,param_2); *(undefined1 *)(param_1 + 0x1ed) = 1; break; case 0xb: if (local_54 != 0xc) goto switchD_1806e9e1c_caseD_6; FUN_1806e9fe0(param_1 + 0x110,param_2); *(undefined1 *)(param_1 + 0x1ee) = 1; } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); } while( true ); } ############ FUN_ 1806e9fe0 size=655 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806e9fe0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_78 [32]; undefined2 local_58 [2]; int local_54; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; local_38 = 0; local_30 = 0xf; local_48 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_48); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); do { if (local_54 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_30 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar1; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_58[0]) { case 1: if (local_54 != 0xb) break; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0xcb) = 1; goto LAB_1806ea1da; case 2: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0xcc) = 1; goto LAB_1806ea1da; } break; case 3: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x48); *(undefined1 *)(param_1 + 0xcd) = 1; goto LAB_1806ea1da; } break; case 4: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x68); *(undefined1 *)(param_1 + 0xce) = 1; goto LAB_1806ea1da; } break; case 5: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x88); *(undefined1 *)(param_1 + 0xcf) = 1; goto LAB_1806ea1da; } break; case 6: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0xa8); *(undefined1 *)(param_1 + 0xd0) = 1; goto LAB_1806ea1da; } break; default: break; case 10: if (local_54 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 200); *(undefined1 *)(param_1 + 0xd1) = 1; goto LAB_1806ea1da; } break; case 0xb: if (local_54 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0xc9); *(undefined1 *)(param_1 + 0xd2) = 1; goto LAB_1806ea1da; } break; case 0xc: if (local_54 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0xca); *(undefined1 *)(param_1 + 0xd3) = 1; goto LAB_1806ea1da; } } FUN_1806d8eb0(param_2); LAB_1806ea1da: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); } while( true ); } ############ FUN_ 1806ea2b0 size=942 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806ea2b0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_98 [32]; undefined2 local_78 [2]; uint local_74; uint local_70; int local_6c; undefined1 local_68 [4]; undefined1 local_64 [4]; undefined8 local_60; undefined1 local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; local_48 = 0; local_40 = 0xf; local_58 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_58); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_6c,local_78); do { if (local_6c == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_40 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_57,local_58); _Memory = pvVar1; if ((0xfff < local_40 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_78[0]) { case 1: if (local_6c != 0xc) break; FUN_18094a7b0(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x531) = 1; goto LAB_1806ea5d2; case 2: if (local_6c == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x468); *(undefined1 *)(param_1 + 0x532) = 1; goto LAB_1806ea5d2; } break; case 3: if (local_6c == 0xf) { *(undefined8 *)(param_1 + 0x478) = *(undefined8 *)(param_1 + 0x470); (**(code **)(*param_2 + 0xf0))(param_2,local_68,&local_74); FUN_1805b1330(param_1 + 0x470,local_74,param_1 + 0x470); uVar3 = 0; if (local_74 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x470)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_74); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x533) = 1; goto LAB_1806ea5d2; } break; case 4: if (local_6c == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x488); *(undefined1 *)(param_1 + 0x534) = 1; goto LAB_1806ea5d2; } break; case 5: if (local_6c == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x4a8); *(undefined1 *)(param_1 + 0x535) = 1; goto LAB_1806ea5d2; } break; case 6: if (local_6c == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x4b0); *(undefined1 *)(param_1 + 0x536) = 1; goto LAB_1806ea5d2; } break; case 7: if (local_6c == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x4d0); *(undefined1 *)(param_1 + 0x537) = 1; goto LAB_1806ea5d2; } break; case 8: if (local_6c == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x4d8); *(undefined1 *)(param_1 + 0x538) = 1; goto LAB_1806ea5d2; } break; case 9: if (local_6c == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x4f8); *(undefined1 *)(param_1 + 0x539) = 1; goto LAB_1806ea5d2; } break; case 10: if (local_6c == 0xf) { *(undefined8 *)(param_1 + 0x520) = *(undefined8 *)(param_1 + 0x518); (**(code **)(*param_2 + 0xf0))(param_2,local_64,&local_70); FUN_1806d9a20(param_1 + 0x518,local_70,param_1 + 0x518); uVar3 = 0; if (local_70 != 0) { do { (**(code **)(*param_2 + 0x128))(param_2,*(longlong *)(param_1 + 0x518) + uVar3 * 4); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_70); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x53a) = 1; goto LAB_1806ea5d2; } break; case 0xb: if (local_6c == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x530); *(undefined1 *)(param_1 + 0x53b) = 1; goto LAB_1806ea5d2; } } FUN_1806d8eb0(param_2); LAB_1806ea5d2: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_6c,local_78); } while( true ); } ############ FUN_ 1806ea6b0 size=615 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1806ea6b0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_78 [32]; undefined2 local_58 [2]; int local_54; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; local_38 = 0; local_30 = 0xf; local_48 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_48); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); do { if (local_54 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_30 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar1; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_58[0]) { case 1: if (local_54 != 0xb) break; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0xe9) = 1; goto LAB_1806ea882; case 2: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0xea) = 1; goto LAB_1806ea882; } break; case 3: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x48); *(undefined1 *)(param_1 + 0xeb) = 1; goto LAB_1806ea882; } break; default: break; case 10: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x68); *(undefined1 *)(param_1 + 0xec) = 1; goto LAB_1806ea882; } break; case 0xb: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x88); *(undefined1 *)(param_1 + 0xed) = 1; goto LAB_1806ea882; } break; case 0xc: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0xa8); *(undefined1 *)(param_1 + 0xee) = 1; goto LAB_1806ea882; } break; case 0xd: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 200); *(undefined1 *)(param_1 + 0xef) = 1; goto LAB_1806ea882; } break; case 0x14: if (local_54 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0xe8); *(undefined1 *)(param_1 + 0xf0) = 1; goto LAB_1806ea882; } } FUN_1806d8eb0(param_2); LAB_1806ea882: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); } while( true ); } ############ FUN_ 1806f2d10 size=287 ############ undefined8 * FUN_1806f2d10(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; longlong lVar5; *param_1 = pace::VerifiedBinaryProtocol::vftable; plVar4 = (longlong *)param_1[0x11]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } plVar4 = (longlong *)param_1[0xb]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } plVar4 = (longlong *)param_1[9]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } *param_1 = apache::thrift::protocol::TBinaryProtocol::vftable; if ((void *)param_1[6] != (void *)0x0) { /* WARNING: Subroutine does not return */ free((void *)param_1[6]); } FUN_180622550(param_1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180703330 size=326 ############ longlong FUN_180703330(longlong *param_1,void *param_2,undefined8 *param_3,undefined8 param_4) { ulonglong uVar1; longlong lVar2; void *pvVar3; longlong lVar4; ulonglong uVar5; void *pvVar6; void *_Dst; ulonglong uVar7; size_t _Size; longlong lVar8; lVar2 = *param_1; lVar8 = (longlong)param_2 - lVar2 >> 3; lVar4 = param_1[1] - lVar2 >> 3; if (lVar4 == 0x1fffffffffffffff) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar1 = lVar4 + 1; uVar5 = param_1[2] - lVar2 >> 3; uVar7 = uVar1; if ((uVar5 <= 0x1fffffffffffffff - (uVar5 >> 1)) && (uVar7 = (uVar5 >> 1) + uVar5, uVar7 < uVar1)) { uVar7 = uVar1; } pvVar6 = (void *)FUN_1805bcb90(param_1,uVar7,param_3,param_4,0xfffffffffffffffe); *(undefined8 *)((longlong)pvVar6 + lVar8 * 8) = *param_3; pvVar3 = (void *)*param_1; if (param_2 == (void *)param_1[1]) { _Size = param_1[1] - (longlong)pvVar3; _Dst = pvVar6; param_2 = pvVar3; } else { memmove(pvVar6,pvVar3,(longlong)param_2 - (longlong)pvVar3); _Dst = (void *)((longlong)pvVar6 + (lVar8 + 1) * 8); _Size = param_1[1] - (longlong)param_2; } memmove(_Dst,param_2,_Size); pvVar3 = (void *)*param_1; if (pvVar3 == (void *)0x0) { *param_1 = (longlong)pvVar6; param_1[1] = (longlong)((longlong)pvVar6 + uVar1 * 8); param_1[2] = (longlong)((longlong)pvVar6 + uVar7 * 8); return *param_1 + lVar8 * 8; } pvVar6 = pvVar3; if ((0xfff < (param_1[2] - (longlong)pvVar3 & 0xfffffffffffffff8U)) && (pvVar6 = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)pvVar6)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar6); } ############ FUN_ 180704a00 size=2941 ############ void FUN_180704a00(longlong *param_1) { void *pvVar1; void *pvVar2; if (0xf < (ulonglong)param_1[0x7b]) { pvVar1 = (void *)param_1[0x78]; pvVar2 = pvVar1; if ((0xfff < param_1[0x7b] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x7b] = 0xf; param_1[0x7a] = 0; *(undefined1 *)(param_1 + 0x78) = 0; if (0xf < (ulonglong)param_1[0x77]) { pvVar1 = (void *)param_1[0x74]; pvVar2 = pvVar1; if ((0xfff < param_1[0x77] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x76] = 0; param_1[0x77] = 0xf; *(undefined1 *)(param_1 + 0x74) = 0; if (0xf < (ulonglong)param_1[0x73]) { pvVar1 = (void *)param_1[0x70]; pvVar2 = pvVar1; if ((0xfff < param_1[0x73] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x72] = 0; param_1[0x73] = 0xf; *(undefined1 *)(param_1 + 0x70) = 0; if (0xf < (ulonglong)param_1[0x6f]) { pvVar1 = (void *)param_1[0x6c]; pvVar2 = pvVar1; if ((0xfff < param_1[0x6f] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x6e] = 0; param_1[0x6f] = 0xf; *(undefined1 *)(param_1 + 0x6c) = 0; if (0xf < (ulonglong)param_1[0x6b]) { pvVar1 = (void *)param_1[0x68]; pvVar2 = pvVar1; if ((0xfff < param_1[0x6b] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x6a] = 0; param_1[0x6b] = 0xf; *(undefined1 *)(param_1 + 0x68) = 0; if (0xf < (ulonglong)param_1[0x67]) { pvVar1 = (void *)param_1[100]; pvVar2 = pvVar1; if ((0xfff < param_1[0x67] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x66] = 0; param_1[0x67] = 0xf; *(undefined1 *)(param_1 + 100) = 0; if (0xf < (ulonglong)param_1[99]) { pvVar1 = (void *)param_1[0x60]; pvVar2 = pvVar1; if ((0xfff < param_1[99] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x62] = 0; param_1[99] = 0xf; *(undefined1 *)(param_1 + 0x60) = 0; if (0xf < (ulonglong)param_1[0x5f]) { pvVar1 = (void *)param_1[0x5c]; pvVar2 = pvVar1; if ((0xfff < param_1[0x5f] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x5e] = 0; param_1[0x5f] = 0xf; *(undefined1 *)(param_1 + 0x5c) = 0; if (0xf < (ulonglong)param_1[0x5b]) { pvVar1 = (void *)param_1[0x58]; pvVar2 = pvVar1; if ((0xfff < param_1[0x5b] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x5a] = 0; param_1[0x5b] = 0xf; *(undefined1 *)(param_1 + 0x58) = 0; if (0xf < (ulonglong)param_1[0x57]) { pvVar1 = (void *)param_1[0x54]; pvVar2 = pvVar1; if ((0xfff < param_1[0x57] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x56] = 0; param_1[0x57] = 0xf; *(undefined1 *)(param_1 + 0x54) = 0; if (0xf < (ulonglong)param_1[0x53]) { pvVar1 = (void *)param_1[0x50]; pvVar2 = pvVar1; if ((0xfff < param_1[0x53] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x52] = 0; param_1[0x53] = 0xf; *(undefined1 *)(param_1 + 0x50) = 0; if (0xf < (ulonglong)param_1[0x4f]) { pvVar1 = (void *)param_1[0x4c]; pvVar2 = pvVar1; if ((0xfff < param_1[0x4f] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x4e] = 0; param_1[0x4f] = 0xf; *(undefined1 *)(param_1 + 0x4c) = 0; if (0xf < (ulonglong)param_1[0x4b]) { pvVar1 = (void *)param_1[0x48]; pvVar2 = pvVar1; if ((0xfff < param_1[0x4b] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x4a] = 0; param_1[0x4b] = 0xf; *(undefined1 *)(param_1 + 0x48) = 0; if (0xf < (ulonglong)param_1[0x47]) { pvVar1 = (void *)param_1[0x44]; pvVar2 = pvVar1; if ((0xfff < param_1[0x47] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x46] = 0; param_1[0x47] = 0xf; *(undefined1 *)(param_1 + 0x44) = 0; if (0xf < (ulonglong)param_1[0x43]) { pvVar1 = (void *)param_1[0x40]; pvVar2 = pvVar1; if ((0xfff < param_1[0x43] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x42] = 0; param_1[0x43] = 0xf; *(undefined1 *)(param_1 + 0x40) = 0; if (0xf < (ulonglong)param_1[0x3f]) { pvVar1 = (void *)param_1[0x3c]; pvVar2 = pvVar1; if ((0xfff < param_1[0x3f] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x3e] = 0; param_1[0x3f] = 0xf; *(undefined1 *)(param_1 + 0x3c) = 0; if (0xf < (ulonglong)param_1[0x3b]) { pvVar1 = (void *)param_1[0x38]; pvVar2 = pvVar1; if ((0xfff < param_1[0x3b] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x3a] = 0; param_1[0x3b] = 0xf; *(undefined1 *)(param_1 + 0x38) = 0; if (0xf < (ulonglong)param_1[0x37]) { pvVar1 = (void *)param_1[0x34]; pvVar2 = pvVar1; if ((0xfff < param_1[0x37] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x36] = 0; param_1[0x37] = 0xf; *(undefined1 *)(param_1 + 0x34) = 0; if (0xf < (ulonglong)param_1[0x33]) { pvVar1 = (void *)param_1[0x30]; pvVar2 = pvVar1; if ((0xfff < param_1[0x33] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x32] = 0; param_1[0x33] = 0xf; *(undefined1 *)(param_1 + 0x30) = 0; if (0xf < (ulonglong)param_1[0x2f]) { pvVar1 = (void *)param_1[0x2c]; pvVar2 = pvVar1; if ((0xfff < param_1[0x2f] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x2e] = 0; param_1[0x2f] = 0xf; *(undefined1 *)(param_1 + 0x2c) = 0; if (0xf < (ulonglong)param_1[0x2b]) { pvVar1 = (void *)param_1[0x28]; pvVar2 = pvVar1; if ((0xfff < param_1[0x2b] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x2a] = 0; param_1[0x2b] = 0xf; *(undefined1 *)(param_1 + 0x28) = 0; if (0xf < (ulonglong)param_1[0x27]) { pvVar1 = (void *)param_1[0x24]; pvVar2 = pvVar1; if ((0xfff < param_1[0x27] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x26] = 0; param_1[0x27] = 0xf; *(undefined1 *)(param_1 + 0x24) = 0; if (0xf < (ulonglong)param_1[0x23]) { pvVar1 = (void *)param_1[0x20]; pvVar2 = pvVar1; if ((0xfff < param_1[0x23] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x22] = 0; param_1[0x23] = 0xf; *(undefined1 *)(param_1 + 0x20) = 0; if (0xf < (ulonglong)param_1[0x1f]) { pvVar1 = (void *)param_1[0x1c]; pvVar2 = pvVar1; if ((0xfff < param_1[0x1f] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x1e] = 0; param_1[0x1f] = 0xf; *(undefined1 *)(param_1 + 0x1c) = 0; if (0xf < (ulonglong)param_1[0x1b]) { pvVar1 = (void *)param_1[0x18]; pvVar2 = pvVar1; if ((0xfff < param_1[0x1b] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x1a] = 0; param_1[0x1b] = 0xf; *(undefined1 *)(param_1 + 0x18) = 0; if (0xf < (ulonglong)param_1[0x17]) { pvVar1 = (void *)param_1[0x14]; pvVar2 = pvVar1; if ((0xfff < param_1[0x17] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x16] = 0; param_1[0x17] = 0xf; *(undefined1 *)(param_1 + 0x14) = 0; if (0xf < (ulonglong)param_1[0x13]) { pvVar1 = (void *)param_1[0x10]; pvVar2 = pvVar1; if ((0xfff < param_1[0x13] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x12] = 0; param_1[0x13] = 0xf; *(undefined1 *)(param_1 + 0x10) = 0; if (0xf < (ulonglong)param_1[0xf]) { pvVar1 = (void *)param_1[0xc]; pvVar2 = pvVar1; if ((0xfff < param_1[0xf] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0xe] = 0; param_1[0xf] = 0xf; *(undefined1 *)(param_1 + 0xc) = 0; if (0xf < (ulonglong)param_1[0xb]) { pvVar1 = (void *)param_1[8]; pvVar2 = pvVar1; if ((0xfff < param_1[0xb] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[10] = 0; param_1[0xb] = 0xf; *(undefined1 *)(param_1 + 8) = 0; if (0xf < (ulonglong)param_1[7]) { pvVar1 = (void *)param_1[4]; pvVar2 = pvVar1; if ((0xfff < param_1[7] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[6] = 0; param_1[7] = 0xf; *(undefined1 *)(param_1 + 4) = 0; if ((ulonglong)param_1[3] < 0x10) { param_1[2] = 0; param_1[3] = 0xf; *(undefined1 *)param_1 = 0; return; } pvVar1 = (void *)*param_1; pvVar2 = pvVar1; if ((0xfff < param_1[3] + 1U) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 1807121e0 size=62 ############ undefined8 * FUN_1807121e0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::IlokUtilException::vftable; FUN_1806d5550(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180715c80 size=349 ############ undefined8 * FUN_180715c80(undefined8 *param_1,uint param_2) { void *pvVar1; void *pvVar2; *param_1 = pace::Certifier::vftable; if (0xf < (ulonglong)param_1[0x15e]) { pvVar1 = (void *)param_1[0x15b]; pvVar2 = pvVar1; if ((0xfff < param_1[0x15e] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x15e] = 0xf; param_1[0x15d] = 0; *(undefined1 *)(param_1 + 0x15b) = 0; if (0xf < (ulonglong)param_1[0x15a]) { pvVar1 = (void *)param_1[0x157]; pvVar2 = pvVar1; if ((0xfff < param_1[0x15a] + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } param_1[0x159] = 0; param_1[0x15a] = 0xf; *(undefined1 *)(param_1 + 0x157) = 0; pvVar1 = (void *)param_1[0x154]; if (pvVar1 == (void *)0x0) { FUN_1807dc8a0(param_1 + 0x119); FUN_18073a080(param_1 + 1); if ((param_2 & 1) == 0) { return param_1; } /* WARNING: Subroutine does not return */ free(param_1); } pvVar2 = pvVar1; if ((0xfff < (ulonglong)(param_1[0x156] - (longlong)pvVar1)) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } ############ FUN_ 180715e40 size=155 ############ void FUN_180715e40(undefined8 param_1,void *param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; longlong lVar5; if (*(char *)((longlong)param_2 + 0x19) == '\0') { FUN_180715e40(param_1,*(undefined8 *)((longlong)param_2 + 0x10),param_3,param_4, 0xfffffffffffffffe); plVar4 = *(longlong **)((longlong)param_2 + 0x28); if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } /* WARNING: Subroutine does not return */ free(param_2); } return; } ############ FUN_ 180716250 size=374 ############ undefined8 * FUN_180716250(longlong *param_1,undefined8 *param_2,longlong *param_3,longlong *param_4) { longlong *plVar1; int *piVar2; int iVar3; char cVar4; longlong *plVar5; longlong *plVar6; longlong lVar7; void *_Memory; plVar5 = (longlong *)*param_1; if ((param_3 == (longlong *)*plVar5) && (param_4 == plVar5)) { FUN_180715e40(param_1,plVar5[1],param_3,param_4,0xfffffffffffffffe); *(longlong **)(*param_1 + 8) = plVar5; *(longlong **)*param_1 = plVar5; *(longlong **)(*param_1 + 0x10) = plVar5; param_1[1] = 0; *param_2 = *(undefined8 *)*param_1; } else { if (param_3 != param_4) { plVar5 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar5 + 0x19) == '\0') { plVar5 = (longlong *)*plVar5; cVar4 = *(char *)((longlong)plVar5 + 0x19); while (cVar4 == '\0') { plVar5 = (longlong *)*plVar5; cVar4 = *(char *)((longlong)plVar5 + 0x19); } } else { cVar4 = *(char *)(param_3[1] + 0x19); plVar1 = (longlong *)param_3[1]; plVar5 = param_3; while ((plVar6 = plVar1, cVar4 == '\0' && (plVar5 == (longlong *)plVar6[2]))) { cVar4 = *(char *)(plVar6[1] + 0x19); plVar1 = (longlong *)plVar6[1]; plVar5 = plVar6; } } plVar5 = (longlong *)param_3[2]; if (*(char *)((longlong)plVar5 + 0x19) == '\0') { plVar5 = (longlong *)*plVar5; cVar4 = *(char *)((longlong)plVar5 + 0x19); while (cVar4 == '\0') { plVar5 = (longlong *)*plVar5; cVar4 = *(char *)((longlong)plVar5 + 0x19); } } else { cVar4 = *(char *)(param_3[1] + 0x19); plVar5 = (longlong *)param_3[1]; while ((plVar1 = plVar5, cVar4 == '\0' && (param_3 == (longlong *)plVar1[2]))) { cVar4 = *(char *)(plVar1[1] + 0x19); plVar5 = (longlong *)plVar1[1]; param_3 = plVar1; } } _Memory = (void *)FUN_180715ef0(param_1); plVar5 = *(longlong **)((longlong)_Memory + 0x28); if (plVar5 != (longlong *)0x0) { LOCK(); plVar1 = plVar5 + 1; lVar7 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar7 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar2 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } /* WARNING: Subroutine does not return */ free(_Memory); } *param_2 = param_3; } return param_2; } ############ FUN_ 18071c130 size=85 ############ undefined8 * FUN_18071c130(undefined8 *param_1,ulonglong param_2) { *param_1 = apache::thrift::TException::vftable; FUN_180485450(param_1 + 3); *param_1 = std::exception::vftable; __std_exception_destroy(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18071f0b0 size=52 ############ void * FUN_18071f0b0(void *param_1,ulonglong param_2) { FUN_18071ee70(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18071ff50 size=144 ############ void FUN_18071ff50(undefined8 *param_1,undefined8 *param_2) { int *piVar1; int iVar2; undefined8 *_Memory; do { if (param_1 == param_2) { return; } _Memory = (undefined8 *)*param_1; if (_Memory != (undefined8 *)0x0) { LOCK(); piVar1 = (int *)(_Memory + 3); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if ((iVar2 == 1) && (_Memory != (undefined8 *)0x0)) { if ((longlong)_Memory[1] - 1U < 0xfffffffffffffffe) { CloseHandle((HANDLE)_Memory[1]); } if ((longlong)*_Memory - 1U < 0xfffffffffffffffe) { CloseHandle((HANDLE)*_Memory); } /* WARNING: Subroutine does not return */ free(_Memory); } } param_1 = param_1 + 1; } while( true ); } ############ FUN_ 180723070 size=43 ############ undefined8 * FUN_180723070(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::Stopwatch::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180726690 size=43 ############ undefined8 * FUN_180726690(undefined8 *param_1,ulonglong param_2) { *param_1 = boost::asio::io_service::service::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807266c0 size=67 ############ undefined8 * FUN_1807266c0(undefined8 *param_1,ulonglong param_2) { DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 6)); *param_1 = boost::asio::io_service::service::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180726ba0 size=62 ############ undefined8 * FUN_180726ba0(undefined8 *param_1,ulonglong param_2) { *param_1 = apache::thrift::TApplicationException::vftable; FUN_1805d66b0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807271a0 size=152 ############ undefined8 * FUN_1807271a0(undefined8 *param_1,ulonglong param_2) { void *_Memory; FUN_180726fe0(param_1 + 0x11); DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 0xb)); if ((HANDLE)param_1[9] != (HANDLE)0x0) { CloseHandle((HANDLE)param_1[9]); } _Memory = (void *)param_1[8]; if (_Memory != (void *)0x0) { CloseHandle(*(HANDLE *)((longlong)_Memory + 8)); /* WARNING: Subroutine does not return */ free(_Memory); } if ((HANDLE)param_1[5] != (HANDLE)0x0) { CloseHandle((HANDLE)param_1[5]); } *param_1 = boost::asio::io_service::service::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180727510 size=142 ############ undefined8 * FUN_180727510(undefined8 *param_1,ulonglong param_2) { longlong *plVar1; int *piVar2; int iVar3; longlong *plVar4; longlong lVar5; *param_1 = apache::thrift::concurrency::Mutex::vftable; plVar4 = (longlong *)param_1[2]; if (plVar4 != (longlong *)0x0) { LOCK(); plVar1 = plVar4 + 1; lVar5 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*plVar4 + 8))(plVar4); LOCK(); piVar2 = (int *)((longlong)plVar4 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar4 + 0x10))(plVar4); } } } if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 18073a090 size=43 ############ undefined8 * FUN_18073a090(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::Signer::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807470c0 size=351 ############ void FUN_1807470c0(longlong *param_1,ulonglong param_2,byte *param_3) { void *pvVar1; longlong lVar2; void *_Memory; ulonglong uVar3; ulonglong uVar4; size_t _Size; pvVar1 = (void *)*param_1; uVar4 = param_1[1] - (longlong)pvVar1; uVar3 = param_1[2] - (longlong)pvVar1; if (uVar3 < param_2) { if (0x7fffffffffffffff < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar4 = param_2; if ((uVar3 <= 0x7fffffffffffffff - (uVar3 >> 1)) && (uVar4 = (uVar3 >> 1) + uVar3, uVar4 < param_2)) { uVar4 = param_2; } if (pvVar1 != (void *)0x0) { _Memory = pvVar1; if ((0xfff < uVar3) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } *param_1 = 0; param_1[1] = 0; param_1[2] = 0; if (uVar4 != 0) { if (0x7fffffffffffffff < uVar4) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } lVar2 = FUN_1805bc8b0(param_1,uVar4); *param_1 = lVar2; param_1[1] = lVar2; param_1[2] = *param_1 + uVar4; } pvVar1 = (void *)*param_1; memset(pvVar1,(uint)*param_3,param_2); param_1[1] = (longlong)pvVar1 + param_2; } else if (uVar4 < param_2) { memset(pvVar1,(uint)*param_3,param_1[1] - (longlong)pvVar1); _Size = param_2 - uVar4; pvVar1 = (void *)param_1[1]; memset(pvVar1,(uint)*param_3,_Size); param_1[1] = (longlong)pvVar1 + _Size; } else { memset(pvVar1,(uint)*param_3,((longlong)pvVar1 + param_2) - (longlong)pvVar1); param_1[1] = (longlong)pvVar1 + param_2; } return; } ############ FUN_ 18074f200 size=359 ############ undefined8 * FUN_18074f200(longlong *param_1,undefined8 *param_2,char param_3,uint *param_4,void *param_5) { char cVar1; undefined8 *puVar2; undefined8 *puVar3; undefined8 *puVar4; bool bVar5; undefined8 *puVar6; undefined1 local_10 [8]; puVar4 = (undefined8 *)*param_1; bVar5 = true; puVar6 = puVar4; if (*(char *)((longlong)puVar4[1] + 0x19) == '\0') { puVar3 = (undefined8 *)puVar4[1]; do { puVar6 = puVar3; if (param_3 == '\0') { bVar5 = *param_4 < *(uint *)(puVar6 + 4); } else { bVar5 = *param_4 <= *(uint *)(puVar6 + 4); } if (bVar5 == false) { puVar3 = (undefined8 *)puVar6[2]; } else { puVar3 = (undefined8 *)*puVar6; } } while (*(char *)((longlong)puVar3 + 0x19) == '\0'); } puVar3 = puVar6; if (bVar5 != false) { if (puVar6 == (undefined8 *)*puVar4) { puVar4 = (undefined8 *) FUN_18074ed50(param_1,local_10,1,puVar6,param_4,param_5,0xfffffffffffffffe); *param_2 = *puVar4; *(undefined1 *)(param_2 + 1) = 1; return param_2; } if (*(char *)((longlong)puVar6 + 0x19) == '\0') { puVar3 = (undefined8 *)*puVar6; if (*(char *)((longlong)puVar3 + 0x19) == '\0') { cVar1 = *(char *)((longlong)puVar3[2] + 0x19); puVar4 = (undefined8 *)puVar3[2]; while (cVar1 == '\0') { cVar1 = *(char *)((longlong)puVar4[2] + 0x19); puVar3 = puVar4; puVar4 = (undefined8 *)puVar4[2]; } } else { cVar1 = *(char *)((longlong)puVar6[1] + 0x19); puVar4 = (undefined8 *)puVar6[1]; puVar3 = puVar6; while ((puVar2 = puVar4, cVar1 == '\0' && (puVar3 == (undefined8 *)*puVar2))) { cVar1 = *(char *)((longlong)puVar2[1] + 0x19); puVar4 = (undefined8 *)puVar2[1]; puVar3 = puVar2; } if (*(char *)((longlong)puVar3 + 0x19) == '\0') { puVar3 = puVar2; } } } else { puVar3 = (undefined8 *)puVar6[2]; } } if (*(uint *)(puVar3 + 4) < *param_4) { puVar4 = (undefined8 *) FUN_18074ed50(param_1,local_10,bVar5,puVar6,param_4,param_5,0xfffffffffffffffe); *param_2 = *puVar4; *(undefined1 *)(param_2 + 1) = 1; return param_2; } FUN_1807dc8a0((longlong)param_5 + 0x28); /* WARNING: Subroutine does not return */ free(param_5); } ############ FUN_ 180750b30 size=305 ############ void FUN_180750b30(undefined8 *param_1) { longlong *plVar1; int *piVar2; int iVar3; void *pvVar4; longlong *plVar5; longlong lVar6; void *pvVar7; *param_1 = pace::ILok2Commander::vftable; pvVar4 = (void *)param_1[0x82]; if (pvVar4 != (void *)0x0) { pvVar7 = pvVar4; if ((0xfff < (ulonglong)(param_1[0x84] - (longlong)pvVar4)) && (pvVar7 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } pvVar4 = (void *)param_1[0x7f]; if (pvVar4 == (void *)0x0) { FUN_1806120b0(param_1 + 0x46); FUN_180750cf0(param_1 + 0x1a); FUN_180750a50(param_1 + 7); plVar5 = (longlong *)param_1[6]; if (plVar5 != (longlong *)0x0) { LOCK(); plVar1 = plVar5 + 1; lVar6 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*plVar5 + 8))(plVar5); LOCK(); piVar2 = (int *)((longlong)plVar5 + 0xc); iVar3 = *piVar2; *piVar2 = *piVar2 + -1; UNLOCK(); if (iVar3 == 1) { (**(code **)(*plVar5 + 0x10))(plVar5); } } } FUN_18077ae60(param_1 + 3); /* WARNING: Subroutine does not return */ free((void *)param_1[3]); } pvVar7 = pvVar4; if ((0xfff < (ulonglong)(param_1[0x81] - (longlong)pvVar4)) && (pvVar7 = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)pvVar7)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar7); } ############ FUN_ 1807511a0 size=52 ############ void * FUN_1807511a0(void *param_1,ulonglong param_2) { FUN_180750a50(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807511e0 size=43 ############ undefined8 * FUN_1807511e0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::ilok::CommandTarget::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180751210 size=52 ############ void * FUN_180751210(void *param_1,ulonglong param_2) { FUN_180750b30(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180751250 size=52 ############ void * FUN_180751250(void *param_1,ulonglong param_2) { FUN_180750cf0(); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 180787190 size=362 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180787190(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xc) goto LAB_180787260; FUN_180945810(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x18c) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x188); *(undefined1 *)(param_1 + 0x18d) = 1; } else { LAB_180787260: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 180788fe0 size=487 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180788fe0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_78 [32]; short local_58 [2]; uint local_54; int local_50; undefined1 local_4c [4]; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 0; local_28 = 0xf; local_40 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_40); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); do { if (local_50 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_28 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_58[0] == 1) { if (local_50 != 10) goto LAB_18078912d; (**(code **)(*param_2 + 0x130))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x2c) = 1; } else if (local_58[0] == 2) { if (local_50 == 0xf) { *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)(param_1 + 0x10); (**(code **)(*param_2 + 0xf0))(param_2,local_4c,&local_54); FUN_1805b1330(param_1 + 0x10,local_54,param_1 + 0x10); uVar3 = 0; if (local_54 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x10)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_54); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x2d) = 1; } else { LAB_18078912d: FUN_1806d8eb0(param_2); } } else { if ((local_58[0] != 10000) || (local_50 != 8)) goto LAB_18078912d; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x2e) = 1; } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); } while( true ); } ############ FUN_ 18078a030 size=357 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18078a030(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 2) goto LAB_18078a0fb; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x10) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0xc); *(undefined1 *)(param_1 + 0x11) = 1; } else { LAB_18078a0fb: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 18078a1b0 size=421 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18078a1b0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xb) goto LAB_18078a2bb; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x6c) = 1; } else if (local_48[0] == 2) { if (local_44 != 0xb) goto LAB_18078a2bb; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x6d) = 1; } else if (local_48[0] == 3) { if (local_44 != 0xb) goto LAB_18078a2bb; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x48); *(undefined1 *)(param_1 + 0x6e) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x68); *(undefined1 *)(param_1 + 0x6f) = 1; } else { LAB_18078a2bb: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 18078ca60 size=967 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18078ca60(longlong param_1,longlong *param_2) { undefined8 *puVar1; void *pvVar2; void *_Memory; uint uVar3; undefined8 *puVar4; ulonglong uVar5; undefined1 auStack_a8 [32]; short local_88 [2]; uint local_84; uint local_80; uint local_7c; uint local_78; int local_74; undefined1 local_70 [4]; undefined1 local_6c [4]; undefined1 local_68 [4]; undefined1 local_64 [4]; undefined8 local_60; undefined1 local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_a8; local_48 = 0; local_40 = 0xf; local_58 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_58); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_74,local_88); do { if (local_74 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_40 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_57,local_58); _Memory = pvVar2; if ((0xfff < local_40 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_88[0] == 1) { if (local_74 != 0xf) goto LAB_18078cd94; FUN_1807870d0(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_64,&local_78); FUN_1807857a0(param_1 + 8,local_78,param_1 + 8); uVar5 = 0; if (local_78 != 0) { do { FUN_1809c9170(uVar5 * 0x160 + *(longlong *)(param_1 + 8),param_2); uVar3 = (int)uVar5 + 1; uVar5 = (ulonglong)uVar3; } while (uVar3 < local_78); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x6c) = 1; } else if (local_88[0] == 2) { if (local_74 != 0xf) goto LAB_18078cd94; puVar1 = *(undefined8 **)(param_1 + 0x28); for (puVar4 = *(undefined8 **)(param_1 + 0x20); puVar4 != puVar1; puVar4 = puVar4 + 0x2c) { (**(code **)*puVar4)(puVar4,0); } *(undefined8 *)(param_1 + 0x28) = *(undefined8 *)(param_1 + 0x20); (**(code **)(*param_2 + 0xf0))(param_2,local_68,&local_7c); FUN_1807857a0(param_1 + 0x20,local_7c,param_1 + 0x20); uVar5 = 0; if (local_7c != 0) { do { FUN_1809c9170(uVar5 * 0x160 + *(longlong *)(param_1 + 0x20),param_2); uVar3 = (int)uVar5 + 1; uVar5 = (ulonglong)uVar3; } while (uVar3 < local_7c); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x6d) = 1; } else if (local_88[0] == 3) { if (local_74 != 0xf) goto LAB_18078cd94; puVar1 = *(undefined8 **)(param_1 + 0x40); for (puVar4 = *(undefined8 **)(param_1 + 0x38); puVar4 != puVar1; puVar4 = puVar4 + 0x2c) { (**(code **)*puVar4)(puVar4,0); } *(undefined8 *)(param_1 + 0x40) = *(undefined8 *)(param_1 + 0x38); (**(code **)(*param_2 + 0xf0))(param_2,local_6c,&local_80); FUN_1807857a0(param_1 + 0x38,local_80,param_1 + 0x38); uVar5 = 0; if (local_80 != 0) { do { FUN_1809c9170(uVar5 * 0x160 + *(longlong *)(param_1 + 0x38),param_2); uVar3 = (int)uVar5 + 1; uVar5 = (ulonglong)uVar3; } while (uVar3 < local_80); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x6e) = 1; } else if (local_88[0] == 10) { if (local_74 != 0xf) goto LAB_18078cd94; puVar1 = *(undefined8 **)(param_1 + 0x58); for (puVar4 = *(undefined8 **)(param_1 + 0x50); puVar4 != puVar1; puVar4 = puVar4 + 0x2c) { (**(code **)*puVar4)(puVar4,0); } *(undefined8 *)(param_1 + 0x58) = *(undefined8 *)(param_1 + 0x50); (**(code **)(*param_2 + 0xf0))(param_2,local_70,&local_84); FUN_1807857a0(param_1 + 0x50,local_84,param_1 + 0x50); uVar5 = 0; if (local_84 != 0) { do { FUN_1809c9170(uVar5 * 0x160 + *(longlong *)(param_1 + 0x50),param_2); uVar3 = (int)uVar5 + 1; uVar5 = (ulonglong)uVar3; } while (uVar3 < local_84); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x6f) = 1; } else if ((local_88[0] == 10000) && (local_74 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x68); *(undefined1 *)(param_1 + 0x70) = 1; } else { LAB_18078cd94: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_74,local_88); } while( true ); } ############ FUN_ 1809c9170 size=735 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809c9170(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_78 [32]; undefined2 local_58 [2]; int local_54; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; local_38 = 0; local_30 = 0xf; local_48 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_48); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); do { if (local_54 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_30 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar1; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_58[0]) { case 1: if (local_54 != 0xb) goto LAB_1809c93b5; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x150) = 1; break; case 2: if (local_54 != 8) goto LAB_1809c93b5; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x151) = 1; break; case 3: if (local_54 != 0xb) goto LAB_1809c93b5; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x30); *(undefined1 *)(param_1 + 0x152) = 1; break; case 4: if (local_54 != 0xc) goto switchD_1809c9224_caseD_6; FUN_1809c96f0(param_1 + 0x50,param_2); *(undefined1 *)(param_1 + 0x153) = 1; break; case 5: if (local_54 != 0xc) goto switchD_1809c9224_caseD_6; FUN_1809c96f0(param_1 + 0xb8,param_2); *(undefined1 *)(param_1 + 0x154) = 1; break; default: switchD_1809c9224_caseD_6: LAB_1809c93b5: FUN_1806d8eb0(param_2); break; case 10: if (local_54 != 2) goto LAB_1809c93b5; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x120); *(undefined1 *)(param_1 + 0x155) = 1; break; case 0xb: if (local_54 != 2) goto LAB_1809c93b5; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x121); *(undefined1 *)(param_1 + 0x156) = 1; break; case 0xc: if (local_54 != 2) goto LAB_1809c93b5; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x122); *(undefined1 *)(param_1 + 0x157) = 1; break; case 0xd: if (local_54 != 2) goto LAB_1809c93b5; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x123); *(undefined1 *)(param_1 + 0x158) = 1; break; case 100: if (local_54 != 10) goto LAB_1809c93b5; (**(code **)(*param_2 + 0x130))(param_2,param_1 + 0x128); *(undefined1 *)(param_1 + 0x159) = 1; break; case 0x65: if (local_54 != 0xb) goto LAB_1809c93b5; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x130); *(undefined1 *)(param_1 + 0x15a) = 1; } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); } while( true ); } ############ FUN_ 18078ce50 size=362 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18078ce50(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xc) goto LAB_18078cf20; FUN_1806dc070(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x244) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x240); *(undefined1 *)(param_1 + 0x245) = 1; } else { LAB_18078cf20: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 1809f8ae0 size=616 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809f8ae0(longlong param_1,longlong *param_2) { void *pvVar1; void *pvVar2; undefined1 auStack_a8 [32]; short local_88 [2]; short local_84 [2]; int local_80; int local_7c; undefined8 local_78; undefined1 local_70; undefined7 uStack_6f; undefined8 local_60; ulonglong local_58; undefined1 local_50; undefined7 uStack_4f; undefined8 local_40; ulonglong local_38; ulonglong local_30; local_78 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_40 = 0; local_38 = 0xf; local_50 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_50); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_7c,local_84); do { if (local_7c == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_38 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_4f,local_50); pvVar2 = pvVar1; if ((0xfff < local_38 + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } if (local_84[0] == 1) { if (local_7c != 0xc) goto LAB_1809f8cb0; local_60 = 0; local_58 = 0xf; local_70 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_70); (**(code **)(*param_2 + 0xd0))(param_2,&local_70,&local_80,local_88); while (local_80 != 0) { if (local_88[0] == 1) { if (local_80 != 0xb) goto LAB_1809f8c29; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x10); *(undefined1 *)(param_1 + 0x50) = 1; } else if ((local_88[0] == 2) && (local_80 == 0xb)) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x30); *(undefined1 *)(param_1 + 0x51) = 1; } else { LAB_1809f8c29: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_70,&local_80,local_88); } (**(code **)(*param_2 + 200))(param_2); if (0xf < local_58) { pvVar1 = (void *)CONCAT71(uStack_6f,local_70); pvVar2 = pvVar1; if ((0xfff < local_58 + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined1 *)(param_1 + 0xf0) = 1; } else if ((local_84[0] == 2) && (local_7c == 0xc)) { FUN_1809f8d70(param_1 + 0x58,param_2); *(undefined1 *)(param_1 + 0xf1) = 1; } else { LAB_1809f8cb0: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_7c,local_84); } while( true ); } ############ FUN_ 1809f8d70 size=480 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809f8d70(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xb) goto LAB_1809f8eb6; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x90) = 1; } else if (local_48[0] == 2) { if (local_44 != 8) goto LAB_1809f8eb6; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x91) = 1; } else if (local_48[0] == 3) { if (local_44 != 0xb) goto LAB_1809f8eb6; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x30); *(undefined1 *)(param_1 + 0x92) = 1; } else if (local_48[0] == 4) { if (local_44 != 0xb) goto LAB_1809f8eb6; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x50); *(undefined1 *)(param_1 + 0x93) = 1; } else if ((local_48[0] == 5) && (local_44 == 0xb)) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x70); *(undefined1 *)(param_1 + 0x94) = 1; } else { LAB_1809f8eb6: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 180792ec0 size=491 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180792ec0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_78 [32]; short local_58 [2]; uint local_54; int local_50; undefined1 local_4c [4]; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 0; local_28 = 0xf; local_40 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_40); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); do { if (local_50 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_28 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_58[0] == 1) { if (local_50 != 0xf) goto LAB_180793011; *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_4c,&local_54); FUN_1805b1330(param_1 + 8,local_54,param_1 + 8); uVar3 = 0; if (local_54 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 8)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_54); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x54) = 1; } else if (local_58[0] == 2) { if (local_50 != 0xc) goto LAB_180793011; FUN_1809c9500(param_1 + 0x20,param_2); *(undefined1 *)(param_1 + 0x55) = 1; } else if ((local_58[0] == 10000) && (local_50 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x50); *(undefined1 *)(param_1 + 0x56) = 1; } else { LAB_180793011: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); } while( true ); } ############ FUN_ 1809c9500 size=470 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809c9500(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_88 [32]; short local_68 [2]; uint local_64; int local_60; undefined4 local_5c; undefined1 local_58 [8]; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_88; local_38 = 0; local_30 = 0xf; local_48 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_48); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_60,local_68); do { if (local_60 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_30 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar1; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_68[0] == 1) { if (local_60 != 8) goto LAB_1809c9639; (**(code **)(*param_2 + 0x128))(param_2,&local_5c); *(undefined4 *)(param_1 + 8) = local_5c; *(undefined1 *)(param_1 + 0x28) = 1; } else if ((local_68[0] == 0xb) && (local_60 == 0xf)) { FUN_1807870d0(param_1 + 0x10); (**(code **)(*param_2 + 0xf0))(param_2,local_58,&local_64); FUN_1807857a0(param_1 + 0x10,local_64,param_1 + 0x10); uVar3 = 0; if (local_64 != 0) { do { FUN_1809c9170(uVar3 * 0x160 + *(longlong *)(param_1 + 0x10),param_2); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_64); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x29) = 1; } else { LAB_1809c9639: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_60,local_68); } while( true ); } ############ FUN_ 180794620 size=463 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180794620(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_78 [32]; short local_58 [2]; uint local_54; int local_50; undefined1 local_4c [4]; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 0; local_28 = 0xf; local_40 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_40); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); do { if (local_50 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_28 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_58[0] == 1) { if (local_50 != 0xf) goto LAB_180794755; FUN_180786ed0(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_4c,&local_54); FUN_180785e60(param_1 + 8,local_54,param_1 + 8); uVar3 = 0; if (local_54 != 0) { do { FUN_1806dbc20(uVar3 * 0x1d0 + *(longlong *)(param_1 + 8),param_2); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_54); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x24) = 1; } else if ((local_58[0] == 10000) && (local_50 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x20); *(undefined1 *)(param_1 + 0x25) = 1; } else { LAB_180794755: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); } while( true ); } ############ FUN_ 180794810 size=495 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180794810(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_78 [32]; short local_58 [2]; uint local_54; int local_50; undefined1 local_4c [4]; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 0; local_28 = 0xf; local_40 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_40); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); do { if (local_50 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_28 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_58[0] == 1) { if (local_50 != 0xf) goto LAB_180794965; FUN_180786f50(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_4c,&local_54); FUN_180785490(param_1 + 8,local_54,param_1 + 8); uVar3 = 0; if (local_54 != 0) { do { FUN_18094a7b0(uVar3 * 0x460 + *(longlong *)(param_1 + 8),param_2); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_54); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x28) = 1; } else if (local_58[0] == 0xc45) { if (local_50 != 2) goto LAB_180794965; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x20); *(undefined1 *)(param_1 + 0x29) = 1; } else if ((local_58[0] == 10000) && (local_50 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x24); *(undefined1 *)(param_1 + 0x2a) = 1; } else { LAB_180794965: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); } while( true ); } ############ FUN_ 18094a7b0 size=1648 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18094a7b0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_98 [32]; undefined2 local_78 [2]; uint local_74; uint local_70; int local_6c; undefined4 local_68; undefined4 local_64; undefined1 local_60 [4]; undefined1 local_5c [4]; undefined8 local_58; undefined1 local_50; undefined7 uStack_4f; undefined8 local_40; ulonglong local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; local_40 = 0; local_38 = 0xf; local_50 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_50); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_6c,local_78); do { if (local_6c == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_38 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_4f,local_50); _Memory = pvVar1; if ((0xfff < local_38 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_78[0]) { case 1: if (local_6c != 10) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x130))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x43c) = 1; break; case 2: if (local_6c != 10) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x130))(param_2,param_1 + 0x10); *(undefined1 *)(param_1 + 0x43d) = 1; break; case 3: if (local_6c != 0xb) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x18); *(undefined1 *)(param_1 + 0x43e) = 1; break; default: switchD_18094a85c_caseD_4: LAB_18094ad8d: FUN_1806d8eb0(param_2); break; case 5: if (local_6c != 8) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x38); *(undefined1 *)(param_1 + 0x43f) = 1; break; case 6: if (local_6c != 0xc) goto switchD_18094a85c_caseD_4; FUN_18094b9e0(param_1 + 0x40,param_2); *(undefined1 *)(param_1 + 0x440) = 1; break; case 10: if (local_6c != 8) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x128))(param_2,&local_68); *(undefined4 *)(param_1 + 400) = local_68; *(undefined1 *)(param_1 + 0x441) = 1; break; case 0xb: if (local_6c != 2) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x194); *(undefined1 *)(param_1 + 0x442) = 1; break; case 0xc: if (local_6c != 10) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x130))(param_2,param_1 + 0x198); *(undefined1 *)(param_1 + 0x443) = 1; break; case 0xd: if (local_6c != 0xf) goto LAB_18094ad8d; *(undefined8 *)(param_1 + 0x1a8) = *(undefined8 *)(param_1 + 0x1a0); (**(code **)(*param_2 + 0xf0))(param_2,local_60,&local_74); FUN_1805b1330(param_1 + 0x1a0,local_74,param_1 + 0x1a0); uVar3 = 0; if (local_74 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x1a0)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_74); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x444) = 1; break; case 0xe: if (local_6c != 0xf) goto LAB_18094ad8d; *(undefined8 *)(param_1 + 0x1c0) = *(undefined8 *)(param_1 + 0x1b8); (**(code **)(*param_2 + 0xf0))(param_2,local_5c,&local_70); FUN_1806d9860(param_1 + 0x1b8,local_70,param_1 + 0x1b8); uVar3 = 0; if (local_70 != 0) { do { (**(code **)(*param_2 + 0x130))(param_2,*(longlong *)(param_1 + 0x1b8) + uVar3 * 8); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_70); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x445) = 1; break; case 0xf: if (local_6c != 0xb) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x1d0); *(undefined1 *)(param_1 + 0x446) = 1; break; case 0x10: if (local_6c != 0xb) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x1f0); *(undefined1 *)(param_1 + 0x447) = 1; break; case 0x14: if (local_6c != 0xb) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x210); *(undefined1 *)(param_1 + 0x448) = 1; break; case 0x15: if (local_6c != 0xb) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x230); *(undefined1 *)(param_1 + 0x449) = 1; break; case 0x16: if (local_6c != 0xb) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x250); *(undefined1 *)(param_1 + 0x44a) = 1; break; case 0x17: if (local_6c != 0xb) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x270); *(undefined1 *)(param_1 + 1099) = 1; break; case 0x18: if (local_6c != 0xb) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x290); *(undefined1 *)(param_1 + 0x44c) = 1; break; case 0x19: if (local_6c != 8) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x2b0); *(undefined1 *)(param_1 + 0x44d) = 1; break; case 0x1a: if (local_6c != 0xb) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x2b8); *(undefined1 *)(param_1 + 0x44e) = 1; break; case 0x1e: if (local_6c != 8) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x2d8); *(undefined1 *)(param_1 + 0x44f) = 1; break; case 0x1f: if (local_6c != 2) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x2dc); *(undefined1 *)(param_1 + 0x450) = 1; break; case 0x28: if (local_6c != 2) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x2dd); *(undefined1 *)(param_1 + 0x451) = 1; break; case 0x29: if (local_6c != 2) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x2de); *(undefined1 *)(param_1 + 0x452) = 1; break; case 0x2a: if (local_6c != 2) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x2df); *(undefined1 *)(param_1 + 0x453) = 1; break; case 0x2b: if (local_6c != 0xc) goto switchD_18094a85c_caseD_4; FUN_18094f6f0(param_1 + 0x2e0,param_2); *(undefined1 *)(param_1 + 0x454) = 1; break; case 0x2c: if (local_6c != 0xc) goto switchD_18094a85c_caseD_4; FUN_18094f6f0(param_1 + 0x388,param_2); *(undefined1 *)(param_1 + 0x455) = 1; break; case 0x2d: if (local_6c != 8) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x430); *(undefined1 *)(param_1 + 0x456) = 1; break; case 0x2e: if (local_6c != 8) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x434); *(undefined1 *)(param_1 + 0x457) = 1; break; case 0x2f: if (local_6c != 8) goto LAB_18094ad8d; (**(code **)(*param_2 + 0x128))(param_2,&local_64); *(undefined4 *)(param_1 + 0x438) = local_64; *(undefined1 *)(param_1 + 0x458) = 1; } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_6c,local_78); } while( true ); } ############ FUN_ 180795a80 size=775 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180795a80(longlong param_1,longlong *param_2) { undefined8 *puVar1; void *pvVar2; void *_Memory; uint uVar3; undefined8 *puVar4; ulonglong uVar5; undefined1 auStack_98 [32]; short local_78 [2]; uint local_74; uint local_70; uint local_6c; int local_68; undefined1 local_64 [4]; undefined1 local_60 [4]; undefined1 local_5c [4]; undefined8 local_58; undefined1 local_50; undefined7 uStack_4f; undefined8 local_40; ulonglong local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_98; local_40 = 0; local_38 = 0xf; local_50 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_50); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_68,local_78); do { if (local_68 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_38 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_4f,local_50); _Memory = pvVar2; if ((0xfff < local_38 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_78[0] == 1) { if (local_68 != 0xf) goto LAB_180795cf4; FUN_180686300(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_5c,&local_6c); FUN_1807850e0(param_1 + 8,local_6c,param_1 + 8); uVar5 = 0; if (local_6c != 0) { do { FUN_1806ea2b0(uVar5 * 0x540 + *(longlong *)(param_1 + 8),param_2); uVar3 = (int)uVar5 + 1; uVar5 = (ulonglong)uVar3; } while (uVar3 < local_6c); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x54) = 1; } else if (local_78[0] == 2) { if (local_68 != 0xf) goto LAB_180795cf4; puVar1 = *(undefined8 **)(param_1 + 0x28); for (puVar4 = *(undefined8 **)(param_1 + 0x20); puVar4 != puVar1; puVar4 = puVar4 + 0xa8) { (**(code **)*puVar4)(puVar4,0); } *(undefined8 *)(param_1 + 0x28) = *(undefined8 *)(param_1 + 0x20); (**(code **)(*param_2 + 0xf0))(param_2,local_60,&local_70); FUN_1807850e0(param_1 + 0x20,local_70,param_1 + 0x20); uVar5 = 0; if (local_70 != 0) { do { FUN_1806ea2b0(uVar5 * 0x540 + *(longlong *)(param_1 + 0x20),param_2); uVar3 = (int)uVar5 + 1; uVar5 = (ulonglong)uVar3; } while (uVar3 < local_70); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x55) = 1; } else if (local_78[0] == 3) { if (local_68 != 0xf) goto LAB_180795cf4; puVar1 = *(undefined8 **)(param_1 + 0x40); for (puVar4 = *(undefined8 **)(param_1 + 0x38); puVar4 != puVar1; puVar4 = puVar4 + 0xa8) { (**(code **)*puVar4)(puVar4,0); } *(undefined8 *)(param_1 + 0x40) = *(undefined8 *)(param_1 + 0x38); (**(code **)(*param_2 + 0xf0))(param_2,local_64,&local_74); FUN_1807850e0(param_1 + 0x38,local_74,param_1 + 0x38); uVar5 = 0; if (local_74 != 0) { do { FUN_1806ea2b0(uVar5 * 0x540 + *(longlong *)(param_1 + 0x38),param_2); uVar3 = (int)uVar5 + 1; uVar5 = (ulonglong)uVar3; } while (uVar3 < local_74); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x56) = 1; } else if ((local_78[0] == 10000) && (local_68 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x50); *(undefined1 *)(param_1 + 0x57) = 1; } else { LAB_180795cf4: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_68,local_78); } while( true ); } ############ FUN_ 180797ab0 size=496 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180797ab0(longlong param_1,longlong *param_2) { undefined8 *puVar1; void *pvVar2; void *_Memory; uint uVar3; undefined8 *puVar4; undefined1 auStack_88 [32]; short local_68 [2]; uint local_64; int local_60; undefined1 local_5c [4]; undefined8 local_58; undefined1 local_50; undefined7 uStack_4f; undefined8 local_40; ulonglong local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_88; local_40 = 0; local_38 = 0xf; local_50 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_50); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_60,local_68); do { if (local_60 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_38 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_4f,local_50); _Memory = pvVar2; if ((0xfff < local_38 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_68[0] == 1) { if (local_60 != 0xf) goto LAB_180797c05; puVar1 = *(undefined8 **)(param_1 + 0x10); for (puVar4 = *(undefined8 **)(param_1 + 8); puVar4 != puVar1; puVar4 = puVar4 + 0x1f) { (**(code **)*puVar4)(puVar4,0); } *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_5c,&local_64); FUN_180784720(param_1 + 8,local_64,param_1 + 8); uVar3 = 0; if (local_64 != 0) { do { FUN_1806ea6b0((ulonglong)uVar3 * 0xf8 + *(longlong *)(param_1 + 8),param_2); uVar3 = uVar3 + 1; } while (uVar3 < local_64); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x24) = 1; } else if ((local_68[0] == 10000) && (local_60 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x20); *(undefined1 *)(param_1 + 0x25) = 1; } else { LAB_180797c05: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_60,local_68); } while( true ); } ############ FUN_ 180797cc0 size=463 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180797cc0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_78 [32]; short local_58 [2]; uint local_54; int local_50; undefined1 local_4c [4]; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 0; local_28 = 0xf; local_40 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_40); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); do { if (local_50 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_28 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_58[0] == 1) { if (local_50 != 0xf) goto LAB_180797df5; FUN_180787050(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_4c,&local_54); FUN_1807861d0(param_1 + 8,local_54,param_1 + 8); uVar3 = 0; if (local_54 != 0) { do { FUN_1806e9b20(uVar3 * 0x98 + *(longlong *)(param_1 + 8),param_2); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_54); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x24) = 1; } else if ((local_58[0] == 10000) && (local_50 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x20); *(undefined1 *)(param_1 + 0x25) = 1; } else { LAB_180797df5: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); } while( true ); } ############ FUN_ 180797eb0 size=463 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180797eb0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_78 [32]; short local_58 [2]; uint local_54; int local_50; undefined1 local_4c [4]; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 0; local_28 = 0xf; local_40 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_40); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); do { if (local_50 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_28 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_58[0] == 1) { if (local_50 != 0xf) goto LAB_180797fe5; FUN_180786e50(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_4c,&local_54); FUN_180784dd0(param_1 + 8,local_54,param_1 + 8); uVar3 = 0; if (local_54 != 0) { do { FUN_180941650(uVar3 * 0x2f0 + *(longlong *)(param_1 + 8),param_2); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_54); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x24) = 1; } else if ((local_58[0] == 10000) && (local_50 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x20); *(undefined1 *)(param_1 + 0x25) = 1; } else { LAB_180797fe5: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); } while( true ); } ############ FUN_ 180799a70 size=495 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_180799a70(longlong param_1,longlong *param_2) { undefined8 *puVar1; void *pvVar2; void *_Memory; uint uVar3; undefined8 *puVar4; ulonglong uVar5; undefined1 auStack_88 [32]; short local_68 [2]; uint local_64; int local_60; undefined1 local_5c [4]; undefined8 local_58; undefined1 local_50; undefined7 uStack_4f; undefined8 local_40; ulonglong local_38; ulonglong local_30; local_58 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_88; local_40 = 0; local_38 = 0xf; local_50 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_50); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_60,local_68); do { if (local_60 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_38 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_4f,local_50); _Memory = pvVar2; if ((0xfff < local_38 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_68[0] == 1) { if (local_60 != 0xf) goto LAB_180799bc4; puVar1 = *(undefined8 **)(param_1 + 0x10); for (puVar4 = *(undefined8 **)(param_1 + 8); puVar4 != puVar1; puVar4 = puVar4 + 6) { (**(code **)*puVar4)(puVar4,0); } *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_5c,&local_64); FUN_180785b80(param_1 + 8,local_64,param_1 + 8); uVar5 = 0; if (local_64 != 0) { do { FUN_1806dbef0(uVar5 * 0x30 + *(longlong *)(param_1 + 8),param_2); uVar3 = (int)uVar5 + 1; uVar5 = (ulonglong)uVar3; } while (uVar3 < local_64); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x24) = 1; } else if ((local_68[0] == 10000) && (local_60 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x20); *(undefined1 *)(param_1 + 0x25) = 1; } else { LAB_180799bc4: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_60,local_68); } while( true ); } ############ FUN_ 18079adb0 size=362 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079adb0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xc) goto LAB_18079ae80; FUN_1809c8f00(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x9c) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x98); *(undefined1 *)(param_1 + 0x9d) = 1; } else { LAB_18079ae80: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 1809c8f00 size=589 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809c8f00(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_78 [32]; short local_58 [2]; uint local_54; int local_50; undefined1 local_4c [4]; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 0; local_28 = 0xf; local_40 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_40); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); do { if (local_50 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_28 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_58[0] == 1) { if (local_50 != 0xb) goto LAB_1809c90b3; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x88) = 1; } else if (local_58[0] == 2) { if (local_50 != 2) goto LAB_1809c90b3; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x89) = 1; } else if (local_58[0] == 3) { if (local_50 != 0xf) goto LAB_1809c90b3; FUN_1807870d0(param_1 + 0x30); (**(code **)(*param_2 + 0xf0))(param_2,local_4c,&local_54); FUN_1807857a0(param_1 + 0x30,local_54,param_1 + 0x30); uVar3 = 0; if (local_54 != 0) { do { FUN_1809c9170(uVar3 * 0x160 + *(longlong *)(param_1 + 0x30),param_2); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_54); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x8a) = 1; } else if (local_58[0] == 4) { if (local_50 != 0xb) goto LAB_1809c90b3; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x48); *(undefined1 *)(param_1 + 0x8b) = 1; } else if ((local_58[0] == 5) && (local_50 == 0xb)) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x68); *(undefined1 *)(param_1 + 0x8c) = 1; } else { LAB_1809c90b3: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_50,local_58); } while( true ); } ############ FUN_ 18079af30 size=362 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079af30(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xc) goto LAB_18079b000; FUN_1809c98f0(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x20c) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x208); *(undefined1 *)(param_1 + 0x20d) = 1; } else { LAB_18079b000: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 1809c98f0 size=1258 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809c98f0(longlong param_1,longlong *param_2) { char cVar1; undefined8 *puVar2; void *pvVar3; undefined8 *puVar4; void *_Memory; undefined8 *puVar5; undefined8 *puVar6; uint uVar7; undefined1 auStack_d8 [32]; longlong local_b8; undefined2 local_a8 [2]; undefined1 local_a4 [4]; int local_a0; uint local_9c; undefined4 local_98; int local_94; int local_90; undefined4 local_8c; undefined1 local_88 [4]; undefined1 local_84 [4]; int *local_80; undefined8 *local_78; undefined8 local_70; undefined1 local_68; undefined7 uStack_67; undefined8 local_58; ulonglong local_50; ulonglong local_48; local_70 = 0xfffffffffffffffe; local_48 = DAT_182615970 ^ (ulonglong)auStack_d8; local_58 = 0; local_50 = 0xf; local_68 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_68); (**(code **)(*param_2 + 0xd0))(param_2,&local_68,&local_a0,local_a8); do { if (local_a0 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_50 < 0x10) { } pvVar3 = (void *)CONCAT71(uStack_67,local_68); _Memory = pvVar3; if ((0xfff < local_50 + 1) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_a8[0]) { case 1: if (local_a0 != 0xc) goto switchD_1809c99a5_caseD_d; FUN_1809c9170(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x1ea) = 1; break; case 2: if (local_a0 != 2) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x168); *(undefined1 *)(param_1 + 0x1eb) = 1; break; case 3: if (local_a0 != 2) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x169); *(undefined1 *)(param_1 + 0x1ec) = 1; break; case 4: if (local_a0 != 2) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x16a); *(undefined1 *)(param_1 + 0x1ed) = 1; break; case 5: if (local_a0 != 2) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x16b); *(undefined1 *)(param_1 + 0x1ee) = 1; break; case 6: if (local_a0 != 2) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x16c); *(undefined1 *)(param_1 + 0x1ef) = 1; break; case 7: if (local_a0 != 2) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x16d); *(undefined1 *)(param_1 + 0x1f0) = 1; break; case 8: if (local_a0 != 2) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x16e); *(undefined1 *)(param_1 + 0x1f1) = 1; break; case 9: if (local_a0 != 2) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x16f); *(undefined1 *)(param_1 + 0x1f2) = 1; break; case 10: if (local_a0 != 0xb) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x170); *(undefined1 *)(param_1 + 499) = 1; break; case 0xb: if (local_a0 != 0xb) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 400); *(undefined1 *)(param_1 + 500) = 1; break; case 0xc: if (local_a0 != 0xb) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x1b0); *(undefined1 *)(param_1 + 0x1f5) = 1; break; default: switchD_1809c99a5_caseD_d: LAB_1809c9d46: FUN_1806d8eb0(param_2); break; case 0x14: if (local_a0 != 8) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x1d0); *(undefined1 *)(param_1 + 0x1f6) = 1; break; case 0x1e: if (local_a0 != 8) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x128))(param_2,&local_98); *(undefined4 *)(param_1 + 0x1d4) = local_98; *(undefined1 *)(param_1 + 0x1f7) = 1; break; case 0x1f: if (local_a0 != 0xd) goto switchD_1809c99a5_caseD_d; FUN_180686270(param_1 + 0x1d8); (**(code **)(*param_2 + 0xe0))(param_2,local_84,local_88,&local_9c); uVar7 = 0; if (local_9c != 0) { do { (**(code **)(*param_2 + 0x128))(param_2,&local_94); local_90 = local_94; puVar2 = *(undefined8 **)(param_1 + 0x1d8); cVar1 = *(char *)((longlong)puVar2[1] + 0x19); puVar6 = puVar2; puVar5 = (undefined8 *)puVar2[1]; while (cVar1 == '\0') { if (*(int *)((longlong)puVar5 + 0x1c) < local_94) { puVar4 = (undefined8 *)puVar5[2]; puVar5 = puVar6; } else { puVar4 = (undefined8 *)*puVar5; } puVar6 = puVar5; puVar5 = puVar4; cVar1 = *(char *)((longlong)puVar4 + 0x19); } if ((puVar6 == puVar2) || (local_94 < *(int *)((longlong)puVar6 + 0x1c))) { local_80 = &local_90; local_b8 = FUN_1809c8ec0(param_1 + 0x1d8,&DAT_181c06eb0,&local_80,local_a4); FUN_18099df10(param_1 + 0x1d8,&local_78,puVar6,local_b8 + 0x1c); puVar6 = local_78; } (**(code **)(*param_2 + 0x128))(param_2,&local_8c); *(undefined4 *)(puVar6 + 4) = local_8c; uVar7 = uVar7 + 1; } while (uVar7 < local_9c); } (**(code **)(*param_2 + 0xe8))(param_2); *(undefined1 *)(param_1 + 0x1f8) = 1; break; case 0x28: if (local_a0 != 2) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x1e8); *(undefined1 *)(param_1 + 0x1f9) = 1; break; case 0x29: if (local_a0 != 2) goto LAB_1809c9d46; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x1e9); *(undefined1 *)(param_1 + 0x1fa) = 1; } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_68,&local_a0,local_a8); } while( true ); } ############ FUN_ 18079b0b0 size=385 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079b0b0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xc) goto LAB_18079b197; FUN_18094b550(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x4c) = 1; } else if (local_48[0] == 2) { if (local_44 != 10) goto LAB_18079b197; (**(code **)(*param_2 + 0x130))(param_2,param_1 + 0x40); *(undefined1 *)(param_1 + 0x4d) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x48); *(undefined1 *)(param_1 + 0x4e) = 1; } else { LAB_18079b197: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 18094b550 size=555 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18094b550(longlong param_1,longlong *param_2) { void *pvVar1; int iVar2; void *_Memory; undefined1 auStack_78 [32]; short local_58 [2]; int local_54; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; local_38 = 0; local_30 = 0xf; local_48 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_48); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); do { if (local_54 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_30 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar1; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } iVar2 = (int)local_58[0]; if (1000 < iVar2) goto switchD_18094b60d_default; if (iVar2 == 1000) { if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x10); *(undefined1 *)(param_1 + 0x36) = 1; goto LAB_18094b6e6; } goto switchD_18094b60d_default; } switch(iVar2) { case 1: if (local_54 != 2) break; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x30) = 1; goto LAB_18094b6e6; case 2: if (local_54 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 9); *(undefined1 *)(param_1 + 0x31) = 1; goto LAB_18094b6e6; } break; case 3: if (local_54 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 10); *(undefined1 *)(param_1 + 0x32) = 1; goto LAB_18094b6e6; } break; case 4: if (local_54 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0xb); *(undefined1 *)(param_1 + 0x33) = 1; goto LAB_18094b6e6; } break; case 5: if (local_54 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0xc); *(undefined1 *)(param_1 + 0x34) = 1; goto LAB_18094b6e6; } break; case 6: if (local_54 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0xd); *(undefined1 *)(param_1 + 0x35) = 1; goto LAB_18094b6e6; } } switchD_18094b60d_default: FUN_1806d8eb0(param_2); LAB_18094b6e6: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); } while( true ); } ############ FUN_ 18079b250 size=362 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079b250(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xc) goto LAB_18079b320; FUN_1809c9e70(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x1d4) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x1d0); *(undefined1 *)(param_1 + 0x1d5) = 1; } else { LAB_18079b320: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 1809c9e70 size=572 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809c9e70(longlong param_1,longlong *param_2) { longlong *plVar1; undefined8 *puVar2; void *pvVar3; void *_Memory; uint uVar4; undefined8 *puVar5; undefined1 auStack_98 [32]; short local_78 [2]; uint local_74; int local_70; undefined4 local_6c; undefined1 local_68 [8]; undefined8 local_60; undefined1 local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; local_48 = 0; local_40 = 0xf; local_58 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_58); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_70,local_78); do { if (local_70 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_40 < 0x10) { } pvVar3 = (void *)CONCAT71(uStack_57,local_58); _Memory = pvVar3; if ((0xfff < local_40 + 1) && (_Memory = *(void **)((longlong)pvVar3 + -8), 0x1f < (ulonglong)((longlong)pvVar3 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_78[0] == 1) { if (local_70 != 8) goto LAB_1809ca00f; (**(code **)(*param_2 + 0x128))(param_2,&local_6c); *(undefined4 *)(param_1 + 8) = local_6c; *(undefined1 *)(param_1 + 0x1c0) = 1; } else if (local_78[0] == 2) { if (local_70 != 0xc) goto LAB_1809ca00f; FUN_18094b7b0(param_1 + 0x10,param_2); *(undefined1 *)(param_1 + 0x1c1) = 1; } else if (local_78[0] == 3) { if (local_70 != 0xc) goto LAB_1809ca00f; FUN_1809f8f70(param_1 + 0x70,param_2); *(undefined1 *)(param_1 + 0x1c2) = 1; } else if ((local_78[0] == 4) && (local_70 == 0xf)) { plVar1 = (longlong *)(param_1 + 0x1a8); puVar2 = *(undefined8 **)(param_1 + 0x1b0); for (puVar5 = (undefined8 *)*plVar1; puVar5 != puVar2; puVar5 = puVar5 + 0x3d) { (**(code **)*puVar5)(puVar5,0); } *(longlong *)(param_1 + 0x1b0) = *plVar1; (**(code **)(*param_2 + 0xf0))(param_2,local_68,&local_74); FUN_18093f860(plVar1,local_74,plVar1); uVar4 = 0; if (local_74 != 0) { do { FUN_18094b0c0((ulonglong)uVar4 * 0x1e8 + *plVar1,param_2); uVar4 = uVar4 + 1; } while (uVar4 < local_74); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x1c3) = 1; } else { LAB_1809ca00f: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_70,local_78); } while( true ); } ############ FUN_ 18093f860 size=640 ############ void FUN_18093f860(longlong *param_1,ulonglong param_2,undefined8 param_3) { void *pvVar1; longlong lVar2; longlong lVar3; ulonglong uVar4; undefined8 *puVar5; undefined8 *puVar6; undefined8 *puVar7; longlong lVar8; void *_Memory; ulonglong uVar9; ulonglong uVar10; longlong lVar11; undefined1 local_res8; undefined8 uVar12; longlong lVar13; uVar12 = 0xfffffffffffffffe; puVar5 = (undefined8 *)param_1[1]; lVar13 = *param_1; lVar3 = ((longlong)puVar5 - lVar13) + SUB168(SEXT816(-0x79b47582192e29f7) * SEXT816((longlong)puVar5 - lVar13),8); uVar10 = (lVar3 >> 8) - (lVar3 >> 0x3f); lVar3 = SUB168(SEXT816(-0x79b47582192e29f7) * SEXT816(param_1[2] - lVar13),8) + (param_1[2] - lVar13); uVar4 = (lVar3 >> 8) - (lVar3 >> 0x3f); if (param_2 <= uVar4) { if (param_2 <= uVar10) { if (param_2 != uVar10) { puVar7 = (undefined8 *)(param_2 * 0x1e8 + lVar13); for (puVar6 = puVar7; puVar6 != puVar5; puVar6 = puVar6 + 0x3d) { (**(code **)*puVar6)(puVar6,0); } param_1[1] = (longlong)puVar7; } return; } for (lVar3 = param_2 - uVar10; lVar3 != 0; lVar3 = lVar3 + -1) { FUN_18093fe50(puVar5); puVar5 = puVar5 + 0x3d; } param_1[1] = (longlong)puVar5; return; } if (0x864b8a7de6d1d6 < param_2) { /* WARNING: Subroutine does not return */ FUN_1805a69c0(); } uVar9 = param_2; if ((uVar4 <= 0x864b8a7de6d1d6 - (uVar4 >> 1)) && (uVar9 = (uVar4 >> 1) + uVar4, uVar9 < param_2)) { uVar9 = param_2; } lVar2 = FUN_180940330(param_1,uVar9); lVar8 = uVar10 * 0x1e8 + lVar2; lVar3 = lVar8; lVar13 = lVar8; for (lVar11 = param_2 - uVar10; lVar11 != 0; lVar11 = lVar11 + -1) { FUN_18093fe50(lVar8); lVar8 = lVar8 + 0x1e8; } local_res8 = SUB81(param_1,0); FUN_1805b1860(*param_1,param_1[1],lVar2,param_1,0,local_res8,lVar2,lVar3,uVar12,lVar13,lVar8, param_3); puVar5 = (undefined8 *)*param_1; if (puVar5 == (undefined8 *)0x0) { *param_1 = lVar2; param_1[1] = param_2 * 0x1e8 + lVar2; param_1[2] = uVar9 * 0x1e8 + lVar2; return; } puVar6 = (undefined8 *)param_1[1]; for (; puVar5 != puVar6; puVar5 = puVar5 + 0x3d) { (**(code **)*puVar5)(puVar5,0); } pvVar1 = (void *)*param_1; lVar3 = SUB168(SEXT816(-0x79b47582192e29f7) * SEXT816(param_1[2] - (longlong)pvVar1),8) + (param_1[2] - (longlong)pvVar1); _Memory = pvVar1; if ((0xfff < (ulonglong)(((lVar3 >> 8) - (lVar3 >> 0x3f)) * 0x1e8)) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 18094b0c0 size=1015 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18094b0c0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_78 [32]; undefined2 local_58 [2]; int local_54; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; local_38 = 0; local_30 = 0xf; local_48 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_48); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); do { if (local_54 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_30 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar1; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_58[0]) { case 1: if (local_54 != 0xb) break; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x1d0) = 1; goto LAB_18094b422; case 2: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x1d1) = 1; goto LAB_18094b422; } break; case 3: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x48); *(undefined1 *)(param_1 + 0x1d2) = 1; goto LAB_18094b422; } break; case 4: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x68); *(undefined1 *)(param_1 + 0x1d3) = 1; goto LAB_18094b422; } break; default: break; case 10: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x88); *(undefined1 *)(param_1 + 0x1d4) = 1; goto LAB_18094b422; } break; case 0xb: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0xa8); *(undefined1 *)(param_1 + 0x1d5) = 1; goto LAB_18094b422; } break; case 0xc: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 200); *(undefined1 *)(param_1 + 0x1d6) = 1; goto LAB_18094b422; } break; case 0xd: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0xe8); *(undefined1 *)(param_1 + 0x1d7) = 1; goto LAB_18094b422; } break; case 0xe: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x108); *(undefined1 *)(param_1 + 0x1d8) = 1; goto LAB_18094b422; } break; case 0xf: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x128); *(undefined1 *)(param_1 + 0x1d9) = 1; goto LAB_18094b422; } break; case 0x10: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x148); *(undefined1 *)(param_1 + 0x1da) = 1; goto LAB_18094b422; } break; case 0x11: if (local_54 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x168); *(undefined1 *)(param_1 + 0x1db) = 1; goto LAB_18094b422; } break; case 0x12: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x170); *(undefined1 *)(param_1 + 0x1dc) = 1; goto LAB_18094b422; } break; case 0x14: if (local_54 == 10) { (**(code **)(*param_2 + 0x130))(param_2,param_1 + 400); *(undefined1 *)(param_1 + 0x1dd) = 1; goto LAB_18094b422; } break; case 0x15: if (local_54 == 10) { (**(code **)(*param_2 + 0x130))(param_2,param_1 + 0x198); *(undefined1 *)(param_1 + 0x1de) = 1; goto LAB_18094b422; } break; case 0x1e: if (local_54 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x1a0); *(undefined1 *)(param_1 + 0x1df) = 1; goto LAB_18094b422; } break; case 0x1f: if (local_54 == 10) { (**(code **)(*param_2 + 0x130))(param_2,param_1 + 0x1a8); *(undefined1 *)(param_1 + 0x1e0) = 1; goto LAB_18094b422; } break; case 0x20: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x1b0); *(undefined1 *)(param_1 + 0x1e1) = 1; goto LAB_18094b422; } } FUN_1806d8eb0(param_2); LAB_18094b422: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); } while( true ); } ############ FUN_ 18094b7b0 size=504 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18094b7b0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_78 [32]; undefined2 local_58 [2]; int local_54; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_50 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_78; local_38 = 0; local_30 = 0xf; local_48 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_48); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); do { if (local_54 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_30 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar1; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_58[0]) { case 1: if (local_54 != 0xb) break; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x58) = 1; goto LAB_18094b913; case 2: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x59) = 1; goto LAB_18094b913; } break; case 3: if (local_54 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x48); *(undefined1 *)(param_1 + 0x5a) = 1; goto LAB_18094b913; } break; case 4: if (local_54 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x4c); *(undefined1 *)(param_1 + 0x5b) = 1; goto LAB_18094b913; } break; case 5: if (local_54 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x50); *(undefined1 *)(param_1 + 0x5c) = 1; goto LAB_18094b913; } break; case 6: if (local_54 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x54); *(undefined1 *)(param_1 + 0x5d) = 1; goto LAB_18094b913; } } FUN_1806d8eb0(param_2); LAB_18094b913: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_48,&local_54,local_58); } while( true ); } ############ FUN_ 1809f8f70 size=315 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809f8f70(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); while (local_44 != 0) { if ((local_48[0] == 1) && (local_44 == 0xc)) { FUN_1809f8ae0(param_1 + 0x38,param_2); *(undefined1 *)(param_1 + 0x130) = 1; } else { FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } (**(code **)(*param_2 + 200))(param_2); if (0xf < local_20) { pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } ############ FUN_ 18079c180 size=362 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079c180(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xc) goto LAB_18079c250; FUN_1806e9d70(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x1fc) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x1f8); *(undefined1 *)(param_1 + 0x1fd) = 1; } else { LAB_18079c250: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 18079c300 size=353 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079c300(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xc) goto LAB_18079c3c7; FUN_1809c9500(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x3c) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x38); *(undefined1 *)(param_1 + 0x3d) = 1; } else { LAB_18079c3c7: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 18079c480 size=682 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079c480(longlong param_1,longlong *param_2) { void *pvVar1; int iVar2; void *_Memory; undefined1 auStack_78 [32]; short local_58 [2]; int local_54; undefined4 local_50 [2]; undefined8 local_48; undefined1 local_40; undefined7 uStack_3f; undefined8 local_30; ulonglong local_28; ulonglong local_20; local_48 = 0xfffffffffffffffe; local_20 = DAT_182615970 ^ (ulonglong)auStack_78; local_30 = 0; local_28 = 0xf; local_40 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_40); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_54,local_58); do { if (local_54 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_28 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_3f,local_40); _Memory = pvVar1; if ((0xfff < local_28 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } iVar2 = (int)local_58[0]; if (10000 < iVar2) goto switchD_18079c53d_default; if (iVar2 == 10000) { if (local_54 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0xec); *(undefined1 *)(param_1 + 0xf8) = 1; goto LAB_18079c697; } goto switchD_18079c53d_default; } switch(iVar2) { case 1: if (local_54 != 0xb) break; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0xf0) = 1; goto LAB_18079c697; case 2: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0xf1) = 1; goto LAB_18079c697; } break; case 3: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x48); *(undefined1 *)(param_1 + 0xf2) = 1; goto LAB_18079c697; } break; case 4: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x68); *(undefined1 *)(param_1 + 0xf3) = 1; goto LAB_18079c697; } break; case 5: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x88); *(undefined1 *)(param_1 + 0xf4) = 1; goto LAB_18079c697; } break; case 6: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0xa8); *(undefined1 *)(param_1 + 0xf5) = 1; goto LAB_18079c697; } break; case 7: if (local_54 == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 200); *(undefined1 *)(param_1 + 0xf6) = 1; goto LAB_18079c697; } break; case 8: if (local_54 == 8) { (**(code **)(*param_2 + 0x128))(param_2,local_50); *(undefined4 *)(param_1 + 0xe8) = local_50[0]; *(undefined1 *)(param_1 + 0xf7) = 1; goto LAB_18079c697; } } switchD_18079c53d_default: FUN_1806d8eb0(param_2); LAB_18079c697: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_40,&local_54,local_58); } while( true ); } ############ FUN_ 18079fa30 size=511 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079fa30(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] < 5) { if (local_48[0] == 4) { if (local_44 != 8) goto LAB_18079fb90; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x14); *(undefined1 *)(param_1 + 0x23) = 1; } else if (local_48[0] == 1) { if (local_44 != 8) goto LAB_18079fb90; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x20) = 1; } else if (local_48[0] == 2) { if (local_44 != 8) goto LAB_18079fb90; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0xc); *(undefined1 *)(param_1 + 0x21) = 1; } else { if ((local_48[0] != 3) || (local_44 != 8)) goto LAB_18079fb90; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x10); *(undefined1 *)(param_1 + 0x22) = 1; } } else if (local_48[0] == 5) { if (local_44 != 8) goto LAB_18079fb90; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x18); *(undefined1 *)(param_1 + 0x24) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x1c); *(undefined1 *)(param_1 + 0x25) = 1; } else { LAB_18079fb90: FUN_1806d8eb0(param_2,local_44); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 18079fc50 size=565 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18079fc50(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_98 [32]; short local_78 [2]; uint local_74; uint local_70; int local_6c; undefined1 local_68 [4]; undefined1 local_64 [4]; undefined8 local_60; undefined1 local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; local_48 = 0; local_40 = 0xf; local_58 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_58); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_6c,local_78); do { if (local_6c == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_40 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_57,local_58); _Memory = pvVar1; if ((0xfff < local_40 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_78[0] == 1) { if (local_6c != 0xf) goto LAB_18079fdf1; *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_64,&local_70); FUN_1805b1330(param_1 + 8,local_70,param_1 + 8); uVar3 = 0; if (local_70 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 8)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_70); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x3c) = 1; } else if (local_78[0] == 2) { if (local_6c != 0xf) goto LAB_18079fdf1; *(undefined8 *)(param_1 + 0x28) = *(undefined8 *)(param_1 + 0x20); (**(code **)(*param_2 + 0xf0))(param_2,local_68,&local_74); FUN_1805b1330(param_1 + 0x20,local_74,param_1 + 0x20); uVar3 = 0; if (local_74 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x20)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_74); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x3d) = 1; } else if ((local_78[0] == 10000) && (local_6c == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x38); *(undefined1 *)(param_1 + 0x3e) = 1; } else { LAB_18079fdf1: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_6c,local_78); } while( true ); } ############ FUN_ 1807a0020 size=393 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807a0020(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_20 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xc) goto LAB_1807a010f; FUN_1809454a0(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0xec) = 1; } else if (local_48[0] == 2) { if (local_44 != 0xc) goto LAB_1807a010f; FUN_18094d900(param_1 + 0x60,param_2); *(undefined1 *)(param_1 + 0xed) = 1; } else if ((local_48[0] == 10000) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0xe8); *(undefined1 *)(param_1 + 0xee) = 1; } else { LAB_1807a010f: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } while( true ); } ############ FUN_ 1809454a0 size=762 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809454a0(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_98 [32]; undefined2 local_78 [2]; uint local_74; uint local_70; int local_6c; undefined1 local_68 [4]; undefined1 local_64 [4]; undefined8 local_60; undefined1 local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; local_48 = 0; local_40 = 0xf; local_58 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_58); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_6c,local_78); do { if (local_6c == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_40 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_57,local_58); _Memory = pvVar1; if ((0xfff < local_40 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_78[0]) { case 1: if (local_6c != 8) break; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x4c) = 1; goto LAB_18094570e; case 2: if (local_6c == 0xf) { *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)(param_1 + 0x10); (**(code **)(*param_2 + 0xf0))(param_2,local_68,&local_74); FUN_1805b1330(param_1 + 0x10,local_74,param_1 + 0x10); uVar3 = 0; if (local_74 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x10)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_74); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x4d) = 1; goto LAB_18094570e; } break; default: break; case 10: if (local_6c == 0xf) { *(undefined8 *)(param_1 + 0x30) = *(undefined8 *)(param_1 + 0x28); (**(code **)(*param_2 + 0xf0))(param_2,local_64,&local_70); FUN_1805b1330(param_1 + 0x28,local_70,param_1 + 0x28); uVar3 = 0; if (local_70 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x28)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_70); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x4e) = 1; goto LAB_18094570e; } break; case 0xb: if (local_6c == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x40); *(undefined1 *)(param_1 + 0x4f) = 1; goto LAB_18094570e; } break; case 0xc: if (local_6c == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x44); *(undefined1 *)(param_1 + 0x50) = 1; goto LAB_18094570e; } break; case 0x14: if (local_6c == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x48); *(undefined1 *)(param_1 + 0x51) = 1; goto LAB_18094570e; } break; case 0x15: if (local_6c == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x49); *(undefined1 *)(param_1 + 0x52) = 1; goto LAB_18094570e; } break; case 0x16: if (local_6c == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x4a); *(undefined1 *)(param_1 + 0x53) = 1; goto LAB_18094570e; } break; case 0x17: if (local_6c == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x4b); *(undefined1 *)(param_1 + 0x54) = 1; goto LAB_18094570e; } } FUN_1806d8eb0(param_2); LAB_18094570e: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_6c,local_78); } while( true ); } ############ FUN_ 18094d900 size=1098 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_18094d900(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; uint uVar2; ulonglong uVar3; undefined1 auStack_a8 [32]; undefined2 local_88 [2]; uint local_84; uint local_80; uint local_7c; int local_78; undefined4 local_74; undefined4 local_70; undefined1 local_6c [4]; undefined1 local_68 [4]; undefined1 local_64 [4]; undefined8 local_60; undefined1 local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_a8; local_48 = 0; local_40 = 0xf; local_58 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_58); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_78,local_88); do { if (local_78 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_40 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_57,local_58); _Memory = pvVar1; if ((0xfff < local_40 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } switch(local_88[0]) { case 1: if (local_78 != 8) break; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x75) = 1; goto LAB_18094dcbe; case 2: if (local_78 == 0xf) { *(undefined8 *)(param_1 + 0x18) = *(undefined8 *)(param_1 + 0x10); (**(code **)(*param_2 + 0xf0))(param_2,local_6c,&local_84); FUN_1805b1330(param_1 + 0x10,local_84,param_1 + 0x10); uVar3 = 0; if (local_84 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x10)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_84); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x76) = 1; goto LAB_18094dcbe; } break; default: break; case 0x14: if (local_78 == 0xf) { *(undefined8 *)(param_1 + 0x30) = *(undefined8 *)(param_1 + 0x28); (**(code **)(*param_2 + 0xf0))(param_2,local_68,&local_80); FUN_1805b1330(param_1 + 0x28,local_80,param_1 + 0x28); uVar3 = 0; if (local_80 != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x28)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_80); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x77) = 1; goto LAB_18094dcbe; } break; case 0x15: if (local_78 == 0xf) { *(undefined8 *)(param_1 + 0x48) = *(undefined8 *)(param_1 + 0x40); (**(code **)(*param_2 + 0xf0))(param_2,local_64,&local_7c); FUN_1805b1330(param_1 + 0x40,local_7c,param_1 + 0x40); uVar3 = 0; if (local_7c != 0) { do { (**(code **)(*param_2 + 0x118))(param_2,uVar3 + *(longlong *)(param_1 + 0x40)); uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; } while (uVar2 < local_7c); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x78) = 1; goto LAB_18094dcbe; } break; case 0x16: if (local_78 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x58); *(undefined1 *)(param_1 + 0x79) = 1; goto LAB_18094dcbe; } break; case 0x17: if (local_78 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x5c); *(undefined1 *)(param_1 + 0x7a) = 1; goto LAB_18094dcbe; } break; case 0x18: if (local_78 == 8) { (**(code **)(*param_2 + 0x128))(param_2,&local_74); *(undefined4 *)(param_1 + 0x60) = local_74; *(undefined1 *)(param_1 + 0x7b) = 1; goto LAB_18094dcbe; } break; case 0x19: if (local_78 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 100); *(undefined1 *)(param_1 + 0x7c) = 1; goto LAB_18094dcbe; } break; case 0x1a: if (local_78 == 8) { (**(code **)(*param_2 + 0x128))(param_2,&local_70); *(undefined4 *)(param_1 + 0x68) = local_70; *(undefined1 *)(param_1 + 0x7d) = 1; goto LAB_18094dcbe; } break; case 0x1b: if (local_78 == 8) { (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x6c); *(undefined1 *)(param_1 + 0x7e) = 1; goto LAB_18094dcbe; } break; case 0x1e: if (local_78 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x70); *(undefined1 *)(param_1 + 0x7f) = 1; goto LAB_18094dcbe; } break; case 0x1f: if (local_78 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x71); *(undefined1 *)(param_1 + 0x80) = 1; goto LAB_18094dcbe; } break; case 0x20: if (local_78 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x72); *(undefined1 *)(param_1 + 0x81) = 1; goto LAB_18094dcbe; } break; case 0x21: if (local_78 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x73); *(undefined1 *)(param_1 + 0x82) = 1; goto LAB_18094dcbe; } break; case 0x22: if (local_78 == 2) { (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x74); *(undefined1 *)(param_1 + 0x83) = 1; goto LAB_18094dcbe; } } FUN_1806d8eb0(param_2); LAB_18094dcbe: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_78,local_88); } while( true ); } ############ FUN_ 1807b82c0 size=43 ############ undefined8 * FUN_1807b82c0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_closeConnection_pargs::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b82f0 size=120 ############ undefined8 * FUN_1807b82f0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_closeConnection_presult::vftable; param_1[2] = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; param_1[9] = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(param_1 + 0x14); FUN_18067b220(param_1 + 10); FUN_1805d66b0(param_1 + 2); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b8370 size=43 ############ undefined8 * FUN_1807b8370(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_doIlokCommand_pargs::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b83a0 size=120 ############ undefined8 * FUN_1807b83a0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_doIlokCommand_presult::vftable; param_1[2] = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; param_1[9] = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(param_1 + 0x14); FUN_18067b220(param_1 + 10); FUN_1805d66b0(param_1 + 2); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b8420 size=43 ############ undefined8 * FUN_1807b8420(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_findAuthorizations_pargs::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b8450 size=120 ############ undefined8 * FUN_1807b8450(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_findAuthorizations_presult::vftable; param_1[2] = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; param_1[9] = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(param_1 + 0x14); FUN_18067b220(param_1 + 10); FUN_1805d66b0(param_1 + 2); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b84d0 size=43 ############ undefined8 * FUN_1807b84d0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_getServiceStats_pargs::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b8500 size=43 ############ undefined8 * FUN_1807b8500(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_getServiceStats_presult::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b8530 size=43 ############ undefined8 * FUN_1807b8530(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_listIloks_pargs::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b8560 size=120 ############ undefined8 * FUN_1807b8560(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_listIloks_presult::vftable; param_1[2] = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; param_1[9] = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(param_1 + 0x14); FUN_18067b220(param_1 + 10); FUN_1805d66b0(param_1 + 2); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b85e0 size=43 ############ undefined8 * FUN_1807b85e0(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_openConnection_pargs::vftable; if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b8610 size=119 ############ undefined8 * FUN_1807b8610(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::AuthorizationLite_openConnection_presult::vftable; param_1[2] = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; param_1[9] = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(param_1 + 0x14); FUN_18067b220(param_1 + 10); FUN_1805d66b0(param_1 + 2); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b8690 size=66 ############ undefined8 * FUN_1807b8690(undefined8 *param_1,ulonglong param_2) { *param_1 = pace::eden::thrift::authorize::OpenConnectionOptionals::vftable; FUN_180750a50(param_1 + 1); if ((param_2 & 1) != 0) { /* WARNING: Subroutine does not return */ free(param_1); } return param_1; } ############ FUN_ 1807b8840 size=1326 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807b8840(longlong param_1,undefined8 param_2) { int *piVar1; void *pvVar2; longlong lVar3; longlong *plVar4; ulonglong uVar5; int iVar6; undefined8 uVar7; longlong *plVar8; undefined1 *_Buf1; void *pvVar9; size_t *psVar10; undefined1 auStack_4f8 [32]; short local_4d8 [4]; undefined ***local_4d0; undefined4 local_4c8; int local_4c4; longlong *local_4c0; longlong *local_4b8; size_t local_4b0; ulonglong local_4a8; undefined8 local_4a0; undefined1 local_498 [16]; undefined1 local_488 [16]; undefined1 local_478 [16]; undefined **local_468; undefined8 local_460; undefined **local_458; undefined8 local_450; undefined8 local_448; undefined1 local_440; undefined8 local_430; ulonglong local_428; undefined **local_420; undefined1 local_418 [80]; undefined1 local_3c8 [160]; undefined1 local_328; undefined2 local_320; undefined1 local_318; undefined7 uStack_317; ulonglong local_308; ulonglong local_300; undefined1 local_2f8; undefined7 uStack_2f7; undefined8 local_2e8; ulonglong local_2e0; undefined1 local_2d8 [32]; undefined1 local_2b8 [64]; undefined1 local_278 [64]; undefined1 local_238 [64]; undefined1 local_1f8 [64]; undefined1 local_1b8 [64]; undefined1 local_178 [320]; ulonglong local_38; local_4a0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_4f8; local_4c8 = 0; local_308 = 0; local_300 = 0xf; local_318 = 0; (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb0)) (*(longlong **)(param_1 + 0x28),&local_318,&local_4c4,&local_4c8); uVar5 = local_308; if (local_4c4 == 3) { FUN_180726b60(local_2b8); FUN_180721d90(local_2b8,*(undefined8 *)(param_1 + 0x28)); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_498); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_498); FUN_180726a50(local_278,local_2b8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_278,(ThrowInfo *)&DAT_1825fe7b0); } if (local_4c4 != 2) { FUN_1806d8eb0(*(undefined8 *)(param_1 + 0x28),0xc); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_488); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_488); FUN_180726ad0(local_238,2); /* WARNING: Subroutine does not return */ _CxxThrowException(local_238,(ThrowInfo *)&DAT_1825fe7b0); } _Buf1 = &local_318; if (0xf < local_300) { _Buf1 = (undefined1 *)CONCAT71(uStack_317,local_318); } local_4b0 = 0xf; local_4a8 = local_308; psVar10 = &local_4b0; if (local_308 < 0x10) { psVar10 = &local_4a8; } iVar6 = memcmp(_Buf1,"closeConnection",*psVar10); if ((iVar6 != 0) || (uVar5 != 0xf)) { FUN_1806d8eb0(*(undefined8 *)(param_1 + 0x28),0xc); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_478); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_478); FUN_180726ad0(local_1b8,3); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1b8,(ThrowInfo *)&DAT_1825fe7b0); } local_468 = pace::eden::thrift::authorize::AuthorizationLite_closeConnection_presult::vftable; local_4d0 = &local_458; local_450 = 0; local_448 = 0; local_430 = 0; local_428 = uVar5; local_440 = 0; local_458 = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; FUN_1806771d0(&local_420); local_328 = 0; local_320 = 0; plVar8 = *(longlong **)(param_1 + 0x28); local_2e8 = 0; local_2e0 = 0xf; local_2f8 = 0; local_460 = param_2; (**(code **)(*plVar8 + 0xc0))(plVar8,&local_2f8); (**(code **)(*plVar8 + 0xd0))(plVar8,&local_2f8,&local_4d0,local_4d8); do { if ((int)local_4d0 == 0) { (**(code **)(*plVar8 + 200))(plVar8); if (0xf < local_2e0) { pvVar2 = (void *)CONCAT71(uStack_2f7,local_2f8); pvVar9 = pvVar2; if ((0xfff < local_2e0 + 1) && (pvVar9 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); local_4c0 = *(longlong **)(*(longlong *)(param_1 + 0x28) + 8); plVar8 = *(longlong **)(*(longlong *)(param_1 + 0x28) + 0x10); if (plVar8 != (longlong *)0x0) { LOCK(); *(int *)(plVar8 + 1) = (int)plVar8[1] + 1; UNLOCK(); } local_4b8 = plVar8; (**(code **)(*local_4c0 + 0x38))(); plVar4 = local_4b8; if (plVar8 != (longlong *)0x0) { LOCK(); plVar8 = plVar8 + 1; lVar3 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)(*local_4b8 + 8))(local_4b8); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)(*local_4b8 + 0x10))(); } } } if ((char)local_320 != '\0') { local_468 = pace::eden::thrift::authorize::AuthorizationLite_closeConnection_presult:: vftable; local_458 = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; local_420 = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(local_3c8); FUN_18067b220(local_418); FUN_1805d66b0(&local_458); if (local_300 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_317,local_318); pvVar9 = pvVar2; if ((0xfff < local_300 + 1) && (pvVar9 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } if (local_320._1_1_ == '\0') { FUN_1805a4160(local_2d8,"closeConnection failed: unknown result"); FUN_180726b00(local_1f8,5,local_2d8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1f8,(ThrowInfo *)&DAT_1825fe7b0); } FUN_1807b7f40(local_178,&local_458); /* WARNING: Subroutine does not return */ _CxxThrowException(local_178,(ThrowInfo *)&DAT_1825fe818); } if (local_4d8[0] == 0) { if ((int)local_4d0 != 0xc) goto LAB_1807b8a22; FUN_1809f9b00(local_460,plVar8); local_320 = CONCAT11(local_320._1_1_,1); } else if ((local_4d8[0] == 1) && ((int)local_4d0 == 0xc)) { FUN_1809f8f70(&local_458,plVar8); local_320 = CONCAT11(1,(char)local_320); } else { LAB_1807b8a22: FUN_1806d8eb0(plVar8,(int)local_4d0); } (**(code **)(*plVar8 + 0xd8))(plVar8); (**(code **)(*plVar8 + 0xd0))(plVar8,&local_2f8,&local_4d0,local_4d8); } while( true ); } ############ FUN_ 1807ba760 size=519 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807ba760(longlong param_1,undefined8 param_2) { int *piVar1; int iVar2; longlong *plVar3; void *pvVar4; longlong lVar5; longlong *plVar6; void *_Memory; undefined1 auStack_88 [32]; longlong *local_68; longlong *local_60; longlong *local_58; longlong *local_50; undefined8 local_48; undefined **local_40; undefined8 local_38; undefined1 local_30; undefined7 uStack_2f; undefined8 local_20; ulonglong local_18; ulonglong local_10; local_48 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_88; local_20 = 0; local_18 = 0xf; local_30 = 0; FUN_1805a6cb0(&local_30,"closeConnection",0xf); (**(code **)(**(longlong **)(param_1 + 0x30) + 8))(*(longlong **)(param_1 + 0x30),&local_30,1); if (local_18 < 0x10) { local_40 = pace::eden::thrift::authorize::AuthorizationLite_closeConnection_pargs::vftable; plVar3 = *(longlong **)(param_1 + 0x30); local_38 = param_2; (**(code **)(*plVar3 + 0x18))(plVar3,"AuthorizationLite_closeConnection_pargs"); (**(code **)(*plVar3 + 0x28))(plVar3,"inConnectionId",0xb); (**(code **)(*plVar3 + 0xa0))(plVar3,param_2); (**(code **)(*plVar3 + 0x30))(plVar3); (**(code **)(*plVar3 + 0x38))(plVar3); (**(code **)(*plVar3 + 0x20))(plVar3); (**(code **)(**(longlong **)(param_1 + 0x30) + 0x10))(); local_68 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_60 = plVar3; (**(code **)(*local_68 + 0x50))(); plVar6 = local_60; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_60 + 8))(local_60); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_60 + 0x10))(); } } } local_58 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_50 = plVar3; (**(code **)(*local_58 + 0x48))(); plVar6 = local_50; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_50 + 8))(local_50); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_50 + 0x10))(); } } } } pvVar4 = (void *)CONCAT71(uStack_2f,local_30); _Memory = pvVar4; if ((0xfff < local_18 + 1) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809f9b00 size=274 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809f9b00(undefined8 param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; undefined1 local_48 [4]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); while (local_44 != 0) { FUN_1806d8eb0(param_2,local_44); (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } (**(code **)(*param_2 + 200))(param_2); if (0xf < local_20) { pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } ############ FUN_ 1807b8da0 size=1326 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807b8da0(longlong param_1,undefined8 param_2) { int *piVar1; void *pvVar2; longlong lVar3; longlong *plVar4; ulonglong uVar5; int iVar6; undefined8 uVar7; longlong *plVar8; undefined1 *_Buf1; void *pvVar9; size_t *psVar10; undefined1 auStack_4f8 [32]; short local_4d8 [4]; undefined ***local_4d0; undefined4 local_4c8; int local_4c4; longlong *local_4c0; longlong *local_4b8; size_t local_4b0; ulonglong local_4a8; undefined8 local_4a0; undefined1 local_498 [16]; undefined1 local_488 [16]; undefined1 local_478 [16]; undefined **local_468; undefined8 local_460; undefined **local_458; undefined8 local_450; undefined8 local_448; undefined1 local_440; undefined8 local_430; undefined8 local_428; undefined **local_420; undefined1 local_418 [80]; undefined1 local_3c8 [160]; undefined1 local_328; undefined2 local_320; undefined1 local_318; undefined7 uStack_317; ulonglong local_308; ulonglong local_300; undefined1 local_2f8; undefined7 uStack_2f7; undefined8 local_2e8; ulonglong local_2e0; undefined1 local_2d8 [32]; undefined1 local_2b8 [64]; undefined1 local_278 [64]; undefined1 local_238 [64]; undefined1 local_1f8 [64]; undefined1 local_1b8 [64]; undefined1 local_178 [320]; ulonglong local_38; local_4a0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_4f8; local_4c8 = 0; local_308 = 0; local_300 = 0xf; local_318 = 0; (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb0)) (*(longlong **)(param_1 + 0x28),&local_318,&local_4c4,&local_4c8); uVar5 = local_308; if (local_4c4 == 3) { FUN_180726b60(local_2b8); FUN_180721d90(local_2b8,*(undefined8 *)(param_1 + 0x28)); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_498); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_498); FUN_180726a50(local_278,local_2b8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_278,(ThrowInfo *)&DAT_1825fe7b0); } if (local_4c4 != 2) { FUN_1806d8eb0(*(undefined8 *)(param_1 + 0x28),0xc); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_488); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_488); FUN_180726ad0(local_238,2); /* WARNING: Subroutine does not return */ _CxxThrowException(local_238,(ThrowInfo *)&DAT_1825fe7b0); } _Buf1 = &local_318; if (0xf < local_300) { _Buf1 = (undefined1 *)CONCAT71(uStack_317,local_318); } local_4b0 = 0xd; local_4a8 = local_308; psVar10 = &local_4b0; if (local_308 < 0xe) { psVar10 = &local_4a8; } iVar6 = memcmp(_Buf1,"doIlokCommand",*psVar10); if ((iVar6 != 0) || (uVar5 != 0xd)) { FUN_1806d8eb0(*(undefined8 *)(param_1 + 0x28),0xc); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_478); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_478); FUN_180726ad0(local_1b8,3); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1b8,(ThrowInfo *)&DAT_1825fe7b0); } local_468 = pace::eden::thrift::authorize::AuthorizationLite_doIlokCommand_presult::vftable; local_4d0 = &local_458; local_450 = 0; local_448 = 0; local_430 = 0; local_428 = 0xf; local_440 = 0; local_458 = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; FUN_1806771d0(&local_420); local_328 = 0; local_320 = 0; plVar8 = *(longlong **)(param_1 + 0x28); local_2e8 = 0; local_2e0 = 0xf; local_2f8 = 0; local_460 = param_2; (**(code **)(*plVar8 + 0xc0))(plVar8,&local_2f8); (**(code **)(*plVar8 + 0xd0))(plVar8,&local_2f8,&local_4d0,local_4d8); do { if ((int)local_4d0 == 0) { (**(code **)(*plVar8 + 200))(plVar8); if (0xf < local_2e0) { pvVar2 = (void *)CONCAT71(uStack_2f7,local_2f8); pvVar9 = pvVar2; if ((0xfff < local_2e0 + 1) && (pvVar9 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); local_4c0 = *(longlong **)(*(longlong *)(param_1 + 0x28) + 8); plVar8 = *(longlong **)(*(longlong *)(param_1 + 0x28) + 0x10); if (plVar8 != (longlong *)0x0) { LOCK(); *(int *)(plVar8 + 1) = (int)plVar8[1] + 1; UNLOCK(); } local_4b8 = plVar8; (**(code **)(*local_4c0 + 0x38))(); plVar4 = local_4b8; if (plVar8 != (longlong *)0x0) { LOCK(); plVar8 = plVar8 + 1; lVar3 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)(*local_4b8 + 8))(local_4b8); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)(*local_4b8 + 0x10))(); } } } if ((char)local_320 != '\0') { local_468 = pace::eden::thrift::authorize::AuthorizationLite_doIlokCommand_presult::vftable; local_458 = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; local_420 = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(local_3c8); FUN_18067b220(local_418); FUN_1805d66b0(&local_458); if (local_300 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_317,local_318); pvVar9 = pvVar2; if ((0xfff < local_300 + 1) && (pvVar9 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } if (local_320._1_1_ == '\0') { FUN_1805a4160(local_2d8,"doIlokCommand failed: unknown result"); FUN_180726b00(local_1f8,5,local_2d8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1f8,(ThrowInfo *)&DAT_1825fe7b0); } FUN_1807b7f40(local_178,&local_458); /* WARNING: Subroutine does not return */ _CxxThrowException(local_178,(ThrowInfo *)&DAT_1825fe818); } if (local_4d8[0] == 0) { if ((int)local_4d0 != 0xc) goto LAB_1807b8f82; FUN_1809f9c20(local_460,plVar8); local_320 = CONCAT11(local_320._1_1_,1); } else if ((local_4d8[0] == 1) && ((int)local_4d0 == 0xc)) { FUN_1809f8f70(&local_458,plVar8); local_320 = CONCAT11(1,(char)local_320); } else { LAB_1807b8f82: FUN_1806d8eb0(plVar8,(int)local_4d0); } (**(code **)(*plVar8 + 0xd8))(plVar8); (**(code **)(*plVar8 + 0xd0))(plVar8,&local_2f8,&local_4d0,local_4d8); } while( true ); } ############ FUN_ 1807ba980 size=577 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807ba980(longlong param_1,undefined8 param_2,undefined8 param_3) { int *piVar1; int iVar2; longlong *plVar3; void *pvVar4; longlong lVar5; longlong *plVar6; void *_Memory; undefined1 auStack_a8 [32]; longlong *local_88; longlong *local_80; longlong *local_78; longlong *local_70; undefined8 local_68; undefined **local_60; undefined8 local_58; undefined8 local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_68 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_a8; local_38 = 0; local_30 = 0xf; local_48 = 0; FUN_1805a6cb0(&local_48,"doIlokCommand",0xd); (**(code **)(**(longlong **)(param_1 + 0x30) + 8))(*(longlong **)(param_1 + 0x30),&local_48,1); if (local_30 < 0x10) { local_60 = pace::eden::thrift::authorize::AuthorizationLite_doIlokCommand_pargs::vftable; plVar3 = *(longlong **)(param_1 + 0x30); local_58 = param_2; local_50 = param_3; (**(code **)(*plVar3 + 0x18))(plVar3,"AuthorizationLite_doIlokCommand_pargs"); (**(code **)(*plVar3 + 0x28))(plVar3,"inConnectionId",0xb); (**(code **)(*plVar3 + 0xa0))(plVar3,param_2); (**(code **)(*plVar3 + 0x30))(plVar3); (**(code **)(*plVar3 + 0x28))(plVar3,"inCommandPacket",0xc); FUN_1809c7650(param_3,plVar3); (**(code **)(*plVar3 + 0x30))(plVar3); (**(code **)(*plVar3 + 0x38))(plVar3); (**(code **)(*plVar3 + 0x20))(plVar3); (**(code **)(**(longlong **)(param_1 + 0x30) + 0x10))(); local_88 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_80 = plVar3; (**(code **)(*local_88 + 0x50))(); plVar6 = local_80; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_80 + 8))(local_80); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_80 + 0x10))(); } } } local_78 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_70 = plVar3; (**(code **)(*local_78 + 0x48))(); plVar6 = local_70; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_70 + 8))(local_70); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_70 + 0x10))(); } } } } pvVar4 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar4; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809f9c20 size=315 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809f9c20(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined8 local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_40 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_68; local_28 = 0; local_20 = 0xf; local_38 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_38); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); while (local_44 != 0) { if ((local_48[0] == 1) && (local_44 == 0xc)) { FUN_1809c62f0(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0x168) = 1; } else { FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_38,&local_44,local_48); } (**(code **)(*param_2 + 200))(param_2); if (0xf < local_20) { pvVar1 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar1; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } } ############ FUN_ 1807b9300 size=1326 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807b9300(longlong param_1,undefined8 param_2) { int *piVar1; void *pvVar2; longlong lVar3; longlong *plVar4; ulonglong uVar5; int iVar6; undefined8 uVar7; longlong *plVar8; undefined1 *_Buf1; void *pvVar9; size_t *psVar10; undefined1 auStack_4f8 [32]; short local_4d8 [4]; undefined ***local_4d0; undefined4 local_4c8; int local_4c4; longlong *local_4c0; longlong *local_4b8; size_t local_4b0; ulonglong local_4a8; undefined8 local_4a0; undefined1 local_498 [16]; undefined1 local_488 [16]; undefined1 local_478 [16]; undefined **local_468; undefined8 local_460; undefined **local_458; undefined8 local_450; undefined8 local_448; undefined1 local_440; undefined8 local_430; undefined8 local_428; undefined **local_420; undefined1 local_418 [80]; undefined1 local_3c8 [160]; undefined1 local_328; undefined2 local_320; undefined1 local_318; undefined7 uStack_317; ulonglong local_308; ulonglong local_300; undefined1 local_2f8; undefined7 uStack_2f7; undefined8 local_2e8; ulonglong local_2e0; undefined1 local_2d8 [32]; undefined1 local_2b8 [64]; undefined1 local_278 [64]; undefined1 local_238 [64]; undefined1 local_1f8 [64]; undefined1 local_1b8 [64]; undefined1 local_178 [320]; ulonglong local_38; local_4a0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_4f8; local_4c8 = 0; local_308 = 0; local_300 = 0xf; local_318 = 0; (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb0)) (*(longlong **)(param_1 + 0x28),&local_318,&local_4c4,&local_4c8); uVar5 = local_308; if (local_4c4 == 3) { FUN_180726b60(local_2b8); FUN_180721d90(local_2b8,*(undefined8 *)(param_1 + 0x28)); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_498); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_498); FUN_180726a50(local_278,local_2b8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_278,(ThrowInfo *)&DAT_1825fe7b0); } if (local_4c4 != 2) { FUN_1806d8eb0(*(undefined8 *)(param_1 + 0x28),0xc); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_488); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_488); FUN_180726ad0(local_238,2); /* WARNING: Subroutine does not return */ _CxxThrowException(local_238,(ThrowInfo *)&DAT_1825fe7b0); } _Buf1 = &local_318; if (0xf < local_300) { _Buf1 = (undefined1 *)CONCAT71(uStack_317,local_318); } local_4b0 = 0x12; local_4a8 = local_308; psVar10 = &local_4b0; if (local_308 < 0x13) { psVar10 = &local_4a8; } iVar6 = memcmp(_Buf1,"findAuthorizations",*psVar10); if ((iVar6 != 0) || (uVar5 != 0x12)) { FUN_1806d8eb0(*(undefined8 *)(param_1 + 0x28),0xc); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_478); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_478); FUN_180726ad0(local_1b8,3); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1b8,(ThrowInfo *)&DAT_1825fe7b0); } local_468 = pace::eden::thrift::authorize::AuthorizationLite_findAuthorizations_presult::vftable; local_4d0 = &local_458; local_450 = 0; local_448 = 0; local_430 = 0; local_428 = 0xf; local_440 = 0; local_458 = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; FUN_1806771d0(&local_420); local_328 = 0; local_320 = 0; plVar8 = *(longlong **)(param_1 + 0x28); local_2e8 = 0; local_2e0 = 0xf; local_2f8 = 0; local_460 = param_2; (**(code **)(*plVar8 + 0xc0))(plVar8,&local_2f8); (**(code **)(*plVar8 + 0xd0))(plVar8,&local_2f8,&local_4d0,local_4d8); do { if ((int)local_4d0 == 0) { (**(code **)(*plVar8 + 200))(plVar8); if (0xf < local_2e0) { pvVar2 = (void *)CONCAT71(uStack_2f7,local_2f8); pvVar9 = pvVar2; if ((0xfff < local_2e0 + 1) && (pvVar9 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); local_4c0 = *(longlong **)(*(longlong *)(param_1 + 0x28) + 8); plVar8 = *(longlong **)(*(longlong *)(param_1 + 0x28) + 0x10); if (plVar8 != (longlong *)0x0) { LOCK(); *(int *)(plVar8 + 1) = (int)plVar8[1] + 1; UNLOCK(); } local_4b8 = plVar8; (**(code **)(*local_4c0 + 0x38))(); plVar4 = local_4b8; if (plVar8 != (longlong *)0x0) { LOCK(); plVar8 = plVar8 + 1; lVar3 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)(*local_4b8 + 8))(local_4b8); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)(*local_4b8 + 0x10))(); } } } if ((char)local_320 != '\0') { local_468 = pace::eden::thrift::authorize::AuthorizationLite_findAuthorizations_presult:: vftable; local_458 = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; local_420 = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(local_3c8); FUN_18067b220(local_418); FUN_1805d66b0(&local_458); if (local_300 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_317,local_318); pvVar9 = pvVar2; if ((0xfff < local_300 + 1) && (pvVar9 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } if (local_320._1_1_ == '\0') { FUN_1805a4160(local_2d8,"findAuthorizations failed: unknown result"); FUN_180726b00(local_1f8,5,local_2d8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1f8,(ThrowInfo *)&DAT_1825fe7b0); } FUN_1807b7f40(local_178,&local_458); /* WARNING: Subroutine does not return */ _CxxThrowException(local_178,(ThrowInfo *)&DAT_1825fe818); } if (local_4d8[0] == 0) { if ((int)local_4d0 != 0xc) goto LAB_1807b94e2; FUN_1809f9d70(local_460,plVar8); local_320 = CONCAT11(local_320._1_1_,1); } else if ((local_4d8[0] == 1) && ((int)local_4d0 == 0xc)) { FUN_1809f8f70(&local_458,plVar8); local_320 = CONCAT11(1,(char)local_320); } else { LAB_1807b94e2: FUN_1806d8eb0(plVar8,(int)local_4d0); } (**(code **)(*plVar8 + 0xd8))(plVar8); (**(code **)(*plVar8 + 0xd0))(plVar8,&local_2f8,&local_4d0,local_4d8); } while( true ); } ############ FUN_ 1807babe0 size=617 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807babe0(longlong param_1,longlong *param_2) { int *piVar1; int iVar2; longlong *plVar3; void *pvVar4; longlong *plVar5; void *_Memory; longlong lVar6; undefined1 auStack_a8 [32]; longlong *local_88; longlong *local_80; longlong *local_78; longlong *local_70; longlong local_68; undefined8 local_60; undefined **local_58; longlong *local_50; undefined1 local_48; undefined7 uStack_47; undefined8 local_38; ulonglong local_30; ulonglong local_28; local_60 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_a8; local_38 = 0; local_30 = 0xf; local_48 = 0; FUN_1805a6cb0(&local_48,"findAuthorizations",0x12); (**(code **)(**(longlong **)(param_1 + 0x30) + 8))(*(longlong **)(param_1 + 0x30),&local_48,1); if (local_30 < 0x10) { local_58 = pace::eden::thrift::authorize::AuthorizationLite_findAuthorizations_pargs::vftable; plVar3 = *(longlong **)(param_1 + 0x30); local_50 = param_2; (**(code **)(*plVar3 + 0x18))(plVar3,"AuthorizationLite_findAuthorizations_pargs"); (**(code **)(*plVar3 + 0x28))(plVar3,"inAuthsOfInterest",0xf); lVar6 = SUB168(SEXT816(-0x5717c0a8e83f5717) * SEXT816(param_2[1] - *param_2),8) + (param_2[1] - *param_2); (**(code **)(*plVar3 + 0x50))(plVar3,0xc,(lVar6 >> 10) - (lVar6 >> 0x3f)); lVar6 = *param_2; local_68 = param_2[1]; if (lVar6 != local_68) { do { FUN_1809c3c50(lVar6,plVar3); lVar6 = lVar6 + 0x610; local_68 = param_2[1]; } while (lVar6 != local_68); } (**(code **)(*plVar3 + 0x58))(plVar3); (**(code **)(*plVar3 + 0x30))(plVar3); (**(code **)(*plVar3 + 0x38))(plVar3); (**(code **)(*plVar3 + 0x20))(plVar3); (**(code **)(**(longlong **)(param_1 + 0x30) + 0x10))(); local_88 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_80 = plVar3; (**(code **)(*local_88 + 0x50))(); plVar5 = local_80; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_80 + 8))(local_80); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_80 + 0x10))(); } } } local_78 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_70 = plVar3; (**(code **)(*local_78 + 0x48))(); plVar5 = local_70; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar6 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar6 == 1) { (**(code **)(*local_70 + 8))(local_70); LOCK(); piVar1 = (int *)((longlong)plVar5 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_70 + 0x10))(); } } } } pvVar4 = (void *)CONCAT71(uStack_47,local_48); _Memory = pvVar4; if ((0xfff < local_30 + 1) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809f9d70 size=512 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809f9d70(longlong param_1,longlong *param_2) { undefined8 *puVar1; void *pvVar2; void *_Memory; uint uVar3; undefined8 *puVar4; undefined1 auStack_98 [32]; short local_78 [2]; uint local_74; int local_70; undefined4 local_6c; undefined1 local_68 [8]; undefined8 local_60; undefined1 local_58; undefined7 uStack_57; undefined8 local_48; ulonglong local_40; ulonglong local_38; local_60 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_98; local_48 = 0; local_40 = 0xf; local_58 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_58); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_70,local_78); do { if (local_70 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_40 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_57,local_58); _Memory = pvVar2; if ((0xfff < local_40 + 1) && (_Memory = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_78[0] == 1) { if (local_70 != 0xf) goto LAB_1809f9ed5; puVar1 = *(undefined8 **)(param_1 + 0x10); for (puVar4 = *(undefined8 **)(param_1 + 8); puVar4 != puVar1; puVar4 = puVar4 + 0x1b7) { (**(code **)*puVar4)(puVar4,0); } *(undefined8 *)(param_1 + 0x10) = *(undefined8 *)(param_1 + 8); (**(code **)(*param_2 + 0xf0))(param_2,local_68,&local_74); FUN_1809f9520(param_1 + 8,local_74,param_1 + 8); uVar3 = 0; if (local_74 != 0) { do { FUN_1809c34f0((ulonglong)uVar3 * 0xdb8 + *(longlong *)(param_1 + 8),param_2); uVar3 = uVar3 + 1; } while (uVar3 < local_74); } (**(code **)(*param_2 + 0xf8))(param_2); *(undefined1 *)(param_1 + 0x24) = 1; } else if ((local_78[0] == 2) && (local_70 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,&local_6c); *(undefined4 *)(param_1 + 0x20) = local_6c; *(undefined1 *)(param_1 + 0x25) = 1; } else { LAB_1809f9ed5: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_58,&local_70,local_78); } while( true ); } ############ FUN_ 1809c34f0 size=845 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809c34f0(longlong param_1,longlong *param_2) { void *pvVar1; void *pvVar2; undefined1 auStack_a8 [32]; short local_88 [2]; undefined2 local_84 [2]; int local_80; int local_7c; undefined8 local_78; undefined1 local_70; undefined7 uStack_6f; undefined8 local_60; ulonglong local_58; undefined1 local_50; undefined7 uStack_4f; undefined8 local_40; ulonglong local_38; ulonglong local_30; local_78 = 0xfffffffffffffffe; local_30 = DAT_182615970 ^ (ulonglong)auStack_a8; local_40 = 0; local_38 = 0xf; local_50 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_50); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_7c,local_84); do { if (local_7c == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_38 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_4f,local_50); pvVar2 = pvVar1; if ((0xfff < local_38 + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } switch(local_84[0]) { case 1: if (local_7c != 0xc) break; FUN_1809c3330(param_1 + 8,param_2); *(undefined1 *)(param_1 + 0xdb0) = 1; goto LAB_1809c37a7; case 2: if (local_7c == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x618); *(undefined1 *)(param_1 + 0xdb1) = 1; goto LAB_1809c37a7; } break; case 3: if (local_7c == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x638); *(undefined1 *)(param_1 + 0xdb2) = 1; goto LAB_1809c37a7; } break; case 4: if (local_7c == 0xc) { local_60 = 0; local_58 = 0xf; local_70 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_70); (**(code **)(*param_2 + 0xd0))(param_2,&local_70,&local_80,local_88); while (local_80 != 0) { if (local_88[0] == 1) { if (local_80 != 0xb) goto LAB_1809c36af; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x660); *(undefined1 *)(param_1 + 0x6a0) = 1; } else if ((local_88[0] == 2) && (local_80 == 0xc)) { FUN_180948c20(param_1 + 0x680,param_2); *(undefined1 *)(param_1 + 0x6a1) = 1; } else { LAB_1809c36af: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_70,&local_80,local_88); } (**(code **)(*param_2 + 200))(param_2); if (0xf < local_58) { pvVar1 = (void *)CONCAT71(uStack_6f,local_70); pvVar2 = pvVar1; if ((0xfff < local_58 + 1) && (pvVar2 = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)pvVar2)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar2); } *(undefined1 *)(param_1 + 0xdb3) = 1; goto LAB_1809c37a7; } break; case 5: if (local_7c == 0xb) { (**(code **)(*param_2 + 0x140))(param_2,param_1 + 0x6a8); *(undefined1 *)(param_1 + 0xdb4) = 1; goto LAB_1809c37a7; } break; case 6: if (local_7c == 0xc) { FUN_1809c3880(param_1 + 0x6c8,param_2); *(undefined1 *)(param_1 + 0xdb5) = 1; goto LAB_1809c37a7; } break; case 7: if (local_7c == 0xc) { FUN_1809c3330(param_1 + 0x7a0,param_2); *(undefined1 *)(param_1 + 0xdb6) = 1; goto LAB_1809c37a7; } } FUN_1806d8eb0(param_2); LAB_1809c37a7: (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_50,&local_7c,local_84); } while( true ); } ############ FUN_ 1807b9860 size=1060 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807b9860(longlong param_1,undefined8 param_2) { int *piVar1; void *pvVar2; longlong lVar3; longlong *plVar4; ulonglong uVar5; int iVar6; undefined8 uVar7; longlong *plVar8; undefined1 *_Buf1; void *pvVar9; size_t *psVar10; undefined1 auStack_268 [32]; short local_248 [2]; int local_244; undefined4 local_240; int local_23c; longlong *local_238; longlong *local_230; size_t local_228; ulonglong local_220; undefined **local_218; undefined8 local_210; char local_208; undefined8 local_200; undefined1 local_1f8 [16]; undefined1 local_1e8 [16]; undefined1 local_1d8 [16]; undefined1 local_1c8; undefined7 uStack_1c7; ulonglong local_1b8; ulonglong local_1b0; undefined1 local_1a8; undefined7 uStack_1a7; undefined8 local_198; ulonglong local_190; undefined1 local_188 [32]; undefined1 local_168 [64]; undefined1 local_128 [64]; undefined1 local_e8 [64]; undefined1 local_a8 [64]; undefined1 local_68 [64]; ulonglong local_28; local_200 = 0xfffffffffffffffe; local_28 = DAT_182615970 ^ (ulonglong)auStack_268; local_240 = 0; local_1b8 = 0; local_1b0 = 0xf; local_1c8 = 0; (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb0)) (*(longlong **)(param_1 + 0x28),&local_1c8,&local_23c,&local_240); uVar5 = local_1b8; if (local_23c == 3) { FUN_180726b60(local_168); FUN_180721d90(local_168,*(undefined8 *)(param_1 + 0x28)); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_1f8); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_1f8); FUN_180726a50(local_128,local_168); /* WARNING: Subroutine does not return */ _CxxThrowException(local_128,(ThrowInfo *)&DAT_1825fe7b0); } if (local_23c != 2) { FUN_1806d8eb0(*(undefined8 *)(param_1 + 0x28),0xc); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_1e8); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_1e8); FUN_180726ad0(local_e8,2); /* WARNING: Subroutine does not return */ _CxxThrowException(local_e8,(ThrowInfo *)&DAT_1825fe7b0); } _Buf1 = &local_1c8; if (0xf < local_1b0) { _Buf1 = (undefined1 *)CONCAT71(uStack_1c7,local_1c8); } local_228 = 0xf; local_220 = local_1b8; psVar10 = &local_228; if (local_1b8 < 0x10) { psVar10 = &local_220; } iVar6 = memcmp(_Buf1,"getServiceStats",*psVar10); if ((iVar6 != 0) || (uVar5 != 0xf)) { FUN_1806d8eb0(*(undefined8 *)(param_1 + 0x28),0xc); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_1d8); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_1d8); FUN_180726ad0(local_68,3); /* WARNING: Subroutine does not return */ _CxxThrowException(local_68,(ThrowInfo *)&DAT_1825fe7b0); } local_218 = pace::eden::thrift::authorize::AuthorizationLite_getServiceStats_presult::vftable; local_208 = '\0'; plVar8 = *(longlong **)(param_1 + 0x28); local_198 = 0; local_190 = 0xf; local_1a8 = 0; local_210 = param_2; (**(code **)(*plVar8 + 0xc0))(plVar8,&local_1a8); (**(code **)(*plVar8 + 0xd0))(plVar8,&local_1a8,&local_244,local_248); while (local_244 != 0) { if ((local_248[0] == 0) && (local_244 == 0xc)) { FUN_1809f9f90(param_2,plVar8); local_208 = '\x01'; } else { FUN_1806d8eb0(plVar8,local_244); } (**(code **)(*plVar8 + 0xd8))(plVar8); (**(code **)(*plVar8 + 0xd0))(plVar8,&local_1a8,&local_244,local_248); } (**(code **)(*plVar8 + 200))(plVar8); if (0xf < local_190) { pvVar2 = (void *)CONCAT71(uStack_1a7,local_1a8); pvVar9 = pvVar2; if ((0xfff < local_190 + 1) && (pvVar9 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); local_238 = *(longlong **)(*(longlong *)(param_1 + 0x28) + 8); plVar8 = *(longlong **)(*(longlong *)(param_1 + 0x28) + 0x10); if (plVar8 != (longlong *)0x0) { LOCK(); *(int *)(plVar8 + 1) = (int)plVar8[1] + 1; UNLOCK(); } local_230 = plVar8; (**(code **)(*local_238 + 0x38))(); plVar4 = local_230; if (plVar8 != (longlong *)0x0) { LOCK(); plVar8 = plVar8 + 1; lVar3 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)(*local_230 + 8))(local_230); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)(*local_230 + 0x10))(); } } } if (local_208 == '\0') { FUN_1805a4160(local_188,"getServiceStats failed: unknown result"); FUN_180726b00(local_a8,5,local_188); /* WARNING: Subroutine does not return */ _CxxThrowException(local_a8,(ThrowInfo *)&DAT_1825fe7b0); } if (local_1b0 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_1c7,local_1c8); pvVar9 = pvVar2; if ((0xfff < local_1b0 + 1) && (pvVar9 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } ############ FUN_ 1807bae60 size=461 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807bae60(longlong param_1) { int *piVar1; int iVar2; longlong *plVar3; void *pvVar4; longlong lVar5; longlong *plVar6; void *_Memory; undefined1 auStack_88 [32]; longlong *local_68; longlong *local_60; longlong *local_58; longlong *local_50; undefined8 local_48; undefined **local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_48 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_88; local_28 = 0; local_20 = 0xf; local_38 = 0; FUN_1805a6cb0(&local_38,"getServiceStats",0xf); (**(code **)(**(longlong **)(param_1 + 0x30) + 8))(*(longlong **)(param_1 + 0x30),&local_38,1); if (local_20 < 0x10) { local_40 = pace::eden::thrift::authorize::AuthorizationLite_getServiceStats_pargs::vftable; plVar3 = *(longlong **)(param_1 + 0x30); (**(code **)(*plVar3 + 0x18))(plVar3,"AuthorizationLite_getServiceStats_pargs"); (**(code **)(*plVar3 + 0x38))(plVar3); (**(code **)(*plVar3 + 0x20))(plVar3); (**(code **)(**(longlong **)(param_1 + 0x30) + 0x10))(); local_68 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_60 = plVar3; (**(code **)(*local_68 + 0x50))(); plVar6 = local_60; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_60 + 8))(local_60); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_60 + 0x10))(); } } } local_58 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_50 = plVar3; (**(code **)(*local_58 + 0x48))(); plVar6 = local_50; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_50 + 8))(local_50); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_50 + 0x10))(); } } } } pvVar4 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar4; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } ############ FUN_ 1809f9f90 size=472 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1809f9f90(longlong param_1,longlong *param_2) { void *pvVar1; void *_Memory; undefined1 auStack_68 [32]; short local_48 [2]; int local_44; undefined4 local_40 [2]; undefined8 local_38; undefined1 local_30; undefined7 uStack_2f; undefined8 local_20; ulonglong local_18; ulonglong local_10; local_38 = 0xfffffffffffffffe; local_10 = DAT_182615970 ^ (ulonglong)auStack_68; local_20 = 0; local_18 = 0xf; local_30 = 0; (**(code **)(*param_2 + 0xc0))(param_2,&local_30); (**(code **)(*param_2 + 0xd0))(param_2,&local_30,&local_44,local_48); do { if (local_44 == 0) { (**(code **)(*param_2 + 200))(param_2); if (local_18 < 0x10) { } pvVar1 = (void *)CONCAT71(uStack_2f,local_30); _Memory = pvVar1; if ((0xfff < local_18 + 1) && (_Memory = *(void **)((longlong)pvVar1 + -8), 0x1f < (ulonglong)((longlong)pvVar1 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); } if (local_48[0] == 1) { if (local_44 != 0xb) goto LAB_1809fa0ce; (**(code **)(*param_2 + 0x140))(param_2,param_1 + 8); *(undefined1 *)(param_1 + 0x38) = 1; } else if (local_48[0] == 2) { if (local_44 != 8) goto LAB_1809fa0ce; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x28); *(undefined1 *)(param_1 + 0x39) = 1; } else if (local_48[0] == 3) { if (local_44 != 8) goto LAB_1809fa0ce; (**(code **)(*param_2 + 0x128))(param_2,param_1 + 0x2c); *(undefined1 *)(param_1 + 0x3a) = 1; } else if (local_48[0] == 4) { if (local_44 != 2) goto LAB_1809fa0ce; (**(code **)(*param_2 + 0x110))(param_2,param_1 + 0x30); *(undefined1 *)(param_1 + 0x3b) = 1; } else if ((local_48[0] == 5) && (local_44 == 8)) { (**(code **)(*param_2 + 0x128))(param_2,local_40); *(undefined4 *)(param_1 + 0x34) = local_40[0]; *(undefined1 *)(param_1 + 0x3c) = 1; } else { LAB_1809fa0ce: FUN_1806d8eb0(param_2); } (**(code **)(*param_2 + 0xd8))(param_2); (**(code **)(*param_2 + 0xd0))(param_2,&local_30,&local_44,local_48); } while( true ); } ############ FUN_ 1807b9ca0 size=1326 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807b9ca0(longlong param_1,undefined8 param_2) { int *piVar1; void *pvVar2; longlong lVar3; longlong *plVar4; ulonglong uVar5; int iVar6; undefined8 uVar7; longlong *plVar8; undefined1 *_Buf1; void *pvVar9; size_t *psVar10; undefined1 auStack_4f8 [32]; short local_4d8 [4]; undefined ***local_4d0; undefined4 local_4c8; int local_4c4; longlong *local_4c0; longlong *local_4b8; size_t local_4b0; ulonglong local_4a8; undefined8 local_4a0; undefined1 local_498 [16]; undefined1 local_488 [16]; undefined1 local_478 [16]; undefined **local_468; undefined8 local_460; undefined **local_458; undefined8 local_450; undefined8 local_448; undefined1 local_440; undefined8 local_430; undefined8 local_428; undefined **local_420; undefined1 local_418 [80]; undefined1 local_3c8 [160]; undefined1 local_328; undefined2 local_320; undefined1 local_318; undefined7 uStack_317; ulonglong local_308; ulonglong local_300; undefined1 local_2f8; undefined7 uStack_2f7; undefined8 local_2e8; ulonglong local_2e0; undefined1 local_2d8 [32]; undefined1 local_2b8 [64]; undefined1 local_278 [64]; undefined1 local_238 [64]; undefined1 local_1f8 [64]; undefined1 local_1b8 [64]; undefined1 local_178 [320]; ulonglong local_38; local_4a0 = 0xfffffffffffffffe; local_38 = DAT_182615970 ^ (ulonglong)auStack_4f8; local_4c8 = 0; local_308 = 0; local_300 = 0xf; local_318 = 0; (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb0)) (*(longlong **)(param_1 + 0x28),&local_318,&local_4c4,&local_4c8); uVar5 = local_308; if (local_4c4 == 3) { FUN_180726b60(local_2b8); FUN_180721d90(local_2b8,*(undefined8 *)(param_1 + 0x28)); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_498); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_498); FUN_180726a50(local_278,local_2b8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_278,(ThrowInfo *)&DAT_1825fe7b0); } if (local_4c4 != 2) { FUN_1806d8eb0(*(undefined8 *)(param_1 + 0x28),0xc); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_488); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_488); FUN_180726ad0(local_238,2); /* WARNING: Subroutine does not return */ _CxxThrowException(local_238,(ThrowInfo *)&DAT_1825fe7b0); } _Buf1 = &local_318; if (0xf < local_300) { _Buf1 = (undefined1 *)CONCAT71(uStack_317,local_318); } local_4b0 = 9; local_4a8 = local_308; psVar10 = &local_4b0; if (local_308 < 10) { psVar10 = &local_4a8; } iVar6 = memcmp(_Buf1,"listIloks",*psVar10); if ((iVar6 != 0) || (uVar5 != 9)) { FUN_1806d8eb0(*(undefined8 *)(param_1 + 0x28),0xc); (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); uVar7 = FUN_180726be0(*(undefined8 *)(param_1 + 0x28),local_478); plVar8 = (longlong *)FUN_1804730e0(uVar7); (**(code **)(*plVar8 + 0x38))(plVar8); FUN_1805a4e80(local_478); FUN_180726ad0(local_1b8,3); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1b8,(ThrowInfo *)&DAT_1825fe7b0); } local_468 = pace::eden::thrift::authorize::AuthorizationLite_listIloks_presult::vftable; local_4d0 = &local_458; local_450 = 0; local_448 = 0; local_430 = 0; local_428 = 0xf; local_440 = 0; local_458 = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; FUN_1806771d0(&local_420); local_328 = 0; local_320 = 0; plVar8 = *(longlong **)(param_1 + 0x28); local_2e8 = 0; local_2e0 = 0xf; local_2f8 = 0; local_460 = param_2; (**(code **)(*plVar8 + 0xc0))(plVar8,&local_2f8); (**(code **)(*plVar8 + 0xd0))(plVar8,&local_2f8,&local_4d0,local_4d8); do { if ((int)local_4d0 == 0) { (**(code **)(*plVar8 + 200))(plVar8); if (0xf < local_2e0) { pvVar2 = (void *)CONCAT71(uStack_2f7,local_2f8); pvVar9 = pvVar2; if ((0xfff < local_2e0 + 1) && (pvVar9 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } (**(code **)(**(longlong **)(param_1 + 0x28) + 0xb8))(); local_4c0 = *(longlong **)(*(longlong *)(param_1 + 0x28) + 8); plVar8 = *(longlong **)(*(longlong *)(param_1 + 0x28) + 0x10); if (plVar8 != (longlong *)0x0) { LOCK(); *(int *)(plVar8 + 1) = (int)plVar8[1] + 1; UNLOCK(); } local_4b8 = plVar8; (**(code **)(*local_4c0 + 0x38))(); plVar4 = local_4b8; if (plVar8 != (longlong *)0x0) { LOCK(); plVar8 = plVar8 + 1; lVar3 = *plVar8; *(int *)plVar8 = (int)*plVar8 + -1; UNLOCK(); if ((int)lVar3 == 1) { (**(code **)(*local_4b8 + 8))(local_4b8); LOCK(); piVar1 = (int *)((longlong)plVar4 + 0xc); iVar6 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar6 == 1) { (**(code **)(*local_4b8 + 0x10))(); } } } if ((char)local_320 != '\0') { local_468 = pace::eden::thrift::authorize::AuthorizationLite_listIloks_presult::vftable; local_458 = pace::eden::thrift::exception::PaceThriftExceptionWire::vftable; local_420 = pace::eden::thrift::exception::ExceptionInfo::vftable; FUN_18067b2e0(local_3c8); FUN_18067b220(local_418); FUN_1805d66b0(&local_458); if (local_300 < 0x10) { } pvVar2 = (void *)CONCAT71(uStack_317,local_318); pvVar9 = pvVar2; if ((0xfff < local_300 + 1) && (pvVar9 = *(void **)((longlong)pvVar2 + -8), 0x1f < (ulonglong)((longlong)pvVar2 + (-8 - (longlong)pvVar9)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(pvVar9); } if (local_320._1_1_ == '\0') { FUN_1805a4160(local_2d8,"listIloks failed: unknown result"); FUN_180726b00(local_1f8,5,local_2d8); /* WARNING: Subroutine does not return */ _CxxThrowException(local_1f8,(ThrowInfo *)&DAT_1825fe7b0); } FUN_1807b7f40(local_178,&local_458); /* WARNING: Subroutine does not return */ _CxxThrowException(local_178,(ThrowInfo *)&DAT_1825fe818); } if (local_4d8[0] == 0) { if ((int)local_4d0 != 0xc) goto LAB_1807b9e82; FUN_1809fa180(local_460,plVar8); local_320 = CONCAT11(local_320._1_1_,1); } else if ((local_4d8[0] == 1) && ((int)local_4d0 == 0xc)) { FUN_1809f8f70(&local_458,plVar8); local_320 = CONCAT11(1,(char)local_320); } else { LAB_1807b9e82: FUN_1806d8eb0(plVar8,(int)local_4d0); } (**(code **)(*plVar8 + 0xd8))(plVar8); (**(code **)(*plVar8 + 0xd0))(plVar8,&local_2f8,&local_4d0,local_4d8); } while( true ); } ############ FUN_ 1807bb050 size=461 ############ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1807bb050(longlong param_1) { int *piVar1; int iVar2; longlong *plVar3; void *pvVar4; longlong lVar5; longlong *plVar6; void *_Memory; undefined1 auStack_88 [32]; longlong *local_68; longlong *local_60; longlong *local_58; longlong *local_50; undefined8 local_48; undefined **local_40; undefined1 local_38; undefined7 uStack_37; undefined8 local_28; ulonglong local_20; ulonglong local_18; local_48 = 0xfffffffffffffffe; local_18 = DAT_182615970 ^ (ulonglong)auStack_88; local_28 = 0; local_20 = 0xf; local_38 = 0; FUN_1805a6cb0(&local_38,"listIloks",9); (**(code **)(**(longlong **)(param_1 + 0x30) + 8))(*(longlong **)(param_1 + 0x30),&local_38,1); if (local_20 < 0x10) { local_40 = pace::eden::thrift::authorize::AuthorizationLite_listIloks_pargs::vftable; plVar3 = *(longlong **)(param_1 + 0x30); (**(code **)(*plVar3 + 0x18))(plVar3,"AuthorizationLite_listIloks_pargs"); (**(code **)(*plVar3 + 0x38))(plVar3); (**(code **)(*plVar3 + 0x20))(plVar3); (**(code **)(**(longlong **)(param_1 + 0x30) + 0x10))(); local_68 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_60 = plVar3; (**(code **)(*local_68 + 0x50))(); plVar6 = local_60; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_60 + 8))(local_60); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_60 + 0x10))(); } } } local_58 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 8); plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x30) + 0x10); if (plVar3 != (longlong *)0x0) { LOCK(); *(int *)(plVar3 + 1) = (int)plVar3[1] + 1; UNLOCK(); } local_50 = plVar3; (**(code **)(*local_58 + 0x48))(); plVar6 = local_50; if (plVar3 != (longlong *)0x0) { LOCK(); plVar3 = plVar3 + 1; lVar5 = *plVar3; *(int *)plVar3 = (int)*plVar3 + -1; UNLOCK(); if ((int)lVar5 == 1) { (**(code **)(*local_50 + 8))(local_50); LOCK(); piVar1 = (int *)((longlong)plVar6 + 0xc); iVar2 = *piVar1; *piVar1 = *piVar1 + -1; UNLOCK(); if (iVar2 == 1) { (**(code **)(*local_50 + 0x10))(); } } } } pvVar4 = (void *)CONCAT71(uStack_37,local_38); _Memory = pvVar4; if ((0xfff < local_20 + 1) && (_Memory = *(void **)((longlong)pvVar4 + -8), 0x1f < (ulonglong)((longlong)pvVar4 + (-8 - (longlong)_Memory)))) { /* WARNING: Subroutine does not return */ _invalid_parameter_noinfo_noreturn(); } /* WARNING: Subroutine does not return */ free(_Memory); }